2019 年 11 月更新

2019 年 11 月更新

我已经安装TeX Live 2019并下载哈夫特克斯。我在 Windows 10 上将 Visual Studio Code 与 LatexWorkshop 一起使用,并且文件编译没有任何问题。tex现在该怎么做才能让 HarfTex 与它或 TexStudio 一起工作?xelatexlualatex

以下是没有 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\binMiKTeX 文件夹中有两个可执行文件。

使用新引擎和 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.dllharflatex.exe和复制harftex.exe到您的texlive/<year>/bin/win32文件夹中。

使用此内容texmf-local/web2cfmtutil.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

如果我可以访问其他二进制文件,我会稍后添加它们。

相关内容