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}<sources>FONT.;640 281223 
+(FILECREATED " 4-Dec-2025 09:46:06" {WMEDLEY}<sources>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}<sources>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 c2b3814b..eb207a19 100644
Binary files a/sources/FONT.LCOM and b/sources/FONT.LCOM differ
