2 ms·
As someone whose initial exposure to computers was through IBM PCs, I find VileR's website[1] to be a treasure trove of BIOS/OEM fonts and related resources wit
by susam 3y ago
As someone whose initial exposure to computers was through IBM PCs, I find VileR's website[1] to be a treasure trove of BIOS/OEM fonts and related resources with impressive attention to detail.
Inspired by IBM PC games from the 1990s, I aspired to create my own invaders-like game. However I had limited access to computers back then (≤ 70 mins/month). My knowledge of computer programming was very limited too. At that time, I could only manage to write a few simple text-based adventure games. Although 25 years too late, during the COVID-19 pandemic, I revisited that dream and spent a weekend writing my own Invaders game[2] using HTML5 Canvas.
Initially, I used CanvasRenderingContext2D.fillText() to display text (current score, info screen, etc.). However, dissatisfied with the text rendering quality, I began looking for IBM PC OEM fonts online and came across the Oldschool PC Fonts[3] on int10h.org. After downloading the font packs from the website, I wrote a little Python script to convert them to bitmaps[4] (arrays of integers), and then used the bitmaps to draw text on the canvas using JavaScript, one cell at a time, to get pixel-perfect results!
I eventually switched to a different font pack called Modern DOS[5] developed by Jayvee Enaguas. Nevertheless, given how extensive VileR's website is and how convenient the font preview tools[6] on the website are, int10h.org remains as my go-to website whenever I am doing any type of retrocomputing experiments for fun.
[1] https://int10h.org/ https://int10h.org/
[2] https://susam.net/invaders.html https://susam.net/invaders.html
[3] https://int10h.org/oldschool-pc-fonts/ https://int10h.org/oldschool-pc-fonts/
[4] https://github.com/susam/pcface https://github.com/susam/pcface
[5] https://www.dafont.com/modern-dos.font https://www.dafont.com/modern-dos.font
[6] https://int10h.org/oldschool-pc-fonts/fontlist/font?ibm_vga_8x16 https://int10h.org/oldschool-pc-fonts/fontlist/font?ibm_vga_...
- viler 3y agoThanks for those comments, much appreciated. I'm still planning future updates to that font collection, and I'll probably include straight-up binary dumps of the characters, so you won't have to jump through hoops to convert them (although many of them are already available in this form at https://github.com/viler-int10h/vga-text-mode-fonts https://github.com/viler-int10h/vga-text-mode-fonts - all you need is a hex dump). Do the Modern DOS fonts have a particular advantage for you, in terms of implementation? If they do, let me know and I'll consider those improvements as well!
- susam 3y agoHello VileR! Thank you for replying to my comment! The Modern DOS font does not have any particular advantage from a technical perspective. It seems to be a fusion of a couple of OEM fonts. According to my examination of the Modern DOS font, it seems to be based on the IBM VGA 8x16 and Verite 8x16 OEM fonts[1][2]. Some glyphs in it look exactly like those of IBM VGA 8x16 while some others look exactly like those of Verite 8x16. But it also has some glyphs that match neither of the two OEM fonts. Instead they appear to be adaptations of the glyphs found in one or both of the OEM fonts. To summarise, Modern DOS does not appear to be a faithful reproduction of any OEM font. Despite considerable deviations from the OEM fonts, I quite liked it due to some choices made in the font. For example, it has the slashed zero of Verite and it also has the raised stem for the digit 2 and the curved stem for the digit 7 from IBM VGA 8x16. I personally happened to like this type of amalgamation. However it is not suitable for anyone who cares about accuracy and fidelity to specific OEM fonts. For anyone interested in obtaining reproductions of the OEM fonts that are as faithful as possible[3], in my opinion, they should go to your page at https://int10h.org/oldschool-pc-fonts/ https://int10h.org/oldschool-pc-fonts/ without a doubt! Thanks for creating and maintaining this wonderful resource! [1] https://int10h.org/oldschool-pc-fonts/fontlist/font?ibm_vga_8x16 https://int10h.org/oldschool-pc-fonts/fontlist/font?ibm_vga_... [2] https://int10h.org/oldschool-pc-fonts/fontlist/font?verite_8x16 https://int10h.org/oldschool-pc-fonts/fontlist/font?verite_8... [3] https://int10h.org/oldschool-pc-fonts/readme/ https://int10h.org/oldschool-pc-fonts/readme/ (see "Is every single font here 100% faithful to the original raster typeface?")
- viler 3y agoOh, gotcha - FWIW the fonts I labeled 'Verite' do come from Rendition Verite video BIOS charsets, but those in turn seem to be descended from the 'Phoenix VGA BIOS' type of font, or rather they're in the same loose family of fonts which shared that visual style... can't check at the moment, but it wouldn't surprise me if Rendition used some Phoenix VBIOS derivative too. I also believe the font used in the VMware VBIOS is derived from that, so those who run a lot of text-mode stuff in VMware may take a liking to it.