复杂文字编排

复杂文字编排Complex text layout,缩写:CTL)或者复杂文字描绘Complex text rendering)是指字位的形状或位置取决于与其他字位的关系的书写系统排版。这个词汇用于一个字符为一个字位的软件国际化领域。

天城文ddhrya-合字。使用JanaSanskritSans页面存档备份,存于互联网档案馆)来产生七个统一码的序列द + ् + ध + ् + र + ् + य = द्ध्र्य。
不同的描绘步骤中展示阿拉伯语中的阿拉伯语名称العربيةal-arabiyyah。第一行展示未经过处理的字母,这是未支持复杂文字编排的应用软件可能会产生的。第二行中则有双向显示机制的结果。第三行则会依据上下文而产生字母的字形

要求复杂文字编排以适当显示的书写系统称为复杂文本,例子有阿拉伯字母婆罗米系文字天城文泰文。许多文本不要求复杂文字编排,例如拉丁文字汉字可通过在一直行或直列中简单地依次显示每个字符来排版。然而这些文本有替代形式或者可选特性(如手写体)时也要求复杂文字编排以在电脑上呈现。

需要复杂文字编排的特征 编辑

复杂文字编排的语言复杂度的主要特征有:

  • 双向文稿,字符有可能由右向左或由左向右书写。
  • 外形因上下文而变的文字。如,一个阿拉伯文字的字符根据上下文可以有四种样式。
  • 显示字符的顺序和其逻辑顺向不一样。如由左向右书写的天城文中,用来表示“短i”的音素是放在前面子音的左边。在कि ki中,ि-i的圆弧会延长到 k-的上方。

不是所有这些特征的出现要求复杂文字编排,例如希腊文中因上下文不同而改变的ς,它只是位在一个单字结尾的σ。统一码对两者分别编码,其分别为U+03C2 ς GREEK SMALL LETTER FINAL SIGMAU+03C3 σ GREEK SMALL LETTER SIGMA,而且没有视作标准或兼容等价。但对于校对和比较用途,软件应将字符串“δῖος Ἀχιλλεύς.”视为等同于“δῖοσ Ἀχιλλεύσ.”,[1]但出于排版用途,这些是有别的,而且不要求复杂文字编排修正。

实现 编辑

多数兼容复杂文字编排的文字渲染软件会包含有关特定文字的信息,而且因此能正确显示它们而不需要字体文件提供怎样输出字符的指令。这样的软件通常提供于函式库当中,包括:

然而,这类软件不能专门描绘任何缺少指令的文本,那些会包含许多小语种文字。替代性的获取方式是封装描绘指令于字体文件中。渲染软件仍需具备读取和遵循这些指令的能力,但这相对简单。

后者的实例即是Apple Advanced Typography英语Apple Advanced Typography(AAT)和Graphite。二者名称皆包含指令格式及支持的软件;AAT内置于苹果操作系统,Graphite适用于Microsoft WindowsLinux系列系统。

OpenType格式首先用于运用第一级访问的系统(渲染当中的输出知识,不是字体),但是有少量特性对复杂文字编排予以辅助,如上下文合字。AAT及Graphite指令可嵌入OpenType字体文件。

注记 编辑

  1. ^ FAQ - Greek Language & Script. Unicode Consortium. 2012-12-03 [2013-09-13]. (原始内容存档于2010-06-23). It is easier to simply equate the two sigma codes for operations which are concerned with word content, for example. 

参见 编辑

外部链接 编辑