From: unicode-bou...@unicode.org [mailto:unicode-bou...@unicode.org] On Behalf 
Of Philippe Verdy

> Lookup tables in fonts (at least OpenType) do not work at the character 
> level, but at the glyph level: they substitute glyph ids by other glyph ids. 

That much is true.


> Sequences of glyph ids are already reordered in visual order by the layout 
> engine when they are searched in OpenType lookups, should they be RTL 
> glyphs, or Indic glyphs with special reordering requirements (independant 
> of the logical ordering of characters/code points).

OpenType lookup tables are agnostic wrt LTR or RTL; sequences of glyphs IDs in 
a lookup are from start to finish. For Indic scripts, some re-orderings are 
assumed to have been applied before lookups are processed. As for bidi, it is 
_not_ the case that a glyph sequence in a lookup table is ordered in LTR visual 
order, as Philippe's statement suggests. Rather, they are ordered from start to 
finish. One might choose to perceive that in LTR/RTL terms; you certainly don't 
have to, though which way you perceive it will have to correlate with whether 
you think of an implementation as actually having done some level reordering 
before OpenType Layout tables are processed--which certainly is not mandatory 
for implementations.


> The only lookup table in fonts that work at the character/code point level is 
> their "cmap" 

Note that the 'cmap' is not typically referred to as a "lookup" table since 
there is a distinct set of data structures in OpenType that are formally called 
"Lookup" tables.


> Not all fonts need a "cmap"; for some of them, a default cmap may be implied 
> or automatically constructed -- for example Symbol fonts in Windows, that are 
> implicitly mapped in a PUA range; 

Not true. All OpenType fonts require a cmap table. This is true even of 
"symbol" encoded fonts. Strictly speaking, symbol-encoded fonts are not encoded 
using Unicode, and so are not mapped in a PUA range. It is true, though, that 
they use 16-bit code points and that in many symbol-encoded fonts the code 
point range used does have numerical values that correlate to those of Unicode 
PUA characters in the BMP. But years ago Bob Hallissy and I confirmed that 
symbol-encoded fonts could work with code points in other numerical ranges.


Peter



Reply via email to