diff --git a/lispusers/READ-BDF b/lispusers/READ-BDF
index 3741f553..a4c28123 100644
--- a/lispusers/READ-BDF
+++ b/lispusers/READ-BDF
@@ -1,20 +1,19 @@
-(DEFINE-FILE-INFO PACKAGE (DEFPACKAGE "BDF" (USE "XCL" "LISP") (EXPORT "READ-BDF" "BUILD-COMPOSITE"
- "WRITE-BDF-TO-DISPLAYFONT-FILES" "WRITE-BDF-TO-MEDLEYDISPLAYFONT-FILE") (IMPORT-FROM "IL" "BITBLT" 
-"BITMAPCREATE" "BITMAPHEIGHT" "BITMAPWIDTH" "BLACKSHADE" "BLTSHADE" "BOLD" "COMPRESSED" "CHARSETINFO" 
-"DISPLAY" "FONTDESCRIPTOR" "FONTP" "FONTPROP" "INPUT" "ITALIC" "LIGHT" "LRSH" "MEDIUM" "REGULAR" 
-"TCONC" "UTOMCODE" "UTOMCODE?" "WRITESTRIKEFONTFILE" "MEDLEYFONT.FILENAME" "MEDLEYFONT.WRITE.FONT")) 
-READTABLE "XCL" BASE 10)
+(DEFINE-FILE-INFO PACKAGE (DEFPACKAGE "BDF" (USE "XCL" "LISP") (EXPORT "READ-BDF" 
+"WRITE-BDF-TO-DISPLAYFONT-FILES") (IMPORT-FROM "IL" "BITBLT" "BITMAPCREATE" "BITMAPHEIGHT" 
+"BITMAPWIDTH" "BLACKSHADE" "BLTSHADE" "BOLD" "COMPRESSED" "CHARSETINFO" "DISPLAY" "FONTDESCRIPTOR" 
+"FONTP" "FONTPROP" "INPUT" "ITALIC" "LIGHT" "LRSH" "MEDIUM" "REGULAR" "TCONC" "UTOMCODE" "UTOMCODE?" 
+"WRITESTRIKEFONTFILE")) READTABLE "XCL" BASE 10)
 
