2016年9月23日更新說明

本次更新加入其他西夏學家對於西夏字的解釋,如:聶歷山、克恰諾夫、龔煌城;提供Sofronov序號和韓小忙序號。

提供另一種西夏文部首檢字法:基於Unicode設定的西夏文部首的索引。這種部首和《夏漢字典》擬定的部首有部分區別,請大家注意。

由於服務器壓力過大,暫停提供影印版《漢語大字典》的全文瀏覽功能。請大家見諒。

古今文字集成2016年8月12日更新說明

本次更新內容如下:

  1. 應周同學的請求,加入佛典術語的查詢功能。目前僅收錄法鼓文理學院Glossaries for Buddhist Studies中的佛學術語表。未來可能加入更多佛學術語表。佛典術語支持查詢各類中文、梵文、巴利文、藏文、滿文和蒙古文的佛教術語。
  2. 新增西夏文Unicode索引。本索引顯示的西夏文根據西夏文的Unicode排序,映射在U+17000~U+187F1之間。若不能正確顯示西夏文,請先下載並安裝西夏文字體
  3. 新增部分未見於2008版《夏漢字典》的西夏文字和解釋。分別是來自1997版《夏漢字典》的#5995到#6000(共6個字)和西田龍雄的《西夏文字小字典》的21個字。

輸入法的使用教程

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

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

獨立安裝版的輸入法提供5種皮膚,可以在【使用皮膚】處選擇喜歡的皮膚,點擊“完成設置”即可。

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

安裝說明

Windows 系統

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

下一步點擊:開始->小狼毫輸入法->【小狼毫】輸入法設定,勾選需要的輸入法,最後點擊“中”,就可以使用輸入法了。

Mac OS X 系統

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

Screen Shot 2016-07-11 at 9.06.55 PM

請注意:RIME只適用於mac OS 10.10及以前的系統,10.11開始似乎不能成功部屬,具體原因不明。

使用說明

西夏文輸入法

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

如果打出字後看見的是一個方框而不是西夏文,請選中那一行字並修改字體為Unicode的西夏文字體。

Screen Shot 2016-07-11 at 8.16.07 PM

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

契丹文和女真文輸入法

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

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

例如筆順為“橫豎撇捺點折”的字可以輸入:“HSPDZ”,即:前四筆+最後一筆。如果你會倉頡輸入法,則可以採用倉頡碼快速輸入契丹大字、契丹小字和女真文。由於目前還沒有非常完善的契丹文、女真文字體,所以關於契丹文和女真文的筆順還以我做的字體為準。筆順的規則是:

  • 先橫後豎
  • 先撇後捺
  • 從上往下
  • 從左往右
  • 從外向內

對於筆順不清楚的請用本網站提供的契丹大字筆順查字法、契丹小字筆順查字法、女真文筆順查字法查詢。如果筆順不明確但知道總筆畫數的請用總筆畫數查字法查找。

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

契丹大字倉頡輸入法
契丹小字筆順輸入法

輸入完卻看不到契丹文或女真文的請將字體設成“CCAMC Khitan & Jurchen Std”或其他契丹文和女真文的字體。

《吉金所見錄》記載的西夏文錢幣

清代的《吉金所見錄》中記載有一枚西夏文錢幣,然而作者卻將此錢幣歸類為“西夏梵字錢”,可能是因為當時的人並不認識西夏文吧。

g0012122_0537來一張大圖看清每一個字的細節:Screen Shot 2016-06-28 at 9.30.45 PM

這應該是不認識西夏文的人把西夏文誤以為是漢字才寫成這個樣子的。根據我的辨認,這應該是西夏的“大安寶錢”。

上面的字按順時針方向是:𘜶𗵐𘏨𘔭dabq這是復原之後的圖。

 

N4694的2個錯字

《Additional repertoire Amendment 2 (FDAM2) to ISO/IEC 10646:2014 (4th edition) WG2 N4694》(以下簡稱N4694)規定的西夏文標準中存在2處錯誤。首先是N1966-018-083:

Screen Shot 2016-06-27 at 9.54.01 PM然而這個字在西田龍雄的《西夏文字小字典》中的寫法卻不一樣:

