Inter-Office MemorandumToWhom it May ConcernDateJuly 19, 1980FromLyle RamshawLocationPalo AltoSubjectGuide to [Ivy]OrganizationCSLXEROX Filed on:[Maxc1]AltoFontGuide.bravo[Maxc1]AltoFontGuide.press[Ivy]Memos>AltoFontGuide.bravo[Ivy]Memos>AltoFontGuide.pressIn the early part of 1980, I poked around the InterNet and gathered up all of the Alto fonts that Icould find. With the assistance of Lindsey Halloran, I edited these font to update them to the latestcharacter code conventions: that is, I put in the third generation of special characters. I thenshipped all of the resulting Alto fonts onto the directory [Ivy]. Different versions of aparticular font are distinguished through the use of subdirectories. The purpose of this memo is toexplain what those subdirectories are. If you need an Alto font for, say, TimesRoman10, Irecommend that you List all of the files that match the pattern[Ivy]*TimesRoman10.al,and then choose from among them on the basis of the following information.Criteria for choosing an Alto font:One important reason to prefer one Alto font over another is aesthetics: you like it because youlike it. I don't presume to make any judgments on that one. But the other two important criteriaare unfortunately inversely correlated: fidelity and legibility. If the screen is to be a faithful modelof the printed page, then characters on the Alto screen should be the same size as the ones comingoff the printer. But, since the Alto display is a low resolution bitmap, it is hard to draw charactersthat are both small and good-looking; in particular, it is hard to get them both thin and good-looking. Thus, the designers of most Alto fonts establish some compromise between the thincharacters that fidelity demands, and the wide characters that are easier to read. Different Alto fontartists have assumed different compromise positions over the years; now, you can look over alltheir results and choose the one that best fits your needs.Here is a brief guide to the subdirectories: [Ivy]Original>updated versions of [Maxc1]wide, very legible [Ivy]Thin>Pellar's second generation fontsrather thin, not very legible [Ivy]RoundedWidths>updates of some fonts that Pellar did for ASDthinnest of all: each character has as width the result of rounding the printing width to the nearest Alto dot. . . . (continued on next page)]gpi cq]rX-q7Br ]q]r -q7Br Xq]r-q 7BrSsr M!L!Jj%H% EtG CU B%C @~'> >d =/ N ;?9! 89J 4t# 1ra /b .MS ,[ *K )W&: 'S & L $a)6 "; k, u& ' 1!-8 ;; !  L=]AltoFontGuide2 [Ivy] (that is, the null subdirectory)Pellar's third generation fonts, except for codes above #177roughly the same width as Original, but a different feel [Ivy]EightBit>Pellar's third generation fonts, completeroughly the same width as Original, but a different feelFirst generation Alto fonts: Original>The first generation Alto fonts are very legible, partially because they are fairly wide. When theseAlto fonts were first drawn, there was only one special character: #30=^X was an underline.Thus, Lindsey and I have added all of the third generation special characters ourselves, beforesticking them out on the subdirectory . The only character already in these fonts that wechanged is the single quote, #47. In first generation fonts, this was a symmetric single quote, but itis now a closing quote character; we redrew it so that it would look good opposite the openingquote character, which now appears at both code #7 and code #140.Be warned that several other characters have changed substantially since first generation days: inparticular, the code #55 (which you get by pushing the key to the right of zero) was a minus signin first generation fonts, but is now a hyphen, so it has shrunk substantially. Meanwhile, thecharacters +' at #53 and =' at #75 have grown to a full em in width. Thus, the updated firstgeneration Alto fonts don't correspond too closely to the printing fonts in some cases.Why, you ask, didn't I go through and fix these characters as well, to make them correspond moreclosely to the current printing fonts? My excuse is rather involved, and has its origins in thedifferences between programs and English text. Since TimesRoman and Helvetica are intended astext fonts, it was a reasonable decision to change #55 from minus to hyphen, and to relegate minusto a control code: hyphens are more common in text. But when programming, minus signs aremuch more common; and in addition, most programming languages still think that #55 is a minussign. This discrepancy is normally handled by using the font Gacha for programming purposes.Gacha hasn't changed since first generation days, and a #55 in Gacha is still a minus sign.It transpires, however, that there are people in the world (in CSL, in fact) who don't like the waythat Gacha looks, and prefer to stare at their programs in TimesRoman. For these people, it isbetter if the Alto character associated with #55 remain a minus sign, so that it will look balancedwith plus and equal signs. Of course, if you print a program in TimesRoman, you will just have tolive with hyphens instead of minus signs: nothing I can do about that. But I didn't want to giveanyone the chance to say that my updates had made anything worse. Therefore, I left all of the oldcharacters in the first generation Alto fonts alone, except for the closing quote. If you want thescreen to look more like what comes off the printer, you should use the third generation Alto fontsdiscussed below. If you want to program in TimesRoman, then pull your fonts from .Second generation Alto fonts: Thin>When Ron Pellar produced Alto fonts for the second generation release, he chose to make hischaracters much thinner than those in the first generation fonts, and, as a result, these fonts are lesslegible. Although thinner, they are still not thin enough to be totally faithful to the printed page.Considering how thin they are, I am quite impressed by their legibility, and by how TimesRomanon the Alto screen really looks TimesRomanish.Ron had already gone through these fonts and updated them to the third generation. He storesthem fonts on [XEOS]. The only changes that I meant to make to these fonts beforeputting them out on the subdirectory was to fix obvious bugs that I happened to notice,such as accents out of place, and missing characters. I may have succumbed to temptation in a few ft Gf br7`v<^8 ]([)Y8 Vt2 S]TAltoFontGuide3cases, however, and changed something which just looked a little wrong. If so, I have probablyassumed the role of the apprentice fixing'' the work of the master (Pellar), and I apologize for anydamage that I have wrought. The thinnest of all: RoundedWidths>How far can you go if you are willing to sacrifice style and legibility completely to achieve fidelity?Since a character in an Alto font is always an integral number of Alto pixels in width, the best thatyou could do is to make the width of each Alto character be the result of rounding its printingwidth to the nearest integral number of Alto dots. That was the principle behind a set of Alto fontsthat Ron Pellar produced a while back, and stored on [XEOS]Alto>. If you are using thesefonts on your Alto screen, positions on your display and positions on the page will correspond towithin the accumulated roundoff error. Since Ron had not bothered to update these fonts from thesecond to the third generation of special characters, Lindsey and I had a little more work to do onthese, before we stuck them out on the subdirectory .One warning: to be true to the concept of rounded widths, the accent charcters in these Alto fontsare really zero dots wide. This causes problems for some systems, Bravo in particular. Hence, ifyou try and use these fonts with Bravo, the accents will come out as black rectangles even thoughthe characters really are in the font. In all the other Alto fonts, the accents are one dot wide, tokeep Bravo happy. Note that you can select a one dot wide character, although you have to lookclosely to do so. The truly zero width accent characters in the rounded widths Alto fonts don'tbother SIL, by the way; I haven't checked out other systems.Third generation Alto fonts: and EightBit>As part of the third generation release, Pellar produced an entirely new set of Alto fonts. These areroughly as wide as the Alto fonts, but have a somewhat different feel. Not only didthey have the third generation special characters when I retrieved them, they also have all of theother characters like hyphen, plus, and minus looking the way that they look in the printing fonts.I personally like the appearance of these fonts. Putting these factors together, I chose to put thesefonts on the directory [Ivy] without any qualifying subdirectory; thus, after thecataclysm, these should be considered the standard'' Alto fonts.Now for the details: third generation fonts have special characters not only in the ASCII controlslots, but also associated with eight bit character codes, codes in the range #200 through #377.These eight bit characters are used by BravoX, and possibly by other systems, I don't know. But Ido know that none of the standard CSL software for dealing with text or graphics can handle eightbit characters: it was all written with only seven bit characters in mind. Hence, it seemed pointlessto put the eight bit characters into the new standard'' Alto fonts: for a few years, almost noprograms will let you get at them anyway. Beyond that, the eight bit characters take up valuablespace, and might very well tickle bugs in existing systems. Therefore, before putting these fonts outon [Ivy], I removed all of the characters with eight bit codes. If you want a font thatcontains the eight bit characters, for BravoX or for some other reason, you can find them on thesubdirectory .There is also an issue about naming conventions for these fonts. I retrieved these fonts from[XEOS], the same directory from which I pulled the fonts. Rather than usesubdirectories as I have, Ron Pellar chose to distinguish these new Alto fonts by sticking an E'' intheir name: for example, TimesRomanE10.al. I think that this was a lousy decision for severalreasons. The characters in these fonts are wider than fidelity would demand, and the termsexpanded'' and extended'' are used in typography for fonts with a wider face. One might assumethat the E'' stands for either Expanded'' or Extended''. But if this is what the E'' is supposedto imply, then it should come after the point size number, not before it. After all, Condensed, ft Gf brG `v^ ^ [t/ X2rg VP T)6 S<e QF O T NF9( LI JD GD FX DZZ B8- A C ?d` == :ntB 7rL 5x!? 3^ 2)S 015 .] -3B )&< (=@ & W $?" #GV !B P Qb "A K [  N e] f S oQ V T y R 2>]]AltoFontGuide4Regular, and Expanded are all legal face designators in the PARC font software, just like Bold andItalic. As supporting evidence for this point of view, let me note that whoever pulledTimesRomanE12.al from [XEOS] to put it on the directory [Maxc1] chose to rename it toTimesRoman12E.al (and that person wasn't me!). On the other hand, it is perfectly conceivablethat the E'' really designates Extended'' in the sense that the character set is extended to includethe eight bit characters. If this was the intent, it is easier to see why the E'' would go before thenumber. But, in this case, an analogy with TimesRomanD would lead one to assume thatTimesRomanE designated a different family than TimesRoman, which is false: the font on theprinters is TimesRoman without the E''. In summary, it seems to me that the E'' in the fontnames is a poor idea; I chose to delete the E'' from the names of all of the third generation Altofonts, and to distinguish them with the use of subdirectories as descibed above. Circumflexes:One types a circumflex accent in TimesRoman and Helvetica by typing both a grave accent and anacute accent. Since the accents in most Alto fonts have a spacing width of one rather than zeropixels, it makes a difference which of the grave and acute accents you type first. All of theupdated Alto fonts on [Ivy] have been designed with the intent that the circumflex be typed in theorder ^K ^E'' rather than the reverse; this order allows the group of three accents to look better.Just remember that K before E is the KEy'', while E before K is wrong: EeK!''. Alto Font Baselines:Many of the oldest Alto fonts had their baselines off by one, according to the current conventionsfor Alto fonts. This off by one bug has been fixed in all of the updated fonts.Different Faces:The fonts produced by Pellar were mostly drawn with Bravo in mind, and Bravo synthesizes its ownbold and italic from the vanilla Alto font. Other systems however, such as Draw, demand that yousupply an Alto font in the face that you desire. There aren't very many Alto fonts in either bold oritalic, and none in bold-italic. But you can find what there is, updated to the third generation ofspecial characters, on [Ivy]. The subdirectory has the most fonts in non-vanilla faces.Different Families:The text above was mostly written with the families TimesRoman and Helvetica in mind. Severalversions of Alto fonts also exist for Gacha, Hippo, and Math in some sizes: they have also beenupdated and moved to [Ivy]. I put them on the subdirectory that seemed mostappropriate. For other families, it is generally the case that at most one Alto font exists for eachsize; in these cases, I put that font on [Ivy] with the null subdirectory. ft Gf brE `vW ^-2 ](N [] Yh X2F V:! T)7 S<!D QT NFt Jr// IP(8 G+4 FP DZP BT ?dt <r[ :nP 7t 3rW 2)A 0H .L -3(8 + (=t $rV #G3- !W ` QX   >W< TIMESROMAN  TIMESROMAN TIMESROMAN LOGO TIMESROMAN   "j/%#MaltofontGuide.bravo Ramshaw, LyleJuly 19, 1980 9:35 AM