alerque / libertinus

The Libertinus font family
SIL Open Font License 1.1
1.02k stars 58 forks source link

Glyph list standards #453

Open iandoug opened 3 years ago

iandoug commented 3 years ago

Hi

Somewhere between a rant and a mind dump. Inputs and counter-arguments welcome.

See attached analysis of various "wide glyph support" fonts. The analysis is a work in progress, there may still be bugs (eg around the private use areas, which I'm trying to ignore).

Fonts are: Arial Unicode Bablestone Roman Brill Code2000 Dejavu Math Junicode Libertinus Math PalemonasMUFI Quivera STIX Symbola TITUS Cyberbit

Screenshot_2021-03-06 Keyboard-Design com - Academic fonts glyph coverage comparison

Support for various "glyph list standards" is spotty.

After some thinking, I've come to the conclusion that these standards have their own agendas, which are not entirely relevant to fonts with broader academic use ideals.

Eg.

  1. Google wants glyphs typically used on web.
  2. Adobe and Linotype want to sell fonts to as many different countries as possible, but at the same time will want to sell the Latin version and the Pi version, and not put all the glyphs in one font.
  3. Microsoft is focused on glyphs needed in Windows, not necessarily documents written on Windows.
  4. SIL is focused on characters needed for their literature, aimed at under-serviced languages, with some historic middle-Eastern additions.
  5. MUFI is aimed at dealing with Medieval documents.

I added the STIX glyph list as a "standard" to see what popped up.

Comparing glyph counts, per standard:

GCore : 215 Googie Core AL1 : 229 Adobe Latin 1 AL2 : 250 Adobe Latin 2 SIL : 295 SIL Recommended Glyph List for new fonts AL3 : 331 Adobe Latin 3 GPlus : 561 Google Plus AGLFN : 586 Adobe Glyph List for New Fonts W1G : 587 Adobe World Glyph List 1 AL4 : 617 Adobe Latin 4 WGL4 : 657 Windows Glyph list 4 GPro : 677 Google Pro GExpert : 699 Google Expert MUFI 3.0 : 756 The Medieval Unicode Font Initiative 3.0 MUFI 4.0 : 782 The Medieval Unicode Font Initiative 4.0 MUFI 4.n : 785 The Medieval Unicode Font Initiative 4.n W2G : 849 Linotype World Glyph List 2 AL5 : 1307 Adobe Latin 5 STIX : 3300 STIX Mathematics

Fonts fail to meet standards at different points. For example, Arial Uni initially fails WGL4 because it lacks the Cyrillic version of È.

So ... I think these "standards" need a different approach, because one size does not fit all. I see a practical system along these lines:

  1. Humanities
  2. Sciences

The humanities could be further subdivided, by continent and/or time period. So a font may support American languages, but not African.

Not sure if trying to divide up the sciences makes sense, there is a lot of overlap and re-use.The STIX list is a good starting point, but may also be too high a standard, given the glyph count.

Comments welcome.

Cheers, Ian

Crissov commented 3 years ago
iandoug commented 3 years ago

@Crissov

  1. No. I thought Math was a superset of serif?
  2. That's up to leadership :-)... while I work on a better "report" to answer such things, here's a table export comparing Math, Serif and Sans. I guess you mean "which needs fewest glyphs", that's the bit I need to work on.

Will revert.

Cheers ,Ian fontcompare.zip

iandoug commented 3 years ago

Okay ... so actually there is some low hanging fruit ... two glyphs gets you to Adobe Latin 1 and 2, another 2 to Adobe Latin 3, then Commercial Minus and a few currencies takes care of Google Plus, Pro and Expert. Adobe Latin 4 also almost done at that point.

Lib Math extract. See attachments.

Adobe Latin 1

U+FB01 Latin Small Ligature Fi U+FB02 Latin Small Ligature Fl

Adobe Latin 2

U+FB01 Latin Small Ligature Fi U+FB02 Latin Small Ligature Fl

Adobe Latin 3

U+20BA Turkish Lira Sign U+20BD Ruble Sign U+FB01 Latin Small Ligature Fi U+FB02 Latin Small Ligature Fl

Adobe Latin 4

U+20A1 Colon Sign U+20A6 Naira Sign U+20B2 Guarani Sign U+20B5 Cedi Sign U+20BA Turkish Lira Sign U+20BD Ruble Sign U+2117 Sound Recording Copyright U+FB01 Latin Small Ligature Fi U+FB02 Latin Small Ligature Fl

Google Plus

U+2052 Commercial Minus Sign U+20A1 Colon Sign U+20A6 Naira Sign U+20A9 Won Sign U+20AD Kip Sign U+20B2 Guarani Sign U+20B5 Cedi Sign U+20BA Turkish Lira Sign U+20BC Manat Sign U+20BD Ruble Sign U+FB01 Latin Small Ligature Fi U+FB02 Latin Small Ligature Fl

Google Pro

U+2052 Commercial Minus Sign U+20A1 Colon Sign U+20A6 Naira Sign U+20A9 Won Sign U+20AD Kip Sign U+20B2 Guarani Sign U+20B5 Cedi Sign U+20BA Turkish Lira Sign U+20BC Manat Sign U+20BD Ruble Sign U+FB01 Latin Small Ligature Fi U+FB02 Latin Small Ligature Fl

Google Expert

U+2052 Commercial Minus Sign U+20A1 Colon Sign U+20A6 Naira Sign U+20A9 Won Sign U+20AD Kip Sign U+20B2 Guarani Sign U+20B5 Cedi Sign U+20BA Turkish Lira Sign U+20BC Manat Sign U+20BD Ruble Sign U+FB01 Latin Small Ligature Fi U+FB02 Latin Small Ligature Fl

Hope that helps :-)

