XeTeX + Polyglossia:孟加拉文字形呈现不正确 - 我该如何纠正?

XeTeX + Polyglossia:孟加拉文字形呈现不正确 - 我该如何纠正?

我开始使用 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.appBanglaMNBanglaSangamMN都有正确的连字符形式凯娅,这更奇怪。 (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}

输出:

孟加拉语连字

相关内容