# Laurence Penney 🐎 ## About me I’m a software developer specializing in font technology and CSS typography, based in Bristol, UK. You can hire me. Please feel free to [contact me](#Contact). You can ask me to speak at your conference, company or university. I’m probably best known as an expert on variable fonts. I work for Google, Microsoft and others to help people create and explore variable fonts. My [Axis-Praxis](https://www.axis-praxis.org/) website (2016) helps font makers test their fonts, and helps designers understand variable fonts in a page design environment. My open-source [Samsa](https://lorp.github.io/samsa/src/samsa-gui.html) web app (2019) interactively visualizes the mechanics of variable fonts in innovative ways. [FauxFoundry](https://www.fauxfoundry.com) (2019), a joint project with [Irene Vlachou](https://www.ivtype.com), synthesizes matching Greek fonts for webfonts that lack Greek, using parametric variable fonts. From 1999 I worked for Bitstream to create and develop [MyFonts](https://www.myfonts.com), and consulted for the company until 2017. In 2022 with [Borys Kosmynka](https://kosmynka.com) I started the thriving Bristol meet-up group [Letter Luvvers](https://www.letterluvvers.org). ## Things I’ve made ### Samsa (2019–) #### [Website](https://lorp.github.io/samsa/) | [GitHub repo](https://github.com/Lorp/samsa) | [Detailed presentation](https://www.youtube.com/watch?v=T75bZ7ooiFQ) Web app and JavaScript library for visualizing geometric transformations and other data inside variable fonts. Initiated in 2017, the project benefited in 2019 from significant funding from Google. Font engineers and typeface designers use Samsa to understand and debug how a glyph’s control points move when variation axes are adjusted. The app also exports instances (non-variable font files) and SVG graphics for QA and type specimens. The OpenType tables STAT and avar can also be inspected. The underlying library, samsa-core.js, is the basis for a fast Node.js command-line utility that generates static fonts from variable fonts, as well as a polyfill demonstrating how to add variable font support to existing systems. Samsa is written in standard JavaScript with no dependencies, and is published with a libre Apache 2.0 license. ### FauxFoundry (2019–), with [Irene Vlachou](https://www.ivtype.com) #### [Website](https://www.fauxfoundry.com) | [ATypI 2019 presentation](https://www.youtube.com/watch?v=pYNz-fST-Sg) A webfont service providing matching synthetic fonts to expand the character set of Latin fonts. A user drag-drops a Latin font onto FauxFoundry, which generates a few lines of CSS for the user to incorporate into their website. The CSS links to a synthetic Greek font created on-the-fly, hosted at fauxfoundry.com, and specified as the fallback font in the font-family property. Currently working for Greek, providing Greek fallback fonts for fonts that lack Greek. The system works by taking 12 measurements from key glyphs in the Latin font (corresponding with the [Type Network parametric axes](https://variationsguide.typenetwork.com)), and applies them as variation settings for the 12 axes of our parametric font. We presented FauxFoundry at [ICTVC Patras 2019](https://ictvc.org/2019/en/), at [ATypI Tokyo 2019](https://www.atypi.org/conferences/tokyo-2019) in our talk [Parametric Fallback Fonts for the Web](https://www.youtube.com/watch?v=pYNz-fST-Sg) (20 mins), and at [Grapholinguistics in the 21st Century](https://grafematik2020.sciencesconf.org). Specimens: [1st edition](https://archive.org/details/fauxfoundry-fauxgrec-2019/mode/2up), [2nd edition](http://futuretext.org/fauxgrec-a-la-grecque-specimen-by-fauxfoundry). ### Axis-Praxis (2016–) #### [Website](https://www.axis-praxis.org/) | [Launch video](https://vimeo.com/189350146) | [Typo Labs 2017 presentation](https://www.youtube.com/watch?v=16QIZrRxafY) The original playground website for variable fonts, launched October 2016, enables font makers and front-end developers (and others fascinated by the new variable font possibilities of OpenType 1.8) to play with a selection of the new fonts. Font makers can also drop their own fonts onto the app and immediately test them in an environment resembling a design application, with variable font axis sliders alongside controls for font size, text alignment and OpenType features. A [blog](https://www.axis-praxis.org/blog), [resources page](https://www.axis-praxis.org/resources) and [Twitter feed](https://twitter.com/axis_praxis) actively encourage the new possibilities of variable fonts. ### Variable font experiments (2016–) [Muybridge’s galloping horse as a variable font](https://codepen.io/lorp/pen/PRdNYq) | Fit-to-Width [Axis-Praxis blog](https://www.axis-praxis.org/blog/2016-11-24/10/demo-resize-textbox-with-variable-fonts-aka-fit-to-width) [GitHub](https://github.com/Lorp/fit-to-width) [Skia](https://www.axis-praxis.org/demo/1/resize-textbox) [Gimlet](https://www.axis-praxis.org/demo/5/resize-textbox-gimlet) [Avenir](https://www.axis-praxis.org/demo/7/resize-textbox-avenir) [Fit](https://www.axis-praxis.org/demo/4/resize-textbox-fit) [responding to slider]([Fit-to-Width](https://codepen.io/lorp/pen/rKMvZP) [responding to window width](https://codepen.io/lorp/pen/BVOMgj) | [Rotating cube](https://www.axis-praxis.org/playground/cube/) | [Progressive disclosure for variable fonts](https://codepen.io/lorp/pen/KeKogL) | [Simple weight slider](https://codepen.io/lorp/details/ZEbqGYG) ### MyFonts (1999–2017) #### [Website](https://www.myfonts.com/) Founder member of the team that created [MyFonts](https://www.myfonts.com/) as a startup within Bitstream, and developed it to become market leader. Multiple roles included: project manager, database design lead, recruiting key specialists, marketing, foundry relations, foundry dispute resolution, and lead developer of several systems including font import and webfont processing. Consulting continued through the company’s 2012 acquistion by Monotype, until 2017. ### Other font projects **TTJS** (2013) Prototype web app demonstrating the practicality of JavaScript and SVG to offer cross-platform font parsing and interactive glyph outline editing. Fonts can be loaded and glyph outline points can be dragged around. Edited fonts are saved to the Downloads folder. **TypeCaster** (1996–1998) TrueType font inspector for Windows. Key ability is debugging and demonstrating TrueType hints by stepping through a glyph’s instructions, while displaying its changing outline. **TrueType hinted fonts** (1996–) Hinting TrueType fonts using Visual TrueType and FontLab for various clients. **TrueType C interpreter** (1993–1998) Rasterizer and TrueType hint interpreter written in C, for use on industrial printers. **Interactive Typeface Manipulator** (1991–1992) Prototype parametric font engine, written in C for Unix/X-Windows. This was my final-year university project (B.Sc. Computer Science, University of Wales, Cardiff). ## Speaking and writing about fonts **[Typesetting Trains](https://www.youtube.com/watch?v=2IeaPuNM6Nc)** A talk about the various ways trains and railways have been represented using fonts, and how thinking about trains could influence developments in font technology *(ATypI All Over 2020, 20 mins)* **[Samsa video workshop](https://www.youtube.com/watch?v=T75bZ7ooiFQ)** Online video workshop showing font makers around my variable font visualization app Samsa (see above), including delta sets, the STAT and avar tables, the export of instances and SVG images, and making instances on the command line *(YouTube, May 2020, 90 mins)* **[FauxFoundry: parametric fallback fonts for the web](https://www.youtube.com/watch?v=pYNz-fST-Sg)** Introducing FauxFoundry, which creates matching Greek fallback fonts from a parametric variable font *(ATypI Tokyo 2019, 20 mins)* **[Talking to web designers about variable fonts](https://www.youtube.com/watch?v=lVByGlcYEiY)** Explaining the efficiency, tweakability and responsiveness of variable fonts to CSS people, and learning from CSS people *(TypoLabs Berlin 2018, 40 mins)* **[Laurence Penney on Variable Fonts](https://pixelpioneers.co/blog/2018/speaker-spotlight-laurence-penney)** Interview by Oliver Lindberg before my talk at Pixel Pioneers, Bristol *(Pixel Pioneers, 2018)* **[Variable fonts for CSS developers](https://www.dotconferences.com/2017/11/laurence-penney-variable-fonts)** A million times the possibilities in much less bandwidth *(dotCSS Paris 2017, 20 mins)* **[Variable Fonts: a talk with Laurence Penney](https://medium.com/@Lorp/variable-fonts-a-talk-with-laurence-penney-d6f8e9777007)** Interview with Clara Weinreich of Slanted Publishers *(Slanted Publishers, 2018)* **[Axis-Praxis and variable fonts](https://www.youtube.com/watch?v=16QIZrRxafY)** Some thoughts from the first few months of variable fonts *(TypoLabs Berlin 2017, 40 mins)* **[Axis-Praxis intro](https://vimeo.com/189350146)** Short video made to launch Axis-Praxis, the variable font playground for the web, on 28 October 2016 *(Vimeo, 5 mins)* **[Delighting and reassuring: fontmakers as toolmakers](https://www.youtube.com/watch?v=a_0icx5icNI)** Making fonts delightfully, using colour, variations and more *(Typofest 2016, 32 mins)* **[TrueType Typography](http://www.truetype-typography.com)** A fan site for TrueType font technology, explaining outlines, hinting, GX fonts, and various terminology. Includes an interview with TrueType inventor Sampo Kaasila. Not updated since around 1999 but people tell me it’s still useful! *(Website, 1996–1999)* **University of Reading, Department of Typography & Graphic Communication** Numerous workshops as visiting lecturer on the subjects of TrueType hinting, variable fonts and parametric fonts for the [MA Type Design](http://typefacedesign.net/courses/matd/) and [TDi](http://typefacedesign.net/courses/tdi/) courses *(2002–present)* **Talks and workshops at universities, companies and conferences** on variable fonts, hinting and typeface design. Hosts include TYPO Labs Berlin, PJATK Warsaw, University of Gothenburg, Kerning Faenza, dotCSS Paris, isType Istanbul, TEI Athens, Typotechnica Heidelberg, ICTVC Patras, Ampersand Brighton, ATypI (various), Tiro Typeworks, Monotype, Google, Microsoft. ## Beyond fonts ### One-dimensional maps (2010–) #### [365typo article](https://www.lorp.org/resources/1dmaps/365typo%20242-244%20penney.pdf) | [Workshop photos](https://www.flickr.com/photos/lorp/albums/72157685307428835) | [Sketchnotes by Eva-Lotta Lamm](https://www.flickr.com/photos/evalottchen/8966206865/) Ongoing research into historical, current and theoretical representations (including maps) of one-dimensional geographic features. My use of the term “one-dimensional” comes from the idea that rivers, roads, railways, coastlines, frontiers, flight paths and other journeys are better served by graphics of extreme aspect ratios than by maps in a roughly square format. ### SnapMap (2003–) #### [3D flight between photos (video)](https://www.lorp.org/resources/snapmap/video/SnapMap200411120722_640x480_h264.mp4) | [Slingshot view (video)](https://www.lorp.org/resources/snapmap/video/SnapMap-piccadilly-circus.mp4) | [WhereCamp 2011 Berlin (slides)](https://drive.google.com/file/d/0Bx0VD0qF19emUGhuWFZIdkdtZzA/view) A system for recording and displaying photos according to their geographic location, orientation and focal length as well as a timestamp. In principle all photographs (and many drawings and paintings) could have this metadata added, if only approximately. In SnapMap, photographs appear in 3D space as pyramid-shaped [viewing frustums](https://en.wikipedia.org/wiki/Viewing_frustum) that define the camera’s view, or in 2D map views as triangular cross-sections of rotated frustrums. The vast majority of photographs being approximately horizontal leads to the idea of the Slingshot View, defined by a user specifying three latlongs on a map. ### Talks and workshops Presentations and workshops on one-dimensional maps, schematic maps and the SnapMap project. Hosts include universities ([University of Reading](http://www.reading.ac.uk/ready-to-study/study/subject-area/typography-and-graphic-communication-pg/ma-information-design.aspx), [University of the Arts](https://www.uarts.edu), [TU Wien](https://www.tuwien.at/en/), [BHT Berlin](https://www.bht-berlin.de)), learned societies ([Information Design Association](https://www.ida-funding.org), [Association for Geographic Information](https://www.agi.org.uk), [International Map Collectors’ Society](https://www.imcos.org)) and hacker meet-ups ([GeoMob](https://thegeomob.com), [WhereCamp](https://geoit.org/wherecamp/), [State of the Map](https://stateofthemap.org)). Some talks online: * [Claudius Ptolemy and the first geospatial database](https://www.youtube.com/watch?v=cxHR4gSOimk) *(GeoMob, October 2020, 25 mins)* * [A remarkable schematic map of the Belgian railway system, 1859](https://www.youtube.com/watch?v=u5XnoMTowhQ) *(International Map Collectors’ Society, November 2021, 20 mins)* ## Contact me Email [lorp@lorp.org](mailto:lorp@lorp.org) Mastodon [@lorp@typo.social](https://typo.social/@lorp) Twitter [@lorp](https://twitter.com/lorp/) [@axis_praxis](https://twitter.com/axis_praxis/) [@fauxfoundry](https://twitter.com/fauxfoundry/) [@letterluvvers](https://twitter.com/letterluvvers/) Websites [LORP.ORG](https://www.lorp.org/) [Axis-Praxis](https://www.axis-praxis.org/) [FauxFoundry](https://www.fauxfoundry.com) [Samsa](https://lorp.github.io/samsa/src/samsa-gui.html) Other [GitHub](https://github.com/Lorp) [Flickr](https://www.flickr.com/photos/lorp/) [Facebook](https://www.facebook.com/axispraxis/) [CodePen](https://codepen.io/lorp) [LinkedIn](https://www.linkedin.com/in/laurence-penney-96682266/)