Take the 2-minute tour ×
TeX - LaTeX Stack Exchange is a question and answer site for users of TeX, LaTeX, ConTeXt, and related typesetting systems. It's 100% free, no registration required.

I started using XeTeX with polyglossia for typesetting Bengali. I use the following command for turning on language-specific ligatures:

\newfontfamily\bengalifont[Script=Bengali]{FONTNAME}

Everything seems to work fine, except that if a consonant is followed by U+09CD (Virama) followed by U+09AF (Bengali letter Ya), I do not get the expected glyph in the output. The ligature is not formed for some reason. All other combinations seem to work. I have tried with multiple fonts, so I do not think it is a font issue.

Here is a picture of the problem

enter image description here

Thanks a lot for your patience!

Setup: MikTeX 2.9.4476 on 32-bit Windows 7

share|improve this question
add comment

1 Answer 1

I have tried it out with the following code and as you can see, the ligature is only formed correctly in Code2000. Strangely enough, I get this error for all fonts except for Code2000:

*************************************************
* fontspec warning: "script-not-exist"
* 
* Font 'ArialUnicodeMS' does not contain script 'Bengali'.
*************************************************

But when I look it up in Font Book.app, it tells me that at least BanglaMNand BanglaSangamMN do have the Bengali script (apart from Code2000).

In TextEdit.app, both BanglaMN and BanglaSangamMN have the correct ligated form for kya, which is even stranger. (Arial Unicode MS does not, though.)

From my point of view, this seems like a mixture of both a font and XeLaTeX (or fontspec) issue.


Code:

%!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}

Output:

Bengali Ligatures

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.