ארכיונים עבור פוסטים עם התג: RTL

יש לי הרגל שפיתחתי בימיי בצבא. אני רושם את הטלפון ככה: 050.2128506. בין הקידומת למספר אני כותב נקודה ולא מינוס (-).

למה לא יכולתי להשתמש במינוס כמו כולם? כי כתבנו שם דואר אלקטרוני באאוטלוק, שהתעקש להתייחס אל המינוס כאל קו מפריד ולסדר את המספרים מימין לשמאל, מה שגרם למספרי טלפון להיראות הפוכים: 050‏-2128506. למה בחרתי בנקודה? בחרתי בה אחרי שביקרתי בשנת תשס״ב בצרפת – שם נהוג לרשום את כל מספרי הטלפון מופרדים בנקודות, למשל 33.01.40.20.50.50. רוב הישראלים לא יודעים את זה, אבל זה לא משנה, כי זה מספיק ברור.

התו מינוס (-), או בשמו התקני המלא HYPHEN-MINUS, הוא סיפור של חיסכון ובלבול. כדי לחסוך במקום, במקלדות אנגליות שמו רק תו אחד בצורת קו אופקי ישר באמצע השורה, והוא שימש לתפקידים רבים: מינוס בפעולת חשבון; פעולת מיקוף – hyphenation, כלומר שבירת מילה ארוכה בסוף שורה, שנפוצה בשפות אירופיות, אבל לאפחות נהוגה בעברית; ושני הסוגים של קו מפריד תחבירי, הנהוגים באנגלית – en-dash הקצר יותר ו־em-dash הארוך יותר. לשני הסימנים האחרונים יש תפקידים תחביריים רבים ושונים; להבדיל מעברית, באנגלית הם נקבעים לא על־ידי אקדמיה אחת, אלא על־ידי מדריכי סגנון של בתי הוצאה, ויש בין המדריכים הבדלים רבים שקצרה היריעה מלפרט.

בדפוס מקצועי באנגלית ובשפות אחרות שנכתבות באלפבית הלטיני כל הסימנים האלה הם סימנים נפרדים שיש להם גם מראה שונה, אבל כאמור, בגלל חיסכון במקום במקלדת הם לא שימשו בכתיבה יום־יומית של דואר אלקטרוני ומסמכים דומים. עוד לפני־כן, במכונות כתיבה, נאלצו הקלדניות להסתפק במקש אחד, אבל מכיוון שקלדניות היו פעם נשות מקצוע מכובדות, שציפו מהן להתמצא בכללים של דקדוק ופיסוק ולהשתמש בהם, הן עקפו את הבעיה הזאת על־ידי הקלדה של שניים או שלושה סימני מינוס כדי לזייף קו מפריד ארוך: -- או ---. עד היום מיקרוסופט ווֹרד הופך אוטומטית שני מינוסים לקו מפריד ארוך כתוצאה מזה, וזה די טוב. גם וורדפרס, התכנה שבאמצעותה אני כותב את הבלוג, מתעקש להפוך לי את התווים האלה לקווים מפרידים ארוכים ואני צריך להתחכם כדי שתראו פה מינוסים.

בעברית, לעומת זאת, הקפדה על מקפים וקווים מפרידים שונים במסמכים יום־יומיים לא הכתה שורש בשום צורה והמינוס השתלט על הכול. בעיתונים וספרים ההקפדה על הבדלה בין מינוס, מקף וקו מפריד קיימת עד היום, אף־על־פי שחדירה של מקלדות שיש בהן רק מינוס לכל חלקה טובה מערערת אותה גם שם. מעבר למסורת אמנותית ומקצועית של דפוס יפה, להקפדה על שימוש בסימנים הנכונים יש בעברית משמעות נוספת: לסימנים שונים יש תפקיד שונה מבחינת כיווניות הטקסט.

מינוס הוא סימן מתמטי, וביטויים מתמטיים בעברית נכתבים משמאל לימין: 42-17 זה "ארבעים ושתיים פחות שבע־עשרה". גם הפרדה בין קבוצות של ספרות ברצף אחד, כמו בין קידומת לבין מספר טלפון, זורמת משמאל לימין: 050-2128506. טווח של שעות, לעומת זאת, נכתב מימין לשמאל: "הלשכה פתוחה בשעות 09:00–16:00", כלומר "מתשע בבוקר עד ארבע אחר הצהריים". בהתאם לזאת, תקן יוניקוד מגדיר מאפייני כיווניות שונים לשני התווים האלה – בלי להיכנס לפרטים טכניים, מינוס זורם משמאל לימין עם המספרים וקו מפריד זורם עם כיוון הפסקה, כלומר מימין לשמאל במקרה של עברית, גם אם יש לפניו ואחריו מספרים. תכנה שמיישמת נכון את האלגוריתם הדו־כיווני של יוניקוד אמורה להשתמש במאפייני הכיווניות האלה ולהציג את התווים בסדר המתאים.

