我想使用 texlive luatex 中的表情符号包。我在 Ubuntu 20.04 下安装了 TexLive 2019。
我使用以下命令来安装该包,它不是 ubuntu texlive 发行版的一部分:
tlmgr init-usertree
tlmgr repository add ftp://tug.org/historic/systems/texlive/2019/tlnet-final
tlmgr repository list
tlmgr repository remove http://mirror.ctan.org/systems/texlive/tlnet
tlmgr option repository ftp://tug.org/historic/systems/texlive/2019/tlnet-final
tlmgr install emoji --verify-repo=none
我的最小例子:
\documentclass{article}
\usepackage{emoji}
\setemojifont{Noto Color Emoji}
\begin{document}
\emoji{grinning}
\end{document}
尝试使用 lualatex-dev 进行编译,结果没有 PDF 文件,但会出现警告和错误消息:
This is LuaTeX, Version 1.10.0 (TeX Live 2019/Debian)
restricted system commands enabled.
(./emoji.tex
LaTeX2e <2020-02-02> patch level 2
L3 programming layer <2020-02-14>
(/usr/share/texlive/texmf-dist/tex/latex/base/article.cls
Document Class: article 2019/12/20 v1.4l Standard LaTeX document class
(/usr/share/texlive/texmf-dist/tex/latex/base/size10.clo))
(/home/andreas/texmf/tex/lualatex/emoji/emoji.sty
(/usr/share/texlive/texmf-dist/tex/latex/fontspec/fontspec.sty
(/usr/share/texlive/texmf-dist/tex/latex/l3packages/xparse/xparse.sty
(/usr/share/texlive/texmf-dist/tex/latex/l3kernel/expl3.sty
(/usr/share/texlive/texmf-dist/tex/latex/l3backend/l3backend-pdfmode.def)))
(/usr/share/texlive/texmf-dist/tex/latex/fontspec/fontspec-luatex.sty
(/usr/share/texlive/texmf-dist/tex/latex/base/fontenc.sty)
(/usr/share/texlive/texmf-dist/tex/latex/fontspec/fontspec.cfg)))) (./emoji.aux
) (/usr/share/texlive/texmf-dist/tex/latex/base/ts1cmr.fd)
Package emoji Warning: It seems that you have not declare an emoji font.
(emoji) You should use "\setemojifont " to set a font.
[1{/var/lib/texmf/fonts/map/pdftex/updmap/pdftex.map}] (./emoji.aux))
406 words of node memory still in use:
3 hlist, 1 vlist, 1 rule, 2 glue, 3 kern, 1 glyph, 4 attribute, 48 glue_spec
, 4 attribute_list, 1 write nodes
avail lists: 1:1,2:17,3:2,4:1,5:21,6:1,7:13,9:7
</usr/share/texmf/fonts/opentype/public/lm/lmroman10-regular.otf></usr/share/fo
nts/truetype/noto/NotoColorEmoji.ttf
! error: (file /usr/share/fonts/truetype/noto/NotoColorEmoji.ttf) (ttf): loca
table not found
! ==> Fatal error occurred, no output PDF file produced!
我也尝试过\setemojifont{NotoColorEmoji.ttf}[Path=/usr/share/fonts/truetype/noto/]
,\setemojifont{Emoji One}
但得到了相同的结果。
字体已安装,位于 lualatex 消息指示的位置。Lualatex 可以正常工作,我可以使用 设置不同的字体\setmainfont{}
。
我在看未找到 loca 表和如何将 Noto Color Emoji 与 lualatex 结合使用?但两者都不涉及表情符号包,也不包含针对我的问题的有效解决方案。第一个已关闭,第二个未考虑相关错误消息loca table not found
。
Twitter Color Emoji
我可以使用带有和的表情符号包Segoe UI Emoji
,但结果是黑白的。
那么,有什么办法可以让表情符号包与 TexLive 2019、Ubuntu 20.04 和Noto Color Emoji
/或一起使用吗Emoji One
?
答案1
回答我自己的问题:Ubuntu 20.04 的 TeX Live 2019索赔提供luahbtex
(在软件包描述中texlive-luatex
),但实际上并没有。更糟糕的是lualatex-dev
,它默默地将应该在 上运行的链接luahbtex
到luatex
。
可以使用以下解决方法:
下载https://mirrors.rit.edu/CTAN/systems/texlive/tlnet/archive/luahbtex.x86_64-linux.tar.xz(或与您的架构相对应的任何内容)。当然,您可以使用另一个镜像。
将此
luahbtex
包中的二进制文件放入/usr/local/bin
并在同一目录中创建到lualatex-dev
的软链接luahbtex
。改变
/var/lib/texmf/fmtutil.cnf-TEXLIVEDIST
线路lualatex-dev luatex language.dat,language.dat.lua lualatex.ini
到
lualatex-dev luahbtex language.dat,language.dat.lua lualatex.ini
。(也就是说,将引擎从 改为
luatex
。luahbtex
)跑步
sudo fmtutil-sys --byfmt=lualatex-dev
。使用包
lualatex-dev
,您现在可以编译任何 TeX 文件emoji
,或者以其他方式依赖它,luahbtex
而不会出现问题。(在这种情况下,除非您想更改包本身选择的字体,否则emoji
无需使用。)\setemojifont{}