Re: The kmail bidi jumping lines bug
Amit Ramon <[email protected]>
| Newsgroups | gmane.comp.kde.internationalization.hebrew |
|---|---|
| Message-ID | <[email protected]> |
ראשית סליחה על ההודעה הקודמת - זה מה שקורה כשלוחצים ctrl-enter במקום
ctrl-shift...
אם הבנתי נכון, הבעיה היא בדרך ש kmail מציג הודעות, שהתקבלו ממקורות שונים. אם
כך, ובהנחה שהודעה מגיעה עם מבנה השורות *המקורי*, ניתן ליישם את המנגנון הבא:
כש kmail מעבד (לצורך הצגה) שורה מקורית, הוא, כמו שהבנתי, מקצץ אותה לשורות
שארכן לכל היותר 78 תווים. אם לכל שורה חדשה ישמר קונטקסט שיכיל, לפחות, את
הכיווניות (RTL או LTR), הוא ידע איך להציג את השורה.
קביעת הקונטקסט לשורה חדשה תעשה באופן הבא: אם השורה המקורית התחילה בעברית, כל
השורות שנוצרו ממנה תהיינה RTL. (ולכן אם שורה שנקצצה תתחיל באנגלית, כמו בדוגמה
של דיאגו, היא עדיין תהיה RTL). אם השורה המקורית התחילה באנגלית, כל השורות
שנוצרו ממנה תהיינה LTR.
כמוכן, ניתן יהיה לשמור סימן "סוף פיסקה" לשורה האחרונה שנגזרה משורת המקור.
במילים אחרות, השורות החדשות יורשות את הכיווניות של שורת המקור. מנגנון זה מצריך
כנראה שינויים בקוד, אך נראה לי שהוא עשוי לפתור את בעיית התצוגה.
הקונטקסט אינו צריך להישמר עם ההודעה - הוא נחוץ לתצוגה בלבד. יש לשמור את ההודעה
במבנה המקורי, ולחשב את הקונטקסט כל אימת שנחוץ להמיג את ההודעה (ואולי לחשב
אותו מחדש כשמשנים את רוחב החלון (אם kmail מתאים אז את אורך השורות).
--- עמית
ביום שישי, 15 בספטמבר 2006, 09:26, נכתב על ידי Diego Iastrubni:
> ביום שישי, 15 בספטמבר 2006, 06:01, נכתב על ידי Shai Berger:
> > הטענה שלי היא לא על מה שנשלח, אלא על ההצגה -- ובאמת, הרבה מההודעות שבהן
> > מתגלה הבעיה מגיעות בכלל מלקוחות אחרים. האלגוריתם שאני מציע הוא שבמקום
> > לנסות לקבוע את הכיוון של כל שורה, kmail ינסה לקבוע את הכיוון של כל פסקה,
> > כאשר פסקה מוגדרת כרצף של שורות לא ריקות, ושורה ריקה היא כזאת שמכילה רק
> > whitespace, או רק סימני ציטוט (>). כלומר, אם המשתמש לחץ enter
> > ככה באמצע השורה, זה עדיין לא פותח פסקה חדשה. זה הרבה יותר מתאים לצורה שבה
> > אנשים באמת כותבים.
>
> איך אתה מבדיל בין מעבר שורה של המשתמש (פסקה חדשה) ובין מעבר שורה בגלל
> השליחה...? בשתי הצורות אתה מקבל את אותו מעבר שורה.
>
> אחד הניסיונות שעשיתי היה להתייחס אל "שתי מעברי שורה" בתור פסקה חדשה, ומעבר
> שורה בודד ישמור על הכיוון של השורה הקודמת. זה לא ממש עובד. למשל תסתכל על
> השורה הראשונה של המייל הזה. היא מכילה עברית, אם לא היה מעבר שורה (והרבה
> פעמים אין) ואתה עונה למישהו שכתב לך באנגלית במקור (תתפלא גם זה קורה...)
> האנגלית שלו תקבל יישור ימינה וכיווניות לא נכונה.
>
> הבעיה היא בזיהוי של הכיוון. לפי דעתי הזיהוי של הכיוון צריך להיות לפי מרב
> התווים בשורה ולא לפי התו החזק הראשון. אני מנסה לממש דבר כזה עבור
> konversation (יש שם בעייה קטנה אחרת) ואני כבר הצעתי את זה ל־Trolltech עבור
> Qt4. המימוש די פשוט, צריך רק להחליט. גם זה לא מושלם.
>
> אם אתה באמת רוצה לשלוט על הכיוון של הטקסט (ולא שתכנה תנסה לנחש את מה שאתה
> רוצה להגיד) תכתוב html mail, שם לך השולח יש שליטה מלאה.
Yahoo! Groups Links
<*> To visit your group on the web, go to:
http://groups.yahoo.com/group/kde-il/
<*> Your email settings:
Individual Email | Traditional
<*> To change settings online go to:
http://groups.yahoo.com/group/kde-il/join
(Yahoo! ID required)
<*> To change settings via email:
mailto:[email protected]
mailto:[email protected]
<*> To unsubscribe from this group, send an email to:
[email protected]
<*> Your use of Yahoo! Groups is subject to:
http://docs.yahoo.com/info/terms/