From 27d4e7aab25f4564888dc37afba238641aab2e02 Mon Sep 17 00:00:00 2001 From: Matt Heffron Date: Tue, 2 Dec 2025 16:13:26 -0800 Subject: [PATCH] More bugs discovered and fixed. (This needs regression tests. "Harmless" edits aren't!) Documentation review changes. --- lispusers/READ-BDF | 31 +++++++++++++++++-------------- lispusers/READ-BDF.DFASL | Bin 24645 -> 24636 bytes lispusers/READ-BDF.TEDIT | Bin 12957 -> 13003 bytes 3 files changed, 17 insertions(+), 14 deletions(-) diff --git a/lispusers/READ-BDF b/lispusers/READ-BDF index b4ee9fbe..062419e4 100644 --- a/lispusers/READ-BDF +++ b/lispusers/READ-BDF @@ -4,11 +4,12 @@ "FONTDESCRIPTOR" "FONTP" "FONTPROP" "INPUT" "ITALIC" "LIGHT" "LRSH" "MEDIUM" "REGULAR" "TCONC" "UTOMCODE?" "MEDLEYFONT.FILENAME" "MEDLEYFONT.WRITE.FONT")) READTABLE "XCL" BASE 10) -(IL:FILECREATED " 1-Dec-2025 23:07:52" IL:|{DSK}matt>Interlisp>medley>lispusers>READ-BDF.;3| 50528 +(IL:FILECREATED " 2-Dec-2025 16:10:25" IL:|{DSK}matt>Interlisp>medley>lispusers>READ-BDF.;6| 50944 :EDIT-BY "mth" - :CHANGES-TO (IL:FUNCTIONS BUILD-COMPOSITE READ-BDF) + :CHANGES-TO (IL:FUNCTIONS BDF-TO-FONTDESCRIPTOR WRITE-BDF-TO-MEDLEYDISPLAYFONT-FILE + BUILD-COMPOSITE READ-BDF) :PREVIOUS-DATE "30-Nov-2025 17:43:25" IL:|{DSK}matt>Interlisp>medley>lispusers>READ-BDF.;1| ) @@ -198,6 +199,7 @@ CSINFO)))) (DEFUN BDF-TO-FONTDESCRIPTOR (BDFONT FAMILY SIZE FACE ROTATION DEVICE) + (IL:* IL:\; "Edited 2-Dec-2025 16:10 by mth") (IL:* IL:\; "Edited 30-Nov-2025 15:59 by mth") (IL:* IL:\; "Edited 28-Nov-2025 18:03 by mth") (IL:* IL:\; "Edited 20-Nov-2025 12:46 by mth") @@ -205,10 +207,9 @@ (IL:* IL:\; "Edited 21-Apr-2025 16:03 by mth") (IL:* IL:\; "Edited 30-Jan-2025 21:27 by mth") - (IL:* IL:|;;| "Check valid required arguments") + (IL:* IL:|;;| "Check valid required argument") - (WHEN (AND (BDF-FONT-P BDFONT) - FAMILY) + (WHEN (BDF-FONT-P BDFONT) (WHEN (FONTP FAMILY) (RETURN-FROM BDF-TO-FONTDESCRIPTOR (BDF-TO-FONTDESCRIPTOR BDFONT (FONTPROP FAMILY 'IL:FAMILY) @@ -216,7 +217,8 @@ (OR FACE (FONTPROP FAMILY 'IL:FACE)) (OR ROTATION (FONTPROP FAMILY 'IL:ROTATION)) (OR DEVICE (FONTPROP FAMILY 'IL:DEVICE))))) - (WHEN (LISTP FAMILY) + (WHEN (CONSP FAMILY) (IL:* IL:\; + "Because (LISTP NIL) == T !!!") (IL:* IL:|;;| "Assume this is a FONTSPEC.") @@ -745,11 +747,12 @@ (DEFUN WRITE-BDF-TO-MEDLEYDISPLAYFONT-FILE (BDFONT DEST-DIR &KEY FAMILY SIZE FACE ROTATION DEVICE &AUX FULLFILENAME) + (IL:* IL:\; "Edited 2-Dec-2025 14:47 by mth") (IL:* IL:\; "Edited 30-Nov-2025 16:03 by mth") (IL:* IL:\; "Edited 28-Nov-2025 17:56 by mth") (IL:* IL:\; "Edited 26-Nov-2025 21:07 by mth") (IL:* IL:\; "Edited 16-Nov-2025 17:32 by mth") - (UNLESS (TYPEP BDFONT 'BDF-FONT) + (UNLESS (BDF-FONT-P BDFONT) (ERROR "Not a BDF-FONT: ~S ~%" BDFONT)) (DESTRUCTURING-BIND (FONTDESC CSETS) (BDF-TO-FONTDESCRIPTOR BDFONT FAMILY SIZE FACE ROTATION DEVICE) @@ -882,11 +885,11 @@ (IL:PUTPROPS IL:READ-BDF IL:DATABASE IL:NO) (IL:DECLARE\: IL:DONTCOPY - (IL:FILEMAP (NIL (3029 9967 (BDF-TO-CHARSETINFO 3029 . 9967)) (9969 16191 (BDF-TO-FONTDESCRIPTOR 9969 - . 16191)) (16193 20126 (BUILD-COMPOSITE 16193 . 20126)) (20128 20877 (CHAR-PRESENT-BIT 20128 . 20877) -) (20879 21163 (COUNT-MCHARS 20879 . 21163)) (21165 24200 (GLYPHS-BY-CHARSET 21165 . 24200)) (24202 -25627 (PACKFILENAME.STRING 24202 . 25627)) (25629 35104 (READ-BDF 25629 . 35104)) (35106 35429 ( -READ-DELIMITED-LIST-FROM-STRING 35106 . 35429)) (35431 42429 (READ-GLYPH 35431 . 42429)) (42431 43712 -(WRITE-BDF-TO-MEDLEYDISPLAYFONT-FILE 42431 . 43712)) (43714 46131 (XLFD-SPLIT-FONT-NAME 43714 . 46131) -) (46133 49145 (XLFD-TO-FACE 46133 . 49145))))) + (IL:FILEMAP (NIL (3113 10051 (BDF-TO-CHARSETINFO 3113 . 10051)) (10053 16503 (BDF-TO-FONTDESCRIPTOR +10053 . 16503)) (16505 20438 (BUILD-COMPOSITE 16505 . 20438)) (20440 21189 (CHAR-PRESENT-BIT 20440 . +21189)) (21191 21475 (COUNT-MCHARS 21191 . 21475)) (21477 24512 (GLYPHS-BY-CHARSET 21477 . 24512)) ( +24514 25939 (PACKFILENAME.STRING 24514 . 25939)) (25941 35416 (READ-BDF 25941 . 35416)) (35418 35741 ( +READ-DELIMITED-LIST-FROM-STRING 35418 . 35741)) (35743 42741 (READ-GLYPH 35743 . 42741)) (42743 44128 +(WRITE-BDF-TO-MEDLEYDISPLAYFONT-FILE 42743 . 44128)) (44130 46547 (XLFD-SPLIT-FONT-NAME 44130 . 46547) +) (46549 49561 (XLFD-TO-FACE 46549 . 49561))))) IL:STOP diff --git a/lispusers/READ-BDF.DFASL b/lispusers/READ-BDF.DFASL index 57065cd10723b8746ff4fcf54e79596222de8de9..81ccb5771c9f8ccf0b0f5c1157d7f8d5b71b1a12 100644 GIT binary patch delta 670 zcmX?lfN{?O#tAX;W?aGfrA5i93Tc@+sS3$Osfi`2DGCZkx-O~7x<&>@rV55;R)z*v zMy6bDj=?^t%0fz0i&GLSbrg&gfXY*IlTwQmKzejwn#?xt+QBM}#jwe(Y!-}WlM@Bi zCwEG#Zsua=RptKZaF_uI7HwpDK3PpCnQ_YG$vP2?Hk;q*6f*JMn9<+E;^P<`(!{{P zbZBz6zO?t&nLZ#+>r5cYcoD>m0W&Xy_;+SZ?O}2Aj0gg8j?WAPQTu>moH1_xej#p- z&aNPlbu%MC)WXRZ^+oDu0j*&3^b2tf@&gG@0CIVQLxMd0+;u|(oE?L~Iy!)&>=4la zkg9mFl`la|qZyNWID(yBJ$-;$W^x0C7(Ri`XLt&X06GBNrC?23nR`mqY|&?+YKC4g^HU(uNH!POFi&S!Cm@p}$Unp} z#M9r;7|3A(hMb103Wyc#8RaSpQtIaD>**88G}DO*WaZTsd&!xzK&+{oeGJn?c(|SX xLqhz0bq$RT3^wm|Rb}Pj2D%n#I8emMaPwQQNM+D-%m4rY delta 687 zcmdmUfbr-7#tAWT#$3VqrA5i93Tc@+sS3$Osfi`2DGCaPx-O~7x<&>@rV2*JRtDx) zrbb+Dj=?^t%6#+lQW7h56bu!Bs#9~5Qi~KoT6ExgHtycRDvZUf$!%;FjK-Vyvqh@% z|8qFZ00a{q8!{GcWcn~!Stprmg5$)DhRleG9<7txbs`w`H$TuRWa4`|qrZp6$1ymh ziGhLX{N#9j>H0%6eL$Q^Gl3-IMG!L+%)AWZznn3(hsDh^A_&B}GBXfFod$|=#<=wpqGF`hm?uI`RLdX7QvAi?E88`(VlLR^FVK-{@NE^ly1kf)!! zZfJnBV{kp#gsDJbc8G8QNLdcp2`@oR`x%pZID(yBJ$-Z?FmPZ6K5`gpz|$0zieVV1+_WEI=#%Os+AItv>=3W%dmM zd$k3~W_R%n4)Ae|1UbTUrW1%Vo9P0gG$52TgyIEL46h;7HLyyC-C&zOgIqfc%={Dz zG?LB5HO$l5)eXqx2=Whc4Ds~$GY4{5fFY^jssUmJdq%lRf|R;B`g;0AGR<^i0$KT} z#a?peED&qaW(UJG5pFIg|Bw)WUtLoJYfQ|*4t!rvzviY%BBr_+6k7sa* NuBoxY!O5S?CQf&n?$;`_sCFJ`|mHdqJ=P5}f0Vq+wH2oi@(cE@-XcE*~W#WEk- z8yt)fqLmv_4oEqK3(?+!P(%(dAAqoss8{1Eyq=Y&xBK<0_o}OU=9l2V z;NfjE@yDIZxz4LxV|^~Db-wG%_wG7z_T<$0$t$+uFWMgi>)W%_7iTVCI&-?S)IZ-d zV58X1EzZvcVbhlKhw|ko%LArjOD9)QTlK>*N^DfEwqjckZ88_w70J+V1g@{YV9K54 z!GBHL&dk-DHV&#$qY;EPKdDEdC1jR75Z0_GtrT1!Kf4&UtRDxq8V7`i*N7J;O?c2w zY@>zH2H}l*9EGHoj9Ndeam<1rCeUlxsFgJ9wZKNRSPxTZGx4uqPd#dN$|Q;6McYi` zRyAqGLFezSxMw4w+2TxL-rX8L;Kqkv@M^?8 zE53MCIFSA&?m;n6dy{Ud2+m|@saVXBD1JF_qkCQ6OPZg`BRb|QKMl%$FR{izHSX6+ zeqBGdhH|9g!GNpdS&euVGg1$iq1AnfMmO_@3=-yDM{;kUxc(CnxZ1xg|kvS z!!M_Ce;pp?S4JcFEJ$XvL}U-ev8aw#Q0uj$D+)S=45IfRx%7C{QR3ye%1IX)7LedA zE(HvIL3pdnLR))HIH|=d2d)|#st0Xzl=c|)#rK9y^;`!9;adpP-v#0NP?XWHcEk{@nX`^Uu#wh`4qD delta 2277 zcmbtUO=uHQ5PqAr(KJ$RYgD2po3sttq?V+J&{M6}VoGC5^`PLP(IyzIv|1G`${xK~ zu&m(8lQ(a&c=4oo@DIIv5qebcET{+HH_1%gE(o!Kea!pbH#6VNyq6EP$F&D{jN-Gq zXF}bVYgWB+edUJL@IHl>!l8wlHy%lMC8j3IrJ3{A)#`2QV$G^riw(_Ls#~|Ji#Ka4 z-fGXX`Q%rx;m!2FHN5AsY{W3!FNq6oG`Z%zNybfcO)a?VsiZreird+8W%A_QX{%VU z%B4B0VB1!9c5=!J;O<0bD7;&#rt?^bj=fuU+>+eRou_qouC>0Gt&VkCwDF%syT4OI zNbOa!>xN;v8}^`H^SSmqo4e9yD*QsKORpm^P4{CiJ@^-F948n@Fv9waz%bqZe9i#| zU!`R>4Itf&5EJJiMs~pf0tX67#v#3lGQxt6Ft7~Yo&x!^V<%GUOlBFB3$Z8zxFx1Il9WmYiQ>RTQg9sV6DZUJ9FOXcdO*6c++&2o z9MHQWBa%JSMv~e@uCEMH4g^BkdPbjzEBfKuhto7EQ9H(bLCTC!)B5yI^ixbMeksUX zVK1(c=8O>Aae{GC7(==5H)|LM15}BRtb~ZFQ;cx@;4DsTrX(1UD1493H7BTJ7$nb^ ze1E_##|R}w9numB{f#*8>ydc}tSr0GKtZ1lAkt|XF*rn)rUAjG-5Vg(Bq75fRdDUm zpEC7R(7)zOrs}|vafo{m0grOg6_yk}J={Sx05UQkg8>e=!clP_gh2A5ne;C~BKj=H ziNQb|DpisJkvC3}fs}fAYqj`GHgj9qxF>wZ^=Mi10sbw z