On 26/09/2024 13:46, Caolán McNamara wrote:
On Thu, 2024-09-26 at 00:28 +0300, Eyal Rozenberg wrote:
In LibreOffice, we currently partition typefaces, like languages,
into three language-groups: Western, RTL-CTL, and CJK
These categories of RTL+CTL/Complex and CJK/EastAsian are baked into
the odf and open xml file formats,
Indeed... I just found one prominent example of this in the OOXML spec:
17.3.2.20 [1].
But I'm also reminded of something Mike pointed out [2] on bug 151215:
At least when it comes to specifying fonts, Microsoft has moved beyond
this trichotomy. They have multi-language font-spec elements, e.g.:
<a:minorFont>
<a:latin typeface="Calibri" panose="020F0502020204030204"/>
<a:ea typeface=""/>
<a:font script="Jpan" typeface="游明朝"/>
<a:font script="Hang" typeface="맑은 고딕"/>
<a:font script="Arab" typeface="Arial"/>
... etc. more a:font's here
<a:font script="Talu" typeface="Microsoft New Tai Lue"/>
<a:font script="Tfng" typeface="Ebrima"/>
</a:minorFont>
> so whatever about how they are> presented in the UI the
categorization itself at an internal level is
probably unavoidable.
... for now :-) hopefully this could change in a future version of ODF.
> FWIW with fontconfig, you can see its estimate of language cover
And does fontconfig compute these estimates once and store them in its
meta-data, or is it something it does dynamically?
... Hmm. Looking at:
$ fc-list -v "David Libre"
...
lang: ... |ha|he|ho| ...
Actually,
it's...aa|ast|ay|bm|bi|bin|br|bs|ch|co|cy|da|de|en|es|et|eu|fi|fj|fo|fr|ff|fur|fy|ga|gd|gl|gn|gv|ha|he|ho|hr|hu|ia|ig|id|ie|io|is|it|ki|kw|la|lb|ln|mg|mi|nb|nds|nl|nn|no|nr|nso|ny|oc|om|pt|rm|sl|sma|smj|smn|so|sq|ss|st|sv|sw|tl|tn|ts|uz|vi|vo|vot|wa|wen|wo|xh|yap|yi|yo|zu|an|fil|hsb|ht|jv|kj|kwm|lg|li|ms|na|ng|pap-an|pap-aw|rn|rw|sc|sg|sn|su|ty|za|agr|ayc|bem|lij|mfe|miq|mjw|nhn|niu|rif|tpi|unm|wae|yuw(s)
and that's a problem, because while that font has a lot of glyphs, most
of them are "junk" glyphs, copy-pasted (?) in there and not actually
designed for the font. But I suppose that's a different problem.
Eyal
[1]:
https://ecma-international.org/publications-and-standards/standards/ecma-376/
[2]: https://bugs.documentfoundation.org/show_bug.cgi?id=151215#c19