From 105bca7c1f9b8a72732462052e40ea0908a3df0a Mon Sep 17 00:00:00 2001 From: rmkaplan Date: Thu, 6 Nov 2025 21:49:12 -0800 Subject: [PATCH 1/6] Add a cache for FONTSAVAILABLE on files Simplifies Sketch --- sources/FONT | 200 +++++++++++++++++++++++----------------------- sources/FONT.LCOM | Bin 69328 -> 69830 bytes 2 files changed, 102 insertions(+), 98 deletions(-) diff --git a/sources/FONT b/sources/FONT index 6e40fa42a..e5ea0bb52 100644 --- a/sources/FONT +++ b/sources/FONT @@ -1,13 +1,13 @@ (DEFINE-FILE-INFO PACKAGE "INTERLISP" READTABLE "INTERLISP" BASE 10) -(FILECREATED "17-Oct-2025 19:43:25" {WMEDLEY}FONT.;621 286216 +(FILECREATED " 6-Nov-2025 13:54:22" {WMEDLEY}FONT.;623 285863 :EDIT-BY rmk :CHANGES-TO (VARS FONTCOMS) - (FNS MONOSPACEFONTP) + (FNS FONTSAVAILABLE) - :PREVIOUS-DATE "13-Oct-2025 21:33:14" {WMEDLEY}FONT.;620) + :PREVIOUS-DATE "20-Oct-2025 09:54:15" {WMEDLEY}FONT.;622) (PRETTYCOMPRINT FONTCOMS) @@ -66,12 +66,12 @@ (FNS FONTSAVAILABLE FONTEXISTS? \SEARCHFONTFILES FLUSHFONTSINCORE FINDFONTFILES SORTFONTSPECS ) (FNS MATCHFONTFACE MAKEFONTFACE FONTFACETOATOM) - (INITVARS \FONTSINCORE \FONTEXISTS?-CACHE \DEFAULTDEVICEFONTS) + (INITVARS \FONTSINCORE \FONTEXISTS?-CACHE \FONTSAVAILABLEFILECACHE \DEFAULTDEVICEFONTS) [COMS (GLOBALVARS \DEFAULTDEVICEFONTS \UNITWIDTHSVECTOR) (INITVARS \UNITWIDTHSVECTOR) (FNS \UNITWIDTHSVECTOR) (DECLARE%: DONTEVAL@LOAD DOCOPY (P (\UNITWIDTHSVECTOR] - (DECLARE%: DONTCOPY (EXPORT (RECORDS FONTCLASS FONTDESCRIPTOR FONTFACE CHARSETINFO FONTSPEC) + (DECLARE%: DONTCOPY [EXPORT (RECORDS FONTCLASS FONTDESCRIPTOR FONTFACE CHARSETINFO FONTSPEC) (MACROS FONTASCENT FONTDESCENT FONTHEIGHT \FGETOFFSET \FSETOFFSET \FGETWIDTH \FSETWIDTH \FGETCHARWIDTH \FSETCHARWIDTH \FGETIMAGEWIDTH \FSETIMAGEWIDTH) @@ -79,8 +79,7 @@ \CREATECSINFOELEMENT \CREATEFONTCHARSETVECTOR CHARSETPROP) (PROP ARGNAMES CHARSETPROP) (CONSTANTS (SLUGCHARINDEX (ADD1 \MAXTHINCHAR)) - (SLUGCHARSET (ADD1 \MAXCHARSET))) - (MACROS LEGACYFONTS)) + (SLUGCHARSET (ADD1 \MAXCHARSET] (MACROS INDIRECTCHARSETP)) (FNS FONTDESCRIPTOR.DEFPRINT FONTCLASS.DEFPRINT) (INITRECORDS FONTCLASS FONTDESCRIPTOR CHARSETINFO) @@ -2795,7 +2794,8 @@ (DEFINEQ (FONTSAVAILABLE - [LAMBDA (FAMILY SIZE FACE ROTATION DEVICE CHECKFILESTOO?) (* ; "Edited 25-Sep-2025 18:39 by rmk") + [LAMBDA (FAMILY SIZE FACE ROTATION DEVICE CHECKFILESTOO?) (* ; "Edited 6-Nov-2025 13:50 by rmk") + (* ; "Edited 25-Sep-2025 18:39 by rmk") (* ; "Edited 30-Aug-2025 13:55 by rmk") (* ; "Edited 28-Aug-2025 14:43 by rmk") (* ; "Edited 23-Aug-2025 10:51 by rmk") @@ -2810,48 +2810,63 @@ (* ;;; "returns a list of the fonts fitting a description that are available. FAMILY SIZE FACE or ROTATION can be * which means get them all. if CHECKFILESTOO? is NIL, only fonts in core will be considered. If ONLY, fonts in memory will be ignored. ") - (DECLARE (GLOBALVARS \FONTSINCORE)) - (LET ((FONTSPEC (\FONT.CHECKARGS FAMILY SIZE FACE ROTATION DEVICE))) - (if (EQ '* (fetch (FONTSPEC FSDEVICE) of FONTSPEC)) - then - (* ;; + (DECLARE (GLOBALVARS \FONTSINCORE \FONTSAVAILABLEFILECACHE)) + (LET + ((FONTSPEC (\FONT.CHECKARGS FAMILY SIZE FACE ROTATION DEVICE)) + FILEFONTS) + (if (EQ '* (fetch (FONTSPEC FSDEVICE) of FONTSPEC)) + then + (* ;;  "The results for each device will be grouped together, because the sort happens in the clause below") - (for I in IMAGESTREAMTYPES join (FONTSAVAILABLE FONTSPEC NIL NIL NIL (CAR I) - CHECKFILESTOO?)) - else (SPREADFONTSPEC FONTSPEC) (* ; "For easier matching code") - (SORTFONTSPECS (UNION (CL:UNLESS (EQ 'ONLY CHECKFILESTOO?) - [COLLECTMULTI \FONTSINCORE - (FUNCTION (LAMBDA (FM S FC R D FONT) - (DECLARE (USEDFREE $$COLLECT)) - (CL:WHEN - [AND (OR (EQ FAMILY FM) - (EQ FAMILY '*)) - (OR (EQ SIZE S) - (EQ SIZE '*)) - (MATCHFONTFACE FACE FC) - (OR (EQ ROTATION R) - (EQ ROTATION '*)) - (OR (EQ DEVICE D) - (EQ DEVICE '*] - (push $$COLLECT - (create FONTSPEC - FSFAMILY _ FM - FSSIZE _ S - FSFACE _ FC - FSROTATION _ R - FSDEVICE _ D)))]) - (CL:WHEN CHECKFILESTOO?(* ; + (for I in IMAGESTREAMTYPES join (FONTSAVAILABLE FONTSPEC NIL NIL NIL (CAR I) + CHECKFILESTOO?)) + else + (SPREADFONTSPEC FONTSPEC) (* ; "For easier matching code") + (SORTFONTSPECS + (UNION (CL:UNLESS (EQ 'ONLY CHECKFILESTOO?) + [COLLECTMULTI \FONTSINCORE + (FUNCTION (LAMBDA (FM S FC R D FONT) + (DECLARE (USEDFREE $$COLLECT)) + (CL:WHEN [AND (OR (EQ FAMILY FM) + (EQ FAMILY '*)) + (OR (EQ SIZE S) + (EQ SIZE '*)) + (MATCHFONTFACE FACE FC) + (OR (EQ ROTATION R) + (EQ ROTATION '*)) + (OR (EQ DEVICE D) + (EQ DEVICE '*] + (push $$COLLECT + (create FONTSPEC + FSFAMILY _ FM + FSSIZE _ S + FSFACE _ FC + FSROTATION _ R + FSDEVICE _ D)))]) + (CL:WHEN CHECKFILESTOO? (* ;  "apply the device font lookup function.") - (LET [(FN (OR (CAR (GETMULTI IMAGESTREAMTYPES DEVICE - 'FONTSAVAILABLE)) - (FUNCTION \SEARCHFONTFILES] + (SETQ FILEFONTS (SGETMULTI \FONTSAVAILABLEFILECACHE FAMILY SIZE FACE ROTATION + DEVICE)) + + (* ;; "APPEND the cache value because of the SORT") - (* ;; "Until all the device functions take a FONTSPEC") + (APPEND (if (NULL FILEFONTS) + then (LET [(FN (OR (CAR (GETMULTI IMAGESTREAMTYPES DEVICE + 'FONTSAVAILABLE)) + (FUNCTION \SEARCHFONTFILES] - (CL:IF (EQ 1 (NARGS FN)) - (APPLY* FN FONTSPEC) - (APPLY* FN FAMILY SIZE FACE ROTATION DEVICE))))]) + (* ;; "Until all the device functions take a FONTSPEC") + + (SETQ FILEFONTS (CL:IF (EQ 1 (NARGS FN)) + (APPLY* FN FONTSPEC) + (APPLY* FN FAMILY SIZE FACE ROTATION + DEVICE))) + (SPUTMULTI \FONTSAVAILABLEFILECACHE FAMILY SIZE FACE + ROTATION DEVICE (OR FILEFONTS 'NONE)) + FILEFONTS) + elseif (NEQ FILEFONTS 'NONE) + then FILEFONTS)))]) (FONTEXISTS? [LAMBDA (FAMILY SIZE FACE ROTATION DEVICE NOCOERCIONS) (* ; "Edited 26-Sep-2025 10:10 by rmk") @@ -3154,6 +3169,8 @@ (RPAQ? \FONTEXISTS?-CACHE NIL) +(RPAQ? \FONTSAVAILABLEFILECACHE NIL) + (RPAQ? \DEFAULTDEVICEFONTS NIL) (DECLARE%: DOEVAL@COMPILE DONTCOPY @@ -3422,19 +3439,6 @@ (CONSTANTS (SLUGCHARINDEX (ADD1 \MAXTHINCHAR)) (SLUGCHARSET (ADD1 \MAXCHARSET))) ) -(DECLARE%: EVAL@COMPILE - -(PUTPROPS LEGACYFONTS MACRO ((F . FORMS) (* ; - "Execute FORMS in a legacy font environment") - (RESETLST - (RESETSAVE \FONTSINCORE NIL) - (RESETSAVE \FONTEXISTS?-CACHE) - (RESETSAVE DISPLAYFONTCOERCIONS) - (RESETSAVE DISPLAYCHARCOERCIONS) - (RESETSAVE DISPLAYFONTEXTENSIONS '(DISPLAYFONT)) - (RESETSAVE DISPLAYFONTDIRECTORIES (MEDLEYDIR "fonts>displayfonts>")) - (PROGN F . FORMS)))) -) (* "END EXPORTED DEFINITIONS") @@ -4650,44 +4654,44 @@ (ADDTOVAR LAMA FONTCOPY) ) (DECLARE%: DONTCOPY - (FILEMAP (NIL (12132 21845 (CHARWIDTH 12142 . 12927) (CHARWIDTHY 12929 . 14446) (STRINGWIDTH 14448 . -15541) (\CHARWIDTH.DISPLAY 15543 . 15956) (\STRINGWIDTH.DISPLAY 15958 . 16382) (\STRINGWIDTH.GENERIC -16384 . 21843)) (21846 28366 (DEFAULTFONT 21856 . 23141) (FONTCLASS 23143 . 25305) (FONTCLASSUNPARSE -25307 . 26206) (FONTCLASSCOMPONENT 26208 . 26796) (SETFONTCLASSCOMPONENT 26798 . 27240) ( -GETFONTCLASSCOMPONENT 27242 . 28364)) (30045 54426 (FONTCREATE 30055 . 33300) (FONTCREATE1 33302 . -35917) (FONTCREATE.SLUGFD 35919 . 37401) (\FONT.CHECKARGS 37403 . 43993) (\FONT.CHECKARGS1 43995 . -48518) (\FONTCREATE1.NOFN 48520 . 48734) (FONTFILEP 48736 . 49624) (\READCHARSET 49626 . 54424)) ( -54427 61344 (\FONT.CHECKARGS 54437 . 61027) (\CHARSET.CHECK 61029 . 61342)) (61345 64428 ( -COERCEFONTSPEC 61355 . 64426)) (66498 67288 (MAKEFONTSPEC 66508 . 67286)) (67289 75466 (COMPLETE.FONT -67299 . 69822) (COMPLETEFONTP 69824 . 70447) (COMPLETE.CHARSET 70449 . 73134) (PRUNESLUGCSINFOS 73136 - . 74061) (MONOSPACEFONTP 74063 . 75464)) (75505 83426 (FONTASCENT 75515 . 75899) (FONTDESCENT 75901 - . 76386) (FONTHEIGHT 76388 . 76790) (FONTPROP 76792 . 82703) (\AVGCHARWIDTH 82705 . 83424)) (84083 -84991 (FONTDEVICEPROP 84093 . 84989)) (85037 85891 (EDITCHAR 85047 . 85889)) (85937 98127 ( -GETCHARBITMAP 85947 . 87071) (PUTCHARBITMAP 87073 . 89231) (\GETCHARBITMAP.CSINFO 89233 . 91249) ( -\PUTCHARBITMAP.CSINFO 91251 . 98125)) (98128 118608 (MOVECHARBITMAP 98138 . 100032) (MOVEFONTCHARS -100034 . 103994) (\MOVEFONTCHAR 103996 . 108839) (\MOVEFONTCHARS.SOURCEDATA 108841 . 114946) ( -\MAKESLUGCHAR 114948 . 117483) (SLUGCHARP.DISPLAY 117485 . 118606)) (119541 139679 (FONTFILES 119551 - . 121384) (\FINDFONTFILE 121386 . 123103) (\FONTFILENAMES 123105 . 124100) (\FONTFILENAME 124102 . -128085) (\FONTFILENAME.OLD 128087 . 131036) (\FONTFILENAME.NEW 131038 . 133295) (FONTSPECFROMFILENAME -133297 . 137398) (\FONTINFOFROMFILENAME.OLD 137400 . 139677)) (139946 175749 (FONTCOPY 139956 . 145019 -) (FONTP 145021 . 145320) (FONTUNPARSE 145322 . 147041) (SETFONTDESCRIPTOR 147043 . 148507) ( -\STREAMCHARWIDTH 148509 . 152673) (\COERCECHARSET 152675 . 155270) (\BUILDSLUGCSINFO 155272 . 158895) -(\FONTSYMBOL 158897 . 159547) (\DEVICESYMBOL 159549 . 160418) (\FONTFACE 160420 . 167610) ( -\FONTFACE.COLOR 167612 . 174532) (SETFONTCHARENCODING 174534 . 175747)) (175750 196301 (FONTSAVAILABLE - 175760 . 180615) (FONTEXISTS? 180617 . 184595) (\SEARCHFONTFILES 184597 . 187682) (FLUSHFONTSINCORE -187684 . 190857) (FINDFONTFILES 190859 . 194073) (SORTFONTSPECS 194075 . 196299)) (196302 199725 ( -MATCHFONTFACE 196312 . 197127) (MAKEFONTFACE 197129 . 197969) (FONTFACETOATOM 197971 . 199723)) ( -199953 200445 (\UNITWIDTHSVECTOR 199963 . 200443)) (215788 217855 (FONTDESCRIPTOR.DEFPRINT 215798 . -217377) (FONTCLASS.DEFPRINT 217379 . 217853)) (221684 224474 (\CREATEKERNELEMENT 221694 . 222052) ( -\FSETLEFTKERN 222054 . 222545) (\FGETLEFTKERN 222547 . 224472)) (224475 234111 (\CREATEFONT 224485 . -225924) (\CREATECHARSET 225926 . 229862) (\INSTALLCHARSETINFO 229864 . 233198) ( -\INSTALLCHARSETINFO.CHARENCODING 233200 . 234109)) (234433 235797 (\FONTRESETCHARWIDTHS 234443 . -235795)) (236427 246474 (\CREATEDISPLAYFONT 236437 . 238286) (\CREATECHARSET.DISPLAY 238288 . 243997) -(\FONTEXISTS?.DISPLAY 243999 . 246472)) (246475 261340 (STRIKEFONT.FILEP 246485 . 247373) ( -STRIKEFONT.GETCHARSET 247375 . 252967) (WRITESTRIKEFONTFILE 252969 . 257880) (STRIKECSINFO 257882 . -261338)) (261371 277688 (MAKEBOLD.CHARSET 261381 . 265030) (MAKEBOLD.CHAR 265032 . 266784) ( -MAKEITALIC.CHARSET 266786 . 270459) (MAKEITALIC.CHAR 270461 . 272807) (\SFMAKEBOLD 272809 . 275033) ( -\SFMAKEITALIC 275035 . 277686)) (277689 281838 (\SFMAKEROTATEDFONT 277699 . 279100) (\SFROTATECSINFO -279102 . 279739) (\SFROTATEFONTCHARACTERS 279741 . 280121) (\SFROTATECSINFOOFFSETS 280123 . 281836)) ( -281839 283220 (\SFMAKECOLOR 281849 . 283218))))) + (FILEMAP (NIL (12098 21811 (CHARWIDTH 12108 . 12893) (CHARWIDTHY 12895 . 14412) (STRINGWIDTH 14414 . +15507) (\CHARWIDTH.DISPLAY 15509 . 15922) (\STRINGWIDTH.DISPLAY 15924 . 16348) (\STRINGWIDTH.GENERIC +16350 . 21809)) (21812 28332 (DEFAULTFONT 21822 . 23107) (FONTCLASS 23109 . 25271) (FONTCLASSUNPARSE +25273 . 26172) (FONTCLASSCOMPONENT 26174 . 26762) (SETFONTCLASSCOMPONENT 26764 . 27206) ( +GETFONTCLASSCOMPONENT 27208 . 28330)) (30011 54392 (FONTCREATE 30021 . 33266) (FONTCREATE1 33268 . +35883) (FONTCREATE.SLUGFD 35885 . 37367) (\FONT.CHECKARGS 37369 . 43959) (\FONT.CHECKARGS1 43961 . +48484) (\FONTCREATE1.NOFN 48486 . 48700) (FONTFILEP 48702 . 49590) (\READCHARSET 49592 . 54390)) ( +54393 61310 (\FONT.CHECKARGS 54403 . 60993) (\CHARSET.CHECK 60995 . 61308)) (61311 64394 ( +COERCEFONTSPEC 61321 . 64392)) (66464 67254 (MAKEFONTSPEC 66474 . 67252)) (67255 75432 (COMPLETE.FONT +67265 . 69788) (COMPLETEFONTP 69790 . 70413) (COMPLETE.CHARSET 70415 . 73100) (PRUNESLUGCSINFOS 73102 + . 74027) (MONOSPACEFONTP 74029 . 75430)) (75471 83392 (FONTASCENT 75481 . 75865) (FONTDESCENT 75867 + . 76352) (FONTHEIGHT 76354 . 76756) (FONTPROP 76758 . 82669) (\AVGCHARWIDTH 82671 . 83390)) (84049 +84957 (FONTDEVICEPROP 84059 . 84955)) (85003 85857 (EDITCHAR 85013 . 85855)) (85903 98093 ( +GETCHARBITMAP 85913 . 87037) (PUTCHARBITMAP 87039 . 89197) (\GETCHARBITMAP.CSINFO 89199 . 91215) ( +\PUTCHARBITMAP.CSINFO 91217 . 98091)) (98094 118574 (MOVECHARBITMAP 98104 . 99998) (MOVEFONTCHARS +100000 . 103960) (\MOVEFONTCHAR 103962 . 108805) (\MOVEFONTCHARS.SOURCEDATA 108807 . 114912) ( +\MAKESLUGCHAR 114914 . 117449) (SLUGCHARP.DISPLAY 117451 . 118572)) (119507 139645 (FONTFILES 119517 + . 121350) (\FINDFONTFILE 121352 . 123069) (\FONTFILENAMES 123071 . 124066) (\FONTFILENAME 124068 . +128051) (\FONTFILENAME.OLD 128053 . 131002) (\FONTFILENAME.NEW 131004 . 133261) (FONTSPECFROMFILENAME +133263 . 137364) (\FONTINFOFROMFILENAME.OLD 137366 . 139643)) (139912 175715 (FONTCOPY 139922 . 144985 +) (FONTP 144987 . 145286) (FONTUNPARSE 145288 . 147007) (SETFONTDESCRIPTOR 147009 . 148473) ( +\STREAMCHARWIDTH 148475 . 152639) (\COERCECHARSET 152641 . 155236) (\BUILDSLUGCSINFO 155238 . 158861) +(\FONTSYMBOL 158863 . 159513) (\DEVICESYMBOL 159515 . 160384) (\FONTFACE 160386 . 167576) ( +\FONTFACE.COLOR 167578 . 174498) (SETFONTCHARENCODING 174500 . 175713)) (175716 196655 (FONTSAVAILABLE + 175726 . 180969) (FONTEXISTS? 180971 . 184949) (\SEARCHFONTFILES 184951 . 188036) (FLUSHFONTSINCORE +188038 . 191211) (FINDFONTFILES 191213 . 194427) (SORTFONTSPECS 194429 . 196653)) (196656 200079 ( +MATCHFONTFACE 196666 . 197481) (MAKEFONTFACE 197483 . 198323) (FONTFACETOATOM 198325 . 200077)) ( +200349 200841 (\UNITWIDTHSVECTOR 200359 . 200839)) (215435 217502 (FONTDESCRIPTOR.DEFPRINT 215445 . +217024) (FONTCLASS.DEFPRINT 217026 . 217500)) (221331 224121 (\CREATEKERNELEMENT 221341 . 221699) ( +\FSETLEFTKERN 221701 . 222192) (\FGETLEFTKERN 222194 . 224119)) (224122 233758 (\CREATEFONT 224132 . +225571) (\CREATECHARSET 225573 . 229509) (\INSTALLCHARSETINFO 229511 . 232845) ( +\INSTALLCHARSETINFO.CHARENCODING 232847 . 233756)) (234080 235444 (\FONTRESETCHARWIDTHS 234090 . +235442)) (236074 246121 (\CREATEDISPLAYFONT 236084 . 237933) (\CREATECHARSET.DISPLAY 237935 . 243644) +(\FONTEXISTS?.DISPLAY 243646 . 246119)) (246122 260987 (STRIKEFONT.FILEP 246132 . 247020) ( +STRIKEFONT.GETCHARSET 247022 . 252614) (WRITESTRIKEFONTFILE 252616 . 257527) (STRIKECSINFO 257529 . +260985)) (261018 277335 (MAKEBOLD.CHARSET 261028 . 264677) (MAKEBOLD.CHAR 264679 . 266431) ( +MAKEITALIC.CHARSET 266433 . 270106) (MAKEITALIC.CHAR 270108 . 272454) (\SFMAKEBOLD 272456 . 274680) ( +\SFMAKEITALIC 274682 . 277333)) (277336 281485 (\SFMAKEROTATEDFONT 277346 . 278747) (\SFROTATECSINFO +278749 . 279386) (\SFROTATEFONTCHARACTERS 279388 . 279768) (\SFROTATECSINFOOFFSETS 279770 . 281483)) ( +281486 282867 (\SFMAKECOLOR 281496 . 282865))))) STOP diff --git a/sources/FONT.LCOM b/sources/FONT.LCOM index 98ce344aaf2ef4e25885aec7ccea12b2960ab033..51df1d80e9db78543ecff84c1265f3ca325d9620 100644 GIT binary patch delta 1518 zcmaKsPi)&%9LM9d+gc}alPpV!#Y{zlqsuOW+w=qrpjGeZtS}B7WQB))@ z6G$8g;=B30>F9Fc&#(~Mc4Q|cKos@LVH!ucz_XLGZW^^Ezt8XezP~@u zmVb9Y9lm{S_`+%e#FFvqYbBoLE5McKD#9GkU)(yCE*F8$@nQ*`JKuM*(j3Rlani-@ ziRTXP&&zTxQaMSWk<@uS1VPqjB6BIUO-0M zmRDrGDc74?5#~%wThY<7T~bLJQi^@3HPSbSC#aJYzwRmkqV(^q=esyu(=`> zTC!pxn+DxbbxTv)N<+46t!);GZ^5wfUPL7UXPA>%VRS+t68fAG2<`p)1pbE!<6lBF zPL4f|qq`?Y_7mbicTeEg$2{2=V`+SAOi9rj{kJzLFr(_W*_77+LsTKMbI~X9JJDwd z-6r&hzgLQ-F26ZUCGkdVnm8uoLzV*NNco5lYAF$Fl^_j#3)Fd3=iCtx;+b=Mx^Dq6vPGm^wxm=1;>k>|9SQ zUhQ&K&|C7NX1B>_Z?)G<%`O7x#QXauosr z+OyWFrQkO&1l%Qm4Gz}f!FtqP!k2cYxLbErUziMLx}AiJk`79EN_}v?w5z|@|0vh=w>CHZPW^{}>}a4M%nD#5tL^`3rl!~+ zh!QLtIx+|eupyhKW~e*}tOT}f+em@3Sp5&n>^|0bN!(|iL=MC}FM%Oji#Bkg2nuSF z8PaYoH`_XJtO#CR(?TZ9O1N^P)DtJP+B(>WNE+&5+I|wMh?w^OzI`CTCxpGHX{1+9%dwc)@ delta 1067 zcmZuw&rcgi6!sWmVC}VyK?IZpUI~rtD5g8!HLR`t@UlDD>#ld*-33Z&5G786L@trI z6Dg;pQd=}ieQA(#=&=b3p=u*V7K#)pidt3ex#}gC^iaVcP^q&65mf44-uK@7-uJ#) z&AfWl`Rl{Zujl&lWY)R1md#1IJm5l6k&C(f#_EM3oB?69NY2gnog!2 z+plM!Sa->+>CAXpgUK)z`N($;7iGDKl|Tha+q1c4?K1zJrEGwMpB zOt%t4482b1wEgxZLt{yut|ZSg^hNRteZ$e;Nxk)D1O>aQy`@3J^y-$z%^0Rjbl-7J z;(^fG6wmc$x#!~^!l^QSk?LxFDxf~5T1uXy_fzLY=2SC`SvCb} zE~n7_)L3gzK*7%(>1%XjH8?(NE=18~y4yF>Q*#XB+Kf-%^(}S*?+euKUus>Bp$HOM zU&YYy_V4|f&GktzYg(CjKD!Pzf4)w<421sZLZL`Wo6-&OM2LO8xTDexvk%=2(!Hlj zyH|?L#kbBh(NC3?X46DOj0CMl$2YZ|n6T4Dy}4nGB_KSOw3y;`;mo)rsyw4$ClOn~n`wEr6}LWe;#(1>LdO zd+}>CmTy8q1^xtFrw)@cUEj$zu_{BuBbuvMf>!Xl*x Date: Thu, 6 Nov 2025 21:49:42 -0800 Subject: [PATCH 2/6] Upgrade Sketch to new font interfaces --- library/sketch/SKETCH | 353 +++++------ library/sketch/SKETCH-EDIT | 95 ++- library/sketch/SKETCH-EDIT.LCOM | Bin 26502 -> 26520 bytes library/sketch/SKETCH-ELEMENTS | 902 +++++++++++----------------- library/sketch/SKETCH-ELEMENTS.LCOM | Bin 147391 -> 144431 bytes library/sketch/SKETCH.LCOM | Bin 161521 -> 161924 bytes 6 files changed, 582 insertions(+), 768 deletions(-) diff --git a/library/sketch/SKETCH b/library/sketch/SKETCH index 76c5e3347..55e219650 100644 --- a/library/sketch/SKETCH +++ b/library/sketch/SKETCH @@ -1,12 +1,22 @@ (DEFINE-FILE-INFO PACKAGE "INTERLISP" READTABLE "INTERLISP" BASE 10) -(FILECREATED " 5-Dec-2023 00:44:13" {WMEDLEY}sketch>SKETCH.;5 491114 +(FILECREATED " 4-Nov-2025 15:24:34" {WMEDLEY}sketch>SKETCH.;7 491766 :EDIT-BY rmk - :CHANGES-TO (VARS SKETCHCOMS) + :CHANGES-TO (VARS SKETCHCOMS SKETCHFILES SKETCH.TITLED.ICON.TEMPLATE) + (FNS SK.OUTPUT.FILE.NAME SKETCH.TITLE) + (RECORDS SKHISTORYCHANGESPEC GROUP LOCALGROUP SKFIGUREIMAGE SCREENELT GLOBALPART + COMMONGLOBALPART INDIVIDUALGLOBALPART LOCALPART SKETCH SKETCHTYPE + SKETCHCONTEXT) + (PROPS (SKETCH.CREATE ARGNAMES) + (GROUP EVENTFNS) + (UNGROUP EVENTFNS) + (FREEZE EVENTFNS) + (UNFREEZE EVENTFNS)) + (MACROS .DELETEKEYDOWNP. .MOVEKEYDOWNP. .SHIFTKEYDOWNP.) - :PREVIOUS-DATE "19-Oct-2023 23:55:27" {WMEDLEY}sketch>SKETCH.;4) + :PREVIOUS-DATE " 3-Nov-2025 16:21:01" {WMEDLEY}sketch>SKETCH.;5) (PRETTYCOMPRINT SKETCHCOMS) @@ -48,17 +58,16 @@ To abort loading the new version of Sketch, type '^'."] (FNS SKETCH SKETCH.FROM.A.FILE SKETCHW.CREATE SKETCH.RESET SKETCHW.FIG.CHANGED SK.WINDOW.TITLE EDITSLIDE EDITSKETCH SK.PUT.ON.FILE SK.OUTPUT.FILE.NAME SKETCH.PUT SK.GET.FROM.FILE SK.INCLUDE.FILE SK.GET.IMAGEOBJ.FROM.FILE SKETCH.GET - ADD.SKETCH.TO.VIEWER FILENAMELESSVERSION SK.ADD.ELEMENTS.TO.SKETCH SKETCH.SET.A.DEFAULT - SK.POPUP.SELECTIONFN GETSKETCHWREGION SK.ADD.ELEMENT SK.ADD.PRIORITY.ELEMENT.TO.SKETCH - SK.ELTS.BY.PRIORITY SK.ORDER.ELEMENTS SK.ADD.PRIORITY.LOCAL.ELEMENT.TO.SKETCH - SK.ADD.ELEMENTS SK.CHECK.WHENADDEDFN SK.APPLY.MENU.COMMAND SK.DELETE.ELEMENT1 - SK.MARK.DIRTY SK.MARK.UNDIRTY SK.MENU.AND.RETURN.FIELD SKETCH.SET.BRUSH.SHAPE - SKETCH.SET.BRUSH.SIZE SKETCHW.CLOSEFN SK.CONFIRM.DESTRUCTION SKETCHW.OUTFN - SKETCHW.REOPENFN MAKE.LOCAL.SKETCH MAP.SKETCHSPEC.INTO.VIEWER SKETCHW.REPAINTFN - SKETCHW.REPAINTFN1 SK.DRAWFIGURE.IF SKETCHW.SCROLLFN SKETCHW.RESHAPEFN - SK.UPDATE.EVENT.SELECTION LIGHTGRAYWINDOW SK.ADD.SPACES SK.SKETCH.MENU - SK.CHECK.IMAGEOBJ.WHENDELETEDFN SK.APPLY.IMAGEOBJ.WHENDELETEDFN SK.RETURN.TTY - SK.TAKE.TTY) + ADD.SKETCH.TO.VIEWER SK.ADD.ELEMENTS.TO.SKETCH SKETCH.SET.A.DEFAULT SK.POPUP.SELECTIONFN + GETSKETCHWREGION SK.ADD.ELEMENT SK.ADD.PRIORITY.ELEMENT.TO.SKETCH SK.ELTS.BY.PRIORITY + SK.ORDER.ELEMENTS SK.ADD.PRIORITY.LOCAL.ELEMENT.TO.SKETCH SK.ADD.ELEMENTS + SK.CHECK.WHENADDEDFN SK.APPLY.MENU.COMMAND SK.DELETE.ELEMENT1 SK.MARK.DIRTY + SK.MARK.UNDIRTY SK.MENU.AND.RETURN.FIELD SKETCH.SET.BRUSH.SHAPE SKETCH.SET.BRUSH.SIZE + SKETCHW.CLOSEFN SK.CONFIRM.DESTRUCTION SKETCHW.OUTFN SKETCHW.REOPENFN MAKE.LOCAL.SKETCH + MAP.SKETCHSPEC.INTO.VIEWER SKETCHW.REPAINTFN SKETCHW.REPAINTFN1 SK.DRAWFIGURE.IF + SKETCHW.SCROLLFN SKETCHW.RESHAPEFN SK.UPDATE.EVENT.SELECTION LIGHTGRAYWINDOW + SK.ADD.SPACES SK.SKETCH.MENU SK.CHECK.IMAGEOBJ.WHENDELETEDFN + SK.APPLY.IMAGEOBJ.WHENDELETEDFN SK.RETURN.TTY SK.TAKE.TTY) (COMS (* ;  "fns for dealing with the sketch menu") (FNS SKETCH.COMMANDMENU SKETCH.COMMANDMENU.ITEMS CREATE.SKETCHW.COMMANDMENU @@ -242,6 +251,7 @@ To abort loading the new version of Sketch, type '^'."] "Reads a file name and opens a sketch window onto the sketch it contains." ] (VARS (BackgroundMenu)) + (VARS SKETCHFILES) (FILES SKETCH-OPS SKETCH-ELEMENTS SKETCH-EDIT SKETCH-OBJ SKETCH-BMELT) (DECLARE%: DONTEVAL@LOAD DOEVAL@COMPILE DONTCOPY (FILES (LOADCOMP) SKETCH-OPS SKETCH-ELEMENTS SKETCH-OBJ @@ -437,12 +447,13 @@ To abort loading the new version of Sketch, type '^'."] (RETURN NEWNAME]) (SK.OUTPUT.FILE.NAME - [LAMBDA (SKETCHFILENAME) (* rrb " 5-May-86 10:45") + [LAMBDA (SKETCHFILENAME) (* ; "Edited 3-Nov-2025 15:05 by rmk") + (* rrb " 5-May-86 10:45") (COND - ((STRPOS " " SKETCHFILENAME) (* don't put up dummy names that - contain spaces) + ((STRPOS " " SKETCHFILENAME) (* ; + "don't put up dummy names that contain spaces") NIL) - (T (FILENAMELESSVERSION SKETCHFILENAME]) + (T (PACKFILENAME 'VERSION NIL 'BODY SKETCHFILENAME]) (SKETCH.PUT [LAMBDA (FILENAME SKETCH VIEWER REGION SCALE GRID) (* ; "Edited 1-Feb-2022 09:17 by rmk") @@ -640,13 +651,6 @@ To abort loading the new version of Sketch, type '^'."] (GETSKETCHPROP TOSKETCH 'VIEWS]) (PUTSKETCHPROP TOSKETCH SKPROP (GETSKETCHPROP ADDSKETCH SKPROP]) -(FILENAMELESSVERSION - [LAMBDA (FILENAME) (* rrb "29-Jan-86 15:57") - - (* strips the version number off of FILENAME if it has one.) - - (PACKFILENAME (CONS 'VERSION (CONS NIL (UNPACKFILENAME FILENAME]) - (SK.ADD.ELEMENTS.TO.SKETCH [LAMBDA (ELTS SKW) (* rrb "10-Mar-86 16:50") (* adds a list of elements to a sketch) @@ -6657,10 +6661,9 @@ This will be slow for arcs and curves.")) (DEFINEQ (SKETCH.TITLE - [LAMBDA (SKW) (* rrb " 5-May-86 13:19") - - (* gets the title of the sketch being edited in SKW.) - + [LAMBDA (SKW) (* rrb " 5-May-86 13:19") + (* gets the title of the sketch being + edited in SKW.) (fetch (SKETCH SKETCHNAME) of (INSURE.SKETCH SKW]) (SK.SHRINK.ICONCREATE @@ -8594,6 +8597,8 @@ Otherwise, type '^'.") (RPAQQ BackgroundMenu NIL) +(RPAQQ SKETCHFILES (SKETCH SKETCH-OPS SKETCH-ELEMENTS SKETCH-EDIT SKETCH-OBJ SKETCH-BMELT)) + (FILESLOAD SKETCH-OPS SKETCH-ELEMENTS SKETCH-EDIT SKETCH-OBJ SKETCH-BMELT) (DECLARE%: DONTEVAL@LOAD DOEVAL@COMPILE DONTCOPY @@ -8768,149 +8773,149 @@ Otherwise, type '^'.") (ADDTOVAR LAMA SK.UNIONREGIONS SKETCH.CREATE) ) (DECLARE%: DONTCOPY - (FILEMAP (NIL (22176 85539 (SKETCH 22186 . 24291) (SKETCH.FROM.A.FILE 24293 . 24608) (SKETCHW.CREATE -24610 . 29184) (SKETCH.RESET 29186 . 30708) (SKETCHW.FIG.CHANGED 30710 . 31050) (SK.WINDOW.TITLE 31052 - . 31439) (EDITSLIDE 31441 . 31847) (EDITSKETCH 31849 . 32173) (SK.PUT.ON.FILE 32175 . 33627) ( -SK.OUTPUT.FILE.NAME 33629 . 34003) (SKETCH.PUT 34005 . 36903) (SK.GET.FROM.FILE 36905 . 37798) ( -SK.INCLUDE.FILE 37800 . 40308) (SK.GET.IMAGEOBJ.FROM.FILE 40310 . 42513) (SKETCH.GET 42515 . 42822) ( -ADD.SKETCH.TO.VIEWER 42824 . 45410) (FILENAMELESSVERSION 45412 . 45688) (SK.ADD.ELEMENTS.TO.SKETCH -45690 . 46204) (SKETCH.SET.A.DEFAULT 46206 . 53364) (SK.POPUP.SELECTIONFN 53366 . 53908) ( -GETSKETCHWREGION 53910 . 54116) (SK.ADD.ELEMENT 54118 . 55697) (SK.ADD.PRIORITY.ELEMENT.TO.SKETCH -55699 . 57093) (SK.ELTS.BY.PRIORITY 57095 . 57391) (SK.ORDER.ELEMENTS 57393 . 57660) ( -SK.ADD.PRIORITY.LOCAL.ELEMENT.TO.SKETCH 57662 . 59156) (SK.ADD.ELEMENTS 59158 . 59682) ( -SK.CHECK.WHENADDEDFN 59684 . 60414) (SK.APPLY.MENU.COMMAND 60416 . 61214) (SK.DELETE.ELEMENT1 61216 . -62794) (SK.MARK.DIRTY 62796 . 63462) (SK.MARK.UNDIRTY 63464 . 63795) (SK.MENU.AND.RETURN.FIELD 63797 - . 64462) (SKETCH.SET.BRUSH.SHAPE 64464 . 65049) (SKETCH.SET.BRUSH.SIZE 65051 . 65557) ( -SKETCHW.CLOSEFN 65559 . 67350) (SK.CONFIRM.DESTRUCTION 67352 . 68351) (SKETCHW.OUTFN 68353 . 68617) ( -SKETCHW.REOPENFN 68619 . 69031) (MAKE.LOCAL.SKETCH 69033 . 69763) (MAP.SKETCHSPEC.INTO.VIEWER 69765 . -70975) (SKETCHW.REPAINTFN 70977 . 71805) (SKETCHW.REPAINTFN1 71807 . 72746) (SK.DRAWFIGURE.IF 72748 . -73270) (SKETCHW.SCROLLFN 73272 . 77465) (SKETCHW.RESHAPEFN 77467 . 79725) (SK.UPDATE.EVENT.SELECTION -79727 . 81782) (LIGHTGRAYWINDOW 81784 . 81947) (SK.ADD.SPACES 81949 . 82695) (SK.SKETCH.MENU 82697 . -83019) (SK.CHECK.IMAGEOBJ.WHENDELETEDFN 83021 . 83873) (SK.APPLY.IMAGEOBJ.WHENDELETEDFN 83875 . 84835) - (SK.RETURN.TTY 84837 . 85205) (SK.TAKE.TTY 85207 . 85537)) (85593 108921 (SKETCH.COMMANDMENU 85603 . -85940) (SKETCH.COMMANDMENU.ITEMS 85942 . 106025) (CREATE.SKETCHW.COMMANDMENU 106027 . 106447) ( -SKETCHW.SELECTIONFN 106449 . 107552) (SKETCH.MONITORLOCK 107554 . 108025) (SK.EVAL.AS.PROCESS 108027 - . 108640) (SK.EVAL.WITH.LOCK 108642 . 108919)) (108922 116726 (SK.FIX.MENU 108932 . 110026) ( -SK.SET.UP.MENUS 110028 . 112329) (SK.INSURE.HAS.MENU 112331 . 112993) (SK.CREATE.STANDARD.MENU 112995 - . 113440) (SK.ADD.ITEM.TO.MENU 113442 . 114117) (SK.GET.VIEWER.POPUP.MENU 114119 . 116320) ( -SK.CLEAR.POPUP.MENU 116322 . 116724)) (116782 125604 (SKETCH.CREATE 116792 . 117578) (GETSKETCHPROP -117580 . 120637) (PUTSKETCHPROP 120639 . 124571) (CREATE.DEFAULT.SKETCH.CONTEXT 124573 . 125602)) ( -125770 148666 (SK.COPY.BUTTONEVENTFN 125780 . 137008) (SK.BUTTONEVENT.MARK 137010 . 137393) ( -SK.BUILD.IMAGEOBJ 137395 . 147310) (SK.BUTTONEVENT.OVERP 147312 . 147935) (SK.BUTTONEVENT.SAME.KEYS -147937 . 148664)) (148945 174760 (SK.SEL.AND.CHANGE 148955 . 149247) (SK.CHECK.WHENCHANGEDFN 149249 . -149955) (SK.CHECK.PRECHANGEFN 149957 . 150558) (SK.CHANGE.ELT 150560 . 150752) (SK.CHANGE.THING 150754 - . 152005) (SKETCH.CHANGE.ELEMENTS 152007 . 153190) (SK.APPLY.SINGLE.CHANGEFN 153192 . 153765) ( -SK.DO.CHANGESPECS 153767 . 155426) (SK.VIEWER.FROM.SKETCH.ARG 155428 . 155870) (SK.DO.CHANGESPEC1 -155872 . 157747) (SK.CHANGEFN 157749 . 158329) (SK.READCHANGEFN 158331 . 158790) (SK.DEFAULT.CHANGEFN -158792 . 161264) (CHANGEABLEFIELDITEMS 161266 . 161913) (SK.APPLY.CHANGE.COMMAND 161915 . 162532) ( -SK.DO.AND.RECORD.CHANGES 162534 . 163931) (SK.APPLY.CHANGE.COMMAND1 163933 . 165421) ( -SK.ELEMENTS.CHANGEFN 165423 . 167747) (READ.POINT.TO.ADD 167749 . 168693) (GLOBAL.KNOT.FROM.LOCAL -168695 . 169155) (SK.ADD.KNOT.TO.ELEMENT 169157 . 170101) (SK.GROUP.CHANGEFN 170103 . 171315) ( -SK.GROUP.CHANGEFN1 171317 . 174758)) (174927 188660 (ADD.ELEMENT.TO.SKETCH 174937 . 176643) ( -ADD.SKETCH.VIEWER 176645 . 177313) (REMOVE.SKETCH.VIEWER 177315 . 177928) (ALL.SKETCH.VIEWERS 177930 - . 178170) (SKETCH.ALL.VIEWERS 178172 . 178432) (VIEWER.BUCKET 178434 . 178585) (ELT.INSIDE.REGION? -178587 . 178914) (ELT.INSIDE.SKWP 178916 . 179207) (SCALE.FROM.SKW 179209 . 179459) ( -SK.ADDELT.TO.WINDOW 179461 . 180321) (SK.CALC.REGION.VIEWED 180323 . 180701) (SK.DRAWFIGURE 180703 . -181992) (SK.DRAWFIGURE1 181994 . 182378) (SK.LOCAL.FROM.GLOBAL 182380 . 183615) (SKETCH.REGION.VIEWED -183617 . 186304) (SKETCH.VIEW.FROM.NAME 186306 . 186736) (SK.UPDATE.REGION.VIEWED 186738 . 187130) ( -SKETCH.ADD.AND.DISPLAY 187132 . 187540) (SKETCH.ADD.AND.DISPLAY1 187542 . 187980) (SK.ADD.ITEM 187982 - . 188314) (SKETCHW.ADD.INSTANCE 188316 . 188658)) (188701 201889 (SK.SEL.AND.DELETE 188711 . 189099) -(SK.ERASE.AND.DELETE.ITEM 189101 . 189520) (REMOVE.ELEMENT.FROM.SKETCH 189522 . 190633) ( -SK.DELETE.ELEMENT 190635 . 191193) (SK.DELETE.ELEMENT2 191195 . 191856) (SK.DELETE.KNOT 191858 . -192149) (SK.SEL.AND.DELETE.KNOT 192151 . 193276) (SK.DELETE.ELEMENT.KNOT 193278 . 196485) ( -SK.CHECK.WHENDELETEDFN 196487 . 197267) (SK.CHECK.PREEDITFN 197269 . 197753) ( -SK.CHECK.END.INITIAL.EDIT 197755 . 198289) (SK.CHECK.WHENPOINTDELETEDFN 198291 . 199087) (SK.ERASE.ELT - 199089 . 199425) (SK.DELETE.ELT 199427 . 199802) (SK.DELETE.ITEM 199804 . 200212) (DELFROMTCONC -200214 . 201887)) (201928 215762 (SK.COPY.ELT 201938 . 202308) (SK.SEL.AND.COPY 202310 . 202693) ( -SK.COPY.ELEMENTS 202695 . 208323) (SK.ADD.COPY.OF.ELEMENTS 208325 . 210092) ( -SK.GLOBAL.FROM.LOCAL.ELEMENTS 210094 . 210334) (SK.COPY.ITEM 210336 . 211133) (SK.INSERT.SKETCH 211135 - . 215760)) (215802 245823 (SK.MOVE.ELT 215812 . 216087) (SK.MOVE.ELT.OR.PT 216089 . 216402) ( -SK.APPLY.DEFAULT.MOVE 216404 . 216838) (SK.SEL.AND.MOVE 216840 . 217387) (SK.MOVE.ELEMENTS 217389 . -228261) (SKETCH.MOVE.ELEMENTS 228263 . 230194) (SKETCH.COPY.ELEMENTS 230196 . 232243) ( -\SKETCH.COPY.ELEMENT 232245 . 232970) (SK.TRANSLATE.ELEMENT 232972 . 233455) (SK.COPY.GLOBAL.ELEMENT -233457 . 233668) (SK.MAKE.ELEMENT.MOVE.ARG 233670 . 234290) (SK.MAKE.ELEMENTS.MOVE.ARG 234292 . 234814 -) (SK.MAKE.POINTS.AND.ELEMENTS.MOVE.ARG 234816 . 235885) (SK.SHOW.FIG.FROM.INFO 235887 . 236255) ( -SK.MOVE.THING 236257 . 237163) (UPDATE.ELEMENT.IN.SKETCH 237165 . 239220) (SK.UPDATE.ELEMENT 239222 . -240781) (SK.UPDATE.ELEMENTS 240783 . 241502) (SK.UPDATE.ELEMENT1 241504 . 245404) ( -SK.MOVE.ELEMENT.POINT 245406 . 245821)) (245886 268175 (SK.MOVE.POINTS 245896 . 246183) ( -SK.SEL.AND.MOVE.POINTS 246185 . 246490) (SK.DO.MOVE.ELEMENT.POINTS 246492 . 255149) ( -SK.MOVE.ITEM.POINTS 255151 . 256822) (SK.TRANSLATEPTSFN 256824 . 257208) (SK.TRANSLATE.POINTS 257210 - . 258111) (SK.SELECT.MULTIPLE.POINTS 258113 . 263753) (SK.CONTROL.POINTS.IN.REGION 263755 . 265176) ( -SK.ADD.PT.SELECTION 265178 . 265642) (SK.REMOVE.PT.SELECTION 265644 . 266261) (SK.ADD.POINT 266263 . -266886) (SK.ELTS.CONTAINING.PTS 266888 . 267513) (SK.HOTSPOTS.NOT.ON.LIST 267515 . 268173)) (268333 -271129 (SK.SET.MOVE.MODE 268343 . 269014) (SK.SET.MOVE.MODE.POINTS 269016 . 269355) ( -SK.SET.MOVE.MODE.ELEMENTS 269357 . 269701) (SK.SET.MOVE.MODE.COMBINED 269703 . 270053) (READMOVEMODE -270055 . 271127)) (271130 289885 (SK.ALIGN.POINTS 271140 . 271430) (SK.SEL.AND.ALIGN.POINTS 271432 . -271741) (SK.ALIGN.POINTS.LEFT 271743 . 272046) (SK.ALIGN.POINTS.RIGHT 272048 . 272353) ( -SK.ALIGN.POINTS.TOP 272355 . 272656) (SK.ALIGN.POINTS.BOTTOM 272658 . 272965) ( -SK.EVEN.SPACE.POINTS.IN.X 272967 . 273287) (SK.EVEN.SPACE.POINTS.IN.Y 273289 . 273609) ( -SK.DO.ALIGN.POINTS 273611 . 284233) (SK.NTH.CONTROL.POINT 284235 . 284696) ( -SK.GET.SELECTED.ELEMENT.STRUCTURE 284698 . 285364) (SK.CORRESPONDING.CONTROL.PT 285366 . 285920) ( -SK.CONTROL.POINT.NUMBER 285922 . 286292) (SK.DO.ALIGN.SETVALUE 286294 . 289883)) (289949 303381 ( -SKETCH.CREATE.GROUP 289959 . 290448) (SK.CREATE.GROUP1 290450 . 290997) (SK.UPDATE.GROUP.AFTER.CHANGE -290999 . 291788) (SK.GROUP.ELTS 291790 . 292071) (SK.SEL.AND.GROUP 292073 . 292459) (SK.GROUP.ELEMENTS - 292461 . 294110) (SK.UNGROUP.ELT 294112 . 294396) (SK.SEL.AND.UNGROUP 294398 . 296067) ( -SK.UNGROUP.ELEMENT 296069 . 297005) (SK.GLOBAL.REGION.OF.LOCAL.ELEMENTS 297007 . 297929) ( -SK.LOCAL.REGION.OF.LOCAL.ELEMENTS 297931 . 298942) (SK.GLOBAL.REGION.OF.GLOBAL.ELEMENTS 298944 . -300284) (SK.UNIONREGIONS 300286 . 302652) (SKETCH.REGION.OF.SKETCH 302654 . 303070) (SK.FLASHREGION -303072 . 303379)) (303382 316853 (INIT.GROUP.ELEMENT 303392 . 304264) (GROUP.DRAWFN 304266 . 304716) ( -GROUP.EXPANDFN 304718 . 306281) (GROUP.INSIDEFN 306283 . 306692) (GROUP.REGIONFN 306694 . 307089) ( -GROUP.GLOBALREGIONFN 307091 . 307409) (GROUP.TRANSLATEFN 307411 . 309443) (GROUP.TRANSFORMFN 309445 . -312925) (GROUP.READCHANGEFN 312927 . 316851)) (316854 317862 (REGION.CENTER 316864 . 317465) ( -REMOVE.LAST 317467 . 317860)) (317915 323022 (SK.MOVE.GROUP.CONTROL.PT 317925 . 318216) ( -SK.SEL.AND.MOVE.CONTROL.PT 318218 . 319622) (SK.MOVE.GROUP.ELEMENT.CONTROL.POINT 319624 . 321697) ( -SK.READ.NEW.GROUP.CONTROL.PT 321699 . 323020)) (323281 327905 (SK.DO.GROUP 323291 . 324743) ( -SK.CHECK.WHENGROUPEDFN 324745 . 325455) (SK.DO.UNGROUP 325457 . 326662) (SK.CHECK.WHENUNGROUPEDFN -326664 . 327251) (SK.GROUP.UNDO 327253 . 327576) (SK.UNGROUP.UNDO 327578 . 327903)) (328146 333068 ( -SK.FREEZE.ELTS 328156 . 328440) (SK.SEL.AND.FREEZE 328442 . 328832) (SK.FREEZE.ELEMENTS 328834 . -329385) (SK.UNFREEZE.ELT 329387 . 329676) (SK.SEL.AND.UNFREEZE 329678 . 331214) (SK.UNFREEZE.ELEMENTS -331216 . 331775) (SK.FREEZE.UNDO 331777 . 332022) (SK.UNFREEZE.UNDO 332024 . 332271) (SK.DO.FREEZE -332273 . 332666) (SK.DO.UNFREEZE 332668 . 333066)) (333298 343108 (SKETCH.ELEMENTS.OF.SKETCH 333308 . -334143) (SKETCH.LIST.OF.ELEMENTS 334145 . 334863) (SKETCH.ADD.ELEMENT 334865 . 335940) ( -SKETCH.DELETE.ELEMENT 335942 . 337674) (DELFROMGROUPELT 337676 . 338476) (SKETCH.ELEMENT.TYPE 338478 - . 338827) (SKETCH.ELEMENT.CHANGED 338829 . 340397) (SK.ELEMENT.CHANGED1 340399 . 341050) ( -SK.UPDATE.GLOBAL.IMAGE.OBJECT.ELEMENT 341052 . 343106)) (343162 347774 (INSURE.SKETCH 343172 . 345787) - (LOCALSPECS.FROM.VIEWER 345789 . 346149) (SK.LOCAL.ELT.FROM.GLOBALPART 346151 . 346619) ( -SKETCH.FROM.VIEWER 346621 . 346855) (INSPECT.SKETCH 346857 . 347182) (ELT.INSIDE.SKETCHWP 347184 . -347457) (SK.INSIDE.REGION 347459 . 347772)) (347775 352105 (MAPSKETCHSPECS 347785 . 348406) ( -MAPCOLLECTSKETCHSPECS 348408 . 349157) (MAPSKETCHSPECSUNTIL 349159 . 349967) (MAPGLOBALSKETCHSPECS -349969 . 350670) (MAPGLOBALSKETCHELEMENTS 350672 . 352103)) (352167 378059 (SK.ADD.SELECTION 352177 . -352917) (SK.COPY.INSERTFN 352919 . 356550) (SCREENELEMENTP 356552 . 357025) (SK.ITEM.REGION 357027 . -357514) (SK.ELEMENT.GLOBAL.REGION 357516 . 358044) (SK.LOCAL.ITEMS.IN.REGION 358046 . 360025) ( -SK.REGIONFN 360027 . 360349) (SK.GLOBAL.REGIONFN 360351 . 360709) (SK.REMOVE.SELECTION 360711 . 361439 -) (SK.SELECT.MULTIPLE.ITEMS 361441 . 371883) (SKETCH.GET.ELEMENTS 371885 . 373308) (SK.PUT.MARKS.UP -373310 . 373649) (SK.TAKE.MARKS.DOWN 373651 . 373990) (SK.TRANSLATE.GLOBALPART 373992 . 376119) ( -SK.TRANSLATE.ITEM 376121 . 377048) (SK.TRANSLATEFN 377050 . 377246) (TRANSLATE.SKETCH 377248 . 378057) -) (378325 381232 (SK.INPUT.SCALE 378335 . 379182) (SK.UPDATE.SKETCHCONTEXT 379184 . 379781) ( -SK.SET.INPUT.SCALE 379783 . 380432) (SK.SET.INPUT.SCALE.CURRENT 380434 . 380725) ( -SK.SET.INPUT.SCALE.VALUE 380727 . 381230)) (381283 383195 (SK.SET.FEEDBACK.MODE 381293 . 382599) ( -SK.SET.FEEDBACK.POINT 382601 . 382769) (SK.SET.FEEDBACK.VERBOSE 382771 . 382940) ( -SK.SET.FEEDBACK.ALWAYS 382942 . 383193)) (383346 384623 (SKETCH.TITLE 383356 . 383619) ( -SK.SHRINK.ICONCREATE 383621 . 384621)) (390313 393127 (READBRUSHSHAPE 390323 . 390782) (READ.FUNCTION -390784 . 391299) (READBRUSHSIZE 391301 . 391759) (READANGLE 391761 . 392253) (READARCDIRECTION 392255 - . 393125)) (393128 403539 (SK.CHANGE.DASHING 393138 . 397086) (READ.AND.SAVE.NEW.DASHING 397088 . -398856) (READ.NEW.DASHING 398858 . 400598) (READ.DASHING.CHANGE 400600 . 402075) (SK.CACHE.DASHING -402077 . 403079) (SK.DASHING.LABEL 403081 . 403537)) (403540 407245 (READ.FILLING.CHANGE 403550 . -405531) (SK.CACHE.FILLING 405533 . 406251) (READ.AND.SAVE.NEW.FILLING 406253 . 406851) ( -SK.FILLING.LABEL 406853 . 407243)) (407629 443882 (SK.GETGLOBALPOSITION 407639 . 407944) ( -SKETCH.TRACK.ELEMENTS 407946 . 411466) (SK.PICKOUT.WHOLE.MOVE.ELEMENTS 411468 . 412027) ( -MAP.SKETCH.ELEMENTS.INTO.VIEWER 412029 . 412421) (MAP.GLOBAL.POSITION.INTO.VIEWER 412423 . 412803) ( -SKETCH.TO.VIEWER.POSITION 412805 . 413164) (SKETCH.TRACK.IMAGE 413166 . 414020) (SK.TRACK.IMAGE1 -414022 . 415434) (MAP.VIEWER.XY.INTO.GLOBAL 415436 . 416430) (SK.SET.POSITION 416432 . 416768) ( -MAP.VIEWER.PT.INTO.GLOBAL 416770 . 417876) (VIEWER.TO.SKETCH.POSITION 417878 . 418513) ( -SK.INSURE.SCALE 418515 . 418775) (SKETCH.TO.VIEWER.REGION 418777 . 419583) (VIEWER.TO.SKETCH.REGION -419585 . 419923) (SK.READ.POINT.WITH.FEEDBACK 419925 . 430928) (SKETCH.GET.POSITION 430930 . 432810) ( -\CLOBBER.POSITION 432812 . 433260) (NEAREST.HOT.SPOT 433262 . 434790) (GETWREGION 434792 . 435553) ( -GET.BITMAP.POSITION 435555 . 436339) (SK.TRACK.BITMAP1 436341 . 443880)) (444451 475337 ( -SK.BRING.UP.POSITION.PAD 444461 . 450321) (SK.PAD.READER.POSITION 450323 . 451972) ( -SK.POSITION.READER.REPAINTFN 451974 . 453758) (SK.POSITION.PAD.FROM.VIEWER 453760 . 455102) ( -SK.INIT.POSITION.NUMBER.PAD.MENU 455104 . 455454) (SK.READ.POSITION.PAD.HANDLER 455456 . 461188) ( -DISPLAY.POSITION.READER.TOTAL 461190 . 463488) (POSITION.PAD.READER.HANDLER 463490 . 471533) ( -POSITIONPAD.HELDFN 471535 . 473019) (\POSITION.PAD.ADD.DIGIT.MENU 473021 . 474600) ( -\POSITION.READER.NUMBERPAD 474602 . 475335)) (476963 479641 (SK.DRAWFN 476973 . 477339) ( -SK.TRANSFORMFN 477341 . 477722) (SK.EXPANDFN 477724 . 478001) (SK.INPUT 478003 . 478384) (SK.INSIDEFN -478386 . 479026) (SK.UPDATEFN 479028 . 479639)) (485309 489254 (SK.CHECK.SKETCH.VERSION 485319 . -486559) (SK.INSURE.RECORD.LENGTH 486561 . 488044) (SK.INSURE.HAS.LENGTH 488046 . 488784) ( -SK.RECORD.LENGTH 488786 . 488960) (SK.SET.RECORD.LENGTHS 488962 . 489252)) (489999 490886 ( -SK.ADD.EDIT.COMMAND.TO.FILE.BROWSER 490009 . 490884))))) + (FILEMAP (NIL (22797 85993 (SKETCH 22807 . 24912) (SKETCH.FROM.A.FILE 24914 . 25229) (SKETCHW.CREATE +25231 . 29805) (SKETCH.RESET 29807 . 31329) (SKETCHW.FIG.CHANGED 31331 . 31671) (SK.WINDOW.TITLE 31673 + . 32060) (EDITSLIDE 32062 . 32468) (EDITSKETCH 32470 . 32794) (SK.PUT.ON.FILE 32796 . 34248) ( +SK.OUTPUT.FILE.NAME 34250 . 34735) (SKETCH.PUT 34737 . 37635) (SK.GET.FROM.FILE 37637 . 38530) ( +SK.INCLUDE.FILE 38532 . 41040) (SK.GET.IMAGEOBJ.FROM.FILE 41042 . 43245) (SKETCH.GET 43247 . 43554) ( +ADD.SKETCH.TO.VIEWER 43556 . 46142) (SK.ADD.ELEMENTS.TO.SKETCH 46144 . 46658) (SKETCH.SET.A.DEFAULT +46660 . 53818) (SK.POPUP.SELECTIONFN 53820 . 54362) (GETSKETCHWREGION 54364 . 54570) (SK.ADD.ELEMENT +54572 . 56151) (SK.ADD.PRIORITY.ELEMENT.TO.SKETCH 56153 . 57547) (SK.ELTS.BY.PRIORITY 57549 . 57845) ( +SK.ORDER.ELEMENTS 57847 . 58114) (SK.ADD.PRIORITY.LOCAL.ELEMENT.TO.SKETCH 58116 . 59610) ( +SK.ADD.ELEMENTS 59612 . 60136) (SK.CHECK.WHENADDEDFN 60138 . 60868) (SK.APPLY.MENU.COMMAND 60870 . +61668) (SK.DELETE.ELEMENT1 61670 . 63248) (SK.MARK.DIRTY 63250 . 63916) (SK.MARK.UNDIRTY 63918 . 64249 +) (SK.MENU.AND.RETURN.FIELD 64251 . 64916) (SKETCH.SET.BRUSH.SHAPE 64918 . 65503) ( +SKETCH.SET.BRUSH.SIZE 65505 . 66011) (SKETCHW.CLOSEFN 66013 . 67804) (SK.CONFIRM.DESTRUCTION 67806 . +68805) (SKETCHW.OUTFN 68807 . 69071) (SKETCHW.REOPENFN 69073 . 69485) (MAKE.LOCAL.SKETCH 69487 . 70217 +) (MAP.SKETCHSPEC.INTO.VIEWER 70219 . 71429) (SKETCHW.REPAINTFN 71431 . 72259) (SKETCHW.REPAINTFN1 +72261 . 73200) (SK.DRAWFIGURE.IF 73202 . 73724) (SKETCHW.SCROLLFN 73726 . 77919) (SKETCHW.RESHAPEFN +77921 . 80179) (SK.UPDATE.EVENT.SELECTION 80181 . 82236) (LIGHTGRAYWINDOW 82238 . 82401) ( +SK.ADD.SPACES 82403 . 83149) (SK.SKETCH.MENU 83151 . 83473) (SK.CHECK.IMAGEOBJ.WHENDELETEDFN 83475 . +84327) (SK.APPLY.IMAGEOBJ.WHENDELETEDFN 84329 . 85289) (SK.RETURN.TTY 85291 . 85659) (SK.TAKE.TTY +85661 . 85991)) (86047 109375 (SKETCH.COMMANDMENU 86057 . 86394) (SKETCH.COMMANDMENU.ITEMS 86396 . +106479) (CREATE.SKETCHW.COMMANDMENU 106481 . 106901) (SKETCHW.SELECTIONFN 106903 . 108006) ( +SKETCH.MONITORLOCK 108008 . 108479) (SK.EVAL.AS.PROCESS 108481 . 109094) (SK.EVAL.WITH.LOCK 109096 . +109373)) (109376 117180 (SK.FIX.MENU 109386 . 110480) (SK.SET.UP.MENUS 110482 . 112783) ( +SK.INSURE.HAS.MENU 112785 . 113447) (SK.CREATE.STANDARD.MENU 113449 . 113894) (SK.ADD.ITEM.TO.MENU +113896 . 114571) (SK.GET.VIEWER.POPUP.MENU 114573 . 116774) (SK.CLEAR.POPUP.MENU 116776 . 117178)) ( +117236 126058 (SKETCH.CREATE 117246 . 118032) (GETSKETCHPROP 118034 . 121091) (PUTSKETCHPROP 121093 . +125025) (CREATE.DEFAULT.SKETCH.CONTEXT 125027 . 126056)) (126224 149120 (SK.COPY.BUTTONEVENTFN 126234 + . 137462) (SK.BUTTONEVENT.MARK 137464 . 137847) (SK.BUILD.IMAGEOBJ 137849 . 147764) ( +SK.BUTTONEVENT.OVERP 147766 . 148389) (SK.BUTTONEVENT.SAME.KEYS 148391 . 149118)) (149399 175214 ( +SK.SEL.AND.CHANGE 149409 . 149701) (SK.CHECK.WHENCHANGEDFN 149703 . 150409) (SK.CHECK.PRECHANGEFN +150411 . 151012) (SK.CHANGE.ELT 151014 . 151206) (SK.CHANGE.THING 151208 . 152459) ( +SKETCH.CHANGE.ELEMENTS 152461 . 153644) (SK.APPLY.SINGLE.CHANGEFN 153646 . 154219) (SK.DO.CHANGESPECS +154221 . 155880) (SK.VIEWER.FROM.SKETCH.ARG 155882 . 156324) (SK.DO.CHANGESPEC1 156326 . 158201) ( +SK.CHANGEFN 158203 . 158783) (SK.READCHANGEFN 158785 . 159244) (SK.DEFAULT.CHANGEFN 159246 . 161718) ( +CHANGEABLEFIELDITEMS 161720 . 162367) (SK.APPLY.CHANGE.COMMAND 162369 . 162986) ( +SK.DO.AND.RECORD.CHANGES 162988 . 164385) (SK.APPLY.CHANGE.COMMAND1 164387 . 165875) ( +SK.ELEMENTS.CHANGEFN 165877 . 168201) (READ.POINT.TO.ADD 168203 . 169147) (GLOBAL.KNOT.FROM.LOCAL +169149 . 169609) (SK.ADD.KNOT.TO.ELEMENT 169611 . 170555) (SK.GROUP.CHANGEFN 170557 . 171769) ( +SK.GROUP.CHANGEFN1 171771 . 175212)) (175381 189114 (ADD.ELEMENT.TO.SKETCH 175391 . 177097) ( +ADD.SKETCH.VIEWER 177099 . 177767) (REMOVE.SKETCH.VIEWER 177769 . 178382) (ALL.SKETCH.VIEWERS 178384 + . 178624) (SKETCH.ALL.VIEWERS 178626 . 178886) (VIEWER.BUCKET 178888 . 179039) (ELT.INSIDE.REGION? +179041 . 179368) (ELT.INSIDE.SKWP 179370 . 179661) (SCALE.FROM.SKW 179663 . 179913) ( +SK.ADDELT.TO.WINDOW 179915 . 180775) (SK.CALC.REGION.VIEWED 180777 . 181155) (SK.DRAWFIGURE 181157 . +182446) (SK.DRAWFIGURE1 182448 . 182832) (SK.LOCAL.FROM.GLOBAL 182834 . 184069) (SKETCH.REGION.VIEWED +184071 . 186758) (SKETCH.VIEW.FROM.NAME 186760 . 187190) (SK.UPDATE.REGION.VIEWED 187192 . 187584) ( +SKETCH.ADD.AND.DISPLAY 187586 . 187994) (SKETCH.ADD.AND.DISPLAY1 187996 . 188434) (SK.ADD.ITEM 188436 + . 188768) (SKETCHW.ADD.INSTANCE 188770 . 189112)) (189155 202343 (SK.SEL.AND.DELETE 189165 . 189553) +(SK.ERASE.AND.DELETE.ITEM 189555 . 189974) (REMOVE.ELEMENT.FROM.SKETCH 189976 . 191087) ( +SK.DELETE.ELEMENT 191089 . 191647) (SK.DELETE.ELEMENT2 191649 . 192310) (SK.DELETE.KNOT 192312 . +192603) (SK.SEL.AND.DELETE.KNOT 192605 . 193730) (SK.DELETE.ELEMENT.KNOT 193732 . 196939) ( +SK.CHECK.WHENDELETEDFN 196941 . 197721) (SK.CHECK.PREEDITFN 197723 . 198207) ( +SK.CHECK.END.INITIAL.EDIT 198209 . 198743) (SK.CHECK.WHENPOINTDELETEDFN 198745 . 199541) (SK.ERASE.ELT + 199543 . 199879) (SK.DELETE.ELT 199881 . 200256) (SK.DELETE.ITEM 200258 . 200666) (DELFROMTCONC +200668 . 202341)) (202382 216216 (SK.COPY.ELT 202392 . 202762) (SK.SEL.AND.COPY 202764 . 203147) ( +SK.COPY.ELEMENTS 203149 . 208777) (SK.ADD.COPY.OF.ELEMENTS 208779 . 210546) ( +SK.GLOBAL.FROM.LOCAL.ELEMENTS 210548 . 210788) (SK.COPY.ITEM 210790 . 211587) (SK.INSERT.SKETCH 211589 + . 216214)) (216256 246277 (SK.MOVE.ELT 216266 . 216541) (SK.MOVE.ELT.OR.PT 216543 . 216856) ( +SK.APPLY.DEFAULT.MOVE 216858 . 217292) (SK.SEL.AND.MOVE 217294 . 217841) (SK.MOVE.ELEMENTS 217843 . +228715) (SKETCH.MOVE.ELEMENTS 228717 . 230648) (SKETCH.COPY.ELEMENTS 230650 . 232697) ( +\SKETCH.COPY.ELEMENT 232699 . 233424) (SK.TRANSLATE.ELEMENT 233426 . 233909) (SK.COPY.GLOBAL.ELEMENT +233911 . 234122) (SK.MAKE.ELEMENT.MOVE.ARG 234124 . 234744) (SK.MAKE.ELEMENTS.MOVE.ARG 234746 . 235268 +) (SK.MAKE.POINTS.AND.ELEMENTS.MOVE.ARG 235270 . 236339) (SK.SHOW.FIG.FROM.INFO 236341 . 236709) ( +SK.MOVE.THING 236711 . 237617) (UPDATE.ELEMENT.IN.SKETCH 237619 . 239674) (SK.UPDATE.ELEMENT 239676 . +241235) (SK.UPDATE.ELEMENTS 241237 . 241956) (SK.UPDATE.ELEMENT1 241958 . 245858) ( +SK.MOVE.ELEMENT.POINT 245860 . 246275)) (246340 268629 (SK.MOVE.POINTS 246350 . 246637) ( +SK.SEL.AND.MOVE.POINTS 246639 . 246944) (SK.DO.MOVE.ELEMENT.POINTS 246946 . 255603) ( +SK.MOVE.ITEM.POINTS 255605 . 257276) (SK.TRANSLATEPTSFN 257278 . 257662) (SK.TRANSLATE.POINTS 257664 + . 258565) (SK.SELECT.MULTIPLE.POINTS 258567 . 264207) (SK.CONTROL.POINTS.IN.REGION 264209 . 265630) ( +SK.ADD.PT.SELECTION 265632 . 266096) (SK.REMOVE.PT.SELECTION 266098 . 266715) (SK.ADD.POINT 266717 . +267340) (SK.ELTS.CONTAINING.PTS 267342 . 267967) (SK.HOTSPOTS.NOT.ON.LIST 267969 . 268627)) (268787 +271583 (SK.SET.MOVE.MODE 268797 . 269468) (SK.SET.MOVE.MODE.POINTS 269470 . 269809) ( +SK.SET.MOVE.MODE.ELEMENTS 269811 . 270155) (SK.SET.MOVE.MODE.COMBINED 270157 . 270507) (READMOVEMODE +270509 . 271581)) (271584 290339 (SK.ALIGN.POINTS 271594 . 271884) (SK.SEL.AND.ALIGN.POINTS 271886 . +272195) (SK.ALIGN.POINTS.LEFT 272197 . 272500) (SK.ALIGN.POINTS.RIGHT 272502 . 272807) ( +SK.ALIGN.POINTS.TOP 272809 . 273110) (SK.ALIGN.POINTS.BOTTOM 273112 . 273419) ( +SK.EVEN.SPACE.POINTS.IN.X 273421 . 273741) (SK.EVEN.SPACE.POINTS.IN.Y 273743 . 274063) ( +SK.DO.ALIGN.POINTS 274065 . 284687) (SK.NTH.CONTROL.POINT 284689 . 285150) ( +SK.GET.SELECTED.ELEMENT.STRUCTURE 285152 . 285818) (SK.CORRESPONDING.CONTROL.PT 285820 . 286374) ( +SK.CONTROL.POINT.NUMBER 286376 . 286746) (SK.DO.ALIGN.SETVALUE 286748 . 290337)) (290403 303835 ( +SKETCH.CREATE.GROUP 290413 . 290902) (SK.CREATE.GROUP1 290904 . 291451) (SK.UPDATE.GROUP.AFTER.CHANGE +291453 . 292242) (SK.GROUP.ELTS 292244 . 292525) (SK.SEL.AND.GROUP 292527 . 292913) (SK.GROUP.ELEMENTS + 292915 . 294564) (SK.UNGROUP.ELT 294566 . 294850) (SK.SEL.AND.UNGROUP 294852 . 296521) ( +SK.UNGROUP.ELEMENT 296523 . 297459) (SK.GLOBAL.REGION.OF.LOCAL.ELEMENTS 297461 . 298383) ( +SK.LOCAL.REGION.OF.LOCAL.ELEMENTS 298385 . 299396) (SK.GLOBAL.REGION.OF.GLOBAL.ELEMENTS 299398 . +300738) (SK.UNIONREGIONS 300740 . 303106) (SKETCH.REGION.OF.SKETCH 303108 . 303524) (SK.FLASHREGION +303526 . 303833)) (303836 317307 (INIT.GROUP.ELEMENT 303846 . 304718) (GROUP.DRAWFN 304720 . 305170) ( +GROUP.EXPANDFN 305172 . 306735) (GROUP.INSIDEFN 306737 . 307146) (GROUP.REGIONFN 307148 . 307543) ( +GROUP.GLOBALREGIONFN 307545 . 307863) (GROUP.TRANSLATEFN 307865 . 309897) (GROUP.TRANSFORMFN 309899 . +313379) (GROUP.READCHANGEFN 313381 . 317305)) (317308 318316 (REGION.CENTER 317318 . 317919) ( +REMOVE.LAST 317921 . 318314)) (318369 323476 (SK.MOVE.GROUP.CONTROL.PT 318379 . 318670) ( +SK.SEL.AND.MOVE.CONTROL.PT 318672 . 320076) (SK.MOVE.GROUP.ELEMENT.CONTROL.POINT 320078 . 322151) ( +SK.READ.NEW.GROUP.CONTROL.PT 322153 . 323474)) (323735 328359 (SK.DO.GROUP 323745 . 325197) ( +SK.CHECK.WHENGROUPEDFN 325199 . 325909) (SK.DO.UNGROUP 325911 . 327116) (SK.CHECK.WHENUNGROUPEDFN +327118 . 327705) (SK.GROUP.UNDO 327707 . 328030) (SK.UNGROUP.UNDO 328032 . 328357)) (328600 333522 ( +SK.FREEZE.ELTS 328610 . 328894) (SK.SEL.AND.FREEZE 328896 . 329286) (SK.FREEZE.ELEMENTS 329288 . +329839) (SK.UNFREEZE.ELT 329841 . 330130) (SK.SEL.AND.UNFREEZE 330132 . 331668) (SK.UNFREEZE.ELEMENTS +331670 . 332229) (SK.FREEZE.UNDO 332231 . 332476) (SK.UNFREEZE.UNDO 332478 . 332725) (SK.DO.FREEZE +332727 . 333120) (SK.DO.UNFREEZE 333122 . 333520)) (333752 343562 (SKETCH.ELEMENTS.OF.SKETCH 333762 . +334597) (SKETCH.LIST.OF.ELEMENTS 334599 . 335317) (SKETCH.ADD.ELEMENT 335319 . 336394) ( +SKETCH.DELETE.ELEMENT 336396 . 338128) (DELFROMGROUPELT 338130 . 338930) (SKETCH.ELEMENT.TYPE 338932 + . 339281) (SKETCH.ELEMENT.CHANGED 339283 . 340851) (SK.ELEMENT.CHANGED1 340853 . 341504) ( +SK.UPDATE.GLOBAL.IMAGE.OBJECT.ELEMENT 341506 . 343560)) (343616 348228 (INSURE.SKETCH 343626 . 346241) + (LOCALSPECS.FROM.VIEWER 346243 . 346603) (SK.LOCAL.ELT.FROM.GLOBALPART 346605 . 347073) ( +SKETCH.FROM.VIEWER 347075 . 347309) (INSPECT.SKETCH 347311 . 347636) (ELT.INSIDE.SKETCHWP 347638 . +347911) (SK.INSIDE.REGION 347913 . 348226)) (348229 352559 (MAPSKETCHSPECS 348239 . 348860) ( +MAPCOLLECTSKETCHSPECS 348862 . 349611) (MAPSKETCHSPECSUNTIL 349613 . 350421) (MAPGLOBALSKETCHSPECS +350423 . 351124) (MAPGLOBALSKETCHELEMENTS 351126 . 352557)) (352621 378513 (SK.ADD.SELECTION 352631 . +353371) (SK.COPY.INSERTFN 353373 . 357004) (SCREENELEMENTP 357006 . 357479) (SK.ITEM.REGION 357481 . +357968) (SK.ELEMENT.GLOBAL.REGION 357970 . 358498) (SK.LOCAL.ITEMS.IN.REGION 358500 . 360479) ( +SK.REGIONFN 360481 . 360803) (SK.GLOBAL.REGIONFN 360805 . 361163) (SK.REMOVE.SELECTION 361165 . 361893 +) (SK.SELECT.MULTIPLE.ITEMS 361895 . 372337) (SKETCH.GET.ELEMENTS 372339 . 373762) (SK.PUT.MARKS.UP +373764 . 374103) (SK.TAKE.MARKS.DOWN 374105 . 374444) (SK.TRANSLATE.GLOBALPART 374446 . 376573) ( +SK.TRANSLATE.ITEM 376575 . 377502) (SK.TRANSLATEFN 377504 . 377700) (TRANSLATE.SKETCH 377702 . 378511) +) (378779 381686 (SK.INPUT.SCALE 378789 . 379636) (SK.UPDATE.SKETCHCONTEXT 379638 . 380235) ( +SK.SET.INPUT.SCALE 380237 . 380886) (SK.SET.INPUT.SCALE.CURRENT 380888 . 381179) ( +SK.SET.INPUT.SCALE.VALUE 381181 . 381684)) (381737 383649 (SK.SET.FEEDBACK.MODE 381747 . 383053) ( +SK.SET.FEEDBACK.POINT 383055 . 383223) (SK.SET.FEEDBACK.VERBOSE 383225 . 383394) ( +SK.SET.FEEDBACK.ALWAYS 383396 . 383647)) (383800 385178 (SKETCH.TITLE 383810 . 384174) ( +SK.SHRINK.ICONCREATE 384176 . 385176)) (390868 393682 (READBRUSHSHAPE 390878 . 391337) (READ.FUNCTION +391339 . 391854) (READBRUSHSIZE 391856 . 392314) (READANGLE 392316 . 392808) (READARCDIRECTION 392810 + . 393680)) (393683 404094 (SK.CHANGE.DASHING 393693 . 397641) (READ.AND.SAVE.NEW.DASHING 397643 . +399411) (READ.NEW.DASHING 399413 . 401153) (READ.DASHING.CHANGE 401155 . 402630) (SK.CACHE.DASHING +402632 . 403634) (SK.DASHING.LABEL 403636 . 404092)) (404095 407800 (READ.FILLING.CHANGE 404105 . +406086) (SK.CACHE.FILLING 406088 . 406806) (READ.AND.SAVE.NEW.FILLING 406808 . 407406) ( +SK.FILLING.LABEL 407408 . 407798)) (408184 444437 (SK.GETGLOBALPOSITION 408194 . 408499) ( +SKETCH.TRACK.ELEMENTS 408501 . 412021) (SK.PICKOUT.WHOLE.MOVE.ELEMENTS 412023 . 412582) ( +MAP.SKETCH.ELEMENTS.INTO.VIEWER 412584 . 412976) (MAP.GLOBAL.POSITION.INTO.VIEWER 412978 . 413358) ( +SKETCH.TO.VIEWER.POSITION 413360 . 413719) (SKETCH.TRACK.IMAGE 413721 . 414575) (SK.TRACK.IMAGE1 +414577 . 415989) (MAP.VIEWER.XY.INTO.GLOBAL 415991 . 416985) (SK.SET.POSITION 416987 . 417323) ( +MAP.VIEWER.PT.INTO.GLOBAL 417325 . 418431) (VIEWER.TO.SKETCH.POSITION 418433 . 419068) ( +SK.INSURE.SCALE 419070 . 419330) (SKETCH.TO.VIEWER.REGION 419332 . 420138) (VIEWER.TO.SKETCH.REGION +420140 . 420478) (SK.READ.POINT.WITH.FEEDBACK 420480 . 431483) (SKETCH.GET.POSITION 431485 . 433365) ( +\CLOBBER.POSITION 433367 . 433815) (NEAREST.HOT.SPOT 433817 . 435345) (GETWREGION 435347 . 436108) ( +GET.BITMAP.POSITION 436110 . 436894) (SK.TRACK.BITMAP1 436896 . 444435)) (445006 475892 ( +SK.BRING.UP.POSITION.PAD 445016 . 450876) (SK.PAD.READER.POSITION 450878 . 452527) ( +SK.POSITION.READER.REPAINTFN 452529 . 454313) (SK.POSITION.PAD.FROM.VIEWER 454315 . 455657) ( +SK.INIT.POSITION.NUMBER.PAD.MENU 455659 . 456009) (SK.READ.POSITION.PAD.HANDLER 456011 . 461743) ( +DISPLAY.POSITION.READER.TOTAL 461745 . 464043) (POSITION.PAD.READER.HANDLER 464045 . 472088) ( +POSITIONPAD.HELDFN 472090 . 473574) (\POSITION.PAD.ADD.DIGIT.MENU 473576 . 475155) ( +\POSITION.READER.NUMBERPAD 475157 . 475890)) (477518 480196 (SK.DRAWFN 477528 . 477894) ( +SK.TRANSFORMFN 477896 . 478277) (SK.EXPANDFN 478279 . 478556) (SK.INPUT 478558 . 478939) (SK.INSIDEFN +478941 . 479581) (SK.UPDATEFN 479583 . 480194)) (485961 489906 (SK.CHECK.SKETCH.VERSION 485971 . +487211) (SK.INSURE.RECORD.LENGTH 487213 . 488696) (SK.INSURE.HAS.LENGTH 488698 . 489436) ( +SK.RECORD.LENGTH 489438 . 489612) (SK.SET.RECORD.LENGTHS 489614 . 489904)) (490651 491538 ( +SK.ADD.EDIT.COMMAND.TO.FILE.BROWSER 490661 . 491536))))) STOP diff --git a/library/sketch/SKETCH-EDIT b/library/sketch/SKETCH-EDIT index fe712eea5..24279696a 100644 --- a/library/sketch/SKETCH-EDIT +++ b/library/sketch/SKETCH-EDIT @@ -1,12 +1,12 @@ (DEFINE-FILE-INFO PACKAGE "INTERLISP" READTABLE "INTERLISP" BASE 10) -(FILECREATED " 5-Dec-2023 00:12:04" {WMEDLEY}sketch>SKETCH-EDIT.;1 108598 +(FILECREATED " 5-Nov-2025 23:56:42" {WMEDLEY}sketch>SKETCH-EDIT.;2 108507 :EDIT-BY rmk - :CHANGES-TO (RECORDS TEXTELTSELECTION) + :CHANGES-TO (FNS SKED.MOVE.SELECTION) - :PREVIOUS-DATE "21-Aug-2021 20:50:04" {WMEDLEY}sketch>SKETCHEDIT.;1) + :PREVIOUS-DATE " 5-Dec-2023 00:12:04" {WMEDLEY}sketch>SKETCH-EDIT.;1) (PRETTYCOMPRINT SKETCH-EDITCOMS) @@ -520,11 +520,10 @@ (SKED.MOVE.SELECTION SKW (NOT (WINDOWPROP SKW 'USEGRID]) (SKED.MOVE.SELECTION - [LAMBDA (SKW USEGRID) (* rrb "11-Jul-86 15:51") - - (* the user has left buttoned in a sketch window. - Put the caret there.) - + [LAMBDA (SKW USEGRID) (* ; "Edited 5-Nov-2025 23:56 by rmk") + (* rrb "11-Jul-86 15:51") + (* ; + "the user has left buttoned in a sketch window. Put the caret there.") (SKED.CLEAR.SELECTION SKW) (PROG (FEEDBACKX FEEDBACKY OLDGRIDX OLDGRIDY OLDX OLDY OLDCUR FEEDBACKCUR INTEXT INIMAGEOBJ STARTLINE STARTCHAR X Y (DSP (WINDOWPROP SKW 'DSP)) @@ -532,44 +531,36 @@ (GRID (SK.GRIDFACTOR SKW))) (until (MOUSESTATE UP) do - - (* track with the appropriate caret depending upon whether the cursor is inside - of existing text or not.) + (* ;; "track with the appropriate caret depending upon whether the cursor is inside of existing text or not.") (SETQ X (LASTMOUSEX DSP)) (SETQ Y (LASTMOUSEY DSP)) (COND ((OR (NEQ OLDX X) - (NEQ OLDY Y)) - - (* only look for things when the cursor position has changed.) - + (NEQ OLDY Y)) (* ; + "only look for things when the cursor position has changed.") (SETQ OLDX X) (SETQ OLDY Y) [COND ([AND (SETQ INTEXT (for ELT in (LOCALSPECS.FROM.VIEWER SKW) + unless (EQ 'SHADE (fetch (LOCALTEXT LOCALFONT) + of (fetch (SCREENELT LOCALPART) of ELT))) when (SELECTQ (fetch (SCREENELT GTYPE) of ELT) - (TEXT (AND (NEQ (fetch (LOCALTEXT LOCALFONT) - of (fetch (SCREENELT LOCALPART) - of ELT)) - 'SHADE) - (SETQ STARTLINE (INTEXT ELT X Y)))) - (TEXTBOX (AND (NEQ (fetch (LOCALTEXTBOX LOCALFONT) - of (fetch (SCREENELT LOCALPART) - of ELT)) - 'SHADE) - (INSIDE? (fetch (LOCALTEXTBOX - LOCALTEXTBOXREGION) - of (fetch (SCREENELT LOCALPART) - of ELT)) - X Y) - (SETQ STARTLINE (CLOSEST.LINE ELT Y)))) + (TEXT (SETQ STARTLINE (INTEXT ELT X Y))) + (TEXTBOX (CL:WHEN (INSIDE? (fetch (LOCALTEXTBOX + LOCALTEXTBOXREGION + ) + of (fetch (SCREENELT + LOCALPART) + of ELT)) + X Y) + (SETQ STARTLINE (CLOSEST.LINE ELT Y)))) NIL) do (RETURN ELT))) (NOT (SK.ELEMENT.PROTECTED? (fetch (SCREENELT GLOBALPART) of INTEXT) - 'CHANGE] (* inside of a text element.) + 'CHANGE] (* ; "inside of a text element.") (SETQ FEEDBACKCUR IN.TEXT.FEEDBACK.CURSOR) - (SETQ FEEDBACKX (CHAR.BEGIN (SETQ STARTCHAR (CLOSEST.CHAR X STARTLINE INTEXT + (SETQ FEEDBACKX (CHAR.BEGIN (SETQ STARTCHAR (CLOSEST.CHAR X STARTLINE INTEXT DSP)) STARTLINE INTEXT DSP)) (SETQ FEEDBACKY (LINE.BEGIN STARTLINE INTEXT))) @@ -577,7 +568,7 @@ (COND (USEGRID (SETQ FEEDBACKX (MAP.WINDOW.ONTO.GRID X SCALE GRID)) (SETQ FEEDBACKY (MAP.WINDOW.ONTO.GRID Y SCALE GRID))) - (T (* no grid) + (T (* ; "no grid") (SETQ FEEDBACKX X) (SETQ FEEDBACKY Y] (COND @@ -588,13 +579,13 @@ (SHOW.FEEDBACK (SETQ OLDCUR FEEDBACKCUR) (SETQ OLDGRIDX FEEDBACKX) (SETQ OLDGRIDY FEEDBACKY) - SKW))) (* give the coordinate display window - a shot.) + SKW))) (* ; + "give the coordinate display window a shot.") (SKETCHW.UPDATE.LOCATORS SKW))) finally (AND OLDGRIDX (SHOW.FEEDBACK OLDCUR OLDGRIDX OLDGRIDY SKW)) (COND - ((EQ OLDCUR IN.TEXT.FEEDBACK.CURSOR) (* selection is existing text) - (SKED.SET.SELECTION (CREATE.TEXT.SELECTION INTEXT STARTLINE STARTCHAR OLDGRIDX + ((EQ OLDCUR IN.TEXT.FEEDBACK.CURSOR) (* ; "selection is existing text") + (SKED.SET.SELECTION (CREATE.TEXT.SELECTION INTEXT STARTLINE STARTCHAR OLDGRIDX OLDGRIDY DSP) SKW)) (OLDGRIDX (SKED.SET.SELECTION (create POSITION @@ -1953,7 +1944,7 @@ YCOORD _ (LASTMOUSEY WIN]) ) (DECLARE%: DONTCOPY - (FILEMAP (NIL (2425 39533 (BUTLAST 2435 . 2783) (CHAR.BEGIN 2785 . 4710) (CLOSEST.CHAR 4712 . 8935) ( + (FILEMAP (NIL (2425 39442 (BUTLAST 2435 . 2783) (CHAR.BEGIN 2785 . 4710) (CLOSEST.CHAR 4712 . 8935) ( CLOSEST.LINE 8937 . 9499) (FLASHW 9501 . 9658) (HILITE.LINE 9660 . 10479) (HILITE.TEXT 10481 . 12129) (IN.TEXT.EXTEND 12131 . 15404) (INIMAGEOBJ 15406 . 15911) (INTEXT 15913 . 16410) (NEW.TEXT.EXTEND 16412 . 18631) (NEW.TEXT.SELECTIONP 18633 . 18813) (NTHCHARWIDTH 18815 . 19072) (NTHLOCALREGION 19074 @@ -1961,18 +1952,18 @@ CLOSEST.LINE 8937 . 9499) (FLASHW 9501 . 9658) (HILITE.LINE 9660 . 10479) (HILIT . 21138) (SHOW.FEEDBACK.BOX 21140 . 22194) (SELECTION.POSITION 22196 . 22988) (SKED.CLEAR.SELECTION 22990 . 23513) (SKETCH.CLEANUP 23515 . 25429) (SK.ENTER.EDIT.CHANGE 25431 . 26976) ( SKED.REMOVE.OTHER.SELECTIONS 26978 . 27405) (SKED.EXTEND.SELECTION 27407 . 28872) (SKED.MOVE.SELECTION - 28874 . 34035) (CREATE.TEXT.SELECTION 34037 . 34553) (SKED.SELECTION.FEEDBACK 34555 . 36211) ( -SKED.SET.EXTENDSELECTION 36213 . 36530) (SKED.SET.SELECTION 36532 . 36932) (LINE.BEGIN 36934 . 37488) -(SELECTION.GREATERP 37490 . 38285) (SK.WORD.BREAK.CLASS 38287 . 39127) (SK.GETSYNTAX 39129 . 39531)) ( -40375 86109 (WB.EDITOR 40385 . 41710) (SK.TTYENTRYFN 41712 . 41990) (SK.TTYEXITFN 41992 . 42261) ( -SKED.INSERT 42263 . 42691) (\SKED.INSERT 42693 . 63815) (FIRST.N.ELEMENTS 63817 . 64084) ( -SKED.CREATE.NEW.TEXTBOX 64086 . 70615) (SKED.CHARACTERPOSITION 70617 . 71404) (SKED.LINE.AND.CHAR# -71406 . 73037) (\SKED.DELETE.WORD.FROM.STRING 73039 . 74078) (\SKED.INSERT.CHARS.TO.STR 74080 . 82491) - (JOINCHARS 82493 . 82880) (STRINGFROMCHARACTERS 82882 . 83207) (GETALLCHARS 83209 . 83550) ( -CLEANUP.EDIT 83552 . 84004) (SKED.NEW.TEXTELT 84006 . 86107)) (86144 107152 ( -MAP.SCREEN.POSITION.ONTO.GRID 86154 . 87603) (NEAREST.ON.GRID 87605 . 88149) (SK.MIDDLE.TITLEFN 88151 - . 90094) (WB.BUTTON.HANDLER 90096 . 97918) (WB.ADD.NEW.POINT 97920 . 101249) (WB.DRAWLINE 101251 . -105485) (WB.RUBBERBAND.POSITION 105487 . 106404) (SK.RUBBERBAND.FEEDBACKFN 106406 . 106910) ( -RESET.LINE.BEING.INPUT 106912 . 107150)) (107334 108575 (NEAREST.EXISTING.POSITION 107344 . 107546) ( -WB.NEARPT 107548 . 108433) (LASTMOUSEPOSITION 108435 . 108573))))) + 28874 . 33944) (CREATE.TEXT.SELECTION 33946 . 34462) (SKED.SELECTION.FEEDBACK 34464 . 36120) ( +SKED.SET.EXTENDSELECTION 36122 . 36439) (SKED.SET.SELECTION 36441 . 36841) (LINE.BEGIN 36843 . 37397) +(SELECTION.GREATERP 37399 . 38194) (SK.WORD.BREAK.CLASS 38196 . 39036) (SK.GETSYNTAX 39038 . 39440)) ( +40284 86018 (WB.EDITOR 40294 . 41619) (SK.TTYENTRYFN 41621 . 41899) (SK.TTYEXITFN 41901 . 42170) ( +SKED.INSERT 42172 . 42600) (\SKED.INSERT 42602 . 63724) (FIRST.N.ELEMENTS 63726 . 63993) ( +SKED.CREATE.NEW.TEXTBOX 63995 . 70524) (SKED.CHARACTERPOSITION 70526 . 71313) (SKED.LINE.AND.CHAR# +71315 . 72946) (\SKED.DELETE.WORD.FROM.STRING 72948 . 73987) (\SKED.INSERT.CHARS.TO.STR 73989 . 82400) + (JOINCHARS 82402 . 82789) (STRINGFROMCHARACTERS 82791 . 83116) (GETALLCHARS 83118 . 83459) ( +CLEANUP.EDIT 83461 . 83913) (SKED.NEW.TEXTELT 83915 . 86016)) (86053 107061 ( +MAP.SCREEN.POSITION.ONTO.GRID 86063 . 87512) (NEAREST.ON.GRID 87514 . 88058) (SK.MIDDLE.TITLEFN 88060 + . 90003) (WB.BUTTON.HANDLER 90005 . 97827) (WB.ADD.NEW.POINT 97829 . 101158) (WB.DRAWLINE 101160 . +105394) (WB.RUBBERBAND.POSITION 105396 . 106313) (SK.RUBBERBAND.FEEDBACKFN 106315 . 106819) ( +RESET.LINE.BEING.INPUT 106821 . 107059)) (107243 108484 (NEAREST.EXISTING.POSITION 107253 . 107455) ( +WB.NEARPT 107457 . 108342) (LASTMOUSEPOSITION 108344 . 108482))))) STOP diff --git a/library/sketch/SKETCH-EDIT.LCOM b/library/sketch/SKETCH-EDIT.LCOM index 91cd662b55dcda48a3aec8489a93ead8e56b91c8..bb772bdb823320639c19c2008eab962611c58a39 100644 GIT binary patch delta 666 zcmZuvPiqrF6wjm-Y{Ww)HYC;ZSd(Ccth=+>O|lepvpXT%t~+gZW1^RsCcy-wt+9w8 zVoshEjC&DLLGk9n#wZ>Xil3k#KtF+E}YDOB~%<(t{Ar32P+T1=Y3VBr&RWZ-OM!((MytUQswOi1>ztz8+P`w|K zQ;(_zzEE*pYV#${HY`$x?rkPgtXLNOtHkp>2d&07qyMJ^&U2~IxuR(iy-YNh7{Gy? zJ~|`j;6e2=VO_31T<&!@`i=hZ>B2D#qL7n?tXD&)XNtDN<_e!pfx1>ES4>)Q(gstU z2pa9Ce=i9HK^3w05haGN=ElEJCxX6uB&y6il$)J-Nx8WIJI_Z*_nt(R^R3Rw`ofpQ zbw61T?`rQxf$wz5TsiJ1zEPNZqreC6cQo7Exr6FS6buH@4Ii*Sc4?9YsC5{A3h&Y+ zU7|3d*JGXio%FO4rxP9n|E+&M!N3smg?#9s`<^C82bX9(SdWhmGTximGJ5U(j44q` z24|HRyhB`OY?H1@ZOCBB8(fH_rF;&Y60Pz@LX3i@uY#1rKEc&XRlc(3?})dkuDP`A zc!R~Ts0c?1f(*Jv9pbpWW!eOAJ_Dxhmsn)FS5dO|wUG5LLm*kB3yZ^rA(u3adNqwTD~X&VzOfY~P2@HmKDFS^SG@nx;Z) z<&k90iYchM=uFk~nbTl)$Xp2({@#W0h0#l}p@R5{u3rU$%|h7(i@9EyuiS&3txbqp zPR*|0VnIISqPvn7dngv8ByT@nAFV@xVyl3~ca#|nQ8$6Uif*zPTjlEcbFaC2F(S{4 zK5B@)WO1Usak+WrLuPp-HYfJ&xBbXBfl_hwQ6y5OUO%#nnps6bsI@*q4&Ptf=UJpk z<+vZ*;aNV#;nGn+YUA+TjT4am&t;BVX&mEkq!prnjJuted|GKv_lL7Q+aKom)F&=J zr%d!z{7MxSxzJoXuIQ%tvYhA{M2Dcp7qu#5ZpC)yK`)mem}j9=Thtcry7Fr^pF4KQ z8-bkR({!nDTA>&mp9d@mHQ%c<&BP*MVa@FN{Z3ME3DOwLfV cEVFEv0WBFYf+~Cos4-S`{YV|mPHx}+4RQ6MrT_o{ diff --git a/library/sketch/SKETCH-ELEMENTS b/library/sketch/SKETCH-ELEMENTS index ca3acf54a..18c122b6b 100644 --- a/library/sketch/SKETCH-ELEMENTS +++ b/library/sketch/SKETCH-ELEMENTS @@ -1,14 +1,14 @@ (DEFINE-FILE-INFO PACKAGE "INTERLISP" READTABLE "INTERLISP" BASE 10) -(FILECREATED " 5-Dec-2023 00:16:52" {WMEDLEY}sketch>SKETCH-ELEMENTS.;1 554138 +(FILECREATED " 6-Nov-2025 17:40:48" {WMEDLEY}SKETCH>SKETCH-ELEMENTS.;16 546518 :EDIT-BY rmk - :CHANGES-TO (RECORDS LOCALCIRCLE CIRCLE LOCALELLIPSE ELLIPSE KNOTELT LOCALCURVE OPENCURVE - CLOSEDCURVE LOCALCLOSEDCURVE LOCALCLOSEDWIRE LOCALWIRE WIRE CLOSEDWIRE TEXT - LOCALTEXT LOCALTEXTBOX TEXTBOX BOX LOCALBOX ARC LOCALARC) + :CHANGES-TO (FNS SK.DECREASING.FONT.LIST SK.PICK.FONT SK.CHOOSE.TEXT.FONT SK.READFONTSIZE + SK.COLLECT.FONT.SIZES SK.READFONTFAMILY SK.SET.FONT SK.GUESS.FONTSAVAILABLE) + (VARS SKETCH-ELEMENTSCOMS) - :PREVIOUS-DATE " 4-Aug-2022 09:57:43" {WMEDLEY}sketch>SKETCHELEMENTS.;2) + :PREVIOUS-DATE " 5-Dec-2023 00:16:52" {WMEDLEY}sketch>SKETCH-ELEMENTS.;1) (PRETTYCOMPRINT SKETCH-ELEMENTSCOMS) @@ -123,8 +123,7 @@ SK.TEXT.FROM.TEXTBOX TEXT.SET.GLOBAL.REGIONS TEXT.REGIONFN TEXT.GLOBALREGIONFN TEXT.TRANSLATEFN TEXT.TRANSFORMFN TEXT.TRANSLATEPTSFN TEXT.UPDATEFN SK.CHANGE.TEXT TEXT.SET.SCALES BREAK.AT.CARRIAGE.RETURNS) - (FNS ADD.KNOWN.SKETCH.FONT SK.PICK.FONT SK.CHOOSE.TEXT.FONT SK.NEXTSIZEFONT - SK.DECREASING.FONT.LIST SK.GUESS.FONTSAVAILABLE) + (FNS SK.PICK.FONT SK.CHOOSE.TEXT.FONT SK.NEXTSIZEFONT SK.DECREASING.FONT.LIST) (INITVARS (\KNOWN.SKETCH.FONTSIZES)) (GLOBALVARS \KNOWN.SKETCH.FONTSIZES) (DECLARE%: DONTCOPY (RECORDS TEXT LOCALTEXT)) @@ -136,7 +135,6 @@ (VARS INDICATE.TEXT.SHADE) [INITVARS (SK.DEFAULT.FONT) (SK.DEFAULT.TEXT.ALIGNMENT '(CENTER BASELINE] - (INITVARS \FONTSONFILE) (ADDVARS (SK.HORIZONTAL.STYLES LEFT RIGHT CENTER) (SK.VERTICAL.STYLES TOP CENTER BASELINE BOTTOM)) (VARS (SKETCH.TERMTABLE (CREATE.SKETCH.TERMTABLE))) @@ -4635,26 +4633,33 @@ Click outside the window to stop.") NIL]) (SK.READFONTFAMILY - [LAMBDA (SKW TITLE) (* rrb "21-Nov-85 11:28") - (* reads a font family name.) - (PROG ([KNOWNFAMILIES (UNION (for X in \FONTSONFILE collect (CAR X)) - (for X in \FONTSINCORE collect (CAR X] - FAMILY) (* offers a menu of possible choices.) - (COND - ((AND KNOWNFAMILIES (NEQ (SETQ FAMILY (\CURSOR.IN.MIDDLE.MENU - (create MENU - ITEMS _ - (APPEND '(("other" 'OTHER + [LAMBDA (SKW TITLE) (* ; "Edited 4-Nov-2025 15:08 by rmk") + (* rrb "21-Nov-85 11:28") + + (* ;; "Offers a menu of existing DISPLAY font families, with Other has a way for the user to type one in. Other makes sense only if there are file fonts that are not yet known to Sketch.") + + (* ;; "RMK: Sketch used to keep its own family-by-device cache, separate from \FONTSINCORE. But the way it was set up, those fonts were created in core when they were identified, so FONTSAVAILABLE would find them them on \FONTSINCORE. Here we scan all devices, not just display, to catch whatever might have shown up for a nondisplay device. So this simulates that behavior.") + + (* ;; "But for a user interaction like this, isn't it only DISPLAY families that matter, the descending-font lists for other devices are not relevant. So maybe we really want only DISPLAY here.") + + (LET (KNOWNFAMILIES FAMILY) + (for FS in (FONTSAVAILABLE '* '* NIL NIL '*) do (pushnew KNOWNFAMILIES (fetch (FONTSPEC + FSFAMILY) + of FS))) + (if (AND KNOWNFAMILIES (NEQ (SETQ FAMILY (\CURSOR.IN.MIDDLE.MENU + (create MENU + ITEMS _ [APPEND + (SORT KNOWNFAMILIES) + '(("other" 'OTHER "prompts for a family not on the menu." - )) KNOWNFAMILIES) - TITLE _ (OR TITLE "Choose font") - CENTERFLG _ T))) - 'OTHER)) - (RETURN FAMILY)) - (T (* grab the tty.) - (TTY.PROCESS (THIS.PROCESS)) - (RETURN (CAR (ERSETQ (MKATOM (U-CASE (PROMPTFORWORD "New family: " NIL NIL - (GETPROMPTWINDOW SKW]) + ] + TITLE _ (OR TITLE "Choose font") + CENTERFLG _ T))) + 'OTHER)) + then FAMILY + else (CAR (ERSETQ (MKATOM (U-CASE (TTYINPROMPTFORWORD "New family: " NIL NIL ( + GETPROMPTWINDOW + SKW]) (CLOSE.PROMPT.WINDOW [LAMBDA (WINDOW) (* rrb "28-Oct-84 14:14") @@ -5418,166 +5423,126 @@ Click outside the window to stop.") ) (DEFINEQ -(ADD.KNOWN.SKETCH.FONT - [LAMBDA (FAMILY WID DEVICE FONT) (* ; "Edited 10-May-93 16:49 by rmk:") - (* ; "Edited 21-Feb-89 15:06 by snow") - - (* ;; "add to the globally cached font list") - - (DECLARE (GLOBALVARS \KNOWN.SKETCH.FONTSIZES)) - [LET ((CACHE (ASSOC FAMILY \KNOWN.SKETCH.FONTSIZES)) - (CACHED)) - (COND - [(NULL CACHE) - (if \KNOWN.SKETCH.FONTSIZES - then [NCONC1 \KNOWN.SKETCH.FONTSIZES (LIST FAMILY (LIST DEVICE (CONS WID FONT] - else (SETQ \KNOWN.SKETCH.FONTSIZES (LIST (LIST FAMILY (LIST DEVICE - (CONS WID FONT] - (T (COND - ((SETQ CACHED (ASSOC DEVICE CACHE)) - (NCONC1 CACHED (CONS WID FONT))) - (T (NCONC1 CACHE (CONS DEVICE (CONS WID FONT] - FONT]) - (SK.PICK.FONT - [LAMBDA (WID STRING DEVICE DISPLAYGFONT) (* ; "Edited 10-May-93 17:11 by rmk:") - (* ; "Edited 22-Feb-89 07:53 by snow") + [LAMBDA (WID STRING DEVICE DISPLAYFONT) (* ; "Edited 6-Nov-2025 10:41 by rmk") + (* ; "Edited 1-Sep-2025 13:02 by rmk") + (* ; "Edited 10-May-93 17:11 by rmk:") + (* ; "Edited 22-Feb-89 07:53 by snow") - (* ;; "returns the font in FAMILY that text should be printed in to have the text STRING fit into a region WID points wide") + (* ;; "RMK 2025: This is weird, and I'm not sure that the original ever worked. It is called from only one place (SK.CHOOSE.TEXT.FONT), with one constant STRING. I believe it is trying to associate with DISPLAYFONT's family a corresponding DEVICE font for which the width of that string would be closest to WID without being larger than that. It caches that font for WID, since that really is just a constant.") + + (* ;; "Returns the font in DISPLAYFONT's family that text should be printed in to have the text STRING fit into a region WID points wide. The value can also be the atom SHADE, if there is no font small enough for STRING.") (DECLARE (GLOBALVARS \KNOWN.SKETCH.FONTSIZES)) - (LET - [STARTFONT FONTWIDTH SCALE CACHEDFONT SIZE (FAMILY (FONTPROP DISPLAYGFONT 'FAMILY] - (IF [SETQ CACHEDFONT (ASSOC WID (ASSOC DEVICE (ASSOC FAMILY \KNOWN.SKETCH.FONTSIZES] - THEN (CDR CACHEDFONT) - ELSE (SETQ STARTFONT (FONTCOPY DISPLAYGFONT 'DEVICE DEVICE)) - NIL - (SETQ SCALE (FONTPROP STARTFONT 'SCALE)) - (SETQ SIZE (FONTPROP STARTFONT 'SIZE)) - [SETQ FONTWIDTH (COND - (SCALE - (* ;; "IF THERE IS A SCALE, YOU MUST SCALE THE WIDTH.") - - (FIXR (QUOTIENT (STRINGWIDTH STRING STARTFONT) - SCALE))) - (T (STRINGWIDTH STRING STARTFONT] - [SETQ CACHEDFONT - (IF (IGREATERP FONTWIDTH WID) - THEN - - (* ;; "Font width was too big, try smaller fonts in decreasing size.") - - [FOR FONT IN [CDR (FIND F - ON [SORT (FONTSAVAILABLE FAMILY '* - 'MRR 0 DEVICE T) - (FUNCTION (LAMBDA (F1 F2) - (IGREATERP (CADR F1) - (CADR F2] - SUCHTHAT (EQ SIZE (CADR F] - WHEN (ILESSP [SETQ FONTWIDTH (COND - (SCALE - (* ;; - "IF THERE IS A SCALE, YOU MUST SCALE THE WIDTH.") - - (FIXR (QUOTIENT (STRINGWIDTH - STRING FONT) - SCALE))) - (T (STRINGWIDTH STRING FONT] - WID) DO (RETURN (ADD.KNOWN.SKETCH.FONT FAMILY WID - DEVICE FONT)) - FINALLY (RETURN (ADD.KNOWN.SKETCH.FONT - FAMILY WID DEVICE - (IF (GREATERP FONTWIDTH (TIMES 1.5 WID)) - THEN 'SHADE - ELSEIF (OR FONT STARTFONT] - ELSEIF (IEQP FONTWIDTH WID) - THEN (ADD.KNOWN.SKETCH.FONT FAMILY WID DEVICE STARTFONT) - ELSE - - (* ;; "FONT width was too small, try bigger fonts.") - - (FOR FONT PREVFONT - IN [CDR (FIND F ON [SORT (FONTSAVAILABLE FAMILY '* 'MRR 0 DEVICE - T) - (FUNCTION (LAMBDA (F1 F2) - (ILESSP (CADR F1) - (CADR F2] - SUCHTHAT (EQ SIZE (CADR F] - DO (IF (IGREATERP (COND - (SCALE - (* ;; - "IF THERE IS A SCALE, YOU MUST SCALE THE WIDTH.") - - (FIXR (QUOTIENT (STRINGWIDTH STRING FONT - ) - SCALE))) - (T (STRINGWIDTH STRING FONT))) - WID) - THEN (RETURN (ADD.KNOWN.SKETCH.FONT FAMILY WID DEVICE - PREVFONT))) - (SETQ PREVFONT FONT) FINALLY (RETURN (ADD.KNOWN.SKETCH.FONT - FAMILY WID DEVICE - (OR FONT PREVFONT STARTFONT] - (IF (FONTP CACHEDFONT) - THEN (* ; "Could be SHADE") - (FONTCOPY CACHEDFONT 'FACE (FONTPROP DISPLAYGFONT 'FACE)) - ELSE CACHEDFONT]) + (LET ((FAMILY (FONTPROP DISPLAYFONT 'FAMILY)) + STARTFONT FONTWIDTH SCALE CACHEDFONT AVAIL TOOSMALL) + (if (SGETMULTI \KNOWN.SKETCH.FONTSIZES FAMILY DEVICE WID (FONTPROP DISPLAYFONT 'FACE)) + else (SETQ STARTFONT (FONTCOPY DISPLAYFONT 'DEVICE DEVICE)) + (SETQ SCALE (FONTPROP STARTFONT 'SCALE)) + (SETQ FONTWIDTH (STRINGWIDTH STRING STARTFONT)) + (CL:IF SCALE + (SETQ FONTWIDTH (FIXR (QUOTIENT FONTWIDTH SCALE)))) + (if (IEQP FONTWIDTH WID) + then (PUTMULTI \KNOWN.SKETCH.FONTSIZES FAMILY DEVICE WID STARTFONT) + else + (* ;; "FONTSAVAILABLE sorts in increasing size order, so our first guess is either after or before the position of STARTFONT in the list. This assumes that the widths are proportional to font sizes.") + + (SETQ TOOSMALL (ILESSP FONTWIDTH WID)) + (SETQ AVAIL (FONTSAVAILABLE (create FONTSPEC using (FONTPROP STARTFONT + 'SPEC) + FSSIZE _ '*) + NIL NIL NIL NIL T)) + + (* ;; + "If STARTFONT width is too big, try smaller fonts, otherwise bigger ones. CDR skips the STARTFONT") + + (for FS FONT (PREVFONT _ STARTFONT) + (PREVWIDTH _ FONTWIDTH) in [CDR (MEMBER (FONTPROP STARTFONT 'SPEC) + (CL:IF TOOSMALL + AVAIL + (REVERSE AVAIL))] + eachtime (SETQ FONT (FONTCREATE FS)) + (SETQ FONTWIDTH (STRINGWIDTH STRING FONT)) + (CL:IF SCALE + (SETQ FONTWIDTH (FIXR (QUOTIENT FONTWIDTH SCALE)))) + until (CL:IF TOOSMALL + (IGREATERP FONTWIDTH WID) + (ILESSP FONTWIDTH WID)) do (SETQ PREVFONT FONT) + (SETQ PREVWIDTH FONTWIDTH) + finally + + (* ;; "We ran over, return the previous") + + (CL:UNLESS TOOSMALL + (CL:WHEN (GREATERP PREVWIDTH (TIMES 1.5 WID)) + (* ; "If we get too small, return SHADE") + (SETQ PREVFONT 'SHADE))) + (SPUTMULTI \KNOWN.SKETCH.FONTSIZES FAMILY DEVICE WID + (FONTPROP DISPLAYFONT 'FACE) + PREVFONT) + (RETURN PREVFONT]) (SK.CHOOSE.TEXT.FONT - [LAMBDA (GTEXT SCALE VIEWER) (* ; "Edited 10-May-93 16:18 by rmk:") - (* ; "Edited 1-Nov-91 16:56 by jds") + [LAMBDA (GTEXT SCALE VIEWER) (* ; "Edited 6-Nov-2025 00:08 by rmk") + (* ; "Edited 10-May-93 16:18 by rmk:") + (* ; "Edited 1-Nov-91 16:56 by jds") - (* ;; "returns the font that text in the individual global part of a text or textbox element GTEXT should be displayed in when shown in VIEWER.") + (* ;; "returns the font that text in the individual global part of a text or textbox element GTEXT should be displayed in when shown in VIEWER.") (PROG ([VIEWERFONTCACHE (OR (AND (WINDOWP VIEWER) (WINDOWPROP VIEWER 'PICKFONTCACHE)) (AND (STREAMP VIEWER) (STREAMPROP VIEWER 'PICKFONTCACHE] (GFONT (fetch (TEXT FONT) of GTEXT)) - LOCALFONT) + (CANONICALTESTSTR "AWIaiw") + LOCALFONT CANONICALWIDTH DEVICE DISPLAYGFONT) + (CL:WHEN (SETQ LOCALFONT (SASSOC GFONT VIEWERFONTCACHE)) + (* ; "look in the viewer's font cache.") + (RETURN (CDR LOCALFONT))) + [SETQ DEVICE (COND + ((STREAMP VIEWER) + (fetch (IMAGEOPS IMAGETYPE) of (fetch (STREAM IMAGEOPS) of VIEWER))) + (T 'DISPLAY] [COND - ((SETQ LOCALFONT (SASSOC GFONT VIEWERFONTCACHE))(* ; - "look in the viewer's font cache.") - (RETURN (CDR LOCALFONT] - (RETURN (PROG ((CANONICALTESTSTR "AWIaiw") - CANONICALWIDTH DEVICE DISPLAYGFONT) - [SETQ DEVICE (COND - ((STREAMP VIEWER) - (fetch (IMAGEOPS IMFONTCREATE) - of (fetch (STREAM IMAGEOPS) of VIEWER))) - (T 'DISPLAY] - [COND - ((EQUAL (TIMES SCALE (DSPSCALE NIL VIEWER)) - (fetch (TEXT INITIALSCALE) of GTEXT)) - - (* ;; "special case scales being the same so there is not a large delay when first character is typed and to avoid font look up problems when hardcopying at scale 1") - - (SETQ LOCALFONT (FONTCREATE GFONT NIL NIL NIL DEVICE))) - (T - (* ;; "use a canonical string to determine the font size so that all strings of a given font at a given scale look the same. If font is determined by the width of the particular string, two different string will appear in different fonts. In particular, the string may change fonts as the user is typing into it.") - - (* ;; "don't use the face information when determining string width because in some cases HELVETICA 10, the bold is smaller than the regular.") - - (SETQ DISPLAYGFONT (FONTCREATE GFONT NIL NIL NIL 'DISPLAY)) - [SETQ CANONICALWIDTH - (FIXR (QUOTIENT (TIMES [STRINGWIDTH CANONICALTESTSTR - (LIST (FONTPROP DISPLAYGFONT - 'FAMILY) - (FONTPROP DISPLAYGFONT - 'SIZE] - (fetch (TEXT INITIALSCALE) of GTEXT)) - (TIMES SCALE (DSPSCALE NIL VIEWER] - (* ; "calculate the local font.") - (SETQ LOCALFONT (SK.PICK.FONT CANONICALWIDTH CANONICALTESTSTR - DEVICE DISPLAYGFONT] - [COND - ((WINDOWP VIEWER) - (WINDOWPROP VIEWER 'PICKFONTCACHE (CONS (CONS GFONT LOCALFONT) - VIEWERFONTCACHE))) - ((STREAMP VIEWER) - (STREAMPROP VIEWER 'PICKFONTCACHE (CONS (CONS GFONT LOCALFONT) - VIEWERFONTCACHE] - (RETURN LOCALFONT]) + ((EQUAL (TIMES SCALE (DSPSCALE NIL VIEWER)) + (fetch (TEXT INITIALSCALE) of GTEXT)) + + (* ;; "special case scales being the same so there is not a large delay when first character is typed and to avoid font look up problems when hardcopying at scale 1") + + (SETQ LOCALFONT (FONTCREATE GFONT NIL NIL NIL DEVICE))) + (T + (* ;; "Use a canonical string to determine the font size so that all strings of a given font at a given scale look the same. If font is determined by the width of the particular string, two different strings will appear in different fonts. In particular, the string may change fonts as the user is typing into it.") + + (* ;; "The canonical width here is the natural font width having somehow taken into account the scale of the viewer and the initialscale of the text.") + + (SETQ DISPLAYGFONT (FONTCREATE GFONT NIL NIL NIL 'DISPLAY)) + [SETQ CANONICALWIDTH + (FIXR (QUOTIENT (TIMES (STRINGWIDTH CANONICALTESTSTR + (if NIL + then (create FONTSPEC using (FONTPROP DISPLAYGFONT + 'SPEC) + FSFACE _ + (MAKEFONTFACE + 'MEDIUM + 'REGULAR + 'REGULAR)) + else + + (* ;; "Original code didn't use the face information when determining string width because, it said, that in some cases HELVETICA 10, the bold is smaller than the regular. ") + + DISPLAYGFONT)) + (fetch (TEXT INITIALSCALE) of GTEXT)) + (TIMES SCALE (DSPSCALE NIL VIEWER] + (* ; "calculate the local font.") + (SETQ LOCALFONT (SK.PICK.FONT CANONICALWIDTH CANONICALTESTSTR DEVICE DISPLAYGFONT] + [COND + ((WINDOWP VIEWER) + (WINDOWPROP VIEWER 'PICKFONTCACHE (CONS (CONS GFONT LOCALFONT) + VIEWERFONTCACHE))) + ((STREAMP VIEWER) + (STREAMPROP VIEWER 'PICKFONTCACHE (CONS (CONS GFONT LOCALFONT) + VIEWERFONTCACHE] + (RETURN LOCALFONT]) (SK.NEXTSIZEFONT [LAMBDA (WHICHDIR NOWFONT) (* rrb "14-Jul-86 13:43") @@ -5603,136 +5568,40 @@ Click outside the window to stop.") do (RETURN (SK.FONTNAMELIST FONT]) (SK.DECREASING.FONT.LIST - [LAMBDA (FAMILY DEVICETYPE) (* ; - "Edited 12-Oct-92 12:39 by sybalsky:mv:envos") + [LAMBDA (FAMILY DEVICE) (* ; "Edited 6-Nov-2025 17:40 by rmk") + (* ; "Edited 4-Nov-2025 15:34 by rmk") + (* ; + "Edited 12-Oct-92 12:39 by sybalsky:mv:envos") - (* ;; "returns a list of fonts of family FAMILY which work on device DEVICETYPE") + (* ;; "This is used to find the best font for FAMILY on DEVICE that will allow a string to fit in a box, or to find the next larger/smaller font while editing. ") - [COND - ((NULL FAMILY) - (SETQ FAMILY 'MODERN] - - (* ;; "convert to families that exist on the known devices.") - -(* ;;; "NOTE: this is a very bad way to convert the family. It HARDCODES in the conversions for PRESS and INTERPRESS and does nothing for new device types. I have added the conversion for POSTSCRIPT that does things a little cleaner, but it should really look at a property of the device (fontconversions or some such animal.) --was 2/19/89") - - (LET ((CONVERSION)) - [COND - [(EQ DEVICETYPE 'PRESS) - (COND - ((EQ FAMILY 'MODERN) - (SETQ FAMILY 'HELVETICA)) - ((EQ FAMILY 'CLASSIC) - (SETQ FAMILY 'TIMESROMAN)) - ((EQ FAMILY 'TERMINAL) - (SETQ FAMILY 'GACHA] - [(EQ DEVICETYPE 'INTERPRESS) - (COND - ((EQ FAMILY 'HELVETICA) - (SETQ FAMILY 'MODERN)) - ((EQ FAMILY 'TIMESROMAN) - (SETQ FAMILY 'CLASSIC)) - ((EQ FAMILY 'GACHA) - (SETQ FAMILY 'TERMINAL] - ((EQ DEVICETYPE 'POSTSCRIPT) - (if (SETQ CONVERSION (ASSOC FAMILY POSTSCRIPT.FONT.ALIST)) - then + (* ;; "RMK 2025: The original code anticipated the coercions of the PRESS/INTERPRESS/POSTSCRIPT devices, building in e.g. that HELVETICA maps to MODERN on INTERPRESS and not even looking to see if there are any INTERPRESS HELVETICA fonts available or if e.g. INTERPRESS TERMINAL would coerce to MODERN for other sizes. ") - (* ;; - "convert the family here for postscript as well as the other well known devices.") + (* ;; "That is, if FAMILY is TERMINAL for INTERPRESS, this would only return fonts for sizes 6 8 10 12 even though coercions to MODERN might give smaller and bigger sizes.") - (SETQ FAMILY (CDR CONVERSION] - (for FONT in (SK.GUESS.FONTSAVAILABLE FAMILY DEVICETYPE) - collect (FONTCOPY FONT 'DEVICE DEVICETYPE]) + (* ;; "This code looks up all of the possible coercions of the given family to get all possible coerceable sizes, then relies on the related coercions in FONTCREATE to produce FAMILY fonts possibly constructed from data in the files for some other font. E.g. TERMINAL 14 will have the data from MODERN 14.") -(SK.GUESS.FONTSAVAILABLE - [LAMBDA (FAMILY HDCPYTYPE) (* rrb " 9-Oct-85 16:10") - - (* returns a list of all fonts of a FAMILY in decreasing order.) + (* ;; "This is also device independent: should work for HTML (whether or not HTML specifies any CHARCOERCIONS).") - (PROG (FILEFONTS CACHE DISPLAYFONTSIZES) - (SETQ HDCPYTYPE (COND - ((NULL HDCPYTYPE) - (PRINTERTYPE)) - ((NLISTP HDCPYTYPE) - HDCPYTYPE) - (T HDCPYTYPE))) (* cache the file fonts.) - [COND - [[SETQ FILEFONTS (ASSOC HDCPYTYPE (CDR (ASSOC FAMILY \FONTSONFILE] - - (* note if a cache has been calculated. Use it even if it is NIL) - - (* \FONTSONFILE seems to group things such as CLASSICTHIN under CLASSIC so make - sure to remove anything that has the wrong family.) - - (SETQ FILEFONTS (SUBSET (CDR FILEFONTS) - (FUNCTION (LAMBDA (X) - (EQ (CAR X) - FAMILY] - (T (RESETFORM (CURSOR WAITINGCURSOR) - (SETQ FILEFONTS (FONTSAVAILABLE FAMILY '* '(MEDIUM REGULAR REGULAR) NIL - HDCPYTYPE T)) - - (* Since there is no way to determine the real sizes for PRESS fonts with size - of 0 {meaning the widths scale}, guess that they are available in 10) - - [COND - [(EQ HDCPYTYPE 'PRESS) - - (* make sure to look for anything that has a display font.) - - (SETQ DISPLAYFONTSIZES (for FONT - in (FONTSAVAILABLE FAMILY '* - '(MEDIUM REGULAR REGULAR) NIL - 'DISPLAY) collect (CADR FONT))) - (SETQ FILEFONTS - (for FONT in FILEFONTS - join (COND - [(EQ (CADR FONT) - 0) - (for SIZE - in (UNION DISPLAYFONTSIZES - '(36 30 24 18 14 12 10 8 6)) - when (FONTCREATE (CAR FONT) - SIZE NIL NIL 'DISPLAY T) - collect (CONS (CAR FONT) - (CONS SIZE (CDDR FONT] - (T (CONS FONT] - ((EQ HDCPYTYPE 'DISPLAY) - - (* patch around the bug in FONTSAVAILABLE. - Remove after J release.) - - (SETQ FILEFONTS (SUBSET FILEFONTS (FUNCTION (LAMBDA (FONT) - (EQUAL (CADDR FONT) - '(MEDIUM REGULAR - REGULAR] - (* remove duplicates and sort) - [SETQ FILEFONTS (SORT (INTERSECTION FILEFONTS FILEFONTS) - (FUNCTION (LAMBDA (A B) - (GREATERP (CADR A) - (CADR B] - (COND - ((NULL (SETQ CACHE (ASSOC FAMILY \FONTSONFILE))) - (SETQ \FONTSONFILE (CONS (LIST FAMILY (CONS HDCPYTYPE FILEFONTS)) - \FONTSONFILE))) - (T (NCONC1 CACHE (CONS HDCPYTYPE FILEFONTS] - - (* reget the fonts in core since they may have changed since last time.) + (* ;; "Note that FONTSAVAILABLE caches its file lookups and FONTCREATE caches its fonts.") - (RETURN (SORT (UNION (FONTSAVAILABLE FAMILY '* NIL NIL HDCPYTYPE) - FILEFONTS) - (FUNCTION (LAMBDA (A B) - (COND - ((EQ (CADR A) - (CADR B)) - - (* in case both TIMESROMAN and TIMESROMAND for example make it in.) + (CL:UNLESS FAMILY + (SETQ FAMILY 'MODERN)) + (LET ((FAMSPEC (create FONTSPEC + FSFAMILY _ FAMILY + FSSIZE _ '* + FSDEVICE _ DEVICE))) + + (* ;; "Run through all sizes for all the fonts for FAMILY or any of its coercions on DEVICE. This gives us all the possible sizes for FAMILY, we ask FONTCREATE to create a FAMILY font for each of those sizes.") - (ALPHORDER (CADR A) - (CADR B))) - (T (GREATERP (CADR A) - (CADR B]) + (for FS SIZES in (for FS in [CONS FAMSPEC (COERCEFONTSPEC FAMSPEC (FONTDEVICEPROP + DEVICE + 'CHARCOERCIONS] + join (FONTSAVAILABLE FS NIL NIL NIL NIL T)) + do (pushnew SIZES (fetch (FONTSPEC FSSIZE) of FS)) + finally (RETURN (for S in [SORT SIZES (FUNCTION (LAMBDA (S1 S2) + (IGREATERP S1 S2] + collect (FONTCREATE FAMILY S NIL NIL DEVICE]) ) (RPAQ? \KNOWN.SKETCH.FONTSIZES ) @@ -5753,37 +5622,28 @@ Click outside the window to stop.") (DEFINEQ (SK.SET.FONT - [LAMBDA (W NEWFONT) (* rrb " 2-Oct-85 14:55") - - (* sets the entire default font. Used when a sketch stream is created. - or any of the defaults are changed. NEWFONT is a list of - (FAMILY SIZE FACE)) - - (COND - (NEWFONT (COND - ((FONTCREATE NEWFONT NIL NIL NIL NIL T) - - (* clear the cache of looked up fonts. This provides the user a way of clearing - the cache that shouldn't happen too much and is documented.) - - (AND (FASSOC (CAR NEWFONT) - \FONTSONFILE) - (SETQ \FONTSONFILE (for BUCKET in \FONTSONFILE - when (NEQ (CAR BUCKET) - (CAR NEWFONT)) collect BUCKET))) - (replace (SKETCHCONTEXT SKETCHFONT) of (WINDOWPROP W 'SKETCHCONTEXT) with NEWFONT - )) - (T (STATUSPRINT W (CAR NEWFONT) - " " - (CADR NEWFONT) - " " - (SELECTQ (CAR (CADDR NEWFONT)) - (BOLD 'BOLD) - "") - (SELECTQ (CADR (CADDR NEWFONT)) - (ITALIC 'ITALIC) - "") - " not found"]) + [LAMBDA (W NEWFONT) (* ; "Edited 4-Nov-2025 13:06 by rmk") + (* rrb " 2-Oct-85 14:55") + + (* ;; "Sets the default font. Used when a sketch stream is created. or any of the defaults are changed. NEWFONT is a fontspec") + + (CL:WHEN NEWFONT + (if (FONTCREATE NEWFONT NIL NIL NIL NIL T) + then + (* ;; "Tests to make sure the font exists, but stores the fontspec.") + + (replace (SKETCHCONTEXT SKETCHFONT) of (WINDOWPROP W 'SKETCHCONTEXT) with NEWFONT) + else (STATUSPRINT W (fetch (FONTSPEC FSFAMILY) of NEWFONT) + " " + (fetch (FONTSPEC FSSIZE) of NEWFONT) + " " + (SELECTQ (fetch (FONTFACE WEIGHT) of (fetch (FONTSPEC FSFACE) of NEWFONT)) + (BOLD 'BOLD) + "") + (SELECTQ (fetch (FONTFACE SLOPE) of (fetch (FONTSPEC FSFACE) of NEWFONT)) + (ITALIC 'ITALIC) + "") + " not found")))]) (SK.SET.TEXT.FONT [LAMBDA (W) (* rrb " 4-Oct-85 16:21") @@ -5838,90 +5698,51 @@ Click outside the window to stop.") of SKCONTEXT]) (SK.READFONTSIZE - [LAMBDA (TITLE FONTFAMILY SKW) (* rrb " 6-Nov-85 09:51") - - (* * gets a legal known font size from the user.) - - (* this should have MENUROWS _ 1 when title height bug in menu package gets - fixed.) - - (PROG ((FONTSIZES (SK.COLLECT.FONT.SIZES FONTFAMILY)) - NEWSIZE) - (COND - ((NULL FONTSIZES) - (GO MORE))) - (SETQ NEWSIZE (\CURSOR.IN.MIDDLE.MENU (create MENU - TITLE _ (COND - (TITLE) - (FONTFAMILY (CONCAT "new " - FONTFAMILY - " size?")) - (T "New font size?")) - ITEMS _ (CONS '(More 'MORE - "will look on font directories to find more sizes." - ) FONTSIZES) - CENTERFLG _ T))) - (COND - ((NEQ NEWSIZE 'MORE) - (RETURN NEWSIZE))) - MORE - (* do longer search of files) - (SETQ NEWSIZE (SK.COLLECT.FONT.SIZES FONTFAMILY T)) - (COND - ((NULL NEWSIZE) (* could not find any fonts of that - family) - (RETURN NIL)) - ((EQUAL NEWSIZE FONTSIZES) (* not new ones found) - (STATUSPRINT SKW " -No more font sizes found."))) - (RETURN (MENU (create MENU - TITLE _ (OR TITLE "New font size?") - ITEMS _ NEWSIZE - CENTERFLG _ T]) + [LAMBDA (TITLE FONTFAMILY SKW) (* ; "Edited 4-Nov-2025 20:12 by rmk") + (* rrb " 6-Nov-85 09:51") + + (* ;; "Gets a legal known font size from the user.") + (* ; "this should have MENUROWS _ 1 when title height bug in menu package gets fixed. RMK 2025: Is this still an issue?") + (CL:UNLESS TITLE + (SETQ TITLE (CONCAT "New " (OR FONTFAMILY "font") + " size?"))) + (LET ((FONTSIZES (SK.COLLECT.FONT.SIZES FONTFAMILY)) + (NEWSIZE 'MORE)) + (CL:WHEN FONTSIZES + (SETQ NEWSIZE (\CURSOR.IN.MIDDLE.MENU (create MENU + TITLE _ TITLE + ITEMS _ (NCONC1 FONTSIZES + '(More 'MORE + "Look on font-file directories to find more sizes" + )) + CENTERFLG _ T)))) + (CL:WHEN (EQ NEWSIZE 'MORE) (* ; "do longer search of files") + (SETQ FONTSIZES (LDIFFERENCE (SK.COLLECT.FONT.SIZES FONTFAMILY 'ONLY) + FONTSIZES)) + (SETQ NEWSIZE + (if FONTSIZES + then (MENU (create MENU + TITLE _ TITLE + ITEMS _ FONTSIZES + CENTERFLG _ T)) + else (STATUSPRINT SKW " +No more font sizes found.") + NIL))) + NEWSIZE]) (SK.COLLECT.FONT.SIZES - [LAMBDA (FAMILY FILESTOOFLG) (* rrb " 2-Oct-85 10:43") - - (* collects all of the sizes that are known. - If FAMILY is given, gets just those sizes.) + [LAMBDA (FAMILY FILESTOOFLG) (* ; "Edited 4-Nov-2025 20:02 by rmk") + (* rrb " 2-Oct-85 10:43") - (PROG (INCORESIZES FILESIZES) - [COND - [FAMILY (for TYPEBUCKET in (CDR (FASSOC FAMILY \FONTSONFILE)) - do (for FFONT in (CDR TYPEBUCKET) do (OR (MEMB (CADR FFONT) - INCORESIZES) - (SETQ INCORESIZES - (CONS (CADR FFONT) - INCORESIZES] - (T (* look at all fonts) - (for FAMILYBUCKET in \FONTSONFILE - do (for TYPEBUCKET in (CDR FAMILYBUCKET) - do (for FFONT in (CDR TYPEBUCKET) do (OR (MEMB (CADR FFONT) - INCORESIZES) - (SETQ INCORESIZES - (CONS (CADR FFONT) - INCORESIZES] - (RETURN (SORT (UNION INCORESIZES - (COND - [FILESTOOFLG - - (* wants those on files too, Flip the cursor to note wait.) - - (RESETFORM (CURSOR WAITINGCURSOR) - (bind SIZES for FONT - in (FONTSAVAILABLE (OR FAMILY '*) - '* NIL NIL 'DISPLAY T) - do (OR (MEMB (FONTPROP FONT 'SIZE) - SIZES) - (SETQ SIZES (CONS (FONTPROP FONT 'SIZE) - SIZES))) - finally (RETURN SIZES] - (T (bind SIZES for FONT in (FONTSAVAILABLE (OR FAMILY '*) - '* NIL NIL 'DISPLAY FILESTOOFLG) - do (OR (MEMB (FONTPROP FONT 'SIZE) - SIZES) - (SETQ SIZES (CONS (FONTPROP FONT 'SIZE) - SIZES))) finally (RETURN SIZES]) + (* ;; "Collects all of the sizes that are known. If FAMILY is given, gets just those sizes.") + + (* ;; "RMK: Original code seemed confused. The \FONTSONFILE variable (set originally only by SK.GUESS.FONTSAVAILBLE in the call from SK.DECREASING.FONT.LIST) maintained a cache just of the fonts that had already been looked up for particular families and particular devices. But then it called FONTSAVAILABLE only for the DISPLAY device.") + + (for FS SIZES in (FONTSAVAILABLE (OR FAMILY '*) + '* NIL NIL 'DISPLAY FILESTOOFLG) do (pushnew SIZES (fetch (FONTSPEC + FSSIZE) + of FS)) + finally (RETURN (SORT SIZES]) (SK.SET.TEXT.VERT.ALIGN [LAMBDA (SKW NEWALIGN) (* rrb " 6-Nov-85 09:52") @@ -6058,8 +5879,6 @@ No more font sizes found."))) (RPAQ? SK.DEFAULT.TEXT.ALIGNMENT '(CENTER BASELINE)) -(RPAQ? \FONTSONFILE NIL) - (ADDTOVAR SK.HORIZONTAL.STYLES LEFT RIGHT CENTER) (ADDTOVAR SK.VERTICAL.STYLES TOP CENTER BASELINE BOTTOM) @@ -9280,137 +9099,136 @@ No more font sizes found."))) (fetch (REGION TOP) of REGION]) ) (DECLARE%: DONTCOPY - (FILEMAP (NIL (14510 24920 (INIT.SKETCH.ELEMENTS 14520 . 22083) (CREATE.SKETCH.ELEMENT.TYPE 22085 . -23607) (SKETCH.ELEMENT.TYPEP 23609 . 23997) (SKETCH.ELEMENT.NAMEP 23999 . 24262) ( -\CURSOR.IN.MIDDLE.MENU 24264 . 24918)) (24961 25638 (SKETCHINCOLORP 24971 . 25291) (READ.COLOR.CHANGE -25293 . 25636)) (26147 28926 (SK.CREATE.DEFAULT.FILLING 26157 . 26458) (SKFILLINGP 26460 . 27093) ( -SK.INSURE.FILLING 27095 . 28523) (SK.INSURE.COLOR 28525 . 28924)) (28927 34537 (SK.TRANSLATE.MODE -28937 . 29719) (SK.CHANGE.FILLING.MODE 29721 . 33304) (READ.FILLING.MODE 33306 . 34535)) (34538 65212 -(SKETCH.CREATE.CIRCLE 34548 . 35360) (CIRCLE.EXPANDFN 35362 . 38734) (CIRCLE.DRAWFN 38736 . 41737) ( -\CIRCLE.DRAWFN1 41739 . 44334) (CIRCLE.INPUTFN 44336 . 46185) (SK.UPDATE.CIRCLE.AFTER.CHANGE 46187 . -46546) (SK.READ.CIRCLE.POINT 46548 . 47019) (SK.SHOW.CIRCLE 47021 . 47667) (CIRCLE.INSIDEFN 47669 . -47934) (CIRCLE.REGIONFN 47936 . 49617) (CIRCLE.GLOBALREGIONFN 49619 . 51137) (CIRCLE.TRANSLATE 51139 - . 53000) (CIRCLE.READCHANGEFN 53002 . 57618) (CIRCLE.TRANSFORMFN 57620 . 59473) (CIRCLE.TRANSLATEPTS -59475 . 61089) (SK.CIRCLE.CREATE 61091 . 61934) (SET.CIRCLE.SCALE 61936 . 62702) (SK.BRUSH.READCHANGE -62704 . 65210)) (65213 65942 (SK.INSURE.BRUSH 65223 . 65617) (SK.INSURE.DASHING 65619 . 65940)) (67156 - 96650 (SKETCH.CREATE.ELLIPSE 67166 . 67765) (ELLIPSE.EXPANDFN 67767 . 71379) (ELLIPSE.DRAWFN 71381 . -75558) (ELLIPSE.INPUTFN 75560 . 78000) (SK.READ.ELLIPSE.MAJOR.PT 78002 . 78581) ( -SK.SHOW.ELLIPSE.MAJOR.RADIUS 78583 . 79338) (SK.READ.ELLIPSE.MINOR.PT 79340 . 80033) ( -SK.SHOW.ELLIPSE.MINOR.RADIUS 80035 . 80867) (ELLIPSE.INSIDEFN 80869 . 81139) (ELLIPSE.CREATE 81141 . -82516) (SK.UPDATE.ELLIPSE.AFTER.CHANGE 82518 . 82886) (ELLIPSE.REGIONFN 82888 . 85088) ( -ELLIPSE.GLOBALREGIONFN 85090 . 86903) (ELLIPSE.TRANSLATEFN 86905 . 89451) (ELLIPSE.TRANSFORMFN 89453 - . 90730) (ELLIPSE.TRANSLATEPTS 90732 . 92773) (MARK.SPOT 92775 . 94026) (DISTANCEBETWEEN 94028 . -94623) (SK.DISTANCE.TO 94625 . 95010) (SQUARE 95012 . 95054) (COMPUTE.ELLIPSE.ORIENTATION 95056 . -95775) (SK.COMPUTE.ELLIPSE.MINOR.RADIUS.PT 95777 . 96648)) (97763 138819 (SKETCH.CREATE.OPEN.CURVE -97773 . 98326) (OPENCURVE.INPUTFN 98328 . 99196) (SK.CURVE.CREATE 99198 . 100943) (MAXXEXTENT 100945 - . 101804) (MAXYEXTENT 101806 . 102666) (KNOT.SET.SCALE.FIELD 102668 . 103470) (OPENCURVE.DRAWFN -103472 . 104603) (OPENCURVE.EXPANDFN 104605 . 107920) (OPENCURVE.READCHANGEFN 107922 . 111124) ( -OPENCURVE.TRANSFORMFN 111126 . 113624) (OPENCURVE.TRANSLATEFN 113626 . 114048) ( -OPENCURVE.TRANSLATEPTSFN 114050 . 115431) (SKETCH.CREATE.CLOSED.CURVE 115433 . 115939) ( -CLOSEDCURVE.DRAWFN 115941 . 116725) (CLOSEDCURVE.EXPANDFN 116727 . 119840) (CLOSEDCURVE.REGIONFN -119842 . 120639) (CLOSEDCURVE.GLOBALREGIONFN 120641 . 122074) (READ.LIST.OF.POINTS 122076 . 124055) ( -CLOSEDCURVE.INPUTFN 124057 . 124702) (CLOSEDCURVE.READCHANGEFN 124704 . 127599) ( -CLOSEDCURVE.TRANSFORMFN 127601 . 129401) (CLOSEDCURVE.TRANSLATEPTSFN 129403 . 130748) (INVISIBLEPARTP -130750 . 131103) (SHOWSKETCHPOINT 131105 . 131410) (SHOWSKETCHXY 131412 . 131930) (KNOTS.REGIONFN -131932 . 132833) (OPENWIRE.GLOBALREGIONFN 132835 . 133699) (CURVE.REGIONFN 133701 . 134642) ( -OPENCURVE.GLOBALREGIONFN 134644 . 136051) (KNOTS.TRANSLATEFN 136053 . 137096) (REGION.CONTAINING.PTS -137098 . 138817)) (138820 161096 (CHANGE.ELTS.BRUSH.SIZE 138830 . 139440) (CHANGE.ELTS.BRUSH 139442 . -139959) (CHANGE.ELTS.BRUSH.SHAPE 139961 . 140362) (SK.CHANGE.BRUSH.SHAPE 140364 . 143876) ( -SK.CHANGE.BRUSH.COLOR 143878 . 148324) (SK.CHANGE.BRUSH.SIZE 148326 . 153284) (SK.CHANGE.ANGLE 153286 - . 156266) (SK.CHANGE.ARC.DIRECTION 156268 . 158647) (SK.SET.DEFAULT.BRUSH.SIZE 158649 . 159348) ( -READSIZECHANGE 159350 . 161094)) (161097 162716 (SK.CHANGE.ELEMENT.KNOTS 161107 . 162714)) (162717 -163364 (SK.INSURE.POINT.LIST 162727 . 163180) (SK.INSURE.POSITION 163182 . 163362)) (164732 197055 ( -SKETCH.CREATE.WIRE 164742 . 165232) (CLOSEDWIRE.EXPANDFN 165234 . 167922) (KNOTS.INSIDEFN 167924 . -168645) (OPEN.WIRE.DRAWFN 168647 . 169239) (WIRE.EXPANDFN 169241 . 172488) ( -SK.UPDATE.WIRE.ELT.AFTER.CHANGE 172490 . 173011) (OPENWIRE.READCHANGEFN 173013 . 175506) ( -OPENWIRE.TRANSFORMFN 175508 . 177631) (OPENWIRE.TRANSLATEFN 177633 . 178057) (OPENWIRE.TRANSLATEPTSFN -178059 . 179338) (WIRE.INPUTFN 179340 . 180971) (SK.READ.WIRE.POINTS 180973 . 181504) ( -SK.READ.POINTS.WITH.FEEDBACK 181506 . 184273) (OPENWIRE.FEEDBACKFN 184275 . 185029) ( -CLOSEDWIRE.FEEDBACKFN 185031 . 186387) (CLOSEDWIRE.REGIONFN 186389 . 187374) ( -CLOSEDWIRE.GLOBALREGIONFN 187376 . 188428) (SK.WIRE.CREATE 188430 . 190193) (WIRE.ADD.POINT.TO.END -190195 . 191111) (READ.ARROW.CHANGE 191113 . 196589) (CHANGE.ELTS.ARROWHEADS 196591 . 197053)) (197056 - 208062 (SKETCH.CREATE.CLOSED.WIRE 197066 . 197627) (CLOSED.WIRE.INPUTFN 197629 . 197984) ( -CLOSED.WIRE.DRAWFN 197986 . 200031) (CLOSEDWIRE.READCHANGEFN 200033 . 204938) (CLOSEDWIRE.TRANSFORMFN -204940 . 206734) (CLOSEDWIRE.TRANSLATEPTSFN 206736 . 208060)) (208063 260769 (SK.EXPAND.ARROWHEADS -208073 . 208423) (SK.COMPUTE.ARC.ARROWHEAD.POINTS 208425 . 209806) (ARC.ARROWHEAD.POINTS 209808 . -211031) (SET.ARC.ARROWHEAD.POINTS 211033 . 212014) (SET.OPENCURVE.ARROWHEAD.POINTS 212016 . 212917) ( -SK.COMPUTE.CURVE.ARROWHEAD.POINTS 212919 . 214189) (SET.WIRE.ARROWHEAD.POINTS 214191 . 214944) ( -SK.COMPUTE.WIRE.ARROWHEAD.POINTS 214946 . 216211) (SK.EXPAND.ARROWHEAD 216213 . 217396) (CHANGED.ARROW - 217398 . 220570) (SK.CHANGE.ARROWHEAD 220572 . 221025) (SK.CHANGE.ARROWHEAD1 221027 . 226282) ( -SK.CREATE.ARROWHEAD 226284 . 226804) (SK.ARROWHEAD.CREATE 226806 . 228380) (SK.ARROWHEAD.END.TEST -228382 . 229306) (READ.ARROWHEAD.END 229308 . 231333) (ARROW.HEAD.POSITIONS 231335 . 233175) ( -ARROWHEAD.POINTS.LIST 233177 . 237149) (CURVE.ARROWHEAD.POINTS 237151 . 238014) (LEFT.MOST.IS.BEGINP -238016 . 238897) (WIRE.ARROWHEAD.POINTS 238899 . 240425) (DRAWARROWHEADS 240427 . 242797) ( -\SK.DRAW.TRIANGLE.ARROWHEAD 242799 . 244459) (\SK.ENDPT.OF.ARROW 244461 . 246718) ( -\SK.ADJUST.FOR.ARROWHEADS 246720 . 249225) (SK.SET.ARROWHEAD.LENGTH 249227 . 250371) ( -SK.SET.ARROWHEAD.ANGLE 250373 . 251469) (SK.SET.ARROWHEAD.TYPE 251471 . 254760) (SK.SET.LINE.ARROWHEAD - 254762 . 257175) (SK.UPDATE.ARROWHEAD.FORMAT 257177 . 259287) (SK.SET.LINE.LENGTH.MODE 259289 . -260767)) (260770 262571 (SK.INSURE.ARROWHEADS 260780 . 261962) (SK.ARROWHEADP 261964 . 262569)) ( -265368 327694 (SKETCH.CREATE.TEXT 265378 . 265892) (TEXT.CHANGEFN 265894 . 266286) (TEXT.READCHANGEFN -266288 . 274359) (\SK.READ.FONT.SIZE1 274361 . 276257) (SK.TEXT.ELT.WITH.SAME.FIELDS 276259 . 277899) -(SK.READFONTFAMILY 277901 . 279447) (CLOSE.PROMPT.WINDOW 279449 . 279873) (TEXT.DRAWFN 279875 . 280596 -) (TEXT.DRAWFN1 280598 . 284100) (TEXT.INSIDEFN 284102 . 284491) (TEXT.EXPANDFN 284493 . 286618) ( -SK.TEXT.LINE.REGIONS 286620 . 288494) (TEXT.UPDATE.GLOBAL.REGIONS 288496 . 289728) (REL.MOVE.REGION -289730 . 290267) (LTEXT.LINE.REGIONS 290269 . 293687) (TEXT.INPUTFN 293689 . 294199) (READ.TEXT 294201 - . 294949) (TEXT.POSITION.AND.CREATE 294951 . 297262) (CREATE.TEXT.ELEMENT 297264 . 298082) ( -SK.UPDATE.TEXT.AFTER.CHANGE 298084 . 298486) (SK.TEXT.FROM.TEXTBOX 298488 . 302294) ( -TEXT.SET.GLOBAL.REGIONS 302296 . 303589) (TEXT.REGIONFN 303591 . 304361) (TEXT.GLOBALREGIONFN 304363 - . 305051) (TEXT.TRANSLATEFN 305053 . 306368) (TEXT.TRANSFORMFN 306370 . 307493) (TEXT.TRANSLATEPTSFN -307495 . 308012) (TEXT.UPDATEFN 308014 . 312670) (SK.CHANGE.TEXT 312672 . 325760) (TEXT.SET.SCALES -325762 . 326730) (BREAK.AT.CARRIAGE.RETURNS 326732 . 327692)) (327695 346219 (ADD.KNOWN.SKETCH.FONT -327705 . 328696) (SK.PICK.FONT 328698 . 334230) (SK.CHOOSE.TEXT.FONT 334232 . 338180) (SK.NEXTSIZEFONT - 338182 . 339449) (SK.DECREASING.FONT.LIST 339451 . 341324) (SK.GUESS.FONTSAVAILABLE 341326 . 346217)) - (346638 360781 (SK.SET.FONT 346648 . 348215) (SK.SET.TEXT.FONT 348217 . 349219) (SK.SET.TEXT.SIZE -349221 . 349908) (SK.SET.TEXT.HORIZ.ALIGN 349910 . 351484) (SK.READFONTSIZE 351486 . 353716) ( -SK.COLLECT.FONT.SIZES 353718 . 356636) (SK.SET.TEXT.VERT.ALIGN 356638 . 358680) (SK.SET.TEXT.LOOKS -358682 . 360139) (SK.SET.DEFAULT.TEXT.FACE 360141 . 360779)) (360782 361368 (CREATE.SKETCH.TERMTABLE -360792 . 361366)) (361369 363135 (SK.FONT.LIST 361379 . 361705) (SK.INSURE.FONT 361707 . 362229) ( -SK.INSURE.STYLE 362231 . 362749) (SK.INSURE.TEXT 362751 . 363133)) (363705 420998 ( -SKETCH.CREATE.TEXTBOX 363715 . 365357) (SK.COMPUTE.TEXTBOX.REGION.FOR.STRING 365359 . 367436) ( -SK.BREAK.INTO.LINES 367438 . 378624) (SK.BRUSH.SIZE 378626 . 379007) (SK.TEXTBOX.CREATE 379009 . -379806) (SK.TEXTBOX.CREATE1 379808 . 380872) (SK.UPDATE.TEXTBOX.AFTER.CHANGE 380874 . 381414) ( -SK.TEXTBOX.POSITION.IN.BOX 381416 . 383327) (TEXTBOX.CHANGEFN 383329 . 383803) (TEXTBOX.DRAWFN 383805 - . 385841) (SK.TEXTURE.AROUND.REGIONS 385843 . 391916) (ALL.EMPTY.REGIONS 391918 . 392408) ( -TEXTBOX.EXPANDFN 392410 . 399566) (TEXTBOX.INPUTFN 399568 . 401181) (TEXTBOX.INSIDEFN 401183 . 401596) - (TEXTBOX.REGIONFN 401598 . 402452) (TEXTBOX.GLOBALREGIONFN 402454 . 402782) ( -TEXTBOX.SET.GLOBAL.REGIONS 402784 . 404115) (TEXTBOX.TRANSLATEFN 404117 . 405958) ( -TEXTBOX.TRANSLATEPTSFN 405960 . 408743) (TEXTBOX.TRANSFORMFN 408745 . 410413) (TEXTBOX.UPDATEFN 410415 - . 412308) (TEXTBOX.READCHANGEFN 412310 . 417199) (SK.TEXTBOX.TEXT.POSITION 417201 . 417622) ( -SK.TEXTBOX.FROM.TEXT 417624 . 420229) (ADD.EOLS 420231 . 420996)) (421527 425028 ( -SK.SET.TEXTBOX.VERT.ALIGN 421537 . 423417) (SK.SET.TEXTBOX.HORIZ.ALIGN 423419 . 425026)) (425411 -469886 (SKETCH.CREATE.BOX 425421 . 425904) (SK.BOX.DRAWFN 425906 . 427065) (BOX.DRAWFN1 427067 . -429906) (KNOTS.OF.REGION 429908 . 431142) (SK.DRAWAREABOX 431144 . 437745) (SK.DRAWBOX 437747 . 438936 -) (SK.BOX.EXPANDFN 438938 . 442686) (SK.BOX.GETREGIONFN 442688 . 443874) (BOX.SET.SCALES 443876 . -445116) (SK.BOX.INPUTFN 445118 . 447051) (SK.BOX.CREATE 447053 . 447754) (SK.UPDATE.BOX.AFTER.CHANGE -447756 . 448267) (SK.BOX.INSIDEFN 448269 . 448659) (SK.BOX.REGIONFN 448661 . 449374) ( -SK.BOX.GLOBALREGIONFN 449376 . 450114) (SK.BOX.READCHANGEFN 450116 . 453837) (SK.CHANGE.FILLING 453839 - . 457787) (SK.CHANGE.FILLING.COLOR 457789 . 461445) (SK.BOX.TRANSLATEFN 461447 . 462626) ( -SK.BOX.TRANSFORMFN 462628 . 463573) (SK.BOX.TRANSLATEPTSFN 463575 . 465943) (UNSCALE.REGION.TO.GRID -465945 . 466870) (INCREASEREGION 466872 . 467463) (INSUREREGIONSIZE 467465 . 468636) (EXPANDREGION -468638 . 469518) (REGION.FROM.COORDINATES 469520 . 469884)) (470422 496777 (SKETCH.CREATE.ARC 470432 - . 471241) (ARC.DRAWFN 471243 . 472970) (ARC.EXPANDFN 472972 . 475305) (ARC.INPUTFN 475307 . 479525) ( -SK.INVERT.CIRCLE 479527 . 480387) (SK.READ.ARC.ANGLE.POINT 480389 . 480896) (SK.SHOW.ARC 480898 . -481508) (ARC.CREATE 481510 . 482865) (SK.UPDATE.ARC.AFTER.CHANGE 482867 . 483207) (ARC.MOVEFN 483209 - . 484792) (ARC.TRANSLATEPTS 484794 . 486679) (ARC.INSIDEFN 486681 . 486931) (ARC.REGIONFN 486933 . -488069) (ARC.GLOBALREGIONFN 488071 . 489793) (ARC.TRANSLATE 489795 . 490777) (ARC.TRANSFORMFN 490779 - . 493729) (ARC.READCHANGEFN 493731 . 496775)) (496778 505857 (SK.COMPUTE.ARC.ANGLE.PT 496788 . 497714 -) (SK.COMPUTE.ARC.ANGLE.PT.FROM.ANGLE 497716 . 498709) (SK.COMPUTE.ARC.PTS 498711 . 502283) ( -SK.SET.ARC.DIRECTION 502285 . 502859) (SK.SET.ARC.DIRECTION.CW 502861 . 503035) ( -SK.SET.ARC.DIRECTION.CCW 503037 . 503310) (SK.COMPUTE.SLOPE.OF.LINE 503312 . 503804) ( -SK.CREATE.ARC.USING 503806 . 505043) (SET.ARC.SCALES 505045 . 505855)) (505858 506303 ( -SK.INSURE.DIRECTION 505868 . 506301)) (507674 553533 (GETSKETCHELEMENTPROP 507684 . 508992) ( -\SK.GET.ARC.ANGLEPT 508994 . 509555) (\GETSKETCHELEMENTPROP1 509557 . 509811) (\SK.GET.BRUSH 509813 . -510737) (\SK.GET.FILLING 510739 . 511837) (\SK.GET.ARROWHEADS 511839 . 512618) (\SK.GET.FONT 512620 . -513100) (\SK.GET.JUSTIFICATION 513102 . 513626) (\SK.GET.DIRECTION 513628 . 514105) (\SK.GET.DASHING -514107 . 515126) (PUTSKETCHELEMENTPROP 515128 . 517397) (\SK.PUT.FILLING 517399 . 518669) ( -ADDSKETCHELEMENTPROP 518671 . 519476) (REMOVESKETCHELEMENTPROP 519478 . 520267) (\SK.PUT.FONT 520269 - . 521083) (\SK.PUT.JUSTIFICATION 521085 . 522096) (\SK.PUT.DIRECTION 522098 . 522705) ( -\SK.PUT.DASHING 522707 . 524042) (\SK.PUT.BRUSH 524044 . 525963) (\SK.PUT.ARROWHEADS 525965 . 527931) -(SK.COPY.ELEMENT.PROPERTY.LIST 527933 . 528509) (SKETCH.UPDATE 528511 . 529241) (SKETCH.UPDATE1 529243 - . 530531) (\SKELT.GET.SCALE 530533 . 531521) (\SKELT.PUT.SCALE 531523 . 532830) (\SKELT.PUT.DATA -532832 . 534629) (SK.REPLACE.TEXT.IN.ELEMENT 534631 . 535584) (\SKELT.GET.DATA 535586 . 536653) ( -\SK.GET.1STCONTROLPT 536655 . 538167) (\SK.PUT.1STCONTROLPT 538169 . 543642) (\SK.GET.2NDCONTROLPT -543644 . 544559) (\SK.PUT.2NDCONTROLPT 544561 . 548749) (\SK.GET.3RDCONTROLPT 548751 . 549629) ( -\SK.PUT.3RDCONTROLPT 549631 . 553531)) (553534 554115 (LOWERLEFTCORNER 553544 . 553790) ( -UPPERRIGHTCORNER 553792 . 554113))))) + (FILEMAP (NIL (14369 24779 (INIT.SKETCH.ELEMENTS 14379 . 21942) (CREATE.SKETCH.ELEMENT.TYPE 21944 . +23466) (SKETCH.ELEMENT.TYPEP 23468 . 23856) (SKETCH.ELEMENT.NAMEP 23858 . 24121) ( +\CURSOR.IN.MIDDLE.MENU 24123 . 24777)) (24820 25497 (SKETCHINCOLORP 24830 . 25150) (READ.COLOR.CHANGE +25152 . 25495)) (26006 28785 (SK.CREATE.DEFAULT.FILLING 26016 . 26317) (SKFILLINGP 26319 . 26952) ( +SK.INSURE.FILLING 26954 . 28382) (SK.INSURE.COLOR 28384 . 28783)) (28786 34396 (SK.TRANSLATE.MODE +28796 . 29578) (SK.CHANGE.FILLING.MODE 29580 . 33163) (READ.FILLING.MODE 33165 . 34394)) (34397 65071 +(SKETCH.CREATE.CIRCLE 34407 . 35219) (CIRCLE.EXPANDFN 35221 . 38593) (CIRCLE.DRAWFN 38595 . 41596) ( +\CIRCLE.DRAWFN1 41598 . 44193) (CIRCLE.INPUTFN 44195 . 46044) (SK.UPDATE.CIRCLE.AFTER.CHANGE 46046 . +46405) (SK.READ.CIRCLE.POINT 46407 . 46878) (SK.SHOW.CIRCLE 46880 . 47526) (CIRCLE.INSIDEFN 47528 . +47793) (CIRCLE.REGIONFN 47795 . 49476) (CIRCLE.GLOBALREGIONFN 49478 . 50996) (CIRCLE.TRANSLATE 50998 + . 52859) (CIRCLE.READCHANGEFN 52861 . 57477) (CIRCLE.TRANSFORMFN 57479 . 59332) (CIRCLE.TRANSLATEPTS +59334 . 60948) (SK.CIRCLE.CREATE 60950 . 61793) (SET.CIRCLE.SCALE 61795 . 62561) (SK.BRUSH.READCHANGE +62563 . 65069)) (65072 65801 (SK.INSURE.BRUSH 65082 . 65476) (SK.INSURE.DASHING 65478 . 65799)) (67015 + 96509 (SKETCH.CREATE.ELLIPSE 67025 . 67624) (ELLIPSE.EXPANDFN 67626 . 71238) (ELLIPSE.DRAWFN 71240 . +75417) (ELLIPSE.INPUTFN 75419 . 77859) (SK.READ.ELLIPSE.MAJOR.PT 77861 . 78440) ( +SK.SHOW.ELLIPSE.MAJOR.RADIUS 78442 . 79197) (SK.READ.ELLIPSE.MINOR.PT 79199 . 79892) ( +SK.SHOW.ELLIPSE.MINOR.RADIUS 79894 . 80726) (ELLIPSE.INSIDEFN 80728 . 80998) (ELLIPSE.CREATE 81000 . +82375) (SK.UPDATE.ELLIPSE.AFTER.CHANGE 82377 . 82745) (ELLIPSE.REGIONFN 82747 . 84947) ( +ELLIPSE.GLOBALREGIONFN 84949 . 86762) (ELLIPSE.TRANSLATEFN 86764 . 89310) (ELLIPSE.TRANSFORMFN 89312 + . 90589) (ELLIPSE.TRANSLATEPTS 90591 . 92632) (MARK.SPOT 92634 . 93885) (DISTANCEBETWEEN 93887 . +94482) (SK.DISTANCE.TO 94484 . 94869) (SQUARE 94871 . 94913) (COMPUTE.ELLIPSE.ORIENTATION 94915 . +95634) (SK.COMPUTE.ELLIPSE.MINOR.RADIUS.PT 95636 . 96507)) (97622 138678 (SKETCH.CREATE.OPEN.CURVE +97632 . 98185) (OPENCURVE.INPUTFN 98187 . 99055) (SK.CURVE.CREATE 99057 . 100802) (MAXXEXTENT 100804 + . 101663) (MAXYEXTENT 101665 . 102525) (KNOT.SET.SCALE.FIELD 102527 . 103329) (OPENCURVE.DRAWFN +103331 . 104462) (OPENCURVE.EXPANDFN 104464 . 107779) (OPENCURVE.READCHANGEFN 107781 . 110983) ( +OPENCURVE.TRANSFORMFN 110985 . 113483) (OPENCURVE.TRANSLATEFN 113485 . 113907) ( +OPENCURVE.TRANSLATEPTSFN 113909 . 115290) (SKETCH.CREATE.CLOSED.CURVE 115292 . 115798) ( +CLOSEDCURVE.DRAWFN 115800 . 116584) (CLOSEDCURVE.EXPANDFN 116586 . 119699) (CLOSEDCURVE.REGIONFN +119701 . 120498) (CLOSEDCURVE.GLOBALREGIONFN 120500 . 121933) (READ.LIST.OF.POINTS 121935 . 123914) ( +CLOSEDCURVE.INPUTFN 123916 . 124561) (CLOSEDCURVE.READCHANGEFN 124563 . 127458) ( +CLOSEDCURVE.TRANSFORMFN 127460 . 129260) (CLOSEDCURVE.TRANSLATEPTSFN 129262 . 130607) (INVISIBLEPARTP +130609 . 130962) (SHOWSKETCHPOINT 130964 . 131269) (SHOWSKETCHXY 131271 . 131789) (KNOTS.REGIONFN +131791 . 132692) (OPENWIRE.GLOBALREGIONFN 132694 . 133558) (CURVE.REGIONFN 133560 . 134501) ( +OPENCURVE.GLOBALREGIONFN 134503 . 135910) (KNOTS.TRANSLATEFN 135912 . 136955) (REGION.CONTAINING.PTS +136957 . 138676)) (138679 160955 (CHANGE.ELTS.BRUSH.SIZE 138689 . 139299) (CHANGE.ELTS.BRUSH 139301 . +139818) (CHANGE.ELTS.BRUSH.SHAPE 139820 . 140221) (SK.CHANGE.BRUSH.SHAPE 140223 . 143735) ( +SK.CHANGE.BRUSH.COLOR 143737 . 148183) (SK.CHANGE.BRUSH.SIZE 148185 . 153143) (SK.CHANGE.ANGLE 153145 + . 156125) (SK.CHANGE.ARC.DIRECTION 156127 . 158506) (SK.SET.DEFAULT.BRUSH.SIZE 158508 . 159207) ( +READSIZECHANGE 159209 . 160953)) (160956 162575 (SK.CHANGE.ELEMENT.KNOTS 160966 . 162573)) (162576 +163223 (SK.INSURE.POINT.LIST 162586 . 163039) (SK.INSURE.POSITION 163041 . 163221)) (164591 196914 ( +SKETCH.CREATE.WIRE 164601 . 165091) (CLOSEDWIRE.EXPANDFN 165093 . 167781) (KNOTS.INSIDEFN 167783 . +168504) (OPEN.WIRE.DRAWFN 168506 . 169098) (WIRE.EXPANDFN 169100 . 172347) ( +SK.UPDATE.WIRE.ELT.AFTER.CHANGE 172349 . 172870) (OPENWIRE.READCHANGEFN 172872 . 175365) ( +OPENWIRE.TRANSFORMFN 175367 . 177490) (OPENWIRE.TRANSLATEFN 177492 . 177916) (OPENWIRE.TRANSLATEPTSFN +177918 . 179197) (WIRE.INPUTFN 179199 . 180830) (SK.READ.WIRE.POINTS 180832 . 181363) ( +SK.READ.POINTS.WITH.FEEDBACK 181365 . 184132) (OPENWIRE.FEEDBACKFN 184134 . 184888) ( +CLOSEDWIRE.FEEDBACKFN 184890 . 186246) (CLOSEDWIRE.REGIONFN 186248 . 187233) ( +CLOSEDWIRE.GLOBALREGIONFN 187235 . 188287) (SK.WIRE.CREATE 188289 . 190052) (WIRE.ADD.POINT.TO.END +190054 . 190970) (READ.ARROW.CHANGE 190972 . 196448) (CHANGE.ELTS.ARROWHEADS 196450 . 196912)) (196915 + 207921 (SKETCH.CREATE.CLOSED.WIRE 196925 . 197486) (CLOSED.WIRE.INPUTFN 197488 . 197843) ( +CLOSED.WIRE.DRAWFN 197845 . 199890) (CLOSEDWIRE.READCHANGEFN 199892 . 204797) (CLOSEDWIRE.TRANSFORMFN +204799 . 206593) (CLOSEDWIRE.TRANSLATEPTSFN 206595 . 207919)) (207922 260628 (SK.EXPAND.ARROWHEADS +207932 . 208282) (SK.COMPUTE.ARC.ARROWHEAD.POINTS 208284 . 209665) (ARC.ARROWHEAD.POINTS 209667 . +210890) (SET.ARC.ARROWHEAD.POINTS 210892 . 211873) (SET.OPENCURVE.ARROWHEAD.POINTS 211875 . 212776) ( +SK.COMPUTE.CURVE.ARROWHEAD.POINTS 212778 . 214048) (SET.WIRE.ARROWHEAD.POINTS 214050 . 214803) ( +SK.COMPUTE.WIRE.ARROWHEAD.POINTS 214805 . 216070) (SK.EXPAND.ARROWHEAD 216072 . 217255) (CHANGED.ARROW + 217257 . 220429) (SK.CHANGE.ARROWHEAD 220431 . 220884) (SK.CHANGE.ARROWHEAD1 220886 . 226141) ( +SK.CREATE.ARROWHEAD 226143 . 226663) (SK.ARROWHEAD.CREATE 226665 . 228239) (SK.ARROWHEAD.END.TEST +228241 . 229165) (READ.ARROWHEAD.END 229167 . 231192) (ARROW.HEAD.POSITIONS 231194 . 233034) ( +ARROWHEAD.POINTS.LIST 233036 . 237008) (CURVE.ARROWHEAD.POINTS 237010 . 237873) (LEFT.MOST.IS.BEGINP +237875 . 238756) (WIRE.ARROWHEAD.POINTS 238758 . 240284) (DRAWARROWHEADS 240286 . 242656) ( +\SK.DRAW.TRIANGLE.ARROWHEAD 242658 . 244318) (\SK.ENDPT.OF.ARROW 244320 . 246577) ( +\SK.ADJUST.FOR.ARROWHEADS 246579 . 249084) (SK.SET.ARROWHEAD.LENGTH 249086 . 250230) ( +SK.SET.ARROWHEAD.ANGLE 250232 . 251328) (SK.SET.ARROWHEAD.TYPE 251330 . 254619) (SK.SET.LINE.ARROWHEAD + 254621 . 257034) (SK.UPDATE.ARROWHEAD.FORMAT 257036 . 259146) (SK.SET.LINE.LENGTH.MODE 259148 . +260626)) (260629 262430 (SK.INSURE.ARROWHEADS 260639 . 261821) (SK.ARROWHEADP 261823 . 262428)) ( +265227 328477 (SKETCH.CREATE.TEXT 265237 . 265751) (TEXT.CHANGEFN 265753 . 266145) (TEXT.READCHANGEFN +266147 . 274218) (\SK.READ.FONT.SIZE1 274220 . 276116) (SK.TEXT.ELT.WITH.SAME.FIELDS 276118 . 277758) +(SK.READFONTFAMILY 277760 . 280230) (CLOSE.PROMPT.WINDOW 280232 . 280656) (TEXT.DRAWFN 280658 . 281379 +) (TEXT.DRAWFN1 281381 . 284883) (TEXT.INSIDEFN 284885 . 285274) (TEXT.EXPANDFN 285276 . 287401) ( +SK.TEXT.LINE.REGIONS 287403 . 289277) (TEXT.UPDATE.GLOBAL.REGIONS 289279 . 290511) (REL.MOVE.REGION +290513 . 291050) (LTEXT.LINE.REGIONS 291052 . 294470) (TEXT.INPUTFN 294472 . 294982) (READ.TEXT 294984 + . 295732) (TEXT.POSITION.AND.CREATE 295734 . 298045) (CREATE.TEXT.ELEMENT 298047 . 298865) ( +SK.UPDATE.TEXT.AFTER.CHANGE 298867 . 299269) (SK.TEXT.FROM.TEXTBOX 299271 . 303077) ( +TEXT.SET.GLOBAL.REGIONS 303079 . 304372) (TEXT.REGIONFN 304374 . 305144) (TEXT.GLOBALREGIONFN 305146 + . 305834) (TEXT.TRANSLATEFN 305836 . 307151) (TEXT.TRANSFORMFN 307153 . 308276) (TEXT.TRANSLATEPTSFN +308278 . 308795) (TEXT.UPDATEFN 308797 . 313453) (SK.CHANGE.TEXT 313455 . 326543) (TEXT.SET.SCALES +326545 . 327513) (BREAK.AT.CARRIAGE.RETURNS 327515 . 328475)) (328478 341098 (SK.PICK.FONT 328488 . +332760) (SK.CHOOSE.TEXT.FONT 332762 . 337033) (SK.NEXTSIZEFONT 337035 . 338302) ( +SK.DECREASING.FONT.LIST 338304 . 341096)) (341517 353191 (SK.SET.FONT 341527 . 342794) ( +SK.SET.TEXT.FONT 342796 . 343798) (SK.SET.TEXT.SIZE 343800 . 344487) (SK.SET.TEXT.HORIZ.ALIGN 344489 + . 346063) (SK.READFONTSIZE 346065 . 347963) (SK.COLLECT.FONT.SIZES 347965 . 349046) ( +SK.SET.TEXT.VERT.ALIGN 349048 . 351090) (SK.SET.TEXT.LOOKS 351092 . 352549) (SK.SET.DEFAULT.TEXT.FACE +352551 . 353189)) (353192 353778 (CREATE.SKETCH.TERMTABLE 353202 . 353776)) (353779 355545 ( +SK.FONT.LIST 353789 . 354115) (SK.INSURE.FONT 354117 . 354639) (SK.INSURE.STYLE 354641 . 355159) ( +SK.INSURE.TEXT 355161 . 355543)) (356085 413378 (SKETCH.CREATE.TEXTBOX 356095 . 357737) ( +SK.COMPUTE.TEXTBOX.REGION.FOR.STRING 357739 . 359816) (SK.BREAK.INTO.LINES 359818 . 371004) ( +SK.BRUSH.SIZE 371006 . 371387) (SK.TEXTBOX.CREATE 371389 . 372186) (SK.TEXTBOX.CREATE1 372188 . 373252 +) (SK.UPDATE.TEXTBOX.AFTER.CHANGE 373254 . 373794) (SK.TEXTBOX.POSITION.IN.BOX 373796 . 375707) ( +TEXTBOX.CHANGEFN 375709 . 376183) (TEXTBOX.DRAWFN 376185 . 378221) (SK.TEXTURE.AROUND.REGIONS 378223 + . 384296) (ALL.EMPTY.REGIONS 384298 . 384788) (TEXTBOX.EXPANDFN 384790 . 391946) (TEXTBOX.INPUTFN +391948 . 393561) (TEXTBOX.INSIDEFN 393563 . 393976) (TEXTBOX.REGIONFN 393978 . 394832) ( +TEXTBOX.GLOBALREGIONFN 394834 . 395162) (TEXTBOX.SET.GLOBAL.REGIONS 395164 . 396495) ( +TEXTBOX.TRANSLATEFN 396497 . 398338) (TEXTBOX.TRANSLATEPTSFN 398340 . 401123) (TEXTBOX.TRANSFORMFN +401125 . 402793) (TEXTBOX.UPDATEFN 402795 . 404688) (TEXTBOX.READCHANGEFN 404690 . 409579) ( +SK.TEXTBOX.TEXT.POSITION 409581 . 410002) (SK.TEXTBOX.FROM.TEXT 410004 . 412609) (ADD.EOLS 412611 . +413376)) (413907 417408 (SK.SET.TEXTBOX.VERT.ALIGN 413917 . 415797) (SK.SET.TEXTBOX.HORIZ.ALIGN 415799 + . 417406)) (417791 462266 (SKETCH.CREATE.BOX 417801 . 418284) (SK.BOX.DRAWFN 418286 . 419445) ( +BOX.DRAWFN1 419447 . 422286) (KNOTS.OF.REGION 422288 . 423522) (SK.DRAWAREABOX 423524 . 430125) ( +SK.DRAWBOX 430127 . 431316) (SK.BOX.EXPANDFN 431318 . 435066) (SK.BOX.GETREGIONFN 435068 . 436254) ( +BOX.SET.SCALES 436256 . 437496) (SK.BOX.INPUTFN 437498 . 439431) (SK.BOX.CREATE 439433 . 440134) ( +SK.UPDATE.BOX.AFTER.CHANGE 440136 . 440647) (SK.BOX.INSIDEFN 440649 . 441039) (SK.BOX.REGIONFN 441041 + . 441754) (SK.BOX.GLOBALREGIONFN 441756 . 442494) (SK.BOX.READCHANGEFN 442496 . 446217) ( +SK.CHANGE.FILLING 446219 . 450167) (SK.CHANGE.FILLING.COLOR 450169 . 453825) (SK.BOX.TRANSLATEFN +453827 . 455006) (SK.BOX.TRANSFORMFN 455008 . 455953) (SK.BOX.TRANSLATEPTSFN 455955 . 458323) ( +UNSCALE.REGION.TO.GRID 458325 . 459250) (INCREASEREGION 459252 . 459843) (INSUREREGIONSIZE 459845 . +461016) (EXPANDREGION 461018 . 461898) (REGION.FROM.COORDINATES 461900 . 462264)) (462802 489157 ( +SKETCH.CREATE.ARC 462812 . 463621) (ARC.DRAWFN 463623 . 465350) (ARC.EXPANDFN 465352 . 467685) ( +ARC.INPUTFN 467687 . 471905) (SK.INVERT.CIRCLE 471907 . 472767) (SK.READ.ARC.ANGLE.POINT 472769 . +473276) (SK.SHOW.ARC 473278 . 473888) (ARC.CREATE 473890 . 475245) (SK.UPDATE.ARC.AFTER.CHANGE 475247 + . 475587) (ARC.MOVEFN 475589 . 477172) (ARC.TRANSLATEPTS 477174 . 479059) (ARC.INSIDEFN 479061 . +479311) (ARC.REGIONFN 479313 . 480449) (ARC.GLOBALREGIONFN 480451 . 482173) (ARC.TRANSLATE 482175 . +483157) (ARC.TRANSFORMFN 483159 . 486109) (ARC.READCHANGEFN 486111 . 489155)) (489158 498237 ( +SK.COMPUTE.ARC.ANGLE.PT 489168 . 490094) (SK.COMPUTE.ARC.ANGLE.PT.FROM.ANGLE 490096 . 491089) ( +SK.COMPUTE.ARC.PTS 491091 . 494663) (SK.SET.ARC.DIRECTION 494665 . 495239) (SK.SET.ARC.DIRECTION.CW +495241 . 495415) (SK.SET.ARC.DIRECTION.CCW 495417 . 495690) (SK.COMPUTE.SLOPE.OF.LINE 495692 . 496184) + (SK.CREATE.ARC.USING 496186 . 497423) (SET.ARC.SCALES 497425 . 498235)) (498238 498683 ( +SK.INSURE.DIRECTION 498248 . 498681)) (500054 545913 (GETSKETCHELEMENTPROP 500064 . 501372) ( +\SK.GET.ARC.ANGLEPT 501374 . 501935) (\GETSKETCHELEMENTPROP1 501937 . 502191) (\SK.GET.BRUSH 502193 . +503117) (\SK.GET.FILLING 503119 . 504217) (\SK.GET.ARROWHEADS 504219 . 504998) (\SK.GET.FONT 505000 . +505480) (\SK.GET.JUSTIFICATION 505482 . 506006) (\SK.GET.DIRECTION 506008 . 506485) (\SK.GET.DASHING +506487 . 507506) (PUTSKETCHELEMENTPROP 507508 . 509777) (\SK.PUT.FILLING 509779 . 511049) ( +ADDSKETCHELEMENTPROP 511051 . 511856) (REMOVESKETCHELEMENTPROP 511858 . 512647) (\SK.PUT.FONT 512649 + . 513463) (\SK.PUT.JUSTIFICATION 513465 . 514476) (\SK.PUT.DIRECTION 514478 . 515085) ( +\SK.PUT.DASHING 515087 . 516422) (\SK.PUT.BRUSH 516424 . 518343) (\SK.PUT.ARROWHEADS 518345 . 520311) +(SK.COPY.ELEMENT.PROPERTY.LIST 520313 . 520889) (SKETCH.UPDATE 520891 . 521621) (SKETCH.UPDATE1 521623 + . 522911) (\SKELT.GET.SCALE 522913 . 523901) (\SKELT.PUT.SCALE 523903 . 525210) (\SKELT.PUT.DATA +525212 . 527009) (SK.REPLACE.TEXT.IN.ELEMENT 527011 . 527964) (\SKELT.GET.DATA 527966 . 529033) ( +\SK.GET.1STCONTROLPT 529035 . 530547) (\SK.PUT.1STCONTROLPT 530549 . 536022) (\SK.GET.2NDCONTROLPT +536024 . 536939) (\SK.PUT.2NDCONTROLPT 536941 . 541129) (\SK.GET.3RDCONTROLPT 541131 . 542009) ( +\SK.PUT.3RDCONTROLPT 542011 . 545911)) (545914 546495 (LOWERLEFTCORNER 545924 . 546170) ( +UPPERRIGHTCORNER 546172 . 546493))))) STOP diff --git a/library/sketch/SKETCH-ELEMENTS.LCOM b/library/sketch/SKETCH-ELEMENTS.LCOM index 14b7a802f6358ac0e423a982a87e0a45e3c99341..c26fdc957e1a9826539efc29e775b280c237fb95 100644 GIT binary patch delta 3907 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 diff --git a/library/sketch/SKETCH.LCOM b/library/sketch/SKETCH.LCOM index 841eab4c0b47a1633cf46b55569033f718d568b9..58641092df6d2e1bec6aa960c3db11261a4a7dac 100644 GIT binary patch delta 1333 zcmZuxPfQ$T6lY)4#7s$BrgrdVMXH7)T5;Whk9UrU!>EFAlymA~C_A7>*fdSNEI)skEY` zm6V@7wLEvWe&OQ6Gjp?S?)i($E5S5ds;|y3ES+ZyOU$3EmP+hksw~TXHaoLQ@%O?^ zr2LW~=Cl&em|V4amigH|XeFHwU48eBuw+UZ86I|?a7A00RpfT2&`7oLwf9}UhsB(3 zG5o|2-MX#WB`z^hFnPu>vlayxG|M*3sZ2rD^W3WN49lBFwZck9MlJ1$RxzjLt0vdV zYMwKT7;&AKY=*BEpvNWPdj&YP$i#|iR4gX$)tC2pGu6!NYMEP9v^6||gvSC?42V)B}1RION+I!Fy1 zJTTVbbV5lFD1Ih5o30awh9m+1?uFpBJFa7%=@Tt2Ev`BpEn`CCygc82zVV%Jo@1>I zxxGak9AFhSL(M7i#y>J;fLXR#F)SKgBFV;$>=aWTW;JeFnxT`CC5Z(M_S%f^dfO{o z()O0*+PLG4hP!aK4?3Mw(N1dT8+|a|X%%H^u_cdB$rV#GOwFER0{+|wr%?$2g*lf_ zy75c^6ns4ZKGN40J@{DwLeB0nH~tlXHi8m@@F;3Q2$H-MgrxJ1)rFr1p`G-dAe?m8 zCm9fKGz1~s41*izLlEf__Gf66%c`C&bG<5SHZRjP`XB`3l)M{)03Hp)Fcp6Giq}b8 z>AOD;D?9_{uBrI_Ki6F(dDhFW@Dl6Zhs@R`3g)Ip$Gpw4W9OY y2OAqN)8!&R9xp7%g5cWQo{nWmKrg;IXv+H3jkqRQkrEBptJ^BQYh7lvHV_Jhqz!sP({k`$Tj`zd34-2`qEE8Ggk7!+OSo=ZG~KFWGhJh@ z*K9bh8n&xeSYZVgXK^*Wdu;f-LD!$omL(;jKv=HonVc! zQ9D#(y3Shm(To~a3hZAy6suvk#>=M3$tJ!v0=<{JGke_`Y3+~xLyaT;@!|+*12Rz> zPNUV}F0l-c2CLW%cSm3*5@5peTs||;8_lZIta|edtz*&aWzd9@2XIY$ramWG_T<_=J`y^^Bh~W zh3!>r|KukT{6&S7Bwzo0P*#~zFB?tAWq3LbIeb$kliO($`!EeE3Exgb9)C}RMzNBC zEVeShDZZQm)xUQ)inlWmBb)c`4&iSZh+sGy@cf;x2GGjVSkqI$(9gnj7wr}G1oRVo zKMVEa?W#B{nq<$Y36IHG$w4I=m@ZoeZ;Dwu9`Dqc1b&=@SptP;%yp8y(sb%P_{0QC z9A*!HOR!c-wK&-RtrrGCX8xD=hw&RuH~Nbn>V9ez$`bP*{6xlaXA~+=o5Bk8Jj1aK zT1lEcPZHmbLe1~{b&!gtG?>Gy8l0f`h6bXKY}TE&2>xcB_UcmkLbnvzdrF5NV;Htz i0zch?a2Hd^iUoCid#iJ&T?-m}-F0|X+52J(?!Z4nfib)Q From 4133da4556eab54aa78a2a5b7ec730e0b9d77e61 Mon Sep 17 00:00:00 2001 From: rmkaplan Date: Sat, 8 Nov 2025 13:34:29 -0800 Subject: [PATCH 3/6] Tedit changes so that TEDIT.GETSYNTAX conforms to documentation, fixes Sketch backspace --- library/tedit/TEDIT-COMMAND | 19 ++-- library/tedit/TEDIT-COMMAND.LCOM | Bin 5752 -> 5626 bytes library/tedit/TEDIT-FNKEYS | 143 ++++++++++++++++++------------- library/tedit/TEDIT-FNKEYS.LCOM | Bin 38915 -> 39242 bytes 4 files changed, 94 insertions(+), 68 deletions(-) diff --git a/library/tedit/TEDIT-COMMAND b/library/tedit/TEDIT-COMMAND index 3211d03f1..96aa3adf2 100644 --- a/library/tedit/TEDIT-COMMAND +++ b/library/tedit/TEDIT-COMMAND @@ -1,14 +1,12 @@ (DEFINE-FILE-INFO PACKAGE "INTERLISP" READTABLE "INTERLISP" BASE 10) -(FILECREATED "17-Jul-2025 00:24:49"  -{DSK}kaplan>Local>medley3.5>working-medley>library>tedit>TEDIT-COMMAND.;165 19015 +(FILECREATED " 8-Nov-2025 10:03:19" {WMEDLEY}TEDIT>TEDIT-COMMAND.;166 19030 :EDIT-BY rmk - :CHANGES-TO (FNS \TEDIT.COMMAND.RESET.SETUP) + :CHANGES-TO (FNS \TEDIT.COMMAND.FUNCTION?) - :PREVIOUS-DATE "23-Mar-2025 15:27:20" -{DSK}kaplan>Local>medley3.5>working-medley>library>tedit>TEDIT-COMMAND.;163) + :PREVIOUS-DATE "17-Jul-2025 00:24:49" {WMEDLEY}TEDIT>TEDIT-COMMAND.;165) (PRETTYCOMPRINT TEDIT-COMMANDCOMS) @@ -137,7 +135,8 @@ (FSETTOBJ TEXTOBJ EDITOPACTIVE NIL)))]) (\TEDIT.COMMAND.FUNCTION? - [LAMBDA (TSTREAM CHARCODE) (* ; "Edited 23-Mar-2025 15:27 by rmk") + [LAMBDA (TSTREAM CHARCODE) (* ; "Edited 8-Nov-2025 10:00 by rmk") + (* ; "Edited 23-Mar-2025 15:27 by rmk") (DECLARE (SPECVARS TSTREAM CHARCODE)) (* ;; "If CHARCODE is a function in TSTREAM's read table, execute the function.") @@ -145,7 +144,7 @@ (LET ((TEXTOBJ (GETTSTR TSTREAM TEXTOBJ)) FN) (DECLARE (SPECVARS TEXTOBJ)) - (CL:WHEN [AND (EQ (\TEDIT.TTC FUNCTIONCALL) + (CL:WHEN [AND (EQ (\TEDIT.TTC FN) (\SYNCODE (fetch READSA of (FGETTOBJ TEXTOBJ TXTRTBL)) CHARCODE)) (SETQ FN (CAR (fetch MACROFN of (GETHASH CHARCODE (fetch READMACRODEFS @@ -303,7 +302,7 @@ (GLOBALVARS || TEDIT.INTERRUPTS) ) (DECLARE%: DONTCOPY - (FILEMAP (NIL (2709 10263 (\TEDIT.COMMAND.LOOP 2719 . 9060) (\TEDIT.COMMAND.FUNCTION? 9062 . 10261)) ( -10264 18725 (\TEDIT.INTERRUPT.SETUP 10274 . 11921) (\TEDIT.MARKACTIVE 11923 . 12252) ( -\TEDIT.MARKINACTIVE 12254 . 12470) (\TEDIT.COMMAND.RESET.SETUP 12472 . 18723))))) + (FILEMAP (NIL (2625 10278 (\TEDIT.COMMAND.LOOP 2635 . 8976) (\TEDIT.COMMAND.FUNCTION? 8978 . 10276)) ( +10279 18740 (\TEDIT.INTERRUPT.SETUP 10289 . 11936) (\TEDIT.MARKACTIVE 11938 . 12267) ( +\TEDIT.MARKINACTIVE 12269 . 12485) (\TEDIT.COMMAND.RESET.SETUP 12487 . 18738))))) STOP diff --git a/library/tedit/TEDIT-COMMAND.LCOM b/library/tedit/TEDIT-COMMAND.LCOM index 583d13aacfe7eef7a08e0c33ab3d180cbdca7475..cf5bdabb62dd3e4b5570067c9108a68357f4cb21 100644 GIT binary patch delta 373 zcmeyN^Gka|c)fy!u3vtcu91O}se++_m4UI9p{0_7hEj5VZb4>FYKlUBo`RA>b-1sq zi;rt$txZm5Qc+@2rCo@ti)RRg)OGgv^>y@f(X%!*Gt*SyQZh2r^-nH=m}y{XWoQUC zGpQ&QZfI&nK~b@)l|szK|9q3BSh?ymfws7X`uHdy>($fKQ&LDtECIR#o1sRQN}606 zZk|4_&Oxq@KnDRGiq$uSUC#$|zJj5pfw95l^NjkEZlQk8A)fwz_L>S-0YR=|p8lc1 fx-LL_CdV;KX%ZVCrjzs8MJM|+b8TMCbX6DtR%>VC delta 497 zcmeyR{X=I$c)g*yu2*S}u91O}se*xlm63^+iKUW)hEj5VZb4>FYKlUBo`RABSG7y9 zcdbomacWVqU3OwYPGX*&PkwS@j$LkQN=|B}v7V`2d45rLW?s53M8qy9GpQ)CsM4+^ zH6^peF2vQvGepADo(|KV4_SKa$ diff --git a/library/tedit/TEDIT-FNKEYS b/library/tedit/TEDIT-FNKEYS index d9da38e1c..09529635b 100644 --- a/library/tedit/TEDIT-FNKEYS +++ b/library/tedit/TEDIT-FNKEYS @@ -1,12 +1,15 @@ (DEFINE-FILE-INFO PACKAGE "INTERLISP" READTABLE "INTERLISP" BASE 10) -(FILECREATED " 7-Aug-2025 15:00:51" {WMEDLEY}TEDIT>TEDIT-FNKEYS.;294 106161 +(FILECREATED " 8-Nov-2025 13:32:36" {WMEDLEY}TEDIT>TEDIT-FNKEYS.;299 107884 :EDIT-BY rmk - :CHANGES-TO (VARS TEDIT-FNKEYSCOMS) + :CHANGES-TO (FNS TEDIT.GETSYNTAX TEDIT.GETFUNCTION TEDIT.CLEAR.CHARBINDINGS + TEDIT.GET.CHARACTION TEDIT.GET.ALL.CHARBINDINGS TEDIT.GET.ALL.CHARACTIONS + TEDIT.SETFUNCTION) + (VARS TEDIT.BASIC.CHARBINDINGS \TEDIT.TTCCODES) - :PREVIOUS-DATE " 6-Aug-2025 08:59:59" {WMEDLEY}TEDIT>TEDIT-FNKEYS.;293) + :PREVIOUS-DATE " 7-Aug-2025 15:00:51" {WMEDLEY}TEDIT>TEDIT-FNKEYS.;294) (PRETTYCOMPRINT TEDIT-FNKEYSCOMS) @@ -124,7 +127,8 @@ RDTBL]) (TEDIT.CLEAR.CHARBINDINGS - [LAMBDA (RDTBL BINDINGS) (* ; "Edited 5-Apr-2025 11:36 by rmk") + [LAMBDA (RDTBL BINDINGS) (* ; "Edited 8-Nov-2025 10:00 by rmk") + (* ; "Edited 5-Apr-2025 11:36 by rmk") (* ; "Edited 18-Mar-2025 11:10 by rmk") (* ; "Edited 15-Mar-2025 12:02 by rmk") @@ -142,7 +146,7 @@ [if (EQ BINDINGS T) then [MAPHASH (fetch READMACRODEFS of RDTBL) (FUNCTION (LAMBDA (VAL CHARCODE) - (CL:WHEN (EQ (\TEDIT.TTC FUNCTIONCALL) + (CL:WHEN (EQ (\TEDIT.TTC FN) (\SYNCODE (fetch READSA of RDTBL) CHARCODE)) (TEDIT.SETFUNCTION CHARCODE NIL RDTBL) @@ -163,7 +167,8 @@ RDTBL))])]) (TEDIT.GET.CHARACTION - [LAMBDA (CHARCODE BINDINGS) (* ; "Edited 5-Apr-2025 11:36 by rmk") + [LAMBDA (CHARCODE BINDINGS) (* ; "Edited 8-Nov-2025 10:00 by rmk") + (* ; "Edited 5-Apr-2025 11:36 by rmk") (* ; "Edited 19-Mar-2025 14:51 by rmk") (* ; "Edited 18-Mar-2025 11:07 by rmk") (* ; "Edited 17-Mar-2025 09:43 by rmk") @@ -195,7 +200,7 @@ [MAPHASH (fetch READMACRODEFS of RDTBL) (FUNCTION (LAMBDA (VAL CCODE) (CL:WHEN (AND (EQ CCODE CHARCODE) - (EQ (\TEDIT.TTC FUNCTIONCALL) + (EQ (\TEDIT.TTC FN) (\SYNCODE (fetch READSA of RDTBL) CHARCODE))) (for CA in TEDIT.CHARACTIONS when (EQUAL (CADR CA) @@ -238,7 +243,8 @@ CHARS)]) (TEDIT.GET.ALL.CHARBINDINGS - [LAMBDA (RDTBL RETURNCODES) (* ; "Edited 23-Apr-2025 10:11 by rmk") + [LAMBDA (RDTBL RETURNCODES) (* ; "Edited 8-Nov-2025 10:00 by rmk") + (* ; "Edited 23-Apr-2025 10:11 by rmk") (* ; "Edited 7-Apr-2025 22:11 by rmk") (* ; "Edited 5-Apr-2025 11:37 by rmk") (* ; "Edited 18-Mar-2025 20:51 by rmk") @@ -256,7 +262,7 @@ (LET (ACTIONS) [MAPHASH (fetch READMACRODEFS of RDTBL) (FUNCTION (LAMBDA (VAL CCODE) - (CL:WHEN (EQ (\TEDIT.TTC FUNCTIONCALL) + (CL:WHEN (EQ (\TEDIT.TTC FN) (\SYNCODE (fetch READSA of RDTBL) CCODE)) (for CA ANAME in TEDIT.CHARACTIONS when (LISTP CA) @@ -272,7 +278,7 @@ [for A S in ACTIONS do (SETQ S (SORT (CDR A))) (RPLACD A (CL:IF RETURNCODES S - (CHARCODE.ENCODE S))] + (CHARCODE.ENCODE S))] ACTIONS]) (TEDIT.CHARBINDINGS.INVERT @@ -300,7 +306,8 @@ (RETURN ACTIONSPERCHAR]) (TEDIT.GET.ALL.CHARACTIONS - [LAMBDA (RDTBL RETURNCODES) (* ; "Edited 23-Apr-2025 10:11 by rmk") + [LAMBDA (RDTBL RETURNCODES) (* ; "Edited 8-Nov-2025 10:00 by rmk") + (* ; "Edited 23-Apr-2025 10:11 by rmk") (* ; "Edited 5-Apr-2025 11:37 by rmk") (* ; "Edited 18-Mar-2025 20:51 by rmk") (CL:UNLESS (READTABLEP RDTBL) @@ -314,7 +321,7 @@ (LET (ACTIONS) [MAPHASH (fetch READMACRODEFS of RDTBL) (FUNCTION (LAMBDA (VAL CCODE) - (CL:WHEN (EQ (\TEDIT.TTC FUNCTIONCALL) + (CL:WHEN (EQ (\TEDIT.TTC FN) (\SYNCODE (fetch READSA of RDTBL) CCODE)) (for CA ANAME in TEDIT.CHARACTIONS when (LISTP CA) @@ -330,7 +337,7 @@ [for A S in ACTIONS do (SETQ S (SORT (CDR A))) (RPLACD A (CL:IF RETURNCODES S - (CHARCODE.ENCODE S))] + (CHARCODE.ENCODE S))] ACTIONS]) (TEDIT.CONFLICTING.CHARBINDINGS @@ -1308,24 +1315,41 @@ RTBL]) (TEDIT.GETSYNTAX - [LAMBDA (CH TABLE) (* ; "Edited 29-May-2025 16:20 by rmk") + [LAMBDA (CH TABLE) (* ; "Edited 8-Nov-2025 13:32 by rmk") + (* ; "Edited 29-May-2025 16:20 by rmk") (* ; "Edited 12-Mar-2025 12:55 by rmk") (* ; "Edited 24-Dec-2023 09:47 by rmk") (* ; "Edited 31-Mar-87 10:01 by jds") - (* ;; "Find TEdit's interpretation of a given character") - - (CAR (find TTC (SYNCODE _ (\SYNCODE (fetch READSA of (if (NULL TABLE) - then TEDIT.READTABLE - elseif (TEXTSTREAM TABLE T) - then (OR (GETTOBJ (TEXTOBJ TABLE) - TXTRTBL) - TEDIT.READTABLE) - else TABLE)) - (CL:IF (OR (LITATOM CH) - (STRINGP CH)) - (CHARCODE.DECODE CH) - CH))) in \TEDIT.TTCCODES suchthat (EQ SYNCODE (CADR TTC]) + (* ;; "SKETCH uses this function.") + + (LET + ((ACTION (TEDIT.GET.CHARACTION CH TABLE))) + (if ACTION + then + (* ;; "Map back to syntax-class names just for those defined classes, otherwise FN, for compatibility with documentation and history. But (OR (CAR (MKLIST ACTION)) 'NONE) would be simpler and more informative") + + (OR (find CLASS in '(CHARDELETE WORDDELETE DELETE UNDO REDO NEXT) + suchthat (OR (EQ CLASS ACTION) + (MEMB CLASS ACTION))) + 'FN) + else + (* ;; + "Old code: actions associated with particular class names--really now just picks out NONE") + + (CAR (find TTC (SYNCODE _ (\SYNCODE (fetch READSA + of (if (NULL TABLE) + then TEDIT.READTABLE + elseif (TEXTSTREAM TABLE T) + then (OR (GETTOBJ (TEXTOBJ TABLE) + TXTRTBL) + TEDIT.READTABLE) + else TABLE)) + (CL:IF (OR (LITATOM CH) + (STRINGP CH)) + (CHARCODE.DECODE CH) + CH))) in \TEDIT.TTCCODES + suchthat (EQ SYNCODE (CADR TTC]) (TEDIT.SETSYNTAX [LAMBDA (CHAR CLASS RDTBL) (* ; "Edited 13-Mar-2025 21:52 by rmk") @@ -1351,7 +1375,8 @@ (\TEDIT.TTC NONE))))]) (TEDIT.GETFUNCTION - [LAMBDA (CHARCODE RDTBL) (* ; "Edited 5-Apr-2025 11:37 by rmk") + [LAMBDA (CHARCODE RDTBL) (* ; "Edited 8-Nov-2025 11:13 by rmk") + (* ; "Edited 5-Apr-2025 11:37 by rmk") (* ; "Edited 13-Mar-2025 22:56 by rmk") (* ; "Edited 7-Mar-2025 12:02 by rmk") (* jds "19-Sep-85 17:06") @@ -1368,14 +1393,15 @@ TEDIT.READTABLE) else RDTBL)) (CL:WHEN (AND (READTABLEP RDTBL) - (EQ (\TEDIT.TTC FUNCTIONCALL) + (EQ (\TEDIT.TTC FN) (\SYNCODE (fetch READSA of RDTBL) CHARCODE)) (fetch READMACRODEFS of RDTBL)) [CAR (FETCH MACROFN OF (GETHASH CHARCODE (fetch READMACRODEFS of RDTBL])]) (TEDIT.SETFUNCTION - [LAMBDA (CHARCODE FN RDTBL) (* ; "Edited 13-Mar-2025 22:51 by rmk") + [LAMBDA (CHARCODE FN RDTBL) (* ; "Edited 8-Nov-2025 10:02 by rmk") + (* ; "Edited 13-Mar-2025 22:51 by rmk") (* ; "Edited 7-Mar-2025 12:03 by rmk") (* ; "Edited 31-Mar-87 10:58 by jds") (* ; @@ -1396,7 +1422,7 @@ (\SETSYNCODE (fetch READSA of RDTBL) CHARCODE (CL:IF FN - (\TEDIT.TTC FUNCTIONCALL) + (\TEDIT.TTC FN) (\TEDIT.TTC NONE))) (CL:UNLESS (fetch READMACRODEFS of RDTBL) (replace READMACRODEFS of RDTBL with (HARRAY 50))) (* ; @@ -1460,7 +1486,7 @@ (CHARDELETE 1) (WORDDELETE 2) (DELETE 3) - (FUNCTIONCALL 4) + (FN 4) (REDO 5) (UNDO 6) (CMD 7) @@ -1718,7 +1744,8 @@ (CHARDELETE "BS" "^A") (* ; "CHARDELETE/WORDDELETE are TTC") - (CHARDELETE.FORWARD "^W" "^U") + ((CHARDELETE.FORWARD DELETE) + "^W" "^U") (* ; "keyactions for DEL key ??") (WORDDELELETE) (WORDDELETE.FORWARD) @@ -1939,29 +1966,29 @@ (RPAQQ TEDIT.BUTTONBITMAP #*(78 48)OOOOOOOOOOOOOOOOOOOLON@@@@@@@@@@@@@@@AOLO@@@@@@@@@@@@@@@@@CLO@@@@@@@@@@@@@@@@@CLMH@@@@@@@@@@@@@@@@DLNLGOOOOOOOOOOOOOOHHLMFL@@@@@@@@@@@@@@M@LJK@@@@@@@@@@@@@@@B@DMF@@@@@@@@@@@@@@@A@DJN@@@@@@@@@@@@@@@AHDMD@@@@@@@@@@@@@@@@HDJL@@@@@@@@@@@@@@@@HDMD@@@@@@@@@@@@@@@@HDJL@@@@@@@@@@@@@@@@HDMD@@@@@@@@@@@@@@@@HDJL@@@@@@@@@@@@@@@@HDMD@@@@@@@@@@@@@@@@HDJL@@@@@@@@@@@@@@@@HDMD@@@@@@@@@@@@@@@@HDJL@@@@@@@@@@@@@@@@HDMD@@@@@@@@@@@@@@@@HDJL@@@@@@@@@@@@@@@@HDMD@@@@@@@@@@@@@@@@HDJL@@@@@@@@@@@@@@@@HDMD@@@@@@@@@@@@@@@@HDJL@@@@@@@@@@@@@@@@HDMD@@@@@@@@@@@@@@@@HDJL@@@@@@@@@@@@@@@@HDMD@@@@@@@@@@@@@@@@HDJL@@@@@@@@@@@@@@@@HDMD@@@@@@@@@@@@@@@@HDJL@@@@@@@@@@@@@@@@HDMD@@@@@@@@@@@@@@@@HDJL@@@@@@@@@@@@@@@@HDMD@@@@@@@@@@@@@@@@HDJL@@@@@@@@@@@@@@@@HDMD@@@@@@@@@@@@@@@@HDJL@@@@@@@@@@@@@@@@HDMF@@@@@@@@@@@@@@@AHDJJ@@@@@@@@@@@@@@@A@DMG@@@@@@@@@@@@@@@B@DNEL@@@@@@@@@@@@@@O@LLIGOOOOOOOOOOOOOOMHLOBBJJJJJJJJJJJJJJJLLNDEEEEEEEEEEEEEEEEGLOHJJJJJJJJJJJJJJJJKLOLEEEEEEEEEEEEEEEEOLOOOOOOOOOOOOOOOOOOOL ) (DECLARE%: DONTCOPY - (FILEMAP (NIL (3941 22863 (TEDIT.INSTALL.CHARBINDINGS 3951 . 7842) (TEDIT.CLEAR.CHARBINDINGS 7844 . -10522) (TEDIT.GET.CHARACTION 10524 . 13270) (TEDIT.GET.CHARBINDING 13272 . 15411) ( -TEDIT.GET.ALL.CHARBINDINGS 15413 . 17729) (TEDIT.CHARBINDINGS.INVERT 17731 . 19461) ( -TEDIT.GET.ALL.CHARACTIONS 19463 . 21549) (TEDIT.CONFLICTING.CHARBINDINGS 21551 . 22861)) (22923 32978 -(\TEDIT.KEY.CHARLOOKS 22933 . 24125) (\TEDIT.KEY.QUAD 24127 . 26220) (\TEDIT.DEFAULTSSEL 26222 . 26833 -) (\TEDIT.SETDEFAULT.FROM.SEL 26835 . 27512) (\TEDIT.KEY.SIZE 27514 . 28710) (\TEDIT.SUBSCRIPTSEL -28712 . 28915) (\TEDIT.SUPERSCRIPTSEL 28917 . 29121) (\TEDIT.KEY.TRANSFORM 29123 . 31120) ( -\TEDIT.KEY.OPENLINE 31122 . 31576) (\TEDIT.KEY.FAMILYN 31578 . 32976)) (32979 33268 (CAP-CASECODE -32989 . 33266)) (33302 36734 (\TEDIT.SHOWCARETLOOKS 33312 . 35827) (\TEDIT.DESCRIBEFONT 35829 . 36732) -) (36765 51738 (\TEDIT.ONECHAR.BACKWARD 36775 . 37922) (\TEDIT.ONECHAR.FORWARD 37924 . 39160) ( -\TEDIT.ONELINE.UP 39162 . 42123) (\TEDIT.ONELINE.DOWN 42125 . 43782) (\TEDIT.ONELINE.MOVE 43784 . -46071) (\TEDIT.ONEWORD.BACKWARD 46073 . 47261) (\TEDIT.ONEWORD.FORWARD 47263 . 48450) ( -\TEDIT.LINE.BEGIN 48452 . 49531) (\TEDIT.LINE.END 49533 . 50770) (\TEDIT.DOCUMENT.BEGIN 50772 . 51131) - (\TEDIT.DOCUMENT.END 51133 . 51736)) (51739 53781 (\TEDIT.LINEDELETE.FORWARD 51749 . 52748) ( -\TEDIT.LINEDELETE.BACKWARD 52750 . 53779)) (53782 56310 (\TEDIT.KEY.NEST 53792 . 56308)) (56311 57593 -(\TEDIT.KEY.WRAP 56321 . 57591)) (57684 65732 (\TEDIT.KEY.FIND 57694 . 62872) ( -\TEDIT.KEY.FIND.SEARCHSTRING 62874 . 64014) (\TEDIT.GET.TARGET.STRING 64016 . 65730)) (65763 68395 ( -\TEDIT.KEY.SUBSTITUTE 65773 . 65994) (\TEDIT.MANPAGE 65996 . 67243) (\TEDIT.CALL.ED 67245 . 68075) ( -\TEDIT.SELECT.ALL 68077 . 68393)) (68422 74112 (\TEDIT.CLIPBOARD 68432 . 70187) ( -\TEDIT.COPYTOCLIPBOARD 70189 . 70969) (\TEDIT.EXTRACTTOCLIPBOARD 70971 . 71166) (\TEDIT.WRITE.SEL -71168 . 74110)) (74278 86280 (\TEDIT.READTABLE 74288 . 75224) (\TEDIT.WORDBOUND.READTABLE 75226 . -78165) (TEDIT.GETSYNTAX 78167 . 79596) (TEDIT.SETSYNTAX 79598 . 80803) (TEDIT.GETFUNCTION 80805 . -82070) (TEDIT.SETFUNCTION 82072 . 84058) (TEDIT.WORDGET 84060 . 84321) (TEDIT.WORDSET 84323 . 84954) ( -TEDIT.ATOMBOUND.READTABLE 84956 . 86278)) (98109 105097 (TEDIT.BUTTONS.BUILD 98119 . 103365) ( -TEDIT.BUTTONBITMAP.FILL 103367 . 105095))))) + (FILEMAP (NIL (4188 23498 (TEDIT.INSTALL.CHARBINDINGS 4198 . 8089) (TEDIT.CLEAR.CHARBINDINGS 8091 . +10868) (TEDIT.GET.CHARACTION 10870 . 13715) (TEDIT.GET.CHARBINDING 13717 . 15856) ( +TEDIT.GET.ALL.CHARBINDINGS 15858 . 18269) (TEDIT.CHARBINDINGS.INVERT 18271 . 20001) ( +TEDIT.GET.ALL.CHARACTIONS 20003 . 22184) (TEDIT.CONFLICTING.CHARBINDINGS 22186 . 23496)) (23558 33613 +(\TEDIT.KEY.CHARLOOKS 23568 . 24760) (\TEDIT.KEY.QUAD 24762 . 26855) (\TEDIT.DEFAULTSSEL 26857 . 27468 +) (\TEDIT.SETDEFAULT.FROM.SEL 27470 . 28147) (\TEDIT.KEY.SIZE 28149 . 29345) (\TEDIT.SUBSCRIPTSEL +29347 . 29550) (\TEDIT.SUPERSCRIPTSEL 29552 . 29756) (\TEDIT.KEY.TRANSFORM 29758 . 31755) ( +\TEDIT.KEY.OPENLINE 31757 . 32211) (\TEDIT.KEY.FAMILYN 32213 . 33611)) (33614 33903 (CAP-CASECODE +33624 . 33901)) (33937 37369 (\TEDIT.SHOWCARETLOOKS 33947 . 36462) (\TEDIT.DESCRIBEFONT 36464 . 37367) +) (37400 52373 (\TEDIT.ONECHAR.BACKWARD 37410 . 38557) (\TEDIT.ONECHAR.FORWARD 38559 . 39795) ( +\TEDIT.ONELINE.UP 39797 . 42758) (\TEDIT.ONELINE.DOWN 42760 . 44417) (\TEDIT.ONELINE.MOVE 44419 . +46706) (\TEDIT.ONEWORD.BACKWARD 46708 . 47896) (\TEDIT.ONEWORD.FORWARD 47898 . 49085) ( +\TEDIT.LINE.BEGIN 49087 . 50166) (\TEDIT.LINE.END 50168 . 51405) (\TEDIT.DOCUMENT.BEGIN 51407 . 51766) + (\TEDIT.DOCUMENT.END 51768 . 52371)) (52374 54416 (\TEDIT.LINEDELETE.FORWARD 52384 . 53383) ( +\TEDIT.LINEDELETE.BACKWARD 53385 . 54414)) (54417 56945 (\TEDIT.KEY.NEST 54427 . 56943)) (56946 58228 +(\TEDIT.KEY.WRAP 56956 . 58226)) (58319 66367 (\TEDIT.KEY.FIND 58329 . 63507) ( +\TEDIT.KEY.FIND.SEARCHSTRING 63509 . 64649) (\TEDIT.GET.TARGET.STRING 64651 . 66365)) (66398 69030 ( +\TEDIT.KEY.SUBSTITUTE 66408 . 66629) (\TEDIT.MANPAGE 66631 . 67878) (\TEDIT.CALL.ED 67880 . 68710) ( +\TEDIT.SELECT.ALL 68712 . 69028)) (69057 74747 (\TEDIT.CLIPBOARD 69067 . 70822) ( +\TEDIT.COPYTOCLIPBOARD 70824 . 71604) (\TEDIT.EXTRACTTOCLIPBOARD 71606 . 71801) (\TEDIT.WRITE.SEL +71803 . 74745)) (74913 87995 (\TEDIT.READTABLE 74923 . 75859) (\TEDIT.WORDBOUND.READTABLE 75861 . +78800) (TEDIT.GETSYNTAX 78802 . 81113) (TEDIT.SETSYNTAX 81115 . 82320) (TEDIT.GETFUNCTION 82322 . +83686) (TEDIT.SETFUNCTION 83688 . 85773) (TEDIT.WORDGET 85775 . 86036) (TEDIT.WORDSET 86038 . 86669) ( +TEDIT.ATOMBOUND.READTABLE 86671 . 87993)) (99832 106820 (TEDIT.BUTTONS.BUILD 99842 . 105088) ( +TEDIT.BUTTONBITMAP.FILL 105090 . 106818))))) STOP diff --git a/library/tedit/TEDIT-FNKEYS.LCOM b/library/tedit/TEDIT-FNKEYS.LCOM index 3682e535d8728aef6011cf8739901dcf672b7566..65c4bc51809ab96e4361bf542ed9da7d492fc580 100644 GIT binary patch delta 879 zcmZuuOHUI~6z&vgaY!l@STrb}j!|2*O=tR?>BgbGr32HMrkz4dd<3D97PJJ>khp-L z(M8*++~~@PtX$gAbfuBRmAdl}n3$NjQeo*z@3h5eI zlXrWhn+Mht4267nfjZU`Q_=?l@Y9kVZ=3otRUE|UiVU7F4&aRms|g&FVk(V~ZrbcL zTxiMFv`9paqO=o)WC~46Y9{T9lDhaLCDy-FwoXdHFLMv-+orIw1+lqksoy=arR0*} z0WqRUssa+Qpoyb0BFF=gxDyQTx(x>7d671d(X~`-H<;Y3=nZdGXi&&hZJ8?)rXxOFlqN_lCK+F(JS0vzikf4b!}p z>ZLAQb`{lPr1qYumd0M8_AOz&So>mdu>K&BwZz4A99YgrZ}ImIfl!q1TKe8EFWn)Ks($+fPP`s-!Zx z6w*cAKTWatb8f)aqMg88nqtV6VVvL?fiTcGS02WzWd}v$=jAZ&TJOg{%2tflhwxD4 zj2)Oner4udN%v2Z32E*GQZnt|Btzn7D*}F2v6J}S3XgwQP7`#Z8pNTEVSKaNN346* KVEs)M(Z2z5JoCu_ delta 603 zcmZut&ubGw7|m{NL${Z@RZtQ6I#|exi95Ubxdm~Xopd**N!;Dk6lox~AxYKLAN3{_ zwI@kpd+0MRvQWov8 zy@`e_ObcI~tSJ0^o!$H0?ESLEa_=w@qG}WtnQxn(4T(XJ>81-7i&$)ML0kvVcb)uV z5ws-lRQ3xCS3Bp>gz|h>eEPn71%C`sfBYqr{sJdhs1yJI From 11a1a056ef06c890a862cf6d26ad47cd840b8086 Mon Sep 17 00:00:00 2001 From: rmkaplan Date: Sat, 8 Nov 2025 13:35:22 -0800 Subject: [PATCH 4/6] FONTSAVAILABLE cache, default source for MAKEFONTSPEC --- sources/FONT | 111 ++++++++++++++++++++++++++-------------------- sources/FONT.LCOM | Bin 69830 -> 70173 bytes 2 files changed, 62 insertions(+), 49 deletions(-) diff --git a/sources/FONT b/sources/FONT index e5ea0bb52..127082ce2 100644 --- a/sources/FONT +++ b/sources/FONT @@ -1,11 +1,11 @@ (DEFINE-FILE-INFO PACKAGE "INTERLISP" READTABLE "INTERLISP" BASE 10) -(FILECREATED " 6-Nov-2025 13:54:22" {WMEDLEY}FONT.;623 285863 +(FILECREATED " 7-Nov-2025 11:53:58" {WMEDLEY}FONT.;626 286841 :EDIT-BY rmk :CHANGES-TO (VARS FONTCOMS) - (FNS FONTSAVAILABLE) + (FNS MAKEFONTFACE MAKEFONTSPEC FONTSAVAILABLE) :PREVIOUS-DATE "20-Oct-2025 09:54:15" {WMEDLEY}FONT.;622) @@ -67,6 +67,8 @@ ) (FNS MATCHFONTFACE MAKEFONTFACE FONTFACETOATOM) (INITVARS \FONTSINCORE \FONTEXISTS?-CACHE \FONTSAVAILABLEFILECACHE \DEFAULTDEVICEFONTS) + (ADDVARS (MEDLEY-INIT-VARS (\FONTEXISTS?-CACHE) + (\FONTSAVAILABLEFILECACHE))) [COMS (GLOBALVARS \DEFAULTDEVICEFONTS \UNITWIDTHSVECTOR) (INITVARS \UNITWIDTHSVECTOR) (FNS \UNITWIDTHSVECTOR) @@ -1091,17 +1093,22 @@ (DEFINEQ (MAKEFONTSPEC - [LAMBDA (FAMILY SIZE FACE ROTATION DEVICE) (* ; "Edited 28-Aug-2025 14:32 by rmk") + [LAMBDA (FAMILY SIZE FACE ROTATION DEVICE BASE) (* ; "Edited 7-Nov-2025 07:52 by rmk") + (* ; "Edited 28-Aug-2025 14:32 by rmk") (* ; "Edited 17-Aug-2025 20:44 by rmk") (* ;; "This is a function, not a macro, so that it can be used in the loadup sequence to create the FONTSPEC for the \GUARANTEEDDISPLAYFONT. That font is created by \CREATEFONT and therefore is not dependent on \FONT.CHECKARGS or on the multi-alist multi-key indexing functions. The strategy might change if MULTI-ALIST is moved earlier in the loadup sequence.") + (* ;; "BASE (fontspec or font) provides defaults for NIL arguments, essentialy models a (create using BASE...)") + + (CL:WHEN (FONTP BASE) + (SETQ BASE (FONTPROP BASE 'SPEC))) (create FONTSPEC - FSFAMILY _ FAMILY - FSSIZE _ SIZE - FSFACE _ FACE - FSROTATION _ ROTATION - FSDEVICE _ DEVICE]) + FSFAMILY _ (OR FAMILY (fetch (FONTSPEC FSFAMILY) of BASE)) + FSSIZE _ (OR SIZE (fetch (FONTSPEC FSSIZE) of BASE)) + FSFACE _ (OR FACE (fetch (FONTSPEC FSFACE) of BASE)) + FSROTATION _ (OR ROTATION (fetch (FONTSPEC FSROTATION) of BASE)) + FSDEVICE _ (OR DEVICE (fetch (FONTSPEC FSDEVICE) of BASE]) ) (DEFINEQ @@ -3110,7 +3117,10 @@ (EQ PEXPANSION '*]) (MAKEFONTFACE - [LAMBDA (WEIGHT SLOPE EXPANSION BASE COLOR) (* ; "Edited 30-Aug-2025 10:22 by rmk") + [LAMBDA (WEIGHT SLOPE EXPANSION BASE COLOR) (* ; "Edited 7-Nov-2025 08:50 by rmk") + (* ; "Edited 30-Aug-2025 10:22 by rmk") + (CL:WHEN (FONTP BASE) + (SETQ BASE (FONTPROP BASE 'FACE))) (CL:UNLESS WEIGHT (SETQ WEIGHT (CL:IF BASE (fetch (FONTFACE WEIGHT) of BASE) @@ -3172,6 +3182,9 @@ (RPAQ? \FONTSAVAILABLEFILECACHE NIL) (RPAQ? \DEFAULTDEVICEFONTS NIL) + +(ADDTOVAR MEDLEY-INIT-VARS (\FONTEXISTS?-CACHE) + (\FONTSAVAILABLEFILECACHE)) (DECLARE%: DOEVAL@COMPILE DONTCOPY (GLOBALVARS \DEFAULTDEVICEFONTS \UNITWIDTHSVECTOR) @@ -4654,44 +4667,44 @@ (ADDTOVAR LAMA FONTCOPY) ) (DECLARE%: DONTCOPY - (FILEMAP (NIL (12098 21811 (CHARWIDTH 12108 . 12893) (CHARWIDTHY 12895 . 14412) (STRINGWIDTH 14414 . -15507) (\CHARWIDTH.DISPLAY 15509 . 15922) (\STRINGWIDTH.DISPLAY 15924 . 16348) (\STRINGWIDTH.GENERIC -16350 . 21809)) (21812 28332 (DEFAULTFONT 21822 . 23107) (FONTCLASS 23109 . 25271) (FONTCLASSUNPARSE -25273 . 26172) (FONTCLASSCOMPONENT 26174 . 26762) (SETFONTCLASSCOMPONENT 26764 . 27206) ( -GETFONTCLASSCOMPONENT 27208 . 28330)) (30011 54392 (FONTCREATE 30021 . 33266) (FONTCREATE1 33268 . -35883) (FONTCREATE.SLUGFD 35885 . 37367) (\FONT.CHECKARGS 37369 . 43959) (\FONT.CHECKARGS1 43961 . -48484) (\FONTCREATE1.NOFN 48486 . 48700) (FONTFILEP 48702 . 49590) (\READCHARSET 49592 . 54390)) ( -54393 61310 (\FONT.CHECKARGS 54403 . 60993) (\CHARSET.CHECK 60995 . 61308)) (61311 64394 ( -COERCEFONTSPEC 61321 . 64392)) (66464 67254 (MAKEFONTSPEC 66474 . 67252)) (67255 75432 (COMPLETE.FONT -67265 . 69788) (COMPLETEFONTP 69790 . 70413) (COMPLETE.CHARSET 70415 . 73100) (PRUNESLUGCSINFOS 73102 - . 74027) (MONOSPACEFONTP 74029 . 75430)) (75471 83392 (FONTASCENT 75481 . 75865) (FONTDESCENT 75867 - . 76352) (FONTHEIGHT 76354 . 76756) (FONTPROP 76758 . 82669) (\AVGCHARWIDTH 82671 . 83390)) (84049 -84957 (FONTDEVICEPROP 84059 . 84955)) (85003 85857 (EDITCHAR 85013 . 85855)) (85903 98093 ( -GETCHARBITMAP 85913 . 87037) (PUTCHARBITMAP 87039 . 89197) (\GETCHARBITMAP.CSINFO 89199 . 91215) ( -\PUTCHARBITMAP.CSINFO 91217 . 98091)) (98094 118574 (MOVECHARBITMAP 98104 . 99998) (MOVEFONTCHARS -100000 . 103960) (\MOVEFONTCHAR 103962 . 108805) (\MOVEFONTCHARS.SOURCEDATA 108807 . 114912) ( -\MAKESLUGCHAR 114914 . 117449) (SLUGCHARP.DISPLAY 117451 . 118572)) (119507 139645 (FONTFILES 119517 - . 121350) (\FINDFONTFILE 121352 . 123069) (\FONTFILENAMES 123071 . 124066) (\FONTFILENAME 124068 . -128051) (\FONTFILENAME.OLD 128053 . 131002) (\FONTFILENAME.NEW 131004 . 133261) (FONTSPECFROMFILENAME -133263 . 137364) (\FONTINFOFROMFILENAME.OLD 137366 . 139643)) (139912 175715 (FONTCOPY 139922 . 144985 -) (FONTP 144987 . 145286) (FONTUNPARSE 145288 . 147007) (SETFONTDESCRIPTOR 147009 . 148473) ( -\STREAMCHARWIDTH 148475 . 152639) (\COERCECHARSET 152641 . 155236) (\BUILDSLUGCSINFO 155238 . 158861) -(\FONTSYMBOL 158863 . 159513) (\DEVICESYMBOL 159515 . 160384) (\FONTFACE 160386 . 167576) ( -\FONTFACE.COLOR 167578 . 174498) (SETFONTCHARENCODING 174500 . 175713)) (175716 196655 (FONTSAVAILABLE - 175726 . 180969) (FONTEXISTS? 180971 . 184949) (\SEARCHFONTFILES 184951 . 188036) (FLUSHFONTSINCORE -188038 . 191211) (FINDFONTFILES 191213 . 194427) (SORTFONTSPECS 194429 . 196653)) (196656 200079 ( -MATCHFONTFACE 196666 . 197481) (MAKEFONTFACE 197483 . 198323) (FONTFACETOATOM 198325 . 200077)) ( -200349 200841 (\UNITWIDTHSVECTOR 200359 . 200839)) (215435 217502 (FONTDESCRIPTOR.DEFPRINT 215445 . -217024) (FONTCLASS.DEFPRINT 217026 . 217500)) (221331 224121 (\CREATEKERNELEMENT 221341 . 221699) ( -\FSETLEFTKERN 221701 . 222192) (\FGETLEFTKERN 222194 . 224119)) (224122 233758 (\CREATEFONT 224132 . -225571) (\CREATECHARSET 225573 . 229509) (\INSTALLCHARSETINFO 229511 . 232845) ( -\INSTALLCHARSETINFO.CHARENCODING 232847 . 233756)) (234080 235444 (\FONTRESETCHARWIDTHS 234090 . -235442)) (236074 246121 (\CREATEDISPLAYFONT 236084 . 237933) (\CREATECHARSET.DISPLAY 237935 . 243644) -(\FONTEXISTS?.DISPLAY 243646 . 246119)) (246122 260987 (STRIKEFONT.FILEP 246132 . 247020) ( -STRIKEFONT.GETCHARSET 247022 . 252614) (WRITESTRIKEFONTFILE 252616 . 257527) (STRIKECSINFO 257529 . -260985)) (261018 277335 (MAKEBOLD.CHARSET 261028 . 264677) (MAKEBOLD.CHAR 264679 . 266431) ( -MAKEITALIC.CHARSET 266433 . 270106) (MAKEITALIC.CHAR 270108 . 272454) (\SFMAKEBOLD 272456 . 274680) ( -\SFMAKEITALIC 274682 . 277333)) (277336 281485 (\SFMAKEROTATEDFONT 277346 . 278747) (\SFROTATECSINFO -278749 . 279386) (\SFROTATEFONTCHARACTERS 279388 . 279768) (\SFROTATECSINFOOFFSETS 279770 . 281483)) ( -281486 282867 (\SFMAKECOLOR 281496 . 282865))))) + (FILEMAP (NIL (12233 21946 (CHARWIDTH 12243 . 13028) (CHARWIDTHY 13030 . 14547) (STRINGWIDTH 14549 . +15642) (\CHARWIDTH.DISPLAY 15644 . 16057) (\STRINGWIDTH.DISPLAY 16059 . 16483) (\STRINGWIDTH.GENERIC +16485 . 21944)) (21947 28467 (DEFAULTFONT 21957 . 23242) (FONTCLASS 23244 . 25406) (FONTCLASSUNPARSE +25408 . 26307) (FONTCLASSCOMPONENT 26309 . 26897) (SETFONTCLASSCOMPONENT 26899 . 27341) ( +GETFONTCLASSCOMPONENT 27343 . 28465)) (30146 54527 (FONTCREATE 30156 . 33401) (FONTCREATE1 33403 . +36018) (FONTCREATE.SLUGFD 36020 . 37502) (\FONT.CHECKARGS 37504 . 44094) (\FONT.CHECKARGS1 44096 . +48619) (\FONTCREATE1.NOFN 48621 . 48835) (FONTFILEP 48837 . 49725) (\READCHARSET 49727 . 54525)) ( +54528 61445 (\FONT.CHECKARGS 54538 . 61128) (\CHARSET.CHECK 61130 . 61443)) (61446 64529 ( +COERCEFONTSPEC 61456 . 64527)) (66599 67938 (MAKEFONTSPEC 66609 . 67936)) (67939 76116 (COMPLETE.FONT +67949 . 70472) (COMPLETEFONTP 70474 . 71097) (COMPLETE.CHARSET 71099 . 73784) (PRUNESLUGCSINFOS 73786 + . 74711) (MONOSPACEFONTP 74713 . 76114)) (76155 84076 (FONTASCENT 76165 . 76549) (FONTDESCENT 76551 + . 77036) (FONTHEIGHT 77038 . 77440) (FONTPROP 77442 . 83353) (\AVGCHARWIDTH 83355 . 84074)) (84733 +85641 (FONTDEVICEPROP 84743 . 85639)) (85687 86541 (EDITCHAR 85697 . 86539)) (86587 98777 ( +GETCHARBITMAP 86597 . 87721) (PUTCHARBITMAP 87723 . 89881) (\GETCHARBITMAP.CSINFO 89883 . 91899) ( +\PUTCHARBITMAP.CSINFO 91901 . 98775)) (98778 119258 (MOVECHARBITMAP 98788 . 100682) (MOVEFONTCHARS +100684 . 104644) (\MOVEFONTCHAR 104646 . 109489) (\MOVEFONTCHARS.SOURCEDATA 109491 . 115596) ( +\MAKESLUGCHAR 115598 . 118133) (SLUGCHARP.DISPLAY 118135 . 119256)) (120191 140329 (FONTFILES 120201 + . 122034) (\FINDFONTFILE 122036 . 123753) (\FONTFILENAMES 123755 . 124750) (\FONTFILENAME 124752 . +128735) (\FONTFILENAME.OLD 128737 . 131686) (\FONTFILENAME.NEW 131688 . 133945) (FONTSPECFROMFILENAME +133947 . 138048) (\FONTINFOFROMFILENAME.OLD 138050 . 140327)) (140596 176399 (FONTCOPY 140606 . 145669 +) (FONTP 145671 . 145970) (FONTUNPARSE 145972 . 147691) (SETFONTDESCRIPTOR 147693 . 149157) ( +\STREAMCHARWIDTH 149159 . 153323) (\COERCECHARSET 153325 . 155920) (\BUILDSLUGCSINFO 155922 . 159545) +(\FONTSYMBOL 159547 . 160197) (\DEVICESYMBOL 160199 . 161068) (\FONTFACE 161070 . 168260) ( +\FONTFACE.COLOR 168262 . 175182) (SETFONTCHARENCODING 175184 . 176397)) (176400 197339 (FONTSAVAILABLE + 176410 . 181653) (FONTEXISTS? 181655 . 185633) (\SEARCHFONTFILES 185635 . 188720) (FLUSHFONTSINCORE +188722 . 191895) (FINDFONTFILES 191897 . 195111) (SORTFONTSPECS 195113 . 197337)) (197340 200949 ( +MATCHFONTFACE 197350 . 198165) (MAKEFONTFACE 198167 . 199193) (FONTFACETOATOM 199195 . 200947)) ( +201327 201819 (\UNITWIDTHSVECTOR 201337 . 201817)) (216413 218480 (FONTDESCRIPTOR.DEFPRINT 216423 . +218002) (FONTCLASS.DEFPRINT 218004 . 218478)) (222309 225099 (\CREATEKERNELEMENT 222319 . 222677) ( +\FSETLEFTKERN 222679 . 223170) (\FGETLEFTKERN 223172 . 225097)) (225100 234736 (\CREATEFONT 225110 . +226549) (\CREATECHARSET 226551 . 230487) (\INSTALLCHARSETINFO 230489 . 233823) ( +\INSTALLCHARSETINFO.CHARENCODING 233825 . 234734)) (235058 236422 (\FONTRESETCHARWIDTHS 235068 . +236420)) (237052 247099 (\CREATEDISPLAYFONT 237062 . 238911) (\CREATECHARSET.DISPLAY 238913 . 244622) +(\FONTEXISTS?.DISPLAY 244624 . 247097)) (247100 261965 (STRIKEFONT.FILEP 247110 . 247998) ( +STRIKEFONT.GETCHARSET 248000 . 253592) (WRITESTRIKEFONTFILE 253594 . 258505) (STRIKECSINFO 258507 . +261963)) (261996 278313 (MAKEBOLD.CHARSET 262006 . 265655) (MAKEBOLD.CHAR 265657 . 267409) ( +MAKEITALIC.CHARSET 267411 . 271084) (MAKEITALIC.CHAR 271086 . 273432) (\SFMAKEBOLD 273434 . 275658) ( +\SFMAKEITALIC 275660 . 278311)) (278314 282463 (\SFMAKEROTATEDFONT 278324 . 279725) (\SFROTATECSINFO +279727 . 280364) (\SFROTATEFONTCHARACTERS 280366 . 280746) (\SFROTATECSINFOOFFSETS 280748 . 282461)) ( +282464 283845 (\SFMAKECOLOR 282474 . 283843))))) STOP diff --git a/sources/FONT.LCOM b/sources/FONT.LCOM index 51df1d80e9db78543ecff84c1265f3ca325d9620..04031c4f26ec7bf22b4b00d24d3b4e9651b04c75 100644 GIT binary patch delta 1645 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 From 876fec4241d2b0b4b0f199000d6f0f8ddcd914d4 Mon Sep 17 00:00:00 2001 From: rmkaplan Date: Sat, 8 Nov 2025 13:35:43 -0800 Subject: [PATCH 5/6] SKETCH - more font cleanup --- library/sketch/SKETCH | 341 +++++++++--------- library/sketch/SKETCH-ELEMENTS | 523 +++++++++++++--------------- library/sketch/SKETCH-ELEMENTS.LCOM | Bin 144431 -> 143548 bytes library/sketch/SKETCH.LCOM | Bin 161924 -> 161395 bytes 4 files changed, 413 insertions(+), 451 deletions(-) diff --git a/library/sketch/SKETCH b/library/sketch/SKETCH index 55e219650..b2d39beef 100644 --- a/library/sketch/SKETCH +++ b/library/sketch/SKETCH @@ -1,11 +1,11 @@ (DEFINE-FILE-INFO PACKAGE "INTERLISP" READTABLE "INTERLISP" BASE 10) -(FILECREATED " 4-Nov-2025 15:24:34" {WMEDLEY}sketch>SKETCH.;7 491766 +(FILECREATED " 8-Nov-2025 12:19:12" {WMEDLEY}SKETCH>SKETCH.;10 491643 :EDIT-BY rmk :CHANGES-TO (VARS SKETCHCOMS SKETCHFILES SKETCH.TITLED.ICON.TEMPLATE) - (FNS SK.OUTPUT.FILE.NAME SKETCH.TITLE) + (FNS SKETCH.SET.A.DEFAULT SKETCH.COMMANDMENU SK.OUTPUT.FILE.NAME SKETCH.TITLE) (RECORDS SKHISTORYCHANGESPEC GROUP LOCALGROUP SKFIGUREIMAGE SCREENELT GLOBALPART COMMONGLOBALPART INDIVIDUALGLOBALPART LOCALPART SKETCH SKETCHTYPE SKETCHCONTEXT) @@ -22,7 +22,9 @@ (PRETTYCOMPRINT SKETCHCOMS) (RPAQQ SKETCHCOMS - [[DECLARE%: FIRST DOCOPY DONTEVAL@LOAD + [(FILES (SYSLOAD) + TEDIT) + [DECLARE%: FIRST DOCOPY DONTEVAL@LOAD (P (PROG ((NOTECARDSFLG (GETPROP 'NOTECARDS 'FILEDATES)) (SKETCHFLG (AND (BOUNDP 'ALL.SKETCHES) ALL.SKETCHES)) @@ -270,13 +272,6 @@ To abort loading the new version of Sketch, type '^'."] (MACROS SK.SET.RECORD.LENGTHS.MACRO) (GLOBALVARS SKETCH.RECORD.LENGTHS) (P (SK.SET.RECORD.LENGTHS))) - [COMS (* ; - "to correct for a bug in the file package that marks LOADCOMPed file as changed") - (P (UNMARKASCHANGED 'SKETCH 'FILE) - (UNMARKASCHANGED 'SKETCH-ELEMENTS 'FILE) - (UNMARKASCHANGED 'SKETCH-OPS 'FILE) - (UNMARKASCHANGED 'SKETCH-EDIT 'FILE) - (UNMARKASCHANGED 'SKETCH-OBJ 'FILE] (COMS (* ;  "add sketch as option to file browser edit command") (FNS SK.ADD.EDIT.COMMAND.TO.FILE.BROWSER) @@ -285,6 +280,9 @@ To abort loading the new version of Sketch, type '^'."] (NLAML) (LAMA SK.UNIONREGIONS SKETCH.CREATE]) + +(FILESLOAD (SYSLOAD) + TEDIT) (DECLARE%: FIRST DOCOPY DONTEVAL@LOAD [PROG ((NOTECARDSFLG (GETPROP 'NOTECARDS 'FILEDATES)) @@ -663,7 +661,9 @@ To abort loading the new version of Sketch, type '^'."] (SK.ADD.ELEMENT ELT SKW]) (SKETCH.SET.A.DEFAULT - [LAMBDA (SKW) (* rrb "14-Jul-86 13:43") + [LAMBDA (SKW) (* ; "Edited 6-Nov-2025 22:34 by rmk") + (* rrb "14-Jul-86 13:43") + (* ; "allows the user to set a default") (* allows the user to set a default) (\CURSOR.IN.MIDDLE.MENU (create MENU ITEMS _ '[(Line SKETCH.SET.BRUSH.SIZE @@ -677,7 +677,8 @@ To abort loading the new version of Sketch, type '^'."] (Add% arrowhead SK.SET.LINE.ARROWHEAD "Sets the arrowhead characteristics of new lines." ) - ("Mouse line specs" SK.SET.LINE.LENGTH.MODE + ("Mouse line specs" SK.SET.LINE.LENGTH.MODE + "Sets whether the lines drawn with the middle mouse button connect to each other." ))) (Arrowhead SK.SET.ARROWHEAD.LENGTH @@ -719,7 +720,8 @@ To abort loading the new version of Sketch, type '^'."] (SUBITEMS ("Clockwise" SK.SET.ARC.DIRECTION.CW "Makes new arcs go around in the clockwise direction" ) - ("Counterclockwise" SK.SET.ARC.DIRECTION.CCW + ("Counterclockwise" SK.SET.ARC.DIRECTION.CCW + "Makes new arcs go around in the counterclockwise direction" ))) ("Input scale" SK.SET.INPUT.SCALE @@ -744,7 +746,8 @@ To abort loading the new version of Sketch, type '^'."] This will be slow for arcs and curves."] CENTERFLG _ T WHENSELECTEDFN _ (FUNCTION SK.POPUP.SELECTIONFN) - MENUFONT _ (SK.FONTNAMELIST (FONTCREATE BOLDFONT]) + MENUFONT _ (FONTPROP (FONTCREATE BOLDFONT) + 'SPEC]) (SK.POPUP.SELECTIONFN [LAMBDA (ITEM MENU) (* rrb " 3-Sep-85 14:27") @@ -1352,12 +1355,13 @@ This will be slow for arcs and curves."] (DEFINEQ (SKETCH.COMMANDMENU - [LAMBDA (ITEMS TITLE) (* rrb "14-Jul-86 13:43") + [LAMBDA (ITEMS TITLE) (* ; "Edited 6-Nov-2025 22:36 by rmk") + (* rrb "14-Jul-86 13:43") (create MENU ITEMS _ ITEMS CENTERFLG _ T WHENSELECTEDFN _ (FUNCTION SKETCHW.SELECTIONFN) - MENUFONT _ (SK.FONTNAMELIST (FONTCREATE BOLDFONT)) + MENUFONT _ (FONTCREATE BOLDFONT) TITLE _ TITLE]) (SKETCH.COMMANDMENU.ITEMS @@ -8728,21 +8732,6 @@ Otherwise, type '^'.") -(* ; "to correct for a bug in the file package that marks LOADCOMPed file as changed") - - -(UNMARKASCHANGED 'SKETCH 'FILE) - -(UNMARKASCHANGED 'SKETCH-ELEMENTS 'FILE) - -(UNMARKASCHANGED 'SKETCH-OPS 'FILE) - -(UNMARKASCHANGED 'SKETCH-EDIT 'FILE) - -(UNMARKASCHANGED 'SKETCH-OBJ 'FILE) - - - (* ; "add sketch as option to file browser edit command") (DEFINEQ @@ -8773,149 +8762,149 @@ Otherwise, type '^'.") (ADDTOVAR LAMA SK.UNIONREGIONS SKETCH.CREATE) ) (DECLARE%: DONTCOPY - (FILEMAP (NIL (22797 85993 (SKETCH 22807 . 24912) (SKETCH.FROM.A.FILE 24914 . 25229) (SKETCHW.CREATE -25231 . 29805) (SKETCH.RESET 29807 . 31329) (SKETCHW.FIG.CHANGED 31331 . 31671) (SK.WINDOW.TITLE 31673 - . 32060) (EDITSLIDE 32062 . 32468) (EDITSKETCH 32470 . 32794) (SK.PUT.ON.FILE 32796 . 34248) ( -SK.OUTPUT.FILE.NAME 34250 . 34735) (SKETCH.PUT 34737 . 37635) (SK.GET.FROM.FILE 37637 . 38530) ( -SK.INCLUDE.FILE 38532 . 41040) (SK.GET.IMAGEOBJ.FROM.FILE 41042 . 43245) (SKETCH.GET 43247 . 43554) ( -ADD.SKETCH.TO.VIEWER 43556 . 46142) (SK.ADD.ELEMENTS.TO.SKETCH 46144 . 46658) (SKETCH.SET.A.DEFAULT -46660 . 53818) (SK.POPUP.SELECTIONFN 53820 . 54362) (GETSKETCHWREGION 54364 . 54570) (SK.ADD.ELEMENT -54572 . 56151) (SK.ADD.PRIORITY.ELEMENT.TO.SKETCH 56153 . 57547) (SK.ELTS.BY.PRIORITY 57549 . 57845) ( -SK.ORDER.ELEMENTS 57847 . 58114) (SK.ADD.PRIORITY.LOCAL.ELEMENT.TO.SKETCH 58116 . 59610) ( -SK.ADD.ELEMENTS 59612 . 60136) (SK.CHECK.WHENADDEDFN 60138 . 60868) (SK.APPLY.MENU.COMMAND 60870 . -61668) (SK.DELETE.ELEMENT1 61670 . 63248) (SK.MARK.DIRTY 63250 . 63916) (SK.MARK.UNDIRTY 63918 . 64249 -) (SK.MENU.AND.RETURN.FIELD 64251 . 64916) (SKETCH.SET.BRUSH.SHAPE 64918 . 65503) ( -SKETCH.SET.BRUSH.SIZE 65505 . 66011) (SKETCHW.CLOSEFN 66013 . 67804) (SK.CONFIRM.DESTRUCTION 67806 . -68805) (SKETCHW.OUTFN 68807 . 69071) (SKETCHW.REOPENFN 69073 . 69485) (MAKE.LOCAL.SKETCH 69487 . 70217 -) (MAP.SKETCHSPEC.INTO.VIEWER 70219 . 71429) (SKETCHW.REPAINTFN 71431 . 72259) (SKETCHW.REPAINTFN1 -72261 . 73200) (SK.DRAWFIGURE.IF 73202 . 73724) (SKETCHW.SCROLLFN 73726 . 77919) (SKETCHW.RESHAPEFN -77921 . 80179) (SK.UPDATE.EVENT.SELECTION 80181 . 82236) (LIGHTGRAYWINDOW 82238 . 82401) ( -SK.ADD.SPACES 82403 . 83149) (SK.SKETCH.MENU 83151 . 83473) (SK.CHECK.IMAGEOBJ.WHENDELETEDFN 83475 . -84327) (SK.APPLY.IMAGEOBJ.WHENDELETEDFN 84329 . 85289) (SK.RETURN.TTY 85291 . 85659) (SK.TAKE.TTY -85661 . 85991)) (86047 109375 (SKETCH.COMMANDMENU 86057 . 86394) (SKETCH.COMMANDMENU.ITEMS 86396 . -106479) (CREATE.SKETCHW.COMMANDMENU 106481 . 106901) (SKETCHW.SELECTIONFN 106903 . 108006) ( -SKETCH.MONITORLOCK 108008 . 108479) (SK.EVAL.AS.PROCESS 108481 . 109094) (SK.EVAL.WITH.LOCK 109096 . -109373)) (109376 117180 (SK.FIX.MENU 109386 . 110480) (SK.SET.UP.MENUS 110482 . 112783) ( -SK.INSURE.HAS.MENU 112785 . 113447) (SK.CREATE.STANDARD.MENU 113449 . 113894) (SK.ADD.ITEM.TO.MENU -113896 . 114571) (SK.GET.VIEWER.POPUP.MENU 114573 . 116774) (SK.CLEAR.POPUP.MENU 116776 . 117178)) ( -117236 126058 (SKETCH.CREATE 117246 . 118032) (GETSKETCHPROP 118034 . 121091) (PUTSKETCHPROP 121093 . -125025) (CREATE.DEFAULT.SKETCH.CONTEXT 125027 . 126056)) (126224 149120 (SK.COPY.BUTTONEVENTFN 126234 - . 137462) (SK.BUTTONEVENT.MARK 137464 . 137847) (SK.BUILD.IMAGEOBJ 137849 . 147764) ( -SK.BUTTONEVENT.OVERP 147766 . 148389) (SK.BUTTONEVENT.SAME.KEYS 148391 . 149118)) (149399 175214 ( -SK.SEL.AND.CHANGE 149409 . 149701) (SK.CHECK.WHENCHANGEDFN 149703 . 150409) (SK.CHECK.PRECHANGEFN -150411 . 151012) (SK.CHANGE.ELT 151014 . 151206) (SK.CHANGE.THING 151208 . 152459) ( -SKETCH.CHANGE.ELEMENTS 152461 . 153644) (SK.APPLY.SINGLE.CHANGEFN 153646 . 154219) (SK.DO.CHANGESPECS -154221 . 155880) (SK.VIEWER.FROM.SKETCH.ARG 155882 . 156324) (SK.DO.CHANGESPEC1 156326 . 158201) ( -SK.CHANGEFN 158203 . 158783) (SK.READCHANGEFN 158785 . 159244) (SK.DEFAULT.CHANGEFN 159246 . 161718) ( -CHANGEABLEFIELDITEMS 161720 . 162367) (SK.APPLY.CHANGE.COMMAND 162369 . 162986) ( -SK.DO.AND.RECORD.CHANGES 162988 . 164385) (SK.APPLY.CHANGE.COMMAND1 164387 . 165875) ( -SK.ELEMENTS.CHANGEFN 165877 . 168201) (READ.POINT.TO.ADD 168203 . 169147) (GLOBAL.KNOT.FROM.LOCAL -169149 . 169609) (SK.ADD.KNOT.TO.ELEMENT 169611 . 170555) (SK.GROUP.CHANGEFN 170557 . 171769) ( -SK.GROUP.CHANGEFN1 171771 . 175212)) (175381 189114 (ADD.ELEMENT.TO.SKETCH 175391 . 177097) ( -ADD.SKETCH.VIEWER 177099 . 177767) (REMOVE.SKETCH.VIEWER 177769 . 178382) (ALL.SKETCH.VIEWERS 178384 - . 178624) (SKETCH.ALL.VIEWERS 178626 . 178886) (VIEWER.BUCKET 178888 . 179039) (ELT.INSIDE.REGION? -179041 . 179368) (ELT.INSIDE.SKWP 179370 . 179661) (SCALE.FROM.SKW 179663 . 179913) ( -SK.ADDELT.TO.WINDOW 179915 . 180775) (SK.CALC.REGION.VIEWED 180777 . 181155) (SK.DRAWFIGURE 181157 . -182446) (SK.DRAWFIGURE1 182448 . 182832) (SK.LOCAL.FROM.GLOBAL 182834 . 184069) (SKETCH.REGION.VIEWED -184071 . 186758) (SKETCH.VIEW.FROM.NAME 186760 . 187190) (SK.UPDATE.REGION.VIEWED 187192 . 187584) ( -SKETCH.ADD.AND.DISPLAY 187586 . 187994) (SKETCH.ADD.AND.DISPLAY1 187996 . 188434) (SK.ADD.ITEM 188436 - . 188768) (SKETCHW.ADD.INSTANCE 188770 . 189112)) (189155 202343 (SK.SEL.AND.DELETE 189165 . 189553) -(SK.ERASE.AND.DELETE.ITEM 189555 . 189974) (REMOVE.ELEMENT.FROM.SKETCH 189976 . 191087) ( -SK.DELETE.ELEMENT 191089 . 191647) (SK.DELETE.ELEMENT2 191649 . 192310) (SK.DELETE.KNOT 192312 . -192603) (SK.SEL.AND.DELETE.KNOT 192605 . 193730) (SK.DELETE.ELEMENT.KNOT 193732 . 196939) ( -SK.CHECK.WHENDELETEDFN 196941 . 197721) (SK.CHECK.PREEDITFN 197723 . 198207) ( -SK.CHECK.END.INITIAL.EDIT 198209 . 198743) (SK.CHECK.WHENPOINTDELETEDFN 198745 . 199541) (SK.ERASE.ELT - 199543 . 199879) (SK.DELETE.ELT 199881 . 200256) (SK.DELETE.ITEM 200258 . 200666) (DELFROMTCONC -200668 . 202341)) (202382 216216 (SK.COPY.ELT 202392 . 202762) (SK.SEL.AND.COPY 202764 . 203147) ( -SK.COPY.ELEMENTS 203149 . 208777) (SK.ADD.COPY.OF.ELEMENTS 208779 . 210546) ( -SK.GLOBAL.FROM.LOCAL.ELEMENTS 210548 . 210788) (SK.COPY.ITEM 210790 . 211587) (SK.INSERT.SKETCH 211589 - . 216214)) (216256 246277 (SK.MOVE.ELT 216266 . 216541) (SK.MOVE.ELT.OR.PT 216543 . 216856) ( -SK.APPLY.DEFAULT.MOVE 216858 . 217292) (SK.SEL.AND.MOVE 217294 . 217841) (SK.MOVE.ELEMENTS 217843 . -228715) (SKETCH.MOVE.ELEMENTS 228717 . 230648) (SKETCH.COPY.ELEMENTS 230650 . 232697) ( -\SKETCH.COPY.ELEMENT 232699 . 233424) (SK.TRANSLATE.ELEMENT 233426 . 233909) (SK.COPY.GLOBAL.ELEMENT -233911 . 234122) (SK.MAKE.ELEMENT.MOVE.ARG 234124 . 234744) (SK.MAKE.ELEMENTS.MOVE.ARG 234746 . 235268 -) (SK.MAKE.POINTS.AND.ELEMENTS.MOVE.ARG 235270 . 236339) (SK.SHOW.FIG.FROM.INFO 236341 . 236709) ( -SK.MOVE.THING 236711 . 237617) (UPDATE.ELEMENT.IN.SKETCH 237619 . 239674) (SK.UPDATE.ELEMENT 239676 . -241235) (SK.UPDATE.ELEMENTS 241237 . 241956) (SK.UPDATE.ELEMENT1 241958 . 245858) ( -SK.MOVE.ELEMENT.POINT 245860 . 246275)) (246340 268629 (SK.MOVE.POINTS 246350 . 246637) ( -SK.SEL.AND.MOVE.POINTS 246639 . 246944) (SK.DO.MOVE.ELEMENT.POINTS 246946 . 255603) ( -SK.MOVE.ITEM.POINTS 255605 . 257276) (SK.TRANSLATEPTSFN 257278 . 257662) (SK.TRANSLATE.POINTS 257664 - . 258565) (SK.SELECT.MULTIPLE.POINTS 258567 . 264207) (SK.CONTROL.POINTS.IN.REGION 264209 . 265630) ( -SK.ADD.PT.SELECTION 265632 . 266096) (SK.REMOVE.PT.SELECTION 266098 . 266715) (SK.ADD.POINT 266717 . -267340) (SK.ELTS.CONTAINING.PTS 267342 . 267967) (SK.HOTSPOTS.NOT.ON.LIST 267969 . 268627)) (268787 -271583 (SK.SET.MOVE.MODE 268797 . 269468) (SK.SET.MOVE.MODE.POINTS 269470 . 269809) ( -SK.SET.MOVE.MODE.ELEMENTS 269811 . 270155) (SK.SET.MOVE.MODE.COMBINED 270157 . 270507) (READMOVEMODE -270509 . 271581)) (271584 290339 (SK.ALIGN.POINTS 271594 . 271884) (SK.SEL.AND.ALIGN.POINTS 271886 . -272195) (SK.ALIGN.POINTS.LEFT 272197 . 272500) (SK.ALIGN.POINTS.RIGHT 272502 . 272807) ( -SK.ALIGN.POINTS.TOP 272809 . 273110) (SK.ALIGN.POINTS.BOTTOM 273112 . 273419) ( -SK.EVEN.SPACE.POINTS.IN.X 273421 . 273741) (SK.EVEN.SPACE.POINTS.IN.Y 273743 . 274063) ( -SK.DO.ALIGN.POINTS 274065 . 284687) (SK.NTH.CONTROL.POINT 284689 . 285150) ( -SK.GET.SELECTED.ELEMENT.STRUCTURE 285152 . 285818) (SK.CORRESPONDING.CONTROL.PT 285820 . 286374) ( -SK.CONTROL.POINT.NUMBER 286376 . 286746) (SK.DO.ALIGN.SETVALUE 286748 . 290337)) (290403 303835 ( -SKETCH.CREATE.GROUP 290413 . 290902) (SK.CREATE.GROUP1 290904 . 291451) (SK.UPDATE.GROUP.AFTER.CHANGE -291453 . 292242) (SK.GROUP.ELTS 292244 . 292525) (SK.SEL.AND.GROUP 292527 . 292913) (SK.GROUP.ELEMENTS - 292915 . 294564) (SK.UNGROUP.ELT 294566 . 294850) (SK.SEL.AND.UNGROUP 294852 . 296521) ( -SK.UNGROUP.ELEMENT 296523 . 297459) (SK.GLOBAL.REGION.OF.LOCAL.ELEMENTS 297461 . 298383) ( -SK.LOCAL.REGION.OF.LOCAL.ELEMENTS 298385 . 299396) (SK.GLOBAL.REGION.OF.GLOBAL.ELEMENTS 299398 . -300738) (SK.UNIONREGIONS 300740 . 303106) (SKETCH.REGION.OF.SKETCH 303108 . 303524) (SK.FLASHREGION -303526 . 303833)) (303836 317307 (INIT.GROUP.ELEMENT 303846 . 304718) (GROUP.DRAWFN 304720 . 305170) ( -GROUP.EXPANDFN 305172 . 306735) (GROUP.INSIDEFN 306737 . 307146) (GROUP.REGIONFN 307148 . 307543) ( -GROUP.GLOBALREGIONFN 307545 . 307863) (GROUP.TRANSLATEFN 307865 . 309897) (GROUP.TRANSFORMFN 309899 . -313379) (GROUP.READCHANGEFN 313381 . 317305)) (317308 318316 (REGION.CENTER 317318 . 317919) ( -REMOVE.LAST 317921 . 318314)) (318369 323476 (SK.MOVE.GROUP.CONTROL.PT 318379 . 318670) ( -SK.SEL.AND.MOVE.CONTROL.PT 318672 . 320076) (SK.MOVE.GROUP.ELEMENT.CONTROL.POINT 320078 . 322151) ( -SK.READ.NEW.GROUP.CONTROL.PT 322153 . 323474)) (323735 328359 (SK.DO.GROUP 323745 . 325197) ( -SK.CHECK.WHENGROUPEDFN 325199 . 325909) (SK.DO.UNGROUP 325911 . 327116) (SK.CHECK.WHENUNGROUPEDFN -327118 . 327705) (SK.GROUP.UNDO 327707 . 328030) (SK.UNGROUP.UNDO 328032 . 328357)) (328600 333522 ( -SK.FREEZE.ELTS 328610 . 328894) (SK.SEL.AND.FREEZE 328896 . 329286) (SK.FREEZE.ELEMENTS 329288 . -329839) (SK.UNFREEZE.ELT 329841 . 330130) (SK.SEL.AND.UNFREEZE 330132 . 331668) (SK.UNFREEZE.ELEMENTS -331670 . 332229) (SK.FREEZE.UNDO 332231 . 332476) (SK.UNFREEZE.UNDO 332478 . 332725) (SK.DO.FREEZE -332727 . 333120) (SK.DO.UNFREEZE 333122 . 333520)) (333752 343562 (SKETCH.ELEMENTS.OF.SKETCH 333762 . -334597) (SKETCH.LIST.OF.ELEMENTS 334599 . 335317) (SKETCH.ADD.ELEMENT 335319 . 336394) ( -SKETCH.DELETE.ELEMENT 336396 . 338128) (DELFROMGROUPELT 338130 . 338930) (SKETCH.ELEMENT.TYPE 338932 - . 339281) (SKETCH.ELEMENT.CHANGED 339283 . 340851) (SK.ELEMENT.CHANGED1 340853 . 341504) ( -SK.UPDATE.GLOBAL.IMAGE.OBJECT.ELEMENT 341506 . 343560)) (343616 348228 (INSURE.SKETCH 343626 . 346241) - (LOCALSPECS.FROM.VIEWER 346243 . 346603) (SK.LOCAL.ELT.FROM.GLOBALPART 346605 . 347073) ( -SKETCH.FROM.VIEWER 347075 . 347309) (INSPECT.SKETCH 347311 . 347636) (ELT.INSIDE.SKETCHWP 347638 . -347911) (SK.INSIDE.REGION 347913 . 348226)) (348229 352559 (MAPSKETCHSPECS 348239 . 348860) ( -MAPCOLLECTSKETCHSPECS 348862 . 349611) (MAPSKETCHSPECSUNTIL 349613 . 350421) (MAPGLOBALSKETCHSPECS -350423 . 351124) (MAPGLOBALSKETCHELEMENTS 351126 . 352557)) (352621 378513 (SK.ADD.SELECTION 352631 . -353371) (SK.COPY.INSERTFN 353373 . 357004) (SCREENELEMENTP 357006 . 357479) (SK.ITEM.REGION 357481 . -357968) (SK.ELEMENT.GLOBAL.REGION 357970 . 358498) (SK.LOCAL.ITEMS.IN.REGION 358500 . 360479) ( -SK.REGIONFN 360481 . 360803) (SK.GLOBAL.REGIONFN 360805 . 361163) (SK.REMOVE.SELECTION 361165 . 361893 -) (SK.SELECT.MULTIPLE.ITEMS 361895 . 372337) (SKETCH.GET.ELEMENTS 372339 . 373762) (SK.PUT.MARKS.UP -373764 . 374103) (SK.TAKE.MARKS.DOWN 374105 . 374444) (SK.TRANSLATE.GLOBALPART 374446 . 376573) ( -SK.TRANSLATE.ITEM 376575 . 377502) (SK.TRANSLATEFN 377504 . 377700) (TRANSLATE.SKETCH 377702 . 378511) -) (378779 381686 (SK.INPUT.SCALE 378789 . 379636) (SK.UPDATE.SKETCHCONTEXT 379638 . 380235) ( -SK.SET.INPUT.SCALE 380237 . 380886) (SK.SET.INPUT.SCALE.CURRENT 380888 . 381179) ( -SK.SET.INPUT.SCALE.VALUE 381181 . 381684)) (381737 383649 (SK.SET.FEEDBACK.MODE 381747 . 383053) ( -SK.SET.FEEDBACK.POINT 383055 . 383223) (SK.SET.FEEDBACK.VERBOSE 383225 . 383394) ( -SK.SET.FEEDBACK.ALWAYS 383396 . 383647)) (383800 385178 (SKETCH.TITLE 383810 . 384174) ( -SK.SHRINK.ICONCREATE 384176 . 385176)) (390868 393682 (READBRUSHSHAPE 390878 . 391337) (READ.FUNCTION -391339 . 391854) (READBRUSHSIZE 391856 . 392314) (READANGLE 392316 . 392808) (READARCDIRECTION 392810 - . 393680)) (393683 404094 (SK.CHANGE.DASHING 393693 . 397641) (READ.AND.SAVE.NEW.DASHING 397643 . -399411) (READ.NEW.DASHING 399413 . 401153) (READ.DASHING.CHANGE 401155 . 402630) (SK.CACHE.DASHING -402632 . 403634) (SK.DASHING.LABEL 403636 . 404092)) (404095 407800 (READ.FILLING.CHANGE 404105 . -406086) (SK.CACHE.FILLING 406088 . 406806) (READ.AND.SAVE.NEW.FILLING 406808 . 407406) ( -SK.FILLING.LABEL 407408 . 407798)) (408184 444437 (SK.GETGLOBALPOSITION 408194 . 408499) ( -SKETCH.TRACK.ELEMENTS 408501 . 412021) (SK.PICKOUT.WHOLE.MOVE.ELEMENTS 412023 . 412582) ( -MAP.SKETCH.ELEMENTS.INTO.VIEWER 412584 . 412976) (MAP.GLOBAL.POSITION.INTO.VIEWER 412978 . 413358) ( -SKETCH.TO.VIEWER.POSITION 413360 . 413719) (SKETCH.TRACK.IMAGE 413721 . 414575) (SK.TRACK.IMAGE1 -414577 . 415989) (MAP.VIEWER.XY.INTO.GLOBAL 415991 . 416985) (SK.SET.POSITION 416987 . 417323) ( -MAP.VIEWER.PT.INTO.GLOBAL 417325 . 418431) (VIEWER.TO.SKETCH.POSITION 418433 . 419068) ( -SK.INSURE.SCALE 419070 . 419330) (SKETCH.TO.VIEWER.REGION 419332 . 420138) (VIEWER.TO.SKETCH.REGION -420140 . 420478) (SK.READ.POINT.WITH.FEEDBACK 420480 . 431483) (SKETCH.GET.POSITION 431485 . 433365) ( -\CLOBBER.POSITION 433367 . 433815) (NEAREST.HOT.SPOT 433817 . 435345) (GETWREGION 435347 . 436108) ( -GET.BITMAP.POSITION 436110 . 436894) (SK.TRACK.BITMAP1 436896 . 444435)) (445006 475892 ( -SK.BRING.UP.POSITION.PAD 445016 . 450876) (SK.PAD.READER.POSITION 450878 . 452527) ( -SK.POSITION.READER.REPAINTFN 452529 . 454313) (SK.POSITION.PAD.FROM.VIEWER 454315 . 455657) ( -SK.INIT.POSITION.NUMBER.PAD.MENU 455659 . 456009) (SK.READ.POSITION.PAD.HANDLER 456011 . 461743) ( -DISPLAY.POSITION.READER.TOTAL 461745 . 464043) (POSITION.PAD.READER.HANDLER 464045 . 472088) ( -POSITIONPAD.HELDFN 472090 . 473574) (\POSITION.PAD.ADD.DIGIT.MENU 473576 . 475155) ( -\POSITION.READER.NUMBERPAD 475157 . 475890)) (477518 480196 (SK.DRAWFN 477528 . 477894) ( -SK.TRANSFORMFN 477896 . 478277) (SK.EXPANDFN 478279 . 478556) (SK.INPUT 478558 . 478939) (SK.INSIDEFN -478941 . 479581) (SK.UPDATEFN 479583 . 480194)) (485961 489906 (SK.CHECK.SKETCH.VERSION 485971 . -487211) (SK.INSURE.RECORD.LENGTH 487213 . 488696) (SK.INSURE.HAS.LENGTH 488698 . 489436) ( -SK.RECORD.LENGTH 489438 . 489612) (SK.SET.RECORD.LENGTHS 489614 . 489904)) (490651 491538 ( -SK.ADD.EDIT.COMMAND.TO.FILE.BROWSER 490661 . 491536))))) + (FILEMAP (NIL (22476 86065 (SKETCH 22486 . 24591) (SKETCH.FROM.A.FILE 24593 . 24908) (SKETCHW.CREATE +24910 . 29484) (SKETCH.RESET 29486 . 31008) (SKETCHW.FIG.CHANGED 31010 . 31350) (SK.WINDOW.TITLE 31352 + . 31739) (EDITSLIDE 31741 . 32147) (EDITSKETCH 32149 . 32473) (SK.PUT.ON.FILE 32475 . 33927) ( +SK.OUTPUT.FILE.NAME 33929 . 34414) (SKETCH.PUT 34416 . 37314) (SK.GET.FROM.FILE 37316 . 38209) ( +SK.INCLUDE.FILE 38211 . 40719) (SK.GET.IMAGEOBJ.FROM.FILE 40721 . 42924) (SKETCH.GET 42926 . 43233) ( +ADD.SKETCH.TO.VIEWER 43235 . 45821) (SK.ADD.ELEMENTS.TO.SKETCH 45823 . 46337) (SKETCH.SET.A.DEFAULT +46339 . 53890) (SK.POPUP.SELECTIONFN 53892 . 54434) (GETSKETCHWREGION 54436 . 54642) (SK.ADD.ELEMENT +54644 . 56223) (SK.ADD.PRIORITY.ELEMENT.TO.SKETCH 56225 . 57619) (SK.ELTS.BY.PRIORITY 57621 . 57917) ( +SK.ORDER.ELEMENTS 57919 . 58186) (SK.ADD.PRIORITY.LOCAL.ELEMENT.TO.SKETCH 58188 . 59682) ( +SK.ADD.ELEMENTS 59684 . 60208) (SK.CHECK.WHENADDEDFN 60210 . 60940) (SK.APPLY.MENU.COMMAND 60942 . +61740) (SK.DELETE.ELEMENT1 61742 . 63320) (SK.MARK.DIRTY 63322 . 63988) (SK.MARK.UNDIRTY 63990 . 64321 +) (SK.MENU.AND.RETURN.FIELD 64323 . 64988) (SKETCH.SET.BRUSH.SHAPE 64990 . 65575) ( +SKETCH.SET.BRUSH.SIZE 65577 . 66083) (SKETCHW.CLOSEFN 66085 . 67876) (SK.CONFIRM.DESTRUCTION 67878 . +68877) (SKETCHW.OUTFN 68879 . 69143) (SKETCHW.REOPENFN 69145 . 69557) (MAKE.LOCAL.SKETCH 69559 . 70289 +) (MAP.SKETCHSPEC.INTO.VIEWER 70291 . 71501) (SKETCHW.REPAINTFN 71503 . 72331) (SKETCHW.REPAINTFN1 +72333 . 73272) (SK.DRAWFIGURE.IF 73274 . 73796) (SKETCHW.SCROLLFN 73798 . 77991) (SKETCHW.RESHAPEFN +77993 . 80251) (SK.UPDATE.EVENT.SELECTION 80253 . 82308) (LIGHTGRAYWINDOW 82310 . 82473) ( +SK.ADD.SPACES 82475 . 83221) (SK.SKETCH.MENU 83223 . 83545) (SK.CHECK.IMAGEOBJ.WHENDELETEDFN 83547 . +84399) (SK.APPLY.IMAGEOBJ.WHENDELETEDFN 84401 . 85361) (SK.RETURN.TTY 85363 . 85731) (SK.TAKE.TTY +85733 . 86063)) (86119 109534 (SKETCH.COMMANDMENU 86129 . 86553) (SKETCH.COMMANDMENU.ITEMS 86555 . +106638) (CREATE.SKETCHW.COMMANDMENU 106640 . 107060) (SKETCHW.SELECTIONFN 107062 . 108165) ( +SKETCH.MONITORLOCK 108167 . 108638) (SK.EVAL.AS.PROCESS 108640 . 109253) (SK.EVAL.WITH.LOCK 109255 . +109532)) (109535 117339 (SK.FIX.MENU 109545 . 110639) (SK.SET.UP.MENUS 110641 . 112942) ( +SK.INSURE.HAS.MENU 112944 . 113606) (SK.CREATE.STANDARD.MENU 113608 . 114053) (SK.ADD.ITEM.TO.MENU +114055 . 114730) (SK.GET.VIEWER.POPUP.MENU 114732 . 116933) (SK.CLEAR.POPUP.MENU 116935 . 117337)) ( +117395 126217 (SKETCH.CREATE 117405 . 118191) (GETSKETCHPROP 118193 . 121250) (PUTSKETCHPROP 121252 . +125184) (CREATE.DEFAULT.SKETCH.CONTEXT 125186 . 126215)) (126383 149279 (SK.COPY.BUTTONEVENTFN 126393 + . 137621) (SK.BUTTONEVENT.MARK 137623 . 138006) (SK.BUILD.IMAGEOBJ 138008 . 147923) ( +SK.BUTTONEVENT.OVERP 147925 . 148548) (SK.BUTTONEVENT.SAME.KEYS 148550 . 149277)) (149558 175373 ( +SK.SEL.AND.CHANGE 149568 . 149860) (SK.CHECK.WHENCHANGEDFN 149862 . 150568) (SK.CHECK.PRECHANGEFN +150570 . 151171) (SK.CHANGE.ELT 151173 . 151365) (SK.CHANGE.THING 151367 . 152618) ( +SKETCH.CHANGE.ELEMENTS 152620 . 153803) (SK.APPLY.SINGLE.CHANGEFN 153805 . 154378) (SK.DO.CHANGESPECS +154380 . 156039) (SK.VIEWER.FROM.SKETCH.ARG 156041 . 156483) (SK.DO.CHANGESPEC1 156485 . 158360) ( +SK.CHANGEFN 158362 . 158942) (SK.READCHANGEFN 158944 . 159403) (SK.DEFAULT.CHANGEFN 159405 . 161877) ( +CHANGEABLEFIELDITEMS 161879 . 162526) (SK.APPLY.CHANGE.COMMAND 162528 . 163145) ( +SK.DO.AND.RECORD.CHANGES 163147 . 164544) (SK.APPLY.CHANGE.COMMAND1 164546 . 166034) ( +SK.ELEMENTS.CHANGEFN 166036 . 168360) (READ.POINT.TO.ADD 168362 . 169306) (GLOBAL.KNOT.FROM.LOCAL +169308 . 169768) (SK.ADD.KNOT.TO.ELEMENT 169770 . 170714) (SK.GROUP.CHANGEFN 170716 . 171928) ( +SK.GROUP.CHANGEFN1 171930 . 175371)) (175540 189273 (ADD.ELEMENT.TO.SKETCH 175550 . 177256) ( +ADD.SKETCH.VIEWER 177258 . 177926) (REMOVE.SKETCH.VIEWER 177928 . 178541) (ALL.SKETCH.VIEWERS 178543 + . 178783) (SKETCH.ALL.VIEWERS 178785 . 179045) (VIEWER.BUCKET 179047 . 179198) (ELT.INSIDE.REGION? +179200 . 179527) (ELT.INSIDE.SKWP 179529 . 179820) (SCALE.FROM.SKW 179822 . 180072) ( +SK.ADDELT.TO.WINDOW 180074 . 180934) (SK.CALC.REGION.VIEWED 180936 . 181314) (SK.DRAWFIGURE 181316 . +182605) (SK.DRAWFIGURE1 182607 . 182991) (SK.LOCAL.FROM.GLOBAL 182993 . 184228) (SKETCH.REGION.VIEWED +184230 . 186917) (SKETCH.VIEW.FROM.NAME 186919 . 187349) (SK.UPDATE.REGION.VIEWED 187351 . 187743) ( +SKETCH.ADD.AND.DISPLAY 187745 . 188153) (SKETCH.ADD.AND.DISPLAY1 188155 . 188593) (SK.ADD.ITEM 188595 + . 188927) (SKETCHW.ADD.INSTANCE 188929 . 189271)) (189314 202502 (SK.SEL.AND.DELETE 189324 . 189712) +(SK.ERASE.AND.DELETE.ITEM 189714 . 190133) (REMOVE.ELEMENT.FROM.SKETCH 190135 . 191246) ( +SK.DELETE.ELEMENT 191248 . 191806) (SK.DELETE.ELEMENT2 191808 . 192469) (SK.DELETE.KNOT 192471 . +192762) (SK.SEL.AND.DELETE.KNOT 192764 . 193889) (SK.DELETE.ELEMENT.KNOT 193891 . 197098) ( +SK.CHECK.WHENDELETEDFN 197100 . 197880) (SK.CHECK.PREEDITFN 197882 . 198366) ( +SK.CHECK.END.INITIAL.EDIT 198368 . 198902) (SK.CHECK.WHENPOINTDELETEDFN 198904 . 199700) (SK.ERASE.ELT + 199702 . 200038) (SK.DELETE.ELT 200040 . 200415) (SK.DELETE.ITEM 200417 . 200825) (DELFROMTCONC +200827 . 202500)) (202541 216375 (SK.COPY.ELT 202551 . 202921) (SK.SEL.AND.COPY 202923 . 203306) ( +SK.COPY.ELEMENTS 203308 . 208936) (SK.ADD.COPY.OF.ELEMENTS 208938 . 210705) ( +SK.GLOBAL.FROM.LOCAL.ELEMENTS 210707 . 210947) (SK.COPY.ITEM 210949 . 211746) (SK.INSERT.SKETCH 211748 + . 216373)) (216415 246436 (SK.MOVE.ELT 216425 . 216700) (SK.MOVE.ELT.OR.PT 216702 . 217015) ( +SK.APPLY.DEFAULT.MOVE 217017 . 217451) (SK.SEL.AND.MOVE 217453 . 218000) (SK.MOVE.ELEMENTS 218002 . +228874) (SKETCH.MOVE.ELEMENTS 228876 . 230807) (SKETCH.COPY.ELEMENTS 230809 . 232856) ( +\SKETCH.COPY.ELEMENT 232858 . 233583) (SK.TRANSLATE.ELEMENT 233585 . 234068) (SK.COPY.GLOBAL.ELEMENT +234070 . 234281) (SK.MAKE.ELEMENT.MOVE.ARG 234283 . 234903) (SK.MAKE.ELEMENTS.MOVE.ARG 234905 . 235427 +) (SK.MAKE.POINTS.AND.ELEMENTS.MOVE.ARG 235429 . 236498) (SK.SHOW.FIG.FROM.INFO 236500 . 236868) ( +SK.MOVE.THING 236870 . 237776) (UPDATE.ELEMENT.IN.SKETCH 237778 . 239833) (SK.UPDATE.ELEMENT 239835 . +241394) (SK.UPDATE.ELEMENTS 241396 . 242115) (SK.UPDATE.ELEMENT1 242117 . 246017) ( +SK.MOVE.ELEMENT.POINT 246019 . 246434)) (246499 268788 (SK.MOVE.POINTS 246509 . 246796) ( +SK.SEL.AND.MOVE.POINTS 246798 . 247103) (SK.DO.MOVE.ELEMENT.POINTS 247105 . 255762) ( +SK.MOVE.ITEM.POINTS 255764 . 257435) (SK.TRANSLATEPTSFN 257437 . 257821) (SK.TRANSLATE.POINTS 257823 + . 258724) (SK.SELECT.MULTIPLE.POINTS 258726 . 264366) (SK.CONTROL.POINTS.IN.REGION 264368 . 265789) ( +SK.ADD.PT.SELECTION 265791 . 266255) (SK.REMOVE.PT.SELECTION 266257 . 266874) (SK.ADD.POINT 266876 . +267499) (SK.ELTS.CONTAINING.PTS 267501 . 268126) (SK.HOTSPOTS.NOT.ON.LIST 268128 . 268786)) (268946 +271742 (SK.SET.MOVE.MODE 268956 . 269627) (SK.SET.MOVE.MODE.POINTS 269629 . 269968) ( +SK.SET.MOVE.MODE.ELEMENTS 269970 . 270314) (SK.SET.MOVE.MODE.COMBINED 270316 . 270666) (READMOVEMODE +270668 . 271740)) (271743 290498 (SK.ALIGN.POINTS 271753 . 272043) (SK.SEL.AND.ALIGN.POINTS 272045 . +272354) (SK.ALIGN.POINTS.LEFT 272356 . 272659) (SK.ALIGN.POINTS.RIGHT 272661 . 272966) ( +SK.ALIGN.POINTS.TOP 272968 . 273269) (SK.ALIGN.POINTS.BOTTOM 273271 . 273578) ( +SK.EVEN.SPACE.POINTS.IN.X 273580 . 273900) (SK.EVEN.SPACE.POINTS.IN.Y 273902 . 274222) ( +SK.DO.ALIGN.POINTS 274224 . 284846) (SK.NTH.CONTROL.POINT 284848 . 285309) ( +SK.GET.SELECTED.ELEMENT.STRUCTURE 285311 . 285977) (SK.CORRESPONDING.CONTROL.PT 285979 . 286533) ( +SK.CONTROL.POINT.NUMBER 286535 . 286905) (SK.DO.ALIGN.SETVALUE 286907 . 290496)) (290562 303994 ( +SKETCH.CREATE.GROUP 290572 . 291061) (SK.CREATE.GROUP1 291063 . 291610) (SK.UPDATE.GROUP.AFTER.CHANGE +291612 . 292401) (SK.GROUP.ELTS 292403 . 292684) (SK.SEL.AND.GROUP 292686 . 293072) (SK.GROUP.ELEMENTS + 293074 . 294723) (SK.UNGROUP.ELT 294725 . 295009) (SK.SEL.AND.UNGROUP 295011 . 296680) ( +SK.UNGROUP.ELEMENT 296682 . 297618) (SK.GLOBAL.REGION.OF.LOCAL.ELEMENTS 297620 . 298542) ( +SK.LOCAL.REGION.OF.LOCAL.ELEMENTS 298544 . 299555) (SK.GLOBAL.REGION.OF.GLOBAL.ELEMENTS 299557 . +300897) (SK.UNIONREGIONS 300899 . 303265) (SKETCH.REGION.OF.SKETCH 303267 . 303683) (SK.FLASHREGION +303685 . 303992)) (303995 317466 (INIT.GROUP.ELEMENT 304005 . 304877) (GROUP.DRAWFN 304879 . 305329) ( +GROUP.EXPANDFN 305331 . 306894) (GROUP.INSIDEFN 306896 . 307305) (GROUP.REGIONFN 307307 . 307702) ( +GROUP.GLOBALREGIONFN 307704 . 308022) (GROUP.TRANSLATEFN 308024 . 310056) (GROUP.TRANSFORMFN 310058 . +313538) (GROUP.READCHANGEFN 313540 . 317464)) (317467 318475 (REGION.CENTER 317477 . 318078) ( +REMOVE.LAST 318080 . 318473)) (318528 323635 (SK.MOVE.GROUP.CONTROL.PT 318538 . 318829) ( +SK.SEL.AND.MOVE.CONTROL.PT 318831 . 320235) (SK.MOVE.GROUP.ELEMENT.CONTROL.POINT 320237 . 322310) ( +SK.READ.NEW.GROUP.CONTROL.PT 322312 . 323633)) (323894 328518 (SK.DO.GROUP 323904 . 325356) ( +SK.CHECK.WHENGROUPEDFN 325358 . 326068) (SK.DO.UNGROUP 326070 . 327275) (SK.CHECK.WHENUNGROUPEDFN +327277 . 327864) (SK.GROUP.UNDO 327866 . 328189) (SK.UNGROUP.UNDO 328191 . 328516)) (328759 333681 ( +SK.FREEZE.ELTS 328769 . 329053) (SK.SEL.AND.FREEZE 329055 . 329445) (SK.FREEZE.ELEMENTS 329447 . +329998) (SK.UNFREEZE.ELT 330000 . 330289) (SK.SEL.AND.UNFREEZE 330291 . 331827) (SK.UNFREEZE.ELEMENTS +331829 . 332388) (SK.FREEZE.UNDO 332390 . 332635) (SK.UNFREEZE.UNDO 332637 . 332884) (SK.DO.FREEZE +332886 . 333279) (SK.DO.UNFREEZE 333281 . 333679)) (333911 343721 (SKETCH.ELEMENTS.OF.SKETCH 333921 . +334756) (SKETCH.LIST.OF.ELEMENTS 334758 . 335476) (SKETCH.ADD.ELEMENT 335478 . 336553) ( +SKETCH.DELETE.ELEMENT 336555 . 338287) (DELFROMGROUPELT 338289 . 339089) (SKETCH.ELEMENT.TYPE 339091 + . 339440) (SKETCH.ELEMENT.CHANGED 339442 . 341010) (SK.ELEMENT.CHANGED1 341012 . 341663) ( +SK.UPDATE.GLOBAL.IMAGE.OBJECT.ELEMENT 341665 . 343719)) (343775 348387 (INSURE.SKETCH 343785 . 346400) + (LOCALSPECS.FROM.VIEWER 346402 . 346762) (SK.LOCAL.ELT.FROM.GLOBALPART 346764 . 347232) ( +SKETCH.FROM.VIEWER 347234 . 347468) (INSPECT.SKETCH 347470 . 347795) (ELT.INSIDE.SKETCHWP 347797 . +348070) (SK.INSIDE.REGION 348072 . 348385)) (348388 352718 (MAPSKETCHSPECS 348398 . 349019) ( +MAPCOLLECTSKETCHSPECS 349021 . 349770) (MAPSKETCHSPECSUNTIL 349772 . 350580) (MAPGLOBALSKETCHSPECS +350582 . 351283) (MAPGLOBALSKETCHELEMENTS 351285 . 352716)) (352780 378672 (SK.ADD.SELECTION 352790 . +353530) (SK.COPY.INSERTFN 353532 . 357163) (SCREENELEMENTP 357165 . 357638) (SK.ITEM.REGION 357640 . +358127) (SK.ELEMENT.GLOBAL.REGION 358129 . 358657) (SK.LOCAL.ITEMS.IN.REGION 358659 . 360638) ( +SK.REGIONFN 360640 . 360962) (SK.GLOBAL.REGIONFN 360964 . 361322) (SK.REMOVE.SELECTION 361324 . 362052 +) (SK.SELECT.MULTIPLE.ITEMS 362054 . 372496) (SKETCH.GET.ELEMENTS 372498 . 373921) (SK.PUT.MARKS.UP +373923 . 374262) (SK.TAKE.MARKS.DOWN 374264 . 374603) (SK.TRANSLATE.GLOBALPART 374605 . 376732) ( +SK.TRANSLATE.ITEM 376734 . 377661) (SK.TRANSLATEFN 377663 . 377859) (TRANSLATE.SKETCH 377861 . 378670) +) (378938 381845 (SK.INPUT.SCALE 378948 . 379795) (SK.UPDATE.SKETCHCONTEXT 379797 . 380394) ( +SK.SET.INPUT.SCALE 380396 . 381045) (SK.SET.INPUT.SCALE.CURRENT 381047 . 381338) ( +SK.SET.INPUT.SCALE.VALUE 381340 . 381843)) (381896 383808 (SK.SET.FEEDBACK.MODE 381906 . 383212) ( +SK.SET.FEEDBACK.POINT 383214 . 383382) (SK.SET.FEEDBACK.VERBOSE 383384 . 383553) ( +SK.SET.FEEDBACK.ALWAYS 383555 . 383806)) (383959 385337 (SKETCH.TITLE 383969 . 384333) ( +SK.SHRINK.ICONCREATE 384335 . 385335)) (391027 393841 (READBRUSHSHAPE 391037 . 391496) (READ.FUNCTION +391498 . 392013) (READBRUSHSIZE 392015 . 392473) (READANGLE 392475 . 392967) (READARCDIRECTION 392969 + . 393839)) (393842 404253 (SK.CHANGE.DASHING 393852 . 397800) (READ.AND.SAVE.NEW.DASHING 397802 . +399570) (READ.NEW.DASHING 399572 . 401312) (READ.DASHING.CHANGE 401314 . 402789) (SK.CACHE.DASHING +402791 . 403793) (SK.DASHING.LABEL 403795 . 404251)) (404254 407959 (READ.FILLING.CHANGE 404264 . +406245) (SK.CACHE.FILLING 406247 . 406965) (READ.AND.SAVE.NEW.FILLING 406967 . 407565) ( +SK.FILLING.LABEL 407567 . 407957)) (408343 444596 (SK.GETGLOBALPOSITION 408353 . 408658) ( +SKETCH.TRACK.ELEMENTS 408660 . 412180) (SK.PICKOUT.WHOLE.MOVE.ELEMENTS 412182 . 412741) ( +MAP.SKETCH.ELEMENTS.INTO.VIEWER 412743 . 413135) (MAP.GLOBAL.POSITION.INTO.VIEWER 413137 . 413517) ( +SKETCH.TO.VIEWER.POSITION 413519 . 413878) (SKETCH.TRACK.IMAGE 413880 . 414734) (SK.TRACK.IMAGE1 +414736 . 416148) (MAP.VIEWER.XY.INTO.GLOBAL 416150 . 417144) (SK.SET.POSITION 417146 . 417482) ( +MAP.VIEWER.PT.INTO.GLOBAL 417484 . 418590) (VIEWER.TO.SKETCH.POSITION 418592 . 419227) ( +SK.INSURE.SCALE 419229 . 419489) (SKETCH.TO.VIEWER.REGION 419491 . 420297) (VIEWER.TO.SKETCH.REGION +420299 . 420637) (SK.READ.POINT.WITH.FEEDBACK 420639 . 431642) (SKETCH.GET.POSITION 431644 . 433524) ( +\CLOBBER.POSITION 433526 . 433974) (NEAREST.HOT.SPOT 433976 . 435504) (GETWREGION 435506 . 436267) ( +GET.BITMAP.POSITION 436269 . 437053) (SK.TRACK.BITMAP1 437055 . 444594)) (445165 476051 ( +SK.BRING.UP.POSITION.PAD 445175 . 451035) (SK.PAD.READER.POSITION 451037 . 452686) ( +SK.POSITION.READER.REPAINTFN 452688 . 454472) (SK.POSITION.PAD.FROM.VIEWER 454474 . 455816) ( +SK.INIT.POSITION.NUMBER.PAD.MENU 455818 . 456168) (SK.READ.POSITION.PAD.HANDLER 456170 . 461902) ( +DISPLAY.POSITION.READER.TOTAL 461904 . 464202) (POSITION.PAD.READER.HANDLER 464204 . 472247) ( +POSITIONPAD.HELDFN 472249 . 473733) (\POSITION.PAD.ADD.DIGIT.MENU 473735 . 475314) ( +\POSITION.READER.NUMBERPAD 475316 . 476049)) (477677 480355 (SK.DRAWFN 477687 . 478053) ( +SK.TRANSFORMFN 478055 . 478436) (SK.EXPANDFN 478438 . 478715) (SK.INPUT 478717 . 479098) (SK.INSIDEFN +479100 . 479740) (SK.UPDATEFN 479742 . 480353)) (486120 490065 (SK.CHECK.SKETCH.VERSION 486130 . +487370) (SK.INSURE.RECORD.LENGTH 487372 . 488855) (SK.INSURE.HAS.LENGTH 488857 . 489595) ( +SK.RECORD.LENGTH 489597 . 489771) (SK.SET.RECORD.LENGTHS 489773 . 490063)) (490528 491415 ( +SK.ADD.EDIT.COMMAND.TO.FILE.BROWSER 490538 . 491413))))) STOP diff --git a/library/sketch/SKETCH-ELEMENTS b/library/sketch/SKETCH-ELEMENTS index 18c122b6b..d99056300 100644 --- a/library/sketch/SKETCH-ELEMENTS +++ b/library/sketch/SKETCH-ELEMENTS @@ -1,10 +1,11 @@ (DEFINE-FILE-INFO PACKAGE "INTERLISP" READTABLE "INTERLISP" BASE 10) -(FILECREATED " 6-Nov-2025 17:40:48" {WMEDLEY}SKETCH>SKETCH-ELEMENTS.;16 546518 +(FILECREATED " 7-Nov-2025 11:54:25" {WMEDLEY}SKETCH>SKETCH-ELEMENTS.;22 545478 :EDIT-BY rmk - :CHANGES-TO (FNS SK.DECREASING.FONT.LIST SK.PICK.FONT SK.CHOOSE.TEXT.FONT SK.READFONTSIZE + :CHANGES-TO (FNS SK.CHANGE.TEXT SK.CHANGE.FONT SK.NEWFONT \SK.READ.FONT.SIZE1 SK.NEXTSIZEFONT + SK.DECREASING.FONT.LIST SK.PICK.FONT SK.CHOOSE.TEXT.FONT SK.READFONTSIZE SK.COLLECT.FONT.SIZES SK.READFONTFAMILY SK.SET.FONT SK.GUESS.FONTSAVAILABLE) (VARS SKETCH-ELEMENTSCOMS) @@ -122,7 +123,7 @@ READ.TEXT TEXT.POSITION.AND.CREATE CREATE.TEXT.ELEMENT SK.UPDATE.TEXT.AFTER.CHANGE SK.TEXT.FROM.TEXTBOX TEXT.SET.GLOBAL.REGIONS TEXT.REGIONFN TEXT.GLOBALREGIONFN TEXT.TRANSLATEFN TEXT.TRANSFORMFN TEXT.TRANSLATEPTSFN TEXT.UPDATEFN SK.CHANGE.TEXT - TEXT.SET.SCALES BREAK.AT.CARRIAGE.RETURNS) + SK.CHANGE.FONT TEXT.SET.SCALES BREAK.AT.CARRIAGE.RETURNS) (FNS SK.PICK.FONT SK.CHOOSE.TEXT.FONT SK.NEXTSIZEFONT SK.DECREASING.FONT.LIST) (INITVARS (\KNOWN.SKETCH.FONTSIZES)) (GLOBALVARS \KNOWN.SKETCH.FONTSIZES) @@ -4573,10 +4574,13 @@ Click outside the window to stop.") (RETURN (AND VAL (LIST COMMAND VAL]) (\SK.READ.FONT.SIZE1 - [LAMBDA (SELECTEDELTS SKETCHW NEWFAMILY) (* rrb "14-Jul-86 13:43") - - (* reads a font size from the user. If NEWFONT is NIL, use the one of the first - selected element.) + [LAMBDA (SELECTEDELTS SKETCHW NEWFAMILY) (* ; "Edited 6-Nov-2025 22:35 by rmk") + (* rrb "14-Jul-86 13:43") + (* ; + "reads a font size from the user. If NEWFONT is NIL, use the one of the first selected element.") + + (* reads a font size from the user. If NEWFONT is NIL, use the one of the first + selected element.) (PROG (FIRSTTEXTELT NEWSIZE NOWFONT NEWFONT) (OR (SETQ FIRSTTEXTELT (for SCRNELT inside SELECTEDELTS @@ -4604,7 +4608,7 @@ Click outside the window to stop.") (STATUSPRINT SKETCHW NEWFAMILY NEWSIZE " not found.") NIL) (T (CLOSE.PROMPT.WINDOW SKETCHW) - (SK.FONTNAMELIST NEWFONT]) + (FONTPROP NEWFONT 'SPEC]) (SK.TEXT.ELT.WITH.SAME.FIELDS [LAMBDA (NEWONE ORGONE) (* rrb "18-Jul-85 14:16") @@ -5194,40 +5198,29 @@ Click outside the window to stop.") (RETURN NEWSCREENELT]) (SK.CHANGE.TEXT - [LAMBDA (ELTWITHTEXT HOW SKW) (* ; "Edited 7-Apr-87 13:41 by rrb") + [LAMBDA (ELTWITHTEXT HOW SKW) (* ; "Edited 7-Nov-2025 09:05 by rmk") + (* ; "Edited 7-Apr-87 13:41 by rrb") (PROG ((COMMAND (CADR HOW)) (PROPERTY 'FONT) - NEWVALUE GINDTEXTELT NEWGTEXT OLDVALUE OLDFACE GTYPE) - (OR HOW (RETURN)) (* take down the caret before any - change.) + NEWVALUE GINDTEXTELT NEWGTEXT OLDVALUE GTYPE) + (CL:UNLESS HOW (RETURN)) (* ; + "take down the caret before any change.") (SKED.CLEAR.SELECTION SKW) - (COND - ((MEMB (SETQ GTYPE (fetch (GLOBALPART GTYPE) of ELTWITHTEXT)) - '(TEXTBOX TEXT)) + (CL:WHEN (MEMB (SETQ GTYPE (fetch (GLOBALPART GTYPE) of ELTWITHTEXT)) + '(TEXTBOX TEXT)) (SETQ GINDTEXTELT (fetch (GLOBALPART INDIVIDUALGLOBALPART) of ELTWITHTEXT)) - - (* set the old value to the old font. In the case where the thing that changes - is the justification, this will get re-set) - - (SETQ OLDVALUE (fetch (TEXT FONT) of GINDTEXTELT)) (SETQ NEWGTEXT (SELECTQ (CAR HOW) (TEXT (SELECTQ COMMAND - ((SMALLER LARGER) (* change the font) + ((SMALLER LARGER) (* ; "change the font") [COND - [[SETQ NEWVALUE (SK.NEXTSIZEFONT COMMAND - (LIST (FONTPROP OLDVALUE 'FAMILY) - (FONTPROP OLDVALUE 'SIZE] - (* if there is an appropriate size - font, use it.) - [SETQ NEWVALUE (LIST (FONTPROP NEWVALUE 'FAMILY) - (FONTPROP NEWVALUE 'SIZE) - (FONTPROP OLDVALUE 'FACE] - (COND - ((EQ GTYPE 'TEXT) - (create TEXT using GINDTEXTELT FONT _ NEWVALUE)) - (T (create TEXTBOX using GINDTEXTELT FONT _ NEWVALUE] - (T (* otherwise just scale the area some.) + ((SETQ NEWVALUE (SK.NEXTSIZEFONT COMMAND OLDVALUE)) + (* ; + "if there is an appropriate size font, use it.") + (OR (SK.CHANGE.FONT SKW ELTWITHTEXT NEWVALUE) + (RETURN))) + (T (* ; + "otherwise just scale the area some.") (SETQ NEWVALUE (FTIMES (SETQ OLDVALUE (fetch (TEXT INITIALSCALE ) @@ -5241,18 +5234,18 @@ Click outside the window to stop.") (create TEXT using GINDTEXTELT INITIALSCALE _ NEWVALUE)) (T (create TEXTBOX using GINDTEXTELT INITIALSCALE _ NEWVALUE]) - ((CENTER LEFT RIGHT) (* change the horizontal justification) - [SETQ NEWVALUE (LIST COMMAND (CADR (SETQ OLDVALUE - (fetch (TEXT TEXTSTYLE) - of GINDTEXTELT] + ((CENTER LEFT RIGHT) (* ; + "change the horizontal justification") + (SETQ OLDVALUE (fetch (TEXT TEXTSTYLE) of GINDTEXTELT)) + (SETQ NEWVALUE (LIST COMMAND (CADR OLDVALUE))) (SETQ PROPERTY 'JUSTIFICATION) (COND ((EQ GTYPE 'TEXT) (create TEXT using GINDTEXTELT TEXTSTYLE _ NEWVALUE)) (T (create TEXTBOX using GINDTEXTELT TEXTSTYLE _ NEWVALUE)))) - ((TOP BOTTOM MIDDLE BASELINE) (* change the vertical justification) - [SETQ NEWVALUE (LIST (CAR (SETQ OLDVALUE (fetch (TEXT TEXTSTYLE) - of GINDTEXTELT))) + ((TOP BOTTOM MIDDLE BASELINE) (* ; "change the vertical justification") + (SETQ OLDVALUE (fetch (TEXT TEXTSTYLE) of GINDTEXTELT)) + [SETQ NEWVALUE (LIST (CAR OLDVALUE) (COND ((EQ COMMAND 'MIDDLE) 'CENTER) @@ -5262,28 +5255,26 @@ Click outside the window to stop.") ((EQ GTYPE 'TEXT) (create TEXT using GINDTEXTELT TEXTSTYLE _ NEWVALUE)) (T (create TEXTBOX using GINDTEXTELT TEXTSTYLE _ NEWVALUE)))) - ((BOLD UNBOLD ITALIC UNITALIC) (* change the face) - (SETQ OLDFACE (FONTPROP OLDVALUE 'FACE)) - [SETQ NEWVALUE (LIST (FONTPROP OLDVALUE 'FAMILY) - (FONTPROP OLDVALUE 'SIZE) - (LIST (SELECTQ COMMAND - (BOLD 'BOLD) - (UNBOLD 'MEDIUM) - (CAR OLDFACE)) - (SELECTQ COMMAND - (ITALIC 'ITALIC) - (UNITALIC 'REGULAR) - (CADR OLDFACE)) - (CADDR OLDFACE] - (COND - ((EQ GTYPE 'TEXT) - (create TEXT using GINDTEXTELT FONT _ NEWVALUE)) - (T (create TEXTBOX using GINDTEXTELT FONT _ NEWVALUE)))) - (BOX (* if it is a text element, BOX it) + ((BOLD UNBOLD ITALIC UNITALIC) (* ; "change the face") + (OR (SK.CHANGE.FONT SKW ELTWITHTEXT GINDTEXTELT NIL NIL + (MAKEFONTFACE (SELECTQ COMMAND + (BOLD 'BOLD) + (UNBOLD 'MEDIUM) + NIL) + (SELECTQ COMMAND + (ITALIC 'ITALIC) + (UNITALIC 'REGULAR) + NIL) + NIL + (fetch (TEXT FONT) of GINDTEXTELT))) + (RETURN))) + (BOX (* ; + "RMK 2025: RETURN MEANS NO HISTORY?") + (* ; "if it is a text element, BOX it") [COND ((EQ GTYPE 'TEXT) (RETURN (SK.TEXTBOX.FROM.TEXT ELTWITHTEXT SKW]) - (UNBOX (* if it is a text box, unbox it.) + (UNBOX (* ; "if it is a text box, unbox it.") [COND ((EQ GTYPE 'TEXTBOX) (RETURN (SK.TEXT.FROM.TEXTBOX ELTWITHTEXT SKW]) @@ -5291,59 +5282,25 @@ Click outside the window to stop.") ((EQ GTYPE 'TEXT) (RETURN (SK.LOOKEDSTRING.FROM.TEXT ELTWITHTEXT SKW]) (SHOULDNT))) - (SETSIZE (SETQ NEWVALUE COMMAND) - (COND - [(EQ (FONTPROP NEWVALUE 'FAMILY) - (FONTPROP OLDVALUE 'FAMILY)) - - (* if the families are the same, change them, otherwise don't as it isn't known - whether or not this family has the right size.) + (SETSIZE + (* ;; "if the families are the same, change them, otherwise don't as it isn't known whether or not this family has the right size.") - (COND - [(EQ GTYPE 'TEXT) - (create TEXT using GINDTEXTELT FONT _ (LIST (FONTPROP - OLDVALUE - 'FAMILY) - (FONTPROP - NEWVALUE - 'SIZE) - (FONTPROP - OLDVALUE - 'FACE] - (T (create TEXTBOX using GINDTEXTELT FONT _ - (LIST (FONTPROP OLDVALUE 'FAMILY) - (FONTPROP NEWVALUE 'SIZE) - (FONTPROP OLDVALUE 'FACE] - (T (RETURN)))) - (NEWFONT (* set the font family) - [SETQ NEWVALUE (LIST COMMAND (FONTPROP OLDVALUE 'SIZE) - (FONTPROP OLDVALUE 'FACE] - (COND - ((NULL (FONTCREATE NEWVALUE NIL NIL NIL NIL T)) - (STATUSPRINT SKW " Couldn't find " (CAR NEWVALUE) - " in size " - (CADR NEWVALUE)) + (OR [AND (EQ (FONTPROP COMMAND 'FAMILY) + (FONTPROP OLDVALUE 'FAMILY)) + (SK.CHANGE.FONT SKW ELTWITHTEXT NIL (FONTPROP COMMAND + 'SIZE] (RETURN))) - (COND - ((EQ GTYPE 'TEXT) - (create TEXT using GINDTEXTELT FONT _ NEWVALUE)) - (T (create TEXTBOX using GINDTEXTELT FONT _ NEWVALUE)))) - (FAMILY&SIZE (* set the font family and size) - [SETQ NEWVALUE (LIST (CAR COMMAND) - (CADR COMMAND) - (FONTPROP (fetch (TEXT FONT) of GINDTEXTELT) - 'FACE] - (COND - ((EQ GTYPE 'TEXT) - (create TEXT using GINDTEXTELT FONT _ NEWVALUE)) - (T (create TEXTBOX using GINDTEXTELT FONT _ NEWVALUE)))) - (SAME - - (* set all of the font characteristics from the first selected one.) - - (* set the variables to cause the right things to go into the change spec - event.) - + (NEWFONT (* ; "set the font family") + (CL:UNLESS (SK.CHANGE.FONT SKW ELTWITHTEXT COMMAND) + (RETURN))) + (FAMILY&SIZE (* ; "set the font family and size") + (CL:UNLESS (SK.CHANGE.FONT SKW ELTWITHTEXT (CAR COMMAND) + (CADR COMMAND)) + (RETURN))) + (SAME (* ; + "set all of the font characteristics from the first selected one.") + (* ; + "set the variables to cause the right things to go into the change spec event.") (SETQ OLDVALUE ELTWITHTEXT) (SETQ PROPERTY 'LOOKSAME) (SETQ NEWVALUE (SK.TEXT.ELT.WITH.SAME.FIELDS (fetch (GLOBALPART @@ -5352,11 +5309,8 @@ Click outside the window to stop.") GINDTEXTELT))) (SHOULDNT))) [SETQ NEWGTEXT (COND - [(EQ GTYPE 'TEXT) - - (* adjust the scales at which this appears because font or scale may have - changed.) - + [(EQ GTYPE 'TEXT) (* ; + "adjust the scales at which this appears because font or scale may have changed.") (TEXT.SET.SCALES (create GLOBALPART COMMONGLOBALPART _ (fetch (GLOBALPART COMMONGLOBALPART @@ -5365,11 +5319,8 @@ Click outside the window to stop.") INDIVIDUALGLOBALPART _ (  TEXT.SET.GLOBAL.REGIONS NEWGTEXT] - (T - - (* scaling for text boxes depends on the box size which can't change in this - function.) - + (T (* ; + "scaling for text boxes depends on the box size which can't change in this function.") (create GLOBALPART COMMONGLOBALPART _ (fetch (GLOBALPART COMMONGLOBALPART) of ELTWITHTEXT) @@ -5380,7 +5331,26 @@ Click outside the window to stop.") OLDELT _ ELTWITHTEXT PROPERTY _ PROPERTY NEWVALUE _ NEWVALUE - OLDVALUE _ OLDVALUE]) + OLDVALUE _ OLDVALUE)))]) + +(SK.CHANGE.FONT + [LAMBDA (SKW ELTWITHTEXT FAMILY SIZE FACE) (* ; "Edited 7-Nov-2025 09:09 by rmk") + (LET (NEWFS) + [if (FONTP FAMILY) + then (SETQ NEWFS (FONTPROP FAMILY 'SPEC)) + else (SETQ NEWFS (MAKEFONTSPEC FAMILY SIZE FACE NIL NIL (fetch (TEXT FONT) of GINDTEXTELT) + )) + (CL:UNLESS (FONTCREATE NEWFS NIL NIL NIL NIL T) + (STATUSPRINT SKW " Couldn't find " (fetch (FONTSPEC FSFAMILY) of NEWFS) + " in size " + (fetch (FONTSPEC FSSIZE) of NEWFS)))] + (CL:WHEN NEWFS + (if (EQ (fetch (GLOBALPART GTYPE) of ELTWITHTEXT) + 'TEXT) + then (create TEXT using (fetch (GLOBALPART INDIVIDUALGLOBALPART) of ELTWITHTEXT) + FONT _ NEWFS) + else (create TEXTBOX using (fetch (GLOBALPART INDIVIDUALGLOBALPART) of ELTWITHTEXT) + FONT _ NEWFS)))]) (TEXT.SET.SCALES [LAMBDA (GTEXTELT) (* rrb "12-May-85 16:29") @@ -5545,27 +5515,30 @@ Click outside the window to stop.") (RETURN LOCALFONT]) (SK.NEXTSIZEFONT - [LAMBDA (WHICHDIR NOWFONT) (* rrb "14-Jul-86 13:43") - - (* returns the next sized font either SMALLER or LARGER that on of size FONT.) - - (PROG [(NOWSIZE (FONTPROP NOWFONT 'HEIGHT)) - (DECREASEFONTLST (SK.DECREASING.FONT.LIST (CAR NOWFONT) - 'DISPLAY] - (RETURN (COND - [(EQ WHICHDIR 'LARGER) - (COND - ((IGEQ NOWSIZE (FONTPROP (CAR DECREASEFONTLST) - 'HEIGHT)) (* nothing larger) - NIL) - (T (for FONTTAIL on DECREASEFONTLST - when [AND (CDR FONTTAIL) - (IGEQ NOWSIZE (FONTPROP (CADR FONTTAIL) - 'HEIGHT] - do (RETURN (SK.FONTNAMELIST (CAR FONTTAIL] - (T (for FONT in DECREASEFONTLST when (LESSP (FONTPROP FONT 'HEIGHT) - NOWSIZE) - do (RETURN (SK.FONTNAMELIST FONT]) + [LAMBDA (WHICHDIR NOWFONT) (* ; "Edited 6-Nov-2025 22:52 by rmk") + (* rrb "14-Jul-86 13:43") + + (* ;; "Returns the next sized font either SMALLER or LARGER that on of size FONT. This returns FONTSPEC, not font descriptor") + + (* ;; "RMK 2025: The original code tested HEIGHT, but SK.DECREASING.FONT.LIST orders according to SIZE. Presumably correlated, but if they ever got out of whack, this would be wrong. So changed to SIZE.") + + (* ;; "Also, this returns a FONTSPEC, not the font descriptor.") + + (LET [(NOWSIZE (FONTPROP NOWFONT 'SIZE)) + (DECREASEFONTLST (SK.DECREASING.FONT.LIST (FONTPROP NOWFONT 'FAMILY) + 'DISPLAY] + (COND + [(EQ WHICHDIR 'LARGER) + (CL:WHEN (ILESSP NOWSIZE (FONTPROP (CAR DECREASEFONTLST) + 'SIZE)) (* ; "Otherwise, nothing larger") + [for FONTTAIL on DECREASEFONTLST when [AND (CDR FONTTAIL) + (IGEQ NOWSIZE (FONTPROP (CADR FONTTAIL) + 'SIZE] + do (RETURN (FONTPROP (CAR FONTTAIL) + 'SPEC])] + (T (for FONT in DECREASEFONTLST when (LESSP (FONTPROP FONT 'SIZE) + NOWSIZE) + do (RETURN (FONTPROP FONT 'SPEC]) (SK.DECREASING.FONT.LIST [LAMBDA (FAMILY DEVICE) (* ; "Edited 6-Nov-2025 17:40 by rmk") @@ -9099,136 +9072,136 @@ No more font sizes found.") (fetch (REGION TOP) of REGION]) ) (DECLARE%: DONTCOPY - (FILEMAP (NIL (14369 24779 (INIT.SKETCH.ELEMENTS 14379 . 21942) (CREATE.SKETCH.ELEMENT.TYPE 21944 . -23466) (SKETCH.ELEMENT.TYPEP 23468 . 23856) (SKETCH.ELEMENT.NAMEP 23858 . 24121) ( -\CURSOR.IN.MIDDLE.MENU 24123 . 24777)) (24820 25497 (SKETCHINCOLORP 24830 . 25150) (READ.COLOR.CHANGE -25152 . 25495)) (26006 28785 (SK.CREATE.DEFAULT.FILLING 26016 . 26317) (SKFILLINGP 26319 . 26952) ( -SK.INSURE.FILLING 26954 . 28382) (SK.INSURE.COLOR 28384 . 28783)) (28786 34396 (SK.TRANSLATE.MODE -28796 . 29578) (SK.CHANGE.FILLING.MODE 29580 . 33163) (READ.FILLING.MODE 33165 . 34394)) (34397 65071 -(SKETCH.CREATE.CIRCLE 34407 . 35219) (CIRCLE.EXPANDFN 35221 . 38593) (CIRCLE.DRAWFN 38595 . 41596) ( -\CIRCLE.DRAWFN1 41598 . 44193) (CIRCLE.INPUTFN 44195 . 46044) (SK.UPDATE.CIRCLE.AFTER.CHANGE 46046 . -46405) (SK.READ.CIRCLE.POINT 46407 . 46878) (SK.SHOW.CIRCLE 46880 . 47526) (CIRCLE.INSIDEFN 47528 . -47793) (CIRCLE.REGIONFN 47795 . 49476) (CIRCLE.GLOBALREGIONFN 49478 . 50996) (CIRCLE.TRANSLATE 50998 - . 52859) (CIRCLE.READCHANGEFN 52861 . 57477) (CIRCLE.TRANSFORMFN 57479 . 59332) (CIRCLE.TRANSLATEPTS -59334 . 60948) (SK.CIRCLE.CREATE 60950 . 61793) (SET.CIRCLE.SCALE 61795 . 62561) (SK.BRUSH.READCHANGE -62563 . 65069)) (65072 65801 (SK.INSURE.BRUSH 65082 . 65476) (SK.INSURE.DASHING 65478 . 65799)) (67015 - 96509 (SKETCH.CREATE.ELLIPSE 67025 . 67624) (ELLIPSE.EXPANDFN 67626 . 71238) (ELLIPSE.DRAWFN 71240 . -75417) (ELLIPSE.INPUTFN 75419 . 77859) (SK.READ.ELLIPSE.MAJOR.PT 77861 . 78440) ( -SK.SHOW.ELLIPSE.MAJOR.RADIUS 78442 . 79197) (SK.READ.ELLIPSE.MINOR.PT 79199 . 79892) ( -SK.SHOW.ELLIPSE.MINOR.RADIUS 79894 . 80726) (ELLIPSE.INSIDEFN 80728 . 80998) (ELLIPSE.CREATE 81000 . -82375) (SK.UPDATE.ELLIPSE.AFTER.CHANGE 82377 . 82745) (ELLIPSE.REGIONFN 82747 . 84947) ( -ELLIPSE.GLOBALREGIONFN 84949 . 86762) (ELLIPSE.TRANSLATEFN 86764 . 89310) (ELLIPSE.TRANSFORMFN 89312 - . 90589) (ELLIPSE.TRANSLATEPTS 90591 . 92632) (MARK.SPOT 92634 . 93885) (DISTANCEBETWEEN 93887 . -94482) (SK.DISTANCE.TO 94484 . 94869) (SQUARE 94871 . 94913) (COMPUTE.ELLIPSE.ORIENTATION 94915 . -95634) (SK.COMPUTE.ELLIPSE.MINOR.RADIUS.PT 95636 . 96507)) (97622 138678 (SKETCH.CREATE.OPEN.CURVE -97632 . 98185) (OPENCURVE.INPUTFN 98187 . 99055) (SK.CURVE.CREATE 99057 . 100802) (MAXXEXTENT 100804 - . 101663) (MAXYEXTENT 101665 . 102525) (KNOT.SET.SCALE.FIELD 102527 . 103329) (OPENCURVE.DRAWFN -103331 . 104462) (OPENCURVE.EXPANDFN 104464 . 107779) (OPENCURVE.READCHANGEFN 107781 . 110983) ( -OPENCURVE.TRANSFORMFN 110985 . 113483) (OPENCURVE.TRANSLATEFN 113485 . 113907) ( -OPENCURVE.TRANSLATEPTSFN 113909 . 115290) (SKETCH.CREATE.CLOSED.CURVE 115292 . 115798) ( -CLOSEDCURVE.DRAWFN 115800 . 116584) (CLOSEDCURVE.EXPANDFN 116586 . 119699) (CLOSEDCURVE.REGIONFN -119701 . 120498) (CLOSEDCURVE.GLOBALREGIONFN 120500 . 121933) (READ.LIST.OF.POINTS 121935 . 123914) ( -CLOSEDCURVE.INPUTFN 123916 . 124561) (CLOSEDCURVE.READCHANGEFN 124563 . 127458) ( -CLOSEDCURVE.TRANSFORMFN 127460 . 129260) (CLOSEDCURVE.TRANSLATEPTSFN 129262 . 130607) (INVISIBLEPARTP -130609 . 130962) (SHOWSKETCHPOINT 130964 . 131269) (SHOWSKETCHXY 131271 . 131789) (KNOTS.REGIONFN -131791 . 132692) (OPENWIRE.GLOBALREGIONFN 132694 . 133558) (CURVE.REGIONFN 133560 . 134501) ( -OPENCURVE.GLOBALREGIONFN 134503 . 135910) (KNOTS.TRANSLATEFN 135912 . 136955) (REGION.CONTAINING.PTS -136957 . 138676)) (138679 160955 (CHANGE.ELTS.BRUSH.SIZE 138689 . 139299) (CHANGE.ELTS.BRUSH 139301 . -139818) (CHANGE.ELTS.BRUSH.SHAPE 139820 . 140221) (SK.CHANGE.BRUSH.SHAPE 140223 . 143735) ( -SK.CHANGE.BRUSH.COLOR 143737 . 148183) (SK.CHANGE.BRUSH.SIZE 148185 . 153143) (SK.CHANGE.ANGLE 153145 - . 156125) (SK.CHANGE.ARC.DIRECTION 156127 . 158506) (SK.SET.DEFAULT.BRUSH.SIZE 158508 . 159207) ( -READSIZECHANGE 159209 . 160953)) (160956 162575 (SK.CHANGE.ELEMENT.KNOTS 160966 . 162573)) (162576 -163223 (SK.INSURE.POINT.LIST 162586 . 163039) (SK.INSURE.POSITION 163041 . 163221)) (164591 196914 ( -SKETCH.CREATE.WIRE 164601 . 165091) (CLOSEDWIRE.EXPANDFN 165093 . 167781) (KNOTS.INSIDEFN 167783 . -168504) (OPEN.WIRE.DRAWFN 168506 . 169098) (WIRE.EXPANDFN 169100 . 172347) ( -SK.UPDATE.WIRE.ELT.AFTER.CHANGE 172349 . 172870) (OPENWIRE.READCHANGEFN 172872 . 175365) ( -OPENWIRE.TRANSFORMFN 175367 . 177490) (OPENWIRE.TRANSLATEFN 177492 . 177916) (OPENWIRE.TRANSLATEPTSFN -177918 . 179197) (WIRE.INPUTFN 179199 . 180830) (SK.READ.WIRE.POINTS 180832 . 181363) ( -SK.READ.POINTS.WITH.FEEDBACK 181365 . 184132) (OPENWIRE.FEEDBACKFN 184134 . 184888) ( -CLOSEDWIRE.FEEDBACKFN 184890 . 186246) (CLOSEDWIRE.REGIONFN 186248 . 187233) ( -CLOSEDWIRE.GLOBALREGIONFN 187235 . 188287) (SK.WIRE.CREATE 188289 . 190052) (WIRE.ADD.POINT.TO.END -190054 . 190970) (READ.ARROW.CHANGE 190972 . 196448) (CHANGE.ELTS.ARROWHEADS 196450 . 196912)) (196915 - 207921 (SKETCH.CREATE.CLOSED.WIRE 196925 . 197486) (CLOSED.WIRE.INPUTFN 197488 . 197843) ( -CLOSED.WIRE.DRAWFN 197845 . 199890) (CLOSEDWIRE.READCHANGEFN 199892 . 204797) (CLOSEDWIRE.TRANSFORMFN -204799 . 206593) (CLOSEDWIRE.TRANSLATEPTSFN 206595 . 207919)) (207922 260628 (SK.EXPAND.ARROWHEADS -207932 . 208282) (SK.COMPUTE.ARC.ARROWHEAD.POINTS 208284 . 209665) (ARC.ARROWHEAD.POINTS 209667 . -210890) (SET.ARC.ARROWHEAD.POINTS 210892 . 211873) (SET.OPENCURVE.ARROWHEAD.POINTS 211875 . 212776) ( -SK.COMPUTE.CURVE.ARROWHEAD.POINTS 212778 . 214048) (SET.WIRE.ARROWHEAD.POINTS 214050 . 214803) ( -SK.COMPUTE.WIRE.ARROWHEAD.POINTS 214805 . 216070) (SK.EXPAND.ARROWHEAD 216072 . 217255) (CHANGED.ARROW - 217257 . 220429) (SK.CHANGE.ARROWHEAD 220431 . 220884) (SK.CHANGE.ARROWHEAD1 220886 . 226141) ( -SK.CREATE.ARROWHEAD 226143 . 226663) (SK.ARROWHEAD.CREATE 226665 . 228239) (SK.ARROWHEAD.END.TEST -228241 . 229165) (READ.ARROWHEAD.END 229167 . 231192) (ARROW.HEAD.POSITIONS 231194 . 233034) ( -ARROWHEAD.POINTS.LIST 233036 . 237008) (CURVE.ARROWHEAD.POINTS 237010 . 237873) (LEFT.MOST.IS.BEGINP -237875 . 238756) (WIRE.ARROWHEAD.POINTS 238758 . 240284) (DRAWARROWHEADS 240286 . 242656) ( -\SK.DRAW.TRIANGLE.ARROWHEAD 242658 . 244318) (\SK.ENDPT.OF.ARROW 244320 . 246577) ( -\SK.ADJUST.FOR.ARROWHEADS 246579 . 249084) (SK.SET.ARROWHEAD.LENGTH 249086 . 250230) ( -SK.SET.ARROWHEAD.ANGLE 250232 . 251328) (SK.SET.ARROWHEAD.TYPE 251330 . 254619) (SK.SET.LINE.ARROWHEAD - 254621 . 257034) (SK.UPDATE.ARROWHEAD.FORMAT 257036 . 259146) (SK.SET.LINE.LENGTH.MODE 259148 . -260626)) (260629 262430 (SK.INSURE.ARROWHEADS 260639 . 261821) (SK.ARROWHEADP 261823 . 262428)) ( -265227 328477 (SKETCH.CREATE.TEXT 265237 . 265751) (TEXT.CHANGEFN 265753 . 266145) (TEXT.READCHANGEFN -266147 . 274218) (\SK.READ.FONT.SIZE1 274220 . 276116) (SK.TEXT.ELT.WITH.SAME.FIELDS 276118 . 277758) -(SK.READFONTFAMILY 277760 . 280230) (CLOSE.PROMPT.WINDOW 280232 . 280656) (TEXT.DRAWFN 280658 . 281379 -) (TEXT.DRAWFN1 281381 . 284883) (TEXT.INSIDEFN 284885 . 285274) (TEXT.EXPANDFN 285276 . 287401) ( -SK.TEXT.LINE.REGIONS 287403 . 289277) (TEXT.UPDATE.GLOBAL.REGIONS 289279 . 290511) (REL.MOVE.REGION -290513 . 291050) (LTEXT.LINE.REGIONS 291052 . 294470) (TEXT.INPUTFN 294472 . 294982) (READ.TEXT 294984 - . 295732) (TEXT.POSITION.AND.CREATE 295734 . 298045) (CREATE.TEXT.ELEMENT 298047 . 298865) ( -SK.UPDATE.TEXT.AFTER.CHANGE 298867 . 299269) (SK.TEXT.FROM.TEXTBOX 299271 . 303077) ( -TEXT.SET.GLOBAL.REGIONS 303079 . 304372) (TEXT.REGIONFN 304374 . 305144) (TEXT.GLOBALREGIONFN 305146 - . 305834) (TEXT.TRANSLATEFN 305836 . 307151) (TEXT.TRANSFORMFN 307153 . 308276) (TEXT.TRANSLATEPTSFN -308278 . 308795) (TEXT.UPDATEFN 308797 . 313453) (SK.CHANGE.TEXT 313455 . 326543) (TEXT.SET.SCALES -326545 . 327513) (BREAK.AT.CARRIAGE.RETURNS 327515 . 328475)) (328478 341098 (SK.PICK.FONT 328488 . -332760) (SK.CHOOSE.TEXT.FONT 332762 . 337033) (SK.NEXTSIZEFONT 337035 . 338302) ( -SK.DECREASING.FONT.LIST 338304 . 341096)) (341517 353191 (SK.SET.FONT 341527 . 342794) ( -SK.SET.TEXT.FONT 342796 . 343798) (SK.SET.TEXT.SIZE 343800 . 344487) (SK.SET.TEXT.HORIZ.ALIGN 344489 - . 346063) (SK.READFONTSIZE 346065 . 347963) (SK.COLLECT.FONT.SIZES 347965 . 349046) ( -SK.SET.TEXT.VERT.ALIGN 349048 . 351090) (SK.SET.TEXT.LOOKS 351092 . 352549) (SK.SET.DEFAULT.TEXT.FACE -352551 . 353189)) (353192 353778 (CREATE.SKETCH.TERMTABLE 353202 . 353776)) (353779 355545 ( -SK.FONT.LIST 353789 . 354115) (SK.INSURE.FONT 354117 . 354639) (SK.INSURE.STYLE 354641 . 355159) ( -SK.INSURE.TEXT 355161 . 355543)) (356085 413378 (SKETCH.CREATE.TEXTBOX 356095 . 357737) ( -SK.COMPUTE.TEXTBOX.REGION.FOR.STRING 357739 . 359816) (SK.BREAK.INTO.LINES 359818 . 371004) ( -SK.BRUSH.SIZE 371006 . 371387) (SK.TEXTBOX.CREATE 371389 . 372186) (SK.TEXTBOX.CREATE1 372188 . 373252 -) (SK.UPDATE.TEXTBOX.AFTER.CHANGE 373254 . 373794) (SK.TEXTBOX.POSITION.IN.BOX 373796 . 375707) ( -TEXTBOX.CHANGEFN 375709 . 376183) (TEXTBOX.DRAWFN 376185 . 378221) (SK.TEXTURE.AROUND.REGIONS 378223 - . 384296) (ALL.EMPTY.REGIONS 384298 . 384788) (TEXTBOX.EXPANDFN 384790 . 391946) (TEXTBOX.INPUTFN -391948 . 393561) (TEXTBOX.INSIDEFN 393563 . 393976) (TEXTBOX.REGIONFN 393978 . 394832) ( -TEXTBOX.GLOBALREGIONFN 394834 . 395162) (TEXTBOX.SET.GLOBAL.REGIONS 395164 . 396495) ( -TEXTBOX.TRANSLATEFN 396497 . 398338) (TEXTBOX.TRANSLATEPTSFN 398340 . 401123) (TEXTBOX.TRANSFORMFN -401125 . 402793) (TEXTBOX.UPDATEFN 402795 . 404688) (TEXTBOX.READCHANGEFN 404690 . 409579) ( -SK.TEXTBOX.TEXT.POSITION 409581 . 410002) (SK.TEXTBOX.FROM.TEXT 410004 . 412609) (ADD.EOLS 412611 . -413376)) (413907 417408 (SK.SET.TEXTBOX.VERT.ALIGN 413917 . 415797) (SK.SET.TEXTBOX.HORIZ.ALIGN 415799 - . 417406)) (417791 462266 (SKETCH.CREATE.BOX 417801 . 418284) (SK.BOX.DRAWFN 418286 . 419445) ( -BOX.DRAWFN1 419447 . 422286) (KNOTS.OF.REGION 422288 . 423522) (SK.DRAWAREABOX 423524 . 430125) ( -SK.DRAWBOX 430127 . 431316) (SK.BOX.EXPANDFN 431318 . 435066) (SK.BOX.GETREGIONFN 435068 . 436254) ( -BOX.SET.SCALES 436256 . 437496) (SK.BOX.INPUTFN 437498 . 439431) (SK.BOX.CREATE 439433 . 440134) ( -SK.UPDATE.BOX.AFTER.CHANGE 440136 . 440647) (SK.BOX.INSIDEFN 440649 . 441039) (SK.BOX.REGIONFN 441041 - . 441754) (SK.BOX.GLOBALREGIONFN 441756 . 442494) (SK.BOX.READCHANGEFN 442496 . 446217) ( -SK.CHANGE.FILLING 446219 . 450167) (SK.CHANGE.FILLING.COLOR 450169 . 453825) (SK.BOX.TRANSLATEFN -453827 . 455006) (SK.BOX.TRANSFORMFN 455008 . 455953) (SK.BOX.TRANSLATEPTSFN 455955 . 458323) ( -UNSCALE.REGION.TO.GRID 458325 . 459250) (INCREASEREGION 459252 . 459843) (INSUREREGIONSIZE 459845 . -461016) (EXPANDREGION 461018 . 461898) (REGION.FROM.COORDINATES 461900 . 462264)) (462802 489157 ( -SKETCH.CREATE.ARC 462812 . 463621) (ARC.DRAWFN 463623 . 465350) (ARC.EXPANDFN 465352 . 467685) ( -ARC.INPUTFN 467687 . 471905) (SK.INVERT.CIRCLE 471907 . 472767) (SK.READ.ARC.ANGLE.POINT 472769 . -473276) (SK.SHOW.ARC 473278 . 473888) (ARC.CREATE 473890 . 475245) (SK.UPDATE.ARC.AFTER.CHANGE 475247 - . 475587) (ARC.MOVEFN 475589 . 477172) (ARC.TRANSLATEPTS 477174 . 479059) (ARC.INSIDEFN 479061 . -479311) (ARC.REGIONFN 479313 . 480449) (ARC.GLOBALREGIONFN 480451 . 482173) (ARC.TRANSLATE 482175 . -483157) (ARC.TRANSFORMFN 483159 . 486109) (ARC.READCHANGEFN 486111 . 489155)) (489158 498237 ( -SK.COMPUTE.ARC.ANGLE.PT 489168 . 490094) (SK.COMPUTE.ARC.ANGLE.PT.FROM.ANGLE 490096 . 491089) ( -SK.COMPUTE.ARC.PTS 491091 . 494663) (SK.SET.ARC.DIRECTION 494665 . 495239) (SK.SET.ARC.DIRECTION.CW -495241 . 495415) (SK.SET.ARC.DIRECTION.CCW 495417 . 495690) (SK.COMPUTE.SLOPE.OF.LINE 495692 . 496184) - (SK.CREATE.ARC.USING 496186 . 497423) (SET.ARC.SCALES 497425 . 498235)) (498238 498683 ( -SK.INSURE.DIRECTION 498248 . 498681)) (500054 545913 (GETSKETCHELEMENTPROP 500064 . 501372) ( -\SK.GET.ARC.ANGLEPT 501374 . 501935) (\GETSKETCHELEMENTPROP1 501937 . 502191) (\SK.GET.BRUSH 502193 . -503117) (\SK.GET.FILLING 503119 . 504217) (\SK.GET.ARROWHEADS 504219 . 504998) (\SK.GET.FONT 505000 . -505480) (\SK.GET.JUSTIFICATION 505482 . 506006) (\SK.GET.DIRECTION 506008 . 506485) (\SK.GET.DASHING -506487 . 507506) (PUTSKETCHELEMENTPROP 507508 . 509777) (\SK.PUT.FILLING 509779 . 511049) ( -ADDSKETCHELEMENTPROP 511051 . 511856) (REMOVESKETCHELEMENTPROP 511858 . 512647) (\SK.PUT.FONT 512649 - . 513463) (\SK.PUT.JUSTIFICATION 513465 . 514476) (\SK.PUT.DIRECTION 514478 . 515085) ( -\SK.PUT.DASHING 515087 . 516422) (\SK.PUT.BRUSH 516424 . 518343) (\SK.PUT.ARROWHEADS 518345 . 520311) -(SK.COPY.ELEMENT.PROPERTY.LIST 520313 . 520889) (SKETCH.UPDATE 520891 . 521621) (SKETCH.UPDATE1 521623 - . 522911) (\SKELT.GET.SCALE 522913 . 523901) (\SKELT.PUT.SCALE 523903 . 525210) (\SKELT.PUT.DATA -525212 . 527009) (SK.REPLACE.TEXT.IN.ELEMENT 527011 . 527964) (\SKELT.GET.DATA 527966 . 529033) ( -\SK.GET.1STCONTROLPT 529035 . 530547) (\SK.PUT.1STCONTROLPT 530549 . 536022) (\SK.GET.2NDCONTROLPT -536024 . 536939) (\SK.PUT.2NDCONTROLPT 536941 . 541129) (\SK.GET.3RDCONTROLPT 541131 . 542009) ( -\SK.PUT.3RDCONTROLPT 542011 . 545911)) (545914 546495 (LOWERLEFTCORNER 545924 . 546170) ( -UPPERRIGHTCORNER 546172 . 546493))))) + (FILEMAP (NIL (14485 24895 (INIT.SKETCH.ELEMENTS 14495 . 22058) (CREATE.SKETCH.ELEMENT.TYPE 22060 . +23582) (SKETCH.ELEMENT.TYPEP 23584 . 23972) (SKETCH.ELEMENT.NAMEP 23974 . 24237) ( +\CURSOR.IN.MIDDLE.MENU 24239 . 24893)) (24936 25613 (SKETCHINCOLORP 24946 . 25266) (READ.COLOR.CHANGE +25268 . 25611)) (26122 28901 (SK.CREATE.DEFAULT.FILLING 26132 . 26433) (SKFILLINGP 26435 . 27068) ( +SK.INSURE.FILLING 27070 . 28498) (SK.INSURE.COLOR 28500 . 28899)) (28902 34512 (SK.TRANSLATE.MODE +28912 . 29694) (SK.CHANGE.FILLING.MODE 29696 . 33279) (READ.FILLING.MODE 33281 . 34510)) (34513 65187 +(SKETCH.CREATE.CIRCLE 34523 . 35335) (CIRCLE.EXPANDFN 35337 . 38709) (CIRCLE.DRAWFN 38711 . 41712) ( +\CIRCLE.DRAWFN1 41714 . 44309) (CIRCLE.INPUTFN 44311 . 46160) (SK.UPDATE.CIRCLE.AFTER.CHANGE 46162 . +46521) (SK.READ.CIRCLE.POINT 46523 . 46994) (SK.SHOW.CIRCLE 46996 . 47642) (CIRCLE.INSIDEFN 47644 . +47909) (CIRCLE.REGIONFN 47911 . 49592) (CIRCLE.GLOBALREGIONFN 49594 . 51112) (CIRCLE.TRANSLATE 51114 + . 52975) (CIRCLE.READCHANGEFN 52977 . 57593) (CIRCLE.TRANSFORMFN 57595 . 59448) (CIRCLE.TRANSLATEPTS +59450 . 61064) (SK.CIRCLE.CREATE 61066 . 61909) (SET.CIRCLE.SCALE 61911 . 62677) (SK.BRUSH.READCHANGE +62679 . 65185)) (65188 65917 (SK.INSURE.BRUSH 65198 . 65592) (SK.INSURE.DASHING 65594 . 65915)) (67131 + 96625 (SKETCH.CREATE.ELLIPSE 67141 . 67740) (ELLIPSE.EXPANDFN 67742 . 71354) (ELLIPSE.DRAWFN 71356 . +75533) (ELLIPSE.INPUTFN 75535 . 77975) (SK.READ.ELLIPSE.MAJOR.PT 77977 . 78556) ( +SK.SHOW.ELLIPSE.MAJOR.RADIUS 78558 . 79313) (SK.READ.ELLIPSE.MINOR.PT 79315 . 80008) ( +SK.SHOW.ELLIPSE.MINOR.RADIUS 80010 . 80842) (ELLIPSE.INSIDEFN 80844 . 81114) (ELLIPSE.CREATE 81116 . +82491) (SK.UPDATE.ELLIPSE.AFTER.CHANGE 82493 . 82861) (ELLIPSE.REGIONFN 82863 . 85063) ( +ELLIPSE.GLOBALREGIONFN 85065 . 86878) (ELLIPSE.TRANSLATEFN 86880 . 89426) (ELLIPSE.TRANSFORMFN 89428 + . 90705) (ELLIPSE.TRANSLATEPTS 90707 . 92748) (MARK.SPOT 92750 . 94001) (DISTANCEBETWEEN 94003 . +94598) (SK.DISTANCE.TO 94600 . 94985) (SQUARE 94987 . 95029) (COMPUTE.ELLIPSE.ORIENTATION 95031 . +95750) (SK.COMPUTE.ELLIPSE.MINOR.RADIUS.PT 95752 . 96623)) (97738 138794 (SKETCH.CREATE.OPEN.CURVE +97748 . 98301) (OPENCURVE.INPUTFN 98303 . 99171) (SK.CURVE.CREATE 99173 . 100918) (MAXXEXTENT 100920 + . 101779) (MAXYEXTENT 101781 . 102641) (KNOT.SET.SCALE.FIELD 102643 . 103445) (OPENCURVE.DRAWFN +103447 . 104578) (OPENCURVE.EXPANDFN 104580 . 107895) (OPENCURVE.READCHANGEFN 107897 . 111099) ( +OPENCURVE.TRANSFORMFN 111101 . 113599) (OPENCURVE.TRANSLATEFN 113601 . 114023) ( +OPENCURVE.TRANSLATEPTSFN 114025 . 115406) (SKETCH.CREATE.CLOSED.CURVE 115408 . 115914) ( +CLOSEDCURVE.DRAWFN 115916 . 116700) (CLOSEDCURVE.EXPANDFN 116702 . 119815) (CLOSEDCURVE.REGIONFN +119817 . 120614) (CLOSEDCURVE.GLOBALREGIONFN 120616 . 122049) (READ.LIST.OF.POINTS 122051 . 124030) ( +CLOSEDCURVE.INPUTFN 124032 . 124677) (CLOSEDCURVE.READCHANGEFN 124679 . 127574) ( +CLOSEDCURVE.TRANSFORMFN 127576 . 129376) (CLOSEDCURVE.TRANSLATEPTSFN 129378 . 130723) (INVISIBLEPARTP +130725 . 131078) (SHOWSKETCHPOINT 131080 . 131385) (SHOWSKETCHXY 131387 . 131905) (KNOTS.REGIONFN +131907 . 132808) (OPENWIRE.GLOBALREGIONFN 132810 . 133674) (CURVE.REGIONFN 133676 . 134617) ( +OPENCURVE.GLOBALREGIONFN 134619 . 136026) (KNOTS.TRANSLATEFN 136028 . 137071) (REGION.CONTAINING.PTS +137073 . 138792)) (138795 161071 (CHANGE.ELTS.BRUSH.SIZE 138805 . 139415) (CHANGE.ELTS.BRUSH 139417 . +139934) (CHANGE.ELTS.BRUSH.SHAPE 139936 . 140337) (SK.CHANGE.BRUSH.SHAPE 140339 . 143851) ( +SK.CHANGE.BRUSH.COLOR 143853 . 148299) (SK.CHANGE.BRUSH.SIZE 148301 . 153259) (SK.CHANGE.ANGLE 153261 + . 156241) (SK.CHANGE.ARC.DIRECTION 156243 . 158622) (SK.SET.DEFAULT.BRUSH.SIZE 158624 . 159323) ( +READSIZECHANGE 159325 . 161069)) (161072 162691 (SK.CHANGE.ELEMENT.KNOTS 161082 . 162689)) (162692 +163339 (SK.INSURE.POINT.LIST 162702 . 163155) (SK.INSURE.POSITION 163157 . 163337)) (164707 197030 ( +SKETCH.CREATE.WIRE 164717 . 165207) (CLOSEDWIRE.EXPANDFN 165209 . 167897) (KNOTS.INSIDEFN 167899 . +168620) (OPEN.WIRE.DRAWFN 168622 . 169214) (WIRE.EXPANDFN 169216 . 172463) ( +SK.UPDATE.WIRE.ELT.AFTER.CHANGE 172465 . 172986) (OPENWIRE.READCHANGEFN 172988 . 175481) ( +OPENWIRE.TRANSFORMFN 175483 . 177606) (OPENWIRE.TRANSLATEFN 177608 . 178032) (OPENWIRE.TRANSLATEPTSFN +178034 . 179313) (WIRE.INPUTFN 179315 . 180946) (SK.READ.WIRE.POINTS 180948 . 181479) ( +SK.READ.POINTS.WITH.FEEDBACK 181481 . 184248) (OPENWIRE.FEEDBACKFN 184250 . 185004) ( +CLOSEDWIRE.FEEDBACKFN 185006 . 186362) (CLOSEDWIRE.REGIONFN 186364 . 187349) ( +CLOSEDWIRE.GLOBALREGIONFN 187351 . 188403) (SK.WIRE.CREATE 188405 . 190168) (WIRE.ADD.POINT.TO.END +190170 . 191086) (READ.ARROW.CHANGE 191088 . 196564) (CHANGE.ELTS.ARROWHEADS 196566 . 197028)) (197031 + 208037 (SKETCH.CREATE.CLOSED.WIRE 197041 . 197602) (CLOSED.WIRE.INPUTFN 197604 . 197959) ( +CLOSED.WIRE.DRAWFN 197961 . 200006) (CLOSEDWIRE.READCHANGEFN 200008 . 204913) (CLOSEDWIRE.TRANSFORMFN +204915 . 206709) (CLOSEDWIRE.TRANSLATEPTSFN 206711 . 208035)) (208038 260744 (SK.EXPAND.ARROWHEADS +208048 . 208398) (SK.COMPUTE.ARC.ARROWHEAD.POINTS 208400 . 209781) (ARC.ARROWHEAD.POINTS 209783 . +211006) (SET.ARC.ARROWHEAD.POINTS 211008 . 211989) (SET.OPENCURVE.ARROWHEAD.POINTS 211991 . 212892) ( +SK.COMPUTE.CURVE.ARROWHEAD.POINTS 212894 . 214164) (SET.WIRE.ARROWHEAD.POINTS 214166 . 214919) ( +SK.COMPUTE.WIRE.ARROWHEAD.POINTS 214921 . 216186) (SK.EXPAND.ARROWHEAD 216188 . 217371) (CHANGED.ARROW + 217373 . 220545) (SK.CHANGE.ARROWHEAD 220547 . 221000) (SK.CHANGE.ARROWHEAD1 221002 . 226257) ( +SK.CREATE.ARROWHEAD 226259 . 226779) (SK.ARROWHEAD.CREATE 226781 . 228355) (SK.ARROWHEAD.END.TEST +228357 . 229281) (READ.ARROWHEAD.END 229283 . 231308) (ARROW.HEAD.POSITIONS 231310 . 233150) ( +ARROWHEAD.POINTS.LIST 233152 . 237124) (CURVE.ARROWHEAD.POINTS 237126 . 237989) (LEFT.MOST.IS.BEGINP +237991 . 238872) (WIRE.ARROWHEAD.POINTS 238874 . 240400) (DRAWARROWHEADS 240402 . 242772) ( +\SK.DRAW.TRIANGLE.ARROWHEAD 242774 . 244434) (\SK.ENDPT.OF.ARROW 244436 . 246693) ( +\SK.ADJUST.FOR.ARROWHEADS 246695 . 249200) (SK.SET.ARROWHEAD.LENGTH 249202 . 250346) ( +SK.SET.ARROWHEAD.ANGLE 250348 . 251444) (SK.SET.ARROWHEAD.TYPE 251446 . 254735) (SK.SET.LINE.ARROWHEAD + 254737 . 257150) (SK.UPDATE.ARROWHEAD.FORMAT 257152 . 259262) (SK.SET.LINE.LENGTH.MODE 259264 . +260742)) (260745 262546 (SK.INSURE.ARROWHEADS 260755 . 261937) (SK.ARROWHEADP 261939 . 262544)) ( +265343 327072 (SKETCH.CREATE.TEXT 265353 . 265867) (TEXT.CHANGEFN 265869 . 266261) (TEXT.READCHANGEFN +266263 . 274334) (\SK.READ.FONT.SIZE1 274336 . 276502) (SK.TEXT.ELT.WITH.SAME.FIELDS 276504 . 278144) +(SK.READFONTFAMILY 278146 . 280616) (CLOSE.PROMPT.WINDOW 280618 . 281042) (TEXT.DRAWFN 281044 . 281765 +) (TEXT.DRAWFN1 281767 . 285269) (TEXT.INSIDEFN 285271 . 285660) (TEXT.EXPANDFN 285662 . 287787) ( +SK.TEXT.LINE.REGIONS 287789 . 289663) (TEXT.UPDATE.GLOBAL.REGIONS 289665 . 290897) (REL.MOVE.REGION +290899 . 291436) (LTEXT.LINE.REGIONS 291438 . 294856) (TEXT.INPUTFN 294858 . 295368) (READ.TEXT 295370 + . 296118) (TEXT.POSITION.AND.CREATE 296120 . 298431) (CREATE.TEXT.ELEMENT 298433 . 299251) ( +SK.UPDATE.TEXT.AFTER.CHANGE 299253 . 299655) (SK.TEXT.FROM.TEXTBOX 299657 . 303463) ( +TEXT.SET.GLOBAL.REGIONS 303465 . 304758) (TEXT.REGIONFN 304760 . 305530) (TEXT.GLOBALREGIONFN 305532 + . 306220) (TEXT.TRANSLATEFN 306222 . 307537) (TEXT.TRANSFORMFN 307539 . 308662) (TEXT.TRANSLATEPTSFN +308664 . 309181) (TEXT.UPDATEFN 309183 . 313839) (SK.CHANGE.TEXT 313841 . 323992) (SK.CHANGE.FONT +323994 . 325138) (TEXT.SET.SCALES 325140 . 326108) (BREAK.AT.CARRIAGE.RETURNS 326110 . 327070)) ( +327073 340058 (SK.PICK.FONT 327083 . 331355) (SK.CHOOSE.TEXT.FONT 331357 . 335628) (SK.NEXTSIZEFONT +335630 . 337262) (SK.DECREASING.FONT.LIST 337264 . 340056)) (340477 352151 (SK.SET.FONT 340487 . +341754) (SK.SET.TEXT.FONT 341756 . 342758) (SK.SET.TEXT.SIZE 342760 . 343447) (SK.SET.TEXT.HORIZ.ALIGN + 343449 . 345023) (SK.READFONTSIZE 345025 . 346923) (SK.COLLECT.FONT.SIZES 346925 . 348006) ( +SK.SET.TEXT.VERT.ALIGN 348008 . 350050) (SK.SET.TEXT.LOOKS 350052 . 351509) (SK.SET.DEFAULT.TEXT.FACE +351511 . 352149)) (352152 352738 (CREATE.SKETCH.TERMTABLE 352162 . 352736)) (352739 354505 ( +SK.FONT.LIST 352749 . 353075) (SK.INSURE.FONT 353077 . 353599) (SK.INSURE.STYLE 353601 . 354119) ( +SK.INSURE.TEXT 354121 . 354503)) (355045 412338 (SKETCH.CREATE.TEXTBOX 355055 . 356697) ( +SK.COMPUTE.TEXTBOX.REGION.FOR.STRING 356699 . 358776) (SK.BREAK.INTO.LINES 358778 . 369964) ( +SK.BRUSH.SIZE 369966 . 370347) (SK.TEXTBOX.CREATE 370349 . 371146) (SK.TEXTBOX.CREATE1 371148 . 372212 +) (SK.UPDATE.TEXTBOX.AFTER.CHANGE 372214 . 372754) (SK.TEXTBOX.POSITION.IN.BOX 372756 . 374667) ( +TEXTBOX.CHANGEFN 374669 . 375143) (TEXTBOX.DRAWFN 375145 . 377181) (SK.TEXTURE.AROUND.REGIONS 377183 + . 383256) (ALL.EMPTY.REGIONS 383258 . 383748) (TEXTBOX.EXPANDFN 383750 . 390906) (TEXTBOX.INPUTFN +390908 . 392521) (TEXTBOX.INSIDEFN 392523 . 392936) (TEXTBOX.REGIONFN 392938 . 393792) ( +TEXTBOX.GLOBALREGIONFN 393794 . 394122) (TEXTBOX.SET.GLOBAL.REGIONS 394124 . 395455) ( +TEXTBOX.TRANSLATEFN 395457 . 397298) (TEXTBOX.TRANSLATEPTSFN 397300 . 400083) (TEXTBOX.TRANSFORMFN +400085 . 401753) (TEXTBOX.UPDATEFN 401755 . 403648) (TEXTBOX.READCHANGEFN 403650 . 408539) ( +SK.TEXTBOX.TEXT.POSITION 408541 . 408962) (SK.TEXTBOX.FROM.TEXT 408964 . 411569) (ADD.EOLS 411571 . +412336)) (412867 416368 (SK.SET.TEXTBOX.VERT.ALIGN 412877 . 414757) (SK.SET.TEXTBOX.HORIZ.ALIGN 414759 + . 416366)) (416751 461226 (SKETCH.CREATE.BOX 416761 . 417244) (SK.BOX.DRAWFN 417246 . 418405) ( +BOX.DRAWFN1 418407 . 421246) (KNOTS.OF.REGION 421248 . 422482) (SK.DRAWAREABOX 422484 . 429085) ( +SK.DRAWBOX 429087 . 430276) (SK.BOX.EXPANDFN 430278 . 434026) (SK.BOX.GETREGIONFN 434028 . 435214) ( +BOX.SET.SCALES 435216 . 436456) (SK.BOX.INPUTFN 436458 . 438391) (SK.BOX.CREATE 438393 . 439094) ( +SK.UPDATE.BOX.AFTER.CHANGE 439096 . 439607) (SK.BOX.INSIDEFN 439609 . 439999) (SK.BOX.REGIONFN 440001 + . 440714) (SK.BOX.GLOBALREGIONFN 440716 . 441454) (SK.BOX.READCHANGEFN 441456 . 445177) ( +SK.CHANGE.FILLING 445179 . 449127) (SK.CHANGE.FILLING.COLOR 449129 . 452785) (SK.BOX.TRANSLATEFN +452787 . 453966) (SK.BOX.TRANSFORMFN 453968 . 454913) (SK.BOX.TRANSLATEPTSFN 454915 . 457283) ( +UNSCALE.REGION.TO.GRID 457285 . 458210) (INCREASEREGION 458212 . 458803) (INSUREREGIONSIZE 458805 . +459976) (EXPANDREGION 459978 . 460858) (REGION.FROM.COORDINATES 460860 . 461224)) (461762 488117 ( +SKETCH.CREATE.ARC 461772 . 462581) (ARC.DRAWFN 462583 . 464310) (ARC.EXPANDFN 464312 . 466645) ( +ARC.INPUTFN 466647 . 470865) (SK.INVERT.CIRCLE 470867 . 471727) (SK.READ.ARC.ANGLE.POINT 471729 . +472236) (SK.SHOW.ARC 472238 . 472848) (ARC.CREATE 472850 . 474205) (SK.UPDATE.ARC.AFTER.CHANGE 474207 + . 474547) (ARC.MOVEFN 474549 . 476132) (ARC.TRANSLATEPTS 476134 . 478019) (ARC.INSIDEFN 478021 . +478271) (ARC.REGIONFN 478273 . 479409) (ARC.GLOBALREGIONFN 479411 . 481133) (ARC.TRANSLATE 481135 . +482117) (ARC.TRANSFORMFN 482119 . 485069) (ARC.READCHANGEFN 485071 . 488115)) (488118 497197 ( +SK.COMPUTE.ARC.ANGLE.PT 488128 . 489054) (SK.COMPUTE.ARC.ANGLE.PT.FROM.ANGLE 489056 . 490049) ( +SK.COMPUTE.ARC.PTS 490051 . 493623) (SK.SET.ARC.DIRECTION 493625 . 494199) (SK.SET.ARC.DIRECTION.CW +494201 . 494375) (SK.SET.ARC.DIRECTION.CCW 494377 . 494650) (SK.COMPUTE.SLOPE.OF.LINE 494652 . 495144) + (SK.CREATE.ARC.USING 495146 . 496383) (SET.ARC.SCALES 496385 . 497195)) (497198 497643 ( +SK.INSURE.DIRECTION 497208 . 497641)) (499014 544873 (GETSKETCHELEMENTPROP 499024 . 500332) ( +\SK.GET.ARC.ANGLEPT 500334 . 500895) (\GETSKETCHELEMENTPROP1 500897 . 501151) (\SK.GET.BRUSH 501153 . +502077) (\SK.GET.FILLING 502079 . 503177) (\SK.GET.ARROWHEADS 503179 . 503958) (\SK.GET.FONT 503960 . +504440) (\SK.GET.JUSTIFICATION 504442 . 504966) (\SK.GET.DIRECTION 504968 . 505445) (\SK.GET.DASHING +505447 . 506466) (PUTSKETCHELEMENTPROP 506468 . 508737) (\SK.PUT.FILLING 508739 . 510009) ( +ADDSKETCHELEMENTPROP 510011 . 510816) (REMOVESKETCHELEMENTPROP 510818 . 511607) (\SK.PUT.FONT 511609 + . 512423) (\SK.PUT.JUSTIFICATION 512425 . 513436) (\SK.PUT.DIRECTION 513438 . 514045) ( +\SK.PUT.DASHING 514047 . 515382) (\SK.PUT.BRUSH 515384 . 517303) (\SK.PUT.ARROWHEADS 517305 . 519271) +(SK.COPY.ELEMENT.PROPERTY.LIST 519273 . 519849) (SKETCH.UPDATE 519851 . 520581) (SKETCH.UPDATE1 520583 + . 521871) (\SKELT.GET.SCALE 521873 . 522861) (\SKELT.PUT.SCALE 522863 . 524170) (\SKELT.PUT.DATA +524172 . 525969) (SK.REPLACE.TEXT.IN.ELEMENT 525971 . 526924) (\SKELT.GET.DATA 526926 . 527993) ( +\SK.GET.1STCONTROLPT 527995 . 529507) (\SK.PUT.1STCONTROLPT 529509 . 534982) (\SK.GET.2NDCONTROLPT +534984 . 535899) (\SK.PUT.2NDCONTROLPT 535901 . 540089) (\SK.GET.3RDCONTROLPT 540091 . 540969) ( +\SK.PUT.3RDCONTROLPT 540971 . 544871)) (544874 545455 (LOWERLEFTCORNER 544884 . 545130) ( +UPPERRIGHTCORNER 545132 . 545453))))) STOP diff --git a/library/sketch/SKETCH-ELEMENTS.LCOM b/library/sketch/SKETCH-ELEMENTS.LCOM index c26fdc957e1a9826539efc29e775b280c237fb95..68be46eaff648d2f5af31185b668b0bef0ddd4b2 100644 GIT binary patch delta 2866 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 delta 1217 zcmbVMPe>F|9A=)T>=QFh!l>l8qv(w8Y&-i;Tw!JZjJmlyv$-SqC(3DeTxHc+celDk zd#F_MRMNt>?N=6mxnhy%0=|OKN1yIW(~T_|^eXFAP5VX}#O z8BAUwk^De{x$3Vw-@$^XYEXZ`Ee2d73wWzgm*to_vfJOw*hr%z$av_@=S&B91|c=> z98qLd4ke^`ETw|S3za%DA%#?ltcH8YrlXh6?J)IQZyb+o^wSfjub$`m=BfLto)X_@TXHMPTnBCr(W$wM8!+=~g59pkE z!~1}Obk~kr=sQ5C8!^`hLqkBn1DbBaBa?DOjVUs4^oku_YQj7ZTttzh=Eh4qnrgvp za!J>UI;5A3qRvu*MN`cfILoJz_$ZKP$J8eLr{3OUQJ14!G9Yaf3VON(^F{$QxOy!M ziz`rC&|!XYNr$|a&S_cQ+|Wv}tQB%ah%2FJL`fv|j0Mq(kY3PMvU-L!$4UY>DJMb` z{vBOpH~I#NuVCa+6y8UvNQ+O9@FWintr1u&H|@})(?)Ytf>9d#+_EW$wLPSi#73Tm)c4;0j5 zhGH#_dgyBf9jEUV`(9j From f9a3ea6d56cde2531c5269e7f321fe2c84bcc6fa Mon Sep 17 00:00:00 2001 From: rmkaplan Date: Sat, 8 Nov 2025 14:03:35 -0800 Subject: [PATCH 6/6] Remove extra argument --- library/sketch/SKETCH-ELEMENTS | 124 ++++++++++++++-------------- library/sketch/SKETCH-ELEMENTS.LCOM | Bin 143548 -> 143565 bytes 2 files changed, 63 insertions(+), 61 deletions(-) diff --git a/library/sketch/SKETCH-ELEMENTS b/library/sketch/SKETCH-ELEMENTS index d99056300..77154fcfc 100644 --- a/library/sketch/SKETCH-ELEMENTS +++ b/library/sketch/SKETCH-ELEMENTS @@ -1,6 +1,6 @@ (DEFINE-FILE-INFO PACKAGE "INTERLISP" READTABLE "INTERLISP" BASE 10) -(FILECREATED " 7-Nov-2025 11:54:25" {WMEDLEY}SKETCH>SKETCH-ELEMENTS.;22 545478 +(FILECREATED " 8-Nov-2025 14:02:38" {WMEDLEY}SKETCH>SKETCH-ELEMENTS.;24 545649 :EDIT-BY rmk @@ -5198,7 +5198,8 @@ Click outside the window to stop.") (RETURN NEWSCREENELT]) (SK.CHANGE.TEXT - [LAMBDA (ELTWITHTEXT HOW SKW) (* ; "Edited 7-Nov-2025 09:05 by rmk") + [LAMBDA (ELTWITHTEXT HOW SKW) (* ; "Edited 8-Nov-2025 14:02 by rmk") + (* ; "Edited 7-Nov-2025 09:05 by rmk") (* ; "Edited 7-Apr-87 13:41 by rrb") (PROG ((COMMAND (CADR HOW)) (PROPERTY 'FONT) @@ -5256,7 +5257,7 @@ Click outside the window to stop.") (create TEXT using GINDTEXTELT TEXTSTYLE _ NEWVALUE)) (T (create TEXTBOX using GINDTEXTELT TEXTSTYLE _ NEWVALUE)))) ((BOLD UNBOLD ITALIC UNITALIC) (* ; "change the face") - (OR (SK.CHANGE.FONT SKW ELTWITHTEXT GINDTEXTELT NIL NIL + (OR [SK.CHANGE.FONT SKW ELTWITHTEXT NIL NIL (MAKEFONTFACE (SELECTQ COMMAND (BOLD 'BOLD) (UNBOLD 'MEDIUM) @@ -5266,7 +5267,8 @@ Click outside the window to stop.") (UNITALIC 'REGULAR) NIL) NIL - (fetch (TEXT FONT) of GINDTEXTELT))) + (FONTPROP (fetch (TEXT FONT) of GINDTEXTELT) + 'FACE] (RETURN))) (BOX (* ;  "RMK 2025: RETURN MEANS NO HISTORY?") @@ -9138,7 +9140,7 @@ ARROWHEAD.POINTS.LIST 233152 . 237124) (CURVE.ARROWHEAD.POINTS 237126 . 237989) SK.SET.ARROWHEAD.ANGLE 250348 . 251444) (SK.SET.ARROWHEAD.TYPE 251446 . 254735) (SK.SET.LINE.ARROWHEAD 254737 . 257150) (SK.UPDATE.ARROWHEAD.FORMAT 257152 . 259262) (SK.SET.LINE.LENGTH.MODE 259264 . 260742)) (260745 262546 (SK.INSURE.ARROWHEADS 260755 . 261937) (SK.ARROWHEADP 261939 . 262544)) ( -265343 327072 (SKETCH.CREATE.TEXT 265353 . 265867) (TEXT.CHANGEFN 265869 . 266261) (TEXT.READCHANGEFN +265343 327243 (SKETCH.CREATE.TEXT 265353 . 265867) (TEXT.CHANGEFN 265869 . 266261) (TEXT.READCHANGEFN 266263 . 274334) (\SK.READ.FONT.SIZE1 274336 . 276502) (SK.TEXT.ELT.WITH.SAME.FIELDS 276504 . 278144) (SK.READFONTFAMILY 278146 . 280616) (CLOSE.PROMPT.WINDOW 280618 . 281042) (TEXT.DRAWFN 281044 . 281765 ) (TEXT.DRAWFN1 281767 . 285269) (TEXT.INSIDEFN 285271 . 285660) (TEXT.EXPANDFN 285662 . 287787) ( @@ -9148,60 +9150,60 @@ SK.TEXT.LINE.REGIONS 287789 . 289663) (TEXT.UPDATE.GLOBAL.REGIONS 289665 . 29089 SK.UPDATE.TEXT.AFTER.CHANGE 299253 . 299655) (SK.TEXT.FROM.TEXTBOX 299657 . 303463) ( TEXT.SET.GLOBAL.REGIONS 303465 . 304758) (TEXT.REGIONFN 304760 . 305530) (TEXT.GLOBALREGIONFN 305532 . 306220) (TEXT.TRANSLATEFN 306222 . 307537) (TEXT.TRANSFORMFN 307539 . 308662) (TEXT.TRANSLATEPTSFN -308664 . 309181) (TEXT.UPDATEFN 309183 . 313839) (SK.CHANGE.TEXT 313841 . 323992) (SK.CHANGE.FONT -323994 . 325138) (TEXT.SET.SCALES 325140 . 326108) (BREAK.AT.CARRIAGE.RETURNS 326110 . 327070)) ( -327073 340058 (SK.PICK.FONT 327083 . 331355) (SK.CHOOSE.TEXT.FONT 331357 . 335628) (SK.NEXTSIZEFONT -335630 . 337262) (SK.DECREASING.FONT.LIST 337264 . 340056)) (340477 352151 (SK.SET.FONT 340487 . -341754) (SK.SET.TEXT.FONT 341756 . 342758) (SK.SET.TEXT.SIZE 342760 . 343447) (SK.SET.TEXT.HORIZ.ALIGN - 343449 . 345023) (SK.READFONTSIZE 345025 . 346923) (SK.COLLECT.FONT.SIZES 346925 . 348006) ( -SK.SET.TEXT.VERT.ALIGN 348008 . 350050) (SK.SET.TEXT.LOOKS 350052 . 351509) (SK.SET.DEFAULT.TEXT.FACE -351511 . 352149)) (352152 352738 (CREATE.SKETCH.TERMTABLE 352162 . 352736)) (352739 354505 ( -SK.FONT.LIST 352749 . 353075) (SK.INSURE.FONT 353077 . 353599) (SK.INSURE.STYLE 353601 . 354119) ( -SK.INSURE.TEXT 354121 . 354503)) (355045 412338 (SKETCH.CREATE.TEXTBOX 355055 . 356697) ( -SK.COMPUTE.TEXTBOX.REGION.FOR.STRING 356699 . 358776) (SK.BREAK.INTO.LINES 358778 . 369964) ( -SK.BRUSH.SIZE 369966 . 370347) (SK.TEXTBOX.CREATE 370349 . 371146) (SK.TEXTBOX.CREATE1 371148 . 372212 -) (SK.UPDATE.TEXTBOX.AFTER.CHANGE 372214 . 372754) (SK.TEXTBOX.POSITION.IN.BOX 372756 . 374667) ( -TEXTBOX.CHANGEFN 374669 . 375143) (TEXTBOX.DRAWFN 375145 . 377181) (SK.TEXTURE.AROUND.REGIONS 377183 - . 383256) (ALL.EMPTY.REGIONS 383258 . 383748) (TEXTBOX.EXPANDFN 383750 . 390906) (TEXTBOX.INPUTFN -390908 . 392521) (TEXTBOX.INSIDEFN 392523 . 392936) (TEXTBOX.REGIONFN 392938 . 393792) ( -TEXTBOX.GLOBALREGIONFN 393794 . 394122) (TEXTBOX.SET.GLOBAL.REGIONS 394124 . 395455) ( -TEXTBOX.TRANSLATEFN 395457 . 397298) (TEXTBOX.TRANSLATEPTSFN 397300 . 400083) (TEXTBOX.TRANSFORMFN -400085 . 401753) (TEXTBOX.UPDATEFN 401755 . 403648) (TEXTBOX.READCHANGEFN 403650 . 408539) ( -SK.TEXTBOX.TEXT.POSITION 408541 . 408962) (SK.TEXTBOX.FROM.TEXT 408964 . 411569) (ADD.EOLS 411571 . -412336)) (412867 416368 (SK.SET.TEXTBOX.VERT.ALIGN 412877 . 414757) (SK.SET.TEXTBOX.HORIZ.ALIGN 414759 - . 416366)) (416751 461226 (SKETCH.CREATE.BOX 416761 . 417244) (SK.BOX.DRAWFN 417246 . 418405) ( -BOX.DRAWFN1 418407 . 421246) (KNOTS.OF.REGION 421248 . 422482) (SK.DRAWAREABOX 422484 . 429085) ( -SK.DRAWBOX 429087 . 430276) (SK.BOX.EXPANDFN 430278 . 434026) (SK.BOX.GETREGIONFN 434028 . 435214) ( -BOX.SET.SCALES 435216 . 436456) (SK.BOX.INPUTFN 436458 . 438391) (SK.BOX.CREATE 438393 . 439094) ( -SK.UPDATE.BOX.AFTER.CHANGE 439096 . 439607) (SK.BOX.INSIDEFN 439609 . 439999) (SK.BOX.REGIONFN 440001 - . 440714) (SK.BOX.GLOBALREGIONFN 440716 . 441454) (SK.BOX.READCHANGEFN 441456 . 445177) ( -SK.CHANGE.FILLING 445179 . 449127) (SK.CHANGE.FILLING.COLOR 449129 . 452785) (SK.BOX.TRANSLATEFN -452787 . 453966) (SK.BOX.TRANSFORMFN 453968 . 454913) (SK.BOX.TRANSLATEPTSFN 454915 . 457283) ( -UNSCALE.REGION.TO.GRID 457285 . 458210) (INCREASEREGION 458212 . 458803) (INSUREREGIONSIZE 458805 . -459976) (EXPANDREGION 459978 . 460858) (REGION.FROM.COORDINATES 460860 . 461224)) (461762 488117 ( -SKETCH.CREATE.ARC 461772 . 462581) (ARC.DRAWFN 462583 . 464310) (ARC.EXPANDFN 464312 . 466645) ( -ARC.INPUTFN 466647 . 470865) (SK.INVERT.CIRCLE 470867 . 471727) (SK.READ.ARC.ANGLE.POINT 471729 . -472236) (SK.SHOW.ARC 472238 . 472848) (ARC.CREATE 472850 . 474205) (SK.UPDATE.ARC.AFTER.CHANGE 474207 - . 474547) (ARC.MOVEFN 474549 . 476132) (ARC.TRANSLATEPTS 476134 . 478019) (ARC.INSIDEFN 478021 . -478271) (ARC.REGIONFN 478273 . 479409) (ARC.GLOBALREGIONFN 479411 . 481133) (ARC.TRANSLATE 481135 . -482117) (ARC.TRANSFORMFN 482119 . 485069) (ARC.READCHANGEFN 485071 . 488115)) (488118 497197 ( -SK.COMPUTE.ARC.ANGLE.PT 488128 . 489054) (SK.COMPUTE.ARC.ANGLE.PT.FROM.ANGLE 489056 . 490049) ( -SK.COMPUTE.ARC.PTS 490051 . 493623) (SK.SET.ARC.DIRECTION 493625 . 494199) (SK.SET.ARC.DIRECTION.CW -494201 . 494375) (SK.SET.ARC.DIRECTION.CCW 494377 . 494650) (SK.COMPUTE.SLOPE.OF.LINE 494652 . 495144) - (SK.CREATE.ARC.USING 495146 . 496383) (SET.ARC.SCALES 496385 . 497195)) (497198 497643 ( -SK.INSURE.DIRECTION 497208 . 497641)) (499014 544873 (GETSKETCHELEMENTPROP 499024 . 500332) ( -\SK.GET.ARC.ANGLEPT 500334 . 500895) (\GETSKETCHELEMENTPROP1 500897 . 501151) (\SK.GET.BRUSH 501153 . -502077) (\SK.GET.FILLING 502079 . 503177) (\SK.GET.ARROWHEADS 503179 . 503958) (\SK.GET.FONT 503960 . -504440) (\SK.GET.JUSTIFICATION 504442 . 504966) (\SK.GET.DIRECTION 504968 . 505445) (\SK.GET.DASHING -505447 . 506466) (PUTSKETCHELEMENTPROP 506468 . 508737) (\SK.PUT.FILLING 508739 . 510009) ( -ADDSKETCHELEMENTPROP 510011 . 510816) (REMOVESKETCHELEMENTPROP 510818 . 511607) (\SK.PUT.FONT 511609 - . 512423) (\SK.PUT.JUSTIFICATION 512425 . 513436) (\SK.PUT.DIRECTION 513438 . 514045) ( -\SK.PUT.DASHING 514047 . 515382) (\SK.PUT.BRUSH 515384 . 517303) (\SK.PUT.ARROWHEADS 517305 . 519271) -(SK.COPY.ELEMENT.PROPERTY.LIST 519273 . 519849) (SKETCH.UPDATE 519851 . 520581) (SKETCH.UPDATE1 520583 - . 521871) (\SKELT.GET.SCALE 521873 . 522861) (\SKELT.PUT.SCALE 522863 . 524170) (\SKELT.PUT.DATA -524172 . 525969) (SK.REPLACE.TEXT.IN.ELEMENT 525971 . 526924) (\SKELT.GET.DATA 526926 . 527993) ( -\SK.GET.1STCONTROLPT 527995 . 529507) (\SK.PUT.1STCONTROLPT 529509 . 534982) (\SK.GET.2NDCONTROLPT -534984 . 535899) (\SK.PUT.2NDCONTROLPT 535901 . 540089) (\SK.GET.3RDCONTROLPT 540091 . 540969) ( -\SK.PUT.3RDCONTROLPT 540971 . 544871)) (544874 545455 (LOWERLEFTCORNER 544884 . 545130) ( -UPPERRIGHTCORNER 545132 . 545453))))) +308664 . 309181) (TEXT.UPDATEFN 309183 . 313839) (SK.CHANGE.TEXT 313841 . 324163) (SK.CHANGE.FONT +324165 . 325309) (TEXT.SET.SCALES 325311 . 326279) (BREAK.AT.CARRIAGE.RETURNS 326281 . 327241)) ( +327244 340229 (SK.PICK.FONT 327254 . 331526) (SK.CHOOSE.TEXT.FONT 331528 . 335799) (SK.NEXTSIZEFONT +335801 . 337433) (SK.DECREASING.FONT.LIST 337435 . 340227)) (340648 352322 (SK.SET.FONT 340658 . +341925) (SK.SET.TEXT.FONT 341927 . 342929) (SK.SET.TEXT.SIZE 342931 . 343618) (SK.SET.TEXT.HORIZ.ALIGN + 343620 . 345194) (SK.READFONTSIZE 345196 . 347094) (SK.COLLECT.FONT.SIZES 347096 . 348177) ( +SK.SET.TEXT.VERT.ALIGN 348179 . 350221) (SK.SET.TEXT.LOOKS 350223 . 351680) (SK.SET.DEFAULT.TEXT.FACE +351682 . 352320)) (352323 352909 (CREATE.SKETCH.TERMTABLE 352333 . 352907)) (352910 354676 ( +SK.FONT.LIST 352920 . 353246) (SK.INSURE.FONT 353248 . 353770) (SK.INSURE.STYLE 353772 . 354290) ( +SK.INSURE.TEXT 354292 . 354674)) (355216 412509 (SKETCH.CREATE.TEXTBOX 355226 . 356868) ( +SK.COMPUTE.TEXTBOX.REGION.FOR.STRING 356870 . 358947) (SK.BREAK.INTO.LINES 358949 . 370135) ( +SK.BRUSH.SIZE 370137 . 370518) (SK.TEXTBOX.CREATE 370520 . 371317) (SK.TEXTBOX.CREATE1 371319 . 372383 +) (SK.UPDATE.TEXTBOX.AFTER.CHANGE 372385 . 372925) (SK.TEXTBOX.POSITION.IN.BOX 372927 . 374838) ( +TEXTBOX.CHANGEFN 374840 . 375314) (TEXTBOX.DRAWFN 375316 . 377352) (SK.TEXTURE.AROUND.REGIONS 377354 + . 383427) (ALL.EMPTY.REGIONS 383429 . 383919) (TEXTBOX.EXPANDFN 383921 . 391077) (TEXTBOX.INPUTFN +391079 . 392692) (TEXTBOX.INSIDEFN 392694 . 393107) (TEXTBOX.REGIONFN 393109 . 393963) ( +TEXTBOX.GLOBALREGIONFN 393965 . 394293) (TEXTBOX.SET.GLOBAL.REGIONS 394295 . 395626) ( +TEXTBOX.TRANSLATEFN 395628 . 397469) (TEXTBOX.TRANSLATEPTSFN 397471 . 400254) (TEXTBOX.TRANSFORMFN +400256 . 401924) (TEXTBOX.UPDATEFN 401926 . 403819) (TEXTBOX.READCHANGEFN 403821 . 408710) ( +SK.TEXTBOX.TEXT.POSITION 408712 . 409133) (SK.TEXTBOX.FROM.TEXT 409135 . 411740) (ADD.EOLS 411742 . +412507)) (413038 416539 (SK.SET.TEXTBOX.VERT.ALIGN 413048 . 414928) (SK.SET.TEXTBOX.HORIZ.ALIGN 414930 + . 416537)) (416922 461397 (SKETCH.CREATE.BOX 416932 . 417415) (SK.BOX.DRAWFN 417417 . 418576) ( +BOX.DRAWFN1 418578 . 421417) (KNOTS.OF.REGION 421419 . 422653) (SK.DRAWAREABOX 422655 . 429256) ( +SK.DRAWBOX 429258 . 430447) (SK.BOX.EXPANDFN 430449 . 434197) (SK.BOX.GETREGIONFN 434199 . 435385) ( +BOX.SET.SCALES 435387 . 436627) (SK.BOX.INPUTFN 436629 . 438562) (SK.BOX.CREATE 438564 . 439265) ( +SK.UPDATE.BOX.AFTER.CHANGE 439267 . 439778) (SK.BOX.INSIDEFN 439780 . 440170) (SK.BOX.REGIONFN 440172 + . 440885) (SK.BOX.GLOBALREGIONFN 440887 . 441625) (SK.BOX.READCHANGEFN 441627 . 445348) ( +SK.CHANGE.FILLING 445350 . 449298) (SK.CHANGE.FILLING.COLOR 449300 . 452956) (SK.BOX.TRANSLATEFN +452958 . 454137) (SK.BOX.TRANSFORMFN 454139 . 455084) (SK.BOX.TRANSLATEPTSFN 455086 . 457454) ( +UNSCALE.REGION.TO.GRID 457456 . 458381) (INCREASEREGION 458383 . 458974) (INSUREREGIONSIZE 458976 . +460147) (EXPANDREGION 460149 . 461029) (REGION.FROM.COORDINATES 461031 . 461395)) (461933 488288 ( +SKETCH.CREATE.ARC 461943 . 462752) (ARC.DRAWFN 462754 . 464481) (ARC.EXPANDFN 464483 . 466816) ( +ARC.INPUTFN 466818 . 471036) (SK.INVERT.CIRCLE 471038 . 471898) (SK.READ.ARC.ANGLE.POINT 471900 . +472407) (SK.SHOW.ARC 472409 . 473019) (ARC.CREATE 473021 . 474376) (SK.UPDATE.ARC.AFTER.CHANGE 474378 + . 474718) (ARC.MOVEFN 474720 . 476303) (ARC.TRANSLATEPTS 476305 . 478190) (ARC.INSIDEFN 478192 . +478442) (ARC.REGIONFN 478444 . 479580) (ARC.GLOBALREGIONFN 479582 . 481304) (ARC.TRANSLATE 481306 . +482288) (ARC.TRANSFORMFN 482290 . 485240) (ARC.READCHANGEFN 485242 . 488286)) (488289 497368 ( +SK.COMPUTE.ARC.ANGLE.PT 488299 . 489225) (SK.COMPUTE.ARC.ANGLE.PT.FROM.ANGLE 489227 . 490220) ( +SK.COMPUTE.ARC.PTS 490222 . 493794) (SK.SET.ARC.DIRECTION 493796 . 494370) (SK.SET.ARC.DIRECTION.CW +494372 . 494546) (SK.SET.ARC.DIRECTION.CCW 494548 . 494821) (SK.COMPUTE.SLOPE.OF.LINE 494823 . 495315) + (SK.CREATE.ARC.USING 495317 . 496554) (SET.ARC.SCALES 496556 . 497366)) (497369 497814 ( +SK.INSURE.DIRECTION 497379 . 497812)) (499185 545044 (GETSKETCHELEMENTPROP 499195 . 500503) ( +\SK.GET.ARC.ANGLEPT 500505 . 501066) (\GETSKETCHELEMENTPROP1 501068 . 501322) (\SK.GET.BRUSH 501324 . +502248) (\SK.GET.FILLING 502250 . 503348) (\SK.GET.ARROWHEADS 503350 . 504129) (\SK.GET.FONT 504131 . +504611) (\SK.GET.JUSTIFICATION 504613 . 505137) (\SK.GET.DIRECTION 505139 . 505616) (\SK.GET.DASHING +505618 . 506637) (PUTSKETCHELEMENTPROP 506639 . 508908) (\SK.PUT.FILLING 508910 . 510180) ( +ADDSKETCHELEMENTPROP 510182 . 510987) (REMOVESKETCHELEMENTPROP 510989 . 511778) (\SK.PUT.FONT 511780 + . 512594) (\SK.PUT.JUSTIFICATION 512596 . 513607) (\SK.PUT.DIRECTION 513609 . 514216) ( +\SK.PUT.DASHING 514218 . 515553) (\SK.PUT.BRUSH 515555 . 517474) (\SK.PUT.ARROWHEADS 517476 . 519442) +(SK.COPY.ELEMENT.PROPERTY.LIST 519444 . 520020) (SKETCH.UPDATE 520022 . 520752) (SKETCH.UPDATE1 520754 + . 522042) (\SKELT.GET.SCALE 522044 . 523032) (\SKELT.PUT.SCALE 523034 . 524341) (\SKELT.PUT.DATA +524343 . 526140) (SK.REPLACE.TEXT.IN.ELEMENT 526142 . 527095) (\SKELT.GET.DATA 527097 . 528164) ( +\SK.GET.1STCONTROLPT 528166 . 529678) (\SK.PUT.1STCONTROLPT 529680 . 535153) (\SK.GET.2NDCONTROLPT +535155 . 536070) (\SK.PUT.2NDCONTROLPT 536072 . 540260) (\SK.GET.3RDCONTROLPT 540262 . 541140) ( +\SK.PUT.3RDCONTROLPT 541142 . 545042)) (545045 545626 (LOWERLEFTCORNER 545055 . 545301) ( +UPPERRIGHTCORNER 545303 . 545624))))) STOP diff --git a/library/sketch/SKETCH-ELEMENTS.LCOM b/library/sketch/SKETCH-ELEMENTS.LCOM index 68be46eaff648d2f5af31185b668b0bef0ddd4b2..5b9b530365aa376f14deaaec1b5cc13d7052b9ac 100644 GIT binary patch delta 799 zcmZutO=}ZT6!oSGA?TutU9?qi(lo7$4DZcX-YXV5O(y9y^HDMr8oLnGhy*2Wf^^q~ zlp=_<6nuLZ1#weX5fthla8VFkx#(IDe}Zo&Arb4q8_qrNymRllpU=`?&(iy?Ypm!$ zdtOwDY9Q5@h`OY)gD1 z6w^8yx?$@4#V+)B0ZwnhvDnN)@#@}63O-rTetbcGzu$hCI2LcRa2uw@mn?Lo>Sq>o zLGnOS6YF9>2itHePUb)xaH*%FI|r}f$B3h_Egs|{cd>o4x*}fYp)#3xXW|BzjVpvzoYnETLm1+=Qlag_sGqm%Z&MwhTa?L;y^x!(-g#O!yaRWW8ZpW>vR@p|z$KK-J0<7;CdJt(rrflu%=giCl>tB_hs- z-MHL%+|1sogi*usYslr6;&e$SY1;G?q|(87oT?ZTjK$7zl9GxIyVi8A1~OBZdMC16 qr;N;CID%vZrKM+AoTi6NZY*|pE6CIgm$nI_dq<1VKUz#prT+kC1Ie-g delta 776 zcmZutO=}ZT6!nhOhN6fq6hvs=BxzC?8RotDe1$@%nMpEcK1yZ=V@0GiMT%fICFsT= zg58NFi? z1JxWshHmJV{k#Xm9>CW;9I>Vh)!C=361;Pu```k9KVKhTJYxGY+=OfFScV<0`Ywac z;sRiB*s}sWhEMEm5i~)mlC;I{7vUv*JHx>)OG;3fy8B^mwZ)#4z@5G<%&%NxUrI29 zAMC{%5DQvlYgFD{52G9K>EMI~7qD{%a({0;Cq0{n2fVxxj*mebO^>qUY8@?dH zNX$!|(Bltj0a!g}uqT>?P{DUdwr}5H}hFX(h z)YM0_Jhwky4pDwBkz=$3_spUZ!epF|su~i6ZE2|OHL}2IBil5%%uk)buOZu@=oI2p g$X!Fv^|KJ!nmIBJTn<%kCIBJ(!zCCFm!$dJZ&Vz`n*aa+