Linux 版 (精华区)

发信人: don (驿路梨花), 信区: Linux
标  题: 什么是 Unicode ?
发信站: 紫 丁 香 (Tue May  9 10:09:52 2000), 转信

发信人: null (钠尔), 信区: LINUX
标  题: 什么是 Unicode ?
发信站: 碧海青天 (Fri May  5 13:33:00 2000), 转信

什么是组合字符?
UCS里有些编码点分配给了 组合字符.它们类似于打字机上的无间隔重音键.
单个的组合字符不是一个完整的字符.
它是一个类似于重音符或其他指示标记, 加在前一个字符后面. 因而,
重音符可以加在任何字符后面. 那些最重要的被加重的字符,
就象普通语言的正字法(orthographies of common languages)里用到的那种, 在
UCS 里都有自己的位置, 以确保同老的字符集的向后兼容性.
既有自己的编码位置,
又可以表示为一个普通字符跟随一个组合字符的被加重字符, 被称为 预作字符(precom
posed
characters). UCS 里的预作字符是为了同没有预作字符的旧编码,
比如 ISO 8859, 保持向后兼容性而设的.
组合字符机制允许在任何字符后加上重音符或其他指示标记,
这在科学符号中特别有用, 比如数学方程式和国际音标字母,
可能会需要在一个基本字符后组合上一个或多个指示标记.
组合字符跟随着被修饰的字符. 比如, 德语中的元音变音字符 ("拉丁大写字母A
加上分音符"), 既可以表示为 UCS 码 U+00C4 的预作字符,
也可以表示成一个普通 "拉丁大写字母A" 跟着一个"组合分音符":U+0041
U+0308 这样的组合. 当需要堆叠多个重音符,
或在一个基本字符的上面和下面都要加上组合标记时,
可以使用多个组合字符. 比如在泰国文中,
一个基本字符最多可加上两个组合字符.
什么是 UCS 实现级别?
不是所有的系统都需要支持象组合字符这样的 UCS
里所有的先进机制. 因此 ISO 10646 指定了下列三种实现级别:
级别1
不支持组合字符和 Hangul Jamo 字符 (一种特别的,
更加复杂的韩国文的编码,
使用两个或三个子字符来编码一个韩文音节)
级别2
类似于级别1, 但在某些文字中, 允许一列固定的组合字符 (例如,
希伯来文, 阿拉伯文, Devangari, 孟加拉语, 果鲁穆奇语, Gujarati, Oriya,
泰米尔语, Telugo, 印.埃纳德语, Malayalam, 泰国语和老挝语).
如果没有这最起码的几个组合字符, UCS 就不能完整地表达这些语言.
级别3
支持所有的 UCS 字符, 例如数学家可以在任意一个字符上加上一个
tilde(颚化符号,西班牙语字母上面的~)或一个箭头(或两者都加).
什么是 Unicode?
历史上, 有两个独立的, 创立单一字符集的尝试. 一个是href="http://www.iso.ch/">
国际标准化组织(ISO)的 ISO 10646 项目,
另一个是由(一开始大多是美国的)多语言软件制造商组成的协会组织的
Unicode 项目. 幸运的是, 1991年前后,
两个项目的参与者都认识到, 世界不需要两个不同的单一字符集.
它们合并双方的工作成果, 并为创立一个单一编码表而协同工作.
两个项目仍都存在并独立地公布各自的标准, 但 Unicode 协会和 ISO/IEC
JTC1/SC2 都同意保持 Unicode 和 ISO 10646 标准的码表兼容,
并紧密地共同调整任何未来的扩展.
那么 Unicode 和 ISO 10646 不同在什么地方?
Unicode 协会公布的 Unicode
标准 严密地包含了 ISO 10646-1 实现级别3的基本多语言面.
在两个标准里所有的字符都在相同的位置并且有相同的名字.
Unicode 标准额外定义了许多与字符有关的语义符号学,
一般而言是对于实现高质量的印刷出版系统的更好的参考. Unicode
详细说明了绘制某些语言(比如阿拉伯语)表达形式的算法,
处理双向文字(比如拉丁与希伯来文混合文字)的算法和
排序与字符串比较 所需的算法, 以及其他许多东西.
另一方面, ISO 10646 标准, 就象广为人知的 ISO 8859 标准一样,
只不过是一个简单的字符集表. 它指定了一些与标准有关的术语,
定义了一些编码的别名, 并包括了规范说明, 指定了怎样使用 UCS
连接其他 ISO 标准的实现, 比如 ISO 6429 和 ISO 2022. 还有一些与 ISO
紧密相关的, 比如 ISO 14651 是关于 UCS 字符串排序的.
考虑到 Unicode 标准有一个易记的名字, 且在任何好的书店里的
Addison-Wesley 里有, 只花费 ISO 版本的一小部分, 且包括更多的辅助信息,
因而它成为使用广泛得多的参考也就不足为奇了. 然而, 一般认为,
用于打印 ISO 10646-1 标准的字体在某些方面的质量要高于用于打印
Unicode 2.0的. 专业字体设计者总是被建议说要两个标准都实现,
但一些提供的样例字形有显著的区别. ISO 10646-1
标准同样使用四种不同的风格变体来显示表意文字如中文,
日文和韩文 (CJK), 而 Unicode 2.0 的表里只有中文的变体.
这导致了普遍的认为 Unicode 对日本用户来说是不可接收的传说,
尽管是错误的.

--

--
一条驿路,一种氛围。
一朵梨花,一种思考。
希望能在Linux这条驿路上与你同行!

※ 来源:.紫 丁 香 bbs.hit.edu.cn.[FROM: 202.118.239.63]
[百宝箱] [返回首页] [上级目录] [根目录] [返回顶部] [刷新] [返回]
Powered by KBS BBS 2.0 (http://dev.kcn.cn)
页面执行时间:2.223毫秒