Deprecated: Creation of dynamic property CF\WordPress\DataStore::$logger is deprecated in /home/nitzan_n2b/n2b.org/wordpress/wp-content/plugins/cloudflare/src/WordPress/DataStore.php on line 23

Deprecated: Creation of dynamic property CF\WordPress\Proxy::$pluginAPI is deprecated in /home/nitzan_n2b/n2b.org/wordpress/wp-content/plugins/cloudflare/src/WordPress/Proxy.php on line 31

Deprecated: Creation of dynamic property SyntaxHighlighter::$brush_names is deprecated in /home/nitzan_n2b/n2b.org/wordpress/wp-content/plugins/syntaxhighlighter/syntaxhighlighter.php on line 248

Deprecated: Creation of dynamic property SyntaxHighlighter::$specialchars is deprecated in /home/nitzan_n2b/n2b.org/wordpress/wp-content/plugins/syntaxhighlighter/syntaxhighlighter.php on line 326
המכללה | המרת עברית - אלגוריתם
Warning: Cannot modify header information - headers already sent by (output started at /home/nitzan_n2b/n2b.org/wordpress/wp-content/plugins/cloudflare/src/WordPress/DataStore.php:23) in /home/nitzan_n2b/n2b.org/wordpress/wp-content/plugins/cloudflare/src/WordPress/HTTP2ServerPush.php on line 79

Warning: Cannot modify header information - headers already sent by (output started at /home/nitzan_n2b/n2b.org/wordpress/wp-content/plugins/cloudflare/src/WordPress/DataStore.php:23) in /home/nitzan_n2b/n2b.org/wordpress/wp-content/plugins/cloudflare/src/WordPress/HTTP2ServerPush.php on line 79

Warning: Cannot modify header information - headers already sent by (output started at /home/nitzan_n2b/n2b.org/wordpress/wp-content/plugins/cloudflare/src/WordPress/DataStore.php:23) in /home/nitzan_n2b/n2b.org/wordpress/wp-content/plugins/cloudflare/src/WordPress/HTTP2ServerPush.php on line 79

Warning: Cannot modify header information - headers already sent by (output started at /home/nitzan_n2b/n2b.org/wordpress/wp-content/plugins/cloudflare/src/WordPress/DataStore.php:23) in /home/nitzan_n2b/n2b.org/wordpress/wp-content/plugins/cloudflare/src/WordPress/HTTP2ServerPush.php on line 79

המרת עברית – אלגוריתם

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

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

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

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

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

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

לדרג את הפוסט
5

Posted

in

by

Tags:

Comments

2 תגובות על “המרת עברית – אלגוריתם”

  1. תמונת פרופיל של רן יניב הרטשטיין

    הפתרון הטוב ביותר לרוב הבעיות שצצות בעת השימוש בפלאש – לא להשתמש בפלאש. אבל האמת שדי הפלת את עצמך עם הדוגמה שנתת בצילום מסך.

  2. תמונת פרופיל של גלגל

    כן, בעיה שידועה כבר שנים, ומשום מה Micromedia לא נותנת עליה את הדעת/פתרון באופן איכותי.

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

    אין לי ספק שמספר המשתמשים בפלאש היה גדול יותר, אם התוכנה היתה Hebrew Friendly, ועד שזה לא יהיה – מעט אנשי המקצוע (הפלאשרים) ימשיכו לעבוד קשה, אבל גם לדרוש כסף טוב עבור זה…

כתיבת תגובה

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


Warning: Cannot modify header information - headers already sent by (output started at /home/nitzan_n2b/n2b.org/wordpress/wp-content/plugins/cloudflare/src/WordPress/DataStore.php:23) in /home/nitzan_n2b/n2b.org/wordpress/wp-content/plugins/cloudflare/src/WordPress/HTTP2ServerPush.php on line 79

Warning: Cannot modify header information - headers already sent by (output started at /home/nitzan_n2b/n2b.org/wordpress/wp-content/plugins/cloudflare/src/WordPress/DataStore.php:23) in /home/nitzan_n2b/n2b.org/wordpress/wp-content/plugins/cloudflare/src/WordPress/HTTP2ServerPush.php on line 79

Warning: Cannot modify header information - headers already sent by (output started at /home/nitzan_n2b/n2b.org/wordpress/wp-content/plugins/cloudflare/src/WordPress/DataStore.php:23) in /home/nitzan_n2b/n2b.org/wordpress/wp-content/plugins/cloudflare/src/WordPress/HTTP2ServerPush.php on line 79

Warning: Cannot modify header information - headers already sent by (output started at /home/nitzan_n2b/n2b.org/wordpress/wp-content/plugins/cloudflare/src/WordPress/DataStore.php:23) in /home/nitzan_n2b/n2b.org/wordpress/wp-content/plugins/cloudflare/src/WordPress/HTTP2ServerPush.php on line 79

Warning: Cannot modify header information - headers already sent by (output started at /home/nitzan_n2b/n2b.org/wordpress/wp-content/plugins/cloudflare/src/WordPress/DataStore.php:23) in /home/nitzan_n2b/n2b.org/wordpress/wp-content/plugins/cloudflare/src/WordPress/HTTP2ServerPush.php on line 79

Warning: Cannot modify header information - headers already sent by (output started at /home/nitzan_n2b/n2b.org/wordpress/wp-content/plugins/cloudflare/src/WordPress/DataStore.php:23) in /home/nitzan_n2b/n2b.org/wordpress/wp-content/plugins/cloudflare/src/WordPress/HTTP2ServerPush.php on line 79

Warning: Cannot modify header information - headers already sent by (output started at /home/nitzan_n2b/n2b.org/wordpress/wp-content/plugins/cloudflare/src/WordPress/DataStore.php:23) in /home/nitzan_n2b/n2b.org/wordpress/wp-content/plugins/cloudflare/src/WordPress/HTTP2ServerPush.php on line 79

Warning: Cannot modify header information - headers already sent by (output started at /home/nitzan_n2b/n2b.org/wordpress/wp-content/plugins/cloudflare/src/WordPress/DataStore.php:23) in /home/nitzan_n2b/n2b.org/wordpress/wp-content/plugins/cloudflare/src/WordPress/HTTP2ServerPush.php on line 79

Warning: Cannot modify header information - headers already sent by (output started at /home/nitzan_n2b/n2b.org/wordpress/wp-content/plugins/cloudflare/src/WordPress/DataStore.php:23) in /home/nitzan_n2b/n2b.org/wordpress/wp-content/plugins/cloudflare/src/WordPress/HTTP2ServerPush.php on line 79