aboutsummaryrefslogtreecommitdiff
path: root/fauxtari.rst
blob: be0562ea455a9912ba7201230ef4790c2cb9dfb0 (plain)
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
149
150
151
152
========
fauxtari
========

------------------------------------------------
Atari 8-bit-based font for Linux console and X11
------------------------------------------------

.. include:: manhdr7.rst

DESCRIPTION
===========

**fauxtari** is a set of monospaced bitmap fonts for use with the
Linux console or X11. Most of the glyphs are taken from the Atari
XL/XE ROM font; see **GLYPHS**, below.

APPEARANCE
==========

The console (**psf** files) and X11 (**bdf** files) fonts each come
in 3 sizes: 8x8 (original size), 16x16 (scaled 2x), and 24x24 (scaled
3x). The scaling has no interpolation or antialiasing, so the larger
fonts have a blocky "retro" look.

The appearance of the font is also vertically squashed, since it was
designed for non-square pixels (NTSC and PAL "pixels" are slightly
taller than they are wide). This allows you to fit a *lot* of text
on the screen, in the console or with a fullscreen X terminal:

.. csv-table::

  "Font Size", "Display Size", "Characters"
  "8x8", "1280x1024", "160x128"
  "8x8", "1920x1080", "240x135"
  "8x8", "3840x2160", "480x270"
  "16x16", "1280x1024", "80x64"
  "16x16", "1920x1080", "120x67"
  "16x16", "3840x2160", "240x135"
  "24x24", "1280x1024", "53x42"
  "24x24", "1920x1080", "80x45"
  "24x24", "3840x2160", "160x90"

Of course, the smaller font sizes might be too small to read, especially
on smaller displays.

CONSOLE
=======

If the **psf** fonts have been installed to the standard console font
directory (usually **/usr/share/kbd/consolefonts/**; this is done by
**make install** when **bw-atari8-tools** is built), you can use e.g.::

  setfont fauxtari-16

Replace the 16 with 8 or 24, for the other sizes. For Slackware Linux,
you can make this the default in **/etc/rc.d/rc.font**, or just put it
in **/etc/rc.d/rc.local**. Other Linux distributions will have their
own ways to set this up (especially systemd-based ones).

X11
===

If the **bdf** fonts have been installed (via **make install** when
**bw-atari8-tools** is built), you should be able to launch a terminal
via::

  xterm -fn fauxtari-16

Replace the 16 with 8 or 24, for the other sizes. These names are
aliases (added to **fonts.alias** in the font directory); the full
names are:

- -bw-fauxtari-medium-r-normal--8-80-75-75-c-80-iso10646-1

- -bw-fauxtari-medium-r-normal--16-160-75-75-c-160-iso10646-1

- -bw-fauxtari-medium-r-normal--24-240-75-75-c-240-iso10646-1

For **urxvt**\(1), you might have to turn off the **boldFont** resource (set
it to an empty string), or run it as::

  urxvt -fn fauxtari-16 -fb ""

This keeps **urxvt** from using some other font (from its built-in
list, or from your **URxvt.font** resource) for bold characters. You
could also try::

  urxvt -fn 'xft:Fauxtari:size=16'

Note that the "size=" must be one of the available sizes (8, 16, or
24). Or, rather, **urxvt** *will* use one of these sizes, whichever is the
next larger than the size you gave it (or, it'll refuse to load the
font, if the size is too large).

For **st** from suckless.org, run::

  st -f fauxtari-16

It's possible to use the fonts with **rxvt**, but since **rxvt**
doesn't support Unicode, it won't be all that useful except for plain
ASCII text. Why are you still using **rxvt**, anyway?

GLYPHS
======

All 3 sizes contain the same set of glyphs. These include:

- Printable ASCII. Complete. Mostly taken from the Atari 800XL ROM
  ($E000 area), except the **~** **{** **}** **`** characters which are
  missing from the Atari's character set (these were hand-drawn by the
  author).

- Unicode mappings for ATASCII graphics characters. Complete set. These
  work well with **listbas**\(1), **a8cat**\(1), and **a8xd**\(1). The glyphs
  are taken from the 800XL ROM.

- The XL International Character set (umlauted/accented letters, plus 
  the **ยก** character and the British pound sign), taken from the 800XL ROM
  ($CC00 area).

- Arabic, taken from Atari's Arabic model of the 65XE. Only the
  isolated and terminal letter forms are included, but these are
  also mapped to the Unicode codepoints for the initial and medial forms.
  Hopefully this results in readable Arabic text. The creator of
  **fauxtari** can't read Arabic at all and doesn't know anyone who
  can, so some of the character mappings may be wrong.

- Hebrew glyphs, the complete aleph-bet, taken from the Hebrew ROM
  modification that was available for sale in Israel in the early 1980s.
  I'm almost 100% certain this was a 3rd-party product, not made by Atari.

- Polish accented letters, taken from a Polish XL ROM found on the Web
  at some point. No idea who created this or whether it was homebrew or
  commercial.

- A few extra Latin-1 characters, hand-drawn by the author. These include
  Spanish punctuation (quotation marks, inverted question mark), the
  copyright symbol, and the Euro currency sign.

- TODO: Commodore 64 graphics characters.

LIMITATIONS
===========

- Since these are bitmap fonts, applications generally won't render them at
  arbitrary sizes.

- There are no true descenders, since the Atari ROM character set doesn't use them.
  Someday I may add hand-hacked true descender versions of the fonts.

.. include:: manftr.rst