เรื่องของ Unicode

วันนี้เอาเรื่องของ Unicode ที่ใช้ใน Font ประเภท Opentype มาฝากก็แล้วกัน
เรื่องของเรื่องคือว่า Unicode เป็นรหัสที่ใช้กำกับทุกอักขระในโลกใบนี้ พูดให้เข้าใจอีกที ก็คือ ตัวอักษรของภาษาที่ใช้กันอยู่ในโลก มีรหัส Unicode ไม่ซ้ำกัน แหละนั่นหมายถึงว่า เวปเพจที่ถูก Encode ด้วย UTF-8 จะสามารถรองรับและแสดงผลตัวอักษรนั้นๆ ที่ใดในโลกก็ว่าได้ มาตรฐานด้านอักษรนี้ได้บการรับรอง ISO มาเรียบร้อย จึงไม่แปลกที่ ข้อความที่เป็น Opentype สามารถเปิดและอ่านได้ทั้งเครื่อง PC เครื่อง Mac รวมไปถึง Linux รุ่นใหม่ๆ ดูข้อมูลเพิ่มได้ที่ http://www.unicode.org

การบ้าพลังของกลุ่ม F0nt.com (http://www.f0nt.com)
ต้องขอชื่นชมกลุ่มชุมชนนี้จริงๆ ที่ขยันขมักเขม้นผลิต Font มาตรฐานสูงออกมาใช้ประเทศไทยได้ใช้กัน (ผมยังขี้เกียจทำเลย กว่าจะเป็นฟอนต์ออกมาได้สักตัว) และอีกอย่าง มันเป็นความภูมิใจมากๆ ถ้าหาก Font ที่สร้างขึ้นปรากฏบนหน้าจอทีวีบ้าง โปสเตอร์เบรนด์ดังๆบ้าง…โหยยย อลังการแก่วงศ์ตระกูลเชียว.. และของฝากจากกลุ่ม F0nt.com มักจะพากันฝัง ไข่อิสเตอร์กันไว้ ประมาณว่า หากเอาอักษรมาเขียนซ้อนกันมารูปแบบของอักษรที่ซ่อนไว้ ไข่อีสเตอร์มันจะแตกออกมา คิ คิ บางตัวก็เป็นรูปหน้าคนสร้างฟอนต์บ้าง รูปการ์ตูนบ้าง คิ คิ หนุกดี มีอารมณ์ขันกานนนนน

อ่อๆ ค้าพากันเขียนยังไงล่ะ เจ้า Opentype Tag

อันนี้เอามาจากฟอนต์ arial นะคับ

feature liga { # Standard Ligatures
 script arab; # Arabic
lookup liga6 {
lookupflag IgnoreMarks, RightToLeft;
    sub afii62817 afii62818 afii62828 by afii64184;
    sub afii62817 afii62818 uni06C1 by afii64184;
    sub afii62817 afii62753 by afii62834;
    sub afii62817 afii62754 by afii62836;
    sub afii62817 afii62756 by afii62838;
    sub afii62817 afii62760 by afii62840;
    sub afii62817 glyph1343 by glyph1656;
    sub afii62817 glyph1345 by glyph1658;
    sub afii62817 glyph47 by glyph1660;
    sub afii62817 uniFB51 by glyph1672;
    sub afii62818 afii62753 by afii62835;
    sub afii62818 afii62754 by afii62837;
    sub afii62818 afii62756 by afii62839;
    sub afii62818 afii62760 by afii62841;
    sub afii62818 glyph1343 by glyph1657;
    sub afii62818 glyph1345 by glyph1659;
    sub afii62818 glyph47 by glyph1661;
    sub afii62818 uniFB51 by glyph1673;
    sub glyph1533 afii62760 by glyph1662;
    sub glyph1534 afii62760 by glyph1663;
    sub glyph1537 afii62760 by glyph1664;
    sub glyph1538 afii62760 by glyph1665;
    sub glyph1541 afii62760 by glyph1666;
    sub glyph1542 afii62760 by glyph1667;
    sub glyph1545 afii62760 by glyph1668;
    sub glyph1546 afii62760 by glyph1669;
} liga6;
lookup liga7 {
lookupflag IgnoreBaseGlyphs, IgnoreLigatures, RightToLeft;
    sub afii57457 afii57451 by afii62881;
    sub afii57457 afii57452 by afii62882;
    sub afii57457 afii57453 by afii62883;
    sub afii57457 afii57454 by afii62884;
    sub afii57457 afii57455 by afii62885;
    sub afii57457 afii57456 by afii62886;
} liga7;
 language MAR ; # Marathi
} liga;

อ่า… งง ละซิ คิ คิ อย่างงเลย ถ้าอยากจะรู้ว่า ไอ้รหัสพวกนี้ ทำไมมันทำงานได้ ไปอ่านเอาที่บทความของ f0nt.com นะจ๊ะ
ผมขี้เกียจบรรยาย เรื่องมันยาววว อยู่กับเบื้องหลังฟอนต์ แล้วมันปวดกะบาลลลล

 
Advertisements

ใส่ความเห็น

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / เปลี่ยนแปลง )

Twitter picture

You are commenting using your Twitter account. Log Out / เปลี่ยนแปลง )

Facebook photo

You are commenting using your Facebook account. Log Out / เปลี่ยนแปลง )

Google+ photo

You are commenting using your Google+ account. Log Out / เปลี่ยนแปลง )

Connecting to %s

%d bloggers like this: