輸入法的使用教程

最近很多人來問我輸入法應該怎麼用,所以我打算寫個教程,回答大家的疑問。

如果你使用的是獨立安裝版的西夏文輸入法,請直接安裝。安裝前請安裝Mojikyo Tangut字體,以便正常顯示西夏文。如果候選字列表無法顯示西夏文的,請到開始菜單的“西夏文輸入法N4694”的“設置”裏進行字體設置,把字體改成“Mojikyo Tangut”就可以正常顯示了。

Capture如果你使用的是跨平臺版的西夏文、契丹文、女真文輸入法,請先下載並安裝中州韻輸入法(RIME)。因為跨平臺的輸入法是根據RIME製作的。Windows 系統請下載小狼毫輸入法,Mac OS X請下載鼠鬚管輸入法,然後進行安裝。安裝RIME完成之後請參考下面步驟。

安裝說明

Windows 系統

安裝完成之後,點擊:開始->小狼毫輸入法->【小狼毫】用戶文件夾,打開文件夾之後,將後綴是yaml的文件(對於西夏文輸入法而言是“tangut_n4694.schema.yaml”和“tangut_n4694.dict.yaml”兩個文件,其他輸入法請找到相應的yaml文件)複製到文件夾內。然後點擊:開始->小狼毫輸入法->【小狼毫】重新部署,之後就可以使用輸入法了。

Mac OS X 系統

安裝完成之後,將輸入法調成鼠鬚管輸入法,然後點擊【設置/ Settings…】(如下圖所示),打開文件夾之後,將後綴是yaml的文件(對於西夏文輸入法而言是“tangut_n4694.schema.yaml”和“tangut_n4694.dict.yaml”兩個文件,其他輸入法請找到相應的yaml文件)複製到文件夾內。最後點擊【部署/ Deploy】(下圖位於 Setting 上方的選項)。

Screen Shot 2016-07-11 at 9.06.55 PM使用說明

西夏文輸入法

打字的時候按Ctrl+~調出輸入法菜單(“~”鍵在Tab鍵的上方),在輸入法菜單中選擇“西夏文”(可按對應的數字鍵選擇或用方向鍵選擇然後按回車)。如果沒有看到選項“西夏文”,請按“=”鍵(退格鍵的左邊)翻到下一頁。Screen Shot 2016-07-11 at 8.04.07 PM本輸入法支持輸入四角號碼和《夏漢字典》序號輸入,序號以2008版《夏漢字典》和《簡明夏漢字典》為準(個別序號和1997版《夏漢字典》不同)。序號小於1000的請不要在序號之前加零,例如:序號為0025的只需要輸25就可以了。排在候選字列表的第一個永遠是序號對應的字,之後的才可能是四角號碼對應的字。選擇字時請用英文字母a、b、 c、d、e選擇。

Screen Shot 2016-07-11 at 8.14.53 PM如果打出字後看見的是一個方框而不是西夏文,請選中那一行字並修改字體為西夏文字體”Mojikyo Tangut”。

Screen Shot 2016-07-11 at 8.16.07 PM

A little trick:對於需要混合輸入西夏文和漢字的,可以在輸入完成之後全選所有的字,首先把字體設成西夏文字體,然後再全選,把字體設成漢字的字體(一般是宋體)。這樣西夏文和漢字都能正確顯示。

本教程默認採用“Mojikyo Tangut”為西夏文字體,當然如果你有其他更好看的unicode映射的西夏文字體,也可以使用。

契丹文和女真文輸入法

使用輸入法前請確保“CCAMC Khitan & Jurchen Std”已經安裝。打字的時候按Ctrl+~調出輸入法菜單(“~”鍵在Tab鍵的上方),在輸入法菜單中選擇“契丹大字”、“契丹小字”或者“女真文”(可按對應的數字鍵選擇或用方向鍵選擇然後按回車)。如果沒有看到選項,請按“=”鍵(退格鍵的左邊)翻到下一頁。本契丹文和女真文輸入法是根據倉頡碼設計的。如果你不會倉頡輸入法,可以考慮用筆畫輸入,筆畫請用拼音首字母表示。輸入筆畫時,請在筆畫前加上“Z”。輸入的筆畫最多5畫,即前四筆和最後一筆。輸入的筆畫可以是:

  • 橫用“H”表示
  • 豎用“S”表示
  • 豎鉤用“G”表示
  • 撇用“P”表示
  • 捺用“N”表示
  • 點用“D”表示
  • 折用“Z”表示(有轉折的筆畫皆為折)

