中国移动是不是BDFHMOBILE

  • 现可用于缺少 该实现的系统Φ或者存在实现,却无法完成到 / Unicode 的转换它还包含了字符编码查询库 libcharset ,可以允许应用程序以一种具备良好可移植性的方式查询当前 lcoale 所使鼡的编码 方 式避免了直接使用 带来的移植性问 题。
  • 提供了处理 UTF-8 串的各种函数特别是为尚未提供合适的 UTF-8 locale 平台。
  • 项目的组成部分但也鈳以被独立构建。它包含了各种字符类和转换函数 ( )
  • ,用于判断一个字符在 UTF-8 终端模拟器的屏幕上会占据几个光标位置;在 C 库尚未提供对等功能的平台中应用程序可以利 用 该免费实现。
  • 该表中含有全面的 Unicode 字符的替代串类似于人们经常在 email 或打字机中用于表示无可用字符的回退标记 (fallback notation) 。该表以 的 格式被分发以保证可以很容易的被 POSIX

哪 些支持 UTF-8 的软件包正处于开发阶段 ?

  • t 致力于在内核中加入修正版的 VT100 模拟器,这将改善現有的 UTF-8 的过分简单化的支持

是 的 HTTP 服务器可以通过两种方式告知客户某个文档采用了 UTF-8 编码:

  •   保证传输该文档的 HTTP 头部中包含如下内容
 


这适鼡于 HTML 文件;对于纯文本文件,则要变为

 


如何实现上述要求取决于你使用的 Web 服务器如果使用 Apache 并且有一个子目录,其中存放的素有 .html

  • 如果你無法影响 Web 服务器如何自动在文档之前添加 HTTP 头部的话那么就在 HTML 文档的
         这样就能产生相 同的效果。很显然这种方法只对 HTML 文件有效而无法应鼡于纯文本文件;而且,该方式只能在解析器已经开 始读取文件内容后才能告知解析器 该文件使用的编码格式因此,相比之下该方式顯然不如前者优雅。

目前最广泛使用的浏览器对 UTF-8 的有足够好的支持因而通常推荐在网页中采用 UTF-8 编码。陈旧的 Netscape 4 浏览器使用了一种犯人的单┅大号字体来显示所有

还 有一个问题 HTML 表单中输入的非 ASCII 字符在随后的将内容发送给服务器某个 CGI 脚本的 中所探讨的一般,这个问题依然一片混乱我们只能寄望于最终会出现一 套在 UTF-8 下解决这一切的惯例。也可参考 的 相关讨论

PostScript的字形名字与UCS码值是怎么关联在一起的?

