變體 (Unicode)

在 Unicode 中，字符變體指通過編碼字符序列顯示同一字符的不同字形。這種變體序列（variation sequence）由一個基本字符後緊跟一個變體選擇符（variation selector）組成。
一個字符的變體通常與它的基本字符有非常相像的外觀和涵義。這項技術旨在當一個字符的變體字形不可用時，仍顯示其基本字符，卻不改變文本本身的涵義。
Unicode 定義了兩種變體序列：- 標準變體序列（Standardized Variation Sequence）：由統一碼字符數據庫（Unicode Character Database）文件StandardizedVariants.txt收錄的變體序列- 表意文字變體序列（Ideographic Variation Sequence）：由表意文字變體數據庫（Ideographic Variation Database）文件IVD_Sequences.txt收錄的變體序列
變體選擇符定義於數個 Unicode區塊內：- 變體選擇符（16個字符，縮寫：VS1—VS16）- 變體選擇符補充（240個字符，縮寫：VS17—VS256）- 蒙古文自由變體選擇符（3個字符，縮寫：FVS1—FVS3）

**概述**
葛飾區的葛
葛城市的葛
Unicode 是一個字符編碼表，它只是一個表格，並不描繪每個字形的樣式。同樣意義的字符常會被賦予相同的編碼。因此，在一些情況下，有必要區分不同的字形。
須注意的是，譬如拉丁字母「a」是否有從頂部向右延伸的線，通常不屬於不同字形之間的差異，因為可以通過更改電腦字型來修改。可是，在中日韓統一表意文字中，本來根據 Unicode 的認同原則應該統合的漢字異體字字形，卻在一些國家或地方的電腦應用標準裡，經常被視為是「另一個字」的字形。擧例說，「値」與「值」字形差異細微，讀音、意義都一樣，一般書寫和閱讀時都不會視為兩個不同的字，理論上可以合併。但是，在個別國家或地區裡，此二字在某些情況中出現時，會被當作相異的資訊。因此，根據情況，有時需要在純文本上保存不同字形的區別，例如：- 在大部份操作系統中，檔案名稱是純文本，不能區別在文本中不能區分的東西。- 輸入法可以輸入的字符串一般都是純文本。即使用戶可以使用桌面出版應用程序選擇不同字型來顯示，除了與輸入正常字符有不同的操作外，還必須記住正確的組合，這對於大多數普通用戶來說並不實用。例如在 Windows Vista 日語版中，可以區分顯示「JIS2004フォント|葛飾區」的「20px」和「JIS90フォント|葛城市」的「20px」，不過「20px」與「20px」在Unicode編碼上並無區別，其輸入法無法正確轉換。- 用於發送電子郵件的 SMTP 等網絡傳輸協議是用純文本發送的，因此不能區分一些相同編碼字符的不同字形。
為了應付這類情況，早期 Unicode 碰到在有關國家或地區既有碼表已分別編碼的字，像「値」與「值」，就會放棄認同原則，改以原字集分離原則來把兩個字形分別編碼。但若當時有關國家或地區沒有把異體字分別編碼，像日本的JIS90-{只}-收錄了一個「葛」字，Unicode就不會分別編碼。
變體選擇符是為了在 Unicode 中解決上述問題而設計出的特殊的「字符」，讓有著相同碼位的異體字（即「葛」字這類例子）可在純文本環境下分別顯示出來。它可以根據前後文來判斷，決定在當前文本中所使用的文字，並由變體選擇符選擇不同的字形。請注意，顯示出來的會是變體選擇符所指定的字形，而不是變體選擇符本身。

