1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1">
<title>The Hackers Guide for console-setup - The New Fonts</title>
<link href="index.html" rel="start">
<link href="ch3.html" rel="prev">
<link href="ch-ckbcomp.html" rel="next">
<link href="index.html#contents" rel="contents">
<link href="index.html#copyright" rel="copyright">
<link href="ch1.html" rel="chapter" title="1 Basic Structure">
<link href="ch2.html" rel="chapter" title="2 bdf2psf">
<link href="ch3.html" rel="chapter" title="3 The Legacy Fonts">
<link href="ch4.html" rel="chapter" title="4 The New Fonts">
<link href="ch-ckbcomp.html" rel="chapter" title="5 The ckbcomp Utility">
<link href="ch1.html#s1.1" rel="section" title="1.1 Fonts">
<link href="ch1.html#s1.2" rel="section" title="1.2 Keyboard">
<link href="ch1.html#s1.3" rel="section" title="1.3 describe_unicodes">
<link href="ch2.html#s2.1" rel="section" title="2.1 Synopsis">
<link href="ch2.html#s-charsets" rel="section" title="2.2 Character Sets">
<link href="ch2.html#s-equivalence" rel="section" title="2.3 Equivalence files">
<link href="ch3.html#s3.1" rel="section" title="3.1 Conversion from PSF to BDF">
<link href="ch3.html#s3.2" rel="section" title="3.2 Back Conversion—from BDF to PSF">
</head>
<body>
<p><a name="ch4"></a></p>
<hr>
<p>
[ <a href="ch3.html">previous</a> ]
[ <a href="index.html#contents">Contents</a> ]
[ <a href="ch1.html">1</a> ]
[ <a href="ch2.html">2</a> ]
[ <a href="ch3.html">3</a> ]
[ 4 ]
[ <a href="ch-ckbcomp.html">5</a> ]
[ <a href="ch-ckbcomp.html">next</a> ]
</p>
<hr>
<h1>
The Hackers Guide for <samp>console-setup</samp>
<br>Chapter 4 - The New Fonts
</h1>
<hr>
<p>
Even for the new PSF fonts it is not wise to use a single BDF source. Many of
the BDF fonts share a common look. For example the X font <code>fixed</code>
was used by Roman Czyborra in order to create his <code>unifont.bdf</code>.
The same font was used also by Electronic Font Open Laboratory for their
<code>h16.bdf</code> and by the former Electrotechnical Laboratory (now
National Institute of Advanced Industrial Science Technology, Japan) for their
<code>etl16-unicode.bdf</code> font.
</p>
<p>
The targets <samp><var>FONTFACE</var>-BDFS</samp> in the <code>Makefile</code>
specify the BDF fonts to use in order to generate the PSF font fonts. For
example the combination "<samp>unifont.bdf</samp> + <samp>h16.bdf</samp> +
<samp>etl16-unicode.bdf</samp>" is used for the Fixed16 font face. The
fonts listed first take precedence, so it is wise to list first the fonts which
symbols look better and not the fonts with more symbols.
</p>
<p>
The <code>bdf</code> directory contains almost all free BDF fonts that can be
used to generate console fonts. Currently they allow to generate fonts from
the following font faces: Fixed13, Fixed14, Fixed15, Fixed16, Fixed18,
Fixed24x12, FixedBold13, FixedBold14, FixedBold15, FixedBold16, FixedBold18,
FixedBold24x12, FixedOblique13, Terminus12x6, Terminus14, Terminus16,
Terminus24x12, Terminus20x10, Terminus28x14, Terminus32x16, TerminusBold12x6,
TerminusBold14, TerminusBold16, TerminusBold20x10, TerminusBold24x12,
TerminusBold28x14, TerminusBold32x16, TerminusBoldVGA14, TerminusBoldVGA16,
Courier13, Courier14, Courier15, Courier16, CourierBold13, CourierBold14,
CourierBold15, Lucid12, Lucid13, Lucid15, Lucid16, Lucid22x12, Lucid29x16,
LucidBold11, LucidBold13, LucidBold15, LucidBold16, LucidBold22x12,
LucidBold29x16, Goha12, Goha14, Goha16, GohaClassic12, GohaClassic14 and
GohaClassic16.
</p>
<p>
The targets in the <code>Makefile</code> are able to generate a PSF font for
every <var>CHARSET</var>-<var>FONTFACE</var> combination. The
<code>build</code> target however will generate fonts only for the
"good" combinations.
</p>
<p>
First, the program <code>fontcodesets</code> is used to determine which
charsets a particular font face supports. The result is stored in the file
<code>soft.Makefile</code> where the variable <code>PSF_FONTS</code> is defined
and it is directly included in the main <code>Makefile</code>. Use the target
<code>soft.Makefile</code> in order to update this file (this doesn't happen
automatically).
</p>
<p>
Second, some of the font faces are not generated because they do not look very
attractive on the console (certainly the choice is a personal opinion). Only
the following font faces are approved: Fixed13, Fixed14, Fixed15, Fixed16,
Fixed18, Terminus12x6, Terminus14, Terminus16, Terminus24x12, Terminus20x10,
Terminus28x14, Terminus32x16, TerminusBold12x6, TerminusBold14, TerminusBold16,
TerminusBold20x10, TerminusBold24x12, TerminusBold28x14, TerminusBold32x16,
TerminusBoldVGA14, TerminusBoldVGA16, Goha12, Goha14, Goha16, GohaClassic12,
GohaClassic14 and GohaClassic16. See the <code>GOOD_PSF_FONTS</code> variable
in the <code>Makefile</code>.
</p>
<hr>
<p>
[ <a href="ch3.html">previous</a> ]
[ <a href="index.html#contents">Contents</a> ]
[ <a href="ch1.html">1</a> ]
[ <a href="ch2.html">2</a> ]
[ <a href="ch3.html">3</a> ]
[ 4 ]
[ <a href="ch-ckbcomp.html">5</a> ]
[ <a href="ch-ckbcomp.html">next</a> ]
</p>
<hr>
<p>
The Hackers Guide for <samp>console-setup</samp>
</p>
<address>
Anton Zinoviev <code><a href="mailto:anton@lml.bas.bg">mailto:anton@lml.bas.bg</a></code><br>
<br>
</address>
<hr>
</body>
</html>
|