如何在 XeLaTeX 中输入字符

如何在 XeLaTeX 中输入字符

如何输入非键盘字符TeXShop

我的最低工作示例:

\documentclass{book}
% Font Settings
\usepackage{fontspec}
\newfontfamily\myfont{C64 Pro Mono}
\begin{document}
\myfont\huge
Commodore 64 Font\par
\normalfont
Normal Font\par % Book title
\end{document}

文本“Commodore 64 Font”按照我想要的方式出现在 C64 Pro Mono 字体中,但是我不知道如何获取超出我在键盘上可以输入的内容的其他字符(见图)。

我使用的是 Mac,因此我可以通过 Characters 应用程序找到其他字符的代码,但我不知道如何将它们输入TeXShop。如果我进行剪切和粘贴,则会得到奇怪的字符。

将字符粘贴到 TeXShop 中

我假设有一种方法可以放入 Unicode,但我不知道如何做。

我见过输入非英语语言的例子 - CJK 等 - 但TeXShop似乎不允许我这样做。

Mac OS X 上的字符

编辑后添加:

根据以下答案,我在字符查看器中找到了字形代码,因此我在这里添加了一张图片,以防其他人正在寻找方法来查找要使用的字形编号 \XeTexglyph

C64字形

答案1

输入字符的另一种方法是使用\XeTeXglyph宏直接输入字符,或者使用\char宏使用它们的 Unicode 字符代码。

例如,心形符号是 Unicode 2665,因此您可以使用以下方式输入:

\char"2665

也可以使用字体特定的字形索引号。对于像 C64 字体这样没有大量字符库的字体,这可能是最简单的方法。以下文档为 C64 Pro Mono 字体创建了一个完整的字体表(上限是通过反复试验找到的,但您也可以使用 FontForge 来查找字形的总数)。

% !TEX TS-program = xelatex

\documentclass[12pt]{article}
\usepackage{pgffor}
\usepackage{fontspec}

\newfontfamily\csixtyfour{C64 Pro Mono}

\DeclareTextFontCommand{\textcom}{\csixtyfour}
\begin{document}
\parindent=0pt
\foreach \x in {4,...,312}
   {\x\thinspace\textcom{\XeTeXglyph\x} }

\end{document}

字体表

答案2

只需双击角色查看器中的角色(在其中一个表中,或在“角色信息”正下方的方块中较大的一个)。这将自动尝试将其插入到您使用的最后一个窗口中。

你不会如果您的 TeXShop 窗口使用的字体不包含您刚插入的 Unicode 字符,则会出现该字符(否则您将得到“奇怪的字符”),但该字符仍然存在于您的文件中。编译它 - 该字符应该出现在 PDF 中。

如果需要,您可以转到 TeXShop 的首选项并将“文档字体”更改为 C64 字体。这只会影响您在屏幕上看到的内容,而不会影响 XeTeX 输出的内容。(但老实说,除了检查您是否插入了正确的字符外,您真的用该字体编辑整个文档?<颤抖>)

相关内容