1
0
mirror of synced 2026-04-25 03:45:30 +00:00

FONT, EDITFONT: Cleanup strike font reading and writing (#845)

EDITFONThad its own slightly different version.  Now centralized in FONT with slight adjustments to internal interfaces.
Note that we don't have a way of writing AC font files, as near as I can tell
This commit is contained in:
rmkaplan
2022-07-17 21:22:56 -07:00
committed by GitHub
parent 06664219ca
commit a54888734e
4 changed files with 232 additions and 407 deletions

View File

@@ -1,12 +1,13 @@
(DEFINE-FILE-INFO PACKAGE "INTERLISP" READTABLE "INTERLISP" BASE 10) (DEFINE-FILE-INFO PACKAGE "INTERLISP" READTABLE "INTERLISP" BASE 10)
(FILECREATED "27-Jun-2022 10:59:12"  (FILECREATED "12-Jul-2022 14:18:56" 
{DSK}<users>kaplan>local>medley3.5>working-medley>lispusers>EDITFONT.;5 38667 {DSK}<Users>kaplan>Local>medley3.5>working-medley>lispusers>EDITFONT.;10 28741
:CHANGES-TO (FNS EDITFONT EF.EDIT) :CHANGES-TO (FNS READSTRIKEFONTFILE)
(VARS EDITFONTCOMS)
:PREVIOUS-DATE "26-Aug-86 16:23:09" :PREVIOUS-DATE "27-Jun-2022 10:59:12"
{DSK}<users>kaplan>local>medley3.5>working-medley>lispusers>EDITFONT.;1) {DSK}<users>kaplan>local>medley3.5>working-medley>lispusers>EDITFONT.;5)
(* ; " (* ; "
@@ -16,44 +17,26 @@ Copyright (c) 1985-1986 by Xerox Corporation.
(PRETTYCOMPRINT EDITFONTCOMS) (PRETTYCOMPRINT EDITFONTCOMS)
(RPAQQ EDITFONTCOMS (RPAQQ EDITFONTCOMS
((* EDITFONT -- By Kelly Roach. Need to LOAD EXPORTS.ALL and LOADFROM FONT in order to compile ((* EDITFONT -- By Kelly Roach. Need to LOAD EXPORTS.ALL in order to compile this file. *)
this file. *)
(CONSTANTS (BITSPERWORD 16)
(BYTESPERWORD 2)
(MAXCODE 255)
(DUMMYINDEX 256))
(INITVARS (EF.MENU NIL) (INITVARS (EF.MENU NIL)
(EF.TITLEMENU NIL)) (EF.TITLEMENU NIL))
(RECORDS CHARITEM) (RECORDS CHARITEM)
(FNS EF.INIT EF.PROMPT EF.MESSAGE EF.CLOSEFN EF.CHARITEMS EF.BUTTONEVENTFN EF.WHENSELECTEDFN (FNS EF.INIT EF.PROMPT EF.MESSAGE EF.CLOSEFN EF.CHARITEMS EF.BUTTONEVENTFN EF.WHENSELECTEDFN
EF.EDITBM EF.MIDDLEBUTTONFN EF.CHANGESIZE EF.DELETE EF.ENTER EF.REPLACE EF.SAVE EF.BLANK EF.EDITBM EF.MIDDLEBUTTONFN EF.CHANGESIZE EF.DELETE EF.ENTER EF.REPLACE EF.SAVE EF.BLANK
COPYFONT READSTRIKEFONTFILE WRITESTRIKEFONTFILE) COPYFONT READSTRIKEFONTFILE)
(FNS BLANKFONTCREATE EDITFONT) (FNS BLANKFONTCREATE EDITFONT)
(DECLARE%: EVAL@COMPILE DONTCOPY (FILES (LOADCOMP) (DECLARE%: EVAL@COMPILE DONTCOPY (CONSTANTS (BITSPERWORD 16)
FONT)) (BYTESPERWORD 2)
(MAXCODE 255)
(DUMMYINDEX 256))
(FILES (LOADCOMP)
FONT))
(P (EF.INIT)))) (P (EF.INIT))))
(* EDITFONT -- By Kelly Roach. Need to LOAD EXPORTS.ALL and LOADFROM FONT in order to compile this (* EDITFONT -- By Kelly Roach. Need to LOAD EXPORTS.ALL in order to compile this file. *)
file. *)
(DECLARE%: EVAL@COMPILE
(RPAQQ BITSPERWORD 16)
(RPAQQ BYTESPERWORD 2)
(RPAQQ MAXCODE 255)
(RPAQQ DUMMYINDEX 256)
(CONSTANTS (BITSPERWORD 16)
(BYTESPERWORD 2)
(MAXCODE 255)
(DUMMYINDEX 256))
)
(RPAQ? EF.MENU NIL) (RPAQ? EF.MENU NIL)
@@ -466,166 +449,33 @@ file. *)
(RETURN NEWFONT]) (RETURN NEWFONT])
(READSTRIKEFONTFILE (READSTRIKEFONTFILE
[LAMBDA (FAMILY SIZE FACE FILE FONT CHARSET) (* kbr%: "14-Oct-85 11:16") [LAMBDA (FAMILY SIZE FACE FILE FONT CHARSET)
(* Very similar to \READSTRIKEFONTFILE
 of <LISPCORE>SOURCES>FONT.
 Returns fontdescriptor FONT.
 *)
(PROG (STRM CSINFO NUMBCODES RW BITMAP OFFSETS FIRSTCHAR LASTCHAR HEIGHT WIDTHS)
(* This part imitates
 \READSTRIKEFONTFILE *)
(SETQ STRM (OPENSTREAM FILE 'INPUT 'OLD))
(SETQ CSINFO (create CHARSETINFO))
(\WIN STRM)
(SETQ FIRSTCHAR (\WIN STRM)) (* minimum ascii code)
(SETQ LASTCHAR (\WIN STRM)) (* maximum ascii code)
(\WIN STRM) (* MaxWidth which isn't used by
 anyone.)
(\WIN STRM) (* number of words in this StrikeBody)
(replace (CHARSETINFO CHARSETASCENT) of CSINFO with (\WIN STRM))
(* ascent in scan lines
 (=FBBdy+FBBoy))
(replace (CHARSETINFO CHARSETDESCENT) of CSINFO with (\WIN STRM))
(* descent in scan-lines
 (=FBBoy))
(\WIN STRM) (* offset in bits (<0 for kerning,
 else 0, =FBBox))
(SETQ RW (\WIN STRM)) (* raster width of bitmap)
(* height of bitmap)
(SETQ HEIGHT (IPLUS (fetch (CHARSETINFO CHARSETASCENT) of CSINFO)
(fetch (CHARSETINFO CHARSETDESCENT) of CSINFO)))
(SETQ BITMAP (BITMAPCREATE (UNFOLD RW BITSPERWORD)
HEIGHT))
(\BINS STRM (fetch (BITMAP BITMAPBASE) of BITMAP)
0
(UNFOLD (ITIMES RW HEIGHT)
BYTESPERWORD)) (* read bits into bitmap)
(replace (CHARSETINFO CHARSETBITMAP) of CSINFO with BITMAP)
(SETQ NUMBCODES (IPLUS (IDIFFERENCE LASTCHAR FIRSTCHAR)
3)) (* SETQ OFFSETS (ARRAY
 (IPLUS \MAXCHAR 3) (QUOTE SMALLPOSP) 0
 0))
(SETQ OFFSETS (fetch (CHARSETINFO OFFSETS) of CSINFO))
(* initialise the offsets to 0)
(for I from 0 to (IPLUS \MAXTHINCHAR 2) do (\FSETOFFSET OFFSETS I 0))
(* AIN OFFSETS FIRSTCHAR NUMBCODES
 STRM)
(for I from FIRSTCHAR as J from 1 to NUMBCODES do (\FSETOFFSET OFFSETS I (\WIN STRM)))
(SETQ WIDTHS (fetch (CHARSETINFO WIDTHS) of CSINFO))
(for I from 0 to (IPLUS \MAXTHINCHAR 2) do (\FSETWIDTH WIDTHS I 0))
(* replace WIDTHS of CSINFO with
 (ARRAY (IPLUS \MAXCHAR 3)
 (QUOTE SMALLPOSP) 0 0))
(\FONTRESETCHARWIDTHS CSINFO FIRSTCHAR LASTCHAR)
(replace (CHARSETINFO IMAGEWIDTHS) of CSINFO with (fetch (CHARSETINFO WIDTHS) of CSINFO))
(CLOSEF STRM) (* This part imitates
 \CREATEDISPLAYFONT *)
(COND
((NULL CHARSET)
(SETQ CHARSET 0)))
[COND
((NULL FONT)
(SETQ FONT
(create FONTDESCRIPTOR
FONTDEVICE _ 'DISPLAY
FONTFAMILY _ FAMILY
FONTSIZE _ SIZE
FONTFACE _ FACE
\SFAscent _ 0
\SFDescent _ 0
\SFHeight _ 0
ROTATION _ 0
FONTDEVICESPEC _ (LIST FAMILY SIZE FACE 0 'DISPLAY]
(* This part imitates \CREATECHARSET.
 *)
(replace (FONTDESCRIPTOR \SFAscent) of FONT with (IMAX (fetch (FONTDESCRIPTOR \SFAscent)
of FONT)
(fetch (CHARSETINFO CHARSETASCENT)
of CSINFO)))
(replace (FONTDESCRIPTOR \SFDescent) of FONT with (IMAX (fetch (FONTDESCRIPTOR \SFDescent)
of FONT)
(fetch (CHARSETINFO CHARSETDESCENT)
of CSINFO)))
[replace (FONTDESCRIPTOR \SFHeight) of FONT with (IMAX (fetch (FONTDESCRIPTOR \SFHeight)
of FONT)
(IPLUS (fetch (CHARSETINFO
CHARSETASCENT)
of CSINFO)
(fetch (CHARSETINFO
CHARSETDESCENT)
of CSINFO]
(\SETCHARSETINFO (fetch (FONTDESCRIPTOR FONTCHARSETVECTOR) of FONT)
CHARSET CSINFO)
(replace (FONTDESCRIPTOR FONTAVGCHARWIDTH) of FONT with (\AVGCHARWIDTH FONT))
(RETURN FONT])
(WRITESTRIKEFONTFILE (* ;; "Edited 12-Jul-2022 14:16 by rmk: Removed slightlly different implementations of \READSTRIKEFONTFILE and charset installation in favor of common code in FONT.")
[LAMBDA (FONT CHARSET FILE) (* kbr%: "21-Oct-85 15:08")
(* Write strike FILE using info in (* ;; "Edited 12-Jul-2022 13:33 by rmk")
 FONT. *) (* kbr%: "14-Oct-85 11:16")
(PROG (STREAM CSINFO FIRSTCHAR LASTCHAR WIDTH MAXWIDTH LENGTH RASTERWIDTH DUMMYCHAR DUMMYOFFSET (CL:UNLESS CHARSET (SETQ CHARSET 0)) (* ; "Returns fontdescriptor FONT. *")
OFFSET PREVIOUSOFFSET WIDTH CODE) (LET (STRM CSINFO)
(COND (SETQ STRM (OPENSTREAM FILE 'INPUT 'OLD))
((NOT (FONTP FONT)) (\WIN STRM)
(LISPERROR "ILLEGAL ARG" FONT))) (SETQ CSINFO (\READSTRIKEFONTFILE STRM FAMILY SIZE FACE))
(COND (CLOSEF STRM) (* ;
((NULL CHARSET)  "This part imitates \CREATEDISPLAYFONT *")
(SETQ CHARSET 0)) (CL:UNLESS FONT
((NOT (AND (IGEQ CHARSET 0) [SETQ FONT
(ILESSP CHARSET \MAXCHARSET))) (create FONTDESCRIPTOR
(LISPERROR "ILLEGAL ARG" CHARSET))) FONTDEVICE _ 'DISPLAY
(SETQ CSINFO (\GETCHARSETINFO CHARSET FONT T)) FONTFAMILY _ FAMILY
(COND FONTSIZE _ SIZE
((NULL CSINFO) FONTFACE _ FACE
(ERROR "Couldn't find charset " CHARSET))) \SFAscent _ 0
(SETQ WIDTHS (fetch (CHARSETINFO WIDTHS) of CSINFO)) \SFDescent _ 0
(SETQ OFFSETS (fetch (CHARSETINFO OFFSETS) of CSINFO)) \SFHeight _ 0
(SETQ DUMMYOFFSET (\FGETOFFSET OFFSETS DUMMYINDEX)) ROTATION _ 0
[SETQ FIRSTCHAR (for I from 0 to MAXCODE thereis (NOT (EQ (\FGETOFFSET OFFSETS I) FONTDEVICESPEC _ (LIST FAMILY SIZE FACE 0 'DISPLAY])
DUMMYOFFSET] (\INSTALLCHARSETINFO FONT CSINFO CHARSET)
[SETQ LASTCHAR (for I from MAXCODE to 0 by -1 thereis (NOT (EQ (\FGETOFFSET OFFSETS I) FONT])
DUMMYOFFSET]
(SETQ DUMMYCHAR (ADD1 LASTCHAR))
[SETQ STREAM (OPENSTREAM FILE 'OUTPUT 'NEW '((TYPE BINARY]
(* STRIKE HEADER. *)
(\WOUT STREAM 32768)
(\WOUT STREAM FIRSTCHAR)
(\WOUT STREAM LASTCHAR)
(SETQ MAXWIDTH 0)
[for I from 0 to DUMMYINDEX do (SETQ MAXWIDTH (IMAX MAXWIDTH (\FGETWIDTH WIDTHS I]
(\WOUT STREAM MAXWIDTH) (* STRIKE BODY. *)
(* Length. *)
(SETQ RASTERWIDTH (fetch (BITMAP BITMAPRASTERWIDTH) of (fetch (CHARSETINFO CHARSETBITMAP)
of CSINFO)))
(SETQ LENGTH (IPLUS 8 (IDIFFERENCE LASTCHAR FIRSTCHAR)
(ITIMES (fetch (FONTDESCRIPTOR \SFHeight) of FONT)
RASTERWIDTH)))
(\WOUT STREAM LENGTH) (* Ascent, Descent, Xoffset
 (no longer used) and Rasterwidth.
 *)
(\WOUT STREAM (fetch (CHARSETINFO CHARSETASCENT) of CSINFO))
(\WOUT STREAM (fetch (CHARSETINFO CHARSETDESCENT) of CSINFO))
(\WOUT STREAM 0)
(\WOUT STREAM RASTERWIDTH) (* Bitmap. *)
[\BOUTS STREAM (fetch (BITMAP BITMAPBASE) of (fetch (CHARSETINFO CHARSETBITMAP)
of CSINFO))
0
(ITIMES 2 RASTERWIDTH (IPLUS (fetch (CHARSETINFO CHARSETASCENT) of CSINFO)
(fetch (CHARSETINFO CHARSETDESCENT) of CSINFO]
(* Offsets. *)
(SETQ CODE 0)
(\WOUT STREAM CODE)
(for I from FIRSTCHAR to DUMMYCHAR do (SETQ OFFSET (\FGETOFFSET OFFSETS I))
(SETQ WIDTH (\FGETWIDTH WIDTHS I))
[COND
((AND (IEQP OFFSET DUMMYOFFSET)
(NOT (IEQP I DUMMYCHAR)))
(* CODE stays the same.
 *)
)
(T (SETQ CODE (IPLUS CODE WIDTH]
(\WOUT STREAM CODE))
(CLOSEF STREAM])
) )
(DEFINEQ (DEFINEQ
@@ -671,6 +521,23 @@ file. *)
(WINDOWPROP WINDOW 'BUTTONEVENTFN 'EF.BUTTONEVENTFN]) (WINDOWPROP WINDOW 'BUTTONEVENTFN 'EF.BUTTONEVENTFN])
) )
(DECLARE%: EVAL@COMPILE DONTCOPY (DECLARE%: EVAL@COMPILE DONTCOPY
(DECLARE%: EVAL@COMPILE
(RPAQQ BITSPERWORD 16)
(RPAQQ BYTESPERWORD 2)
(RPAQQ MAXCODE 255)
(RPAQQ DUMMYINDEX 256)
(CONSTANTS (BITSPERWORD 16)
(BYTESPERWORD 2)
(MAXCODE 255)
(DUMMYINDEX 256))
)
(FILESLOAD (LOADCOMP) (FILESLOAD (LOADCOMP)
FONT) FONT)
@@ -679,11 +546,10 @@ file. *)
(EF.INIT) (EF.INIT)
(PUTPROPS EDITFONT COPYRIGHT ("Xerox Corporation" 1985 1986)) (PUTPROPS EDITFONT COPYRIGHT ("Xerox Corporation" 1985 1986))
(DECLARE%: DONTCOPY (DECLARE%: DONTCOPY
(FILEMAP (NIL (1748 36280 (EF.INIT 1758 . 2484) (EF.PROMPT 2486 . 3068) (EF.MESSAGE 3070 . 3282) ( (FILEMAP (NIL (1567 26117 (EF.INIT 1577 . 2303) (EF.PROMPT 2305 . 2887) (EF.MESSAGE 2889 . 3101) (
EF.CLOSEFN 3284 . 3811) (EF.CHARITEMS 3813 . 6034) (EF.BUTTONEVENTFN 6036 . 6448) (EF.WHENSELECTEDFN EF.CLOSEFN 3103 . 3630) (EF.CHARITEMS 3632 . 5853) (EF.BUTTONEVENTFN 5855 . 6267) (EF.WHENSELECTEDFN
6450 . 6854) (EF.EDITBM 6856 . 8254) (EF.MIDDLEBUTTONFN 8256 . 8501) (EF.CHANGESIZE 8503 . 9722) ( 6269 . 6673) (EF.EDITBM 6675 . 8073) (EF.MIDDLEBUTTONFN 8075 . 8320) (EF.CHANGESIZE 8322 . 9541) (
EF.DELETE 9724 . 10489) (EF.ENTER 10491 . 11322) (EF.REPLACE 11324 . 12187) (EF.SAVE 12189 . 16862) ( EF.DELETE 9543 . 10308) (EF.ENTER 10310 . 11141) (EF.REPLACE 11143 . 12006) (EF.SAVE 12008 . 16681) (
EF.BLANK 16864 . 22489) (COPYFONT 22491 . 24931) (READSTRIKEFONTFILE 24933 . 31905) ( EF.BLANK 16683 . 22308) (COPYFONT 22310 . 24750) (READSTRIKEFONTFILE 24752 . 26115)) (26118 28332 (
WRITESTRIKEFONTFILE 31907 . 36278)) (36281 38495 (BLANKFONTCREATE 36291 . 36548) (EDITFONT 36550 . BLANKFONTCREATE 26128 . 26385) (EDITFONT 26387 . 28330)))))
38493)))))
STOP STOP

Binary file not shown.

View File

@@ -1,12 +1,12 @@
(DEFINE-FILE-INFO PACKAGE "INTERLISP" READTABLE "INTERLISP" BASE 10) (DEFINE-FILE-INFO PACKAGE "INTERLISP" READTABLE "INTERLISP" BASE 10)
(FILECREATED "26-Jun-2022 13:00:17" {DSK}<Users>kaplan>Local>medley3.5>working-medley>sources>FONT.;2 188234 (FILECREATED "12-Jul-2022 15:09:31" {DSK}<Users>kaplan>Local>medley3.5>working-medley>sources>FONT.;11 187571
:CHANGES-TO (VARS FONTCOMS) :CHANGES-TO (FNS \INSTALLCHARSETINFO \CREATECHARSET WRITESTRIKEFONTFILE \READSTRIKEFONTFILE)
(FNS \CREATE-REAL-CHARSET.DISPLAY) (VARS FONTCOMS)
:PREVIOUS-DATE " 9-Feb-2021 11:39:44" :PREVIOUS-DATE "11-Jul-2022 23:05:20"
{DSK}<Users>kaplan>Local>medley3.5>working-medley>sources>FONT.;1) {DSK}<Users>kaplan>Local>medley3.5>working-medley>sources>FONT.;3)
(* ; " (* ; "
@@ -98,7 +98,7 @@ Copyright (c) 1981-1994, 1999, 2021 by Venue & Xerox Corporation.
(FUNCTIONS \CREATEKERNELEMENT \FSETLEFTKERN \FGETLEFTKERN) (FUNCTIONS \CREATEKERNELEMENT \FSETLEFTKERN \FGETLEFTKERN)
(CONSTANTS (\MAXNSCHAR 65535] (CONSTANTS (\MAXNSCHAR 65535]
(COMS (* ; "NS Character specific code") (COMS (* ; "NS Character specific code")
(FNS \CREATECHARSET) (FNS \CREATECHARSET \INSTALLCHARSETINFO)
(GLOBALVARS DISPLAYFONTCOERCIONS MISSINGDISPLAYFONTCOERCIONS (GLOBALVARS DISPLAYFONTCOERCIONS MISSINGDISPLAYFONTCOERCIONS
MISSINGCHARSETDISPLAYFONTCOERCIONS CHARSETERRORFLG) MISSINGCHARSETDISPLAYFONTCOERCIONS CHARSETERRORFLG)
(INITVARS (DISPLAYFONTCOERCIONS NIL) (INITVARS (DISPLAYFONTCOERCIONS NIL)
@@ -2425,66 +2425,61 @@ Copyright (c) 1981-1994, 1999, 2021 by Venue & Xerox Corporation.
(DEFINEQ (DEFINEQ
(\READSTRIKEFONTFILE (\READSTRIKEFONTFILE
[LAMBDA (STRM FAMILY SIZE FACE) (* ; "Edited 4-Dec-92 12:11 by jds") [LAMBDA (STRM FAMILY SIZE FACE) (* ; "Edited 12-Jul-2022 09:19 by rmk")
(* ; "Edited 4-Dec-92 12:11 by jds")
(* ; (* ;
 "STRM has already been determined to be a vanilla strike-format file.")  "STRM has already been determined to be a vanilla strike-format file.")
(* ; "returns a charsetinfo") (* ; "returns a charsetinfo")
(COND (COND
((NEQ 2 (GETFILEPTR STRM)) ((NEQ 2 (GETFILEPTR STRM))
(SETFILEPTR STRM 2))) (SETFILEPTR STRM 2)))
(PROG (CSINFO NUMBCODES RW BITMAP OFFSETS FIRSTCHAR LASTCHAR HEIGHT WIDTHS) (LET (CSINFO NUMBCODES RW BITMAP OFFSETS FIRSTCHAR LASTCHAR HEIGHT WIDTHS)
(SETQ CSINFO (create CHARSETINFO)) (SETQ CSINFO (create CHARSETINFO))
(SETQ FIRSTCHAR (\WIN STRM)) (* ; "minimum ascii code") (SETQ FIRSTCHAR (\WIN STRM)) (* ; "minimum ascii code")
(SETQ LASTCHAR (\WIN STRM)) (* ; "maximum ascii code") (SETQ LASTCHAR (\WIN STRM)) (* ; "maximum ascii code")
(\WIN STRM) (* ; (\WIN STRM) (* ;
 "MaxWidth which isn't used by anyone.")  "MaxWidth which isn't used by anyone.")
(\WIN STRM) (* ; (\WIN STRM) (* ;
 "number of words in this StrikeBody")  "number of words in this StrikeBody")
(replace (CHARSETINFO CHARSETASCENT) of CSINFO with (\WIN STRM)) (replace (CHARSETINFO CHARSETASCENT) of CSINFO with (\WIN STRM))
(* ; (* ;
 "ascent in scan lines (=FBBdy+FBBoy)")  "ascent in scan lines (=FBBdy+FBBoy)")
(replace (CHARSETINFO CHARSETDESCENT) of CSINFO with (\WIN STRM)) (replace (CHARSETINFO CHARSETDESCENT) of CSINFO with (\WIN STRM))
(* ; "descent in scan-lines (=FBBoy)") (* ; "descent in scan-lines (=FBBoy)")
(\WIN STRM) (* ; (\WIN STRM) (* ;
 "offset in bits (<0 for kerning, else 0, =FBBox)")  "offset in bits (<0 for kerning, else 0, =FBBox)")
(SETQ RW (\WIN STRM)) (* ; "raster width of bitmap") (SETQ RW (\WIN STRM)) (* ; "raster width of bitmap")
(* ; "height of bitmap") (* ; "height of bitmap")
(* ;; "JDS 12/4/92: Apparently, these fields can be signed values, if all chars, e.g., ride above the base line.") (* ;; "JDS 12/4/92: Apparently, these fields can be signed values, if all chars, e.g., ride above the base line.")
(SETQ HEIGHT (IPLUS (SIGNED (fetch (CHARSETINFO CHARSETASCENT) of CSINFO) (SETQ HEIGHT (IPLUS (SIGNED (fetch (CHARSETINFO CHARSETASCENT) of CSINFO)
16) 16)
(SIGNED (fetch (CHARSETINFO CHARSETDESCENT) of CSINFO) (SIGNED (fetch (CHARSETINFO CHARSETDESCENT) of CSINFO)
16))) 16)))
(SETQ BITMAP (BITMAPCREATE (UNFOLD RW BITSPERWORD) (SETQ BITMAP (BITMAPCREATE (UNFOLD RW BITSPERWORD)
HEIGHT)) HEIGHT))
(\BINS STRM (fetch BITMAPBASE of BITMAP) (\BINS STRM (fetch BITMAPBASE of BITMAP)
0 0
(UNFOLD (ITIMES RW HEIGHT) (UNFOLD (ITIMES RW HEIGHT)
BYTESPERWORD)) (* ; "read bits into bitmap") BYTESPERWORD)) (* ; "read bits into bitmap")
(replace (CHARSETINFO CHARSETBITMAP) of CSINFO with BITMAP) (replace (CHARSETINFO CHARSETBITMAP) of CSINFO with BITMAP)
(SETQ NUMBCODES (IPLUS (IDIFFERENCE LASTCHAR FIRSTCHAR) (SETQ NUMBCODES (IPLUS (IDIFFERENCE LASTCHAR FIRSTCHAR)
3)) (* (SETQ OFFSETS (ARRAY 3)) (* ;
 (IPLUS \MAXCHAR 3)  "(SETQ OFFSETS (ARRAY (IPLUS \MAXCHAR 3) (QUOTE SMALLPOSP) 0 0))")
 (QUOTE SMALLPOSP) 0 0))) (SETQ OFFSETS (fetch (CHARSETINFO OFFSETS) of CSINFO))
(SETQ OFFSETS (fetch (CHARSETINFO OFFSETS) of CSINFO))
(* ; "initialise the offsets to 0") (* ; "initialise the offsets to 0")
(for I from 0 to (IPLUS \MAXTHINCHAR 2) do (\FSETOFFSET OFFSETS I 0)) (for I from 0 to (IPLUS \MAXTHINCHAR 2) do (\FSETOFFSET OFFSETS I 0))
(* (AIN OFFSETS FIRSTCHAR NUMBCODES (* ;
 STRM))  "(AIN OFFSETS FIRSTCHAR NUMBCODES STRM)")
(for I from FIRSTCHAR as J from 1 to NUMBCODES (for I from FIRSTCHAR as J from 1 to NUMBCODES do (\FSETOFFSET OFFSETS I (\WIN STRM)))
do (\FSETOFFSET OFFSETS I (\WIN STRM))) (SETQ WIDTHS (fetch (CHARSETINFO WIDTHS) of CSINFO))
(SETQ WIDTHS (fetch (CHARSETINFO WIDTHS) of CSINFO)) (for I from 0 to (IPLUS \MAXTHINCHAR 2) do (\FSETWIDTH WIDTHS I 0))
(for I from 0 to (IPLUS \MAXTHINCHAR 2) do (\FSETWIDTH WIDTHS I 0)) (* ;
(* (replace WIDTHS of  "(replace WIDTHS of (CHARSETINFO CSINFO) with (ARRAY (IPLUS \MAXCHAR 3) (QUOTE SMALLPOSP) 0 0))")
 (CHARSETINFO CSINFO) with (\FONTRESETCHARWIDTHS CSINFO FIRSTCHAR LASTCHAR)
 (ARRAY (IPLUS \MAXCHAR 3) (replace (CHARSETINFO IMAGEWIDTHS) of CSINFO with (fetch (CHARSETINFO WIDTHS) of CSINFO))
 (QUOTE SMALLPOSP) 0 0))) CSINFO])
(\FONTRESETCHARWIDTHS CSINFO FIRSTCHAR LASTCHAR)
(replace (CHARSETINFO IMAGEWIDTHS) of CSINFO with (fetch (CHARSETINFO
WIDTHS)
of CSINFO))
(RETURN CSINFO])
(\SFMAKEBOLD (\SFMAKEBOLD
[LAMBDA (CSINFO) (* gbn "25-Jul-85 04:52") [LAMBDA (CSINFO) (* gbn "25-Jul-85 04:52")
@@ -2693,107 +2688,60 @@ Copyright (c) 1981-1994, 1999, 2021 by Venue & Xerox Corporation.
(DEFINEQ (DEFINEQ
(WRITESTRIKEFONTFILE (WRITESTRIKEFONTFILE
[LAMBDA (FONT CHARSET FILENAME) (* ; "Edited 30-Mar-87 20:25 by FS") [LAMBDA (FONT CHARSET FILE) (* ; "Edited 12-Jul-2022 14:36 by rmk")
(* kbr%: "21-Oct-85 15:08")
(* ;; "Write strike FILE using info in FONT, AND CHARSET number.")
(* ;; "This code only works if original file was STRIKE. Otherwise, a new CSINFO is dummied up and it is used instead. So, CSINFO when read in might be different than the one written out.")
(PROG (STREAM CSINFO FIRSTCHAR LASTCHAR WIDTHS OFFSETS IMWIDTHS MAXWIDTH RASTERWIDTH LENGTH
DUMMYCHAR DUMMYOFFSET DUMMYINDEX WIDTH OFFSET CODE MAXCODE)
(SETQ MAXCODE 255) (* ; "Max charcode")
(SETQ DUMMYINDEX 256) (* ; "Dummy char marker")
(COND
((NOT (FONTP FONT))
(LISPERROR "ILLEGAL ARG" FONT)))
(COND
((NULL CHARSET)
(SETQ CHARSET 0))
((NOT (AND (IGEQ CHARSET 0)
(ILESSP CHARSET \MAXCHARSET)))
(LISPERROR "ILLEGAL ARG" CHARSET)))
(SETQ CSINFO (STRIKECSINFO (\GETCHARSETINFO CHARSET FONT T)))
(* ; (* ;
 "Guarantee its a STRIKE font CSINFO.")  "Write strike FILE using info in FONT. *")
(COND (CL:UNLESS (FONTP FONT)
((NULL CSINFO) (LISPERROR "ILLEGAL ARG" FONT))
(ERROR "Couldn't find charset " CHARSET))) (CL:UNLESS CHARSET (SETQ CHARSET 0))
(SETQ WIDTHS (fetch (CHARSETINFO WIDTHS) of CSINFO)) (CL:UNLESS (AND (IGEQ CHARSET 0)
(SETQ OFFSETS (fetch (CHARSETINFO OFFSETS) of CSINFO)) (ILEQ CHARSET \MAXCHARSET))
(SETQ IMWIDTHS (fetch (CHARSETINFO IMAGEWIDTHS) of CSINFO)) (LISPERROR "ILLEGAL ARG" CHARSET))
(LET (STREAM CSINFO FIRSTCHAR LASTCHAR WIDTHS MAXWIDTH LENGTH RASTERWIDTH DUMMYCHAR DUMMYOFFSET
(* ;; "Index 256 contains a dummy width; use it's value to determine missing chars") PREVIOUSOFFSET OFFSETS)
(SETQ CSINFO (\GETCHARSETINFO CHARSET FONT T))
(SETQ DUMMYOFFSET (\FGETOFFSET OFFSETS DUMMYINDEX)) (CL:UNLESS CSINFO (ERROR "Couldn't find charset " CHARSET))
[SETQ FIRSTCHAR (for I from 0 to MAXCODE (SETQ WIDTHS (fetch (CHARSETINFO WIDTHS) of CSINFO))
thereis (NOT (EQ (\FGETOFFSET OFFSETS I) (SETQ OFFSETS (fetch (CHARSETINFO OFFSETS) of CSINFO))
DUMMYOFFSET] (SETQ DUMMYOFFSET (\FGETOFFSET OFFSETS DUMMYINDEX))
[SETQ LASTCHAR (for I from MAXCODE to 0 by -1 [SETQ FIRSTCHAR (for I from 0 to MAXCODE thereis (NOT (EQ (\FGETOFFSET OFFSETS I)
thereis (NOT (EQ (\FGETOFFSET OFFSETS I) DUMMYOFFSET]
DUMMYOFFSET] [SETQ LASTCHAR (for I from MAXCODE to 0 by -1 thereis (NOT (EQ (\FGETOFFSET OFFSETS I)
(SETQ DUMMYCHAR (ADD1 LASTCHAR)) DUMMYOFFSET]
[SETQ STREAM (OPENSTREAM FILENAME 'OUTPUT 'NEW '((TYPE BINARY] (SETQ DUMMYCHAR (ADD1 LASTCHAR))
[SETQ STREAM (OPENSTREAM FILE 'OUTPUT 'NEW '((TYPE BINARY]
(* ;; "") (\WOUT STREAM 32768) (* ; "STRIKE HEADER. *")
(\WOUT STREAM FIRSTCHAR)
(* ;; "STRIKE Header") (\WOUT STREAM LASTCHAR)
(SETQ MAXWIDTH 0)
(* ;; "") [for I from 0 to DUMMYINDEX do (SETQ MAXWIDTH (IMAX MAXWIDTH (\FGETWIDTH WIDTHS I]
(\WOUT STREAM MAXWIDTH) (* ; "STRIKE BODY. *")
(\WOUT STREAM 32768) (* ; "Length. *")
(\WOUT STREAM FIRSTCHAR) (SETQ RASTERWIDTH (fetch (BITMAP BITMAPRASTERWIDTH) of (fetch (CHARSETINFO CHARSETBITMAP)
(\WOUT STREAM LASTCHAR) of CSINFO)))
(SETQ MAXWIDTH 0) (SETQ LENGTH (IPLUS 8 (IDIFFERENCE LASTCHAR FIRSTCHAR)
[for I from 0 to DUMMYINDEX do (SETQ MAXWIDTH (IMAX MAXWIDTH (ITIMES (fetch (FONTDESCRIPTOR \SFHeight) of FONT)
(\FGETWIDTH WIDTHS I] RASTERWIDTH)))
(\WOUT STREAM MAXWIDTH) (\WOUT STREAM LENGTH) (* ;
 "Ascent, Descent, Xoffset (no longer used) and Rasterwidth. *")
(* ;; "") (\WOUT STREAM (fetch (CHARSETINFO CHARSETASCENT) of CSINFO))
(\WOUT STREAM (fetch (CHARSETINFO CHARSETDESCENT) of CSINFO))
(* ;; "STRIKE Body") (\WOUT STREAM 0)
(\WOUT STREAM RASTERWIDTH) (* ; "Bitmap. *")
(* ;; "") [\BOUTS STREAM (fetch (BITMAP BITMAPBASE) of (fetch (CHARSETINFO CHARSETBITMAP) of CSINFO))
0
(* ;; "Length of body") (ITIMES 2 RASTERWIDTH (IPLUS (fetch (CHARSETINFO CHARSETASCENT) of CSINFO)
(fetch (CHARSETINFO CHARSETDESCENT) of CSINFO]
(SETQ RASTERWIDTH (fetch (BITMAP BITMAPRASTERWIDTH) of (fetch (CHARSETINFO (* ; "Offsets. *")
CHARSETBITMAP) (for I WIDTH OFFSET (CODE _ 0) from FIRSTCHAR to DUMMYCHAR first (\WOUT STREAM CODE)
of CSINFO))) do (SETQ OFFSET (\FGETOFFSET OFFSETS I))
(SETQ LENGTH (IPLUS 8 (IDIFFERENCE LASTCHAR FIRSTCHAR) (SETQ WIDTH (\FGETWIDTH WIDTHS I))
(ITIMES (fetch (FONTDESCRIPTOR \SFHeight) of FONT) (CL:UNLESS (AND (IEQP OFFSET DUMMYOFFSET)
RASTERWIDTH))) (NOT (IEQP I DUMMYCHAR)))
(\WOUT STREAM LENGTH) (ADD CODE WIDTH))
(\WOUT STREAM CODE))
(* ;; "Ascent, Descent, Xoffset (no longer used) and Rasterwidth.") (CLOSEF STREAM])
(\WOUT STREAM (fetch (CHARSETINFO CHARSETASCENT) of CSINFO))
(\WOUT STREAM (fetch (CHARSETINFO CHARSETDESCENT) of CSINFO))
(\WOUT STREAM 0) (* ;
 "offset in bits (<0 for kerning, else 0, =FBBox)")
(\WOUT STREAM RASTERWIDTH)
(* ;; "Bitmap")
[\BOUTS STREAM (fetch (BITMAP BITMAPBASE) of (fetch (CHARSETINFO CHARSETBITMAP)
of CSINFO))
0
(ITIMES 2 RASTERWIDTH (IPLUS (fetch (CHARSETINFO CHARSETASCENT) of CSINFO)
(fetch (CHARSETINFO CHARSETDESCENT) of CSINFO]
(* ;; "Offsets")
(SETQ CODE 0)
(\WOUT STREAM CODE)
(for I from FIRSTCHAR to DUMMYCHAR
do (SETQ OFFSET (\FGETOFFSET OFFSETS I))
(SETQ WIDTH (\FGETWIDTH WIDTHS I))
[COND
((AND (IEQP OFFSET DUMMYOFFSET)
(NOT (IEQP I DUMMYCHAR))) (* ; "CODE stays the same.")
)
(T (SETQ CODE (IPLUS CODE WIDTH]
(\WOUT STREAM CODE))
(CLOSEF STREAM])
(STRIKECSINFO (STRIKECSINFO
[LAMBDA (CSINFO) (* ; "Edited 27-Apr-89 13:39 by atm") [LAMBDA (CSINFO) (* ; "Edited 27-Apr-89 13:39 by atm")
@@ -3193,45 +3141,56 @@ Copyright (c) 1981-1994, 1999, 2021 by Venue & Xerox Corporation.
(DEFINEQ (DEFINEQ
(\CREATECHARSET (\CREATECHARSET
[LAMBDA (CHARSET FONT NOSLUG?) (* ; "Edited 8-May-93 23:42 by rmk:") [LAMBDA (CHARSET FONT NOSLUG?) (* ; "Edited 12-Jul-2022 14:37 by rmk")
(* ; "Edited 8-May-93 23:42 by rmk:")
(* ; "Edited 4-Dec-92 11:43 by jds") (* ; "Edited 4-Dec-92 11:43 by jds")
(* ;; "Creates and returns the CHARSETINFO for charset CHARSET in fontdesc FONT, installing it in fonts FONTCHARSETVECTOR") (* ;; "Creates and returns the CHARSETINFO for charset CHARSET in fontdesc FONT, installing it in fonts FONTCHARSETVECTOR")
(* ; (* ;
 "NOSLUG? means don't create an empty (slug) csinfo if the charset is not found, just return NIL")  "NOSLUG? means don't create an empty (slug) csinfo if the charset is not found, just return NIL")
(DECLARE (GLOBALVARS \DISPLAYSTREAMTYPES)) (DECLARE (GLOBALVARS \DISPLAYSTREAMTYPES))
(AND (IGREATERP CHARSET \MAXCHARSET) (CL:WHEN (OR (ILESSP CHARSET 0)
(\ILLEGAL.ARG CHARSET)) (IGREATERP CHARSET \MAXCHARSET))
(PROG [CSINFO (CREATEFN (COND (\ILLEGAL.ARG CHARSET))
((FMEMB (FONTPROP FONT 'DEVICE) (LET [CSINFO (CREATEFN (COND
\DISPLAYSTREAMTYPES) ((FMEMB (FONTPROP FONT 'DEVICE)
(FUNCTION \CREATECHARSET.DISPLAY)) \DISPLAYSTREAMTYPES)
(T (CADR (ASSOC 'CREATECHARSET (CDR (ASSOC (FONTPROP FONT (FUNCTION \CREATECHARSET.DISPLAY))
'DEVICE) (T (CADR (ASSOC 'CREATECHARSET (CDR (ASSOC (FONTPROP FONT 'DEVICE)
IMAGESTREAMTYPES] IMAGESTREAMTYPES]
(* ;; "Create a descriptor of info for that charset, and use it to fill things in.") (* ;; "Create a descriptor of info for that charset, and use it to fill things in.")
(COND (CL:WHEN [SETQ CSINFO (APPLY CREATEFN (APPEND (FONTPROP FONT 'DEVICESPEC)
([NOT (SETQ CSINFO (APPLY CREATEFN (APPEND (FONTPROP FONT 'DEVICESPEC) (LIST CHARSET FONT NOSLUG?]
(LIST CHARSET FONT NOSLUG?]
(* ; (* ;
 "the create method returned NIL--NOSLUG? must be T.")  "the create method did not return NIL--NOSLUG? must be T. ")
(RETURN NIL))) (\INSTALLCHARSETINFO FONT CSINFO CHARSET))])
(replace \SFAscent of FONT with (IMAX (fetch \SFAscent of FONT)
(SIGNED (fetch CHARSETASCENT (\INSTALLCHARSETINFO
[LAMBDA (FONT CSINFO CHARSET) (* ; "Edited 12-Jul-2022 15:08 by rmk")
(replace \SFAscent of FONT with (IMAX (fetch \SFAscent of FONT)
(SIGNED (fetch CHARSETASCENT of CSINFO)
16)))
(replace (FONTDESCRIPTOR \SFDescent) of FONT with (IMAX (fetch (FONTDESCRIPTOR \SFDescent)
of FONT)
(SIGNED (fetch (CHARSETINFO
CHARSETDESCENT)
of CSINFO) of CSINFO)
16))) 16)))
(replace \SFDescent of FONT with (IMAX (fetch \SFDescent of FONT)
(SIGNED (ffetch CHARSETDESCENT
of CSINFO)
16)))
(replace \SFHeight of FONT with (IPLUS (fetch \SFAscent of FONT)
(ffetch \SFDescent of FONT)))
(* ; (* ;
 "jtm: height = ascent + descent, not (IMAX fontHeight charSetHeight)")  "jtm: height = ascent + descent, not (IMAX fontHeight charSetHeight)")
(RETURN (\SETCHARSETINFO (ffetch FONTCHARSETVECTOR of FONT) (replace (FONTDESCRIPTOR \SFHeight) of FONT with (IPLUS (fetch (FONTDESCRIPTOR \SFAscent)
CHARSET CSINFO]) of FONT)
(ffetch (FONTDESCRIPTOR \SFDescent)
of FONT)))
(\SETCHARSETINFO (fetch (FONTDESCRIPTOR FONTCHARSETVECTOR) of FONT)
CHARSET CSINFO)
(* ;; "\AVGCHARWIDTH has to be confused after the CSINFO is stuck in.")
(replace (FONTDESCRIPTOR FONTAVGCHARWIDTH) of FONT with (\AVGCHARWIDTH FONT))
CSINFO])
) )
(DECLARE%: DOEVAL@COMPILE DONTCOPY (DECLARE%: DOEVAL@COMPILE DONTCOPY
@@ -3348,30 +3307,30 @@ Copyright (c) 1981-1994, 1999, 2021 by Venue & Xerox Corporation.
(PUTPROPS FONT COPYRIGHT ("Venue & Xerox Corporation" 1981 1982 1983 1984 1985 1986 1987 1988 1989 (PUTPROPS FONT COPYRIGHT ("Venue & Xerox Corporation" 1981 1982 1983 1984 1985 1986 1987 1988 1989
1990 1991 1992 1993 1994 1999 2021)) 1990 1991 1992 1993 1994 1999 2021))
(DECLARE%: DONTCOPY (DECLARE%: DONTCOPY
(FILEMAP (NIL (8745 18264 (CHARWIDTH 8755 . 9540) (CHARWIDTHY 9542 . 10912) (STRINGWIDTH 10914 . 12007 (FILEMAP (NIL (8812 18331 (CHARWIDTH 8822 . 9607) (CHARWIDTHY 9609 . 10979) (STRINGWIDTH 10981 . 12074
) (\CHARWIDTH.DISPLAY 12009 . 12422) (\STRINGWIDTH.DISPLAY 12424 . 12848) (\STRINGWIDTH.GENERIC 12850 ) (\CHARWIDTH.DISPLAY 12076 . 12489) (\STRINGWIDTH.DISPLAY 12491 . 12915) (\STRINGWIDTH.GENERIC 12917
. 18262)) (18265 24647 (DEFAULTFONT 18275 . 20108) (FONTCLASS 20110 . 22272) (FONTCLASSUNPARSE 22274 . 18329)) (18332 24714 (DEFAULTFONT 18342 . 20175) (FONTCLASS 20177 . 22339) (FONTCLASSUNPARSE 22341
. 23173) (FONTCLASSCOMPONENT 23175 . 23684) (SETFONTCLASSCOMPONENT 23686 . 24645)) (25321 38053 ( . 23240) (FONTCLASSCOMPONENT 23242 . 23751) (SETFONTCLASSCOMPONENT 23753 . 24712)) (25388 38120 (
FONTCREATE 25331 . 34598) (\FONT.SYMBOLMEMB 34600 . 34830) (\FONT.SYMBOLASSOC 34832 . 35990) ( FONTCREATE 25398 . 34665) (\FONT.SYMBOLMEMB 34667 . 34897) (\FONT.SYMBOLASSOC 34899 . 36057) (
\FONT.COMPARESYMBOL 35992 . 38051)) (38092 42716 (FONTASCENT 38102 . 38270) (FONTDESCENT 38272 . 38541 \FONT.COMPARESYMBOL 36059 . 38118)) (38159 42783 (FONTASCENT 38169 . 38337) (FONTDESCENT 38339 . 38608
) (FONTHEIGHT 38543 . 38729) (FONTPROP 38731 . 42174) (\AVGCHARWIDTH 42176 . 42714)) (42763 55402 ( ) (FONTHEIGHT 38610 . 38796) (FONTPROP 38798 . 42241) (\AVGCHARWIDTH 42243 . 42781)) (42830 55469 (
GETCHARBITMAP 42773 . 45663) (PUTCHARBITMAP 45665 . 53722) (MOVECHARBITMAP 53724 . 55400)) (55403 GETCHARBITMAP 42840 . 45730) (PUTCHARBITMAP 45732 . 53789) (MOVECHARBITMAP 53791 . 55467)) (55470
139942 (FONTCOPY 55413 . 60721) (FONTSAVAILABLE 60723 . 65928) (FONTFILEFORMAT 65930 . 67554) (FONTP 140009 (FONTCOPY 55480 . 60788) (FONTSAVAILABLE 60790 . 65995) (FONTFILEFORMAT 65997 . 67621) (FONTP
67556 . 67855) (FONTUNPARSE 67857 . 70421) (SETFONTDESCRIPTOR 70423 . 72132) (CHARCODEP 72134 . 72495) 67623 . 67922) (FONTUNPARSE 67924 . 70488) (SETFONTDESCRIPTOR 70490 . 72199) (CHARCODEP 72201 . 72562)
(EDITCHAR 72497 . 72926) (\STREAMCHARWIDTH 72928 . 77092) (\UNITWIDTHSVECTOR 77094 . 77457) ( (EDITCHAR 72564 . 72993) (\STREAMCHARWIDTH 72995 . 77159) (\UNITWIDTHSVECTOR 77161 . 77524) (
\CREATEDISPLAYFONT 77459 . 78212) (\CREATECHARSET.DISPLAY 78214 . 81130) (\CREATE-REAL-CHARSET.DISPLAY \CREATEDISPLAYFONT 77526 . 78279) (\CREATECHARSET.DISPLAY 78281 . 81197) (\CREATE-REAL-CHARSET.DISPLAY
81132 . 88036) (\BUILDSLUGCSINFO 88038 . 89481) (\SEARCHDISPLAYFONTFILES 89483 . 91416) ( 81199 . 88103) (\BUILDSLUGCSINFO 88105 . 89548) (\SEARCHDISPLAYFONTFILES 89550 . 91483) (
\SEARCHFONTFILES 91418 . 94729) (\FINDFONTFILE 94731 . 95922) (\FONTSYMBOL 95924 . 96574) ( \SEARCHFONTFILES 91485 . 94796) (\FINDFONTFILE 94798 . 95989) (\FONTSYMBOL 95991 . 96641) (
\DEVICESYMBOL 96576 . 97445) (\FONTFACE 97447 . 104637) (\FONTFACE.COLOR 104639 . 111559) ( \DEVICESYMBOL 96643 . 97512) (\FONTFACE 97514 . 104704) (\FONTFACE.COLOR 104706 . 111626) (
\FONTFILENAME 111561 . 114976) (\FONTFILENAME.OLD 114978 . 117927) (\FONTFILENAME.NEW 117929 . 120186) \FONTFILENAME 111628 . 115043) (\FONTFILENAME.OLD 115045 . 117994) (\FONTFILENAME.NEW 117996 . 120253)
(\FONTINFOFROMFILENAME 120188 . 123302) (\FONTINFOFROMFILENAME.OLD 123304 . 125581) (\GETFONTDESC (\FONTINFOFROMFILENAME 120255 . 123369) (\FONTINFOFROMFILENAME.OLD 123371 . 125648) (\GETFONTDESC
125583 . 125974) (\COERCEFONTDESC 125976 . 131361) (\LOOKUPFONT 131363 . 132707) (\LOOKUPFONTSINCORE 125650 . 126041) (\COERCEFONTDESC 126043 . 131428) (\LOOKUPFONT 131430 . 132774) (\LOOKUPFONTSINCORE
132709 . 134782) (\READDISPLAYFONTFILE 134784 . 139940)) (140845 157895 (\READSTRIKEFONTFILE 140855 . 132776 . 134849) (\READDISPLAYFONTFILE 134851 . 140007)) (140912 157636 (\READSTRIKEFONTFILE 140922 .
145383) (\SFMAKEBOLD 145385 . 147781) (\SFMAKEITALIC 147783 . 150686) (\SFMAKEROTATEDFONT 150688 . 145124) (\SFMAKEBOLD 145126 . 147522) (\SFMAKEITALIC 147524 . 150427) (\SFMAKEROTATEDFONT 150429 .
152089) (\SFROTATECSINFO 152091 . 152728) (\SFROTATEFONTCHARACTERS 152730 . 153110) ( 151830) (\SFROTATECSINFO 151832 . 152469) (\SFROTATEFONTCHARACTERS 152471 . 152851) (
\SFFIXOFFSETSAFTERROTATION 153112 . 155251) (\SFROTATECSINFOOFFSETS 155253 . 156522) (\SFMAKECOLOR \SFFIXOFFSETSAFTERROTATION 152853 . 154992) (\SFROTATECSINFOOFFSETS 154994 . 156263) (\SFMAKECOLOR
156524 . 157893)) (157896 166207 (WRITESTRIKEFONTFILE 157906 . 162747) (STRIKECSINFO 162749 . 166205)) 156265 . 157634)) (157637 164890 (WRITESTRIKEFONTFILE 157647 . 161430) (STRIKECSINFO 161432 . 164888))
(180252 180415 (\CREATEKERNELEMENT 180252 . 180415)) (180417 180545 (\FSETLEFTKERN 180417 . 180545)) (178935 179098 (\CREATEKERNELEMENT 178935 . 179098)) (179100 179228 (\FSETLEFTKERN 179100 . 179228))
(180547 180641 (\FGETLEFTKERN 180547 . 180641)) (180810 183666 (\CREATECHARSET 180820 . 183664)) ( (179230 179324 (\FGETLEFTKERN 179230 . 179324)) (179493 183003 (\CREATECHARSET 179503 . 181254) (
184821 186573 (\FONTRESETCHARWIDTHS 184831 . 186571))))) \INSTALLCHARSETINFO 181256 . 183001)) (184158 185910 (\FONTRESETCHARWIDTHS 184168 . 185908)))))
STOP STOP

Binary file not shown.