10 ms·
Fonts extracted from BIOSes and VGA ROMs
- stragies 6y agoFrom the nice article this little hint about a (possible) problem with Qemu: "qemu seabios 8x8 and 8x14 are exact matches to IBM's VGA and XGA fonts. These files are in fntcol16.zip from simtel. VGA-ROM.F08 and VGA-ROM.F14. qemu source comment claims this is public domain. I doubt IBM would release a font to public domain. Does this mean, qemu relied on claims by package creator and now they use a illegal copy?"
- rbanffy 6y agoI don't think font geometries are copyrightable, only names. In any case, the IBM PC fonts are horrendous. They should have gone with the sans-serif they used in their mainframe terminals.
- deleted 6y ago[deleted]
- clan 6y agoGenuinely curious! Are you talking about AFP fonts[1]? In that case Sonoran Sans Serif[2]? Then you should probably be happy with Arial[3]. Fun story[4]. Or are you talking about a 3270 font? Then you should have a look at 3270font[5] [1] https://www-01.ibm.com/servers/resourcelink/svc00100.nsf/pages/zOSV2R3ga321048/$file/e0zx100_v2r3.pdf https://www-01.ibm.com/servers/resourcelink/svc00100.nsf/pag... [2] https://www-01.ibm.com/common/ssi/cgi-bin/ssialias?subtype=ca&infotype=an&appname=iSource&supplier=897&letternum=ENUS289-433 https://www-01.ibm.com/common/ssi/cgi-bin/ssialias?subtype=c... [3] https://en.wikipedia.org/wiki/Arial https://en.wikipedia.org/wiki/Arial [4] http://idsgn.org/posts/sonoran-the-hidden-truths/ http://idsgn.org/posts/sonoran-the-hidden-truths/ [5] https://github.com/rbanffy/3270font https://github.com/rbanffy/3270font ...and then I saw the username i was responding to. I'll post anyway if you do not want to toot your own horn. Nice work!
- rbanffy 6y agoThank you. I'm partial for that certain modern sans-serif look, as you may have guessed. BTW, that IBM bundles Arial with their mainframes is outrageous. If you are paying more than a million dollars for a machine, you should be getting proper Helvetica.
- EvanAnderson 6y agoNames of things can be protected by trademark, not by copyright. re: copyright-ability of fonts. That's a muddy area. The visual representation of the font cannot be copyrighted. I can make a font that looks like yours with no copyright concern. If I copy the code that creates the visual representation (i.e. the binary definition of the font) that may be a concern. That could be considered program code (particularly for vector fonts, but I could see an attorney trying to argue that for bitmaps, similar to assets for a game), which is protected by copyright.
- rbanffy 6y agoAs a bitmap, there is only one possible representation for that geometry at that given size, so I'd assume it's not possible to protect it.
- cardiffspaceman 6y agoIt is my understanding that typeface hint systems such as those in Adobe Type 1 and TrueType are "programs" for the purposes of copyright law. But I'm not a lawyer, and I would be interested to hear expert opinions. It used to be my interest to deal with typeface hints.
- deleted 6y ago[deleted]
- willis936 6y agoHonestly, I would find it extremely limiting if someone was able to copyright 1664 bits of information. Bitmap 8x8 fonts are absolutely trivial. In one afternoon anyone could make every human readable variation.
- willis936 6y agoThinking on it: 1664 bits is 26 * 8 * 8, which is a little low. ASCII uses indices 32 to 127 for visible characters, so this would be 95 * 8 * 8, or 6080 bits. It's still a trivially small amount of information and there are very few ways to make unique English fonts out of it, so I still don't think it should be possible to copyright it. Looking at the actual IBM_VGA_8x8.bin file: the file size is 1024 bytes (8192 bits). I calculated the entropy of the data to be only 638 bits of information. MATLAB code: fid = fopen('IBM_PC_BIOS_1981-04-24_HALF_8x8.bin','r'); ibmVga = fread(fid); fclose(fid); p = histogram(double(ibmVga),255); E = -sum(log2(p.Values(p.Values > 0)).*log2(p.Values(p.Values > 0)));
- perl4ever 6y agoCounterpoint, 2^638 is a large number. So a particular 638 bits is very particular.
- willis936 6y agoThis is meaningless. Information is information. Specifying a size has virtually no information. The number "638" stored in uint16 has two bits of information using any word size between 8 and 15 bits.
- willis936 6y agoSo I went on a bit of a rabbit hole on this one. The above code is wrong. I have since fixed it. It's the same idea with some added terms to normalize for data size. Word size matters when calculating entropy. Calculating entropy on this file using 2 to 64 bits nets a minimum information of 860 bits using a 64 bit word size. Moving past a 64 bit word size requires rethinking some things. MATLAB doesn't have great support for data sizes greater than 64 bits (and I'm certain the performance impact would be great). words = double(unique(X))'; binEdges = [words-0.5; words+0.5]; binEdges = unique(binEdges(:)); P = histcounts(X, binEdges) / M; P(P == 0) = []; M = numel(X); H = -sum(P .* log(P) ./ log(max([nBits, 2]))) / nBits * log2(max([nBits, 2])); E = H * M * nBits;
- metalliqaz 6y agoperhaps they thought the serifs would be better suited for word processing
- resoluteteeth 6y agoBitmap fonts may not be copyrightable (in the US at least) due to a quirk of copyright law: https://www.crowdspring.com/blog/font-law-licensing/ https://www.crowdspring.com/blog/font-law-licensing/ > Generally, copyright law in the U.S. does not protect typefaces. > Fonts may be protected as long as the font qualifies as computer software or a program (and in fact, most fonts are programs or software). > Bitmapped fonts are considered to be computerized representations of a typeface (and are not protected by copyright law). > On the other hand, scalable fonts (because they are incorporated as part of a program or software) are protected by copyright.
- tenebrisalietum 6y agoThis would explain why that 8-bit arcade font (it's in numerous Namco and Atari games) that's everywhere in 70's and 80's arcade games was everywhere.
- badsectoracula 6y agoWell also there aren't that many ways to make a legible font using 8x8 (actually less, for spacing) pixels :-P
- tenebrisalietum 6y agoThat font has some unique characteristics (such as the lopsided S and 8). It's not like the Signetics based font from Apple I/II which is very basic, for example. Also if you look at all the ways letters and numbers have been drawn in C-64, NES, Genesis, and SNES games; there's lots of room for creativity and design even in an 8x8 space.
- reaperducer 6y agoFWIW, the reason all of the vertical elements in the C-64 font are two pixels wide is to compensate for raster blur on televisions that were common at the time. If you made a vertical line only one pixel wide, on many televisions like the Panasonic I used it would be nearly impossible to see. And while color monitors of the day were an improvement, they still weren't what we would consider acceptable today. I eventually upgraded to a Commodore CM-141, and single pixel vertical lines still weren't great.
- NoSorryCannot 6y agoWhile not public domain and not relevant to the specific issue at hand, IBM Plex is a font released by IBM as open source and under a very permissive license. It's also quite nice.
- therealcamino 6y agoOh, wow, I haven't thought about simtel in decades. wsmr-simtel20.army.mil. That's a blast from the past.
- bluedino 6y agoFor those who are interested, how the fonts are stored/accessed: https://wiki.osdev.org/VGA_Fonts https://wiki.osdev.org/VGA_Fonts
- jaclaz 6y agoAnd some related info on bitmap VGA fonts (used in DOS and in grub4dos), paticularly the 8x16 sizes: http://reboot.pro/topic/19076-grub4dos-menu-font-type/ http://reboot.pro/topic/19076-grub4dos-menu-font-type/
- cerberusss 6y agoCan these be used on macOS in some way? Like in iTerm or some such?
- bluedino 6y agoYou'd have to convert them, but you could try a truetype version available here: https://int10h.org/oldschool-pc-fonts/readme/#px437 https://int10h.org/oldschool-pc-fonts/readme/#px437
- cerberusss 6y agoOh boy that's fantastic, thanks for the pointer!
- blickentwapft 6y agoI don’t know why but I love VGA text mode fonts. This project is awesome. Are there pictures of the fonts? I didn’t see any.
- Cthulhu_ 6y agoThere's a folder of images at https://github.com/spacerace/romfont/tree/master/font-images https://github.com/spacerace/romfont/tree/master/font-images
- matt_heimer 6y agohttps://github.com/spacerace/romfont/tree/master/font-images https://github.com/spacerace/romfont/tree/master/font-images
- sjwright 6y agoIf you've spent a decade looking at VGA screens, its font will be intensely legible to you, regardless how objectively terrible they definitely are. Our ability to read is pattern recognition, and if your brain's neural network is well trained for the VGA text font, it makes sense that you might love them. Heck—if you spent years reading your terminal upside down, you'd get very good at that too. Eventually you might get nostalgic for it.
- retro64 6y ago¡pǝǝɹƃ∀
- perl4ever 6y agoVGA monospaced text always looked kind of exotic to me, because I started out looking mainly at the Amiga's Topaz font. Before that, the TRS-80 font, which also seems to have been quite different. And after that, the Macintosh's Monaco and Courier. I always hated Windows Courier New and much prefer Consolas. My favorite is, or was, Computer Modern Typewriter.
- UI_at_80x24 6y agoMy first computer was a Commodore64. My only real complaint at the time was how the "!" was displayed. It was a straight line with a square dot. It felt incomplete somehow and IIRC looked too much like another character (can't remember which one, maybe "i"??). Then I got my first VGA output with a 386. The exclamation mark was now curvy and sexy! Thick at the top, curving down to a point, finished with a round dot. I thought everything was right in the world. I miss that font. I've tried reusing bitmapped fonts that give me my desired output but I find it just doesn't work in enough places that it's too annoying. Maybe it messes up curses output, or UTF-8 incompatibilities?
- blickentwapft 6y agoSadly I just sold an old z80 sign making device from long ago and it had about 10 add on rom font cartridges. Would have been good to give them to this guy.
- VikingCoder 6y agoIt's a tedious, manual process, but I have used https://fontstruct.com/ https://fontstruct.com/ to make TTF fonts from bitmap fonts before.
- aasasd 6y agoThere was a post just recently on this topic: https://news.ycombinator.com/item?id=23129434 https://news.ycombinator.com/item?id=23129434 If the Fontstruct thing is better or easier, the author might benefit from a pointer to it. Also it was mentioned that the https://int10h.org https://int10h.org site has its own article on the method they used, but I can't find the link now.
- VikingCoder 6y agoEvery time old fonts come up, I have to mention Cool Retro Term: https://github.com/Swordfish90/cool-retro-term https://github.com/Swordfish90/cool-retro-term Sorry for the music in this video, but cool-retro-term really is a thing of beauty: https://www.youtube.com/watch?v=jWx7REAQ2MY https://www.youtube.com/watch?v=jWx7REAQ2MY
- aasasd 6y agoBtw, the proper use for that app is firing it up on someone's laptop in full-screen if they leave the machine unlocked. Also iirc the authors went to some lengths to accurately simulate the effects of phosphor—which is also a topic in game emulation (in the spirit of https://pics.me.me/what-indie-developers-think-what-retro-games-actually-retro-games-9561656.png https://pics.me.me/what-indie-developers-think-what-retro-ga...).
- andrewshadura 6y agoHave you tried Bits'n'Picas?
- VikingCoder 6y agoNo I haven't. Is it good?
- throwaway2048 6y agoWorth mentioning in UNSCII, an oldschool bitmap font inspired unicode graphics and drawing font http://pelulamu.net/unscii/ http://pelulamu.net/unscii/
- clord 6y agoa clade diagram of these would be fascinating.
- Sharlin 6y agoIncidentally, the font images ([1]) should be usable as Dwarf Fortress tilesets [2] with very little work (just change the background color from black to transparent). [1] https://github.com/spacerace/romfont/tree/master/font-images https://github.com/spacerace/romfont/tree/master/font-images [2] http://dwarffortresswiki.org/index.php/DF2014:Tilesets http://dwarffortresswiki.org/index.php/DF2014:Tilesets
- theandrewbailey 6y agoOver the past few weeks, I've been setting all my command prompts and terminal emulators to old-school fonts. I've settled on PxPlus IBM VGA8[0] with color #FFB000 (monochrome amber) on black. If font antialiasing blurs things, I use Nouveau IBM[1]. [0] https://int10h.org/oldschool-pc-fonts/fontlist/#ibmvgamcga https://int10h.org/oldschool-pc-fonts/fontlist/#ibmvgamcga [1] https://www.dafont.com/nouveau-ibm.font https://www.dafont.com/nouveau-ibm.font
- remlov 6y agoFor years now I've set the font in various IDEs and terminals to Px437 ATI 9x16 at font size 16 from int10h as well: https://int10h.org/oldschool-pc-fonts/fontlist/#ati_gfx https://int10h.org/oldschool-pc-fonts/fontlist/#ati_gfx I love the pixel perfect goodness.
- alfiedotwtf 6y agoA website dedicated to Int 10h?! That’s beautiful!
- JonathonW 6y agoIsn't this missing the 9x16 font that was the actual VGA text mode default? That variant allowed a few characters to be slightly wider and cleaner (noticeable on W, M, and X).
- thewebcount 6y agoThis is really cool! When I was in college in the early 90s I used an IBM AIX machine in terminal mode, and it had what seemed at the time to be a really crystal clear serif font. I suspect that it was antialiased, but am not sure. I would really love to find that font somewhere. If anyone knows what it was, I'd love to learn more about it.
- richard_todd 6y agoI assume if you want good results actually using these today, you need to be careful to select a VGA font that was originally on square pixels. Is there an easy way to tell which those are?
- jedberg 6y agoI have a similar collection of fonts that I use in presentations. I like to use the old school VGA fonts for emphasis on chunks of code. It draws the eye and usually I get at least one person commenting on the nostalgia factor of the font, which means they will remember that part of the presentation.
- acqq 6y agoI remember looking/using at the different non-PC terminals decades ago, produced by different companies, which had significantly nicer fonts than any PC fonts I watched later. Of course, it's not only the font, but the whole technology (analog devices have analog responses etc). But some looked really nice. Is there any resource with non-PC terminal fonts?
- anthk 6y agoGet the TTF version of the IBM 3270 fonts (Google 3270 TTF github) and copy the TTF files into ~/.fonts (or whatever method you use in your OS).
- khm 6y agoDmitry Bolkhovityanov has led an effort to extend the VGA BIOS font to cover much more unicode space: http://www.inp.nsk.su/~bolkhov/files/fonts/univga/index.html http://www.inp.nsk.su/~bolkhov/files/fonts/univga/index.html I've made upscaled versions for high-density displays and a truetype version, with contributed postscript: http://sciops.net/downloads/vga/ http://sciops.net/downloads/vga/
- m463 6y agoI would love to have a console with vector fonts. like real vector fonts, like those found in old arcade games like Omega Race https://www.arcade-museum.com/game_detail.php?game_id=8920 https://www.arcade-museum.com/game_detail.php?game_id=8920 it would look like this: https://www.arcade-museum.com/images/118/1181242142159.png https://www.arcade-museum.com/images/118/1181242142159.png