-(IL:FILECREATED "16-Nov-2025 22:55:52" IL:|{DSK}<home>matt>Interlisp>medley>lispusers>READ-BDF.;30| 56989  
+(IL:FILECREATED " 6-Nov-2025 23:10:51" IL:|{DSK}<home>matt>Interlisp>medley>lispusers>READ-BDF.;13| 49101  
 
       :EDIT-BY "mth"
 
-      :CHANGES-TO (FILE-ENVIRONMENTS "READ-BDF")
-                  (IL:FUNCTIONS READ-BDF BUILD-COMPOSITE GET-CHARS-PRESENT 
-                         WRITE-BDF-TO-MEDLEYDISPLAYFONT-FILE)
+      :CHANGES-TO (IL:FUNCTIONS BDF-TO-FONTDESCRIPTOR BDF-TO-CHARSETINFO READ-GLYPH 
+                         WRITE-BDF-TO-DISPLAYFONT-FILES)
+                  (FILE-ENVIRONMENTS "READ-BDF")
                   (IL:VARS IL:READ-BDFCOMS)
 
-      :PREVIOUS-DATE "16-Nov-2025 22:37:22" IL:|{DSK}<home>matt>Interlisp>medley>lispusers>READ-BDF.;29|
+      :PREVIOUS-DATE " 6-Nov-2025 22:43:21" IL:|{DSK}<home>matt>Interlisp>medley>lispusers>READ-BDF.;9|
 )
 
 
@@ -23,10 +22,9 @@
 (IL:RPAQQ IL:READ-BDFCOMS
           ((IL:STRUCTURES BDF-FONT GLYPH)
            (IL:VARIABLES MAXCHARSET MAXTHINCHAR NOMAPPINGCHARSET)
-           (IL:FUNCTIONS BDF-TO-CHARSETINFO BDF-TO-FONTDESCRIPTOR BUILD-COMPOSITE GET-CHARS-PRESENT 
-                  GET-FAMILY-FACE-SIZE-FROM-NAME GLYPHS-BY-CHARSET PACKFILENAME.STRING READ-BDF 
-                  READ-DELIMITED-LIST-FROM-STRING READ-GLYPH SPLIT-FONT-NAME 
-                  WRITE-BDF-TO-DISPLAYFONT-FILES WRITE-BDF-TO-MEDLEYDISPLAYFONT-FILE)
+           (IL:FUNCTIONS BDF-TO-CHARSETINFO BDF-TO-FONTDESCRIPTOR GET-FAMILY-FACE-SIZE-FROM-NAME 
+                  GLYPHS-BY-CHARSET PACKFILENAME.STRING READ-BDF READ-DELIMITED-LIST-FROM-STRING 
+                  READ-GLYPH SPLIT-FONT-NAME WRITE-BDF-TO-DISPLAYFONT-FILES)
            (IL:DECLARE\: IL:EVAL@COMPILE IL:DONTCOPY (IL:FILES (IL:SYSLOAD)
                                                             IL:SYSEDIT)
                   (IL:FILES (IL:LOADCOMP)
@@ -61,7 +59,6 @@
 (DEFCONSTANT NOMAPPINGCHARSET (1+ MAXCHARSET))
 
 (DEFUN BDF-TO-CHARSETINFO (FONT CSET SLUG-OR-WIDTH &OPTIONAL MAP-UNKNOWN-TO-PRIVATE)
-                                                      (IL:* IL:\; "Edited 15-Nov-2025 14:26 by mth")
                                                       (IL:* IL:\; "Edited  6-Nov-2025 17:30 by mth")
                                                       (IL:* IL:\; "Edited 23-Apr-2025 17:53 by mth")
                                                       (IL:* IL:\; "Edited 21-Apr-2025 16:23 by mth")
@@ -95,7 +92,6 @@
                   (FIRSTCHAR MOST-POSITIVE-FIXNUM)
                   (LASTCHAR MOST-NEGATIVE-FIXNUM)
                   (CSINFO (IL:|create| CHARSETINFO))
-                  (IMAGEWIDTHS (IL:\\CREATECSINFOELEMENT))
                   (DLEFT 0)
                   SLUG SLUGWIDTH GLYPHS-LIMITS BMAP OFFSETS HEIGHT WIDTHS)
                  (COND
@@ -144,17 +140,13 @@
 
                  (IL:|for| I IL:|from| 0 IL:|to| (+ MAXTHINCHAR 2) IL:|do| (IL:\\FSETOFFSET OFFSETS I
                                                                                   TOTAL-WIDTH))
-
-                 (IL:* IL:|;;| "Now WIDTHS is NOT the IMAGEWIDTHS array. BDF provides both, and MEDLEYDISPLAYFONT can persist both.")
-
                  (SETQ WIDTHS (IL:|fetch| (CHARSETINFO IL:WIDTHS) IL:|of| CSINFO))
 
                  (IL:* IL:|;;| "Initialize the widths to SLUGWIDTH")
 
-                 (IL:|for| I IL:|from| 0 IL:|to| (+ MAXTHINCHAR 2) IL:|do| (IL:\\FSETWIDTH 
-                                                                                  IMAGEWIDTHS I 
+                 (IL:|for| I IL:|from| 0 IL:|to| (+ MAXTHINCHAR 2) IL:|do| (IL:\\FSETWIDTH WIDTHS I 
                                                                                   SLUGWIDTH))
-                 (IL:|replace| (CHARSETINFO IL:IMAGEWIDTHS) IL:|of| CSINFO IL:|with| IMAGEWIDTHS)
+                 (IL:|replace| (CHARSETINFO IL:IMAGEWIDTHS) IL:|of| CSINFO IL:|with| WIDTHS)
 
                  (IL:* IL:|;;| "JDS 12/4/92:  Apparently, these fields can be signed values, if all chars, e.g., ride above the base line. ")
 
@@ -176,8 +168,7 @@
                               'INPUT
                               'IL:REPLACE)
                        (IL:\\FSETOFFSET OFFSETS MCODE DLEFT)
-                       (IL:\\FSETOFFSET IMAGEWIDTHS MCODE GLW)
-                       (IL:\\FSETOFFSET WIDTHS MCODE (FIRST (GLYPH-DWIDTH GL)))
+                       (IL:\\FSETOFFSET WIDTHS MCODE GLW)
                        (INCF DLEFT GLW))
 
                  (IL:* IL:|;;| "Now insert the SLUG glyph into the BMAP, or make a slug (block)")
@@ -301,82 +292,6 @@
                                                              :TEST
                                                              #'EQL)))))))))
 
-(DEFUN BUILD-COMPOSITE (BASE-FONT &REST FILL-FROM)    (IL:* IL:\; "Edited 16-Nov-2025 18:25 by mth")
-                                                      (IL:* IL:\; "Edited 14-Nov-2025 17:04 by mth")
-   (LET (UCHAR-PRESENT FONT FAMILY WEIGHT SLANT EXPANSION SIZE UC-PRESENT)
-        (UNLESS (OR (TYPEP BASE-FONT 'BDF-FONT)
-                    (STRINGP BASE-FONT)
-                    (PATHNAMEP BASE-FONT))
-               (ERROR "BASE-FONT is not a BDF-FONT, nor string, nor pathname."))
-        (UNLESS (AND FILL-FROM (LISTP FILL-FROM))
-               (ERROR "FILL-FROM is not a list."))
-        (WHEN (OR (STRINGP BASE-FONT)
-                  (PATHNAMEP BASE-FONT))
-            (UNLESS (IL:INFILEP BASE-FONT)
-                   (ERROR "BASE-FONT ~S doesn't exist or is unreadable." BASE-FONT))
-            (MULTIPLE-VALUE-SETQ (FONT FAMILY WEIGHT SLANT EXPANSION SIZE UC-PRESENT)
-                   (READ-BDF BASE-FONT :MCCS-ONLY T))
-            (SETQ BASE-FONT FONT)
-            (SETQ UCHAR-PRESENT UC-PRESENT))
-        (UNLESS UCHAR-PRESENT
-            (SETQ UCHAR-PRESENT (GET-CHARS-PRESENT BASE-FONT)))
-        (LOOP :FOR FF :IN FILL-FROM :WHEN FF :DO (COND
-                                                    ((TYPEP FF 'BDF-FONT)
-                                                     (SETQ UC-PRESENT (GET-CHARS-PRESENT FF)))
-                                                    ((OR (STRINGP FF)
-                                                         (PATHNAMEP FF))
-                                                     (UNLESS (IL:INFILEP FF)
-                                                            (ERROR 
-                                          "Element of FILL-FROM (~S) doesn't exist or is unreadable."
-                                                                   FF))
-                                                     (MULTIPLE-VALUE-SETQ (FONT FAMILY WEIGHT SLANT 
-                                                                                EXPANSION SIZE 
-                                                                                UC-PRESENT)
-                                                            (READ-BDF FF :MCCS-ONLY T))
-                                                     (SETQ FF FONT))
-                                                    (T (ERROR 
-                             "Element of FILL-FROM (~S) is not a BDF-FONT, nor string, nor pathname."
-                                                              FF)))
-              (LOOP :FOR GL :IN (BF-GLYPHS FF)
-                    :WITH V :DO (SETQ V (GLYPH-ENCODING GL))
-                    (WHEN (AND (LISTP V)
-                               (EQ (FIRST V)
-                                   -1))
-                        (SETQ V (OR (SECOND V)
-                                    -1)))
-                    (WHEN (AND (UTOMCODE? V)
-                               (ZEROP (BIT (AREF UCHAR-PRESENT (LRSH V 8))
-                                           (LOGAND V 255))))
-                        (SETF (BIT (AREF UCHAR-PRESENT (LRSH V 8))
-                                   (LOGAND V 255))
-                              1)
-
-                        (IL:* IL:|;;| 
-                      "What other bookkeping of BASE-FONT needs to be done when adding a glyph? Any?")
-
-                        (PUSH GL (BF-GLYPHS BASE-FONT)))))
-        BASE-FONT))
-
-(DEFUN GET-CHARS-PRESENT (BFONT)                      (IL:* IL:\; "Edited 16-Nov-2025 17:52 by mth")
-                                                      (IL:* IL:\; "Edited 14-Nov-2025 16:40 by mth")
-   (UNLESS (TYPEP BFONT 'BDF-FONT)
-          (ERROR "BFONT is not a BDF-FONT."))
-   (LET ((UCHAR-PRESENT (MAKE-ARRAY 256 :INITIAL-CONTENTS (LOOP :FOR I :FROM 0 :TO 255 :COLLECT
-                                                                (MAKE-ARRAY 256 :ELEMENT-TYPE
-                                                                       'BIT :INITIAL-ELEMENT 0)))))
-        (LOOP :FOR GL :IN (BF-GLYPHS BFONT)
-              :WITH V :DO (SETQ V (GLYPH-ENCODING GL))
-              (WHEN (AND (LISTP V)
-                         (EQ (FIRST V)
-                             -1))
-                  (SETQ V (OR (SECOND V)
-                              -1)))
-              (WHEN (UTOMCODE? V)
-                  (SETF (BIT (AREF UCHAR-PRESENT (LRSH V 8))
-                             (LOGAND V 255))
-                        1)))
-        UCHAR-PRESENT))
-
 (DEFUN GET-FAMILY-FACE-SIZE-FROM-NAME (BDFONT)        (IL:* IL:\; "Edited 30-Apr-2025 13:18 by mth")
                                                       (IL:* IL:\; "Edited 23-Apr-2025 16:20 by mth")
                                                       (IL:* IL:\; "Edited  5-Feb-2025 12:56 by mth")
@@ -594,24 +509,15 @@
                                                               X))
                                                         Y))))
 
-(DEFUN READ-BDF (PATH &KEY VERBOSE MCCS-ONLY (EXTERNAL-FORMAT :ISO8859/1))
-                                                      (IL:* IL:\; "Edited 16-Nov-2025 22:37 by mth")
-                                                      (IL:* IL:\; "Edited 14-Nov-2025 16:35 by mth")
-                                                      (IL:* IL:\; "Edited 30-Apr-2025 13:37 by mth")
+(DEFUN READ-BDF (PATH &OPTIONAL VERBOSE)              (IL:* IL:\; "Edited 30-Apr-2025 13:37 by mth")
                                                       (IL:* IL:\; "Edited 24-Apr-2025 00:44 by mth")
                                                       (IL:* IL:\; "Edited 17-Apr-2025 15:10 by mth")
                                                       (IL:* IL:\; "Edited 12-Jul-2024 23:02 by mth")
    (LET
     (PROPS PROPS-COMPLETE CHARS-COUNT FONT-COMPLETE FONT POS KEY V VV LINE ITEMS GL (NGLYPHS 0)
-           (UCHAR-PRESENT (MAKE-ARRAY 256 :INITIAL-CONTENTS (LOOP :FOR I :FROM 0 :TO 255 :COLLECT
-                                                                  (MAKE-ARRAY 256 :ELEMENT-TYPE
-                                                                         'BIT :INITIAL-ELEMENT 0))))
            (*PACKAGE* (FIND-PACKAGE "BDF")))
-
-    (IL:* IL:|;;| "Note: The EXTERNAL-FORMAT *ought* to be :UTF-8 for the BDF files from otf2bdf, but I'm seeing :ISO8859/1. I don't know why! But I'm setting the default :EXTERNAL-FORMAT appropriately for this.")
-
     (WITH-OPEN-FILE
-     (FILE-STREAM PATH :ELEMENT-TYPE 'CHARACTER :DIRECTION :INPUT :EXTERNAL-FORMAT EXTERNAL-FORMAT)
+     (FILE-STREAM PATH :ELEMENT-TYPE 'CHARACTER :DIRECTION :INPUT)
      (LOOP :WHILE (STRING-EQUAL "COMMENT" (SETQ KEY (READ FILE-STREAM)))
            :DO
 
@@ -703,29 +609,21 @@
                                 (ERROR "Invalid BDF file - CHARS count (~A) is invalid or missing." 
                                        NGLYPHS))
                          (SETF (BF-GLYPHS FONT)
-                               (LOOP :REPEAT NGLYPHS :NCONC
-                                     (PROGN (SETQ GL (READ-GLYPH FILE-STREAM FONT))
+                               (LOOP :REPEAT NGLYPHS :COLLECT
+                                     (PROG1 (SETQ GL (READ-GLYPH FILE-STREAM FONT))
 
-                                            (IL:* IL:|;;| 
+                                         (IL:* IL:|;;| 
            "Any GLYPH with ENCODING of -1 is taken as the SLUG glyph. If multiple, the last applies.")
 
-                                            (SETQ V (GLYPH-ENCODING GL))
-                                            (WHEN (AND (LISTP V)
-                                                       (EQ (FIRST V)
-                                                           -1))
-                                                (SETQ V (OR (SECOND V)
-                                                            -1)))
-                                            (COND
-                                               ((EQ V -1)
-                                                (SETF (BF-SLUG FONT)
-                                                      GL)
-                                                (LIST GL))
-                                               ((UTOMCODE? V)
-                                                (SETF (BIT (AREF UCHAR-PRESENT (LRSH V 8))
-                                                           (LOGAND V 255))
-                                                      1)
-                                                (LIST GL))
-                                               (T NIL))))))
+                                         (SETQ V (GLYPH-ENCODING GL))
+                                         (WHEN (AND (LISTP V)
+                                                    (EQ (FIRST V)
+                                                        -1))
+                                             (SETQ V (OR (SECOND V)
+                                                         -1)))
+                                         (WHEN (EQ V -1)
+                                             (SETF (BF-SLUG FONT)
+                                                   GL))))))
                       (ENDFONT (SETQ FONT-COMPLETE T))))))))
      (DESTRUCTURING-BIND (FAMILY (WEIGHT SLANT EXPANSION)
                                 SIZE)
@@ -735,7 +633,7 @@
                        "Name: ~A~%Family: ~A~%Size: ~A~%Weight: ~A~%Slant: ~A~%Expansion: ~A~%"
                        (BF-NAME FONT)
                        FAMILY SIZE WEIGHT SLANT EXPANSION))
-            (VALUES FONT FAMILY WEIGHT SLANT EXPANSION SIZE UCHAR-PRESENT)))))
+            (VALUES FONT FAMILY WEIGHT SLANT EXPANSION SIZE)))))
 
 (DEFUN READ-DELIMITED-LIST-FROM-STRING (INPUT-STRING &OPTIONAL (DELIMIT #\]))
                                                       (IL:* IL:\; "Edited 20-Aug-2024 16:46 by mth")
@@ -924,25 +822,6 @@
         "UNMAPPEDGLYPHS are never written. (Unicode encoding is > xFFFF, or encoding low byte is FF)")
 
                  (VALUES FONTDESC CSETS UNMAPPED-FONTDESC UNICODE-CSETS UNMAPPEDGLYPHS))))
-
-(DEFUN WRITE-BDF-TO-MEDLEYDISPLAYFONT-FILE (BDFONT DEST-DIR &KEY FAMILY SIZE FACE ROTATION DEVICE 
-                                                  &AUX FULLFILENAME)
-                                                      (IL:* IL:\; "Edited 16-Nov-2025 17:32 by mth")
-   (UNLESS (TYPEP BDFONT 'BDF-FONT)
-          (ERROR "Not a BDF-FONT: ~S ~%" BDFONT))
-   (DESTRUCTURING-BIND (FN-FAMILY FN-FACE FN-SIZE)
-          (GET-FAMILY-FACE-SIZE-FROM-NAME BDFONT)
-          (SETQ FAMILY (OR FAMILY FN-FAMILY))
-          (SETQ FACE (OR FACE FN-FACE))
-          (SETQ SIZE (OR SIZE FN-SIZE))
-          (MULTIPLE-VALUE-BIND (FONTDESC CSETS)
-                 (BDF-TO-FONTDESCRIPTOR BDFONT FAMILY SIZE FACE ROTATION DEVICE)
-                 (SETQ FULLFILENAME (MEDLEYFONT.WRITE.FONT FONTDESC (MEDLEYFONT.FILENAME FONTDESC NIL
-                                                                           NIL DEST-DIR)))
-
-                 (IL:* IL:|;;| "These correspond to the charsets ACTUALLY written.")
-
-                 (VALUES FULLFILENAME FONTDESC CSETS))))
 (IL:DECLARE\: IL:EVAL@COMPILE IL:DONTCOPY 
 
 (IL:FILESLOAD (IL:SYSLOAD)
@@ -954,9 +833,8 @@
 )
 
 (DEFINE-FILE-ENVIRONMENT "READ-BDF" :PACKAGE (DEFPACKAGE "BDF" (:USE "XCL" "LISP")
-                                                    (:EXPORT "READ-BDF" "BUILD-COMPOSITE" 
-                                                           "WRITE-BDF-TO-DISPLAYFONT-FILES" 
-                                                           "WRITE-BDF-TO-MEDLEYDISPLAYFONT-FILE")
+                                                    (:EXPORT "READ-BDF" 
+                                                           "WRITE-BDF-TO-DISPLAYFONT-FILES")
                                                     (:IMPORT-FROM "IL" "BITBLT" "BITMAPCREATE" 
                                                            "BITMAPHEIGHT" "BITMAPWIDTH" "BLACKSHADE"
                                                            "BLTSHADE" "BOLD" "COMPRESSED" 
@@ -964,19 +842,16 @@
                                                            "FONTP" "FONTPROP" "INPUT" "ITALIC" 
                                                            "LIGHT" "LRSH" "MEDIUM" "REGULAR" "TCONC"
                                                            "UTOMCODE" "UTOMCODE?" 
-                                                           "WRITESTRIKEFONTFILE" 
-                                                           "MEDLEYFONT.FILENAME" 
-                                                           "MEDLEYFONT.WRITE.FONT"))
+                                                           "WRITESTRIKEFONTFILE"))
    :READTABLE "XCL"
    :COMPILER :COMPILE-FILE)
 
 (IL:PUTPROPS IL:READ-BDF IL:DATABASE IL:NO)
 (IL:DECLARE\: IL:DONTCOPY
-  (IL:FILEMAP (NIL (2686 11251 (BDF-TO-CHARSETINFO 2686 . 11251)) (11253 17671 (BDF-TO-FONTDESCRIPTOR 
-11253 . 17671)) (17673 21069 (BUILD-COMPOSITE 17673 . 21069)) (21071 22140 (GET-CHARS-PRESENT 21071 . 
-22140)) (22142 25682 (GET-FAMILY-FACE-SIZE-FROM-NAME 22142 . 25682)) (25684 33114 (GLYPHS-BY-CHARSET 
-25684 . 33114)) (33116 34541 (PACKFILENAME.STRING 33116 . 34541)) (34543 42891 (READ-BDF 34543 . 42891
-)) (42893 43216 (READ-DELIMITED-LIST-FROM-STRING 42893 . 43216)) (43218 49709 (READ-GLYPH 43218 . 
-49709)) (49711 50452 (SPLIT-FONT-NAME 49711 . 50452)) (50454 54360 (WRITE-BDF-TO-DISPLAYFONT-FILES 
-50454 . 54360)) (54362 55433 (WRITE-BDF-TO-MEDLEYDISPLAYFONT-FILE 54362 . 55433)))))
+  (IL:FILEMAP (NIL (2497 10576 (BDF-TO-CHARSETINFO 2497 . 10576)) (10578 16996 (BDF-TO-FONTDESCRIPTOR 
+10578 . 16996)) (16998 20538 (GET-FAMILY-FACE-SIZE-FROM-NAME 16998 . 20538)) (20540 27970 (
+GLYPHS-BY-CHARSET 20540 . 27970)) (27972 29397 (PACKFILENAME.STRING 27972 . 29397)) (29399 36358 (
+READ-BDF 29399 . 36358)) (36360 36683 (READ-DELIMITED-LIST-FROM-STRING 36360 . 36683)) (36685 43176 (
+READ-GLYPH 36685 . 43176)) (43178 43919 (SPLIT-FONT-NAME 43178 . 43919)) (43921 47827 (
+WRITE-BDF-TO-DISPLAYFONT-FILES 43921 . 47827)))))
 IL:STOP
diff --git a/lispusers/READ-BDF.DFASL b/lispusers/READ-BDF.DFASL
index 93b1686c..927778ea 100644
Binary files a/lispusers/READ-BDF.DFASL and b/lispusers/READ-BDF.DFASL differ
