רינדור טקסט משופר בדפדפנים מבוססי Chromium ב-Windows

Kurt Catti-Schmidt
Kurt Catti-Schmidt
Patrick Brosset
Patrick Brosset

תאריך פרסום: 12 בפברואר 2025

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

בשנת 2020 הייתה ל-Microsoft Edge הזדמנות נדירה – החלפה מלאה של מנוע הרינדור הבסיסי שלו. Edge עבר ל-Chromium, ועזב את הפלטפורמה ל-Windows בלבד שבה הוא השתמש ישירות בממשקי API של Windows, והפך למעבד אינטרנט אמיתי בפלטפורמות שונות. לפני המעבר ל-Chromium, הדפדפן Edge הסתמך לחלוטין על ממשק Windows API שנקרא DirectWrite לעיבוד טקסט. עם זאת, Chromium מסתמך על Skia, מנוע גרפיקה חזק וגמיש לפלטפורמות שונות, שמבודד הרבה מהקוד הספציפי למערכת ההפעלה מה-API שלו.

במהלך המעבר של Edge ל-Chromium, לצוות Edge הייתה הזדמנות לקבל משוב מהמשתמשים לגבי מנוע הרינדור של Chromium. אחד מהמשובים היה משמעותי – משתמשי Edge רבים ציינו שהטקסט נראה 'דהוי' ולא עקבי עם הטקסט בחלקים אחרים של Windows.

הטקסט נראה דהוי ב-Chrome ב-Windows בגרסאות קודמות ל-132.

הצוות התייחס למשוב הזה ברצינות וביצע כמה בדיקות. מערכת Skia משתמשת ב-DirectWrite ב-Windows לצורך פונקציונליות מסוימת, כמו חיפוש גופנים, אבל עיבוד הטקסט הסופי לרשת (rasterization) מתבצע בפועל ישירות על ידי Skia. גורם משמעותי אחד למשוב של משתמשים על 'טקסט דהוי' הוא ההגדרות הפנימיות של הניגודיות והגאמה לעיבוד הטקסט.

נמצאו שני הבדלים עיקריים בערכי הגאמה ובניגודיות הטקסט בין המנוע של Edge שמבוסס על Chromium לבין המנוע הקודם שלו. ראשית, Skia לא קולטת את ערכי הניגודיות והגאמה של הטקסט מ-Windows ClearType Tuner. שנית, הוא משתמש בערכי ברירת מחדל שונים לניגודיות הטקסט ולערכי ה-gamma, לעומת הערכים שבהם משתמש סטאק הטקסט של Edge שמבוסס על DirectWrite.

צוות Edge הוסיף תמיכה בהתאם לערכים של ClearType Tuner ישירות ב-Chromium בשנה שעברה. כך משתמשים בדפדפנים המבוססים על Chromium יכולים לשלוט בהגדרות הניגודיות והג'אמה של טקסט ב-Windows. זהו צעד משמעותי בכיוון הנכון, אבל רוב המשתמשים לא משנים את הגדרות הניגודיות והג'אמה של הטקסט ברמת המערכת. לכן, השלב הבא בתהליך היה לשקול ברצינות שינוי של הגדרות ברירת המחדל של ניגודיות הטקסט והגאמה גם לתוכן טקסט באינטרנט וגם לממשק המשתמש בדפדפן.

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

צוות Edge התחיל להתנסות בערכי ניגודיות שונים של טקסט כבר בשנת 2021. אחרי הרבה מחקרים על משתמשים, חברי הצוותים של Edge ו-Chromium קבעו שערך ניגודיות של 1.0 תואם מאוד לעיבוד הטקסט של Edge לפני Chromium, ונראה עקבי בהשוואה לאפליקציות מקוריות אחרות של Windows.

בצוות Edge חשבנו שהמחקרים והניסויים שלנו יכולים להועיל לקהילה הרחבה של Chromium ב-Windows, ולכן שיתפנו את הממצאים שלנו עם צוות Chrome ב-Google, שאימת אותם באמצעות ניסויים משלו. לאחר מכן הפעלנו את ערך הניגודיות החדש כברירת מחדל בגרסאות build של Windows, החל מ-Chrome 132.

היום, כל המשתמשים בדפדפנים המבוססים על Chromium ב-Windows יכולים ליהנות מהמחקרים, מהניסויים ומההטמעות המשותפים של השנים האחרונות.

הטקסט נראה חד וברור אחרי המעבר.

תודה מיוחדת ל-Ian Prest,‏ Daniel Libby ו-Alison Maher מ-Microsoft, וגם ל-Dominik Röttsches,‏ David Yeung,‏ Ben Wagner ו-Brian Osman מ-Google על התרומה שלהם לפרויקט הזה.