תיקון הכיווניות בטקסט משולב עברית ואנגלית

שלום

אני מניח שלכולנו יצא להיתקל בתופעה הזו:

כותבים טקסט בעברית, משלבים בו מילים באנגלית, עם סימני פיסוק/ספרות ומשהו משתבש. לדוגמא (ציטוט מויקיפדיה):

שפת C השפיעה על שפות תכנות רבות, ובמיוחד על C++.

המשפט הזה אמור להיראות ככה:

שפת C השפיעה על שפות תכנות רבות, ובמיוחד על ++C.

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

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

דוא”ל: 12345@GMAIL.COM

(ניתן דוגמא נוספת שאמנם כבר לא רלוונטית, אך מן הסתם הוותיקים שבינינו זוכרים שפעם כשהיו מקלידים ב-Word מס' טלפון היה צריך להקליד קודם כל את המספר, ואז את הקידומת, אחרת התוצאה הייתה כזו: 9974000-03).

מה גורם לבעיות הללו וכיצד אפשר להימנע מהן?

התשובה לשאלה הראשונה, היא פשוטה מאד:

סדר ההקלדה הבסיסי במחשב הוא משמאל לימין, ובשביל טקסט בעברית (או בערבית) הסדר הוא מימין לשמאל. כיום כמעט כל מערכות ההפעלה של מחשבים (למשל Windows, Mac, Linux וכו’) משתמשות בתקן יוניקוד, שמכיל אלגוריתם המורה למחשב כיצד להציג את הטקסט, וכאשר נכתבת מילה באנגלית בתוך טקסט עברית, האלגוריתם אומר למחשב לשנות את כיוון הכתיבה של הטקסט האנגלי למשמאל לימין, וכך הוא מוצג נכון, אך כאשר המחשב נתקל בסימנים (כמו סימני פיסוק למשל) המשמשים בשני מערכות הכתב – גם העברי וגם הלועזי –  הוא לא יודע מעצמו כיצד לתת להם את הכיווניות הנכונה.

להמחשה נשתמש בדוגמא המובאת למעלה:

דוא”ל: 12345@GMAIL.COM

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

אז מה הפתרון?

לפני הפתרונות שאציג כאן, אני רוצה לספר לכם על כל מיני פתרונות יצירתיים ששמעתי לבעיה (אני לא שולל פתרונות יצירתיים, אך מעדיף אותם רק כאשר אין מענה מובנה בתוכנה עצמה, או שהוא לא מספק)

  1. להקליד הפוך (הפתרון הזה היה יעיל כשהאלגוריתם לא ידע שהסימן – (מינוס) בתוך רצף של מספרים צריך להיות גם הוא בכיווניות LTR‏ (Left to Right‎) ולא RTL. אבל זה לא יעיל במקרה של המייל – אם נקליד קודם את הסיומת ואח"כ את המספרים, נקבל את אותה תוצאה שגוייה GMAIL.COM@5555 כי במקרה הזה, האלגוריתם יזהה את האותיות באנגלית שהוקלדו לפני השטרודל, ולכן ייתן לשטרודל כיווניות LTR, לכן זה לא עובד. חוץ מזה, גם במקרים שזה עובד, זה יעיל כשמדובר במקרה בודד או לכל היותר בכמה מקרים, אך לא כשמדובר במקרים רבים).
  2. לכתוב את המספרים בעברית ואת האותיות באנגלית (הפתרון הזה לא עובד).
  3. לקחת טקסט קיים שמוצג נכון, לסמן את האותיות או המספרים שצריך לשנות, ואז להחליף אותם. לדוגמא להעתיק את כתובת המייל Ploni.Almoni@gmail.com ואז להדביק אותה, לסמן את המילים ploni.almoni ובמקום להקליד את הספרות. (גם הפתרון הזה כמובן לא עובד)
  4. אולי זו בעיה רק בקובץ הנוכחי… נסה לפתוח דף חדש… (כמובן שגם הפתרון הזה לא עובד וגם בדף החדש הכתובת תוצג במבנה שגוי)
  5. אפשר לכתוב עם אות בתחילה ולצבוע אותה בלבן. (פתרון יצירתי מאד שגם עובד, אבל מדובר בהרבה מקרים ולא רק אחד? כמו כן מה יקרה אם מישהו ילחץ על הלינק של כתובת המייל וינסה לשלוח? כמובן שהדוא”ל לא יגיע ליעדו…)
  6. אפשר פשוט לשים בתיבת טקסט נפרדת עם כיוון אנגלי. (רלוונטי לתוכנות מסוימות כמו אינדיזיין, לא רלוונטי למשל לאתר אינטרנט. כמו כן רלוונטי רק למקרים בודדים, לא רלוונטי כשזה חוזר על עצמו פעמים רבות במסמך)
  7. במקרים דחופים כותבים את זה בוורד עושים לכידה ומדביקים את זה בתור תמונה במסמך (פתרון די הזוי (לא הכי, תכף תשמעו את הפתרון הכי הזוי), חוץ מזה שגם בוורד זה מתהפך…)
  8. ללחוץ על הזכוכית מגדלת שליד ‘התחל’, להקליד שם MSPAINT. ייפתח התוכנה ‘צייר’. ואז אפשר פשוט לצייר עם העכבר את האותיות של כתובת המייל במקום להקליד אותם. (תודו שעל פתרון כזה לא חשבתם…)

 

ועכשיו לפתרונות האמיתיים.

  1. אם מדובר במקרה חד־פעמי, אפשר לסמן את כל הכתובת ולפתוח את התפריט של חלונית ה-Character ושם לבחור Left-to-Right Direction. מצ"ב תמונה:

2. במידה ואנו משתמשים בסגנונות תו, ניתן להגדיר זאת בסגנון:

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

אין טעם להלאות אתכם עם כל האפשרויות שם. בעיקרון ברוב המקרים האפשרות הראשונה (Left to Right Marker) תתן לכם מענה. להרחבה בנושא תוכלו לקרוא בויקיפדיה.

את תו הכיווניות LTR ניתן גם להכניס דרך המקלדת, ע”י הקשה על הצירוף Alt+9 ואת תו הכיווניות RTL ע”י הקשה על Alt+0, אך שימו לב – זה עובד רק במקלדת עברית סטנדרטית. אם שיניתם את הפריסה לשיטה הישנה (כמו שהצעתי בזמנו כאן) – צירופי המקשים הללו לא יפעלו.

אהבתם את הטיפ? שתפו עם חברים!
אפשר גם לפרגן לי בכוס קפה...

מה דעתך על הטיפ?

2 תגובות

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

כתיבת תגובה

האימייל לא יוצג באתר. שדות החובה מסומנים *

אל תפספסו טיפים חדשים

הירשמו לניוזלטר וכך תקבלו התראה במייל בכל פעם שיעלה טיפ חדש

יש לכם שאלה באינדיזיין?

מוזמנים לקבוצת הוואצאפ!

מוצרים במיוחד בשבילך

Cover Builder PRO – מייצר פריסות לכריכה

₪ 299 כולל מע"מ

IndiSetUp – כלי עזר להגדרת אינדיזיין

המחיר המקורי היה: ₪ 472.המחיר הנוכחי הוא: ₪ 236. כולל מע"מ

אינדקס תורני – מפתח עניינים לפי סימנים וסעיפים

₪ 490 כולל מע"מ

Section Master – ניווט והחלת מקטעים ודפי אב

₪ 200 כולל מע"מ

אל תפספסו טיפים חדשים

הירשמו לניוזלטר וכך תקבלו התראה במייל בכל פעם שיעלה טיפ חדש