Denseman on the Rattis

Formerly known as the Widmann Blog

engdtypography

Typesetting Gaelic in Gaelic type

Gaelic in Gadelica.
Gaelic in Gadelica.
In Ireland, Gaelic type is widely used for writing Irish (although mainly for decorative purposes these days, if I’m not mistaken). On the other hand, it’s hardly ever used in Scotland, although Irish and Scottish Gaelic are very closely related.

However, I thought it’d be nice to be able to typeset Gaelic in Gaelic type using TeX/LaTeX/XeLaTeX.

After a big of googling, I found a very nice font called Gadelica.

This is a beautiful OpenType font (and it supports the grave accents used in Scottish Gaelic, not just the acute ones used in Irish), but there is a slight problem: It assumes that the dotted letters (e.g., ‘?’ instead of ‘ch’) have been coded in Unicode rather than using the normal digraphs.

To solve this, I created a TECkit mapping (see below for the complete mapping file). Once you’ve compiled it, you can now easily create a XeLaTeX document and select font and mapping with \setromanfont[Mapping=gadelica]{Gadelica}, and you can now input the normal ligatures. For instance, the second line in the illustration above is simply given as Dh’fheuch am faic mi fear a’ bhàta in the source file.

Here’s the complete mapping file, gadelica.map (compile with teckit_compile gadelica.map):

LHSName "Gadelica"
RHSName "UNICODE"

pass(Unicode)

U+0062 U+0068 <> U+1E03 ;bh
U+0063 U+0068 <> U+010B ;ch
U+0064 U+0068 <> U+1E0B ;dh
U+0066 U+0068 <> U+1E1F ;fh
U+0067 U+0068 <> U+0121 ;gh
U+006D U+0068 <> U+1E41 ;mh
U+0070 U+0068 <> U+1E57 ;ph
U+0073 U+0068 <> U+1E61 ;sh
U+0074 U+0068 <> U+1E6B ;th
U+0042 U+0048 <> U+1E02 ;BH
U+0043 U+0048 <> U+010A ;CH
U+0044 U+0048 <> U+1E0A ;DH
U+0046 U+0048 <> U+1E1E ;FH
U+0047 U+0048 <> U+0120 ;GH
U+004D U+0048 <> U+1E40 ;MH
U+0050 U+0048 <> U+1E56 ;PH
U+0053 U+0048 <> U+1E60 ;SH
U+0054 U+0048 <> U+1E6A ;TH
U+0053 U+0048 <> U+1E60 ;SH
U+0054 U+0048 <> U+1E6A ;TH
U+0042 U+0068 <> U+1E02 ;Bh
U+0043 U+0068 <> U+010A ;Ch
U+0044 U+0068 <> U+1E0A ;Dh
U+0046 U+0068 <> U+1E1E ;Fh
U+0047 U+0068 <> U+0120 ;Gh
U+004D U+0068 <> U+1E40 ;Mh
U+0050 U+0068 <> U+1E56 ;Ph
U+0053 U+0068 <> U+1E60 ;Sh
U+0054 U+0068 <> U+1E6A ;Th

; Some stuff from tex-text.map:
U+002D U+002D <> U+2013 ; -- -> en dash
U+002D U+002D U+002D <> U+2014 ; --- -> em dash

U+0027 <> U+2019 ; ' -> right single quote
U+0027 U+0027 <> U+201D ; '' -> right double quote
U+0022 > U+201D ; " -> right double quote

U+0060 <> U+2018 ; ` -> left single quote
U+0060 U+0060 <> U+201C ; `` -> left double quote

Leave a Reply

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