7 ms·
ZX Origins 8x8 bitmap fonts
- smegsicle 3y agothe 'simulated usage' page is neat, apparently made with nuxt
- damieng 3y agoThe simulated stuff is all custom code for reading the raw binary font file and then custom drawing it over the screenshot using canvas. Nuxt is just used as a static site generator for the rest of the site.
- o11c 3y agoCurious that it includes £ instead of `
- zerocrates 3y agoThe Spectrum being British it makes sense they'd want to cram a pound sign in there somewhere.
- kreelman 3y agoThe zip files have a lot in them!!! There's a TTF, assembler for several platforms. Amazing work. Thanks for this!!!!
- damieng 3y agoThe process involves me creating a raw 768 byte "ch8" file for the Spectrum then running it through a bash script that creates the .psf and .bdf using psf2tools. https://gist.github.com/damieng/b2e279c72146ee469731acbadbeaae4a https://gist.github.com/damieng/b2e279c72146ee469731acbadbea... It then opens up the font in FontLab using a template and some custom Python 2 scripts to convert that into the TTF. https://github.com/damieng/font-creation-tools/tree/master/FontLab/Macros-5 https://github.com/damieng/font-creation-tools/tree/master/F... The next bash script uses a bunch of third-party tools and my own PixelWorld open-source .NET tool to generate all the other formats and disk images and then packages them up into a zip and uploads it to S3. https://gist.github.com/damieng/d2519cda1c674b4ede74f154f05f2431 https://gist.github.com/damieng/d2519cda1c674b4ede74f154f05f... https://github.com/damieng/pixelworld https://github.com/damieng/pixelworld Hope that's of some interest to somebody. Damien
- micw 3y agoThat's amazing. He even managed to fit handwriting-like fonts and outline fonts in 8x8. I'll keep that page in mind, when I build my next Arduino LED-matrix display project.
- Marazan 3y agohttps://readonlymemory.vg/shop/book/arcade-game-typography/ https://readonlymemory.vg/shop/book/arcade-game-typography/ For a loving look at the golden age of 8x8 pixel fonts.
- damieng 3y agoFantastic book, has a place on my shelf in my office and I've been lucky enough to shoot the breeze with the author on Zoom!
- gadders 3y agoSlightly off-topic. I had a Dragon 32 as a kid (less successful rival to the Spectrum) and one of its quirks was that it couldn't display text in "graphics mode". A big chunk of a lot of listings that you typed in from magazines were "drawing strings" to define all the main a-z chars just to give you a graphics font.
- pipo234 3y agoI was disappointed that my Sinclair ZX81 lacked capabilities to customize fonts. (Only 1k of RAM and hardwired character generator, including 16 2x2 block "graphics".) So, just in case you're like me still mentally stuck in the 1980s: buyer beware; user defined fonts only applies to those fancy new Sinclair ZX Spectrum models. :-)
- ochrist 3y agoSame with the Acorn Atom. But you could sort of get it working anyway by way of 'drawing' the characters on the bitmap screen (probably a very similar solution).
- vidarh 3y agoThe Dragon 32 is interesting in that it's pretty much the same as a TRS-80, but (mostly) PAL instead of NTSC, a centronics parallel port, and a different ROM. To the point that a significant amount of TRS-80 software will run on the Dragon.
- teddyh 3y ago> They are freely available to be used in games you create in exchange for a mention in the credits section. I thought bitmap fonts were not copyrightable? Then you can’t put conditions on it. Or at least not enforce them.
- damieng 3y agoCopyright and fonts is a minefield. Hoping a credit isn't too much to ask for all the work.
- Angostura 3y ago> I thought bitmap fonts were not copyrightable? What made you think that? Not being snarky - just something I haven't come across
- teddyh 3y ago<https://en.wikipedia.org/w/index.php?title=Intellectual_property_protection_of_typefaces&oldid=1167667048#United_States https://en.wikipedia.org/w/index.php?title=Intellectual_prop...> That bitmap fonts are not covered by copyright is something I have often seen stated, and the above reference seems to back it up; since bitmap fonts are not rendered from curves and vectors, there is no underlying putative “software” to claim copyright on. A bitmap font could still theoretically be covered by trademark or possibly a design pattern, but (IIUC) those are things that have to be applied for, unlike copyright which normally covers a work automatically.
- Angostura 3y agoThe Wikipedia page suggests that typefaces aren't copyrightable, but individual bitmapped fonts actually may be - which is slightly odd, but I guess the font is the concrete embodiment of the typeface.
- INTPenis 3y agoWith the recent wget vs. curl discussions fresh in my mind, how would I download all these .zip files with wget? Curl would of course require some sort of parsing, but I would think that wget's mirror option could somehow download just the .zip files.
- tyingq 3y agoThe mirror option depends on a hierarchy where it can exclude parents. Since the actual downloads are on a different domain, it seems this won't work. A hacky script to do it: #!/bin/bash for page in $(curl -s https://damieng.com/sitemap.xml | perl -ne 's/<loc>/\n<loc>/g;while ($_ =~ s#<loc>(https://damieng.com/typography/zx-origins/[^\<]+)</loc>##) {print $1."\n"}'); do echo "Page is [$page]" download=$(curl -sL "$page" | perl -ne 'm#(download\.damieng\.com/fonts/zx-origins/[^"]*)#g && print "https://$1"') echo "Download is [$download]" wget -qN "$download" done
- INTPenis 3y agoSure but wget has a -D option to specify transitioning to other domains. So my command was actually something more like wget -m -D download.damieng.com,damieng.com -A .zip https://damieng.com/typography/zx-origins/ https://damieng.com/typography/zx-origins/ But it still wouldn't download the .zip files. I think this is one case where wget should, on paper, be superior to curl.
- tyingq 3y agoI think that would work if that page directly had references to the zip files, but it doesn't. The references are on the sub pages for each font.
- INTPenis 3y agoYeah but wget -m sets -l (depth limit) to unlimited, I don't see why it shouldn't work out of box. But for some reason it won't get those .zip files.
- 1letterunixname 3y ago:Retro PC bias ahead: You don't know how many times I re/designed 8x8, 8-9x14, and 8-9x16 fonts as bitmap constants in Pascal, C, and assembly in high school. Writing programs to extract fonts from CGA/MCGA/EGA/VGA-compatible BIOSes was fun. If you were feeling sporty, you could write a keyboard-activated TSR to the same in another program. It would pause the current program, transfer control to yours (or chain the call to the saved CS:IP of the original interrupt vector at [0000:n*4]), and then you would ordinarily POP DS, POPA/AD, STI, IRET. And the old Norton Utilities / FreeBSD gpm 512 character drawing trick where 2 code pages were simultaneously visible by sacrificing 1 bit of foreground color. There is an artifact in using it as a graphic cursor because the right most pixel and the one before it are duplicated because the underlying horizontal resolution is 720 px (not 640 as before) and 80 characters wide. Since most text glyphs don't occupy the right-most pixel, there's no harm in cheating and reusing fonts from 640x400 (not 480) pixels. Interestingly, most graphics cards could draw text somewhat properly in graphics modes with int 10h (video bios) or 21h (DOS services) calls, but it was very slow. It was faster to bitblt pre-rendered raster fonts in graphics modes. https://en.wikipedia.org/wiki/Terminate-and-stay-resident_program https://en.wikipedia.org/wiki/Terminate-and-stay-resident_pr... https://en.wikipedia.org/wiki/Bit_blit https://en.wikipedia.org/wiki/Bit_blit
- feintruled 3y agoWhat a great resource. The way each font links to a page with screenshots of actual games only with the selected font replacing the real font is pretty amazing stuff!
- damieng 3y agoCool, thanks! It took longer than I care to admit. They're redrawn on the fly and it also means the 2x and 3x options can render it without upscaling blur.
- weinzierl 3y agoJust a little side-note you might find interesting: In the home computer era, when 8x8 bitmap fonts had their heyday, displays often had rectangular pixels. So, while the characters look square now, they often did not back then.
- damieng 3y agoMost of the 8-bit machines had quite square pixels (Spectrum, Commodore 64) but machines with multiple resolutions often had modes that doubled the horizontal res (C128, PCW, BBC Mode 3) giving rectangular pixels and by the time the 16-bits hit (Amiga, Atari ST) these modes were commonly the default and square pixels were relegated to "low-res" modes which were used less often.
- roydivision 3y agoAmazing work, props to Damien! As others have mentioned, these fonts gain a whole new audience with the microprocessor community for use with small displays.
- seanhunter 3y agoThese are fantastic. For example, this one https://damieng.com/typography/zx-origins/zx-venice/ https://damieng.com/typography/zx-origins/zx-venice/ reminds me of "Lords of Midnight"[1]. Which was an incredible game which pioneered procedural generation so it just seemed vastly bigger than anything else I had played up to then. I never managed to keep my speccy alive for long enough in a single sitting to actually finish the game until one day the cassette just gave up entirely and I couldn't play it any more. [1] https://spectrumcomputing.co.uk/entry/0006604 https://spectrumcomputing.co.uk/entry/0006604
- chalcolithic 3y agoI wish I could find the Future font that was once popular on ZX Spectrum
- damieng 3y agoThere are many of them. The one that comes with Artist II seems to be very popular. That said I have a few of my own takes of the magnetic/ocr fonts there.
- nebalee 3y agoThis throws me back. I spend hours on my C64 doing pretty much the same, inspired by the text scrollers of various demos. Even printed them out on this continuous paper with the holes on the sides. Getting a readable @-sign while doing a bold font was always a challenge. It's funny how similar most of these look to those I did. Some styles were pretty much universal back then.
- lelanthran 3y agoI feel like a text-only game that used every single font here might be quite engaging. Go to a computer terminal? Font changes to the sci-fi one(s). Getting chased by a killer? Font changes to the raining blood one. Reading a letter the PC found? Use the handwritten font. Reading a printout? Use dot-matrix one.
- butz 3y agoWhich ones of those fonts are best for reading on a CRT screen? Considering software has a lot of text, like a text adventure.
- damieng 3y agoI thought about setting up my camera and pointing it at my Princeton 15" multisync CRT and scripting a live screenshot of every font but that seemed... overkill.