https://bugs.documentfoundation.org/show_bug.cgi?id=151122

--- Comment #44 from Manu <[email protected]> ---
(In reply to Eyal Rozenberg from comment #43)
> List splitting is a good solution.
> Its detriments:
> * Cannot express the degree-of-coverage (like a partial gray-out could)
> 

Maybe it's possible to express the degree of coverage.
I don't think the "list splitting" solution cannot do it. 
Moreover, it could be done independently of the selected solution.

For example in font Liberation Serif we have this covering per block:
Latin de base U+0000-U+007F 95/128
Latin-1, supplément U+0080-U+00FF 96/128
Latin étendu A U+0100-U+017F 128/128
Latin étendu B U+0180-U+024F 208/208
Alphabet phonétique international (API) U+0250-U+02AF 96/96
modificateurs phonétiques chassants U+02B0-U+02FF 80/80
Diacritiques U+0300-U+036F 112/112
Grec et Copte U+0370-U+03FF 127/135
Cyrillique U+0400-U+04FF 256/256
supplément cyrillique U+0500-U+052F 24/48
Hébreu U+0590-U+05FF 87/88
etc.

In the fonts parameters, maybe we could add a table where the user can set an
identification letter per block:
Table « Display covering of these code pages by identification letter » :
[L] Latin de base U+0000-U+007F /128
[L] Latin-1, supplément U+0080-U+00FF /128
[L] Latin étendu A U+0100-U+017F /128
[L] Latin étendu B U+0180-U+024F /208
[ ] Alphabet phonétique international (API) U+0250-U+02AF /96
[L] modificateurs phonétiques chassants U+02B0-U+02FF /80
[L] Diacritiques U+0300-U+036F /112
[G] Grec et Copte U+0370-U+03FF /135
[C] Cyrillique U+0400-U+04FF /256
[C] supplément cyrillique U+0500-U+052F /48
[H] Hébreu U+0590-U+05FF /88
etc.

Therefore for the font Liberation Serif, we can calculate :
[L] = 95/128 + 96/128 + 128/128 + 208/208 + 80/80 + 112/112 = 632 / 784 = 0,81
[G] = 127/135 = 0,94
[C] = 256/256 + 24/48 = 280 / 304 = 0,92
[H] = 87/88 = 0,98
(blocks without letter are ignored in the calculation)

And with Superscript numbers (º¹²³⁴⁵⁶⁷⁸⁹) or Subscript (₀₁₂₃₄₅₆₇₈₉) we can add
the covering before the name of the font (only the first decimal digit is
enough) in order to compare easily the different lines:
   L⁸G⁹C⁹H⁹ Liberation Serif
Possible other symbols if you don’t like numbers:
◌ not covered   ◔ partially (25 %)   ◑ (partially 50%)
◕ (partially 75%)   ● fully covered

It takes a minimal size, and the user can choose the code pages he want to see
and regroup them in a unique identifier. And if the user can order the
identifiers in the table, we could also imagine the list to be ordered
descending, showing the most covering font first. And if a normal user want to
ignore this, no problem and the font list stays like as before.

Another side of the story, is the problem of shapes. For example with
bulgarian, it must have a different italic shape than russian (see the table
with 3 colors in https://en.wikipedia.org/wiki/Bulgarian_alphabet )
Therefore Liberation Serif is not fully compliant, even when we set the
language to Bulgarian.
Maybe it would be to heavy to add this kind of information in the program code.
Maybe it would be simpler to only indicate next to the selected langage
combobox, that there is 0 or « n » specific shapes for this language in this
font ?

-- 
You are receiving this mail because:
You are the assignee for the bug.

Reply via email to