使用带有粗体字体的 arev 时,make4ht 崩溃,错误代码 256

使用带有粗体字体的 arev 时,make4ht 崩溃,错误代码 256

这可能是一个已知问题,但我在谷歌上没看到。我记得以前见过这个,但我可能是错的。所以想发布这个以防万一。如果这是已知的,我会删除它。

此 MWE

\documentclass[11pt]{article}%
\usepackage{amsmath}
\usepackage{arev}

\begin{document}    
\textbf{test}.     
\end{document}

使用make4ht --lua foo.tex原因编译时

--- error --- Improper file `favb8r.htf'
Make4ht: Fatal error. Command tex4ht returned exit code 256

在 cygwin 中使用 TL 2017:

>ls -l /usr/local/texlive/2017/texmf-dist/tex4ht/ht-fonts/alias/arev/favb8r.h
-rw-r--r-- 1 me None 44 Nov 25  2016   favb8r.htf

>cat /usr/local/texlive/2017/texmf-dist/tex4ht/ht-fonts/alias/arev/favb8r.htf
.favb8r
htfcss: favb8r font-weight: bold;


>

可能是文件 favb8r.htf 中的多余空行是原因吗?

更完整的控制台输出:

 .....
Output written on foo2.dvi (1 page, 10520 bytes).
Transcript written on foo2.log.
Make4ht: tex4ht  "foo2.dvi"
----------------------------
tex4ht.c (2012-07-25-19:36 kpathsea)
tex4ht foo2.dvi
(/usr/local/texlive/2017/texmf-dist/tex4ht/base/unix/tex4ht.env)
(/usr/local/texlive/2017/texmf-dist/tex4ht/ht-fonts/iso8859/1/charset/unicode.4hf)
(/usr/local/texlive/2017/texmf-dist/fonts/tfm/public/arev/favb8r.tfm)
(/usr/local/texlive/2017/texmf-dist/tex4ht/ht-fonts/alias/arev/favb8r.htf)
--- error --- Improper file `favb8r.htf'
Make4ht: Fatal error. Command tex4ht returned exit code 256

使用时不会出现错误make4ht foo.tex。只有添加时--lua才会出现错误。

答案1

favb8r字体配置文件中有一个错误favb8r.htf,它引用了自身:

.favb8r
htfcss: favb8r font-weight: bold;

它应该是

.favr8r
htfcss: favb8r font-weight: bold;

点后的第一行引用另一个.htf文件,该文件包含字体提供的每个字符的定义,第二行包含粗体 CSS 定义。

不过,我发现了更严重的错误,生成的 HTML 不包含空格。请参阅此示例文件:

\documentclass[11pt]{article}%
\usepackage{amsmath}
\usepackage{arev}

\begin{document}    
\textbf{test, space}, test, \textit{text} text with spaces    
\end{document}

其结果是:

在此处输入图片描述

这不太好。看来 tex4ht 无法检测 DVI 文件中的空格。目前我不知道解决方案。

相关内容