L when they mean to type a punt volat between two L in order to indicate that it is an
ela geminada, and not a double L, which is pronounced differently.
Typographically, there are two things to consider. Firstly, there is no word space between the two L/l. In other words, it should still look like one word, not two. So, the extra distance caused by the insertion of the middot must not be too much. Secondly, the dot needs to appear in the optical center between the two L/l.
The Kerning Solution
Type designers employ different solutions for this problem. Some prefer a pure kerning solution. For this, you’d simply kern
L-periodcentered-L: Type Catalan words like
paral·lel in your Edit tab, and kern it until you’re satisfied. You may also consider contextual kerning.
The good thing that this works in language-agnostic typesetting environments, like Apple’s TextEdit and most other Cocoa apps. The Mac text engine does not allow specifying the language and thus ignores the
There are a few problems with this approach though. It doesn’t work when kerning is disabled or if the font is used in an environment where there is no kerning available. Also, you may want to use
periodcentered for other purposes as well, e.g. to indicate syllables in a dictionary, and then you may run into problems with a word like ‘col·li·sion’.
The Spacing Solution
So, this calls for a solution involving the
locl feature. For this, you create a
periodcentered.loclCAT next to your default
periodcentered, and you space it between two
l. For the uppercase
L, you can use
periodcentered.loclCAT.case. Also, don’t forget your small caps if you have them in your font: For those, you can create
‘What do those suffixes mean?’, I hear you ask. Easy,
.case stands for Case-Sensitive Forms, an OpenType feature for shifting ‘punctuation marks […] up to a position that works better with all-capital sequences or sets of lining figures’, whereas
locl is the four-letter code for the Localized Forms feature, which is intended to substitute default glyphs with ‘localized variant forms’. And the
CAT part is the Language System Tag for Catalan.
And if you make use of this suffix, Glyphs can automatically add the localized mid dots to the
locl feature. In version 2 and above, the
locl feature entry is even contextual:
language CAT; sub l periodcentered' l by periodcentered.loclCAT; sub L periodcentered' L by periodcentered.loclCAT.case;
Which means that, only when (a) the language is set to Catalan, and (b) the
periodcentered appears between too
l glyphs, it will be replaced by the Catalan
periodcentered.loclCAT. And by
periodcentered.loclCAT.case between two uppercase L.
All you have to do for the automatic feature generation to happen, is to go into the Features tab of your Font Info (Cmd-I) and click on the Refresh button in the bottom left corner (the one sporting the circled arrow). And Glyphs does the rest for you, including adding a corresponding line to the
Many type designers consider this the best solution, mostly because it survives increased tracking, even though the space between the dot and the surrounding lowercase l’s should not increase as much as space between two letters. And it also works in environments where there is no kerning. Consider that, by default, kerning is off in Microsoft Word.
One downside is that it requires the users to set the language of the text. And another is that it will fail in language-agnostic environments. But if you feel like you can ignore the dictionary case mentioned above, you can combine the kerning and spacing solution.
The Ligature Solution
If, next to
periodcentered, you add the two ligatures
l_periodcentered_l.loclCAT to your font. And, of course,
l_periodcentered_l.loclCAT.sc if you have small caps. Glyphs will auto-generate the following
language CAT; sub l periodcentered l by l_periodcentered_l.loclCAT; sub L periodcentered L by L_periodcentered_L.loclCAT;
By now, you can tell the pros and cons. On the plus side, we have perfect control of our ela geminada. But it will fail in language-agnostic environments, and it will not work well with increased tracking.
The Ldot solution
Or, and especially if you care a lot about backwards compatibility, we can actually build the legacy
ldot and design them in such a way that they look great with a following
Wait a minute: why ‘legacy’?
In an old 8-bit encoding from the eighties, there used to be a separate
ldot. They survive to this day as
U+013F LATIN CAPITAL LETTER L WITH MIDDLE DOT and
U+0140 LATIN SMALL LETTER L WITH MIDDLE DOT in Unicode. They are not supposed to be used anymore, because they are mere compatibility characters. But hey, this only applies to people who produce texts with characters. We’re the font-making people, and on the glyph level, we can do what we want, as long as it looks good. So here we go:
When you create
ldot, Glyphs gives you a glyph with an
l component and a
periodcentered. Of course you can delete, replace or decompose the
periodcentered component if you want to roll your own punt volat.
If Glyphs finds an
L and an
l in your font, it will build this
locl feature automatically for you:
language CAT; sub l' periodcentered' l by ldot; sub L' periodcentered' L by Ldot;
Many type designers are not really happy with this solution, because it looks really stupid with increased tracking. Duh.
The Double Underscore Hack
Usually, the lowercase
l has pretty tight sidebearings, i.e. not enough space for a dot. So you may want to adjust the width of the
ldot in order to make room for the punt volat. But Glyphs thinks
ldot is a diacritic and keeps its metrics synchronized with the
l. To remedy this, just select and right-click the
l component in your
ldot and choose Disable Automatic Alignment from the context menu, and you can adjust the width freely:
Or, instead of placing
periodcentered as a component in
ldot, you may want to make a copy of
periodcentered, and call it
__periodcentered, and place that glyph as a component in
__periodcentered.case for the uppercase
Note the double underscore at the beginning of the glyph name. When you place a double underscore mark in a glyph, Glyphs will
add its width to the right sidebearing while still maintaining automatic alignment. That way, you can control the width of the
ldot by spacing the
__periodcentered. You can even use anchors if you like, e.g.
l, and a corresponding
_puntvolat in the mark glyph. Cool.
Combining Multiple Solutions
It should be easy to combine the language-agnostic solutions with the
locl solutions. So, you can make it work in most environments.
But if you have multiple
locl solutions, which one will the automatic feature generator pick? Well, in version 2 and above
periodcentered.loclCAT will take precedence over
L_periodcentered_L.loclCAT, and the ligature will take precedence over
If you are not happy with the automatism or the precedence order, please feel free to disable the automatic generation for the
locl feature, and type your own code.
And ta-daaa: Now, your font is ready for Catalan!
Update 2014-12-01: Added Spacing and Ligature solutions, double underscore hack, and combining solutions; many small improvements.
Update 2016-02-19: Updated screenshots for Glyphs 2.
Update 2016-10-16: Corrected long-standing typo in ela geminada (thx Joan Montané).
Update 2017-09-12: Fixed typo.