You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

3.0 KiB

uf5x7: A 5x7 Unicode font

uf5x7 is a 5x7 font that suports most of the common Unicode blocks. It can be used in C.Basic with the custom font mechanism or in add-ins if the font manager supports it.

Preview image: "Mézalors Δ=2 ⇒ ∀x∈S, x⊆Δ"

The font is under CC0, there are no conditions for using it. A link back here would be appreciated though!

Related topic on Planète Casio: Police 5x7 Unicode pour add-ins et C.Basic

Currently the following blocks have been drawn:

  • U+0020 .. U+007F - ASCII (128 chars)
  • U+00A0 .. U+00FF - Latin-1 Supplement (96 chars)
  • U+0100 .. U+017F - Latin Extended-A (128 chars)
  • U+0370 .. U+03FF - Greek (144 chars)
  • U+0400 .. U+047F - Cyrillic (128 chars)
  • U+16A0 .. U+16FF - Runic (96 chars)
  • U+2010 .. U+205F - General punctuation (80 chars)
  • U+2070 .. U+209F - Subscripts and superscripts (48 chars)
  • U+20A0 .. U+20BF - Currency symbols (32 chars - thanks @Alice!)
  • U+2160 .. U+217F - Roman numerals (32 chars)
  • U+2190 .. U+21FF - Arrows (112 chars)
  • U+2200 .. U+22FF - Mathematical operators (256 chars)
  • U+2440 .. U+244F - Optical character recognition (16 chars - thanks @Alice!)
  • U+25A0 .. U+25FF - Geometric shapes (96 chars)
  • U+2800 .. U+28FF - Braille patterns (256 chars - thanks @Alice!)

The following blocks are being considered for future support:

  • Finish Cyrillic
  • IPA extensions and Phonetic extensions
  • Hiragana and Katakana

Other characters supported in FONTCHARACTER (incomplete list):

  • U+2139 - Imaginary number
  • U+231F - Fraction symbol
  • U+3010 - Special bracket
  • U+3011 - Special bracket

Constructing a full image of the font

The script can be used to generate uf5x7.png, the full image of the font. You will need Python 3 and Pillow (PIL might be okay).

% ./ uf5x7/*

It will read each block's position from its file name (which should be on the form U\+[0-9A-Fa-f]{4}.png) and guess the block end from the image dimensions. For image files with a different name, it will output an anonymous block.

The file gen-chars.png provides some character templates for it to render the full image.

Using in C.Basic

TODO - Check out the documentation ( for extended font support.

Using in gint

Disclaimer: this is being worked on, but not implemented in gint yet.

When converting the font with fxconv, pass the name of a folder containing block images instead of a simple image and set charset to unicode.

% fxconv -f uf5x7/ name:uf5x7 charset:unicode grid.size:5x7

When using the font, just call dtext() as usual and make sure the string is encoded as utf8. The u8 prefix can be used if your source file is not encoded as utf8.

dtext(5, 5, "Mézalors Δ=2 ⇒ ∀x∈S, x⊆Δ", BLACK, WHITE);