SCORE PSC data format

"PSC" files are used to store the width of text characters in various fonts used within text (code 16) items. They are binary files that store 163 character widths in two forms: (1) the character plus the padding space after the character that separates it from the following character, and (2) the width of the character without the padding. The second value is used to calculate the lengths of string, which considers the padded width of each character except the last one.

PSC files are stored in the LIB directory with one font set described in each file. The filename for each PSC file starts with "FM" and then a two digit number which matches the font number in code 16 items, such as FM00.PSC for the Times-Roman font.

Here is the binary version of a PSC file with the various components colored:

4b 81 54 69 6d 65 73 2d 52 6f 6d 61 6e 20 20 20 20 20 20 20 20 20 20 20 20
20 20 20 20 20
f4 01 f4 01 f4 01 f4 01 f4 01 f4 01 f4 01 f4 01 f4 01 f4 01
d2 02 9b 02 9b 02 d2 02 63 02 2c 02 d2 02 d2 02 4d 01 85 01 d2 02 63 02 79
03 d2 02 d2 02 2c 02 d2 02 9b 02 2c 02 63 02 d2 02 d2 02 b0 03 d2 02 d2 02
63 02 fa 00 fa 00 4d 01 4d 01 bc 01 f4 01 bc 01 f4 01 bc 01 4d 01 f4 01 f4
01 16 01 16 01
81 81 f4 01 16 01 0a 03 f4 01 f4 01 f4 01 f4 01 4d 01 85 01
16 01 f4 01 f4 01 d2 02 f4 01 f4 01 bc 01 16 01 16 01 bc 01 4d 01 34 02 4d
01 f4 01 16 01 34 02 f4 01 4d 01 01 00 98 01 01 00 01 00 01 00 01 00 01 00
01 00 01 00 01 00 01 00 01 00 01 00 01 00 01 00 01 00 01 00 fa 00 bc 01 d2
02 f4 01 d2 02 f4 01 d2 02 5e 01 bc 01 bc 01 4d 01 f4 01 f4 01 f4 01 f4 01
b4 00 bc 01 d2 02 f4 01 2c 02
81 62 63 02 bc 01 f4 01 e8 03 f4 01 f4 01 f4
01 2c 02 4d 01 4d 01 2c 02 e8 03 f4 01 c5 01 bc 01 85 01 f4 01 bc 01 f4 01
f4 01 41 03 0a 03 4d 01 34 02 34 02 34 02 99 03 79 03 79 03 63 02 d2 02 4d
01 16 01 4d 01 9b 02 f8 02 d2 02 16 01 16 01 f4 01 f8 02 f4 01 d4 03 e0 01
c8 00 e0 01 14 01 36 01 4d 01
62 81 dc 01 8a 01 db 01 af 01 d8 01 b6 01 d4
01 c1 01 ba 01 cc 01 c2 02 54 02 7d 02 b1 02 55 02 20 02 c0 02 bf 02 3c 01
78 01 c5 02 56 02 67 03 c5 02 b0 02 1e 02 bd 02 8e 02 eb 01 52 02 c1 02 bd
02 a8 03 c2 02 bf 02 55 02 b7 00 ca 00 30 01 1c 01 ba 01 da 01 9c 01 eb 01
a5 01 7f 01 d6 01 ea 01 03 01 d4 00 f4 01 03 01 fc 02 ea 01 d6 01 d6 01 f2
01 4f 01 5c 01 17 01 df 01 d4 01 b6 02 df 01
81 81 dc 01 a2 01 c4 00 ca 00
8b 01 e0 00 16 02 21 01 b5 01 2e 01 16 02 f4 01 f2 00 01 00 51 01 01 00 01
00 01 00 01 00 01 00 01 00 01 00 01 00 01 00 01 00 01 00 01 00 01 00 01 00
01 00 00 00 ba 01 c2 02 ea 01 c5 02 d6 01 b0 02 2c 01 a1 01 a1 01 e0 00 c0
01 eb 01 aa 01 f7 01 85 00 8f 01 c2 02 b7 01 eb 01 55 02 ba 01 b8 01 7b 03
ea 01 c1 01 d4 01 09 02 0f 01 20 01 09 02 ef 03 fb 01 75 01
81 46 8b 01 5f
01 f6 01 a2 01 ef 01 c8 01 04 03 ee 02 e6 00 16 02 18 02 18 02 33 03 65 03
6d 03 56 02 b0 02 2b 01 69 01 f5 00 7a 02 cd 02 b2 02 03 01 03 01 d6 01 ce
02 d4 01 b1 03 55 01 84 00 72 01 16 01 2d 01 43 01
46 82

