RE: Multiple private agreements (was: RE: Code pages and Unicode)

From: Doug Ewell <doug_at_ewellic.org>
Date: Tue, 23 Aug 2011 15:13:32 -0700

Philippe Verdy <verdy underscore p at wanadoo dot fr> wrote:

>> There's no standard way to specify even one font or private agreement in
>> plain text, let alone how to switch between them within the same
>> document.  This is not an intended use of the PUA.
>
> There exists such standard in the context of plain-text rendering,
> because of font fallback mechanisms (in Windows with Uniscribe, such
> fallback mechanism is not tunable per user preferences, as the list of
> alternative fonts that are tried is fixed by the implementation of
> Uniscribe; but anyway it still exists), which implies that multiple
> fonts will be scanned with an order of preference; font fallback is
> involved each time a character is not mapped on the selected font but
> may be mapped in another font.

That's not a way to specify a font. Neither the creator nor the reader
has control over which fallback font is used. In any event, if the
document contains a PUA code point that is used with two or more
different intended meanings (srivas's scenario), the engine will surely
pick the same font for both instances.

> Such mechanism is exactly similar to the explicit fallback mechanism
> in CSS (where one provides an ordered comma-separated list of
> font-family names), but that also extends this list of fonts
> automatically using the default font fallback mechanisms used for
> plain-text rendering.

In CSS the author can at least pick the fonts.

> In other words, even if you can't instruct a plain-text to use glyphs
> from one font or from another for the same code point (PUA here), such
> possibility still exists in rich-text rendering, because all glyphs
> can become selectable as variants (including the variants listed in
> the same font for the same glyph, in standardized OpenType features,
> provided that the rich-text application implements such
> glyph-selection mechanism).

Then it's not plain text, which is all I was talking about.

> PUAs are effectively not meant to supply the PUA agreement. This has
> to be provided elsewhere, but a font can perfectly transport this
> agreement (for the font as a whole which is separately selectable,
> just like its designed glyph variants are individually selectable by
> some typographic feature tables, as well as by index, for example
> several swash variants of the same letter with more or less
> decorations).

Not perfectly, unless you think that display is everything.

> If you can use font fallbacks, then you can render the same text
> containing distinct PUAs designed for distinct PUA agreements (and
> this demonstrates the utility of the conscript registry, which allows
> cooperation between authors of separate agreements, that have accepted
> to encode their PUA characters with non-conflicting PUA code point
> assignments).

Coordinating private agreements so they don't conflict is clearly the
ideal situation. But many different people and organizations have
already claimed the same chunk of PUA space, as Richard exemplified
yesterday with his Taiwan/Hong Kong example. There is no standard way
to display:

(1) a plain-text file
(2) using only plain-text conventions (i.e. not adding rich text)
(3) which contains the same PUA code point with two meanings
(4) using different fonts or other mechanisms
(5) in a platform-independent, deterministic way

One or more of the numbered items above must be sacrificed.

--
Doug Ewell | Thornton, Colorado, USA | RFC 5645, 4645, UTN #14
www.ewellic.org | www.facebook.com/doug.ewell | @DougEwell ­
Received on Tue Aug 23 2011 - 17:19:03 CDT

This archive was generated by hypermail 2.2.0 : Tue Aug 23 2011 - 17:19:05 CDT