From b7e585866cea95af3b82e3ef6a07d6888946b80c Mon Sep 17 00:00:00 2001 From: rmkaplan Date: Thu, 4 Dec 2025 18:04:48 -0800 Subject: [PATCH] SPREADFONTSPEC using FONTSPEC declaration --- sources/FONT | 101 +++++++++++++++++++++++----------------------- sources/FONT.LCOM | Bin 69651 -> 69751 bytes 2 files changed, 51 insertions(+), 50 deletions(-) diff --git a/sources/FONT b/sources/FONT index 436f15b1..1abd8385 100644 --- a/sources/FONT +++ b/sources/FONT @@ -1,10 +1,11 @@ (DEFINE-FILE-INFO PACKAGE "INTERLISP" READTABLE "INTERLISP" BASE 10) -(FILECREATED " 3-Dec-2025 23:42:55" {WMEDLEY}FONT.;640 281223 +(FILECREATED " 4-Dec-2025 09:46:06" {WMEDLEY}FONT.;644 281393 :EDIT-BY rmk - :CHANGES-TO (FNS \FINDFONTFILE) + :CHANGES-TO (MACROS SPREADFONTSPEC) + (FNS \FINDFONTFILE) :PREVIOUS-DATE " 2-Dec-2025 16:01:58" {WMEDLEY}FONT.;639) @@ -973,18 +974,18 @@ ) (DECLARE%: EVAL@COMPILE -(PUTPROPS SPREADFONTSPEC MACRO [(FONTSPEC) - (LET ((FS FONTSPEC)) +(PUTPROPS SPREADFONTSPEC MACRO [(FSPEC) + (LET ((FS FSPEC)) - (* ;; "Unwrap a FONTSPEC sequentially") + (* ;; "Unwrap a FONTSPEC ") (CL:WHEN (type? FONTDESCRIPTOR FS) (SETQ FS (FONTPROP FS 'SPEC))) - (SETQ FAMILY (pop FS)) - (SETQ SIZE (pop FS)) - (SETQ FACE (pop FS)) - (SETQ ROTATION (pop FS)) - (SETQ DEVICE (pop FS]) + (SETQ FAMILY (fetch (FONTSPEC FSFAMILY) of FS)) + (SETQ SIZE (fetch (FONTSPEC FSSIZE) of FS)) + (SETQ FACE (fetch (FONTSPEC FSFACE) of FS)) + (SETQ ROTATION (fetch (FONTSPEC FSROTATION) of FS)) + (SETQ DEVICE (fetch (FONTSPEC FSDEVICE) of FS FS]) ) (DEFINEQ @@ -4597,44 +4598,44 @@ (ADDTOVAR LAMA FONTCOPY) ) (DECLARE%: DONTCOPY - (FILEMAP (NIL (12148 21861 (CHARWIDTH 12158 . 12943) (CHARWIDTHY 12945 . 14462) (STRINGWIDTH 14464 . -15557) (\CHARWIDTH.DISPLAY 15559 . 15972) (\STRINGWIDTH.DISPLAY 15974 . 16398) (\STRINGWIDTH.GENERIC -16400 . 21859)) (21862 28382 (DEFAULTFONT 21872 . 23157) (FONTCLASS 23159 . 25321) (FONTCLASSUNPARSE -25323 . 26222) (FONTCLASSCOMPONENT 26224 . 26812) (SETFONTCLASSCOMPONENT 26814 . 27256) ( -GETFONTCLASSCOMPONENT 27258 . 28380)) (30095 47599 (FONTCREATE 30105 . 33350) (FONTCREATE1 33352 . -35967) (FONTCREATE.SLUGFD 35969 . 37451) (\FONT.CHECKARGS1 37453 . 41976) (\FONTCREATE1.NOFN 41978 . -42192) (FONTFILEP 42194 . 43082) (\READCHARSET 43084 . 47597)) (47600 54676 (\FONT.CHECKARGS 47610 . -54359) (\CHARSET.CHECK 54361 . 54674)) (54677 57937 (COERCEFONTSPEC 54687 . 57935)) (60007 61346 ( -MAKEFONTSPEC 60017 . 61344)) (61347 69524 (COMPLETE.FONT 61357 . 63880) (COMPLETEFONTP 63882 . 64505) -(COMPLETE.CHARSET 64507 . 67192) (PRUNESLUGCSINFOS 67194 . 68119) (MONOSPACEFONTP 68121 . 69522)) ( -69563 77818 (FONTASCENT 69573 . 69957) (FONTDESCENT 69959 . 70444) (FONTHEIGHT 70446 . 70848) ( -FONTPROP 70850 . 77095) (\AVGCHARWIDTH 77097 . 77816)) (78475 79383 (FONTDEVICEPROP 78485 . 79381)) ( -79429 80283 (EDITCHAR 79439 . 80281)) (80329 92519 (GETCHARBITMAP 80339 . 81463) (PUTCHARBITMAP 81465 - . 83623) (\GETCHARBITMAP.CSINFO 83625 . 85641) (\PUTCHARBITMAP.CSINFO 85643 . 92517)) (92520 113000 ( -MOVECHARBITMAP 92530 . 94424) (MOVEFONTCHARS 94426 . 98386) (\MOVEFONTCHAR 98388 . 103231) ( -\MOVEFONTCHARS.SOURCEDATA 103233 . 109338) (\MAKESLUGCHAR 109340 . 111875) (SLUGCHARP.DISPLAY 111877 - . 112998)) (113933 135098 (FONTFILES 113943 . 115776) (\FINDFONTFILE 115778 . 118087) (\FONTFILENAMES - 118089 . 119084) (\FONTFILENAME 119086 . 123069) (\FONTFILENAME.OLD 123071 . 126020) ( -\FONTFILENAME.NEW 126022 . 128279) (FONTSPECFROMFILENAME 128281 . 132817) (\FONTINFOFROMFILENAME.OLD -132819 . 135096)) (135365 171168 (FONTCOPY 135375 . 140438) (FONTP 140440 . 140739) (FONTUNPARSE -140741 . 142460) (SETFONTDESCRIPTOR 142462 . 143926) (\STREAMCHARWIDTH 143928 . 148092) ( -\COERCECHARSET 148094 . 150689) (\BUILDSLUGCSINFO 150691 . 154314) (\FONTSYMBOL 154316 . 154966) ( -\DEVICESYMBOL 154968 . 155837) (\FONTFACE 155839 . 163029) (\FONTFACE.COLOR 163031 . 169951) ( -SETFONTCHARENCODING 169953 . 171166)) (171169 191468 (FONTSAVAILABLE 171179 . 176533) (FONTEXISTS? -176535 . 180513) (\SEARCHFONTFILES 180515 . 183600) (FLUSHFONTCACHE 183602 . 185825) (FLUSHFONTSINCORE - 185827 . 186024) (FINDFONTFILES 186026 . 189240) (SORTFONTSPECS 189242 . 191466)) (191469 195078 ( -MATCHFONTFACE 191479 . 192294) (MAKEFONTFACE 192296 . 193322) (FONTFACETOATOM 193324 . 195076)) ( -195709 196201 (\UNITWIDTHSVECTOR 195719 . 196199)) (210795 212862 (FONTDESCRIPTOR.DEFPRINT 210805 . -212384) (FONTCLASS.DEFPRINT 212386 . 212860)) (216691 219481 (\CREATEKERNELEMENT 216701 . 217059) ( -\FSETLEFTKERN 217061 . 217552) (\FGETLEFTKERN 217554 . 219479)) (219482 229118 (\CREATEFONT 219492 . -220931) (\CREATECHARSET 220933 . 224869) (\INSTALLCHARSETINFO 224871 . 228205) ( -\INSTALLCHARSETINFO.CHARENCODING 228207 . 229116)) (229440 230804 (\FONTRESETCHARWIDTHS 229450 . -230802)) (231434 241481 (\CREATEDISPLAYFONT 231444 . 233293) (\CREATECHARSET.DISPLAY 233295 . 239004) -(\FONTEXISTS?.DISPLAY 239006 . 241479)) (241482 256347 (STRIKEFONT.FILEP 241492 . 242380) ( -STRIKEFONT.GETCHARSET 242382 . 247974) (WRITESTRIKEFONTFILE 247976 . 252887) (STRIKECSINFO 252889 . -256345)) (256378 272695 (MAKEBOLD.CHARSET 256388 . 260037) (MAKEBOLD.CHAR 260039 . 261791) ( -MAKEITALIC.CHARSET 261793 . 265466) (MAKEITALIC.CHAR 265468 . 267814) (\SFMAKEBOLD 267816 . 270040) ( -\SFMAKEITALIC 270042 . 272693)) (272696 276845 (\SFMAKEROTATEDFONT 272706 . 274107) (\SFROTATECSINFO -274109 . 274746) (\SFROTATEFONTCHARACTERS 274748 . 275128) (\SFROTATECSINFOOFFSETS 275130 . 276843)) ( -276846 278227 (\SFMAKECOLOR 276856 . 278225))))) + (FILEMAP (NIL (12190 21903 (CHARWIDTH 12200 . 12985) (CHARWIDTHY 12987 . 14504) (STRINGWIDTH 14506 . +15599) (\CHARWIDTH.DISPLAY 15601 . 16014) (\STRINGWIDTH.DISPLAY 16016 . 16440) (\STRINGWIDTH.GENERIC +16442 . 21901)) (21904 28424 (DEFAULTFONT 21914 . 23199) (FONTCLASS 23201 . 25363) (FONTCLASSUNPARSE +25365 . 26264) (FONTCLASSCOMPONENT 26266 . 26854) (SETFONTCLASSCOMPONENT 26856 . 27298) ( +GETFONTCLASSCOMPONENT 27300 . 28422)) (30137 47641 (FONTCREATE 30147 . 33392) (FONTCREATE1 33394 . +36009) (FONTCREATE.SLUGFD 36011 . 37493) (\FONT.CHECKARGS1 37495 . 42018) (\FONTCREATE1.NOFN 42020 . +42234) (FONTFILEP 42236 . 43124) (\READCHARSET 43126 . 47639)) (47642 54718 (\FONT.CHECKARGS 47652 . +54401) (\CHARSET.CHECK 54403 . 54716)) (54719 57979 (COERCEFONTSPEC 54729 . 57977)) (60177 61516 ( +MAKEFONTSPEC 60187 . 61514)) (61517 69694 (COMPLETE.FONT 61527 . 64050) (COMPLETEFONTP 64052 . 64675) +(COMPLETE.CHARSET 64677 . 67362) (PRUNESLUGCSINFOS 67364 . 68289) (MONOSPACEFONTP 68291 . 69692)) ( +69733 77988 (FONTASCENT 69743 . 70127) (FONTDESCENT 70129 . 70614) (FONTHEIGHT 70616 . 71018) ( +FONTPROP 71020 . 77265) (\AVGCHARWIDTH 77267 . 77986)) (78645 79553 (FONTDEVICEPROP 78655 . 79551)) ( +79599 80453 (EDITCHAR 79609 . 80451)) (80499 92689 (GETCHARBITMAP 80509 . 81633) (PUTCHARBITMAP 81635 + . 83793) (\GETCHARBITMAP.CSINFO 83795 . 85811) (\PUTCHARBITMAP.CSINFO 85813 . 92687)) (92690 113170 ( +MOVECHARBITMAP 92700 . 94594) (MOVEFONTCHARS 94596 . 98556) (\MOVEFONTCHAR 98558 . 103401) ( +\MOVEFONTCHARS.SOURCEDATA 103403 . 109508) (\MAKESLUGCHAR 109510 . 112045) (SLUGCHARP.DISPLAY 112047 + . 113168)) (114103 135268 (FONTFILES 114113 . 115946) (\FINDFONTFILE 115948 . 118257) (\FONTFILENAMES + 118259 . 119254) (\FONTFILENAME 119256 . 123239) (\FONTFILENAME.OLD 123241 . 126190) ( +\FONTFILENAME.NEW 126192 . 128449) (FONTSPECFROMFILENAME 128451 . 132987) (\FONTINFOFROMFILENAME.OLD +132989 . 135266)) (135535 171338 (FONTCOPY 135545 . 140608) (FONTP 140610 . 140909) (FONTUNPARSE +140911 . 142630) (SETFONTDESCRIPTOR 142632 . 144096) (\STREAMCHARWIDTH 144098 . 148262) ( +\COERCECHARSET 148264 . 150859) (\BUILDSLUGCSINFO 150861 . 154484) (\FONTSYMBOL 154486 . 155136) ( +\DEVICESYMBOL 155138 . 156007) (\FONTFACE 156009 . 163199) (\FONTFACE.COLOR 163201 . 170121) ( +SETFONTCHARENCODING 170123 . 171336)) (171339 191638 (FONTSAVAILABLE 171349 . 176703) (FONTEXISTS? +176705 . 180683) (\SEARCHFONTFILES 180685 . 183770) (FLUSHFONTCACHE 183772 . 185995) (FLUSHFONTSINCORE + 185997 . 186194) (FINDFONTFILES 186196 . 189410) (SORTFONTSPECS 189412 . 191636)) (191639 195248 ( +MATCHFONTFACE 191649 . 192464) (MAKEFONTFACE 192466 . 193492) (FONTFACETOATOM 193494 . 195246)) ( +195879 196371 (\UNITWIDTHSVECTOR 195889 . 196369)) (210965 213032 (FONTDESCRIPTOR.DEFPRINT 210975 . +212554) (FONTCLASS.DEFPRINT 212556 . 213030)) (216861 219651 (\CREATEKERNELEMENT 216871 . 217229) ( +\FSETLEFTKERN 217231 . 217722) (\FGETLEFTKERN 217724 . 219649)) (219652 229288 (\CREATEFONT 219662 . +221101) (\CREATECHARSET 221103 . 225039) (\INSTALLCHARSETINFO 225041 . 228375) ( +\INSTALLCHARSETINFO.CHARENCODING 228377 . 229286)) (229610 230974 (\FONTRESETCHARWIDTHS 229620 . +230972)) (231604 241651 (\CREATEDISPLAYFONT 231614 . 233463) (\CREATECHARSET.DISPLAY 233465 . 239174) +(\FONTEXISTS?.DISPLAY 239176 . 241649)) (241652 256517 (STRIKEFONT.FILEP 241662 . 242550) ( +STRIKEFONT.GETCHARSET 242552 . 248144) (WRITESTRIKEFONTFILE 248146 . 253057) (STRIKECSINFO 253059 . +256515)) (256548 272865 (MAKEBOLD.CHARSET 256558 . 260207) (MAKEBOLD.CHAR 260209 . 261961) ( +MAKEITALIC.CHARSET 261963 . 265636) (MAKEITALIC.CHAR 265638 . 267984) (\SFMAKEBOLD 267986 . 270210) ( +\SFMAKEITALIC 270212 . 272863)) (272866 277015 (\SFMAKEROTATEDFONT 272876 . 274277) (\SFROTATECSINFO +274279 . 274916) (\SFROTATEFONTCHARACTERS 274918 . 275298) (\SFROTATECSINFOOFFSETS 275300 . 277013)) ( +277016 278397 (\SFMAKECOLOR 277026 . 278395))))) STOP diff --git a/sources/FONT.LCOM b/sources/FONT.LCOM index c2b3814b358ea407af6ddfb4ebd68c089ad308b9..eb207a1933e4ecd332194dad1a029cfc69b44248 100644 GIT binary patch delta 2100 zcmaJ?U1%Le6wY2_)cc@lTHA&sJ-vwD#3t^{&i>p;t=qkGlcjriZ+12@k!U3)MG*X> zJ}BZ9d=kW12gLYd@WDqh+(MhiwlUz7ZzA;BQt{mv1w}oxKe;z)@MX@KIX`peeBaE- z_5MHB`#)J2WE1t3^Al93Cg`;(W=-kVrB_aB?9%6N9AuNj+VFi0s6&jJJgp6nl$)*> zM*>7E=5Db4QgxIh0CN zhBKwq*=P-w+B$_MZ=T^Xm^Blc?pa=B2a}Q12Bx6{pLYW=bt_w8c5Y%;Zem7ZDtrvg zmqr1JJ^sM*z7(G5lPadPkhnlR&Sq9>C6A{Bu2KjDM zeK^M};0aW#4FL_gmB672Lg)ok&&}`-*v?l;bFI6FF&;2u|eIdVWj~>3-ENPofWau>Nos=10l}76~_eCu56=L9JRor^69P73L!d#kvHSU*fDVQ)QvABJQR350jAyg z;r+jl+U%u>P;MZXd#2U1z;{I)T#we1>+C{7C01u&bzT&O@` z7A7y+!3YE43K4l=;JqnS!`xMop7|=pz(O?`gl;@7fLIQAQ4nx1Y0d?SkL|>^$nQGN zpy^<VWjC$9$e6$-vgL+6xcGu{4)_c57&onJ^9%ADnUABRhRjlaJl1 z^%Mmrl^Q?90*0QGEkyF>-8%b%Kv$i0uwtRn1-dopO z59-*PR)#wzx-@Uphw$zMb0U3eJ=dGz835HI*HQHk?RodD-A{^QLsk(-)&&l~1-m=T zV5C$pfFk(&6o}&gP(YG_Mws43jVMB^yI1(&q40a!_oz6SBa)Br=o2Z72sOgUdMdym lk_PoWF}5u~*wK%h3O1_S8EiI61QUOl6jV#^{IugX{{v{$A6fta delta 1947 zcmah~J#1V>5M~b(A{P{3xX4)XU?Jrk#pdn4f1_Z%yxa3V{QkIoIcyXqBFF_I3XYOU z1PSa^P-1OE0!2hY2M8`mcI^19P(T;aq)rh*jf4aeQDENR-T4%WW@mP0c6Rpr=FR)- z#)!Nz^4ZdJ>P&s*of)Pu9hf?&u{mAec<&fdHa@@bIG>y#6HhC^EXtUiClgOKLII=l z1EP1nCEtZ)U7n7QzY;;^40O-D(2al;`k?`Rd_bQ-y|WXKSJtQj0S`{_78r^RfwRaP zQJ9FByP)fO<^x^RfVUkVbf)AM%_>})S-3R4boF8|Uv^3@gVi#jS|(JN%4lYpc{DTC z{0^p};v{Y}EvVtR9HBDcRDVZ{tC><Vwho-IY)uo{X|qVQ-}N{sZ|S5r=jNa1ZuU0fb=DDF9Eo? za^dpI`AhGApcAjPOrYd3Jo!h-ciAmH$ZrAaj5mJ znK6TD*w~5^C-EXoHxymxZ4Y5h&7DK-N7Lj>SzSL|4Jx-c1A^;Tw%*Ft?LfZ1e%@8# zloQ81tTUh*MK-*!o-yM294L~x--4v3-u$At6~$m^@}G4824UnjofcLN7R!S8Qo=)l zbqdh!&Z}1+R>^PDx>lQPRyNN*(QT4cRth;%$OGM`{OH=(M3XOHpMA;9+e3Jv8?`vt zX@M#5#okgn7q5#dc_4rO{_^BvWgF8jl2ld-Ia0_2-NnxG4{fq$Q4mop$+F-#AwV+? zI2opBY9^*H!O-wK5{?j&3#zI2RMqUMidw1+4;Ha$M~6;pK>#%sa3kO6ZW5gI6Avg= zpdn{(T4RQSV1*nso#qO&EP3~r@h6$Za%mX3WVZbE=Ge3eUf?Wnk+irIB+D@uz$nc? z7EasoeCI^UmSv}>j!{D&ayg2kP@s74KKQ7vc9I`I93e;K-L1n_zp}IG6I{2l^;Wia zefe_xNu7 zOo~vPv(6}!U+mV2Dev!ANk;3l)V5%5KW|qz$MAjzb9~7YN!mU75LbrTS?XGZ%*&0v z|Nn&U?fpAx4)bJaJrZ@TpbY!94+mp*e^*e(`jp`yFWJNMCHgr(RAYUDDCWuMdck3e zyEV+Wg*AM7hs~HNVc1nEVFUN$5j8t9Fh@*V{(eWnmmysYe@7WzCQ4)thjz9#SjYIu G3H}3{mJ)0L