Screen Shot 2016-06-27 at 10.00.45 PM在《同音》(乙種本 49B21)中這個字寫作:

Screen Shot 2016-06-27 at 10.20.14 PM所以我建議將這個字改成Screen Shot 2016-06-27 at 10.16.08 PM第二個有問題的字是N1966-299-021,《N4694》寫作:Screen Shot 2016-06-27 at 10.29.19 PM這個字在西田龍雄的《西夏文字小字典》中的寫法是:Screen Shot 2016-06-27 at 10.33.10 PM在《同音》(甲種本 38B71)中這個字寫作:Screen Shot 2016-06-27 at 10.32.51 PM所以我建議將這個字改成Screen Shot 2016-06-27 at 10.36.45 PM然而這個字和L2008-5436的寫法一模一樣。#5436的解釋正是“鐮刀”。所以我只能說是西田龍雄寫錯了,這個錯字竟然沒有被人注意到而且被unicode收錄了,所以只得將錯就錯。

《N4658》的漏字錯字

《Additional repertoire Amendment 2.3 to ISO/IEC 10646:2014 (4th edition) WG2 N4658》(以下簡稱《N4658》)少收錄了個別西夏文,這裡簡單說明一下。

《簡明夏漢字典》的“補遺”部分有3個字《N4658》沒有收錄,分別是6075、6076、6077。這3個字也是僅見於《簡明夏漢字典》而不見於2008版《夏漢字典》的字。

Screen Shot 2016-01-21 at 1.59.04 PM
《簡明夏漢字典》補遺

這3個字分別是:

Screen Shot 2016-01-21 at 2.04.17 PM

根據《簡明夏漢字典》第409頁,3400有僅見於《同音》的異體字1個。

L2012-3400異體字
L2012-3400異體字
L2012-3400B
字形 《同音》甲種本 《同音》乙種本 《同音》丙種本 《同音》丁種本
Screen Shot 2016-01-21 at 2.05.56 PM 同音》甲種寫本 《同音》乙種寫本 《同音》丙種寫本 《同音》丁種寫本

還有一個問題就是L1997-6000,這個字在97版《夏漢字典》中是:

L1997-6000
1997版《夏漢字典》中的6000

在《簡明夏漢字典》中這個字的序號變成了3232。而在《N4658》中卻變成了

L1997-6000
《N4658》的L1997-6000

不知道這個字的出處是什麼。

—————————-分———————割———————線—————————-

我諮詢了一下魏安(Andrew West),他給我提供了最新版也是最終版的Unicode的西夏文方案《N4694》,由於這是最終的版本,在今年6月Unicode 9.0出來之前都不會再更改,所以缺的這4個字只能加入到未來的Unicode版本中。而上面這個L1997-6000(不是L2008-3232)則出現在1997版《夏漢字典》的《漢夏檢字索引》第1114頁。

Screen Shot 2016-01-21 at 9.40.54 PM

盤點常見的西夏文字體

目前能通過公開途徑找到的西夏文字體不多,有三種:景永時製作的”西夏字體“、柳常青製作的”西夏古籍字庫“、以及日本今昔文字鏡做的西夏文字體。這裡所說的西夏文字體指的是可以在電腦裡安裝使用的字體,即文件後綴是“ttf”的電腦字體。

分區

由於西夏文字沒有專有的分區(西夏文分區還在提案階段,預計到Unicode 9.0的時候才會推出)目前所有的西夏文字體都是把西夏文映射在漢字的分區中的。也就是說在使用的時候要設置字體為相應的西夏文字體,否則會以漢字的字符顯示。柳常青的”西夏古籍字庫“使用的字符映射和景永時的”西夏字體“的字符映射基本一致,只有少數字符有區別。而今昔文字鏡的西夏文字體把《夏漢字典》收錄的6000多個西夏文字分別放在了2個字體文件Mojikyo M202、Mojikyo M203中,M202收錄了序號是0001到5280的西夏文,5281開始到結束則是放在M203中,具體原因不明。而且奇怪的是今昔文字鏡的西夏文字體還居然收錄了不少契丹文。

美感

