[教學] 如何使用 Windows 正版嘸蝦米製作超強版嘸蝦米 CIN 檔 (用於 GCIN 、OpenVanilla 或 Yahoo! 輸入法)
看到這篇的標題,一定要先來個 Q&A:
問:嘸蝦米都有官方版的 Mac Version 也有官方版的 gcin/scim 表格,這篇是在教啥?
答:
官方版完全與 Windows 版相同,包括「選字框內同時只能出現一種 Variant 的漢字」這件事,如下圖 (以下是嘸蝦米 for Mac X1 版的抓圖):
如果你想做到下圖這件事,那這篇文章就是你要的:
當然前提是,這幾個字的嘸蝦米字根要一樣。
問:何謂「超強」?
答:嘸蝦米標準版漢字 + Unicode Ext-A/Ext-B 擴展區漢字 (一部份)
問:這是盜版嗎?
答:我不知道,但你不能跟我要表格檔。你要有嘸蝦米 Windows 標準版才能這樣搞。
問:還有什麼要注意的?
答:
在同一個選字框裡出現所有漢字寫法的候選字,這在某方面是優點,也是缺點。
基本上除了繁體中文之外,它的選字模式是不符合嘸蝦米正常使用規則的;全部都塞在一起怎麼會跟分開來放一樣?
建議初學者不要用。
另外,本文生產出的 CIN 檔,並無法輸入所有存在 liu.box 裡的 Unicode CJK Extension 漢字。具體原因我不清楚。
—
如果以上都沒問題的話,那正式來咯。
你需要的東西:
嘸蝦米輸入法標準版 for Microsoft Windows
請向行易有限公司購買。
一個 Unix-like 的環境
不管是 Mac OS X 、FreeBSD、Linux 、還是你要在 Windows 裡弄一個 cygwin 都行。
所以你還要有基本的 Unix-like 命令列指令操作概念。
不過,既然你都找到這篇文章,我假設你已經有這些基本概念了。
最後你必須要有支援 Unicode Ext-A/Ext-B 漢字的字型
不然你加了那些擴充區的漢字,打得出來看不到有什麼用 = =
不過基本上 Ext-A 在大部份的 Unicode 字型都有了,問題大多出在 Ext-B
你有以下這些管道可以取得:
- 自 Windows Vista 或 Windows 7 取得新版的新細明體 ExtB,但這是不合法的。
- 在 Windows XP 安裝新細明體更新套件 (官方載點不見了,有低調宅點) ,然後複製到你的作業系統。當然這也是不合法的。
- 下載自由授權的 HAN NOM 漢字字型。請選擇 hannomH.zip,它可以直接安裝在 Mac OS X (字體簿) 或 Xwindow。號稱收集了 Ext-A 和 Ext-B 的字型,雖然看起來有點怪,但將就點用也不是不行。細節請看這裡。
—
操作方式
基本上,是從這篇 GCIN 官方網站上的說明延伸而來的。我的需求是在 Yahoo! 奇摩輸入法安裝超強嘸蝦米表格檔,而不是在 Linux 的 GCIN 使用;不過,產生出來的東西拿到 GCIN 也能用就是了。
首先你要取得 Windows 版的表格檔
很簡單,如果你已經在 Windows 安裝了嘸蝦米,它就在 C:\Windows\System32\ 裡面的以下四個檔案:
問:如果我沒有 Windows 呢?
答:那表示您高人一等,請直接閱讀上述這篇 GCIN 官方網站上的說明,以 WINE 的方式模擬安裝嘸蝦米。反正搞到這四個檔案就行了。
拿到哪裡呢?
請一併複製到同一個資料夾,並下載 GCIN 同好會提供的 uni2txt.exe ,也放到同一個資料夾,像這樣:
然後開啟命令提示字元,cd 到你所放的資料夾,接著連續執行以下四則指令:
uni2txt.exe liu-uni.tab liu-uni.txt
uni2txt.exe liu-uni2.tab liu-uni2.txt
uni2txt.exe liu-uni3.tab liu-uni3.txt
uni2txt.exe liu-uni4.tab liu-uni4.txt
如下圖:
接著你應該會多得到四個檔案:
這裡我們需要做一點額外的工作,這是 GCIN 同好會網站上該篇原文所未提及的。
不知道是不是 7.0 的格式有變,總之這樣轉出來的 txt 檔案,前面會有一大段是垃圾內容,特色是前面都多了一個空格,例如這樣:
把這些部份刪掉,空行也要刪掉。像這樣:
liu-uni.txt, liu-uni2.txt, liu-uni3.txt 各有 1 行錯誤。而 liu-uni4.txt 則有很多行錯誤,捲軸往下拉,找到 a 対 *+ 這一行 (會有很明顯的「斷層」,有錯誤的行前面會多一個空格):
把空格開頭的行統統刪掉,像這樣:
就可以了,記得存檔。
問:如果我沒有 Windows 呢?
答:那表示您高人一等,請直接閱讀上述這篇 GCIN 官方網站上的說明,以 WINE 的方式模擬執行這支程式。反正搞出這四個檔案就行了。
—
接下來要轉成 CIN 囉
把這四個檔案移動 (複製-貼上) 到你的 Unix-like 環境裡。以下以 Mac OS X 為範例:
先下載以下五個檔案,與 liu-uni*.txt 放在同一個目錄:
uni2txt.shliu-uni.tab的vrsf選字liu-uni2.tab的vrsf選字liu-uni3.tab的vrsf選字liu-uni4.tab的vrsf選字
但先別急著執行,要修改一下。使用文字編輯器開啟 uni2txt.sh ,然後把下面這四行註解掉 (在行首加 #) (內行的應該知道這四行在幹嘛)
# wine ./uni2txt.exe liu-uni.tab liu-uni.txt
# wine ./uni2txt.exe liu-uni2.tab liu-uni2.txt
# wine ./uni2txt.exe liu-uni3.tab liu-uni3.txt
# wine ./uni2txt.exe liu-uni4.tab liu-uni4.txt
接著當然是執行啊!
sh uni2txt.sh
可能會出現以下四行錯誤,但是不用理它
uni2txt.sh: line 18: gcin2tab: command not found
uni2txt.sh: line 29: gcin2tab: command not found
uni2txt.sh: line 40: gcin2tab: command not found
uni2txt.sh: line 51: gcin2tab: command not found
你會看到多了 8 個檔案:
把 Ext-A/Ext-B 的漢字加進來
嘸蝦米 7.0 標準版好像也不能輸入 Ext-A 和 Ext-B (其實我沒有全部試過),所以要做以下的補完。
請到這裡下載 Extension A/B 加字加詞檔的 liu.box 檔案,也放到同一個資料夾裡面。然後以文字編輯器開啟:
刪掉最前面的檔頭,並把分號 ; 取代為空的字串,讓它看起來長得像這樣:
然後利用你的文字編輯器的功能,儲存成 編碼為 UTF-8、而且換行是 Unix (LF) 的檔案 (重要!!) (下圖是 TextWrangler 的 Save As 對話方塊中,按下 Options 會出現的對話方塊,可以直接指定輸出的換行格式和編碼)
以下假設你把新的檔案儲存成 liu-utf8.box 這個檔案。
問:我開起來亂碼
答:社群版的 liu.box 編碼是 UTF-16 Little-Endian,自己想辦法吧 ^.< (Windows 記事本可以開)。Mac OS X 直接用 TextWrangler 就可以正確辯識了。
最後重頭戲來啦! 合成超強表格檔!!
我們可以從 GCIN 同好會提供的嘸蝦米字根表+補破網教學,悟出如何合成出完整嘸蝦米 + Unicode Ext-A/Ext-B 的 CIN 表格檔的咒語,如下:
cat noseeing.cin liu-uni2.unix liu-uni3.unix liu-uni4.unix liu-utf8.box | perl -nle '(print,$hash{$_}=1) unless defined $hash{$_}' > boshiamy-hyper.cin
是的,這樣你就得到 boshiamy-hyper.cin 這個檔案了。
—
生完了超強版 CIN 檔,怎麼裝?
Linux 我不知道,我現在用的 Mac OS X 只有裝 Yahoo! 奇摩輸入法和嘸蝦米 for Mac X1 (試用版,正式版我買了還沒寄到 XD),所以以下是 Yahoo! 奇摩輸入法的安裝方法;其他的輸入法框架應該也有類似的方法可以安裝:
首先,把 boshiamy-hyper.cin 複製到 ~/Library/Application Support/Yahoo! KeyKey/DataTables/Generic
然後,登出 Mac OS X,再登入。
接著你可以在 Yahoo! 奇摩輸入法的偏好設定裡看到「liu」這個選項:
先打勾起來。然後在 Generic 分頁設定如下,比較接近在 Windows 使用嘸蝦米的習慣:
這樣就完成了。
—
問:有些 Unicode CJK Extension 的漢字我打不出來
答:我也打不出來,明明在字根表裡面卻打不出來 = =




















用下面這個比較快~
http://cle.linux.org.tw/trac/wiki/GcinExtractBoshiamy
guest
2009 年 一月 12 日 星期一 at 02:53:58
@guest:
有 Linux 且安裝 scim 的話用這招就行啦~
不過我沒有 Linux ,這樣對我來說比較麻煩~
Chitsaou Yorkxin
2009 年 一月 12 日 星期一 at 03:01:58
Thanks a lot for this precious information! Just what I need! A perfect Boshiamy for SCIM too!
RobertoMS
2009 年 一月 20 日 星期二 at 00:20:17
這篇教學真的太讚了啦!我也成功在 mac os 下造出了超強版表格!
哈哈哈~ 謝謝您的心得分享! ^_^
jasonwu
2009 年 二月 12 日 星期四 at 01:16:34
寫的很好,如果要深入了解 liu-???.tab 檔的格式的話,可以經由反組譯 uni2txt.exe 了解,7.0 版嘸蝦米tab檔的格式確有一點改變,不過上面的文章已經點出來了,目前無礙。
雖然加入Ext-A/Ext-B,不過這些大多是罕用字,通常較不易用到。
其實以上的還原並不等於原來的嘸蝦米,真正有幫助的是最後必須在 .cin 檔加入 v 字鍵的字碼,才能在linux 或 mac模擬出winodws版選取次常用字的功能。(這必須寫程式來插入)
aloha
2009 年 三月 1 日 星期日 at 11:32:16
修改 uni2txt.exe (我的版本大小為 61440 bytes)
使用 ultraedit 等 hex editor
尋找 83 7D D8 04
改為 83 7D D8 20 (只改一個 byte)
就可以使 uni2txt.exe 在嘸蝦米7.0 不會出現轉檔的一堆垃圾了
aloha
2009 年 三月 1 日 星期日 at 12:20:28