אאוטלוק, לפחות בגרסה שהשתמשתי בה בתקופת הצבא, לא יישם את האלגוריתם נכון. מפתחי אאוטלוק כנראה היו מודעים לכך שאנשים יכולים להקליד במקלדות שלהם רק מינוס וגרמו לו להתנהג מבחינת כיווניות כמו שמתנהג קו מפריד. זה אפשר לאנשים להקליד נכון טווח של שעות, אבל לא מספרי טלפון. מה שמתכנתי אאוטלוק באמת היו צריכים לעשות הוא לתקן את המקלדת, כדי לאפשר לאנשים להקליד את כל התווים הדרושים. הם יכלו לעשות את זה, כי הם עבדו באותה החברה שמפיצה את פריסת המקלדת, כלומר מיקרוסופט. הם לא עשו את זה, אז אני עושה את זה היום: יזמתי פיתוח של תקן חדש למקלדת עברית במכון התקנים, שבתקווה ייכנס גם לחלונות 8 ולמערכות הפעלה אחרות. בפריסה הזאת אפשר בקלות להקליד גם מינוס (-), גם קו מפריד (–) וגם מקף עברי (־). (בעברית, ברוך השם, אפשר להסתפק בקו המפריד ארוך אחד ולא צריך שניים כמו באנגלית.)

אפשר להוריד את פריסת המקלדת העברית החדשה ולהתקין אותה כבר היום. אני משתמש בה בהצלחה כבר חודשים רבים.


ומה עם מספרי הטלפון? הבאגים ביישום האלגוריתם שגרמו לטלפונים להיראות הפוך כבר תוקנו ברוב התכנוֹת, למיטב ידיעתי. בתכנות חופשיות כגון פיירפוקס ואופן אופיס האלגוריתם יושם נכון מאז ומעולם (תקנו אותי אם אני טועה). אבל ההרגל שלי נשאר ואני עדיין כותב במחשב מספרי טלפון מופרדים בנקודה.

ברשומה הזאת יש סקירה של היכולות של תכנוֹת שונות לכתוב מימין לשמאל. לחלק מהקוראים הדברים המתוארים פה ייראו פשוטים ומוכרים והם לא יבינו למה אני בכלל כותב אותם. אני כותב אותם כי יש הרבה מאוד אנשים שזה לא ברור להם בכלל ואני מקווה להבהיר להם את זה. אם אתם שייכים לקבוצה הראשונה, תוסיפו עוד תובנות; אם אתם שייכים לקבוצה השנייה, ספרו לי אם הצלחתי להקל עליכם את הכתיבה או לפחות להבין למה זה כל־כך קשה.

לשם הפשטות אני מתייחס לשפה העברית, אבל כל מה שאני אומר על עברית נכון גם לערבית ולשפות אחרות שנכתבות מימין לשמאל. צירופי המקשים המוזכרים עובדים במערכת ההפעלה חלונות ואמורים לעבוד גם בלינוקס; אם הם לא עובדים, ספרו לי. אין לי מושג במחשבי אפל, אבל מי שרוצה להוסיף מידע עליהם, מוזמן לכתוב לי.


כולנו מכירים את הבעיה של סימני הפיסוק ש"קופצים" לקצה הלא נכון של השורה כשאנחנו כותבים במחשב, למשל:

רואים איפה סימן השאלה?

אפילו כתבו על זה בעיתון – לחצו להגדלה:

מי הזיז את סימן השאלה, ניר גונטז׳, ידיעות אחרונות

מי הזיז את סימן השאלה, ניר גונטז׳, ידיעות אחרונות

זה קורה כשהתכנה אינה יודעת מהי הכיווניות הכללית של הפִסקה – האם זו פסקה שכתובה מימין לשמאל או משמאל לימין. אפשר לגרום למחשב לדעת את זה על־ידי לחיצה על המקשים Ctrl-Shift – אם לוחצים על אלה בצד הימני של המקלדה, הפסקה תוגדר כפסקה מימין לשמאל, ואם לוחצים על אלה מצד שמאל של המקלדת, הפסקה תוגדר הפסקה משמאל לימין. (כך זה פועל ברוב התכנוֹת; יוצא דופן בולט הוא דפדפן פיירפוקס, שבו זה נעשה באמצעות Ctrl-Shift-X.)

הצרה היא שמה שהלחיצה על המקשים האלה עושה משתנה מתכנה לתכנה. במעבדי תמלילים כגון אופן אופיס או ווֹרד זה מגדיר את כיוון הפסקה הנוכחית, אבל לא של הפסקאות האחרות ומה שחשוב יותר, כשאתם שומרים את המסמך, ההגדרה הזאת נשמרת. שימו לב – זה לא קשור ליישור הטקסט לימין או לשמאל, אלא פעולה נפרדת; הטקסט יכול להיות מיושר לימין, אבל כיווניות הפסקה יכולה להיות משמאל־לימין. עם זאת, פסקה שמוגדרת כפסקה מימין לשמאל תיושר לפי בררת המחדל לימין.

