Emulating Kav-Mafrid (em-dash) for the David Font

The David font that is used in Culmus-LaTeX lacks support of Kav-Mafrid, the ligature that is created by two consecutive dashes, --. Because the regular Hebrew dash, Maqaf, is position near the top of the line, one can’t use it instead of the Kav-Mafrid and expect a graphically pleasant result (while Kav-Mafrid can replace Maqaf and the text would still look ok). To make things even more problematic, this ligature is supported by Culmus-LaTeX’s default font, Frank Ruehl, which means one can’t easily switch fonts without hurting the layout.

At first, I’ve tried to use the English dash and en-dash but result weren’t satisfactory. Both of them were too light and positioned too low to be used in an Hebrew text written in the Culmus fonts (see screenshot).

So finally, I’ve decided to write a simple macro to emulate a Kav-Mafrid for the David font.


The command works by kerning two Hebrew, Maqaf’s, together (with a slight overlap to adjust width), and lowering their position to the middle of the line.

In the following screensot the first line features the Frank Ruehl font and it\’s Maqaf and Kav-Mafrid. The second line featured the david font with a Maqaf and the missing Kav-Mafrid ligature. The third line features the David font with English dash and en-dash. The last line uses David with the regular Maqaf and the \dd{} macro.

Different dash examples
Different dash examples

As it can be seen, the \dd{} macro does provide a good alternative for the Kav-Mafrid. However this solution isn’t perfect. One can improve the macro by detecting if the Kav-Mafrid ligature is present in the current font and if so, use it instead of the kerned one. This would enable one to use the macro and safely switch fonts, knowing he will always get the best Kav-Mafrid possible.

One thought on “Emulating Kav-Mafrid (em-dash) for the David Font”

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.