[HarfBuzz] 'calt' in the uniscribe arabic shaper
Jonathan Kew
jfkthame at googlemail.com
Sun Aug 18 06:55:15 PDT 2013
Following up on the recent questions regarding 'calt' in Indic
scripts... I'm also noticing some odd behavior in Arabic.
(1) According to http://support.microsoft.com/kb/2786400, contextual
alternates (which I assume to mean the 'calt' feature) should *not* be
applied automatically by uniscribe (by default) in Windows 8, or in a
fully-updated Win7.
However, testing with Arabic Typesetting on Windows 8, I -am- seeing the
'calt' feature applied by default. A simple testcase is <06C1,06D2>,
where the 'calt' feature selects a special ligated form. While I
actually think this is the RIGHT thing to do, it seems to conflict with
KB2786400's description of the intended behavior.
A uniscribe bug, a documentation bug, or what...?
(2) If the same word is encoded using the Presentation Forms codepoints
(not recommended, I know, but there's a certain amount of legacy data
out there in the wild) as <FBA8,FBAF>, then uniscribe does NOT apply the
'calt' feature - indeed, I suspect it's not applying any of the Arabic
shaping features.
However, if I shape the same text using DirectWrite, the 'calt' feature
IS applied even when the text was encoded using the presentation-form
codepoints.
(This difference can be observed, for example, by using Firefox,
disabling harfbuzz (gfx.font_rendering.harfbuzz.scripts = 0) and
comparing the rendering with hardware acceleration, in which case
DirectWrite will be used, vs with hardware acc disabled, when Uniscribe
will be used.)
JK
More information about the HarfBuzz
mailing list