Baixei essas duas fontes:
NotoSansMonoCJKSC-VF.otf
(link permanente para arquivo no repositório oficial do Github)NotoSansMonoCJKsc-Regular.otf
(link permanente para arquivo no repositório oficial do Github)
Eu corro fc-cache -f -v
, então fc-list
estou ciente dessas fontes.
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
Ao usar NotoSansMonoCJKsc-Regular.otf
, o documento é compilado sem 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.
Porém, quando eu uso NotoSansMonoCJKSC-VF.otf
. A mensagem file main.pdf may not be valid.
junto com alguns outros erros são mostrados.
\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.
Acho que isso acontece porque xelatex
ainda não suporta fontes variáveis.
Se xelatex
suportar fontes variáveis, alguém poderia me dizer por que meu sistema mostra esses erros ao tentar compilar o documento?
Se xelatex
não suportar fontes variáveis, eu apreciaria se alguém pudesse fornecer uma fonte confiável que declarasse isso ou alguma parte do código-fonte a partir da qual eu poderia ter concluído isso.
Informações adicionais
Para aqueles que não sabem o significado do VF
nome do arquivo NotoSansMonoCJKSC-VF
, significa "fonte variável"(link para artigo na Wikipedia).
eu encontreiesse assuntona lista de discussão lists.fedoraproject.org que menciona o mesmo problema com a compilação de documentos que usam fontes variáveis com xelatex
.
O bloco de código mostrado abaixo mostra a versão do xelatex
, que usei para compilar os dois documentos mostrados acima.
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
Responder1
Lendo a fontspec
documentação, parece que apenas LuaLaTeX suporta fontes variáveis; fontspec
adicionou suporte para eles recentemente, na versão 2.9a.
Responder2
De acordo com a documentação, current fontspec
suporta fontes Multiple Master no XeTeX, mas não Variable, enquanto Variable, mas não Multiple Master, são suportadas no LuaTeX.
fontspec.pdf
seção 7 página 32:
Atualmente as fontes variáveis OpenType são suportadas apenas no LuaTeX, enquanto as fontes Multiple Master funcionam apenas com o XeTeX.
fontspec
2024/02/13 v2.9a
Esta é a versão fontspec
atualmente no CTAN (27/04/2024).