例如筆順為“橫豎撇捺點折”的字可以輸入:“ZHSPNZ”,即:Z+前四筆+最後一筆。如果你會倉頡輸入法,則可以採用倉頡碼快速輸入契丹大字、契丹小字和女真文。由於目前還沒有非常完善的契丹文、女真文字體,所以關於契丹文和女真文的筆順還以我做的字體為準。對於筆順不清楚的請用本網站提供的契丹大字筆順查字法、契丹小字筆順查字法、女真文筆順查字法查詢。如果筆順不明確但知道總筆畫數的請用總筆畫數查字法查找。

本輸入法的倉頡碼是我擬定的,可能會有些問題,若有關於倉頡碼的問題或建議,希望你能與我取得聯繫,我們可以共同討論。

Screen Shot 2016-07-11 at 8.28.25 PM輸入完卻看不到契丹文或女真文的請將字體設成“CCAMC Khitan & Jurchen Std”。

西夏文輸入法的設計(一):困難之處

一直都很想做一個西夏文輸入法,因爲網上找不到一個能用的西夏文輸入法。以前看到一個叫“中華西夏文處理系統”的輸入法,據說是根據鄭碼設計的,可惜部提供下載。我最討厭這種部提供下載的東西,所以只能自己設計一個西夏文輸入法。

首先遇到的第一個問題是編碼設計。我們有五筆輸入法、倉頡輸入法、鄭碼輸入法等漢字輸入法。這些輸入法的取碼方法都不同、重碼率也各有高低。比如倉頡的重碼率就比五筆低,這根編碼的取碼的方法有關。所以怎樣取碼西夏文就顯得格外關鍵。

根據維基百科所述:

“由於本以漢字檢索為目的,倉頡取碼依據視覺辨識原理,能反映漢字的細微特徵,幾乎所有不同字形或異體字,都有不同的編碼,因此重碼率為當今中文輸入法最低者……”

注意,這裏提到倉頡輸入法”能反映漢字的細微特徵”,這點格外關鍵,因爲西夏文筆畫繁雜,有些時候差一筆字就不同,所以怎樣反映“西夏文的細微特徵”則成爲西夏文輸入法編碼設計的關鍵所在。我曾經想根據倉頡輸入法的編碼給西夏文取碼,可是才取碼100個字就發現重碼率很高,不難想象這麼設計後6000多個的西夏字的重碼率會有多高。所以倉頡編碼行不通。《夏漢字典》是根據四角號碼進行檢字的,如果根據四角號碼來設計西夏文輸入法重碼率也不低,所以也行不通。

第二個問題是西夏文的正字還沒有確定,也就是說我們不知道每個西夏字的準確寫法是什麼。最新版《簡明夏漢字典》和老版《夏漢字典》在字形上就有很多不同,對照《同音》後我就更迷惑了。而《同音》的不同版本對於同一個字也有不同寫法。比如有些字在《同音》的某個寫本中有“橫折撇”這一個筆畫,在其他寫本中則編成了一橫和一撇兩個分開的筆畫。所以我猜測在設計西夏文輸入法時“橫折撇”和一橫加一撇必須用同一個編碼。如果每個西夏字的準確寫法沒確定,西夏文輸入法則很難設計。

第三個問題是西夏文還沒被unicode收入,目前能用的西夏文字體不多。本網站採用的西夏文字體是基於今昔文字鏡的西夏文字體修改而來的。而今昔文字鏡收入的的6000多個西夏字則分佈在兩個字體文件裏。我一直不明白爲什麼非得要兩個文件才夠,一個就不夠嗎?希望unicode早日收入西夏文,不然西夏文映射到漢字的分區上也不是個解決辦法。

目前我的想法是對6000多個西夏字進行拆分分析,整理出常見的偏旁、部件、結構,然後對每個結構取碼。這個計劃的工程量巨大,不過好在已有前輩做過此類的工作,我就直接採用他們的分析結果,希望能對西夏文輸入法的取碼設計有所幫助!