Re: FW: Private Use Area - Building Combining Classes

From: James Kass (jameskass@worldnet.att.net)
Date: Tue Oct 30 2001 - 16:44:29 EST


Peter Constable wrote:

>
> It's not entirely clear to me what you are conveying, but I think you are
> talking in terms of OpenType lookups, in which case these are all
> operating on glyph IDs and not character codes. Uniscribe must first
> operate on character codes. In the process you're describing (if I have
> understood it), Uniscribe and the OT layout engine may look at a glyph
> with an ID of 0xE001 (or maybe a glyph that is encoded in the cmap as
> U+E001, but that is completely irrelevant since at this point it doesn't
> matter if it is even encoded in the cmap or not), but they never look at
> character U+E001; at the point you are referring to, a transformation to
> glyph space has already occurred.
>
> If we start with data containing < 0995, 09CD, 09A4 >, Uniscribe will
> reorder where needed, do the cmap lookup to get the initial glyph IDs and
> then apply certain feature tags. From there it will start processing
> lookups on the tagged string of glyph IDs. For the situation that was
> asked about, though, you need to consider a scenario in which you start
> with data containing something like < E001, 09CD, 09A4 >. In that
> situation, I believe Unscribe will not operate on U+E001.
>

Well, we seem to be saying much the same thing.

I only wanted to make it clear that, under some conditions, glyphs mapped
to the PUA will work with GSUB and GPOS in Uniscribe.

The substitution tables are set up with Glyph IDs rather than Unicode
values. (Glyph ID means the relative position of a glyph within the
specific font and this varies from font to font.) So, presentation forms
of glyphs may be mapped to the PUA or not mapped at all. (In font
talk, "mapping" means being assigned to a Unicode value.)

If you start with something like < E001, 09CD, 09A4 >, Uniscribe will
not operate on E001, because the Glyph ID for E001 doesn't fall in any
supported script range. But, if a previous substitution was performed
which resulted in the Glyph ID for E001 being substituted for a valid
string, then subsequently a look-up of < E001, 09CD, 09A4 > will indeed
work as expected.

Sorry for being unclear.

Best regards,

James Kass.



This archive was generated by hypermail 2.1.2 : Tue Oct 30 2001 - 16:54:50 EST