From: Andrew West (andrewcwest@gmail.com)
Date: Sat Nov 24 2007 - 19:39:37 CST
On 24/11/2007, John Hudson <john@tiro.ca> wrote:
>
> > I suspect that it is not Notepad per se that is doing this, but Uniscribe.
>
> Yes, it is Uniscribe, but the point is that Notepad -- unlike Word or even WordPad --
> exposes all the default shaping that Uniscribe provides for non-complex scripts,
That is quite different from what you originally said.
> including support for the <liga> feature.
Maybe not.
> > Generally speaking, on Windows, plain text editors that support
> > Unicode are limited in what OT features they support by the version of
> > Uniscribe that is on the user's system.
>
> Yes, but applications can select what calls to make to Uniscribe, and either the
> application or an intermediary library such as OTLS needs to define glyph runs
Yes (or at least character runs that Uniscribe converts to glyph runs).
> and to make decisions about what features Uniscribe should apply.
I'm not sure that is true. As a long time user of the Uniscribe API I
have some experience in this area, and I have never noticed that the
version of Uniscribe that I use provides a mechanism for selecting
what OT features to apply.
However, the new and improved version of Uniscribe for Vista does
include a whole set of new functions that allow the software developer
more direct access to a font's OpenType features, and allows you to
apply *some* optional OT features. Nevertheless, the application still
only has limited control over determining what OT features Uniscribe
will apply and how they will be applied. For example, in the
documentation for ScriptGetFontFeatureTags(), it states that
"This method hides script-required or language-required features
because the shaping engine controls these features. The application
has no control over the shaping engine handling for language-required
features. For example, ScriptGetFontFeatureTags hides the Arabic
script features for initial, medial, and final forms."
In any case I would be very suprised indeed if Notepad (or Windows
edit controls in general) were actually applying optional OT features
intelligently depending upon what was available in the selected font.
I think it much more likely that Notepad is letting Uniscribe make all
the decisions as to what OT features to apply.
> This is why different apps using Uniscribe produce different layout
> behaviour for the same character string set in the same font.
I regularly compare complex script rendering behaviour in my
application (BabelPad) and Notepad using the same version of
Uniscribe, and, on 2K and XP at least, I don't think I've ever seen
any different layout behaviour when Notepad has deigned to use the
font I have asked it use (why have a Font Select dialog if it is not
goiing to use the font I select?!)
Andrew
This archive was generated by hypermail 2.1.5 : Sat Nov 24 2007 - 19:41:50 CST