对包含 40000 个以仩字符的 Unicode 进行完整和全面的实现,这是一个庞大的工程然而,很多情况下 ( 尤其对于欧洲市场 ) 同之前 一 样只实现几 百或几千字符就足够了而且仍然享受 Unicode 所提供的的单一简单编码覆盖所有需要字符的简洁性。已经有很多不同的 UCS 子集被制定出来:

    • 中的全部字符 [ 注意如果目的僅是提供最简单、最低成本的合理 UCS 中欧子集,我会选择实现 MES-1 外加以下
    • 叙利亚语 / 亚美尼亚语 / 格鲁吉亚语字符的子集它涵盖了欧洲 ( 不止是欧 !) 欧洲语言国 家使用的所有语言和所有 8-bit 码值页。它还附加了一个在技术文档中使用的数学符号的很小集合 MES-2 MES-1 的超集。如果只面向欧洲戓西方市场进行开发 MES-2 是推荐使用的字符表。 [ 注意 8 个字符这样就能附加实现对 WGL4 的兼容 ]
    • MES-3 是一个包含 2819 个字符、非常全面的 UCS 子集它将所有對欧洲用户有潜在使用可能的 UCS 字符包含进来。
  • 是 由某个家伙 1995 年提交的备忘录他显然并不喜欢 存在交集。它只是一个在 Windows NT 1995 年的某个日语蝂本中偶然实现的特殊字体 RFC 1815 现在已是完全过时和不相干,最好被忽略
  • xterm 字体包完成的基础。

Markus Kuhn 编写的 Perl 脚本 许对 UCS 子集进行方便的集合运算它对于想要定义一个新的 UCS 子集或是检查某个实现的覆盖范围的用户很有用。

在 不同编码方式之间进行转换时需要考虑哪些问题 ?

Unicode 协会维护叻一组 Unicode 和其它旧有编码标准之间的 重要的是要明白,这些映 射表的主要目的是展示 Unicode 是被映射的旧有编码的超集并记录为了保证对旧有芓符集的 round-trip 兼容而纳入 Unicode 标准的那些 字 符背后的动机和起源。优秀的字符编码转换函数应完成的任务远比盲目的应用这些示例映射表复杂的哆!这是因为某些字符集中一致的字符在其它字符集中却被 区 分。

映射表只 在一定程度上适用于将文本直接由旧式编码转换为 Unicode 然而高端嘚转换工具应该提供交互机制,使得在旧式编码中一致而在 Unicode 中被区分的字符可以被逐个的交互式或半自动的消除歧义 Unicode 到旧式字符集的反向转换需要以上映射表的多对一扩展。在很多旧式编码 中若干 Unicode 字符必须被映射至单一 码值。 Unicode 会目前并未为此而维护标 准多对一表洏且也没有为字符集转换工具定义任何标准行为。 以下是一些从 Unicode 转为其它形式时必须解决的多对一映射的例子:

从现有标准化信息中可以菦似的生 成类似的多对一映射表然而对这些映射表仍必须进行手动扩展和修订。例如似乎显而易见, IBM PC 字符集中 0XE1 原本既被当作小写 beta 使用 ( 洇为当在德语键盘上按下 sharp-s 键时生成该值 ) 类似的, 0XEE 既可以是数学符号 属于 " 也可以是一个 small epsilon 。这些字 符并不是 Unicode 标准等价字符因为尽管它們在低解析度字体下看起来很相似,然而在高 质量印刷中它们是完全不同的字符 IBM CP437 提供的 体现了一种用途,而微软提供的 则体现了另一種用途 ; 两者具备同等的合理性一个优秀的转换器在从 Unicode 进行转换时,应该做到对二者都兼容而不是盲目 的 只使用 Microsoft 的映射表。

的等价信息可使用 。 对于上述例子中的 IBM PC 字符标准映射表并未提供足够的映射;此时在 Unicode book 中对外形近似字符的交叉引用,则成为等价映射有价值的参栲来源最 后,究竟选用哪种映射是个人喜好问题

Unicode 协会曾维护了至 CJK 字符集的映射表,但已经宣布它们是过时和废弃的这事因为它们在 Unicode Web 垺务器上的存在而导致了一大批幼稚、不完整的转换器被开发出来。要特 别指出的是现已废弃的 CJK Unicode 映射表, 在某些情况下必须进行轻微的修改来保留组合 ( 字符 ) 编 码中的信息 ( 完整性 ) EUC-JP 转换器必须使用一个略微修改过的 就该问题提供了进一步的指导另一个存在的问题是它同旧有映射表存在 兼容性问题,这点在 Tomohiro Kubota 中有相关解释

除了使用标准规范映射表外,编码 转换器的开发者还可以提供对转译 ( transliteration) 的 支持转译的意思┅个将 Unicode 字符在目标编码中转换为一个在图形和 中是不同的字符。例子如下:

System 标准最新版本的示例实现目前大部分的 以及 部分示例实现仍嘫没有未

这其中已经得到修正的包括:

  • X11R6.8 中增加了很多广泛使用的 Unicode 标准字体,而且这些字体现在被某些经典的标准工具所支持例如 xterm

对于 Unicode 鼡户 X11 标准还存在许多问题;其示例实现中还存在某些不方便之处,仍然需要在 某个后继 X11

    • 提供一个扩展而是用另一种简单的多、更方便洏且同样强大的机制来替 代这个庞然大物。  
    • 很多现有的应用程序能够通过 CTEXT 交流所选内容但并不支持新增的 UTF-8 CTEXT 的使用者必须选择是使用旧 式 的 ISO 2022 编码还是新增的 UTF-8 编码但二者无法同时使用。换言之将 UTF-8 加入 CTESX 严重破坏了与现有 CTEXT
    • 当前的 CTEXT 规范甚至在第六节明确禁止添加 UTF-8 复合文本Φ不使用其它在
    起草了一份对 ICCCM 进行扩展的建议草案 ,通过加入一个新的可用于属性类型和选择目标的 UTF8_STRING 来处理 UTF-8 选择 ( 区 域 ) 这种方法利落的解決了上述所有问题。 一样的无状态和易用并且增加一个新的选择对象允许应用程序同时以旧 有的 CTEXT 和新增的 UTF8_STRING 格两种格式提供选择区域,这使得协同工作能力最大化 选 择区域的持有者和请求者之间可以对 UTF8_STRING 的使用进行协商,无论如何也不会导致兼容性问题 Markus Kuhn 已制作好了一个 , 咜向标准中添加了必要的定义当前情况, UTF8_STRING 已在 X.Org
  • 未知字符集 ) 之一表明采用的文本编码。单纯添加 UTF8_STRING 作为 TEXT 的可选项会破坏对那些不知
  • 低效率嘚字体数据结构 Xlib API X11 协议中用于表示字体度量信息的数据结构在处理稀疏分布的字体时极度 缺乏效 ) 的 数组。数组的大小等于字体中最后┅个字符的码值减去第一个字符 的码值后再加 1 因此,任何同时包含 U+0020 65502 个元素的数组这意味着 786KB 的客户端内存和数据传输。

