我开始使用 XeTeX 和 polyglossia 排版孟加拉语。我使用以下命令启用特定于语言的连字:
\newfontfamily\bengalifont[Script=Bengali]{FONTNAME}
一切似乎都运行良好,但如果辅音后跟 U+09CD(Virama),后跟 U+09AF(孟加拉字母 Ya),则输出中不会出现预期的字形。由于某种原因,连字未形成。所有其他组合似乎都有效。我尝试过多种字体,所以我不认为这是字体问题。
这是问题的图片
非常感谢您的耐心!
设置:32 位 Windows 7 上的 MikTeX 2.9.4476
答案1
我已经尝试使用以下代码,如您所见,只有在 中才能正确形成连字Code2000
。奇怪的是,除了 之外,所有字体都会出现此错误Code2000
:
*************************************************
* fontspec warning: "script-not-exist"
*
* Font 'ArialUnicodeMS' does not contain script 'Bengali'.
*************************************************
但当我查找时Font Book.app
,它告诉我BanglaMN
至少BanglaSangamMN
做有孟加拉文字(除Code2000
)。
在 中TextEdit.app
,BanglaMN
和BanglaSangamMN
都有正确的连字符形式凯娅,这更奇怪。 (Arial Unicode MS
但事实并非如此。)
从我的角度来看,这似乎是字体和 XeLaTeX(或 fontspec)问题的混合。
代码:
%!TEX TS-program = xelatex
%!TEX encoding = UTF-8 Unicode
\documentclass[12pt]{article}
\usepackage{fontspec,xltxtra,xunicode}
\begin{document}
\newfontfamily\bengalifontA[Script=Bengali,Scale=10]{ArialUnicodeMS}
\newfontfamily\bengalifontB[Script=Bengali,Scale=10]{BanglaMN}
\newfontfamily\bengalifontC[Script=Bengali,Scale=10]{BanglaSangamMN}
\newfontfamily\bengalifontD[Script=Bengali,Scale=10]{Code2000}
\noindent {\bengalifontA ক্য }\vfill
{\bengalifontB ক্য }\vfill
{\bengalifontC ক্য }\vfill
{\bengalifontD ক্য }\vfill
\end{document}