[Tex/LaTex] Middle English Yogh character

charactersfontspackagestypewriter

I was wondering if anyone knows of a package which supports the Middle English character yogh – that's Ȝ (U+021C) ȝ (U+021D). In TIPA, there is the character ezh – that's Ʒ (U+01B7) ʒ (U+0292). Ezh is very similar to yogh and is listed as yogh in TIPA, but I specifically need the Middle English letter used in transliterating runes. I could use XeTeX to simply insert the character using a different font, but since thorn (Þ (U+00DE) þ (U+00FE)) eth (Ð (U+00D0) ð (U+00F0)) ash (Æ (U+00C6) æ (U+00E6)) and wynn (Ƿ (U+01F7) ƿ (U+01BF)) are all available, I was hoping to maintain consistency. I'd also really like to be able to typeset it in the typewriter text style as – so far, in the rest of my document – all transliterations have been typeset in that style.

Best Answer

As Alan Munn pointed out, there is metafont source for a CM-like Old English font on CTAN, which is called cmoefont.

Obtaining the fonts

Download the .zip from CTAN and place all of the resulting .mf files in the same directory as your .tex file. The actual font files are:

  • cmoebx10.mf – Bold Extended 10 point
  • cmoer10.mf – Roman 10 point
  • cmoesc10.mf – Caps and Small Caps 10 point
  • cmoesl10.mf – Slanted Roman 10 point
  • cmoeti10.mf – Text Italic 10 point
  • cmoett10.mf – Typewriter Text 10 point

Loading the fonts

You now have two options to load these fonts into your document for usage (to me they seem like the TeX and LaTeX way, respectively):

  1. Use the way described in MetaFont for Beginners (4.4 “Using a New Font in TeX”):
    Declare a new font with \font\oeroman=cmoer10.

  2. Use the way described in MetaFont – Generische Zeichenbeschreibung [german] (5 Einbindung in LaTeX):
    Use \newfont{oeroman}{cmoer10}.

As MetaFont renders the font for a specific size (or more correctly, resolution), the font used this way will be at 10 point and at 10 point only, even if your \documentclass option says differently. To get the correct size for a 12 point font size, for example, you need to tell MetaFont to scale up the font accordingly with scaled 1200 so you can use either of these commands to load your font:

\font\oeromantwelve=cmoer10 scaled 1200
\newfont{\oeromantwelve}{cmoer10 scaled 1200}

Or, even more complicated:

\DeclareFontFamily{OT1}{cmoer10}{}
\DeclareFontShape{OT1}{cmoer10}{m}{n}{<-> cmoer10}{}

Where <-> seems to be an option for automatic scaling, and more information about these parameters can be found in the MetaFont book.

LaTeX will use the information you provide to run mktextfm on the MetaFont sources to create font metrics (.tfm) and a GF font (cf. MetaFont for Beginners: 4.5 “Magnification (and Resolution)” for more information on this).

Using the fonts

To finally use the fonts in your document, you may use:

{\oeroman D d T t G g n u}
{\oeromantwelve D d T t G g n u}
{\usefont{OT1}{cmoer10}{m}{n} D d T t G g n u}

The latter one only for the last loading method.


Caveats

The fonts contain only the following letters (cf. Readme):

D  capital eth           Ð
d  eth                   ð
T  capital thorn         Þ
t  thorn                 þ
G  capital yogh          Ȝ
g  yogh                  ȝ
n  Polish ogonek accent  ˛

The roman derived fonts (i. e. not cmoeti10) also have

u  lower-case thorn with side bowl pointing top right

From my point of view, full unicode input (and output) is superior in this case, although you would obviously have to change your font in this case. Take a look at the fonts suggested by the MUFI (Medieval Unicode Font Initiative): MUFI font page.

Related Question