+<p>The result is a PNG file, <tt>liberation-mono-italic-14.png</tt>, that you can copy to your rEFInd directory and load with the <tt>font</tt> token in <tt>refind.conf</tt>, as in:</p>
+
+<pre class="listing">font liberation-mono-italic-14.png</pre>
+
+<p>The <tt>mkfont.sh</tt> script takes four arguments:</p>
+
+<ul>
+
+<li><b>The font name</b>—Type <tt class="userinput">convert -list font | less</tt> to obtain a list of fonts available on your computer. Note, however, that rEFInd requires <tt>monospaced</tt> (fixed-width) fonts, and most of the fonts installed on most computers are variable-width.</li>
+
+<li><b>The font size in points</b></li>
+
+<li><b>A y offset</b>—Many fonts require an adjustment up (negative values), or occasionally down (positive values) to fit in the PNG image area. You'll have to use trial and error to get this to work.</li>
+
+<li><b>The output filename</b></li>
+
+</ul>
+
+<p>I recommend checking the PNG file in a graphics program like <tt>eog</tt> before using it. Note that the font files should have an alpha layer, which many graphics programs display as a gray-and-white checkered background.</p>
+
+<p>If you're not using Linux, or if you want to use some other method of
+generating fonts, you can do so. The font files must be in PNG format (the
+BMP format doesn't support an alpha layer, which is required for proper
+transparency). They must contain glyphs for the 95 characters between ASCII
+32 (space) and ASCII 126 (tilde, ~), inclusive, plus a 96th glyph that
+rEFInd displays for out-of-range characters. To work properly, the
+characters must be evenly spaced and the PNG image area must be a multiple
+of 96 pixels wide, with divisions at appropriate points. In theory, you
+should be able to take a screen shot of a program displaying the relevant
+characters and then crop it to suit your needs. In practice, this is likely
+to be tedious.</p>
+
+<a name="known_themes">