1
0
mirror of synced 2026-01-30 13:47:04 +00:00
Files
Interlisp.medley/docs/internal/MEDLEYFONTRATIONALE.TEDIT
rmkaplan 65df2ba6a4 Hardcopy to printer (#2290)
* Separate interface for imagefile creation from the send-to-printer interface
* SEND.FILE.TO.PRINTER recognizes :DEFAULTPRINTER
* Various changes to address #2414
* Move BITMAP properties from PRINTERTYPES to PRINTFILETYPES.
* Fix ShellOpen, add UNIX-TMP-FILE-NAME
* Include COERCEFONTSPEC changes in anticipation of HTML streams
* PDFSTREAM compatible with new imagefile architecture plus able to convert non-local Postscript streams
* SKETCH compatible with new imagefile/printing architecture
* TEDIT compatible with new printing architecture
* Tedit files are of type TEDIT, not TEXT, new interface function TEDIT.TO.IMAGEFILE
* ATTACHEDWINDOW:  DOATTACHEDWINDOWCOM allows menu to have a form to EVAL, like the background menu
* WINDOW: fix menus for new hardcopy architecture
* Remove FLUSHFONTSINCORE--FLUSHFONTCACHE is more general
* LOAD character names as suggested in PR #2398
* HARDCOPYW respects file extension
* VIEWER as default printinghost
* SLASHIT interprets '.
* MCCS to UTF8 conversion on printer name
* Deal with {LPT}.LOCAL and upper casing
* @ LPT printers work with exact upper/lower matching
* Using NSPRINT functions to recognize fax
* Let "UNIX" be the name of the default printer of type UNIX
2026-01-26 15:38:22 -08:00

26 lines
4.8 KiB
Plaintext
Raw Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
Medley MEDLEYFONTRATIONALE
2
4
1
MEDLEYFONTRATIONALE
1
4
By: Ron Kaplan
This document last edited on Janiary 10, 2026.
Introduction
This is a description of the motivations for and strategy for the font and character set changes we made in 2025. The files MEDLEYFONTFORMAT.tedit, MCCS.TEDIT.tedit, and FONTCODECHANGES.tedit, all in {MEDLEY}<docs>internal>, provide the details.
Rationale
In a major effort during this year we addressed some significant shortcomings and inconsistencies in Medley's legacy font and character-encoding architectures. In its early implementation, in the late 1970s, Interlisp-D incorporated the font and character technologies that had been developed for the Xerox Alto. Xerox subsequently developed the multilingual Xerox Character Coding Standard (XCCS, a precursor to Unicode), and XCCS together with a collection of compatible fonts were also layered into Interlisp. The result has been serviceable but not satisfactory: the appearance of a character code in a string or on a file, for example, depended on which font happened to be installed when that code was rendered on the display or printed
In 2025 we freed ourselves from previous font and character constraints by defining the Medley Character Code Standard (MCCS). MCCS conforms mostly to XCCS but some of its codes are carried over from the Alto assignments. Of importance, defining a separate standard also makes clear that we are no longer limited to just the character definitions of the now-frozen Xerox standard. The basic font architecture was also revised so that character-code mappings of all our pre-existing fonts could be modified to conform to the new standard. The result is that there is now a consistent font-independent rendering of every character code.
As part of the font recoding effort we created a new "Medleyfont" file-format to give us better control over the reading and writing of font-metric information. In another significant effort, we were then able to extract the metric and glyph-bitmaps from externally available BDF fonts, write them in Medleyfont files, and easily make them available under the new architecture, either to fill in missing character information in our existing fonts, or to install new fonts that comport well with external standards.
(SEQUENCE NIL NIL (0 0 0 0) ((PAGE NIL (PAPERSIZE Letter FOLIOINFO (ARABIC "" "") STARTINGPAGE# 1) (0 0 612 792) ((FOLIO NIL (PARALOOKS (QUAD CENTERED) CHARLOOKS (SUPERSCRIPT 0 INVISIBLE OFF SELECTPOINT OFF PROTECTED OFF SIZE 10 FAMILY MODERN OVERLINE OFF STRIKEOUT OFF UNDERLINE OFF EXPANSION REGULAR SLOPE REGULAR WEIGHT MEDIUM INVERTED OFF USERINFO NIL STYLE NIL) FORMATINFO (ARABIC "" "")) (174 36 288 36) NIL) (HEADING NIL (HEADINGTYPE RUNNINGHEAD) (84 744 528 36) NIL) (TEXT NIL NIL (84 96 456 600) NIL))) (ALTERNATE NIL NIL (0 0 0 0) ((PAGE NIL (PAPERSIZE Letter FOLIOINFO (ARABIC "" "")) (0 0 612 792) ((FOLIO NIL (PARALOOKS (QUAD CENTERED) CHARLOOKS (SUPERSCRIPT 0 INVISIBLE OFF SELECTPOINT OFF PROTECTED OFF SIZE 10 FAMILY MODERN OVERLINE OFF STRIKEOUT OFF UNDERLINE OFF EXPANSION REGULAR SLOPE REGULAR WEIGHT MEDIUM INVERTED OFF USERINFO NIL STYLE NIL) FORMATINFO (ARABIC "" "")) (174 36 288 36) NIL) (HEADING NIL (HEADINGTYPE RUNNINGHEAD) (84 744 528 36) NIL) (TEXT NIL NIL (84 96 456 600) NIL))) (PAGE NIL (PAPERSIZE Letter FOLIOINFO (ARABIC "" "")) (0 0 612 792) ((FOLIO NIL (PARALOOKS (QUAD CENTERED) CHARLOOKS (SUPERSCRIPT 0 INVISIBLE OFF SELECTPOINT OFF PROTECTED OFF SIZE 10 FAMILY MODERN OVERLINE OFF STRIKEOUT OFF UNDERLINE OFF EXPANSION REGULAR SLOPE REGULAR WEIGHT MEDIUM INVERTED OFF USERINFO NIL STYLE NIL) FORMATINFO (ARABIC "" "")) (174 36 288 36) NIL) (HEADING NIL (HEADINGTYPE RUNNINGHEAD) (84 744 528 36) NIL) (TEXT NIL NIL (84 96 456 600) NIL)))))))1$4È$È4È $È1È$1ŠŠ8$1ŠŠ8$1ŠŠ8$JÈ$È PAGEHEADING RUNNINGHEAD/MODERN
(CHARPROPS (COLOR . BLACK)).GACHA
(CHARPROPS (COLOR . BLACK))/MODERN
(CHARPROPS (COLOR . BLACK))/MODERN (CHARPROPS (COLOR . BLACK))/MODERN(CHARPROPS (COLOR . BLACK))3
TIMESROMAN$(CHARPROPS (COLOR . BLACK)) HRULE.GETFN HRULE.GETFN HRULE.GETFN HRULE.GETFN HRULE.GETFN. ø
ê(((CHARENCODING . MCCS)))PROPS:#DATE:k,#sú(zº