ההסבר בקצרה: לתיקון יש שני מנגנונים נפרדים לגמרי, וזה מסביר את כל מה שראית.
אומר ל-Revit: "בכל פעם שאתה רואה פונט SHX של יועץ (techno_m, sivan_m, moran_m…) — תחליף אותו בפונט שלנו".
בפונט שלנו האות הלטינית c מציירת בעצם את הצורה של ב, ה-, מציירת ת וכך הלאה.
קובע: איך נראות האותיות + רוחב הטקסט = המיקום.
גלובלי — חל על כל קובץ במחשב, מידהופכת את סדר התווים בתוך הקובץ: "c,herv" → "vreh,c", כדי שכשמציירים שמאל-לימין זה ייקרא נכון מימין-לשמאל.
קובע: אם הטקסט קריא או הפוך.
פר-קובץ — רץ רק כשמפעילים אותו ידניתכי מנגנון 1 (shxfontmap.txt) הוא קובץ אחד משותף לכל המחשב — לא פר-פרויקט. אחרי שעדכנתי אותו, הוא כבר ממפה את כל פונטי היועץ.
אז ברגע שאתה מכניס קובץ — כל קובץ, גם חדש — Revit אוטומטית מצייר את ה-ASCII הלטיני כאותיות עברית. לכן אין יותר ג'יבריש לטיני.
אבל מנגנון 2 (היפוך הסדר) לא רץ — כי לא הפעלת "תקן טקסט". לכן האותיות עבריות אבל בסדר הפוך.
אותו שורש בדיוק. ברגע ש-Revit מרנדר את הקישור, מנגנון 1 כבר מחליף את הפונט. עד עכשיו הוא החליף לפונט פרופורציונלי (David) — שבו לכל אות רוחב שונה (יוד צרה, שין רחבה).
הפונט המקורי של היועץ (_m) הוא מונוספייס — לכל אות אותו רוחב תא קבוע. כשמחליפים מונוספייס בפרופורציונלי, רוחב כל שורת טקסט משתנה → הטקסט גולש ממקומו.
וזה קורה כבר בהכנסה — בלי שום קשר לויטרוביוס או להיפוך.
לכן בניתי פונט Vitruvius Hebrew Mono: תא קבוע שתואם לרוחב ה-_m המקורי. המיקום והיישור (כולל טבלאות) נשמרים — וזה עובד כבר בהכנסה.
* את ה"מיקום זז" בשלב ב' מתקן פונט ה-Mono החדש — הוא משאיר את הרוחב כמו במקור. את ה"הפוך" מתקן רק שלב ג'.
| מה אתה רואה | איזה מנגנון חסר | מה לעשות |
|---|---|---|
| ג'יבריש לטיני (guce ,hbe) | אין מיפוי פונט לאות הזו | ה-fontmap מעודכן עכשיו — נפתר אוטומטית |
| עברית הפוכה | מנגנון 2 (היפוך) לא רץ | להפעיל "תקן טקסט" על הקובץ |
| עברית קריאה אבל זזה ממקומה | פונט פרופורציונלי במקום מונוספייס | פונט ה-Mono החדש — דורש restart ל-Revit |
אם ה-Mono יוצא צר מדי או רחב מדי — אפשר לכוון בשורה אחת (CELL בקובץ build-hebrew-mono.py) ולבנות מחדש.
Vitruvius · תיקון טקסט עברי ב-DWG · ההסבר נכתב בהמשך לצילומי המסך ששלחת.