Cheers, Ian Libertinus Serif.txt Libertinus Sans.txt Libertinus Math.txt

iandoug commented 3 years ago

Lib Math is actually better than most. These are the files like attached above, smaller == better.

image

iandoug commented 3 years ago

I decided to get Woke and stop being so binary ....

Attached state of play for my attempt to find "best font for Western Academic Writing" based on glyph coverage rather than "just another Helvetica or Times New Roman clone".

Suggestions re group composition welcome.

Fonts included: Lib Serif, Lib Math, Lib Sans, STIX, Symbola.

It looks like Lib Serif and Math could do with some cross-pollination?

Possibly some groups need to be weighted more in the final average ... splitting Latin, non-Latin and Maths into Core and Plus already addressed that to a degree. Maybe need separate Humanities and Science averages. Of 138 fonts tested, only 12 plus the Kurinto megafonts got more than 50%.

Will modify the "Standards comparisons" code to work in similar way.

[Edit: replaced images with averages based on glyph counts not block averages]

2021-03-09_21-15 2021-03-09_21-17 2021-03-09_21-17_1

Cheers, Ian

iandoug commented 3 years ago

FWIW, if I did my sums correctly, then of the current 2316 fonts in Google Fonts, we have:

(only) Google Core : 1827
Google Core + Google Plus: 297 Google Core + Google Plus + Google Pro: 71 Google Core + Google Plus + Google Pro + Google Expert: 120

But those at Expert level are different variants from only 9 families.

So Libertinus would be joining a relatively select group. (Fonts like Symbola and Quivira are not in Google Fonts)

Same applies with the Adobe standards ... there are not that many commercial typefaces at Latin 4 and above.

Crissov commented 3 years ago

@iandoug You might be interested in replacing Junicode in your charts by JuniusX / Junicode New, which is being developed here: https://github.com/psb1558/Junicode-New

Regarding MUFI support, Khaled Hosny once deemed it out of scope #101, but I guess that decision could be revisited if someone was willingto do the work.

iandoug commented 3 years ago

@Crissov Been working on major update to that list.

I did actually look at JuniusX , but "All this is very much in progress." at the bottom stopped me from seeing they do already have files available.

Will add to my collection to evaluate. Also busy looking at the fonts on CTAN but a lot of them are not .ttf / .otf. Suppose I could convert them ...

Thanks, Ian

Crissov commented 2 years ago

JFTR, new Latin S, M, L and XL sets: https://github.com/koeberlin/Latin-Character-Sets

iandoug commented 2 years ago

JFTR, new Latin S, M, L and XL sets: https://github.com/koeberlin/Latin-Character-Sets

Thanks. I've been meaning to update my tables with Unicode14 but was waiting for Symbola to update, which I see happened in October while I was distracted.

Will see if I can add these new collections. May need to re-look at how tables and reporting works.

Thanks, Ian

iandoug commented 2 years ago

Anyone got a download link for Symbola 14? Their site only has the PDF.

Don't think extracting from PDF is best route.

Thanks, Ian

Crissov commented 2 years ago

Those new sets have nothing to do with Unicode updates though.

iandoug commented 2 years ago

JFTR, new Latin S, M, L and XL sets: https://github.com/koeberlin/Latin-Character-Sets

Have added those. Also the MUFI list, and supply a .tsv version for local use etc.

https://www.keyboard-design.com/glyph-coverage-comparison.html

Local dev version has my own "Academic coverage" lists as well, which are block-based rather than code-point based, so the page will be updated again to include them, hopefully in next few days. Also updating page referenced here above https://github.com/alerque/libertinus/issues/453#issuecomment-793946916 to include Koeberlin's lists, Unicode 14, and different (smaller) font selection. Need to rescan the font collection....

fitojb commented 2 years ago

I’d like to mention https://github.com/Typemade/tm-Latin-MX by @sannorozco et al., an excellent resource for anyone who wants to support the 68 autochthonous languages of Mexico.

iandoug commented 2 years ago

Local dev version has my own "Academic coverage" lists as well, which are block-based rather than code-point based, so the page will be updated again to include them, hopefully in next few days. Also updating page referenced here above #453 (comment) to include Koeberlin's lists, Unicode 14, and different (smaller) font selection. Need to rescan the font collection....

Okay have updated my two pages, still some minor tweaks I want to do but need to do some work work... :-)

Academic font coverage: https://www.keyboard-design.com/academic-font-coverage-comparison.html This includes Lib Math, and Lib Sans via Kurinto Seri.

Glyph coverage for various standards: https://www.keyboard-design.com/glyph-coverage-comparison.html

Cheers, Ian

iandoug commented 2 years ago

I’d like to mention https://github.com/Typemade/tm-Latin-MX by @sannorozco et al., an excellent resource for anyone who wants to support the 68 autochthonous languages of Mexico.

Thanks. My problem is that the table is getting very full, and adding this, and for example a similar set for India or South Africa etc, will make it even larger. I should maybe look at region-specific lists.

Thanks, Ian