Based on feedback I've created several variants of the unofficial PICO-8 font file. Please note, I do not claim any copyright - I used FontStruct to make these and it automatically inserts your username for copyright purposes.
A monospaced font which includes punctuation, uppercase and lowercase letters.
PICO-8 mono upper
A monospaced font which includes punctuation and uppercase letters. Lowercase letters are replaced with uppercase.
PICO-8 mono reversed
A monospaced font which includes punctuation, uppercase and lowercase letters. The uppercase and lowercase letters have been swapped around.
A variable-width font which includes punctuation, uppercase letters, lowercase letters and wide characters.
PICO-8 wide upper
A variable-width font which includes punctuation, uppercase letters and wide characters. Lowercase letters are replaced with uppercase.
PICO-8 wide reversed
A variable-width font which includes punctuation, uppercase letters, lowercase letters and wide characters. The uppercase and lowercase letters have been swapped around.
For the wide characters I decided to pack them into the following unicode characters U+00C0 to U+00D9: ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖ×ØÙ
So for example this:
Download the .ttf file here: https://drive.google.com/file/d/0B97Um39fHXlcWUFRZlBqUndhbXM/
Edit: included ampersand, backtick and DEL missing characters.
For the extended characters I decided to pack them into the following unicode characters U+00C0 to U+00D9: ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖ×ØÙ
So for example this:
It seems that the "glyphs", which were recently added in PICO-8, aren't mapped correctly.
When i add the glyphs in PICO-8 and open the p8 file in, let's say, Sublime Text with this font, i get squares instead of the expected characters (glyphs)
@kozie - That is because the glyphs are mapped wrong in the TTF. They should begin at x80 instead of xC0. Perhaps someone will fix that. Although, IMO, it's not the best idea to embed these characters in code -- use the \128 - \153 or \x80 - \x99 escape sequences instead.
@Felice - Technically, this is not monospaced due to the double-wide extended characters... but not a bad idea for an alternate font for those who may need it: PICO-8 and PICO-8 Monospace.
Thanks for this!
However, would it be possible to get an alternative version made with the CAPITALS as the standard case and the "Shift" being lowercase (as PICO8 built-in editor does)?
The reason I ask is because I use external editors (Atom/Notepad++) and with the current TTF file, all source files show in lower-case.
Just a thought. :)
Thanks for the feedback everyone, sorry for the slow response. I've created several variants to try and suit everyone. The only thing I couldn't do is move the wide characters into the U+0080 range (which is where the PICO-8 seems to put them) because FontStruct doesn't let you edit those characters. It seems the best way to do that would be to use the free editor FontForge, but it's a huge package and I wasn't willing to spend the hours to work out how to use it. If you'd like to then just download the program, import one of the .ttf files and edit away - be sure to share your results!
BTW, it came up elsewhere what the p8 encoding might be. It is clearly a custom form of Extended ASCII... or, as I think of it, P8SCII. But that's just my opinion. Ask the author what he calls it, if anything. Regardless, it's just an 8-bit set right now and -- judging by where the current extended characters sit -- forever.
If working in an external editor, open and save with a DOS encoding if you can, such as Code Page 437 (this works well in Sublime Text). Otherwise, saving as Windows-1252 might preserve any embedded extended characters... but I've had mixed results here. ISO-8859-1 is less likely to work unless you get lucky with your editor. Feeling lucky? Saving as UTF-8 will destroy the encoding for sure. I'm talking about code here and not any artistic efforts with these fonts in non-code files. These fonts aren't compatible with the full P8SCII.
It is safer to escape the extended P8SCII characters than embed them. ♥ = \135 or \x87
I created some bitmap fonts for use in editors. I also solved the mapping problems for the extended double-wide characters (which can be used as a guide for an alternate mapping of these TTF fonts). Also included are monospace fonts--marked internally as monospaced--for those editors that require it... with squished extended characters as well.
See the forum topic here:
PICO-8 Programming Fonts
Apologies for necro-posting.
I made a full-unicode .ttf version of @RhythmLynx 's font - using the reversed-wide as a base. I copied all of the special symbols into their appropriate unicode locations so the font can be used in editors or on the web.
here's an example page that uses it - you can copy&paste the code between pico-8 and the html code and the characters all work properly.
I've updated the Google Drive links, Google changed something on their end which broke them. If the links break again you can also get them from the FontStruct website which I made them on, by search or by checking my old profile, although you may need to create a FontStruct account.
For what it's worth I posted these fonts over 5 years ago (!) and didn't really intend to be the maintainer of anything so widely used; these are unofficial after all. The PICO-8 font is CC-0 public domain so please feel free to create your own TTF files or any other font format. Please also feel free to host these particular TTF files yourself to avoid broken links again; as the original post states I claim no copyright, FontStruct just injects your username for copyright automatically.
I'm aware that there have been updates to the official font since I created these, such as the Hiragana and Katakana characters and some additional punctuation ("P8SCII"). There are 256 characters, which to me suggests that this is the complete final font. I don't currently have any plans to update these particular TTF files to match the official final version; again feel free to create and share your own implementations and character mappings. Mapping the wide glyphs onto extended Latin characters was a not-particularly-well-informed choice I made; other mappings may be more beneficial.
I have updated the wide reversed variant to match the current (0.2.4) version of the font and remapped all glyphs to match the code points produced by PICO-8. Used the wiki page about P8SCII as reference. Spacing between characters should match the PICO-8 editor, at least horizontally. Vertical metrics is set in the font in order to get that 1 pixel gap between lines but the gap size depends more on the editor than the font. In VS Code I recommend the
"editor.lineHeight": 1 setting to get even closer to the PICO-8 look and feel.
The font is on FontStruct.
> because FontStruct doesn't let you edit those characters.
That's no longer true! One can enable "Expert Mode", then enable "Menu->Advanced->Unicode Letter Sets", and then there are a lot more letter sets to choose at the bottom. Finding the proper letter is a pain though, especially the wide glyphs are quite far from each other, so I probably won't bother with updating the other variants.
[Please log in to post a comment]