在 XeTeX 中通过 fontspec 访问私有使用区域字符

在 XeTeX 中通过 fontspec 访问私有使用区域字符

我正在使用 XeTeX 编码 Opentype 字体。Opentype 字体的一个特点是可以使用私有使用区域。

通常,私有使用区在大多数情况下包含相同字符的不同变体和不同的连字符。它还包含 Unicode 尚未定义的字符。此私有使用区在编码许多印度文本(梵文和其他文本)时非常有用,这些文本有许多相同文本的变体,还有更多文本有待 Unicode 编码。因此,字体提供商在私有使用区中提供这些字符。

问题:如何在 XeTeX 中使用 fontspec 访问私有使用区域?是的!我查看了 fontspec 手册,但似乎没有找到这个?

任何帮助,将不胜感激。

答案1

您可以将字符本身插入到源中,因为 XeTeX 需要 unicode 编码的源(前提是您的编辑器兼容),或者您可以使用 \char"####,其中 #### 是 unicode 十六进制数。

\documentclass{article} 
\usepackage{fontspec}
\setmainfont{Linux Libertine O}

\begin{document}
 %Here I have the character itself, which may or may not show up on your end
\char"E000 % here is the unicode reference number
\end{document}

生成:

替代文本

可能还有其他方法,但这些对我来说有效。

答案2

如果你想写“相同字符的不同变体和不同的连字符”,正如你的引文所说,那么你应该不是使用 PUA 但选择字形变体。Unicode 编码的是字符,而不是字形,使用 PUA 的字体通常只是出于技术原因;PUA 字符不可移植,不应直接输入。请参阅手册中的第 10.9 节,fontspec了解如何手动选择字形变体。如果这还不够,请描述您的实际目标。

相关内容