Coder Social home page Coder Social logo

codetta's Introduction

Codetta

A monospaced coding font with special ligatures for C#.

Version 2.0 / September 2018

The C# programming language uses a lot of character pairs to form special operators like two plus glyphs '++' to increment a value, two equal glyphs '==' to check for equality or the equal and greater glyph '=>' for the lambda operator. Codetta combines these and 8 further combinations to ligatures to improve code readability and productivity.

But first and foremost, Codetta must meet several requirements to be a great coding font:

  • It must be monospaced, that means, all characters have the same width.
  • The width of the characters shouldn't be too wide, because even long code lines should fit on the screen.
  • The same is true for the character height. Productivity grows with the numbers of lines you can see at a glance.
  • All characters must be easily distinguishable. This is especially important for characters like uppercase and lowercase letter L, uppercase letter I, number one, uppercase letter O and number zero as well as for punctuation signs like semicolon, colon, comma and period.
  • Even at small font sizes like 9 points on a normal 96 dpi monitor, the font must be sharp and crisp.
  • And finally the overall impression should be fresh and comfortable.

C# programmers usually work with Microsoft Visual Studio which comes with the Consolas font designed by Luc(as) de Groot. Consolas is a very sophisticated and exceptionally well-designed font that nearly meets all the requirements. Only the distinctiveness of the number one (1), the lowercase letter L and the uppercase letter I is difficult at small font sizes like 9 or 10 pt.

Starting point in the development of Codetta was Abobe's open source font Source Sans Pro. The font metrics and most of the glyphs were strongly revised to meet the compactness and space efficiency of Consolas. Care was taken, that the font looks good at typically used font sizes (9 pt., 10 pt.) in Visual Studio and that the font works well with ClearType.

The width of the ligatures is double the size of a regular character. This guaranties that any code formatting is preserved when switching from a font without ligatures to Codetta. Nevertheless, Codetta can help saving space, because ligatures, which always start or terminate a clause are shifted left or right respectively, so that leading or trailing blanks can be omitted and the code is still easily readable.

Of course, Codetta doesn't change anything in your code. Switching from a normal font like Consolas to Codetta just changes the visual representation of the code. When someone else opens your code without having Codetta installed on his machine, he sees the regular code.

Download Codetta Font Family v2.0

Samples

Consolas

Consolas Sample

Codetta

Coda Sample

Known Issues

Ligatures, which are starting with a hyphen ('--' or '-=') are not shown in Microsoft Visual Studio due to a known bug in the WPF font renderer. I hope this will be fixed soon by Microsoft.

Credits

This typeface is based on Source Code Pro.

Changes from 1.0 to 2.0

A number of ligatures (+= -= = /= / // /// == ?? ?. () [] || &&) was removed because they didn't prove to be useful in daily work. The remaining ligatures however have shown that they improve the code readabillity.

codetta's People

Contributors

proeller avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

Forkers

igordzreyev

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.