Class new title: Font subclassof: Object fields: 'name minascii maxascii maxwidth length ascent descent xoffset raster glyphs xtable' declare: '' ALTOformat | t1 t2 t3 t4 [for t1 to: glyphs length - 1 by: 2 do [glyphs swap: t1 with: t1 + 1]. t2 _ glyphs copy. t3 _ glyphs asStream. for t1 to: self height do [t4 _ t1 - 1 + [t1 even  [self height] 0] / 2 * self byteraster + 1. t3 append: t2  (t4 to: t4 + self byteraster - 1)]] NTformat | t1 t2 t3 t4 [for t1 to: glyphs length - 1 by: 2 do [glyphs swap: t1 with: t1 + 1]. t2 _ glyphs copy. t3 _ glyphs asStream. t4 _ 1. for t1 to: self height do [t3 append: t2  (t4 to: t4 + self byteraster - 1). t4 _ t4 + (2 * self byteraster). t4 > t2 length  [t4 _ self byteraster + 1]]] ascent [ascent] byteraster [raster * 2] charForm: t1 [] descent [descent] fromStrike: t1 | t2 t3 [name _ t1. t2 _ dp0 oldFile: name + '.strike.'. t2 nextword. minascii _ t2 nextword. maxascii _ t2 nextword. maxwidth _ t2 nextword. length _ t2 nextword. ascent _ t2 nextword. descent _ t2 nextword. xoffset _ t2 nextword. raster _ t2 nextword. glyphs _ t2 next: self byteraster * self height. xtable _ Vector new: maxascii + 3 all_ 0. for t3 from: (minascii + 1 to: maxascii + 3) do [xtable  t3 _ t2 nextword]] glyphs [glyphs] height [ascent + descent] maxascii [maxascii] maxwidth [maxwidth] minascii [minascii] name [name] raster [raster] spacewidth | t1 [t1 _ self widthof: 32. t1 = 0  [4] t1] widthof: t1 [xtable  (t1 + 2) - (xtable  (t1 + 1))] xtable [xtable]