Kuro5hin.org: technology and culture, from the trenches
create account | help/FAQ | contact | links | search | IRC | site news
[ Everything | Diaries | Technology | Science | Culture | Politics | Media | News | Internet | Op-Ed | Fiction | Meta | MLP ]
We need your support: buy an ad | premium membership

[P]
Finding the Best Programmer's Font

By n8f8 in Technology
Wed Dec 08, 2004 at 06:56:43 AM EST
Tags: Software (all tags)
Software

Becoming frustrated with source code not aligning in my favorite source editor I decided to hunt for the best font. In particular, I began to hunt down the available fixed-width or monospaced fonts.

What are monospaced fonts you ask? From Xerox:

Monospace fonts (Such as Courier or LetterGothic), or "fixed pitch" fonts, contain characters that all have the same character width, producing text that can be used to create forms, tabular material or documents that require exact text line lengths. An example of a fixed pitch font is Courier 12 pitch, which is a 10 point font that will print at exactly 12 characters per inch.

Why use monospaced fonts? Primarily because the text will align more readily. Especially is areas like the comment block header. Updated versions of this document will be located at http://www.lowing.org/fonts/


Good Programming Font Criteria
  • Crisp clear characters.
  • Extended characterset.
  • Good use of whitespace.
  • 'l', '1' and 'i' are easily distinguished
  • '0', 'o' and 'O' are easily distinguished
  • forward quotes from back quotes are easily distinguished -prefer mirrored appearance
  • Clear punctuation characters, especially braces, parenthesis and brackets

Fonts Reviewed (Best Listed First) (View All)(Name, Sizes, Type, Description, Download Info)

  1. Bitstream Vera Sans Mono (View Sample)
    • 8, 9, 10, 11, 12, 14, 16, 18, 20, 22, 24, 26, 28, 36, 48, 72
    • TrueType
    • Plenty of space between lines, dotted zeros, clean.
    • http://www.gnome.org/fonts/
  2. ti92pluspc (View Sample)
  3. Crystal (View Sample)
  4. Monaco (View Sample)
  5. Anonymous (View Sample)
  6. Andale Mono (View Sample)
  7. Raize (View Sample)
  8. ProFontWindows (View Sample)
  9. Sheldon (View Sample)
  10. BSU Kermit (View Sample)
  11. Lucida Sans Typewriter Regula (View Sample)
  12. Courier New (View Sample)
  13. Courier (View Sample)
    • 10, 12, 15
    • TrueType
    • Clean but spread out, no zero treatment.
    • Installed with Windows
  14. Lucida Consolev (View Sample)
  15. ProggyTiny (View Sample)
  16. ProggyClean (View Sample)
  17. Fixedsys (View Sample)
  18. Topaz-8 (View Sample)
    • 8, 9, 10, 11, 12, 14, 16, 18, 20, 22, 24, 26, 28, 36, 48, 72
    • TrueType
    • Amiga Topaz-8. Little space between lines, slashed zeros, fat/squat text
    • http://66.167.72.10/Topaz-8.zip
  19. Free Monospaced (View Sample)
  20. MS Mincho (View Sample)
    • 8, 9, 10, 11, 12, 14, 16, 18, 20, 22, 24, 26, 28, 36, 48, 72
    • TrueType
    • No Zero treatment, clear text
    • Installed with Windows or Office. Try Google.
  21. Hyperfont (View Sample)
  22. Squareshooter Mono (View Sample)

Font Tools

Sponsors

Voxel dot net
o Managed Hosting
o VoxCAST Content Delivery
o Raw Infrastructure

Login

Poll
Whats is your favorite programmer's font?
o Bitstream Vera Sans Mono 18%
o ti92pluspc 0%
o Crystal 0%
o Monaco 8%
o Anonymous 0%
o Andale Mono 10%
o Raize 0%
o ProFont 3%
o Sheldon 3%
o BSU Kermit 0%
o Lucida Sans Typewriter Regular 7%
o Courier New 16%
o Courier 7%
o Other- listed in comments 14%
o WTF? 7%

Votes: 114
Results | Other Polls

Related Links
o Google
o favorite source editor
o Xerox
o http://www .lowing.org/fonts/
o View All
o View Sample
o http://www .gnome.org/fonts/
o View Sample [2]
o http://www .tamuk.edu/math/scott/stars/tutorial.htm
o View Sample [3]
o http://www .povray.org/povlegal.html
o View Sample [4]
o http://www .pa.msu.edu/ftp/pub/misc/tek-phaser/ttfonts/MONACO.TTF
o http://www .sttc.net.au/drivers/CLC/CLBP460/PS3FONTS/TRUETYPE/
o View Sample [5]
o http://www .ms-studio.com/FontSales/anonymous.html
o View Sample [6]
o http://cor efonts.sourceforge.net/
o View Sample [7]
o http://www .raize.com/DevTools/Tools/RzFont.zip
o View Sample [8]
o http://66. 167.72.10/ProFontWindows.zip
o View Sample [9]
o http://www .tobias-jung.de/seekingprofont/
o View Sample [10]
o http://hom e.datacomm.ch/privmsg/havoc/mircscript.htm
o View Sample [11]
o http://jav a.sun.com/j2se/1.4.2/download.html
o View Sample [12]
o View Sample [13]
o View Sample [14]
o View Sample [15]
o http://www .tactile3d.com/tristan/
o View Sample [16]
o View Sample [17]
o http://fix edsys.moviecorner.de
o View Sample [18]
o http://66. 167.72.10/Topaz-8.zip
o View Sample [19]
o http://ftp .gnu.org/savannah/files/freefont/
o View Sample [20]
o Google [2]
o View Sample [21]
o ftp://ftp. hilgraeve.com/pub/vendor/hilgraeve/hyprfont.zip
o View Sample [22]
o http://fre efonts.fateback.com/hypotypo/
o Font properties extension for Windows
o Enumerate all Fixed-Width fonts installed in Windows
o Download binary
o Also by n8f8


