MIT CADR font usage audit
Conclusion
The pinned System 46 source snapshot does not establish a purpose for every recovered font. It does, however, support a complete evidence-graded audit:
- 15 of the 88 source-backed logical names are selected by executable CADR Lisp code for an identifiable screen or application role;
- three names are demonstrably selected by XGP or Dover document workflows, but the name match does not prove that those printer resources contain the same raster data as the recovered CADR screen-font sources;
- three more have a specific use described by contemporary documentation or a bug report, without a surviving executable selection site;
- one was reported as frequently used, but the report gives no purpose;
- six are loaded by the standard
FONTSpackage without an identified consumer; - 45 occur only in the source-archive compilation list, and 15 only as recoverable source representations.
Thus 21 source-backed names have a specific, evidence-supported role and 67 have an explicit TODO: no application purpose established. “No purpose established” does not mean “never used”: font names could be entered interactively, constructed dynamically, or referenced only from compiled programs absent from this tree.
The separate set of 17 compiled-only logical names is less complete. Executable System 46 source establishes roles for MEDFNB and SHIP. Maintained LM-3 System 303 source directly establishes the editor role of SEARCH, whose ten visible labels agree with the System 46 raster even though the two compiled artifacts are not byte-identical. The other 14 remain qualified runtime, load, or inventory observations with purpose TODO.
The machine-readable companion is the font-usage-catalog.json. It has one entry for every source-backed logical name and every compiled-only logical name. The 62 retained alternate source representations inherit the result of their logical name; the snapshot contains no evidence that an application selected one recovered source variant rather than another.
Scope and method
The audit uses the complete src/ tree of mietek/mit-cadr-system-software at commit 8e978d7d1704096a63edd4386a3b8326a2e584af, the same revision used by the source recovery. Targeted cross-checks use the LM-3 Fossil repository's System 303 check-in 4df393c68d7f083ce42d5c377039d26043cc18a9031ace28258dc97f4137eb91 only when the primary snapshot lacks an executable consumer. Those cross-version findings are identified explicitly and never treated as proof of byte identity.
For each of the 88 logical names in the tracked asset catalog, the audit searched case-insensitively for:
- exact symbols, including
FONTS:<name>; - ITS filenames such as
LMFONT;<name>and QFASL load declarations; - editor mode lines, document-font directives, generated XGP font tables, manuals, bug mail, and source comments;
- binary files treated as text, which exposed otherwise missed evidence in an archived editor environment and generated document output;
- plausible aliases only when another source established the mapping.
Every surviving context was read manually. Common-word collisions such as BUG, MOUSE, SEARCH, and SHIP were rejected unless the context was font-specific. The ST6, ST8, and ST10 strings in cadr/stat.drw are hardware signal labels, not font uses. The ordinary word “pronto” is not evidence for PRONTO.
The zero-hit boundary is necessarily limited. The window system can construct and load an LMFONT filename from a symbol, and ZWEI can read an arbitrary font ID from the minibuffer or load names computed from buffer font metadata. This is why the negative result is “no specific use established by preserved literal references,” never “unused.”
Two shared references define important negative boundaries:
fcmp.xfilecalls its list essentially the archive directory, copies out the AST members, and compiles them. Presence there proves a source-build operation, not an application role.pkgdcl.230declares the standardFONTSpackage files. Presence there proves planned system loading, not why a font was loaded.
Evidence classes
| Class | Source-backed count | What it establishes |
|---|---|---|
| Direct runtime | 15 | Executable Lisp selects the font for the stated role. |
| Document-output name match | 3 | A printer/document resource with the same name is selected; raster identity is unproved. |
| Documented use | 3 | Contemporary prose identifies a specific use; no executable selector survives in System 46. |
| Reported use, no purpose | 1 | Use is reported, but its intended role is unknown. |
| Standard load, no purpose | 6 | The system loads it, but no consumer was identified. |
| Source build only | 45 | It is compiled from the font archive, but no consumer was identified. |
| Source only | 15 | A source representation survives, but no build, load, or consumer reference was identified. |
| Total | 88 | Every source-backed logical name is accounted for exactly once. |
The machine catalog additionally uses cross-version-direct-runtime for compiled SEARCH: executable System 303 source establishes its role, but no selector survives in the primary System 46 snapshot and byte identity is unproved. That status does not occur in the source-backed table above.
Direct runtime uses
These are the strongest findings because executable source selects the font object.
| Logical name | Established role | Direct evidence |
|---|---|---|
43VXMS |
Numeric/current-value display in MUNCH; text in LEXIPHAGE. |
hacks.188, MUNCH, hacks.188, LEXIPHAGE |
5X5 |
Tiny text in compact boxed screen elements and labels in the system-menu layout. | shwarm.160, sysmen.104 |
ARROW |
Glyphs for otherwise invisible format-effectors; old-window mouse and rectangle-selection blinkers. | tv.347, mouse.139 |
BIGFNT |
SUPDUP's conspicuous machine-in-use message, prominent questionnaire buttons, and the PRINT-BIG helper. |
supser.66, quest.42, hacks.188 |
CPTFON / CPTFONT |
Default font of the cold-load, CPT, and main screens and their initial text-output structures. CPTFON is the source/QFASL artifact name whose cold load provides runtime FONTS:CPTFONT; this is an operational name mapping, not evidence for a separate runtime FONTS:CPTFON alias. |
coldut.22, tv.347, shwarm.160 |
HL10 |
Unselected choice text in the choose-variable-values interface. | choice.12 |
HL10B |
Selected choice text in the choose-variable-values interface. | choice.12 |
HL12B |
The inspector window's Empty label. |
inspct.80 |
HL12I |
Special choices displayed at the top of multiple-choice menus. | menu.29 |
MEDFNT |
Default screen-menu font and questionnaire button text. | menu.29, quest.42 |
METS |
Default label font of the questionnaire frame. | quest.42 |
MOUSE |
Standard mouse, rectangle-selection, and scrolling blinkers; also meter indicator strings. | mouse.149, ppk.2 |
TOG |
Switch-register state glyphs in the display hacks. | hacks.189 |
TR10I |
Default font for new-window-system margin-scroll messages such as More above and More below. |
choice.12 |
TVFONT |
Formatted numeric tick labels on an SB dial face. | ppk.2 |
Document-output name matches
These references establish use of a printer or formatter resource with the same name. They do not establish that the XGP or Dover resource is byte-for-byte or glyph-for-glyph identical to the recovered LMFONT screen source.
| Logical name | Qualified finding | Evidence |
|---|---|---|
25FR3 |
Configured as an XGP document font, including font 0 for the Lisp Machine progress report and font 5 in a CADR document. The recovered AST names the same 25FR3 KST source, but exact print-time raster identity is unverified. |
paper.105, cadr.164, 25fr3.ast |
GACHA8 |
The preserved editor environment assigns it to normal text when reformatting Interlisp prettyprinter output for Dover. Which recovered AST or Alto raster variant corresponds to the printer font is unknown. | lunar.:ej |
MATH10 |
Generated XGP output actually selects slot 9 twice for an error-handler right-arrow prompt and once for a greater-than-or-equal relation; the other eight preserved XGP bodies only declare it. Exact recovered raster-variant identity is unverified. | operat.xgp, stream.xgp, XGP font-selection format |
Contemporary use without a surviving selector
| Logical name | Evidence boundary | Evidence |
|---|---|---|
BUG |
A contemporary EINE report identifies LMFONT;BUG characters A through D as unconventional insect glyphs used to fill continuation lines and reproduce redisplay failures. This establishes a stress-test use, not animation in System 46. |
bugs.old |
PRT12B |
A bug report reproduces variable-width wrapping with PRT12B menu text. This establishes menu use, but not a specific application's role. |
bug.omail |
TR12I |
Old-window-system option documentation names it as the default for top and bottom margin-scroll legends. The retained new-window implementation instead uses TR10I. |
option.info, choice.12 |
HL12 |
A user reported using HL12, HL12I, and HL12B frequently in multi-font files. The report does not say what HL12 signified, so its purpose remains TODO. |
bugs.old |
No application purpose established
Every name below is an explicit negative audit result for this snapshot. No role is inferred from an abbreviation, apparent family resemblance, glyph shape, or metric.
Loaded by the standard FONTS package
The package declaration loads these six fonts, but the complete source scan found no consumer that establishes a purpose:
| Font | Result |
|---|---|
HL6 |
TODO: standard load; no application purpose established. |
HL7 |
TODO: standard load; no application purpose established. |
METSI |
TODO: standard load; no application purpose established. |
TR8 |
TODO: standard load; no application purpose established. |
TR8B |
TODO: standard load; no application purpose established. |
TR8I |
TODO: standard load; no application purpose established. |
Present only in the source-build list
These 45 names occur in the AST archive compilation list, but no standard load or application role was identified:
| Font | Font | Font | Font |
|---|---|---|---|
APL14 |
ARR10 |
BLKF10 |
|
CHA |
CHAS |
CLAR |
CLAR12 |
CLAR14 |
CLARB |
CLARGK |
CLRE14 |
GACH10 |
GACH12 |
GATES3 |
GATS3A |
HIP10A |
HIPO10 |
HL14 |
HL18 |
HL7I |
HL8 |
HL8B |
MAT10A |
MATH16 |
MUSC10 |
NONM |
NONS |
PLNK16 |
PRNT10 |
SMT10 |
SMT10A |
SMT14 |
SMT14A |
ST10 |
ST6 |
ST8 |
TNTO14 |
TNTOB |
TONTO |
TR10 |
TR10B |
TR12 |
TR12B |
TR14 |
TR18 |
Each cell means TODO: source build only; no application purpose established.
Present only as recoverable source
These 15 names have a source representation in the tracked recovery catalog, but no source-build-list, standard-load, or application-role reference was identified:
| Font | Font | Font |
|---|---|---|
13FG |
13FGB |
14FR3 |
16FG |
40VSHD |
CM10 |
CM12 |
CYR12 |
GLS7X9 |
HAFONT |
HL7B |
HL7BI |
PRONTO |
SAIL10 |
SWFONT |
Each cell means TODO: recovered source only; no application purpose established.
Compiled-only fonts
These names are not among the 88 source-backed derivatives. They survive only as compiled font files in this snapshot and must not be silently merged with a similarly named source-backed font. All 19 physical artifacts, comprising these 17 names plus the two older compiled versions below, are now decoded and rendered in the compiled QFASL font recovery and its machine-readable catalog. Recovery establishes their runtime font data, not their application purpose.
| Logical name | Classification | Established finding |
|---|---|---|
MEDFNB |
Direct runtime | Selected for the Any, Do It, and Abort system-menu entries. sysmen.105 |
SHIP |
Direct runtime | Spacewar character-blinker glyphs for torpedoes, suns, and differently oriented ships. load.swar, swar.2 |
CPT-TR10I |
Reported use, no purpose | A bug report records it in adjacent Zwei text runs, but gives no intended role. Physical file 3TR10I. bug.omail |
S30CHS |
Runtime observation, no purpose | A bug report inspects the font object's array leader; no purpose is given. bug.nlispm |
HL12BI |
Standard load, no purpose | Listed by the FONTS package; no consumer identified. |
SEARCH |
Cross-version direct runtime | The System 46 font's first ten glyphs are visibly labeled extended-search operators. Maintained System 303 source inserts font-1 codes 0 through 9 for open nesting, close nesting, OR, AND, negation, whitespace, repetition, delimiter, alphabetic, and any-character operators, and assigns FONTS:SEARCH to that minibuffer. The two compiled rasters are not asserted to be byte-identical. search.lisp, screen.lisp |
20VR |
Inventory only | TODO: no purpose established. |
31VR |
Inventory only | TODO: no purpose established. |
40VR |
Inventory only | TODO: no purpose established. |
BIGVG |
Inventory only | TODO: no purpose established. |
CPT-13FG |
Inventory only | TODO: physical file 3213FG; no purpose established. |
CPT-HL10 |
Inventory only | TODO: physical file 32HL10; no purpose established. |
CPT-HL10B |
Inventory only | TODO: physical file 3HL10B; no purpose established. |
GERM35 |
Inventory only | TODO: no purpose established. |
S35GER |
Inventory only | TODO: no purpose established. |
SAIL12 |
Inventory only | TODO: no purpose established. |
TR12B1 |
Inventory only | TODO: no purpose established. |
The common compiled-file evidence is the preserved LMFONT media inventory. N43XMS and NTOG are older compiled files corresponding to the source-backed 43VXMS and TOG names. They occur only in that inventory; the established uses of the newer logical names are not automatically claims about those older artifacts.
Alias and identity decisions
CPTFONis the source/QFASL artifact whose cold load provides runtimeFONTS:CPTFONT. This is an operational artifact-to-object mapping, not evidence that two runtime Lisp symbols are aliases. This specific mapping is directly evidenced; it is not a general rule for similar names.HIPO10is not equated withHIPPO10, which occurs in generated XGP font tables. The snapshot supplies no alias declaration, and the checked XGP bodies do not select theHIPPO10slot.CPT-HL10,CPT-HL10B, andCPT-TR10Iare distinct compiled logical names, not aliases for the source-backedHL10,HL10B, andTR10Irows.TR12B1is not treated as an alias forTR12B; no mapping was found.MAT10AandMATH10are separate archive entries.
Open questions
- Search additional period load bands, user files, source tapes, manuals, and application QFASLs for the 67 source-backed and 14 compiled-only names whose purpose remains
TODO. - Compare the running System 46
FONTSpackage and editor font maps with this static source audit. That can discover dynamically loaded names, but a single running world still would not prove every historical use. - Establish whether the
25FR3,GACHA8, andMATH10printer resources are derived from, or merely share names with, the recoveredLMFONTraster sources.
Last verified: 2026-07-17.