Weitere Informationen

Weitere Informationen

Ich habe diese beiden Schriftarten heruntergeladen:

Ich verwende fc-cache -f -v, daher fc-listkenne 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.otfwird 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 xelatexvariable Schriftarten noch nicht unterstützt werden.

Wenn xelatexvariable Schriftarten unterstützt werden, kann mir jemand sagen, warum mein System beim Versuch, das Dokument zu kompilieren, diese Fehler anzeigt?

Wenn xelatexvariable 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

VFFü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 fontspecDokumentation scheint es, dass nur LuaLaTeX variable Schriftarten unterstützt; fontspecdie Unterstützung dafür wurde erst vor Kurzem in Version 2.9a hinzugefügt.

Antwort2

Laut Dokumentation werden aktuell fontspecMultiple-Master-Schriftarten auf XeTeX unterstützt, aber nicht Variable, während auf LuaTeX Variable, aber nicht Multiple-Master unterstützt werden.

fontspec.pdfAbschnitt 7 Seite 32:

Derzeit werden variable OpenType-Schriftarten nur in LuaTeX unterstützt, während Multiple-Master-Schriftarten nur mit XeTeX funktionieren.

fontspec13.02.2024 v2.9a

Dies ist die fontspecaktuelle Version von CTAN (27.04.2024).

verwandte Informationen