[HarfBuzz] dotted circle is not appearing for dependant vowel
Jonathan Kew
jfkthame at googlemail.com
Tue Jul 24 08:50:05 PDT 2012
On 24/7/12 16:05, Shriramana Sharma wrote:
> On Tue, Jul 24, 2012 at 6:48 PM, Jonathan Kew <jfkthame at googlemail.com> wrote:
>> In general, I think the Indic shaper should *not* insert dotted circles. The
>> one exception that I think may be desirable would be the case of
>> left-reordrant matras when no usable base character
>
> Hi Jonathan -- while I agree in principle that security issues should
> not be the responsibility of the shaping engine and support the idea
> of allowing a meaningful rendering for अिुा, I wonder why you support
> the dotted circle concept for the above case alone?
>
In cases such as repeated copies of a combining mark, it's reasonable to
leave it up to the font to handle positioning such that all the marks
can be seen - e.g. by stacking rather than overprinting successive copies.
However, because the reordering of <0915, 093F> to <i-matra, ka> is done
by the shaping engine before application of OpenType features/lookups, I
don't see any way for a font designer to make the two combinations
render differently. After the initial reordering by the shaping engine,
both <0915, 093F> and <093F, 0915> will yield exactly the same sequence
of glyphs for OpenType layout features to shape, unless the shaper takes
specific action such as inserting a dotted circle as 'base' character.
I suppose the same could be considered to apply when there is a
combining mark at the beginning of a text sequence to be shaped; it has
no base to which it can apply (i.e. we're dealing with a defective
combining character sequence, in Unicode terms).
I note that the Unicode standard says that:
"With isolated combining characters or when a process is unable to
perform graphical combination, a process may present a combining
character without graphical combination; that is, it may present it as
if it were a base character."
This could apply to the <093F, 0915> sequence, for example: U+093F is a
combining character, but it has no base with which to combine. So
perhaps we should "present it as if it were a base" by applying it to a
_space_ glyph (rather than a dotted circle). This would result in a
clear visual distinction between <093F, 0915> (you'd see i-matra applied
to a space, so it'd be separated from the following ka) and <0915,
093F>, without arbitrarily introducing U+25CC into the sequence.
JK
More information about the HarfBuzz
mailing list