输入和输出编码| 用于 Java 的 Aspose.TeX

如果我们按键盘上的键,将生成一些代表特定字符的数字代码。一个输入编码的映射到其相应代码的字符。例如,在德语键盘上,可以将重音字符(例如“ a-umlaut”字符)映射到不同操作系统下的不同代码。

存储在计算机文件中的文档仅包含字符代码,但是有关输入编码的信息未明确包含。因此,如果您将文件转移到其他环境中,例如,从联合国说明到英国,您可能会发现,当您使用某些程序查看文件时,文档中的美元符号突然将其解释为磅符号,这些程序对输入编码进行了错误的假设。

由乳胶项目团队开发的“输入软件包”旨在帮助输入编码问题。它允许用户明确指定用于文档或文档部分的输入编码。这种机制使将文档从一个乳胶安装转移到另一个相同的印刷结果是安全的。

iptupenc软件包都会在文件中解释字符代码,并将其映射到 内部乳胶表示,该乳胶表示 *唯一涵盖了在乳胶中代表的所有字符。在进一步的处理中,例如写入某些辅助文件,乳胶使用此内部表示,从而避免了任何误解。

但是,迟早,乳胶必须将这些内部字符表示与 glyphs(某些字体中的字符形状)相关联,因此需要另一个映射。任何TEX字体中最多都有256个字形。这些字形不是按名称来解决的,而是通过代表字体中字形位置的8位数字来解决的。这意味着我们必须将大型独特命名空间映射到几个小空间,而这些字形位置可能会差异很大,这并不奇怪。

因此,即使我们将美元符号的含义从外部文件保留到乳胶的内部词,但如果我们选择了印刷字体,即在我们假设的位置上保留了一个以美元符号保留的位置,我们仍然会发现纸上的形状错误。 nfss(乳胶的新字体选择方案)的任务之一是确保正确渲染任何乳胶内部字符表示形式,或者,如果由于某种原因是不可能的,则用户会收到正确的错误消息。

如果字体包含重音字符作为单个字形,而不仅仅是基本字符加上重音(从内部构建重音字符),则最好使用这些字形,因为它们通常具有更好的外观。使用这些复合字形的另一个(技术)原因是,\ accent原始人将抑制连字符。

为了适应不同的情况,像 \'e(LaTeX 对‘e-acute’字符的内部表示)这样的命令有时必须启动涉及 \accent 原语的复杂操作,有时它只是通知段落构建器它需要当前字体中某个slot(位置)的字形。

所有这些都是通过 *输出编码 *的概念来实现的,这些概念是乳胶的内部字符表示与适当的glyph位置或Glyph构建动作的映射,具体取决于用于排便中的字体中可用的实际glyphs。

以下文章讨论了NFSS的第2条,该版本在1994年成为标准乳胶的一部分。

Have any questions about Aspose.TeX?



Subscribe to Aspose Product Updates

Get monthly newsletters & offers directly delivered to your mailbox.