查找 xelatex 使用的字体

查找 xelatex 使用的字体

我发布了一个关于将 Unicode 纳入pdflatex文档的答案(https://tex.stackexchange.com/a/399571/81006),但实际上这个答案(在工作时)演示了xelatex(在Windows 7上)的问题。

概括: xelatex选择与 Windows 上安装的字体不同的字体。

运行此示例xelatex

\documentclass[multi=my,crop]{standalone}
\usepackage{pgffor}
\usepackage{fontspec}
%\setmainfont{DejaVu Sans}
\setmainfont{Symbola}
\begin{document}

smilie/

答案1

XeLaTeX 会将您的文档编译为一种称为扩展 DVI 的中间格式,然后再将其输出为 PDF。遗憾的是,默认情况下,XDV 驱动程序并不十分冗长。因此,我们首先使用

xelatex -no-pdf test.tex

然后我们打电话给司机,告诉-v

xdvipdfmx -v test.xdv

在我的计算机上,这会输出到控制台

<FONTMAP:/usr/local/texlive/2017/texmf-var/fonts/map/pdftex/updmap/pdftex.map><FONTMAP:/usr/local/texlive/2017/texmf-var/fonts/map/dvipdfmx/updmap/kanjix.map><FONTMAP:/usr/local/texlive/2017/texmf-dist/fonts/map/dvipdfmx/ckx.map>test.xdv -> test.pdf
DVI Comment:  XeTeX output 2017.11.04:1642
<AGL:texglyphlist.txt><AGL:pdfglyphlist.txt><AGL:glyphlist.txt>[1</usr/share/fonts/truetype/ancient-scripts/[email protected]<NATIVE-FONTMAP:/usr/share/fonts/truetype/ancient-scripts/Symbola_hint.ttf/0/H/65536/0/0>
pdf_font>> Input encoding "Identity-H" requires at least 2 bytes.
pdf_font>> The -m <00> option will be assumed for "/usr/share/fonts/truetype/ancient-scripts/Symbola_hint.ttf".
(CID:Symbola)
pdf_font>> Type0 font "/usr/share/fonts/truetype/ancient-scripts/Symbola_hint.ttf" cmap_id=<Identity-H,0> opened at font_id=</usr/share/fonts/truetype/ancient-scripts/Symbola_hint.ttf/0/H/65536/0/0,0>.
>]
otf_cmap>> Creating ToUnicode CMap for "/usr/share/fonts/truetype/ancient-scripts/Symbola_hint.ttf"...
(CID:/usr/share/fonts/truetype/ancient-scripts/Symbola_hint.ttf[CIDFontType2])
Compression saved 52936 bytes
7360 bytes written

答案2

下列的XeTeX 文档,我插入

\XeTeXtracingfonts=1\relax

文档开头附近。它有很多错误,但.log文件仍然包含可猜测的信息(与覆盖的内存交织在一起 :-[):

Requested font "DejaVu Sans" at 10.0pt
 -> 5^^I/windows/fonts/DejaVuSans.ttf

(我的系统上的正确文件名是DejaVuSans_2.ttf —因为它是安装的第 3 个版本)。

相关内容