異體字選擇器

異體字選擇器[1](英語:Variation Selector,簡稱「VS」)是一種在UnicodeISO/IEC 10646 (UCS) 上,用來準確、具體地指定選擇哪個文字字形的程序。

上方兩個字形被合併到相同的Unicode編碼,用戶在純文本環境下難以選擇。開啟了異體字選擇器,用戶就可以指定顯示哪一個字形。VS(異體字選擇器)17設置為沒有點的字體、VS18設置為有點的字體。

描述编辑

 
葛飾区的葛
 
葛城市的葛

Unicode是一個編碼表,它只是一個表格,沒有描繪出每個字形的樣式,同樣意義的字符常會被賦予相同的編碼。因此,在好些情況裏,我們有必要區分不同的字形[2][3]

須注意的是,譬如拉丁字母「a」是否有從頂部向右延伸的線,通常不屬於不同字形之間的差異,因為可以通過更改電腦字型來修改。可是,在中日韓統一表意文字中,本來根據Unicode的認同原則應該統合的漢字異體字字形,卻在一些國家或地方的電腦應用標準裏,經常被視為是「另一個字」的字形。擧例說,「」與「」字形差異細微,讀音、意義都一樣,一般書寫和閱讀時都不會視為兩個不同的字,理論上可以合併。可是,在個別國家或地區裏,此二字在某些情況中出現時,會被當作相異的資訊,比如在人名登記時,「林喜」與「林喜」是不同的人,該國家或地區的原來字符集已區分作兩個字。因此,根据情況,有時我們得在純文本英语Plain text上保存不同字形的區別,例如:

  • 在大部份操作系統中,文件名是純文本,不能區別在文本中不能區分的東西。
  • 輸入法可以輸入的字符串一般都是純文本[4]。即使用戶可以選擇不同字型來顯示,卻要花上額外時間去處理。(現在,隨着輸入法技術的進步,問題已略有改善。例如從Windows Vista開始,它的日文輸入法已經可以區分「葛飾区」的「 」和「葛城市」的「 」了[5],不過「 」與「 」在Unicode編碼上並無區別[6],造成了不少麻煩。)
  • 用於發送電子郵件SMTP网络传输协议是用純文本發送的,因此不能区分一些相同編碼字符的不同字形[7]

爲了應付這類情況,早期Unicode碰到在有關國家或地區既有碼表已分別編碼的字,像「」與「」,就會放棄認同原則,改以原字集分離原則來把兩個字形分別編碼。但若當時有關國家或地區沒有把異體字分別編碼,像日本的JIS90只收錄了一個「葛」字,Unicode就不會分別編碼。同一原因,「直、殖、植」等字皆沒有像「」與「」般分別編碼。這種自相矛盾的做法,長年來備受漢字文字學界的批評。

異體字選擇器是為了在Unicode中解決上述問題而設計出的特殊的「字符」,讓有着相同碼位的異體字(即「葛」字這類例子)可在純文本環境下分別顯示出來。它可以根據前後文來判斷,決定在當前文本中所使用的文字,並由異體字選擇器選擇不同的字形[8]。請注意,顯示出來的會是異體字選擇器所指定的字形,而不是異體字選擇器本身。

種類编辑

異體字選擇器一般分兩種:標準化的異體字選擇器(Standardized Variation Sequence,簡稱「SVS」[9]),以及漢字異體字選擇器(Ideographic Variation Sequence,簡稱「IVS」)。

SVS在非漢字及中日韓統一表意文字中均有启用,这種字形選擇,定義為Unicode的標準化變體[10]。要在標準化變體裏添加字形,是統一碼聯盟的工作。

另一方面,IVS是漢字專用的異體字選擇器,字形收集是由漢字異體字數據庫(Ideographic Variation Database,簡稱為「IVD」)定義的。要想在IVD中增加字形,也必須根據規定向統一碼聯盟申請[11]

直到2017年12月,由異體字選擇器所使用的異體字如下所示:

Standardized Variants錄入的字集和數量

IVD(2017-12-12版)錄入的字集和數量

  • CID之Adobe-Japan1集:14,683個[13]
  • 通用電子信息交換環境整頓計劃之Hanyo-Denshi集:13,045個
  • 文字信息基礎整備事業之Moji_Joho集:11,384個
  • 澳門特別行政區之MSARG集:21個
  • 韓國之KRName集:36個

但是Hanyo-Denshi與Adobe-Japan1有很多重複[14]

字形規格编辑

  • OpenType1.5版使用了「Unicode異體字選擇器(Unicode Variation Sequences)」規格[15]
  • SVG不僅局限於IVS,亦可以任意Unicode編碼[16]

字體創建工具编辑

  • FontForge - 2007年10月2日之後[17]
  • Adobe Font Development Kit for OpenType (AFDKO) 2.1版之後[18]
  • TTX/FontTools - GlyphWiki來生成IVS對應字體[19]
  • TTEdit - 對應生成IVS TrueType字體。

编辑

2007年10月FreeType以後的開發板内置了API工具[20]

軟件编辑

 
在Alpha及Y.OzFont,以UTS #37輸入以下文字「田さんは屋のお嬢様だ」,「」字之下的「」分別為新字體舊字體