**種類**
變體序列一般分兩種：標準變體序列（Standardized Variation Sequence，簡稱「SVS」），以及表意文字變體序列（Ideographic Variation Sequence，簡稱「IVS」）。
SVS 在非漢字及中日韓統一表意文字中均有啟用，這種字形選擇，定義為 Unicode 的標準化變體。要在標準化變體裡添加字形，是統一碼聯盟的工作。
另一方面，IVS 是漢字專用的變體選擇符，字形收集是由表意文字變體數據庫（Ideographic Variation Database，簡稱為「IVD」）定義的。要想在 IVD 中增加字形，也必須根據規定向統一碼聯盟申請。
截至Unicode 16，由變體序列所使用的變體字符如下所示：
標準變體序列錄入的字集和數量- 數學符號表：25個- 緬甸的緬文：27個- 八思巴字母：6個- 摩尼字母：5個- 傳統蒙古文：60個- 中日韓統一表意文字：1,002個- 聖書體：旋轉變體101個，另有8個在曆次UTC Consensus已被刪除；擴展變體4個- 繪文字：702個（文本類型和圖形文字的類型351個）
表意文字變體數據庫錄入的字集和數量- CID之Adobe-Japan1集：14,683個- 通用電子信息交換環境整頓計劃之Hanyo-Denshi集：13,045個- 文字信息基礎整備事業之Moji_Joho集：11,384個- 澳門特別行政區之MSARG集：21個- 韓國之KRName集：36個
但是Hanyo-Denshi與Adobe-Japan1有很多重複。

**字形規格**
 OpenType1.5版使用了「Unicode變體選擇符（Unicode Variation Sequences）」規格。- SVG不僅侷限於IVS，亦可以任意Unicode編碼。

**字體創建工具**
 FontForge - 2007年10月2日之後。- Adobe Font Development Kit for OpenType (AFDKO) 2.1版之後。- TTX/FontTools - GlyphWiki來生成IVS對應字體。- TTEdit - 對應生成IVS TrueType字體。

**庫**
2007年10月FreeType以後的開發板內置了API工具。

**軟件**
 Windows 7在資源管理器的所顯示文件名及記事本中可以生成異體字字形。但是需要字體支持。- Windows 8以後，採用IVS處理。- Mac OS X 10.5標準文本和繪製處理遵從default ignorable屬性，不會渲染異體字，也不支援字形切換。- Mac OS X 10.6開始自建標準文本的繪製處理可支持字形的轉換，但和Windows 7同標準的字型Hiragino未支援變體選擇符。- Mac OS X Lion（10.7）則採用了Adobe-Japan1的IVS。
蘆」字之下的「戸」分別為新字體及舊字體- Alpha（文本編輯器） - 2008年2月在IVS-OTFT測試公開版中，通過將變體選擇符的信息轉換為opentype功能標簽的信息，對應於由不同體字選擇符進行的字形切換。- gdi++- Emacs 23- EmEditor v11之後- FooEditor （文本編輯器）- gPad（文本編輯器）- Mery （文本編輯器）- oedit （文本編輯器）- Adobe Reader 9、Flash Player 10、Adobe InDesign CS4之後的Adobe軟件。- Windows 7及之上的Opera（Presto）- Mozilla Firefox版本4之後。另外，在版本31以後，改由CJK來實現該功能。- WebKit可以支持SVG字體，由SVG字體定義的IVS進行字形切換。這與Opera相同。- Microsoft Office 2007 - 2010版本需要附加Unicode IVS Add-in for Microsoft Office插件，2010之後的默認自帶。- LibreOffice 4.1之後/Apache OpenOffice 4.0之後

**參考資料**

**延伸閱讀**
 dead-url=no- dead-url=yes- dead-url=yes- dead-url=yes- dead-url=yes 上記3資料を併合して日本語訳したもの。- archive-url=https://web.archive.org/web/20190801214010/https://researchmap.jp/%3Faction%3Dcv_download_main%26upload_id%3D124709， 頁面

**參見**
 變體選擇符 (Unicode區段)- 組合字符- 控制字符- 中日韓統一表意文字- 中日韓相容表意文字

**外部鏈接**
  Standardized Variants - Unicode date=20180922064146  (已錄入的SVS一覽) -  Unicode Technical Standard #37 - Unicode Ideographic Variation Database date=20180827183057  (IVD結構和註冊程序) -  Ideographic Variation Database - Unicode date=20181211061541  (關於IVD) -   IVD Sequences - Unicode date=20171224214652  (2017-12-12版)  (IVD登記的漢字的組合列表) -  異體字選擇符 date=20190402061111  - 搜索SVS・IVS所有可用的變體。