https://moritzfuerst.net/projects/smalltalk-type Skip to main content Moritz F. Furst Smalltalk Type An ongoing restoration project of the typefaces used in the graphical user interface of the Smalltalk-80 system. Screenshot of a Smalltalk-80 interface, with three white views open on a gray background The Smalltalk-80 interface, this screenshot was taken using Dan Banay's implementation Like so many, I have been fascinated by Smalltalk, particularly because of the vision of computing it represents.^1 I am also very fond of those early PARC GUIs and their aesthetic. After playing around with Smalltalk-80 recently, I wanted to know more about its typefaces and have versions of them for my own use. The Typefaces of Smalltalk-80 Somewhat ironically, the fonts used in Smalltalk-80 (which was the "release version", the first variant made available outside of PARC) were a substantial regression from the bespoke designs and elaborate features the PARC Learning Research Group had going on for the Alto and earlier versions of Smalltalk. The Alto not only supported raster /bitmap fonts, but also high-quality "spline fonts", where the outline of a glyph shape is represented with a series of curves: Essentially the ancestor of how we use fonts today. PARC had built interactive font editors both for outline ("Fred") and raster ("PrePress") type.^2 Several Alto fonts were proportionally-spaced, and included numerous special characters. Earlier versions of Smalltalk included a number of typefaces, perhaps the most memorably is Cream by Bob Flegal, based on a design by Alan Kay.^3 Cream later gained additional fame when Bill Atkinson converted it to the Lisagraf font format and it became the first system font of the Macintosh. Apple's Smalltalk implementation also used Cream: Screenshot of the Macintosh Smalltalk-80 interface, with three white views open on a gray background Smalltalk-80 for the Macintosh, this screenshot was taken running the 0.3 Release on System 6 in the Mini vMac emulator For the Smalltalk-80 release, these all were axed. Alan Kay notes in The Early History of Smalltalk:^4 Only a few changes had to be made to the NoteTaker Smalltalk-78 to make a releasable system. Perhaps the change that was most ironic was to turn the custom fonts that made Smalltalk more readable (and were a hallmark of the entire PARC culture) back into standard pedestrian ASCII characters. According to Peter Deutsch this "met with heated opposition within the group at the time, but has turned out to be essential for the acceptance of the system in the world." The "heated opposition" of which Kay writes becomes more understandable when we realise how the move back to ASCII was not a matter of typographic flourishes of the interface. It directly impacted the Smalltalk language.^5 What Kay glosses over here as "more readable" has nothing to do with a nice type design. The custom fonts of the Alto had a function. For example, in Smalltalk-76, you would copy an element from an array to another like this: a * i - b * i Very elegant and visually expressive. With no special characters available, the syntax had to be changed. In Smalltalk-80, this statement would eventually look like this: a at: i put: (b at: i) Less "readable" indeed. I don't yet know why the earlier typeface designs were not kept with a reduced ASCII character set. The four simple fonts that shipped with Smalltalk-80 have generic names, perhaps reflecting the team's opinion on them: Sans-Serif10, Sans-Serif12, Serif10, and Serif12. They all have regular, italic and bold variants. The letters are proportional, not fixed-width: I quite like these pedestrian ASCII character glyphs, and I believe they deserve to be converted for contemporary use. They somehow have a wonderfully friendly character. Unfortunately, I could not yet find out who actually designed them. My guess would be that they were made by Robert Flegal as well (Please email me if you have any information!) Restoration The project builds on Leah Neukirchen's BDF release of the regular weight of Sans-Serif10 in 2021. Leah was also kind to confirm a trace of the glyphs to be more practical than trying to decode whatever format these fonts are in in the Smalltalk-80 environment. "Sans-Serif10" typed out for subsequent redrawing from the screenshot. Curiously, I also found two ligatures by accident. While 'fl' does not differ from simply printing the 'f' and 'l' characters after each other in Sans10, the 'ffi' is custom: the 'f' crossbars are connected! The glyph shapes and spacing widths were reconstructed from the original Xerox virtual image tape shared by Mario Wolczko, using the excellent Smalltalk-80 implementation by Dan Banay. After consulting - what else - Adele Goldberg's documentation to remind myself how to change fonts in the editor, I sampled the typefaces. The bold variant of "Sans-Serif10", with a pixel overlay to reconstruct the glyph shapes and letter spacing Eventually, I hope to have time to restore all four of them, and also make extended character sets available-- This is a work in progress. You can currently see some cuts of Sans10 in action on my micro blog. Downloads Nota bene: I don't have a Windows system or a low-res display at hand for testing, and I'm not a professional type designer by any stretch of the imagination. Please send me a report if the non-bitmap versions of these fonts don't perform as they should. License: Bitmapped (pixel) fonts, since they are considered computerized representations of a typeface, are not copyrightable in the U.S. We can therefore consider the Smalltalk-80 typefaces to be public domain. The fonts made available here are under OFL. Smalltalk Sans10 Smalltalk Sans10 is a faithful restoration of the "Sans-Serif10" 10px typeface. The character set covers the original printable ASCII. Compared to Leah's BDF version of the regular weight, Smalltalk Sans10 Regular differs in a few glyph shapes and spacings (most notably 'P' and 'R', which are 1px wider in her version than what I reconstructed from Smalltalk-80). The downloads include the whole family. * BDF (.zip) * Panic Playdate (.zip) * TTF (.zip) * OTF (.zip) Smalltalk Sans10 Extended This version of Sans10 features an extended character set. I have tried my best to match the style and spirit of the original in the design of the additional glyphs. Extended supports ISO-Latin-1, plus a few extra characters (mostly based on my own needs). In Extended, the arrows that represent the circumflex and the underscore in the original character set have been moved to the arrows block (U+2191 and U+2190), replaced by proper circumflex and underscore glyphs. The grave accent also has been replaced, the glyph shape has been moved to U+2018. Extended comes with special glyphs: The caret (U+2038) is Smalltalk-80's cursor, and the Personal Computer (U+1F4BB) is, of course, the Alto. I'm not fully happy with all the glyphs yet, but you can already test drive the Regular: * BDF (.zip) * Panic Playdate (.zip) * TTF (.zip) * OTF (.zip) * WOFF, WOFF2 (.zip) Here is a table of the included glyphs: Changelog: * 26 March 2023: Added Sans10 Extended Regular v0.003 * 24 March 2023: Added Playdate version of Sans10 * 23 March 2023: Initial release, Sans10 Regular, Sans10 Italic, Sans10 Bold --------------------------------------------------------------------- 1. You can try many different emulated Smalltalk environments - including Smalltalk-80 - in your web browser at Dan Ingalls' "Smalltalk Zoo". More resources on the history of Smalltalk can be found at the Computer History Museum. - 2. Sproull, Bob. 1977. Font Representations and Formats. Internal Report. Palo Alto, CA: Xerox Palo Alto Research Center (Available on archive.org). For explanations of the font production process, including depictions of the font editors, see Baudelaire, Patrick. [1985] 2016. "The Xerox Alto Font Design System." Visible Language. 50 (2):13-25 (Available online); and Sproull, Robert F. 2018. "The Xerox Alto Publishing Platform." IEEE Annals of the History of Computing. 40 (3):38-54. doi: 10.1109/ MAHC.2018.033841110 - 3. Ingalls, Dan, Bert Freudenberg, Ted Kaehler, Yoshiki Ohshima, and Alan Kay. 2014. Reviving Smalltalk-78: The First Modern Smalltalk Lives Again. Presentation. International Workshop on Smalltalk Technologies, 19 August 2014, Cambridge. (PDF, p.9) - 4. Kay, Alan C. 1993. "The early history of Smalltalk." ACM SIGPLAN Notices. 28 (3):69-95. doi: 10.1145/155360.155364 p.87 - 5. Ingalls, Daniel. 2020. "The Evolution of Smalltalk: From Smalltalk-72 through Squeak." Proceedings of the ACM on Programming Languages 4(HOPL): Article 85 doi: 10.1145/3386335 pp.57-58. I'm reproducing Dan's example here. - --------------------------------------------------------------------- * Planted 23. March 2023 * * Last tended 26. March 2023 Copyright (c) 1999-2023 Moritz F. Furst * Impressum * Privacy Policy