Repository navigation
Implement IJacute and ijacute for Dutch language #217
Description
Activity
- changed the title
[-]Find how to properly implment IJacute and ijacute[/-][+]Find how to properly implement IJacute and ijacute[/+]on Jan 9, 2020 Current result of using combining accents:
@benkiel to fix with the addition of a
markfeature, plus a little language feature- addedaug-2020Issues open as of August 2020 [for planning purposes]Issues open as of August 2020 [for planning purposes]
on Jan 8, 2021 Note to self: once this is settled, also implement a
loclfeature forTRK(Turkish). It will probably be this:script latn; language TRK; sub i by idotaccent; sub i.mono by idotaccent.mono; sub i.italic by idotaccent.italic; sub i.simple by idotaccent.simple;Testing this ... I think I’m close, but I might be able to shorten it with a few classes:
feature locl { script latn; language NLD; # Dutch lookup LigatureIJ { sub I acutecomb J acutecomb by IJacute; sub I J by IJ; sub Iacute J acutecomb by IJacute; sub i acutecomb j acutecomb by ijacute; sub i.mono acutecomb j acutecomb by ijacute; sub i.italic acutecomb j acutecomb by ijacute; sub i.italic acutecomb j.italic acutecomb by ijacute; sub i.simple acutecomb j acutecomb by ijacute; sub i.simple acutecomb j.italic acutecomb by ijacute; sub i j by ij; sub i.mono j by ij; sub i.italic j by ij; sub i.italic j.italic by ij; sub i.simple j by ij; sub i.simple j.italic by ij; sub iacute j acutecomb by ijacute; sub iacute.mono j acutecomb by ijacute; sub iacute.italic j acutecomb by ijacute; sub iacute.italic j.italic acutecomb by ijacute; sub iacute.simple j acutecomb by ijacute; sub iacute.simple j.italic acutecomb by ijacute; } LigatureIJ; } locl;Awesome – the following seems to work equally well as the code above, but is shorter and clearer.
@j_for_ij = [j j.italic]; @i_for_ij = [i i.mono i.italic i.simple]; @iacute_for_ij = [iacute iacute.mono iacute.italic iacute.simple]; feature locl { script latn; language NLD; # Dutch lookup LigatureIJ { sub I acutecomb J acutecomb by IJacute; sub I J by IJ; sub Iacute J acutecomb by IJacute; sub @i_for_ij acutecomb @j_for_ij acutecomb by ijacute; sub @i_for_ij @j_for_ij by ij; sub @iacute_for_ij @j_for_ij acutecomb by ijacute; } LigatureIJ; } locl;Also useful:
loclfeature of Bungee fonts (view as "Raw" to properly see it):- changed the title
[-]Find how to properly implement IJacute and ijacute[/-][+]Implement IJacute and ijacute for Dutch language[/+]on Feb 19, 2021 WIP for this:
An alternate perspective :).
I was reviewing the Cascadia Code features the other day and was thinking about a couple of substitutions in the
loclcode—specifically the Catalan ldot and Dutch IJ substitutions.It struck me that in both cases, I'm taking two code points and replacing them with a single glyph. While that makes sense in a proportional font for text environments, does it make sense in a coding font meant to operate in a monospace environment?
So I ended up removing the substitution for Ldot and ldot (the codepoints are still present though), and also changing the ij substitutions to just be:
sub iacute j' by jacute; sub Iacute J' by Jacute;It is a bit sad not to be able to use the nice accent IJ ligatures I made, but I do like the simplicity of it. I did leave the IJ and ij codepoints in for legacy purposes, but otherwise everything is just handled in monospace.
@aaronbell that code will not cover everything, as there are dutch words (or loan words) that have an
iacutebut not ajacute.@benkiel Oh, is that right? I've never seen that mentioned in all the articles about supporting the Dutch ijacute 😨 . From what I've been able to tell, it is pretty common to use code like I did above and that users would expect the
jto be replaced with an accented j. Is that not the case?Would you rather recommend only replacing the
jonly when followed by a combining acute?Yes, that is safer. This comes from a discussion with EvB who pointed out that the IJacute has edge cases
@benkiel Thanks! Well, if that's the case, then maybe I'll get rid of those substitutions entirely as the
ccmpwill take care of it. (sub [i j i-cy je-cy]' @CombiningTopAccents by [idotless jdotless idotless jdotless];)


Relevant:
https://typedrawers.com/discussion/1294/how-do-you-implement-ijacute-and-ijacute