2011/8/19 Michael Everson <[email protected]>: > There is plenty of space. There would be no difficulty in assigning some rows > to a RTL PUA. Mucking about with the directionality of the existing PUA would > be extremely unwise. > >> Conceivably certain closed user-groups could be using closed-distribution >> rendering engines which would support bidi and glyph reordering or such for >> PUA codepoints. > > Not everyone is a programmer and can devise a rendering engine. But lots of > people can make fonts that could support a RTL conscript or some private > Arabic characters.
Hmmm.... Given the current standard in OpenType, and the fact that OpenType fonts cannot reorder glyphs to support the BiDi algorithm and correctly handle featues like ligatures, I have serious doubt about the feasibility of an OpenType font capable of supporting an RTL conscript or some private Arabic characters, that will work with existing OpenType engines, simply because there's absolutely nothing to describe such properties. This would be possible only if the engine can not only use the existing OpenType fonts, but also include some supplementary character properties tables for PUA assignments used in that font, or these custom properties can be integrated in extension tables added in the OpenType fonts, notably: directionality and mirroring, but also as well the combining classes, some decomposition mappings, and probably also fallback mapping. There would also be the need to represent a finite state machine needed to recognize grapheme cluster boundaries, at least, and list the feature names in which the substitution & positioning rules for recognized sequences of PUA characters (or their mapped glyphs). What this means is that, in practice, PUA are only usable in fonts for characters with strong LTR directionality, excluding all reordering and mirroring. Those conscripts will then have to be represented in PUAs as if they were completely with strong LTR characters, like the sinograms. It's not impossible to do that, but you have to completely forget the logical encoding order and only use a strict visual order for these PUA-encoded conscripts, and even for unencoded rare Arabic letters/clusters for which you'd want to just use a PUA. The alternative is to not use OpenType features, but use one of the alternatives: Apple's AAT or SIL's Graphite, which are less restricted than OpenType, or some newer font formats (in this case, you won't need any newer PUA ranges with strong RTL properties, you can just use the existing assignments). -- Philippe.

