summaryrefslogtreecommitdiffstats
path: root/firmware
diff options
context:
space:
mode:
Diffstat (limited to 'firmware')
-rw-r--r--firmware/Makefile10
-rw-r--r--firmware/X5x8.bdf1967
-rw-r--r--firmware/X5x8.c2853
-rw-r--r--firmware/drivers/lcd.c95
-rw-r--r--firmware/drivers/lcd.h7
-rw-r--r--firmware/font.c339
-rw-r--r--firmware/font.h53
-rw-r--r--firmware/fonts/clR6x8.bdf2895
-rw-r--r--firmware/loadfont.c212
9 files changed, 3224 insertions, 5207 deletions
diff --git a/firmware/Makefile b/firmware/Makefile
index 24f5b46614..a5ce323be9 100644
--- a/firmware/Makefile
+++ b/firmware/Makefile
@@ -19,6 +19,7 @@ SYSTEM_FONT = fonts/alt6x10.bdf
# store output files in this directory:
OBJDIR = .
+TOOLSDIR = ../tools
CFLAGS = -W -Wall -O -m1 -nostdlib -ffreestanding -Wstrict-prototypes $(INCLUDES) $(TARGET) $(EXTRA_DEFINES)
@@ -38,9 +39,8 @@ DIRS = $(subst $(DEPS),".",$(DEPDIRS))
OUTPUT = $(OBJDIR)/librockbox.a
-
-ifeq (LOADABLE_FONTS,$(findstring LOADABLE_FONTS, $(CFLAGS)))
- EXTRA_TARGETS = $(OBJDIR)/system.ajf
+ifeq (RECORDER,$(findstring RECORDER, $(CFLAGS)))
+ OBJS += $(OBJDIR)/sysfont.o
endif
all: $(OUTPUT) $(EXTRA_TARGETS)
@@ -70,6 +70,10 @@ clean:
$(OBJDIR)/thread.o: thread.c thread.h
$(CC) -c -O -fomit-frame-pointer $(CFLAGS) $< -o $@
+$(OBJDIR)/sysfont.o: fonts/clR6x8.bdf
+ $(TOOLSDIR)/convbdf -c -o $(OBJDIR)/sysfont.c $<
+ $(CC) $(CFLAGS) -c $(OBJDIR)/sysfont.c -o $@
+
$(OBJDIR)/$(DEPS)/%.d: %.c
@$(SHELL) -c 'for d in $(DEPDIRS); do { if [ ! -d $(OBJDIR)/$$d ]; then mkdir $(OBJDIR)/$$d; fi; }; done'
@echo "Updating dependencies for $<"
diff --git a/firmware/X5x8.bdf b/firmware/X5x8.bdf
deleted file mode 100644
index adb452a3ee..0000000000
--- a/firmware/X5x8.bdf
+++ /dev/null
@@ -1,1967 +0,0 @@
-STARTFONT 2.1
-COMMENT $Xorg: 5x8.bdf,v 1.3 2000/08/18 15:17:39 xorgcvs Exp $
-COMMENT Copyright 1989 Cognition Corp.
-COMMENT
-COMMENT Permission to use, copy, modify, and distribute this software and its
-COMMENT documentation for any purpose and without fee is hereby granted,
-COMMENT provided that the above copyright notice appear in all copies and that
-COMMENT both that copyright notice and this permission notice appear in
-COMMENT supporting documentation, and that the name of Cognition Corp. not be
-COMMENT used in advertising or publicity pertaining to distribution of the
-COMMENT software without specific, written prior permission. Cognition Corp.
-COMMENT makes no representations about the suitability of this software for any
-COMMENT purpose. It is provided "as is" without express or implied warranty.
-COMMENT
-COMMENT COGNITION CORP. DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
-COMMENT INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
-COMMENT EVENT SHALL COGNITION CORP. BE LIABLE FOR ANY SPECIAL, INDIRECT OR
-COMMENT CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF
-COMMENT USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
-COMMENT OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
-COMMENT PERFORMANCE OF THIS SOFTWARE.
-FONT -Misc-Fixed-Medium-R-Normal--8-80-75-75-C-50-ISO646.1991-IRV
-SIZE 11 75 75
-FONTBOUNDINGBOX 5 8 0 0
-STARTPROPERTIES 19
-FONTNAME_REGISTRY ""
-FOUNDRY "Misc"
-FAMILY_NAME "Fixed"
-WEIGHT_NAME "Medium"
-SLANT "R"
-SETWIDTH_NAME "Normal"
-ADD_STYLE_NAME ""
-PIXEL_SIZE 8
-POINT_SIZE 80
-RESOLUTION_X 75
-RESOLUTION_Y 75
-SPACING "C"
-AVERAGE_WIDTH 50
-CHARSET_REGISTRY "ISO646.1991"
-CHARSET_ENCODING "IRV"
-FONT_DESCENT 1
-FONT_ASCENT 7
-COPYRIGHT "Copyright 1989 by Cognition Corp."
-DEFAULT_CHAR 0
-ENDPROPERTIES
-CHARS 128
-STARTCHAR C000
-ENCODING 0
-SWIDTH 1 0
-DWIDTH 5 0
-BBX 5 8 0 -1
-BITMAP
-00
-00
-00
-00
-00
-00
-00
-00
-ENDCHAR
-STARTCHAR C001
-ENCODING 1
-SWIDTH 1 0
-DWIDTH 5 0
-BBX 5 8 0 -1
-BITMAP
-00
-20
-70
-f8
-70
-20
-00
-00
-ENDCHAR
-STARTCHAR C002
-ENCODING 2
-SWIDTH 1 0
-DWIDTH 5 0
-BBX 5 8 0 -1
-BITMAP
-00
-28
-50
-28
-50
-28
-50
-28
-ENDCHAR
-STARTCHAR C003
-ENCODING 3
-SWIDTH 1 0
-DWIDTH 5 0
-BBX 5 8 0 -1
-BITMAP
-50
-50
-70
-50
-50
-38
-10
-10
-ENDCHAR
-STARTCHAR C004
-ENCODING 4
-SWIDTH 1 0
-DWIDTH 5 0
-BBX 5 8 0 -1
-BITMAP
-e0
-80
-c0
-b8
-a0
-30
-20
-20
-ENDCHAR
-STARTCHAR C005
-ENCODING 5
-SWIDTH 1 0
-DWIDTH 5 0
-BBX 5 8 0 -1
-BITMAP
-60
-80
-60
-00
-30
-28
-30
-28
-ENDCHAR
-STARTCHAR C006
-ENCODING 6
-SWIDTH 1 0
-DWIDTH 5 0
-BBX 5 8 0 -1
-BITMAP
-80
-80
-80
-e0
-38
-20
-30
-20
-ENDCHAR
-STARTCHAR C007
-ENCODING 7
-SWIDTH 1 0
-DWIDTH 5 0
-BBX 5 8 0 -1
-BITMAP
-00
-20
-50
-20
-00
-00
-00
-00
-ENDCHAR
-STARTCHAR C010
-ENCODING 8
-SWIDTH 1 0
-DWIDTH 5 0
-BBX 5 8 0 -1
-BITMAP
-00
-20
-70
-20
-00
-70
-00
-00
-ENDCHAR
-STARTCHAR C011
-ENCODING 9
-SWIDTH 1 0
-DWIDTH 5 0
-BBX 5 8 0 -1
-BITMAP
-90
-d0
-b0
-90
-20
-20
-20
-38
-ENDCHAR
-STARTCHAR C012
-ENCODING 10
-SWIDTH 1 0
-DWIDTH 5 0
-BBX 5 8 0 -1
-BITMAP
-a0
-a0
-a0
-40
-38
-10
-10
-10
-ENDCHAR
-STARTCHAR C013
-ENCODING 11
-SWIDTH 1 0
-DWIDTH 5 0
-BBX 5 8 0 -1
-BITMAP
-20
-20
-20
-e0
-00
-00
-00
-00
-ENDCHAR
-STARTCHAR C014
-ENCODING 12
-SWIDTH 1 0
-DWIDTH 5 0
-BBX 5 8 0 -1
-BITMAP
-00
-00
-00
-e0
-20
-20
-20
-20
-ENDCHAR
-STARTCHAR C015
-ENCODING 13
-SWIDTH 1 0
-DWIDTH 5 0
-BBX 5 8 0 -1
-BITMAP
-00
-00
-00
-38
-20
-20
-20
-20
-ENDCHAR
-STARTCHAR C016
-ENCODING 14
-SWIDTH 1 0
-DWIDTH 5 0
-BBX 5 8 0 -1
-BITMAP
-20
-20
-20
-38
-00
-00
-00
-00
-ENDCHAR
-STARTCHAR C017
-ENCODING 15
-SWIDTH 1 0
-DWIDTH 5 0
-BBX 5 8 0 -1
-BITMAP
-20
-20
-20
-f8
-20
-20
-20
-20
-ENDCHAR
-STARTCHAR C020
-ENCODING 16
-SWIDTH 1 0
-DWIDTH 5 0
-BBX 5 8 0 -1
-BITMAP
-00
-f8
-00
-00
-00
-00
-00
-00
-ENDCHAR
-STARTCHAR C021
-ENCODING 17
-SWIDTH 1 0
-DWIDTH 5 0
-BBX 5 8 0 -1
-BITMAP
-00
-00
-f8
-00
-00
-00
-00
-00
-ENDCHAR
-STARTCHAR C022
-ENCODING 18
-SWIDTH 1 0
-DWIDTH 5 0
-BBX 5 8 0 -1
-BITMAP
-00
-00
-00
-f8
-00
-00
-00
-00
-ENDCHAR
-STARTCHAR C023
-ENCODING 19
-SWIDTH 1 0
-DWIDTH 5 0
-BBX 5 8 0 -1
-BITMAP
-00
-00
-00
-00
-f8
-00
-00
-00
-ENDCHAR
-STARTCHAR C024
-ENCODING 20
-SWIDTH 1 0
-DWIDTH 5 0
-BBX 5 8 0 -1
-BITMAP
-00
-00
-00
-00
-00
-f8
-00
-00
-ENDCHAR
-STARTCHAR C025
-ENCODING 21
-SWIDTH 1 0
-DWIDTH 5 0
-BBX 5 8 0 -1
-BITMAP
-20
-20
-20
-38
-20
-20
-20
-20
-ENDCHAR
-STARTCHAR C026
-ENCODING 22
-SWIDTH 1 0
-DWIDTH 5 0
-BBX 5 8 0 -1
-BITMAP
-20
-20
-20
-e0
-20
-20
-20
-20
-ENDCHAR
-STARTCHAR C027
-ENCODING 23
-SWIDTH 1 0
-DWIDTH 5 0
-BBX 5 8 0 -1
-BITMAP
-20
-20
-20
-f8
-00
-00
-00
-00
-ENDCHAR
-STARTCHAR C030
-ENCODING 24
-SWIDTH 1 0
-DWIDTH 5 0
-BBX 5 8 0 -1
-BITMAP
-00
-00
-00
-f8
-20
-20
-20
-20
-ENDCHAR
-STARTCHAR C031
-ENCODING 25
-SWIDTH 1 0
-DWIDTH 5 0
-BBX 5 8 0 -1
-BITMAP
-20
-20
-20
-20
-20
-20
-20
-20
-ENDCHAR
-STARTCHAR C032
-ENCODING 26
-SWIDTH 1 0
-DWIDTH 5 0
-BBX 5 8 0 -1
-BITMAP
-00
-10
-20
-40
-20
-10
-70
-00
-ENDCHAR
-STARTCHAR C033
-ENCODING 27
-SWIDTH 1 0
-DWIDTH 5 0
-BBX 5 8 0 -1
-BITMAP
-00
-40
-20
-10
-20
-40
-70
-00
-ENDCHAR
-STARTCHAR C034
-ENCODING 28
-SWIDTH 1 0
-DWIDTH 5 0
-BBX 5 8 0 -1
-BITMAP
-00
-f8
-50
-50
-50
-50
-00
-00
-ENDCHAR
-STARTCHAR C035
-ENCODING 29
-SWIDTH 1 0
-DWIDTH 5 0
-BBX 5 8 0 -1
-BITMAP
-00
-10
-f8
-20
-f8
-40
-00
-00
-ENDCHAR
-STARTCHAR C036
-ENCODING 30
-SWIDTH 1 0
-DWIDTH 5 0
-BBX 5 8 0 -1
-BITMAP
-00
-30
-48
-e0
-40
-48
-b0
-00
-ENDCHAR
-STARTCHAR C037
-ENCODING 31
-SWIDTH 1 0
-DWIDTH 5 0
-BBX 5 8 0 -1
-BITMAP
-00
-00
-00
-20
-00
-00
-00
-00
-ENDCHAR
-STARTCHAR C040
-ENCODING 32
-SWIDTH 1 0
-DWIDTH 5 0
-BBX 5 8 0 -1
-BITMAP
-00
-00
-00
-00
-00
-00
-00
-00
-ENDCHAR
-STARTCHAR !
-ENCODING 33
-SWIDTH 1 0
-DWIDTH 5 0
-BBX 5 8 0 -1
-BITMAP
-00
-20
-20
-20
-20
-00
-20
-00
-ENDCHAR
-STARTCHAR "
-ENCODING 34
-SWIDTH 1 0
-DWIDTH 5 0
-BBX 5 8 0 -1
-BITMAP
-00
-50
-50
-50
-00
-00
-00
-00
-ENDCHAR
-STARTCHAR #
-ENCODING 35
-SWIDTH 1 0
-DWIDTH 5 0
-BBX 5 8 0 -1
-BITMAP
-50
-50
-f8
-50
-f8
-50
-50
-00
-ENDCHAR
-STARTCHAR $
-ENCODING 36
-SWIDTH 1 0
-DWIDTH 5 0
-BBX 5 8 0 -1
-BITMAP
-20
-70
-a0
-70
-28
-70
-20
-00
-ENDCHAR
-STARTCHAR %
-ENCODING 37
-SWIDTH 1 0
-DWIDTH 5 0
-BBX 5 8 0 -1
-BITMAP
-00
-40
-50
-20
-50
-10
-00
-00
-ENDCHAR
-STARTCHAR &
-ENCODING 38
-SWIDTH 1 0
-DWIDTH 5 0
-BBX 5 8 0 -1
-BITMAP
-20
-50
-50
-20
-50
-50
-28
-00
-ENDCHAR
-STARTCHAR '
-ENCODING 39
-SWIDTH 1 0
-DWIDTH 5 0
-BBX 5 8 0 -1
-BITMAP
-00
-30
-20
-40
-00
-00
-00
-00
-ENDCHAR
-STARTCHAR (
-ENCODING 40
-SWIDTH 1 0
-DWIDTH 5 0
-BBX 5 8 0 -1
-BITMAP
-00
-10
-20
-20
-20
-10
-00
-00
-ENDCHAR
-STARTCHAR )
-ENCODING 41
-SWIDTH 1 0
-DWIDTH 5 0
-BBX 5 8 0 -1
-BITMAP
-00
-40
-20
-20
-20
-40
-00
-00
-ENDCHAR
-STARTCHAR *
-ENCODING 42
-SWIDTH 1 0
-DWIDTH 5 0
-BBX 5 8 0 -1
-BITMAP
-00
-48
-30
-78
-30
-48
-00
-00
-ENDCHAR
-STARTCHAR +
-ENCODING 43
-SWIDTH 1 0
-DWIDTH 5 0
-BBX 5 8 0 -1
-BITMAP
-00
-20
-20
-f8
-20
-20
-00
-00
-ENDCHAR
-STARTCHAR ,
-ENCODING 44
-SWIDTH 1 0
-DWIDTH 5 0
-BBX 5 8 0 -1
-BITMAP
-00
-00
-00
-00
-30
-20
-40
-00
-ENDCHAR
-STARTCHAR -
-ENCODING 45
-SWIDTH 1 0
-DWIDTH 5 0
-BBX 5 8 0 -1
-BITMAP
-00
-00
-00
-00
-78
-00
-00
-00
-ENDCHAR
-STARTCHAR .
-ENCODING 46
-SWIDTH 1 0
-DWIDTH 5 0
-BBX 5 8 0 -1
-BITMAP
-00
-00
-00
-00
-20
-70
-20
-00
-ENDCHAR
-STARTCHAR /
-ENCODING 47
-SWIDTH 1 0
-DWIDTH 5 0
-BBX 5 8 0 -1
-BITMAP
-00
-08
-08
-10
-20
-40
-40
-00
-ENDCHAR
-STARTCHAR 0
-ENCODING 48
-SWIDTH 1 0
-DWIDTH 5 0
-BBX 5 8 0 -1
-BITMAP
-00
-20
-50
-50
-50
-50
-20
-00
-ENDCHAR
-STARTCHAR 1
-ENCODING 49
-SWIDTH 1 0
-DWIDTH 5 0
-BBX 5 8 0 -1
-BITMAP
-00
-20
-60
-20
-20
-20
-70
-00
-ENDCHAR
-STARTCHAR 2
-ENCODING 50
-SWIDTH 1 0
-DWIDTH 5 0
-BBX 5 8 0 -1
-BITMAP
-00
-30
-48
-08
-30
-40
-78
-00
-ENDCHAR
-STARTCHAR 3
-ENCODING 51
-SWIDTH 1 0
-DWIDTH 5 0
-BBX 5 8 0 -1
-BITMAP
-00
-30
-48
-10
-08
-48
-30
-00
-ENDCHAR
-STARTCHAR 4
-ENCODING 52
-SWIDTH 1 0
-DWIDTH 5 0
-BBX 5 8 0 -1
-BITMAP
-00
-10
-30
-50
-78
-10
-10
-00
-ENDCHAR
-STARTCHAR 5
-ENCODING 53
-SWIDTH 1 0
-DWIDTH 5 0
-BBX 5 8 0 -1
-BITMAP
-00
-78
-40
-70
-08
-48
-30
-00
-ENDCHAR
-STARTCHAR 6
-ENCODING 54
-SWIDTH 1 0
-DWIDTH 5 0
-BBX 5 8 0 -1
-BITMAP
-00
-30
-40
-50
-68
-48
-30
-00
-ENDCHAR
-STARTCHAR 7
-ENCODING 55
-SWIDTH 1 0
-DWIDTH 5 0
-BBX 5 8 0 -1
-BITMAP
-00
-78
-08
-10
-10
-20
-20
-00
-ENDCHAR
-STARTCHAR 8
-ENCODING 56
-SWIDTH 1 0
-DWIDTH 5 0
-BBX 5 8 0 -1
-BITMAP
-00
-30
-48
-30
-48
-48
-30
-00
-ENDCHAR
-STARTCHAR 9
-ENCODING 57
-SWIDTH 1 0
-DWIDTH 5 0
-BBX 5 8 0 -1
-BITMAP
-00
-30
-48
-58
-28
-08
-30
-00
-ENDCHAR
-STARTCHAR :
-ENCODING 58
-SWIDTH 1 0
-DWIDTH 5 0
-BBX 5 8 0 -1
-BITMAP
-00
-30
-30
-00
-30
-30
-00
-00
-ENDCHAR
-STARTCHAR ;
-ENCODING 59
-SWIDTH 1 0
-DWIDTH 5 0
-BBX 5 8 0 -1
-BITMAP
-00
-30
-30
-00
-30
-20
-40
-00
-ENDCHAR
-STARTCHAR <
-ENCODING 60
-SWIDTH 1 0
-DWIDTH 5 0
-BBX 5 8 0 -1
-BITMAP
-00
-10
-20
-40
-40
-20
-10
-00
-ENDCHAR
-STARTCHAR =
-ENCODING 61
-SWIDTH 1 0
-DWIDTH 5 0
-BBX 5 8 0 -1
-BITMAP
-00
-00
-70
-00
-70
-00
-00
-00
-ENDCHAR
-STARTCHAR >
-ENCODING 62
-SWIDTH 1 0
-DWIDTH 5 0
-BBX 5 8 0 -1
-BITMAP
-00
-40
-20
-10
-10
-20
-40
-00
-ENDCHAR
-STARTCHAR ?
-ENCODING 63
-SWIDTH 1 0
-DWIDTH 5 0
-BBX 5 8 0 -1
-BITMAP
-00
-20
-50
-10
-20
-00
-20
-00
-ENDCHAR
-STARTCHAR @
-ENCODING 64
-SWIDTH 1 0
-DWIDTH 5 0
-BBX 5 8 0 -1
-BITMAP
-30
-48
-98
-a8
-a8
-90
-40
-30
-ENDCHAR
-STARTCHAR A
-ENCODING 65
-SWIDTH 1 0
-DWIDTH 5 0
-BBX 5 8 0 -1
-BITMAP
-00
-30
-48
-48
-78
-48
-48
-00
-ENDCHAR
-STARTCHAR B
-ENCODING 66
-SWIDTH 1 0
-DWIDTH 5 0
-BBX 5 8 0 -1
-BITMAP
-00
-70
-48
-70
-48
-48
-70
-00
-ENDCHAR
-STARTCHAR C
-ENCODING 67
-SWIDTH 1 0
-DWIDTH 5 0
-BBX 5 8 0 -1
-BITMAP
-00
-30
-48
-40
-40
-48
-30
-00
-ENDCHAR
-STARTCHAR D
-ENCODING 68
-SWIDTH 1 0
-DWIDTH 5 0
-BBX 5 8 0 -1
-BITMAP
-00
-70
-48
-48
-48
-48
-70
-00
-ENDCHAR
-STARTCHAR E
-ENCODING 69
-SWIDTH 1 0
-DWIDTH 5 0
-BBX 5 8 0 -1
-BITMAP
-00
-78
-40
-70
-40
-40
-78
-00
-ENDCHAR
-STARTCHAR F
-ENCODING 70
-SWIDTH 1 0
-DWIDTH 5 0
-BBX 5 8 0 -1
-BITMAP
-00
-78
-40
-70
-40
-40
-40
-00
-ENDCHAR
-STARTCHAR G
-ENCODING 71
-SWIDTH 1 0
-DWIDTH 5 0
-BBX 5 8 0 -1
-BITMAP
-00
-30
-48
-40
-58
-48
-30
-00
-ENDCHAR
-STARTCHAR H
-ENCODING 72
-SWIDTH 1 0
-DWIDTH 5 0
-BBX 5 8 0 -1
-BITMAP
-00
-48
-48
-78
-48
-48
-48
-00
-ENDCHAR
-STARTCHAR I
-ENCODING 73
-SWIDTH 1 0
-DWIDTH 5 0
-BBX 5 8 0 -1
-BITMAP
-00
-70
-20
-20
-20
-20
-70
-00
-ENDCHAR
-STARTCHAR J
-ENCODING 74
-SWIDTH 1 0
-DWIDTH 5 0
-BBX 5 8 0 -1
-BITMAP
-00
-38
-08
-08
-08
-48
-30
-00
-ENDCHAR
-STARTCHAR K
-ENCODING 75
-SWIDTH 1 0
-DWIDTH 5 0
-BBX 5 8 0 -1
-BITMAP
-00
-48
-50
-60
-50
-50
-48
-00
-ENDCHAR
-STARTCHAR L
-ENCODING 76
-SWIDTH 1 0
-DWIDTH 5 0
-BBX 5 8 0 -1
-BITMAP
-00
-40
-40
-40
-40
-40
-70
-00
-ENDCHAR
-STARTCHAR M
-ENCODING 77
-SWIDTH 1 0
-DWIDTH 5 0
-BBX 5 8 0 -1
-BITMAP
-00
-48
-78
-78
-48
-48
-48
-00
-ENDCHAR
-STARTCHAR N
-ENCODING 78
-SWIDTH 1 0
-DWIDTH 5 0
-BBX 5 8 0 -1
-BITMAP
-00
-48
-68
-78
-58
-58
-48
-00
-ENDCHAR
-STARTCHAR O
-ENCODING 79
-SWIDTH 1 0
-DWIDTH 5 0
-BBX 5 8 0 -1
-BITMAP
-00
-30
-48
-48
-48
-48
-30
-00
-ENDCHAR
-STARTCHAR P
-ENCODING 80
-SWIDTH 1 0
-DWIDTH 5 0
-BBX 5 8 0 -1
-BITMAP
-00
-70
-48
-48
-70
-40
-40
-00
-ENDCHAR
-STARTCHAR Q
-ENCODING 81
-SWIDTH 1 0
-DWIDTH 5 0
-BBX 5 8 0 -1
-BITMAP
-00
-30
-48
-48
-68
-58
-30
-08
-ENDCHAR
-STARTCHAR R
-ENCODING 82
-SWIDTH 1 0
-DWIDTH 5 0
-BBX 5 8 0 -1
-BITMAP
-00
-70
-48
-48
-70
-58
-48
-00
-ENDCHAR
-STARTCHAR S
-ENCODING 83
-SWIDTH 1 0
-DWIDTH 5 0
-BBX 5 8 0 -1
-BITMAP
-00
-30
-48
-20
-10
-48
-30
-00
-ENDCHAR
-STARTCHAR T
-ENCODING 84
-SWIDTH 1 0
-DWIDTH 5 0
-BBX 5 8 0 -1
-BITMAP
-00
-f8
-20
-20
-20
-20
-20
-00
-ENDCHAR
-STARTCHAR U
-ENCODING 85
-SWIDTH 1 0
-DWIDTH 5 0
-BBX 5 8 0 -1
-BITMAP
-00
-48
-48
-48
-48
-48
-30
-00
-ENDCHAR
-STARTCHAR V
-ENCODING 86
-SWIDTH 1 0
-DWIDTH 5 0
-BBX 5 8 0 -1
-BITMAP
-00
-48
-48
-48
-48
-30
-30
-00
-ENDCHAR
-STARTCHAR W
-ENCODING 87
-SWIDTH 1 0
-DWIDTH 5 0
-BBX 5 8 0 -1
-BITMAP
-00
-48
-48
-48
-78
-78
-48
-00
-ENDCHAR
-STARTCHAR X
-ENCODING 88
-SWIDTH 1 0
-DWIDTH 5 0
-BBX 5 8 0 -1
-BITMAP
-00
-48
-48
-30
-30
-48
-48
-00
-ENDCHAR
-STARTCHAR Y
-ENCODING 89
-SWIDTH 1 0
-DWIDTH 5 0
-BBX 5 8 0 -1
-BITMAP
-00
-88
-88
-50
-20
-20
-20
-00
-ENDCHAR
-STARTCHAR Z
-ENCODING 90
-SWIDTH 1 0
-DWIDTH 5 0
-BBX 5 8 0 -1
-BITMAP
-00
-78
-08
-10
-20
-40
-78
-00
-ENDCHAR
-STARTCHAR [
-ENCODING 91
-SWIDTH 1 0
-DWIDTH 5 0
-BBX 5 8 0 -1
-BITMAP
-00
-70
-40
-40
-40
-40
-70
-00
-ENDCHAR
-STARTCHAR \
-ENCODING 92
-SWIDTH 1 0
-DWIDTH 5 0
-BBX 5 8 0 -1
-BITMAP
-00
-40
-40
-20
-10
-08
-08
-00
-ENDCHAR
-STARTCHAR ]
-ENCODING 93
-SWIDTH 1 0
-DWIDTH 5 0
-BBX 5 8 0 -1
-BITMAP
-00
-70
-10
-10
-10
-10
-70
-00
-ENDCHAR
-STARTCHAR ^
-ENCODING 94
-SWIDTH 1 0
-DWIDTH 5 0
-BBX 5 8 0 -1
-BITMAP
-00
-20
-50
-50
-00
-00
-00
-00
-ENDCHAR
-STARTCHAR _
-ENCODING 95
-SWIDTH 1 0
-DWIDTH 5 0
-BBX 5 8 0 -1
-BITMAP
-00
-00
-00
-00
-00
-00
-00
-78
-ENDCHAR
-STARTCHAR `
-ENCODING 96
-SWIDTH 1 0
-DWIDTH 5 0
-BBX 5 8 0 -1
-BITMAP
-00
-60
-40
-20
-00
-00
-00
-00
-ENDCHAR
-STARTCHAR a
-ENCODING 97
-SWIDTH 1 0
-DWIDTH 5 0
-BBX 5 8 0 -1
-BITMAP
-00
-00
-00
-28
-58
-58
-28
-00
-ENDCHAR
-STARTCHAR b
-ENCODING 98
-SWIDTH 1 0
-DWIDTH 5 0
-BBX 5 8 0 -1
-BITMAP
-00
-40
-40
-70
-48
-48
-70
-00
-ENDCHAR
-STARTCHAR c
-ENCODING 99
-SWIDTH 1 0
-DWIDTH 5 0
-BBX 5 8 0 -1
-BITMAP
-00
-00
-00
-30
-40
-40
-30
-00
-ENDCHAR
-STARTCHAR d
-ENCODING 100
-SWIDTH 1 0
-DWIDTH 5 0
-BBX 5 8 0 -1
-BITMAP
-00
-08
-08
-28
-58
-58
-28
-00
-ENDCHAR
-STARTCHAR e
-ENCODING 101
-SWIDTH 1 0
-DWIDTH 5 0
-BBX 5 8 0 -1
-BITMAP
-00
-00
-00
-30
-78
-40
-30
-00
-ENDCHAR
-STARTCHAR f
-ENCODING 102
-SWIDTH 1 0
-DWIDTH 5 0
-BBX 5 8 0 -1
-BITMAP
-00
-10
-28
-20
-70
-20
-20
-00
-ENDCHAR
-STARTCHAR g
-ENCODING 103
-SWIDTH 1 0
-DWIDTH 5 0
-BBX 5 8 0 -1
-BITMAP
-00
-00
-00
-30
-48
-38
-08
-30
-ENDCHAR
-STARTCHAR h
-ENCODING 104
-SWIDTH 1 0
-DWIDTH 5 0
-BBX 5 8 0 -1
-BITMAP
-00
-40
-40
-70
-48
-48
-48
-00
-ENDCHAR
-STARTCHAR i
-ENCODING 105
-SWIDTH 1 0
-DWIDTH 5 0
-BBX 5 8 0 -1
-BITMAP
-00
-20
-00
-60
-20
-20
-70
-00
-ENDCHAR
-STARTCHAR j
-ENCODING 106
-SWIDTH 1 0
-DWIDTH 5 0
-BBX 5 8 0 -1
-BITMAP
-00
-10
-00
-10
-10
-10
-50
-20
-ENDCHAR
-STARTCHAR k
-ENCODING 107
-SWIDTH 1 0
-DWIDTH 5 0
-BBX 5 8 0 -1
-BITMAP
-00
-40
-40
-48
-70
-48
-48
-00
-ENDCHAR
-STARTCHAR l
-ENCODING 108
-SWIDTH 1 0
-DWIDTH 5 0
-BBX 5 8 0 -1
-BITMAP
-00
-60
-20
-20
-20
-20
-70
-00
-ENDCHAR
-STARTCHAR m
-ENCODING 109
-SWIDTH 1 0
-DWIDTH 5 0
-BBX 5 8 0 -1
-BITMAP
-00
-00
-00
-50
-a8
-a8
-88
-00
-ENDCHAR
-STARTCHAR n
-ENCODING 110
-SWIDTH 1 0
-DWIDTH 5 0
-BBX 5 8 0 -1
-BITMAP
-00
-00
-00
-70
-48
-48
-48
-00
-ENDCHAR
-STARTCHAR o
-ENCODING 111
-SWIDTH 1 0
-DWIDTH 5 0
-BBX 5 8 0 -1
-BITMAP
-00
-00
-00
-30
-48
-48
-30
-00
-ENDCHAR
-STARTCHAR p
-ENCODING 112
-SWIDTH 1 0
-DWIDTH 5 0
-BBX 5 8 0 -1
-BITMAP
-00
-00
-00
-70
-48
-70
-40
-40
-ENDCHAR
-STARTCHAR q
-ENCODING 113
-SWIDTH 1 0
-DWIDTH 5 0
-BBX 5 8 0 -1
-BITMAP
-00
-00
-00
-38
-48
-38
-08
-08
-ENDCHAR
-STARTCHAR r
-ENCODING 114
-SWIDTH 1 0
-DWIDTH 5 0
-BBX 5 8 0 -1
-BITMAP
-00
-00
-00
-50
-68
-40
-40
-00
-ENDCHAR
-STARTCHAR s
-ENCODING 115
-SWIDTH 1 0
-DWIDTH 5 0
-BBX 5 8 0 -1
-BITMAP
-00
-00
-00
-70
-60
-10
-70
-00
-ENDCHAR
-STARTCHAR t
-ENCODING 116
-SWIDTH 1 0
-DWIDTH 5 0
-BBX 5 8 0 -1
-BITMAP
-00
-20
-20
-70
-20
-28
-10
-00
-ENDCHAR
-STARTCHAR u
-ENCODING 117
-SWIDTH 1 0
-DWIDTH 5 0
-BBX 5 8 0 -1
-BITMAP
-00
-00
-00
-48
-48
-48
-38
-00
-ENDCHAR
-STARTCHAR v
-ENCODING 118
-SWIDTH 1 0
-DWIDTH 5 0
-BBX 5 8 0 -1
-BITMAP
-00
-00
-00
-50
-50
-50
-20
-00
-ENDCHAR
-STARTCHAR w
-ENCODING 119
-SWIDTH 1 0
-DWIDTH 5 0
-BBX 5 8 0 -1
-BITMAP
-00
-00
-00
-88
-a8
-a8
-70
-00
-ENDCHAR
-STARTCHAR x
-ENCODING 120
-SWIDTH 1 0
-DWIDTH 5 0
-BBX 5 8 0 -1
-BITMAP
-00
-00
-00
-48
-30
-30
-48
-00
-ENDCHAR
-STARTCHAR y
-ENCODING 121
-SWIDTH 1 0
-DWIDTH 5 0
-BBX 5 8 0 -1
-BITMAP
-00
-00
-00
-48
-48
-38
-48
-30
-ENDCHAR
-STARTCHAR z
-ENCODING 122
-SWIDTH 1 0
-DWIDTH 5 0
-BBX 5 8 0 -1
-BITMAP
-00
-00
-00
-78
-10
-20
-78
-00
-ENDCHAR
-STARTCHAR {
-ENCODING 123
-SWIDTH 1 0
-DWIDTH 5 0
-BBX 5 8 0 -1
-BITMAP
-18
-20
-10
-60
-10
-20
-18
-00
-ENDCHAR
-STARTCHAR |
-ENCODING 124
-SWIDTH 1 0
-DWIDTH 5 0
-BBX 5 8 0 -1
-BITMAP
-00
-20
-20
-20
-20
-20
-20
-00
-ENDCHAR
-STARTCHAR }
-ENCODING 125
-SWIDTH 1 0
-DWIDTH 5 0
-BBX 5 8 0 -1
-BITMAP
-60
-10
-20
-18
-20
-10
-60
-00
-ENDCHAR
-STARTCHAR ~
-ENCODING 126
-SWIDTH 1 0
-DWIDTH 5 0
-BBX 5 8 0 -1
-BITMAP
-00
-28
-50
-00
-00
-00
-00
-00
-ENDCHAR
-STARTCHAR C177
-ENCODING 127
-SWIDTH 1 0
-DWIDTH 5 0
-BBX 5 8 0 -1
-BITMAP
-00
-00
-00
-00
-00
-00
-00
-00
-ENDCHAR
-ENDFONT
diff --git a/firmware/X5x8.c b/firmware/X5x8.c
deleted file mode 100644
index 6422cc892d..0000000000
--- a/firmware/X5x8.c
+++ /dev/null
@@ -1,2853 +0,0 @@
-/* Generated by convbdf on Tue Sep 10 11:31:14 MDT 2002. */
-#include "config.h"
-#if defined(HAVE_LCD_BITMAP) || defined(SIMULATOR)
-#include "font.h"
-
-/* Font information:
-
- name: -Misc-Fixed-Medium-R-Normal--8-80-75-75-C-50-ISO646.1991-IRV
- pixel size: 8
- ascent: 7
- descent: 1
-*/
-
-/* Font character bitmap data. */
-static MWIMAGEBITS X5x8_bits[] = {
-
-/* Character (0x00):
- bbw=5, bbh=8, bbx=0, bby=-1, width=5
- +----------------+
- | |
- | |
- | |
- | |
- | |
- | |
- | |
- | |
- +----------------+ */
-0x0000,
-0x0000,
-0x0000,
-0x0000,
-0x0000,
-0x0000,
-0x0000,
-0x0000,
-
-/* Character (0x01):
- bbw=5, bbh=8, bbx=0, bby=-1, width=5
- +----------------+
- | |
- | * |
- | *** |
- |***** |
- | *** |
- | * |
- | |
- | |
- +----------------+ */
-0x0000,
-0x2000,
-0x7000,
-0xf800,
-0x7000,
-0x2000,
-0x0000,
-0x0000,
-
-/* Character (0x02):
- bbw=5, bbh=8, bbx=0, bby=-1, width=5
- +----------------+
- | |
- | * * |
- | * * |
- | * * |
- | * * |
- | * * |
- | * * |
- | * * |
- +----------------+ */
-0x0000,
-0x2800,
-0x5000,
-0x2800,
-0x5000,
-0x2800,
-0x5000,
-0x2800,
-
-/* Character (0x03):
- bbw=5, bbh=8, bbx=0, bby=-1, width=5
- +----------------+
- | * * |
- | * * |
- | *** |
- | * * |
- | * * |
- | *** |
- | * |
- | * |
- +----------------+ */
-0x5000,
-0x5000,
-0x7000,
-0x5000,
-0x5000,
-0x3800,
-0x1000,
-0x1000,
-
-/* Character (0x04):
- bbw=5, bbh=8, bbx=0, bby=-1, width=5
- +----------------+
- |*** |
- |* |
- |** |
- |* *** |
- |* * |
- | ** |
- | * |
- | * |
- +----------------+ */
-0xe000,
-0x8000,
-0xc000,
-0xb800,
-0xa000,
-0x3000,
-0x2000,
-0x2000,
-
-/* Character (0x05):
- bbw=5, bbh=8, bbx=0, bby=-1, width=5
- +----------------+
- | ** |
- |* |
- | ** |
- | |
- | ** |
- | * * |
- | ** |
- | * * |
- +----------------+ */
-0x6000,
-0x8000,
-0x6000,
-0x0000,
-0x3000,
-0x2800,
-0x3000,
-0x2800,
-
-/* Character (0x06):
- bbw=5, bbh=8, bbx=0, bby=-1, width=5
- +----------------+
- |* |
- |* |
- |* |
- |*** |
- | *** |
- | * |
- | ** |
- | * |
- +----------------+ */
-0x8000,
-0x8000,
-0x8000,
-0xe000,
-0x3800,
-0x2000,
-0x3000,
-0x2000,
-
-/* Character (0x07):
- bbw=5, bbh=8, bbx=0, bby=-1, width=5
- +----------------+
- | |
- | * |
- | * * |
- | * |
- | |
- | |
- | |
- | |
- +----------------+ */
-0x0000,
-0x2000,
-0x5000,
-0x2000,
-0x0000,
-0x0000,
-0x0000,
-0x0000,
-
-/* Character (0x08):
- bbw=5, bbh=8, bbx=0, bby=-1, width=5
- +----------------+
- | |
- | * |
- | *** |
- | * |
- | |
- | *** |
- | |
- | |
- +----------------+ */
-0x0000,
-0x2000,
-0x7000,
-0x2000,
-0x0000,
-0x7000,
-0x0000,
-0x0000,
-
-/* Character (0x09):
- bbw=5, bbh=8, bbx=0, bby=-1, width=5
- +----------------+
- |* * |
- |** * |
- |* ** |
- |* * |
- | * |
- | * |
- | * |
- | *** |
- +----------------+ */
-0x9000,
-0xd000,
-0xb000,
-0x9000,
-0x2000,
-0x2000,
-0x2000,
-0x3800,
-
-/* Character (0x0a):
- bbw=5, bbh=8, bbx=0, bby=-1, width=5
- +----------------+
- |* * |
- |* * |
- |* * |
- | * |
- | *** |
- | * |
- | * |
- | * |
- +----------------+ */
-0xa000,
-0xa000,
-0xa000,
-0x4000,
-0x3800,
-0x1000,
-0x1000,
-0x1000,
-
-/* Character (0x0b):
- bbw=5, bbh=8, bbx=0, bby=-1, width=5
- +----------------+
- | * |
- | * |
- | * |
- |*** |
- | |
- | |
- | |
- | |
- +----------------+ */
-0x2000,
-0x2000,
-0x2000,
-0xe000,
-0x0000,
-0x0000,
-0x0000,
-0x0000,
-
-/* Character (0x0c):
- bbw=5, bbh=8, bbx=0, bby=-1, width=5
- +----------------+
- | |
- | |
- | |
- |*** |
- | * |
- | * |
- | * |
- | * |
- +----------------+ */
-0x0000,
-0x0000,
-0x0000,
-0xe000,
-0x2000,
-0x2000,
-0x2000,
-0x2000,
-
-/* Character (0x0d):
- bbw=5, bbh=8, bbx=0, bby=-1, width=5
- +----------------+
- | |
- | |
- | |
- | *** |
- | * |
- | * |
- | * |
- | * |
- +----------------+ */
-0x0000,
-0x0000,
-0x0000,
-0x3800,
-0x2000,
-0x2000,
-0x2000,
-0x2000,
-
-/* Character (0x0e):
- bbw=5, bbh=8, bbx=0, bby=-1, width=5
- +----------------+
- | * |
- | * |
- | * |
- | *** |
- | |
- | |
- | |
- | |
- +----------------+ */
-0x2000,
-0x2000,
-0x2000,
-0x3800,
-0x0000,
-0x0000,
-0x0000,
-0x0000,
-
-/* Character (0x0f):
- bbw=5, bbh=8, bbx=0, bby=-1, width=5
- +----------------+
- | * |
- | * |
- | * |
- |***** |
- | * |
- | * |
- | * |
- | * |
- +----------------+ */
-0x2000,
-0x2000,
-0x2000,
-0xf800,
-0x2000,
-0x2000,
-0x2000,
-0x2000,
-
-/* Character (0x10):
- bbw=5, bbh=8, bbx=0, bby=-1, width=5
- +----------------+
- | |
- |***** |
- | |
- | |
- | |
- | |
- | |
- | |
- +----------------+ */
-0x0000,
-0xf800,
-0x0000,
-0x0000,
-0x0000,
-0x0000,
-0x0000,
-0x0000,
-
-/* Character (0x11):
- bbw=5, bbh=8, bbx=0, bby=-1, width=5
- +----------------+
- | |
- | |
- |***** |
- | |
- | |
- | |
- | |
- | |
- +----------------+ */
-0x0000,
-0x0000,
-0xf800,
-0x0000,
-0x0000,
-0x0000,
-0x0000,
-0x0000,
-
-/* Character (0x12):
- bbw=5, bbh=8, bbx=0, bby=-1, width=5
- +----------------+
- | |
- | |
- | |
- |***** |
- | |
- | |
- | |
- | |
- +----------------+ */
-0x0000,
-0x0000,
-0x0000,
-0xf800,
-0x0000,
-0x0000,
-0x0000,
-0x0000,
-
-/* Character (0x13):
- bbw=5, bbh=8, bbx=0, bby=-1, width=5
- +----------------+
- | |
- | |
- | |
- | |
- |***** |
- | |
- | |
- | |
- +----------------+ */
-0x0000,
-0x0000,
-0x0000,
-0x0000,
-0xf800,
-0x0000,
-0x0000,
-0x0000,
-
-/* Character (0x14):
- bbw=5, bbh=8, bbx=0, bby=-1, width=5
- +----------------+
- | |
- | |
- | |
- | |
- | |
- |***** |
- | |
- | |
- +----------------+ */
-0x0000,
-0x0000,
-0x0000,
-0x0000,
-0x0000,
-0xf800,
-0x0000,
-0x0000,
-
-/* Character (0x15):
- bbw=5, bbh=8, bbx=0, bby=-1, width=5
- +----------------+
- | * |
- | * |
- | * |
- | *** |
- | * |
- | * |
- | * |
- | * |
- +----------------+ */
-0x2000,
-0x2000,
-0x2000,
-0x3800,
-0x2000,
-0x2000,
-0x2000,
-0x2000,
-
-/* Character (0x16):
- bbw=5, bbh=8, bbx=0, bby=-1, width=5
- +----------------+
- | * |
- | * |
- | * |
- |*** |
- | * |
- | * |
- | * |
- | * |
- +----------------+ */
-0x2000,
-0x2000,
-0x2000,
-0xe000,
-0x2000,
-0x2000,
-0x2000,
-0x2000,
-
-/* Character (0x17):
- bbw=5, bbh=8, bbx=0, bby=-1, width=5
- +----------------+
- | * |
- | * |
- | * |
- |***** |
- | |
- | |
- | |
- | |
- +----------------+ */
-0x2000,
-0x2000,
-0x2000,
-0xf800,
-0x0000,
-0x0000,
-0x0000,
-0x0000,
-
-/* Character (0x18):
- bbw=5, bbh=8, bbx=0, bby=-1, width=5
- +----------------+
- | |
- | |
- | |
- |***** |
- | * |
- | * |
- | * |
- | * |
- +----------------+ */
-0x0000,
-0x0000,
-0x0000,
-0xf800,
-0x2000,
-0x2000,
-0x2000,
-0x2000,
-
-/* Character (0x19):
- bbw=5, bbh=8, bbx=0, bby=-1, width=5
- +----------------+
- | * |
- | * |
- | * |
- | * |
- | * |
- | * |
- | * |
- | * |
- +----------------+ */
-0x2000,
-0x2000,
-0x2000,
-0x2000,
-0x2000,
-0x2000,
-0x2000,
-0x2000,
-
-/* Character (0x1a):
- bbw=5, bbh=8, bbx=0, bby=-1, width=5
- +----------------+
- | |
- | * |
- | * |
- | * |
- | * |
- | * |
- | *** |
- | |
- +----------------+ */
-0x0000,
-0x1000,
-0x2000,
-0x4000,
-0x2000,
-0x1000,
-0x7000,
-0x0000,
-
-/* Character (0x1b):
- bbw=5, bbh=8, bbx=0, bby=-1, width=5
- +----------------+
- | |
- | * |
- | * |
- | * |
- | * |
- | * |
- | *** |
- | |
- +----------------+ */
-0x0000,
-0x4000,
-0x2000,
-0x1000,
-0x2000,
-0x4000,
-0x7000,
-0x0000,
-
-/* Character (0x1c):
- bbw=5, bbh=8, bbx=0, bby=-1, width=5
- +----------------+
- | |
- |***** |
- | * * |
- | * * |
- | * * |
- | * * |
- | |
- | |
- +----------------+ */
-0x0000,
-0xf800,
-0x5000,
-0x5000,
-0x5000,
-0x5000,
-0x0000,
-0x0000,
-
-/* Character (0x1d):
- bbw=5, bbh=8, bbx=0, bby=-1, width=5
- +----------------+
- | |
- | * |
- |***** |
- | * |
- |***** |
- | * |
- | |
- | |
- +----------------+ */
-0x0000,
-0x1000,
-0xf800,
-0x2000,
-0xf800,
-0x4000,
-0x0000,
-0x0000,
-
-/* Character (0x1e):
- bbw=5, bbh=8, bbx=0, bby=-1, width=5
- +----------------+
- | |
- | ** |
- | * * |
- |*** |
- | * |
- | * * |
- |* ** |
- | |
- +----------------+ */
-0x0000,
-0x3000,
-0x4800,
-0xe000,
-0x4000,
-0x4800,
-0xb000,
-0x0000,
-
-/* Character (0x1f):
- bbw=5, bbh=8, bbx=0, bby=-1, width=5
- +----------------+
- | |
- | |
- | |
- | * |
- | |
- | |
- | |
- | |
- +----------------+ */
-0x0000,
-0x0000,
-0x0000,
-0x2000,
-0x0000,
-0x0000,
-0x0000,
-0x0000,
-
-/* Character (0x20):
- bbw=5, bbh=8, bbx=0, bby=-1, width=5
- +----------------+
- | |
- | |
- | |
- | |
- | |
- | |
- | |
- | |
- +----------------+ */
-0x0000,
-0x0000,
-0x0000,
-0x0000,
-0x0000,
-0x0000,
-0x0000,
-0x0000,
-
-/* Character (0x21):
- bbw=5, bbh=8, bbx=0, bby=-1, width=5
- +----------------+
- | |
- | * |
- | * |
- | * |
- | * |
- | |
- | * |
- | |
- +----------------+ */
-0x0000,
-0x2000,
-0x2000,
-0x2000,
-0x2000,
-0x0000,
-0x2000,
-0x0000,
-
-/* Character (0x22):
- bbw=5, bbh=8, bbx=0, bby=-1, width=5
- +----------------+
- | |
- | * * |
- | * * |
- | * * |
- | |
- | |
- | |
- | |
- +----------------+ */
-0x0000,
-0x5000,
-0x5000,
-0x5000,
-0x0000,
-0x0000,
-0x0000,
-0x0000,
-
-/* Character (0x23):
- bbw=5, bbh=8, bbx=0, bby=-1, width=5
- +----------------+
- | * * |
- | * * |
- |***** |
- | * * |
- |***** |
- | * * |
- | * * |
- | |
- +----------------+ */
-0x5000,
-0x5000,
-0xf800,
-0x5000,
-0xf800,
-0x5000,
-0x5000,
-0x0000,
-
-/* Character (0x24):
- bbw=5, bbh=8, bbx=0, bby=-1, width=5
- +----------------+
- | * |
- | *** |
- |* * |
- | *** |
- | * * |
- | *** |
- | * |
- | |
- +----------------+ */
-0x2000,
-0x7000,
-0xa000,
-0x7000,
-0x2800,
-0x7000,
-0x2000,
-0x0000,
-
-/* Character (0x25):
- bbw=5, bbh=8, bbx=0, bby=-1, width=5
- +----------------+
- | |
- | * |
- | * * |
- | * |
- | * * |
- | * |
- | |
- | |
- +----------------+ */
-0x0000,
-0x4000,
-0x5000,
-0x2000,
-0x5000,
-0x1000,
-0x0000,
-0x0000,
-
-/* Character (0x26):
- bbw=5, bbh=8, bbx=0, bby=-1, width=5
- +----------------+
- | * |
- | * * |
- | * * |
- | * |
- | * * |
- | * * |
- | * * |
- | |
- +----------------+ */
-0x2000,
-0x5000,
-0x5000,
-0x2000,
-0x5000,
-0x5000,
-0x2800,
-0x0000,
-
-/* Character (0x27):
- bbw=5, bbh=8, bbx=0, bby=-1, width=5
- +----------------+
- | |
- | ** |
- | * |
- | * |
- | |
- | |
- | |
- | |
- +----------------+ */
-0x0000,
-0x3000,
-0x2000,
-0x4000,
-0x0000,
-0x0000,
-0x0000,
-0x0000,
-
-/* Character (0x28):
- bbw=5, bbh=8, bbx=0, bby=-1, width=5
- +----------------+
- | |
- | * |
- | * |
- | * |
- | * |
- | * |
- | |
- | |
- +----------------+ */
-0x0000,
-0x1000,
-0x2000,
-0x2000,
-0x2000,
-0x1000,
-0x0000,
-0x0000,
-
-/* Character (0x29):
- bbw=5, bbh=8, bbx=0, bby=-1, width=5
- +----------------+
- | |
- | * |
- | * |
- | * |
- | * |
- | * |
- | |
- | |
- +----------------+ */
-0x0000,
-0x4000,
-0x2000,
-0x2000,
-0x2000,
-0x4000,
-0x0000,
-0x0000,
-
-/* Character (0x2a):
- bbw=5, bbh=8, bbx=0, bby=-1, width=5
- +----------------+
- | |
- | * * |
- | ** |
- | **** |
- | ** |
- | * * |
- | |
- | |
- +----------------+ */
-0x0000,
-0x4800,
-0x3000,
-0x7800,
-0x3000,
-0x4800,
-0x0000,
-0x0000,
-
-/* Character (0x2b):
- bbw=5, bbh=8, bbx=0, bby=-1, width=5
- +----------------+
- | |
- | * |
- | * |
- |***** |
- | * |
- | * |
- | |
- | |
- +----------------+ */
-0x0000,
-0x2000,
-0x2000,
-0xf800,
-0x2000,
-0x2000,
-0x0000,
-0x0000,
-
-/* Character (0x2c):
- bbw=5, bbh=8, bbx=0, bby=-1, width=5
- +----------------+
- | |
- | |
- | |
- | |
- | ** |
- | * |
- | * |
- | |
- +----------------+ */
-0x0000,
-0x0000,
-0x0000,
-0x0000,
-0x3000,
-0x2000,
-0x4000,
-0x0000,
-
-/* Character (0x2d):
- bbw=5, bbh=8, bbx=0, bby=-1, width=5
- +----------------+
- | |
- | |
- | |
- | |
- | **** |
- | |
- | |
- | |
- +----------------+ */
-0x0000,
-0x0000,
-0x0000,
-0x0000,
-0x7800,
-0x0000,
-0x0000,
-0x0000,
-
-/* Character (0x2e):
- bbw=5, bbh=8, bbx=0, bby=-1, width=5
- +----------------+
- | |
- | |
- | |
- | |
- | * |
- | *** |
- | * |
- | |
- +----------------+ */
-0x0000,
-0x0000,
-0x0000,
-0x0000,
-0x2000,
-0x7000,
-0x2000,
-0x0000,
-
-/* Character (0x2f):
- bbw=5, bbh=8, bbx=0, bby=-1, width=5
- +----------------+
- | |
- | * |
- | * |
- | * |
- | * |
- | * |
- | * |
- | |
- +----------------+ */
-0x0000,
-0x0800,
-0x0800,
-0x1000,
-0x2000,
-0x4000,
-0x4000,
-0x0000,
-
-/* Character (0x30):
- bbw=5, bbh=8, bbx=0, bby=-1, width=5
- +----------------+
- | |
- | * |
- | * * |
- | * * |
- | * * |
- | * * |
- | * |
- | |
- +----------------+ */
-0x0000,
-0x2000,
-0x5000,
-0x5000,
-0x5000,
-0x5000,
-0x2000,
-0x0000,
-
-/* Character (0x31):
- bbw=5, bbh=8, bbx=0, bby=-1, width=5
- +----------------+
- | |
- | * |
- | ** |
- | * |
- | * |
- | * |
- | *** |
- | |
- +----------------+ */
-0x0000,
-0x2000,
-0x6000,
-0x2000,
-0x2000,
-0x2000,
-0x7000,
-0x0000,
-
-/* Character (0x32):
- bbw=5, bbh=8, bbx=0, bby=-1, width=5
- +----------------+
- | |
- | ** |
- | * * |
- | * |
- | ** |
- | * |
- | **** |
- | |
- +----------------+ */
-0x0000,
-0x3000,
-0x4800,
-0x0800,
-0x3000,
-0x4000,
-0x7800,
-0x0000,
-
-/* Character (0x33):
- bbw=5, bbh=8, bbx=0, bby=-1, width=5
- +----------------+
- | |
- | ** |
- | * * |
- | * |
- | * |
- | * * |
- | ** |
- | |
- +----------------+ */
-0x0000,
-0x3000,
-0x4800,
-0x1000,
-0x0800,
-0x4800,
-0x3000,
-0x0000,
-
-/* Character (0x34):
- bbw=5, bbh=8, bbx=0, bby=-1, width=5
- +----------------+
- | |
- | * |
- | ** |
- | * * |
- | **** |
- | * |
- | * |
- | |
- +----------------+ */
-0x0000,
-0x1000,
-0x3000,
-0x5000,
-0x7800,
-0x1000,
-0x1000,
-0x0000,
-
-/* Character (0x35):
- bbw=5, bbh=8, bbx=0, bby=-1, width=5
- +----------------+
- | |
- | **** |
- | * |
- | *** |
- | * |
- | * * |
- | ** |
- | |
- +----------------+ */
-0x0000,
-0x7800,
-0x4000,
-0x7000,
-0x0800,
-0x4800,
-0x3000,
-0x0000,
-
-/* Character (0x36):
- bbw=5, bbh=8, bbx=0, bby=-1, width=5
- +----------------+
- | |
- | ** |
- | * |
- | * * |
- | ** * |
- | * * |
- | ** |
- | |
- +----------------+ */
-0x0000,
-0x3000,
-0x4000,
-0x5000,
-0x6800,
-0x4800,
-0x3000,
-0x0000,
-
-/* Character (0x37):
- bbw=5, bbh=8, bbx=0, bby=-1, width=5
- +----------------+
- | |
- | **** |
- | * |
- | * |
- | * |
- | * |
- | * |
- | |
- +----------------+ */
-0x0000,
-0x7800,
-0x0800,
-0x1000,
-0x1000,
-0x2000,
-0x2000,
-0x0000,
-
-/* Character (0x38):
- bbw=5, bbh=8, bbx=0, bby=-1, width=5
- +----------------+
- | |
- | ** |
- | * * |
- | ** |
- | * * |
- | * * |
- | ** |
- | |
- +----------------+ */
-0x0000,
-0x3000,
-0x4800,
-0x3000,
-0x4800,
-0x4800,
-0x3000,
-0x0000,
-
-/* Character (0x39):
- bbw=5, bbh=8, bbx=0, bby=-1, width=5
- +----------------+
- | |
- | ** |
- | * * |
- | * ** |
- | * * |
- | * |
- | ** |
- | |
- +----------------+ */
-0x0000,
-0x3000,
-0x4800,
-0x5800,
-0x2800,
-0x0800,
-0x3000,
-0x0000,
-
-/* Character (0x3a):
- bbw=5, bbh=8, bbx=0, bby=-1, width=5
- +----------------+
- | |
- | ** |
- | ** |
- | |
- | ** |
- | ** |
- | |
- | |
- +----------------+ */
-0x0000,
-0x3000,
-0x3000,
-0x0000,
-0x3000,
-0x3000,
-0x0000,
-0x0000,
-
-/* Character (0x3b):
- bbw=5, bbh=8, bbx=0, bby=-1, width=5
- +----------------+
- | |
- | ** |
- | ** |
- | |
- | ** |
- | * |
- | * |
- | |
- +----------------+ */
-0x0000,
-0x3000,
-0x3000,
-0x0000,
-0x3000,
-0x2000,
-0x4000,
-0x0000,
-
-/* Character (0x3c):
- bbw=5, bbh=8, bbx=0, bby=-1, width=5
- +----------------+
- | |
- | * |
- | * |
- | * |
- | * |
- | * |
- | * |
- | |
- +----------------+ */
-0x0000,
-0x1000,
-0x2000,
-0x4000,
-0x4000,
-0x2000,
-0x1000,
-0x0000,
-
-/* Character (0x3d):
- bbw=5, bbh=8, bbx=0, bby=-1, width=5
- +----------------+
- | |
- | |
- | *** |
- | |
- | *** |
- | |
- | |
- | |
- +----------------+ */
-0x0000,
-0x0000,
-0x7000,
-0x0000,
-0x7000,
-0x0000,
-0x0000,
-0x0000,
-
-/* Character (0x3e):
- bbw=5, bbh=8, bbx=0, bby=-1, width=5
- +----------------+
- | |
- | * |
- | * |
- | * |
- | * |
- | * |
- | * |
- | |
- +----------------+ */
-0x0000,
-0x4000,
-0x2000,
-0x1000,
-0x1000,
-0x2000,
-0x4000,
-0x0000,
-
-/* Character (0x3f):
- bbw=5, bbh=8, bbx=0, bby=-1, width=5
- +----------------+
- | |
- | * |
- | * * |
- | * |
- | * |
- | |
- | * |
- | |
- +----------------+ */
-0x0000,
-0x2000,
-0x5000,
-0x1000,
-0x2000,
-0x0000,
-0x2000,
-0x0000,
-
-/* Character (0x40):
- bbw=5, bbh=8, bbx=0, bby=-1, width=5
- +----------------+
- | ** |
- | * * |
- |* ** |
- |* * * |
- |* * * |
- |* * |
- | * |
- | ** |
- +----------------+ */
-0x3000,
-0x4800,
-0x9800,
-0xa800,
-0xa800,
-0x9000,
-0x4000,
-0x3000,
-
-/* Character (0x41):
- bbw=5, bbh=8, bbx=0, bby=-1, width=5
- +----------------+
- | |
- | ** |
- | * * |
- | * * |
- | **** |
- | * * |
- | * * |
- | |
- +----------------+ */
-0x0000,
-0x3000,
-0x4800,
-0x4800,
-0x7800,
-0x4800,
-0x4800,
-0x0000,
-
-/* Character (0x42):
- bbw=5, bbh=8, bbx=0, bby=-1, width=5
- +----------------+
- | |
- | *** |
- | * * |
- | *** |
- | * * |
- | * * |
- | *** |
- | |
- +----------------+ */
-0x0000,
-0x7000,
-0x4800,
-0x7000,
-0x4800,
-0x4800,
-0x7000,
-0x0000,
-
-/* Character (0x43):
- bbw=5, bbh=8, bbx=0, bby=-1, width=5
- +----------------+
- | |
- | ** |
- | * * |
- | * |
- | * |
- | * * |
- | ** |
- | |
- +----------------+ */
-0x0000,
-0x3000,
-0x4800,
-0x4000,
-0x4000,
-0x4800,
-0x3000,
-0x0000,
-
-/* Character (0x44):
- bbw=5, bbh=8, bbx=0, bby=-1, width=5
- +----------------+
- | |
- | *** |
- | * * |
- | * * |
- | * * |
- | * * |
- | *** |
- | |
- +----------------+ */
-0x0000,
-0x7000,
-0x4800,
-0x4800,
-0x4800,
-0x4800,
-0x7000,
-0x0000,
-
-/* Character (0x45):
- bbw=5, bbh=8, bbx=0, bby=-1, width=5
- +----------------+
- | |
- | **** |
- | * |
- | *** |
- | * |
- | * |
- | **** |
- | |
- +----------------+ */
-0x0000,
-0x7800,
-0x4000,
-0x7000,
-0x4000,
-0x4000,
-0x7800,
-0x0000,
-
-/* Character (0x46):
- bbw=5, bbh=8, bbx=0, bby=-1, width=5
- +----------------+
- | |
- | **** |
- | * |
- | *** |
- | * |
- | * |
- | * |
- | |
- +----------------+ */
-0x0000,
-0x7800,
-0x4000,
-0x7000,
-0x4000,
-0x4000,
-0x4000,
-0x0000,
-
-/* Character (0x47):
- bbw=5, bbh=8, bbx=0, bby=-1, width=5
- +----------------+
- | |
- | ** |
- | * * |
- | * |
- | * ** |
- | * * |
- | ** |
- | |
- +----------------+ */
-0x0000,
-0x3000,
-0x4800,
-0x4000,
-0x5800,
-0x4800,
-0x3000,
-0x0000,
-
-/* Character (0x48):
- bbw=5, bbh=8, bbx=0, bby=-1, width=5
- +----------------+
- | |
- | * * |
- | * * |
- | **** |
- | * * |
- | * * |
- | * * |
- | |
- +----------------+ */
-0x0000,
-0x4800,
-0x4800,
-0x7800,
-0x4800,
-0x4800,
-0x4800,
-0x0000,
-
-/* Character (0x49):
- bbw=5, bbh=8, bbx=0, bby=-1, width=5
- +----------------+
- | |
- | *** |
- | * |
- | * |
- | * |
- | * |
- | *** |
- | |
- +----------------+ */
-0x0000,
-0x7000,
-0x2000,
-0x2000,
-0x2000,
-0x2000,
-0x7000,
-0x0000,
-
-/* Character (0x4a):
- bbw=5, bbh=8, bbx=0, bby=-1, width=5
- +----------------+
- | |
- | *** |
- | * |
- | * |
- | * |
- | * * |
- | ** |
- | |
- +----------------+ */
-0x0000,
-0x3800,
-0x0800,
-0x0800,
-0x0800,
-0x4800,
-0x3000,
-0x0000,
-
-/* Character (0x4b):
- bbw=5, bbh=8, bbx=0, bby=-1, width=5
- +----------------+
- | |
- | * * |
- | * * |
- | ** |
- | * * |
- | * * |
- | * * |
- | |
- +----------------+ */
-0x0000,
-0x4800,
-0x5000,
-0x6000,
-0x5000,
-0x5000,
-0x4800,
-0x0000,
-
-/* Character (0x4c):
- bbw=5, bbh=8, bbx=0, bby=-1, width=5
- +----------------+
- | |
- | * |
- | * |
- | * |
- | * |
- | * |
- | *** |
- | |
- +----------------+ */
-0x0000,
-0x4000,
-0x4000,
-0x4000,
-0x4000,
-0x4000,
-0x7000,
-0x0000,
-
-/* Character (0x4d):
- bbw=5, bbh=8, bbx=0, bby=-1, width=5
- +----------------+
- | |
- | * * |
- | **** |
- | **** |
- | * * |
- | * * |
- | * * |
- | |
- +----------------+ */
-0x0000,
-0x4800,
-0x7800,
-0x7800,
-0x4800,
-0x4800,
-0x4800,
-0x0000,
-
-/* Character (0x4e):
- bbw=5, bbh=8, bbx=0, bby=-1, width=5
- +----------------+
- | |
- | * * |
- | ** * |
- | **** |
- | * ** |
- | * ** |
- | * * |
- | |
- +----------------+ */
-0x0000,
-0x4800,
-0x6800,
-0x7800,
-0x5800,
-0x5800,
-0x4800,
-0x0000,
-
-/* Character (0x4f):
- bbw=5, bbh=8, bbx=0, bby=-1, width=5
- +----------------+
- | |
- | ** |
- | * * |
- | * * |
- | * * |
- | * * |
- | ** |
- | |
- +----------------+ */
-0x0000,
-0x3000,
-0x4800,
-0x4800,
-0x4800,
-0x4800,
-0x3000,
-0x0000,
-
-/* Character (0x50):
- bbw=5, bbh=8, bbx=0, bby=-1, width=5
- +----------------+
- | |
- | *** |
- | * * |
- | * * |
- | *** |
- | * |
- | * |
- | |
- +----------------+ */
-0x0000,
-0x7000,
-0x4800,
-0x4800,
-0x7000,
-0x4000,
-0x4000,
-0x0000,
-
-/* Character (0x51):
- bbw=5, bbh=8, bbx=0, bby=-1, width=5
- +----------------+
- | |
- | ** |
- | * * |
- | * * |
- | ** * |
- | * ** |
- | ** |
- | * |
- +----------------+ */
-0x0000,
-0x3000,
-0x4800,
-0x4800,
-0x6800,
-0x5800,
-0x3000,
-0x0800,
-
-/* Character (0x52):
- bbw=5, bbh=8, bbx=0, bby=-1, width=5
- +----------------+
- | |
- | *** |
- | * * |
- | * * |
- | *** |
- | * ** |
- | * * |
- | |
- +----------------+ */
-0x0000,
-0x7000,
-0x4800,
-0x4800,
-0x7000,
-0x5800,
-0x4800,
-0x0000,
-
-/* Character (0x53):
- bbw=5, bbh=8, bbx=0, bby=-1, width=5
- +----------------+
- | |
- | ** |
- | * * |
- | * |
- | * |
- | * * |
- | ** |
- | |
- +----------------+ */
-0x0000,
-0x3000,
-0x4800,
-0x2000,
-0x1000,
-0x4800,
-0x3000,
-0x0000,
-
-/* Character (0x54):
- bbw=5, bbh=8, bbx=0, bby=-1, width=5
- +----------------+
- | |
- |***** |
- | * |
- | * |
- | * |
- | * |
- | * |
- | |
- +----------------+ */
-0x0000,
-0xf800,
-0x2000,
-0x2000,
-0x2000,
-0x2000,
-0x2000,
-0x0000,
-
-/* Character (0x55):
- bbw=5, bbh=8, bbx=0, bby=-1, width=5
- +----------------+
- | |
- | * * |
- | * * |
- | * * |
- | * * |
- | * * |
- | ** |
- | |
- +----------------+ */
-0x0000,
-0x4800,
-0x4800,
-0x4800,
-0x4800,
-0x4800,
-0x3000,
-0x0000,
-
-/* Character (0x56):
- bbw=5, bbh=8, bbx=0, bby=-1, width=5
- +----------------+
- | |
- | * * |
- | * * |
- | * * |
- | * * |
- | ** |
- | ** |
- | |
- +----------------+ */
-0x0000,
-0x4800,
-0x4800,
-0x4800,
-0x4800,
-0x3000,
-0x3000,
-0x0000,
-
-/* Character (0x57):
- bbw=5, bbh=8, bbx=0, bby=-1, width=5
- +----------------+
- | |
- | * * |
- | * * |
- | * * |
- | **** |
- | **** |
- | * * |
- | |
- +----------------+ */
-0x0000,
-0x4800,
-0x4800,
-0x4800,
-0x7800,
-0x7800,
-0x4800,
-0x0000,
-
-/* Character (0x58):
- bbw=5, bbh=8, bbx=0, bby=-1, width=5
- +----------------+
- | |
- | * * |
- | * * |
- | ** |
- | ** |
- | * * |
- | * * |
- | |
- +----------------+ */
-0x0000,
-0x4800,
-0x4800,
-0x3000,
-0x3000,
-0x4800,
-0x4800,
-0x0000,
-
-/* Character (0x59):
- bbw=5, bbh=8, bbx=0, bby=-1, width=5
- +----------------+
- | |
- |* * |
- |* * |
- | * * |
- | * |
- | * |
- | * |
- | |
- +----------------+ */
-0x0000,
-0x8800,
-0x8800,
-0x5000,
-0x2000,
-0x2000,
-0x2000,
-0x0000,
-
-/* Character (0x5a):
- bbw=5, bbh=8, bbx=0, bby=-1, width=5
- +----------------+
- | |
- | **** |
- | * |
- | * |
- | * |
- | * |
- | **** |
- | |
- +----------------+ */
-0x0000,
-0x7800,
-0x0800,
-0x1000,
-0x2000,
-0x4000,
-0x7800,
-0x0000,
-
-/* Character (0x5b):
- bbw=5, bbh=8, bbx=0, bby=-1, width=5
- +----------------+
- | |
- | *** |
- | * |
- | * |
- | * |
- | * |
- | *** |
- | |
- +----------------+ */
-0x0000,
-0x7000,
-0x4000,
-0x4000,
-0x4000,
-0x4000,
-0x7000,
-0x0000,
-
-/* Character (0x5c):
- bbw=5, bbh=8, bbx=0, bby=-1, width=5
- +----------------+
- | |
- | * |
- | * |
- | * |
- | * |
- | * |
- | * |
- | |
- +----------------+ */
-0x0000,
-0x4000,
-0x4000,
-0x2000,
-0x1000,
-0x0800,
-0x0800,
-0x0000,
-
-/* Character (0x5d):
- bbw=5, bbh=8, bbx=0, bby=-1, width=5
- +----------------+
- | |
- | *** |
- | * |
- | * |
- | * |
- | * |
- | *** |
- | |
- +----------------+ */
-0x0000,
-0x7000,
-0x1000,
-0x1000,
-0x1000,
-0x1000,
-0x7000,
-0x0000,
-
-/* Character (0x5e):
- bbw=5, bbh=8, bbx=0, bby=-1, width=5
- +----------------+
- | |
- | * |
- | * * |
- | * * |
- | |
- | |
- | |
- | |
- +----------------+ */
-0x0000,
-0x2000,
-0x5000,
-0x5000,
-0x0000,
-0x0000,
-0x0000,
-0x0000,
-
-/* Character (0x5f):
- bbw=5, bbh=8, bbx=0, bby=-1, width=5
- +----------------+
- | |
- | |
- | |
- | |
- | |
- | |
- | |
- | **** |
- +----------------+ */
-0x0000,
-0x0000,
-0x0000,
-0x0000,
-0x0000,
-0x0000,
-0x0000,
-0x7800,
-
-/* Character (0x60):
- bbw=5, bbh=8, bbx=0, bby=-1, width=5
- +----------------+
- | |
- | ** |
- | * |
- | * |
- | |
- | |
- | |
- | |
- +----------------+ */
-0x0000,
-0x6000,
-0x4000,
-0x2000,
-0x0000,
-0x0000,
-0x0000,
-0x0000,
-
-/* Character (0x61):
- bbw=5, bbh=8, bbx=0, bby=-1, width=5
- +----------------+
- | |
- | |
- | |
- | * * |
- | * ** |
- | * ** |
- | * * |
- | |
- +----------------+ */
-0x0000,
-0x0000,
-0x0000,
-0x2800,
-0x5800,
-0x5800,
-0x2800,
-0x0000,
-
-/* Character (0x62):
- bbw=5, bbh=8, bbx=0, bby=-1, width=5
- +----------------+
- | |
- | * |
- | * |
- | *** |
- | * * |
- | * * |
- | *** |
- | |
- +----------------+ */
-0x0000,
-0x4000,
-0x4000,
-0x7000,
-0x4800,
-0x4800,
-0x7000,
-0x0000,
-
-/* Character (0x63):
- bbw=5, bbh=8, bbx=0, bby=-1, width=5
- +----------------+
- | |
- | |
- | |
- | ** |
- | * |
- | * |
- | ** |
- | |
- +----------------+ */
-0x0000,
-0x0000,
-0x0000,
-0x3000,
-0x4000,
-0x4000,
-0x3000,
-0x0000,
-
-/* Character (0x64):
- bbw=5, bbh=8, bbx=0, bby=-1, width=5
- +----------------+
- | |
- | * |
- | * |
- | * * |
- | * ** |
- | * ** |
- | * * |
- | |
- +----------------+ */
-0x0000,
-0x0800,
-0x0800,
-0x2800,
-0x5800,
-0x5800,
-0x2800,
-0x0000,
-
-/* Character (0x65):
- bbw=5, bbh=8, bbx=0, bby=-1, width=5
- +----------------+
- | |
- | |
- | |
- | ** |
- | **** |
- | * |
- | ** |
- | |
- +----------------+ */
-0x0000,
-0x0000,
-0x0000,
-0x3000,
-0x7800,
-0x4000,
-0x3000,
-0x0000,
-
-/* Character (0x66):
- bbw=5, bbh=8, bbx=0, bby=-1, width=5
- +----------------+
- | |
- | * |
- | * * |
- | * |
- | *** |
- | * |
- | * |
- | |
- +----------------+ */
-0x0000,
-0x1000,
-0x2800,
-0x2000,
-0x7000,
-0x2000,
-0x2000,
-0x0000,
-
-/* Character (0x67):
- bbw=5, bbh=8, bbx=0, bby=-1, width=5
- +----------------+
- | |
- | |
- | |
- | ** |
- | * * |
- | *** |
- | * |
- | ** |
- +----------------+ */
-0x0000,
-0x0000,
-0x0000,
-0x3000,
-0x4800,
-0x3800,
-0x0800,
-0x3000,
-
-/* Character (0x68):
- bbw=5, bbh=8, bbx=0, bby=-1, width=5
- +----------------+
- | |
- | * |
- | * |
- | *** |
- | * * |
- | * * |
- | * * |
- | |
- +----------------+ */
-0x0000,
-0x4000,
-0x4000,
-0x7000,
-0x4800,
-0x4800,
-0x4800,
-0x0000,
-
-/* Character (0x69):
- bbw=5, bbh=8, bbx=0, bby=-1, width=5
- +----------------+
- | |
- | * |
- | |
- | ** |
- | * |
- | * |
- | *** |
- | |
- +----------------+ */
-0x0000,
-0x2000,
-0x0000,
-0x6000,
-0x2000,
-0x2000,
-0x7000,
-0x0000,
-
-/* Character (0x6a):
- bbw=5, bbh=8, bbx=0, bby=-1, width=5
- +----------------+
- | |
- | * |
- | |
- | * |
- | * |
- | * |
- | * * |
- | * |
- +----------------+ */
-0x0000,
-0x1000,
-0x0000,
-0x1000,
-0x1000,
-0x1000,
-0x5000,
-0x2000,
-
-/* Character (0x6b):
- bbw=5, bbh=8, bbx=0, bby=-1, width=5
- +----------------+
- | |
- | * |
- | * |
- | * * |
- | *** |
- | * * |
- | * * |
- | |
- +----------------+ */
-0x0000,
-0x4000,
-0x4000,
-0x4800,
-0x7000,
-0x4800,
-0x4800,
-0x0000,
-
-/* Character (0x6c):
- bbw=5, bbh=8, bbx=0, bby=-1, width=5
- +----------------+
- | |
- | ** |
- | * |
- | * |
- | * |
- | * |
- | *** |
- | |
- +----------------+ */
-0x0000,
-0x6000,
-0x2000,
-0x2000,
-0x2000,
-0x2000,
-0x7000,
-0x0000,
-
-/* Character (0x6d):
- bbw=5, bbh=8, bbx=0, bby=-1, width=5
- +----------------+
- | |
- | |
- | |
- | * * |
- |* * * |
- |* * * |
- |* * |
- | |
- +----------------+ */
-0x0000,
-0x0000,
-0x0000,
-0x5000,
-0xa800,
-0xa800,
-0x8800,
-0x0000,
-
-/* Character (0x6e):
- bbw=5, bbh=8, bbx=0, bby=-1, width=5
- +----------------+
- | |
- | |
- | |
- | *** |
- | * * |
- | * * |
- | * * |
- | |
- +----------------+ */
-0x0000,
-0x0000,
-0x0000,
-0x7000,
-0x4800,
-0x4800,
-0x4800,
-0x0000,
-
-/* Character (0x6f):
- bbw=5, bbh=8, bbx=0, bby=-1, width=5
- +----------------+
- | |
- | |
- | |
- | ** |
- | * * |
- | * * |
- | ** |
- | |
- +----------------+ */
-0x0000,
-0x0000,
-0x0000,
-0x3000,
-0x4800,
-0x4800,
-0x3000,
-0x0000,
-
-/* Character (0x70):
- bbw=5, bbh=8, bbx=0, bby=-1, width=5
- +----------------+
- | |
- | |
- | |
- | *** |
- | * * |
- | *** |
- | * |
- | * |
- +----------------+ */
-0x0000,
-0x0000,
-0x0000,
-0x7000,
-0x4800,
-0x7000,
-0x4000,
-0x4000,
-
-/* Character (0x71):
- bbw=5, bbh=8, bbx=0, bby=-1, width=5
- +----------------+
- | |
- | |
- | |
- | *** |
- | * * |
- | *** |
- | * |
- | * |
- +----------------+ */
-0x0000,
-0x0000,
-0x0000,
-0x3800,
-0x4800,
-0x3800,
-0x0800,
-0x0800,
-
-/* Character (0x72):
- bbw=5, bbh=8, bbx=0, bby=-1, width=5
- +----------------+
- | |
- | |
- | |
- | * * |
- | ** * |
- | * |
- | * |
- | |
- +----------------+ */
-0x0000,
-0x0000,
-0x0000,
-0x5000,
-0x6800,
-0x4000,
-0x4000,
-0x0000,
-
-/* Character (0x73):
- bbw=5, bbh=8, bbx=0, bby=-1, width=5
- +----------------+
- | |
- | |
- | |
- | *** |
- | ** |
- | * |
- | *** |
- | |
- +----------------+ */
-0x0000,
-0x0000,
-0x0000,
-0x7000,
-0x6000,
-0x1000,
-0x7000,
-0x0000,
-
-/* Character (0x74):
- bbw=5, bbh=8, bbx=0, bby=-1, width=5
- +----------------+
- | |
- | * |
- | * |
- | *** |
- | * |
- | * * |
- | * |
- | |
- +----------------+ */
-0x0000,
-0x2000,
-0x2000,
-0x7000,
-0x2000,
-0x2800,
-0x1000,
-0x0000,
-
-/* Character (0x75):
- bbw=5, bbh=8, bbx=0, bby=-1, width=5
- +----------------+
- | |
- | |
- | |
- | * * |
- | * * |
- | * * |
- | *** |
- | |
- +----------------+ */
-0x0000,
-0x0000,
-0x0000,
-0x4800,
-0x4800,
-0x4800,
-0x3800,
-0x0000,
-
-/* Character (0x76):
- bbw=5, bbh=8, bbx=0, bby=-1, width=5
- +----------------+
- | |
- | |
- | |
- | * * |
- | * * |
- | * * |
- | * |
- | |
- +----------------+ */
-0x0000,
-0x0000,
-0x0000,
-0x5000,
-0x5000,
-0x5000,
-0x2000,
-0x0000,
-
-/* Character (0x77):
- bbw=5, bbh=8, bbx=0, bby=-1, width=5
- +----------------+
- | |
- | |
- | |
- |* * |
- |* * * |
- |* * * |
- | *** |
- | |
- +----------------+ */
-0x0000,
-0x0000,
-0x0000,
-0x8800,
-0xa800,
-0xa800,
-0x7000,
-0x0000,
-
-/* Character (0x78):
- bbw=5, bbh=8, bbx=0, bby=-1, width=5
- +----------------+
- | |
- | |
- | |
- | * * |
- | ** |
- | ** |
- | * * |
- | |
- +----------------+ */
-0x0000,
-0x0000,
-0x0000,
-0x4800,
-0x3000,
-0x3000,
-0x4800,
-0x0000,
-
-/* Character (0x79):
- bbw=5, bbh=8, bbx=0, bby=-1, width=5
- +----------------+
- | |
- | |
- | |
- | * * |
- | * * |
- | *** |
- | * * |
- | ** |
- +----------------+ */
-0x0000,
-0x0000,
-0x0000,
-0x4800,
-0x4800,
-0x3800,
-0x4800,
-0x3000,
-
-/* Character (0x7a):
- bbw=5, bbh=8, bbx=0, bby=-1, width=5
- +----------------+
- | |
- | |
- | |
- | **** |
- | * |
- | * |
- | **** |
- | |
- +----------------+ */
-0x0000,
-0x0000,
-0x0000,
-0x7800,
-0x1000,
-0x2000,
-0x7800,
-0x0000,
-
-/* Character (0x7b):
- bbw=5, bbh=8, bbx=0, bby=-1, width=5
- +----------------+
- | ** |
- | * |
- | * |
- | ** |
- | * |
- | * |
- | ** |
- | |
- +----------------+ */
-0x1800,
-0x2000,
-0x1000,
-0x6000,
-0x1000,
-0x2000,
-0x1800,
-0x0000,
-
-/* Character (0x7c):
- bbw=5, bbh=8, bbx=0, bby=-1, width=5
- +----------------+
- | |
- | * |
- | * |
- | * |
- | * |
- | * |
- | * |
- | |
- +----------------+ */
-0x0000,
-0x2000,
-0x2000,
-0x2000,
-0x2000,
-0x2000,
-0x2000,
-0x0000,
-
-/* Character (0x7d):
- bbw=5, bbh=8, bbx=0, bby=-1, width=5
- +----------------+
- | ** |
- | * |
- | * |
- | ** |
- | * |
- | * |
- | ** |
- | |
- +----------------+ */
-0x6000,
-0x1000,
-0x2000,
-0x1800,
-0x2000,
-0x1000,
-0x6000,
-0x0000,
-
-/* Character (0x7e):
- bbw=5, bbh=8, bbx=0, bby=-1, width=5
- +----------------+
- | |
- | * * |
- | * * |
- | |
- | |
- | |
- | |
- | |
- +----------------+ */
-0x0000,
-0x2800,
-0x5000,
-0x0000,
-0x0000,
-0x0000,
-0x0000,
-0x0000,
-
-/* Character (0x7f):
- bbw=5, bbh=8, bbx=0, bby=-1, width=5
- +----------------+
- | |
- | |
- | |
- | |
- | |
- | |
- | |
- | |
- +----------------+ */
-0x0000,
-0x0000,
-0x0000,
-0x0000,
-0x0000,
-0x0000,
-0x0000,
-0x0000,
-};
-
-/* Character->glyph mapping. */
-static unsigned long X5x8_offset[] = {
- 0, /* (0x00) */
- 8, /* (0x01) */
- 16, /* (0x02) */
- 24, /* (0x03) */
- 32, /* (0x04) */
- 40, /* (0x05) */
- 48, /* (0x06) */
- 56, /* (0x07) */
- 64, /* (0x08) */
- 72, /* (0x09) */
- 80, /* (0x0a) */
- 88, /* (0x0b) */
- 96, /* (0x0c) */
- 104, /* (0x0d) */
- 112, /* (0x0e) */
- 120, /* (0x0f) */
- 128, /* (0x10) */
- 136, /* (0x11) */
- 144, /* (0x12) */
- 152, /* (0x13) */
- 160, /* (0x14) */
- 168, /* (0x15) */
- 176, /* (0x16) */
- 184, /* (0x17) */
- 192, /* (0x18) */
- 200, /* (0x19) */
- 208, /* (0x1a) */
- 216, /* (0x1b) */
- 224, /* (0x1c) */
- 232, /* (0x1d) */
- 240, /* (0x1e) */
- 248, /* (0x1f) */
- 256, /* (0x20) */
- 264, /* (0x21) */
- 272, /* (0x22) */
- 280, /* (0x23) */
- 288, /* (0x24) */
- 296, /* (0x25) */
- 304, /* (0x26) */
- 312, /* (0x27) */
- 320, /* (0x28) */
- 328, /* (0x29) */
- 336, /* (0x2a) */
- 344, /* (0x2b) */
- 352, /* (0x2c) */
- 360, /* (0x2d) */
- 368, /* (0x2e) */
- 376, /* (0x2f) */
- 384, /* (0x30) */
- 392, /* (0x31) */
- 400, /* (0x32) */
- 408, /* (0x33) */
- 416, /* (0x34) */
- 424, /* (0x35) */
- 432, /* (0x36) */
- 440, /* (0x37) */
- 448, /* (0x38) */
- 456, /* (0x39) */
- 464, /* (0x3a) */
- 472, /* (0x3b) */
- 480, /* (0x3c) */
- 488, /* (0x3d) */
- 496, /* (0x3e) */
- 504, /* (0x3f) */
- 512, /* (0x40) */
- 520, /* (0x41) */
- 528, /* (0x42) */
- 536, /* (0x43) */
- 544, /* (0x44) */
- 552, /* (0x45) */
- 560, /* (0x46) */
- 568, /* (0x47) */
- 576, /* (0x48) */
- 584, /* (0x49) */
- 592, /* (0x4a) */
- 600, /* (0x4b) */
- 608, /* (0x4c) */
- 616, /* (0x4d) */
- 624, /* (0x4e) */
- 632, /* (0x4f) */
- 640, /* (0x50) */
- 648, /* (0x51) */
- 656, /* (0x52) */
- 664, /* (0x53) */
- 672, /* (0x54) */
- 680, /* (0x55) */
- 688, /* (0x56) */
- 696, /* (0x57) */
- 704, /* (0x58) */
- 712, /* (0x59) */
- 720, /* (0x5a) */
- 728, /* (0x5b) */
- 736, /* (0x5c) */
- 744, /* (0x5d) */
- 752, /* (0x5e) */
- 760, /* (0x5f) */
- 768, /* (0x60) */
- 776, /* (0x61) */
- 784, /* (0x62) */
- 792, /* (0x63) */
- 800, /* (0x64) */
- 808, /* (0x65) */
- 816, /* (0x66) */
- 824, /* (0x67) */
- 832, /* (0x68) */
- 840, /* (0x69) */
- 848, /* (0x6a) */
- 856, /* (0x6b) */
- 864, /* (0x6c) */
- 872, /* (0x6d) */
- 880, /* (0x6e) */
- 888, /* (0x6f) */
- 896, /* (0x70) */
- 904, /* (0x71) */
- 912, /* (0x72) */
- 920, /* (0x73) */
- 928, /* (0x74) */
- 936, /* (0x75) */
- 944, /* (0x76) */
- 952, /* (0x77) */
- 960, /* (0x78) */
- 968, /* (0x79) */
- 976, /* (0x7a) */
- 984, /* (0x7b) */
- 992, /* (0x7c) */
- 1000, /* (0x7d) */
- 1008, /* (0x7e) */
- 1016, /* (0x7f) */
-};
-
-/* Exported structure definition. */
-MWCFONT font_X5x8 = {
- "X5x8",
- 5,
- 8,
- 7,
- 0,
- 128,
- X5x8_bits,
- X5x8_offset,
- 0, /* fixed width*/
- 0,
- sizeof(X5x8_bits)/sizeof(MWIMAGEBITS),
-};
-#endif /* HAVE_LCD_BITMAP */
-
diff --git a/firmware/drivers/lcd.c b/firmware/drivers/lcd.c
index 8abc638175..2293191139 100644
--- a/firmware/drivers/lcd.c
+++ b/firmware/drivers/lcd.c
@@ -547,7 +547,6 @@ void lcd_set_contrast(int val)
*/
unsigned char lcd_framebuffer[LCD_WIDTH][LCD_HEIGHT/8];
-static int font=0;
static int xmargin=0;
static int ymargin=0;
@@ -661,11 +660,6 @@ void lcd_clear_display (void)
#endif
}
-void lcd_setfont(int newfont)
-{
- font = newfont;
-}
-
void lcd_setmargins(int x, int y)
{
xmargin = x;
@@ -682,10 +676,11 @@ int lcd_getymargin(void)
return ymargin;
}
+static int curfont = FONT_SYSFIXED;
+
/*
* Put a string at specified character position
*/
-//FIXME require font parameter
void lcd_puts(int x, int y, unsigned char *str)
{
int xpos,ypos,w,h;
@@ -707,10 +702,10 @@ void lcd_puts(int x, int y, unsigned char *str)
if(!str || !str[0])
return;
- lcd_getstringsize(str, font, &w, &h);
- xpos = xmargin + x*w / strlen(str); //FIXME why strlen?
+ lcd_getstringsize(str, curfont, &w, &h);
+ xpos = xmargin + x*w / strlen(str);
ypos = ymargin + y*h;
- lcd_putsxy( xpos, ypos, str, font);
+ lcd_putsxy( xpos, ypos, str, curfont);
lcd_clearrect(xpos + w, ypos, LCD_WIDTH - (xpos + w), h);
#if defined(SIMULATOR) && defined(HAVE_LCD_CHARCELLS)
/* this function is being used when simulating a charcell LCD and
@@ -719,6 +714,80 @@ void lcd_puts(int x, int y, unsigned char *str)
#endif
}
+/* set current font*/
+void lcd_setfont(int newfont)
+{
+ curfont = newfont;
+}
+
+/*
+ * Return width and height of a given font.
+ */
+void lcd_getfontsize(int font, int *width, int *height)
+{
+ struct font* pf = font_get(font);
+
+ *width = pf->maxwidth;
+ *height = pf->height;
+}
+
+
+/*
+ * Return width and height of a given font.
+ */
+int lcd_getstringsize(unsigned char *str, int font, int *w, int *h)
+{
+ struct font* pf = font_get(font);
+ int ch;
+ int width = 0;
+
+ while((ch = *str++)) {
+ /* check input range*/
+ if (ch < pf->firstchar || ch >= pf->firstchar+pf->size)
+ ch = pf->defaultchar;
+ ch -= pf->firstchar;
+
+ /* get proportional width and glyph bits*/
+ width += pf->width? pf->width[ch]: pf->maxwidth;
+ }
+ *w = width;
+ *h = pf->height;
+
+ return width;
+}
+
+/*
+ * Put a string at specified bit position
+ */
+void lcd_putsxy(int x, int y, unsigned char *str, int font)
+{
+ int ch;
+ struct font* pf = font_get(font);
+
+ while (((ch = *str++) != '\0')) {
+ bitmap_t *bits;
+ int width;
+
+ /* check input range*/
+ if (ch < pf->firstchar || ch >= pf->firstchar+pf->size)
+ ch = pf->defaultchar;
+ ch -= pf->firstchar;
+
+ /* get proportional width and glyph bits*/
+ width = pf->width ? pf->width[ch] : pf->maxwidth;
+ if (x + width > LCD_WIDTH)
+ break;
+
+ /* no partial-height drawing for now...*/
+ if (y + pf->height > LCD_HEIGHT)
+ break;
+ bits = pf->bits + (pf->offset ? pf->offset[ch] : (pf->height * ch));
+
+ lcd_bitmap((unsigned char *)bits, x, y, width, pf->height, true);
+ x += width;
+ }
+}
+
/*
* Display a bitmap at (x, y), size (nx, ny)
* clear is true to clear destination area first
@@ -1038,14 +1107,14 @@ void lcd_puts_scroll(int x, int y, unsigned char* string )
unsigned char ch[2];
int w, h;
int width, height;
- lcd_getfontsize(font, &width, &height);
+ lcd_getfontsize(curfont, &width, &height);
ch[1] = 0; /* zero terminate */
ch[0] = string[0];
width = 0;
s->space = 0;
while ( ch[0] &&
- (width + lcd_getstringsize(ch, 0, &w, &h) <
+ (width + lcd_getstringsize(ch, curfont, &w, &h) <
(LCD_WIDTH - x*8))) {
width += w;
s->space++;
@@ -1058,7 +1127,7 @@ void lcd_puts_scroll(int x, int y, unsigned char* string )
#ifdef HAVE_LCD_BITMAP
s->space += 2;
- lcd_getstringsize(string,0,&w,&h);
+ lcd_getstringsize(string,curfont,&w,&h);
if ( w > LCD_WIDTH - xmargin ) {
#else
if ( s->textlen > s->space ) {
diff --git a/firmware/drivers/lcd.h b/firmware/drivers/lcd.h
index 8c89d4c057..388f31c1cf 100644
--- a/firmware/drivers/lcd.h
+++ b/firmware/drivers/lcd.h
@@ -99,9 +99,6 @@ extern void lcd_double_height (bool on);
*/
extern unsigned char lcd_framebuffer[LCD_WIDTH][LCD_HEIGHT/8];
-extern void lcd_putsxy(int x, int y, unsigned char *string, int font);
-extern void lcd_setfont(int font);
-extern void lcd_getfontsize(int font, int *width, int *height);
extern void lcd_setmargins(int xmargin, int ymargin);
extern int lcd_getxmargin(void);
extern int lcd_getymargin(void);
@@ -118,6 +115,10 @@ extern void lcd_clearpixel(int x, int y);
extern void lcd_invertpixel(int x, int y);
extern void lcd_roll(int pixels);
+extern void lcd_setfont(int font);
+extern void lcd_getfontsize(int font, int *width, int *height);
+extern void lcd_putsxy(int x, int y, unsigned char *string, int font);
+
#endif /* CHARCELLS / BITMAP */
extern int lcd_getstringsize(unsigned char *str, int font, int *w, int *h);
diff --git a/firmware/font.c b/firmware/font.c
index e9c70cd64e..72c7085b7a 100644
--- a/firmware/font.c
+++ b/firmware/font.c
@@ -30,165 +30,257 @@
#include <string.h>
#include "lcd.h"
#include "font.h"
+#include "file.h"
#include "debug.h"
#include "panic.h"
-/* available compiled-in fonts*/
-extern MWCFONT font_X5x8;
-/*extern MWCFONT font_X6x9; */
-/*extern MWCFONT font_courB08; */
-/*extern MWCFONT font_timR08; */
+#ifndef O_BINARY
+#define O_BINARY 0
+#endif
+
+/* compiled-in font */
+extern struct font sysfont;
-/* structure filled in by rbf_load_font*/
-static MWCFONT font_UI;
+/* structure filled in by font_load */
+static struct font font_ui;
-/* system font table, in order of FONT_xxx definition*/
-struct corefont sysfonts[MAXFONTS] = {
- { &font_X5x8, NULL }, /* compiled-in FONT_SYSFIXED*/
- { &font_UI, "/system.fnt" }, /* loaded FONT_UI*/
- { NULL, NULL }, /* no FONT_MP3*/
-};
+/* system font table, in order of FONT_xxx definition */
+static struct font* sysfonts[MAXFONTS] = { &sysfont, &font_ui };
-static void rotate_font_bits(PMWCFONT pf);
-static void rotleft(unsigned char *dst, MWIMAGEBITS *src, unsigned int width,
- unsigned int height);
+/* static buffer allocation structures */
+static unsigned char mbuf[MAX_FONT_SIZE];
+static unsigned char *freeptr = mbuf;
+static unsigned char *fileptr;
+static unsigned char *eofptr;
-void
-font_init(void)
+static void rotate_font_bits(struct font* pf);
+static void rotleft(unsigned char *dst,
+ bitmap_t *src,
+ unsigned int width,
+ unsigned int height);
+
+void font_init(void)
{
- struct corefont *cfp;
-
- for (cfp=sysfonts; cfp < &sysfonts[MAXFONTS]; ++cfp) {
- if (cfp->pf && cfp->diskname) {
- cfp->pf = rbf_load_font(cfp->diskname, cfp->pf);
-#if defined(DEBUG) || defined(SIMULATOR)
- if (!cfp->pf)
- DEBUGF("Font load failed: %s\n", cfp->diskname);
-#endif
- }
+ rotate_font_bits(&sysfont);
+ memset(&font_ui, 0, sizeof(struct font));
+}
- /* one-time rotate font bits to rockbox format*/
- if (cfp->pf && cfp->pf->height)
- rotate_font_bits(cfp->pf);
- }
+static int readshort(unsigned short *sp)
+{
+ unsigned short s;
+
+ s = *fileptr++ & 0xff;
+ *sp = (*fileptr++ << 8) | s;
+ return (fileptr <= eofptr);
}
-/*
- * Return a pointer to an incore font structure.
- * If the requested font isn't loaded/compiled-in,
- * decrement the font number and try again.
- */
-PMWCFONT
-getfont(int font)
+static int readlong(unsigned long *lp)
{
- PMWCFONT pf;
+ unsigned long l;
- if (font >= MAXFONTS)
- font = 0;
- while (1) {
- pf = sysfonts[font].pf;
- if (pf && pf->height)
- return pf;
- if (--font < 0)
- panicf("No font!");
- }
+ l = *fileptr++ & 0xff;
+ l |= *fileptr++ << 8;
+ l |= *fileptr++ << 16;
+ *lp = (*fileptr++ << 24) | l;
+ return (fileptr <= eofptr);
}
-/*
- * Return width and height of a given font.
- */
-void lcd_getfontsize(int font, int *width, int *height)
+/* read count bytes*/
+static int readstr(char *buf, int count)
{
- PMWCFONT pf = getfont(font);
+ int n = count;
- *width = pf->maxwidth;
- *height = pf->height;
+ while (--n >= 0)
+ *buf++ = *fileptr++;
+ return (fileptr <= eofptr)? count: 0;
}
-/*
- * Return width and height of a given font.
- */
-//FIXME rename to font_gettextsize, add baseline
-int
-lcd_getstringsize(unsigned char *str, int font, int *w, int *h)
+/* read totlen bytes, return NUL terminated string*/
+/* may write 1 past buf[totlen]; removes blank pad*/
+static int readstrpad(char *buf, int totlen)
{
- PMWCFONT pf = getfont(font);
- int ch;
- int width = 0;
-
- while((ch = *str++)) {
- /* check input range*/
- if (ch < pf->firstchar || ch >= pf->firstchar+pf->size)
- ch = pf->defaultchar;
- ch -= pf->firstchar;
-
- /* get proportional width and glyph bits*/
- width += pf->width? pf->width[ch]: pf->maxwidth;
+ char *p = buf;
+ int n = totlen;
+
+ while (--n >= 0)
+ *p++ = *fileptr++;
+ if (fileptr > eofptr)
+ return 0;
+
+ p = &buf[totlen];
+ *p-- = 0;
+ while (*p == ' ' && p >= buf)
+ *p-- = '\0';
+ return totlen;
+}
+
+/* read and load font into incore font structure*/
+struct font* font_load(char *path)
+{
+ int fd, filesize;
+ unsigned short maxwidth, height, ascent, pad;
+ unsigned long firstchar, defaultchar, size;
+ unsigned long i, nbits, noffset, nwidth;
+ char version[4+1];
+ char copyright[256+1];
+ struct font* pf = &font_ui;
+
+ memset(pf, 0, sizeof(struct font));
+
+ /* open and read entire font file*/
+ fd = open(path, O_RDONLY|O_BINARY);
+ if (fd < 0) {
+ DEBUGF("Can't open font: %s\n", path);
+ return NULL;
+ }
+
+ /* currently, font loading replaces earlier font allocation*/
+ freeptr = (unsigned char *)(((int)mbuf + 3) & ~3);
+
+ fileptr = freeptr;
+ filesize = read(fd, fileptr, MAX_FONT_SIZE);
+ eofptr = fileptr + filesize;
+
+ /* no need for multiple font loads currently*/
+ /*freeptr += filesize;*/
+ /*freeptr = (unsigned char *)(freeptr + 3) & ~3;*/ /* pad freeptr*/
+
+ close(fd);
+ if (filesize == MAX_FONT_SIZE) {
+ DEBUGF("Font %s too large: %d\n", path, filesize);
+ return NULL;
}
- *w = width;
- *h = pf->height;
- return width;
+ /* read magic and version #*/
+ memset(version, 0, sizeof(version));
+ if (readstr(version, 4) != 4)
+ return NULL;
+ if (strcmp(version, VERSION) != 0)
+ return NULL;
+
+ /* internal font name*/
+ pf->name = fileptr;
+ if (readstrpad(pf->name, 64) != 64)
+ return NULL;
+
+ /* copyright, not currently stored*/
+ if (readstrpad(copyright, 256) != 256)
+ return NULL;
+
+ /* font info*/
+ if (!readshort(&maxwidth))
+ return NULL;
+ pf->maxwidth = maxwidth;
+ if (!readshort(&height))
+ return NULL;
+ pf->height = height;
+ if (!readshort(&ascent))
+ return NULL;
+ pf->ascent = ascent;
+ if (!readshort(&pad))
+ return NULL;
+ if (!readlong(&firstchar))
+ return NULL;
+ pf->firstchar = firstchar;
+ if (!readlong(&defaultchar))
+ return NULL;
+ pf->defaultchar = defaultchar;
+ if (!readlong(&size))
+ return NULL;
+ pf->size = size;
+
+ /* get variable font data sizes*/
+ /* # words of bitmap_t*/
+ if (!readlong(&nbits))
+ return NULL;
+ pf->bits_size = nbits;
+
+ /* # longs of offset*/
+ if (!readlong(&noffset))
+ return NULL;
+
+ /* # bytes of width*/
+ if (!readlong(&nwidth))
+ return NULL;
+
+ /* variable font data*/
+ pf->bits = (bitmap_t *)fileptr;
+ for (i=0; i<nbits; ++i)
+ if (!readshort(&pf->bits[i]))
+ return NULL;
+ /* pad to longword boundary*/
+ fileptr = (unsigned char *)(((int)fileptr + 3) & ~3);
+
+ if (noffset) {
+ pf->offset = (unsigned long *)fileptr;
+ for (i=0; i<noffset; ++i)
+ if (!readlong(&pf->offset[i]))
+ return NULL;
+ }
+ else
+ pf->offset = NULL;
+
+ if (nwidth) {
+ pf->width = (unsigned char *)fileptr;
+ fileptr += nwidth*sizeof(unsigned char);
+ }
+ else
+ pf->width = NULL;
+
+ if (fileptr > eofptr)
+ return NULL;
+
+ /* one-time rotate font bits to rockbox format*/
+ rotate_font_bits(pf);
+
+ return pf; /* success!*/
}
/*
- * Put a string at specified bit position
+ * Return a pointer to an incore font structure.
+ * If the requested font isn't loaded/compiled-in,
+ * decrement the font number and try again.
*/
-//FIXME rename font_putsxy?
-void
-lcd_putsxy(int x, int y, unsigned char *str, int font)
+struct font* font_get(int font)
{
- int ch;
- PMWCFONT pf = getfont(font);
-
- while (((ch = *str++) != '\0')) {
- MWIMAGEBITS *bits;
- int width;
-
- /* check input range*/
- if (ch < pf->firstchar || ch >= pf->firstchar+pf->size)
- ch = pf->defaultchar;
- ch -= pf->firstchar;
-
- /* get proportional width and glyph bits*/
- width = pf->width? pf->width[ch]: pf->maxwidth;
- if (x + width > LCD_WIDTH)
- break;
-
- /* no partial-height drawing for now...*/
- if (y + pf->height > LCD_HEIGHT)
- break;
- bits = pf->bits + (pf->offset? pf->offset[ch]: (pf->height * ch));
-
- lcd_bitmap((unsigned char *)bits, x, y, width, pf->height, true);
- x += width;
+ struct font* pf;
+
+ if (font >= MAXFONTS)
+ font = 0;
+
+ while (1) {
+ pf = sysfonts[font];
+ if (pf && pf->height)
+ return pf;
+ if (--font < 0)
+ panicf("No font!");
}
}
/* convert font bitmap data inplace to rockbox format*/
-static void
-rotate_font_bits(PMWCFONT pf)
+static void rotate_font_bits(struct font* pf)
{
int i;
- int defaultchar = pf->defaultchar - pf->firstchar;
- int did_defaultchar = 0;
+ unsigned long defaultchar = pf->defaultchar - pf->firstchar;
+ bool did_defaultchar = false;
unsigned char buf[256];
for (i=0; i<pf->size; ++i) {
- MWIMAGEBITS *bits = pf->bits +
- (pf->offset? pf->offset[i]: (pf->height * i));
+ bitmap_t *bits = pf->bits +
+ (pf->offset ? pf->offset[i] : (pf->height * i));
int width = pf->width? pf->width[i]: pf->maxwidth;
- int src_bytes = MWIMAGE_BYTES(width) * pf->height;
+ int src_bytes = BITMAP_BYTES(width) * pf->height;
/*
* Due to the way the offset map works,
* non-mapped characters are mapped to the default
* character, and shouldn't be rotated twice.
*/
- if (i == defaultchar) {
+
+ if (pf->offset && pf->offset[i] == defaultchar) {
if (did_defaultchar)
continue;
- did_defaultchar = 1;
+ did_defaultchar = true;
}
/* rotate left for lcd_bitmap function input*/
@@ -200,16 +292,15 @@ rotate_font_bits(PMWCFONT pf)
}
/*
- * Take an MWIMAGEBITS bitmap and convert to Rockbox format.
+ * Take an bitmap_t bitmap and convert to Rockbox format.
* Used for converting font glyphs for the time being.
* Can use for standard X11 and Win32 images as well.
*
* Doing it this way keeps fonts in standard formats,
* as well as keeping Rockbox hw bitmap format.
*/
-static void
-rotleft(unsigned char *dst, MWIMAGEBITS *src, unsigned int width,
- unsigned int height)
+static void rotleft(unsigned char *dst, bitmap_t *src, unsigned int width,
+ unsigned int height)
{
unsigned int i,j;
unsigned int dst_col = 0; /* destination column*/
@@ -221,17 +312,17 @@ rotleft(unsigned char *dst, MWIMAGEBITS *src, unsigned int width,
dst_linelen = (height-1)/8+1;
/* calc words of input image*/
- src_words = MWIMAGE_WORDS(width) * height;
+ src_words = BITMAP_WORDS(width) * height;
/* clear background*/
memset(dst, 0, dst_linelen*width);
for (i=0; i < src_words; i++) {
- MWIMAGEBITS srcmap; /* current src input bit*/
- MWIMAGEBITS dstmap; /* current dst output bit*/
+ bitmap_t srcmap; /* current src input bit*/
+ bitmap_t dstmap; /* current dst output bit*/
/* calc src input bit*/
- srcmap = 1 << (sizeof(MWIMAGEBITS)*8-1);
+ srcmap = 1 << (sizeof(bitmap_t)*8-1);
/* calc dst output bit*/
if (i>0 && (i%8==0)) {
@@ -244,9 +335,9 @@ rotleft(unsigned char *dst, MWIMAGEBITS *src, unsigned int width,
for(j=0; j < width; j++) {
/* calc input bitmask*/
- MWIMAGEBITS bit = srcmap >> j;
+ bitmap_t bit = srcmap >> j;
if (bit==0) {
- srcmap = 1 << (sizeof(MWIMAGEBITS)*8-1);
+ srcmap = 1 << (sizeof(bitmap_t)*8-1);
bit = srcmap >> (j % 16);
}
diff --git a/firmware/font.h b/firmware/font.h
index 645848ee18..44b975bb78 100644
--- a/firmware/font.h
+++ b/firmware/font.h
@@ -38,13 +38,14 @@
* must be available at system startup.
* Fonts are specified in firmware/font.c.
*/
-#define FONT_SYSFIXED 0 /* system fixed pitch font*/
-#define FONT_UI 1 /* system porportional font*/
-#define FONT_MP3 2 /* font used for mp3 info*/
-#define MAXFONTS 3 /* max # fonts*/
+enum {
+ FONT_SYSFIXED, /* system fixed pitch font*/
+ FONT_UI, /* system porportional font*/
+ MAXFONTS
+};
/*
- * .fnt (.rbf) loadable font file format definition
+ * .fnt loadable font file format definition
*
* format len description
* ------------------------- ---- ------------------------------
@@ -70,54 +71,42 @@
/* loadable font magic and version #*/
#define VERSION "RB11"
-/* MWIMAGEBITS helper macros*/
-#define MWIMAGE_WORDS(x) (((x)+15)/16) /* image size in words*/
-#define MWIMAGE_BYTES(x) (MWIMAGE_WORDS(x)*sizeof(MWIMAGEBITS))
-#define MWIMAGE_BITSPERIMAGE (sizeof(MWIMAGEBITS) * 8)
-#define MWIMAGE_BITVALUE(n) ((MWIMAGEBITS) (((MWIMAGEBITS) 1) << (n)))
-#define MWIMAGE_FIRSTBIT (MWIMAGE_BITVALUE(MWIMAGE_BITSPERIMAGE - 1))
-#define MWIMAGE_TESTBIT(m) ((m) & MWIMAGE_FIRSTBIT)
-#define MWIMAGE_SHIFTBIT(m) ((MWIMAGEBITS) ((m) << 1))
+typedef unsigned short bitmap_t; /* bitmap image unit size*/
-typedef unsigned short MWIMAGEBITS; /* bitmap image unit size*/
+/* bitmap_t helper macros*/
+#define BITMAP_WORDS(x) (((x)+15)/16) /* image size in words*/
+#define BITMAP_BYTES(x) (BITMAP_WORDS(x)*sizeof(bitmap_t))
+#define BITMAP_BITSPERIMAGE (sizeof(bitmap_t) * 8)
+#define BITMAP_BITVALUE(n) ((bitmap_t) (((bitmap_t) 1) << (n)))
+#define BITMAP_FIRSTBIT (BITMAP_BITVALUE(BITMAP_BITSPERIMAGE - 1))
+#define BITMAP_TESTBIT(m) ((m) & BITMAP_FIRSTBIT)
+#define BITMAP_SHIFTBIT(m) ((bitmap_t) ((m) << 1))
/* builtin C-based proportional/fixed font structure */
/* based on The Microwindows Project http://microwindows.org */
-typedef struct {
+struct font {
char * name; /* font name*/
int maxwidth; /* max width in pixels*/
unsigned int height; /* height in pixels*/
int ascent; /* ascent (baseline) height*/
int firstchar; /* first character in bitmap*/
int size; /* font size in glyphs*/
- MWIMAGEBITS *bits; /* 16-bit right-padded bitmap data*/
+ bitmap_t *bits; /* 16-bit right-padded bitmap data*/
unsigned long *offset; /* offsets into bitmap data*/
unsigned char *width; /* character widths or NULL if fixed*/
int defaultchar; /* default char (not glyph index)*/
- long bits_size; /* # words of MWIMAGEBITS bits*/
-#if 0
- char * facename; /* facename of font*/
- char * copyright; /* copyright info for loadable fonts*/
-#endif
-} MWCFONT, *PMWCFONT;
-
-/* structure for rockbox startup font selection*/
-struct corefont {
- PMWCFONT pf; /* compiled-in or loaded font*/
- char *diskname; /* diskname if not compiled-in*/
+ long bits_size; /* # words of bitmap_t bits*/
};
-extern struct corefont sysfonts[MAXFONTS];
-
/* font routines*/
-PMWCFONT getfont(int font);
-PMWCFONT rbf_load_font(char *path, PMWCFONT pf);
-
void font_init(void);
+struct font* font_load(char *path);
+struct font* font_get(int font);
#else /* HAVE_LCD_BITMAP */
#define font_init()
+#define font_load(x)
#endif
diff --git a/firmware/fonts/clR6x8.bdf b/firmware/fonts/clR6x8.bdf
new file mode 100644
index 0000000000..7216efa806
--- /dev/null
+++ b/firmware/fonts/clR6x8.bdf
@@ -0,0 +1,2895 @@
+STARTFONT 2.1
+COMMENT $XConsortium: clR6x8.bdf,v 1.2 94/04/11 12:08:36 gildea Exp $
+COMMENT
+COMMENT Copyright 1989 Dale Schumacher, dal@syntel.mn.org
+COMMENT 399 Beacon Ave.
+COMMENT St. Paul, MN 55104-3527
+COMMENT
+COMMENT Permission to use, copy, modify, and distribute this software and
+COMMENT its documentation for any purpose and without fee is hereby
+COMMENT granted, provided that the above copyright notice appear in all
+COMMENT copies and that both that copyright notice and this permission
+COMMENT notice appear in supporting documentation, and that the name of
+COMMENT Dale Schumacher not be used in advertising or publicity pertaining to
+COMMENT distribution of the software without specific, written prior
+COMMENT permission. Dale Schumacher makes no representations about the
+COMMENT suitability of this software for any purpose. It is provided "as
+COMMENT is" without express or implied warranty.
+COMMENT
+FONT -Schumacher-Clean-Medium-R-Normal--8-80-75-75-C-60-ISO646.1991-IRV
+SIZE 8 75 75
+FONTBOUNDINGBOX 6 8 0 -1
+STARTPROPERTIES 20
+FONTNAME_REGISTRY ""
+FOUNDRY "Schumacher"
+FAMILY_NAME "Clean"
+WEIGHT_NAME "Medium"
+SLANT "R"
+SETWIDTH_NAME "Normal"
+ADD_STYLE_NAME ""
+PIXEL_SIZE 8
+POINT_SIZE 80
+RESOLUTION_X 75
+RESOLUTION_Y 75
+SPACING "C"
+AVERAGE_WIDTH 60
+CHARSET_REGISTRY "ISO646.1991"
+CHARSET_ENCODING "IRV"
+FONT_ASCENT 7
+FONT_DESCENT 1
+DEFAULT_CHAR 0
+COPYRIGHT "Copyright 1989 Dale Schumacher."
+_XMBDFED_INFO "Edited with xmbdfed 4.5."
+ENDPROPERTIES
+CHARS 190
+STARTCHAR space
+ENCODING 32
+SWIDTH 720 0
+DWIDTH 6 0
+BBX 6 8 0 -1
+BITMAP
+00
+00
+00
+00
+00
+00
+00
+00
+ENDCHAR
+STARTCHAR exclamation mark
+ENCODING 33
+SWIDTH 720 0
+DWIDTH 6 0
+BBX 6 8 0 -1
+BITMAP
+10
+10
+10
+10
+10
+00
+10
+00
+ENDCHAR
+STARTCHAR double quote
+ENCODING 34
+SWIDTH 720 0
+DWIDTH 6 0
+BBX 6 8 0 -1
+BITMAP
+28
+28
+00
+00
+00
+00
+00
+00
+ENDCHAR
+STARTCHAR hash
+ENCODING 35
+SWIDTH 720 0
+DWIDTH 6 0
+BBX 6 8 0 -1
+BITMAP
+00
+28
+7C
+28
+7C
+28
+00
+00
+ENDCHAR
+STARTCHAR dollar sign
+ENCODING 36
+SWIDTH 720 0
+DWIDTH 6 0
+BBX 6 8 0 -1
+BITMAP
+10
+3C
+50
+38
+14
+78
+10
+00
+ENDCHAR
+STARTCHAR percent sign
+ENCODING 37
+SWIDTH 720 0
+DWIDTH 6 0
+BBX 6 8 0 -1
+BITMAP
+60
+64
+08
+10
+20
+4C
+0C
+00
+ENDCHAR
+STARTCHAR ampersand
+ENCODING 38
+SWIDTH 720 0
+DWIDTH 6 0
+BBX 6 8 0 -1
+BITMAP
+30
+48
+48
+30
+54
+48
+34
+00
+ENDCHAR
+STARTCHAR apostrophe
+ENCODING 39
+SWIDTH 720 0
+DWIDTH 6 0
+BBX 6 8 0 -1
+BITMAP
+10
+20
+00
+00
+00
+00
+00
+00
+ENDCHAR
+STARTCHAR open bracket
+ENCODING 40
+SWIDTH 720 0
+DWIDTH 6 0
+BBX 6 8 0 -1
+BITMAP
+04
+08
+10
+10
+10
+08
+04
+00
+ENDCHAR
+STARTCHAR close bracket
+ENCODING 41
+SWIDTH 720 0
+DWIDTH 6 0
+BBX 6 8 0 -1
+BITMAP
+40
+20
+10
+10
+10
+20
+40
+00
+ENDCHAR
+STARTCHAR asterisk
+ENCODING 42
+SWIDTH 720 0
+DWIDTH 6 0
+BBX 6 8 0 -1
+BITMAP
+00
+10
+54
+38
+54
+10
+00
+00
+ENDCHAR
+STARTCHAR plus sign
+ENCODING 43
+SWIDTH 720 0
+DWIDTH 6 0
+BBX 6 8 0 -1
+BITMAP
+00
+10
+10
+7C
+10
+10
+00
+00
+ENDCHAR
+STARTCHAR comma
+ENCODING 44
+SWIDTH 720 0
+DWIDTH 6 0
+BBX 6 8 0 -1
+BITMAP
+00
+00
+00
+00
+00
+10
+10
+20
+ENDCHAR
+STARTCHAR minus sign
+ENCODING 45
+SWIDTH 720 0
+DWIDTH 6 0
+BBX 6 8 0 -1
+BITMAP
+00
+00
+00
+7C
+00
+00
+00
+00
+ENDCHAR
+STARTCHAR full stop
+ENCODING 46
+SWIDTH 720 0
+DWIDTH 6 0
+BBX 6 8 0 -1
+BITMAP
+00
+00
+00
+00
+00
+10
+10
+00
+ENDCHAR
+STARTCHAR slash
+ENCODING 47
+SWIDTH 720 0
+DWIDTH 6 0
+BBX 6 8 0 -1
+BITMAP
+04
+04
+08
+08
+10
+10
+20
+20
+ENDCHAR
+STARTCHAR digit zero
+ENCODING 48
+SWIDTH 720 0
+DWIDTH 6 0
+BBX 6 8 0 -1
+BITMAP
+38
+44
+4C
+54
+64
+44
+38
+00
+ENDCHAR
+STARTCHAR digit one
+ENCODING 49
+SWIDTH 720 0
+DWIDTH 6 0
+BBX 6 8 0 -1
+BITMAP
+10
+30
+10
+10
+10
+10
+10
+00
+ENDCHAR
+STARTCHAR digit two
+ENCODING 50
+SWIDTH 720 0
+DWIDTH 6 0
+BBX 6 8 0 -1
+BITMAP
+38
+44
+04
+08
+10
+20
+7C
+00
+ENDCHAR
+STARTCHAR digit three
+ENCODING 51
+SWIDTH 720 0
+DWIDTH 6 0
+BBX 6 8 0 -1
+BITMAP
+38
+44
+04
+18
+04
+44
+38
+00
+ENDCHAR
+STARTCHAR digit four
+ENCODING 52
+SWIDTH 720 0
+DWIDTH 6 0
+BBX 6 8 0 -1
+BITMAP
+08
+18
+28
+48
+7C
+08
+08
+00
+ENDCHAR
+STARTCHAR digit five
+ENCODING 53
+SWIDTH 720 0
+DWIDTH 6 0
+BBX 6 8 0 -1
+BITMAP
+7C
+40
+78
+04
+04
+44
+38
+00
+ENDCHAR
+STARTCHAR digit six
+ENCODING 54
+SWIDTH 720 0
+DWIDTH 6 0
+BBX 6 8 0 -1
+BITMAP
+18
+20
+40
+78
+44
+44
+38
+00
+ENDCHAR
+STARTCHAR digit seven
+ENCODING 55
+SWIDTH 720 0
+DWIDTH 6 0
+BBX 6 8 0 -1
+BITMAP
+7C
+44
+04
+08
+08
+10
+10
+00
+ENDCHAR
+STARTCHAR digit eight
+ENCODING 56
+SWIDTH 720 0
+DWIDTH 6 0
+BBX 6 8 0 -1
+BITMAP
+38
+44
+44
+38
+44
+44
+38
+00
+ENDCHAR
+STARTCHAR digit nine
+ENCODING 57
+SWIDTH 720 0
+DWIDTH 6 0
+BBX 6 8 0 -1
+BITMAP
+38
+44
+44
+3C
+04
+08
+30
+00
+ENDCHAR
+STARTCHAR colon
+ENCODING 58
+SWIDTH 720 0
+DWIDTH 6 0
+BBX 6 8 0 -1
+BITMAP
+00
+10
+10
+00
+00
+10
+10
+00
+ENDCHAR
+STARTCHAR semicolon
+ENCODING 59
+SWIDTH 720 0
+DWIDTH 6 0
+BBX 6 8 0 -1
+BITMAP
+00
+10
+10
+00
+00
+10
+10
+20
+ENDCHAR
+STARTCHAR less-than sign
+ENCODING 60
+SWIDTH 720 0
+DWIDTH 6 0
+BBX 6 8 0 -1
+BITMAP
+00
+0C
+30
+C0
+30
+0C
+00
+00
+ENDCHAR
+STARTCHAR equal sign
+ENCODING 61
+SWIDTH 720 0
+DWIDTH 6 0
+BBX 6 8 0 -1
+BITMAP
+00
+00
+7C
+00
+7C
+00
+00
+00
+ENDCHAR
+STARTCHAR greater-than sign
+ENCODING 62
+SWIDTH 720 0
+DWIDTH 6 0
+BBX 6 8 0 -1
+BITMAP
+00
+C0
+30
+0C
+30
+C0
+00
+00
+ENDCHAR
+STARTCHAR question mark
+ENCODING 63
+SWIDTH 720 0
+DWIDTH 6 0
+BBX 6 8 0 -1
+BITMAP
+38
+44
+04
+08
+10
+00
+10
+00
+ENDCHAR
+STARTCHAR commercial at
+ENCODING 64
+SWIDTH 720 0
+DWIDTH 6 0
+BBX 6 8 0 -1
+BITMAP
+38
+44
+5C
+5C
+58
+40
+38
+00
+ENDCHAR
+STARTCHAR A
+ENCODING 65
+SWIDTH 720 0
+DWIDTH 6 0
+BBX 6 8 0 -1
+BITMAP
+10
+28
+44
+44
+7C
+44
+44
+00
+ENDCHAR
+STARTCHAR B
+ENCODING 66
+SWIDTH 720 0
+DWIDTH 6 0
+BBX 6 8 0 -1
+BITMAP
+78
+44
+44
+78
+44
+44
+78
+00
+ENDCHAR
+STARTCHAR C
+ENCODING 67
+SWIDTH 720 0
+DWIDTH 6 0
+BBX 6 8 0 -1
+BITMAP
+38
+44
+40
+40
+40
+44
+38
+00
+ENDCHAR
+STARTCHAR D
+ENCODING 68
+SWIDTH 720 0
+DWIDTH 6 0
+BBX 6 8 0 -1
+BITMAP
+70
+48
+44
+44
+44
+48
+70
+00
+ENDCHAR
+STARTCHAR E
+ENCODING 69
+SWIDTH 720 0
+DWIDTH 6 0
+BBX 6 8 0 -1
+BITMAP
+7C
+40
+40
+78
+40
+40
+7C
+00
+ENDCHAR
+STARTCHAR F
+ENCODING 70
+SWIDTH 720 0
+DWIDTH 6 0
+BBX 6 8 0 -1
+BITMAP
+7C
+40
+40
+78
+40
+40
+40
+00
+ENDCHAR
+STARTCHAR G
+ENCODING 71
+SWIDTH 720 0
+DWIDTH 6 0
+BBX 6 8 0 -1
+BITMAP
+38
+44
+40
+4C
+44
+44
+3C
+00
+ENDCHAR
+STARTCHAR H
+ENCODING 72
+SWIDTH 720 0
+DWIDTH 6 0
+BBX 6 8 0 -1
+BITMAP
+44
+44
+44
+7C
+44
+44
+44
+00
+ENDCHAR
+STARTCHAR I
+ENCODING 73
+SWIDTH 720 0
+DWIDTH 6 0
+BBX 6 8 0 -1
+BITMAP
+7C
+10
+10
+10
+10
+10
+7C
+00
+ENDCHAR
+STARTCHAR J
+ENCODING 74
+SWIDTH 720 0
+DWIDTH 6 0
+BBX 6 8 0 -1
+BITMAP
+1C
+04
+04
+04
+44
+44
+38
+00
+ENDCHAR
+STARTCHAR K
+ENCODING 75
+SWIDTH 720 0
+DWIDTH 6 0
+BBX 6 8 0 -1
+BITMAP
+44
+48
+50
+60
+50
+48
+44
+00
+ENDCHAR
+STARTCHAR L
+ENCODING 76
+SWIDTH 720 0
+DWIDTH 6 0
+BBX 6 8 0 -1
+BITMAP
+40
+40
+40
+40
+40
+40
+7C
+00
+ENDCHAR
+STARTCHAR M
+ENCODING 77
+SWIDTH 720 0
+DWIDTH 6 0
+BBX 6 8 0 -1
+BITMAP
+44
+6C
+54
+54
+44
+44
+44
+00
+ENDCHAR
+STARTCHAR N
+ENCODING 78
+SWIDTH 720 0
+DWIDTH 6 0
+BBX 6 8 0 -1
+BITMAP
+44
+64
+64
+54
+4C
+4C
+44
+00
+ENDCHAR
+STARTCHAR O
+ENCODING 79
+SWIDTH 720 0
+DWIDTH 6 0
+BBX 6 8 0 -1
+BITMAP
+38
+44
+44
+44
+44
+44
+38
+00
+ENDCHAR
+STARTCHAR P
+ENCODING 80
+SWIDTH 720 0
+DWIDTH 6 0
+BBX 6 8 0 -1
+BITMAP
+78
+44
+44
+78
+40
+40
+40
+00
+ENDCHAR
+STARTCHAR Q
+ENCODING 81
+SWIDTH 720 0
+DWIDTH 6 0
+BBX 6 8 0 -1
+BITMAP
+38
+44
+44
+44
+44
+44
+38
+0C
+ENDCHAR
+STARTCHAR R
+ENCODING 82
+SWIDTH 720 0
+DWIDTH 6 0
+BBX 6 8 0 -1
+BITMAP
+78
+44
+44
+78
+50
+48
+44
+00
+ENDCHAR
+STARTCHAR S
+ENCODING 83
+SWIDTH 720 0
+DWIDTH 6 0
+BBX 6 8 0 -1
+BITMAP
+38
+44
+40
+38
+04
+44
+38
+00
+ENDCHAR
+STARTCHAR T
+ENCODING 84
+SWIDTH 720 0
+DWIDTH 6 0
+BBX 6 8 0 -1
+BITMAP
+7C
+10
+10
+10
+10
+10
+10
+00
+ENDCHAR
+STARTCHAR U
+ENCODING 85
+SWIDTH 720 0
+DWIDTH 6 0
+BBX 6 8 0 -1
+BITMAP
+44
+44
+44
+44
+44
+44
+38
+00
+ENDCHAR
+STARTCHAR V
+ENCODING 86
+SWIDTH 720 0
+DWIDTH 6 0
+BBX 6 8 0 -1
+BITMAP
+44
+44
+44
+28
+28
+10
+10
+00
+ENDCHAR
+STARTCHAR W
+ENCODING 87
+SWIDTH 720 0
+DWIDTH 6 0
+BBX 6 8 0 -1
+BITMAP
+44
+44
+44
+54
+54
+6C
+44
+00
+ENDCHAR
+STARTCHAR X
+ENCODING 88
+SWIDTH 720 0
+DWIDTH 6 0
+BBX 6 8 0 -1
+BITMAP
+44
+44
+28
+10
+28
+44
+44
+00
+ENDCHAR
+STARTCHAR Y
+ENCODING 89
+SWIDTH 720 0
+DWIDTH 6 0
+BBX 6 8 0 -1
+BITMAP
+44
+44
+28
+10
+10
+10
+10
+00
+ENDCHAR
+STARTCHAR Z
+ENCODING 90
+SWIDTH 720 0
+DWIDTH 6 0
+BBX 6 8 0 -1
+BITMAP
+7C
+04
+08
+10
+20
+40
+7C
+00
+ENDCHAR
+STARTCHAR left square bracket
+ENCODING 91
+SWIDTH 720 0
+DWIDTH 6 0
+BBX 6 8 0 -1
+BITMAP
+1C
+10
+10
+10
+10
+10
+1C
+00
+ENDCHAR
+STARTCHAR backslash
+ENCODING 92
+SWIDTH 720 0
+DWIDTH 6 0
+BBX 6 8 0 -1
+BITMAP
+20
+20
+10
+10
+08
+08
+04
+04
+ENDCHAR
+STARTCHAR right square bracket
+ENCODING 93
+SWIDTH 720 0
+DWIDTH 6 0
+BBX 6 8 0 -1
+BITMAP
+70
+10
+10
+10
+10
+10
+70
+00
+ENDCHAR
+STARTCHAR circumflex accent
+ENCODING 94
+SWIDTH 720 0
+DWIDTH 6 0
+BBX 6 8 0 -1
+BITMAP
+10
+28
+44
+00
+00
+00
+00
+00
+ENDCHAR
+STARTCHAR underscore
+ENCODING 95
+SWIDTH 720 0
+DWIDTH 6 0
+BBX 6 8 0 -1
+BITMAP
+00
+00
+00
+00
+00
+00
+FC
+00
+ENDCHAR
+STARTCHAR grave accent
+ENCODING 96
+SWIDTH 720 0
+DWIDTH 6 0
+BBX 6 8 0 -1
+BITMAP
+10
+08
+00
+00
+00
+00
+00
+00
+ENDCHAR
+STARTCHAR a
+ENCODING 97
+SWIDTH 720 0
+DWIDTH 6 0
+BBX 6 8 0 -1
+BITMAP
+00
+00
+3C
+44
+44
+4C
+34
+00
+ENDCHAR
+STARTCHAR b
+ENCODING 98
+SWIDTH 720 0
+DWIDTH 6 0
+BBX 6 8 0 -1
+BITMAP
+40
+40
+78
+44
+44
+44
+78
+00
+ENDCHAR
+STARTCHAR c
+ENCODING 99
+SWIDTH 720 0
+DWIDTH 6 0
+BBX 6 8 0 -1
+BITMAP
+00
+00
+3C
+40
+40
+40
+3C
+00
+ENDCHAR
+STARTCHAR d
+ENCODING 100
+SWIDTH 720 0
+DWIDTH 6 0
+BBX 6 8 0 -1
+BITMAP
+04
+04
+3C
+44
+44
+44
+3C
+00
+ENDCHAR
+STARTCHAR e
+ENCODING 101
+SWIDTH 720 0
+DWIDTH 6 0
+BBX 6 8 0 -1
+BITMAP
+00
+00
+38
+44
+7C
+40
+38
+00
+ENDCHAR
+STARTCHAR f
+ENCODING 102
+SWIDTH 720 0
+DWIDTH 6 0
+BBX 6 8 0 -1
+BITMAP
+1C
+20
+78
+20
+20
+20
+20
+00
+ENDCHAR
+STARTCHAR g
+ENCODING 103
+SWIDTH 720 0
+DWIDTH 6 0
+BBX 6 8 0 -1
+BITMAP
+00
+00
+3C
+44
+44
+3C
+04
+38
+ENDCHAR
+STARTCHAR h
+ENCODING 104
+SWIDTH 720 0
+DWIDTH 6 0
+BBX 6 8 0 -1
+BITMAP
+40
+40
+78
+44
+44
+44
+44
+00
+ENDCHAR
+STARTCHAR i
+ENCODING 105
+SWIDTH 720 0
+DWIDTH 6 0
+BBX 6 8 0 -1
+BITMAP
+10
+00
+30
+10
+10
+10
+38
+00
+ENDCHAR
+STARTCHAR j
+ENCODING 106
+SWIDTH 720 0
+DWIDTH 6 0
+BBX 6 8 0 -1
+BITMAP
+08
+00
+38
+08
+08
+08
+08
+70
+ENDCHAR
+STARTCHAR k
+ENCODING 107
+SWIDTH 720 0
+DWIDTH 6 0
+BBX 6 8 0 -1
+BITMAP
+40
+40
+48
+50
+60
+50
+48
+00
+ENDCHAR
+STARTCHAR l
+ENCODING 108
+SWIDTH 720 0
+DWIDTH 6 0
+BBX 6 8 0 -1
+BITMAP
+30
+10
+10
+10
+10
+10
+38
+00
+ENDCHAR
+STARTCHAR m
+ENCODING 109
+SWIDTH 720 0
+DWIDTH 6 0
+BBX 6 8 0 -1
+BITMAP
+00
+00
+68
+54
+54
+54
+44
+00
+ENDCHAR
+STARTCHAR n
+ENCODING 110
+SWIDTH 720 0
+DWIDTH 6 0
+BBX 6 8 0 -1
+BITMAP
+00
+00
+58
+64
+44
+44
+44
+00
+ENDCHAR
+STARTCHAR o
+ENCODING 111
+SWIDTH 720 0
+DWIDTH 6 0
+BBX 6 8 0 -1
+BITMAP
+00
+00
+38
+44
+44
+44
+38
+00
+ENDCHAR
+STARTCHAR p
+ENCODING 112
+SWIDTH 720 0
+DWIDTH 6 0
+BBX 6 8 0 -1
+BITMAP
+00
+00
+78
+44
+44
+44
+78
+40
+ENDCHAR
+STARTCHAR q
+ENCODING 113
+SWIDTH 720 0
+DWIDTH 6 0
+BBX 6 8 0 -1
+BITMAP
+00
+00
+3C
+44
+44
+44
+3C
+04
+ENDCHAR
+STARTCHAR r
+ENCODING 114
+SWIDTH 720 0
+DWIDTH 6 0
+BBX 6 8 0 -1
+BITMAP
+00
+00
+58
+60
+40
+40
+40
+00
+ENDCHAR
+STARTCHAR s
+ENCODING 115
+SWIDTH 720 0
+DWIDTH 6 0
+BBX 6 8 0 -1
+BITMAP
+00
+00
+3C
+40
+38
+04
+78
+00
+ENDCHAR
+STARTCHAR t
+ENCODING 116
+SWIDTH 720 0
+DWIDTH 6 0
+BBX 6 8 0 -1
+BITMAP
+10
+10
+7C
+10
+10
+10
+0C
+00
+ENDCHAR
+STARTCHAR u
+ENCODING 117
+SWIDTH 720 0
+DWIDTH 6 0
+BBX 6 8 0 -1
+BITMAP
+00
+00
+44
+44
+44
+4C
+34
+00
+ENDCHAR
+STARTCHAR v
+ENCODING 118
+SWIDTH 720 0
+DWIDTH 6 0
+BBX 6 8 0 -1
+BITMAP
+00
+00
+44
+44
+28
+28
+10
+00
+ENDCHAR
+STARTCHAR w
+ENCODING 119
+SWIDTH 720 0
+DWIDTH 6 0
+BBX 6 8 0 -1
+BITMAP
+00
+00
+44
+54
+54
+54
+28
+00
+ENDCHAR
+STARTCHAR x
+ENCODING 120
+SWIDTH 720 0
+DWIDTH 6 0
+BBX 6 8 0 -1
+BITMAP
+00
+00
+44
+28
+10
+28
+44
+00
+ENDCHAR
+STARTCHAR y
+ENCODING 121
+SWIDTH 720 0
+DWIDTH 6 0
+BBX 6 8 0 -1
+BITMAP
+00
+00
+44
+44
+44
+3C
+04
+38
+ENDCHAR
+STARTCHAR z
+ENCODING 122
+SWIDTH 720 0
+DWIDTH 6 0
+BBX 6 8 0 -1
+BITMAP
+00
+00
+7C
+08
+10
+20
+7C
+00
+ENDCHAR
+STARTCHAR left curly bracket
+ENCODING 123
+SWIDTH 720 0
+DWIDTH 6 0
+BBX 6 8 0 -1
+BITMAP
+04
+08
+08
+10
+08
+08
+04
+00
+ENDCHAR
+STARTCHAR pipe symbol
+ENCODING 124
+SWIDTH 720 0
+DWIDTH 6 0
+BBX 6 8 0 -1
+BITMAP
+10
+10
+10
+10
+10
+10
+10
+00
+ENDCHAR
+STARTCHAR right curly bracket
+ENCODING 125
+SWIDTH 720 0
+DWIDTH 6 0
+BBX 6 8 0 -1
+BITMAP
+40
+20
+20
+10
+20
+20
+40
+00
+ENDCHAR
+STARTCHAR tilde
+ENCODING 126
+SWIDTH 720 0
+DWIDTH 6 0
+BBX 6 8 0 -1
+BITMAP
+20
+54
+08
+00
+00
+00
+00
+00
+ENDCHAR
+STARTCHAR inverted exclamation
+ENCODING 161
+SWIDTH 720 0
+DWIDTH 6 0
+BBX 6 8 0 -1
+BITMAP
+10
+00
+10
+10
+10
+10
+10
+00
+ENDCHAR
+STARTCHAR cent sign
+ENCODING 162
+SWIDTH 720 0
+DWIDTH 6 0
+BBX 6 8 0 -1
+BITMAP
+00
+10
+3C
+50
+50
+3C
+10
+00
+ENDCHAR
+STARTCHAR pound sign
+ENCODING 163
+SWIDTH 720 0
+DWIDTH 6 0
+BBX 6 8 0 -1
+BITMAP
+18
+24
+20
+78
+20
+20
+7C
+00
+ENDCHAR
+STARTCHAR euro sign
+ENCODING 164
+SWIDTH 720 0
+DWIDTH 6 0
+BBX 6 8 0 -1
+BITMAP
+1C
+20
+78
+20
+78
+20
+1C
+00
+ENDCHAR
+STARTCHAR yen sign
+ENCODING 165
+SWIDTH 720 0
+DWIDTH 6 0
+BBX 6 8 0 -1
+BITMAP
+44
+44
+28
+7C
+10
+7C
+10
+00
+ENDCHAR
+STARTCHAR broken bar
+ENCODING 166
+SWIDTH 720 0
+DWIDTH 6 0
+BBX 6 8 0 -1
+BITMAP
+10
+10
+10
+00
+10
+10
+10
+00
+ENDCHAR
+STARTCHAR section sign
+ENCODING 167
+SWIDTH 720 0
+DWIDTH 6 0
+BBX 6 8 0 -1
+BITMAP
+18
+24
+30
+48
+30
+90
+60
+00
+ENDCHAR
+STARTCHAR dieresis
+ENCODING 168
+SWIDTH 720 0
+DWIDTH 6 0
+BBX 6 8 0 -1
+BITMAP
+44
+00
+00
+00
+00
+00
+00
+00
+ENDCHAR
+STARTCHAR copyright sign
+ENCODING 169
+SWIDTH 720 0
+DWIDTH 6 0
+BBX 6 8 0 -1
+BITMAP
+30
+48
+B4
+A4
+B4
+48
+30
+00
+ENDCHAR
+STARTCHAR feminine ordinal
+ENCODING 170
+SWIDTH 720 0
+DWIDTH 6 0
+BBX 6 8 0 -1
+BITMAP
+3C
+44
+44
+4C
+34
+00
+7C
+00
+ENDCHAR
+STARTCHAR guillemot left
+ENCODING 171
+SWIDTH 720 0
+DWIDTH 6 0
+BBX 6 8 0 -1
+BITMAP
+00
+00
+24
+48
+24
+00
+00
+00
+ENDCHAR
+STARTCHAR not sign
+ENCODING 172
+SWIDTH 720 0
+DWIDTH 6 0
+BBX 6 8 0 -1
+BITMAP
+00
+00
+00
+78
+08
+00
+00
+00
+ENDCHAR
+STARTCHAR soft hyphen
+ENCODING 173
+SWIDTH 720 0
+DWIDTH 6 0
+BBX 6 8 0 -1
+BITMAP
+00
+00
+00
+00
+00
+00
+00
+00
+ENDCHAR
+STARTCHAR registered trademark
+ENCODING 174
+SWIDTH 720 0
+DWIDTH 6 0
+BBX 6 8 0 -1
+BITMAP
+30
+48
+B4
+B4
+AC
+48
+30
+00
+ENDCHAR
+STARTCHAR macron
+ENCODING 175
+SWIDTH 720 0
+DWIDTH 6 0
+BBX 6 8 0 -1
+BITMAP
+7C
+00
+00
+00
+00
+00
+00
+00
+ENDCHAR
+STARTCHAR degree sign
+ENCODING 176
+SWIDTH 720 0
+DWIDTH 6 0
+BBX 6 8 0 -1
+BITMAP
+38
+28
+38
+00
+00
+00
+00
+00
+ENDCHAR
+STARTCHAR plus or minus
+ENCODING 177
+SWIDTH 720 0
+DWIDTH 6 0
+BBX 6 8 0 -1
+BITMAP
+10
+10
+7C
+10
+10
+00
+7C
+00
+ENDCHAR
+STARTCHAR superscript 2
+ENCODING 178
+SWIDTH 720 0
+DWIDTH 6 0
+BBX 6 8 0 -1
+BITMAP
+10
+28
+08
+10
+38
+00
+00
+00
+ENDCHAR
+STARTCHAR superscript 3
+ENCODING 179
+SWIDTH 720 0
+DWIDTH 6 0
+BBX 6 8 0 -1
+BITMAP
+30
+08
+30
+08
+30
+00
+00
+00
+ENDCHAR
+STARTCHAR spacing acute
+ENCODING 180
+SWIDTH 720 0
+DWIDTH 6 0
+BBX 6 8 0 -1
+BITMAP
+10
+20
+00
+00
+00
+00
+00
+00
+ENDCHAR
+STARTCHAR micro sign
+ENCODING 181
+SWIDTH 720 0
+DWIDTH 6 0
+BBX 6 8 0 -1
+BITMAP
+00
+00
+48
+48
+48
+48
+74
+40
+ENDCHAR
+STARTCHAR paragraph sign
+ENCODING 182
+SWIDTH 720 0
+DWIDTH 6 0
+BBX 6 8 0 -1
+BITMAP
+3C
+54
+54
+54
+34
+14
+14
+00
+ENDCHAR
+STARTCHAR middle dot
+ENCODING 183
+SWIDTH 720 0
+DWIDTH 6 0
+BBX 6 8 0 -1
+BITMAP
+00
+00
+00
+10
+00
+00
+00
+00
+ENDCHAR
+STARTCHAR cedilla
+ENCODING 184
+SWIDTH 720 0
+DWIDTH 6 0
+BBX 6 8 0 -1
+BITMAP
+00
+00
+00
+00
+00
+00
+10
+30
+ENDCHAR
+STARTCHAR suprtscript 1
+ENCODING 185
+SWIDTH 720 0
+DWIDTH 6 0
+BBX 6 8 0 -1
+BITMAP
+10
+30
+10
+10
+10
+00
+00
+00
+ENDCHAR
+STARTCHAR masculine ordinal
+ENCODING 186
+SWIDTH 720 0
+DWIDTH 6 0
+BBX 6 8 0 -1
+BITMAP
+38
+44
+44
+44
+38
+00
+7C
+00
+ENDCHAR
+STARTCHAR guillemot right
+ENCODING 187
+SWIDTH 720 0
+DWIDTH 6 0
+BBX 6 8 0 -1
+BITMAP
+00
+00
+48
+24
+48
+00
+00
+00
+ENDCHAR
+STARTCHAR one quarter
+ENCODING 188
+SWIDTH 720 0
+DWIDTH 6 0
+BBX 6 8 0 -1
+BITMAP
+00
+00
+00
+00
+00
+00
+00
+00
+ENDCHAR
+STARTCHAR one half
+ENCODING 189
+SWIDTH 720 0
+DWIDTH 6 0
+BBX 6 8 0 -1
+BITMAP
+00
+00
+00
+00
+00
+00
+00
+00
+ENDCHAR
+STARTCHAR three quarters
+ENCODING 190
+SWIDTH 720 0
+DWIDTH 6 0
+BBX 6 8 0 -1
+BITMAP
+00
+00
+00
+00
+00
+00
+00
+00
+ENDCHAR
+STARTCHAR inverted question
+ENCODING 191
+SWIDTH 720 0
+DWIDTH 6 0
+BBX 6 8 0 -1
+BITMAP
+10
+00
+10
+08
+04
+44
+38
+00
+ENDCHAR
+STARTCHAR large A, grave accent
+ENCODING 192
+SWIDTH 720 0
+DWIDTH 6 0
+BBX 6 8 0 -1
+BITMAP
+20
+10
+10
+28
+44
+7C
+44
+00
+ENDCHAR
+STARTCHAR large A, acute accent
+ENCODING 193
+SWIDTH 720 0
+DWIDTH 6 0
+BBX 6 8 0 -1
+BITMAP
+10
+20
+10
+28
+44
+7C
+44
+00
+ENDCHAR
+STARTCHAR large A, circumflex accent
+ENCODING 194
+SWIDTH 720 0
+DWIDTH 6 0
+BBX 6 8 0 -1
+BITMAP
+38
+44
+10
+28
+44
+7C
+44
+00
+ENDCHAR
+STARTCHAR large A, tilde
+ENCODING 195
+SWIDTH 720 0
+DWIDTH 6 0
+BBX 6 8 0 -1
+BITMAP
+24
+58
+10
+28
+44
+7C
+44
+00
+ENDCHAR
+STARTCHAR large A, dieresis
+ENCODING 196
+SWIDTH 720 0
+DWIDTH 6 0
+BBX 6 8 0 -1
+BITMAP
+44
+10
+28
+44
+7C
+44
+44
+00
+ENDCHAR
+STARTCHAR large A, circle
+ENCODING 197
+SWIDTH 720 0
+DWIDTH 6 0
+BBX 6 8 0 -1
+BITMAP
+10
+28
+10
+28
+44
+7C
+44
+00
+ENDCHAR
+STARTCHAR large AE, diphtong
+ENCODING 198
+SWIDTH 720 0
+DWIDTH 6 0
+BBX 6 8 0 -1
+BITMAP
+0C
+18
+28
+4C
+78
+48
+4C
+00
+ENDCHAR
+STARTCHAR large C, cedilla
+ENCODING 199
+SWIDTH 720 0
+DWIDTH 6 0
+BBX 6 8 0 -1
+BITMAP
+38
+44
+40
+40
+44
+38
+10
+30
+ENDCHAR
+STARTCHAR large E, grave accent
+ENCODING 200
+SWIDTH 720 0
+DWIDTH 6 0
+BBX 6 8 0 -1
+BITMAP
+20
+10
+7C
+40
+70
+40
+7C
+00
+ENDCHAR
+STARTCHAR large E, acute accent
+ENCODING 201
+SWIDTH 720 0
+DWIDTH 6 0
+BBX 6 8 0 -1
+BITMAP
+08
+10
+7C
+40
+70
+40
+7C
+00
+ENDCHAR
+STARTCHAR large E, circumflex accent
+ENCODING 202
+SWIDTH 720 0
+DWIDTH 6 0
+BBX 6 8 0 -1
+BITMAP
+10
+28
+7C
+40
+70
+40
+7C
+00
+ENDCHAR
+STARTCHAR large E, dieresis
+ENCODING 203
+SWIDTH 720 0
+DWIDTH 6 0
+BBX 6 8 0 -1
+BITMAP
+28
+00
+7C
+40
+70
+40
+7C
+00
+ENDCHAR
+STARTCHAR capital I, grave accent
+ENCODING 204
+SWIDTH 720 0
+DWIDTH 6 0
+BBX 6 8 0 -1
+BITMAP
+20
+10
+7C
+10
+10
+10
+7C
+00
+ENDCHAR
+STARTCHAR capital I, acute accent
+ENCODING 205
+SWIDTH 720 0
+DWIDTH 6 0
+BBX 6 8 0 -1
+BITMAP
+08
+10
+7C
+10
+10
+10
+7C
+00
+ENDCHAR
+STARTCHAR capital I, circumflex accent
+ENCODING 206
+SWIDTH 720 0
+DWIDTH 6 0
+BBX 6 8 0 -1
+BITMAP
+10
+28
+7C
+10
+10
+10
+7C
+00
+ENDCHAR
+STARTCHAR capital I, dieresis
+ENCODING 207
+SWIDTH 720 0
+DWIDTH 6 0
+BBX 6 8 0 -1
+BITMAP
+28
+00
+7C
+10
+10
+10
+7C
+00
+ENDCHAR
+STARTCHAR capital Eth, Icelandic
+ENCODING 208
+SWIDTH 720 0
+DWIDTH 6 0
+BBX 6 8 0 -1
+BITMAP
+70
+48
+44
+E4
+44
+48
+70
+00
+ENDCHAR
+STARTCHAR capital N, tilde
+ENCODING 209
+SWIDTH 720 0
+DWIDTH 6 0
+BBX 6 8 0 -1
+BITMAP
+24
+58
+44
+64
+54
+4C
+44
+00
+ENDCHAR
+STARTCHAR capital O, grave accent
+ENCODING 210
+SWIDTH 720 0
+DWIDTH 6 0
+BBX 6 8 0 -1
+BITMAP
+20
+10
+38
+44
+44
+44
+38
+00
+ENDCHAR
+STARTCHAR capital O, acute accent
+ENCODING 211
+SWIDTH 720 0
+DWIDTH 6 0
+BBX 6 8 0 -1
+BITMAP
+08
+10
+38
+44
+44
+44
+38
+00
+ENDCHAR
+STARTCHAR capital O, circumflex accent
+ENCODING 212
+SWIDTH 720 0
+DWIDTH 6 0
+BBX 6 8 0 -1
+BITMAP
+10
+28
+38
+44
+44
+44
+38
+00
+ENDCHAR
+STARTCHAR capital O, tilde
+ENCODING 213
+SWIDTH 720 0
+DWIDTH 6 0
+BBX 6 8 0 -1
+BITMAP
+24
+58
+38
+44
+44
+44
+38
+00
+ENDCHAR
+STARTCHAR capital O, dieresis
+ENCODING 214
+SWIDTH 720 0
+DWIDTH 6 0
+BBX 6 8 0 -1
+BITMAP
+44
+38
+44
+44
+44
+44
+38
+00
+ENDCHAR
+STARTCHAR multiply sign
+ENCODING 215
+SWIDTH 720 0
+DWIDTH 6 0
+BBX 6 8 0 -1
+BITMAP
+00
+44
+28
+10
+28
+44
+00
+00
+ENDCHAR
+STARTCHAR capital O, slash
+ENCODING 216
+SWIDTH 720 0
+DWIDTH 6 0
+BBX 6 8 0 -1
+BITMAP
+38
+44
+4C
+54
+64
+44
+38
+00
+ENDCHAR
+STARTCHAR capital U, grave accent
+ENCODING 217
+SWIDTH 720 0
+DWIDTH 6 0
+BBX 6 8 0 -1
+BITMAP
+20
+10
+44
+44
+44
+44
+38
+00
+ENDCHAR
+STARTCHAR capital U, acute accent
+ENCODING 218
+SWIDTH 720 0
+DWIDTH 6 0
+BBX 6 8 0 -1
+BITMAP
+08
+10
+44
+44
+44
+44
+38
+00
+ENDCHAR
+STARTCHAR capital U, circumflex accent
+ENCODING 219
+SWIDTH 720 0
+DWIDTH 6 0
+BBX 6 8 0 -1
+BITMAP
+10
+28
+00
+44
+44
+44
+38
+00
+ENDCHAR
+STARTCHAR capital U, dieresis
+ENCODING 220
+SWIDTH 720 0
+DWIDTH 6 0
+BBX 6 8 0 -1
+BITMAP
+44
+00
+44
+44
+44
+44
+38
+00
+ENDCHAR
+STARTCHAR capital Y, acute accent
+ENCODING 221
+SWIDTH 720 0
+DWIDTH 6 0
+BBX 6 8 0 -1
+BITMAP
+08
+10
+44
+28
+10
+10
+10
+00
+ENDCHAR
+STARTCHAR capital Thorn, Icelandic
+ENCODING 222
+SWIDTH 720 0
+DWIDTH 6 0
+BBX 6 8 0 -1
+BITMAP
+40
+78
+44
+44
+44
+78
+40
+00
+ENDCHAR
+STARTCHAR sharp s, German
+ENCODING 223
+SWIDTH 720 0
+DWIDTH 6 0
+BBX 6 8 0 -1
+BITMAP
+38
+44
+44
+48
+44
+44
+58
+00
+ENDCHAR
+STARTCHAR small a, grave accent
+ENCODING 224
+SWIDTH 720 0
+DWIDTH 6 0
+BBX 6 8 0 -1
+BITMAP
+20
+10
+3C
+44
+44
+4C
+34
+00
+ENDCHAR
+STARTCHAR small a, acute accent
+ENCODING 225
+SWIDTH 720 0
+DWIDTH 6 0
+BBX 6 8 0 -1
+BITMAP
+08
+10
+3C
+44
+44
+4C
+34
+00
+ENDCHAR
+STARTCHAR small a, circumflex accent
+ENCODING 226
+SWIDTH 720 0
+DWIDTH 6 0
+BBX 6 8 0 -1
+BITMAP
+10
+28
+00
+3C
+44
+4C
+34
+00
+ENDCHAR
+STARTCHAR small a, tilde
+ENCODING 227
+SWIDTH 720 0
+DWIDTH 6 0
+BBX 6 8 0 -1
+BITMAP
+24
+58
+00
+3C
+44
+4C
+34
+00
+ENDCHAR
+STARTCHAR small a, dieresis
+ENCODING 228
+SWIDTH 720 0
+DWIDTH 6 0
+BBX 6 8 0 -1
+BITMAP
+28
+00
+3C
+44
+44
+4C
+34
+00
+ENDCHAR
+STARTCHAR small a, circle
+ENCODING 229
+SWIDTH 720 0
+DWIDTH 6 0
+BBX 6 8 0 -1
+BITMAP
+10
+28
+10
+3C
+44
+4C
+34
+00
+ENDCHAR
+STARTCHAR small ae, diphtong
+ENCODING 230
+SWIDTH 720 0
+DWIDTH 6 0
+BBX 6 8 0 -1
+BITMAP
+00
+00
+38
+54
+5C
+50
+3C
+00
+ENDCHAR
+STARTCHAR small c, cedilla
+ENCODING 231
+SWIDTH 720 0
+DWIDTH 6 0
+BBX 6 8 0 -1
+BITMAP
+00
+00
+3C
+40
+40
+3C
+10
+30
+ENDCHAR
+STARTCHAR small e, grave accent
+ENCODING 232
+SWIDTH 720 0
+DWIDTH 6 0
+BBX 6 8 0 -1
+BITMAP
+20
+10
+38
+44
+7C
+40
+38
+00
+ENDCHAR
+STARTCHAR small e, acute accent
+ENCODING 233
+SWIDTH 720 0
+DWIDTH 6 0
+BBX 6 8 0 -1
+BITMAP
+08
+10
+38
+44
+7C
+40
+38
+00
+ENDCHAR
+STARTCHAR small e, circumflex accent
+ENCODING 234
+SWIDTH 720 0
+DWIDTH 6 0
+BBX 6 8 0 -1
+BITMAP
+10
+28
+38
+44
+7C
+40
+38
+00
+ENDCHAR
+STARTCHAR small e, dieresis
+ENCODING 235
+SWIDTH 720 0
+DWIDTH 6 0
+BBX 6 8 0 -1
+BITMAP
+28
+00
+38
+44
+7C
+40
+38
+00
+ENDCHAR
+STARTCHAR small i, grave accent
+ENCODING 236
+SWIDTH 720 0
+DWIDTH 6 0
+BBX 6 8 0 -1
+BITMAP
+20
+10
+00
+30
+10
+10
+38
+00
+ENDCHAR
+STARTCHAR small i, acute accent
+ENCODING 237
+SWIDTH 720 0
+DWIDTH 6 0
+BBX 6 8 0 -1
+BITMAP
+08
+10
+00
+30
+10
+10
+38
+00
+ENDCHAR
+STARTCHAR small i, circumflex accent
+ENCODING 238
+SWIDTH 720 0
+DWIDTH 6 0
+BBX 6 8 0 -1
+BITMAP
+10
+28
+00
+30
+10
+10
+38
+00
+ENDCHAR
+STARTCHAR small i, dieresis
+ENCODING 239
+SWIDTH 720 0
+DWIDTH 6 0
+BBX 6 8 0 -1
+BITMAP
+28
+00
+30
+10
+10
+10
+38
+00
+ENDCHAR
+STARTCHAR small eth, Icelandic
+ENCODING 240
+SWIDTH 720 0
+DWIDTH 6 0
+BBX 6 8 0 -1
+BITMAP
+38
+14
+04
+1C
+24
+24
+18
+00
+ENDCHAR
+STARTCHAR small n, tilde
+ENCODING 241
+SWIDTH 720 0
+DWIDTH 6 0
+BBX 6 8 0 -1
+BITMAP
+24
+58
+00
+58
+64
+44
+44
+00
+ENDCHAR
+STARTCHAR small o, grave accent
+ENCODING 242
+SWIDTH 720 0
+DWIDTH 6 0
+BBX 6 8 0 -1
+BITMAP
+20
+10
+38
+44
+44
+44
+38
+00
+ENDCHAR
+STARTCHAR small o, acute accent
+ENCODING 243
+SWIDTH 720 0
+DWIDTH 6 0
+BBX 6 8 0 -1
+BITMAP
+08
+10
+38
+44
+44
+44
+38
+00
+ENDCHAR
+STARTCHAR small o, circumflex accent
+ENCODING 244
+SWIDTH 720 0
+DWIDTH 6 0
+BBX 6 8 0 -1
+BITMAP
+10
+28
+38
+44
+44
+44
+38
+00
+ENDCHAR
+STARTCHAR small o, tilde
+ENCODING 245
+SWIDTH 720 0
+DWIDTH 6 0
+BBX 6 8 0 -1
+BITMAP
+24
+58
+38
+44
+44
+44
+38
+00
+ENDCHAR
+STARTCHAR small o, dieresis
+ENCODING 246
+SWIDTH 720 0
+DWIDTH 6 0
+BBX 6 8 0 -1
+BITMAP
+28
+00
+38
+44
+44
+44
+38
+00
+ENDCHAR
+STARTCHAR division sign
+ENCODING 247
+SWIDTH 720 0
+DWIDTH 6 0
+BBX 6 8 0 -1
+BITMAP
+00
+10
+00
+7C
+00
+10
+00
+00
+ENDCHAR
+STARTCHAR small o, slash
+ENCODING 248
+SWIDTH 720 0
+DWIDTH 6 0
+BBX 6 8 0 -1
+BITMAP
+00
+00
+3C
+4C
+54
+64
+78
+00
+ENDCHAR
+STARTCHAR small u, grave accent
+ENCODING 249
+SWIDTH 720 0
+DWIDTH 6 0
+BBX 6 8 0 -1
+BITMAP
+20
+10
+44
+44
+44
+4C
+34
+00
+ENDCHAR
+STARTCHAR small u, acute accent
+ENCODING 250
+SWIDTH 720 0
+DWIDTH 6 0
+BBX 6 8 0 -1
+BITMAP
+08
+10
+44
+44
+44
+4C
+34
+00
+ENDCHAR
+STARTCHAR small u, circumflex accent
+ENCODING 251
+SWIDTH 720 0
+DWIDTH 6 0
+BBX 6 8 0 -1
+BITMAP
+10
+28
+00
+44
+44
+4C
+34
+00
+ENDCHAR
+STARTCHAR small u, dieresis
+ENCODING 252
+SWIDTH 720 0
+DWIDTH 6 0
+BBX 6 8 0 -1
+BITMAP
+28
+00
+44
+44
+44
+4C
+34
+00
+ENDCHAR
+STARTCHAR small y, acute accent
+ENCODING 253
+SWIDTH 720 0
+DWIDTH 6 0
+BBX 6 8 0 -1
+BITMAP
+08
+10
+44
+44
+44
+3C
+04
+38
+ENDCHAR
+STARTCHAR small thorn, Icelandic
+ENCODING 254
+SWIDTH 720 0
+DWIDTH 6 0
+BBX 6 8 0 -1
+BITMAP
+40
+70
+48
+48
+48
+70
+40
+00
+ENDCHAR
+STARTCHAR small y, dieresis
+ENCODING 255
+SWIDTH 720 0
+DWIDTH 6 0
+BBX 6 8 0 -1
+BITMAP
+28
+00
+44
+44
+44
+3C
+04
+38
+ENDCHAR
+ENDFONT
diff --git a/firmware/loadfont.c b/firmware/loadfont.c
deleted file mode 100644
index e78f208b13..0000000000
--- a/firmware/loadfont.c
+++ /dev/null
@@ -1,212 +0,0 @@
-/***************************************************************************
- * __________ __ ___.
- * Open \______ \ ____ ____ | | _\_ |__ _______ ___
- * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
- * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
- * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
- * \/ \/ \/ \/ \/
- * $Id$
- *
- * Copyright (c) 2002 by Greg Haerr <greg@censoft.com>
- *
- * All files in this archive are subject to the GNU General Public License.
- * See the file COPYING in the source tree root for full license agreement.
- *
- * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
- * KIND, either express or implied.
- *
- ****************************************************************************/
-/*
- * Load an rbf font, store in incore format.
- */
-#include "config.h"
-
-#if defined(HAVE_LCD_BITMAP) || defined(SIMULATOR)
-
-#include <stdio.h>
-#include <string.h>
-#include "font.h"
-#include "file.h"
-
-#ifndef DEBUGF
-#include "debug.h"
-#endif
-
-#ifndef O_BINARY
-#define O_BINARY 0
-#endif
-
-/* static buffer allocation structures*/
-static unsigned char mbuf[MAX_FONT_SIZE];
-static unsigned char *freeptr = mbuf;
-static unsigned char *fileptr;
-static unsigned char *eofptr;
-
-static int
-READSHORT(unsigned short *sp)
-{
- unsigned short s;
-
- s = *fileptr++ & 0xff;
- *sp = (*fileptr++ << 8) | s;
- return (fileptr <= eofptr);
-}
-
-static int
-READLONG(unsigned long *lp)
-{
- unsigned long l;
-
- l = *fileptr++ & 0xff;
- l |= *fileptr++ << 8;
- l |= *fileptr++ << 16;
- *lp = (*fileptr++ << 24) | l;
- return (fileptr <= eofptr);
-}
-
-/* read count bytes*/
-static int
-READSTR(char *buf, int count)
-{
- int n = count;
-
- while (--n >= 0)
- *buf++ = *fileptr++;
- return (fileptr <= eofptr)? count: 0;
-}
-
-/* read totlen bytes, return NUL terminated string*/
-/* may write 1 past buf[totlen]; removes blank pad*/
-static int
-READSTRPAD(char *buf, int totlen)
-{
- char *p = buf;
- int n = totlen;
-
- while (--n >= 0)
- *p++ = *fileptr++;
- if (fileptr > eofptr)
- return 0;
-
- p = &buf[totlen];
- *p-- = 0;
- while (*p == ' ' && p >= buf)
- *p-- = '\0';
- return totlen;
-}
-
-/* read and load font into incore font structure*/
-PMWCFONT
-rbf_load_font(char *path, PMWCFONT pf)
-{
- int fd, filesize;
- unsigned short maxwidth, height, ascent, pad;
- unsigned long firstchar, defaultchar, size;
- unsigned long i, nbits, noffset, nwidth;
- char version[4+1];
- char copyright[256+1];
-
- memset(pf, 0, sizeof(MWCFONT));
-
- /* open and read entire font file*/
- fd = open(path, O_RDONLY|O_BINARY);
- if (fd < 0) {
- DEBUGF("Can't open font: %s\n", path);
- return NULL;
- }
-freeptr = (unsigned char *)(((int)mbuf + 3) & ~3);
- fileptr = freeptr;
- filesize = read(fd, fileptr, MAX_FONT_SIZE);
- eofptr = fileptr + filesize;
- //freeptr += filesize;
- //freeptr = (unsigned char *)(freeptr + 3) & ~3; /* pad freeptr*/
- close(fd);
- if (filesize == MAX_FONT_SIZE) {
- DEBUGF("Font %s too large: %d\n", path, filesize);
- return NULL;
- }
-
- /* read magic and version #*/
- memset(version, 0, sizeof(version));
- if (READSTR(version, 4) != 4)
- return NULL;
- if (strcmp(version, VERSION) != 0)
- return NULL;
-
- /* internal font name*/
- pf->name = fileptr;
- if (READSTRPAD(pf->name, 64) != 64)
- return NULL;
-
- /* copyright, not currently stored*/
- if (READSTRPAD(copyright, 256) != 256)
- return NULL;
-
- /* font info*/
- if (!READSHORT(&maxwidth))
- return NULL;
- pf->maxwidth = maxwidth;
- if (!READSHORT(&height))
- return NULL;
- pf->height = height;
- if (!READSHORT(&ascent))
- return NULL;
- pf->ascent = ascent;
- if (!READSHORT(&pad))
- return NULL;
- if (!READLONG(&firstchar))
- return NULL;
- pf->firstchar = firstchar;
- if (!READLONG(&defaultchar))
- return NULL;
- pf->defaultchar = defaultchar;
- if (!READLONG(&size))
- return NULL;
- pf->size = size;
-
- /* get variable font data sizes*/
- /* # words of MWIMAGEBITS*/
- if (!READLONG(&nbits))
- return NULL;
- pf->bits_size = nbits;
-
- /* # longs of offset*/
- if (!READLONG(&noffset))
- return NULL;
-
- /* # bytes of width*/
- if (!READLONG(&nwidth))
- return NULL;
-
- /* variable font data*/
- pf->bits = (MWIMAGEBITS *)fileptr;
- for (i=0; i<nbits; ++i)
- if (!READSHORT(&pf->bits[i]))
- return NULL;
- /* pad to longword boundary*/
- fileptr = (unsigned char *)(((int)fileptr + 3) & ~3);
-
- if (noffset) {
- pf->offset = (unsigned long *)fileptr;
- for (i=0; i<noffset; ++i)
- if (!READLONG(&pf->offset[i]))
- return NULL;
- } else pf->offset = NULL;
-
- if (nwidth) {
- pf->width = (unsigned char *)fileptr;
- fileptr += nwidth*sizeof(unsigned char);
- } else pf->width = NULL;
-
- if (fileptr > eofptr)
- return NULL;
- return pf; /* success!*/
-}
-#endif /* HAVE_LCD_BITMAP */
-
-/* -----------------------------------------------------------------
- * local variables:
- * eval: (load-file "rockbox-mode.el")
- * vim: et sw=4 ts=8 sts=4 tw=78
- * end:
- */