summaryrefslogtreecommitdiff
path: root/fonts/utilities/vplutils/makevpl.man
blob: 6bc0ed28ad62a21e07cfbffc14125218f1a1f1ad (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
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
.TH MAKEVPL 1 "VPLUtils Release @RELEASE@"
.SH NAME
makevpl \- mix and match TeX's PL and VPL fonts
.SH SYNOPSIS
.B makevpl
[
.B \-quiet
] [
.B \-enc
.I encoding
] [
.B \-defenc
.I encoding
] [
.B \-family
.I famname
] [
.B \-face
.I facenum
] [
.B \-coding
.I scheme
] [
.B \-size
.I designsize
] [
.B \-units
.I designunits
] [
.B \-at
.I pointsize
] [
.B \-normal
] [
.B \-replace\fR{\fBfd|ch|wd|ht|dp|ic|map\fR}\fB
.I range
] [
.B \-add\fR{\fBfd|ch|wd|ht|dp|ic|map\fR}\fB
.I range
]
.I font[:encoding]...
.SH DESCRIPTION
.I Makevpl
constructs a Virtual Property List (VPL) file containing characters from the
fonts specified. A property list (\fB.pl\fR) or virtual property list
(\fB.vpl\fR) file must exist for each font specified; these files are read,
and a new VPL file containing the merged font is written to standard output.
.PP
The action options
.B \-replace\fIx\fB, \-add\fIx\fB, \-at
and
.B \-normal
determine how the files are merged. These options may be specified several
times; if they appear before the first font, they set the default action for
all fonts. If these options appear between fonts, they set the action for the
next font only.
.PP
The actions
.B \-replace\fIx\fB
and
.B \-add\fIx\fB
determine whether character information from a font is to replace or be added
to information in the output font. A character range must be specified with
of these options; only characters in the range are considered for replacement
or addition. The character range is a comma separated list of numbers or
subranges of the form
.I low\-high.
If
.I low
and/or
.I high
are omitted, the subrange is unbounded at the appropriate end(s).
.PP
There are seven variants of the
.B \-replace\fIx\fB
and
.B \-add\fIx\fB
options. These are
.B \-addfd
and
.B \-replacefd,
which add or replace font dimensions in the specified range, 
.B \-addwd, \-replacewd, \-addht, \-replaceht, \-adddp, \-replacedp, \-addic,
.B \-replaceic, \-addmap,
and
.B \-replacemap,
which add or replace the width, height, depth, italic correction or character
map of characters in the specified range.
The options
.B \-addch,
and
.B \-replacech
will add or replace all of the information for the characters in the specified
range. Only characters which have a character map will be written to the
output font; a default character map is supplied for characters in property
list (\fB.pl\fR) files.
.PP
Delimiter and variable size character list information is mapped to the
corresponding glyphs in the output font encoding, and cannot be controlled
from the command line. Ligature and kerning information mapped across with
characters from a font; if you want to add new ligatures or kerns to a font,
you can merge it with a property list with the same name as the font, but with
a different extension.
.PP
The actions
.B \-at
and
.B \-normal
determine how the fonts are scaled. The
.B \-at
option scales fonts to the point size specified, and the
.B \-normal
option leaves fonts at their natural size.
.PP
The default actions are to replace all characters, add all font dimensions,
and leave fonts at their natural size.
.PP
Each font file has an associated
.I encoding
vector. The encoding vector is used to determine where replacement or
additional characters are positioned in fonts. The name associated with a
character's input encoding is used to place the character in the output font.
Encoding vector files are PostScript fragments, containing an array of 256
names.
.PP
The
.B \-enc
option gives the desired output encoding; the default is to use the encoding
of the first font specified.
.PP
The environment variable
.B ENCPATH
can be used to set an encoding path which will be searched for the
encoding files. If a null path component is specified, the default path will
be searched at that point. The encoding files will be looked for under the
name given, and also with
.B .enc
appended.
.PP
The
.B \-defenc
option can be used to specify an encoding which will be used for
each font which does not have an encoding specified. The default encoding is
.I standard.
.PP
The family, face and encoding scheme fields of the output font can be set with
the
.B \-family, \-face,
and
.B \-coding
options. The design size and number of design units per design size can be
specified with the
.B \-size
and
.B \-units
options.
.PP
Normally
.I makevpl
informs you about what it is doing; the
.B \-quiet
option prevents this behaviour.
.SH EXAMPLES
To create a version of Times which can be used for maths in TeX, start
with the Computer Modern maths font, and replace characters from an obliqued
version of the symbol font, and Times-Italic:
.sp
.ce
makevpl cmmi:CMsymbol rpsyro:symbol rptmri >ptmmi.vpl
.sp
To add ligatures to the standard encoding form of CharterBT-Roman:
.sp
.ce
makevpl rbchr rbchr.ligs >rbchl.vpl
.sp
.SH FILES
@ENCODINGDIR@/*.enc \- encoding vector files
.SH AUTHOR
Angus Duggan
.SH "SEE ALSO"
@MAN@, vftovp(1), vptovf(1), tftopl(1), afm2tfm(1)
.SH BUGS
.I Makevpl
expands joined kerning and ligature tables; word boundary characters in the
kerning and ligature tables may also be treated unusually.
.I Makevpl
is slow.