המרת תווים מיותרת בשמונה תרשימים
במאמר הזה
במשך זמן מה, שמונה רשומות בבלוג הזה הציגו את שבעת התווים — באמצע משפט, בתוך התרשימים. לא קו מפריד. הטקסט עצמו. מאז הדבר תוקן בכל שפה.
81 שורות, 91 מופעים. בפרוזה של אותן שמונה רשומות: אף לא אחד.
המרת תווים אחת יותר מדי
התרשימים הם SVG בתוך הדף, שנכתב בגוף המאמר. תווית שרוצה קו מפריד מכילה —, והדפדפן הופך אותו לקו, בדיוק כפי שהוא עושה בפסקה.
אבל מה שנשמר היה —. הדפדפן הפך זאת בצייתנות לשבעת התווים שמרכיבים ישות וצייר אותם. הפרוזה לא נפגעה כי מעולם לא עברה דרך מה שהוסיף את המרת התווים הנוספת; רק התוויות עברו שם, ורק ברשומות שהתוויות שלהן נבנו באותו זמן.
הסיבה קטנה ומשעממת. החלק שכדאי לתעד הוא למה זה נשאר גלוי לעין זמן רב כל כך, ומה סיים זאת.
הבדיקה ראתה זאת ואמרה משהו אחר
יש בדיקה שמודדת אם תווית תרשים מתאימה לתמונה שלה. במשך ימים היא דיווחה על התוויות האלה — בתור רחבות מדי.
והן אכן היו כאלה. תווית שמציירת שבעה תווים במקום אחד רחבה בכארבעים וחמישה פיקסלים מהמתוכנן, ולכן המדידה הייתה נכונה והדיווח היה נכון. המסקנה שקורא הדיווח היה מסיק לא הייתה נכונה. המספר אמר שהגאומטריה צפופה מדי. האמת הייתה שהטקסט אינו מה שנראה שהוא.
זה הדפוס. בדיקה עונה על השאלה שניתנה לה, והיא אינה יכולה לדווח שהשאלה הייתה הלא נכונה. דבר לא נמדד לא נכון כאן; המדידה פשוט עסקה בבעיה שונה מזאת שנראתה לעין.
מה מצא זאת
ציור תרשים אחד והסתכלות בו. Chromium ללא ממשק גרפי, צילום מסך אחד, עשר שניות. הישות הייתה בשורה השלישית של התמונה באותיות באותו גודל כמו כל היתר.
התיקון היה סקריפט העברה שהחליף & בביטוי & עבור רשימה קבועה של שמות ישויות, ורק בתוך בלוקים מסוג <svg class="dg"> בקוד, כדי שתו אמפרסנד שנועד להיות אמפרסנד יישאר כזה. כל מה שמחוץ לרשימה הזאת דווח והושאר כפי שהוא במקום לנחש. כל 81 השורות תוקנו בכל שפה; המופעים היחידים שנותרו בבלוג הם אלה שמצוטטים ברשומה הזאת בכוונה.
מה חל באופן כללי
כל בדיקה אוטומטית בפרויקט הזה מודדת משהו מספרי, כי מספרים הם מה שתוכנית יכולה להשוות. אף אחת מהן אינה יכולה לראות שתמונה הפכה לחסרת פשר, שתיבה ריקה, או שמילה נכתבת במקום שבו אמור להיות סמל.
לכן הכלל שיצא מכך קצר: אחרי כל שינוי בתרשים, יש לצייר אחד ולהסתכל עליו בשפה שזקוקה להכי הרבה מקום. הוא תפס כעת שני דברים ששום מדידה לא יכלה לתפוס — את זה, ותיבה ריקה שנשארה אחרי שכיתוב הועבר ממנה החוצה.