From d24647a929d3f39b4867a4efbc2e364d8006ca56 Mon Sep 17 00:00:00 2001 From: rmkaplan Date: Fri, 4 Sep 2026 00:26:23 -0700 Subject: [PATCH 01/30] CHARSETFNS take file name patterns interpreted by FONTFILES --- sources/ACFONT | 29 +- sources/ACFONT.DFASL | Bin 10801 -> 11003 bytes sources/FONT | 768 ++++++++++++++++++---------------- sources/FONT.LCOM | Bin 66084 -> 66420 bytes sources/MEDLEYFONTFORMAT | 170 +++++--- sources/MEDLEYFONTFORMAT.LCOM | Bin 22005 -> 22689 bytes 6 files changed, 532 insertions(+), 435 deletions(-) diff --git a/sources/ACFONT b/sources/ACFONT index 420d71a7c..d9f7c8a0e 100644 --- a/sources/ACFONT +++ b/sources/ACFONT @@ -1,12 +1,12 @@ (DEFINE-FILE-INFO :PACKAGE "INTERLISP" :READTABLE "INTERLISP" :BASE 10 :FORMAT :UTF-8) -(FILECREATED "15-Apr-2026 09:04:48" {WMEDLEY}ACFONT.;11 42920 +(FILECREATED "29-Aug-2026 00:41:02" {MEDLEY}ACFONT.;13 43517 :EDIT-BY rmk :CHANGES-TO (VARS ACFONTCOMS) - :PREVIOUS-DATE "13-Apr-2026 09:00:05" {WMEDLEY}ACFONT.;10) + :PREVIOUS-DATE "27-Aug-2026 15:33:03" {MEDLEY}ACFONT.;12) (PRETTYCOMPRINT ACFONTCOMS) @@ -19,10 +19,14 @@ (FNS ACFONT.FILEP ACFONT.GETCHARSET \READACFONTBOXES \READACFONTFILE \ACCHARIMAGELIST \ACCHARWIDTHLIST \GETFBB \ACCHARPOSLIST \ACROTATECHAR \FACECODE \FAMILYCODE) (PROP FILETYPE ACFONT) - [APPENDVARS (DISPLAYCHARSETFNS '(AC ACFONT.FILEP ACFONT.GETCHARSET] + [APPENDVARS (DISPLAYCHARSETFNS (AC ACFONT.FILEP ACFONT.GETCHARSET + (FAMILY SIZE - FACE -C CHARSET) + (c CHARSET > FAMILY SIZE - FACE -C CHARSET] (COMS (* ; "STRIKE format files") (FNS STRIKEFONT.FILEP STRIKEFONT.GETCHARSET WRITESTRIKEFONTFILE STRIKECSINFO) - (APPENDVARS (DISPLAYCHARSETFNS '(STRIKE STRIKEFONT.FILEP STRIKEFONT.GETCHARSET]) + (APPENDVARS (DISPLAYCHARSETFNS (STRIKE STRIKEFONT.FILEP STRIKEFONT.GETCHARSET + (FAMILY SIZE - FACE -C CHARSET) + (c CHARSET > FAMILY SIZE - FACE -C CHARSET]) @@ -440,7 +444,8 @@ (PUTPROPS ACFONT FILETYPE CL:COMPILE-FILE) -(APPENDTOVAR DISPLAYCHARSETFNS '(AC ACFONT.FILEP ACFONT.GETCHARSET)) +(APPENDTOVAR DISPLAYCHARSETFNS (AC ACFONT.FILEP ACFONT.GETCHARSET (FAMILY SIZE - FACE -C CHARSET) + (c CHARSET > FAMILY SIZE - FACE -C CHARSET))) @@ -685,12 +690,14 @@ CHARSETDESCENT ← (fetch (CHARSETINFO CHARSETDESCENT) of CSINFO]) ) -(APPENDTOVAR DISPLAYCHARSETFNS '(STRIKE STRIKEFONT.FILEP STRIKEFONT.GETCHARSET)) +(APPENDTOVAR DISPLAYCHARSETFNS (STRIKE STRIKEFONT.FILEP STRIKEFONT.GETCHARSET + (FAMILY SIZE - FACE -C CHARSET) + (c CHARSET > FAMILY SIZE - FACE -C CHARSET))) (DECLARE%: DONTCOPY - (FILEMAP (NIL (2704 27651 (ACFONT.FILEP 2714 . 3598) (ACFONT.GETCHARSET 3600 . 4210) (\READACFONTBOXES - 4212 . 6436) (\READACFONTFILE 6438 . 19287) (\ACCHARIMAGELIST 19289 . 19626) (\ACCHARWIDTHLIST 19628 - . 20888) (\GETFBB 20890 . 24168) (\ACCHARPOSLIST 24170 . 25216) (\ACROTATECHAR 25218 . 25768) ( -\FACECODE 25770 . 26360) (\FAMILYCODE 26362 . 27649)) (27814 42811 (STRIKEFONT.FILEP 27824 . 28712) ( -STRIKEFONT.GETCHARSET 28714 . 34304) (WRITESTRIKEFONTFILE 34306 . 39215) (STRIKECSINFO 39217 . 42809)) + (FILEMAP (NIL (3040 27987 (ACFONT.FILEP 3050 . 3934) (ACFONT.GETCHARSET 3936 . 4546) (\READACFONTBOXES + 4548 . 6772) (\READACFONTFILE 6774 . 19623) (\ACCHARIMAGELIST 19625 . 19962) (\ACCHARWIDTHLIST 19964 + . 21224) (\GETFBB 21226 . 24504) (\ACCHARPOSLIST 24506 . 25552) (\ACROTATECHAR 25554 . 26104) ( +\FACECODE 26106 . 26696) (\FAMILYCODE 26698 . 27985)) (28260 43257 (STRIKEFONT.FILEP 28270 . 29158) ( +STRIKEFONT.GETCHARSET 29160 . 34750) (WRITESTRIKEFONTFILE 34752 . 39661) (STRIKECSINFO 39663 . 43255)) ))) STOP diff --git a/sources/ACFONT.DFASL b/sources/ACFONT.DFASL index 0d7c2dd0a77ac10e9e75d2249fd3d8dbf282281c..f7db8dbb8019913b7091cfb9acdd85622016a871 100644 GIT binary patch delta 2886 zcmb7GYiv|S6uvWecl)*vTFSPSZfSR+v_Ci=q%_`@2MKM21}G%*Ix%&dD`L?g-WJ>Q(i z%$YOieseDvf3!?28E({Sd|K-ZYx{c#`*wu-t32M?fZtfQrnEdhC{&J}UAse$9etr~ z1EEewS*6=E__VvMq->?5q-6Dq($ytp@wJ|yZ?0Q#+rVI7=eB*t7~sHw!TtdUk12Ni z9dmCwJVo<+FPzR(Tdm=vW7OjX7c34l8xCx>o<`l*ipUbwH*4V|W5mq|wH~j=ecfJs z#(3*J%|Xowvp5`)9k7o3RY3(*!fIFpYhfMxL7f=pv)h73v)-VA4jXWV*)A9j>tP){ zK3ka(W+eO?4UeTiXun6tviJXc*_0FD3Qt+>!PGq3qbRxTOUq`mg%w$INC&I89?0%c zRcH^tI+n7u#lKPa*SMRS1BT``mO>l5X$_GcrrR18gfN8zgrHwSvxd8rzUXq+wu0i$ zZrki}TVV(@-w)eaQp~-)4pKXFG^vh=vGY-jLVzdBe`B<+%!zB- za-oYQCfmt4b0yalPNK?kMMR8pmJ6cpKuCWVaFQKK*2yHhp1ep$t-_s2zc4Wl zcY=$HEzy}s3!ZJ9H_+5t-D+q-ZuCPp7cMDsU@u#nQmk{G^09~ubND94CA52dzJRwH z{|#I>BFyjvn$p_6&6>y18nkA==F=KAzfmEr>_SRW>~VCro`)XxQ;OSt5(lcRv4A1r z$RQm!VY`H^Ds^$uUbK-s=;6Wwe5BkFBjp>|!$)7q(KTFQA~jgt8)g*t!ZS)-cuI-E zGgg!o1qQhkmB%)LXK_HRu#Y9DwfNd7#lA^%78Epkn%vkvEk46-cyu4MQQlEWb1bM- zP?;W4*6Phc!yRm?_USm0Vw*J)ShQKOP3V3nv*LF0tw40~&yzWf{% zCE>0k4X9!R$|(N)0Je`%S%gWC&`+|Q^v~nY&?GT>m)%JpuY8|UF}j3J%A+o0qjGr# zcPi&9PR4ykR-n-pwzKy#z85WX0N3Z9Bk08?{_!<%|M!bALW_m-sLW-QeK_B4pN3@^ zfB#z3ScALsUoS^~Sx)Af*Web_Zmdgeus+b@tMMCtG3&Q3DcDDuo5*#Rz2L4Nxuzsx zZmDE{-NHGnJnzFYpa4IT!k@E=?1Aituc`_Q zpd9Hk(Hm%N(tVn{79Yr5I{P!r;f!(wFP>ls9T{SFDLSwWg;{OG9V&r#=u{|Lqa>i# zm6lj^=&HcvEsa`Z^+M>5f!(Sd_M}4(#a}sgH16^MKb|*~M|gifOp~8L78eZ5)a!M$&RDT>+%7ibPuus5go`+^?i%b|B zh01RdJ}<ePXxTp=aKLe6JC;#&E(sM zh1*WkCdflZ1WoM*6IPkfX+paR1&4?k$gfc?`P78sijoea0aN{)3HO*#u$y#lF||Gu zdc_r_oaY*avCj%T{sM{}W91)MO{u&fvYkXvObRyv4++RmpURt9Xv<881PR%b&b&m? zBws`nhn&tT?yOvnI?L;yxHfSOaWzOGCL=EX5|S!$c}v>-k==3@5#Pl$R~s$-=jls+ zoS`BCvVg{m*>c#_5;mLxzIiy?Ty7>A5key&+<6SYsqxa~t2T)Y$9b|h1r)E^+X4dr zyi2Us4ZObUHNCFhh(kYGAdI3IX8)64q_&JtdRE|59E!$JjxUqed?{oXpR~#myHU7m b{T&5AvXFmPhM5)o|Mvq?ImXwhxp(g`iR4K# delta 2682 zcmb7GZ%k8H6o2);|JN2ZOZ(xnZ-}KWFKa-?ZXmv*_N2a51ae6WXtw}oqHeY8)%l8G(Erb z=bn4cx#yny{)sH;GaJUc+Ergr?H=1cd}MTJe{8r_@%lSLdfl@P4H=pcIR*|Mjyd)Z z#rBTG`W+3M-OAA+cVm6y7DxTIminfarsfR4q6L?m>7%jX{=LU*9Ze2pbZ~Td#KBk8 zIvO{%G}gB?Zpm1DFA=BZM;7MG zLOyqA7$foO)evUh)EJ4e4^!LL_TrusgrHq!Sk+YButk%sv?e#koaWuBgi$U@$fRJb z?NBL6k_<8rpQS(-jKDAqK{xA9TeL@EL;7-U6i&c#)V`L!)v8efI+Y;8Zl^oTMliq# zRLNw8x6|l<0>+{HdX9B-s((Z-0ZlFiA(kDe=vkj45#W*Y-!$FP=tN~|DfDq-!$4C# z0o@bSk+pmw7M^8q=K7qIC`h>hW1JL%8;N{RsNXilgyX*jKU4cun_vwOL#y-4b4A*u%V%(%D_OGQZaw zRux@sQ^O%OsJ5#iy;<1IvI<*GI>SYlYY<~yHn%&DjC@*X1&k#jJ#WHZ1F{8MWz8Uu zqYPr4qyXonM}m{Shknj|Yj8Jl2RUD>9Y`<=gK$8yCgM^W9-$=VNpP4`QD|%tcm)|^ zfurnneq=mMDfUdhv!bG1>2zc3M1s0oR{}u@Q{GM4%QPsIP*|`e^asM4?$#onU_jF$ zEP5-=)3IBy)fU`lsl6z+7ms!xx=-;~E<#Nro`Dh;UG;H+tT)utOspl*tr}I#o`@}GrYt8*V$8hiCn8XRRj)MEiH{ukng|TcHLvI(ME)gf`&sz~=-Iw;5 zgF1vOOEHIc>15%%&tcjre#NW8M)J7P9ZXU_geK|Q&W=dX7t%u_>~CBKVg9wd$#?Ai zwZDhZDAljD2ZG&DpZR#veijRULVp&X_c<6lfGaXX`c6I=yd6HZ5XQ2E(T_5WvHSK| zmNDC)Sq!^F>xziNE)_YP$=lDXBJRF|cmKcnMKQOp*Y%7?Wda)XNEEfnYcB6-s80z% zUo+3VU2XT2z`iutFWaHN0Adt>o3M#7$O#GmE=f7OrJts+FM=l#x7alsyHd1nS+vHa z@~nt<1SixlMK>u9vTPo1*2-`jvM~@k4}I)bN#*!CWXM5LDL!r_V=&EfctJ>Kajs~X zT*eMn_XmP%Cq4{9F|{3(CKxM&eO9jSMLiB;RcX)R{^P=i&jmVTLOltIVW4pfa@G_N z2{^~4swu58VR{lue;V+FAW#hbg%Fc*blfg=Y<#*Bd#|r@bjkL+)Fyo0rFly<*P!f7 z`5y8Edr;m`7RA#a#$Fi$Z^806We8s!-Yc6cs@!&-xES3;z+br^1Ku{_X9i?b74~sq zHel++FfdkVrt}39wwlmsLc0mYOb{N(A4w_s(u6lm_k|R3cW3V5=ai7|D&qn!m~W82O=tQt*!_-%N*6k0g<%X#^g7l<5KdG xfc%e$la^SWp)5Cu(Ux(G!Liq?w>ln5_??6^Wefk~UvJ>&Uv1I_?qvJo;=h!D{CEHW diff --git a/sources/FONT b/sources/FONT index 95fd34fff..f079f4f05 100644 --- a/sources/FONT +++ b/sources/FONT @@ -1,12 +1,12 @@ (DEFINE-FILE-INFO :PACKAGE "INTERLISP" :READTABLE "INTERLISP" :BASE 10 :FORMAT :UTF-8) -(FILECREATED "26-Aug-2026 11:47:52" {MEDLEY}FONT.;832 266637 +(FILECREATED " 3-Sep-2026 23:29:00" {MEDLEY}FONT.;864 271268 :EDIT-BY rmk - :CHANGES-TO (FNS \FONT.CHECKARGS \SFROTATECSINFO \CREATECHARSET.DISPLAY \CREATEDISPLAYFONT) + :CHANGES-TO (FNS MAKEFONTSPEC) - :PREVIOUS-DATE "25-Aug-2026 20:21:32" {MEDLEY}FONT.;831) + :PREVIOUS-DATE " 3-Sep-2026 20:15:36" {MEDLEY}FONT.;863) (PRETTYCOMPRINT FONTCOMS) @@ -29,13 +29,14 @@ (FNS COERCEFONTSPEC COERCEFONTSPEC.TARGETFACE) (DECLARE%: EVAL@COMPILE DONTCOPY (MACROS COERCEFONTSPEC.MATCH COERCEFONTSPEC.TARGET)) (MACROS SPREADFONTSPEC) - (FNS MAKEFONTSPEC FONTSPEC.TO.FONTDESCRIPTOR) + (FNS MAKEFONTSPEC FONTSPEC.TO.FONTDESCRIPTOR FONT.CHANGESPEC) (FNS COMPLETE.FONT COMPLETEFONTP COMPLETE.CHARSET PRUNESLUGCSINFOS MONOSPACEFONTP)) (COMS (* ;; "Property extraction:") (FNS FONTASCENT FONTDESCENT FONTHEIGHT FONTPROP \AVGCHARWIDTH) - (EXPORT (OPTIMIZERS FONTPROP)) + (EXPORT (OPTIMIZERS FONTPROP) + (MACROS FSPROP)) (FNS FONTDEVICEPROP) (PROP ARGNAMES FONTDEVICEPROP)) (COMS (* ; "Moving character information") @@ -47,12 +48,12 @@ [DECLARE%: DONTCOPY (EXPORT (CONSTANTS (SLUGCHARINDEX (ADD1 \MAXTHINCHAR] (* ; "At the end of each csinfo") (MACROS UPDATEINFOELEMENT)) - (FNS FONTFILES \FINDFONTFILE \FONTFILENAMES \FONTFILENAME) + (FNS FONTFILES \FONTFILENAME) (FNS FONTSPECFROMFILENAME FILENAMEFROMFONTSPEC) (FNS FONTCOPY FONTP FONTUNPARSE SETFONTDESCRIPTOR \STREAMCHARWIDTH \COERCECHARSET \BUILDSLUGCSINFO \FONTSYMBOL \DEVICESYMBOL \FONTFACE \FONTFACE.COLOR SETFONTCHARENCODING ) - (FNS FONTSAVAILABLE FONTEXISTS? \SEARCHFONTFILES FLUSHFONTCACHE FINDFONTFILES SORTFONTSPECS) + (FNS FONTSAVAILABLE FONTEXISTS? \SEARCHFONTFILES FLUSHFONTCACHE SORTFONTSPECS) (FNS MATCHFONTFACE MAKEFONTFACE FONTFACETOATOM FONTFACE.STARS) (INITVARS \FONTSINCORE \FONTEXISTS?-CACHE \FONTSAVAILABLEFILECACHE \DEFAULTDEVICEFONTS) (ADDVARS (\SYSTEMCACHEVARS \FONTEXISTS?-CACHE \FONTSAVAILABLEFILECACHE)) @@ -85,7 +86,8 @@ (COMS (* ;  "Functions for DISPLAY IMAGESTREAMTYPES ") - (FNS \CREATEDISPLAYFONT \CREATECHARSET.DISPLAY \FONTEXISTS?.DISPLAY) + (FNS \CREATEFONT.DISPLAY \CREATECHARSET.DISPLAY \FONTEXISTS?.DISPLAY + FONTSAVAILABLE.DISPLAY) (FNS FAKEFACE.CHARSET MAKEBOLD.CHAR MAKEITALIC.CHAR)) (COMS (* ; "Bitmap faking") (FNS \SFROTATECSINFO \SFROTATECSINFOBITMAP \SFROTATECSINFOOFFSETS @@ -619,7 +621,8 @@ (CLOSEF? STRM))))]) (\READCHARSET - [LAMBDA (FONT CHARSET CHARSETFNS) (* ; "Edited 18-Aug-2026 17:25 by rmk") + [LAMBDA (FONT CHARSET CHARSETFNS) (* ; "Edited 29-Aug-2026 09:28 by rmk") + (* ; "Edited 18-Aug-2026 17:25 by rmk") (* ; "Edited 18-Apr-2026 20:44 by rmk") (* ; "Edited 16-Apr-2026 22:38 by rmk") (* ; "Edited 12-Apr-2026 12:59 by rmk") @@ -644,7 +647,7 @@ (* ;; "This finds the first file in the directories/extensions order that contains information about charset, determines its format, and reads it in. The assumption is that the first such existing file is the one we want. ") (RESETLST - (for FILE STRM CSINFO in (FONTFILES FONT CHARSET) + (for FILE STRM CSINFO in (FONTFILES FONT T CHARSET) do (* ;; "We know that FILE exists and is the best source of information about charset--maybe none. We assume FILE is one of the valid formats, we open it separately for each format-type, and ensure it is closed on exit. We can't used CL:WITHOPEN-FILE because that doesn't exist in the loadup when the first font is created.") @@ -693,7 +696,8 @@ (DEFINEQ (\FONT.CHECKARGS - [LAMBDA (FAMILY SIZE FACE ROTATION DEVICE ALWAYSFONTSPEC) (* ; "Edited 26-Aug-2026 11:23 by rmk") + [LAMBDA (FAMILY SIZE FACE ROTATION DEVICE ALWAYSFONTSPEC) (* ; "Edited 1-Sep-2026 14:56 by rmk") + (* ; "Edited 26-Aug-2026 21:05 by rmk") (* ; "Edited 20-Aug-2026 23:59 by rmk") (* ; "Edited 22-Nov-2025 11:31 by rmk") (* ; "Edited 28-Aug-2025 14:46 by rmk") @@ -778,7 +782,7 @@ (ERROR "Illegal font family" FAMILY)) (SETQ FAMILY (U-CASE FAMILY)) (CL:UNLESS (OR (AND (FIXP SIZE) - (IGREATERP SIZE 0)) + (IGEQ SIZE 0)) (EQ SIZE '*)) (ERROR "Illegal font size" SIZE)) (CL:UNLESS (EQ FACE '*) @@ -786,7 +790,8 @@ (if (NULL ROTATION) then (SETQ ROTATION 0) elseif (EQ ROTATION '*) - else (SETQ ROTATION (IMOD ROTATION 360))) + elseif (NUMBERP ROTATION) + else (\ILLEGAL.ARG ROTATION)) (CL:WHEN FONTX (* ;; "Return FONTX only if no fields were overwritten") @@ -810,7 +815,8 @@ (DEFINEQ (COERCEFONTSPEC - [LAMBDA (FONTSPEC COERCIONS ALL MISSINGOK) (* ; "Edited 2-Apr-2026 00:08 by rmk") + [LAMBDA (FONTSPEC COERCIONS ALL MISSINGOK) (* ; "Edited 3-Sep-2026 19:53 by rmk") + (* ; "Edited 2-Apr-2026 00:08 by rmk") (* ; "Edited 11-Mar-2026 10:18 by rmk") (* ; "Edited 22-Dec-2025 22:56 by rmk") (* ; "Edited 18-Dec-2025 16:06 by rmk") @@ -836,49 +842,63 @@ (DECLARE (SPECVARS FONTSPEC)) (CL:WHEN (LITATOM COERCIONS) [SETQ COERCIONS (FONTDEVICEPROP FONTSPEC (OR COERCIONS 'FONTCOERCIONS]) - (for C RESULT MATCH TARGET MFAMILY MSIZE MFACE MROTATION TFAMILY TSIZE TFACE TROTATION COERCED - FAMILY SIZE FACE ROTATION DEVICE in COERCIONS declare (SPECVARS FAMILY SIZE FACE ROTATION - DEVICE) - first (SPREADFONTSPEC FONTSPEC) - when [SETQ COERCED (if (AND C (LITATOM C)) - then (APPLY* C FONTSPEC FAMILY SIZE FACE ROTATION DEVICE) - else (SETQ MATCH (MKLIST (CAR C))) - (CL:WHEN [AND (COERCEFONTSPEC.MATCH (pop MATCH) - FAMILY) - (COERCEFONTSPEC.MATCH (pop MATCH) - SIZE) - (MATCHFONTFACE (\FONTFACE (OR (pop MATCH) - '*)) - FACE) - (COERCEFONTSPEC.MATCH (CAR MATCH) - ROTATION) - (PROGN (SETQ TARGET (MKLIST (CADR C))) - (SETQ TFAMILY (COERCEFONTSPEC.TARGET - (pop TARGET) - FAMILY)) - (SETQ TSIZE (COERCEFONTSPEC.TARGET (pop TARGET) - SIZE)) - (SETQ TFACE (COERCEFONTSPEC.TARGETFACE - (pop TARGET) - FACE)) - (SETQ TROTATION (COERCEFONTSPEC.TARGET - ROTATION - (pop TARGET))) - - (* ;; + (if (EQ '* (FSPROP FONTSPEC FSFAMILY)) + then [for C F RESULT in COERCIONS eachtime (SETQ F (CAR C)) + (CL:IF (LISTP F) + (SETQ F (CAR F))) + unless (EQ F '*) join (COERCEFONTSPEC (create FONTSPEC using FONTSPEC FSFAMILY ← F) + COERCIONS ALL MISSINGOK) + finally (RETURN (CL:REMOVE-DUPLICATES $$VAL :TEST (FUNCTION EQUAL] + else (for C RESULT MATCH TARGET MFAMILY MSIZE MFACE MROTATION TFAMILY TSIZE TFACE TROTATION + TDEVICE COERCED FAMILY SIZE FACE ROTATION DEVICE in COERCIONS + declare (SPECVARS FAMILY SIZE FACE ROTATION DEVICE) first (SPREADFONTSPEC FONTSPEC) + when [SETQ COERCED (if (AND C (LITATOM C)) + then (APPLY* C FONTSPEC FAMILY SIZE FACE ROTATION DEVICE) + else (SETQ MATCH (MKLIST (CAR C))) + (CL:WHEN [AND (COERCEFONTSPEC.MATCH (pop MATCH) + FAMILY) + (COERCEFONTSPEC.MATCH (pop MATCH) + SIZE) + (MATCHFONTFACE (\FONTFACE (OR (pop MATCH) + '*)) + FACE) + (COERCEFONTSPEC.MATCH (pop MATCH) + ROTATION) + (COERCEFONTSPEC.MATCH (pop MATCH) + DEVICE) + (PROGN (SETQ TARGET (MKLIST (CADR C))) + (SETQ TFAMILY (COERCEFONTSPEC.TARGET + (pop TARGET) + FAMILY)) + (SETQ TSIZE (COERCEFONTSPEC.TARGET + (pop TARGET) + SIZE)) + (SETQ TFACE (COERCEFONTSPEC.TARGETFACE + (pop TARGET) + FACE)) + (SETQ TROTATION (COERCEFONTSPEC.TARGET + ROTATION + (pop TARGET))) + (SETQ TDEVICE (COERCEFONTSPEC.TARGET + (pop TARGET) + DEVICE)) + + (* ;;  "Don't include the input in the output, if the coercions have a loop") - (NOT (AND (EQ FAMILY TFAMILY) - (EQ SIZE TSIZE) - (EQUAL FACE TFACE) - (EQ ROTATION TROTATION] - (MAKEFONTSPEC TFAMILY TSIZE TFACE TROTATION DEVICE] - unless (MEMBER COERCED RESULT) when (OR MISSINGOK (FONTEXISTS? COERCED T)) - do - (* ;; "If COERCED exists, it's a singleton whether or not ALL. We always inflate it to a list, to simplify code") + (NOT (AND (EQ FAMILY TFAMILY) + (EQ SIZE TSIZE) + (EQUAL FACE TFACE) + (EQ ROTATION TROTATION) + (EQ DEVICE TDEVICE] + (MAKEFONTSPEC TFAMILY TSIZE TFACE TROTATION TDEVICE] + unless (MEMBER COERCED RESULT) when (OR MISSINGOK (FONTEXISTS? COERCED T)) + do + (* ;; "If COERCED exists, it's a singleton whether or not ALL. We always inflate it to a list, to simplify code") - (for C in (CONS COERCED (CL:IF ALL (COERCEFONTSPEC COERCED COERCIONS ALL MISSINGOK))) - unless (MEMBER C RESULT) do (push RESULT C)) finally (RETURN (DREVERSE RESULT]) + (for C in (CONS COERCED (CL:IF ALL (COERCEFONTSPEC COERCED COERCIONS ALL MISSINGOK)) + ) unless (MEMBER C RESULT) do (push RESULT C)) + finally (RETURN (DREVERSE RESULT]) (COERCEFONTSPEC.TARGETFACE [LAMBDA (TFACE FFACE) (* ; "Edited 22-Dec-2025 22:54 by rmk") @@ -939,7 +959,8 @@ (DEFINEQ (MAKEFONTSPEC - [LAMBDA (FAMILY SIZE FACE ROTATION DEVICE BASE) (* ; "Edited 4-May-2026 12:38 by rmk") + [LAMBDA (FAMILY SIZE FACE ROTATION DEVICE BASE) (* ; "Edited 3-Sep-2026 23:24 by rmk") + (* ; "Edited 4-May-2026 12:38 by rmk") (* ; "Edited 15-Apr-2026 00:25 by rmk") (* ; "Edited 7-Nov-2025 07:52 by rmk") (* ; "Edited 28-Aug-2025 14:32 by rmk") @@ -949,7 +970,7 @@ (* ;; "BASE (fontspec or font) provides defaults for NIL arguments, essentialy models a (create using BASE...)") - (CL:WHEN (LISTP FAMILY) + (CL:WHEN (type? FONTSPEC FAMILY) (SPREADFONTSPEC FAMILY)) (CL:WHEN FACE (SETQ FACE (\FONTFACE FACE))) @@ -962,7 +983,9 @@ FSDEVICE ← (OR DEVICE (fetch (FONTSPEC FSDEVICE) of BASE]) (FONTSPEC.TO.FONTDESCRIPTOR - [LAMBDA (FONTSPEC MAXCHARSET) (* ; "Edited 5-May-2026 09:55 by rmk") + [LAMBDA (FONTSPEC MAXCHARSET) (* ; "Edited 3-Sep-2026 13:58 by rmk") + (* ; "Edited 1-Sep-2026 11:19 by rmk") + (* ; "Edited 5-May-2026 09:55 by rmk") (* ; "Edited 29-Mar-2026 10:29 by rmk") (* ; "Edited 28-Mar-2026 09:29 by rmk") (* ; "Edited 20-Mar-2026 23:57 by rmk") @@ -973,19 +996,29 @@ elseif (<= 0 MAXCHARSET \MAXCHARSET) else (\ILLEGAL.ARG MAXCHARSET)) (LET ((FONT (create FONTDESCRIPTOR - FONTFAMILY ← (fetch (FONTSPEC FSFAMILY) of FONTSPEC) - FONTSIZE ← (fetch (FONTSPEC FSSIZE) of FONTSPEC) - FONTFACE ← (COPY (fetch (FONTSPEC FSFACE) of FONTSPEC)) - ROTATION ← (fetch (FONTSPEC FSROTATION) of FONTSPEC) - FONTDEVICE ← (fetch (FONTSPEC FSDEVICE) of FONTSPEC) - \SFAscent ← 0 - \SFDescent ← 0 - \SFHeight ← 0 + FONTFAMILY ← (FSPROP FONTSPEC FSFAMILY) + FONTSIZE ← (FSPROP FONTSPEC FSSIZE) + FONTFACE ← (COPY (FSPROP FONTSPEC FSFACE)) + ROTATION ← (FSPROP FONTSPEC FSROTATION) + FONTDEVICE ← (FSPROP FONTSPEC FSDEVICE) FONTDEVICESPEC ← (COPY (create FONTSPEC using FONTSPEC)) MAXCHARSET ← MAXCHARSET - FONTCHARSETVECTOR ← NIL))) + FONTCHARSETVECTOR ← NIL))) (* ; + "So the vector takes MAXCHARSET into account") (replace (FONTDESCRIPTOR FONTCHARSETVECTOR) of FONT with (\CREATEFONTCHARSETVECTOR FONT)) FONT]) + +(FONT.CHANGESPEC + [LAMBDA (FONT FONTSPEC DEVICESPEC) (* ; "Edited 3-Sep-2026 20:03 by rmk") + (CL:WHEN FONT + (replace (FONTDESCRIPTOR FONTFAMILY) of FONT with (FSPROP FONTSPEC FSFAMILY)) + (replace (FONTDESCRIPTOR FONTSIZE) of FONT with (FSPROP FONTSPEC FSSIZE)) + (replace (FONTDESCRIPTOR FONTFACE) of FONT with (FSPROP FONTSPEC FSFACE)) + (replace (FONTDESCRIPTOR ROTATION) of FONT with (FSPROP FONTSPEC FSROTATION)) + (replace (FONTDESCRIPTOR FONTDEVICE) of FONT with (FSPROP FONTSPEC FSDEVICE)) + (CL:UNLESS (EQ DEVICESPEC T) + (replace (FONTDESCRIPTOR FONTDEVICESPEC) of FONT with DEVICESPEC)) + FONT)]) ) (DEFINEQ @@ -1130,26 +1163,32 @@ (DEFINEQ (FONTASCENT - [LAMBDA (FONTSPEC) (* ; "Edited 14-Jul-2025 22:52 by rmk") + [LAMBDA (FONTSPEC) (* ; "Edited 1-Sep-2026 11:19 by rmk") + (* ; "Edited 14-Jul-2025 22:52 by rmk") (* ; "Edited 5-Jul-2025 18:47 by rmk") (* lmm "19-NOV-82 00:23") - (ffetch \SFAscent of (FONTCREATE FONTSPEC]) + (ffetch (FONTDESCRIPTOR FONTASCENT) of (FONTCREATE FONTSPEC]) (FONTDESCENT - [LAMBDA (FONTSPEC) (* ; "Edited 14-Jul-2025 22:53 by rmk") + [LAMBDA (FONTSPEC) (* ; "Edited 2-Sep-2026 22:41 by rmk") + (* ; "Edited 1-Sep-2026 11:22 by rmk") + (* ; "Edited 14-Jul-2025 22:53 by rmk") (* ; "Edited 5-Jul-2025 18:47 by rmk") (* lmm "19-NOV-82 00:24") (* ; "See comment in FONTASCENT") - (ffetch \SFDescent of (FONTCREATE FONTSPEC]) + (ffetch (FONTDESCRIPTOR FONTDESCENT) of (FONTCREATE FONTSPEC]) (FONTHEIGHT - [LAMBDA (FONTSPEC) (* ; "Edited 14-Jul-2025 22:52 by rmk") + [LAMBDA (FONTSPEC) (* ; "Edited 1-Sep-2026 11:23 by rmk") + (* ; "Edited 14-Jul-2025 22:52 by rmk") (* ; "Edited 5-Jul-2025 18:47 by rmk") (* kbr%: " 9-Jan-86 18:29") - (fetch (FONTDESCRIPTOR \SFHeight) of (FONTCREATE FONTSPEC]) + (fetch (FONTDESCRIPTOR FONTHEIGHT) of (FONTCREATE FONTSPEC]) (FONTPROP - [LAMBDA (FONT PROP) (* ; "Edited 12-Apr-2026 12:52 by rmk") + [LAMBDA (FONT PROP) (* ; "Edited 2-Sep-2026 22:41 by rmk") + (* ; "Edited 1-Sep-2026 11:19 by rmk") + (* ; "Edited 12-Apr-2026 12:52 by rmk") (* ; "Edited 28-Mar-2026 07:51 by rmk") (* ; "Edited 18-Mar-2026 23:11 by rmk") (* ; "Edited 25-Jan-2026 20:08 by rmk") @@ -1168,9 +1207,9 @@ (* kbr%: "13-May-85 22:36") (SETQ FONT (FONTCREATE FONT)) (SELECTQ PROP - (HEIGHT (ffetch \SFHeight of FONT)) - (ASCENT (ffetch \SFAscent of FONT)) - (DESCENT (ffetch \SFDescent of FONT)) + (HEIGHT (ffetch (FONTDESCRIPTOR FONTHEIGHT) of FONT)) + (ASCENT (ffetch (FONTDESCRIPTOR FONTASCENT) of FONT)) + (DESCENT (ffetch (FONTDESCRIPTOR FONTDESCENT) of FONT)) (FAMILY (ffetch FONTFAMILY of FONT)) (SIZE (ffetch FONTSIZE of FONT)) (FACE (COPY (ffetch FONTFACE of FONT))) @@ -1275,6 +1314,11 @@ (MAXCHARSET `(MAXCHARSET ,FONT)) (FILENAME `(fetch (FONTDESCRIPTOR FONTFILENAME) of ,FONT)) 'IGNOREMACRO)) +(DECLARE%: EVAL@COMPILE + +(PUTPROPS FSPROP MACRO ((FS FIELD) + (fetch (FONTSPEC FIELD) of FS))) +) (* "END EXPORTED DEFINITIONS") @@ -1362,7 +1406,8 @@ FONT]) (PUTCHARBITMAP - [LAMBDA (CHARCODE FONT NEWCHARBITMAP NEWCHARDESCENT) (* ; "Edited 30-Aug-2025 23:20 by rmk") + [LAMBDA (CHARCODE FONT NEWCHARBITMAP NEWCHARDESCENT) (* ; "Edited 1-Sep-2026 11:22 by rmk") + (* ; "Edited 30-Aug-2025 23:20 by rmk") (* ; "Edited 7-Jun-2025 10:16 by rmk") (* ; "Edited 25-May-2025 15:10 by rmk") (* ; "Edited 22-May-2025 09:56 by rmk") @@ -1384,12 +1429,12 @@ (* ;; "update the ascent/descent properties for the font as a whole.") (LET [(ASCENT (IMAX (fetch (CHARSETINFO CHARSETASCENT) of CSINFO) - (fetch (FONTDESCRIPTOR \SFAscent) of FONT))) + (fetch (FONTDESCRIPTOR FONTASCENT) of FONT))) (DESCENT (IMAX (fetch (CHARSETINFO CHARSETDESCENT) of CSINFO) - (fetch (FONTDESCRIPTOR \SFDescent) of FONT] - (replace (FONTDESCRIPTOR \SFAscent) of FONT with ASCENT) - (replace (FONTDESCRIPTOR \SFDescent) of FONT with DESCENT) - (replace (FONTDESCRIPTOR \SFHeight) of FONT with (IPLUS ASCENT DESCENT))))) + (fetch (FONTDESCRIPTOR FONTDESCENT) of FONT] + (replace (FONTDESCRIPTOR FONTASCENT) of FONT with ASCENT) + (replace (FONTDESCRIPTOR FONTDESCENT) of FONT with DESCENT) + (replace (FONTDESCRIPTOR FONTHEIGHT) of FONT with (IPLUS ASCENT DESCENT))))) NIL NEWCHARBITMAP]) (\GETCHARBITMAP.CSINFO @@ -1641,7 +1686,8 @@ DESTFONT]) (\MOVEFONTCHAR - [LAMBDA (SOURCEDATA DCODE DFONT) (* ; "Edited 4-Mar-2026 11:03 by rmk") + [LAMBDA (SOURCEDATA DCODE DFONT) (* ; "Edited 1-Sep-2026 11:21 by rmk") + (* ; "Edited 4-Mar-2026 11:03 by rmk") (* ; "Edited 25-Sep-2025 21:25 by rmk") (* ; "Edited 4-Sep-2025 12:37 by rmk") (* ; "Edited 31-Aug-2025 14:36 by rmk") @@ -1698,11 +1744,11 @@ (replace (CHARSETINFO CHARSETDESCENT) of DCSINFO with DESCENT) (replace (CHARSETINFO CHARSETASCENT) of DCSINFO with ASCENT) (CL:WHEN DFONT - (SETQ DESCENT (IMAX DESCENT (fetch (FONTDESCRIPTOR \SFDescent) of DFONT))) - (SETQ ASCENT (IMAX ASCENT (fetch (FONTDESCRIPTOR \SFAscent) of DFONT))) - (replace (FONTDESCRIPTOR \SFAscent) of DFONT with ASCENT) - (replace (FONTDESCRIPTOR \SFDescent) of DFONT with DESCENT) - (replace (FONTDESCRIPTOR \SFHeight) of DFONT with (IPLUS DESCENT ASCENT))) + (SETQ DESCENT (IMAX DESCENT (fetch (FONTDESCRIPTOR FONTDESCENT) of DFONT))) + (SETQ ASCENT (IMAX ASCENT (fetch (FONTDESCRIPTOR FONTASCENT) of DFONT))) + (replace (FONTDESCRIPTOR FONTASCENT) of DFONT with ASCENT) + (replace (FONTDESCRIPTOR FONTDESCENT) of DFONT with DESCENT) + (replace (FONTDESCRIPTOR FONTHEIGHT) of DFONT with (IPLUS DESCENT ASCENT))) DCSINFO]) (\MOVEFONTCHARS.SOURCEDATA @@ -1887,7 +1933,9 @@ (DEFINEQ (FONTFILES - [LAMBDA (FONTSPEC CHARSET DIRLST EXTLST) (* ; "Edited 18-Aug-2026 16:45 by rmk") + [LAMBDA (FONTSPEC EXISTS CHARSET DIRLST EXTLST FORMATS) (* ; "Edited 31-Aug-2026 09:46 by rmk") + (* ; "Edited 29-Aug-2026 09:28 by rmk") + (* ; "Edited 18-Aug-2026 16:45 by rmk") (* ; "Edited 19-Apr-2026 09:54 by rmk") (* ; "Edited 16-Apr-2026 22:26 by rmk") (* ; "Edited 28-Aug-2025 14:42 by rmk") @@ -1901,7 +1949,9 @@ (* ; "Edited 17-May-2025 00:06 by rmk") (* ; "Edited 15-May-2025 16:29 by rmk") - (* ;; "Considers all posible names for font files that respect the given characteristics, returns a list of the names of files that actually exist somewhere in DIRLST. If FONTSPEC is a FONT with a FILENAME that exists, that is the only one returned. Does not validate their contents.") + (* ;; "Considers all posible names for font files that respect the given characteristics. If EXISTS, returns only the names of existing files, otherwise all names. The latter case is for FONTSAVAILABLE, which does its own interpretation of *s.") + + (* ;; "If FONTSPEC is a FONT with a FILENAME that exists, that is the only one returned. Does not validate their contents.") (if (type? FONTDESCRIPTOR FONTSPEC) then @@ -1912,54 +1962,21 @@ (MKLIST (INFILEP (PACKFILENAME 'VERSION NIL 'BODY (FONTPROP FONTSPEC 'FILENAME] (FONTFILES (FONTPROP FONTSPEC 'DEVICESPEC) - CHARSET DIRLST EXTLST)) - else (LET (FAMILY SIZE FACE ROTATION DEVICE) - (SETQ FONTSPEC (\FONT.CHECKARGS FONTSPEC NIL NIL NIL NIL T)) - (SPREADFONTSPEC FONTSPEC) - (CL:WHEN (EQ 0 ROTATION) - [SETQ DIRLST (MKLIST (OR DIRLST (FONTDEVICEPROP DEVICE 'FONTDIRECTORIES] - [SETQ EXTLST (MKLIST (OR EXTLST (FONTDEVICEPROP DEVICE 'FONTEXTENSIONS] - (CL:UNLESS CHARSET (SETQ CHARSET \DEFAULTCHARSET)) - (APPEND (MKLIST (\FINDFONTFILE FAMILY SIZE FACE ROTATION DEVICE 'NOCHARSET DIRLST - EXTLST)) - (MKLIST (\FINDFONTFILE FAMILY SIZE FACE ROTATION DEVICE CHARSET DIRLST - EXTLST))))]) - -(\FINDFONTFILE - [LAMBDA (FAMILY SIZE FACE ROTATION DEVICE CHARSET DIRLST EXTLST) - (* ; "Edited 6-Feb-2026 23:44 by rmk") - (* ; "Edited 22-Jan-2026 08:54 by rmk") - (* ; "Edited 3-Dec-2025 23:38 by rmk") - (* ; "Edited 9-Jun-2025 09:40 by rmk") - (* ; "Edited 15-May-2025 22:41 by rmk") - (* ; "Edited 14-Sep-96 10:53 by rmk:") - (* ; "Edited 6-Oct-89 11:18 by bvm") - - (* ;; "This doesn't call FINDFILE because the hyphens separating the family from the face would get confused with the hyphen in TEDIT-STREAM file names.") - - (CL:UNLESS DIRLST - (SETQ DIRLST (CONS NIL))) - - (* ;; "Find any font file on any directory with any naming convention with any extension. Note that ROTATION and DEVICE are just place holders. DEVICE is irrelevant because DIRLST already incorporates the device information. ") - - (for EXT FONTFILE inside EXTLST join (SETQ FONTFILE (\FONTFILENAME FAMILY SIZE FACE EXT CHARSET)) - (for DIR FOUND inside DIRLST - when (SETQ FOUND (INFILEP (PACKFILENAME.STRING - 'DIRECTORY DIR 'BODY FONTFILE) - )) collect FOUND) - finally - - (* ;; "Backward compatibility for devices that expect a single file") - - (CL:UNLESS (CDR $$VAL) - (RETURN (CAR $$VAL)))]) - -(\FONTFILENAMES - [LAMBDA (FAMILY SIZE FACE DEVICE EXTENSIONS) (* ; "Edited 22-Jan-2026 09:01 by rmk") - (* ; "Edited 7-Oct-2025 12:21 by rmk") - (* ; "Edited 17-May-2025 12:15 by rmk") - (APPEND (for EXT inside EXTENSIONS collect (\FONTFILENAME FAMILY SIZE FACE EXT 'NOCHARSET)) - (for EXT inside EXTENSIONS collect (\FONTFILENAME FAMILY SIZE FACE EXT 0]) + EXISTS CHARSET DIRLST EXTLST)) + else (SETQ FONTSPEC (\FONT.CHECKARGS FONTSPEC NIL NIL NIL NIL T)) + (CL:UNLESS DIRLST + (SETQ DIRLST (FONTDEVICEPROP FONTSPEC 'FONTDIRECTORIES))) + (CL:UNLESS EXTLST + (SETQ EXTLST (FONTDEVICEPROP FONTSPEC 'FONTEXTENSIONS))) + (for D FOUND inside DIRLST + do (for E inside EXTLST do (for F inside (FILENAMEFROMFONTSPEC FONTSPEC CHARSET T + FORMATS) + eachtime (SETQ F (PACKFILENAME.STRING 'DIRECTORY D + 'NAME F 'EXTENSION E)) + when (OR (NULL EXISTS) + (SETQ F (INFILEP F))) + unless (MEMBER F FOUND) do (push FOUND F))) + finally (RETURN (DREVERSE FOUND]) (\FONTFILENAME [LAMBDA (FAMILY SIZE FACE EXTENSION CHARSET) (* ; "Edited 15-Apr-2026 00:44 by rmk") @@ -2016,7 +2033,8 @@ (DEFINEQ (FONTSPECFROMFILENAME - [LAMBDA (FONTFILE DEVICE) (* ; "Edited 23-Nov-2025 21:42 by rmk") + [LAMBDA (FONTFILE DEVICE) (* ; "Edited 27-Aug-2026 18:39 by rmk") + (* ; "Edited 23-Nov-2025 21:42 by rmk") (* ; "Edited 30-Aug-2025 10:05 by rmk") (* ; "Edited 28-Aug-2025 14:28 by rmk") (* ; "Edited 25-Aug-2025 10:16 by rmk") @@ -2069,7 +2087,9 @@ NIL))) (CL:WHEN (MEMB NIL FACE) (* ;  "Named didn't have a recognizable face") - (SETQ FACE NIL)) + (SETQ FACE (CL:IF (EQUAL FACE '(NIL NIL NIL)) + (\FONTFACE NIL) + NIL))) (CL:WHEN (SETQ CHARSET (STRPOS "-c" NAME NIL NIL NIL T UPPERCASEARRAY)) [SETQ CHARSET (FIXP (MKATOM (CONCAT (SUBSTRING NAME CHARSET) "Q"]) @@ -2094,8 +2114,49 @@ FSDEVICE ← DEVICE]) (FILENAMEFROMFONTSPEC - [LAMBDA (FAMILY SIZE FACE ROTATION DEVICE) (* ; "Edited 29-Jul-2026 15:52 by rmk") - (\FONTFILENAME (\FONT.CHECKARGS FAMILY SIZE FACE ROTATION DEVICE T]) + [LAMBDA (FONTSPEC CHARSET ALL FORMATS) (* ; "Edited 28-Aug-2026 09:46 by rmk") + (* ; "Edited 15-Apr-2026 00:44 by rmk") + (* ; "Edited 22-Jan-2026 14:25 by rmk") + (* ; "Edited 11-Jul-2025 09:39 by rmk") + (* ; "Edited 15-May-2025 15:51 by rmk") + (* ; "Edited 5-Mar-93 16:10 by rmk:") + (SETQ FONTSPEC (\FONT.CHECKARGS FONTSPEC NIL NIL NIL NIL T)) + (LET (FAMILY SIZE FACE ROTATION DEVICE) + (SPREADFONTSPEC FONTSPEC) + (SETQ SIZE (CL:IF (OR (EQ SIZE '*) + (>= SIZE 10)) + SIZE + (CONCAT "0" SIZE))) + (CL:IF (FIXP CHARSET) + (SETQ CHARSET (OCTALSTRING CHARSET))) + (SETQ FACE (FONTFACETOATOM FACE)) + (for F in (FONTDEVICEPROP DEVICE 'CHARSETFNS) when (OR (NULL FORMATS) + (EQMEMB (CAR F) + FORMATS)) + join (for TEMPLATE STARPOS FILENAME SUB + in [OR (CDDDR F) + '((FAMILY SIZE - FACE] eachtime (SETQ SUB + (SUBPAIR '(FAMILY SIZE FACE CHARSET) + (LIST FAMILY SIZE FACE CHARSET) + TEMPLATE T)) + unless (MEMB NIL SUB) + collect (SETQ FILENAME (CONCATLIST SUB)) + + (* ;; + " Avoid adjacent wildcards because some devices (notably old DSK) get exponentially slower.") + + (CL:IF (STRPOS "**" FILENAME) + (SETQ FILENAME (CONCATCODES + (for I C from 1 while (SETQ C (NTHCHARCODE FILENAME I)) + unless [AND (EQ (CHARCODE *) + C) + (EQ (CHARCODE *) + (NTHCHARCODE FILENAME (ADD1 I] + collect C)))) + FILENAME) finally (SETQ $$VAL (CL:REMOVE-DUPLICATES $$VAL :FROM-END T)) + (RETURN (CL:IF ALL + $$VAL + (CAR $$VAL))]) ) (DEFINEQ @@ -2334,7 +2395,9 @@ (RETURN (LIST CFONT CSINFO]) (\BUILDSLUGCSINFO - [LAMBDA (FONT SLUGWIDTH) (* ; "Edited 15-Mar-2026 23:39 by rmk") + [LAMBDA (FONT SLUGWIDTH) (* ; "Edited 1-Sep-2026 11:22 by rmk") + (* ; "Edited 30-Aug-2026 22:35 by rmk") + (* ; "Edited 15-Mar-2026 23:39 by rmk") (* ; "Edited 17-Aug-2025 12:46 by rmk") (* ; "Edited 10-Aug-2025 12:43 by rmk") (* ; "Edited 6-Aug-2025 22:42 by rmk") @@ -2349,8 +2412,8 @@ (* ;; "\SF... values are scaled") - (LET ((SLUGHEIGHT (fetch (FONTDESCRIPTOR \SFHeight) of FONT)) - (DESCENT (fetch (FONTDESCRIPTOR \SFDescent) of FONT)) + (LET ((SLUGHEIGHT (fetch (FONTDESCRIPTOR FONTHEIGHT) of FONT)) + (DESCENT (fetch (FONTDESCRIPTOR FONTDESCENT) of FONT)) (DEVICE (fetch (FONTDESCRIPTOR FONTDEVICE) of FONT)) CSINFO WIDTHS OFFSETS BITMAP) (CL:WHEN (EQ SLUGHEIGHT 0) @@ -2758,7 +2821,11 @@ then FILEFONTS)))]) (FONTEXISTS? - [LAMBDA (FONTSPEC NOCOERCIONS) (* ; "Edited 18-Aug-2026 17:24 by rmk") + [LAMBDA (FONTSPEC NOCOERCIONS) (* ; "Edited 3-Sep-2026 18:54 by rmk") + (* ; "Edited 1-Sep-2026 23:25 by rmk") + (* ; "Edited 29-Aug-2026 09:28 by rmk") + (* ; "Edited 26-Aug-2026 23:40 by rmk") + (* ; "Edited 18-Aug-2026 17:24 by rmk") (* ; "Edited 4-Apr-2026 12:27 by rmk") (* ; "Edited 2-Apr-2026 23:52 by rmk") (* ; "Edited 17-Mar-2026 23:04 by rmk") @@ -2788,21 +2855,21 @@ elseif (SETQ VAL (FETCHMULTI \FONTEXISTS?-CACHE FONTSPEC 'SASSOC)) then (CL:UNLESS (EQ VAL 'NO) VAL) - else (* ; - "Only 0 really exists--but is that true only for the display? Cache just the first file") - (SETQ DEVICE (fetch (FONTSPEC FSDEVICE) of FONTSPEC)) - [SETQ VAL (OR (CAR (FONTFILES FONTSPEC)) + else + (* ;; + "Only rotation 0 really exists--but is that true only for the display? Cache just the first file") + + (SETQ DEVICE (fetch (FONTSPEC FSDEVICE) of FONTSPEC)) + + (* ;; "\SEARCHFONTFILES does no coercion, just looks for the fontspec files. So, not the same as e.g. POSTSCRIPT.FONTSAVAILABLE. Thus, TERMINAL 10 POSTSCRIPT doesn't exist if NOCOERCIONS.") + + [SETQ VAL (OR (CAR (FONTFILES FONTSPEC T)) (APPLY* (OR (CAR (GETMULTI IMAGESTREAMTYPES DEVICE 'FONTEXISTS?)) - (CAR (GETMULTI IMAGESTREAMTYPES DEVICE 'FONTSAVAILABLE)) - (FUNCTION NILL)) + (FUNCTION \SEARCHFONTFILES)) FONTSPEC NOCOERCIONS) (AND (NOT NOCOERCIONS) - (SETQ COERCED - (OR [CAR (OR (COERCEFONTSPEC FONTSPEC 'FONTCOERCIONS) - (COERCEFONTSPEC FONTSPEC 'FACECOERCIONS] - (AND (NEQ 0 (fetch (FONTSPEC FSROTATION) of FONTSPEC)) - (FONTEXISTS? (create FONTSPEC using FONTSPEC FSROTATION - ← 0] + (SETQ COERCED (CAR (OR (COERCEFONTSPEC FONTSPEC 'FONTCOERCIONS) + (COERCEFONTSPEC FONTSPEC 'FACECOERCIONS] (* ;; "Don't cache NO if the font isn't found and coercion is suppressed. A later coercive call might produce a different result.") @@ -2812,11 +2879,13 @@ VAL]) (\SEARCHFONTFILES - [LAMBDA (FONTSPECS) (* ; "Edited 20-Jun-2026 13:40 by rmk") + [LAMBDA (FONTSPECS) (* ; "Edited 31-Aug-2026 16:29 by rmk") + (* ; "Edited 31-Aug-2026 16:16 by rmk") + (* ; "Edited 31-Aug-2026 16:02 by rmk") + (* ; "Edited 27-Aug-2026 18:48 by rmk") + (* ; "Edited 20-Jun-2026 13:40 by rmk") (* ; "Edited 3-Jun-2026 19:52 by rmk") (* ; "Edited 4-Mar-2026 00:14 by rmk") - (* ; "Edited 28-Aug-2025 14:47 by rmk") - (* ; "Edited 25-Aug-2025 10:23 by rmk") (* ; "Edited 23-Aug-2025 12:36 by rmk") (* ; "Edited 21-Jul-2025 08:57 by rmk") (* ; "Edited 21-Jun-2025 12:00 by rmk") @@ -2826,38 +2895,37 @@ (* ;; "GENERIC FUNCTION") - (* ;; "Returns a list of the fonts that can be read in for a device. Rotation is ignored because it is assumed that all devices support 0 90 and 270. The caller must do any desired coercions.") - - (for FS FAMILY SIZE FACE ROTATION DEVICE in (CL:IF (type? FONTSPEC FONTSPECS) - (CONS FONTSPECS) - FONTSPECS) - join (SPREADFONTSPEC FS) - (for FILEPATTERN FILEDIR FONTSFOUND (FILING.ENUMERATION.DEPTH ← 1) - in [\FONTFILENAMES FAMILY SIZE FACE DEVICE (MKLIST (FONTDEVICEPROP DEVICE - 'FONTEXTENSIONS] - do (SETQ FILEDIR (FILENAMEFIELD FILEPATTERN 'DIRECTORY)) - (SETQ FILEDIR (CL:IF FILEDIR - (CONCAT ">" FILEDIR ">") - "")) - (for DIR inside (FONTDEVICEPROP DEVICE 'FONTDIRECTORIES) - eachtime - - (* ;; "The file pattern might have an extending subdirectory (C41>) that might not exist, but DIRECTORYNAMEP makes sure that it does.") - - (SETQ DIR (CONCAT DIR ">" (OR FILEDIR ""))) when (DIRECTORYNAMEP DIR) - do (for FONTFILE THISFONT in (DIRECTORY DIR) eachtime (SETQ THISFONT - (FONTSPECFROMFILENAME - FONTFILE DEVICE)) + (* ;; "Returns a list of the fonts that can be read in for a device. Rotation is ignored because it is assumed that all devices support 0 90 180 and 270. The caller must do any desired coercions.") + + (for FS FONTSFOUND FAMILY SIZE FACE ROTATION DEVICE (FILING.ENUMERATION.DEPTH ← 1) + in (CL:IF (type? FONTSPEC FONTSPECS) + (CONS FONTSPECS) + FONTSPECS) declare (SPECVARS FILING.ENUMERATION.DEPTH) + do (SPREADFONTSPEC FS) + + (* ;; "Test DIRECTORYNAMEP because subdirectories may not exist") + + (for FILEPATTERN in (FONTFILES FS) when [DIRECTORYNAMEP (PACKFILENAME 'HOST + (FILENAMEFIELD FILEPATTERN + 'HOST) + 'DIRECTORY + (FILENAMEFIELD FILEPATTERN + 'DIRECTORY] + do (for FONTFILE THISFONT in (DIRECTORY FILEPATTERN) eachtime (* ;;  "make sure the face, size, and family really match.") - when (AND THISFONT (OR (EQ FAMILY '*) - (EQ FAMILY (fetch (FONTSPEC FSFAMILY) of THISFONT))) - (OR (EQ SIZE '*) - (EQ SIZE (fetch (FONTSPEC FSSIZE) of THISFONT))) - (MATCHFONTFACE FACE (fetch (FONTSPEC FSFACE) of THISFONT))) unless (MEMBER THISFONT - FONTSFOUND) - do (push FONTSFOUND THISFONT))) finally (RETURN (DREVERSE FONTSFOUND]) + + (SETQ THISFONT + (FONTSPECFROMFILENAME + FONTFILE DEVICE)) + when (AND THISFONT (OR (EQ FAMILY '*) + (EQ FAMILY (fetch (FONTSPEC FSFAMILY) of THISFONT))) + (OR (EQ SIZE '*) + (EQ SIZE (fetch (FONTSPEC FSSIZE) of THISFONT))) + (MATCHFONTFACE FACE (fetch (FONTSPEC FSFACE) of THISFONT))) + unless (MEMBER THISFONT FONTSFOUND) do (push FONTSFOUND THISFONT))) + finally (RETURN (DREVERSE FONTSFOUND]) (FLUSHFONTCACHE [LAMBDA (CACHES FAMILY SIZE FACE ROTATION DEVICE) (* ; "Edited 22-Aug-2026 12:49 by rmk") @@ -2904,54 +2972,6 @@ (RPLACD DPAIR))] (LIST CACHE NFLUSHED]) -(FINDFONTFILES - [LAMBDA (FAMILY SIZE FACE ROTATION DEVICE DIRLST EXTLST) (* ; "Edited 28-Aug-2025 14:45 by rmk") - (* ; "Edited 25-Aug-2025 10:23 by rmk") - (* ; "Edited 21-Aug-2025 18:19 by rmk") - (* ; "Edited 12-Aug-2025 21:06 by rmk") - (* ; "Edited 21-Jul-2025 09:00 by rmk") - (* ; "Edited 29-Jun-2025 09:08 by rmk") - - (* ;; "GENERIC FUNCTION") - - (* ;; "returns a list of the fontfiles that can be read in for a device. Rotation is ignored because it is assumed that all devices support 0 90 and 270.") - - (* ;; "The same algorithm as \SEARCHFONTFILES except returns the file names. This may return several files for the same specification") - - (SPREADFONTSPEC (\FONT.CHECKARGS FAMILY SIZE FACE ROTATION DEVICE)) - (CL:UNLESS DIRLST - [SETQ DIRLST (MKLIST (FONTDEVICEPROP DEVICE 'FONTDIRECTORIES]) - (CL:UNLESS EXTLST - [SETQ EXTLST (MKLIST (FONTDEVICEPROP DEVICE 'FONTEXTENSIONS]) - (for FILEPATTERN FILEDIR FONTSFOUND (FILING.ENUMERATION.DEPTH ← 1) - IN (\FONTFILENAMES FAMILY SIZE FACE DEVICE EXTLST) - do (SETQ FILEDIR (FILENAMEFIELD FILEPATTERN 'DIRECTORY)) - (SETQ FILEDIR (CL:IF FILEDIR - (CONCAT ">" FILEDIR ">") - "")) - (for DIR inside DIRLST eachtime - - (* ;; "The file pattern might have an extending subdirectory (C41>) that might not exist, but DIRECTORYNAMEP makes sure that it does.") - - (SETQ DIR (CONCAT DIR ">" (OR FILEDIR ""))) - when (DIRECTORYNAMEP DIR) - do (for FONTFILE FONTSPEC THISFACE in (DIRECTORY DIR) eachtime (SETQ FONTSPEC - (FONTSPECFROMFILENAME - FONTFILE DEVICE)) - (SETQ THISFACE (CADDR - FONTSPEC - )) - - (* ;; - "make sure the face, size, and family really match.") - when (AND (NOT (MEMBER FONTFILE FONTSFOUND)) - (OR (EQ FAMILY '*) - (EQ FAMILY (fetch (FONTSPEC FSFAMILY) of FONTSPEC))) - (OR (EQ SIZE '*) - (EQ SIZE (fetch (FONTSPEC FSSIZE) of FONTSPEC))) - (MATCHFONTFACE FACE (fetch (FONTSPEC FSFACE) of FONTSPEC))) do (push FONTSFOUND FONTFILE)) - ) finally (RETURN (DREVERSE FONTSFOUND]) - (SORTFONTSPECS [LAMBDA (FONTSPECS) (* ; "Edited 22-Mar-2026 12:44 by rmk") (* ; "Edited 13-Mar-2026 11:33 by rmk") @@ -3134,9 +3154,9 @@ (FONTFAMILY POINTER) (FONTSIZE POINTER) (FONTFACE POINTER) - (\SFAscent WORD) - (\SFDescent WORD) - (\SFHeight WORD) + (FONTASCENT WORD) + (FONTDESCENT WORD) + (FONTHEIGHT WORD) (ROTATION WORD) (FONTSLUGWIDTH WORD) (* ; "Was FBBOX. The width of the slug character in the font, used by the generic \BUILDSLUGCSINFO to create the slug charsetinfo") (MAXCHARSET WORD) (* ; @@ -3158,7 +3178,16 @@  "T if at least one character set has an entry for left kerns") (FONTEXTRAFIELD2 POINTER)) MAXCHARSET ← \MAXCHARSET FONTCHARSETVECTOR ← (\CREATEFONTCHARSETVECTOR) - (INIT (DEFPRINT 'FONTDESCRIPTOR (FUNCTION FONTDESCRIPTOR.DEFPRINT)))) + (INIT (DEFPRINT 'FONTDESCRIPTOR (FUNCTION FONTDESCRIPTOR.DEFPRINT))) + [ACCESSFNS ((\SFAscent (fetch (FONTDESCRIPTOR FONTASCENT) of DATUM) + (replace (FONTDESCRIPTOR FONTASCENT) of DATUM + with NEWVALUE)) + (\SFDescent (fetch (FONTDESCRIPTOR FONTDESCENT) of DATUM) + (replace (FONTDESCRIPTOR FONTDESCENT) of DATUM + with NEWVALUE)) + (\SFHeight (fetch (FONTDESCRIPTOR FONTHEIGHT) of DATUM) + (replace (FONTDESCRIPTOR FONTHEIGHT) of DATUM + with NEWVALUE]) (RECORD FONTFACE (WEIGHT SLOPE EXPANSION) [ACCESSFNS ((COLOR (CDDDR DATUM) @@ -3202,7 +3231,6 @@ (CHARSETNO WORD)) (* ;  "The number of this CSINFO in its font--MAX.SMALLP if not initialized") WIDTHS ← (\CREATECSINFOELEMENT) - OFFSETS ← (\CREATECSINFOELEMENT) CHARSETNO ← MAX.SMALLP (ACCESSFNS (YIMAGEWIDTHS (CHARSETPROP DATUM 'YIMAGEWIDTHS) (CHARSETPROP DATUM 'YIMAGEWIDTHS @@ -3215,7 +3243,7 @@ (LITATOM (fetch (FONTSPEC FSFAMILY) of DATUM))) (OR (AND (SMALLP (fetch (FONTSPEC FSSIZE) of DATUM)) (IGEQ (fetch (FONTSPEC FSSIZE) of DATUM) - 1)) + 0)) (EQ '* (fetch (FONTSPEC FSSIZE) of DATUM]) ) @@ -3280,13 +3308,13 @@ (DECLARE%: EVAL@COMPILE (PUTPROPS FONTASCENT MACRO ((FONTSPEC) - (ffetch \SFAscent of (FONTCREATE FONTSPEC)))) + (ffetch (FONTDESCRIPTOR FONTASCENT) of (FONTCREATE FONTSPEC)))) (PUTPROPS FONTDESCENT MACRO ((FONTSPEC) - (ffetch \SFDescent of (FONTCREATE FONTSPEC)))) + (ffetch (FONTDESCRIPTOR FONTDESCENT) of (FONTCREATE FONTSPEC)))) (PUTPROPS FONTHEIGHT MACRO ((FONTSPEC) - (ffetch \SFHeight of (FONTCREATE FONTSPEC)))) + (ffetch (FONTDESCRIPTOR FONTHEIGHT) of (FONTCREATE FONTSPEC)))) (PUTPROPS \FGETOFFSET DMACRO ((OFFSETSBLOCK CHAR8CODE) (\GETBASE OFFSETSBLOCK CHAR8CODE))) @@ -3527,9 +3555,9 @@ (FONTFAMILY POINTER) (FONTSIZE POINTER) (FONTFACE POINTER) - (\SFAscent WORD) - (\SFDescent WORD) - (\SFHeight WORD) + (FONTASCENT WORD) + (FONTDESCENT WORD) + (FONTHEIGHT WORD) (ROTATION WORD) (FONTSLUGWIDTH WORD) (MAXCHARSET WORD) @@ -3599,7 +3627,8 @@ (DEFINEQ (\CREATEFONT - [LAMBDA (FONTSPEC) (* ; "Edited 18-Aug-2026 22:27 by rmk") + [LAMBDA (FONTSPEC) (* ; "Edited 3-Sep-2026 19:08 by rmk") + (* ; "Edited 18-Aug-2026 22:27 by rmk") (* ; "Edited 15-Apr-2026 00:13 by rmk") (* ; "Edited 4-Apr-2026 23:29 by rmk") (* ; "Edited 2-Apr-2026 23:01 by rmk") @@ -3616,55 +3645,50 @@ (* ;; "") - (LET (FN COERCIONSPEC FONT FILE) - (if (FONTEXISTS? FONTSPEC) - then [SETQ FN (CAR (GETMULTI IMAGESTREAMTYPES (fetch (FONTSPEC FSDEVICE) of FONTSPEC) + (LET (FN COERCIONSPEC FONT FILE) (* ; "FONTEXISTS? tells us whether an uncoerced font exists. If not, we deal with the coercions at this level.") + (if (FONTEXISTS? FONTSPEC T) + then [SETQ FN (CAR (GETMULTI IMAGESTREAMTYPES (FSPROP FONTSPEC FSDEVICE) 'FONTCREATE] (if FN then (APPLY* FN FONTSPEC) elseif (AND (SETQ FILE (CAR (FONTFILES FONTSPEC))) (MEDLEYFONT.READ.FONT FILE NIL T)) else (FONTSPEC.TO.FONTDESCRIPTOR FONTSPEC)) - elseif [SETQ COERCIONSPEC (CAR (COERCEFONTSPEC FONTSPEC 'FONTCOERCIONS] + elseif [SETQ COERCIONSPEC (find C in (COERCEFONTSPEC FONTSPEC 'FONTCOERCIONS T T) + suchthat (SETQ FONT (\CREATEFONT C] then - (* ;; "(Re)load the target font, change its spec labeling. Maybe the DEVICESPEC should also change, in case this is dumped? But \CREATECHARSET needs to know the device name so it doesn't keep coercing.") - - (SETQ FONT (\CREATEFONT COERCIONSPEC)) - (replace (FONTDESCRIPTOR FONTCOERCEDP) of FONT with T) - (replace (FONTDESCRIPTOR FONTFAMILY) of FONT with (fetch (FONTSPEC FSFAMILY) - of FONTSPEC)) - (replace (FONTDESCRIPTOR FONTSIZE) of FONT with (fetch (FONTSPEC FSSIZE) - of FONTSPEC)) - (replace (FONTDESCRIPTOR FONTFACE) of FONT with (fetch (FONTSPEC FSFACE) - of FONTSPEC)) - (replace (FONTDESCRIPTOR ROTATION) of FONT with (fetch (FONTSPEC FSROTATION) - of FONTSPEC)) - (replace (FONTDESCRIPTOR FONTDEVICESPEC) of FONT with COERCIONSPEC) + (* ;; "(Re)load the target font, change its spec labeling. Maybe the DEVICESPEC should also change, in case this is dumped? But \CREATECHARSET needs to know the device name so it doesn't keep coercing. COERCIONSPEC is known to exist") + + (SETQ FONT (FONT.CHANGESPEC FONT FONTSPEC COERCIONSPEC)) + (replace (FONTDESCRIPTOR FONTCOERCEDP) of FONT with T) + + (* ;; "The function applies to the unchanged font") + + (CL:WHEN [SETQ FN (CAR (GETMULTI IMAGESTREAMTYPES (FSPROP FONTSPEC FSDEVICE) + 'FONTCREATE] + (SETQ FONT (APPLY* FN FONT))) FONT elseif [SETQ COERCIONSPEC (CAR (COERCEFONTSPEC FONTSPEC 'FACECOERCIONS] then (FONTSPEC.TO.FONTDESCRIPTOR FONTSPEC (MAXCHARSET (\CREATEFONT COERCIONSPEC]) (\CREATECHARSET - [LAMBDA (CHARSET FONT GETCHARSETFN) (* ; "Edited 12-Apr-2026 18:47 by rmk") + [LAMBDA (CHARSET FONT GETCHARSETFN) (* ; "Edited 2-Sep-2026 14:16 by rmk") + (* ; "Edited 31-Aug-2026 10:55 by rmk") + (* ; "Edited 12-Apr-2026 18:47 by rmk") (* ; "Edited 4-Apr-2026 14:39 by rmk") - (* ; "Edited 31-Mar-2026 17:44 by rmk") - (* ; "Edited 29-Mar-2026 10:33 by rmk") - (* ; "Edited 27-Mar-2026 07:52 by rmk") - (* ; "Edited 18-Mar-2026 23:11 by rmk") - (* ; "Edited 16-Mar-2026 12:35 by rmk") - (* ; "Edited 13-Mar-2026 10:06 by rmk") (* ; "Edited 14-Feb-2026 13:12 by rmk") (* ; "Edited 25-Sep-2025 21:24 by rmk") (* ; "Edited 2-Sep-2025 22:59 by rmk") - (* ; "Edited 31-Aug-2025 14:36 by rmk") - (* ; "Edited 28-Aug-2025 14:31 by rmk") (* ; "Edited 9-Jul-2025 11:12 by rmk") (* ; "Edited 18-May-2025 21:40 by rmk") (* ; "Edited 12-Jul-2022 14:37 by rmk") (* ; "Edited 8-May-93 23:42 by rmk:") (* ; "Edited 4-Dec-92 11:43 by jds") - (* ;; "Creates and returns the CHARSETINFO for charset CHARSET in fontdesc FONT, installing it in FONT's FONTCHARSETVECTOR") + (* ;; "Creates and returns the CHARSETINFO for charset CHARSET in fontdesc FONT, installing it in FONT's FONTCHARSETVECTOR.") + + (* ;; + "\READCHARSET is the default (function is NIL), T produces the empty charsetinfo (or the slug?)") (OR (\GETCHARSETINFO FONT CHARSET) (LET (CSINFO) (* ; @@ -3682,27 +3706,28 @@ (\INSTALLCHARSETINFO FONT CSINFO CHARSET))]) (\INSTALLCHARSETINFO - [LAMBDA (FONT CSINFO CHARSET) (* ; "Edited 31-Aug-2025 14:36 by rmk") + [LAMBDA (FONT CSINFO CHARSET) (* ; "Edited 1-Sep-2026 12:09 by rmk") + (* ; "Edited 31-Aug-2025 14:36 by rmk") (* ; "Edited 25-Aug-2025 14:32 by rmk") (* ; "Edited 24-Aug-2025 11:29 by rmk") (* ; "Edited 25-May-2025 07:48 by rmk") (* ; "Edited 23-May-2025 14:44 by rmk") (* ; "Edited 12-Jul-2022 15:08 by rmk") - (replace \SFAscent of FONT with (IMAX (fetch \SFAscent of FONT) - (SIGNED (fetch CHARSETASCENT of CSINFO) - 16))) - (replace (FONTDESCRIPTOR \SFDescent) of FONT with (IMAX (fetch (FONTDESCRIPTOR \SFDescent) - of FONT) - (SIGNED (fetch (CHARSETINFO - CHARSETDESCENT) - of CSINFO) - 16))) + (replace FONTASCENT of FONT with (IMAX (fetch FONTASCENT of FONT) + (SIGNED (fetch CHARSETASCENT of CSINFO) + 16))) + (replace (FONTDESCRIPTOR FONTDESCENT) of FONT with (IMAX (fetch (FONTDESCRIPTOR FONTDESCENT) + of FONT) + (SIGNED (fetch (CHARSETINFO + CHARSETDESCENT) + of CSINFO) + 16))) (* ;  "jtm: height = ascent + descent, not (IMAX fontHeight charSetHeight)") - (replace (FONTDESCRIPTOR \SFHeight) of FONT with (IPLUS (fetch (FONTDESCRIPTOR \SFAscent) - of FONT) - (ffetch (FONTDESCRIPTOR \SFDescent) - of FONT))) + (replace (FONTDESCRIPTOR FONTHEIGHT) of FONT with (IPLUS (ffetch (FONTDESCRIPTOR FONTASCENT) + of FONT) + (ffetch (FONTDESCRIPTOR FONTDESCENT) + of FONT))) (replace (CHARSETINFO CHARSETNO) of CSINFO with CHARSET) (* ; "In case the device didn't do it") (\INSTALLCHARSETINFO.CHARENCODING FONT CSINFO CHARSET) (\SETCHARSETINFO FONT CHARSET CSINFO) @@ -3793,8 +3818,10 @@ (DEFINEQ -(\CREATEDISPLAYFONT - [LAMBDA (FONTSPEC) (* ; "Edited 26-Aug-2026 11:46 by rmk") +(\CREATEFONT.DISPLAY + [LAMBDA (FONTSPEC) (* ; "Edited 2-Sep-2026 21:55 by rmk") + (* ; "Edited 29-Aug-2026 00:34 by rmk") + (* ; "Edited 26-Aug-2026 21:02 by rmk") (* ; "Edited 5-May-2026 09:54 by rmk") (* ; "Edited 15-Apr-2026 00:20 by rmk") (* ; "Edited 11-Apr-2026 10:10 by rmk") @@ -3815,15 +3842,22 @@ (* ;; "FONTEXISTS? has determined that there is at least one source file for this font, so the font exists or can be faked in at least some character sets.") - (CL:WHEN (MEMB (fetch (FONTSPEC FSROTATION) of FONTSPEC) - '(0 90 180 270)) - (LET [(FILE (CAR (FONTFILES FONTSPEC] - (if FILE - then (MEDLEYFONT.READ.FONT FILE NIL T) - else - (* ;; "Set up for faking") + (if (type? FONTSPEC FONTSPEC) + then (* ; + "Called with an FD if already fontcoerced") + (SETQ FONTSPEC (MAKEFONTSPEC NIL NIL NIL (IMOD (fetch (FONTSPEC FSROTATION) of FONTSPEC) + 360) + NIL FONTSPEC)) + (CL:WHEN (MEMB (fetch (FONTSPEC FSROTATION) of FONTSPEC) + '(0 90 180 270)) + (LET [(FILE (CAR (FONTFILES FONTSPEC NIL T] + (if FILE + then (MEDLEYFONT.READ.FONT FILE NIL T) + else + (* ;; "Set up for faking") - (FONTSPEC.TO.FONTDESCRIPTOR FONTSPEC))))]) + (FONTSPEC.TO.FONTDESCRIPTOR FONTSPEC)))) + else FONTSPEC]) (\CREATECHARSET.DISPLAY [LAMBDA (FONTSPEC FONT CHARSET) (* ; "Edited 26-Aug-2026 11:40 by rmk") @@ -3870,7 +3904,8 @@ (\GETCHARSETINFO FONT CHARSET]) (\FONTEXISTS?.DISPLAY - [LAMBDA (FONTSPEC NOCOERCIONS) (* ; "Edited 4-Apr-2026 09:03 by rmk") + [LAMBDA (FONTSPEC NOCOERCIONS) (* ; "Edited 26-Aug-2026 23:44 by rmk") + (* ; "Edited 4-Apr-2026 09:03 by rmk") (* ; "Edited 18-Mar-2026 11:45 by rmk") (* ; "Edited 17-Dec-2025 20:56 by rmk") (* ; "Edited 28-Aug-2025 22:12 by rmk") @@ -3887,22 +3922,43 @@ (* ;; "BIR is possible if either MIR or BRR is available, doesn't always go to MRR.") - (CL:UNLESS NOCOERCIONS - (CL:WHEN (FONTDEVICEPROP FONTSPEC 'FACECOERCIONS) - (OR (AND (EQ 'BOLD (fetch (FONTSPEC FSWEIGHT) of FONTSPEC)) - (FONTEXISTS? (create FONTSPEC using FONTSPEC FSWEIGHT ← 'MEDIUM) - NOCOERCIONS)) - (AND (EQ 'ITALIC (fetch (FONTSPEC FSSLOPE) of FONTSPEC)) - (FONTEXISTS? (create FONTSPEC using FONTSPEC FSSLOPE ← 'REGULAR) - NOCOERCIONS)) - (AND (EQ 'COMPRESSED (fetch (FONTSPEC FSEXPANSION) of FONTSPEC)) - (FONTEXISTS? (create FONTSPEC using FONTSPEC FSEXPANSION ← 'REGULAR) - NOCOERCIONS)))))]) + (if (EQ 0 (fetch (FONTSPEC FSROTATION) of FONTSPEC)) + then (CL:UNLESS NOCOERCIONS + (CL:WHEN (FONTDEVICEPROP FONTSPEC 'FACECOERCIONS) + (OR (AND (EQ 'BOLD (fetch (FONTSPEC FSWEIGHT) of FONTSPEC)) + (FONTEXISTS? (create FONTSPEC using FONTSPEC FSWEIGHT ← 'MEDIUM) + NOCOERCIONS)) + (AND (EQ 'ITALIC (fetch (FONTSPEC FSSLOPE) of FONTSPEC)) + (FONTEXISTS? (create FONTSPEC using FONTSPEC FSSLOPE ← 'REGULAR) + NOCOERCIONS)) + (AND (EQ 'COMPRESSED (fetch (FONTSPEC FSEXPANSION) of FONTSPEC)) + (FONTEXISTS? (create FONTSPEC using FONTSPEC FSEXPANSION ← 'REGULAR) + NOCOERCIONS))))) + elseif (AND (MEMB (IMOD (fetch (FONTSPEC FSROTATION) of FONTSPEC) + 360) + '(90 180 270)) + (FONTEXISTS? (MAKEFONTSPEC NIL NIL NIL 0 NIL FONTSPEC) + NOCOERCIONS)) + then FONTSPEC]) + +(FONTSAVAILABLE.DISPLAY + [LAMBDA (FONTSPEC) (* ; "Edited 27-Aug-2026 21:22 by rmk") + (LET ((ROTATION (fetch (FONTSPEC FSROTATION) of FONTSPEC))) + (CL:IF (EQ ROTATION '*) + (SETQ ROTATION 0)) + (CL:WHEN (NUMBERP ROTATION) + (SETQ ROTATION (IMOD ROTATION 360)) + (if (EQ ROTATION 0) + then (\SEARCHFONTFILES FONTSPEC) + elseif (MEMB ROTATION '(90 180 270)) + then (for FS in (\SEARCHFONTFILES (MAKEFONTSPEC NIL NIL NIL 0 NIL FONTSPEC)) + collect (MAKEFONTSPEC NIL NIL NIL ROTATION NIL FS))))]) ) (DEFINEQ (FAKEFACE.CHARSET - [LAMBDA (FONT CHARSET FAKEFN SOURCEFONT) (* ; "Edited 17-Apr-2026 08:42 by rmk") + [LAMBDA (FONT CHARSET FAKEFN SOURCEFONT) (* ; "Edited 29-Aug-2026 09:27 by rmk") + (* ; "Edited 17-Apr-2026 08:42 by rmk") (* ; "Edited 5-Apr-2026 00:25 by rmk") (* ; "Edited 1-Apr-2026 09:10 by rmk") (* ; "Edited 31-Mar-2026 00:39 by rmk") @@ -3934,7 +3990,7 @@ elseif (AND [NOT (EQUAL FONTSPEC (SETQ INDIRECT (CHARSETPROP SCSINFO 'SOURCE] (EQUAL (fetch (FONTSPEC FSFACE) of FONTSPEC) (fetch (FONTSPEC FSFACE) of INDIRECT)) - (FONTFILES INDIRECT CHARSET)) + (FONTFILES INDIRECT NIL CHARSET)) then (* ;; "Indirect: font charset adds nothing new, it can inherit the faking of its charset-source: MODERN MIR for HELVETICA MIR rather than faking from HELVETICA MRR. Smaller file size?") @@ -4029,7 +4085,8 @@ (DEFINEQ (\SFROTATECSINFO - [LAMBDA (FONTSPEC CHARSET) (* ; "Edited 26-Aug-2026 11:31 by rmk") + [LAMBDA (FONTSPEC CHARSET) (* ; "Edited 1-Sep-2026 11:26 by rmk") + (* ; "Edited 26-Aug-2026 11:31 by rmk") (* ; "Edited 22-Aug-2026 17:49 by rmk") (* ; "Edited 21-Aug-2026 00:27 by rmk") (* ; "Edited 18-Aug-2026 19:41 by rmk") @@ -4065,7 +4122,7 @@  \SFROTATECSINFOBITMAP CSINFO ROTATION) OFFSETS ← (\SFROTATECSINFOOFFSETS CSINFO - ROTATION 270))) + ROTATION))) (* ;; "Do the offsets a second time") @@ -4186,42 +4243,41 @@ (ADDTOVAR LAMA FONTCOPY FONTDEVICEPROP) ) (DECLARE%: DONTCOPY - (FILEMAP (NIL (6453 16120 (CHARWIDTH 6463 . 7252) (CHARWIDTHY 7254 . 8771) (STRINGWIDTH 8773 . 9810) ( -\CHARWIDTH.DISPLAY 9812 . 10227) (\STRINGWIDTH.DISPLAY 10229 . 10657) (\STRINGWIDTH.GENERIC 10659 . -16118)) (16121 22753 (DEFAULTFONT 16131 . 17416) (FONTCLASS 17418 . 19690) (FONTCLASSUNPARSE 19692 . -20593) (FONTCLASSCOMPONENT 20595 . 21183) (SETFONTCLASSCOMPONENT 21185 . 21627) (GETFONTCLASSCOMPONENT - 21629 . 22751)) (24201 44025 (FONTCREATE 24211 . 27456) (FONTCREATE1 27458 . 30117) ( -FONTCREATE.SLUGFD 30119 . 32683) (\FONT.CHECKARGS1 32685 . 37390) (\FONTCREATE1.NOFN 37392 . 37606) ( -FONTFILEP 37608 . 38496) (\READCHARSET 38498 . 43605) (FONTCHARSETS 43607 . 44023)) (44026 51247 ( -\FONT.CHECKARGS 44036 . 50930) (\CHARSET.CHECK 50932 . 51245)) (51248 57608 (COERCEFONTSPEC 51258 . -56919) (COERCEFONTSPEC.TARGETFACE 56921 . 57606)) (59803 63221 (MAKEFONTSPEC 59813 . 61466) ( -FONTSPEC.TO.FONTDESCRIPTOR 61468 . 63219)) (63222 72884 (COMPLETE.FONT 63232 . 65257) (COMPLETEFONTP -65259 . 65997) (COMPLETE.CHARSET 65999 . 70065) (PRUNESLUGCSINFOS 70067 . 71378) (MONOSPACEFONTP 71380 - . 72882)) (72923 82737 (FONTASCENT 72933 . 73317) (FONTDESCENT 73319 . 73804) (FONTHEIGHT 73806 . -74208) (FONTPROP 74210 . 82014) (\AVGCHARWIDTH 82016 . 82735)) (83485 85355 (FONTDEVICEPROP 83495 . -85353)) (85472 86326 (EDITCHAR 85482 . 86324)) (86372 99335 (GETCHARBITMAP 86382 . 87636) ( -PUTCHARBITMAP 87638 . 89796) (\GETCHARBITMAP.CSINFO 89798 . 92457) (\PUTCHARBITMAP.CSINFO 92459 . -99333)) (99336 121896 (MOVECHARBITMAP 99346 . 101240) (MOVEFONTCHARS 101242 . 106392) (\MOVEFONTCHAR -106394 . 111266) (\MOVEFONTCHARS.SOURCEDATA 111268 . 118138) (\MAKESLUGCHAR 118140 . 120675) ( -SLUGCHARP 120677 . 121894)) (122811 131735 (FONTFILES 122821 . 126080) (\FINDFONTFILE 126082 . 128059) - (\FONTFILENAMES 128061 . 128621) (\FONTFILENAME 128623 . 131733)) (131736 136513 ( -FONTSPECFROMFILENAME 131746 . 136294) (FILENAMEFROMFONTSPEC 136296 . 136511)) (136514 172847 (FONTCOPY - 136524 . 141607) (FONTP 141609 . 141908) (FONTUNPARSE 141910 . 143633) (SETFONTDESCRIPTOR 143635 . -145099) (\STREAMCHARWIDTH 145101 . 149112) (\COERCECHARSET 149114 . 152503) (\BUILDSLUGCSINFO 152505 - . 156198) (\FONTSYMBOL 156200 . 156854) (\DEVICESYMBOL 156856 . 157640) (\FONTFACE 157642 . 164846) ( -\FONTFACE.COLOR 164848 . 171630) (SETFONTCHARENCODING 171632 . 172845)) (172848 194474 (FONTSAVAILABLE - 172858 . 178222) (FONTEXISTS? 178224 . 182184) (\SEARCHFONTFILES 182186 . 185842) (FLUSHFONTCACHE -185844 . 188549) (FINDFONTFILES 188551 . 191767) (SORTFONTSPECS 191769 . 194472)) (194475 200013 ( -MATCHFONTFACE 194485 . 195560) (MAKEFONTFACE 195562 . 196596) (FONTFACETOATOM 196598 . 198848) ( -FONTFACE.STARS 198850 . 200011)) (200360 200852 (\UNITWIDTHSVECTOR 200370 . 200850)) (218043 220441 ( -FONTDESCRIPTOR.DEFPRINT 218053 . 219963) (FONTCLASS.DEFPRINT 219965 . 220439)) (224253 227043 ( -\CREATEKERNELEMENT 224263 . 224621) (\FSETLEFTKERN 224623 . 225114) (\FGETLEFTKERN 225116 . 227041)) ( -227044 238331 (\CREATEFONT 227054 . 230795) (\CREATECHARSET 230797 . 234082) (\INSTALLCHARSETINFO -234084 . 237418) (\INSTALLCHARSETINFO.CHARENCODING 237420 . 238329)) (238653 240021 ( -\FONTRESETCHARWIDTHS 238663 . 240019)) (240544 249077 (\CREATEDISPLAYFONT 240554 . 243004) ( -\CREATECHARSET.DISPLAY 243006 . 246662) (\FONTEXISTS?.DISPLAY 246664 . 249075)) (249078 257684 ( -FAKEFACE.CHARSET 249088 . 253150) (MAKEBOLD.CHAR 253152 . 255119) (MAKEITALIC.CHAR 255121 . 257682)) ( -257715 264760 (\SFROTATECSINFO 257725 . 261375) (\SFROTATECSINFOBITMAP 261377 . 262090) ( -\SFROTATECSINFOOFFSETS 262092 . 263876) (\SFROTATECSINFOIMAGEWIDTHS 263878 . 264758)) (264761 265935 ( -\SFMAKECOLOR 264771 . 265933))))) + (FILEMAP (NIL (6446 16113 (CHARWIDTH 6456 . 7245) (CHARWIDTHY 7247 . 8764) (STRINGWIDTH 8766 . 9803) ( +\CHARWIDTH.DISPLAY 9805 . 10220) (\STRINGWIDTH.DISPLAY 10222 . 10650) (\STRINGWIDTH.GENERIC 10652 . +16111)) (16114 22746 (DEFAULTFONT 16124 . 17409) (FONTCLASS 17411 . 19683) (FONTCLASSUNPARSE 19685 . +20586) (FONTCLASSCOMPONENT 20588 . 21176) (SETFONTCLASSCOMPONENT 21178 . 21620) (GETFONTCLASSCOMPONENT + 21622 . 22744)) (24194 44129 (FONTCREATE 24204 . 27449) (FONTCREATE1 27451 . 30110) ( +FONTCREATE.SLUGFD 30112 . 32676) (\FONT.CHECKARGS1 32678 . 37383) (\FONTCREATE1.NOFN 37385 . 37599) ( +FONTFILEP 37601 . 38489) (\READCHARSET 38491 . 43709) (FONTCHARSETS 43711 . 44127)) (44130 51484 ( +\FONT.CHECKARGS 44140 . 51167) (\CHARSET.CHECK 51169 . 51482)) (51485 59339 (COERCEFONTSPEC 51495 . +58650) (COERCEFONTSPEC.TARGETFACE 58652 . 59337)) (61534 65972 (MAKEFONTSPEC 61544 . 63319) ( +FONTSPEC.TO.FONTDESCRIPTOR 63321 . 65195) (FONT.CHANGESPEC 65197 . 65970)) (65973 75635 (COMPLETE.FONT + 65983 . 68008) (COMPLETEFONTP 68010 . 68748) (COMPLETE.CHARSET 68750 . 72816) (PRUNESLUGCSINFOS 72818 + . 74129) (MONOSPACEFONTP 74131 . 75633)) (75674 86233 (FONTASCENT 75684 . 76195) (FONTDESCENT 76197 + . 76918) (FONTHEIGHT 76920 . 77432) (FONTPROP 77434 . 85510) (\AVGCHARWIDTH 85512 . 86231)) (87117 +88987 (FONTDEVICEPROP 87127 . 88985)) (89104 89958 (EDITCHAR 89114 . 89956)) (90004 103081 ( +GETCHARBITMAP 90014 . 91268) (PUTCHARBITMAP 91270 . 93542) (\GETCHARBITMAP.CSINFO 93544 . 96203) ( +\PUTCHARBITMAP.CSINFO 96205 . 103079)) (103082 125756 (MOVECHARBITMAP 103092 . 104986) (MOVEFONTCHARS +104988 . 110138) (\MOVEFONTCHAR 110140 . 115126) (\MOVEFONTCHARS.SOURCEDATA 115128 . 121998) ( +\MAKESLUGCHAR 122000 . 124535) (SLUGCHARP 124537 . 125754)) (126671 133596 (FONTFILES 126681 . 130482) + (\FONTFILENAME 130484 . 133594)) (133597 141384 (FONTSPECFROMFILENAME 133607 . 138376) ( +FILENAMEFROMFONTSPEC 138378 . 141382)) (141385 177938 (FONTCOPY 141395 . 146478) (FONTP 146480 . +146779) (FONTUNPARSE 146781 . 148504) (SETFONTDESCRIPTOR 148506 . 149970) (\STREAMCHARWIDTH 149972 . +153983) (\COERCECHARSET 153985 . 157374) (\BUILDSLUGCSINFO 157376 . 161289) (\FONTSYMBOL 161291 . +161945) (\DEVICESYMBOL 161947 . 162731) (\FONTFACE 162733 . 169937) (\FONTFACE.COLOR 169939 . 176721) +(SETFONTCHARENCODING 176723 . 177936)) (177939 196626 (FONTSAVAILABLE 177949 . 183313) (FONTEXISTS? +183315 . 187480) (\SEARCHFONTFILES 187482 . 191212) (FLUSHFONTCACHE 191214 . 193919) (SORTFONTSPECS +193921 . 196624)) (196627 202165 (MATCHFONTFACE 196637 . 197712) (MAKEFONTFACE 197714 . 198748) ( +FONTFACETOATOM 198750 . 201000) (FONTFACE.STARS 201002 . 202163)) (202512 203004 (\UNITWIDTHSVECTOR +202522 . 203002)) (220995 223393 (FONTDESCRIPTOR.DEFPRINT 221005 . 222915) (FONTCLASS.DEFPRINT 222917 + . 223391)) (227208 229998 (\CREATEKERNELEMENT 227218 . 227576) (\FSETLEFTKERN 227578 . 228069) ( +\FGETLEFTKERN 228071 . 229996)) (229999 240667 (\CREATEFONT 230009 . 233535) (\CREATECHARSET 233537 . +236291) (\INSTALLCHARSETINFO 236293 . 239754) (\INSTALLCHARSETINFO.CHARENCODING 239756 . 240665)) ( +240989 242357 (\FONTRESETCHARWIDTHS 240999 . 242355)) (242880 253490 (\CREATEFONT.DISPLAY 242890 . +246114) (\CREATECHARSET.DISPLAY 246116 . 249772) (\FONTEXISTS?.DISPLAY 249774 . 252770) ( +FONTSAVAILABLE.DISPLAY 252772 . 253488)) (253491 262210 (FAKEFACE.CHARSET 253501 . 257676) ( +MAKEBOLD.CHAR 257678 . 259645) (MAKEITALIC.CHAR 259647 . 262208)) (262241 269391 (\SFROTATECSINFO +262251 . 266006) (\SFROTATECSINFOBITMAP 266008 . 266721) (\SFROTATECSINFOOFFSETS 266723 . 268507) ( +\SFROTATECSINFOIMAGEWIDTHS 268509 . 269389)) (269392 270566 (\SFMAKECOLOR 269402 . 270564))))) STOP diff --git a/sources/FONT.LCOM b/sources/FONT.LCOM index dfba423d4453b975abf0f6eaf0f8a482e85eb8da..b7b188c06e985d91b5807e69e9577c91b5bd1736 100644 GIT binary patch delta 7994 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.;320 67760 +(FILECREATED " 2-Sep-2026 14:30:37" {MEDLEY}MEDLEYFONTFORMAT.;329 70311 :EDIT-BY rmk - :CHANGES-TO (FNS MEDLEYFONT.FILENAME MEDLEYFONT.WRITE.FONTPROPS MEDLEYFONT.READ.VERIFIEDFONT) + :CHANGES-TO (FNS MEDLEYFONT.READ.CHARSET MEDLEYFONT.WRITE.CHARSET MEDLEYFONT.READ.FONT + MEDLEYFONT.READ.VERIFIEDFONT MEDLEYFONT.WRITE.FONTPROPS) - :PREVIOUS-DATE " 5-May-2026 11:06:05" {MEDLEY}MEDLEYFONTFORMAT.;317) + :PREVIOUS-DATE "31-Aug-2026 22:44:24" {MEDLEY}MEDLEYFONTFORMAT.;326) (PRETTYCOMPRINT MEDLEYFONTFORMATCOMS) @@ -32,7 +33,8 @@ MEDLEYFONT.WRITE.HEADER) (FNS MEDLEYFONT.FILENAME) (ADDVARS (DISPLAYFONTEXTENSIONS MEDLEYDISPLAYFONT) - (DISPLAYCHARSETFNS (MEDLEYFONT MEDLEYFONT.FILEP MEDLEYFONT.GETCHARSET)) + (DISPLAYCHARSETFNS (MEDLEYFONT MEDLEYFONT.FILEP MEDLEYFONT.GETCHARSET + (FAMILY SIZE - FACE))) (INTERPRESSFONTEXTENSIONS MEDLEYINTERPRESSFONT)) (DECLARE%: EVAL@COMPILE DONTCOPY (CONSTANTS (PRINTDATA 0) (SMALLPDATA 1) @@ -222,21 +224,14 @@ CHARSETS)]) (MEDLEYFONT.GETFILEPROP - [LAMBDA (FILE PROP) (* ; "Edited 4-May-2026 09:57 by rmk") + [LAMBDA (FILE PROP) (* ; "Edited 31-Aug-2026 22:03 by rmk") + (* ; "Edited 4-May-2026 09:57 by rmk") (* ; "Edited 16-Apr-2026 22:30 by rmk") - (* ; "Edited 15-Apr-2026 00:19 by rmk") (* ; "Edited 12-Apr-2026 19:31 by rmk") - (* ; "Edited 31-Mar-2026 14:43 by rmk") - (* ; "Edited 28-Mar-2026 22:59 by rmk") - (* ; "Edited 24-Mar-2026 10:56 by rmk") - (* ; "Edited 20-Mar-2026 13:23 by rmk") (* ; "Edited 27-Aug-2025 17:12 by rmk") (* ; "Edited 15-Jul-2025 20:21 by rmk") - (* ; "Edited 10-Jul-2025 17:50 by rmk") - (* ; "Edited 25-May-2025 20:53 by rmk") - (* ; "Edited 21-May-2025 11:36 by rmk") (* ; "Edited 17-May-2025 19:07 by rmk") - (SETQ FILE (OR (MEDLEYFONT.FILENAME FILE) + (SETQ FILE (OR (MEDLEYFONT.FILENAME FILE NIL T) (ERROR "FILE NOT FOUND" FILE))) (CL:WITH-OPEN-FILE (STREAM (OR (MEDLEYFONT.FILENAME FILE) FILE) @@ -326,7 +321,9 @@ (DEFINEQ (MEDLEYFONT.READ.FONT - [LAMBDA (FILE CHARSETS NOERROR DIRECTORY) (* ; "Edited 5-May-2026 11:05 by rmk") + [LAMBDA (FILE CHARSETS NOERROR DIRECTORY) (* ; "Edited 2-Sep-2026 14:21 by rmk") + (* ; "Edited 31-Aug-2026 21:50 by rmk") + (* ; "Edited 5-May-2026 11:05 by rmk") (* ; "Edited 15-Apr-2026 00:50 by rmk") (* ; "Edited 12-Apr-2026 00:30 by rmk") (* ; "Edited 6-Apr-2026 09:07 by rmk") @@ -351,13 +348,14 @@ (SETQ CHARSETS (SORT (CHARSET.DECODE (MKLIST CHARSETS) NOERROR] (RESETLST - (LET ((FILENAME (MEDLEYFONT.FILENAME FILE DIRECTORY)) - STREAM FONT CSLOC MAXCHARSET) (* ; + (LET ((FILENAME (MEDLEYFONT.FILENAME FILE DIRECTORY T)) + STREAM FONT CSLOC MAXCHARSET FILEVERSION) (* ;  "CL:OPEN-FILE doesn't exist in the init") + (DECLARE (SPECVARS FILEVERSION)) (if FILENAME then [RESETSAVE (SETQ STREAM (OPENSTREAM FILENAME 'INPUT)) '(PROGN (CLOSEF? OLDVALUE] - (MEDLEYFONT.FILEVERSION STREAM 1) + (SETQ FILEVERSION (MEDLEYFONT.FILEVERSION STREAM 1)) (SETQ MAXCHARSET (MEDLEYFONT.READ.ITEM STREAM 'MAXCHARSET)) (SETQ CSLOC (\FIXPIN STREAM)) (* ;  "CSLOC here so MEDLEYFONT.GETCHARSET can skip over the font stuff.") @@ -374,7 +372,9 @@ else (ERROR "FONT FILE NOT FOUND" FILE)))))]) (MEDLEYFONT.READ.CHARSET - [LAMBDA (STREAM CHARSET FONT) (* ; "Edited 4-May-2026 12:38 by rmk") + [LAMBDA (STREAM CHARSET FONT) (* ; "Edited 2-Sep-2026 14:28 by rmk") + (* ; "Edited 31-Aug-2026 22:01 by rmk") + (* ; "Edited 4-May-2026 12:38 by rmk") (* ; "Edited 30-Apr-2026 08:56 by rmk") (* ; "Edited 14-Apr-2026 22:32 by rmk") (* ; "Edited 12-Apr-2026 13:59 by rmk") @@ -395,12 +395,15 @@ then (* ;; "Indirect: Read what we peeked and use it to create a complete charset from another file (e.g. shared Kanji). The indirect source is in the same directory and has the same extension as the starting file.") - (MEDLEYFONT.GETCHARSET (MEDLEYFONT.FILENAME (MAKEFONTSPEC (MEDLEYFONT.READ.ITEM - STREAM - 'ICS) - NIL NIL NIL NIL - (FONTPROP FONT 'DEVICESPEC)) - (FULLNAME STREAM)) + (MEDLEYFONT.GETCHARSET (CAR (FONTFILES (MAKEFONTSPEC (MEDLEYFONT.READ.ITEM + STREAM + 'ICS) + NIL NIL NIL NIL (FONTPROP + FONT + 'DEVICESPEC)) + T NIL (FULLNAME STREAM) + (FILENAMEFIELD STREAM 'EXTENSION) + 'MEDLEYFONT)) CHARSET FONT) else (bind PAIR LABEL ITEM (CSINFO _ (create CHARSETINFO WIDTHS _ NIL @@ -432,9 +435,16 @@ (CSCOMPLETEP (replace (CHARSETINFO CSCOMPLETEP) of CSINFO with ITEM)) (HELP "Unrecognized charsetinfo label" LABEL)) - finally (CL:UNLESS (fetch (CHARSETINFO IMAGEWIDTHS) of CSINFO) - (replace (CHARSETINFO IMAGEWIDTHS) of CSINFO - with (fetch (CHARSETINFO WIDTHS) of CSINFO))) + finally (if (EQ FILEVERSION 1) + then (* ; "Remove when everything goes to 2") + (CL:WHEN (EQ T (fetch (CHARSETINFO IMAGEWIDTHS) of CSINFO)) + (replace (CHARSETINFO IMAGEWIDTHS) of CSINFO with NIL)) + (CL:UNLESS (fetch (CHARSETINFO IMAGEWIDTHS) of CSINFO) + (replace (CHARSETINFO IMAGEWIDTHS) of CSINFO + with (fetch (CHARSETINFO WIDTHS) of CSINFO))) + elseif (EQ T (fetch (CHARSETINFO IMAGEWIDTHS) of CSINFO)) + then (replace (CHARSETINFO IMAGEWIDTHS) of CSINFO + with (fetch (CHARSETINFO WIDTHS) of CSINFO))) (replace (CHARSETINFO CHARSETNO) of CSINFO with CHARSET) (RETURN CSINFO]) @@ -547,7 +557,8 @@ (bind PAIR until [EQ 'STOP (CAR (SETQ PAIR (MEDLEYFONT.READ.ITEM STREAM] collect PAIR]) (MEDLEYFONT.READ.VERIFIEDFONT - [LAMBDA (STREAM FONT) (* ; "Edited 29-Jul-2026 15:46 by rmk") + [LAMBDA (STREAM FONT) (* ; "Edited 1-Sep-2026 12:16 by rmk") + (* ; "Edited 29-Jul-2026 15:46 by rmk") (* ; "Edited 15-Apr-2026 23:16 by rmk") (* ; "Edited 12-Apr-2026 12:51 by rmk") (* ; "Edited 28-Mar-2026 17:03 by rmk") @@ -579,12 +590,15 @@ with VAL)) (FONTFACE (replace (FONTDESCRIPTOR FONTFACE) of FONT with VAL)) - (\SFAscent (replace (FONTDESCRIPTOR \SFAscent) of FONT - with VAL)) - (\SFDescent (replace (FONTDESCRIPTOR \SFDescent) of FONT - with VAL)) - (\SFHeight (replace (FONTDESCRIPTOR \SFHeight) of FONT - with VAL)) + ((FONTASCENT \SFAscent) + (replace (FONTDESCRIPTOR FONTASCENT) of FONT + with VAL)) + ((FONTDESCENT \SFDescent) + (replace (FONTDESCRIPTOR FONTDESCENT) of FONT + with VAL)) + ((FONTHEIGHT \SFHeight) + (replace (FONTDESCRIPTOR FONTHEIGHT) of FONT + with VAL)) (ROTATION (replace (FONTDESCRIPTOR ROTATION) of FONT with VAL)) (MAXCHARSET (replace (FONTDESCRIPTOR MAXCHARSET) of FONT @@ -632,7 +646,8 @@ (DEFINEQ (MEDLEYFONT.WRITE.CHARSET - [LAMBDA (FONT CHARSET STREAM NOINDIRECTS) (* ; "Edited 4-May-2026 11:53 by rmk") + [LAMBDA (FONT CHARSET STREAM NOINDIRECTS) (* ; "Edited 2-Sep-2026 14:30 by rmk") + (* ; "Edited 4-May-2026 11:53 by rmk") (* ; "Edited 1-Apr-2026 09:20 by rmk") (* ; "Edited 4-Sep-2025 11:41 by rmk") (* ; "Edited 30-Aug-2025 23:44 by rmk") @@ -675,25 +690,41 @@ NIL 'ALIST) (MEDLEYFONT.WRITE.ITEM STREAM 'WIDTHS (fetch (CHARSETINFO WIDTHS) of CSINFO)) - (CL:UNLESS [OR (EQ (fetch (CHARSETINFO IMAGEWIDTHS) of CSINFO) + [CL:UNLESS (OR (NULL (fetch (CHARSETINFO IMAGEWIDTHS) of CSINFO)) + (EQ (fetch (CHARSETINFO IMAGEWIDTHS) of CSINFO) (fetch (CHARSETINFO WIDTHS) of CSINFO)) (for I (W _ (fetch (CHARSETINFO WIDTHS) of CSINFO)) (IM _ (fetch (CHARSETINFO IMAGEWIDTHS) of CSINFO)) from 0 to (SUB1 (IPLUS \MAXTHINCHAR 3)) always (EQ (\GETBASE W I) (\GETBASE IM I] - (MEDLEYFONT.WRITE.ITEM STREAM 'IMAGEWIDTHS (fetch (CHARSETINFO IMAGEWIDTHS) - of CSINFO))) - (MEDLEYFONT.WRITE.ITEM STREAM 'OFFSETS (fetch (CHARSETINFO OFFSETS) of CSINFO)) - (MEDLEYFONT.WRITE.ITEM STREAM 'YWIDTHS (fetch (CHARSETINFO YWIDTHS) of CSINFO)) + (CL:WHEN (fetch (CHARSETINFO IMAGEWIDTHS) of CSINFO) + (* ; "T means share with WIDTHS. ") + (MEDLEYFONT.WRITE.ITEM STREAM 'IMAGEWIDTHS + (OR (EQ (fetch (CHARSETINFO IMAGEWIDTHS) of CSINFO) + (fetch (CHARSETINFO WIDTHS) of CSINFO)) + (for I (W _ (fetch (CHARSETINFO WIDTHS) of CSINFO)) + (IM _ (fetch (CHARSETINFO IMAGEWIDTHS) of CSINFO)) + from 0 to (SUB1 (IPLUS \MAXTHINCHAR 3)) + always (EQ (\GETBASE W I) + (\GETBASE IM I))) + (fetch (CHARSETINFO IMAGEWIDTHS) of CSINFO)))) + (CL:WHEN (fetch (CHARSETINFO OFFSETS) of CSINFO) + (MEDLEYFONT.WRITE.ITEM STREAM 'OFFSETS (fetch (CHARSETINFO OFFSETS) + of CSINFO))) + (CL:WHEN (fetch (CHARSETINFO YWIDTHS) of CSINFO) + (MEDLEYFONT.WRITE.ITEM STREAM 'YWIDTHS (fetch (CHARSETINFO YWIDTHS) + of CSINFO))) (MEDLEYFONT.WRITE.ITEM STREAM 'ASCENT (fetch (CHARSETINFO CHARSETASCENT) of CSINFO)) (MEDLEYFONT.WRITE.ITEM STREAM 'DESCENT (fetch (CHARSETINFO CHARSETDESCENT) of CSINFO)) - (MEDLEYFONT.WRITE.ITEM STREAM 'LEFTKERN (fetch (CHARSETINFO LEFTKERN) - of CSINFO)) - (MEDLEYFONT.WRITE.ITEM STREAM 'BITMAP (fetch (CHARSETINFO CHARSETBITMAP) - of CSINFO)) + (CL:WHEN (fetch (CHARSETINFO LEFTKERN) of CSINFO) + (MEDLEYFONT.WRITE.ITEM STREAM 'LEFTKERN (fetch (CHARSETINFO LEFTKERN) + of CSINFO))) + (CL:WHEN (fetch (CHARSETINFO CHARSETBITMAP) of CSINFO) + (MEDLEYFONT.WRITE.ITEM STREAM 'BITMAP (fetch (CHARSETINFO CHARSETBITMAP) + of CSINFO))) (MEDLEYFONT.WRITE.ITEM STREAM 'CSCOMPLETEP (fetch (CHARSETINFO CSCOMPLETEP) of CSINFO)) (MEDLEYFONT.WRITE.ITEM STREAM 'STOP T)))]) @@ -832,7 +863,8 @@ (TERPRI STREAM))]) (MEDLEYFONT.WRITE.FONTPROPS - [LAMBDA (STREAM FONT) (* ; "Edited 29-Jul-2026 15:44 by rmk") + [LAMBDA (STREAM FONT) (* ; "Edited 1-Sep-2026 12:15 by rmk") + (* ; "Edited 29-Jul-2026 15:44 by rmk") (* ; "Edited 4-May-2026 09:57 by rmk") (* ; "Edited 31-Mar-2026 14:53 by rmk") (* ; "Edited 23-Mar-2026 11:52 by rmk") @@ -865,11 +897,11 @@ T) (MEDLEYFONT.WRITE.ITEM STREAM 'FONTFACE (fetch (FONTDESCRIPTOR FONTFACE) of FONT) T) - (MEDLEYFONT.WRITE.ITEM STREAM '\SFAscent (fetch (FONTDESCRIPTOR \SFAscent) of FONT) + (MEDLEYFONT.WRITE.ITEM STREAM 'FONTASCENT (fetch (FONTDESCRIPTOR FONTASCENT) of FONT) T) - (MEDLEYFONT.WRITE.ITEM STREAM '\SFDescent (fetch (FONTDESCRIPTOR \SFDescent) of FONT) + (MEDLEYFONT.WRITE.ITEM STREAM 'FONTDESCENT (fetch (FONTDESCRIPTOR FONTDESCENT) of FONT) T) - (MEDLEYFONT.WRITE.ITEM STREAM '\SFHeight (fetch (FONTDESCRIPTOR \SFHeight) of FONT) + (MEDLEYFONT.WRITE.ITEM STREAM 'FONTHEIGHT (fetch (FONTDESCRIPTOR FONTHEIGHT) of FONT) T) (MEDLEYFONT.WRITE.ITEM STREAM 'ROTATION (fetch (FONTDESCRIPTOR ROTATION) of FONT) T) @@ -925,31 +957,33 @@ (DEFINEQ (MEDLEYFONT.FILENAME - [LAMBDA (FILE DIRECTORY) (* ; "Edited 29-Jul-2026 19:20 by rmk") + [LAMBDA (FILE DIRECTORY EXISTS) (* ; "Edited 31-Aug-2026 21:49 by rmk") + (* ; "Edited 29-Aug-2026 09:29 by rmk") + (* ; "Edited 27-Aug-2026 17:37 by rmk") + (* ; "Edited 29-Jul-2026 19:20 by rmk") (* ; "Edited 5-May-2026 11:02 by rmk") - (* ; "Edited 4-May-2026 09:01 by rmk") (* ; "Edited 30-Apr-2026 08:54 by rmk") - (* ; "Edited 15-Apr-2026 00:41 by rmk") (* ; "Edited 23-Jan-2026 15:10 by rmk") (* ; "Edited 7-Oct-2025 11:50 by rmk") - (* ; "Edited 4-Sep-2025 08:48 by rmk") (* ; "Edited 10-Jun-2025 11:02 by rmk") (CL:WHEN DIRECTORY (* ; "Keep the host/directory.") (SETQ DIRECTORY (PACKFILENAME 'NAME NIL 'EXTENSION NIL 'VERSION NIL 'BODY DIRECTORY))) (if (OR (type? FONTSPEC FILE) (type? FONTDESCRIPTOR FILE)) - then (PACKFILENAME 'DIRECTORY [OR DIRECTORY (CAR (MKLIST (FONTDEVICEPROP FILE - 'FONTDIRECTORIES] - 'BODY - (FILENAMEFROMFONTSPEC FILE)) + then + (* ;; "Don't require EXIST--wouldn't work for writing") + + (CAR (FONTFILES FILE EXISTS NIL DIRECTORY)) elseif FILE - then (* ; "File name") - (PACKFILENAME 'BODY FILE 'DIRECTORY DIRECTORY]) + then (SETQ FILE (PACKFILENAME 'BODY FILE 'DIRECTORY DIRECTORY)) + (CL:IF EXISTS + (INFILEP FILE) + FILE)]) ) (ADDTOVAR DISPLAYFONTEXTENSIONS MEDLEYDISPLAYFONT) -(ADDTOVAR DISPLAYCHARSETFNS (MEDLEYFONT MEDLEYFONT.FILEP MEDLEYFONT.GETCHARSET)) +(ADDTOVAR DISPLAYCHARSETFNS (MEDLEYFONT MEDLEYFONT.FILEP MEDLEYFONT.GETCHARSET (FAMILY SIZE - FACE))) (ADDTOVAR INTERPRESSFONTEXTENSIONS MEDLEYINTERPRESSFONT) (DECLARE%: EVAL@COMPILE DONTCOPY @@ -995,12 +1029,12 @@ ) ) (DECLARE%: DONTCOPY - (FILEMAP (NIL (2234 20698 (MEDLEYFONT.WRITE.FONT 2244 . 8647) (MEDLEYFONT.GETCHARSET 8649 . 10730) ( -MEDLEYFONT.GETCHARSET.INTERNAL 10732 . 12985) (MEDLEYFONT.CHARSET? 12987 . 13865) ( -MEDLEYFONT.GETFILEPROP 13867 . 17431) (MEDLEYFONT.FILEP 17433 . 19861) (MEDLEYFONT.FILEVERSION 19863 - . 20696)) (20724 44429 (MEDLEYFONT.READ.FONT 20734 . 24569) (MEDLEYFONT.READ.CHARSET 24571 . 30332) ( -MEDLEYFONT.READ.ITEM 30334 . 36483) (MEDLEYFONT.PEEK.ITEM 36485 . 37347) (MEDLEYFONT.READ.FONTPROPS -37349 . 37814) (MEDLEYFONT.READ.VERIFIEDFONT 37816 . 44427)) (44455 65151 (MEDLEYFONT.WRITE.CHARSET -44465 . 50110) (MEDLEYFONT.WRITE.ITEM 50112 . 59165) (MEDLEYFONT.WRITE.FONTPROPS 59167 . 64276) ( -MEDLEYFONT.WRITE.HEADER 64278 . 65149)) (65152 66875 (MEDLEYFONT.FILENAME 65162 . 66873))))) + (FILEMAP (NIL (2370 20077 (MEDLEYFONT.WRITE.FONT 2380 . 8783) (MEDLEYFONT.GETCHARSET 8785 . 10866) ( +MEDLEYFONT.GETCHARSET.INTERNAL 10868 . 13121) (MEDLEYFONT.CHARSET? 13123 . 14001) ( +MEDLEYFONT.GETFILEPROP 14003 . 16810) (MEDLEYFONT.FILEP 16812 . 19240) (MEDLEYFONT.FILEVERSION 19242 + . 20075)) (20103 45515 (MEDLEYFONT.READ.FONT 20113 . 24241) (MEDLEYFONT.READ.CHARSET 24243 . 31147) ( +MEDLEYFONT.READ.ITEM 31149 . 37298) (MEDLEYFONT.PEEK.ITEM 37300 . 38162) (MEDLEYFONT.READ.FONTPROPS +38164 . 38629) (MEDLEYFONT.READ.VERIFIEDFONT 38631 . 45513)) (45541 67776 (MEDLEYFONT.WRITE.CHARSET +45551 . 52620) (MEDLEYFONT.WRITE.ITEM 52622 . 61675) (MEDLEYFONT.WRITE.FONTPROPS 61677 . 66901) ( +MEDLEYFONT.WRITE.HEADER 66903 . 67774)) (67777 69405 (MEDLEYFONT.FILENAME 67787 . 69403))))) STOP diff --git a/sources/MEDLEYFONTFORMAT.LCOM b/sources/MEDLEYFONTFORMAT.LCOM index 88d70166762810e63f01ecb22b6d9ea7c493cdc6..7fbd6a18e4336ad64cacb0bcbce6c27fdffb5808 100644 GIT binary patch delta 3814 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 delta 3249 zcmZ`*>u)1h75CU#Z{lQKCrz9Oo9!V9*@PvVdED!nv05p!<8eI6c*dHU#0hLGRmrm3 zrrn}GgeqDYQ6a4Wsoh>AkXk-KC0gK19JlHRTDeg1ffZXS@sRjJ_a8vo3L(A$XCB`5 zLqw79z32SynS0Ou-QPVwZF2wm75CcSgJey6;p&>miv-4x|{-E zm97ibf1zaA+SxyQvdmuB-UQJ#o;-(1HK#)Mgt`u~|uqy^#A?)%&mk+xFcGaLq z)z?$Ehp<&ze@dm(VUK+_;zlMpLx-_fpsi;oK2C-`bUwoVFh2SK6iZ5G1tW$5Df{6R zoOY9mL~>(EvvSa%f zJIP?bKKljsa{lyKL4~4r$#HR_#9qtK&r4`9?b?nH62TRiuA%#;V`J)Z!>wESchczs z=$`Gc8}mCE8T5+gdWP?@v$IQ11b5thCgWu4;e{F8AJ~4MNVIGBJ_UO5DSJHO%pKsN(?+tC`Lgd|6-af2nxw|LJ zZEWh<N-(jm=)qoIgV$aEzZoU9a|5dK^55S z(kl%K-EqE6yX=6ZAVWRfsn#sRH)z!eGnC;XQrs2M#Qc{pNp!nUpGsB#RHM_?nRUo zFss_8(eWdpy4NZSN&}p7Ik=4=@+c3{)eP4os4~R!gdiu~F1hzRg3R~&3w>kCgXcSe z)T!{&P^v3d+TX7ki!ZUGWzf`uFC$l{&M4!n3*S&9mYizNHn?D|8eD-+>ZzO z+~i&vFb*}j>jTDgliR;%9P3bexXG2+=lmqM-pUFhm;P&Fg(^HNi*5st;<8sRYr3I3 zB?BmK+q5G^^YALG{g<2)J~SD7zN?i@!zzhDMKS;rB2z{4I&{Hs{D5XO2&zUv>L8zn zjcYLNO(4nukRXQxoVL3eK*Li7f@;<$LIk-Sm^@vx3?M`t07w!ze#LN0_!{bL%o%ME zQ5ZnsI~PSpkm1z~9S9%oyi4&UHJa!?gu(!Vm%(*>EqJ*=RB69oR8Zc%a^=bsSFb&f!W<>4WGMF(9G~O> zQM&Tn!IkR>p#$j^@r6Z%76MwQ=pvVtDf@Dv!fq5^Om2;`l>E&J?k}Na-%2E&y!&qI zJ5BC)><9Ag(d|gc6L(v?>{Dfq-B6YuZsjk9A{qOJMg#S4_t=u5t;aMRn%Gy><>emx z*dR0=K|fH>r>G*arZt_SvJkaIj#^O(+9c)Ku{Dz-Dj%9j3?o#G#!}d_+r?WAD$9`? zP?WANDFBKo>z3Z&y7c(5zKErjBI|lw0=+M-6qU5wNl@ZD%1V?5exysw2(BiUR)Y0f zj|=J6kye7T-s8inr=y%i?DOGs)GfP`+`ZT-d}HwHbqA9OX>C37{=|j*3=;|i*Giz> z1Y;L#Gb8ueRIAM-*>mpnsUIN+lI&IY;l|NMlKcE*5`Uwo^zDt01A?4f42Rl#QyXC? zd`AycZynyeHWwkIG9s*pavSeH7@{Jq78$V=A_~+reY;Z~Vx=ed85$z0KwL?eU8fof zOP~e9JtYg|A$UbW!jiZv8rC}kiqHMpFnHH5Ii-Cp5#x>;D?wOoI<9GWpr~Cl6tVSn zZ#~6+xl7rd-Dxhv{=Mr=Nvp7;Tbk=?`&h?oKyaL4U#r)qYe6X-+Elc41{wC-`uEu5 HdmH}){46#9 From b78e2bda32f965ad0e37b0267dd3d8229e22d6e7 Mon Sep 17 00:00:00 2001 From: rmkaplan Date: Fri, 4 Sep 2026 00:57:41 -0700 Subject: [PATCH 02/30] Rework postscript fonts in importfonts framework, fix FONTSAVAILABLE mismatch --- internal/loadups/LOADUP-FULL.LCOM | Bin 2878 -> 3022 bytes library/IMPORTFONTS | 283 +++++-- library/IMPORTFONTS.LCOM | Bin 23981 -> 25710 bytes library/PDFSTREAM | 55 +- library/PDFSTREAM.LCOM | Bin 6977 -> 7532 bytes library/POSTSCRIPTSTREAM | 1144 +++++++++++++++++------------ library/POSTSCRIPTSTREAM.LCOM | Bin 93255 -> 98511 bytes 7 files changed, 914 insertions(+), 568 deletions(-) diff --git a/internal/loadups/LOADUP-FULL.LCOM b/internal/loadups/LOADUP-FULL.LCOM index 58d4c224b7ffb8e12ad17e74548ce86cdbb2c0a7..c48b0255caf2ad4d3e6c6a73a9d83e8d92dbb476 100644 GIT binary patch delta 720 zcmZuvL2uJA7)@8&sX<5}1QQqZ2n-UYR<4_@NyNo%T!@w>QIf7y;NYV;e*T`V@AG?~eRBVF>2r^OR@336N(o&BrEY_` zq^UvIw#WOE(cW-?@c}e^?5%Sz;Qdc8zI=UnY}y7?jXG8Ke)lYs5ZA1`mZf29I-I8t zKTM{F%PxY5d7W+$bfPdzF_HyyhRX$NwVH;(=8?Sc|H{-QR5Mh);|IK*@TV-}o)mSh z@+(RkrVY!nOt{?hvudl4>Ha&YZu=DrU-Gn?MbJB8dPSf(DXdg3+g&i5;_<@YLMk2< zf2jrv%ax*{j4I;K;*uaYe#lw6`*v56V=%)R+$xJoX~l8~GM>bV4{Do`Ygh+ewUM_% zT9HmbEo(+ow!!>>wE`}tCGmus4x%vVgPJliO0%?`_;Ci>u<=|Xl_*MO^Ip?F@8{0= z;OG#0sY>oF>JM*K^ zfbvKwD9X&iICm7^%<+P&IlZmu4T5edC3&qN7Y0Snh;dt;dMxE{+h=@xpf!i#z# mYRJQGY{0p0SNvA{I?iPq&|~>pXC4eW^8YY1WT>GZsQ&<8y|2&! delta 570 zcmaiwL5tH+5XbvyH@khJ;Kd4yGW$SmToRJkrriw^h%c`ijY&veEgox|-3_FzwCiCJ z@f(Qnj)M3d1doDeVfX6Eui(wIuOPbOVdpS2hxz|z=6~AyeC_Rs(Z2EUMP*Qn_Q3AD zblm_0A6VhW2n5Wp{k{L!ns!&R|ddDVEiJn_oPn-$ZlIPv5ey7`*wK>lIb zu1#IXCh%-o{DI-g(RhAXtZun5UmPEm^Ft^V-%ryV&Z|w+BrqKxtNs5`JFaCB9k&Nz z#979D!2>mPUj6rvi_Y#-aC&qfu*-u`826q6sb(_*E_>j|_jzuJ1lmvhEQcuZgJEh6 zhEc?l$MPN8-M+vQWXm7uX9H5`%MbM%aw^ zfOZ{FE~y2owSXlt^M%~mkn-C`7xm<2t#!5I0P!Z4cgOrKmpd9qSRQD%IMPORTFONTS.;116 58246 +(FILECREATED " 3-Sep-2026 23:42:45" {MEDLEY}IMPORTFONTS.;141 68314 :EDIT-BY rmk - :CHANGES-TO (FNS PEF) + :CHANGES-TO (FNS IMPORT.POSTSCRIPT) - :PREVIOUS-DATE " 4-May-2026 15:26:51" {MEDLEY}IMPORTFONTS.;115) + :PREVIOUS-DATE " 2-Sep-2026 09:14:33" {MEDLEY}IMPORTFONTS.;140) (PRETTYCOMPRINT IMPORTFONTSCOMS) @@ -17,17 +17,22 @@ (FNS IMPORTFONTS.AVAILABLE IMPORTFONTS.EXISTS?) (FNS FAKEFACE FAKEFACE.FROMFILE FAKEFACE.FROMFONT) (COMS (* ; "For legacy display imports") - (FNS IMPORT.DISPLAY LEGACYDISPLAYFONT) + (FNS IMPORT.DISPLAY LEGACYDISPLAYFONT NSDISPLAYSIZE) + (INITVARS (DONSDISPLAYSIZE NIL)) (FILES ACFONT)) + (COMS (FNS IMPORT.POSTSCRIPT)) (COMS (* ; "For testing") (FNS IPF IPFSIZES) (FNS PEF AEF IEF MEF CEF FEF DEF EFCLOSE) - (FNS SHOWCHARS CSSOURCE FONTDEFFONTS) + (FNS SHOWCHARS CSSOURCE FONTDEFFONTS FLATCHARCOERCIONS) (FILES EDITFONT)))) (DEFINEQ (IMPORTFONTS [LAMBDA (PHASE FONTSPECS DEVICE FROMDIR TODIR IMPORTFN NODRIBBLE) + (* ; "Edited 2-Sep-2026 09:04 by rmk") + (* ; "Edited 31-Aug-2026 22:42 by rmk") + (* ; "Edited 9-Jul-2026 22:14 by rmk") (* ; "Edited 4-May-2026 13:49 by rmk") (* ; "Edited 11-Apr-2026 10:55 by rmk") (* ; "Edited 5-Apr-2026 14:22 by rmk") @@ -64,11 +69,19 @@ (SETQ FONTSPECS (IMPORTFONTS.FONTSPECS PHASE FONTSPECS FROMDIR DEVICE)) (CL:WHEN (AND (IGEQ (LENGTH FONTSPECS) 5) - (NOT NODRIBBLE)) (* ; - "Put all the dribbles together one up") + (NOT NODRIBBLE)) + + (* ;; + "Put all the dribbles together one up, DEPLOY can't use TODIR, IMPORT can't use FROMDIR.") + [DRIBBLE (PSEUDOFILENAME (PACKFILENAME 'BODY - (OR (SUBSTRING TODIR 1 - (STRPOS ">" TODIR -2 NIL NIL NIL NIL T)) + (OR (CL:IF (EQ PHASE 'DEPLOY) + (SUBSTRING FROMDIR 1 + (STRPOS ">" FROMDIR -2 NIL NIL NIL NIL + T)) + (SUBSTRING TODIR 1 + (STRPOS ">" TODIR -2 NIL NIL NIL NIL T + ))) LOGINHOST/DIR) 'NAME PHASE 'EXTENSION 'DRIBBLE] (PRINTOUT T "Dribbling to " (FULLNAME (DRIBBLEFILE)) @@ -84,18 +97,27 @@ " " DEVICE " font" (CL:IF (IGEQ (LENGTH FONTSPECS) 2) "s" - "")) + "") + " at " + (DATE)) (if TODIR then (PRINTOUT T 3 "from " FROMDIR 3 "to " TODIR T) else (PRINTOUT T " from " FROMDIR T 3 "(but not writing)" T)) (BKSYSBUF " ") (IMPORTFONTS.CLEAR PHASE FONTSPECS TODIR DEVICE) (for FS FONT FONT FONTSTART TOFILE FROMFILE CAPTIONS THISTIME FROMSIZE TOSIZE CHANGED - NOTINSTANTIATED TOTALTIME TODIRSIZE (FROMDIRSIZE ← (CL:IF (EQ PHASE 'IMPORT) - 0 - (IMPORTFONTS.DIRSIZE PHASE - DEVICE FROMDIR))) - (NNOCHARSETS ← 0) in FONTSPECS as I from 1 first (SETQ TOTALTIME (CLOCK 0)) + NOTINSTANTIATED TOTALTIME TODIRSIZE FSPECCOLS (FROMDIRSIZE + ← + (CL:IF (EQ PHASE 'IMPORT) + 0 + (IMPORTFONTS.DIRSIZE PHASE DEVICE + FROMDIR))) + (NNOCHARSETS ← 0) in FONTSPECS as I from 1 + first (SETQ TOTALTIME (CLOCK 0)) (* ; "For dribble layout:") + [SETQ FSPECCOLS (IPLUS 5 7 (for FS in FONTSPECS + largest (NCHARS (fetch (FONTSPEC FSFAMILY) + of FS)) + finally (RETURN $$EXTREME] eachtime (PRINTOUT T .I3 I ". " (fetch (FONTSPEC FSFAMILY) of FS) " " .I2 (fetch (FONTSPEC FSSIZE) of FS) " " @@ -105,7 +127,7 @@ (IMPORT (SETQ FONT (APPLY* IMPORTFN FS FROMDIR)) (SETQ CHANGED T)) ((MCCS COMPLETE) - (SETQ FROMFILE (INFILEP (MEDLEYFONT.FILENAME FS FROMDIR))) + (SETQ FROMFILE (MEDLEYFONT.FILENAME FS FROMDIR T)) (if FROMFILE then (SETQ FONT (MEDLEYFONT.READ.FONT FROMFILE 'ALL)) (SETQ FROMSIZE (GETFILEINFO FROMFILE 'LENGTH)) @@ -119,7 +141,7 @@ (FAKEFACE.FROMFONT FS FROMDIR)) (SETQ FROMSIZE (GETFILEINFO FROMFILE 'LENGTH)) (SETQ CHANGED (FAKEFACE FONT))) - (DEPLOY (SETQ FROMFILE (MEDLEYFONT.FILENAME FS FROMDIR)) + (DEPLOY (SETQ FROMFILE (MEDLEYFONT.FILENAME FS FROMDIR T)) (SETQ FROMSIZE (GETFILEINFO FROMFILE 'LENGTH))) NIL) (CL:WHEN [SETQ NOTINSTANTIATED (EQ 0 (FONTPROP FONT 'NINSTANTIATEDCHARSETS] @@ -133,18 +155,22 @@ THISTIME) 1000)) (if NOTINSTANTIATED - then (PRINTOUT T 26 "No instantiated charsets" 41 .F7.2 THISTIME) + then (PRINTOUT T .TAB (IPLUS FSPECCOLS 5) + "No instantiated charsets" .TAB (IPLUS FSPECCOLS 20) + .F7.2 THISTIME) elseif TOFILE then (SETQ TOSIZE (GETFILEINFO TOFILE 'LENGTH)) (SELECTQ PHASE - (IMPORT (PRINTOUT T 25 .I6 TOSIZE " " .F7.2 THISTIME)) + (IMPORT (PRINTOUT T .TAB (IPLUS FSPECCOLS 5) + .I6 TOSIZE " " .F7.2 THISTIME)) ((MCCS COMPLETE FAKE DEPLOY) (if CHANGED - then (PRINTOUT T 25 .I6 FROMSIZE " -> " .I6 TOSIZE " " - .F6.2 THISTIME 50 .I5 (IDIFFERENCE TOSIZE - FROMSIZE)) - else (PRINTOUT T 28 "Copied " .I6 TOSIZE " " .F6.2 THISTIME) - )) + then (PRINTOUT T .TAB (IPLUS FSPECCOLS 5) + .I6 FROMSIZE " -> " .I6 TOSIZE " " .F6.2 + THISTIME .TAB (IPLUS FSPECCOLS 24) + 50 .I5 (IDIFFERENCE TOSIZE FROMSIZE)) + else (PRINTOUT T .TAB (IPLUS FSPECCOLS 7) + "Copied " .I6 TOSIZE " " .F6.2 THISTIME))) NIL)) (TERPRI T) (CL:IF TODIR @@ -185,18 +211,19 @@ (SETQ $$VAL TODIR)) else (PRINTOUT T " (but not written) in " TOTALTIME " seconds" T)))) - (CL:WHEN (DRIBBLEFILE) - (PRINTOUT T "Dribbled to " (FULLNAME (DRIBBLEFILE)) - T) - [TEDIT (DRIBBLE) - 'Dribble NIL `(TITLE ,(CONCAT PHASE " font dribble" " " (DATE)) - LEAVETTY T READONLY QUIET PARABREAKCHARS NIL FONT DEFAULTFONT - OPENWIDTH ,(fetch (REGION WIDTH) of (WINDOWPROP (WFROMDS - T) - 'REGION)) - OPENHEIGHT - ,(fetch (REGION HEIGHT) of (WINDOWPROP (WFROMDS T) - 'REGION]))]) + (CL:UNLESS NODRIBBLE + (CL:WHEN (DRIBBLEFILE) + (PRINTOUT T "Dribbled to " (FULLNAME (DRIBBLEFILE)) + T) + [TEDIT (DRIBBLE) + 'Dribble NIL `(TITLE ,(CONCAT PHASE " font dribble" " " (DATE)) + LEAVETTY T READONLY QUIET PARABREAKCHARS NIL FONT + DEFAULTFONT OPENWIDTH ,(fetch (REGION WIDTH) + of (WINDOWPROP (WFROMDS T) + 'REGION)) + OPENHEIGHT + ,(fetch (REGION HEIGHT) of (WINDOWPROP (WFROMDS T) + 'REGION])))]) (FONT.TO.MCCS [LAMBDA (FONT) (* ; "Edited 11-Apr-2026 15:43 by rmk") @@ -233,7 +260,9 @@ FONT)]) (IMPORTFONTS.FONTSPECS - [LAMBDA (PHASE FONTSPECS FROMDIR DEVICE) (* ; "Edited 4-May-2026 08:59 by rmk") + [LAMBDA (PHASE FONTSPECS FROMDIR DEVICE) (* ; "Edited 31-Aug-2026 22:35 by rmk") + (* ; "Edited 9-Jul-2026 16:49 by rmk") + (* ; "Edited 4-May-2026 08:59 by rmk") (* ; "Edited 4-Apr-2026 11:41 by rmk") (* ; "Edited 3-Apr-2026 00:51 by rmk") (* ; "Edited 1-Apr-2026 12:50 by rmk") @@ -260,12 +289,12 @@ join (if (type? FONTSPEC F) then (for FACE in (FONTFACE.STARS (fetch (FONTSPEC FSFACE) of (\FONT.CHECKARGS F))) - collect (create FONTSPEC - using F FSFACE ← FACE FSDEVICE ← DEVICE - FSROTATION ← 0)) + join (IMPORTFONTS.AVAILABLE PHASE + (MAKEFONTSPEC NIL NIL FACE NIL NIL F) + FROMDIR)) elseif (LITATOM F) then - (* ;; "Looks in FROMDIR") + (* ;; "Looks for all template files in FROMDIR") (IMPORTFONTS.AVAILABLE PHASE (MAKEFONTSPEC (OR F '*) @@ -307,14 +336,16 @@ using FACE WEIGHT ← 'MEDIUM)) eachtime (SETQ SOURCE (create FONTSPEC using FS FSFACE ← FC)) - when (IMPORTFONTS.EXISTS? 'FAKE SOURCE FROMDIR) + unless (MEMBER SOURCE NEWFONTS) when (IMPORTFONTS.EXISTS? + 'FAKE SOURCE FROMDIR) do (push NEWFONTS SOURCE))) (CL:WHEN (EQ 'ITALIC (fetch (FONTFACE SLOPE) of FACE)) (* ; "MIR -> MRR, BIR ->BMR") (for F SOURCE in (FONTFACE.STARS (create FONTFACE using FACE SLOPE ← 'REGULAR)) eachtime (SETQ SOURCE (create FONTSPEC using FS FSFACE ← F)) - when (IMPORTFONTS.EXISTS? 'FAKE SOURCE FROMDIR) + unless (MEMBER SOURCE NEWFONTS) when (IMPORTFONTS.EXISTS? + 'FAKE SOURCE FROMDIR) do (push NEWFONTS SOURCE))) (CL:WHEN (EQ 'COMPRESSED (fetch (FONTFACE EXPANSION) of FACE)) (* ; "MRC -> MRR") @@ -322,7 +353,8 @@ using FACE EXPANSION ← 'REGULAR)) eachtime (SETQ SOURCE (create FONTSPEC using FS FSFACE ← F)) - when (IMPORTFONTS.EXISTS? 'FAKE SOURCE FROMDIR) + unless (MEMBER SOURCE NEWFONTS) when (IMPORTFONTS.EXISTS? + 'FAKE SOURCE FROMDIR) do (push NEWFONTS SOURCE))) finally (for F in EXPANDED unless (MEMBER F NEWFONTS) do (push NEWFONTS F)) @@ -493,24 +525,27 @@ (DEFINEQ (IMPORTFONTS.AVAILABLE - [LAMBDA (PHASE FONTSPEC FROMDIR) (* ; "Edited 4-May-2026 00:00 by rmk") + [LAMBDA (PHASE FONTSPEC FROMDIR) (* ; "Edited 31-Aug-2026 22:33 by rmk") + (* ; "Edited 4-May-2026 00:00 by rmk") (* ; "Edited 22-Mar-2026 13:36 by rmk") (RESETLST [RESETSAVE (FONTDEVICEPROP FONTSPEC 'FONTDIRECTORIES (IMPORTFONTS.DIRECTORY FONTSPEC FROMDIR PHASE)) `(PROGN (FONTDEVICEPROP ',FONTSPEC 'FONTDIRECTORIES OLDVALUE] (IMPORTFONTS.NOCACHE) - (FONTSAVAILABLE FONTSPEC NIL NIL NIL NIL 'ONLY))]) + (\SEARCHFONTFILES FONTSPEC))]) (IMPORTFONTS.EXISTS? - [LAMBDA (PHASE FONTSPEC FROMDIR) (* ; "Edited 4-May-2026 00:00 by rmk") + [LAMBDA (PHASE FONTSPEC FROMDIR) (* ; "Edited 9-Jul-2026 08:56 by rmk") + (* ; "Edited 4-May-2026 00:00 by rmk") (* ; "Edited 22-Mar-2026 14:55 by rmk") (RESETLST [RESETSAVE (FONTDEVICEPROP FONTSPEC 'FONTDIRECTORIES (IMPORTFONTS.DIRECTORY FONTSPEC FROMDIR PHASE)) `(PROGN (FONTDEVICEPROP ',FONTSPEC 'FONTDIRECTORIES OLDVALUE] (IMPORTFONTS.NOCACHE) - (FONTEXISTS? FONTSPEC NIL NIL NIL NIL T))]) + (CL:IF (FONTEXISTS? FONTSPEC NIL NIL NIL NIL T) + FONTSPEC))]) ) (DEFINEQ @@ -621,7 +656,9 @@ LEGACYDISPLAYFONT]) (LEGACYDISPLAYFONT - [LAMBDA (FONTSPEC FROMDIR) (* ; "Edited 3-May-2026 22:38 by rmk") + [LAMBDA (FONTSPEC FROMDIR) (* ; "Edited 29-Jul-2026 16:04 by rmk") + (* ; "Edited 9-Jul-2026 12:17 by rmk") + (* ; "Edited 3-May-2026 22:38 by rmk") (* ; "Edited 16-Apr-2026 22:37 by rmk") (* ; "Edited 12-Apr-2026 13:22 by rmk") (* ; "Edited 31-Mar-2026 15:01 by rmk") @@ -636,19 +673,92 @@ [RESETSAVE (FONTDEVICEPROP 'DISPLAY 'FONTEXTENSIONS '(DISPLAYFONT) FROMDIR) `(PROGN (FONTDEVICEPROP 'DISPLAY 'FONTEXTENSIONS OLDVALUE] - (for CSNO CSINFO (FONT ← (FONTSPEC.TO.FONTDESCRIPTOR FONTSPEC 255)) from 0 to 255 - do (SETQ CSINFO (\READCHARSET FONT CSNO '((AC ACFONT.FILEP ACFONT.GETCHARSET) - (STRIKE STRIKEFONT.FILEP STRIKEFONT.GETCHARSET)) - FROMDIR)) - + (for CSNO CSINFO (NSFONTSPEC ← (CL:IF DONSDISPLAYSIZE + (NSDISPLAYSIZE FONTSPEC FROMDIR) + FONTSPEC)) from 0 to 255 first (SETQ FONT ( + FONTSPEC.TO.FONTDESCRIPTOR + NSFONTSPEC 255) + ) + do [SETQ CSINFO (\READCHARSET FONT CSNO '((AC ACFONT.FILEP ACFONT.GETCHARSET) + (STRIKE STRIKEFONT.FILEP STRIKEFONT.GETCHARSET] + (* ;; "NIL means empty") - (CL:IF CSINFO - (\INSTALLCHARSETINFO FONT CSINFO CSNO) - (\SETCHARSETINFO FONT CSNO (SLUGCSINFO FONT))) finally (RETURN FONT)))]) + (if CSINFO + then (CHARSETPROP CSINFO 'SOURCE FONTSPEC) (* ; + "Don't want to indirect for NSFONTSPEC") + (\INSTALLCHARSETINFO FONT CSINFO CSNO) + else (\SETCHARSETINFO FONT CSNO (SLUGCSINFO FONT))) + finally + + (* ;; "If there was an internal NS size translation, install size as requested. ") + + (CL:UNLESS (EQUAL FONTSPEC NSFONTSPEC) + (replace (FONTDESCRIPTOR FONTSIZE) of FONT with (fetch (FONTSPEC FSSIZE) + of FONTSPEC)) + (CL:WHEN (fetch (FONTDESCRIPTOR FONTDEVICESPEC) of FONT) + (replace (FONTSPEC FSSIZE) of (fetch (FONTDESCRIPTOR FONTDEVICESPEC) + of FONT) with (fetch (FONTSPEC FSSIZE) + of FONTSPEC)))) + (RETURN FONT)))]) + +(NSDISPLAYSIZE + [LAMBDA (FONTSPEC FROMDIR) (* ; "Edited 29-Jul-2026 16:04 by rmk") + (* ; "Edited 9-Jul-2026 09:05 by rmk") + (* ; "Edited 10-Apr-2024 09:48 by rmk") + (* ; "Edited 8-Apr-2024 11:47 by rmk") + (* ; "Edited 26-Dec-2023 21:15 by rmk") + (* ; "Edited 24-Dec-2023 13:49 by rmk") + (* ; "Edited 14-Sep-96 09:32 by rmk:") + (* ; "Edited 16-Nov-95 10:08 by ") + (* ; "Edited 5-Mar-93 18:12 by kaplan") + (* ; "Edited 15-Jan-87 15:22 by bvm:") + + (* ;; "FONTSPEC is returned if it does not specify a coerceable font, otherwise a new fontspec with an inflated size.") + + (LET* ((FAMILY (fetch (FONTSPEC FSFAMILY) of FONTSPEC)) + (SIZE (fetch (FONTSPEC FSSIZE) of FONTSPEC)) + (NEWSIZE SIZE)) + [SETQ NEWSIZE (CL:WHEN (CL:MEMBER FAMILY NSFONTFAMILIES :TEST 'STRING-EQUAL) + (* ; "Large screen, enlarge NS fonts") + (SELECTQ (U-CASE (MKATOM FAMILY)) + (TERMINAL (* ; + "14 doesn't exist, also don't have 9.") + (CL:IF (ILEQ SIZE 10) + (IPLUS SIZE 2) + SIZE)) + (TITAN (SELECTQ SIZE + (6 9) + (9 10) + (10 12) + (CL:IF (ILESSP SIZE 6) + 6 + SIZE))) + (CL:IF (ILEQ SIZE 12) + (IPLUS SIZE 2) + SIZE)))] + (if (EQ SIZE NEWSIZE) + then FONTSPEC + elseif (IMPORTFONTS.EXISTS? 'IMPORT (MAKEFONTSPEC NIL NEWSIZE NIL NIL NIL FONTSPEC) + FROMDIR) + else FONTSPEC]) ) +(RPAQ? DONSDISPLAYSIZE NIL) + (FILESLOAD ACFONT) +(DEFINEQ + +(IMPORT.POSTSCRIPT + [LAMBDA (FONTSPECS NODRIBBLE) (* ; "Edited 3-Sep-2026 23:42 by rmk") + (* ; "Edited 1-Sep-2026 22:53 by rmk") + (* ; "Edited 4-May-2026 15:18 by rmk") + (* ; "Edited 28-Mar-2026 23:08 by rmk") + (* ; "Edited 18-Mar-2026 23:54 by rmk") + (IMPORTFONTS 'IMPORT (OR FONTSPECS (MAKEFONTSPEC '* 0 '* '* 'POSTSCRIPT)) + 'POSTSCRIPT NIL NIL (FUNCTION PSCFONT.TO.MEDLEYFONT) + NODRIBBLE]) +) @@ -798,9 +908,12 @@ (PEF 'DEPLOY FONTSPEC CHARSET]) (EFCLOSE - [LAMBDA NIL (* ; "Edited 9-Oct-2025 19:48 by rmk") - (for W in (OPENWINDOWS) when (AND (WINDOWPROP W 'FONT) - (WINDOWPROP W 'CHARITEMS)) do (CLOSEW W]) + [LAMBDA NIL (* ; "Edited 12-Jul-2026 13:59 by rmk") + (* ; "Edited 9-Oct-2025 19:48 by rmk") + (for W in (OPENWINDOWS) when [OR (AND (WINDOWPROP W 'FONT) + (WINDOWPROP W 'CHARITEMS)) + (EQMEMB 'EDITBMCLOSEFN (WINDOWPROP W 'CLOSEFN] + do (CLOSEW W]) ) (DEFINEQ @@ -850,7 +963,11 @@ collect (LIST CS (CHARSETPROP CSINFO 'SOURCE]) (FONTDEFFONTS - [LAMBDA (FACES) (* ; "Edited 22-Mar-2026 12:48 by rmk") + [LAMBDA (FACES) (* ; "Edited 12-Jul-2026 17:47 by rmk") + (* ; "Edited 22-Mar-2026 12:48 by rmk") + + (* ;; "Collects the fontspecs for all the (display?) fonts with faces in FACES that appear anywhere in FONTDEFS. This would be used to make sure that we have completed and/or faked all of those fonts.") + (SETQ FACES (for F inside FACES collect (\FONTFACE F))) (for FD FONTLIST in FONTDEFS do (for FP in (CDR (ASSOC 'FONTPROFILE FD)) @@ -860,18 +977,42 @@ (MEMBER (\FONTFACE (fetch (FONTSPEC FSFACE) of FONT)) FACES)) do (push FONTLIST FONT))) finally (RETURN (SORTFONTSPECS (CL:REMOVE-DUPLICATES FONTLIST :TEST (FUNCTION EQUAL]) + +(FLATCHARCOERCIONS + [LAMBDA (DEVICE) (* ; "Edited 12-Jul-2026 17:48 by rmk") + + (* ;; "Each element of the value is a list whose car is a font and whose CDR is a list of all the fonts that it can inherit character information from, directly or indirection. Thus, (GACHA TERMINAL MODERN CLASSIC HIPPO CYRILLIC) arises because GACHA coerces from TERMINAL which coerces from MODERN which coerces from CLASSIC which coerces from HIPPO and CYRILLIC. If those are all the fonts that must be completed first, before you try to complete GACHA, for particular sizes and faces.") + + (* ;; "If there is a reason to create GACHA 12 BOLD, for example, then the 12-BOLD versions of all of those other fonts must have been created first.") + + (LET* ((CHARCOERCIONS (FONTDEVICEPROP (OR DEVICE 'DISPLAY) + 'CHARCOERCIONS)) + DEPS) + (for PAIR DEP in CHARCOERCIONS eachtime [SETQ DEP (OR (ASSOC (CAR PAIR) + DEPS) + (CAR (push DEPS (CONS (CAR PAIR] + do (pushnew (CDR DEP) + (CADR PAIR))) + [for DEP in DEPS do (for F in (CDR DEP) do (for PAIR in CHARCOERCIONS + when (EQ F (CAR PAIR)) + unless (MEMB (CADR PAIR) + (CDR DEPS)) + do (NCONC1 DEP (CADR PAIR] + (* ; "New one on the end") + DEPS]) ) (FILESLOAD EDITFONT) (DECLARE%: DONTCOPY - (FILEMAP (NIL (1116 33853 (IMPORTFONTS 1126 . 13073) (FONT.TO.MCCS 13075 . 15325) ( -IMPORTFONTS.FONTSPECS 15327 . 23722) (IMPORTFONTS.CONTEXT 23724 . 27433) (IMPORTFONTS.NOCACHE 27435 . -27686) (IMPORTFONTS.DIRECTORY 27688 . 30039) (IMPORTFONTS.CLEAR 30041 . 32587) (IMPORTFONTS.SUBDIR -32589 . 33238) (IMPORTFONTS.DIRSIZE 33240 . 33851)) (33854 35077 (IMPORTFONTS.AVAILABLE 33864 . 34473) - (IMPORTFONTS.EXISTS? 34475 . 35075)) (35078 41861 (FAKEFACE 35088 . 38825) (FAKEFACE.FROMFILE 38827 - . 41068) (FAKEFACE.FROMFONT 41070 . 41859)) (41905 44151 (IMPORT.DISPLAY 41915 . 42453) ( -LEGACYDISPLAYFONT 42455 . 44149)) (44200 46532 (IPF 44210 . 45004) (IPFSIZES 45006 . 46530)) (46533 -54653 (PEF 46543 . 49912) (AEF 49914 . 50637) (IEF 50639 . 51341) (MEF 51343 . 52043) (CEF 52045 . -52749) (FEF 52751 . 53669) (DEF 53671 . 54373) (EFCLOSE 54375 . 54651)) (54654 58201 (SHOWCHARS 54664 - . 56694) (CSSOURCE 56696 . 57409) (FONTDEFFONTS 57411 . 58199))))) + (FILEMAP (NIL (1248 36199 (IMPORTFONTS 1258 . 14863) (FONT.TO.MCCS 14865 . 17115) ( +IMPORTFONTS.FONTSPECS 17117 . 26068) (IMPORTFONTS.CONTEXT 26070 . 29779) (IMPORTFONTS.NOCACHE 29781 . +30032) (IMPORTFONTS.DIRECTORY 30034 . 32385) (IMPORTFONTS.CLEAR 32387 . 34933) (IMPORTFONTS.SUBDIR +34935 . 35584) (IMPORTFONTS.DIRSIZE 35586 . 36197)) (36200 37653 (IMPORTFONTS.AVAILABLE 36210 . 36908) + (IMPORTFONTS.EXISTS? 36910 . 37651)) (37654 44437 (FAKEFACE 37664 . 41401) (FAKEFACE.FROMFILE 41403 + . 43644) (FAKEFACE.FROMFONT 43646 . 44435)) (44481 51069 (IMPORT.DISPLAY 44491 . 45029) ( +LEGACYDISPLAYFONT 45031 . 48316) (NSDISPLAYSIZE 48318 . 51067)) (51123 51871 (IMPORT.POSTSCRIPT 51133 + . 51869)) (51900 54232 (IPF 51910 . 52704) (IPFSIZES 52706 . 54230)) (54233 62561 (PEF 54243 . 57612) + (AEF 57614 . 58337) (IEF 58339 . 59041) (MEF 59043 . 59743) (CEF 59745 . 60449) (FEF 60451 . 61369) ( +DEF 61371 . 62073) (EFCLOSE 62075 . 62559)) (62562 68269 (SHOWCHARS 62572 . 64602) (CSSOURCE 64604 . +65317) (FONTDEFFONTS 65319 . 66430) (FLATCHARCOERCIONS 66432 . 68267))))) STOP diff --git a/library/IMPORTFONTS.LCOM b/library/IMPORTFONTS.LCOM index 91ebfacda27f7809d321271369da8ff804aad700..0e1bf3eb9496803127b79f5819abdd0aa7b99ebe 100644 GIT binary patch delta 7776 zcmZu$Yiu0Xb>{4fq_~nOE=frwElZax*(OzSJ@0);mbu&=a);dAS??@8qD+~QwX{iU zC8{LTIBt+ljr?#N6tz96gW5sb#Asn82+Bv8rha5=6e!{!4*D<}{b-B;MT`DO3#!hK zqDiHG_uiT1QWgo!-Z}T2d(J)Q-1E5egLj4h`l;~Bb3Mw4J%4jV7G<5tN>Y`Rs`ly& zQcabHNhm^^XQiYh0U<)3S((4OeEsHPb-qI8pTD`X`cRUX`Jz=SM~jwSw$mlESSE`% zNMw9Emm|%KM5ECNsa#nD<^5LIRW>qYuMD1q?)QbkIaMNhT#;0g zG%{v+WNe14T)#$=>1?VnVb~*OiwuRv3-)J48z#wO$#~MVrtOgon1F}8s|7KUl+>i6 zP#ytQbblsjJt`TuNs-7Bev3vrZRKqDuJFIL7%5vBvqZ*;94EzW$~NdQLB>l~p2HQ9 zj9Y~=rLr-nNF)Q!X^N-Fo@nC*`lgVAl_{BHV>vddlAJYR7P3(2qgZN~w68v}zeRB3 zPSVkx3kO^9SL>k9u+Wkft|sf*fN)js0mAtP0((h%*jLY2Tb=Wa(-KA?}7d$_sq) z#SlfQvvs_&bKyR~YQUG~&l&Dln<<*dj4xln(KpXkgYH+_djn3={bb*Xu)aRhj0@`C;t_q$nPSc^=uxxVd(tWM6NtG+aMq7F5`+%`7& zIUieR*i6wJ?W};Mt+VcbwjDowif?xF0m^srfP1WcxLx0T1aG=K(XO|}tTWZtTU3dy z81>$AUvED(qzlD^YmV*q_SRWP?{c5-7_2QaK(4E0NJ@wb zDI29?$s|%dp%V-W5{7ZLF^p-Ap%y1OqcBm<0z=hy2^Ab@N`0#KurXG~x3I4nDolASO2W>$`i<<1rsok12lGKwNR( zR6;dL*BblMVvRL5nM2Ek={%7%N%EIa6A3ot6KcFctYU4pO;zLkJPcLzzz~?vOHK1N zNrhItjVKAuhEpoBhTMwYERCW`d?h)-t;6x7WIT!xEnCri8d)Wd#VLSi%&484o*2)N zcq|6_kHR?KHshjii@1n91_CN;*-DkIJc%WI#Z&jCwqz>Y_269xj=>wav12sp`KUUi zC?NNiY@$Qm-r3S8JWoQd#wp`;x)N*5dmg33|Jk9?MPFV`henuzH0a!YRq3s1NT0mW zpyJ!nbk0bXhz8oRDSO5qn;s_`cIgEHP4op-Ash8u6?^k0)tG-A)W#`QRo_iig}a+7 z`>{inH2<(uZ>Os%4V@`C{j88sJmpD5X}FxCHg>CE<6H%bcQ%12`AijTozKdNMsSiF zOk}aP>*zq>s8T{Ew8|=^^6)!^39p3Uz8v>ADM6WjaUtp8V;j>Miz0DCcwaG@v(dfkPG}7`nebe5IztEi*do`&4(xG$)!vZ zYJ8VRLTPws0#c+yHX{qi!aQR#Z`tO%J}j5!NTyR2)S~jLcXxFxVAQbgBAFIs|gaR%-^h4m%lh) ziGZQ5Xe9FNm1}sTj)7^~EmY@G^iu$I9ia_G1wFvpGE)%18eBKBc>U(`3P;o6q!B8I zhTuFjovVG=1ULtCqB zS8l8=vfk(F!j+ZP`L$J$O9(ZRD2h>$poj=z#R!QZ_c7ksFE<}xz>7rbB%GE_D#JvF z3r489bgf23e|GuC8eVXuyd^aW+Qz?%G#eRu=JRXh#_}4o;Np$vhM`22dB?LW%hxFu zLVE-@q5GmLi+FGa{sh~v;i1s&;0I|m0`V0@WX`sR7i2xkOorb^GV?d#5#T}rF*ssm z{K_@&l@h19Pk0cxV}uXU&2=T{0ZAkg*&|TTj~CP2s{M2SjAJs;Vc*qOUr1KxpcJY#f#!TdVD(McgKqAe(*azfqh~3t>cM( znSrYr_m{^9geCVk$4PB4kljw3-K+y)57rKag`hL$wIS$I5>w&9wp?&K_~J&(&!@uS zfXT)}XHS7O16{$lvhOT>H7mS>Cc~Vp1UFx(2%EnrRFu)3%^Q=IfY2&@v%WML5N^ML zhu17khsBPWNwz>Bz}vg^XhjGMA!lr%V)ZUmCJ(jI#@0E{gzBE_48CD?ZFgIpbKU5@ z0>SNnvbww1c@I3-Wp(zi|7w!)JmrkJ|MB42+MTemX23pK>1~k}%~ilZPLh;>JSbCgSwl zxIJRt!!AmYnvlg)sFra!5}%orRQL9!BWFnh-anfv;+SM)LbH9|$mEO}x=z$9omthM z&_!Cy*Al1{^G1HmD3LhoCZ3WR*Qjw3wYmK`%4WTRg3xk56x#QBtHgHia9Ba=uM)%I z_E2=xDU=0{NzI7bWm+I>klTYbKpH9tj@AI-kY{jDWt4EOq+;G%krt=-lS_rBJQSMV z8l68w07!0h_Sl0o$meNKL-)q0 z5R{lzXK*IzlZi!b*m1;|5Vf z<>F7#_Sh_^a%P%nikOAIGA6oX4Y7XA%4LX(I+-o3()Q5n$B2TYPJ=7cB5F08C}`r( zAp0folofsJl~a#|gr%(?kGvhg&lNG)DrDUMiKQO!og7=5wb8AlvrIiGylwYG&2Zm{ zUvtmRhPJ-0R|O#tl3ehI!QxgXepe8--AvLER@`qTA9p`GcQE)`z3Tqr9B~hvJ0L8( z$Id<03_a9iB5rwS?YjHwx$}p`Q5LX%dZ@Cr!)YI$Lhnc|ip~$_fG;9V(C&o_#rsEe zBrwEhkYv@WgEiTPb~@C7xJ{Ty zs1`o6f{gCkHzBU7eG^JCA-?tCV}HBvRGg$(T0(zCz`$mA1Gumy1)B;(z1O{+I^D<5 z9j;qx;_@cwoBJKTr-ok~!p7AtN++aFJ7e0#Tx!NPFB!u`IN8zKBCy*krfT+Z`dCI- z7#MJl4qQEY&n$a&`q+i7k5aw6b_5Z`f|HO;+!+*Q?!iGy5qjn6EkA zCL?F-KeZimx|u~kJYoLw@BMM-_AzhhbTe<8>+J2s^>`!$zN{``&@bhLhn9IbK>4_ zH%0*mQ+-Z1F5_hM0JNOKQOkLL#;SD zLPftv|L*70kGMPMd(nj6>tnJPW}DoOmQc;SW%zaTJ1y1syd#*|)^v$p;Gn6w$BEG? zG(aKxfdh_>+TXpE&IfUWwDm})FCg!cmLxOr&=7M%!=dg2-;{_qpmkH;%+0vJYn-TY zCuIQBu!l*@D?yuk)AerRWzsoBFz|F750N;R~uGSr>TA-uKi ze4}3NSbwaIk~g-0Ha=*#D)JT zFLzSR2eyNwuqxHT{W1?)`@LxZadCPiO+SYqSLLVJ6%)H}OY#JTjusbp-dd!F+Xqym zsRFVbEu-^h0SN&inO{GQcnL!1=>fFEAudJp=O(6X-266uMKQ_lA*WhZ;ot$b!O`u0 z_PfNMHLk%!t(b4&3gD2`p>_(w&fyPD8%K!TvtNjWR-$O9sn4)`xkep=PKh*q6r=Y^ zyPwDqJkP+14&dph^sVH0L_i9;Jn=*;e*QA|qqbTx2qD-<5I6)rN9!We7bTuGehCp<3VD`XHC0eBxcw zwC#Rmx4U)wq0{IIXeTw6XLR^#g}aQs07c&Vcl&aCZ9JDM)1$SUFuk*Y#sH@Pw`E3= zMe1S-U(e{V0DyjB6Yt5h)P($l8SM8mB91V+-Ol#2yZ>-l$c6{^O$N8ydd&5d@RU$9 zk8X#igoOcfU`BXvDj?(n$KTGe-+})6WZ=^JKclh_x8}ZH5#G;+!$Hs#xX&8T@p;9sR#N+p-NGh6J HyBz(0m$G=_ delta 5951 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 HH=g}JYSGEL diff --git a/library/PDFSTREAM b/library/PDFSTREAM index 2ed9896a4..75c79edea 100644 --- a/library/PDFSTREAM +++ b/library/PDFSTREAM @@ -1,13 +1,14 @@ -(DEFINE-FILE-INFO PACKAGE "INTERLISP" READTABLE "INTERLISP" BASE 10) +(DEFINE-FILE-INFO :PACKAGE "INTERLISP" :READTABLE "INTERLISP" :BASE 10) -(FILECREATED "19-Jan-2026 17:03:36" {WMEDLEY}PDFSTREAM.;107 17186 +(FILECREATED " 3-Sep-2026 22:10:56" {MEDLEY}PDFSTREAM.;115 18106 :EDIT-BY rmk :CHANGES-TO (VARS PDFSTREAMCOMS) - (FNS SEE-PDF) + (FNS PDF.FONTEXISTS?) + (ALISTS (IMAGESTREAMTYPES PDF)) - :PREVIOUS-DATE "17-Jan-2026 12:11:04" {WMEDLEY}PDFSTREAM.;105) + :PREVIOUS-DATE " 3-Sep-2026 21:10:23" {MEDLEY}PDFSTREAM.;114) (PRETTYCOMPRINT PDFSTREAMCOMS) @@ -15,13 +16,14 @@ (RPAQQ PDFSTREAMCOMS ((FILES (SYSLOAD) POSTSCRIPTSTREAM) - (INITVARS (PDFFONTCOERCIONS POSTSCRIPTFONTCOERCIONS) - (PDFCHARCOERCIONS POSTSCRIPTCHARCOERCIONS)) + (INITVARS [PDFFONTCOERCIONS '((* (* * * * POSTSCRIPT] + (PDFCHARCOERCIONS NIL)) [COMS (* ; "Hook into hardcopy interface") (ALISTS (PRINTFILETYPES PDF) (IMAGESTREAMTYPES PDF) (DEFAULTFILETYPELIST PDF)) - (FNS PDFFILEP PDF.HARDCOPYW PDF.TEDIT PDF.FONTSAVAILABLE) + (FNS PDFFILEP PDF.HARDCOPYW PDF.TEDIT PDF.FONTCREATE PDF.FONTSAVAILABLE PDF.FONTEXISTS? + PDF.CHARSET) (P (FONTPROFILE.ADDDEVICE 'PDF 'POSTSCRIPT] (* ;; "") @@ -44,9 +46,9 @@ (FILESLOAD (SYSLOAD) POSTSCRIPTSTREAM) -(RPAQ? PDFFONTCOERCIONS POSTSCRIPTFONTCOERCIONS) +(RPAQ? PDFFONTCOERCIONS '((* (* * * * POSTSCRIPT)))) -(RPAQ? PDFCHARCOERCIONS POSTSCRIPTCHARCOERCIONS) +(RPAQ? PDFCHARCOERCIONS NIL) @@ -61,10 +63,10 @@ TITLE)))) (ADDTOVAR IMAGESTREAMTYPES (PDF (OPENSTREAM OPEN-PDF-STREAM) - (FONTCREATE POSTSCRIPT.FONTCREATE) (FONTSAVAILABLE PDF.FONTSAVAILABLE) - (CREATECHARSET \CREATECHARSET.PSC) - (FONTEXISTS? POSTSCRIPT.FONTEXISTS?))) + (CREATECHARSET PDF.CHARSET) + (FONTCREATE PDF.FONTCREATE) + (FONTEXISTS? PDF.FONTEXISTS?))) (ADDTOVAR DEFAULTFILETYPELIST (PDF . BINARY)) (DEFINEQ @@ -118,12 +120,32 @@ 'POSTSCRIPT OPTIONS) IMAGESTREAM]) +(PDF.FONTCREATE + [LAMBDA (FONTSPEC) (* ; "Edited 3-Sep-2026 20:45 by rmk") + + (* ;; "Either a FONTSPEC or a PDF font") + + (if (type? FONTSPEC FONTSPEC) + then (FONT.CHANGESPEC (FONTCREATE (create FONTSPEC using FONTSPEC FSDEVICE _ 'POSTSCRIPT)) + FONTSPEC T) + else FONTSPEC]) + (PDF.FONTSAVAILABLE [LAMBDA (FONTSPEC) (* ; "Edited 23-Aug-2025 10:53 by rmk") (* ; "Edited 16-Jun-2025 00:46 by rmk") (LET ((FA (FONTSAVAILABLE FONTSPEC NIL NIL NIL 'POSTSCRIPT T))) (for FS in FA do (replace (FONTSPEC FSDEVICE) of FS with 'PDF)) FA]) + +(PDF.FONTEXISTS? + [LAMBDA (FONTSPEC NOCOERCIONS) (* ; "Edited 3-Sep-2026 22:10 by rmk") + (FONTEXISTS? (create FONTSPEC using FONTSPEC FSDEVICE _ 'POSTSCRIPT) + NOCOERCIONS]) + +(PDF.CHARSET + [LAMBDA (FONTSPEC FONT CHARSET) (* ; "Edited 2-Sep-2026 21:02 by rmk") + (POSTSCRIPT.CHARSET (MAKEFONTSPEC NIL NIL NIL NIL 'POSTSCRIPT FONTSPEC) + FONT CHARSET]) ) (FONTPROFILE.ADDDEVICE 'PDF 'POSTSCRIPT) @@ -334,8 +356,9 @@ (\PDFINIT) (DECLARE%: DONTCOPY - (FILEMAP (NIL (2498 5822 (PDFFILEP 2508 . 3785) (PDF.HARDCOPYW 3787 . 4639) (PDF.TEDIT 4641 . 5398) ( -PDF.FONTSAVAILABLE 5400 . 5820)) (6262 14970 (OPEN-PDF-STREAM 6272 . 7422) (CLOSE-PDF-STREAM 7424 . -10136) (PS-TO-PDF 10138 . 14968)) (14971 15227 (PDF.POSTSCRIPT 14981 . 15225)) (15228 16499 (SEE-PDF -15238 . 16497)) (16550 16834 (PDFCONVERTER 16560 . 16832)) (16835 17147 (\PDFINIT 16845 . 17145))))) + (FILEMAP (NIL (2560 6742 (PDFFILEP 2570 . 3847) (PDF.HARDCOPYW 3849 . 4701) (PDF.TEDIT 4703 . 5460) ( +PDF.FONTCREATE 5462 . 5852) (PDF.FONTSAVAILABLE 5854 . 6274) (PDF.FONTEXISTS? 6276 . 6511) ( +PDF.CHARSET 6513 . 6740)) (7182 15890 (OPEN-PDF-STREAM 7192 . 8342) (CLOSE-PDF-STREAM 8344 . 11056) ( +PS-TO-PDF 11058 . 15888)) (15891 16147 (PDF.POSTSCRIPT 15901 . 16145)) (16148 17419 (SEE-PDF 16158 . +17417)) (17470 17754 (PDFCONVERTER 17480 . 17752)) (17755 18067 (\PDFINIT 17765 . 18065))))) STOP diff --git a/library/PDFSTREAM.LCOM b/library/PDFSTREAM.LCOM index 631a08f66609130fc52a3267f2937454d8c164e0..91fef10af58d11966cdd0ee3ba5a11990eee9992 100644 GIT binary patch delta 1215 zcmbW0!EVz)5Qc3RiZBAoA#oEBj4T1`sEKT+39XTcU1!s-n#QT^REPr--~g?FRs|#k zhaBNjq2dD)FVHJW9sqIY3E&k#DsRB7leB5t6LGYj8F^>E|M&WP`L|UeRa#>Wny;}s z&9g?$1FPw{%g!PNl{G@@*ICe1!Sbn74V{JhSb4WHeG`iLpuLqhb+ZhnX&JgzDyu-$ zN1M;L)}OT_*n9yhyxZ+u=@=yqWEIRK8;XWym?}KnZXfJuzuDS;dEJ6$wN|Kkh;f$% zVNii}>{M&j>oD4)P$;MnJ$QwaPU>wIRZS*bpL-2egtUq@Cn9siGe!xFIYWG|&VZTdl5ffXI#ANA* znDL4vN!e@`qruZWN=n)6;#t1kUO&fgQ}&cV485E{6x=1Ju}C=!%+DvKJ}a6xSA?dA zx?P_&Lnz*YT)Z~2posY;DCvzQ4}R6+vg|wKxd(EmO#wWDFrt(Xpbjm#aX5Y zZ&D_`ACtukOJud>;jthj2l&TJ#^umQjsJikD91W9tikHM?s_W$-*+40)s!a6@!Ql) zyq79pO{C!|X5qo-F*sCQbNn%*WQL#1hzWcWkWXm^J1J=+X6YG>UZ<`2YdVL~&vZGy zr05tqiWXnItj0S^7PCF&UgemO<2q#GH=WfACpxC4$EI(Hah!oAxeq#g4M*{~eX6Q>sB delta 716 zcmZuuO>Wab6jmy#f)^}c5j&*S(@>C&YRh&TyPYl~V~=6L*p|orQDIY>0Fm0*YO+8e z(Jg{inH6_nfs_Lv7F>Z-u;B)b6RCB8)x5v&=e_xbzdKzuAR'@2>DG!7G3Nj?9u z_kaMRaZa*`vJ}BeM!X>R?ni%>&%3f}ZRw8=hq`Ur4p=TW*YUc8Kt)HzNjW&~_n;U8 zg139;@7iaktAT{9%^ISEZ4-A~1kX?V7m)tz@^o|u!>|~?8Vp~;Kv0A`Q3Q3UVHgN{ zhhrh}FQ+mh)D`_?9Z+Hh<}h@J+a1~|>gE=_ir9ta9R zmRqxKV{0k{(v)Gr>`bmMyuZSamflPjuc7OilqM`^en!(gOyb;6NaoWdW*Vr1-GAt1 z7bUnHovUkN)=!==Q18JuNW5rj{Bv`yA@Ltg=eA%m#AY;yDylS?x9icU`l(6;REh7k zJN!((DG;CJHU3S;BKq2vZF`y>5zPa|?+bv+LLPoBEtpg{Z{8+*-x6v_dnI!?U^6NSQAND_OEn#X-AJ KJM2Vm=Z!yQY`^mW diff --git a/library/POSTSCRIPTSTREAM b/library/POSTSCRIPTSTREAM index 3ddd19d31..d8515dbc9 100644 --- a/library/POSTSCRIPTSTREAM +++ b/library/POSTSCRIPTSTREAM @@ -1,12 +1,12 @@ (DEFINE-FILE-INFO :PACKAGE "INTERLISP" :READTABLE "INTERLISP" :BASE 10) -(FILECREATED "11-May-2026 10:22:21" {MEDLEY}POSTSCRIPTSTREAM.;73 258415 +(FILECREATED " 4-Sep-2026 00:45:37" {MEDLEY}POSTSCRIPTSTREAM.;101 272753 :EDIT-BY rmk - :CHANGES-TO (VARS POSTSCRIPTSTREAMCOMS) + :CHANGES-TO (FNS POSTSCRIPT.FONTSAVAILABLE) - :PREVIOUS-DATE "26-Apr-2026 11:39:26" {MEDLEY}POSTSCRIPTSTREAM.;71) + :PREVIOUS-DATE " 3-Sep-2026 23:54:21" {MEDLEY}POSTSCRIPTSTREAM.;99) (PRETTYCOMPRINT POSTSCRIPTSTREAMCOMS) @@ -15,34 +15,77 @@ [ (* ;; "PostScript printer support for Medley") - (DECLARE%: EVAL@COMPILE DONTCOPY (RECORDS FONTID PSCFONT \POSTSCRIPTDATA POSTSCRIPTXFORM)) + (DECLARE%: EVAL@COMPILE DONTCOPY (RECORDS \POSTSCRIPTDATA POSTSCRIPTXFORM)) (INITRECORDS \POSTSCRIPTDATA) (FNS POSTSCRIPT.INIT POSTSCRIPT.PUTRGBCOLOR \PSC.COLOR.TO.RGB) - (ADDVARS (DEFAULTFILETYPELIST (PS . BINARY) - (PSC . BINARY) - (PSF . BINARY) - (PSCFONT . BINARY) - (POSTSCRIPT . BINARY)) - (*DISPLAY-FONT-NAME-MAP* (AVANTGARDE-BOOK . AB) - (AVANTGARDE-DEMI . AD) - (BECKMAN . BM) - (BOOKMAN-LIGHT . BL) - (BOOKMAN-DEMI . BD) - (COURIER . CO) - (HELVETICA-NARROW . HN) - (NEWCENTURYSCHLBK . NC) - (PALATINO . PA) - (TIMES . TS) - (ZAPFCHANCERY-MEDIUM . ZM) - (ZAPFCHANCERY . ZC) - (ZAPFDINGBATS . ZD))) - - (* ;; "Font-reading code") - - (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.FONTEXISTS?) + [COMS (* ; "Font-reading code") + (DECLARE%: EVAL@COMPILE DONTCOPY (RECORDS FONTID PSCFONT)) + (FNS POSTSCRIPT.FONTSAVAILABLE PSCFONT.FILEP POSTSCRIPT.CHARSET POSTSCRIPT.FONTCREATE + PSCFONT.TO.MEDLEYFONT) + (FNS PSCFONT.READFONT PSCFONT.WRITEFONT READ-AFM-FILE CONVERT-AFM-FILES + POSTSCRIPT.GETFONTID) + (FNS \CREATECHARSET.PSC) + (* ; "Still needed?") + [COMS (* ; "Deprecated ") + (FNS OLDPOSTSCRIPT.FONTCREATE \POSTSCRIPT.SPECIALFONT.SCALEDWIDTHS + PSCFONT.COERCEFILE PSCFONT.SPELLFILE) + (GLOBALVARS POSTSCRIPT.FONT.ALIST) + (ADDVARS (POSTSCRIPT.FONT.ALIST (HELVETICA . HELVETICA) + (HELVETICAD . HELVETICA) + (TIMESROMAN . TIMES) + (TIMESROMAND . TIMES) + (COURIER . COURIER) + (GACHA . COURIER) + (CLASSIC . NEWCENTURYSCHLBK) + (MODERN . HELVETICA) + (CREAM . HELVETICA) + (TERMINAL . COURIER) + (LOGO . HELVETICA) + (OPTIMA . PALATINO) + (TITAN . COURIER] + (GLOBALVARS \POSTSCRIPT.MAX.WILD.FONTSIZE POSTSCRIPTFONTEXTENSIONS + POSTSCRIPTFONTDIRECTORIES POSTSCRIPTFONTCOERCIONS) + [ADDVARS (POSTSCRIPTCHARSETFNS (MEDLEYFONT MEDLEYFONT.FILEP MEDLEYFONT.GETCHARSET + (FAMILY SIZE - FACE)) + (PSCFONT PSCFONT.FILEP SHOULDNT (c0> FAMILY SIZE - FACE -C0) + (FAMILY SIZE - FACE] + [INITVARS (POSTSCRIPTFONTDIRECTORIES "{MEDLEY}/fonts/medleypostscriptfonts") + (POSTSCRIPTFONTEXTENSIONS `(MEDLEYPOSTSCRIPTFONT PSCFONT)) + (* ; + "MEDLEYPOSTSCRIPTFONT comes first, for import writing") + (POSTSCRIPTCHARCOERCIONS NIL) + (\POSTSCRIPT.MAX.WILD.FONTSIZE 72) + (POSTSCRIPTFONTCOERCIONS '((HELVETICA (HELVETICA 0)) + (HELVETICAD (HELVETICA 0)) + (TIMESROMAN (TIMES 0)) + (TIMESROMAND (TIMES 0)) + (COURIER (COURIER 0)) + (GACHA (COURIER 0)) + (CLASSIC (NEWCENTURYSCHLBK 0)) + (MODERN (HELVETICA 0)) + (CREAM (HELVETICA 0)) + (TERMINAL (COURIER 0)) + (LOGO (HELVETICA 0)) + (OPTIMA (PALATINO 0)) + (TITAN (COURIER 0] + (ADDVARS (DEFAULTFILETYPELIST (PS . BINARY) + (PSC . BINARY) + (PSF . BINARY) + (PSCFONT . BINARY) + (POSTSCRIPT . BINARY)) + (*DISPLAY-FONT-NAME-MAP* (AVANTGARDE-BOOK . AB) + (AVANTGARDE-DEMI . AD) + (BECKMAN . BM) + (BOOKMAN-LIGHT . BL) + (BOOKMAN-DEMI . BD) + (COURIER . CO) + (HELVETICA-NARROW . HN) + (NEWCENTURYSCHLBK . NC) + (PALATINO . PA) + (TIMES . TS) + (ZAPFCHANCERY-MEDIUM . ZM) + (ZAPFCHANCERY . ZC) + (ZAPFDINGBATS . ZD] (FNS OPENPOSTSCRIPTSTREAM CLOSEPOSTSCRIPTSTREAM) (INITVARS (*POSTSCRIPT-FILE-TYPE* 'BINARY)) (FNS POSTSCRIPT.HARDCOPYW POSTSCRIPT.TEDIT POSTSCRIPTFILEP MAKEEPSFILE) @@ -54,13 +97,13 @@ (* ;; "DIG operations: ") - (FNS \BITBLT.PSC \BLTSHADE.PSC \CHARWIDTH.PSC \CREATECHARSET.PSC \DRAWARC.PSC \DRAWCIRCLE.PSC - \DRAWCURVE.PSC \DRAWELLIPSE.PSC \DRAWLINE.PSC \DRAWPOINT.PSC \DRAWPOLYGON.PSC - \DSPBOTTOMMARGIN.PSC \DSPCLIPPINGREGION.PSC \DSPCOLOR.PSC \DSPFONT.PSC - \DSPLEFTMARGIN.PSC \DSPLINEFEED.PSC \DSPPUSHSTATE.PSC \DSPPOPSTATE.PSC \DSPRESET.PSC - \DSPRIGHTMARGIN.PSC \DSPROTATE.PSC \DSPSCALE.PSC \DSPSCALE2.PSC \DSPSPACEFACTOR.PSC - \DSPTOPMARGIN.PSC \DSPTRANSLATE.PSC \DSPXPOSITION.PSC \DSPYPOSITION.PSC \FILLCIRCLE.PSC - \FILLPOLYGON.PSC \FIXLINELENGTH.PSC \MOVETO.PSC \NEWPAGE.PSC) + (FNS \BITBLT.PSC \BLTSHADE.PSC \CHARWIDTH.PSC \DRAWARC.PSC \DRAWCIRCLE.PSC \DRAWCURVE.PSC + \DRAWELLIPSE.PSC \DRAWLINE.PSC \DRAWPOINT.PSC \DRAWPOLYGON.PSC \DSPBOTTOMMARGIN.PSC + \DSPCLIPPINGREGION.PSC \DSPCOLOR.PSC \DSPFONT.PSC \DSPLEFTMARGIN.PSC \DSPLINEFEED.PSC + \DSPPUSHSTATE.PSC \DSPPOPSTATE.PSC \DSPRESET.PSC \DSPRIGHTMARGIN.PSC \DSPROTATE.PSC + \DSPSCALE.PSC \DSPSCALE2.PSC \DSPSPACEFACTOR.PSC \DSPTOPMARGIN.PSC \DSPTRANSLATE.PSC + \DSPXPOSITION.PSC \DSPYPOSITION.PSC \FILLCIRCLE.PSC \FILLPOLYGON.PSC \FIXLINELENGTH.PSC + \MOVETO.PSC \NEWPAGE.PSC) (COMS (* ;; "Character-output, plus special-cases:") @@ -73,12 +116,12 @@ (FNS \PSC.SPACEDISP \PSC.SPACEWID \PSC.SYMBOLS) (* ;; - "The mapping of NS characters to Postscript renderings, both as an AList and as a hashtable") + "The mapping of MCCS characters to Postscript renderings, both as an AList and as a hashtable") - (FNS \POSTSCRIPT.NSHASH) + (FNS \POSTSCRIPT.MCCSHASH) (VARS (*POSTSCRIPT-UNACCENTED-FONTS* '(Dancer ZapfDingbats "Dancer" "ZapfDingbats")) - *POSTSCRIPT-NS-TRANSLATIONS*) - (GLOBALVARS *POSTSCRIPT-NS-HASH*)) + *POSTSCRIPT-MCCS-TRANSLATIONS*) + (GLOBALVARS *POSTSCRIPT-MCCS-HASH*)) (DECLARE%: EVAL@COMPILE DONTCOPY (MACROS \POSTSCRIPT.FRACTION)) (VARS (\POSTSCRIPT.ORIENTATION.MENU (create MENU ITEMS _ '(("Landscape" T "Print this file/document/image in Landscape Orientation" @@ -127,46 +170,13 @@ (CONSTANTS (GOLDEN.RATIO 1.618034) (\PS.SCALE0 100) (\PS.TEMPARRAYLEN 20)) - (GLOBALVARS POSTSCRIPTFONTEXTENSIONS POSTSCRIPTFONTDIRECTORIES) (INITVARS (POSTSCRIPT.BITMAP.SCALE 1) (POSTSCRIPT.EOL 'CR) (POSTSCRIPT.IMAGESIZEFACTOR 1) (POSTSCRIPT.PREFER.LANDSCAPE NIL) (POSTSCRIPT.TEXTFILE.LANDSCAPE NIL) (POSTSCRIPT.DEFAULT.PAGEREGION '(4800 4800 52800 70800)) - (POSTSCRIPT.TEXTURE.SCALE 4) - (POSTSCRIPTFONTDIRECTORIES (LIST "{MEDLEY}/fonts/postscriptfonts")) - (POSTSCRIPTFONTEXTENSIONS '(PSCFONT PF PSC)) - [POSTSCRIPTFONTCOERCIONS '((HELVETICA (HELVETICA 1)) - (HELVETICAD (HELVETICA 1)) - (TIMESROMAN (TIMES 1)) - (TIMESROMAND (TIMES 1)) - (COURIER (COURIER 1)) - (GACHA (COURIER 1)) - (CLASSIC (NEWCENTURYSCHLBK 1)) - (MODERN (HELVETICA 1)) - (CREAM (HELVETICA 1)) - (TERMINAL (COURIER 1)) - (LOGO (HELVETICA 1)) - (OPTIMA (PALATINO 1)) - (TITAN (COURIER 1)) - (* CLASSIC) - (* (* 1] - (POSTSCRIPTCHARCOERCIONS NIL) - (\POSTSCRIPT.MAX.WILD.FONTSIZE 72)) - (ADDVARS (POSTSCRIPT.FONT.ALIST (HELVETICA . HELVETICA) - (HELVETICAD . HELVETICA) - (TIMESROMAN . TIMES) - (TIMESROMAND . TIMES) - (COURIER . COURIER) - (GACHA . COURIER) - (CLASSIC . NEWCENTURYSCHLBK) - (MODERN . HELVETICA) - (CREAM . HELVETICA) - (TERMINAL . COURIER) - (LOGO . HELVETICA) - (OPTIMA . PALATINO) - (TITAN . COURIER))) + (POSTSCRIPT.TEXTURE.SCALE 4)) (ALISTS (PRINTFILETYPES POSTSCRIPT) (IMAGESTREAMTYPES POSTSCRIPT)) (INITVARS (POSTSCRIPT.PAGETYPE 'LETTER)) @@ -182,11 +192,10 @@ (NOTE (0 0 8.5 11) NIL (-0.1 -0.1 8.7 11.2] - (GLOBALVARS DEFAULTPRINTINGHOST POSTSCRIPT.BITMAP.SCALE POSTSCRIPT.EOL POSTSCRIPT.FONT.ALIST + (GLOBALVARS DEFAULTPRINTINGHOST POSTSCRIPT.BITMAP.SCALE POSTSCRIPT.EOL POSTSCRIPT.PREFER.LANDSCAPE POSTSCRIPT.TEXTFILE.LANDSCAPE POSTSCRIPT.TEXTURE.SCALE - POSTSCRIPTFONTDIRECTORIES \POSTSCRIPT.JOB.SETUP \POSTSCRIPT.MAX.WILD.FONTSIZE - \POSTSCRIPT.ORIENTATION.MENU \POSTSCRIPTIMAGEOPS POSTSCRIPT.PAGETYPE - POSTSCRIPT.PAGEREGIONS) + \POSTSCRIPT.JOB.SETUP \POSTSCRIPT.ORIENTATION.MENU \POSTSCRIPTIMAGEOPS + POSTSCRIPT.PAGETYPE POSTSCRIPT.PAGEREGIONS) (DECLARE%: DONTEVAL@LOAD DOCOPY (P (POSTSCRIPT.INIT))) (PROP (FILETYPE MAKEFILE-ENVIRONMENT) POSTSCRIPTSTREAM) @@ -203,10 +212,6 @@ (DECLARE%: EVAL@COMPILE DONTCOPY (DECLARE%: EVAL@COMPILE -(RECORD FONTID (FONTIDNAME FONTXFACTOR FONTOBLIQUEFACTOR)) - -(RECORD PSCFONT (FID IL-FONTID FIRSTCHAR LASTCHAR ASCENT DESCENT WIDTHS)) - (DATATYPE \POSTSCRIPTDATA ((POSTSCRIPTACCENTED FLAG) (* ;  "T if we're to do NS-to-PS translations on characters in the current font.") @@ -373,7 +378,8 @@ (DEFINEQ (POSTSCRIPT.INIT - [LAMBDA NIL (* ; "Edited 31-Dec-2025 22:38 by rmk") + [LAMBDA NIL (* ; "Edited 31-Aug-2026 11:05 by rmk") + (* ; "Edited 31-Dec-2025 22:38 by rmk") (* ; "Edited 9-Sep-2025 21:57 by rmk") (* ; "Edited 22-Aug-2025 21:34 by rmk") (* ; "Edited 14-May-2018 10:48 by rmk:") @@ -422,7 +428,6 @@ (* ;; "Eliminate any existing postscript fonts, to start with a clean slate if reinitializing.") (FLUSHFONTCACHE NIL '* '* '* '* 'POSTSCRIPT) - (SETQ POSTSCRIPTFONTCACHE NIL) (SETQ \POSTSCRIPT.CHARTYPE (CL:MAKE-ARRAY 256 :INITIAL-ELEMENT T)) (* ;; "\POSTSCRIPT.OUTCHARFN uses this array to quickly determine whether a character needs any special processing -- T means yes") @@ -473,8 +478,8 @@ IMDRAWPOINT _ (FUNCTION \DRAWPOINT.PSC) IMPUSHSTATE _ (FUNCTION \DSPPUSHSTATE.PSC) IMPOPSTATE _ (FUNCTION \DSPPOPSTATE.PSC))) - (SETQ *POSTSCRIPT-NS-HASH* (HARRAY 255)) - (\POSTSCRIPT.NSHASH *POSTSCRIPT-NS-TRANSLATIONS*]) + (SETQ *POSTSCRIPT-MCCS-HASH* (HARRAY 255)) + (\POSTSCRIPT.MCCSHASH *POSTSCRIPT-MCCS-TRANSLATIONS*]) (POSTSCRIPT.PUTRGBCOLOR [LAMBDA (STREAM COLOR EOL?) (* ; "Edited 5-Jun-2025 14:06 by mth") @@ -544,30 +549,267 @@ (CL:VALUES RGB COLOR STR (NOT (EQUAL RGB DEFAULTRGB]) ) -(ADDTOVAR DEFAULTFILETYPELIST (PS . BINARY) - (PSC . BINARY) - (PSF . BINARY) - (PSCFONT . BINARY) - (POSTSCRIPT . BINARY)) -(ADDTOVAR *DISPLAY-FONT-NAME-MAP* (AVANTGARDE-BOOK . AB) - (AVANTGARDE-DEMI . AD) - (BECKMAN . BM) - (BOOKMAN-LIGHT . BL) - (BOOKMAN-DEMI . BD) - (COURIER . CO) - (HELVETICA-NARROW . HN) - (NEWCENTURYSCHLBK . NC) - (PALATINO . PA) - (TIMES . TS) - (ZAPFCHANCERY-MEDIUM . ZM) - (ZAPFCHANCERY . ZC) - (ZAPFDINGBATS . ZD)) +(* ; "Font-reading code") +(DECLARE%: EVAL@COMPILE DONTCOPY +(DECLARE%: EVAL@COMPILE -(* ;; "Font-reading code") +(RECORD FONTID (FONTIDNAME FONTXFACTOR FONTOBLIQUEFACTOR)) +(RECORD PSCFONT (FID IL-FONTID FIRSTCHAR LASTCHAR ASCENT DESCENT WIDTHS)) +) +) +(DEFINEQ + +(POSTSCRIPT.FONTSAVAILABLE + [LAMBDA (FONTSPEC) (* ; "Edited 4-Sep-2026 00:45 by rmk") + (* ; "Edited 3-Sep-2026 00:18 by rmk") + (* ; "Edited 1-Sep-2026 15:43 by rmk") + (* ; "Edited 22-Aug-2026 22:30 by rmk") + (* ; "Edited 17-Dec-2025 20:55 by rmk") + (* ; "Edited 25-Aug-2025 13:09 by rmk") + (* ; "Edited 23-Aug-2025 08:19 by rmk") + + (* ;; "Postscript only has font files for %"raw%" postscript families that Medley font families are mapped to by POSTSCRIPTFONTCOERCIONS. Therefore the search doesn't care about the given family, just looks at the corresponding raw files that exist in the directory. ") + + (LET [(SIZE (fetch (FONTSPEC FSSIZE) of FONTSPEC)) + (FONTSAVAILABLE (\SEARCHFONTFILES (COERCEFONTSPEC FONTSPEC] + + (* ;; "Switch from postscript family names back to the corresponding Medley names. Do we still want to include the unscaled (size 0) fonts like NEWCENTURYSCHLBK ?") + + [SETQ FONTSAVAILABLE (for FS (COERCIONS _ (FONTDEVICEPROP FONTSPEC 'FONTCOERCIONS)) + in FONTSAVAILABLE + join + (* ;; "C is (medley (ps 0))--match ps return medley") + + (for C (FAM _ (FSPROP FS FSFAMILY)) in COERCIONS + when (EQ FAM (CAR (CADR C))) + collect (create FONTSPEC using FS FSFAMILY _ (CAR C] + (CL:UNLESS (EQ '* FAMILY) + (SETQ FONTSAVAILABLE (for FS in FONTSAVAILABLE when (EQ FAMILY (FSPROP FS FSFAMILY)) + collect FS))) + (if (EQ '* SIZE) + then + (* ;; "If SIZE was wildcarded, then provide list of pointsizes for the Postscript scaled fonts (those with a 0 size descriptor file)") + + (* ;; + "RMK: Maybe just provide the sizes that exist for all the corresponding display fonts?") + + [SETQ FONTSAVAILABLE (for FS in FONTSAVAILABLE + join (for S from 2 to \POSTSCRIPT.MAX.WILD.FONTSIZE + collect (create FONTSPEC using FS FSSIZE _ S] + elseif (NEQ SIZE 0) + then (* ; + "Replace the 0 with the requested SIZE.") + (for FS in FONTSAVAILABLE do (replace (FONTSPEC FSSIZE) of FS with SIZE))) + (CL:REMOVE-DUPLICATES FONTSAVAILABLE :TEST (FUNCTION EQUAL]) + +(PSCFONT.FILEP + [LAMBDA (FILE) (* ; "Edited 31-Aug-2026 01:00 by rmk") + (STRING.EQUAL 'PSCFONT (FILENAMEFIELD FILE 'EXTENSION]) + +(POSTSCRIPT.CHARSET + [LAMBDA (FONTSPEC FONT CHARSET) (* ; "Edited 3-Sep-2026 19:16 by rmk") + + (* ;; "FONT gets the widths scaled from the unscalable coercion") + (* ; "Edited 1-Sep-2026 18:01 by rmk") + (if (EQ 0 (FONTPROP FONT 'SIZE)) + then (\READCHARSET FONT CHARSET) + else (LET* ((SIZE (FONTPROP FONT 'SIZE)) + (UNSCALEDFS (GETMULTI (fetch (FONTDESCRIPTOR OTHERDEVICEFONTPROPS) of FONT) + 'UNSCALEDSOURCE)) + UNSCALEDFD CSINFO WIDTHS) + (CL:WHEN UNSCALEDFS + (SETQ UNSCALEDFD (FONTCREATE UNSCALEDFS)) + + (* ;; "FONTCREATE returns the cached unscaled fontdescriptor, we have to copy the charsetinfo before we smash it.") + + (SETQ CSINFO (create CHARSETINFO using (\INSURECHARSETINFO UNSCALEDFD CHARSET) + WIDTHS _ (\CREATECSINFOELEMENT))) + (change (fetch (CHARSETINFO CHARSETASCENT) of CSINFO) + (FIXR (TIMES SIZE DATUM 0.1))) + (change (fetch (CHARSETINFO CHARSETDESCENT) of CSINFO) + (FIXR (TIMES SIZE DATUM 0.1))) + (SETQ WIDTHS (fetch (CHARSETINFO WIDTHS) of CSINFO)) + (replace (CHARSETINFO WIDTHS) of CSINFO with WIDTHS) + + (* ;; "Use (\FSETWIDTH WIDTH...) instead of (\FSETCHARWIDTH FONT...) to avoid stack overflow--CSINFO hasn't been installed yet.") + + [for CH from 0 to \MAXTHINCHAR + do (\FSETWIDTH WIDTHS CH (FIXR (TIMES SIZE (\FGETCHARWIDTH UNSCALEDFD CH) + 0.1] + CSINFO)]) + +(POSTSCRIPT.FONTCREATE + [LAMBDA (FONTSPEC) (* ; "Edited 3-Sep-2026 19:17 by rmk") + (* ; "Edited 30-Aug-2026 21:36 by rmk") + (* ; "Edited 17-Mar-2026 16:29 by rmk") + (* ; "Edited 13-Oct-2025 18:04 by rmk") + (* ; "Edited 7-Sep-2025 23:44 by rmk") + (* ; "Edited 30-Aug-2025 23:24 by rmk") + (* ; "Edited 21-Aug-2025 18:21 by rmk") + (* ; "Edited 15-Jun-2025 23:40 by rmk") + (* ; "Edited 29-Oct-93 16:39 by rmk:") + (* ; "Edited 3-Feb-93 17:22 by jds") + (if (AND (type? FONTSPEC FONTSPEC) + (EQ 0 (FSPROP FONTSPEC FSSIZE))) + then (MEDLEYFONT.READ.FONT FONTSPEC) + elseif (type? FONTDESCRIPTOR FONTSPEC) + then + (* ;; "FONTSPEC is a fresh copy of the unscaled font so we can smash it. \CREATEFONT has filled in some of the toplevel spec fields, POSTSCRIPT.CHARSETFN will later scale the widths. Here we just have to scale the top-level parameters in advance of what the charset function might do.") + + (LET ((SIZE (FONTPROP FONTSPEC 'SIZE)) + (FONT FONTSPEC)) + (CL:WHEN FONT + + (* ;; "Cache the unscaled source, so that coercion isn't needed for charsets. (Filename might change if sysout moves).") + + (PUTMULTI (fetch (FONTDESCRIPTOR OTHERDEVICEFONTPROPS) of FONT) + 'UNSCALEDSOURCE + (FONTPROP FONT 'DEVICESPEC)) + (replace (FONTDESCRIPTOR FONTDEVICESPEC) of FONT with NIL) + (* ; "Not sure about this") + (change (fetch (FONTDESCRIPTOR FONTASCENT) of FONT) + (FIXR (TIMES SIZE DATUM 0.1))) + (change (fetch (FONTDESCRIPTOR FONTDESCENT) of FONT) + (FIXR (TIMES SIZE DATUM 0.1))) + (change (fetch (FONTDESCRIPTOR FONTHEIGHT) of FONT) + (FIXR (TIMES SIZE DATUM 0.1))) + (change (fetch (FONTDESCRIPTOR FONTSLUGWIDTH) of FONT) + (FIXR (TIMES SIZE DATUM 0.1))) + (change (fetch (FONTDESCRIPTOR FONTSLUGWIDTH) of FONT) + (FIXR (TIMES SIZE DATUM 0.1))) + FONT)]) + +(PSCFONT.TO.MEDLEYFONT + [LAMBDA (FONTSPEC FROMDIR) (* ; "Edited 3-Sep-2026 23:45 by rmk") + (* ; "Edited 2-Sep-2026 14:34 by rmk") + (* ; "Edited 29-Jul-2026 16:04 by rmk") + (* ; "Edited 9-Jul-2026 12:17 by rmk") + (* ; "Edited 3-May-2026 22:38 by rmk") + (* ; "Edited 16-Apr-2026 22:37 by rmk") + (* ; "Edited 12-Apr-2026 13:22 by rmk") + (* ; "Edited 31-Mar-2026 15:01 by rmk") + (* ; "Edited 28-Mar-2026 09:27 by rmk") + + (* ;; "Converts PSCFONTS to unscaled MEDLEYFONT files.") + + (SETQ FONTSPEC (\FONT.CHECKARGS FONTSPEC NIL NIL NIL NIL T)) + (LET (FILENAME PSCFONT FAMILY SIZE FACE ROTATION DEVICE PSCWIDTHSBLOCK FD ASCENT DESCENT + SYMWIDTHS DINGWIDTHS) + (SPREADFONTSPEC FONTSPEC) + (CL:UNLESS (SETQ FILENAME (CAR (FONTFILES FONTSPEC T))) + (ERROR "No file for " FONTSPEC)) + (SETQ PSCFONT (PSCFONT.READFONT FILENAME)) + (CL:WHEN PSCFONT + (SETQ ASCENT (fetch (PSCFONT ASCENT) of PSCFONT)) + (* ; "Not divided by 10") + (SETQ DESCENT (fetch (PSCFONT DESCENT) of PSCFONT)) + (* ; + "We don't need to save the PSCFONT widths") + (SETQ FD + (create FONTDESCRIPTOR + OTHERDEVICEFONTPROPS _ `((PSCFONT \, (create PSCFONT using PSCFONT WIDTHS _ NIL) + )) + FONTSCALE _ 100 + FONTDEVICE _ DEVICE + FONTFAMILY _ FAMILY + FONTSIZE _ SIZE + FONTFACE _ FACE + ROTATION _ 0 + FONTHEIGHT _ (IPLUS ASCENT DESCENT) + FONTASCENT _ ASCENT + FONTDESCENT _ DESCENT + FONTCHARENCODING _ 'MCCS)) + (\SETCHARSETINFO FD 0 (create CHARSETINFO + CHARSETASCENT _ ASCENT + CHARSETDESCENT _ DESCENT + CHARSETNO _ 0)) (* ; + "Offsets should be removed from the declaration create--display specific") + + (* ;; "PSCWIDTHSBLOCK preserves the values from the original postscript metrics. The widths for the corresponding MCCS codes, is incrementally installed into the WIDTHS of the CHARSETINFO. ") + + (SETQ PSCWIDTHSBLOCK (\CREATECSINFOELEMENT)) + (for CH (WARRAY _ (fetch (PSCFONT WIDTHS) of PSCFONT)) from 0 to \MAXTHINCHAR + do (\FSETWIDTH PSCWIDTHSBLOCK CH (ELT WARRAY CH))) + (for CH from 0 to \MAXTHINCHAR do (\FSETCHARWIDTH FD CH (\FGETWIDTH PSCWIDTHSBLOCK CH))) + (CL:WHEN [SETQ FILENAME (CAR (FONTFILES (MAKEFONTSPEC 'SYMBOL 0 '(MEDIUM REGULAR REGULAR + ) + NIL NIL FONTSPEC) + T NIL NIL 'PSCFONT] + (SETQ SYMWIDTHS (fetch (PSCFONT WIDTHS) of (PSCFONT.READFONT FILENAME)))) + (CL:WHEN [SETQ FILENAME (CAR (FONTFILES (MAKEFONTSPEC 'ZAPFDINGBATS 0 + '(MEDIUM REGULAR REGULAR) + NIL NIL FONTSPEC) + T NIL NIL 'PSCFONT] + (SETQ DINGWIDTHS (fetch (PSCFONT WIDTHS) of (PSCFONT.READFONT FILENAME)))) + + (* ;; "Now run thru the mapping table, filling in the widths of the MCCS CODEs from the widths of the CODE2 postscript codes that will render them. ") + + [MAPHASH *POSTSCRIPT-MCCS-HASH* + (FUNCTION (LAMBDA (MAPPING CODE) + (SETQ CODE (X$TOMCODE CODE)) (* ; "Take out when the table is MCCS") + (CL:UNLESS (\GETCHARSETINFO FD (\CHARSET CODE)) + (* ; + "Insure a widths-only charsetinfo, to fill in") + (\SETCHARSETINFO FD (\CHARSET CODE) + (create CHARSETINFO + CHARSETNO _ (\CHARSET CODE)))) + (DESTRUCTURING-BIND + (KIND CODE2 BASECHAR) + MAPPING + + (* ;; "Depending on what kind of item it is, process it:") + + (SELECTQ KIND + (NIL + (* ;; "Translating an MCCS CODE to a PSC char in CS 0.") + + (\FSETCHARWIDTH FD CODE (\FGETWIDTH PSCWIDTHSBLOCK + (\CHAR8CODE CODE2)))) + (SYMBOL [AND SYMWIDTHS (\FSETCHARWIDTH FD CODE + (ELT SYMWIDTHS (\CHAR8CODE CODE2]) + (DINGBAT [AND DINGWIDTHS (\FSETCHARWIDTH FD CODE + (ELT DINGWIDTHS (\CHAR8CODE + CODE2]) + (FUNCTION + (* ;; + "This is fake and only works for the fractions. Need a better case. 164 is MCCS currency?") + + [\FSETCHARWIDTH + FD CODE (IPLUS (\FGETWIDTH PSCWIDTHSBLOCK 164) + (FIXR (FTIMES 1.3 (\FGETWIDTH + PSCWIDTHSBLOCK + (CHARCODE 1]) + (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") + + (\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") + + NIL] + + (* ;; "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-MCCS-HASH* (FUNCTION (LAMBDA (MAPPING CODE) + (CL:WHEN (EQ (CAR MAPPING) + 'APPLY*) + (\FSETCHARWIDTH FD CODE + (APPLY* (CADDDR MAPPING) + FD + (CADR MAPPING))))] + FD)]) +) (DEFINEQ (PSCFONT.READFONT @@ -608,105 +850,6 @@ (CREATE PSCFONT USING PF))) PF]) -(PSCFONT.SPELLFILE - [LAMBDA (FAMILY SIZE FACE ROTATION DEVICE) (* ; "Edited 16-Aug-2025 23:50 by rmk") - (* ; "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.") - - (CL:WHEN POSTSCRIPTFONTDIRECTORIES - (\FINDFONTFILE (OR (CDR (FASSOC FAMILY POSTSCRIPT.FONT.ALIST)) - FAMILY) - SIZE FACE 0 DEVICE 0 POSTSCRIPTFONTDIRECTORIES POSTSCRIPTFONTEXTENSIONS))]) - -(PSCFONT.COERCEFILE - [LAMBDA (FAMILY SIZE WEIGHT SLOPE EXPANSION ROTATION DEVICE) - (* ; "Edited 5-Oct-93 16:28 by rmk:") - - (* ;; -"This coerces the WEIGHT and SLOPE incrementally back to REGULAR in order to find a matching file.") - - (COND - ((AND (NEQ EXPANSION 'REGULAR) - (PSCFONT.SPELLFILE FAMILY SIZE (LIST WEIGHT SLOPE 'REGULAR) - ROTATION DEVICE))) - ((AND (EQ SLOPE 'ITALIC) - (PSCFONT.SPELLFILE FAMILY SIZE (LIST WEIGHT 'REGULAR EXPANSION) - ROTATION DEVICE))) - ((AND (NEQ EXPANSION 'REGULAR) - (EQ SLOPE 'ITALIC) - (PSCFONT.SPELLFILE FAMILY SIZE (LIST WEIGHT 'REGULAR 'REGULAR) - ROTATION DEVICE))) - ((AND (NEQ WEIGHT 'MEDIUM) - (PSCFONT.SPELLFILE FAMILY SIZE (LIST 'MEDIUM SLOPE EXPANSION) - ROTATION DEVICE))) - ((AND (NEQ WEIGHT 'MEDIUM) - (NEQ EXPANSION 'REGULAR) - (PSCFONT.SPELLFILE FAMILY SIZE (LIST 'MEDIUM SLOPE 'REGULAR) - ROTATION DEVICE))) - ((AND (NEQ WEIGHT 'MEDIUM) - (EQ SLOPE 'ITALIC) - (PSCFONT.SPELLFILE FAMILY SIZE (LIST 'MEDIUM 'REGULAR EXPANSION) - ROTATION DEVICE))) - ((AND (NEQ WEIGHT 'MEDIUM) - (NEQ EXPANSION 'REGULAR) - (EQ SLOPE 'ITALIC) - (PSCFONT.SPELLFILE FAMILY SIZE (LIST 'MEDIUM 'REGULAR 'REGULAR) - ROTATION DEVICE]) - -(PSCFONTFROMCACHE.SPELLFILE - [LAMBDA (FAMILY SIZE FACE ROTATION DEVICE) (* ; "Edited 5-Oct-93 17:54 by rmk:") - (* ; "Edited 5-Oct-92 15:23 by jds") - - (* ;; "Tries to find postscript font information in the cache, indexed by the name-field of the fontfile. ") - - (LET [(CACHE (CDR (ASSOC (L-CASE (FILENAMEFIELD (\FONTFILENAME (OR (CDR (FASSOC FAMILY - POSTSCRIPT.FONT.ALIST - )) - FAMILY) - SIZE FACE 'PSCFONT 0) - 'NAME)) - POSTSCRIPTFONTCACHE] - (IF CACHE - THEN (CREATE PSCFONT USING CACHE]) - -(PSCFONTFROMCACHE.COERCEFILE - [LAMBDA (FAMILY SIZE WEIGHT SLOPE EXPANSION ROTATION DEVICE) - (* ; "Edited 5-Oct-93 17:00 by rmk:") - - (* ;; "This coerces the WEIGHT and SLOPE incrementally back to REGULAR in order to find a matching font in the cache.") - - (COND - ((AND (NEQ EXPANSION 'REGULAR) - (PSCFONTFROMCACHE.SPELLFILE FAMILY SIZE (LIST WEIGHT SLOPE 'REGULAR) - ROTATION DEVICE))) - ((AND (EQ SLOPE 'ITALIC) - (PSCFONTFROMCACHE.SPELLFILE FAMILY SIZE (LIST WEIGHT 'REGULAR EXPANSION) - ROTATION DEVICE))) - ((AND (NEQ EXPANSION 'REGULAR) - (EQ SLOPE 'ITALIC) - (PSCFONTFROMCACHE.SPELLFILE FAMILY SIZE (LIST WEIGHT 'REGULAR 'REGULAR) - ROTATION DEVICE))) - ((AND (NEQ WEIGHT 'MEDIUM) - (PSCFONTFROMCACHE.SPELLFILE FAMILY SIZE (LIST 'MEDIUM SLOPE EXPANSION) - ROTATION DEVICE))) - ((AND (NEQ WEIGHT 'MEDIUM) - (NEQ EXPANSION 'REGULAR) - (PSCFONTFROMCACHE.SPELLFILE FAMILY SIZE (LIST 'MEDIUM SLOPE 'REGULAR) - ROTATION DEVICE))) - ((AND (NEQ WEIGHT 'MEDIUM) - (EQ SLOPE 'ITALIC) - (PSCFONTFROMCACHE.SPELLFILE FAMILY SIZE (LIST 'MEDIUM 'REGULAR EXPANSION) - ROTATION DEVICE))) - ((AND (NEQ WEIGHT 'MEDIUM) - (NEQ EXPANSION 'REGULAR) - (EQ SLOPE 'ITALIC) - (PSCFONTFROMCACHE.SPELLFILE FAMILY SIZE (LIST 'MEDIUM 'REGULAR 'REGULAR) - ROTATION DEVICE]) - (PSCFONT.WRITEFONT [LAMBDA (FONTFILENAME PF) (* ;  "Edited 5-Aug-93 16:28 by sybalskY:MV:ENVOS") @@ -849,32 +992,65 @@ (PSCFONT.WRITEFONT FILENAME FONT]) (POSTSCRIPT.GETFONTID - [LAMBDA (FID WEIGHT SLOPE EXPANSION) (* ; - "Edited 20-Nov-92 15:04 by sybalsky:mv:envos") + [LAMBDA (FID WEIGHT SLOPE EXPANSION) (* ; "Edited 30-Aug-2026 01:00 by rmk") + (* ; + "Edited 20-Nov-92 15:04 by sybalsky:mv:envos") (LET (FONTID) (SETQ FONTID (create FONTID FONTIDNAME _ (CAR FID) FONTXFACTOR _ 1.0 FONTOBLIQUEFACTOR _ 0.0)) - [if (AND (NEQ (CADDR FID) - SLOPE) - (EQ SLOPE 'ITALIC)) - then (replace (FONTID FONTOBLIQUEFACTOR) of FONTID - with (CONSTANT (TAN 7.0] - (if (AND (NEQ (CADR FID) - WEIGHT) - (EQ WEIGHT 'BOLD)) - then (* ; "Fake bold by slight expansion.") - (replace (FONTID FONTXFACTOR) of FONTID with 1.1)) - [if (NEQ EXPANSION 'REGULAR) - then (replace (FONTID FONTXFACTOR) of FONTID - with (TIMES (fetch (FONTID FONTXFACTOR) of FONTID) - (if (EQ EXPANSION 'COMPRESSED) - then (CONSTANT (QUOTIENT 1.0 GOLDEN.RATIO)) - else GOLDEN.RATIO] + (CL:WHEN (AND (NEQ (CADDR FID) + SLOPE) + (EQ SLOPE 'ITALIC)) + (replace (FONTID FONTOBLIQUEFACTOR) of FONTID with (CONSTANT (TAN 7.0)))) + (CL:WHEN (AND (NEQ (CADR FID) + WEIGHT) + (EQ WEIGHT 'BOLD)) (* ; "Fake bold by slight expansion.") + (replace (FONTID FONTXFACTOR) of FONTID with 1.1)) + (CL:UNLESS (EQ EXPANSION 'REGULAR) + (replace (FONTID FONTXFACTOR) of FONTID + with (TIMES (fetch (FONTID FONTXFACTOR) of FONTID) + (if (EQ EXPANSION 'COMPRESSED) + then (CONSTANT (QUOTIENT 1.0 GOLDEN.RATIO)) + else GOLDEN.RATIO)))) FONTID]) +) +(DEFINEQ -(POSTSCRIPT.FONTCREATE +(\CREATECHARSET.PSC + [LAMBDA (FONTSPEC FONT CHARSET) (* ; "Edited 3-Sep-2025 23:11 by rmk") + (* ; "Edited 8-May-93 22:55 by rmk:") + (LET* ((CSINFO (create CHARSETINFO + OFFSETS _ NIL)) + (WIDTHS (fetch (CHARSETINFO WIDTHS) of CSINFO))) + (replace (CHARSETINFO IMAGEWIDTHS) of CSINFO with WIDTHS) + + (* ;; "Make imagewidths point to widths. Shouldn't matter to anyone, since imagewidths really has to do with bitmaps etc. But...") + + (CL:UNLESS (EQ CHARSET 0) + + (* ;; "For all charsets other than 0, initialize widths with width of black box=average char width. We know that the AVGCHARWIDTH field of the FONT will eventually be the width of A, but that might not be filled in when this is executed inside POSTSCRIPT.FONTCREATE--it's only after the return to FONTCREATE itself that this gets filled in. However, we do know that charset 0 is all set up before any other characters are dealt with.") + + (* ;; "RMK: Should it use the FONTSLUGWIDTH") + + (for I (AVGCHARWIDTH _ (\AVGCHARWIDTH FONT)) from 0 to \MAXTHINCHAR + do (\FSETWIDTH WIDTHS I AVGCHARWIDTH))) + CSINFO]) +) + + + +(* ; "Still needed?") + + + + +(* ; "Deprecated ") + +(DEFINEQ + +(OLDPOSTSCRIPT.FONTCREATE [LAMBDA (FONTSPEC) (* ; "Edited 17-Mar-2026 16:29 by rmk") (* ; "Edited 13-Oct-2025 18:04 by rmk") (* ; "Edited 7-Sep-2025 23:44 by rmk") @@ -899,7 +1075,7 @@ (* ;; "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)) + ((SETQ PSCFD (PSCFONTFROMCACHE.SPELLFILE FAMILY SIZE FACE ROTATION DEVICE)) (* ;; "Check in-core cache for exact match first") @@ -910,7 +1086,7 @@ (SETQ PSCFD (PSCFONT.READFONT FULLNAME)) (SETQ FACECHANGED NIL)) - ((SETQ PSCFD (PSCFONTFROMCACHE.COERCEFILE FAMILY SIZE WEIGHT SLOPE EXPANSION ROTATION + ((SETQ PSCFD (PSCFONTFROMCACHE.COERCEFILE FAMILY SIZE WEIGHT SLOPE EXPANSION ROTATION DEVICE)) (* ;; "Then check cache for coerced match") @@ -949,7 +1125,7 @@ (COND ([SETQ PSCFD (COND - ((PSCFONTFROMCACHE.SPELLFILE FAMILY SIZE FACE ROTATION DEVICE)) + ((PSCFONTFROMCACHE.SPELLFILE FAMILY SIZE FACE ROTATION DEVICE)) ((SETQ FULLNAME (PSCFONT.SPELLFILE FAMILY SIZE FACE ROTATION DEVICE )) (PSCFONT.READFONT FULLNAME] @@ -1080,99 +1256,154 @@ (T NIL]) (\POSTSCRIPT.SPECIALFONT.SCALEDWIDTHS - [LAMBDA (TYPE FD ROTATION DEVICE) (* ; "Edited 5-Oct-93 18:21 by rmk:") - - (* ;; "Returns the scaled widths for a unit font of type TYPE (SYMBOL or ZAPFDINGBATS) compatible with FD. A separate function so that the unit widths can be easily cached.") - - (LET [TYPEFONT WIDTHS NEWWIDTHS (SIZE (FETCH FONTSIZE OF FD)) - (FONTFILE (OR (PSCFONT.SPELLFILE TYPE 1 (FETCH (FONTDESCRIPTOR FONTFACE) - OF FD) - ROTATION DEVICE) - (PSCFONT.SPELLFILE 'SYMBOL 1 '(MEDIUM REGULAR REGULAR) - ROTATION DEVICE] - [SETQ TYPEFONT (COND - ((PSCFONTFROMCACHE.SPELLFILE TYPE 1 (FETCH (FONTDESCRIPTOR - FONTFACE) - OF FD) - ROTATION DEVICE)) - ((SETQ FONTFILE (PSCFONT.SPELLFILE TYPE 1 (FETCH (FONTDESCRIPTOR - FONTFACE) - OF FD) - ROTATION DEVICE)) - (PSCFONT.READFONT FONTFILE)) - ((PSCFONTFROMCACHE.SPELLFILE 'SYMBOL 1 '(MEDIUM REGULAR REGULAR) - ROTATION DEVICE)) - ((SETQ FONTFILE (PSCFONT.SPELLFILE 'SYMBOL 1 '(MEDIUM REGULAR REGULAR) - ROTATION DEVICE)) - (PSCFONT.READFONT FONTFILE] - (CL:WHEN (AND TYPEFONT (SETQ WIDTHS (FETCH (PSCFONT WIDTHS) OF TYPEFONT))) - (SETQ NEWWIDTHS (ARRAY 256 'SMALLPOSP 0 0)) - - (* ;; "Have to copy because of scaling") - - [FOR CH FROM 0 TO 255 DO (SETA NEWWIDTHS CH - (FIXR (TIMES SIZE (ELT WIDTHS CH) - 0.1] - NEWWIDTHS)]) - -(POSTSCRIPT.FONTSAVAILABLE - [LAMBDA (FONTSPEC) (* ; "Edited 17-Dec-2025 20:55 by rmk") - (* ; "Edited 25-Aug-2025 13:09 by rmk") - (* ; "Edited 23-Aug-2025 08:19 by rmk") + [LAMBDA (TYPE FONTSPEC) (* ; "Edited 30-Aug-2026 21:49 by rmk") + (* ; "Edited 5-Oct-93 18:21 by rmk:") - (* ;; "Postscript only has font files of size 1, and only files for %"raw%" postscript families that Medley font families are mapped to by POSTSCRIPTFONTCOERCIONS. Therefore the search doesn't care about the given family, just looks at the corresponding raw files that exist in the directory. ") + (* ;; "Returns the scaled widths for a unit font of type TYPE (SYMBOL or ZAPFDINGBATS) compatible with FD. A separate function so that the unit widths can be easily cached.") - (LET [(SIZE (fetch (FONTSPEC FSSIZE) of FONTSPEC)) - (FONTSAVAILABLE (\SEARCHFONTFILES (COERCEFONTSPEC FONTSPEC] + (LET [TYPEFONT WIDTHS NEWWIDTHS (SIZE (fetch (FONTSPEC FSSIZE) of FONTSPEC)) + (FONTFILE (OR (PSCFONT.SPELLFILE (MAKEFONTSPEC TYPE 1 NIL NIL NIL FONTSPEC)) + (PSCFONT.SPELLFILE (MAKEFONTSPEC 'SYMBOL 1 '(MEDIUM REGULAR REGULAR) + NIL NIL FONTSPEC] + (CL:WHEN FONTFILE + (SETQ TYPEFONT (PSCFONT.READFONT FONTFILE)) + (CL:WHEN (AND TYPEFONT (SETQ WIDTHS (fetch (PSCFONT WIDTHS) of TYPEFONT))) + (SETQ NEWWIDTHS (ARRAY (ADD1 \MAXTHINCHAR) + 'SMALLPOSP 0 0)) - (* ;; "Switch from postscript family names back to the corresponding Medley names.") + (* ;; "Have to copy because of scaling") - (for FS in FONTSAVAILABLE - do (change (fetch (FONTSPEC FSFAMILY) of FS) - (OR [CAR (find C in (FONTDEVICEPROP FONTSPEC 'FONTCOERCIONS) - suchthat + [for CH from 0 to \MAXTHINCHAR do (SETA NEWWIDTHS CH (FIXR (TIMES SIZE + (ELT WIDTHS CH) + 0.1] + NEWWIDTHS))]) - (* ;; "C is (medley (ps 1))--match ps return medley") +(PSCFONT.COERCEFILE + [LAMBDA (FONTSPEC) (* ; "Edited 30-Aug-2026 00:38 by rmk") + (* ; "Edited 5-Oct-93 16:28 by rmk:") - (EQ DATUM (CAR (CADR C] - DATUM))) - (if (EQ SIZE '*) - then - (* ;; "If SIZE was wildcarded, then provide list of pointsizes for the Postscript scaled fonts (those with a 1 point descriptor file)") + (* ;; + "This coerces the WEIGHT and SLOPE incrementally back to REGULAR in order to find a matching file.") - (* ;; - "RMK: Maybe just provide the sizes that exist for all the corresponding display fonts?") + (LET* ((FACE (fetch (FONTSPEC FSFACE) of FONTSPEC)) + (WEIGHT (fetch (FONTFACE WEIGHT) of FACE)) + (SLOPE (fetch (FONTFACE SLOPE) of FACE)) + (EXPANSION (fetch (FONTFACE EXPANSION) of FACE))) + (COND + [(AND (NEQ EXPANSION 'REGULAR) + (PSCFONT.SPELLFILE (MAKEFONTSPEC NIL NIL (LIST WEIGHT SLOPE 'REGULAR) + NIL NIL FONTSPEC] + [(AND (EQ SLOPE 'ITALIC) + (PSCFONT.SPELLFILE (MAKEFONTSPEC NIL NIL (LIST WEIGHT 'REGULAR EXPANSION) + NIL NIL FONTSPEC] + [(AND (NEQ EXPANSION 'REGULAR) + (EQ SLOPE 'ITALIC) + (PSCFONT.SPELLFILE (MAKEFONTSPEC NIL NIL (LIST WEIGHT 'REGULAR 'REGULAR) + NIL NIL FONTSPEC] + [(AND (NEQ WEIGHT 'MEDIUM) + (PSCFONT.SPELLFILE (MAKEFONTSPEC NIL NIL (LIST 'MEDIUM SLOPE EXPANSION) + NIL NIL FONTSPEC] + [(AND (NEQ WEIGHT 'MEDIUM) + (NEQ EXPANSION 'REGULAR) + (PSCFONT.SPELLFILE (MAKEFONTSPEC NIL NIL (LIST 'MEDIUM SLOPE 'REGULAR) + NIL NIL FONTSPEC] + [(AND (NEQ WEIGHT 'MEDIUM) + (EQ SLOPE 'ITALIC) + (PSCFONT.SPELLFILE (MAKEFONTSPEC NIL NIL (LIST 'MEDIUM 'REGULAR EXPANSION) + NIL NIL FONTSPEC] + ((AND (NEQ WEIGHT 'MEDIUM) + (EQ SLOPE 'ITALIC) + (NEQ EXPANSION 'REGULAR)) (* ; + "RMK: Not sure what (LIST NIL) does") + (PSCFONT.SPELLFILE (MAKEFONTSPEC NIL NIL (LIST NIL) + NIL NIL FONTSPEC]) - (for FS in FONTSAVAILABLE - do (for S NFS from 2 to \POSTSCRIPT.MAX.WILD.FONTSIZE - eachtime (SETQ NFS (create FONTSPEC using FS FSSIZE _ S)) - unless (MEMBER NFS FONTSAVAILABLE) do (push FONTSAVAILABLE NFS))) - else - (* ;; "Otherwise, replace the 1 with the requested SIZE.") +(PSCFONT.SPELLFILE + [LAMBDA (FONTSPEC) (* ; "Edited 31-Aug-2026 23:38 by rmk") + (* ; "Edited 30-Aug-2026 00:34 by rmk") + (* ; "Edited 16-Aug-2025 23:50 by rmk") + (* ; "Edited 15-Jun-2025 23:31 by rmk") + (* ; "Edited 5-Oct-93 22:15 by rmk:") + (* ; "Edited 5-Oct-92 15:23 by jds") - (for FS in FONTSAVAILABLE do (replace (FONTSPEC FSSIZE) of FS with SIZE))) - FONTSAVAILABLE]) + (* ;; "Returns an existing PSCFONT file for a postscript font. ") -(POSTSCRIPT.FONTEXISTS? - [LAMBDA (FONTSPEC) (* ; "Edited 3-Sep-2025 23:12 by rmk") - (* ; "Edited 18-Aug-2025 09:44 by rmk") - (* ; "Edited 16-Jun-2025 00:04 by rmk") - (* ; "Edited 29-Oct-93 16:39 by rmk:") - (* ; "Edited 3-Feb-93 17:22 by jds") + (CAR (FONTFILES (MAKEFONTSPEC (GETMULTI POSTSCRIPT.FONT.ALIST (fetch (FONTSPEC FSFAMILY) + of FONTSPEC)) + 1 NIL NIL NIL FONTSPEC) + T]) +) +(DECLARE%: DOEVAL@COMPILE DONTCOPY - (* ;; "Non-NIL if a postscript font with these parameters can be constructed.") +(GLOBALVARS POSTSCRIPT.FONT.ALIST) +) - (* ;; "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.") +(ADDTOVAR POSTSCRIPT.FONT.ALIST (HELVETICA . HELVETICA) + (HELVETICAD . HELVETICA) + (TIMESROMAN . TIMES) + (TIMESROMAND . TIMES) + (COURIER . COURIER) + (GACHA . COURIER) + (CLASSIC . NEWCENTURYSCHLBK) + (MODERN . HELVETICA) + (CREAM . HELVETICA) + (TERMINAL . COURIER) + (LOGO . HELVETICA) + (OPTIMA . PALATINO) + (TITAN . COURIER)) +(DECLARE%: DOEVAL@COMPILE DONTCOPY - (LET (FAMILY SIZE FACE ROTATION DEVICE WEIGHT SLOPE EXPANSION) - (SPREADFONTSPEC FONTSPEC) - (SETQ WEIGHT (fetch (FONTFACE WEIGHT) of FACE)) - (SETQ SLOPE (fetch (FONTFACE SLOPE) of FACE)) - (SETQ 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]) +(GLOBALVARS \POSTSCRIPT.MAX.WILD.FONTSIZE POSTSCRIPTFONTEXTENSIONS POSTSCRIPTFONTDIRECTORIES + POSTSCRIPTFONTCOERCIONS) ) + +(ADDTOVAR POSTSCRIPTCHARSETFNS (MEDLEYFONT MEDLEYFONT.FILEP MEDLEYFONT.GETCHARSET + (FAMILY SIZE - FACE)) + (PSCFONT PSCFONT.FILEP SHOULDNT (c0> FAMILY SIZE - FACE -C0) + (FAMILY SIZE - FACE))) + +(RPAQ? POSTSCRIPTFONTDIRECTORIES "{MEDLEY}/fonts/medleypostscriptfonts") + +(RPAQ? POSTSCRIPTFONTEXTENSIONS `(MEDLEYPOSTSCRIPTFONT PSCFONT)) + +(RPAQ? POSTSCRIPTCHARCOERCIONS NIL) + +(RPAQ? \POSTSCRIPT.MAX.WILD.FONTSIZE 72) + +(RPAQ? POSTSCRIPTFONTCOERCIONS + '((HELVETICA (HELVETICA 0)) + (HELVETICAD (HELVETICA 0)) + (TIMESROMAN (TIMES 0)) + (TIMESROMAND (TIMES 0)) + (COURIER (COURIER 0)) + (GACHA (COURIER 0)) + (CLASSIC (NEWCENTURYSCHLBK 0)) + (MODERN (HELVETICA 0)) + (CREAM (HELVETICA 0)) + (TERMINAL (COURIER 0)) + (LOGO (HELVETICA 0)) + (OPTIMA (PALATINO 0)) + (TITAN (COURIER 0)))) + +(ADDTOVAR DEFAULTFILETYPELIST (PS . BINARY) + (PSC . BINARY) + (PSF . BINARY) + (PSCFONT . BINARY) + (POSTSCRIPT . BINARY)) + +(ADDTOVAR *DISPLAY-FONT-NAME-MAP* (AVANTGARDE-BOOK . AB) + (AVANTGARDE-DEMI . AD) + (BECKMAN . BM) + (BOOKMAN-LIGHT . BL) + (BOOKMAN-DEMI . BD) + (COURIER . CO) + (HELVETICA-NARROW . HN) + (NEWCENTURYSCHLBK . NC) + (PALATINO . PA) + (TIMES . TS) + (ZAPFCHANCERY-MEDIUM . ZM) + (ZAPFCHANCERY . ZC) + (ZAPFDINGBATS . ZD)) (DEFINEQ (OPENPOSTSCRIPTSTREAM @@ -1323,11 +1554,11 @@ STREAM]) (CLOSEPOSTSCRIPTSTREAM - [LAMBDA (STREAM) (* ; "Edited 8-Mar-93 10:31 by jds") - (POSTSCRIPT.ENDPAGE STREAM) - (POSTSCRIPT.PUTCOMMAND STREAM :EOL "%%%%Trailer" :EOL) - (* BOUT STREAM (CHARCODE ^D)) - ]) + [LAMBDA (STREAM) (* ; "Edited 2-Sep-2026 22:18 by rmk") + (* ; "Edited 8-Mar-93 10:31 by jds") + (POSTSCRIPT.ENDPAGE STREAM) (* BOUT STREAM (CHARCODE ^D)) + (* ; "Commented BOUT was at the end") + (POSTSCRIPT.PUTCOMMAND STREAM :EOL "%%%%Trailer" :EOL]) ) (RPAQ? *POSTSCRIPT-FILE-TYPE* 'BINARY) @@ -2080,14 +2311,16 @@ (ffetch (\POSTSCRIPTDATA POSTSCRIPTSPACEWIDTH) of IMAGEDATA]) (\SWITCHFONTS.PSC - [LAMBDA (STREAM POSTSCRIPTDATA) (* ; "Edited 23-May-93 12:04 by rmk:") + [LAMBDA (STREAM POSTSCRIPTDATA) (* ; "Edited 3-Sep-2026 23:53 by rmk") + (* ; "Edited 23-May-93 12:04 by rmk:") (* ; "Edited 11-May-93 02:11 by jds") (* ;; "Actually emit the PS commands to change the font. If the new font hasn't been used (on this page) before, re-encode it to support accented characters.") (LET* [(FONT (ffetch (\POSTSCRIPTDATA POSTSCRIPTFONT) of POSTSCRIPTDATA)) - (FONTID (fetch (PSCFONT IL-FONTID) of (LISTGET (fetch (FONTDESCRIPTOR OTHERDEVICEFONTPROPS - ) of FONT) + (FONTID (fetch (PSCFONT IL-FONTID) of (GETMULTI (fetch (FONTDESCRIPTOR + OTHERDEVICEFONTPROPS) + of FONT) 'PSCFONT] [COND [(LISTP FONTID) @@ -2167,16 +2400,17 @@ (replace (\POSTSCRIPTDATA POSTSCRIPTFONTCHANGEDFLG) of POSTSCRIPTDATA with NIL]) (\TERPRI.PSC - [LAMBDA (STREAM) (* ; + [LAMBDA (STREAM) (* ; "Edited 1-Sep-2026 12:19 by rmk") + (* ;  "Edited 20-Nov-92 15:12 by sybalsky:mv:envos") (LET* [(IMAGEDATA (fetch (STREAM IMAGEDATA) of STREAM)) (NEWY (PLUS (ffetch (\POSTSCRIPTDATA POSTSCRIPTY) of IMAGEDATA) (ffetch (\POSTSCRIPTDATA POSTSCRIPTLINESPACING) of IMAGEDATA] (COND ([LESSP NEWY (IPLUS (ffetch (\POSTSCRIPTDATA POSTSCRIPTBOTTOMMARGIN) of IMAGEDATA) - (fetch (FONTDESCRIPTOR \SFDescent) of (ffetch (\POSTSCRIPTDATA - POSTSCRIPTFONT) - of IMAGEDATA] + (fetch (FONTDESCRIPTOR FONTDESCENT) of (ffetch (\POSTSCRIPTDATA + POSTSCRIPTFONT) + of IMAGEDATA] (DSPNEWPAGE STREAM)) (T (replace (STREAM CHARPOSITION) of STREAM with 0) (\MOVETO.PSC STREAM (ffetch (\POSTSCRIPTDATA POSTSCRIPTLEFTMARGIN) of IMAGEDATA) @@ -2283,26 +2517,6 @@ of STREAM)) CHARCODE]) -(\CREATECHARSET.PSC - [LAMBDA (FONTSPEC FONT CHARSET) (* ; "Edited 3-Sep-2025 23:11 by rmk") - (* ; "Edited 8-May-93 22:55 by rmk:") - (LET* ((CSINFO (create CHARSETINFO - OFFSETS _ NIL)) - (WIDTHS (fetch (CHARSETINFO WIDTHS) of CSINFO))) - (replace (CHARSETINFO IMAGEWIDTHS) of CSINFO with WIDTHS) - - (* ;; "Make imagewidths point to widths. Shouldn't matter to anyone, since imagewidths really has to do with bitmaps etc. But...") - - (CL:UNLESS (EQ CHARSET 0) - - (* ;; "For all charsets other than 0, initialize widths with width of black box=average char width. We know that the AVGCHARWIDTH field of the FONT will eventually be the width of A, but that might not be filled in when this is executed inside POSTSCRIPT.FONTCREATE--it's only after the return to FONTCREATE itself that this gets filled in. However, we do know that charset 0 is all set up before any other characters are dealt with.") - - (* ;; "RMK: Should it use the FONTSLUGWIDTH") - - (for I (AVGCHARWIDTH _ (\AVGCHARWIDTH FONT)) from 0 to \MAXTHINCHAR - do (\FSETWIDTH WIDTHS I AVGCHARWIDTH))) - CSINFO]) - (\DRAWARC.PSC [LAMBDA (STREAM CENTERX CENTERY RADIUS STARTANGLE NDEGREES BRUSH DASHING) (* ; "Edited 27-Apr-2025 23:49 by mth") @@ -2666,7 +2880,9 @@ CURRENT]) (\DSPFONT.PSC - [LAMBDA (STREAM FONT) (* ; "Edited 14-Jul-2025 22:21 by rmk") + [LAMBDA (STREAM FONT) (* ; "Edited 3-Sep-2026 23:54 by rmk") + (* ; "Edited 1-Sep-2026 12:19 by rmk") + (* ; "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") @@ -2697,7 +2913,7 @@ (* ;; "and now update all font-dependent fields in the imagedata, EXCEPT POSTSCRIPTSPACEWIDTH and POSTSCRIPTNATURALSPACEWIDTH. These latter 2 must stay as-is up thru the actual writing of characters by SHOWACCUM, so") (\POSTSCRIPT.CHANGECHARSET IMAGEDATA 0) - (\DSPLINEFEED.PSC STREAM (IMINUS (fetch (FONTDESCRIPTOR \SFHeight) of NEWFONT))) + (\DSPLINEFEED.PSC STREAM (IMINUS (fetch (FONTDESCRIPTOR FONTHEIGHT) of NEWFONT))) [replace (\POSTSCRIPTDATA POSTSCRIPTSPACEWIDTH) of IMAGEDATA with (FIXR (TIMES (fetch (\POSTSCRIPTDATA POSTSCRIPTSPACEFACTOR) of IMAGEDATA) (replace (\POSTSCRIPTDATA POSTSCRIPTNATURALSPACEWIDTH) @@ -2706,9 +2922,9 @@ of IMAGEDATA) (CHARCODE SPACE] (\FIXLINELENGTH.PSC STREAM IMAGEDATA) - [SETQ FONTID (fetch (PSCFONT IL-FONTID) of (LISTGET (fetch (FONTDESCRIPTOR - OTHERDEVICEFONTPROPS) - of NEWFONT) + [SETQ FONTID (fetch (PSCFONT IL-FONTID) of (GETMULTI (fetch (FONTDESCRIPTOR + OTHERDEVICEFONTPROPS + ) of NEWFONT) 'PSCFONT] (COND ((MEMB (fetch (FONTID FONTIDNAME) of FONTID) @@ -3112,7 +3328,10 @@ (freplace POSTSCRIPTNSCHARSET of PSDATA with CHARSET))]) (\POSTSCRIPT.OUTCHARFN - [LAMBDA (STREAM CHAR) (* ; "Edited 8-Sep-2025 09:50 by rmk") + [LAMBDA (STREAM CHAR) (* ; "Edited 3-Sep-2026 23:32 by rmk") + (* ; "Edited 2-Sep-2026 14:35 by rmk") + (* ; "Edited 30-Aug-2026 21:39 by rmk") + (* ; "Edited 8-Sep-2025 09:50 by rmk") (* ; "Edited 23-May-93 12:00 by rmk:") (* ; "Edited 4-May-93 02:20 by jds") (* ; "Edited 3-Feb-93 00:45 by jds") @@ -3125,7 +3344,6 @@ (DECLARE (GLOBALVARS \POSTSCRIPT.CHARTYPE) (LOCALVARS . T)) - (SETQ CHAR (MTOX$CODE CHAR)) (LET* ((IMAGEDATA (fetch (STREAM IMAGEDATA) of STREAM)) (XPOS (fetch (\POSTSCRIPTDATA POSTSCRIPTX) of IMAGEDATA)) (FONT (ffetch (\POSTSCRIPTDATA POSTSCRIPTFONT) of IMAGEDATA)) @@ -3182,9 +3400,9 @@ (BOUT STREAM (CHARCODE \)) (BOUT STREAM CHAR)) (BOUT STREAM CHAR] - [(SETQ MAPPING (GETHASH CHAR *POSTSCRIPT-NS-HASH*)) + [(SETQ MAPPING (GETHASH CHAR *POSTSCRIPT-MCCS-HASH*)) (* ; - "Special character that's taken care of by the NS mapping.") + "Special character that's taken care of by the MCCS mapping.") [COND ((IGREATERP (SETQ NEWXPOS (IPLUS XPOS CHARWID)) (ffetch (\POSTSCRIPTDATA POSTSCRIPTRIGHTMARGIN) of IMAGEDATA)) @@ -3258,11 +3476,14 @@ CHARWID] (LET ((OLDFONT (\DSPFONT.PSC STREAM))) (POSTSCRIPT.SHOWACCUM STREAM) - (\DSPFONT.PSC STREAM (LIST 'ZAPFDINGBATS (fetch (FONTDESCRIPTOR - FONTSIZE) - of OLDFONT) - (fetch (FONTDESCRIPTOR FONTFACE) - of OLDFONT))) + (\DSPFONT.PSC STREAM (create FONTSPEC + FSFAMILY _ 'ZAPFDINGBATS + FSSIZE _ (fetch (FONTDESCRIPTOR + FONTSIZE) + of OLDFONT) + FSFACE _ (fetch (FONTDESCRIPTOR + FONTFACE) + of OLDFONT))) (\UPDATE.PSC STREAM IMAGEDATA) (POSTSCRIPT.OUTSTR STREAM " bboxchk ") (\DSPFONT.PSC STREAM OLDFONT))) @@ -3301,7 +3522,8 @@ CHAR]) (\POSTSCRIPT.PRINTSLUG - [LAMBDA (STREAM CHAR) (* ; "Edited 9-May-93 21:55 by rmk:") + [LAMBDA (STREAM CHAR) (* ; "Edited 1-Sep-2026 12:18 by rmk") + (* ; "Edited 9-May-93 21:55 by rmk:") (* ; "Edited 4-May-93 02:20 by jds") (* ; "Edited 3-Feb-93 00:45 by jds") @@ -3313,8 +3535,8 @@ (FETCH (\POSTSCRIPTDATA POSTSCRIPTY) OF IMAGEDATA) (\FGETWIDTH (FFETCH (\POSTSCRIPTDATA POSTSCRIPTWIDTHS) OF IMAGEDATA) (\CHAR8CODE CHAR)) - (FETCH (FONTDESCRIPTOR \SFAscent) OF (FETCH (\POSTSCRIPTDATA POSTSCRIPTFONT) - OF IMAGEDATA)) + (FETCH (FONTDESCRIPTOR FONTASCENT) OF (FETCH (\POSTSCRIPTDATA POSTSCRIPTFONT) + OF IMAGEDATA)) 'PAINT) (\MOVETO.PSC STREAM (IPLUS (FETCH (\POSTSCRIPTDATA POSTSCRIPTX) OF IMAGEDATA) (\FGETWIDTH (FFETCH (\POSTSCRIPTDATA POSTSCRIPTWIDTHS) @@ -3323,7 +3545,8 @@ (FETCH (\POSTSCRIPTDATA POSTSCRIPTY) OF IMAGEDATA]) (\POSTSCRIPT.SPECIALOUTCHARFN - [LAMBDA (STREAM CHAR FAMILY) (* ; "Edited 23-May-93 13:31 by rmk:") + [LAMBDA (STREAM CHAR FAMILY) (* ; "Edited 3-Sep-2026 23:25 by rmk") + (* ; "Edited 23-May-93 13:31 by rmk:") (* ; "Edited 4-May-93 02:20 by jds") (* ; "Edited 3-Feb-93 00:45 by jds") @@ -3333,8 +3556,10 @@ (LET* [(IMAGEDATA (fetch (STREAM IMAGEDATA) of STREAM)) (OLDFONT (AND FAMILY (\DSPFONT.PSC STREAM] (CL:WHEN OLDFONT - (\DSPFONT.PSC STREAM (LIST FAMILY (fetch (FONTDESCRIPTOR FONTSIZE) of OLDFONT) - (fetch (FONTDESCRIPTOR FONTFACE) of OLDFONT)))) + (\DSPFONT.PSC STREAM (create FONTSPEC + FSFAMILY _ FAMILY + FSSIZE _ (fetch (FONTDESCRIPTOR FONTSIZE) of OLDFONT) + FSFACE _ (fetch (FONTDESCRIPTOR FONTFACE) of OLDFONT)))) (CL:UNLESS (ffetch (\POSTSCRIPTDATA POSTSCRIPTCHARSTOSHOW) of IMAGEDATA) (\UPDATE.PSC STREAM IMAGEDATA) (BOUT STREAM (CHARCODE %()) @@ -3405,7 +3630,8 @@ CHAR]) (\POSTSCRIPT.ACCENTPAIR - [LAMBDA (STREAM CHAR ACCENTS UNDER-ACCENTS) (* ; + [LAMBDA (STREAM CHAR ACCENTS UNDER-ACCENTS) (* ; "Edited 1-Sep-2026 12:19 by rmk") + (* ;  "Edited 17-Aug-93 17:02 by sybalskY:MV:ENVOS") (* ; "Edited 3-Feb-93 01:29 by jds") @@ -3442,7 +3668,7 @@ (POSTSCRIPT.PUTCOMMAND STREAM " 0 ")) ((ILESSP CHAR (CHARCODE a)) (* ;  "upper case, so adjust offset for accent") - (POSTSCRIPT.PUTCOMMAND STREAM " " (/ (fetch \SFAscent of FONT) + (POSTSCRIPT.PUTCOMMAND STREAM " " (/ (fetch FONTASCENT of FONT) 3.0) " ")) (T (POSTSCRIPT.PUTCOMMAND STREAM " 0 "))) @@ -3496,59 +3722,59 @@ -(* ;; "The mapping of NS characters to Postscript renderings, both as an AList and as a hashtable") +(* ;; "The mapping of MCCS characters to Postscript renderings, both as an AList and as a hashtable") (DEFINEQ -(\POSTSCRIPT.NSHASH - [LAMBDA (MAPPING-LIST) (* ; - "Edited 30-Jul-93 14:46 by sybalskY:MV:ENVOS") - (* ; "Edited 4-May-93 02:21 by jds") +(\POSTSCRIPT.MCCSHASH + [LAMBDA (MAPPING-LIST) (* ; "Edited 30-Aug-2026 21:37 by rmk") + (* ; + "Edited 30-Jul-93 14:46 by sybalskY:MV:ENVOS") + (* ; "Edited 4-May-93 02:21 by jds") (* ; "Edited 3-Feb-93 00:33 by jds") (for MAPPING in MAPPING-LIST unless (EQ (CAR MAPPING) - '*) - do (* ; - "Skip comments in the mapping list.") - (LET [(CHARCODE (CHARCODE.DECODE (CAR MAPPING] - - (* ;; "Fill in the translation entry for this character:") - - (PUTHASH CHARCODE - [DESTRUCTURING-BIND - (KIND CODE2 BASECHAR UNDERACCENTS) - (SETQ MAPPING (CDR MAPPING)) - (CONS KIND (SELECTQ KIND - ((SYMBOL NIL DINGBAT) - (CONS (CHARCODE.DECODE CODE2))) - (FUNCTION (CONS CODE2)) - ((ACCENT ACCENTPAIR) - (LIST (CHARCODE.DECODE CODE2) - (CHARCODE.DECODE BASECHAR) - (AND UNDERACCENTS (CHARCODE.DECODE UNDERACCENTS)) - )) - (APPLY* (* ; - "Apply setup function to coerce argument data") + '*) + do (* ; + "Skip comments in the mapping list.") + (LET [(CHARCODE (CHARCODE.DECODE (CAR MAPPING] + + (* ;; "Fill in the translation entry for this character:") + + (PUTHASH CHARCODE + [DESTRUCTURING-BIND + (KIND CODE2 BASECHAR UNDERACCENTS) + (SETQ MAPPING (CDR MAPPING)) + (CONS KIND (SELECTQ KIND + ((SYMBOL NIL DINGBAT) + (CONS (CHARCODE.DECODE CODE2))) + (FUNCTION (CONS CODE2)) + ((ACCENT ACCENTPAIR) + (LIST (CHARCODE.DECODE CODE2) + (CHARCODE.DECODE BASECHAR) + (AND UNDERACCENTS (CHARCODE.DECODE UNDERACCENTS)))) + (APPLY* (* ; + "Apply setup function to coerce argument data") (* ;; "MAPPING is of the form ('APPLY* DATA PRINTFN WIDTHFN SETUPFN) PRINTFN gets applied to stream and result of applying SETUPFN to DATA. WIDTHFN gets applied to coerced data and fontdescriptor") - (LIST (APPLY* (OR (CAR (CDDDDR MAPPING)) - (FUNCTION CL:IDENTITY)) - (CADR MAPPING)) - (CADDR MAPPING) - (CADDDR MAPPING))) - (ERROR "UNRECOGNIZED POSTSCRIPT CHARACTER TYPE" MAPPING] - *POSTSCRIPT-NS-HASH*) + (LIST (APPLY* (OR (CAR (CDDDDR MAPPING)) + (FUNCTION CL:IDENTITY)) + (CADR MAPPING)) + (CADDR MAPPING) + (CADDDR MAPPING))) + (ERROR "UNRECOGNIZED POSTSCRIPT CHARACTER TYPE" MAPPING] + *POSTSCRIPT-MCCS-HASH*) - (* ;; "If this character is in the lower 127, we need to mark it for special handling in \POSTSCRIPT.CHARTYPE, by putting a T in the array at the charcode's position:") + (* ;; "If this character is in the lower 127, we need to mark it for special handling in \POSTSCRIPT.CHARTYPE, by putting a T in the array at the charcode's position:") - (CL:WHEN (<= CHARCODE 254) - (CL:SETF (CL:AREF \POSTSCRIPT.CHARTYPE CHARCODE) - T))]) + (CL:WHEN (<= CHARCODE 254) + (CL:SETF (CL:AREF \POSTSCRIPT.CHARTYPE CHARCODE) + T))]) ) (RPAQQ *POSTSCRIPT-UNACCENTED-FONTS* (Dancer ZapfDingbats "Dancer" "ZapfDingbats")) -(RPAQQ *POSTSCRIPT-NS-TRANSLATIONS* +(RPAQQ *POSTSCRIPT-MCCS-TRANSLATIONS* ( (* ;; "Mapping of NS characters to Postscript renderings.") @@ -4069,7 +4295,7 @@ (* ; "integralcenter"))) (DECLARE%: DOEVAL@COMPILE DONTCOPY -(GLOBALVARS *POSTSCRIPT-NS-HASH*) +(GLOBALVARS *POSTSCRIPT-MCCS-HASH*) ) (DECLARE%: EVAL@COMPILE DONTCOPY (DECLARE%: EVAL@COMPILE @@ -4279,10 +4505,6 @@ (\PS.SCALE0 100) (\PS.TEMPARRAYLEN 20)) ) -(DECLARE%: DOEVAL@COMPILE DONTCOPY - -(GLOBALVARS POSTSCRIPTFONTEXTENSIONS POSTSCRIPTFONTDIRECTORIES) -) (RPAQ? POSTSCRIPT.BITMAP.SCALE 1) @@ -4298,45 +4520,6 @@ (RPAQ? POSTSCRIPT.TEXTURE.SCALE 4) -(RPAQ? POSTSCRIPTFONTDIRECTORIES (LIST "{MEDLEY}/fonts/postscriptfonts")) - -(RPAQ? POSTSCRIPTFONTEXTENSIONS '(PSCFONT PF PSC)) - -(RPAQ? POSTSCRIPTFONTCOERCIONS - '((HELVETICA (HELVETICA 1)) - (HELVETICAD (HELVETICA 1)) - (TIMESROMAN (TIMES 1)) - (TIMESROMAND (TIMES 1)) - (COURIER (COURIER 1)) - (GACHA (COURIER 1)) - (CLASSIC (NEWCENTURYSCHLBK 1)) - (MODERN (HELVETICA 1)) - (CREAM (HELVETICA 1)) - (TERMINAL (COURIER 1)) - (LOGO (HELVETICA 1)) - (OPTIMA (PALATINO 1)) - (TITAN (COURIER 1)) - (* CLASSIC) - (* (* 1)))) - -(RPAQ? POSTSCRIPTCHARCOERCIONS NIL) - -(RPAQ? \POSTSCRIPT.MAX.WILD.FONTSIZE 72) - -(ADDTOVAR POSTSCRIPT.FONT.ALIST (HELVETICA . HELVETICA) - (HELVETICAD . HELVETICA) - (TIMESROMAN . TIMES) - (TIMESROMAND . TIMES) - (COURIER . COURIER) - (GACHA . COURIER) - (CLASSIC . NEWCENTURYSCHLBK) - (MODERN . HELVETICA) - (CREAM . HELVETICA) - (TERMINAL . COURIER) - (LOGO . HELVETICA) - (OPTIMA . PALATINO) - (TITAN . COURIER)) - (ADDTOVAR PRINTFILETYPES (POSTSCRIPT (TEST POSTSCRIPTFILEP) (EXTENSION (PS PSC PSF POSTSCRIPT)) (BITMAPSCALE POSTSCRIPT.BITMAPSCALE) @@ -4344,10 +4527,9 @@ ROTATION TITLE)))) (ADDTOVAR IMAGESTREAMTYPES (POSTSCRIPT (OPENSTREAM OPENPOSTSCRIPTSTREAM) - (FONTCREATE POSTSCRIPT.FONTCREATE) (FONTSAVAILABLE POSTSCRIPT.FONTSAVAILABLE) - (CREATECHARSET \CREATECHARSET.PSC) - (FONTEXISTS? POSTSCRIPT.FONTEXISTS?))) + (FONTCREATE POSTSCRIPT.FONTCREATE) + (CREATECHARSET POSTSCRIPT.CHARSET))) (RPAQ? POSTSCRIPT.PAGETYPE 'LETTER) @@ -4369,9 +4551,8 @@ (-0.1 -0.1 8.7 11.2))) (DECLARE%: DOEVAL@COMPILE DONTCOPY -(GLOBALVARS DEFAULTPRINTINGHOST POSTSCRIPT.BITMAP.SCALE POSTSCRIPT.EOL POSTSCRIPT.FONT.ALIST - POSTSCRIPT.PREFER.LANDSCAPE POSTSCRIPT.TEXTFILE.LANDSCAPE POSTSCRIPT.TEXTURE.SCALE - POSTSCRIPTFONTDIRECTORIES \POSTSCRIPT.JOB.SETUP \POSTSCRIPT.MAX.WILD.FONTSIZE +(GLOBALVARS DEFAULTPRINTINGHOST POSTSCRIPT.BITMAP.SCALE POSTSCRIPT.EOL POSTSCRIPT.PREFER.LANDSCAPE + POSTSCRIPT.TEXTFILE.LANDSCAPE POSTSCRIPT.TEXTURE.SCALE \POSTSCRIPT.JOB.SETUP \POSTSCRIPT.ORIENTATION.MENU \POSTSCRIPTIMAGEOPS POSTSCRIPT.PAGETYPE POSTSCRIPT.PAGEREGIONS) ) (DECLARE%: DONTEVAL@LOAD DOCOPY @@ -4391,37 +4572,38 @@ (ADDTOVAR LAMA POSTSCRIPT.PUTCOMMAND) ) (DECLARE%: DONTCOPY - (FILEMAP (NIL (22135 32454 (POSTSCRIPT.INIT 22145 . 29060) (POSTSCRIPT.PUTRGBCOLOR 29062 . 30084) ( -\PSC.COLOR.TO.RGB 30086 . 32452)) (33440 69285 (PSCFONT.READFONT 33450 . 35461) (PSCFONT.SPELLFILE -35463 . 36276) (PSCFONT.COERCEFILE 36278 . 37850) (PSCFONTFROMCACHE.SPELLFILE 37852 . 38837) ( -PSCFONTFROMCACHE.COERCEFILE 38839 . 40491) (PSCFONT.WRITEFONT 40493 . 41508) (READ-AFM-FILE 41510 . -47381) (CONVERT-AFM-FILES 47383 . 48595) (POSTSCRIPT.GETFONTID 48597 . 49992) (POSTSCRIPT.FONTCREATE -49994 . 63208) (\POSTSCRIPT.SPECIALFONT.SCALEDWIDTHS 63210 . 65607) (POSTSCRIPT.FONTSAVAILABLE 65609 - . 67896) (POSTSCRIPT.FONTEXISTS? 67898 . 69283)) (69286 79195 (OPENPOSTSCRIPTSTREAM 69296 . 78861) ( -CLOSEPOSTSCRIPTSTREAM 78863 . 79193)) (79240 85566 (POSTSCRIPT.HARDCOPYW 79250 . 82357) ( -POSTSCRIPT.TEDIT 82359 . 82811) (POSTSCRIPTFILEP 82813 . 84301) (MAKEEPSFILE 84303 . 85564)) (85567 -129311 (POSTSCRIPT.BITMAPSCALE 85577 . 88033) (POSTSCRIPT.CLOSESTRING 88035 . 88588) ( -POSTSCRIPT.ENDPAGE 88590 . 89481) (POSTSCRIPT.OUTSTR 89483 . 90700) (POSTSCRIPT.PUTBITMAPBYTES 90702 - . 99173) (POSTSCRIPT.PUTCOMMAND 99175 . 100164) (POSTSCRIPT.SET-FAKE-LANDSCAPE 100166 . 104686) ( -POSTSCRIPT.SHOWACCUM 104688 . 106843) (POSTSCRIPT.STARTPAGE 106845 . 109547) (\POSTSCRIPTTAB 109549 . -110346) (\PS.BOUTFIXP 110348 . 111628) (\PS.SCALEHACK 111630 . 114273) (\PS.SCALEREGION 114275 . -114835) (\SCALEDBITBLT.PSC 114837 . 119147) (\SETPOS.PSC 119149 . 119630) (\SETXFORM.PSC 119632 . -122216) (\STRINGWIDTH.PSC 122218 . 122691) (\SWITCHFONTS.PSC 122693 . 128185) (\TERPRI.PSC 128187 . -129309)) (129346 183202 (\BITBLT.PSC 129356 . 129908) (\BLTSHADE.PSC 129910 . 134571) (\CHARWIDTH.PSC -134573 . 135080) (\CREATECHARSET.PSC 135082 . 136438) (\DRAWARC.PSC 136440 . 138818) (\DRAWCIRCLE.PSC -138820 . 141071) (\DRAWCURVE.PSC 141073 . 144917) (\DRAWELLIPSE.PSC 144919 . 147283) (\DRAWLINE.PSC -147285 . 150025) (\DRAWPOINT.PSC 150027 . 150603) (\DRAWPOLYGON.PSC 150605 . 153734) ( -\DSPBOTTOMMARGIN.PSC 153736 . 154423) (\DSPCLIPPINGREGION.PSC 154425 . 155800) (\DSPCOLOR.PSC 155802 - . 156733) (\DSPFONT.PSC 156735 . 160372) (\DSPLEFTMARGIN.PSC 160374 . 161060) (\DSPLINEFEED.PSC -161062 . 161652) (\DSPPUSHSTATE.PSC 161654 . 163114) (\DSPPOPSTATE.PSC 163116 . 166601) (\DSPRESET.PSC - 166603 . 167268) (\DSPRIGHTMARGIN.PSC 167270 . 167959) (\DSPROTATE.PSC 167961 . 168960) ( -\DSPSCALE.PSC 168962 . 169914) (\DSPSCALE2.PSC 169916 . 170756) (\DSPSPACEFACTOR.PSC 170758 . 171679) -(\DSPTOPMARGIN.PSC 171681 . 172252) (\DSPTRANSLATE.PSC 172254 . 174285) (\DSPXPOSITION.PSC 174287 . -174851) (\DSPYPOSITION.PSC 174853 . 175444) (\FILLCIRCLE.PSC 175446 . 177671) (\FILLPOLYGON.PSC 177673 - . 180910) (\FIXLINELENGTH.PSC 180912 . 182231) (\MOVETO.PSC 182233 . 183003) (\NEWPAGE.PSC 183005 . -183200)) (183258 205404 (\POSTSCRIPT.CHANGECHARSET 183268 . 183986) (\POSTSCRIPT.OUTCHARFN 183988 . -196258) (\POSTSCRIPT.PRINTSLUG 196260 . 197984) (\POSTSCRIPT.SPECIALOUTCHARFN 197986 . 200337) ( -\UPDATE.PSC 200339 . 201585) (\POSTSCRIPT.ACCENTFN 201587 . 202529) (\POSTSCRIPT.ACCENTPAIR 202531 . -205402)) (205502 207147 (\PSC.SPACEDISP 205512 . 205791) (\PSC.SPACEWID 205793 . 206412) (\PSC.SYMBOLS - 206414 . 207145)) (207256 210247 (\POSTSCRIPT.NSHASH 207266 . 210245))))) + (FILEMAP (NIL (23187 33586 (POSTSCRIPT.INIT 23197 . 30192) (POSTSCRIPT.PUTRGBCOLOR 30194 . 31216) ( +\PSC.COLOR.TO.RGB 31218 . 33584)) (33826 51060 (POSTSCRIPT.FONTSAVAILABLE 33836 . 37038) ( +PSCFONT.FILEP 37040 . 37227) (POSTSCRIPT.CHARSET 37229 . 39210) (POSTSCRIPT.FONTCREATE 39212 . 42266) +(PSCFONT.TO.MEDLEYFONT 42268 . 51058)) (51061 62588 (PSCFONT.READFONT 51071 . 53082) ( +PSCFONT.WRITEFONT 53084 . 54099) (READ-AFM-FILE 54101 . 59972) (CONVERT-AFM-FILES 59974 . 61186) ( +POSTSCRIPT.GETFONTID 61188 . 62586)) (62589 63957 (\CREATECHARSET.PSC 62599 . 63955)) (64016 82071 ( +OLDPOSTSCRIPT.FONTCREATE 64026 . 77231) (\POSTSCRIPT.SPECIALFONT.SCALEDWIDTHS 77233 . 78727) ( +PSCFONT.COERCEFILE 78729 . 81062) (PSCFONT.SPELLFILE 81064 . 82069)) (84953 95040 ( +OPENPOSTSCRIPTSTREAM 84963 . 94528) (CLOSEPOSTSCRIPTSTREAM 94530 . 95038)) (95085 101411 ( +POSTSCRIPT.HARDCOPYW 95095 . 98202) (POSTSCRIPT.TEDIT 98204 . 98656) (POSTSCRIPTFILEP 98658 . 100146) +(MAKEEPSFILE 100148 . 101409)) (101412 145441 (POSTSCRIPT.BITMAPSCALE 101422 . 103878) ( +POSTSCRIPT.CLOSESTRING 103880 . 104433) (POSTSCRIPT.ENDPAGE 104435 . 105326) (POSTSCRIPT.OUTSTR 105328 + . 106545) (POSTSCRIPT.PUTBITMAPBYTES 106547 . 115018) (POSTSCRIPT.PUTCOMMAND 115020 . 116009) ( +POSTSCRIPT.SET-FAKE-LANDSCAPE 116011 . 120531) (POSTSCRIPT.SHOWACCUM 120533 . 122688) ( +POSTSCRIPT.STARTPAGE 122690 . 125392) (\POSTSCRIPTTAB 125394 . 126191) (\PS.BOUTFIXP 126193 . 127473) +(\PS.SCALEHACK 127475 . 130118) (\PS.SCALEREGION 130120 . 130680) (\SCALEDBITBLT.PSC 130682 . 134992) +(\SETPOS.PSC 134994 . 135475) (\SETXFORM.PSC 135477 . 138061) (\STRINGWIDTH.PSC 138063 . 138536) ( +\SWITCHFONTS.PSC 138538 . 144203) (\TERPRI.PSC 144205 . 145439)) (145476 198208 (\BITBLT.PSC 145486 . +146038) (\BLTSHADE.PSC 146040 . 150701) (\CHARWIDTH.PSC 150703 . 151210) (\DRAWARC.PSC 151212 . 153590 +) (\DRAWCIRCLE.PSC 153592 . 155843) (\DRAWCURVE.PSC 155845 . 159689) (\DRAWELLIPSE.PSC 159691 . 162055 +) (\DRAWLINE.PSC 162057 . 164797) (\DRAWPOINT.PSC 164799 . 165375) (\DRAWPOLYGON.PSC 165377 . 168506) +(\DSPBOTTOMMARGIN.PSC 168508 . 169195) (\DSPCLIPPINGREGION.PSC 169197 . 170572) (\DSPCOLOR.PSC 170574 + . 171505) (\DSPFONT.PSC 171507 . 175378) (\DSPLEFTMARGIN.PSC 175380 . 176066) (\DSPLINEFEED.PSC +176068 . 176658) (\DSPPUSHSTATE.PSC 176660 . 178120) (\DSPPOPSTATE.PSC 178122 . 181607) (\DSPRESET.PSC + 181609 . 182274) (\DSPRIGHTMARGIN.PSC 182276 . 182965) (\DSPROTATE.PSC 182967 . 183966) ( +\DSPSCALE.PSC 183968 . 184920) (\DSPSCALE2.PSC 184922 . 185762) (\DSPSPACEFACTOR.PSC 185764 . 186685) +(\DSPTOPMARGIN.PSC 186687 . 187258) (\DSPTRANSLATE.PSC 187260 . 189291) (\DSPXPOSITION.PSC 189293 . +189857) (\DSPYPOSITION.PSC 189859 . 190450) (\FILLCIRCLE.PSC 190452 . 192677) (\FILLPOLYGON.PSC 192679 + . 195916) (\FIXLINELENGTH.PSC 195918 . 197237) (\MOVETO.PSC 197239 . 198009) (\NEWPAGE.PSC 198011 . +198206)) (198264 221424 (\POSTSCRIPT.CHANGECHARSET 198274 . 198992) (\POSTSCRIPT.OUTCHARFN 198994 . +211819) (\POSTSCRIPT.PRINTSLUG 211821 . 213656) (\POSTSCRIPT.SPECIALOUTCHARFN 213658 . 216247) ( +\UPDATE.PSC 216249 . 217495) (\POSTSCRIPT.ACCENTFN 217497 . 218439) (\POSTSCRIPT.ACCENTPAIR 218441 . +221422)) (221522 223167 (\PSC.SPACEDISP 221532 . 221811) (\PSC.SPACEWID 221813 . 222432) (\PSC.SYMBOLS + 222434 . 223165)) (223278 226261 (\POSTSCRIPT.MCCSHASH 223288 . 226259))))) STOP diff --git a/library/POSTSCRIPTSTREAM.LCOM b/library/POSTSCRIPTSTREAM.LCOM index 86a78fe8ae6b3015153535e63db919104af093dd..abd1f74bca7f89969bed6d6eedfbedd7c5ab76b1 100644 GIT binary patch delta 13931 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 z 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 Date: Fri, 4 Sep 2026 00:58:30 -0700 Subject: [PATCH 03/30] left out LOADUP-FULL --- internal/loadups/LOADUP-FULL | 28 ++++++++++++++++++---------- 1 file changed, 18 insertions(+), 10 deletions(-) diff --git a/internal/loadups/LOADUP-FULL b/internal/loadups/LOADUP-FULL index d123066ac..7093d30c6 100644 --- a/internal/loadups/LOADUP-FULL +++ b/internal/loadups/LOADUP-FULL @@ -1,22 +1,23 @@ (DEFINE-FILE-INFO :PACKAGE "INTERLISP" :READTABLE "INTERLISP" :BASE 10) -(FILECREATED "27-Jul-2026 17:29:13" {DSK}larry>il>medley>internal>loadups>LOADUP-FULL.;2 5629 +(FILECREATED " 2-Sep-2026 22:30:07" {WMEDLEY}loadups>LOADUP-FULL.;48 5954 - :EDIT-BY "lmm" + :EDIT-BY rmk - :CHANGES-TO (VARS LOADUP-FULLCOMS) + :CHANGES-TO (FNS LOADFULLFONTS) - :PREVIOUS-DATE "28-Apr-2026 10:01:06" -{DSK}larry>il>medley>internal>loadups>LOADUP-FULL.;1) + :PREVIOUS-DATE "28-Apr-2026 10:01:06" {WMEDLEY}loadups>LOADUP-FULL.;47) (PRETTYCOMPRINT LOADUP-FULLCOMS) -(RPAQQ LOADUP-FULLCOMS ((FNS LOADFULLFONTS LOADUP-FULL))) +(RPAQQ LOADUP-FULLCOMS ((FNS LOADFULLFONTS LOADUP-FULL FIXMETA) + (P (FIXMETA)))) (DEFINEQ (LOADFULLFONTS - [LAMBDA NIL (* ; "Edited 16-Apr-2026 09:37 by rmk") + [LAMBDA NIL (* ; "Edited 2-Sep-2026 22:29 by rmk") + (* ; "Edited 16-Apr-2026 09:37 by rmk") (* ; "Edited 20-Sep-2025 14:17 by rmk") (* ; "Edited 2-Sep-2025 20:06 by rmk") (* ; "Edited 13-Jul-2025 11:40 by rmk") @@ -40,8 +41,7 @@ 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)) + (for FS in (FONTSAVAILABLE '* 0 '* '* 'POSTSCRIPT 'ONLY) do (FONTCREATE FS)) (PRINTOUT T "FULL fonts loaded" T]) (LOADUP-FULL @@ -91,7 +91,15 @@ ((WINDOWP *WHO-LINE*) (CLOSEW *WHO-LINE*))) (DRIBBLE]) + +(FIXMETA + [LAMBDA NIL (* ; "Edited 25-Jun-2017 17:12 by rmk:") + (KEYACTION 'BLANK-TOP '(METADOWN . METAUP) + \CURRENTKEYACTION) + (KEYACTION 'BLANK-TOP '(METADOWN . METAUP]) ) + +(FIXMETA) (DECLARE%: DONTCOPY - (FILEMAP (NIL (452 5606 (LOADFULLFONTS 462 . 2445) (LOADUP-FULL 2447 . 5604))))) + (FILEMAP (NIL (458 5916 (LOADFULLFONTS 468 . 2507) (LOADUP-FULL 2509 . 5666) (FIXMETA 5668 . 5914))))) STOP From d3f822f06e4d8cc64ff53091958be0fc656ad795 Mon Sep 17 00:00:00 2001 From: rmkaplan Date: Fri, 4 Sep 2026 00:59:09 -0700 Subject: [PATCH 04/30] =?UTF-8?q?Cleanup=20some=20funky=20names=20(\SFAsce?= =?UTF-8?q?nt=20=E2=86=92=20FONTASCENT)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lispusers/EDITFONT | 33 ++++---- lispusers/EDITFONT.LCOM | Bin 10574 -> 10549 bytes sources/IMAGEIO | 78 +++++++++---------- sources/IMAGEIO.LCOM | Bin 44866 -> 44875 bytes sources/INTERPRESS | 169 +++++++++++++++++++--------------------- sources/INTERPRESS.LCOM | Bin 56950 -> 57042 bytes 6 files changed, 138 insertions(+), 142 deletions(-) diff --git a/lispusers/EDITFONT b/lispusers/EDITFONT index 1b7f1559c..abadb9bac 100644 --- a/lispusers/EDITFONT +++ b/lispusers/EDITFONT @@ -1,13 +1,12 @@ (DEFINE-FILE-INFO :PACKAGE "INTERLISP" :READTABLE "INTERLISP" :BASE 10) -(FILECREATED "22-Aug-2026 00:35:05" {MEDLEY}EDITFONT.;57 28044 +(FILECREATED " 3-Sep-2026 00:50:34" {MEDLEY}EDITFONT.;58 28206 :EDIT-BY rmk - :CHANGES-TO (FNS EDITFONT) - (RECORDS CHARITEM) + :CHANGES-TO (FNS BLANKCHARSETCREATE) - :PREVIOUS-DATE "12-Jul-2026 14:00:05" {MEDLEY}EDITFONT.;56) + :PREVIOUS-DATE "22-Aug-2026 00:35:05" {MEDLEY}EDITFONT.;57) (PRETTYCOMPRINT EDITFONTCOMS) @@ -344,6 +343,7 @@ (BLANKCHARSETCREATE [LAMBDA (FAMILY SIZE FACE CHARSET FIRSTCHAR LASTCHAR ASCENT DESCENT WIDTH) + (* ; "Edited 3-Sep-2026 00:50 by rmk") (* ; "Edited 2-Sep-2025 23:03 by rmk") (* ; "Edited 4-Aug-2025 13:29 by rmk") (* mjs "27-Mar-85 14:48") @@ -426,12 +426,13 @@ (* ; "FONT") (\FONTRESETCHARWIDTHS CSINFO FIRSTCHAR LASTCHAR) (replace (CHARSETINFO IMAGEWIDTHS) of CSINFO with (fetch (CHARSETINFO WIDTHS) of CSINFO)) - (replace (FONTDESCRIPTOR \SFAscent) of FONT with ASCENT) - (replace (FONTDESCRIPTOR \SFDescent) of FONT with DESCENT) - (replace (FONTDESCRIPTOR \SFHeight) of FONT with (IMAX (OR (fetch (FONTDESCRIPTOR \SFHeight - ) of FONT) - 0) - CBHEIGHT)) + (replace (FONTDESCRIPTOR FONTASCENT) of FONT with ASCENT) + (replace (FONTDESCRIPTOR FONTDESCENT) of FONT with DESCENT) + (replace (FONTDESCRIPTOR FONTHEIGHT) of FONT with (IMAX (OR (fetch (FONTDESCRIPTOR + FONTHEIGHT) + of FONT) + 0) + CBHEIGHT)) (\SETCHARSETINFO (fetch (FONTDESCRIPTOR FONTCHARSETVECTOR) of FONT) CHARSET CSINFO) (replace (FONTDESCRIPTOR FONTAVGCHARWIDTH) of FONT with (\AVGCHARWIDTH FONT)) @@ -520,10 +521,10 @@ (EF.INIT) (DECLARE%: DONTCOPY - (FILEMAP (NIL (1157 17541 (EF.INIT 1167 . 1996) (EF.PROMPT 1998 . 2580) (EF.MESSAGE 2582 . 2794) ( -EF.CLOSEFN 2796 . 3323) (EF.CHARITEMS 3325 . 5254) (EF.BUTTONEVENTFN 5256 . 5668) (EF.WHENSELECTEDFN -5670 . 6074) (EF.EDITBM 6076 . 7570) (EF.MIDDLEBUTTONFN 7572 . 7817) (EF.CHANGESIZE 7819 . 9148) ( -EF.DELETE 9150 . 10331) (EF.ENTER 10333 . 11274) (EF.REPLACE 11276 . 12249) (EF.SAVE 12251 . 16494) ( -EF.INSPECT 16496 . 16833) (COPYFONT 16835 . 17110) (READSTRIKEFONTFILE 17112 . 17539)) (17542 27856 ( -BLANKCHARSETCREATE 17552 . 23637) (EDITFONT 23639 . 27854))))) + (FILEMAP (NIL (1130 17514 (EF.INIT 1140 . 1969) (EF.PROMPT 1971 . 2553) (EF.MESSAGE 2555 . 2767) ( +EF.CLOSEFN 2769 . 3296) (EF.CHARITEMS 3298 . 5227) (EF.BUTTONEVENTFN 5229 . 5641) (EF.WHENSELECTEDFN +5643 . 6047) (EF.EDITBM 6049 . 7543) (EF.MIDDLEBUTTONFN 7545 . 7790) (EF.CHANGESIZE 7792 . 9121) ( +EF.DELETE 9123 . 10304) (EF.ENTER 10306 . 11247) (EF.REPLACE 11249 . 12222) (EF.SAVE 12224 . 16467) ( +EF.INSPECT 16469 . 16806) (COPYFONT 16808 . 17083) (READSTRIKEFONTFILE 17085 . 17512)) (17515 28018 ( +BLANKCHARSETCREATE 17525 . 23799) (EDITFONT 23801 . 28016))))) STOP diff --git a/lispusers/EDITFONT.LCOM b/lispusers/EDITFONT.LCOM index 28407f31be63c30984e3e6b8a3d75402141cd229..4cf3d285ed533b0b1ba42a81b6e38472a4563cdc 100644 GIT binary patch delta 1277 zcmZuwOK;Oa5RP5Mqde4-0wrl-8VsZrjW%8IB=*G zA#p&QfW31-h%1Gt2ni%ha0y6-9ysI&a4ZMJ4+!ffv?-}2?|5gv`M%ll>^E!GdNS1o zc+j3*8WfQj2ZRzal)%!{1yoY{p*;lRc2E=(IGTuxAt>CLy>|QN(%j-~5oYf%-MM=< z0Yj#i8B306maRKUOV=D7=59eKJz<*A%o2%2LQuSVkEQNLFXB*tdpK>Fr}R2Y3PQV8 zNFyBVQ$SQi6sHp$gj)6cA(6H8NrOz-gDF-I?dIfim7^z)OE3jl5HT2@L7OJ3&<7_s z_@5`~?Z71-b<$4(;o{5Dj?qr;C=ovU*z=qS*FD?rEqUPq5x9cSB?8YCc+W7qXVdcB zdvDA0R0;}oCK&9iEmY^~Y29v-ba$O{i;K0j!)|e}$2Gs!P9Fya?je009HEDM`bu3S zOwRo&;|vL}n`=xYyznC*UisDbiUjgK?u|zzz%fe#d_Lfk9t_Xk)MjqHsTKUg9eS$M z-%SSER*(4?Yx+X9ldrSAJ?~#}xIA)6gk1Pj{+S_>b%H$d2qTZUWPr~PtbFw(^G%wS zkBhbWe;j4M7as1|E@{I*wt0px{0!4dZ2@7N)m&X?>w3lKB~^UYtt@(|SIRZc==UJx z$X0A+!+(qOHPv0-1u?p*Svj!UHeZ*o9LxjjEc|}q5-1#^%e|-Rhu(K3RYj1~CWpPr zoHA0*2q2Stj*kl~DL*~TzSNCi`~9l#8h(@c{j zhuAv?7^{#o4Lhq_7O?<}Q84w)FjEp$ydToWWeda@J#hL;NmV59lvBE$w2Z97;Hr#T zTyfmulEfAlj<>kj4gQ}#DsQ_=4M`+JgwzOMmP+D5XC5pBRov4%-mU8Sf0zyOvB8><(2!FqM&Pr9VbZ} z<`#jEkC`S^*9L<@9;RbS;TZK5ALe970t4a1FYFY$kJvFkbU&pM;Wd1UbRFslU_b_Rx6eg(farEX*D8wB@Hs+xZ^)ge^X!Z#svXxqP;m ztt-qIex5m00)_y(-^sT$lK|;G$caf3*fqa0)xiAsOn?Tude#zm-xf`8qCwXhz3rsG zZoAo=E$Z`yM((I+>#}##c4u&&AQC*t{YnzFOR&R%7zfIeelF9$`Q;?@=FW#~@m`rC z=XF*S4HeErGekB@~uC-l)5-S5@}B!pp79Zxt%WWvzwAyC+B zo^%eVrKfefl23zzL>M&f^pL9QAV)9^8uqA~Iy#6Ti6Jo6v<(u2O{%6zVuS1+0a0dr z)v?6ZO(UJsEvubaAYxXiClgE>D-nnr*Db&i`lIKj;|_siMbpzU%ShP_t|;M}l&sXG z!g6g2*Q7$VDdw)MxK@@F#lugCwZllp3F}bgWQ>#(vCOt%=_ylGJ%MEY^Q_?V^oD9APFbcMMIMAGEIO.;66 101482 +(FILECREATED "27-Aug-2026 21:29:36" {MEDLEY}IMAGEIO.;69 101505 :EDIT-BY rmk - :CHANGES-TO (FNS CONVERT.TO.IMAGEFILE IMAGEFILEPROP) + :CHANGES-TO (ALISTS (IMAGESTREAMTYPES DISPLAY)) - :PREVIOUS-DATE " 3-Aug-2026 23:05:47" {MEDLEY}IMAGEIO.;64) + :PREVIOUS-DATE " 6-Aug-2026 22:37:30" {MEDLEY}IMAGEIO.;66) (PRETTYCOMPRINT IMAGEIOCOMS) @@ -1853,23 +1853,23 @@ ) (ADDTOVAR IMAGESTREAMTYPES - (DISPLAY (FONTCREATE \CREATEDISPLAYFONT) + (DISPLAY (FONTCREATE \CREATEFONT.DISPLAY) (OPENSTREAM OPENDISPLAYSTREAM) - (FONTSAVAILABLE \SEARCHFONTFILES) + (FONTSAVAILABLE FONTSAVAILABLE.DISPLAY) (CREATECHARSET \CREATECHARSET.DISPLAY) (FONTEXISTS? \FONTEXISTS?.DISPLAY)) - (4DISPLAY (FONTCREATE \CREATEDISPLAYFONT) + (4DISPLAY (FONTCREATE \CREATEFONT.DISPLAY) (OPENSTREAM OPENDISPLAYSTREAM) - (FONTSAVAILABLE \SEARCHFONTFILES) + (FONTSAVAILABLE FONTSAVAILABLE.DISPLAY) (FONTEXISTS? \FONTEXISTS?.DISPLAY)) - (8DISPLAY (FONTCREATE \CREATEDISPLAYFONT) + (8DISPLAY (FONTCREATE \CREATEFONT.DISPLAY) (OPENSTREAM OPENDISPLAYSTREAM) (FONTCREATE \CREATEDISPLAYFONT) - (FONTSAVAILABLE \SEARCHFONTFILES) + (FONTSAVAILABLE FONTSAVAILABLE.DISPLAY) (FONTEXISTS? \FONTEXISTS?.DISPLAY)) - (24DISPLAY (FONTCREATE \CREATEDISPLAYFONT) + (24DISPLAY (FONTCREATE \CREATEFONT.DISPLAY) (OPENSTREAM OPENDISPLAYSTREAM) - (FONTSAVAILABLE \SEARCHFONTFILES) + (FONTSAVAILABLE FONTSAVAILABLE.DISPLAY) (CREATECHARSET \CREATECHARSET.DISPLAY) (FONTEXISTS? \FONTEXISTS?.DISPLAY))) (DECLARE%: DOEVAL@COMPILE DONTCOPY @@ -1895,32 +1895,32 @@ (ADDTOVAR LAMA IMAGESTREAMP) ) (DECLARE%: DONTCOPY - (FILEMAP (NIL (4430 6718 (OPENIMAGESTREAM 4440 . 6716)) (6719 12561 (IMAGESTREAMP 6729 . 7561) ( -IMAGESTREAMTYPE 7563 . 8079) (IMAGESTREAMTYPEP 8081 . 8716) (IMAGEFILEPROP 8718 . 9857) ( -IMAGESOURCEFILEP 9859 . 10136) (IMAGESOURCETYPE 10138 . 12559)) (12562 13853 ( -EXTENSIONS.FOR.IMAGEFILETYPE 12572 . 13214) (IMAGEFILETYPE.FROM.EXTENSION 13216 . 13851)) (13854 19220 - (CONVERT.TO.IMAGEFILE 13864 . 19218)) (19221 23312 (BITMAPFILEP 19231 . 20732) (BITMAP.TO.BITMAPFILE -20734 . 22411) (BITMAPFILE.TO.BITMAP 22413 . 23067) (BITMAPFILE.TO.IMAGEFILE 23069 . 23310)) (23313 -29638 (BITMAP.TO.IMAGEFILE 23323 . 24880) (WINDOW.TO.IMAGEFILE 24882 . 27711) ( -SCREENREGION.TO.IMAGEFILE 27713 . 28617) (COPY.WINDOW.TO.BITMAP 28619 . 29636)) (29768 30741 ( -DEFAULT.IMAGETYPE.CONVERSIONS 29778 . 30739)) (31506 31732 (HTMLFILEP 31516 . 31730)) (31767 33882 ( -\GOOD.DASHLST 31777 . 33880)) (33883 36180 (DRAWDASHEDLINE 33893 . 36178)) (36181 43521 (DSPBACKCOLOR -36191 . 36563) (DSPBOTTOMMARGIN 36565 . 36950) (DSPCOLOR 36952 . 37316) (DSPCLIPPINGREGION 37318 . -38023) (DSPRESET 38025 . 38305) (DSPFONT 38307 . 38671) (DSPLEFTMARGIN 38673 . 39054) (DSPLINEFEED -39056 . 39356) (DSPOPERATION 39358 . 39735) (DSPRIGHTMARGIN 39737 . 40120) (DSPTOPMARGIN 40122 . 40501 -) (DSPSCALE 40503 . 40870) (DSPSPACEFACTOR 40872 . 41265) (DSPXPOSITION 41267 . 41572) (DSPYPOSITION -41574 . 41879) (DSPROTATE 41881 . 42176) (DSPPUSHSTATE 42178 . 42424) (DSPPOPSTATE 42426 . 42669) ( -DSPDEFAULTSTATE 42671 . 42923) (DSPSCALE2 42925 . 43216) (DSPTRANSLATE 43218 . 43519)) (43522 52323 ( -DSPNEWPAGE 43532 . 44224) (DRAWBETWEEN 44226 . 44928) (DRAWCIRCLE 44930 . 45426) (DRAWARC 45428 . -45945) (DRAWCURVE 45947 . 46624) (DRAWELLIPSE 46626 . 47412) (DRAWLINE 47414 . 47804) (DRAWPOLYGON -47806 . 48261) (DRAWPOINT 48263 . 48682) (FILLPOLYGON 48684 . 49250) (DRAWTO 49252 . 49670) ( -FILLCIRCLE 49672 . 49895) (MOVETO 49897 . 50261) (RELDRAWTO 50263 . 51180) (BITMAPIMAGESIZE 51182 . -51353) (SCALEDBITBLT 51355 . 52321)) (52324 59363 (\DRAWPOINT.GENERIC 52334 . 52681) ( -\DRAWPOLYGON.GENERIC 52683 . 54991) (\DRAWCIRCLE.GENERIC 54993 . 56651) (\DRAWELLIPSE.GENERIC 56653 . -59361)) (59364 64308 (\IMAGEIOINIT 59374 . 62654) (\NOIMAGE.DSPFONT 62656 . 64142) (\UNIMPIMAGEOP -64144 . 64306)) (64431 67555 (INSURE.BRUSH 64441 . 65815) (BRUSHP 65817 . 66607) (\POSSIBLECOLOR 66609 - . 67160) (NEGSHADE 67162 . 67553)) (68111 68795 (DASHINGP 68121 . 68451) (INSURE.DASHING 68453 . -68793)) (79533 100079 (\DisplayEventFn 79543 . 80053) (\DISPLAYINIT 80055 . 85638) (\4DISPLAYINIT -85640 . 90341) (\8DISPLAYINIT 90343 . 95046) (\24DISPLAYINIT 95048 . 99820) (\DISPLAYSTREAMTYPEBPP -99822 . 100077))))) + (FILEMAP (NIL (4425 6713 (OPENIMAGESTREAM 4435 . 6711)) (6714 12556 (IMAGESTREAMP 6724 . 7556) ( +IMAGESTREAMTYPE 7558 . 8074) (IMAGESTREAMTYPEP 8076 . 8711) (IMAGEFILEPROP 8713 . 9852) ( +IMAGESOURCEFILEP 9854 . 10131) (IMAGESOURCETYPE 10133 . 12554)) (12557 13848 ( +EXTENSIONS.FOR.IMAGEFILETYPE 12567 . 13209) (IMAGEFILETYPE.FROM.EXTENSION 13211 . 13846)) (13849 19215 + (CONVERT.TO.IMAGEFILE 13859 . 19213)) (19216 23307 (BITMAPFILEP 19226 . 20727) (BITMAP.TO.BITMAPFILE +20729 . 22406) (BITMAPFILE.TO.BITMAP 22408 . 23062) (BITMAPFILE.TO.IMAGEFILE 23064 . 23305)) (23308 +29633 (BITMAP.TO.IMAGEFILE 23318 . 24875) (WINDOW.TO.IMAGEFILE 24877 . 27706) ( +SCREENREGION.TO.IMAGEFILE 27708 . 28612) (COPY.WINDOW.TO.BITMAP 28614 . 29631)) (29763 30736 ( +DEFAULT.IMAGETYPE.CONVERSIONS 29773 . 30734)) (31501 31727 (HTMLFILEP 31511 . 31725)) (31762 33877 ( +\GOOD.DASHLST 31772 . 33875)) (33878 36175 (DRAWDASHEDLINE 33888 . 36173)) (36176 43516 (DSPBACKCOLOR +36186 . 36558) (DSPBOTTOMMARGIN 36560 . 36945) (DSPCOLOR 36947 . 37311) (DSPCLIPPINGREGION 37313 . +38018) (DSPRESET 38020 . 38300) (DSPFONT 38302 . 38666) (DSPLEFTMARGIN 38668 . 39049) (DSPLINEFEED +39051 . 39351) (DSPOPERATION 39353 . 39730) (DSPRIGHTMARGIN 39732 . 40115) (DSPTOPMARGIN 40117 . 40496 +) (DSPSCALE 40498 . 40865) (DSPSPACEFACTOR 40867 . 41260) (DSPXPOSITION 41262 . 41567) (DSPYPOSITION +41569 . 41874) (DSPROTATE 41876 . 42171) (DSPPUSHSTATE 42173 . 42419) (DSPPOPSTATE 42421 . 42664) ( +DSPDEFAULTSTATE 42666 . 42918) (DSPSCALE2 42920 . 43211) (DSPTRANSLATE 43213 . 43514)) (43517 52318 ( +DSPNEWPAGE 43527 . 44219) (DRAWBETWEEN 44221 . 44923) (DRAWCIRCLE 44925 . 45421) (DRAWARC 45423 . +45940) (DRAWCURVE 45942 . 46619) (DRAWELLIPSE 46621 . 47407) (DRAWLINE 47409 . 47799) (DRAWPOLYGON +47801 . 48256) (DRAWPOINT 48258 . 48677) (FILLPOLYGON 48679 . 49245) (DRAWTO 49247 . 49665) ( +FILLCIRCLE 49667 . 49890) (MOVETO 49892 . 50256) (RELDRAWTO 50258 . 51175) (BITMAPIMAGESIZE 51177 . +51348) (SCALEDBITBLT 51350 . 52316)) (52319 59358 (\DRAWPOINT.GENERIC 52329 . 52676) ( +\DRAWPOLYGON.GENERIC 52678 . 54986) (\DRAWCIRCLE.GENERIC 54988 . 56646) (\DRAWELLIPSE.GENERIC 56648 . +59356)) (59359 64303 (\IMAGEIOINIT 59369 . 62649) (\NOIMAGE.DSPFONT 62651 . 64137) (\UNIMPIMAGEOP +64139 . 64301)) (64426 67550 (INSURE.BRUSH 64436 . 65810) (BRUSHP 65812 . 66602) (\POSSIBLECOLOR 66604 + . 67155) (NEGSHADE 67157 . 67548)) (68106 68790 (DASHINGP 68116 . 68446) (INSURE.DASHING 68448 . +68788)) (79528 100074 (\DisplayEventFn 79538 . 80048) (\DISPLAYINIT 80050 . 85633) (\4DISPLAYINIT +85635 . 90336) (\8DISPLAYINIT 90338 . 95041) (\24DISPLAYINIT 95043 . 99815) (\DISPLAYSTREAMTYPEBPP +99817 . 100072))))) STOP diff --git a/sources/IMAGEIO.LCOM b/sources/IMAGEIO.LCOM index 78682d9c5ec2a86ace39fa4301c1d9719ea80854..e60da02260ddecb8f1a27188f353baca23bc4df5 100644 GIT binary patch delta 480 zcmX?fkLmP1rU~I9M&`PXrRlmx21aHIMut{KmR81Q6SH+CEj1Oml#I*}k_Hx5rWRI) zh7&i6CFkXrWMt;0D`e&=D7l6D_$VMN)YH>bQbe ztBZmXRyS13a#$)D8W@@ym`;vils4jW^zjT130BbX^mTN14GsZn_6>;)a1B;)@eB^| zag5Z|RImyNat-tJ4-M9J0h&BnkFrRlmx21aHIMn+b~=2pgr6SH+C%`_Fbl#nG24XsSftPG7N zZWN1h_V){O4GPf<@z?Y8b#!-i^Yn35$jnnvatrnGQ9#zEr>Cc+kdj!Enu66hBSR%k zE)9@&=O9hwaACC%ZgW78e}JZfRX~tyn5Tbe zu&xWxAO$4_VINTERPRESS.;114 215720 +(FILECREATED " 1-Sep-2026 12:23:07" {MEDLEY}INTERPRESS.;115 215601 :EDIT-BY rmk - :CHANGES-TO (VARS INTERPRESSCOMS) - (FNS \CREATECHARSET.IP) + :CHANGES-TO (FNS \CHANGE-VISIBLE-REGION.IP \DSPFONT.IP \CREATEINTERPRESSFONT) - :PREVIOUS-DATE "26-Apr-2026 11:31:17" {MEDLEY}INTERPRESS.;111) + :PREVIOUS-DATE "26-Jul-2026 12:06:15" {MEDLEY}INTERPRESS.;114) (PRETTYCOMPRINT INTERPRESSCOMS) @@ -1228,51 +1227,45 @@ (DEFINEQ (\CHANGE-VISIBLE-REGION.IP - [LAMBDA (IPDATA VISIBLE-REGION) (* ; "Edited 18-Aug-88 16:17 by hdj") + [LAMBDA (IPDATA VISIBLE-REGION) (* ; "Edited 1-Sep-2026 12:22 by rmk") + (* ; "Edited 18-Aug-88 16:17 by hdj") (* ;; "Unpacks parameters of the visible region") (LET ((FONT (ffetch IPFONT of IPDATA))) - (freplace (INTERPRESSDATA IPVISLEFT) of IPDATA with (ffetch (REGION LEFT) - of VISIBLE-REGION)) - (freplace (INTERPRESSDATA IPVISRIGHT) of IPDATA with (ffetch (REGION RIGHT) - of VISIBLE-REGION)) - (freplace (INTERPRESSDATA IPVISTOP) of IPDATA with (ffetch (REGION TOP) - of VISIBLE-REGION)) - (freplace (INTERPRESSDATA IPVISBOTTOM) of IPDATA with (ffetch (REGION BOTTOM - ) - of VISIBLE-REGION)) + (freplace (INTERPRESSDATA IPVISLEFT) of IPDATA with (ffetch (REGION LEFT) of VISIBLE-REGION) + ) + (freplace (INTERPRESSDATA IPVISRIGHT) of IPDATA with (ffetch (REGION RIGHT) of + VISIBLE-REGION + )) + (freplace (INTERPRESSDATA IPVISTOP) of IPDATA with (ffetch (REGION TOP) of VISIBLE-REGION)) + (freplace (INTERPRESSDATA IPVISBOTTOM) of IPDATA with (ffetch (REGION BOTTOM) of + VISIBLE-REGION + )) (freplace (INTERPRESSDATA IPVISIBLEREGION) of IPDATA with VISIBLE-REGION) - (freplace IPMAXVISIBLEBASELINE of IPDATA with (- (ffetch IPVISTOP - of IPDATA) - (ffetch (FONTDESCRIPTOR - \SFAscent) - of FONT))) + (freplace IPMAXVISIBLEBASELINE of IPDATA with (- (ffetch IPVISTOP of IPDATA) + (ffetch (FONTDESCRIPTOR FONTASCENT) + of FONT))) [if (ffetch IPCLIPINCLUSIVE of IPDATA) then + (* ;; "include characters that cross the bottom of the clipping region") - (* ;; "include characters that cross the bottom of the clipping region") - - [freplace IPMINVISIBLEBASELINE of IPDATA - with (ADD1 (- (ffetch IPVISBOTTOM of IPDATA) - (ffetch (FONTDESCRIPTOR \SFAscent) of FONT] - else (freplace IPMINVISIBLEBASELINE of IPDATA - with (+ (ffetch IPVISBOTTOM of IPDATA) - (ffetch (FONTDESCRIPTOR \SFDescent) of FONT] + [freplace IPMINVISIBLEBASELINE of IPDATA with (ADD1 (- (ffetch IPVISBOTTOM + of IPDATA) + (ffetch (FONTDESCRIPTOR + FONTDESCENT) + of FONT] + else (freplace IPMINVISIBLEBASELINE of IPDATA with (+ (ffetch IPVISBOTTOM of IPDATA) + (ffetch (FONTDESCRIPTOR FONTDESCENT) + of FONT] [replace IPCHARVISIBLEP of IPDATA with (AND (>= (fetch IPXPOS of IPDATA) - (fetch IPVISLEFT - of IPDATA)) - (>= (ffetch IPYPOS of IPDATA - ) - (ffetch IPMINVISIBLEBASELINE - of IPDATA)) - (<= (ffetch IPYPOS of IPDATA - ) - (ffetch IPMAXVISIBLEBASELINE - of IPDATA] - (freplace IPMINCHARRIGHT of IPDATA with (MIN (ffetch IPVISRIGHT of - IPDATA) - (ffetch IPRIGHT of IPDATA]) + (fetch IPVISLEFT of IPDATA)) + (>= (ffetch IPYPOS of IPDATA) + (ffetch IPMINVISIBLEBASELINE of IPDATA)) + (<= (ffetch IPYPOS of IPDATA) + (ffetch IPMAXVISIBLEBASELINE of IPDATA] + (freplace IPMINCHARRIGHT of IPDATA with (MIN (ffetch IPVISRIGHT of IPDATA) + (ffetch IPRIGHT of IPDATA]) (\PAPERSIZE.IP [LAMBDA (IPSTREAM MEDIUM) (* ; "Edited 15-Aug-88 09:28 by rmk:") @@ -2587,7 +2580,8 @@ ]) (\DSPFONT.IP - [LAMBDA (IPSTREAM FONT) (* ; "Edited 6-Sep-2025 14:50 by rmk") + [LAMBDA (IPSTREAM FONT) (* ; "Edited 1-Sep-2026 12:22 by rmk") + (* ; "Edited 6-Sep-2025 14:50 by rmk") (* ; "Edited 20-Jul-2025 14:26 by rmk") (* ; "Edited 14-Jul-2025 22:59 by rmk") (* ; "Edited 5-Jul-2025 18:49 by rmk") @@ -2631,10 +2625,10 @@ of FONT))) (\FIXLINELENGTH.IP IPSTREAM) (freplace IPMAXVISIBLEBASELINE of IPDATA with (- (ffetch IPVISTOP of IPDATA) - (ffetch (FONTDESCRIPTOR \SFAscent) + (ffetch (FONTDESCRIPTOR FONTASCENT) of FONT))) (freplace IPMINVISIBLEBASELINE of IPDATA with (+ (ffetch IPVISBOTTOM of IPDATA) - (ffetch (FONTDESCRIPTOR \SFDescent) + (ffetch (FONTDESCRIPTOR FONTDESCENT) of FONT))) [replace IPCHARVISIBLEP of IPDATA with (AND (>= (fetch IPXPOS of IPDATA) (fetch IPVISLEFT of IPDATA)) @@ -3543,7 +3537,8 @@ (DEFINEQ (\CREATEINTERPRESSFONT - [LAMBDA (FONTSPEC) (* ; "Edited 31-Aug-2025 14:20 by rmk") + [LAMBDA (FONTSPEC) (* ; "Edited 1-Sep-2026 12:22 by rmk") + (* ; "Edited 31-Aug-2025 14:20 by rmk") (* ; "Edited 28-Aug-2025 16:00 by rmk") (* ; "Edited 16-Aug-2025 12:05 by rmk") (* ; "Edited 12-Aug-2025 23:06 by rmk") @@ -3559,9 +3554,9 @@ FONTFACE _ (fetch (FONTSPEC FSFACE) of FONTSPEC) ROTATION _ (fetch (FONTSPEC FSROTATION) of FONTSPEC) FONTDEVICE _ (fetch (FONTSPEC FSDEVICE) of FONTSPEC) - \SFAscent _ 0 - \SFDescent _ 0 - \SFHeight _ 0 + FONTASCENT _ 0 + FONTDESCENT _ 0 + FONTHEIGHT _ 0 FONTDEVICESPEC _ (create FONTSPEC using FONTSPEC) FONTSCALE _ (CONSTANT (FQUOTIENT 2540 72)) FONTTOMCCSFN _ (MCCSMAPFN FONTSPEC]) @@ -3833,44 +3828,44 @@ (LOADDEF 'BRUSH 'RECORDS 'IMAGEIO) ) (DECLARE%: DONTCOPY - (FILEMAP (NIL (16749 22401 (APPENDBYTE.IP 16759 . 16895) (APPENDIDENTIFIER.IP 16897 . 17419) ( -APPENDINT.IP 17421 . 17872) (APPENDINTEGER.IP 17874 . 18446) (APPENDLARGEVECTOR.IP 18448 . 19413) ( -APPENDNUMBER.IP 19415 . 19884) (APPENDOP.IP 19886 . 20532) (APPENDRATIONAL.IP 20534 . 21027) ( -APPENDSEQUENCEDESCRIPTOR.IP 21029 . 22224) (BYTESININT.IP 22226 . 22399)) (22437 62244 (ARCTO.IP 22447 - . 23728) (BEGINMASTER.IP 23730 . 24003) (BEGINPAGE.IP 24005 . 24361) (BEGINPREAMBLE.IP 24363 . 24734) - (CLIPRECTANGLE.IP 24736 . 25226) (CONCAT.IP 25228 . 25493) (CONCATT.IP 25495 . 25762) (ENDMASTER.IP -25764 . 26208) (ENDPAGE.IP 26210 . 26587) (ENDPREAMBLE.IP 26589 . 27388) (FGET.IP 27390 . 27693) ( -FILLRECTANGLE.IP 27695 . 30023) (FILLTRAJECTORY.IP 30025 . 30660) (FILLNGON.IP 30662 . 32939) (FSET.IP - 32941 . 33244) (GETFRAMEVAR.IP 33246 . 33564) (INITIALIZEMASTER.IP 33566 . 34167) (INITIALIZECOLOR.IP - 34169 . 35490) (ISET.IP 35492 . 35863) (GETCP.IP 35865 . 36174) (LINETO.IP 36176 . 36781) ( -MASKSTROKE.IP 36783 . 37056) (MOVETO.IP 37058 . 37395) (ROTATE.IP 37397 . 37699) (SCALE.IP 37701 . -38004) (SCALE2.IP 38006 . 38343) (SETCOLOR.IP 38345 . 40574) (SETRGB.IP 40576 . 41632) (SETCOLORLV.IP -41634 . 46247) (SETCOLOR16.IP 46249 . 49355) (SETFONT.IP 49357 . 50178) (SETSPACE.IP 50180 . 50492) ( -SETXREL.IP 50494 . 51678) (SETX.IP 51680 . 53197) (SETXY.IP 53199 . 54371) (SETXYREL.IP 54373 . 55679) - (SETY.IP 55681 . 56990) (SETYREL.IP 56992 . 57892) (SHOW.IP 57894 . 61154) (TRAJECTORY.IP 61156 . -61554) (TRANS.IP 61556 . 61895) (TRANSLATE.IP 61897 . 62242)) (62275 68365 (\CHANGE-VISIBLE-REGION.IP -62285 . 65946) (\PAPERSIZE.IP 65948 . 66769) (HEADINGOP.IP 66771 . 68363)) (68366 172886 ( -DEFINEFONT.IP 68376 . 69350) (FONTNAME.IP 69352 . 70282) (INTERPRESS.BITMAPSCALE 70284 . 71077) ( -INTERPRESS.OUTCHARFN 71079 . 77586) (NEWLINE.IP 77588 . 78320) (NEWPAGE.IP 78322 . 83297) (NEWPAGE?.IP - 83299 . 83778) (OPENIPSTREAM 83780 . 92131) (SETUPFONTS.IP 92133 . 93125) (SHOWBITMAP.IP 93127 . -97668) (\BITMAPSIZE.IP 97670 . 98447) (SHOWBITMAP1.IP 98449 . 102821) (SHOWSHADE.IP 102823 . 103776) ( -\BITBLT.IP 103778 . 107982) (\SCALEDBITBLT.IP 107984 . 111629) (\BLTSHADE.IP 111631 . 113089) ( -\CHARWIDTH.IP 113091 . 113541) (\CLOSEIPSTREAM 113543 . 113870) (\DRAWARC.IP 113872 . 114319) ( -\DRAWCURVE.IP 114321 . 116758) (\DRAWPOINT.IP 116760 . 117797) (\DSPCOLOR.IP 117799 . 118750) ( -ENSURE.RGB 118752 . 119416) (\IPCURVE2 119418 . 132672) (\CLIPCURVELINE.IP 132674 . 137372) ( -\DRAWLINE.IP 137374 . 141106) (\CLIPLINE 141108 . 145808) (\DSPBOTTOMMARGIN.IP 145810 . 146226) ( -\DSPFONT.IP 146228 . 150988) (\DSPLEFTMARGIN.IP 150990 . 151450) (\DSPLINEFEED.IP 151452 . 152119) ( -\DSPRIGHTMARGIN.IP 152121 . 152918) (\DSPSPACEFACTOR.IP 152920 . 154049) (\DSPTOPMARGIN.IP 154051 . -154487) (\DSPXPOSITION.IP 154489 . 155476) (\DSPROTATE.IP 155478 . 155656) (\PUSHSTATE.IP 155658 . -156550) (\POPSTATE.IP 156552 . 157187) (\DEFAULTSTATE.IP 157189 . 157541) (\DSPTRANSLATE.IP 157543 . -157724) (\DSPSCALE2.IP 157726 . 157901) (\DSPYPOSITION.IP 157903 . 158204) (FILLCIRCLE.IP 158206 . -159289) (\FILLPOLYGON.IP 159291 . 160622) (\DRAWPOLYGON.IP 160624 . 166754) (\FIXLINELENGTH.IP 166756 - . 167970) (\MOVETO.IP 167972 . 168336) (\SETBRUSH.IP 168338 . 170504) (\STRINGWIDTH.IP 170506 . -170909) (\DSPCLIPPINGREGION.IP 170911 . 172087) (\DSPOPERATION.IP 172089 . 172884)) (172887 174786 ( -INTERPRESSFILEP 172897 . 174330) (INTERPRESS.TEDIT 174332 . 174784)) (174977 175732 (IP-TOS 174987 . -175247) (POP-IP-STACK 175249 . 175544) (PUSH-IP-STACK 175546 . 175730)) (175793 176717 ( -\CHANGECHARSET.IP 175803 . 176715)) (176718 180334 (\INTERPRESSINIT 176728 . 180332)) (193418 195842 ( -INTERPRESSBITMAP 193428 . 195840)) (198181 200959 (\CREATEINTERPRESSFONT 198191 . 199919) ( -\CREATECHARSET.IP 199921 . 200957)) (200960 213133 (IPFONT.FILEP 200970 . 201154) (IPFONT.GETCHARSET -201156 . 211254) (\FACECODE 211256 . 211846) (\FAMILYCODE 211848 . 213131))))) + (FILEMAP (NIL (16751 22403 (APPENDBYTE.IP 16761 . 16897) (APPENDIDENTIFIER.IP 16899 . 17421) ( +APPENDINT.IP 17423 . 17874) (APPENDINTEGER.IP 17876 . 18448) (APPENDLARGEVECTOR.IP 18450 . 19415) ( +APPENDNUMBER.IP 19417 . 19886) (APPENDOP.IP 19888 . 20534) (APPENDRATIONAL.IP 20536 . 21029) ( +APPENDSEQUENCEDESCRIPTOR.IP 21031 . 22226) (BYTESININT.IP 22228 . 22401)) (22439 62246 (ARCTO.IP 22449 + . 23730) (BEGINMASTER.IP 23732 . 24005) (BEGINPAGE.IP 24007 . 24363) (BEGINPREAMBLE.IP 24365 . 24736) + (CLIPRECTANGLE.IP 24738 . 25228) (CONCAT.IP 25230 . 25495) (CONCATT.IP 25497 . 25764) (ENDMASTER.IP +25766 . 26210) (ENDPAGE.IP 26212 . 26589) (ENDPREAMBLE.IP 26591 . 27390) (FGET.IP 27392 . 27695) ( +FILLRECTANGLE.IP 27697 . 30025) (FILLTRAJECTORY.IP 30027 . 30662) (FILLNGON.IP 30664 . 32941) (FSET.IP + 32943 . 33246) (GETFRAMEVAR.IP 33248 . 33566) (INITIALIZEMASTER.IP 33568 . 34169) (INITIALIZECOLOR.IP + 34171 . 35492) (ISET.IP 35494 . 35865) (GETCP.IP 35867 . 36176) (LINETO.IP 36178 . 36783) ( +MASKSTROKE.IP 36785 . 37058) (MOVETO.IP 37060 . 37397) (ROTATE.IP 37399 . 37701) (SCALE.IP 37703 . +38006) (SCALE2.IP 38008 . 38345) (SETCOLOR.IP 38347 . 40576) (SETRGB.IP 40578 . 41634) (SETCOLORLV.IP +41636 . 46249) (SETCOLOR16.IP 46251 . 49357) (SETFONT.IP 49359 . 50180) (SETSPACE.IP 50182 . 50494) ( +SETXREL.IP 50496 . 51680) (SETX.IP 51682 . 53199) (SETXY.IP 53201 . 54373) (SETXYREL.IP 54375 . 55681) + (SETY.IP 55683 . 56992) (SETYREL.IP 56994 . 57894) (SHOW.IP 57896 . 61156) (TRAJECTORY.IP 61158 . +61556) (TRANS.IP 61558 . 61897) (TRANSLATE.IP 61899 . 62244)) (62277 68023 (\CHANGE-VISIBLE-REGION.IP +62287 . 65604) (\PAPERSIZE.IP 65606 . 66427) (HEADINGOP.IP 66429 . 68021)) (68024 172655 ( +DEFINEFONT.IP 68034 . 69008) (FONTNAME.IP 69010 . 69940) (INTERPRESS.BITMAPSCALE 69942 . 70735) ( +INTERPRESS.OUTCHARFN 70737 . 77244) (NEWLINE.IP 77246 . 77978) (NEWPAGE.IP 77980 . 82955) (NEWPAGE?.IP + 82957 . 83436) (OPENIPSTREAM 83438 . 91789) (SETUPFONTS.IP 91791 . 92783) (SHOWBITMAP.IP 92785 . +97326) (\BITMAPSIZE.IP 97328 . 98105) (SHOWBITMAP1.IP 98107 . 102479) (SHOWSHADE.IP 102481 . 103434) ( +\BITBLT.IP 103436 . 107640) (\SCALEDBITBLT.IP 107642 . 111287) (\BLTSHADE.IP 111289 . 112747) ( +\CHARWIDTH.IP 112749 . 113199) (\CLOSEIPSTREAM 113201 . 113528) (\DRAWARC.IP 113530 . 113977) ( +\DRAWCURVE.IP 113979 . 116416) (\DRAWPOINT.IP 116418 . 117455) (\DSPCOLOR.IP 117457 . 118408) ( +ENSURE.RGB 118410 . 119074) (\IPCURVE2 119076 . 132330) (\CLIPCURVELINE.IP 132332 . 137030) ( +\DRAWLINE.IP 137032 . 140764) (\CLIPLINE 140766 . 145466) (\DSPBOTTOMMARGIN.IP 145468 . 145884) ( +\DSPFONT.IP 145886 . 150757) (\DSPLEFTMARGIN.IP 150759 . 151219) (\DSPLINEFEED.IP 151221 . 151888) ( +\DSPRIGHTMARGIN.IP 151890 . 152687) (\DSPSPACEFACTOR.IP 152689 . 153818) (\DSPTOPMARGIN.IP 153820 . +154256) (\DSPXPOSITION.IP 154258 . 155245) (\DSPROTATE.IP 155247 . 155425) (\PUSHSTATE.IP 155427 . +156319) (\POPSTATE.IP 156321 . 156956) (\DEFAULTSTATE.IP 156958 . 157310) (\DSPTRANSLATE.IP 157312 . +157493) (\DSPSCALE2.IP 157495 . 157670) (\DSPYPOSITION.IP 157672 . 157973) (FILLCIRCLE.IP 157975 . +159058) (\FILLPOLYGON.IP 159060 . 160391) (\DRAWPOLYGON.IP 160393 . 166523) (\FIXLINELENGTH.IP 166525 + . 167739) (\MOVETO.IP 167741 . 168105) (\SETBRUSH.IP 168107 . 170273) (\STRINGWIDTH.IP 170275 . +170678) (\DSPCLIPPINGREGION.IP 170680 . 171856) (\DSPOPERATION.IP 171858 . 172653)) (172656 174555 ( +INTERPRESSFILEP 172666 . 174099) (INTERPRESS.TEDIT 174101 . 174553)) (174746 175501 (IP-TOS 174756 . +175016) (POP-IP-STACK 175018 . 175313) (PUSH-IP-STACK 175315 . 175499)) (175562 176486 ( +\CHANGECHARSET.IP 175572 . 176484)) (176487 180103 (\INTERPRESSINIT 176497 . 180101)) (193187 195611 ( +INTERPRESSBITMAP 193197 . 195609)) (197950 200840 (\CREATEINTERPRESSFONT 197960 . 199800) ( +\CREATECHARSET.IP 199802 . 200838)) (200841 213014 (IPFONT.FILEP 200851 . 201035) (IPFONT.GETCHARSET +201037 . 211135) (\FACECODE 211137 . 211727) (\FAMILYCODE 211729 . 213012))))) STOP diff --git a/sources/INTERPRESS.LCOM b/sources/INTERPRESS.LCOM index 03cb4050e11c43a66b9783b15ba3c6f2be5287c6..4836dda38ced10ec90c557a6d54b59883600f9be 100644 GIT binary patch delta 303 zcmeyihxyW8<_QtPhPuJ21-eECMrI0zMpj0~RtDx1vkmo3H5Is&j4X8>OVc5e1_o9p zhE}GgN(xCusmb}d1(`XiDGI3-1x3ZGR+G=}kl}I(4si4L3(@lom^}ZASPYj!W}bqQ zTd0qZ0w_}dHT3I2e~?ixVk7PDPVJ9wW5ltf{~%A znSr5#m8*+qh^|wlLQ!tEf|av}qo2ELux^OIf(F;*Q#<5Q-6f%B6%gba=II|Atm^`_ m0O$xaU9Zv{cnBDnSs9utaZRjI+I)rarzs=n=5yvNmH`0NsZ?G7 delta 278 zcmcb#m-*Ws<_QtPCc2KL>AFS+MrH~|##TUNXgo37u--&dflEmNNz%~3%D~jhz*0#e zDLFs4AV)n#Au~@w$t~2!M*&%#o}QkPLP}yuYKj6D{f6dBnp_%go<6S5L9UJ=t}Y5n zMrOKRr8y867#dj_m{}Q`Doy5NQe;;!GBh Date: Fri, 4 Sep 2026 17:18:36 -0700 Subject: [PATCH 05/30] NOVAFONT and HPGLFONT: remove references to \SFAscent etc --- lispusers/HPGL | 41 ++- lispusers/HPGL.LCOM | Bin 34242 -> 34208 bytes lispusers/NOVAFONT | 588 +++++++++++++++++++++++++++++++++++++--- lispusers/NOVAFONT.LCOM | Bin 22365 -> 25508 bytes 4 files changed, 564 insertions(+), 65 deletions(-) diff --git a/lispusers/HPGL b/lispusers/HPGL index d71796193..7954daa81 100644 --- a/lispusers/HPGL +++ b/lispusers/HPGL @@ -1,12 +1,12 @@ -(DEFINE-FILE-INFO PACKAGE "INTERLISP" READTABLE "INTERLISP" BASE 10) +(DEFINE-FILE-INFO :PACKAGE "INTERLISP" :READTABLE "INTERLISP" :BASE 10) -(FILECREATED "29-Jan-2026 21:10:52" {WMEDLEY}HPGL.;9 43562 +(FILECREATED " 4-Sep-2026 10:18:42" {MEDLEY}HPGL.;10 43387 :EDIT-BY rmk - :CHANGES-TO (FNS OPENHPGLSTREAM) + :CHANGES-TO (FNS \FONTCREATE.HPGL) - :PREVIOUS-DATE "29-Jan-2026 11:02:32" {WMEDLEY}HPGL.;7) + :PREVIOUS-DATE "29-Jan-2026 21:10:52" {MEDLEY}HPGL.;9) (PRETTYCOMPRINT HPGLCOMS) @@ -500,21 +500,18 @@ T]) (\FONTCREATE.HPGL - [LAMBDA (FONTSPEC) (* ; "Edited 28-Jan-2026 00:58 by rmk") + [LAMBDA (FONTSPEC) (* ; "Edited 4-Sep-2026 10:18 by rmk") + (* ; "Edited 28-Jan-2026 00:58 by rmk") (* ; "Edited 4-Sep-87 15:13 by cdl") (if (ASSOC (fetch (FONTSPEC FSFAMILY) of FONTSPEC) HPGL.FONTS) - then (LET* ((SIZE (fetch (FONTSPEC FSSIZE) of FONTSPEC)) + then (LET* [(SIZE (fetch (FONTSPEC FSSIZE) of FONTSPEC)) (WIDTHSBLOCK (\CREATECSINFOELEMENT)) (FONTDESCRIPTOR (create FONTDESCRIPTOR FONTDEVICE _ 'HPGL FONTFAMILY _ (fetch (FONTSPEC FSFAMILY) of FONTSPEC) FONTSIZE _ SIZE - FONTFACE _ (fetch (FONTSPEC FSFACE) of FONTSPEC) - ROTATION _ (fetch (FONTSPEC FSROTATION) of FONTSPEC) - \SFHeight _ SIZE - \SFAscent _ SIZE - \SFDescent _ 0))) + FONTFACE _ (fetch (FONTSPEC FSFACE) of FONTSPEC] (for N (WIDTH _ (FIX (QUOTIENT (TIMES 3 SIZE) 4))) from 0 to \MAXTHINCHAR do (\FSETWIDTH WIDTHSBLOCK N WIDTH)) @@ -773,15 +770,15 @@ (\INIT.HPGL) (DECLARE%: DONTCOPY - (FILEMAP (NIL (2696 5094 (OPENHPGLSTREAM 2706 . 4809) (HARDCOPYW.HPGL 4811 . 5092)) (5125 28896 ( -\BITBLT.HPGL 5135 . 7112) (\BLTSHADE.HPGL 7114 . 8267) (\CLOSEFN.HPGL 8269 . 8597) (\COLOR.HPGL 8599 - . 10523) (\DRAWARC.HPGL 10525 . 12034) (\DRAWCIRCLE.HPGL 12036 . 13379) (\DRAWCURVE.HPGL 13381 . -14170) (\DRAWLINE.HPGL 14172 . 16330) (\DRAWPOLYGON.HPGL 16332 . 17998) (\FILLCIRCLE.HPGL 18000 . -18716) (\FONT.HPGL 18718 . 22369) (\LEFTMARGIN.HPGL 22371 . 22672) (\LINEFEED.HPGL 22674 . 22917) ( -\MOVETO.HPGL 22919 . 23397) (\RESET.HPGL 23399 . 23768) (\RIGHTMARGIN.HPGL 23770 . 24074) ( -\ROTATE.HPGL 24076 . 24450) (\SCALEDBITBLT.HPGL 24452 . 26735) (\STRINGWIDTH.HPGL 26737 . 26920) ( -\CLIPPINGREGION.HPGL 26922 . 27227) (\TERPRI.HPGL 27229 . 27586) (\XPOSITION.HPGL 27588 . 28250) ( -\YPOSITION.HPGL 28252 . 28894)) (28928 40323 (\DUMPSTRING.HPGL 28938 . 29410) (\FONTCREATE.HPGL 29412 - . 31221) (\INIT.HPGL 31223 . 34674) (\OUTCHAR.HPGL 34676 . 35289) (\SEARCH.HPGL.FONTS 35291 . 35825) -(\FILL.HPGL 35827 . 38483) (\DASHING.HPGL 38485 . 40321))))) + (FILEMAP (NIL (2697 5095 (OPENHPGLSTREAM 2707 . 4810) (HARDCOPYW.HPGL 4812 . 5093)) (5126 28897 ( +\BITBLT.HPGL 5136 . 7113) (\BLTSHADE.HPGL 7115 . 8268) (\CLOSEFN.HPGL 8270 . 8598) (\COLOR.HPGL 8600 + . 10524) (\DRAWARC.HPGL 10526 . 12035) (\DRAWCIRCLE.HPGL 12037 . 13380) (\DRAWCURVE.HPGL 13382 . +14171) (\DRAWLINE.HPGL 14173 . 16331) (\DRAWPOLYGON.HPGL 16333 . 17999) (\FILLCIRCLE.HPGL 18001 . +18717) (\FONT.HPGL 18719 . 22370) (\LEFTMARGIN.HPGL 22372 . 22673) (\LINEFEED.HPGL 22675 . 22918) ( +\MOVETO.HPGL 22920 . 23398) (\RESET.HPGL 23400 . 23769) (\RIGHTMARGIN.HPGL 23771 . 24075) ( +\ROTATE.HPGL 24077 . 24451) (\SCALEDBITBLT.HPGL 24453 . 26736) (\STRINGWIDTH.HPGL 26738 . 26921) ( +\CLIPPINGREGION.HPGL 26923 . 27228) (\TERPRI.HPGL 27230 . 27587) (\XPOSITION.HPGL 27589 . 28251) ( +\YPOSITION.HPGL 28253 . 28895)) (28929 40148 (\DUMPSTRING.HPGL 28939 . 29411) (\FONTCREATE.HPGL 29413 + . 31046) (\INIT.HPGL 31048 . 34499) (\OUTCHAR.HPGL 34501 . 35114) (\SEARCH.HPGL.FONTS 35116 . 35650) +(\FILL.HPGL 35652 . 38308) (\DASHING.HPGL 38310 . 40146))))) STOP diff --git a/lispusers/HPGL.LCOM b/lispusers/HPGL.LCOM index 057beefeab5c7e96297f7d6b5300adcfa08e3d8d..e496839ab78341ddc6ecc1cb4531dcb2ba1a0731 100644 GIT binary patch delta 723 zcmZuv&ui0A9M6wBX2(iP%NRLyU*gd0kkYiNi$Pe^=A{iylh8z@IB;sJw9U4%>1mVV zc?T)|2gI|7NpFe-ym=^i5bfE!2l3)9zN`$#*n{_d@B8__?~l*>em|d3Z%(K!PDPq- zB3{!C#OtPJfov<)hEhYo>ZXfYhVIxb$StI(u2L~B!K1C!TOjgIXTTToh1($HWkHg~ z0t+1bWPf+i^*bKy?*R)(qv0weEYq#xOfJgR?V15y z?5N!{47li#%jH<`9zDl_uL@O?*o`Tv4<5y&MsUXOhe+iSvWSQ}AIz5?@ zpB}GEa9>y5I@quYCYB|Lh^ok`wshOIS{M??AG~#r_ilP{X!M8K@Tt*nfoRys9fFMe69HVh7S`KpcWjw2H+eSBzu|=3Xc=~MZAGo!+_W%F@ delta 682 zcmZvZ&2AD=6vyWd6)7YQAgPTDI8OYa3&_myQJ9z%%3R9GFn5HZjfsh^4mHq`Hliz| zeSogWynu1%##CKeGtrH4L86JVtbGC#9{}$~7sd1@_uS;&t>lPa!i z22NEq9j7#-N+52QEA{d^20=3{+|;#}DL}l5%c@mg)Bj5kSC^7`jx~+ zoJXR&-|t3`UQJO5QR~zqazAzwm-E?a%YWAaQZWa2%DPS}YxLGZ5)1CHPCP2h1z@XB Tv+=Y*%4J>HVPh=rJV^WjBn`Yl diff --git a/lispusers/NOVAFONT b/lispusers/NOVAFONT index e3e859d7f..785a60eec 100644 --- a/lispusers/NOVAFONT +++ b/lispusers/NOVAFONT @@ -1,16 +1,120 @@ -(DEFINE-FILE-INFO PACKAGE "INTERLISP" READTABLE "XCL" BASE 10) -(FILECREATED " 9-Feb-89 13:52:01" {ERINYES}MEDLEY>NOVAFONT.\;5 37388 +(DEFINE-FILE-INFO :PACKAGE "INTERLISP" :READTABLE "XCL" :BASE 10) - |changes| |to:| (FNS \\READNOVAFONTFILE.IP) (VARS NOVAFONTCOMS) +(FILECREATED " 4-Sep-2026 10:23:30" |{MEDLEY}NOVAFONT.;2| 52647 - |previous| |date:| " 8-Feb-89 11:09:51" {ERINYES}MEDLEY>NOVAFONT.\;3) + :EDIT-BY |rmk| + :CHANGES-TO (FNS LOAD-NOVAFONT-FILE) + + :PREVIOUS-DATE " 9-Feb-89 13:52:01" |{MEDLEY}NOVAFONT.;1|) -; Copyright (c) 1986, 1987, 1988, 1989 by Xerox Corporation. All rights reserved. (PRETTYCOMPRINT NOVAFONTCOMS) -(RPAQQ NOVAFONTCOMS ((* |;;;| "user callable functions (either load-on-demand or load them all") (FNS NOTICE-NOVAFONT-FILE LOAD-NOVAFONT-FILE) (* |;;;| "the parts necessary for using with FONTCREATE") (FNS \\READNOVAFONTFILE.DISPLAY \\READNOVAFONTFILE.IP) (* |;;;| "modified versions of functions from the default font handling system") (FNS \\READDISPLAYFONTFILE.NOVA \\CREATECHARSET.IP.NOVA) (* |;;;| "the parts for general hacking of the NOVAFONT files") (FNS DESCRIBE-FONT SELECT-FONT ENUMERATE-FONTS VIEWPOINT-FONT-FILE-P) (VARS (*WARN-ON-KERNING* NIL)) (GLOBALVARS *WARN-ON-KERNING*) (* |;;;| "where the NovaFont files are likely to be") (VARIABLES *NOVAFONT-PATHNAME-DEFAULTS*) (* |;;;| "things for dealing with the structure of what we read") (MACROS READSWAPPEDFIXP) (FNS READ-BLOCK-OF-BYTES READ-NOVAFONT-CHARACTERSET READ-NOVAFONT-FILEHEADER READ-NOVAFONT-FONTHEADER \\TEXTBLT) (* |;;;| "the datastructures that we use and their sizes") (DECLARE\: EVAL@COMPILE DONTCOPY (RECORDS FONTTREENODEBLOCK CHARSETBLOCK FONTDESCRIPTION) (CONSTANTS (FONTTREENODEBLOCKBYTESIZE (CONSTANT (ITIMES BYTESPERWORD (INDEXF (FETCH (FONTTREENODEBLOCK DUMMY-LAST-FIELD-DONT-REFERENCE-THIS) OF T))))) (CHARSETBLOCKBYTESIZE (CONSTANT (ITIMES BYTESPERWORD (INDEXF (FETCH (CHARSETBLOCK DUMMY-LAST-FIELD-DONT-REFERENCE-THIS) OF T))))) (FONTDESCRIPTIONBYTESIZE (CONSTANT (ITIMES BYTESPERWORD (INDEXF (FETCH (FONTDESCRIPTION DUMMY-LAST-FIELD-DONT-REFERENCE-THIS) OF T))))))) (DECLARE\: EVAL@COMPILE DONTEVAL@LOAD DOCOPY (INITRECORDS FONTTREENODEBLOCK CHARSETBLOCK FONTDESCRIPTION)) (* |;;;| "the mapping from font family number to font family name for those fonts which don't have the name embedded in the font file.") (CONSTANTS \\NOVAFONTFAMILYNAMES) (* |;;;| "initialize the \"noticed\" fonts structure and set up the extensions so we can use the font files") (VARIABLES *NOVAFONT-INFO*) (* |;;;| "correct some omissions in the family aliases and printwheel fonts") (P (LISTPUT INTERPRESSFAMILYALIASES (QUOTE XEROXLOGO) (QUOTE LOGOTYPES-XEROX)) (|pushnew| INTERPRESSPRINTWHEELFAMILIES (QUOTE SCIENTIFICTHIN) (QUOTE OCRB) (QUOTE OCRA))) (* |;;;| "some things we need for compiling. Also need EXPORTS.ALL") (DECLARE\: EVAL@COMPILE DONTCOPY (FILES (LOADCOMP) INTERPRESS LLCHAR)) (* |;;;| "install this:") (DECLARE\: DONTEVAL@LOAD DOCOPY (P (MOVD? (QUOTE \\READDISPLAYFONTFILE) (QUOTE \\NO-NOVA-READDISPLAYFONTFILE)) (MOVD? (QUOTE \\CREATECHARSET.IP) (QUOTE \\NO-NOVA-CREATECHARSET.IP)) (MOVD (QUOTE \\READDISPLAYFONTFILE.NOVA) (QUOTE \\READDISPLAYFONTFILE)) (MOVD (QUOTE \\CREATECHARSET.IP.NOVA) (QUOTE \\CREATECHARSET.IP)))) (* |;;;| "some hints for the compiler (system generated)") (DECLARE\: DONTEVAL@LOAD DOEVAL@COMPILE DONTCOPY COMPILERVARS (ADDVARS (NLAMA) (NLAML) (LAMA READ-NOVAFONT-FONTHEADER READ-NOVAFONT-FILEHEADER))))) +(RPAQQ NOVAFONTCOMS + ( + +(* |;;;| "user callable functions (either load-on-demand or load them all") + + (FNS NOTICE-NOVAFONT-FILE LOAD-NOVAFONT-FILE) + + +(* |;;;| "the parts necessary for using with FONTCREATE") + + (FNS \\READNOVAFONTFILE.DISPLAY \\READNOVAFONTFILE.IP) + + +(* |;;;| "modified versions of functions from the default font handling system") + + (FNS \\READDISPLAYFONTFILE.NOVA \\CREATECHARSET.IP.NOVA) + + +(* |;;;| "the parts for general hacking of the NOVAFONT files") + + (FNS DESCRIBE-FONT SELECT-FONT ENUMERATE-FONTS VIEWPOINT-FONT-FILE-P) + (VARS (*WARN-ON-KERNING* NIL)) + (GLOBALVARS *WARN-ON-KERNING*) + + +(* |;;;| "where the NovaFont files are likely to be") + + (VARIABLES *NOVAFONT-PATHNAME-DEFAULTS*) + + +(* |;;;| "things for dealing with the structure of what we read") + + (MACROS READSWAPPEDFIXP) + (FNS READ-BLOCK-OF-BYTES READ-NOVAFONT-CHARACTERSET READ-NOVAFONT-FILEHEADER + READ-NOVAFONT-FONTHEADER \\TEXTBLT) + + +(* |;;;| "the datastructures that we use and their sizes") + + (DECLARE\: EVAL@COMPILE DONTCOPY (RECORDS FONTTREENODEBLOCK CHARSETBLOCK FONTDESCRIPTION) + (CONSTANTS (FONTTREENODEBLOCKBYTESIZE (CONSTANT (ITIMES BYTESPERWORD + (INDEXF (FETCH ( + FONTTREENODEBLOCK + + DUMMY-LAST-FIELD-DONT-REFERENCE-THIS + ) + OF T))))) + (CHARSETBLOCKBYTESIZE (CONSTANT (ITIMES BYTESPERWORD (INDEXF + (FETCH (CHARSETBLOCK + + DUMMY-LAST-FIELD-DONT-REFERENCE-THIS + ) + OF T))))) + (FONTDESCRIPTIONBYTESIZE (CONSTANT (ITIMES BYTESPERWORD + (INDEXF (FETCH (FONTDESCRIPTION + + DUMMY-LAST-FIELD-DONT-REFERENCE-THIS + ) + OF T))))))) + (DECLARE\: EVAL@COMPILE DONTEVAL@LOAD DOCOPY (INITRECORDS FONTTREENODEBLOCK CHARSETBLOCK + FONTDESCRIPTION)) + + +(* |;;;| "the mapping from font family number to font family name for those fonts which don't have the name embedded in the font file.") + + (CONSTANTS \\NOVAFONTFAMILYNAMES) + + +(* |;;;| +"initialize the \"noticed\" fonts structure and set up the extensions so we can use the font files") + + (VARIABLES *NOVAFONT-INFO*) + + +(* |;;;| "correct some omissions in the family aliases and printwheel fonts") + + (P (LISTPUT INTERPRESSFAMILYALIASES 'XEROXLOGO 'LOGOTYPES-XEROX) + (|pushnew| INTERPRESSPRINTWHEELFAMILIES 'SCIENTIFICTHIN 'OCRB 'OCRA)) + + +(* |;;;| "some things we need for compiling. Also need EXPORTS.ALL") + + (DECLARE\: EVAL@COMPILE DONTCOPY (FILES (LOADCOMP) + INTERPRESS LLCHAR)) + + +(* |;;;| "install this:") + + (DECLARE\: DONTEVAL@LOAD DOCOPY (P (MOVD? '\\READDISPLAYFONTFILE + '\\NO-NOVA-READDISPLAYFONTFILE) + (MOVD? '\\CREATECHARSET.IP '\\NO-NOVA-CREATECHARSET.IP) + (MOVD '\\READDISPLAYFONTFILE.NOVA '\\READDISPLAYFONTFILE) + (MOVD '\\CREATECHARSET.IP.NOVA '\\CREATECHARSET.IP))) + + +(* |;;;| "some hints for the compiler (system generated)") + + (DECLARE\: DONTEVAL@LOAD DOEVAL@COMPILE DONTCOPY COMPILERVARS (ADDVARS (NLAMA) + (NLAML) + (LAMA + READ-NOVAFONT-FONTHEADER + + READ-NOVAFONT-FILEHEADER + ))))) @@ -23,8 +127,93 @@ ) (LOAD-NOVAFONT-FILE -(LAMBDA (|filename|) (* \; "Edited 9-Jul-87 16:23 by mdd") (CL:WITH-OPEN-FILE (|stream| |filename| :INPUT) (CL:MULTIPLE-VALUE-BIND (|nfonts| |fontaddrs|) (READ-NOVAFONT-FILEHEADER |stream|) (* |;;| " loop through the font nodes. fontAddrs are relative to wd 0 of file and have been converted to byte offsets when read in.") (|for| |fontnumber| |from| 1 |to| |nfonts| |bind| |name| |fontdescriptor| |charsetaddrs| |fontpos| |font| |font-face| (|rasterinfos| _ (ARRAY 256 (QUOTE WORD) 0 0)) (|fontprinterwidths| _ (ARRAY 256 (QUOTE WORD) 0 0)) (|fontspacingwidths| _ (ARRAY 256 (QUOTE BYTE) 0 0)) |do| (SETQ |fontpos| (ELT |fontaddrs| |fontnumber|)) (* |;;| "read the second level FontTreeNode (known as a font header, since it collects the character sets of the font)") (* |;;| "reads font header located at fontBlockPos into fontHeaderBuffer. Returns number of character sets in ncharSets, allocates an array to hold their word offsets from beginning of font block, and reads in those offsets.") (CL:MULTIPLE-VALUE-SETQ (|name| |fontdescriptor| |charsetaddrs|) (READ-NOVAFONT-FONTHEADER |stream| |fontpos|)) (* |;;| "now read the third level char set nodes") (SETQ |font-face| (LIST (CL:ECASE (|fetch| (FONTDESCRIPTION WEIGHT) |of| |fontdescriptor|) (0 (QUOTE LIGHT)) (1 (QUOTE MEDIUM)) (2 (QUOTE BOLD))) (CL:ECASE (|fetch| (FONTDESCRIPTION EMPHASIS) |of| |fontdescriptor|) (0 (QUOTE REGULAR)) (1 (QUOTE ITALIC))) (QUOTE REGULAR))) (SETQ |name| (MKATOM (U-CASE |name|))) (SETQ |font| (|create| FONTDESCRIPTOR FONTDEVICE _ (QUOTE DISPLAY) FONTFAMILY _ |name| FONTSIZE _ (|fetch| (FONTDESCRIPTION SIZE) |of| |fontdescriptor|) FONTFACE _ |font-face| |\\SFAscent| _ 0 |\\SFDescent| _ 0 |\\SFHeight| _ 0 ROTATION _ 0 FONTDEVICESPEC _ (LIST |name| (|fetch| (FONTDESCRIPTION SIZE) |of| |fontdescriptor|) |font-face| 0 (QUOTE DISPLAY)))) (|for| \j |from| 0 |to| (- (ARRAYSIZE |charsetaddrs|) 1) |bind| |csinfo| |charsetoffset| |do| (SETQ |charsetoffset| (ELT |charsetaddrs| \j)) (|if| (NEQ |charsetoffset| 0) |then| (* |;;| "read in enough to get charSet # and bc,ec ") (SETQ |csinfo| (\\READNOVAFONTFILE.DISPLAY |stream| (PLUS |fontpos| |charsetoffset|) NIL NIL NIL \j |rasterinfos| |fontprinterwidths| |fontspacingwidths|)) (|replace| |\\SFAscent| |of| |font| |with| (IMAX (|fetch| |\\SFAscent| |of| |font|) (|fetch| CHARSETASCENT |of| |csinfo|))) (|replace| |\\SFDescent| |of| |font| |with| (IMAX (|fetch| |\\SFDescent| |of| |font|) (|ffetch| CHARSETDESCENT |of| |csinfo|))) (|replace| |\\SFHeight| |of| |font| |with| (IPLUS (|fetch| |\\SFAscent| |of| |font|) (|ffetch| |\\SFDescent| |of| |font|))) (\\SETCHARSETINFO (|ffetch| FONTCHARSETVECTOR |of| |font|) \j |csinfo|))) (|replace| (FONTDESCRIPTOR FONTAVGCHARWIDTH) |of| |font| |with| (\\AVGCHARWIDTH |font|)) (SETFONTDESCRIPTOR |name| (|fetch| (FONTDESCRIPTION SIZE) |of| |fontdescriptor|) |font-face| 0 (QUOTE DISPLAY) |font|))))) -) + (LAMBDA (|filename|) (* \; "Edited 4-Sep-2026 10:22 by rmk") + (* \; "Edited 9-Jul-87 16:23 by mdd") + (CL:WITH-OPEN-FILE (|stream| |filename| :INPUT) + (CL:MULTIPLE-VALUE-BIND (|nfonts| |fontaddrs|) + (READ-NOVAFONT-FILEHEADER |stream|) + + (* |;;| " loop through the font nodes. fontAddrs are relative to wd 0 of file and have been converted to byte offsets when read in.") + + (|for| |fontnumber| |from| 1 |to| |nfonts| |bind| |name| |fontdescriptor| + |charsetaddrs| |fontpos| |font| + |font-face| + (|rasterinfos| _ + (ARRAY 256 'WORD 0 0)) + (|fontprinterwidths| + _ + (ARRAY 256 'WORD 0 0)) + (|fontspacingwidths| + _ + (ARRAY 256 'BYTE 0 0)) + |do| (SETQ |fontpos| (ELT |fontaddrs| |fontnumber|)) + + (* |;;| "read the second level FontTreeNode (known as a font header, since it collects the character sets of the font)") + + (* |;;| "reads font header located at fontBlockPos into fontHeaderBuffer. Returns number of character sets in ncharSets, allocates an array to hold their word offsets from beginning of font block, and reads in those offsets.") + + (CL:MULTIPLE-VALUE-SETQ (|name| |fontdescriptor| |charsetaddrs|) + (READ-NOVAFONT-FONTHEADER |stream| |fontpos|)) + + (* |;;| "now read the third level char set nodes") + + (SETQ |font-face| (|create| FONTFACE + WEIGHT _ (CL:ECASE (|fetch| (FONTDESCRIPTION + WEIGHT) |of| + |fontdescriptor| + ) + (0 'LIGHT) + (1 'MEDIUM) + (2 'BOLD)) + SLOPE _ (CL:ECASE (|fetch| (FONTDESCRIPTION + EMPHASIS) + |of| |fontdescriptor|) + (0 'REGULAR) + (1 'ITALIC)) + EXPANSION _ 'REGULAR)) + (SETQ |name| (MKATOM (U-CASE |name|))) + (SETQ |font| (|create| FONTDESCRIPTOR + FONTDEVICE _ 'DISPLAY + FONTFAMILY _ |name| + FONTSIZE _ (|fetch| (FONTDESCRIPTION SIZE) |of| + |fontdescriptor| + ) + FONTFACE _ |font-face| + FONTDEVICESPEC _ (MAKEFONTSPEC |name| (FONTPROP + |fontdescriptor| + SIZE) + |font-face| 0 'DISPLAY))) + (|for| \j |from| 0 |to| (- (ARRAYSIZE |charsetaddrs|) + 1) |bind| |csinfo| |charsetoffset| + |do| (SETQ |charsetoffset| (ELT |charsetaddrs| \j)) + (|if| (NEQ |charsetoffset| 0) + |then| + + (* |;;| "read in enough to get charSet # and bc,ec ") + + (SETQ |csinfo| (\\READNOVAFONTFILE.DISPLAY |stream| + (PLUS |fontpos| |charsetoffset|) + NIL NIL NIL \j |rasterinfos| + |fontprinterwidths| + |fontspacingwidths|)) + (|replace| |\\SFAscent| |of| |font| + |with| (IMAX (|fetch| |\\SFAscent| |of| |font|) + (|fetch| CHARSETASCENT |of| |csinfo|))) + (|replace| |\\SFDescent| |of| |font| + |with| (IMAX (|fetch| |\\SFDescent| |of| |font|) + (|ffetch| CHARSETDESCENT |of| |csinfo|))) + (|replace| |\\SFHeight| |of| |font| + |with| (IPLUS (|fetch| |\\SFAscent| |of| |font|) + (|ffetch| |\\SFDescent| |of| |font|))) + (\\SETCHARSETINFO (|ffetch| FONTCHARSETVECTOR + |of| |font|) + \j |csinfo|))) + (|replace| (FONTDESCRIPTOR FONTAVGCHARWIDTH) |of| |font| + |with| (\\AVGCHARWIDTH |font|)) + (SETFONTDESCRIPTOR |name| (|fetch| (FONTDESCRIPTION SIZE) |of| + |fontdescriptor| + ) + |font-face| 0 'DISPLAY |font|)))))) ) @@ -80,7 +269,7 @@ ) ) -(RPAQQ *WARN-ON-KERNING* NIL) +(RPAQQ *WARN-ON-KERNING* NIL) (DECLARE\: DOEVAL@COMPILE DONTCOPY (GLOBALVARS *WARN-ON-KERNING*) @@ -91,7 +280,9 @@ (* |;;;| "where the NovaFont files are likely to be") -(DEFGLOBALVAR *NOVAFONT-PATHNAME-DEFAULTS* (PATHNAME (AND (BOUNDP (QUOTE DISPLAYFONTDIRECTORIES)) (LISTP DISPLAYFONTDIRECTORIES) (CAR DISPLAYFONTDIRECTORIES)))) +(DEFGLOBALVAR *NOVAFONT-PATHNAME-DEFAULTS* (PATHNAME (AND (BOUNDP 'DISPLAYFONTDIRECTORIES) + (LISTP DISPLAYFONTDIRECTORIES) + (CAR DISPLAYFONTDIRECTORIES)))) @@ -99,7 +290,14 @@ (DECLARE\: EVAL@COMPILE -(PUTPROPS READSWAPPEDFIXP DMACRO (OPENLAMBDA (STREAM) (+ (LOGOR (LLSH (BIN STREAM) 8) (BIN STREAM)) (CL:ASH (LOGOR (LLSH (BIN STREAM) 8) (BIN STREAM)) 16)))) +(PUTPROPS READSWAPPEDFIXP DMACRO (OPENLAMBDA (STREAM) + (+ (LOGOR (LLSH (BIN STREAM) + 8) + (BIN STREAM)) + (CL:ASH (LOGOR (LLSH (BIN STREAM) + 8) + (BIN STREAM)) + 16)))) ) (DEFINEQ @@ -131,26 +329,78 @@ (DECLARE\: EVAL@COMPILE DONTCOPY (DECLARE\: EVAL@COMPILE -(BLOCKRECORD FONTTREENODEBLOCK ((ID FIXP) (TYPE WORD) (NCHILDREN WORD) (SIZEFILLER1 SWAPPEDFIXP) (SIZENODEINFO SWAPPEDFIXP) (SIZEFILLER2 SWAPPEDFIXP) (SIZECHILDREN SWAPPEDFIXP) (DUMMY-LAST-FIELD-DONT-REFERENCE-THIS WORD)) -) - -(BLOCKRECORD CHARSETBLOCK ((SIZE SWAPPEDFIXP) (VERSION WORD) (CHARSETNUM WORD) (MAXWIDTH WORD) (HEIGHT WORD) (ASCENT WORD) (DESCENT WORD) (FBBOX WORD) (FBBOY WORD) (FBBDX WORD) (FBBDY WORD) (DUMMY-LAST-FIELD-DONT-REFERENCE-THIS WORD)) -) - -(BLOCKRECORD FONTDESCRIPTION ((SIZE BITS 8) (WEIGHT BITS 2) (EMPHASIS BITS 1) (UNDERLINE BITS 1) (STRIKEOUT BITS 1) (PLACEMENT BITS 3) (MBZ1 BITS 1) (PITCH BITS 1) (ORNATENESS BITS 1) (FAMILY BITS 12) (MBZ2 BITS 1) (MBZ3 BITS 1) (OFFSET BITS 14) (MBZ4 BITS 1) (MBZ5 BITS 1) (DOUBLEUNDERLINE BITS 1) (UNUSED BITS 14) (DUMMY-LAST-FIELD-DONT-REFERENCE-THIS WORD)) -) +(BLOCKRECORD FONTTREENODEBLOCK ((ID FIXP) + (TYPE WORD) + (NCHILDREN WORD) + (SIZEFILLER1 SWAPPEDFIXP) + (SIZENODEINFO SWAPPEDFIXP) + (SIZEFILLER2 SWAPPEDFIXP) + (SIZECHILDREN SWAPPEDFIXP) + (DUMMY-LAST-FIELD-DONT-REFERENCE-THIS WORD))) + +(BLOCKRECORD CHARSETBLOCK ((SIZE SWAPPEDFIXP) + (VERSION WORD) + (CHARSETNUM WORD) + (MAXWIDTH WORD) + (HEIGHT WORD) + (ASCENT WORD) + (DESCENT WORD) + (FBBOX WORD) + (FBBOY WORD) + (FBBDX WORD) + (FBBDY WORD) + (DUMMY-LAST-FIELD-DONT-REFERENCE-THIS WORD))) + +(BLOCKRECORD FONTDESCRIPTION ((SIZE BITS 8) + (WEIGHT BITS 2) + (EMPHASIS BITS 1) + (UNDERLINE BITS 1) + (STRIKEOUT BITS 1) + (PLACEMENT BITS 3) + (MBZ1 BITS 1) + (PITCH BITS 1) + (ORNATENESS BITS 1) + (FAMILY BITS 12) + (MBZ2 BITS 1) + (MBZ3 BITS 1) + (OFFSET BITS 14) + (MBZ4 BITS 1) + (MBZ5 BITS 1) + (DOUBLEUNDERLINE BITS 1) + (UNUSED BITS 14) + (DUMMY-LAST-FIELD-DONT-REFERENCE-THIS WORD))) ) (DECLARE\: EVAL@COMPILE -(RPAQ FONTTREENODEBLOCKBYTESIZE (CONSTANT (ITIMES BYTESPERWORD (INDEXF (FETCH (FONTTREENODEBLOCK DUMMY-LAST-FIELD-DONT-REFERENCE-THIS) OF T))))) +(RPAQ FONTTREENODEBLOCKBYTESIZE (CONSTANT (ITIMES BYTESPERWORD (INDEXF (FETCH (FONTTREENODEBLOCK + + DUMMY-LAST-FIELD-DONT-REFERENCE-THIS + ) + OF T))))) -(RPAQ CHARSETBLOCKBYTESIZE (CONSTANT (ITIMES BYTESPERWORD (INDEXF (FETCH (CHARSETBLOCK DUMMY-LAST-FIELD-DONT-REFERENCE-THIS) OF T))))) +(RPAQ CHARSETBLOCKBYTESIZE (CONSTANT (ITIMES BYTESPERWORD (INDEXF (FETCH (CHARSETBLOCK + DUMMY-LAST-FIELD-DONT-REFERENCE-THIS + ) + OF T))))) -(RPAQ FONTDESCRIPTIONBYTESIZE (CONSTANT (ITIMES BYTESPERWORD (INDEXF (FETCH (FONTDESCRIPTION DUMMY-LAST-FIELD-DONT-REFERENCE-THIS) OF T))))) +(RPAQ FONTDESCRIPTIONBYTESIZE (CONSTANT (ITIMES BYTESPERWORD (INDEXF (FETCH (FONTDESCRIPTION + DUMMY-LAST-FIELD-DONT-REFERENCE-THIS + ) + OF T))))) -(CONSTANTS (FONTTREENODEBLOCKBYTESIZE (CONSTANT (ITIMES BYTESPERWORD (INDEXF (FETCH (FONTTREENODEBLOCK DUMMY-LAST-FIELD-DONT-REFERENCE-THIS) OF T))))) (CHARSETBLOCKBYTESIZE (CONSTANT (ITIMES BYTESPERWORD (INDEXF (FETCH (CHARSETBLOCK DUMMY-LAST-FIELD-DONT-REFERENCE-THIS) OF T))))) (FONTDESCRIPTIONBYTESIZE (CONSTANT (ITIMES BYTESPERWORD (INDEXF (FETCH (FONTDESCRIPTION DUMMY-LAST-FIELD-DONT-REFERENCE-THIS) OF T)))))) +(CONSTANTS (FONTTREENODEBLOCKBYTESIZE (CONSTANT (ITIMES BYTESPERWORD (INDEXF (FETCH ( + FONTTREENODEBLOCK + + DUMMY-LAST-FIELD-DONT-REFERENCE-THIS + ) OF T))))) + (CHARSETBLOCKBYTESIZE (CONSTANT (ITIMES BYTESPERWORD (INDEXF (FETCH (CHARSETBLOCK + DUMMY-LAST-FIELD-DONT-REFERENCE-THIS + ) OF T))))) + (FONTDESCRIPTIONBYTESIZE (CONSTANT (ITIMES BYTESPERWORD (INDEXF (FETCH (FONTDESCRIPTION + DUMMY-LAST-FIELD-DONT-REFERENCE-THIS + ) OF T)))))) ) ) (DECLARE\: EVAL@COMPILE DONTEVAL@LOAD DOCOPY @@ -164,7 +414,149 @@ (DECLARE\: EVAL@COMPILE -(RPAQQ \\NOVAFONTFAMILYNAMES ((0 . |Classic|) (1 . |Modern|) (2 . |Titan|) (3 . |Pica|) (4 . |Trojan|) (5 . |Vintage|) (6 . |Elite|) (7 . |LetterGothic|) (8 . |Master|) (9 . |Cubic|) (10 . |Roman|) (11 . |Scientific|) (12 . |Gothic|) (13 . |Bold|) (14 . |OcrB|) (15 . |Spokesman|) (16 . |XeroxLogo|) (17 . |CenturyThin|) (18 . |ScientificThin|) (19 . |Helvetica|) (20 . |HelveticaCondensed|) (21 . |Optima|) (22 . |Times|) (23 . |Baskerville|) (24 . |Spartan|) (25 . |Bodoni|) (26 . |Palatino|) (27 . |Caledonia|) (28 . |Memphis|) (29 . |Excelsior|) (30 . |Olympian|) (31 . |Univers|) (32 . |UniversCondensed|) (33 . |Trend|) (34 . |BoxPS|) (35 . |Terminal|) (36 . |OcrA|) (37 . |Logo1|) (38 . |Logo2|) (39 . |Logo3|) (40 . |Geneva2|) (41 . |Times2|) (42 . |Square3|) (43 . |Courier|) (44 . |Futura|) (45 . |Prestige|) (46 . |ALLetterGothic|) (47 . |CenturySchoolBook|) (48 . |Spare1|) (49 . |Spare2|) (50 . |Spare3|) (51 . |Spare4|) (52 . |Spare5|) (53 . |Melior|) (54 . |PCTerminal|) (55 . |ITCAmericanTypewriter|) (56 . |ITCAvantGardeGothic|) (57 . |ITCAvantGardeGothicCondensed|) (58 . |ITCBauhaus|) (59 . |ITCBarcelona|) (60 . |ITCBenguiat|) (61 . |ITCBenguiatCondensed|) (62 . |ITCBenguiatGothic|) (63 . |ITCBerkeleyOldStyle|) (64 . |ITCBookman|) (65 . |ITCCaslonNo224|) (66 . |ITCCentury|) (67 . |ITCCheltenham|) (68 . |ITCClearface|) (69 . |ITCCushing|) (70 . |ITCEras|) (71 . |ITCFenice|) (72 . |ITCFranklinGothic|) (73 . |ITCFrizQuadrata|) (74 . |ITCGalliard|) (75 . |ITCGaramond|) (76 . |ITCIsbell|) (77 . |ITCItalia|) (78 . |ITCKabel|) (79 . |ITCKorinna|) (80 . |ITCLubalinGraph|) (81 . |ITCModernNo216|) (82 . |ITCNewBaskerville|) (83 . |ITCNewtext|) (84 . |ITCNovarese|) (85 . |ITCQuorum|) (86 . |ITCSerifGothic|) (87 . |ITCSouvenir|) (88 . |ITCSymbol|) (89 . |ITCTiffany|) (90 . |ITCUsherwood|) (91 . |ITCWeidemann|) (92 . |ITCVeljovic|) (93 . |ITCZapfBook|) (94 . |ITCZapfChancery|) (95 . |ITCZapfDingbats|) (96 . |ITCZapfInternational|) (97 . |Cipher|) (98 . |FlemishScriptII|) (99 . |Quartz|) (100 . |QuartzA|) (101 . |QuartzT|) (102 . |Souvenir|) (103 . |Shimmer|) (104 . APL) (105 . |Arrows|) (106 . |BravoX|) (107 . |ClassicPiOne|) (108 . |ClassicPiTwo|) (109 . |Cream|) (110 . |Cyrillic|) (111 . |Dots|) (112 . |Gacha|) (113 . |Gates|) (114 . |HelveticaD|) (115 . |Hippo|) (116 . |Keyhole|) (117 . |Laurel|) (118 . |LogoOutline|) (119 . |LSIGates|) (120 . |MarqHippo|) (121 . |MarqRoman|) (122 . |Math|) (123 . |Mathology|) (124 . |OldEnglish|) (125 . |RomanPS|) (126 . |Sigma|) (127 . |Splunk|) (128 . |Template|) (129 . |Testfont|) (130 . |TimesRoman|) (131 . |TimesRomanD|) (132 . |TitanLegal|) (133 . WSSA) (134 . |XeroxBook|) (135 . |LucidaRoman|) (136 . |MonoSpace|) (137 . |Spare6|) (138 . |Spare7|) (139 . |Spare8|) (140 . |Spare9|) (141 . |Spare10|))) +(RPAQQ \\NOVAFONTFAMILYNAMES + ((0 . |Classic|) + (1 . |Modern|) + (2 . |Titan|) + (3 . |Pica|) + (4 . |Trojan|) + (5 . |Vintage|) + (6 . |Elite|) + (7 . |LetterGothic|) + (8 . |Master|) + (9 . |Cubic|) + (10 . |Roman|) + (11 . |Scientific|) + (12 . |Gothic|) + (13 . |Bold|) + (14 . |OcrB|) + (15 . |Spokesman|) + (16 . |XeroxLogo|) + (17 . |CenturyThin|) + (18 . |ScientificThin|) + (19 . |Helvetica|) + (20 . |HelveticaCondensed|) + (21 . |Optima|) + (22 . |Times|) + (23 . |Baskerville|) + (24 . |Spartan|) + (25 . |Bodoni|) + (26 . |Palatino|) + (27 . |Caledonia|) + (28 . |Memphis|) + (29 . |Excelsior|) + (30 . |Olympian|) + (31 . |Univers|) + (32 . |UniversCondensed|) + (33 . |Trend|) + (34 . |BoxPS|) + (35 . |Terminal|) + (36 . |OcrA|) + (37 . |Logo1|) + (38 . |Logo2|) + (39 . |Logo3|) + (40 . |Geneva2|) + (41 . |Times2|) + (42 . |Square3|) + (43 . |Courier|) + (44 . |Futura|) + (45 . |Prestige|) + (46 . |ALLetterGothic|) + (47 . |CenturySchoolBook|) + (48 . |Spare1|) + (49 . |Spare2|) + (50 . |Spare3|) + (51 . |Spare4|) + (52 . |Spare5|) + (53 . |Melior|) + (54 . |PCTerminal|) + (55 . |ITCAmericanTypewriter|) + (56 . |ITCAvantGardeGothic|) + (57 . |ITCAvantGardeGothicCondensed|) + (58 . |ITCBauhaus|) + (59 . |ITCBarcelona|) + (60 . |ITCBenguiat|) + (61 . |ITCBenguiatCondensed|) + (62 . |ITCBenguiatGothic|) + (63 . |ITCBerkeleyOldStyle|) + (64 . |ITCBookman|) + (65 . |ITCCaslonNo224|) + (66 . |ITCCentury|) + (67 . |ITCCheltenham|) + (68 . |ITCClearface|) + (69 . |ITCCushing|) + (70 . |ITCEras|) + (71 . |ITCFenice|) + (72 . |ITCFranklinGothic|) + (73 . |ITCFrizQuadrata|) + (74 . |ITCGalliard|) + (75 . |ITCGaramond|) + (76 . |ITCIsbell|) + (77 . |ITCItalia|) + (78 . |ITCKabel|) + (79 . |ITCKorinna|) + (80 . |ITCLubalinGraph|) + (81 . |ITCModernNo216|) + (82 . |ITCNewBaskerville|) + (83 . |ITCNewtext|) + (84 . |ITCNovarese|) + (85 . |ITCQuorum|) + (86 . |ITCSerifGothic|) + (87 . |ITCSouvenir|) + (88 . |ITCSymbol|) + (89 . |ITCTiffany|) + (90 . |ITCUsherwood|) + (91 . |ITCWeidemann|) + (92 . |ITCVeljovic|) + (93 . |ITCZapfBook|) + (94 . |ITCZapfChancery|) + (95 . |ITCZapfDingbats|) + (96 . |ITCZapfInternational|) + (97 . |Cipher|) + (98 . |FlemishScriptII|) + (99 . |Quartz|) + (100 . |QuartzA|) + (101 . |QuartzT|) + (102 . |Souvenir|) + (103 . |Shimmer|) + (104 . APL) + (105 . |Arrows|) + (106 . |BravoX|) + (107 . |ClassicPiOne|) + (108 . |ClassicPiTwo|) + (109 . |Cream|) + (110 . |Cyrillic|) + (111 . |Dots|) + (112 . |Gacha|) + (113 . |Gates|) + (114 . |HelveticaD|) + (115 . |Hippo|) + (116 . |Keyhole|) + (117 . |Laurel|) + (118 . |LogoOutline|) + (119 . |LSIGates|) + (120 . |MarqHippo|) + (121 . |MarqRoman|) + (122 . |Math|) + (123 . |Mathology|) + (124 . |OldEnglish|) + (125 . |RomanPS|) + (126 . |Sigma|) + (127 . |Splunk|) + (128 . |Template|) + (129 . |Testfont|) + (130 . |TimesRoman|) + (131 . |TimesRomanD|) + (132 . |TitanLegal|) + (133 . WSSA) + (134 . |XeroxBook|) + (135 . |LucidaRoman|) + (136 . |MonoSpace|) + (137 . |Spare6|) + (138 . |Spare7|) + (139 . |Spare8|) + (140 . |Spare9|) + (141 . |Spare10|))) (CONSTANTS \\NOVAFONTFAMILYNAMES) @@ -176,16 +568,16 @@ "initialize the \"noticed\" fonts structure and set up the extensions so we can use the font files") -(DEFGLOBALVAR *NOVAFONT-INFO* NIL) +(DEFGLOBALVAR *NOVAFONT-INFO* NIL) (* |;;;| "correct some omissions in the family aliases and printwheel fonts") -(LISTPUT INTERPRESSFAMILYALIASES (QUOTE XEROXLOGO) (QUOTE LOGOTYPES-XEROX)) +(LISTPUT INTERPRESSFAMILYALIASES 'XEROXLOGO 'LOGOTYPES-XEROX) -(|pushnew| INTERPRESSPRINTWHEELFAMILIES (QUOTE SCIENTIFICTHIN) (QUOTE OCRB) (QUOTE OCRA)) +(|pushnew| INTERPRESSPRINTWHEELFAMILIES 'SCIENTIFICTHIN 'OCRB 'OCRA) @@ -193,7 +585,8 @@ (DECLARE\: EVAL@COMPILE DONTCOPY -(FILESLOAD (LOADCOMP) INTERPRESS LLCHAR) +(FILESLOAD (LOADCOMP) + INTERPRESS LLCHAR) ) @@ -202,13 +595,13 @@ (DECLARE\: DONTEVAL@LOAD DOCOPY -(MOVD? (QUOTE \\READDISPLAYFONTFILE) (QUOTE \\NO-NOVA-READDISPLAYFONTFILE)) +(MOVD? '\\READDISPLAYFONTFILE '\\NO-NOVA-READDISPLAYFONTFILE) -(MOVD? (QUOTE \\CREATECHARSET.IP) (QUOTE \\NO-NOVA-CREATECHARSET.IP)) +(MOVD? '\\CREATECHARSET.IP '\\NO-NOVA-CREATECHARSET.IP) -(MOVD (QUOTE \\READDISPLAYFONTFILE.NOVA) (QUOTE \\READDISPLAYFONTFILE)) +(MOVD '\\READDISPLAYFONTFILE.NOVA '\\READDISPLAYFONTFILE) -(MOVD (QUOTE \\CREATECHARSET.IP.NOVA) (QUOTE \\CREATECHARSET.IP)) +(MOVD '\\CREATECHARSET.IP.NOVA '\\CREATECHARSET.IP) ) @@ -217,19 +610,128 @@ (DECLARE\: DONTEVAL@LOAD DOEVAL@COMPILE DONTCOPY COMPILERVARS -(ADDTOVAR NLAMA) +(ADDTOVAR NLAMA ) + +(ADDTOVAR NLAML ) + +(ADDTOVAR LAMA READ-NOVAFONT-FONTHEADER READ-NOVAFONT-FILEHEADER) +) +(PRETTYCOMPRINT NOVAFONTCOMS) + +(RPAQQ NOVAFONTCOMS + ( + +(* |;;;| "user callable functions (either load-on-demand or load them all") + + (FNS NOTICE-NOVAFONT-FILE LOAD-NOVAFONT-FILE) + + +(* |;;;| "the parts necessary for using with FONTCREATE") + + (FNS \\READNOVAFONTFILE.DISPLAY \\READNOVAFONTFILE.IP) + + +(* |;;;| "modified versions of functions from the default font handling system") + + (FNS \\READDISPLAYFONTFILE.NOVA \\CREATECHARSET.IP.NOVA) + + +(* |;;;| "the parts for general hacking of the NOVAFONT files") + + (FNS DESCRIBE-FONT SELECT-FONT ENUMERATE-FONTS VIEWPOINT-FONT-FILE-P) + (VARS (*WARN-ON-KERNING* NIL)) + (GLOBALVARS *WARN-ON-KERNING*) + + +(* |;;;| "where the NovaFont files are likely to be") + + (VARIABLES *NOVAFONT-PATHNAME-DEFAULTS*) + + +(* |;;;| "things for dealing with the structure of what we read") + + (MACROS READSWAPPEDFIXP) + (FNS READ-BLOCK-OF-BYTES READ-NOVAFONT-CHARACTERSET READ-NOVAFONT-FILEHEADER + READ-NOVAFONT-FONTHEADER \\TEXTBLT) + + +(* |;;;| "the datastructures that we use and their sizes") + + (DECLARE\: EVAL@COMPILE DONTCOPY (RECORDS FONTTREENODEBLOCK CHARSETBLOCK FONTDESCRIPTION) + (CONSTANTS (FONTTREENODEBLOCKBYTESIZE (CONSTANT (ITIMES BYTESPERWORD + (INDEXF (FETCH ( + FONTTREENODEBLOCK + + DUMMY-LAST-FIELD-DONT-REFERENCE-THIS + ) + OF T))))) + (CHARSETBLOCKBYTESIZE (CONSTANT (ITIMES BYTESPERWORD (INDEXF + (FETCH (CHARSETBLOCK + + DUMMY-LAST-FIELD-DONT-REFERENCE-THIS + ) + OF T))))) + (FONTDESCRIPTIONBYTESIZE (CONSTANT (ITIMES BYTESPERWORD + (INDEXF (FETCH (FONTDESCRIPTION + + DUMMY-LAST-FIELD-DONT-REFERENCE-THIS + ) + OF T))))))) + (DECLARE\: EVAL@COMPILE DONTEVAL@LOAD DOCOPY (INITRECORDS FONTTREENODEBLOCK CHARSETBLOCK + FONTDESCRIPTION)) + + +(* |;;;| "the mapping from font family number to font family name for those fonts which don't have the name embedded in the font file.") + + (CONSTANTS \\NOVAFONTFAMILYNAMES) + + +(* |;;;| +"initialize the \"noticed\" fonts structure and set up the extensions so we can use the font files") + + (VARIABLES *NOVAFONT-INFO*) + + +(* |;;;| "correct some omissions in the family aliases and printwheel fonts") + + (P (LISTPUT INTERPRESSFAMILYALIASES 'XEROXLOGO 'LOGOTYPES-XEROX) + (|pushnew| INTERPRESSPRINTWHEELFAMILIES 'SCIENTIFICTHIN 'OCRB 'OCRA)) + + +(* |;;;| "some things we need for compiling. Also need EXPORTS.ALL") + + (DECLARE\: EVAL@COMPILE DONTCOPY (FILES (LOADCOMP) + INTERPRESS LLCHAR)) + + +(* |;;;| "install this:") + + (DECLARE\: DONTEVAL@LOAD DOCOPY (P (MOVD? '\\READDISPLAYFONTFILE + '\\NO-NOVA-READDISPLAYFONTFILE) + (MOVD? '\\CREATECHARSET.IP '\\NO-NOVA-CREATECHARSET.IP) + (MOVD '\\READDISPLAYFONTFILE.NOVA '\\READDISPLAYFONTFILE) + (MOVD '\\CREATECHARSET.IP.NOVA '\\CREATECHARSET.IP))) + + +(* |;;;| "some hints for the compiler (system generated)") + + (DECLARE\: DONTEVAL@LOAD DOEVAL@COMPILE DONTCOPY COMPILERVARS (ADDVARS (NLAMA) + (NLAML) + (LAMA))))) +(DECLARE\: DONTEVAL@LOAD DOEVAL@COMPILE DONTCOPY COMPILERVARS + +(ADDTOVAR NLAMA ) -(ADDTOVAR NLAML) +(ADDTOVAR NLAML ) -(ADDTOVAR LAMA READ-NOVAFONT-FONTHEADER READ-NOVAFONT-FILEHEADER) +(ADDTOVAR LAMA ) ) -(PUTPROPS NOVAFONT COPYRIGHT ("Xerox Corporation" 1986 1987 1988 1989)) (DECLARE\: DONTCOPY - (FILEMAP (NIL (3332 8259 (NOTICE-NOVAFONT-FILE 3342 . 5349) (LOAD-NOVAFONT-FILE 5351 . 8257)) (8326 -15596 (\\READNOVAFONTFILE.DISPLAY 8336 . 14151) (\\READNOVAFONTFILE.IP 14153 . 15594)) (15686 16980 ( -\\READDISPLAYFONTFILE.NOVA 15696 . 16322) (\\CREATECHARSET.IP.NOVA 16324 . 16978)) (17053 22158 ( -DESCRIBE-FONT 17063 . 17758) (SELECT-FONT 17760 . 17991) (ENUMERATE-FONTS 17993 . 20522) ( -VIEWPOINT-FONT-FILE-P 20524 . 22156)) (22744 31254 (READ-BLOCK-OF-BYTES 22754 . 23098) ( -READ-NOVAFONT-CHARACTERSET 23100 . 26783) (READ-NOVAFONT-FILEHEADER 26785 . 28188) ( -READ-NOVAFONT-FONTHEADER 28190 . 30034) (\\TEXTBLT 30036 . 31252))))) + (FILEMAP (NIL (5568 14663 (NOTICE-NOVAFONT-FILE 5578 . 7585) (LOAD-NOVAFONT-FILE 7587 . 14661)) (14730 + 22000 (\\READNOVAFONTFILE.DISPLAY 14740 . 20555) (\\READNOVAFONTFILE.IP 20557 . 21998)) (22090 23384 +(\\READDISPLAYFONTFILE.NOVA 22100 . 22726) (\\CREATECHARSET.IP.NOVA 22728 . 23382)) (23457 28562 ( +DESCRIBE-FONT 23467 . 24162) (SELECT-FONT 24164 . 24395) (ENUMERATE-FONTS 24397 . 26926) ( +VIEWPOINT-FONT-FILE-P 26928 . 28560)) (29599 38109 (READ-BLOCK-OF-BYTES 29609 . 29953) ( +READ-NOVAFONT-CHARACTERSET 29955 . 33638) (READ-NOVAFONT-FILEHEADER 33640 . 35043) ( +READ-NOVAFONT-FONTHEADER 35045 . 36889) (\\TEXTBLT 36891 . 38107))))) STOP diff --git a/lispusers/NOVAFONT.LCOM b/lispusers/NOVAFONT.LCOM index e55d8ce2a2df994de912e86cb885faedcb9b661f..43a3d68b2593d9f17b35c03a227f3decfc1aa5ba 100644 GIT binary patch delta 3046 zcmd^BeQXuT19>> zYp8i$E9CqrmRFUep~Q87FD7&V;z~h9JQrXXmgXiPz)+LOkHlc1S`P}GAcH$5gkmAi zk68cW=0<&Gy=tP(8U$IN%&19So!$P_)9WkE`juw2(VWcUl9Iw%W8x{n3LwUhLI+g9 zBS|qa3aJZ?>OPr;tm-G~jb_Y3I#!aweFl3w$Xcmc$e$|eI=Y`~VqyYV%*s~Pw6-6* zj1=(){-$`RnuTJCX(gLh3qb={5Ui6eJf!*n{1ADy zq~T&An1t3s)1tvtbs-puA|9F{#5n$-j}I?^w*m~g<2m8sQ7jo@NWD|q3AVk}?qP!K}sQN~2lb+FV)!X(0e50GlhdrA^xs(cCIU1*9h61>ks@ zqb9#^N>OTZ$XeR0Z3UMqi&dJ&M;*Y{BaU9*Y}#hnS#%rLtC(iP0ihB~U{;%pjg|V= zX2TAJQfieAhf#DQn)S-!O6|GlSIn(tCpC1JzOhokizkjOkV7q;CV?xDI`QuLA#^|P+NWIh|7IJ_PXHD7RO)m zPP@x}t?4#*`B)40kvpB-whs?r-}~R}?_aiKmKP(fF^~HgK86PvnpqxeU6ApZt=kco z+~twhvu(5PGHPkSp7Zs}cznHW??+z8>ffYp zJZ?XZx_ZFqqXe%UcMssRq;_O@`|MpGb=gVFgM))*wuMIy_5w9r2ES|6v?F}3mWfAv zZFVgkKQU)~?EtVo4e?@4`L2aynpSc>pJ#h&gqM|x(C3QXmham_OfY0%n3Y*Pj%aQWub*n zd+0)UAGbQOVB5EtpPAYBzSYX^c0L&5#lo#FvD^c-_q_M*7Vg>gJ{Z!uPv^b8%YgIs z5u23!k?CJJ-+ymOyN2B%d;4#=I`+4YPj}nlEj+OHc6s3D2k*F8nHNw&HRza2s)a;e z%NaP2q=<~>=9E$zCPV&$mNcf3DDtE{d1^!CqDa*Z6pBbl$>)_>`of`*9HI%jjuUbC zpFtrQGZ|$@rNo7tnn0mY2vH-K$8aJeJj%={2F@TMETdwO9$q-xvU6^ODMi!a*h=IV zU7z1(SeX-166U_H%pxfqwR!HZR^ksqA^8v_gbzd9gOC_?$~>U2A`!arK!Zd%jA(D5 zb@nACN|8e$hpP&S{Jnh$QTafRL`hfoU{n@RUQHKuC69zq7-@#0YY7-`@;#V`QsP)o zB0el2xU#fj2Jx~$=DSCaF)VbDM=Xc<01`xzyyO`o^PXPvoXxF9wX$Ksbm8rJBaxww#|?&+P)v#Aya6{;;2|^)1I$_{ z38wCSTpBf&;QF=aX8^glHkZpyZgl9Rs~5oyaJF}>S4OaemdzENCCKH;p>}$0?7YzX znGU!t+#mU;b6H4)KlvIYeR{-4+6K>q%NYDen|+VS&7vRw-RzccbT3SS+o>_q)( zNBth);~(t@V`uWr5lR?mUk2lM>^$5{JF(!O0oytAN6FPUWIz=3e_*gC$7aKphV+y zAV(8Vl3&Kpg0>bPz7}sM{RzsSQ-(+_aSpT}B!)oVO1yA{2_V80A0w+t29PUB%K7`` z7)ZAYO&}MG@ovOg@G-Mot3GcbhJ3e}C3|WY`2MZZ=*83`$eX28KZ%$K0&}cPvtqStD8r?wevy}65Je7a3Wpak<-=Fyy zNUwegWIaTC_PS2xM26;mU8K5OqWp7N8u@dHBBPk*z9`eCyerdArNfs&z8a=kM?+Whj~8hCuVWP9pQ4f9Fy?z0t5B~rsyt@}0`N5g4Ft!V(rgD743fk0#E?r|Hn7y2?jb1y@u8@{{eb!GTHzD delta 2453 zcma)7Z)_W98IRL7Zqi_Ab}PpO{_4)Bs2}alrL;5Dnfuj<9RQn z+1h=;l7H`WzxVfh-{*Pl_qp%BqNER6NRP)YBnI`O0g~wB1ZIune91@v579uewj78mASp3PjEOQ20zX~9 zv^=+1t3rJVC5`72#mw`k7U!-k@1Cx&)Xv;obFE4ZA8@>^1%|FI+V)6H)?!K+NtVglg@6_XDHK!X zm?$NAc+M!8xw27w{uHZuq-Ye1XR=1ZGRkLiWK>U*Tq!uwuR5R$nfaP-E}Cue*hjOv9VY`fwlTl7I=d8PK1x%xHcV5y>q2Q9FjhZGZ|F;(J$ z`~UI?(Lc4h+a!o3G>+c&svA=4ub*&m)Zv_Ua2xZ^b_YJ(^@izh+Yg=yX{rxeXFRPf zjyN^jG|mHL{b_uZDY^VRwL-)>%HmbZk3``_A%yqU$;`)}{D zA8ypyWX8sQEM&gbHzq!3JiPElv9%+%mzZ_C-IbF~!tWG?$vn#zJ6g3Bu9jw%@UB)n zDd(MP*7XDuCtYpL>im0q7_>9!V6Yb#T4hN%$;tVL>$}}Qt>#>==Hh1yAI@zZ!G2s~ zzsuXK_?x89-g@D8^9Oi05lQgDt@W1gkv<}BNtOBgNL*(}MwAa`t5wt-CSC%Z?W@R5 z;%{U5{%=^_+(TrW*zBlu;XYk|{Z5l~VX9x$ZMGA6b8qD!Dh@KmL9F8u#UA3{Z2u5T zBmQ4`iTKC&iHxT~#Dxzk;`(Rh?uT+allMGWJ?YJSu6p9<>`a=(jUM;v2}S~O)?j2s27^U`q;6UuMKucC^;J$#@!BWwnp%1p z)Nm9Y%}4$cN`6$OMAgSAyxNbfrG!;rWntBJgH+Uk@M9X~vHe1r`gVr0Chf!#g}$=i zJ*z~ZV5CMYy#TVTf?3inGY+z(JftOb4H7E>Qdk4*MCM2qBvk{;Or=YJ=QUU^8K6oq zMhXc$QG3Kz2XZI^f(ViiBZ)rK>7jwnW1UhoWV0aqK++<}#}v*YdLpphsO-0ZE{amr zZYx3(L}*;Ox>B3E)PN*Npo`c^=uxM9=5gPa#bR4DX0X{WO2RdumAk-t*5^ z9PWB0HhbCQqEA5%i5d7C_^eMpP1A{! z7=0Q)LT@GF7~M&E=qr<_F?!nYAZCoO@8WzwUm86|KQTIx`G>)Ft|WUAUq}uk{$X^G z9!g;W)Hjyfhp!<&H2VAd8~9#YO)>Gk)HLFOaSwfMOrS5NSpnSsZj5$$a_;QJ9KJ91v+$qM~9$}heqm%o&Msay+r6!3DpAU<{lf;SPp+kGw zwf4hSiN6`mAnP3~WBFM!ni!y+<44$WA^UQgr}xI#p>>S2|CHC%vz&l`-F$)Mci#69 rC;4*0zN7*_UR$Yu72@@k<@(Ch)w%i-&$?KcL4<+EAd30m_S}B~5E+wC From 26d9d74ce8e98f977fd258a8289f8f3dda44acbb Mon Sep 17 00:00:00 2001 From: rmkaplan Date: Fri, 4 Sep 2026 17:20:24 -0700 Subject: [PATCH 06/30] IMPORTFONTS.TEDIT: document IMPORT.POSTSCRIPT --- library/IMPORTFONTS.TEDIT | Bin 10125 -> 11807 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/library/IMPORTFONTS.TEDIT b/library/IMPORTFONTS.TEDIT index cfe7fdd92eb18efc73c6f64552b247eb6b09b378..62982cf5cead80f7c4904abb53e43c0dc5cb9991 100644 GIT binary patch delta 1991 zcmZuy&2A$_5VjrIO-vGDM?$Q?ODzOquaa@HLL73-Iu01cKeA^f5;j`3XWDjaXQoHp zV+Ail);<6TX&wN?f%_^qIC0~+0*M#k5x8*)RXzRSDY zIz2i&X*O)2rPHcb08ZM?`f;sYTKn>37&wuT!9~^{aBzhVJvM@#45IkW+?}xo5iIx# z4T>`tdP@4x6CO{_6E=_vM5MtPFr|64r$g?Do^U`9yRJ~&iKG%-TiO3B<9?UB8X}ZH zq4%_S#vxK{9O#}@J|l%1j}$aI#sYfG7ap=fvEnhUg|iEF>2eiVmQ_L`7QrP~9E2Zw z+~+~WT}p)_1oCoEcD3|)#F1}Op-%0*+5ry>Fw|UW2$}Pgjr;r%$Y}(9Zxjv^4Wv#3 zCQpi400$3%VW@~bXHV5!J_(kU0@4qebfFuIi*LF4v+TV3v51tKc+*+0+ci0LO~K9`-k}lGD3xc7COQ%&Lx@}PAp{)Bzh)w#tdg^FrNr~ z5irk~9?na+Z{`#$Ma?#&Vx%I8>8UMzu2oU`)Zay0tbDdutGAkM+iEpCcBj&=we0w( zTxpyI^P8NS+Xk?c*a8%r?b%K0z)tZ#+=qR9<|HL@-3ZTfjlWX3QgZ>~{62jx+Xf1TOEf zp%>xRhEPcd`;Mb#nu@%W*ydaC*pPgkNcg5KXil*3)9dp!Psc_G#U+!C_~;&);QH1Zh!EM# zKZE<-_{V!zHH*9P;?Wwu{C*So_Xd!LCE#l7{qHhklA535M(OMHhFVDfBia&xPsVJT zQ-lDLeMSH|E;*Cd8Lio@AhJ{rifqMyf0!G;jXUFR%0PytDMC@uF!SpoKo(n5fKpGr zl6)3_Nf~8hG|$p{mv;L^GlOuGJ~YVHKif|-o0G4>*Qe!kV_euff(#ukW1id w3PDmRB9Fl$n`^b>nb?Z+ON)|IC%@8F77B843~{x}eytzIz#x&%u&Zhp0QxX&@Bjb+ From d2c667b6aa8eb24281120bfc0747b0f37df54a9d Mon Sep 17 00:00:00 2001 From: rmkaplan Date: Sat, 5 Sep 2026 00:35:35 -0700 Subject: [PATCH 07/30] Moved INTERPRESS into the IMPORTFONTS framework --- library/IMPORTFONTS | 44 ++++++++------ library/IMPORTFONTS.LCOM | Bin 25710 -> 25947 bytes library/IMPORTFONTS.TEDIT | Bin 11807 -> 12116 bytes sources/INTERPRESS | 125 +++++++++++++++++++++++--------------- sources/INTERPRESS.LCOM | Bin 57042 -> 58382 bytes 5 files changed, 104 insertions(+), 65 deletions(-) diff --git a/library/IMPORTFONTS b/library/IMPORTFONTS index a71e481db..7ed214d03 100644 --- a/library/IMPORTFONTS +++ b/library/IMPORTFONTS @@ -1,12 +1,12 @@ (DEFINE-FILE-INFO :PACKAGE "INTERLISP" :READTABLE "INTERLISP" :BASE 10 :FORMAT :UTF-8) -(FILECREATED " 3-Sep-2026 23:42:45" {MEDLEY}IMPORTFONTS.;141 68314 +(FILECREATED " 4-Sep-2026 23:05:12" {MEDLEY}IMPORTFONTS.;144 68821 :EDIT-BY rmk - :CHANGES-TO (FNS IMPORT.POSTSCRIPT) + :CHANGES-TO (FNS IMPORTFONTS) - :PREVIOUS-DATE " 2-Sep-2026 09:14:33" {MEDLEY}IMPORTFONTS.;140) + :PREVIOUS-DATE " 4-Sep-2026 21:52:16" {MEDLEY}IMPORTFONTS.;143) (PRETTYCOMPRINT IMPORTFONTSCOMS) @@ -20,7 +20,7 @@ (FNS IMPORT.DISPLAY LEGACYDISPLAYFONT NSDISPLAYSIZE) (INITVARS (DONSDISPLAYSIZE NIL)) (FILES ACFONT)) - (COMS (FNS IMPORT.POSTSCRIPT)) + (FNS IMPORT.POSTSCRIPT IMPORT.INTERPRESS) (COMS (* ; "For testing") (FNS IPF IPFSIZES) (FNS PEF AEF IEF MEF CEF FEF DEF EFCLOSE) @@ -30,6 +30,7 @@ (IMPORTFONTS [LAMBDA (PHASE FONTSPECS DEVICE FROMDIR TODIR IMPORTFN NODRIBBLE) + (* ; "Edited 4-Sep-2026 22:38 by rmk") (* ; "Edited 2-Sep-2026 09:04 by rmk") (* ; "Edited 31-Aug-2026 22:42 by rmk") (* ; "Edited 9-Jul-2026 22:14 by rmk") @@ -67,6 +68,10 @@ (IMPORTFONTS.CONTEXT PHASE FROMDIR TODIR DEVICE)) (IMPORTFONTS.CLEAR PHASE FONTSPECS TODIR DEVICE) (SETQ FONTSPECS (IMPORTFONTS.FONTSPECS PHASE FONTSPECS FROMDIR DEVICE)) + (CL:UNLESS FONTSPECS + (PRINTOUT T "NO FONTS TO IMPORT") + (RETFROM (FUNCTION IMPORTFONTS) + NIL)) (CL:WHEN (AND (IGEQ (LENGTH FONTSPECS) 5) (NOT NODRIBBLE)) @@ -750,14 +755,18 @@ (DEFINEQ (IMPORT.POSTSCRIPT - [LAMBDA (FONTSPECS NODRIBBLE) (* ; "Edited 3-Sep-2026 23:42 by rmk") + [LAMBDA (FONTSPECS NODRIBBLE) (* ; "Edited 4-Sep-2026 20:45 by rmk") (* ; "Edited 1-Sep-2026 22:53 by rmk") (* ; "Edited 4-May-2026 15:18 by rmk") (* ; "Edited 28-Mar-2026 23:08 by rmk") (* ; "Edited 18-Mar-2026 23:54 by rmk") (IMPORTFONTS 'IMPORT (OR FONTSPECS (MAKEFONTSPEC '* 0 '* '* 'POSTSCRIPT)) - 'POSTSCRIPT NIL NIL (FUNCTION PSCFONT.TO.MEDLEYFONT) + 'POSTSCRIPT NIL NIL (FUNCTION PSCFONT.TO.FONTDESCRIPTOR) NODRIBBLE]) + +(IMPORT.INTERPRESS + [LAMBDA (FONTSPECS) (* ; "Edited 4-Sep-2026 21:48 by rmk") + (IMPORTFONTS 'IMPORT FONTSPECS 'INTERPRESS NIL NIL (FUNCTION IPFONT.TO.FONTDESCRIPTOR]) ) @@ -1004,15 +1013,16 @@ (FILESLOAD EDITFONT) (DECLARE%: DONTCOPY - (FILEMAP (NIL (1248 36199 (IMPORTFONTS 1258 . 14863) (FONT.TO.MCCS 14865 . 17115) ( -IMPORTFONTS.FONTSPECS 17117 . 26068) (IMPORTFONTS.CONTEXT 26070 . 29779) (IMPORTFONTS.NOCACHE 29781 . -30032) (IMPORTFONTS.DIRECTORY 30034 . 32385) (IMPORTFONTS.CLEAR 32387 . 34933) (IMPORTFONTS.SUBDIR -34935 . 35584) (IMPORTFONTS.DIRSIZE 35586 . 36197)) (36200 37653 (IMPORTFONTS.AVAILABLE 36210 . 36908) - (IMPORTFONTS.EXISTS? 36910 . 37651)) (37654 44437 (FAKEFACE 37664 . 41401) (FAKEFACE.FROMFILE 41403 - . 43644) (FAKEFACE.FROMFONT 43646 . 44435)) (44481 51069 (IMPORT.DISPLAY 44491 . 45029) ( -LEGACYDISPLAYFONT 45031 . 48316) (NSDISPLAYSIZE 48318 . 51067)) (51123 51871 (IMPORT.POSTSCRIPT 51133 - . 51869)) (51900 54232 (IPF 51910 . 52704) (IPFSIZES 52706 . 54230)) (54233 62561 (PEF 54243 . 57612) - (AEF 57614 . 58337) (IEF 58339 . 59041) (MEF 59043 . 59743) (CEF 59745 . 60449) (FEF 60451 . 61369) ( -DEF 61371 . 62073) (EFCLOSE 62075 . 62559)) (62562 68269 (SHOWCHARS 62572 . 64602) (CSSOURCE 64604 . -65317) (FONTDEFFONTS 65319 . 66430) (FLATCHARCOERCIONS 66432 . 68267))))) + (FILEMAP (NIL (1253 36473 (IMPORTFONTS 1263 . 15137) (FONT.TO.MCCS 15139 . 17389) ( +IMPORTFONTS.FONTSPECS 17391 . 26342) (IMPORTFONTS.CONTEXT 26344 . 30053) (IMPORTFONTS.NOCACHE 30055 . +30306) (IMPORTFONTS.DIRECTORY 30308 . 32659) (IMPORTFONTS.CLEAR 32661 . 35207) (IMPORTFONTS.SUBDIR +35209 . 35858) (IMPORTFONTS.DIRSIZE 35860 . 36471)) (36474 37927 (IMPORTFONTS.AVAILABLE 36484 . 37182) + (IMPORTFONTS.EXISTS? 37184 . 37925)) (37928 44711 (FAKEFACE 37938 . 41675) (FAKEFACE.FROMFILE 41677 + . 43918) (FAKEFACE.FROMFONT 43920 . 44709)) (44755 51343 (IMPORT.DISPLAY 44765 . 45303) ( +LEGACYDISPLAYFONT 45305 . 48590) (NSDISPLAYSIZE 48592 . 51341)) (51397 52378 (IMPORT.POSTSCRIPT 51407 + . 52147) (IMPORT.INTERPRESS 52149 . 52376)) (52407 54739 (IPF 52417 . 53211) (IPFSIZES 53213 . 54737) +) (54740 63068 (PEF 54750 . 58119) (AEF 58121 . 58844) (IEF 58846 . 59548) (MEF 59550 . 60250) (CEF +60252 . 60956) (FEF 60958 . 61876) (DEF 61878 . 62580) (EFCLOSE 62582 . 63066)) (63069 68776 ( +SHOWCHARS 63079 . 65109) (CSSOURCE 65111 . 65824) (FONTDEFFONTS 65826 . 66937) (FLATCHARCOERCIONS +66939 . 68774))))) STOP diff --git a/library/IMPORTFONTS.LCOM b/library/IMPORTFONTS.LCOM index 0e1bf3eb9496803127b79f5819abdd0aa7b99ebe..383e0711dbd0d1713a80e7e6b3315a1807702f09 100644 GIT binary patch delta 3160 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 H8PEO$mi^YL diff --git a/library/IMPORTFONTS.TEDIT b/library/IMPORTFONTS.TEDIT index 62982cf5cead80f7c4904abb53e43c0dc5cb9991..652b45062a56996526da9a6bd04d7d657245b19e 100644 GIT binary patch delta 602 zcmbOqb0uyD zq?P6+mt^MWDFg&NgVgDT`0JsnpR6k`6~*O~nVnjmS)8h);F(vFT2xS!T3oDV0R11?OdCkB$jb9@=kuKcxSS%a?IqnN+z2-mCrE= z^D;0numLdx2M~ie42+Xssi{ovQ{!Odp1em*1wyj&0A+Y4bE%t7-mfM(nNOWVj0-5j z2i5>07?^;Nfx&Qcpt_zbCy-SS5@ZAsKnalHCqPVOfnR6>j0z|Mn~$jXF-fxn#e`tu zVBM@B9?(p-$+=oejI5IE^8RNC$w*a5E6qzT$;{7F z2ncot$?App>mk%mHjt2-%qRYPv$o_iPDZ}Tmz3_XF*2wyGK5TSRFKc<*sY_1oRp)`y99+B%3=BL#%)mZbUR`DKJaxm# zU(^K|btZ4r6P+xrA?eBml&c3RU<45iObnbr@&t&9Ebt3WfKdTOU~{ELACoj2P)rCW z4%W>I;sMR%n5?9&#K=C`RojM2fTzP&B46+^!m#cOG0NXQ1^8f$< diff --git a/sources/INTERPRESS b/sources/INTERPRESS index 2ef5f0aae..3c7aca50d 100644 --- a/sources/INTERPRESS +++ b/sources/INTERPRESS @@ -1,12 +1,12 @@ (DEFINE-FILE-INFO :PACKAGE "INTERLISP" :READTABLE "INTERLISP" :BASE 10) -(FILECREATED " 1-Sep-2026 12:23:07" {MEDLEY}INTERPRESS.;115 215601 +(FILECREATED " 4-Sep-2026 23:09:15" {MEDLEY}INTERPRESS.;122 217135 :EDIT-BY rmk - :CHANGES-TO (FNS \CHANGE-VISIBLE-REGION.IP \DSPFONT.IP \CREATEINTERPRESSFONT) + :CHANGES-TO (VARS INTERPRESSCOMS) - :PREVIOUS-DATE "26-Jul-2026 12:06:15" {MEDLEY}INTERPRESS.;114) + :PREVIOUS-DATE " 4-Sep-2026 22:22:18" {MEDLEY}INTERPRESS.;119) (PRETTYCOMPRINT INTERPRESSCOMS) @@ -103,12 +103,14 @@ SCIENTIFIC SPOKESMAN TITAN TREND TRENDPS TROJAN VINTAGE)) (INTERPRESSFAMILYALIASES '(LOGO LOGOTYPES-XEROX] - (FNS \CREATEINTERPRESSFONT \CREATECHARSET.IP) - (FNS) + (FNS \CREATEINTERPRESSFONT \CREATECHARSET.IP IPFONT.TO.FONTDESCRIPTOR) [COMS (FNS IPFONT.FILEP IPFONT.GETCHARSET \FACECODE \FAMILYCODE) (MACROS \POSITIONFONTFILE) (EXPORT (CONSTANTS (noInfoCode 32768] - (ADDVARS (INTERPRESSCHARSETFNS (INTERPRESS IPFONT.FILEP IPFONT.GETCHARSET))) + [ADDVARS (INTERPRESSCHARSETFNS (MEDLEYFONT MEDLEYFONT.FILEP MEDLEYFONT.GETCHARSET) + (INTERPRESS IPFONT.FILEP IPFONT.GETCHARSET)) + (INTERPRESSFILETEMPLATES (MEDLEYFONT (FAMILY SIZE - FACE)) + (INTERPRESS (c CHARSET > FAMILY SIZE - FACE -c CHARSET] (INITVARS (INTERPRESSFONTCOERCIONS '((TIMESROMAN CLASSIC) (GACHA TERMINAL) (HELVETICA MODERN) @@ -3572,6 +3574,24 @@ (* ; "Edited 5-Aug-2025 22:33 by rmk") (* ; "Edited 23-Jul-2025 13:22 by rmk") (\READCHARSET FONT CHARSET]) + +(IPFONT.TO.FONTDESCRIPTOR + [LAMBDA (FONTSPEC FROMDIR) (* ; "Edited 4-Sep-2026 22:11 by rmk") + (SETQ FONTSPEC (\FONT.CHECKARGS FONTSPEC NIL NIL NIL 'INTERPRESS T)) + (RESETLST + (IMPORTFONTS.NOCACHE) + (CL:WHEN FROMDIR + [RESETSAVE (FONTDEVICEPROP 'INTERPRESS 'FONTDIRECTORIES FROMDIR) + `(PROGN (FONTDEVICEPROP 'INTERPRESS 'FONTDIRECTORIES OLDVALUE]) + + (* ;; "Put MEDLEYINTERPRESSFONT first for output, WD for input.") + + [RESETSAVE (FONTDEVICEPROP 'INTERPRESS 'FONTEXTENSIONS '(MEDLEYINTERPRESSFONT WD) + FROMDIR) + `(PROGN (FONTDEVICEPROP 'DISPLAY 'FONTEXTENSIONS OLDVALUE] + (LET ((FD (FONTCREATE FONTSPEC))) + (for CSNO from 1 to 255 do (\INSURECHARSETINFO FD CSNO)) + FD))]) ) (DEFINEQ @@ -3580,7 +3600,8 @@ (STRING.EQUAL "wd" (FILENAMEFIELD STREAM 'EXTENSION]) (IPFONT.GETCHARSET - [LAMBDA (FILE CHARSET FONT) (* ; "Edited 7-Sep-2025 23:38 by rmk") + [LAMBDA (FILE CHARSET FONT) (* ; "Edited 4-Sep-2026 22:22 by rmk") + (* ; "Edited 7-Sep-2025 23:38 by rmk") (* ; "Edited 28-Aug-2025 23:18 by rmk") (* ; "Edited 22-Jul-2025 23:24 by rmk") (* ; "Edited 21-Jul-2025 18:32 by rmk") @@ -3626,6 +3647,9 @@  "Get the max bounding width for the font") (replace (CHARSETINFO CHARSETDESCENT) of CSINFO with (IMINUS (SIGNED (\WIN WSTRM) BITSPERWORD))) + + (* ;; "NEXT LINE THROWS AN ERROR -50 FOR HELVETICA 6 MRR CHARSET 238, WHEN COMPILED!") + (\WIN WSTRM) (* ; "RMK: Not sure what this is") (SETQ CHARSETHEIGHT (SIGNED (\WIN WSTRM) BITSPERWORD)) @@ -3801,7 +3825,11 @@ (* "END EXPORTED DEFINITIONS") -(ADDTOVAR INTERPRESSCHARSETFNS (INTERPRESS IPFONT.FILEP IPFONT.GETCHARSET)) +(ADDTOVAR INTERPRESSCHARSETFNS (MEDLEYFONT MEDLEYFONT.FILEP MEDLEYFONT.GETCHARSET) + (INTERPRESS IPFONT.FILEP IPFONT.GETCHARSET)) + +(ADDTOVAR INTERPRESSFILETEMPLATES (MEDLEYFONT (FAMILY SIZE - FACE)) + (INTERPRESS (c CHARSET > FAMILY SIZE - FACE -c CHARSET))) (RPAQ? INTERPRESSFONTCOERCIONS '((TIMESROMAN CLASSIC) @@ -3828,44 +3856,45 @@ (LOADDEF 'BRUSH 'RECORDS 'IMAGEIO) ) (DECLARE%: DONTCOPY - (FILEMAP (NIL (16751 22403 (APPENDBYTE.IP 16761 . 16897) (APPENDIDENTIFIER.IP 16899 . 17421) ( -APPENDINT.IP 17423 . 17874) (APPENDINTEGER.IP 17876 . 18448) (APPENDLARGEVECTOR.IP 18450 . 19415) ( -APPENDNUMBER.IP 19417 . 19886) (APPENDOP.IP 19888 . 20534) (APPENDRATIONAL.IP 20536 . 21029) ( -APPENDSEQUENCEDESCRIPTOR.IP 21031 . 22226) (BYTESININT.IP 22228 . 22401)) (22439 62246 (ARCTO.IP 22449 - . 23730) (BEGINMASTER.IP 23732 . 24005) (BEGINPAGE.IP 24007 . 24363) (BEGINPREAMBLE.IP 24365 . 24736) - (CLIPRECTANGLE.IP 24738 . 25228) (CONCAT.IP 25230 . 25495) (CONCATT.IP 25497 . 25764) (ENDMASTER.IP -25766 . 26210) (ENDPAGE.IP 26212 . 26589) (ENDPREAMBLE.IP 26591 . 27390) (FGET.IP 27392 . 27695) ( -FILLRECTANGLE.IP 27697 . 30025) (FILLTRAJECTORY.IP 30027 . 30662) (FILLNGON.IP 30664 . 32941) (FSET.IP - 32943 . 33246) (GETFRAMEVAR.IP 33248 . 33566) (INITIALIZEMASTER.IP 33568 . 34169) (INITIALIZECOLOR.IP - 34171 . 35492) (ISET.IP 35494 . 35865) (GETCP.IP 35867 . 36176) (LINETO.IP 36178 . 36783) ( -MASKSTROKE.IP 36785 . 37058) (MOVETO.IP 37060 . 37397) (ROTATE.IP 37399 . 37701) (SCALE.IP 37703 . -38006) (SCALE2.IP 38008 . 38345) (SETCOLOR.IP 38347 . 40576) (SETRGB.IP 40578 . 41634) (SETCOLORLV.IP -41636 . 46249) (SETCOLOR16.IP 46251 . 49357) (SETFONT.IP 49359 . 50180) (SETSPACE.IP 50182 . 50494) ( -SETXREL.IP 50496 . 51680) (SETX.IP 51682 . 53199) (SETXY.IP 53201 . 54373) (SETXYREL.IP 54375 . 55681) - (SETY.IP 55683 . 56992) (SETYREL.IP 56994 . 57894) (SHOW.IP 57896 . 61156) (TRAJECTORY.IP 61158 . -61556) (TRANS.IP 61558 . 61897) (TRANSLATE.IP 61899 . 62244)) (62277 68023 (\CHANGE-VISIBLE-REGION.IP -62287 . 65604) (\PAPERSIZE.IP 65606 . 66427) (HEADINGOP.IP 66429 . 68021)) (68024 172655 ( -DEFINEFONT.IP 68034 . 69008) (FONTNAME.IP 69010 . 69940) (INTERPRESS.BITMAPSCALE 69942 . 70735) ( -INTERPRESS.OUTCHARFN 70737 . 77244) (NEWLINE.IP 77246 . 77978) (NEWPAGE.IP 77980 . 82955) (NEWPAGE?.IP - 82957 . 83436) (OPENIPSTREAM 83438 . 91789) (SETUPFONTS.IP 91791 . 92783) (SHOWBITMAP.IP 92785 . -97326) (\BITMAPSIZE.IP 97328 . 98105) (SHOWBITMAP1.IP 98107 . 102479) (SHOWSHADE.IP 102481 . 103434) ( -\BITBLT.IP 103436 . 107640) (\SCALEDBITBLT.IP 107642 . 111287) (\BLTSHADE.IP 111289 . 112747) ( -\CHARWIDTH.IP 112749 . 113199) (\CLOSEIPSTREAM 113201 . 113528) (\DRAWARC.IP 113530 . 113977) ( -\DRAWCURVE.IP 113979 . 116416) (\DRAWPOINT.IP 116418 . 117455) (\DSPCOLOR.IP 117457 . 118408) ( -ENSURE.RGB 118410 . 119074) (\IPCURVE2 119076 . 132330) (\CLIPCURVELINE.IP 132332 . 137030) ( -\DRAWLINE.IP 137032 . 140764) (\CLIPLINE 140766 . 145466) (\DSPBOTTOMMARGIN.IP 145468 . 145884) ( -\DSPFONT.IP 145886 . 150757) (\DSPLEFTMARGIN.IP 150759 . 151219) (\DSPLINEFEED.IP 151221 . 151888) ( -\DSPRIGHTMARGIN.IP 151890 . 152687) (\DSPSPACEFACTOR.IP 152689 . 153818) (\DSPTOPMARGIN.IP 153820 . -154256) (\DSPXPOSITION.IP 154258 . 155245) (\DSPROTATE.IP 155247 . 155425) (\PUSHSTATE.IP 155427 . -156319) (\POPSTATE.IP 156321 . 156956) (\DEFAULTSTATE.IP 156958 . 157310) (\DSPTRANSLATE.IP 157312 . -157493) (\DSPSCALE2.IP 157495 . 157670) (\DSPYPOSITION.IP 157672 . 157973) (FILLCIRCLE.IP 157975 . -159058) (\FILLPOLYGON.IP 159060 . 160391) (\DRAWPOLYGON.IP 160393 . 166523) (\FIXLINELENGTH.IP 166525 - . 167739) (\MOVETO.IP 167741 . 168105) (\SETBRUSH.IP 168107 . 170273) (\STRINGWIDTH.IP 170275 . -170678) (\DSPCLIPPINGREGION.IP 170680 . 171856) (\DSPOPERATION.IP 171858 . 172653)) (172656 174555 ( -INTERPRESSFILEP 172666 . 174099) (INTERPRESS.TEDIT 174101 . 174553)) (174746 175501 (IP-TOS 174756 . -175016) (POP-IP-STACK 175018 . 175313) (PUSH-IP-STACK 175315 . 175499)) (175562 176486 ( -\CHANGECHARSET.IP 175572 . 176484)) (176487 180103 (\INTERPRESSINIT 176497 . 180101)) (193187 195611 ( -INTERPRESSBITMAP 193197 . 195609)) (197950 200840 (\CREATEINTERPRESSFONT 197960 . 199800) ( -\CREATECHARSET.IP 199802 . 200838)) (200841 213014 (IPFONT.FILEP 200851 . 201035) (IPFONT.GETCHARSET -201037 . 211135) (\FACECODE 211137 . 211727) (\FAMILYCODE 211729 . 213012))))) + (FILEMAP (NIL (16957 22609 (APPENDBYTE.IP 16967 . 17103) (APPENDIDENTIFIER.IP 17105 . 17627) ( +APPENDINT.IP 17629 . 18080) (APPENDINTEGER.IP 18082 . 18654) (APPENDLARGEVECTOR.IP 18656 . 19621) ( +APPENDNUMBER.IP 19623 . 20092) (APPENDOP.IP 20094 . 20740) (APPENDRATIONAL.IP 20742 . 21235) ( +APPENDSEQUENCEDESCRIPTOR.IP 21237 . 22432) (BYTESININT.IP 22434 . 22607)) (22645 62452 (ARCTO.IP 22655 + . 23936) (BEGINMASTER.IP 23938 . 24211) (BEGINPAGE.IP 24213 . 24569) (BEGINPREAMBLE.IP 24571 . 24942) + (CLIPRECTANGLE.IP 24944 . 25434) (CONCAT.IP 25436 . 25701) (CONCATT.IP 25703 . 25970) (ENDMASTER.IP +25972 . 26416) (ENDPAGE.IP 26418 . 26795) (ENDPREAMBLE.IP 26797 . 27596) (FGET.IP 27598 . 27901) ( +FILLRECTANGLE.IP 27903 . 30231) (FILLTRAJECTORY.IP 30233 . 30868) (FILLNGON.IP 30870 . 33147) (FSET.IP + 33149 . 33452) (GETFRAMEVAR.IP 33454 . 33772) (INITIALIZEMASTER.IP 33774 . 34375) (INITIALIZECOLOR.IP + 34377 . 35698) (ISET.IP 35700 . 36071) (GETCP.IP 36073 . 36382) (LINETO.IP 36384 . 36989) ( +MASKSTROKE.IP 36991 . 37264) (MOVETO.IP 37266 . 37603) (ROTATE.IP 37605 . 37907) (SCALE.IP 37909 . +38212) (SCALE2.IP 38214 . 38551) (SETCOLOR.IP 38553 . 40782) (SETRGB.IP 40784 . 41840) (SETCOLORLV.IP +41842 . 46455) (SETCOLOR16.IP 46457 . 49563) (SETFONT.IP 49565 . 50386) (SETSPACE.IP 50388 . 50700) ( +SETXREL.IP 50702 . 51886) (SETX.IP 51888 . 53405) (SETXY.IP 53407 . 54579) (SETXYREL.IP 54581 . 55887) + (SETY.IP 55889 . 57198) (SETYREL.IP 57200 . 58100) (SHOW.IP 58102 . 61362) (TRAJECTORY.IP 61364 . +61762) (TRANS.IP 61764 . 62103) (TRANSLATE.IP 62105 . 62450)) (62483 68229 (\CHANGE-VISIBLE-REGION.IP +62493 . 65810) (\PAPERSIZE.IP 65812 . 66633) (HEADINGOP.IP 66635 . 68227)) (68230 172861 ( +DEFINEFONT.IP 68240 . 69214) (FONTNAME.IP 69216 . 70146) (INTERPRESS.BITMAPSCALE 70148 . 70941) ( +INTERPRESS.OUTCHARFN 70943 . 77450) (NEWLINE.IP 77452 . 78184) (NEWPAGE.IP 78186 . 83161) (NEWPAGE?.IP + 83163 . 83642) (OPENIPSTREAM 83644 . 91995) (SETUPFONTS.IP 91997 . 92989) (SHOWBITMAP.IP 92991 . +97532) (\BITMAPSIZE.IP 97534 . 98311) (SHOWBITMAP1.IP 98313 . 102685) (SHOWSHADE.IP 102687 . 103640) ( +\BITBLT.IP 103642 . 107846) (\SCALEDBITBLT.IP 107848 . 111493) (\BLTSHADE.IP 111495 . 112953) ( +\CHARWIDTH.IP 112955 . 113405) (\CLOSEIPSTREAM 113407 . 113734) (\DRAWARC.IP 113736 . 114183) ( +\DRAWCURVE.IP 114185 . 116622) (\DRAWPOINT.IP 116624 . 117661) (\DSPCOLOR.IP 117663 . 118614) ( +ENSURE.RGB 118616 . 119280) (\IPCURVE2 119282 . 132536) (\CLIPCURVELINE.IP 132538 . 137236) ( +\DRAWLINE.IP 137238 . 140970) (\CLIPLINE 140972 . 145672) (\DSPBOTTOMMARGIN.IP 145674 . 146090) ( +\DSPFONT.IP 146092 . 150963) (\DSPLEFTMARGIN.IP 150965 . 151425) (\DSPLINEFEED.IP 151427 . 152094) ( +\DSPRIGHTMARGIN.IP 152096 . 152893) (\DSPSPACEFACTOR.IP 152895 . 154024) (\DSPTOPMARGIN.IP 154026 . +154462) (\DSPXPOSITION.IP 154464 . 155451) (\DSPROTATE.IP 155453 . 155631) (\PUSHSTATE.IP 155633 . +156525) (\POPSTATE.IP 156527 . 157162) (\DEFAULTSTATE.IP 157164 . 157516) (\DSPTRANSLATE.IP 157518 . +157699) (\DSPSCALE2.IP 157701 . 157876) (\DSPYPOSITION.IP 157878 . 158179) (FILLCIRCLE.IP 158181 . +159264) (\FILLPOLYGON.IP 159266 . 160597) (\DRAWPOLYGON.IP 160599 . 166729) (\FIXLINELENGTH.IP 166731 + . 167945) (\MOVETO.IP 167947 . 168311) (\SETBRUSH.IP 168313 . 170479) (\STRINGWIDTH.IP 170481 . +170884) (\DSPCLIPPINGREGION.IP 170886 . 172062) (\DSPOPERATION.IP 172064 . 172859)) (172862 174761 ( +INTERPRESSFILEP 172872 . 174305) (INTERPRESS.TEDIT 174307 . 174759)) (174952 175707 (IP-TOS 174962 . +175222) (POP-IP-STACK 175224 . 175519) (PUSH-IP-STACK 175521 . 175705)) (175768 176692 ( +\CHANGECHARSET.IP 175778 . 176690)) (176693 180309 (\INTERPRESSINIT 176703 . 180307)) (193393 195817 ( +INTERPRESSBITMAP 193403 . 195815)) (198156 201915 (\CREATEINTERPRESSFONT 198166 . 200006) ( +\CREATECHARSET.IP 200008 . 201044) (IPFONT.TO.FONTDESCRIPTOR 201046 . 201913)) (201916 214300 ( +IPFONT.FILEP 201926 . 202110) (IPFONT.GETCHARSET 202112 . 212421) (\FACECODE 212423 . 213013) ( +\FAMILYCODE 213015 . 214298))))) STOP diff --git a/sources/INTERPRESS.LCOM b/sources/INTERPRESS.LCOM index 4836dda38ced10ec90c557a6d54b59883600f9be..b3a5a1c50eb087b6c802a5bfd5776e2cdcd6007c 100644 GIT binary patch delta 1717 zcmb7E&u<$=6t-h2wA&_7HH8vI>BCZ`T_KzOVLQ$qO18UW@1*P9&CaZwq`A;IYC_T^ zDm@@^@Pz{c2`GE1xWEMjLP(`PfrN6Y;^c-9a4X_Z0C7g;?b?mE4pqe-?3p*;`}MtV z=I0-CA0FgBUOZbWu(jQSDytPxHC>+7mCBt>xvi=a2zf}Ks=6lYWi=1iZ>_EF+}z#R zT5G}D+q<{kx~RkU&h7P$?HjPM4f$H=IFNQN7K?dky>T1y$73qGtmP#^tWk%U0WmnS zAb&3H-mj~ikH$wXoK#g%l^I1VM;~OT^rjIope`qY9}vb&ufZhHaowa|$O;yQgW)z* zRadHUFv!k!UK_di4K@MOF>^UBE9qs@7OQcqp|T|tkr(=&rkNY9{qKHs%JVJ?Mo%l_R-vj$_dj5}}4l|vX`j~h- zZwqmViOk;o<}b_lzR8G6MTM0f*`|#Q5)O(c!^-85Iu>)ny2+?p^I)deX%E>3^y<;n zq$cqL&j+4O#?4+qLhVj_#2 zxQu!(gHk0W0zio*sc1k<93~|Ul$jI&%YkwQ#OR|3=i5+HK*VP1E{H?ji3_2J`mreU z9b-v?{ys(xa!cSjR?~1oB1r=F^o(Ewt@h$oF~Lx=>4=g*{rI?eT%zgw_1rbH^vf4UC%^ce+q2{7}a&WJcNhtRq9%xRbZvj zM1KyN0#D0t$g-?}QiheJKAf_7#R%#Q$;G#1IA--p`j6VGb;7UCPQU!rEYbG3PU zwm}@sB*t^nz;SaFjW~#e+Atc_S;EGa2^64an900Tz96o`?C&L5P0qUW-2a{W;`d_F#F8pwQ;hnE` zUJgQL#~pP>58s`bOVvGCK7)(_37GYr{pmK!Ip&yq$Z~3W|C6FLyZ_0MkYY4Vkr3w( Rd}HBth`jFk=+}q;{0pc>#oGV? delta 485 zcmZvYJ4?e*6vv5*!xa(nG59!do@w-qG@tdqqV6?S{1tZC?dW}Rd5z(Q7#C6 z0TtGaWeR|NsBaIk|0osy3c3c3>?kmNa4z3oxN%gc@UK zo5nCURX{SC(CmZtuc=|sQA|x!hLv)0b$7e8u~l4y;$f-0m!Q0Q-qQ*NH_CcJCf5Bd z@X5=r0)mYlkiA?w4L_}PU6)~Pd0*)NL=b8aSw)KHr6wFk>-jNL1Jk$2V38-Ff58q z8S!ChumO)&9;L)(W#GDVpjidQ%S3#(*3<8Qott8@2n-_@L&38h<^(PS#E)vJt`Rb3 zjjN(Sv0XPWmOg-9Yu#ME8{${Dy)90_LdOp>kx;bPlbqaxg!q2l;}@UZOTCXj-?LW4 r@^*U43FflmGhBICXhZY4K!7L1Tr@5GD<==fou9T1uN{@9I+ET2MLCKq From 0415d659f7f8da2353b72d4fa93e87a45f17faaa Mon Sep 17 00:00:00 2001 From: rmkaplan Date: Sat, 5 Sep 2026 00:36:17 -0700 Subject: [PATCH 08/30] Renam PSCFONT.TO.MEDLEYFONT to more accurate PSCFONT.TO.FONTDESCRIPTOR --- library/POSTSCRIPTSTREAM | 295 ++++++++++++++++++---------------- library/POSTSCRIPTSTREAM.LCOM | Bin 98511 -> 98534 bytes 2 files changed, 152 insertions(+), 143 deletions(-) diff --git a/library/POSTSCRIPTSTREAM b/library/POSTSCRIPTSTREAM index d8515dbc9..34511d7ef 100644 --- a/library/POSTSCRIPTSTREAM +++ b/library/POSTSCRIPTSTREAM @@ -1,12 +1,13 @@ (DEFINE-FILE-INFO :PACKAGE "INTERLISP" :READTABLE "INTERLISP" :BASE 10) -(FILECREATED " 4-Sep-2026 00:45:37" {MEDLEY}POSTSCRIPTSTREAM.;101 272753 +(FILECREATED " 4-Sep-2026 20:45:57" {MEDLEY}POSTSCRIPTSTREAM.;109 273421 :EDIT-BY rmk - :CHANGES-TO (FNS POSTSCRIPT.FONTSAVAILABLE) + :CHANGES-TO (VARS POSTSCRIPTSTREAMCOMS) + (FNS PSCFONT.TO.FONTDESCRIPTOR) - :PREVIOUS-DATE " 3-Sep-2026 23:54:21" {MEDLEY}POSTSCRIPTSTREAM.;99) + :PREVIOUS-DATE " 4-Sep-2026 17:12:41" {MEDLEY}POSTSCRIPTSTREAM.;108) (PRETTYCOMPRINT POSTSCRIPTSTREAMCOMS) @@ -21,7 +22,7 @@ [COMS (* ; "Font-reading code") (DECLARE%: EVAL@COMPILE DONTCOPY (RECORDS FONTID PSCFONT)) (FNS POSTSCRIPT.FONTSAVAILABLE PSCFONT.FILEP POSTSCRIPT.CHARSET POSTSCRIPT.FONTCREATE - PSCFONT.TO.MEDLEYFONT) + PSCFONT.TO.FONTDESCRIPTOR) (FNS PSCFONT.READFONT PSCFONT.WRITEFONT READ-AFM-FILE CONVERT-AFM-FILES POSTSCRIPT.GETFONTID) (FNS \CREATECHARSET.PSC) @@ -45,28 +46,28 @@ (TITAN . COURIER] (GLOBALVARS \POSTSCRIPT.MAX.WILD.FONTSIZE POSTSCRIPTFONTEXTENSIONS POSTSCRIPTFONTDIRECTORIES POSTSCRIPTFONTCOERCIONS) - [ADDVARS (POSTSCRIPTCHARSETFNS (MEDLEYFONT MEDLEYFONT.FILEP MEDLEYFONT.GETCHARSET - (FAMILY SIZE - FACE)) - (PSCFONT PSCFONT.FILEP SHOULDNT (c0> FAMILY SIZE - FACE -C0) - (FAMILY SIZE - FACE] + [ADDVARS (POSTSCRIPTCHARSETFNS (MEDLEYFONT MEDLEYFONT.FILEP MEDLEYFONT.GETCHARSET) + (PSCFONT PSCFONT.FILEP SHOULDNT)) + (POSTSCRIPTFILETEMPLATES (PSCFONT (FAMILY SIZE - FACE) + (c0> FAMILY SIZE - FACE -C0] [INITVARS (POSTSCRIPTFONTDIRECTORIES "{MEDLEY}/fonts/medleypostscriptfonts") (POSTSCRIPTFONTEXTENSIONS `(MEDLEYPOSTSCRIPTFONT PSCFONT)) (* ;  "MEDLEYPOSTSCRIPTFONT comes first, for import writing") (POSTSCRIPTCHARCOERCIONS NIL) (\POSTSCRIPT.MAX.WILD.FONTSIZE 72) - (POSTSCRIPTFONTCOERCIONS '((HELVETICA (HELVETICA 0)) - (HELVETICAD (HELVETICA 0)) - (TIMESROMAN (TIMES 0)) - (TIMESROMAND (TIMES 0)) + (POSTSCRIPTFONTCOERCIONS '((CLASSIC (NEWCENTURYSCHLBK 0)) (COURIER (COURIER 0)) - (GACHA (COURIER 0)) - (CLASSIC (NEWCENTURYSCHLBK 0)) - (MODERN (HELVETICA 0)) (CREAM (HELVETICA 0)) - (TERMINAL (COURIER 0)) + (GACHA (COURIER 0)) + (HELVETICA (HELVETICA 0)) + (HELVETICAD (HELVETICA 0)) (LOGO (HELVETICA 0)) + (MODERN (HELVETICA 0)) (OPTIMA (PALATINO 0)) + (TERMINAL (COURIER 0)) + (TIMESROMAN (TIMES 0)) + (TIMESROMAND (TIMES 0)) (TITAN (COURIER 0] (ADDVARS (DEFAULTFILETYPELIST (PS . BINARY) (PSC . BINARY) @@ -214,7 +215,7 @@ (DATATYPE \POSTSCRIPTDATA ((POSTSCRIPTACCENTED FLAG) (* ; - "T if we're to do NS-to-PS translations on characters in the current font.") + "T if we're to do MCCS-to-PS translations on characters in the current font.") POSTSCRIPTFONT (* ;  "The fontdescriptor of the current font") POSTSCRIPTX (* ; "The current X") @@ -261,8 +262,8 @@ POSTSCRIPTPENDINGROTATION (* ;  "Rotation to take effect at next SETXFORM.") POSTSCRIPTFONTSUSED (* ; "List of FONTIDs of the fonts that've been used before. This is used to control the re-encoding of fonts for accented-character rendering.") - (POSTSCRIPTNSCHARSET BYTE) (* ; - "Current NSCHARSET--widths are in POSTSCRIPTWIDTHS") + (POSTSCRIPTMCCSCHARSET BYTE) (* ; + "Current MCCSCHARSET--widths are in POSTSCRIPTWIDTHS") (POSTSCRIPTNATURALSPACEWIDTH WORD) (* ;  "Width of the space in the current font, used to compute the scaled space width.") ) @@ -564,7 +565,7 @@ (DEFINEQ (POSTSCRIPT.FONTSAVAILABLE - [LAMBDA (FONTSPEC) (* ; "Edited 4-Sep-2026 00:45 by rmk") + [LAMBDA (FONTSPEC) (* ; "Edited 4-Sep-2026 09:20 by rmk") (* ; "Edited 3-Sep-2026 00:18 by rmk") (* ; "Edited 1-Sep-2026 15:43 by rmk") (* ; "Edited 22-Aug-2026 22:30 by rmk") @@ -577,22 +578,24 @@ (LET [(SIZE (fetch (FONTSPEC FSSIZE) of FONTSPEC)) (FONTSAVAILABLE (\SEARCHFONTFILES (COERCEFONTSPEC FONTSPEC] - (* ;; "Switch from postscript family names back to the corresponding Medley names. Do we still want to include the unscaled (size 0) fonts like NEWCENTURYSCHLBK ?") + (* ;; "Invert the coercion: add the Medley families that coerce to postscript font-files (GACHA for COURIER)") - [SETQ FONTSAVAILABLE (for FS (COERCIONS _ (FONTDEVICEPROP FONTSPEC 'FONTCOERCIONS)) - in FONTSAVAILABLE - join - (* ;; "C is (medley (ps 0))--match ps return medley") + [for FS (COERCIONS _ (FONTDEVICEPROP FONTSPEC 'FONTCOERCIONS)) in FONTSAVAILABLE + do (for C (FAM _ (FSPROP FS FSFAMILY)) in COERCIONS + when (EQ FAM (CAR (CADR C))) do + (* ;; + "C is (medley (ps 0))--match ps return medley") - (for C (FAM _ (FSPROP FS FSFAMILY)) in COERCIONS - when (EQ FAM (CAR (CADR C))) - collect (create FONTSPEC using FS FSFAMILY _ (CAR C] - (CL:UNLESS (EQ '* FAMILY) + (push FONTSAVAILABLE + (create FONTSPEC using FS FSFAMILY _ + (CAR C] + (CL:UNLESS (EQ '* FAMILY) (* ; + "Filter down to an actual requested family") (SETQ FONTSAVAILABLE (for FS in FONTSAVAILABLE when (EQ FAMILY (FSPROP FS FSFAMILY)) collect FS))) (if (EQ '* SIZE) then - (* ;; "If SIZE was wildcarded, then provide list of pointsizes for the Postscript scaled fonts (those with a 0 size descriptor file)") + (* ;; "If SIZE was wildcarded, provide list of pointsizes for the Postscript scaled fonts (those with a 0 size descriptor file)") (* ;;  "RMK: Maybe just provide the sizes that exist for all the corresponding display fonts?") @@ -611,36 +614,36 @@ (STRING.EQUAL 'PSCFONT (FILENAMEFIELD FILE 'EXTENSION]) (POSTSCRIPT.CHARSET - [LAMBDA (FONTSPEC FONT CHARSET) (* ; "Edited 3-Sep-2026 19:16 by rmk") + [LAMBDA (FONTSPEC FONT CHARSET) (* ; "Edited 4-Sep-2026 17:12 by rmk") (* ;; "FONT gets the widths scaled from the unscalable coercion")  (* ; "Edited 1-Sep-2026 18:01 by rmk") (if (EQ 0 (FONTPROP FONT 'SIZE)) then (\READCHARSET FONT CHARSET) - else (LET* ((SIZE (FONTPROP FONT 'SIZE)) - (UNSCALEDFS (GETMULTI (fetch (FONTDESCRIPTOR OTHERDEVICEFONTPROPS) of FONT) - 'UNSCALEDSOURCE)) - UNSCALEDFD CSINFO WIDTHS) - (CL:WHEN UNSCALEDFS - (SETQ UNSCALEDFD (FONTCREATE UNSCALEDFS)) - - (* ;; "FONTCREATE returns the cached unscaled fontdescriptor, we have to copy the charsetinfo before we smash it.") - - (SETQ CSINFO (create CHARSETINFO using (\INSURECHARSETINFO UNSCALEDFD CHARSET) - WIDTHS _ (\CREATECSINFOELEMENT))) - (change (fetch (CHARSETINFO CHARSETASCENT) of CSINFO) - (FIXR (TIMES SIZE DATUM 0.1))) - (change (fetch (CHARSETINFO CHARSETDESCENT) of CSINFO) - (FIXR (TIMES SIZE DATUM 0.1))) - (SETQ WIDTHS (fetch (CHARSETINFO WIDTHS) of CSINFO)) - (replace (CHARSETINFO WIDTHS) of CSINFO with WIDTHS) - - (* ;; "Use (\FSETWIDTH WIDTH...) instead of (\FSETCHARWIDTH FONT...) to avoid stack overflow--CSINFO hasn't been installed yet.") - - [for CH from 0 to \MAXTHINCHAR - do (\FSETWIDTH WIDTHS CH (FIXR (TIMES SIZE (\FGETCHARWIDTH UNSCALEDFD CH) - 0.1] - CSINFO)]) + else (LET ((SIZE (FONTPROP FONT 'SIZE)) + (UNSCALEDFS (GETMULTI (fetch (FONTDESCRIPTOR OTHERDEVICEFONTPROPS) of FONT) + 'UNSCALEDSOURCE)) + UNSCALEDFD CSINFO WIDTHS) + (CL:WHEN UNSCALEDFS + (SETQ UNSCALEDFD (FONTCREATE UNSCALEDFS)) + + (* ;; "FONTCREATE returns the cached unscaled fontdescriptor, we have to copy the charsetinfo before we smash it.") + + (SETQ CSINFO (\COPYCHARSETINFO (\INSURECHARSETINFO UNSCALEDFD CHARSET))) + (change (fetch (CHARSETINFO CHARSETASCENT) of CSINFO) + (FIXR (TIMES SIZE DATUM 0.1))) + (change (fetch (CHARSETINFO CHARSETDESCENT) of CSINFO) + (FIXR (TIMES SIZE DATUM 0.1))) + (SETQ WIDTHS (fetch (CHARSETINFO WIDTHS) of CSINFO)) + (replace (CHARSETINFO WIDTHS) of CSINFO with WIDTHS) + + (* ;; "Use (\FSETWIDTH WIDTH...) instead of (\FSETCHARWIDTH FONT...) to avoid stack overflow--CSINFO hasn't been installed yet.") + + [for CH from 0 to \MAXTHINCHAR do (\FSETWIDTH WIDTHS CH + (FIXR (TIMES SIZE (\FGETCHARWIDTH + UNSCALEDFD CH) + 0.1] + CSINFO)]) (POSTSCRIPT.FONTCREATE [LAMBDA (FONTSPEC) (* ; "Edited 3-Sep-2026 19:17 by rmk") @@ -683,8 +686,8 @@ (FIXR (TIMES SIZE DATUM 0.1))) FONT)]) -(PSCFONT.TO.MEDLEYFONT - [LAMBDA (FONTSPEC FROMDIR) (* ; "Edited 3-Sep-2026 23:45 by rmk") +(PSCFONT.TO.FONTDESCRIPTOR + [LAMBDA (FONTSPEC FROMDIR) (* ; "Edited 4-Sep-2026 20:45 by rmk") (* ; "Edited 2-Sep-2026 14:34 by rmk") (* ; "Edited 29-Jul-2026 16:04 by rmk") (* ; "Edited 9-Jul-2026 12:17 by rmk") @@ -694,7 +697,7 @@ (* ; "Edited 31-Mar-2026 15:01 by rmk") (* ; "Edited 28-Mar-2026 09:27 by rmk") - (* ;; "Converts PSCFONTS to unscaled MEDLEYFONT files.") + (* ;; "Converts PSCFONTS to unscaled Medley fontdescriptors.") (SETQ FONTSPEC (\FONT.CHECKARGS FONTSPEC NIL NIL NIL NIL T)) (LET (FILENAME PSCFONT FAMILY SIZE FACE ROTATION DEVICE PSCWIDTHSBLOCK FD ASCENT DESCENT @@ -735,14 +738,11 @@ (for CH (WARRAY _ (fetch (PSCFONT WIDTHS) of PSCFONT)) from 0 to \MAXTHINCHAR do (\FSETWIDTH PSCWIDTHSBLOCK CH (ELT WARRAY CH))) (for CH from 0 to \MAXTHINCHAR do (\FSETCHARWIDTH FD CH (\FGETWIDTH PSCWIDTHSBLOCK CH))) - (CL:WHEN [SETQ FILENAME (CAR (FONTFILES (MAKEFONTSPEC 'SYMBOL 0 '(MEDIUM REGULAR REGULAR - ) - NIL NIL FONTSPEC) + (CL:WHEN [SETQ FILENAME (CAR (FONTFILES (MAKEFONTSPEC 'SYMBOL 0 'MRR NIL NIL FONTSPEC) T NIL NIL 'PSCFONT] (SETQ SYMWIDTHS (fetch (PSCFONT WIDTHS) of (PSCFONT.READFONT FILENAME)))) - (CL:WHEN [SETQ FILENAME (CAR (FONTFILES (MAKEFONTSPEC 'ZAPFDINGBATS 0 - '(MEDIUM REGULAR REGULAR) - NIL NIL FONTSPEC) + (CL:WHEN [SETQ FILENAME (CAR (FONTFILES (MAKEFONTSPEC 'ZAPFDINGBATS 0 'MRR NIL NIL + FONTSPEC) T NIL NIL 'PSCFONT] (SETQ DINGWIDTHS (fetch (PSCFONT WIDTHS) of (PSCFONT.READFONT FILENAME)))) @@ -750,7 +750,6 @@ [MAPHASH *POSTSCRIPT-MCCS-HASH* (FUNCTION (LAMBDA (MAPPING CODE) - (SETQ CODE (X$TOMCODE CODE)) (* ; "Take out when the table is MCCS") (CL:UNLESS (\GETCHARSETINFO FD (\CHARSET CODE)) (* ;  "Insure a widths-only charsetinfo, to fill in") @@ -795,7 +794,7 @@ 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 MCCS characters are available. Also skip anything else") NIL] @@ -976,20 +975,24 @@ PSCFONT]) (CONVERT-AFM-FILES - [LAMBDA (FILE-LIST) (* ; - "Edited 5-Aug-93 16:47 by sybalskY:MV:ENVOS") + [LAMBDA (FILE-LIST) (* ; "Edited 4-Sep-2026 15:33 by rmk") + (* ; + "Edited 5-Aug-93 16:47 by sybalskY:MV:ENVOS") (for FL in FILE-LIST do (LET ((FNAME (pop FL)) - FONT FILENAME) - (for AFM-FILE in FL as WEIGHT - in '(MEDIUM MEDIUM BOLD BOLD) as SLOPE - in '(REGULAR ITALIC REGULAR ITALIC) - do (SETQ FONT (READ-AFM-FILE AFM-FILE WEIGHT - SLOPE)) - (SETQ FILENAME (\FONTFILENAME - FNAME 1 (LIST WEIGHT SLOPE - 'REGULAR) - 'PSCFONT 0)) - (PSCFONT.WRITEFONT FILENAME FONT]) + FONT FILENAME) + (for AFM-FILE in FL as WEIGHT + in '(MEDIUM MEDIUM BOLD BOLD) as SLOPE + in '(REGULAR ITALIC REGULAR ITALIC) + do (SETQ FONT (READ-AFM-FILE AFM-FILE WEIGHT SLOPE)) + (* ; + "Size 0 denotes an unscaled source.") + [SETQ FILENAME (CAR (FONTFILES (MAKEFONTSPEC + FNAME 0 (MAKEFONTFACE + WEIGHT SLOPE + 'REGULAR) + 0 + 'PSCFONT] + (PSCFONT.WRITEFONT FILENAME FONT]) (POSTSCRIPT.GETFONTID [LAMBDA (FID WEIGHT SLOPE EXPANSION) (* ; "Edited 30-Aug-2026 01:00 by rmk") @@ -1357,10 +1360,11 @@ POSTSCRIPTFONTCOERCIONS) ) -(ADDTOVAR POSTSCRIPTCHARSETFNS (MEDLEYFONT MEDLEYFONT.FILEP MEDLEYFONT.GETCHARSET - (FAMILY SIZE - FACE)) - (PSCFONT PSCFONT.FILEP SHOULDNT (c0> FAMILY SIZE - FACE -C0) - (FAMILY SIZE - FACE))) +(ADDTOVAR POSTSCRIPTCHARSETFNS (MEDLEYFONT MEDLEYFONT.FILEP MEDLEYFONT.GETCHARSET) + (PSCFONT PSCFONT.FILEP SHOULDNT)) + +(ADDTOVAR POSTSCRIPTFILETEMPLATES (PSCFONT (FAMILY SIZE - FACE) + (c0> FAMILY SIZE - FACE -C0))) (RPAQ? POSTSCRIPTFONTDIRECTORIES "{MEDLEY}/fonts/medleypostscriptfonts") @@ -1371,18 +1375,18 @@ (RPAQ? \POSTSCRIPT.MAX.WILD.FONTSIZE 72) (RPAQ? POSTSCRIPTFONTCOERCIONS - '((HELVETICA (HELVETICA 0)) - (HELVETICAD (HELVETICA 0)) - (TIMESROMAN (TIMES 0)) - (TIMESROMAND (TIMES 0)) + '((CLASSIC (NEWCENTURYSCHLBK 0)) (COURIER (COURIER 0)) - (GACHA (COURIER 0)) - (CLASSIC (NEWCENTURYSCHLBK 0)) - (MODERN (HELVETICA 0)) (CREAM (HELVETICA 0)) - (TERMINAL (COURIER 0)) + (GACHA (COURIER 0)) + (HELVETICA (HELVETICA 0)) + (HELVETICAD (HELVETICA 0)) (LOGO (HELVETICA 0)) + (MODERN (HELVETICA 0)) (OPTIMA (PALATINO 0)) + (TERMINAL (COURIER 0)) + (TIMESROMAN (TIMES 0)) + (TIMESROMAND (TIMES 0)) (TITAN (COURIER 0)))) (ADDTOVAR DEFAULTFILETYPELIST (PS . BINARY) @@ -3315,7 +3319,8 @@ (DEFINEQ (\POSTSCRIPT.CHANGECHARSET - [LAMBDA (PSDATA CHARSET) (* ; "Edited 30-Aug-2025 23:24 by rmk") + [LAMBDA (PSDATA CHARSET) (* ; "Edited 4-Sep-2026 15:40 by rmk") + (* ; "Edited 30-Aug-2025 23:24 by rmk") (* ; "Edited 29-Apr-93 13:51 by rmk:") (* ;; @@ -3325,10 +3330,10 @@ (CSINFO (\INSURECHARSETINFO FONT CHARSET))) (UNINTERRUPTABLY (freplace POSTSCRIPTWIDTHS of PSDATA with (ffetch (CHARSETINFO WIDTHS) of CSINFO)) - (freplace POSTSCRIPTNSCHARSET of PSDATA with CHARSET))]) + (freplace POSTSCRIPTMCCSCHARSET of PSDATA with CHARSET))]) (\POSTSCRIPT.OUTCHARFN - [LAMBDA (STREAM CHAR) (* ; "Edited 3-Sep-2026 23:32 by rmk") + [LAMBDA (STREAM CHAR) (* ; "Edited 4-Sep-2026 15:46 by rmk") (* ; "Edited 2-Sep-2026 14:35 by rmk") (* ; "Edited 30-Aug-2026 21:39 by rmk") (* ; "Edited 8-Sep-2025 09:50 by rmk") @@ -3349,7 +3354,7 @@ (FONT (ffetch (\POSTSCRIPTDATA POSTSCRIPTFONT) of IMAGEDATA)) CHARWID NEWXPOS MAPPING) (CL:UNLESS (EQ (\CHARSET CHAR) - (ffetch POSTSCRIPTNSCHARSET of IMAGEDATA)) + (ffetch POSTSCRIPTMCCSCHARSET of IMAGEDATA)) (* ;; "Switch character set so that we get the right char width.") @@ -3366,7 +3371,7 @@ (AND (ILEQ CHAR 254) (NOT (CL:AREF \POSTSCRIPT.CHARTYPE CHAR] - (* ;; "OR is NIL if char is special in any way: Either font isn't supposed to be treated as an NS font (e.g. ZapfDingbats, which uses all the legal char positions for its own), or char itself is in cset 0 and ordinary") + (* ;; "OR is NIL if char is special in any way: Either font isn't supposed to be treated as an MCCS font (e.g. ZapfDingbats, which uses all the legal char positions for its own), or char itself is in cset 0 and ordinary") [COND ((IGREATERP (SETQ NEWXPOS (IPLUS XPOS CHARWID)) @@ -3399,6 +3404,10 @@ ((%( %) \) (BOUT STREAM (CHARCODE \)) (BOUT STREAM CHAR)) + ((Leftarrow Uparrow Lowline Circumflex) + (* ; + "MCCS differs from 7-bit Ascii: push these to the hash table") + NIL) (BOUT STREAM CHAR] [(SETQ MAPPING (GETHASH CHAR *POSTSCRIPT-MCCS-HASH*)) (* ; @@ -3776,24 +3785,24 @@ (RPAQQ *POSTSCRIPT-MCCS-TRANSLATIONS* ( - (* ;; "Mapping of NS characters to Postscript renderings.") + (* ;; "Mapping of MCCS character codes to Postscript renderings.") - (* ;; "First few are for control-codes in old Press fonts (Timesroman, etc.); not strictly NS, but undefined therein so should be OK.") - - ("^S" NIL "2,320") - (* ; "pressfont em dash") - ("^V" NIL "2,261") - (* ; "pressfont en dash") - ("^G" NIL "0,140") - ("0,244" NIL "2,250") + (* ;; "RMK: Removed the first few control-codes that were there for old Press fonts (Timesroman, etc.). Harmless, but no need to maintain the confusion. ") + + (Currency NIL "2,250") (* ; "generic currency symbol") ("0,251" NIL "2,140") (* ; "left single quote") - ("0,254" SYMBOL "2,254") + (Leftarrow SYMBOL "2,254") (* ; "left arrow") - ("0,255" SYMBOL "2,255") + (Lowline SYMBOL "2,137") + (* ; "From MCCS back to Ascii") + (Uparrow SYMBOL "2,255") (* ; "uparrow") + (Circumflex SYMBOL "2,136") + (* ; "From MCCS back to Ascii") + ("0,255" SYMBOL "2,255") ("0,256" SYMBOL "2,256") (* ; "right arrow") ("0,257" SYMBOL "2,257") @@ -4122,7 +4131,7 @@ (* ; "237 = Thorn") (* ; "240 = thorn") - (* ;; "NS Greek characters") + (* ;; "MCCS Greek characters") ("46,101" SYMBOL "2,101") (* ; "Alpha") @@ -4241,7 +4250,7 @@ ("46,175" SYMBOL "2,167") (* ; "omega") - (* ;; "NS Miscellaneous symbols") + (* ;; "MCCS Miscellaneous symbols") ("041,142" SYMBOL "2,271") (* ; "notequal") @@ -4572,38 +4581,38 @@ (ADDTOVAR LAMA POSTSCRIPT.PUTCOMMAND) ) (DECLARE%: DONTCOPY - (FILEMAP (NIL (23187 33586 (POSTSCRIPT.INIT 23197 . 30192) (POSTSCRIPT.PUTRGBCOLOR 30194 . 31216) ( -\PSC.COLOR.TO.RGB 31218 . 33584)) (33826 51060 (POSTSCRIPT.FONTSAVAILABLE 33836 . 37038) ( -PSCFONT.FILEP 37040 . 37227) (POSTSCRIPT.CHARSET 37229 . 39210) (POSTSCRIPT.FONTCREATE 39212 . 42266) -(PSCFONT.TO.MEDLEYFONT 42268 . 51058)) (51061 62588 (PSCFONT.READFONT 51071 . 53082) ( -PSCFONT.WRITEFONT 53084 . 54099) (READ-AFM-FILE 54101 . 59972) (CONVERT-AFM-FILES 59974 . 61186) ( -POSTSCRIPT.GETFONTID 61188 . 62586)) (62589 63957 (\CREATECHARSET.PSC 62599 . 63955)) (64016 82071 ( -OLDPOSTSCRIPT.FONTCREATE 64026 . 77231) (\POSTSCRIPT.SPECIALFONT.SCALEDWIDTHS 77233 . 78727) ( -PSCFONT.COERCEFILE 78729 . 81062) (PSCFONT.SPELLFILE 81064 . 82069)) (84953 95040 ( -OPENPOSTSCRIPTSTREAM 84963 . 94528) (CLOSEPOSTSCRIPTSTREAM 94530 . 95038)) (95085 101411 ( -POSTSCRIPT.HARDCOPYW 95095 . 98202) (POSTSCRIPT.TEDIT 98204 . 98656) (POSTSCRIPTFILEP 98658 . 100146) -(MAKEEPSFILE 100148 . 101409)) (101412 145441 (POSTSCRIPT.BITMAPSCALE 101422 . 103878) ( -POSTSCRIPT.CLOSESTRING 103880 . 104433) (POSTSCRIPT.ENDPAGE 104435 . 105326) (POSTSCRIPT.OUTSTR 105328 - . 106545) (POSTSCRIPT.PUTBITMAPBYTES 106547 . 115018) (POSTSCRIPT.PUTCOMMAND 115020 . 116009) ( -POSTSCRIPT.SET-FAKE-LANDSCAPE 116011 . 120531) (POSTSCRIPT.SHOWACCUM 120533 . 122688) ( -POSTSCRIPT.STARTPAGE 122690 . 125392) (\POSTSCRIPTTAB 125394 . 126191) (\PS.BOUTFIXP 126193 . 127473) -(\PS.SCALEHACK 127475 . 130118) (\PS.SCALEREGION 130120 . 130680) (\SCALEDBITBLT.PSC 130682 . 134992) -(\SETPOS.PSC 134994 . 135475) (\SETXFORM.PSC 135477 . 138061) (\STRINGWIDTH.PSC 138063 . 138536) ( -\SWITCHFONTS.PSC 138538 . 144203) (\TERPRI.PSC 144205 . 145439)) (145476 198208 (\BITBLT.PSC 145486 . -146038) (\BLTSHADE.PSC 146040 . 150701) (\CHARWIDTH.PSC 150703 . 151210) (\DRAWARC.PSC 151212 . 153590 -) (\DRAWCIRCLE.PSC 153592 . 155843) (\DRAWCURVE.PSC 155845 . 159689) (\DRAWELLIPSE.PSC 159691 . 162055 -) (\DRAWLINE.PSC 162057 . 164797) (\DRAWPOINT.PSC 164799 . 165375) (\DRAWPOLYGON.PSC 165377 . 168506) -(\DSPBOTTOMMARGIN.PSC 168508 . 169195) (\DSPCLIPPINGREGION.PSC 169197 . 170572) (\DSPCOLOR.PSC 170574 - . 171505) (\DSPFONT.PSC 171507 . 175378) (\DSPLEFTMARGIN.PSC 175380 . 176066) (\DSPLINEFEED.PSC -176068 . 176658) (\DSPPUSHSTATE.PSC 176660 . 178120) (\DSPPOPSTATE.PSC 178122 . 181607) (\DSPRESET.PSC - 181609 . 182274) (\DSPRIGHTMARGIN.PSC 182276 . 182965) (\DSPROTATE.PSC 182967 . 183966) ( -\DSPSCALE.PSC 183968 . 184920) (\DSPSCALE2.PSC 184922 . 185762) (\DSPSPACEFACTOR.PSC 185764 . 186685) -(\DSPTOPMARGIN.PSC 186687 . 187258) (\DSPTRANSLATE.PSC 187260 . 189291) (\DSPXPOSITION.PSC 189293 . -189857) (\DSPYPOSITION.PSC 189859 . 190450) (\FILLCIRCLE.PSC 190452 . 192677) (\FILLPOLYGON.PSC 192679 - . 195916) (\FIXLINELENGTH.PSC 195918 . 197237) (\MOVETO.PSC 197239 . 198009) (\NEWPAGE.PSC 198011 . -198206)) (198264 221424 (\POSTSCRIPT.CHANGECHARSET 198274 . 198992) (\POSTSCRIPT.OUTCHARFN 198994 . -211819) (\POSTSCRIPT.PRINTSLUG 211821 . 213656) (\POSTSCRIPT.SPECIALOUTCHARFN 213658 . 216247) ( -\UPDATE.PSC 216249 . 217495) (\POSTSCRIPT.ACCENTFN 217497 . 218439) (\POSTSCRIPT.ACCENTPAIR 218441 . -221422)) (221522 223167 (\PSC.SPACEDISP 221532 . 221811) (\PSC.SPACEWID 221813 . 222432) (\PSC.SYMBOLS - 222434 . 223165)) (223278 226261 (\POSTSCRIPT.MCCSHASH 223288 . 226259))))) + (FILEMAP (NIL (23238 33637 (POSTSCRIPT.INIT 23248 . 30243) (POSTSCRIPT.PUTRGBCOLOR 30245 . 31267) ( +\PSC.COLOR.TO.RGB 31269 . 33635)) (33877 50960 (POSTSCRIPT.FONTSAVAILABLE 33887 . 37267) ( +PSCFONT.FILEP 37269 . 37456) (POSTSCRIPT.CHARSET 37458 . 39450) (POSTSCRIPT.FONTCREATE 39452 . 42506) +(PSCFONT.TO.FONTDESCRIPTOR 42508 . 50958)) (50961 62799 (PSCFONT.READFONT 50971 . 52982) ( +PSCFONT.WRITEFONT 52984 . 53999) (READ-AFM-FILE 54001 . 59872) (CONVERT-AFM-FILES 59874 . 61397) ( +POSTSCRIPT.GETFONTID 61399 . 62797)) (62800 64168 (\CREATECHARSET.PSC 62810 . 64166)) (64227 82282 ( +OLDPOSTSCRIPT.FONTCREATE 64237 . 77442) (\POSTSCRIPT.SPECIALFONT.SCALEDWIDTHS 77444 . 78938) ( +PSCFONT.COERCEFILE 78940 . 81273) (PSCFONT.SPELLFILE 81275 . 82280)) (85158 95245 ( +OPENPOSTSCRIPTSTREAM 85168 . 94733) (CLOSEPOSTSCRIPTSTREAM 94735 . 95243)) (95290 101616 ( +POSTSCRIPT.HARDCOPYW 95300 . 98407) (POSTSCRIPT.TEDIT 98409 . 98861) (POSTSCRIPTFILEP 98863 . 100351) +(MAKEEPSFILE 100353 . 101614)) (101617 145646 (POSTSCRIPT.BITMAPSCALE 101627 . 104083) ( +POSTSCRIPT.CLOSESTRING 104085 . 104638) (POSTSCRIPT.ENDPAGE 104640 . 105531) (POSTSCRIPT.OUTSTR 105533 + . 106750) (POSTSCRIPT.PUTBITMAPBYTES 106752 . 115223) (POSTSCRIPT.PUTCOMMAND 115225 . 116214) ( +POSTSCRIPT.SET-FAKE-LANDSCAPE 116216 . 120736) (POSTSCRIPT.SHOWACCUM 120738 . 122893) ( +POSTSCRIPT.STARTPAGE 122895 . 125597) (\POSTSCRIPTTAB 125599 . 126396) (\PS.BOUTFIXP 126398 . 127678) +(\PS.SCALEHACK 127680 . 130323) (\PS.SCALEREGION 130325 . 130885) (\SCALEDBITBLT.PSC 130887 . 135197) +(\SETPOS.PSC 135199 . 135680) (\SETXFORM.PSC 135682 . 138266) (\STRINGWIDTH.PSC 138268 . 138741) ( +\SWITCHFONTS.PSC 138743 . 144408) (\TERPRI.PSC 144410 . 145644)) (145681 198413 (\BITBLT.PSC 145691 . +146243) (\BLTSHADE.PSC 146245 . 150906) (\CHARWIDTH.PSC 150908 . 151415) (\DRAWARC.PSC 151417 . 153795 +) (\DRAWCIRCLE.PSC 153797 . 156048) (\DRAWCURVE.PSC 156050 . 159894) (\DRAWELLIPSE.PSC 159896 . 162260 +) (\DRAWLINE.PSC 162262 . 165002) (\DRAWPOINT.PSC 165004 . 165580) (\DRAWPOLYGON.PSC 165582 . 168711) +(\DSPBOTTOMMARGIN.PSC 168713 . 169400) (\DSPCLIPPINGREGION.PSC 169402 . 170777) (\DSPCOLOR.PSC 170779 + . 171710) (\DSPFONT.PSC 171712 . 175583) (\DSPLEFTMARGIN.PSC 175585 . 176271) (\DSPLINEFEED.PSC +176273 . 176863) (\DSPPUSHSTATE.PSC 176865 . 178325) (\DSPPOPSTATE.PSC 178327 . 181812) (\DSPRESET.PSC + 181814 . 182479) (\DSPRIGHTMARGIN.PSC 182481 . 183170) (\DSPROTATE.PSC 183172 . 184171) ( +\DSPSCALE.PSC 184173 . 185125) (\DSPSCALE2.PSC 185127 . 185967) (\DSPSPACEFACTOR.PSC 185969 . 186890) +(\DSPTOPMARGIN.PSC 186892 . 187463) (\DSPTRANSLATE.PSC 187465 . 189496) (\DSPXPOSITION.PSC 189498 . +190062) (\DSPYPOSITION.PSC 190064 . 190655) (\FILLCIRCLE.PSC 190657 . 192882) (\FILLPOLYGON.PSC 192884 + . 196121) (\FIXLINELENGTH.PSC 196123 . 197442) (\MOVETO.PSC 197444 . 198214) (\NEWPAGE.PSC 198216 . +198411)) (198469 222023 (\POSTSCRIPT.CHANGECHARSET 198479 . 199308) (\POSTSCRIPT.OUTCHARFN 199310 . +212418) (\POSTSCRIPT.PRINTSLUG 212420 . 214255) (\POSTSCRIPT.SPECIALOUTCHARFN 214257 . 216846) ( +\UPDATE.PSC 216848 . 218094) (\POSTSCRIPT.ACCENTFN 218096 . 219038) (\POSTSCRIPT.ACCENTPAIR 219040 . +222021)) (222121 223766 (\PSC.SPACEDISP 222131 . 222410) (\PSC.SPACEWID 222412 . 223031) (\PSC.SYMBOLS + 223033 . 223764)) (223877 226860 (\POSTSCRIPT.MCCSHASH 223887 . 226858))))) STOP diff --git a/library/POSTSCRIPTSTREAM.LCOM b/library/POSTSCRIPTSTREAM.LCOM index abd1f74bca7f89969bed6d6eedfbedd7c5ab76b1..630ebd423fcc15adc100572e86b38c0bb3a479f6 100644 GIT binary patch delta 6047 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 Date: Sat, 5 Sep 2026 00:36:45 -0700 Subject: [PATCH 09/30] Added DISPLAYFILETEMPLATES for strike and AC files --- sources/ACFONT | 39 +++++++++++++++++++++------------------ sources/ACFONT.DFASL | Bin 11003 -> 11061 bytes 2 files changed, 21 insertions(+), 18 deletions(-) diff --git a/sources/ACFONT b/sources/ACFONT index d9f7c8a0e..914ceca58 100644 --- a/sources/ACFONT +++ b/sources/ACFONT @@ -1,12 +1,12 @@ (DEFINE-FILE-INFO :PACKAGE "INTERLISP" :READTABLE "INTERLISP" :BASE 10 :FORMAT :UTF-8) -(FILECREATED "29-Aug-2026 00:41:02" {MEDLEY}ACFONT.;13 43517 +(FILECREATED " 4-Sep-2026 11:19:37" {MEDLEY}ACFONT.;14 43576 :EDIT-BY rmk :CHANGES-TO (VARS ACFONTCOMS) - :PREVIOUS-DATE "27-Aug-2026 15:33:03" {MEDLEY}ACFONT.;12) + :PREVIOUS-DATE "29-Aug-2026 00:41:02" {MEDLEY}ACFONT.;13) (PRETTYCOMPRINT ACFONTCOMS) @@ -19,14 +19,14 @@ (FNS ACFONT.FILEP ACFONT.GETCHARSET \READACFONTBOXES \READACFONTFILE \ACCHARIMAGELIST \ACCHARWIDTHLIST \GETFBB \ACCHARPOSLIST \ACROTATECHAR \FACECODE \FAMILYCODE) (PROP FILETYPE ACFONT) - [APPENDVARS (DISPLAYCHARSETFNS (AC ACFONT.FILEP ACFONT.GETCHARSET - (FAMILY SIZE - FACE -C CHARSET) - (c CHARSET > FAMILY SIZE - FACE -C CHARSET] + [APPENDVARS (DISPLAYCHARSETFNS (AC ACFONT.FILEP ACFONT.GETCHARSET)) + (DISPLAYFILETEMPLATES (AC (c CHARSET > FAMILY SIZE - FACE -C CHARSET) + (FAMILY SIZE - FACE -C CHARSET] (COMS (* ; "STRIKE format files") (FNS STRIKEFONT.FILEP STRIKEFONT.GETCHARSET WRITESTRIKEFONTFILE STRIKECSINFO) - (APPENDVARS (DISPLAYCHARSETFNS (STRIKE STRIKEFONT.FILEP STRIKEFONT.GETCHARSET - (FAMILY SIZE - FACE -C CHARSET) - (c CHARSET > FAMILY SIZE - FACE -C CHARSET]) + (APPENDVARS (DISPLAYCHARSETFNS (STRIKE STRIKEFONT.FILEP STRIKEFONT.GETCHARSET)) + (DISPLAYFILETEMPLATES (STRIKE (c CHARSET > FAMILY SIZE - FACE -C CHARSET) + (FAMILY SIZE - FACE -C CHARSET]) @@ -444,8 +444,10 @@ (PUTPROPS ACFONT FILETYPE CL:COMPILE-FILE) -(APPENDTOVAR DISPLAYCHARSETFNS (AC ACFONT.FILEP ACFONT.GETCHARSET (FAMILY SIZE - FACE -C CHARSET) - (c CHARSET > FAMILY SIZE - FACE -C CHARSET))) +(APPENDTOVAR DISPLAYCHARSETFNS (AC ACFONT.FILEP ACFONT.GETCHARSET)) + +(APPENDTOVAR DISPLAYFILETEMPLATES (AC (c CHARSET > FAMILY SIZE - FACE -C CHARSET) + (FAMILY SIZE - FACE -C CHARSET))) @@ -690,14 +692,15 @@ CHARSETDESCENT ← (fetch (CHARSETINFO CHARSETDESCENT) of CSINFO]) ) -(APPENDTOVAR DISPLAYCHARSETFNS (STRIKE STRIKEFONT.FILEP STRIKEFONT.GETCHARSET - (FAMILY SIZE - FACE -C CHARSET) - (c CHARSET > FAMILY SIZE - FACE -C CHARSET))) +(APPENDTOVAR DISPLAYCHARSETFNS (STRIKE STRIKEFONT.FILEP STRIKEFONT.GETCHARSET)) + +(APPENDTOVAR DISPLAYFILETEMPLATES (STRIKE (c CHARSET > FAMILY SIZE - FACE -C CHARSET) + (FAMILY SIZE - FACE -C CHARSET))) (DECLARE%: DONTCOPY - (FILEMAP (NIL (3040 27987 (ACFONT.FILEP 3050 . 3934) (ACFONT.GETCHARSET 3936 . 4546) (\READACFONTBOXES - 4548 . 6772) (\READACFONTFILE 6774 . 19623) (\ACCHARIMAGELIST 19625 . 19962) (\ACCHARWIDTHLIST 19964 - . 21224) (\GETFBB 21226 . 24504) (\ACCHARPOSLIST 24506 . 25552) (\ACROTATECHAR 25554 . 26104) ( -\FACECODE 26106 . 26696) (\FAMILYCODE 26698 . 27985)) (28260 43257 (STRIKEFONT.FILEP 28270 . 29158) ( -STRIKEFONT.GETCHARSET 29160 . 34750) (WRITESTRIKEFONTFILE 34752 . 39661) (STRIKECSINFO 39663 . 43255)) + (FILEMAP (NIL (3037 27984 (ACFONT.FILEP 3047 . 3931) (ACFONT.GETCHARSET 3933 . 4543) (\READACFONTBOXES + 4545 . 6769) (\READACFONTFILE 6771 . 19620) (\ACCHARIMAGELIST 19622 . 19959) (\ACCHARWIDTHLIST 19961 + . 21221) (\GETFBB 21223 . 24501) (\ACCHARPOSLIST 24503 . 25549) (\ACROTATECHAR 25551 . 26101) ( +\FACECODE 26103 . 26693) (\FAMILYCODE 26695 . 27982)) (28305 43302 (STRIKEFONT.FILEP 28315 . 29203) ( +STRIKEFONT.GETCHARSET 29205 . 34795) (WRITESTRIKEFONTFILE 34797 . 39706) (STRIKECSINFO 39708 . 43300)) ))) STOP diff --git a/sources/ACFONT.DFASL b/sources/ACFONT.DFASL index f7db8dbb8019913b7091cfb9acdd85622016a871..60309b224db709e5806490685a0e66e7b6ea48ea 100644 GIT binary patch delta 3962 zcmb7Hdu&tZ6~EuTc3yU9VoX9DV=m+Yc{nsAJd>u_&P`)-?a$aZ0oH6LO+u4U5|)H& zYs;KKOD7u2o?bL+T5@qugw?J?^kOZ9qjA*cCFf|g7$d--Y5D;RkW#18-4$rLKJphSshT4 zr>A6JfLHQWNhSm1Yz@XDx^HJ&P}dAC1kli8Nv7}(NtO%aq!&Kffp%XsrWwg&Q>2A` zs8kg4<|NDFE&Nfwh5NXlH?tL%!wH421Fw8N*n?G8%!md%G_LayN;jj|ZQzwR@n-(W zeB%YaY)M9vr{v_6^FcdsdaCr;D%BdcTS5C|s-0T;HY2D@Oo;k%eUdtFVlB*9WGu+$J=B}tOP6&u>9(Z^Tk+^^Lq#$OcQ!=Uwi&W79`neZoMiTARrITf3QA6P{%uTsbZBH;K@ zVL!#6oRlQFFga}jVU~rJ=AO)wQq&W7vm3de=ebhUbzyL36Lqm0d36?-9CxuSn>XM} zZH;?U!MK_lh_3`4C0>4#mQT)96J%BD`NxSF4|M}tNo)`eT&jC+fI3ANshOWsH+$Mv zPu%QvTT>H6S$WSxgupoUP!&A1(nZvBow|nZ2=_;+%c^{jx^mIs#K4K6V=yg`ePzMI z*|3PcGS>|BO9+&(yCKjSy9d7S*jtJFWPXsi*w*}Z;=080&yj?Cz%{gGQA#*2kd$R& zZzdHF?@^Wud{j~A_G@sNMIs!J_}dU83q$nS20+ox-7Mu!#+g97;!gKNnEU+9n~O#1rlP{|A+!Z+hM@VMuk&C`8>j7d<;n) zXyD<(VF9bW2dr%_(*?tA6lD{_=rx2r8Q7YJ^4<(=x(D}4WHtD*_^HtjmIQBw?b$GG z4MqbrsvSUCzStlliJ3^Z%lbH%FAJQypZ=gb;E1;f;wbPOojRPjet-Bp>s~y7L3LWZ>-a=2V(}` zB~oOzpY9NBwH3n5Wl4E1OI{XvOOnp;n&fmI%$jvAeshUp)HljDSUZ3QIah4&Tdc?# zTyvS%tOvdW_0CtiTqsC5`tg7ihO>f_%3p4lhmTA_TzoW~KcJHzXe(+OeDU$MKE8(BujK;`We;fN#M)`6-WoQ-BH+zRld!g> zJIL?Yxut(gwD5-^kI&!07NPSQxUh;9nNuAAZ?>?}j#n>0TeV_SY!~FuipjxbUxjP6 zas+@RmXdlPERd2@g$?TX$UY{!iux5dI`>5)TDaAqUA}0caCaBeWlp5ifI1zCNlJ0L zdBB$Be>M+xRL2g4Z@?~x?QxY7ot-aLE7C<34@;C&9m?taZSI5e`@ZY(M4v)<4-{CLZ{B_+n1_;fd5~kt`l^f?6=E`o1CEY)GX-K4(YV$`Zej!iGhj1xZ@;s9HK>` zJIB9^V(LVzBCsk-&0N=qi3B3H##5PxlM!*8Eba+lt%5Dc$78WCJeCGKuKTd4*zy3o z=5Z&!A+FLXkdt-+v7kz3`95n79*Mz0=0PFC);9vJs?bX|bG=cZBP;km?11yS)5U5L z#@R1Mu_VYN8Q749P*M+eK`_)HW)mpjHlc9=rR5pryfl3SI-F&o|k12eN zU0trO`D#}xd}*<|T`9ROn~&?ZTp)bjmLD=HJ5&}Ye`2@F>Z|(TwnIBBE zOEOT*RVa{urlsV)3>3|jsqg~Lh`*JAqJEniyE4+w4Ae6)VD>39D3OwEw89sz!GvtZ zA0LrI+z|7IiOX?9s0nyTKsNaYH3p3zSY{IQ qdcI~gId-$8rAxrOStgNWk>LOTACu76&((u%_)AoJ1w)5sXa56uJd%|F delta 3712 zcmb7HeQZX0tJJM+B-BDzP5z^sR88uZsap%{AEm2SY1$B-I<1weDLdyr zV+W|FRf_L9=XcN7yYIYnZr<4ObIXjtRRv7yd`;difrLcyqRz0oA_ql!dgvF z^~(I=B$N4uBtt)zh#vNLY242{!Pi1%@Wa2uTlm(6pe@Nr@<(!V%K1%?#cIvvWIgLL z4^;GVk3uBEl_Y~d8B(!&Xh`?dpf|u{?0xgevY4XqX!872K}}C^r$5+M8wyih^XWCb zmnAI4ioC6XJ!|PA3HB#g=7*FUgE#(Sg-BAYG)2`|1uV4GDWO6syJP)#o(jlI zM`oL;%I@UVnN&HZvPxTRftuZp!XrrCA$iNuGuSK{lMM^YgxXZs4Sk}LDZ|S<-b5CN)ML~ zY+aNRo(m+UoR2FNJgO`+j!$u?5AZ;_3F;t@g#&+6^0vlmJj!MK2$CgOgROqOHK2oN zep?uwL3WJSAsGe*bF|eTjG)v8k{#5$y`c$TSo7){qALN-iMD@N3)2wFIl{{{u%@>J zdm7ndUJFF|vp~)PD}R;IlQnRWA8m*4C!n?KU0OJZ3V9e@3x{bKB=R4SEMcvi?!c%M zl!{e3GzWC9)qa-=uQx&uR+fi_6FO$KA#qeU@FoVXuD0*;mg*%-H3c7jHGvj|0E(W zp8<-gD+Dn)jI$u zSO>NfLE7dI`)F8u0Gc0Uw4v=?{kVE1tlTahQ|^x#_z@+6o1< zWK+^LwKzE99_>GNJU;3k?mrYihMtF5z){-pTkM`AxE$r*ldQ=LQVuj8Nh*-|7*bK{ zCkf%-2Z5ORW9*`%2O8IHM~SOfCeZNmtE;NufNH~9q$i+5w^Iwtu(K7a(9p?uoN<236pE-AUp>%jj0IG5r1S#h#x6JJN}-Q5H`TbCB)e&`XtK4g2A z?jkqYn@jHmn|M8R&4q{3By>K512JQkPaEM6W9bC-4t(`K+NKp7uw9V9DuyJnnVK!z zQPUd=X~8y~?(l{!Am@g9beL12h$P$Zj#2(ddK535l;1c$*$bs*#LuXCnTKaa5gwix zME->nQw*?u=gWFG#1z7#{D36GIc3_YvaO-sWsNyp$>LK zJ+#J=n3(@(k~$Le^EU@?PEtpQ1>TJGt}XV!4jU+M-|I*XfKN1s(N-9s&bfj2U@kgg zE;>`QfAhoI9do1xF@}peL8&r89dkREx<7&64b*jjE~McC;!4eaGyv<}?U;iVRJf{~ z=c)5a>gxXd+%o~{nxhUhOY6@C5<~)sbyj%tFdGrb!5**hO^hq~_+sq$znF%6Je8Nl zfRmqv7vzk#(;#$Xm@Zg#JN<2XhiK{(qT0@aIyoZPb6BXx5ESwyvBD(<@zW9Tl?R=@ z-5=0G`b5|-V78h2A2Jjw`5<2Y@}imczX(&gAa+GVJ(p$m3=2aF{i6bTD$9-v_A;Vc z7F~0ft&&LYU0#yDG}y-lnNj(0F;6H^hBubEzhxPAU0vzksg&H3mk3|C8Hia=1p9aNW3a!@ve&Zg zPv8tK(N@}{<6Dx&IT-o}vr1w#8E7Pnc4pZvX%>c=T%CnWvaIN}!Ug$P1|`4Avf}n) zD4fosKghDfSyl`IL$@c32KXsg`eBLBxCYGPuEf}xYA>l`bJaynqB5ohEZ8Rni!WX_ zF2e$C%qrLnmX&)d?V>*3O9P#r>Mf`&UC$^RH*n(Fg$VI<8ALcE9_$}vi?|yaBjpqJ zs%H%eT)pY(l~+Gl0>>)~iA=nvY#jBN`t1~uN7{sW}D`rEIq|0z0u#Z3}DSaJI{}+{o BMX&$> From 7426263f8bee0697a9082ad9da2cac98671ae8f6 Mon Sep 17 00:00:00 2001 From: rmkaplan Date: Sat, 5 Sep 2026 00:37:32 -0700 Subject: [PATCH 10/30] Testing font filename interfaces --- sources/FONT | 295 ++++++++++++++++------------------ sources/FONT.LCOM | Bin 66420 -> 66168 bytes sources/MEDLEYFONTFORMAT | 75 ++++----- sources/MEDLEYFONTFORMAT.LCOM | Bin 22689 -> 22295 bytes 4 files changed, 173 insertions(+), 197 deletions(-) diff --git a/sources/FONT b/sources/FONT index f079f4f05..0c2cd1211 100644 --- a/sources/FONT +++ b/sources/FONT @@ -1,12 +1,12 @@ (DEFINE-FILE-INFO :PACKAGE "INTERLISP" :READTABLE "INTERLISP" :BASE 10 :FORMAT :UTF-8) -(FILECREATED " 3-Sep-2026 23:29:00" {MEDLEY}FONT.;864 271268 +(FILECREATED " 5-Sep-2026 00:02:43" {MEDLEY}FONT.;874 271143 :EDIT-BY rmk - :CHANGES-TO (FNS MAKEFONTSPEC) + :CHANGES-TO (FNS FONTFILES) - :PREVIOUS-DATE " 3-Sep-2026 20:15:36" {MEDLEY}FONT.;863) + :PREVIOUS-DATE " 4-Sep-2026 23:04:52" {MEDLEY}FONT.;873) (PRETTYCOMPRINT FONTCOMS) @@ -48,8 +48,7 @@ [DECLARE%: DONTCOPY (EXPORT (CONSTANTS (SLUGCHARINDEX (ADD1 \MAXTHINCHAR] (* ; "At the end of each csinfo") (MACROS UPDATEINFOELEMENT)) - (FNS FONTFILES \FONTFILENAME) - (FNS FONTSPECFROMFILENAME FILENAMEFROMFONTSPEC) + (FNS FONTFILES FONTSPECFROMFILENAME FILENAMEFROMFONTSPEC) (FNS FONTCOPY FONTP FONTUNPARSE SETFONTDESCRIPTOR \STREAMCHARWIDTH \COERCECHARSET \BUILDSLUGCSINFO \FONTSYMBOL \DEVICESYMBOL \FONTFACE \FONTFACE.COLOR SETFONTCHARENCODING ) @@ -74,7 +73,8 @@ (INITRECORDS FONTCLASS FONTDESCRIPTOR CHARSETINFO) (SYSRECORDS FONTCLASS FONTDESCRIPTOR CHARSETINFO) (FNS \CREATEKERNELEMENT \FSETLEFTKERN \FGETLEFTKERN) - (FNS \CREATEFONT \CREATECHARSET \INSTALLCHARSETINFO \INSTALLCHARSETINFO.CHARENCODING) + (FNS \CREATEFONT \CREATECHARSET \INSTALLCHARSETINFO \INSTALLCHARSETINFO.CHARENCODING + \COPYCHARSETINFO) (DECLARE%: DONTCOPY (MACROS FIRSTCHARSETCODE LASTCHARSETCODE)) (FNS \FONTRESETCHARWIDTHS) (MACROS \FGETCHARIMAGEWIDTH) @@ -97,7 +97,10 @@ "{MEDLEY}/fonts/medleydisplayfonts" ))) (* ; "The loadup might have fewer") - (ADDVARS (DISPLAYFONTEXTENSIONS MEDLEYDISPLAYFONT)) + (ADDVARS) + [ADDVARS (DISPLAYCHARSETFNS (MEDLEYFONT MEDLEYFONT.FILEP MEDLEYFONT.GETCHARSET)) + (DISPLAYFONTEXTENSIONS MEDLEYDISPLAYFONT) + (DISPLAYFILETEMPLATES (MEDLEYFONT (FAMILY SIZE - FACE] (INITVARS (DISPLAYFACECOERCIONS '(((* * (BOLD * *)) (* * (MEDIUM * *))) ((* * (* ITALIC *)) @@ -1186,7 +1189,8 @@ (fetch (FONTDESCRIPTOR FONTHEIGHT) of (FONTCREATE FONTSPEC]) (FONTPROP - [LAMBDA (FONT PROP) (* ; "Edited 2-Sep-2026 22:41 by rmk") + [LAMBDA (FONT PROP) (* ; "Edited 4-Sep-2026 11:10 by rmk") + (* ; "Edited 2-Sep-2026 22:41 by rmk") (* ; "Edited 1-Sep-2026 11:19 by rmk") (* ; "Edited 12-Apr-2026 12:52 by rmk") (* ; "Edited 28-Mar-2026 07:51 by rmk") @@ -1210,20 +1214,20 @@ (HEIGHT (ffetch (FONTDESCRIPTOR FONTHEIGHT) of FONT)) (ASCENT (ffetch (FONTDESCRIPTOR FONTASCENT) of FONT)) (DESCENT (ffetch (FONTDESCRIPTOR FONTDESCENT) of FONT)) - (FAMILY (ffetch FONTFAMILY of FONT)) - (SIZE (ffetch FONTSIZE of FONT)) - (FACE (COPY (ffetch FONTFACE of FONT))) - (WEIGHT (ffetch WEIGHT of (ffetch FONTFACE of FONT))) - (SLOPE (ffetch SLOPE of (ffetch FONTFACE of FONT))) - (EXPANSION (ffetch EXPANSION of (ffetch FONTFACE of FONT))) - (FORECOLOR (ffetch FORECOLOR of (ffetch FONTFACE of FONT))) - (BACKCOLOR (ffetch BACKCOLOR of (ffetch FONTFACE of FONT))) - (ROTATION (ffetch ROTATION of FONT)) - (DEVICE (ffetch FONTDEVICE of FONT)) - (FILENAME (CL:WHEN (ffetch FONTFILENAME of FONT) - (INFILEP (ffetch FONTFILENAME of FONT)))) - (CHARENCODING [OR (ffetch FONTCHARENCODING of FONT) - (freplace FONTCHARENCODING of FONT + (FAMILY (ffetch (FONTDESCRIPTOR FONTFAMILY) of FONT)) + (SIZE (ffetch (FONTDESCRIPTOR FONTSIZE) of FONT)) + (FACE (COPY (ffetch (FONTDESCRIPTOR FONTFACE) of FONT))) + (WEIGHT (fetch (FONTFACE WEIGHT) of (ffetch (FONTDESCRIPTOR FONTFACE) of FONT))) + (SLOPE (ffetch (FONTFACE SLOPE) of (ffetch (FONTDESCRIPTOR FONTFACE) of FONT))) + (EXPANSION (ffetch (FONTFACE EXPANSION) of (ffetch (FONTDESCRIPTOR FONTFACE) of FONT))) + (FORECOLOR (ffetch (FONTFACE FORECOLOR) of (ffetch (FONTDESCRIPTOR FONTFACE) of FONT))) + (BACKCOLOR (ffetch (FONTFACE BACKCOLOR) of (ffetch (FONTDESCRIPTOR FONTFACE) of FONT))) + (ROTATION (ffetch (FONTDESCRIPTOR ROTATION) of FONT)) + (DEVICE (ffetch (FONTDESCRIPTOR FONTDEVICE) of FONT)) + (FILENAME (CL:WHEN (ffetch (FONTDESCRIPTOR FONTFILENAME) of FONT) + (INFILEP (ffetch (FONTDESCRIPTOR FONTFILENAME) of FONT)))) + (CHARENCODING [OR (ffetch (FONTDESCRIPTOR FONTCHARENCODING) of FONT) + (freplace (FONTDESCRIPTOR FONTCHARENCODING) of FONT with (if (MEMB (fetch (FONTDESCRIPTOR FONTFAMILY) of FONT) NSFONTFAMILIES) then 'XCCS$ @@ -1235,38 +1239,46 @@ then 'MCCS else (fetch (FONTDESCRIPTOR FONTFAMILY) of FONT]) (SPEC (create FONTSPEC - FSFAMILY ← (ffetch FONTFAMILY of FONT) - FSSIZE ← (ffetch FONTSIZE of FONT) - FSFACE ← (COPY (ffetch FONTFACE of FONT)) - FSROTATION ← (ffetch ROTATION of FONT) - FSDEVICE ← (ffetch FONTDEVICE of FONT))) + FSFAMILY ← (ffetch (FONTDESCRIPTOR FONTFAMILY) of FONT) + FSSIZE ← (ffetch (FONTDESCRIPTOR FONTSIZE) of FONT) + FSFACE ← (COPY (ffetch (FONTDESCRIPTOR FONTFACE) of FONT)) + FSROTATION ← (ffetch (FONTDESCRIPTOR ROTATION) of FONT) + FSDEVICE ← (ffetch (FONTDESCRIPTOR FONTDEVICE) of FONT))) (DEVICESPEC (* ;  "DEVICE fields are for communicating coercions to the particular printing device") - (CL:IF (ffetch FONTDEVICESPEC of FONT) - (COPY (ffetch FONTDEVICESPEC of FONT)) + (CL:IF (ffetch (FONTDESCRIPTOR FONTDEVICESPEC) of FONT) + (COPY (ffetch (FONTDESCRIPTOR FONTDEVICESPEC) of FONT)) (FONTPROP FONT 'SPEC))) - (DEVICEFAMILY (CL:IF (ffetch FONTDEVICESPEC of FONT) - (fetch (FONTSPEC FSFAMILY) of (ffetch FONTDEVICESPEC of FONT)) - (ffetch FONTFAMILY of FONT))) + (DEVICEFAMILY (CL:IF (ffetch (FONTDESCRIPTOR FONTDEVICESPEC) of FONT) + (fetch (FONTSPEC FSFAMILY) of (ffetch (FONTDESCRIPTOR FONTDEVICESPEC) + of FONT)) + (ffetch (FONTDESCRIPTOR FONTFAMILY) of FONT))) (DEVICESIZE (CL:IF (ffetch FONTDEVICESPEC of FONT) (fetch (FONTSPEC FSSIZE) of (ffetch FONTDEVICESPEC of FONT)) - (ffetch FONTSIZE of FONT))) - (DEVICEFACE (COPY (CL:IF (ffetch FONTDEVICESPEC of FONT) - (fetch (FONTSPEC FSFACE) of (ffetch FONTDEVICESPEC of FONT)) - (ffetch FONTFACE of FONT)))) - (DEVICESLOPE (fetch SLOPE of (CL:IF (ffetch FONTDEVICESPEC of FONT) - (fetch (FONTSPEC FSFACE) of (ffetch FONTDEVICESPEC + (ffetch (FONTDESCRIPTOR FONTSIZE) of FONT))) + (DEVICEFACE (COPY (CL:IF (ffetch (FONTDESCRIPTOR FONTDEVICESPEC) of FONT) + (fetch (FONTSPEC FSFACE) of (ffetch (FONTDESCRIPTOR FONTDEVICESPEC) + of FONT)) + (ffetch (FONTDESCRIPTOR FONTFACE) of FONT)))) + (DEVICESLOPE (fetch SLOPE of (CL:IF (ffetch (FONTDESCRIPTOR FONTDEVICESPEC) of FONT) + (fetch (FONTSPEC FSFACE) of (ffetch (FONTDESCRIPTOR + FONTDEVICESPEC) of FONT)) - (ffetch FONTFACE of FONT)))) - (DEVICEWEIGHT (fetch WEIGHT of (CL:IF (ffetch FONTDEVICESPEC of FONT) - (fetch (FONTSPEC FSFACE) of (ffetch FONTDEVICESPEC - of FONT)) - (ffetch FONTFACE of FONT)))) + (ffetch (FONTDESCRIPTOR FONTFACE) of FONT)))) + (DEVICEWEIGHT (fetch (FONTFACE WEIGHT) of (CL:IF (ffetch (FONTDESCRIPTOR FONTDEVICESPEC) + of FONT) + (fetch (FONTSPEC FSFACE) + of (ffetch (FONTDESCRIPTOR FONTDEVICESPEC) + of FONT)) + (ffetch (FONTDESCRIPTOR FONTFACE) of FONT)))) (DEVICEEXPANSION - (fetch EXPANSION of (CL:IF (ffetch FONTDEVICESPEC of FONT) - (fetch (FONTSPEC FSFACE) of (ffetch FONTDEVICESPEC of FONT)) - (ffetch FONTFACE of FONT)))) - (SCALE (ffetch FONTSCALE of FONT)) + (fetch (FONTFACE EXPANSION) of (CL:IF (ffetch (FONTDESCRIPTOR FONTDEVICESPEC) + of FONT) + (fetch (FONTSPEC FSFACE) of (ffetch (FONTDESCRIPTOR + FONTDEVICESPEC) + of FONT)) + (ffetch (FONTDESCRIPTOR FONTFACE) of FONT)))) + (SCALE (ffetch (FONTDESCRIPTOR FONTSCALE) of FONT)) (CHARSETS (for CS CSINFO from 0 to (MAXCHARSET FONT) eachtime (SETQ CSINFO (\GETCHARSETINFO FONT CS)) when CSINFO unless (fetch (CHARSETINFO CSSLUGP) of CSINFO) collect CS)) @@ -1284,7 +1296,7 @@ CS)) count (NULL CSINFO))) (AVGCHARWIDTH (ffetch (FONTDESCRIPTOR FONTAVGCHARWIDTH) of FONT)) - (FONTTOMCCSFN (ffetch FONTTOMCCSFN of FONT)) + (FONTTOMCCSFN (ffetch (FONTDESCRIPTOR FONTTOMCCSFN) of FONT)) (\ILLEGAL.ARG PROP]) (\AVGCHARWIDTH @@ -1933,7 +1945,8 @@ (DEFINEQ (FONTFILES - [LAMBDA (FONTSPEC EXISTS CHARSET DIRLST EXTLST FORMATS) (* ; "Edited 31-Aug-2026 09:46 by rmk") + [LAMBDA (FONTSPEC EXISTS CHARSET DIRLST EXTLST FORMATS) (* ; "Edited 4-Sep-2026 23:52 by rmk") + (* ; "Edited 31-Aug-2026 09:46 by rmk") (* ; "Edited 29-Aug-2026 09:28 by rmk") (* ; "Edited 18-Aug-2026 16:45 by rmk") (* ; "Edited 19-Apr-2026 09:54 by rmk") @@ -1978,60 +1991,6 @@ unless (MEMBER F FOUND) do (push FOUND F))) finally (RETURN (DREVERSE FOUND]) -(\FONTFILENAME - [LAMBDA (FAMILY SIZE FACE EXTENSION CHARSET) (* ; "Edited 15-Apr-2026 00:44 by rmk") - (* ; "Edited 22-Jan-2026 14:25 by rmk") - (* ; "Edited 11-Jul-2025 09:39 by rmk") - (* ; "Edited 15-May-2025 15:51 by rmk") - (* ; "Edited 5-Mar-93 16:10 by rmk:") - - (* ;; "Strike file naming convention (w/o dashes, no charset) no longer supported. New name is of the form %"familysize-face-Ccharset.ext%", e.g., MODERN12-MRR-C357.WD") - - (* ;; "FAMILY can be a FONTSPEC") - - (DECLARE (SPECVARS FAMILY SIZE FACE)) - (SETQ FACE (\FONTFACE FACE)) (* ; "Validate face") - (LET (ROTATION DEVICE SIZEPATT CSETNAME FACESPEC STARPOS FILENAME) - (DECLARE (SPECVARS ROTATION DEVICE)) - (CL:WHEN (type? FONTSPEC FAMILY) - (SPREADFONTSPEC FAMILY)) - (SETQ SIZEPATT (CL:IF (OR (EQ SIZE '*) - (>= SIZE 10)) - SIZE - (CONCAT "0" SIZE))) - (SETQ CSETNAME (if (FIXP CHARSET) - then (OCTALSTRING CHARSET) - elseif (MEMB CHARSET '(NIL NOCHARSET)) - then (* ; "Don't want the charset indicated") - NIL - else (* ; "Somebody made the string already?") - CHARSET)) - - (* ;; "Fortunately, PACKFILENAME ignores packages") - - [SETQ FILENAME (PACKFILENAME.STRING 'NAME (CONCAT (CL:IF CSETNAME - (CONCAT "c" CSETNAME ">") - "") - FAMILY SIZEPATT "-" (FONTFACETOATOM FACE) - (CL:IF CSETNAME - (CONCAT "-C" CSETNAME) - "")) - 'EXTENSION - (OR EXTENSION (CAR (MKLIST (FONTDEVICEPROP DEVICE 'FONTEXTENSIONS] - - (* ;; - " Avoid adjacent wildcards because some devices (notably old DSK) get exponentially slower.") - - (CL:IF (STRPOS "**" FILENAME) - (CONCATCODES (for I C from 1 while (SETQ C (NTHCHARCODE FILENAME I)) - unless [AND (EQ (CHARCODE *) - C) - (EQ (CHARCODE *) - (NTHCHARCODE FILENAME (ADD1 I] collect C)) - FILENAME)]) -) -(DEFINEQ - (FONTSPECFROMFILENAME [LAMBDA (FONTFILE DEVICE) (* ; "Edited 27-Aug-2026 18:39 by rmk") (* ; "Edited 23-Nov-2025 21:42 by rmk") @@ -2114,7 +2073,8 @@ FSDEVICE ← DEVICE]) (FILENAMEFROMFONTSPEC - [LAMBDA (FONTSPEC CHARSET ALL FORMATS) (* ; "Edited 28-Aug-2026 09:46 by rmk") + [LAMBDA (FONTSPEC CHARSET ALL FORMATS) (* ; "Edited 4-Sep-2026 23:01 by rmk") + (* ; "Edited 28-Aug-2026 09:46 by rmk") (* ; "Edited 15-Apr-2026 00:44 by rmk") (* ; "Edited 22-Jan-2026 14:25 by rmk") (* ; "Edited 11-Jul-2025 09:39 by rmk") @@ -2127,19 +2087,19 @@ (>= SIZE 10)) SIZE (CONCAT "0" SIZE))) - (CL:IF (FIXP CHARSET) - (SETQ CHARSET (OCTALSTRING CHARSET))) + (if (NULL CHARSET) + then (SETQ CHARSET 0) + elseif (FIXP CHARSET) + then (SETQ CHARSET (OCTALSTRING CHARSET))) (SETQ FACE (FONTFACETOATOM FACE)) - (for F in (FONTDEVICEPROP DEVICE 'CHARSETFNS) when (OR (NULL FORMATS) - (EQMEMB (CAR F) - FORMATS)) - join (for TEMPLATE STARPOS FILENAME SUB - in [OR (CDDDR F) - '((FAMILY SIZE - FACE] eachtime (SETQ SUB - (SUBPAIR '(FAMILY SIZE FACE CHARSET) - (LIST FAMILY SIZE FACE CHARSET) - TEMPLATE T)) - unless (MEMB NIL SUB) + (for F in [APPEND (FONTDEVICEPROP DEVICE 'FILETEMPLATES) + '((MEDLEYFONT (FAMILY SIZE - FACE] when (OR (NULL FORMATS) + (EQMEMB (CAR F) + FORMATS)) + join (for TEMPLATE STARPOS FILENAME SUB in (CDR F) + eachtime (SETQ SUB (SUBPAIR '(FAMILY SIZE FACE CHARSET) + (LIST FAMILY SIZE FACE CHARSET) + TEMPLATE T)) unless (MEMB NIL SUB) collect (SETQ FILENAME (CONCATLIST SUB)) (* ;; @@ -2153,7 +2113,10 @@ (EQ (CHARCODE *) (NTHCHARCODE FILENAME (ADD1 I] collect C)))) - FILENAME) finally (SETQ $$VAL (CL:REMOVE-DUPLICATES $$VAL :FROM-END T)) + (CL:WHEN (EQ 0 (NCHARS FILENAME)) + (GO $$ITERATE)) + FILENAME) finally (SETQ $$VAL (CL:REMOVE-DUPLICATES $$VAL :FROM-END T :TEST + (FUNCTION STREQUAL))) (RETURN (CL:IF ALL $$VAL (CAR $$VAL))]) @@ -3748,7 +3711,8 @@ CSINFO]) (\INSTALLCHARSETINFO.CHARENCODING - [LAMBDA (FONT CSINFO CHARSET) (* ; "Edited 12-Jul-2025 10:57 by rmk") + [LAMBDA (FONT CSINFO CHARSET) (* ; "Edited 4-Sep-2026 16:32 by rmk") + (* ; "Edited 12-Jul-2025 10:57 by rmk") (* ; "Edited 9-Jul-2025 09:38 by rmk") (* ; "Edited 6-Jul-2025 21:46 by rmk") (* ; "Edited 25-May-2025 23:05 by rmk") @@ -3757,9 +3721,23 @@ (* ;; "The font charencoding is its charset 0 encoding. All higher charsets are MCCS.") (CL:WHEN (AND (EQ CHARSET 0) - (NOT (fetch (CHARSETINFO CSSLUGP) of CSINFO))) + (NOT (fetch (CHARSETINFO CSSLUGP) of CSINFO)) + (CHARSETPROP CSINFO 'CSCHARENCODING)) (replace (FONTDESCRIPTOR FONTCHARENCODING) of FONT with (CHARSETPROP CSINFO 'CSCHARENCODING))) ]) + +(\COPYCHARSETINFO + [LAMBDA (CSINFO) (* ; "Edited 4-Sep-2026 17:07 by rmk") + + (* ;; "Produce a copy of CSINFO, including copies of all the blocks underneath, for smashing.") + + (* ;; "Simplest solution, if WIDTHS=IMAGEWIDTHS is to copy them separately, then swap back.") + + (LET ((NEW (COPYALL CSINFO))) + (CL:WHEN (EQ (fetch (CHARSETINFO IMAGEWIDTHS) of CSINFO) + (fetch (CHARSETINFO WIDTHS) of CSINFO)) + (replace (CHARSETINFO IMAGEWIDTHS) of NEW with (fetch (CHARSETINFO WIDTHS) of NEW))) + NEW]) ) (DECLARE%: DONTCOPY (DECLARE%: EVAL@COMPILE @@ -4215,8 +4193,13 @@ (RPAQ? DISPLAYFONTDIRECTORIES (LIST "{MEDLEY}/fonts/medleydisplayfonts")) + +(ADDTOVAR DISPLAYCHARSETFNS (MEDLEYFONT MEDLEYFONT.FILEP MEDLEYFONT.GETCHARSET)) + (ADDTOVAR DISPLAYFONTEXTENSIONS MEDLEYDISPLAYFONT) +(ADDTOVAR DISPLAYFILETEMPLATES (MEDLEYFONT (FAMILY SIZE - FACE))) + (RPAQ? DISPLAYFACECOERCIONS '[((* * (BOLD * *)) @@ -4243,41 +4226,41 @@ (ADDTOVAR LAMA FONTCOPY FONTDEVICEPROP) ) (DECLARE%: DONTCOPY - (FILEMAP (NIL (6446 16113 (CHARWIDTH 6456 . 7245) (CHARWIDTHY 7247 . 8764) (STRINGWIDTH 8766 . 9803) ( -\CHARWIDTH.DISPLAY 9805 . 10220) (\STRINGWIDTH.DISPLAY 10222 . 10650) (\STRINGWIDTH.GENERIC 10652 . -16111)) (16114 22746 (DEFAULTFONT 16124 . 17409) (FONTCLASS 17411 . 19683) (FONTCLASSUNPARSE 19685 . -20586) (FONTCLASSCOMPONENT 20588 . 21176) (SETFONTCLASSCOMPONENT 21178 . 21620) (GETFONTCLASSCOMPONENT - 21622 . 22744)) (24194 44129 (FONTCREATE 24204 . 27449) (FONTCREATE1 27451 . 30110) ( -FONTCREATE.SLUGFD 30112 . 32676) (\FONT.CHECKARGS1 32678 . 37383) (\FONTCREATE1.NOFN 37385 . 37599) ( -FONTFILEP 37601 . 38489) (\READCHARSET 38491 . 43709) (FONTCHARSETS 43711 . 44127)) (44130 51484 ( -\FONT.CHECKARGS 44140 . 51167) (\CHARSET.CHECK 51169 . 51482)) (51485 59339 (COERCEFONTSPEC 51495 . -58650) (COERCEFONTSPEC.TARGETFACE 58652 . 59337)) (61534 65972 (MAKEFONTSPEC 61544 . 63319) ( -FONTSPEC.TO.FONTDESCRIPTOR 63321 . 65195) (FONT.CHANGESPEC 65197 . 65970)) (65973 75635 (COMPLETE.FONT - 65983 . 68008) (COMPLETEFONTP 68010 . 68748) (COMPLETE.CHARSET 68750 . 72816) (PRUNESLUGCSINFOS 72818 - . 74129) (MONOSPACEFONTP 74131 . 75633)) (75674 86233 (FONTASCENT 75684 . 76195) (FONTDESCENT 76197 - . 76918) (FONTHEIGHT 76920 . 77432) (FONTPROP 77434 . 85510) (\AVGCHARWIDTH 85512 . 86231)) (87117 -88987 (FONTDEVICEPROP 87127 . 88985)) (89104 89958 (EDITCHAR 89114 . 89956)) (90004 103081 ( -GETCHARBITMAP 90014 . 91268) (PUTCHARBITMAP 91270 . 93542) (\GETCHARBITMAP.CSINFO 93544 . 96203) ( -\PUTCHARBITMAP.CSINFO 96205 . 103079)) (103082 125756 (MOVECHARBITMAP 103092 . 104986) (MOVEFONTCHARS -104988 . 110138) (\MOVEFONTCHAR 110140 . 115126) (\MOVEFONTCHARS.SOURCEDATA 115128 . 121998) ( -\MAKESLUGCHAR 122000 . 124535) (SLUGCHARP 124537 . 125754)) (126671 133596 (FONTFILES 126681 . 130482) - (\FONTFILENAME 130484 . 133594)) (133597 141384 (FONTSPECFROMFILENAME 133607 . 138376) ( -FILENAMEFROMFONTSPEC 138378 . 141382)) (141385 177938 (FONTCOPY 141395 . 146478) (FONTP 146480 . -146779) (FONTUNPARSE 146781 . 148504) (SETFONTDESCRIPTOR 148506 . 149970) (\STREAMCHARWIDTH 149972 . -153983) (\COERCECHARSET 153985 . 157374) (\BUILDSLUGCSINFO 157376 . 161289) (\FONTSYMBOL 161291 . -161945) (\DEVICESYMBOL 161947 . 162731) (\FONTFACE 162733 . 169937) (\FONTFACE.COLOR 169939 . 176721) -(SETFONTCHARENCODING 176723 . 177936)) (177939 196626 (FONTSAVAILABLE 177949 . 183313) (FONTEXISTS? -183315 . 187480) (\SEARCHFONTFILES 187482 . 191212) (FLUSHFONTCACHE 191214 . 193919) (SORTFONTSPECS -193921 . 196624)) (196627 202165 (MATCHFONTFACE 196637 . 197712) (MAKEFONTFACE 197714 . 198748) ( -FONTFACETOATOM 198750 . 201000) (FONTFACE.STARS 201002 . 202163)) (202512 203004 (\UNITWIDTHSVECTOR -202522 . 203002)) (220995 223393 (FONTDESCRIPTOR.DEFPRINT 221005 . 222915) (FONTCLASS.DEFPRINT 222917 - . 223391)) (227208 229998 (\CREATEKERNELEMENT 227218 . 227576) (\FSETLEFTKERN 227578 . 228069) ( -\FGETLEFTKERN 228071 . 229996)) (229999 240667 (\CREATEFONT 230009 . 233535) (\CREATECHARSET 233537 . -236291) (\INSTALLCHARSETINFO 236293 . 239754) (\INSTALLCHARSETINFO.CHARENCODING 239756 . 240665)) ( -240989 242357 (\FONTRESETCHARWIDTHS 240999 . 242355)) (242880 253490 (\CREATEFONT.DISPLAY 242890 . -246114) (\CREATECHARSET.DISPLAY 246116 . 249772) (\FONTEXISTS?.DISPLAY 249774 . 252770) ( -FONTSAVAILABLE.DISPLAY 252772 . 253488)) (253491 262210 (FAKEFACE.CHARSET 253501 . 257676) ( -MAKEBOLD.CHAR 257678 . 259645) (MAKEITALIC.CHAR 259647 . 262208)) (262241 269391 (\SFROTATECSINFO -262251 . 266006) (\SFROTATECSINFOBITMAP 266008 . 266721) (\SFROTATECSINFOOFFSETS 266723 . 268507) ( -\SFROTATECSINFOIMAGEWIDTHS 268509 . 269389)) (269392 270566 (\SFMAKECOLOR 269402 . 270564))))) + (FILEMAP (NIL (6641 16308 (CHARWIDTH 6651 . 7440) (CHARWIDTHY 7442 . 8959) (STRINGWIDTH 8961 . 9998) ( +\CHARWIDTH.DISPLAY 10000 . 10415) (\STRINGWIDTH.DISPLAY 10417 . 10845) (\STRINGWIDTH.GENERIC 10847 . +16306)) (16309 22941 (DEFAULTFONT 16319 . 17604) (FONTCLASS 17606 . 19878) (FONTCLASSUNPARSE 19880 . +20781) (FONTCLASSCOMPONENT 20783 . 21371) (SETFONTCLASSCOMPONENT 21373 . 21815) (GETFONTCLASSCOMPONENT + 21817 . 22939)) (24389 44324 (FONTCREATE 24399 . 27644) (FONTCREATE1 27646 . 30305) ( +FONTCREATE.SLUGFD 30307 . 32871) (\FONT.CHECKARGS1 32873 . 37578) (\FONTCREATE1.NOFN 37580 . 37794) ( +FONTFILEP 37796 . 38684) (\READCHARSET 38686 . 43904) (FONTCHARSETS 43906 . 44322)) (44325 51679 ( +\FONT.CHECKARGS 44335 . 51362) (\CHARSET.CHECK 51364 . 51677)) (51680 59534 (COERCEFONTSPEC 51690 . +58845) (COERCEFONTSPEC.TARGETFACE 58847 . 59532)) (61729 66167 (MAKEFONTSPEC 61739 . 63514) ( +FONTSPEC.TO.FONTDESCRIPTOR 63516 . 65390) (FONT.CHANGESPEC 65392 . 66165)) (66168 75830 (COMPLETE.FONT + 66178 . 68203) (COMPLETEFONTP 68205 . 68943) (COMPLETE.CHARSET 68945 . 73011) (PRUNESLUGCSINFOS 73013 + . 74324) (MONOSPACEFONTP 74326 . 75828)) (75869 87849 (FONTASCENT 75879 . 76390) (FONTDESCENT 76392 + . 77113) (FONTHEIGHT 77115 . 77627) (FONTPROP 77629 . 87126) (\AVGCHARWIDTH 87128 . 87847)) (88733 +90603 (FONTDEVICEPROP 88743 . 90601)) (90720 91574 (EDITCHAR 90730 . 91572)) (91620 104697 ( +GETCHARBITMAP 91630 . 92884) (PUTCHARBITMAP 92886 . 95158) (\GETCHARBITMAP.CSINFO 95160 . 97819) ( +\PUTCHARBITMAP.CSINFO 97821 . 104695)) (104698 127372 (MOVECHARBITMAP 104708 . 106602) (MOVEFONTCHARS +106604 . 111754) (\MOVEFONTCHAR 111756 . 116742) (\MOVEFONTCHARS.SOURCEDATA 116744 . 123614) ( +\MAKESLUGCHAR 123616 . 126151) (SLUGCHARP 126153 . 127370)) (128287 140285 (FONTFILES 128297 . 132207) + (FONTSPECFROMFILENAME 132209 . 136978) (FILENAMEFROMFONTSPEC 136980 . 140283)) (140286 176839 ( +FONTCOPY 140296 . 145379) (FONTP 145381 . 145680) (FONTUNPARSE 145682 . 147405) (SETFONTDESCRIPTOR +147407 . 148871) (\STREAMCHARWIDTH 148873 . 152884) (\COERCECHARSET 152886 . 156275) (\BUILDSLUGCSINFO + 156277 . 160190) (\FONTSYMBOL 160192 . 160846) (\DEVICESYMBOL 160848 . 161632) (\FONTFACE 161634 . +168838) (\FONTFACE.COLOR 168840 . 175622) (SETFONTCHARENCODING 175624 . 176837)) (176840 195527 ( +FONTSAVAILABLE 176850 . 182214) (FONTEXISTS? 182216 . 186381) (\SEARCHFONTFILES 186383 . 190113) ( +FLUSHFONTCACHE 190115 . 192820) (SORTFONTSPECS 192822 . 195525)) (195528 201066 (MATCHFONTFACE 195538 + . 196613) (MAKEFONTFACE 196615 . 197649) (FONTFACETOATOM 197651 . 199901) (FONTFACE.STARS 199903 . +201064)) (201413 201905 (\UNITWIDTHSVECTOR 201423 . 201903)) (219896 222294 (FONTDESCRIPTOR.DEFPRINT +219906 . 221816) (FONTCLASS.DEFPRINT 221818 . 222292)) (226109 228899 (\CREATEKERNELEMENT 226119 . +226477) (\FSETLEFTKERN 226479 . 226970) (\FGETLEFTKERN 226972 . 228897)) (228900 240384 (\CREATEFONT +228910 . 232436) (\CREATECHARSET 232438 . 235192) (\INSTALLCHARSETINFO 235194 . 238655) ( +\INSTALLCHARSETINFO.CHARENCODING 238657 . 239730) (\COPYCHARSETINFO 239732 . 240382)) (240706 242074 ( +\FONTRESETCHARWIDTHS 240716 . 242072)) (242597 253207 (\CREATEFONT.DISPLAY 242607 . 245831) ( +\CREATECHARSET.DISPLAY 245833 . 249489) (\FONTEXISTS?.DISPLAY 249491 . 252487) (FONTSAVAILABLE.DISPLAY + 252489 . 253205)) (253208 261927 (FAKEFACE.CHARSET 253218 . 257393) (MAKEBOLD.CHAR 257395 . 259362) ( +MAKEITALIC.CHAR 259364 . 261925)) (261958 269108 (\SFROTATECSINFO 261968 . 265723) ( +\SFROTATECSINFOBITMAP 265725 . 266438) (\SFROTATECSINFOOFFSETS 266440 . 268224) ( +\SFROTATECSINFOIMAGEWIDTHS 268226 . 269106)) (269109 270283 (\SFMAKECOLOR 269119 . 270281))))) STOP diff --git a/sources/FONT.LCOM b/sources/FONT.LCOM index b7b188c06e985d91b5807e69e9577c91b5bd1736..9f05fe9b2cea7fb4fbd69df85a3f7ba47e25b554 100644 GIT binary patch delta 1440 zcma)6O>Ep$5VoBSZC!Pc9PAC8Rp`+pekYXKW`Z(SlXfst^uv z-~yLaqCyCPL@+4)M2f_za7wbIhe)s&F5%dF?>(V_I3VRv<~bXhKqauOXV1KEW(use{^76kSVP9VnvRcxHNZ3VJ5>mzX;wk?nP8RRqZ*reg$TrVahE3#-CZ6(qy577+uIXxX9f7{?(U zFNEZ$jxKEAq+mYkWxfkjE)FqIzloCNFBqqoh1nEWdb$m7$&LW z1(NOA(Xj6NCjuXz4al_xP8)3?63pW*K%hhOzp zcQY#=YVf6Tj>GFUVen%5vV8qEvqiSN_4ix;xwGEL?hMVQn{T9Rx?C7#m^eF_|8|=@ zq}d!F=LY5`&GE082lvd8ohjEW?M%`v%?bG%W3(``TcG0wOpiB)dBUq(-z5*eo@suz z&3#OtO*zD+L0X!YQW`spZ|040TB4Aev9z0|<-!n|%zh)U?$Jsmo*r!dMoX!C<)DxF zcw#_{yBF!i>yvRY9v{$x5Er%|H|RtqE)KSSr&&J7Nm@$=Fa5=!X&QJ@ml-Ct2xy89 zCiP4sVrB@Mte)CeTTMXa_^UKTjjBVeV}}u_4Fz1{&VyQ)AzYaE4Lbl;X+Y0o8C6gk zhuB@(2{Y4sA98HOvnR5@Mrpth?l+jhXYtbsS-f4sY delta 1679 zcmZvcPi)&%7{L9KmeO<$NtShM*TGk>i=048Y{$+YB#7%ctJ}mcioG#PO16@zWvw)j zxWHkl(1egCq;&?hD?<}-L7YNEU?4^gpdszdfja^Y2r0l0yN&1PwrdMH_XcG>Ue8-o(7Mw%-s>lEc}*=U741Y8e69Y$hQ|w>Z|w<$xIyC74c$7eR7~L3 zRuSTn&%P9p*6zE@UjveTH25?zP6t!1w}KB=p4rm`Wb{I?})s*G} z+WaGj>SC_D`HTJBnInz6xw-oHPSlM~iAMVzWe&|VostL5d&rlF9!Gf4E$8b&UpL>o z=tL+g{mx79~Xi%jVZVzC8h;|lOj&(mQ8cRP@ z4^diS9Ik~rb2!ir;?UwqEl~4!jHRExYyN;kky@bByjKh`oXCq{SX0g*RGim9$Yemp zhN@VOYJ!kX?e(XUK$t0G;*td$R)-qN3^(-^ zktqq-mx+`F;0(P82HxU03cNs45^Sq+?N$%EVyD-t4H4SnG@a4x%)#~wAj?Q!g< zrdKF6WI&T2f6hF>{(#H5r_=lqkx{8PaRAM!-A`5TCRb8NH;-dK4iHk?eUy#hxyNwG z+YaGy$OVH;+VfKLBUBsd*kkKsV(SuqoR+MOc4!73b#bx?PGLNX!Oi2^2QcdbWxuhW z=>HZ+BDL{O^Dq1M`fx+TMMEDLEYFONTFORMAT.;329 70311 +(FILECREATED " 5-Sep-2026 00:02:59" {MEDLEY}MEDLEYFONTFORMAT.;332 70082 :EDIT-BY rmk - :CHANGES-TO (FNS MEDLEYFONT.READ.CHARSET MEDLEYFONT.WRITE.CHARSET MEDLEYFONT.READ.FONT - MEDLEYFONT.READ.VERIFIEDFONT MEDLEYFONT.WRITE.FONTPROPS) + :CHANGES-TO (FNS MEDLEYFONT.GETCHARSET MEDLEYFONT.READ.CHARSET MEDLEYFONT.READ.FONT) - :PREVIOUS-DATE "31-Aug-2026 22:44:24" {MEDLEY}MEDLEYFONTFORMAT.;326) + :PREVIOUS-DATE " 4-Sep-2026 22:11:51" {MEDLEY}MEDLEYFONTFORMAT.;331) (PRETTYCOMPRINT MEDLEYFONTFORMATCOMS) @@ -32,10 +31,6 @@ (FNS MEDLEYFONT.WRITE.CHARSET MEDLEYFONT.WRITE.ITEM MEDLEYFONT.WRITE.FONTPROPS MEDLEYFONT.WRITE.HEADER) (FNS MEDLEYFONT.FILENAME) - (ADDVARS (DISPLAYFONTEXTENSIONS MEDLEYDISPLAYFONT) - (DISPLAYCHARSETFNS (MEDLEYFONT MEDLEYFONT.FILEP MEDLEYFONT.GETCHARSET - (FAMILY SIZE - FACE))) - (INTERPRESSFONTEXTENSIONS MEDLEYINTERPRESSFONT)) (DECLARE%: EVAL@COMPILE DONTCOPY (CONSTANTS (PRINTDATA 0) (SMALLPDATA 1) (BITMAPDATA 2) @@ -147,7 +142,8 @@ (FULLNAME STREAM]) (MEDLEYFONT.GETCHARSET - [LAMBDA (STREAM CHARSET FONT) (* ; "Edited 15-Apr-2026 13:29 by rmk") + [LAMBDA (STREAM CHARSET FONT) (* ; "Edited 4-Sep-2026 23:30 by rmk") + (* ; "Edited 15-Apr-2026 13:29 by rmk") (* ; "Edited 12-Apr-2026 22:14 by rmk") (* ; "Edited 6-Apr-2026 09:45 by rmk") (* ; "Edited 30-Mar-2026 08:42 by rmk") @@ -164,10 +160,12 @@ (* ;; "If open, assume its a medleyfont stream, that the initial %"Medley...%" has been checked, FONT is consistent with information in the file, and we are positioned after the header information, at the location of CSLOC.") (SETQ CHARSET (CHARSET.DECODE CHARSET)) + (CL:UNLESS STREAM (HELP 1)) (RESETLST (CL:UNLESS (\GETSTREAM STREAM 'INPUT T) [RESETSAVE (SETQ STREAM (OPENSTREAM STREAM 'INPUT)) `(PROGN (CLOSEF? OLDVALUE]) + (CL:UNLESS STREAM (HELP 2)) (MEDLEYFONT.FILEVERSION STREAM 1) (MEDLEYFONT.READ.ITEM STREAM 'MAXCHARSET) (MEDLEYFONT.GETCHARSET.INTERNAL STREAM CHARSET FONT (\FIXPIN STREAM)))]) @@ -321,7 +319,8 @@ (DEFINEQ (MEDLEYFONT.READ.FONT - [LAMBDA (FILE CHARSETS NOERROR DIRECTORY) (* ; "Edited 2-Sep-2026 14:21 by rmk") + [LAMBDA (FILE CHARSETS NOERROR DIRECTORY) (* ; "Edited 5-Sep-2026 00:02 by rmk") + (* ; "Edited 2-Sep-2026 14:21 by rmk") (* ; "Edited 31-Aug-2026 21:50 by rmk") (* ; "Edited 5-May-2026 11:05 by rmk") (* ; "Edited 15-Apr-2026 00:50 by rmk") @@ -349,13 +348,12 @@ NOERROR] (RESETLST (LET ((FILENAME (MEDLEYFONT.FILENAME FILE DIRECTORY T)) - STREAM FONT CSLOC MAXCHARSET FILEVERSION) (* ; + STREAM FONT CSLOC MAXCHARSET) (* ;  "CL:OPEN-FILE doesn't exist in the init") - (DECLARE (SPECVARS FILEVERSION)) (if FILENAME then [RESETSAVE (SETQ STREAM (OPENSTREAM FILENAME 'INPUT)) '(PROGN (CLOSEF? OLDVALUE] - (SETQ FILEVERSION (MEDLEYFONT.FILEVERSION STREAM 1)) + (MEDLEYFONT.FILEVERSION STREAM 1) (SETQ MAXCHARSET (MEDLEYFONT.READ.ITEM STREAM 'MAXCHARSET)) (SETQ CSLOC (\FIXPIN STREAM)) (* ;  "CSLOC here so MEDLEYFONT.GETCHARSET can skip over the font stuff.") @@ -372,7 +370,8 @@ else (ERROR "FONT FILE NOT FOUND" FILE)))))]) (MEDLEYFONT.READ.CHARSET - [LAMBDA (STREAM CHARSET FONT) (* ; "Edited 2-Sep-2026 14:28 by rmk") + [LAMBDA (STREAM CHARSET FONT) (* ; "Edited 5-Sep-2026 00:01 by rmk") + (* ; "Edited 2-Sep-2026 14:28 by rmk") (* ; "Edited 31-Aug-2026 22:01 by rmk") (* ; "Edited 4-May-2026 12:38 by rmk") (* ; "Edited 30-Apr-2026 08:56 by rmk") @@ -401,7 +400,8 @@ NIL NIL NIL NIL (FONTPROP FONT 'DEVICESPEC)) - T NIL (FULLNAME STREAM) + T CSNO (FILENAMEFIELD.STRING (FULLNAME STREAM) + 'HOST-DIR) (FILENAMEFIELD STREAM 'EXTENSION) 'MEDLEYFONT)) CHARSET FONT) @@ -435,16 +435,14 @@ (CSCOMPLETEP (replace (CHARSETINFO CSCOMPLETEP) of CSINFO with ITEM)) (HELP "Unrecognized charsetinfo label" LABEL)) - finally (if (EQ FILEVERSION 1) - then (* ; "Remove when everything goes to 2") - (CL:WHEN (EQ T (fetch (CHARSETINFO IMAGEWIDTHS) of CSINFO)) - (replace (CHARSETINFO IMAGEWIDTHS) of CSINFO with NIL)) - (CL:UNLESS (fetch (CHARSETINFO IMAGEWIDTHS) of CSINFO) - (replace (CHARSETINFO IMAGEWIDTHS) of CSINFO - with (fetch (CHARSETINFO WIDTHS) of CSINFO))) - elseif (EQ T (fetch (CHARSETINFO IMAGEWIDTHS) of CSINFO)) - then (replace (CHARSETINFO IMAGEWIDTHS) of CSINFO - with (fetch (CHARSETINFO WIDTHS) of CSINFO))) + finally (CL:UNLESS (fetch (CHARSETINFO IMAGEWIDTHS) of CSINFO) + (* ; "REMOVE AT VERSION 2") + (replace (CHARSETINFO IMAGEWIDTHS) of CSINFO + with (fetch (CHARSETINFO WIDTHS) of CSINFO))) + (CL:WHEN (EQ T (fetch (CHARSETINFO IMAGEWIDTHS) of CSINFO)) + (replace (CHARSETINFO IMAGEWIDTHS) of CSINFO with (fetch (CHARSETINFO + WIDTHS) + of CSINFO))) (replace (CHARSETINFO CHARSETNO) of CSINFO with CHARSET) (RETURN CSINFO]) @@ -957,7 +955,8 @@ (DEFINEQ (MEDLEYFONT.FILENAME - [LAMBDA (FILE DIRECTORY EXISTS) (* ; "Edited 31-Aug-2026 21:49 by rmk") + [LAMBDA (FILE DIRECTORY EXISTS) (* ; "Edited 4-Sep-2026 22:08 by rmk") + (* ; "Edited 31-Aug-2026 21:49 by rmk") (* ; "Edited 29-Aug-2026 09:29 by rmk") (* ; "Edited 27-Aug-2026 17:37 by rmk") (* ; "Edited 29-Jul-2026 19:20 by rmk") @@ -973,19 +972,13 @@ then (* ;; "Don't require EXIST--wouldn't work for writing") - (CAR (FONTFILES FILE EXISTS NIL DIRECTORY)) + (CAR (FONTFILES FILE EXISTS NIL DIRECTORY NIL 'MEDLEYFONT)) elseif FILE then (SETQ FILE (PACKFILENAME 'BODY FILE 'DIRECTORY DIRECTORY)) (CL:IF EXISTS (INFILEP FILE) FILE)]) ) - -(ADDTOVAR DISPLAYFONTEXTENSIONS MEDLEYDISPLAYFONT) - -(ADDTOVAR DISPLAYCHARSETFNS (MEDLEYFONT MEDLEYFONT.FILEP MEDLEYFONT.GETCHARSET (FAMILY SIZE - FACE))) - -(ADDTOVAR INTERPRESSFONTEXTENSIONS MEDLEYINTERPRESSFONT) (DECLARE%: EVAL@COMPILE DONTCOPY (DECLARE%: EVAL@COMPILE @@ -1029,12 +1022,12 @@ ) ) (DECLARE%: DONTCOPY - (FILEMAP (NIL (2370 20077 (MEDLEYFONT.WRITE.FONT 2380 . 8783) (MEDLEYFONT.GETCHARSET 8785 . 10866) ( -MEDLEYFONT.GETCHARSET.INTERNAL 10868 . 13121) (MEDLEYFONT.CHARSET? 13123 . 14001) ( -MEDLEYFONT.GETFILEPROP 14003 . 16810) (MEDLEYFONT.FILEP 16812 . 19240) (MEDLEYFONT.FILEVERSION 19242 - . 20075)) (20103 45515 (MEDLEYFONT.READ.FONT 20113 . 24241) (MEDLEYFONT.READ.CHARSET 24243 . 31147) ( -MEDLEYFONT.READ.ITEM 31149 . 37298) (MEDLEYFONT.PEEK.ITEM 37300 . 38162) (MEDLEYFONT.READ.FONTPROPS -38164 . 38629) (MEDLEYFONT.READ.VERIFIEDFONT 38631 . 45513)) (45541 67776 (MEDLEYFONT.WRITE.CHARSET -45551 . 52620) (MEDLEYFONT.WRITE.ITEM 52622 . 61675) (MEDLEYFONT.WRITE.FONTPROPS 61677 . 66901) ( -MEDLEYFONT.WRITE.HEADER 66903 . 67774)) (67777 69405 (MEDLEYFONT.FILENAME 67787 . 69403))))) + (FILEMAP (NIL (2015 19899 (MEDLEYFONT.WRITE.FONT 2025 . 8428) (MEDLEYFONT.GETCHARSET 8430 . 10688) ( +MEDLEYFONT.GETCHARSET.INTERNAL 10690 . 12943) (MEDLEYFONT.CHARSET? 12945 . 13823) ( +MEDLEYFONT.GETFILEPROP 13825 . 16632) (MEDLEYFONT.FILEP 16634 . 19062) (MEDLEYFONT.FILEVERSION 19064 + . 19897)) (19925 45386 (MEDLEYFONT.READ.FONT 19935 . 24099) (MEDLEYFONT.READ.CHARSET 24101 . 31018) ( +MEDLEYFONT.READ.ITEM 31020 . 37169) (MEDLEYFONT.PEEK.ITEM 37171 . 38033) (MEDLEYFONT.READ.FONTPROPS +38035 . 38500) (MEDLEYFONT.READ.VERIFIEDFONT 38502 . 45384)) (45412 67647 (MEDLEYFONT.WRITE.CHARSET +45422 . 52491) (MEDLEYFONT.WRITE.ITEM 52493 . 61546) (MEDLEYFONT.WRITE.FONTPROPS 61548 . 66772) ( +MEDLEYFONT.WRITE.HEADER 66774 . 67645)) (67648 69401 (MEDLEYFONT.FILENAME 67658 . 69399))))) STOP diff --git a/sources/MEDLEYFONTFORMAT.LCOM b/sources/MEDLEYFONTFORMAT.LCOM index 7fbd6a18e4336ad64cacb0bcbce6c27fdffb5808..36beec467cbb4b6b5a371e395e6a30bb915742cb 100644 GIT binary patch delta 1754 zcmZuxO>7%g5cWEbNgT&%Gf zRD=rxR3V5SQV%T$K%zI)#Oehqxe_OkC>*$x69Tn|N*v(A&+OVEwu@!$?wfDk{C+c^ z9x^w-WIoz_R$8`qUSH-}UIv!Uu|kez4;u2Mz%N250pcmj3pxCYnS-xq>Eq-Gz2=P2 zmFggU%*5&av7s0DUWG)ls%g-DDV0hkVEd&vcDCVvj7gcqVrZeLY9wzF#UTY$>WhcZ zNm+WCnI95(NV9B)r#G0T9{=a7=a!0w?kqyiw8(~PRPE&g8tV_A&v9H%;#^~Xfum!g zv&|3v9}F{9Iu%|XzBh8sKkUOFErsX&=;k;Xr+Oqbnoh%|qPl6SI>;HS%*AJ=G*n1I zBX!qn%8h=5Shi~DAZDRNG?RW8p7F~9eH6YQUm0M01Bz$)W&i3I4ezT(Z#_2yA`7;f z%UQ%GPF1g|dI1CpE>$)()pkH&-4K!r%d#ABl4lqs$d?og^-~3sHwpx+$4kw*h&~pS zA#dvjeQ&B7N}p)i^!&t}Sx_yKcMPizMc_El4Pse_wFtgD&kXvQTC^718*wuqR|2Ka z4t?*u<{nC~xX+OLsP9fr*3L|BolzU!nO>fr-U;fJ-#@QK?giGPp5~KgT;Hxmm?uZ` zEqv7?{;f#sXktC+TKINaKmJkG*UMq|6!W$8#!px7KB&bHcB7uRTGX=~^(}C+2wr@^ z37L~745US%Z>~&@%3aN1u^DIS`ivrp;C7-w?7XF#m?&f=P>_g{1QlhoQ!(H(pz3DT z!J1(`)6EAne=@;EV160&(TB5X#-_o<>}YA#>rgv;dLdzt6kBRLi9nOyPM)JTlZm}{ z%D38ph6&yMxV+sKe$r9bV*b|QKX0{#w@)+!D7*T!>JWi8L>Hg?1TlBa^V~_@yfqQdEgn0FD)UB`MpnRQ)22&%L{kL(^%5suv9q#SHQ_ zZ&XZ;IK%`Incsu+sBgQfre&Bmh&TZ~I4i@N>QodHge>0!2^kSIQgq71(m_bK!F`+= z&#@p2;4+2iIAS=j-9`nG1EmA;eGtz=y`~nNl8uvzv(_F%&m^BkW>u7nq=WOBJ{(ub zzELb<2sZG@@1Dz&3@7)*zI%N&;rn9Zx!#)c{c*AEf3B{$Mdz}o0`H8ywjIO7QOm;h zz(7}APTeHQ>)7OM*RI13XMt=wMEABGrd={@XBqbkZOqU6(_)j(|FOipPj6Vonb@kI zY4h&R>NoD#AH`PJc9mUEHX5YAS{G(;r(*??L>L0kgQ?`pCzL{8EM@KKBqzh^0^>Lq Z){H_OvSL?U%`N*YKRw=f6wp;I^e;^P!g~M! delta 2097 zcma)7U2NM_6pq~=wxkW&mbFvS+S6=`l9pugwG$_KsvBRgw{>h|J5957nqZyQQLzC6 z9*GbSdjW~;N+5nF!9YBrsaeGfLy8bjdzdt&J%EG|4@e+hs5A+9;pf^;f6`6@KiEF! zeD|F1{P_5tTii!&?yaRGDC1mwK7(?o0D@E&b7fI(trf;lDGlKSDrJ8V7M}-Z8|KuPyPaj4ybb2Vk%R=k^2>oF^JX|QivPPCHVnANL{^STR z6=-JS7|Rb#3mcBhI9EXsVEHt51BqpmNA$tam&3_EF4U(S46*AOp1uhaAPV4+a@ocX zc56nR7%H%0FIN|J;<$kPu&+i2kLIB=r`QaXRdK~sG4m-DHpZjI<0CRu9K!?)^57M1 z5!((i4f^8oTC=!y$^i{ZzL~uUIX~uY;se{v(NVm;+g z1NZ9yM?ajDIYPgkoa|ejIY_Hb5RoH)PH&N-QaaK-rw0$UT<^ZcIfw@ zDDMYao#ng!*}_Vo{Gf}~<9uiR?LEN$&idpia4YI=qRq|)nP^wrXSXb#^C$2S%;?`6XLo-2=QLoIt&~B>&dtU05 zkWb>|#Fa&I!IAOfi>r}36O-&-6c ziC}6P+av6(nCl^n5Q42^x$Vv2*H9?!$P-@Cg(BNJ!9ofEtOky2vUVa0$zx-=5>&CO z;<6lwFgNW;y*o%He%S9?hM8 Date: Sat, 5 Sep 2026 00:56:18 -0700 Subject: [PATCH 11/30] Include FILENAMEFIELD on FONT until HOST-DIR on ADIR is merged --- sources/FONT | 108 +++++++++++++++++++++++++++++----------------- sources/FONT.LCOM | Bin 66168 -> 66738 bytes 2 files changed, 69 insertions(+), 39 deletions(-) diff --git a/sources/FONT b/sources/FONT index 0c2cd1211..68c29a08a 100644 --- a/sources/FONT +++ b/sources/FONT @@ -1,10 +1,11 @@ (DEFINE-FILE-INFO :PACKAGE "INTERLISP" :READTABLE "INTERLISP" :BASE 10 :FORMAT :UTF-8) -(FILECREATED " 5-Sep-2026 00:02:43" {MEDLEY}FONT.;874 271143 +(FILECREATED " 5-Sep-2026 00:52:52" {MEDLEY}FONT.;875 272794 :EDIT-BY rmk - :CHANGES-TO (FNS FONTFILES) + :CHANGES-TO (VARS FONTCOMS) + (FNS FONTFILES) :PREVIOUS-DATE " 4-Sep-2026 23:04:52" {MEDLEY}FONT.;873) @@ -110,6 +111,7 @@ (INITVARS (\DEFAULTCHARSET 0)) (LOCALVARS . T) (PROP FILETYPE FONT) + (FNS FILENAMEFIELD FILENAMEFIELD.STRING) (DECLARE%: DONTEVAL@LOAD DOEVAL@COMPILE DONTCOPY COMPILERVARS (ADDVARS (NLAMA) (NLAML) (LAMA FONTCOPY @@ -4217,6 +4219,33 @@ ) (PUTPROPS FONT FILETYPE :FAKE-COMPILE-FILE) +(DEFINEQ + +(FILENAMEFIELD + [LAMBDA (FILE FIELDNAME) (* ; "Edited 14-Apr-2026 16:09 by rmk") + (* ; "Edited 9-Mar-2024 10:24 by rmk") + (* ; "Edited 6-Mar-90 19:38 by nm") + (MKATOM (FILENAMEFIELD.STRING FILE FIELDNAME]) + +(FILENAMEFIELD.STRING + [LAMBDA (FILE FIELDNAME) (* ; "Edited 14-Apr-2026 21:22 by rmk") + (* ; "Edited 9-Mar-2024 10:24 by rmk") + (* ; "Edited 26-Mar-2022 09:38 by rmk") + (* ; "Edited 6-Mar-90 19:38 by nm") + (if (EQ FIELDNAME 'HOST-DIR) + then (LET* [(UNP (UNPACKFILENAME.STRING FILE)) + (HOST (LISTGET UNP 'HOST)) + (DIR (LISTGET UNP 'DIRECTORY)) + (RELDIR (OR DIR (LISTGET UNP 'RELATIVEDIRECTORY] + (if (NULL HOST) + then DIR + elseif (NULL DIR) + then (CL:IF RELDIR + (PACKFILENAME.STRING 'HOST HOST 'RELATIVEDIRECTORY RELDIR) + HOST) + else (PACKFILENAME.STRING 'HOST HOST 'DIRECTORY DIR))) + else (UNPACKFILENAME.STRING FILE FIELDNAME 'FIELD]) +) (DECLARE%: DONTEVAL@LOAD DOEVAL@COMPILE DONTCOPY COMPILERVARS (ADDTOVAR NLAMA ) @@ -4226,41 +4255,42 @@ (ADDTOVAR LAMA FONTCOPY FONTDEVICEPROP) ) (DECLARE%: DONTCOPY - (FILEMAP (NIL (6641 16308 (CHARWIDTH 6651 . 7440) (CHARWIDTHY 7442 . 8959) (STRINGWIDTH 8961 . 9998) ( -\CHARWIDTH.DISPLAY 10000 . 10415) (\STRINGWIDTH.DISPLAY 10417 . 10845) (\STRINGWIDTH.GENERIC 10847 . -16306)) (16309 22941 (DEFAULTFONT 16319 . 17604) (FONTCLASS 17606 . 19878) (FONTCLASSUNPARSE 19880 . -20781) (FONTCLASSCOMPONENT 20783 . 21371) (SETFONTCLASSCOMPONENT 21373 . 21815) (GETFONTCLASSCOMPONENT - 21817 . 22939)) (24389 44324 (FONTCREATE 24399 . 27644) (FONTCREATE1 27646 . 30305) ( -FONTCREATE.SLUGFD 30307 . 32871) (\FONT.CHECKARGS1 32873 . 37578) (\FONTCREATE1.NOFN 37580 . 37794) ( -FONTFILEP 37796 . 38684) (\READCHARSET 38686 . 43904) (FONTCHARSETS 43906 . 44322)) (44325 51679 ( -\FONT.CHECKARGS 44335 . 51362) (\CHARSET.CHECK 51364 . 51677)) (51680 59534 (COERCEFONTSPEC 51690 . -58845) (COERCEFONTSPEC.TARGETFACE 58847 . 59532)) (61729 66167 (MAKEFONTSPEC 61739 . 63514) ( -FONTSPEC.TO.FONTDESCRIPTOR 63516 . 65390) (FONT.CHANGESPEC 65392 . 66165)) (66168 75830 (COMPLETE.FONT - 66178 . 68203) (COMPLETEFONTP 68205 . 68943) (COMPLETE.CHARSET 68945 . 73011) (PRUNESLUGCSINFOS 73013 - . 74324) (MONOSPACEFONTP 74326 . 75828)) (75869 87849 (FONTASCENT 75879 . 76390) (FONTDESCENT 76392 - . 77113) (FONTHEIGHT 77115 . 77627) (FONTPROP 77629 . 87126) (\AVGCHARWIDTH 87128 . 87847)) (88733 -90603 (FONTDEVICEPROP 88743 . 90601)) (90720 91574 (EDITCHAR 90730 . 91572)) (91620 104697 ( -GETCHARBITMAP 91630 . 92884) (PUTCHARBITMAP 92886 . 95158) (\GETCHARBITMAP.CSINFO 95160 . 97819) ( -\PUTCHARBITMAP.CSINFO 97821 . 104695)) (104698 127372 (MOVECHARBITMAP 104708 . 106602) (MOVEFONTCHARS -106604 . 111754) (\MOVEFONTCHAR 111756 . 116742) (\MOVEFONTCHARS.SOURCEDATA 116744 . 123614) ( -\MAKESLUGCHAR 123616 . 126151) (SLUGCHARP 126153 . 127370)) (128287 140285 (FONTFILES 128297 . 132207) - (FONTSPECFROMFILENAME 132209 . 136978) (FILENAMEFROMFONTSPEC 136980 . 140283)) (140286 176839 ( -FONTCOPY 140296 . 145379) (FONTP 145381 . 145680) (FONTUNPARSE 145682 . 147405) (SETFONTDESCRIPTOR -147407 . 148871) (\STREAMCHARWIDTH 148873 . 152884) (\COERCECHARSET 152886 . 156275) (\BUILDSLUGCSINFO - 156277 . 160190) (\FONTSYMBOL 160192 . 160846) (\DEVICESYMBOL 160848 . 161632) (\FONTFACE 161634 . -168838) (\FONTFACE.COLOR 168840 . 175622) (SETFONTCHARENCODING 175624 . 176837)) (176840 195527 ( -FONTSAVAILABLE 176850 . 182214) (FONTEXISTS? 182216 . 186381) (\SEARCHFONTFILES 186383 . 190113) ( -FLUSHFONTCACHE 190115 . 192820) (SORTFONTSPECS 192822 . 195525)) (195528 201066 (MATCHFONTFACE 195538 - . 196613) (MAKEFONTFACE 196615 . 197649) (FONTFACETOATOM 197651 . 199901) (FONTFACE.STARS 199903 . -201064)) (201413 201905 (\UNITWIDTHSVECTOR 201423 . 201903)) (219896 222294 (FONTDESCRIPTOR.DEFPRINT -219906 . 221816) (FONTCLASS.DEFPRINT 221818 . 222292)) (226109 228899 (\CREATEKERNELEMENT 226119 . -226477) (\FSETLEFTKERN 226479 . 226970) (\FGETLEFTKERN 226972 . 228897)) (228900 240384 (\CREATEFONT -228910 . 232436) (\CREATECHARSET 232438 . 235192) (\INSTALLCHARSETINFO 235194 . 238655) ( -\INSTALLCHARSETINFO.CHARENCODING 238657 . 239730) (\COPYCHARSETINFO 239732 . 240382)) (240706 242074 ( -\FONTRESETCHARWIDTHS 240716 . 242072)) (242597 253207 (\CREATEFONT.DISPLAY 242607 . 245831) ( -\CREATECHARSET.DISPLAY 245833 . 249489) (\FONTEXISTS?.DISPLAY 249491 . 252487) (FONTSAVAILABLE.DISPLAY - 252489 . 253205)) (253208 261927 (FAKEFACE.CHARSET 253218 . 257393) (MAKEBOLD.CHAR 257395 . 259362) ( -MAKEITALIC.CHAR 259364 . 261925)) (261958 269108 (\SFROTATECSINFO 261968 . 265723) ( -\SFROTATECSINFOBITMAP 265725 . 266438) (\SFROTATECSINFOOFFSETS 266440 . 268224) ( -\SFROTATECSINFOIMAGEWIDTHS 268226 . 269106)) (269109 270283 (\SFMAKECOLOR 269119 . 270281))))) + (FILEMAP (NIL (6724 16391 (CHARWIDTH 6734 . 7523) (CHARWIDTHY 7525 . 9042) (STRINGWIDTH 9044 . 10081) +(\CHARWIDTH.DISPLAY 10083 . 10498) (\STRINGWIDTH.DISPLAY 10500 . 10928) (\STRINGWIDTH.GENERIC 10930 . +16389)) (16392 23024 (DEFAULTFONT 16402 . 17687) (FONTCLASS 17689 . 19961) (FONTCLASSUNPARSE 19963 . +20864) (FONTCLASSCOMPONENT 20866 . 21454) (SETFONTCLASSCOMPONENT 21456 . 21898) (GETFONTCLASSCOMPONENT + 21900 . 23022)) (24472 44407 (FONTCREATE 24482 . 27727) (FONTCREATE1 27729 . 30388) ( +FONTCREATE.SLUGFD 30390 . 32954) (\FONT.CHECKARGS1 32956 . 37661) (\FONTCREATE1.NOFN 37663 . 37877) ( +FONTFILEP 37879 . 38767) (\READCHARSET 38769 . 43987) (FONTCHARSETS 43989 . 44405)) (44408 51762 ( +\FONT.CHECKARGS 44418 . 51445) (\CHARSET.CHECK 51447 . 51760)) (51763 59617 (COERCEFONTSPEC 51773 . +58928) (COERCEFONTSPEC.TARGETFACE 58930 . 59615)) (61812 66250 (MAKEFONTSPEC 61822 . 63597) ( +FONTSPEC.TO.FONTDESCRIPTOR 63599 . 65473) (FONT.CHANGESPEC 65475 . 66248)) (66251 75913 (COMPLETE.FONT + 66261 . 68286) (COMPLETEFONTP 68288 . 69026) (COMPLETE.CHARSET 69028 . 73094) (PRUNESLUGCSINFOS 73096 + . 74407) (MONOSPACEFONTP 74409 . 75911)) (75952 87932 (FONTASCENT 75962 . 76473) (FONTDESCENT 76475 + . 77196) (FONTHEIGHT 77198 . 77710) (FONTPROP 77712 . 87209) (\AVGCHARWIDTH 87211 . 87930)) (88816 +90686 (FONTDEVICEPROP 88826 . 90684)) (90803 91657 (EDITCHAR 90813 . 91655)) (91703 104780 ( +GETCHARBITMAP 91713 . 92967) (PUTCHARBITMAP 92969 . 95241) (\GETCHARBITMAP.CSINFO 95243 . 97902) ( +\PUTCHARBITMAP.CSINFO 97904 . 104778)) (104781 127455 (MOVECHARBITMAP 104791 . 106685) (MOVEFONTCHARS +106687 . 111837) (\MOVEFONTCHAR 111839 . 116825) (\MOVEFONTCHARS.SOURCEDATA 116827 . 123697) ( +\MAKESLUGCHAR 123699 . 126234) (SLUGCHARP 126236 . 127453)) (128370 140368 (FONTFILES 128380 . 132290) + (FONTSPECFROMFILENAME 132292 . 137061) (FILENAMEFROMFONTSPEC 137063 . 140366)) (140369 176922 ( +FONTCOPY 140379 . 145462) (FONTP 145464 . 145763) (FONTUNPARSE 145765 . 147488) (SETFONTDESCRIPTOR +147490 . 148954) (\STREAMCHARWIDTH 148956 . 152967) (\COERCECHARSET 152969 . 156358) (\BUILDSLUGCSINFO + 156360 . 160273) (\FONTSYMBOL 160275 . 160929) (\DEVICESYMBOL 160931 . 161715) (\FONTFACE 161717 . +168921) (\FONTFACE.COLOR 168923 . 175705) (SETFONTCHARENCODING 175707 . 176920)) (176923 195610 ( +FONTSAVAILABLE 176933 . 182297) (FONTEXISTS? 182299 . 186464) (\SEARCHFONTFILES 186466 . 190196) ( +FLUSHFONTCACHE 190198 . 192903) (SORTFONTSPECS 192905 . 195608)) (195611 201149 (MATCHFONTFACE 195621 + . 196696) (MAKEFONTFACE 196698 . 197732) (FONTFACETOATOM 197734 . 199984) (FONTFACE.STARS 199986 . +201147)) (201496 201988 (\UNITWIDTHSVECTOR 201506 . 201986)) (219979 222377 (FONTDESCRIPTOR.DEFPRINT +219989 . 221899) (FONTCLASS.DEFPRINT 221901 . 222375)) (226192 228982 (\CREATEKERNELEMENT 226202 . +226560) (\FSETLEFTKERN 226562 . 227053) (\FGETLEFTKERN 227055 . 228980)) (228983 240467 (\CREATEFONT +228993 . 232519) (\CREATECHARSET 232521 . 235275) (\INSTALLCHARSETINFO 235277 . 238738) ( +\INSTALLCHARSETINFO.CHARENCODING 238740 . 239813) (\COPYCHARSETINFO 239815 . 240465)) (240789 242157 ( +\FONTRESETCHARWIDTHS 240799 . 242155)) (242680 253290 (\CREATEFONT.DISPLAY 242690 . 245914) ( +\CREATECHARSET.DISPLAY 245916 . 249572) (\FONTEXISTS?.DISPLAY 249574 . 252570) (FONTSAVAILABLE.DISPLAY + 252572 . 253288)) (253291 262010 (FAKEFACE.CHARSET 253301 . 257476) (MAKEBOLD.CHAR 257478 . 259445) ( +MAKEITALIC.CHAR 259447 . 262008)) (262041 269191 (\SFROTATECSINFO 262051 . 265806) ( +\SFROTATECSINFOBITMAP 265808 . 266521) (\SFROTATECSINFOOFFSETS 266523 . 268307) ( +\SFROTATECSINFOIMAGEWIDTHS 268309 . 269189)) (269192 270366 (\SFMAKECOLOR 269202 . 270364)) (271048 +272615 (FILENAMEFIELD 271058 . 271455) (FILENAMEFIELD.STRING 271457 . 272613))))) STOP diff --git a/sources/FONT.LCOM b/sources/FONT.LCOM index 9f05fe9b2cea7fb4fbd69df85a3f7ba47e25b554..75acba8d5ed533e766727556e98df5caf3f8dc61 100644 GIT binary patch delta 1273 zcmaJ>L2ukt5MFPSv@r#Cy9uF0EdvF*79#lB&t5wmnpgX6)`{(B{G2pFk?0LU1ri4& zpobuYkm!l@RY*O61c&~BSUu1vv=^?38+XJH;DmbMz}Vhy6RE-nzwx}8`DVVE@x!mC z_P?3>_LFJHT6V0x&tKP^y*s;Y$5OYo^QRoJ2G+o*D$y3_H(4%0ABwaHL?R974^s){ zhuW{tzE(-YDCQ|k_%Pyec>HTg7I~DesyDlarmL;4QGVHdFg;^{c40V1&@T0Lye$x7TY^N8Nw^UG>xZz5W2uA}rYDm}g*F z4nzrCtME4+2{We;{LE4iIq7BNt#2Ef9W_}d!{6{c4{yya@P4V4++DtIa*f!x@h z36oE-v9dbNCcR=i%3Ai^3R!;`t;t5`lb6_v)e%baPNlpmNE{OPXGH}#Zg$R z%c}=ZYr8&3k=MD)j0X~^PhlfPP@tX`2b?U{nREW)5?+$8A5tC(eRj<4Cs2 zqPUt5Al{$~Cy3iL=?s;1CdLybZ)eqL5$k2X)Yp%OH=kLgd(5 z_4}Xm<&|H~g}cXBU^(>kehhtr%YZ9U?FL}&n6hC&>ltihdxhzEv}UVUr`0C}l66*y z1l%VskfEnhtoIH57|?jTV0rg{0Y8{RKvoaX-}@UYHD;Hb7}c7KKabCM?#_;-gXqV# z&RThPeSfYtiR$ zK@hr9d2vsi`6~RcQ+eWBFaQbwGU^o!rNlSUBg!Q4)k)t=Af8 zEZ?kssvLnfIN}|QbUsWfbPg<}nvosK$Zs2DN%?=kl z4ZK25IrUQ|O4Rp>OVb1j2A@kW4U#NQflvx5XMV=!L!PLux*WI3Uy=OlvBS5IYYW(h zAYvV^ML3JHUczMqO1rBl|G9nxRc__ix}dHbkHfw4O#LEVCrx!Y4q93zA70dtkcG5YpBV zV*QUn0?~y#kh&mP+L1u;pP(@$APWZG$;GW919peJ*tWon!;pJfq~{v|*40J-k~B`h zH6Ua%1Itub-k+`$5V7DuZF2xj!%&w$PnBArY(ouOE-0%xhWQ1G<%Hfejr?z2j^ z#DcJxHDI@>nk-}605$jS5XE{_gV6=Ti&LGUe;13er#%rU+6OKA&;I1EKFs)K5rkvE E0Y7fgxc~qF From 7c3179e2c61307af145fc9976bdb1d62fb79bfa8 Mon Sep 17 00:00:00 2001 From: rmkaplan Date: Sat, 5 Sep 2026 01:00:19 -0700 Subject: [PATCH 12/30] Upload MEDLEYPOSTSCRIPTFONTS --- .../AVANTGARDE-BOOK00-MIR.MEDLEYPOSTSCRIPTFONT | Bin 0 -> 6239 bytes .../AVANTGARDE-BOOK00-MRR.MEDLEYPOSTSCRIPTFONT | Bin 0 -> 6227 bytes .../AVANTGARDE-DEMI00-MIR.MEDLEYPOSTSCRIPTFONT | Bin 0 -> 6239 bytes .../AVANTGARDE-DEMI00-MRR.MEDLEYPOSTSCRIPTFONT | Bin 0 -> 6227 bytes .../BECKMAN00-MRR.MEDLEYPOSTSCRIPTFONT | Bin 0 -> 6203 bytes .../BOOKMAN-DEMI00-MIR.MEDLEYPOSTSCRIPTFONT | Bin 0 -> 6228 bytes .../BOOKMAN-DEMI00-MRR.MEDLEYPOSTSCRIPTFONT | Bin 0 -> 6218 bytes .../BOOKMAN-LIGHT00-MIR.MEDLEYPOSTSCRIPTFONT | Bin 0 -> 6231 bytes .../BOOKMAN-LIGHT00-MRR.MEDLEYPOSTSCRIPTFONT | Bin 0 -> 6221 bytes .../COURIER00-BIR.MEDLEYPOSTSCRIPTFONT | Bin 0 -> 6221 bytes .../COURIER00-BRR.MEDLEYPOSTSCRIPTFONT | Bin 0 -> 6209 bytes .../COURIER00-MIR.MEDLEYPOSTSCRIPTFONT | Bin 0 -> 6217 bytes .../COURIER00-MRR.MEDLEYPOSTSCRIPTFONT | Bin 0 -> 6203 bytes .../HELVETICA-NARROW00-BIR.MEDLEYPOSTSCRIPTFONT | Bin 0 -> 6248 bytes .../HELVETICA-NARROW00-BRR.MEDLEYPOSTSCRIPTFONT | Bin 0 -> 6236 bytes .../HELVETICA-NARROW00-MIR.MEDLEYPOSTSCRIPTFONT | Bin 0 -> 6244 bytes .../HELVETICA-NARROW00-MRR.MEDLEYPOSTSCRIPTFONT | Bin 0 -> 6230 bytes .../HELVETICA00-BIR.MEDLEYPOSTSCRIPTFONT | Bin 0 -> 6227 bytes .../HELVETICA00-BRR.MEDLEYPOSTSCRIPTFONT | Bin 0 -> 6215 bytes .../HELVETICA00-MIR.MEDLEYPOSTSCRIPTFONT | Bin 0 -> 6223 bytes .../HELVETICA00-MRR.MEDLEYPOSTSCRIPTFONT | Bin 0 -> 6209 bytes .../NEWCENTURYSCHLBK00-BIR.MEDLEYPOSTSCRIPTFONT | Bin 0 -> 6246 bytes .../NEWCENTURYSCHLBK00-BRR.MEDLEYPOSTSCRIPTFONT | Bin 0 -> 6236 bytes .../NEWCENTURYSCHLBK00-MIR.MEDLEYPOSTSCRIPTFONT | Bin 0 -> 6242 bytes .../NEWCENTURYSCHLBK00-MRR.MEDLEYPOSTSCRIPTFONT | Bin 0 -> 6242 bytes .../PALATINO00-BIR.MEDLEYPOSTSCRIPTFONT | Bin 0 -> 6222 bytes .../PALATINO00-BRR.MEDLEYPOSTSCRIPTFONT | Bin 0 -> 6212 bytes .../PALATINO00-MIR.MEDLEYPOSTSCRIPTFONT | Bin 0 -> 6218 bytes .../PALATINO00-MRR.MEDLEYPOSTSCRIPTFONT | Bin 0 -> 6218 bytes .../SYMBOL00-MRR.MEDLEYPOSTSCRIPTFONT | Bin 0 -> 6200 bytes .../TIMES00-BIR.MEDLEYPOSTSCRIPTFONT | Bin 0 -> 6213 bytes .../TIMES00-BRR.MEDLEYPOSTSCRIPTFONT | Bin 0 -> 6203 bytes .../TIMES00-MIR.MEDLEYPOSTSCRIPTFONT | Bin 0 -> 6209 bytes .../TIMES00-MRR.MEDLEYPOSTSCRIPTFONT | Bin 0 -> 6209 bytes ...APFCHANCERY-MEDIUM00-MRR.MEDLEYPOSTSCRIPTFONT | Bin 0 -> 6250 bytes .../ZAPFCHANCERY00-MIR.MEDLEYPOSTSCRIPTFONT | Bin 0 -> 6242 bytes .../ZAPFDINGBATS00-MRR.MEDLEYPOSTSCRIPTFONT | Bin 0 -> 6218 bytes 37 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 fonts/medleypostscriptfonts/AVANTGARDE-BOOK00-MIR.MEDLEYPOSTSCRIPTFONT create mode 100644 fonts/medleypostscriptfonts/AVANTGARDE-BOOK00-MRR.MEDLEYPOSTSCRIPTFONT create mode 100644 fonts/medleypostscriptfonts/AVANTGARDE-DEMI00-MIR.MEDLEYPOSTSCRIPTFONT create mode 100644 fonts/medleypostscriptfonts/AVANTGARDE-DEMI00-MRR.MEDLEYPOSTSCRIPTFONT create mode 100644 fonts/medleypostscriptfonts/BECKMAN00-MRR.MEDLEYPOSTSCRIPTFONT create mode 100644 fonts/medleypostscriptfonts/BOOKMAN-DEMI00-MIR.MEDLEYPOSTSCRIPTFONT create mode 100644 fonts/medleypostscriptfonts/BOOKMAN-DEMI00-MRR.MEDLEYPOSTSCRIPTFONT create mode 100644 fonts/medleypostscriptfonts/BOOKMAN-LIGHT00-MIR.MEDLEYPOSTSCRIPTFONT create mode 100644 fonts/medleypostscriptfonts/BOOKMAN-LIGHT00-MRR.MEDLEYPOSTSCRIPTFONT create mode 100644 fonts/medleypostscriptfonts/COURIER00-BIR.MEDLEYPOSTSCRIPTFONT create mode 100644 fonts/medleypostscriptfonts/COURIER00-BRR.MEDLEYPOSTSCRIPTFONT create mode 100644 fonts/medleypostscriptfonts/COURIER00-MIR.MEDLEYPOSTSCRIPTFONT create mode 100644 fonts/medleypostscriptfonts/COURIER00-MRR.MEDLEYPOSTSCRIPTFONT create mode 100644 fonts/medleypostscriptfonts/HELVETICA-NARROW00-BIR.MEDLEYPOSTSCRIPTFONT create mode 100644 fonts/medleypostscriptfonts/HELVETICA-NARROW00-BRR.MEDLEYPOSTSCRIPTFONT create mode 100644 fonts/medleypostscriptfonts/HELVETICA-NARROW00-MIR.MEDLEYPOSTSCRIPTFONT create mode 100644 fonts/medleypostscriptfonts/HELVETICA-NARROW00-MRR.MEDLEYPOSTSCRIPTFONT create mode 100644 fonts/medleypostscriptfonts/HELVETICA00-BIR.MEDLEYPOSTSCRIPTFONT create mode 100644 fonts/medleypostscriptfonts/HELVETICA00-BRR.MEDLEYPOSTSCRIPTFONT create mode 100644 fonts/medleypostscriptfonts/HELVETICA00-MIR.MEDLEYPOSTSCRIPTFONT create mode 100644 fonts/medleypostscriptfonts/HELVETICA00-MRR.MEDLEYPOSTSCRIPTFONT create mode 100644 fonts/medleypostscriptfonts/NEWCENTURYSCHLBK00-BIR.MEDLEYPOSTSCRIPTFONT create mode 100644 fonts/medleypostscriptfonts/NEWCENTURYSCHLBK00-BRR.MEDLEYPOSTSCRIPTFONT create mode 100644 fonts/medleypostscriptfonts/NEWCENTURYSCHLBK00-MIR.MEDLEYPOSTSCRIPTFONT create mode 100644 fonts/medleypostscriptfonts/NEWCENTURYSCHLBK00-MRR.MEDLEYPOSTSCRIPTFONT create mode 100644 fonts/medleypostscriptfonts/PALATINO00-BIR.MEDLEYPOSTSCRIPTFONT create mode 100644 fonts/medleypostscriptfonts/PALATINO00-BRR.MEDLEYPOSTSCRIPTFONT create mode 100644 fonts/medleypostscriptfonts/PALATINO00-MIR.MEDLEYPOSTSCRIPTFONT create mode 100644 fonts/medleypostscriptfonts/PALATINO00-MRR.MEDLEYPOSTSCRIPTFONT create mode 100644 fonts/medleypostscriptfonts/SYMBOL00-MRR.MEDLEYPOSTSCRIPTFONT create mode 100644 fonts/medleypostscriptfonts/TIMES00-BIR.MEDLEYPOSTSCRIPTFONT create mode 100644 fonts/medleypostscriptfonts/TIMES00-BRR.MEDLEYPOSTSCRIPTFONT create mode 100644 fonts/medleypostscriptfonts/TIMES00-MIR.MEDLEYPOSTSCRIPTFONT create mode 100644 fonts/medleypostscriptfonts/TIMES00-MRR.MEDLEYPOSTSCRIPTFONT create mode 100644 fonts/medleypostscriptfonts/ZAPFCHANCERY-MEDIUM00-MRR.MEDLEYPOSTSCRIPTFONT create mode 100644 fonts/medleypostscriptfonts/ZAPFCHANCERY00-MIR.MEDLEYPOSTSCRIPTFONT create mode 100644 fonts/medleypostscriptfonts/ZAPFDINGBATS00-MRR.MEDLEYPOSTSCRIPTFONT diff --git a/fonts/medleypostscriptfonts/AVANTGARDE-BOOK00-MIR.MEDLEYPOSTSCRIPTFONT b/fonts/medleypostscriptfonts/AVANTGARDE-BOOK00-MIR.MEDLEYPOSTSCRIPTFONT new file mode 100644 index 0000000000000000000000000000000000000000..fc4d1bd56656fbe24c77cb031a0bb215d08ea587 GIT binary patch literal 6239 zcmeGgTWB0r^qzCKYDYw@v;_Pa0-YcAHlrWDwf7bO{iaf zG!zPAkzzmcV?VRSfP&O7@kdBdMEYB>AtVqG1J)Qn`l09CyOW*7*ly^?pv|1UbI8qBu6 zTp{a(PC*-MmgCz_D#l4$IXC;NDXbnVA7(5+Ek}b5d@1 z&U8a7>)NL8WV*AKe^hB$f$ikUGr3=pDW^<}JBsdd+)NjXmkr+wt&r2egKr9o-3+qb znU~#E*rgPhvI94t_9}sdUe30IG$oSrQb|HkaBR&}`O}$UvCg8=Y|>8@0-Je83k772 z51u=p8GLu7m^?K)`nET8_N}q^isnDW*-Dw((!gjVUrpmU-R~LgDhVBg-!V>TcY@F> zXWfXQDp=dfa+*hU5_>ZIh%3>v3Ui#i?WNp&#uOa6&Zre+opgBG@$=;Zaq}tHckHlC z>X||#Dw?cktGowPI*(lyyM8_Ky%10C+vvtqCpXf2)LsVmGEm9D(-T5G^SP#<{aJ`Z z4Ha4Sm`y80eN(-m)|tSRLI758y|pGBgu`$gf5b-lIQ|a(Fh($qeZrhCaX`W^=%!~_PB63 z7U3Ceq#Uf#46E!N_QDlxz@r58#ITLxZXo$0Ov`Zw^ynG94-;f@6PDmx@e_;@CkrXk zJ_66fnp_q_9wIof(JO5)$4NR*7G$L_+$Tp8r3x)XVzMln&5w^LPO`AE7Hoaarw4*vdgMZvF@mRW_bWgVX8K|ysPSn0|9ximeg;Tt+;|LDJDq+LKS%MthXXFLCPvR{p zh<}VeQY`%f?-A!Y9M<#V1TFuoFa;~L+}|W@g~r+su3CX!BJ3B&$g+Vx9HfE7BYXyD z9?tLok9Adr)6)8{RgV6GY$w04vK{U1=)wmP#I3gPVcdFWas0Kq@#%euLEMJljq2Wx zDl6xOomq2Wl{a#gi?+7cXcP7oZw zKuky|++~^$P6XWR7T3W7Q!pR#=!iC-*nuq<9qcy1`h1rd!^;{XERw2zmJWe@+=*ID zNC!l^bbL{iF|mM)N`#h3s9 literal 0 HcmV?d00001 diff --git a/fonts/medleypostscriptfonts/AVANTGARDE-BOOK00-MRR.MEDLEYPOSTSCRIPTFONT b/fonts/medleypostscriptfonts/AVANTGARDE-BOOK00-MRR.MEDLEYPOSTSCRIPTFONT new file mode 100644 index 0000000000000000000000000000000000000000..087f1618f9cf174dcf1519562cd004d22fee29ad GIT binary patch literal 6227 zcmeGgO=uit^n34He>xyyr6uBJ2!ytwE6HY?)Ew05?CfUf?#{9^i9f;ouN5kdk&;qR z9vWH-V)0-Px!8k;Y%vEx;z@cD5(JT63pRuVaxq|y5$QqS`@Ws*Y>e%OZVcMY+nMkE ze&2g<-h4lsD~-KZx@f*Le(t={=M;U{%bTLPz1c`vfkT*?jQgec?W7`{w3TzSZ<@mDv+_a4DyE$HDbG8tI`G}M92!U{B5m;yM{`cf z?ai4*C)1m?ieY<9saU@4Tr`)1r2NhC}6c}NlWIbD@ z+NW}P@`~8=>*-tc%KxZ!Qi08i0^z(OxIQ&9YRzGIb4AI=y zY^Zt0H>D7O^;>VR35VbaoWLKkRX&Bk!5~Z!%-{g=vvhxrt$zpNAHo3zo*czxd_~4_ z6`Np1zKb`-5-gzyKgjF2EK69BXK)biK^Z^6Z{;l<#sVzDAihm^zq~`wn^?xn_$6M2 zZoGjbVqSa?8)9CTafEEjScW)U0w0IS$5&yI#+f0j&*>i6KBk><;YcLHGuTQw*q{;C z**olqYuJLv2wG^dPEy=0BwvOZImv(?y@LE%hR{Fvx)1x$z7)>gJ{X5r9^UM(C^+3e63L={f5@r8rGKPd57 zevouuw)YvRuW(K_zHlBbbi9qzJh9^#j>0-&qr_Q(96e{{MS4!*Z7GOg%7rmk2~{_}i%O>!`DGUf!KK2iAEb zSG{O!d!066-|*HDTyR4PE`(Uv#y(?=H_NJBKm{--@5B!B&7gIqkU~qtUbvNAw9h9A z_W{>*ADUM9r(~gaK|sCm>_g85+11FZfps2f`zx$i8hL@{!hRn8;a^BtH~8!Jy*7f& z8*JTAeU+1>|MMDou%b*X*FqSTj5CH!8Z;KlD(#YB5Sw>IjLS^OQWYXXLg60MbZ{cz zR^L$_EHDL&A&-t|i?LnUa?!!A1~$jL%otwP5MrTJwexfcJLl?5pfZ5;ED5iib)1K~wzsRR zx~r?IYkI1u)?8R@-n2jY?CLdZ#*gA4tlMH>c);?U#0O@N4aLpRhenDcq1 zu-2&hiQh1j4atvO-^)=-PA#Zjw1qR{)RVFkdH#^+*8(jd4nFX)kkFly!%Mtb^SxlY zW(SE=4O~0&%hOdSdP|RRV%M)jGkT!Ap5N(E7@#7WoOr7$xj32Uw!m*7bDOXh^Q;k$;W{bxMGY~w|1*v3yZVwY*w2n=$* zzI63k`O=pQ%^|P(>6P%~#VcQY)wGYWa}=IBbb>VoU2W@a{6DnDwG$>ZK55j6ld$7; zD~D=hU8l-!UNBCaDf1R**7Fdi_;ok*f_m8&Y`O8M6IcCG@}3{nI{^~Zy&&@4q|-Gk zB~}_V)zH;`j}baAw#0KUeOp4j{K9@UUU_$a|D<=~ffEm89(eV-5U>4U`mg^Y#F@d2 z*FEOqgcv9eSo)laZ6$=H?q?r9QuYHb(<~L$hjbhGH-L4T1-6R1Ma6>vdOv0`6ln+G zsZ+E;eR5k>w2W<9l~Clq0QRSoV-PYnvNY~uh5|3 zs~Zed#2&1|wzHVCirO#Rpj?&-MsGmFv+BMO>I~rYeyz-WbpzaGo{@6dhlO)lUx>nF zhquQqyw)mA?zh~^y~Oh`@JDYFj+@cZ-Ud#p@bhd*KStP~LE2OwrJBf<6nnf?*shb3 zdEimtAfw9yM|6@Mq#!zQ#(Ez(^n0enL5%(ZS- zrv;kFOQ=orp!_Ur_+L{u@&7H|RRZ+$)X>}?=^-d@(7aiVuH*P`%N4mR?*Q6z7qVWG zfj)tzfIVOgGY9eFzz6~j_!_M}jkf>AIb8+L$mrh|Ipz&=98b&L*_=7D&52xAklHRI`TL1eLm9{*<G>n?Ql<3GRSjT8uxK=0&r_8)6znVjAgq@i)y)WF6H*FCBE3@ zAeGEIr5YOjjIJpk?Vbj1P0g`7&ylt-wKB&Ra-Dnpyz$7i&5yw45=G)OmMP>FCUK== qO^wu+UKh+RBL^RTdmA~aX8+q3`%km@0Fdo6@2AJ`@9@c!BIi%voVq{& literal 0 HcmV?d00001 diff --git a/fonts/medleypostscriptfonts/AVANTGARDE-DEMI00-MRR.MEDLEYPOSTSCRIPTFONT b/fonts/medleypostscriptfonts/AVANTGARDE-DEMI00-MRR.MEDLEYPOSTSCRIPTFONT new file mode 100644 index 0000000000000000000000000000000000000000..6d6bb870af23d84d5fe08e86a44f1ed9d83c41ea GIT binary patch literal 6227 zcmeHLPiP!f7=Q13tHhxqRwxmB7(xRI4Qw_si9KbQnd}bk?kqc#7#l%K5~&!gNYNHN zyP|Kf&k4LV1m+G8B=esSl!~PhcW~s=;NYd< zQlAs2m9RMx*V9HbZX~X#M^&fhP5TwEnS`k;#h;E4bc9QzK5&#BWB8)M2(C z*BaF@4I8GjVTDaU40417)99flgRo7DeN9)ws9b?qJ#dZKe9*8Z4RY-duPEWZ~8 zX+<|+%1@&DM4Wk&#x>thCJ;#uOcsTt5&DLw1873SViQJZ(8W(Q5}$ca2_AW0Ub%L? zeC3O|`GH{m(~sSwJRCxh4mNd$VV>)}jrYDYqWvD#_?WREN#k~;ogAwD^SvsEcFx3Y zs?5`xIm}I%6W0AWi0Wlmu(KwJUQ!Jw(s#pVy`2h*!Te^lLv0aqjg@);Z>5h3G5xIeMK* zTqT60&U-((rR)V$9QM0v7L$KzsD_K|(jHN4x#2ragbX5?+^*Zh8L)`$xA8@al{Kt;^KDttSS zKC39bvIWjnnWFUuEIh9s2%*ja&K|VN^j9|^UE&^A$}ucl$Y>!7V{O?U*NED3VeFvi zPHx}M@7a%b63&~Uq3$M*HTZefgh@f5`vIHkLu-j#vDo9a!gQTJSp*&>4tDe`aYXyD zgCmGeoZ;>#4*i}PaTufJ!@N_@KPdv8CC*s)6X#?>pnJ5!3p>rxEHQ@l9674#(_O#3_bg?ai9f( z2YijzPGCSPN%( z^rwFzHgD*+qx7Df&j)OyrL)W##{YTUyjUR;d^O5}^+}y!jCu?h%*ss77cAL}!+yKu zrL@D8s$`ItvNoo1aRP8{3iIqk3yfv6N(*YKaKTEuR})|Ca$q&HP1ZtVpRv`-QSWKs z+LWBA{T*rltd}{lkn2qG_r@)4oo|85B_6qDc@z}JaHV2Pjn-v7F2o&X4*u-zZsu6a a{N>}Y*^=%Uc(1xVfYL-hE2^I=x;byC zn5eh|LxpT5s-M;(*}!p2JSEzz$(&oG)pbn|y57K`H2-W@{4g7e{i1z?H8Q`TFf{P8 zmkS5AfKX20mGXYwg3vEIPLO90ibLww2W8hWJncB+5@|N>vwIT!Q{})Bo}Ffkj*gGM z{qBj0#NS!g%T6&Ob{|g%?B}_x+Wp$j4CB}BLuSMv^lKiqW2m;r$ri+wW5!Rz1G0Q| z14TqQZpra;UTGkq#5m)$Y*29X;W4*Tsx7`(%6S#n32USoDYT=2DEN+cZNOo%XG-1k z=fN*|iGOUIM%#f#dY9Vuz^(`C9%v7gdgNn6Kl-gw`+1w({^Rftk?c;|dY=grq!b{( z&!WO})Mh;n55sG5t>DM0&2cyfXK+C&deeHzIt~+X3%lTJ*7_Ob;Tb$d2eBRhqyw~< z0B_(Icnfd936`5-nHieqo|kBrF3?TNFx;lEV4jZ92e@F((xTNtpIA@ORk}t8X^E~r z@CJQDr|EM(;7;*7LMw2d+9*j#-P8#`P>K*HVUiw$N$Vt5Db1}Zvz)A2KU{UnjN>FwPZIGZc`FL9%#!4xjj>(R_%F2Xj})V+~&f79!M z!zX$@a8&KG!&eX;IDM@T9Q=JN$CLizwvyOwySE-_E^rRDK5%wsHeSIw+1POmN1@8t zD06;-BA1Ia&E-dUg%tCj!?JE&!atbvB#xSK@qOO@t1t(vaG9YBtE}rG@Ob}8;St7u z6^whP_~2j(;W565i#wb5|EG6Tfs^jNYmpNj>&<%@R-2dIo+Nx2LA>AgXBhAO&*J!7 zbNcyvi9x)Nd>hSu9Zg2g3wLMF;p^rswyR&n7VyA}Y{KOTYph{LF3f!WTQ&ffX~o(n zuYi#yMeFT`Bii^<$b`H+(pf1rR}g;iQ`V=COJFUs`$#)wS{XG^HDhg7MiI*+FY{hF zBBS5=3yIQ|F5)etk%p?jgn^R*_t`6Uq73S9R5?cwUHB_ c?fr`Ls+_E^vR=n3r~X^)MgJyG-6?YZ0*zR&4*&oF literal 0 HcmV?d00001 diff --git a/fonts/medleypostscriptfonts/BOOKMAN-DEMI00-MIR.MEDLEYPOSTSCRIPTFONT b/fonts/medleypostscriptfonts/BOOKMAN-DEMI00-MIR.MEDLEYPOSTSCRIPTFONT new file mode 100644 index 0000000000000000000000000000000000000000..67e254480df01384b916a58ecc68dcd8b3fe65e8 GIT binary patch literal 6228 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 nyUZMX@a=8pSj%44R(}F$>SDj0C3Km|o2hR8Q zo-g-xSz$8bN0qRiG@`H(+oB#+t(r6LjyO^5C$nC1&zdF zvK!VKRX_0?M%j@3$o0JprQ+0r>c_UY5QZ0PPQ9lZ438M~IQYcJFhbj^I6T06HQx(H zYj)%hk5-*1ZQs`-PVD-1I7Ux&*Ylfwv8($dK3le>dSpdm;v^gewtiqv>}6aX9sVfr zk`XPyJvR>Om9RCBB&@k^TtOT;EUg&C4c|319X=BnW}6^dy*7TL5xY#Y`Y@vlv$J1* z_1V>)>KB)|5S!#-ggoD{TA&5?fM#S-{Q#{J=pOvZ z!^dUH!$ye;@}YbO`nV6D)6u9r8ohyLd#r;o1MGg>O=dI;Yhv5 z!h@2!MGL7sw^rtzoqb>Ly-7H4`ujVZI9Ugd3+F|_vUCI1)u*W!axujYwyJcH@@n_@ z5(hcdN*vKV?BEEZ6Q|ty#GyZ)7I^ZW#y#O3e+1e~oO7K|oEMuq-J?a`*lCI;F6c%58ZEup_r&>kS#`9cT#H6ULy~ zjTZ+b2sGd;wDMwp|9`aGN}Rs_e=T#&8{{bQmD@*=K8mcIOChUubPu!IFBhlZ+Ov=U zO9rw!{NHHr-_d5~eE4$q9J#{>xz>fF?QNP7YkV}6feca(t*2PpzNQgAEHgsu2IL*} zAa|N?1|zG4+T$AvTT_EL=YxYo;$1n^M($5MmTJQ=cVxh+vv8JIc0pw>ttbtNG$J%bSAXL7z!Z`21|LS z)g?uO6>r{IuF>W~D}^i<)^us0PB9>Fns-))=D25`2FpFp-Dj+`7Ye(5kXolaV<`DF zq*%)3Ru`ctcevy+WlxK1=7%zH4_Z9Nn$~sf(QCF@87|sj_hCvy5qk+G75i#@Dx_n! mnK}5(+u6)XJ$qGK{RvlZJ&;Yc^IHM@vD8SU`E5u??%lm}YjS7h#@_BYxw(7mi@TFxZi;JAnx|#`4#XJv z@521VU$@C`1RPSnMq!vdnbz1Zfi_7QMp)c26>qDL546Y{MUbLmnRIpB4;W@ll?+X! zdie(`i>K|N%%>=M%6-=&Q6g=<4K&KD_t}|$Ui%52`ybUX-nd%D&$06goL8Wz zz?&1s-ui*?OFuJq`BK5F4@uY|8mkT8?lUIv7~`V8_Iyb(I>WK;JwBcH`8h2{ogV=| z78u<&e;}Gxq6x<|){3yvg)t5>no>(uBuYVN%)1QZVl^t#zc3~$+Hnxsba=6n490-A z3p(t^rNg^?aG#tc*f(oy%Wa%;0A~dYcqmYeCX7SxQx^r_chKzWtkHkK1>|!i-_%T2`K>39aVLtHg z!Thaw$EdR!hvex1embG6jEPk(NAKsVJDC^+6 zQSa@j**WjMm_3KCT}9;fDmY?a^c@aAHrU^jozRChPb{F zGe0BD^YBk;c)=#!dY#jOU-Fju#R@7>`cmMYKSoqs#ax97nPotfMKL>@)eKyn92Zy8Sx){`hpKh*;b_%(oNwgT>>T)+ce$P8B70fa PqGz6l{u?!UUg!J`y#tp4 literal 0 HcmV?d00001 diff --git a/fonts/medleypostscriptfonts/COURIER00-BRR.MEDLEYPOSTSCRIPTFONT b/fonts/medleypostscriptfonts/COURIER00-BRR.MEDLEYPOSTSCRIPTFONT new file mode 100644 index 0000000000000000000000000000000000000000..f8ce61eadcba4883c76dc74677b26e830530ee79 GIT binary patch literal 6209 zcmeGgO>YxNbY_;1b|r+M5|>_9mMj&CNU>uQ;M8S2wpXloS38?vh}0h9RH}rU3bnM{ zdg+A|qR0G)9D3n5sNXdG4lh=4Y5a+CG#EMyJEo{>`A94U7O{QU_5l&g0MGp_IA@^}}-Hx$8tpqM5Q$ zL6A+wb6Xz#u|!LxxoyZtZvA@q$IZJ7*SGGBz3IsRr{SXT}rh2XQ@ge4kq6kt{B;#%n^*x43Qt^Bps$OL11~ zoX&aGAqhJ~W3l0yeMWl@V_a0%o-QdyM>y7Mb7CO8-i-#%48$W0q=%Itg0l3^ao%$O`y#7$( z%iaAU$vN+6Dp0L)uGHT+pO&t8BDQg37h|!(_W{}f%D;RF^Nw>L=0C*~hXMVPNDTLH z@dhYgiw*KCeiKd5+va=xF^qk_2e!WCf!Tq+1?UArpxK0j10)2{0NxRBWuAYq0+kx4 zz4V`T4xJ#gJR80@i}WnA{0}>dTC+!3)c(A%cv;Opyf1}O)WLV7+S^gFbFO}#J%_Gc zdF19QIAXu!$^#x)j@Y$OdA0gtmj-|AJUww9|8bD4!yIP$L_urL3f%L7gO@)35b1`B z0DQzF&@i_k4pwmYLB6w6XV>t3@-=O?9Sfd!VJ}=q?;n3dY~P4i(`?p5!wWW9s@6Fj z`1P*NFIG^A!j}U3{4t{ZB2UyJk0K^bl01AFDr-;EB_Gzd^+%S8m(OJ=m#G7yEb`gf zEN5WrWVyJKPCfZk9m>|phozO{vA&U8v2)<3-FiF6Ms{4+yl38r{vS2@Sm(S0GMSO9 literal 0 HcmV?d00001 diff --git a/fonts/medleypostscriptfonts/COURIER00-MIR.MEDLEYPOSTSCRIPTFONT b/fonts/medleypostscriptfonts/COURIER00-MIR.MEDLEYPOSTSCRIPTFONT new file mode 100644 index 0000000000000000000000000000000000000000..b8914f71aa7ef5ce1d26363bf7dc8d92288b0e2c GIT binary patch literal 6217 zcmeHLPiq@T6rY)GO1n@(Q^+NkMIcC_21{1$G^Z}3ku-F*yX>r8wT70~QXvqMHZ-)k zgkE~dDdg(!;6o41XYe)9Q_g{0>JnneA&2z6c^dC-syY(h)U=hxo_X{B&3nInJ2TR7 zGQK*w6?}93+V}pJ%8X9pfHhhTzZ>QXsGzfACf}~KSKI4BYyEPob-B}S_(?ucSuct6 zG)qzwuvka_FdWH2m>HD^oW1ZF6Sq;LtG2WRPibOuBQu@mKC)#pOe2-6l#Gd`GO4;H zPA?ql=(B*yWHZw$vxY{0u3!OXC%q6|UmU8g-W&!x4ghr|uA`*A( zw5z6b{)L?nl^=6gBoA{;ADzFH42EZ-&Hksln-8o4&ZNFQ^7_piS0*=BlCQ5``R?W<_?raR0Gg_%-+|}? z|3m1X`|CFCjetY4mnZ;}CsTa=5^2+uVT8br3AU|1KFlItR6&l4WzyAgKVX+%T=*Lmy)6I*KbT9_= zUGQNyE*;zDBm3wi!Ma&ntG95<0h|^s;GqB*O=$bxmo5rEebL;!7`@ekUQ(sP0rIGD zfUXu!r~bkb&yIt?THVKKE@h{Kz|oF#Y~ft0zi>{Lu6Q7Jabp)_vBM96+5yfZK7@YH zy9NEv;(^D2|A9!Y^cV3QI2XhYtt);IO|aYL2mC&?Lw*3h-salwKpzA3J5pfTgo6V# z1n_{~6MH9%`@ds7SK+kR{;|rT6J!y5`N1OEi|F#7Tq|2G9%0$~_0rpV%g)+WYiJIZ1A!15lhEeY zOD~0j$<==#Cm(Y0PYAx|no|#jUSbF}^pHdQ-aL(W*L4%A-ozxf#-4fKU;B1uq`}JQ z-pZrk&g%UK{-R2aj-!Cp8a2NiW(uI7b=9n_U2V=Z=Yq!E%|_#9t6B5otf$gW9A!xw zCnjK#?)!sqD0^XQR2Fddx6hbZLy5Lp)DkQuvB``~b&~l=mhm9zt4t-NOeB>`)hj$#I_)LGH`;BgAJu85iG&<_Uc?MZLkkWLZf>@9|dy^}!=qpitsKVr%Vqo&JFUQJ1@a1fW*GbYSHdqoW9$-a zlhc1B>=3n?ns4_R6L^eqF};Sn^&R&3ieQ|A!qO0pAlC-4fprbt_SaLm6vD z*zn8Zye~M{l)>f+&Hc38%O;0roxxI z`%RLkyyL0BWQ}vZ`o=k0y5hOm#Eo5y#4_IlXc;KK^8w6T-XoZQ7SBBf^shu>xlhGw zpnM^g$*=f9)Io2P@A7RJdwdsceaf}nfo=ix5+Ts6!@&U(0%!nliLIl>{qbl|)Hu!A z_trUdf=p9izB`TdG_w3BH;P)*M_AN;x3G9MnSFR)3Ztll@5W?r$Aq18^Jxpo|}xP;!{{)V`|5q}Wlt literal 0 HcmV?d00001 diff --git a/fonts/medleypostscriptfonts/HELVETICA-NARROW00-BIR.MEDLEYPOSTSCRIPTFONT b/fonts/medleypostscriptfonts/HELVETICA-NARROW00-BIR.MEDLEYPOSTSCRIPTFONT new file mode 100644 index 0000000000000000000000000000000000000000..c0f786ad092d47d65490c35a398e094205fb0706 GIT binary patch literal 6248 zcmeHLPjB2r6rUNR2wVZ$BK5)nE73|I2;|R_lwN}Co!zzY+LrC6g&eAqEK;S2Kvk%E ziF)aQTg5R^KS8A&xK!d3Y_63!q*c{RKwOA~*cFE!;P+ z-n@ODndfF}X}NXX`eNnFtLD6nVmI(DHaa#OmpiK!WDa^}qB4LgcuVsZAD$(XoJ5>+|xI?xmbaS}U`8zv@^ouC~Y_YqTsyJ5WAmA%*0fuX44#RpAEdK=R7-lNAd00kv1~m^5w6;X<7fc)@eBFfI(&jR$JzWs2`g%${n-7ADXANVQ~_q z?l%jlTDD_*XrB$e?%DDMh(srKr)XMbPY>{ zDU9*1SXDaOA_RU1^i?rNG(kMn#t8brNjEQv1>=F5p^F*lDWUG_S=qMOqMm}el-Cxk z%9b@g$9_>(?z5;t$e6Wfg|KK1lnz-Z7WgeuCcY@c+ih4?)_ifF0M;^$?*UE8=thMx z;}qazuT6TqxDPHQ_y-x6d}vhoyICLihOHFeR_!+L8Y47sUd+OAUOdWoPZElo>FFT{ zPCoyUVf3fKL1nia)|l8!d9nMufrGnU9ylz$?BEKb0;e+kz!85Q1ZcoF#Kz(5{{M{bD{!W! z|Fy``C&(cFK4SIg?1m}8?(cV8jgfzzmi2PX5PeJxInW%{SC?DM*Oj#-ow-B zf~~dm7daJtSkI~~1>v?_%H6DVm!t!AcH zKSdcWkzcaJm{IAC?xOUwHq)$ literal 0 HcmV?d00001 diff --git a/fonts/medleypostscriptfonts/HELVETICA-NARROW00-BRR.MEDLEYPOSTSCRIPTFONT b/fonts/medleypostscriptfonts/HELVETICA-NARROW00-BRR.MEDLEYPOSTSCRIPTFONT new file mode 100644 index 0000000000000000000000000000000000000000..df974047c543aee0e28b875d88bf227ae18dfe89 GIT binary patch literal 6236 zcmeHLL2ukd6rLHQ2wWkwMe2nE)9Xm^ zZ5cLwFAhRKh%Dy09kXkH<+SZElCj0vzb0ei7D+VZg6lw2;74)fgl-U@f5%D-DtRjl@h$b(%KK@xevE)38F>y4115 zwEa*C*pVYWSZ172-G)s1?1AdHrQ2!~`;i&?u^p2eNcVw7k(p8FQtPtYh}%kldQRke zO+Q;m>~|d}YQmA^m&^%KARSFp{?nczw)Ub~v+!d<^V*gu_7j(zIaICGu{-4AW$nR* z7X823(n*9U(sTTV>$NOK%hv9+qmFFGU&_!+qQmtXZYZ5N>FSwcGmV&z?l#Y#@)Ezn`@Ao9M8K$5;`96=VQd#QI8Ok{JXA0+EDOx>FA39_-)YF z#U#-L@lYER=mRI+yd)Nl`)Y;(W}v5pdZ1@zyJClW3g#1DU#u%zHuyaILs>ao#PrlfSE&X{oyaJFcn9xv{J3km*7 z$|WBfb^cM>$6aA3!FN@=%Lm2;&6^c7cY^0n@8L;8aWgYB=D^A3KQWB{6ga2?*fzdR z&ET6UcCa<34pLt4{xEQGoy!7;C6^ssK~&(>#~(Q2pQ9XKjP9c(PkATffzblz{P+Xs z`Iam0icQ+s#j;r9`@oh!`JH!BZyDE7-w<~V2KvW1z=->scnr#WVoA>{uHi7)=bL~$I)e(=we#~zhm5g<19S{dW6A@AzxESn=yxbJ~+4}zRzzGT~P@^5x+v8 zx&?7)q1}i0#@slghVSdS4y)6M#mw8-3m0kjr@tX-+=#yq(>Wd*U9h#L(ITgg4|`)x ztQcaX0O`7rBB4+sM4+*hm$XQ{0Brc=*vaU1q*V#zm_SJ*YBe*p`pL^^iR_XkCXISA zy7SV{ju+D^ye&!5Sjt6QtMn`7s`iNWYrBW3Atj83l4w_nBXlQiUL=v&NNJS%BBjcb oKuSSX88LG3)pxv+lUnxLw)Ej)koy3jKLb1&Coipoo)$U(0R%bYlmGw# literal 0 HcmV?d00001 diff --git a/fonts/medleypostscriptfonts/HELVETICA-NARROW00-MIR.MEDLEYPOSTSCRIPTFONT b/fonts/medleypostscriptfonts/HELVETICA-NARROW00-MIR.MEDLEYPOSTSCRIPTFONT new file mode 100644 index 0000000000000000000000000000000000000000..a2cd0aa895369266e0242671f989348a1d1fccf4 GIT binary patch literal 6244 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 aA4izpKg!(k9{}0g{#Ty-e`9m6%=riMeW8c| literal 0 HcmV?d00001 diff --git a/fonts/medleypostscriptfonts/HELVETICA00-BRR.MEDLEYPOSTSCRIPTFONT b/fonts/medleypostscriptfonts/HELVETICA00-BRR.MEDLEYPOSTSCRIPTFONT new file mode 100644 index 0000000000000000000000000000000000000000..8a474470eb3468963dc0f253c6becd64587d0c3c GIT binary patch literal 6215 zcmeHL&5I*N6t52vZ5hNBg5aeIL=-YG$;6p;Pxf{yNnY8bJ?RXmmLrT9`>NWSJjp7jA1r$vyQmamF{|9_3FLXudC{% zJKWhF?ztb|`0S>$rQ#%rdM+#1%1+Zu6(F~pAKW;reGRrd8GXHt5Mi=W7WPEda>=_&;nlKs~${} zFKD!>GMwGlct-{84zZ7&I7+>g{3qR~ydnFN@LK!bpqX~G0AYR-^jcBwK^k>^KWQO? z6p-Beq_2EK(}6P~A+`yhQ*-fS{lq7lQ-?pD;qI5io1Y9mTD^K>cgLOW-Z~;PCFe9? zn(MrY=R;>h`@9MGzH`~ko}^J0U8ewQ-+V8mpzfHMZMErD=FXA`QB=>5nnADaGIG=e z&`UzqO5ag&FH3}=*9>Cirx|KyN*$XVVdU#DCrFWJZ?kj1p8FB6`@yssE3ZxC7uZDv zE+UXe;KdIad+A$)zx*>}rInmFKjdSDD6f?rz0M@AWQ>dXN6(hzCEn$~h^nZ{Ju%W) zm+y;?hDy9doYM^>x}u}oK>j2~SvwE|xk5T1KLYHD5%2?|3GnDCzXt>u8ZfWemiM&u z03&dNG5}A{%1f{Zn5OJ!yef3T8b0Rx{1vitwoi*uG3%6vn14)jkac34-w_qfuV90& z!rF@A%UjgM0Pg_NC^kc}ba~8}ETLVRw#tl`x4?x2|H5)9hVqzyYH{%Q49rW^!-4^# zhCX=mcqw=-6|^IXPt08Wz(S{cxptcJbmNo6!H%9M z4$BTZID+WJX)Hf+#2;q`emc9)lDy!ZPXy*moXg8koX2yQwjf&A#SXTaF(BHMe#Hhb z5{IiR7m?*(+g2R4xP`^hPZk!x&8HvVOQ99V z(6=$)*D+`2y!B+(92}2vOv^8<3ZAI4@APpr;DP0cBMaHyjHAOcQN)pH{I0zB%q6<1 z8Cl8Xgl{OMO>W|x4-Srg*ZCcyYbpV_#5d5VPeB}7X!Rk!++1eX@UfX|*3)JzWi;IWljVC;VrYULL_Wql=apxF(OD8LMVm|WO=5i5{Qob z_AYYGXcP&PR^*a4!p+>&o4Y8JNlZ!zlx4@$*ZsruNeHvkU|0r`Oe*k1} O`)_&j-;K?qGUqQ(iJUS3 literal 0 HcmV?d00001 diff --git a/fonts/medleypostscriptfonts/HELVETICA00-MIR.MEDLEYPOSTSCRIPTFONT b/fonts/medleypostscriptfonts/HELVETICA00-MIR.MEDLEYPOSTSCRIPTFONT new file mode 100644 index 0000000000000000000000000000000000000000..47e46e48f93bc5e398f987d6b7e7eae027e44a38 GIT binary patch literal 6223 zcmeHL&2Jk;6rYa@!J-IJ)JTZS%916J927eyDLt`TkL?xquC==fACZb6F{o1bQ~{+Y z4(+|->Juk!QN^Vf{()S5jp`dxE<{2Y_0R+S-i*h)j+)jcZX;;sC7w6$Yi8cQo%d$j z-R+(3uKVeiUtD)KRGb7+=(0k&;MBZS0duQMN%yOz%5r7ZEw5fFm#kNus7U0w0z-QIaNp9CT8L$bQuBv{b4(M%j>5 z?5kRiQuo?H>jRfHRck|~f$wS6B=}Ha3Z@5jkBq__6KK0+ZHyCHq`9yeAm5xZR_Ku=#!mmUw_+m zPuSuL+;d#ksbYn$^A>&|IIDW=YryY0m(3!QG#Yu?$)S3SzSkn>ZX4HaH0Y6LdnOU0 zsL+pULD+B^?brCxOIoU)zN_MJ6c9mJ3u5J`qoJ88b!?EdB42wuL8v@;lbv~c{#QKp zzb2Ql@aE+Be01)Ca}Q)5cJR1@GA0)R7bjO`^yLk3A;G_~T=;E4 z9`eua82nv>^F`ec;N?3sZ`Pb#>dvR_aVDX-Sy`EH;AGRE9fpU2h6hv>`|=~Z4&Jla z@m?+;r##!^ao`}MXMw{;#STgk9XQqb2adS^D94M^qqyh1v-iMsfpdBOfpfa8Qwl;7 z*%aGIK}aJyDgB1yzAyHW{`%q;QWn$6sH3^RhzFp&W{+F(y(mJj$B+13z>puo)(bq) zC(t{QRV>Fncu$w6L+-i_(rjwvJO?I&~Qpe#d~mNlFTC{NkXR2uSt2bLrDEoOV8N5wKx z#J&N3R~}rrNdE*zRx&x}8wy#IYpC7Bh z{KRG>7BlbTEZn5oAOD8fxDkJzX!z6&DzJ@_=_03!Z+Y{)Siuu?)yaX~lIRm=IR>*l z)0^uNo;XVWQQ1EhFxt2zjA6{u2rhAG$YlWP&3|5IBr(21;97P#8Qpp5e~(XItFofb z#FOP>efpX=F%PbQ0JC@W`DW}`ZR+z}=;&y*Hf^7mF%nr+^P$|um1=a^q~7{`%E-Zo f-uXsOezngcu0IaY2ZY=+p({DTf5RV-i=2M|2T-Oc literal 0 HcmV?d00001 diff --git a/fonts/medleypostscriptfonts/HELVETICA00-MRR.MEDLEYPOSTSCRIPTFONT b/fonts/medleypostscriptfonts/HELVETICA00-MRR.MEDLEYPOSTSCRIPTFONT new file mode 100644 index 0000000000000000000000000000000000000000..ec3d8171f161b82864b1ef3e9df66ad412ef217b GIT binary patch literal 6209 zcmeHL&1)M+6rYdKk1eJ&1w-j&5eQmPz>-}%&8f?3q+P1r6}xM$|my%~*mW#U9?l$sLFvo&wt*UY?qJMYa# zz5N@#L-&hszP{<~s5A?c*kzS^#c6uE0_JX9$$H;jX{5 z>Z@jn((g=dI^gXSbg`X%)!StZzk@0sT)eN^IH&yNJj+fg0T`l5ezKXFZ z`I;U!)p*Pv=y9OJc0lYCCrxrMCl8SIGy9>JPB-eQl zzmJ?vz1J<^51gxJ)+|rPesxNy-jnZj$esJfS37Nbh{YyJgeWTZlV%vVT}B%;j`OmP zYULlQG#-aQ7&pUI`T2NgX38BK7M;Y`?#&P!FCDN8Z?7ETG5(HQI zJsTTh6(cr;{&;4rWJEkj4S*5E{1T5v@c2E=N9B>7$Moa_Jr`CdcKIDq)$}S-^IKR& z)$rvl0+VN9+9E>Ew@=*wH+LV|y1x$xVHJmFv2G5CiD=c~FO!pnDQ z-l93BTwTu7lT1Q!v%bFAz$vD`I1CR14G*X)j^$@|9lUR`v%Oq9OL?)!lfXenF9L^+ ziyf38I&d}?A2{OSlN>K`D0_W=D1LxVcPALdUWLNAX1tE>-r1Tq(`++z@ z`WuMbNLfrLqps%uA|8SAwmoje_o52DK0oF603&`1Td(p^pFke~`-3oOR*^U$AwUCu zBv3Lh8+l-+z-g@iXOUwv$UM)6pUxvak1YSeLRoA66_&N1FE0L^%|70j5|nl5-I(p| zm@#tRe?Dgp$}*H`MZ>9p@|68dr6CV_XgT88VzxJWR4fxk92?;G7T&JN+u_K zLm_K&3w1s?C=x&AcZja3grJEZVNX{<99HP`A->#NWYnM-KeyS4#mvVz3wLSur@tXK zZp2^b8h&O571+keY>~5puXl^QSiuu?)hU79k{A$XIR>*l)0^uNo;XVWaoIl+Fxt2z zOkl#&2rhAG$YlWP&3{>DEHSx4;97Pv9o=Q=e~(XJtBRt|#FOP>efpX=H4m*)F%m^o^N~Enm1=z1q~7{`#>l~^-Ni;ud9^Phu0IaY2ZYiy Pp({DT|HB_oi=2M|L+PMq literal 0 HcmV?d00001 diff --git a/fonts/medleypostscriptfonts/NEWCENTURYSCHLBK00-BIR.MEDLEYPOSTSCRIPTFONT b/fonts/medleypostscriptfonts/NEWCENTURYSCHLBK00-BIR.MEDLEYPOSTSCRIPTFONT new file mode 100644 index 0000000000000000000000000000000000000000..0568f894516f84a27f97093625de3572bec131c7 GIT binary patch literal 6246 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 literal 0 HcmV?d00001 diff --git a/fonts/medleypostscriptfonts/PALATINO00-BIR.MEDLEYPOSTSCRIPTFONT b/fonts/medleypostscriptfonts/PALATINO00-BIR.MEDLEYPOSTSCRIPTFONT new file mode 100644 index 0000000000000000000000000000000000000000..e08413c34da457a77bf073af771e4596122a5490 GIT binary patch literal 6222 zcmeHL&1)N15Pu(~Gz+3MEdrCvA`rA7gJr9BnqInDt)!*72b?HA4V|vM<>L1`kFF7{1K*5(9N(BYy(EjEaR*HmQ5)PAW<%A*p9djI>6)&{p}5Q7LafU>AP9^CRB- zVBC$u{5X9{U1s1i16c;%y~Egh-)s8)Ul=QXkjW;;Y^)Hag_5Dxnb?$!aWT2}86!`) z&j+Hz2Xa?hya>wYebHejd=K}heDET$6Lumx1iUXT@kI2*BUun#QIQ2%;Cp-zyskU| zWr>~|Q2|{5enb+{<34nKu_mALqNs>D%vj-l+WL9u6QI4D~x_ z#55I~X4M%W+wiNXBPQ>}8h>?$WTu6abKs&-ftP{= zl>vwHcIpN1rP%3Txp12EX49j>!HzyE9N^=HQ=5I^h(BMJcro`f>80%AGcZ}YlF5-=bI6)p!8soi=yv!+;wvs8xWsp`r%pi} zR%rDhxm=lL)gaC@ue4$@^C8y4HJbg^Ur1Uv;*T>8pIbl&Y;9z+%BkUBd9ytqV?P;# zG$iqeFzhZ0G?vQrFSSr;zgT+brLsU2nuHPLrLd-218T%*WP0bv=-o_=PRXiOLlZLV zOSMh9g;USeJ~d5)ov`{q&9PE)h5-`@E1zmbhsRnFfZr?9#J literal 0 HcmV?d00001 diff --git a/fonts/medleypostscriptfonts/PALATINO00-BRR.MEDLEYPOSTSCRIPTFONT b/fonts/medleypostscriptfonts/PALATINO00-BRR.MEDLEYPOSTSCRIPTFONT new file mode 100644 index 0000000000000000000000000000000000000000..446838cbad4c6deae42febdb96c7bb6c1b473138 GIT binary patch literal 6212 zcmeHL&1)N15Pu(~vL!ju^ z9&`^m^rHX4&>otL|A6{XD7xlc5G^&73JT7l{mpxN@=9$SDOPIQct^W$-psstZ)RuT z%u{Q3XK%M--`&4=-`ez&)Q>`&70X4d=42i)ySkF@e!fy!t*qPS^_%7L&FWgwin6Ac z)T1zqlPFGY7W#qJaz1pMPLg_=&Doz8W1>S6HE+{*p(&2iEOiq<&MYFkQ7aC-%!~D4 zP4W`gtK}$lr{xD9VXPB4nIA@KWa@wHVFso;b%%6cyA=gBJMkK~11B-&oH{o5RlQdhRrfMy|DTsIts;0&?k&_Sj~F-s7pMBtjG~bfcOdHf%;_ zYWF#5;MKGDy(An(fgjfV#B;MzSI?ALCNhG^RZdP3AFp=Ug zz*~SrvCU3+3->iX{5!A{b|SV3Ao+_dh@R+6N3_MVbfBZlyP&n@fO=>h(Fd<53xEM+ z0lbB=EwLpZW5%IqLr)v?bj31Stbm@fLmF|nq4AJtq#x4DkX*-j+*7tZSC>`*t?IbcjK0j^9gPLG#ma3R6JGhFhQ z9B|OgB?}tE`@jW1zzd>nxYSy?jGfQc<4i(vvxXXEp@EZM!3E(0F9olq1UQnPnnm!Q z!KPceI!$@G`{Tet42=T^_+;Qz7aus{kFy*<8Qo_|Uh*!+1G5Fr^~DFy`OHNk>e0q7 zc2v4S;sNC+Y^i;5fOOLrT_iF_DMrM2w#B#N2`E=hK#DI^GU)MR{s=JS$I$gU_tg&c z9O9{=*=d8Fr&AKyz3@?+@RnC-Fam^}yOajqmo(MCnukbSR;MxXn}CUImi)9P_lEE7c> zY2c6K<5#ZGO`v5ZlViT7kT$u2Iv*U2-R2L7uBe3I5)YwIRY4qDX!jw$+*oAPz|N;$ zCSo!35%$6@n*G^dh>08V`%@L4n?VJ(Rx(@URPhJiV(Vjd;3=FwjY*L+IS#;!>mAO( literal 0 HcmV?d00001 diff --git a/fonts/medleypostscriptfonts/PALATINO00-MIR.MEDLEYPOSTSCRIPTFONT b/fonts/medleypostscriptfonts/PALATINO00-MIR.MEDLEYPOSTSCRIPTFONT new file mode 100644 index 0000000000000000000000000000000000000000..a2c71ac8a47765ccd483f2ee01bedd5cc7811d2d GIT binary patch literal 6218 zcmeHL&1)M+6rT@Kng!7|1zmDk1cC%?uw>OvbLz5MNlPWI*j>9H1{X(mAz+dm48@nE z7u`cIIjH>;VoWc-xPO2TC7?quITr$@rlo>{b7+5WMx$N1*pY}*m&SVDnK$oaX5QPk zGw->%wYj~uYkzs~?vAzUg^?e$Y?d$Pt%?(S!0hsTv~_>Jv`|{Ii%YkP#ardYycNWC zFRTWwxE%)V$Yw3SVKtpk-MSM-UTkyrm&KTPND>uq)ps#dJBZ@Q4gGd(5!nrz?S>b7 zZLO?HUg&z26s77k{l;g|bsA3Ww*sXZ`Ja1OfvG{&p}DU&y^6omwEfs=_^us#wUvew z-cS-wm7^*VMS~`L#OO^0^fTF;;>7H2EoOXn#>-rS^$miR(&$MsDP{ zszG8w95h`ws=|Zhki`0^?YWw!9H(7EZ0$a)XycEyBbR7a2?n({wl{X}+`TvN?`&+} z>DXr&xCpIrNvn+A+13YWUsy}Z>}8w7*qeF-Q5*~%Y^6|Tp6fKov76d$t2KI?iM=F3 z6tCq56~9%p8QH3R=tK>#8h`ACtzj(qt%@IdZaf_7m14`pM4z+W4U(|-sG5z6C%Hmx70Zk*^)6XCf7bg z@`N|}K&Gx-Vx57G=QS#po!5y^p(WnP=Eal zo2DXTzgQL4^mISm#ejAv*7ze)Q1k-4J%HT>&6h<2P#D>p22C+^`J6GC16&>7l-8F; zaG#K@;lgj(OePs4GkBnRJV!nGMtn!>CO<26ZKtp7(M>{evxrP&rh${Je_@!wOM!z5 zfFt>Z*#_?!>~t>|PE+3O@hEU`qmKdy_;}!yXCFA?&+{D5pPt9P8m<2FFT})+_`}RI`<@bPJ?mtVQ^vpXW}6@5J{bdJ zqfq%NZWjgc7<$9gy)GwoS&%LTh%2+YrQ%A1)-kP^OZZw^YZyM()9a72WE5{tGMR)w zD-6Zk7?^qaW5QHXhr-TahO2l~0;1e8PnxIgOV6C<(rh%w4Gu{9w2Y2terRa8uOFbK zqPi@cr-l=Vg)eH$z;( A;{X5v literal 0 HcmV?d00001 diff --git a/fonts/medleypostscriptfonts/PALATINO00-MRR.MEDLEYPOSTSCRIPTFONT b/fonts/medleypostscriptfonts/PALATINO00-MRR.MEDLEYPOSTSCRIPTFONT new file mode 100644 index 0000000000000000000000000000000000000000..a6d68cb5a9bc5fcbfd3b87cefc2c32375687f636 GIT binary patch literal 6218 zcmeHL&1)M+6rXuxLc1W^y5LI=USte4$Y9BeosUDZU9GI8l2+YayG>kNT-$|0Y8PT? z1BLXGQ!k-c=MTuq1Ydkfk2(0zix0WvkW+(cscET6!9KLVH>0&yE_P(BG;QO3+MV|` zZ{BFn7_Vo)Bbd6aoL*k!pINmw#eqQR>_GyV0LjhTKHnPFj5$^^J5qD`HRKT ztQEu+FDwW3xDf`8$QE_KYSo+%-HH=NUTjP8rzHg4VvUkF<-4%d2%w)eW`PV#*AT&{S*!DX$ujEhG?9iK-tU6)R z4rvu9a=kiyq8~I_@|v_ftLcj8PgEdQTUHpv7zPPo>j%PN2czob#0P#Uu4o0O+{mw& zgH{M}P;=d=j1+Q4TH!|x&ow-qIg=9>oBUaM8$Z#AT;^E?MAVqQKD+$c;?i)q^!eTXc->l3!%P)!P*sOpvD_q?#)tOdVb@c%;26@k1^s74Z+Twd;(66%5p&bL^(O2Zcv%Bbd^TrxALAW z(=?q^?@|wBJI($xhs1O&HhTacnvtT_G&t~%rsW+P)bc^B(aVT?(8yJuK|a7c;EXjv zXH9d!|5{#I3w)J7xN-Jf!#8Mj}Pt9QCwCW7KCxCi}US1C&#jD3|DSYo%80 z^oqT|l5pLOVkgqo!byAZl5oOHL4pPW8|vf43AvJB2U|6Akn?KO`-OuV+Akd7?S)h9 ze&Ns`ME)Zj=qjOvktSBS zRpZ#_L&7%X9b?1L8vhPG^e#xk3eP@xZm98YRt@4j^hzogBX3|XoaWJ=|Ai!VL%$zt z_{0LhTyRZbCq<8^m`tTOG8ghUS+!`h?4V2RAMI6?ui*>B!ysk+RR>TN+<3TqiH z*JDEu6yNEK^#0g9nNKU~zIvM0=nk&GjnwfmvC4-g#P-BMf+bQd8;}45( Ze%ViD`~k54j`?lkJpuk3`FP%(^B1hwv$y~N literal 0 HcmV?d00001 diff --git a/fonts/medleypostscriptfonts/SYMBOL00-MRR.MEDLEYPOSTSCRIPTFONT b/fonts/medleypostscriptfonts/SYMBOL00-MRR.MEDLEYPOSTSCRIPTFONT new file mode 100644 index 0000000000000000000000000000000000000000..bcfae1d05a94f922393ca3fb48195cd9ab285d05 GIT binary patch literal 6200 zcmeHLJ!l+96rLXwq6HJ8kaMACIS?cegYI;Z99P=x&D|}zyB zs1@{*FbcxhW<9TK`OX(^$BAN<*qr@kF(!6sMpJEgE;xljoWySAg^5MOZs3Pqm8j4x zHbW|MRkJYCa(u6Q%VzN{|I?tW*TvqK3jCQyS`Kmkz*kLg-M1svUhg_l)_$m`II*jG zkVyQf(WXjqzNqnz^4cActoa} ztQD>0s?DL>4YOaI1gSZ#LRV|!I$bj4rm@mSo6as*kEYOw>bXJF>$Po0su`0xaaXmH z&s5Y)Pu}Y_y-2x9ikh7gEAxhK;A+Fh@QJr}*oA*@e~$zHby|$8*QW7H?9u|47RW8| zPRQ81-x>V9pBQ`pMNTWP&UOK@u%pE5%}E)z9)B4k0cXM#YZ9pb)O#qdngyg9q!B9 znAeww*z3OLH0B3ljt@kid*DLc*TkG|sqTZiCWc~<|Bf=|PuS1=2_&4sC$`x$>@d+* zn1~4^np~Mj4e7A&BWO9$at!&HT1bLg)(FI7xe84eRfo{7 ze`VgRmo@0(F-COk{~!mP?U+DTxX0&_4eUYhf6$HkRv}6kBlK}3A-`Eh-Z4|hnStrg z%ECB+IUIRA6nn0p!Zl6LVHDCamg zX74y>Q=LK;J?s>$D6AnUjl@#~qAXlJq=1ES1T0P6M@Sn{z%u(%sKUAd9_9nU5duOV zLCe!G5W*FL69ou_PYPH%WKr0W(9GQSajoXYsj1WK?ClX9NZz(4I~n;+B9pCV)`i4pY>do-9{Ml-Gc z5$5B>(^90Ss|%cqRB*#jP1O4Y)S6P9BNz0HG^W9~7U01TiZf=@N3@)RjBDzz6hQ&d zGHo+DMsTC(PSMMd-z`Ho$sygR4DxlQDF`zcYMbB981TFi#OS;Jm+t5W5tL7 literal 0 HcmV?d00001 diff --git a/fonts/medleypostscriptfonts/TIMES00-BIR.MEDLEYPOSTSCRIPTFONT b/fonts/medleypostscriptfonts/TIMES00-BIR.MEDLEYPOSTSCRIPTFONT new file mode 100644 index 0000000000000000000000000000000000000000..020d71dda3c811ee15120c2e4a41a519952b50cb GIT binary patch literal 6213 zcmeHL&1)M+6rYb$+AX3q1zmbsL<}vp!ID)w@hO|tNLsqmirtO-;iRR=4g}n$&_Hlb zz33i#=|TU4F}~#Df56A;nqCWrQbVbr;2hfDo6%@jZtKWIu4&_aUhSLrd-LYa+qd&( z+}hmO+T3>U-v8=>v!>!Ch}teIl}k>|OBFb`x{z#sy--=KEW739)pB{Yx>Rzaw5j5H z)J{8b)Ja^{4nn8pee5^AI8mv~*&hyL;t^@o)LP)fQYT8%#E*kc>X6uvTAfg(s$)7E zk&1m)%Sq~9D+oVvSsJudqPr!*rwZnoZqz+8{O-*tthqtzg@NzJs&Omy;`cP}CBACI z8*!+cH8pB;)4i#JMia0+bmA!WQkpuMJ~0t;EeUTmJ_>4SQ!7x*Pl9$m%A8N5mhUHZ z1dn2oO+4u+-^g^#Of(2Kk#ou}{#YmRN#;~Ao%G(9o8K(lyuY;(JosYkUf2EG`7I$T zClsA3ymOro@cYbJ*3({bIVO9}IFO{#D7H?H)zkC6kixoQ!nW3+7n#kMR7j%QepCzE z4VTeewQkc(LRC*cRB?Nh20^yA$cd(`C~Ch zsF*{vhwKA7hm6T0=*pz4roSu$-Gy$!q7)~&%jazyn}UJid6AwJ z8!@19v&+eq?R?1|R}#vbC2T@wnmF0`7sk;`L4f8!2l8|42Jc($=Wn3rc0#=%jde-KnbEnor=>>C`1FX zqsvtfi!YXWl&g+L_rx+vJ?Bt3pdlaw zzaw^D%uqte$Ozr87W55H8hy%;nr|CzVWs-;kL;Q(+`pOl$iHxpf za*P`ZS(7W+=L5mk?=$|G0J2&-qRnXPHSyK%-uezp}9tyhDP%0=ShxU6j8fm3Aj#Mi(ZM;vj^Zw?|n>TOg zN3EUhTRV6Bk8gkaxwokj9mQ>*6-ouK8l(!CUs={WyUXR3@|s^-+bESbDys!AP8%wz z#qG3{#2xLkcGUD*!3SX@NVH0Q&i?Qi6T75QRhv-=OPyG!I!vNY>JdAPTb-s#RmV2A zER}?+n&H%fR@D5^XKB<@+BDPAM+)YdA!-2`e*J3Pton(nUuy=5tKTpRfeuw0?ufo2 zt7=Gd+rFWqdIMtF_mVgbQW`tio*D`HrkmI5??=_NVHAi8b=0oKWAD?r6^6Qo=ut4n zBi9`jTAm4-4F`#B=)97TAM5ClcwQOfNpF6#^V#y%+qbs;zaQEvA~MqPDsaj7-opE_ zw`Rt=?sJUritSaW@i3xZ1~p>}gC+%Y+s10MPSZCYB&iTbwZpg?wd+2k0UF&#pqr|e zzNeD*aPp&eHA+;N4oTZn>bZny#-RzXMq0eM%g+3{@GYkKr%5+*mnP|R>O2DH5g13{ zWzE&f#?}u4*6a7Bfl#yOpWCqk<{x13~BOCZ1H< zB?3Oc9N3tR-j?I|vd@^z11?TFXWPpXq|o3+Cq>+Hvd`ajGoad>g8KHQN)^$EHrVl9-I+QlY#&(0gmJi=LFw(*mNydra8|yJxUzp&?s?$PbN-f z@rfgTKPm8&*?p4cx$JBrFk9kWS$yK0Zn(5bVfow=+oEe0^)5I+V{7S&19=DUJ#1Ob zY&sphyW%_X7@W(ZYx@;nn9X3HAM*!*0Y8SVmw04Wpm%`%LKs>uVdH>?01xe70Vg-snQ*E|%oez+Sa77ps%b$K^_S(V3I=_Ibo<_C*nYM~t$^ P{0(5J|3*BXw&wf^bcxRI literal 0 HcmV?d00001 diff --git a/fonts/medleypostscriptfonts/TIMES00-MIR.MEDLEYPOSTSCRIPTFONT b/fonts/medleypostscriptfonts/TIMES00-MIR.MEDLEYPOSTSCRIPTFONT new file mode 100644 index 0000000000000000000000000000000000000000..5b3a704bf85dcbaba504198519e8c983439f6656 GIT binary patch literal 6209 zcmeHL&5I*N6t55Qqh%3yB^MEzz<@#qCNptn-IGnHk`yNC(A_h-4y;IKgoX73Tvq1h zCHFxuLXInV8x}8n$v=>Tmt6NO&cy*SAnYFW_o`CUot2qQFykPmU%LB!)vJ21URTvi zYk%*~{(=9==bzp6c2u0`sO__2x#(4cQ~~oVtI7TstLtm)n|^uoM!9^WvQhM+w4vf! z)J{8b)Jc5S)=jS!d=NH*I8mw3*`FR`;vQ*K)s7BfsS_n>62`iddc+Q+R;Q^_)v=8& zOU0q8<~X&WrJFZ>mg<&DOtVCPs9>HMq85 zF&=Sj$f}yq+!|;oU2i}vkG(ibgOr>n<4?IlgG-v*_4jo(Z5Rcj!bG=gQ8xTEYK37^ zL-;5fnd?bMg_dWcX5&F(8#}M;UGPR*-e zT)y`7$-=M=kKvgzg|4TT>mmXj4S>$y`+{A zSVka=z$-Tyd-YpOU;Bx%!V8&fb}YmSQCur}W}QiV$ru;2w?0GjF>mqj`IwJoAg=%? z7>oN1eB1?+{0*QZ?h~NZccKgEi;;Pc#0c#Npi45Ca3O)k5@~?f1yQBf zv&W!}T$Ty=7;|7_cKWm&$Cn3;$pYZ&^q_2eS%wrE{52<~ILQZm)6wX)Z*g9rH_Zs5 zfPS;f%Wc^C&H8jFp}g6^0c4?xll6aTn82hUKr4Wu{KyT1PXgxX>@C+ae2HNjcZmb^ zG;x4WCr)MYi6j0vFZ|QleV*o0b~zE4Epe_dK5_n;yV!!Tbc$WEM_UrGE;v79K_7`D zd4OjRi!TGeBsxa=qj&<&>!NG>6YUS1S|nG$Dx<6p}hyMxR#H~eHC?Rj+h*ADWn<{x3c^~K`ix7qCDd&xn*4SgH4 zeH}Aq&N~;g=HQ@9;NPHyIR$Z8q16Y^q1;+z)||H;yNpH8L#&0n)cdo) z5SKUNckF}V3QY)NIF&MF@eW(qkJa}IM-Bcl=!<&L|j zWX8X|?YtCidd9+}N2~XghV9?z8C@z@aV`K*aY?19DYa(Ztt#t_&YbD-{{JYNeVn4Q RKLBhNnc4YoMB`a&&R_gs*8uMXi4#{ zm)t{pY0>{+N-nwhTBr}b=$cC|rM|=vDkvm}_V;FXw5t|75|wL8wNJbAzUJ+FZ{E&_ z!oA(k_V(RRZr}RS*;Yv!L_L>PYgMP|WeS+vSWWjnU#+jzH{9CB)mrUpW4-D`Sw|(U zsF%e_6sIoh1zjifKJ+_YlB&$*><@=AafdXTYCG^@DUQ-C^^+jZ9Af)X7!!G=K`2a)x>!ce??j*gS78zJ%pvb_h z*BE>4TSLG8Gh>yP3fc6Sj~Sx6R(13|le&^IE~f8&isn-u^6&VFkEAD;fD?>FgMp8` zLXy8hg;zv_fFH{5#ZU|YL(vy2cn;D3E>UuyD9sz-*(XZ=pm}}hRCp+M z8360_luMc-4lEi^V4dhg{)qj=ABne4iD@P_tWQR0JQ|UAVu#-o%On@e$o7xyDJU(M zH3EJJuF2W>X*iZIj~SB{z@xV?!`7IImDkd7vy5a?Hl1 z^}4)Pk5>|^n{{kJ=2|#q4=xC&K|z9+0Y~z>b%N&!vvkqQwE|yYrNRL^E*#*Kh0~aS z;fUYQO8;bapQX8wT}%eXGtQZXb7lU8^UuP?;xoYXxg&N(Ur*|^DE)$kXebW!a)pIU zGH9%b7|*`AFP?$(rs$jZim&uyFyJTr0bs;WVCxkg=o#oeV2=qy&t)te&=BAOKM>e5 zFD}Z!RE1Mt|JN$VtRSb2py>$$DU?t+nVzxE?XtPWlab$o$kPlzDL^pxal}wK1hC|lm zCieM|VC(lWzejw{B?OoF2KMwWh{FoaJ|vf$^Q@Y)mSbD7c=HkF!X0}1^S=;VH{v%F z#d$nwgKg|iS2+#*dpF6rP$t{fENwrLeka=G?rcHpgPlqPNmCGzjTc6jj<41qv^abk{V6M_KJUsYd;5RHY4kDU7JmTbBTb|E-^j=F GD(6p{L)~5g literal 0 HcmV?d00001 diff --git a/fonts/medleypostscriptfonts/ZAPFCHANCERY-MEDIUM00-MRR.MEDLEYPOSTSCRIPTFONT b/fonts/medleypostscriptfonts/ZAPFCHANCERY-MEDIUM00-MRR.MEDLEYPOSTSCRIPTFONT new file mode 100644 index 0000000000000000000000000000000000000000..dd04c9b352153abade8d8d90d819650b81973003 GIT binary patch literal 6250 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 Date: Sat, 5 Sep 2026 09:16:42 -0700 Subject: [PATCH 13/30] Fixed display glitch, bullet proofed for funky directories --- sources/FONT | 119 ++++++++++++++++++++++------------------------ sources/FONT.LCOM | Bin 66738 -> 66754 bytes 2 files changed, 56 insertions(+), 63 deletions(-) diff --git a/sources/FONT b/sources/FONT index 68c29a08a..c8f3e35bc 100644 --- a/sources/FONT +++ b/sources/FONT @@ -1,13 +1,12 @@ (DEFINE-FILE-INFO :PACKAGE "INTERLISP" :READTABLE "INTERLISP" :BASE 10 :FORMAT :UTF-8) -(FILECREATED " 5-Sep-2026 00:52:52" {MEDLEY}FONT.;875 272794 +(FILECREATED " 5-Sep-2026 09:14:56" {MEDLEY}FONT.;879 272206 :EDIT-BY rmk - :CHANGES-TO (VARS FONTCOMS) - (FNS FONTFILES) + :CHANGES-TO (FNS \CREATEFONT.DISPLAY) - :PREVIOUS-DATE " 4-Sep-2026 23:04:52" {MEDLEY}FONT.;873) + :PREVIOUS-DATE " 5-Sep-2026 09:05:17" {MEDLEY}FONT.;878) (PRETTYCOMPRINT FONTCOMS) @@ -1947,20 +1946,13 @@ (DEFINEQ (FONTFILES - [LAMBDA (FONTSPEC EXISTS CHARSET DIRLST EXTLST FORMATS) (* ; "Edited 4-Sep-2026 23:52 by rmk") + [LAMBDA (FONTSPEC EXISTS CHARSET DIRLST EXTLST FORMATS) (* ; "Edited 5-Sep-2026 09:03 by rmk") (* ; "Edited 31-Aug-2026 09:46 by rmk") (* ; "Edited 29-Aug-2026 09:28 by rmk") (* ; "Edited 18-Aug-2026 16:45 by rmk") (* ; "Edited 19-Apr-2026 09:54 by rmk") - (* ; "Edited 16-Apr-2026 22:26 by rmk") - (* ; "Edited 28-Aug-2025 14:42 by rmk") - (* ; "Edited 25-Aug-2025 10:22 by rmk") (* ; "Edited 16-Aug-2025 21:03 by rmk") (* ; "Edited 11-Jul-2025 09:42 by rmk") - (* ; "Edited 6-Jul-2025 10:40 by rmk") - (* ; "Edited 19-Jun-2025 17:09 by rmk") - (* ; "Edited 13-Jun-2025 22:48 by rmk") - (* ; "Edited 9-Jun-2025 09:57 by rmk") (* ; "Edited 17-May-2025 00:06 by rmk") (* ; "Edited 15-May-2025 16:29 by rmk") @@ -1983,8 +1975,9 @@ (SETQ DIRLST (FONTDEVICEPROP FONTSPEC 'FONTDIRECTORIES))) (CL:UNLESS EXTLST (SETQ EXTLST (FONTDEVICEPROP FONTSPEC 'FONTEXTENSIONS))) - (for D FOUND inside DIRLST - do (for E inside EXTLST do (for F inside (FILENAMEFROMFONTSPEC FONTSPEC CHARSET T + (for D FOUND inside DIRLST when (DIRECTORYNAMEP D) + do (CL:UNLESS D (SETQ D LOGINHOST/DIR)) + (for E inside EXTLST do (for F inside (FILENAMEFROMFONTSPEC FONTSPEC CHARSET T FORMATS) eachtime (SETQ F (PACKFILENAME.STRING 'DIRECTORY D 'NAME F 'EXTENSION E)) @@ -3799,7 +3792,8 @@ (DEFINEQ (\CREATEFONT.DISPLAY - [LAMBDA (FONTSPEC) (* ; "Edited 2-Sep-2026 21:55 by rmk") + [LAMBDA (FONTSPEC) (* ; "Edited 5-Sep-2026 09:14 by rmk") + (* ; "Edited 2-Sep-2026 21:55 by rmk") (* ; "Edited 29-Aug-2026 00:34 by rmk") (* ; "Edited 26-Aug-2026 21:02 by rmk") (* ; "Edited 5-May-2026 09:54 by rmk") @@ -3830,7 +3824,7 @@ NIL FONTSPEC)) (CL:WHEN (MEMB (fetch (FONTSPEC FSROTATION) of FONTSPEC) '(0 90 180 270)) - (LET [(FILE (CAR (FONTFILES FONTSPEC NIL T] + (LET [(FILE (CAR (FONTFILES FONTSPEC T] (if FILE then (MEDLEYFONT.READ.FONT FILE NIL T) else @@ -4228,7 +4222,8 @@ (MKATOM (FILENAMEFIELD.STRING FILE FIELDNAME]) (FILENAMEFIELD.STRING - [LAMBDA (FILE FIELDNAME) (* ; "Edited 14-Apr-2026 21:22 by rmk") + [LAMBDA (FILE FIELDNAME) (* ; "Edited 5-Sep-2026 08:58 by rmk") + (* ; "Edited 14-Apr-2026 21:22 by rmk") (* ; "Edited 9-Mar-2024 10:24 by rmk") (* ; "Edited 26-Mar-2022 09:38 by rmk") (* ; "Edited 6-Mar-90 19:38 by nm") @@ -4236,14 +4231,12 @@ then (LET* [(UNP (UNPACKFILENAME.STRING FILE)) (HOST (LISTGET UNP 'HOST)) (DIR (LISTGET UNP 'DIRECTORY)) - (RELDIR (OR DIR (LISTGET UNP 'RELATIVEDIRECTORY] - (if (NULL HOST) - then DIR - elseif (NULL DIR) - then (CL:IF RELDIR - (PACKFILENAME.STRING 'HOST HOST 'RELATIVEDIRECTORY RELDIR) - HOST) - else (PACKFILENAME.STRING 'HOST HOST 'DIRECTORY DIR))) + (RELDIR (LISTGET UNP 'RELATIVEDIRECTORY)) + (SUBDIR (LISTGET UNP 'SUBDIRECTORY] + (CL:IF HOST + (PACKFILENAME.STRING 'HOST HOST 'DIRECTORY DIR 'RELATIVEDIRECTORY RELDIR + 'SUBDIRECTORY SUBDIR) + (OR DIR RELDIR SUBDIR))) else (UNPACKFILENAME.STRING FILE FIELDNAME 'FIELD]) ) (DECLARE%: DONTEVAL@LOAD DOEVAL@COMPILE DONTCOPY COMPILERVARS @@ -4255,42 +4248,42 @@ (ADDTOVAR LAMA FONTCOPY FONTDEVICEPROP) ) (DECLARE%: DONTCOPY - (FILEMAP (NIL (6724 16391 (CHARWIDTH 6734 . 7523) (CHARWIDTHY 7525 . 9042) (STRINGWIDTH 9044 . 10081) -(\CHARWIDTH.DISPLAY 10083 . 10498) (\STRINGWIDTH.DISPLAY 10500 . 10928) (\STRINGWIDTH.GENERIC 10930 . -16389)) (16392 23024 (DEFAULTFONT 16402 . 17687) (FONTCLASS 17689 . 19961) (FONTCLASSUNPARSE 19963 . -20864) (FONTCLASSCOMPONENT 20866 . 21454) (SETFONTCLASSCOMPONENT 21456 . 21898) (GETFONTCLASSCOMPONENT - 21900 . 23022)) (24472 44407 (FONTCREATE 24482 . 27727) (FONTCREATE1 27729 . 30388) ( -FONTCREATE.SLUGFD 30390 . 32954) (\FONT.CHECKARGS1 32956 . 37661) (\FONTCREATE1.NOFN 37663 . 37877) ( -FONTFILEP 37879 . 38767) (\READCHARSET 38769 . 43987) (FONTCHARSETS 43989 . 44405)) (44408 51762 ( -\FONT.CHECKARGS 44418 . 51445) (\CHARSET.CHECK 51447 . 51760)) (51763 59617 (COERCEFONTSPEC 51773 . -58928) (COERCEFONTSPEC.TARGETFACE 58930 . 59615)) (61812 66250 (MAKEFONTSPEC 61822 . 63597) ( -FONTSPEC.TO.FONTDESCRIPTOR 63599 . 65473) (FONT.CHANGESPEC 65475 . 66248)) (66251 75913 (COMPLETE.FONT - 66261 . 68286) (COMPLETEFONTP 68288 . 69026) (COMPLETE.CHARSET 69028 . 73094) (PRUNESLUGCSINFOS 73096 - . 74407) (MONOSPACEFONTP 74409 . 75911)) (75952 87932 (FONTASCENT 75962 . 76473) (FONTDESCENT 76475 - . 77196) (FONTHEIGHT 77198 . 77710) (FONTPROP 77712 . 87209) (\AVGCHARWIDTH 87211 . 87930)) (88816 -90686 (FONTDEVICEPROP 88826 . 90684)) (90803 91657 (EDITCHAR 90813 . 91655)) (91703 104780 ( -GETCHARBITMAP 91713 . 92967) (PUTCHARBITMAP 92969 . 95241) (\GETCHARBITMAP.CSINFO 95243 . 97902) ( -\PUTCHARBITMAP.CSINFO 97904 . 104778)) (104781 127455 (MOVECHARBITMAP 104791 . 106685) (MOVEFONTCHARS -106687 . 111837) (\MOVEFONTCHAR 111839 . 116825) (\MOVEFONTCHARS.SOURCEDATA 116827 . 123697) ( -\MAKESLUGCHAR 123699 . 126234) (SLUGCHARP 126236 . 127453)) (128370 140368 (FONTFILES 128380 . 132290) - (FONTSPECFROMFILENAME 132292 . 137061) (FILENAMEFROMFONTSPEC 137063 . 140366)) (140369 176922 ( -FONTCOPY 140379 . 145462) (FONTP 145464 . 145763) (FONTUNPARSE 145765 . 147488) (SETFONTDESCRIPTOR -147490 . 148954) (\STREAMCHARWIDTH 148956 . 152967) (\COERCECHARSET 152969 . 156358) (\BUILDSLUGCSINFO - 156360 . 160273) (\FONTSYMBOL 160275 . 160929) (\DEVICESYMBOL 160931 . 161715) (\FONTFACE 161717 . -168921) (\FONTFACE.COLOR 168923 . 175705) (SETFONTCHARENCODING 175707 . 176920)) (176923 195610 ( -FONTSAVAILABLE 176933 . 182297) (FONTEXISTS? 182299 . 186464) (\SEARCHFONTFILES 186466 . 190196) ( -FLUSHFONTCACHE 190198 . 192903) (SORTFONTSPECS 192905 . 195608)) (195611 201149 (MATCHFONTFACE 195621 - . 196696) (MAKEFONTFACE 196698 . 197732) (FONTFACETOATOM 197734 . 199984) (FONTFACE.STARS 199986 . -201147)) (201496 201988 (\UNITWIDTHSVECTOR 201506 . 201986)) (219979 222377 (FONTDESCRIPTOR.DEFPRINT -219989 . 221899) (FONTCLASS.DEFPRINT 221901 . 222375)) (226192 228982 (\CREATEKERNELEMENT 226202 . -226560) (\FSETLEFTKERN 226562 . 227053) (\FGETLEFTKERN 227055 . 228980)) (228983 240467 (\CREATEFONT -228993 . 232519) (\CREATECHARSET 232521 . 235275) (\INSTALLCHARSETINFO 235277 . 238738) ( -\INSTALLCHARSETINFO.CHARENCODING 238740 . 239813) (\COPYCHARSETINFO 239815 . 240465)) (240789 242157 ( -\FONTRESETCHARWIDTHS 240799 . 242155)) (242680 253290 (\CREATEFONT.DISPLAY 242690 . 245914) ( -\CREATECHARSET.DISPLAY 245916 . 249572) (\FONTEXISTS?.DISPLAY 249574 . 252570) (FONTSAVAILABLE.DISPLAY - 252572 . 253288)) (253291 262010 (FAKEFACE.CHARSET 253301 . 257476) (MAKEBOLD.CHAR 257478 . 259445) ( -MAKEITALIC.CHAR 259447 . 262008)) (262041 269191 (\SFROTATECSINFO 262051 . 265806) ( -\SFROTATECSINFOBITMAP 265808 . 266521) (\SFROTATECSINFOOFFSETS 266523 . 268307) ( -\SFROTATECSINFOIMAGEWIDTHS 268309 . 269189)) (269192 270366 (\SFMAKECOLOR 269202 . 270364)) (271048 -272615 (FILENAMEFIELD 271058 . 271455) (FILENAMEFIELD.STRING 271457 . 272613))))) + (FILEMAP (NIL (6700 16367 (CHARWIDTH 6710 . 7499) (CHARWIDTHY 7501 . 9018) (STRINGWIDTH 9020 . 10057) +(\CHARWIDTH.DISPLAY 10059 . 10474) (\STRINGWIDTH.DISPLAY 10476 . 10904) (\STRINGWIDTH.GENERIC 10906 . +16365)) (16368 23000 (DEFAULTFONT 16378 . 17663) (FONTCLASS 17665 . 19937) (FONTCLASSUNPARSE 19939 . +20840) (FONTCLASSCOMPONENT 20842 . 21430) (SETFONTCLASSCOMPONENT 21432 . 21874) (GETFONTCLASSCOMPONENT + 21876 . 22998)) (24448 44383 (FONTCREATE 24458 . 27703) (FONTCREATE1 27705 . 30364) ( +FONTCREATE.SLUGFD 30366 . 32930) (\FONT.CHECKARGS1 32932 . 37637) (\FONTCREATE1.NOFN 37639 . 37853) ( +FONTFILEP 37855 . 38743) (\READCHARSET 38745 . 43963) (FONTCHARSETS 43965 . 44381)) (44384 51738 ( +\FONT.CHECKARGS 44394 . 51421) (\CHARSET.CHECK 51423 . 51736)) (51739 59593 (COERCEFONTSPEC 51749 . +58904) (COERCEFONTSPEC.TARGETFACE 58906 . 59591)) (61788 66226 (MAKEFONTSPEC 61798 . 63573) ( +FONTSPEC.TO.FONTDESCRIPTOR 63575 . 65449) (FONT.CHANGESPEC 65451 . 66224)) (66227 75889 (COMPLETE.FONT + 66237 . 68262) (COMPLETEFONTP 68264 . 69002) (COMPLETE.CHARSET 69004 . 73070) (PRUNESLUGCSINFOS 73072 + . 74383) (MONOSPACEFONTP 74385 . 75887)) (75928 87908 (FONTASCENT 75938 . 76449) (FONTDESCENT 76451 + . 77172) (FONTHEIGHT 77174 . 77686) (FONTPROP 77688 . 87185) (\AVGCHARWIDTH 87187 . 87906)) (88792 +90662 (FONTDEVICEPROP 88802 . 90660)) (90779 91633 (EDITCHAR 90789 . 91631)) (91679 104756 ( +GETCHARBITMAP 91689 . 92943) (PUTCHARBITMAP 92945 . 95217) (\GETCHARBITMAP.CSINFO 95219 . 97878) ( +\PUTCHARBITMAP.CSINFO 97880 . 104754)) (104757 127431 (MOVECHARBITMAP 104767 . 106661) (MOVEFONTCHARS +106663 . 111813) (\MOVEFONTCHAR 111815 . 116801) (\MOVEFONTCHARS.SOURCEDATA 116803 . 123673) ( +\MAKESLUGCHAR 123675 . 126210) (SLUGCHARP 126212 . 127429)) (128346 139663 (FONTFILES 128356 . 131585) + (FONTSPECFROMFILENAME 131587 . 136356) (FILENAMEFROMFONTSPEC 136358 . 139661)) (139664 176217 ( +FONTCOPY 139674 . 144757) (FONTP 144759 . 145058) (FONTUNPARSE 145060 . 146783) (SETFONTDESCRIPTOR +146785 . 148249) (\STREAMCHARWIDTH 148251 . 152262) (\COERCECHARSET 152264 . 155653) (\BUILDSLUGCSINFO + 155655 . 159568) (\FONTSYMBOL 159570 . 160224) (\DEVICESYMBOL 160226 . 161010) (\FONTFACE 161012 . +168216) (\FONTFACE.COLOR 168218 . 175000) (SETFONTCHARENCODING 175002 . 176215)) (176218 194905 ( +FONTSAVAILABLE 176228 . 181592) (FONTEXISTS? 181594 . 185759) (\SEARCHFONTFILES 185761 . 189491) ( +FLUSHFONTCACHE 189493 . 192198) (SORTFONTSPECS 192200 . 194903)) (194906 200444 (MATCHFONTFACE 194916 + . 195991) (MAKEFONTFACE 195993 . 197027) (FONTFACETOATOM 197029 . 199279) (FONTFACE.STARS 199281 . +200442)) (200791 201283 (\UNITWIDTHSVECTOR 200801 . 201281)) (219274 221672 (FONTDESCRIPTOR.DEFPRINT +219284 . 221194) (FONTCLASS.DEFPRINT 221196 . 221670)) (225487 228277 (\CREATEKERNELEMENT 225497 . +225855) (\FSETLEFTKERN 225857 . 226348) (\FGETLEFTKERN 226350 . 228275)) (228278 239762 (\CREATEFONT +228288 . 231814) (\CREATECHARSET 231816 . 234570) (\INSTALLCHARSETINFO 234572 . 238033) ( +\INSTALLCHARSETINFO.CHARENCODING 238035 . 239108) (\COPYCHARSETINFO 239110 . 239760)) (240084 241452 ( +\FONTRESETCHARWIDTHS 240094 . 241450)) (241975 252690 (\CREATEFONT.DISPLAY 241985 . 245314) ( +\CREATECHARSET.DISPLAY 245316 . 248972) (\FONTEXISTS?.DISPLAY 248974 . 251970) (FONTSAVAILABLE.DISPLAY + 251972 . 252688)) (252691 261410 (FAKEFACE.CHARSET 252701 . 256876) (MAKEBOLD.CHAR 256878 . 258845) ( +MAKEITALIC.CHAR 258847 . 261408)) (261441 268591 (\SFROTATECSINFO 261451 . 265206) ( +\SFROTATECSINFOBITMAP 265208 . 265921) (\SFROTATECSINFOOFFSETS 265923 . 267707) ( +\SFROTATECSINFOIMAGEWIDTHS 267709 . 268589)) (268592 269766 (\SFMAKECOLOR 268602 . 269764)) (270448 +272027 (FILENAMEFIELD 270458 . 270855) (FILENAMEFIELD.STRING 270857 . 272025))))) STOP diff --git a/sources/FONT.LCOM b/sources/FONT.LCOM index 75acba8d5ed533e766727556e98df5caf3f8dc61..034589ca531c53c59d2b8e1e48ec305008cba608 100644 GIT binary patch delta 1332 zcmZuwU1%It6wck9ByAueKeld~YEEOYZc5gm7JKy=v zIqenU-iok#qu(fExu~dXZ(qt8d6)uaHe7ynmWV_J(I|>~5#zPpNBk4!LZL7Pt*fsu zw;tq9@Kk=_iHhyeazM?9TK74n`Pf%z;*I79hH!4_m=sRXJ z4@Ezqi?&w}XDtqRAD*Zbv6kQ=J^m5JXU;+eG_YvJtUFPHlm`TT8TS6eAN2X=rqCE- z!@1ASDXtnnzu#&M zZCSguP2tY3?2pywiB6zKYjc$6(JMX#tYhFg zXqhu?CLTUpS$k((QGh-dQ8% zm_vN?li}$!ul|6%=wKAF&$lQ0pWYi0M;g=Yr|p|aXVFgK^uI48f?18}_`{t+^sWS< z7o@EXeOeAd)^(`6Ns+QH!IJ6w)U^o6M2FA}L$3^yu63VWha)TIb#xpE4?KFxIu|OK z54pa_MzIS(svs?%|Dp2+uz5-E=&!7#MM<@FEf#-uRf@6jeC=$E2dvT0_ z>$wzURq8w>QDj%YpU4<;dTDxc&B&OKD>Z|1HNi;+fz#tVns&upG;JrDN5Fa#bxy#l z2&}aAkc@e&I<2$avKMdMD=pN%-a;*@ zbkM%GS88QYFZy)vdMShc{$_}uX>ShN753i#j4;}IX@K3{KaWKA^L{Qv`1lCC7AemD zxjcTQx2Gp#9{Sfy=@yKbLN&Eq+&a9s5AU7B`&+wxA@#7+^KyDFq^C1@DjAI7%bR@* zn^|Y$hb)@O=wxF+K!&67*3{>^YXPdk*VHj1dy$?nO2>->iU!HLg3Nn;GEy=&-W1SN F{{aKuVkQ6p delta 1373 zcmZuwJ!~9B6uv#5?brn5pCH?@15XB&*vO~-ncds9CF1q%+}+yy$IjZq$dVIr7C$M# zN<eIRh9(MS&=2$ZcE@%eIsPN)QDtqM!&>LO}xsZ}!fY6Ul0|`{vEO_s#ph z_wL>(G;b6dSNr98UB!3z`itZG3`_%=V_Wacsj_N-s?Fm|%-zFtQJ1?|EKWoH^0lq{ ze~oW0=oz#_Svhv2B#c2NCBS-|#9s1f1gffo z>)TZtMhsNN1eV~gk7;CH-Fbn(^v%dQL+_4Ihzt&`*sES5s!D&J@ZJ@-Jky`!q;ad? zIrR4n-~GY=X2H-?DC3O1-4I%i0KAZ#8lzLSBXPkq-PN= z^V_@cParCNC7}Ux!vF;(AR_VlCSSh!6XNIlhH|OSx203>rB_-kef!DHX%jZGH0%CS z=mF8Q0uii8UtYD*A)D#ur-r0y8BZMq2AbIosFg^IrWQTPdPG^8em3;HsQmAd9RKak zvx66phvnfGbnn5Aw7?q&#nb=3E);VzclzVOlhOwkurSWJ6U8wg7J=13ltoMnHtZ;( zfujP!8kx;lSO(3~I;O67OjS8CRSayORdqp4Toq~>9j799%$nTEt5`@!3qrBfj%k=s z4n6Gq#7B``P%v7M7{y@(rUstP63`9)<>C2J6M`_HKn$y8XtKe#e>ls3IeZ2?^ugiO zMHG93Q9CZzM2>6-P``H9bru|ziZ~B!reLgdRDoHvPg^dp61(isd=R?)wRX@&DV|>>v^eH`uzB< z#k}<3_EY%H1ias@^2WW{-qHFSZ$80~?oFLlu(chJu8XRQVxo$|!mDWf`tMVDi=-oe zZcS_!a=E8WL&^WV4sukH`DtpoR~<)P(tVx@T|JK|>FmD3__$Q|nP zEoZ*HUwfq42}^$LK$YaZd_l5^Nx*Sq)H96Np=3fWL;($gQ|;M_yG9>w;(TPAMA`eO HAT9g{7L#g* From 028c81c961fe01be2c25671e7e4d06835e87e566 Mon Sep 17 00:00:00 2001 From: rmkaplan Date: Sat, 5 Sep 2026 11:04:45 -0700 Subject: [PATCH 14/30] MATH and SYMBOL coercions --- library/POSTSCRIPTSTREAM | 86 ++++++++++++++++++---------------- library/POSTSCRIPTSTREAM.LCOM | Bin 98534 -> 98537 bytes 2 files changed, 45 insertions(+), 41 deletions(-) diff --git a/library/POSTSCRIPTSTREAM b/library/POSTSCRIPTSTREAM index 34511d7ef..43597177b 100644 --- a/library/POSTSCRIPTSTREAM +++ b/library/POSTSCRIPTSTREAM @@ -1,13 +1,12 @@ (DEFINE-FILE-INFO :PACKAGE "INTERLISP" :READTABLE "INTERLISP" :BASE 10) -(FILECREATED " 4-Sep-2026 20:45:57" {MEDLEY}POSTSCRIPTSTREAM.;109 273421 +(FILECREATED " 5-Sep-2026 11:02:23" {MEDLEY}POSTSCRIPTSTREAM.;111 273650 :EDIT-BY rmk :CHANGES-TO (VARS POSTSCRIPTSTREAMCOMS) - (FNS PSCFONT.TO.FONTDESCRIPTOR) - :PREVIOUS-DATE " 4-Sep-2026 17:12:41" {MEDLEY}POSTSCRIPTSTREAM.;108) + :PREVIOUS-DATE " 5-Sep-2026 10:14:45" {MEDLEY}POSTSCRIPTSTREAM.;110) (PRETTYCOMPRINT POSTSCRIPTSTREAMCOMS) @@ -68,7 +67,9 @@ (TERMINAL (COURIER 0)) (TIMESROMAN (TIMES 0)) (TIMESROMAND (TIMES 0)) - (TITAN (COURIER 0] + (TITAN (COURIER 0)) + (MATH CLASSIC) + (* (* 0] (ADDVARS (DEFAULTFILETYPELIST (PS . BINARY) (PSC . BINARY) (PSF . BINARY) @@ -646,7 +647,8 @@ CSINFO)]) (POSTSCRIPT.FONTCREATE - [LAMBDA (FONTSPEC) (* ; "Edited 3-Sep-2026 19:17 by rmk") + [LAMBDA (FONTSPEC) (* ; "Edited 5-Sep-2026 10:08 by rmk") + (* ; "Edited 3-Sep-2026 19:17 by rmk") (* ; "Edited 30-Aug-2026 21:36 by rmk") (* ; "Edited 17-Mar-2026 16:29 by rmk") (* ; "Edited 13-Oct-2025 18:04 by rmk") @@ -658,7 +660,7 @@ (* ; "Edited 3-Feb-93 17:22 by jds") (if (AND (type? FONTSPEC FONTSPEC) (EQ 0 (FSPROP FONTSPEC FSSIZE))) - then (MEDLEYFONT.READ.FONT FONTSPEC) + then (MEDLEYFONT.READ.FONT FONTSPEC NIL T) elseif (type? FONTDESCRIPTOR FONTSPEC) then (* ;; "FONTSPEC is a fresh copy of the unscaled font so we can smash it. \CREATEFONT has filled in some of the toplevel spec fields, POSTSCRIPT.CHARSETFN will later scale the widths. Here we just have to scale the top-level parameters in advance of what the charset function might do.") @@ -1387,7 +1389,9 @@ (TERMINAL (COURIER 0)) (TIMESROMAN (TIMES 0)) (TIMESROMAND (TIMES 0)) - (TITAN (COURIER 0)))) + (TITAN (COURIER 0)) + (MATH CLASSIC) + (* (* 0)))) (ADDTOVAR DEFAULTFILETYPELIST (PS . BINARY) (PSC . BINARY) @@ -4581,38 +4585,38 @@ (ADDTOVAR LAMA POSTSCRIPT.PUTCOMMAND) ) (DECLARE%: DONTCOPY - (FILEMAP (NIL (23238 33637 (POSTSCRIPT.INIT 23248 . 30243) (POSTSCRIPT.PUTRGBCOLOR 30245 . 31267) ( -\PSC.COLOR.TO.RGB 31269 . 33635)) (33877 50960 (POSTSCRIPT.FONTSAVAILABLE 33887 . 37267) ( -PSCFONT.FILEP 37269 . 37456) (POSTSCRIPT.CHARSET 37458 . 39450) (POSTSCRIPT.FONTCREATE 39452 . 42506) -(PSCFONT.TO.FONTDESCRIPTOR 42508 . 50958)) (50961 62799 (PSCFONT.READFONT 50971 . 52982) ( -PSCFONT.WRITEFONT 52984 . 53999) (READ-AFM-FILE 54001 . 59872) (CONVERT-AFM-FILES 59874 . 61397) ( -POSTSCRIPT.GETFONTID 61399 . 62797)) (62800 64168 (\CREATECHARSET.PSC 62810 . 64166)) (64227 82282 ( -OLDPOSTSCRIPT.FONTCREATE 64237 . 77442) (\POSTSCRIPT.SPECIALFONT.SCALEDWIDTHS 77444 . 78938) ( -PSCFONT.COERCEFILE 78940 . 81273) (PSCFONT.SPELLFILE 81275 . 82280)) (85158 95245 ( -OPENPOSTSCRIPTSTREAM 85168 . 94733) (CLOSEPOSTSCRIPTSTREAM 94735 . 95243)) (95290 101616 ( -POSTSCRIPT.HARDCOPYW 95300 . 98407) (POSTSCRIPT.TEDIT 98409 . 98861) (POSTSCRIPTFILEP 98863 . 100351) -(MAKEEPSFILE 100353 . 101614)) (101617 145646 (POSTSCRIPT.BITMAPSCALE 101627 . 104083) ( -POSTSCRIPT.CLOSESTRING 104085 . 104638) (POSTSCRIPT.ENDPAGE 104640 . 105531) (POSTSCRIPT.OUTSTR 105533 - . 106750) (POSTSCRIPT.PUTBITMAPBYTES 106752 . 115223) (POSTSCRIPT.PUTCOMMAND 115225 . 116214) ( -POSTSCRIPT.SET-FAKE-LANDSCAPE 116216 . 120736) (POSTSCRIPT.SHOWACCUM 120738 . 122893) ( -POSTSCRIPT.STARTPAGE 122895 . 125597) (\POSTSCRIPTTAB 125599 . 126396) (\PS.BOUTFIXP 126398 . 127678) -(\PS.SCALEHACK 127680 . 130323) (\PS.SCALEREGION 130325 . 130885) (\SCALEDBITBLT.PSC 130887 . 135197) -(\SETPOS.PSC 135199 . 135680) (\SETXFORM.PSC 135682 . 138266) (\STRINGWIDTH.PSC 138268 . 138741) ( -\SWITCHFONTS.PSC 138743 . 144408) (\TERPRI.PSC 144410 . 145644)) (145681 198413 (\BITBLT.PSC 145691 . -146243) (\BLTSHADE.PSC 146245 . 150906) (\CHARWIDTH.PSC 150908 . 151415) (\DRAWARC.PSC 151417 . 153795 -) (\DRAWCIRCLE.PSC 153797 . 156048) (\DRAWCURVE.PSC 156050 . 159894) (\DRAWELLIPSE.PSC 159896 . 162260 -) (\DRAWLINE.PSC 162262 . 165002) (\DRAWPOINT.PSC 165004 . 165580) (\DRAWPOLYGON.PSC 165582 . 168711) -(\DSPBOTTOMMARGIN.PSC 168713 . 169400) (\DSPCLIPPINGREGION.PSC 169402 . 170777) (\DSPCOLOR.PSC 170779 - . 171710) (\DSPFONT.PSC 171712 . 175583) (\DSPLEFTMARGIN.PSC 175585 . 176271) (\DSPLINEFEED.PSC -176273 . 176863) (\DSPPUSHSTATE.PSC 176865 . 178325) (\DSPPOPSTATE.PSC 178327 . 181812) (\DSPRESET.PSC - 181814 . 182479) (\DSPRIGHTMARGIN.PSC 182481 . 183170) (\DSPROTATE.PSC 183172 . 184171) ( -\DSPSCALE.PSC 184173 . 185125) (\DSPSCALE2.PSC 185127 . 185967) (\DSPSPACEFACTOR.PSC 185969 . 186890) -(\DSPTOPMARGIN.PSC 186892 . 187463) (\DSPTRANSLATE.PSC 187465 . 189496) (\DSPXPOSITION.PSC 189498 . -190062) (\DSPYPOSITION.PSC 190064 . 190655) (\FILLCIRCLE.PSC 190657 . 192882) (\FILLPOLYGON.PSC 192884 - . 196121) (\FIXLINELENGTH.PSC 196123 . 197442) (\MOVETO.PSC 197444 . 198214) (\NEWPAGE.PSC 198216 . -198411)) (198469 222023 (\POSTSCRIPT.CHANGECHARSET 198479 . 199308) (\POSTSCRIPT.OUTCHARFN 199310 . -212418) (\POSTSCRIPT.PRINTSLUG 212420 . 214255) (\POSTSCRIPT.SPECIALOUTCHARFN 214257 . 216846) ( -\UPDATE.PSC 216848 . 218094) (\POSTSCRIPT.ACCENTFN 218096 . 219038) (\POSTSCRIPT.ACCENTPAIR 219040 . -222021)) (222121 223766 (\PSC.SPACEDISP 222131 . 222410) (\PSC.SPACEWID 222412 . 223031) (\PSC.SYMBOLS - 223033 . 223764)) (223877 226860 (\POSTSCRIPT.MCCSHASH 223887 . 226858))))) + (FILEMAP (NIL (23309 33708 (POSTSCRIPT.INIT 23319 . 30314) (POSTSCRIPT.PUTRGBCOLOR 30316 . 31338) ( +\PSC.COLOR.TO.RGB 31340 . 33706)) (33948 51146 (POSTSCRIPT.FONTSAVAILABLE 33958 . 37338) ( +PSCFONT.FILEP 37340 . 37527) (POSTSCRIPT.CHARSET 37529 . 39521) (POSTSCRIPT.FONTCREATE 39523 . 42692) +(PSCFONT.TO.FONTDESCRIPTOR 42694 . 51144)) (51147 62985 (PSCFONT.READFONT 51157 . 53168) ( +PSCFONT.WRITEFONT 53170 . 54185) (READ-AFM-FILE 54187 . 60058) (CONVERT-AFM-FILES 60060 . 61583) ( +POSTSCRIPT.GETFONTID 61585 . 62983)) (62986 64354 (\CREATECHARSET.PSC 62996 . 64352)) (64413 82468 ( +OLDPOSTSCRIPT.FONTCREATE 64423 . 77628) (\POSTSCRIPT.SPECIALFONT.SCALEDWIDTHS 77630 . 79124) ( +PSCFONT.COERCEFILE 79126 . 81459) (PSCFONT.SPELLFILE 81461 . 82466)) (85387 95474 ( +OPENPOSTSCRIPTSTREAM 85397 . 94962) (CLOSEPOSTSCRIPTSTREAM 94964 . 95472)) (95519 101845 ( +POSTSCRIPT.HARDCOPYW 95529 . 98636) (POSTSCRIPT.TEDIT 98638 . 99090) (POSTSCRIPTFILEP 99092 . 100580) +(MAKEEPSFILE 100582 . 101843)) (101846 145875 (POSTSCRIPT.BITMAPSCALE 101856 . 104312) ( +POSTSCRIPT.CLOSESTRING 104314 . 104867) (POSTSCRIPT.ENDPAGE 104869 . 105760) (POSTSCRIPT.OUTSTR 105762 + . 106979) (POSTSCRIPT.PUTBITMAPBYTES 106981 . 115452) (POSTSCRIPT.PUTCOMMAND 115454 . 116443) ( +POSTSCRIPT.SET-FAKE-LANDSCAPE 116445 . 120965) (POSTSCRIPT.SHOWACCUM 120967 . 123122) ( +POSTSCRIPT.STARTPAGE 123124 . 125826) (\POSTSCRIPTTAB 125828 . 126625) (\PS.BOUTFIXP 126627 . 127907) +(\PS.SCALEHACK 127909 . 130552) (\PS.SCALEREGION 130554 . 131114) (\SCALEDBITBLT.PSC 131116 . 135426) +(\SETPOS.PSC 135428 . 135909) (\SETXFORM.PSC 135911 . 138495) (\STRINGWIDTH.PSC 138497 . 138970) ( +\SWITCHFONTS.PSC 138972 . 144637) (\TERPRI.PSC 144639 . 145873)) (145910 198642 (\BITBLT.PSC 145920 . +146472) (\BLTSHADE.PSC 146474 . 151135) (\CHARWIDTH.PSC 151137 . 151644) (\DRAWARC.PSC 151646 . 154024 +) (\DRAWCIRCLE.PSC 154026 . 156277) (\DRAWCURVE.PSC 156279 . 160123) (\DRAWELLIPSE.PSC 160125 . 162489 +) (\DRAWLINE.PSC 162491 . 165231) (\DRAWPOINT.PSC 165233 . 165809) (\DRAWPOLYGON.PSC 165811 . 168940) +(\DSPBOTTOMMARGIN.PSC 168942 . 169629) (\DSPCLIPPINGREGION.PSC 169631 . 171006) (\DSPCOLOR.PSC 171008 + . 171939) (\DSPFONT.PSC 171941 . 175812) (\DSPLEFTMARGIN.PSC 175814 . 176500) (\DSPLINEFEED.PSC +176502 . 177092) (\DSPPUSHSTATE.PSC 177094 . 178554) (\DSPPOPSTATE.PSC 178556 . 182041) (\DSPRESET.PSC + 182043 . 182708) (\DSPRIGHTMARGIN.PSC 182710 . 183399) (\DSPROTATE.PSC 183401 . 184400) ( +\DSPSCALE.PSC 184402 . 185354) (\DSPSCALE2.PSC 185356 . 186196) (\DSPSPACEFACTOR.PSC 186198 . 187119) +(\DSPTOPMARGIN.PSC 187121 . 187692) (\DSPTRANSLATE.PSC 187694 . 189725) (\DSPXPOSITION.PSC 189727 . +190291) (\DSPYPOSITION.PSC 190293 . 190884) (\FILLCIRCLE.PSC 190886 . 193111) (\FILLPOLYGON.PSC 193113 + . 196350) (\FIXLINELENGTH.PSC 196352 . 197671) (\MOVETO.PSC 197673 . 198443) (\NEWPAGE.PSC 198445 . +198640)) (198698 222252 (\POSTSCRIPT.CHANGECHARSET 198708 . 199537) (\POSTSCRIPT.OUTCHARFN 199539 . +212647) (\POSTSCRIPT.PRINTSLUG 212649 . 214484) (\POSTSCRIPT.SPECIALOUTCHARFN 214486 . 217075) ( +\UPDATE.PSC 217077 . 218323) (\POSTSCRIPT.ACCENTFN 218325 . 219267) (\POSTSCRIPT.ACCENTPAIR 219269 . +222250)) (222350 223995 (\PSC.SPACEDISP 222360 . 222639) (\PSC.SPACEWID 222641 . 223260) (\PSC.SYMBOLS + 223262 . 223993)) (224106 227089 (\POSTSCRIPT.MCCSHASH 224116 . 227087))))) STOP diff --git a/library/POSTSCRIPTSTREAM.LCOM b/library/POSTSCRIPTSTREAM.LCOM index 630ebd423fcc15adc100572e86b38c0bb3a479f6..9f0e24e1c07e284f778e44b9d7cbbeb9d3de8af1 100644 GIT binary patch delta 1047 zcmZuuT}u>U6!vVi>&^6!gxnkc+*%%z5TH&pGGeykEDX-?pOLljoIQ zZ+^8`6hsvX(FIW#<(<3g6GAe`@pv*T=!&E(0*`C+b1U~(7w^rNaDH=jZT+&2%PSiT zi_3R#aT)o-xNYOf%4{~vW9ilg)1PiB>w>^%xOBm?O~W;FzL`fJ|6@xE%Fq=j1Vv3! z6(QIFty_0obHXZ)d%by9$m(kS5?PlO9=V-IsR$AF+9E$%&WMT@G_~=X7_F;=q0*UM zr3AYKO43kyH#1aewm24*8|>i-pC+-a;F|h$IMDuqIvRg&YG} zJO)In0@5!Z16jpFam;tzqJx_D4=Ymew!Py?HJdj*!?hg07&aZKh)z;UwXTL@9$4Fx zl-PfoVg_qfWT2*fEF4J&#Gvn0DxylkPd+s#6U?*48m8x%29ncl2{|>1ggdF7G$7&l zm}lf{Gw&70UBg68M9-QsQ5Awe9Ua{=3R(7`s#1-TT8)BMiA3uUV}{!~Xb;ZyME7Po ze}6|zkLLUlH0+$`Sw;raJ>eBHm4j)H&PL%P#UxBbFip3TFc#-9i^HQ#NHr>(Rv4pJ-U6g|KCh*{6ixxSOTW+L5;gWbtZd#2CwS;sRl#FK@hJ6idp zpW|@7i3>+f4_p4Q?N@1?1FM;v&bzrArfpk}XIA;=92m^zQTzfeb8wZJ>PtY9dWi~t n7UFjaP#J%i0G>8BKt9H?4Gj+B`>6(a)7tXi4Zi=y!{N+d#H?5u_J)#c@W?B8oLA;1XgAI|uM%ptm4nZ-0mum~c-I z6zjd)TphN@q0SYLwl5UxA?O2tZ@CzP@2|+T*h9wA>n6W^^fI5gg}mRlvJlJ_B*SPzu#JWsk3 zqjrkCUpIwGq)rudKdD0rVzsWBEYc}y;y3o6G4l@b0{EQ!tPJx`D9 zWJW@V;Vc;_<4=X*98msZ7>dJI)p3K1MtL-8R7&>EriSwO!cg)1BQQ*qhodm#zYqh{e-{Iy^*_d7>P+)j&rTZdr0M1@MT?`u!vBne7Rg*h6BCHq)lR{i!Cj*N GI`;=9%?OYH From 1079fd6b0746265a36b55ccdde676d39669361cb Mon Sep 17 00:00:00 2001 From: rmkaplan Date: Sat, 5 Sep 2026 11:40:18 -0700 Subject: [PATCH 15/30] Add interpress medley fonts --- .../BOLDPS10-BIR.MEDLEYINTERPRESSFONT | Bin 0 -> 5033 bytes .../BOLDPS10-BRR.MEDLEYINTERPRESSFONT | Bin 0 -> 5040 bytes .../BOLDPS10-MIR.MEDLEYINTERPRESSFONT | Bin 0 -> 5047 bytes .../BOLDPS10-MRR.MEDLEYINTERPRESSFONT | Bin 0 -> 5054 bytes .../CLASSIC06-BRR.MEDLEYINTERPRESSFONT | Bin 0 -> 6418 bytes .../CLASSIC06-MIR.MEDLEYINTERPRESSFONT | Bin 0 -> 5741 bytes .../CLASSIC06-MRR.MEDLEYINTERPRESSFONT | Bin 0 -> 6436 bytes .../CLASSIC08-BRR.MEDLEYINTERPRESSFONT | Bin 0 -> 7788 bytes .../CLASSIC08-MIR.MEDLEYINTERPRESSFONT | Bin 0 -> 6945 bytes .../CLASSIC08-MRR.MEDLEYINTERPRESSFONT | Bin 0 -> 55916 bytes .../CLASSIC10-BRR.MEDLEYINTERPRESSFONT | Bin 0 -> 7788 bytes .../CLASSIC10-MIR.MEDLEYINTERPRESSFONT | Bin 0 -> 6427 bytes .../CLASSIC10-MRR.MEDLEYINTERPRESSFONT | Bin 0 -> 55916 bytes .../CLASSIC12-BRR.MEDLEYINTERPRESSFONT | Bin 0 -> 6418 bytes .../CLASSIC12-MIR.MEDLEYINTERPRESSFONT | Bin 0 -> 5741 bytes .../CLASSIC12-MRR.MEDLEYINTERPRESSFONT | Bin 0 -> 71052 bytes .../CLASSIC14-BRR.MEDLEYINTERPRESSFONT | Bin 0 -> 6418 bytes .../CLASSIC14-MIR.MEDLEYINTERPRESSFONT | Bin 0 -> 5741 bytes .../CLASSIC14-MRR.MEDLEYINTERPRESSFONT | Bin 0 -> 55916 bytes .../CLASSIC18-BRR.MEDLEYINTERPRESSFONT | Bin 0 -> 6418 bytes .../CLASSIC18-MIR.MEDLEYINTERPRESSFONT | Bin 0 -> 5741 bytes .../CLASSIC18-MRR.MEDLEYINTERPRESSFONT | Bin 0 -> 55916 bytes .../CLASSIC24-BRR.MEDLEYINTERPRESSFONT | Bin 0 -> 6418 bytes .../CLASSIC24-MIR.MEDLEYINTERPRESSFONT | Bin 0 -> 5741 bytes .../CLASSIC24-MRR.MEDLEYINTERPRESSFONT | Bin 0 -> 71052 bytes .../CLASSICTHIN16-BRR.MEDLEYINTERPRESSFONT | Bin 0 -> 3695 bytes .../CLASSICTHIN16-MRR.MEDLEYINTERPRESSFONT | Bin 0 -> 3705 bytes .../CLASSICTHIN20-BRR.MEDLEYINTERPRESSFONT | Bin 0 -> 3695 bytes .../CLASSICTHIN20-MRR.MEDLEYINTERPRESSFONT | Bin 0 -> 3705 bytes .../CLASSICTHIN26-BRR.MEDLEYINTERPRESSFONT | Bin 0 -> 3695 bytes .../CLASSICTHIN26-MRR.MEDLEYINTERPRESSFONT | Bin 0 -> 3705 bytes .../CLASSICTHIN30-BRR.MEDLEYINTERPRESSFONT | Bin 0 -> 3695 bytes .../CLASSICTHIN30-MRR.MEDLEYINTERPRESSFONT | Bin 0 -> 3705 bytes .../HELVETICA06-BIR.MEDLEYINTERPRESSFONT | Bin 0 -> 7115 bytes .../HELVETICA06-BRR.MEDLEYINTERPRESSFONT | Bin 0 -> 7125 bytes .../HELVETICA06-MIR.MEDLEYINTERPRESSFONT | Bin 0 -> 7135 bytes .../HELVETICA06-MRR.MEDLEYINTERPRESSFONT | Bin 0 -> 7145 bytes .../HELVETICA07-BIR.MEDLEYINTERPRESSFONT | Bin 0 -> 7115 bytes .../HELVETICA07-BRR.MEDLEYINTERPRESSFONT | Bin 0 -> 7125 bytes .../HELVETICA07-MIR.MEDLEYINTERPRESSFONT | Bin 0 -> 7135 bytes .../HELVETICA07-MRR.MEDLEYINTERPRESSFONT | Bin 0 -> 7145 bytes .../HELVETICA08-BIR.MEDLEYINTERPRESSFONT | Bin 0 -> 7115 bytes .../HELVETICA08-BRR.MEDLEYINTERPRESSFONT | Bin 0 -> 7125 bytes .../HELVETICA08-MIR.MEDLEYINTERPRESSFONT | Bin 0 -> 7135 bytes .../HELVETICA08-MRR.MEDLEYINTERPRESSFONT | Bin 0 -> 7145 bytes .../HELVETICA09-BIR.MEDLEYINTERPRESSFONT | Bin 0 -> 7115 bytes .../HELVETICA09-BRR.MEDLEYINTERPRESSFONT | Bin 0 -> 7125 bytes .../HELVETICA09-MIR.MEDLEYINTERPRESSFONT | Bin 0 -> 7135 bytes .../HELVETICA09-MRR.MEDLEYINTERPRESSFONT | Bin 0 -> 7145 bytes .../HELVETICA10-BIR.MEDLEYINTERPRESSFONT | Bin 0 -> 7115 bytes .../HELVETICA10-BRR.MEDLEYINTERPRESSFONT | Bin 0 -> 7125 bytes .../HELVETICA10-MIR.MEDLEYINTERPRESSFONT | Bin 0 -> 7135 bytes .../HELVETICA10-MRR.MEDLEYINTERPRESSFONT | Bin 0 -> 7145 bytes .../HELVETICA11-BIR.MEDLEYINTERPRESSFONT | Bin 0 -> 7115 bytes .../HELVETICA11-BRR.MEDLEYINTERPRESSFONT | Bin 0 -> 7125 bytes .../HELVETICA11-MIR.MEDLEYINTERPRESSFONT | Bin 0 -> 7135 bytes .../HELVETICA11-MRR.MEDLEYINTERPRESSFONT | Bin 0 -> 7145 bytes .../HELVETICA12-BIR.MEDLEYINTERPRESSFONT | Bin 0 -> 7115 bytes .../HELVETICA12-BRR.MEDLEYINTERPRESSFONT | Bin 0 -> 7125 bytes .../HELVETICA12-MIR.MEDLEYINTERPRESSFONT | Bin 0 -> 7135 bytes .../HELVETICA12-MRR.MEDLEYINTERPRESSFONT | Bin 0 -> 7145 bytes .../HELVETICA14-BIR.MEDLEYINTERPRESSFONT | Bin 0 -> 7115 bytes .../HELVETICA14-BRR.MEDLEYINTERPRESSFONT | Bin 0 -> 7125 bytes .../HELVETICA14-MIR.MEDLEYINTERPRESSFONT | Bin 0 -> 7135 bytes .../HELVETICA14-MRR.MEDLEYINTERPRESSFONT | Bin 0 -> 7145 bytes .../HELVETICA18-BIR.MEDLEYINTERPRESSFONT | Bin 0 -> 7115 bytes .../HELVETICA18-BRR.MEDLEYINTERPRESSFONT | Bin 0 -> 7125 bytes .../HELVETICA18-MIR.MEDLEYINTERPRESSFONT | Bin 0 -> 7135 bytes .../HELVETICA18-MRR.MEDLEYINTERPRESSFONT | Bin 0 -> 7145 bytes .../HELVETICA24-BIR.MEDLEYINTERPRESSFONT | Bin 0 -> 7115 bytes .../HELVETICA24-BRR.MEDLEYINTERPRESSFONT | Bin 0 -> 7125 bytes .../HELVETICA24-MIR.MEDLEYINTERPRESSFONT | Bin 0 -> 7135 bytes .../HELVETICA24-MRR.MEDLEYINTERPRESSFONT | Bin 0 -> 7145 bytes .../LETTERGOTHIC10-BRR.MEDLEYINTERPRESSFONT | Bin 0 -> 5773 bytes .../LETTERGOTHIC10-MRR.MEDLEYINTERPRESSFONT | Bin 0 -> 5789 bytes .../LOGO24-MRR.MEDLEYINTERPRESSFONT | Bin 0 -> 1275 bytes .../MODERN06-BIR.MEDLEYINTERPRESSFONT | Bin 0 -> 5717 bytes .../MODERN06-BRR.MEDLEYINTERPRESSFONT | Bin 0 -> 5725 bytes .../MODERN06-MIR.MEDLEYINTERPRESSFONT | Bin 0 -> 5733 bytes .../MODERN06-MRR.MEDLEYINTERPRESSFONT | Bin 0 -> 6427 bytes .../MODERN08-BIR.MEDLEYINTERPRESSFONT | Bin 0 -> 5717 bytes .../MODERN08-BRR.MEDLEYINTERPRESSFONT | Bin 0 -> 5725 bytes .../MODERN08-MIR.MEDLEYINTERPRESSFONT | Bin 0 -> 5733 bytes .../MODERN08-MRR.MEDLEYINTERPRESSFONT | Bin 0 -> 7799 bytes .../MODERN10-BIR.MEDLEYINTERPRESSFONT | Bin 0 -> 5717 bytes .../MODERN10-BRR.MEDLEYINTERPRESSFONT | Bin 0 -> 5725 bytes .../MODERN10-MIR.MEDLEYINTERPRESSFONT | Bin 0 -> 5733 bytes .../MODERN10-MRR.MEDLEYINTERPRESSFONT | Bin 0 -> 7799 bytes .../MODERN12-BIR.MEDLEYINTERPRESSFONT | Bin 0 -> 5717 bytes .../MODERN12-BRR.MEDLEYINTERPRESSFONT | Bin 0 -> 5725 bytes .../MODERN12-MIR.MEDLEYINTERPRESSFONT | Bin 0 -> 5733 bytes .../MODERN12-MRR.MEDLEYINTERPRESSFONT | Bin 0 -> 22227 bytes .../MODERN14-BIR.MEDLEYINTERPRESSFONT | Bin 0 -> 5717 bytes .../MODERN14-BRR.MEDLEYINTERPRESSFONT | Bin 0 -> 5725 bytes .../MODERN14-MIR.MEDLEYINTERPRESSFONT | Bin 0 -> 5733 bytes .../MODERN14-MRR.MEDLEYINTERPRESSFONT | Bin 0 -> 7799 bytes .../MODERN18-BIR.MEDLEYINTERPRESSFONT | Bin 0 -> 5717 bytes .../MODERN18-BRR.MEDLEYINTERPRESSFONT | Bin 0 -> 5725 bytes .../MODERN18-MIR.MEDLEYINTERPRESSFONT | Bin 0 -> 5733 bytes .../MODERN18-MRR.MEDLEYINTERPRESSFONT | Bin 0 -> 7799 bytes .../MODERN24-BIR.MEDLEYINTERPRESSFONT | Bin 0 -> 5717 bytes .../MODERN24-BRR.MEDLEYINTERPRESSFONT | Bin 0 -> 5725 bytes .../MODERN24-MIR.MEDLEYINTERPRESSFONT | Bin 0 -> 5733 bytes .../MODERN24-MRR.MEDLEYINTERPRESSFONT | Bin 0 -> 7799 bytes .../MODERN30-BIR.MEDLEYINTERPRESSFONT | Bin 0 -> 5717 bytes .../MODERN30-BRR.MEDLEYINTERPRESSFONT | Bin 0 -> 5725 bytes .../MODERN30-MIR.MEDLEYINTERPRESSFONT | Bin 0 -> 5733 bytes .../MODERN30-MRR.MEDLEYINTERPRESSFONT | Bin 0 -> 6427 bytes .../MODERN36-BIR.MEDLEYINTERPRESSFONT | Bin 0 -> 5717 bytes .../MODERN36-BRR.MEDLEYINTERPRESSFONT | Bin 0 -> 5725 bytes .../MODERN36-MIR.MEDLEYINTERPRESSFONT | Bin 0 -> 5733 bytes .../MODERN36-MRR.MEDLEYINTERPRESSFONT | Bin 0 -> 6427 bytes .../OPTIMA06-BIR.MEDLEYINTERPRESSFONT | Bin 0 -> 7083 bytes .../OPTIMA06-BRR.MEDLEYINTERPRESSFONT | Bin 0 -> 7093 bytes .../OPTIMA06-MIR.MEDLEYINTERPRESSFONT | Bin 0 -> 7103 bytes .../OPTIMA06-MRR.MEDLEYINTERPRESSFONT | Bin 0 -> 7113 bytes .../OPTIMA07-BIR.MEDLEYINTERPRESSFONT | Bin 0 -> 7083 bytes .../OPTIMA07-BRR.MEDLEYINTERPRESSFONT | Bin 0 -> 7093 bytes .../OPTIMA07-MIR.MEDLEYINTERPRESSFONT | Bin 0 -> 7103 bytes .../OPTIMA07-MRR.MEDLEYINTERPRESSFONT | Bin 0 -> 7113 bytes .../OPTIMA08-BIR.MEDLEYINTERPRESSFONT | Bin 0 -> 7083 bytes .../OPTIMA08-BRR.MEDLEYINTERPRESSFONT | Bin 0 -> 7093 bytes .../OPTIMA08-MIR.MEDLEYINTERPRESSFONT | Bin 0 -> 7103 bytes .../OPTIMA08-MRR.MEDLEYINTERPRESSFONT | Bin 0 -> 7113 bytes .../OPTIMA09-BIR.MEDLEYINTERPRESSFONT | Bin 0 -> 7083 bytes .../OPTIMA09-BRR.MEDLEYINTERPRESSFONT | Bin 0 -> 7093 bytes .../OPTIMA09-MIR.MEDLEYINTERPRESSFONT | Bin 0 -> 7103 bytes .../OPTIMA09-MRR.MEDLEYINTERPRESSFONT | Bin 0 -> 7113 bytes .../OPTIMA10-BIR.MEDLEYINTERPRESSFONT | Bin 0 -> 7083 bytes .../OPTIMA10-BRR.MEDLEYINTERPRESSFONT | Bin 0 -> 7093 bytes .../OPTIMA10-MIR.MEDLEYINTERPRESSFONT | Bin 0 -> 7103 bytes .../OPTIMA10-MRR.MEDLEYINTERPRESSFONT | Bin 0 -> 7113 bytes .../OPTIMA11-BIR.MEDLEYINTERPRESSFONT | Bin 0 -> 7083 bytes .../OPTIMA11-BRR.MEDLEYINTERPRESSFONT | Bin 0 -> 7093 bytes .../OPTIMA11-MIR.MEDLEYINTERPRESSFONT | Bin 0 -> 7103 bytes .../OPTIMA11-MRR.MEDLEYINTERPRESSFONT | Bin 0 -> 7113 bytes .../OPTIMA12-BIR.MEDLEYINTERPRESSFONT | Bin 0 -> 7083 bytes .../OPTIMA12-BRR.MEDLEYINTERPRESSFONT | Bin 0 -> 7093 bytes .../OPTIMA12-MIR.MEDLEYINTERPRESSFONT | Bin 0 -> 7103 bytes .../OPTIMA12-MRR.MEDLEYINTERPRESSFONT | Bin 0 -> 7113 bytes .../OPTIMA14-BIR.MEDLEYINTERPRESSFONT | Bin 0 -> 7083 bytes .../OPTIMA14-BRR.MEDLEYINTERPRESSFONT | Bin 0 -> 7093 bytes .../OPTIMA14-MIR.MEDLEYINTERPRESSFONT | Bin 0 -> 7103 bytes .../OPTIMA14-MRR.MEDLEYINTERPRESSFONT | Bin 0 -> 7113 bytes .../OPTIMA18-BIR.MEDLEYINTERPRESSFONT | Bin 0 -> 7083 bytes .../OPTIMA18-BRR.MEDLEYINTERPRESSFONT | Bin 0 -> 7093 bytes .../OPTIMA18-MIR.MEDLEYINTERPRESSFONT | Bin 0 -> 7103 bytes .../OPTIMA18-MRR.MEDLEYINTERPRESSFONT | Bin 0 -> 7113 bytes .../OPTIMA24-BIR.MEDLEYINTERPRESSFONT | Bin 0 -> 7083 bytes .../OPTIMA24-BRR.MEDLEYINTERPRESSFONT | Bin 0 -> 7093 bytes .../OPTIMA24-MIR.MEDLEYINTERPRESSFONT | Bin 0 -> 7103 bytes .../OPTIMA24-MRR.MEDLEYINTERPRESSFONT | Bin 0 -> 7113 bytes .../TERMINAL06-BRR.MEDLEYINTERPRESSFONT | Bin 0 -> 8486 bytes .../TERMINAL06-MRR.MEDLEYINTERPRESSFONT | Bin 0 -> 9198 bytes .../TERMINAL08-BRR.MEDLEYINTERPRESSFONT | Bin 0 -> 8486 bytes .../TERMINAL08-MRR.MEDLEYINTERPRESSFONT | Bin 0 -> 8510 bytes .../TERMINAL10-BRR.MEDLEYINTERPRESSFONT | Bin 0 -> 8486 bytes .../TERMINAL10-MRR.MEDLEYINTERPRESSFONT | Bin 0 -> 8510 bytes .../TERMINAL12-BRR.MEDLEYINTERPRESSFONT | Bin 0 -> 9172 bytes .../TERMINAL12-MRR.MEDLEYINTERPRESSFONT | Bin 0 -> 9198 bytes .../TITAN10-BIR.MEDLEYINTERPRESSFONT | Bin 0 -> 6385 bytes .../TITAN10-BRR.MEDLEYINTERPRESSFONT | Bin 0 -> 6394 bytes .../TITAN10-MIR.MEDLEYINTERPRESSFONT | Bin 0 -> 5719 bytes .../TITAN10-MRR.MEDLEYINTERPRESSFONT | Bin 0 -> 6412 bytes .../TITAN12-BRR.MEDLEYINTERPRESSFONT | Bin 0 -> 6394 bytes .../TITAN12-MRR.MEDLEYINTERPRESSFONT | Bin 0 -> 6412 bytes 166 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 fonts/medleyinterpressfonts/BOLDPS10-BIR.MEDLEYINTERPRESSFONT create mode 100644 fonts/medleyinterpressfonts/BOLDPS10-BRR.MEDLEYINTERPRESSFONT create mode 100644 fonts/medleyinterpressfonts/BOLDPS10-MIR.MEDLEYINTERPRESSFONT create mode 100644 fonts/medleyinterpressfonts/BOLDPS10-MRR.MEDLEYINTERPRESSFONT create mode 100644 fonts/medleyinterpressfonts/CLASSIC06-BRR.MEDLEYINTERPRESSFONT create mode 100644 fonts/medleyinterpressfonts/CLASSIC06-MIR.MEDLEYINTERPRESSFONT create mode 100644 fonts/medleyinterpressfonts/CLASSIC06-MRR.MEDLEYINTERPRESSFONT create mode 100644 fonts/medleyinterpressfonts/CLASSIC08-BRR.MEDLEYINTERPRESSFONT create mode 100644 fonts/medleyinterpressfonts/CLASSIC08-MIR.MEDLEYINTERPRESSFONT create mode 100644 fonts/medleyinterpressfonts/CLASSIC08-MRR.MEDLEYINTERPRESSFONT create mode 100644 fonts/medleyinterpressfonts/CLASSIC10-BRR.MEDLEYINTERPRESSFONT create mode 100644 fonts/medleyinterpressfonts/CLASSIC10-MIR.MEDLEYINTERPRESSFONT create mode 100644 fonts/medleyinterpressfonts/CLASSIC10-MRR.MEDLEYINTERPRESSFONT create mode 100644 fonts/medleyinterpressfonts/CLASSIC12-BRR.MEDLEYINTERPRESSFONT create mode 100644 fonts/medleyinterpressfonts/CLASSIC12-MIR.MEDLEYINTERPRESSFONT create mode 100644 fonts/medleyinterpressfonts/CLASSIC12-MRR.MEDLEYINTERPRESSFONT create mode 100644 fonts/medleyinterpressfonts/CLASSIC14-BRR.MEDLEYINTERPRESSFONT create mode 100644 fonts/medleyinterpressfonts/CLASSIC14-MIR.MEDLEYINTERPRESSFONT create mode 100644 fonts/medleyinterpressfonts/CLASSIC14-MRR.MEDLEYINTERPRESSFONT create mode 100644 fonts/medleyinterpressfonts/CLASSIC18-BRR.MEDLEYINTERPRESSFONT create mode 100644 fonts/medleyinterpressfonts/CLASSIC18-MIR.MEDLEYINTERPRESSFONT create mode 100644 fonts/medleyinterpressfonts/CLASSIC18-MRR.MEDLEYINTERPRESSFONT create mode 100644 fonts/medleyinterpressfonts/CLASSIC24-BRR.MEDLEYINTERPRESSFONT create mode 100644 fonts/medleyinterpressfonts/CLASSIC24-MIR.MEDLEYINTERPRESSFONT create mode 100644 fonts/medleyinterpressfonts/CLASSIC24-MRR.MEDLEYINTERPRESSFONT create mode 100644 fonts/medleyinterpressfonts/CLASSICTHIN16-BRR.MEDLEYINTERPRESSFONT create mode 100644 fonts/medleyinterpressfonts/CLASSICTHIN16-MRR.MEDLEYINTERPRESSFONT create mode 100644 fonts/medleyinterpressfonts/CLASSICTHIN20-BRR.MEDLEYINTERPRESSFONT create mode 100644 fonts/medleyinterpressfonts/CLASSICTHIN20-MRR.MEDLEYINTERPRESSFONT create mode 100644 fonts/medleyinterpressfonts/CLASSICTHIN26-BRR.MEDLEYINTERPRESSFONT create mode 100644 fonts/medleyinterpressfonts/CLASSICTHIN26-MRR.MEDLEYINTERPRESSFONT create mode 100644 fonts/medleyinterpressfonts/CLASSICTHIN30-BRR.MEDLEYINTERPRESSFONT create mode 100644 fonts/medleyinterpressfonts/CLASSICTHIN30-MRR.MEDLEYINTERPRESSFONT create mode 100644 fonts/medleyinterpressfonts/HELVETICA06-BIR.MEDLEYINTERPRESSFONT create mode 100644 fonts/medleyinterpressfonts/HELVETICA06-BRR.MEDLEYINTERPRESSFONT create mode 100644 fonts/medleyinterpressfonts/HELVETICA06-MIR.MEDLEYINTERPRESSFONT create mode 100644 fonts/medleyinterpressfonts/HELVETICA06-MRR.MEDLEYINTERPRESSFONT create mode 100644 fonts/medleyinterpressfonts/HELVETICA07-BIR.MEDLEYINTERPRESSFONT create mode 100644 fonts/medleyinterpressfonts/HELVETICA07-BRR.MEDLEYINTERPRESSFONT create mode 100644 fonts/medleyinterpressfonts/HELVETICA07-MIR.MEDLEYINTERPRESSFONT create mode 100644 fonts/medleyinterpressfonts/HELVETICA07-MRR.MEDLEYINTERPRESSFONT create mode 100644 fonts/medleyinterpressfonts/HELVETICA08-BIR.MEDLEYINTERPRESSFONT create mode 100644 fonts/medleyinterpressfonts/HELVETICA08-BRR.MEDLEYINTERPRESSFONT create mode 100644 fonts/medleyinterpressfonts/HELVETICA08-MIR.MEDLEYINTERPRESSFONT create mode 100644 fonts/medleyinterpressfonts/HELVETICA08-MRR.MEDLEYINTERPRESSFONT create mode 100644 fonts/medleyinterpressfonts/HELVETICA09-BIR.MEDLEYINTERPRESSFONT create mode 100644 fonts/medleyinterpressfonts/HELVETICA09-BRR.MEDLEYINTERPRESSFONT create mode 100644 fonts/medleyinterpressfonts/HELVETICA09-MIR.MEDLEYINTERPRESSFONT create mode 100644 fonts/medleyinterpressfonts/HELVETICA09-MRR.MEDLEYINTERPRESSFONT create mode 100644 fonts/medleyinterpressfonts/HELVETICA10-BIR.MEDLEYINTERPRESSFONT create mode 100644 fonts/medleyinterpressfonts/HELVETICA10-BRR.MEDLEYINTERPRESSFONT create mode 100644 fonts/medleyinterpressfonts/HELVETICA10-MIR.MEDLEYINTERPRESSFONT create mode 100644 fonts/medleyinterpressfonts/HELVETICA10-MRR.MEDLEYINTERPRESSFONT create mode 100644 fonts/medleyinterpressfonts/HELVETICA11-BIR.MEDLEYINTERPRESSFONT create mode 100644 fonts/medleyinterpressfonts/HELVETICA11-BRR.MEDLEYINTERPRESSFONT create mode 100644 fonts/medleyinterpressfonts/HELVETICA11-MIR.MEDLEYINTERPRESSFONT create mode 100644 fonts/medleyinterpressfonts/HELVETICA11-MRR.MEDLEYINTERPRESSFONT create mode 100644 fonts/medleyinterpressfonts/HELVETICA12-BIR.MEDLEYINTERPRESSFONT create mode 100644 fonts/medleyinterpressfonts/HELVETICA12-BRR.MEDLEYINTERPRESSFONT create mode 100644 fonts/medleyinterpressfonts/HELVETICA12-MIR.MEDLEYINTERPRESSFONT create mode 100644 fonts/medleyinterpressfonts/HELVETICA12-MRR.MEDLEYINTERPRESSFONT create mode 100644 fonts/medleyinterpressfonts/HELVETICA14-BIR.MEDLEYINTERPRESSFONT create mode 100644 fonts/medleyinterpressfonts/HELVETICA14-BRR.MEDLEYINTERPRESSFONT create mode 100644 fonts/medleyinterpressfonts/HELVETICA14-MIR.MEDLEYINTERPRESSFONT create mode 100644 fonts/medleyinterpressfonts/HELVETICA14-MRR.MEDLEYINTERPRESSFONT create mode 100644 fonts/medleyinterpressfonts/HELVETICA18-BIR.MEDLEYINTERPRESSFONT create mode 100644 fonts/medleyinterpressfonts/HELVETICA18-BRR.MEDLEYINTERPRESSFONT create mode 100644 fonts/medleyinterpressfonts/HELVETICA18-MIR.MEDLEYINTERPRESSFONT create mode 100644 fonts/medleyinterpressfonts/HELVETICA18-MRR.MEDLEYINTERPRESSFONT create mode 100644 fonts/medleyinterpressfonts/HELVETICA24-BIR.MEDLEYINTERPRESSFONT create mode 100644 fonts/medleyinterpressfonts/HELVETICA24-BRR.MEDLEYINTERPRESSFONT create mode 100644 fonts/medleyinterpressfonts/HELVETICA24-MIR.MEDLEYINTERPRESSFONT create mode 100644 fonts/medleyinterpressfonts/HELVETICA24-MRR.MEDLEYINTERPRESSFONT create mode 100644 fonts/medleyinterpressfonts/LETTERGOTHIC10-BRR.MEDLEYINTERPRESSFONT create mode 100644 fonts/medleyinterpressfonts/LETTERGOTHIC10-MRR.MEDLEYINTERPRESSFONT create mode 100644 fonts/medleyinterpressfonts/LOGO24-MRR.MEDLEYINTERPRESSFONT create mode 100644 fonts/medleyinterpressfonts/MODERN06-BIR.MEDLEYINTERPRESSFONT create mode 100644 fonts/medleyinterpressfonts/MODERN06-BRR.MEDLEYINTERPRESSFONT create mode 100644 fonts/medleyinterpressfonts/MODERN06-MIR.MEDLEYINTERPRESSFONT create mode 100644 fonts/medleyinterpressfonts/MODERN06-MRR.MEDLEYINTERPRESSFONT create mode 100644 fonts/medleyinterpressfonts/MODERN08-BIR.MEDLEYINTERPRESSFONT create mode 100644 fonts/medleyinterpressfonts/MODERN08-BRR.MEDLEYINTERPRESSFONT create mode 100644 fonts/medleyinterpressfonts/MODERN08-MIR.MEDLEYINTERPRESSFONT create mode 100644 fonts/medleyinterpressfonts/MODERN08-MRR.MEDLEYINTERPRESSFONT create mode 100644 fonts/medleyinterpressfonts/MODERN10-BIR.MEDLEYINTERPRESSFONT create mode 100644 fonts/medleyinterpressfonts/MODERN10-BRR.MEDLEYINTERPRESSFONT create mode 100644 fonts/medleyinterpressfonts/MODERN10-MIR.MEDLEYINTERPRESSFONT create mode 100644 fonts/medleyinterpressfonts/MODERN10-MRR.MEDLEYINTERPRESSFONT create mode 100644 fonts/medleyinterpressfonts/MODERN12-BIR.MEDLEYINTERPRESSFONT create mode 100644 fonts/medleyinterpressfonts/MODERN12-BRR.MEDLEYINTERPRESSFONT create mode 100644 fonts/medleyinterpressfonts/MODERN12-MIR.MEDLEYINTERPRESSFONT create mode 100644 fonts/medleyinterpressfonts/MODERN12-MRR.MEDLEYINTERPRESSFONT create mode 100644 fonts/medleyinterpressfonts/MODERN14-BIR.MEDLEYINTERPRESSFONT create mode 100644 fonts/medleyinterpressfonts/MODERN14-BRR.MEDLEYINTERPRESSFONT create mode 100644 fonts/medleyinterpressfonts/MODERN14-MIR.MEDLEYINTERPRESSFONT create mode 100644 fonts/medleyinterpressfonts/MODERN14-MRR.MEDLEYINTERPRESSFONT create mode 100644 fonts/medleyinterpressfonts/MODERN18-BIR.MEDLEYINTERPRESSFONT create mode 100644 fonts/medleyinterpressfonts/MODERN18-BRR.MEDLEYINTERPRESSFONT create mode 100644 fonts/medleyinterpressfonts/MODERN18-MIR.MEDLEYINTERPRESSFONT create mode 100644 fonts/medleyinterpressfonts/MODERN18-MRR.MEDLEYINTERPRESSFONT create mode 100644 fonts/medleyinterpressfonts/MODERN24-BIR.MEDLEYINTERPRESSFONT create mode 100644 fonts/medleyinterpressfonts/MODERN24-BRR.MEDLEYINTERPRESSFONT create mode 100644 fonts/medleyinterpressfonts/MODERN24-MIR.MEDLEYINTERPRESSFONT create mode 100644 fonts/medleyinterpressfonts/MODERN24-MRR.MEDLEYINTERPRESSFONT create mode 100644 fonts/medleyinterpressfonts/MODERN30-BIR.MEDLEYINTERPRESSFONT create mode 100644 fonts/medleyinterpressfonts/MODERN30-BRR.MEDLEYINTERPRESSFONT create mode 100644 fonts/medleyinterpressfonts/MODERN30-MIR.MEDLEYINTERPRESSFONT create mode 100644 fonts/medleyinterpressfonts/MODERN30-MRR.MEDLEYINTERPRESSFONT create mode 100644 fonts/medleyinterpressfonts/MODERN36-BIR.MEDLEYINTERPRESSFONT create mode 100644 fonts/medleyinterpressfonts/MODERN36-BRR.MEDLEYINTERPRESSFONT create mode 100644 fonts/medleyinterpressfonts/MODERN36-MIR.MEDLEYINTERPRESSFONT create mode 100644 fonts/medleyinterpressfonts/MODERN36-MRR.MEDLEYINTERPRESSFONT create mode 100644 fonts/medleyinterpressfonts/OPTIMA06-BIR.MEDLEYINTERPRESSFONT create mode 100644 fonts/medleyinterpressfonts/OPTIMA06-BRR.MEDLEYINTERPRESSFONT create mode 100644 fonts/medleyinterpressfonts/OPTIMA06-MIR.MEDLEYINTERPRESSFONT create mode 100644 fonts/medleyinterpressfonts/OPTIMA06-MRR.MEDLEYINTERPRESSFONT create mode 100644 fonts/medleyinterpressfonts/OPTIMA07-BIR.MEDLEYINTERPRESSFONT create mode 100644 fonts/medleyinterpressfonts/OPTIMA07-BRR.MEDLEYINTERPRESSFONT create mode 100644 fonts/medleyinterpressfonts/OPTIMA07-MIR.MEDLEYINTERPRESSFONT create mode 100644 fonts/medleyinterpressfonts/OPTIMA07-MRR.MEDLEYINTERPRESSFONT create mode 100644 fonts/medleyinterpressfonts/OPTIMA08-BIR.MEDLEYINTERPRESSFONT create mode 100644 fonts/medleyinterpressfonts/OPTIMA08-BRR.MEDLEYINTERPRESSFONT create mode 100644 fonts/medleyinterpressfonts/OPTIMA08-MIR.MEDLEYINTERPRESSFONT create mode 100644 fonts/medleyinterpressfonts/OPTIMA08-MRR.MEDLEYINTERPRESSFONT create mode 100644 fonts/medleyinterpressfonts/OPTIMA09-BIR.MEDLEYINTERPRESSFONT create mode 100644 fonts/medleyinterpressfonts/OPTIMA09-BRR.MEDLEYINTERPRESSFONT create mode 100644 fonts/medleyinterpressfonts/OPTIMA09-MIR.MEDLEYINTERPRESSFONT create mode 100644 fonts/medleyinterpressfonts/OPTIMA09-MRR.MEDLEYINTERPRESSFONT create mode 100644 fonts/medleyinterpressfonts/OPTIMA10-BIR.MEDLEYINTERPRESSFONT create mode 100644 fonts/medleyinterpressfonts/OPTIMA10-BRR.MEDLEYINTERPRESSFONT create mode 100644 fonts/medleyinterpressfonts/OPTIMA10-MIR.MEDLEYINTERPRESSFONT create mode 100644 fonts/medleyinterpressfonts/OPTIMA10-MRR.MEDLEYINTERPRESSFONT create mode 100644 fonts/medleyinterpressfonts/OPTIMA11-BIR.MEDLEYINTERPRESSFONT create mode 100644 fonts/medleyinterpressfonts/OPTIMA11-BRR.MEDLEYINTERPRESSFONT create mode 100644 fonts/medleyinterpressfonts/OPTIMA11-MIR.MEDLEYINTERPRESSFONT create mode 100644 fonts/medleyinterpressfonts/OPTIMA11-MRR.MEDLEYINTERPRESSFONT create mode 100644 fonts/medleyinterpressfonts/OPTIMA12-BIR.MEDLEYINTERPRESSFONT create mode 100644 fonts/medleyinterpressfonts/OPTIMA12-BRR.MEDLEYINTERPRESSFONT create mode 100644 fonts/medleyinterpressfonts/OPTIMA12-MIR.MEDLEYINTERPRESSFONT create mode 100644 fonts/medleyinterpressfonts/OPTIMA12-MRR.MEDLEYINTERPRESSFONT create mode 100644 fonts/medleyinterpressfonts/OPTIMA14-BIR.MEDLEYINTERPRESSFONT create mode 100644 fonts/medleyinterpressfonts/OPTIMA14-BRR.MEDLEYINTERPRESSFONT create mode 100644 fonts/medleyinterpressfonts/OPTIMA14-MIR.MEDLEYINTERPRESSFONT create mode 100644 fonts/medleyinterpressfonts/OPTIMA14-MRR.MEDLEYINTERPRESSFONT create mode 100644 fonts/medleyinterpressfonts/OPTIMA18-BIR.MEDLEYINTERPRESSFONT create mode 100644 fonts/medleyinterpressfonts/OPTIMA18-BRR.MEDLEYINTERPRESSFONT create mode 100644 fonts/medleyinterpressfonts/OPTIMA18-MIR.MEDLEYINTERPRESSFONT create mode 100644 fonts/medleyinterpressfonts/OPTIMA18-MRR.MEDLEYINTERPRESSFONT create mode 100644 fonts/medleyinterpressfonts/OPTIMA24-BIR.MEDLEYINTERPRESSFONT create mode 100644 fonts/medleyinterpressfonts/OPTIMA24-BRR.MEDLEYINTERPRESSFONT create mode 100644 fonts/medleyinterpressfonts/OPTIMA24-MIR.MEDLEYINTERPRESSFONT create mode 100644 fonts/medleyinterpressfonts/OPTIMA24-MRR.MEDLEYINTERPRESSFONT create mode 100644 fonts/medleyinterpressfonts/TERMINAL06-BRR.MEDLEYINTERPRESSFONT create mode 100644 fonts/medleyinterpressfonts/TERMINAL06-MRR.MEDLEYINTERPRESSFONT create mode 100644 fonts/medleyinterpressfonts/TERMINAL08-BRR.MEDLEYINTERPRESSFONT create mode 100644 fonts/medleyinterpressfonts/TERMINAL08-MRR.MEDLEYINTERPRESSFONT create mode 100644 fonts/medleyinterpressfonts/TERMINAL10-BRR.MEDLEYINTERPRESSFONT create mode 100644 fonts/medleyinterpressfonts/TERMINAL10-MRR.MEDLEYINTERPRESSFONT create mode 100644 fonts/medleyinterpressfonts/TERMINAL12-BRR.MEDLEYINTERPRESSFONT create mode 100644 fonts/medleyinterpressfonts/TERMINAL12-MRR.MEDLEYINTERPRESSFONT create mode 100644 fonts/medleyinterpressfonts/TITAN10-BIR.MEDLEYINTERPRESSFONT create mode 100644 fonts/medleyinterpressfonts/TITAN10-BRR.MEDLEYINTERPRESSFONT create mode 100644 fonts/medleyinterpressfonts/TITAN10-MIR.MEDLEYINTERPRESSFONT create mode 100644 fonts/medleyinterpressfonts/TITAN10-MRR.MEDLEYINTERPRESSFONT create mode 100644 fonts/medleyinterpressfonts/TITAN12-BRR.MEDLEYINTERPRESSFONT create mode 100644 fonts/medleyinterpressfonts/TITAN12-MRR.MEDLEYINTERPRESSFONT diff --git a/fonts/medleyinterpressfonts/BOLDPS10-BIR.MEDLEYINTERPRESSFONT b/fonts/medleyinterpressfonts/BOLDPS10-BIR.MEDLEYINTERPRESSFONT new file mode 100644 index 0000000000000000000000000000000000000000..f2cffc64a28e8654707e143a1e1c0bbb609f53d2 GIT binary patch literal 5033 zcmeHL&2AGh5cU=cDkC9ygH_Z+gH+UPT3UKryiQ`VSueIzT5d>`69NugIOWn;K_c%H zj(rg%3Nz!~?rzJE8YNUg*;Ur|jOX(=`j(RTDWjJgM%=%BOP;@SFLbnM&~wUnM(OEJ`#i2Sn0xm{ostP16JWy+|4%lbWO#4^?^`vZp#ta&KqVO9}X#KzcDEZ=yO> zE>4vQjqH!o*tAI>TOl)`6Fi_{B8xH0X*`gsKS1>>ZnTRX`W`TL*%Rbu(^3D0O56Zu zw>gf4RasA0?42G8VS5n0qYdoqL>7yp|2CH*vRzsAATQL zBv;!6;ws`)hIhKVkD|T3y?r05_^^+=Q~5v<2Z_vps>=Gn8~AVdz{EC{J@-tStk_(Y zCCW(QilOJ?c)8)J78E`U+kQJ|H~y@DyKxFD0;>otRRr#SX6)W`Px=1$S*Z&+AzIrl z?vF=*GOb%Zf|GrI=U;jJa5~Oxc#E-MZC1t?c4IbX6L!wN1}12;5sb!c3NK3WhyBZM zIS1rqbsn_A_MG_^>~Vw|YVkWoT_t0ufP8ud*RST$$AP)fPhd9b2npFBNBqs>@%|!b zMu?+^*JmK}?^$4JO|J)U;Y9|ezHFNkWJr<0&eaEEWI;-v1e>TQN#Pkvh!-lxfP)V* zZFtU)i;Tc)ymtH7Z~iiQC{w%LrA$@we#XyaM!S{STqAJpRE@g(|5>iCGI6dMwK%XD za`nlQ<|hLOQd)XjyiT%WvtF&8&~ihfoDgu}!YR*__bHD< zVSd)xZA7c2iU>jRs-1XExS=llCU-??3LA<%&EzOPSHrlp+J%AmC53oE7Kxsu3Xsy= z>9Q!bwGtO9Gb%Febis>Rq)VlfhNK^l((ED>uT7Q|yw0ZYG~i1D>Bort4Ao(&2jeU* zecvX7*eaa^pJ1P+iLU0Np!razgCVNl%hI^mq4R+di>@F!n~eu=)5HzIx-D_0Y?}8? zP2ZW3QnnA_J3qj&Np!U-2EZ0tg|ajEB_b!fx3cdMk>eY2v(8k(;RE2%E*t}qRdJ@n z$KB%>(aFilDF-W_4DftvCn)A1(K&EU^8pYC2M#zgvCVYfz0qY}9dDW^X{nW~rp(1j zf8?1_6h8|G|ELrjZ+kyCPGLu27lEycz>}E}PbW-y|KWY9E4U$AM=i#(){Nn9 zU*iSn?;lC`nGJz%@Zi3b=j*0oDrVwZ{0MB&7Gs!A#T9%g#UC6me%=P;wCXx&!`f@X zJ*>wWYN*HGSE#FH75XAB@5boUz|Qxb0T0p<60SlUiordS_0_f}E57x0V*1gH-lFGA zMQgoA)AhnFfd+3by~RtI{zE2Mg-}~PS$pt5k8Lbju|%Q|{iY(5Bj8IVF3nI@g{D$t z$Au#c7E)|pepT4>!mF{I_wyRx-!S+a6JK)TUO4uRN33O?*ZBSp|0|ptyTu+H?#QgvO literal 0 HcmV?d00001 diff --git a/fonts/medleyinterpressfonts/BOLDPS10-MIR.MEDLEYINTERPRESSFONT b/fonts/medleyinterpressfonts/BOLDPS10-MIR.MEDLEYINTERPRESSFONT new file mode 100644 index 0000000000000000000000000000000000000000..57bd3f3f4d9e6ebf7694b6fc42bbdb020f9c16f3 GIT binary patch literal 5047 zcmeHL&2AGh5cU>{A0r|44OUSP4N_6FNonbA@j8jc{>gSq3nwJX2|*8BIOWoZAqU>3 z9Q!JTnelFSx8X+#2~|+m%G#c>$KQOOwMR)#-@ZTn?7#c?;S)cS+Ndn`S*z3HQD`N! z{N9c^J=+O(gQtGbJ?sRBonDJ)b|`f}OKq;R-1sb2F;Bu{F$}el*7w+V&e(><5s^Gn z0xYT2N}X$I3`eoZl024H=5DeRNiAellk~$x#V0;{p2bn_<{9-$f_+X#`XO50PGqD; ziLY!JE8%N77{#G((}>UrnF1hhle&>C`YfmZP^!TY)o-}YY-rJYkFlG+AUYF|1}{}) zhcLR$u_ug5`&otGW{D7{5Bwc(VLOXtu_!WNaw&Y?xppQXFS@^m-y+U@X_V@P>99`kj0C%YJf>;NMOaZJ)2Y?(r*mBf_CYF8sLh7{G zV3kHnOJR$y!(w^4>2W5AKm%KU*RorG9^5*DHGnk(tHr>>uZ%r$8=OR=n=3$ox{UI)Mx7f<30|Zh1sEE#p<{F2!+EvE&}CO4sp{msyti*`u`w|9q@u z+KOos7330IC8tHprDrH~NmHrD8WYSiuFAU5yV;fP%5L32wQ?;zs}J}W?JC`L31_*c kOAVbCWsOvk2K~nWVsvGDdbYFazR;iBr$zq!nk8C)047n)%>V!Z literal 0 HcmV?d00001 diff --git a/fonts/medleyinterpressfonts/BOLDPS10-MRR.MEDLEYINTERPRESSFONT b/fonts/medleyinterpressfonts/BOLDPS10-MRR.MEDLEYINTERPRESSFONT new file mode 100644 index 0000000000000000000000000000000000000000..79c5fd1638d4604189215f3683f620681cb89c2a GIT binary patch literal 5054 zcmeHL&2AGh5cU>{A0vVK2CJwCf>hLOT3UKryiQ`VyI!rG&~gHaazc~?7fyMe9C?@W zI)$0>I=hV^RicC{D2^JB=jZdxcwU3~m}@jd)>`Q;lQ$Skv0t2FV5J`2sIKpQUZ`v zZe>}N(io0xp|c{DRu<0Kv1BP^(%|&sOr_@`d#%%?aCSz$lYq|&q!%OdvrHyxn1!Y6 z57W5xbDLCRBV-O91-rCNWVL1mtp`%|2Ppo)OKoF|;RlS(27~UIbl88Z5<39xHpi7P zD(~q!0IM@0Ob-%xwuiJ%WVI=#z!Xx1yfcj^qAu^m7%%#S0z+7$Od7 zFOS^t5j;X&Cx>X^gZd2(qHl5#XRe=sT4_LZFd%CfISu4EE-c67A?Q*ToC1CG^Qt27 zF>mw$&G+9I4;5<{x|+?b)<)C|laqxlwgzj+z{1rUbx;1ka@`i=8cJ&&kV};7tIaJ} zeDUkj^wfl2r045M?=6_)TjZ-3!^=xA^6HV-iHN-jjm69L5dQzMq0Im`nABuK=zhj5 zR4tQh(U4Ik2gz!<2GT8Nip*Kp*wY5g+tOU`Jl*ex{GTj*>xr8o?T4eB)XBWW&vW9h YaBA!t*IPTxddEL&G`0UiFH)|*0o|*}i2wiq literal 0 HcmV?d00001 diff --git a/fonts/medleyinterpressfonts/CLASSIC06-BRR.MEDLEYINTERPRESSFONT b/fonts/medleyinterpressfonts/CLASSIC06-BRR.MEDLEYINTERPRESSFONT new file mode 100644 index 0000000000000000000000000000000000000000..79814f8ef60847f9f7aff5b140e4f4b5602b4bce GIT binary patch literal 6418 zcmeGg%Wl&^a9X4SMnXbJoUNz_Kq_q>ebAnay>ToYJMwNz+e1$+hX?@&6p3r^`GDTZ zkwY$=`T=}^@9-xuv+Jqdl1juy6w~Y~nc11y*_qkNc%1Ih;hUq6_Um_VKUg~=kwF~U zP^;H0&rt#~yR{^b-Y+#)8f$i=xmj;)*4JuQtU4lT$C2tKaZlP11)!0*@^JCLnmSQL<>056%iRU(o0Y9dRebKBJexJPOT(Xjw0{p051AM z*2!?&e-(JDg92lVR;~=9cAVR<;;!q;HpXvvk?`0P*`X8x*%Pj9)pKVWsA$1zUTS_z zTe5mCa#F=vc+3@;;F5WTi_q4(PAKf#&DCd(_4V})%LHS`ryI(>&{0Q3l1VLNQA4hrLjd>eCc8A>Htc-`UM5oKJKCg_dZ{{88ZWB5vWWA z?(YLUxC8L;3&5kpvSzzjA!;i%%M?gcneNDV8>{=DtbkmAEM3r~eG6c2zO2n>`<7t~ z`Y?h4jBzf5kFyUcQhoevA^q1$^i)rh9OLeh{yxF)Q#gPj!V}FQ9_bz8nqaDBhg!Ee zrw_--9q3P@ak79UzT!9WhGn~HkARv1ee0t=#=jI#O2NaK zBB!tYHhdEmk|*nm(@@fkMwXH6n2?EsG@J2V1Bw!lAtI;Q!bi_(93#bG8N=GkGJ+oE zg$|(j^ylQ!x!P=2G+8r;O94OI#junT++;3?(t}dd3`*I{24CN0{2NA}K3Q88PS*UF ze8aB!|8RHeWNkDzDx9s8FKw2?ljHKwQA=d&^U7vx-l-1oBB&2ba8f@yfTz0m;)gPK za&%ve7a{d?q=6pi!wVABvrd}D{R4dX5A?~@E7Grp`d`*WogvXoyI}aZyz=0#+$f^% zl0K%}HXSEPkVj-c_0b3C&MbPscu|09MOfsQ#mOo?rq9+^Ro}4yKEXGfdBa#Xdb54k z6oC@iihn9s@*e@JBxX{q3F9%+2)*qy#vFzRSY^1*Fl3(5lk3j)vIN2WWK+?KyuXFh xe+)EfFeKbmE>n5)HDNsHnZvJw44G$M7IWR_-r-qD*9d;CWO&B>U1XYU{Rz!GPcHxf literal 0 HcmV?d00001 diff --git a/fonts/medleyinterpressfonts/CLASSIC06-MIR.MEDLEYINTERPRESSFONT b/fonts/medleyinterpressfonts/CLASSIC06-MIR.MEDLEYINTERPRESSFONT new file mode 100644 index 0000000000000000000000000000000000000000..6a320bfa01c4ade4d4120ebef4150801c091a34f GIT binary patch literal 5741 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 literal 0 HcmV?d00001 diff --git a/fonts/medleyinterpressfonts/CLASSIC08-MRR.MEDLEYINTERPRESSFONT b/fonts/medleyinterpressfonts/CLASSIC08-MRR.MEDLEYINTERPRESSFONT new file mode 100644 index 0000000000000000000000000000000000000000..a241ebe2da49a8a15ae2bbf991c745b7c0722bb1 GIT binary patch literal 55916 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 literal 0 HcmV?d00001 diff --git a/fonts/medleyinterpressfonts/CLASSIC10-MRR.MEDLEYINTERPRESSFONT b/fonts/medleyinterpressfonts/CLASSIC10-MRR.MEDLEYINTERPRESSFONT new file mode 100644 index 0000000000000000000000000000000000000000..43437104b9e0338dc9924616104b871dfadec013 GIT binary patch literal 55916 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 literal 0 HcmV?d00001 diff --git a/fonts/medleyinterpressfonts/CLASSIC12-MIR.MEDLEYINTERPRESSFONT b/fonts/medleyinterpressfonts/CLASSIC12-MIR.MEDLEYINTERPRESSFONT new file mode 100644 index 0000000000000000000000000000000000000000..4fad06abc6953b181b51f346a1218cbe9d4b5515 GIT binary patch literal 5741 zcmeGg%We}f&<+xh1%VJJdRj$2z@ezww6yfLc%8&zvm33Q&~m7HXgML^fU5Elpd_7$Mec~-1gDoyQ9zk+Yj$Qc|DnFl_ox`)~a3< z8VMtRV@)4@TnpBN=YCM%sRcVhz3Qc=C9_7Fm`;{=mTGAWEhtt`gN-5#fcEU3ZxH+$^LzdJXsT!d=@t}U=o7P$M3vHJ&% zJ$%5}qwlkdE+9ix*Q=h*kTx^j)@c{=`&?6Co`F2dXxfJ#Jg>|ubg^%r4cL$?Hs%NX zgzd9F;3Iyye?uK--(r@#@RqP|Ahsl|x5J!eGx zhoH$2&K?55-VSVm~yY$fcPGY^YcwZs)^x?X(u%#>GkNFp96;~K7 zp4 z3kbmL3!0_musr`y#`#+k4=XYjjPahq9-AEzD0O%X^&Or=hvu)M;=Og@s}Pe!o+ffw L;{S)kX~OjCWVOCr8*quAqk2 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 literal 0 HcmV?d00001 diff --git a/fonts/medleyinterpressfonts/CLASSIC14-BRR.MEDLEYINTERPRESSFONT b/fonts/medleyinterpressfonts/CLASSIC14-BRR.MEDLEYINTERPRESSFONT new file mode 100644 index 0000000000000000000000000000000000000000..fecc4a929f5ba979f892254b8f19a16023daffcd GIT binary patch literal 6418 zcmeGgv2GJF)D9AqE2=~jF`uFiFtkc9EiK)SJ14Pnxr@$jX}i+U1r;P%5KHOUZ-_Ex zVSji3z0fC8@y-V#?1KR>;*U27b?ZG1A{ygT}6?66Sq zz&A;LHE+1KWPq7#%cAjq*(zAiO{=)IYHeBTc_WY&7M22E*2ADKOyYCTsM)(t#SR6N zCM7=%LNXF1T(-j<(8PVo!g|PrFp%s7wYtY7tLwp<#6pL;1C)|o z!E#u^l6H+PJXVrb7W&Z!bKm75b7a)jwn!u1bT4p}0|jjTeM$a#c{s#^`L9D5GxE#> z|G5Vi_6d1BM@aS?Ax{n_b%p~OB45ZGIzj5pG$(>>$nLk90pkQ@sDviWdxX%;q&D}* z9g$OVO;2c!wrGnSkv2e&UIDcY-zm^ptO(E_aLcc3A!N_qh2s&@vI0`%I-(q4ZRe}cqo%z_fscnYh^ zsnwy@Hmnkgs(auM^bGP9D0#GQ5Ks$xP}6Ym$fEV5NahjN=p}5iP!8Xj#=(+;q7^83 zA)=|q*oz_pf8_%wfWg0i96Tyki^VAo*1=V$#oK8I+>U&I`))_w)N4r}tS_cDSZR|U z12j~9OuLlR4nPy2tJ+SVj~H^g02lD#D8NVWHeEr0?7c#>03E#m#Ar)?toF{zk(jX7sz^feE5@YIAFJQoV+AS`NIA=eBbI zJdftcYjyS-xhdmEHRQ?WC{=3yQ34SUbMhEsV~gMkbZp@}BZz-0ZA|)TU7OZB7NK7< z^O<>dm$@@LF*78M2PTMCcvPOs7XiG1DnS1r7W;{wC<@--BP{0h+e?C=OWa0XttZi) z=MJhtg2dttV;Ls}Fw6yfL@;Zs>W;a?pq2B?`F3=DiWeriE1mh$79dVt25&^5B6Uld~jdA>ArV5GSMoI zTvlEyJArQ`tlae#eeib0t9Vabue!bFZF?JKCpHb4)Z)mrlDMT^7OBu_`n#gxCt4bp zvmXv)3mrTW$c_>~Nkv8`twd_=;I@dHtxy`-vX||aOoR*yJ2k(l!abLX(AQcCx~SC) z2_IM_pyng#M@<>1cGFeH50!8eS#O7a@|aHeTF3}E;vWeNWD2u)1UICrHxT{JNn+z0 z6rVHpt1!r(4%_wTDliQ=-E$BUT1B-u7r?|#A#@ECxVwz&IFRW_Q3bjsh3l;4(s(3B z_3!+z6Du1Rbf-<6D##kasu%eyn1a|9ekk2L)s0neb8~acvD)a=(MGu#q<7en5pb)b zI|rcOgBpx~yTh)%-Me+|EZi_~qk);y z!2M5*Exu&z;RD8&K2OTJfCy2plpPx(ZDhKu<2JOW5<(l_YgXcJ1`!z0k6Qk!%u-C&OI6r z2|Be9(YD_iB7JtoE9?xYmS9HeCHS4dI>izWp&lDThm*wVa3sb5EC#8BOF#rEc7Z<1 zbxuSQ&Z@T-q#k=Y82iRlE?BEhh16US8QWXE>ek%3s|_l1Vb3`i zVgh%4I=k+Q)xdy#hwO(L<_vz2jVT+J*gj>nOU*q!x4xL+F8%0KkyMRLmEu(p<4YW? z7ii-x-=u8cq9U!Ygg!pLgiW}G1nOyI8Y@4DH1X<=ng9qogw%ucq#r&ko!`lE_J zJHRL^XZ33~r&xG#LCb09bo1+gKgMo%vbl)Aigo(VqPNS1IE#4(vki8;qNy-o7V4*P dHm6|rDjL1F{`e}yAd!WMY%b9M$K^Qg`V$BP>P!Ft literal 0 HcmV?d00001 diff --git a/fonts/medleyinterpressfonts/CLASSIC14-MRR.MEDLEYINTERPRESSFONT b/fonts/medleyinterpressfonts/CLASSIC14-MRR.MEDLEYINTERPRESSFONT new file mode 100644 index 0000000000000000000000000000000000000000..53dafc520d416d9c9fc3d29c648e110ee67e571c GIT binary patch literal 55916 zcmeI2eQ0D?8OEOzq3Rfmra|zNF&4GzCYwoiv%3^wn7K)=JDEx6&aS(%6bhRz;*we{ zXlcJYIWwL_H3)!S!}l!lQNodqqI;xQ=6~0lc-ZR_*V%SI%7TR z(doD*BgM^5)Lv{yNm8=rT5Dmk5p|-)^y1VMwQEtm&oWzGh#P0is5Pod64%^?N&JaO z0^I2uvsF9v2N$Axd}^WGj^<7^s_m@2$GKFKTGW&&na5nS9`)MzjBC$F@!Y)azENto zI@ON7e*^5k8#}+Gacb`4alJDy-YX^BswHuAwzYi+oz_CFmdwfup1IrBTlJ_H)UH9Y z7}d(9$?e;zxcitIa0AnBE=P8(UeamxmMGnZbb;*z`!>VPw^nUL<=0Og8L!OD%p5DF z%W-8I&5?mQ2?^)BG97l5}teCw&by$rnbCEz`u2i|)Kc;5!_ z{;vb~oB%%jXJGt$z~me-^>^UtI&i!L-1|Dz$bqQT)Yo>NT&Gk)4(J51D|~}@aQ$*@lOF? zcn9#sUjkqH9PpJ70AKqp@WhvaZ%hN<{3Gz~Zvo$}0^k2Du=*tMWE1$oKY<@z0iHSs z{CF6+B4a&$5qRcZz)xge&pr-Z{RnVv19*Jzgcv(KR!Wb^^kjNN(mEw4{Ovshvm>bFj zcELPr_zKk=9F4m>)`fP5lO5W?mbs2R+dhI;LTdub=?QY%0e^a?^ zqnptop}>u}EaS@x$lcl3dRn@?J2Wh1+V56HJnc0*le36lYITDQ%F^+zhq>x7*s*7tn`tFTl+pa)3uE&at>(-WUVson=P%)RxlKew3ZkBB6 zYOCfFer6;$FH628r98+mv58$SEwTJseB8^7m=Up$Nc0V7*pRVCwbKQYsDC} zi3g`I9M=M$u39MV$G8Uv$w7A-jO&r&$^?9nHHd^l^o8RpKaSvY*Znw8cg83LP3n^j z$F)LScY?G(Ep-wK5g;7b!i%u`gV*hjQV5#VCmD__MOgRCgWHYct;SO)p%4MWaXrE> z1Ghp;qrVU|sZTN-SN>*zr>i=az5wC4@;3v-)kl-MJsel6TEtZyOJ9I+T&ZdiS07F4 z_F!C(Qq>}^>R9>$gyTw8i@5q|Qn!cWN>z)vs$=O35RNNVE#m5aCUtu_u2i*%t2&mx0O7b&)grDwn$+##xKh<3uIgC&0)*pARg1X#Xi~Qa z<2plCi@2&|=?f5!D^)Gx>Z3{B9*!$jE#j(Pw}<0ORg1W)W9bVJjw@9y;_9PG-5!kV zF{)a`RUJ!TfN)%?Y7ti-P3rb=T&ZdiS9L6X0m5;mszqFVG^yLeaiyw7T-CAk1qjEL zsupqe(WGt<$CauUaaG6C7a$y0s#?U=N0Yie99ODZ#8n+jUx092scI2dA5H4^U|f$= z)grFySo#8l<4RSFxcX>Pw}<0ORg1W)W9bVJjw@9y;_9PG-5!oBRW0JGj-@X^IIdK+ zh^vn#b$d9jRJDk!I+nfw;kZ)OBCbA~)a~K8Qq>}^>R9>$gyTw8i@5q|Qnv@=I(e9~ z7I{_Y(ib2Huhg~3s}Co2dk$VHY>`)WE`0%V@JeNiy!vobx98xM(iVAD=h7D-2d~t& z$g2-0b$bq8DQ=NhbuN7Ya_~xZi@f@9Qn%;emGTyORp-(dAP2A1x5%pxCv|%`uanfb z$g4V+z5qFRrM^X8eK@JxbMQ)ii@d6H=?jp9SL$2j)rXV1JqNGUx5%qHm%acwc%{BY zUVS*J+k<(nOcnU~t8Y2YOI2%<*`4}5clX(L+MkvE-g~VN z4Vw`&l6r^pI$hxBujXUsH^04rt!$6IJ#Npz6=uz*)RL9`{rge3r)ze?W~Ga3KWSh;UnHe9SM+7} mb7;NS&dOf1_t&3ZZLd$q=)2ff?J1F+6Ir>-We?2|UjGdw5(JF^ literal 0 HcmV?d00001 diff --git a/fonts/medleyinterpressfonts/CLASSIC18-BRR.MEDLEYINTERPRESSFONT b/fonts/medleyinterpressfonts/CLASSIC18-BRR.MEDLEYINTERPRESSFONT new file mode 100644 index 0000000000000000000000000000000000000000..0a6fc67c583e0b0f20df6b3b2b2958511401fc79 GIT binary patch literal 6418 zcmeGgv2N2q^zM+L7(o<}kl3uK0}Ms2laf*;gK;j2g=0rPr=(q?N-Yxt28NU zm_pc=oG9!q4hHT@qG+P(htE8xp!>X3b4)+#A4vgISlk7N=yypLcu13vk}h+*R0cL{ zYQ7hk0j{1B^50MBFRz&?rVgRJo;V zEAe6sxr+2q_cPLy)!!l~0xt}Y+5#0^bZ=lIq_>voaQ#Ml^|6u7X4f3nBM+#tnuA6(Y5q(o}&|m1#kEHK^{BtbkDg(quss z`ZYo*8`tNvc?YCR^Ynx^Sb`@(TG*B=DWNBOKmUd{4?$b8dfFC(UTzUX4tHBuZ+8~ny9#EitA0P)Z;3@Qz zc%n6KLp)Jq7wk1~by9gx_1FRz)~)zqR6riR8w53iu|c@p!O#u}vQH?DQHo~KBcP3t z>d}3~R1_i!?6u7>Bk)x|Z~_>7`$x$mb2Xiw(PSN5^{9An)CrT3Kij^^sGE5$qbKXr zSxr`!qyUj9^^Og1ylbj}S>LA&t-vDb~yxX)TArI{~-3A?b zu+@=cs_)Pvz{K+PF5qmHmlh>Y`5dL(J+bm_`eZ>F|u`L zYioE?&BHmXAx~z6oWdCq&Z9toxcuZbxvWO}(|GU%It{y5vx#pWrD61J&CKc@i_jnJ zkR9S(=4#QK&z@EU#>iIqs63Nj1n>qb0b`9=6mxoln7qMgF$b=j$(gJpoWp)Q6<{@5j1hy`g~Y(~?q!!^-O<7W;_S-q3OhNR$%-4jhU&AXQv@ z;}cNNhXrbFMIBdy@_Cgs4@b+FILVkH<6P$;>$M?z0!WZ@uTQUcPa=Jd+|# zJW^e&x?!L=jJ)*~x%+y>U-j>Ker;>b-}38KH&tz(HPb|Ova};Tl8DHSgKgFhGRc)k z$v2k}r;8XN?+ON#M51`s$+(m*PO~)bL|pNX*=(kG#&}qoX$G-~c09tOKuW>%MkyY1 zIN*i`ngNo&9rIA+u_sgz3Fc+Il}AB#M`Hw%@dP-cUo{wV3zLr;ZgbIU!?N?v%~BO8 z6rU3EqcF&xjPlka5vn#2>$?asDUxP75}oP~1+&NVPs z8o2tIkZVr}xn3dU=9g(%XW${Kt5w%{NaL9<%QOf7K2sN1cpz7MH0i+)o;uSqJ=}Ld z2J{x~)1Fgtd~!fe0B$&Y7a+aqpjtlNalte<-M>VupSI_}D_A0lkh| z=oJ{)yF1n*FqoHefO7mVj7J-5tv0XLS{8fK@nF&ov%xpFIvZMxKxJZU^=q38XRg+{ zEW&**xC~R6>;3sPSI7n+em{Wd1rY|~EW|&Ivl@Q?_jootvmTFdr)Ogr*H7=XS)D|m zQpjGgOm430bDO#n`pHp_g2YfKMn(bW?L28<3Uh_O>*n*N1)066ctJQSF3M#1`W2;f z{b9ymAQ1G*P)#X%3&M*F%82%eu0_xtyzZcynW8VRpT^j}nY4c``&k`lAlhI>K1@5t i5kw)VrWCyehp!_0-um^M3!OyaCW?OSgnt4iG1u>ef8P@T literal 0 HcmV?d00001 diff --git a/fonts/medleyinterpressfonts/CLASSIC18-MRR.MEDLEYINTERPRESSFONT b/fonts/medleyinterpressfonts/CLASSIC18-MRR.MEDLEYINTERPRESSFONT new file mode 100644 index 0000000000000000000000000000000000000000..d7a78065f1376d5a8ced5ae088a859371f3dc4fc GIT binary patch literal 55916 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 bT(Per``)_z&4o_Fx(VCPvH2@v5p(?sq8#3N literal 0 HcmV?d00001 diff --git a/fonts/medleyinterpressfonts/CLASSIC24-MRR.MEDLEYINTERPRESSFONT b/fonts/medleyinterpressfonts/CLASSIC24-MRR.MEDLEYINTERPRESSFONT new file mode 100644 index 0000000000000000000000000000000000000000..9e4648da7e57a85b0f5e11eff03fc1aef87a2ae0 GIT binary patch literal 71052 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 Gc>Ny^Tbb1W literal 0 HcmV?d00001 diff --git a/fonts/medleyinterpressfonts/CLASSICTHIN16-BRR.MEDLEYINTERPRESSFONT b/fonts/medleyinterpressfonts/CLASSICTHIN16-BRR.MEDLEYINTERPRESSFONT new file mode 100644 index 0000000000000000000000000000000000000000..ba40b71e5e51c068a86c572bd584d02e58ec9f82 GIT binary patch literal 3695 zcmeHJ&2H2%5Ox-cAH#u1uvR^kLs2)`ve29BOcJY(9eKPhCP9%dhp7GfJ=9^EGw9EG&m*3fk&!4{11z40uGculxX~`Y<8Jq6m^2=Vn zpTA;xaX85j3%_Vw1GX~Sb=Gvqh?a`B{6sX|A~=?jpOlc%S%@fMA%#ClY6rHnfJlQ| zn6^{kpi7&R3#@>0!&C8As#8XU;)qhXM(Vg3$%gx)4c(QZK2jb9#3sWpzfz(7XG@A(9TsOI%sS-QpttZ1+VN?nW}g#OaN0(Kx6om@^RkC_zLrZA0Y4lXf>&h#{;QY4ZC#EpVP#DXhekBWnr z`D`|OO%oxDI#lW+lgPgJfcAi;u0496#ZID!qk_sEgVlYZr7oof;d(P+adcgLWke(q zy#yYfkvo5$JiBuUTL4=I{y7Gop5GL*@Eu~jKc=Zkrq1*j&D?kS+wOwvCPZUXL-v4> zY;;rnSN5;Sc3dIl?{?7BUJ>DwzVRop`4_MjPtP6#+~C=aub(--0e zz&}}aOQlLtiwb4qLp+nQ{mnO@CT^D>J}tkqk6%82qYJPojb>y#8Pk$G@G~~u!{yh# zd_RB1^5Srk9~S##YFq=hGTL?4bjXO7injb%G~6OMmXV*7kkM&~C}AOm-$`l*wzGgp zgIk!kQ{bRWi<1kifO5lA@m8u6Mug&sQn*IyxESSo@P|B$M#aPSyDgM*-ZBgITyeX8 zzlb3m1!xZ|`w`6&dYinBb_23*{O8e>TI0A29At$2o>9PvYF@vSrE7e^iUv!d)Rno& z!kJbGtUQayJ7I20=noA%Uo&tm`ia@64Qw1;1Y}IOixuRMphXwa4%C*hvI&R8YAiu(~g{)TOi_TyG{Uj;;lu zjEFR%m%+nRa_7&J=XVZa3t-E@KgYn+^P55zzC(=tA0xHN)R`Wmnfp$E`+acThG=YS z$Q}@qjc%I3mGvvK9al*CyB+kTS48-&Z`=kpZvt!aM8y`xy^`#Z>a2zYZ)5)y1A`@- Y7jOPs%?>O=c6OU%;NkZ;e28X$0q0a`{r~^~ literal 0 HcmV?d00001 diff --git a/fonts/medleyinterpressfonts/CLASSICTHIN20-BRR.MEDLEYINTERPRESSFONT b/fonts/medleyinterpressfonts/CLASSICTHIN20-BRR.MEDLEYINTERPRESSFONT new file mode 100644 index 0000000000000000000000000000000000000000..113c88ba7236103e1c8440fbc34812be097ab61c GIT binary patch literal 3695 zcmeHJ&2H2%5cVz-KZau;z>0c+!=i4|cA+=pOcD#njy&F_MLn`TRkQ~#eH&hc3)*+! zalk)WbxXxzRjU4I<3l`?vHi_ApC)eSUry&2?Bwk0H#!50(r8AqaYjq-z|Yw32;q>CM=FFi?57` zB%+tV(_?by&x==g4q*de!@z@M;N_2-LKeP5WIGv6O)_<+=V+$B%m42#xNJf+HZ^2V z2pJ4-ivQaB1=);iq}*=@J?a$^e(5VWfz?~UQan+wMe&FPyH0Hu>jZCNZ;OGo1)CS| UAGcx$zwYC>t@=N_eb-U!AAK98!~g&Q literal 0 HcmV?d00001 diff --git a/fonts/medleyinterpressfonts/CLASSICTHIN20-MRR.MEDLEYINTERPRESSFONT b/fonts/medleyinterpressfonts/CLASSICTHIN20-MRR.MEDLEYINTERPRESSFONT new file mode 100644 index 0000000000000000000000000000000000000000..00b5e6a98d4bac505e2043c57988b65eeaa6fa3a GIT binary patch literal 3705 zcmeHJ%}(4f5cY1R(z>^*4`4+c%7KbafCX-rGfAvEcI5GHffEOoQ&oECrEk+`>8j7r z$0`2Fils=ERuu80jSumR$M!ehe43=4oqwKvXBU@WzR@XIltwd>jWSwt2Y$wOw{iA$ zJKxFoSza8C@}t5p8rOiWjCP$h9WtV&qAfob4Yvr64agr#$nY#glrWXTpCq*d+gU)Q z!7WVNDR9uG&B+B;K)K|pcq`QjBSLXRDO@9U+>G)R{3Y+AQSos6`xZ($X_HuDrdMbtzSIBzKDcN@G`2Nl zF9;b7@0!7_{d2M&w@7*14tmlnB7D}D{sxx+1Qz0niYhEJ55l8x)O33gcM3gXtFDzzzhXqw5LfF_Yq#DI7;MC)XH6XL_1aDH6#6;#xr>V!;)# z`^Cw#d^{e%pox%a9V)fTB(m>4pgmxzYmeS%v7hMSsGxGM!Ro%yQkT+#aJ`wZIJzvp zG9r?QUIO1&LNqot zWP5}RhPTCkWBr`$o*Sh6-41%*DO7Ap{g(Q5v`&o)u)5C1iBs{jB1 literal 0 HcmV?d00001 diff --git a/fonts/medleyinterpressfonts/CLASSICTHIN26-MRR.MEDLEYINTERPRESSFONT b/fonts/medleyinterpressfonts/CLASSICTHIN26-MRR.MEDLEYINTERPRESSFONT new file mode 100644 index 0000000000000000000000000000000000000000..a905c31aacb43be94155451f7c0663516d43bbba GIT binary patch literal 3705 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 literal 0 HcmV?d00001 diff --git a/fonts/medleyinterpressfonts/HELVETICA06-MIR.MEDLEYINTERPRESSFONT b/fonts/medleyinterpressfonts/HELVETICA06-MIR.MEDLEYINTERPRESSFONT new file mode 100644 index 0000000000000000000000000000000000000000..a545b03a3bf78dff7f5cc6a8cccee5df077d972e GIT binary patch literal 7135 zcmeHMy>AmS6n`mFDOU*zAt6-^9GL*ARg<)|G}FoFBquI+(b)+tYB$;i6c~^y29z;t z$BcB$2qTOgK};RH@^_T??7Q4GA0_=z+e7im^|Rme^Lx*~zS?ee`^~%UPv*}1=0~H! z1L63d3E5oMur0}vGMDDX_J{fWV*a_AFRbO3*9tGPhA%5TDEXeO1%6GK;5n{Qwboh1 z3IvyC296DYsZElwdBb6-$?+r)Y5^C*pkd}$Yc7|(rYGwm9x!evMoL!IaW_n;aJRvw z!z?vbIIlS_F|9f!i#h|%RT7q9+#{QgRM+NFpQ(O@JLL+p zGmnhGmzJaeWB~fzAp?b5FTZkZSwVr8K|LlMujI!rNWaRMC}9XKB7K{OYf=nEjWg58 zCEdv@KMJEASW>nup9r6jei$RY4?4nRU}86vz07jCdAqQ@kY8C@Sv7Px8fDt1*bfzY z9N`|?>v(0f-Ic!N>r%(Z5-u;vmpt&ojdncS2{@BsSDPb^X!Bj4sVEAB!1N|ud$}_U zF#7}G?%QiOWn#c20;!0=y@vqze*rxB3^2EFUXvMSi0oq4&{Rw& zBWY`5CHtw>rG*~SdWSgHLLNni_&O@Pk=Q_c*c&0M_j|oT;sA&AdR^6a;ZN8H_=dcn z;S`F>7Sd!9?N_fD8zCa-PkQep@YP730wVAzxE2cO#cR*&a}b2M%P4wp3IF32k{nld zJdLTA8jja53B2ZwlXzW9H(n>Z{~zMDlfdhtt;x&9q81O z$(_nR3p2V$j0WOp&RN#!m)$+}M$|8TQ~Gr0Q)M_{lP6f#2iT<)KM_C(NOJ!l(7Y)- zHL>Gl1cn1Pd4!$m2Q2=3B)u6ndb6S^^nPoR*6%QsVKtBk;Y_bj(fKZFqgZwn(Zv@n z`aso)7q=aJ>C%$WYh&)!P^0|U`Ac)jk|_VjR-NX*j#jLDa5m|QqZ=iTSo_%2aKIkL JM*@g5>|aB%CG!9P literal 0 HcmV?d00001 diff --git a/fonts/medleyinterpressfonts/HELVETICA06-MRR.MEDLEYINTERPRESSFONT b/fonts/medleyinterpressfonts/HELVETICA06-MRR.MEDLEYINTERPRESSFONT new file mode 100644 index 0000000000000000000000000000000000000000..880949166a095196ea51f77eff3aa281699e45b6 GIT binary patch literal 7145 zcmeHMKW`H;6n_D!ltZe7kdQiY%>+nA%_SkFnND|3a^i9qot@A!bRwBh=ztV4WkOv$ zcBCUC{Q?Y(m00N5m9M~B-m~v6mp_f#v}$x!Z29cx_w4ul-mi}B*4rOGw!i3|Pu-wxRu|`YQCtkpyGR?5%>+RgXg$f-Q2cn zX26-yGjOf}+}kAyo3$JZXL3Bjf=0kN*Qnd_>kXF))=-007Yi(ACweMo-Entxs4=(2 zgkzau^c_0HYx*oESyUpr5#}+jdIMRr+xZ_p)!5V~Lw=7;kADYzkZ5HYzC-4TdbS;-$ zk0BS5pR$62G^RM@KrZ~yODYn|$7Eq59@1dTbeaAjUwmbhN~KLr`J+{(Kn)fmosT`t zLxUZ!ipIOb7i?Q72btVu74en@UKnb}vz>rhA|#bLLW{!h`j&JfM-VLS!rart6@W)S z0ao_rZpy-dg$GjMfyZkAPyPTr{R*&Jn$=_rcZlppR#V%g+MJfT-^6|XrZ>W96Vl|q z#`XIEnR~O^9gnl23|;6WeF_KIwlR0GU6!ScobgaF zC8>k(+sC>OC&=kzaZ$>ZIsxf@l&0e1w~ri}p^W26^FHP#TG+&P558le+<`onn@P0B z9u`VnEaVTWRqEpkJJKWMCFK?3E3fn-v9bCz?&(Mm#N=4xFZL*X$7lzj^uJjDG14dD z2=Yo3+hmclHe_f!AtLBUJw6Nk(30nX2s{$6`Fx528!mdL%ARS|_#hQr`UALJBFW3j zUT(%zOHBssw*+7fZ5XhHlmm7V{yPZR!vtVojsUipa=@lKT(@9+`4)6sL&fABb~ORm zwPC;-^yrb=L+mv?HTR*5bAb%OWW=@yh&}&3ir6=I0I^+pm@muA3|+k0%^a%(;r5QQ02Q^(Jj8j?84lCQq>=hXSLJ=7$2ni#R29DNkF}7WSeCCL=a^ zj9nhtV+;6yk`$i`=sAiqrKqO%A${-}in40SD)FI5sOXFr)e(CzpPEzA5jUy_no0M3 zl6s_4`+K}^p(*OwNQxdG}@P}%_3e%zQ~+H5r;F5 z7Wl#xWPS!<*ceieyOqK-#}-AL(9wvqxZ~yhz5&87Sr*Tu15F}*n}uhR2Y8uTy0(-w z#*kLzj#7VFYO*rmIxhUsKPm>wyQE$s5>i{sbeTSvTX|@#uCA_W${E!Hg{W_ZbUR9z zhuS(`0X27pFIX+~j>%n?7f)H>g+X>a+X-;FhgV)vzp40Dml$_zk(V5OtWB=fi#)a zxPA#BGc&2u@wy7w(0~^5J?J1^!D=I|nvElet1U-+IIAsJwP6Qq3!1Qty$#zaZ^BRL zBHxjX_#Kq)VWUcCROFd}>)O~l*eY_2c5h;%xpa0LHj&@Nz5ze5Z6nu!9JaG56?qDI z0OX$Jk7m4e3oWc;?V+>O`3gDn(%fOMMaj-KVG4k10=wq#x$ zJA9JC=%k}zc=X6g&KaKD!f(Lzl{hk^;hMY)SVM4KPVKV*z$Y0g`dC*~`U3Z#Yy5Y( z&JV*C{~40j?ApN>B&t-Ro@kYE)N2j#QSKvJ6?$)q?sZWgjddlli*Hy|LAGeD-_z?? zl-Z)bKYBh?@;xffSa`IucT)S+J5zt}!`>t7)SI5NbKqr4iN^aK4cGntWdQow^$!vo BFxUV9 literal 0 HcmV?d00001 diff --git a/fonts/medleyinterpressfonts/HELVETICA07-BRR.MEDLEYINTERPRESSFONT b/fonts/medleyinterpressfonts/HELVETICA07-BRR.MEDLEYINTERPRESSFONT new file mode 100644 index 0000000000000000000000000000000000000000..ed340c0ce988fcadcde672e9a78640379577e8de GIT binary patch literal 7125 zcmeHMy>HV%6n`laEk*(%1QMHxgak-Mt&`GHCSzX`3&)Opm(UhAe@ zj_>J^pU-QyDHzuD;w;~IKWoexPj#cPJZ~%)mhze}Dl91Zo~Q+WjqBh!u2wZytcn?M zCiEN}X#i7eBw@3LV_{E@CsQG^Bg9*nn zr7CyU7!ENliIPd3KYZc4wjQu@-8F-#d?W=-ZZVHcI+Uc%B3ekg!klsin{%cX_`(!4 z{~W;ZY{)+D*2}LPTU1b>qY-6s$1C~q41`~`EM7tnnpE{|7LG|S;5BCH+I(_0hMY#> zxAqsMDGLM6W3i;GK|@3EzCXSZHHc=cIA~Fsg?GknW@y0vJrK>B*{(5Chq`rb2t0rA0T}w+d%rY zh4o$dDdj>oe#BQpM9>GlzYqAPCHDXkcqCd2h0MaWKj|?l^)YnPRMgTE{7;rh@}#mS z>oL<(>2Tdoz}3(O;abczTqleFAHwy^2)Hg}8m^gMtP3#SzJM`KF+_TFy`O;V(((E!#_Q3KVZ1)eJYKhOKS+lOI%d#uC!*x*EydoA;zpX(A9(3_J&gAQVD<6(3&#u={k{G2P3xW2 zWRc)uU_)`HXnBrg*s^CQ#roUH(sb#uT`DimlorcRidHCVEUJWoY(!y0*bs2vsyoYW z&4~n)b^#77fRR-i;jt!nQ4$X%iy9FV!XmO8)*C*Ptf41s5{q2sWhfP=&ixe|YRqpk z$z4ZH75q6v6{D(CaY*=sI`ep3x4CqD?%ENn#=a9hR3jYWvVd&bQ(cdlzEu4hND=i8V=a9sOJhERKj!#GOW97=NByPj%Jm%DP4zh zJyKYJ_VS>Lw)--aY&r3dBYakoPgxWs8_ffcN6eK;SDPa(v-y7LDlZCzz|B>-_H=6; zVEi+{?N`@s%FuwJ2Xf(oJNE(Z{s6f50bpY4ye7LCA&S#QOGil^oW?{LW0b$-IA~&! zrNWx9ZvYfV&TDpWUJM?zp@aQ>*ur*<*~7Lj9&(OmPjUBg)TWxX1>2arC}#)jC1_!L z19q{!gDs+UkVoI2ST<1)>4=q1KuQ;BU94mECFyM}yGS8k7uK*JW4jGsab#QNGJY>7 znKhC$l1bWA*&SSA3-dnGI>;l>5MO&`^H>x1dz==ocdOSs+W3W}4MpBo^$z?=`T*aN zPJBupu6+&b4*bTFN!Ch&2>MCyodmvE*;9Z4kAiEtoL{_V)_vwCA?`Ag-dn=|=@N}R z?by>v%=M_jc>R>YYsor{*V%mIb-4TgAznY8fY-Tv<2Bd2bp^(ISD@npDh9{bi40yJ z9geT1^1=|X7jXEwrw$JV%5{SQ+e!g@@U0)P_&%4{8<#;#8_$GvqoA|DkJsXd+cvZq{tei% ze!$}2Bl(T6^x|S(T}(|d&{2opl)4HP`kMvF624z8B?MC&zMj25%}^2>Ta>(lxdK literal 0 HcmV?d00001 diff --git a/fonts/medleyinterpressfonts/HELVETICA07-MRR.MEDLEYINTERPRESSFONT b/fonts/medleyinterpressfonts/HELVETICA07-MRR.MEDLEYINTERPRESSFONT new file mode 100644 index 0000000000000000000000000000000000000000..4fdef2f820af87efd4169e36967da3b87e2c5170 GIT binary patch literal 7145 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 YDW9g^=rq%qG!(D+r&jMWs~2DY0e#&qe*gdg literal 0 HcmV?d00001 diff --git a/fonts/medleyinterpressfonts/HELVETICA08-MIR.MEDLEYINTERPRESSFONT b/fonts/medleyinterpressfonts/HELVETICA08-MIR.MEDLEYINTERPRESSFONT new file mode 100644 index 0000000000000000000000000000000000000000..1a7c4e7dac7bce278951187f8a7e67f616b83acd GIT binary patch literal 7135 zcmeHMy>HV%6n_D!6juTvBr3#WG67Pn)=6n;C(FJh7LFbHE}=!uM!SFtL#2uVGIm29 zvu5ntv52W-*kH`c*ngqry*oRfZlF=CBx>$-@xAx%y?gK7FPHNrzxD3J)@ObD!VrV>OLJU*uSj@jX!p`~ug(b6hQNu3I@X z;7sTVIM)DfZPEyvl^hE#Ii6raAz++q#J2o=!DWIKl(J&6z+!eACu8OvcSDC9b4yG( zmMK-a^OoTh(~`)TWc*p4*-kO9JHm7wOAlDK=$gTEIl|-?^U$ZntR!s~(omLkjyc&J ziFdWY7p9;DBmla@AqTlz%)W7Kk;4JU8c`N^yo}!pLHK#g;u%b#NnPJ&;hdBMUSO84 zEw+ba$T(6L2auM&EOn%h3qQ<}S_hS3a z^~hl!`s;XE^xYM{VCzEV$K)={h}SIe!i9D`+XeWpv|%5P z(B>)HYhaIf$56#~1ZUU|vC^z%IVYeV@u-!t)llDt3bs@1EB+2@lP49NXCFT+XnhUa z)fBQ^#YTl}Qa<)2MISYca1ZwIld`0;LUNUtYI9sy2ggTcPmYbK-sc&zDw187^EVRr zLmJ=@=4dKZp}b|pKm;BM*HmhJ@fyZF&|`ZbtsW({ zwi5q6vN%TgU5OLjNM1Z%f3@M&&^qy&9&5b*KT>Wa97aCqc)Zrz@VeH8*QK$>>&P$2 zupM-V?Lhze3-%Ba;V@8~bn#KWEp{2Q>-T{|rO12V36T7Y*=s!}4T7nQo~w1C`kk0NDs`(%g1 zqi3Y8>@@I3iz>(#$y(3W%ry6Kii%K0*W9(x74=1?8@Q;~?O(t6l|7|R`pQPPg;sXy TZg0R63t0Sjt97R(nt=Tat4}G; literal 0 HcmV?d00001 diff --git a/fonts/medleyinterpressfonts/HELVETICA08-MRR.MEDLEYINTERPRESSFONT b/fonts/medleyinterpressfonts/HELVETICA08-MRR.MEDLEYINTERPRESSFONT new file mode 100644 index 0000000000000000000000000000000000000000..1055a5f8b449c0f089b3119b31883880b0fe22a5 GIT binary patch literal 7145 zcmeHMF>ljA6n+7z6eCqaNK|ZYrh-(|CMhY+WZ9R*!m%UYCA3KCL^~nqP^n^}6Y7RK zX3f}@5eYGL%-D`u`xh7~@7>vn6P!S!R*h-i$#?hOyLtjB|~|rdO#tOt7lztVGN=nH7-~jf(AT>QH7* zoeA4CWLIv#VK~IBWQqnEU#u|8u2poOm1>URhvie*#NZ}#(W%tDWGxo((2#tY*`+e6 z_cY%VhM)+f00!qn9&)EvdTm>xj1AfvaVEFjqSu>)@G7Rsix@+Ls-DGyF)0YV%1m8b ziOwe@Cz2g8gPe3`wJ(5NctMoZN~jowoV`dxt3opJr{_G^FxN6pda<{TL3y*^gAE~kHl*>n_$33CVuJa&ZT?Ac2J8e zUw~NspfGq@2F16Qj|c2&1h5&cAF#P(1NPsca%(X$(G!mcY&!zj!T?}blMUF3UX4j` z&Y1)!hWii?*o6pSpY;PalUTnEr_@?9cloA+$zaw^b5V80_NrDmE#vO(dQCL#_j555EqNHlFh-9=Ehu?T% z8LCz94qj|g!V8;F(O33Hrm=5^=<RoM#E@FQJ@5wCY literal 0 HcmV?d00001 diff --git a/fonts/medleyinterpressfonts/HELVETICA09-BIR.MEDLEYINTERPRESSFONT b/fonts/medleyinterpressfonts/HELVETICA09-BIR.MEDLEYINTERPRESSFONT new file mode 100644 index 0000000000000000000000000000000000000000..66eb1ae5d201cf92aacba42be5a99a6f55c52c11 GIT binary patch literal 7115 zcmeGhJ#W)M^ce)SMgk!u5E6rx36MZ-lF|<*V_y;r$BulLk|Je5BAK8turTE((2)r# zW7opOfP^w;&B#c{j&z0h?tHbAIu%8f)@tu`ckkmq-dA7GmwM;L%g#Hi`+EJYxymB$ zg@FZy`GV=%f+1v;@AJ-^`^CB9L#tR?nJ=!C%LOwOH5OIEKs2JT!7T_p->lm$r)Ec- z3CnR)eb2EXR&DxrbXW3i?yvwQGL|LkvKWVs#B0o})`Cf>IQBAo0pRi{ zfGf|BU6eBc&Mc4%3tYPjaQ!R5jaLA-ZvU;w4rYkLT)|X1QYEJu9yT$<|I;j}Gmt5h z8n?~^80Y?0=)HAaXhI*haIa+;A>75)-(1B+xR!JKECBeS zPGyKyLHTpsDVI1qTz@3l6=o*G6@LuL>zCFD!;~r&JrcY_9lkM9RgfG~9lbZTV_c7# zy(gHI~w6*FGoa>+H1Y_C>hudC7@Q* c%KfWpLbCg`8FHJ0yUcLK-?EZdtR%bs2Hj*d)c^nh literal 0 HcmV?d00001 diff --git a/fonts/medleyinterpressfonts/HELVETICA09-BRR.MEDLEYINTERPRESSFONT b/fonts/medleyinterpressfonts/HELVETICA09-BRR.MEDLEYINTERPRESSFONT new file mode 100644 index 0000000000000000000000000000000000000000..9385f10b3289a5309b779e143c41a3024dc27146 GIT binary patch literal 7125 zcmeHMy>HV%6n`#KX^jLz2qZQu5>gq8S|_C+Ovb(>7LFbHE~TxMjdntX0S2c22{1At zb<7$eA$3C)Q`U|hVeANF%X@de#0hRis#cBF-06Jp-Mx2y@7*s~-)n92)$7d<*4CTt zcjhXKxgUiV6y^)2=Lm+BRhs3SZ)fc}`>ACYSLW@NQn6r0qRQfO6pDHr)wuup8Ct0TZmQl+_T6UFM}m%1+G>)-9;A zV3i5qb)+iyHyFNRS~6va7N2<@1)deNN+WP$-9MHB4tH6ICK=0;^;p8grsS*4uT*LJ ziy2445#+xCFz5~0$Ad=YrSFL<3LKflx!e!SQO^Sr)m)dCF@g?}k;jsEQV4jRxt2Mf z_QsZO6i>CkBu!c93mz9y5+StX@t`jipW^v((y|}ozWU6SaR%nxYZpgsn z2n*3%KdhkXfrtcK6Dm9o4_H~eU~!mivmbhX%v_PM${b9%k&h$ zt#1Igx31iju>s=<3j5fOQ11w92ln6((oNJj zggxU9jvd1RwnMD@^fcyC>Hr(P6;CSE2Gr`{EVXTXc2K_wEod4ulB1Cwl%cs6uGPZT zcd>fdE~b#ZRH@LK6pzo6qemNU#F*fdqSVA*%`2V#uG|12JyT;l-PH$V6e}g=`;1BS z6X4k3+Bb{=P?Lr1{Df2oH9E+qAL8m=MTJ4*cw$uP`-;SNyL?ZnFcFh@whG_ll+`C6g4Q`w}QLCDTq# zNfF&&)OyF5exiygn*Qm8qcqoHm(CQq^uaw$AyK8Gd!p6f75W`(ibm6g(r(&s-RpTB dGabKwqeqf@R?%8_$UYOV_)o1~GArof^)H2BJQV-{ literal 0 HcmV?d00001 diff --git a/fonts/medleyinterpressfonts/HELVETICA09-MIR.MEDLEYINTERPRESSFONT b/fonts/medleyinterpressfonts/HELVETICA09-MIR.MEDLEYINTERPRESSFONT new file mode 100644 index 0000000000000000000000000000000000000000..60abb32776786c8695fbac1120aa7f599d1658c4 GIT binary patch literal 7135 zcmeHMy>Amq6n_g+fJHilkPe+_R<1ZCP+~im0M%-DZ13H8*V-8eIN|P+h7)%M5~4u) z6QDt&O-XA}`KnXOT$wWErA!Ge{NC)2y=&PbL40JD%+t=iH*Y@Py!YGj&bYh&$DixZ zyp6veKXKPYs-h(JsJ2vdLthJUUh}3}|NCZrvHpu!Z`@g`-)S~$ZlXIPZ6&eprAbeD z6i3qS`uBs5pDLj}hd#JOXC88kP^?7(Mv7uB(q1Z*a=AK4x;-hh=w+R=Dv<^vEY!68 zZX_Rg)Ddz`=qT__R~7v(FvSHUw0s`?dRK%|zw1TXmr>xQqTQE%`m<@_t3brC$yqdF zC~}$BjocAYyTj^NZklLcvjZHW>E*D2O7`3LqEL6xV8>-CP*L1UCQHysHwaVdd6*3>M8nt{_)>W18q2rpD=RCj zZsv})Hiv1l4&!>%h#2-paT~TvooI1iXa4b(6fOOmNaH-vQ5;682y`xH=4jUjUnYU^ zq5=dK9@2MD7cLTA{D6a94Sb4?DgL(~>)ZnjHi zo6~uf^s&o-;eF8VL9W@>ly{cMIrF(@kNa&f*Jq?jy60kKAKshb*=R|1VgnsM=~#xm?mz%GQ zB^Giw@J-0hWDUm>3^}tf#n-o{a?`m7W-h-tlUpq0vPK}vEG!1TsD?q6o8Y^iQL&co zvK4YB%nTeE03&N;;jksw#*tiKu&^33&JAj|gG$w7f>l*#)x<)ZIf<5{RdKx)6Uxk6 zV#2j8*_FG`7)~)Jg`!1+Pga=YMinz;rO2~FUEh@^7Ppy?PGzR0=&)FZbt#vbTPl-N)XwWc7vbpOQgVq{EP_b=Z#28w{1`dnoq#*DrvrS_r zxt^R{NdA}=6r?k=Z2{yWh@+%3p<+xPCh{R2wk?mD*YdOXb8~ZZ^M;DYQi&4PT8Ioj zwlE(ZcKs4M?}avYHM0PrBsBKbhPNO`CaGyWzjZkkw zhTPY|ss%9pqJM8n!cNr)gVSYN@NvJi?~8viTQU0vu)@ z$1>o00pp;^!&xzA7}-gTNrH@(7!mZNuHOaVr;&UQ(BP4H&F51L*u=sIW;X}!(X)d} zu6zJ`>N^|bho!Um!pgk?dyoL^L!%wAg>(b<@1b&GF)`E&9~`i==?3gjXJZ(gi-y68 z{yy{u>_lRRz1P0O=JNBGi0vQGv(qGA6whvw6pY*(vF}=lJ^I***oFT9u{F$p9X}~{ zFh%%T1zM($i(@JC`B?QJ%6O*!NbIi}WSTD9I({0akD8h3jo9xk#Dd*{*g~2Q3g|{*|zcPbw86T`QjMtplv?-x@lE^T-HE*Gi&(M5;IO-Mw3S W;`&)A-Ldzch{eCTT1Q)=iP+!#Q9U{U literal 0 HcmV?d00001 diff --git a/fonts/medleyinterpressfonts/HELVETICA10-BIR.MEDLEYINTERPRESSFONT b/fonts/medleyinterpressfonts/HELVETICA10-BIR.MEDLEYINTERPRESSFONT new file mode 100644 index 0000000000000000000000000000000000000000..1a7dddcd28ee50a7daacdbd7650de16ab778167e GIT binary patch literal 7115 zcmeHMy>HV%6n|Gl0V7c%BoGqADH9B!Hc2Uz$#pJ?g=0s)Ybl@%2$~5B10rJTgu3=m zfDwtQYz!+W6DM^lT2WD}y;FSe-aEg0_uelr_Df^w+4H5hy!~?d zwX+~%=|>@l!c@VjxJn?!%QxlHtDD8i;%#0m%}y0(%QFQhQgsnmqfj;Ds3|#we&96R zMX&D0QYg;gw*xS?NGmF0!S_&;A1VW_9{3ei#|1kM%{=Lc)u?{}6*W9hR?&ejkx@n1J;?*I zDLn2>r4LiorznjwzpO2p9&nvhk@b&>f$=Vxmx_e8)^h{F&y=Qb6=!BxVV8JW!Dmi^_P%m4T?L`yvi)ko~aY$HG%~YRpki68IqUv=1eQe|!=C zdpma;;QVKR3s3&LDJKS;cpw)ZxHtiD=_|nH7XVkU9n@qGGelvs;Fug~lG9lk&0~iD zr&%z`K#opolAi)#V+S?5cV7qEunrrj>oII2-ND{QT7RI0lHI*cQtGgYpB>m?SJ*h- zy~#L^%c$==Y_RKWf^n2__yt{*;R<#asV&%qRn)wy_XN~WoNbhJkm{m@c5T_U+sIpk zFQ~N(Ur^V&?E#Mermff$k~Y$5{b7}N@PsR{f>-iV3r8b2UfHy(b`7{LX-0oC+ch$Y ztdGQI9CyGgdzYLIeE@6@Mbuj8g*6#_KszT{bp(n~V zc10802xkLmb4|oFF6(YM%V`1DUUa^~ij3|!=aA9ZICUdP#*Af$%Sx(rv`a5zA#EyD z^ffj$qk+niHi_zOElp94X|S2qTbKf5(QXF2wJ&#~Wo{>8Q3`r3<^YwxYrtM(gn ziACHC0}BdM1=F{?!evXIgFShHU{NDtoSP(e!g|AJf;H63O2i_Exd}a+>SmspH zo1%21bg2DhY07k8@VE%$2&q|6@g@5bb0N)jY@boG%n_!ZdOvhz5IF*1WEIYwu8sm+ z`wDQqb>^mA7;q7RTtwi;Er6Tf0dBtqxO4ZoCOf!76ebI%S|rutG|Iz8T;or68PrRV zDOWXaT?Q~N9oOpKd+X4GE!f7sp22UduVZRqU1n&a=I_)ZEhX5&yl0GH8iQTr#<6Te z2Yc!o^TwEAq1Hlf4|a_a)IWwDOkLQ-o;T%~fUS4pye_p(wBj2yjd{sY`wg^#bRA9tE$u)QX-UiGdeeWk&X z{X`=4xQkEA_@I452}u<-(Qk|yMv-GI5@fE#h@cD|6z|}GP;abi!T>l*?=N1t|?RX|!;a38#ehRMB zd4}sy&&4npH{=JbY`7K^aDCVh*J5ez0hP%&HX&FJ@%ID;WziNM3`faUdQqqt$;Fb?|zO5|J)dT}!l%_$1NqP%{?j jQtQ>XPgil2^s1n>y3|_YkG)!C;uZhYI=IXdJ-q$_0GKqy literal 0 HcmV?d00001 diff --git a/fonts/medleyinterpressfonts/HELVETICA10-MIR.MEDLEYINTERPRESSFONT b/fonts/medleyinterpressfonts/HELVETICA10-MIR.MEDLEYINTERPRESSFONT new file mode 100644 index 0000000000000000000000000000000000000000..f14f0ce8aef86694579b1d1d563b3940738baba2 GIT binary patch literal 7135 zcmeHMy>HV%6n`#KDXv6?kdP3Im8l@LYCihOWSmQ4aO}u;2`z0lngs+5h>8Jq?7zTB z#gsK8j2Xj%)Uj*Fu9=|ay|bM-i6hz&T3PKo<$U+vyLa#2`{m-h6t`c#-u|f7-oAOS zR+!68$JQW`OsH91Fl=d=IlldFF13(a(o*TQWNIz5lu#W}U~bN_MagwaTm##*)S|v_ z6m*v}p(${x0!(a?MwV4f11*`hU~b7}oU6n(oMOphf|b0%9*emK%Z4~Py=Yn+8WfmS zVZtIj6e>;S>#n=P-miHJvQ;=cE|$ z5;HV48D36Gt|L8s0U7DbVo&(EaQql~dGI1k4u-NJ{WWxpX*bi0^QqV3 z>aIhE9y!cLe@#1&zFWc(Y+ZQq(YeKP;u&*oKhdV0HC<*1zw5ap)FAnmW5_6Sguvt$ zTsqyF2AKX1aQoGzyK?Qobp&D&fjbWX?*0I{_X*(s{HQJ)xI-is5~{aLdYjV}cgncS zk9i*q_8?VmYh1elpiGSFc4yoU)Sv-Pw6zH**xtcX!?yfD6(xhEMp7!!!p{+oJ5grf z01mKjzN4d|&$3M1O}6>IJkbb%Wl( z6XOJE4@sFMd&-Q$gZUK=`>P~FvfwjD0^_AT?VVTM@DV{j>76%$1vUH@5P(O*HJy$x zUS%jotSEY8ATPHP|7Wu1e^<_=dli(T@j4m8tD*MdH4|&Ro*gMyA^Y)LV6&#dgU6h=M3^V)I%?c<1iOn8_|IM(gp14 z*M7jR#viZ^On+0JCIC-2RS5d6-naX~tSY|-c_VW0+($GVh{Gk`$Pw!%o^|3!bP|>n z4cPD-f#?HlCdO9;;2%fp_#D@vJATQJwa0%4>{LHs@$Zqi-f02eF?ofOMy-HOWCL%i zun>8*Z2A@L#MMqaECIa1Lc;qQS*X=3_IqvAlbYBMo{@_Gkr~|C(G;CsOSS`!x0Ct% r88LmL+c&Gz4!GVk7~@$d%TW|aNfxaUHL8yn30VAht9z%_-C_R#5m-9l literal 0 HcmV?d00001 diff --git a/fonts/medleyinterpressfonts/HELVETICA10-MRR.MEDLEYINTERPRESSFONT b/fonts/medleyinterpressfonts/HELVETICA10-MRR.MEDLEYINTERPRESSFONT new file mode 100644 index 0000000000000000000000000000000000000000..8e556670f581a8159f56448c924d2005cf4a6550 GIT binary patch literal 7145 zcmeHMPfrs;6n~2e;+jB=iN@R76PjRPTP$$fY^Uw&cDLD?B52?wJrU(#B%XRQd98MELBh9xUE!#B2O>{?4{g%#tcQ7Ma3`>)hMiT3j)tKE6$2r zb|TJ%Wx$aMFt$!L3T)YPu_rGOEUHF~bCc9=SgHC^eTPZf577*!g^ZL50j&F401DCnAH7 z8Wy0#UQj~keGv+_B2<7J?z5tJ&Y~b*YA+~w5pzW>DtCmbm){Rv8AgsE7+;4=Pq!uk zZhr-s+`4pEt{u3Jz(_>k&O?B^-vRD@1bC1i)MXcUh|FxpRNJK5oF;f!!+rj|H$uG$ znQ~v_)(rq-Y*4>D?Y5x~O=w|Xub_?PZKOJu<9xkIrFoYx6j%jy}nvp z`2wU@=+nk8OP}`Yis^tIPXN|6djXppZNUCLRIV;4hI!_xfQ4TP!1{fF#ZSnQJrWG_ zN(_r{^Z+5>_9`_dpcrwyNEsd(vR51{{XQ~ zTz~rTp#%RKl9u;j|MUejex7bWgB3qID4mSNlP#*{fO*RpAF$u{r#oWQ5PLbk#&eNpmV6Qr2UWibPh!Yphx< zYp%_*HD1$5QkOK^l;CtFrpD3ZC5->5xQA~l5hcx4nR0c7rAm}16J5gju|jigSNmW0 c0xaGSwK?Y9-f5%(Qz~NdZ?5jumgpe%H_z%op8x;= literal 0 HcmV?d00001 diff --git a/fonts/medleyinterpressfonts/HELVETICA11-BIR.MEDLEYINTERPRESSFONT b/fonts/medleyinterpressfonts/HELVETICA11-BIR.MEDLEYINTERPRESSFONT new file mode 100644 index 0000000000000000000000000000000000000000..e0fee36e4e865f06ac0f816a5b4eb534cf8fd242 GIT binary patch literal 7115 zcmeHMy>HV%6o1!>Qe24&ArT=VVReF`(0tJkCfB(nE{+}fuB8QKKx&yFFu=e@8Ih8rDC@wJ}g`y=M{%Fy63#P*@*RjojmX=*Bcr5J}v#Ez3kxeNUXeh&1DVM2J zDx-O1)ChcTaS=WN=nqD?$K2)8OQ*ogIAG5ZlFb~i==TEPe#N#~5ff+$)-TX-O_2ds zrM79Lqrqfk6xl)U=cFh3L#boj5A&mHpt396i&R2-Yg;ZgZ)WpPGPAR@bB0RBN=cNc z7llkaYN&_aI$jAqce&5$Dp%RDm`jWN1r5Bg$c|TV0&4S6RPJy?7vA-4nL~!1BuAMok@VZe*o^i2e|*>v@YAYLrmc>h1w(4<}}XyW!&M< zbQjb+kRdlUW{v`ok<&VTFs}i1Xh9pFwF!I3H<0Sc%M0ap4Aq5I5VXZCGD%F5f?e1l zY3%E;O~#O4Bq@}~q;3~Srl3n+<0wH*9MzO-0(2zp;=O^E4%Cpgp+=UF@5<5N(8DH5 zEs{pA1zUJ6<8?Nzff05@2C#`|hWU^($OxOz#5l#uDk~yin!;iI9gf$nDaUH*NKZba zYD=ieJnY~-O}^{cFb6=^!zne?{zSfuGdiJ8cE(zW2=Q}%@D{LSMBe~3cqCY}*`%U1 z8uqY!W7rAt<5guP`r`-mX~VyiKJC>Nv%EMr$s?XgxVjt}Y@jbL8=8O-0b^ z_MtVOV6X*WcflkDt6`n`XY9B^xCOdZx*MaFgFGJ+z@Vu5t#B<}}`l|=m z{U7~soliPkTUh)yeq)F?e(|lPW$`_6Y#Vucta%t?xYA%44z>)l%#pDj{02;3JE%-7 zTuJoJwcZEUTw;#}@H10ZN(8UCj`zbA{~40ZQ!K!E-HY?K oS}5pV+ti#cZUKVyrl765S8FS&x3adLu#bo9X76PHY6o!r3yV5CZ~y=R literal 0 HcmV?d00001 diff --git a/fonts/medleyinterpressfonts/HELVETICA11-BRR.MEDLEYINTERPRESSFONT b/fonts/medleyinterpressfonts/HELVETICA11-BRR.MEDLEYINTERPRESSFONT new file mode 100644 index 0000000000000000000000000000000000000000..579f8059e51d55d25494fa6e851ef16368bdb286 GIT binary patch literal 7125 zcmeHMy>HYo6n}1|0;xoW5L8S=Cn3R5=zWxaO=-?|my%0Pv0I?%wq7T6FwlX8PStIQ ze*rNt!-B+GF|l^M^~SC@w!CL2y)+G_tx9P`pXK~fT0y?QRd5zjXgP@Q&*aa2#S(2^EVvzrWzSWi#N_CD#g~@_}k#37dOp65CW_nTImGQ*wM@O{4f*`%B7{sRPav(hohPqoDmu_QhhM%(X3-n^%fc4-3=N(=&$l#&VT{G?<2R zJZiXy<~m*#O?Ra)`7^2AV+og6;&AFp{UJ~MihG2x0MqG0$^kX{yAN{ z3NZQ&;QHD>H|5fROAlni12=8~-24G>dmZ4;z0;a(;|h_R%o%!-)Qi(q;VNG&P+BAyU=5K zEZeZn#*kk`Z60<}H^xSwkGeivg+8Vo=wPc3jfr;jP}9ZSL(LARCZ=s@GJ!m`?!yPH zr@9`S#hM=cM2nX&pAFF*dzgu+Px8lCCDEgcHg=$cPx4X|OI@%1va{bV!Kj&OT?cL6 zPE^N4_8x`rq+knZ2cW+`;|vv{4}iVUJbGmdJ|f>|>*$LZ8P7vR&JOT9ylxKm1JK;Z>n|-zH=h6i literal 0 HcmV?d00001 diff --git a/fonts/medleyinterpressfonts/HELVETICA11-MIR.MEDLEYINTERPRESSFONT b/fonts/medleyinterpressfonts/HELVETICA11-MIR.MEDLEYINTERPRESSFONT new file mode 100644 index 0000000000000000000000000000000000000000..c8583edad2306a7aefb3ba25ed552dfc83ebab56 GIT binary patch literal 7135 zcmeHMy-yo46n~}?Z4aras#H{U=qW=*D}f*h<)hQ-;w0Bz?xM3pp@j`tiqZ~9r~_p} z`9nH&Y)3j~q+`acj4T~k>3jBFa!JESPzpMMt@z&ad-weO-Y<^rl-Aca*T0w>pQ>BN zA`gV)dnTl&Q%25`94Rw9A=W=nq^Hua%yed9I=zscPZ_=}@*wYfvK;tjVS?wlM#);T zi&h}GG#Q*207EOJk>iVwjg}lw@}L}WAq?ua{ZiTGl9%<%x{C)k&&7K3R>^UfO(=4A zkxR$6)T_dI&vA$m#pEqAK3?KEr&2NA^yu!PM$^oeaLHpfFAzAC=R zokEese~iGFmZShMfbQv#gTk#8-Z?p0MD1aNI9oVg-fvGq`X$>Ic?_XNq@UyAm=pt1 z=C)}}$ETB4^T?b&fvoanrXzep`eBT89(07s!B{qwzqaLa^KNElGCeyxJ7?%{EEXtD z?RlusV-NSxU&kw;@2>PEUy?dLmT-AqzU6@zCff0GPQYy$vf3SKM9Fu3TSZYI1cq1O z+RObBfRSGS4?bSIE4L2ZMj#Opc=#0H(QkmqI{;56FYB_6D@1B4W$0B>FHZM_U%^#= z!0TYN1{rEu6XqQNHgs9HTkq{c73$DLTYGF2>0PWVHH+$47NvXmCw!>_UnQR=6 z;h0S`6SkqwhT)K{v2ixfM)6~!-WRv1?&@$abA8Sy~Zyq$Ln*ro_K|qF}%L+#A`Y;cMI4)gFFcJ*d}oh<`Qe8 zH(-CX0ekYT8?bmkm(&wil%_hSzlo;_+WXU~E8^*7ab_8Mex|q|VK~z1Ks;U2&oKY! zHtA%OxYEi@Pr$M>cChJeg0BeZh)(4I>!}Cc#3l1aIeb1~?{%%PS^Rq>u`4XzNvTRX zCMwD`GZlq5RamL$R*_+|jrUjEEjlg%ynVug_cN*z)gcZUybZ&undsR|@4xmn@QX^7 zO7tXJ-y6{#+!3*1tH`jS+qcyg9hX4(yQJTy_qB~q9X(#OOhnIaopbr#fZb|u37~yP F@E4)GH#PtO literal 0 HcmV?d00001 diff --git a/fonts/medleyinterpressfonts/HELVETICA11-MRR.MEDLEYINTERPRESSFONT b/fonts/medleyinterpressfonts/HELVETICA11-MRR.MEDLEYINTERPRESSFONT new file mode 100644 index 0000000000000000000000000000000000000000..c15957ed42bb48058253bec450bc4739bdcc1119 GIT binary patch literal 7145 zcmeHMzi$&U6n-vJfI})mNFXMT45%Q1$R#DE+i`J{gUelXcET@}iFQJvLp!k031vf! zNDR!Zj4TWt8OfNn{{RDH%X{`+a!IZMA|MIWR?g3U&-U}@?|imXTYvI&{kggEthHq{ zc_`e#HzAwL8YNqDl+404vA%iDx?$Zkt^8`vS}m+(jX+j;SPpzy4}-ce!FN5QX5V+J zb||p;L*X?l_uP`KqIJfgoFiPn9Q4N^gPP-rGGb_x7?gO_CxIa9+%b(@ zay*tANPf%+3d)(~0RV*zB9!z@XpG6j#C#}+9oysP@%-|2t5__q7#fdeg(j*$5CuM# za339Z{R%qo$w2b^QUhcQkC)|L9{SN#yMDjc1IfV^m~D$U=&D#%ww2(IJpRL z>Jz}?=G0v|a^MJoxj^8|C4jSE0M5MxxKNzbWd~P??2W9Umr1=ioe)6-*ZJSQ5XOs; zq1H8F9s^(tlltAOw*xKMg)X-B682Hv!Pr7s{V?B6i7nDngbqG4>@+hmX5bsku_dh2 zVW(k_Jz`6k&)`q%OxS1Jn9pE8ZM15uJ^}W6aRa3;tic9+hBfvGWvzP+9W3j@E<2CD z>e#^a_k?(i)Ec!(czo~MDD>Qsh#_TqZ z7Z9&^@IhBbG=V+QGUD=)FhgXw2ir3qM2w)1dT%dq$4Kr2V)7`y=JRt**a(e@lAVca zja1T;t6qQ+U0Ol(vZSg0%d&LBUQ7^H8iRx_%r{|wo+|$(A7*~g>4ZI>Agnh;*yZ^q z?99)|v>j|s+kx@@rxF&fCJ1W{64uJ&rN`WEV#k9q)7r#Fai;zJ)6S(c_I;nR2XBWN zd+Q%y>@Lnf9xLDt;)};BJmTm)9WTa)h09~rzoLwKI-H4zYksAh5!)^^N6Kcupf@wA zjAdhXu~uQ8FA4w;W04#3=#7 zOnj&kyo^#3JqH4<#ql05P9p=ll)>6L9Z4Ff8C#hQBd8FkI`{fqQ0Bb$Qeh1W!HC6xs literal 0 HcmV?d00001 diff --git a/fonts/medleyinterpressfonts/HELVETICA12-BIR.MEDLEYINTERPRESSFONT b/fonts/medleyinterpressfonts/HELVETICA12-BIR.MEDLEYINTERPRESSFONT new file mode 100644 index 0000000000000000000000000000000000000000..ccf96680aa89a81214f828e9d0e199a793ca828a GIT binary patch literal 7115 zcmeHMy-yTD6n}&9#MMZQiN?fYa}^dCxC7y!TK4Ad7WZ~9JHrVY3k_$bXrUn%)O32W zuq3hK53sW^QA=A&TFYxG!S`l%xxHmUAqaQj-eh;*$IiSr@BNsY9jc9`7mau3^HdMr0Rk;@vstni@Zd$JbzHDQA1xJK1l zuq##|xHK8;8UON&B}|}2tY74zPs)I( zaoaS;;*-g#S>z82e_TZ}(UCeK{V+ee20FVGUaS%-THA8Dc_}|}FE=?kIc4Z%)XP+& z_AFG|QNulq*73?1xhs9i7o^UPC0t&T4|w2(MRvTR6L4FGq7FwIQQ=+RRyh<{{>%cL zIbFU8aODfYwWntuN7fef{%3G)H~8#r#zd;OZQ0-Mmnu{PK(>knP_>7+Br6iSAk{VH@$(n4D8^ABVa?H7zfGQq=zQUgtiuXSS3kmKEp4J zY6r&^u!Yf5dxF==P&1q%jYeaxpf}7%NH{~v3EnA7Dl>|U@)Et5c&eFcogP17Z;R|b z@;^ytOXL^x^&Mxah^?Ybb|R_;Glf!hl{%FH>_hS;Sg0lThY&nXXeebqdVV|!16?>IQg)58iT$dAY z9q-v=0l>omB=rHVxbCl0Kf=xoq{G!}udXndge(3tq&H8ofSI~c3W$S{@H`3$PoA)8 zE;O_sYd}p?^bEzY_Z*(dV8e0n+D~}0g-z?D=l-|;vt|d+$EXoSPvW=f)?rhM*eyJZ kQ<}v77Ej}l^eG(iT8{PAY}+$=IwqyVbv*{x#vWY%00B@ccmMzZ literal 0 HcmV?d00001 diff --git a/fonts/medleyinterpressfonts/HELVETICA12-BRR.MEDLEYINTERPRESSFONT b/fonts/medleyinterpressfonts/HELVETICA12-BRR.MEDLEYINTERPRESSFONT new file mode 100644 index 0000000000000000000000000000000000000000..91631f80e03b57b94f4686bbd2629f0b990d9b53 GIT binary patch literal 7125 zcmeHMzi-n(6noxjLV^L*IB84Ed_3qu5^WCMj{@~I2GyCD=&QoiZ z$HI?7o2JXtR?U?hl3l$j)}LH;W}G?OsVtVA#aU!VvdQCm6v}oSwS`TgA6PB-j@NW! z!KKaUt3@=mrb^WKs_&sCKa@Of$6N?YnZ2mh4!GoPQ`wk!?D1O0Qg>T^aMz|L4_3MK zJy%y1{u)OYC$&;{RpXbJqM&BSys;9vahhJy1zh3r5H7JTt=4#=(`&6ax!-6aduq;# zBk4*tenvDo8s(n|RvNecnrx!6vZXXn_+dR7jX*{%&l7b-&{bko<4K|n_ zcnEj>umRTt8A*Oen((+H;B|SE$6+$fepvHk?#V;Xilf(1F7U6e0p=&JmscM09?G=;Ec{b=kuTF+DSFnMKkpPRB&Ff;IlnE`#Y3 zWa(8+*hh%i)bDydtkcfp%%%RJC~IlQTIHDAEH%oa4;ti+bt61}26 zY$dkAmY~~s%FLz#%A95|@qp2;V)O|=`mCg%0d-NUL>+LCI_$a9wB2B*}6kBAB0DoQ#skhUR%*@d*&WU5DIj9p!JvcOPhA0X=f z)QAz2W%dQ5)Wm>H_A)8jf%QG~5__Y{jmWy2AVPi6hx>qgR(21Nf=8pZQYkE4N2A`m z^mgx6@@kl=Rq)Tt{oZDND&O1xS4%!z7cy{_);L_NMTYC{f%3ls;$V;a*KiFc;5u7m zxE}1uH~`*Z+j5X87p`<8v${^e)u~)R#Owag=x%op`|sKQ_Lz^??GawTz8ha&oytPt z@w$WA$6-Qm^VM-D)%!Sz{FJ6{{WNl+F`d&=#A4 z3B+u?#_1I)Hk77`ic2jJE@m_-rF{-vA<^EF}N{ literal 0 HcmV?d00001 diff --git a/fonts/medleyinterpressfonts/HELVETICA12-MIR.MEDLEYINTERPRESSFONT b/fonts/medleyinterpressfonts/HELVETICA12-MIR.MEDLEYINTERPRESSFONT new file mode 100644 index 0000000000000000000000000000000000000000..f05168f9383834dfdaca6f74baee2c4e5e4b7c1a GIT binary patch literal 7135 zcmeHMJ8u&~5S|TEfD1xGNJNO{9p|-u;e2P^u0sNG7t?@%0%TF3RMbQi zh$@u%573b^l=%xO-KI>K*}b#Rj-8jH#HVCOw>LBUnw|N)*_%`vt8W{h&DZbWeKZz% zARON_A(c)U1xs?|%-p1Ce3;BkXP%mw?0h;ipT|aDmU&S0Jy{L>sxZNGT%%$w*<~vb zT$&6H41kdp>QUf}j*T-pp5#F_;6fOrw*5-g<&szRV6EbT%?mM2(W*G^vI%AGE^_JE zmKrLYmmHV4qlBVGlTTE5!KqbDM_R69n*lG?Tq}62dRW5d9@@kcE~{C)=Dp&f-K`?;|58#aJ-`5*@E;dwk?Y2LW@|xz{54k2cpVt z(@4j+lTrJ~4&Fdc*^=*apOAj&BOM3rVKOil4P~!wx!k;&%}-@!W@cs$?T*C~g{iX- z<$Ba`5AAil658%cU-BiX{bLE27v*yvcwwL&uiymSmZ7N4kwz4J*SD1y1wvqS1unhZ z9s?Nr1911vrJHhXz_kYw;emUP0Pg<-c<=?_;nZ18w(*2WO{WZfO6tSumhfwM%AfN& z7@a|eI@W}F1AvX3)$I1Tb!fs4v~aFXHi7&)Qj=}!2jx~DYEml^w6Gp$6D-Z~0pq+=$^6KoW9qeR$;2-ieAc5!42_K=#2t3w^Oq0Uy7b|3XWu}>49 zEnHuoLq}gar@<(TG+#&e{Yx0uvjB1bkGQbA4Gu^hX<{!`xeSq+TEox>9 z*b{5^OUuX$e7=T5>+l;b0oY?d&=;{{EQg4oKk4n8z$+tu3y8p@;F`@Q7q78>pPD7_ zokP*FRro*AY~gR^M18M9r~Y`Ii{Vuo-FVF<8m}iu%2kMd^7eQp1s}IkT{Q>*81K5M_y?~udK45n+{P;zI zw|amzq)4VOizCa(@{!G_X$)5y48*}Lr&;Du-xhmzNH_e7c4Ybjmc?(d^&Y_H5}YD{ z5RlvWS$+&Ohd+i_)589Mo$j2laH|)v_#cp@=ClBFQi>?p#6>~J>=YHuR3T|jy<%0E znNpgbd!8PR`58r&sfmqivzX^X(qi;(H(nI8iy0y!D$$#G{qv<<+a8Hwt=O=l>|4Ff i$6LBb(|A2ccOSi8l%I;;y?u_A`vZ0(2G~X$u>S##X+d-V literal 0 HcmV?d00001 diff --git a/fonts/medleyinterpressfonts/HELVETICA12-MRR.MEDLEYINTERPRESSFONT b/fonts/medleyinterpressfonts/HELVETICA12-MRR.MEDLEYINTERPRESSFONT new file mode 100644 index 0000000000000000000000000000000000000000..6536a91d6383a0b8c899a0aaa54617bee9acb865 GIT binary patch literal 7145 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 F>n{V)7g_)S literal 0 HcmV?d00001 diff --git a/fonts/medleyinterpressfonts/HELVETICA14-MIR.MEDLEYINTERPRESSFONT b/fonts/medleyinterpressfonts/HELVETICA14-MIR.MEDLEYINTERPRESSFONT new file mode 100644 index 0000000000000000000000000000000000000000..af5920b63f78d867dad15623de9731ddbfc74cea GIT binary patch literal 7135 zcmeHMy-yTD6n}Fjs7u1dm`IGx<|-^8a0l{Xwd~E^E$;1Jb_N8+N}!RP77$}WOf-f+ z!(2t^>@AF;wbP2&87o42CHUUVF82u@h`m>4}lyl;O()4|2XIOMzb!CU}l(6s=ji zUhy4@vfgZqT|k)P~h$i zmyT_zsls`}af=>BV0GiDq1%*4Ef9zys0T-Jzh_Z#_<@}ln(l6S!$e{}@>iSt8?nyon zC2pI>P`x>6Wk=?41BR6@BMt5o(hq&41$gqH?L<#2GXOWqhp44$4s8W zRI@|59y#1YeH|~4y1UYsd{%1zSi)zIkQYfKv66;AO*aGH0 z%xmnaT5pmi*(c7FvhW=1AKm~QIsG7W_JVX8pb25}_X~?oLRY*1> zT3hxNc|VAcp2GF8{)ING#6BQR|fEB7%O>555F8jQX#D2s{d| znM{1~8X0|(7QJ^GNynD(-`Q&VZ>2NY%OKSruPb$UeP%S`6~D&gdcI;nJ4ec8h<^NR zY>(IFBk(#BYrMuULT9Y;`Wf$c%Y&Ua~* z#QWB2EBB&vYWKLdfMw5XfQ51sV25M;L;$d-LbHq4Qr)}gk-E~a$pe1}?2Tr?;=e~? zd*{MeC(4uLg{W2i1y$2aRiExr-H`BY3$sp98X<-`iNxF56CNOGZBsDp8R-$exH6I)O+GS`sj0E#)OadEeUW29#`i=a@C)1k&v9wq zoU?Lfz?m=z>{Ecg1v$cIMaM!-jwe`92pH#7vMoPfaG78QJz29@U@^OalQHv-J8wXa zxkV-%%T!aj^PHiH0Yzj?seCxkY-cua1S~u2nnBb)P(w^^F%O+0TZ*(>U61sTyR+G6jxBPiY??~S;*OW`>uV5x-m-WGV`$2*Z?n**3<57O z%b;V8>q)AGq>flYS~)Y`6hJQgFiLtSbd05k4f~-SwoI29*HhyUlM@pYlT^o}n3Wq< zUx*4ma+rq>J6;x@cZDz5oX`O>xyv%*DGR)Cs~yjF0%nPj)b0oxZNKYVDvTUK(7yne zUTzKm-1-JEuyX0H^c?6#perJ9`#!*(UjTQj0QV-&>av9=L}D~S^)aarryJa##dH3= z55njWqUv1Z#x(%acUHd-=G9;gcF7Rx+9uQ3|BQ8wZ0if}L+uqu;RsdxS)utgwMPHl$6w2GRN+S{c;Vpe!{&nS7BvX&p!I zN*U@cVNcg(Y|p1u^a_3-=z#o8M!iMgXCwkJ~|&FLjI^9ybG+;#`k~-JPNNVe8K5j z!0KR}?Or?EwANXAbL9ijDv77{!xAsMirjd>t~LPnC2a<5y1M~;a;RKIICTD+;{m&L z1YpOz8?c?fC70~s+9lgR#(XSb;YkBvt>zOpnVRe&_L!hvi1?)M5Eo*+gOtW2_IDkz z`=447`}jXV>@L0<;Ae&UnAwC){IpQC`s_J!cly2_DL#b|?W=M)5)YT0!c5yxT;oz3 zv*Q`{ory&(c~wU&EVm#w-OY&tfIYQ2JFpY>I)1Nu4mL;Nc*H_0V)1{H?#&eFWD};F zu&A_C7!FJ$NzRO{x)%!SO$C!sm5_|ukkqFZrfF0~J(#3vFPQGas`*jdKI&pQVUkLn z@AY#FZK@|(rloWusX3jbd@5tQsT_J2wIQj0FZ66VGiEl9)VB4M=ocnbaEc}#v0Dvi J?7IWR{sTidA_xEg literal 0 HcmV?d00001 diff --git a/fonts/medleyinterpressfonts/HELVETICA18-BIR.MEDLEYINTERPRESSFONT b/fonts/medleyinterpressfonts/HELVETICA18-BIR.MEDLEYINTERPRESSFONT new file mode 100644 index 0000000000000000000000000000000000000000..d8ec62e71a140a9b4d48f253bf2ece2863052c67 GIT binary patch literal 7115 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 literal 0 HcmV?d00001 diff --git a/fonts/medleyinterpressfonts/HELVETICA18-MRR.MEDLEYINTERPRESSFONT b/fonts/medleyinterpressfonts/HELVETICA18-MRR.MEDLEYINTERPRESSFONT new file mode 100644 index 0000000000000000000000000000000000000000..4aeb5a46ed0006bb08a4a464cc86b6a66e4692ec GIT binary patch literal 7145 zcmeHMy-yTD6o0cMifhEE(Zp`O3KKDMcgRP#?9JUR?(JT71_Un>i^Ga2iCP#EJ93?| zFouqj&{EnMVnwb}s0jaoEj_+BvwI(KoCH5`12fs3c{6Y3eavs?X5N+Ns`GPit>-Ua zyf&wJDBQreAT^jWbGGDIv$6wXZebw(ApOuvXT}E8V?#qJGmu3d<^x}r!=NlI@LkU= z+0#zZ4h5GMgMAagm?e%JpK=|X$@L`<%OMxSq-G~5l|3$bSr67tJal-jr6q5dTyMsL zBKM}abRAm_748#`BCabUZ`0)cC7yF9OIFAWlb#*M_%;Q#Hu(NG3T! zl(}P>gRS)kG;CQ9rLbdr+`5<O_{TT1}9hfk`qgF8g(LCVzIq~4r*MKFo` z{GZ+k<4wp^`qV$sd(?MzmuQ>QF~J$xF&J z)UP#T6EWYxk}Qi-op@v7aA~|kxmT&3?GPW^Gd^k>>znAK7@IY0{fcc>^kPFl8fVT# zh@cj%%l_KzI2a0SitGV4t?{u<6Xm zIbyr}^zZZ@_YCoOr2jv&c0?@eYa(|4*+ImPCLghE94{7lt-uQoz%J}I=&n}=TD6}1 zpIW>4a&j~hkM8*$9q`hH*PEoJ=4GxkV!NDT)7c~k3P52LSU+Y$>v>9?2Rb9R^%&cG zV2{n>|0Kyh$Ewg2hNozus2(qv-ghuyg<18fcigMWWuUB6Tt+0@p$dkzRHjT3%pDXtoZ;c5|oTt;LxCJGGV%pHSU&DoLT W@chwSzbZN+7XRjIhPG-A#Qp@l-YjJR literal 0 HcmV?d00001 diff --git a/fonts/medleyinterpressfonts/HELVETICA24-BIR.MEDLEYINTERPRESSFONT b/fonts/medleyinterpressfonts/HELVETICA24-BIR.MEDLEYINTERPRESSFONT new file mode 100644 index 0000000000000000000000000000000000000000..a7b8f67fa5daf6f773c138398a48295f1bf124f8 GIT binary patch literal 7115 zcmeHMJ!}+56n-;jezFlk5dsq_#l}Ji3M2c@#)Qht-rViN-tMt8HYQX^n8G4IMN%Y@ zXi!8$oh~9xWTlMKr9h&JqH7|HBD&UemK#KAiM%(n!|k2d))_406`s-V%=?*{_uhOv zH#65-ymN2yd-v|wUw!M$i&Tb5?84aOm{a$Zz?wTXE*HNUuTE4iy4Bj{$=c5CXGsyLdgi;QNYnhr$R3{X7snUf~UQ{+Aa7<7irlhIuBMp##Y%lNEAlrO`$k@Or; zNz3rlTY8& zWFJ?EG5n=4YouA6j>=>XSNL6B1?>vt=tWJs6#&NH)M(p|jlw!xW?g_v!p~xTlsJ{d zJVoh;4zs24oVERAjojT{KD^Y9v^5O3mJC12W=+=Rvzxj5okJ%*V`Cv)d4A{md;qRf zWxW=_W9Kn)8V}{GY-7Jq(SdzM5h#Xhe(QR45U%)VNGWfz5U#T(Qy{1YS>j7n!8;_( zrj`kM#WSF6k}We5Z?iDrEtbwy%LIJ|-g99#EL-*|>;Zu{QaaO6RI@{xwM&1-t6HYt xR;tSm-nex#jx96N+%uWzQT&RR0=${SY?|0I>tF{(Azbmltk<_#@W*So{trY4KPUhI literal 0 HcmV?d00001 diff --git a/fonts/medleyinterpressfonts/HELVETICA24-BRR.MEDLEYINTERPRESSFONT b/fonts/medleyinterpressfonts/HELVETICA24-BRR.MEDLEYINTERPRESSFONT new file mode 100644 index 0000000000000000000000000000000000000000..a988170ced5c6abf3b322be2915cff44a3973d0b GIT binary patch literal 7125 zcmeHMJ!}&(6n=IhD2G5G1OXwTQv_8R_-WEmVB)wqxr57HIJ@DMj#v(Rsvtt!=TPh z@LkWSSyybw3ON%dfnNpyosm7tY}&PPCf64%tcQ$qLyGO7R`-}-bv;;%SZK3yLQ=76 zuGcWZVcs+ou5GEI+?`>lV!vW4mYjU-eBhPMkX5HVD~#Kts)NOC=A%iOgNiM)h$lJ4 zJIt**_&QrK!a!I;`cD9Qy^;2DZ>oCPEeppav|&ij=B{4}x*mw2X4|}i5ws*3lv$)x zhJe?ZZ5rcAZwktd;;QyfC{s$yg2zP=MM$rLj<2*Yu@=f)+wz#XwOBe{n4FwEZRluB zSLGsg-B5u?3G>lh*RP`Ko(KfHB6N5x?y-uv$U;9_X4fyfA+trqYIB4UFTEGoDu^5b zuw@1|ylfi**!~V+=iG*yvT49(1X2-!-FpG{d;-{aAK<`|K~1)ChsdAI8+wz}o6`sn zrf`oR?lu^2L5AAZxS0VUbWp3~aU=(eWS+DDG68jv9wTG0m_gk|m`zCv~C^P0~gkZSs}m z@OKFoV1YDYfqut1vM6bj^Vlbcqnh*?`Hb`nG7s5rw1;vs)D9{h&3J0klChBf zswk<*Ak~bb(vJJ}w$ihxs2Ik~$~IF$y;r52zLNUsqfCV$B9-JL@;^0=QF%cwAfL?~ zR(3{W{D?OqM92?%d=8)=jN}<029H8(v6xo4c6=UyK+p}P=%tnLU)yy0Pi1X=|A$`v z;rg%(S9onKhwDU|;ktI9{11ztJ|FwT^+p1&FMHrxN;6#3w?OM`@!~q``%86w;R;U@ zaDBcUu7%?1O}zePkcZHHt*3_}sQRa;=!;kKxQo|crCz*ZVlJJRt#~2GJYFYS@}hx9 zf4p#Y_@(6s`?!C%%?>TSBd>h2td7Ig-{_Hp{gM{FJJ`sL93`)NT7O@>(&Xv&TMu3* zQkxvW%jOR0we+55H!}X4x(AIwf4pAn?ys<`7q9qVk+klwm~v88MoUt0)aWH8!Q>Mi z)l~eZ(_)ebt1fXHvC-(KR8^e$X=hY|zyudoEr{F1>vbWcw3OPbkWQqrqx)a>zsOl+lrB)mx^%V6Kamxusxgd^6@ZNmHA8e$=SP3gKBYWn(`Fig+za8&9 zx0Y_*UHaL-eee4py# zo+hfDrETd$62)FCxE?lxObX>Qc;x}`8`PsF7NQVmiV`KVb|$3sNFAoFb}W==o54mU zvQX4|H1(hr#fv^PMZ6$X6b5>zjJ_4P#OGS52Q>M3OVpzImLI7gjzT{ZjrlmpzS2Dc z8HxmLDtTJ02`jTRT5gJ{(ZuGlFTE^Pfg%7Hz@R&1pp54m-$XUl^cg?rkrc`(si$2R zRN4wdSw{#1s-`tz*CY&NTZFzh)$2}0`%&H7foW~aOdotwr4}Qz4+dc}uxB^4y=omGu+X4w>iVIfM~z6(-Y99H?XgOgxULL7fs936eJ!%YZgiB?qD+L! zipCt}xy_H$P@^c30w-?3k*AMN0-XFC;M8|VZpyI%#|RVxflto@oc<5svxfj*TpZTq z5KoBmrLt#ENpm=TDARd7)Qz(>c#8F3`7-;BJwbc19Y3Q<|D%T+ zgaF#Ig?G}|a*Ke>S&ur2dI^oTdKgV?u3w)PYq;>gn={&n- z`tipoKeJ;x>?hnCVC$vR##*ZfZ_zS>e$w5W0RPA9eG72p(R8g=3(HsM^Drf$H;QET zmiWKF+03)DzrOE7uYA7#(&a1s;q~)%y3l;xKU3a^-7lVx`Fy?8!`I&j_&QT)z7}tX z4%yyTblF8t9K#eLDp53ETS$`^g|-@$Zqsp0GM5 zg>fkYjp`0OK1Vf-DA_YM=cL8x6K0cKX+?}}VZxY}&Q!AveFetCFdLOC`#KzgfH5_l zX(_6?CGCT}j{ECvPrJABF5%0(O5Iy%wZdM3)gD;?y3)1$t5iQyR{qB I>WLA&2Fg!9hX4Qo literal 0 HcmV?d00001 diff --git a/fonts/medleyinterpressfonts/HELVETICA24-MRR.MEDLEYINTERPRESSFONT b/fonts/medleyinterpressfonts/HELVETICA24-MRR.MEDLEYINTERPRESSFONT new file mode 100644 index 0000000000000000000000000000000000000000..785968783b30aa39b86345361935d7f3a63ebbdc GIT binary patch literal 7145 zcmeHMPjA~c6n~_PY*T@5Ly={}ibC}v=nfqk*`B+eB1p6?RF+(k$?5^?p-p-ihOHQO z*#_)V^mAmFA=s_Rp$KwVv16|3&FHPzVTXK!0^NJ07|V_uI7OC5Xh=xp<0JY0@TX^z z?yjzUxB9bt?}zVya+XCVqcm}$x=?jOUkR+a^(%7q{uS@4_l4`#t}l4k8`r8%syZTT zrHSfgX-~S4M6uKLZv`DclR~)+UOE8$HuVU_aunc9QKCfF%Y>8;H3w<87YikNX0T}z zSs=nfOUv&@ao>fGh?j+m0$&f6(bob+e5{FROq`hy$fcb1#{dFg_*?3+tg34*XcS@6;Nf zd(CF^nq&O2+@^&Z8ls(#Eh0gMqoj?>$0}9gmNE|VWh`3ihRBk9siP!}G7+epH0mhF zE`OW`+Km!HFmoH;czW*~z}Y7N=kC98RZbN+^*|{+@ZlwZ^G^XjdI<1I^L14YFhW$X zRvi;2O>lZwrb`&-k2(=Ap2^cFrxleV-B^Z@CCFY?EZ zoth2E7i6#YlJ*So%^0?6`;C`mS)Q~HEwR6>v{0_3cHT!H0Dn+vu@%#g|AF+s`Irs1 z!rsTeJCzIU@4QVHPCrKk{ixf$0RPJ=?gK1%G+t}9@&dMK_+je^_9IDVap?n?ZaVX^ zOxO2q=rtLzzYGBje>$Upt(P0H(?jKLSpM?aI2o|t76AME7+@Ra25kA3=$JL$J!W}_ z6gLsD@J#`*zl{RctKp?bSvRqVbk2$DKJ6ajL@E70C^HeU?Cub;FB{{C{j&UsW$Spb z7|@XeH};n?TN;mD2Rr#pcrbr@u9fs^B)*z6y_Eeu*?`~K-+Izp=-_8`oQPQd;}Egq zyI8MY;)?>r=Nj3Khi^K5pQaLeU@~Hh+t?4rVr(7%Cn@i)0I#NWrlq2qT{3=Cx6I<@ z)U2sl&R)3%lufc_PVzog@LEe}s^yH4f-h1Aoos2S<9p|qR61S_;}(9y`r3+ZQzmW9 wdqgk1gu`r-EpyVuKfD6d8AtD3mKA3(vQ3MPm_`0{^@)hZzq$6VwhA%!Kd1dZV*mgE literal 0 HcmV?d00001 diff --git a/fonts/medleyinterpressfonts/LETTERGOTHIC10-BRR.MEDLEYINTERPRESSFONT b/fonts/medleyinterpressfonts/LETTERGOTHIC10-BRR.MEDLEYINTERPRESSFONT new file mode 100644 index 0000000000000000000000000000000000000000..6da66de8a0900b7e61163f906027346413fcb79f GIT binary patch literal 5773 zcmeHLPjAyO6nBTjA0r_qzChFqa2RTnj*i`e<0KYo9NBJRTqY#S2?2*)_VQ-EGq-G~CX--jN>v zIPyFGYtIi(yTNJ43Z+T8ie+vJB@6A5Tx4_*eqd>+G&f$0{H25(oP$QhM}k>TA~#$W zifc`Q&E%lSxZwpFBa17>qZ%g;2O>N3h*h-4iCtANXRXCYZdaj>h(qxI;;qagPw`}! zg{t~~=@dfEcy3X(4jmcsk|u?tQ!bJe#Gj~=CNvO&79qrChtXLQmZhbKrt=y zSk5Rgb>7Os52g$cU(Ns}9{;*^7<&Nw2y9IRo?H-e_#ELr`?D!*W;;Z?)27%au|Yl5a%da< zjd#PU3sKkHw0Dn?*1@L0XLb`ZA=C1MGvNH6F<*DH^`^63TxU|D0B;lfnJx{83J#nB z)`|l*^EuAI3;F~au8Qx7r5oy0dLTsasD}QlIcnAAPD0Phih#Fz?J!V32vo)63N{F~ zxneOIo82M5H*uk#D!*6vh#9=P{*G!kuh`!9S8V+m-_gA8?zS3NtRI|gf61=O=e~ul zipm}2ZBVjrw!38U6bWx-JjX32rTN=>(Y^^aA-}D9g`|n)b#!ru>mE>$qQ*C6 ky`0zF(+pMflI_`l>$dmD7aaEY<8DOY@}gcVZBnxT0Ky8dz5oCK literal 0 HcmV?d00001 diff --git a/fonts/medleyinterpressfonts/LETTERGOTHIC10-MRR.MEDLEYINTERPRESSFONT b/fonts/medleyinterpressfonts/LETTERGOTHIC10-MRR.MEDLEYINTERPRESSFONT new file mode 100644 index 0000000000000000000000000000000000000000..2ef331bb7cd7b7a45c049b7d418acd2c3f876280 GIT binary patch literal 5789 zcmeHLO^?$s5Oo)c4b%Z!KPforO9hiE#YK1;k=jFa_x> zk5u#d#DzqfLuqjh4xJf8ZIjB`8HhB)<~LMH6B#67KuCW{2vX;>^reVRW&@TKEv`kG z$aWb<7M$zE(ul0I6zB>#qvPIc0=JCt5BMhz%JDA@Y9ni!{8o69ajwpWIJi8@f!zs@ zp9a(E^u!Yu%~RZ|b{QCn9w@ntMVa<6VsjSh91`;aR9Wx0C}W|3o7(h{3~e-!OYVr& zRtdMy$(3LC9uac?+m*xE1K2aLGYmZVO2}d8;XeGnDQs>t#BemEK2iDvbyv%oP4@pF zA2xZ2y7Z>mEkXtdn?k?nw&{ER2mdG+S1;uUO`rT@ioNS zc(6}f_ca{FkBK&3jo%r)hmUFEu+fk1!~FP7-A8rXT?;*{6@lOEodZGlFwls{Nj403 zTeF^z{?oI({m(w`8)>hv*~xX#Z1+9Ck^8>Oi(Xr^L3nZAj!u%*$iwWdWzv{ba=zeLR~f@2BU(9P!cAs`A^N#QF=?ZCDc5NQYt)3gd4 zv|Vx+0xO^xMM~aCb-{=-m5Es>e}k{SADxnix<48yxqN_PfU_j8rHkQRjN-HwW*+gU3kqHsuwKdJDrY?9GVosQienx&uY zH;S+&L1RzIb_hw*aQ|0M^7xhPaqef8(mWuN=K+`Q4)%ZRdlaA-{fh`|Jlg*8=5HU* E8*{d~p#T5? literal 0 HcmV?d00001 diff --git a/fonts/medleyinterpressfonts/MODERN06-BIR.MEDLEYINTERPRESSFONT b/fonts/medleyinterpressfonts/MODERN06-BIR.MEDLEYINTERPRESSFONT new file mode 100644 index 0000000000000000000000000000000000000000..c056b40638bbf017abd0a5b04c9224a322165c6a GIT binary patch literal 5717 zcmeHL&2AGh5S|vPR7OHbyud2z0gy`DY)VUWTD;E2Vzay0ZfQC6L^(tia6pl`=H3U$ z1LOeD&Tj+2TdTDSOHEU#Mw*yRrJ431kuhrpySy1FEsQq@ zKN-M$Mm<8YBRP7Ki4iJOLTg59p0=`B7?HWbP9+o<;h3fov}C;JK`RY~O6)i--w5=- zV1-6No*%tPTEJ+}5hbCD37z7<1J$SYQE3K=!YJYXs{fuY#v045_L zY&zbKUdzxlu|toM#I;Ns=?J|^Tb%0#W^Z?ic!Zo!O7ZJVaF4AGL#d*l1?K+=e9hum zKb19Y(mXXT{VuTtZfp@ORvyH{yX&t%t!`{=Y%-UMorqRv6obt;YD9uiWfCE7#J}Vc z6X;kp%u7sqzPK_8r4roaqQhcXvEXsaZTd7W`$7g+PK)2K9KtPt+YHQ92JZC%?!N+f z@B`rCm$J|~?huvL3Uk||+nE-1x{W*g^!C4E`(buF)7~9`x%sk)hvQa2K^ywefdTZO z4iPru>!`0|>zvUP+6K0@?Witvacl?u^sEmBN64QbPk#GoB`-bH4)Aw`Jo%=12l(rt zec$#``0VDh*5TMnq)})mTL*RIsf}&LK8Ioa1EZ`@@(cD?N6%dw9XXAVBcf*;u~BBo z?()*MTEa7G)Xzmm@4wT@uuIo+eau`zPU9q6i-N}W!1nTrpksXO^dCR@i{i1B>iaWU zszvZ+-m1)?DU3Ouf{z>I;=-j`^*3)=t-9^xIkRJyVJlIq&u6q&=_9}$$8^Nd zp*519*rV?Jv`??5M@QWGGfvy;j{j+Uy=;F&)EBSS+H8KV0)9?@!$zNxw=|O(C{e5U z&)f`Nt-xM~=t@LXyoq<8@9qjg^6$GIUA^jLLMq-)B2Ps9yb*U6(R{9FG2*OVm#cFT ny6A>`6;8Qtr!5=5%N|_}sTJ9rjHIxV{?v78vg3L3MQZgIla|gQ literal 0 HcmV?d00001 diff --git a/fonts/medleyinterpressfonts/MODERN06-BRR.MEDLEYINTERPRESSFONT b/fonts/medleyinterpressfonts/MODERN06-BRR.MEDLEYINTERPRESSFONT new file mode 100644 index 0000000000000000000000000000000000000000..6eedad36861befc6680dd6962f7ebb64a160c93f GIT binary patch literal 5725 zcmeGg%We}fa9X5N83_sT1FNV9Kq_goEiKJy@j9Coo88EE1Le>Yg0mXV6eMyln8gh@(19_nFLepvn0;fJs-#IF)Qi zFXB+wk>P+5##NlwvZ47pYjCb=7`~TFG)9~AMJWKPDY(a02fkEL&jRz$w0_MPvOX3! zrL#OZb^~l^C$_;D%Y#ICxBd0Um5q&!O=e@!ifDg^PMDY@MWkqJoJMFkIH_$dxUFf202io{19TN6&e2in#+rwGXa)8u6KKnQ(-4XKi@#*0FuHljR z?&hmj;mBY_kvLCt9i)+_HbU9F2X6evfc&=r*hB6!`A03vd&1f{N0D*-WC>Bn!BWUG z0&2v6cC+iyeAh7b@)aHB$WX0amUf(T<`Zlu&j>2yBlUl@_PgXUsp{i>W)^cb_qR|N z6_PqBWOvJD$I1Cgirc+O`hSXFI#(U@w{4T1?^gNlbBv}HGO&-$2Hme()fFvqZl^0 zTUH)3sX`GbkgWIz-E7`j>6?gvn(Jw7Z~OM#A^haIN8evn zn!@IKi;*U3y&PzCS{ttHBu?Y{v$WBZb#PkYlDlTvqW;_H(bpk?i{_*!ZkFg)Vv^$m I_+^syCjeIA&;S4c literal 0 HcmV?d00001 diff --git a/fonts/medleyinterpressfonts/MODERN06-MIR.MEDLEYINTERPRESSFONT b/fonts/medleyinterpressfonts/MODERN06-MIR.MEDLEYINTERPRESSFONT new file mode 100644 index 0000000000000000000000000000000000000000..e125d49d1ebb5d7f59a7b445188ff45a191c5789 GIT binary patch literal 5733 zcmeGg%We}fa9X4SMnXdTz$)qigi6|MN=tKEd7X{LJ|f#GEl5344iN$lC=%D)`vE<1 z$_0r72gIcx&=1I+Pk|YGH%Sq+bX(DGRgWCc!yeC!r{i^#-B)jRKYFjq!{1o(Ha z7qU*rz390NO$R6JGorYbX*-+RZ?c4Q-NyKBEfS7K=bKUlbXRbXtxTM0pq>Th|K0qi zwPf{3vjt6iHvs15%i26yR|f?H7-1j7 zKC~c0Ae^uk!r%{}aLw34->w?M5Z4Z%kH4ft!5-p=h?CwCO8YqOBX^8_4{_2RA$M#g zL)gJN16)U%+^#J+uoQ7cT&RxoM(NLe# zkL;y)eBjS7tN-QNJl>XaQo7iy*CtkxFs1+mO?nAzKez>Yj{Ar`-P%9^kv5-1_BYa{JfbE5BI?{e_ChdJOt#~rg?vr|j j_>MKFtp6^0^h6{mqG?sm{1j4R9eFs-%sCM~O}735$3xP@ literal 0 HcmV?d00001 diff --git a/fonts/medleyinterpressfonts/MODERN06-MRR.MEDLEYINTERPRESSFONT b/fonts/medleyinterpressfonts/MODERN06-MRR.MEDLEYINTERPRESSFONT new file mode 100644 index 0000000000000000000000000000000000000000..a520e86c19804ff5d11c0180dc86c231bc55e33d GIT binary patch literal 6427 zcmeHL&2G~`5T1fmz(|!45@##w0fb80q@|@fS@y=U@K5A*Ld&6CD2J#54k!}W-1`81 zfLyrsz^&Z-0KW4mFyF2>by12)s8me5BYS6Oc4lX0$Lq19{kI4EpY3-a-hZU!xR0$WlcexiL{#vDJ_uQBUmHSUPO?|_|KX_7e^++QI2 z)ft#4!=C>t@Ujk1II=KuWe~TMGY7IHa$VWx0PZXUXRC`v5dzs2u5GPNylJqWMXUK6 z``48z8|Pvtv!n=+-UJ<9*jL&LWv=Ul!oJhoc-Gk5+}yHsH2OaF=*$fjcczG#tqo$I zO=lODb!;3NigxyrLtkuh5PLx?+^iUCTQbXRdziQ?f|56Xu}@dt?%gK3e|+U;+!$~Z zfyzW+=?&3?C8CGlh#noxYqrZLL~XTZ=@U|)Om}6{4Z0shWe^NMU1+oN1t(6a%b_He$Y>Sum{KA|voJFVz6$ z_rFOVm8?y!YO0y7g~xMsej#Q0xspnp@asmMBVAuqH(l#oo#`qPm65L9T3mDGj6dZIb*6sX zn`#dEVDNGeDb#JKPEnXQ?Taeao)>%Wd3{%QbBG_gjx87^pAqRjn6e3o?m33zi$1^@s6 literal 0 HcmV?d00001 diff --git a/fonts/medleyinterpressfonts/MODERN08-BIR.MEDLEYINTERPRESSFONT b/fonts/medleyinterpressfonts/MODERN08-BIR.MEDLEYINTERPRESSFONT new file mode 100644 index 0000000000000000000000000000000000000000..35cdcfe51d805ad561d5e47d0fb3c91aadb8e846 GIT binary patch literal 5717 zcmeHL!EVz)5FHl@szpLb+cZF)(7vGt1H#VZnd_#TH9QyS43=DGHt}lBx#&z7gQLDwzuoIyi`l$ zI`BgP%q27I%oY_?GBEQmBVo*~~I zfN@U6 zYm8(4m#AqI7ooA?w}B;aBb&fjeJ_&ko!a`NYQ0|H5H=J$P1>EI4;*piNQF>C)kNHg zf6)fU(~)eL=NR;2b3+w`sq{@jS}aDC8y>|zhfm|S-%jAt+x)jnhj0VnCIT}RfxDjo z?!5rG{~h4L=SiXaSRpDa6=BPxtxWSe-p0y)arLh(KZ47dc5eYVbCV(-=xsp;9q2>X zS%4lW*vC#|g?xp*dqU43a~7yWhqZFZQMZeBdTb+uBa{dnqh0*vY@-K9IQs~Dmu=&^ zWC5uh4tY+7&%9Vw!7)?B$xu$RF7gOZ2m2O32X35Wkg-j&3;a`PIcM+4=sse^#?KBY ze6zgJ>7a^xl})5|ex-8r&Tr{jSU7X4R%;vAD_3nfxzd~Y^-81rZ{Q}#)h9EWtMn0I zk7GJw=+GL{8+_EA8ubgzX?w(-y4qBP_V}NQ=_wi=pgw!9uFdA>DnQ>^a+dfra*Bby zF+IHqOpvSipSc;lS^-~&=t@MbeAC!|zSCc?t#`jyJ-T`+nu@J_TZ$}E>ld9yCpB8n t&MY-fnl)XX^|17D=;a|VJE{LRdUP?QUPg1=lTu22t1&*~ALz5>>Q9eQ-Q55H literal 0 HcmV?d00001 diff --git a/fonts/medleyinterpressfonts/MODERN08-BRR.MEDLEYINTERPRESSFONT b/fonts/medleyinterpressfonts/MODERN08-BRR.MEDLEYINTERPRESSFONT new file mode 100644 index 0000000000000000000000000000000000000000..e64418ae38cf20efa831f3a7f9bbb3927c66b2bd GIT binary patch literal 5725 zcmeHL&2G~`5FQr^szpLV+cV~8H_M6$suD8vD_a6_w*dGqNpG8~7 zI*61FmDP&y-9+NZUR%}&pO&jD)eXDqY_B@oD;pINB@G$ZB9*k_sHJUCK`5H;p4V_= zEfd>UHYAs07i<+%aCbDIe4NJzJ^oKY#w;6={HZ&t&#)|cH z@J^!rc_wNuS$_UH3Vl14_1(~oi++g(T3O<_;oDoJF=Eaar2y!b^lY&@@TJO5I2WQ{ zV<78)#7!qr9vrg)CbT2lz+gQ$l=dTM{Y7E_AI0s?cMt3^LSBp@%Km=)y712ppqb{L9$J2^^#JG1ioAcUZfJ zR0c;Z)5SK+S5!z1Ot7Gs}9GH&}LoU>e=)}@kRWQ}A#A@=i(po@Iy{vW>ki{#-{b)4DE z)!g4wU8j`R)s>3fySk-2VPWE2tvXwGELn$s-nVs2f817J*Ndw}vc8t{=3-N`H9$RivaZeOCo4eT zTC$e-Q*vr?yf<{65h#(Y_z${Sd|v^-iRfKKrRZsFzTu0P$GCHk-d~DDu@t?b$P$%) zUTHM0(0WF)&=@E6e|g43bE*$cD_ru3mo4kRi5|TUsTR>3^`w|3zR?(!_y>BDWc>|H CPU6Y{ literal 0 HcmV?d00001 diff --git a/fonts/medleyinterpressfonts/MODERN08-MIR.MEDLEYINTERPRESSFONT b/fonts/medleyinterpressfonts/MODERN08-MIR.MEDLEYINTERPRESSFONT new file mode 100644 index 0000000000000000000000000000000000000000..6c43836d5f656907c30f6f5ea07a212da34febad GIT binary patch literal 5733 zcmeHLKW`H;6n|GFC`Lj;Y@JR~2RanBx&9xBPIpdXap#N9PH92PM43=vU}5M-$VbRG z2s2ARLN~@Tv9hptfcNZk5+X|JwIWSbTNnHJ`91&M^Xs$S^x*Z|gOC23cij(cm*+}k z(uc}wg~g%f*z?zx)xrDa>PmIPuLe7-!OqG?g=M&n%oW$Z z2R|9WoTeEu-xU#R5>oTLm2;&S4M$npO1S1ND{O~&9`Sf=q#mXs+4mvMVxCJQr^HK+ z`sWQ%4@vWrl*gi-`a*|^i2R&4+DVu%nHiyqxFkSd4Hd4WE`k)>+foqdbvM!1h)WgJuq7yc<>3} z;VXbg_{a13b6M;WW{Ap4h1mpYGt<1v+L+z1G6T8<#7sg{{v7~st}N!ETn)O=hZE>~ z3vdh)I#{VsJ&CpdhuVd%w?GwoMrr^9lnG=l3HUJt&bCR=N!9hz~84%u%jU<=k}V;w2&AZ9G)w+9m2 zai8>%6}cAoEB_am&yS7c4om~`$a_1Q9gD97(e}8@R(Q) zf*B3g!r)R(rTQ@CQZA!V;yZY@~qx)~*N<{1S%tmX?9R75q z(?LTYT?Q<@jkG;}&h-5iMl~I)(>Bpf3`wzW_FB;5h&Q literal 0 HcmV?d00001 diff --git a/fonts/medleyinterpressfonts/MODERN08-MRR.MEDLEYINTERPRESSFONT b/fonts/medleyinterpressfonts/MODERN08-MRR.MEDLEYINTERPRESSFONT new file mode 100644 index 0000000000000000000000000000000000000000..dbd7ff98f0f7ac8227e335a6de4c5325d1c8db43 GIT binary patch literal 7799 zcmeHMy>1gh5S{~xpF>NKfh~$#&>TY*uW@l$+=f;^yYv<*goe$2dx83)4 zM?}&O1BXhBCA;dz0yAf6Uhce`FE5l=oN{Gjv9htST(ZNsA);Cs#O)|-ONRo#X}8>` zUc-%~h#iZ*+eBA7Oi>jb-vcK2nV(HFI>3bTHs)(zp;8$esr zb`-{L%<5Z2qsp*&vbj}%;#cDa2=;AWdD0JR;jsd7*z!DCg8`q;@ElU7hq4J|TX>GW zIMAl7)TsPI{v{>K@{sLh9Hs`+m!Qqd@@1|CazG4VJ4JtU({+t|rxQE#2^Y z2%qz-lkObKWwU#JKSv(SlBqVnyDk;Bh(+|xnzQEE1%7X&ONz5-feG9d|F|n=&6N;E zbmyDknQ6MNr=ttQ(r?+IF>-Y@NY`dGXwByU6<6-09)mj`k5A^aPp6sq$)^t@7UnvJ cPO87Q9#@RHbF|KD2Ftj7io9JTuyNe=2P(d(51BJa>QKtf?=)^?JLR;pWQU3E6j?#y^+znPuvPkIL*KOcPeK7IXi=oJ+j48A^~!6tw^s49(sUEkm06g?Ce4ymdl0M0?fJW+>t|XT&w+^x zu#nOlf!t97EveYZEX}0WE{R3bOCxDyYCBtz%!CYPB%$9^(VhprB#>Fm{j~ZZ(Z0(} z=#%B=Z;~kRl<^}ayi9hsBR_k=dS43}BOK=mvw_TcNSW_S)#;LY-^~)^8}i)&IPD2x z)6sV4y$Vd1eIrh26^F?by-9jP=n$i~yF_h-oDWL=>r@KQT`gT{u@CLDz^^fm^|`2N zljNbX;kSV$a5Iy@ScM-+??HS0Wou(&W7CGp-|5ioOnu;pqeR9CRmB~|jrf;rV0<0P z(7eT<=aZ}AKxI;xoV8etTTFPA2o9gdX}_PswbSCSYlmx?aH*MlWkntuWtP-mLHdwGwt02a2Bc}F8jqWfRWR{XCEfeha)W1 zrdA)z=r3ge181KK47t}B#@KfRL;NNi12{oV4<>B4f!ZNzCvbvqpI{lW?IZ3@nlT*X zGs1pk$&T80wwNOcj>o#8^9(K75_4U;aft@{&xK5k@L`|XJCYnBW+eU|LLckdm<&-> zAS!B>;Cq&*&gT-wsh}}6oW{Ha<6w!#B^sli-?U=fy7%&oply6+_n+PQi{#-OqxGm+wCV8Gik zZ85Z|P5H3g9M25>73Q?v;?5lDpDE}FP(LbBUp!aW>UmtH4w6raEp~?8r3s^^o<@ nuB_!+g;0(ePF4SH^yp$prHJNf4+|~H=dMeqUp$Y$NUr_?tYYn) literal 0 HcmV?d00001 diff --git a/fonts/medleyinterpressfonts/MODERN10-BRR.MEDLEYINTERPRESSFONT b/fonts/medleyinterpressfonts/MODERN10-BRR.MEDLEYINTERPRESSFONT new file mode 100644 index 0000000000000000000000000000000000000000..bfcf7a3f79551f08672e89a10e44b8eb5359af91 GIT binary patch literal 5725 zcmeGg%Wl&^a9kv)jD%F>#>t9W2@XYV+|rVpvDb-(U-E84%dHXRgn&a8iBHH!^aHr% zBk~dXhkgSJGqbjv1kzGBY6$9%y1O&8GdnXo*;zL_`}q0nyY=bomvgftG8rVX1@+y! z={ZW^%-Y+QXWzCPJB`;?!*1@{&7H%#nW(nN{3KRsmZZ{xI0((iIdk1hs!=u*w zz*B8@jxbjSv7cO-uad}hrH|n|-lRF&oNr12kg0GjbGP)R!A{t7t>0rq_NU?|Rgwos zAAk<+%rUUBt`iFDiM{`-ad2>OsDtHnT68{FPH@bTB4V^Ph+AklI>K%qX zKi(krf=sw7N3|`=ERH-(T#lc_gMXaC(%bsarJL|zz(WL9DgsY`06gmeY&-&}4XT>% z;tf&Xshj$K)CFQ)CP#R;FYp2^?jMuyGijm8##&XAOSu^OFf?lTcM4a*?V5t#|P<99d>`6x-E|C+#nDy3>OIpToiK{OWhOE2C(gVasaKUT(*pKpE zyGD~SqV$nZydly^(*PmnzI5Xb6ZAg^z!9|1>>VlXq0QL1A3zt!$(T^ekTsLQ6kMli zBz$et`gzHSdZRW?L7#P_eW{Hwvb<80v3Q^489{}7qW(|T{vvreRc(7UbG2}|%Gj$S zba$EZ^zN?eztC{&Ty5C+_+G_}b?$LZ{JiI`SuVqPzTEx)mE9{O>zh?g)|e|l)pM#c zx(;@^LJz@5T-TntC-e77ZEP7^bJY;zhMh`TdPyv@-RR>YH(Qvl((2nM>)wh!S?P&% zZk+Q|a$#|NP;{RWsF1Aq54zQS2GBPV0kvYJxqidzZx6zMzxU|-t4l0w#i%jTgbjZP z3^XekQ{&anxx^Ireh}@U_O86GaO(@+zN-H^dh~TjP(*Xqqk>EHsc)v)h1cP?N!DMO C>GHGy literal 0 HcmV?d00001 diff --git a/fonts/medleyinterpressfonts/MODERN10-MIR.MEDLEYINTERPRESSFONT b/fonts/medleyinterpressfonts/MODERN10-MIR.MEDLEYINTERPRESSFONT new file mode 100644 index 0000000000000000000000000000000000000000..2ac108c7c252bb1be7dd42f40f75b2045191d98d GIT binary patch literal 5733 zcmeHL%}yIJ5T2z{f3{L3lv_`$2vzNY3bIfrx7DtbSlvIZ9SZG_pyz(b@n<6V+Pg~EaqQpMKBo*8>Q^Lg;tM8{vg9shK`em^<2_eG{;5y|vML=d|3tO?PkOebY{KS7hxZ)@hcc%7IvhcH|xST`yBYI~GiA zfE7(60aoo zZI3j+jzl1Pkt4MiO5e#urx$wJ8y?{)U&LsTwaR253K~+TyFzxlBtEjUM0=XNw*W5t zLe{CU*ZC*|-DU5H@|BF+$<%(GM82=uh~L2)_0i~JQ9?ka!guV=3ujvFg?qL6TWra8 z1v#aY0v@vk23#_4W+T{I-wTEF#NB?|+S%FJHE?toITQim|Kj;O+jXN_Tub8{HsFX252)D{vAOd+gVIT zC@L)~Tjt<6L(}AI3*uCkF?Fm)m4i5#LhDi)qnt+?Hm2{xA|fc2&)fiJvws;p9ILLo zput*tT&Eq>nRNF#)-o?wK)iLZw%pzSEn3ZyQi0`x5!TBGX3(6>sS&OCTwKVD06@&i zpHdwq8v5umKq)?l4t^&6T)7kX7}b9L_02`T`T!yRw9s>?Uyx;6N?9L17`W2Yp%hfw>B_YB pe2VeVWRTfY_KeM`>%T#do`_USG%tHtN{L^2I9(oi9etZ<{R4gC?lS-Y literal 0 HcmV?d00001 diff --git a/fonts/medleyinterpressfonts/MODERN10-MRR.MEDLEYINTERPRESSFONT b/fonts/medleyinterpressfonts/MODERN10-MRR.MEDLEYINTERPRESSFONT new file mode 100644 index 0000000000000000000000000000000000000000..6763bd8092bde2f103453a0e448d2b3565f44a67 GIT binary patch literal 7799 zcmeHM&2G~`5FQtaA0v>eNJzlNickfIqBbcMdb6BOViDVs*9|Qf)QECG2sl(lJVGCW zcL-;$Iq(R1hdxC4X4acJZTLwjYSVUC&d$#4&d$t^Cz(mK{pS7l7w_%I4?Av0r8-Pv zkIKtsx8`RGkhij^w?8dbmMTxZN_B0yy0-MJ>?T=LrS&Av+G*0(9>rnHjr@(E>8Dy{ zo zUn%f+Wm5N<^TSBh!u7~YRb##7r*?cKOMD%u7!o=2GOek6PHmYtRoG}UdCN_c%+FYT zhv=v>ES_$yH(rLdtSRd8EYM+GPYxBxk|+pt9R}QZz%ZoF4`mbRwhBCVd8kcA)TsVO z{uL4B$%yTAmgEL9mtf4x@)fQ^#0~tG@~%~%Jg%&+u0Asc^E(Z`qeC^s?!c%R(uQ#Z zqCM|;i|ck0Qm0S&OXPd$7xk3HH4C87i2 zTLQHQ>H+Oz^*(xEc<;(?rVQvSo<8<5Cv$4oS(6!KaGub5&H^}@9?LjX;~xO%&)wMp zk3JsJ+2{v(ck!UfXV2NeShPtGBrA~}1%q{F&YPM00t4e3>}1=30jD&IfgMcabGZ#b zmz4&MFYwLWBlyd_@Ef4`{coK|oV8k=Rc|HSfOM-nkBm7wx9jW(`fk1k#gu2i5?g2j?a(2lY8sanf2CU#5=q2`SGoj*JN^U zUA^?y{1?Ul^!Ss%>GQyGVsEWfQI4CVvBP?(& zL1xIZ`4z&0%0f=ZasS+;CLnr)6=&~~!E>F1b8k!KGob-+`>0_Qnvrhwvp^onF6}pu zp^xUW#XWz9v6m&2Ho3d5%xn>hoJBUGxY(bqbh+XTT3`xy#UFRG`eT6Wq};jLkzrHU zGtq_T`Mb#y7(kMBf9iGf*pH8#!lTRN;EWjp)POHDM9#@RH VTWj(e#b&9DGdqgZzl0}o*Pk{h^SS^4 literal 0 HcmV?d00001 diff --git a/fonts/medleyinterpressfonts/MODERN12-BIR.MEDLEYINTERPRESSFONT b/fonts/medleyinterpressfonts/MODERN12-BIR.MEDLEYINTERPRESSFONT new file mode 100644 index 0000000000000000000000000000000000000000..96ae6a35651e73846a6a825a23ea11d201da4216 GIT binary patch literal 5717 zcmeHLPjAyO6n`laOa>t&ZaYQQ4saM+(vA&ond7z=X%b?uY#eslI3eHw)%Xz8K1D!$ zhw&-;G5QUV5WHt6X$x$kWuq(1ZW}*8`}z0&jpc#6J$zg*MV;gpqA2z zQ1m26Nix4=}(F#cN zy{#k)U8#deayJw0?I_6Z8-Ad;h!KvnWynwzH0&F?BV@Zn><=tUbf8Ih2jE9d2%Czw z+s|aEJ2={7L~$kKRx(1blP>3~h1T0yp*BJ;7A5^vD!9wMN)_Me&^Qfz)8JU2u$t0I zVH#_GYghs|<^+S42a#}ZG}a&Z8yg#&%$lOtChv@NFc!xi5hGL?w-GnuU$KS>R3uvZ z2^zg{u8c#O39bv$V$rO0c$9EsK80?-p2FPA(wDhIxB_rxfrYZb%^cwNQ-C{P0q%a9 z6*|WZQD3Vwn;vauT2je2X7=;Te`We%CY>qw8h}%q6>&9h4{{hd5{Ax4$AfopgcaM+ z$NoOn;V)_qIgZAPGjWzv!|LI<0k%Dw=`3UW7%7q~5hY4NY8gi_BX4MA)4C`DIW;&j zV{(#ItlD=Dja=%<;RI!(6z9;O8Q`ov{0=HD{-lu`nWQI}Zy#~hjCLgT2r*(YzXRyw z)9{Nqgn)32SJPuO`z?gdG0CTb8q%+v>_MGvAzu)`hL)Z1JKHTHg0}Io-G6-NFN4QK zYNN4`p<38srU$;}^C*?`=CSxCTyyGB^&6Z2R;=1|atU2iL2|OH`Cm6?h}B068mn{& zu-h?hF|?_TXl=H-Gb7;~W7=$SXD)UzOuPMGjO>e(TA`jkR-21?T&3gDXRLILyebQ6 zff-^I|Cw9Bs}<07h$^|Me44gBzSG-l^WD!`kFH+*!oB6QAPadC-vq35VJH|AkI~As r_5|zi5mv)e$B~vN2EwfR+iMbCI_YwF$|bnu(n^!prD@ckCRV=#5-Hxo literal 0 HcmV?d00001 diff --git a/fonts/medleyinterpressfonts/MODERN12-BRR.MEDLEYINTERPRESSFONT b/fonts/medleyinterpressfonts/MODERN12-BRR.MEDLEYINTERPRESSFONT new file mode 100644 index 0000000000000000000000000000000000000000..e73fc6c32c2778d81c8a7826b5b5eb8fbe4dd900 GIT binary patch literal 5725 zcmeHL&2AGh5FQ5!ss$k-ZauA{9^g>aBrPr6w!2PZu~|oJH?$n89$HQaIH0IJM8s2s ziW?75o+6KtXFxDB-c6c9|F(#BtFDu^#~#moGoE&et8o%m3# zRlO*%5?lWAqS^bnSYN6?_v?+9HT>Y9wr!agvGi(Q`k=7UR%LAw| zMKGVP|)7>_1~y3>uNm0dU4b;&f8(UG2J&{6T04;>xJG~szhy^$#Y0Ta!D zBtKc#apb46wGjttUO#1qz=SeEJYt>6NMoKR$pCRUGtnTdM#R?sS)gR?2!p#RY?nhqX7%fGl7X^)4oEt zXUnUSNTo8g8R@WCFJJOlhwMLt3x79-D}UyGUO9wY0Jk0}l?U#B19;d2cytHg@%N(8 zL);;%OI6S9k1j#X8NGpf`#;?}4a69|l;k&8)@LL!TO@C!Me?vpE5FK z8J7q9oT0~HIpdwWBIgfku_Ja)6~$TZR1O~Glf>C<=jWiTUcP67`r^U5T+$;e9g%)u zp`+yOQ%VmM2v+YsMjirY?AwWSTfo zck4X#wZNXUvZQuDFL}$}Q^#vOck#!o^HjG*)=U%K$emK!jtIrXR~_%YirzMV1&jCEp0tf6ok> zK52dwi%@oBM`}Nkfs=_=H}bQ`hQn8ZNDvTvX@;T5$FO6@Z6RB2n*PqSRQsB&X8`}& zLg-Y~ZM~MEZX>tLX%r}#G}B}JI*o%sHPL^Yi_}NZ`J&_j)e(Wi-6LZ>V?|>!{1t;_ zwd6Ua)7(9F3#@Yq-q=PMw1FQ9=T>9&iMO`4w$80HHd?ep$5t4xBSj<#RwgY(jutFh z*Z3+DP5lZTpKq{CLYav`=R=D{^J3GZG%yZSxb-(RTzI*2;Rvn)Tzg=?JaG3X!2P!X z5AcuY;jgOL13V$>%XMxKNP9BfR%sVc_p>|!ivx(815G(M09dUm<|Dan7{G{0{C+SO zzCs@>_MwMu59{cJI)DLkV}&6}u^Ltv`G(kcQD(pvuz!Ff(kl_=5L=fmAol{!jg0O- zNt>A(93syMF%wjAcYQwXlPN1ueva{wh(}em+m@(tHg)TiSQNl}7|!hO2T?Msc7?Iu1{jhfR$2*vZx&$ uuS{#7#BmNZYoWbC#!uNpvvyVcZNfz9C#8uK(&1v3Rw^e>)7U*twEhKjAm11O literal 0 HcmV?d00001 diff --git a/fonts/medleyinterpressfonts/MODERN12-MRR.MEDLEYINTERPRESSFONT b/fonts/medleyinterpressfonts/MODERN12-MRR.MEDLEYINTERPRESSFONT new file mode 100644 index 0000000000000000000000000000000000000000..897549c6774de9e5afe6acc6cb68ff7ffb5e9715 GIT binary patch literal 22227 zcmeHP%WvF782=_nJj_EvNFWvonGgXLYSn$@QBaYLcQ&!uwHMo2T985y4XO$P4iJ@l zIYyEA2RH>TTsR^XsV5|QUBo}YaWDJ>2)>!I_u=hsGat^{+ssU}p2s)e^S5I=lYX83 z>!0m^V}J6+=U-Vp9!6f^+pt<)wVF=Mv1K>TNBdu%uU)Kd*tPmwRs45x)e7Pr9<~BM z?uJ1(vcdP-R>!&G?l@t@W1GRh7QjkRP&9eZbCHwh$2{zYJc=wa>;|1~o5#GX7ONp1 zy1Y3y(sDXp`>G9{pvgmDu8X`6Ir4u>c3O_${6>d2z1@x-^6lNW6QM7Una6tT95psJ*-Wf!B<8kh*G#o*Q|7D;OCN2OZaq zTIj$lYod)>Cqjh_qAquBt2(r%Ce5hN(Z3;8S)cG-6bFfeR1lPVg??k9km|Zlo7<1o z*DusIH#fH|<&EC9h|$Ol>31CAK5Fav+o(F4u%>+DL~Y)R-$U0YA@=;H7jidFx=NSW zO2gg`T7+c+@tnhu;IwJ`M2P9f0RQ1$eOn@Y3%9FW&-q z<#m8p{{(pLTYz&7fH(gFxbPi7)d8sg4Y2V&z$G8x?SBB?`3b=J2%w3WZv6t_-FUeD z)_wuN{|(^%uL0sUs;w^W5UY5fP&=gBnI4aVUEJSu-2&4c$dWr+WaAf}tx%O7uG@oS z7%&fieq>cRfJ3a$j?5zi`Q|V^l>WHD80%NX_**#U|~lo30jB+{WUSd@JlR^RZ`u@%w)Y9tqZZeOb{87y(&R+oeZvB->Bv(ksp%DjGp6MpZ8z zo9v6xbmcVd^sJ&)ye2%K02Cl*b1h_8$i`Fz4 z%0FV@N`$L<(<%bo2ChW7uA7Ge^DwY*52&vz;bCCIz;)rln*O~mWw$Nju8@~ZGF;6s zvhoUn4j&3UvukwZm5r7R*DbTVn%#Bb9w5W@l7Z{OgJm8DsBqm}+P`msvfbcx^vT}X zDSaJzWuqm-)tqV-5lRX?vuldbJ1?1JxSCU~yh5PECks7FUq@cqXvuIjr&>jXk^;}{ znj-YhOC}kv=2R=M5a{s9LXXndkykcaGF;86RuQ43z%#q12)*-?NrtOA)ygXbI()Lw zqx5y;m5r7RS97XWL?|in%&sXy@4RG^;c8B`@(O_tpDgq!eI0paqb0-DoN5&jN(wx) zYl_f2FPT)hZkbc9yh5PECks7FUq@cqXvuIjr&>jXk^;}{nj-YhOC}kv=2R=M5a{s9 zLXXndkykcaB3x_r<$cwf6=IdTWY%mM##vYfEsEDc`+pPE>dX781$&r_MP>gH8EsU~ zodcN-XaKt^7tg#u)jK(?*)_}Sx?nP+KAGkLw=jyp~< zdtP7Gh%c@kYON2~#uC43-C)0B6^W}%Ie`b*Wp-JRsZZIez#mvgWxPEaO#@ zlL@(0>$V_dw^f~5o(|lEn`x5(*Cl?{!W?We51Vk3$j6qHBxjh+btZ>~J5Wj?Gp`*a zz4V%{mV7WbnXJg!8?G8_j3f)$V-t&PDhri$!yOA1z~qQnsP?PeY$DU0$VfLM^IkeD P1Wo2>6C)=rI&l3D&%-_T literal 0 HcmV?d00001 diff --git a/fonts/medleyinterpressfonts/MODERN14-BIR.MEDLEYINTERPRESSFONT b/fonts/medleyinterpressfonts/MODERN14-BIR.MEDLEYINTERPRESSFONT new file mode 100644 index 0000000000000000000000000000000000000000..e951946b6a5010f2aa9a8581d89ec6bfcc58063e GIT binary patch literal 5717 zcmeHL&2AGh5FQ5!qD87u_XSo_4{&JICM_-8mR%>Y*z7KAx3nA)%L$cAa6w#pt$2Zx z9e`R&BSN{U0@S2pBeOJgm!My7VM?UGp_!;zkj-&fJL2mK_JSc+ z95WrCG(UWnM4_jQAF060WOpO-vqvoVbs%GeBR(@5%94i<%=e_~_DFo}WQp+&*)9Nn zw}i0iXrud5g{Ft2bBDM1xdpz2csjia^JlQYq{Hu;1hmSMu-2o7_X%P?S?LYx1Vo$i@ zSmdw|0~k;nTLpgivHb_3q`=WgI1^`yCQ>e3riaaZdq9EOW6BHNgqe4*w3#I7g#kbgr03f4Zn=A2BuAI#N17 zj9B>h1W}P^NIp-57=UpQqKdeOEMua{6N@;k#ArJf^w(IAI4I?~7c6h0XL)4V56*TO z5p<1@-2S6Ce-%6&sqOYmhH7Q+G<7k}r1Q@iZr=G--3Se54%JqB{bt3gJx;FkW{NM@ z8QtY!n<7@9%xJ9ABcOn9c4|{42 z3#ML3wp4Y=miqQEQ9z=Ep%jc&rz_LiW1>rA%EZd1EtI%b<%k+qYFm|HSWmLwdap_j XVLTbCG?b|$vwt5^jhs}UC02g{is#K* literal 0 HcmV?d00001 diff --git a/fonts/medleyinterpressfonts/MODERN14-BRR.MEDLEYINTERPRESSFONT b/fonts/medleyinterpressfonts/MODERN14-BRR.MEDLEYINTERPRESSFONT new file mode 100644 index 0000000000000000000000000000000000000000..05ffd36ed9116363d798de79c58bafcc809fb363 GIT binary patch literal 5725 zcmeGg%We}f&<+wrMyf>f1FNV9IJ9b$looEwu9H}7cB8c$T8@b2gaQ&=5SLsdKB4Cv zxN++>-_UFSq1T)c%#3&Qst7cV(x%kz+8%pmJTsnnJZ&Uz-zQ(3cOTlHMN7t7MWMrr zJ4NBUM#9LcZ0h9WW@)?h)G3vp@4#QBC?ZpraWx7}Gme_tVWA2{!#(usZmgwoIQu0S z%MpezTgn4YDl{@~#!_p6gkIEW2GYo;CAL#C_M|^HQ*|3EIC5Ac@?{(nomQ_U@LwaK z>LTaIFQUMAVp%%~+&Jr>5Q3{c8G=0gD}laDVfKmOx>U6~E}x4yGOj`8Ib+kRpl~`k zsJ&9YsRMQ*5c0GNtItn zO_UnP9)LCN)G?5-o*PK#L3wwpw70jnFRU$EH9Vh@5@d6jks-*c!Wsw;3T#-*xH^zk z^AgOS9gpq0gl?8t-2Bl~GM`1>)t_LBd3?IPR>aA$#)vcSXdjIFg8dvuSn z!jE}H_uz&oZWo2UA8mlh>*xUP_61&m+5IEvKGP0}%yaXKJfv&0J}>YNeCIr2UDjhg z9Mh=Fx-h;_Ss!T5v9bYD@hzwcF94Jfk3Ls0J_QK*c3>5GBwPWuf?9xGa3`RKufVt1 z8R7s}-~=nMD|{yi(M+G6(OLoKfD;=)ZBsi`;|c@RAL}~UvjBXo&Zr%hp6#g}z#3S_ zV)J#N7yt%JGhS&1@a!BhnblbShyl7|+nJoos^#)(`l?lTzP2|X*;T2Ar*~CGw}k%EzFI2p-!f+%{k(7LneuNpRkG#EHHWi4 zTUBRmW8}w(j8VqML5Rc_euEKjw(0-fsrfNKp2h2LJ7u)^lE}u3=1DeoVxXGZewD+R+7(X6bLOmt}})?ljFI S%^zucGH05`oCROTS$_kIZp?}R literal 0 HcmV?d00001 diff --git a/fonts/medleyinterpressfonts/MODERN14-MIR.MEDLEYINTERPRESSFONT b/fonts/medleyinterpressfonts/MODERN14-MIR.MEDLEYINTERPRESSFONT new file mode 100644 index 0000000000000000000000000000000000000000..3b4b9a80844acb423bdc8c70ed602fbb9a134940 GIT binary patch literal 5733 zcmeHL&2AGh5FQ5!ijgXjeSuZf0~{K)NlFX1)vl9R>`%0IN()C=PADMYg1F>b@d{jX z@snj%TnyPk_^>{pgpC_JmqwK?{?1%gDbMHIf6{(U*>_TO; z!UInW9J!5km3>*SZPZ@4wfd_~{A*NrqT3>ECb90MNk_R5%aBLjp5OLTCA7=nF9#@T zS`mm{>7ynYYms(Rp%kZSKZ!b_(4u37?UYD;5lqZ9y-0@pE<{Nn(%8r;`BtF*RYNpA z()=tEf$T=E)LtlkHx;dJ=%vri3QzeWMu*r>Lk1$J;hUk`Lblq(9`Q8Mo~Gy-!1-9n zI~8_YZ)Bj`xH{uR`AWvk_mNRi$?t0LtfC2_UH?w}R2gwlpn zg=5srz{?Qb~Ad(S+_VO(P{v=Nd9v2z6K?>M z)xSs{ldJXmk|wK-ced}rY+~1yVqdST;cm%aIazD=nyakTaF!n5LW*ckRthL$CAJd>y3^g-K5@RYZqFv6p#W1LWRRdiG-)G# zA+0}vDg{kS>a_WXv?*a`_trkg4`P#$Sn;myo!8FJ%#PQ$<67(Oht^l?-N*J9qsb%T zg@Fax^{nCAF-OQMu8P*D)%;q1)5;f~uhT1QgmINe}{uNM}o%| zgWm=~rb!YmZ+Z@D@`9L0^@s~$5ZMW9b)Uz)t|luIj~wo%C}q3m`8yWWLYGH@oF}|j z9Q7|rq->MsCpGSRjhYqlO2fA!JwBBpws3fW7O`&&xn zaMl?zPxy_>OV5p~DBUs$bA%U^!=3|iSaTdv#sF@w5R6tQi&6+gojaDX-t{Ig-6)K) zzbH-F=!>0*!z4gz6I6J~zSLGoa~<2~)}6veE?+8@whR@GW`*{s=Z1_sQh0#YdO-zE zM;BI9Y;584a{K~ApKP%gxL(AaI6;*yv7xu!4;>jnft!E330L0k-U7JyLz%Jk8sNeG zD>rFwz&rxiIs)cTfJg5EmX`q@|C-iR2TzFXTGmh}q&k@vMA*Rd{X&mGeF7QsL=zT% z;aO%{qr3CkaL7!yi|-TGf<5R!hhPcq!5+c`9S(8M33WK7SuBUW#Z1InQpX|l5I#bT z^zO18VkTl9N_*H%T!mJ`*^-lkW7J@xR@8(XTovC3QZG?(J>sG4KAa}KEyu1K{{WEx z*fWb5PZRYhpUFFF9W~0&)661{ivN&dM;oAPk+w`yP)^}e$+!=8q`BxJHjGyvg&ib( ziVE>_7+EQq(81VAGJ<~0Q_leD-+!GvGFc1wR5P2|3YkUKweK_%ksax+DfrLesg}+OkUjlu6sHMkw zs%84eVb4BkiP8MY*XrrT`UF)aWScx)i!)oq0@leaWEL(u1$u#20_?RHYRZy3sfpPw;=utJAs>WC;)sxbr<`QkVL|S?jJW0C#0YffOvH$=8 literal 0 HcmV?d00001 diff --git a/fonts/medleyinterpressfonts/MODERN18-BIR.MEDLEYINTERPRESSFONT b/fonts/medleyinterpressfonts/MODERN18-BIR.MEDLEYINTERPRESSFONT new file mode 100644 index 0000000000000000000000000000000000000000..c4555878f6a7f50a21a1e3f2497fb54315292d07 GIT binary patch literal 5717 zcmeHLy>AmS6t@ovDkC8TTc=ah0fwSBX=p*paQK|W;&OMK-7mIClnDU?3#!DFwHs?k zq_UBJBWwQ%wyu#72;Q@O`DoQty|#p)o_jgJ_w482dwzQMYisA#o1KsT>vwNIunmzZ znZ!OREtgmrXaPNcWl`!iiGs)P5o7O)SH-J)o}N(J}X^1zg`v7vGr z_!WbrI_5Q{6XzQ1e(P8SH?j!^D-R;!->Os}l~-3+*O+z1Mgw*wHfx4AM7WhS_Gq{X6HzTr{Ajr$aA`^}V0{h9kQbqLo0u01eQ9=QF5 zkUK93x%-Qd`(KMf=a3;vOC@I0qs>fnDp`ljetG#XPe070Gv(hPgnC6059aNWKCRIs z+V*y7k9;GCZZ&@n$*3GQ@f2<89_cz;<}((KyGeIyvlxk$1qeW~Ad2 zw(TMUkMWVyfAr+fgU3W_r81MDn%i6C+b=Td;&TR@cX3t!g@$v7YPkXz?-@+1r|y=AhaA@Hnh=XKohn09X#0k_gT;ERs literal 0 HcmV?d00001 diff --git a/fonts/medleyinterpressfonts/MODERN18-BRR.MEDLEYINTERPRESSFONT b/fonts/medleyinterpressfonts/MODERN18-BRR.MEDLEYINTERPRESSFONT new file mode 100644 index 0000000000000000000000000000000000000000..4368649ad0e429f33910f00be2a8d5a5859b30d3 GIT binary patch literal 5725 zcmeHLzi$&U6t)iuDkC8kwoa$00}MrN(qABDIPRR}#N{qJyJ^c7i83KzU_q6bvUX$b z+_I5>BWwN$wys$~@ZPg8$rX{dY1B4V&+XaI_Iv)`=U4k)>w9nC?|pIKef;oQG-ay7 zBz9S0r62-NOK7>POKR`aQgOMs?iNcgSKw#8AQD}ZX(fquBTX90WpNmZy0_!kyi`f; za`s0s=Fp5lHbWmQg|U`tBb7=CRP>X2Ba&J+jI!yHsV{?(o{Cowqg|KPlR&01>8bFI z1pALksCa1k>8m6P+*DS#A}`JAXEec6zKj76|4CvXt<1iWT$5q72E)$2NE7X8be=PI z+7$$+qOIz780Z=p>k5>76~>ih2wx|4-&Yl&Z)XwPfY~mJ1gM7eU9mForASVc{)>K< zfUMwA%OAC%Uf7dJLGHihA$S;hSsIzgO6kBk9p7*_!}IIw7# z@l+%$`ZdsQw>OM~FqOWxqQRm?w&hXc6MqUe{(j1?{h9lH?GWw&+%Ygy3_SeK*rO(6 z^Y<8g@?%oyKAaGR<$^Hhqq!jFRI&wU`xFnr?EDdQo+%d~b7xY>1HA**=PiE1Th2c3 zvJUI99=55~VI3Izr?5WjJNsC88MSyDN*Csp;f*%>{1`^IK?1w*+a?=behjmZp|oHX zSc$aDFxKV^I0y8=5{$sAtmCYqL_K}JKw~ZFLo{VxW(V{hxN(UF`cDP;Y=Ir}8NDN$ zJyYWwR_!1&*?dHTz4>B#kel-%wCliP;5)ug@;%NP;UHWz-UeoArtN29*G2?h*K>-_#xDziukBtHm`z zu)dhpU_GFlAMbOx1I;}MH=U8c;*B?+`tt|1Gw;lgvvt-=nJz!#M_GFs_1Qj7W0h&! z7^1#-u&&PNCo6s;9Xf~jDLHLA@9bR-0}})*{DW>5^DBlq5#>d|Y*r)5_G{l}9`?-5 zvk#dN6!T=Y6(P@p2XZSa*s=q;YPd4YAdTGcl?Zr3Wv5hDAmS6n{P>J`M?~upuFxq7E<=wMjz?Qis!>lUUqGbawgyQzXiSfPn>NVaVEz zwR;yNGVwoT&C1T!H475FXP?^ynnKb-ld5rZ_ItLUfA8lP`(ERn7q52SdoSO-e&=rR zOo}w|ps-SKLtk-hd8!y!%8k43cYL7av>OY}S` zo^iB)TMJd6EZ>iLD4MY+lpl$}%XqCB`PldW}Nr4neH9f+w(l`iY75Up*q&9-i7bON{g9o0wa_CG^ zdr=w>e^nzXk1!`yn$u&pz>rJuhBiW@4g83E*GlDw#Y&~J<{C0KYP3T~UTD@)!xIE6 zk{TjM4;BqIzKnQPJw@X44Hii#G9IX0G+2~tH$6%NO`ycBzpCKeKR3=D!6kr82Ih-_ zo1Xw~JqK98AJ3gH(_#(ZYC{)WUFc%pZv_T0aN1PZI?ZAoEIk~zj?W&>8nAur*+dEL;(5O@sW$LMHT6 z`%Kkx0QXL zVQ~Ku+7!|Hcy6P0mo9(IW7~Am=*xy)2Iz`!!3TRqjwk=@qWX+3_VG~1^!(Y!F%xG* zJ$baQ&g*L{IQN`AXOCVdXN3Gq7!xuuMYQ7o>E<%Y0!oai5Jk4uZS%@Mnt+V*h)Eb0 z^Raa<=JpOS#lk|V!{}5a9j#1jA2;IP>ukzID-EBr?5@@1$&F5NM(~{EzhTd&i7=WL TSu1%Gsm0?**pVmIlSJ!JX<^_j literal 0 HcmV?d00001 diff --git a/fonts/medleyinterpressfonts/MODERN18-MRR.MEDLEYINTERPRESSFONT b/fonts/medleyinterpressfonts/MODERN18-MRR.MEDLEYINTERPRESSFONT new file mode 100644 index 0000000000000000000000000000000000000000..9ed3de55e2d56abb26d9307b3eaa055c7d5528a7 GIT binary patch literal 7799 zcmeHMy>HV%6n{1nA4VV*B%~H0Sy2ZVirRcM1*wB&UlNPNj(kqqvY<$m0U=;uL0uTK zc0r8o-ZeA-0P31Qf~{*7BzW)6moK|j6IwM^>T7cMKJMM`y?eRjUTeE=KkR-r-+lV{ z#b~mCyS`^aW-VhlR>*K<=2!Uc=auYgcHPY8UasNaddBd>3JXfU7uEy6&Q0*#s!_AH z?TQs}7MdFTH30M`X*jIu+Gxr3LKf5m#<@Xk+ppEDEM#>#S+ZDQGiQiXvTAO1$Ap^i zu)q`Zxci!+{Re_5S!DTXjX7?kW(KU>s9J&Qp9vL<+ss2m+HXNRETZ9upexKRS5U0) z8G#>KA-S&sj5|Z{c(qa9a-Fb(#*Pi5Z0>p`f8apq*KC`YFo4_3G)C0Xq7(vNXSQjq z^}WdoH*#m-&kHDpk=XIjj{+n&L57#`4Q+*hYg<)j-pUo8XN$$+h9RTTEYlth+z@d` z4)YML>y;5Yy09!`WAQ30g|9I5(H6U&;|9zQBT`}s4Ylo6-xd+%xcN7maOKaP8vu7Z z62|>E01Nl79MUy_>j=zr1Rnkbc=R4%aS`D0uW6y$ctT`WGlo1N<;irL`wcwbFZ2jh zCy*gdG;ZPtUel)q-JiD)J*}mkXf1tDJBAK)p-W>i>Oco&u?9Wp>3h_)O`4^(u^pq{ zCccx6o_2(iEu_#czS<~hA$5e>N7!1p3a%t(lccRJ;j4x7&=N{;Rp{siq67!m6S7Tx z0WFCJ`_%Wn_@4p!k4-3|pYFni*8c zU;xsRn{k}UyEkv#$+NY1ovqO?ig-?49%tV2GTGmWvo)LBNO8I*2O+voZmNPi}B_w>2LDBOgHA!o{LLsdFwrGoy+5skIMR4o+_Qu z9xDa0Hmnhssx?$UtbN|GelS2idAjCPTf_qWiGHXbQgP|Lp}N+atq4q!uK16;l-{(c zPD+ioK=ooQD}bUNDd_$QM3i{2I*Lt=qk-%qdnZ_N#YUCH5phHeR;IO+G%lYfYNyfp rIykWq&l0UIrE(O*a+d!xda7!SmD1R3vMy`NLX@nLG;5qUNxJ?6Mf4kM literal 0 HcmV?d00001 diff --git a/fonts/medleyinterpressfonts/MODERN24-BIR.MEDLEYINTERPRESSFONT b/fonts/medleyinterpressfonts/MODERN24-BIR.MEDLEYINTERPRESSFONT new file mode 100644 index 0000000000000000000000000000000000000000..ed7723e17a8f84699108a7da617e5f8d63db2455 GIT binary patch literal 5717 zcmeHLL2uJA6n0XnOhH0OT+mKdwF4Z6wq#{vx8S&~MH+|L8yn}269Nt#inM>gvA+ST z{f8a-4eO8SX;&l!@7ZaaPGhhz(FJBpv7ev){JrNVKfiPjdan;Y&{uEYy!Uo_ri4r= zX{~+IE)(JDkHFd~$ zj}SM-84=$V3?zv}^DND{QXUR7*-c}vd1@EiA)YZF6-HWNSH%02bY;Y|#H>@|B?tNU z4bciw@`I-`j;PRKEEvsrdnXRFhlU?2#uI?!el%pnbDDfHbcc&}2iP^~Wm1P4b$19k zs|jLL@lN}Nh;#>p^*p4Q5=l$W&}-RcOtrvzdn?!n$oZzIze+iy-uhG(-{=th4E%<{ z(VVlI(lR%VHNQ11f-4+?!OFsz(_2CFk-xdQx#d|??6&cAW;z&)!w63Rsz};^8}P4K z!-Oj4E&U9Po*%AAB9U>XbJAkb-sHez$&C3F9D6+_3olDw7Y^YDz>NheWr5qD2)Xl| zkh|Xqxp!0+I)fXc0TIGpkM?F-QgR1w_N%-9CfAQ=t}{hzgg90j-1F^=+F&=JCa)e1gAEauDm z>P9u6tN1)RtR3PrvTCPwgSWJ=!k@Vcrd9;gA*`tPq&0o>(6?y^(&yZIka|J2Wzyzk zE^h#d6;wiUU+Zp$sWBoNEPpnMzC`J*dj}S`hZ_^}9Ix$_$)26dZO}IEdpDvx9 Kc@ce?d-VtW?BBcq literal 0 HcmV?d00001 diff --git a/fonts/medleyinterpressfonts/MODERN24-BRR.MEDLEYINTERPRESSFONT b/fonts/medleyinterpressfonts/MODERN24-BRR.MEDLEYINTERPRESSFONT new file mode 100644 index 0000000000000000000000000000000000000000..c865f1773119e55f8427d7fbb0ed361cfa430fe3 GIT binary patch literal 5725 zcmeHL&2AGh5VjpDR7OHVTu@J|s0TO{HGi~lTXvnqVzZ9cZfH5DoDgu}P^7*A$Gihk zZ#+ORm3W5cA#&;iAegat^QRKp5G4(&U9CO-nfYcs@p#%i>byVt;=TL$;WKZGL`xNW zq);sI&^H2lUS(S!ecCSVl%9K~^2;Lpy(n;H8X~Ew*t8PW(jJLr#GC#>(C`y2j7P~Y zP6)FrLeZ81aFVeRNh=XrbKDrHW-Ag#wA^MlB$7acVkXLBDV`|f8&sYWGOY@N z)6stYjSNi#m~}W(ftGPijo=&A3<6yP^BrtqA26pv(Ez$70*@Dmx|FOEkvy87J zQ8TZ>?CJ5!IFyM9OiDT|hG$0}sleJ#!@=hhvhuR=bL9~30Nhz%tt@c=l#mB)LLTM_ zdGvi==mFdig`EO-_oE9C8(Qtd-M+vJFuQ-az0b4gw4YO~Lk4sc zD)g~O2Jr1)Q6-f*g_ZVj7t2HKz`7pvk%weenDKxDzO2jg$OEVCqlJgPpyh7XQ#e{cXJfd-j2m)fu%zrgYP_ z_yu_bYZ+XBVJjd&9OKoESk115(D6rEpgVrMlOyaBN1*^NY*-#FYgZzLg&(FKfq{H1 z{*TB0%z3PuC ze3r`tUm;H7&7HNfrcYLUBAw(;@F}@mW8X_qTHdUf6JbTuWv%VoH@wX} z?A?0By$AUhR9CV#B~yM~$gZGb){st2G$Y9t literal 0 HcmV?d00001 diff --git a/fonts/medleyinterpressfonts/MODERN24-MIR.MEDLEYINTERPRESSFONT b/fonts/medleyinterpressfonts/MODERN24-MIR.MEDLEYINTERPRESSFONT new file mode 100644 index 0000000000000000000000000000000000000000..a522b399c18fe6d646df9120d2fd0f70baf45731 GIT binary patch literal 5733 zcmeHL&2AGh5cYbd0E>i#xS*b_s0TO{wYv>1y{&eg#A0_Ht)0@sHRXh$2M$H_4LIf< zsD#9sOHYU=;6NTCr#=D9*t_{D4WgltF6xfzpYeG7&3NLmo9^{q?7d;nU%h@mKwa%n!EKf-Qfw?n&L|c~fS(lgo}`Bom33hC5L^%oW$n zA>Tbhs78sHZ;J>tiA?jnlXIm!WJfaXBwX{3oorb=k9a)6X@;ptb{R=!%=665Q{pKH z{dY~L8KUNUDUU@rWkQFEh*-{B-6YKK8;MXwJOe=Vo$1EB=#wv|-{zv#hGAEFxzwRX z>m5Q)+k)s+(rrBvv2KI1o`=0iiL5Ed__a)qr8 zcLuJcJu-BbfS`>nGK6w)1_?*F63IEjS+oY!1Gyt;qYgnEFv6e*dTF25oFk}vv;oo$ z7#pB&SO;dCk(zS=G6R?gn(V4%NKcGj-~d7()IvXlydiRo^~j1pXrTQ_sKS)SX0*<5 zmTZkBtT!~CLHTcn06~eUtS!e__FD*DhU?%5wqx0!=Fk)5!UwppqBZcWk;EQ;-fj^Q zn93(^0F&9j3?37!K~T|Pwf4?cLdY%Tqi+|o?4@1w+`;MxoBvz1+9T!CZV>>Z?=LgD ze}`?3Xnj=KXg$W{PY9$gNHpdTF9VpQ2joMUB4_*l;-dOu68mhVvqmtj&l;-&|NPOq zUe#+WpRoIy;j6Zu|j%bDd(^c}3Met#SgkC6X(>51*JX`JM-j-9of=3vT z{mQ!N7W(?|!~(*n!_>@?)ObZZ<1DGa%d-}iHjb@y4shMM?Y9pme177?v3Nk8wxk?I P{`AA?wB)b)=ZV%Ivu)om literal 0 HcmV?d00001 diff --git a/fonts/medleyinterpressfonts/MODERN24-MRR.MEDLEYINTERPRESSFONT b/fonts/medleyinterpressfonts/MODERN24-MRR.MEDLEYINTERPRESSFONT new file mode 100644 index 0000000000000000000000000000000000000000..98a5f1b62b666668f5304635ac5231b49b3b1ed9 GIT binary patch literal 7799 zcmeHMKX21O6hEJ(07f7oBt*+%MIB%$YLliZY?ggVPB?btb3$QZNf{6Vq%st#-+(dS zfl6%5bV3ZwEcpAv3iV849(=DpQn zk>Fuqlj3^O@|>8#$lh2LJMUIYYo$%QRDQe;e_KT>j2kSfg+bhk!j`Z}zgqaMN9|_*>2cu`7CBFwOFxObk+rAU&{(%&6gv$azL_bQ>V+l>ZOS-{$y#do^XhmV{ z#Av=j$ha{GPx$TnQ|`qLP}a4Oas>}+;n09MY`U(ffdjW!a15xEP0qkA+8V z2^$`GgU$+iu

{MxXYKz8TUkIWm@^!5By62=4s}jT_tyu^9)riWZ=CLGA#?sDslA z%-BGIUfQDt;{f_Dt$=g|=K81`_JP%MreN%WOdr;PCbcU$qQ_D%Z~!4R)Iz_3ylmtU z`+*hzFhKjUnY-Z6J}8nlqjjj%SXMpW0q?H#%+M!*KqJz<;z-N>3ZZG^K6rucc<+sJ z=rMBP0$kY90(e$RB88XrEXfG`F;Be%q<{Z)^2lT@m-Cvf1R@}tvRvJfGfrzc-D4!R zG?7}ySEOki>y;<9pPW^);~GxNO_I25yzJS!k^5{-=TctAmn|67EM;GzezXKQtlt>>Dpr@t92GB$Izmda3$%jaj-snJ%S7pG3o!36y@2O#DE!VKy9 zD8K1?C@TT@g$`ex>bn@eKo$KNzn7;+ zUPHYYE$y%D>AI2IA{L=P&3$tpi%UaiEJk_qzzpdM|G3NP%K+9%v0;F8FUPX3htIHj ziuJRc3MABIp{Yyv37P2YLB$msRuWU|2E*abxc7klUkA!UZR5~NV-I1>Y`?0XVl^7; X$VokQ+%P?h{LwnxK&vxP0ag~YoX;Y~v9mbSM_loJ9DTzGPz$)kopQe^u!e{f*CvMW+}94wEfwtYc=-F*yC@;Baf$p-M8;|zqs!{e)w!}@La}e z;u5dr*-@Z4jNFwax%+9!U-qB7etWIeUh~_YovJ?1yJ@1bJk6v_l33V-U^DCox#Y^F zWQXY>6I}7kEH*5jhdioqy1^h8TP_)-5ziC7PR83D z^gq%>H$csgU#22*V-<)vbaUQY7eW3+%L5tm1mIXLO-8(+$q!BUdED!RxZ&A(sse?! zQ$qf>1hGl6-g^^As_#-Zwvh^DoOII(dX)~sPiy~IujeT$AQBWfEp(~ zzzz5pjbj2Scvrmwrx%ACCsCa9P!*)XqU`d(MH*`NNjUa98M*S`!p|#*a0}qp19Rnp zdtV8;|C*2ozX*BwtuFKsZU}GLv(5ErZl(p9uEWhfyZf)aer$c6N!KETvbuf@k$i z!-v$pRYU})@k;iuX8tmGbfmW7F*ApuTH0Hqr=uE+X0W6@ycwvv5h~6ds(yR*X2q(x zPOkG|TFG@rcX`-q#OjMVja7IAKpMn!3@HYaR)zkKsqS>I&n~9V+Uay0^`&RqSYP+W zt(>4ff2^*|=W`XFM~&^qHa;US&abzcFVX`wVio=~H;?aCEQhe6H_Kj+_4D175Sl)5 zzhV(Yn<&GA#PsFY=z}srH!K)RNwuHsjC)rlmp3*R7G+B%i_inaP}_dvy`ne-JyXR{ TX`Lw@4fXFC<;>Ii^Tg^OFY3R( literal 0 HcmV?d00001 diff --git a/fonts/medleyinterpressfonts/MODERN30-BRR.MEDLEYINTERPRESSFONT b/fonts/medleyinterpressfonts/MODERN30-BRR.MEDLEYINTERPRESSFONT new file mode 100644 index 0000000000000000000000000000000000000000..73970a85ea48394aa31c94dff43d54b6214a0053 GIT binary patch literal 5725 zcmeHL!EO^V5VgG#REvbP;*M6UDuP2%lWj@qZP|5_70zz7-iEffNR$%-RB_=8@)7w0 zq#pQ%egjf}fkRK+gJ8y9H%VJcv#HvqYOL6v@p$}ZJn`7+?7jQ2_tky>>Ejo>$1@qH ziA%hiXGcNKq35ox$i2@i_0{@Ix9)G&{LMNHrg@uZ%{0loS=yB@Nn&Alg6*&!WRmAD zC4X!}n39NiFAhOdoa8*~W?V`eCx&UKD|pVkda`EmEacGyrx|o&vE!0X8u2Vq^JKis zLH|=lGy~N9>~$(4H{-1>5oD%)t^@)Z@&xc$HAP0epvf;qw|U%Z!*Ip3vosHKG@cT2 z+7tvQ#a8QW9OZ47vXPBcDC4A=j^XENCk$m1+_$}qeZX8SiVl!n9=dkz#Fn};!v81w zH3ejS%5O4H3+Lz!(5^kT4GL@+2<|@g*I(2djmCzpebH;-{)~-KJ_im@0BfAI05}-1 ztUVJ*!JGLTaC@=6aT3KD5A%Z5SaREJxky9hKM5QEAR{;aS^9nB5bgoodtjkF@aP*M zk9&kT79mf*mxUg}3E{1Jwmu(qf>@I27M$%@cmSI7$5!W=bOADDWg(x;JElV>tOgSm zkBw-R_Guscs#m2|Ce9W*q{E7bg*iBj4WNub&Vd?r4A~)bte4&?A(Ad7ueKU{zYR4v|9=a2(+9)wJ%=^vQ!E_VIpgWB4+_Ak=)zm?2fyh)h;{H@99^J_X^ zgT60K*XK*l#vSj>?7_OWpjTGBBJEaouQmW?bNjvYd>$wftneS)BEGK(zKO7)!%VCC z>JG2Z9YvoxVeutIt2l$4iV;H$xmOt#~daqY>G>+4URtmD%PEIL9ArR~?= aD_)48XX-^{tkdsDO`R`cBrj@b3D&<%2g2$A literal 0 HcmV?d00001 diff --git a/fonts/medleyinterpressfonts/MODERN30-MIR.MEDLEYINTERPRESSFONT b/fonts/medleyinterpressfonts/MODERN30-MIR.MEDLEYINTERPRESSFONT new file mode 100644 index 0000000000000000000000000000000000000000..120266ed48c59f48cd36c0acef13a085dee1ca06 GIT binary patch literal 5733 zcmeHLPjAyO6t|O#KS4sOIB`KyG*xgIT9b{A-J-;8Eu5r^-LZ{RCB_K>LR|O&s2`$V zVVpVdL$I%~!%o~Q!FzVHc5Dn5s&$<ZbjWNmrS{o z{B#Jh6po15CXc`pPZi61Ig`@C?kG!of+^NBlT8=PBNk8fw8MmpZI>ij%<@#vlYEDP z{YSdd4$<=CgvGp{xLk#TM{dqKeG%qQ^oUSKECoPzQ#WH)w8;LjIX^2 z{tSOrBUwAaoK#sskJ$o4F2bAI2#q!h1#@o)Yft@FtF`VJGB!K7LlZAF>(Ike0L#-3 zAO{bY3^kz?tgT)E@x=!7H0C*rRM9k8lv8fH$RbUkgss1&$lU+#&KhOs+M%KPnw-2o`+J*liXawl? zVe~!}0jt1DdNyi?^Z>>PmtR89l zA$@Nb5rL_E>IN{K{mbCdu^I#m8my(q6>2)DFlh!;?1wWja*a$}I9UB){klb~Ia03j zrrPOMMt6DGDn#q^g^kuDo%}JSL!!~C5HAC!{T-9u`Ml3As%Mkf&qsTf_U}HPHEZ5| z6Vw-v*40J5wi5eGZKt+_*U5SFf3toy1}a1={7$!!k1T=@BP_^NS!-Ee&eRHjA`xV$i~Cc$4Mrk2e^J^{|$S^GZE~ZcovnO SnMb5)ojsx)d0u^yX#EAHAHTo= literal 0 HcmV?d00001 diff --git a/fonts/medleyinterpressfonts/MODERN30-MRR.MEDLEYINTERPRESSFONT b/fonts/medleyinterpressfonts/MODERN30-MRR.MEDLEYINTERPRESSFONT new file mode 100644 index 0000000000000000000000000000000000000000..11219d6e00e37ef5818d37d3ee0c21515edf061c GIT binary patch literal 6427 zcmeGg%Wl&^aCaT?FjA!mi6gSCDuP2%^C&63S@tHeSlf};32iSZf^w<=Rb2Q0l#j?S z^uh;l$Vbp$=%FX>kzi)m+qjTcN+@bWn^Cf}GqbZZvy<_xqrJELd!LD>_VSSVcct7+(Qy6DF?WSBx8_9kWbp_9OS1;Bip87l}P+DFTiXDeUNx;)st&`y{ z2mO!Lq~)RJClL?AUgV^_-4kAF#-~celRl5ZBCD#V0ng{;hnjbI*zN$kA)YJvPF$P zU3Wr9Oju1ON-mqw3LVe^;tH$K3KM?<9nn$AMPOxI#fAVAkSoJ4>KL&xD_h5Gf_mXQ z1dagS7^KGl0(OC&)N14m=@G~XSO=Pb1H00Sb%--Xf&CP(Y#o3m1>^+BQ!oAkLH{+t zQ(QnymCxEgh{K@dqH_FYWm>_=7@ zxG!RC2$5Binhp=}ojfD(VP5C~iqC(OJSti1^<~Xg&iMcFckXPh)i;+oU1uNM^-p3eo^AO}qb`uHFP1l5 zPgJ*xJt%ZWx_5&vNzcDy*M)pc0n^PDaYMrqSE;@YyHn^=i(nnhhN2Aa1f44EOy3|K zbd8}`%{5^kh&0_XX#Qm+rs+eqF6=Pz3wA(9j`7F=JVFnEKBh;-eTyC#d>(#Lb{-t< z((?1CYh!6ITEzNN+AZy3g3S}GTiNRqfd$eP-XAaLdjW!Xc?1l<85OSXp1QWEdH!EU zTz~KePb&sDR6S~aaK}}Ex81XRBQ@Poub3tEZ)v7};x5yQ1@8w`4PDrO9liX`23G4? SUf^2~!!hG5xr=G@r0Xx5e+%va literal 0 HcmV?d00001 diff --git a/fonts/medleyinterpressfonts/MODERN36-BIR.MEDLEYINTERPRESSFONT b/fonts/medleyinterpressfonts/MODERN36-BIR.MEDLEYINTERPRESSFONT new file mode 100644 index 0000000000000000000000000000000000000000..cd9fcf6711d125b8dfbb354062944409508e7d3f GIT binary patch literal 5717 zcmeHLUvJYe5OQJEhBOHQ54@m$j(r3) z@wD&I&(Y7&#|a@#aA(IfW3aL8Z>P;#?eqE0zdK*gzV^4?zTf)dzx(*%v$swQ!FcAA z=5o_ZB1vK7w-&|Lr^R3?ceMMBqE44PObX^|IH2oI-Y-p^AiX|9F!6fI(!RAxF+pQW2V>GOmZnUWLi4F&xR zis(eB`OyoWCO(r<%3{Bu-L*6-9xHw%VwwRQXROGCmb5jm=pJR=99vK=QA+*0;mVU>b#?Wbr(Ln$#nYMEpgayUGy|wC>jG}T zul?GKL`pmIB{;o2T$UxQps_4TjYWFqz*8P8_X#-mJ2|=XKljI#L%0QS>w%f_z`d`8 z+dfQ{z6P27{PLekKb}fw!gmO)-H}=G=cwtJv!QeGimH&vxg|;VOOow4Jh4xl)! z=D-^%-LNle0FG<7a1F?TCcUdQXlyIJI5V+Z$OBy43eC_STJs<|G*+CY2koVeaCwiw zrvtFVMe9(jwX1vlgk1;d8RVBTfBV*)`n^4W|y(AbfVSVpXS; z>wKEd_v?)A^03v2)#tMrtM~}OX8>GUaK+%YTA>f{syp86=NHo_?Q}ej`rMOktgrjx zB&VoPAFHjIe6Hg2Xs$ii#%JWk`Sn)wMS7q{timsIvsYR{tU@`24ZUf4HCE4eT|yvz zH0xmzWDSsq1&Qv>XQ^)tg%vdXMi@@DpYDu%S2>qA))s2(rnw62Z6Su*_UkeUi%w`@ W-JxR0SZBCM|9yp7d0c;*Sp5Z)=I09l literal 0 HcmV?d00001 diff --git a/fonts/medleyinterpressfonts/MODERN36-BRR.MEDLEYINTERPRESSFONT b/fonts/medleyinterpressfonts/MODERN36-BRR.MEDLEYINTERPRESSFONT new file mode 100644 index 0000000000000000000000000000000000000000..c5b432476b02018ab8c499730a0420d4738418fe GIT binary patch literal 5725 zcmeHLL2uJA6tY#9n*FjV@;=RomNY>pZ(tR_nu$;?6wcye?0i+efa$8tJ`I{NOSooAL&>1$1?%GA%eueezx4cCeX~~ggR0AAi{%ZT$xhBY!XsIdy6tc;YK6IA(xc?J zONga7V%AL}(3E77<(-@f;i6!~+ntn2*3rUxh~*KBr$!oKJ4yFF(&jPCGbJaIcMSBe zDWVag=4Y>Y8hbfw?xtaG+UJTP6cNh+k3CXk%nF*WD!RpzW(%gBV>jnAlxRF9@uwngARO(4K9D zB4rKv2Hak3Z<57H&LUZm8jEzzmZv;Y{u8kA4{~zjzskvtL%0WU?}4TAz@zVkJnjTpSMOw697s%g3@TsyH ztwXJJpj)hA)gF4r@Iwm-5XW@UBg(Q%A=LVDExV%X(d>wGh@%=8wsr+Pt2mLupSxc~ z1SayS{6C%hP4K8tt<{z?R<*U|YC0$Q@^8^SS+=dod4`2v+!mZVBI45UlVf z!h#Mnt?H{gygql3K6~!rONjPx4sZXuHFcqH1g|S7_(_2|U*u01_-ef{Z^b#hvP iy#ZnWSU2+`GS-<{q|fItoENq81nVE&QuUkw literal 0 HcmV?d00001 diff --git a/fonts/medleyinterpressfonts/MODERN36-MIR.MEDLEYINTERPRESSFONT b/fonts/medleyinterpressfonts/MODERN36-MIR.MEDLEYINTERPRESSFONT new file mode 100644 index 0000000000000000000000000000000000000000..05938991c449fe72522d392b903cbe81302666d7 GIT binary patch literal 5733 zcmeHL&2AGh5Vm(02#bV-xaG8pdVoVwo20b#w%T+>rY zjM1T2IxsDMJ3T-JnX&p9F^^AiZ7n|l`7 R$gC9kKWkXczqRM7)?c{#=v@E+ literal 0 HcmV?d00001 diff --git a/fonts/medleyinterpressfonts/MODERN36-MRR.MEDLEYINTERPRESSFONT b/fonts/medleyinterpressfonts/MODERN36-MRR.MEDLEYINTERPRESSFONT new file mode 100644 index 0000000000000000000000000000000000000000..d8f11c47a6d33b8d7f8fd933547fe1442d92047e GIT binary patch literal 6427 zcmeGg%Wl&^aMv~vj8q9Bap=jidVoVwo1~=lX4#v>!uCd9C$wBpB#Kn20uEeIz9Zid ziA%)?aLIS%8*+@e!OX6gIK@RuC~8BSQL?-9+L_tOc-Hap+tcIE&btrqKiNH&ijXG` zad%xi@G=H7r@k$YKWt ze%OQ&>jFZ4lEm}D&Nq)Z4K(LRqm5zAOd2`dy!eHIijO)n0kBZtI1U}+-dMEIJ4 z{w=v^dZ_tH%!05RJ1J{*BQMqCQ_129pCw?CIg!hNHGFu;e#C;h-0f&FLN3Q&H-z4P0*DE*U)_~gx ztW5+q-VpL|gOEqx2zh+Es@XnN2zSS|RfSZQsUmn6>ieaZKwW`sS4=VSE@yq(H^#pMozkf_Lofy?WmW)&z&C(7>X@1wC}*$&z2?NM z7y}rGCI@Z~v@z@gJE63sRE#?Cj6n`G0R?uYed|Q(MGWkRG~joEUjp64QG4+>Bl@oZ zp5kMOsq|U-2XPo#Gt`d1#sI8>$Y_4_7_p0>Fw(Q!LgcsHi)^&cG{vmo%$zJ@tP@4Y zeI>mDk(HbZ4-fF8JR|U7Ug!ae&wrgfGFfZT)vRTCTIEpS!kuJ)I-_4u z7P>fYxmpwUhlo=hgQ8zXV(LCr>B0^Zzu1dof2gU_Bk%z5+^84#UGOsZW*K^scbPd_ zrudgn*ZR6%wBT?K?f~F%EEB9--s=;A719-6F0biL3-9s>7=AsVj+iU&gum z;0>Pk^;~1snCqLsTLA#P?Jm+a*L+7MQO5Oeak_ruF7t{7b6G=I_Fvuc@r?-pR_ih^ QG!<#(9A#4Ham%FZPm4!j`v3p{ literal 0 HcmV?d00001 diff --git a/fonts/medleyinterpressfonts/OPTIMA06-BIR.MEDLEYINTERPRESSFONT b/fonts/medleyinterpressfonts/OPTIMA06-BIR.MEDLEYINTERPRESSFONT new file mode 100644 index 0000000000000000000000000000000000000000..3698cf1d339589d19b7d723fc476a055f145f93e GIT binary patch literal 7083 zcmeHMF>ezw6n-gEsf>g`NQm(ib%3F$O;TE#>9})}6PLTw*(ohjHrfdV2BeCqW7dpW zJ0R4Rv1`Y!5kCeb%6s-XxrB?9sHNplY~9)K`91sj`RmL1wR!OF{lRDJ@I&Vl+vTzF z!oY&!Mv=L;aQUw1;7nd1c^t)D2u5rtY(_qpJkrXV#bbxNDNfC9dj7rzVI;k#t@MQV zmgD@(im2H%^V3(M?^>R;eb2FCUT^t!{7jA8!r=j#GfqLupIe zdjVi_CuE!OTlF`dD;p@#V?;T^3u@uWdKoqyN7T@Jd#ltBU7jpT`xg;+EVeP+N=faZ zJk9uuvSV}1YeI&JYqa~dW68MGAt+lN+vnEZ^5*l>*4EZG)2`U9)9H-%pgfKo9-ygS zP)EDb{#ET5Tll;tU-LLf4%Z7@FXoO+NNtN`=D_{XQSK9X?8_0{dRh4aaPJGi{eQrg zTX)97fQ1KU@W6wg0FS-`JQe^?E@x246mc*@6xWMPhesWmRz%ps$bNnC&x9YQ!kMt{ z02G!o&6$Vkf)5=Spvo!qp^B6bM@U!IQ^o$DwW>x3C~=5S4{IN_J6KP!r5U<7a)JFb zIL4=ka~vbpMc%QhzFG-T8*r?fJhXBbT&zdUy-u;;j zR3EZ&s8(_d)y2X8hfwXMpb8UE-OMdibA3=ZV0`rk*0{nF*-;g<8N;i8aU80pGNvfP0Wmz8Y^tnGn+&8U2@UQf?FrvWiaM>5;J{RF?2GUN%+-qi+DH4zcHV%6n`mFiHw9)At80Mq7E<=wMj}!Ga37mSU7g%b4m;9MmwRxfD|!h%-XSQ z#w-kstQ}c1R&4wkP~Ll&i=8i&rl^%s?quJ+yZ7$i$FI-1YyJ4$`{U2%$%oTV#=Z!p z8~7&VwsVGKMFM+faZ?_D+{|y~pPTu@-gaRxU&>lt zr29tT`m0P-EL!==%fNHYP*j_q73%gWGg#6VKIwDGq$4!#FkKUFwT9Cf(+Gpeipcm3 zz_=--ob;O2*RB)QkfCD`WlPtu1hM*2P`7PaLH8YOP(N_QU{i8{YzW&lwuiRl*@(hS z?Tf6)&WPV+6bziB0-#(w76w+QHxza>AeAnWp+oKkHv3Ov;8#Pq^OF4q@Sq3quzBaIEEQOK zAQc{1!`%1i3&7*I0PERBRkkrhAc-!+dS_j2^?*I2<5? zKIFsif7eKU`!#qNs)a&2v6`^?+Fj?`64M1#TnYR072=$icfJ)<%{3jX=LxK?8KYP& zrWdQr$p42}JxgE}#<04RUaY1%Qn#Rd`4;xL!4}i=D&A=f&;RSASj`u9mteht!xs`= z{t#fdO$Tc;2J6+2aj?EfH(2Qu(c+T@;7LZExQN#0j@fAXJ$ve!Gjz6~G8=@mXO!e( zZ*{U-O!n@ihLM>L*5t1MXAG>xlwJh@9?+@Kk$YKE>4E8BOM0BLy;W?b u%JX#3)@D`IJE_&*>{oyKN}41mrD-Mdw@wneP3|yPe>zw%)o literal 0 HcmV?d00001 diff --git a/fonts/medleyinterpressfonts/OPTIMA06-MIR.MEDLEYINTERPRESSFONT b/fonts/medleyinterpressfonts/OPTIMA06-MIR.MEDLEYINTERPRESSFONT new file mode 100644 index 0000000000000000000000000000000000000000..fa53db1cd5667dd6db5af67ee03af7a40c729628 GIT binary patch literal 7103 zcmeHMy>AmS6n`mFTa1KMA%VJ`q7E<=wMj}!Go9|7?%szHEg-OBmogF7wPCt7(RU zOQQg%3}8+Yht0Pg3wLsS$-`F2g3+w6#o^8w=%)=cQ`3y2-RNwi|Rpi51H0IKq8Y z*6|ytIa;uyU1JKD*X1i7`q2S9zU_qEk`bwOkt{xRH?Wig1s?spggY8dJQ7$J&lMWzF!j!cUpXk&E0$p{z+Af^JEFzx{q z=B}#qXq^o<9KZ?EKVSegaItoguBoSn{qwb^W>1i#gHIoNaD;2$VI5$l9edaxVtivS<4g_d8uHT4eXMPiV=FE#8WUg=C!fh^OdgWSn}@o3V1!>-<^kCFlH{yE|wB2DwUbd}F~ z%A@fZwrn>-1pSncZU9Ft{p%ltM`5*G&M8<^Mo-{yU^K8_mk`YGCMv>qon0Z3x& EZ{!UbAOHXW literal 0 HcmV?d00001 diff --git a/fonts/medleyinterpressfonts/OPTIMA06-MRR.MEDLEYINTERPRESSFONT b/fonts/medleyinterpressfonts/OPTIMA06-MRR.MEDLEYINTERPRESSFONT new file mode 100644 index 0000000000000000000000000000000000000000..983379fb3cff34e0c37345472314c0b5844d7116 GIT binary patch literal 7113 zcmeHMy>AmS6n_D!6eEx-Bv6@7Q3n``+FbfUZ#vyM$%*@j&X>?4MJ%)nC@>&ZOc}E> zvS#cEW5m|6V=E^9m-3z+C)f0Xnig6eiY?pk+0XWS&%eH$-C+0a``ypR-iP)l*5tA9 zqR@ciYLU5i!jUq{%VPKAa%rWsZj{WeRdcJfUSv^H<8dVllX@K0g#n@Gv%ubVYIZDm zVie$%0o-bmgv*39qZks*A@CcT+tTJMjD+1EPB31-6_g zyw@DppOZ|*rj?%t-1QoP5%X%pw`1KtlOncoct{!@OV;I@cO_rrUbTk9g~u$85<4OD z3jpKBkb1&zR9|^+QbU0*BhC?CScygkBvIfvqJj?GULrbj`CwCWfv9uGV5>uGO41DT z5Bis-Dr;waCz5F3Aaw}Jy`*32D5ScM?Q`Rfx%RxYv9YnqlsB4HI-`*p((l;AL)6v_ ztEf7fu%vur3!hh#mpl#!N9={J7jq{Wuu7MN>0|dJM|x1;;m~Fac_0@aShx@H@CU%7cL0k|E~~PG5u&(KWGX_c$TTma2FCZl8Ul3$Vltu$1OMO) zw=S#naGnb;wBZE#KJ>r>AM-x)mMj+1=d&e8Pf((TrHi=-2e`@})(5zri#=^PLb?wf zEL~iqja*kscd*ZwI|1^5BP2~SE|xBiSjby&h;#=_7o}U!z?Rl%W8RZ>duYSe2-=l0 zC8{mCzGSf?-?XHiw6pRG?XTvvwAi_pEK{i^wbk7DwvSzE9kP(l;g@Vl@({~+B4pY} zF97=F2umulodF`~$9(t=&|{;a-PvTJNy3-tzS}Tg)y|Q$8+g4`jnN{VXs) z4p;nFNIqY&2(BvAQ4yt6PZIQYqoR+FeR>?^dzF40(5)UlkVGHfWGK_yOje>-FC_`X zHcReb_K}5@Dd|?xRIAr2MNyqj^xmewYjvx~M?pXZg6v>0^1Kckdj1q`He8QK9|PbH G;rbhD-5nkP literal 0 HcmV?d00001 diff --git a/fonts/medleyinterpressfonts/OPTIMA07-BIR.MEDLEYINTERPRESSFONT b/fonts/medleyinterpressfonts/OPTIMA07-BIR.MEDLEYINTERPRESSFONT new file mode 100644 index 0000000000000000000000000000000000000000..dd85501489f67aa1b5eee78334b6b4fa10055d0d GIT binary patch literal 7083 zcmeHMKX21O6n_DURz^Y~Bw)0n4uDkDCMhl5jD1NAj&1qu(js*unNVRss+c-v?U*$K zLS^h&#(V|D#M+P04ltDW-sKWEb*qFz+o0SjzW4XuyLUgG>uat4=576>*?70{!B`QI zbOYan{CwVUtXLprmS$!B{cK^b@YF06m*_-mpG4wV^x!J&@GKBzbY&xm)Zo*)wVogP8AoP6c!g3mkd>kl?v@ne+^u5ln5VF zb^QwFjrq^0!dTK1<@lwD{O;zuzT-y1j=QYNB{uYidx6d6leq0SLb&uc{S)BkCxBa5 zAeT!o#w3AB1%{}=?OyV@r20FQb=ZPKblHPla3I0nMBd?_gY?Pnu=WrwHt^Sm7J7DYmMxs4!!xvD z6ZVnbN8LVJ&>S5ciErXB;YfhqfP5Q0+px`%w^8FD@3CzgBoMV$a#o8KW znP=Fpb9PO(peIFF9Eqql4eW;;QB{TXs&BAY)`M22T7x|`cXIrJA~nwrt_^VA6iYSI zee2RxsRq)jiajB|y4Sjhpx1cs?Z0QF-~1XpjMQRrETNiO^2lT|vPZUq+E#-8aE&a7 zwHTU|EcZ}muEsZTyCma7CLUktvRTzNk!q`G}tT*Zcl6Nj3#yLV{pQ?{j zP|Y8QYN5C^!Rk2*{wJ=JzXG^w*;uXjv3m4<5UbC|8msgH(d3T`;7=pX(+9+vEqDJ+ z^(aam>2wU9t{ElHpskKOD8Jf#Z)dWx`lXLm@CLA28qZ4r`lzJV>W)`?egmCOJfW#tO%>BQx%BPZI_Au)sVhK(Ry|M>YD&PYHf#!eY}35PS-G5t%Fxk z$`X2GmfgRU>B}dI(L1YAmS6n_DUMn(cvNFcUT)B%u++FVLYx8u%9PF(Jy^Id5{-AE=>7?2PXW7dvY zGnRp&V;K8CFm=ty*lwu2XUECqdae4UmP2`#&+pmK_Ve?vcKq6Cz5meqYP3IYeP(Ms z6mH-fP+BZ8$BH;|MrB^KKFyaG$}fzvxw>esmS2`w5Y>5D4g9DX22Ejr?|Q6Zt=n}g z6g)BtaKr#^Nezduxi*gE`VkMCAs2#CM>}XVJs$C<>a41GXmck~Q?(kdw_!lgjNFDL z`w90g$MI*RP_<~}C$9p}F+yI8JuB4ZQ>kDHoBL$XffOCCWlzd=?$+wqT(DReL{>zL zF94*MLdFR%uDx-csE!IfMv^UDzZ#6qkAjA6iz>QreUA9R;loME0iwxmgDsBMQkIJ_ zPqe-w4OyD-n}~v;bJPYX*QT~X8f#k~H)hPG=jG+)VB#vL#}A%e}ys{u8+IcS5*vD*geuy9019zHw8g z224GW3lGfV+4tZFz{7U{kBb*I*~Sy1v`}K|d{h@iQ3Nrb?N@jJ>hp)m^Gq1G0SdP+ zYVxRG44d!`4pHvI9ykzV>Y(h%>>z(UIkNQ-HMTJKFzsUB4vw>jqj)$%55B-}R9>NWm9}KBtPibBQCs%Z((!VDRcf3rdJSMuxGzi6+{e5}jHE8w z0qBQ)%n4!}LqyO;KDz(=EP3~9@JOhdW>cyh~m=1J@7dDHd(wmjOIY_NVGgB83KSSvXV1pq$KiRjTirCfR-8>~MQU@fM> zivRe?=gCTOCrU)RBz~7Z!}yHiWJTgb5hiaa>ryxOB{RV26D5qs=!S{1kI^ipNpZ8A zp=1<{cuk5^@hPf1e*RMYPXC_OrS7f%^mXKo4udRG?W!ePBdb@cE*q=|39vdNu>J)- Cbt$+2 literal 0 HcmV?d00001 diff --git a/fonts/medleyinterpressfonts/OPTIMA07-MIR.MEDLEYINTERPRESSFONT b/fonts/medleyinterpressfonts/OPTIMA07-MIR.MEDLEYINTERPRESSFONT new file mode 100644 index 0000000000000000000000000000000000000000..d174298c4ad91d3c55e9c2bda62a9cc2af90f2c5 GIT binary patch literal 7103 zcmeHMJ!}&(6n+7TmO}znNJuc9q7Hym)FvtY*-mFCIdQp*&Q58&LNlSlfD|!x?3yua zMh2EjEM@G-ikPx8GPWb-Jv+`_!Ugq@wufTt&hOdJ_IuBtUd}JIt=Dh1KG@B-+wZM4 z9tkfDY{)Ow=B&F_ zClXxRIXJceZb*_~e9d!lB`=UXsz+Q1i@M#gR`k@yO*Y(NlJ6p1)y3SeIVS zQS*ei$#MND#grXd`EiXiuTir->G+;&N4(PTo#=^@aD>YPQs_{zj2oUQzRJBy6^C;x zRuoD{lJz-&QCmnm;WsKTJtnIt(6xwjg%^~=SbrJTTvwFQf9tbEhm7|(B@c)?cWrB7 zU`#<-Q5>&+Nole;xvZbA|R-qG$tx#Ua z9v+~wUQj{J(Slj+8b|oNEMM>_=pV2bFfZb+?6X=IX_-U!LsvOa;L+cbaOLGTYH;Th zz}?L&S7oBW!~>b|z|0iD{m%doUI9FuIjhPpMu>>hOR-A1m9eI2B_xCiY7I2&-RgBs8(v~veX81hWb>tH`gx9}mUeWY60>N+su zT!fFiQl&y~hIZ^Ij$Y)Orm~av)Lx-+J*PR48zsmxU79EzuV;GW_A8QloetUtX!kGG zl0*-mZ$zlFt9;glpXiH3u{QdMpr7)=7r?%i{Pj2BQCKY&GYZy((WfQ}ZWmGX!4mjS zR!H)svL{AX5aKZuWRq%WYW=^{19LxXf0(mApm%}H1)ck%S5lg zdLSLGU*gyb)1zp`e?T&sz5AmS6n_DUmP3FlBqTbWq7Hym)FvtYU^<ij)g5FJ5&Az#&#|5+2`CfO{>yWsSd@~o&EftpWl1_)j7X<&37M~U(D9W?axMo zhr$Vb6Y|S>gIN*Bo>^KH%}vlrujcZI*VJS+#6z32)JWO#9CyovpcXlv zCFcp}HAnq3k|h_5gv4qWivglBfjBA=ny2_nO71_CUBMc%d zBKLCu!_JU-!mU?cIV`H8K-VD37LH#I5(lEdvu#nv0B$Z&KVUpwltLhC+%}Enfj0%| zM)4f`OVX5;6R{If5C=$Yf(kF$m)Z(xu5G#8oGGq6E3B@rt{EyCjSB5i;)aYnj&L8X zb^HpNjxH>y*jU2l<>)03{dkKVpE)77qnK2-M26mWH?U;{1#bSW23&i&eG}l$cYu3u zuiccX0n-R%A_8-F0UrDWc=#UR(fnmiw(*3>FXat&LaLK#Rs?lC->>ut)F+T3Pc&iT zAAIh{WsM%ptAh(|I70dW_JKhi>n_qvJ`DS(E0f$KlxX48g$~Z_p)^;9O3+GxG@v9&lZ=a;4ssaMOwQ{d-GMi-jl2%*pvE0p+bGc<_%L3_ zjXfkSyZA6%EzwPWw4|T3qKXRfRa9DME=``P(n9G(pB_!xK6aI!u9WNN?xT;Y5bsyq zC+jF?9r%NBN)=-(Mg;ws5555ojP&on29E@5v6xk~ro8^=F2(LDirQI1|HTSPUR3sC z8Z#|58m;>&w9XkP(OSwfTBm#eAENbZ3av1N)|D)yHPd@F0pr;O))-@n(P!&?3aw91 zqP0+5o5FRBfM0Uz^m9N4ZZuq*30#kV55pDnaoN0QX{6A7VprZV0Kewz_{Fbix=);2 z@K$hDMXz)=4A16_V}o9I937LNJJ^}gaQ&9R6+CRG@n0cXJzcw)hoVYFx70tNSDdX;JvoqixtLpWV_LVG-IJX@=Ax*Ad^9gbBdjh4`o=d`2Y LdYFPM8^HB1L2fO) literal 0 HcmV?d00001 diff --git a/fonts/medleyinterpressfonts/OPTIMA08-BIR.MEDLEYINTERPRESSFONT b/fonts/medleyinterpressfonts/OPTIMA08-BIR.MEDLEYINTERPRESSFONT new file mode 100644 index 0000000000000000000000000000000000000000..1339763d36bd13939fad4bc75199227eadc2b9c5 GIT binary patch literal 7083 zcmeHMy>HV%6n_S(L`DK6B-+u6Isj5po20aKGtMQkaBR!xlolx)%>;n~ftWgW?U=O# zLRm9*q+%)?j9vRrfRysyoiBDGM@nebVm0^VyLQw4)zKCNTV@dt4Z+u#U9FM$ ztsZ!x8PeW0fYF_hZro{9U)trch8+%d;w)~v6))C4^y-$yD`>r~MXGyc7A;Eq=RUIx zePytfg4jcGobn~1$Lf&Pc<4o@k>;0%CFK%_Aau1%hZ(nut4|7RYisMeG{t6>PAA@j zusF6b7ge?0D(a2;FG|Ch++mgQ1qcAb(66WK0>~lU`dCL6; zxcvp-&VQiGl^bKGz{~;@Sm53tfcswo9&mt#vk3;IcCpYy`~Dk+idRMaTzq9y=6v}||Kh82A~LIl0W)!QF_>d8010*^o{eavJKs>wZ1 zTPMR^K$6EQpg+-U(a&U}zSp5sI#hoopqkT%p<2o+R3`_?bvXF!?J*syM+vCH2vk?I z3f1f#&LwN?T=IHTE|(6~#|fwwhoM?1uFtSKrIF9sJ@G+!&Y7}3JRPeaW2~NiAI0jk zOkK^*hqPI=W}e!DKt>-C$hPip&J=Yz6A zd}@2H3Z-&Mv5bHqrB;^c*83%GS$m{v`g&Pk*R_)31$E+AJvV6jUX!Ze+K$pNo||>U zrzB7daI65#aSe-X*e1?oy8-c=KA}`$15K~dbVxv&VzB5UzDcZDPt|DH&ZY`pGq4*5 zA4lyM1m`burfRU6?>_MyOZ7>uNf14tk37)#k;JL6MsdZzr3+q2&d5rym^fu=YP!nKOD5JlkjIcQh zX~5_(y*@^^AN3)jY=($nFLL?*hwn=K-7mqzp{nco#A@8>)6$*O4#?IQ>&mg8t&r*s zeJR3pmqws7Vkds-n!TNCw*5j{fus+T=SlKC}%TE@-&qtDH zr-&0vfu1NnjgXx!uuKNwWQiC#<^4AvPC4sY4~teN8?0Z(V8zU8;)_+QtPJ6sZUm|f`5GEF>eJt@5FLXtjLzp2kaK+X9UGNVmFrKYKOdRrFh7R z5oVuQ#cYfeB-$ZnvxFu@Z9?HcFd_pbcGqaP!sm*f9_FY-7Hgc#l18x%oBWeNwo)d3 h`ZDu|*(NDSv_dYrvNaOw*-R!_@qepv-pYw~)?bKoAO`>d literal 0 HcmV?d00001 diff --git a/fonts/medleyinterpressfonts/OPTIMA08-MIR.MEDLEYINTERPRESSFONT b/fonts/medleyinterpressfonts/OPTIMA08-MIR.MEDLEYINTERPRESSFONT new file mode 100644 index 0000000000000000000000000000000000000000..cb7088e93439db9c6caff4a037092e1613f6031b GIT binary patch literal 7103 zcmeHMF>KR76#XtzTa1KMAyL?@r~@DswMj}#H)CHC3&)Opm(o`1MB51k21Lcg*fnF; zju}`Yv9Ka07&~_D$jaFA|6MMzgCmhbX{_eH?EC-UKi|K9ua~>u>fY|Fz4zAs>&9Di zgGJm60}FD?In%WTL(VEL^1U~U`KA05D_>Y&F02;{IWrU$7L~$4)S|G)EeJf{tlFDS z#f~@=mI3D`z?2{hmu+|se#r|2i)s<$+$6OVR%<>Jtfo3E6^k6^#xy0n>iJt1gf-z+ zZP|}|+YG-yD}|CxUw%+!u2-*Gp0It-u_9Kk`*!qDTG-rS0Xk&dlcLMIGWb%iFt1#p z=3O%ig)M0I2EgE4$UE-W%P%}vRM4PflH_nND209hMObwlUc&foE)XBOtUD-0fY+E~ znajP&8Ax;dAW%m z-1-P`d;7{=nK&?sKqewEHv@3z6Tsb<0QcuE>av47L~bc(str=@OtU@1cR;-X znQ}wp)(rq->Y_gP`t86DG>v(bPv9H)u#eP2*{27ol|raD=850{pANL)7*633=>%)~ zVh0Y5Y2?q~2%iqVk5D>-pOWw37&H=KZ-6HDZ=$}1{aVPoNQd~GA>T$lSs!3q8?~os z*{9wl{)(YdiKx)q$8nTI8j4K=8u+GhRaB^5(E*vH6*)82(2zaTjFj#NRt?F1#*qQe z3=2L;88BXebJnE^b!6KZ*|t_uZEkfDK|kgC1OUfo{MTQDM`D$ZG?@fzeAc7#JEL|; zw^s`*!Jlq0pzZ#l3}~;fm=4zOF|f{>Nw5~P3)Vk}$@K-qIL|yCtY2bag#oaxWEZUC zybxpIn?Dv_40R$MteDy8B>^5K!J03uP0%_toR`!PI~ZQl2-)~-I$GcL(R%)M5Uo!$ zj#j!#wB+>y1hN zEoL<#0C?f1LRa=l$z%l5(Hc((3>;hYMf?v)Ml%AGAR?loYvPaTg$WfR#mOr6qC}O> z3g}ultE9^rCZUKhDWe+_^(iK2bb3bD34{M2=yVtjMZ7MGQ)w#F{k{WJqRs7^>st3# j2_{Ow5n<9vHzaD^O3HMLgn7DHV%6n`#KDMlb6BnnJc)S)01wQ)*IH{)Cq3x7mDC$vZvOPd807!VZ`W7mvb zJ9?yJ#fF$*%-FvpBjvq2J8@D6lD2AVHFxs)-rc*q_wn=P?#0>OdcXZeYkX*aQtQm; zmgj1aTgs_LBVbt53JZMu<3fHh|6I%KYfJi?j-6gmVSdSTgR1XUxdyIftB$d5Rt%rB zKvUpY1(>Q6N0HSn6KAsAfcaIQajsIc={Z%K1*|Fu%O>WVte9vi8IEOdXy8=?%Q3__ zZoOeR|BN6?2F*P0u%cCSG@q4gw&BO`CxXS`CUa3D<)I*pETX{{bcI>v3UzO(z84q) zsjmPGDnsINyH@%+%DSt~Pn0 zhW-!v3qq9TKHKrYiwq>4Ak9niC0rrIH4U3-H}&Ob`IVKGRaIJ}UM3&))DU*Z7UrU~ zmRm;AQH42a8-v@d6ue@-8@bqWi;~hv9I~v#U zgIA_bD|C0E#x^s?oi~0SP75@92H_O@oeG~id9=!{t=wS-+&!_a88_qR{4r0qO=P2%e+G@X-Q}%JDUHIwS#O;!Acqebd-72P$ud-is~fY zCe}l=?0&ZmE9yps2>LOP&j8R?lfVBlcm!B=J*#LG-wCwNsQqXyWEicZIAN18u{$(iNoR9C(G~*>2UqrgX{6nLAbuiI$Y^Ku_x{rfTwwR_aZvJ zfedx0@^Wa`xE;~WX*djr_l&z#AAj#w)z^H*iLPhT;hH=P*aL7aWHu}Sa3I{W-+$G- z;;x#Am#{!OT$5pefun1_fd6)6Gl~Tmg_4;JK(#ovMWq)nIvF*hcvUT8kKgfV8GGqq z42v?xX5x;%cN^nUavkWt`xq{O*u~fpWlHgz>QY}Bts?s59!ycb_*@&miIY+ol`?7< c)1om^#J$ucMHV%6n`!fA4WnTBw)0n4rM56ew{{ zLRllGt{Jm-WbK%h0i>4q?(D`jm(obBny9&x@9w>OclX}AU(UXl>h`<$+h2^vhn-LQ z1`E04dj{kdb9&K=7`BYUJm3B}pI^u?8+mhm(Ofr|bGjc@SXlDCCFKjS}DPItJES>QhkNns*(*4r0q+Dtfgs!&bGUJZ9^di5qva+g6S8SANcLp{H zk0Xb9sH)?YQE$|LRyxMwE-OW^S?I-^>v%;cWOfvjQkO_iHr(}X;XaPremj6`Pj`O< z-2VpfU<`D*c4tf#n0nv>9(ec%;PH2WCmi6}$pr=|MQl7Fatk?K9*^>5y373@5_$9??MsplgdBPFAYoChZ^ek9*Ld>whrXVE^C#dDNHxugglgL6QQOT? z2dL%cwhHL01v1?DXOiLGTv83yqZCvh>1Ux@m{h1<93(dv4&!XO8md22P=yRsmnIde z2*{8meXrs^(d!=FQb9R)@OtN;*;>gjX{Eq)e*D>fQjWCqJ@SU7KjE z(gmU|E)^gyR|A?Z8|NhL^EsWPb;Vbu;TRm=GulEK>Hk=mkscS4u6H7-v6}t_sAsTR zn9Lvm;1!+H0ba7FX(BzK#%ekUkojEA7x4d%2@F^fR%NDrqE?cQL_-E=sQK^dL!qfg zES}UciQy?s7<>_#TA)gOloOKJnbaz|tK{utn20i^q?TW*>0XI4Y)F*-Lmm}2@XJ=JXO044FRfB+4?etvz3nTO+SO5S3 literal 0 HcmV?d00001 diff --git a/fonts/medleyinterpressfonts/OPTIMA09-BRR.MEDLEYINTERPRESSFONT b/fonts/medleyinterpressfonts/OPTIMA09-BRR.MEDLEYINTERPRESSFONT new file mode 100644 index 0000000000000000000000000000000000000000..c786d2e5611ea064fee333d551f619ec9ce97240 GIT binary patch literal 7093 zcmeHMJxtp`6n>^sORrKTRH>+&6*16(3gS?HHrKf%RvkO?ITTuDD@+yb&?@T0*r^g@ zSH>(IGO|XUSTlBI%*s~idv|u?SPlh>0v5TG@9y1uclX}AFK6FNb^HB??XUXI$KB6t zgZskvTpe;tIaV|SjxD{gAhtg(fr7xyh*jP;bvs_ks);MD@V zYRYlKe#>$Ghmt6nH1qr`&nfCYFV`K@kLu@Az!VmDQ6Ftll0_cU(2#V6+vN(ezcb$p z%z%v70FtJVa>A*X-`K^Vf&yJelqGDpl z+byHwXuzEEj42#m3SM*H4Y${Ji?+|LAS9J80gJZW@hs^-fg69{hZ|4Re*hk}03O$G zT$PCe6Axs<12cH`J^2an^c}#n>8q-2;R%sj%rSL7su#qx@alNBU*iE7oj**TXF|UR zpiNy><^H%GXu^TEhV&`)pbop3TS(XG!Q4v8*srZohJAdxa0JJ2f^r8~p1=;~F3vd* zJ#7{`_#8nSxjpEj^daUBu0bmS(tx8n@@ZpF8`}-cZD`>5PMG)L8}d3h#|cUfa^Hym zYBWO&X%aj>Lz|;1$u~`CVoB>NuMB*$ABiPvX_@Lo|6(4Q&_4isl6^#S+N>tvhZ2{( z)Beyy^aG$r$uqIUwn9YEi#&S&LyyJZ{SkO1R1G7WSdH0y=_aD>I+EH~iTw*r7yeEz zBzqTx(y@9R!|Dth#%dw6SiLw(?!wMz&&G7D{*GZ45?IB1VivyvvbQzk*Z7uSs?xD) z#IR}%V>NHAPQW^57{xvc$Gr0GS}q-|djqhZ{Yrv$E!$wFTSQCVEC6pZyYj}RXu5Hn zle91AFfYdn?;xW=IGS_0g%Z;LurMKgTS&U&$&?P(_*Xz90oFoBLji!-c1m>Zo}^5A zARVmnP(b37HDAC#KC=1E+C{ihrWDoGKBgiO(~({Mf+AEqAr;jTvque#!N^Rlh%r?6 zFq$PLu{WxR1jax_aWGmc9$`}Fd>dnEZK;JS;|fuPtr2!ab;MUc{V4KAhe29We8owZ UNE?;tO9d-MhPY?|wPoy)@R}e^~!wv_5Wp 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 DC@Uv3 literal 0 HcmV?d00001 diff --git a/fonts/medleyinterpressfonts/OPTIMA10-BRR.MEDLEYINTERPRESSFONT b/fonts/medleyinterpressfonts/OPTIMA10-BRR.MEDLEYINTERPRESSFONT new file mode 100644 index 0000000000000000000000000000000000000000..372bc66a8b758ef157983ceff4784e57a0d151c9 GIT binary patch literal 7093 zcmeHMKX21O6n|HwQW=S=LISZ_QHL@VwQ)+?ZmxYv42~W7oYI2Ws3#N{KoJvPp(7j0 z$ih%DpspFacI?`*AAy$l?(D>|Ox1t1Sk0Y$ckkZ2yZ7Gxa`wG6x8A@wpjZ9U-iwrd7S{X`0w!r~t4!vaa#JffghS7 z8P5Q+rjT;NZP#BqcGy6HLyag)I9|;ksvr7I%Mvwo-^MJpeVfONk^@AGTe`M5u%#@G zF#f82MJlp1;x`fcv2)Z0DA#7TK`LvRF4ylGOHa$yYIRvT%UrM1{tS(fKF1#Jp{|Zs zN5#>AS>+j1xV#p=;DHx!ujAQHz^yPQl`f%{Y`N=O(tiRselma?PgB1E?tKTi-@b8G z#tMu*PzVpq;Mw=!2f)ME0FS3Gs@YN+>1+}r=wj|89nk}Cpr4Z?;!=hldkcq{kJ%&G#d)T&rWuZ~{T!(k zIKbzS=D^vHPC)gU=pn(#N`kxepz-hHaI%p@%$_V$&!&%mX7X z)u2@=Q=&3LjdmqP1^EUo!g2>SR9+#z8q*udWg5~l)z_68XZS;sEn@qtq|s~WlNI)f zYD(w>U~{UC)fsIRtChlH_3S9Q4Le^v8}qSxl)@@xu)0)OtQK!~u36*g zn%6t$a`{*_QdqS|v065k$6!6DlP@ct`Y62YRD~X&57yogtS3LSU|lITSm_qg$2$+* zE9ict=t$loPTflO?Ns)8nCgb3?p(R!{t-Omb#s^ee>;;KA>@NK{S^>pz*;G2C;;%< zPKhqv<5WlwQdV6_JtA-&1Vy2eNL5nPx+-?GhtaA%sfH@k8c~F;6L%za i!dE~2B=SawL0(dP#mSe*8qoaVru4 literal 0 HcmV?d00001 diff --git a/fonts/medleyinterpressfonts/OPTIMA10-MIR.MEDLEYINTERPRESSFONT b/fonts/medleyinterpressfonts/OPTIMA10-MIR.MEDLEYINTERPRESSFONT new file mode 100644 index 0000000000000000000000000000000000000000..ddaad066e6cfb8fd894df35eb0612f813aaa898c GIT binary patch literal 7103 zcmeHMK~EGh6n@nNbWAkFMB{C;;eZE?>@FhQhMDf}=>b~yBP^60uyM%y!ZNE+t=5R(mtANtLtkY?e4pc57sh| zg&&1Blx9no=SYs6U410h-ajfoDL=K#mBrc0V&z%Mie!VwwJ4OWIBE$SLO-yY&WhV` zV!@@&;LrlNCdtC%%f5>v`Jv=-E9OF2)a*vhR=_21>CU=|$1e9WEj6d<2d`|1TGDSi zs-N&*a~$7NLd~I(XPVse+fCb-PT;$C%i5}eg z0&x5Fxw~@Zz*Pha5rL^mfV0n!j%__@%?9qcw z9J7yp(kwe^O&9S`49!ZF3Vpk?wc84N@87 z4)95d16&=jCALnK3dR7Kjf^h47zKaMf=-T)@8>|cKa9);CPrJ!KV zEc(PO!tFGQ-dF|xV-1)5q8!WiG8pB86%I0Bow7#3S}iVEj}Mc}u=T}TV?J1aX21$# zV4W*2Sc|tkXY6tJjORPybopS#%to37@J7K}rqo6uFRdqx%tbQKTnsOgTW9V|K3YEy z(R%n}9IXolM=L!g_V97Dg~6t0mX^EfDRE@{*|#IrCsFEWj(&LM_WMuxOyJFwocMysIllPW*A!?U!yg&k0~*22`M$YW7B-J#u>D>)3fzAL=h`( literal 0 HcmV?d00001 diff --git a/fonts/medleyinterpressfonts/OPTIMA10-MRR.MEDLEYINTERPRESSFONT b/fonts/medleyinterpressfonts/OPTIMA10-MRR.MEDLEYINTERPRESSFONT new file mode 100644 index 0000000000000000000000000000000000000000..01916b627b156337bcec6918437503fcddf1f2af GIT binary patch literal 7113 zcmeHMy>HV%6n`#K3r0{?NJubQ5d#b$@=*%ijD1NAi5>Zz(1I$KHVddQAXWSY{0m(> zb^;=%iY;T;j$IiUSqr~+XD4njrA@0=R{Ku&-Me=m@8g$C?xnf1{C4G|)qS`6!R&}o zdVz0Ip;$0oI}&JFmHTq#{r%Fz(j%)>o-dZ?%X0-Yi0UG&27c5EgO;?&_Znu?UU2Gm zC`Du$^xGtw=Z#gIud!%R(2BgK zt>#JZrNH{8VyZT;e77lFuidmlQENBsFsbjUA+~gc4~>jav95@DT2g#nc(po5RDqc>d8jC_QG?cItKhOnRBG)SA(GeQP6Z8S%m`^?r=MBMZ77yK(>TqnZmNC!c?m-S19LaFQ64Pi}{XCIX2=H?!2huNJP$7pDV@;iEj z4{bfa2GwE09qk)iHbgagE5Z$^xuF4Khh{D5ysZU6KGF_HI8|V9p9)ZaTWU3QQ zTKK>l6XPm9n72l&)H7aTt-JJ-y0nJU2jAs~mZ+amx-8{F>&7zupdH#Xrm07p#w6-4 zR@_1RsWEL7u~w0`X^XZX*~N@LxE<`VgonTrZG!LN>0{nDN*kp|Z8dKf{XBXd&oG9UZ~m@?Df{|R^$Sj*+SqIF>N7!Ba< zBuGbAq5n|J#h;WzjXe*8GSNzVDYVX*`_Wp-Fw3f<`FW`DaCm(-!>c`>n7t8Sq*>K$$!u9vJQMf+I zJ6!ob(Z}s)199WKmgc+aK5<|ujV}j^k0Rt-4(Q)7{I^8U9P=ITJLc@On#MOhMcHuu zHH0g*N8nn?ZCZeE?PeMnuegg>jy#YFS7R~-*O8yDr3(HE$!8XekcHBP1H`R__Eck- zFX|&5Q$jGRo^D(g~RUyxXqC1j0B|e?zCUQnxn39^?+FqTlV*c+l pnDcFI7J-slbA*f+({5b2l|`Jj(<74^S)=~bmkrl21=r!}`Uha_EGYm0 literal 0 HcmV?d00001 diff --git a/fonts/medleyinterpressfonts/OPTIMA11-BIR.MEDLEYINTERPRESSFONT b/fonts/medleyinterpressfonts/OPTIMA11-BIR.MEDLEYINTERPRESSFONT new file mode 100644 index 0000000000000000000000000000000000000000..c30efb15e9d36ccc1c8628b18a45d7e799d04f4e GIT binary patch literal 7083 zcmeHMJxtp`6n>^sii}h$RVs9|A_h88ksr!WC)c?oRvp{&84B$hm{8iG9XcQ;l(kdU zwL?|0qE4(#6>COTriwK~D?#78vlGX4P$HEQ3-09Hy?gK8z4z|p?0eKU>)V?jw5>Od zcj_ARxars$WOG@yr27neT5*nVzMad@=bvi%!b+~NQbeZXSD9CKY~S@9mup~~mRi%- zjjHZ(=4%REr~qRwNtD={X`m+4_L=8;jB}NS4X5T>%xA8gEQgq9uu^2Ctk+CyLj%Y4 z&6+Oeaq|^J{S$&H>!f-1xnq?y)7LH2&^%UIwRG>X;OpFAHkzaC2(rWi8XAJGGP6=8 z_D|JweBCGC6@a)WWE;0uD=*EGUqyj)l_-OocG>A#?>jZa;AM>7`V94*5(^e3|GCQy zP0e*&$qOF}{fsXPI~IDP#(gIUjSRmGEEyNs1YxV8TTHuKSa_0OTwGjIWhmAvv^!lN zM8t7~*=VY1SI};>e?|sI=N2pbFPLWsn`_!7(_@AokkS@k4L96!3=uw#+n#aZ+ROMa zfQhdF_eQ{$YY)b)0k;ttAOiP)13dT!@Q?#cUkorIQN+L#B0HZ|rH+ z&cE>ZQN?k_wL1XHSfV+@4DLb`j+8yrwX94+1F0sokZ#ZeThL0V4dPOT1ANY*txPG) zD0i&nutg0@26fhvsw1zC)CruR{*3Y-&fpZECTectnz$|;qK0E=qs%Tor?_eZbv2aN zDAyMCBkZH}8S2czQKSyzXMb7rS5%T{;X|t*cf=_+V;~)uyl*nzTvzQM&yI=O7y2iX);## zyI8&W9>?l(sv)t{?p|*q<}ZGJna^bt-*@ zu6Cj%VpW;!VimSxSS_YA34oVM;qY1S#WHi!GACrpmd;;HJBbpu0g0(4ESP)|m3jfAr@5Jp%uOIK-40RVrai zeVMevR2x<*@>g_&A4;u--?CvF@?}a%Cfw*WkS9XO4O==P!sJufhP;8>WUTH)u-ZLW F{{X>iG*Tjq|ExX*myr(ovFSstF^^SZLvNxVFXc&hmF9GI$_WeCit#rw5?UU zWrc!ACWA8rU`Wnz_=;jWCF; zh@58t{jQL4!dq^>cAcn&6M6=5ws8GMaBhASv~627Fnp_%L7c zO}R7RE&`>9z#}~S9)AINvJNmla#@pYJRv6V9ih%g^@11?!7`rh|L_3R=Z_)JGhyBX zU_+NRIbF8{dvL^dQP%=9Ax3TwPLPkO!6uv()R?4H;SgI7dTfj>;Jjm2VHMcH+C!aN z$gRUEwjTUIol`h(7rIEF;xjg}0rCLH$RAJ)Q){jYm>SU2Piv*Z>aq!Q&T7Y zia>v5B_$`=VzlTu)kv|ynBZS}vWg1H)tbX}ULPSnQ)3uktOE-ZDEchL7&VN^I{T#O zV+?>TrAxc8kMt?q!dPUAv6di$UgYWf-!!uCehnT8)mp8bSk3r+VRGlfD+(8=eU;cR zl=lxNzmxvqTgw+?^=SsH<3=8<_0nSX&rxz~;c%lJFUIO{2CLAA)!EWw^+s>RO)xIL z2}TUIp%AO^GJ{nokJV~z{tm2z<9Q{L%tzss=r4=XVz3^ZgZ1odKUf#a4OY5EoZy{@ z?iF;yQhc1=I|l9?`#w-~Q9*JC84SX~l8ZhnH=piQ?BO|BF|(TcVy#lT zxQwX)V8ha5x^~}{QbwQ{tl3mR-zRIej{o>5C0Hr%Br9zcQAuHAlE~+Dv{3bwq0;#P z-RspAA}|LdD^ZCc*Rd(8YDo9F3IBtkER@bv>7Jge&iO9p(7MtL^*3t~W!UuhtnRg3 h{q%L_4YN&Jkn5FP4HeJGO)qAO!MdF}SvS*@^*4TOI86Wm literal 0 HcmV?d00001 diff --git a/fonts/medleyinterpressfonts/OPTIMA11-MIR.MEDLEYINTERPRESSFONT b/fonts/medleyinterpressfonts/OPTIMA11-MIR.MEDLEYINTERPRESSFONT new file mode 100644 index 0000000000000000000000000000000000000000..d0e51fe3a26351426ecdb9a53e00732bc309dfb7 GIT binary patch literal 7103 zcmeHMy-yTD6n~2e=#prNiAuL26sHM>`#?Urb$9M=<9=Lr<`6Je!c~{kLPM;m2!Dnl zRu(oSHnx=4nJa0n3@t6bH?w=Uw^@jw2pgD}*_k)*&Fp(`e$4GWyp8qt#z&*|w)0+J zW+8V1-+-y&lx~}XVb7?{@QrsfrPG~cEaIUh`8soIbrS#3 z!$6pVyw?EIzL0g?ZPs2owy2}Rkxrb&9lsh3>=%J&S-gtzTbZVQV6*6@6an5~mZ2B> z&XlAV<&({?NK591BF9A#g-30H3ND$K*a&H@WxC85E6+VG&Cky-=qeb?HQJ$p7c%NN z!hAH=@oQ)~dN8d*V{(^O#S0et(FQxd?S#w{5vyzwdc5gwV95Y--1<=gmtO9m1>;`< z?yg2`N{|(^58-U4)^O|ho2{AQ0rKLK5uiqy*>9M`sqU>EBV9BKt^5%%G`wx|_h z6X_7w{D9m#9AG_y16;F!dTo>t?Z`I)&IafrPql~h4zO(@b)kjxlrCxSp_PZYeu3VC zRZ-uGzv^s79?~K`tQ~yYet$)Z4aNkY^iCBOlB>Av_VrR7>6seakuy{B0joX7zFG&P zhWoIteWI3%_6jS>Rq0|BKt}OrJVdR&8XdKwW}9hu}`&~bjgz?6Rq040b1d8 z3aypACIkS~Bb)L_~RNe#vAki!39x|l2@q7t{NPfwMmQaySm3nkiG m(LmhB@d&3Lnsv`)O3{BA(w8cBDYr_`QFTqy>?d7{eVL&?v2(n@6DT;H*dZj`#pCyA8c(t zaR-lve>r`bs34A9sw`KWhL=jT-1-f*`R9%5&FZgiwRU^CcDuG#apJTslV%*H-6ZZR zm!cqaI^G?>?IlX4uAmPN(YZcrG-N;UF;ftwGU+B#DTl>=-06lgm0dH~h-Bi+Mo!Z7 zIzf2XrMR009Z!!_!5zPq@QN2u_blvv4^p*J*aT_ z7y9(s>Ed~!ORtE&z5m%wIWyqQ1Eui5AZlcm1L+{MU zp6Zbc{WDfPK-iNqm^hw5bb}a!IIhsK*C>m#tWIGq{wWk6M`)u9j=l=%69JT? ztMU;?dYTI1D!!Y+mF_LTwO-n^03qyV;&AO`jD1NAj&1qe(lS#fR2V=JLq_&aRab;i z#md;VW7m#dJ9c9NDdoL8U*be=m8hk~YVQ=^d-vYmz4z|x+4tI9ee-Vhv-$S@+DBuF zN5Tz!6N;sx;aD+8%B)U_)elqU>GCtPTv;ep7OK^v5yTB1)dD{bqaYL}_^xL(t!2Am zMS{mBgChfAEF=wwFS$0(!iWoDP`4d4LyyNiRD)F)k8JLwdTLhF^;S#>!q{zE za-48qbDaOCWNH@8{P=m`Ii?$1o@<*CuP=I5^hC-nVRIkNVH=Wlc)~+V@(u3R8z>&T zWkf-2#pF8!81#f}6W(I|mFvU}oNU4%&K9m;3wqYaLDRNH4WqX_Np#@wWKr^8gxofb zQrDHT^r3Q`@l|QZOkdPQ93-Jp;a7nr<5HU-ZM7|ro7XEdPs_8jvvY5rM;a*_N@Cn@ZLI@XL#(x9c z_zrOUKd|M(gK=fRRRo5Jz}-Ip_qG7;3xEelLk!4NvGIf`P8SVzJgSpvTm*}FvY*}g zr;i^)9%sV52EfKL%^9V09X4T)VFZ|9C1}Aq)&t~Q^uv0PQL&$GQH33RPOt(iF#-EH z&kJmE1~!3o8@V>h+Q=QkA#x_$fDY0f)S;Dt)`eYGK z4$TjHu!}!cNAdG`-Oa>9(m23h3q9HIs#9#pqb<3niVDe9Tz0y81BCQU^{va11M(ir z+DQK-o|&i#7%y5&7K{Pzi=y#)2tSZ7urC;kR54Z(M9^!z`}Vht^qXIUMlUJzbZ*$Js;?_B@H{x=cPz5IiRj(ha<;vU@R!0o-Db-USgr}S--@~)9y4}O- z(YHaY&gUAdbb&a4HF>3=%a!8Q#p=YZWWP=nk0R993A%1&mVbm!x=!V<(A7?sOsuj; zJ*;9%weM@ST+L?^0N5RJSYEc3>sQa5MIali^C_$je6E(O`2UVPUac_UBr9zYQF@~= zeMNBoPaV`blaye43mx3jTBbby65U& DB~mMz literal 0 HcmV?d00001 diff --git a/fonts/medleyinterpressfonts/OPTIMA12-BRR.MEDLEYINTERPRESSFONT b/fonts/medleyinterpressfonts/OPTIMA12-BRR.MEDLEYINTERPRESSFONT new file mode 100644 index 0000000000000000000000000000000000000000..99d5def452283ce95749d9880ad7a1ec4c4e3b5f GIT binary patch literal 7093 zcmeHMy-yTD6n}#WlJ$ca6A6`@3xyUK?gRPgmc6;V#l79j&K{z+VnxtGbFrW_bmS^R z?5v25e*i6&JtZyWb;eHcy_uc6y>%gS7|6z(m)n^)@6F7cH$UF)JnCz&*VjIpZ{BXa zH&%Ec9N#k`m(LkxE9BTROVeWQ-E?85@YF067xTr%QZZ-vVT}hB-wPXo-w-Bvj%(Dd zRl8;df`=x9Qv+Z`YLxkkW8+MY7xJJHa3KsDX#4es%R}B!gH;y~Y+jD_RIIw=zA(XW zgihU(lg;$5O!(HuumTwjcgkT6Cz~*cvxVbT{GR!tU$<>hLHDgrQQI%`Xi;*2XmHy! z^4+}@iDQt)+Lp`Bo5k5Dg}J%8c|-YPrAp`1+l2Hv z_HYkvb-XGXjvJU#p0R|>E8#O9c+v4XUfBt_9Y(COB{cMryS^>`C-C4$1Gx4w_6y+F zSAe_CYd2+Rz|aGk@W4HcefPfsJa`2#IX0-tHb#itOwLg8QN19>gx|#2{tpA7jz5Ns zXTrPzz(xi&xjU{6yKu<%a4x|XpapHDW8_=(Lpn|&>}PvKaDdMVHqP=)pxzN%X3MYz zTWkX7+(vE_PS_@LKcT~xP;(DkCrE9%5+DyaY816cp@Y30l+mgkT;UUr9VLPU<(C7kmaOH@RA*a`Oe%DFwvNqx zV%a!q0{ZK_UY~tH9-$eP4q$jkk8Gn)V#Rn7A%b4y-S_{35r6k<@JOf@@p~qVSdH!Z z!p-)DN2Cr==PI$EDo=KjW(*5S@qfpsV>KVc>ZH++)lz1$Iz0Jo!#f?TW(=#4!0K#f zv6}6Zx&rH4SFpw|Rm&JV$Q35O3dboe2lyp|5ugC1BA5h30!sGJSLvn6WefKR$pWv|fvPL@=#vWGpeVrI4P zi?vY7Xet2kqE3Y_=);mp52S-No(f2OvKC7CkB>~|0x+8-iOz{y`n*_Pwp4zGnt#S0 z%upezqU(so3=)q p`g>N_S}y)C$(y`OyNm&)4ehqbTf`;Ya{ z#v%=v<9jBgGijq>af&4~KgrfUO=hREFU@RjK9ifz=hBAH%QPtZ9XIhA{(+=pkW>AvR0%Nfx zJk;HVL>*hGhsHWy2`$GRj4Nm?=F%d6O#?4e`8%tYVX#2XVr65u@L*uhb9&^h;;RzQ7Do{Ek>elCc~zLcGd5UjTDP^zE<7Be|Nx zPntxMHL~do7X@_Jkd$L3`Oh_*(2S7bTx0%crFgPtB4iyiddZqkE?EbzPd1g~$!bQ( z3VmdqPA*xK?W!BFzHtLI^4ir7uUKbtiTpXU`y!p;#pZMtp5AkjWlrd->(zbc1N?}J&hT$$0)ui(tg`22EgJGhq vlPdLwwsfD$MWC%7HtAezs53wZ;PjcGdv&h*Rjnr^r4`PT$Fp@K_H6wNByKrk literal 0 HcmV?d00001 diff --git a/fonts/medleyinterpressfonts/OPTIMA12-MRR.MEDLEYINTERPRESSFONT b/fonts/medleyinterpressfonts/OPTIMA12-MRR.MEDLEYINTERPRESSFONT new file mode 100644 index 0000000000000000000000000000000000000000..9ea7252792c050ee61e95af574ab53d21d8882b0 GIT binary patch literal 7113 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 B71jU% literal 0 HcmV?d00001 diff --git a/fonts/medleyinterpressfonts/OPTIMA18-BRR.MEDLEYINTERPRESSFONT b/fonts/medleyinterpressfonts/OPTIMA18-BRR.MEDLEYINTERPRESSFONT new file mode 100644 index 0000000000000000000000000000000000000000..a924597e1bb153aa0a3736e832c4e116566d8e78 GIT binary patch literal 7093 zcmeHMJxmlq6rQ&jy{w6e8YOm{3k4Pk_k+jL?d{FoE$;1}I}3ugKrD!wD1|YU#LigJ z63c6dp|hrAj(ZB$*uM?t)5oJ1KTey<#2Gno(lrf!8w7h!5p#g2k$&y8Vi0j_IrRz8GLKi@Kz`iq}#<@amSuD(Jr1A>Q}OG~ARsfHkOP z=$Qjsvcibmq1xw#BI6OivA_$RBLg5^+Ytt#tYtdXxRx7#kS!Dn6T0-pOqIu{WrXlK za;S^C+HMsUM+1hWXH4eMO7MvKZWvzME!#e|f{>KD1iA{j<5|Lg3~QxvO%iz@-Ng;enfY_TAnf_RPLb}NxludP4okC6#pLw#2(j~bo+0+V1t%}jV zU{J{T`bDf6D3Oo&oJ|RBcOmvL$9J zs;kus$ok9KXf4{LjcOZef9(#^SJV_>d>pK5k6~Hyc&pEah~O`B_5O!%di%Ryfk!|! zmrEvA+l@YH|Hnxu#E+M8<=BsxcXH+bNhkN>((zc`Zo_I?k76~SSgiJrl8cLnezrUw ztDoDjN;;8*a~%3YH@sN&bBV<&S!l!RVic>{940lA_`%xGQ8-4oUOyU+Stjw~ zSg^uy3#|LkJHc8^G+6m90`C@|#GQrTuq55&w}_*oseL_K-n&%YmktNv;ga5W=^lBU zh21myfzygiJXpW9z>1mG$QNripU_kQfi>=WSdLyV`ym{cI`rm&c(8tN18b@itoXx6 zB0mE#?<6XB4DTri!M5Otyp`-J$w7-JFwZ`TqS}yz9p1qljHtX93L*{Wvam{)Y9j;w z0}*DR#QURlTA?qBd~?jWVU@iuWiWq-RTkBTBSj0Y%$=u}dSY>?g;$7JiP&Cg zCzdG$IS|Cw>aY_lv9prvEUZL*Z+17?jT`a&P4MQinR!36^XAQ$$;?Y<;qv0bE$hnl zYd6g~5lT1kEhv-V`pATHw2$ z*|F!HwjD~LEQBv6fT7r;A?93%-sJj9gxyd`X|mV}I$cjF(TzGsA`v>Gk&-m+j_aMb zAm}Q$W9xp>y&&lQyEW6a`OU?SXt=W-%T>1LI#wuJvz{Fu(iXOKgij6`XEoapF%OS4 z-xhAG&FT+k7${ru>=9siF6^E3W?SdnhH6`g4^8GA>H5uJ;J*qwjw72Czxe~)4jLjJ zlp`R!!m-R!e==n~i^^#CtJ;(4Oyr~r;_yUE5CxarOD%-<*0DWdZLLfnDc5SX6J`{Q zxfZX`U=}*+BoRJ2>-sJ7oMvz!3XLs2(Nt$d=*J7}`VBV}j*8jH7iA`k?gfqxprobW zqTrvG?c~9Z#{fGo{Bu_}9N37!L_}cMR)9TE0rp-3*thFvU3O@PC>$%8(FPgqOxt8I zOS}8;+yRpf$kZE}v^D{t@v}bn`@M!2ST}CdyFTG7=)nu(PZQtc2UhU(w?uN%GQnr# zHa^5VxQc67L<`^HJ6NG!OIS2c;hIsyi}c*XMZAb_aM3u3mx=DsC@b`U9=Al+b$TSc zB&#J@hGm?A2gXs7X@b`{MY<&{(ff-yLsTc5dVdbT)}Z+^@k{h)52w&#j*E^B#f0Wr zrxA5jSReQK99ez)$uo-!#rJ!@8k@=PBimABiWHNYahGc@#(sKOuM1l6oUE3NHZH~@ zU76=&MDR~}ast3NX8PAZ0guLNr81#lP0xD0?YHagkZ&I?tOkF+!H_imq6|s@Up61C zt0}M+%q&=|lMB`#hspm7h;g2IK3JcmzzRcPot|8SvF@M5GBxnKn+1=cHB zu$C*7+L*{g>&O_4zan)o9Dis3poh6=#i;>Wzg!(g>&#@Mm9G+X!FWWM8K8sw^O)}? zmyglGHr|ictxuC&L`I`(H^aT%~_NCi5gf=_gGb2W}X^kfZWu=?8AHTLnOKpjD5XUdiIO^F@D~_LifQ7ZxRneU?er*_v`&8}T3u73jVLNf n9kY~%qtZ{nQ7cwtsyIETW%(8v^ASugTImn0LHg=`e{cN?75@`M literal 0 HcmV?d00001 diff --git a/fonts/medleyinterpressfonts/OPTIMA18-MRR.MEDLEYINTERPRESSFONT b/fonts/medleyinterpressfonts/OPTIMA18-MRR.MEDLEYINTERPRESSFONT new file mode 100644 index 0000000000000000000000000000000000000000..f77b5bbca4eba707a937537f9b57173c16f8aee3 GIT binary patch literal 7113 zcmeHMJ#5=X6n>8_QkO*%v;ktYLqP~ZkPK<8AJRmy?VgCGAB7H-$|bwuCW0uZc0n%xbfGd+`P!*eFPE#AYjY(#O4=fB zMq$#8qpoxy^aH!&UiI2;EJflVJhK6;9$Pd-&-ds_ewc{38w)9I7JE^r8;C@7^ZsK=bHBS211wH>W#WY=h^0|&^_=_DU7Olm=jZJ@EnYhvuA$eqd ztJsD}dFU&?E&NuS)sO8sO5B8(j{w7qVfSRP*!s?IBy9(A(`L?-e%Oo#3rM1l=gB4o z@ah?+qlQQ)x!B1hN&}>mpu@}lWm2Ks_1r)>A5~|+ zs?5#JU9xpFdM(b;U>PdzBoQHb>xV6JotAJ$$HtX`XeL)g9HuGu!-gLVFG*SLOJbX} z2a%^DC@J~JdhpJ#k3RtT2ZKle*>Jp1@QS7hjrPb9ilW- zvh@zBccv*BEzxXy}{vo=Kdt}LN9)73$^<1=GZu~Iy*~e)- zXCAF$Lop%G=V?Y271pO?o*KL1o>!J$6yKNmYMmv!|JfFouud_#X#Iv|J=Xe?q)#+W zRGnjnYgQXqjEsBxT8apMnVa7LxNB$M{{}n?tkvqIqBXnhgVGNUI-uBIXI7!V*kDMS zep7~|?=M@7*1H+Bmh3!QYZHvtSI5cwi->Vvc`;i5$eIgvG8J~ z6NPAnAcNM`JX$N&OGj`W8O}GQ$ox2bQ&UXDa|_{$(*w9Z`(YTa^$CY7pC|ZqgVU5D zK5J>dZ%!bi^JYC7tvi^;oJK~&aJ1%NGv%%I87nUve{PVOVz~Y_fGcba!L>HAWdYDf zOgfV0j+*12t|Jdk1d8E$KLgjPVYt#?A(L6f0;)o(#*1gl1Oe|U2~}Y9u4nc>qo^X q64R$FRpaPVbvUZUF_kKEoz`nnu|>{&1XBoC`X_5p#rkz0uFnCY78$4j literal 0 HcmV?d00001 diff --git a/fonts/medleyinterpressfonts/OPTIMA24-BIR.MEDLEYINTERPRESSFONT b/fonts/medleyinterpressfonts/OPTIMA24-BIR.MEDLEYINTERPRESSFONT new file mode 100644 index 0000000000000000000000000000000000000000..73eb4d12e12e9357ddf8b7c457de1dbbf06b7ee4 GIT binary patch literal 7083 zcmeHM&1)M+6n`^oQZu1-A<*Pd!Xi>=52+)`j?dyyeVp-2+K%OcsHrT@Lu0~k0!zjflAvw%y->RE z)t5i7t*oqE5hfICEy_;c2OV*g$Oughq88eX_Fpi8@l+_A*;g`+^5h0lBS@v6<*czK z6E@*t?CbC;O#7(>-g=w=3*hw603S?&EpI&-CkC8E;2073@Na-KU4V}iz`3JiEGV7g z;|Wo@R1xNQG$+%%idXSu|L@K}d;AD}oGI4H{m6`MA;VqgWu)5?2zyB^Xxaa&A;P| z&d2PKZR2MFpS%EodjR_h`7VE-?Vv5&Y#(>+vFFg^zq5TlN5rb^HtP1-6aJWXu{433 z|1y>QC88<%yNAzzVi)Mx?7<%T+GSfNDx}Y&a?{Qm?#Z*f?UB8f8SS0ZxNnu@7>6y) z!!GXiqnXE_A&)1zX}BlO<8#g#j8dVA^&AoO8n6MS%HXtm5w-vsbV}tS%a&DA348 zgRj$wiY?~6v!|ZbV~?dNB-3o4v-~a%uvn#uM!903!y*=v5!rrV!vDZv!AuivMI*aq z?)459(sr~?e_O5Yv9yL{n(cGel$1=tjnAR~_!(_jghMiN+mFtAoum}2_;XdiVD-x@ Gto{R@k>h}?lFmFwQz-Rj=%WoJQqk7Shg=8~2RcEm?(vA%)nLWqp~FiFPT8)x z-i$?pdgRt@IZn8DIm~}n5@j1_9=sWNB`f5WNzV>-eMxq(g~NT&$G9NL5|3%JE$J$E zD^(EZOfw83J3`|rA!$=kIpIxK?zp9>YEd?9BIO9zF9%KaqoC$Eq73ev9>8``;_;&B z08!_TWsdCIQjkUz+iE{56&Y*sn}~wgIVu3kwW%;jWgXk&*0JK)<-+**_%&1cVyc4i zX&NDY4jk@-uC8AJ#le698cUH+4YJok_J%ybRFmhzT^{K|Goepq*&;z5wKyF zV{>c?`mM4hwn%$u54%WLj8p6h+oF4Hi=C$*={issjWXS(d+_$d%>9JG8ic+BdKKOe zpvxxRBpYOdu9FQIyUB9E-=%|e0kqnL`Cri$D9g|vinig`YP1&%<e>xQ3on`evJK zgRQG{S$Re3p!@=`$$rqX_}TukuIw|cdkg!r>FYAkyXG`#A8c}9TF8GUp| z^RPB&VnpCUuFrqAXeQ5o4IT;AVzDc+nzZ?_ZF=UgBeMIexFYtm(7n)%GT26!YdRK!LZxMK>!Qc0IKZ@ywzIU__ zjq#?v>~Io&UuqA+_L9S`)Y@C!tXg@UPc-Dnp zgLR~#_CPjRpC`cDn+7ZV@zI5OD*)@TDrh>kvy{1&A~L}W|64WlR%`oU{RROQBq#s? literal 0 HcmV?d00001 diff --git a/fonts/medleyinterpressfonts/OPTIMA24-MIR.MEDLEYINTERPRESSFONT b/fonts/medleyinterpressfonts/OPTIMA24-MIR.MEDLEYINTERPRESSFONT new file mode 100644 index 0000000000000000000000000000000000000000..853341c1d31280395b57f05a10602b3919628948 GIT binary patch literal 7103 zcmeHMO=uKJ6s}jZsM|{f39P%fX7I2cT+Ga5qk^z)Pt8nYPxowBB^qzC##2~@tOptP zn5%foO*}0*=|K>JmnG~empzCF33CaOgGg9dauoHws;>FVBs(z@)0iq|s$RX<_5Qx8 znR-*7xiLF)*S&e`x8I#9k;ov9T$UfpJ7rG^oVlela_07#!r8)4ZlQQ#taxD@nX#&g zq!LG}k;Dz@vM30hx_8yDd5ILt1@_)yj4P5Ti>biJoq|Y-q>%_I9a{F|dLtA{G|a%09NNLv6bWH@+8nOR%l300)ya&emeIe^)I9a_ClvT|IKH?DN%OI-69s5;W z_kCHx_+33k^SCThr4#|#5Wee-wVf$wFN)inU(%M0_e4&rI1P_Ufe9{|*Odrut?z}x zJz5<9u`n?)an3Qpn5t5SI$r3gihcI>HCph^BgT$j`|PG18gLkaOhn+sQN~7}GWPASjD3INV@>w) zgvg)GJLZ5iC(|(*PvYtRDNjIq06F?VlWvYN;2&$VeGX2t4Oq;@`1SRG|H4}A9eW2$ zNVn*Pyrr!j*O5ydF6ClA0-JoAH{l-q!JE9v*4a9|fqDKKsWn*UYy2x%g%v&rZ}@-k z3Rd7PYT3XSBfYSI(hu>qOq$^pd&Zu@L-sd+iL#rzpM)F8Tg5$_C_RtTi`1i z7t)XIM!33xQk%I^ShZ_3I@2j4=&RiR0^m)j``h1wM`N{E%qCd7o!;#nf&NLFNi2bX zxb4gbWjNU{L258quXlkp@AQJTlwGh650ft;_1W`rFj#-?0xRnS>v(p-n!WVwv&F4_ z*0)P_1HsB}c7gSNFIWr3bBAc%WsvtQKJ4#?Ju5ok8w^A%-07h8{l$K?p3gQ~=_-L2 zj2AGAso5~sE~Hy@mDo91xqo)%56`uirtMLvyogq2Qa2BMWWI%s7t z`p{a+XhDE3m=t@wjIJDn930xP`v?q1>s%LF`+l|-O86&77Ry&y9vLy6qC_(rEj~>% zEEg@nJw4O!ma9iB>tHv{jwy*{ENoc1(w$~0qi5iA)XkC|dj$4@&>o_fq>AQNC6>@= zWtqB}Sx$SzLK}9|?3j{RhQpSY-|##zXF|$s5AYm|a?cIfTas#v3^5sqR{R62Q@(oA HK3hKk^iDbF literal 0 HcmV?d00001 diff --git a/fonts/medleyinterpressfonts/OPTIMA24-MRR.MEDLEYINTERPRESSFONT b/fonts/medleyinterpressfonts/OPTIMA24-MRR.MEDLEYINTERPRESSFONT new file mode 100644 index 0000000000000000000000000000000000000000..16e9d086d30e2131ee9c84d2ecc77cc845c97639 GIT binary patch literal 7113 zcmeHMO>7fK6n<}9QP`@LDkKUOs#X>UdY~b8Ob91d>#@D6z3c9546an6N=+|BfCL;+ z)Dz-{eB_1@r(D~fa;Q{AIdSQs>LH4JsgO?87o*N54EH2!!f4qL}merD>@&ez6{B+(bJCUT8J#$7a+&EJ>TR3MIiWjDf7fNUI zRuI)>SPA^783s*dgYVU?hI84iIiZq~jquU}5G|G{%a-TTN}eCduo+6FEbexLMzby> z+0>JDmkeE5PW4orhF5Rf5HusN;l%Tl_pPM$kH<{K;gwG}WZ9c<*rBY>*PYPRU&bPi za-~lim`7E50hW@l&5TiP3~D#xgAM(lU$kv?hb`BhS#OgN=|^MZrJRf_Gkyln_?_8Aw1r9ur2@ibwF~HH^0FGS+IPv+L zs_fDUk*D{BJ|XqVbXW!RbiTjUBhZ{cR(zrqf9uL3&a#|inh3qkFX=|i<>ms!{^lgS1gHj+@R+le1cDi`+{ct zN!)YV zyb7++M;90Io>?>YO%Hmc`7%DxUg7b?D|1F}xMs_e(%W8F@i*-|&9Y>DhvKlFyM(v( zT=6@{C0PeZtN%!9Gk27{lqyy`K?J|d&2Ip4*Gj+t4R~U(7K<50Ys%;yHwo!)rRc~q z`X^gXe^VxteIKO8qxJg~TJzQ*T4yqh*2!`5KEytIHjYQ@#S~g$2(6_IqcwZ+*<+2n zd%WKcw;PLA_%4Ok$Af4s6we>Pb%##gz4)X*9d^Id{$61$T=AzqTwj)k;X0Rbxbl61 zZW({!B87(UTAJ_jePa7y<^I@yeDYCqb9yxlUp+GUE~ApKvv73Ae(32(W-MGqyAN0B z4#9OMt7!qcX2w@c+`x_f5QGCAcJ6`ka9v8l_3$uU>93GXX0a$sGNp;##4Y14(dHKA zrigUQjBM4E%_7pp)Cnt=xFOaxaVr@Zs3@~Vq`OQ#Ag~8aoEM|q7;nXGvnA!MxM!6~ yx6H^^P5Cw=T}+*@$swS#aGSIaJ)?y(b40q|)T2_b>lq7I`X{TO#rky%uKxoG<~{lV literal 0 HcmV?d00001 diff --git a/fonts/medleyinterpressfonts/TERMINAL06-BRR.MEDLEYINTERPRESSFONT b/fonts/medleyinterpressfonts/TERMINAL06-BRR.MEDLEYINTERPRESSFONT new file mode 100644 index 0000000000000000000000000000000000000000..3fb36a2b98629b8365e3f1dc8e7788d1087d96e4 GIT binary patch literal 8486 zcmeHM!H&}~5Oo)+fDuRt32B9dqG}ItSlA{lUG^57No$eVk?odUE?g)Fgn$DQ;?%F< z132>od;tFgw$o_Ss8pK>XajB!@r=jL%$w)QC`sop-^@RGuim}=fM*~i<;+99eh){X z0zL8uhjRY@&_D7Yd46!x4^D6WUK)^JuqV)!SbdC0+|8vaK99duXpO=;FtantSiG6?4;sLfbt~d z@EZS0sj%*nFahs!Fnr*TMx$e#qcIzs9G!<@an~AP+FQ!T+I1bmL5@u*6NuGQ5Nw%Z z$|5R&sHK?uqHvM+gcFOP)XDG8(AIxfFCld8%c>hUUgYx4>#KSvIRqR62;KUM(Cya< z?e8OW=UY8Q?tU!niLMa6qaMyHWL}xBNIuo|{kN9Dq5@%C(WIvjd}pt4V(oQ--2Y!i zpp_P|>yy9X6kw@GW)1rK2|X$SMCWTthu=dB=!dXR-Z_v+X1 zL--NAd-KES{7Goqx-}`%CYt1sd2imEdGGgrd7YAAa{g{|X}tOH{u3IJn9(RSz-*bw zbvO|tqkYIG9}le~>$zdsCoTJ=W0@%8eG+?7$OmyWUhiIC4p{sRV%y2sThFlaD1(5rw_bkWj=+!=4CUByph8ahOj$ z{))t5Qf3;uG$xoQqK<{5wDf+26^2X@pgD%EU%R^iH^0upxb+s`_MVpSe4FX(QH?;2 zfJWf%CBWVjfO|gx9(*o_%EOnbJr*6pJTj5)k-9V8V9`+Y_`lo)(;kFWPh-Y4fW}T5 z#&4ffsPBIjflR^CS;7eUgPu7DWX}L8c@$l3yPSN@rdkH zD%wM@BbilSYamdZuk9-HwPwj094V7aalUq|%vagx3j|45JnmfA!ikUctG1<8GNz}nbLum)kp$LBJBGq?)S od40A7^>~{I%-1EiRGhG#ihnf74NYxW7=iQ!DD0Tup$K7r0XnYiSpWb4 literal 0 HcmV?d00001 diff --git a/fonts/medleyinterpressfonts/TERMINAL08-BRR.MEDLEYINTERPRESSFONT b/fonts/medleyinterpressfonts/TERMINAL08-BRR.MEDLEYINTERPRESSFONT new file mode 100644 index 0000000000000000000000000000000000000000..c441ec0270e6e44a696a36ba2ec6e31d4a9744ba GIT binary patch literal 8486 zcmeHML2uJA6n2LM!w4jVgfx&)RP6wVp*3mg*a68nFReuqN48rwE?ia)2yGmY5I?C$ z&iny>1pftWr`ghpYE9Lu>E`4RKl|Bv?|WaqSV=NE`7-+9eL6e+hKC>|f*tSMQ%-YZ2 z@;LMa^ae2z#r1`CAd*6ABKl*^5DNQ^wfn$&eLdWGf(2JZne-b7T~5Y?C*wiyJquM| zJB+chsAOrxFA`8Zp;Sg1z@uH$<{?aOY9NpqP!G3C+4we%U}pSn8%k#iJE`~tpu7k< zye7Uql+{w?z#t39W6_HI&_`FZjKF+F+}Peh;&k7 zmWE6KRTDFhMd70CF{c(msf&Mmh}M4Gy@k-dpVMJH_?X)d?@#wT%OT(pK%r!-wMMwl3}rlX#0{XzY;D(a-#ULKr}fowV}9gn;8~fie&ED)4Rv#ml?8nP zy1w4ry})HALBgf%DW|;|c_-QTd9+mNUEnUG+xNnS~;BeG7(si Zz18X3xse}T7lijlO)KcU!lbLv^&hTE^F;sv literal 0 HcmV?d00001 diff --git a/fonts/medleyinterpressfonts/TERMINAL08-MRR.MEDLEYINTERPRESSFONT b/fonts/medleyinterpressfonts/TERMINAL08-MRR.MEDLEYINTERPRESSFONT new file mode 100644 index 0000000000000000000000000000000000000000..2f7ffcc16c85890f6f1da0b8f70000c7f7fb6d06 GIT binary patch literal 8510 zcmeHM(QeZ)6m^FLn~{(Z64F3IQMCsU8d{T7ejVD-eMU(-cfzai2On@>T^xm^j z^|iwU8;eSoM*JcL#S=o4$SFX4PRGF{sn)a{r*K$^49XsYnt_Gf!`RWHwVAoPN_h4Dr z7a;7LP3{OTtE;m&1A%jms7~0;ZwbzmcY|vXs7B^%4qMLh0)*9n=G~Nc1l0=SyqAf< bg8Z#c*v>6|3A-S`w`yBK=oKbig|L4C>l6D+ literal 0 HcmV?d00001 diff --git a/fonts/medleyinterpressfonts/TERMINAL10-BRR.MEDLEYINTERPRESSFONT b/fonts/medleyinterpressfonts/TERMINAL10-BRR.MEDLEYINTERPRESSFONT new file mode 100644 index 0000000000000000000000000000000000000000..6c737c56ce2aac56e9dfcfb4a3846a8af7d4768b GIT binary patch literal 8486 zcmeHM%Z}496m!VdZ^uL);noqu7)5Yo~lgnOnN9~F;2)i9TFiyc`fu4BeXX*BSIK6 zs#jvE0+9)j5*s(=Nfv{GET5daKu`!Po`@tYzVMKqnXr_^cBW)6LEiyeBO+$)N6&a1 zdIAQcn27TF*bX3)LaHNb?OQX1!bX|3hrk9y)BPF?u81<}w-B07#)K#1(clFO)ld(Z zVq;Os(uiLspm;*5j5L7fho;R#C~j&XkQq=9cPiQVHjUu7@po+~y&3GJ;sroC2|2tb zz6upKTuNf_ZUnt2e!t&8&EX>Bf#K*f4U4<>K&qo<=|G3BQ#j1AAu@(YJqM8%6tgsB z0;np?JQjsZ+G9>Ff>M)zeT=sLyLAnr+uvrxxce%%_wUU5o#ha42q1LtJ3{y0A#`wn z(1RcK5PA5e98YzHXdkz6ULo_!bW`$?uJ0Qyfn^24wxUT-Z}`?;8N|}-6uJMuia>>M zd{HREJj^R+fa>$V6ps~a5bUB_D;ce9?hd0X!*rd?5vZ@$ZgbT-U5$-FxSHHL&Ut;70#B1g^%{!l?Rk?KS$P V>jD7Iu`vWnac^wF#f9p~^%r&tZ^r-t literal 0 HcmV?d00001 diff --git a/fonts/medleyinterpressfonts/TERMINAL10-MRR.MEDLEYINTERPRESSFONT b/fonts/medleyinterpressfonts/TERMINAL10-MRR.MEDLEYINTERPRESSFONT new file mode 100644 index 0000000000000000000000000000000000000000..2e0caf0562d3e79928d12ddfdeaec381957f29f1 GIT binary patch literal 8510 zcmeI1-HOvd6vwA4s5^qN2*M&rD0`vE$~I~3x_86mq#aB$VP;x)dnZ^y5Z#Nt(Rc8H zd<5U2@1ir4giSvvO{uokX)ls9UpeP@{y7cq_^bEf%jX+B1R)tuJ=AP9aYz*C zGp~Ir$JeL+ng7c3gNs&h(djfXSA7r>PgN#(COwq07$@YC_KA?7yaxJ(5jq%|5g`m2 z)hn@7fye|%iA^)*Nfv{GET5b=fuImpS|XCL_{u|iX2Mbu+nJJ$Kwkk{BO+$)X9vj@z6~T;5<%NK)0yHY6)zy=iO3Nf z4=d@g4pS0?cQ5F?^t;{ed5(+>dnQk}fmrss1yb!VOMBXR9mGjahsYQr^#(**q?x55 z6F^mA=DsLgratD>GL%{XcSmUJzr#a>9{iYgQKy?pLipR<|2zFDim6(>E?oLjZy6HL>6R5A(_CD*i=A&gXGuOI30`>KJ zzR!By9_ZDt?Cz;0tZM7Ey`%frB{9x)&F%Q aY-i73!pfgM7Tb-^JRy?gcCzgv9FwTl6Qh(SCq7U!Q<|Z~%oOw$QCGNbf*9$wA0M$K z@;Mnz62!~n6Egq_OfrSYJ2GKJiWr=lcueSMtWST1oJk~g`W^s_$!K^YnT%f2NRHL$ z4%87AG>ci4fMhAgB31+*@9H*-NO4h3fyfE=VXu}=VA2Txh`(>34Cc5Kk`)BmB3ODg zzFH{^T#ORpUk(RPgW+&^04*ESk*-mdhT&cHkW8Va*+@ZGDePKqkVr@@Ul5)ZC8k+K zIl;0BEfxvOvL_5128AkqX9_m{xq1nJYu_puH(vvA>xPYQf3Nyo%Q4^>ungRJ3&6d* z0Nnopz=O}tSb6xU9FLVlboaZ^I;3@`D}qgwzn`lGmJS4sqX}RA;Juv^#P5z?$9?}- z2I}>OCxs&P&Ahe;sNerf@ffj&;TEd3p3yqmn^(d*vTEO&&DGj(ty*mc3A6W!tpdb-{}`nY4pRCd^FhZm+k3AnJuT`wl*b z@8Bc&3_gs`M?%tWDb3Q-WS#aRb53R^=lsr}(?#HiRzQYM-oY2Gt?M@p8 zzQA(i_Kx`M+fnzpd*XJzvyOMxKWRfMMwo>(5hwv!yfW4`j z5#R|yawn1q%u6M&Jv3$Y%Z;}27^;*cua<>PDLV`z4YKj#!Hf+3|=O2Xz2Jn!l8JN zS(25RBmrRy4Xk8UukFV zo2c0Jo*cTqOmb`A9#2=+~bPXvqI)!NMh28$ vD_=g>@SVYWK&q9%&fXq@_3CwfR&~Ml|Ie2O*U?$eB7t1qi~dd8RRsGFo2)pp literal 0 HcmV?d00001 diff --git a/fonts/medleyinterpressfonts/TITAN10-BIR.MEDLEYINTERPRESSFONT b/fonts/medleyinterpressfonts/TITAN10-BIR.MEDLEYINTERPRESSFONT new file mode 100644 index 0000000000000000000000000000000000000000..d952d71a1362afd0c1cb4ca8387edd923e318b01 GIT binary patch literal 6385 zcmeHL!H&}~5Oo&`Rz^Y~B+gb(a9GqPS-R}aIFrP}u_N0pEH@;|2?2+_@GX4T{s(*k z*iN!d5lGt#Y1i5$7th3Y-n@C4savl+j2u>+xt+MQpc@Uw zVDDzCZUk6p+QqF4G=qHLDQL~b89|m?D#J3v-+|j62cw{VCj9b1v7`vMoq9Q;AQ0>zsFixYJKPvg#HY~Lo;GozTvs8+=L74EoQhZ)CRm& zHDji501$fk1EI(6yLnRV3!AwLF?F4xt&44CIy7qOD*Asbe|`1A zp_&+U7+!fk%7wux|V&`DZ;n!LDwI4{9ZgksA(FbQU?(ahOy*s0QvR~ zcUNi_r&707d3zHcZR9&EHAzq6lxnmoaz9+g%Q3KrRA0s^)$OV}S}`#YKGof&nnii2 kLgS(8Ml*1QzOjc?-QULXo&QIv-kd6W1zG-W$}Up<4N@PAtyEkkIm9!uoi}e@#&KrL51*Fb$j2|Azv2Zb&7~k{I2z)F8n7)gKGVya zv*$R4Rojl`J(uf){v3-?E%44TcQRZ;a5%mFtnff-^f47Y0*mN<^-tffaw!;cLi)k)Wxj}E_ zj4_>B_8b|T$aM*f;87DqaUTlxi#F&dtN8xHIHq z9MD~=<3OdlEx2RM<&nqKS*lTNcZUIf0fd~#Rmk9P5BnZkeHo}$x9e(eg~GsE?A^6G o4s&OP`kmE(&A?ibyBm9G)&4#X@*5zOI&%Ctcgyjgce-fx57c;kzyJUM literal 0 HcmV?d00001 diff --git a/fonts/medleyinterpressfonts/TITAN10-MIR.MEDLEYINTERPRESSFONT b/fonts/medleyinterpressfonts/TITAN10-MIR.MEDLEYINTERPRESSFONT new file mode 100644 index 0000000000000000000000000000000000000000..cce14c980ee582ae6b59aa8878167d59eedb2208 GIT binary patch literal 5719 zcmeHL!H&}~5Oo&`Rz^Y~e!$8J4vV%)OP9S_&LpvL?8tTt%MFQgLcoCw-?KOVr{BT} zf$b#QP!(xgaY(djFPZ7seSY)uCT+R?@M-;>eEjnH8(x7nTuFkWX@pa1!CjHrnOT25 zi_hbiBu*};$>sc2gq1BoXG+>itI7~0xxgiT%L=LuSTaGsF+wN8SER7w%8$T-{<;#+|8o?RSkS_(* z&qD<@45Y&|c@n}Dniy3fE`aBS|M)%D%2MkOKS5~sC?1><%lr*bZQ%+w*hkE8nW-&& zt4hX9=IHZmY>#d#U<6OwQ^Wy&@^9R;0Ac?LoF!1mip+^-$kAETb^vAJ~nRAHfJi@gz*3NWl)Y7^7e>A|>e{k?K zL+&9oIXM>c&AJU5-$P{Jrh#s3Up0#GBfK;DyHmdvPmpRd8>Uv#j#fJyjF-b;;9#xB z$;D8`I*g9&L%G?PynDGL#Oi({4)G~q*I9=+5$`VMaAzJa*4aQGSx2$`Y^C40+rrVU!!gFgh|NctWb&INZf329MR z8jT^|%~e?yXtAmX*Dll?vzBMVN>N-b6Zrp{tbQg=>_avuP7HW0BlOx>;#8ON4ALs3Yyz@;LwO#`R3W2Kt literal 0 HcmV?d00001 diff --git a/fonts/medleyinterpressfonts/TITAN12-BRR.MEDLEYINTERPRESSFONT b/fonts/medleyinterpressfonts/TITAN12-BRR.MEDLEYINTERPRESSFONT new file mode 100644 index 0000000000000000000000000000000000000000..d0045a16a8c418f6f43952cf87a4576c7e7cd8b2 GIT binary patch literal 6394 zcmeHLO>fgM7=Ak>m<&QlNSv*n#$l*UIy!dq9H;R}?Z|cuL(P_&pNGP3N=88=jcV$L4BObCJpwdn2cm z>eQ;|#8^eH3q~;-RzXCbef&q-BhTRIhF;ppQj{Qkkkoy}n*5$6B{{qN>*)|Cs7$z+RMZ@v5uLNtyk<(2%gRN<6{DuC1}+9wOPx#Vh0}Jy@1McW zkNuwj55Mi4Mn|Aipfw6Sw$JU8OMs`}0iKDbw5iPy{Xrjv#27NuzLqna)Bj!mtI`kh z=}hB$0KL7YjIYNnVF_2|7496;mh(D{zqnb&3N~(c)j2o&-$Wd-FyD5HuFdsuM^y%_ zLIN6Q3D~OL)d8KCj&K|J+P=TO=U3+OPL1PMTGa=;Q3P>!Uv3cVfK3JJTXoc8t6psi z&>?M6pte<`__)Ph-L@>%&ac-uz0=LND4ZLdK5V!CxKrUFvxC7sg-IH~;_u literal 0 HcmV?d00001 diff --git a/fonts/medleyinterpressfonts/TITAN12-MRR.MEDLEYINTERPRESSFONT b/fonts/medleyinterpressfonts/TITAN12-MRR.MEDLEYINTERPRESSFONT new file mode 100644 index 0000000000000000000000000000000000000000..92e38d294449823bf332055433ab35480ba6c71a GIT binary patch literal 6412 zcmeHLO>fgM7=Ak>m<&QfNSvdd;4suC9UZ$F=S^dgIFaoZ#(~qy2?2*)_(O2z_i|cw$O5I}g$Q6c9+H@9Gd&Icl%*@1vMp;T! ziddKxd6}Wc(hv3!N`~SwgbJ8iZ==TNe z{W$y$@bKr}Y4iko1v;a^V-4`+0O08_fM*|frOix+7@GaTr$(Qd4plKXdHsK8z&ZgD zm(Wyj4`5)p-|$$$3NEY5-&y3YpEctf2JeQiV+9kpz1p13{#OzE2tS{DSfj9Qwue3H z(qlE^Q9p~v*6p?q^>AHjnda6m`_BF5E`p<=ubTAl3s-1=^c+(rL3^ zHYMnht|-vjtYLK0X}4}$n0o)&*4ATpNP!*P`nt1j-T!vqGuTxD_n&F+)=5|2vFbN~ mUG?h6-L3-H$l*J<)qGCw Date: Sat, 5 Sep 2026 11:46:49 -0700 Subject: [PATCH 16/30] INTERPRESS updated for compatibility --- sources/INTERPRESS | 114 ++++++++++++++++++++-------------------- sources/INTERPRESS.LCOM | Bin 58382 -> 58414 bytes 2 files changed, 57 insertions(+), 57 deletions(-) diff --git a/sources/INTERPRESS b/sources/INTERPRESS index 3c7aca50d..48614e0db 100644 --- a/sources/INTERPRESS +++ b/sources/INTERPRESS @@ -1,12 +1,12 @@ (DEFINE-FILE-INFO :PACKAGE "INTERLISP" :READTABLE "INTERLISP" :BASE 10) -(FILECREATED " 4-Sep-2026 23:09:15" {MEDLEY}INTERPRESS.;122 217135 +(FILECREATED " 5-Sep-2026 11:46:03" {MEDLEY}INTERPRESS.;123 217274 :EDIT-BY rmk - :CHANGES-TO (VARS INTERPRESSCOMS) + :CHANGES-TO (FNS \CREATEINTERPRESSFONT) - :PREVIOUS-DATE " 4-Sep-2026 22:22:18" {MEDLEY}INTERPRESS.;119) + :PREVIOUS-DATE " 4-Sep-2026 23:09:15" {MEDLEY}INTERPRESS.;122) (PRETTYCOMPRINT INTERPRESSCOMS) @@ -3539,7 +3539,8 @@ (DEFINEQ (\CREATEINTERPRESSFONT - [LAMBDA (FONTSPEC) (* ; "Edited 1-Sep-2026 12:22 by rmk") + [LAMBDA (FONTSPEC) (* ; "Edited 5-Sep-2026 11:45 by rmk") + (* ; "Edited 1-Sep-2026 12:22 by rmk") (* ; "Edited 31-Aug-2025 14:20 by rmk") (* ; "Edited 28-Aug-2025 16:00 by rmk") (* ; "Edited 16-Aug-2025 12:05 by rmk") @@ -3550,18 +3551,17 @@ (* ; "Edited 22-May-2025 09:59 by rmk") (* ; "Edited 18-May-2025 21:37 by rmk") (* gbn " 1-Oct-85 18:29") - (create FONTDESCRIPTOR - FONTFAMILY _ (fetch (FONTSPEC FSFAMILY) of FONTSPEC) - FONTSIZE _ (fetch (FONTSPEC FSSIZE) of FONTSPEC) - FONTFACE _ (fetch (FONTSPEC FSFACE) of FONTSPEC) - ROTATION _ (fetch (FONTSPEC FSROTATION) of FONTSPEC) - FONTDEVICE _ (fetch (FONTSPEC FSDEVICE) of FONTSPEC) - FONTASCENT _ 0 - FONTDESCENT _ 0 - FONTHEIGHT _ 0 - FONTDEVICESPEC _ (create FONTSPEC using FONTSPEC) - FONTSCALE _ (CONSTANT (FQUOTIENT 2540 72)) - FONTTOMCCSFN _ (MCCSMAPFN FONTSPEC]) + (CL:IF (type? FONTDESCRIPTOR FONTSPEC) + FONTSPEC + (create FONTDESCRIPTOR + FONTFAMILY _ (fetch (FONTSPEC FSFAMILY) of FONTSPEC) + FONTSIZE _ (fetch (FONTSPEC FSSIZE) of FONTSPEC) + FONTFACE _ (fetch (FONTSPEC FSFACE) of FONTSPEC) + ROTATION _ (fetch (FONTSPEC FSROTATION) of FONTSPEC) + FONTDEVICE _ (fetch (FONTSPEC FSDEVICE) of FONTSPEC) + FONTDEVICESPEC _ (create FONTSPEC using FONTSPEC) + FONTSCALE _ (CONSTANT (FQUOTIENT 2540 72)) + FONTTOMCCSFN _ (MCCSMAPFN FONTSPEC)))]) (\CREATECHARSET.IP [LAMBDA (FONTSPEC FONT CHARSET) (* ; "Edited 26-Jul-2026 11:47 by rmk") @@ -3856,45 +3856,45 @@ (LOADDEF 'BRUSH 'RECORDS 'IMAGEIO) ) (DECLARE%: DONTCOPY - (FILEMAP (NIL (16957 22609 (APPENDBYTE.IP 16967 . 17103) (APPENDIDENTIFIER.IP 17105 . 17627) ( -APPENDINT.IP 17629 . 18080) (APPENDINTEGER.IP 18082 . 18654) (APPENDLARGEVECTOR.IP 18656 . 19621) ( -APPENDNUMBER.IP 19623 . 20092) (APPENDOP.IP 20094 . 20740) (APPENDRATIONAL.IP 20742 . 21235) ( -APPENDSEQUENCEDESCRIPTOR.IP 21237 . 22432) (BYTESININT.IP 22434 . 22607)) (22645 62452 (ARCTO.IP 22655 - . 23936) (BEGINMASTER.IP 23938 . 24211) (BEGINPAGE.IP 24213 . 24569) (BEGINPREAMBLE.IP 24571 . 24942) - (CLIPRECTANGLE.IP 24944 . 25434) (CONCAT.IP 25436 . 25701) (CONCATT.IP 25703 . 25970) (ENDMASTER.IP -25972 . 26416) (ENDPAGE.IP 26418 . 26795) (ENDPREAMBLE.IP 26797 . 27596) (FGET.IP 27598 . 27901) ( -FILLRECTANGLE.IP 27903 . 30231) (FILLTRAJECTORY.IP 30233 . 30868) (FILLNGON.IP 30870 . 33147) (FSET.IP - 33149 . 33452) (GETFRAMEVAR.IP 33454 . 33772) (INITIALIZEMASTER.IP 33774 . 34375) (INITIALIZECOLOR.IP - 34377 . 35698) (ISET.IP 35700 . 36071) (GETCP.IP 36073 . 36382) (LINETO.IP 36384 . 36989) ( -MASKSTROKE.IP 36991 . 37264) (MOVETO.IP 37266 . 37603) (ROTATE.IP 37605 . 37907) (SCALE.IP 37909 . -38212) (SCALE2.IP 38214 . 38551) (SETCOLOR.IP 38553 . 40782) (SETRGB.IP 40784 . 41840) (SETCOLORLV.IP -41842 . 46455) (SETCOLOR16.IP 46457 . 49563) (SETFONT.IP 49565 . 50386) (SETSPACE.IP 50388 . 50700) ( -SETXREL.IP 50702 . 51886) (SETX.IP 51888 . 53405) (SETXY.IP 53407 . 54579) (SETXYREL.IP 54581 . 55887) - (SETY.IP 55889 . 57198) (SETYREL.IP 57200 . 58100) (SHOW.IP 58102 . 61362) (TRAJECTORY.IP 61364 . -61762) (TRANS.IP 61764 . 62103) (TRANSLATE.IP 62105 . 62450)) (62483 68229 (\CHANGE-VISIBLE-REGION.IP -62493 . 65810) (\PAPERSIZE.IP 65812 . 66633) (HEADINGOP.IP 66635 . 68227)) (68230 172861 ( -DEFINEFONT.IP 68240 . 69214) (FONTNAME.IP 69216 . 70146) (INTERPRESS.BITMAPSCALE 70148 . 70941) ( -INTERPRESS.OUTCHARFN 70943 . 77450) (NEWLINE.IP 77452 . 78184) (NEWPAGE.IP 78186 . 83161) (NEWPAGE?.IP - 83163 . 83642) (OPENIPSTREAM 83644 . 91995) (SETUPFONTS.IP 91997 . 92989) (SHOWBITMAP.IP 92991 . -97532) (\BITMAPSIZE.IP 97534 . 98311) (SHOWBITMAP1.IP 98313 . 102685) (SHOWSHADE.IP 102687 . 103640) ( -\BITBLT.IP 103642 . 107846) (\SCALEDBITBLT.IP 107848 . 111493) (\BLTSHADE.IP 111495 . 112953) ( -\CHARWIDTH.IP 112955 . 113405) (\CLOSEIPSTREAM 113407 . 113734) (\DRAWARC.IP 113736 . 114183) ( -\DRAWCURVE.IP 114185 . 116622) (\DRAWPOINT.IP 116624 . 117661) (\DSPCOLOR.IP 117663 . 118614) ( -ENSURE.RGB 118616 . 119280) (\IPCURVE2 119282 . 132536) (\CLIPCURVELINE.IP 132538 . 137236) ( -\DRAWLINE.IP 137238 . 140970) (\CLIPLINE 140972 . 145672) (\DSPBOTTOMMARGIN.IP 145674 . 146090) ( -\DSPFONT.IP 146092 . 150963) (\DSPLEFTMARGIN.IP 150965 . 151425) (\DSPLINEFEED.IP 151427 . 152094) ( -\DSPRIGHTMARGIN.IP 152096 . 152893) (\DSPSPACEFACTOR.IP 152895 . 154024) (\DSPTOPMARGIN.IP 154026 . -154462) (\DSPXPOSITION.IP 154464 . 155451) (\DSPROTATE.IP 155453 . 155631) (\PUSHSTATE.IP 155633 . -156525) (\POPSTATE.IP 156527 . 157162) (\DEFAULTSTATE.IP 157164 . 157516) (\DSPTRANSLATE.IP 157518 . -157699) (\DSPSCALE2.IP 157701 . 157876) (\DSPYPOSITION.IP 157878 . 158179) (FILLCIRCLE.IP 158181 . -159264) (\FILLPOLYGON.IP 159266 . 160597) (\DRAWPOLYGON.IP 160599 . 166729) (\FIXLINELENGTH.IP 166731 - . 167945) (\MOVETO.IP 167947 . 168311) (\SETBRUSH.IP 168313 . 170479) (\STRINGWIDTH.IP 170481 . -170884) (\DSPCLIPPINGREGION.IP 170886 . 172062) (\DSPOPERATION.IP 172064 . 172859)) (172862 174761 ( -INTERPRESSFILEP 172872 . 174305) (INTERPRESS.TEDIT 174307 . 174759)) (174952 175707 (IP-TOS 174962 . -175222) (POP-IP-STACK 175224 . 175519) (PUSH-IP-STACK 175521 . 175705)) (175768 176692 ( -\CHANGECHARSET.IP 175778 . 176690)) (176693 180309 (\INTERPRESSINIT 176703 . 180307)) (193393 195817 ( -INTERPRESSBITMAP 193403 . 195815)) (198156 201915 (\CREATEINTERPRESSFONT 198166 . 200006) ( -\CREATECHARSET.IP 200008 . 201044) (IPFONT.TO.FONTDESCRIPTOR 201046 . 201913)) (201916 214300 ( -IPFONT.FILEP 201926 . 202110) (IPFONT.GETCHARSET 202112 . 212421) (\FACECODE 212423 . 213013) ( -\FAMILYCODE 213015 . 214298))))) + (FILEMAP (NIL (16963 22615 (APPENDBYTE.IP 16973 . 17109) (APPENDIDENTIFIER.IP 17111 . 17633) ( +APPENDINT.IP 17635 . 18086) (APPENDINTEGER.IP 18088 . 18660) (APPENDLARGEVECTOR.IP 18662 . 19627) ( +APPENDNUMBER.IP 19629 . 20098) (APPENDOP.IP 20100 . 20746) (APPENDRATIONAL.IP 20748 . 21241) ( +APPENDSEQUENCEDESCRIPTOR.IP 21243 . 22438) (BYTESININT.IP 22440 . 22613)) (22651 62458 (ARCTO.IP 22661 + . 23942) (BEGINMASTER.IP 23944 . 24217) (BEGINPAGE.IP 24219 . 24575) (BEGINPREAMBLE.IP 24577 . 24948) + (CLIPRECTANGLE.IP 24950 . 25440) (CONCAT.IP 25442 . 25707) (CONCATT.IP 25709 . 25976) (ENDMASTER.IP +25978 . 26422) (ENDPAGE.IP 26424 . 26801) (ENDPREAMBLE.IP 26803 . 27602) (FGET.IP 27604 . 27907) ( +FILLRECTANGLE.IP 27909 . 30237) (FILLTRAJECTORY.IP 30239 . 30874) (FILLNGON.IP 30876 . 33153) (FSET.IP + 33155 . 33458) (GETFRAMEVAR.IP 33460 . 33778) (INITIALIZEMASTER.IP 33780 . 34381) (INITIALIZECOLOR.IP + 34383 . 35704) (ISET.IP 35706 . 36077) (GETCP.IP 36079 . 36388) (LINETO.IP 36390 . 36995) ( +MASKSTROKE.IP 36997 . 37270) (MOVETO.IP 37272 . 37609) (ROTATE.IP 37611 . 37913) (SCALE.IP 37915 . +38218) (SCALE2.IP 38220 . 38557) (SETCOLOR.IP 38559 . 40788) (SETRGB.IP 40790 . 41846) (SETCOLORLV.IP +41848 . 46461) (SETCOLOR16.IP 46463 . 49569) (SETFONT.IP 49571 . 50392) (SETSPACE.IP 50394 . 50706) ( +SETXREL.IP 50708 . 51892) (SETX.IP 51894 . 53411) (SETXY.IP 53413 . 54585) (SETXYREL.IP 54587 . 55893) + (SETY.IP 55895 . 57204) (SETYREL.IP 57206 . 58106) (SHOW.IP 58108 . 61368) (TRAJECTORY.IP 61370 . +61768) (TRANS.IP 61770 . 62109) (TRANSLATE.IP 62111 . 62456)) (62489 68235 (\CHANGE-VISIBLE-REGION.IP +62499 . 65816) (\PAPERSIZE.IP 65818 . 66639) (HEADINGOP.IP 66641 . 68233)) (68236 172867 ( +DEFINEFONT.IP 68246 . 69220) (FONTNAME.IP 69222 . 70152) (INTERPRESS.BITMAPSCALE 70154 . 70947) ( +INTERPRESS.OUTCHARFN 70949 . 77456) (NEWLINE.IP 77458 . 78190) (NEWPAGE.IP 78192 . 83167) (NEWPAGE?.IP + 83169 . 83648) (OPENIPSTREAM 83650 . 92001) (SETUPFONTS.IP 92003 . 92995) (SHOWBITMAP.IP 92997 . +97538) (\BITMAPSIZE.IP 97540 . 98317) (SHOWBITMAP1.IP 98319 . 102691) (SHOWSHADE.IP 102693 . 103646) ( +\BITBLT.IP 103648 . 107852) (\SCALEDBITBLT.IP 107854 . 111499) (\BLTSHADE.IP 111501 . 112959) ( +\CHARWIDTH.IP 112961 . 113411) (\CLOSEIPSTREAM 113413 . 113740) (\DRAWARC.IP 113742 . 114189) ( +\DRAWCURVE.IP 114191 . 116628) (\DRAWPOINT.IP 116630 . 117667) (\DSPCOLOR.IP 117669 . 118620) ( +ENSURE.RGB 118622 . 119286) (\IPCURVE2 119288 . 132542) (\CLIPCURVELINE.IP 132544 . 137242) ( +\DRAWLINE.IP 137244 . 140976) (\CLIPLINE 140978 . 145678) (\DSPBOTTOMMARGIN.IP 145680 . 146096) ( +\DSPFONT.IP 146098 . 150969) (\DSPLEFTMARGIN.IP 150971 . 151431) (\DSPLINEFEED.IP 151433 . 152100) ( +\DSPRIGHTMARGIN.IP 152102 . 152899) (\DSPSPACEFACTOR.IP 152901 . 154030) (\DSPTOPMARGIN.IP 154032 . +154468) (\DSPXPOSITION.IP 154470 . 155457) (\DSPROTATE.IP 155459 . 155637) (\PUSHSTATE.IP 155639 . +156531) (\POPSTATE.IP 156533 . 157168) (\DEFAULTSTATE.IP 157170 . 157522) (\DSPTRANSLATE.IP 157524 . +157705) (\DSPSCALE2.IP 157707 . 157882) (\DSPYPOSITION.IP 157884 . 158185) (FILLCIRCLE.IP 158187 . +159270) (\FILLPOLYGON.IP 159272 . 160603) (\DRAWPOLYGON.IP 160605 . 166735) (\FIXLINELENGTH.IP 166737 + . 167951) (\MOVETO.IP 167953 . 168317) (\SETBRUSH.IP 168319 . 170485) (\STRINGWIDTH.IP 170487 . +170890) (\DSPCLIPPINGREGION.IP 170892 . 172068) (\DSPOPERATION.IP 172070 . 172865)) (172868 174767 ( +INTERPRESSFILEP 172878 . 174311) (INTERPRESS.TEDIT 174313 . 174765)) (174958 175713 (IP-TOS 174968 . +175228) (POP-IP-STACK 175230 . 175525) (PUSH-IP-STACK 175527 . 175711)) (175774 176698 ( +\CHANGECHARSET.IP 175784 . 176696)) (176699 180315 (\INTERPRESSINIT 176709 . 180313)) (193399 195823 ( +INTERPRESSBITMAP 193409 . 195821)) (198162 202054 (\CREATEINTERPRESSFONT 198172 . 200145) ( +\CREATECHARSET.IP 200147 . 201183) (IPFONT.TO.FONTDESCRIPTOR 201185 . 202052)) (202055 214439 ( +IPFONT.FILEP 202065 . 202249) (IPFONT.GETCHARSET 202251 . 212560) (\FACECODE 212562 . 213152) ( +\FAMILYCODE 213154 . 214437))))) STOP diff --git a/sources/INTERPRESS.LCOM b/sources/INTERPRESS.LCOM index b3a5a1c50eb087b6c802a5bfd5776e2cdcd6007c..d69b77f085bf969136237cfb100230591055eb7c 100644 GIT binary patch delta 308 zcmeA>!MyGS^MnXtQ{CXy0$n2mBQpg3doWMR;I>QrUpt1 zNkys2`MCv|IjJcMsTBo9#i~{clkJy@acAZ!D7l6D_$VltPP`{!fu`BS%D_NLlS{+R z)5q00$kj2#)kOi-2B`Iu^%xa3j1`Ow&5g`W6s%lbJVSJyA{B~qvlXnIJskbqU4wN) z{1r5~-28$;7K=`9W0aq)&ZxQh9OLXIe5aWh7#JN6GXTLv2Z70X%X}uETvnlIVWJS@ z=;Pz>>;%N#3WjDT3ck+H!M=_GZhk;l85&PcTrMG@V5;Ee?-%0Y8tfe884%(h1e8)R MG&SAau)NO(0J~XJK>z>% delta 299 zcmZ2?g1PSm^MnXt6W!p{0$n2mBQpgfV=DtoD?_u1*@jL=nhIP>3doX1R>lTarbbE% zNkys2`MCv|IjJcMsTBo9#i~{cdHE$7nR)37nRyCIZlOLt3JN9@-$*E-={K}8Fjms! z(s1+iadi%IbqsNJnY@b80%)_LxuLPCf|aX_XNay-q(V_{wt|(jhohgnYp`yJzk&u= zm}5||f~Q}IYfwOtYjCi$zi;s5S&Z`RMpi~fR)!Xn4=^e)8Cq_B#5j8i>qRC82FA(V z%Y67#vd(hs2NIkhf@}Ze>&q$>EDaQ59DRKJot=Q#TfxxWK*879IoQ`Rz|9ZnHj~K( T%O%)>3 Date: Sun, 6 Sep 2026 21:36:29 -0700 Subject: [PATCH 17/30] Documentation --- docs/internal/FONTCODECHANGES.tedit | Bin 37135 -> 38832 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/docs/internal/FONTCODECHANGES.tedit b/docs/internal/FONTCODECHANGES.tedit index d5c1f0b23017a385080312eebc9bf2462816f5f6..d385829c38de07734b873a959f66ba66ba5631e2 100644 GIT binary patch delta 3054 zcmZuzUuaup6wgi9tw~$Ari`t%T|e7yO>7dnKix(*isANli%XiCWVJ2x;WoMHE~fWp z$xWNibwRhPt8{aG4}uE95cI+6_Z@cahW*wD_FM1toA36wI<`u)!B{*-KOF9I5HcBwh6C_*cX+f#lb4hn(NnbD z>yNwjEE(~T6#SWtOvPisS%q*nq7>Aep=ygHrKTa!ikeQ7 z1%+f4BcIijq~A%O^xp13mkDVmC`uR;)9D>u#e7al)+TfEv|b{f3`Ap6+)HFFS!PV+ ztU@w!4&4mB#6wvjsl1jjR9z#J!H_f+2uqXENSFsg!%S9B<`W8$Nlq~!IZ5acC{+Z; zSO-Z!3NS=89bHKWFi<1#p0|ci5~YkkI9)#TIKcVxf(K6)FDSEtr*xZ zU|niIz2X~gg@BS6k3@q~jDGHWe)lBsW!(U!Tz&y$X5^XFus$WNEJ2e?4VMA1 z29A0ui-)+AN=nYBOI|u^Th*Yex~AY{HaiVy@N^Z?(*L~Ob10mYnguEqIrA-$Q_kfT4Q?YY36>SLT2U0_;d_(F zAeeHghOPk@^ZrPy-L7ZN=7TPw4MZ%b(>g3aJxli-y4g<1R78wOQ85^qiqY>5T{0u1 zul1g)QP3FZ(Bh2*d|ba34iJy2vr-na#T!j;NB0VT^N;9_CSlZkd8XCgQr;kh(%Hdn ze4TtUySa}afIji(W($?XrD!-f6$o(&m}lmW3p?s<>09$dmB`=Bdw68?-}!%>Jtd(^ zQ(|NyICX+MJ7QuWB+*|Kk?u|T_Ok`6>6)*6{|UQnY+0ZTxi>Roo@O+a=@53%uUB5* zdBg@k;V0X6{L{3>HfXnfWTQV8`svj|3snkdT)S-}aL&x|T(HGy;Cvt5EI1q%h=}<` zVWSD61~2r(^ZJEBVLLwQvlsTd9sx@iTDRcCX1BG|js^a8++iEOG{L_%j<6;mf|OWcmdz+fuy#9q zShj!h6DPi)H#4EXZtU!_+_xf%onkL&^cC&9JkUAWfFGr&FAqGm%5h*~XO6=Sh(*$} z*~4wn39H}5fj%s~c#?lwfK* WWCH$2GL~Mv^1aQrEZAQ<|JncPzqv^O delta 1565 zcmZWpO>7%Q6!vb?#I@aoI4WrhMMDy3P3uid^Mg=uTuy*o)J+IY>* zxL{~y+#;nvs!}l^TEqnoaDoP{kWdg(B`UZf0TKsJ6%rB$RQ1RKDZIDpT8=r)?9BIm z=6m0J_WEsg?NfFA^8xR(f!OxG^zqbeR?iVKk(r&$!dE|)gRlI3|7aH%M#(ZL1H6P!%wbD6Y`sH`RX&IH*Y{$WC5xRf|$!JLv| z6Ps}eau$eKqQqh@HHG6c$_WP0Hw7(maO6Zdq(}*;hHEZSi@@vh2W@{iJ)_U2Gc(ij zU#+g>9h)Kj94(28VcS*Y%PDz-*)|e$sZ}w77tma;aN$=oMJ=0F zlR$OF5RKZZTPxE@1Rpz=nXKtqVnV6RqArxri3t)g%Mc(2iWBsJEHIlAYy{$vxkwjT z37Ci_-_J1x=xQz*u3-x5COH*^SBinQRpJvM6!dMxpm)u82Z;sQN3}(bn1@HlUwkMOaqYcqYaxo%{(xXQxRaR`Y&S=2JB4(+f4Rxwo(Sonvx}8W^z!KZ3rMq z7$-HOTy~wZ%b;THFIlPBf+dj}rfaBK5@-cU13`_1^#XY7PkQM+l$YRV5YlU zV7RQe0_GOLd-4)d;z;_-X1vqOzWa-+5bx>Ln6j+{Oi}sMjos3`99O#J&sX}#^MQLO z9@=1S3lLudL~!|KHIQHBz03WIBKKYy?41s*nBMmtl?A|y0S*aOKRhSDTOAyFHNX*8 z;ZhF(UpaV8c~pLV^~c`s0FU7TNo>fqYyFQkSUes$1eyNuzQ1<7J%bfk%{El@f328l z^*GuJ6g+z4uo6|T2ZpfhS=;H2z4wjMg>?1=_)e5E@>*~Wdne!D)fSmboqG6xFUucl Y@wtgqPJiA$^3_YB(Chcr>9;oi0|Q@=H~;_u From 9add89b190716ec0dca9c3ed04039611fafd090e Mon Sep 17 00:00:00 2001 From: rmkaplan Date: Sun, 6 Sep 2026 22:17:52 -0700 Subject: [PATCH 18/30] Eliminate error on missing charset (slug csinfo) --- library/POSTSCRIPTSTREAM | 127 +++++++++++++++++----------------- library/POSTSCRIPTSTREAM.LCOM | Bin 98537 -> 98760 bytes 2 files changed, 65 insertions(+), 62 deletions(-) diff --git a/library/POSTSCRIPTSTREAM b/library/POSTSCRIPTSTREAM index 43597177b..416f0f1ac 100644 --- a/library/POSTSCRIPTSTREAM +++ b/library/POSTSCRIPTSTREAM @@ -1,12 +1,12 @@ (DEFINE-FILE-INFO :PACKAGE "INTERLISP" :READTABLE "INTERLISP" :BASE 10) -(FILECREATED " 5-Sep-2026 11:02:23" {MEDLEY}POSTSCRIPTSTREAM.;111 273650 +(FILECREATED " 6-Sep-2026 22:16:31" {MEDLEY}POSTSCRIPTSTREAM.;113 273849 :EDIT-BY rmk - :CHANGES-TO (VARS POSTSCRIPTSTREAMCOMS) + :CHANGES-TO (FNS POSTSCRIPT.CHARSET) - :PREVIOUS-DATE " 5-Sep-2026 10:14:45" {MEDLEY}POSTSCRIPTSTREAM.;110) + :PREVIOUS-DATE " 5-Sep-2026 11:02:23" {MEDLEY}POSTSCRIPTSTREAM.;111) (PRETTYCOMPRINT POSTSCRIPTSTREAMCOMS) @@ -615,36 +615,39 @@ (STRING.EQUAL 'PSCFONT (FILENAMEFIELD FILE 'EXTENSION]) (POSTSCRIPT.CHARSET - [LAMBDA (FONTSPEC FONT CHARSET) (* ; "Edited 4-Sep-2026 17:12 by rmk") + [LAMBDA (FONTSPEC FONT CHARSET) (* ; "Edited 6-Sep-2026 22:16 by rmk") + (* ; "Edited 4-Sep-2026 17:12 by rmk") (* ;; "FONT gets the widths scaled from the unscalable coercion")  (* ; "Edited 1-Sep-2026 18:01 by rmk") (if (EQ 0 (FONTPROP FONT 'SIZE)) then (\READCHARSET FONT CHARSET) - else (LET ((SIZE (FONTPROP FONT 'SIZE)) - (UNSCALEDFS (GETMULTI (fetch (FONTDESCRIPTOR OTHERDEVICEFONTPROPS) of FONT) - 'UNSCALEDSOURCE)) - UNSCALEDFD CSINFO WIDTHS) - (CL:WHEN UNSCALEDFS - (SETQ UNSCALEDFD (FONTCREATE UNSCALEDFS)) - - (* ;; "FONTCREATE returns the cached unscaled fontdescriptor, we have to copy the charsetinfo before we smash it.") - - (SETQ CSINFO (\COPYCHARSETINFO (\INSURECHARSETINFO UNSCALEDFD CHARSET))) - (change (fetch (CHARSETINFO CHARSETASCENT) of CSINFO) - (FIXR (TIMES SIZE DATUM 0.1))) - (change (fetch (CHARSETINFO CHARSETDESCENT) of CSINFO) - (FIXR (TIMES SIZE DATUM 0.1))) - (SETQ WIDTHS (fetch (CHARSETINFO WIDTHS) of CSINFO)) - (replace (CHARSETINFO WIDTHS) of CSINFO with WIDTHS) - - (* ;; "Use (\FSETWIDTH WIDTH...) instead of (\FSETCHARWIDTH FONT...) to avoid stack overflow--CSINFO hasn't been installed yet.") - - [for CH from 0 to \MAXTHINCHAR do (\FSETWIDTH WIDTHS CH - (FIXR (TIMES SIZE (\FGETCHARWIDTH - UNSCALEDFD CH) - 0.1] - CSINFO)]) + else (PROG ((SIZE (FONTPROP FONT 'SIZE)) + (UNSCALEDFS (GETMULTI (fetch (FONTDESCRIPTOR OTHERDEVICEFONTPROPS) of FONT) + 'UNSCALEDSOURCE)) + UNSCALEDFD CSINFO WIDTHS) + (CL:UNLESS UNSCALEDFS (RETURN NIL)) + (SETQ UNSCALEDFD (FONTCREATE UNSCALEDFS)) + + (* ;; "FONTCREATE returns the cached unscaled fontdescriptor, we have to copy the charsetinfo before we smash it.") + + (SETQ CSINFO (\INSURECHARSETINFO UNSCALEDFD CHARSET)) + (CL:UNLESS CSINFO (RETURN NIL)) + (SETQ CSINFO (\COPYCHARSETINFO (\INSURECHARSETINFO UNSCALEDFD CHARSET))) + (change (fetch (CHARSETINFO CHARSETASCENT) of CSINFO) + (FIXR (TIMES SIZE DATUM 0.1))) + (change (fetch (CHARSETINFO CHARSETDESCENT) of CSINFO) + (FIXR (TIMES SIZE DATUM 0.1))) + (SETQ WIDTHS (fetch (CHARSETINFO WIDTHS) of CSINFO)) + (replace (CHARSETINFO WIDTHS) of CSINFO with WIDTHS) + + (* ;; "Use (\FSETWIDTH WIDTH...) instead of (\FSETCHARWIDTH FONT...) to avoid stack overflow--CSINFO hasn't been installed yet.") + + [for CH from 0 to \MAXTHINCHAR do (\FSETWIDTH WIDTHS CH + (FIXR (TIMES SIZE (\FGETCHARWIDTH + UNSCALEDFD CH) + 0.1] + (RETURN CSINFO]) (POSTSCRIPT.FONTCREATE [LAMBDA (FONTSPEC) (* ; "Edited 5-Sep-2026 10:08 by rmk") @@ -4585,38 +4588,38 @@ (ADDTOVAR LAMA POSTSCRIPT.PUTCOMMAND) ) (DECLARE%: DONTCOPY - (FILEMAP (NIL (23309 33708 (POSTSCRIPT.INIT 23319 . 30314) (POSTSCRIPT.PUTRGBCOLOR 30316 . 31338) ( -\PSC.COLOR.TO.RGB 31340 . 33706)) (33948 51146 (POSTSCRIPT.FONTSAVAILABLE 33958 . 37338) ( -PSCFONT.FILEP 37340 . 37527) (POSTSCRIPT.CHARSET 37529 . 39521) (POSTSCRIPT.FONTCREATE 39523 . 42692) -(PSCFONT.TO.FONTDESCRIPTOR 42694 . 51144)) (51147 62985 (PSCFONT.READFONT 51157 . 53168) ( -PSCFONT.WRITEFONT 53170 . 54185) (READ-AFM-FILE 54187 . 60058) (CONVERT-AFM-FILES 60060 . 61583) ( -POSTSCRIPT.GETFONTID 61585 . 62983)) (62986 64354 (\CREATECHARSET.PSC 62996 . 64352)) (64413 82468 ( -OLDPOSTSCRIPT.FONTCREATE 64423 . 77628) (\POSTSCRIPT.SPECIALFONT.SCALEDWIDTHS 77630 . 79124) ( -PSCFONT.COERCEFILE 79126 . 81459) (PSCFONT.SPELLFILE 81461 . 82466)) (85387 95474 ( -OPENPOSTSCRIPTSTREAM 85397 . 94962) (CLOSEPOSTSCRIPTSTREAM 94964 . 95472)) (95519 101845 ( -POSTSCRIPT.HARDCOPYW 95529 . 98636) (POSTSCRIPT.TEDIT 98638 . 99090) (POSTSCRIPTFILEP 99092 . 100580) -(MAKEEPSFILE 100582 . 101843)) (101846 145875 (POSTSCRIPT.BITMAPSCALE 101856 . 104312) ( -POSTSCRIPT.CLOSESTRING 104314 . 104867) (POSTSCRIPT.ENDPAGE 104869 . 105760) (POSTSCRIPT.OUTSTR 105762 - . 106979) (POSTSCRIPT.PUTBITMAPBYTES 106981 . 115452) (POSTSCRIPT.PUTCOMMAND 115454 . 116443) ( -POSTSCRIPT.SET-FAKE-LANDSCAPE 116445 . 120965) (POSTSCRIPT.SHOWACCUM 120967 . 123122) ( -POSTSCRIPT.STARTPAGE 123124 . 125826) (\POSTSCRIPTTAB 125828 . 126625) (\PS.BOUTFIXP 126627 . 127907) -(\PS.SCALEHACK 127909 . 130552) (\PS.SCALEREGION 130554 . 131114) (\SCALEDBITBLT.PSC 131116 . 135426) -(\SETPOS.PSC 135428 . 135909) (\SETXFORM.PSC 135911 . 138495) (\STRINGWIDTH.PSC 138497 . 138970) ( -\SWITCHFONTS.PSC 138972 . 144637) (\TERPRI.PSC 144639 . 145873)) (145910 198642 (\BITBLT.PSC 145920 . -146472) (\BLTSHADE.PSC 146474 . 151135) (\CHARWIDTH.PSC 151137 . 151644) (\DRAWARC.PSC 151646 . 154024 -) (\DRAWCIRCLE.PSC 154026 . 156277) (\DRAWCURVE.PSC 156279 . 160123) (\DRAWELLIPSE.PSC 160125 . 162489 -) (\DRAWLINE.PSC 162491 . 165231) (\DRAWPOINT.PSC 165233 . 165809) (\DRAWPOLYGON.PSC 165811 . 168940) -(\DSPBOTTOMMARGIN.PSC 168942 . 169629) (\DSPCLIPPINGREGION.PSC 169631 . 171006) (\DSPCOLOR.PSC 171008 - . 171939) (\DSPFONT.PSC 171941 . 175812) (\DSPLEFTMARGIN.PSC 175814 . 176500) (\DSPLINEFEED.PSC -176502 . 177092) (\DSPPUSHSTATE.PSC 177094 . 178554) (\DSPPOPSTATE.PSC 178556 . 182041) (\DSPRESET.PSC - 182043 . 182708) (\DSPRIGHTMARGIN.PSC 182710 . 183399) (\DSPROTATE.PSC 183401 . 184400) ( -\DSPSCALE.PSC 184402 . 185354) (\DSPSCALE2.PSC 185356 . 186196) (\DSPSPACEFACTOR.PSC 186198 . 187119) -(\DSPTOPMARGIN.PSC 187121 . 187692) (\DSPTRANSLATE.PSC 187694 . 189725) (\DSPXPOSITION.PSC 189727 . -190291) (\DSPYPOSITION.PSC 190293 . 190884) (\FILLCIRCLE.PSC 190886 . 193111) (\FILLPOLYGON.PSC 193113 - . 196350) (\FIXLINELENGTH.PSC 196352 . 197671) (\MOVETO.PSC 197673 . 198443) (\NEWPAGE.PSC 198445 . -198640)) (198698 222252 (\POSTSCRIPT.CHANGECHARSET 198708 . 199537) (\POSTSCRIPT.OUTCHARFN 199539 . -212647) (\POSTSCRIPT.PRINTSLUG 212649 . 214484) (\POSTSCRIPT.SPECIALOUTCHARFN 214486 . 217075) ( -\UPDATE.PSC 217077 . 218323) (\POSTSCRIPT.ACCENTFN 218325 . 219267) (\POSTSCRIPT.ACCENTPAIR 219269 . -222250)) (222350 223995 (\PSC.SPACEDISP 222360 . 222639) (\PSC.SPACEWID 222641 . 223260) (\PSC.SYMBOLS - 223262 . 223993)) (224106 227089 (\POSTSCRIPT.MCCSHASH 224116 . 227087))))) + (FILEMAP (NIL (23306 33705 (POSTSCRIPT.INIT 23316 . 30311) (POSTSCRIPT.PUTRGBCOLOR 30313 . 31335) ( +\PSC.COLOR.TO.RGB 31337 . 33703)) (33945 51345 (POSTSCRIPT.FONTSAVAILABLE 33955 . 37335) ( +PSCFONT.FILEP 37337 . 37524) (POSTSCRIPT.CHARSET 37526 . 39720) (POSTSCRIPT.FONTCREATE 39722 . 42891) +(PSCFONT.TO.FONTDESCRIPTOR 42893 . 51343)) (51346 63184 (PSCFONT.READFONT 51356 . 53367) ( +PSCFONT.WRITEFONT 53369 . 54384) (READ-AFM-FILE 54386 . 60257) (CONVERT-AFM-FILES 60259 . 61782) ( +POSTSCRIPT.GETFONTID 61784 . 63182)) (63185 64553 (\CREATECHARSET.PSC 63195 . 64551)) (64612 82667 ( +OLDPOSTSCRIPT.FONTCREATE 64622 . 77827) (\POSTSCRIPT.SPECIALFONT.SCALEDWIDTHS 77829 . 79323) ( +PSCFONT.COERCEFILE 79325 . 81658) (PSCFONT.SPELLFILE 81660 . 82665)) (85586 95673 ( +OPENPOSTSCRIPTSTREAM 85596 . 95161) (CLOSEPOSTSCRIPTSTREAM 95163 . 95671)) (95718 102044 ( +POSTSCRIPT.HARDCOPYW 95728 . 98835) (POSTSCRIPT.TEDIT 98837 . 99289) (POSTSCRIPTFILEP 99291 . 100779) +(MAKEEPSFILE 100781 . 102042)) (102045 146074 (POSTSCRIPT.BITMAPSCALE 102055 . 104511) ( +POSTSCRIPT.CLOSESTRING 104513 . 105066) (POSTSCRIPT.ENDPAGE 105068 . 105959) (POSTSCRIPT.OUTSTR 105961 + . 107178) (POSTSCRIPT.PUTBITMAPBYTES 107180 . 115651) (POSTSCRIPT.PUTCOMMAND 115653 . 116642) ( +POSTSCRIPT.SET-FAKE-LANDSCAPE 116644 . 121164) (POSTSCRIPT.SHOWACCUM 121166 . 123321) ( +POSTSCRIPT.STARTPAGE 123323 . 126025) (\POSTSCRIPTTAB 126027 . 126824) (\PS.BOUTFIXP 126826 . 128106) +(\PS.SCALEHACK 128108 . 130751) (\PS.SCALEREGION 130753 . 131313) (\SCALEDBITBLT.PSC 131315 . 135625) +(\SETPOS.PSC 135627 . 136108) (\SETXFORM.PSC 136110 . 138694) (\STRINGWIDTH.PSC 138696 . 139169) ( +\SWITCHFONTS.PSC 139171 . 144836) (\TERPRI.PSC 144838 . 146072)) (146109 198841 (\BITBLT.PSC 146119 . +146671) (\BLTSHADE.PSC 146673 . 151334) (\CHARWIDTH.PSC 151336 . 151843) (\DRAWARC.PSC 151845 . 154223 +) (\DRAWCIRCLE.PSC 154225 . 156476) (\DRAWCURVE.PSC 156478 . 160322) (\DRAWELLIPSE.PSC 160324 . 162688 +) (\DRAWLINE.PSC 162690 . 165430) (\DRAWPOINT.PSC 165432 . 166008) (\DRAWPOLYGON.PSC 166010 . 169139) +(\DSPBOTTOMMARGIN.PSC 169141 . 169828) (\DSPCLIPPINGREGION.PSC 169830 . 171205) (\DSPCOLOR.PSC 171207 + . 172138) (\DSPFONT.PSC 172140 . 176011) (\DSPLEFTMARGIN.PSC 176013 . 176699) (\DSPLINEFEED.PSC +176701 . 177291) (\DSPPUSHSTATE.PSC 177293 . 178753) (\DSPPOPSTATE.PSC 178755 . 182240) (\DSPRESET.PSC + 182242 . 182907) (\DSPRIGHTMARGIN.PSC 182909 . 183598) (\DSPROTATE.PSC 183600 . 184599) ( +\DSPSCALE.PSC 184601 . 185553) (\DSPSCALE2.PSC 185555 . 186395) (\DSPSPACEFACTOR.PSC 186397 . 187318) +(\DSPTOPMARGIN.PSC 187320 . 187891) (\DSPTRANSLATE.PSC 187893 . 189924) (\DSPXPOSITION.PSC 189926 . +190490) (\DSPYPOSITION.PSC 190492 . 191083) (\FILLCIRCLE.PSC 191085 . 193310) (\FILLPOLYGON.PSC 193312 + . 196549) (\FIXLINELENGTH.PSC 196551 . 197870) (\MOVETO.PSC 197872 . 198642) (\NEWPAGE.PSC 198644 . +198839)) (198897 222451 (\POSTSCRIPT.CHANGECHARSET 198907 . 199736) (\POSTSCRIPT.OUTCHARFN 199738 . +212846) (\POSTSCRIPT.PRINTSLUG 212848 . 214683) (\POSTSCRIPT.SPECIALOUTCHARFN 214685 . 217274) ( +\UPDATE.PSC 217276 . 218522) (\POSTSCRIPT.ACCENTFN 218524 . 219466) (\POSTSCRIPT.ACCENTPAIR 219468 . +222449)) (222549 224194 (\PSC.SPACEDISP 222559 . 222838) (\PSC.SPACEWID 222840 . 223459) (\PSC.SYMBOLS + 223461 . 224192)) (224305 227288 (\POSTSCRIPT.MCCSHASH 224315 . 227286))))) STOP diff --git a/library/POSTSCRIPTSTREAM.LCOM b/library/POSTSCRIPTSTREAM.LCOM index 9f0e24e1c07e284f778e44b9d7cbbeb9d3de8af1..c953ef7c35609af59f11f524b63cf352de328af6 100644 GIT binary patch delta 864 zcmZuuO=}ZT6rE`?&|sxarb!x#xkOtMFk#-C$$a4^oy@eOAunVmkYZ436EUQ1H17@7!_PbT-Ak;g%p==6kNM;7xM|3rf>1?yZ4@ZIQP6i$DZ?3&&!fuO4!v# z0`ph`j5Q=_0(w=KTS6SXQJ88XS;MM^Q07N$v($z&8NyD$2qSFvL`8u!LbD{Dmbf{}KN47fB*1V({=X4f?V zuq-H|3Yw9zoW$l1G!N?F)%p^0TZWx*2*k{seT6!D#zyEJc7b--4HkX)&Hh+s1={gf z=l(6z4Nml&ELfHIKj~x64qPW333N$_V>%?{drGqHzrP6djnimC$uIRU0Di0>fIT>U0 z`=kJZjAlw$g=rN6=3O~fl}kBt=aPFKOL*LW;*8e9{iWS9kSflUl-ZIb&7klMN~Q1g nTXT|3%RzHhR50*K1OhJ&BbMbsjC;@c7Q1rV4Swnd+11*AA8zXc delta 808 zcmZWn&ubGw7~NF~b+y|hreP~342#7EX_?vC-R!OxW0EziOQ+4Fwwt6hXszSlg_ZD^3YGFY1kFO9rUcot3DYa{h30u8kno?KHuKgdLO*?z2tSJcPLb~rKjD3zx;tBX`fI0C8T{T8 zM^KO7PmfB%55IU2;yY^}FyVU<;{V?7G5eSQaXr8@<2xV@(I9RmcFWAaL(wQi-%XlT;31wPq3^A>~AXG<8%cnyV!1cSgD)4MlNm(hosA?WZDo5LTPmrJH0emrP|78EZX9 z+(b~Ggd`nLL9uBTmcaj6BngkdAsTxlU4AqU#KsMfs*LyD9i0fPPsP`!5LKsF1# Date: Sun, 13 Sep 2026 23:31:13 -0700 Subject: [PATCH 19/30] Code updates for slugflags --- library/IMPORTFONTS | 643 +++++++++++++++-------------- library/IMPORTFONTS.LCOM | Bin 25947 -> 27347 bytes library/IMPORTFONTS.TEDIT | Bin 12116 -> 12408 bytes library/POSTSCRIPTSTREAM | 606 +++++++++++++-------------- library/POSTSCRIPTSTREAM.LCOM | Bin 98760 -> 98863 bytes sources/ACFONT | 150 ++++--- sources/ACFONT.DFASL | Bin 11061 -> 11996 bytes sources/FONT | 755 +++++++++++++++++----------------- sources/FONT.LCOM | Bin 66754 -> 67646 bytes sources/IMAGEIO | 16 +- sources/IMAGEIO.LCOM | Bin 44875 -> 44742 bytes sources/INTERPRESS | 116 +++--- sources/INTERPRESS.LCOM | Bin 58414 -> 58841 bytes sources/MCCSFONTS | 36 +- sources/MCCSFONTS.LCOM | Bin 23068 -> 23220 bytes sources/MEDLEYFONTFORMAT | 102 +++-- sources/MEDLEYFONTFORMAT.LCOM | Bin 22295 -> 22726 bytes 17 files changed, 1220 insertions(+), 1204 deletions(-) diff --git a/library/IMPORTFONTS b/library/IMPORTFONTS index 7ed214d03..2e8302202 100644 --- a/library/IMPORTFONTS +++ b/library/IMPORTFONTS @@ -1,35 +1,45 @@ (DEFINE-FILE-INFO :PACKAGE "INTERLISP" :READTABLE "INTERLISP" :BASE 10 :FORMAT :UTF-8) -(FILECREATED " 4-Sep-2026 23:05:12" {MEDLEY}IMPORTFONTS.;144 68821 +(FILECREATED "13-Sep-2026 11:59:24" {MEDLEY}IMPORTFONTS.;160 69122 :EDIT-BY rmk - :CHANGES-TO (FNS IMPORTFONTS) + :CHANGES-TO (VARS IMPORTFONTSCOMS) + (FNS IMPORTFONTS.DISPLAY IMPORTFONTS.POSTSCRIPT IMPORTFONTS.INTERPRESS) - :PREVIOUS-DATE " 4-Sep-2026 21:52:16" {MEDLEY}IMPORTFONTS.;143) + :PREVIOUS-DATE "12-Sep-2026 16:44:40" {MEDLEY}IMPORTFONTS.;159) (PRETTYCOMPRINT IMPORTFONTSCOMS) (RPAQQ IMPORTFONTSCOMS - ((FNS IMPORTFONTS FONT.TO.MCCS IMPORTFONTS.FONTSPECS IMPORTFONTS.CONTEXT IMPORTFONTS.NOCACHE - IMPORTFONTS.DIRECTORY IMPORTFONTS.CLEAR IMPORTFONTS.SUBDIR IMPORTFONTS.DIRSIZE) + [(FNS IMPORTFONTS FONT.TO.MCCS IMPORTFONTS.FONTSPECS IMPORTFONTS.CONTEXT IMPORTFONTS.NOCACHE + IMPORTFONTS.DIRECTORY IMPORTFONTS.CLEAR IMPORTFONTS.DIRSIZE) + (FNS IMPORTFONTS.PREAMBLE IMPORTFONTS.ANNOUNCE IMPORTFONTS.REPORT IMPORTFONTS.EPILOGUE + IMPORTFONTS.SHOWDRIBBLE) (FNS IMPORTFONTS.AVAILABLE IMPORTFONTS.EXISTS?) (FNS FAKEFACE FAKEFACE.FROMFILE FAKEFACE.FROMFONT) + (DECLARE%: DONTEVAL@LOAD (MACROS IMPORTDEVICEPROP)) (COMS (* ; "For legacy display imports") - (FNS IMPORT.DISPLAY LEGACYDISPLAYFONT NSDISPLAYSIZE) + (FNS IMPORTFONTS.DISPLAY LEGACYDISPLAYFONT NSDISPLAYSIZE) (INITVARS (DONSDISPLAYSIZE NIL)) (FILES ACFONT)) - (FNS IMPORT.POSTSCRIPT IMPORT.INTERPRESS) + (FNS IMPORTFONTS.POSTSCRIPT IMPORTFONTS.INTERPRESS) (COMS (* ; "For testing") (FNS IPF IPFSIZES) - (FNS PEF AEF IEF MEF CEF FEF DEF EFCLOSE) + (FNS PEF AEF IEF MEF CEF FEF DEF) (FNS SHOWCHARS CSSOURCE FONTDEFFONTS FLATCHARCOERCIONS) - (FILES EDITFONT)))) + (FILES EDITFONT) + (P (* ; + "Could point to a separate fontsource repo") + (CL:UNLESS (PSEUDOHOSTP 'FONTSOURCE) + (PSEUDOHOST 'FONTSOURCE '{MEDLEY}/internal/fonts/))]) (DEFINEQ (IMPORTFONTS [LAMBDA (PHASE FONTSPECS DEVICE FROMDIR TODIR IMPORTFN NODRIBBLE) + (* ; "Edited 12-Sep-2026 10:06 by rmk") + (* ; "Edited 10-Sep-2026 23:42 by rmk") (* ; "Edited 4-Sep-2026 22:38 by rmk") (* ; "Edited 2-Sep-2026 09:04 by rmk") (* ; "Edited 31-Aug-2026 22:42 by rmk") @@ -58,177 +68,70 @@ (\ILLEGAL.ARG PHASE)) (CL:UNLESS DEVICE (SETQ DEVICE 'DISPLAY)) - (CL:WHEN (AND (EQ PHASE 'IMPORT) - (NOT (GETD IMPORTFN))) - (ERROR "Importing from source requires an IMPORTFN")) - (PROG1 - (RESETLST (* ; + (PROG1 (RESETLST (* ;  "Close dribble outside of this context") - (CL:MULTIPLE-VALUE-SETQ (FROMDIR TODIR) - (IMPORTFONTS.CONTEXT PHASE FROMDIR TODIR DEVICE)) - (IMPORTFONTS.CLEAR PHASE FONTSPECS TODIR DEVICE) - (SETQ FONTSPECS (IMPORTFONTS.FONTSPECS PHASE FONTSPECS FROMDIR DEVICE)) - (CL:UNLESS FONTSPECS - (PRINTOUT T "NO FONTS TO IMPORT") - (RETFROM (FUNCTION IMPORTFONTS) - NIL)) - (CL:WHEN (AND (IGEQ (LENGTH FONTSPECS) - 5) - (NOT NODRIBBLE)) - - (* ;; - "Put all the dribbles together one up, DEPLOY can't use TODIR, IMPORT can't use FROMDIR.") - - [DRIBBLE (PSEUDOFILENAME (PACKFILENAME 'BODY - (OR (CL:IF (EQ PHASE 'DEPLOY) - (SUBSTRING FROMDIR 1 - (STRPOS ">" FROMDIR -2 NIL NIL NIL NIL - T)) - (SUBSTRING TODIR 1 - (STRPOS ">" TODIR -2 NIL NIL NIL NIL T - ))) - LOGINHOST/DIR) - 'NAME PHASE 'EXTENSION 'DRIBBLE] - (PRINTOUT T "Dribbling to " (FULLNAME (DRIBBLEFILE)) - T)) - (PRINTOUT T (SELECTQ PHASE - (IMPORT "Importing ") - (MCCS "MCCS recoding ") - (COMPLETE "Completing ") - (FAKE "Faking ") - (DEPLOY "Deploying ") - NIL) - (LENGTH FONTSPECS) - " " DEVICE " font" (CL:IF (IGEQ (LENGTH FONTSPECS) - 2) - "s" - "") - " at " - (DATE)) - (if TODIR - then (PRINTOUT T 3 "from " FROMDIR 3 "to " TODIR T) - else (PRINTOUT T " from " FROMDIR T 3 "(but not writing)" T)) - (BKSYSBUF " ") - (IMPORTFONTS.CLEAR PHASE FONTSPECS TODIR DEVICE) - (for FS FONT FONT FONTSTART TOFILE FROMFILE CAPTIONS THISTIME FROMSIZE TOSIZE CHANGED - NOTINSTANTIATED TOTALTIME TODIRSIZE FSPECCOLS (FROMDIRSIZE - ← - (CL:IF (EQ PHASE 'IMPORT) - 0 - (IMPORTFONTS.DIRSIZE PHASE DEVICE - FROMDIR))) - (NNOCHARSETS ← 0) in FONTSPECS as I from 1 - first (SETQ TOTALTIME (CLOCK 0)) (* ; "For dribble layout:") - [SETQ FSPECCOLS (IPLUS 5 7 (for FS in FONTSPECS - largest (NCHARS (fetch (FONTSPEC FSFAMILY) - of FS)) - finally (RETURN $$EXTREME] - eachtime (PRINTOUT T .I3 I ". " (fetch (FONTSPEC FSFAMILY) of FS) - " " .I2 (fetch (FONTSPEC FSSIZE) of FS) - " " - (FONTFACETOATOM (fetch (FONTSPEC FSFACE) of FS))) - (SETQ THISTIME (CLOCK 0)) - collect (SELECTQ PHASE - (IMPORT (SETQ FONT (APPLY* IMPORTFN FS FROMDIR)) - (SETQ CHANGED T)) - ((MCCS COMPLETE) - (SETQ FROMFILE (MEDLEYFONT.FILENAME FS FROMDIR T)) - (if FROMFILE - then (SETQ FONT (MEDLEYFONT.READ.FONT FROMFILE 'ALL)) - (SETQ FROMSIZE (GETFILEINFO FROMFILE 'LENGTH)) - else (SETQ FONT (FONTCREATE.SLUGFD FS)) - (SETQ FROMSIZE 0)) - (SETQ CHANGED (SELECTQ PHASE - (MCCS (FONT.TO.MCCS FONT)) - (COMPLETE (COMPLETE.FONT FONT T)) - NIL))) - (FAKE (CL:MULTIPLE-VALUE-SETQ (FONT FROMFILE) - (FAKEFACE.FROMFONT FS FROMDIR)) - (SETQ FROMSIZE (GETFILEINFO FROMFILE 'LENGTH)) - (SETQ CHANGED (FAKEFACE FONT))) - (DEPLOY (SETQ FROMFILE (MEDLEYFONT.FILENAME FS FROMDIR T)) - (SETQ FROMSIZE (GETFILEINFO FROMFILE 'LENGTH))) - NIL) - (CL:WHEN [SETQ NOTINSTANTIATED (EQ 0 (FONTPROP FONT 'NINSTANTIATEDCHARSETS] - (add NNOCHARSETS 1)) - (CL:WHEN TODIR - (SETQ TOFILE (MEDLEYFONT.FILENAME FS TODIR)) - (SETQ TOFILE (CL:IF CHANGED - (MEDLEYFONT.WRITE.FONT FONT TOFILE) - (COPYFILE FROMFILE TOFILE)))) - (SETQ THISTIME (FQUOTIENT (IDIFFERENCE (CLOCK 0) - THISTIME) - 1000)) - (if NOTINSTANTIATED - then (PRINTOUT T .TAB (IPLUS FSPECCOLS 5) - "No instantiated charsets" .TAB (IPLUS FSPECCOLS 20) - .F7.2 THISTIME) - elseif TOFILE - then (SETQ TOSIZE (GETFILEINFO TOFILE 'LENGTH)) - (SELECTQ PHASE - (IMPORT (PRINTOUT T .TAB (IPLUS FSPECCOLS 5) - .I6 TOSIZE " " .F7.2 THISTIME)) - ((MCCS COMPLETE FAKE DEPLOY) - (if CHANGED - then (PRINTOUT T .TAB (IPLUS FSPECCOLS 5) - .I6 FROMSIZE " -> " .I6 TOSIZE " " .F6.2 - THISTIME .TAB (IPLUS FSPECCOLS 24) - 50 .I5 (IDIFFERENCE TOSIZE FROMSIZE)) - else (PRINTOUT T .TAB (IPLUS FSPECCOLS 7) - "Copied " .I6 TOSIZE " " .F6.2 THISTIME))) - NIL)) - (TERPRI T) - (CL:IF TODIR - TOFILE - FONT) finally (SETQ TOTALTIME (FIXR (FQUOTIENT (IDIFFERENCE (CLOCK 0) - TOTALTIME) - 1000))) - (PRINTOUT T 4 (IDIFFERENCE (LENGTH $$VAL) - NNOCHARSETS) - " font" - (CL:IF (IGEQ (LENGTH $$VAL) - 2) - "s " - " ") - (SELECTQ PHASE - (IMPORT "imported") - (MCCS "recoded to MCCS") - (COMPLETE "completed") - (FAKE "faked") - (DEPLOY "deployed") - NIL)) - (if TODIR - then (SETQ TODIRSIZE (IMPORTFONTS.DIRSIZE PHASE DEVICE TODIR - )) - (PRINTOUT T " and written in " TOTALTIME " seconds" 4 - "Total size is " (FIXR (FQUOTIENT TODIRSIZE 1024 - )) - " KB, grew by " - (FIXR (FQUOTIENT (IDIFFERENCE TODIRSIZE - FROMDIRSIZE) - 1024)) - " KB" T) - (CL:UNLESS (EQ 0 NNOCHARSETS) - (PRINTOUT T 4 NNOCHARSETS - " fonts had no character sets" T)) - (CL:WHEN (AND TODIR (IGEQ (LENGTH $$VAL) - 5)) - (SETQ $$VAL TODIR)) - else (PRINTOUT T " (but not written) in " TOTALTIME " seconds" - T)))) - (CL:UNLESS NODRIBBLE - (CL:WHEN (DRIBBLEFILE) - (PRINTOUT T "Dribbled to " (FULLNAME (DRIBBLEFILE)) - T) - [TEDIT (DRIBBLE) - 'Dribble NIL `(TITLE ,(CONCAT PHASE " font dribble" " " (DATE)) - LEAVETTY T READONLY QUIET PARABREAKCHARS NIL FONT - DEFAULTFONT OPENWIDTH ,(fetch (REGION WIDTH) - of (WINDOWPROP (WFROMDS T) - 'REGION)) - OPENHEIGHT - ,(fetch (REGION HEIGHT) of (WINDOWPROP (WFROMDS T) - 'REGION])))]) + (CL:MULTIPLE-VALUE-SETQ (FROMDIR TODIR) + (IMPORTFONTS.CONTEXT PHASE FROMDIR TODIR DEVICE)) + (IMPORTFONTS.CLEAR PHASE FONTSPECS TODIR DEVICE) + (SETQ FONTSPECS (IMPORTFONTS.FONTSPECS PHASE FONTSPECS FROMDIR DEVICE)) + (CL:UNLESS FONTSPECS + (PRINTOUT T "NO FONTS TO IMPORT") + (RETFROM (FUNCTION IMPORTFONTS) + NIL)) + (IMPORTFONTS.PREAMBLE PHASE FONTSPECS FROMDIR TODIR NODRIBBLE) + (IMPORTFONTS.CLEAR PHASE FONTSPECS TODIR DEVICE) + (BKSYSBUF " ") + (for FS FONT FONT FONTSTART TOFILE FROMFILE CAPTIONS THISTIME FROMSIZE TOSIZE CHANGED + NOTINSTANTIATED FSPECCOLS (FROMDIRSIZE ← (CL:IF (EQ PHASE 'IMPORT) + 0 + (IMPORTFONTS.DIRSIZE PHASE DEVICE + FROMDIR))) + (NNOCHARSETS ← 0) + (TOTALTIME ← (CLOCK 0)) in FONTSPECS as I from 1 + first [SETQ FSPECCOLS (IPLUS 5 7 (for FS in FONTSPECS + largest (NCHARS (fetch (FONTSPEC FSFAMILY) + of FS)) + finally (RETURN $$EXTREME] + eachtime (IMPORTFONTS.ANNOUNCE I FS) + (SETQ THISTIME (CLOCK 0)) + collect (SELECTQ PHASE + (IMPORT (SETQ FONT (APPLY* IMPORTFN FS FROMDIR)) + (SETQ CHANGED T)) + ((MCCS COMPLETE) + (SETQ FROMFILE (MEDLEYFONT.FILENAME FS FROMDIR T)) + (if FROMFILE + then (SETQ FONT (MEDLEYFONT.READ.FONT FROMFILE 'ALL)) + (SETQ FROMSIZE (GETFILEINFO FROMFILE 'LENGTH)) + else (SETQ FONT (FONTCREATE.SLUGFD FS)) + (SETQ FROMSIZE 0)) + (SETQ CHANGED (SELECTQ PHASE + (MCCS (FONT.TO.MCCS FONT)) + (COMPLETE (COMPLETE.FONT FONT T)) + NIL))) + (FAKE (CL:MULTIPLE-VALUE-SETQ (FONT FROMFILE) + (FAKEFACE.FROMFONT FS FROMDIR)) + (SETQ FROMSIZE (GETFILEINFO FROMFILE 'LENGTH)) + (SETQ CHANGED (FAKEFACE FONT))) + (DEPLOY (SETQ FROMFILE (MEDLEYFONT.FILENAME FS FROMDIR T)) + (SETQ FROMSIZE (GETFILEINFO FROMFILE 'LENGTH))) + NIL) + (CL:WHEN [SETQ NOTINSTANTIATED (EQ 0 (FONTPROP FONT 'NINSTANTIATEDCHARSETS] + (add NNOCHARSETS 1)) + (CL:WHEN TODIR + (SETQ TOFILE (MEDLEYFONT.FILENAME FS TODIR)) + (SETQ TOFILE (CL:IF CHANGED + (MEDLEYFONT.WRITE.FONT FONT TOFILE) + (COPYFILE FROMFILE TOFILE)))) + (SETQ THISTIME (FQUOTIENT (IDIFFERENCE (CLOCK 0) + THISTIME) + 1000)) + (IMPORTFONTS.REPORT PHASE TOFILE NOTINSTANTIATED CHANGED FROMSIZE THISTIME + FSPECCOLS) + (CL:IF TODIR + TOFILE + FONT) finally (RETURN (IMPORTFONTS.EPILOGUE PHASE $$VAL DEVICE + FROMDIRSIZE NNOCHARSETS TODIR TOTALTIME)))) + (CL:UNLESS NODRIBBLE (IMPORTFONTS.SHOWDRIBBLE PHASE)))]) (FONT.TO.MCCS [LAMBDA (FONT) (* ; "Edited 11-Apr-2026 15:43 by rmk") @@ -265,7 +168,8 @@ FONT)]) (IMPORTFONTS.FONTSPECS - [LAMBDA (PHASE FONTSPECS FROMDIR DEVICE) (* ; "Edited 31-Aug-2026 22:35 by rmk") + [LAMBDA (PHASE FONTSPECS FROMDIR DEVICE) (* ; "Edited 11-Sep-2026 09:34 by rmk") + (* ; "Edited 31-Aug-2026 22:35 by rmk") (* ; "Edited 9-Jul-2026 16:49 by rmk") (* ; "Edited 4-May-2026 08:59 by rmk") (* ; "Edited 4-Apr-2026 11:41 by rmk") @@ -285,8 +189,7 @@ (SETQ FROMDIR (IMPORTFONTS.DIRECTORY DEVICE FROMDIR PHASE)) (RESETLST (IMPORTFONTS.NOCACHE) - [RESETSAVE (FONTDEVICEPROP DEVICE 'FONTDIRECTORIES FROMDIR) - `(PROGN (FONTDEVICEPROP ',DEVICE 'FONTDIRECTORIES OLDVALUE] + (IMPORTDEVICEPROP DEVICE 'FONTDIRECTORIES FROMDIR) (LET [(EXPANDED (CL:REMOVE-DUPLICATES (for F inside (CL:IF (type? FONTSPEC FONTSPECS) (CONS FONTSPECS) @@ -378,7 +281,9 @@ (SORTFONTSPECS EXPANDED))))]) (IMPORTFONTS.CONTEXT - [LAMBDA (PHASE FROMDIR TODIR DEVICE) (* ; "Edited 4-May-2026 00:16 by rmk") + [LAMBDA (PHASE FROMDIR TODIR DEVICE) (* ; "Edited 11-Sep-2026 15:55 by rmk") + (* ; "Edited 8-Sep-2026 13:16 by rmk") + (* ; "Edited 4-May-2026 00:16 by rmk") (* ; "Edited 4-Apr-2026 09:33 by rmk") (* ; "Edited 24-Mar-2026 23:11 by rmk") (* ; "Edited 23-Mar-2026 13:17 by rmk") @@ -389,7 +294,7 @@ (* ; "Edited 13-Mar-2026 10:52 by rmk") (* ; "Edited 3-Mar-2026 21:58 by rmk") - (* ;; "This sets up the FONTDEVICE props according to PHASE, using default values for the directories if they aren't specified. Returns the TODIR, or NIL if the TODIR was DONT=don't file.") + (* ;; "This sets up the FONTDEVICE props according to PHASE, using default values for the directories if they aren't specified. Returns the FROMDIR-TODIR.") (SETQ FROMDIR (IMPORTFONTS.DIRECTORY DEVICE FROMDIR (SELECTQ PHASE @@ -397,7 +302,7 @@ (MCCS 'IMPORT) (COMPLETE 'MCCS) (FAKE 'COMPLETE) - (DEPLOY (for P in '(FAKE COMPLETE MCCS IMPORT) + (DEPLOY (find P in '(FAKE COMPLETE MCCS IMPORT) suchthat (DIRECTORYNAMEP (IMPORTFONTS.DIRECTORY DEVICE FROMDIR P)))) NIL))) @@ -405,29 +310,28 @@ (CONCAT [CAR (MKLIST (FONTDEVICEPROP DEVICE 'FONTDIRECTORIES] ">") (IMPORTFONTS.DIRECTORY DEVICE TODIR PHASE))) - [RESETSAVE (FONTDEVICEPROP DEVICE 'FONTCOERCIONS NIL) - `(PROGN (FONTDEVICEPROP ',DEVICE 'FONTCOERCIONS OLDVALUE] + (IMPORTDEVICEPROP DEVICE 'FONTCOERCIONS NIL) (SELECTQ PHASE - ((IMPORT MCCS) - [RESETSAVE (FONTDEVICEPROP DEVICE 'FONTDIRECTORIES FROMDIR) - `(PROGN (FONTDEVICEPROP ',DEVICE 'FONTDIRECTORIES OLDVALUE]) + ((IMPORT MCCS) (* ; "File by file, no other coercions") + (IMPORTDEVICEPROP DEVICE 'FONTDIRECTORIES FROMDIR) + (IMPORTDEVICEPROP FONTSPEC 'FONTCOERCIONS NIL) + (IMPORTDEVICEPROP FONTSPEC 'CHARCOERCIONS NIL)) (COMPLETE (* ;; "Make FONTCREATE1 in the COMPLETE phase draw from previously import-completed fonts, not from the currently active fonts") - [RESETSAVE (FONTDEVICEPROP DEVICE 'FONTDIRECTORIES (LIST TODIR FROMDIR)) - `(PROGN (FONTDEVICEPROP ',DEVICE 'FONTDIRECTORIES OLDVALUE] + (IMPORTDEVICEPROP DEVICE 'FONTDIRECTORIES (LIST TODIR FROMDIR)) (* ; "Suppress face faking") - [RESETSAVE (FONTDEVICEPROP DEVICE 'FACECOERCIONS NIL) - `(PROGN (FONTDEVICEPROP ',DEVICE 'FACECOERCIONS OLDVALUE]) + (IMPORTDEVICEPROP DEVICE 'FACECOERCIONS NIL)) (FAKE (* ;; "Make FONTCREATE1 in the FAKE phase draw from previously import-completed fonts, not from the currently active fonts") - [RESETSAVE (FONTDEVICEPROP DEVICE 'FONTDIRECTORIES (LIST TODIR FROMDIR)) - `(PROGN (FONTDEVICEPROP ',DEVICE 'FONTDIRECTORIES OLDVALUE] + (IMPORTDEVICEPROP DEVICE 'FONTDIRECTORIES (LIST TODIR FROMDIR)) (* ; "Completion has already been done") - [RESETSAVE (FONTDEVICEPROP DEVICE 'FONTCOERCIONS NIL) - `(PROGN (FONTDEVICEPROP ',DEVICE 'FONTCOERCIONS OLDVALUE]) + (IMPORTDEVICEPROP DEVICE 'FONTCOERCIONS NIL)) NIL) + (CL:UNLESS (EQ PHASE 'IMPORT) + (IMPORTDEVICEPROP DEVICE 'FONTEXTENSIONS (PACK* 'MEDLEY DEVICE 'FONT)) + [IMPORTDEVICEPROP DEVICE 'FILETEMPLATES '((FAMILY SIZE - FACE]) (IMPORTFONTS.NOCACHE) (CL:VALUES FROMDIR TODIR]) @@ -438,7 +342,8 @@ (RESETSAVE \FONTSAVAILABLEFILECACHE NIL]) (IMPORTFONTS.DIRECTORY - [LAMBDA (DEVICE DIRECTORY PHASE) (* ; "Edited 4-May-2026 00:52 by rmk") + [LAMBDA (DEVICE DIRECTORY PHASE) (* ; "Edited 8-Sep-2026 13:10 by rmk") + (* ; "Edited 4-May-2026 00:52 by rmk") (* ; "Edited 5-Apr-2026 14:17 by rmk") (* ; "Edited 22-Mar-2026 22:59 by rmk") (* ; "Edited 21-Mar-2026 22:40 by rmk") @@ -446,25 +351,37 @@ (* ; "Edited 9-Mar-2026 09:14 by rmk") (* ; "Edited 4-Mar-2026 00:46 by rmk") (CL:UNLESS (MEMB DIRECTORY '(DONT DON'T)) - [PSEUDOFILENAME (OR DIRECTORY - (SELECTQ PHASE - (DEPLOY (CONCAT [CAR (MKLIST (FONTDEVICEPROP DEVICE 'FONTDIRECTORIES] - ">")) - (CONCAT "{MEDLEY}fonts>" - (L-CASE (CONCAT (OR (if (type? FONTDESCRIPTOR DEVICE) - then (FONTPROP DEVICE 'DEVICE) - elseif (type? FONTSPEC DEVICE) - then (fetch (FONTSPEC FSDEVICE) - of (\FONT.CHECKARGS DEVICE)) - elseif (NOT (LITATOM DEVICE)) - then (\ILLEGAL.ARG DEVICE) - elseif DEVICE - else 'DISPLAY)) - ">" - (CL:IF PHASE - (CONCAT (IMPORTFONTS.SUBDIR PHASE) - ">") - "")])]) + [PSEUDOFILENAME (if DIRECTORY + else (SETQ DEVICE (if (type? FONTDESCRIPTOR DEVICE) + then (FONTPROP DEVICE 'DEVICE) + elseif (type? FONTSPEC DEVICE) + then (FSPROP (\FONT.CHECKARGS DEVICE) + FSDEVICE) + elseif (NOT (LITATOM DEVICE)) + then (\ILLEGAL.ARG DEVICE) + elseif DEVICE + else 'DISPLAY)) + (SELECTQ PHASE + (DEPLOY (CONCAT [CAR (MKLIST (FONTDEVICEPROP DEVICE + 'FONTDIRECTORIES] + ">")) + (SOURCE (* ; + "{FONTSOURCE} could be a separate repo") + (PACKFILENAME 'HOST '{FONTSOURCE} 'DIRECTORY + (CONCAT (L-CASE DEVICE) + ">source>"))) + (CONCAT "{MEDLEY}fonts>" + (CONCAT (L-CASE DEVICE) + ">" + (CL:IF PHASE + (CONCAT (SELECTQ PHASE + (IMPORT "imported") + (MCCS "mccs") + (COMPLETE "completed") + (FAKE "faked") + (\ILLEGAL.ARG)) + ">") + "")])]) (IMPORTFONTS.CLEAR [LAMBDA (PHASE FONTSPECS TODIR DEVICE) (* ; "Edited 3-May-2026 22:40 by rmk") @@ -501,20 +418,6 @@ (PSEUDOFILENAME TODIR) T))))]) -(IMPORTFONTS.SUBDIR - [LAMBDA (PHASE) (* ; "Edited 4-May-2026 00:27 by rmk") - (* ; "Edited 30-Mar-2026 16:27 by rmk") - (* ; "Edited 23-Mar-2026 13:18 by rmk") - (* ; "Edited 21-Mar-2026 09:53 by rmk") - (SELECTQ PHASE - (SOURCE "source") - (IMPORT "imported") - (MCCS "mccs") - (COMPLETE "completed") - (FAKE "faked") - (DEPLOY) - (\ILLEGAL.ARG]) - (IMPORTFONTS.DIRSIZE [LAMBDA (PHASE DEVICE DIRECTORY) (* ; "Edited 4-May-2026 00:26 by rmk") (* ; "Edited 30-Mar-2026 16:30 by rmk") @@ -529,25 +432,148 @@ ) (DEFINEQ +(IMPORTFONTS.PREAMBLE + [LAMBDA (PHASE FONTSPECS FROMDIR TODIR NODRIBBLE) (* ; "Edited 12-Sep-2026 09:44 by rmk") + (CL:WHEN (AND (IGEQ (LENGTH FONTSPECS) + 5) + (NOT NODRIBBLE)) + + (* ;; + "Put all the dribbles together one up, DEPLOY can't use TODIR, IMPORT can't use FROMDIR.") + + [DRIBBLE (PSEUDOFILENAME (PACKFILENAME 'BODY + (OR (CL:IF (EQ PHASE 'DEPLOY) + (SUBSTRING FROMDIR 1 + (STRPOS ">" FROMDIR -2 NIL NIL NIL NIL T)) + (SUBSTRING TODIR 1 + (STRPOS ">" TODIR -2 NIL NIL NIL NIL T))) + LOGINHOST/DIR) + 'NAME PHASE 'EXTENSION 'DRIBBLE] + (PRINTOUT T "Dribbling to " (FULLNAME (DRIBBLEFILE)) + T)) + (PRINTOUT T (SELECTQ PHASE + (IMPORT "Importing ") + (MCCS "MCCS recoding ") + (COMPLETE "Completing ") + (FAKE "Faking ") + (DEPLOY "Deploying ") + NIL) + (LENGTH FONTSPECS) + " " + (FSPROP (CAR FONTSPECS) + FSDEVICE) + " font" + (CL:IF (IGEQ (LENGTH FONTSPECS) + 2) + "s" + "") + " at " + (DATE)) + (if TODIR + then (PRINTOUT T 3 "from " FROMDIR 3 "to " TODIR T) + else (PRINTOUT T " from " FROMDIR T 3 "(but not writing)" T]) + +(IMPORTFONTS.ANNOUNCE + [LAMBDA (I FS) (* ; "Edited 12-Sep-2026 09:41 by rmk") + (PRINTOUT T .I3 I ". " (FSPROP FS FSFAMILY) + " " .I2 (FSPROP FS FSSIZE) + " " + (FONTFACETOATOM (FSPROP FS FSFACE]) + +(IMPORTFONTS.REPORT + [LAMBDA (PHASE TOFILE NOTINSTANTIATED CHANGED FROMSIZE THISTIME FSPECCOLS) + (* ; "Edited 12-Sep-2026 09:49 by rmk") + (LET (TOSIZE) + (if NOTINSTANTIATED + then (PRINTOUT T .TAB (IPLUS FSPECCOLS 5) + "No instantiated charsets" .TAB (IPLUS FSPECCOLS 20) + .F7.2 THISTIME) + elseif TOFILE + then (SETQ TOSIZE (GETFILEINFO TOFILE 'LENGTH)) + (SELECTQ PHASE + (IMPORT (PRINTOUT T .TAB (IPLUS FSPECCOLS 5) + .I6 TOSIZE " " .F7.2 THISTIME)) + ((MCCS COMPLETE FAKE DEPLOY) + (if CHANGED + then (PRINTOUT T .TAB (IPLUS FSPECCOLS 5) + .I6 FROMSIZE " -> " .I6 TOSIZE " " .F6.2 THISTIME .TAB + (IPLUS FSPECCOLS 31) + .I5 + (IDIFFERENCE TOSIZE FROMSIZE)) + else (PRINTOUT T .TAB (IPLUS FSPECCOLS 7) + "Copied " .I6 TOSIZE " " .F6.2 THISTIME))) + NIL)) + (TERPRI T]) + +(IMPORTFONTS.EPILOGUE + [LAMBDA (PHASE RESULT DEVICE FROMDIRSIZE NNOCHARSETS TODIR TOTALTIME) + (* ; "Edited 12-Sep-2026 10:05 by rmk") + (SETQ TOTALTIME (FIXR (FQUOTIENT (IDIFFERENCE (CLOCK 0) + TOTALTIME) + 1000))) + (LET (TODIRSIZE) + (PRINTOUT T 4 (IDIFFERENCE (LENGTH RESULT) + NNOCHARSETS) + " font" + (CL:IF (IGEQ (LENGTH RESULT) + 2) + "s " + " ") + (SELECTQ PHASE + (IMPORT "imported") + (MCCS "recoded to MCCS") + (COMPLETE "completed") + (FAKE "faked") + (DEPLOY "deployed") + NIL)) + (if TODIR + then (SETQ TODIRSIZE (IMPORTFONTS.DIRSIZE PHASE DEVICE TODIR)) + (PRINTOUT T " and written in " TOTALTIME " seconds" 4 "Total size is " + (FIXR (FQUOTIENT TODIRSIZE 1024)) + " KB, grew by " + (FIXR (FQUOTIENT (IDIFFERENCE TODIRSIZE FROMDIRSIZE) + 1024)) + " KB" T) + (CL:UNLESS (EQ 0 NNOCHARSETS) + (PRINTOUT T 4 NNOCHARSETS " fonts had no character sets" T)) + (CL:WHEN (AND TODIR (IGEQ (LENGTH RESULT) + 5)) + (SETQ RESULT TODIR)) + else (PRINTOUT T " (but not written) in " TOTALTIME " seconds" T))) + RESULT]) + +(IMPORTFONTS.SHOWDRIBBLE + [LAMBDA (PHASE) (* ; "Edited 12-Sep-2026 10:04 by rmk") + (CL:WHEN (DRIBBLEFILE) + (PRINTOUT T "Dribbled to " (FULLNAME (DRIBBLEFILE)) + T) + [TEDIT (DRIBBLE) + 'Dribble NIL `(TITLE ,(CONCAT PHASE " font dribble" " " (DATE)) + LEAVETTY T READONLY QUIET PARABREAKCHARS NIL FONT DEFAULTFONT + OPENWIDTH ,(fetch (REGION WIDTH) of (WINDOWPROP (WFROMDS T) + 'REGION)) + OPENHEIGHT + ,(fetch (REGION HEIGHT) of (WINDOWPROP (WFROMDS T) + 'REGION])]) +) +(DEFINEQ + (IMPORTFONTS.AVAILABLE - [LAMBDA (PHASE FONTSPEC FROMDIR) (* ; "Edited 31-Aug-2026 22:33 by rmk") + [LAMBDA (PHASE FONTSPEC FROMDIR) (* ; "Edited 11-Sep-2026 17:54 by rmk") + (* ; "Edited 31-Aug-2026 22:33 by rmk") (* ; "Edited 4-May-2026 00:00 by rmk") (* ; "Edited 22-Mar-2026 13:36 by rmk") (RESETLST - [RESETSAVE (FONTDEVICEPROP FONTSPEC 'FONTDIRECTORIES (IMPORTFONTS.DIRECTORY FONTSPEC FROMDIR - PHASE)) - `(PROGN (FONTDEVICEPROP ',FONTSPEC 'FONTDIRECTORIES OLDVALUE] (IMPORTFONTS.NOCACHE) - (\SEARCHFONTFILES FONTSPEC))]) + (FONTSAVAILABLE FONTSPEC NIL NIL NIL NIL 'ONLY))]) (IMPORTFONTS.EXISTS? - [LAMBDA (PHASE FONTSPEC FROMDIR) (* ; "Edited 9-Jul-2026 08:56 by rmk") + [LAMBDA (PHASE FONTSPEC FROMDIR) (* ; "Edited 11-Sep-2026 09:36 by rmk") + (* ; "Edited 9-Jul-2026 08:56 by rmk") (* ; "Edited 4-May-2026 00:00 by rmk") (* ; "Edited 22-Mar-2026 14:55 by rmk") (RESETLST - [RESETSAVE (FONTDEVICEPROP FONTSPEC 'FONTDIRECTORIES (IMPORTFONTS.DIRECTORY FONTSPEC FROMDIR - PHASE)) - `(PROGN (FONTDEVICEPROP ',FONTSPEC 'FONTDIRECTORIES OLDVALUE] + (IMPORTDEVICEPROP FONTSPEC 'FONTDIRECTORIES (IMPORTFONTS.DIRECTORY FONTSPEC FROMDIR PHASE)) (IMPORTFONTS.NOCACHE) (CL:IF (FONTEXISTS? FONTSPEC NIL NIL NIL NIL T) FONTSPEC))]) @@ -646,6 +672,14 @@ (SETQ FONT (FONTCREATE.SLUGFD FONTSPEC FONT))) (CL:VALUES FONT FROMFILE]) ) +(DECLARE%: DONTEVAL@LOAD +(DECLARE%: EVAL@COMPILE + +(PUTPROPS IMPORTDEVICEPROP MACRO [(DEVICE PROP IMPORTVALUE) + (RESETSAVE (FONTDEVICEPROP DEVICE PROP IMPORTVALUE) + `(PROGN (FONTDEVICEPROP ',DEVICE PROP OLDVALUE]) +) +) @@ -653,15 +687,16 @@ (DEFINEQ -(IMPORT.DISPLAY - [LAMBDA (FONTSPECS) (* ; "Edited 4-May-2026 15:18 by rmk") +(IMPORTFONTS.DISPLAY + [LAMBDA (FONTSPECS) (* ; "Edited 8-Sep-2026 12:30 by rmk") + (* ; "Edited 4-May-2026 15:18 by rmk") (* ; "Edited 28-Mar-2026 23:08 by rmk") (* ; "Edited 18-Mar-2026 23:54 by rmk") - (IMPORTFONTS 'IMPORT FONTSPECS 'DISPLAY '{MEDLEY}/fonts/displayfonts/ NIL (FUNCTION - LEGACYDISPLAYFONT]) + (IMPORTFONTS 'IMPORT FONTSPECS 'DISPLAY NIL NIL (FUNCTION LEGACYDISPLAYFONT]) (LEGACYDISPLAYFONT - [LAMBDA (FONTSPEC FROMDIR) (* ; "Edited 29-Jul-2026 16:04 by rmk") + [LAMBDA (FONTSPEC FROMDIR) (* ; "Edited 11-Sep-2026 09:38 by rmk") + (* ; "Edited 29-Jul-2026 16:04 by rmk") (* ; "Edited 9-Jul-2026 12:17 by rmk") (* ; "Edited 3-May-2026 22:38 by rmk") (* ; "Edited 16-Apr-2026 22:37 by rmk") @@ -673,11 +708,8 @@ (SETQ FONTSPEC (\FONT.CHECKARGS FONTSPEC NIL NIL NIL 'DISPLAY T)) (RESETLST - [RESETSAVE (FONTDEVICEPROP 'DISPLAY 'FONTDIRECTORIES FROMDIR) - `(PROGN (FONTDEVICEPROP 'DISPLAY 'FONTDIRECTORIES OLDVALUE] - [RESETSAVE (FONTDEVICEPROP 'DISPLAY 'FONTEXTENSIONS '(DISPLAYFONT) - FROMDIR) - `(PROGN (FONTDEVICEPROP 'DISPLAY 'FONTEXTENSIONS OLDVALUE] + (IMPORTDEVICEPROP 'DISPLAY 'FONTDIRECTORIES FROMDIR) + (IMPORTDEVICEPROP 'DISPLAY 'FONTEXTENSIONS '(DISPLAYFONT)) (for CSNO CSINFO (NSFONTSPEC ← (CL:IF DONSDISPLAYSIZE (NSDISPLAYSIZE FONTSPEC FROMDIR) FONTSPEC)) from 0 to 255 first (SETQ FONT ( @@ -754,7 +786,7 @@ (FILESLOAD ACFONT) (DEFINEQ -(IMPORT.POSTSCRIPT +(IMPORTFONTS.POSTSCRIPT [LAMBDA (FONTSPECS NODRIBBLE) (* ; "Edited 4-Sep-2026 20:45 by rmk") (* ; "Edited 1-Sep-2026 22:53 by rmk") (* ; "Edited 4-May-2026 15:18 by rmk") @@ -764,7 +796,7 @@ 'POSTSCRIPT NIL NIL (FUNCTION PSCFONT.TO.FONTDESCRIPTOR) NODRIBBLE]) -(IMPORT.INTERPRESS +(IMPORTFONTS.INTERPRESS [LAMBDA (FONTSPECS) (* ; "Edited 4-Sep-2026 21:48 by rmk") (IMPORTFONTS 'IMPORT FONTSPECS 'INTERPRESS NIL NIL (FUNCTION IPFONT.TO.FONTDESCRIPTOR]) ) @@ -812,7 +844,8 @@ (DEFINEQ (PEF - [LAMBDA (PHASES FONTSPEC CHARSET) (* ; "Edited 5-May-2026 12:20 by rmk") + [LAMBDA (PHASES FONTSPEC CHARSET) (* ; "Edited 12-Sep-2026 14:37 by rmk") + (* ; "Edited 5-May-2026 12:20 by rmk") (* ; "Edited 4-May-2026 08:27 by rmk") (* ; "Edited 12-Apr-2026 19:32 by rmk") (* ; "Edited 30-Mar-2026 09:14 by rmk") @@ -823,38 +856,39 @@ (if (type? FONTSPEC FONTSPEC) then (SETQ FONTSPEC (\FONT.CHECKARGS FONTSPEC NIL NIL NIL NIL T)) else (SETQ FONTSPEC (FONTSPECFROMFILENAME FONTSPEC))) - (for PHASE TITLETAG CHARSETNAME DIR FONTFILE inside PHASES - do (* ; + (for PHASE TITLETAG CHARSETNAME DIR FONTFILE FONT inside PHASES + collect (* ;  "Some phases may not have some charsets") - (SETQ CHARSET (if (EQ CHARSET T) - then (for C in (MEDLEYFONT.GETFILEPROP FONTFILE 'CHARSET) - unless (OR (KANJICHARSETP C) - (UNIHANCHARSETP C)) collect C) - elseif (CHARSET.DECODE CHARSET) - else 0)) - (if (LISTP CHARSET) - then (for C in CHARSET do (PEF PHASE FONTSPEC C)) - elseif (EQ PHASE 'DEPLOY) - then (EDITFONT FONTSPEC CHARSET NIL NIL "Deployed") - else (SETQ DIR (IMPORTFONTS.DIRECTORY FONTSPEC NIL PHASE)) - (SETQ FONTFILE (MEDLEYFONT.FILENAME FONTSPEC DIR)) - (if (NLSETQ (MEDLEYFONT.FILEP FONTFILE)) - then (SETQ TITLETAG (CL:IF (EQ PHASE 'MCCS) - 'MCCS - (L-CASE PHASE T))) - (SETQ CHARSETNAME (CHARSET.ENCODE CHARSET)) - (CL:UNLESS (OCTALNUM? CHARSETNAME) - (SETQ TITLETAG (CONCAT CHARSETNAME " " TITLETAG))) - (if [CAR (NLSETQ (RESETLST - (IMPORTFONTS.CONTEXT PHASE DIR NIL (fetch (FONTSPEC - FSDEVICE) - of FONTSPEC)) - (EDITFONT (MEDLEYFONT.READ.FONT FONTFILE CHARSET) - CHARSET NIL NIL TITLETAG))] - else (PRINTOUT T "Charset " (OCTALSTRING CHARSET) - " of " FONTSPEC " not found in " DIR T) - NIL) - else (PRINTOUT T FONTSPEC " not found in " DIR T]) + (SETQ CHARSET (if (EQ CHARSET T) + then (for C in (MEDLEYFONT.GETFILEPROP FONTFILE 'CHARSET) + unless (OR (KANJICHARSETP C) + (UNIHANCHARSETP C)) collect C) + elseif (CHARSET.DECODE CHARSET) + else 0)) + (if (LISTP CHARSET) + then (for C in CHARSET do (PEF PHASE FONTSPEC C)) + elseif (EQ PHASE 'DEPLOY) + then (SETQ FONT (EDITFONT FONTSPEC CHARSET NIL NIL "Deployed")) + else (SETQ DIR (IMPORTFONTS.DIRECTORY FONTSPEC NIL PHASE)) + (SETQ FONTFILE (MEDLEYFONT.FILENAME FONTSPEC DIR)) + (if (NLSETQ (MEDLEYFONT.FILEP FONTFILE)) + then (SETQ TITLETAG (CL:IF (EQ PHASE 'MCCS) + 'MCCS + (L-CASE PHASE T))) + (SETQ CHARSETNAME (CHARSET.ENCODE CHARSET)) + (CL:UNLESS (OCTALNUM? CHARSETNAME) + (SETQ TITLETAG (CONCAT CHARSETNAME " " TITLETAG))) + (if [CAR (NLSETQ (RESETLST + (IMPORTFONTS.CONTEXT PHASE DIR NIL + (fetch (FONTSPEC FSDEVICE) of FONTSPEC)) + (SETQ FONT (EDITFONT (MEDLEYFONT.READ.FONT FONTFILE + CHARSET) + CHARSET NIL NIL TITLETAG)))] + else (PRINTOUT T "Charset " (OCTALSTRING CHARSET) + " of " FONTSPEC " not found in " DIR T) + NIL) + else (PRINTOUT T FONTSPEC " not found in " DIR T))) + (LIST PHASE FONT]) (AEF [LAMBDA (FONTSPEC CHARSET CLOSE) (* ; "Edited 4-May-2026 08:22 by rmk") @@ -915,14 +949,6 @@ (* ; "Edited 1-Mar-2026 23:56 by rmk") (* ; "Edited 27-Feb-2026 14:24 by rmk") (PEF 'DEPLOY FONTSPEC CHARSET]) - -(EFCLOSE - [LAMBDA NIL (* ; "Edited 12-Jul-2026 13:59 by rmk") - (* ; "Edited 9-Oct-2025 19:48 by rmk") - (for W in (OPENWINDOWS) when [OR (AND (WINDOWPROP W 'FONT) - (WINDOWPROP W 'CHARITEMS)) - (EQMEMB 'EDITBMCLOSEFN (WINDOWPROP W 'CLOSEFN] - do (CLOSEW W]) ) (DEFINEQ @@ -1012,17 +1038,24 @@ ) (FILESLOAD EDITFONT) + + (* ; + "Could point to a separate fontsource repo") + +(CL:UNLESS (PSEUDOHOSTP 'FONTSOURCE) + (PSEUDOHOST 'FONTSOURCE '{MEDLEY}/internal/fonts/)) (DECLARE%: DONTCOPY - (FILEMAP (NIL (1253 36473 (IMPORTFONTS 1263 . 15137) (FONT.TO.MCCS 15139 . 17389) ( -IMPORTFONTS.FONTSPECS 17391 . 26342) (IMPORTFONTS.CONTEXT 26344 . 30053) (IMPORTFONTS.NOCACHE 30055 . -30306) (IMPORTFONTS.DIRECTORY 30308 . 32659) (IMPORTFONTS.CLEAR 32661 . 35207) (IMPORTFONTS.SUBDIR -35209 . 35858) (IMPORTFONTS.DIRSIZE 35860 . 36471)) (36474 37927 (IMPORTFONTS.AVAILABLE 36484 . 37182) - (IMPORTFONTS.EXISTS? 37184 . 37925)) (37928 44711 (FAKEFACE 37938 . 41675) (FAKEFACE.FROMFILE 41677 - . 43918) (FAKEFACE.FROMFONT 43920 . 44709)) (44755 51343 (IMPORT.DISPLAY 44765 . 45303) ( -LEGACYDISPLAYFONT 45305 . 48590) (NSDISPLAYSIZE 48592 . 51341)) (51397 52378 (IMPORT.POSTSCRIPT 51407 - . 52147) (IMPORT.INTERPRESS 52149 . 52376)) (52407 54739 (IPF 52417 . 53211) (IPFSIZES 53213 . 54737) -) (54740 63068 (PEF 54750 . 58119) (AEF 58121 . 58844) (IEF 58846 . 59548) (MEF 59550 . 60250) (CEF -60252 . 60956) (FEF 60958 . 61876) (DEF 61878 . 62580) (EFCLOSE 62582 . 63066)) (63069 68776 ( -SHOWCHARS 63079 . 65109) (CSSOURCE 65111 . 65824) (FONTDEFFONTS 65826 . 66937) (FLATCHARCOERCIONS -66939 . 68774))))) + (FILEMAP (NIL (1834 30731 (IMPORTFONTS 1844 . 9078) (FONT.TO.MCCS 9080 . 11330) (IMPORTFONTS.FONTSPECS + 11332 . 20308) (IMPORTFONTS.CONTEXT 20310 . 24065) (IMPORTFONTS.NOCACHE 24067 . 24318) ( +IMPORTFONTS.DIRECTORY 24320 . 27568) (IMPORTFONTS.CLEAR 27570 . 30116) (IMPORTFONTS.DIRSIZE 30118 . +30729)) (30732 36712 (IMPORTFONTS.PREAMBLE 30742 . 32465) (IMPORTFONTS.ANNOUNCE 32467 . 32749) ( +IMPORTFONTS.REPORT 32751 . 34116) (IMPORTFONTS.EPILOGUE 34118 . 35844) (IMPORTFONTS.SHOWDRIBBLE 35846 + . 36710)) (36713 37992 (IMPORTFONTS.AVAILABLE 36723 . 37292) (IMPORTFONTS.EXISTS? 37294 . 37990)) ( +37993 44776 (FAKEFACE 38003 . 41740) (FAKEFACE.FROMFILE 41742 . 43983) (FAKEFACE.FROMFONT 43985 . +44774)) (45120 51624 (IMPORTFONTS.DISPLAY 45130 . 45676) (LEGACYDISPLAYFONT 45678 . 48871) ( +NSDISPLAYSIZE 48873 . 51622)) (51678 52669 (IMPORTFONTS.POSTSCRIPT 51688 . 52433) ( +IMPORTFONTS.INTERPRESS 52435 . 52667)) (52698 55030 (IPF 52708 . 53502) (IPFSIZES 53504 . 55028)) ( +55031 63096 (PEF 55041 . 58633) (AEF 58635 . 59358) (IEF 59360 . 60062) (MEF 60064 . 60764) (CEF 60766 + . 61470) (FEF 61472 . 62390) (DEF 62392 . 63094)) (63097 68804 (SHOWCHARS 63107 . 65137) (CSSOURCE +65139 . 65852) (FONTDEFFONTS 65854 . 66965) (FLATCHARCOERCIONS 66967 . 68802))))) STOP diff --git a/library/IMPORTFONTS.LCOM b/library/IMPORTFONTS.LCOM index 383e0711dbd0d1713a80e7e6b3315a1807702f09..60c59b01e3547ee5421fd1765f46f8171d39a60a 100644 GIT binary patch delta 9640 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 Tgnx9!+5CAO*3WiUJoEH_DXlA0 delta 8224 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 Xx%T8fBK1nki_>)AdZr`iWJCW8qZHq@ diff --git a/library/IMPORTFONTS.TEDIT b/library/IMPORTFONTS.TEDIT index 652b45062a56996526da9a6bd04d7d657245b19e..7d7ae6cd367f5249a25f61d002db5c5db62e9176 100644 GIT binary patch delta 592 zcmY*W&ui2`7|qz-?P5H&P+L*^;exKZZ7g2Ii1=YWYpvAL7SHR>Tx+)vhvut>dH(424`h*n!UGs|htibTvSyQ=^?1wr^rDiozUJb!hiYp;9I z)i(S1kz?bL=Z?;TgBvyMc-Zz`&%xuH@}T|koP1!KNN!ws-)wI=LjYCeleyD|`A=5W z=;BHBb785vv)E`xtjt1rck#4wdB{kp|Bh?2*3=^%qvMP%1g|doG!78CnN*t)Y81CN`qN{qsxAU-PuGl3cY zlaq8_G1_kS)qT#$Xt3E-pN)~v(>K6BC`1qH(aFvR%0f{tjv=mAIVlfbF)+v(GCZo< F1puhUU+Dk< diff --git a/library/POSTSCRIPTSTREAM b/library/POSTSCRIPTSTREAM index 416f0f1ac..ed1d933da 100644 --- a/library/POSTSCRIPTSTREAM +++ b/library/POSTSCRIPTSTREAM @@ -1,12 +1,14 @@ (DEFINE-FILE-INFO :PACKAGE "INTERLISP" :READTABLE "INTERLISP" :BASE 10) -(FILECREATED " 6-Sep-2026 22:16:31" {MEDLEY}POSTSCRIPTSTREAM.;113 273849 +(FILECREATED "13-Sep-2026 22:11:23" {MEDLEY}POSTSCRIPTSTREAM.;143 271431 :EDIT-BY rmk - :CHANGES-TO (FNS POSTSCRIPT.CHARSET) + :CHANGES-TO (FNS \POSTSCRIPT.OUTCHARFN POSTSCRIPT.INIT PSCFONT.TO.FONTDESCRIPTOR + \POSTSCRIPT.PRINTSLUG) + (MACROS \POSTSCRIPT.NEWLINE?) - :PREVIOUS-DATE " 5-Sep-2026 11:02:23" {MEDLEY}POSTSCRIPTSTREAM.;111) + :PREVIOUS-DATE "13-Sep-2026 12:42:56" {MEDLEY}POSTSCRIPTSTREAM.;137) (PRETTYCOMPRINT POSTSCRIPTSTREAMCOMS) @@ -29,7 +31,7 @@ [COMS (* ; "Deprecated ") (FNS OLDPOSTSCRIPT.FONTCREATE \POSTSCRIPT.SPECIALFONT.SCALEDWIDTHS PSCFONT.COERCEFILE PSCFONT.SPELLFILE) - (GLOBALVARS POSTSCRIPT.FONT.ALIST) + (GLOBALVARS POSTSCRIPT.FONT.ALIST \POSTSCRIPT.MAX.WILD.FONTSIZE) (ADDVARS (POSTSCRIPT.FONT.ALIST (HELVETICA . HELVETICA) (HELVETICAD . HELVETICA) (TIMESROMAN . TIMES) @@ -43,8 +45,7 @@ (LOGO . HELVETICA) (OPTIMA . PALATINO) (TITAN . COURIER] - (GLOBALVARS \POSTSCRIPT.MAX.WILD.FONTSIZE POSTSCRIPTFONTEXTENSIONS - POSTSCRIPTFONTDIRECTORIES POSTSCRIPTFONTCOERCIONS) + (GLOBALVARS POSTSCRIPTFONTEXTENSIONS POSTSCRIPTFONTDIRECTORIES POSTSCRIPTFONTCOERCIONS) [ADDVARS (POSTSCRIPTCHARSETFNS (MEDLEYFONT MEDLEYFONT.FILEP MEDLEYFONT.GETCHARSET) (PSCFONT PSCFONT.FILEP SHOULDNT)) (POSTSCRIPTFILETEMPLATES (PSCFONT (FAMILY SIZE - FACE) @@ -74,20 +75,7 @@ (PSC . BINARY) (PSF . BINARY) (PSCFONT . BINARY) - (POSTSCRIPT . BINARY)) - (*DISPLAY-FONT-NAME-MAP* (AVANTGARDE-BOOK . AB) - (AVANTGARDE-DEMI . AD) - (BECKMAN . BM) - (BOOKMAN-LIGHT . BL) - (BOOKMAN-DEMI . BD) - (COURIER . CO) - (HELVETICA-NARROW . HN) - (NEWCENTURYSCHLBK . NC) - (PALATINO . PA) - (TIMES . TS) - (ZAPFCHANCERY-MEDIUM . ZM) - (ZAPFCHANCERY . ZC) - (ZAPFDINGBATS . ZD] + (POSTSCRIPT . BINARY] (FNS OPENPOSTSCRIPTSTREAM CLOSEPOSTSCRIPTSTREAM) (INITVARS (*POSTSCRIPT-FILE-TYPE* 'BINARY)) (FNS POSTSCRIPT.HARDCOPYW POSTSCRIPT.TEDIT POSTSCRIPTFILEP MAKEEPSFILE) @@ -112,18 +100,19 @@ (FNS \POSTSCRIPT.CHANGECHARSET \POSTSCRIPT.OUTCHARFN \POSTSCRIPT.PRINTSLUG \POSTSCRIPT.SPECIALOUTCHARFN \UPDATE.PSC \POSTSCRIPT.ACCENTFN \POSTSCRIPT.ACCENTPAIR) + (MACROS \POSTSCRIPT.NEWLINE?) (* ;; "Spacing-character (M-quad, etc.) and ballot-box-check &c special-case functions") (FNS \PSC.SPACEDISP \PSC.SPACEWID \PSC.SYMBOLS) (* ;; - "The mapping of MCCS characters to Postscript renderings, both as an AList and as a hashtable") + "The mapping of XCCS$ characters to Postscript renderings, both as an AList and as a hashtable") - (FNS \POSTSCRIPT.MCCSHASH) + (FNS \POSTSCRIPT.XCCS$HASH) (VARS (*POSTSCRIPT-UNACCENTED-FONTS* '(Dancer ZapfDingbats "Dancer" "ZapfDingbats")) - *POSTSCRIPT-MCCS-TRANSLATIONS*) - (GLOBALVARS *POSTSCRIPT-MCCS-HASH*)) + *POSTSCRIPT-XCCS$-TRANSLATIONS*) + (GLOBALVARS *POSTSCRIPT-XCCS$-HASH*)) (DECLARE%: EVAL@COMPILE DONTCOPY (MACROS \POSTSCRIPT.FRACTION)) (VARS (\POSTSCRIPT.ORIENTATION.MENU (create MENU ITEMS _ '(("Landscape" T "Print this file/document/image in Landscape Orientation" @@ -216,7 +205,7 @@ (DATATYPE \POSTSCRIPTDATA ((POSTSCRIPTACCENTED FLAG) (* ; - "T if we're to do MCCS-to-PS translations on characters in the current font.") + "T if we're to do XCCS$-to-PS translations on characters in the current font.") POSTSCRIPTFONT (* ;  "The fontdescriptor of the current font") POSTSCRIPTX (* ; "The current X") @@ -263,8 +252,8 @@ POSTSCRIPTPENDINGROTATION (* ;  "Rotation to take effect at next SETXFORM.") POSTSCRIPTFONTSUSED (* ; "List of FONTIDs of the fonts that've been used before. This is used to control the re-encoding of fonts for accented-character rendering.") - (POSTSCRIPTMCCSCHARSET BYTE) (* ; - "Current MCCSCHARSET--widths are in POSTSCRIPTWIDTHS") + (POSTSCRIPTXCCS$CHARSET BYTE) (* ; + "Current XCCS$ CHARSET--widths are in POSTSCRIPTWIDTHS") (POSTSCRIPTNATURALSPACEWIDTH WORD) (* ;  "Width of the space in the current font, used to compute the scaled space width.") ) @@ -380,7 +369,9 @@ (DEFINEQ (POSTSCRIPT.INIT - [LAMBDA NIL (* ; "Edited 31-Aug-2026 11:05 by rmk") + [LAMBDA NIL (* ; "Edited 13-Sep-2026 21:44 by rmk") + (* ; "Edited 9-Sep-2026 00:34 by rmk") + (* ; "Edited 31-Aug-2026 11:05 by rmk") (* ; "Edited 31-Dec-2025 22:38 by rmk") (* ; "Edited 9-Sep-2025 21:57 by rmk") (* ; "Edited 22-Aug-2025 21:34 by rmk") @@ -390,57 +381,47 @@ (* ;; "Add POSTSCRIPT font descriptions to the active font profile.") - [MAPC - [CL:REMOVE-DUPLICATES (NCONC (for FD in FONTDEFS - join (for FP in (CDR (ASSOC 'FONTPROFILE (CDR FD))) - collect (CAR FP))) - '(FONT7 FONT6 FONT5 FONT4 FONT3 FONT2 FONT1 BOLDFONT LITTLEFONT - BIGFONT PRETTYCOMFONT COMMENTFONT USERFONT SYSTEMFONT - CLISPFONT LAMBDAFONT CHANGEFONT DEFAULTFONT] - (FUNCTION (LAMBDA (CLASS) - (LET - (COPYFD OLDPSCFD) - (if (BOUNDP CLASS) - then (SETQ CLASS (EVALV CLASS)) - (if (TYPEP CLASS 'FONTCLASS) - then (SETQ COPYFD (OR (fetch (FONTCLASS INTERPRESSFD) of CLASS) - (fetch (FONTCLASS DISPLAYFD) of CLASS))) - (if (SETQ OLDPSCFD (ASSOC 'POSTSCRIPT (fetch (FONTCLASS OTHERFDS) - of CLASS))) - then [if (NOT (CDR OLDPSCFD)) - then (RPLACD OLDPSCFD (if (LISTP COPYFD) - then COPYFD - else (FONTUNPARSE COPYFD] - else (push (fetch (FONTCLASS OTHERFDS) of CLASS) - (CONS 'POSTSCRIPT (if (LISTP COPYFD) - then COPYFD - else (FONTUNPARSE COPYFD] - [FOR FD IN FONTDEFS - DO (FOR FP IN (CDR (ASSOC 'FONTPROFILE (CDR FD))) - DO (COND - ((ASSOC 'POSTSCRIPT (CL:NTHCDR 5 FP)) - - (* ;; "There's already a postscript spec, so leave it be.") - - ) - (T (NCONC1 FP `(POSTSCRIPT ,(OR (CL:FIFTH FP) - (CL:FOURTH FP) - (CL:THIRD FP] + [for CLASS COPYFD OLDPSCFD + in [CL:REMOVE-DUPLICATES (NCONC (for FD in FONTDEFS + join (for FP in (CDR (ASSOC 'FONTPROFILE (CDR FD))) + collect (CAR FP))) + '(FONT7 FONT6 FONT5 FONT4 FONT3 FONT2 FONT1 BOLDFONT + LITTLEFONT BIGFONT PRETTYCOMFONT COMMENTFONT USERFONT + SYSTEMFONT CLISPFONT LAMBDAFONT CHANGEFONT DEFAULTFONT + ] when (BOUNDP CLASS) + do (SETQ CLASS (EVALV CLASS)) + (CL:WHEN (TYPEP CLASS 'FONTCLASS) + (SETQ COPYFD (OR (fetch (FONTCLASS INTERPRESSFD) of CLASS) + (fetch (FONTCLASS DISPLAYFD) of CLASS))) + [if (SETQ OLDPSCFD (ASSOC 'POSTSCRIPT (fetch (FONTCLASS OTHERFDS) of CLASS))) + then (CL:UNLESS (CDR OLDPSCFD) + (RPLACD OLDPSCFD (if (LISTP COPYFD) + then COPYFD + else (FONTUNPARSE COPYFD)))) + else (push (fetch (FONTCLASS OTHERFDS) of CLASS) + (CONS 'POSTSCRIPT (if (LISTP COPYFD) + then COPYFD + else (FONTUNPARSE COPYFD])] + [for FD in FONTDEFS do (for FP in (CDR (ASSOC 'FONTPROFILE (CDR FD))) + unless (ASSOC 'POSTSCRIPT (CL:NTHCDR 5 FP)) + do + (* ;; "If there's already a postscript spec, leave it be.") + + (NCONC1 FP `(POSTSCRIPT ,(OR (CL:FIFTH FP) + (CL:FOURTH FP) + (CL:THIRD FP] (* ;; "Eliminate any existing postscript fonts, to start with a clean slate if reinitializing.") (FLUSHFONTCACHE NIL '* '* '* '* 'POSTSCRIPT) - (SETQ \POSTSCRIPT.CHARTYPE (CL:MAKE-ARRAY 256 :INITIAL-ELEMENT T)) + (FONTPROFILE.ADDDEVICE 'POSTSCRIPT 'INTERPRESS) - (* ;; "\POSTSCRIPT.OUTCHARFN uses this array to quickly determine whether a character needs any special processing -- T means yes") + (* ;; "\POSTSCRIPT.OUTCHARFN uses this array to quickly determine whether a character needs any special processing -- default T means yes. ") + (SETQ \POSTSCRIPT.CHARTYPE (CL:MAKE-ARRAY 256 :INITIAL-ELEMENT T)) (for x from (CHARCODE SP) to 126 unless (FMEMB x (CHARCODE (%( %) \))) do (CL:SETF (CL:AREF \POSTSCRIPT.CHARTYPE x) NIL)) - - (* ;; "RMK: Maybe the following is equivalent to alot of the stuff above??") - - (FONTPROFILE.ADDDEVICE 'POSTSCRIPT 'INTERPRESS) (SETQ \POSTSCRIPTIMAGEOPS (create IMAGEOPS IMAGETYPE _ 'POSTSCRIPT IMCLOSEFN _ (FUNCTION CLOSEPOSTSCRIPTSTREAM) @@ -480,8 +461,8 @@ IMDRAWPOINT _ (FUNCTION \DRAWPOINT.PSC) IMPUSHSTATE _ (FUNCTION \DSPPUSHSTATE.PSC) IMPOPSTATE _ (FUNCTION \DSPPOPSTATE.PSC))) - (SETQ *POSTSCRIPT-MCCS-HASH* (HARRAY 255)) - (\POSTSCRIPT.MCCSHASH *POSTSCRIPT-MCCS-TRANSLATIONS*]) + (SETQ *POSTSCRIPT-XCCS$-HASH* (HARRAY 255)) + (\POSTSCRIPT.XCCS$HASH *POSTSCRIPT-XCCS$-TRANSLATIONS*]) (POSTSCRIPT.PUTRGBCOLOR [LAMBDA (STREAM COLOR EOL?) (* ; "Edited 5-Jun-2025 14:06 by mth") @@ -566,7 +547,9 @@ (DEFINEQ (POSTSCRIPT.FONTSAVAILABLE - [LAMBDA (FONTSPEC) (* ; "Edited 4-Sep-2026 09:20 by rmk") + [LAMBDA (FONTSPEC) (* ; "Edited 13-Sep-2026 11:52 by rmk") + (* ; "Edited 10-Sep-2026 15:01 by rmk") + (* ; "Edited 4-Sep-2026 09:20 by rmk") (* ; "Edited 3-Sep-2026 00:18 by rmk") (* ; "Edited 1-Sep-2026 15:43 by rmk") (* ; "Edited 22-Aug-2026 22:30 by rmk") @@ -576,39 +559,25 @@ (* ;; "Postscript only has font files for %"raw%" postscript families that Medley font families are mapped to by POSTSCRIPTFONTCOERCIONS. Therefore the search doesn't care about the given family, just looks at the corresponding raw files that exist in the directory. ") - (LET [(SIZE (fetch (FONTSPEC FSSIZE) of FONTSPEC)) - (FONTSAVAILABLE (\SEARCHFONTFILES (COERCEFONTSPEC FONTSPEC] - - (* ;; "Invert the coercion: add the Medley families that coerce to postscript font-files (GACHA for COURIER)") - - [for FS (COERCIONS _ (FONTDEVICEPROP FONTSPEC 'FONTCOERCIONS)) in FONTSAVAILABLE - do (for C (FAM _ (FSPROP FS FSFAMILY)) in COERCIONS - when (EQ FAM (CAR (CADR C))) do - (* ;; - "C is (medley (ps 0))--match ps return medley") - - (push FONTSAVAILABLE - (create FONTSPEC using FS FSFAMILY _ - (CAR C] - (CL:UNLESS (EQ '* FAMILY) (* ; - "Filter down to an actual requested family") - (SETQ FONTSAVAILABLE (for FS in FONTSAVAILABLE when (EQ FAMILY (FSPROP FS FSFAMILY)) - collect FS))) - (if (EQ '* SIZE) - then - (* ;; "If SIZE was wildcarded, provide list of pointsizes for the Postscript scaled fonts (those with a 0 size descriptor file)") - - (* ;; - "RMK: Maybe just provide the sizes that exist for all the corresponding display fonts?") - - [SETQ FONTSAVAILABLE (for FS in FONTSAVAILABLE - join (for S from 2 to \POSTSCRIPT.MAX.WILD.FONTSIZE - collect (create FONTSPEC using FS FSSIZE _ S] - elseif (NEQ SIZE 0) - then (* ; - "Replace the 0 with the requested SIZE.") - (for FS in FONTSAVAILABLE do (replace (FONTSPEC FSSIZE) of FS with SIZE))) - (CL:REMOVE-DUPLICATES FONTSAVAILABLE :TEST (FUNCTION EQUAL]) + (LET* [(FAMILY (FSPROP FONTSPEC FSFAMILY)) + (SIZE (FSPROP FONTSPEC FSSIZE)) + (FOUND (\SEARCHFONTFILES (CONS FONTSPEC (COERCEFONTSPEC FONTSPEC] + + (* ;; "Invert the coercion: add the Medley families that coerce to postscript font-files (GACHA for COURIER)") + + [for FS (COERCIONS _ (FONTDEVICEPROP FONTSPEC 'FONTCOERCIONS)) in FOUND + do (for C in COERCIONS unless (EQ FAMILY '*) when (EQ FAMILY (CAR (CADR C))) + do + (* ;; "C is (medley (ps 0))--match ps return medley") + + (push FOUND (create FONTSPEC using FS FSFAMILY _ (CAR C] + (CL:UNLESS (EQ '* FAMILY) (* ; + "Then filter down to an actual requested family") + (SETQ FOUND (for FS in FOUND when (EQ FAMILY (FSPROP FS FSFAMILY)) collect FS))) + (CL:UNLESS (MEMB SIZE '(0 *)) (* ; "If 0 wasn't requested") + (for FS in FOUND when (EQ 0 (FSPROP FS FSSIZE)) do (replace (FONTSPEC FSSIZE) + of FS with SIZE))) + (CL:REMOVE-DUPLICATES FOUND :TEST (FUNCTION EQUAL]) (PSCFONT.FILEP [LAMBDA (FILE) (* ; "Edited 31-Aug-2026 01:00 by rmk") @@ -692,7 +661,8 @@ FONT)]) (PSCFONT.TO.FONTDESCRIPTOR - [LAMBDA (FONTSPEC FROMDIR) (* ; "Edited 4-Sep-2026 20:45 by rmk") + [LAMBDA (FONTSPEC FROMDIR) (* ; "Edited 13-Sep-2026 16:17 by rmk") + (* ; "Edited 4-Sep-2026 20:45 by rmk") (* ; "Edited 2-Sep-2026 14:34 by rmk") (* ; "Edited 29-Jul-2026 16:04 by rmk") (* ; "Edited 9-Jul-2026 12:17 by rmk") @@ -717,7 +687,7 @@ (SETQ DESCENT (fetch (PSCFONT DESCENT) of PSCFONT)) (* ;  "We don't need to save the PSCFONT widths") - (SETQ FD + [SETQ FD (create FONTDESCRIPTOR OTHERDEVICEFONTPROPS _ `((PSCFONT \, (create PSCFONT using PSCFONT WIDTHS _ NIL) )) @@ -730,14 +700,20 @@ FONTHEIGHT _ (IPLUS ASCENT DESCENT) FONTASCENT _ ASCENT FONTDESCENT _ DESCENT - FONTCHARENCODING _ 'MCCS)) + FONTCHARENCODING _ (SELECTQ FAMILY + (SYMBOL 'PSSYMBOL) + ((ZAPFCHANCERY ZAPFDINGBAT) + FAMILY) + 'XCCS$] + [replace (FONTDESCRIPTOR FONTAVGCHARWIDTH) of FD + with (FIXR (FTIMES 0.7 (FONTPROP FD 'HEIGHT] (\SETCHARSETINFO FD 0 (create CHARSETINFO CHARSETASCENT _ ASCENT CHARSETDESCENT _ DESCENT CHARSETNO _ 0)) (* ;  "Offsets should be removed from the declaration create--display specific") - (* ;; "PSCWIDTHSBLOCK preserves the values from the original postscript metrics. The widths for the corresponding MCCS codes, is incrementally installed into the WIDTHS of the CHARSETINFO. ") + (* ;; "PSCWIDTHSBLOCK preserves the values from the original postscript metrics. The widths for the corresponding XCCS$ codes, is incrementally installed into the WIDTHS of the CHARSETINFO. ") (SETQ PSCWIDTHSBLOCK (\CREATECSINFOELEMENT)) (for CH (WARRAY _ (fetch (PSCFONT WIDTHS) of PSCFONT)) from 0 to \MAXTHINCHAR @@ -751,9 +727,9 @@ T NIL NIL 'PSCFONT] (SETQ DINGWIDTHS (fetch (PSCFONT WIDTHS) of (PSCFONT.READFONT FILENAME)))) - (* ;; "Now run thru the mapping table, filling in the widths of the MCCS CODEs from the widths of the CODE2 postscript codes that will render them. ") + (* ;; "Now run thru the mapping table, filling in the widths of the XCCS$ CODEs from the widths of the CODE2 postscript codes that will render them. ") - [MAPHASH *POSTSCRIPT-MCCS-HASH* + [MAPHASH *POSTSCRIPT-XCCS$-HASH* (FUNCTION (LAMBDA (MAPPING CODE) (CL:UNLESS (\GETCHARSETINFO FD (\CHARSET CODE)) (* ; @@ -769,7 +745,7 @@ (SELECTQ KIND (NIL - (* ;; "Translating an MCCS CODE to a PSC char in CS 0.") + (* ;; "Translating an XCCS$ CODE to a PSC char in CS 0.") (\FSETCHARWIDTH FD CODE (\FGETWIDTH PSCWIDTHSBLOCK (\CHAR8CODE CODE2)))) @@ -780,7 +756,7 @@ CODE2]) (FUNCTION (* ;; - "This is fake and only works for the fractions. Need a better case. 164 is MCCS currency?") + "This is fake and only works for the fractions. Need a better case. 164 is XCCS$ currency?") [\FSETCHARWIDTH FD CODE (IPLUS (\FGETWIDTH PSCWIDTHSBLOCK 164) @@ -799,19 +775,23 @@ CODE2))) (PROGN - (* ;; "Skip APPLY*'s on this pass, waiting until normal characters get set up, so that widths of other MCCS 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 XCCS$ 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)") - [MAPHASH *POSTSCRIPT-MCCS-HASH* (FUNCTION (LAMBDA (MAPPING CODE) - (CL:WHEN (EQ (CAR MAPPING) - 'APPLY*) - (\FSETCHARWIDTH FD CODE - (APPLY* (CADDDR MAPPING) - FD - (CADR MAPPING))))] + [MAPHASH *POSTSCRIPT-XCCS$-HASH* (FUNCTION (LAMBDA (MAPPING CODE) + (CL:WHEN (EQ (CAR MAPPING) + 'APPLY*) + (\FSETCHARWIDTH FD CODE + (APPLY* (CADDDR MAPPING) + FD + (CADR MAPPING))))] + + (* ;; "Set up the slugs") + + (\SLUGSETUP FD) FD)]) ) (DEFINEQ @@ -1343,7 +1323,7 @@ ) (DECLARE%: DOEVAL@COMPILE DONTCOPY -(GLOBALVARS POSTSCRIPT.FONT.ALIST) +(GLOBALVARS POSTSCRIPT.FONT.ALIST \POSTSCRIPT.MAX.WILD.FONTSIZE) ) (ADDTOVAR POSTSCRIPT.FONT.ALIST (HELVETICA . HELVETICA) @@ -1361,8 +1341,7 @@ (TITAN . COURIER)) (DECLARE%: DOEVAL@COMPILE DONTCOPY -(GLOBALVARS \POSTSCRIPT.MAX.WILD.FONTSIZE POSTSCRIPTFONTEXTENSIONS POSTSCRIPTFONTDIRECTORIES - POSTSCRIPTFONTCOERCIONS) +(GLOBALVARS POSTSCRIPTFONTEXTENSIONS POSTSCRIPTFONTDIRECTORIES POSTSCRIPTFONTCOERCIONS) ) (ADDTOVAR POSTSCRIPTCHARSETFNS (MEDLEYFONT MEDLEYFONT.FILEP MEDLEYFONT.GETCHARSET) @@ -1401,20 +1380,6 @@ (PSF . BINARY) (PSCFONT . BINARY) (POSTSCRIPT . BINARY)) - -(ADDTOVAR *DISPLAY-FONT-NAME-MAP* (AVANTGARDE-BOOK . AB) - (AVANTGARDE-DEMI . AD) - (BECKMAN . BM) - (BOOKMAN-LIGHT . BL) - (BOOKMAN-DEMI . BD) - (COURIER . CO) - (HELVETICA-NARROW . HN) - (NEWCENTURYSCHLBK . NC) - (PALATINO . PA) - (TIMES . TS) - (ZAPFCHANCERY-MEDIUM . ZM) - (ZAPFCHANCERY . ZC) - (ZAPFDINGBATS . ZD)) (DEFINEQ (OPENPOSTSCRIPTSTREAM @@ -3326,7 +3291,8 @@ (DEFINEQ (\POSTSCRIPT.CHANGECHARSET - [LAMBDA (PSDATA CHARSET) (* ; "Edited 4-Sep-2026 15:40 by rmk") + [LAMBDA (PSDATA CHARSET) (* ; "Edited 13-Sep-2026 00:05 by rmk") + (* ; "Edited 4-Sep-2026 15:40 by rmk") (* ; "Edited 30-Aug-2025 23:24 by rmk") (* ; "Edited 29-Apr-93 13:51 by rmk:") @@ -3337,10 +3303,12 @@ (CSINFO (\INSURECHARSETINFO FONT CHARSET))) (UNINTERRUPTABLY (freplace POSTSCRIPTWIDTHS of PSDATA with (ffetch (CHARSETINFO WIDTHS) of CSINFO)) - (freplace POSTSCRIPTMCCSCHARSET of PSDATA with CHARSET))]) + (freplace POSTSCRIPTXCCS$CHARSET of PSDATA with CHARSET))]) (\POSTSCRIPT.OUTCHARFN - [LAMBDA (STREAM CHAR) (* ; "Edited 4-Sep-2026 15:46 by rmk") + [LAMBDA (STREAM CHAR) (* ; "Edited 13-Sep-2026 22:10 by rmk") + (* ; "Edited 9-Sep-2026 00:09 by rmk") + (* ; "Edited 4-Sep-2026 15:46 by rmk") (* ; "Edited 2-Sep-2026 14:35 by rmk") (* ; "Edited 30-Aug-2026 21:39 by rmk") (* ; "Edited 8-Sep-2025 09:50 by rmk") @@ -3356,12 +3324,15 @@ (DECLARE (GLOBALVARS \POSTSCRIPT.CHARTYPE) (LOCALVARS . T)) + (SETQ CHAR (MTOX$CODE CHAR)) (* ; + "POSTSCRIPT text fonts are XCCS$ encoded") (LET* ((IMAGEDATA (fetch (STREAM IMAGEDATA) of STREAM)) (XPOS (fetch (\POSTSCRIPTDATA POSTSCRIPTX) of IMAGEDATA)) (FONT (ffetch (\POSTSCRIPTDATA POSTSCRIPTFONT) of IMAGEDATA)) CHARWID NEWXPOS MAPPING) + (DECLARE (SPECVARS CHARWID NEWXPOS XPOS)) (CL:UNLESS (EQ (\CHARSET CHAR) - (ffetch POSTSCRIPTMCCSCHARSET of IMAGEDATA)) + (ffetch POSTSCRIPTXCCS$CHARSET of IMAGEDATA)) (* ;; "Switch character set so that we get the right char width.") @@ -3371,60 +3342,46 @@ (\FGETWIDTH (ffetch (\POSTSCRIPTDATA POSTSCRIPTWIDTHS) of IMAGEDATA) (\CHAR8CODE CHAR] - (* ;; "POSTSCRIPTACCENTED true if font has accented rendering characters in it; otherwise, a c-set 0 special font (SYMBOL, ZAPFDINGBATS...)") + (* ;; "POSTSCRIPTACCENTED true if font has accented rendering characters in it; otherwise, a c-set 0 special font (SYMBOL, ZAPFDINGBATS...) ") [COND [[OR (NOT (ffetch (\POSTSCRIPTDATA POSTSCRIPTACCENTED) of IMAGEDATA)) (AND (ILEQ CHAR 254) (NOT (CL:AREF \POSTSCRIPT.CHARTYPE CHAR] - (* ;; "OR is NIL if char is special in any way: Either font isn't supposed to be treated as an MCCS font (e.g. ZapfDingbats, which uses all the legal char positions for its own), or char itself is in cset 0 and ordinary") + (* ;; "OR is NIL if char is special in any way: Either font isn't supposed to be treated as an XCCS$ font (e.g. ZapfDingbats, which uses all the legal char positions for its own), or char itself is in cset 0 and ordinary") - [COND - ((IGREATERP (SETQ NEWXPOS (IPLUS XPOS CHARWID)) - (ffetch (\POSTSCRIPTDATA POSTSCRIPTRIGHTMARGIN) of IMAGEDATA)) - (\TERPRI.PSC STREAM) - (SETQ NEWXPOS (IPLUS (ffetch (\POSTSCRIPTDATA POSTSCRIPTX) of IMAGEDATA) - CHARWID] + (\POSTSCRIPT.NEWLINE?) (CL:UNLESS (ffetch (\POSTSCRIPTDATA POSTSCRIPTCHARSTOSHOW) of IMAGEDATA) (\UPDATE.PSC STREAM IMAGEDATA) (BOUT STREAM (CHARCODE %()) (freplace (\POSTSCRIPTDATA POSTSCRIPTCHARSTOSHOW) of IMAGEDATA with T)) - (COND - [(ILESSP CHAR (CHARCODE " ")) - (BOUT STREAM (CHARCODE \)) - [BOUT STREAM (IPLUS (CHARCODE 0) - (LOGAND 3 (LRSH CHAR 6] - [BOUT STREAM (IPLUS (CHARCODE 0) - (LOGAND 7 (LRSH CHAR 3] - (BOUT STREAM (IPLUS (CHARCODE 0) - (LOGAND 7 CHAR] - [(IGEQ CHAR 127) - (BOUT STREAM (CHARCODE \)) - [BOUT STREAM (IPLUS (CHARCODE 0) - (LOGAND 3 (LRSH CHAR 6] - [BOUT STREAM (IPLUS (CHARCODE 0) - (LOGAND 7 (LRSH CHAR 3] - (BOUT STREAM (IPLUS (CHARCODE 0) - (LOGAND 7 CHAR] - (T (SELCHARQ CHAR - ((%( %) \) - (BOUT STREAM (CHARCODE \)) - (BOUT STREAM CHAR)) - ((Leftarrow Uparrow Lowline Circumflex) - (* ; - "MCCS differs from 7-bit Ascii: push these to the hash table") - NIL) - (BOUT STREAM CHAR] - [(SETQ MAPPING (GETHASH CHAR *POSTSCRIPT-MCCS-HASH*)) + (if (ILESSP CHAR (CHARCODE " ")) + then (BOUT STREAM (CHARCODE \)) + [BOUT STREAM (IPLUS (CHARCODE 0) + (LOGAND 3 (LRSH CHAR 6] + [BOUT STREAM (IPLUS (CHARCODE 0) + (LOGAND 7 (LRSH CHAR 3] + (BOUT STREAM (IPLUS (CHARCODE 0) + (LOGAND 7 CHAR))) + elseif (IGEQ CHAR 127) + then (* ; "XCCS$ vs Ascii") + (BOUT STREAM (CHARCODE \)) + [BOUT STREAM (IPLUS (CHARCODE 0) + (LOGAND 3 (LRSH CHAR 6] + [BOUT STREAM (IPLUS (CHARCODE 0) + (LOGAND 7 (LRSH CHAR 3] + (BOUT STREAM (IPLUS (CHARCODE 0) + (LOGAND 7 CHAR))) + else (SELCHARQ CHAR + ((%( %) \) + (BOUT STREAM (CHARCODE \)) + (BOUT STREAM CHAR)) + (BOUT STREAM CHAR] + [(SETQ MAPPING (GETHASH CHAR *POSTSCRIPT-XCCS$-HASH*)) (* ; - "Special character that's taken care of by the MCCS mapping.") - [COND - ((IGREATERP (SETQ NEWXPOS (IPLUS XPOS CHARWID)) - (ffetch (\POSTSCRIPTDATA POSTSCRIPTRIGHTMARGIN) of IMAGEDATA)) - (\TERPRI.PSC STREAM) - (SETQ NEWXPOS (IPLUS (ffetch (\POSTSCRIPTDATA POSTSCRIPTX) of IMAGEDATA) - CHARWID] + "Special character that's taken care of by the XCCS$ mapping.") + (\POSTSCRIPT.NEWLINE?) (SELECTQ (CAR MAPPING) (NIL (* ;; "just a remap within the lower 256. But the code in (CDR MAPPING) is in charset 2 to prevent recursion") @@ -3471,25 +3428,11 @@ (SETQ NEWXPOS (fetch (\POSTSCRIPTDATA POSTSCRIPTX) of IMAGEDATA))) (FF (DSPNEWPAGE STREAM) (SETQ NEWXPOS (fetch (\POSTSCRIPTDATA POSTSCRIPTX) of IMAGEDATA))) - (TAB (SETQ NEWXPOS (IPLUS XPOS (\POSTSCRIPTTAB IMAGEDATA))) - [COND - ((IGREATERP NEWXPOS (ffetch (\POSTSCRIPTDATA POSTSCRIPTRIGHTMARGIN) - of IMAGEDATA)) - (\TERPRI.PSC STREAM) - (SETQ NEWXPOS (IPLUS (ffetch (\POSTSCRIPTDATA POSTSCRIPTX) of IMAGEDATA - ) - (\POSTSCRIPTTAB IMAGEDATA] + (TAB (\POSTSCRIPT.NEWLINE? (\POSTSCRIPTTAB IMAGEDATA)) (\MOVETO.PSC STREAM NEWXPOS (ffetch (\POSTSCRIPTDATA POSTSCRIPTY) of IMAGEDATA))) ("357,140" (* ; " Ballot box, checked") - [COND - ((IGREATERP (SETQ NEWXPOS (IPLUS XPOS CHARWID)) - (ffetch (\POSTSCRIPTDATA POSTSCRIPTRIGHTMARGIN) - of IMAGEDATA)) - (\TERPRI.PSC STREAM) - (SETQ NEWXPOS (IPLUS (ffetch (\POSTSCRIPTDATA POSTSCRIPTX) - of IMAGEDATA) - CHARWID] + (\POSTSCRIPT.NEWLINE?) (LET ((OLDFONT (\DSPFONT.PSC STREAM))) (POSTSCRIPT.SHOWACCUM STREAM) (\DSPFONT.PSC STREAM (create FONTSPEC @@ -3503,42 +3446,34 @@ (\UPDATE.PSC STREAM IMAGEDATA) (POSTSCRIPT.OUTSTR STREAM " bboxchk ") (\DSPFONT.PSC STREAM OLDFONT))) - (PROGN [COND - ((IGREATERP (SETQ NEWXPOS (IPLUS XPOS CHARWID)) - (ffetch (\POSTSCRIPTDATA POSTSCRIPTRIGHTMARGIN) of IMAGEDATA)) - (\TERPRI.PSC STREAM) - (SETQ NEWXPOS (IPLUS (ffetch (\POSTSCRIPTDATA POSTSCRIPTX) - of IMAGEDATA) - CHARWID] - (COND - ((IGEQ CHAR 255) - - (* ;; "If it's 255 or above and we don't know anything about it, print the black box. Width vector will determine width of box, to maintain consistency.") - - (\POSTSCRIPT.PRINTSLUG STREAM CHAR)) - (T (SETQ CHAR (\CHAR8CODE CHAR)) - (COND - ((NOT (ffetch (\POSTSCRIPTDATA POSTSCRIPTCHARSTOSHOW) - of IMAGEDATA)) - (\UPDATE.PSC STREAM IMAGEDATA) - (BOUT STREAM (CHARCODE %()) - (freplace (\POSTSCRIPTDATA POSTSCRIPTCHARSTOSHOW) of IMAGEDATA - with T))) - (BOUT STREAM (CHARCODE \)) - (SELCHARQ CHAR - ((%( %) \) - (BOUT STREAM CHAR)) - (PROGN [BOUT STREAM (IPLUS (CHARCODE 0) - (LOGAND 3 (LRSH CHAR 6] - [BOUT STREAM (IPLUS (CHARCODE 0) - (LOGAND 7 (LRSH CHAR 3] - (BOUT STREAM (IPLUS (CHARCODE 0) - (LOGAND 7 CHAR] + (if (GETSLUGFLAG (\INSURECHARSETINFO (fetch (\POSTSCRIPTDATA POSTSCRIPTFONT) + of IMAGEDATA) + (\CHARSET CHAR)) + (\CHAR8CODE CHAR)) + then (\POSTSCRIPT.PRINTSLUG STREAM) + else (\POSTSCRIPT.NEWLINE?) + (SETQ CHAR (\CHAR8CODE CHAR)) + (CL:UNLESS (ffetch (\POSTSCRIPTDATA POSTSCRIPTCHARSTOSHOW) of IMAGEDATA) + (\UPDATE.PSC STREAM IMAGEDATA) + (BOUT STREAM (CHARCODE %()) + (freplace (\POSTSCRIPTDATA POSTSCRIPTCHARSTOSHOW) of IMAGEDATA + with T)) + (BOUT STREAM (CHARCODE \)) + (SELCHARQ CHAR + ((%( %) \) + (BOUT STREAM CHAR)) + (PROGN [BOUT STREAM (IPLUS (CHARCODE 0) + (LOGAND 3 (LRSH CHAR 6] + [BOUT STREAM (IPLUS (CHARCODE 0) + (LOGAND 7 (LRSH CHAR 3] + (BOUT STREAM (IPLUS (CHARCODE 0) + (LOGAND 7 CHAR] (freplace (\POSTSCRIPTDATA POSTSCRIPTX) of IMAGEDATA with NEWXPOS) CHAR]) (\POSTSCRIPT.PRINTSLUG - [LAMBDA (STREAM CHAR) (* ; "Edited 1-Sep-2026 12:18 by rmk") + [LAMBDA (STREAM) (* ; "Edited 13-Sep-2026 16:06 by rmk") + (* ; "Edited 1-Sep-2026 12:18 by rmk") (* ; "Edited 9-May-93 21:55 by rmk:") (* ; "Edited 4-May-93 02:20 by jds") (* ; "Edited 3-Feb-93 00:45 by jds") @@ -3546,19 +3481,20 @@ (* ;;; "Internal function to display a black box for a missing character. Width is taken from widths vector, so that box and charwidth are always consistent. Caller (\POSTSCRIPT.OUTCHARFN) is responsible for guaranteeing proper caching of widths vector and for measurement and position updating, although \DRAWLINE.PSC also updates position.") (DECLARE (LOCALVARS . T)) - (LET ((IMAGEDATA (FETCH (STREAM IMAGEDATA) OF STREAM))) - (\BLTSHADE.PSC BLACKSHADE STREAM (FETCH (\POSTSCRIPTDATA POSTSCRIPTX) OF IMAGEDATA) - (FETCH (\POSTSCRIPTDATA POSTSCRIPTY) OF IMAGEDATA) - (\FGETWIDTH (FFETCH (\POSTSCRIPTDATA POSTSCRIPTWIDTHS) OF IMAGEDATA) - (\CHAR8CODE CHAR)) - (FETCH (FONTDESCRIPTOR FONTASCENT) OF (FETCH (\POSTSCRIPTDATA POSTSCRIPTFONT) - OF IMAGEDATA)) - 'PAINT) - (\MOVETO.PSC STREAM (IPLUS (FETCH (\POSTSCRIPTDATA POSTSCRIPTX) OF IMAGEDATA) - (\FGETWIDTH (FFETCH (\POSTSCRIPTDATA POSTSCRIPTWIDTHS) - OF IMAGEDATA) - (\CHAR8CODE CHAR))) - (FETCH (\POSTSCRIPTDATA POSTSCRIPTY) OF IMAGEDATA]) + (LET* ((IMAGEDATA (fetch (STREAM IMAGEDATA) of STREAM)) + (FONT (fetch (\POSTSCRIPTDATA POSTSCRIPTFONT) of IMAGEDATA)) + (SLUGWIDTH (fetch (FONTDESCRIPTOR FONTSLUGWIDTH) of FONT))) + (\POSTSCRIPT.NEWLINE? SLUGWIDTH) + (\BLTSHADE.PSC BLACKSHADE STREAM (IPLUS (fetch (FONTDESCRIPTOR FONTSCALE) of FONT) + (fetch (\POSTSCRIPTDATA POSTSCRIPTX) of IMAGEDATA)) + (IDIFFERENCE (fetch (\POSTSCRIPTDATA POSTSCRIPTY) of IMAGEDATA) + (fetch (FONTDESCRIPTOR FONTDESCENT) of FONT)) + (IDIFFERENCE SLUGWIDTH (ITIMES 2 (fetch (FONTDESCRIPTOR FONTSCALE) of FONT))) + (fetch (FONTDESCRIPTOR FONTHEIGHT) of FONT) + 'PAINT) + (\MOVETO.PSC STREAM (IPLUS (fetch (\POSTSCRIPTDATA POSTSCRIPTX) of IMAGEDATA) + SLUGWIDTH) + (fetch (\POSTSCRIPTDATA POSTSCRIPTY) of IMAGEDATA]) (\POSTSCRIPT.SPECIALOUTCHARFN [LAMBDA (STREAM CHAR FAMILY) (* ; "Edited 3-Sep-2026 23:25 by rmk") @@ -3693,6 +3629,19 @@ (POSTSCRIPT.PUTCOMMAND STREAM " accentor ") CHAR]) ) +(DECLARE%: EVAL@COMPILE + +(PUTPROPS \POSTSCRIPT.NEWLINE? MACRO ((WIDTH) + (SETQ NEWXPOS (IPLUS XPOS (OR WIDTH CHARWID))) + (CL:WHEN (IGREATERP NEWXPOS (ffetch (\POSTSCRIPTDATA + POSTSCRIPTRIGHTMARGIN + ) of IMAGEDATA)) + (\TERPRI.PSC STREAM) + (SETQ NEWXPOS (IPLUS (ffetch (\POSTSCRIPTDATA POSTSCRIPTX) + of IMAGEDATA) + (OR WIDTH CHARWID)))) + NEWXPOS)) +) @@ -3738,78 +3687,75 @@ -(* ;; "The mapping of MCCS characters to Postscript renderings, both as an AList and as a hashtable") +(* ;; "The mapping of XCCS$ characters to Postscript renderings, both as an AList and as a hashtable") (DEFINEQ -(\POSTSCRIPT.MCCSHASH - [LAMBDA (MAPPING-LIST) (* ; "Edited 30-Aug-2026 21:37 by rmk") +(\POSTSCRIPT.XCCS$HASH + [LAMBDA (MAPPING-LIST) (* ; "Edited 13-Sep-2026 00:06 by rmk") + (* ; "Edited 9-Sep-2026 00:52 by rmk") + (* ; "Edited 30-Aug-2026 21:37 by rmk") (* ;  "Edited 30-Jul-93 14:46 by sybalskY:MV:ENVOS") (* ; "Edited 4-May-93 02:21 by jds") (* ; "Edited 3-Feb-93 00:33 by jds") - (for MAPPING in MAPPING-LIST unless (EQ (CAR MAPPING) - '*) - do (* ; + (for MAPPING CHARCODE in MAPPING-LIST unless (EQ (CAR MAPPING) + '*) + do (SETQ CHARCODE (CHARCODE.DECODE (CAR MAPPING))) (* ;  "Skip comments in the mapping list.") - (LET [(CHARCODE (CHARCODE.DECODE (CAR MAPPING] - - (* ;; "Fill in the translation entry for this character:") - - (PUTHASH CHARCODE - [DESTRUCTURING-BIND - (KIND CODE2 BASECHAR UNDERACCENTS) - (SETQ MAPPING (CDR MAPPING)) - (CONS KIND (SELECTQ KIND - ((SYMBOL NIL DINGBAT) - (CONS (CHARCODE.DECODE CODE2))) - (FUNCTION (CONS CODE2)) - ((ACCENT ACCENTPAIR) - (LIST (CHARCODE.DECODE CODE2) - (CHARCODE.DECODE BASECHAR) - (AND UNDERACCENTS (CHARCODE.DECODE UNDERACCENTS)))) - (APPLY* (* ; + + (* ;; "Fill in the translation entry for this character:") + + (PUTHASH CHARCODE [DESTRUCTURING-BIND + (KIND CODE2 BASECHAR UNDERACCENTS) + (SETQ MAPPING (CDR MAPPING)) + (CONS KIND (SELECTQ KIND + ((SYMBOL NIL DINGBAT) + (CONS (CHARCODE.DECODE CODE2))) + (FUNCTION (CONS CODE2)) + ((ACCENT ACCENTPAIR) + (LIST (CHARCODE.DECODE CODE2) + (CHARCODE.DECODE BASECHAR) + (AND UNDERACCENTS (CHARCODE.DECODE + UNDERACCENTS)))) + (APPLY* (* ;  "Apply setup function to coerce argument data") (* ;; "MAPPING is of the form ('APPLY* DATA PRINTFN WIDTHFN SETUPFN) PRINTFN gets applied to stream and result of applying SETUPFN to DATA. WIDTHFN gets applied to coerced data and fontdescriptor") - (LIST (APPLY* (OR (CAR (CDDDDR MAPPING)) - (FUNCTION CL:IDENTITY)) - (CADR MAPPING)) - (CADDR MAPPING) - (CADDDR MAPPING))) - (ERROR "UNRECOGNIZED POSTSCRIPT CHARACTER TYPE" MAPPING] - *POSTSCRIPT-MCCS-HASH*) + (LIST (APPLY* (OR (CAR (CDDDDR MAPPING)) + (FUNCTION CL:IDENTITY)) + (CADR MAPPING)) + (CADDR MAPPING) + (CADDDR MAPPING))) + (ERROR "UNRECOGNIZED POSTSCRIPT CHARACTER TYPE" MAPPING] + *POSTSCRIPT-XCCS$-HASH*) + + (* ;; "If this character is in the lower 127, we need to mark it for special handling in \POSTSCRIPT.CHARTYPE, by putting a T in the array at the charcode's position:") + + (CL:WHEN NIL - (* ;; "If this character is in the lower 127, we need to mark it for special handling in \POSTSCRIPT.CHARTYPE, by putting a T in the array at the charcode's position:") + (* ;; "Haven't we already set up the array? Confusing if this gets out of step") - (CL:WHEN (<= CHARCODE 254) - (CL:SETF (CL:AREF \POSTSCRIPT.CHARTYPE CHARCODE) - T))]) + (<= CHARCODE 254) + (CL:SETF (CL:AREF \POSTSCRIPT.CHARTYPE CHARCODE) + T))]) ) (RPAQQ *POSTSCRIPT-UNACCENTED-FONTS* (Dancer ZapfDingbats "Dancer" "ZapfDingbats")) -(RPAQQ *POSTSCRIPT-MCCS-TRANSLATIONS* +(RPAQQ *POSTSCRIPT-XCCS$-TRANSLATIONS* ( - (* ;; "Mapping of MCCS character codes to Postscript renderings.") + (* ;; "Mapping of NS characters to Postscript renderings.") - - (* ;; "RMK: Removed the first few control-codes that were there for old Press fonts (Timesroman, etc.). Harmless, but no need to maintain the confusion. ") - - (Currency NIL "2,250") + ("0,244" NIL "2,250") (* ; "generic currency symbol") ("0,251" NIL "2,140") (* ; "left single quote") - (Leftarrow SYMBOL "2,254") + ("0,254" SYMBOL "2,254") (* ; "left arrow") - (Lowline SYMBOL "2,137") - (* ; "From MCCS back to Ascii") - (Uparrow SYMBOL "2,255") - (* ; "uparrow") - (Circumflex SYMBOL "2,136") - (* ; "From MCCS back to Ascii") ("0,255" SYMBOL "2,255") + (* ; "uparrow") ("0,256" SYMBOL "2,256") (* ; "right arrow") ("0,257" SYMBOL "2,257") @@ -4138,7 +4084,7 @@ (* ; "237 = Thorn") (* ; "240 = thorn") - (* ;; "MCCS Greek characters") + (* ;; "NS Greek characters") ("46,101" SYMBOL "2,101") (* ; "Alpha") @@ -4257,7 +4203,7 @@ ("46,175" SYMBOL "2,167") (* ; "omega") - (* ;; "MCCS Miscellaneous symbols") + (* ;; "NS Miscellaneous symbols") ("041,142" SYMBOL "2,271") (* ; "notequal") @@ -4311,7 +4257,7 @@ (* ; "integralcenter"))) (DECLARE%: DOEVAL@COMPILE DONTCOPY -(GLOBALVARS *POSTSCRIPT-MCCS-HASH*) +(GLOBALVARS *POSTSCRIPT-XCCS$-HASH*) ) (DECLARE%: EVAL@COMPILE DONTCOPY (DECLARE%: EVAL@COMPILE @@ -4588,38 +4534,38 @@ (ADDTOVAR LAMA POSTSCRIPT.PUTCOMMAND) ) (DECLARE%: DONTCOPY - (FILEMAP (NIL (23306 33705 (POSTSCRIPT.INIT 23316 . 30311) (POSTSCRIPT.PUTRGBCOLOR 30313 . 31335) ( -\PSC.COLOR.TO.RGB 31337 . 33703)) (33945 51345 (POSTSCRIPT.FONTSAVAILABLE 33955 . 37335) ( -PSCFONT.FILEP 37337 . 37524) (POSTSCRIPT.CHARSET 37526 . 39720) (POSTSCRIPT.FONTCREATE 39722 . 42891) -(PSCFONT.TO.FONTDESCRIPTOR 42893 . 51343)) (51346 63184 (PSCFONT.READFONT 51356 . 53367) ( -PSCFONT.WRITEFONT 53369 . 54384) (READ-AFM-FILE 54386 . 60257) (CONVERT-AFM-FILES 60259 . 61782) ( -POSTSCRIPT.GETFONTID 61784 . 63182)) (63185 64553 (\CREATECHARSET.PSC 63195 . 64551)) (64612 82667 ( -OLDPOSTSCRIPT.FONTCREATE 64622 . 77827) (\POSTSCRIPT.SPECIALFONT.SCALEDWIDTHS 77829 . 79323) ( -PSCFONT.COERCEFILE 79325 . 81658) (PSCFONT.SPELLFILE 81660 . 82665)) (85586 95673 ( -OPENPOSTSCRIPTSTREAM 85596 . 95161) (CLOSEPOSTSCRIPTSTREAM 95163 . 95671)) (95718 102044 ( -POSTSCRIPT.HARDCOPYW 95728 . 98835) (POSTSCRIPT.TEDIT 98837 . 99289) (POSTSCRIPTFILEP 99291 . 100779) -(MAKEEPSFILE 100781 . 102042)) (102045 146074 (POSTSCRIPT.BITMAPSCALE 102055 . 104511) ( -POSTSCRIPT.CLOSESTRING 104513 . 105066) (POSTSCRIPT.ENDPAGE 105068 . 105959) (POSTSCRIPT.OUTSTR 105961 - . 107178) (POSTSCRIPT.PUTBITMAPBYTES 107180 . 115651) (POSTSCRIPT.PUTCOMMAND 115653 . 116642) ( -POSTSCRIPT.SET-FAKE-LANDSCAPE 116644 . 121164) (POSTSCRIPT.SHOWACCUM 121166 . 123321) ( -POSTSCRIPT.STARTPAGE 123323 . 126025) (\POSTSCRIPTTAB 126027 . 126824) (\PS.BOUTFIXP 126826 . 128106) -(\PS.SCALEHACK 128108 . 130751) (\PS.SCALEREGION 130753 . 131313) (\SCALEDBITBLT.PSC 131315 . 135625) -(\SETPOS.PSC 135627 . 136108) (\SETXFORM.PSC 136110 . 138694) (\STRINGWIDTH.PSC 138696 . 139169) ( -\SWITCHFONTS.PSC 139171 . 144836) (\TERPRI.PSC 144838 . 146072)) (146109 198841 (\BITBLT.PSC 146119 . -146671) (\BLTSHADE.PSC 146673 . 151334) (\CHARWIDTH.PSC 151336 . 151843) (\DRAWARC.PSC 151845 . 154223 -) (\DRAWCIRCLE.PSC 154225 . 156476) (\DRAWCURVE.PSC 156478 . 160322) (\DRAWELLIPSE.PSC 160324 . 162688 -) (\DRAWLINE.PSC 162690 . 165430) (\DRAWPOINT.PSC 165432 . 166008) (\DRAWPOLYGON.PSC 166010 . 169139) -(\DSPBOTTOMMARGIN.PSC 169141 . 169828) (\DSPCLIPPINGREGION.PSC 169830 . 171205) (\DSPCOLOR.PSC 171207 - . 172138) (\DSPFONT.PSC 172140 . 176011) (\DSPLEFTMARGIN.PSC 176013 . 176699) (\DSPLINEFEED.PSC -176701 . 177291) (\DSPPUSHSTATE.PSC 177293 . 178753) (\DSPPOPSTATE.PSC 178755 . 182240) (\DSPRESET.PSC - 182242 . 182907) (\DSPRIGHTMARGIN.PSC 182909 . 183598) (\DSPROTATE.PSC 183600 . 184599) ( -\DSPSCALE.PSC 184601 . 185553) (\DSPSCALE2.PSC 185555 . 186395) (\DSPSPACEFACTOR.PSC 186397 . 187318) -(\DSPTOPMARGIN.PSC 187320 . 187891) (\DSPTRANSLATE.PSC 187893 . 189924) (\DSPXPOSITION.PSC 189926 . -190490) (\DSPYPOSITION.PSC 190492 . 191083) (\FILLCIRCLE.PSC 191085 . 193310) (\FILLPOLYGON.PSC 193312 - . 196549) (\FIXLINELENGTH.PSC 196551 . 197870) (\MOVETO.PSC 197872 . 198642) (\NEWPAGE.PSC 198644 . -198839)) (198897 222451 (\POSTSCRIPT.CHANGECHARSET 198907 . 199736) (\POSTSCRIPT.OUTCHARFN 199738 . -212846) (\POSTSCRIPT.PRINTSLUG 212848 . 214683) (\POSTSCRIPT.SPECIALOUTCHARFN 214685 . 217274) ( -\UPDATE.PSC 217276 . 218522) (\POSTSCRIPT.ACCENTFN 218524 . 219466) (\POSTSCRIPT.ACCENTPAIR 219468 . -222449)) (222549 224194 (\PSC.SPACEDISP 222559 . 222838) (\PSC.SPACEWID 222840 . 223459) (\PSC.SYMBOLS - 223461 . 224192)) (224305 227288 (\POSTSCRIPT.MCCSHASH 224315 . 227286))))) + (FILEMAP (NIL (22826 33045 (POSTSCRIPT.INIT 22836 . 29651) (POSTSCRIPT.PUTRGBCOLOR 29653 . 30675) ( +\PSC.COLOR.TO.RGB 30677 . 33043)) (33285 50536 (POSTSCRIPT.FONTSAVAILABLE 33295 . 35943) ( +PSCFONT.FILEP 35945 . 36132) (POSTSCRIPT.CHARSET 36134 . 38328) (POSTSCRIPT.FONTCREATE 38330 . 41499) +(PSCFONT.TO.FONTDESCRIPTOR 41501 . 50534)) (50537 62375 (PSCFONT.READFONT 50547 . 52558) ( +PSCFONT.WRITEFONT 52560 . 53575) (READ-AFM-FILE 53577 . 59448) (CONVERT-AFM-FILES 59450 . 60973) ( +POSTSCRIPT.GETFONTID 60975 . 62373)) (62376 63744 (\CREATECHARSET.PSC 62386 . 63742)) (63803 81858 ( +OLDPOSTSCRIPT.FONTCREATE 63813 . 77018) (\POSTSCRIPT.SPECIALFONT.SCALEDWIDTHS 77020 . 78514) ( +PSCFONT.COERCEFILE 78516 . 80849) (PSCFONT.SPELLFILE 80851 . 81856)) (84060 94147 ( +OPENPOSTSCRIPTSTREAM 84070 . 93635) (CLOSEPOSTSCRIPTSTREAM 93637 . 94145)) (94192 100518 ( +POSTSCRIPT.HARDCOPYW 94202 . 97309) (POSTSCRIPT.TEDIT 97311 . 97763) (POSTSCRIPTFILEP 97765 . 99253) ( +MAKEEPSFILE 99255 . 100516)) (100519 144548 (POSTSCRIPT.BITMAPSCALE 100529 . 102985) ( +POSTSCRIPT.CLOSESTRING 102987 . 103540) (POSTSCRIPT.ENDPAGE 103542 . 104433) (POSTSCRIPT.OUTSTR 104435 + . 105652) (POSTSCRIPT.PUTBITMAPBYTES 105654 . 114125) (POSTSCRIPT.PUTCOMMAND 114127 . 115116) ( +POSTSCRIPT.SET-FAKE-LANDSCAPE 115118 . 119638) (POSTSCRIPT.SHOWACCUM 119640 . 121795) ( +POSTSCRIPT.STARTPAGE 121797 . 124499) (\POSTSCRIPTTAB 124501 . 125298) (\PS.BOUTFIXP 125300 . 126580) +(\PS.SCALEHACK 126582 . 129225) (\PS.SCALEREGION 129227 . 129787) (\SCALEDBITBLT.PSC 129789 . 134099) +(\SETPOS.PSC 134101 . 134582) (\SETXFORM.PSC 134584 . 137168) (\STRINGWIDTH.PSC 137170 . 137643) ( +\SWITCHFONTS.PSC 137645 . 143310) (\TERPRI.PSC 143312 . 144546)) (144583 197315 (\BITBLT.PSC 144593 . +145145) (\BLTSHADE.PSC 145147 . 149808) (\CHARWIDTH.PSC 149810 . 150317) (\DRAWARC.PSC 150319 . 152697 +) (\DRAWCIRCLE.PSC 152699 . 154950) (\DRAWCURVE.PSC 154952 . 158796) (\DRAWELLIPSE.PSC 158798 . 161162 +) (\DRAWLINE.PSC 161164 . 163904) (\DRAWPOINT.PSC 163906 . 164482) (\DRAWPOLYGON.PSC 164484 . 167613) +(\DSPBOTTOMMARGIN.PSC 167615 . 168302) (\DSPCLIPPINGREGION.PSC 168304 . 169679) (\DSPCOLOR.PSC 169681 + . 170612) (\DSPFONT.PSC 170614 . 174485) (\DSPLEFTMARGIN.PSC 174487 . 175173) (\DSPLINEFEED.PSC +175175 . 175765) (\DSPPUSHSTATE.PSC 175767 . 177227) (\DSPPOPSTATE.PSC 177229 . 180714) (\DSPRESET.PSC + 180716 . 181381) (\DSPRIGHTMARGIN.PSC 181383 . 182072) (\DSPROTATE.PSC 182074 . 183073) ( +\DSPSCALE.PSC 183075 . 184027) (\DSPSCALE2.PSC 184029 . 184869) (\DSPSPACEFACTOR.PSC 184871 . 185792) +(\DSPTOPMARGIN.PSC 185794 . 186365) (\DSPTRANSLATE.PSC 186367 . 188398) (\DSPXPOSITION.PSC 188400 . +188964) (\DSPYPOSITION.PSC 188966 . 189557) (\FILLCIRCLE.PSC 189559 . 191784) (\FILLPOLYGON.PSC 191786 + . 195023) (\FIXLINELENGTH.PSC 195025 . 196344) (\MOVETO.PSC 196346 . 197116) (\NEWPAGE.PSC 197118 . +197313)) (197371 219242 (\POSTSCRIPT.CHANGECHARSET 197381 . 198320) (\POSTSCRIPT.OUTCHARFN 198322 . +209445) (\POSTSCRIPT.PRINTSLUG 209447 . 211474) (\POSTSCRIPT.SPECIALOUTCHARFN 211476 . 214065) ( +\UPDATE.PSC 214067 . 215313) (\POSTSCRIPT.ACCENTFN 215315 . 216257) (\POSTSCRIPT.ACCENTPAIR 216259 . +219240)) (220196 221841 (\PSC.SPACEDISP 220206 . 220485) (\PSC.SPACEWID 220487 . 221106) (\PSC.SYMBOLS + 221108 . 221839)) (221953 225358 (\POSTSCRIPT.XCCS$HASH 221963 . 225356))))) STOP diff --git a/library/POSTSCRIPTSTREAM.LCOM b/library/POSTSCRIPTSTREAM.LCOM index c953ef7c35609af59f11f524b63cf352de328af6..7eb3ce1cc8e6fb840c459a7d87968dd7bad9810d 100644 GIT binary patch delta 8788 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 apN9TyJ&Kzz+=6a*c4F6s&LsNQzW)bci`B*e delta 8934 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