迄今为止采用叻某些变通方法 :

    • 的字符这将内存需求减至 153KB ,虽然仍然 不 良但少了很多 ( 实际上在 BDF 文件中有很多有用的字符其码值超过了 U+31FF, 等待着这个问题某一天被解决;但是现在他们都被编码为 -1 因此被 X server
    • 尾部附加字符码值范围来完成,这在 3.1.2.12 这一节有详细说明例如:
    • 之间使用 Xlib 的共享内存。

這些变通并没有解决 XFontStruct 不适用于稀疏分布字体这一底层问题但是他们的确提供了显著的效率改 善,而不需改变任何 API Client 源码真正的解决方案应该是用某个稍微更灵活的、包含有序线性表或哈 希表而不是数组的数据结构扩展或取代 XFontStruct 。 对 XFontStruct 的重新设计同时还为增加急需的组合字苻和 ligature

character-glyph mapped, 随你的便 ) 。在这种编码中为每个字形分配的数值是真正的字体相关的字形值,而 不是任何 UCS 码值的等价物应用程序要利用这种新嘚字体编 码 的话,需要配合使用一些高效的完成字符 - 字形码值映射的 C 函数:

ISO10646-C 字体仍被限制为不能包含 超过 64K 个字形但是它们可以来自于 UCS 的任何位置,而不只是 BMP 这种解决 方 案还轻易的提供了字形替代特性,这样我们终于可以处理印度字体了它解决了 ISO 10646-1 的超大 XFontStruct 问题,因为现在該结构所 占 空间与字形数成线性关系而不是最大码值。它还可以提供组合字符的简单 " 加 粗 " 不过这样在 ISO 10646-C 字体中组合字符必须以负宽度存儲。它甚至可以通过为同一个组合字符提 供若干个位于不同高度的组合字型来支持可变的组合字符位置。

待办事项:为 ISO 10646-C 属性编写规范編写映射函数的示例实现,并将其添加入 xterm GTK 和其它应用程序和库。志愿者

  • 组合字符 : X11 规范不以任何方式支持组合字符。字体信息中缺少必偠的数据来完成高质 量、自动的重音放置操作 ( 正如在所有的 Tex 字体中所发现的那样 ) 很多人试验了通过 使 用在原始字符左侧带有墨点的零宽喥字符来实现最简单的组合字体 " 加 粗 " ,但详细如何做到这一则点细节不祥 ( 例如零宽度字符在 CharCell Monospaced 字体中被允许么? ) 因此这还不是一个广泛接受的惯例。
  • Ligatures:   印度文字需要支持 ligature 替换的字体文件格式而这同组合字符一样,完全超出了当前 X11 规范的范围

XFree86 小组几位成员一直在围绕这些问题展开工作。 个开放团体作为 X 协会的官方继承者以及 X11 标准及其示例实现的管理者,已经

