Pan African Latin

Post Reply
Eben Sorkin
Posts: 38
Joined: 27 Apr 2021

Pan African Latin

Post by Eben Sorkin »

I was wondering if Kern On Supports Pan African Latin. Some of it may be easy in the sense that there is a common base glyph with (for me) a novel diacritic use. But others like the 'bhook' or 'dhook' might need to be written into a formal Kern On definition. 'Oopen' for example might be able to use the values of C but reversed left to right.

I was thinking too that there might be a workaround with 'special spacing' but that might not be an appropriate use of that feature.

If the answer is that definitions need to be made I would be happy to make a list suggesting what might be mapped to existing definitions and what probably needs new definitions.
User avatar
Tim Ahrens
Site Admin
Posts: 404
Joined: 11 Jul 2019

Re: Pan African Latin

Post by Tim Ahrens »

Pan African is generally supported by Kern On. You can have a look at the built-in list of pairs by choosing “Show package contents” with the .glyphsPlugin file, then you will find the file Contents/Resources/pair_frequencies.txt. As you can see, it doesn’t even think in terms of languages (although that does play a role in my scripts that generate the list), it’s all mixed. All KO is interested in is character pairs.

Currently the list has 195 pairs with Ɔ (Oopen) and 87 pairs with ɓ (bhook), for example, I hope this covers all pairs that can occur in real life. My corpus (Wikipedia in 200 languages, plus 1 M random tweets) does not seem to be very exhaustive when it comes to African languages, though. I tried to find better sources but it wasn’t easy. If you have a good Pan-African text corpus that would be helpful, of course.

Note that Kern On is completely agnostic of the typical relations between the characters. It does not make any assumptions or apply any strategy that assumes certain characters have similar shapes as others. It auto-kerns each pair based on the shapes in your font.

So, adding or improving support for scripts or languages is very easy as long as I have a decent amount of text and the set of characters required.
User avatar
SCarewe
Posts: 100
Joined: 23 Apr 2021

Re: Pan African Latin

Post by SCarewe »

Hello, we are running into some issues with multiscript font projects. Specifically, we are producing a Latin typeface with Cyrillic and Vietnamese and finding that KernOn virtually doesn't kern Vietname at all – which is understandable, of course, as it occurs very rarely in Latin texts. It makes perfect sense to prioritise Latin script in Latin-only projects, but it would be great to have the option to tell KO that a project includes certain scripts, so that they can be equally prioritised. I don't know, something like a checkbox selector for supported scripts.

I don't know how feasible this is to implement, or whether this even makes sense. It would be immensely helpful, though, as we are currently simply manually doing the Vietnamese kerning after finishing kerning with KernOn.

Thank you very much for any insight!
User avatar
Tim Ahrens
Site Admin
Posts: 404
Joined: 11 Jul 2019

Re: Pan African Latin

Post by Tim Ahrens »

SCarewe wrote: 09 Nov 2021 virtually doesn't kern Vietname at all
It’s surprising to hear that. Vietnamese is supported by Kern On.

Can you name a few examples of pairs that aren’t kerned although they should be?
User avatar
SCarewe
Posts: 100
Joined: 23 Apr 2021

Re: Pan African Latin

Post by SCarewe »

Alright, Entwarnung. Slight miscommunication between colleagues :) It appeared not to be kerned because the kerning proof texts included combinations that simply don't exist in Vietnamese. They are usually kerned because glyphs like v and w were put into the same group, so it just appeared like kerning was missing a lot. So, all good. Thanks!

Still, would something like a user-set script prioritisation make sense? Currently, Latin is very heavily prioritised in comparison to, let's say, Cyrillic already. Would it be feasible to allow The User™ to allow different weighting for different scripts? As in, to prioritise cyrillic as much as Pan-African, or whatever?
User avatar
Tim Ahrens
Site Admin
Posts: 404
Joined: 11 Jul 2019

Re: Pan African Latin

Post by Tim Ahrens »

SCarewe wrote: 10 Nov 2021 Still, would something like a user-set script prioritisation make sense?
That’s a good question, and the answer is a bit complex. I’ll just think aloud:
  • Generally, the idea is to give priority to pairs that occur frequently “in real life”. If necessary (because of data size limitations), Kern On skips those pairs that are unlikely to occur. The list is generated with very careful (as in: several weeks of work) crunching and post-processing of real-life texts. (Now I can imagine some designers shout, “But everything is important to me because I’m such as thorough font maker!” – well, that’s not the point. All KO can do is try to find the most sensible kerning that fits into the limit given by the user.)
  • There is a catch, however: for some glyphs, one can say: If that glyph is included in a font then it’s quite likely to be used in real life with that particular font we are looking at. As an extreme example, if a font contains Glagolithic then that’s quite likely to be used – as it’s probably a specialist font – even if Glagolithic is extremely rare if we look at all the texts the world creates each day.
  • On the other hand, some characters are widespread in fonts – even though they are very rarely used in real life – as they are simply thrown in by the designer because it’s practically no additional effort. Examples would be Rcommaaccent or Ymacron.
  • So, how to know whether a certain statistically rare character in a font is just thrown in and will actually be used rarely – and therefore should get low priority –, or whether it is rare-but-important because it’s a specialist font? It’s difficult to generalize that.
  • If we look at scripts (not characters), however, things may get a little easier. We can assume that any script that’s in the font is likely to be used. This reasoning is something that can even be implemented in the list of pair frequencies, by “normalizing” each script independently, which would give rare scripts a boost. Maybe I’ll simply do that, then we don’t need any further user settings?
User avatar
SCarewe
Posts: 100
Joined: 23 Apr 2021

Re: Pan African Latin

Post by SCarewe »

Hello, thank you very much for your thoughts! Regarding your last point: I personally think that would make a lot of sense. The more that I am typing, deleting and re-typing any response, I realise I have ever less to add to it. Thanks for coming up with such a straightforward and clean idea!
Post Reply