Re: Suppressing Ligation of Spacing Marks

2016-11-09 Thread Norbert Lindenberg
The part of the specification of the Universal Shaping Engine [1] that deals 
with ZWNJ is a bit unclear, but I read it to mean that ZWNJ should not cause 
the insertion of a dotted circle if the character following it has general 
category Mn or Mc.

The USE specification says: "The zero-width non-joiner is used to prevent a 
fusion of two characters. It continues a preceding cluster but causes a cluster 
break after itself when the following character is not a mark character (gc=Mn 
or gc=Mc).”

The specification does not say how this character should be handled in cluster 
validation. I assume first that the statement about the combining grapheme 
joiner also applies to ZWNJ: “CGJ has been omitted from the above schema in 
order to avoid unnecessary complexity”. I further interpret the little the spec 
does say about ZWNJ to imply that it should be allowed before any character 
with general category Mn or Mc, without affecting the validity of the cluster. 
Inserting a dotted circle would be equivalent to causing a cluster break, which 
the spec rules out when the following character has general category Mn or Mc.

 U+1A63 has gc=Mc, so it shouldn’t be preceded by a dotted circle in the 
sequence . Note that I omitted the first “…” from the 
sequence you provided, because an intervening character might trigger the 
dotted circle.

So this may just be a bug in the implementation of the USE that you’re using. I 
see this bug in Safari (CoreText), but not in Firefox (Harfbuzz); haven’t tried 
Edge. Which one are you using?

[1] http://www.microsoft.com/typography/OpenTypeDev/USE/intro.htm

Best regards,
Norbert


> On Nov 8, 2016, at 18:09 , Richard Wordingham 
>  wrote:
> 
> Should it be possible to suppress the ligation of a base character and
> a visually following spacing mark in plain text?
> 
> The example I have in minf is the sequence  U+1A63 TAI THAM VOWEL SIGN AA>.  It may be desirable to suppress the
> ligation because both ligands have subscript consonants.  However, if
> I write , the Universal Shaping Engine
> decides that the ZWNJ triggers a new syllable, and inserts a dotted
> circle before SIGN AA.  (The dotted circle after SIGN AA results from a
> failure to read the proposal for the Lanna script as it was then
> called.)
> 
> Richard.
> 




Re: Suppressing Ligation of Spacing Marks

2016-11-08 Thread Philippe Verdy
inserting some zero-width word joiner or disjoiner should work with this...
But if you see a dotted circle, you need to encode some zero-width space as
the base holder for the combining vowel sign following it.

However I wonder if fonts accept zero-width holders for combining vowels,
they could still assume that there's no matching base consonnant and thus
insert another base dotted circle.

There's no consensus across script for using the same null-base holder
acting as a pseudo-consonnant for vowels encoded after them (e.g. Hangul
has its own jamo holder for this because of its specific algorithmic
composition, but some other scripts also use such null holders for their
own orthography).. In Alphabetic scripts, the ZWNJ should work.

But in Indic scripts we are all depending on the capability of renderers to
support specific scripts with only specific subsets of base letters and
every other character outside this subset will trigger the insertion of a
dotted circle glyph, and ZWJ/ZWNJ is already specific for being used in
script-specific clusters for some distinctions (notably to control how
parts of clusters are subgrouped ...)

You'll need to "bug" the maintainers of the renderer if they forgot
necessary cases described earlier for the script when it was initially
approved for encoding.

2016-11-08 10:09 GMT+01:00 Richard Wordingham <
richard.wording...@ntlworld.com>:

> Should it be possible to suppress the ligation of a base character and
> a visually following spacing mark in plain text?
>
> The example I have in minf is the sequence  U+1A63 TAI THAM VOWEL SIGN AA>.  It may be desirable to suppress the
> ligation because both ligands have subscript consonants.  However, if
> I write , the Universal Shaping Engine
> decides that the ZWNJ triggers a new syllable, and inserts a dotted
> circle before SIGN AA.  (The dotted circle after SIGN AA results from a
> failure to read the proposal for the Lanna script as it was then
> called.)
>
> Richard.
>
>


Suppressing Ligation of Spacing Marks

2016-11-08 Thread Richard Wordingham
Should it be possible to suppress the ligation of a base character and
a visually following spacing mark in plain text?

The example I have in minf is the sequence .  It may be desirable to suppress the
ligation because both ligands have subscript consonants.  However, if
I write , the Universal Shaping Engine
decides that the ZWNJ triggers a new syllable, and inserts a dotted
circle before SIGN AA.  (The dotted circle after SIGN AA results from a
failure to read the proposal for the Lanna script as it was then
called.)

Richard.