[XeTeX] Incorrect rendering of Vedic Sanskrit accents
David M. Jones
dmj at dmj.ams.org
Sat May 23 02:46:57 CEST 2015
> Date: Fri, 22 May 2015 22:52:24 +0200
> From: Zdenek Wagner <zdenek.wagner at gmail.com>
> The requirement of the Indic specification is to display the dotted
> circle if the mark cannot be combined.
Aha! Thank you the pointer. I assume you're referring to this?
http://www.microsoft.com/typography/otfntdev/indicot/other.htm
Based purely on the text, the situation is still a bit murky, though.
Most seriously, the Indic specification is based on Unicode 3.1 and if
everything in that section is meant to be normative, it's badly
out-of-date with respect to more recent versions of Unicode. For one
thing, it recommends attaching standalone combining marks to a space,
but Unicode now recommends U+00A0 NO-BREAK SPACE for that purpose.
More to the point, the Indic specification says
Uniscribe displays these marks using the fallback rendering
mechanism defined in the Unicode Standard (section 5.12,
'Rendering Non-Spacing Marks' of the Unicode Standard 3.1),
i.e. positioned on a dotted circle.
First, this is only describing how Uniscribe handles this situation;
its not clear that makes this behaviour a normative part of the Indic
script specification.
Second, that is no longer what Unicode recommends as the default
fallback rendering in this situation:
In a degenerate case, a nonspacing mark occurs as the first
character in the text or is separated from its base character by a
line separator, paragraph separator, or other format character
that causes a positional separation. This result is called a
defective combining character sequence (see Section 3.6,
Combination). Defective combining character sequences should be
rendered as if they had a no-break space as a base character. (See
Section 7.9, Combining Marks.)
http://www.unicode.org/versions/Unicode7.0.0/UnicodeStandard-7.0.pdf,
page 221. (This wording goes back at least as far as Unicode
5.0, where it occurs at the bottom of page 173. Alas, I no
longer have a copy of Unicode 3.0 at home, so I can't check
the exact working used in it.)
On the other hand, as enjoyable as it is to play language lawyer with
the Unicode specification, I'm happy to concede the point that I
should just precede isolated characters by U+00A0 and everything will
be ok. I'm much more vexed by the malfunctioning Vedic accents. I
live in hope that that can be fixed so I don't have to throw away my
TECkit transliteration engine and start anew with luaTeX.
Cheers,
David.
More information about the XeTeX
mailing list