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:
BIN
docs/internal/FONTCODECHANGES.tedit
Normal file
BIN
docs/internal/FONTCODECHANGES.tedit
Normal file
Binary file not shown.
BIN
docs/internal/MEDLEYFONTFORMAT.TEDIT
Normal file
BIN
docs/internal/MEDLEYFONTFORMAT.TEDIT
Normal file
Binary file not shown.
BIN
fonts/medleydisplayfonts/GACHA10-MRR.MEDLEYDISPLAYFONT
Normal file
BIN
fonts/medleydisplayfonts/GACHA10-MRR.MEDLEYDISPLAYFONT
Normal file
Binary file not shown.
BIN
fonts/medleydisplayfonts/HELVETICA10-MRR.MEDLEYDISPLAYFONT
Normal file
BIN
fonts/medleydisplayfonts/HELVETICA10-MRR.MEDLEYDISPLAYFONT
Normal file
Binary file not shown.
352
internal/FONT-DEBUG
Normal file
352
internal/FONT-DEBUG
Normal file
@@ -0,0 +1,352 @@
|
||||
(DEFINE-FILE-INFO PACKAGE "INTERLISP" READTABLE "INTERLISP" BASE 10)
|
||||
|
||||
(FILECREATED "19-Jul-2025 16:43:34" {WMEDLEY}<internal>FONT-DEBUG.;46 19345
|
||||
|
||||
:EDIT-BY rmk
|
||||
|
||||
:CHANGES-TO (FNS CSBMSIZE FONTSIZE CSSIZE EQCHARBM)
|
||||
(VARS FONT-DEBUGCOMS)
|
||||
|
||||
:PREVIOUS-DATE "19-Jul-2025 12:36:48" {WMEDLEY}<internal>FONT-DEBUG.;41)
|
||||
|
||||
|
||||
(PRETTYCOMPRINT FONT-DEBUGCOMS)
|
||||
|
||||
(RPAQQ FONT-DEBUGCOMS (
|
||||
(* ;; "Little tools to help in debugging display fonts")
|
||||
|
||||
(FNS DEBUGCHARSET IBM ICS SHOWCACHE SHOWCSBITMAP EQCSBM EQCHARBM CHARSETCHARS
|
||||
CHARBMDIFFS SHOWCSCHAR CSCOMPARE SHOWBMS SHOWCHARBITMAPS CANDS)
|
||||
(FNS FONTSIZE CSSIZE CSBMSIZE)))
|
||||
|
||||
|
||||
|
||||
(* ;; "Little tools to help in debugging display fonts")
|
||||
|
||||
(DEFINEQ
|
||||
|
||||
(DEBUGCHARSET
|
||||
[LAMBDA (FONTSPEC CHARSET INCLUDEMEDLEYFONT) (* ; "Edited 9-Jul-2025 16:26 by rmk")
|
||||
(* ; "Edited 6-Jul-2025 22:33 by rmk")
|
||||
(* ; "Edited 2-Jul-2025 16:50 by rmk")
|
||||
(* ; "Edited 30-Jun-2025 09:27 by rmk")
|
||||
(* ; "Edited 25-Jun-2025 19:25 by rmk")
|
||||
(* ; "Edited 20-Jun-2025 16:37 by rmk")
|
||||
|
||||
(* ;; "Reads the CHARSETINFO for FONTSPEC and CHARSET, where FONTSPEC can be a (family size...) specification or the name of a fontfile (ac, strike, medleyfont format). Avoids the MEDLEYFONT files if NOTMEDLEYFONT.")
|
||||
|
||||
(if (type? CHARSETINFO FONTSPEC)
|
||||
then FONTSPEC
|
||||
elseif (type? FONTDESCRIPTOR FONTSPEC)
|
||||
then (\XGETCHARSETINFO FONTSPEC (OR CHARSET 0))
|
||||
else (RESETLST
|
||||
(CL:UNLESS INCLUDEMEDLEYFONT
|
||||
(RESETSAVE DISPLAYFONTEXTENSIONS (REMOVE 'MEDLEYDISPLAYFONT DISPLAYFONTEXTENSIONS)
|
||||
))
|
||||
[if (OR (LITATOM FONTSPEC)
|
||||
(STRINGP FONTSPEC))
|
||||
then (CL:UNLESS CHARSET (SETQ CHARSET 0))
|
||||
(LET (STRM)
|
||||
[RESETSAVE (SETQ STRM (OPENSTREAM FONTSPEC 'INPUT))
|
||||
`(PROGN (CLOSEF? OLDVALUE]
|
||||
(for FNS CSINFO (FI _ (\FONTINFOFROMFILENAME FONTSPEC 'DISPLAY))
|
||||
in DISPLAYCHARSETFNS
|
||||
do (CL:WHEN (CAR (NLSETQ (APPLY* (CADR FNS)
|
||||
STRM)))
|
||||
(SETQ CSINFO (APPLY* (CADDR FNS)
|
||||
STRM
|
||||
(CAR FI)
|
||||
(CADR FI)
|
||||
(CADDR FI)
|
||||
(CADDDR FI)
|
||||
(CAR (CDDDDR FI))
|
||||
CHARSET))
|
||||
(PUTMULTI (fetch (CHARSETINFO CSINFOPROPS) of CSINFO)
|
||||
'FILE
|
||||
(PSEUDOFILENAME FONTSPEC))
|
||||
(RETURN CSINFO))
|
||||
(CLOSEF? STRM)))
|
||||
else (LET ((CS CHARSET))
|
||||
(CL:MULTIPLE-VALUE-BIND (FAMILY SIZE FACE ROTATION DEVICE CHARSET)
|
||||
(\FONT.CHECKARGS FONTSPEC)
|
||||
(CL:WHEN CS (SETQ CHARSET CS))
|
||||
(\READCHARSET FAMILY SIZE FACE ROTATION 'DISPLAY CHARSET])])
|
||||
|
||||
(IBM
|
||||
[LAMBDA (FONT CHARSET) (* ; "Edited 29-Jun-2025 17:05 by rmk")
|
||||
(* ; "Edited 20-Jun-2025 16:35 by rmk")
|
||||
(* ; "Edited 18-Jun-2025 14:09 by rmk")
|
||||
|
||||
(* ;; "Inspects the character set bitmap for CHARSET in FONT, which may also be a charset info. If necessary, builds the font (unlike ICS).")
|
||||
|
||||
(SHOWCSBITMAP (if (type? CHARSETINFO FONT)
|
||||
then FONT
|
||||
else (\XGETCHARSETINFO (SETQ FONT (FONTCREATE FONT))
|
||||
(OR CHARSET 0])
|
||||
|
||||
(ICS
|
||||
[LAMBDA (FONT CHARSET INCLUDEMEDLEYFONT) (* ; "Edited 7-Jul-2025 23:12 by rmk")
|
||||
(* ; "Edited 6-Jul-2025 22:04 by rmk")
|
||||
(* ; "Edited 2-Jul-2025 16:11 by rmk")
|
||||
(* ; "Edited 29-Jun-2025 17:07 by rmk")
|
||||
(* ; "Edited 21-Jun-2025 22:00 by rmk")
|
||||
(* ; "Edited 20-Jun-2025 17:10 by rmk")
|
||||
(* ; "Edited 18-Jun-2025 14:23 by rmk")
|
||||
|
||||
(* ;; "Inspects the charset bitmap for CHARSET in FONT. If FONT is a filename, gets the csinfo directly from the file, doesn't build the font.")
|
||||
|
||||
(LET ((CSINFO (DEBUGCHARSET FONT CHARSET INCLUDEMEDLEYFONT)))
|
||||
(if CSINFO
|
||||
then (INSPECT CSINFO)
|
||||
(SHOWCSBITMAP CSINFO)
|
||||
(LIST (GETMULTI (fetch (CHARSETINFO CSINFOPROPS) of CSINFO)
|
||||
'FILE)
|
||||
CSINFO)
|
||||
else "NO CSINFO"])
|
||||
|
||||
(SHOWCACHE
|
||||
[LAMBDA NIL (* ; "Edited 29-Jun-2025 17:19 by rmk")
|
||||
(* ; "Edited 18-Jun-2025 22:50 by rmk")
|
||||
|
||||
(* ;; "Keyboard shortcut to show the current caches")
|
||||
|
||||
(DV \FONTSINCORE)
|
||||
(DV \FONTEXISTS?-CACHE])
|
||||
|
||||
(SHOWCSBITMAP
|
||||
[LAMBDA (CSINFO) (* ; "Edited 29-Jun-2025 17:07 by rmk")
|
||||
(* ; "Edited 20-Jun-2025 16:38 by rmk")
|
||||
|
||||
(* ;; "Given a charsetinfo, shows the whole bitmap using EDITBM. Unfortunately, that runs in a separate process, so we can't directly get the window to put something useful in the title. If EDITBM is called directly, it doen't return until you quit...in which case it's gone. We'd really like just the displayer.")
|
||||
|
||||
(* ;; "If we call the inspector, it asks for contents vs. fields, also a pain, and we still don't get the window.")
|
||||
|
||||
(LET (BM)
|
||||
(if (NOT CSINFO)
|
||||
then (PRINTOUT T "NO CSINFO" T)
|
||||
elseif (AND (IGREATERP (BITMAPWIDTH (SETQ BM (fetch CHARSETBITMAP of CSINFO)))
|
||||
0)
|
||||
(IGREATERP (BITMAPHEIGHT BM)
|
||||
0))
|
||||
then (EVAL.AS.PROCESS (LIST 'EDITBM BM))
|
||||
else "EMPTY BITMAP")
|
||||
CSINFO])
|
||||
|
||||
(EQCSBM
|
||||
[LAMBDA (CS1 CS2 CHARSET INCLUDEMEDLEYFONT) (* ; "Edited 6-Jul-2025 22:04 by rmk")
|
||||
(* ; "Edited 2-Jul-2025 16:12 by rmk")
|
||||
(* ; "Edited 29-Jun-2025 17:52 by rmk")
|
||||
(* ; "Edited 21-Jun-2025 21:20 by rmk")
|
||||
|
||||
(* ;; "True if the two charsetinfos are equivalent in all respects. If either of CS1 or CS2 is a fontdescriptor (not a charsetinfo), then coerces to CHARSET in that font.")
|
||||
|
||||
(SETQ CS1 (DEBUGCHARSET CS1 CHARSET INCLUDEMEDLEYFONT))
|
||||
(SETQ CS2 (DEBUGCHARSET CS2 CHARSETINCLUDEMEDLEYFONT))
|
||||
(EQUALALL (fetch (CHARSETINFO CHARSETBITMAP) of CS1)
|
||||
(fetch (CHARSETINFO CHARSETBITMAP) of CS2])
|
||||
|
||||
(EQCHARBM
|
||||
[LAMBDA (CHAR1 CHAR2 CS1 CS2 EXCLUDEMEDLEYFONT) (* ; "Edited 19-Jul-2025 12:46 by rmk")
|
||||
|
||||
(* ;;
|
||||
"True if the character bitmap for CHAR1 in CS1 is equivalent to the bitmap for CHAR2 in CS2. ")
|
||||
|
||||
(CL:UNLESS (CHARCODEP CHAR1)
|
||||
(SETQ CHAR1 (CHARCODE.DECODE CHAR1)))
|
||||
(CL:UNLESS (CHARCODEP CHAR2)
|
||||
(SETQ CHAR2 (CHARCODE.DECODE CHAR2)))
|
||||
(SETQ CS1 (DEBUGCHARSET CS1 (\CHARSET CHAR1)
|
||||
(NOT EXCLUDEMEDLEYFONT)))
|
||||
(SETQ CS2 (DEBUGCHARSET CS2 (\CHARSET CHAR2)
|
||||
(NOT EXCLUDEMEDLEYFONT)))
|
||||
(EQUALALL (\GETCHARBITMAP.CSINFO (\CHAR8CODE CHAR1)
|
||||
CS1)
|
||||
(\GETCHARBITMAP.CSINFO (\CHAR8CODE CHAR2)
|
||||
CS2])
|
||||
|
||||
(CHARSETCHARS
|
||||
[LAMBDA (CSINFO CHARSET INCLUDEMEDLEYFONT) (* ; "Edited 6-Jul-2025 22:04 by rmk")
|
||||
(* ; "Edited 2-Jul-2025 16:12 by rmk")
|
||||
(* ; "Edited 29-Jun-2025 17:52 by rmk")
|
||||
|
||||
(* ;; "Returns a list of character codes that are instantiated in CSINFO (which may be specified as a font/charset combination).")
|
||||
|
||||
(SETQ CSINFO (DEBUGCHARSET CSINFO CHARSET INCLUDEMEDLEYFONT))
|
||||
(for CODE from 0 to \MAXTHINCHAR unless (SLUGCHARP.DISPLAY CODE CSINFO) collect CODE])
|
||||
|
||||
(CHARBMDIFFS
|
||||
[LAMBDA (CS1 CS2 CHARSET INCLUDEMEDLEYFONT) (* ; "Edited 6-Jul-2025 22:04 by rmk")
|
||||
(* ; "Edited 2-Jul-2025 16:12 by rmk")
|
||||
(* ; "Edited 29-Jun-2025 17:51 by rmk")
|
||||
|
||||
(* ;;
|
||||
"Returns the codes whose bitmaps in CS1 and CS2 differ in some way. Use EDITCHAR to view them.")
|
||||
|
||||
(SETQ CS1 (DEBUGCHARSET CS1 CHARSET INCLUDEMEDLEYFONT))
|
||||
(SETQ CS2 (DEBUGCHARSET CS2 CHARSET INCLUDEMEDLEYFONT))
|
||||
(for CODE in (INTERSECTION (CHARSETCHARS CS1)
|
||||
(CHARSETCHARS CS2)) unless (EQUALALL (\GETCHARBITMAP.CSINFO CODE CS1)
|
||||
(\GETCHARBITMAP.CSINFO CODE CS2))
|
||||
collect CODE])
|
||||
|
||||
(SHOWCSCHAR
|
||||
[LAMBDA (CODE CSINFO CHARSET INCLUDEMEDLEYFONT) (* ; "Edited 6-Jul-2025 22:04 by rmk")
|
||||
(* ; "Edited 2-Jul-2025 16:12 by rmk")
|
||||
(* ; "Edited 29-Jun-2025 18:01 by rmk")
|
||||
(EDITBM (\GETCHARBITMAP.CSINFO CODE (DEBUGCHARSET CSINFO CHARSET INCLUDEMEDLEYFONT])
|
||||
|
||||
(CSCOMPARE
|
||||
[LAMBDA (CS1 CS2 CHARSET INCLUDEMEDLEYFONT) (* ; "Edited 6-Jul-2025 22:04 by rmk")
|
||||
(* ; "Edited 2-Jul-2025 16:13 by rmk")
|
||||
(* ; "Edited 30-Jun-2025 14:02 by rmk")
|
||||
(CL:UNLESS CS2
|
||||
(CL:WHEN (OR (LITATOM CS1)
|
||||
(STRINGP CS1))
|
||||
(SETQ CS2 (\FONTINFOFROMFILENAME CS1 'DISPLAY))
|
||||
[if CHARSET
|
||||
then (CL:UNLESS (EQ CHARSET (CAR (LAST CS2)))
|
||||
(ERROR "MISMATCHING CHARSETS"))
|
||||
else (SETQ CHARSET (CAR (LAST CS2]))
|
||||
(SETQ CS1 (OR (DEBUGCHARSET CS1 CHARSET INCLUDEMEDLEYFONT)
|
||||
(ERROR CS1 "not found")))
|
||||
(SETQ CS2 (OR (DEBUGCHARSET CS2 CHARSET INCLUDEMEDLEYFONT)
|
||||
(ERROR CS2 "not found")))
|
||||
(LET ((CS1CHARS (CHARSETCHARS CS1))
|
||||
(CS2CHARS (CHARSETCHARS CS2))
|
||||
(ASCENT1 (fetch (CHARSETINFO CHARSETASCENT) of CS1))
|
||||
(ASCENT2 (fetch (CHARSETINFO CHARSETASCENT) of CS2))
|
||||
(DESCENT1 (fetch (CHARSETINFO CHARSETDESCENT) of CS1))
|
||||
(DESCENT2 (fetch (CHARSETINFO CHARSETDESCENT) of CS2))
|
||||
DIFF)
|
||||
(if (EQ ASCENT1 ASCENT2)
|
||||
then (PRINTOUT T "Same ascent = " .I2 ASCENT1 T)
|
||||
else (PRINTOUT T " Ascent1 = " .I2 ASCENT1 " Ascent2 = " .I2 ASCENT2 T))
|
||||
(if (EQ DESCENT1 DESCENT2)
|
||||
then (PRINTOUT T "Same descent = " .I2 DESCENT1 T)
|
||||
else (PRINTOUT T "Descent1 = " .I2 DESCENT1 " Descent2 = " .I2 DESCENT2 T))
|
||||
(PRINTOUT T "Common chars:" 14 .PPV (SORT (INTERSECTION CS1CHARS CS2CHARS))
|
||||
T)
|
||||
(SETQ DIFF (SORT (CHARBMDIFFS CS1 CS2)))
|
||||
(if (NULL DIFF)
|
||||
then (PRINTOUT T 5 "All common chars have the SAME bitmaps" T)
|
||||
elseif (EQUAL DIFF (SORT (INTERSECTION CS1CHARS CS2CHARS)))
|
||||
then (PRINTOUT T 5 "All common chars have DIFFERENT bitmaps" T)
|
||||
else (PRINTOUT T 5 "Common chars with different bitmaps: " .PPV DIFF T))
|
||||
(CL:WHEN (SETQ DIFF (LDIFFERENCE CS1CHARS CS2CHARS))
|
||||
(PRINTOUT T "1 but not 2:" 14 .PPV (SORT (LDIFFERENCE CS1CHARS CS2CHARS))
|
||||
T))
|
||||
(CL:WHEN (SETQ DIFF (LDIFFERENCE CS2CHARS CS1CHARS))
|
||||
(PRINTOUT T "2 but not 1:" 14 .PPV (SORT (LDIFFERENCE CS2CHARS CS1CHARS))
|
||||
T))
|
||||
(LIST CS1 CS2])
|
||||
|
||||
(SHOWBMS
|
||||
[LAMBDA (CHARSETINFOS) (* ; "Edited 30-Jun-2025 08:47 by rmk")
|
||||
(for CS in CHARSETINFOS do (ICS CS])
|
||||
|
||||
(SHOWCHARBITMAPS
|
||||
[LAMBDA (CODE CSINFOS CHARSET INCLUDEMEDLEYFONT CLOSEPREVIOUS)
|
||||
(* ; "Edited 6-Jul-2025 22:04 by rmk")
|
||||
(* ; "Edited 2-Jul-2025 11:48 by rmk")
|
||||
(* ; "Edited 20-Jun-2025 16:38 by rmk")
|
||||
|
||||
(* ;; "Shows the bitmap for CODE in each of the CSINFOS")
|
||||
|
||||
(* ;; "If we call the inspector directly, it asks for contents vs. fields, also a pain, and we still don't get our hands on the window.")
|
||||
|
||||
[SETQ CSINFOS (for CS inside CSINFOS collect (OR (DEBUGCHARSET CS CHARSET INCLUDEMEDLEYFONT)
|
||||
(ERROR CS "not found"]
|
||||
(CL:WHEN CLOSEPREVIOUS
|
||||
(for W in (OPENWINDOWS) when (EQ 'EDITBMREPAINTFN (WINDOWPROP W 'REPAINTFN))
|
||||
do (CLOSEW W)))
|
||||
(if (CHARCODEP CODE)
|
||||
then (for CS BM in CSINFOS do (SETQ BM (\GETCHARBITMAP.CSINFO CODE CS))
|
||||
(if (AND (IGREATERP (BITMAPWIDTH BM)
|
||||
0)
|
||||
(IGREATERP (BITMAPHEIGHT BM)
|
||||
0))
|
||||
then (EVAL.AS.PROCESS (LIST 'EDITBM BM))
|
||||
else "EMPTY BITMAP"))
|
||||
else (for CS in CSINFOS do (SHOWCSBITMAP CS])
|
||||
|
||||
(CANDS
|
||||
[LAMBDA (CS1 CS2 CHARSET INCLUDEMEDLEYFONT) (* ; "Edited 2-Jul-2025 11:47 by rmk")
|
||||
|
||||
(* ;; "Wraps comparing and showing, closes previous bitmap windows")
|
||||
|
||||
(LET ((CINFOS (CSCOMPARE CS1 CS2 CHARSET INCLUDEMEDLEYFONT)))
|
||||
(SHOWCHARBITMAPS NIL CINFOS CHARSET INCLUDEMEDLEYFONT T)
|
||||
CINFOS])
|
||||
)
|
||||
(DEFINEQ
|
||||
|
||||
(FONTSIZE
|
||||
[LAMBDA (FONT CHARSETS FILETOO NOERROR) (* ; "Edited 19-Jul-2025 16:42 by rmk")
|
||||
(SETQ FONT (FONTCREATE FONT NIL NIL NIL 'DISPLAY NOERROR))
|
||||
(CL:UNLESS CHARSETS
|
||||
(SETQ CHARSETS (for CS CSINFO BM from 0 to 255 when (SETQ CSINFO (\XGETCHARSETINFO FONT CS))
|
||||
unless (fetch (CHARSETINFO CSSLUGP) of CSINFO) collect CS)))
|
||||
(PRINTOUT T "Charsets: ")
|
||||
(for CS CSINFO inside CHARSETS sum (PRINTOUT T CS " ")
|
||||
(CSSIZE (\XGETCHARSETINFO FONT CS)
|
||||
T) finally (PRINTOUT T T])
|
||||
|
||||
(CSSIZE
|
||||
[LAMBDA (CSINFO INCLUDEBM) (* ; "Edited 19-Jul-2025 16:37 by rmk")
|
||||
|
||||
(* ;; "Returns")
|
||||
|
||||
(LET ((BLOCKSIZE (UNFOLD (IPLUS \MAXCHARSET 3)
|
||||
2))
|
||||
BM)
|
||||
(IPLUS (CL:IF (fetch (CHARSETINFO OFFSETS) of CSINFO)
|
||||
BLOCKSIZE
|
||||
0)
|
||||
(CL:IF (fetch (CHARSETINFO WIDTHS) of CSINFO)
|
||||
BLOCKSIZE
|
||||
0)
|
||||
(CL:IF (AND (NEQ (fetch (CHARSETINFO WIDTHS) of CSINFO)
|
||||
(fetch (CHARSETINFO IMAGEWIDTHS) of CSINFO))
|
||||
(fetch (CHARSETINFO IMAGEWIDTHS) of CSINFO))
|
||||
BLOCKSIZE
|
||||
0)
|
||||
(CL:IF (fetch (CHARSETINFO YWIDTHS) of CSINFO)
|
||||
BLOCKSIZE
|
||||
0)
|
||||
(CL:IF (ARRAYP (fetch (CHARSETINFO LEFTKERN) of CSINFO))
|
||||
(UNFOLD (ARRAYSIZE (fetch (CHARSETINFO LEFTKERN) of CSINFO))
|
||||
4)
|
||||
0)
|
||||
(CL:IF (AND INCLUDEBM (SETQ BM (fetch (CHARSETINFO CHARSETBITMAP) of CSINFO)))
|
||||
(IQUOTIENT (ITIMES (BITMAPWIDTH BM)
|
||||
(BITMAPHEIGHT BM))
|
||||
8)
|
||||
0)])
|
||||
|
||||
(CSBMSIZE
|
||||
[LAMBDA (FONT CHARSETS FILETOO NOERROR) (* ; "Edited 19-Jul-2025 16:14 by rmk")
|
||||
(* ; "Edited 17-Jul-2025 13:23 by rmk")
|
||||
|
||||
(* ;; "Returns the number of bytes in the CHARSET bitmap for FONT, what's in core unless FILETOO")
|
||||
|
||||
(if (SETQ FONT (FONTCREATE FONT NIL NIL NIL 'DISPLAY NOERROR))
|
||||
then (CL:UNLESS CHARSETS
|
||||
(SETQ CHARSETS (for CS CSINFO BM from 0 to 255 when (SETQ CSINFO (\XGETCHARSETINFO
|
||||
FONT CS))
|
||||
unless (fetch (CHARSETINFO CSSLUGP) of CSINFO) collect CS)))
|
||||
(PRINTOUT T "Charsets: ")
|
||||
(for CS CSINFO BM inside CHARSETS sum (PRINTOUT T CS " ")
|
||||
(SETQ BM (fetch (CHARSETINFO CHARSETBITMAP)
|
||||
of (\XGETCHARSETINFO FONT CS)))
|
||||
(IQUOTIENT (ITIMES (BITMAPWIDTH BM)
|
||||
(BITMAPHEIGHT BM))
|
||||
8) finally (PRINTOUT T T))
|
||||
else 0])
|
||||
)
|
||||
(DECLARE%: DONTCOPY
|
||||
(FILEMAP (NIL (818 15839 (DEBUGCHARSET 828 . 4007) (IBM 4009 . 4717) (ICS 4719 . 6013) (SHOWCACHE 6015
|
||||
. 6362) (SHOWCSBITMAP 6364 . 7478) (EQCSBM 7480 . 8366) (EQCHARBM 8368 . 9129) (CHARSETCHARS 9131 .
|
||||
9797) (CHARBMDIFFS 9799 . 10675) (SHOWCSCHAR 10677 . 11112) (CSCOMPARE 11114 . 13706) (SHOWBMS 13708
|
||||
. 13886) (SHOWCHARBITMAPS 13888 . 15479) (CANDS 15481 . 15837)) (15840 19322 (FONTSIZE 15850 . 16535)
|
||||
(CSSIZE 16537 . 17946) (CSBMSIZE 17948 . 19320)))))
|
||||
STOP
|
||||
BIN
internal/FONT-DEBUG.LCOM
Normal file
BIN
internal/FONT-DEBUG.LCOM
Normal file
Binary file not shown.
@@ -1,13 +1,12 @@
|
||||
(DEFINE-FILE-INFO PACKAGE "INTERLISP" READTABLE "INTERLISP" BASE 10)
|
||||
|
||||
(FILECREATED "23-Apr-2025 05:14:27" {DSK}<home>larry>il>medley>internal>loadups>LOADUP-FULL.;2 4662
|
||||
(FILECREATED "13-Jul-2025 11:41:03" {WMEDLEY}<internal>loadups>LOADUP-FULL.;28 5184
|
||||
|
||||
:EDIT-BY "lmm"
|
||||
:EDIT-BY rmk
|
||||
|
||||
:CHANGES-TO (FNS LOADFULLFONTS)
|
||||
|
||||
:PREVIOUS-DATE "31-Jul-2023 18:28:53" {DSK}<home>larry>il>medley>internal>loadups>LOADUP-FULL.;1
|
||||
)
|
||||
:PREVIOUS-DATE "30-Jun-2025 00:04:34" {WMEDLEY}<internal>loadups>LOADUP-FULL.;27)
|
||||
|
||||
|
||||
(PRETTYCOMPRINT LOADUP-FULLCOMS)
|
||||
@@ -17,32 +16,37 @@
|
||||
(DEFINEQ
|
||||
|
||||
(LOADFULLFONTS
|
||||
[LAMBDA NIL (* ; "Edited 23-Apr-2025 05:13 by lmm")
|
||||
[LAMBDA NIL (* ; "Edited 13-Jul-2025 11:40 by rmk")
|
||||
(* ; "Edited 30-Jun-2025 00:04 by rmk")
|
||||
(* ; "Edited 20-Jun-2025 11:16 by rmk")
|
||||
(* ; "Edited 16-Jun-2025 15:34 by rmk")
|
||||
(* ; "Edited 23-Apr-2025 05:13 by lmm")
|
||||
(* ; "Edited 13-Feb-2021 22:51 by larry")
|
||||
|
||||
(* ;; " Don't do Interpress. Do character set 0 and the symbol character sets 41Q, 42Q, 356Q, 357Q and extended and accented Latin 43Q and 361Q")
|
||||
|
||||
(PRINTOUT T "Loading FULL fonts..." T)
|
||||
(SETQ DISPLAYFONTEXTENSIONS '(DISPLAYFONT STRIKE))
|
||||
(SETQ *POSTSCRIPT-FILE-TYPE* 'TEXT)
|
||||
(RESETVARS ((MISSINGDISPLAYFONTCOERCIONS NIL)
|
||||
(MISSINGCHARSETDISPLAYFONTCOERCIONS NIL)) (* ;
|
||||
"Don't let the font loader substitute just because a server went catatonic on us")
|
||||
(for FAMILY in '(CLASSIC MODERN TERMINAL)
|
||||
do (PRINTOUT T " Loading " FAMILY " ")
|
||||
[for SIZE in '(8 10 12)
|
||||
do (PRINTOUT T SIZE " ")
|
||||
(for FACE in '(MRR BRR MIR)
|
||||
do (for CSET in '(0 33 34 35 238 239 241)
|
||||
do (NLSETQ (FONTCREATE FAMILY SIZE FACE NIL 'DISPLAY NIL CSET]
|
||||
(PRINTOUT T T))
|
||||
(PRINTOUT T " Loading postscript fonts" T)
|
||||
(for F in (FILDIR (CONCAT (CAR POSTSCRIPTFONTDIRECTORIES)
|
||||
">c0>*.PSCFONT")) do (PSCFONT.READFONT F))
|
||||
(PRINTOUT T "FULL fonts loaded" T])
|
||||
|
||||
(* ;; "Previous code reset the coercion variables to NIL, which would have resulted in glyph-incomplete charsets. With Medley-formatted fonts, the completions have already been installed in the files and there is no need to deal with those variables.")
|
||||
|
||||
(for FAMILY in '(CLASSIC MODERN TERMINAL)
|
||||
do (PRINTOUT T " Loading " FAMILY " ")
|
||||
[for SIZE in '(8 10 12)
|
||||
do (PRINTOUT T SIZE " ")
|
||||
(for FACE in '(MRR BRR MIR)
|
||||
do (FONTCREATE FAMILY SIZE FACE 0 'DISPLAY NIL 0)
|
||||
(for CSET in '(33 34 35 238 239 241)
|
||||
do (NLSETQ (FONTCREATE FAMILY SIZE FACE 0 'DISPLAY NIL CSET]
|
||||
(PRINTOUT T T))
|
||||
(PRINTOUT T " Loading postscript fonts" T)
|
||||
(for F in (FILDIR (CONCAT (CAR POSTSCRIPTFONTDIRECTORIES)
|
||||
">c0>*.PSCFONT")) do (PSCFONT.READFONT F))
|
||||
(PRINTOUT T "FULL fonts loaded" T])
|
||||
|
||||
(LOADUP-FULL
|
||||
[LAMBDA (DRIBBLEFILE) (* ; "Edited 18-Jan-2023 16:22 by FGH")
|
||||
[LAMBDA (DRIBBLEFILE) (* ; "Edited 21-Jun-2025 23:33 by rmk")
|
||||
(* ; "Edited 18-Jan-2023 16:22 by FGH")
|
||||
(* ; "Edited 12-Aug-2022 11:17 by lmm")
|
||||
(* ; "Edited 14-Jul-2022 12:32 by rmk")
|
||||
(* ; "Edited 12-Jul-2022 21:57 by rmk")
|
||||
@@ -67,6 +71,7 @@
|
||||
" while connected to "
|
||||
(DIRECTORYNAME T)
|
||||
T T)
|
||||
(LOADUP '(MULTI-ALIST)) (* ; "For FONTSAVAILABLE lookup")
|
||||
(LOADUP '(POSTSCRIPTSTREAM)) (* ; " to get PSCFONT.READFONT")
|
||||
(LOADFULLFONTS)
|
||||
(LISTPUT IDLE.PROFILE 'TIMEOUT 0)
|
||||
@@ -89,5 +94,5 @@
|
||||
|
||||
(FIXMETA)
|
||||
(DECLARE%: DONTCOPY
|
||||
(FILEMAP (NIL (493 4624 (LOADFULLFONTS 503 . 2059) (LOADUP-FULL 2061 . 4374) (FIXMETA 4376 . 4622)))))
|
||||
(FILEMAP (NIL (458 5146 (LOADFULLFONTS 468 . 2373) (LOADUP-FULL 2375 . 4896) (FIXMETA 4898 . 5144)))))
|
||||
STOP
|
||||
|
||||
Binary file not shown.
@@ -1,13 +1,12 @@
|
||||
(DEFINE-FILE-INFO PACKAGE "INTERLISP" READTABLE "XCL" BASE 10)
|
||||
|
||||
(FILECREATED "21-Mar-2024 10:56:13" |{DSK}<home>larry>il>medley>internal>loadups>LOADUP-LISP.;4| 5586
|
||||
(FILECREATED "15-Jun-2025 14:39:57" |{WMEDLEY}<internal>loadups>LOADUP-LISP.;20| 6425
|
||||
|
||||
:EDIT-BY "lmm"
|
||||
:EDIT-BY |rmk|
|
||||
|
||||
:CHANGES-TO (FNS LOADUP-LISP)
|
||||
|
||||
:PREVIOUS-DATE "14-Mar-2024 12:16:33"
|
||||
|{DSK}<home>larry>il>medley>internal>loadups>LOADUP-LISP.;3|)
|
||||
:PREVIOUS-DATE "24-May-2025 10:20:14" |{WMEDLEY}<internal>loadups>LOADUP-LISP.;14|)
|
||||
|
||||
|
||||
(PRETTYCOMPRINT LOADUP-LISPCOMS)
|
||||
@@ -20,7 +19,12 @@
|
||||
(DEFINEQ
|
||||
|
||||
(LOADUP-LISP
|
||||
(LAMBDA (DRIBBLEFILE) (* \; "Edited 21-Mar-2024 10:55 by lmm")
|
||||
(LAMBDA (DRIBBLEFILE) (* \; "Edited 15-Jun-2025 14:39 by rmk")
|
||||
(* \; "Edited 24-May-2025 10:20 by rmk")
|
||||
(* \; "Edited 21-May-2025 09:25 by rmk")
|
||||
(* \; "Edited 5-May-2025 21:25 by rmk")
|
||||
(* \; "Edited 2-May-2025 22:12 by rmk")
|
||||
(* \; "Edited 21-Mar-2024 10:55 by lmm")
|
||||
(* \; "Edited 14-Mar-2024 12:16 by lmm")
|
||||
(* \; "Edited 26-Feb-2023 12:17 by lmm")
|
||||
(* \; "Edited 13-Jul-2022 14:09 by rmk")
|
||||
@@ -61,8 +65,8 @@
|
||||
|
||||
(LOADUP '(STACKFNS CMLMVS MACROS MACROAUX UNWINDMACROS))
|
||||
(LOADUP '(COMMON XCLC-RUNTIME CMLTYPES CL-ERROR))
|
||||
(LOADUP '(AFONT EDIT WEDIT PRETTY DSPRINTDEF NEWPRINTDEF FONTPROFILE SPELLFILE PRINTFN LOADFNS
|
||||
DMISC DIRECTORY SPELLFILE FILEPKG RESOURCE))
|
||||
(LOADUP '(AFONT EDIT WEDIT PRETTY DSPRINTDEF NEWPRINTDEF SPELLFILE PRINTFN LOADFNS DMISC
|
||||
DIRECTORY SPELLFILE FILEPKG RESOURCE))
|
||||
|
||||
(* |;;| "needed for makesys")
|
||||
|
||||
@@ -79,9 +83,12 @@
|
||||
CMLENVIRONMENT CMLLOAD CMLFLOAT CMLTIME CMLRAND CMLMODULES))
|
||||
(LOADUP '(PROFILE CMLEXEC EXEC-COMMANDS DEBUGGER IL-ERROR-STUFF DEBUGEDIT))
|
||||
(LOADUP '(ADDARITH))
|
||||
(LOADUP '(UNICODE CMLPATHNAME HPRINT AARITH ADISPLAY HLDISPLAY MENU WINDOWOBJ WINDOWSCROLL WINDOW
|
||||
WINDOWICON PAINTW ATTACHEDWINDOW XXGEOM XXFILL DEXEC INSPECT DESCRIBE
|
||||
CMLARRAYINSPECTOR EDITINTERFACE TTYIN))
|
||||
|
||||
(* |;;| "Before the MEDLEYFONT implementation, FONTPROFILE came after NEWPRINTDEF above, but the loadup failed for undiagnosed reasons. After moving it around, it appears that it must come before MENU, because it creates thw WINDOWTITLEFONT, but after HLDISPLAY. Not yet known what the HLDISPLAY dependency is. ")
|
||||
|
||||
(LOADUP '(UNICODE CMLPATHNAME HPRINT AARITH ADISPLAY HLDISPLAY FONTPROFILE MENU WINDOWOBJ
|
||||
WINDOWSCROLL WINDOW WINDOWICON PAINTW ATTACHEDWINDOW XXGEOM XXFILL DEXEC INSPECT
|
||||
DESCRIBE CMLARRAYINSPECTOR EDITINTERFACE TTYIN))
|
||||
(LOADUP '(BREAK-AND-TRACE))
|
||||
(LOADUP '(FASDUMP XCL-COMPILER ADVISE))
|
||||
|
||||
@@ -131,5 +138,5 @@
|
||||
(GLOBALVARS MAKESYSFILENAME MEDLEY-INIT-VARS MEDLEYDIR SYSTEMINITVARS USERRECLST)
|
||||
)
|
||||
(DECLARE\: DONTCOPY
|
||||
(FILEMAP (NIL (673 5380 (LOADUP-LISP 683 . 5378)))))
|
||||
(FILEMAP (NIL (640 6219 (LOADUP-LISP 650 . 6217)))))
|
||||
STOP
|
||||
|
||||
Binary file not shown.
File diff suppressed because it is too large
Load Diff
Binary file not shown.
@@ -1,12 +1,12 @@
|
||||
(DEFINE-FILE-INFO PACKAGE "INTERLISP" READTABLE "INTERLISP" BASE 10)
|
||||
|
||||
(FILECREATED " 7-Dec-2024 19:44:25" {WMEDLEY}<library>IMAGEOBJ.;4 34381
|
||||
(FILECREATED " 9-Jun-2025 20:33:49" {WMEDLEY}<library>IMAGEOBJ.;5 32874
|
||||
|
||||
:EDIT-BY rmk
|
||||
|
||||
:CHANGES-TO (FNS GET.OBJ.FROM.USER)
|
||||
:CHANGES-TO (VARS IMAGEOBJCOMS)
|
||||
|
||||
:PREVIOUS-DATE " 7-Jul-2024 21:04:16" {WMEDLEY}<library>IMAGEOBJ.;3)
|
||||
:PREVIOUS-DATE " 7-Dec-2024 19:44:25" {WMEDLEY}<library>IMAGEOBJ.;4)
|
||||
|
||||
|
||||
(PRETTYCOMPRINT IMAGEOBJCOMS)
|
||||
@@ -15,8 +15,7 @@
|
||||
((COMS
|
||||
(* ;; "Bit-map image objects")
|
||||
|
||||
(FNS BITMAPTEDITOBJ COERCETOBITMAP WINDOWTITLEFONT \PRINTBINARYBITMAP \READBINARYBITMAP
|
||||
)
|
||||
(FNS BITMAPTEDITOBJ COERCETOBITMAP WINDOWTITLEFONT)
|
||||
|
||||
(* ;; "fns for the bitmap tedit object.")
|
||||
|
||||
@@ -117,42 +116,6 @@
|
||||
(* reset type of function that changes
|
||||
the title font)
|
||||
(DSPFONT FONT WindowTitleDisplayStream)))
|
||||
|
||||
(\PRINTBINARYBITMAP
|
||||
(LAMBDA (BITMAP STREAM) (* rrb "23-Jul-84 15:16")
|
||||
|
||||
(* * prints the representation of a bitmap onto STREAM in a form that can be
|
||||
read back by \READBINARYBITMAP.)
|
||||
|
||||
(PROG ((STREAM (GETSTREAM STREAM 'OUTPUT))
|
||||
BMH)
|
||||
(OR (BITMAPP BITMAP)
|
||||
(\ILLEGAL.ARG BITMAP))
|
||||
(\WOUT STREAM (BITMAPWIDTH BITMAP))
|
||||
(\WOUT STREAM (SETQ BMH (BITMAPHEIGHT BITMAP)))
|
||||
(\WOUT STREAM (BITSPERPIXEL BITMAP))
|
||||
(\BOUTS STREAM (fetch (BITMAP BITMAPBASE) of BITMAP)
|
||||
0
|
||||
(ITIMES (fetch (BITMAP BITMAPRASTERWIDTH) of BITMAP)
|
||||
BMH BYTESPERWORD))
|
||||
(RETURN BITMAP))))
|
||||
|
||||
(\READBINARYBITMAP
|
||||
(LAMBDA (STREAM) (* rrb "23-Jul-84 15:17")
|
||||
|
||||
(* * reads a bitmap printed on STREAM by \PRINTBINARYBITMAP.)
|
||||
|
||||
(SETQ STREAM (GETSTREAM STREAM 'INPUT))
|
||||
(PROG ((BMW (\WIN STREAM))
|
||||
(BMH (\WIN STREAM))
|
||||
(BPP (\WIN STREAM))
|
||||
BITMAP)
|
||||
(SETQ BITMAP (BITMAPCREATE BMW BMH BPP))
|
||||
(\BINS STREAM (fetch (BITMAP BITMAPBASE) of BITMAP)
|
||||
0
|
||||
(ITIMES (fetch (BITMAP BITMAPRASTERWIDTH) of BITMAP)
|
||||
BMH BYTESPERWORD))
|
||||
(RETURN BITMAP))))
|
||||
)
|
||||
|
||||
|
||||
@@ -770,12 +733,11 @@
|
||||
|
||||
(FILESLOAD EDITBITMAP)
|
||||
(DECLARE%: DONTCOPY
|
||||
(FILEMAP (NIL (2975 7471 (BITMAPTEDITOBJ 2985 . 3628) (COERCETOBITMAP 3630 . 5674) (WINDOWTITLEFONT
|
||||
5676 . 6023) (\PRINTBINARYBITMAP 6025 . 6816) (\READBINARYBITMAP 6818 . 7469)) (7522 23640 (
|
||||
BMOBJ.BUTTONEVENTINFN 7532 . 12078) (BMOBJ.COPYFN 12080 . 12706) (BMOBJ.DISPLAYFN 12708 . 16437) (
|
||||
BMOBJ.IMAGEBOXFN 16439 . 18854) (BMOBJ.PUTFN 18856 . 19788) (BMOBJ.INIT 19790 . 20829) (BMOBJ.GETFN5
|
||||
20831 . 21421) (BMOBJ.CREATE.MENU 21423 . 23638)) (23730 27014 (SCALED.BITMAP.GETFN 23740 . 24166) (
|
||||
BMOBJ.GETFN 24168 . 24703) (BMOBJ.GETFN2 24705 . 25190) (BMOBJ.GETFN3 25192 . 25980) (BMOBJ.GETFN4
|
||||
25982 . 27012)) (28949 34281 (GET.OBJ.FROM.USER 28959 . 30925) (BITMAPOBJ.SNAPW 30927 . 32053) (
|
||||
PROMPTFOREVALED 32055 . 34279)))))
|
||||
(FILEMAP (NIL (2914 5964 (BITMAPTEDITOBJ 2924 . 3567) (COERCETOBITMAP 3569 . 5613) (WINDOWTITLEFONT
|
||||
5615 . 5962)) (6015 22133 (BMOBJ.BUTTONEVENTINFN 6025 . 10571) (BMOBJ.COPYFN 10573 . 11199) (
|
||||
BMOBJ.DISPLAYFN 11201 . 14930) (BMOBJ.IMAGEBOXFN 14932 . 17347) (BMOBJ.PUTFN 17349 . 18281) (
|
||||
BMOBJ.INIT 18283 . 19322) (BMOBJ.GETFN5 19324 . 19914) (BMOBJ.CREATE.MENU 19916 . 22131)) (22223 25507
|
||||
(SCALED.BITMAP.GETFN 22233 . 22659) (BMOBJ.GETFN 22661 . 23196) (BMOBJ.GETFN2 23198 . 23683) (
|
||||
BMOBJ.GETFN3 23685 . 24473) (BMOBJ.GETFN4 24475 . 25505)) (27442 32774 (GET.OBJ.FROM.USER 27452 .
|
||||
29418) (BITMAPOBJ.SNAPW 29420 . 30546) (PROMPTFOREVALED 30548 . 32772)))))
|
||||
STOP
|
||||
|
||||
Binary file not shown.
@@ -1,20 +1,20 @@
|
||||
(DEFINE-FILE-INFO PACKAGE "INTERLISP" READTABLE "INTERLISP" BASE 10)
|
||||
|
||||
(FILECREATED "29-Jan-2025 19:34:13" {WMEDLEY}<lispusers>MULTI-ALIST.;15 12223
|
||||
(FILECREATED "10-Jul-2025 12:37:33" {WMEDLEY}<lispusers>MULTI-ALIST.;19 12851
|
||||
|
||||
:EDIT-BY rmk
|
||||
|
||||
:CHANGES-TO (FNS MAPMULTI)
|
||||
:CHANGES-TO (VARS MULTI-ALISTCOMS)
|
||||
(MACROS PUSHMULTI PUTMULTI PUSHMULTI-NEW FPUSHMULTI FPUSHMULTI-NEW)
|
||||
|
||||
:PREVIOUS-DATE "25-Jan-2025 15:04:13" {WMEDLEY}<lispusers>MULTI-ALIST.;14)
|
||||
:PREVIOUS-DATE " 8-Jul-2025 12:54:37" {WMEDLEY}<lispusers>MULTI-ALIST.;18)
|
||||
|
||||
|
||||
(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)
|
||||
((MACROS GETMULTI PUSHMULTI PUTMULTI PUSHMULTI-NEW CHANGEMULTI REMOVEMULTI REMOVEMULTIALL)
|
||||
(MACROS FGETMULTI FPUSHMULTI FPUTMULTI FPUSHMULTI-NEW FCHANGEMULTI)
|
||||
(FNS MAPMULTI MAPMULTI1 COLLECTMULTI)
|
||||
(FNS GETMULTI.EXPAND PUTMULTI.EXPAND REMOVEMULTI.EXPAND)
|
||||
(MACROS ADDTOMULTI)
|
||||
@@ -24,16 +24,13 @@
|
||||
|
||||
(PUTPROPS GETMULTI MACRO (ARGS (GETMULTI.EXPAND 'SASSOC ARGS)))
|
||||
|
||||
(PUTPROPS PUTMULTI MACRO (ARGS (PUTMULTI.EXPAND 'SASSOC ARGS)))
|
||||
(PUTPROPS PUSHMULTI MACRO (ARGS (PUTMULTI.EXPAND 'SASSOC ARGS)))
|
||||
|
||||
(PUTPROPS PUTMULTI-D MACRO (ARGS (PUTMULTI.EXPAND 'SASSOC ARGS NIL T)))
|
||||
(PUTPROPS PUTMULTI MACRO (ARGS (PUTMULTI.EXPAND 'SASSOC ARGS NIL T)))
|
||||
|
||||
(PUTPROPS PUTMULTI-NEW MACRO (ARGS (PUTMULTI.EXPAND 'SASSOC ARGS)))
|
||||
(PUTPROPS PUSHMULTI-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 CHANGEMULTI MACRO (ARGS (PUTMULTI.EXPAND 'SASSOC ARGS NIL NIL T)))
|
||||
|
||||
(PUTPROPS REMOVEMULTI MACRO (ARGS (REMOVEMULTI.EXPAND ARGS)))
|
||||
|
||||
@@ -43,11 +40,13 @@
|
||||
|
||||
(PUTPROPS FGETMULTI MACRO (ARGS (GETMULTI.EXPAND 'FASSOC ARGS)))
|
||||
|
||||
(PUTPROPS FPUSHMULTI MACRO (ARGS (PUTMULTI.EXPAND 'FASSOC ARGS)))
|
||||
|
||||
(PUTPROPS FPUTMULTI MACRO (ARGS (PUTMULTI.EXPAND 'FASSOC ARGS)))
|
||||
|
||||
(PUTPROPS FPUTMULTI-D MACRO (ARGS (PUTMULTI.EXPAND 'FASSOC ARGS NIL T)))
|
||||
(PUTPROPS FPUSHMULTI-NEW MACRO (ARGS (PUTMULTI.EXPAND 'FASSOC ARGS)))
|
||||
|
||||
(PUTPROPS FPUTMULTI-NEW MACRO (ARGS (PUTMULTI.EXPAND 'FASSOC ARGS)))
|
||||
(PUTPROPS FCHANGEMULTI MACRO (ARGS (PUTMULTI.EXPAND 'FASSOC ARGS NIL NIL T)))
|
||||
)
|
||||
(DEFINEQ
|
||||
|
||||
@@ -95,7 +94,8 @@
|
||||
(DEFINEQ
|
||||
|
||||
(GETMULTI.EXPAND
|
||||
[LAMBDA (ASSOCFN ARGS) (* ; "Edited 16-Jan-2025 10:27 by rmk")
|
||||
[LAMBDA (ASSOCFN ARGS) (* ; "Edited 14-Jun-2025 09:47 by rmk")
|
||||
(* ; "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:")
|
||||
@@ -114,7 +114,9 @@
|
||||
ELSE (CAR ARGS])
|
||||
|
||||
(PUTMULTI.EXPAND
|
||||
[LAMBDA (ASSOCFN ARGS ALLOWREPEATS SINGLEVALUE SUM) (* ; "Edited 23-Jan-2025 09:40 by rmk")
|
||||
[LAMBDA (ASSOCFN ARGS ALLOWREPEATS SINGLEVALUE CHANGE) (* ; "Edited 8-Jul-2025 12:52 by rmk")
|
||||
(* ; "Edited 14-Jun-2025 09:44 by rmk")
|
||||
(* ; "Edited 23-Jan-2025 09:40 by rmk")
|
||||
(* ; "Edited 16-Jan-2025 10:18 by rmk")
|
||||
(* ; "Edited 17-Aug-2020 14:09 by rmk:")
|
||||
|
||||
@@ -122,7 +124,7 @@
|
||||
|
||||
(* ;; "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")
|
||||
(* ;; "For CHANGE, the last argument is the change expression to be evaluated, with the current value denoted by the atom DATUM")
|
||||
|
||||
(* ;; "")
|
||||
|
||||
@@ -131,34 +133,41 @@
|
||||
(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))])
|
||||
(if (CDR ARGS)
|
||||
then
|
||||
(LET
|
||||
((VALBINDINGS (FOR VF IN VALFORMS AS TV IN TEMPVARS COLLECT (LIST TV VF)))
|
||||
EXPANSION)
|
||||
(SETQ EXPANSION
|
||||
`(LET
|
||||
($$ARG1$$ $$ARG2$$)
|
||||
(DECLARE (LOCALVARS $$ARG1$$ $$ARG2$$))
|
||||
,@[FOR ATAIL (HEAD _ ACCESSFORM) ON ARGS WHILE (CDR ATAIL)
|
||||
JOIN
|
||||
(IF (AND CHANGE (NULL (CDDR ATAIL)))
|
||||
THEN (POP ATAIL)
|
||||
[AND NIL `((CL:UNLESS ,HEAD (RPLACD $$ARG1$$ 0))
|
||||
(SETQ $$ARG2$$ (ADD ,HEAD ,(CAR ATAIL]
|
||||
`[(SETQ $$ARG2$$ ,(SUBST HEAD 'DATUM (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 `(CL:SETF ,HEAD $$ARG2$$)
|
||||
ELSE `(OR (MEMBER $$ARG2$$ ,HEAD)
|
||||
(push ,HEAD $$ARG2$$]
|
||||
(SETQ HEAD '(CDR $$ARG1$$)))]
|
||||
$$ARG2$$))
|
||||
(CL:IF VALBINDINGS
|
||||
`(LET* ,VALBINDINGS (DECLARE (LOCALVARS ,@TEMPVARS))
|
||||
,EXPANSION)
|
||||
EXPANSION))
|
||||
else (CAR ARGS])
|
||||
|
||||
(REMOVEMULTI.EXPAND
|
||||
[LAMBDA (ARGS ALLFLAG) (* ; "Edited 16-Jan-2025 10:34 by rmk")
|
||||
@@ -233,7 +242,7 @@
|
||||
(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)))))
|
||||
(FILEMAP (NIL (1845 4457 (MAPMULTI 1855 . 2923) (MAPMULTI1 2925 . 3982) (COLLECTMULTI 3984 . 4455)) (
|
||||
4458 10939 (GETMULTI.EXPAND 4468 . 5698) (PUTMULTI.EXPAND 5700 . 8623) (REMOVEMULTI.EXPAND 8625 .
|
||||
10937)) (12089 12774 (ADDTOMULTI1 12099 . 12772)))))
|
||||
STOP
|
||||
Binary file not shown.
Binary file not shown.
@@ -1,16 +1,12 @@
|
||||
(DEFINE-FILE-INFO PACKAGE "INTERLISP" READTABLE "INTERLISP" BASE 10)
|
||||
|
||||
(FILECREATED " 5-Jun-2025 16:12:21" {DSK}<home>matt>Interlisp>medley>library>POSTSCRIPTSTREAM.;5 258146
|
||||
(FILECREATED "14-Jul-2025 22:21:34" {WMEDLEY}<library>POSTSCRIPTSTREAM.;24 258986
|
||||
|
||||
:EDIT-BY "mth"
|
||||
:EDIT-BY rmk
|
||||
|
||||
:CHANGES-TO (FNS \BLTSHADE.PSC \PSC.COLOR.TO.RGB \DRAWLINE.PSC \DRAWARC.PSC POSTSCRIPTSEND
|
||||
\TERPRI.PSC POSTSCRIPT.PUTCOMMAND POSTSCRIPT.PUTRGBCOLOR \DSPCOLOR.PSC
|
||||
\DRAWCIRCLE.PSC \DRAWELLIPSE.PSC \DRAWPOINT.PSC \DRAWPOLYGON.PSC
|
||||
\FILLCIRCLE.PSC \FILLPOLYGON.PSC POSTSCRIPT.TEDIT \BITBLT.PSC)
|
||||
:CHANGES-TO (FNS \DSPFONT.PSC)
|
||||
|
||||
:PREVIOUS-DATE "28-Apr-2025 00:17:24"
|
||||
{DSK}<home>matt>Interlisp>medley>library>POSTSCRIPTSTREAM.;1)
|
||||
:PREVIOUS-DATE "16-Jun-2025 00:04:32" {WMEDLEY}<library>POSTSCRIPTSTREAM.;23)
|
||||
|
||||
|
||||
(PRETTYCOMPRINT POSTSCRIPTSTREAMCOMS)
|
||||
@@ -46,7 +42,7 @@
|
||||
(FNS PSCFONT.READFONT PSCFONT.SPELLFILE PSCFONT.COERCEFILE PSCFONTFROMCACHE.SPELLFILE
|
||||
PSCFONTFROMCACHE.COERCEFILE PSCFONT.WRITEFONT READ-AFM-FILE CONVERT-AFM-FILES
|
||||
POSTSCRIPT.GETFONTID POSTSCRIPT.FONTCREATE \POSTSCRIPT.SPECIALFONT.SCALEDWIDTHS
|
||||
POSTSCRIPT.FONTSAVAILABLE)
|
||||
POSTSCRIPT.FONTSAVAILABLE POSTSCRIPT.FONTEXISTS?)
|
||||
(COMS
|
||||
(* ;; "Until macro in FONT is exported")
|
||||
|
||||
@@ -175,7 +171,8 @@
|
||||
(IMAGESTREAMTYPES (POSTSCRIPT (OPENSTREAM OPENPOSTSCRIPTSTREAM)
|
||||
(FONTCREATE POSTSCRIPT.FONTCREATE)
|
||||
(FONTSAVAILABLE POSTSCRIPT.FONTSAVAILABLE)
|
||||
(CREATECHARSET \CREATECHARSET.PSC]
|
||||
(CREATECHARSET \CREATECHARSET.PSC)
|
||||
(FONTEXISTS? POSTSCRIPT.FONTEXISTS?]
|
||||
(INITVARS (POSTSCRIPT.PAGETYPE 'LETTER))
|
||||
|
||||
(* ;; "NIL means initial clipping is same as paper size. Don't know why the other regions were specified--rmk")
|
||||
@@ -619,11 +616,12 @@
|
||||
PF])
|
||||
|
||||
(PSCFONT.SPELLFILE
|
||||
[LAMBDA (FAMILY SIZE FACE ROTATION DEVICE) (* ; "Edited 5-Oct-93 22:15 by rmk:")
|
||||
(* ; "Edited 5-Oct-92 15:23 by jds")
|
||||
[LAMBDA (FAMILY SIZE FACE ROTATION DEVICE) (* ; "Edited 15-Jun-2025 23:31 by rmk")
|
||||
(* ; "Edited 5-Oct-93 22:15 by rmk:")
|
||||
(* ; "Edited 5-Oct-92 15:23 by jds")
|
||||
|
||||
(* ;;
|
||||
"Find the font file for a postscript font. Does the display-name conversion as well, for DOS.")
|
||||
(* ;;
|
||||
"Find the font file for a postscript font. Does the display-name conversion as well, for DOS.")
|
||||
|
||||
(CL:WHEN POSTSCRIPTFONTDIRECTORIES
|
||||
(\FINDFONTFILE (OR (CDR (FASSOC FAMILY POSTSCRIPT.FONT.ALIST))
|
||||
@@ -883,43 +881,44 @@
|
||||
FONTID])
|
||||
|
||||
(POSTSCRIPT.FONTCREATE
|
||||
[LAMBDA (FAMILY SIZE FACE ROTATION DEVICE) (* ; "Edited 29-Oct-93 16:39 by rmk:")
|
||||
(* ; "Edited 3-Feb-93 17:22 by jds")
|
||||
[LAMBDA (FAMILY SIZE FACE ROTATION DEVICE) (* ; "Edited 15-Jun-2025 23:40 by rmk")
|
||||
(* ; "Edited 29-Oct-93 16:39 by rmk:")
|
||||
(* ; "Edited 3-Feb-93 17:22 by jds")
|
||||
(LET (UNITFONT FULLNAME SCALEFONTP PSCFD ASCENT DESCENT FIXPWIDTHS PSCWIDTHSBLOCK WIDTHSBLOCK FD
|
||||
FACECHANGED (WEIGHT (CAR FACE))
|
||||
(SLOPE (CADR FACE))
|
||||
(EXPANSION (CADDR FACE)))
|
||||
|
||||
(* ;;
|
||||
"Ignore rotations, it is **MUCH** easier to rotate the Postscript stream user space coordinates.")
|
||||
(* ;;
|
||||
"Ignore rotations, it is **MUCH** easier to rotate the Postscript stream user space coordinates.")
|
||||
|
||||
[COND
|
||||
[(EQ SIZE 1)
|
||||
|
||||
(* ;; "Since a 1 point font is ridiculously small, and it is the standard size for Postscript font info, a 1 point font is presumed to be the unit size Postscript font info")
|
||||
(* ;; "Since a 1 point font is ridiculously small, and it is the standard size for Postscript font info, a 1 point font is presumed to be the unit size Postscript font info")
|
||||
|
||||
(COND
|
||||
((SETQ PSCFD (PSCFONTFROMCACHE.SPELLFILE FAMILY SIZE FACE ROTATION DEVICE))
|
||||
|
||||
(* ;; "Check in-core cache for exact match first")
|
||||
(* ;; "Check in-core cache for exact match first")
|
||||
|
||||
(SETQ FACECHANGED NIL))
|
||||
((SETQ FULLNAME (PSCFONT.SPELLFILE FAMILY SIZE FACE ROTATION DEVICE))
|
||||
|
||||
(* ;; "Check file for exact match next")
|
||||
(* ;; "Check file for exact match next")
|
||||
|
||||
(SETQ PSCFD (PSCFONT.READFONT FULLNAME))
|
||||
(SETQ FACECHANGED NIL))
|
||||
((SETQ PSCFD (PSCFONTFROMCACHE.COERCEFILE FAMILY SIZE WEIGHT SLOPE EXPANSION
|
||||
ROTATION DEVICE))
|
||||
((SETQ PSCFD (PSCFONTFROMCACHE.COERCEFILE FAMILY SIZE WEIGHT SLOPE EXPANSION ROTATION
|
||||
DEVICE))
|
||||
|
||||
(* ;; "Then check cache for coerced match")
|
||||
(* ;; "Then check cache for coerced match")
|
||||
|
||||
(SETQ FACECHANGED T))
|
||||
((SETQ FULLNAME (PSCFONT.COERCEFILE FAMILY SIZE WEIGHT SLOPE EXPANSION ROTATION
|
||||
DEVICE))
|
||||
|
||||
(* ;; "Check file for coerced match")
|
||||
(* ;; "Check file for coerced match")
|
||||
|
||||
(SETQ PSCFD (PSCFONT.READFONT FULLNAME))
|
||||
(SETQ FACECHANGED T)))
|
||||
@@ -930,15 +929,14 @@
|
||||
0.1)))
|
||||
(COND
|
||||
(FACECHANGED (replace (PSCFONT IL-FONTID) of PSCFD
|
||||
with (POSTSCRIPT.GETFONTID (fetch (PSCFONT
|
||||
FID)
|
||||
of PSCFD)
|
||||
WEIGHT SLOPE EXPANSION]
|
||||
with (POSTSCRIPT.GETFONTID (fetch (PSCFONT FID)
|
||||
of PSCFD)
|
||||
WEIGHT SLOPE EXPANSION]
|
||||
((SETQ UNITFONT (FONTCREATE FAMILY 1 FACE ROTATION DEVICE T))
|
||||
(SETQ PSCFD (LISTGET (fetch (FONTDESCRIPTOR OTHERDEVICEFONTPROPS) of UNITFONT)
|
||||
'PSCFONT))
|
||||
|
||||
(* ;; "Scale the ASCENT and DESCENT")
|
||||
(* ;; "Scale the ASCENT and DESCENT")
|
||||
|
||||
(SETQ ASCENT (FIXR (TIMES SIZE (fetch (PSCFONT ASCENT) of PSCFD)
|
||||
0.1)))
|
||||
@@ -946,20 +944,20 @@
|
||||
0.1)))
|
||||
(SETQ SCALEFONTP T))
|
||||
(T
|
||||
(* ;; "Here for fonts that only come in specific sizes. Their info is not scaled like built-in Postscript fonts, it is already correct for this pointsize.")
|
||||
(* ;; "Here for fonts that only come in specific sizes. Their info is not scaled like built-in Postscript fonts, it is already correct for this pointsize.")
|
||||
|
||||
(COND
|
||||
([SETQ PSCFD (COND
|
||||
((PSCFONTFROMCACHE.SPELLFILE FAMILY SIZE FACE ROTATION DEVICE))
|
||||
((SETQ FULLNAME (PSCFONT.SPELLFILE FAMILY SIZE FACE ROTATION
|
||||
DEVICE))
|
||||
((SETQ FULLNAME (PSCFONT.SPELLFILE FAMILY SIZE FACE ROTATION DEVICE
|
||||
))
|
||||
(PSCFONT.READFONT FULLNAME]
|
||||
(SETQ ASCENT (fetch (PSCFONT ASCENT) of PSCFD))
|
||||
(SETQ DESCENT (fetch (PSCFONT DESCENT) of PSCFD))
|
||||
(SETQ SCALEFONTP NIL]
|
||||
(COND
|
||||
(PSCFD
|
||||
(* ;; "Set up the Charset descriptions and Widths vectors for character set 0:")
|
||||
(* ;; "Set up the Charset descriptions and Widths vectors for character set 0:")
|
||||
|
||||
(SETQ FD
|
||||
(create FONTDESCRIPTOR
|
||||
@@ -977,37 +975,35 @@
|
||||
(SETQ FIXPWIDTHS (fetch (PSCFONT WIDTHS) of PSCFD))
|
||||
[COND
|
||||
[SCALEFONTP (for CH from 0 to 255
|
||||
do (\FSETWIDTH WIDTHSBLOCK CH (FIXR (TIMES SIZE
|
||||
(ELT FIXPWIDTHS
|
||||
CH)
|
||||
0.1]
|
||||
(T (for CH from 0 to 255 do (\FSETWIDTH WIDTHSBLOCK CH
|
||||
(ELT FIXPWIDTHS CH]
|
||||
do (\FSETWIDTH WIDTHSBLOCK CH (FIXR (TIMES SIZE (ELT FIXPWIDTHS
|
||||
CH)
|
||||
0.1]
|
||||
(T (for CH from 0 to 255 do (\FSETWIDTH WIDTHSBLOCK CH (ELT FIXPWIDTHS CH]
|
||||
(SETQ PSCWIDTHSBLOCK (\CREATECSINFOELEMENT))
|
||||
|
||||
(* ;; "PSCWIDTHSBLOCK preserves the scaled widths from the original postscript metrics, not the NS mapping of them, which goes into WIDTHSBLOCK.")
|
||||
(* ;; "PSCWIDTHSBLOCK preserves the scaled widths from the original postscript metrics, not the NS mapping of them, which goes into WIDTHSBLOCK.")
|
||||
|
||||
(for CH from 0 to 255 do (\FSETWIDTH PSCWIDTHSBLOCK CH
|
||||
(\FGETWIDTH WIDTHSBLOCK CH)))
|
||||
(for CH from 0 to 255 do (\FSETWIDTH PSCWIDTHSBLOCK CH (\FGETWIDTH WIDTHSBLOCK CH)
|
||||
))
|
||||
[LET [(TMP (COND
|
||||
(FULLNAME (\FONTINFOFROMFILENAME FULLNAME DEVICE))
|
||||
(UNITFONT (fetch FONTDEVICESPEC of UNITFONT]
|
||||
|
||||
(* ;; "If face got coerced (possibly in recursive call for unit font) then set FONTDEVICESPEC to describe what we really got")
|
||||
(* ;; "If face got coerced (possibly in recursive call for unit font) then set FONTDEVICESPEC to describe what we really got")
|
||||
|
||||
(COND
|
||||
((AND TMP (NEQ FAMILY (CAR TMP)))
|
||||
(replace FONTDEVICESPEC of FD with (LIST (CAR TMP)
|
||||
SIZE
|
||||
(COPY FACE)
|
||||
0 DEVICE]
|
||||
[LET ((SYMWIDTHS (\POSTSCRIPT.SPECIALFONT.SCALEDWIDTHS 'SYMBOL FD ROTATION
|
||||
DEVICE))
|
||||
(DINGWIDTHS (\POSTSCRIPT.SPECIALFONT.SCALEDWIDTHS 'ZAPFDINGBATS FD
|
||||
ROTATION DEVICE)))
|
||||
SIZE
|
||||
(COPY FACE)
|
||||
0 DEVICE]
|
||||
[LET ((SYMWIDTHS (\POSTSCRIPT.SPECIALFONT.SCALEDWIDTHS 'SYMBOL FD ROTATION DEVICE)
|
||||
)
|
||||
(DINGWIDTHS (\POSTSCRIPT.SPECIALFONT.SCALEDWIDTHS 'ZAPFDINGBATS FD ROTATION
|
||||
DEVICE)))
|
||||
|
||||
(* ;;
|
||||
"Now run thru the mapping table, filling in the new font from whatever source is specified:")
|
||||
(* ;;
|
||||
"Now run thru the mapping table, filling in the new font from whatever source is specified:")
|
||||
|
||||
[MAPHASH *POSTSCRIPT-NS-HASH*
|
||||
(FUNCTION (LAMBDA (MAPPING CODE)
|
||||
@@ -1015,13 +1011,12 @@
|
||||
(KIND CODE2 BASECHAR)
|
||||
MAPPING
|
||||
|
||||
(* ;;
|
||||
"Depending on what kind of item it is, process it:")
|
||||
(* ;; "Depending on what kind of item it is, process it:")
|
||||
|
||||
(SELECTQ KIND
|
||||
(NIL
|
||||
(* ;;
|
||||
"Translating an NS character to a PSC char in CS 0.")
|
||||
(* ;;
|
||||
"Translating an NS character to a PSC char in CS 0.")
|
||||
|
||||
(\FSETCHARWIDTH FD CODE (\FGETWIDTH
|
||||
PSCWIDTHSBLOCK
|
||||
@@ -1036,8 +1031,8 @@
|
||||
(\CHAR8CODE
|
||||
CODE2])
|
||||
(FUNCTION
|
||||
(* ;;
|
||||
"This is fake and only works for the fractions. Need a better case.")
|
||||
(* ;;
|
||||
"This is fake and only works for the fractions. Need a better case.")
|
||||
|
||||
[\FSETCHARWIDTH
|
||||
FD CODE
|
||||
@@ -1046,25 +1041,25 @@
|
||||
(\FGETWIDTH
|
||||
PSCWIDTHSBLOCK
|
||||
(CHARCODE 1])
|
||||
(ACCENT (* ;
|
||||
"CODE2 is the rendering character but width comes from width of basechar")
|
||||
(ACCENT (* ;
|
||||
"CODE2 is the rendering character but width comes from width of basechar")
|
||||
(\FSETCHARWIDTH FD CODE (\FGETWIDTH
|
||||
PSCWIDTHSBLOCK
|
||||
BASECHAR)))
|
||||
(ACCENTPAIR
|
||||
|
||||
(* ;; "CODE2 and BASECHAR are overprinted, width is taken from CODE2 (the real character), basechar is the accent")
|
||||
(* ;; "CODE2 and BASECHAR are overprinted, width is taken from CODE2 (the real character), basechar is the accent")
|
||||
|
||||
(\FSETCHARWIDTH FD CODE (\FGETWIDTH
|
||||
PSCWIDTHSBLOCK
|
||||
CODE2)))
|
||||
(PROGN
|
||||
|
||||
(* ;; "Skip APPLY*'s on this pass, waiting until normal characters get set up, so that widths of other NS characters are available. Also skip anything else")
|
||||
(* ;; "Skip APPLY*'s on this pass, waiting until normal characters get set up, so that widths of other NS characters are available. Also skip anything else")
|
||||
|
||||
NIL]
|
||||
|
||||
(* ;; "Now do APPLY*'s. MAPPING is of the form ('APPLY* DATA PRINTFN WIDTHFN). WIDTHFN gets applied to FD and DATA (coerced by INITFN)")
|
||||
(* ;; "Now do APPLY*'s. MAPPING is of the form ('APPLY* DATA PRINTFN WIDTHFN). WIDTHFN gets applied to FD and DATA (coerced by INITFN)")
|
||||
|
||||
(MAPHASH *POSTSCRIPT-NS-HASH* (FUNCTION (LAMBDA (MAPPING CODE)
|
||||
(CL:WHEN (EQ (CAR MAPPING)
|
||||
@@ -1173,6 +1168,22 @@
|
||||
NF))
|
||||
else (LIST FD)))
|
||||
else FONTSAVAILABLE])
|
||||
|
||||
(POSTSCRIPT.FONTEXISTS?
|
||||
[LAMBDA (FAMILY SIZE FACE ROTATION DEVICE) (* ; "Edited 16-Jun-2025 00:04 by rmk")
|
||||
(* ; "Edited 29-Oct-93 16:39 by rmk:")
|
||||
(* ; "Edited 3-Feb-93 17:22 by jds")
|
||||
|
||||
(* ;; "Non-NIL if a postscript font with these parameters can be constructed.")
|
||||
|
||||
(* ;; "Since a 1 point font is ridiculously small, and it is the standard size for Postscript font info, size 1 is presumed to be the base for all postscript fonts.")
|
||||
|
||||
(LET ((WEIGHT (fetch (FONTFACE WEIGHT) of FACE))
|
||||
(SLOPE (fetch (FONTFACE SLOPE) of FACE))
|
||||
(EXPANSION (fetch (FONTFACE EXPANSION) of FACE)))
|
||||
(OR (PSCFONT.SPELLFILE FAMILY 1 FACE ROTATION DEVICE)
|
||||
(PSCFONTFROMCACHE.COERCEFILE FAMILY 1 WEIGHT SLOPE EXPANSION ROTATION DEVICE)
|
||||
(PSCFONT.COERCEFILE FAMILY 1 WEIGHT SLOPE EXPANSION ROTATION DEVICE])
|
||||
)
|
||||
|
||||
|
||||
@@ -2681,7 +2692,8 @@
|
||||
CURRENT])
|
||||
|
||||
(\DSPFONT.PSC
|
||||
[LAMBDA (STREAM FONT) (* ;
|
||||
[LAMBDA (STREAM FONT) (* ; "Edited 14-Jul-2025 22:21 by rmk")
|
||||
(* ;
|
||||
"Edited 26-May-93 01:06 by sybalsky:mv:envos")
|
||||
(* ; "Edited 11-May-93 02:11 by jds")
|
||||
(* ; "Edited 19-Jan-93 17:17 by jds")
|
||||
@@ -2694,7 +2706,7 @@
|
||||
(OLDFONT (fetch (\POSTSCRIPTDATA POSTSCRIPTFONT) of IMAGEDATA))
|
||||
NEWFONT FONTID)
|
||||
(COND
|
||||
((AND FONT (SETQ NEWFONT (OR (\COERCEFONTDESC FONT STREAM)
|
||||
((AND FONT (SETQ NEWFONT (OR (FONTCREATE FONT NIL NIL NIL STREAM T)
|
||||
(FONTCOPY OLDFONT FONT)))
|
||||
(type? FONTDESCRIPTOR NEWFONT)
|
||||
(NEQ NEWFONT OLDFONT))
|
||||
@@ -4357,7 +4369,8 @@
|
||||
(ADDTOVAR IMAGESTREAMTYPES (POSTSCRIPT (OPENSTREAM OPENPOSTSCRIPTSTREAM)
|
||||
(FONTCREATE POSTSCRIPT.FONTCREATE)
|
||||
(FONTSAVAILABLE POSTSCRIPT.FONTSAVAILABLE)
|
||||
(CREATECHARSET \CREATECHARSET.PSC)))
|
||||
(CREATECHARSET \CREATECHARSET.PSC)
|
||||
(FONTEXISTS? POSTSCRIPT.FONTEXISTS?)))
|
||||
|
||||
(RPAQ? POSTSCRIPT.PAGETYPE 'LETTER)
|
||||
|
||||
@@ -4401,38 +4414,39 @@
|
||||
(ADDTOVAR LAMA POSTSCRIPT.PUTCOMMAND)
|
||||
)
|
||||
(DECLARE%: DONTCOPY
|
||||
(FILEMAP (NIL (22736 33232 (POSTSCRIPT.INIT 22746 . 29838) (POSTSCRIPT.PUTRGBCOLOR 29840 . 30862) (
|
||||
\PSC.COLOR.TO.RGB 30864 . 33230)) (34218 69002 (PSCFONT.READFONT 34228 . 36136) (PSCFONT.SPELLFILE
|
||||
36138 . 36716) (PSCFONT.COERCEFILE 36718 . 38290) (PSCFONTFROMCACHE.SPELLFILE 38292 . 39277) (
|
||||
PSCFONTFROMCACHE.COERCEFILE 39279 . 40931) (PSCFONT.WRITEFONT 40933 . 41948) (READ-AFM-FILE 41950 .
|
||||
47821) (CONVERT-AFM-FILES 47823 . 49035) (POSTSCRIPT.GETFONTID 49037 . 50432) (POSTSCRIPT.FONTCREATE
|
||||
50434 . 62833) (\POSTSCRIPT.SPECIALFONT.SCALEDWIDTHS 62835 . 65232) (POSTSCRIPT.FONTSAVAILABLE 65234
|
||||
. 69000)) (69557 78842 (OPENPOSTSCRIPTSTREAM 69567 . 78508) (CLOSEPOSTSCRIPTSTREAM 78510 . 78840)) (
|
||||
78887 84941 (POSTSCRIPT.HARDCOPYW 78897 . 82004) (POSTSCRIPT.TEDIT 82006 . 82490) (POSTSCRIPT.TEXT
|
||||
82492 . 82783) (POSTSCRIPTFILEP 82785 . 83892) (MAKEEPSFILE 83894 . 84939)) (84942 128516 (
|
||||
POSTSCRIPT.BITMAPSCALE 84952 . 87408) (POSTSCRIPT.CLOSESTRING 87410 . 87963) (POSTSCRIPT.ENDPAGE 87965
|
||||
. 88856) (POSTSCRIPT.OUTSTR 88858 . 90075) (POSTSCRIPT.PUTBITMAPBYTES 90077 . 98548) (
|
||||
POSTSCRIPT.PUTCOMMAND 98550 . 99539) (POSTSCRIPT.SET-FAKE-LANDSCAPE 99541 . 104061) (
|
||||
POSTSCRIPT.SHOWACCUM 104063 . 106218) (POSTSCRIPT.STARTPAGE 106220 . 108752) (\POSTSCRIPTTAB 108754 .
|
||||
109551) (\PS.BOUTFIXP 109553 . 110833) (\PS.SCALEHACK 110835 . 113478) (\PS.SCALEREGION 113480 .
|
||||
114040) (\SCALEDBITBLT.PSC 114042 . 118352) (\SETPOS.PSC 118354 . 118835) (\SETXFORM.PSC 118837 .
|
||||
121421) (\STRINGWIDTH.PSC 121423 . 121896) (\SWITCHFONTS.PSC 121898 . 127390) (\TERPRI.PSC 127392 .
|
||||
128514)) (128551 182631 (\BITBLT.PSC 128561 . 129113) (\BLTSHADE.PSC 129115 . 133776) (\CHARWIDTH.PSC
|
||||
133778 . 134285) (\CREATECHARSET.PSC 134287 . 135985) (\DRAWARC.PSC 135987 . 138365) (\DRAWCIRCLE.PSC
|
||||
138367 . 140618) (\DRAWCURVE.PSC 140620 . 144464) (\DRAWELLIPSE.PSC 144466 . 146830) (\DRAWLINE.PSC
|
||||
146832 . 149572) (\DRAWPOINT.PSC 149574 . 150150) (\DRAWPOLYGON.PSC 150152 . 153281) (
|
||||
\DSPBOTTOMMARGIN.PSC 153283 . 153970) (\DSPCLIPPINGREGION.PSC 153972 . 155347) (\DSPCOLOR.PSC 155349
|
||||
. 156280) (\DSPFONT.PSC 156282 . 159801) (\DSPLEFTMARGIN.PSC 159803 . 160489) (\DSPLINEFEED.PSC
|
||||
160491 . 161081) (\DSPPUSHSTATE.PSC 161083 . 162543) (\DSPPOPSTATE.PSC 162545 . 166030) (\DSPRESET.PSC
|
||||
166032 . 166697) (\DSPRIGHTMARGIN.PSC 166699 . 167388) (\DSPROTATE.PSC 167390 . 168389) (
|
||||
\DSPSCALE.PSC 168391 . 169343) (\DSPSCALE2.PSC 169345 . 170185) (\DSPSPACEFACTOR.PSC 170187 . 171108)
|
||||
(\DSPTOPMARGIN.PSC 171110 . 171681) (\DSPTRANSLATE.PSC 171683 . 173714) (\DSPXPOSITION.PSC 173716 .
|
||||
174280) (\DSPYPOSITION.PSC 174282 . 174873) (\FILLCIRCLE.PSC 174875 . 177100) (\FILLPOLYGON.PSC 177102
|
||||
. 180339) (\FIXLINELENGTH.PSC 180341 . 181660) (\MOVETO.PSC 181662 . 182432) (\NEWPAGE.PSC 182434 .
|
||||
182629)) (182687 204710 (\POSTSCRIPT.CHANGECHARSET 182697 . 183434) (\POSTSCRIPT.OUTCHARFN 183436 .
|
||||
195564) (\POSTSCRIPT.PRINTSLUG 195566 . 197290) (\POSTSCRIPT.SPECIALOUTCHARFN 197292 . 199643) (
|
||||
\UPDATE.PSC 199645 . 200891) (\POSTSCRIPT.ACCENTFN 200893 . 201835) (\POSTSCRIPT.ACCENTPAIR 201837 .
|
||||
204708)) (204808 206453 (\PSC.SPACEDISP 204818 . 205097) (\PSC.SPACEWID 205099 . 205718) (\PSC.SYMBOLS
|
||||
205720 . 206451)) (206562 209553 (\POSTSCRIPT.NSHASH 206572 . 209551)) (254327 255033 (POSTSCRIPTSEND
|
||||
254337 . 255031)))))
|
||||
(FILEMAP (NIL (22458 32954 (POSTSCRIPT.INIT 22468 . 29560) (POSTSCRIPT.PUTRGBCOLOR 29562 . 30584) (
|
||||
\PSC.COLOR.TO.RGB 30586 . 32952)) (33940 69653 (PSCFONT.READFONT 33950 . 35858) (PSCFONT.SPELLFILE
|
||||
35860 . 36557) (PSCFONT.COERCEFILE 36559 . 38131) (PSCFONTFROMCACHE.SPELLFILE 38133 . 39118) (
|
||||
PSCFONTFROMCACHE.COERCEFILE 39120 . 40772) (PSCFONT.WRITEFONT 40774 . 41789) (READ-AFM-FILE 41791 .
|
||||
47662) (CONVERT-AFM-FILES 47664 . 48876) (POSTSCRIPT.GETFONTID 48878 . 50273) (POSTSCRIPT.FONTCREATE
|
||||
50275 . 62428) (\POSTSCRIPT.SPECIALFONT.SCALEDWIDTHS 62430 . 64827) (POSTSCRIPT.FONTSAVAILABLE 64829
|
||||
. 68595) (POSTSCRIPT.FONTEXISTS? 68597 . 69651)) (70208 79493 (OPENPOSTSCRIPTSTREAM 70218 . 79159) (
|
||||
CLOSEPOSTSCRIPTSTREAM 79161 . 79491)) (79538 85592 (POSTSCRIPT.HARDCOPYW 79548 . 82655) (
|
||||
POSTSCRIPT.TEDIT 82657 . 83141) (POSTSCRIPT.TEXT 83143 . 83434) (POSTSCRIPTFILEP 83436 . 84543) (
|
||||
MAKEEPSFILE 84545 . 85590)) (85593 129167 (POSTSCRIPT.BITMAPSCALE 85603 . 88059) (
|
||||
POSTSCRIPT.CLOSESTRING 88061 . 88614) (POSTSCRIPT.ENDPAGE 88616 . 89507) (POSTSCRIPT.OUTSTR 89509 .
|
||||
90726) (POSTSCRIPT.PUTBITMAPBYTES 90728 . 99199) (POSTSCRIPT.PUTCOMMAND 99201 . 100190) (
|
||||
POSTSCRIPT.SET-FAKE-LANDSCAPE 100192 . 104712) (POSTSCRIPT.SHOWACCUM 104714 . 106869) (
|
||||
POSTSCRIPT.STARTPAGE 106871 . 109403) (\POSTSCRIPTTAB 109405 . 110202) (\PS.BOUTFIXP 110204 . 111484)
|
||||
(\PS.SCALEHACK 111486 . 114129) (\PS.SCALEREGION 114131 . 114691) (\SCALEDBITBLT.PSC 114693 . 119003)
|
||||
(\SETPOS.PSC 119005 . 119486) (\SETXFORM.PSC 119488 . 122072) (\STRINGWIDTH.PSC 122074 . 122547) (
|
||||
\SWITCHFONTS.PSC 122549 . 128041) (\TERPRI.PSC 128043 . 129165)) (129202 183400 (\BITBLT.PSC 129212 .
|
||||
129764) (\BLTSHADE.PSC 129766 . 134427) (\CHARWIDTH.PSC 134429 . 134936) (\CREATECHARSET.PSC 134938 .
|
||||
136636) (\DRAWARC.PSC 136638 . 139016) (\DRAWCIRCLE.PSC 139018 . 141269) (\DRAWCURVE.PSC 141271 .
|
||||
145115) (\DRAWELLIPSE.PSC 145117 . 147481) (\DRAWLINE.PSC 147483 . 150223) (\DRAWPOINT.PSC 150225 .
|
||||
150801) (\DRAWPOLYGON.PSC 150803 . 153932) (\DSPBOTTOMMARGIN.PSC 153934 . 154621) (
|
||||
\DSPCLIPPINGREGION.PSC 154623 . 155998) (\DSPCOLOR.PSC 156000 . 156931) (\DSPFONT.PSC 156933 . 160570)
|
||||
(\DSPLEFTMARGIN.PSC 160572 . 161258) (\DSPLINEFEED.PSC 161260 . 161850) (\DSPPUSHSTATE.PSC 161852 .
|
||||
163312) (\DSPPOPSTATE.PSC 163314 . 166799) (\DSPRESET.PSC 166801 . 167466) (\DSPRIGHTMARGIN.PSC 167468
|
||||
. 168157) (\DSPROTATE.PSC 168159 . 169158) (\DSPSCALE.PSC 169160 . 170112) (\DSPSCALE2.PSC 170114 .
|
||||
170954) (\DSPSPACEFACTOR.PSC 170956 . 171877) (\DSPTOPMARGIN.PSC 171879 . 172450) (\DSPTRANSLATE.PSC
|
||||
172452 . 174483) (\DSPXPOSITION.PSC 174485 . 175049) (\DSPYPOSITION.PSC 175051 . 175642) (
|
||||
\FILLCIRCLE.PSC 175644 . 177869) (\FILLPOLYGON.PSC 177871 . 181108) (\FIXLINELENGTH.PSC 181110 .
|
||||
182429) (\MOVETO.PSC 182431 . 183201) (\NEWPAGE.PSC 183203 . 183398)) (183456 205479 (
|
||||
\POSTSCRIPT.CHANGECHARSET 183466 . 184203) (\POSTSCRIPT.OUTCHARFN 184205 . 196333) (
|
||||
\POSTSCRIPT.PRINTSLUG 196335 . 198059) (\POSTSCRIPT.SPECIALOUTCHARFN 198061 . 200412) (\UPDATE.PSC
|
||||
200414 . 201660) (\POSTSCRIPT.ACCENTFN 201662 . 202604) (\POSTSCRIPT.ACCENTPAIR 202606 . 205477)) (
|
||||
205577 207222 (\PSC.SPACEDISP 205587 . 205866) (\PSC.SPACEWID 205868 . 206487) (\PSC.SYMBOLS 206489 .
|
||||
207220)) (207331 210322 (\POSTSCRIPT.NSHASH 207341 . 210320)) (255096 255802 (POSTSCRIPTSEND 255106 .
|
||||
255800)))))
|
||||
STOP
|
||||
|
||||
Binary file not shown.
243
library/PRESS
243
library/PRESS
@@ -1,21 +1,17 @@
|
||||
(DEFINE-FILE-INFO PACKAGE "INTERLISP" READTABLE "INTERLISP" BASE 10)
|
||||
|
||||
(FILECREATED "10-Apr-2023 07:15:37" {DSK}<home>larry>il>medley>library>PRESS.;2 452576Q
|
||||
(FILECREATED "14-Jul-2025 22:58:49" {WMEDLEY}<library>PRESS.;4 453237Q
|
||||
|
||||
:EDIT-BY "lmm"
|
||||
:EDIT-BY rmk
|
||||
|
||||
:CHANGES-TO (VARS PRESSCOMS)
|
||||
:CHANGES-TO (FNS \DSPFONT.PRESS)
|
||||
|
||||
:PREVIOUS-DATE " 5-Feb-2021 22:18:06" {DSK}<home>larry>il>medley>library>PRESS.;1)
|
||||
:PREVIOUS-DATE " 5-Jul-2025 18:52:40" {WMEDLEY}<library>PRESS.;3)
|
||||
|
||||
|
||||
(* ; "
|
||||
Copyright (c) 1981-1987, 1990, 1993, 2021 by Venue & Xerox Corporation.
|
||||
")
|
||||
|
||||
(PRETTYCOMPRINT PRESSCOMS)
|
||||
|
||||
(RPAQQ PRESSCOMS
|
||||
(RPAQQ PRESSCOMS
|
||||
[
|
||||
|
||||
(* ;;; "PRESS printing support module")
|
||||
@@ -1321,46 +1317,44 @@ Copyright (c) 1981-1987, 1990, 1993, 2021 by Venue & Xerox Corporation.
|
||||
(freplace PRClippingRegion of PRDATA with REGION))])])
|
||||
|
||||
(\DSPFONT.PRESS
|
||||
[LAMBDA (PRSTREAM FONT) (* ; "Edited 12-Jun-90 10:40 by mitani")
|
||||
[LAMBDA (PRSTREAM FONT) (* ; "Edited 14-Jul-2025 22:58 by rmk")
|
||||
(* ; "Edited 5-Jul-2025 18:49 by rmk")
|
||||
|
||||
(* * The DSPFONT method for PRESS-type image streams --
|
||||
change the stream's current font to FONT)
|
||||
(* ;;; "The DSPFONT method for PRESS-type image streams -- change the stream's current font to FONT")
|
||||
|
||||
(* * The DSPFONT method for PRESS-type image streams --
|
||||
change the stream's current font to FONT)
|
||||
|
||||
(PROG ((PRDATA (ffetch (STREAM IMAGEDATA) of PRSTREAM))
|
||||
CSINFO OLDFONT FDENTRY)
|
||||
(SETQ OLDFONT (ffetch PRFONT of PRDATA))
|
||||
(COND
|
||||
([OR (NULL FONT)
|
||||
(EQ OLDFONT (SETQ FONT (OR (\GETFONTDESC FONT 'PRESS T)
|
||||
(EQ OLDFONT (SETQ FONT (OR (FONTCREATE FONT NIL NIL NIL 'PRESS T)
|
||||
(FONTCOPY OLDFONT FONT]
|
||||
|
||||
(* If no new font was specified, or it's the same font, don't bother with it.)
|
||||
|
||||
(* ;
|
||||
"If no new font was specified, or it's the same font, don't bother with it.")
|
||||
(RETURN OLDFONT)))
|
||||
(SHOW.PRESS PRSTREAM)
|
||||
(SETQ CSINFO (\GETCHARSETINFO 0 FONT T)) (* Since PRESS only uses charset 0
|
||||
for now....)
|
||||
(SETQ CSINFO (\GETCHARSETINFO 0 FONT T)) (* ;
|
||||
"Since PRESS only uses charset 0 for now....")
|
||||
(SETQ FDENTRY (\DEFINEFONT.PRESS PRSTREAM FONT))
|
||||
(COND
|
||||
((NEQ (ffetch FONTSET# of FDENTRY)
|
||||
(ffetch FONTSET# of (ffetch PRCURRFDE of PRDATA)))
|
||||
(* Swtich font sets)
|
||||
(* ; "Swtich font sets")
|
||||
(\ENTITYEND.PRESS PRSTREAM)
|
||||
(\ENTITYSTART.PRESS PRSTREAM)))
|
||||
(freplace PRCURRFDE of PRDATA with FDENTRY)
|
||||
(freplace PRFONT of PRDATA with FONT)
|
||||
(\BOUT (ffetch ELSTREAM of PRDATA)
|
||||
(LOGOR FontCode (ffetch FONT# of FDENTRY)))
|
||||
(freplace PRWIDTHSCACHE of PRDATA with (fetch (CHARSETINFO WIDTHS)
|
||||
OF CSINFO))
|
||||
(freplace PRWIDTHSCACHE of PRDATA with (fetch (CHARSETINFO WIDTHS) OF CSINFO))
|
||||
[\SETSPACE.PRESS PRSTREAM (FIXR (TIMES (ffetch PRSPACEFACTOR of PRDATA)
|
||||
(\FGETWIDTH (ffetch PRWIDTHSCACHE
|
||||
of PRDATA)
|
||||
(CHARCODE SPACE]
|
||||
[freplace PRLINEFEED of PRDATA with (IDIFFERENCE (CONSTANT (IMINUS
|
||||
MicasPerPoint
|
||||
))
|
||||
(FONTPROP FONT 'HEIGHT]
|
||||
(\FGETWIDTH (ffetch PRWIDTHSCACHE of PRDATA)
|
||||
(CHARCODE SPACE]
|
||||
[freplace PRLINEFEED of PRDATA with (IDIFFERENCE (CONSTANT (IMINUS MicasPerPoint))
|
||||
(FONTPROP FONT 'HEIGHT]
|
||||
(\FIXLINELENGTH.PRESS PRSTREAM)
|
||||
(RETURN OLDFONT])
|
||||
|
||||
@@ -2417,51 +2411,55 @@ Copyright (c) 1981-1987, 1990, 1993, 2021 by Venue & Xerox Corporation.
|
||||
(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 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)
|
||||
(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?)
|
||||
(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.)
|
||||
(* ;; "Used during curve/line clipping to remember whether we were on-screen or not, so we know when to force a SETXY.")
|
||||
|
||||
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)
|
||||
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)
|
||||
(* ;
|
||||
"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)
|
||||
(* ;; "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")
|
||||
|
||||
)
|
||||
PRSPACEFACTOR _ 1 PRXPOS _ 0 PRYPOS _ 0 (* We assume that the origin is
|
||||
translated to the bottom-left of the
|
||||
page region)
|
||||
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
|
||||
@@ -2492,7 +2490,8 @@ Copyright (c) 1981-1987, 1990, 1993, 2021 by Venue & Xerox Corporation.
|
||||
(/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
|
||||
FLAG FLAG POINTER POINTER POINTER POINTER POINTER FLAG POINTER)
|
||||
FLAG FLAG POINTER POINTER POINTER POINTER POINTER FLAG POINTER POINTER POINTER POINTER
|
||||
)
|
||||
'((PRESSDATA 0 POINTER)
|
||||
(PRESSDATA 2 POINTER)
|
||||
(PRESSDATA 4 POINTER)
|
||||
@@ -2527,14 +2526,18 @@ Copyright (c) 1981-1987, 1990, 1993, 2021 by Venue & Xerox Corporation.
|
||||
(PRESSDATA 50 POINTER)
|
||||
(PRESSDATA 52 POINTER)
|
||||
(PRESSDATA 52 (FLAGBITS . 0))
|
||||
(PRESSDATA 54 POINTER))
|
||||
'56)
|
||||
(PRESSDATA 54 POINTER)
|
||||
(PRESSDATA 56 POINTER)
|
||||
(PRESSDATA 58 POINTER)
|
||||
(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
|
||||
FLAG FLAG POINTER POINTER POINTER POINTER POINTER FLAG POINTER)
|
||||
FLAG FLAG POINTER POINTER POINTER POINTER POINTER FLAG POINTER POINTER POINTER POINTER
|
||||
)
|
||||
'((PRESSDATA 0 POINTER)
|
||||
(PRESSDATA 2 POINTER)
|
||||
(PRESSDATA 4 POINTER)
|
||||
@@ -2569,8 +2572,11 @@ Copyright (c) 1981-1987, 1990, 1993, 2021 by Venue & Xerox Corporation.
|
||||
(PRESSDATA 50 POINTER)
|
||||
(PRESSDATA 52 POINTER)
|
||||
(PRESSDATA 52 (FLAGBITS . 0))
|
||||
(PRESSDATA 54 POINTER))
|
||||
'56)
|
||||
(PRESSDATA 54 POINTER)
|
||||
(PRESSDATA 56 POINTER)
|
||||
(PRESSDATA 58 POINTER)
|
||||
(PRESSDATA 60 POINTER))
|
||||
'62)
|
||||
|
||||
(RPAQ? DEFAULTPAGEREGION (CREATEREGION 2794 1905 16256 24765))
|
||||
|
||||
@@ -2597,7 +2603,7 @@ Copyright (c) 1981-1987, 1990, 1993, 2021 by Venue & Xerox Corporation.
|
||||
|
||||
|
||||
|
||||
(RPAQQ PRESSOPS
|
||||
(RPAQQ PRESSOPS
|
||||
(SetX SetY ShowCharacters ShowCharactersShortCode SkipCharactersShortCode
|
||||
ShowCharactersAndSkipCode SetSpaceXShortCode SetSpaceYShortCode FontCode
|
||||
SkipControlBytesImmediateCode AlternativeCode OnlyOnCopyCode SetXCode SetYCode
|
||||
@@ -2722,60 +2728,59 @@ Copyright (c) 1981-1987, 1990, 1993, 2021 by Venue & Xerox Corporation.
|
||||
(CREATECHARSET \CREATECHARSET.PRESS)
|
||||
(FONTSAVAILABLE \SEARCHPRESSFONTS)))
|
||||
|
||||
(ADDTOVAR PRINTERTYPES ((PRESS SPRUCE PENGUIN DOVER)
|
||||
(CANPRINT (PRESS))
|
||||
(STATUS PUP.PRINTER.STATUS)
|
||||
(PROPERTIES PUP.PRINTER.PROPERTIES)
|
||||
(SEND EFTP)
|
||||
(BITMAPSCALE NIL)
|
||||
(BITMAPFILE (PRESSBITMAP FILE BITMAP SCALEFACTOR REGION ROTATION TITLE)))
|
||||
((FULLPRESS RAVEN)
|
||||
(ADDTOVAR PRINTERTYPES
|
||||
((PRESS SPRUCE PENGUIN DOVER)
|
||||
(CANPRINT (PRESS))
|
||||
(STATUS PUP.PRINTER.STATUS)
|
||||
(PROPERTIES PUP.PRINTER.PROPERTIES)
|
||||
(SEND EFTP)
|
||||
(BITMAPSCALE NIL)
|
||||
(BITMAPFILE (PRESSBITMAP FILE BITMAP SCALEFACTOR REGION ROTATION TITLE)))
|
||||
((FULLPRESS RAVEN)
|
||||
(* ;
|
||||
"same as PRESS but can scale bitmaps")
|
||||
(CANPRINT (PRESS))
|
||||
(STATUS TRUE)
|
||||
(PROPERTIES NILL)
|
||||
(SEND EFTP)
|
||||
(BITMAPSCALE PRESS.BITMAPSCALE)
|
||||
(BITMAPFILE (FULLPRESSBITMAP FILE BITMAP SCALEFACTOR REGION ROTATION TITLE))))
|
||||
(CANPRINT (PRESS))
|
||||
(STATUS TRUE)
|
||||
(PROPERTIES NILL)
|
||||
(SEND EFTP)
|
||||
(BITMAPSCALE PRESS.BITMAPSCALE)
|
||||
(BITMAPFILE (FULLPRESSBITMAP FILE BITMAP SCALEFACTOR REGION ROTATION TITLE))))
|
||||
|
||||
(ADDTOVAR PRINTFILETYPES [PRESS (TEST PRESSFILEP)
|
||||
(EXTENSION (PRESS))
|
||||
(CONVERSION (TEXT MAKEPRESS TEDIT
|
||||
(LAMBDA (FILE PFILE FONTS HEADING)
|
||||
(SETQ FILE (OPENTEXTSTREAM FILE))
|
||||
(TEDIT.FORMAT.HARDCOPY FILE PFILE T NIL NIL
|
||||
NIL 'PRESS)
|
||||
(CLOSEF? FILE)
|
||||
PFILE])
|
||||
(PUTPROPS PRESS COPYRIGHT ("Venue & Xerox Corporation" 3675Q 3676Q 3677Q 3700Q 3701Q 3702Q 3703Q 3706Q
|
||||
3711Q 3745Q))
|
||||
(ADDTOVAR PRINTFILETYPES
|
||||
[PRESS (TEST PRESSFILEP)
|
||||
(EXTENSION (PRESS))
|
||||
(CONVERSION (TEXT MAKEPRESS TEDIT (LAMBDA (FILE PFILE FONTS HEADING)
|
||||
(SETQ FILE (OPENTEXTSTREAM FILE))
|
||||
(TEDIT.FORMAT.HARDCOPY FILE PFILE T NIL NIL
|
||||
NIL 'PRESS)
|
||||
(CLOSEF? FILE)
|
||||
PFILE])
|
||||
(DECLARE%: DONTCOPY
|
||||
(FILEMAP (NIL (15752Q 72731Q (\SEARCHPRESSFONTS 15764Q . 17721Q) (\GETPRESSFONTNAMES 17723Q . 26561Q)
|
||||
(\PRESSFAMILYCODELST 26563Q . 30505Q) (\DECODEPRESSFACEBYTE 30507Q . 33276Q) (\CREATEPRESSFONT 33300Q
|
||||
. 35545Q) (\CREATECHARSET.PRESS 35547Q . 72727Q)) (73366Q 127171Q (PRESSBITMAP 73400Q . 103002Q) (
|
||||
FULLPRESSBITMAP 103004Q . 111016Q) (SHOWREGION 111020Q . 112362Q) (SHOWPRESSBITMAPREGION 112364Q .
|
||||
113026Q) (PRESSWINDOW 113030Q . 117167Q) (\WRITEPRESSBITMAP 117171Q . 127167Q)) (127267Q 157142Q (
|
||||
\BCPLSOUT.PRESS 127301Q . 130256Q) (\PAGEPAD.PRESS 130260Q . 131515Q) (\ENTITYEND.PRESS 131517Q .
|
||||
137013Q) (\PARTEND.PRESS 137015Q . 141402Q) (\ENTITYSTART.PRESS 141404Q . 145015Q) (SETX.PRESS 145017Q
|
||||
. 146652Q) (SETXY.PRESS 146654Q . 151656Q) (SETY.PRESS 151660Q . 153260Q) (SHOW.PRESS 153262Q .
|
||||
157140Q)) (157224Q 274041Q (OPENPRSTREAM 157236Q . 164365Q) (\BITBLT.PRESS 164367Q . 167001Q) (
|
||||
\BLTSHADE.PRESS 167003Q . 170436Q) (\SCALEDBITBLT.PRESS 170440Q . 173064Q) (\BITMAPSIZE.PRESS 173066Q
|
||||
. 174026Q) (\CHARWIDTH.PRESS 174030Q . 176077Q) (\CLOSEF.PRESS 176101Q . 206070Q) (\DRAWLINE.PRESS
|
||||
206072Q . 207430Q) (\ENDPAGE.PRESS 207432Q . 210702Q) (NEWLINE.PRESS 210704Q . 212315Q) (NEWPAGE.PRESS
|
||||
212317Q . 212611Q) (SETUPFONTS.PRESS 212613Q . 216344Q) (\DEFINEFONT.PRESS 216346Q . 220470Q) (
|
||||
\DSPBOTTOMMARGIN.PRESS 220472Q . 221266Q) (\DSPCLIPPINGREGION.PRESS 221270Q . 222662Q) (\DSPFONT.PRESS
|
||||
222664Q . 227656Q) (\DSPLEFTMARGIN.PRESS 227660Q . 230540Q) (\DSPLINEFEED.PRESS 230542Q . 232052Q) (
|
||||
\DSPRIGHTMARGIN.PRESS 232054Q . 232737Q) (\DSPSPACEFACTOR.PRESS 232741Q . 234345Q) (
|
||||
\DSPTOPMARGIN.PRESS 234347Q . 235132Q) (\DSPXPOSITION.PRESS 235134Q . 235652Q) (\DSPYPOSITION.PRESS
|
||||
235654Q . 236372Q) (\FIXLINELENGTH.PRESS 236374Q . 240471Q) (\OUTCHARFN.PRESS 240473Q . 247527Q) (
|
||||
\SETSPACE.PRESS 247531Q . 251025Q) (\STARTPAGE.PRESS 251027Q . 255370Q) (\STRINGWIDTH.PRESS 255372Q .
|
||||
270750Q) (SHOWRECTANGLE.PRESS 270752Q . 271473Q) (\PRESS.CONVERT.NSCHARACTER 271475Q . 274037Q)) (
|
||||
274101Q 405143Q (\ENDVECRUN 274113Q . 303731Q) (\VECENCODE 303733Q . 304762Q) (\VECPUT 304764Q .
|
||||
314412Q) (\VECSKIP 314414Q . 315147Q) (\VECFONTINIT 315151Q . 322274Q) (\DRAWCIRCLE.PRESS 322276Q .
|
||||
324601Q) (\DRAWARC.PRESS 324603Q . 325374Q) (\DRAWCURVE.PRESS 325376Q . 333334Q) (
|
||||
\DRAWCURVE.PRESS.LINE 333336Q . 342203Q) (\DRAWELLIPSE.PRESS 342205Q . 345764Q) (\GETBRUSHFONT.PRESS
|
||||
345766Q . 347670Q) (\PRESSCURVE2 347672Q . 405141Q)) (410775Q 415621Q (\PRESSINIT 411007Q . 415617Q))
|
||||
(443570Q 446657Q (MAKEPRESS 443602Q . 444106Q) (PRESSFILEP 444110Q . 445665Q) (PRESS.BITMAPSCALE
|
||||
445667Q . 446655Q)))))
|
||||
(FILEMAP (NIL (15566Q 72545Q (\SEARCHPRESSFONTS 15600Q . 17535Q) (\GETPRESSFONTNAMES 17537Q . 26375Q)
|
||||
(\PRESSFAMILYCODELST 26377Q . 30321Q) (\DECODEPRESSFACEBYTE 30323Q . 33112Q) (\CREATEPRESSFONT 33114Q
|
||||
. 35361Q) (\CREATECHARSET.PRESS 35363Q . 72543Q)) (73202Q 127005Q (PRESSBITMAP 73214Q . 102616Q) (
|
||||
FULLPRESSBITMAP 102620Q . 110632Q) (SHOWREGION 110634Q . 112176Q) (SHOWPRESSBITMAPREGION 112200Q .
|
||||
112642Q) (PRESSWINDOW 112644Q . 117003Q) (\WRITEPRESSBITMAP 117005Q . 127003Q)) (127103Q 156756Q (
|
||||
\BCPLSOUT.PRESS 127115Q . 130072Q) (\PAGEPAD.PRESS 130074Q . 131331Q) (\ENTITYEND.PRESS 131333Q .
|
||||
136627Q) (\PARTEND.PRESS 136631Q . 141216Q) (\ENTITYSTART.PRESS 141220Q . 144631Q) (SETX.PRESS 144633Q
|
||||
. 146466Q) (SETXY.PRESS 146470Q . 151472Q) (SETY.PRESS 151474Q . 153074Q) (SHOW.PRESS 153076Q .
|
||||
156754Q)) (157040Q 273644Q (OPENPRSTREAM 157052Q . 164201Q) (\BITBLT.PRESS 164203Q . 166615Q) (
|
||||
\BLTSHADE.PRESS 166617Q . 170252Q) (\SCALEDBITBLT.PRESS 170254Q . 172700Q) (\BITMAPSIZE.PRESS 172702Q
|
||||
. 173642Q) (\CHARWIDTH.PRESS 173644Q . 175713Q) (\CLOSEF.PRESS 175715Q . 205704Q) (\DRAWLINE.PRESS
|
||||
205706Q . 207244Q) (\ENDPAGE.PRESS 207246Q . 210516Q) (NEWLINE.PRESS 210520Q . 212131Q) (NEWPAGE.PRESS
|
||||
212133Q . 212425Q) (SETUPFONTS.PRESS 212427Q . 216160Q) (\DEFINEFONT.PRESS 216162Q . 220304Q) (
|
||||
\DSPBOTTOMMARGIN.PRESS 220306Q . 221102Q) (\DSPCLIPPINGREGION.PRESS 221104Q . 222476Q) (\DSPFONT.PRESS
|
||||
222500Q . 227461Q) (\DSPLEFTMARGIN.PRESS 227463Q . 230343Q) (\DSPLINEFEED.PRESS 230345Q . 231655Q) (
|
||||
\DSPRIGHTMARGIN.PRESS 231657Q . 232542Q) (\DSPSPACEFACTOR.PRESS 232544Q . 234150Q) (
|
||||
\DSPTOPMARGIN.PRESS 234152Q . 234735Q) (\DSPXPOSITION.PRESS 234737Q . 235455Q) (\DSPYPOSITION.PRESS
|
||||
235457Q . 236175Q) (\FIXLINELENGTH.PRESS 236177Q . 240274Q) (\OUTCHARFN.PRESS 240276Q . 247332Q) (
|
||||
\SETSPACE.PRESS 247334Q . 250630Q) (\STARTPAGE.PRESS 250632Q . 255173Q) (\STRINGWIDTH.PRESS 255175Q .
|
||||
270553Q) (SHOWRECTANGLE.PRESS 270555Q . 271276Q) (\PRESS.CONVERT.NSCHARACTER 271300Q . 273642Q)) (
|
||||
273704Q 404746Q (\ENDVECRUN 273716Q . 303534Q) (\VECENCODE 303536Q . 304565Q) (\VECPUT 304567Q .
|
||||
314215Q) (\VECSKIP 314217Q . 314752Q) (\VECFONTINIT 314754Q . 322077Q) (\DRAWCIRCLE.PRESS 322101Q .
|
||||
324404Q) (\DRAWARC.PRESS 324406Q . 325177Q) (\DRAWCURVE.PRESS 325201Q . 333137Q) (
|
||||
\DRAWCURVE.PRESS.LINE 333141Q . 342006Q) (\DRAWELLIPSE.PRESS 342010Q . 345567Q) (\GETBRUSHFONT.PRESS
|
||||
345571Q . 347473Q) (\PRESSCURVE2 347475Q . 404744Q)) (410600Q 415424Q (\PRESSINIT 410612Q . 415422Q))
|
||||
(444757Q 450046Q (MAKEPRESS 444771Q . 445275Q) (PRESSFILEP 445277Q . 447054Q) (PRESS.BITMAPSCALE
|
||||
447056Q . 450044Q)))))
|
||||
STOP
|
||||
|
||||
Binary file not shown.
@@ -1,13 +1,16 @@
|
||||
(DEFINE-FILE-INFO PACKAGE "INTERLISP" READTABLE "INTERLISP" BASE 10)
|
||||
|
||||
(FILECREATED "13-Jul-2025 19:39:57" {WMEDLEY}<library>TEDIT>TEDIT-LOOKS.;426 158882
|
||||
(FILECREATED " 1-Aug-2025 13:43:51"
|
||||
{DSK}<Users>kaplan>Local>medley3.5>working-medley>library>tedit>TEDIT-LOOKS.;443 160489
|
||||
|
||||
:EDIT-BY rmk
|
||||
|
||||
:CHANGES-TO (VARS TEDIT-LOOKSCOMS)
|
||||
(FNS \TEDIT.GET.INSERT.CHARLOOKS TEDIT.CARETLOOKS \TEDIT.CARETPIECE)
|
||||
:CHANGES-TO (RECORDS CHARLOOKS)
|
||||
(FNS \TEDIT.EQCLOOKS \TEDIT.TRANSLATE.ASCIICHARS \TEDIT.UNIQUIFY.ALL
|
||||
\TEDIT.FLUSH.UNUSED.LOOKS TEDIT.GET.LOOKS TEDIT.SUBLOOKS TEDIT.FINDLOOKS
|
||||
\TEDIT.CHANGE.CHARLOOKS)
|
||||
|
||||
:PREVIOUS-DATE "24-Apr-2025 23:47:54" {WMEDLEY}<library>TEDIT>TEDIT-LOOKS.;425)
|
||||
:PREVIOUS-DATE "29-Jul-2025 09:30:33" {WMEDLEY}<library>tedit>TEDIT-LOOKS.;435)
|
||||
|
||||
|
||||
(PRETTYCOMPRINT TEDIT-LOOKSCOMS)
|
||||
@@ -29,21 +32,23 @@
|
||||
(* ;;
|
||||
"Added by yabu.fx, for SUNLOADUP without DWIM. Not sure any of these are needed/used.")
|
||||
|
||||
(FNS \TEDIT.CREATE.DEFAULT.FMTSPEC \TEDIT.CREATE.FACE.MENU \TEDIT.CREATE.SIZE.MENU))
|
||||
[INITVARS (TEDIT.DEFAULT.FOLIO)
|
||||
(TEDIT.KNOWN.FONTS '((Classic 'CLASSIC)
|
||||
(FNS \TEDIT.CREATE.FACE.MENU \TEDIT.CREATE.SIZE.MENU))
|
||||
(INITVARS (TEDIT.DEFAULT.FOLIO)
|
||||
[TEDIT.KNOWN.FONTS '((Classic 'CLASSIC)
|
||||
(Modern 'MODERN)
|
||||
(Terminal 'TERMINAL)
|
||||
(Titan 'TITAN)
|
||||
(Gacha 'GACHA)
|
||||
(Helvetica 'HELVETICA)
|
||||
(Times% Roman 'TIMESROMAN]
|
||||
(VARS TEDIT.CHARLOOKS.FEATURES (TEDIT.DEFAULT.FMTSPEC (\TEDIT.CREATE.DEFAULT.FMTSPEC))
|
||||
(TEDIT.FACE.MENU (\TEDIT.CREATE.FACE.MENU))
|
||||
(TEDIT.DEFAULT.TAB 36)
|
||||
(TEDIT.DEFAULT.PARALOOKS `(QUAD LEFT LEFTMARGIN 0 1STLEFTMARGIN 0 RIGHTMARGIN 0
|
||||
PARALEADING 0 POSTPARALEADING 0 DEFAULTTAB 36))
|
||||
(TEDIT.DEFAULT.FMTSPEC TEDIT.DEFAULT.PARALOOKS))
|
||||
(VARS TEDIT.CHARLOOKS.FEATURES (TEDIT.FACE.MENU (\TEDIT.CREATE.FACE.MENU))
|
||||
(TEDIT.SIZE.MENU (\TEDIT.CREATE.SIZE.MENU)))
|
||||
(FNS \TEDIT.CHARLOOKS.FEATURE.CHECK)
|
||||
(GLOBALVARS TEDIT.CHARLOOKS.FEATURES TEDIT.KNOWN.FONTS TEDIT.FACE.MENU TEDIT.SIZE.MENU
|
||||
TEDIT.DEFAULT.FMTSPEC)
|
||||
(GLOBALVARS TEDIT.CHARLOOKS.FEATURES TEDIT.KNOWN.FONTS TEDIT.FACE.MENU TEDIT.SIZE.MENU)
|
||||
(ADDVARS (FONTVARS (TEDIT.PROMPT.FONT DEFAULTFONT)
|
||||
(TEDIT.ICON.FONT MENUFONT)))
|
||||
(COMS (* ; "Character looks functions")
|
||||
@@ -130,8 +135,8 @@
|
||||
"Spaces are treated as nonbreaking spaces")
|
||||
CLSTYLE (* ;
|
||||
"The style to be used in marking these characters; overridden by the other fields")
|
||||
CLUSERINFO (* ;
|
||||
"Any information that an outsider wants to include")
|
||||
CLPROPS (* ;
|
||||
"Was CLUSERINFO:Any information that an outsider wants to include")
|
||||
CLLEADER (* ;
|
||||
"For creating dotted and other kinds of leader")
|
||||
CLRULES
|
||||
@@ -148,8 +153,9 @@
|
||||
CLOFFSET _ 0 CLCOLOR _ 'BLACK (INIT (DEFPRINT 'CHARLOOKS (FUNCTION
|
||||
\TEDIT.CHARLOOKS.DEFPRINT
|
||||
)))
|
||||
(ACCESSFNS (CLNAME (fetch (CHARLOOKS CLFONTUNPARSE) of DATUM)
|
||||
(replace (CHARLOOKS CLFONTUNPARSE) of DATUM with NEWVALUE))))
|
||||
(ASSOCRECORD CLPROPS (CLUSERINFO CLCHARENCODING))
|
||||
[ACCESSFNS ((CLNAME (fetch (CHARLOOKS CLFONTUNPARSE) of DATUM)
|
||||
(replace (CHARLOOKS CLFONTUNPARSE) of DATUM with NEWVALUE])
|
||||
|
||||
(DATATYPE PARALOOKS (
|
||||
(* ;; "Describe the paragraph formatting for a paragraph in a TEdit document.")
|
||||
@@ -452,21 +458,6 @@
|
||||
|
||||
(DEFINEQ
|
||||
|
||||
(\TEDIT.CREATE.DEFAULT.FMTSPEC
|
||||
[LAMBDA NIL (* ; "Edited 8-Feb-2025 22:05 by rmk")
|
||||
(* ; "Edited 4-Aug-2024 17:13 by rmk")
|
||||
(* ; "Edited 28-Jul-2024 12:57 by rmk")
|
||||
(* ; "Edited 24-Aug-2023 23:31 by rmk")
|
||||
(create PARALOOKS
|
||||
QUAD _ 'LEFT
|
||||
1STLEFTMAR _ 0
|
||||
LEFTMAR _ 0
|
||||
RIGHTMAR _ 0
|
||||
LEADBEFORE _ 0
|
||||
LEADAFTER _ 0
|
||||
LINELEAD _ 0
|
||||
FMTDEFAULTTAB _ DEFAULTTAB])
|
||||
|
||||
(\TEDIT.CREATE.FACE.MENU
|
||||
[LAMBDA NIL
|
||||
(create MENU
|
||||
@@ -494,14 +485,19 @@
|
||||
(Helvetica 'HELVETICA)
|
||||
(Times% Roman 'TIMESROMAN)))
|
||||
|
||||
(RPAQ? TEDIT.DEFAULT.TAB 36)
|
||||
|
||||
(RPAQ? TEDIT.DEFAULT.PARALOOKS `(QUAD LEFT LEFTMARGIN 0 1STLEFTMARGIN 0 RIGHTMARGIN 0 PARALEADING 0
|
||||
POSTPARALEADING 0 DEFAULTTAB 36))
|
||||
|
||||
(RPAQ? TEDIT.DEFAULT.FMTSPEC TEDIT.DEFAULT.PARALOOKS)
|
||||
|
||||
(RPAQQ TEDIT.CHARLOOKS.FEATURES
|
||||
(DEVICE FAMILY SIZE FACE ITALIC WEIGHT SLOPE BOLD EXPANSION FONT INVERTED INVISIBLE OFFSET
|
||||
OFFSETINCREMENT OVERLINE PROTECTED SELECTPOINT SELAFTER SELBEFORE SIZEINCREMENT
|
||||
SMALLCAPS STRIKEOUT STYLE SUBSCRIPT SUPERSCRIPT UNBREAKABLE UNDERLINE USERINFO
|
||||
OFFSETTYPE COLOR))
|
||||
|
||||
(RPAQ TEDIT.DEFAULT.FMTSPEC (\TEDIT.CREATE.DEFAULT.FMTSPEC))
|
||||
|
||||
(RPAQ TEDIT.FACE.MENU (\TEDIT.CREATE.FACE.MENU))
|
||||
|
||||
(RPAQ TEDIT.SIZE.MENU (\TEDIT.CREATE.SIZE.MENU))
|
||||
@@ -535,8 +531,7 @@
|
||||
)
|
||||
(DECLARE%: DOEVAL@COMPILE DONTCOPY
|
||||
|
||||
(GLOBALVARS TEDIT.CHARLOOKS.FEATURES TEDIT.KNOWN.FONTS TEDIT.FACE.MENU TEDIT.SIZE.MENU
|
||||
TEDIT.DEFAULT.FMTSPEC)
|
||||
(GLOBALVARS TEDIT.CHARLOOKS.FEATURES TEDIT.KNOWN.FONTS TEDIT.FACE.MENU TEDIT.SIZE.MENU)
|
||||
)
|
||||
|
||||
(ADDTOVAR FONTVARS (TEDIT.PROMPT.FONT DEFAULTFONT)
|
||||
@@ -576,7 +571,9 @@
|
||||
CLNAME _ (FONTUNPARSE FONT])
|
||||
|
||||
(\TEDIT.EQCLOOKS
|
||||
[LAMBDA (CLOOK1 CLOOK2) (* ; "Edited 15-Apr-2025 16:45 by rmk")
|
||||
[LAMBDA (CLOOK1 CLOOK2) (* ; "Edited 1-Aug-2025 11:43 by rmk")
|
||||
(* ; "Edited 21-Jul-2025 23:43 by rmk")
|
||||
(* ; "Edited 15-Apr-2025 16:45 by rmk")
|
||||
(* ; "Edited 2-Jan-2025 21:01 by rmk")
|
||||
(* ; "Edited 18-Oct-2024 22:29 by rmk")
|
||||
(* ; "Edited 11-Aug-2024 20:41 by rmk")
|
||||
@@ -622,11 +619,12 @@
|
||||
(FGETCLOOKS CLOOK2 CLSTYLE))
|
||||
(EQ (FGETCLOOKS CLOOK1 CLUNBREAKABLE)
|
||||
(FGETCLOOKS CLOOK2 CLUNBREAKABLE))
|
||||
(EQUAL (FGETCLOOKS CLOOK1 CLUSERINFO)
|
||||
(FGETCLOOKS CLOOK2 CLUSERINFO])
|
||||
(EQUAL (FGETCLOOKS CLOOK1 CLPROPS)
|
||||
(FGETCLOOKS CLOOK2 CLPROPS])
|
||||
|
||||
(\TEDIT.SAMECLOOKS
|
||||
[LAMBDA (CLOOK1 CLOOK2 FEATURES) (* ; "Edited 15-Apr-2025 16:42 by rmk")
|
||||
[LAMBDA (CLOOK1 CLOOK2 FEATURES) (* ; "Edited 21-Jul-2025 23:45 by rmk")
|
||||
(* ; "Edited 15-Apr-2025 16:42 by rmk")
|
||||
(* ; "Edited 2-Jan-2025 20:31 by rmk")
|
||||
(* ; "Edited 31-Dec-2024 23:59 by rmk")
|
||||
(* ; "Edited 31-Jul-2024 00:06 by rmk")
|
||||
@@ -662,10 +660,12 @@
|
||||
(FGETCLOOKS CLOOK2 CLSTRIKE)))
|
||||
(UNDERLINE (EQ (FGETCLOOKS CLOOK1 CLULINE)
|
||||
(FGETCLOOKS CLOOK2 CLULINE)))
|
||||
(UNBREAKABLE (FGETCLOOKS CLOOK1 CLUNBREAKABLE)
|
||||
(FGETCLOOKS CLOOK2 CLUNBREAKABLE))
|
||||
(COLOR (FGETCLOOKS CLOOK1 CLCOLOR)
|
||||
(FGETCLOOKS CLOOK2 CLCOLOR))
|
||||
(UNBREAKABLE (EQ (FGETCLOOKS CLOOK1 CLUNBREAKABLE)
|
||||
(FGETCLOOKS CLOOK2 CLUNBREAKABLE)))
|
||||
(COLOR (EQUAL (FGETCLOOKS CLOOK1 CLCOLOR)
|
||||
(FGETCLOOKS CLOOK2 CLCOLOR)))
|
||||
(CHARENCODING (EQ (FGETCLOOKS CLOOK1 CLCHARENCODING)
|
||||
(FGETCLOOKS CLOOK2 CLCHARENCODING CLCOLOR)))
|
||||
(FACE (EQUAL (FONTPROP FONT1 'FACE)
|
||||
(FONTPROP FONT2 'FACE)))
|
||||
(ERROR (CONCAT F
|
||||
@@ -932,7 +932,9 @@
|
||||
(DEFINEQ
|
||||
|
||||
(\TEDIT.TRANSLATE.ASCIICHARS
|
||||
[LAMBDA (TSTREAM NOASCIIFONTS) (* ; "Edited 24-Apr-2025 23:47 by rmk")
|
||||
[LAMBDA (TSTREAM NOASCIIFONTS) (* ; "Edited 31-Jul-2025 09:56 by rmk")
|
||||
(* ; "Edited 28-Jul-2025 23:35 by rmk")
|
||||
(* ; "Edited 24-Apr-2025 23:47 by rmk")
|
||||
(* ; "Edited 30-Mar-2025 22:00 by rmk")
|
||||
(* ; "Edited 28-Mar-2025 14:24 by rmk")
|
||||
(* ; "Edited 2-Jan-2025 23:30 by rmk")
|
||||
@@ -967,7 +969,7 @@
|
||||
)
|
||||
(for CHNO CLOOKS TRANS MAPARRAY NEWFONTNAME STRING FAT CLOOKSLIST FAMILY TARRAYLAST
|
||||
from 1 by (PLEN PC) as PC inpieces (\TEDIT.FIRSTPIECE TEXTOBJ)
|
||||
eachtime (SETQ CLOOKS (PLOOKS PC))
|
||||
eachtime (SETQ CLOOKS (PCHARLOOKS PC))
|
||||
(SETQ FAMILY (FONTPROP (GETCLOOKS CLOOKS CLFONT)
|
||||
'FAMILY)) unless (OR (EQ OBJECT.PTYPE (PTYPE PC))
|
||||
(EQ FAMILY 'CLASSIC))
|
||||
@@ -984,7 +986,7 @@
|
||||
|
||||
(* ;; " Look backward for NEWFONTNAME, since that piece has already been coerced. The idea is to get Cyrillic to continue the previous looks (serif, san-serif)")
|
||||
|
||||
(SETQ NEWFONTNAME (FONTPROP (GETCLOOKS (PLOOKS (PREVPIECE PC))
|
||||
(SETQ NEWFONTNAME (FONTPROP (GETCLOOKS (PCHARLOOKS (PREVPIECE PC))
|
||||
CLFONT)
|
||||
'FAMILY))))
|
||||
(if (OR MAPARRAY NOASCIIFONTS)
|
||||
@@ -1022,8 +1024,8 @@
|
||||
(UNFOLD (PLEN PC)
|
||||
2)
|
||||
(PLEN PC)))
|
||||
(FSETPC PC PLOOKS (\TEDIT.TRANSLATE.ASCII.CHARLOOKS TEXTOBJ CLOOKS
|
||||
NEWFONTNAME))
|
||||
(FSETPC PC PCHARLOOKS (\TEDIT.TRANSLATE.ASCII.CHARLOOKS TEXTOBJ CLOOKS
|
||||
NEWFONTNAME))
|
||||
else
|
||||
(* ;; "Must be a text font (GACHA, TIMESROMAN, HELVETICA) \ASCIITONS is the translation array, mostly identities. ")
|
||||
|
||||
@@ -1047,19 +1049,12 @@
|
||||
do (\TEDIT.RPLCHARCODE TSTREAM I NEWCODE NEWLOOKS))
|
||||
(RETURN))) finally
|
||||
|
||||
(* ;; "Here we change the default and caret looks. Perhaps this should be done only if NOASCIIFONTS. But there is a risk that Ascii fonts and characters would slip in by future editing. ")
|
||||
(* ;; "Here we change the caret looks. Perhaps this should be done only if NOASCIIFONTS. But there is a risk that Ascii fonts and characters would slip in by future editing. ")
|
||||
|
||||
(CL:WHEN NOASCIIFONTS
|
||||
(SETQ CLOOKS (FGETTOBJ TEXTOBJ DEFAULTCHARLOOKS))
|
||||
(SETQ FAMILY (FONTPROP (GETCLOOKS CLOOKS CLFONT)
|
||||
'FAMILY))
|
||||
(CL:WHEN (AND (NEQ FAMILY 'CLASSIC)
|
||||
(SETQ TRANS (ASSOC FAMILY
|
||||
ASCIITONSTRANSLATIONS
|
||||
)))
|
||||
(FSETTOBJ TEXTOBJ DEFAULTCHARLOOKS
|
||||
(\TEDIT.TRANSLATE.ASCII.CHARLOOKS
|
||||
TEXTOBJ CLOOKS (CADDR TRANS))))
|
||||
(SETQ CLOOKS (FGETTOBJ TEXTOBJ CARETLOOKS))
|
||||
(SETQ FAMILY (FONTPROP (GETCLOOKS CLOOKS CLFONT)
|
||||
'FAMILY))
|
||||
@@ -1222,7 +1217,8 @@
|
||||
(RETURN NEWLOOK])
|
||||
|
||||
(\TEDIT.UNIQUIFY.ALL
|
||||
[LAMBDA (TEXTOBJ) (* ; "Edited 8-Feb-2025 20:24 by rmk")
|
||||
[LAMBDA (TEXTOBJ) (* ; "Edited 31-Jul-2025 09:17 by rmk")
|
||||
(* ; "Edited 8-Feb-2025 20:24 by rmk")
|
||||
(* ; "Edited 16-Mar-2024 10:03 by rmk")
|
||||
(* ; "Edited 14-Nov-2023 16:20 by rmk")
|
||||
(* ; "Edited 25-Aug-2023 08:57 by rmk")
|
||||
@@ -1236,7 +1232,7 @@
|
||||
(* ;;
|
||||
"Assure that the CHARLOOKS and PARALOOKS of every piece are in the cache.")
|
||||
|
||||
(change (PLOOKS PC)
|
||||
(change (PCHARLOOKS PC)
|
||||
(\TEDIT.UNIQUIFY.CHARLOOKS DATUM TEXTOBJ))
|
||||
(change (PPARALOOKS PC)
|
||||
(\TEDIT.UNIQUIFY.PARALOOKS DATUM TEXTOBJ))
|
||||
@@ -1250,7 +1246,8 @@
|
||||
(\TEDIT.UNIQUIFY.PARALOOKS DATUM TEXTOBJ])
|
||||
|
||||
(\TEDIT.FLUSH.UNUSED.LOOKS
|
||||
[LAMBDA (TEXTOBJ) (* ; "Edited 19-Feb-2025 11:56 by rmk")
|
||||
[LAMBDA (TEXTOBJ) (* ; "Edited 31-Jul-2025 09:17 by rmk")
|
||||
(* ; "Edited 19-Feb-2025 11:56 by rmk")
|
||||
(* ; "Edited 8-Feb-2025 20:36 by rmk")
|
||||
(* ; "Edited 16-Mar-2024 10:03 by rmk")
|
||||
(* ; "Edited 25-Aug-2023 08:03 by rmk")
|
||||
@@ -1269,7 +1266,7 @@
|
||||
|
||||
(* ;; "Run thru the pieces in the document, marking the looks that are really in use.")
|
||||
|
||||
(for PC inpieces (\TEDIT.FIRSTPIECE TEXTOBJ) do (FSETCLOOKS (PLOOKS PC)
|
||||
(for PC inpieces (\TEDIT.FIRSTPIECE TEXTOBJ) do (FSETCLOOKS (PCHARLOOKS PC)
|
||||
CLMARK T)
|
||||
(FSETPLOOKS (PPARALOOKS PC)
|
||||
FMTMARK T))
|
||||
@@ -1323,7 +1320,8 @@
|
||||
TSTREAM])
|
||||
|
||||
(TEDIT.GET.LOOKS
|
||||
[LAMBDA (TEXTOBJ CH#ORCHARLOOKS) (* ; "Edited 17-Mar-2024 00:27 by rmk")
|
||||
[LAMBDA (TEXTOBJ CH#ORCHARLOOKS) (* ; "Edited 31-Jul-2025 09:18 by rmk")
|
||||
(* ; "Edited 17-Mar-2024 00:27 by rmk")
|
||||
(* ; "Edited 14-Dec-2023 21:00 by rmk")
|
||||
(* ; "Edited 21-Jun-2023 11:10 by rmk")
|
||||
(* ; "Edited 22-Aug-2022 13:14 by rmk")
|
||||
@@ -1339,18 +1337,21 @@
|
||||
then (* ;
|
||||
"Empty document, use extant caret looks.")
|
||||
(FGETTOBJ TEXTOBJ CARETLOOKS)
|
||||
else (PLOOKS (\TEDIT.CHTOPC
|
||||
(OR (FIXP CH#ORCHARLOOKS)
|
||||
(GETSEL (if (type? SELECTION CH#ORCHARLOOKS)
|
||||
then CH#ORCHARLOOKS
|
||||
elseif (NULL CH#ORCHARLOOKS)
|
||||
then (TEXTSEL TEXTOBJ)
|
||||
else (\ILLEGAL.ARG CH#ORCHARLOOKS))
|
||||
CH#))
|
||||
TEXTOBJ])
|
||||
else (PCHARLOOKS (\TEDIT.CHTOPC
|
||||
(OR (FIXP CH#ORCHARLOOKS)
|
||||
(GETSEL (if (type? SELECTION
|
||||
CH#ORCHARLOOKS)
|
||||
then CH#ORCHARLOOKS
|
||||
elseif (NULL CH#ORCHARLOOKS)
|
||||
then (TEXTSEL TEXTOBJ)
|
||||
else (\ILLEGAL.ARG
|
||||
CH#ORCHARLOOKS))
|
||||
CH#))
|
||||
TEXTOBJ])
|
||||
|
||||
(TEDIT.SUBLOOKS
|
||||
[LAMBDA (TSTREAM OLDLOOKSLIST NEWLOOKSLIST) (* ; "Edited 22-Apr-2025 20:41 by rmk")
|
||||
[LAMBDA (TSTREAM OLDLOOKSLIST NEWLOOKSLIST) (* ; "Edited 31-Jul-2025 09:20 by rmk")
|
||||
(* ; "Edited 22-Apr-2025 20:41 by rmk")
|
||||
(* ; "Edited 20-Apr-2025 13:26 by rmk")
|
||||
(* ; "Edited 6-Apr-2025 14:27 by rmk")
|
||||
(* ; "Edited 5-Apr-2025 13:31 by rmk")
|
||||
@@ -1377,7 +1378,7 @@
|
||||
(NEWLOOKS _ (\TEDIT.PARSE.CHARLOOKS.LIST NEWLOOKSLIST NIL TEXTOBJ))
|
||||
(FEATURELIST _ (for A on OLDLOOKSLIST by (CDDR A) collect (CAR A)))
|
||||
inpieces (\TEDIT.FIRSTPIECE TEXTOBJ) as CH# from 1 by (PLEN PC)
|
||||
when (\TEDIT.SAMECLOOKS OLDLOOKS (PLOOKS PC)
|
||||
when (\TEDIT.SAMECLOOKS OLDLOOKS (PCHARLOOKS PC)
|
||||
FEATURELIST) do (CL:UNLESS CHANGEMADE
|
||||
(SETQ CHANGEMADE T)
|
||||
(SETQ SEL (TEXTSEL TEXTOBJ))
|
||||
@@ -1388,12 +1389,12 @@
|
||||
(* ;;
|
||||
"Note that we may be creating new looks each time, depending on what is there and what is changed.")
|
||||
|
||||
(FSETPC PC PLOOKS (\TEDIT.UNIQUIFY.CHARLOOKS
|
||||
(\TEDIT.PARSE.CHARLOOKS.LIST
|
||||
NEWLOOKSLIST
|
||||
(PLOOKS PC)
|
||||
TEXTOBJ)
|
||||
TEXTOBJ))
|
||||
(FSETPC PC PCHARLOOKS (\TEDIT.UNIQUIFY.CHARLOOKS
|
||||
(\TEDIT.PARSE.CHARLOOKS.LIST
|
||||
NEWLOOKSLIST
|
||||
(PCHARLOOKS PC)
|
||||
TEXTOBJ)
|
||||
TEXTOBJ))
|
||||
|
||||
(* ;; "This goes piece by piece, each one adding to the collection of dirty lines. We keep track of the first and last changes")
|
||||
|
||||
@@ -1406,7 +1407,8 @@
|
||||
(RETURN CHANGEMADE)))])
|
||||
|
||||
(TEDIT.FINDLOOKS
|
||||
[LAMBDA (TEXTSTREAM OLDLOOKSLIST CH#) (* ; "Edited 17-Mar-2024 00:27 by rmk")
|
||||
[LAMBDA (TEXTSTREAM OLDLOOKSLIST CH#) (* ; "Edited 31-Jul-2025 09:18 by rmk")
|
||||
(* ; "Edited 17-Mar-2024 00:27 by rmk")
|
||||
(* ; "Edited 3-Dec-2023 00:09 by rmk")
|
||||
(* ; "Edited 13-Nov-2023 00:26 by rmk")
|
||||
(* ; "Edited 18-Apr-2023 23:53 by rmk")
|
||||
@@ -1428,10 +1430,11 @@
|
||||
[for PC PCLAST FOUNDCH# (OLDLOOKS _ (\TEDIT.PARSE.CHARLOOKS.LIST OLDLOOKSLIST NIL
|
||||
TEXTOBJ))
|
||||
(FEATURELIST _ (for A on OLDLOOKSLIST by (CDDR A) collect (CAR A)))
|
||||
inpieces (\TEDIT.CHTOPC CH# TEXTOBJ) when (\TEDIT.SAMECLOOKS OLDLOOKS (PLOOKS PC)
|
||||
inpieces (\TEDIT.CHTOPC CH# TEXTOBJ) when (\TEDIT.SAMECLOOKS OLDLOOKS (PCHARLOOKS
|
||||
PC)
|
||||
FEATURELIST)
|
||||
do [SETQ PCLAST (find PC1 inpieces (NEXTPIECE PC)
|
||||
suchthat (NOT (\TEDIT.SAMECLOOKS OLDLOOKS (PLOOKS PC1)
|
||||
suchthat (NOT (\TEDIT.SAMECLOOKS OLDLOOKS (PCHARLOOKS PC1)
|
||||
FEATURELIST]
|
||||
(SETQ PCLAST (CL:IF PCLAST
|
||||
(PREVPIECE PCLAST)
|
||||
@@ -1449,7 +1452,8 @@
|
||||
(DEFINEQ
|
||||
|
||||
(\TEDIT.CHANGE.CHARLOOKS
|
||||
[LAMBDA (TSTREAM NEWLOOKS TARGETSEL) (* ; "Edited 22-Apr-2025 20:17 by rmk")
|
||||
[LAMBDA (TSTREAM NEWLOOKS TARGETSEL) (* ; "Edited 31-Jul-2025 09:18 by rmk")
|
||||
(* ; "Edited 22-Apr-2025 20:17 by rmk")
|
||||
(* ; "Edited 21-Apr-2025 20:17 by rmk")
|
||||
(* ; "Edited 20-Apr-2025 13:27 by rmk")
|
||||
(* ; "Edited 16-Apr-2025 09:03 by rmk")
|
||||
@@ -1508,7 +1512,7 @@
|
||||
(* ;; "Verify that all of the new looks are OK before we change anything")
|
||||
|
||||
[SETQ NEWLOOKSLIST (for PC OLDCHARLOOKS inselpieces SELPIECES
|
||||
collect (SETQ OLDCHARLOOKS (PLOOKS PC))
|
||||
collect (SETQ OLDCHARLOOKS (PCHARLOOKS PC))
|
||||
(OR (CL:IF (type? CHARLOOKS NEWLOOKS)
|
||||
NEWLOOKS
|
||||
(\TEDIT.CHANGE.CHARLOOKS.NEW NEWLOOKS OLDCHARLOOKS
|
||||
@@ -1519,12 +1523,12 @@
|
||||
[for PC UNDOLIST NEWCHARLOOKS (FIRSTCHAR _ (GETSPC SELPIECES SPFIRSTCHAR))
|
||||
(ORIGFILEPTR _ (\TEDIT.TEXTGETFILEPTR TSTREAM))
|
||||
OLDCHARLOOKS inselpieces SELPIECES as NEWCHARLOOKS in NEWLOOKSLIST
|
||||
do (SETQ OLDCHARLOOKS (PLOOKS PC))
|
||||
do (SETQ OLDCHARLOOKS (PCHARLOOKS PC))
|
||||
(add FIRSTCHAR (PLEN PC)) (* ;
|
||||
"Beginning of next piece--where to stop undoing if new pieces inserted")
|
||||
(if (\TEDIT.EQCLOOKS OLDCHARLOOKS NEWCHARLOOKS)
|
||||
then (SETQ OLDCHARLOOKS NIL) (* ; "Undo skips if NIL")
|
||||
else (FSETPC PC PLOOKS (\TEDIT.UNIQUIFY.CHARLOOKS NEWCHARLOOKS TEXTOBJ))
|
||||
else (FSETPC PC PCHARLOOKS (\TEDIT.UNIQUIFY.CHARLOOKS NEWCHARLOOKS TEXTOBJ))
|
||||
(CL:UNLESS DIRTY (* ;
|
||||
"Resetting DIRTY is expensive, only do it once ")
|
||||
(FSETTOBJ TEXTOBJ \DIRTY T)
|
||||
@@ -2033,7 +2037,8 @@
|
||||
join (LIST PROPNAME PROP])
|
||||
|
||||
(\TEDIT.PARSE.PARALOOKS.LIST
|
||||
[LAMBDA (NEWLOOKS OLDLOOKS TEXTOBJ) (* ; "Edited 19-Feb-2025 11:57 by rmk")
|
||||
[LAMBDA (NEWLOOKS OLDPARALOOKS) (* ; "Edited 28-Jul-2025 23:19 by rmk")
|
||||
(* ; "Edited 19-Feb-2025 11:57 by rmk")
|
||||
(* ; "Edited 8-Feb-2025 22:27 by rmk")
|
||||
(* ; "Edited 28-Jul-2024 22:14 by rmk")
|
||||
(* ; "Edited 29-Apr-2024 11:03 by rmk")
|
||||
@@ -2042,17 +2047,28 @@
|
||||
(* ; "Edited 5-Sep-2022 15:39 by rmk")
|
||||
(* ;
|
||||
"Edited 3-Jul-93 21:49 by sybalskY:MV:ENVOS")
|
||||
(* ;
|
||||
"Apply a given format spec to the paragraphs which are included in this guy.")
|
||||
|
||||
(* ;; "Produce a PARALOOKS based on the priority union of NEWLOOKS over OLDLOOKS. ")
|
||||
|
||||
(* ;; "This causes errors for invalid arguments (e.g. nonnumeric). User values should be checked and reported by the caller.ÿ<02><>ÿ | ||||