Hacker News new | past | comments | ask | show | jobs | submit login
Show HN: Original 8x16 ASCII Fixed Width Font: Classic Console Neue (webdraft.hu)
132 points by deejayy 3 months ago | hide | past | favorite | 38 comments



Another option in this space is Modern DOS - https://notabug.org/HarvettFox96/ttf-moderndos

I like it for its even-more-permissive license and the slashed instead of dotted zero.


Wow, thanks for Cyrillic, Armenian and Georgian, not many fonts have support for all three. Will definitely give it a shot. Iosevka doesn’t have Armenian and Georgian, for instance.


VGA text mode displayed 8x16 fonts as 9x16, either repeating the rightmost column or displaying an empty rightmost column.

Is there a 9x16 version of this font?


> either repeating the rightmost column or displaying an empty rightmost column

I always look for the lowercase m. All the strokes should be equally thick, but on 8x16 it has a thin middle stroke.


From a different source, yes, at int10h.org


This seems like a bit of a hodgepodge; I'm not sure all these character sets were supported back in the DOS days and some of the character, like the runic ones, seem too big. It would be nice to know where these are all sourced from.

EDIT: without the extra letter spacing added in the character samples, you can see how some of the wider characters run into their neighbors:

   javascript:document.styleSheets[0].insertRule('.character-list { letter-spacing: normal !important }')


There were multiple sources I used, first started with dosbox, checked all codepages' ascii chart, made a screenshot, went thru all characters. Then I found int10h, crosschecked a few to not miss anything. Some glyphs are result of just the combination of letters and mods (accented characters mostly).

Then I found a pixel font which has about 40k glyphs as I remember, so I checked which can be derived from it in the style of the original VGA font.


Thanks, you should put this info on the page!


I wondered if the runes were taken from an Ultima game, but they don't match those in screenshots of Ultima V nor VI.


It's elder futhark, younger futhark and anglo-frisian runes. They are part of the Unicode spec: https://en.wikipedia.org/wiki/Runic_(Unicode_block)


I think the question is more where the specific pixelated glyphs for the runes were taken from.


Yeah, I played a lot of Ultima back in the day and I don’t recognize those. Doesn’t match Ultima III, for sure.



This is the default font of my browser-based terminal emulator, http://github.com/google/werm, along with a handful of other retro fonts (uses the int10h.org ttf's--converted to bitmaps--which I suspect has all the same characters as Neue)


Would be nice if this person collaborated with this project: https://www.inp.nsk.su/~bolkhov/files/fonts/univga/index.htm...

Each seems to have glyphs the other is missing.


I'll pay for one of these that look good in vscode and supports ligatures. One can dream.


Fixedsys Excelsior might get you close (TTF, with ligatures).

https://github.com/kika/fixedsys


They never look right.

It's not just the fact that it should be 9x16 instead of 8x16, or that sometimes (often?) the aspect ratio is off, it's something fundamental about how that 9x16 VGA font was rendered on CRTs.

A really good CRT emulation on a really good flatscreen monitor can maybe simulate the VGA text mode experience of the day, but so far I haven't really seen it.


int10h.org has the 9x16 version, also with corrected aspect ratio as it would have appeared on systems with non-square pixels


I know, very familiar with that one, and still, it's not the same.


is it because monitors of the time were all slightly 'bent' outwards?

nothing was a perfect square

https://github.com/Swordfish90/cool-retro-term


I think it's much more than that. It's also scanlines, and more generally how a pixel looks when it's represented by electrons hitting the phosphor through a shadow mask. Even when a shadow mask is made up of holes, not slits (Trinitron), those holes do not correspond to pixels. This, the particular characteristics of the phosphor, and the fact that the phosphor is behind glass, probably all add up to a very certain look.

By the way, there definitely were "perfect rectangle" (I assume you don't actually mean "square", but rather just non-curved) CRTs later on, or at least very nearly so.

But yeah, maybe I should try the project you've linked, it may really be a good simulation of it. (Though I wouldn't want to use it as my "regular" terminal.)


