Code Monkey home page Code Monkey logo

monoone's Introduction

monoOne

monoOne is a monospaced font for programming and code review.

##how does it look? specimen (pdf)

just some glyphs

g

example (screenshot taken with linux/vim on low resolution screen)

screenshot vim

##installation download

  • OS X
  • Windows
  • Linux/Unix - distro dependent, i hope you know how to install it

##about It all started with the search for a better programming font. I tried nearly every suitable monospace typeface, but i couldn't find the optimal solution, at least not for me. So it slowly became a small, personal research-project, exploring the typographic needs of code display. I used the following specifications as guidelines in the development of monoOne:

  • monospaced: this is the default for nearly all programming environments. Although there is some discussion if this specific feature is just historic ballast, the pro-monospace side argues that the possibility of lining up code and the resulting 2-dimensional structuring is useful. For me an even more substantial reason is that, in code, every character has potentially the same significance and should be given the same space to represent that. Giving every character the same amount of space facilitates reading on the character level and thus makes it easier to spot mistakes. Additionally it is a simple convention through all coding environments - the coder can be sure that her code will look similar for other programmers, even if they use another editor and typeface.
  • must work well on low and high resolution displays: Right now we are in the transition to high resolution displays, bringing font rendering quality on screen to the realms of print quality. But we're not there yet, and especially on cheap laptops and typical office-displays this transition will not be accomplished in the foreseeable future. So the glyphs must survive being squashed into a grid of a few pixels extremely well, but I still wanted to design them with attention to detail, although it is only visible in print or on retina displays.
  • differentiation of characters: every character must be clearly distinguishable from similar looking characters. While this seems obvious it comes with costs, like inferior long-text readability and a less consistent appearance. I wanted to reach this goal with minimal tradeoffs.
  • visual representation of the coding mindset: Coding is the expression of ideas in a computer readable form. These ideas should be clear and condensed. The typeface that makes the code visible should reinforce this values. It should look clutter-free and open. This is arguably the least technical demand and the hardest to capture. Considerations regarding this point never beat the previous specifications, but every decision was evaluated under this aspect.

##a closer look The diagonal forms are inspired by various pixel fonts. This leads to better low resolution rendering, but also gave me the opportunity to induce a nice retro-touch without being too upfront with it.

Over the time of the development the design became more and more simplicstic while some unusual features emerged. For example the serifs on the "D" and "B" where very useful to distinguish it clearly from "O" and "8". The form of the white spaces helps differentiate the more dense characters like "M", "N" and "Z". Similar looking characters like "i", "1", "!", "I" and "l" were constructed with clearly different principles so that they are distinct even under the worst conditions.

The special characters seem exaggerated, but are identifiable in all point sizes and circumstances. The font is created with a mathematical description of the pure skeleton and an algorithm that creates the strokes. Every parameter like the weight, x-height, overshoot etc. can be manipulated through code, so i could fine-tune all the parameters without having to restart drawing.

monoOne has a over 500 characters, including the powerline symbols.

monoone's People

Watchers

James Cloos avatar mxmgmbs avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.