summaryrefslogtreecommitdiff
path: root/Build/source/utils/t1utils/t1asm.1
blob: 59d4db5e790ae735f263f91b2cef558e4de33f53 (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
.ds V 1.32
.de M
.BR "\\$1" "(\\$2)\\$3"
..
.TH T1ASM 1  "" "Version \*V"
.SH NAME
t1asm \- assemble PostScript Type 1 font
.SH SYNOPSIS
.B t1asm
\%[\fB\-a\fR|\fB\-b\fR]
\%[\fB\-l\fR \fIlength\fR]
\%[\fIinput\fR [\fIoutput\fR]]
.SH DESCRIPTION
.B t1asm
assembles Adobe Type 1 font programs into either PFA (hexadecimal) or PFB
(binary) formats from a human-readable form. If the file
.I output
is not specified output goes to the standard output. If the file
.I input
is not specified input comes from the standard input.

.B t1asm
tokenizes the charstring data and performs eexec and charstring encryption
as specified in the ``black book,''
.I "Adobe Type 1 Font Format."

The input must have a line of the form
.RS
.nf
.ft B
/-|{string currentfile exch readstring pop}executeonly def
.ft R
.fi
.RE
which defines the command, in this case `\-|', that is to start charstring
data. It is an error not to define such a command. Another common name for
this command is `RD'.

After the start of the
.B Subrs
array in the input, all open braces `{' not in a comment begin a
charstring. Such a charstring is terminated by the next non-comment close
brace `}'. Within such a charstring, only comments, integers, and valid
charstring commands are allowed. Valid charstring command names can be
found in
.I "Adobe Type 1 Font Format"
and other documents describing the newer Type 2 opcodes. The format within
a charstring is unimportant as long as integers and commands are separated
by at least a one whitespace (space, tab, newline) character. Note that
within charstrings, comments are discarded because they cannot be encoded.
.SH OPTIONS
.TP 5
.BR \-\-pfa ", " \-a
Output in PFA (ASCII) format.
.TP 5
.BR \-\-pfb ", " \-b
Output in PFB (binary) format. This is the default.
.TP
.BI \-\-block\-length= "num\fR, " \-l " num"
PFB only: Set the maximum output block length to
.I num.
The default length is as large as memory allows.
.TP
.BI \-\-line\-length= "num\fR, " \-l " num"
PFA only: Set the maximum length of encrypted lines in the output to
.I num.
(These are the lines consisting wholly of hexadecimal digits.) The default
is 64.
.SH EXAMPLES
.LP
.nf
% t1asm Utopia-Regular.raw > Utopia-Regular.pfb
% t1asm -a Utopia-Regular.raw > Utopia-Regular.pfa
.fi
.SH "SEE ALSO"
.LP
.M t1disasm 1 ,
.M t1ascii 1 ,
.M t1binary 1 ,
.M t1unmac 1 ,
.M t1mac 1
.LP
.I "Adobe Type 1 Font Format"
is available free from Adobe as a PDF file.
http://partners.adobe.com/asn/developer/PDFS/TN/T1_SPEC.PDF
.LP
.I "The Type 2 Charstring Format,"
also available from Adobe as a PDF file, describes the newer Type 2
operators, which are also used in some multiple-master Type 1 fonts like
Adobe Jenson and Kepler.
http://partners.adobe.com/asn/developer/PDFS/TN/5177.Type2.pdf
'
.SH AUTHORS
Lee Hetherington (ilh@lcs.mit.edu)
.br
Eddie Kohler (kohler@icir.org)