字體的美感是什麼?通俗地解釋,就是一個字體做得好不好看。受到文化、經歷、年齡等因素的影響,每個人對於”好看“的定義都不盡相同。這裡我把美感細分為幾方面來評價:結構、筆劃、特徵。

結構

判斷一個字體是否好看,結構是關鍵。字的結構就像人的骨架一樣重要。一個字體的結構主要是反映在筆劃的分佈,即筆劃的間距、長短、角度是否適宜。應該說三個字體的結構都不錯,可能景永時字體和今昔文字鏡的略勝一籌,柳常青字體的結構稍差一些,因為柳常青字體是把處理過的西夏文的筆劃直接套在景永時字體的結構上的。

筆劃

應該說今昔文字鏡的字體筆劃稍微生硬一點,主要是因為這是款中規中矩的字體,每個筆劃都是由模板做成,然後再拼湊,而且筆劃都是橫平豎直的,略顯古板,不那麼靈活。景永時的字體由於是採用漢字的字體拼湊而成的,所以比較有楷書漢字的感覺,略缺乏西夏文的感覺。不過每個筆劃都很工整,而且字內筆畫的粗細控制得很好,所以即便在字號比較小的情況下也能看得清楚每一個字的每一個筆劃。柳常青字體應該是直接數字化掃描的西夏文文獻而做成的,所以在放大來看的情況下筆劃比較接近西夏文的筆劃,但是字號小的情況看卻不好看。主要原因是每個字內筆劃的粗細、形態都不一致造成的,具體原因將在下文解釋。

特徵

雖然西夏文的筆劃和結構都是借鑑漢字而設計成的,但是西夏文還是有許多漢字所沒有的特徵,具體請參考這裡。應該說三種字體都沒能很好地反映出西夏文的特徵,今昔文字鏡的字體太過生硬,景永時的字體太過漢字化,柳常青的字體雖然筆劃比較像西夏文的筆劃,但結構是套景永時字體的結構,所以也沒能反映出西夏文的特徵。

質量

在使用字體的時候,可以給每個字符設置不同的字號,在字號特別大的情況下就能看出一個字的質量怎麼樣。矢量字體都是有算法生成的,所以不論字號放到多大,都可以很清晰地展示出所有細節,而且都不影響字形的美觀。從這點來看,今昔文字鏡的字體更勝一籌,其他兩種字體都不太好。因為今昔文字鏡的字體的筆劃更加圓滑,不論放到多大,都很好看。而景永時和柳常青的字體一旦字號設置大於200以上,就能看到每個筆劃上都有很多”疙瘩“。這是因為今昔文字鏡字體的每個筆劃的路徑(Path)都由貝塞爾曲線(Bezier spline)組成並控制,而另外兩種字體都是由點構成並控制,放大到一定程度後邊界上的每個點都能顯示出來。

錯字數量

今昔文字鏡字體有大量的錯誤,我在逐字校對《夏漢字典》後發現,錯字不少於500個,佔西夏文字總數的8.3%以上。這個錯誤率是相當高了。兩外兩個字體錯字沒那麼多。在正字法還沒確定下來的情況下,所謂的錯字只是在運筆方面和正確的寫法有所不同。

可識別性

這裡的可識別性指的是在字號非常小的情況下是否能識別出每一個字符。由於西夏文的筆劃特別多,有些字與字之間的卻別非常細微,所以在字號小的情況下很難識別。應該來說柳常青字體由於結構和筆劃的問題差稍微差了一些,另外兩種字體還算不錯。

柳常青字體的一些問題

這想專門講解柳常青字體的一些問題。這個字體的製作思路沒有問題,首先是掃描或翻拍文獻,然後進行一系列處理,比如調整亮度、對比度等等一系列參數,然後對圖像二值化得到處理過的文獻,這時圖片只有黑色和白色兩種顏色,已經不是彩色了。然後用軟件把每一個字切割下來並矢量化,放到專門做字體的軟件裡面去,最後再做一些微調,使得整個字體比較協調。但是為什麼結果不是很理想呢?這就和處理圖像的算法有關係。舉個例子,我把《大般若波羅密多經 卷二百九十四》截取一小部分,如下圖所示:

