Rmk99 cleanup display fonts (#2203)
All display fontfiles are now in the single fonts/displayfonts/ directory. The subdirectories adobe, big, other, altofonts have been deleted, and are no longer on DISPLAYFONTDIRECTORIES. The few additional displayfonts from the envos repo are included. This is the result of: Removing all byte-identical files, leaving a representative of each such equivalence class in displayfonts/ Removing all files in displayfonts that are renamed byte-identical copies of other files in displayfonts/ (e.g. helvetica1-MRR-c0.displayfont is a fake-renamed copy of helvetica4-MRR-c0.displayfont). These are to be constructed on the fly by the font substitution mechanism. Roughly comparing the bitmaps of non-identical files with the same font family/size/face/charset in the different subdirectories, and making displayfonts/ have the one that looks best (e.g. most glyphs, unless garbage), giving priority to ones that are already in displayfonts/. Moving the remaining odd-ball files from the subdirectories to displayfonts/ (e.g. gates, music). Copying from Envos the 30 or so files that are not byte-identical copies of files already in displayfonts/.
This commit is contained in:
@@ -1,110 +0,0 @@
|
||||
(DEFINE-FILE-INFO READTABLE "INTERLISP" PACKAGE "INTERLISP")
|
||||
(FILECREATED "15-Jul-88 16:33:54" |{MCS:MCS:STANFORD}<LANE>READDISPLAYFONT.;2| 4644
|
||||
|
||||
changes to%: (VARS READDISPLAYFONTCOMS)
|
||||
|
||||
previous date%: " 3-May-88 10:33:05" |{MCS:MCS:STANFORD}<LANE>READDISPLAYFONT.;1|)
|
||||
|
||||
|
||||
(* "
|
||||
Copyright (c) 1988 by Stanford University. All rights reserved.
|
||||
")
|
||||
|
||||
(PRETTYCOMPRINT READDISPLAYFONTCOMS)
|
||||
|
||||
(RPAQQ READDISPLAYFONTCOMS ((* Redefinition of DISPLAY font functions to facilitate addition of
|
||||
new font types)
|
||||
(FNS \READDISPLAYFONTFILE FONTFILEFORMAT)
|
||||
(ADDVARS (DISPLAYFONTTYPES (AC \READACFONTFILE)
|
||||
(STRIKE \READSTRIKEFONTFILE)))
|
||||
(GLOBALVARS DISPLAYFONTTYPES)
|
||||
(DECLARE%: DONTCOPY (RECORDS DISPLAYFONTTYPE))))
|
||||
|
||||
|
||||
|
||||
(* Redefinition of DISPLAY font functions to facilitate addition of new font types)
|
||||
|
||||
(DEFINEQ
|
||||
|
||||
(\READDISPLAYFONTFILE
|
||||
[LAMBDA (FAMILY SIZE FACE ROTATION DEVICE CHARSET) (* ; "Edited 3-May-88 10:31 by cdl")
|
||||
|
||||
(DECLARE (GLOBALVARS DISPLAYFONTEXTENSIONS DISPLAYFONTDIRECTORIES))
|
||||
(bind FONTFILE FONTTYPE CSINFO STREAM for EXTENSION inside DISPLAYFONTEXTENSIONS
|
||||
when (SETQ FONTFILE (\FINDFONTFILE FAMILY SIZE FACE ROTATION DEVICE CHARSET
|
||||
DISPLAYFONTDIRECTORIES (LIST EXTENSION)))
|
||||
do (* Use CLOSE? to avoid redundant CLOSEF in AC font file case)
|
||||
(RESETLST [RESETSAVE NIL `(CLOSEF? ,(SETQ STREAM (OPENSTREAM FONTFILE 'INPUT]
|
||||
(if (SETQ FONTTYPE (ASSOC (FONTFILEFORMAT STREAM T)
|
||||
DISPLAYFONTTYPES))
|
||||
then (SETQ CSINFO (with DISPLAYFONTTYPE FONTTYPE (APPLY* READFN STREAM FAMILY
|
||||
SIZE FACE)))
|
||||
else (SHOULDNT)))
|
||||
(RETURN CSINFO])
|
||||
|
||||
(FONTFILEFORMAT
|
||||
[LAMBDA (STREAM LEAVEOPEN) (* ; "Edited 3-May-88 10:26 by cdl")
|
||||
(* Returns the font format of STREAM)
|
||||
[OR (OPENP STREAM 'INPUT)
|
||||
(SETQ STREAM (OPENSTREAM STREAM 'INPUT]
|
||||
(PROG1 (OR (LET [(EXTENSION (FILENAMEFIELD (FULLNAME STREAM)
|
||||
'EXTENSION]
|
||||
|
||||
(* AC and Strike files count on side effects of this function so we have to
|
||||
handle them separately for now)
|
||||
|
||||
(if (AND [NOT (FMEMB EXTENSION '(AC STRIKE]
|
||||
(ASSOC EXTENSION DISPLAYFONTTYPES))
|
||||
then EXTENSION))
|
||||
(SELECTC (\WIN STREAM)
|
||||
((LIST (LLSH 1 15)
|
||||
(LOGOR (LLSH 1 15)
|
||||
(LLSH 1 13)))
|
||||
|
||||
(* If high bit of type is on, then must be strike.
|
||||
If 2nd bit is on, must be strike-index, and we punt.
|
||||
We don't care about the 3rd bit)
|
||||
|
||||
|
||||
|
||||
(* first word has high bits (onebit index fixed)%.
|
||||
Onebit means "new-style font" %, index is 0 for simple strike, 1 for index, and
|
||||
fixed is if all chars have max width. Lisp doesn't care about "fixed")
|
||||
|
||||
'STRIKE)
|
||||
((LOGOR (LLSH 16 8)
|
||||
12)
|
||||
|
||||
(* This is the length of a standard index header.
|
||||
Other files could also have this value, but it's a pretty good discriminator)
|
||||
|
||||
|
||||
|
||||
(* Skip to byte 25; do it with BINS so works for non-randaccessp devices.
|
||||
This skips the standard name header, then look for type 3 in the following
|
||||
header)
|
||||
|
||||
(FRPTQ 22 (\BIN STREAM)) (* (SETFILEPTR STREAM 25))
|
||||
(AND (EQ 3 (LRSH (\BIN STREAM)
|
||||
4))
|
||||
'AC))
|
||||
NIL))
|
||||
(OR LEAVEOPEN (CLOSEF STREAM])
|
||||
)
|
||||
|
||||
(ADDTOVAR DISPLAYFONTTYPES (AC \READACFONTFILE)
|
||||
(STRIKE \READSTRIKEFONTFILE))
|
||||
(DECLARE%: DOEVAL@COMPILE DONTCOPY
|
||||
|
||||
(GLOBALVARS DISPLAYFONTTYPES)
|
||||
)
|
||||
(DECLARE%: DONTCOPY
|
||||
(DECLARE%: EVAL@COMPILE
|
||||
|
||||
(RECORD DISPLAYFONTTYPE (TYPE READFN))
|
||||
)
|
||||
)
|
||||
(PUTPROPS READDISPLAYFONT COPYRIGHT ("Stanford University" 1988))
|
||||
(DECLARE%: DONTCOPY
|
||||
(FILEMAP (NIL (1028 4280 (\READDISPLAYFONTFILE 1038 . 2081) (FONTFILEFORMAT 2083 . 4278)))))
|
||||
STOP
|
||||
Binary file not shown.
Binary file not shown.
Reference in New Issue
Block a user