X11 规范不以任何方式支持组 合字符字体信息中缺少必要的数据来完成高质量、自动的重音放置操作 ( 正 如在所有的 Tex 字体中所发现的那样 ) 。很多人试验了通过 使 用在原始字符左侧带有墨点的零宽度字符来实现最简单的组合字体 " 加 粗 " 但详细如何做到这一则点细节不祥 ( 例如,零宽度字符在 CharCell Monospaced 字体中被允许么 ) ,因此这还鈈是一个广泛接受的惯例

至于与字体相关的问题,解决方案 很可能会是完全丢弃旧式的服务端字体机制而改而使用 XFree86 新提供的 另一项正茬进行中相关工 作是 Sun 正在开发的

在标准输出上打印欧元符号 (U+20AC)



 


  有很多方法可以用于输入标准键盘上没有的 Unicode 字符

  • 在一个小文件中将你最瑺用到的 Unicode 字符按照最符合应用的方式安排好,要用的时候执行复制和粘帖操作对 于相对而言很少 用到的非常特殊的字符,例如更为深奥嘚数学运算符这通常是最方便和 最合适的方法。
  • 使用 xmodmap 对键盘映射进行扩展如果你的键盘上有专用于此的 AltGr 键的话,这种方法会非常方便;某些 US 键盘上没有 AltGr 而只有右 Alt 键而其它键盘则很不幸的完全没有类似键。创建包含如下条目的 ~/.Xmodmap
 

 


 


 

 

 

 

 

 

 

 

 

 

现在你会发现借助于 AltGr 键能够很容易的通过鍵盘输入下列字符:

上述例子文件是基于 UK 键盘的,不过可以很容易的修改为其它键盘布局并自由选择映射的字符  

关 于这个话题有哪些好嘚邮件列表 ?

系统和应用程序 UTF-8 支持的人们进行交流的场 所。 订阅方法是发送主题为 "subscribe 的信件 " 你也可以通过 进行订阅和浏览存档

它们嘚存档中仍包含着有 价值的信息。

我会经常为该文档的添加新的内 容因此请定期来查看。非常欢迎关于改进的建议请为在自由软件社區中传播 UTF-8 的重要性贡献一份力 量。

  • 现可用于缺少 该实现的系统Φ或者存在实现,却无法完成到 / Unicode 的转换它还包含了字符编码查询库 libcharset ,可以允许应用程序以一种具备良好可移植性的方式查询当前 lcoale 所使鼡的编码 方 式避免了直接使用 带来的移植性问 题。
  • 提供了处理 UTF-8 串的各种函数特别是为尚未提供合适的 UTF-8 locale 平台。
  • 项目的组成部分但也鈳以被独立构建。它包含了各种字符类和转换函数 ( )
  • ,用于判断一个字符在 UTF-8 终端模拟器的屏幕上会占据几个光标位置;在 C 库尚未提供对等功能的平台中应用程序可以利 用 该免费实现。
  • 该表中含有全面的 Unicode 字符的替代串类似于人们经常在 email 或打字机中用于表示无可用字符的回退标记 (fallback notation) 。该表以 的 格式被分发以保证可以很容易的被 POSIX

哪 些支持 UTF-8 的软件包正处于开发阶段 ?

  • t 致力于在内核中加入修正版的 VT100 模拟器,这将改善現有的 UTF-8 的过分简单化的支持

是 的 HTTP 服务器可以通过两种方式告知客户某个文档采用了 UTF-8 编码:

  •   保证传输该文档的 HTTP 头部中包含如下内容
 


这适鼡于 HTML 文件;对于纯文本文件,则要变为

 


如何实现上述要求取决于你使用的 Web 服务器如果使用 Apache 并且有一个子目录,其中存放的素有 .html

  • 如果你無法影响 Web 服务器如何自动在文档之前添加 HTTP 头部的话那么就在 HTML 文档的
         这样就能产生相 同的效果。很显然这种方法只对 HTML 文件有效而无法应鼡于纯文本文件;而且,该方式只能在解析器已经开 始读取文件内容后才能告知解析器 该文件使用的编码格式因此,相比之下该方式顯然不如前者优雅。

目前最广泛使用的浏览器对 UTF-8 的有足够好的支持因而通常推荐在网页中采用 UTF-8 编码。陈旧的 Netscape 4 浏览器使用了一种犯人的单┅大号字体来显示所有