test 1
原圖

之後用Photoshop進行一系列處理,比如調整亮度、對比度等等。主要目的是去除背景,只剩下文字。之後圖片變成底下這個樣子:

test 2
Photoshop處理過的圖片

下一步用Illustrator的image trace功能進行圖片矢量化,就成了這樣:

test 3
Illustrator矢量化的結果(闕值為128)

在trace的時候需要設置一個參數,即闕值(threshold),比這個參數顏色更深的像素將被轉成黑色的,反之是白色,設置不同的數值將得到不同的結果。所以這個參數決定了矢量化的效果。上面這張圖的闕值是128,下面來看看闕值是64和192的結果。

test 4
Illustrator矢量化的結果(闕值為64)
test 5
Illustrator矢量化的結果(闕值為192)

很顯然,闕值越低得到的筆劃就越細,闕值越高得到的筆劃就越粗。我舉這個例子主要是為了說明在處理西夏文文獻的過程中合理地設置各種參數是取得良好結果的關鍵。否則提取出來的字就會和原文獻有很大的差別。我這裡使用的是相機翻拍的照片,若能直接掃描原文獻可以得到更高的分辨率,從而取得更好的結果。矢量化之後應該再做一些微調,因為直接矢量化之後的筆劃會有一些瑕疵,還需要一些修改。

1

 

再來,文獻的選擇也很關鍵,比如我用的這個例子來自《大般若波羅密多經 卷二百九十四》,這個寫本應該說筆劃流暢、很有韻律,可以看出書寫者的功底很好,而有些文獻的字寫得不太好看,這種情況下則不能採用。柳常青字體用的是什麼文獻我不太清楚,不過我覺得那些字寫得並不好看,而且筆劃處理的不好,所以看上去整體效果沒那麼好,只是這種字體製作的思路沒有問題,可以借鑑。

這裡提供西夏文字體的下載鏈接,鏈接來自網絡:

西夏文字處理系統(景永時)

今昔文字鏡的西夏文字體(下載“TTF_download ”下的M202、M203)

西夏文字的特徵

西夏文是在參考漢字並使用漢字的筆劃結構設計而成的文字。所以一般人乍一看感覺特別像漢字,但卻一個都看不懂。西夏文雖然借鑑了漢字的筆劃,但有自身的特點,我打算從幾個方面探討西夏文字的特徵。

筆劃特徵

西夏文借鑑了漢字的筆劃。點橫豎撇捺折等基本的漢字筆劃西夏文都有,但是這些筆劃的寫法卻和漢字的有所不同。以彎鉤類筆劃為例,西夏文字有兩種彎鉤類的筆劃:豎彎鉤和橫折彎鉤。與漢字不同的是這些彎鉤轉角明顯,很少有圓潤自然的轉彎。而且這些鉤都拉得特別長。例如:

(圖片來自《大般若波羅密多經 卷二百九十四》)
122315_0009_1.png 122215_1432_3.png 122215_1432_2.png image004

再如,西夏文右下角的豎在收筆的時候有向內收斂的趨勢,可能是為了更好地銜接下一個字。例如:

(圖片來自《大般若波羅密多經 卷二百九十四》)
image005 image006 image007

然而不同的書寫者對於豎收筆的處理都不一樣,有些時候收筆寫得特別重,例如:

(圖片來自《悲華经 卷第九》)
image008 image009 image010

字形特徵

位於西夏文字左下角的撇常常拉長向左延伸,同樣地,右下角的捺也常常拉長往右延伸,使得西夏文字具有橫向的延展性。例如:

(圖片來自《大般若波羅密多經 卷二百九十四》)
image011 image012 image013 image014

連筆現象

連筆就是把兩個或兩個以上的筆劃連在一起寫的現象。連筆現象在漢字書法中非常常見,因為連筆寫起來比較方便,這也是造成漢字從非常繁雜的篆書到隸書在演變成行書、草書的原因之一。同樣的,西夏文中也常見連筆。最常見的是把左下角的撇和反捺連在一起寫。舉一些例子:

(圖片來自《大般若波羅密多經 卷二百九十四》)
image015 image016
(圖片來自《悲華经 卷第九》)
image017 image018 image019

