Number: 2197

Date: 18-Sep-84 12':53':56

Submitter: Roach

Source: Roach

Subject: All system packages should use FONTPROFILE to get fonts': eliminate special font variables

Assigned To: 

Attn: Lisp, Kaplan

Status: Open

In/By: 

Problem Type: Design - UI

Impact: Moderate

Difficulty: 

Frequency: 

Priority: Hopefully

System: Windows and Graphics

Subsystem: Fonts

Machine: 1100

Disk: 

Lisp Version: 27-Aug-84 21':14':00

Source Files: 

Microcode Version: 5121

Memory Size: 2688

File Server: 

Server Software Version: 

Disposition: '
["Sannella.PA" "19-Sep-84 16':53':50" Subject': Attn': Status':(Wish->Open) Priority':(->Hopefully) Description':]

Description: '
     I am not innocent on this matter myself, but no one else is setting a good example either.  I think the font free-for-all should stop.  All references to fonts in all parts of the system and in all LISPUSERS packages should key off already recorded FONTPROFILE globals and/or FONTPROFILE globals dutifully recorded by their applications.  Many of these globals look like they just might as well be some of the existing font class definitions.  Examples':'
     ARBOLDFONT ← BOLDFONT'
     ARBUTTONFONT ← BOLDFONT'
     ARFONT ← DEFAULTFONT'
An application APP that envisions the user wanting a settable APPFONT should add APPFONT to FONTPROFILE and initialize APPFONT to one of DEFAULTFONT, BOLDFONT, LITTLEFONT, or BIGFONT (call the standard definitions for these "THE BIG 4") if at all reasonable.  User init files can do their own additions to FONTPROFILE and if package APP detects that APPFONT is already on FONTPROFILE, then APP should not redefine APPFONT, but instead use what it finds.'
     As much as possible, any application APP should be font insensitive.  If APP is designed to look beautiful with APPFONT, it should at least look reasonable with nearby fonts.  In particular, if APPFONT is initialized to any of THE BIG 4, then APP should still look reasonable when APPFONT is initialized to any other of THE BIG 4.  More hopefully, any APPFONT with size 8-14 can be replaced by any other 8-14 font and yeild good results.  Every application APP must avoid hardwired constants.'
     The following globals are either clear offenders or highly suspect of violating the conventions I propose above':'
(1) AREDIT (Sanella)'
     ARBOLDFONT'
     ARBUTTONFONT'
     ARFONT'
(2) BREAK PACKAGE (Burton)'
     BACKTRACEFONT'
(3) BROWSER'
     BROWSERFONT '
(4) CHAT (VanMelle)'
     CHAT.FONT'
(5) FILEBROWSER (Jellinek)'
     BROWSERINFOMENUFONT'
     DEFAULTBROWSERFONT'
     DEFAULTBROWSERPRINTFONT'
     FBPROMPTFONT'
(6) LAFITE (VanMelle)'
     LAFITEBROWSERFONT'
     LAFITEDISPLAYFONT'
     LAFITEEDITORFONT'
     LAFITEENDOFMESSAGEFONT'
     LAFITEHARDCOPYFONT'
     LAFITEMENUFONT'
     LAFITETITLEFONT'
(7) MENU (Burton)'
     MENUFONT'
(8) SPY (Masinter)'
     SPY.FONT'
(9) TEDIT (Sybalsky)'
     TEDIT.DEFAULT.FONT'
     TEDIT.ICON.FONT'
     TEDIT.PROMPT.FONT'
     TEDIT.TERMSA.FONTS'
(10) TTYIN (VanMelle)'
     TTYINBOLDFONT'
(11) Other'
     CHANGEFONT'
     DECREASING.FONT.LIST'
     SYSTEMFONT'


Workaround: 

Test Case: 

Edit-By: Sannella.PA

Edit-Date: 19-Sep-84 16':53':50