File: ch4.html

package info (click to toggle)
console-setup 1.240
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 62,452 kB
  • sloc: perl: 11,215; xml: 8,643; sh: 3,886; makefile: 769
file content (148 lines) | stat: -rw-r--r-- 5,408 bytes parent folder | download | duplicates (3)
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&mdash;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 &quot;<samp>unifont.bdf</samp> + <samp>h16.bdf</samp> +
<samp>etl16-unicode.bdf</samp>&quot; 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
&quot;good&quot; 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>