4 releases

0.1.3 Nov 21, 2024
0.1.2 Oct 23, 2024
0.1.1 Feb 16, 2024
0.1.0 Oct 27, 2023

#491 in Text processing

Download history 3/week @ 2024-08-26 4/week @ 2024-09-16 20/week @ 2024-09-23 17/week @ 2024-09-30 165/week @ 2024-10-21 13/week @ 2024-10-28 3/week @ 2024-11-04 136/week @ 2024-11-18 12/week @ 2024-11-25 25/week @ 2024-12-02 11/week @ 2024-12-09

184 downloads per month
Used in 2 crates

MIT/Apache

30KB
682 lines

This is a bitmap font parsing / conversion library. It supports a few font formats:

Format Import Export
bdf ✔️
.tfon ✔️ ✔️
.ifnt ✔️ ✔️
.ifntx ✔️

.tfon Format

Fonts in this format can be created with any text editor. There are two parts to the file: a header and a list of characters.

The header contains 4 key/value pairs:

  • font_name: Name of font (up to 64 characters)
  • font_number: Integer number, between 1 and 255
  • char_spacing: Horizontal pixel spacing between characters
  • line_spacing: Vertical pixel spacing between lines
font_name: Example font
font_number: 6
char_spacing: 1
line_spacing: 3

The character list can have between 1 and 255 values. Each character has a ch definition and a pixel grid:

  • ch: Character number, between 1 and 255, followed by its symbol
  • Pixel grid is a rectangular section of . (off) / @ (on) of the character bitmap. All characters in a font must have the same height.
ch: 52 4
...@.
..@@.
.@.@.
@..@.
@@@@@
...@.
...@.

Symbols (ASCII)

X 0X 1X 2X 3X 4X 5X 6X 7X
0 NUL DLE SP 0 @ P ` p
1 SOH DC1 ! 1 A Q a q
2 STX DC2 " 2 B R b r
3 ETX DC3 # 3 C S c s
4 EOT DC4 $ 4 D T d t
5 ENQ NAK % 5 E U e u
6 ACK SYN & 6 F V f v
7 BEL ETB ' 7 G W g w
8 BS CAN ( 8 H X h x
9 HT EM ) 9 I Y i y
A LF SUB * : J Z j z
B VT ESC + ; K [ k {
C FF FS , < L \ l |
D CR GS - = M ] m }
E SO RS . > N ^ n ~
F SI US / ? O _ o DEL

Symbols (Latin-1)

X 8X 9X AX BX CX DX EX FX
0 PAD DCS NBSP ° À Ð à ð
1 HOP PU1 ¡ ± Á Ñ á ñ
2 BPH PU2 ¢ ² Â Ò â ò
3 NBH STS £ ³ Ã Ó ã ó
4 IND CCH ¤ ´ Ä Ô ä ô
5 NEL MW ¥ µ Å Õ å õ
6 SSA SPA ¦ Æ Ö æ ö
7 ESA EPA § · Ç × ç ÷
8 HTS SOS ¨ ¸ È Ø è ø
9 HTJ SGCI © ¹ É Ù é ù
A LTS SCI ª º Ê Ú ê ú
B PLD CSI « » Ë Û ë û
C PLU ST ¬ ¼ Ì Ü ì ü
D RI OSC SHY ½ Í Ý í ý
E SS2 PM ® ¾ Î Þ î þ
F SS3 APC ¯ ¿ Ï ß ï ÿ

Dependencies

~240–680KB
~16K SLoC