我已经安装TeX Live 2019并下载哈夫特克斯。我在 Windows 10 上将 Visual Studio Code 与 LatexWorkshop 一起使用,并且文件编译没有任何问题。tex
现在该怎么做才能让 HarfTex 与它或 TexStudio 一起工作?xelatex
lualatex
以下是没有 HarfTeX给我带来的问题是lualatex
。
答案1
2019 年 11 月更新
从现在开始,将 harfbuzz 与 luatex 和 latex 结合使用的推荐方法是使用基于引擎的 latex 格式luahbtex
以及包含对 harf 模式的支持的 luaotfload 3.11 或更新版本。
二进制文件luahbtex
已添加到适用于主要操作系统的 texlive 2019。它已连接到 lualatex-dev 格式。因此 texlive 用户可以通过使用 进行编译来试用它lualatex-dev
。(请参阅什么是“latex-dev”?关于 latex-dev 的含义)
MiKTeXluahbtex
也有。它也映射lualatex-dev
到这个引擎。你应该在\miktex\bin
MiKTeX 文件夹中有两个可执行文件。
使用新引擎和 luaotfload 3.11,下面的示例将如下所示。不再需要加载特殊的 lua 代码。从此版本开始,脚本应该是字体中的脚本(类似于使用 luatex 和 mode=node 的正常处理)。
\documentclass{article}
\usepackage{fontspec}
\setmainfont{notosansbengali-regular.ttf}[RawFeature={mode=harf;script=ben2;}]
\begin{document}
কণ্যা এখন কি করিবে?
\end{document}
使用当前字体规范,可以像这样选择模式和脚本。
\documentclass{article}
\usepackage{fontspec}
\setmainfont{notosansbengali-regular.ttf}[Renderer=Harfbuzz,Script=Bengali]
\begin{document}
কণ্যা এখন কি করিবে?
\end{document}
======================================
旧版本(harftex 安装)
第一步
由于您使用的是 Windows,因此请从以下位置获取二进制文件http://w32tex.org/。如果您点击链接 ctan 您将找到一个链接harftex-w32.tar.xz
。
将其解压并将harftex.dll
,或许icudt64.dll
,harflatex.exe
和复制harftex.exe
到您的texlive/<year>/bin/win32
文件夹中。
使用此内容texmf-local/web2c
在fmtutil.cnf
harflatex harftex language.dat,language.dat.lua lualatex.ini
harftex harftex language.def,language.dat.lua luatex.ini
texmf.cnf
然后在同一目录中创建包含此内容的
TEXINPUTS.harftex = $TEXMFDOTDIR;$TEXMF/tex/{harftex,luatex,plain,generic,}//
TEXINPUTS.harflatex = $TEXMFDOTDIR;$TEXMF/tex/{harflatex,lualatex,latex,luatex,generic,}//
LUAINPUTS.harflatex = $TEXMFDOTDIR;$TEXMF/scripts/{$progname,$engine,}/{lua,}//;$TEXMF/tex/{harflatex,lualatex,latex,luatex,generic,}//
然后在命令行中运行
mktexlsr
fmtutil-sys --byengine=harftex
然后,您可以harflatex
通过运行以下小文档来尝试是否有效:
harflatex test-document
您将发现使用lualatex
这里没有什么实际区别。要使用附加功能,harflatex
需要更多文件,但这是第二步。
第二步
从获得https://github.com/khaledhosny/harf/tree/master/src所有 luafile 和 harfload.sty 文件。将它们放在例如 texmf-local/tex/latex/harf 中。运行mktexlsr
。
然后使用本文档进行测试(我使用了 noto-font,因为我没有您的)。重要的部分是(除了加载 harfload 包之外)mode=harf
字体定义。具有此设置的字体将在后台使用 harfbuzz。不要将其用于应该使用“正常”lualatex 字体加载器的字体。
\documentclass{article}
\usepackage{harfload}
\usepackage{fontspec}
\setmainfont{notosansbengali-regular.ttf}[RawFeature={mode=harf}]
\begin{document}
কণ্যা এখন কি করিবে? \
\end{document}
使用 harflatex 输出
与 lualatex 的输出进行比较:
答案2
harftex 适用于(当前)x86_64-linux、i386-linux 和 win32,现已贡献者. 可以使用以下方式安装
tlmgr --repository https://contrib.texlive.info/current install harftex
如果我可以访问其他二进制文件,我会稍后添加它们。