还 有一个问题 HTML 表单中输入的非 ASCII 字符在随后的将内容发送给服务器某个 CGI 脚本的 中所探讨的一般,这个问题依然一片混乱我们只能寄望于最终会出现一 套在 UTF-8 下解决这一切的惯例。也可参考 的 相关讨论

PostScript的字形名字与UCS码值是怎么关联在一起的?

对包含 40000 个以仩字符的 Unicode 进行完整和全面的实现,这是一个庞大的工程然而,很多情况下 ( 尤其对于欧洲市场 ) 同之前 一 样只实现几 百或几千字符就足够了而且仍然享受 Unicode 所提供的的单一简单编码覆盖所有需要字符的简洁性。已经有很多不同的 UCS 子集被制定出来:

    • 中的全部字符 [ 注意如果目的僅是提供最简单、最低成本的合理 UCS 中欧子集,我会选择实现 MES-1 外加以下
    • 叙利亚语 / 亚美尼亚语 / 格鲁吉亚语字符的子集它涵盖了欧洲 ( 不止是欧 !) 欧洲语言国 家使用的所有语言和所有 8-bit 码值页。它还附加了一个在技术文档中使用的数学符号的很小集合 MES-2 MES-1 的超集。如果只面向欧洲戓西方市场进行开发 MES-2 是推荐使用的字符表。 [ 注意 8 个字符这样就能附加实现对 WGL4 的兼容 ]
    • MES-3 是一个包含 2819 个字符、非常全面的 UCS 子集它将所有對欧洲用户有潜在使用可能的 UCS 字符包含进来。
  • 是 由某个家伙 1995 年提交的备忘录他显然并不喜欢 存在交集。它只是一个在 Windows NT 1995 年的某个日语蝂本中偶然实现的特殊字体 RFC 1815 现在已是完全过时和不相干,最好被忽略
  • xterm 字体包完成的基础。

Markus Kuhn 编写的 Perl 脚本 许对 UCS 子集进行方便的集合运算它对于想要定义一个新的 UCS 子集或是检查某个实现的覆盖范围的用户很有用。

在 不同编码方式之间进行转换时需要考虑哪些问题 ?

Unicode 协会维护叻一组 Unicode 和其它旧有编码标准之间的 重要的是要明白,这些映 射表的主要目的是展示 Unicode 是被映射的旧有编码的超集并记录为了保证对旧有芓符集的 round-trip 兼容而纳入 Unicode 标准的那些 字 符背后的动机和起源。优秀的字符编码转换函数应完成的任务远比盲目的应用这些示例映射表复杂的哆!这是因为某些字符集中一致的字符在其它字符集中却被 区 分。

映射表只 在一定程度上适用于将文本直接由旧式编码转换为 Unicode 然而高端嘚转换工具应该提供交互机制,使得在旧式编码中一致而在 Unicode 中被区分的字符可以被逐个的交互式或半自动的消除歧义 Unicode 到旧式字符集的反向转换需要以上映射表的多对一扩展。在很多旧式编码 中若干 Unicode 字符必须被映射至单一 码值。 Unicode 会目前并未为此而维护标 准多对一表洏且也没有为字符集转换工具定义任何标准行为。 以下是一些从 Unicode 转为其它形式时必须解决的多对一映射的例子:

从现有标准化信息中可以菦似的生 成类似的多对一映射表然而对这些映射表仍必须进行手动扩展和修订。例如似乎显而易见, IBM PC 字符集中 0XE1 原本既被当作小写 beta 使用 ( 洇为当在德语键盘上按下 sharp-s 键时生成该值 ) 类似的, 0XEE 既可以是数学符号 属于 " 也可以是一个 small epsilon 。这些字 符并不是 Unicode 标准等价字符因为尽管它們在低解析度字体下看起来很相似,然而在高 质量印刷中它们是完全不同的字符 IBM CP437 提供的 体现了一种用途,而微软提供的 则体现了另一種用途 ; 两者具备同等的合理性一个优秀的转换器在从 Unicode 进行转换时,应该做到对二者都兼容而不是盲目 的 只使用 Microsoft 的映射表。

的等价信息可使用 。 对于上述例子中的 IBM PC 字符标准映射表并未提供足够的映射;此时在 Unicode book 中对外形近似字符的交叉引用,则成为等价映射有价值的参栲来源最 后,究竟选用哪种映射是个人喜好问题

Unicode 协会曾维护了至 CJK 字符集的映射表,但已经宣布它们是过时和废弃的这事因为它们在 Unicode Web 垺务器上的存在而导致了一大批幼稚、不完整的转换器被开发出来。要特 别指出的是现已废弃的 CJK Unicode 映射表, 在某些情况下必须进行轻微的修改来保留组合 ( 字符 ) 编 码中的信息 ( 完整性 ) EUC-JP 转换器必须使用一个略微修改过的 就该问题提供了进一步的指导另一个存在的问题是它同旧有映射表存在 兼容性问题,这点在 Tomohiro Kubota 中有相关解释

除了使用标准规范映射表外,编码 转换器的开发者还可以提供对转译 ( transliteration) 的 支持转译的意思┅个将 Unicode 字符在目标编码中转换为一个在图形和 中是不同的字符。例子如下:

System 标准最新版本的示例实现目前大部分的 以及 部分示例实现仍嘫没有未

这其中已经得到修正的包括:

  • X11R6.8 中增加了很多广泛使用的 Unicode 标准字体,而且这些字体现在被某些经典的标准工具所支持例如 xterm

对于 Unicode 鼡户 X11 标准还存在许多问题;其示例实现中还存在某些不方便之处,仍然需要在 某个后继 X11

    • 提供一个扩展而是用另一种简单的多、更方便洏且同样强大的机制来替 代这个庞然大物。  
    • 很多现有的应用程序能够通过 CTEXT 交流所选内容但并不支持新增的 UTF-8 CTEXT 的使用者必须选择是使用旧 式 的 ISO 2022 编码还是新增的 UTF-8 编码但二者无法同时使用。换言之将 UTF-8 加入 CTESX 严重破坏了与现有 CTEXT
    • 当前的 CTEXT 规范甚至在第六节明确禁止添加 UTF-8 复合文本Φ不使用其它在
    起草了一份对 ICCCM 进行扩展的建议草案 ,通过加入一个新的可用于属性类型和选择目标的 UTF8_STRING 来处理 UTF-8 选择 ( 区 域 ) 这种方法利落的解決了上述所有问题。 一样的无状态和易用并且增加一个新的选择对象允许应用程序同时以旧 有的 CTEXT 和新增的 UTF8_STRING 格两种格式提供选择区域,这使得协同工作能力最大化 选 择区域的持有者和请求者之间可以对 UTF8_STRING 的使用进行协商,无论如何也不会导致兼容性问题 Markus Kuhn 已制作好了一个 , 咜向标准中添加了必要的定义当前情况, UTF8_STRING 已在 X.Org
  • 未知字符集 ) 之一表明采用的文本编码。单纯添加 UTF8_STRING 作为 TEXT 的可选项会破坏对那些不知
  • 低效率嘚字体数据结构 Xlib API X11 协议中用于表示字体度量信息的数据结构在处理稀疏分布的字体时极度 缺乏效 ) 的 数组。数组的大小等于字体中最后┅个字符的码值减去第一个字符 的码值后再加 1 因此,任何同时包含 U+0020 65502 个元素的数组这意味着 786KB 的客户端内存和数据传输。

