Ich habe diese beiden Schriftarten heruntergeladen:
NotoSansMonoCJKSC-VF.otf
(Permalink zur Datei im offiziellen Github-Repository)NotoSansMonoCJKsc-Regular.otf
(Permalink zur Datei im offiziellen Github-Repository)
Ich verwende fc-cache -f -v
, daher fc-list
kenne ich diese Schriftarten.
fc-list | grep '\.fonts' | grep 'NotoSansMonoCJKsc'
/home/rodrigo/.fonts/NotoSansMonoCJKsc-VF.otf: Noto Sans Mono CJK SC:style=Medium
/home/rodrigo/.fonts/NotoSansMonoCJKsc-Regular.otf: Noto Sans Mono CJK SC:style=Regular
/home/rodrigo/.fonts/NotoSansMonoCJKsc-VF.otf: Noto Sans Mono CJK SC
/home/rodrigo/.fonts/NotoSansMonoCJKsc-VF.otf: Noto Sans Mono CJK SC:style=Bold
/home/rodrigo/.fonts/NotoSansMonoCJKsc-VF.otf: Noto Sans Mono CJK SC:style=Regular
Bei Verwendung NotoSansMonoCJKsc-Regular.otf
wird das Dokument problemlos kompiliert.
\documentclass{article}
\usepackage{xeCJK}
\setCJKmainfont[
Path = {\string~/.fonts/},
Extension = .otf
]{NotoSansMonoCJKsc-Regular}
\begin{document}
你好!
\end{document}
xelatex /tmp/main.tex
This is XeTeX, Version 3.141592653-2.6-0.999996 (TeX Live 2024) (preloaded format=xelatex)
restricted \write18 enabled.
entering extended mode
(/tmp/main.tex
LaTeX2e <2023-11-01> patch level 1
L3 programming layer <2024-03-14>
(/usr/local/texlive/2024/texmf-dist/tex/latex/base/article.cls
Document Class: article 2023/05/17 v1.4n Standard LaTeX document class
(/usr/local/texlive/2024/texmf-dist/tex/latex/base/size10.clo))
(/usr/local/texlive/2024/texmf-dist/tex/xelatex/xecjk/xeCJK.sty
(/usr/local/texlive/2024/texmf-dist/tex/latex/l3kernel/expl3.sty
(/usr/local/texlive/2024/texmf-dist/tex/latex/l3backend/l3backend-xetex.def))
(/usr/local/texlive/2024/texmf-dist/tex/latex/ctex/ctexhook.sty)
(/usr/local/texlive/2024/texmf-dist/tex/latex/l3packages/xtemplate/xtemplate.st
y
(/usr/local/texlive/2024/texmf-dist/tex/latex/l3packages/xtemplate/xtemplate-20
23-10-10.sty))
(/usr/local/texlive/2024/texmf-dist/tex/latex/fontspec/fontspec.sty
(/usr/local/texlive/2024/texmf-dist/tex/latex/l3packages/xparse/xparse.sty)
(/usr/local/texlive/2024/texmf-dist/tex/latex/fontspec/fontspec-xetex.sty
(/usr/local/texlive/2024/texmf-dist/tex/latex/base/fontenc.sty)
(/usr/local/texlive/2024/texmf-dist/tex/latex/fontspec/fontspec.cfg)))
(/usr/local/texlive/2024/texmf-dist/tex/xelatex/xecjk/xeCJK.cfg)) (./main.aux)
(/usr/local/texlive/2024/texmf-dist/tex/latex/base/ts1cmr.fd) [1] (./main.aux)
)
Output written on main.pdf (1 page).
Transcript written on main.log.
Wenn ich jedoch verwende NotoSansMonoCJKSC-VF.otf
, wird diese Meldung file main.pdf may not be valid.
zusammen mit einigen anderen Fehlern angezeigt.
\documentclass{article}
\usepackage{xeCJK}
\setCJKmainfont[
Path = {\string~/.fonts/},
Extension = .otf
]{NotoSansMonoCJKsc-VF}
\begin{document}
你好!
\end{document}
xelatex /tmp/main.tex
This is XeTeX, Version 3.141592653-2.6-0.999996 (TeX Live 2024) (preloaded format=xelatex)
restricted \write18 enabled.
entering extended mode
(/tmp/main.tex
LaTeX2e <2023-11-01> patch level 1
L3 programming layer <2024-03-14>
(/usr/local/texlive/2024/texmf-dist/tex/latex/base/article.cls
Document Class: article 2023/05/17 v1.4n Standard LaTeX document class
(/usr/local/texlive/2024/texmf-dist/tex/latex/base/size10.clo))
(/usr/local/texlive/2024/texmf-dist/tex/xelatex/xecjk/xeCJK.sty
(/usr/local/texlive/2024/texmf-dist/tex/latex/l3kernel/expl3.sty
(/usr/local/texlive/2024/texmf-dist/tex/latex/l3backend/l3backend-xetex.def))
(/usr/local/texlive/2024/texmf-dist/tex/latex/ctex/ctexhook.sty)
(/usr/local/texlive/2024/texmf-dist/tex/latex/l3packages/xtemplate/xtemplate.st
y
(/usr/local/texlive/2024/texmf-dist/tex/latex/l3packages/xtemplate/xtemplate-20
23-10-10.sty))
(/usr/local/texlive/2024/texmf-dist/tex/latex/fontspec/fontspec.sty
(/usr/local/texlive/2024/texmf-dist/tex/latex/l3packages/xparse/xparse.sty)
(/usr/local/texlive/2024/texmf-dist/tex/latex/fontspec/fontspec-xetex.sty
(/usr/local/texlive/2024/texmf-dist/tex/latex/base/fontenc.sty)
(/usr/local/texlive/2024/texmf-dist/tex/latex/fontspec/fontspec.cfg)))
(/usr/local/texlive/2024/texmf-dist/tex/xelatex/xecjk/xeCJK.cfg)) (./main.aux)
(/usr/local/texlive/2024/texmf-dist/tex/latex/base/ts1cmr.fd) [1] (./main.aux)
xdvipdfmx:fatal: Invalid font: -1 (0)
No output PDF file written.
)
Error 256 (driver return code) generating output;
file main.pdf may not be valid.
Transcript written on main.log.
Ich vermute, dass dies daran liegt, dass xelatex
variable Schriftarten noch nicht unterstützt werden.
Wenn xelatex
variable Schriftarten unterstützt werden, kann mir jemand sagen, warum mein System beim Versuch, das Dokument zu kompilieren, diese Fehler anzeigt?
Wenn xelatex
variable Schriftarten nicht unterstützt werden, wäre ich dankbar, wenn mir jemand eine zuverlässige Quelle oder einen Teil des Quellcodes nennen könnte, aus dem ich darauf schließen könnte.
Weitere Informationen
VF
Für diejenigen, die die Bedeutung von im Dateinamen nicht kennen NotoSansMonoCJKSC-VF
: es steht für „variable Schriftart“.(Link zum Artikel in Wikipedia).
ich fanddieses Problemin der Mailingliste lists.fedoraproject.org, in der das gleiche Problem beim Kompilieren von Dokumenten erwähnt wird, die variable Schriftarten mit verwenden xelatex
.
Der unten angezeigte Codeblock zeigt die Version von xelatex
, die ich zum Kompilieren der beiden oben gezeigten Dokumente verwendet habe.
xelatex --version
XeTeX 3.141592653-2.6-0.999996 (TeX Live 2024)
kpathsea version 6.4.0
Copyright 2024 SIL International, Jonathan Kew and Khaled Hosny.
There is NO warranty. Redistribution of this software is
covered by the terms of both the XeTeX copyright and
the Lesser GNU General Public License.
For more information about these matters, see the file
named COPYING and the XeTeX source.
Primary author of XeTeX: Jonathan Kew.
Compiled with ICU version 74.2; using 74.2
Compiled with zlib version 1.3.1; using 1.3.1
Compiled with FreeType2 version 2.13.2; using 2.13.2
Compiled with Graphite2 version 1.3.14; using 1.3.14
Compiled with HarfBuzz version 8.3.0; using 8.3.0
Compiled with libpng version 1.6.43; using 1.6.43
Compiled with pplib version v2.2
Compiled with fontconfig version 2.13.0; using 2.13.1
Antwort1
Beim Durchlesen der fontspec
Dokumentation scheint es, dass nur LuaLaTeX variable Schriftarten unterstützt; fontspec
die Unterstützung dafür wurde erst vor Kurzem in Version 2.9a hinzugefügt.
Antwort2
Laut Dokumentation werden aktuell fontspec
Multiple-Master-Schriftarten auf XeTeX unterstützt, aber nicht Variable, während auf LuaTeX Variable, aber nicht Multiple-Master unterstützt werden.
fontspec.pdf
Abschnitt 7 Seite 32:
Derzeit werden variable OpenType-Schriftarten nur in LuaTeX unterstützt, während Multiple-Master-Schriftarten nur mit XeTeX funktionieren.
fontspec
13.02.2024 v2.9a
Dies ist die fontspec
aktuelle Version von CTAN (27.04.2024).