Re: [MathML 4] Add rules to map from non-combining to combining accents

Thanks,

In the use case I mentioned, we have a non-combining character in the
MathML tree and wants a combining equivalent (or more generally a list
of combining characters) to look for fallback stretchy construction.
This is because MathML recommends to use non-combining characters while
most OpenType MATH fonts follow TeX i.e. only associate stretchy
constructions to combining characters.

I guess the reverse mapping (combining to non-combining) could be useful
if authors don't follow MathML's suggestion and use combining characters
for <mo> operators. Then a renderer might want to substitute a combining
character with a non-combining one, especially when they are not
stretchy (I don't think browsers do that). Obviously, it could be useful
for authoring tools and generators in order to ensure that their MathML
output indeed use non-combining characters even when internally some
combining versions are used (I understand this is the case of Microsoft
Word per Murray's emails).

For the syntax, the requirement is basically to be able to efficiently
process unicode.xml and extract the list of mappings. So I think adding
data to each <character> element in order to provide such mappings like
what is done for mathvariant sounds OK.

On 04/11/2018 12:51, David Carlisle wrote:
>
> I can add some extra cross reference elements to Unicode.xml to map
> "related" combining and non combining forms. I suggest an initial set
> might be as at the end of this message
>
> Ignore the actual syntax below, it uses the same ids as unicode.xml for
> ease of merging later. The mapping is not 1-1 but that is Ok I suspect
> in this context.
>
> I would propose to add an element referring to U00060 in the entry for
> U00300 and a (different) cross reference in the reverse direction.
>
> Syntax to be determined but something in the style of the existing
> <surrogate mathvariant="bold" ref="U00041"/>
> which maps the "holes" in the math alphabet blocks to the equivalent
> bmp character.
>
> David
>
>
>
>
>
>
> <map>
> <a combining="U00300" style="above" name="COMBINING GRAVE ACCENT"
> noncomb="U00060" />
> <a combining="U00301" style="above" name="COMBINING ACUTE ACCENT"
> noncomb="U000B4" />
> <a combining="U00302" style="above" name="COMBINING CIRCUMFLEX
> ACCENT" noncomb="U002C6" />
> <a combining="U00302" style="above" name="COMBINING CIRCUMFLEX
> ACCENT" noncomb="U0005E" />
> <a combining="U00303" style="above" name="COMBINING TILDE"
> noncomb="U0007E" />
> <a combining="U00304" style="above" name="COMBINING MACRON"
> noncomb="U000AF" />
> <a combining="U00305" style="above" name="COMBINING OVERLINE"
> noncomb="U0203E" />
> <a combining="U00305" style="above" name="COMBINING OVERLINE"
> noncomb="U000AF" />
> <a combining="U00306" style="above" name="COMBINING BREVE"
> noncomb="U002D8" />
> <a combining="U00307" style="above" name="COMBINING DOT ABOVE"
> noncomb="U002D9" />
> <a combining="U00308" style="above" name="COMBINING DIAERESIS"
> noncomb="U00308" />
> <a combining="U0030B" style="above" name="COMBINING DOUBLE ACCUTE
> ACCENT" noncomb="U002DD" />
> <a combining="U0030C" style="above" name="COMBINING CARON"
> noncomb="U002C7" />
> <a combining="U00316" style="below" name="COMBINING GRAVE ACCENT
> BELOW" noncomb="U00060" />
> <a combining="U00317" style="below" name="COMBINING ACUTE ACCENT
> BELOW" noncomb="U000B4" />
> <a combining="U0031F" style="below" name="COMBINING PLUS SIGN
> BELOW" noncomb="U0002B" />
> <a combining="U00320" style="below" name="COMBINING MINUS SIGN
> BELOW" noncomb="U0002D" />
> <a combining="U00327" style="below" name="COMBINING CEDILLA"
> noncomb="U000B8" />
> <a combining="U00328" style="below" name="COMBINING OGONEK"
> noncomb="U002DB" />
> <a combining="U00332" style="below" name="COMBINING LOW LINE"
> noncomb="U0005F" />
> <a combining="U00338" style="above" name="COMBINING LONG SOLIDUS
> OVERLAY" noncomb="U002F" />
> </map>
>
>
> *Disclaimer*
>
> The Numerical Algorithms Group Ltd is a company registered in England
> and Wales with company number 1249803. The registered office is:
> Wilkinson House, Jordan Hill Road, Oxford OX2 8DR, United Kingdom.
> Please see our Privacy Notice
> <https://www.nag.co.uk/content/privacy-notice> for information on how
> we process personal data and for details of how to stop or limit
> communications from us.
>
> This e-mail has been scanned for all viruses and malware, and may have
> been automatically archived by Mimecast Ltd, an innovator in Software
> as a Service (SaaS) for business.
>

-- 
Frédéric Wang - frederic-wang.fr

Received on Sunday, 4 November 2018 18:33:18 UTC