這種把撇和反捺連成一筆的寫法應該只是為了方便寫字,並不能代表這是西夏文的準確寫法。比如《悲華经》的這個字

image017 image020 image021 image022 image023
《悲华经 卷第九》 《同音》(甲種本) 《同音》(乙種本) 《同音》(丁種本) 《文海》

這個字在《悲華經》裡的寫法是左下角使用連筆,而在《同音》幾個寫本和《文海》中的寫法則是在左上角橫的底下使用連筆,而左下角則沒有用連筆。

image019 image024 image025
《悲华经 卷第九》 《同音》(甲種本) 《同音》(乙種本)

這個字在《同音》的寫本中都沒有連筆,而《悲華經》則用了連筆。

image026 image027 image028
《慈悲道场忏罪法 卷第一》 《同音》(甲種本) 《同音》(乙種本)

這個字在《同音》的寫本中都有連筆,而《慈悲道场忏罪法》則沒有連筆。

有些字的撇和反捺雖然沒有一氣呵成,但還是能看得出這種筆劃間的連帶關係,例如:

(圖片來自《大般若波羅密多經 卷二百九十四》)
image029 image030 image031 image032 image033

可以看得出雖然左下角的撇和反捺沒有一筆寫成,但是有一種連帶的趨勢。應該說,連筆的目的主要是為了書寫方便,而至於連哪幾筆則是書寫者的選擇。從漢字書法的角度來說,連左下角的第三撇和反捺比較符合漢字的書寫規則,因為漢字中有許多由撇和捺交叉構成的結構(請參考下面的漢字行草例子)。然而西夏文中有很多第二撇和反捺連筆的寫法,卻不連撇和反捺交叉的結構,具體原因不得而知。

image034 image035 image036
懷素《小草千字文》 王羲之《州民帖》 王羲之

還有一種挑點和直撇的連筆,比如:

(圖片來自《大般若波羅密多經 卷二百九十四》)
image039 image038 image037

正字法

正字法指的是一種文字的正確寫法,也就是官方認定的標準寫法。目前對於正字法的討論都是基於《同音》、《同義》、《文海》等西夏文字書確定的,這些字書基本上相當於字典,雖然很難確定這些字書是否收錄的是西夏文的準確寫法,因為對於同一個字不同的字書有時給出不同的寫法。其實不同字書之間最大的差異應該是是否連筆。我認為討論正字法不應僅僅侷限於這幾本字書,應該把參考對象擴展到其他西夏文文獻,包括佛經文獻、世俗文獻等。因為單純從書法的角度而言,這幾本字書的字寫得並不好看,甚至不如一些佛教文獻。這篇文章引用了很多來自《大般若波羅密多經 卷二百九十四》的例子,這部經書的字就寫得非常流暢、漂亮。這些字書在一定程度上或許反映了書寫者的文化程度,可能他們寫的字並不能反映西夏文的準確寫法。或者西夏文根本沒有官方指定的正字法,因為不同人對於同一個字有著不同的理解,所以寫法自然也不同。舉個例子,我讀大學時的英語課,每學期都有最少兩篇paper要寫,每篇至少1000詞。我有個同學寫完後找我看看有沒有什麼問題,主要是語法方面的問題。我告訴他老師其實不會太在意語法錯誤,只要你不要錯得太離譜,不要讓人讀不明白你在寫什麼就行,小部分語法錯誤老師不會介意。寫作最重要的目的是向讀者傳達一種思想或觀點,最關鍵是要讓讀者能理解你想表達的意思,一點點語法錯誤或者單詞拼錯其實不影響閱讀。同理,西夏文字這麼複雜,每個人寫出來的字可能都不一樣,筆順也可能不一樣,但只要不影響讀者閱讀,能讓讀者看得懂就行,所以西夏文可能沒有所謂的標準寫法,即便有正字法,大家也不一定會採用,想想漢字有那麼多民間俗字就可以理解了。

本文的佛經西夏文圖片均來自中國國家圖書館 西夏碎金,《同音》的圖片均來自魏安的Tangut Homophones Lookup 西夏文《同音》查字