ภาพเพื่ออธิบาย Harfbuzz

30 views
Skip to first unread message

Vee Satayamas

unread,
Aug 18, 2016, 5:11:15 AM8/18/16
to thai-linux...@googlegroups.com
สวัสดีครับ

ผมพยายามจะเขียนอธิบายพวก Harfbuzz ลองวาดภาพนี้ขี้นมาซึ่งอาจจะผิด
จึงขอความกรุณาให้ช่วย review ด้วยครับ

วีร์
harfbuzz_moz.svg.png

Theppitak Karoonboonyanan

unread,
Aug 19, 2016, 6:23:43 AM8/19/16
to thai-linux...@googlegroups.com
2016-08-18 16:11 GMT+07:00 Vee Satayamas <vsata...@gmail.com>:

> ผมพยายามจะเขียนอธิบายพวก Harfbuzz ลองวาดภาพนี้ขี้นมาซึ่งอาจจะผิด
> จึงขอความกรุณาให้ช่วย review ด้วยครับ

ประเด็นที่อาจช่วยทำความเข้าใจ Harfbuzz นะครับ

* HarfBuzz อยู่ตรงไหนในระบบ
- HarfBuzz ทำเรื่อง shaping ข้อความโดย input คือ Unicode text
และฟอนต์; output คือ glyph ที่จัดเรียงตำแหน่งเรียบร้อยแล้ว
- HarfBuzz ไม่ได้ทำเรื่อง text layout (เช่น การแบ่งบรรทัด, bidi,
การ flow ข้อความใน text frame -> เป็นหน้าที่ของ Pango)
- HarfBuzz ไม่ได้ทำเรื่อง rasterization (เป็นหน้าที่ของ FreeType)

* กลไกใน HarfBuzz:
- clustering เพื่อกำหนดขอบเขตของการ apply GSUB
- text preprocessing ตามข้อกำหนดของภาษาต่าง ๆ
(เช่น normalization, reordering)
- apply GSUB จากฟอนต์เพื่อแปลงข้อความตามที่กำหนดในฟอนต์
- apply GPOS เพื่อปรับตำแหน่ง glyph ด้วย anchor

ตอนนี้นึกออกแค่นี้ครับ รายละเอียดคงมีเยอะกว่านี้

เทพ.
--
Theppitak Karoonboonyanan
http://linux.thai.net/~thep/

Vee Satayamas

unread,
Aug 19, 2016, 10:50:21 AM8/19/16
to thai-linux...@googlegroups.com
ขอบคุณมากครับ

วีร์
> --
> คุณได้รับข้อความนี้เนื่องจากคุณสมัครรับข้อมูลจากกลุ่ม "Thai Linux/FOSS developers" ของ Google Groups
> หากต้องการยกเลิกการสมัครรับข่าวสารและหยุดรับอีเมลจากกลุ่มนี้ โปรดส่งอีเมลไปที่ thai-linux-foss-...@googlegroups.com
> หากต้องการโพสต์ถึงกลุ่มนี้ ให้ส่งอีเมลไปที่ thai-linux...@googlegroups.com
> กรุณาเข้าสู่กลุ่มนี้ที่ https://groups.google.com/group/thai-linux-foss-devel
> หากต้องการดูตัวเลือกเพิ่มเติม กรุณาดูที่ https://groups.google.com/d/optout

Arthit Suriyawongkul

unread,
Aug 22, 2016, 3:09:06 AM8/22/16
to thai-linux...@googlegroups.com
โอ้ว
ขอบคุณทั้งสองท่าน
Reply all
Reply to author
Forward
0 new messages