A page set in a font from 1990

Lettering in Adobe's oldest format, the kind a print shop bought twenty years ago and almost nothing reads any more, carried whole into the file. Every figure the page states about it was read out of the font itself.

This page is the whole program, for whoever writes your software. There is nothing here to read otherwise. Go back to the document it writes.

JSON write_type_one_font.json 192 lines

This one is not a program. It is the request the document server is sent: the same page, asked for over the network by an application that writes no PDF code at all.

The request carries the font itself, which is a font of the customer's own, so this is the one pair on the site rendered for a customer allowed to send one. Every figure the page states about that font the library reads out of the font as it goes — the name it calls itself by, that it holds 62 shapes of which 61 can be reached by a code, the box it states, how thick its strokes are and how far under the line it wants an underline — and the request repeats them as figures written into it. Two weights go with them, what the font weighs on disk and what a throwaway document the library writes to weigh it comes to. All of them move whenever the font is rebuilt; here they are typed in, and would have to be typed in again. The library also sets a grey before the closing note and then states black inside the note itself, so the grey paints nothing; the request states no colour there and draws the same page with one instruction fewer.

  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
188
189
190
191
192
{
  "type1_fonts": [
    {
      "name": "stroke",
      "data": "gAFbBwAAJSFGb250VHlwZTEtMS4wOiBIcWZTdHJva2UgMDAxLjAwMQolIENvcHlyaWdodCBIUUYgRGV2ZWxvcG1lbnQuIEhxZlN0cm9rZSBpcyByZWxlYXNlZCB1bmRlciB0aGUgc2FtZSB0ZXJtcyBhcyB0aGUgbGlicmFyeSBpdCBpcyBjb21taXR0ZWQgdG8sIGFuZCBtYXkgYmUgY29waWVkLCB1c2VkIGFuZCByZWRpc3RyaWJ1dGVkIHdpdGggaXQuCjExIGRpY3QgYmVnaW4KL0ZvbnRJbmZvIDYgZGljdCBkdXAgYmVnaW4KL05vdGljZSAoQ29weXJpZ2h0IEhRRiBEZXZlbG9wbWVudC4gSHFmU3Ryb2tlIGlzIHJlbGVhc2VkIHVuZGVyIHRoZSBzYW1lIHRlcm1zIGFzIHRoZSBsaWJyYXJ5IGl0IGlzIGNvbW1pdHRlZCB0bywgYW5kIG1heSBiZSBjb3BpZWQsIHVzZWQgYW5kIHJlZGlzdHJpYnV0ZWQgd2l0aCBpdC4pIHJlYWRvbmx5IGRlZgovRnVsbE5hbWUgKEhxZlN0cm9rZSkgcmVhZG9ubHkgZGVmCi9JdGFsaWNBbmdsZSAwIGRlZgovaXNGaXhlZFBpdGNoIGZhbHNlIGRlZgovVW5kZXJsaW5lUG9zaXRpb24gLTEyMCBkZWYKL1VuZGVybGluZVRoaWNrbmVzcyA2MCBkZWYKZW5kIHJlYWRvbmx5IGRlZgovRm9udE5hbWUgL0hxZlN0cm9rZSBkZWYKL1BhaW50VHlwZSAwIGRlZgovRm9udFR5cGUgMSBkZWYKL0ZvbnRNYXRyaXggWzAuMDAxIDAgMCAwLjAwMSAwIDBdIHJlYWRvbmx5IGRlZgovRW5jb2RpbmcgMjU2IGFycmF5CjAgMSAyNTUgezEgaW5kZXggZXhjaCAvLm5vdGRlZiBwdXR9IGZvcgpkdXAgMzIgL3NwYWNlIHB1dApkdXAgMzMgL2V4Y2xhbSBwdXQKZHVwIDM5IC9xdW90ZXJpZ2h0IHB1dApkdXAgNDAgL3BhcmVubGVmdCBwdXQKZHVwIDQxIC9wYXJlbnJpZ2h0IHB1dApkdXAgNDQgL2NvbW1hIHB1dApkdXAgNDUgL2h5cGhlbiBwdXQKZHVwIDQ2IC9wZXJpb2QgcHV0CmR1cCA0NyAvc2xhc2ggcHV0CmR1cCA0OCAvemVybyBwdXQKZHVwIDQ5IC9vbmUgcHV0CmR1cCA1MCAvdHdvIHB1dApkdXAgNTEgL3RocmVlIHB1dApkdXAgNTIgL2ZvdXIgcHV0CmR1cCA1MyAvZml2ZSBwdXQKZHVwIDU0IC9zaXggcHV0CmR1cCA1NSAvc2V2ZW4gcHV0CmR1cCA1NiAvZWlnaHQgcHV0CmR1cCA1NyAvbmluZSBwdXQKZHVwIDU4IC9jb2xvbiBwdXQKZHVwIDU5IC9zZW1pY29sb24gcHV0CmR1cCA2MyAvcXVlc3Rpb24gcHV0CmR1cCA2NSAvQSBwdXQKZHVwIDY2IC9CIHB1dApkdXAgNjcgL0MgcHV0CmR1cCA2OCAvRCBwdXQKZHVwIDY5IC9FIHB1dApkdXAgNzAgL0YgcHV0CmR1cCA3MSAvRyBwdXQKZHVwIDcyIC9IIHB1dApkdXAgNzMgL0kgcHV0CmR1cCA3NCAvSiBwdXQKZHVwIDc1IC9LIHB1dApkdXAgNzYgL0wgcHV0CmR1cCA3NyAvTSBwdXQKZHVwIDc4IC9OIHB1dApkdXAgNzkgL08gcHV0CmR1cCA4MCAvUCBwdXQKZHVwIDgxIC9RIHB1dApkdXAgODIgL1IgcHV0CmR1cCA4MyAvUyBwdXQKZHVwIDg0IC9UIHB1dApkdXAgODUgL1UgcHV0CmR1cCA4NiAvViBwdXQKZHVwIDg3IC9XIHB1dApkdXAgODggL1ggcHV0CmR1cCA4OSAvWSBwdXQKZHVwIDkwIC9aIHB1dApkdXAgMTkyIC9BZ3JhdmUgcHV0CmR1cCAxOTMgL0FhY3V0ZSBwdXQKZHVwIDE5NCAvQWNpcmN1bWZsZXggcHV0CmR1cCAxOTkgL0NjZWRpbGxhIHB1dApkdXAgMjAwIC9FZ3JhdmUgcHV0CmR1cCAyMDEgL0VhY3V0ZSBwdXQKZHVwIDIwMiAvRWNpcmN1bWZsZXggcHV0CmR1cCAyMDMgL0VkaWVyZXNpcyBwdXQKZHVwIDIwNiAvSWNpcmN1bWZsZXggcHV0CmR1cCAyMDcgL0lkaWVyZXNpcyBwdXQKZHVwIDIxMiAvT2NpcmN1bWZsZXggcHV0CmR1cCAyMTcgL1VncmF2ZSBwdXQKZHVwIDIxOSAvVWNpcmN1bWZsZXggcHV0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"
    }
  ],
  "items": [
    {
      "type": "text",
      "rect": {
        "llx": 72,
        "lly": 738.4,
        "urx": 522,
        "ury": 760
      },
      "content": [
        "A page set in a Type 1 font"
      ],
      "font": "DejaVuSans",
      "font_size": 18
    },
    {
      "type": "text",
      "rect": {
        "llx": 72,
        "lly": 664.4,
        "urx": 522,
        "ury": 724.4
      },
      "content": [
        "The three lines below are drawn from a font program in Adobe's first format. It is not a font file with tables to look a glyph up in: it is a PostScript program, its glyphs ciphered one by one, and the library reads it to find out how wide each of them is and which code reaches it. The program is then carried into this file whole, and the reader draws from those very bytes."
      ],
      "font": "DejaVuSans",
      "font_size": 10
    },
    {
      "type": "text",
      "rect": {
        "llx": 72,
        "lly": 626.0,
        "urx": 522,
        "ury": 640.4
      },
      "content": [
        "Drawn from the program"
      ],
      "font": "DejaVuSans",
      "font_size": 12
    },
    {
      "type": "text",
      "rect": {
        "llx": 72,
        "lly": 594.0,
        "urx": 522,
        "ury": 612
      },
      "content": [
        "HQF DEVELOPMENT"
      ],
      "font": "stroke",
      "font_size": 15
    },
    {
      "type": "text",
      "rect": {
        "llx": 72,
        "lly": 566.0,
        "urx": 522,
        "ury": 584
      },
      "content": [
        "ABCDEFGHIJKLM NOPQRSTUVWXYZ 0123456789"
      ],
      "font": "stroke",
      "font_size": 15
    },
    {
      "type": "text",
      "rect": {
        "llx": 72,
        "lly": 538.0,
        "urx": 522,
        "ury": 556
      },
      "content": [
        "A STROKE FACE, READ AND CARRIED WHOLE."
      ],
      "font": "stroke",
      "font_size": 15
    },
    {
      "type": "text",
      "rect": {
        "llx": 72,
        "lly": 499.6,
        "urx": 522,
        "ury": 514
      },
      "content": [
        "What the program states about itself"
      ],
      "font": "DejaVuSans",
      "font_size": 12
    },
    {
      "type": "text",
      "rect": {
        "llx": 72,
        "lly": 441.6,
        "urx": 522,
        "ury": 489.6
      },
      "content": [
        "It calls itself HqfStroke and holds 62 glyphs, of which 61 are reached by a code. Every glyph stands in one box, whose corners are 34 · -238 and 647 · 967; a vertical stem is 80 thousandths of an em thick, and an underline sits 120 below the line. Not one of those figures is written into this page: each is read out of the program."
      ],
      "font": "DejaVuSans",
      "font_size": 10
    },
    {
      "type": "text",
      "rect": {
        "llx": 72,
        "lly": 407.2,
        "urx": 522,
        "ury": 421.6
      },
      "content": [
        "What it weighs"
      ],
      "font": "DejaVuSans",
      "font_size": 12
    },
    {
      "type": "text",
      "rect": {
        "llx": 72,
        "lly": 373.2,
        "urx": 522,
        "ury": 397.2
      },
      "content": [
        "The program itself is 8 117 bytes on disk, and a page carrying it weighs 8 827 bytes. Both figures are measured by the program that drew this page, not written in by hand."
      ],
      "font": "DejaVuSans",
      "font_size": 10
    },
    {
      "type": "text",
      "rect": {
        "llx": 72,
        "lly": 338.8,
        "urx": 522,
        "ury": 353.2
      },
      "content": [
        "What travels with it, and why"
      ],
      "font": "DejaVuSans",
      "font_size": 12
    },
    {
      "type": "text",
      "rect": {
        "llx": 72,
        "lly": 208.8,
        "urx": 522,
        "ury": 328.8
      },
      "content": [
        "Every other kind of font this library carries travels light: only the letters a page actually draws go into the file, so a page that says one word carries the letters of that word and not a whole alphabet. A Type 1 program does not. It travels whole, and the reason is in the format itself: each glyph is ciphered on its own inside the program, so keeping some and dropping the rest means deciphering the program, rewriting its list of glyphs, and ciphering it again — while holding on to the pieces of outline that several glyphs share, and to the glyphs that are built out of two others. That is a piece of work of its own, and it is deliberately left to a later version of this library. It costs nothing on a face of a few dozen glyphs. It costs real bytes on a large one: a face of sixty thousand bytes travels sixty thousand bytes even where the page shows three words."
      ],
      "font": "DejaVuSans",
      "font_size": 10
    },
    {
      "type": "text",
      "rect": {
        "llx": 72,
        "lly": 156.4,
        "urx": 522,
        "ury": 188.8
      },
      "content": [
        "A Type 1 font is a simple font: its codes are one byte, so at most 256 of its glyphs are reachable at a time and it never sets text down the page. Which code reaches which glyph is the program's own business — this file repeats the program's own names for them."
      ],
      "font": "DejaVuSans",
      "font_size": 9
    }
  ]
}