參考資料编辑

  1. ^ JIS X 0221:2007の規格票では「字形選択子」という訳語を当てているが、全く意味の異なる"Character shaping selectors"などにも全く同じ訳語を当てているので、混乱を避けるため本項では「異体字セレクタ」という訳語を用いる。
  2. ^ Unicode Technical Report #17 - Character Encoding Model. 2004-09-09 [2008-02-02]. (原始内容存档于2015-06-25). 
  3. ^ 不同的字採用相同的編碼,是因爲早期Unicode定義字形的16點點陣字空間不足,不夠將所有漢字的正確形態一一描述。
  4. ^ 川俁晶. Windows NT 日本語処理ガイドブック (PDF). Windows NT 漢字処理技術協議会. 1998-10-30: p.5 [2018-08-21]. (原始内容存档 (PDF)于2016-03-08). 
  5. ^ アプリケーション開発者向け Windows Vista 対応アプリケーションの互換性: 68. [2008-02-02]. [永久失效連結] デモ映像 页面存档备份,存于互联网档案馆
  6. ^ Mac専用日本語入力プログラム“egbridge Universal” 製品情報 エルゴソフト. [2008-02-15]. (原始内容存档于2008-09-19). 
  7. ^ アップル - Pro - 技術情報 - Mac OS Xと日本語タイポグラフィ 第5回:ヒラギノProの漢字を巡る座談会 - ページ6. [2008-02-15]. (原始内容存档于2008-02-21). 
  8. ^ Format Characters Suitable for Use with Markup. 2003-06-13 [2008-02-02]. (原始内容存档于2007-12-11). 
  9. ^ 一般にはSVSが略称として使われることがあるが、公式な略称ではない
  10. ^ StandardizedVariants.txt. Unicode Consortium. 2015-11-20 [2017-06-01]. (原始内容存档于2017-05-11). 
  11. ^ Unicode® Technical Standard #37 UNICODE IDEOGRAPHIC VARIATION DATABASE. Unicode Consortium. [2017-10-05]. (原始内容存档于2017-09-21). 
  12. ^ emoji-variation-sequences.txt. Unicode Consortium. [2017-10-06]. (原始内容存档于2017-11-17) (英语). 
  13. ^ なおAdobe-Japan1-6の文字セットに含まれる漢字は14,664個である
  14. ^ 安岡孝一. UnicodeのIVSがもたらすメリットとデメリット - 新常用漢字が引き起こす文字コード問題. 2011-01-24 [2011-02-01]. (原始内容存档于2011-01-31). 
  15. ^ Microsoft Typography - OpenType Specification. 2008-01-29 [2008-03-10]. (原始内容存档于2008-10-09). 
  16. ^ Fonts – SVG 1.1 (Second Edition). [2011-02-01]. (原始内容存档于2018-10-12). 
  17. ^ Change log for FontForge. 2008-03-09 [2008-03-10]. (原始内容存档于2009-07-23). 
  18. ^ Ideographic Variation Sequences (PDF): p.10. 2007-10-17 [2008-03-10]. [永久失效連結]
  19. ^ GlyphWiki:フォント生成. [2011-01-19]. (原始内容存档于2010-10-31). 
  20. ^ freetype-devel (thread). 2007-10-31 [2008-03-10]. (原始内容存档于2013-07-03). 
  21. ^ Biotronique - Computing - 実は異体字セレクタに対応済のWindows 7. 2009-12-02 [2009-12-03]. (原始内容存档于2016-03-05). 
  22. ^ 田丸健三郎, 小林龍生. Unicode IVS/IVD入門. ISBN 978-4822294830. 
  23. ^ FAQ - Display of Unsupported Characters. [2011-01-19]. (原始内容存档于2011-03-14). 
  24. ^ 24.0 24.1 Ken Lunde. IVS (Ideographic Variation Sequence) support in OSes. [2011-02-01]. (原始内容存档于2009-09-01). 
  25. ^ ヒラギノとMac OS Xのバージョン相関表. 2014-07-08 [2014-09-17]. (原始内容存档于2014-08-22). 
  26. ^ Alpha の бесполезный な日記. 2008-03-04 [2008-03-10]. (原始内容存档于2008-03-08). 
  27. ^ Emacs 23 と Lookup. [2011-01-19]. (原始内容存档于2010-10-16). 
  28. ^ EmEditor Professional 11 の特長. [2011-09-24]. (原始内容存档于2011-09-19). 
  29. ^ Foo Editor. [2013-10-13]. (原始内容存档于2013-07-03). 
  30. ^ Windows7でIVSの表示テスト. [2011-01-19]. [永久失效連結]
  31. ^ Bug 552460 - implement Ideographic Variation Sequences support. [2011-01-19]. (原始内容存档于2014-06-02). 
  32. ^ Bug 989557 - Support fallback for CJK Compatibility Ideographs Standardized Variants. [2014-09-17]. (原始内容存档于2014-09-04). 
  33. ^ SVGフォントでIVSを表示するテスト. [2011-01-19]. (原始内容存档于2010-02-03). 
  34. ^ Unicode IVS Add-in for Microsoft Office. [2012-11-12]. (原始内容存档于2012-11-11). 

延伸閱讀编辑

參見编辑

外部链接编辑