Rmk103 font and related code updates (#2216)
This PR contains a large number of changes in support of the implementation of the Medley Dsplay Fon file format. The changes are documented in the docs/internal/FONTCHANGES.TEDIT file.
This commit is contained in:
@@ -1,239 +0,0 @@
|
||||
(DEFINE-FILE-INFO PACKAGE "INTERLISP" READTABLE "INTERLISP" BASE 10)
|
||||
|
||||
(FILECREATED "29-Jan-2025 19:34:13" {WMEDLEY}<lispusers>MULTI-ALIST.;15 12223
|
||||
|
||||
:EDIT-BY rmk
|
||||
|
||||
:CHANGES-TO (FNS MAPMULTI)
|
||||
|
||||
:PREVIOUS-DATE "25-Jan-2025 15:04:13" {WMEDLEY}<lispusers>MULTI-ALIST.;14)
|
||||
|
||||
|
||||
(PRETTYCOMPRINT MULTI-ALISTCOMS)
|
||||
|
||||
(RPAQQ MULTI-ALISTCOMS
|
||||
((MACROS GETMULTI PUTMULTI PUTMULTI-D PUTMULTI-NEW PUTMULTI-COUNT PUTMULTI-SUM REMOVEMULTI
|
||||
REMOVEMULTIALL)
|
||||
(MACROS FGETMULTI FPUTMULTI FPUTMULTI-D FPUTMULTI-NEW)
|
||||
(FNS MAPMULTI MAPMULTI1 COLLECTMULTI)
|
||||
(FNS GETMULTI.EXPAND PUTMULTI.EXPAND REMOVEMULTI.EXPAND)
|
||||
(MACROS ADDTOMULTI)
|
||||
(FNS ADDTOMULTI1)
|
||||
(LOCALVARS . T)))
|
||||
(DECLARE%: EVAL@COMPILE
|
||||
|
||||
(PUTPROPS GETMULTI MACRO (ARGS (GETMULTI.EXPAND 'SASSOC ARGS)))
|
||||
|
||||
(PUTPROPS PUTMULTI MACRO (ARGS (PUTMULTI.EXPAND 'SASSOC ARGS)))
|
||||
|
||||
(PUTPROPS PUTMULTI-D MACRO (ARGS (PUTMULTI.EXPAND 'SASSOC ARGS NIL T)))
|
||||
|
||||
(PUTPROPS PUTMULTI-NEW MACRO (ARGS (PUTMULTI.EXPAND 'SASSOC ARGS)))
|
||||
|
||||
(PUTPROPS PUTMULTI-COUNT MACRO (ARGS (PUTMULTI.EXPAND 'SASSOC (APPEND ARGS '(1))
|
||||
NIL NIL T)))
|
||||
|
||||
(PUTPROPS PUTMULTI-SUM MACRO (ARGS (PUTMULTI.EXPAND 'SASSOC ARGS NIL NIL T)))
|
||||
|
||||
(PUTPROPS REMOVEMULTI MACRO (ARGS (REMOVEMULTI.EXPAND ARGS)))
|
||||
|
||||
(PUTPROPS REMOVEMULTIALL MACRO (ARGS (REMOVEMULTI.EXPAND ARGS T)))
|
||||
)
|
||||
(DECLARE%: EVAL@COMPILE
|
||||
|
||||
(PUTPROPS FGETMULTI MACRO (ARGS (GETMULTI.EXPAND 'FASSOC ARGS)))
|
||||
|
||||
(PUTPROPS FPUTMULTI MACRO (ARGS (PUTMULTI.EXPAND 'FASSOC ARGS)))
|
||||
|
||||
(PUTPROPS FPUTMULTI-D MACRO (ARGS (PUTMULTI.EXPAND 'FASSOC ARGS NIL T)))
|
||||
|
||||
(PUTPROPS FPUTMULTI-NEW MACRO (ARGS (PUTMULTI.EXPAND 'FASSOC ARGS)))
|
||||
)
|
||||
(DEFINEQ
|
||||
|
||||
(MAPMULTI
|
||||
[LAMBDA (MULTIALIST MAPFN) (* ; "Edited 29-Jan-2025 19:33 by rmk")
|
||||
(* ; "Edited 25-Jan-2025 14:51 by rmk")
|
||||
(* ; "Edited 16-Jan-2025 10:32 by rmk")
|
||||
(* ; "Edited 6-Jan-2020 10:15 by rmk:")
|
||||
|
||||
(* ;; "MAPMULTI applies a mapping function of N args to each item in an N-way item in the multi-alist at MULTIALIST. If an item C is inserted by (PUTMULTI FOO A B C), then MAPFN should be a 3 argument function and it will be applied to A B C. The caller is responsible for making sure the arities of the index and the mapfn correspond.")
|
||||
|
||||
(DECLARE (SPECVARS MAPFN))
|
||||
(LET ($$LISTFORARGS$$)
|
||||
(DECLARE (SPECVARS $$LISTFORARGS$$))
|
||||
(SETQ $$LISTFORARGS$$ (FOR I FROM 1 TO (NARGS MAPFN) COLLECT NIL))
|
||||
(MAPMULTI1 MULTIALIST $$LISTFORARGS$$ (NARGS MAPFN])
|
||||
|
||||
(MAPMULTI1
|
||||
[LAMBDA (SUBALIST ARGLIST NREMAINING) (* ; "Edited 25-Jan-2025 15:03 by rmk")
|
||||
(* ; "Edited 22-Jan-2025 23:42 by rmk")
|
||||
(* ; "Edited 16-Jan-2025 10:29 by rmk")
|
||||
(* ; "Edited 6-Jan-2020 10:21 by rmk:")
|
||||
(DECLARE (USEDFREE $$LISTFORARGS$$ MAPFN))
|
||||
(if [AND (IGREATERP NREMAINING 1)
|
||||
(LISTP (CAR (LISTP SUBALIST]
|
||||
then
|
||||
(* ;; "Still a list of alists.")
|
||||
|
||||
(for SI in SUBALIST do (RPLACA ARGLIST (CAR SI))
|
||||
(MAPMULTI1 (CDR SI)
|
||||
(CDR ARGLIST)
|
||||
(SUB1 NREMAINING)))
|
||||
else (for ITEM inside SUBALIST do (RPLACA ARGLIST ITEM)
|
||||
(APPLY MAPFN $$LISTFORARGS$$])
|
||||
|
||||
(COLLECTMULTI
|
||||
[LAMBDA (MULTIALIST MAPFN) (* ; "Edited 25-Jan-2025 15:00 by rmk")
|
||||
(* ; "Edited 22-Jan-2025 23:44 by rmk")
|
||||
(* ; "Edited 6-Jan-2020 10:15 by rmk:")
|
||||
(LET ($$COLLECT)
|
||||
(DECLARE (SPECVARS $$COLLECT))
|
||||
(MAPMULTI MULTIALIST MAPFN)
|
||||
$$COLLECT])
|
||||
)
|
||||
(DEFINEQ
|
||||
|
||||
(GETMULTI.EXPAND
|
||||
[LAMBDA (ASSOCFN ARGS) (* ; "Edited 16-Jan-2025 10:27 by rmk")
|
||||
(* ; "Edited 19-Jul-2020 00:38 by rmk:")
|
||||
(* ; "Edited 22-Mar-2020 13:21 by rmk:")
|
||||
(* ; "Edited 27-Feb-2020 13:44 by rmk:")
|
||||
(* ; "Edited 30-Dec-2019 20:50 by rmk:")
|
||||
|
||||
(* ;; "If SUM, returns the value after the last argument, paired with PUTMULTISUM")
|
||||
|
||||
(IF (CDR ARGS)
|
||||
THEN `(LET ($$CELL$$)
|
||||
(DECLARE (LOCALVARS $$CELL$$))
|
||||
,@[FOR ATAIL (HEAD _ (CAR ARGS)) ON (CDR ARGS)
|
||||
COLLECT (PROG1 `[SETQ $$CELL$$ (CDR (,ASSOCFN ,(CAR ATAIL)
|
||||
,HEAD]
|
||||
(SETQ HEAD '$$CELL$$))]
|
||||
$$CELL$$)
|
||||
ELSE (CAR ARGS])
|
||||
|
||||
(PUTMULTI.EXPAND
|
||||
[LAMBDA (ASSOCFN ARGS ALLOWREPEATS SINGLEVALUE SUM) (* ; "Edited 23-Jan-2025 09:40 by rmk")
|
||||
(* ; "Edited 16-Jan-2025 10:18 by rmk")
|
||||
(* ; "Edited 17-Aug-2020 14:09 by rmk:")
|
||||
|
||||
(* ;; "If ALLOWREPEATS, doesn't test (MEMBER) for preexisting values, just accumulates")
|
||||
|
||||
(* ;; "If SINGLEVALUE, new value smashes out old")
|
||||
|
||||
(* ;; "For SUM, the last argument is the increment to be added to the current value, and the incremented value is returned for PUTMULTISUM and for GETMULT")
|
||||
|
||||
(* ;; "")
|
||||
|
||||
(* ;; "We get the setf method so that any expressions in the form will be evaluated only once.")
|
||||
|
||||
(CL:MULTIPLE-VALUE-BIND
|
||||
(TEMPVARS VALFORMS STOREVARS STOREFORM ACCESSFORM)
|
||||
(CL:GET-SETF-METHOD (CAR ARGS))
|
||||
(CL:IF (CDR ARGS)
|
||||
`(LET*
|
||||
,(FOR VF IN VALFORMS AS TV IN TEMPVARS COLLECT (LIST TV VF))
|
||||
(DECLARE (LOCALVARS ,@TEMPVARS))
|
||||
(LET
|
||||
($$ARG1$$ $$ARG2$$)
|
||||
(DECLARE (LOCALVARS $$ARG1$$ $$ARG2$$))
|
||||
,@[FOR ATAIL (HEAD _ ACCESSFORM) ON ARGS WHILE (CDR ATAIL)
|
||||
JOIN
|
||||
(IF (AND SUM (NULL (CDDR ATAIL)))
|
||||
THEN (POP ATAIL)
|
||||
`[(CL:UNLESS ,HEAD (RPLACD $$ARG1$$ 0))
|
||||
(SETQ $$ARG2$$ (ADD ,HEAD ,(CAR ATAIL]
|
||||
ELSE
|
||||
(PROG1 `[(SETQ $$ARG2$$ ,(CADR ATAIL))
|
||||
,(IF (CDDR ATAIL)
|
||||
THEN `[SETQ $$ARG1$$ (OR (,ASSOCFN $$ARG2$$ ,HEAD)
|
||||
(CAR (CL:PUSH (CONS $$ARG2$$)
|
||||
,HEAD]
|
||||
ELSEIF ALLOWREPEATS
|
||||
THEN `(push ,HEAD $$ARG2$$)
|
||||
ELSEIF SINGLEVALUE
|
||||
THEN `(RPLACD $$ARG2$$)
|
||||
ELSE `(OR (MEMBER $$ARG2$$ ,HEAD)
|
||||
(push ,HEAD $$ARG2$$]
|
||||
(SETQ HEAD '(CDR $$ARG1$$)))]
|
||||
$$ARG2$$))
|
||||
(CAR ARGS))])
|
||||
|
||||
(REMOVEMULTI.EXPAND
|
||||
[LAMBDA (ARGS ALLFLAG) (* ; "Edited 16-Jan-2025 10:34 by rmk")
|
||||
(* ; "Edited 17-Aug-2020 15:12 by rmk:")
|
||||
(* ; "Edited 17-May-2020 17:25 by rmk:")
|
||||
(* ; "Edited 14-Feb-2020 11:24 by rmk:")
|
||||
(* ; "Edited 25-Dec-2019 09:57 by rmk:")
|
||||
|
||||
(* ;; "If ALLFLAG, then all data after the last of ARGS, if any, is removed. That is, if there are 3 keys to the index, and REMOVEMULTIALL is invoked with 2 keys, then it's as if no entries were made for any of the third keys after those first two. In the case of REMOVEMULTIALL, it returns the previous tail.")
|
||||
|
||||
(* ;; "No point in distinguishing FASSOC from SASSOC here.")
|
||||
|
||||
(CL:MULTIPLE-VALUE-BIND
|
||||
(TEMPVARS VALFORMS STOREVARS STOREFORM ACCESSFORM)
|
||||
(CL:GET-SETF-METHOD (CAR ARGS))
|
||||
(CL:IF (CDR ARGS)
|
||||
`(LET*
|
||||
,(FOR VF IN VALFORMS AS TV IN TEMPVARS COLLECT (LIST TV VF))
|
||||
(DECLARE (LOCALVARS ,@TEMPVARS))
|
||||
(LET
|
||||
($$ARG1$$ $$ARG2$$)
|
||||
(DECLARE (LOCALVARS $$ARG1$$ $$ARG2$$))
|
||||
,@[FOR ATAIL (HEAD _ ACCESSFORM) ON ARGS WHILE (CDR ATAIL)
|
||||
JOIN (PROG1 `[(SETQ $$ARG2$$ ,(CADR ATAIL))
|
||||
,(IF (CDDR ATAIL)
|
||||
THEN `(SETQ $$ARG1$$ (SASSOC $$ARG2$$ ,HEAD))
|
||||
ELSEIF ALLFLAG
|
||||
THEN `(CL:WHEN (SETQ $$ARG1$$ (SASSOC $$ARG2$$ ,HEAD))
|
||||
(SETQ $$ARG2$$ (CDR $$ARG1$$))
|
||||
(RPLACD $$ARG1$$))
|
||||
ELSE `(AND (SETQ $$ARG2$$ (MEMBER $$ARG2$$ ,HEAD))
|
||||
(RPLACD $$ARG1$$ (DREMOVE (SETQ $$ARG2$$ (CAR $$ARG2$$))
|
||||
,HEAD]
|
||||
(SETQ HEAD '(CDR $$ARG1$$)))]
|
||||
$$ARG2$$))
|
||||
(CAR ARGS))])
|
||||
)
|
||||
(DECLARE%: EVAL@COMPILE
|
||||
|
||||
(PUTPROPS ADDTOMULTI MACRO [ARGS (CL:MULTIPLE-VALUE-BIND
|
||||
(TEMPVARS VALFORMS STOREVARS STOREFORM ACCESSFORM)
|
||||
(CL:GET-SETF-METHOD (CAR ARGS))
|
||||
`(LET* [,@(FOR VF IN VALFORMS AS TV IN TEMPVARS
|
||||
COLLECT (LIST TV VF))
|
||||
($$KEYS ,(CADR ARGS]
|
||||
(DECLARE (LOCALVARS $$KEYS ,@TEMPVARS))
|
||||
(COND
|
||||
[(LISTP $$KEYS)
|
||||
(CL:UNLESS (SASSOC (CAR $$KEYS)
|
||||
,ACCESSFORM)
|
||||
(CL:PUSH (CONS (CAR $$KEYS))
|
||||
,ACCESSFORM))
|
||||
(ADDTOMULTI1 ,ACCESSFORM $$KEYS ,(CADDR ARGS]
|
||||
(T (CL:SETF ,ACCESSFORM ,(CADDR ARGS])
|
||||
)
|
||||
(DEFINEQ
|
||||
|
||||
(ADDTOMULTI1
|
||||
[LAMBDA (PLACE KEYS VAL) (* ; "Edited 22-Jan-2025 23:47 by rmk")
|
||||
(* ; "Edited 17-Aug-2020 15:05 by rmk:")
|
||||
|
||||
(* ;; "This allows the keys to be provided in a single list rather than as separate arguments.")
|
||||
|
||||
(FOR I (P _ PLACE) IN KEYS DO [SETQ P (OR (SASSOC I P)
|
||||
(CAR (PUSH (CDR P)
|
||||
(CONS I] FINALLY (PUSH (CDR P)
|
||||
VAL))
|
||||
VAL])
|
||||
)
|
||||
(DECLARE%: DOEVAL@COMPILE DONTCOPY
|
||||
|
||||
(LOCALVARS . T)
|
||||
)
|
||||
(DECLARE%: DONTCOPY
|
||||
(FILEMAP (NIL (1837 4449 (MAPMULTI 1847 . 2915) (MAPMULTI1 2917 . 3974) (COLLECTMULTI 3976 . 4447)) (
|
||||
4450 10311 (GETMULTI.EXPAND 4460 . 5581) (PUTMULTI.EXPAND 5583 . 7995) (REMOVEMULTI.EXPAND 7997 .
|
||||
10309)) (11461 12146 (ADDTOMULTI1 11471 . 12144)))))
|
||||
STOP
|
||||
Binary file not shown.
Binary file not shown.
@@ -1,19 +1,18 @@
|
||||
(DEFINE-FILE-INFO PACKAGE "INTERLISP" READTABLE "INTERLISP" BASE 10)
|
||||
|
||||
(FILECREATED "10-Apr-2024 09:49:11" {WMEDLEY}<lispusers>NSDISPLAYSIZES.;5 9232
|
||||
(FILECREATED "15-Jul-2025 10:25:11" {WMEDLEY}<lispusers>NSDISPLAYSIZES.;7 7757
|
||||
|
||||
:EDIT-BY rmk
|
||||
|
||||
:CHANGES-TO (FNS NSDISPLAYSIZE)
|
||||
:CHANGES-TO (FNS PURGENSFONTS)
|
||||
|
||||
:PREVIOUS-DATE " 8-Apr-2024 11:48:01" {WMEDLEY}<lispusers>NSDISPLAYSIZES.;4)
|
||||
:PREVIOUS-DATE " 9-Jun-2025 19:52:26" {WMEDLEY}<lispusers>NSDISPLAYSIZES.;6)
|
||||
|
||||
|
||||
(PRETTYCOMPRINT NSDISPLAYSIZESCOMS)
|
||||
|
||||
(RPAQQ NSDISPLAYSIZESCOMS
|
||||
[(FNS NSDISPLAYSIZE NS\FONTFILENAME NS\FONTFILENAME.OLD PURGENSFONTS)
|
||||
(ADDVARS (NSFONTFAMILIES CLASSIC MODERN TERMINAL OPTIMA TITAN))
|
||||
(INITVARS (*SMALLSCREEN* (ILESSP SCREENWIDTH 700)))
|
||||
[COMS (* ;
|
||||
"VirtualKeyboard font needs adjusting so that real Classic 12 still appears")
|
||||
@@ -90,44 +89,19 @@
|
||||
FACE EXTENSION CHARACTERSET])
|
||||
|
||||
(PURGENSFONTS
|
||||
[LAMBDA (TYPES) (* ; "Edited 14-Sep-96 09:27 by rmk:")
|
||||
(* ; "Edited 14-Dec-87 14:53 by bvm:")
|
||||
(/SETTOPVAL
|
||||
'\FONTSINCORE
|
||||
(FOR ENTRY IN \FONTSINCORE BIND BADTYPES TMP
|
||||
COLLECT
|
||||
(SETQ BADTYPES (IF (AND (MEMB (CAR ENTRY)
|
||||
NSFONTFAMILIES)
|
||||
(OR (NULL TYPES)
|
||||
(EQMEMB 'NS TYPES)))
|
||||
THEN (CONS 'DISPLAY TYPES)
|
||||
ELSE (MKLIST TYPES)))
|
||||
(CONS
|
||||
(CAR ENTRY)
|
||||
(FOR SIZES IN (CDR ENTRY)
|
||||
WHEN [SETQ TMP
|
||||
(IF (AND (NULL TYPES)
|
||||
(> (CAR SIZES)
|
||||
12))
|
||||
THEN (* ;
|
||||
"Only have to get rid of sizes smaller than 14")
|
||||
(CDR SIZES)
|
||||
ELSE (FOR FACE IN (CDR SIZES)
|
||||
WHEN (SETQ TMP
|
||||
(FOR ROT IN (CDR FACE)
|
||||
WHEN (SETQ TMP (FOR DEV
|
||||
IN (CDR ROT) COLLECT
|
||||
DEV
|
||||
UNLESS (MEMB (CAR DEV)
|
||||
BADTYPES)))
|
||||
COLLECT (CONS (CAR ROT)
|
||||
TMP)))
|
||||
COLLECT (CONS (CAR FACE)
|
||||
TMP] COLLECT (CONS (CAR SIZES)
|
||||
TMP])
|
||||
)
|
||||
[LAMBDA (TYPES) (* ; "Edited 15-Jul-2025 09:47 by rmk")
|
||||
(* ; "Edited 14-Sep-96 09:27 by rmk:")
|
||||
(* ; "Edited 14-Dec-87 14:53 by bvm:")
|
||||
|
||||
(ADDTOVAR NSFONTFAMILIES CLASSIC MODERN TERMINAL OPTIMA TITAN)
|
||||
(* ;; "Removes current NS display fonts with sizes LEQ 12. No need to be undoable, cache entries will be recreated on demand.")
|
||||
|
||||
(DECLARE (GLOBALVARS \FONTSINCORE))
|
||||
(MAPMULTI \FONTSINCORE (FUNCTION (LAMBDA (FM S FC R TAIL)
|
||||
(CL:WHEN (AND (MEMB FM NSFONTFAMILIES)
|
||||
(ILEQ S 12)
|
||||
(EQ 'DISPLAY (CAR TAIL)))
|
||||
(RPLACD TAIL])
|
||||
)
|
||||
|
||||
(RPAQ? *SMALLSCREEN* (ILESSP SCREENWIDTH 700))
|
||||
|
||||
@@ -170,7 +144,7 @@
|
||||
(VKBD.FIX.FONT)
|
||||
)
|
||||
(DECLARE%: DONTCOPY
|
||||
(FILEMAP (NIL (1522 7564 (NSDISPLAYSIZE 1532 . 4862) (NS\FONTFILENAME 4864 . 5105) (
|
||||
NS\FONTFILENAME.OLD 5107 . 5356) (PURGENSFONTS 5358 . 7562)) (7776 8814 (VKBD.FIX.FONT 7786 . 8812))))
|
||||
(FILEMAP (NIL (1449 6157 (NSDISPLAYSIZE 1459 . 4789) (NS\FONTFILENAME 4791 . 5032) (
|
||||
NS\FONTFILENAME.OLD 5034 . 5283) (PURGENSFONTS 5285 . 6155)) (6301 7339 (VKBD.FIX.FONT 6311 . 7337))))
|
||||
)
|
||||
STOP
|
||||
|
||||
Binary file not shown.
@@ -1,66 +1,61 @@
|
||||
(DEFINE-FILE-INFO READTABLE "INTERLISP" PACKAGE "INTERLISP")
|
||||
(FILECREATED " 9-Mar-88 15:54:25" {IVY}<HOGG>LISP>MEDLEY>PRESSFROMNS.;13 81335
|
||||
(DEFINE-FILE-INFO PACKAGE "INTERLISP" READTABLE "INTERLISP" BASE 10)
|
||||
|
||||
changes to%: (VARS PRESSFROMNSCOMS)
|
||||
(FNS \CREATECHARSET.PRESS \CREATECHARSETZERO.PRESS \CREATEPRESSFONT \COERCEFONT)
|
||||
(RECORDS PRESSDATA)
|
||||
(FILECREATED "14-Jul-2025 23:24:28"
|
||||
{DSK}<Users>kaplan>Local>medley3.5>working-medley>lispusers>PRESSFROMNS.;3 80159
|
||||
|
||||
previous date%: " 4-Mar-88 12:52:46" {IVY}<HOGG>LISP>MEDLEY>PRESSFROMNS.;9)
|
||||
:EDIT-BY rmk
|
||||
|
||||
:CHANGES-TO (FNS GETCHARPRESSTRANSLATION PUTCHARPRESSTRANSLATION)
|
||||
|
||||
:PREVIOUS-DATE " 5-Jul-2025 18:52:47"
|
||||
{DSK}<Users>kaplan>Local>medley3.5>working-medley>lispusers>PRESSFROMNS.;2)
|
||||
|
||||
(* "
|
||||
Copyright (c) 1986, 1988 by Xerox Corporation. All rights reserved.
|
||||
")
|
||||
|
||||
(PRETTYCOMPRINT PRESSFROMNSCOMS)
|
||||
|
||||
(RPAQQ PRESSFROMNSCOMS [(* This file uses CONSTANTS defined in PRESS, so it is necessary to
|
||||
LOADFROM PRESS before changing this file.)
|
||||
(FNS \SMASHPRESSFONTS)
|
||||
(FNS GETCHARPRESSTRANSLATION PRESS.NSARRAY PUTCHARPRESSTRANSLATION)
|
||||
(FNS \DSPFONT.PRESS \DSPSPACEFACTOR.PRESS \ENTITYSTART.PRESS
|
||||
\SETSPACE.PRESS \STARTPAGE.PRESS \PRESS.COERCEFONT
|
||||
\DSPFONT.PRESSFONT SETUPFONTS.PRESS)
|
||||
(FNS \CREATEPRESSFONT \CREATECHARSET.PRESS \CREATECHARSETZERO.PRESS)
|
||||
(FNS \PRESSCURVE2)
|
||||
(COMS (* Generic utility for coercing fonts, could be used by other
|
||||
devices)
|
||||
(FNS \COERCEFONT))
|
||||
(ALISTS (FONTCOERCIONS PRESS)
|
||||
(MISSINGFONTCOERCIONS PRESS))
|
||||
(GLOBALVARS FONTCOERCIONS MISSINGFONTCOERCIONS)
|
||||
(FNS \STRINGWIDTH.PRESS \CHARWIDTH.PRESS \OUTCHARFN.PRESS)
|
||||
(* * new declaration for PRESSDATA)
|
||||
(DECLARE%: DONTCOPY (RECORDS PRESSDATA))
|
||||
(INITRECORDS PRESSDATA)
|
||||
(* * NSTOASCIITRANSLATIONS is a list with elements of the form
|
||||
(charset translationArrayName)
|
||||
%, where translationArrayName is bound to a translation array for
|
||||
charset which contains (fontFamily charcode)
|
||||
lists)
|
||||
(FNS \NSTOASCIIARRAY \NSTOASCIITRANSLATION)
|
||||
(GLOBALVARS NSTOASCIITRANSLATIONS PRESSFONTFAMILIES)
|
||||
[INITVARS (PRESSFONTFAMILIES '((GACHA)
|
||||
(TIMESROMAN)
|
||||
(HELVETICA)
|
||||
(SYMBOL)
|
||||
(MATH)
|
||||
(HIPPO)
|
||||
(CYRILLIC)
|
||||
(NEWVEC)
|
||||
(SNEWVEC)
|
||||
(HNEWVEC)
|
||||
(VNEWVEC]
|
||||
(INITVARS (NSTOASCIITRANSLATIONS))
|
||||
(ADDVARS (NSTOASCIITRANSLATIONS (0 ASCIIFROM0ARRAY)
|
||||
(38 ASCIIFROM38ARRAY)
|
||||
(39 ASCIIFROM39ARRAY)
|
||||
(239 ASCIIFROM239ARRAY)))
|
||||
(UGLYVARS ASCIIFROM0ARRAY ASCIIFROM38ARRAY ASCIIFROM39ARRAY
|
||||
ASCIIFROM239ARRAY)
|
||||
(P (\SMASHPRESSFONTS))
|
||||
(DECLARE%: DONTCOPY (CONSTANTS (unknownCharTranslation
|
||||
'(MATH 59])
|
||||
(RPAQQ PRESSFROMNSCOMS
|
||||
[(* This file uses CONSTANTS defined in PRESS, so it is necessary to LOADFROM PRESS before
|
||||
changing this file.)
|
||||
(FNS \SMASHPRESSFONTS)
|
||||
(FNS GETCHARPRESSTRANSLATION PRESS.NSARRAY PUTCHARPRESSTRANSLATION)
|
||||
(FNS \DSPFONT.PRESS \DSPSPACEFACTOR.PRESS \ENTITYSTART.PRESS \SETSPACE.PRESS \STARTPAGE.PRESS
|
||||
\PRESS.COERCEFONT \DSPFONT.PRESSFONT SETUPFONTS.PRESS)
|
||||
(FNS \CREATEPRESSFONT \CREATECHARSET.PRESS \CREATECHARSETZERO.PRESS)
|
||||
(FNS \PRESSCURVE2)
|
||||
(COMS (* Generic utility for coercing fonts, could be used by other devices)
|
||||
(FNS \COERCEFONT))
|
||||
(ALISTS (FONTCOERCIONS PRESS)
|
||||
(MISSINGFONTCOERCIONS PRESS))
|
||||
(GLOBALVARS FONTCOERCIONS MISSINGFONTCOERCIONS)
|
||||
(FNS \STRINGWIDTH.PRESS \CHARWIDTH.PRESS \OUTCHARFN.PRESS)
|
||||
(* * new declaration for PRESSDATA)
|
||||
(DECLARE%: DONTCOPY (RECORDS PRESSDATA))
|
||||
(INITRECORDS PRESSDATA)
|
||||
(* * NSTOASCIITRANSLATIONS is a list with elements of the form (charset translationArrayName)
|
||||
%, where translationArrayName is bound to a translation array for charset which contains
|
||||
(fontFamily charcode)
|
||||
lists)
|
||||
(FNS \NSTOASCIIARRAY \NSTOASCIITRANSLATION)
|
||||
(GLOBALVARS NSTOASCIITRANSLATIONS PRESSFONTFAMILIES)
|
||||
[INITVARS (PRESSFONTFAMILIES '((GACHA)
|
||||
(TIMESROMAN)
|
||||
(HELVETICA)
|
||||
(SYMBOL)
|
||||
(MATH)
|
||||
(HIPPO)
|
||||
(CYRILLIC)
|
||||
(NEWVEC)
|
||||
(SNEWVEC)
|
||||
(HNEWVEC)
|
||||
(VNEWVEC]
|
||||
(INITVARS (NSTOASCIITRANSLATIONS))
|
||||
(ADDVARS (NSTOASCIITRANSLATIONS (0 ASCIIFROM0ARRAY)
|
||||
(38 ASCIIFROM38ARRAY)
|
||||
(39 ASCIIFROM39ARRAY)
|
||||
(239 ASCIIFROM239ARRAY)))
|
||||
(UGLYVARS ASCIIFROM0ARRAY ASCIIFROM38ARRAY ASCIIFROM39ARRAY ASCIIFROM239ARRAY)
|
||||
(P (\SMASHPRESSFONTS))
|
||||
(DECLARE%: DONTCOPY (CONSTANTS (unknownCharTranslation '(MATH 59])
|
||||
|
||||
|
||||
|
||||
@@ -79,30 +74,28 @@ this file.)
|
||||
(DEFINEQ
|
||||
|
||||
(GETCHARPRESSTRANSLATION
|
||||
[LAMBDA (CHARCODE FONT) (* thh%: "28-Feb-86 12:03")
|
||||
|
||||
(* returns the Press translation for a character in a font)
|
||||
|
||||
[LAMBDA (CHARCODE FONT) (* ; "Edited 14-Jul-2025 23:23 by rmk")
|
||||
(* ; "Edited 5-Jul-2025 18:51 by rmk")
|
||||
(* thh%: "28-Feb-86 12:03")
|
||||
(* ;
|
||||
"returns the Press translation for a character in a font")
|
||||
(COND
|
||||
((OR (CHARCODEP CHARCODE)
|
||||
(EQ CHARCODE 256))
|
||||
|
||||
(* bitmap for char 256 is what gets printed if char not found)
|
||||
|
||||
(EQ CHARCODE 256)) (* ;
|
||||
"bitmap for char 256 is what gets printed if char not found")
|
||||
)
|
||||
((OR (STRINGP CHARCODE)
|
||||
(LITATOM CHARCODE))
|
||||
(SETQ CHARCODE (CHCON1 CHARCODE)))
|
||||
(T (\ILLEGAL.ARG CHARCODE)))
|
||||
(LET [TR CSINFO (FONTDESC (\GETFONTDESC FONT 'PRESS]
|
||||
|
||||
(* fetch the csinfo for the character set of this character.)
|
||||
|
||||
(LET [TR CSINFO (FONTDESC (FONTCOPY FONT NIL NIL NIL 'PRESS]
|
||||
(* ;
|
||||
"fetch the csinfo for the character set of this character.")
|
||||
(SETQ CSINFO (\GETCHARSETINFO (\CHARSET CHARCODE)
|
||||
FONTDESC))
|
||||
(SETQ TR (\GETBASEPTR (fetch (CHARSETINFO CHARSETBITMAP) of CSINFO)
|
||||
(UNFOLD (\CHAR8CODE CHARCODE)
|
||||
2))) (* Return a copy)
|
||||
2))) (* ; "Return a copy")
|
||||
(LIST (CAR TR)
|
||||
(CDR TR])
|
||||
|
||||
@@ -135,17 +128,18 @@ this file.)
|
||||
array])
|
||||
|
||||
(PUTCHARPRESSTRANSLATION
|
||||
[LAMBDA (CHARCODE FONT NEWTRANSLATION) (* ; "Edited 29-Feb-88 10:28 by thh:")
|
||||
[LAMBDA (CHARCODE FONT NEWTRANSLATION) (* ; "Edited 14-Jul-2025 23:24 by rmk")
|
||||
(* ; "Edited 5-Jul-2025 18:51 by rmk")
|
||||
(* ; "Edited 29-Feb-88 10:28 by thh:")
|
||||
(* ;
|
||||
"Changes the Press translation for a character in a font")
|
||||
|
||||
"Changes the Press translation for a character in a font")
|
||||
(COND
|
||||
((CHARCODEP CHARCODE))
|
||||
((OR (STRINGP CHARCODE)
|
||||
(LITATOM CHARCODE))
|
||||
(SETQ CHARCODE (CHCON1 CHARCODE)))
|
||||
(T (\ILLEGAL.ARG CHARCODE)))
|
||||
(PROG* ((FONTDESC (\GETFONTDESC FONT 'PRESS))
|
||||
(PROG* ((FONTDESC (FONTCREATE FONT NIL NIL NIL 'PRESS))
|
||||
(CSINFO (\GETCHARSETINFO (\CHARSET CHARCODE)
|
||||
FONTDESC))
|
||||
(CHAR8CODE (\CHAR8CODE CHARCODE))
|
||||
@@ -162,11 +156,12 @@ this file.)
|
||||
(MAX DATUM (ffetch \SFAscent of (CAR TR]
|
||||
[change (ffetch CHARSETDESCENT of CSINFO)
|
||||
(MAX DATUM (ffetch \SFDescent of (CAR TR]
|
||||
[freplace \SFHeight of FONTDESC
|
||||
with (PLUS (change (ffetch \SFAscent of FONTDESC)
|
||||
(MAX DATUM (ffetch CHARSETASCENT of CSINFO)))
|
||||
(change (ffetch \SFDescent of FONTDESC)
|
||||
(MAX DATUM (ffetch CHARSETDESCENT of CSINFO])
|
||||
[freplace \SFHeight of FONTDESC with (PLUS (change (ffetch \SFAscent of FONTDESC)
|
||||
(MAX DATUM (ffetch CHARSETASCENT
|
||||
of CSINFO)))
|
||||
(change (ffetch \SFDescent of FONTDESC)
|
||||
(MAX DATUM (ffetch CHARSETDESCENT
|
||||
of CSINFO])
|
||||
(RETURN NEWTRANSLATION])
|
||||
)
|
||||
(DEFINEQ
|
||||
@@ -1000,16 +995,16 @@ this file.)
|
||||
)
|
||||
|
||||
(ADDTOVAR FONTCOERCIONS (PRESS ((SYMBOL (< 10))
|
||||
(SYMBOL 10))
|
||||
((SYMBOL (> 12))
|
||||
(SYMBOL 12))))
|
||||
(SYMBOL 10))
|
||||
((SYMBOL (> 12))
|
||||
(SYMBOL 12))))
|
||||
|
||||
(ADDTOVAR MISSINGFONTCOERCIONS (PRESS (MODERN HELVETICA)
|
||||
(CLASSIC TIMESROMAN)
|
||||
(LOGOTYPE LOGO)
|
||||
(TERMINAL GACHA)
|
||||
(MODERN FRUTIGER)
|
||||
(CLASSIC CENTURY)))
|
||||
(CLASSIC TIMESROMAN)
|
||||
(LOGOTYPE LOGO)
|
||||
(TERMINAL GACHA)
|
||||
(MODERN FRUTIGER)
|
||||
(CLASSIC CENTURY)))
|
||||
(DECLARE%: DOEVAL@COMPILE DONTCOPY
|
||||
|
||||
(GLOBALVARS FONTCOERCIONS MISSINGFONTCOERCIONS)
|
||||
@@ -1112,90 +1107,83 @@ this file.)
|
||||
(DECLARE%: DONTCOPY
|
||||
(DECLARE%: EVAL@COMPILE
|
||||
|
||||
(DATATYPE PRESSDATA (PRHEADING (* ;
|
||||
"The string to be printed atop each page.")
|
||||
PRHEADINGFONT (* ; "Font to print the heading in")
|
||||
PRXPOS (* ; "Current X position")
|
||||
PRYPOS (* ; "Current Y position")
|
||||
PRFONT (* ; "Current font")
|
||||
PRCURRFDE PRESSFONTDIR (PRWIDTHSCACHE POINTER
|
||||
(DATATYPE PRESSDATA (PRHEADING (* ;
|
||||
"The string to be printed atop each page.")
|
||||
PRHEADINGFONT (* ; "Font to print the heading in")
|
||||
PRXPOS (* ; "Current X position")
|
||||
PRYPOS (* ; "Current Y position")
|
||||
PRFONT (* ; "Current font")
|
||||
PRCURRFDE PRESSFONTDIR (PRWIDTHSCACHE POINTER
|
||||
(* ;
|
||||
"Widths table for the current logical character set")
|
||||
)
|
||||
PRCOLOR PRLINEFEED PRPAGESTATE PDSTREAM ELSTREAM XPRPAGEREGION
|
||||
PRDOCNAME (PRLEFT WORD) (* ; "Page left margin")
|
||||
(PRBOTTOM WORD) (* ; "Page bottom margin")
|
||||
(PRRIGHT WORD) (* ; "Page right margin")
|
||||
(PRTOP WORD) (* ; "Page top margin")
|
||||
(PRPAGENUM WORD) (* ; "Current Page number")
|
||||
(PRNEXTFONT# BYTE)
|
||||
(PRMAXFONTSET BYTE)
|
||||
(PRPARTSTART INTEGER)
|
||||
(DLSTARTBYTE INTEGER)
|
||||
(ELSTARTBYTE INTEGER)
|
||||
(STARTCHARBYTE INTEGER)
|
||||
(VECMOVINGRIGHT FLAG) (* ;
|
||||
"If we're drawing a curve with vector fonts, are we moving to the right?")
|
||||
(VECWASDISPLAYING FLAG)
|
||||
(* ;; "Used during curve/line clipping to remember whether we were on-screen or not, so we know when to force a SETXY.")
|
||||
"Widths table for the current logical character set")
|
||||
)
|
||||
PRCOLOR PRLINEFEED PRPAGESTATE PDSTREAM ELSTREAM XPRPAGEREGION PRDOCNAME
|
||||
(PRLEFT WORD) (* ; "Page left margin")
|
||||
(PRBOTTOM WORD) (* ; "Page bottom margin")
|
||||
(PRRIGHT WORD) (* ; "Page right margin")
|
||||
(PRTOP WORD) (* ; "Page top margin")
|
||||
(PRPAGENUM WORD) (* ; "Current Page number")
|
||||
(PRNEXTFONT# BYTE)
|
||||
(PRMAXFONTSET BYTE)
|
||||
(PRPARTSTART INTEGER)
|
||||
(DLSTARTBYTE INTEGER)
|
||||
(ELSTARTBYTE INTEGER)
|
||||
(STARTCHARBYTE INTEGER)
|
||||
(VECMOVINGRIGHT FLAG) (* ;
|
||||
"If we're drawing a curve with vector fonts, are we moving to the right?")
|
||||
(VECWASDISPLAYING FLAG)
|
||||
|
||||
VECSEGCHARS (* ;
|
||||
"Cache for vector characters while we're moving to the left.")
|
||||
VECCURX (* ;
|
||||
"Current X position within vector code, in Dover spots")
|
||||
VECCURY (* ;
|
||||
"Current Y position with vector code, in Dover spots")
|
||||
PRSPACEFACTOR PRSPACEWIDTH (CHARWASDISPLAYING FLAG)
|
||||
(* ;
|
||||
"Says whether we have been printing characters inside the clipping region")
|
||||
PRClippingRegion
|
||||
(* ;; "The edges of the paper, as far as PRESS is concerned. Used to protect SPRUCE users who get killed when the image goes off-paper")
|
||||
(* ;; "Used during curve/line clipping to remember whether we were on-screen or not, so we know when to force a SETXY.")
|
||||
|
||||
PRLOGICALFONT (* ; "Current logical font")
|
||||
PRLOGICALCHARSET (* ;
|
||||
"Current logical character set, whose info is cached. NIL if cache is invalid")
|
||||
(PRTRANSLATIONCACHE POINTER (* ;
|
||||
"Translation table for the current logical character set")
|
||||
))
|
||||
PRSPACEFACTOR _ 1 PRXPOS _ 0 PRYPOS _ 0
|
||||
VECSEGCHARS (* ;
|
||||
"Cache for vector characters while we're moving to the left.")
|
||||
VECCURX (* ;
|
||||
"Current X position within vector code, in Dover spots")
|
||||
VECCURY (* ;
|
||||
"Current Y position with vector code, in Dover spots")
|
||||
PRSPACEFACTOR PRSPACEWIDTH (CHARWASDISPLAYING FLAG)
|
||||
(* ;
|
||||
"We assume that the origin is translated to the bottom-left of the page region")
|
||||
PRClippingRegion _ (create REGION
|
||||
LEFT _ SPRUCEPAPERLEFTMICAS
|
||||
BOTTOM _ SPRUCEPAPERBOTTOMMICAS
|
||||
WIDTH _ (DIFFERENCE SPRUCEPAPERRIGHTMICAS
|
||||
SPRUCEPAPERLEFTMICAS)
|
||||
HEIGHT _ 29210)
|
||||
[ACCESSFNS ((PRWIDTH (IDIFFERENCE (fetch (PRESSDATA PRRIGHT) of
|
||||
DATUM)
|
||||
(fetch (PRESSDATA PRLEFT) of DATUM)))
|
||||
(PRHEIGHT (IDIFFERENCE (fetch (PRESSDATA PRTOP) of DATUM)
|
||||
(fetch (PRESSDATA PRBOTTOM) of DATUM)))
|
||||
(PRPAGEREGION (fetch (PRESSDATA XPRPAGEREGION) of DATUM)
|
||||
(PROGN (replace (PRESSDATA XPRPAGEREGION) of
|
||||
DATUM
|
||||
with NEWVALUE)
|
||||
(replace (PRESSDATA PRLEFT) of DATUM
|
||||
with (fetch (REGION LEFT) of
|
||||
NEWVALUE
|
||||
))
|
||||
(replace (PRESSDATA PRBOTTOM) of DATUM
|
||||
with (fetch (REGION BOTTOM) of
|
||||
NEWVALUE))
|
||||
(replace (PRESSDATA PRRIGHT) of DATUM
|
||||
with (IPLUS (fetch (REGION LEFT)
|
||||
of NEWVALUE)
|
||||
(fetch (REGION WIDTH)
|
||||
of NEWVALUE)))
|
||||
(replace (PRESSDATA PRTOP) of DATUM
|
||||
with (IPLUS (fetch (REGION BOTTOM)
|
||||
of NEWVALUE)
|
||||
(fetch (REGION HEIGHT)
|
||||
of NEWVALUE])
|
||||
"Says whether we have been printing characters inside the clipping region")
|
||||
PRClippingRegion
|
||||
|
||||
(* ;; "The edges of the paper, as far as PRESS is concerned. Used to protect SPRUCE users who get killed when the image goes off-paper")
|
||||
|
||||
PRLOGICALFONT (* ; "Current logical font")
|
||||
PRLOGICALCHARSET (* ;
|
||||
"Current logical character set, whose info is cached. NIL if cache is invalid")
|
||||
(PRTRANSLATIONCACHE POINTER (* ;
|
||||
"Translation table for the current logical character set")
|
||||
))
|
||||
PRSPACEFACTOR _ 1 PRXPOS _ 0 PRYPOS _ 0 (* ;
|
||||
"We assume that the origin is translated to the bottom-left of the page region")
|
||||
PRClippingRegion _ (create REGION
|
||||
LEFT _ SPRUCEPAPERLEFTMICAS
|
||||
BOTTOM _ SPRUCEPAPERBOTTOMMICAS
|
||||
WIDTH _ (DIFFERENCE SPRUCEPAPERRIGHTMICAS
|
||||
SPRUCEPAPERLEFTMICAS)
|
||||
HEIGHT _ 29210)
|
||||
[ACCESSFNS ((PRWIDTH (IDIFFERENCE (fetch (PRESSDATA PRRIGHT) of DATUM)
|
||||
(fetch (PRESSDATA PRLEFT) of DATUM)))
|
||||
(PRHEIGHT (IDIFFERENCE (fetch (PRESSDATA PRTOP) of DATUM)
|
||||
(fetch (PRESSDATA PRBOTTOM) of DATUM)))
|
||||
(PRPAGEREGION (fetch (PRESSDATA XPRPAGEREGION) of DATUM)
|
||||
(PROGN (replace (PRESSDATA XPRPAGEREGION) of DATUM
|
||||
with NEWVALUE)
|
||||
(replace (PRESSDATA PRLEFT) of DATUM
|
||||
with (fetch (REGION LEFT) of NEWVALUE))
|
||||
(replace (PRESSDATA PRBOTTOM) of DATUM
|
||||
with (fetch (REGION BOTTOM) of NEWVALUE))
|
||||
(replace (PRESSDATA PRRIGHT) of DATUM
|
||||
with (IPLUS (fetch (REGION LEFT) of NEWVALUE)
|
||||
(fetch (REGION WIDTH) of NEWVALUE)))
|
||||
(replace (PRESSDATA PRTOP) of DATUM
|
||||
with (IPLUS (fetch (REGION BOTTOM) of NEWVALUE)
|
||||
(fetch (REGION HEIGHT) of NEWVALUE])
|
||||
)
|
||||
|
||||
(/DECLAREDATATYPE 'PRESSDATA
|
||||
'(POINTER POINTER POINTER POINTER POINTER POINTER POINTER POINTER POINTER POINTER POINTER
|
||||
POINTER POINTER POINTER POINTER WORD WORD WORD WORD WORD BYTE BYTE FIXP FIXP FIXP FIXP
|
||||
POINTER POINTER POINTER POINTER WORD WORD WORD WORD WORD BYTE BYTE FIXP FIXP FIXP FIXP
|
||||
FLAG FLAG POINTER POINTER POINTER POINTER POINTER FLAG POINTER POINTER POINTER POINTER
|
||||
)
|
||||
'((PRESSDATA 0 POINTER)
|
||||
@@ -1218,14 +1206,14 @@ this file.)
|
||||
(PRESSDATA 32 (BITS . 15))
|
||||
(PRESSDATA 33 (BITS . 15))
|
||||
(PRESSDATA 34 (BITS . 15))
|
||||
(PRESSDATA 28 (BITS . 7))
|
||||
(PRESSDATA 26 (BITS . 7))
|
||||
(PRESSDATA 35 FIXP)
|
||||
(PRESSDATA 37 FIXP)
|
||||
(PRESSDATA 39 FIXP)
|
||||
(PRESSDATA 41 FIXP)
|
||||
(PRESSDATA 24 (FLAGBITS . 0))
|
||||
(PRESSDATA 24 (FLAGBITS . 16))
|
||||
(PRESSDATA 35 (BITS . 7))
|
||||
(PRESSDATA 35 (BITS . 135))
|
||||
(PRESSDATA 36 FIXP)
|
||||
(PRESSDATA 38 FIXP)
|
||||
(PRESSDATA 40 FIXP)
|
||||
(PRESSDATA 42 FIXP)
|
||||
(PRESSDATA 28 (FLAGBITS . 0))
|
||||
(PRESSDATA 28 (FLAGBITS . 16))
|
||||
(PRESSDATA 44 POINTER)
|
||||
(PRESSDATA 46 POINTER)
|
||||
(PRESSDATA 48 POINTER)
|
||||
@@ -1238,9 +1226,10 @@ this file.)
|
||||
(PRESSDATA 60 POINTER))
|
||||
'62)
|
||||
)
|
||||
|
||||
(/DECLAREDATATYPE 'PRESSDATA
|
||||
'(POINTER POINTER POINTER POINTER POINTER POINTER POINTER POINTER POINTER POINTER POINTER
|
||||
POINTER POINTER POINTER POINTER WORD WORD WORD WORD WORD BYTE BYTE FIXP FIXP FIXP FIXP
|
||||
POINTER POINTER POINTER POINTER WORD WORD WORD WORD WORD BYTE BYTE FIXP FIXP FIXP FIXP
|
||||
FLAG FLAG POINTER POINTER POINTER POINTER POINTER FLAG POINTER POINTER POINTER POINTER
|
||||
)
|
||||
'((PRESSDATA 0 POINTER)
|
||||
@@ -1263,14 +1252,14 @@ this file.)
|
||||
(PRESSDATA 32 (BITS . 15))
|
||||
(PRESSDATA 33 (BITS . 15))
|
||||
(PRESSDATA 34 (BITS . 15))
|
||||
(PRESSDATA 28 (BITS . 7))
|
||||
(PRESSDATA 26 (BITS . 7))
|
||||
(PRESSDATA 35 FIXP)
|
||||
(PRESSDATA 37 FIXP)
|
||||
(PRESSDATA 39 FIXP)
|
||||
(PRESSDATA 41 FIXP)
|
||||
(PRESSDATA 24 (FLAGBITS . 0))
|
||||
(PRESSDATA 24 (FLAGBITS . 16))
|
||||
(PRESSDATA 35 (BITS . 7))
|
||||
(PRESSDATA 35 (BITS . 135))
|
||||
(PRESSDATA 36 FIXP)
|
||||
(PRESSDATA 38 FIXP)
|
||||
(PRESSDATA 40 FIXP)
|
||||
(PRESSDATA 42 FIXP)
|
||||
(PRESSDATA 28 (FLAGBITS . 0))
|
||||
(PRESSDATA 28 (FLAGBITS . 16))
|
||||
(PRESSDATA 44 POINTER)
|
||||
(PRESSDATA 46 POINTER)
|
||||
(PRESSDATA 48 POINTER)
|
||||
@@ -1282,9 +1271,9 @@ this file.)
|
||||
(PRESSDATA 58 POINTER)
|
||||
(PRESSDATA 60 POINTER))
|
||||
'62)
|
||||
(* * NSTOASCIITRANSLATIONS is a list with elements of the form (charset translationArrayName) %,
|
||||
where translationArrayName is bound to a translation array for charset which contains (fontFamily
|
||||
charcode) lists)
|
||||
(* * NSTOASCIITRANSLATIONS is a list with elements of the form (charset translationArrayName) %, where
|
||||
translationArrayName is bound to a translation array for charset which contains (fontFamily charcode)
|
||||
lists)
|
||||
|
||||
(DEFINEQ
|
||||
|
||||
@@ -1322,24 +1311,26 @@ charcode) lists)
|
||||
)
|
||||
|
||||
(RPAQ? PRESSFONTFAMILIES '((GACHA)
|
||||
(TIMESROMAN)
|
||||
(HELVETICA)
|
||||
(SYMBOL)
|
||||
(MATH)
|
||||
(HIPPO)
|
||||
(CYRILLIC)
|
||||
(NEWVEC)
|
||||
(SNEWVEC)
|
||||
(HNEWVEC)
|
||||
(VNEWVEC)))
|
||||
(TIMESROMAN)
|
||||
(HELVETICA)
|
||||
(SYMBOL)
|
||||
(MATH)
|
||||
(HIPPO)
|
||||
(CYRILLIC)
|
||||
(NEWVEC)
|
||||
(SNEWVEC)
|
||||
(HNEWVEC)
|
||||
(VNEWVEC)))
|
||||
|
||||
(RPAQ? NSTOASCIITRANSLATIONS )
|
||||
|
||||
(ADDTOVAR NSTOASCIITRANSLATIONS (0 ASCIIFROM0ARRAY)
|
||||
(38 ASCIIFROM38ARRAY)
|
||||
(39 ASCIIFROM39ARRAY)
|
||||
(239 ASCIIFROM239ARRAY))
|
||||
(READVARS-FROM-STRINGS '(ASCIIFROM0ARRAY ASCIIFROM38ARRAY ASCIIFROM39ARRAY ASCIIFROM239ARRAY) "({Y256 POINTER 0 {R163 NIL} (SYMBOL 126) (SYMBOL 127) NIL NIL (SYMBOL 120) NIL 96 NIL NIL (SYMBOL
|
||||
(38 ASCIIFROM38ARRAY)
|
||||
(39 ASCIIFROM39ARRAY)
|
||||
(239 ASCIIFROM239ARRAY))
|
||||
|
||||
(READVARS-FROM-STRINGS '(ASCIIFROM0ARRAY ASCIIFROM38ARRAY ASCIIFROM39ARRAY ASCIIFROM239ARRAY)
|
||||
"({Y256 POINTER 0 {R163 NIL} (SYMBOL 126) (SYMBOL 127) NIL NIL (SYMBOL 120) NIL 96 NIL NIL (SYMBOL
|
||||
55) (SYMBOL 34) (SYMBOL 33) (SYMBOL 35) NIL (SYMBOL 6) NIL NIL (SYMBOL 2) NIL (SYMBOL 123) NIL
|
||||
(SYMBOL 13) 39 {R25 NIL} (SYMBOL 125) {R44 NIL} } {Y256 POINTER 0 (HIPPO 118) {R64 NIL} (HIPPO 65)
|
||||
(HIPPO 66) NIL (HIPPO 71) (HIPPO 68) (HIPPO 69) NIL NIL (HIPPO 90) (HIPPO 72) (HIPPO 81) (
|
||||
@@ -1372,24 +1363,25 @@ MATH 7) (SYMBOL 39) NIL (SYMBOL 25) (MATH 19) (MATH 1) (SYMBOL 112) (SYMBO
|
||||
SYMBOL 59) {R6 NIL} (MATH 82) NIL (SYMBOL 100) (SYMBOL 101) (SYMBOL 98) (SYMBOL 99) (SYMBOL 57)
|
||||
(SYMBOL 56) (SYMBOL 94) (SYMBOL 95) (MATH 90) (MATH 68) (MATH 100) {R69 NIL} })
|
||||
")
|
||||
(\SMASHPRESSFONTS)
|
||||
|
||||
(\SMASHPRESSFONTS)
|
||||
(DECLARE%: DONTCOPY
|
||||
(DECLARE%: EVAL@COMPILE
|
||||
|
||||
(RPAQQ unknownCharTranslation (MATH 59))
|
||||
|
||||
|
||||
[CONSTANTS (unknownCharTranslation '(MATH 59]
|
||||
)
|
||||
)
|
||||
(PUTPROPS PRESSFROMNS COPYRIGHT ("Xerox Corporation" 1986 1988))
|
||||
(DECLARE%: DONTCOPY
|
||||
(FILEMAP (NIL (3994 4370 (\SMASHPRESSFONTS 4004 . 4368)) (4371 8600 (GETCHARPRESSTRANSLATION 4381 .
|
||||
5419) (PRESS.NSARRAY 5421 . 6744) (PUTCHARPRESSTRANSLATION 6746 . 8598)) (8601 19311 (\DSPFONT.PRESS
|
||||
8611 . 10062) (\DSPSPACEFACTOR.PRESS 10064 . 10916) (\ENTITYSTART.PRESS 10918 . 12640) (
|
||||
\SETSPACE.PRESS 12642 . 13344) (\STARTPAGE.PRESS 13346 . 15454) (\PRESS.COERCEFONT 15456 . 16922) (
|
||||
\DSPFONT.PRESSFONT 16924 . 18298) (SETUPFONTS.PRESS 18300 . 19309)) (19312 41000 (\CREATEPRESSFONT
|
||||
19322 . 20520) (\CREATECHARSET.PRESS 20522 . 25622) (\CREATECHARSETZERO.PRESS 25624 . 40998)) (41001
|
||||
55544 (\PRESSCURVE2 41011 . 55542)) (55624 59376 (\COERCEFONT 55634 . 59374)) (60032 65529 (
|
||||
\STRINGWIDTH.PRESS 60042 . 60535) (\CHARWIDTH.PRESS 60537 . 61002) (\OUTCHARFN.PRESS 61004 . 65527)) (
|
||||
75785 76950 (\NSTOASCIIARRAY 75795 . 76147) (\NSTOASCIITRANSLATION 76149 . 76948)))))
|
||||
(FILEMAP (NIL (2898 3274 (\SMASHPRESSFONTS 2908 . 3272)) (3275 8422 (GETCHARPRESSTRANSLATION 3285 .
|
||||
4793) (PRESS.NSARRAY 4795 . 6118) (PUTCHARPRESSTRANSLATION 6120 . 8420)) (8423 19133 (\DSPFONT.PRESS
|
||||
8433 . 9884) (\DSPSPACEFACTOR.PRESS 9886 . 10738) (\ENTITYSTART.PRESS 10740 . 12462) (\SETSPACE.PRESS
|
||||
12464 . 13166) (\STARTPAGE.PRESS 13168 . 15276) (\PRESS.COERCEFONT 15278 . 16744) (\DSPFONT.PRESSFONT
|
||||
16746 . 18120) (SETUPFONTS.PRESS 18122 . 19131)) (19134 40822 (\CREATEPRESSFONT 19144 . 20342) (
|
||||
\CREATECHARSET.PRESS 20344 . 25444) (\CREATECHARSETZERO.PRESS 25446 . 40820)) (40823 55366 (
|
||||
\PRESSCURVE2 40833 . 55364)) (55446 59198 (\COERCEFONT 55456 . 59196)) (59822 65319 (
|
||||
\STRINGWIDTH.PRESS 59832 . 60325) (\CHARWIDTH.PRESS 60327 . 60792) (\OUTCHARFN.PRESS 60794 . 65317)) (
|
||||
74712 75877 (\NSTOASCIIARRAY 74722 . 75074) (\NSTOASCIITRANSLATION 75076 . 75875)))))
|
||||
STOP
|
||||
|
||||
Reference in New Issue
Block a user