我发布了一个关于将 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 个版本)。