libttf 错误(未找到字体度量数据或字体度量数据错误)

libttf 错误(未找到字体度量数据或字体度量数据错误)

我在处理文档时无法加载一些从右到左的字体。我随机选择了一种 — Avestan。

MWE 要求您下载https://noto-website-2.storage.googleapis.com/pkgs/NotoSansAvestan-hinted.zip并将 .ttf 文件放在相对于 MWE 的“fonts/”子目录中:

\documentclass[a4paper]{article}
\usepackage{fontspec}
\usepackage[english]{babel}
\newfontfamily\avestanfont[Path=fonts/,UprightFont=*-Regular,Extension=.ttf]{Noto Sans Avestan}
\newcommand{\textavestan}[1]{\bgroup\textdir TRT\avestanfont #1\egroup}
\begin{document}
Test Avestan: \textavestan{

答案1

这似乎是 fontspec 和/或 luatex 的一个错误;但是,对于遇到类似问题的人,我确实有一个解决方法。

问题:fontspec/luatex 无法读取 .ttf 文件。

解决方案:将.ttf 文件转换为有效的.otf 文件,luatex 将能够看到它。

使用 fontforge,我编写了失败的字体如下:

fontforge -lang=ff -c 'Open($1); Generate($2)' NotoSansAvestan-Regular.ttf NotoSansAvestan-Regular.otf

然后将 mwe 更改为:

\documentclass[a4paper]{article}
\usepackage{fontspec}
\usepackage[english]{babel}
\newfontfamily\avestanfont[Path=fonts/,UprightFont=*-Regular,Extension=.otf]{Noto Sans Avestan}
\newcommand{\textavestan}[1]{\bgroup\textdir TRT\avestanfont #1\egroup}
\begin{document}
Test Avestan: \textavestan{

相关内容