פתרונות לבעיית העברית
פונקציית הצביעה של השיטה
החצי-לוגית
השיטה החצי-לוגית מאפשרת לנו להתעסק בקלות
בתכנים עבריים ברשת.
אנו יכולים למקם טקסט עברי בכותרת של דף HTML
וגם בגוף הדף עצמו.
שימוש בשיטה הלוגית עוזר לנו להתגבר על בעיות,
שהתגלו , תוך שימוש בשיטה הלוגית, כגון מיזוג עברית ואנגלית ושבירת
שורות.
הבה ונבחן את הכלים לטיפול בבעיות אלו , תוך שימוש בשיטה
החצי-לוגית.
"מרמים" את ה-Windows
ה-Windows הינו מותאם אנגלית ! אין שום
דרך לגרום למערכת זו "לחשוב עברית" כל הזמן.
יישומי מחשב עבריים
עובדים בכל זאת ע"י קביעת תכונת ה-RTL של החלון.
תכונה זו מודיעה
לפונקצית הטיפול במחרוזות להציג את המלל מימין לשמאל.
גם דפדפנים
קוראים לפונקציות אלו , אולם הם "שוכחים" לקבוע את ערך ה-RTL של
החלון, וע"י כך הסדר משמאל לימין הוא הקובע, כברירת מחדל.
משפטים
מודפסים תמיד משמאל לימין.
כאשר ה-Windows מוצא מילה בעברית, מילה
זו, ומלה זו בלבד, מועלת מימין לשמאל.
שתיים או יותר מילים בעברית
מודפסות גם הן מימין לשמאל, אולם כאשר אנו מוסיפים תווים לא-עבריים
ה-Windows מתבלבל.
עמדנו על הבעייתיות של הנקודה בטקסט עברי והעסק
די מסתבך כאשר התכנים הם חלקם בעברית וחלקם באנגלית.
במצב זה,
מלות העברית הן קריאות אולם הסדר שלהן במשפט מתהפך, שכן המערכת
בטוחה שזה משפט באנגלית.
הפתרון הפשוט ביותר הוא לסדר את המילים
כהלכה ,כך שגם אחרי הטיפול של ה-Windows המשפט יישאר לוגי.
בשפת
HTML אנו יכולים להכריח את הדפדפן לשבור ולסדר שורות כפי רצוננו.
יכולת זו תקפה רק בטקסט HTML ולא בכותרת של הדף, בטבלת המצבים
של החלון או בערכת הכלים שלו.
התאמות ברמת הדפדפן
הדפדפן מתבלבל כאשר הוא מנסה להראות משפט
אחד על פני מספר שורות.
כאמור, גם משפט מעורב בעברית ובאנגלית
הוא בעייתי.
הבה ונראה קודם את הפתרון לבעיה זו, האחרונה.
היות
ופונקצית הטיפול במחרוזות (DrawString Function) מסוגלת להראות
בכל פעם טקסט בגופן אחד בלבד, הרי שאם אנו ממזגים מספר גופנים
באותה שורה, הדפדפן יקרא לפונקציה זו מספר פעמים.
אם נקבע חלק
מהמשפט להיות בגופן אחד וחלק נוסף להיות בגופן אחר, הדפדפן יקרא
לפונקציה האמורה פעמיים.
כך נוכל לשלוט בקלות על סדר ההופעה של
חלקי המשפט.
בואו נניח שיש לנו משפט בעל מילה אחת בעברית (Heb1),
מילה אחת באנגלית (Eng2) , מילה נוספת בעברית (Heb2) ולבסוף נקודה,.,
הרי היינו מצפים לתצוגה זאת: .Heb2 Eng2 Heb1 זו אמנם ההצגה הרצוייה
, אולם ה-Windows סבור שזה משפט באנגלית ולכן אנו מקבלים: Heb1
Eng2 Heb2 .
(זהו הסדר הנכון של המילים במשפט באנגלית).
עתה, כך
אנו מסדרים את הדפדפן: אנו שוברים את המשפט לתוך ארבעה חלקים ואנו
מסדרים אותם משמאל לימין, כך שהם יוצגו כהלכה כאשר אנו נקרא את
המשפט כולו מימין לשמאל.
היישום הוא ע"י שימוש בגופן שונה עבור
כל חלק, כך שקוד ה-HTML נראה כך
והתוצאה תהיה כך: .Heb2 Eng2 Heb1 בדקו זאת ע"י הרצת
הקוד ב
עתה , יש לנו שליטה מוחלטת על הדרך בה
הטקסט מודפס.
כל שעלינו לעשות הוא לזהות חלקים באנגלית ובעברית
וסימנים אחרים בגוף המשפט, לסדר אותם מחדש בצורה שהם יופיעו כהלכה
בסוף התהליך, ולמקם תגיות HTML בין החלקים עצמם.
ייתכן ונתתם דעתכם
כי הנקודה היא בקטע מודגש והמילה Eng2 מופיעה בכתיב נטוי.
כך גרמנו
לדפדפן לצבוע כל חלק במשפט בנפרד, כאשר הוא מתחיל בחלק השמאלי
ביותר ונע ימינה.
כל חלק מהווה קריאה נפרדת לפונקצית הטיפול במחרוזות
, וכך נמנעת מה-Windows היכולת לסדר את המשפט על פי ההגדרה האנגלית.
הדפדפן הוא, למעשה, טיפש יותר מכפי שאתם חושבים.
כפי הנראה, אם
אנו משתמשים בגופים ריקים של תגיות B ו B/ , הדפדפן ישבור את המשפט
לחלקים נפרדים.
כדי למנוע מהטקסט מלהיות מוצג הן בהדגשה והן בכתיב
נטוי, למען האסתטיקה בלבד, אנו נשתמש בקוד הזה
בדקו
זאת ע"י הרצת הקוד ב
אנו יכולים להשתמש בתגית ההדגשה באותה צורה שבה
גופנים יכולים להיות מקוננים זה בזה.
בעגת המחשבים זה נקרא Hac