Localize Your Font: Accented Dutch ij

  • by Rainer Erich Scheichelbauer
  • Tutorial
  • – Modified on

There is one specialty in Dutch, and that is the IJ/ij, a.k.a. as the long ij (lange ij) as opposed to the short ei (korte ei). There has been a long discussion whether the ij should be considered a separate letter or not. Officially, it is considered two separate letters, but in spelling, it is treated just like a single letter.

In the world of typography, again, opinions differ on whether both parts of the IJ and ij digraphs are supposed to stay together or whether they should be spaced when positive tracking is applied. Most, not all, typographers will agree that when the i and j parts are drawn separately (digraph design), or perhaps even equivalent to the i and j, they should be tracked apart just like the other letters. Only if they are actually drawn ligated (ligature design), they should also stay a unity in a positive tracking environment.

For what it’s worth, Unicode actually knows U+0132 LATIN CAPITAL LIGATURE IJ and U+0133 LATIN SMALL LIGATURE IJ, but they are mere compatibility characters. That means that they are there only for backwards compatibility reasons and their use is discouraged. What’s more, there is no keyboard out there that has an IJ key, and no wide-spread keyboard layout that would produce Unicode U+0132 or U+0133. So we can safely forget about that again.

An Accent for the J

In written Dutch, you can add extra stress to a syllable by accenting the vowels: ík instead of ik, dóén instead of doen, vóór instead of voor etc. And yes, you have guessed it: When IJ/ij is stressed, both the I/i and the J/j must receive acutes.

Now, with Unicode, it is possible to put an acute on your j. Sure, there is no J/j with acute encoded, but there is a J/j and there is U+0301 COMBINING ACUTE ACCENT. So, we can use mark attachment for that. In theory, all a user needs to do, is type a j, followed by a combining, non-spacing acute. If the user knows how to enter a combining acute, there’s no problem. The problem is only that these users are rare.

The vast majority, or more precisely, practically all Dutch and Flemish users type i-j or I-J separately on their keyboard. And when they accentuate it, they type í-j or Í-J, respectively. This means that we need to have an OpenType feature in our fonts that converts the iacute j sequence into something like this:

So all we need is a j with an acute, right? Easy peasy. First, make sure you have a jdotless and an acutecomb (and if your design requires it, acutecomb.sc or acutecomb.case) in your font. This will do two things: Firstly, it will enable savvy users to add the combining acute to your j, because you now have a combining acute in your font, and a dotless j that can actually receive the acute. Secondly, it will enable Glyphs to pre-build the respective compounds for you in the next step. Read on.

If, as in most cases, your ij is a digraph design, simply add jacute and Jacute to your font. Do not forget to also add jacute.sc if you have small caps. The quickest way to do so is to run Glyph > Add Glyphs… (Cmd-Shift-G) and type Jacute jacute jacute.sc in the dialog that follows. Once you press the Generate button, the glyphs are added to your font, containing the right compounds.

OpenType Features for the Stressed IJ

Now, go to File > Font Info > Features (Cmd-I), and update your OpenType features by clicking the Update button in the lower left corner. Then take a look at you locl feature. Glyphs should have added the following lines:

language NLD;
sub iacute j' by jacute;
sub Iacute J' by Jacute;

If a lowercase j is typed after a lowercase i with an acute, or an uppercase J after an uppercase I with an acute, then the j or J are replaced by their acute counterparts we just added to the font. Provided the language is set to Dutch, that is. If your locl is not automated because you prefer to write your own code, you will have to add those lines manually.

Glyphs will also add this line into the Languagesystems prefix:

languagesystem latn NLD;

Again, if your Languagesystems are not automated, do not forget to add this line to your code, otherwise the locl feature will not work.

If you have small caps in your font, the small cap features smcp and c2sc should have lines that replace jacute with jacute.sc, and Jacute with jacute.sc, respectively. Again, if you chose not to automate these features with the Generate Feature Automatically option, do not forget to add these or similar lines to your code.

One last place to check is a feature called ccmp. In one of the lookups, Glyphs should add this line:

sub [i j]' @CombiningTopAccents by [idotless jdotless];

This is the line of code that makes the proper Unicode solution work with mark attachment. The j with the dot is replaced by the dotless j whenever a combing top accent is added to it.

Alternative for Ligature Designs

If your IJ or ij are really ligated, or have another special form (e.g., where the I is shortened), you will want to add I_J.loclNLD i_j.loclNLD and Iacute_J.loclNLD iacute_j.loclNLD instead. Again, Glyphs (in versions 2.3.1 or later) will be able to automate the OpenType feature code for you. And again, add appropriate .sc variants if you have small caps.

That’s it. In layout programs like Adobe InDesign or Quark XPress, you can now set your text language to Dutch, type m-í-j-n and the j will be accented as well. Cool.


Update 2014-09-02: Updated to new glyph names in Glyphs 2.
Update 2016-05-30: Rewrite to reflect the recommended j-acute solution.
Update 2016-06-08: Added Alternative for Ligature Designs.
Many thanks to Rob Mientjes.