1
1
Fork 0
A font with extra characters for button prompts in games
  • Common Lisp 80.2%
  • CSS 16.8%
  • Makefile 3%
Find a file
2025-10-24 11:13:53 +02:00
.github/workflows Basic bitch release target 2025-08-22 21:43:10 +02:00
glyphs Bunch of new glyphs 2025-07-16 11:24:46 +02:00
.dir-locals.el Minor 2025-08-24 20:06:05 +02:00
.gitattributes Normalise font file names, integrate font generation into CI. 2023-10-11 11:37:18 +02:00
.gitignore Generate tags map file 2025-02-10 14:33:48 +01:00
compile.lisp Add missing sun glyph, normalise glyph names. 2025-08-24 20:27:56 +02:00
CONTRIBUTING.md Update contribution guide 2024-07-19 20:49:00 +02:00
glyphs.json Mouse move glyphs 2025-08-22 21:25:17 +02:00
index.css Minor 2025-08-24 20:06:05 +02:00
index.ctml Fix download url 2025-08-24 22:47:21 +02:00
LICENSE.txt Fixes and improvements, preview page 2018-12-09 19:11:57 +01:00
logo.svg simple logo 2025-09-17 11:58:42 +02:00
Makefile Basic bitch release target 2025-08-22 21:43:10 +02:00
preview.png Include preview image 2025-05-22 14:52:09 +02:00
promptfont.sfd Add missing sun glyph, normalise glyph names. 2025-08-24 20:27:56 +02:00
README.md mention wiki in readme 2025-10-24 11:13:53 +02:00

About PromptFont

This is a font designed for button prompts in games. It includes the base alphabet, as well as icons for modifier and control keys, and gamepad buttons. All the icons included in the font are custom made and available under the same SIL Open Font Licence. Included trademarks however of course still belong to their respective owners.

PromptFont is based on the Xolonium font by Severin Meyer.

Attribution

If you use this font in your project please leave an attribution notice in your credits like this:

PromptFont by Yukari "Shinmera" Hafner, available at https://shinmera.com/promptfont

Release Files

The PromptFont release includes a couple of files. Here's what they're for:

  • LICENSE.txt A copy of the SIL Open Font license
  • README.md A copy of this readme
  • index.html A copy of the website so you can use it offline as well
  • glyphs.json This is a JSON file with an array of the glyphs the font provides. Each glyph is an object with the following attributes:
    • character The actual character as a one-character string
    • code The unicode codepoint name (U+XXXX)
    • codepoint The actual codepoint as an integer
    • category The category the glyph belongs to
    • name The unique human-readable name of the glyph
    • code-name The unique code-readable name of the glyph. It only contains lowercase characters a-z, numbers 0-9, and dashes. This should make it easy to turn into a code symbol
    • tags A list of tags that apply to the glyph. There are a number of tags for glyph variants and so on, but the most important categories are probably:
      • analog Analog stick movements and l, r, s for the sticks
      • button Button presses and x, y, a, b, l1, r1, l3, r3, etc for the buttons
      • dpad Dpad movements
      • key Keyboard keys
      • touch, press, hold, release, move-l, move-r, move-u, move-d, etc for movements
      • device Device icons
      • xbox Applies to Xbox style gamepads
      • nintendo Applies to Nintendo style gamepads
      • sony Applies to Sony Playstation style gamepads
      • generic Applies to any gamepad
      • ui User interface icons
      • wide-alternate The glyph has a wider alternate variant to its standard unit square representation. You can get the variant by shifting the codepoint up by 2560 (0xA00). If you use a text system that supports ligatures, you can instead use a zero-width space (U+200B) after a glyph to select its wide variant, if available. Since the zero-width space is invisible, if no wide alternate is available, it won't be visible that you tried to select for one, making the process completely transparent.
  • tags.txt A plaintext CSV file that maps all of the tags to the code-name of each glyph that was tagged as such. Each line is simply the tag name followed by the code names separated by a space.
  • promptfont.txt A plaintext UTF-8 file that contains all the characters that the font provides.
  • promptfont.ttf and promptfont.otf TrueType and OpenType versions of the font, which you should be able to use directly in-engine or other programs.
  • promptfont.css A CSS file that includes CSS classes for every special glyph, so you can easily embed it in HTML pages and JS games.
  • promptfont.h promptfont.cs promptfont.py promptfont.lua promptfont.lisp promptfont.rs promptfont.gd Source files that define constants for the special glyphs to allow easier embedding in C, C++, C#, Python, Lua, Lisp, Rust, and GDScript.
  • promptfont.exe promptfont.run promptfont.o Binaries of the promptfont utilities. You can use this to search for glyphs or to compile the data files from the json representation.
  • atlas-*.png Texture atlases of the various glyphs. Each glyph is 64x64 pixels and has a 1 pixel margin around itself. They are ordered left to right top to bottom according to their filename in the glyphs/ directory of this repository. Since these rasterised versions don't scale well we heavily recommend you to use the fonts directly.

Engine Specifics

Since there's far too many engines out there and their methods vary a lot, we can't include guides in this repository. For specifics on how to use this font in your engine of choice, please consult the user-contributed Wiki.

Contributing Glyphs

For a brief guide on what to watch out for if you'd like to contribute to this font, please see the CONTRIBUTING.md file. If you'd like to request new glyphs to be added, please comment on the issue ticket.

Support

If you'd like to support the continued development of PromptFont, please consider becoming a backer on Patreon:

Patreon