1psfxform(1) PSF Tools psfxform(1)
2
3
4
6 psfxform - Apply various transformations to a PC Screen Font file
7
9 psfxform [--first=FIRST] [--last=LAST] [--256] [--bold=RANGE] [--cen‐
10 tre=RANGE] [--double=RANGE] [--flip=RANGE] [--repeat=RANGE]
11 [--scale=RANGE] [--thin=RANGE] [--strip] [--width=WIDTH]
12 [--height=HEIGHT] [--codepage=CODEPAGE] [--setcodepage=CODEPAGE]
13 [--permute=FILE] [--psf1] [--psf2] [INPUTFILE [OUTPUTFILE]]
15 psfxform extracts some or all characters from a font in the .PSF for‐
16 mat, applies various transformations, and saves the result as another
17 .PSF font. Subsets can be extracted as a range of characters, as a
18 codepage, or both.
19
20 The character ranges passed to --bold, --double and so on are optional.
21 If present, they are formed as a comma-separated list - each element is
22 nnn for a single character, nnn-nnn for a contiguous set of characters.
23 For example, to apply --repeat to characters 8,10 and 179 to 223:
24 --repeat=8,10,179-223
25
27 --codepage=x
28 Extracts only the characters in the given codepage (requires the
29 source PSF file to have a Unicode directory). Any characters in
30 the codepage not present in the source font are replaced by
31 blanks. The codepage can be specified by number or name; see
32 psfpages(1) for a list of acceptable codepage names.
33
34 --setcodepage=x
35 Replace any Unicode information in the extracted font by the
36 Unicode mappings for the specified codepage. Note that this
37 option does not change the character bitmaps in any way.
38
39 --strip
40 Forces the output font to be written with no Unicode directory,
41 even if the source font had one.
42
43 --first=n
44 Extracts characters starting at the specified character.
45
46 --last=n
47 Extracts characters up to and including the specified character.
48
49 --256 Equivalent to --first=0 --last=255.
50
51 --permute=filename
52 Rearrange the character bitmaps in the output file. This only
53 affects character bitmaps, not the Unicode directory. The file‐
54 name passed to --permute can be "-" for standard input; its for‐
55 mat should be a series of lines, each containing two numbers
56 separated by a comma. The first number is the character number
57 to change from, and the second is the number to change to. For
58 example, two lines, the first reading "65,66" and the second
59 reading "66,65", will swap the glyphs for A and B. Anything
60 after a # or ; is a comment. The numbers used relate to the
61 source file, before any subset is extracted.
62
63 --width
64 Alter the character cell width in the target font. This doesn't
65 scale characters; it's Procrustean, so glyphs are either packed
66 with whitespace or cropped.
67
68 --height
69 Alter the character cell height in the target font.
70
71 --bold=RANGE
72 Makes characters bold by drawing them twice. Note that if no
73 --width option is supplied, this will make the target font one
74 pixel wider than the source font.
75
76 --centre=RANGE
77 If the character cell is being made larger or smaller, aligns
78 character cells by their centres rather than by their top left-
79 hand corners. The spelling --center is also recognised. --dou‐
80 ble=RANGE Doubles each row in the source character. This should
81 be used with the --height option to increase the number of char‐
82 acter rows, otherwise only the top half of each character will
83 be used.
84
85 --flip=RANGE
86 Mirror characters left/right. --repeat=RANGE When increasing
87 the size with --height or --width, repeat the last character row
88 and column into new rows/columns, rather than leaving them
89 blank. This may help to keep line graphic characters joined up.
90 When combined with --centre, characters will be expanded at all
91 four edges if necessary.
92
93 --scale=RANGE
94 If the character cell is being made larger or smaller, attempts
95 to scale the characters to fit. This will probably look awful
96 unless the new size is an exact multiple of the old size, or
97 unless you tidy the characters by hand afterwards.
98
99 --thin=RANGE
100 Makes characters thin by reducing vertical lines wider than one
101 pixel.
102
103 --psf1 Forces output to be in PSF1 format.
104
105 --psf2 Forces output to be in PSF2 format.
106
107 If a codepage and --first / --last are both specified, the --first /
108 --last apply to the subset of characters extracted by the codepage.
109 Similarly all character ranges on --bold, --thin etc. apply to the
110 extracted subset.
111
112
114 psfpages(1)
115
117 John Elliott <jce@seasip.demon.co.uk>.
118
119Version 1.0.8 21 June, 2008 psfxform(1)