变体 (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所有可用的变体。