Display: Sort:
Finding the Best Programmer's Font | 174 comments (117 topical, 57 editorial, 0 hidden)
Fixedsys? Seriously? (2.50 / 6) (#10)
by jimrandomh on Mon Dec 06, 2004 at 12:40:06 PM EST

Fixedsys is just Microsoft's ugly bastardization of the One True Font (System 8x12). Seriously, for a "programmer's font", I don't see how you can seriously suggest anything but the traditional terminal font, white on black.
--
CalcRogue: TI-89, 92+, PalmOS, Windows and Linux.
I'm using it (none / 0) (#117)
by illegal eagle on Wed Dec 08, 2004 at 09:56:20 AM EST

... since Turbo Pascal. Here's some old code, but I'm still using Delphi with Fixedsys.

[ Parent ]
i dont mind it (none / 0) (#173)
by escii on Tue Mar 29, 2005 at 05:12:44 AM EST

I dont mind it, its no linux 'fixed', but it still looks ok and gets the job done when i want to do a bit of php with vim in win2k.

[ Parent ]
I faced a similar problem (1.70 / 20) (#13)
by Big Sexxy Joe on Mon Dec 06, 2004 at 01:26:19 PM EST

Of finding the best jerking off hand.

Right Hand

  • Strong

  • Coordinated
  • Left Hand

  • Smoother

  • Gentler




  • I'm like Jesus, only better.
    Democracy Now! - your daily, uncensored, corporate-free grassroots news hour
    But then you found the perfect solution (2.27 / 11) (#15)
    by Stick on Mon Dec 06, 2004 at 02:27:33 PM EST

    My hand.


    ---
    Stick, thine posts bring light to mine eyes, tingles to my loins. Yea, each moment I sit, my monitor before me, waiting, yearning, needing your prose to make the moment complete. - Joh3n
    [ Parent ]
    This is crude... (2.50 / 6) (#44)
    by skyknight on Mon Dec 06, 2004 at 07:44:54 PM EST

    As such, you made me laugh, but I will not be caught in public encouraging such behavior by giving you a three.

    It's not much fun at the top. I envy the common people, their hearty meals and Bruce Springsteen and voting. --SIGNOR SPAGHETTI
    [ Parent ]
    Ditto (1.66 / 3) (#97)
    by wobblywizard on Tue Dec 07, 2004 at 03:38:13 PM EST


    --
    You never win an argument with anyone who fucks you or signs your paychecks. I just smile, bite my lip and sip my drink. --Philalawyer
    [ Parent ]

    Here, just so he doesn't feel singled out... (none / 1) (#100)
    by skyknight on Tue Dec 07, 2004 at 05:40:10 PM EST

    you can have a two as well.

    It's not much fun at the top. I envy the common people, their hearty meals and Bruce Springsteen and voting. --SIGNOR SPAGHETTI
    [ Parent ]
    Thank you sir! I am honored! -nt- (1.00 / 2) (#104)
    by wobblywizard on Tue Dec 07, 2004 at 06:50:28 PM EST


    --
    You never win an argument with anyone who fucks you or signs your paychecks. I just smile, bite my lip and sip my drink. --Philalawyer
    [ Parent ]

    This is the most rampantly... (1.50 / 2) (#105)
    by skyknight on Tue Dec 07, 2004 at 06:51:47 PM EST

    I have ever given out twos. I feel like I am jxg or something.

    It's not much fun at the top. I envy the common people, their hearty meals and Bruce Springsteen and voting. --SIGNOR SPAGHETTI
    [ Parent ]
    real programmers use wingdings (nt) (3.00 / 5) (#17)
    by pyramid termite on Mon Dec 06, 2004 at 02:52:46 PM EST


    On the Internet, anyone can accuse you of being a dog.
    I thought... (none / 0) (#19)
    by The Solitaire on Mon Dec 06, 2004 at 03:02:07 PM EST

    that real programmers wrote in greek!

    I need a new sig.
    [ Parent ]
    I'm sold, tx (none / 0) (#28)
    by speek on Mon Dec 06, 2004 at 06:39:20 PM EST

    I used to use Lucida just because I happened on it and it was better than anything else I tried, and then I stopped looking. Thanks, the bitstream font is very nice.

    --
    al queda is kicking themsleves for not knowing about the levees

    I have my whole desktop with courier. (none / 1) (#38)
    by noogie on Mon Dec 06, 2004 at 07:02:33 PM EST

    It roolz.


    *** ANONYMIZED BY THE EVIL KUROFIVEHIN MILITARY JUNTA ***
    I always write business letter with courier (none / 0) (#41)
    by MichaelCrawford on Mon Dec 06, 2004 at 07:31:01 PM EST

    They look more like I wrote them on a typewriter that way.


    --

    Live your fucking life. Sue someone on the Internet. Write a fucking music player. Like the great man Michael David Crawford has shown us all: Hard work, a strong will to stalk, and a few fries short of a happy meal goes a long way. -- bride of spidy


    [ Parent ]

    I always write business letters with wingdings (3.00 / 9) (#56)
    by EvilGwyn on Mon Dec 06, 2004 at 10:21:54 PM EST



    [ Parent ]
    Ouch (none / 1) (#39)
    by n8f8 on Mon Dec 06, 2004 at 07:03:13 PM EST

    can't believe there so many negative responses. I even added samples.

    Sig: (This will get posted after your comments)
    Well... (3.00 / 2) (#40)
    by ubernostrum on Mon Dec 06, 2004 at 07:10:58 PM EST

    For one thing, this is pretty much holy-war territory and you're never going to get people to have an objective discussion about it. For another, it's really not all that well-done; if you'd written up a short paragraph on each font, putting it in context and comparing its strong and weak points against the others, this might have been a better article. Instead it's just a long, boring list of fonts, something I can get quite easily on my own.

    And finally and most importantly, System 6x13 did not appear in this article, making it imperative that I vote it down.




    --
    You cooin' with my bird?
    [ Parent ]
    Thanks ! (none / 0) (#45)
    by blackpaw on Mon Dec 06, 2004 at 07:47:59 PM EST

    I've been looking for a decenbt light weight editor and SciTe fites the bill perfectly.

    haru tohaba (1.33 / 3) (#47)
    by Your Moms Cock on Mon Dec 06, 2004 at 08:04:44 PM EST

    qed


    --
    Mountain Dew cans. Cat hair. Comic book posters. Living with the folks. Are these our future leaders, our intellectual supermen?

    -1 This is EASILY the most boring article EVER (1.71 / 14) (#48)
    by RandomLiegh on Mon Dec 06, 2004 at 08:14:20 PM EST

    I mean, my eyes are literally bleeding from trying to read this. ugh.

    ---
    Thought of the week: There is no thought this week.
    ---
    (1) discourage, mis-spells EVAR (2.62 / 8) (#58)
    by balsamic vinigga on Mon Dec 06, 2004 at 10:33:44 PM EST



    ---
    Please help fund a Filipino Horror Movie. It's been in limbo since 2007 due to lack of funding. Please donate today!
    [ Parent ]
    What about pfaedit (soon to be fontforge?) (none / 1) (#50)
    by sudog on Mon Dec 06, 2004 at 08:34:52 PM EST

    Superior font editing tool, free, and supports a pile of formats.

    I.E. Design your own font. I did. Now everything that annoyed me about terminal fonts (like the similarity of l and 1 or 0 and O) are fixed, my apostrophes look like apostrophes, my backtic is a true reversed apostrophe, my asterisk is large and clear and centred, my carat is legible, my at is normal character size, my curly braces are easily differentiated from my parentheses (even in 1600 x 1200,) my vertical bar is extra visible, my tilde is closer to the top of the character space than the middle and is clearly a squiggle, and my colon lines up properly with my parentheses.

    Also my underline doesn't blend in with underlines next to it.


    Fontographer (none / 0) (#51)
    by n8f8 on Mon Dec 06, 2004 at 08:55:15 PM EST

    I used to play around with Macromedia's Fontographer too until it puked on my new machine because it has too much memory.

    Sig: (This will get posted after your comments)
    [ Parent ]
    Is this font available for download anywhere? (none / 0) (#54)
    by EvilGwyn on Mon Dec 06, 2004 at 10:19:17 PM EST



    [ Parent ]
    Here you go (none / 0) (#60)
    by n8f8 on Mon Dec 06, 2004 at 10:54:17 PM EST

    FontForge On Windows

    Sig: (This will get posted after your comments)
    [ Parent ]
    That's not what I meant (3.00 / 2) (#61)
    by EvilGwyn on Mon Dec 06, 2004 at 10:57:34 PM EST



    [ Parent ]
    No, I'm afraid not "officially". (none / 0) (#109)
    by sudog on Tue Dec 07, 2004 at 07:24:10 PM EST

    It's still a work-in-progress at the moment, but I'd be happy to make it available for download somewhere if you like.

    A symbol or two still need a little work.


    [ Parent ]

    Yes, please (none / 0) (#151)
    by MrSmithers on Thu Dec 09, 2004 at 09:47:19 PM EST

    If you don't mind, por favor, I'm always in search of good terminal fonts, work in progress or not.

    I pulled my k5 account out of a very long retirement (several years at least, surprised it still exists) just to ask :)

    [ Parent ]

    Okie, it's available here: (none / 0) (#169)
    by sudog on Wed Dec 22, 2004 at 08:39:12 PM EST

    Click Here

    If it doesn't come up eventually, give it a day or so. Sometimes DNS takes a while to propagate.

    [ Parent ]
    Easy: Courier New 6pt... NEXT! [nt] (none / 0) (#57)
    by israfil on Mon Dec 06, 2004 at 10:21:59 PM EST


    i. - this sig provided by /dev/arandom and an infinite number of monkeys with keyboards.
    Monaco! (none / 0) (#63)
    by zephc on Mon Dec 06, 2004 at 11:07:38 PM EST

    On the Mac, Monaco 9 has been THE best fixed width font since the '80s.

    On a PC, I do with whatever is available, ususally (in Windoze) Lucidia Console 8, and pine for using my Mac once again :-)

    You can convert Mac Monaco to a windows TTF (none / 1) (#67)
    by MichaelCrawford on Mon Dec 06, 2004 at 11:49:30 PM EST

    The BeOS used to come with this freeware application that would convert Mac OS resource fork-based truetype fonts into Windows-compatible flat data .ttf files, that were also compatible with BeOS.

    I'm pretty sure that program wasn't written by anyone at Be, they just downloaded it somewhere. It shouldn't be hard to find.


    --

    Live your fucking life. Sue someone on the Internet. Write a fucking music player. Like the great man Michael David Crawford has shown us all: Hard work, a strong will to stalk, and a few fries short of a happy meal goes a long way. -- bride of spidy


    [ Parent ]

    No need to convert (none / 0) (#165)
    by scruffyMark on Sun Dec 12, 2004 at 04:08:43 AM EST

    Why not just download the TTF from Apple - there's a link right in the article.

    And, yes, it is one of the best fonts around.

    [ Parent ]

    A Tale From the Editor Wars (1.63 / 11) (#66)
    by MichaelCrawford on Mon Dec 06, 2004 at 11:47:05 PM EST

    "Why do we have to hide from the police, daddy?"

    "We use vi, son. They use emacs."


    --

    Live your fucking life. Sue someone on the Internet. Write a fucking music player. Like the great man Michael David Crawford has shown us all: Hard work, a strong will to stalk, and a few fries short of a happy meal goes a long way. -- bride of spidy


    But Wait! There's More! (1.71 / 7) (#70)
    by MichaelCrawford on Tue Dec 07, 2004 at 03:58:06 AM EST

    • Emacs
    • Makes
    • A
    • Computer
    • Slow

    --

    Live your fucking life. Sue someone on the Internet. Write a fucking music player. Like the great man Michael David Crawford has shown us all: Hard work, a strong will to stalk, and a few fries short of a happy meal goes a long way. -- bride of spidy


    [ Parent ]

    You must have a slow computer (none / 0) (#140)
    by jrincayc on Thu Dec 09, 2004 at 12:01:25 AM EST

    Startup times for each:

    GNU Emacs 21.3.1: 0.3s user, 0.05s system
    VIm 6.3: 0.12s user, 0.07s system

    This is on my 550 MHz Pentium III (by no means a speed demon).  

    [ Parent ]

    Emacs was written when computers were slow (none / 1) (#149)
    by MichaelCrawford on Thu Dec 09, 2004 at 01:32:37 PM EST

    I first used emacs on I think it was a 16 MZ 68020 sun workstation, a 3/160. Emacs had a significant performance impact on that machine.

    On a later job we had some sun 3/280 servers, that about a hundred people would log into via terminals, with many of them running emacs. There were other processes of course but those machines were always unbearably slow.


    --

    Live your fucking life. Sue someone on the Internet. Write a fucking music player. Like the great man Michael David Crawford has shown us all: Hard work, a strong will to stalk, and a few fries short of a happy meal goes a long way. -- bride of spidy


    [ Parent ]

    More still... (none / 0) (#150)
    by jandev on Thu Dec 09, 2004 at 03:37:03 PM EST

    • Eight
    • Megs
    • And
    • Cnonstantly
    • Swapping

    "ENGINEERS" IS NOT POSSESSIVE. IT'S A PLURAL. YOU DO NOT MOTHERFUCKING MARK A PLURAL WITH A COCKSUCKING APOSTROPHE. APOSTROPHES ARE FOR MARKING POSSESSIVES IN THIS CASE. IF YOU WEREN'T A TOTAL MORON, YOU WOULD BE SAYING SOMETHING LIKE "THE CIVIL ENGINEER'S SMALL PENIS". SEE THAT APOSTROPHE? IT'S A HAPPY APOSTROPHE. IT'S NOT BEING ABUSED BY SOME GODDAMN SHIT-FOR-BRAINS IDIOT WITH NO EDUCATION. - Nimey
    [ Parent ]

    A pox on both your houses! (3.00 / 3) (#93)
    by codejack on Tue Dec 07, 2004 at 03:18:20 PM EST

    pico is the greatest editor ever!


    Please read before posting.

    [ Parent ]
    I used to agree (none / 0) (#118)
    by rusty on Wed Dec 08, 2004 at 10:48:24 AM EST

    ...but now I'm a little more fond of nano. Well, it's pretty much the same thing anyway.

    ____
    Not the real rusty
    [ Parent ]
    I Have That Shirt [nt] (none / 0) (#138)
    by unknownlamer on Wed Dec 08, 2004 at 11:29:19 PM EST



    --
    <vladl> I am reading the making of the atomic bong - modern science
    [ Parent ]
    triskweline (3.00 / 6) (#68)
    by Armin Hardwood on Tue Dec 07, 2004 at 01:19:51 AM EST

    sexiest font ever


    Good God... (2.50 / 2) (#69)
    by Azmeen on Tue Dec 07, 2004 at 02:44:22 AM EST

    I'd hate to see your SO/wife, if this is your definition of sexy!

    Those damn fonts nearly blinded me.

    BTW, using jEdit as my preferred editor.


    HTNet | Blings.info
    [ Parent ]
    Zero (3.00 / 3) (#75)
    by n8f8 on Tue Dec 07, 2004 at 08:01:37 AM EST

    I prefer a font that has better Zero treatment. O and 0 shouldn't be mistaken.

    Sig: (This will get posted after your comments)
    [ Parent ]
    But... (none / 1) (#94)
    by codejack on Tue Dec 07, 2004 at 03:19:18 PM EST

    Does Vernor Vinge know about this?


    Please read before posting.

    [ Parent ]
    Feel like a goof (none / 0) (#152)
    by Cheetah on Fri Dec 10, 2004 at 12:42:31 AM EST

    I've read the Fire Upon the Deep series, and I recognize the term Triskweline, but I can't remember for the life of me to what it refers. Can someone jog my memory?

    [ Parent ]
    Triskweline (none / 0) (#158)
    by Freaky on Fri Dec 10, 2004 at 03:51:41 PM EST

    It's a language :)

    [ Parent ]
    How about other charsets? (none / 0) (#71)
    by Viliam Bur on Tue Dec 07, 2004 at 05:34:25 AM EST

    My greatest problem with fonts is that they do not support characters of my language. So this is for me priority #1, and only then the other priorities from your article may follow. Yes, even for monospaced fonts - sometimes I write comments to source files, or README's.

    If you would please add information about how do the fonts support Latin2 charset; and what would become of your "Top 22" in all non-Latin2 characters were removed, the information would become much more useful to me. Thanks.

    Anti-aliasing, SciTE and bold (none / 0) (#73)
    by moeffju on Tue Dec 07, 2004 at 07:44:01 AM EST

    First off, the anti-aliasing in your examples is really bad, IMO. Also, you might want to increase font size for the samples.

    The real problem I had with SciTE was that even monospace fonts (Lucida Console, for example) were misaligned when you used bold text in the syntax highlighter. Instead of enforcing the character cell width, it widened, thus misaligning columns.

    Eclipse has the same problem.

    Now, is it because Lucida Console is a truetype font, or is it a SciTE bug?

    Bitstream (none / 0) (#80)
    by n8f8 on Tue Dec 07, 2004 at 09:56:04 AM EST

    You really should give Bitstream Mono a try. I don't have any alignment problems in SciTe.

    I redid the examples to reflect what you and a few other people wanted.

    Sig: (This will get posted after your comments)
    [ Parent ]

    Well, well, but (none / 0) (#102)
    by moeffju on Tue Dec 07, 2004 at 05:53:30 PM EST

    I believe this is too big. Something like 8pt, 9pt, maybe 10pt. Actually, the worst about the images was the bad antialiasing (that looked more like blur), I think.


    [ Parent ]
    poll: free monospaced (none / 0) (#76)
    by dimaq on Tue Dec 07, 2004 at 08:02:25 AM EST

    I seem to be using what you refer to as "Free Monospaced, but slightly larger (your screenie has M-size 6px and what I use id M-size 9px).

    My previous favourites include Lucide Typewriter, some Courier and some that you don't list.

    Traditionally I had one more restriction placed by the windowing system - font without anti-aliasing.

    Nowadays you could expand that to require an outline[-based] font to include bitmaps (in N levels of grayscale) for small pixel sizes (none of my machine do).

    Anyway I seem to like a certain... clarity in a font, which means implies very few anti-aliasing artefacts.

    How odd of you (none / 1) (#78)
    by ksandstr on Tue Dec 07, 2004 at 09:25:35 AM EST

    To catch the good old Amiga Topaz8, but forget ye olde standarde XFree86 "fixed", you know, the one that shows up when you start xterm. Although I personally disagree with the recent changes to the way that asterisks and single forward quotes (' characters) are displayed, I know of no other font so suitable to running vim or emacs in a couple of tall xterms side by side. And the changes weren't really so bad, considering how they brought "fixed" much closer to other fixed- and variable pitch fonts.

    Could also be that I've been hacking with such a display for about the last five years now, but I still cannot imagine myself using any font that didn't allow for a column count in the upper nineties with a window 640 pixels wide.

    (Anyway, ISTR that topaz8 was supposed to be used on a 640x256 screen, i.e. with a pixel shape considerably different from your average 4:3 or 5:4 PC display. You might want to try squashing the glyphs to correct the aspect ratio.)

    Quest for the Font (none / 1) (#81)
    by n8f8 on Tue Dec 07, 2004 at 09:59:31 AM EST

    I had a heck of a time finding Topaz8 but that font came up in other font discussions I found on the web. I ditched a bunch of really crappy generic monospace fonts too. On my site I listed the XFree86 fonts under the untested section and I'll update it later with any new fonts (like terminus) that are mentioned in this article.

    Sig: (This will get posted after your comments)
    [ Parent ]
    Also, (none / 0) (#119)
    by ksandstr on Wed Dec 08, 2004 at 11:08:47 AM EST

    I think the original topaz8, may he rest in peace, was a bitmap font, mostly because the Amiga didn't have anything else in 1984. Then again, I'm pretty sure that someone has made a truetype (or otherwise freely scalable) conversion... but still, it's not the original format.

    Thanks for the article, by the way. I'm now more convinced than ever that "fixed" is my one true xterm font, although some of the alternatives did look pretty darn tempting, even if using some of them would mean going black-on-white instead of the inverse.


    [ Parent ]

    Century Schoolbook Mono (serifed!) (3.00 / 2) (#82)
    by OldCoder on Tue Dec 07, 2004 at 10:58:15 AM EST

    Tests (performed by the people who perform those sorts of tests) reveal that SERIF fonts are actually easier to read. The old Bitstream "500 Fonts CD" has lots of unrestricted fonts, most of which are useless. But it has this nice serifed monospace font that looks great when printed, and looks okay on the screen too.

    But Really
    The entire software development industry really needs to move into the twenty-first century and learn how to use fonts and sizes and who knows, sounds, to provide information to the programmer. We have been conditioned to use monospace fonts purely to provide consistent indentation for nested conditionals (if statements). If you think about it, consistent indentation is achieved in word processors all the time with various fonts and colors.

    The highlighting and fonting (especially of strings and comments) in most text editors needs the drastic hand of a graphic designer to help the software programmers understand their code.

    Compilers are currently built for handling straight text without annotations but stripping out the fonting and coloring is easy.

    Current text editors keep the text in a plain-text format and add in the visual clues based on a scan of the text. This has merit as text is and should be moved around. There are text editors that will provide syntax-directed font-sizes as well syntax-directed coloration. See Source Dynamics for a good commercial implementation. There is a free download of a trial-period version available.

    The work that has been done in literate progamming has not been brought into the mainstream, even by Microsoft. This is interesting because Microsoft has a very vested interest in providing the most competitive software development tools and billions of dollars with which to develop them.

    The usage and generation of software, in this case including the generation of web pages, is currently dependent on the use of fixed-width fonts and automated syntax coloring to provide the software and web page developer with understanding of the code. As millions and millions of more people are generating software, this must be improved. Visual development tools can be a great boon but don't always seem to cut, the underlying reality leaks through.

    --
    By reading this signature, you have agreed.
    Copyright © 2004 OldCoder

    It's been done... (none / 1) (#85)
    by DLWormwood on Tue Dec 07, 2004 at 11:18:47 AM EST

    The entire software development industry really needs to move into the twenty-first century and learn how to use fonts and sizes and who knows, sounds, to provide information to the programmer. We have been conditioned to use monospace fonts purely to provide consistent indentation for nested conditionals (if statements). If you think about it, consistent indentation is achieved in word processors all the time with various fonts and colors.

    Various IDE's over the years have done just that. I've used REALbasic, CodeWarrior, THINK Pascal and AppleScript in my history of Mac programming, and they all support some form of "pretty printing." (The latter two even default to proportional spacing for text.) For example, CodeWarrior uses color coding to make comments and defines easier to spot in code, making it easier to catch typos when a comment balance or stray punctuation fails to close a structure correctly. I know that Visual Studio and CodeWarrior Windows supports this too. (Delphi might also, but I've never used it.)

    The continued use of monospacing is probably a combination of two key factors:

    • Monospacing makes punctuation take up the same visual space as letters and numbers - Since C-like syntaxes are, tragically, the de facto standard in programming, this is very important.
    • Much of the "trendy" or "macho" style programming tends to be on UNIX systems, where historical use of terminals and command line text editors still dominate. vi and emacs don't work well on a proportional font display.

    --
    Those who complain about affect & effect on k5 should be disemvoweled
    [ Parent ]
    The main reason for monospace (none / 0) (#91)
    by Pxtl on Tue Dec 07, 2004 at 02:33:28 PM EST

    Coders are annoyed by the "tab" and "space" distinction, as code should be openable in any program and if you mix them it makes a mess.  So, many coders use spaces instead of tabs for indenting - which, without monospace, is quite fugly, particularly if you're aligning comments on the right side of your code.

    Still, for some situations, non-monospaced and more inventive code env't would be useful.  Consider a Lisp editor where brackets were resized according to their depth.

    [ Parent ]

    Monospacing doesn't make tabs go away (none / 0) (#101)
    by DLWormwood on Tue Dec 07, 2004 at 05:40:26 PM EST

    Coders are annoyed by the "tab" and "space" distinction, as code should be openable in any program and if you mix them it makes a mess. So, many coders use spaces instead of tabs for indenting - which, without monospace, is quite fugly, particularly if you're aligning comments on the right side of your code.

    Having coded for over a decade, I can attest to the problem. But, monospacing doesn't really solve it. I frequently see open source files that have mixtures of tabs and spaces, and different editing packages have differing rules for tab/space replacement. vi, emacs, CodeWarrior, BBEdit, Visual Studio, XCode, yadda yadda, never standardized on how many spaces equal one tab, or even to use one or the other. And even if they did, local user settings (possible due to enforced coding practice) would override them.

    Besides, I've seen proportional listings in college (usually in Pascal or a multimedia scripting language) that looked fine, yet became unaligned when viewed in monospace. This problem cuts both ways. (I still think using monospace is to over-emphasize punctuation more than anything.)
    --
    Those who complain about affect & effect on k5 should be disemvoweled
    [ Parent ]

    There shouldn't be a standard (none / 0) (#171)
    by davidduncanscott on Fri Feb 11, 2005 at 04:41:07 PM EST

    for how many spaces in a tab. Look at a typewriter -- "Tab" takes you to a place, not a distance. The first tab could be at eight spaces in, the second might be at twelve, the third at fifteen, or whatever. "Tabs every eight spaces" has just been a startup convention for word processors.

    That said, tabs do enforce order -- the first tab is always to the left of the second tab (at least, I don't think a typewriter would let you put tabs on top of one another) so they are a logical way to handle things like nesting (if you ask me.) There's no real reason that you shouldn't be able to specify that the first three tabs fall at eight-character points and the remainder on four-character, on the basis that this way three levels are clearly visible but the remainder don't always run off-screen, but off the cuff I don't think I've seen a programmer's editor that allowed that.

    [ Parent ]

    You mean like colorforth? :-) /nt (none / 0) (#120)
    by ksandstr on Wed Dec 08, 2004 at 11:09:37 AM EST



    [ Parent ]
    Why would they have a vested interest? (none / 0) (#133)
    by sudog on Wed Dec 08, 2004 at 08:04:28 PM EST

    You did know that they keep the best tools for themselves, and let everyone else use the crappy ones they produce... right?

    They don't use VSS, the compiler they use for building their OS isn't VS', and these along with most other core development technologies are Microsoft's aces-in-the-hole. They don't *have* to be as good as everyone else, because their tools are superior.

    I.e. if someone else could use the same tools that Microsoft does, Microsoft would have to worry about mediocre programmers creating software on-par with theirs, instead of just the tiny minority of superb programmers handing them their lunch as it is right now.


    [ Parent ]

    Interesting theory.... (none / 0) (#141)
    by Entendre Entendre on Thu Dec 09, 2004 at 12:17:17 AM EST

    ...but wrong. The Visual Studio compiler is widely used inside Microsoft. Teams that aren't using the same VS you or I can buy, are using the beta version they gave out at the PDC. Funny thing is, a lot of Microsoft's programmers are using Source Insight's editor, and building at the command line using the VS back-end. Go figure.

    --
    Reduce firearm violence: aim carefully.
    [ Parent ]

    No, I'm right. (none / 0) (#145)
    by sudog on Thu Dec 09, 2004 at 05:06:55 AM EST

    They use an internal compiler for their OS, and they don't use their new SCM either. Their internal tools are not given out to the public. Go talk to someone on the OS team, you'll see I'm right.

    Their userland projects are one thing: sure they can use the low-end tools for that. But their most important products are *NOT* built using tools that are available to you and I.


    [ Parent ]

    Serifs require high DPI (none / 0) (#144)
    by swr on Thu Dec 09, 2004 at 02:27:11 AM EST

    Tests (performed by the people who perform those sorts of tests) reveal that SERIF fonts are actually easier to read.

    True if you have a high-DPI medium. The serifs act as hints for recognition. That's why books, magazines, and newspapers tend to use serif fonts. But with a low-DPI medium, like typical computer screens, there isn't enough resolution to do serifs properly. Serifs tend make the letters run together. That's why most GUIs use sans-serif fonts.

    On the other hand, serifs may not be so bad with monospaced fonts, because there is more space to work with. My current favorite is Andale Mono, which has serifs only on those characters which have the space for them.



    [ Parent ]
    Bad images let this down. They're essential. (none / 0) (#83)
    by SoupIsGoodFood on Tue Dec 07, 2004 at 11:00:29 AM EST

    First up, they are much bigger than the size the most people will use them at. So the only useful part is to show the "true" look of the type face. But since the smoothing being applied (or not being applied) is bad, you can't even use it for that.

    What I would like to see is a one large sample, with proper Photoshop smoothing. Then a small group of sizes--perhaps 8px-13px. Then a group for no smoothing, and then for smoothing/anti-aliasing on Windows, Linux, and Mac.

    Why go to such trouble? Because between the size differences at these smaller sizes, and the rendering of the fonts, they will look dramatically different. More different than between the other font's themselves in some cases.

    Not sure what to do (none / 0) (#84)
    by n8f8 on Tue Dec 07, 2004 at 11:15:54 AM EST

    Do you know of an example someone put together to "put a font through the paces"?

    Sig: (This will get posted after your comments)
    [ Parent ]
    Probably a bit late now. (none / 0) (#89)
    by SoupIsGoodFood on Tue Dec 07, 2004 at 12:34:58 PM EST

    But I could do a few of them. I have a Mac and a PC. But don't have all the fonts there.

    Still, I could assemble them as one shot if people want to send in the ones I don't have.

    They would be sizes 8-12 (points, not pixels, since most OS's go by points). Back on white, with the exact text below (including the line break after "dog").

    The quick brown fox jumps over the lazy dog
    0123456789 $&#@%?!^*~-_=+`'";:,./|\<>{}[]()
    Depends if you want to pull the story I spose. I'd like to see a bit more about typography in there in general.

    [ Parent ]
    Change Images (none / 0) (#122)
    by n8f8 on Wed Dec 08, 2004 at 11:45:41 AM EST

    I've already updated the images once and I've written a program to automate the test process and generate good screenshots. I just need a block of text to completely test the fonts.

    Sig: (This will get posted after your comments)
    [ Parent ]
    Demo file (none / 0) (#127)
    by Phil Gregory on Wed Dec 08, 2004 at 03:38:20 PM EST

    What about Markus Kuhn's UTF-8 demo file? Only half joking, as I occasionally do use characters outside of the ISO-8859-1 charset.
    355/113 -- Not the famous irrational number PI, but an incredible simulation!
    [ Parent ]
    Artwiz-aleczapka (none / 0) (#87)
    by jobi on Tue Dec 07, 2004 at 11:45:31 AM EST

    Go get them already.
    I use the Swedish version of smoothansi for my xterms, and it is just beautiful.
    Also, I would take the opportunity to recommend Vim. It's easily the best editor available.
    /Jobi

    ---
    "[Y]ou can lecture me on bad language when you learn to use a fucking apostrophe."
    -1, no Comic sans serif! n/t (2.00 / 5) (#92)
    by codejack on Tue Dec 07, 2004 at 03:13:39 PM EST




    Please read before posting.

    ror /nt (none / 0) (#110)
    by Undefined Variable on Tue Dec 07, 2004 at 07:54:58 PM EST



    ___
    "Rage, rage against the dying of the light."
    [ Parent ]
    argh! (none / 1) (#95)
    by fourseven on Tue Dec 07, 2004 at 03:20:57 PM EST

    just pick a font and be done with it, sheesh...

    Sadly, I'll have to -1 (1.66 / 3) (#96)
    by Thomas Covenant on Tue Dec 07, 2004 at 03:34:38 PM EST

    because who fucking cares? If chosing this font or that makes any difference to your programming, then, ironically, this is the least of your problems.

    It matters (none / 0) (#162)
    by Wolfkin on Sat Dec 11, 2004 at 02:01:11 AM EST

    It may not matter for hours 1 and 2, but during the 10th through 18th hours, it's pretty important. :)

    [ Parent ]
    Addendum, using the fonts with X11 (none / 1) (#98)
    by strlen on Tue Dec 07, 2004 at 04:08:02 PM EST

    Interesting suggestions, anonymous font is particularly nice in my view. To use these with X11 and XFT, create a directory (say /usr/local/pfonts) add to your /etc/fonts/local.conf (on some linux machines, also /usr/X11R6/etc/fonts/local.conf on FreeBSD) the following lines:

    <dir>/usr/local/pfonts</dir>

    Then run fc-cache -fv and (possibly, not sure about that one, xset fp rehash). This will then work with XFT aware applications (xterm,gnome/KDE terminal). Has anyone found a way to make these fonts with GNU emacs (any XFT support patches for it?) - xemacs will actually display these fonts as well, though not anti-aliased.

    --
    [T]he strongest man in the world is he who stands most alone. - Henrik Ibsen.

    In windows: (none / 0) (#136)
    by emmons on Wed Dec 08, 2004 at 11:03:02 PM EST

    Open "c:windowsfonts" in explorer.
    Drag the font file into it.
    Enjoy.

    ---
    In the beginning the universe was created. This has made a lot of people angry and been widely regarded as a bad move.
    -Douglas Adams

    [ Parent ]
    grr autoformat (none / 0) (#137)
    by emmons on Wed Dec 08, 2004 at 11:03:52 PM EST

    c:\windows\fonts

    ---
    In the beginning the universe was created. This has made a lot of people angry and been widely regarded as a bad move.
    -Douglas Adams

    [ Parent ]
    In any modern graphical Linux distribution: (none / 0) (#160)
    by BJH on Fri Dec 10, 2004 at 09:07:15 PM EST

    1. Open a new Nautilus window.
    2. Type "fonts:" in the address bar.
    3. Drop your new font in this window.
    4. Enjoy.

    --
    Roses are red, violets are blue.
    I'm schizophrenic, and so am I.
    -- Oscar Levant

    [ Parent ]
    -1, boring. (1.00 / 3) (#103)
    by TheHeadSage on Tue Dec 07, 2004 at 06:31:21 PM EST

    What is the point of this article? Honestly... Best Programming font?

    What's next? An article on the best programming keyboard or best programming chair?

    If you submitted this as MLP and just had the top part of the article, I would have +1,SP'ed it.

    Porgrammers (3.00 / 3) (#114)
    by n8f8 on Wed Dec 08, 2004 at 08:25:47 AM EST

    If you spend a lot of time staring at text during the day, picking a good font can help you improve performance, reduce eyestrain and reduce the changces of making stupid mistakes.

    Sig: (This will get posted after your comments)
    [ Parent ]
    Font has more options than most other tools. (none / 0) (#174)
    by systemloc on Sun Aug 07, 2005 at 03:19:52 PM EST

    Keyboard: the Model M, of course!

    Chair: anything you don't fall off of after three pots of coffee.

    [ Parent ]

    outstanding! (2.33 / 3) (#106)
    by the ghost of rmg on Tue Dec 07, 2004 at 06:55:13 PM EST

    well played, sir.

    my hat goes off to you.


    rmg: comments better than yours.

    Go proportional (none / 1) (#113)
    by gidds on Wed Dec 08, 2004 at 08:04:02 AM EST

    I'm really surprised no-one else has put down my first thought on this: why do you need a monospaced font at all?

    The only reason you give is 'alignment', but what do you need to align? Left-hand edges will align well whatever font you use (especially with tabs for indentation), and IME unless you're writing in COBOL, trying to align anything else is a waste of effort.

    I know this is a minority viewpoint, but I find proportional fonts much easier on the eye for code as well as for English text. They don't waste space around thin characters, which leaves more room for the important stuff. Your eye doesn't get drawn to incidental details, but flows easily across the whole.

    My favourite general-purpose font is Optima, as I find it gives the best compromise of legibility and density at a wide variety of sizes. And to help code legibility, I tend to write it similar to English, with spaces around operators, after command and semicolons, &c -- I find this helps in most languages.

    (Of course, the trouble is I like vi as well, so I sometimes end up using a monospaced font anyway. But not through free choice!)

    Andy/

    Why monospaced? (none / 0) (#116)
    by Eccles on Wed Dec 08, 2004 at 09:28:07 AM EST

    I find it really hard to see errors in words like willing with a proportional font.  Multiple i and l characters blur together.  Heck, kuro5hn and kuro5hin are pretty hard to distinguish, I want monospaced fonts in my address bar.


    [ Parent ]
    Monospaced fonts in address bars (none / 0) (#124)
    by katie on Wed Dec 08, 2004 at 12:43:01 PM EST

    Back in the day when people used to read the UI guidelines for a platform instead of assuming they knew better, "Inside Mac" explained that all user input boxes should be in a monospaced font. So you can select to single letter accuracy, rather than only being able to select single letter accuracy if the letter you want to be accurate about is a fat one...

    It also used to talk about high contrast, and low saturation colours... I suppose these halcyon days of "low contrast is the new readability", no-one reads UI guidelines.


    [ Parent ]

    That's not a problem with proportionality (none / 0) (#155)
    by gidds on Fri Dec 10, 2004 at 08:59:38 AM EST

    Multiple i and l characters blur together.

    Isn't this the fault of the particular font you're using, regardless of whether it's monospaced or not?

    It's perfectly possible to make 'l's, 'i's, 'I's and '1's easily distinguishable in a proportional font, just as they look the same in some monospaced ones.

    And if you can't make them out because they're too small, then there's always the option of using a larger font size! (It'll probably still take up less horizontal space than a monospaced one...)

    Andy/
    [ Parent ]

    for algol-style languages like C, maybe (none / 1) (#129)
    by 2097 on Wed Dec 08, 2004 at 06:15:23 PM EST

    I usually program lisp and there the (space-based) indentation really helps. I do prefer proportional when it comes to reading, but would it work for lisp coding?

    [ Parent ]
    Remind me what LISP looks like... (none / 0) (#154)
    by gidds on Fri Dec 10, 2004 at 08:24:46 AM EST

    I've no idea -- I've never done any LISP. (There go all my pretentions of geekhood...) I have a rough idea what it's about, and I know it uses lots of parentheses, but I can't picture some LISP code. Show me a sample, and we'll see!

    Andy/
    [ Parent ]
    Here is what one person's lisp looks like. (none / 0) (#161)
    by Wolfkin on Sat Dec 11, 2004 at 01:57:04 AM EST

    (defun fetch-hash (statement)
      "Returns an equal hash containing all the data from this row, with the keys being
    the strings that represent column names.  NIL is returned for an empty row."
      (when (= +SQLITE-ROW+ (step statement))
        (let* ((cols  (sqlite3-column-count statement))
               (names (column-names statement))
               (row   (make-hash-table :test 'equal :size cols)))
          (dotimes (i cols row)
            (setf (gethash (elt names i)  row)
                  (fetch-column statement i))))))

    The two forms after the setf are indented the same width, and the two rows after the let* are indented to match their initial paren with the second paren after let*.  Other than that, two spaces for each extra level of indentation.

    More of the same in www.randallsquared.com/download/sqlite/cmucl-sqlite3/cmucl-sqlite3-0.5.lisp .  Beware that some of the code in that file may have had 8 spaces replaced with a tab, as Emacs likes to do that, and as a newbie to Emacs, I haven't looked for a way to stop it.  Yet.

    [ Parent ]

    Proportional != consistent. (none / 1) (#132)
    by sudog on Wed Dec 08, 2004 at 07:54:53 PM EST

    If I am making simple diagrams, proportional fonts suck ass. Their kerning is different, their hints are different, and if someone is using a different proportional font than I am, they see something completely different from what I see. In short: ASCII art would be illegible. That would make things less simple.

    Also, spaces take up almost no room, by themselves, in a proportional font, so all those programs out there with source code might not end up being indented at all, which ends up making things less simple than they already are, considering all the tab vs. space indentation wars.

    If you have a monospace font, you can also find things more easily on-screen. There is a fixed grid and there are characters in expected locations. If I have 100 lowercase l's (ell) and then a number in a proportional font, that's going to take up almost no room and it'll be impossible to know that there were in fact 100 ells.

    Columns are a factor in editors as well--with a proportional font, the column becomes almost completely meaningless. If you lose that channel of meaning, it becomes that much more useless as a display for code.

    With a monospace font, usually the (){}[] and so on are very evenly spaced and fit the characters they enclose much better than in most proportional fonts. In many proportional fonts, the parentheses are not aligned with the characters, which means the eyes can't follow along a row of code as well as they can with a nice straight, clear monospace font.

    There are languages where whitespace has meaning, too. Python is one of them. You'd never be sure that a proportional font had x spaces in it or not. Considering the fact that tabs and spaces in monospace fonts are difficult enough to differentiate, why make things even less simple?

    Terminal emulators require monospace fonts: and since most UNIX systems nowadays require terminal emulation to shell into, introducing an incompatible standard (i.e. proportional terminals) would make things less simple.

    Less simple is bad.


    [ Parent ]

    making diagrams? (none / 0) (#135)
    by QuantumG on Wed Dec 08, 2004 at 09:45:51 PM EST

    What are we in the 1960s here? Use a god damn graphics editor, or better yet, write code that doesn't need a freakin' map to understand.

    Gun fire is the sound of freedom.
    [ Parent ]
    Complexity. (none / 0) (#139)
    by sudog on Wed Dec 08, 2004 at 11:45:46 PM EST

    A visual diagram is often the best way to explain something without taking up paragraphs and making the reader take notes.

    You go ahead and write code that doesn't need diagrams: myself, I would prefer to continue to be gainfully employed designing useful software instead of simple websites.

    (And why waste the space on a huge jpeg or gif when I can draw some single squares and lines and explain it just as well in a fraction of the space?)

    It's all a question of what's actually necessary. If I have to fire up a stupid graphics viewer just to view an image that you wastefully (and probably very distastefully) built in Microsoft Paint with a shaky mouse-hand instead of drawing a few simple shapes in ascii line art, especially since at that point the image is detached from the source and not viewable in the same editor, I'm going to bust out laughing and move on.

    Bah, this is masturbation anyway.


    [ Parent ]

    But do we need that sort of 'consistency'? (none / 0) (#156)
    by gidds on Fri Dec 10, 2004 at 09:26:57 AM EST

    If I am making simple diagrams, proportional fonts suck... ASCII art would be illegible.

    Oh, quite. You need monospacing for ASCII art, agreed. But we're talking about programming -- and how often do you feel the need to include ASCII art pictures in your code? If it's more than very rarely, then maybe they'd be better off in design documents &c.

    As for indentation, I always use tabs for that (and nothing else). Again, I don't see why they're not used universally -- they're logical, clear, easy to use, and work with all fonts and displays.

    If you have a monospace font, you can also find things more easily on-screen. There is a fixed grid and there are characters in expected locations. If I have 100 lowercase l's (ell) and then a number in a proportional font, that's going to take up almost no room and it'll be impossible to know that there were in fact 100 ells.

    I really don't see the relevant of this example! When does code ever have anything like that sort of problem? If it matters that you have exactly 100 'l's, then surely it's far clearer and safer to create them programmatically, than type them all in? And even if you do need tons typed in, I'd prefer to have them bunched up neatly than wasting tons of space...

    Columns are a factor in editors as well--with a proportional font, the column becomes almost completely meaningless. If you lose that channel of meaning, it becomes that much more useless as a display for code.

    Why? What 'channel of meaning' does having some characters in the code line up with others actually give you? In my experience, that sort of alignment is far more likely to draw your eye to irrelevancies and highlight coincidental patterns than it is to bring out anything meaningful.

    In many proportional fonts, the parentheses are not aligned with the characters, which means the eyes can't follow along a row of code as well as they can with a nice straight, clear monospace font.
    I'm not sure what you mean by this. Yes, of course, in proportional fonts, the various types of brackets take up less horizontal space, but I find that easier to read, not harder.

    Terminal emulators require monospace fonts

    True. As do editors like vi and emacs. While they have their places, and very useful places they are too, I consider their use of monospaced fonts a necessary evil rather than a benefit. I'd much rather use a version of vi that worked proportionally...

    Andy/
    [ Parent ]

    Colums are good (none / 1) (#148)
    by JonesBoy on Thu Dec 09, 2004 at 01:23:56 PM EST

    Lets say you have two successive lines that are long and exactly alike, except a few variables are changed.   With monospaced, its obvious that the lines do the same thing with different variables.   You can always pad the names of different variables to make them look similar too.   This is also really good in helping to highlight subtle differences in two similar lines.

    Also, if you are initializing several varibles with arrays, you can visually compare lengths and contents far more easily.

    Line lengths can be important.   MSVC has a tendency to wrap lines when printing, making code difficult to read.   With a monospaced, you know that 80 cols is all you have, and when you should manually break a line for printout readability/portability.

    Monospaced fonts also look like they were printed on a giant IBM 1403 line printer.   Any peripheral that makes that much noise deserves emulation and admiration.   :)   (Guess who used to operate one of those suckers)

    I can probably come up with a dozen reasons, but those strike me immediately.

    Speeding never killed anyone. Stopping did.
    [ Parent ]

    But what for? (none / 0) (#157)
    by gidds on Fri Dec 10, 2004 at 09:34:18 AM EST

    Let's say you have two successive lines that are long and exactly alike, except a few variables are changed

    At the risk of sounding like a spoilsport, if you have that much repetition in your code, then maybe you should consider writing it differently?

    (Anyway, as for 'highlighting subtle differences', in monospaced, it's easy to miss the differences, whereas proportional fonts will highlight the point they diverge.)

    Line lengths can be important. MSVC has a tendency to wrap lines when printing, making code difficult to read.

    Well, firstly, you shouldn't be writing code with lines that long :) But isn't that a problem with MSVC, not with the fonts themselves?

    Monospaced fonts also look like they were printed on a giant IBM 1403 line printer.

    Yet another reason for hating 'em! (I used to work near one, and the little printer room wasn't soundproofed enough! Plus I don't want to be reminded of the many happy times spent next to it, waiting for my output...)

    I can probably come up with a dozen reasons

    Feel free! Seriously, every time this comes up, the entire world (or so it seems) claims that monospaced fonts just make so much more sense for coding -- and yet, having written a lot of code both ways, I really don't see it myself. Most of the things that monospaced fonts let you do just aren't worth doing, or get you into bad habits. It may take a short while to cure yourself of them, but IME you'll be writing better code as a result.

    Andy/
    [ Parent ]

    reply (none / 0) (#170)
    by The Voice of Reason on Wed Feb 09, 2005 at 04:16:08 PM EST

    Your arguments are worthless, you have no point. Are you an idiot?

    [ Parent ]
    DP Custom Mono (none / 0) (#121)
    by adamjaskie on Wed Dec 08, 2004 at 11:33:58 AM EST

    DPCustomMono2

    Project Gutenberg Distributed Proofreading created a font specifically for proofreading documents. It is designed so that i, l and 1 look different, 0, o and O are easily distinguished, etc.

    I find it helps with proofreading things on DP quite a bit. I never thought of using it for programming, but I may try it and see how it works out.



    Thanks (none / 0) (#146)
    by n8f8 on Thu Dec 09, 2004 at 11:27:10 AM EST

    I've added it to the list on my site to review later.

    Sig: (This will get posted after your comments)
    [ Parent ]
    I use OCRA Extended (none / 0) (#123)
    by the hermit on Wed Dec 08, 2004 at 12:10:28 PM EST

    I've been using that for years now and it works well for me.

    The One True Font (none / 0) (#125)
    by Raindoll on Wed Dec 08, 2004 at 01:32:54 PM EST

    Fixed Semicondensed 13. :) Perfect readability. I wish it was available as a TrueType font for Windows and MacOS. Otherwise, I just use Lucida Console or Lucida TypeWriter.

    The winners: (none / 0) (#126)
    by J T MacLeod on Wed Dec 08, 2004 at 03:16:55 PM EST

    The top two positions tied.  Bitstream Vera Mono and Fixedsys sit evenly at the top.  

    The runners up follow:  

    1.  Andale Mono
    2.  Courier New
    3.  Lucida Sans Typewriter Mono
    All other contestants are disqualified for sucking too horribly.  

    ProFont on Mac (none / 1) (#128)
    by frankwork on Wed Dec 08, 2004 at 04:44:35 PM EST

    ProFont has some nice features, like the fact that ()[]{}/\ are all a good deal taller than uppercase letters. It is awfully wide though.

    But the one fatal flaw is that it when typing an "o" followed by a slash it results in an . I think a similar thing happens when typing a "n" followed by a twiddle. This is specifically in the "Terminal" app in Mac OS X.

    I would be eternally grateful if someone could tell me how to turn that particular "feature" off.



    RE:ProFont on Mac (none / 0) (#167)
    by La Camiseta on Wed Dec 15, 2004 at 09:17:56 PM EST

    That's part of your keyboard mapping, if I'm not mistaken. Make sure that you're keyboard has something like a standard US mapping (or the relevant one for wherever you live).
    ־‮־

    [ Parent ]
    Another Discussion on the Subject (none / 1) (#131)
    by Atypical Stranger on Wed Dec 08, 2004 at 07:38:13 PM EST

    I was looking for information on this about a year ago on this subject and found a discussion on the subject at typographi.ca . Now at typographi.com .

    It's a fun place to poke around and learn about fonts.

    Personally I like ProFont.



    Brilliant (none / 0) (#134)
    by n8f8 on Wed Dec 08, 2004 at 08:49:19 PM EST

    I'll have to revise my criteria after reading these discussions. Thanks

    Sig: (This will get posted after your comments)
    [ Parent ]
    two X fixed fonts (none / 1) (#142)
    by sesquiped on Thu Dec 09, 2004 at 12:58:41 AM EST

    I'm not sure if you can get them anywhere else, but I've found these two to be by far the most pleasing to my eyes, and I find it hard to use anything else.

    For general working in a terminal, or light coding, I use "9x15", a.k.a. "-misc-fixed-medium-r-*-*-15-*-*-*-*-*-*-*". For more involved coding, when I need to be able to fit more lines on the screen, I usually switch to "7x13", a.k.a. "-misc-fixed-medium-r-*-*-13-*-*-*-*-*-*-*".

    GwdTE_437 (none / 0) (#143)
    by Fuzzwah on Thu Dec 09, 2004 at 01:33:22 AM EST

    I've been a massive fan of GwdTE_437 ever since I started using it in mirc. I now use it for all my fixed width font needs.

    Runner up would have to be IBMPC.

    --
    The best a human can do is to pick a delusion that helps him get through the day. - God's Debris

    Thanks (none / 0) (#147)
    by n8f8 on Thu Dec 09, 2004 at 11:28:10 AM EST

    I added GwdTE_437 to the list of fonts to be reviewed on my site. The strange this was that it was already on my computer. Maybe I forgot to review it.

    Sig: (This will get posted after your comments)
    [ Parent ]
    ahhh. my eyes. (3.00 / 2) (#159)
    by Schnapp23 on Fri Dec 10, 2004 at 08:05:53 PM EST

    does anyone actually use black text on white on a terminal? I gave that up for light text on dark eons ago. It's truly much more relaxing.

    Calculator Font! (none / 0) (#163)
    by Pingveno on Sat Dec 11, 2004 at 02:53:12 PM EST

    Interesting that one of fonts you list is the font from a calculator, the TI 92. It always was a good calculator, but I guess it multipurpose now....
    ------
    In other news, more than 98 percent of convicted felons are bread users.
    Vera doesn't work well with antialiasing... (none / 0) (#164)
    by BenJackson on Sun Dec 12, 2004 at 02:45:32 AM EST

    I just downloaded and installed the Bitstream Vera Sans Mono family and tried it on XP. The 10 point version looks terrible with font smoothing enabled (this is a CRT, so not cleartype). I suspect that the lines of the font render a little smaller than 1px wide at 10pt.

    -misc-fixed-medium-r-normal--13-*-*-*-c-*-iso8859- (2.00 / 2) (#166)
    by nyet on Mon Dec 13, 2004 at 06:03:29 PM EST

    Why in the hell would i want to do any programming in windows anyway?

    Onuava (none / 0) (#168)
    by Dekaritae on Sun Dec 19, 2004 at 05:15:59 PM EST

    I've been using Onuava 7pt as my prefered monospace font for IRC and text editors.

    I find that it looks better than Crystal, Andale Mono or Lucida Console at 7pt, and it doesn't looks horrible when bold or italic effects are applied to it.

    My only caveat is that it is an older font, and it is missing several international characters from it's map.

    http://eksten.net/webgraphix/fonts/o/onuava.html

    -----

    http://maur.shellscape.org/

    fixed (none / 1) (#172)
    by escii on Tue Mar 29, 2005 at 05:09:27 AM EST

    my favorite is definetly the linux system font 'fixed', very clear, small so it gives you alot of room to work with and its really easy to destinguish the text.

    Finding the Best Programmer's Font | 174 comments (117 topical, 57 editorial, 0 hidden)
    Display: Sort:

    kuro5hin.org

    [XML]
    All trademarks and copyrights on this page are owned by their respective companies. The Rest 2000 - Present Kuro5hin.org Inc.
    See our legalese page for copyright policies. Please also read our Privacy Policy.
    Kuro5hin.org is powered by Free Software, including Apache, Perl, and Linux, The Scoop Engine that runs this site is freely available, under the terms of the GPL.
    Need some help? Email help@kuro5hin.org.
    My heart's the long stairs.

    Powered by Scoop create account | help/FAQ | mission | links | search | IRC | YOU choose the stories!