ฟอนต์ Unicode กับฟอนต์จริง
ทำไม “ฟอนต์สวยๆ” ที่คุณคัดลอกไปวางถึงไม่ใช่ฟอนต์เลย และความต่างนี้มีความหมายอย่างไรในทางปฏิบัติ
ฟอนต์คือวิธีวาด ไม่ใช่ตัวอักขระ
ฟอนต์จริงคือไฟล์ที่บอกอุปกรณ์ของคุณว่าจะวาดอักขระอย่างไร ตัว A ก็ยังคงเป็นตัว A ไม่ว่าคุณจะจัดด้วย Helvetica หรือ Times New Roman สิ่งที่เปลี่ยนคือรูปร่างเท่านั้น เปลี่ยนฟอนต์เมื่อใด ตัว A ทุกตัวในหน้านั้นก็เปลี่ยนตามไปด้วย
สไตล์บนเว็บไซต์นี้ทำงานตรงกันข้าม มันไม่ได้เปลี่ยนวิธีวาดอักขระ แต่สลับอักขระนั้นเป็นอักขระอีกตัวที่ต่างกันโดยสิ้นเชิงซึ่งบังเอิญดูเหมือนตัว A แบบมีสไตล์ ตัว “𝐀” หนานั้นไม่ใช่ตัว A ในฟอนต์หนา แต่คือ U+1D400, MATHEMATICAL BOLD CAPITAL A — อักขระของมันเองที่มีจุดรหัสของมันเอง
ทำไมความต่างนี้จึงสำคัญ
เพราะสิ่งเหล่านี้เป็นอักขระ ไม่ใช่การจัดรูปแบบ มันจึงรอดจากการคัดลอกและวาง ช่องประวัติย่อของ Instagram ไม่มีปุ่มตัวหนา แต่มันรับข้อความ การวาง U+1D400 จึงใช้ได้ในที่ซึ่งการจัดรูปแบบจะถูกตัดทิ้ง
คุณสมบัติเดียวกันนี้เองที่ก่อปัญหา ข้อความถูกเปลี่ยนไปอย่างถาวร ไม่ใช่ถูกจัดสไตล์ มันจึงพ่วงผลกระทบที่การจัดรูปแบบไม่มีวันมี
- การค้นหาไม่พบมัน ค้นชื่อคุณก็จะไม่เจอ 𝓎𝑜𝓊𝓇 𝓃𝒶𝓂𝑒
- โปรแกรมอ่านหน้าจออาจอ่านทีละอักขระ ข้ามไปเลย หรืออ่านชื่อ Unicode อย่างเป็นทางการของอักขระแต่ละตัว
- อุปกรณ์ที่ไม่มีอักขระเหล่านั้นจะแสดงกล่องสี่เหลี่ยมว่างเปล่า
- บางแพลตฟอร์มปฏิเสธหรือลบอักขระเหล่านี้ทิ้งไปตรงๆ โดยเฉพาะในชื่อผู้ใช้
อักขระเหล่านี้มาจากไหน
ส่วนใหญ่ถูกเพิ่มเข้ามาใน Unicode เพื่อคณิตศาสตร์ นักคณิตศาสตร์ต้องแยกเวกเตอร์ตัวหนาออกจากสเกลาร์ตัวเอียง เพราะในคณิตศาสตร์ รูปแบบตัวอักษรเป็นตัวสื่อความหมาย Unicode จึงเข้ารหัสความแตกต่างเหล่านั้นเป็นอักขระแยกต่างหากในบล็อกสัญลักษณ์ตัวเลขตัวอักษรทางคณิตศาสตร์
การนำมาใช้ตกแต่งคือการดัดแปลงวัตถุประสงค์ที่ Unicode ไม่เคยตั้งใจ และนั่นคือเหตุผลที่การรองรับไม่สม่ำเสมอ และเป็นเหตุผลที่เครื่องมือช่วยการเข้าถึงจัดการกับมันได้แย่มาก