IPA: Best practice?
Christian Thalmann
Posts: 1,977
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
0
Comments
-
Apart from the need to familiarise yourself with some probably unfamiliar letter shapes, these are some things to keep in mind:
- Traditionally, IPA was almost always set in roman type, but increasingly it is also found in italic. This presents some design/technical challenges because IPA makes semantic distinctions between a/ɑ, f/ƒ and g/ɡ, which might be contrary to the default forms of the common Latin lowercase letters in a cursive italic style.
- IPA uses some Greek letters, and although Unicode include Latin encodings for some of these, IPA still specifies the Greek characters. This means you need to design these Greek letters to harmonise well with the Latin that makes up the bulk of the IPA alphabet. Obviously this introduces an additional technical challenge if your typeface already includes a Greek design that has e.g. a different stroke modulation pattern than the Latin. Also note that script itemisation and run segmentation in OpenType Layout will likely mean that the Greek letters will not interract with adjacent Latin letters for kerning or contextual behaviour.
- IPA uses combining marks, so you need to ensure an appropriate set of these is included in your font and that mark and mkmk GPOS is provided.
- IPA tone bars, used in transcription of e.g. Chinese, require an extensive set of ligatures. The usual approach is to provide a full set for every possible 2- and 3-tone pattern.
- Some of the IPA and Unicode character names for letters are a bit misleading, so check reference forms carefully.
- There are other phonetic transcription systems in use alongside IPA, specific to some fields such as Americanist and Uralicist linguistics. The character sets for these overlap with those of IPA, so you might want to consider not limiting your support to strict IPA.
- There are a lot of natural language orthographies, especially in Africa and North America, that are derived from IPA or Americanist alphabets, sometimes with the addition of uppercase letters. So consider also extending your fonts to support these once you have the phonetic sets in place.
8 -
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?0
-
I have found this web site tool to be quite useful when making IPA glyphs: https://unalengua.com/ipa-translate?ttsLocale=en-US&voiceId=Salli1
-
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.]
0 -
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.
3 -
Is U+031A the «no release» diacritic? If so, it should only be applicable to stops, right? Not that many of them...
0 -
All right side ‘marks’ are a pain in the arse. They should have been encoded as spacing modifier signs1
-
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.1
-
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.0
-
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.
0 -
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.
0 -
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.
2 -
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.
3 -
Denis Moyogo Jacquerye said:Alternatively, one can also have component glyphs and have contextual substitutions to generate any combination
0 -
ɪ 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.
1 -
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...?
0 -
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 ʣ̢.
1 -
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.1
-
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?0
-
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.
0 -
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 ɱ.2 -
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...0
-
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.0
-
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.0 -
Very good points! New and improved versions:(BTW: I love these exuberant Cancellaresca-style ascenders; we should totally introduce them to the mainstream.)
0 -
0 -
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:
1 -
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?)
0 -
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.
2 -
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…?0
Categories
- All Categories
- 40 Introductions
- 3.7K Typeface Design
- 796 Font Technology
- 1K Technique and Theory
- 615 Type Business
- 444 Type Design Critiques
- 539 Type Design Software
- 30 Punchcutting
- 136 Lettering and Calligraphy
- 83 Technique and Theory
- 53 Lettering Critiques
- 482 Typography
- 301 History of Typography
- 114 Education
- 67 Resources
- 495 Announcements
- 79 Events
- 105 Job Postings
- 148 Type Releases
- 162 Miscellaneous News
- 269 About TypeDrawers
- 53 TypeDrawers Announcements
- 116 Suggestions and Bug Reports