107
sources/FONT
107
sources/FONT
@@ -1,14 +1,14 @@
|
||||
(DEFINE-FILE-INFO PACKAGE "INTERLISP" READTABLE "INTERLISP" BASE 10)
|
||||
|
||||
(FILECREATED "14-Dec-2024 16:52:43" {WMEDLEY}<sources>FONT.;16 190016
|
||||
(FILECREATED "19-Dec-2024 15:25:17" {WMEDLEY}<sources>FONT.;26 191458
|
||||
|
||||
:EDIT-BY rmk
|
||||
|
||||
:CHANGES-TO (VARS FONTCOMS)
|
||||
(RECORDS FONTCLASS FONTDESCRIPTOR)
|
||||
(FNS FONTCLASS.DEFPRINT)
|
||||
:CHANGES-TO (FNS \FGETLEFTKERN)
|
||||
(VARS FONTCOMS)
|
||||
(FUNCTIONS \CREATEKERNELEMENT)
|
||||
|
||||
:PREVIOUS-DATE "14-Dec-2024 09:13:44" {WMEDLEY}<sources>FONT.;15)
|
||||
:PREVIOUS-DATE "19-Dec-2024 11:52:01" {WMEDLEY}<sources>FONT.;18)
|
||||
|
||||
|
||||
(PRETTYCOMPRINT FONTCOMS)
|
||||
@@ -94,8 +94,9 @@
|
||||
(MACROS FONTASCENT FONTDESCENT FONTHEIGHT \FGETOFFSET \FSETOFFSET \FGETWIDTH
|
||||
\FSETWIDTH \FGETCHARWIDTH \FSETCHARWIDTH \FGETIMAGEWIDTH \FSETIMAGEWIDTH
|
||||
\GETCHARSETINFO \CREATECSINFOELEMENT \CREATEFONTCHARSETVECTOR)
|
||||
(FUNCTIONS \CREATEKERNELEMENT \FSETLEFTKERN \FGETLEFTKERN)
|
||||
(FUNCTIONS \CREATEKERNELEMENT \FSETLEFTKERN)
|
||||
(CONSTANTS (\MAXNSCHAR 65535]
|
||||
(FNS \FGETLEFTKERN)
|
||||
(COMS (* ; "NS Character specific code")
|
||||
(FNS \CREATECHARSET \INSTALLCHARSETINFO)
|
||||
(GLOBALVARS DISPLAYFONTCOERCIONS MISSINGDISPLAYFONTCOERCIONS
|
||||
@@ -2870,7 +2871,7 @@
|
||||
(/DECLAREDATATYPE 'FONTDESCRIPTOR
|
||||
'(POINTER POINTER POINTER POINTER WORD WORD WORD WORD SIGNEDWORD SIGNEDWORD SIGNEDWORD
|
||||
SIGNEDWORD POINTER POINTER POINTER POINTER POINTER (BITS 8)
|
||||
WORD POINTER POINTER POINTER)
|
||||
WORD POINTER POINTER FLAG POINTER)
|
||||
'((FONTDESCRIPTOR 0 POINTER)
|
||||
(FONTDESCRIPTOR 2 POINTER)
|
||||
(FONTDESCRIPTOR 4 POINTER)
|
||||
@@ -2892,6 +2893,7 @@
|
||||
(FONTDESCRIPTOR 27 (BITS . 15))
|
||||
(FONTDESCRIPTOR 28 POINTER)
|
||||
(FONTDESCRIPTOR 30 POINTER)
|
||||
(FONTDESCRIPTOR 30 (FLAGBITS . 0))
|
||||
(FONTDESCRIPTOR 32 POINTER))
|
||||
'34)
|
||||
|
||||
@@ -2933,6 +2935,7 @@
|
||||
(FONTAVGCHARWIDTH WORD)
|
||||
(FONTIMAGEWIDTHS POINTER)
|
||||
(FONTCHARSETVECTOR POINTER)
|
||||
(FONTHASLEFTKERNS FLAG)
|
||||
(FONTEXTRAFIELD2 POINTER)))
|
||||
|
||||
(DATATYPE CHARSETINFO (WIDTHS OFFSETS IMAGEWIDTHS CHARSETBITMAP YWIDTHS (CHARSETASCENT WORD)
|
||||
@@ -3006,6 +3009,8 @@
|
||||
"Set in FONTCREATE, used to fix up the linelength when DSPFONT is called")
|
||||
(FONTIMAGEWIDTHS POINTER) (* ; "This is the image width, as opposed to the advanced width; initial hack for accents, kerning. Fields is referenced by FONTCREATE.")
|
||||
(FONTCHARSETVECTOR POINTER) (* ; "A 256-pointer block, with one pointer per 'character set' --each group of 256 character codes. Each pointer is either NIL if there's no info for that charset, or is a CHARSETINFO, containing widths, char bitmap, etc for the characters in that charset.")
|
||||
(FONTHASLEFTKERNS FLAG) (* ;
|
||||
"T if at least one character set has an entry for left kerns")
|
||||
(FONTEXTRAFIELD2 POINTER))
|
||||
FONTCHARSETVECTOR _ (\CREATEFONTCHARSETVECTOR)
|
||||
(INIT (DEFPRINT 'FONTDESCRIPTOR (FUNCTION FONTDESCRIPTOR.DEFPRINT))))
|
||||
@@ -3065,7 +3070,7 @@
|
||||
(/DECLAREDATATYPE 'FONTDESCRIPTOR
|
||||
'(POINTER POINTER POINTER POINTER WORD WORD WORD WORD SIGNEDWORD SIGNEDWORD SIGNEDWORD
|
||||
SIGNEDWORD POINTER POINTER POINTER POINTER POINTER (BITS 8)
|
||||
WORD POINTER POINTER POINTER)
|
||||
WORD POINTER POINTER FLAG POINTER)
|
||||
'((FONTDESCRIPTOR 0 POINTER)
|
||||
(FONTDESCRIPTOR 2 POINTER)
|
||||
(FONTDESCRIPTOR 4 POINTER)
|
||||
@@ -3087,6 +3092,7 @@
|
||||
(FONTDESCRIPTOR 27 (BITS . 15))
|
||||
(FONTDESCRIPTOR 28 POINTER)
|
||||
(FONTDESCRIPTOR 30 POINTER)
|
||||
(FONTDESCRIPTOR 30 (FLAGBITS . 0))
|
||||
(FONTDESCRIPTOR 32 POINTER))
|
||||
'34)
|
||||
|
||||
@@ -3164,18 +3170,16 @@
|
||||
T)))
|
||||
)
|
||||
|
||||
(DEFMACRO \CREATEKERNELEMENT ()
|
||||
`(CL:MAKE-ARRAY (IPLUS \MAXTHINCHAR 3)
|
||||
:ELEMENT-TYPE
|
||||
'(SIGNED-BYTE 16)
|
||||
:INITIAL-ELEMENT 0))
|
||||
(DEFMACRO \CREATEKERNELEMENT () (* ; "Edited 19-Dec-2024 12:20 by rmk")
|
||||
`(PROGN (HELP "THIS IS BOGUS, SEE \FGETLEFTKERN")
|
||||
(CL:MAKE-ARRAY (IPLUS \MAXTHINCHAR 3)
|
||||
:ELEMENT-TYPE
|
||||
'(SIGNED-BYTE 16)
|
||||
:INITIAL-ELEMENT 0)))
|
||||
|
||||
(DEFMACRO \FSETLEFTKERN (LEFTKERNBLOCK INDEX KERNVALUE)
|
||||
`(CL:SETF (CL:AREF ,LEFTKERNBLOCK ,INDEX)
|
||||
,KERNVALUE))
|
||||
|
||||
(DEFMACRO \FGETLEFTKERN (LEFTKERNBLOCK CHAR8CODE)
|
||||
`(CL:AREF ,LEFTKERNBLOCK ,CHAR8CODE))
|
||||
(DECLARE%: EVAL@COMPILE
|
||||
|
||||
(RPAQQ \MAXNSCHAR 65535)
|
||||
@@ -3187,6 +3191,23 @@
|
||||
(* "END EXPORTED DEFINITIONS")
|
||||
|
||||
)
|
||||
(DEFINEQ
|
||||
|
||||
(\FGETLEFTKERN
|
||||
[LAMBDA (FONT PREVCHARCODE CHARCODE) (* ; "Edited 19-Dec-2024 15:25 by rmk")
|
||||
|
||||
(* ;; "Returns the kern information for CHARCODE in FONT, given that it is an immediate successor of PREVCHARCODE. Returns 0 if no PREVCHARCODE/CHARCODE kerning is specified. For now, assume that the kerning information is sparse for characters within a character set, stored as a 2-level alist. ")
|
||||
|
||||
(* ;; "If the kerning information for a character is already a FIXP, then it is an offset no matter what the preceding character might be. This appears to be the way at least AC font files are set up.")
|
||||
|
||||
(OR [AND (fetch (FONTDESCRIPTOR FONTHASLEFTKERNS) of FONT)
|
||||
(LET [(CHARKERNS (CDR (FASSOC (\GETCHARSETINFO (\CHARSET CHARCODE)
|
||||
FONT T)
|
||||
(\CHAR8CODE CHARCODE]
|
||||
(OR (FIXP CHARKERNS)
|
||||
(CDR (FASSOC PREVCHARCODE CHARKERNS]
|
||||
0])
|
||||
)
|
||||
|
||||
|
||||
|
||||
@@ -3359,31 +3380,31 @@
|
||||
(ADDTOVAR LAMA FONTCOPY)
|
||||
)
|
||||
(DECLARE%: DONTCOPY
|
||||
(FILEMAP (NIL (8729 18248 (CHARWIDTH 8739 . 9524) (CHARWIDTHY 9526 . 10896) (STRINGWIDTH 10898 . 11991
|
||||
) (\CHARWIDTH.DISPLAY 11993 . 12406) (\STRINGWIDTH.DISPLAY 12408 . 12832) (\STRINGWIDTH.GENERIC 12834
|
||||
. 18246)) (18249 24631 (DEFAULTFONT 18259 . 20092) (FONTCLASS 20094 . 22256) (FONTCLASSUNPARSE 22258
|
||||
. 23157) (FONTCLASSCOMPONENT 23159 . 23668) (SETFONTCLASSCOMPONENT 23670 . 24629)) (25305 38037 (
|
||||
FONTCREATE 25315 . 34582) (\FONT.SYMBOLMEMB 34584 . 34814) (\FONT.SYMBOLASSOC 34816 . 35974) (
|
||||
\FONT.COMPARESYMBOL 35976 . 38035)) (38076 42700 (FONTASCENT 38086 . 38254) (FONTDESCENT 38256 . 38525
|
||||
) (FONTHEIGHT 38527 . 38713) (FONTPROP 38715 . 42158) (\AVGCHARWIDTH 42160 . 42698)) (42747 55386 (
|
||||
GETCHARBITMAP 42757 . 45647) (PUTCHARBITMAP 45649 . 53706) (MOVECHARBITMAP 53708 . 55384)) (55387
|
||||
139926 (FONTCOPY 55397 . 60705) (FONTSAVAILABLE 60707 . 65912) (FONTFILEFORMAT 65914 . 67538) (FONTP
|
||||
67540 . 67839) (FONTUNPARSE 67841 . 70405) (SETFONTDESCRIPTOR 70407 . 72116) (CHARCODEP 72118 . 72479)
|
||||
(EDITCHAR 72481 . 72910) (\STREAMCHARWIDTH 72912 . 77076) (\UNITWIDTHSVECTOR 77078 . 77441) (
|
||||
\CREATEDISPLAYFONT 77443 . 78196) (\CREATECHARSET.DISPLAY 78198 . 81114) (\CREATE-REAL-CHARSET.DISPLAY
|
||||
81116 . 88020) (\BUILDSLUGCSINFO 88022 . 89465) (\SEARCHDISPLAYFONTFILES 89467 . 91400) (
|
||||
\SEARCHFONTFILES 91402 . 94713) (\FINDFONTFILE 94715 . 95906) (\FONTSYMBOL 95908 . 96558) (
|
||||
\DEVICESYMBOL 96560 . 97429) (\FONTFACE 97431 . 104621) (\FONTFACE.COLOR 104623 . 111543) (
|
||||
\FONTFILENAME 111545 . 114960) (\FONTFILENAME.OLD 114962 . 117911) (\FONTFILENAME.NEW 117913 . 120170)
|
||||
(\FONTINFOFROMFILENAME 120172 . 123286) (\FONTINFOFROMFILENAME.OLD 123288 . 125565) (\GETFONTDESC
|
||||
125567 . 125958) (\COERCEFONTDESC 125960 . 131345) (\LOOKUPFONT 131347 . 132691) (\LOOKUPFONTSINCORE
|
||||
132693 . 134766) (\READDISPLAYFONTFILE 134768 . 139924)) (140829 157553 (\READSTRIKEFONTFILE 140839 .
|
||||
145041) (\SFMAKEBOLD 145043 . 147439) (\SFMAKEITALIC 147441 . 150344) (\SFMAKEROTATEDFONT 150346 .
|
||||
151747) (\SFROTATECSINFO 151749 . 152386) (\SFROTATEFONTCHARACTERS 152388 . 152768) (
|
||||
\SFFIXOFFSETSAFTERROTATION 152770 . 154909) (\SFROTATECSINFOOFFSETS 154911 . 156180) (\SFMAKECOLOR
|
||||
156182 . 157551)) (157554 164807 (WRITESTRIKEFONTFILE 157564 . 161347) (STRIKECSINFO 161349 . 164805))
|
||||
(164808 166647 (FONTDESCRIPTOR.DEFPRINT 164818 . 166169) (FONTCLASS.DEFPRINT 166171 . 166645)) (
|
||||
181517 181680 (\CREATEKERNELEMENT 181517 . 181680)) (181682 181810 (\FSETLEFTKERN 181682 . 181810)) (
|
||||
181812 181906 (\FGETLEFTKERN 181812 . 181906)) (182075 185585 (\CREATECHARSET 182085 . 183836) (
|
||||
\INSTALLCHARSETINFO 183838 . 185583)) (186740 188492 (\FONTRESETCHARWIDTHS 186750 . 188490)))))
|
||||
(FILEMAP (NIL (8734 18253 (CHARWIDTH 8744 . 9529) (CHARWIDTHY 9531 . 10901) (STRINGWIDTH 10903 . 11996
|
||||
) (\CHARWIDTH.DISPLAY 11998 . 12411) (\STRINGWIDTH.DISPLAY 12413 . 12837) (\STRINGWIDTH.GENERIC 12839
|
||||
. 18251)) (18254 24636 (DEFAULTFONT 18264 . 20097) (FONTCLASS 20099 . 22261) (FONTCLASSUNPARSE 22263
|
||||
. 23162) (FONTCLASSCOMPONENT 23164 . 23673) (SETFONTCLASSCOMPONENT 23675 . 24634)) (25310 38042 (
|
||||
FONTCREATE 25320 . 34587) (\FONT.SYMBOLMEMB 34589 . 34819) (\FONT.SYMBOLASSOC 34821 . 35979) (
|
||||
\FONT.COMPARESYMBOL 35981 . 38040)) (38081 42705 (FONTASCENT 38091 . 38259) (FONTDESCENT 38261 . 38530
|
||||
) (FONTHEIGHT 38532 . 38718) (FONTPROP 38720 . 42163) (\AVGCHARWIDTH 42165 . 42703)) (42752 55391 (
|
||||
GETCHARBITMAP 42762 . 45652) (PUTCHARBITMAP 45654 . 53711) (MOVECHARBITMAP 53713 . 55389)) (55392
|
||||
139931 (FONTCOPY 55402 . 60710) (FONTSAVAILABLE 60712 . 65917) (FONTFILEFORMAT 65919 . 67543) (FONTP
|
||||
67545 . 67844) (FONTUNPARSE 67846 . 70410) (SETFONTDESCRIPTOR 70412 . 72121) (CHARCODEP 72123 . 72484)
|
||||
(EDITCHAR 72486 . 72915) (\STREAMCHARWIDTH 72917 . 77081) (\UNITWIDTHSVECTOR 77083 . 77446) (
|
||||
\CREATEDISPLAYFONT 77448 . 78201) (\CREATECHARSET.DISPLAY 78203 . 81119) (\CREATE-REAL-CHARSET.DISPLAY
|
||||
81121 . 88025) (\BUILDSLUGCSINFO 88027 . 89470) (\SEARCHDISPLAYFONTFILES 89472 . 91405) (
|
||||
\SEARCHFONTFILES 91407 . 94718) (\FINDFONTFILE 94720 . 95911) (\FONTSYMBOL 95913 . 96563) (
|
||||
\DEVICESYMBOL 96565 . 97434) (\FONTFACE 97436 . 104626) (\FONTFACE.COLOR 104628 . 111548) (
|
||||
\FONTFILENAME 111550 . 114965) (\FONTFILENAME.OLD 114967 . 117916) (\FONTFILENAME.NEW 117918 . 120175)
|
||||
(\FONTINFOFROMFILENAME 120177 . 123291) (\FONTINFOFROMFILENAME.OLD 123293 . 125570) (\GETFONTDESC
|
||||
125572 . 125963) (\COERCEFONTDESC 125965 . 131350) (\LOOKUPFONT 131352 . 132696) (\LOOKUPFONTSINCORE
|
||||
132698 . 134771) (\READDISPLAYFONTFILE 134773 . 139929)) (140834 157558 (\READSTRIKEFONTFILE 140844 .
|
||||
145046) (\SFMAKEBOLD 145048 . 147444) (\SFMAKEITALIC 147446 . 150349) (\SFMAKEROTATEDFONT 150351 .
|
||||
151752) (\SFROTATECSINFO 151754 . 152391) (\SFROTATEFONTCHARACTERS 152393 . 152773) (
|
||||
\SFFIXOFFSETSAFTERROTATION 152775 . 154914) (\SFROTATECSINFOOFFSETS 154916 . 156185) (\SFMAKECOLOR
|
||||
156187 . 157556)) (157559 164812 (WRITESTRIKEFONTFILE 157569 . 161352) (STRIKECSINFO 161354 . 164810))
|
||||
(164813 166652 (FONTDESCRIPTOR.DEFPRINT 164823 . 166174) (FONTCLASS.DEFPRINT 166176 . 166650)) (
|
||||
181848 182170 (\CREATEKERNELEMENT 181848 . 182170)) (182172 182300 (\FSETLEFTKERN 182172 . 182300)) (
|
||||
182426 183473 (\FGETLEFTKERN 182436 . 183471)) (183517 187027 (\CREATECHARSET 183527 . 185278) (
|
||||
\INSTALLCHARSETINFO 185280 . 187025)) (188182 189934 (\FONTRESETCHARWIDTHS 188192 . 189932)))))
|
||||
STOP
|
||||
|
||||
Binary file not shown.
Reference in New Issue
Block a user