บทความ

กำลังแสดงโพสต์จาก กรกฎาคม, 2007

Thai Line Breaking using Uniscribe

เห็นจากข่าว Mozilla Pango-Break (Really) ก็ต้องขอแสดงความยินดีด้วยครับ ที่บักอันยาวนานนี้จะได้รับการแก้ไขสักที แต่ก็ยังเหลือบน Windows และ MAC ซึ่งพี่เทพว่าไว้ ว่า implement ฟังก์ชัน NS_GetComplexLineBreaks() แค่ฟังก์ชันเดียวเท่านั้น (ฟังดูเหมือนง่าย...) ซึ่งนั่งดูหน้าตาี้พารามิเตอร์ก็ช่างคล้ายกับ API ScriptBreak ของ Uniscribe แฮะ. ว่าแล้วก็เข้าไปนั่งอ่าน API พบว่ามึนตึ๊บ ตัวอย่างอะไรก็ไม่มีเลย ช่างเป็นเอกสารสำหรับ expert อย่างแท้จริง. จริงๆ แล้ว พี่ฮุ้ย เคยเขียนโปรแกรมทดสอบตัดคำไทยด้วย Uniscribe เทียบกับตัวตัดคำใน Microsoft Office นานมาแล้ว แต่สอบถามดูปรากฎว่า โค้ดหายไปแล้ว ไปกับฮาร์ดดิสค์ที่พัง . ไม่เคยเขียน C++ บน Windows กะเขา แต่อยากลองดูสนุกๆ ก็เลยนั่งอ่าน API และมั่วๆ ออกมา ได้ผลดังนี้ // HelloWorld.cpp : Defines the entry point for the console application. // #include "stdafx.h" #include <iostream> #include <string> #include "Usp10.h" using namespace std; void GetUniscribeLineBreaks ( const WCHAR* aText, int aLength, bool