Old Timey Code and Old Timey Mono Fonts

(github.com)

178 points | by dsevil 4 days ago ago

32 comments

  • dsevil 4 days ago ago

    Based on Reproducing Typewriter, a letterpress typeface from c. 1906 used to create fake typewritten letters for promotional material. Where other monospace typefaces replicated actual typewriters, Reproducing Typewriter had improvements for better readability at smaller point sizes and/or where poor quality reproduction was an issue.

    I thought its features would make it the basis of a good coding font, too. Old Timey Mono is much closer to the original while Old Timey Code makes it an even better typeface for writing source code.

    It was the coding font used in the Turbo Pascal 3.0 user manual. I've not seen it elsewhere except old patents' cover pages.

    Enjoy and if you have any comments or questions, comment or enquire away.

    https://github.com/dse/old-timey-mono-font

    https://webonastick.com/fonts/old-timey-mono/

    • VTimofeenko a day ago ago

      Thanks so much for making it! Usually fonts like this are a non-starter for me since they lack Cyrillic letters. Your inclusion of those symbols is much appreciated.

    • wmwragg 14 hours ago ago

      Looking at the examples, they look good, though one thing stands out, the "w" seems to be bolder than the other letters. The "m" seems fine, as do the other letters and symbols, just the "w".

      • dsevil 5 hours ago ago

        It appears to look that way in the Turbo Pascal manual as well. I'll check ATF specimens and whatnot.

    • merecactus a day ago ago

      Thank you so much for making and sharing this. I'm especially grateful that you included the code variant. I'm not a programmer but love monospace fonts but the lack of a slashed zero in so many otherwise lovely fonts has been a deal breaker for me!

      • syeare 15 hours ago ago

        Spotted my kin!

        What is it that makes slashed zeroes so nuch more appealing than the other kinds of "zeroes"? Slashed zeroes are definitely much better than those nasty dotted inverse donut zeroes

        How does a dot in a zero even make any kinda logical sense? It's like a piece of dough floating in midair in the center of a donut

        Dotted zeroes [insert copypasta] bad

        I don't even know why I'm so obsessed with the slash in zeroes

        • dsevil 5 hours ago ago

          Yeah the dot is mostly a manner of preference. It looks less crowded than slashed zero maybe? The dotted zero does disambiguate from U+00D8 [LATIN CAPITAL LETTER O WITH STROKE](https://en.wikipedia.org/wiki/%C3%98).

        • sollewitt 11 hours ago ago

          I will defend the honor of dotted zeros! I really like the zero in Space Mono, I think that nailed the retro future aesthetic.

          IMH(and no design school)O when the character is oblong and the dot is a circle, it creates a similar contrast to the straight slash through an ellipse, but with less visual weight.

          • mprovost 9 hours ago ago

            Dotted zeros remind me of the BIOS screen on an old monochrome Compaq luggable. Good times.

    • bluenose69 a day ago ago

      Based on the first link, it seems as though zero and upper-case "O" are very similar. (My eyes cannot discern a difference, but I admit that my eyes are not top-notch.)

      • JonathonW a day ago ago

        In Old Timey Mono, lowercase "L" and the number "1" are also very similar.

        Old Timey Code fixes both of these-- it has a slashed zero and redraws the number 1 to be distinct (angles the top serif).

      • somat a day ago ago

        The original typewriter had no "0" or "1" you were expected to use "I" or "O" in place. I suspect an authentic typeface should have trouble distinguishing them.

        and having said that, forget authenticity, I really appreciate typefaces that make an effort to distinguish all characters.

        • dsevil 5 hours ago ago

          I was taught to use lowercase letter L for the digit 1 though I did see typewriter samples using the capital I.

    • chrchr a day ago ago

      It's gorgeous. Thanks for making and sharing it!

    • actionfromafar 18 hours ago ago

      You wouldn't consider changing license to Apache-2.0, or dual license under that?

  • Telemakhos a day ago ago

    This is pretty nice: thanks for including polytonic Greek and macrons over Latin vowels including over y. I especially love how the breathing marks and accents look together over initial vowels in Greek, and I love zeta (ζ) and xi (ξ) in this font.

    Might I make a few specific suggestions:

    - allow combining breve over Latin y as well: sometimes that's handy for indicating contrast

    - check the height of stacking diacritical marks: a perispomenos tonos or circumflex accent over a breathing mark over a vowel (like in εἶναι eĩnai) ends up stacking up tall enough to intersect with descenders (like on ζ zeta) from the line above

    - the circumflex over alpha (ᾶ) looks really good, because it follows the curve of the alpha itself, but circumflex over eta (ῆ) looks off-center, because it left-aligns to the ear on the left of eta. The same could be said for the iota subscript (ᾳῃῳ): it looks great under alpha and omega, but it's a bit awkward under eta because of how far to the left it is.

    - have you considered adding a variation for the Porsonic or single-curve circumflex?

    • dsevil 5 hours ago ago

      Ok so there's no capital or small Y with breve in Unicode.

      Are you seeing the combining breve to the right of the Y/y (instead of atop it) when trying to use them?

      Your suggestions are welcome, thank you!

  • JohnDeHope 9 hours ago ago

    I can't tell if you're aiming for a faithful reproduction of the original font, or to make the coding font modern and most useful to today's developer. But... Can the code variant have the asterisk used to represent multiplication be on the same line as other math operators like plus, minus, and tilde? +-~* I always like the asterisk to be in line with the others. Maybe I am just weird. Also for the code variant I think the pound or hash mark # could be reduced in drama a little, to fit in with the other punctuation marks. Thanks for listening to my two cents.

    • dsevil 5 hours ago ago

      Old Timey Mono is the mostly faithful reproduction.

      Old Timey Code is the coding friendly font.

      I'm aiming for both.

  • psunavy03 3 hours ago ago

    I'm trying the code version out, and the only minor tweak I could mention is that having the option for a dotted zero would be clutch. The other typewriter font that has one is narrower, and this one reads better otherwise, at least to me.

  • kleiba 18 hours ago ago

    Apparently, the letter ß is not included which is used in German. That's why German is absent from the list of supported languages.

    • brainwad 13 hours ago ago

      Just the uppercase variant ẞ - the lowercase ß _is_ there. Notably, uppercase ẞ didn't exist at the time the source typeface was designed – it was only officially adopted 111 years later in 2017.

  • plumbees 9 hours ago ago

    Windows is not liking the font files :( Will wait for next release

    • dsevil 5 hours ago ago

      When clicking to OPEN them (which I'm not able to do) or just right-clicking to INSTALL them (which I'm able to do)?

  • mhd a day ago ago

    I'm currently using an old copy of Letter Gothic 12 Pitch from an ancient Ventura Publisher CD, and like that style a lot, so definitely going to try this.

  • evan_piermont 16 hours ago ago

    Is there a(n easy) way to integrate this into Latex, to use it for math fonts?

    • phorkyas82 14 hours ago ago

      If you want to use non standard fonts, I think, you should use XeLaTex to compile your file. After installing the font in the system, this just worked on my Ubuntu:

      \usepackage{mathspec} \setallmainfonts(Digits,Latin){Old Timey Mono}

      \begin{document}

      Just test some equation \begin{equation} \frac{e^x}{2-x} = \int_0^\infty f(x)dx \end{equation}

      \end{document}

  • kaitocross 17 hours ago ago

    I wonder why Luxembourgish is supported when German is not...

    • mcv 11 hours ago ago

      Maybe Luxembourgish doesn't have an uppercase ẞ?

      Dutch is also not supported. Presumbly no support for the 'ij' digraph. But do you even need that in a monospace font? Admittedly old Dutch typewriters used to have a single character for it, but that's really old-timey.

      • dsevil 5 hours ago ago

        I didn't want to even try to mess with ligatures in a monospace font though I did œ and Œ and for WGL4 completeness IJ. So yeah I'll do ij as well...

  • olelele 18 hours ago ago

    Looks great! Will use!

  • MartinGAugustin a day ago ago

    [dead]