Información adicional

Información adicional

He descargado estas dos fuentes:

Corro fc-cache -f -v, así que fc-listestoy 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 xelatextodavía no admite fuentes variables.

Si xelatexadmite fuentes variables, ¿alguien podría decirme por qué mi sistema muestra esos errores al intentar compilar el documento?

Si xelatexno 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 VFnombre 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 fontspecdocumentación, parece que solo LuaLaTeX admite fuentes variables; fontspecSe agregó soporte para ellos muy recientemente, en la versión 2.9a.

Respuesta2

Según la documentación, la corriente fontspecadmite fuentes Master múltiples en XeTeX, pero no Variable, mientras que LuaTeX admite Variable pero no Multiple Master.

fontspec.pdfsecció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.

fontspec2024/02/13 v2.9a

Esta es la versión fontspecactualmente en CTAN (2024-04-27).

información relacionada