天城文和阿拉伯文字体的正确轮廓

天城文和阿拉伯文字体的正确轮廓

请节省您的时间和精力在这个问题上,我也提交了一个可能的解决方案。

捷克 TeXist Zdeněk Wagner 在他的文章(捷克斯洛伐克 TeX 用户组的 Zpravodaj 期刊,1/2013)中提到了使用命令获取正确轮廓字体(例如 Devanagari 和阿拉伯字体)的问题\pdfliteral。这是一个例子和预览排版在CODE2000.TTF字型。

问题是我们实际上看到的是字形是如何组合在一起的,见左图,右图显示了正确的形式。如何从左图转到右图?为什么此示例使用 可以运行lualatex,但使用 则不能xelatex

%! {xe|lua}latex mal-deva.tex
%   xelatex is not working, lualatex does work
\documentclass[a4paper]{article}
\pagestyle{empty}\parindent=0pt
\usepackage{fontspec}
\usepackage{xltxtra}
\begin{document}
\huge
% http://web.archive.org/web/20101122142710/http://code2000.net/CODE2000.ZIP
\setmainfont[ExternalLocation]{CODE2000.TTF}%
\def\malword{देवनागरी}% Term in English: Devanagari
\pdfliteral page {q 2 Tr 0.7 w 0 0 1 0 k 1 0 1 .1 K}
\malword
\pdfliteral page {Q}
\end{document}

穆恩韦

答案1

我使用两个步骤。首先,我绘制字体的轮廓,然后在第二步将字体放在上面。正在\pdfliteral使用的命令,它不适用于xelatex,我们必须将其更改为表单。因为和\special{pdf: code中的从左到右和从右到左排版设置不同,所以我需要根据使用的格式在该命令中使用和。xelatexlualatexlr\makebox

这种方法唯一剩下的问题是,我们失去了一半的轮廓宽度(内部部分),但我们可以通过改变w,比如从0.71.0(理论上到1.4)。我附上了一个可能的解决方案。

%! {xe|lua}latex mal-deva-solution.tex
\documentclass[a4paper]{article}
\pagestyle{empty}\parindent=0pt
\usepackage{fontspec}
\begin{document}
\huge
% http://web.archive.org/web/20101122142710/http://code2000.net/CODE2000.ZIP
\setmainfont[ExternalLocation]{CODE2000.TTF}%
\def\malword{देवनागरी}% In English: Devanagari
\special{pdf: code q 2 Tr 0.7 w 0 0 1 0 k 1 0 1 .1 K}%
%\pdfliteral page {q 2 Tr 0.7 w 0 0 1 0 k 1 0 1 .1 K} % An alternative for lualatex...
\malword
\special{pdf: code Q}%
%\pdfliteral page {Q} % An alternative for lualatex...
\newpage
\ifpdf
  \def\malside{r}%
\else
  \def\malside{l}%
\fi
\makebox[0pt][\malside]{%
\special{pdf: code q 1 Tr 0.7 w 0 0 1 0 k 1 0 1 .1 K}%
%\pdfliteral page {q 1 Tr 0.7 w 0 0 1 0 k 1 0 1 .1 K}% An alternative for lualatex...
\malword
\special{pdf: code Q}% An alternative for lualatex...
%\pdfliteral page {Q}
}%
\special{pdf: code q 0 Tr 0 0 1 0 k}%
%\pdfliteral page {q 0 Tr 0 0 1 0 k} % An alternative for lualatex...
\malword
\special{pdf: code Q}%
%\pdfliteral page {Q} % An alternative for lualatex...
\end{document}

相关内容