כשאנו כותבים בעברית, אנו כותבים בשני כיוונים: מימין לשמאל עבור אותיות עבריות, ומשמאל לימין עבור מספרים ואי-אילו מילים בכתב לטיני. ברור כיצד מציגים כתב משמאל לימין, מכיוון שהמחשבים נבנו מלכתחילה עם הנחת הכיווניות הזו. כאשר רוצים לשלב כתב המתנהל מימין לשמאל, אז מתחילות הבעיות. אנו רוצים, כמובן, להזין את האותיות העבריות מימין לשמאל, כפי שאנו רגילים לכתוב בכתב יד, אבל המחשב אינו מאחסן נתונים בכיוון מסויים, אלא כסדרה ישרה של מספרים עוקבים אשר באופן רגיל מנחים אותם כך שיוצגו על המסך כאותיות המתנהלות משמאל לימין. לכן יש שתי אפשרויות לאחסון עברית קריאה למשתמש:
התווים מאוחסנים כסדרה עוקבת במחשב (מודגם מלמעלה למטה כדי לא ליצור רושם של כיווניות משמעותית כלשהי):
H
e
l
l
o
ומנגנון התצוגה מציג אותם משמאל לימין:
H → e → l → l → o
כשעוסקים בתווים עבריים, אפשר ליישם אחת משתי אפשרויות. אחת היא לאחסן את התווים כך שיוצגו משמאל לימין אך עדיין יישארו קריאים למשתמש. כלומר, לכתוב עברית משמאל לימין באופן שתיווצר לקורא אשלייה שהיא נכתבה מימין לשמאל. יש לכתוב את העברית הפוך. התווים העבריים מאוחסנים כך:
ם
ו
ל
ש
וכסדר הקלדתם הם מוצגים משמאל לימין, ממש כאותיות לטיניות:
ם → ו → ל → ש
השיטה המתקדמת יותר היא לשנות את הכלל באשר לאותיות עבריות. אותיות לטיניות ומספרים ימשיכו להתנהל משמאל לימין, אך האותיות העבריות יוצגו מימין לשמאל, על אף שאחסונן עוקב ממש כמו הלטיניות. כלומר, האותיות העבריות מאוחסנות לפי סדר הקדלתן הטבעית, ומנגנון התצוגה דואג להפוך את כיוון תצוגתן. האחסון הוא כך:
ש
ל
ו
ם
והתצוגה היא באופן הזה:
ש ← ל ← ו ← ם
השיטה הראשונה נקראת השיטה החזותית או השיטה הוויזואלית (Visual Order), ואילו השניה נקראת השיטה המשתמעת (Implicit) או השיטה הלוגית (Logical Order). לגבי הקורא, התוצאה היא אותה תוצאה, אך לגבי המחשב וגם הכותב האנושי, יש הבדל גדול בשימושיות של שתי השיטות.
השיטה החזותית מטילה את רוב העומס על יוצר התכנים, ואילו מנגנון התצוגה אינו עושה כמעט דבר. צריך רק גופנים עבריים כדי להציג את צורת האותיות העבריות, אך משהותקנו הגופנים הללו אין צורך לעשות דבר נוסף. אם כן, יתרונה של השיטה החזותית היא היכולת להתקין "תמיכה" עברית (במרכאות, כי זו תמיכה לקריאה בלבד) לתוכנות שלא נבנו מראש עם תמיכה כזו. אבל בכל הנוגע לכתיבת הטקסט, עריכתו, מיונו ולעתים אף הצגתו כראוי, השיטה החזותית היא מקור לכאבי ראש גדולים.
השיטה המשתמעת מעבירה את הנטל אל התוכנה, אל מנגנון התצוגה, ומאפשרת התייחסות טבעית אל בעיית הכיווניות מצד הכותב. קל לכתוב עברית כך, וקל לערוך ולמיין, ואין כמעט בעיות בתצוגת הטקסט. המחיר, כמובן, הוא הצורך בתוכנה ייעודית שנבנתה מראש לצורך טיפול בשיטה המשתמעת. אם יש מנגנון תצוגה מתאים - כמו במערכות Windows העבריות והערביות של מיקרוסופט, וכן בדפדפן Internet Explorer - אז אפשר לעבוד עם עברית בצורה חלקה כמעט כמו באנגלית. אם לא, אז הדרך היחידה להציג עברית היא בשיטה הקלה והמאולתרת של עברית משמאל לימין - השיטה החזותית.
השיטה החזותית מתבססת על אורך שורות קבוע. הרי בטקסט לטיני רגיל, כשמגיעים התווים לסוף השורה, התווים הבאים אחריהם עוברים היישר לתחילת השורה מתחת לה, ללא שבירה מונחית של השורה, כלומר גם ללא לחיצה על Enter. בשיטה החזותית בעברית אי-אפשר להרשות דבר כזה, מכיוון שהעברית מתנהלת משמאל לימין ועל-כן השבירה האוטומטית של השורה תביא את המילה הראשונה (לפי סדר הקריאה בעברית) לשורה שמתחתיה. לדוגמא:
הלכתי לים וראיתי שם כלב עם זנב קצר
אם שוברים את משפט בעברית חזותית לשתי שורות, למשל בין המילים "שם" ל-"כלב", תיווצר התצוגה הבאה:
כלב עם זנב קצר
הלכתי לים וראיתי שם
זוהי תופעה די נפוצה באתרי אינטרנט עבריים המקודדים בשיטה החזותית. בונה האתר מניח הנחה שגויה על אורך השורה הקבוע שמוצג אצל המשתמש, ואז המשתמש רואה שורות שבורות כאלה משום שהשורות העבריות באתר יותר ארוכות ממה שהדפדפן שלו מסוגל להציג. בגרסת העברית החזותית של האתר הזה כיוונתי את אורך השורה לכדי 70 תווים, ואני חושב שזה יעבוד גם ברזולוציית VGA (של 640 על 480), וגם בדפדפן מבוסס-DOS כגון Lynx, אבל אינני בטוח כלל שלא יהיו שבירות שורה מוטעות כאלו. הדרך היחידה להימנע מבעיית אורך השורה היא להשתמש בעברית משתמעת, אך זו כמובן דורשת תוכנה שתציג אותה כראוי.
מכיוון שהעברית מאוחסנת הפוך לכיוון הקלדתה הטבעי, המיון נעשה קשה ביותר. למשל מילה כמו "שלום" מתחילה ב-"ם" לפי העברית החזותית. תוכנות שתפקידן מיון עברית חזותית צריכות להפוך את התווים לצורך מיון תקין. שוב, בעברית משתמעת אין הבעייה הזו קיימת: המילה "שלום" מתחילה ב-"ש", כראוי.
אבל גם העברית המשתמעת אינה טלית שכולה תכלת: אמנם אין בה עיסוק באורך שורות קבוע, אך צריך לקבוע כיוון קריאה ראשי. לדוגמא, אם מאוחסן המשפט הבא:
H
e
l
l
o
[רווח]
ע
ו
ל
ם
!
אז הוא יוצג כך בכיוון קריאה ראשי משמאל לימין:
Hello עולם!
אבל כך בכיוון קריאה ראשי מימין לשמאל:
Hello עולם!
בדוגמא הראשונה מתחילה הקריאה משמאל, ואילו בשניה מתחילה הקריאה מימין. כיוון האותיות אינו משתנה, אך סדר המילים תלוי בכיוון הקריאה הראשי. בעורך טקסט פשוט כגון Notepad של Windows אין אפשרות לקבוע כיוון קריאה עבור כל פסקה, אלא אפשר רק לצפות בכיוון קריאה אחד למסמך כולו. אפשר להעביר בין הכיוונים על-ידי לחיצה על Control ו-Shift ביחד, אבל אז עובר כל הטקסט לכיוון הקריאה ההפוך. בעורך טקסט פשוט אין דרך לסמן לפסקה מסוימת להיקרא בכיוון קריאה מוגדר. בטקסט עשיר, כלומר טקסט עם הנחיות תצוגה בתוכו, כגון קובץ של מעבד תמלילים או קובץ אינטרנט כגון זה הנוכחי, אפשר להגדיר כיוון קריאה ראשי למסמך בכלל ולפסקאות בפרט. המסמך הנוכחי פותח בהנחייה הבאה:
<HTML dir="rtl">
הנחייה זו אומרת שכל המסמך כברירת מחדל מכיל כיוון קריאה מימין לשמאל. מובן שזה מה שרציתי, מכיוון שהמסמך רובו עברית. אם אני רוצה שפסקה מסוימת תכיל כיוון קריאה משמאל לימין, אני כותב אותה כך:
<P dir="ltr">
(paragraph text)
</P>
המאפיין dir הוא הקובע את כיוון הקריאה: Right to Left או Left to Right. מאפיין זה הוא תקן בגרסה העדכנית של שפת הכתיבה של האינטרנט (HTML, כיום בגרסה 4), ודפדפן מודרני אמור לתמוך בה. דפדפן Netscape (עד גרסה 6) אינו תומך בה, ועל-כן כל הגדרות הכיווניות חסרות משמעות בדפדפן זה. מכאן שהעברית הקריאה ב-Netscape צריכה להיות חזותית (יש דרך ליישם עברית משתמעת ב-Netscape, לפחות בגרסה 4 של הדפדפן, ועליה אדבר בהמשך, אך יש עמה בעיות רבות. עדיף להתעדכן עם דפדפן Mozilla, התומך בעברית משתמעת, אם אינכם רוצים את הדפדפן של מיקרוסופט).
לעתים יש צורך להנחות את כיוון הזרימה של הטקסט, ללא קשר לבעיית כיוון הקריאה הראשי. בעברית חזותית ההנחיות היחידות הן הנחיות היישור (alignment), שאינן ממש הכרחיות, אך מיישמים אותן כדי שהעברית תיושר לימינה של השורה ולא תתחיל מצד שמאל כפי שמתחיל טקסט לטיני (שהרי העברית החזותית דינה כדין טקסט לטיני לכל דבר). בקובצי DOS הישנים היו פשוט מוסיפים רווחים כדי ליישר את השורה לימין. אך בעברית חזותית זהו עניין של אסתטיקה ולא של הכרח.
בעברית המשתמעת יש צורך להשתמש בתווים נסתרים במצבים שבהן הכיווניות המובנית מפריעה לכתיבת הצורה הרצויה. דוגמא אחת נמצאת במסמך הזה, שבו (בגרסה המשתמעת) השתמשתי בתווים נסתרים כדי לבטל את הכיווניות של האותיות. האותיות של המילה "שלום" מתנהלות מימין לשמאל ואילו החיצים שלידן מתנהלים משמאל לימין. השתמשתי בתווים Left-to-right override ו-Right-to-left override כדי שהטקסט יזרום כולו בכיוון אחד בלבד. אלה הם תווים נסתרים הנמצאים ב-Notepad של Windows 2000:
דוגמא שימושית נוספת היא הקלדת מספרים עם מקף ביניהם, כגון מספרי טלפון. המקף הוא תו נייטראלי (חסר כיווניות), ואינו משפיע על הכיווניות. הרצוי הוא שיופיעו, משמאל לימין, הקידומת, ואז המקף, ואז שאר המספר. אך זו התוצאה כשמקלידים באופן רגיל (את המספר בחרתי באקראי):
המספר 03-123456 אינו זמין כעת.
אפשר לפתור את הבעיה על-ידי הכנסת התו Left-to-right embedding (תו LRE, ראו בתמונה למעלה) לפני מספר הטלפון. מבטלים את השפעת התו הזה על-ידי הכנסת התו Pop directional formatting (התו PDF, גם כן ראו בתמונה) אחרי המספר:
המספר 03-123456 אינו זמין כעת.
אין הרבה צורך להשתמש בתווים הנסתרים, אך למקרים מיוחדים שבהם התוכנה מפריעה להשגת תצוגה יוצאת-דופן אפשר לנסות להיעזר בהם. פרט למקרים כאלה, המשתמש אינו צריך לדעת דבר על הדרך שבה התוכנה מטפלת בכיווניות. כך צריך להיות במחשבים: שהם יעשו לנו את העבודה, ולא (כבשיטה החזותית) שאנחנו נעשה להם.
[הקודם] [תוכן העניינים] [הבא]