IPA: Best practice?

Christian Thalmann
Christian Thalmann Posts: 1,967
edited May 9 in Technique and Theory
Hi all,
I've long wanted to add IPA to Ysabeau, and it's been requested by users multiple times... I don't really have time for that right now, but long-term, it's something I'm interested in doing.
Now, I'm sure there's a lot of trapfalls, hidden expectations, and unique challenges in IPA coverage that I'm not aware of. Does anyone know of a to-do list of tasks to ensure everything looks and works the way it should?
Cheers, Christian
«1

Comments

  • Christian Thalmann
    Christian Thalmann Posts: 1,967
    edited May 10
    Good stuff, thanks John!
    Looking at Wikipedia, it seems the tone bar ligatures are just juxtapositions, right? No diagonals or omission of redundant staves...?
    I've also been worrying whether regular letters used as part of IPA might require additional anchor points to support all the possible attachments.
    To what degree does Glyphs help me with these requirements, @Rainer Erich Scheichelbauer and @Georg Seifert?
  • James Montalbano
    James Montalbano Posts: 99
    edited May 10
    I have found this web site tool to be quite useful when making IPA glyphs: https://unalengua.com/ipa-translate?ttsLocale=en-US&voiceId=Salli
  • John Hudson
    John Hudson Posts: 3,127
    Looking at Wikipedia, it seems the tone bar ligatures are just juxtapositions, right? No diagonals or omission of redundant staves...?

    No, they’re productive. There are five encoded tone bars, and they produce this set of ligatures (some of which are theoretical, i.e. probably not encountered in actual speech).



    [There is also a set of reversed tone bars, which Brill asked me to include, but that’s probably overkill for most fonts.]

    I've also been worrying whether regular letters used as part of IPA might require additional anchor points to support all the possible attachments.

    If you support basic above and below anchor attachment and mark-to-mark attachment, you’re probably covered for most IPA.

    The difficult thing is the double-wide marks that sit between and span to base letters. These don’t work well using GPOS anchor attachment, and the best method I have found involves multiple width variants for combinations of narrow, medium, and wide letters, and contextual height adjustment to accomodate other marks. [These are not yet adequately supported in Brill, so don’t use that as a model.]


  • Denis Moyogo Jacquerye
    edited May 10
    There are several tiers of IPA:
    - current standard IPA, which should obviously be supported. These are the symbols defined in the latest IPA chart.
    - commonly symbols implied by the IPA chart, like the letters with middle tilde. These are shown in the 1999 IPA handbook.
    - commonly used withdrawn IPA symbols, like the ligatures dz, ts, dezh, desh, and a few others, also in the 1999 IPA handbook.
    - commonly used non standard IPA symbols, like the sinological ɿ and ʅ (which should extend below the baseline) as well as ʮ and ʯ, or ȡ, etc.
    - other non standard IPA symbols, mostly used in hybrid systems borrowing or preferring symbols from other transcriptions systems.
    - somewhat frequently used superscripts not already in the IPA chart.
    - less frequently symbols implied by previous IPA charts, like the ones more recently added to Unicode.

    To add to what John said:
    - Properly adjust the design of turned or reversed glyphs. Several of them should be designed like proper letters instead of just mechanically turned or reversed. For example ɟ is historically a turned f but confused for a dotless j with stroke, so it may be somewhere in between, or ʄ is historically a turned f with hook.
    - For U+031A, most fonts place it on top of the base glyph, but it should sit on the top right. Either use a topright anchor or substitute it for a spacing glyph. John’s Brill has that bug as do too many fonts aiming to support IPA. This is a relatively common diacritic, it should be done right.
    - Anchors on everything that’s a base to combine with everything that’s a mark. If you forget one, be assured some linguists will use it. Many IPA fonts fail to position some common marks on some base letters.
    - For the ligature ties, have them high enough to not clash in most cases as a fallback, and/or contextually adjust them.

  • Christian Thalmann
    Christian Thalmann Posts: 1,967
    Is U+031A the «no release» diacritic? If so, it should only be applicable to stops, right? Not that many of them...
  • John Hudson
    John Hudson Posts: 3,127
    All right side ‘marks’ are a pain in the arse. They should have been encoded as spacing modifier signs
  • Florian Pircher
    Florian Pircher Posts: 176
    For the double-width marks, smart components help produce a set of different widths so they fit well over the base pair. I experimented with shifting them up/down by placing the base glyphs in height classes and shifting them left/right using width classes. Minion 3 was my first reference and it ended up pretty neat. Mostly just for fun; I don’t think this is critical for IPA support.
  • John Hudson
    John Hudson Posts: 3,127
    edited May 11
    Thanks for the reminder about U+031A, Denis. I forgot about it in the Brill v5.00 work item spec, but will try to sneak in a fix in the next update.
  • Christian Thalmann
    Christian Thalmann Posts: 1,967
    edited May 12
    Oof, I'd probably just have a sky-high tie bar and leave it at that. And maybe steal the tone ligatures wholesale from a libre typeface.
  • Jens Kutilek
    Jens Kutilek Posts: 359
    The tone ligatures can be scripted relatively easily. I've done so for my WIP phonetic typeface. I drew the skeletons via script, then expanded the paths. Some manual touch-up at the connections was necessary, if I remember correctly.


  • The pysilfont package has a script (https://github.com/silnrsi/pysilfont/blob/master/examples/psftoneletters.py) to draw tone letters and some ligatures.

    Alternatively, one can also have component glyphs and have contextual substitutions to generate any combination rather than having a limited number of composite glyphs. Combinations longer than 3 tone letters are not common but do occur.

  • I'll echo the opinion that the symbol for no audible release (U+031A) should have been a spacing modifier, not a combining diacritic. I'm pretty sure I've seen the same complaint from phoneticians.

    Even for a mostly sans design like Ysabeau, it's still recommendable to put serifs on ɪ.

    It is nice to be able to render ʦ̢ and ʣ̢ so that they look like ligatures of t and ʂ and of d and ʐ respectively. And yes, I use these symbols even though they have been officially superseded because they are more elegant than ʈ͡ʂ, ɖ͡ʐ or ʈ͜ʂ, ɖ͜ʐ.

    There are also additional ligatures for affricates that I understand are in the pipeline to be added to Unicode (like that for t and θ), so it's an opportunity for designers to have some of the first fonts to support those codepoints once they're approved.


  • Christian Thalmann
    Christian Thalmann Posts: 1,967
    Alternatively, one can also have component glyphs and have contextual substitutions to generate any combination
    Ooh, great idea!
  • ɪ should have serifs even in sans serif fonts. This is because accented ɪ and i must be distinct (ɪ́ vs. í, etc.) For a few decades ɩ was used as an alternative to avoid that problem in sans serif fonts, it must also always be distinct, its main feature is to have a bottom hook (ɪ́ vs. ɩ́ vs. í, etc.). It can be problematic when i has a bottom terminal that looks like a hook, especially as it is used in some orthographies.
    This is a bit like having a single-storey a that is not distinct enough with ɑ. In some designs, things just won’t work as is.

    ꭧ and ꭦ were added to Unicode 12.0 a few years ago.



  • Christian Thalmann
    Christian Thalmann Posts: 1,967
    edited May 13
    I was worried that I'd have to draw all tone ligatures by hand anyway since there might not be any reference fonts with a wide enough weight range (Hairline to Black) to steal from. But upon second thought, I think I'll just import the glyphs from Charis or somesuch and use them for all weights. They should fit the Regular, and not look too much out of place in the bolder weights (like it's OK for black fonts to have lightweight bars, slashes, parentheses etc.). That should cover the use cases for body copy and headlines. The ligatures will look spectacularly bad in Hairline, but who in their right mind sets IPA in Hairline anyway...?
  • Denis Moyogo Jacquerye

    Thanks! I think I had heard about 
    ꭧ and ꭦ being added to Unicode but had forgotten about it.

    I think it would be good practice to use the same glyphs to render these and the combinations
     ʦ̢ and ʣ̢.

  • Peter Baker
    Peter Baker Posts: 188
    I assembled my tone ligatures out of components: I needed nineteen (not a bad deal to make 140 glyphs), but I now think I could have gotten away with fewer. The work was very quick (once I got around to it) and even fun.

  • Christian Thalmann
    Christian Thalmann Posts: 1,967
    I made some first steps into IPA to see whether I would like it. I admit I'm having some fun with the unconventional shapes, though the spacing and probable need for exotic kerning classes gives me headaches... how does everyone deal with that?


  • Peter Baker
    Peter Baker Posts: 188
    I really like your IPA so far. I confess I haven't worked as hard on spacing and kerning for IPA as for basic Latin and Greek. Of course I link IPA glyphs to basic kerning groups (e.g. ʣ to d and z) when I can, but otherwise, not being sure what kind of context each IPA glyph will occur in, I try to come up with spacing that will work reasonably well without a lot of kerning. The IPA in my (rather outdated) copy of Brill also seems to be lightly kerned. I don't see any kerning at all in CharisSIL and DoulosSIL--but again, my copies are rather dated.
  • Looking good!

    ɚ usually has the crossbar slanted to connect with the hook diacritic to the right, even in designs where e/ə has a straight crossbar.

    ŋ and ɧ usually have stronger tails, somewhat closer to that of ɡ. The same goes for ɱ.
  • Christian Thalmann
    Christian Thalmann Posts: 1,967
    edited May 15
    Some more IPA... still missing the petite-cap letters and the ton of modifiers.
    Jongseong: Good point about the strong tails! I kept the tails of [ɲ] and the retroflex tail as in [ɳ] low-profile, though, so as to avoid collisions with neighbors. Also, [ɲ] then resonates with [j], as it should.
    I tried a slanted crossbar in [ɚ], not quite sure whether it works...
    Can I get away with that [ᵴ]? It's a thoroughly badly designed letter, but I don't see a way out. Is it OK for the tilde of [ᵰ] to cross only one stem?
    Is it OK for the hooks of [ʂʐ] to look kinda like ogoneks?
    I rather hate my [ʔʕ], but can't seem to figure out how to improve them...

  • John Hudson
    John Hudson Posts: 3,127
    I rather hate my [ʔʕ], but can't seem to figure out how to improve them.
    I suggest making the hook on these lowercase forms smaller, to better coordinate with the size of the bowls in b d etc.
  • Jongseong Park
    Jongseong Park Posts: 24
    edited May 16
    Are the third and fourth glyphs on the third line meant to be ɟ and ʄ? If so, the crossbars need to be lowered to sit at the baseline and the hooks above and below need to be stronger.

    The upper hook of ʄ should harmonize with those of other implosives such as ɓ and ɗ. Although the lower hooks of palatals ɲ, ɟ, and ʄ are originally inspired by j, they need to be strong enough to contrast with the retroflex hooks of ɳ, ɖ, etc. even if it means departing from the design of j. ɟ was originally typeset as an upside down f, and a correspondingly strong lower hook is expected. Not a full f-style hook, mind you. A visually mirrored version of the retroflex hooks would work best.

    The retroflex hooks of ʂ and ʐ shouldn't look like ogoneks and should instead connect to the main part of the letters in a vertical line.

    The ɚ looks good. It's always going to be tricky to harmonize with the rest of the design.

    It would be better for the exit stroke of the curl in ɕ to point to the left rather than downward to match ʑ. Right now, I can still recognize it as ɕ but it looks a bit strange.

    I tend to agree with John Hudson's suggestion to make the hooks of ʔ and ʕ smaller, which would also make more room for the lower strokes of ʡ and ʢ. As I type this, I see that Roboto struggles a bit with this due to its high x-height. But I would also suggest trying a smoother connection between the hook and the stem to mimic the question mark (?) as it might be a better fit for this design.
  • Christian Thalmann
    Christian Thalmann Posts: 1,967
    edited May 16
    Very good points! New and improved versions:
    (BTW: I love these exuberant Cancellaresca-style ascenders; we should totally introduce them to the mainstream.)

  • Christian Thalmann
    Christian Thalmann Posts: 1,967


  • The new versions look great! The hooks on ɖ, ɭ, ɻ, ɽ, ɳ probably need to be a bit stronger to be recognizable, especially since the descenders are long in this design and small hooks may be mistaken as exit strokes, not part of the skeleton.

    I'm wondering if the hooks on ʂ and ʐ can descend just slightly more so that they can harmonize better with the other retroflex letters, but overdoing it might push them into a less recognizable territory. It's probably better to shorten all the other retroflex hooks instead so that they are a bit less than the full descender length.

    I think working with IPA has ruined me and I can't see those letters as anything other than phonetic symbols, which is the same problem I have with this sign:




  • Christian Thalmann
    Christian Thalmann Posts: 1,967
    edited May 16
    I was mostly worried about provoking collisions with that shameless tail, but it does look better.

    (Though the extreme thinness of the tip might be a bit out of character for Ysabeau?)
  • I think those tails probably harmonize better with ʈ. But traditionally the retroflex hooks end with bulbs or teardrop terminals, so the tails with thin tips do look a bit wrong for IPA.

    You're right to be wary of collisions, but at least troublesome combinations tend to be rare in the real world. It's more important to position diacritics correctly so that combinations like ɻ̩ or ɣ̞ display without unsightly clashes.

    I was trying to think of real-life pairs that could cause trouble, and came up with Swedish barnjungfru [ˈbɑ̂ːɳjɵŋfrʉ], ordgeografi [ˈʊ̂ːɖjeɔɡrafiː], and bordyr [bɔˈɖyːr], though I would probably write the first two as [ˈbɑ̂ːɳˌjɵŋfrʉ] and [ˈʊ̂ːɖˌjeˑɔɡraˌfiː] respectively. Ysabeau's narrow j and y should help prevent unsightly clashes in these examples.


  • Christian Thalmann
    Christian Thalmann Posts: 1,967
    I bet Modern typefaces are having a field day with ball terminals, but how should I flare the tail in a humanist sans within pen logic…?