ISO 10646 הוא תקן למפת תווים אוניברסלית (UCS, מפת תווים שאמורה להכיל את כל האותיות והסמלים של כל השפות). המטרה שלה היתה לאחד את מפות התווים השונות ולקודד כתבים מודרניים והיסטוריים. היום התקן מאוחד עם יוניקוד, אך עדיין קיימים הבדלים במפרטים ובכללים.
היוזמה התחילה ב־1989 והטיוטה של ISO 10646 פורסמה ב־1990. בתכנון המקורי הוגדרו קבוצות ומשטחים רבים, מה שנתן מקום תיאורטי לכמה מיליארדי תווים. בפועל הוגבל השימוש בתווי בקרה (תווים מיוחדים שמחשבים משתמשים בהם), ולכן נותרו פחות תווים לשימוש. לדוגמה, האות הלטינית A הוצבה באחת הקבוצות והמשטחים בתקן ההתחלתי.
בתקן המקורי הוצעו שלושה סוגי קידוד: UCS-4, ארבעה בתים (בית = יחידת מידע שמחשב מעבד), שיכולה לקודד את כל התווים; UCS-2, שני בתים, שקודד רק את המשטח הראשון של 65,536 תווים; ו־UTF-1, קידוד משתנה של אחד עד חמישה בתים, שלא היה פופולרי בגלל בעיות בעיצוב ובביצועים.
בשנות ה־90 חברות התוכנה התנגדו למסובכות של ISO ההתחלתי. אז נרקם שיתוף פעולה עם יוניקוד. הוסרו חלק מהמגבלות (כגון האיסור על תווי בקרה) והאוצר של המשטח הבסיסי הותאם לזה של יוניקוד.
יוניקוד עצמו התרחב מעבר ל־65,536 תווים. מגרסת יוניקוד 2 והלאה הוכנס מנגנון UTF-16 שמאפשר קידוד של יותר ממיליון תווים. בגלל זה הוגבל ISO 10646 לתחום ש־UTF-16 יכול לקודד. הקידוד UCS-4 נכנס ליוניקוד בהגבלה זו ושמו שונה ל־UTF-32. UTF-1 נזנח, ואילו Rob Pike ו־Ken Thompson המציאו את UTF-8, קידוד משתנה ונפוץ מאוד היום.
האוצר (כל התווים והמספרים שלהם) זהה בשני התקנים. ההבדל הוא שיוניקוד מוסיף כללים נוספים שלא קיימים ב־ISO. יוניקוד כולל הנחיות לסידור תווים לפי שפה (collation), נורמליזציה של צורות זהות, ואלגוריתם דו‑כיווניות (כללי הצגה לטקסטים שמכילים שפות מימין לשמאל כמו עברית וצד שמאל לשמאל). עבור עברית זה חשוב: יוניקוד קובע שאופן הקידוד צריך להיות לוגי (logical), ולא ויזואלי.
יש תוכנות שתומכות רק ב־ISO 10646 ולא במנגנוני יוניקוד המורכבים. למשל xterm בלינוקס מציג תווים לפי ISO 10646, אך אינו תומך בתצוגה של כתבים מורכבים כמו עברית, ערבית או דוונאגרי. לעומתו, דפדפנים כמו מוזילה ומעבדי תמלילים כמו OpenOffice.org תומכים ביוניקוד ובמנגנוני התצוגה הנדרשים.
ISO 10646 היא רשימה גדולה של כל האותיות והסמלים בעולם. מפת תווים זהו "מפה" של תווים, כלומר איפה כל אות נמצאת.
הרעיון החל ב־1989 והטיוטה יצאה ב־1990. בתחילה התוכנית נתנה מקום לעוד הרבה תווים. חלק מהתווים המיוחדים (תווי בקרה) לא הורשו, ולכן נשארו פחות תווים לשימוש.
היו שלושה מבצעים איך לקודד תווים: UCS-4 שכתוב כל תו בארבעה בתים (בית, חלק קטן במחשב), UCS-2 שכתב תווים בשני בתים בלבד, ו־UTF-1 שהיה איטי ולא נעשה בו שימוש. אחר כך יוניקוד גדל והמציאו UTF-8, קידוד קצר ונפוץ.
ISO ויוניקוד מכילים את אותם התווים. ההבדל הוא שיוניקוד אומר גם איך להציג ולמיין תווים. זה חשוב בשפות כמו עברית, שכותבות מימין לשמאל. יש תוכנות (למשל xterm) שמציגות הרבה תווים אבל לא יודעות להציג עברית נכון. דפדפנים ותוכנות כתיבה כמו מוזילה ו־OpenOffice יודעות להציג עברית כי הן תומכות ביוניקוד.
תגובות גולשים