mirror of
https://source.denx.de/u-boot/u-boot.git
synced 2026-05-05 04:36:13 +02:00
A TrueType font for U-Boot should fulfill the following requirements: * mono spaced * support full code page 437 * easily readable Unfortunately none of the fonts provided with U-Boot fulfills all of these requirements. Let's add the DejaVu Mono font. To reduce the code size the characters are limited to code page 437. Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com> Reviewed-by: Simon Glass <sjg@chromium.org>
292 lines
6.3 KiB
Plaintext
Executable File
292 lines
6.3 KiB
Plaintext
Executable File
#!/usr/bin/fontforge
|
|
# SPDX-License-Identifier: GPL-2.0-or-later
|
|
#
|
|
# This script uses FontForge to strip unused symbols from a TrueType font.
|
|
# Only symbols in code page 437 and two glyphs used by GRUB are left in.
|
|
#
|
|
# Usage
|
|
#
|
|
# ./437.ff <font_in> <font_out.ttf>
|
|
#
|
|
# e.g.
|
|
#
|
|
# ./437.ff dejavu-fonts-2.37/src/DejaVuSansMono.sfd dejavu_mono.ttf
|
|
#
|
|
# or
|
|
#
|
|
# ./437.ff /usr/share/fonts/truetype/dejavu/DejaVuSansMono.ttf dejavu_mono.ttf
|
|
|
|
Print()
|
|
Print("Strip unused symbols from TrueType font")
|
|
if ($argc != 3)
|
|
Print()
|
|
Print("Usage:")
|
|
Print($0, " <font_in> <font_out.ttf>")
|
|
return
|
|
endif
|
|
|
|
Print("Loading ", $1)
|
|
Open($1)
|
|
|
|
# Code page 437
|
|
SelectMore("u263A") # WHITE SMILING FACE
|
|
SelectMore("u263B") # BLACK SMILING FACE
|
|
SelectMore("u2665") # BLACK HEART SUIT
|
|
SelectMore("u2666") # BLACK DIAMOND SUIT
|
|
SelectMore("u2663") # BLACK CLUB SUIT
|
|
SelectMore("u2660") # BLACK SPADE SUIT
|
|
SelectMore("u2022") # BULLET
|
|
SelectMore("u25D8") # INVERSE BULLET
|
|
SelectMore("u25CB") # WHITE CIRCLE
|
|
SelectMore("u25D9") # INVERSE WHITE CIRCLE
|
|
SelectMore("u2642") # MALE SIGN
|
|
SelectMore("u2640") # FEMALE SIGN
|
|
SelectMore("u266A") # EIGHTH NOTE
|
|
SelectMore("u266B") # BEAMED EIGHTH NOTES
|
|
SelectMore("u263C") # WHITE SUN WITH RAYS
|
|
SelectMore("u25BA") # BLACK RIGHT-POINTING POINTER
|
|
SelectMore("u25C4") # BLACK LEFT-POINTING POINTER
|
|
SelectMore("u2195") # UP DOWN ARROW
|
|
SelectMore("u203C") # DOUBLE EXCLAMATION MARK
|
|
SelectMore("u00B6") # PILCROW SIGN
|
|
SelectMore("u00A7") # SECTION SIGN
|
|
SelectMore("u25AC") # BLACK RECTANGLE
|
|
SelectMore("u21A8") # UP DOWN ARROW WITH BASE
|
|
SelectMore("u2191") # UPWARDS ARROW
|
|
SelectMore("u2193") # DOWNWARDS ARROW
|
|
SelectMore("u2192") # RIGHTWARDS ARROW
|
|
SelectMore("u2190") # LEFTWARDS ARROW
|
|
SelectMore("u221F") # RIGHT ANGLE
|
|
SelectMore("u2194") # LEFT RIGHT ARROW
|
|
SelectMore("u25B2") # BLACK UP-POINTING TRIANGLE
|
|
SelectMore("u25BC") # BLACK DOWN-POINTING TRIANGLE
|
|
SelectMore("u0020") # SPACE
|
|
SelectMore("u0021")
|
|
SelectMore("u0022")
|
|
SelectMore("u0023")
|
|
SelectMore("u0024")
|
|
SelectMore("u0025")
|
|
SelectMore("u0026")
|
|
SelectMore("u0027")
|
|
SelectMore("u0028")
|
|
SelectMore("u0029")
|
|
SelectMore("u002a")
|
|
SelectMore("u002b")
|
|
SelectMore("u002c")
|
|
SelectMore("u002d")
|
|
SelectMore("u002e")
|
|
SelectMore("u002f")
|
|
SelectMore("u0030")
|
|
SelectMore("u0031")
|
|
SelectMore("u0032")
|
|
SelectMore("u0033")
|
|
SelectMore("u0034")
|
|
SelectMore("u0035")
|
|
SelectMore("u0036")
|
|
SelectMore("u0037")
|
|
SelectMore("u0038")
|
|
SelectMore("u0039")
|
|
SelectMore("u003a")
|
|
SelectMore("u003b")
|
|
SelectMore("u003c")
|
|
SelectMore("u003d")
|
|
SelectMore("u003e")
|
|
SelectMore("u003f")
|
|
SelectMore("u0040")
|
|
SelectMore("u0041")
|
|
SelectMore("u0042")
|
|
SelectMore("u0043")
|
|
SelectMore("u0044")
|
|
SelectMore("u0045")
|
|
SelectMore("u0046")
|
|
SelectMore("u0047")
|
|
SelectMore("u0048")
|
|
SelectMore("u0049")
|
|
SelectMore("u004a")
|
|
SelectMore("u004b")
|
|
SelectMore("u004c")
|
|
SelectMore("u004d")
|
|
SelectMore("u004e")
|
|
SelectMore("u004f")
|
|
SelectMore("u0050")
|
|
SelectMore("u0051")
|
|
SelectMore("u0052")
|
|
SelectMore("u0053")
|
|
SelectMore("u0054")
|
|
SelectMore("u0055")
|
|
SelectMore("u0056")
|
|
SelectMore("u0057")
|
|
SelectMore("u0058")
|
|
SelectMore("u0059")
|
|
SelectMore("u005a")
|
|
SelectMore("u005b")
|
|
SelectMore("u005c")
|
|
SelectMore("u005d")
|
|
SelectMore("u005e")
|
|
SelectMore("u005f")
|
|
SelectMore("u0060")
|
|
SelectMore("u0061")
|
|
SelectMore("u0062")
|
|
SelectMore("u0063")
|
|
SelectMore("u0064")
|
|
SelectMore("u0065")
|
|
SelectMore("u0066")
|
|
SelectMore("u0067")
|
|
SelectMore("u0068")
|
|
SelectMore("u0069")
|
|
SelectMore("u006a")
|
|
SelectMore("u006b")
|
|
SelectMore("u006c")
|
|
SelectMore("u006d")
|
|
SelectMore("u006e")
|
|
SelectMore("u006f")
|
|
SelectMore("u0070")
|
|
SelectMore("u0071")
|
|
SelectMore("u0072")
|
|
SelectMore("u0073")
|
|
SelectMore("u0074")
|
|
SelectMore("u0075")
|
|
SelectMore("u0076")
|
|
SelectMore("u0077")
|
|
SelectMore("u0078")
|
|
SelectMore("u0079")
|
|
SelectMore("u007a")
|
|
SelectMore("u007b")
|
|
SelectMore("u007c")
|
|
SelectMore("u007d")
|
|
SelectMore("u007e")
|
|
SelectMore("u00c7")
|
|
SelectMore("u00fc")
|
|
SelectMore("u00e9")
|
|
SelectMore("u00e2")
|
|
SelectMore("u00e4")
|
|
SelectMore("u00e0")
|
|
SelectMore("u00e5")
|
|
SelectMore("u00e7")
|
|
SelectMore("u00ea")
|
|
SelectMore("u00eb")
|
|
SelectMore("u00e8")
|
|
SelectMore("u00ef")
|
|
SelectMore("u00ee")
|
|
SelectMore("u00ec")
|
|
SelectMore("u00c4")
|
|
SelectMore("u00c5")
|
|
SelectMore("u00c9")
|
|
SelectMore("u00e6")
|
|
SelectMore("u00c6")
|
|
SelectMore("u00f4")
|
|
SelectMore("u00f6")
|
|
SelectMore("u00f2")
|
|
SelectMore("u00fb")
|
|
SelectMore("u00f9")
|
|
SelectMore("u00ff")
|
|
SelectMore("u00d6")
|
|
SelectMore("u00dc")
|
|
SelectMore("u00a2")
|
|
SelectMore("u00a3")
|
|
SelectMore("u00a5")
|
|
SelectMore("u20a7")
|
|
SelectMore("u0192")
|
|
SelectMore("u00e1")
|
|
SelectMore("u00ed")
|
|
SelectMore("u00f3")
|
|
SelectMore("u00fa")
|
|
SelectMore("u00f1")
|
|
SelectMore("u00d1")
|
|
SelectMore("u00aa")
|
|
SelectMore("u00ba")
|
|
SelectMore("u00bf")
|
|
SelectMore("u2310")
|
|
SelectMore("u00ac")
|
|
SelectMore("u00bd")
|
|
SelectMore("u00bc")
|
|
SelectMore("u00a1")
|
|
SelectMore("u00ab")
|
|
SelectMore("u00bb")
|
|
SelectMore("u2591")
|
|
SelectMore("u2592")
|
|
SelectMore("u2593")
|
|
SelectMore("u2502")
|
|
SelectMore("u2524")
|
|
SelectMore("u2561")
|
|
SelectMore("u2562")
|
|
SelectMore("u2556")
|
|
SelectMore("u2555")
|
|
SelectMore("u2563")
|
|
SelectMore("u2551")
|
|
SelectMore("u2557")
|
|
SelectMore("u255d")
|
|
SelectMore("u255c")
|
|
SelectMore("u255b")
|
|
SelectMore("u2510")
|
|
SelectMore("u2514")
|
|
SelectMore("u2534")
|
|
SelectMore("u252c")
|
|
SelectMore("u251c")
|
|
SelectMore("u2500")
|
|
SelectMore("u253c")
|
|
SelectMore("u255e")
|
|
SelectMore("u255f")
|
|
SelectMore("u255a")
|
|
SelectMore("u2554")
|
|
SelectMore("u2569")
|
|
SelectMore("u2566")
|
|
SelectMore("u2560")
|
|
SelectMore("u2550")
|
|
SelectMore("u256c")
|
|
SelectMore("u2567")
|
|
SelectMore("u2568")
|
|
SelectMore("u2564")
|
|
SelectMore("u2565")
|
|
SelectMore("u2559")
|
|
SelectMore("u2558")
|
|
SelectMore("u2552")
|
|
SelectMore("u2553")
|
|
SelectMore("u256b")
|
|
SelectMore("u256a")
|
|
SelectMore("u2518")
|
|
SelectMore("u250c")
|
|
SelectMore("u2588")
|
|
SelectMore("u2584")
|
|
SelectMore("u258c")
|
|
SelectMore("u2590")
|
|
SelectMore("u2580")
|
|
SelectMore("u03b1")
|
|
SelectMore("u00df")
|
|
SelectMore("u0393")
|
|
SelectMore("u03c0")
|
|
SelectMore("u03a3")
|
|
SelectMore("u03c3")
|
|
SelectMore("u00b5")
|
|
SelectMore("u03c4")
|
|
SelectMore("u03a6")
|
|
SelectMore("u0398")
|
|
SelectMore("u03a9")
|
|
SelectMore("u03b4")
|
|
SelectMore("u221e")
|
|
SelectMore("u03c6")
|
|
SelectMore("u03b5")
|
|
SelectMore("u2229")
|
|
SelectMore("u2261")
|
|
SelectMore("u00b1")
|
|
SelectMore("u2265")
|
|
SelectMore("u2264")
|
|
SelectMore("u2320")
|
|
SelectMore("u2321")
|
|
SelectMore("u00f7")
|
|
SelectMore("u2248")
|
|
SelectMore("u00b0")
|
|
SelectMore("u2219")
|
|
SelectMore("u00b7")
|
|
SelectMore("u221a")
|
|
SelectMore("u207f")
|
|
SelectMore("u00b2")
|
|
SelectMore("u25a0")
|
|
SelectMore("u00a0")
|
|
|
|
SelectInvert()
|
|
DetachAndRemoveGlyphs()
|
|
|
|
Print("Saving ", $2)
|
|
Generate($2)
|