Bog Roll ::

It's Not Magic, It's Work!

30 Nov 2019

Monospaced Font Features

Some modern fonts come with built-in features that allow you to select alternate glyph or activate or deactivate some ligatures. For example Source Code Pro puts a dot in the centre of the zero to mark it, but if you tell it, it you can have a slash instead. Fira Code is the reverse.

  • Fira Code - default
    The quick brown fox jumps the lazy black dog.
    (ilI1 0oO /@#$%&[]{}\!=->)
    0oO
  • Fira Code - zero
    The quick brown fox jumps the lazy black dog.
    (ilI1 0oO /@#$%&[]{}\!=->)
    0oO
  • Source Code Pro - default
    The quick brown fox jumps the lazy black dog.
    (ilI1 0oO /@#$%&[]{}\!=->)
    0oO
  • Source Code Pro - zero
    The quick brown fox jumps the lazy black dog.
    (ilI1 0oO /@#$%&[]{}\!=->)
    0oO

Which is only visible if you happen to have the fonts installed, and a browser that can do the rendering trick, but if you do then you will see the difference above. Most useful to know. I prefer slashed zeros, some people prefer the dot versions, and I particularly like the left to right slash, rather than the far more common right to left.


28 Nov 2019

Monospaced Fonts

Over a decade ago I wrote about fonts: Monospaced Fonts. Fonts are still a strange thing. I have an even larger collection of them now, but I only use a few at most. The one area that I do care about are the monospaced or fixed width font that I use. I use fixed pitch fonts a lot, all my important work is either done in a console window, or is programming which I prefer to use a monospaced font even in a fancy IDE.

The problem was that font designers don't seem to care all that much about monospaced fonts, most people don't have a use for them, so there weren't that many to choose from relative to proportional fonts. Additionally in programming it's important to clearly see the difference between "l", "1", "i", "I", and "0", "o", "O". The less commonly used punctuation characters are additionally more important than normal text, and some puncutuation mark combinations are important and need to be clear.

This list is what I had all those years ago, and updated a bit...

Slashed zero, which I prefer:

  1. Anonymous
    The quick brown fox jumps the lazy black dog. (ilI1 0oO /@#$%&[]{}\!=->)
    • Nice typeface, a bit Monaco like but more spaced out.
    • Not so common, I love the \ through the zero instead of the / and the a as used in Monaco.
    • Only one weight, if you need italic etc you need the Pro version.
  2. Anonymous Pro
    The quick brown fox jumps the lazy black dog. (ilI1 0oO /@#$%&[]{}\!=->)
    • Nice typeface, based on Anoymous but updated.
    • More weights and versions, but still a bit too wide.
  3. Monaco
    The quick brown fox jumps the lazy black dog. (ilI1 0oO /@#$%&[]{}\!=->)
    • Nice (Mac) typeface, no longer the default.
    • I like it a lot and used it now and then over the years.
    • I'm fond of the lower case i and it's compact overall.
  4. Consolas
    The quick brown fox jumps the lazy black dog. (ilI1 0oO /@#$%&[]{}\!=->)
    • This comes with most Microsoft software and it's nice and compact.
    • Like Andale Mono is a safe bet if there isn't anything better.
  5. Oxygen Mono
    The quick brown fox jumps the lazy black dog. (ilI1 0oO /@#$%&[]{}\!=->)
    • Nice font used by KDE in the Oxygen theme.
  6. Fira Code
    The quick brown fox jumps the lazy black dog. (ilI1 0oO /@#$%&[]{}\!=->)
    • This is a modern coding typeface, with some fancy ligatures: != -> => >= ~=
    • Not used it much, but I think I should.

Dotted zero, which is okay:

  1. Andale Mono
    The quick brown fox jumps the lazy black dog. (ilI1 0oO /@#$%&[]{}\!=->)
    • Okay typeface, a safe bet if nothing else is available.
    • Microsoft gave it away, so widely available, Consolas is better.
  2. Bitstream Vera Sans Mono
    The quick brown fox jumps the lazy black dog. (ilI1 0oO /@#$%&[]{}\!=->)
    • Nice typeface.
    • Freely available thanks to Bitstream, most Linuxes have it by though DejaVu has mostly replaced it.
  3. DejaVu Sans Mono
    The quick brown fox jumps the lazy black dog. (ilI1 0oO /@#$%&[]{}\!=->)
    • Nice typeface. I like them both but I prefer a slashed to a dotted zero.
    • Based on Vera, but expanded and improved.
    • Apple's Menlo is in the same family but does have a slashed 0.
  4. Source Code Pro
    The quick brown fox jumps the lazy black dog. (ilI1 0oO /@#$%&[]{}\!=->)
    • Adobe gave this professionally designed font away.
    • I have used it a lot, but it doesn't have a slashed zero in the default view, but you can turn it on in some editors.

Un marked zero - sort of okay but best avoided.

  1. Lucida Console
    The quick brown fox jumps the lazy black dog. (ilI1 0oO /@#$%&[]{}\!=->)
    • Nice typeface - use to be a personal favourite.
    • Microsoft gave this one away as well.
    • Zero isn't marked - which is a pity.
    • See also Lucida Typewriter, which also has an unmarked 0

Programming and console use are similar, but not quite the same as I use the console for writing emails and doing other stuff, not just programming. I wonder what fonts I'll be using in another decade...?


Debian GNU/Linux 10.0 "Buster"

Debian released Debian 10.0 earlier this year. For a while I didn't bother upgrading, I was busy at work and I didn't really have the time to upgrade my growing network of systems.

Eventually I bit the bullet and started on my second oldest laptop, that I don't use much as it's a bit slow and the scratch pad doesn't work for no obvious reason (hardware fault of some kind), Other than Amarok being missing, the upgrade was painless. I then upgraded a few more systems, including my mother-in-laws laptop which had previously been running Windows 7.

All my systems are now running Debian 10 and other than a few minor glitches, it all went rather well. Overall a very dull upgrade, in that there is nothing radically different, and most things are just a little better and work in mostly the same way that I was used to. I know that there a have been some architectural changes, but at the user level it's just better - which is a good thing.