Inter-Office MemorandumToWhom it May ConcernDateApril 1, 1980FromLyle RamshawLocationPalo AltoSubjectEnsuing font cataclysmOrganizationCSLXEROX Filed on:[Maxc1]EnsuingCataclysm.bravo[Maxc1]EnsuingCataclysm.press[Ivy]Memos>EnsuingCataclysm.bravo[Ivy]Memos>EnsuingCataclysm.pressThe time has come for an update in CSL's font world. Sometime soon, I plan to replace many ofthe printing fonts in Clover's current font dictionary with new and better versions. TheTimesRoman and Helvetica families will be replaced by Ron Pellar's latest release; and an entirelynew set of TEX fonts produced by Don Knuth with Metafont will also make their debut. As thefirst step towards effecting this cataclysm, I am pleased to announce the release of a hoard ofupdated Alto fonts: every Alto font for TimesRoman and Helvetica that I could find over theInterNet has been updated to reflect the state of the world after the cataclysm. The details of thisAlto font release are discussed below.Like most pieces of progress, this cataclysm will cause some joy and some pain. I recommend thateveryone read this message, to get a vague sense of what is going to happen. Experts may also wishto read one or more of a group of subsidiary memos that discuss various issues related to thecataclysm in greater detail. Here is a list of all of the documentation relating to the cataclysm:EnsuingCataclysm (The text of this message.)SpecialCharactersTexFontsAltoFontGuideUniversityFontsEach of these is available on [Maxc1] and on [Ivy]Memos> in both a .Press'' and a.Bravo'' version.In addition, there are two other items of font documentation that you might want to look at rightafter the cataclysm. First, recall that the file [Maxc1]CloverFonts.Press always contains atabular listing by family name, face, and size of all of the fonts currently installed on Clover, andon those printers who share Clover's font set (Lilac, Menlo, Kanji, Quake, and Rockhopper amongothers). But since the family name of a font doesn't help you much if you are looking for aparticular character, I will be producing another file called [Maxc1]CloverCharacters.Press.For each family of fonts on Clover, this document will have a one page table that shows whatprinting character is associated with each character code. I hope that this file will be an adequatesubstitute for a true Clover font catalogue.By the way, if you think that I have made some wrong decisions in planning this upcomingcataclysm, let me know; after all, I am still something of a novice as a font wizard.]gpi cq]rX-q7Br ]q]r -q7Br Xq]r-q 7BrSsr M$L$Jj(H( Et> C; B%I @~H >,3 =/(4 ;.7 9& 6"? 4c 3CG 1/4.M-,*)W ' $a T " kP c V uN I 'L T e 1, $4 ;V 0 >\EnsuingCataclysm2Terminology:For the purposes of this memo, a font is a means by which certain graphical shapes are associatedwith certain seven or eight bit numbers, called character codes (always expressed in octal, notdecimal). Part of the design of any font is the specification of the correspondence betweencharacters and their codes. Our Roman fonts, for the most part, are extensions of a particularcoding scheme called ASCII (the American Standard Code for Information Interchange). Designedwith teletypes in mind, ASCII sets aside about thirty character codes called the control codes foractions that a terminal might perform, such as tabbing to the next column, advancing to the nextline, etc. Our Roman fonts have begun to use control codes for printing purposes. I will use theterm special characters to refer to printing characters that have been associated with the ASCIIcontrol codes.History:It is helpful to think of the evolution of our fonts over the years in terms of generations. I refer toany font that was produced before October 1978 as a first generation font; their origin is shroudedin antiquity. The first generation fonts have only one special character: the ASCII control code#30=^X is an underline (used by EARS). Ron Pellar's first big release of fonts in November of1978 constituted the second generation. These fonts have about twenty special characters, mostlyvarious ligatures, accents, spaces, and dashes. Ron finished the third generation of fonts in Januaryof 1980. In these fonts, every seven bit code has either a printing role, or an active controlfunction. In addition, printing roles have been given to about forty codes above #177, which I willcall eight bit codes. The subsidiary memo SpecialCharacters lists the character code assignments ofthe various generations of fonts, and discusses some associated issues. What will happen to Clover?Almost all of the TimesRoman's and Helvetica's currently in Clover's data base are secondgeneration. After the cataclysm, they will be third generation. This means that there will be a fewmore special characters associated with seven bit codes for you to use and enjoy. In addition, manylittle glitches will (finally!) go away: the rivers after lower-case x', the too large lower-case o', etc.In addition, there will be other new special characters associated with eight bit codes that probablywon't do you any good, but won't do you any harm either.Now for the bad news: there is one incompatible feature of this conversion from second to thirdgeneration. In second generation TimesRoman and Helvetica, the symbol minus sign is associatedwith two different control codes: both ^N=#16 and ^X=#30. (The character to the right ofzero on the keyboard has code #55; in Timesroman and Helvetica, this code designates a hyphen,not a minus sign.) Third generation TimesRoman and Helvetica have stolen the code ^N for amacron, the horizontal bar accent frequently used in dictionaries to indicate a long vowel. Hence,after the cataclysm, you must use the code ^X if you want a minus sign.In addition, Press files prepared before the cataclysm using ^N's for minuses will not print properlyafter the cataclysm. This will have to be dealt with on a file by file basis. One way, of course, is toreproduce the Press file from more primitive sources, after editing those sources to use the ^X coderather than ^N to specify a minus sign. There is an alternative, however: a program could bewritten to scan a Press file, and replace all of the ^N's in text strings with ^X's. Such a programwould automatically massage pre-cataclysm Press files so that they would print correctly after thecataclysm. I will write this program if I perceive substantial demand: let me know.The Math font is rather a different story. When Ron Pellar produced the second generation fonts,he choose to change many of the character code assignments of the Math font. This blatantincompatibility with the past generated so much protest that CSL decided to keep Clover running ftGf b ^rur< ](0ur [> Y1. X2ur; VQu r T T S<&< QurI O Lt IPr')u r G4u r F7+ DZH Bur" A '? ?d;$ =&> <ur." :nK 7t 3r; 2) Y 013 .h -3K +8 (=D &L $: #GU !R 12 QG  Y [B' ;)  M e Z b U O = yW 2>]kEnsuingCataclysm3with first generation Math. In fact, Clover is still running with first generation Math. In addition,Ron was prevailed upon to rescind these character code changes when the third generation Mathcame out. Third generation Math is exactly like first generation Math, except for the addition ofsome valuable new characters in control slots. Second generation Math (described, unfortunately, inthe Novermber 1978 edition of the Alto User's Handbook) should be forgotten as soon as possible.The cataclysm will convert Clover from first to third generation Math; this conversion is believedto be 100% backward compatible. For details of the new characters and the character mapping, seethe SpecialCharacters memo.The only other fonts substantially affected by the cataclysm will be the TEX fonts. Don Knuth isjust now using Metafont to complete the design of the final fonts for new editions and volumes ofThe Art of Computer Programming. These new fonts are different enough from the old ones thatthey will be treated by the cataclysm as entirely new fonts, rather than simply as new versions. Theold TEX fonts will stay around for a reasonable period in the interests of backward compatibility,after which they will go away. We are also taking advantage of the cataclysm to change the waythat we handle the sizes of TEX fonts; for details, read the TexFonts memo.Fonts for Altos:The biggest issue throughout the history of Alto font construction has been that of character width.Since the Alto display is a low-resolution bitmap, it is difficult to draw small characters that lookgood; furthermore, it is especially difficult to draw characters that are as thin as they are supposedto be and look good. In most Alto fonts, therefore, the characters are actually much thicker thantheir nominal size; that is why they all crowd together in Hardcopy mode. But some Alto fonts arethinner than others.First generation Alto fonts are those found on the directory [Maxc1]; being firstgeneration, they have only one special character, an underline in the ^X slot. They are also fairlywide. When Ron Pellar produced the second generation of printing fonts, he also produced a set ofAlto fonts that are substantially narrower. This makes them more faithful to the printed page, butharder to read. Public opinion in CSL found these second generation Alto fonts unacceptable.Therefore, CSL has continued to use the first generation Alto fonts, even though these fonts werenot updated to include the second generation special characters.For the third generation release, Ron recently produced an entirely new set of Alto fonts that areroughly as wide as the first generation Alto fonts. In my personal opinion, these third generationAlto fonts are fairly good looking; furthermore, they come in lots of sizes and they have all theright special characters. On the other hand, it is well known that there is no accounting for taste,and that change is intrinsically evil. Hence, I anticipated substantial pressure from CSL'ers not tobe torn away from the first generation Alto fonts that they have used for so long.I decided that the only way to keep everyone happy was to allow everyone to roll their own. Inparticular, I took all three generations of Alto fonts as well as special set of very thin Alto fonts thatRon produced for ASD a while back, and brought all of them up to date by adding the thirdgeneration special characters. These new Alto fonts are all available now on the directory[Ivy]. The different versions of each font are distinguished by the use of subdirectories.For the names of these subdirectories and what they mean, read the AltoFontGuide memo. Todate, I haven't done anything about the Alto fonts on Maxc1. I propose that, as part of thecataclysm, the updated first generation Alto fonts be placed on [Maxc1] while Pellar'sthird generation Alto fonts be made available on [Maxc1].By the way, there is one minor detail about these fonts that deserves comment here, concerning thecircumflex accent. To save a character code, the recent TimesRoman and Helvetica fonts have beendesigned so that overprinting a character with both the acute accent (found at #13=^K) and the ftGf brB% `vC ^#? ]('= [F Y,7 X2,5 V S<2/ Q5, Our, NF14 LK JC IPL Ft Br(< A *; ?d$C =G <O :n 7W 5xH 3A! 2)Q 0D .a -3@ )J (=Q & T $ X #Ge !R QM _ S [I O  V eM a C +7 C yA 2>]gEnsuingCataclysm4grave accent (found at #5=^E) will result in a reasonable circumflex accent. If the spacing widthof the accent characters were exactly zero, then it wouldn't matter in which order you put the ^Eand ^K. But, to keep Bravo happy, the spacing widths of the accents must strictly positive. In theprinting fonts, the accent widths, although positive, are small enough that the order of the ^E and^K is almost immaterial. In the Alto fonts, however, the accents are one whole Alto pixel wide; asa result, the order of the ^E and ^K accents does matter to the Alto font designer. Furthermore, itis not just an arbitrary convention! Since the circumflex goes up first and then down, an Alto fontwill look better if it was designed to have ^K ^E'' come out as circumflex than if it was designedfor a ^E ^K'' circumflex. Therefore, all of the updated Alto fonts on [Ivy] have been built withthe assumption that the acute accent will be typed before the grave accent for a circumflex: justremember that K before E is the KEy'', while E before K is wrong: EeK!''.University Impact:This cataclysm will have less of an impact on the universities in the grant program, since they havebeen operating with third generation fonts from the very beginning. I will take advantage of thecataclysm, however, to build a new printing font dictionary for the universities that contains the newsizes and faces that Pellar has produced. In addition, this new dictionary will contain severalrandom fonts like Sail and Apl that were omitted in the first release. Once the updated Alto fontshave been moved to Maxc1, the universities will be encouraged to switch over to them. For moredetails, see the last of the auxiliary memos: UniversityFonts. ftGf brT `vZ ^] ](O [E Yd X2 V VQ T21 S<b QN NFt Jrd IP*7 G?' FK DZ W B2- A ? =u=* TIMESROMAN  TIMESROMAN TIMESROMAN LOGO TIMESROMAN  TIMESROMAN   h"j/%#bensuingCataclysm.bravo Ramshaw, LyleJuly 19, 1980 9:31 AM