[译] Z-variant (Z变体)
阅读目录
Unihan 的 kZVariant 字段
译自: en.wikipedia.org/wiki/Z-variant | 已发布zh.wiki
在Unicode中,如果两个字形共享相同的词源(etymology),但外观和Unicode字符编码稍有不同,则两个字形互为Z变体(通常拼写为zVariants)。例如,Unicode字符U+8AAA 說 和U+8AAC 説 互为Z变体。Z变体的概念只适用于“CJKV 文字” (中文,日语,韩语和越南语),中日韩越统一表意文字的副标题。
1. Z轴上的区别
CJK 的 unicode 编码的分配通过三个"轴"来组织。X轴表示语义上的差异;例如,拉丁大写字母A(U + 0041A)和希腊字母α的大写字母(U + 0391A)在Unicode中由两个不同的编码表示,称为“X变体”(尽管这个术语并不常见)。Y轴表示外观上的显著差异,语义上差异不大;例如,繁体字“猫”(u+8c93 貓)和简体字(u+732b 猫 )互为Y变体。
Z轴表示较小的印刷差异。 例如,中文字符(U+838A 莊)和(U+8358荘)是Z变体, (U+8AAA 說) 和 (U+8AAC 説) 也同样是Z变体。 Unicode.org 的术语表中,将“Z-变体”定义为“两个具有相同语义和统一形状的CJK统一表意文字”,或者是在CJKV统一表意文字中。
可以这样讲,如果CJK统一表意文字是完美“统一”的,Z变体也不会出现。它的出现是为了帮助文本在Unicode和其他CJK编码——比如Big5和CCCII——之间"往返"。例如,字符 “莊” 的CCCII编码为 21552D,同时其Z变体 “荘” 则有CCCII编码 2D552D。这两个变体分别被赋予了不同的Unicode码,因此可以无损的将文本在CCCII编码和Unicode码之间转换。
2. 问题
关于"Z变体"确切的定义, 还存在一些疑惑。例如,在2002年的一项 Internet草案 (RFC 3743)中, (U+4E0D 不) 和 (U+F967 不) 被定义为“字形变体(font variants)”,而普通话中的 (U+5154 兔) 和日语中的(U+514E 兎) ——语义都是“兔子”——则都被Unicode联盟的统汉字数据库认为是Z变体。
[译] Z-variant (Z变体)的更多相关文章
- 变体类型 Variant VARIANT
变体类型 Variant VARIANT class RTL_DELPHIRETURN Variant: public TVarData typedef struct tagVARIANT V ...
- 二叉查找树及B-树、B+树、B*树变体
动态查找树主要有二叉查找树(Binary Search Tree),平衡二叉查找树(Balanced Binary Search Tree), 红黑树 (Red-Black Tree ), 都是典型的 ...
- (转) 干货 | 图解LSTM神经网络架构及其11种变体(附论文)
干货 | 图解LSTM神经网络架构及其11种变体(附论文) 2016-10-02 机器之心 选自FastML 作者:Zygmunt Z. 机器之心编译 参与:老红.李亚洲 就像雨季后非洲大草原许多野 ...
- 【Visual Lisp】变体与安全数组
(vlax-make-variant) ;;创建一个未初始化的变体 ;;01.整型值变体(setq myvar (vlax-make-variant 10)) ;;创建整型值变体,返回 #<va ...
- Delphi 变体数组 Dataset Locate 查找定位
Format 函数 Delphi 支持“开参数”和动态数组,变体数组,使用时的语法类似 Delphi 中的集合:采用两个方括号把不同类型的变量括起来(这太方便了啊),也可以采用声明一个 TVarRec ...
- Gradle for Android ( 构建变体 )
链接: http://77blogs.com/?p=38 https://www.cnblogs.com/tangZH/p/10999060.html 有时候我们一个app需要有不同的版本,不同的版本 ...
- Provide Several View Variants for End-Users 为最终用户提供多个视图变体
In this lesson, you will learn how to provide several customized variants of the same View, and allo ...
- 【转载】Gradle for Android 第四篇( 构建变体 )
当你在开发一个app,通常你会有几个版本.大多数情况是你需要一个开发版本,用来测试app和弄清它的质量,然后还需要一个生产版本.这些版本通常有不同的设置,例如不同的URL地址.更可能的是你可能需要一个 ...
- Prafab Varient 预制体变体
预制体与类的类比思维: 预制体相当于一个类,当它应用到场景当中,就是一个实例. 类的继承特性也充分运用到预制体中,即预制体变体. 相似预制体的需求场景: 例子1:多个游戏的窗口 ...
随机推荐
- 【App性能】:TraceView分析法
抓取traceview的日志有两种方式, 1,是在代码中片段中添加: Debug.startMethodTracing(“hello”); ....... Debug.stopMethodTracin ...
- 蓝桥杯-学霸的迷宫(BFS+记录操作)
算法提高 学霸的迷宫 时间限制:1.0s 内存限制:256.0MB 问题描述 学霸抢走了大家的作业,班长为了帮同学们找回作业,决定去找学霸决斗.但学霸为了不要别人打扰,住在一个城堡 ...
- RocketMQ详解
原文链接:http://www.cnblogs.com/xiaodf/p/5075167.html 简介 官方简介: RocketMQ是一款分布式.队列模型的消息中间件,具有以下特点: 能够保证严格 ...
- MFRC522开发笔记
一.了解基本概念 ①ISO-14443A协议:( 国际标准化组织:International Organization for Standardization)RFID协议的一种; PICC:临近 ...
- Chapter 7. Packages
Chapter 7. Packages The hierarchical naming structure for packages is intended to be convenient for ...
- Android开源项目xUtils HttpUtils模块分析(转)
xUtils是github上的一个Android开源工具项目,其中HttpUtils模块是处理网络连接部分,刚好最近想整理下Android网络编程知识,今天学习下xUtils中HttpUtils. x ...
- <数据挖掘导论>读书笔记11异常检测
异常检测的目标是发现与大部分其他对象不同的对象.通常,异常对象被称作离群点(Outlier). 异常检测也称偏差检测(Deviation detection),因为异常对象的属性值明显偏离期望的或者常 ...
- C# Winform程序CPU占用高的原因和解决方法
程序CPU占用高的可能原因: 1.存在死循环: 为什么死循环会导致CPU占用高呢? 虽然分时操作系统是采用时间片的机制对CPU的时间进行管理的,也就是说到了一定时间它会自动从一个进程切换到下 ...
- sublime下package control安装无效解决
使用快捷键:ctrl+`打开控制台执行如下命令 sublime2: import urllib2,os,hashlib; h = 'df21e130d211cfc94d9b0905775a7c0f' ...
- static关键字作用
之前讲到final关键字的作用是每次面试的时候我必问求职者的两个问题之一,另外一个问题就是文本会写到的static.final和static一样,都是一个小问题可以看到一个人的基础是否扎实以及平时是否 ...