[{"data":1,"prerenderedAt":347},["ShallowReactive",2],{"blog:2006:inconsolata-opentype-programming-font":3,"blogMore-Typography":213,"comments-inconsolata-opentype-programming-font":226},{"_path":4,"_dir":5,"_draft":6,"_partial":6,"_locale":7,"title":8,"description":9,"date":10,"category":11,"tags":12,"excerpt":14,"body":46,"_type":201,"_id":202,"_source":203,"_file":204,"_stem":205,"_extension":206,"url":207,"wordCount":208,"minutes":209,"commentCount":210,"image":211},"/blog/2006/inconsolata-opentype-programming-font","2006",false,"en","Inconsolata OpenType programming font","My quest for something to replace Envy Code B on my ClearType-enabled systems continues.","2006-11-26T22:21:57+00:00","Typography",[13],"coding fonts",{"type":15,"children":16},"root",[17,33],{"type":18,"tag":19,"props":20,"children":21},"element","p",{},[22,31],{"type":18,"tag":23,"props":24,"children":30},"img",{"className":25,"src":28,"alt":29},[26,27],"screenshot","right","https://img.damieng.com/blog/Inconsolata.png","Inconsolata font at 10pt and 12pt",[],{"type":32,"value":9},"text",{"type":18,"tag":19,"props":34,"children":35},{},[36,38,44],{"type":32,"value":37},"It must be obviously scalable, mono-spaced (yes I know you ",{"type":18,"tag":39,"props":40,"children":41},"em",{},[42],{"type":32,"value":43},"can",{"type":32,"value":45}," program with variable-width but I prefer fixed-width), have distinctive characters to help avoid confusion between 1il, o0OQ, $Ss8 at reasonably small font sizes. You know the drill.",{"type":15,"children":47,"toc":197},[48,56,65,70,127,141,163,184,189],{"type":18,"tag":19,"props":49,"children":50},{},[51,55],{"type":18,"tag":23,"props":52,"children":54},{"className":53,"src":28,"alt":29},[26,27],[],{"type":32,"value":9},{"type":18,"tag":19,"props":57,"children":58},{},[59,60,64],{"type":32,"value":37},{"type":18,"tag":39,"props":61,"children":62},{},[63],{"type":32,"value":43},{"type":32,"value":45},{"type":18,"tag":19,"props":66,"children":67},{},[68],{"type":32,"value":69},"So far I’ve tried:",{"type":18,"tag":71,"props":72,"children":73},"ul",{},[74,87,97,107,117],{"type":18,"tag":75,"props":76,"children":77},"li",{},[78],{"type":18,"tag":79,"props":80,"children":84},"a",{"href":81,"rel":82},"https://en.wikipedia.org/wiki/Andale_Mono",[83],"nofollow",[85],{"type":32,"value":86},"Andale Mono",{"type":18,"tag":75,"props":88,"children":89},{},[90],{"type":18,"tag":79,"props":91,"children":94},{"href":92,"rel":93},"https://www.ms-studio.com/FontSales/anonymous.html",[83],[95],{"type":32,"value":96},"Anonymous",{"type":18,"tag":75,"props":98,"children":99},{},[100],{"type":18,"tag":79,"props":101,"children":104},{"href":102,"rel":103},"https://www.gnome.org/fonts/",[83],[105],{"type":32,"value":106},"Bitstream Vera Sans Mono",{"type":18,"tag":75,"props":108,"children":109},{},[110],{"type":18,"tag":79,"props":111,"children":114},{"href":112,"rel":113},"https://en.wikipedia.org/wiki/Consolas",[83],[115],{"type":32,"value":116},"Consolas",{"type":18,"tag":75,"props":118,"children":119},{},[120],{"type":18,"tag":79,"props":121,"children":124},{"href":122,"rel":123},"https://www.gringod.com/2006/11/01/new-version-of-monaco-font/",[83],[125],{"type":32,"value":126},"Monaco",{"type":18,"tag":19,"props":128,"children":129},{},[130,132,139],{"type":32,"value":131},"and a whole host of less desirable ones from ",{"type":18,"tag":79,"props":133,"children":136},{"href":134,"rel":135},"https://keithdevens.com/wiki/ProgrammerFonts",[83],[137],{"type":32,"value":138},"Keith Deven’s programming font list",{"type":32,"value":140},".",{"type":18,"tag":19,"props":142,"children":143},{},[144,146,153,155,162],{"type":32,"value":145},"Imagine my surprise when I read on ",{"type":18,"tag":79,"props":147,"children":150},{"href":148,"rel":149},"https://www.hanselman.com/blog/InSearchOfThePerfectMonospacedProgrammersFontInconsolata.aspx",[83],[151],{"type":32,"value":152},"Scott Hanselman’s blog",{"type":32,"value":154}," he was using a font I’d never heard of called ",{"type":18,"tag":79,"props":156,"children":159},{"href":157,"rel":158},"https://levien.com/type/myfonts/inconsolata.html",[83],[160],{"type":32,"value":161},"Inconsolata",{"type":32,"value":140},{"type":18,"tag":19,"props":164,"children":165},{},[166,168,173,175,182],{"type":32,"value":167},"True, the font isn’t ",{"type":18,"tag":39,"props":169,"children":170},{},[171],{"type":32,"value":172},"perfect",{"type":32,"value":174}," but it is very fine. The best news is that it is to be ",{"type":18,"tag":79,"props":176,"children":179},{"href":177,"rel":178},"https://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&id=OFL",[83],[180],{"type":32,"value":181},"liberally license",{"type":32,"value":183}," which means I should be able to make the tweaks I want (there are some Bézier glitches, missing symbols and that zero needs a slash through it) and release a derivative version. I’m also not keen on the micro-serifs but we’ll see.",{"type":18,"tag":19,"props":185,"children":186},{},[187],{"type":32,"value":188},"I’m just getting clarification on the situation from the author as to whether the license applies now or at final release.",{"type":18,"tag":19,"props":190,"children":191},{},[192],{"type":18,"tag":39,"props":193,"children":194},{},[195],{"type":32,"value":196},"[)amien",{"title":198,"searchDepth":199,"depth":199,"links":200},"",2,[],"markdown","content:blog:2006:inconsolata-opentype-programming-font.md","content","blog/2006/inconsolata-opentype-programming-font.md","blog/2006/inconsolata-opentype-programming-font","md","/blog/2006/inconsolata-opentype-programming-font/",187,1,5,{"className":212,"src":28,"alt":29},[26,27],[214,218,222],{"title":215,"date":216,"url":217},"The Art of Amiga lettering","2025-12-04","/blog/2025/art-of-amiga-lettering/",{"title":219,"date":220,"url":221},"Using variable web fonts for perf","2021-12-03","/blog/2021/using-variable-webfonts-for-speed/",{"title":223,"date":224,"url":225},"ZX Origins - free 8-bit fonts for games","2019-06-03T08:00:00-08:00","/blog/2019/zxorigins-free-8-bit-fonts-for-games/",[227,249,270,288,319],{"_path":228,"_dir":229,"_draft":6,"_partial":6,"_locale":7,"title":230,"description":231,"id":232,"name":233,"email":234,"avatar":235,"url":236,"date":237,"body":238,"_type":201,"_id":246,"_source":203,"_file":247,"_stem":248,"_extension":206},"/comments/inconsolata-opentype-programming-font/1707","inconsolata-opentype-programming-font","1707","The missing slash (or dot) in the zero is my only qualm with the font -- I'm very pleased with it otherwise. In any case, if you happen to add that feature, could you drop me a line? :)",1707,"Alex Bischoff","alex@spamcop.net","https://www.gravatar.com/avatar/dc601eaad49da4b0be5ab6ce1e95a5c0?r=pg&d=retro","https://www.handcoding.com/","2007-01-15T20:17:11",{"type":15,"children":239,"toc":244},[240],{"type":18,"tag":19,"props":241,"children":242},{},[243],{"type":32,"value":231},{"title":198,"searchDepth":199,"depth":199,"links":245},[],"content:comments:inconsolata-opentype-programming-font:1707.md","comments/inconsolata-opentype-programming-font/1707.md","comments/inconsolata-opentype-programming-font/1707",{"_path":250,"_dir":229,"_draft":6,"_partial":6,"_locale":7,"title":251,"description":252,"id":253,"name":254,"email":255,"avatar":256,"url":257,"date":258,"body":259,"_type":201,"_id":267,"_source":203,"_file":268,"_stem":269,"_extension":206},"/comments/inconsolata-opentype-programming-font/1706","1706","The lousy hinting in Inconsolata is the deal breaker for me. In fairness, it seems to be primarily designed as a printing font, not a  screen font. But I rarely print and I spend all day looking at fixed-width fonts in editors.",1706,"George V. Reilly","george@reilly.org","https://www.gravatar.com/avatar/12253d48375c73fcfdda8688da6aa3a4?r=pg&d=retro","https://www.georgevreilly.com/blog/","2007-01-04T20:36:34",{"type":15,"children":260,"toc":265},[261],{"type":18,"tag":19,"props":262,"children":263},{},[264],{"type":32,"value":252},{"title":198,"searchDepth":199,"depth":199,"links":266},[],"content:comments:inconsolata-opentype-programming-font:1706.md","comments/inconsolata-opentype-programming-font/1706.md","comments/inconsolata-opentype-programming-font/1706",{"_path":271,"_dir":229,"_draft":6,"_partial":6,"_locale":7,"title":272,"description":273,"id":274,"name":275,"date":276,"body":277,"_type":201,"_id":285,"_source":203,"_file":286,"_stem":287,"_extension":206},"/comments/inconsolata-opentype-programming-font/1704","1704","A while ago I was also looking for a fixed-glyph font to replace the Courier New and I have tried several monospace fonts but I found Consolas to be one of the best out there.",1704,"Gabriel Lozano-Mor&#225;n","2006-11-27T11:00:54",{"type":15,"children":278,"toc":283},[279],{"type":18,"tag":19,"props":280,"children":281},{},[282],{"type":32,"value":273},{"title":198,"searchDepth":199,"depth":199,"links":284},[],"content:comments:inconsolata-opentype-programming-font:1704.md","comments/inconsolata-opentype-programming-font/1704.md","comments/inconsolata-opentype-programming-font/1704",{"_path":289,"_dir":229,"_draft":6,"_partial":6,"_locale":7,"title":290,"description":291,"id":292,"name":293,"email":294,"avatar":295,"url":296,"date":297,"body":298,"_type":201,"_id":316,"_source":203,"_file":317,"_stem":318,"_extension":206},"/comments/inconsolata-opentype-programming-font/1703","1703","The sample here was rendered with ClearType enabled in WordPad.",1703,"Damien Guard","damien@envytech.co.uk","https://www.gravatar.com/avatar/dc72963e7279d34c85ed4c0b731ce5a9?r=pg&d=retro","https://damieng.com/","2006-11-27T00:06:53",{"type":15,"children":299,"toc":314},[300,304,309],{"type":18,"tag":19,"props":301,"children":302},{},[303],{"type":32,"value":291},{"type":18,"tag":19,"props":305,"children":306},{},[307],{"type":32,"value":308},"I think the reason you are finding it ugly is that it doesn't feature heavy hinting trying to constrain it to individual whole pixels.",{"type":18,"tag":19,"props":310,"children":311},{},[312],{"type":32,"value":313},"I might be able to clear that up a little with my derived version.",{"title":198,"searchDepth":199,"depth":199,"links":315},[],"content:comments:inconsolata-opentype-programming-font:1703.md","comments/inconsolata-opentype-programming-font/1703.md","comments/inconsolata-opentype-programming-font/1703",{"_path":320,"_dir":229,"_draft":6,"_partial":6,"_locale":7,"title":321,"description":322,"id":323,"name":324,"date":325,"body":326,"_type":201,"_id":344,"_source":203,"_file":345,"_stem":346,"_extension":206},"/comments/inconsolata-opentype-programming-font/1702","1702","It looks decent on the original site (though it's been rendered at some huge point size) but your version looks terrible.",1702,"Rik Hemsley","2006-11-26T23:11:06",{"type":15,"children":327,"toc":342},[328,332,337],{"type":18,"tag":19,"props":329,"children":330},{},[331],{"type":32,"value":322},{"type":18,"tag":19,"props":333,"children":334},{},[335],{"type":32,"value":336},"What did you use to render it? The AA is more like blurring and it's inconsistent - making all the lines look misshapen.",{"type":18,"tag":19,"props":338,"children":339},{},[340],{"type":32,"value":341},"Nice font, though. Perhaps as good as Consolas, which I'm currently using.",{"title":198,"searchDepth":199,"depth":199,"links":343},[],"content:comments:inconsolata-opentype-programming-font:1702.md","comments/inconsolata-opentype-programming-font/1702.md","comments/inconsolata-opentype-programming-font/1702",1779264557478]