He descargado estas dos fuentes:
NotoSansMonoCJKSC-VF.otf
(enlace permanente al archivo en el repositorio oficial de Github)NotoSansMonoCJKsc-Regular.otf
(enlace permanente al archivo en el repositorio oficial de Github)
Corro fc-cache -f -v
, así que fc-list
estoy al tanto de esas fuentes.
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
Al utilizar NotoSansMonoCJKsc-Regular.otf
, el documento se compila sin problemas.
\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.
Sin embargo, cuando uso NotoSansMonoCJKSC-VF.otf
. file main.pdf may not be valid.
Se muestra el mensaje junto con algunos otros errores.
\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.
Supongo que esto sucede porque xelatex
todavía no admite fuentes variables.
Si xelatex
admite fuentes variables, ¿alguien podría decirme por qué mi sistema muestra esos errores al intentar compilar el documento?
Si xelatex
no admite fuentes variables, agradecería que alguien pudiera proporcionar una fuente confiable que indique esto o alguna parte del código fuente a partir del cual podría haber llegado a esta conclusión.
Información adicional
Para aquellos que no conocen el significado del VF
nombre del archivo NotoSansMonoCJKSC-VF
, significa "fuente variable".(enlace al artículo en Wikipedia).
encontréeste problemaen la lista de correo list.fedoraproject.org que menciona el mismo problema con la compilación de documentos que utilizan fuentes variables con xelatex
.
El bloque de código que se muestra a continuación muestra la versión de xelatex
, que utilicé para compilar los dos documentos que se muestran arriba.
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
Respuesta1
Al leer la fontspec
documentación, parece que solo LuaLaTeX admite fuentes variables; fontspec
Se agregó soporte para ellos muy recientemente, en la versión 2.9a.
Respuesta2
Según la documentación, la corriente fontspec
admite fuentes Master múltiples en XeTeX, pero no Variable, mientras que LuaTeX admite Variable pero no Multiple Master.
fontspec.pdf
sección 7 página 32:
Actualmente, las fuentes variables OpenType solo son compatibles con LuaTeX, mientras que las fuentes Multiple Master solo funcionan con XeTeX.
fontspec
2024/02/13 v2.9a
Esta es la versión fontspec
actualmente en CTAN (2024-04-27).