The hercules card had a "80 × 25 text mode with 9 × 14 pixel font (effective resolution of 720 × 350, MDA-compatible)" (wikipedia), but the graphics mode was 720 x 348.

It always blew my mind that you'd buy a new videocard, and plug the big CRT monitor in it, and it would switch between different resolutions. Precisely because the holes and pixels don't line up, they supported a huge range of resolutions and it didn't look as smeared as on LCDs.

I think the mask in the CRT itself also contributed to a kind of subpixel Anti-Aliasing.

And I've never seen this in real life, but it's amazing, using the hardware implementation to force 1024 colors out of CGA?! https://int10h.org/blog/2015/04/cga-in-1024-colors-new-mode-...


I don't know about older hardware because I started in the early '90s, but the VGA didn't have scanlines the way game consoles played on TVs had. The VGA had a built-in line doubler, and the minimum horizontal scan rate was 31 kHz. In fact, very few computer monitors at that time supported 15 kHz.


CRT image is an analog signal so it always has those little imperfections, especially as the screen ages and phosphor matrix gets burned, and there's dust settling so all dissipation curves change slightly, and each analog electronic component on the board had it's own tolerances that changed over time, and then EM noise from environment and power grid was also leaking - all of that slightly affected timing and precision of the beam. It's not just that it's super hard to digitally emulate that, but even back then no 2 CRTs were giving 100% the same image, especially after a few years of being in use.


I use it as my regular terminal, works great.


I’ve come to rely on a lot of the Terminal.app features, as well as its speed.


Actually, I think "that" font (I don't know how it's called or if it even had a name) was originally designed to be shown 8 pixels wide and then simply reused when the 9x16 matrix was introduced (the 9th column being always blank or repeating the 8th column for block-drawing characters that required it). Which explains why the "background pattern" characters (0xB0, 0xB1 and 0xB2) look so ugly when shown 9 pixels wide. IMHO the whole font looked really ugly - back in the day I built a utility that stored a custom font in a codepage file to replace the standard font, and added (amongst others) new patterns with the pattern restricted to three 2-pixel-wide columns and two blank columns in between (2+1+2+1+2 = 8, which together with the default blank 9th column produced a nice regular pattern). Unfortunately there was no GitHub back then, otherwise I would have probably published it (or found out that someone had already done the same thing, as it often goes)...


IMO it still looks rather nostalgic. I do remember using cmd.exe or command.exe in Windows 95 and later and this being the default (but it would different if you had a different legacy code page set, IIRC). Of course cmd.exe just rendered the pixels as-is, no emulation or retro effects.


most VGA txt mode machines have a BIOS function to dump the font out of the device to mem. easy to grab it if u want a specific one and have the hardware. (this also works in qemu if someone needs a font in early boot and dont wanna grab their own font). nice for if u wanna go to gfx mode but dont want to load ur own font / keep same style text between the stages.


Did you adjust your resolution to compare? the 15" CRT was usually 800x600 or 1024x768 in those days.


720x350 for the pervasive 80x25 text mode actually (a resolution which wasn’t commonly used at that time for graphics modes otherwise).

I’ve mentioned in another comment what I think may be missing for it to look right.

And I’m not really being nitpicky I think. It really evokes rather little about what this era looked like with “just” the right pixels at the right place.


> 720x350 for the pervasive 80x25 text mode

With 9x16 font, shouldn't it be 720x400?


Oops, you are right, it’s 720x400. I mixed it up with the MDA 9x14 80x25 text mode.


are you referring to the IBM PC monochrome console screen? or common terminals from that time?


No, just normal VGA (and SVGA, and beyond that) monitors, up to before the first flat screens appeared.

But I made a small mistake, as another commenter pointed out: VGA text mode resolution was 720x400, not 720x350.


Here is a more extensive font resource (and awesome website): https://int10h.org/oldschool-pc-fonts/fontlist/


Thank you, great site!

An apparently less extensive resource is

https://www.programmingfonts.org/

and

https://www.nerdfonts.com/




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: