頂幾工仔,用“Microsoft Keyboard Layout Creator (MSKLC/微軟鍵盤輸入法生成工具)”來咧編寫POJ佮國際音標輸入法的時,chiah發現著一个問題。講“發現”,不如講是“到taⁿ chiah知影”。
“MSKLC”應該算是bōe歹用的輸入法生成工具,操作簡單,准講是像我即款完全毋捌英文的儂(我是正港“鸚哥二四”的青盲牛!!),嘛共款chhit -thô kah有來有去。我定咧講,萬物(mi̍h)有一好著無兩好;有時仔,明明是優點,不而過,若用佇無共的時陣,抑是無共的所在,優點嘛會變成欠點。 MSKLC正正著是安呢。 假使一个Unicode編碼代表一个字元(字符),安呢來講,在我的了解,“MSKLC”一擺的操作kan-na有法度輸出一个Unicode編碼,也著是講伊無法度輸出”組合字符”(兩个或者兩个以上的Unicode編碼組合做夥)。所以,hit陣我咧編寫輸入法的時,即个“無法度”的代誌,一時成做一項真歹剃頭的問題。
“m̍, a̍, m̄, n̄, n̍, m̂, n̂, m̋……”親像即款的符號,其實Unicode內底已經有in 的編碼,比論講“a”的編碼是“U+e001”、“m̋”的編碼是“U+e087” 。所以,做輸入法的時,只beh將“U+e001”設計入去,尾仔輸出的結果一定是“a̍”,並且百分百bōe走閃。照安呢講,代誌的確是真簡單,只 beh chhē出白話字內底帶調符的字元(像“m̍, a̍, m̄, n̄, n̍, m̂, n̂, m̋……”)的Unicode編碼,了後,將即寡編碼全部錄入去“MSKLC”,安呢著會使得。事實上,即款做法(暫時叫做“方法1”)應該是上利便的、嘛是上科學的方法。不而過,目前來看,按“方法1”做的輸入法,佇實際運用的時,hōan勢會產生真大的副作用,比論講出亂碼。在我了解,現階段beh 解決即个亂碼的問題,無除非是叫用戶另外安裝特定的字型。
這是因為現此時,大多數的字型(字體)並無完全支援Unicode,猶佫無法度正常顯示“m̍, a̍, m̄, n̄, n̍, m̂, n̂, m̋……”即款的特殊字元,所以,亂碼出現的機會嘛加真大。
因為“大多數的字型tòe bē著Unicode”,害儂加真困擾。為著beh防止出現亂碼,孤不而將,只好“近路毋行,行山坪”,放棄“方法1”。
“方法2”的做法,著是利用“字元組合”的概念。比論講,“ m̋ ”會當看做是由“m” 佮 “ ˇ ”兩个單獨的字元組合做夥;“ô·”會當看做是由“o”、“ ^ ”、“ · ”三个單獨的字元組合做夥。安呢做的優點是:
(1)拆散了後,chiah-ê單獨的字元,大多數的字型(字體)攏有支持,bōe出亂碼;
(2)所有的字元會當自由、靈活進行組合;
(3)毋免安特殊字型(對Windows XP用戶來講)。當然伊的欠點是,拍字的時陣,會較厚工。
Tagged: 輸入法
發佈留言