The meaning of each colored section:

Character enumeration

The following table gives the character enumeration for the widths found in a PSC file:

x0 x1 x2 x3 x4 x5 x6 x7 x8 x9
0x 0 1 2 3 4 5 6 7 8 9
1x A B C D E F G H I J
2x K L M N O P Q R S T
3x U V W X Y Z . , ( )
4x a b c d e f g h i j
5x k l m n o p q r s t
6x u v w x y z : ; ? (??) ! (!!)
7x + * \ = ` ' unused " unused
8x unused unused unused unused unused unused unused unused unused unused
9x unused unused unused unused • (!0) „ (!1) ” (!2) ¡ (!3) ¢ (!4) £ (!5)
10x § (!6) ¤ (!7) (!8) “ (!9) Å (!A) ‡ (!D) Š (!S) unknown Ž (!Z) å (!a)
11x † (!d) … (!e) ƒ (!f) « (!g) » (!h) fi (!i) ‹ (!j) › (!k) fl (!l) — (!m)
12x – (!n) ¶ (!p) ¿ (!q) š (!s) ¥ (!y) ž (!z) # $ % &
13x _ _ (?-) < > @ Æ (?A) Œ (?E) Ł (?L) Ø (?O)
14x [ (?[) \ (?\) ] (?]) æ (?a) © (?c) œ (?e) ª (?f) ł (?l) ø (?o) ® (?r)
15x ß (?s) ™ (?t) { (?{) | (?|) } (?}) unkown º (?m) unknown unknown unknown
16x unknown unknown

For example the first character at position 00 in the above table has its width incding the inter-character padding as index 0 in the list of widths, and the with without padding at index 163.

Default font enumerations

_00 Times Roman
_01 Times Bold
_02 Times Italic
_03 Times BoldItalic
_04 Helvetica
_05 Helvetica Bold
_06 Helvetica Oblique
_07 Helvetica BoldOblique
_08 Helvetica Narrow
_09 Helvetica Narrow Bold
_10 Helvetica Narrow Oblique
_11 Helvetica Narrow BoldOblique
_12 Palatino Roman
_13 Palatino Bold
_14 Palatino Italic
_15 Palatino BoldItalic
_16 Avant Garde Book
_17 Avant Garde BookOblique
_18 Avant Garde Demi
_19 Avant Garde DemiOblique
_20 Bookman Light
_21 Bookman LightItalic
_22 Bookman Demi
_23 Bookman DemiItalic
_24 New Century Schoolbook Roman
_25 New Century Schoolbook Bold
_26 New Century Schoolbook Italic
_27 New Century Schoolbook BoldItalic
_28 Zapf Chancery Medium Italic
_29 Courier
_30 Courier Bold
_31 Courier Oblique
_32 Courier BoldOblique
_33 Symbol
_34 Zapf Dingbats

Built in fonts not recommended for PostScript printing (other than _94):
_90 Bodoni
_91 Bodoni Bold
_92 Bodoni Italic
_92 Bodoni Bold Italic
_94 Music Symbols
_98 Prinitive (stick letters)
_99 PostScript code escape string

ASCII encodings of PSC data