לעומת זאת, בעורכי טקסט פשוט ולא מעוצב, כגון Notepad בחלונות או שדות עריכה בדפדפנים, זה מגדיר את הכיוון של כל הטקסט או של כל הקובץ, ומה שחשוב יותר, הרבה יותר, הוא שכשאתם שומרים את הקובץ, ההגדרה הזאת אינה נשמרת. כלומר, זה משמש רק לתצוגה בעת העריכה. כשתשתלחו את זה לאנשים אחרים ואפילו כשתפתחו את זה מחדש בעצמכם, הכיוון שוב עשוי להיות הפוך. זו אולי הבעיה החמורה ביותר באלגוריתם הדו־כיווני של יוניקוד; אם תמצאו לה פתרון חכם, כתבו לי או למארק דייוויס. (לחכמולוגים – RLE זה לא פתרון חכם.)

כשהמחשב חושב שהפסקה כתובה משמאל לימין, הוא יציב את סימני הפיסוק בקצה הימני שלה, אלא אם כן יש אחרי סימן הפיסוק עוד אותיות עבריות. ישראלים רבים למדו לנצל את התכונה הזאת – הם מוסיפים אחרי סימן הקריאה או סימן השאלה אות עברית, רוב הזמן י, כי היא לכאורה קטנה ולא מפריעה, אבל כמה שהיא קטנה עדיין רואים אותה.

עכשיו דמיינו לעצמכם שאתם יכולים להוסיף את היו״ד הזאת, אבל כך שתהיה לגמרי בלתי־נראית. ובכן, יש דבר כזה. באנגלית זה נקרא Right-to-left mark או בקיצור RLM – "סימן ימין־לשמאל". זהו תו יוניקוד שמבחינת כיווניות הוא אות עברית, אבל לא רואים אותו על המסך. אם כותבים אותו אחרי סימן הפיסוק, סימן הפיסוק יופיע בקצה הנכון של המשפט. השוו בין שלוש האפשרויות הבאות:

1. רואים איפה סימן השאלה?

2. רואים איפה סימן השאלה?י

3. רואים איפה סימן השאלה?‏

האפשרות השלישית היא, כמובן, היפה והנכונה ביותר. וכתבתי אותה בעזרת RLM.

באופן עקרוני היה טוב יותר אילו היה אפשר לגרום למחשב לזכור את כיוון הפסקה, אבל כשאין אפשרות כזאת, תו RLM עושה את העבודה. איך כותבים אותו? בפריסת המקלדת העברית הרגילה של חלונות – Ctrl-] (ההיגיון הוא שזה סוגר ימני, כשם התו). בפריסת המקלדת העברית החדשה, כפי שהיא מסתמנת כיום, מקלידים אותו על־ידי Alt-) (הכוונה ל־Alt הימני). בלינוקס זה יכול להיות שיפט־א, אבל זה משתנה מגרסה לגרסה.

זה אמור להיות הפתרון לסימני הפיסוק שקופצים לקצה הלא־נכון של המשפט כשאתם כותבים עדכונים בפייסבוק או בטוויטר. הבעיה היא שהמתכנתים גם של פייסבוק וגם של טוויטר חושבים שאתם מטומטמים: בשני האתרים, כשתכתבו תו RLM בעדכון שלכם, התו יימחק תוך כדי השמירה. המתכנתים כנראה סבורים שתווים בלתי־נראים הם בעיית אבטחה או משהו כזה, אבל זאת בטח לא סיבה לאסור את השימוש בהם לגמרי. בפייסבוק עוד איכשהו מנסים לנחש אוטומטית את הכיוון של העדכון שלכם, ולא תמיד מצליחים, ובטוויטר אין בכלל שום ניסיון לתמוך בעברית.

מה עושים? עוברים לאידנטי.קא (identi.ca), אתר שדומה לטוויטר, אבל מבוסס על תכנה חופשית ולא אוכל לכם את ה־RLM. אינני מבין מדוע אין נהירה המונית של ישראלים לאידנטי.קא לאור העובדה שהתמיכה בעברית שם טובה הרבה יותר מאשר בטוויטר. אפשר גם לחבר בין חשבון אידנטי.קא לחשבונות בטוויטר ובפייסבוק כך שכל מה שתכתבו באידנטי.קא, יופיע גם שם.


ברשומה הזאת דיברנו על תו הכיווניות הבלתי־נראה, על אחת הבעיות שהוא פותר ועל האתרים שלא מאפשרים שימוש בו. יש עוד בעיות רבות שאפשר לפתור בעוד דרכים, ועליהן נדבר ברשומות הבאות. אם זה משעמם, ספרו לי.