在 Unicode 中,字元變體指通過編碼字元序列顯示同一字元的不同字形。這種變體序列(英語:variation sequence)由一個基本字元後緊跟一個變體選擇符(variation selector)組成。
一個字元的變體通常與它的基本字元有非常相像的外觀和涵義。這項技術旨在當一個字元的變體字形不可用時,仍顯示其基本字元,卻不改變文字本身的涵義。
Unicode 定義了兩種變體序列:
- 標準變體序列(SVS):由統一碼字元資料庫(UCD)檔案
StandardizedVariants.txt
收錄的變體序列[1] - 表意文字變體序列(IVS):由表意文字變體資料庫(IVD)檔案
IVD_Sequences.txt
收錄的變體序列[2][3]
變體選擇符定義於數個 Unicode區塊內:
概述
Unicode 是一個字元編碼表,它只是一個表格,並不描繪每個字形的樣式。同樣意義的字元常會被賦予相同的編碼。因此,在一些情況下,有必要區分不同的字形[4]。
須注意的是,譬如拉丁字母「a」是否有從頂部向右延伸的線,通常不屬於不同字形之間的差異,因為可以通過更改電腦字型來修改。可是,在中日韓統一表意文字中,本來根據 Unicode 的認同原則應該統合的漢字異體字字形,卻在一些國家或地方的電腦應用標準裏,經常被視為是「另一個字」的字形。擧例說,「値」與「值」字形差異細微,讀音、意義都一樣,一般書寫和閱讀時都不會視為兩個不同的字,理論上可以合併。但是,在個別國家或地區裏,此二字在某些情況中出現時,會被當作相異的資訊。因此,根據情況,有時需要在純文字上儲存不同字形的區別,例如:
- 在大部份操作系統中,檔案名稱是純文字,不能區別在文字中不能區分的東西。
- 輸入法可以輸入的字串一般都是純文字[5]。即使用戶可以使用桌面出版應用程式選擇不同字型來顯示,除了與輸入正常字元有不同的操作外,還必須記住正確的組合,這對於大多數普通用戶來說並不實用。例如在 Windows Vista 日語版中,可以區分顯示「葛飾区」的「」和「葛城市」的「」[6],不過「」與「」在Unicode編碼上並無區別,其輸入法無法正確轉換。
- 用於傳送電子郵件的 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月,由變體序列所使用的變體字元如下所示:
標準變體序列錄入的字集和數量
表意文字變體數據庫錄入的字集和數量
- CID之Adobe-Japan1集:14,683個[13]
- 通用電子資訊交換環境整頓計劃之Hanyo-Denshi集:13,045個
- 文字資訊基礎整備事業之Moji_Joho集:11,384個
- 澳門特別行政區之MSARG集:21個
- 韓國之KRName集:36個
但是Hanyo-Denshi與Adobe-Japan1有很多重複[14]。
- Windows 7在資源管理器的所顯示檔名及記事本中可以生成異體字字形。但是需要字體支援[21]。
- Windows 8以後,採用IVS處理[22]。
- Mac OS X 10.5標準文字和繪製處理遵從default ignorable屬性[23],不會渲染異體字,也不支援字形切換。
- Mac OS X 10.6開始自建標準文字的繪製處理可支援字形的轉換[24],但和Windows 7同標準的字型Hiragino未支援變體選擇符。
- Mac OS X Lion(10.7)則採用了Adobe-Japan1的IVS[25]。
- Alpha(文字編輯器) - 2008年2月在IVS-OTFT測試公開版中,通過將變體選擇符的資訊轉換為opentype功能標簽的資訊,對應於由不同體字選擇符進行的字形切換[26]。
- gdi++
- Emacs 23[27]
- EmEditor v11之後[28]
- FooEditor (文字編輯器)[29]
- gPad(文字編輯器)
- Mery (文字編輯器)
- oedit (文字編輯器)
- Adobe Reader 9、Flash Player 10、Adobe InDesign CS4之後的Adobe軟件[24]。
- Windows 7及之上的Opera(Presto)[30]
- Mozilla Firefox版本4之後[31]。另外,在版本31以後,改由CJK來實現該功能[32]。
- WebKit可以支援SVG字體,由SVG字體定義的IVS進行字形切換。這與Opera相同[33]。
- Microsoft Office 2007 - 2010版本需要附加Unicode IVS Add-in for Microsoft Office外掛程式[34],2010之後的默認內建。
- LibreOffice 4.1之後/Apache OpenOffice 4.0之後
參考資料
延伸閱讀
參見
外部連結
Wikiwand in your browser!
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.