Re: Off-Topic: Overriding

On Fri, 30 Oct 2015 22:31:38 +0100
"Badral S." <badral@bolorsoft.com> wrote:

> Hi all,
> @Greg,
> With this example, my understanding is then exactly correct. For
> example NAIMA, we have to write a substitution rule like Rule1=if
> {VOWEL_SET|} + I.medi then sub I.medi by I.medi2 (assume that is
> double shilbe) to illustrate i.medi as double shilbe. Then we need to
> write a rule for invalidating Rule1. Like Rule2=if I.medi2 + FVS2
> then sub I.medi2 by I.medi. Please confirm.
> @Richard,
> You said, that the knowledge of what to render lies almost entirely
> in the font. It means, we have write the rules like Rule2 from above 
> example in GSub table and we shouldn't trust that the renderer would
> do something/post-processing for overriding. Is it correct?

Yes.  For most renderers (there will be exceptions for old versions of
Windows and some non-Microsoft renderers), one can arrange for a
combination of normal character and variation selector to be treated
as yet another character with the Unicode properties not specifying
the shape being the same. 

> What did you mean with "a purely formal glyph"?

One that is never rendered, but is instead replaced (or eliminated) by
another character, possibly by a ligature substitution.  In your
example above, FVS2 is a "purely formal glyph".  For example, the FVS2
above is translated to a glyph, but that glyph is not actually
displayed.  I would implement Rule 2 as a ligation of I.medi2 + FVS2 to
I.medi, but that it is because I would not trust all renderers to
handle variation selectors properly.

I would hope that the rendering system would preferentially display
Mongolian text from top to bottom, but otherwise, for the individual
glyphs, the only script-specific knowledge I would expect to see is the
choice when to use an isolated, initial, medial or final form. That
knowledge is defined in the Unicode Character Database, specifically in
the file ArabicShaping.txt.

Richard.

Received on Friday, 30 October 2015 23:59:36 UTC