Subject: Re: bug#36717: 25.3; greek.el: deprecated vowel+oxia combinations should be replaced with vowel+tonos counterparts

From: "Basil L. Contovounesios" <[email-masked]>
Date: Thu, 18 Jul 2019 19:16:34 +0100

Robert Alessi <[email-masked]> writes:

> As of 2016, the latest versions of Unicode (as of 2016) have now
> formally deprecated and removed the vowel+oxia combinations from the
> Greek extended range, leaving only the vowel+tonos from the basic Greek
> and Coptic range.

Where is the deprecation documented?  What do you mean by "removed"?
AFAIK all of the "deprecated" codepoints are still part of the latest
Unicode standard[1].

> As a result of this deprecation, the sixteen characters found in
> greek.el (Quail package for inputting Greek) that use extended
> codepoints should be replaced with those that use basic codepoints.

I'm not opposed to such a simple search+replace[2], but I'm no expert on
these matters (so please bear with me), and I wonder what effects, if
any, such a change may have.

AFAICT all occurrences of the "deprecated" codepoints in greek.el appear
in classical Greek input methods, not the modern Greek input methods
greek or greek-postfix.  Would users of the classical input methods ever
want to explicitly use the oxia, not tonos, variants?

What confuses me is that, AIUI, the "deprecated" codepoints should
decompose to their Greek and Coptic counterparts[3].  How does Quail
interplay with Unicode normalisation?

[1]: https://www.unicode.org/charts/PDF/U1F00.pdf
[2]: Indeed, I've seen people trip over this discrepancy, but I forgot
     to follow up on this: https://emacs.stackexchange.com/a/43927/15748
[3]: http://www.unicode.org/charts/normalization/

> All affected characters can be found here: -->
> https://wiki.digitalclassicist.org/Greek_Unicode_duplicated_vowels#Affected_characters
>
> Although most Unicode Greek fonts display both versions identically, in
> some cases, not using basic codepoints can break advanced features such
> as alternate forms in Greek script.  To take an example, if some feature
> is supposed to distinguish between regular and `curly' *beta* (β/ϐ) so
> as to print the `curly' shape if the *beta* is found in medial position,
> the substitution will succeed in βάρβαρος, but fail in λάβρος just
> because of the extended codepoint of ά that is used by `greek.el`.

How does the use of oxia instead of tonos on the alpha affect the
substitution of the beta?

Thanks,

-- 
Basil