From bed3d3f7e06c6582f9677ab6222cd89c84a9c8c7 Mon Sep 17 00:00:00 2001 From: Björn Stenberg Date: Fri, 20 Sep 2002 08:07:51 +0000 Subject: New full ISO-8859-1 system font. Added font loading from dir browser. Changed default font location to /.rockbox/default.fnt. Code-policed font code. Removed old font tools. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@2347 a1c6a512-1295-4272-9138-f99709370657 --- firmware/Makefile | 10 +- firmware/X5x8.bdf | 1967 ------------------------------ firmware/X5x8.c | 2853 -------------------------------------------- firmware/drivers/lcd.c | 95 +- firmware/drivers/lcd.h | 7 +- firmware/font.c | 339 ++++-- firmware/font.h | 53 +- firmware/fonts/clR6x8.bdf | 2895 +++++++++++++++++++++++++++++++++++++++++++++ firmware/loadfont.c | 212 ---- 9 files changed, 3224 insertions(+), 5207 deletions(-) delete mode 100644 firmware/X5x8.bdf delete mode 100644 firmware/X5x8.c create mode 100644 firmware/fonts/clR6x8.bdf delete mode 100644 firmware/loadfont.c (limited to 'firmware') 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 #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; ibits[i])) + return NULL; + /* pad to longword boundary*/ + fileptr = (unsigned char *)(((int)fileptr + 3) & ~3); + + if (noffset) { + pf->offset = (unsigned long *)fileptr; + for (i=0; ioffset[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; isize; ++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 - * - * 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 -#include -#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; ibits[i])) - return NULL; - /* pad to longword boundary*/ - fileptr = (unsigned char *)(((int)fileptr + 3) & ~3); - - if (noffset) { - pf->offset = (unsigned long *)fileptr; - for (i=0; ioffset[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: - */ -- cgit v1.2.3