Re: Double Macrons on gh (was Re: Tildes on Vowels)

From: Peter_Constable@sil.org
Date: Fri Aug 16 2002 - 04:38:35 EDT


On 08/14/2002 02:36:37 PM "William Overington" wrote:

>> U+0360 COMBINING DOUBLE TILDE
>
>> U+035D COMBINING DOUBLE BREVE
>> U+035E COMBINING DOUBLE MACRON
>> U+035F COMBINING DOUBLE LOW LINE
>
>I also note U+0361 COMBINING DOUBLE INVERTED BREVE and U+0362 COMBINING
>DOUBLE RIGHTWARDS ARROW BELOW in the code chart.
>
>I wonder if someone could please clarify how an advanced format font
would
>be expected to use such codes.

In a "dumb" font, support for these character can be implemented by having
a glyph that has zero advance width, with the outline extending beyond
both side-bearings.

In a "smart" font, one could position the glyph for one of these combining
marks using attachment points (i.e. the outline of the glyph for the base
character includes a target point, and the outline for the combing mark
includes a specific point that the layout engine aligns over the target
point), or one could look for certain base + combining mark combinations
and substitute the sequence of glyphs for a single composite glyph.

The latter approach has limitations in that you have to choose ahead of
time exactly which combinations you will support, and there can only be a
limited number of such combinations. Attachment points, in general, have
the advantage that they can be designed to work with arbitrary
combinations -- any possible combination. With the double-width combining
marks, though, things are rather trickier. First, you may need to
substitute a variant glyph for the combining mark that has a width to
match the particular pair of base characters -- potentially quite messy;
and then you have to deal with positioning in relation to two base
characters at once, which has additional complexity. For instance, when
positioning a double macron over (say) "la", you need to adjust the height
to the taller of the two glyphs; but you need to make the same adjustment
for "al". One of my co-workers implemented such behaviour in a font using
Graphite a couple of years ago; my recollection is that there isn't an
easy way to accomplish this with OT, but I haven't worked with OT enough
to know for sure.

>I understand from an earlier posting in this thread that the format to
use
>in a Unicode plain text file would be as follows.
>
>first letter then combining double accent then second letter

Yes.

>As first letter and second letter could be theoretically almost any other
>Unicode characters, would the approach be to just place all three glyphs
>superimposed onto the screen and hope that the visual effect is
reasonable

That's one possibility, what I would refer to as the "dumb" rendering
implementation.

>or would a font have a special glyph within it for each of the
permutations
>of three characters which the font designer thought might reasonably
occur
>yet default to a superimposing of three glyphs for any unexpected
>permutation which arises?

This is a possible implementation in a "smart-font" rendering context.

>As a matter of interest, how many characters are there where such double
>accents are likely to be used please? Is it just a few or lots?

This really isn't easy to answer. Someone could tell you, "these 29
combinations..." but they might not -- probably do not -- know about what
every user in the world might have ever needed or will ever need.

>While in this general area, could someone possibly say something about
how
>and why U+034F COMBINING GRAPHEME JOINER is used please?

Please read the relevant portions of the standard (see on section 13.2 in
clause IV of TR#28), and then come back with questions for clarification,
if needed.

- Peter

---------------------------------------------------------------------------
Peter Constable

Non-Roman Script Initiative, SIL International
7500 W. Camp Wisdom Rd., Dallas, TX 75236, USA
Tel: +1 972 708 7485
E-mail: <peter_constable@sil.org>



This archive was generated by hypermail 2.1.2 : Fri Aug 16 2002 - 02:41:45 EDT