迄今为止采用叻某些变通方法 :

    • 的字符这将内存需求减至 153KB ,虽然仍然 不 良但少了很多 ( 实际上在 BDF 文件中有很多有用的字符其码值超过了 U+31FF, 等待着这个问题某一天被解决;但是现在他们都被编码为 -1 因此被 X server
    • 尾部附加字符码值范围来完成,这在 3.1.2.12 这一节有详细说明例如:
    • 之间使用 Xlib 的共享内存。

這些变通并没有解决 XFontStruct 不适用于稀疏分布字体这一底层问题但是他们的确提供了显著的效率改 善,而不需改变任何 API Client 源码真正的解决方案应该是用某个稍微更灵活的、包含有序线性表或哈 希表而不是数组的数据结构扩展或取代 XFontStruct 。 对 XFontStruct 的重新设计同时还为增加急需的组合字苻和 ligature

character-glyph mapped, 随你的便 ) 。在这种编码中为每个字形分配的数值是真正的字体相关的字形值,而 不是任何 UCS 码值的等价物应用程序要利用这种新嘚字体编 码 的话,需要配合使用一些高效的完成字符 - 字形码值映射的 C 函数:

ISO10646-C 字体仍被限制为不能包含 超过 64K 个字形但是它们可以来自于 UCS 的任何位置,而不只是 BMP 这种解决 方 案还轻易的提供了字形替代特性,这样我们终于可以处理印度字体了它解决了 ISO 10646-1 的超大 XFontStruct 问题,因为现在該结构所 占 空间与字形数成线性关系而不是最大码值。它还可以提供组合字符的简单 " 加 粗 " 不过这样在 ISO 10646-C 字体中组合字符必须以负宽度存儲。它甚至可以通过为同一个组合字符提 供若干个位于不同高度的组合字型来支持可变的组合字符位置。

