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: <[EMAIL PROTECTED]>


Reply via email to