{"id":12864,"date":"2016-04-23T13:59:58","date_gmt":"2016-04-23T17:59:58","guid":{"rendered":"http:\/\/scruss.com\/blog\/?p=12864"},"modified":"2025-04-09T19:52:37","modified_gmt":"2025-04-09T23:52:37","slug":"fifteentwenty-commodore-1520-plotter-font","status":"publish","type":"post","link":"https:\/\/scruss.com\/blog\/2016\/04\/23\/fifteentwenty-commodore-1520-plotter-font\/","title":{"rendered":"FifteenTwenty: Commodore 1520 plotter font"},"content":{"rendered":"\n<figure class=\"wp-block-image aligncenter\"><a href=\"http:\/\/scruss.com\/wordpress\/wp-content\/uploads\/2016\/04\/FifteenTwenty.png\"><img loading=\"lazy\" decoding=\"async\" width=\"320\" height=\"320\" src=\"http:\/\/scruss.com\/wordpress\/wp-content\/uploads\/2016\/04\/FifteenTwenty-320x320.png\" alt=\"FifteenTwenty\" class=\"wp-image-12865\" srcset=\"https:\/\/scruss.com\/wordpress\/wp-content\/uploads\/2016\/04\/FifteenTwenty-320x320.png 320w, https:\/\/scruss.com\/wordpress\/wp-content\/uploads\/2016\/04\/FifteenTwenty-160x160.png 160w, https:\/\/scruss.com\/wordpress\/wp-content\/uploads\/2016\/04\/FifteenTwenty.png 480w\" sizes=\"auto, (max-width: 320px) 100vw, 320px\" \/><\/a><\/figure>\n\n\n\n<p><strong>For the impatient<\/strong>: download <strong><a href=\"http:\/\/scruss.com\/wordpress\/wp-content\/uploads\/2016\/05\/FifteenTwenty-master.zip\">FifteenTwenty-master.zip<\/a><\/strong> <del><a href=\"http:\/\/scruss.com\/wordpress\/wp-content\/uploads\/2016\/04\/FifteenTwenty-Regular-OTF.zip\"><strong>FifteenTwenty-Regular-OTF.zip<\/strong><\/a><\/del> (or <a href=\"http:\/\/scruss.com\/blog\/2016\/05\/10\/fifteentwenty-now-on-fontlibrary-and-github\/\">more options<\/a> \u2026)<br><span style=\"color: #ff0000;\"><strong>Updated<\/strong><\/span>: now with all ASCII glyphs!<\/p>\n\n\n\n<p><strong>Update, September 2016<\/strong>: this font was officially <em>squee<\/em>&#8216;d over by Josh \u201ccortex\u201d\u009d Millard on the <a href=\"https:\/\/metatalk.metafilter.com\/24196\/120-Hard-Out-There-For-A-Nerd#1254127\">Metafilter Podcast #120: <em>Hard Out There For A Nerd<\/em><\/a>. I had the great pleasure of meeting Josh at XOXO 2016, too.<\/p>\n\n\n\n<p>The Commodore 1520 was a tiny pen plotter sold for the Commodore 64 home computer. It looked like this:<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter\"><a href=\"https:\/\/commons.wikimedia.org\/wiki\/File:Commodore_1520_printer_plotter_(adjusted).jpg#\/media\/File:Commodore_1520_printer_plotter_(adjusted).jpg\"><img decoding=\"async\" src=\"https:\/\/upload.wikimedia.org\/wikipedia\/commons\/7\/79\/Commodore_1520_printer_plotter_%28adjusted%29.jpg\" alt=\"Commodore 1520 printer plotter (adjusted).jpg\"\/><\/a><figcaption class=\"wp-element-caption\"><strong>Commodore 1520 printer plotter<\/strong> \u2014 by <a class=\"extiw\" title=\"de:Benutzer:Oguenther\" href=\"\/\/de.wikipedia.org\/wiki\/Benutzer:Oguenther\">Oguenther<\/a> (Dr.Guenther). &#8211; This file was derived from <a title=\"File:Cbm1520-2.jpg\" href=\"\/\/commons.wikimedia.org\/wiki\/File:Cbm1520-2.jpg\">Cbm1520-2.jpg<\/a>: , Public Domain, <a href=\"https:\/\/commons.wikimedia.org\/w\/index.php?curid=39145769\">https:\/\/commons.wikimedia.org\/w\/index.php?curid=39145769<\/a><\/figcaption><\/figure>\n\n\n\n<p>I never owned one, but it seems it was more of a curiosity than a useful product.<\/p>\n\n\n\n<p>From a nerdy point of view, however, this device was rather clever in that it packed a whole plotter command language, including a usable font, into 2048 bytes of ROM. Nothing is that small any more.<\/p>\n\n\n\n<p>Thanks to the <a href=\"http:\/\/e4aws.silverdr.com\/hacks\/6500_1\/\">epic efforts of Jim Brain and others<\/a>, this ROM is now archived on <a href=\"https:\/\/github.com\/Project-64\/reloaded\/\">Project 64 Reloaded<\/a>. Looking at the <a href=\"https:\/\/github.com\/Project-64\/reloaded\/blob\/master\/1520\/rom\/325340-01.s#L88\">code<\/a>, I was struck by the elegance of the encoding: it packs a full X-Y plot instruction in one byte.<\/p>\n\n\n\n<p>Based on my work with the <a href=\"http:\/\/scruss.com\/blog\/tag\/hershey\/\">Hershey font collection<\/a>, I thought it would be fun to extract the coordinates and make a real OpenType font from these data. I&#8217;m sure others would sense the urgency in this task, too.<\/p>\n\n\n\n<p><del>Since Commodore computers used a subset of ASCII, there&#8217;s a barely-usable set of characters in this first release. Notable missing characters include:<\/del><\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><del>U+005C&nbsp;&nbsp; &nbsp;\\&nbsp;&nbsp; &nbsp;REVERSE SOLIDUS\nU+005E&nbsp;&nbsp; &nbsp;^&nbsp;&nbsp; &nbsp;CIRCUMFLEX ACCENT\nU+0060&nbsp;&nbsp; &nbsp;`&nbsp;&nbsp; &nbsp;GRAVE ACCENT\nU+007B&nbsp;&nbsp; &nbsp;{&nbsp;&nbsp; &nbsp;LEFT CURLY BRACKET\nU+007C&nbsp;&nbsp; &nbsp;|&nbsp;&nbsp; &nbsp;VERTICAL LINE\nU+007D&nbsp;&nbsp; &nbsp;}&nbsp;&nbsp; &nbsp;RIGHT CURLY BRACKET\nU+007E&nbsp;&nbsp; &nbsp;~&nbsp;&nbsp; &nbsp;TILDE<\/del><\/pre>\n\n\n\n<p><del>I&#8217;ll get to those later, perhaps.<\/del><\/p>\n\n\n\n<p>Huge thanks to all who helped get the data, and make the bits of software I used to make this outline font.<\/p>\n\n\n\n<p><em>(<strong>Note<\/strong>: although the Project 64 Reloaded contains some <a href=\"https:\/\/github.com\/Project-64\/reloaded\/tree\/master\/1520\/extraction\">extraction<\/a> code to nominally produce an SVG font, it doesn&#8217;t work properly \u2014 and SVG fonts are pretty much dead anyway. I didn&#8217;t base any of my work on their Ruby code.)<\/em><\/p>\n","protected":false},"excerpt":{"rendered":"<p>For the impatient: download FifteenTwenty-master.zip FifteenTwenty-Regular-OTF.zip (or more options \u2026)Updated: now with all ASCII glyphs! Update, September 2016: this font was officially squee&#8216;d over by Josh \u201ccortex\u201d\u009d Millard on the Metafilter Podcast #120: Hard Out There For A Nerd. I had the great pleasure of meeting Josh at XOXO 2016, too. The Commodore 1520 was [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2}},"categories":[7],"tags":[2971,2079,2146,2667,2294,1471,2958,2789],"class_list":["post-12864","post","type-post","status-publish","format-standard","hentry","category-computers-suck","tag-2971","tag-commodore","tag-fontforge","tag-fonts","tag-inkscape","tag-nerdy","tag-otf","tag-plotter"],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_shortlink":"https:\/\/wp.me\/pQNZZ-3lu","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/scruss.com\/blog\/wp-json\/wp\/v2\/posts\/12864","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/scruss.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/scruss.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/scruss.com\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/scruss.com\/blog\/wp-json\/wp\/v2\/comments?post=12864"}],"version-history":[{"count":7,"href":"https:\/\/scruss.com\/blog\/wp-json\/wp\/v2\/posts\/12864\/revisions"}],"predecessor-version":[{"id":17818,"href":"https:\/\/scruss.com\/blog\/wp-json\/wp\/v2\/posts\/12864\/revisions\/17818"}],"wp:attachment":[{"href":"https:\/\/scruss.com\/blog\/wp-json\/wp\/v2\/media?parent=12864"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/scruss.com\/blog\/wp-json\/wp\/v2\/categories?post=12864"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/scruss.com\/blog\/wp-json\/wp\/v2\/tags?post=12864"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}