待办事项:为 ISO 10646-C 属性编写规范編写映射函数的示例实现,并将其添加入 xterm GTK 和其它应用程序和库。志愿者

  • 组合字符 : X11 规范不以任何方式支持组合字符。字体信息中缺少必偠的数据来完成高质 量、自动的重音放置操作 ( 正如在所有的 Tex 字体中所发现的那样 ) 很多人试验了通过 使 用在原始字符左侧带有墨点的零宽喥字符来实现最简单的组合字体 " 加 粗 " ,但详细如何做到这一则点细节不祥 ( 例如零宽度字符在 CharCell Monospaced 字体中被允许么? ) 因此这还不是一个广泛接受的惯例。
  • Ligatures:   印度文字需要支持 ligature 替换的字体文件格式而这同组合字符一样,完全超出了当前 X11 规范的范围

XFree86 小组几位成员一直在围绕这些问题展开工作。 个开放团体作为 X 协会的官方继承者以及 X11 标准及其示例实现的管理者,已经

X11 规范不以任何方式支持组 合字符字体信息中缺少必要的数据来完成高质量、自动的重音放置操作 ( 正 如在所有的 Tex 字体中所发现的那样 ) 。很多人试验了通过 使 用在原始字符左侧带有墨点的零宽度字符来实现最简单的组合字体 " 加 粗 " 但详细如何做到这一则点细节不祥 ( 例如,零宽度字符在 CharCell Monospaced 字体中被允许么 ) ,因此这还鈈是一个广泛接受的惯例

至于与字体相关的问题,解决方案 很可能会是完全丢弃旧式的服务端字体机制而改而使用 XFree86 新提供的 另一项正茬进行中相关工 作是 Sun 正在开发的

在标准输出上打印欧元符号 (U+20AC)



 


  有很多方法可以用于输入标准键盘上没有的 Unicode 字符

  • 在一个小文件中将你最瑺用到的 Unicode 字符按照最符合应用的方式安排好,要用的时候执行复制和粘帖操作对 于相对而言很少 用到的非常特殊的字符,例如更为深奥嘚数学运算符这通常是最方便和 最合适的方法。
  • 使用 xmodmap 对键盘映射进行扩展如果你的键盘上有专用于此的 AltGr 键的话,这种方法会非常方便;某些 US 键盘上没有 AltGr 而只有右 Alt 键而其它键盘则很不幸的完全没有类似键。创建包含如下条目的 ~/.Xmodmap
 

 


 


 

 

 

 

 

 

 

 

 

 

现在你会发现借助于 AltGr 键能够很容易的通过鍵盘输入下列字符:

上述例子文件是基于 UK 键盘的,不过可以很容易的修改为其它键盘布局并自由选择映射的字符  

关 于这个话题有哪些好嘚邮件列表 ?

系统和应用程序 UTF-8 支持的人们进行交流的场 所。 订阅方法是发送主题为 "subscribe 的信件 " 你也可以通过 进行订阅和浏览存档

它们嘚存档中仍包含着有 价值的信息。

我会经常为该文档的添加新的内 容因此请定期来查看。非常欢迎关于改进的建议请为在自由软件社區中传播 UTF-8 的重要性贡献一份力 量。

我要回帖

 

随机推荐