diff options
author | Lorenz Meier <lm@inf.ethz.ch> | 2013-06-01 01:04:32 +0200 |
---|---|---|
committer | Lorenz Meier <lm@inf.ethz.ch> | 2013-06-01 01:04:32 +0200 |
commit | 5375bb5b86e266157ceceef08c367da711b8144e (patch) | |
tree | 88bc81cab11d8f0b2b6f9391f803051c081b2ecb /nuttx/graphics | |
parent | 27ee36b2049167a1272122548fe61aa2993d79c1 (diff) | |
download | px4-firmware-5375bb5b86e266157ceceef08c367da711b8144e.tar.gz px4-firmware-5375bb5b86e266157ceceef08c367da711b8144e.tar.bz2 px4-firmware-5375bb5b86e266157ceceef08c367da711b8144e.zip |
Cleanup, WIP, needs a NuttX checkout to Firmware/NuttX now
Diffstat (limited to 'nuttx/graphics')
207 files changed, 0 insertions, 46307 deletions
diff --git a/nuttx/graphics/Kconfig b/nuttx/graphics/Kconfig deleted file mode 100644 index b56a6cb5c..000000000 --- a/nuttx/graphics/Kconfig +++ /dev/null @@ -1,443 +0,0 @@ -# -# For a description of the syntax of this configuration file, -# see misc/tools/kconfig-language.txt. -# - -config NX - bool "NX Graphics" - default n - ---help--- - Enables overall support for graphics library and NX - -if NX - -config NX_LCDDRIVER - bool "LCD driver" - default y - depends on LCD - ---help--- - By default, the NX graphics system uses the frame buffer driver interface - defined in include/nuttx/fb.h. However, if LCD is support is enabled, - this this option is provide to select, instead, the LCD driver interface - defined in include/nuttx/lcd/lcd.h. - -config NX_NPLANES - int "Number of Color Planes" - default 1 - ---help--- - Some YUV color formats requires support for multiple planes, one for each - color component. Unless you have such special hardware, this value should be - undefined or set to 1. - -config NX_WRITEONLY - bool "Write-only Graphics Device" - default y if NX_LCDDRIVER && LCD_NOGETRUN - default n if !NX_LCDDRIVER || !LCD_NOGETRUN - ---help--- - Define if the underlying graphics device does not support read operations. - Automatically defined if NX_LCDDRIVER and LCD_NOGETRUN are - defined. - -menu "Supported Pixel Depths" - -config NX_DISABLE_1BPP - bool "1 BPP" - default y - ---help--- - NX supports a variety of pixel depths. You can save some memory by disabling - support for unused color depths. The selection disables support for 1BPP - pixel depth. - -config NX_DISABLE_2BPP - bool "2 BPP" - default y - ---help--- - NX supports a variety of pixel depths. You can save some memory by disabling - support for unused color depths. The selection disables support for 2BPP - pixel depth. - -config NX_DISABLE_4BPP - bool "4 BPP" - default y - ---help--- - NX supports a variety of pixel depths. You can save some memory by disabling - support for unused color depths. The selection disables support for 4BPP - pixel depth. - -config NX_DISABLE_8BPP - bool "8 BPP" - default y - ---help--- - NX supports a variety of pixel depths. You can save some memory by disabling - support for unused color depths. The selection disables support for 8BPP - pixel depth. - -config NX_DISABLE_16BPP - bool "16 BPP" - default y - ---help--- - NX supports a variety of pixel depths. You can save some memory by disabling - support for unused color depths. The selection disables support for 16BPP - pixel depth. - -config NX_DISABLE_24BPP - bool "24 BPP" - default y - ---help--- - NX supports a variety of pixel depths. You can save some memory by disabling - support for unused color depths. The selection disables support for 24BPP - pixel depth. - -config NX_DISABLE_32BPP - bool "32 BPP" - default y - ---help--- - NX supports a variety of pixel depths. You can save some memory by disabling - support for unused color depths. The selection disables support for 32BPP - pixel depth. - -endmenu - -config NX_PACKEDMSFIRST - bool "Packed MS First" - default y - depends on NX_DISABLE_1BPP || NX_DISABLE_2BPP || NX_DISABLE_4BPP - ---help--- - If a pixel depth of less than 8-bits is used, then NX needs to know if the - pixels pack from the MS to LS or from LS to MS - -menu "Input Devices" - -config NX_MOUSE - bool "Mouse/Touchscreen Support" - default n - ---help--- - Build in support for mouse or touchscreeninput. - -config NX_KBD - bool "Keyboard Support" - default n - ---help--- - Build in support of keypad/keyboard input. - -endmenu - -menu "Framed Window Borders" - -config NXTK_BORDERWIDTH - int "Border Width" - default 4 - ---help--- - Specifies with with of the border (in pixels) used with framed windows. - The default is 4. - -config NXTK_BORDERCOLOR1 - hex "Border Color" - default 0 - ---help--- - Specify the colors of the border used with framed windows. - NXTL_BODERCOLOR is the "normal" color of the border. - NXTK_BORDERCOLOR2 is the shadow side color and so is normally darker. - NXTK_BORDERCOLOR3 is the shiny side color and so is normally brighter. - -config NXTK_BORDERCOLOR2 - hex "Darker Border Color" - default 0 - ---help--- - Specify the colors of the border used with framed windows. - NXTL_BODERCOLOR is the "normal" color of the border. - NXTK_BORDERCOLOR2 is the shadow side color and so is normally darker. - NXTK_BORDERCOLOR3 is the shiny side color and so is normally brighter. - -config NXTK_BORDERCOLOR3 - hex "Brighter Border Color" - default 0 - ---help--- - Specify the colors of the border used with framed windows. - NXTL_BODERCOLOR is the "normal" color of the border. - NXTK_BORDERCOLOR2 is the shadow side color and so is normally darker. - NXTK_BORDERCOLOR3 is the shiny side color and so is normally brighter. - -endmenu - -config NXTK_AUTORAISE - bool "Autoraise" - default n - ---help--- - If set, a window will be raised to the top if the mouse position is over a - visible portion of the window. Default: A mouse button must be clicked over - a visible portion of the window. - -menu "Font Selections" - -config NXFONTS_CHARBITS - int "Bits in Character Set" - default 7 - range 7 8 - ---help--- - The number of bits in the character set. Current options are only 7 and 8. - The default is 7. - -config NXFONT_MONO5X8 - bool "Mono 5x8" - default n - ---help--- - Tiny mono-spaced 5x8 font (font ID FONTID_MONO5X8 = 18) - -config NXFONT_SANS17X22 - bool "Sans 17x22" - default n - ---help--- - This option enables support for a tiny, 17x22 san serif font - (font ID FONTID_SANS17X22 == 14). - -config NXFONT_SANS20X26 - bool "Sans 20x26" - default n - ---help--- - This option enables support for a tiny, 20x26 san serif font - (font ID FONTID_SANS20X26 == 15). - -config NXFONT_SANS23X27 - bool "Sans 23x27" - default n - ---help--- - This option enables support for a tiny, 23x27 san serif font - (font ID FONTID_SANS23X27 == 1). - -config NXFONT_SANS22X29 - bool "Sans 22x29" - default n - ---help--- - This option enables support for a small, 22x29 san serif font - (font ID FONTID_SANS22X29 == 2). - -config NXFONT_SANS28X37 - bool "Sans 28x37" - default n - ---help--- - This option enables support for a medium, 28x37 san serif font - (font ID FONTID_SANS28X37 == 3). - -config NXFONT_SANS39X48 - bool "Sans 39x48" - default n - ---help--- - This option enables support for a large, 39x48 san serif font - (font ID FONTID_SANS39X48 == 4). - -config NXFONT_SANS17X23B - bool "Sans 17x23 Bold" - default n - ---help--- - This option enables support for a tiny, 17x23 san serif bold font - (font ID FONTID_SANS17X23B == 16). - -config NXFONT_SANS20X27B - bool "Sans 20x27 Bold" - default n - ---help--- - This option enables support for a tiny, 20x27 san serif bold font - (font ID FONTID_SANS20X27B == 17). - -config NXFONT_SANS22X29B - bool "Sans 22x29 Bold" - default n - ---help--- - This option enables support for a small, 22x29 san serif bold font - (font ID FONTID_SANS22X29B == 5). - -config NXFONT_SANS28X37B - bool "Sans 28x37 Bold" - default n - ---help--- - This option enables support for a medium, 28x37 san serif bold font - (font ID FONTID_SANS28X37B == 6). - -config NXFONT_SANS40X49B - bool "Sans 40x49 Bold" - default n - ---help--- - This option enables support for a large, 40x49 san serif bold font - (font ID FONTID_SANS40X49B == 7). - -config NXFONT_SERIF22X29 - bool "Serif 22x29" - default n - ---help--- - This option enables support for a small, 22x29 font (with serifs) - (font ID FONTID_SERIF22X29 == 8). - -config NXFONT_SERIF29X37 - bool "Serif 29x37" - default n - ---help--- - This option enables support for a medium, 29x37 font (with serifs) - (font ID FONTID_SERIF29X37 == 9). - -config NXFONT_SERIF38X48 - bool "Serif 38x48" - default n - ---help--- - This option enables support for a large, 38x48 font (with serifs) - (font ID FONTID_SERIF38X48 == 10). - -config NXFONT_SERIF22X28B - bool "Serif 22x28 Bold" - default n - ---help--- - This option enables support for a small, 27x38 bold font (with serifs) - (font ID FONTID_SERIF22X28B == 11). - -config NXFONT_SERIF27X38B - bool "Serif 27x38 Bold" - default n - ---help--- - This option enables support for a medium, 27x38 bold font (with serifs) - (font ID FONTID_SERIF27X38B == 12). - -config NXFONT_SERIF38X49B - bool "Serif 38x49 Bold" - default n - ---help--- - This option enables support for a large, 38x49 bold font (with serifs) - (font ID FONTID_SERIF38X49B == 13). - -endmenu - -menuconfig NXCONSOLE - bool "NxConsole" - default n - ---help--- - Enables building of the NxConsole driver. - -if NXCONSOLE - -comment "NxConsole Output Text/Graphics Options" - -config NXCONSOLE_BPP - int "NxConsole BPP" - default 1 if !NX_DISABLE_1BPP - default 2 if !NX_DISABLE_2BPP - default 4 if !NX_DISABLE_4BPP - default 8 if !NX_DISABLE_8BPP - default 16 if !NX_DISABLE_16BPP - default 24 if !NX_DISABLE_24BPP - default 32 if !NX_DISABLE_32BPP - ---help--- - Currently, NxConsole supports only a single pixel depth. This - configuration setting must be provided to support that single pixel depth. - Default: The smallest enabled pixel depth. (see NX_DISABLE_*BPP) - -config NXCONSOLE_CURSORCHAR - int "Character code to use as the cursor" - default 137 - ---help--- - The bitmap code to use as the cursor. Default '_' (137) - -config NXCONSOLE_MXCHARS - int "Max Characters on Display" - default 128 - ---help--- - NxConsole needs to remember every character written to the console so - that it can redraw the window. This setting determines the size of some - internal memory allocations used to hold the character data. Default: 128. - -config NXCONSOLE_CACHESIZE - int "Font Cache Size" - default 16 - ---help--- - NxConsole supports caching of rendered fonts. This font caching is required - for two reasons: (1) First, it improves text performance, but more - importantly (2) it preserves the font memory. Since the NX server runs on - a separate server thread, it requires that the rendered font memory persist - until the server has a chance to render the font. Unfortunately, the font - cache would be quite large if all fonts were saved. The NXCONSOLE_CACHESIZE - setting will control the size of the font cache (in number of glyphs). Only that - number of the most recently used glyphs will be retained. Default: 16. - NOTE: There can still be a race condition between the NxConsole driver and the - NX task. If you every see character corruption (especially when printing - a lot of data or scrolling), then increasing the value of NXCONSOLE_CACHESIZE - is something that you should try. Alternatively, you can reduce the size of - MQ_MAXMSGSIZE which will force NxConsole task to pace the server task. - NXCONSOLE_CACHESIZE should be larger than MQ_MAXMSGSIZE in any event. - -config NXCONSOLE_LINESEPARATION - int "Line Separation" - default 0 - ---help--- - This the space (in rows) between each row of test. Default: 0 - -config NXCONSOLE_NOWRAP - bool "No wrap" - default n - ---help--- - By default, lines will wrap when the test reaches the right hand side - of the window. This setting can be defining to change this behavior so - that the text is simply truncated until a new line is encountered. - -comment "NxConsole Input options" - -config NXCONSOLE_NXKBDIN - bool "NX KBD input" - default n - ---help--- - Take input from the NX keyboard input callback. By default, keyboard - input is taken from stdin (/dev/console). If this option is set, then - the interface nxcon_kdbin() is enabled. That interface may be driven - by window callback functions so that keyboard input *only* goes to the - top window. - -config NXCONSOLE_KBDBUFSIZE - int "Keyboard Input Buffer Size" - default 16 - ---help--- - If NXCONSOLE_NXKBDIN is enabled, then this value may be used to - define the size of the per-window keyboard input buffer. Default: 16 - -config NXCONSOLE_NPOLLWAITERS - int "Number of Poll Waiters" - default 4 - ---help--- - The number of threads that can be waiting for read data available. - Default: 4 - -endif - -comment "NX Multi-user only options" - -menuconfig NX_MULTIUSER - bool "Multi-user NX Server" - default n - ---help--- - Configures NX in multi-user mode - -if NX_MULTIUSER - -config NX_BLOCKING - bool "Blocking" - default n - ---help--- - Open the client message queues in blocking mode. In this case, - nx_eventhandler() will not return until a message is received and processed. - -config NX_MXSERVERMSGS - int "Max Server Messages" - default 32 - ---help--- - Specifies the maximum number of messages that can fit in the message queues. - No additional resources are allocated, but this can be set to prevent - flooding of the client or server with too many messages (PREALLOC_MQ_MSGS - controls how many messages are pre-allocated). - -config NX_MXCLIENTMSGS - int "Max Client Messages" - default 16 - ---help--- - Specifies the maximum number of messages that can fit in the message queues. - No additional resources are allocated, but this can be set to prevent - flooding of the client or server with too many messages (PREALLOC_MQ_MSGS - controls how many messages are pre-allocated). - -endif -endif diff --git a/nuttx/graphics/Makefile b/nuttx/graphics/Makefile deleted file mode 100644 index aa402bfa4..000000000 --- a/nuttx/graphics/Makefile +++ /dev/null @@ -1,216 +0,0 @@ -############################################################################ -# graphics/Makefile -# -# Copyright (C) 2008-2009, 2011-2012 Gregory Nutt. All rights reserved. -# Author: Gregory Nutt <gnutt@nuttx.org> -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions -# are met: -# -# 1. Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# 2. Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in -# the documentation and/or other materials provided with the -# distribution. -# 3. Neither the name NuttX nor the names of its contributors may be -# used to endorse or promote products derived from this software -# without specific prior written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS -# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, -# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS -# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED -# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN -# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -# POSSIBILITY OF SUCH DAMAGE. -# -############################################################################ - --include $(TOPDIR)/Make.defs - -DEPPATH = --dep-path . - -ifeq ($(WINTOOL),y) -INCDIROPT = -w -endif - -include nxglib/Make.defs -DEPPATH += --dep-path nxglib -CFLAGS += ${shell $(INCDIR) $(INCDIROPT) "$(CC)" $(TOPDIR)/graphics/nxglib} - -include nxbe/Make.defs -DEPPATH += --dep-path nxbe -CFLAGS += ${shell $(INCDIR) $(INCDIROPT) "$(CC)" $(TOPDIR)/graphics/nxbe} - -ifeq ($(CONFIG_NX_MULTIUSER),y) -include nxmu/Make.defs -DEPPATH += --dep-path nxmu -CFLAGS += ${shell $(INCDIR) $(INCDIROPT) "$(CC)" $(TOPDIR)/graphics/nxmu} -else -include nxsu/Make.defs -DEPPATH += --dep-path nxsu -CFLAGS += ${shell $(INCDIR) $(INCDIROPT) "$(CC)" $(TOPDIR)/graphics/nxsu} -endif - -include nxtk/Make.defs -DEPPATH += --dep-path nxtk -CFLAGS += ${shell $(INCDIR) $(INCDIROPT) "$(CC)" $(TOPDIR)/graphics/nxtk} - -include nxfonts/Make.defs -DEPPATH += --dep-path nxfonts -CFLAGS += ${shell $(INCDIR) $(INCDIROPT) "$(CC)" $(TOPDIR)/graphics/nxfonts} - -ifeq ($(CONFIG_NXCONSOLE),y) -include nxconsole/Make.defs -DEPPATH += --dep-path nxconsole -CFLAGS += ${shell $(INCDIR) $(INCDIROPT) "$(CC)" $(TOPDIR)/graphics/nxconsole} -endif - -ASRCS = $(NXGLIB_ASRCS) $(NXBE_ASRCS) $(NX_ASRCS) $(NXTK_ASRCS) $(NXFONTS_ASRCS) $(NXCON_ASRCS) -AOBJS = $(ASRCS:.S=$(OBJEXT)) - -CSRCS = $(NXGLIB_CSRCS) $(NXBE_CSRCS) $(NX_CSRCS) $(NXTK_CSRCS) $(NXFONTS_CSRCS) $(NXCON_CSRCS) -COBJS = $(CSRCS:.c=$(OBJEXT)) - -SRCS = $(ASRCS) $(CSRCS) -OBJS = $(AOBJS) $(COBJS) - -BIN = libgraphics$(LIBEXT) - -ifeq ($(CONFIG_NX_MULTIUSER),y) -VPATH = nxglib:nxbe:nxmu:nxtk:nxfonts:nxconsole -else -VPATH = nxglib:nxbe:nxsu:nxtk:nxfonts:nxconsole -endif - -all: mklibgraphics -.PHONY : context depend clean distclean mklibgraphics gensources gen1bppsources \ - gen2bppsource gen4bppsource gen8bppsource gen16bppsource gen24bppsource \ - gen32bppsources genfontsources - -gen1bppsources: - $(Q) $(MAKE) -C nxglib -f Makefile.sources TOPDIR=$(TOPDIR) NXGLIB_BITSPERPIXEL=1 EXTRADEFINES=$(EXTRADEFINES) - $(Q) $(MAKE) -C nxfonts -f Makefile.sources TOPDIR=$(TOPDIR) NXFONTS_BITSPERPIXEL=1 EXTRADEFINES=$(EXTRADEFINES) - -gen2bppsource: - $(Q) $(MAKE) -C nxglib -f Makefile.sources TOPDIR=$(TOPDIR) NXGLIB_BITSPERPIXEL=2 EXTRADEFINES=$(EXTRADEFINES) - $(Q) $(MAKE) -C nxfonts -f Makefile.sources TOPDIR=$(TOPDIR) NXFONTS_BITSPERPIXEL=2 EXTRADEFINES=$(EXTRADEFINES) - -gen4bppsource: - $(Q) $(MAKE) -C nxglib -f Makefile.sources TOPDIR=$(TOPDIR) NXGLIB_BITSPERPIXEL=4 EXTRADEFINES=$(EXTRADEFINES) - $(Q) $(MAKE) -C nxfonts -f Makefile.sources TOPDIR=$(TOPDIR) NXFONTS_BITSPERPIXEL=4 EXTRADEFINES=$(EXTRADEFINES) - -gen8bppsource: - $(Q) $(MAKE) -C nxglib -f Makefile.sources TOPDIR=$(TOPDIR) NXGLIB_BITSPERPIXEL=8 EXTRADEFINES=$(EXTRADEFINES) - $(Q) $(MAKE) -C nxfonts -f Makefile.sources TOPDIR=$(TOPDIR) NXFONTS_BITSPERPIXEL=8 EXTRADEFINES=$(EXTRADEFINES) - -gen16bppsource: - $(Q) $(MAKE) -C nxglib -f Makefile.sources TOPDIR=$(TOPDIR) NXGLIB_BITSPERPIXEL=16 EXTRADEFINES=$(EXTRADEFINES) - $(Q) $(MAKE) -C nxfonts -f Makefile.sources TOPDIR=$(TOPDIR) NXFONTS_BITSPERPIXEL=16 EXTRADEFINES=$(EXTRADEFINES) - -gen24bppsource: - $(Q) $(MAKE) -C nxglib -f Makefile.sources TOPDIR=$(TOPDIR) NXGLIB_BITSPERPIXEL=24 EXTRADEFINES=$(EXTRADEFINES) - $(Q) $(MAKE) -C nxfonts -f Makefile.sources TOPDIR=$(TOPDIR) NXFONTS_BITSPERPIXEL=24 EXTRADEFINES=$(EXTRADEFINES) - -gen32bppsources: - $(Q) $(MAKE) -C nxglib -f Makefile.sources TOPDIR=$(TOPDIR) NXGLIB_BITSPERPIXEL=32 EXTRADEFINES=$(EXTRADEFINES) - $(Q) $(MAKE) -C nxfonts -f Makefile.sources TOPDIR=$(TOPDIR) NXFONTS_BITSPERPIXEL=32 EXTRADEFINES=$(EXTRADEFINES) - -genfontsources: -ifeq ($(CONFIG_NXFONT_MONO5X8),y) - @$(MAKE) -C nxfonts -f Makefile.sources TOPDIR=$(TOPDIR) NXFONTS_FONTID=18 EXTRADEFINES=$(EXTRADEFINES) -endif -ifeq ($(CONFIG_NXFONT_SANS23X27),y) - $(Q) $(MAKE) -C nxfonts -f Makefile.sources TOPDIR=$(TOPDIR) NXFONTS_FONTID=1 EXTRADEFINES=$(EXTRADEFINES) -endif -ifeq ($(CONFIG_NXFONT_SANS22X29),y) - $(Q) $(MAKE) -C nxfonts -f Makefile.sources TOPDIR=$(TOPDIR) NXFONTS_FONTID=2 EXTRADEFINES=$(EXTRADEFINES) -endif -ifeq ($(CONFIG_NXFONT_SANS28X37),y) - $(Q) $(MAKE) -C nxfonts -f Makefile.sources TOPDIR=$(TOPDIR) NXFONTS_FONTID=3 EXTRADEFINES=$(EXTRADEFINES) -endif -ifeq ($(CONFIG_NXFONT_SANS39X48),y) - $(Q) $(MAKE) -C nxfonts -f Makefile.sources TOPDIR=$(TOPDIR) NXFONTS_FONTID=4 EXTRADEFINES=$(EXTRADEFINES) -endif -ifeq ($(CONFIG_NXFONT_SANS17X23B),y) - $(Q) $(MAKE) -C nxfonts -f Makefile.sources TOPDIR=$(TOPDIR) NXFONTS_FONTID=16 EXTRADEFINES=$(EXTRADEFINES) -endif -ifeq ($(CONFIG_NXFONT_SANS20X27B),y) - $(Q) $(MAKE) -C nxfonts -f Makefile.sources TOPDIR=$(TOPDIR) NXFONTS_FONTID=17 EXTRADEFINES=$(EXTRADEFINES) -endif -ifeq ($(CONFIG_NXFONT_SANS22X29B),y) - $(Q) $(MAKE) -C nxfonts -f Makefile.sources TOPDIR=$(TOPDIR) NXFONTS_FONTID=5 EXTRADEFINES=$(EXTRADEFINES) -endif -ifeq ($(CONFIG_NXFONT_SANS28X37B),y) - $(Q) $(MAKE) -C nxfonts -f Makefile.sources TOPDIR=$(TOPDIR) NXFONTS_FONTID=6 EXTRADEFINES=$(EXTRADEFINES) -endif -ifeq ($(CONFIG_NXFONT_SANS40X49B),y) - $(Q) $(MAKE) -C nxfonts -f Makefile.sources TOPDIR=$(TOPDIR) NXFONTS_FONTID=7 EXTRADEFINES=$(EXTRADEFINES) -endif -ifeq ($(CONFIG_NXFONT_SERIF22X29),y) - $(Q) $(MAKE) -C nxfonts -f Makefile.sources TOPDIR=$(TOPDIR) NXFONTS_FONTID=8 EXTRADEFINES=$(EXTRADEFINES) -endif -ifeq ($(CONFIG_NXFONT_SERIF29X37),y) - $(Q) $(MAKE) -C nxfonts -f Makefile.sources TOPDIR=$(TOPDIR) NXFONTS_FONTID=9 EXTRADEFINES=$(EXTRADEFINES) -endif -ifeq ($(CONFIG_NXFONT_SERIF38X48),y) - $(Q) $(MAKE) -C nxfonts -f Makefile.sources TOPDIR=$(TOPDIR) NXFONTS_FONTID=10 EXTRADEFINES=$(EXTRADEFINES) -endif -ifeq ($(CONFIG_NXFONT_SERIF22X28B),y) - $(Q) $(MAKE) -C nxfonts -f Makefile.sources TOPDIR=$(TOPDIR) NXFONTS_FONTID=11 EXTRADEFINES=$(EXTRADEFINES) -endif -ifeq ($(CONFIG_NXFONT_SERIF27X38B),y) - $(Q) $(MAKE) -C nxfonts -f Makefile.sources TOPDIR=$(TOPDIR) NXFONTS_FONTID=12 EXTRADEFINES=$(EXTRADEFINES) -endif -ifeq ($(CONFIG_NXFONT_SERIF38X49B),y) - $(Q) $(MAKE) -C nxfonts -f Makefile.sources TOPDIR=$(TOPDIR) NXFONTS_FONTID=13 EXTRADEFINES=$(EXTRADEFINES) -endif -ifeq ($(CONFIG_NXFONT_SANS17X22),y) - $(Q) $(MAKE) -C nxfonts -f Makefile.sources TOPDIR=$(TOPDIR) NXFONTS_FONTID=14 EXTRADEFINES=$(EXTRADEFINES) -endif -ifeq ($(CONFIG_NXFONT_SANS20X26),y) - $(Q) $(MAKE) -C nxfonts -f Makefile.sources TOPDIR=$(TOPDIR) NXFONTS_FONTID=15 EXTRADEFINES=$(EXTRADEFINES) -endif - -gensources: gen1bppsources gen2bppsource gen4bppsource gen8bppsource gen16bppsource gen24bppsource gen32bppsources genfontsources - -$(AOBJS): %$(OBJEXT): %.S - $(call ASSEMBLE, $<, $@) - -$(COBJS): %$(OBJEXT): %.c - $(call COMPILE, $<, $@) - -$(BIN): $(OBJS) - $(call ARCHIVE, $@, $(OBJS)) - -mklibgraphics: gensources $(BIN) - -.depend: gensources Makefile $(SRCS) - $(Q) $(MKDEP) $(DEPPATH) "$(CC)" -- $(CFLAGS) -- $(SRCS) >Make.dep - $(Q) touch $@ - -depend: .depend - -context: gensources - -clean: - $(Q) $(MAKE) -C nxglib -f Makefile.sources clean TOPDIR=$(TOPDIR) EXTRADEFINES=$(EXTRADEFINES) - $(Q) $(MAKE) -C nxfonts -f Makefile.sources clean TOPDIR=$(TOPDIR) EXTRADEFINES=$(EXTRADEFINES) - $(call DELFILE, $(BIN)) - $(call CLEAN) - -distclean: clean - $(Q) $(MAKE) -C nxglib -f Makefile.sources distclean TOPDIR=$(TOPDIR) EXTRADEFINES=$(EXTRADEFINES) - $(Q) $(MAKE) -C nxfonts -f Makefile.sources distclean TOPDIR=$(TOPDIR) EXTRADEFINES=$(EXTRADEFINES) - $(call DELFILE, Make.dep) - $(call DELFILE, .depend) - --include Make.dep - diff --git a/nuttx/graphics/README.txt b/nuttx/graphics/README.txt deleted file mode 100644 index 18aebadbd..000000000 --- a/nuttx/graphics/README.txt +++ /dev/null @@ -1,401 +0,0 @@ -README -^^^^^^ - -This directory contains tiny graphics support for NuttX. The contents of this directory -are only build if CONFIG_NX is defined in the NuttX configuration file. - -Contents -^^^^^^^^ - Roadmap - Related Header Files - Directories - Installing New Fonts - Configuration Settings - -Roadmap -^^^^^^^ - -This directory holds NuttX graphic packages. Not all of these packages are implemented -at the present, but here is the longer term roadmap: - - NxWidgets - NxWidgets is a higher level, C++, object-oriented library for object- - oriented access to graphics "widgets." NxWidgets is provided as a separate - package. NxWidgets is built on top of the core NuttX graphics subsystem, - but is not a part of the core graphics subystems. - NXTOOLKIT - A set of C graphics tools that provide higher-level window drawing - operations. The toolkit can be used for window-oriented graphics - without NxWidgets and is built on top of NX. - NXFONTS - A set of C graphics tools for present (bitmap) font images. - NX - The tiny NuttX windowing system. This includes both a small-footprint, - single user implementaton (NXSU as described below) and a somewhat - larger multi-user implentation (NXMU as described below). Both - conform to the same APIs as defined in include/nuttx/nx/nx.h and, hence, - are more-or-less interchangable. NX can be used without NxWidgets - and without NXTOOLKIT for raw access to window memory. - NXGLIB - Low level graphics utilities and direct framebuffer rendering logic. - NX is built on top of NXGLIB. - NxConsole - NxConsole is a write-only character device that is built on top of - an NX window. This character device can be used to provide stdout - and stderr and, hence, can provide the output side of NuttX console. - NxConsole is only available when the multi-user NX implementation is - selected (CONFIG_NX_MULTIUSERs). - - -Related Header Files -^^^^^^^^^^^^^^^^^^^^ - -include/nuttx/nx/nxglib.h -- Describes the NXGLIB C interfaces -include/nuttx/nx/nx.h -- Describes the NX C interfaces -include/nuttx/nx/nxtk.h -- Describe the NXTOOLKIT C interfaces -include/nuttx/nx/nxfont.h -- Describe sthe NXFONT C interfaces - -Directories -^^^^^^^^^^^ - -graphics/nxglib - The NuttX tiny graphics library. The directory contains generic utilities - support operations on primitive graphics objects and logic to rasterize directly - into a framebuffer. It has no concept of windows (other than the one, framebuffer - window). - -graphics/nxbe - This is the "back-end" of a tiny windowing system. It can be used with either of - two front-ends to complete a windowing system (see nxmu and nxsu below). It - contains most of the important window management logic: clipping, window controls, - window drawing, etc. - -graphics/nxsu - This is the NX single user "front end". When combined with the generic "back-end" - (nxbe), it implements a single thread, single user windowing system. The files - in this directory present the window APIs described in include/nuttx/nx/nx.h. The - single user front-end is selected when CONFIG_NX_MULTIUSER is not defined in the - NuttX configuration file. - -graphics/nxmu - This is the NX multi user "front end". When combined with the generic "back-end" - (nxbe), it implements a multi-threaded, multi-user windowing system. The files - in this directory present the window APIs described in include/nuttx/nx/nx.h. The - multi-user front end includes a graphics server that executes on its own thread; - multiple graphics clients then communicate with the server via a POSIX message - queue to serialize window operations from many threads. The multi-user front-end - is selected when CONFIG_NX_MULTIUSER is defined in the NuttX configuration file. - -graphics/nxfonts - This is where the NXFONTS implementation resides. This is a relatively low- - level set of charset set/glyph management APIs. See include/nuttx/nx/nxfonts.h - -graphics/nxtk - This is where the NXTOOLKIT implementation resides. This toolkit is built on - top of NX and works with either the single-user or multi-user NX version. See - include/nuttx/nx/nxtk.h - -nuttx/../NxWidgets - The NxWidgets code is provided as a separate package located outside of the - NuttX source tree (probably at this location). - -Installing New Fonts -^^^^^^^^^^^^^^^^^^^^ - - There is a tool called bdf-converter in the directory tools/. The bdf-converter - program be used to convert fonts in Bitmap Distribution Format (BDF) - into fonts that can be used in the NX graphics system. - - Below are general instructions for creating and installing a new font - in the NX graphic system: - - 1. Locate a font in BDF format, - 2. Use the bdf-converter program to convert the BDF font to the NuttX - font format. This will result in a C header file containing - defintions. That header file should be installed at, for example, - graphics/nxfonts/nxfonts_myfont.h. - - Create a new NuttX configuration variable. For example, suppose - you define the following variable: CONFIG_NXFONT_MYFONT. Then - you would need to: - - 3. Define CONFIG_NXFONT_MYFONT=y in your NuttX configuration file. - - A font ID number has to be assigned for each new font. The font ID - is defined in the file include/nuttx/nx/nxfonts.h. Those definitions - have to be extended to support your new font. Look at how the font ID - enabled by CONFIG_NXFONT_SANS23X27 is defined and add an ID for your - new font in a similar fashion: - - 4. include/nuttx/nx/nxfonts.h. Add you new font as a possible system - default font: - - #if defined(CONFIG_NXFONT_SANS23X27) - # define NXFONT_DEFAULT FONTID_SANS23X27 - #elif defined(CONFIG_NXFONT_MYFONT) - # define NXFONT_DEFAULT FONTID_MYFONT - #endif - - Then define the actual font ID. Make sure that the font ID value - is unique: - - enum nx_fontid_e - { - FONTID_DEFAULT = 0 /* The default font */ - #ifdef CONFIG_NXFONT_SANS23X27 - , FONTID_SANS23X27 = 1 /* The 23x27 sans serif font */ - #endif - #ifdef CONFIG_NXFONT_MYFONT - , FONTID_MYFONT = 2 /* My shiny, new font */ - #endif - ... - - New Add the font to the NX build system. There are several files that - you have to modify to to this. Look how the build system uses the - font CONFIG_NXFONT_SANS23X27 for examaples: - - 5. nuttx/graphics/Makefile. This file needs logic to auto-generate - a C source file from the header file that you generated with the - the bdf-converter program. Notice NXFONTS_FONTID=2; this must be - set to the same font ID value that you defined in the - include/nuttx/nx/nxfonts.h file. - - genfontsources: - ifeq ($(CONFIG_NXFONT_SANS23X27),y) - @$(MAKE) -C nxfonts -f Makefile.sources TOPDIR=$(TOPDIR) NXFONTS_FONTID=1 EXTRADEFINES=$(EXTRADEFINES) - endif - ifeq ($(CONFIG_NXFONT_MYFONT),y) - @$(MAKE) -C nxfonts -f Makefile.sources TOPDIR=$(TOPDIR) NXFONTS_FONTID=2 EXTRADEFINES=$(EXTRADEFINES) - endif - - 6. nuttx/graphics/nxfonts/Make.defs. Set the make variable NXFSET_CSRCS. - NXFSET_CSRCS determines the name of the font C file to build when - NXFONTS_FONTID=2: - - ifeq ($(CONFIG_NXFONT_SANS23X27),y) - NXFSET_CSRCS += nxfonts_bitmaps_sans23x27.c - endif - ifeq ($(CONFIG_NXFONT_MYFONT),y) - NXFSET_CSRCS += nxfonts_bitmaps_myfont.c - endif - - 7. nuttx/graphics/nxfonts/Makefile.sources. This is the Makefile used - in step 5 that will actually generate the font C file. So, given - your NXFONTS_FONTID=2, it needs to determine a prefix to use for - auto-generated variable and function names and (again) the name of - the autogenerated file to create (this must be the same name that - was used in nuttx/graphics/nxfonts/Make.defs): - - ifeq ($(NXFONTS_FONTID),1) - NXFONTS_PREFIX := g_sans23x27_ - GEN_CSRC = nxfonts_bitmaps_sans23x27.c - endif - ifeq ($(NXFONTS_FONTID),2) - NXFONTS_PREFIX := g_myfont_ - GEN_CSRC = nxfonts_bitmaps_myfont.c - endif - - 8. graphics/nxfonts/nxfonts_bitmaps.c. This is the file that contains - the generic font structures. It is used as a "template" file by - nuttx/graphics/nxfonts/Makefile.sources to create your customized - font data set. - - #if NXFONTS_FONTID == 1 - # include "nxfonts_sans23x27.h" - #elif NXFONTS_FONTID == 2 - # include "nxfonts_myfont.h" - #else - # error "No font ID specified" - #endif - - Where nxfonts_myfont.h is the NuttX font file that we generated in - step 2 using the bdf-converter tool. - - 9. graphics/nxfonts/nxfonts_getfont.c. Finally, we need to extend the - logic that does the run-time font lookups so that can find our new - font. The lookup function is NXHANDLE nxf_getfonthandle(enum nx_fontid_e fontid). - The new font information needs to be added to data structures used by - that function: - - #ifdef CONFIG_NXFONT_SANS23X27 - extern const struct nx_fontpackage_s g_sans23x27_package; - #endif - #ifdef CONFIG_NXFONT_MYFONT - extern const struct nx_fontpackage_s g_myfont_package; - #endif - - static FAR const struct nx_fontpackage_s *g_fontpackages[] = - { - #ifdef CONFIG_NXFONT_SANS23X27 - &g_sans23x27_package, - #endif - #ifdef CONFIG_NXFONT_MYFONT - &g_myfont_package, - #endif - NULL - }; - -Configuration Settings -^^^^^^^^^^^^^^^^^^^^^^ - -General NX Settings -------------------- - -CONFIG_NX - Enables overall support for graphics library and NX -CONFIG_NX_MULTIUSER - Configures NX in multi-user mode -CONFIG_NX_NPLANES - Some YUV color formats requires support for multiple planes, one for each - color component. Unless you have such special hardware, this value should be - undefined or set to 1. -CONFIG_NX_WRITEONLY - Define if the underlying graphics device does not support read operations. - Automatically defined if CONFIG_NX_LCDDRIVER and CONFIG_LCD_NOGETRUN are - defined. -CONFIG_NX_DISABLE_1BPP, CONFIG_NX_DISABLE_2BPP, -CONFIG_NX_DISABLE_4BPP, CONFIG_NX_DISABLE_8BPP, -CONFIG_NX_DISABLE_16BPP, CONFIG_NX_DISABLE_24BPP, and -CONFIG_NX_DISABLE_32BPP - NX supports a variety of pixel depths. You can save some memory by disabling - support for unused color depths. -CONFIG_NX_PACKEDMSFIRST - If a pixel depth of less than 8-bits is used, then NX needs to know if the - pixels pack from the MS to LS or from LS to MS -CONFIG_NX_MOUSE - Build in support for mouse input. -CONFIG_NX_KBD - Build in support of keypad/keyboard input. -CONFIG_NXTK_BORDERWIDTH - Specifies with with of the border (in pixels) used with framed windows. - The default is 4. -CONFIG_NXTK_BORDERCOLOR1, CONFIG_NXTK_BORDERCOLOR2, CONFIG_NXTK_BORDERCOLOR3 - Specify the colors of the border used with framed windows. - CONFIG_NXTK_BORDERCOLOR2 is the shadow side color and so is normally darker. - CONFIG_NXTK_BORDERCOLOR3 is the shiny side color and so is normally brighter. - The default is mediumdark grey, and light grey, respectively -CONFIG_NXTK_AUTORAISE - If set, a window will be raised to the top if the mouse position is over a - visible portion of the window. Default: A mouse button must be clicked over - a visible portion of the window. -CONFIG_NXFONTS_CHARBITS - The number of bits in the character set. Current options are only 7 and 8. - The default is 7. - -Font Selections ---------------- - -CONFIG_NXFONT_SANS17X22 - This option enables support for a tiny, 17x22 san serif font - (font ID FONTID_SANS17X22 == 14). -CONFIG_NXFONT_SANS20X26 - This option enables support for a tiny, 20x26 san serif font - (font ID FONTID_SANS20X26 == 15). -CONFIG_NXFONT_SANS23X27 - This option enables support for a tiny, 23x27 san serif font - (font ID FONTID_SANS23X27 == 1). -CONFIG_NXFONT_SANS22X29 - This option enables support for a small, 22x29 san serif font - (font ID FONTID_SANS22X29 == 2). -CONFIG_NXFONT_SANS28X37 - This option enables support for a medium, 28x37 san serif font - (font ID FONTID_SANS28X37 == 3). -CONFIG_NXFONT_SANS39X48 - This option enables support for a large, 39x48 san serif font - (font ID FONTID_SANS39X48 == 4). -CONFIG_NXFONT_SANS17X23B - This option enables support for a tiny, 17x23 san serif bold font - (font ID FONTID_SANS17X23B == 16). -CONFIG_NXFONT_SANS20X27B - This option enables support for a tiny, 20x27 san serif bold font - (font ID FONTID_SANS20X27B == 17). -CONFIG_NXFONT_SANS22X29B - This option enables support for a small, 22x29 san serif bold font - (font ID FONTID_SANS22X29B == 5). -CONFIG_NXFONT_SANS28X37B - This option enables support for a medium, 28x37 san serif bold font - (font ID FONTID_SANS28X37B == 6). -CONFIG_NXFONT_SANS40X49B - This option enables support for a large, 40x49 san serif bold font - (font ID FONTID_SANS40X49B == 7). -CONFIG_NXFONT_SERIF22X29 - This option enables support for a small, 22x29 font (with serifs) - (font ID FONTID_SERIF22X29 == 8). -CONFIG_NXFONT_SERIF29X37 - This option enables support for a medium, 29x37 font (with serifs) - (font ID FONTID_SERIF29X37 == 9). -CONFIG_NXFONT_SERIF38X48 - This option enables support for a large, 38x48 font (with serifs) - (font ID FONTID_SERIF38X48 == 10). -CONFIG_NXFONT_SERIF22X28B - This option enables support for a small, 27x38 bold font (with serifs) - (font ID FONTID_SERIF22X28B == 11). -CONFIG_NXFONT_SERIF27X38B - This option enables support for a medium, 27x38 bold font (with serifs) - (font ID FONTID_SERIF27X38B == 12). -CONFIG_NXFONT_SERIF38X49B - This option enables support for a large, 38x49 bold font (with serifs) - (font ID FONTID_SERIF38X49B == 13). - -NxConsole Configuration Settings --------------------------------- - -CONFIG_NXCONSOLE - Enables building of the NxConsole driver. - -NxConsole output text/graphics options: - -CONFIG_NXCONSOLE_BPP - Currently, NxConsole supports only a single pixel depth. This - configuration setting must be provided to support that single pixel depth. - Default: The smallest enabled pixel depth. (see CONFIG_NX_DISABLE_*BPP) -CONFIG_NXCONSOLE_CURSORCHAR - The bitmap code to use as the cursor. Default '_' -CONFIG_NXCONSOLE_MXCHARS - NxConsole needs to remember every character written to the console so - that it can redraw the window. This setting determines the size of some - internal memory allocations used to hold the character data. Default: 128. -CONFIG_NXCONSOLE_CACHESIZE - NxConsole supports caching of rendered fonts. This font caching is required - for two reasons: (1) First, it improves text performance, but more - importantly (2) it preserves the font memory. Since the NX server runs on - a separate server thread, it requires that the rendered font memory persist - until the server has a chance to render the font. Unfortunately, the font - cache would be quite large if all fonts were saved. The CONFIG_NXCONSOLE_CACHESIZE - setting will control the size of the font cache (in number of glyphs). Only that - number of the most recently used glyphs will be retained. Default: 16. - NOTE: There can still be a race condition between the NxConsole driver and the - NX task. If you every see character corruption (especially when printing - a lot of data or scrolling), then increasing the value of CONFIG_NXCONSOLE_CACHESIZE - is something that you should try. Alternatively, you can reduce the size of - CONFIG_MQ_MAXMSGSIZE which will force NxConsole task to pace the server task. - CONFIG_NXCONSOLE_CACHESIZE should be larger than ONFIG_MQ_MAXMSGSIZE in any event. -CONFIG_NXCONSOLE_LINESEPARATION - This the space (in rows) between each row of test. Default: 0 -CONFIG_NXCONSOLE_NOWRAP - By default, lines will wrap when the test reaches the right hand side - of the window. This setting can be defining to change this behavior so - that the text is simply truncated until a new line is encountered. - -NxConsole Input options - -CONFIG_NXCONSOLE_NXKBDIN - Take input from the NX keyboard input callback. By default, keyboard - input is taken from stdin (/dev/console). If this option is set, then - the interface nxcon_kdbin() is enabled. That interface may be driven - by window callback functions so that keyboard input *only* goes to the - top window. -CONFIG__NXCONSOLE_KBDBUFSIZE - If CONFIG_NXCONSOLE_NXKBDIN is enabled, then this value may be used to - define the size of the per-window keyboard input buffer. Default: 16 -CONFIG_NXCONSOLE_NPOLLWAITERS - The number of threads that can be waiting for read data available. - Default: 4 - -NX Multi-user only options --------------------------- - -CONFIG_NX_BLOCKING - Open the client message queues in blocking mode. In this case, - nx_eventhandler() will not return until a message is received and processed. -CONFIG_NX_MXSERVERMSGS and CONFIG_NX_MXCLIENTMSGS - Specifies the maximum number of messages that can fit in the message queues. - No additional resources are allocated, but this can be set to prevent - flooding of the client or server with too many messages (CONFIG_PREALLOC_MQ_MSGS - controls how many messages are pre-allocated). - - diff --git a/nuttx/graphics/nxbe/Make.defs b/nuttx/graphics/nxbe/Make.defs deleted file mode 100644 index 53fdf9664..000000000 --- a/nuttx/graphics/nxbe/Make.defs +++ /dev/null @@ -1,41 +0,0 @@ -############################################################################ -# graphics/nxbe/Make.defs -# -# Copyright (C) 2008, 2011 Gregory Nutt. All rights reserved. -# Author: Gregory Nutt <gnutt@nuttx.org> -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions -# are met: -# -# 1. Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# 2. Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in -# the documentation and/or other materials provided with the -# distribution. -# 3. Neither the name NuttX nor the names of its contributors may be -# used to endorse or promote products derived from this software -# without specific prior written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS -# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, -# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS -# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED -# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN -# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -# POSSIBILITY OF SUCH DAMAGE. -# -############################################################################ - -NXBE_ASRCS = -NXBE_CSRCS = nxbe_bitmap.c nxbe_configure.c nxbe_colormap.c nxbe_clipper.c \ - nxbe_closewindow.c nxbe_fill.c nxbe_filltrapezoid.c \ - nxbe_getrectangle.c nxbe_lower.c nxbe_move.c nxbe_raise.c \ - nxbe_redraw.c nxbe_redrawbelow.c nxbe_setpixel.c nxbe_setposition.c \ - nxbe_setsize.c nxbe_visible.c diff --git a/nuttx/graphics/nxbe/nxbe.h b/nuttx/graphics/nxbe/nxbe.h deleted file mode 100644 index aff42d6b3..000000000 --- a/nuttx/graphics/nxbe/nxbe.h +++ /dev/null @@ -1,533 +0,0 @@ -/**************************************************************************** - * graphics/nxbe/nxbe.h - * - * Copyright (C) 2008-2011 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <gnutt@nuttx.org> - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * 3. Neither the name NuttX nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - ****************************************************************************/ - -#ifndef __GRAPHICS_NXBE_NXBE_H -#define __GRAPHICS_NXBE_NXBE_H - -/**************************************************************************** - * Included Files - ****************************************************************************/ - -#include <nuttx/config.h> - -#include <stdint.h> -#include <stdbool.h> - -#include <nuttx/nx/nx.h> -#include <nuttx/nx/nxglib.h> - -/**************************************************************************** - * Pre-Processor Definitions - ****************************************************************************/ - -/* Configuration ************************************************************/ - -#ifndef CONFIG_NX_NPLANES -# define CONFIG_NX_NPLANES 1 /* Max number of color planes supported */ -#endif - -#ifndef CONFIG_NX_NCOLORS -# define CONFIG_NX_NCOLORS 256 -#endif - -/* NXBE Definitions *********************************************************/ -/* These are the values for the clipping order provided to nx_clipper */ - -#define NX_CLIPORDER_TLRB (0) /* Top-left-right-bottom */ -#define NX_CLIPORDER_TRLB (1) /* Top-right-left-bottom */ -#define NX_CLIPORDER_BLRT (2) /* Bottom-left-right-top */ -#define NX_CLIPORDER_BRLT (3) /* Bottom-right-left-top */ -#define NX_CLIPORDER_DEFAULT NX_CLIPORDER_TLRB - -/* Window flags and helper macros */ - -#define NXBE_WINDOW_BLOCKED (1 << 0) /* The window is blocked and will not - * receive further input. */ - -#define NXBE_ISBLOCKED(wnd) (((wnd)->flags & NXBE_WINDOW_BLOCKED) != 0) -#define NXBE_SETBLOCKED(wnd) do { (wnd)->flags |= NXBE_WINDOW_BLOCKED; } while (0) - -/**************************************************************************** - * Public Types - ****************************************************************************/ - -/* Rasterization ************************************************************/ - -/* A tiny vtable of raster operation function pointers. The types of the - * function points must match the rasterizer types exported by nxglib - */ - -struct nxbe_plane_s -{ - /* Raster operation callbacks for this bits-per-pixel value */ - - void (*setpixel)(FAR NX_PLANEINFOTYPE *pinfo, - FAR const struct nxgl_point_s *pos, - nxgl_mxpixel_t color); - void (*fillrectangle)(FAR NX_PLANEINFOTYPE *pinfo, - FAR const struct nxgl_rect_s *rect, - nxgl_mxpixel_t color); - void (*getrectangle)(FAR NX_PLANEINFOTYPE *pinfo, - FAR const struct nxgl_rect_s *rect, - FAR void *dest, unsigned int deststride); - void (*filltrapezoid)(FAR NX_PLANEINFOTYPE *pinfo, - FAR const struct nxgl_trapezoid_s *trap, - FAR const struct nxgl_rect_s *bounds, - nxgl_mxpixel_t color); - void (*moverectangle)(FAR NX_PLANEINFOTYPE *pinfo, - FAR const struct nxgl_rect_s *rect, - FAR struct nxgl_point_s *offset); - void (*copyrectangle)(FAR NX_PLANEINFOTYPE *pinfo, - FAR const struct nxgl_rect_s *dest, - FAR const void *src, - FAR const struct nxgl_point_s *origin, - unsigned int srcstride); - - /* Framebuffer plane info describing destination video plane */ - - NX_PLANEINFOTYPE pinfo; -}; - -/* Clipping *****************************************************************/ - -/* Clipping callback functions called nxbe_clipper for each visible and - * obscured region of a rectangle within a window. - */ - -struct nxbe_clipops_s -{ - void (*visible)(FAR struct nxbe_clipops_s *cops, - FAR struct nxbe_plane_s *plane, - FAR const struct nxgl_rect_s *rect); - - void (*obscured)(FAR struct nxbe_clipops_s *cops, - FAR struct nxbe_plane_s *plane, - FAR const struct nxgl_rect_s *rect); -}; - -/* Windows ******************************************************************/ - -/* This structure represents one window. */ - -struct nxbe_state_s; -struct nxfe_conn_s; -struct nxbe_window_s -{ - /* State information */ - - FAR struct nxbe_state_s *be; /* The back-end state structure */ -#ifdef CONFIG_NX_MULTIUSER - FAR struct nxfe_conn_s *conn; /* Connection to the window client */ -#endif - FAR const struct nx_callback_s *cb; /* Event handling callbacks */ - - /* The following links provide the window's vertical position using a - * singly linked list. - */ - - FAR struct nxbe_window_s *above; /* The window "above" this window */ - FAR struct nxbe_window_s *below; /* The window "below this one */ - - /* Window geometry. The window is described by a rectangle in the - * absolute screen coordinate system (0,0)->(xres,yres) - */ - - struct nxgl_rect_s bounds; /* The bounding rectangle of window */ - - /* Window flags (see the NXBE_* bit definitions above) */ - -#ifdef CONFIG_NX_MULTIUSER /* Currently used only in multi-user mode */ - uint8_t flags; -#endif - - /* Client state information this is provide in window callbacks */ - - FAR void *arg; -}; - -/* Back-end state ***********************************************************/ - -/* This structure describes the overall back-end window state */ - -struct nxbe_state_s -{ - /* The window list (with the background window always at the bottom) */ - - FAR struct nxbe_window_s *topwnd; /* The window at the top of the display */ - struct nxbe_window_s bkgd; /* The background window is always at the bottom */ - - /* At present, only a solid colored background is supported for refills. The - * following provides the background color. It would be nice to support - * background bitmap images as well. - */ - - nxgl_mxpixel_t bgcolor[CONFIG_NX_NPLANES]; - - /* vinfo describes the video controller and plane[n].pinfo describes color - * plane 'n' supported by the video controller. Most common color models - * fit in one plane, but this array provides future support for hardware - * with planar YUV types with 3 or 4 color planes. - */ - - struct fb_videoinfo_s vinfo; - - /* Rasterizing functions selected to match the BPP reported in pinfo[] */ - - struct nxbe_plane_s plane[CONFIG_NX_NPLANES]; -}; - -/**************************************************************************** - * Public Data - ****************************************************************************/ - -#undef EXTERN -#if defined(__cplusplus) -#define EXTERN extern "C" -extern "C" { -#else -#define EXTERN extern -#endif - -/**************************************************************************** - * Public Functions - ****************************************************************************/ - -/**************************************************************************** - * Name: nxbe_colormap - * - * Description: - * Set the harware color map to the palette expected by NX - * - ****************************************************************************/ - -#ifdef CONFIG_FB_CMAP -EXTERN int nxbe_colormap(FAR NX_DRIVERTYPE *dev); -#endif - -/**************************************************************************** - * Name: nx_configure - * - * Description: - * Configure the back end state structure based on information from the - * framebuffer or LCD driver - * - ****************************************************************************/ - -EXTERN int nxbe_configure(FAR NX_DRIVERTYPE *dev, - FAR struct nxbe_state_s *be); - -/**************************************************************************** - * Name: nxbe_closewindow - * - * Description: - * Close an existing window - * - * Input Parameters: - * wnd - The window to be closed (and deallocated) - * - * Return: - * None - * - ****************************************************************************/ - -EXTERN void nxbe_closewindow(struct nxbe_window_s *wnd); - -/**************************************************************************** - * Name: nxbe_setposition - * - * Descripton: - * This function checks for intersections and redraws the display after - * a change in the position of a window. - * - ****************************************************************************/ - -EXTERN void nxbe_setposition(FAR struct nxbe_window_s *wnd, - FAR const struct nxgl_point_s *pos); - -/**************************************************************************** - * Name: nxbe_setsize - * - * Descripton: - * This function checks for intersections and redraws the display after - * a change in the size of a window. - * - ****************************************************************************/ - -EXTERN void nxbe_setsize(FAR struct nxbe_window_s *wnd, - FAR const struct nxgl_size_s *size); - -/**************************************************************************** - * Name: nxbe_raise - * - * Description: - * Bring the specified window to the top of the display. - * - ****************************************************************************/ - -EXTERN void nxbe_raise(FAR struct nxbe_window_s *wnd); - -/**************************************************************************** - * Name: nxbe_lower - * - * Description: - * Lower the specified window to the bottom of the display. - * - ****************************************************************************/ - -EXTERN void nxbe_lower(FAR struct nxbe_window_s *wnd); - -/**************************************************************************** - * Name: nxbe_setpixel - * - * Description: - * Set a single pixel in the window to the specified color. This is simply - * a degenerate case of nxbe_fill(), but may be optimized in some architectures. - * - * Input Parameters: - * wnd - The window structure reference - * pos - The pixel location to be set - * col - The color to use in the set - * - * Return: - * None - * - ****************************************************************************/ - -EXTERN void nxbe_setpixel(FAR struct nxbe_window_s *wnd, - FAR const struct nxgl_point_s *pos, - nxgl_mxpixel_t color[CONFIG_NX_NPLANES]); - -/**************************************************************************** - * Name: nxbe_fill - * - * Description: - * Fill the specified rectangle in the window with the specified color - * - * Input Parameters: - * wnd - The window structure reference - * rect - The location to be filled - * col - The color to use in the fill - * - * Return: - * None - * - ****************************************************************************/ - -EXTERN void nxbe_fill(FAR struct nxbe_window_s *wnd, - FAR const struct nxgl_rect_s *rect, - nxgl_mxpixel_t color[CONFIG_NX_NPLANES]); - -/**************************************************************************** - * Name: nxbe_filltrapezoid - * - * Description: - * Fill the specified rectangle in the window with the specified color - * - * Input Parameters: - * wnd - The window structure reference - * clip - Clipping region (may be null) - * rect - The location to be filled - * col - The color to use in the fill - * - * Return: - * None - * - ****************************************************************************/ - -EXTERN void nxbe_filltrapezoid(FAR struct nxbe_window_s *wnd, - FAR const struct nxgl_rect_s *clip, - FAR const struct nxgl_trapezoid_s *trap, - nxgl_mxpixel_t color[CONFIG_NX_NPLANES]); - -/**************************************************************************** - * Name: nxbe_getrectangle - * - * Description: - * Get the raw contents of graphic memory within a rectangular region. NOTE: - * Since raw graphic memory is returned, the returned memory content may be - * the memory of windows above this one and may not necessarily belong to - * this window unless you assure that this is the top window. - * - * Input Parameters: - * wnd - The window structure reference - * rect - The location to be copied - * plane - Specifies the color plane to get from. - * dest - The location to copy the memory region - * deststride - The width, in bytes, the the dest memory - * - * Return: - * None - * - ****************************************************************************/ - -EXTERN void nxbe_getrectangle(FAR struct nxbe_window_s *wnd, - FAR const struct nxgl_rect_s *rect, - unsigned int plane, - FAR uint8_t *dest, unsigned int deststride); - -/**************************************************************************** - * Name: nxbe_move - * - * Description: - * Move a rectangular region within the window - * - * Input Parameters: - * wnd - The window within which the move is to be done - * rect - Describes the rectangular region to move - * offset - The offset to move the region - * - * Return: - * None - * - ****************************************************************************/ - -EXTERN void nxbe_move(FAR struct nxbe_window_s *wnd, - FAR const struct nxgl_rect_s *rect, - FAR const struct nxgl_point_s *offset); - -/**************************************************************************** - * Name: nxbe_bitmap - * - * Description: - * Copy a rectangular region of a larger image into the rectangle in the - * specified window. - * - * Input Parameters: - * wnd - The window that will receive the bitmap image - * dest - Describes the rectangular on the display that will receive the - * the bit map. - * src - The start of the source image. - * origin - The origin of the upper, left-most corner of the full bitmap. - * Both dest and origin are in window coordinates, however, origin - * may lie outside of the display. - * stride - The width of the full source image in pixels. - * - * Return: - * OK on success; ERROR on failure with errno set appropriately - * - ****************************************************************************/ - -EXTERN void nxbe_bitmap(FAR struct nxbe_window_s *wnd, - FAR const struct nxgl_rect_s *dest, - FAR const void *src[CONFIG_NX_NPLANES], - FAR const struct nxgl_point_s *origin, - unsigned int stride); - -/**************************************************************************** - * Name: nxbe_redraw - * - * Descripton: - * Re-draw the visible portions of the rectangular region for the - * specified window - * - ****************************************************************************/ - -EXTERN void nxbe_redraw(FAR struct nxbe_state_s *be, - FAR struct nxbe_window_s *wnd, - FAR const struct nxgl_rect_s *rect); - -/**************************************************************************** - * Name: nxbe_redrawbelow - * - * Descripton: - * Re-draw the visible portions of the rectangular region for all windows - * below (and including) the specified window. This function is called - * whenever a window is closed, moved, lowered or re-sized in order to - * expose newly visible portions of lower windows. - * - ****************************************************************************/ - -EXTERN void nxbe_redrawbelow(FAR struct nxbe_state_s *be, - FAR struct nxbe_window_s *wnd, - FAR const struct nxgl_rect_s *rect); - -/**************************************************************************** - * Name: nxbe_visible - * - * Descripton: - * Return true if the point, pt, in window wnd is visible. pt is in - * absolute screen coordinates - * - ****************************************************************************/ - -EXTERN bool nxbe_visible(FAR struct nxbe_window_s *wnd, - FAR const struct nxgl_point_s *pos); - -/**************************************************************************** - * Name: nxbe_clipper - * - * Descripton: - * Perform flexible clipping operations. Callbacks are executed for - * each oscured and visible portions of the window. - * - * Input Parameters: - * wnd - The window to be clipped. - * rect - The region of concern within the window - * order - Specifies the order to process the parts of the non-intersecting - * sub-rectangles. - * cops - The callbacks to handle obscured and visible parts of the - * sub-rectangles. - * plane - The raster operations to be used by the callback functions. - * These may vary with different color formats. - * - * Returned Value: - * None - * - ****************************************************************************/ - -EXTERN void nxbe_clipper(FAR struct nxbe_window_s *wnd, - FAR const struct nxgl_rect_s *dest, uint8_t order, - FAR struct nxbe_clipops_s *cops, - FAR struct nxbe_plane_s *plane); - -/**************************************************************************** - * Name: nxbe_clipnull - * - * Descripton: - * The do-nothing clipping callback function - * - ****************************************************************************/ - -EXTERN void nxbe_clipnull(FAR struct nxbe_clipops_s *cops, - FAR struct nxbe_plane_s *plane, - FAR const struct nxgl_rect_s *rect); - -#undef EXTERN -#if defined(__cplusplus) -} -#endif - -#endif /* __GRAPHICS_NXBE_NXBE_H */ - diff --git a/nuttx/graphics/nxbe/nxbe_bitmap.c b/nuttx/graphics/nxbe/nxbe_bitmap.c deleted file mode 100644 index 991b91d82..000000000 --- a/nuttx/graphics/nxbe/nxbe_bitmap.c +++ /dev/null @@ -1,192 +0,0 @@ -/**************************************************************************** - * graphics/nxbe/nxbe_bitmap.c - * - * Copyright (C) 2008-2009, 2012 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <gnutt@nuttx.org> - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * 3. Neither the name NuttX nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - ****************************************************************************/ - -/**************************************************************************** - * Included Files - ****************************************************************************/ - -#include <nuttx/config.h> - -#include <errno.h> -#include <debug.h> - -#include <nuttx/nx/nxglib.h> -#include "nxbe.h" - -/**************************************************************************** - * Pre-Processor Definitions - ****************************************************************************/ - -/**************************************************************************** - * Private Types - ****************************************************************************/ - -struct nx_bitmap_s -{ - struct nxbe_clipops_s cops; - FAR const void *src; /* The start of the source image. */ - struct nxgl_point_s origin; /* Offset into the source image data */ - unsigned int stride; /* The width of the full source image in pixels. */ -}; - -/**************************************************************************** - * Private Data - ****************************************************************************/ - -/**************************************************************************** - * Public Data - ****************************************************************************/ - -/**************************************************************************** - * Private Functions - ****************************************************************************/ - -/**************************************************************************** - * Name: nxs_clipcopy - * - * Description: - * Called from nxbe_clipper() to performed the fill operation on visible portions - * of the rectangle. - * - ****************************************************************************/ - -static void nxs_clipcopy(FAR struct nxbe_clipops_s *cops, - FAR struct nxbe_plane_s *plane, - FAR const struct nxgl_rect_s *rect) -{ - struct nx_bitmap_s *bminfo = (struct nx_bitmap_s *)cops; - plane->copyrectangle(&plane->pinfo, rect, bminfo->src, - &bminfo->origin, bminfo->stride); -} - -/**************************************************************************** - * Public Functions - ****************************************************************************/ - -/**************************************************************************** - * Name: nxbe_bitmap - * - * Description: - * Copy a rectangular region of a larger image into the rectangle in the - * specified window. - * - * Input Parameters: - * wnd - The window that will receive the bitmap image - * dest - Describes the rectangular on the display that will receive the - * the bit map. - * src - The start of the source image. - * origin - The origin of the upper, left-most corner of the full bitmap. - * Both dest and origin are in window coordinates, however, origin - * may lie outside of the display. - * stride - The width of the full source image in pixels. - * - * Return: - * OK on success; ERROR on failure with errno set appropriately - * - ****************************************************************************/ - -void nxbe_bitmap(FAR struct nxbe_window_s *wnd, FAR const struct nxgl_rect_s *dest, - FAR const void *src[CONFIG_NX_NPLANES], - FAR const struct nxgl_point_s *origin, unsigned int stride) -{ - struct nx_bitmap_s info; - struct nxgl_rect_s bounds; - struct nxgl_point_s offset; - struct nxgl_rect_s remaining; - unsigned int deststride; - int i; - -#ifdef CONFIG_DEBUG - if (!wnd || !dest || !src || !origin) - { - return; - } -#endif - - /* Verify that the destination rectangle begins "below" and to the "right" - * of the origin - */ - - if (dest->pt1.x < origin->x || dest->pt1.y < origin->y) - { - gdbg("Bad dest start position\n"); - return; - } - - /* Verify that the width of the destination rectangle does not exceed the - * width of the source bitmap data (taking into account the bitmap origin) - */ - - deststride = (((dest->pt2.x - origin->x + 1) * wnd->be->plane[0].pinfo.bpp + 7) >> 3); - if (deststride > stride) - { - gdbg("Bad dest width\n"); - return; - } - - /* Offset the rectangle and image origin by the window origin */ - - nxgl_rectoffset(&bounds, dest, wnd->bounds.pt1.x, wnd->bounds.pt1.y); - nxgl_vectoradd(&offset, origin, &wnd->bounds.pt1); - - /* Clip to the limits of the window and of the background screen */ - - nxgl_rectintersect(&remaining, &bounds, &wnd->bounds); - nxgl_rectintersect(&remaining, &remaining, &wnd->be->bkgd.bounds); - if (nxgl_nullrect(&remaining)) - { - return; - } - - /* Then perform the clipped fill */ - -#if CONFIG_NX_NPLANES > 1 - for (i = 0; i < wnd->be->vinfo.nplanes; i++) -#else - i = 0; -#endif - { - info.cops.visible = nxs_clipcopy; - info.cops.obscured = nxbe_clipnull; - info.src = src[i]; - info.origin.x = offset.x; - info.origin.y = offset.y; - info.stride = stride; - - nxbe_clipper(wnd->above, &remaining, NX_CLIPORDER_DEFAULT, - &info.cops, &wnd->be->plane[i]); - } -} - diff --git a/nuttx/graphics/nxbe/nxbe_clipper.c b/nuttx/graphics/nxbe/nxbe_clipper.c deleted file mode 100644 index cdbd421c0..000000000 --- a/nuttx/graphics/nxbe/nxbe_clipper.c +++ /dev/null @@ -1,278 +0,0 @@ -/**************************************************************************** - * graphics/nxbe/nxbe_clipper.c - * - * Copyright (C) 2008-2009 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <gnutt@nuttx.org> - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * 3. Neither the name NuttX nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - ****************************************************************************/ - -/**************************************************************************** - * Included Files - ****************************************************************************/ - -#include <nuttx/config.h> - -#include <stdint.h> -#include <stdbool.h> -#include <stdlib.h> -#include <debug.h> - -#include <nuttx/nx/nxglib.h> -#include "nxbe.h" - -/**************************************************************************** - * Pre-Processor Definitions - ****************************************************************************/ - -#define NX_INITIAL_STACKSIZE (32) - -/**************************************************************************** - * Private Types - ****************************************************************************/ - -/* This structure is a container that retains an associated between a - * window instance and a rectangle. - */ - -struct nxbe_cliprect_s -{ - FAR struct nxbe_window_s *wnd; - struct nxgl_rect_s rect; -}; - -/* This is the stack of pending clip operations */ - -struct nxbe_clipstack_s -{ - uint16_t npushed; /* Number of deferred rectangles in stack */ - uint16_t mxrects; /* The capacity of the stack */ - struct nxbe_cliprect_s *stack; /* The stack of deferred rectangles */ -}; - -/**************************************************************************** - * Private Data - ****************************************************************************/ - -static const uint8_t g_nxcliporder[4][4] = -{ - { NX_TOP_NDX, NX_LEFT_NDX, NX_RIGHT_NDX, NX_BOTTOM_NDX }, /* index = NX_CLIPORDER_TLRB */ - { NX_TOP_NDX, NX_RIGHT_NDX, NX_LEFT_NDX, NX_BOTTOM_NDX }, /* NX_CLIPORDER_TRLB */ - { NX_BOTTOM_NDX, NX_LEFT_NDX, NX_RIGHT_NDX, NX_TOP_NDX }, /* NX_CLIPORDER_BLRT */ - { NX_BOTTOM_NDX, NX_RIGHT_NDX, NX_LEFT_NDX, NX_TOP_NDX } /* NX_CLIPORDER_BRLT */ -}; - -/**************************************************************************** - * Public Data - ****************************************************************************/ - -/**************************************************************************** - * Private Functions - ****************************************************************************/ - -/**************************************************************************** - * Name: nxbe_pushrectangle - ****************************************************************************/ - -static inline void nxbe_pushrectangle(FAR struct nxbe_clipstack_s *stack, - FAR struct nxbe_window_s *wnd, - FAR const struct nxgl_rect_s *rect) -{ - /* Check if there is room on the stack to hold another rectangle */ - - if ((stack->npushed + 1) > stack->mxrects) - { - /* No then we will need to reallocate the stack to hole more */ - - int mxrects = stack->mxrects ? 2 * stack->mxrects : NX_INITIAL_STACKSIZE; - struct nxbe_cliprect_s *newstack; - - newstack = realloc(stack->stack, sizeof(struct nxbe_cliprect_s) * mxrects); - if (!newstack) - { - gdbg("Failed to reallocate stack\n"); - return; - } - - stack->stack = newstack; - stack->mxrects = mxrects; - } - - /* Then push the new rectangle onto the stack */ - - stack->stack[stack->npushed].wnd = wnd; - nxgl_rectcopy(&stack->stack[stack->npushed].rect, rect); - stack->npushed++; -} - -/**************************************************************************** - * Name: nxbe_poprectangle - ****************************************************************************/ - -static inline bool nxbe_poprectangle(struct nxbe_clipstack_s *stack, - FAR struct nxbe_window_s **wnd, - struct nxgl_rect_s *rect) -{ - if(stack->npushed > 0) - { - stack->npushed--; - *wnd = stack->stack[stack->npushed].wnd; - nxgl_rectcopy(rect, &stack->stack[stack->npushed].rect); - return true; - } - return false; -} - -/**************************************************************************** - * Public Functions - ****************************************************************************/ - -/**************************************************************************** - * Name: nxbe_clipper - * - * Descripton: - * Perform flexible clipping operations. Callbacks are executed for - * each oscured and visible portions of the window. - * - * Input Parameters: - * wnd - The window to be clipped. - * rect - The region of concern within the window - * order - Specifies the order to process the parts of the non-intersecting - * sub-rectangles. - * cops - The callbacks to handle obscured and visible parts of the - * sub-rectangles. - * plane - The raster operations to be used by the callback functions. - * These may vary with different color formats. - * - * Returned Value: - * None - * - ****************************************************************************/ - -void nxbe_clipper(FAR struct nxbe_window_s *wnd, - FAR const struct nxgl_rect_s *dest, uint8_t order, - FAR struct nxbe_clipops_s *cops, - FAR struct nxbe_plane_s *plane) -{ - struct nxbe_clipstack_s stack; - FAR struct nxbe_window_s *currw; - struct nxgl_rect_s rect; - struct nxgl_rect_s obscuredrect; - struct nxgl_rect_s currbounds; - struct nxgl_rect_s nonoverlapped[4]; - int i; - - /* Initialize the stack where we will keep deferred rectangle operations */ - - stack.npushed = 0; - stack.mxrects = 0; - stack.stack = NULL; - - /* Loop until there are no further pending operations */ - - nxgl_rectcopy(&rect, dest); /* Start with the whole dest rectangle */ - do - { - /* Loop for every window from the current window and above. Only windows - * above the current window can obscure the current window - */ - - for (currw = wnd; currw; currw = currw->above) - { - /* Does the current window overlap the dest rectangle? */ - - currbounds = currw->bounds; - if (nxgl_rectoverlap(&rect, &currbounds)) - { - /* Yes.. then it obscures all or part of the dest rectangle. - * Divide the potentially visible, non-overlapping regions into 4 - * smaller rectangles and push them onto the stack for processing - * on the next time through the outer loop. - */ - - nxgl_nonintersecting(nonoverlapped, &rect, &currbounds); - for (i = 3; i >= 0; i--) - { - /* Push the rectangles in the order specific by the input - * argument of that name. - */ - - struct nxgl_rect_s *candidate = &nonoverlapped[g_nxcliporder[order][i]]; - if (!nxgl_nullrect(candidate)) - { - nxbe_pushrectangle(&stack, currw->above, candidate); - } - } - - /* Now performed any required processing on the obscurred, - * overlapped region. - */ - - nxgl_rectintersect(&obscuredrect, &rect, &currbounds); - cops->obscured(cops, plane, &obscuredrect); - - /* Break out of the loop to process the pushed rectangles */ - - break; - } - } - - /* If there are no other windows overlapping this rectangle, then this - * rectangular region must be visible. - */ - - if (!currw && !nxgl_nullrect(&rect)) - { - cops->visible(cops, plane, &rect); - } - } - while (nxbe_poprectangle(&stack, &wnd, &rect)); - - /* Done! If any stack was allocated, then free it before exit-ting */ - - if (stack.stack) - { - free(stack.stack); - } -} - -/**************************************************************************** - * Name: nxbe_clipnull - * - * Descripton: - * The do-nothing clipping callback function - * - ****************************************************************************/ - -void nxbe_clipnull(FAR struct nxbe_clipops_s *cops, - FAR struct nxbe_plane_s *plane, - FAR const struct nxgl_rect_s *rect) -{ -} - diff --git a/nuttx/graphics/nxbe/nxbe_closewindow.c b/nuttx/graphics/nxbe/nxbe_closewindow.c deleted file mode 100644 index e632ebf01..000000000 --- a/nuttx/graphics/nxbe/nxbe_closewindow.c +++ /dev/null @@ -1,137 +0,0 @@ -/**************************************************************************** - * graphics/nxbe/nxbe_closewindow.c - * - * Copyright (C) 2008-2009, 2011 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <gnutt@nuttx.org> - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * 3. Neither the name NuttX nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - ****************************************************************************/ - -/**************************************************************************** - * Included Files - ****************************************************************************/ - -#include <nuttx/config.h> - -#include <stdlib.h> -#include <assert.h> -#include <debug.h> - -#include <nuttx/nx/nxglib.h> -#include "nxbe.h" - -/**************************************************************************** - * Pre-Processor Definitions - ****************************************************************************/ - -/**************************************************************************** - * Private Types - ****************************************************************************/ - -/**************************************************************************** - * Private Data - ****************************************************************************/ - -/**************************************************************************** - * Public Data - ****************************************************************************/ - -/**************************************************************************** - * Private Functions - ****************************************************************************/ - -/**************************************************************************** - * Public Functions - ****************************************************************************/ - -/**************************************************************************** - * Name: nxbe_closewindow - * - * Description: - * Close an existing window - * - * Input Parameters: - * wnd - The window to be closed (and deallocated) - * - * Return: - * None - * - ****************************************************************************/ - -void nxbe_closewindow(struct nxbe_window_s *wnd) -{ - FAR struct nxbe_state_s *be; - -#ifdef CONFIG_DEBUG - if (!wnd) - { - return; - } -#endif - be = wnd->be; - - /* The background window should never be closed */ - - DEBUGASSERT(wnd != &be->bkgd); - - /* Is there a window above the one being closed? */ - - if (wnd->above) - { - /* Yes, now the window below that one is the window below - * the one being closed. - */ - - wnd->above->below = wnd->below; - } - else - { - /* No, then the top window is the one below this (which - * can never be NULL because the background window is - * always at the true bottom of the list - */ - - be->topwnd = wnd->below; - } - - /* There is always a window below the one being closed (because - * the background is never closed. Now, the window above that - * is the window above the one that is being closed. - */ - - wnd->below->above = wnd->above; - - /* Redraw the windows that were below us (and may now be exposed) */ - - nxbe_redrawbelow(be, wnd->below, &wnd->bounds); - - /* Then discard the window structure */ - - free(wnd); -} diff --git a/nuttx/graphics/nxbe/nxbe_colormap.c b/nuttx/graphics/nxbe/nxbe_colormap.c deleted file mode 100644 index e33877382..000000000 --- a/nuttx/graphics/nxbe/nxbe_colormap.c +++ /dev/null @@ -1,155 +0,0 @@ -/**************************************************************************** - * graphics/nxbe/nxbe_colormap.c - * - * Copyright (C) 2008-2009,2011 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <gnutt@nuttx.org> - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * 3. Neither the name NuttX nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - ****************************************************************************/ - -/**************************************************************************** - * Included Files - ****************************************************************************/ - -#include <nuttx/config.h> - -#include <stdint.h> -#include <stdlib.h> -#include <string.h> -#include <errno.h> -#include <debug.h> - -#include "nxbe.h" - -/**************************************************************************** - * Pre-Processor Definitions - ****************************************************************************/ - -/**************************************************************************** - * Private Types - ****************************************************************************/ - -/**************************************************************************** - * Private Data - ****************************************************************************/ - -/**************************************************************************** - * Public Data - ****************************************************************************/ - -/**************************************************************************** - * Private Functions - ****************************************************************************/ - -/**************************************************************************** - * Public Functions - ****************************************************************************/ - -/**************************************************************************** - * Name: nxbe_colormap - * - * Description: - * Set the harware color map to the palette expected by NX - * - ****************************************************************************/ - -#if CONFIG_FB_CMAP -int nxbe_colormap(FAR NX_DRIVERTYPE *dev) -{ - struct fb_cmap_s cmap; - uint8_t *alloc; - uint8_t *red; - uint8_t *green; - uint8_t *blue; - uint8_t rval; - uint8_t gval; - int size; - int ndx; - int ret; - int i, j, k; - - /* Allocate the color map tables in one allocation: - * - * size = 3 colors x CONFIG_NX_COLORS each x 8-bits per color - */ - - size = 3 * CONFIG_NX_NCOLORS * sizeof(uint8_t); - alloc = (uint8_t*)malloc(size); - if (alloc == NULL) - { - return -ENOMEM; - } - memset(alloc, 0xff, size); - - /* Then get pointers to each color table */ - - red = alloc; - green = &alloc[CONFIG_NX_NCOLORS]; - blue = &alloc[2*CONFIG_NX_NCOLORS]; - - /* Initialize the color map tables. 6*6*6 = 216, the rest - * are (0xff, 0xfff 0xff) - */ - - ndx = 0; - for (i = 0; i < 6; i++) - { - rval = (i * (CONFIG_NX_NCOLORS-1) / 5) << 8; - for (j = 0; j < 6; j++) - { - gval = (j * (CONFIG_NX_NCOLORS-1) / 5) << 8; - for (k = 0; k < 6; k++) - { - red[ndx] = rval; - green[ndx] = gval; - blue[ndx] = k * (CONFIG_NX_NCOLORS-1) / 5; - ndx++; - } - } - } - - /* Now configure the cmap structure */ - - cmap.first = 0; - cmap.len = CONFIG_NX_NCOLORS; - cmap.red = red; - cmap.green = green; - cmap.blue = blue; -#ifdef CONFIG_FB_TRANSPARENCY - cmap.transp = NULL; -#endif - - /* Then set the color map */ - - ret = dev->putcmap(dev, &cmap); - - free(alloc); - return ret; -} -#endif diff --git a/nuttx/graphics/nxbe/nxbe_configure.c b/nuttx/graphics/nxbe/nxbe_configure.c deleted file mode 100644 index 80c71db3a..000000000 --- a/nuttx/graphics/nxbe/nxbe_configure.c +++ /dev/null @@ -1,219 +0,0 @@ -/**************************************************************************** - * graphics/nxbe/nxbe_configure.c - * - * Copyright (C) 2008-2010 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <gnutt@nuttx.org> - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * 3. Neither the name NuttX nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - ****************************************************************************/ - -/**************************************************************************** - * Included Files - ****************************************************************************/ - -#include <nuttx/config.h> - -#include <stddef.h> -#include <errno.h> -#include <debug.h> - -#include "nxbe.h" - -/**************************************************************************** - * Pre-Processor Definitions - ****************************************************************************/ - -/**************************************************************************** - * Private Types - ****************************************************************************/ - -/**************************************************************************** - * Private Data - ****************************************************************************/ - -/**************************************************************************** - * Public Data - ****************************************************************************/ - -/**************************************************************************** - * Private Functions - ****************************************************************************/ - -/**************************************************************************** - * Public Functions - ****************************************************************************/ - -/**************************************************************************** - * Name: nxbe_configure - * - * Description: - * Configure the back end state structure based on information from the - * framebuffer driver - * - ****************************************************************************/ - -int nxbe_configure(FAR NX_DRIVERTYPE *dev, FAR struct nxbe_state_s *be) -{ - int ret; - int i; - - /* Get the video controller configuration */ - - ret = dev->getvideoinfo(dev, &be->vinfo); - if (ret < 0) - { - gdbg("Failed to get vinfo\n"); - return ret; - } - - /* Check the number of color planes */ - -#ifdef CONFIG_DEBUG - if (be->vinfo.nplanes > CONFIG_NX_NPLANES) - { - gdbg("NX configured for only %d planes, controller wants %d\n", - CONFIG_NX_NPLANES, be->vinfo.nplanes); - return -E2BIG; - } - else if (be->vinfo.nplanes < CONFIG_NX_NPLANES) - { - gdbg("NX configured for %d planes, controller only needs %d\n", - CONFIG_NX_NPLANES, be->vinfo.nplanes); - } -#endif - - /* Then get information about each color plane */ - - for (i = 0; i < be->vinfo.nplanes; i++) - { - ret = dev->getplaneinfo(dev, i, &be->plane[i].pinfo); - if (ret < 0) - { - gdbg("Failed to get pinfo[%d]\n", i); - return ret; - } - - /* Select rasterizers to match the BPP reported for this plane. - * NOTE that there are configuration options to eliminate support - * for unused BPP values. If the unused BPP values are not suppressed - * in this way, then ALL rasterizers will be drawn into the link and - * will signicantly increase the size - */ - -#ifndef CONFIG_NX_DISABLE_1BPP - if (be->plane[i].pinfo.bpp == 1) - { - be->plane[i].setpixel = nxgl_setpixel_1bpp; - be->plane[i].fillrectangle = nxgl_fillrectangle_1bpp; - be->plane[i].getrectangle = nxgl_getrectangle_1bpp; - be->plane[i].filltrapezoid = nxgl_filltrapezoid_1bpp; - be->plane[i].moverectangle = nxgl_moverectangle_1bpp; - be->plane[i].copyrectangle = nxgl_copyrectangle_1bpp; - } - else -#endif -#ifndef CONFIG_NX_DISABLE_2BPP - if (be->plane[i].pinfo.bpp == 2) - { - be->plane[i].setpixel = nxgl_setpixel_2bpp; - be->plane[i].fillrectangle = nxgl_fillrectangle_2bpp; - be->plane[i].getrectangle = nxgl_getrectangle_2bpp; - be->plane[i].filltrapezoid = nxgl_filltrapezoid_2bpp; - be->plane[i].moverectangle = nxgl_moverectangle_2bpp; - be->plane[i].copyrectangle = nxgl_copyrectangle_2bpp; - } - else -#endif -#ifndef CONFIG_NX_DISABLE_4BPP - if (be->plane[i].pinfo.bpp == 4) - { - be->plane[i].setpixel = nxgl_setpixel_4bpp; - be->plane[i].fillrectangle = nxgl_fillrectangle_4bpp; - be->plane[i].getrectangle = nxgl_getrectangle_4bpp; - be->plane[i].filltrapezoid = nxgl_filltrapezoid_4bpp; - be->plane[i].moverectangle = nxgl_moverectangle_4bpp; - be->plane[i].copyrectangle = nxgl_copyrectangle_4bpp; - } - else -#endif -#ifndef CONFIG_NX_DISABLE_8BPP - if (be->plane[i].pinfo.bpp == 8) - { - be->plane[i].setpixel = nxgl_setpixel_8bpp; - be->plane[i].fillrectangle = nxgl_fillrectangle_8bpp; - be->plane[i].getrectangle = nxgl_getrectangle_8bpp; - be->plane[i].filltrapezoid = nxgl_filltrapezoid_8bpp; - be->plane[i].moverectangle = nxgl_moverectangle_8bpp; - be->plane[i].copyrectangle = nxgl_copyrectangle_8bpp; - } - else -#endif -#ifndef CONFIG_NX_DISABLE_16BPP - if (be->plane[i].pinfo.bpp == 16) - { - be->plane[i].setpixel = nxgl_setpixel_16bpp; - be->plane[i].fillrectangle = nxgl_fillrectangle_16bpp; - be->plane[i].getrectangle = nxgl_getrectangle_16bpp; - be->plane[i].filltrapezoid = nxgl_filltrapezoid_16bpp; - be->plane[i].moverectangle = nxgl_moverectangle_16bpp; - be->plane[i].copyrectangle = nxgl_copyrectangle_16bpp; - } - else -#endif -#ifndef CONFIG_NX_DISABLE_24BPP - if (be->plane[i].pinfo.bpp == 24) - { - be->plane[i].setpixel = nxgl_setpixel_24bpp; - be->plane[i].fillrectangle = nxgl_fillrectangle_24bpp; - be->plane[i].getrectangle = nxgl_getrectangle_24bpp; - be->plane[i].filltrapezoid = nxgl_filltrapezoid_24bpp; - be->plane[i].moverectangle = nxgl_moverectangle_24bpp; - be->plane[i].copyrectangle = nxgl_copyrectangle_24bpp; - } - else -#endif -#ifndef CONFIG_NX_DISABLE_32BPP - if (be->plane[i].pinfo.bpp == 32) - { - be->plane[i].setpixel = nxgl_setpixel_32bpp; - be->plane[i].fillrectangle = nxgl_fillrectangle_32bpp; - be->plane[i].getrectangle = nxgl_getrectangle_32bpp; - be->plane[i].filltrapezoid = nxgl_filltrapezoid_32bpp; - be->plane[i].moverectangle = nxgl_moverectangle_32bpp; - be->plane[i].copyrectangle = nxgl_copyrectangle_32bpp; - } - else -#endif - { - gdbg("Unsupported pinfo[%d] BPP: %d\n", i, be->plane[i].pinfo.bpp); - return -ENOSYS; - } - } - return OK; -} diff --git a/nuttx/graphics/nxbe/nxbe_fill.c b/nuttx/graphics/nxbe/nxbe_fill.c deleted file mode 100644 index c2b4266b0..000000000 --- a/nuttx/graphics/nxbe/nxbe_fill.c +++ /dev/null @@ -1,157 +0,0 @@ -/**************************************************************************** - * graphics/nxbe/nxbe_fill.c - * - * Copyright (C) 2008-2009, 2011 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <gnutt@nuttx.org> - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * 3. Neither the name NuttX nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - ****************************************************************************/ - -/**************************************************************************** - * Included Files - ****************************************************************************/ - -#include <nuttx/config.h> - -#include <nuttx/nx/nxglib.h> - -#include "nxbe.h" - -/**************************************************************************** - * Pre-Processor Definitions - ****************************************************************************/ - -/**************************************************************************** - * Private Types - ****************************************************************************/ - -struct nxbe_fill_s -{ - struct nxbe_clipops_s cops; - nxgl_mxpixel_t color; -}; - -/**************************************************************************** - * Private Data - ****************************************************************************/ - -/**************************************************************************** - * Public Data - ****************************************************************************/ - -/**************************************************************************** - * Private Functions - ****************************************************************************/ - -/**************************************************************************** - * Name: nxbe_clipfill - * - * Description: - * Called from nxbe_clipper() to performed the fill operation on visible portions - * of the rectangle. - * - ****************************************************************************/ - -static void nxbe_clipfill(FAR struct nxbe_clipops_s *cops, - FAR struct nxbe_plane_s *plane, - FAR const struct nxgl_rect_s *rect) -{ - struct nxbe_fill_s *fillinfo = (struct nxbe_fill_s *)cops; - plane->fillrectangle(&plane->pinfo, rect, fillinfo->color); -} - -/**************************************************************************** - * Public Functions - ****************************************************************************/ - -/**************************************************************************** - * Name: nxbe_fill - * - * Description: - * Fill the specified rectangle in the window with the specified color - * - * Input Parameters: - * wnd - The window structure reference - * rect - The location to be filled - * col - The color to use in the fill - * - * Return: - * None - * - ****************************************************************************/ - -void nxbe_fill(FAR struct nxbe_window_s *wnd, - FAR const struct nxgl_rect_s *rect, - nxgl_mxpixel_t color[CONFIG_NX_NPLANES]) -{ - struct nxbe_fill_s info; - struct nxgl_rect_s remaining; - int i; - -#ifdef CONFIG_DEBUG - if (!wnd || !rect) - { - return; - } -#endif - - /* Offset the rectangle by the window origin to convert it into a - * bounding box - */ - - nxgl_rectoffset(&remaining, rect, wnd->bounds.pt1.x, wnd->bounds.pt1.y); - - /* Clip to the bounding box to the limits of the window and of the - * background screen - */ - - nxgl_rectintersect(&remaining, &remaining, &wnd->bounds); - nxgl_rectintersect(&remaining, &remaining, &wnd->be->bkgd.bounds); - - /* Then clip the bounding box due to other windows above this one. - * Render the portions of the trapezoid exposed in visible regions. - */ - - if (!nxgl_nullrect(&remaining)) - { -#if CONFIG_NX_NPLANES > 1 - for (i = 0; i < wnd->be->vinfo.nplanes; i++) -#else - i = 0; -#endif - { - info.cops.visible = nxbe_clipfill; - info.cops.obscured = nxbe_clipnull; - info.color = color[i]; - - nxbe_clipper(wnd->above, &remaining, NX_CLIPORDER_DEFAULT, - &info.cops, &wnd->be->plane[i]); - } - } -} diff --git a/nuttx/graphics/nxbe/nxbe_filltrapezoid.c b/nuttx/graphics/nxbe/nxbe_filltrapezoid.c deleted file mode 100644 index 68dad838c..000000000 --- a/nuttx/graphics/nxbe/nxbe_filltrapezoid.c +++ /dev/null @@ -1,173 +0,0 @@ -/**************************************************************************** - * graphics/nxbe/nxbe_filltrapezoid.c - * - * Copyright (C) 2008-2009, 2012 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <gnutt@nuttx.org> - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * 3. Neither the name NuttX nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - ****************************************************************************/ - -/**************************************************************************** - * Included Files - ****************************************************************************/ - -#include <nuttx/config.h> - -#include <fixedmath.h> -#include <nuttx/nx/nxglib.h> - -#include "nxbe.h" - -/**************************************************************************** - * Pre-Processor Definitions - ****************************************************************************/ - -/**************************************************************************** - * Private Types - ****************************************************************************/ - -struct nxbe_filltrap_s -{ - struct nxbe_clipops_s cops; - struct nxgl_trapezoid_s trap; - nxgl_mxpixel_t color; -}; - -/**************************************************************************** - * Private Data - ****************************************************************************/ - -/**************************************************************************** - * Public Data - ****************************************************************************/ - -/**************************************************************************** - * Private Functions - ****************************************************************************/ - -/**************************************************************************** - * Name: nxbe_clipfilltrapezoid - * - * Description: - * Called from nxbe_clipper() to performed the fill operation on visible portions - * of the rectangle. - * - ****************************************************************************/ - -static void nxbe_clipfilltrapezoid(FAR struct nxbe_clipops_s *cops, - FAR struct nxbe_plane_s *plane, - FAR const struct nxgl_rect_s *rect) -{ - struct nxbe_filltrap_s *fillinfo = (struct nxbe_filltrap_s *)cops; - plane->filltrapezoid(&plane->pinfo, &fillinfo->trap, rect, fillinfo->color); -} - -/**************************************************************************** - * Public Functions - ****************************************************************************/ - -/**************************************************************************** - * Name: nxbe_filltrapezoid - * - * Description: - * Fill the specified rectangle in the window with the specified color - * - * Input Parameters: - * wnd - The window structure reference - * clip - Clipping region (in relative window coordinates) - * rect - The location to be filled (in relative window coordinates) - * col - The color to use in the fill - * - * Return: - * None - * - ****************************************************************************/ - -void nxbe_filltrapezoid(FAR struct nxbe_window_s *wnd, - FAR const struct nxgl_rect_s *clip, - FAR const struct nxgl_trapezoid_s *trap, - nxgl_mxpixel_t color[CONFIG_NX_NPLANES]) -{ - struct nxbe_filltrap_s info; - struct nxgl_rect_s remaining; - int i; - -#ifdef CONFIG_DEBUG - if (!wnd || !trap) - { - return; - } -#endif - - /* Offset the trapezoid by the window origin to position it within - * the framebuffer region - */ - - nxgl_trapoffset(&info.trap, trap, wnd->bounds.pt1.x, wnd->bounds.pt1.y); - - /* Create a bounding box that contains the trapezoid */ - - remaining.pt1.x = b16toi(ngl_min(info.trap.top.x1, info.trap.bot.x1)); - remaining.pt1.y = info.trap.top.y; - remaining.pt2.x = b16toi(ngl_max(info.trap.top.x2, info.trap.bot.x2)); - remaining.pt2.y = info.trap.bot.y; - - /* Clip to any user specified clipping window */ - - if (clip) - { - struct nxgl_rect_s tmp; - nxgl_rectoffset(&tmp, clip, wnd->bounds.pt1.x, wnd->bounds.pt1.y); - nxgl_rectintersect(&remaining, &remaining, &tmp); - } - - /* Clip to the limits of the window and of the background screen */ - - nxgl_rectintersect(&remaining, &remaining, &wnd->bounds); - nxgl_rectintersect(&remaining, &remaining, &wnd->be->bkgd.bounds); - - if (!nxgl_nullrect(&remaining)) - { - info.cops.visible = nxbe_clipfilltrapezoid; - info.cops.obscured = nxbe_clipnull; - - /* Then process each color plane */ - -#if CONFIG_NX_NPLANES > 1 - for (i = 0; i < wnd->be->vinfo.nplanes; i++) -#else - i = 0; -#endif - { - info.color = color[i]; - nxbe_clipper(wnd->above, &remaining, NX_CLIPORDER_DEFAULT, - &info.cops, &wnd->be->plane[i]); - } - } -} diff --git a/nuttx/graphics/nxbe/nxbe_getrectangle.c b/nuttx/graphics/nxbe/nxbe_getrectangle.c deleted file mode 100644 index 84f010cd5..000000000 --- a/nuttx/graphics/nxbe/nxbe_getrectangle.c +++ /dev/null @@ -1,138 +0,0 @@ -/**************************************************************************** - * graphics/nxbe/nxbe_fill.c - * - * Copyright (C) 2011 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <gnutt@nuttx.org> - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * 3. Neither the name NuttX nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - ****************************************************************************/ - -/**************************************************************************** - * Included Files - ****************************************************************************/ - -#include <nuttx/config.h> - -#include <errno.h> -#include <debug.h> - -#include <nuttx/nx/nxglib.h> - -#include "nxbe.h" - -/**************************************************************************** - * Pre-Processor Definitions - ****************************************************************************/ - -/**************************************************************************** - * Private Types - ****************************************************************************/ - -struct nxbe_fill_s -{ - struct nxbe_clipops_s cops; - nxgl_mxpixel_t color; -}; - -/**************************************************************************** - * Private Data - ****************************************************************************/ - -/**************************************************************************** - * Public Data - ****************************************************************************/ - -/**************************************************************************** - * Private Functions - ****************************************************************************/ - -/**************************************************************************** - * Public Functions - ****************************************************************************/ - -/**************************************************************************** - * Name: nxbe_getrectangle - * - * Description: - * Get the raw contents of graphic memory within a rectangular region. NOTE: - * Since raw graphic memory is returned, the returned memory content may be - * the memory of windows above this one and may not necessarily belong to - * this window unless you assure that this is the top window. - * - * Input Parameters: - * wnd - The window structure reference - * rect - The location to be copied - * plane - Specifies the color plane to get from. - * dest - The location to copy the memory region - * deststride - The width, in bytes, the the dest memory - * - * Return: - * None - * - ****************************************************************************/ - -void nxbe_getrectangle(FAR struct nxbe_window_s *wnd, - FAR const struct nxgl_rect_s *rect, unsigned int plane, - FAR uint8_t *dest, unsigned int deststride) -{ - struct nxgl_rect_s remaining; - -#ifdef CONFIG_DEBUG - if (!wnd || !rect || ! rect || plane >= wnd->be->vinfo.nplanes) - { - gvdbg("Invalid parameters\n"); - return; - } -#endif - - /* Offset the rectangle by the window origin to convert it into a - * bounding box - */ - - nxgl_rectoffset(&remaining, rect, wnd->bounds.pt1.x, wnd->bounds.pt1.y); - - /* Clip to the bounding box to the limits of the window and of the - * background screen - */ - - nxgl_rectintersect(&remaining, &remaining, &wnd->bounds); - nxgl_rectintersect(&remaining, &remaining, &wnd->be->bkgd.bounds); - - /* The return the graphics memory at this location. NOTE: Since raw - * graphic memory is returned, the returned memory content may be - * the memory of windows above this one and may not necessarily belong - * to this window. - */ - - if (!nxgl_nullrect(&remaining)) - { - FAR struct nxbe_plane_s *pplane = &wnd->be->plane[plane]; - pplane->getrectangle(&pplane->pinfo, &remaining, dest, deststride); - } -} diff --git a/nuttx/graphics/nxbe/nxbe_lower.c b/nuttx/graphics/nxbe/nxbe_lower.c deleted file mode 100644 index 545342d5b..000000000 --- a/nuttx/graphics/nxbe/nxbe_lower.c +++ /dev/null @@ -1,125 +0,0 @@ -/**************************************************************************** - * graphics/nxbe/nxbe_lower.c - * - * Copyright (C) 2008-2009, 2011 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <gnutt@nuttx.org> - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * 3. Neither the name NuttX nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - ****************************************************************************/ - -/**************************************************************************** - * Included Files - ****************************************************************************/ - -#include <nuttx/config.h> - -#include <stddef.h> -#include <debug.h> - -#include <nuttx/nx/nxglib.h> -#include "nxbe.h" - -/**************************************************************************** - * Pre-Processor Definitions - ****************************************************************************/ - -/**************************************************************************** - * Private Types - ****************************************************************************/ - -/**************************************************************************** - * Private Data - ****************************************************************************/ - -/**************************************************************************** - * Public Data - ****************************************************************************/ - -/**************************************************************************** - * Private Functions - ****************************************************************************/ - -/**************************************************************************** - * Public Functions - ****************************************************************************/ - -/**************************************************************************** - * Name: nxbe_lower - * - * Description: - * Lower the specified window to the bottom of the display. - * - ****************************************************************************/ - -void nxbe_lower(FAR struct nxbe_window_s *wnd) -{ - FAR struct nxbe_state_s *be = wnd->be; - FAR struct nxbe_window_s *below; - - /* If the window is already at the bottom, then there is nothing to do */ - - if (!wnd->below || wnd->below == &be->bkgd) - { - return; - } - - /* Remove the window from its current position in the list */ - - wnd->below->above = wnd->above; - - /* Was it at the top of the display? */ - - if (wnd->above) - { - /* No... it was in the middle somewhere */ - - wnd->above->below = wnd->below; - } - else - { - /* Yes.. set the new top window */ - - be->topwnd = wnd->below; - be->topwnd->above = NULL; - } - - /* Remember the window that was just below us */ - - below = wnd->below; - - /* Then put the lowered window at the bottom (just above the background window) */ - - wnd->below = &be->bkgd; - wnd->above = be->bkgd.above; - be->bkgd.above = wnd; - - /* Redraw the windows that were below us (but now are above) */ - - nxbe_redrawbelow(be, below, &wnd->bounds); -} diff --git a/nuttx/graphics/nxbe/nxbe_move.c b/nuttx/graphics/nxbe/nxbe_move.c deleted file mode 100644 index 193b174c2..000000000 --- a/nuttx/graphics/nxbe/nxbe_move.c +++ /dev/null @@ -1,284 +0,0 @@ -/**************************************************************************** - * graphics/nxbe/nxbe_move.c - * - * Copyright (C) 2008-2009, 2011-2012 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <gnutt@nuttx.org> - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * 3. Neither the name NuttX nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - ****************************************************************************/ - -/**************************************************************************** - * Included Files - ****************************************************************************/ - -#include <nuttx/config.h> - -#include <stdint.h> - -#include <nuttx/nx/nxglib.h> - -#include "nxbe.h" -#include "nxfe.h" - -/**************************************************************************** - * Pre-Processor Definitions - ****************************************************************************/ - -/**************************************************************************** - * Private Types - ****************************************************************************/ - -struct nxbe_move_s -{ - struct nxbe_clipops_s cops; - struct nxgl_point_s offset; - FAR struct nxbe_window_s *wnd; - struct nxgl_rect_s srcrect; - uint8_t order; -}; - -/**************************************************************************** - * Private Data - ****************************************************************************/ - -/**************************************************************************** - * Public Data - ****************************************************************************/ - -/**************************************************************************** - * Private Functions - ****************************************************************************/ - -/**************************************************************************** - * Name: nxbe_clipmovesrc - * - * Description: - * Called from nxbe_clipper() to performed the move operation on visible regions - * of the rectangle. - * - ****************************************************************************/ - -static void nxbe_clipmovesrc(FAR struct nxbe_clipops_s *cops, - FAR struct nxbe_plane_s *plane, - FAR const struct nxgl_rect_s *rect) -{ - struct nxbe_move_s *info = (struct nxbe_move_s *)cops; - struct nxgl_point_s offset; - - if (info->offset.x != 0 || info->offset.y != 0) - { - /* Offset is the destination position of the moved rectangle */ - - offset.x = rect->pt1.x + info->offset.x; - offset.y = rect->pt1.y + info->offset.y; - - plane->moverectangle(&plane->pinfo, rect, &offset); - } -} - -/**************************************************************************** - * Name: nxbe_clipmoveobscured - * - * Description: - * Called from nxbe_clipper() to performed the move operation on obsrured regions - * of the rectangle. - * - ****************************************************************************/ - -static void nxbe_clipmoveobscured(FAR struct nxbe_clipops_s *cops, - FAR struct nxbe_plane_s *plane, - FAR const struct nxgl_rect_s *rect) -{ - struct nxbe_move_s *info = (struct nxbe_move_s *)cops; - struct nxgl_rect_s dst; - - nxgl_rectoffset(&dst, rect, info->offset.x, info->offset.y); - nxfe_redrawreq(info->wnd, &dst); -} - -/**************************************************************************** - * Name: nxbe_clipmovedest - * - * Description: - * Called from nxbe_clipper() to performed the move operation on visible - * regions of the source rectangle. - * - ****************************************************************************/ - -static void nxbe_clipmovedest(FAR struct nxbe_clipops_s *cops, - FAR struct nxbe_plane_s *plane, - FAR const struct nxgl_rect_s *rect) -{ - struct nxbe_move_s *dstdata = (struct nxbe_move_s *)cops; - struct nxbe_window_s *wnd = dstdata->wnd; - struct nxgl_point_s offset = dstdata->offset; - struct nxgl_rect_s src; - struct nxgl_rect_s tmprect1; - struct nxgl_rect_s tmprect2; - struct nxgl_rect_s nonintersecting[4]; - int i; - - /* Redraw dest regions where the source is outside of the bounds of the - * background window - */ - - nxgl_rectoffset(&tmprect1, &dstdata->srcrect, offset.x, offset.y); - nxgl_rectintersect(&tmprect2, &tmprect1, &wnd->be->bkgd.bounds); - nxgl_nonintersecting(nonintersecting, rect, &tmprect2); - - for (i = 0; i < 4; i++) - { - if (!nxgl_nullrect(&nonintersecting[i])) - { - nxfe_redrawreq(dstdata->wnd, &nonintersecting[i]); - } - } - - /* Clip to determine what is inside the bounds */ - - nxgl_rectintersect(&src, rect, &dstdata->srcrect); - - if (!nxgl_nullrect(&src)) - { - struct nxbe_move_s srcinfo; - - srcinfo.cops.visible = nxbe_clipmovesrc; - srcinfo.cops.obscured = nxbe_clipmoveobscured; - srcinfo.offset = offset; - srcinfo.wnd = wnd; - - nxbe_clipper(dstdata->wnd->above, &src, dstdata->order, - &srcinfo.cops, plane); - } -} - -/**************************************************************************** - * Public Functions - ****************************************************************************/ - -/**************************************************************************** - * Name: nxbe_move - * - * Description: - * Move a rectangular region within the window - * - * Input Parameters: - * wnd - The window within which the move is to be done - * rect - Describes the rectangular region to move - * offset - The offset to move the region - * - * Return: - * None - * - ****************************************************************************/ - -void nxbe_move(FAR struct nxbe_window_s *wnd, FAR const struct nxgl_rect_s *rect, - FAR const struct nxgl_point_s *offset) -{ - struct nxbe_move_s info; - int i; - -#ifdef CONFIG_DEBUG - if (!wnd || !rect) - { - return; - } -#endif - - /* Offset the rectangle by the window origin to create a bounding box */ - - nxgl_rectoffset(&info.srcrect, rect, wnd->bounds.pt1.x, wnd->bounds.pt1.y); - - /* Clip to the limits of the window and of the background screen */ - - nxgl_rectintersect(&info.srcrect, &info.srcrect, &wnd->bounds); - nxgl_rectintersect(&info.srcrect, &info.srcrect, &wnd->be->bkgd.bounds); - - if (nxgl_nullrect(&info.srcrect)) - { - return; - } - - info.cops.visible = nxbe_clipmovedest; - info.cops.obscured = nxbe_clipnull; - info.offset.x = offset->x; - info.offset.y = offset->y; - info.wnd = wnd; - - /* The clip order depends up the direction that the rectangle is being - * moved. - */ - - if (offset->y < 0) - { - /* Moving rectangle up */ - - if (offset->x < 0) - { - /* Moving to upper-left */ - - info.order = NX_CLIPORDER_TLRB; /* Top-left-right-bottom */ - } - else - { - /* Moving to upper-right (or just up) */ - - info.order = NX_CLIPORDER_TRLB; /* Top-right-left-bottom */ - } - } - else - { - /* Moving rectangle down (or just left/right) */ - - if (offset->x < 0) - { - /* Moving to lower-left */ - - info.order = NX_CLIPORDER_BLRT; /* Bottom-left-right-top */ - } - else - { - /* Moving to lower-right */ - - info.order = NX_CLIPORDER_BRLT; /* Bottom-right-left-top */ - } - } - - /* Then perform the move */ - -#if CONFIG_NX_NPLANES > 1 - for (i = 0; i < wnd->be->vinfo.nplanes; i++) -#else - i = 0; -#endif - { - nxbe_clipper(wnd->above, &info.srcrect, info.order, - &info.cops, &wnd->be->plane[i]); - } -} diff --git a/nuttx/graphics/nxbe/nxbe_raise.c b/nuttx/graphics/nxbe/nxbe_raise.c deleted file mode 100644 index ef4c392c0..000000000 --- a/nuttx/graphics/nxbe/nxbe_raise.c +++ /dev/null @@ -1,116 +0,0 @@ -/**************************************************************************** - * graphics/nxbe/nxbe_raise.c - * - * Copyright (C) 2008-2009, 2011 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <gnutt@nuttx.org> - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * 3. Neither the name NuttX nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - ****************************************************************************/ - -/**************************************************************************** - * Included Files - ****************************************************************************/ - -#include <nuttx/config.h> - -#include <nuttx/nx/nxglib.h> - -#include "nxbe.h" -#include "nxfe.h" - -/**************************************************************************** - * Pre-Processor Definitions - ****************************************************************************/ - -/**************************************************************************** - * Private Types - ****************************************************************************/ - -struct nxbe_raise_s -{ - struct nxbe_clipops_s cops; - FAR struct nxbe_window_s *wnd; -}; - -/**************************************************************************** - * Private Data - ****************************************************************************/ - -/**************************************************************************** - * Public Data - ****************************************************************************/ - -/**************************************************************************** - * Private Functions - ****************************************************************************/ - -/**************************************************************************** - * Public Functions - ****************************************************************************/ - -/**************************************************************************** - * Name: nxbe_raise - * - * Description: - * Bring the specified window to the top of the display. - * - ****************************************************************************/ - -void nxbe_raise(FAR struct nxbe_window_s *wnd) -{ - FAR struct nxbe_state_s *be = wnd->be; - - /* If this window is already at the top of the display, then do nothing */ - - if (!wnd->above) - { - return; - } - - /* Remove window from the list. Note that there is always - * some below this window (it may only be the background window) - */ - - wnd->above->below = wnd->below; - wnd->below->above = wnd->above; - - /* Then put it back in the list at the top */ - - wnd->above = NULL; - wnd->below = be->topwnd; - - be->topwnd->above = wnd; - be->topwnd = wnd; - - /* This window is now at the top of the display, we know, therefore, that - * it is not obscured by another window - */ - - nxfe_redrawreq(wnd, &wnd->bounds); -} diff --git a/nuttx/graphics/nxbe/nxbe_redraw.c b/nuttx/graphics/nxbe/nxbe_redraw.c deleted file mode 100644 index d52ff71e5..000000000 --- a/nuttx/graphics/nxbe/nxbe_redraw.c +++ /dev/null @@ -1,139 +0,0 @@ -/**************************************************************************** - * graphics/nxbe/nxbe_redraw.c - * - * Copyright (C) 2008-2009, 2011 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <gnutt@nuttx.org> - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * 3. Neither the name NuttX nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - ****************************************************************************/ - -/**************************************************************************** - * Included Files - ****************************************************************************/ - -#include <nuttx/config.h> - -#include <errno.h> -#include <debug.h> - -#include <nuttx/nx/nxglib.h> - -#include "nxbe.h" -#include "nxfe.h" - -/**************************************************************************** - * Pre-Processor Definitions - ****************************************************************************/ - -/**************************************************************************** - * Private Types - ****************************************************************************/ - -struct nxbe_redraw_s -{ - struct nxbe_clipops_s cops; - FAR struct nxbe_window_s *wnd; -}; - -/**************************************************************************** - * Private Data - ****************************************************************************/ - -/**************************************************************************** - * Public Data - ****************************************************************************/ - -/**************************************************************************** - * Private Functions - ****************************************************************************/ - -/**************************************************************************** - * Name: nxbe_clipredraw - ****************************************************************************/ - -static void nxbe_clipredraw(FAR struct nxbe_clipops_s *cops, - FAR struct nxbe_plane_s *plane, - FAR const struct nxgl_rect_s *rect) -{ - FAR struct nxbe_window_s *wnd = ((struct nxbe_redraw_s *)cops)->wnd; - if (wnd) - { - nxfe_redrawreq(wnd, rect); - } -} - -/**************************************************************************** - * Public Functions - ****************************************************************************/ - -/**************************************************************************** - * Name: nxbe_redraw - * - * Descripton: - * Re-draw the visible portions of the rectangular region for the - * specified window - * - ****************************************************************************/ - -void nxbe_redraw(FAR struct nxbe_state_s *be, - FAR struct nxbe_window_s *wnd, - FAR const struct nxgl_rect_s *rect) -{ - struct nxbe_redraw_s info; - struct nxgl_rect_s remaining; -#if CONFIG_NX_NPLANES > 1 - int i; -#endif - - /* Clip to the limits of the window and of the background screen */ - - nxgl_rectintersect(&remaining, rect, &be->bkgd.bounds); - nxgl_rectintersect(&remaining, &remaining, &wnd->bounds); - if (!nxgl_nullrect(&remaining)) - { - /* Now, request to re-draw any visible rectangular regions not obscured - * by windows above this one. - */ - - info.cops.visible = nxbe_clipredraw; - info.cops.obscured = nxbe_clipnull; - info.wnd = wnd; - -#if CONFIG_NX_NPLANES > 1 - for (i = 0; i < be->vinfo.nplanes; i++) - { - nxbe_clipper(wnd->above, &remaining, NX_CLIPORDER_DEFAULT, - &info.cops, &be->plane[i]); - } -#else - nxbe_clipper(wnd->above, &remaining, NX_CLIPORDER_DEFAULT, - &info.cops, &be->plane[0]); -#endif - } -} diff --git a/nuttx/graphics/nxbe/nxbe_redrawbelow.c b/nuttx/graphics/nxbe/nxbe_redrawbelow.c deleted file mode 100644 index c795e5fed..000000000 --- a/nuttx/graphics/nxbe/nxbe_redrawbelow.c +++ /dev/null @@ -1,91 +0,0 @@ -/**************************************************************************** - * graphics/nxbe/nxbe_redraw.c - * - * Copyright (C) 2008-2009, 2012 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <gnutt@nuttx.org> - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * 3. Neither the name NuttX nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - ****************************************************************************/ - -/**************************************************************************** - * Included Files - ****************************************************************************/ - -#include <nuttx/config.h> - -#include <errno.h> -#include <debug.h> - -#include "nxbe.h" - -/**************************************************************************** - * Pre-Processor Definitions - ****************************************************************************/ - -/**************************************************************************** - * Private Types - ****************************************************************************/ - -/**************************************************************************** - * Private Data - ****************************************************************************/ - -/**************************************************************************** - * Public Data - ****************************************************************************/ - -/**************************************************************************** - * Private Functions - ****************************************************************************/ - -/**************************************************************************** - * Public Functions - ****************************************************************************/ - -/**************************************************************************** - * Name: nxbe_redrawbelow - * - * Descripton: - * Re-draw the visible portions of the rectangular region for all windows - * below (and including) the specified window. This function is called - * whenever a window is closed, moved, lowered or re-sized in order to - * expose newly visible portions of lower windows. - * - ****************************************************************************/ - -void nxbe_redrawbelow(FAR struct nxbe_state_s *be, FAR struct nxbe_window_s *wnd, - FAR const struct nxgl_rect_s *rect) -{ - FAR struct nxbe_window_s *currwnd; - - for (currwnd = wnd; currwnd; currwnd = currwnd->below) - { - nxbe_redraw(be, currwnd, rect); - } -} diff --git a/nuttx/graphics/nxbe/nxbe_setpixel.c b/nuttx/graphics/nxbe/nxbe_setpixel.c deleted file mode 100644 index d333b9b76..000000000 --- a/nuttx/graphics/nxbe/nxbe_setpixel.c +++ /dev/null @@ -1,158 +0,0 @@ -/**************************************************************************** - * graphics/nxbe/nxbe_setpixel.c - * - * Copyright (C) 2011 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <gnutt@nuttx.org> - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * 3. Neither the name NuttX nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - ****************************************************************************/ - -/**************************************************************************** - * Included Files - ****************************************************************************/ - -#include <nuttx/config.h> - -#include <nuttx/nx/nxglib.h> - -#include "nxbe.h" - -/**************************************************************************** - * Pre-Processor Definitions - ****************************************************************************/ - -/**************************************************************************** - * Private Types - ****************************************************************************/ - -struct nxbe_setpixel_s -{ - struct nxbe_clipops_s cops; - nxgl_mxpixel_t color; -}; - -/**************************************************************************** - * Private Data - ****************************************************************************/ - -/**************************************************************************** - * Public Data - ****************************************************************************/ - -/**************************************************************************** - * Private Functions - ****************************************************************************/ - -/**************************************************************************** - * Name: nxbe_clipfill - * - * Description: - * Called from nxbe_clipper() to performed the fill operation on visible portions - * of the rectangle. - * - ****************************************************************************/ - -static void nxbe_clipfill(FAR struct nxbe_clipops_s *cops, - FAR struct nxbe_plane_s *plane, - FAR const struct nxgl_rect_s *rect) -{ - struct nxbe_setpixel_s *fillinfo = (struct nxbe_setpixel_s *)cops; - plane->setpixel(&plane->pinfo, &rect->pt1, fillinfo->color); -} - -/**************************************************************************** - * Public Functions - ****************************************************************************/ - -/**************************************************************************** - * Name: nxbe_fill - * - * Description: - * Fill the specified rectangle in the window with the specified color - * - * Input Parameters: - * wnd - The window structure reference - * rect - The location to be filled - * col - The color to use in the fill - * - * Return: - * None - * - ****************************************************************************/ - -void nxbe_setpixel(FAR struct nxbe_window_s *wnd, - FAR const struct nxgl_point_s *pos, - nxgl_mxpixel_t color[CONFIG_NX_NPLANES]) -{ - struct nxbe_setpixel_s info; - struct nxgl_rect_s rect; - int i; - -#ifdef CONFIG_DEBUG - if (!wnd || !pos) - { - return; - } -#endif - - /* Offset the position by the window origin */ - - nxgl_vectoradd(&rect.pt1, pos, &wnd->bounds.pt1); - - /* Make sure that the point is within the limits of the window - * and of the background screen - */ - - if (!nxgl_rectinside(&wnd->bounds, &rect.pt1) || - !nxgl_rectinside(&wnd->be->bkgd.bounds, &rect.pt1)) - { - return; - } - - /* Then create a bounding box and render the point if there it - * is exposed. - */ - - rect.pt2.x = rect.pt1.x; - rect.pt2.y = rect.pt1.y; - -#if CONFIG_NX_NPLANES > 1 - for (i = 0; i < wnd->be->vinfo.nplanes; i++) -#else - i = 0; -#endif - { - info.cops.visible = nxbe_clipfill; - info.cops.obscured = nxbe_clipnull; - info.color = color[i]; - - nxbe_clipper(wnd->above, &rect, NX_CLIPORDER_DEFAULT, - &info.cops, &wnd->be->plane[i]); - } -} diff --git a/nuttx/graphics/nxbe/nxbe_setposition.c b/nuttx/graphics/nxbe/nxbe_setposition.c deleted file mode 100644 index 6f680df04..000000000 --- a/nuttx/graphics/nxbe/nxbe_setposition.c +++ /dev/null @@ -1,119 +0,0 @@ -/**************************************************************************** - * graphics/nxbe/nxbe_setposition.c - * - * Copyright (C) 2008-2009, 2011 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <gnutt@nuttx.org> - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * 3. Neither the name NuttX nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - ****************************************************************************/ - -/**************************************************************************** - * Included Files - ****************************************************************************/ - -#include <nuttx/config.h> - -#include <nuttx/nx/nxglib.h> - -#include "nxbe.h" -#include "nxfe.h" - -/**************************************************************************** - * Pre-Processor Definitions - ****************************************************************************/ - -/**************************************************************************** - * Private Types - ****************************************************************************/ - -/**************************************************************************** - * Private Data - ****************************************************************************/ - -/**************************************************************************** - * Public Data - ****************************************************************************/ - -/**************************************************************************** - * Private Functions - ****************************************************************************/ - -/**************************************************************************** - * Public Functions - ****************************************************************************/ - -/**************************************************************************** - * Name: nxbe_setposition - * - * Descripton: - * This function checks for intersections and redraws the display after - * a change in the position of a window. - * - ****************************************************************************/ - -void nxbe_setposition(FAR struct nxbe_window_s *wnd, - FAR const struct nxgl_point_s *pos) -{ - struct nxgl_rect_s before; - struct nxgl_rect_s rect; - -#ifdef CONFIG_DEBUG - if (!wnd) - { - return; - } -#endif - - /* Back out the old window origin position from the bounding box */ - - nxgl_rectoffset(&rect, &wnd->bounds, -wnd->bounds.pt1.x, -wnd->bounds.pt1.y); - - /* Add the new window origin into the bounding box */ - - nxgl_rectcopy(&before, &wnd->bounds); - nxgl_rectoffset(&wnd->bounds, &rect, pos->x, pos->y); - - /* Get the union of the 'before' bounding box and the 'after' bounding - * this union is the region of the display that must be updated. - */ - - nxgl_rectunion(&rect, &before, &wnd->bounds); - nxgl_rectintersect(&rect, &rect, &wnd->be->bkgd.bounds); - - /* Report the new size/position */ - - nxfe_reportposition(wnd); - - /* Then redraw this window AND all windows below it. Having moved the - * window, we may have exposed previoulsy obscured portions of windows - * below this one. - */ - - nxbe_redrawbelow(wnd->be, wnd, &rect); -} diff --git a/nuttx/graphics/nxbe/nxbe_setsize.c b/nuttx/graphics/nxbe/nxbe_setsize.c deleted file mode 100644 index 99775c715..000000000 --- a/nuttx/graphics/nxbe/nxbe_setsize.c +++ /dev/null @@ -1,121 +0,0 @@ -/**************************************************************************** - * graphics/nxbe/nxbe_setsize.c - * - * Copyright (C) 2008-2009, 2011 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <gnutt@nuttx.org> - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * 3. Neither the name NuttX nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - ****************************************************************************/ - -/**************************************************************************** - * Included Files - ****************************************************************************/ - -#include <nuttx/config.h> - -#include <nuttx/nx/nxglib.h> - -#include "nxbe.h" -#include "nxfe.h" - -/**************************************************************************** - * Pre-Processor Definitions - ****************************************************************************/ - -/**************************************************************************** - * Private Types - ****************************************************************************/ - -/**************************************************************************** - * Private Data - ****************************************************************************/ - -/**************************************************************************** - * Public Data - ****************************************************************************/ - -/**************************************************************************** - * Private Functions - ****************************************************************************/ - -/**************************************************************************** - * Public Functions - ****************************************************************************/ - -/**************************************************************************** - * Name: nxbe_setsize - * - * Descripton: - * This function checks for intersections and redraws the display after - * a change in the size of a window. - * - ****************************************************************************/ - -void nxbe_setsize(FAR struct nxbe_window_s *wnd, - FAR const struct nxgl_size_s *size) -{ - struct nxgl_rect_s bounds; - -#ifdef CONFIG_DEBUG - if (!wnd) - { - return; - } -#endif - - /* Save the before size of the window's bounding box */ - - nxgl_rectcopy(&bounds, &wnd->bounds); - - /* Add the window origin to the supplied size get the new window bounding box */ - - wnd->bounds.pt2.x = wnd->bounds.pt1.x + size->w - 1; - wnd->bounds.pt2.y = wnd->bounds.pt1.y + size->h - 1; - - /* Clip the new bounding box so that lies within the background screen */ - - nxgl_rectintersect(&wnd->bounds, &wnd->bounds, &wnd->be->bkgd.bounds); - - /* We need to update the larger of the two rectangles. That will be the - * union of the before and after sizes. - */ - - nxgl_rectunion(&bounds, &bounds, &wnd->bounds); - - /* Report the new size/position */ - - nxfe_reportposition(wnd); - - /* Then redraw this window AND all windows below it. Having resized the - * window, we may have exposed previoulsy obscured portions of windows - * below this one. - */ - - nxbe_redrawbelow(wnd->be, wnd, &bounds); -} diff --git a/nuttx/graphics/nxbe/nxbe_visible.c b/nuttx/graphics/nxbe/nxbe_visible.c deleted file mode 100644 index ca62aeab6..000000000 --- a/nuttx/graphics/nxbe/nxbe_visible.c +++ /dev/null @@ -1,134 +0,0 @@ -/**************************************************************************** - * graphics/nxbe/nxbe_redraw.c - * - * Copyright (C) 2008-2009, 2011 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <gnutt@nuttx.org> - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * 3. Neither the name NuttX nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - ****************************************************************************/ - -/**************************************************************************** - * Included Files - ****************************************************************************/ - -#include <nuttx/config.h> - -#include <stdbool.h> -#include <errno.h> -#include <debug.h> - -#include <nuttx/nx/nxglib.h> - -#include "nxbe.h" -#include "nxfe.h" - -/**************************************************************************** - * Pre-Processor Definitions - ****************************************************************************/ - -/**************************************************************************** - * Private Types - ****************************************************************************/ - -struct nxbe_visible_s -{ - struct nxbe_clipops_s cops; - bool visible; -}; - -/**************************************************************************** - * Private Data - ****************************************************************************/ - -/**************************************************************************** - * Public Data - ****************************************************************************/ - -/**************************************************************************** - * Private Functions - ****************************************************************************/ - -/**************************************************************************** - * Name: nxbe_clipvisible - ****************************************************************************/ - -static void nxbe_clipvisible(FAR struct nxbe_clipops_s *cops, - FAR struct nxbe_plane_s *plane, - FAR const struct nxgl_rect_s *rect) -{ - FAR struct nxbe_visible_s *info = (FAR struct nxbe_visible_s *)cops; - info->visible = true; -} - -/**************************************************************************** - * Public Functions - ****************************************************************************/ - -/**************************************************************************** - * Name: nxbe_visible - * - * Descripton: - * Return true if the point, pt, in window wnd is visible. pt is in - * absolute screen coordinates - * - ****************************************************************************/ - -bool nxbe_visible(FAR struct nxbe_window_s *wnd, - FAR const struct nxgl_point_s *pos) -{ - struct nxbe_visible_s info; - - /* Check if the absolute position lies within the window */ - - if (!nxgl_rectinside(&wnd->bounds, pos)) - { - return false; - } - - /* If this is the top window, then the psition is visible */ - - if (!wnd->above) - { - return true; - } - - /* The position within the window range, but the window is not at - * the top. We will have to work harder to determine if the point - * visible - */ - - info.cops.visible = nxbe_clipvisible; - info.cops.obscured = nxbe_clipnull; - info.visible = false; - - nxbe_clipper(wnd->above, &wnd->bounds, NX_CLIPORDER_DEFAULT, - &info.cops, &wnd->be->plane[0]); - - return info.visible; -} diff --git a/nuttx/graphics/nxconsole/Make.defs b/nuttx/graphics/nxconsole/Make.defs deleted file mode 100644 index a57b22885..000000000 --- a/nuttx/graphics/nxconsole/Make.defs +++ /dev/null @@ -1,48 +0,0 @@ -############################################################################ -# graphics/nxconsole/Make.defs -# -# Copyright (C) 2012 Gregory Nutt. All rights reserved. -# Author: Gregory Nutt <gnutt@nuttx.org> -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions -# are met: -# -# 1. Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# 2. Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in -# the documentation and/or other materials provided with the -# distribution. -# 3. Neither the name NuttX nor the names of its contributors may be -# used to endorse or promote products derived from this software -# without specific prior written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS -# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, -# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS -# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED -# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN -# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -# POSSIBILITY OF SUCH DAMAGE. -# -############################################################################ - -NXCON_ASRCS = -NXCON_CSRCS = nx_register.c nxcon_driver.c nxcon_font.c nxcon_putc.c -NXCON_CSRCS += nxcon_redraw.c nxcon_register.c nxcon_scroll.c -NXCON_CSRCS += nxcon_vt100.c nxcon_unregister.c nxtk_register.c -NXCON_CSRCS += nxtool_register.c - -ifeq ($(CONFIG_NXCONSOLE_NXKBDIN),y) -NXCON_CSRCS += nxcon_kbdin.c -endif - -ifeq ($(CONFIG_DEBUG),y) -NXCON_CSRCS += nxcon_sem.c -endif diff --git a/nuttx/graphics/nxconsole/nx_register.c b/nuttx/graphics/nxconsole/nx_register.c deleted file mode 100644 index 8ebe0c0d5..000000000 --- a/nuttx/graphics/nxconsole/nx_register.c +++ /dev/null @@ -1,193 +0,0 @@ -/**************************************************************************** - * nuttx/graphics/nxconsole/nx_register.c - * - * Copyright (C) 2012 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <gnutt@nuttx.org> - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * 3. Neither the name NuttX nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - ****************************************************************************/ - -/**************************************************************************** - * Included Files - ****************************************************************************/ - -#include <nuttx/config.h> - -#include <nuttx/nx/nx.h> -#include <nuttx/nx/nxconsole.h> - -#include "nxcon_internal.h" - -/**************************************************************************** - * Pre-processor Definitions - ****************************************************************************/ - -/**************************************************************************** - * Private Function Prototypes - ****************************************************************************/ - -static int nxcon_fill(FAR struct nxcon_state_s *priv, - FAR const struct nxgl_rect_s *rect, - nxgl_mxpixel_t wcolor[CONFIG_NX_NPLANES]); -#ifndef CONFIG_NX_WRITEONLY -static int nxcon_move(FAR struct nxcon_state_s *priv, - FAR const struct nxgl_rect_s *rect, - FAR const struct nxgl_point_s *offset); -#endif -static int nxcon_bitmap(FAR struct nxcon_state_s *priv, - FAR const struct nxgl_rect_s *dest, - FAR const void *src[CONFIG_NX_NPLANES], - FAR const struct nxgl_point_s *origin, - unsigned int stride); - -/**************************************************************************** - * Private Data - ****************************************************************************/ - -static const struct nxcon_operations_s g_nxops = -{ - nxcon_fill, -#ifndef CONFIG_NX_WRITEONLY - nxcon_move, -#endif - nxcon_bitmap -}; - -/**************************************************************************** - * Private Functions - ****************************************************************************/ - -/**************************************************************************** - * Name: nxcon_fill - * - * Description: - * Fill the specified rectangle in the window with the specified color - * - * Input Parameters: - * priv - The driver state structure. - * rect - The location to be filled - * color - The color to use in the fill - * - * Return: - * OK on success; ERROR on failure with errno set appropriately - * - ****************************************************************************/ - -static int nxcon_fill(FAR struct nxcon_state_s *priv, - FAR const struct nxgl_rect_s *rect, - nxgl_mxpixel_t wcolor[CONFIG_NX_NPLANES]) -{ - return nx_fill((NXWINDOW)priv->handle, rect, wcolor); -} - -/**************************************************************************** - * Name: nxcon_move - * - * Description: - * Move a rectangular region within the window - * - * Input Parameters: - * priv - The driver state structure. - * rect - Describes the rectangular region to move - * offset - The offset to move the region. The rectangular region will be - * moved so that the origin is translated by this amount. - * - * Return: - * OK on success; ERROR on failure with errno set appropriately - * - ****************************************************************************/ - -#ifndef CONFIG_NX_WRITEONLY -static int nxcon_move(FAR struct nxcon_state_s *priv, - FAR const struct nxgl_rect_s *rect, - FAR const struct nxgl_point_s *offset) -{ - return nx_move((NXWINDOW)priv->handle, rect, offset); -} -#endif - -/**************************************************************************** - * Name: nxcon_bitmap - * - * Description: - * Copy a rectangular region of a larger image into the rectangle in the - * specified window. - * - * Input Parameters: - * priv - The driver state structure. - * dest - Describes the rectangular region on the display that will - * receive the bit map. - * src - The start of the source image. This is an array source - * images of size CONFIG_NX_NPLANES. - * origin - The origin of the upper, left-most corner of the full bitmap. - * Both dest and origin are in window coordinates, however, origin - * may lie outside of the display. - * stride - The width of the full source image in bytes. - * - * Return: - * OK on success; ERROR on failure with errno set appropriately - * - ****************************************************************************/ - -static int nxcon_bitmap(FAR struct nxcon_state_s *priv, - FAR const struct nxgl_rect_s *dest, - FAR const void *src[CONFIG_NX_NPLANES], - FAR const struct nxgl_point_s *origin, - unsigned int stride) -{ - return nx_bitmap((NXWINDOW)priv->handle, dest, src, origin, stride); -} - -/**************************************************************************** - * Public Functions - ****************************************************************************/ - -/**************************************************************************** - * Name: nx_register - * - * Description: - * Register a console device on a raw NX window. The device will be - * registered at /dev/nxconN where N is the provided minor number. - * - * Input Parameters: - * hwnd - A handle that will be used to access the window. The window must - * persist and this handle must be valid for the life of the NX console. - * wndo - Describes the window and font to be used - * minor - The device minor number - * - * Return: - * A non-NULL handle is returned on success. - * - ****************************************************************************/ - -NXCONSOLE nx_register(NXWINDOW hwnd, FAR struct nxcon_window_s *wndo, int minor) -{ - return nxcon_register((NXCONSOLE)hwnd, wndo, &g_nxops, minor); -} - diff --git a/nuttx/graphics/nxconsole/nxcon_driver.c b/nuttx/graphics/nxconsole/nxcon_driver.c deleted file mode 100755 index c647f97bb..000000000 --- a/nuttx/graphics/nxconsole/nxcon_driver.c +++ /dev/null @@ -1,257 +0,0 @@ -/**************************************************************************** - * nuttx/graphics/nxconsole/nxcon_driver.c - * - * Copyright (C) 2012 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <gnutt@nuttx.org> - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * 3. Neither the name NuttX nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - ****************************************************************************/ - -/**************************************************************************** - * Included Files - ****************************************************************************/ - -#include <nuttx/config.h> - -#include <sys/types.h> -#include <stdbool.h> -#include <string.h> -#include <fcntl.h> -#include <assert.h> -#include <errno.h> -#include <debug.h> - -#include <nuttx/fs/fs.h> - -#include "nxcon_internal.h" - -/**************************************************************************** - * Private Function Prototypes - ****************************************************************************/ - -static int nxcon_open(FAR struct file *filep); -static ssize_t nxcon_write(FAR struct file *filep, FAR const char *buffer, - size_t buflen); - -/**************************************************************************** - * Public Data - ****************************************************************************/ -/* This is the common NX driver file operations */ - -#ifdef CONFIG_NXCONSOLE_NXKBDIN - -const struct file_operations g_nxcon_drvrops = -{ - nxcon_open, /* open */ - 0, /* close */ - nxcon_read, /* read */ - nxcon_write, /* write */ - 0, /* seek */ - 0 /* ioctl */ -#ifndef CONFIG_DISABLE_POLL - , - nxcon_poll /* poll */ -#endif -}; - -#else /* CONFIG_NXCONSOLE_NXKBDIN */ - -const struct file_operations g_nxcon_drvrops = -{ - nxcon_open, /* open */ - 0, /* close */ - 0, /* read */ - nxcon_write, /* write */ - 0, /* seek */ - 0 /* ioctl */ -#ifndef CONFIG_DISABLE_POLL - , - 0 /* poll */ -#endif -}; - -#endif /* CONFIG_NXCONSOLE_NXKBDIN */ - -/**************************************************************************** - * Private Data - ****************************************************************************/ - -/**************************************************************************** - * Private Functions - ****************************************************************************/ - -/**************************************************************************** - * Name: nxcon_open - ****************************************************************************/ - -static int nxcon_open(FAR struct file *filep) -{ - FAR struct inode *inode = filep->f_inode; - FAR struct nxcon_state_s *priv = inode->i_private; - - DEBUGASSERT(filep && filep->f_inode); - - /* Get the driver structure from the inode */ - - inode = filep->f_inode; - priv = (FAR struct nxcon_state_s *)inode->i_private; - DEBUGASSERT(priv); - - /* Verify that the driver is opened for write-only access */ - -#ifndef CONFIG_NXCONSOLE_NXKBDIN - if ((filep->f_oflags & O_RDOK) != 0) - { - gdbg("ERROR: Attempted open with read access\n"); - return -EACCES; - } -#endif - - /* Assign the driver structure to the file */ - - filep->f_priv = priv; - return OK; -} - -/**************************************************************************** - * Name: nxcon_write - ****************************************************************************/ - -static ssize_t nxcon_write(FAR struct file *filep, FAR const char *buffer, - size_t buflen) -{ - FAR struct nxcon_state_s *priv; - enum nxcon_vt100state_e state; - ssize_t remaining; - char ch; - int ret; - - /* Recover our private state structure */ - - DEBUGASSERT(filep && filep->f_priv); - priv = (FAR struct nxcon_state_s *)filep->f_priv; - - /* Get exclusive access */ - - ret = nxcon_semwait(priv); - if (ret < 0) - { - return ret; - } - - /* Hide the cursor while we update the display */ - - nxcon_hidecursor(priv); - - /* Loop writing each character to the display */ - - for (remaining = (ssize_t)buflen; remaining > 0; remaining--) - { - /* Get the next character from the user buffer */ - - ch = *buffer++; - - /* Check if this character is part of a VT100 escape sequence */ - - do - { - /* Is the character part of a VT100 escape sequnce? */ - - state = nxcon_vt100(priv, ch); - switch (state) - { - /* Character is not part of a VT100 escape sequence (and no - * characters are buffer. - */ - - default: - case VT100_NOT_CONSUMED: - { - /* We can output the character to the window */ - - nxcon_putc(priv, (uint8_t)ch); - } - break; - - /* The full VT100 escape sequence was processed (and the new - * character was consumed) - */ - - case VT100_PROCESSED: - - /* Character was consumed as part of the VT100 escape processing - * (but the escape sequence is still incomplete. - */ - - case VT100_CONSUMED: - { - /* Do nothing... the VT100 logic owns the character */ - } - break; - - /* Invalid/unsupported character in escape sequence */ - - case VT100_ABORT: - { - int i; - - /* Add the first unhandled character to the window */ - - nxcon_putc(priv, (uint8_t)priv->seq[0]); - - /* Move all buffer characters down one */ - - for (i = 1; i < priv->nseq; i++) - { - priv->seq[i-1] = priv->seq[i]; - } - priv->nseq--; - - /* Then loop again and check if what remains is part of a - * VT100 escape sequence. We could speed this up by - * checking if priv->seq[0] == ASCII_ESC. - */ - } - break; - } - } - while (state == VT100_ABORT); - } - - /* Show the cursor at its new position */ - - nxcon_showcursor(priv); - nxcon_sempost(priv); - return (ssize_t)buflen; -} - -/**************************************************************************** - * Public Functions - ****************************************************************************/ - diff --git a/nuttx/graphics/nxconsole/nxcon_font.c b/nuttx/graphics/nxconsole/nxcon_font.c deleted file mode 100644 index 2bdf21cf6..000000000 --- a/nuttx/graphics/nxconsole/nxcon_font.c +++ /dev/null @@ -1,651 +0,0 @@ -/**************************************************************************** - * nuttx/graphics/nxconsole/nxcon_font.c - * - * Copyright (C) 2012 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <gnutt@nuttx.org> - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * 3. Neither the name NuttX nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - ****************************************************************************/ - -/**************************************************************************** - * Included Files - ****************************************************************************/ - -#include <nuttx/config.h> - -#include <string.h> -#include <assert.h> -#include <errno.h> -#include <debug.h> - -#include <nuttx/kmalloc.h> - -#include "nxcon_internal.h" - -/**************************************************************************** - * Definitions - ****************************************************************************/ - -/* Select renderer -- Some additional logic would be required to support - * pixel depths that are not directly addressable (1,2,4, and 24). - */ - -#if CONFIG_NXCONSOLE_BPP == 1 -# define RENDERER nxf_convert_1bpp -#elif CONFIG_NXCONSOLE_BPP == 2 -# define RENDERER nxf_convert_2bpp -#elif CONFIG_NXCONSOLE_BPP == 4 -# define RENDERER nxf_convert_4bpp -#elif CONFIG_NXCONSOLE_BPP == 8 -# define RENDERER nxf_convert_8bpp -#elif CONFIG_NXCONSOLE_BPP == 16 -# define RENDERER nxf_convert_16bpp -#elif CONFIG_NXCONSOLE_BPP == 24 -# define RENDERER nxf_convert_24bpp -#elif CONFIG_NXCONSOLE_BPP == 32 -# define RENDERER nxf_convert_32bpp -#else -# error "Unsupported CONFIG_NXCONSOLE_BPP" -#endif - -/**************************************************************************** - * Private Types - ****************************************************************************/ - -/**************************************************************************** - * Private Function Prototypes - ****************************************************************************/ - -/**************************************************************************** - * Private Data - ****************************************************************************/ - -/**************************************************************************** - * Public Data - ****************************************************************************/ - -/**************************************************************************** - * Private Functions - ****************************************************************************/ - -/**************************************************************************** - * Name: nxcon_freeglyph - ****************************************************************************/ - -static void nxcon_freeglyph(FAR struct nxcon_glyph_s *glyph) -{ - if (glyph->bitmap) - { - kfree(glyph->bitmap); - } - memset(glyph, 0, sizeof(struct nxcon_glyph_s)); -} - -/**************************************************************************** - * Name: nxcon_allocglyph - ****************************************************************************/ - -static inline FAR struct nxcon_glyph_s * -nxcon_allocglyph(FAR struct nxcon_state_s *priv) -{ - FAR struct nxcon_glyph_s *glyph = NULL; - FAR struct nxcon_glyph_s *luglyph = NULL; - uint8_t luusecnt; - int i; - - /* Search through the glyph cache looking for an unused glyph. Also, keep - * track of the least used glyph as well. We need that if we have to replace - * a glyph in the cache. - */ - - for (i = 0; i < priv->maxglyphs; i++) - { - /* Is this glyph in use? */ - - glyph = &priv->glyph[i]; - if (!glyph->usecnt) - { - /* No.. return this glyph with a use count of one */ - - glyph->usecnt = 1; - return glyph; - } - - /* Yes.. check for the least recently used */ - - if (!luglyph || glyph->usecnt < luglyph->usecnt) - { - luglyph = glyph; - } - } - - /* If we get here, the glyph cache is full. We replace the least used - * glyph with the one we need now. (luglyph can't be NULL). - */ - - luusecnt = luglyph->usecnt; - nxcon_freeglyph(luglyph); - - /* But lets decrement all of the usecnts so that the new one one be so - * far behind in the counts as the older ones. - */ - - if (luusecnt > 1) - { - uint8_t decr = luusecnt - 1; - - for (i = 0; i < priv->maxglyphs; i++) - { - /* Is this glyph in use? */ - - glyph = &priv->glyph[i]; - if (glyph->usecnt > decr) - { - glyph->usecnt -= decr; - } - } - } - - /* Then return the least used glyph */ - - luglyph->usecnt = 1; - return luglyph; -} - -/**************************************************************************** - * Name: nxcon_findglyph - ****************************************************************************/ - -static FAR struct nxcon_glyph_s * -nxcon_findglyph(FAR struct nxcon_state_s *priv, uint8_t ch) -{ - int i; - - /* First, try to find the glyph in the cache of pre-rendered glyphs */ - - for (i = 0; i < priv->maxglyphs; i++) - { - FAR struct nxcon_glyph_s *glyph = &priv->glyph[i]; - if (glyph->usecnt > 0 && glyph->code == ch) - { - /* Increment the use count (unless it is already at the max) */ - - if (glyph->usecnt < MAX_USECNT) - { - glyph->usecnt++; - } - - /* And return the glyph that we found */ - - return glyph; - } - } - return NULL; -} - -/**************************************************************************** - * Name: nxcon_renderglyph - ****************************************************************************/ - -static inline FAR struct nxcon_glyph_s * -nxcon_renderglyph(FAR struct nxcon_state_s *priv, - FAR const struct nx_fontbitmap_s *fbm, uint8_t ch) -{ - FAR struct nxcon_glyph_s *glyph = NULL; - FAR nxgl_mxpixel_t *ptr; -#if CONFIG_NXCONSOLE_BPP < 8 - nxgl_mxpixel_t pixel; -#endif - int bmsize; - int row; - int col; - int ret; - - /* Allocate the glyph (always succeeds) */ - - glyph = nxcon_allocglyph(priv); - glyph->code = ch; - - /* Get the dimensions of the glyph */ - - glyph->width = fbm->metric.width + fbm->metric.xoffset; - glyph->height = fbm->metric.height + fbm->metric.yoffset; - - /* Get the physical width of the glyph in bytes */ - - glyph->stride = (glyph->width * CONFIG_NXCONSOLE_BPP + 7) / 8; - - /* Allocate memory to hold the glyph with its offsets */ - - bmsize = glyph->stride * glyph->height; - glyph->bitmap = (FAR uint8_t *)kmalloc(bmsize); - - if (glyph->bitmap) - { - /* Initialize the glyph memory to the background color using the - * hard-coded bits-per-pixel (BPP). - * - * TODO: The rest of NX is configured to support multiple devices - * with differing BPP. They logic should be extended to support - * differing BPP's as well. - */ - -#if CONFIG_NXCONSOLE_BPP < 8 - pixel = priv->wcolor[0]; - -# if CONFIG_NXCONSOLE_BPP == 1 - - /* Pack 1-bit pixels into a 2-bits */ - - pixel &= 0x01; - pixel = (pixel) << 1 | pixel; - -# endif -# if CONFIG_NXCONSOLE_BPP < 4 - - /* Pack 2-bit pixels into a nibble */ - - pixel &= 0x03; - pixel = (pixel) << 2 | pixel; - -# endif - - /* Pack 4-bit nibbles into a byte */ - - pixel &= 0x0f; - pixel = (pixel) << 4 | pixel; - - ptr = (FAR nxgl_mxpixel_t *)glyph->bitmap; - for (row = 0; row < glyph->height; row++) - { - for (col = 0; col < glyph->stride; col++) - { - /* Transfer the packed bytes into the buffer */ - - *ptr++ = pixel; - } - } - -#elif CONFIG_NXCONSOLE_BPP == 24 -# error "Additional logic is needed here for 24bpp support" - -#else /* CONFIG_NXCONSOLE_BPP = {8,16,32} */ - - ptr = (FAR nxgl_mxpixel_t *)glyph->bitmap; - for (row = 0; row < glyph->height; row++) - { - /* Just copy the color value into the glyph memory */ - - for (col = 0; col < glyph->width; col++) - { - *ptr++ = priv->wndo.wcolor[0]; - } - } -#endif - - /* Then render the glyph into the allocated memory */ - - ret = RENDERER((FAR nxgl_mxpixel_t*)glyph->bitmap, - glyph->height, glyph->width, glyph->stride, - fbm, priv->wndo.fcolor[0]); - if (ret < 0) - { - /* Actually, the RENDERER never returns a failure */ - - gdbg("nxcon_renderglyph: RENDERER failed\n"); - nxcon_freeglyph(glyph); - glyph = NULL; - } - } - - return glyph; -} - -/**************************************************************************** - * Name: nxcon_fontsize - ****************************************************************************/ - -static int nxcon_fontsize(NXHANDLE hfont, uint8_t ch, FAR struct nxgl_size_s *size) -{ - FAR const struct nx_fontbitmap_s *fbm; - - /* No, it is not cached... Does the code map to a font? */ - - fbm = nxf_getbitmap(hfont, ch); - if (fbm) - { - /* Yes.. return the font size */ - - size->w = fbm->metric.width + fbm->metric.xoffset; - size->h = fbm->metric.height + fbm->metric.yoffset; - return OK; - } - - return ERROR; -} - -/**************************************************************************** - * Name: nxcon_getglyph - ****************************************************************************/ - -static FAR struct nxcon_glyph_s * -nxcon_getglyph(NXHANDLE hfont, FAR struct nxcon_state_s *priv, uint8_t ch) -{ - FAR struct nxcon_glyph_s *glyph; - FAR const struct nx_fontbitmap_s *fbm; - - /* First, try to find the glyph in the cache of pre-rendered glyphs */ - - glyph = nxcon_findglyph(priv, ch); - if (glyph) - { - /* We found it in the cache .. return the cached glyph */ - - return glyph; - } - - /* No, it is not cached... Does the code map to a font? */ - - fbm = nxf_getbitmap(hfont, ch); - if (fbm) - { - /* Yes.. render the glyph */ - - glyph = nxcon_renderglyph(priv, fbm, ch); - } - - return glyph; -} - -/**************************************************************************** - * Public Functions - ****************************************************************************/ - -/**************************************************************************** - * Name: nxcon_addchar - * - * Description: - * This is part of the nxcon_putc logic. It creates and positions a - * the character and renders (or re-uses) a glyph for font. - * - ****************************************************************************/ - -FAR const struct nxcon_bitmap_s * -nxcon_addchar(NXHANDLE hfont, FAR struct nxcon_state_s *priv, uint8_t ch) -{ - FAR struct nxcon_bitmap_s *bm = NULL; - FAR struct nxcon_glyph_s *glyph; - - /* Is there space for another character on the display? */ - - if (priv->nchars < priv->maxchars) - { - /* Yes, setup the bitmap information */ - - bm = &priv->bm[priv->nchars]; - bm->code = ch; - bm->flags = 0; - bm->pos.x = priv->fpos.x; - bm->pos.y = priv->fpos.y; - - /* Find (or create) the matching glyph */ - - glyph = nxcon_getglyph(hfont, priv, ch); - if (!glyph) - { - /* No, there is no font for this code. Just mark this as a space. */ - - bm->flags |= BMFLAGS_NOGLYPH; - - /* Set up the next character position */ - - priv->fpos.x += priv->spwidth; - } - else - { - /* Set up the next character position */ - - priv->fpos.x += glyph->width; - } - - /* Success.. increment nchars to retain this character */ - - priv->nchars++; - } - - return bm; -} - -/**************************************************************************** - * Name: nxcon_hidechar - * - * Description: - * Erase a character from the window. - * - ****************************************************************************/ -int nxcon_hidechar(FAR struct nxcon_state_s *priv, - FAR const struct nxcon_bitmap_s *bm) -{ - struct nxgl_rect_s bounds; - struct nxgl_size_s fsize; - int ret; - - /* Get the size of the font glyph. If nxcon_fontsize, then the - * character will have been rendered as a space, and no display - * modification is required (not an error). - */ - - ret = nxcon_fontsize(priv->font, bm->code, &fsize); - if (ret < 0) - { - /* It was rendered as a space. */ - - return OK; - } - - /* Construct a bounding box for the glyph */ - - bounds.pt1.x = bm->pos.x; - bounds.pt1.y = bm->pos.y; - bounds.pt2.x = bm->pos.x + fsize.w - 1; - bounds.pt2.y = bm->pos.y + fsize.h - 1; - - /* Fill the bitmap region with the background color, erasing the - * character from the display. NOTE: This region might actually - * be obscured... NX will handle that case. - */ - - return priv->ops->fill(priv, &bounds, priv->wndo.wcolor); -} - -/**************************************************************************** - * Name: nxcon_backspace - * - * Description: - * Remove the last character from the window. - * - ****************************************************************************/ - -int nxcon_backspace(FAR struct nxcon_state_s *priv) -{ - FAR struct nxcon_bitmap_s *bm; - int ndx; - int ret = -ENOENT; - - /* Is there a character on the display? */ - - if (priv->nchars > 0) - { - /* Yes.. Get the index to the last bitmap on the display */ - - ndx = priv->nchars - 1; - bm = &priv->bm[ndx]; - - /* Erase the character from the display */ - - ret = nxcon_hidechar(priv, bm); - - /* The current position to the location where the last character was */ - - priv->fpos.x = bm->pos.x; - priv->fpos.y = bm->pos.y; - - /* Decrement nchars to discard this character */ - - priv->nchars = ndx; - } - - return ret; -} - -/**************************************************************************** - * Name: nxcon_home - * - * Description: - * Set the next character position to the top-left corner of the display. - * - ****************************************************************************/ - -void nxcon_home(FAR struct nxcon_state_s *priv) -{ - /* The first character is one space from the left */ - - priv->fpos.x = priv->spwidth; - - /* And CONFIG_NXCONSOLE_LINESEPARATION lines from the top */ - - priv->fpos.y = CONFIG_NXCONSOLE_LINESEPARATION; -} - -/**************************************************************************** - * Name: nxcon_newline - * - * Description: - * Set the next character position to the beginning of the next line. - * - ****************************************************************************/ - -void nxcon_newline(FAR struct nxcon_state_s *priv) -{ - /* Carriage return: The first character is one space from the left */ - - priv->fpos.x = priv->spwidth; - - /* Linefeed: Down the max font height + CONFIG_NXCONSOLE_LINESEPARATION */ - - priv->fpos.y += (priv->fheight + CONFIG_NXCONSOLE_LINESEPARATION); -} - -/**************************************************************************** - * Name: nxcon_fillchar - * - * Description: - * This implements the character display. It is part of the nxcon_putc - * operation but may also be used when redrawing an existing display. - * - ****************************************************************************/ - -void nxcon_fillchar(FAR struct nxcon_state_s *priv, - FAR const struct nxgl_rect_s *rect, - FAR const struct nxcon_bitmap_s *bm) -{ - FAR struct nxcon_glyph_s *glyph; - struct nxgl_rect_s bounds; - struct nxgl_rect_s intersection; - struct nxgl_size_s fsize; - int ret; - - /* Handle the special case of spaces which have no glyph bitmap */ - - if (BM_ISSPACE(bm)) - { - return; - } - - /* Get the size of the font glyph (which may not have been created yet) */ - - ret = nxcon_fontsize(priv->font, bm->code, &fsize); - if (ret < 0) - { - /* This would mean that there is no bitmap for the character code and - * that the font would be rendered as a space. But this case should - * never happen here because the BM_ISSPACE() should have already - * found all such cases. - */ - - return; - } - - /* Construct a bounding box for the glyph */ - - bounds.pt1.x = bm->pos.x; - bounds.pt1.y = bm->pos.y; - bounds.pt2.x = bm->pos.x + fsize.w - 1; - bounds.pt2.y = bm->pos.y + fsize.h - 1; - - /* Should this also be clipped to a region in the window? */ - - if (rect) - { - /* Get the intersection of the redraw region and the character bitmap */ - - nxgl_rectintersect(&intersection, rect, &bounds); - } - else - { - /* The intersection is the whole glyph */ - - nxgl_rectcopy(&intersection, &bounds); - } - - /* Check for empty intersections */ - - if (!nxgl_nullrect(&intersection)) - { - FAR const void *src; - - /* Find (or create) the glyph that goes with this font */ - - glyph = nxcon_getglyph(priv->font, priv, bm->code); - if (!glyph) - { - /* Shouldn't happen */ - - return; - } - - /* Blit the font bitmap into the window */ - - src = (FAR const void *)glyph->bitmap; - ret = priv->ops->bitmap(priv, &intersection, &src, - &bm->pos, (unsigned int)glyph->stride); - DEBUGASSERT(ret >= 0); - } -} - diff --git a/nuttx/graphics/nxconsole/nxcon_internal.h b/nuttx/graphics/nxconsole/nxcon_internal.h deleted file mode 100644 index dc976a662..000000000 --- a/nuttx/graphics/nxconsole/nxcon_internal.h +++ /dev/null @@ -1,254 +0,0 @@ -/**************************************************************************** - * nuttx/graphics/nxconsole/nxcon_internal.h - * - * Copyright (C) 2012 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <gnutt@nuttx.org> - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * 3. Neither the name NuttX nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - ****************************************************************************/ - -#ifndef __GRAPHICS_NXCONSOLE_NXCON_INTERNAL_H -#define __GRAPHICS_NXCONSOLE_NXCON_INTERNAL_H - -/**************************************************************************** - * Included Files - ****************************************************************************/ - -#include <nuttx/config.h> - -#include <stdint.h> -#include <semaphore.h> - -#include <nuttx/fs/fs.h> - -#include <nuttx/nx/nx.h> -#include <nuttx/nx/nxtk.h> -#include <nuttx/nx/nxfonts.h> -#include <nuttx/nx/nxconsole.h> - -/**************************************************************************** - * Definitions - ****************************************************************************/ -/* NxConsole Definitions ****************************************************/ -/* Bitmap flags */ - -#define BMFLAGS_NOGLYPH (1 << 0) /* No glyph available, use space */ -#define BM_ISSPACE(bm) (((bm)->flags & BMFLAGS_NOGLYPH) != 0) - -/* Sizes and maximums */ - -#define MAX_USECNT 255 /* Limit to range of a uint8_t */ - -/* Device path formats */ - -#define NX_DEVNAME_FORMAT "/dev/nxcon%d" -#define NX_DEVNAME_SIZE 16 - -/* Semaphore protection */ - -#define NO_HOLDER (pid_t)-1 - -/* VT100 escape sequence processing */ - -#define VT100_MAX_SEQUENCE 3 - -/**************************************************************************** - * Public Types - ****************************************************************************/ -/* Identifies the state of the VT100 escape sequence processing */ - -enum nxcon_vt100state_e -{ - VT100_NOT_CONSUMED = 0, /* Character is not part of a VT100 escape sequence */ - VT100_CONSUMED, /* Character was consumed as part of the VT100 escape processing */ - VT100_PROCESSED, /* The full VT100 escape sequence was processed */ - VT100_ABORT /* Invalid/unsupported character in buffered escape sequence */ -}; - -/* Describes on set of console window callbacks */ - -struct nxcon_state_s; -struct nxcon_operations_s -{ - int (*fill)(FAR struct nxcon_state_s *priv, - FAR const struct nxgl_rect_s *rect, - nxgl_mxpixel_t wcolor[CONFIG_NX_NPLANES]); -#ifndef CONFIG_NX_WRITEONLY - int (*move)(FAR struct nxcon_state_s *priv, - FAR const struct nxgl_rect_s *rect, - FAR const struct nxgl_point_s *offset); -#endif - int (*bitmap)(FAR struct nxcon_state_s *priv, - FAR const struct nxgl_rect_s *dest, - FAR const void *src[CONFIG_NX_NPLANES], - FAR const struct nxgl_point_s *origin, - unsigned int stride); -}; - -/* Describes one cached glyph bitmap */ - -struct nxcon_glyph_s -{ - uint8_t code; /* Character code */ - uint8_t height; /* Height of this glyph (in rows) */ - uint8_t width; /* Width of this glyph (in pixels) */ - uint8_t stride; /* Width of the glyph row (in bytes) */ - uint8_t usecnt; /* Use count */ - FAR uint8_t *bitmap; /* Allocated bitmap memory */ -}; - -/* Describes on character on the display */ - -struct nxcon_bitmap_s -{ - uint8_t code; /* Character code */ - uint8_t flags; /* See BMFLAGS_* */ - struct nxgl_point_s pos; /* Character position */ -}; - -/* Describes the state of one NX console driver*/ - -struct nxcon_state_s -{ - FAR const struct nxcon_operations_s *ops; /* Window operations */ - FAR void *handle; /* The window handle */ - FAR struct nxcon_window_s wndo; /* Describes the window and font */ - NXHANDLE font; /* The current font handle */ - sem_t exclsem; /* Forces mutually exclusive access */ -#ifdef CONFIG_DEBUG - pid_t holder; /* Deadlock avoidance */ -#endif - uint8_t minor; /* Device minor number */ - - /* Text output support */ - - uint8_t fheight; /* Max height of a font in pixels */ - uint8_t fwidth; /* Max width of a font in pixels */ - uint8_t spwidth; /* The width of a space */ - uint8_t maxglyphs; /* Size of the glyph[] array */ - - uint16_t maxchars; /* Size of the bm[] array */ - uint16_t nchars; /* Number of chars in the bm[] array */ - - struct nxgl_point_s fpos; /* Next display position */ - - /* VT100 escape sequence processing */ - - char seq[VT100_MAX_SEQUENCE]; /* Buffered characters */ - uint8_t nseq; /* Number of buffered characters */ - - /* Font cache data storage */ - - struct nxcon_bitmap_s cursor; - struct nxcon_bitmap_s bm[CONFIG_NXCONSOLE_MXCHARS]; - - /* Glyph cache data storage */ - - struct nxcon_glyph_s glyph[CONFIG_NXCONSOLE_CACHESIZE]; - - /* Keyboard input support */ - -#ifdef CONFIG_NXCONSOLE_NXKBDIN - sem_t waitsem; /* Supports waiting for input data */ - uint8_t nwaiters; /* Number of threads waiting for data */ - uint8_t head; /* rxbuffer head/input index */ - uint8_t tail; /* rxbuffer tail/output index */ - - uint8_t rxbuffer[CONFIG_NXCONSOLE_KBDBUFSIZE]; - - /* The following is a list if poll structures of threads waiting for - * driver events. The 'struct pollfd' reference for each open is also - * retained in the f_priv field of the 'struct file'. - */ - -#ifndef CONFIG_DISABLE_POLL - struct pollfd *fds[CONFIG_RAMLOG_NPOLLWAITERS]; -#endif -#endif /* CONFIG_NXCONSOLE_NXKBDIN */ -}; - -/**************************************************************************** - * Public Variables - ****************************************************************************/ - -/* This is the common NX driver file operations */ - -extern const struct file_operations g_nxcon_drvrops; - -/**************************************************************************** - * Public Function Prototypes - ****************************************************************************/ -/* Semaphore helpers */ - -#ifdef CONFIG_DEBUG -int nxcon_semwait(FAR struct nxcon_state_s *priv); -int nxcon_sempost(FAR struct nxcon_state_s *priv); -#else -# define nxcon_semwait(p) sem_wait(&p->exclsem) -# define nxcon_sempost(p) sem_post(&p->exclsem) -#endif - -/* Common device registration */ - -FAR struct nxcon_state_s *nxcon_register(NXCONSOLE handle, - FAR struct nxcon_window_s *wndo, FAR const struct nxcon_operations_s *ops, - int minor); - -#ifdef CONFIG_NXCONSOLE_NXKBDIN -ssize_t nxcon_read(FAR struct file *filep, FAR char *buffer, size_t len); -#ifndef CONFIG_DISABLE_POLL -int nxcon_poll(FAR struct file *filep, FAR struct pollfd *fds, bool setup); -#endif -#endif - -/* VT100 Terminal emulation */ - -enum nxcon_vt100state_e nxcon_vt100(FAR struct nxcon_state_s *priv, char ch); - -/* Generic text display helpers */ - -void nxcon_home(FAR struct nxcon_state_s *priv); -void nxcon_newline(FAR struct nxcon_state_s *priv); -FAR const struct nxcon_bitmap_s *nxcon_addchar(NXHANDLE hfont, - FAR struct nxcon_state_s *priv, uint8_t ch); -int nxcon_hidechar(FAR struct nxcon_state_s *priv, - FAR const struct nxcon_bitmap_s *bm); -int nxcon_backspace(FAR struct nxcon_state_s *priv); -void nxcon_fillchar(FAR struct nxcon_state_s *priv, - FAR const struct nxgl_rect_s *rect, FAR const struct nxcon_bitmap_s *bm); - -void nxcon_putc(FAR struct nxcon_state_s *priv, uint8_t ch); -void nxcon_showcursor(FAR struct nxcon_state_s *priv); -void nxcon_hidecursor(FAR struct nxcon_state_s *priv); - -/* Scrolling support */ - -void nxcon_scroll(FAR struct nxcon_state_s *priv, int scrollheight); - -#endif /* __GRAPHICS_NXCONSOLE_NXCON_INTERNAL_H */ diff --git a/nuttx/graphics/nxconsole/nxcon_kbdin.c b/nuttx/graphics/nxconsole/nxcon_kbdin.c deleted file mode 100644 index f4b116c46..000000000 --- a/nuttx/graphics/nxconsole/nxcon_kbdin.c +++ /dev/null @@ -1,489 +0,0 @@ -/**************************************************************************** - * nuttx/graphics/nxconsole/nxcon_kbdin.c - * - * Copyright (C) 2012 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <gnutt@nuttx.org> - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * 3. Neither the name NuttX nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - ****************************************************************************/ - -/**************************************************************************** - * Included Files - ****************************************************************************/ - -#include <nuttx/config.h> - -#include <fcntl.h> -#include <sched.h> -#include <assert.h> -#include <errno.h> -#include <debug.h> - -#include "nxcon_internal.h" - -#ifdef CONFIG_NXCONSOLE_NXKBDIN - -/**************************************************************************** - * Pre-processor Definitions - ****************************************************************************/ - -/**************************************************************************** - * Private Function Prototypes - ****************************************************************************/ - -/**************************************************************************** - * Private Data - ****************************************************************************/ - -/**************************************************************************** - * Private Functions - ****************************************************************************/ - -/**************************************************************************** - * Name: nxcon_pollnotify - ****************************************************************************/ - -#ifndef CONFIG_DISABLE_POLL -static void nxcon_pollnotify(FAR struct nxcon_state_s *priv, pollevent_t eventset) -{ - FAR struct pollfd *fds; - irqstate_t flags; - int i; - - /* This function may be called from an interrupt handler */ - - for (i = 0; i < CONFIG_NXCONSOLE_NPOLLWAITERS; i++) - { - flags = irqsave(); - fds = priv->fds[i]; - if (fds) - { - fds->revents |= (fds->events & eventset); - if (fds->revents != 0) - { - sem_post(fds->sem); - } - } - irqrestore(flags); - } -} -#else -# define nxcon_pollnotify(priv,event) -#endif - -/**************************************************************************** - * Public Functions - ****************************************************************************/ - -/**************************************************************************** - * Name: nxcon_read - * - * Description: - * The optional NxConsole read method - * - ****************************************************************************/ - -ssize_t nxcon_read(FAR struct file *filep, FAR char *buffer, size_t len) -{ - FAR struct nxcon_state_s *priv; - ssize_t nread; - char ch; - int ret; - - /* Recover our private state structure */ - - DEBUGASSERT(filep && filep->f_priv); - priv = (FAR struct nxcon_state_s *)filep->f_priv; - - /* Get exclusive access to the driver structure */ - - ret = nxcon_semwait(priv); - if (ret < 0) - { - gdbg("ERROR: nxcon_semwait failed\n"); - return ret; - } - - /* Loop until something is read */ - - for (nread = 0; nread < len; ) - { - /* Get the next byte from the buffer */ - - if (priv->head == priv->tail) - { - /* The circular buffer is empty. Did we read anything? */ - - if (nread > 0) - { - /* Yes.. break out to return what we have. */ - - break; - } - - /* If the driver was opened with O_NONBLOCK option, then don't wait. - * Just return EGAIN. - */ - - if (filep->f_oflags & O_NONBLOCK) - { - nread = -EAGAIN; - break; - } - - /* Otherwise, wait for something to be written to the circular - * buffer. Increment the number of waiters so that the nxcon_write() - * will not that it needs to post the semaphore to wake us up. - */ - - sched_lock(); - priv->nwaiters++; - nxcon_sempost(priv); - - /* We may now be pre-empted! But that should be okay because we - * have already incremented nwaiters. Pre-emption is disabled - * but will be re-enabled while we are waiting. - */ - - ret = sem_wait(&priv->waitsem); - - /* Pre-emption will be disabled when we return. So the decrementing - * nwaiters here is safe. - */ - - priv->nwaiters--; - sched_unlock(); - - /* Did we successfully get the waitsem? */ - - if (ret >= 0) - { - /* Yes... then retake the mutual exclusion semaphore */ - - ret = nxcon_semwait(priv); - } - - /* Was the semaphore wait successful? Did we successful re-take the - * mutual exclusion semaphore? - */ - - if (ret < 0) - { - /* No.. One of the two sem_wait's failed. */ - - int errval = errno; - - gdbg("ERROR: nxcon_semwait failed\n"); - - /* Were we awakened by a signal? Did we read anything before - * we received the signal? - */ - - if (errval != EINTR || nread >= 0) - { - /* Yes.. return the error. */ - - nread = -errval; - } - - /* Break out to return what we have. Note, we can't exactly - * "break" out because whichever error occurred, we do not hold - * the exclusion semaphore. - */ - - goto errout_without_sem; - } - } - else - { - /* The circular buffer is not empty, get the next byte from the - * tail index. - */ - - ch = priv->rxbuffer[priv->tail]; - - /* Increment the tail index and re-enable interrupts */ - - if (++priv->tail >= CONFIG_NXCONSOLE_KBDBUFSIZE) - { - priv->tail = 0; - } - - /* Add the character to the user buffer */ - - buffer[nread] = ch; - nread++; - } - } - - /* Relinquish the mutual exclusion semaphore */ - - nxcon_sempost(priv); - - /* Notify all poll/select waiters that they can write to the FIFO */ - -errout_without_sem: - -#ifndef CONFIG_DISABLE_POLL - if (nread > 0) - { - nxcon_pollnotify(priv, POLLOUT); - } -#endif - - /* Return the number of characters actually read */ - - return nread; -} - -/**************************************************************************** - * Name: nxcon_poll - ****************************************************************************/ - -#ifndef CONFIG_DISABLE_POLL -int nxcon_poll(FAR struct file *filep, FAR struct pollfd *fds, bool setup) -{ - FAR struct inode *inode = filep->f_inode; - FAR struct nxcon_state_s *priv; - pollevent_t eventset; - int ndx; - int ret; - int i; - - /* Some sanity checking */ - - DEBUGASSERT(inode && inode->i_private); - priv = inode->i_private; - - /* Get exclusive access to the driver structure */ - - ret = nxcon_semwait(priv); - if (ret < 0) - { - gdbg("ERROR: nxcon_semwait failed\n"); - return ret; - } - - /* Are we setting up the poll? Or tearing it down? */ - - if (setup) - { - /* This is a request to set up the poll. Find an available - * slot for the poll structure reference - */ - - for (i = 0; i < CONFIG_NXCONSOLE_NPOLLWAITERS; i++) - { - /* Find an available slot */ - - if (!priv->fds[i]) - { - /* Bind the poll structure and this slot */ - - priv->fds[i] = fds; - fds->priv = &priv->fds[i]; - break; - } - } - - if (i >= CONFIG_NXCONSOLE_NPOLLWAITERS) - { - gdbg("ERROR: Too many poll waiters\n"); - - fds->priv = NULL; - ret = -EBUSY; - goto errout; - } - - /* Should immediately notify on any of the requested events? - * This driver is always available for transmission. - */ - - eventset = POLLOUT; - - /* Check if the receive buffer is empty */ - - if (priv->head != priv->tail) - { - eventset |= POLLIN; - } - - if (eventset) - { - nxcon_pollnotify(priv, eventset); - } - - } - else if (fds->priv) - { - /* This is a request to tear down the poll. */ - - struct pollfd **slot = (struct pollfd **)fds->priv; - -#ifdef CONFIG_DEBUG - if (!slot) - { - gdbg("ERROR: No slot\n"); - - ret = -EIO; - goto errout; - } -#endif - - /* Remove all memory of the poll setup */ - - *slot = NULL; - fds->priv = NULL; - } - -errout: - nxcon_sempost(priv); - return ret; -} -#endif - -/**************************************************************************** - * Name: nxcon_kbdin - * - * Description: - * This function should be driven by the window kbdin callback function - * (see nx.h). When the NxConsole is the top window and keyboard input is - * received on the top window, that window callback should be directed to - * this function. This function will buffer the keyboard data and may - * it available to the NxConsole as stdin. - * - * If CONFIG_NXCONSOLE_NXKBDIN is not selected, then the NxConsole will - * receive its input from stdin (/dev/console). This works great but - * cannot be shared between different windows. Chaos will ensue if you - * try to support multiple NxConsole windows without CONFIG_NXCONSOLE_NXKBDIN - * - * Input Parameters: - * handle - A handle previously returned by nx_register, nxtk_register, or - * nxtool_register. - * buffer - The array of characters - * buflen - The number of characters that are available in buffer[] - * - * Returned Value: - * None - * - ****************************************************************************/ - -void nxcon_kbdin(NXCONSOLE handle, FAR const uint8_t *buffer, uint8_t buflen) -{ - FAR struct nxcon_state_s *priv; - ssize_t nwritten; - int nexthead; - char ch; - int ret; - - gvdbg("buflen=%d\n"); - DEBUGASSERT(handle); - - /* Get the reference to the driver structure from the handle */ - - priv = (FAR struct nxcon_state_s *)handle; - - /* Get exclusive access to the driver structure */ - - ret = nxcon_semwait(priv); - if (ret < 0) - { - gdbg("ERROR: nxcon_semwait failed\n"); - return; - } - - /* Loop until all of the bytes have been written. This function may be - * called from an interrupt handler! Semaphores cannot be used! - * - * The write logic only needs to modify the head index. Therefore, - * there is a difference in the way that head and tail are protected: - * tail is protected with a semaphore; tail is protected by disabling - * interrupts. - */ - - for (nwritten = 0; nwritten < buflen; nwritten++) - { - /* Add the next character */ - - ch = buffer[nwritten]; - - /* Calculate the write index AFTER the next byte is add to the ring - * buffer - */ - - nexthead = priv->head + 1; - if (nexthead >= CONFIG_NXCONSOLE_KBDBUFSIZE) - { - nexthead = 0; - } - - /* Would the next write overflow the circular buffer? */ - - if (nexthead == priv->tail) - { - /* Yes... Return an indication that nothing was saved in the buffer. */ - - gdbg("ERROR: Keyboard data overrun\n"); - break; - } - - /* No... copy the byte */ - - priv->rxbuffer[priv->head] = ch; - priv->head = nexthead; - } - - /* Was anything written? */ - - if (nwritten > 0) - { - int i; - - /* Are there threads waiting for read data? */ - - sched_lock(); - for (i = 0; i < priv->nwaiters; i++) - { - /* Yes.. Notify all of the waiting readers that more data is available */ - - sem_post(&priv->waitsem); - } - - /* Notify all poll/select waiters that they can write to the FIFO */ - -#ifndef CONFIG_DISABLE_POLL - nxcon_pollnotify(priv, POLLIN); -#endif - sched_unlock(); - } - - nxcon_sempost(priv); -} - -#endif /* CONFIG_NXCONSOLE_NXKBDIN */ diff --git a/nuttx/graphics/nxconsole/nxcon_putc.c b/nuttx/graphics/nxconsole/nxcon_putc.c deleted file mode 100644 index d51d79c79..000000000 --- a/nuttx/graphics/nxconsole/nxcon_putc.c +++ /dev/null @@ -1,203 +0,0 @@ -/**************************************************************************** - * nuttx/graphics/nxconsole/nxcon_putc.c - * - * Copyright (C) 2012 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <gnutt@nuttx.org> - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * 3. Neither the name NuttX nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - ****************************************************************************/ - -/**************************************************************************** - * Included Files - ****************************************************************************/ - -#include <nuttx/config.h> - -#include <nuttx/ascii.h> - -#include "nxcon_internal.h" - -/**************************************************************************** - * Definitions - ****************************************************************************/ - -/**************************************************************************** - * Private Types - ****************************************************************************/ - -/**************************************************************************** - * Private Function Prototypes - ****************************************************************************/ - -/**************************************************************************** - * Private Data - ****************************************************************************/ - -/**************************************************************************** - * Public Data - ****************************************************************************/ - -/**************************************************************************** - * Private Functions - ****************************************************************************/ - -/**************************************************************************** - * Name: nxcon_putc - * - * Description: - * Render the specified character at the current display position. - * - ****************************************************************************/ - -void nxcon_putc(FAR struct nxcon_state_s *priv, uint8_t ch) -{ - FAR const struct nxcon_bitmap_s *bm; - int lineheight; - - /* Ignore carriage returns */ - - if (ch == '\r') - { - return; - } - - /* Handle backspace (treating both BS and DEL as backspace) */ - - if (ch == ASCII_BS || ch == ASCII_DEL) - { - nxcon_backspace(priv); - return; - } - - /* Will another character fit on this line? */ - - if (priv->fpos.x + priv->fwidth > priv->wndo.wsize.w) - { -#ifndef CONFIG_NXCONSOLE_NOWRAP - /* No.. move to the next line */ - - nxcon_newline(priv); - - /* If we were about to output a newline character, then don't */ - - if (ch == '\n') - { - return; - } -#else - /* No.. Ignore all further characters until a newline is encountered */ - - if (ch != '\n') - { - return; - } -#endif - } - - /* If it is a newline character, then just perform the logical newline - * operation. - */ - - if (ch == '\n') - { - nxcon_newline(priv); - return; - } - - /* Check if we need to scroll up */ - - lineheight = (priv->fheight + CONFIG_NXCONSOLE_LINESEPARATION); - while (priv->fpos.y >= priv->wndo.wsize.h - lineheight) - { - nxcon_scroll(priv, lineheight); - } - - /* Find the glyph associated with the character and render it onto the - * display. - */ - - bm = nxcon_addchar(priv->font, priv, ch); - if (bm) - { - nxcon_fillchar(priv, NULL, bm); - } -} - -/**************************************************************************** - * Name: nxcon_showcursor - * - * Description: - * Render the cursor character at the current display position. - * - ****************************************************************************/ - -void nxcon_showcursor(FAR struct nxcon_state_s *priv) -{ - int lineheight; - - /* Will another character fit on this line? */ - - if (priv->fpos.x + priv->fwidth > priv->wndo.wsize.w) - { -#ifndef CONFIG_NXCONSOLE_NOWRAP - /* No.. move to the next line */ - - nxcon_newline(priv); -#else - return; -#endif - } - - /* Check if we need to scroll up */ - - lineheight = (priv->fheight + CONFIG_NXCONSOLE_LINESEPARATION); - while (priv->fpos.y >= priv->wndo.wsize.h - lineheight) - { - nxcon_scroll(priv, lineheight); - } - - /* Render the cursor glyph onto the display. */ - - priv->cursor.pos.x = priv->fpos.x; - priv->cursor.pos.y = priv->fpos.y; - nxcon_fillchar(priv, NULL, &priv->cursor); -} - -/**************************************************************************** - * Name: nxcon_hidecursor - * - * Description: - * Render the cursor cursor character from the display. - * - ****************************************************************************/ - -void nxcon_hidecursor(FAR struct nxcon_state_s *priv) -{ - (void)nxcon_hidechar(priv, &priv->cursor); -} diff --git a/nuttx/graphics/nxconsole/nxcon_redraw.c b/nuttx/graphics/nxconsole/nxcon_redraw.c deleted file mode 100644 index 05f0a47f8..000000000 --- a/nuttx/graphics/nxconsole/nxcon_redraw.c +++ /dev/null @@ -1,152 +0,0 @@ -/**************************************************************************** - * nuttx/graphics/nxconsole/nxcon_bkgd.c - * - * Copyright (C) 2012 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <gnutt@nuttx.org> - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * 3. Neither the name NuttX nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - ****************************************************************************/ - -/**************************************************************************** - * Included Files - ****************************************************************************/ - -#include <nuttx/config.h> - -#include <stdint.h> -#include <stdbool.h> -#include <semaphore.h> -#include <assert.h> -#include <errno.h> -#include <debug.h> - -#include <nuttx/nx/nx.h> -#include <nuttx/nx/nxglib.h> - -#include "nxcon_internal.h" - -/**************************************************************************** - * Definitions - ****************************************************************************/ - -/**************************************************************************** - * Private Types - ****************************************************************************/ - -/**************************************************************************** - * Private Function Prototypes - ****************************************************************************/ - -/**************************************************************************** - * Private Data - ****************************************************************************/ - -/**************************************************************************** - * Public Data - ****************************************************************************/ - -/**************************************************************************** - * Private Functions - ****************************************************************************/ - -/**************************************************************************** - * Public Functions - ****************************************************************************/ - -/**************************************************************************** - * Name: nxcon_redraw - * - * Description: - * Re-draw a portion of the NX console. This function should be called - * from the appropriate window callback logic. - * - * Input Parameters: - * handle - A handle previously returned by nx_register, nxtk_register, or - * nxtool_register. - * rect - The rectangle that needs to be re-drawn (in window relative - * coordinates) - * more - true: More re-draw requests will follow - * - * Returned Value: - * None - * - ****************************************************************************/ - -void nxcon_redraw(NXCONSOLE handle, FAR const struct nxgl_rect_s *rect, bool more) -{ - FAR struct nxcon_state_s *priv; - int ret; - int i; - - DEBUGASSERT(handle && rect); - gvdbg("rect={(%d,%d),(%d,%d)} more=%s\n", - rect->pt1.x, rect->pt1.y, rect->pt2.x, rect->pt2.y, - more ? "true" : "false"); - - /* Recover our private state structure */ - - priv = (FAR struct nxcon_state_s *)handle; - - /* Get exclusive access to the state structure */ - - do - { - ret = nxcon_semwait(priv); - - /* Check for errors */ - - if (ret < 0) - { - /* The only expected error is if the wait failed because of it - * was interrupted by a signal. - */ - - DEBUGASSERT(errno == EINTR); - } - } - while (ret < 0); - - /* Fill the rectangular region with the window background color */ - - ret = priv->ops->fill(priv, rect, priv->wndo.wcolor); - if (ret < 0) - { - gdbg("fill failed: %d\n", errno); - } - - /* Then redraw each character on the display (Only the characters within - * the rectangle will actually be redrawn). - */ - - for (i = 0; i < priv->nchars; i++) - { - nxcon_fillchar(priv, rect, &priv->bm[i]); - } - ret = nxcon_sempost(priv); -} diff --git a/nuttx/graphics/nxconsole/nxcon_register.c b/nuttx/graphics/nxconsole/nxcon_register.c deleted file mode 100644 index cadda7394..000000000 --- a/nuttx/graphics/nxconsole/nxcon_register.c +++ /dev/null @@ -1,160 +0,0 @@ -/**************************************************************************** - * nuttx/graphics/nxconsole/nxcon_register.c - * - * Copyright (C) 2012 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <gnutt@nuttx.org> - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * 3. Neither the name NuttX nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - ****************************************************************************/ - -/**************************************************************************** - * Included Files - ****************************************************************************/ - -#include <nuttx/config.h> - -#include <sys/types.h> -#include <stdbool.h> -#include <stdio.h> -#include <string.h> -#include <assert.h> -#include <errno.h> -#include <debug.h> - -#include <nuttx/kmalloc.h> -#include <nuttx/fs/fs.h> - -#include "nxcon_internal.h" - -/**************************************************************************** - * Private Function Prototypes - ****************************************************************************/ - -/**************************************************************************** - * Private Data - ****************************************************************************/ - -/**************************************************************************** - * Private Functions - ****************************************************************************/ - -/**************************************************************************** - * Public Functions - ****************************************************************************/ - -/**************************************************************************** - * Name: nxcon_allocate - ****************************************************************************/ - -FAR struct nxcon_state_s * - nxcon_register(NXCONSOLE handle, FAR struct nxcon_window_s *wndo, - FAR const struct nxcon_operations_s *ops, int minor) -{ - FAR struct nxcon_state_s *priv; - char devname[NX_DEVNAME_SIZE]; - int ret; - - DEBUGASSERT(handle && wndo && ops && (unsigned)minor < 256); - - /* Allocate the driver structure */ - - priv = (FAR struct nxcon_state_s *)kzalloc(sizeof(struct nxcon_state_s)); - if (!priv) - { - gdbg("Failed to allocate the NX driver structure\n"); - return NULL; - } - - /* Initialize the driver structure */ - - priv->ops = ops; - priv->handle = handle; - priv->minor = minor; - memcpy(&priv->wndo, wndo, sizeof( struct nxcon_window_s)); - - sem_init(&priv->exclsem, 0, 1); -#ifdef CONFIG_DEBUG - priv->holder = NO_HOLDER; -#endif - -#ifdef CONFIG_NXCONSOLE_NXKBDIN - sem_init(&priv->waitsem, 0, 0); -#endif - - /* Select the font */ - - priv->font = nxf_getfonthandle(wndo->fontid); - if (!priv->font) - { - gdbg("Failed to get font ID %d: %d\n", wndo->fontid, errno); - goto errout; - } - - FAR const struct nx_font_s *fontset; - - /* Get information about the font set being used and save this in the - * state structure - */ - - fontset = nxf_getfontset(priv->font); - priv->fheight = fontset->mxheight; - priv->fwidth = fontset->mxwidth; - priv->spwidth = fontset->spwidth; - - /* Set up the text cache */ - - priv->maxchars = CONFIG_NXCONSOLE_MXCHARS; - - /* Set up the font glyph bitmap cache */ - - priv->maxglyphs = CONFIG_NXCONSOLE_CACHESIZE; - - /* Set the initial display position */ - - nxcon_home(priv); - - /* Show the cursor */ - - priv->cursor.code = CONFIG_NXCONSOLE_CURSORCHAR; - nxcon_showcursor(priv); - - /* Register the driver */ - - snprintf(devname, NX_DEVNAME_SIZE, NX_DEVNAME_FORMAT, minor); - ret = register_driver(devname, &g_nxcon_drvrops, 0666, priv); - if (ret < 0) - { - gdbg("Failed to register %s\n", devname); - } - return (NXCONSOLE)priv; - -errout: - kfree(priv); - return NULL; -} diff --git a/nuttx/graphics/nxconsole/nxcon_scroll.c b/nuttx/graphics/nxconsole/nxcon_scroll.c deleted file mode 100755 index c1a0fec95..000000000 --- a/nuttx/graphics/nxconsole/nxcon_scroll.c +++ /dev/null @@ -1,239 +0,0 @@ -/**************************************************************************** - * nuttx/graphics/nxconsole/nxcon_scroll.c - * - * Copyright (C) 2012 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <gnutt@nuttx.org> - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * 3. Neither the name NuttX nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - ****************************************************************************/ - -/**************************************************************************** - * Included Files - ****************************************************************************/ - -#include <nuttx/config.h> - -#include <stdint.h> -#include <stdbool.h> -#include <stdio.h> -#include <stdlib.h> -#include <string.h> -#include <semaphore.h> -#include <errno.h> -#include <debug.h> - -#include <nuttx/nx/nx.h> -#include <nuttx/nx/nxfonts.h> - -#include "nxcon_internal.h" - -/**************************************************************************** - * Definitions - ****************************************************************************/ - -/**************************************************************************** - * Private Types - ****************************************************************************/ - -/**************************************************************************** - * Private Function Prototypes - ****************************************************************************/ - -/**************************************************************************** - * Private Data - ****************************************************************************/ - -/**************************************************************************** - * Public Data - ****************************************************************************/ - -/**************************************************************************** - * Private Functions - ****************************************************************************/ - -/**************************************************************************** - * Name: nxcon_movedisplay - * - * Description: - * This function implements the data movement for the scroll operation. If - * we can read the displays framebuffer memory, then the job is pretty - * easy. However, many displays (such as SPI-based LCDs) are often read- - * only. - ****************************************************************************/ - -#ifdef CONFIG_NX_WRITEONLY -static inline void nxcon_movedisplay(FAR struct nxcon_state_s *priv, - int bottom, int scrollheight) -{ - FAR struct nxcon_bitmap_s *bm; - struct nxgl_rect_s rect; - nxgl_coord_t row; - int ret; - int i; - - /* Move each row, one at a time. They could all be moved at once (by calling - * nxcon_redraw), but the since the region is cleared, then re-written, the - * effect would not be good. Below the region is also cleared and re-written, - * however, in much smaller chunks. - */ - - rect.pt1.x = 0; - rect.pt2.x = priv->wndo.wsize.w - 1; - - for (row = CONFIG_NXCONSOLE_LINESEPARATION; row < bottom; row += scrollheight) - { - /* Create a bounding box the size of one row of characters */ - - rect.pt1.y = row; - rect.pt2.y = row + scrollheight - 1; - - /* Clear the region */ - - ret = priv->ops->fill(priv, &rect, priv->wndo.wcolor); - if (ret < 0) - { - gdbg("fill failed: %d\n", errno); - } - - /* Fill each character that might lie within in the bounding box */ - - for (i = 0; i < priv->nchars; i++) - { - bm = &priv->bm[i]; - if (bm->pos.y <= rect.pt2.y && bm->pos.y + priv->fheight >= rect.pt1.y) - { - nxcon_fillchar(priv, &rect, bm); - } - } - } - - /* Finally, clear the bottom part of the display */ - - rect.pt1.y = bottom; - rect.pt2.y = priv->wndo.wsize.h- 1; - - ret = priv->ops->fill(priv, &rect, priv->wndo.wcolor); - if (ret < 0) - { - gdbg("nxcon_movedisplay: fill failed: %d\n", errno); - } -} -#else -static inline void nxcon_movedisplay(FAR struct nxcon_state_s *priv, - int bottom, int scrollheight) -{ - struct nxgl_rect_s rect; - struct nxgl_point_s offset; - int ret; - - /* Move the display in the range of 0-height up one scrollheight. The - * line at the bottom will be reset to the background color automatically. - * - * The source rectangle to be moved. - */ - - rect.pt1.x = 0; - rect.pt1.y = scrollheight + CONFIG_NXCONSOLE_LINESEPARATION; - rect.pt2.x = priv->wndo.wsize.w - 1; - rect.pt2.y = priv->wndo.wsize.h - 1; - - /* The offset that determines how far to move the source rectangle */ - - offset.x = 0; - offset.y = -scrollheight; - - /* Move the source rectangle */ - - ret = priv->ops->move(priv, &rect, &offset); - if (ret < 0) - { - gdbg("move failed: %d\n", errno); - } -} -#endif - -/**************************************************************************** - * Public Functions - ****************************************************************************/ - -/**************************************************************************** - * Name: nxcon_scroll - ****************************************************************************/ - -void nxcon_scroll(FAR struct nxcon_state_s *priv, int scrollheight) -{ - int i; - int j; - - /* Adjust the vertical position of each character */ - - for (i = 0; i < priv->nchars; ) - { - FAR struct nxcon_bitmap_s *bm = &priv->bm[i]; - - /* Has any part of this character scrolled off the screen? */ - - if (bm->pos.y < scrollheight + CONFIG_NXCONSOLE_LINESEPARATION) - { - /* Yes... Delete the character by moving all of the data */ - - for (j = i; j < priv->nchars-1; j++) - { - memcpy(&priv->bm[j], &priv->bm[j+1], sizeof(struct nxcon_bitmap_s)); - } - - /* Decrement the number of cached characters ('i' is not incremented - * in this case because it already points to the next character) - */ - - priv->nchars--; - } - - /* No.. just decrement its vertical position (moving it "up" the - * display by one line). - */ - - else - { - bm->pos.y -= scrollheight; - - /* We are keeping this one so increment to the next character */ - - i++; - } - } - - /* And move the next display position up by one line as well */ - - priv->fpos.y -= scrollheight; - - /* Move the display in the range of 0-height up one scrollheight. */ - - nxcon_movedisplay(priv, priv->fpos.y, scrollheight); -} diff --git a/nuttx/graphics/nxconsole/nxcon_sem.c b/nuttx/graphics/nxconsole/nxcon_sem.c deleted file mode 100644 index 4cf960971..000000000 --- a/nuttx/graphics/nxconsole/nxcon_sem.c +++ /dev/null @@ -1,129 +0,0 @@ -/**************************************************************************** - * nuttx/graphics/nxconsole/nxcon_sem.c - * - * Copyright (C) 2012 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <gnutt@nuttx.org> - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * 3. Neither the name NuttX nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - ****************************************************************************/ - -/**************************************************************************** - * Included Files - ****************************************************************************/ - -#include <nuttx/config.h> - -#include <unistd.h> -#include <semaphore.h> -#include <assert.h> -#include <errno.h> - -#include "nxcon_internal.h" - -#ifdef CONFIG_DEBUG - -/**************************************************************************** - * Pre-processor Definitions - ****************************************************************************/ - -/**************************************************************************** - * Private Function Prototypes - ****************************************************************************/ - -/**************************************************************************** - * Private Data - ****************************************************************************/ - -/**************************************************************************** - * Private Functions - ****************************************************************************/ - -/**************************************************************************** - * Public Functions - ****************************************************************************/ - -/**************************************************************************** - * Name: nxcon_semwait and nxcon_sempost - * - * Description: - * If debug is on, then lower level code may attempt console output while - * we are doing console output! In this case, we will toss the nested - * output to avoid deadlocks and infinite loops. - * - * Input Parameters: - * priv - Driver data structure - * - * Returned Value: - * - * - ****************************************************************************/ - -int nxcon_semwait(FAR struct nxcon_state_s *priv) -{ - pid_t me; - int ret; - - /* Does I already hold the semaphore */ - - me = getpid(); - if (priv->holder != me) - { - /* No.. then wait until the thread that does hold it is finished with it */ - - ret = sem_wait(&priv->exclsem); - if (ret == OK) - { - /* No I hold the semaphore */ - - priv->holder = me; - } - return ret; - } - - /* Abort, abort, abort! I have been re-entered */ - - set_errno(EBUSY); - return ERROR; -} - -int nxcon_sempost(FAR struct nxcon_state_s *priv) -{ - pid_t me = getpid(); - - /* Make sure that I really hold the semaphore */ - - ASSERT(priv->holder == me); - - /* Then let go of it */ - - priv->holder = NO_HOLDER; - return sem_post(&priv->exclsem); -} - -#endif /* CONFIG_DEBUG */ diff --git a/nuttx/graphics/nxconsole/nxcon_unregister.c b/nuttx/graphics/nxconsole/nxcon_unregister.c deleted file mode 100644 index af6a53370..000000000 --- a/nuttx/graphics/nxconsole/nxcon_unregister.c +++ /dev/null @@ -1,123 +0,0 @@ -/**************************************************************************** - * nuttx/graphics/nxconsole/nxcon_unregister.c - * - * Copyright (C) 2012 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <gnutt@nuttx.org> - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * 3. Neither the name NuttX nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - ****************************************************************************/ - -/**************************************************************************** - * Included Files - ****************************************************************************/ - -#include <nuttx/config.h> - -#include <sys/types.h> -#include <stdbool.h> -#include <stdio.h> -#include <string.h> -#include <errno.h> - -#include <nuttx/kmalloc.h> -#include <nuttx/nx/nxconsole.h> - -#include "nxcon_internal.h" - -/**************************************************************************** - * Pre-processor Definitions - ****************************************************************************/ - -/**************************************************************************** - * Private Function Prototypes - ****************************************************************************/ - -/**************************************************************************** - * Private Data - ****************************************************************************/ - -/**************************************************************************** - * Private Functions - ****************************************************************************/ - -/**************************************************************************** - * Public Functions - ****************************************************************************/ - -/**************************************************************************** - * Name: nxcon_unregister - * - * Description: - * Un-register to NX console device. - * - * Input Parameters: - * handle - A handle previously returned by nx_register, nxtk_register, or - * nxtool_register. - * - * Returned Value: - * None - * - ****************************************************************************/ - -void nxcon_unregister(NXCONSOLE handle) -{ - FAR struct nxcon_state_s *priv; - char devname[NX_DEVNAME_SIZE]; - int i; - - DEBUGASSERT(handle); - - /* Get the reference to the driver structure from the handle */ - - priv = (FAR struct nxcon_state_s *)handle; - sem_destroy(&priv->exclsem); -#ifdef CONFIG_NXCONSOLE_NXKBDIN - sem_destroy(&priv->waitsem); -#endif - - /* Free all allocated glyph bitmap */ - - for (i = 0; i < CONFIG_NXCONSOLE_CACHESIZE; i++) - { - FAR struct nxcon_glyph_s *glyph = &priv->glyph[i]; - if (glyph->bitmap) - { - kfree(glyph->bitmap); - } - } - - /* Unregister the driver */ - - snprintf(devname, NX_DEVNAME_SIZE, NX_DEVNAME_FORMAT, priv->minor); - (void)unregister_driver(devname); - - /* Free the private data structure */ - - kfree(handle); -} diff --git a/nuttx/graphics/nxconsole/nxcon_vt100.c b/nuttx/graphics/nxconsole/nxcon_vt100.c deleted file mode 100644 index 3e3374dce..000000000 --- a/nuttx/graphics/nxconsole/nxcon_vt100.c +++ /dev/null @@ -1,289 +0,0 @@ -/**************************************************************************** - * nuttx/graphics/nxconsole/nxcon_vt100.c - * - * Copyright (C) 2012 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <gnutt@nuttx.org> - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * 3. Neither the name NuttX nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - ****************************************************************************/ - -/**************************************************************************** - * Included Files - ****************************************************************************/ - -#include <nuttx/config.h> - -#include <string.h> -#include <assert.h> - -#include <nuttx/vt100.h> - -#include "nxcon_internal.h" - -/**************************************************************************** - * Pre-processor Definitions - ****************************************************************************/ - -/**************************************************************************** - * Private Types - ****************************************************************************/ - -typedef int (*seqhandler_t)(FAR struct nxcon_state_s *priv); - -struct vt100_sequence_s -{ - FAR const char *seq; - seqhandler_t handler; - uint8_t size; -}; - -/**************************************************************************** - * Private Function Prototypes - ****************************************************************************/ - -static int nxcon_erasetoeol(FAR struct nxcon_state_s *priv); - -/**************************************************************************** - * Private Data - ****************************************************************************/ - -/* All recognized VT100 escape sequences. Very little as present, this is - * a placeholder for a future, more complete VT100 emulation. - */ - -/* <esc>[K is the VT100 command erases to the end of the line. */ - -static const char g_erasetoeol[] = VT100_CLEAREOL; - -/* The list of all VT100 sequences supported by the emulation */ - -static const struct vt100_sequence_s g_vt100sequences[] = -{ - {g_erasetoeol, nxcon_erasetoeol, sizeof(g_erasetoeol)}, - {NULL, NULL, 0} -}; - -/**************************************************************************** - * Private Functions - ****************************************************************************/ - -/**************************************************************************** - * Name: nxcon_erasetoeol - * - * Description: - * Handle the erase-to-eol VT100 escapte sequence - * - * Input Parameters: - * priv - Driver data structure - * - * Returned Value: - * The index of the match in g_vt100sequences[] - * - ****************************************************************************/ - -static int nxcon_erasetoeol(FAR struct nxcon_state_s *priv) -{ - /* Does nothing yet (other than consume the sequence) */ - - return OK; -} - -/**************************************************************************** - * Name: nxcon_vt100part - * - * Description: - * Return the next entry that is a partial match to the sequence. - * - * Input Parameters: - * priv - Driver data structure - * seqsize - The number of bytes in the sequence - * startndx - The index to start searching - * - * Returned Value: - * A pointer to the matching sequence in g_vt100sequences[] - * - ****************************************************************************/ - -FAR const struct vt100_sequence_s * -nxcon_vt100part(FAR struct nxcon_state_s *priv, int seqsize) -{ - FAR const struct vt100_sequence_s *seq; - int ndx; - - /* Search from the beginning of the sequence table */ - - for (ndx = 0; g_vt100sequences[ndx].seq; ndx++) - { - /* Is this sequence big enough? */ - - seq = &g_vt100sequences[ndx]; - if (seq->size >= seqsize) - { - /* Yes... are the first 'seqsize' bytes the same */ - - if (memcmp(seq->seq, priv->seq, seqsize) == 0) - { - /* Yes.. return the match */ - - return seq; - } - } - } - return NULL; -} - -/**************************************************************************** - * Name: nxcon_vt100seq - * - * Description: - * Determine if the new sequence is a part of a supported VT100 escape - * sequence. - * - * Input Parameters: - * priv - Driver data structure - * seqsize - The number of bytes in the sequence - * - * Returned Value: - * state - See enum nxcon_vt100state_e; - * - ****************************************************************************/ - -static enum nxcon_vt100state_e nxcon_vt100seq(FAR struct nxcon_state_s *priv, - int seqsize) -{ - FAR const struct vt100_sequence_s *seq; - enum nxcon_vt100state_e ret; - - /* Is there any VT100 escape sequence that matches what we have - * buffered so far? - */ - - seq = nxcon_vt100part(priv, seqsize); - if (seq) - { - /* Yes.. if the size of that escape sequence is the same as what we - * have buffered, then we have an exact match. - */ - - if (seq->size == seqsize) - { - /* Process the VT100 sequence */ - - seq->handler(priv); - priv->nseq = 0; - return VT100_PROCESSED; - } - - /* The 'seqsize' is still smaller than the potential match(es). We - * will need to collect more characters before we can make a decision. - * Retun an indication that we have consumed the character. - */ - - return VT100_CONSUMED; - } - - /* We get here on a failure. The buffer sequence is not part of any - * supported VT100 escape sequence. If seqsize > 1 then we need to - * return a special value because we have to re-process the buffered - * data. - */ - - ret = seqsize > 1 ? VT100_ABORT : VT100_NOT_CONSUMED; - return ret; -} - -/**************************************************************************** - * Public Functions - ****************************************************************************/ - -/**************************************************************************** - * Name: nxcon_vt100 - * - * Description: - * Test if the newly received byte is part of a VT100 escape sequence - * - * Input Parameters: - * priv - Driver data structure - * ch - The newly received character - * - * Returned Value: - * state - See enum nxcon_vt100state_e; - * - ****************************************************************************/ - -enum nxcon_vt100state_e nxcon_vt100(FAR struct nxcon_state_s *priv, char ch) -{ - enum nxcon_vt100state_e ret; - int seqsize; - - DEBUGASSERT(priv && priv->nseq < VT100_MAX_SEQUENCE); - - /* If we have no buffered characters, then 'ch' must be the first character - * of an escape sequence. - */ - - if (priv->nseq < 1) - { - /* The first character of an escape sequence must be an an escape - * character (duh). - */ - - if (ch != ASCII_ESC) - { - return VT100_NOT_CONSUMED; - } - - /* Add the escape character to the buffer but don't bother with any - * further checking. - */ - - priv->seq[0] = ASCII_ESC; - priv->nseq = 1; - return VT100_CONSUMED; - } - - /* Temporarily add the next character to the buffer */ - - seqsize = priv->nseq; - priv->seq[seqsize] = ch; - - /* Then check if this sequence is part of an a valid escape sequence */ - - seqsize++; - ret = nxcon_vt100seq(priv, seqsize); - if (ret == VT100_CONSUMED) - { - /* The newly added character is indeed part of a VT100 escape sequence - * (which is still incomplete). Keep it in the buffer. - */ - - priv->nseq = seqsize; - } - return ret; -} diff --git a/nuttx/graphics/nxconsole/nxtk_register.c b/nuttx/graphics/nxconsole/nxtk_register.c deleted file mode 100644 index 0a11fc6cf..000000000 --- a/nuttx/graphics/nxconsole/nxtk_register.c +++ /dev/null @@ -1,192 +0,0 @@ -/**************************************************************************** - * nuttx/graphics/nxconsole/nxtk_register.c - * - * Copyright (C) 2012 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <gnutt@nuttx.org> - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * 3. Neither the name NuttX nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - ****************************************************************************/ - -/**************************************************************************** - * Included Files - ****************************************************************************/ - -#include <nuttx/config.h> - -#include <nuttx/nx/nxtk.h> -#include <nuttx/nx/nxconsole.h> - -#include "nxcon_internal.h" - -/**************************************************************************** - * Pre-processor Definitions - ****************************************************************************/ - -/**************************************************************************** - * Private Function Prototypes - ****************************************************************************/ - -static int nxtkcon_fill(FAR struct nxcon_state_s *priv, - FAR const struct nxgl_rect_s *rect, - nxgl_mxpixel_t wcolor[CONFIG_NX_NPLANES]); -#ifndef CONFIG_NX_WRITEONLY -static int nxtkcon_move(FAR struct nxcon_state_s *priv, - FAR const struct nxgl_rect_s *rect, - FAR const struct nxgl_point_s *offset); -#endif -static int nxtkcon_bitmap(FAR struct nxcon_state_s *priv, - FAR const struct nxgl_rect_s *dest, - FAR const void *src[CONFIG_NX_NPLANES], - FAR const struct nxgl_point_s *origin, - unsigned int stride); - -/**************************************************************************** - * Private Data - ****************************************************************************/ - -static const struct nxcon_operations_s g_nxtkops = -{ - nxtkcon_fill, -#ifndef CONFIG_NX_WRITEONLY - nxtkcon_move, -#endif - nxtkcon_bitmap -}; - -/**************************************************************************** - * Private Functions - ****************************************************************************/ - -/**************************************************************************** - * Name: nxtkcon_fill - * - * Description: - * Fill the specified rectangle in the window with the specified color - * - * Input Parameters: - * priv - The driver state structure. - * rect - The location to be filled - * color - The color to use in the fill - * - * Return: - * OK on success; ERROR on failure with errno set appropriately - * - ****************************************************************************/ - -static int nxtkcon_fill(FAR struct nxcon_state_s *priv, - FAR const struct nxgl_rect_s *rect, - nxgl_mxpixel_t wcolor[CONFIG_NX_NPLANES]) -{ - return nxtk_fillwindow((NXTKWINDOW)priv->handle, rect, wcolor); -} - -/**************************************************************************** - * Name: nxtkcon_move - * - * Description: - * Move a rectangular region within the window - * - * Input Parameters: - * priv - The driver state structure. - * rect - Describes the rectangular region to move - * offset - The offset to move the region. The rectangular region will be - * moved so that the origin is translated by this amount. - * - * Return: - * OK on success; ERROR on failure with errno set appropriately - * - ****************************************************************************/ - -#ifndef CONFIG_NX_WRITEONLY -static int nxtkcon_move(FAR struct nxcon_state_s *priv, - FAR const struct nxgl_rect_s *rect, - FAR const struct nxgl_point_s *offset) -{ - return nxtk_movewindow((NXTKWINDOW)priv->handle, rect, offset); -} -#endif - -/**************************************************************************** - * Name: nxtkcon_bitmap - * - * Description: - * Copy a rectangular region of a larger image into the rectangle in the - * specified window. - * - * Input Parameters: - * priv - The driver state structure. - * dest - Describes the rectangular region on the display that will - * receive the bit map. - * src - The start of the source image. This is an array source - * images of size CONFIG_NX_NPLANES. - * origin - The origin of the upper, left-most corner of the full bitmap. - * Both dest and origin are in window coordinates, however, origin - * may lie outside of the display. - * stride - The width of the full source image in bytes. - * - * Return: - * OK on success; ERROR on failure with errno set appropriately - * - ****************************************************************************/ - -static int nxtkcon_bitmap(FAR struct nxcon_state_s *priv, - FAR const struct nxgl_rect_s *dest, - FAR const void *src[CONFIG_NX_NPLANES], - FAR const struct nxgl_point_s *origin, - unsigned int stride) -{ - return nxtk_bitmapwindow((NXTKWINDOW)priv->handle, dest, src, origin, stride); -} - -/**************************************************************************** - * Public Functions - ****************************************************************************/ - -/**************************************************************************** - * Name: nxtk_register - * - * Description: - * Register a console device on a framed NX window. The device will be - * registered at /dev/nxtkN where N is the provided minor number. - * - * Input Parameters: - * hfwnd - A handle that will be used to access the window. The window must - * persist and this handle must be valid for the life of the NX console. - * wndo - Describes the window and font to be used - * minor - The device minor number - * - * Return: - * A non-NULL handle is returned on success. - * - ****************************************************************************/ - -NXCONSOLE nxtk_register(NXTKWINDOW hfwnd, FAR struct nxcon_window_s *wndo, int minor) -{ - return nxcon_register((NXCONSOLE)hfwnd, wndo, &g_nxtkops, minor); -} diff --git a/nuttx/graphics/nxconsole/nxtool_register.c b/nuttx/graphics/nxconsole/nxtool_register.c deleted file mode 100644 index b063d5a61..000000000 --- a/nuttx/graphics/nxconsole/nxtool_register.c +++ /dev/null @@ -1,195 +0,0 @@ -/**************************************************************************** - * nuttx/graphics/nxconsole/nxtool_register.c - * - * Copyright (C) 2012 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <gnutt@nuttx.org> - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * 3. Neither the name NuttX nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - ****************************************************************************/ - -/**************************************************************************** - * Included Files - ****************************************************************************/ - -#include <nuttx/config.h> - -#include <nuttx/nx/nxtk.h> -#include <nuttx/nx/nxconsole.h> - -#include "nxcon_internal.h" - -/**************************************************************************** - * Pre-processor Definitions - ****************************************************************************/ - -/**************************************************************************** - * Private Function Prototypes - ****************************************************************************/ - -static int nxtool_fill(FAR struct nxcon_state_s *priv, - FAR const struct nxgl_rect_s *rect, - nxgl_mxpixel_t wcolor[CONFIG_NX_NPLANES]); -#ifndef CONFIG_NX_WRITEONLY -static int nxtool_move(FAR struct nxcon_state_s *priv, - FAR const struct nxgl_rect_s *rect, - FAR const struct nxgl_point_s *offset); -#endif -static int nxtool_bitmap(FAR struct nxcon_state_s *priv, - FAR const struct nxgl_rect_s *dest, - FAR const void *src[CONFIG_NX_NPLANES], - FAR const struct nxgl_point_s *origin, - unsigned int stride); - -/**************************************************************************** - * Private Data - ****************************************************************************/ - -static const struct nxcon_operations_s g_nxtoolops = -{ - nxtool_fill, -#ifndef CONFIG_NX_WRITEONLY - nxtool_move, -#endif - nxtool_bitmap -}; - -/**************************************************************************** - * Private Functions - ****************************************************************************/ - -/**************************************************************************** - * Name: nxtool_fill - * - * Description: - * Fill the specified rectangle in the window with the specified color - * - * Input Parameters: - * priv - The driver state structure. - * rect - The location to be filled - * color - The color to use in the fill - * - * Return: - * OK on success; ERROR on failure with errno set appropriately - * - ****************************************************************************/ - -static int nxtool_fill(FAR struct nxcon_state_s *priv, - FAR const struct nxgl_rect_s *rect, - nxgl_mxpixel_t wcolor[CONFIG_NX_NPLANES]) -{ - return nxtk_filltoolbar((NXTKWINDOW)priv->handle, rect, wcolor); -} - -/**************************************************************************** - * Name: nxtool_move - * - * Description: - * Move a rectangular region within the window - * - * Input Parameters: - * priv - The driver state structure. - * rect - Describes the rectangular region to move - * offset - The offset to move the region. The rectangular region will be - * moved so that the origin is translated by this amount. - * - * Return: - * OK on success; ERROR on failure with errno set appropriately - * - ****************************************************************************/ - -#ifndef CONFIG_NX_WRITEONLY -static int nxtool_move(FAR struct nxcon_state_s *priv, - FAR const struct nxgl_rect_s *rect, - FAR const struct nxgl_point_s *offset) -{ - return nxtk_movetoolbar((NXTKWINDOW)priv->handle, rect, offset); -} -#endif - -/**************************************************************************** - * Name: nxtool_bitmap - * - * Description: - * Copy a rectangular region of a larger image into the rectangle in the - * specified window. - * - * Input Parameters: - * priv - The driver state structure. - * dest - Describes the rectangular region on the display that will - * receive the bit map. - * src - The start of the source image. This is an array source - * images of size CONFIG_NX_NPLANES. - * origin - The origin of the upper, left-most corner of the full bitmap. - * Both dest and origin are in window coordinates, however, origin - * may lie outside of the display. - * stride - The width of the full source image in bytes. - * - * Return: - * OK on success; ERROR on failure with errno set appropriately - * - ****************************************************************************/ - -static int nxtool_bitmap(FAR struct nxcon_state_s *priv, - FAR const struct nxgl_rect_s *dest, - FAR const void *src[CONFIG_NX_NPLANES], - FAR const struct nxgl_point_s *origin, - unsigned int stride) -{ - return nxtk_bitmaptoolbar((NXTKWINDOW)priv->handle, dest, src, origin, stride); -} - -/**************************************************************************** - * Public Functions - ****************************************************************************/ - -/**************************************************************************** - * Name: nxtool_register - * - * Description: - * Register a console device on a toolbar of a framed NX window. The - * device will be registered at /dev/nxtoolN where N is the provided minor - * number. - * - * Input Parameters: - * hfwnd - A handle that will be used to access the toolbar. The toolbar - * must persist and this handle must be valid for the life of the NX - * console. - * wndo - Describes the window and font to be used - * minor - The device minor number - * - * Return: - * A non-NULL handle is returned on success. - * - ****************************************************************************/ - -NXCONSOLE nxtool_register(NXTKWINDOW hfwnd, FAR struct nxcon_window_s *wndo, int minor) -{ - return nxcon_register((NXCONSOLE)hfwnd, wndo, &g_nxtoolops, minor); -} - diff --git a/nuttx/graphics/nxfonts/Make.defs b/nuttx/graphics/nxfonts/Make.defs deleted file mode 100644 index def092825..000000000 --- a/nuttx/graphics/nxfonts/Make.defs +++ /dev/null @@ -1,128 +0,0 @@ -############################################################################ -# graphics/nxfonts/Make.defs -# -# Copyright (C) 2008 Gregory Nutt. All rights reserved. -# Author: Gregory Nutt <gnutt@nuttx.org> -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions -# are met: -# -# 1. Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# 2. Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in -# the documentation and/or other materials provided with the -# distribution. -# 3. Neither the name NuttX nor the names of its contributors may be -# used to endorse or promote products derived from this software -# without specific prior written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS -# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, -# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS -# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED -# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN -# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -# POSSIBILITY OF SUCH DAMAGE. -# -############################################################################ - -NXFCONV_ASRCS = -NXFCONV_CSRCS = nxfonts_convert_1bpp.c nxfonts_convert_2bpp.c \ - nxfonts_convert_4bpp.c nxfonts_convert_8bpp.c \ - nxfonts_convert_16bpp.c nxfonts_convert_24bpp.c \ - nxfonts_convert_32bpp.c - -NXFSET_ASRCS = -NXFSET_CSRCS = - -# Monospace fonts - -ifeq ($(CONFIG_NXFONT_MONO5X8),y) -NXFSET_CSRCS += nxfonts_bitmaps_mono5x8.c -endif - -# Sans serif fonts - -ifeq ($(CONFIG_NXFONT_SANS17X22),y) -NXFSET_CSRCS += nxfonts_bitmaps_sans17x22.c -endif - -ifeq ($(CONFIG_NXFONT_SANS20X26),y) -NXFSET_CSRCS += nxfonts_bitmaps_sans20x26.c -endif - -ifeq ($(CONFIG_NXFONT_SANS23X27),y) -NXFSET_CSRCS += nxfonts_bitmaps_sans23x27.c -endif - -ifeq ($(CONFIG_NXFONT_SANS22X29),y) -NXFSET_CSRCS += nxfonts_bitmaps_sans22x29.c -endif - -ifeq ($(CONFIG_NXFONT_SANS28X37),y) -NXFSET_CSRCS += nxfonts_bitmaps_sans28x37.c -endif - -ifeq ($(CONFIG_NXFONT_SANS39X48),y) -NXFSET_CSRCS += nxfonts_bitmaps_sans39x48.c -endif - -# Sans serif bold fonts - -ifeq ($(CONFIG_NXFONT_SANS17X23B),y) -NXFSET_CSRCS += nxfonts_bitmaps_sans17x23b.c -endif - -ifeq ($(CONFIG_NXFONT_SANS20X27B),y) -NXFSET_CSRCS += nxfonts_bitmaps_sans20x27b.c -endif - -ifeq ($(CONFIG_NXFONT_SANS22X29B),y) -NXFSET_CSRCS += nxfonts_bitmaps_sans22x29b.c -endif - -ifeq ($(CONFIG_NXFONT_SANS28X37B),y) -NXFSET_CSRCS += nxfonts_bitmaps_sans28x37b.c -endif - -ifeq ($(CONFIG_NXFONT_SANS40X49B),y) -NXFSET_CSRCS += nxfonts_bitmaps_sans40x49b.c -endif - -# Serif fonts - -ifeq ($(CONFIG_NXFONT_SERIF22X29),y) -NXFSET_CSRCS += nxfonts_bitmaps_serif22x29.c -endif - -ifeq ($(CONFIG_NXFONT_SERIF29X37),y) -NXFSET_CSRCS += nxfonts_bitmaps_serif29x37.c -endif - -ifeq ($(CONFIG_NXFONT_SERIF38X48),y) -NXFSET_CSRCS += nxfonts_bitmaps_serif38x48.c -endif - -# Serif bold fonts - -ifeq ($(CONFIG_NXFONT_SERIF22X28B),y) -NXFSET_CSRCS += nxfonts_bitmaps_serif22x28b.c -endif - -ifeq ($(CONFIG_NXFONT_SERIF27X38B),y) -NXFSET_CSRCS += nxfonts_bitmaps_serif27x38b.c -endif - -ifeq ($(CONFIG_NXFONT_SERIF38X49B),y) -NXFSET_CSRCS += nxfonts_bitmaps_serif38x49b.c -endif - -NXFONTS_ASRCS = $(NXFCONV_ASRCS) $(NXFSET_ASRCS) -NXFONTS_CSRCS = nxfonts_getfont.c $(NXFCONV_CSRCS) $(NXFSET_CSRCS) diff --git a/nuttx/graphics/nxfonts/Makefile.sources b/nuttx/graphics/nxfonts/Makefile.sources deleted file mode 100644 index 2e41fc704..000000000 --- a/nuttx/graphics/nxfonts/Makefile.sources +++ /dev/null @@ -1,196 +0,0 @@ -############################################################################ -# graphics/nxfonts/Makefile.sources -# -# Copyright (C) 2008 Gregory Nutt. All rights reserved. -# Author: Gregory Nutt <gnutt@nuttx.org> -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions -# are met: -# -# 1. Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# 2. Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in -# the documentation and/or other materials provided with the -# distribution. -# 3. Neither the name NuttX nor the names of its contributors may be -# used to endorse or promote products derived from this software -# without specific prior written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS -# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, -# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS -# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED -# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN -# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -# POSSIBILITY OF SUCH DAMAGE. -# -############################################################################ - --include $(TOPDIR)/Make.defs - -ifdef NXFONTS_BITSPERPIXEL -ifeq ($(NXFONTS_BITSPERPIXEL),1) -NXFONTS_SUFFIX := _1bpp -GEN_CSRC := nxfonts_convert_1bpp.c -endif -ifeq ($(NXFONTS_BITSPERPIXEL),2) -NXFONTS_SUFFIX := _2bpp -GEN_CSRC := nxfonts_convert_2bpp.c -endif -ifeq ($(NXFONTS_BITSPERPIXEL),4) -NXFONTS_SUFFIX := _4bpp -GEN_CSRC := nxfonts_convert_4bpp.c -endif -ifeq ($(NXFONTS_BITSPERPIXEL),8) -NXFONTS_SUFFIX := _8bpp -GEN_CSRC := nxfonts_convert_8bpp.c -endif -ifeq ($(NXFONTS_BITSPERPIXEL),16) -NXFONTS_SUFFIX := _16bpp -GEN_CSRC := nxfonts_convert_16bpp.c -endif -ifeq ($(NXFONTS_BITSPERPIXEL),24) -NXFONTS_SUFFIX := _24bpp -GEN_CSRC := nxfonts_convert_24bpp.c -endif -ifeq ($(NXFONTS_BITSPERPIXEL),32) -NXFONTS_SUFFIX := _32bpp -GEN_CSRC := nxfonts_convert_32bpp.c -endif - -DEPENDENCY := nxfonts_convert.c -CPPFLAGS += -DNXFONTS_BITSPERPIXEL=$(NXFONTS_BITSPERPIXEL) -CPPFLAGS += -DNXFONTS_SUFFIX=$(NXFONTS_SUFFIX) -endif - -ifdef NXFONTS_FONTID - -# MONO - -ifeq ($(NXFONTS_FONTID),18) -NXFONTS_PREFIX := g_mono5x8_ -GEN_CSRC = nxfonts_bitmaps_mono5x8.c -endif - -# SANS - -ifeq ($(NXFONTS_FONTID),14) -NXFONTS_PREFIX := g_sans17x22_ -GEN_CSRC = nxfonts_bitmaps_sans17x22.c -endif - -ifeq ($(NXFONTS_FONTID),15) -NXFONTS_PREFIX := g_sans20x26_ -GEN_CSRC = nxfonts_bitmaps_sans20x26.c -endif - -ifeq ($(NXFONTS_FONTID),1) -NXFONTS_PREFIX := g_sans23x27_ -GEN_CSRC = nxfonts_bitmaps_sans23x27.c -endif - -ifeq ($(NXFONTS_FONTID),2) -NXFONTS_PREFIX := g_sans22x29_ -GEN_CSRC = nxfonts_bitmaps_sans22x29.c -endif - -ifeq ($(NXFONTS_FONTID),3) -NXFONTS_PREFIX := g_sans28x37_ -GEN_CSRC = nxfonts_bitmaps_sans28x37.c -endif - -ifeq ($(NXFONTS_FONTID),4) -NXFONTS_PREFIX := g_sans39x48_ -GEN_CSRC = nxfonts_bitmaps_sans39x48.c -endif - -# SANS-BOLD - -ifeq ($(NXFONTS_FONTID),16) -NXFONTS_PREFIX := g_sans17x23b_ -GEN_CSRC = nxfonts_bitmaps_sans17x23b.c -endif - -ifeq ($(NXFONTS_FONTID),17) -NXFONTS_PREFIX := g_sans20x27b_ -GEN_CSRC = nxfonts_bitmaps_sans20x27b.c -endif - -ifeq ($(NXFONTS_FONTID),5) -NXFONTS_PREFIX := g_sans22x29b_ -GEN_CSRC = nxfonts_bitmaps_sans22x29b.c -endif - -ifeq ($(NXFONTS_FONTID),6) -NXFONTS_PREFIX := g_sans28x37b_ -GEN_CSRC = nxfonts_bitmaps_sans28x37b.c -endif - -ifeq ($(NXFONTS_FONTID),7) -NXFONTS_PREFIX := g_sans40x49b_ -GEN_CSRC = nxfonts_bitmaps_sans40x49b.c -endif - -# SERIF - -ifeq ($(NXFONTS_FONTID),8) -NXFONTS_PREFIX := g_serif22x29_ -GEN_CSRC = nxfonts_bitmaps_serif22x29.c -endif - -ifeq ($(NXFONTS_FONTID),9) -NXFONTS_PREFIX := g_serif29x37_ -GEN_CSRC = nxfonts_bitmaps_serif29x37.c -endif - -ifeq ($(NXFONTS_FONTID),10) -NXFONTS_PREFIX := g_serif38x48_ -GEN_CSRC = nxfonts_bitmaps_serif38x48.c -endif - -# SERIF-BOLD - -ifeq ($(NXFONTS_FONTID),11) -NXFONTS_PREFIX := g_serif22x28b_ -GEN_CSRC = nxfonts_bitmaps_serif22x28b.c -endif - -ifeq ($(NXFONTS_FONTID),12) -NXFONTS_PREFIX := g_serif27x38b_ -GEN_CSRC = nxfonts_bitmaps_serif27x38b.c -endif - -ifeq ($(NXFONTS_FONTID),13) -NXFONTS_PREFIX := g_serif38x49b_ -GEN_CSRC = nxfonts_bitmaps_serif38x49b.c -endif - -DEPENDENCY := nxfonts_bitmaps.c -CPPFLAGS += -DNXFONTS_FONTID=$(NXFONTS_FONTID) -CPPFLAGS += -DNXFONTS_PREFIX=$(NXFONTS_PREFIX) -endif - -GEN_TMP = $(GEN_CSRC:.c=.i) - -all: $(GEN_CSRC) -.PHONY : clean distclean - -$(GEN_CSRC) : $(DEPENDENCY) - $(call PREPROCESS, $<, $(GEN_TMP)) - $(Q) cat $(GEN_TMP) | sed -e "/^#/d" >$@ - $(Q) rm -f $(GEN_TMP) - -clean: - $(call DELFILE, *.i) - $(call CLEAN) - -distclean: clean - $(call DELFILE, nxfonts_convert_*bpp.c) - $(call DELFILE, nxfonts_bitmaps_*.c) diff --git a/nuttx/graphics/nxfonts/nxfonts_bitmaps.c b/nuttx/graphics/nxfonts/nxfonts_bitmaps.c deleted file mode 100644 index b089ec038..000000000 --- a/nuttx/graphics/nxfonts/nxfonts_bitmaps.c +++ /dev/null @@ -1,1691 +0,0 @@ -/**************************************************************************** - * graphics/nxfonts/nxfonts_bitmaps.c - * - * Copyright (C) 2008-2009, 2011 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <gnutt@nuttx.org> - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * 3. Neither the name NuttX nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT} - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING} - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - ****************************************************************************/ - -/**************************************************************************** - * Included Files - ****************************************************************************/ - -#include <nuttx/config.h> - -#include <stdint.h> -#include <nuttx/nx/nxfonts.h> - -#include "nxfonts_internal.h" - -/* Pick the fontset */ - -#if NXFONTS_FONTID == 1 -# include "nxfonts_sans23x27.h" -#elif NXFONTS_FONTID == 2 -# include "nxfonts_sans22x29.h" -#elif NXFONTS_FONTID == 3 -# include "nxfonts_sans28x37.h" -#elif NXFONTS_FONTID == 4 -# include "nxfonts_sans39x48.h" -#elif NXFONTS_FONTID == 5 -# include "nxfonts_sans22x29b.h" -#elif NXFONTS_FONTID == 6 -# include "nxfonts_sans28x37b.h" -#elif NXFONTS_FONTID == 7 -# include "nxfonts_sans40x49b.h" -#elif NXFONTS_FONTID == 8 -# include "nxfonts_serif22x29.h" -#elif NXFONTS_FONTID == 9 -# include "nxfonts_serif29x37.h" -#elif NXFONTS_FONTID == 10 -# include "nxfonts_serif38x48.h" -#elif NXFONTS_FONTID == 11 -# include "nxfonts_serif22x28b.h" -#elif NXFONTS_FONTID == 12 -# include "nxfonts_serif27x38b.h" -#elif NXFONTS_FONTID == 13 -# include "nxfonts_serif38x49b.h" -#elif NXFONTS_FONTID == 14 -# include "nxfonts_sans17x22.h" -#elif NXFONTS_FONTID == 15 -# include "nxfonts_sans20x26.h" -#elif NXFONTS_FONTID == 16 -# include "nxfonts_sans17x23b.h" -#elif NXFONTS_FONTID == 17 -# include "nxfonts_sans20x27b.h" -#elif NXFONTS_FONTID == 18 -# include "nxfonts_mono5x8.h" -#else -# error "No font ID specified" -#endif - -/**************************************************************************** - * Pre-Processor Definitions - ****************************************************************************/ - -#define NXFONT_N7BITFONTS (NXFONT_MAX7BIT - NXFONT_MIN7BIT + 1) -#define NXFONT_N8BITFONTS (NXFONT_MAX8BIT - NXFONT_MIN8BIT + 1) - -#define NXFONT_CONCAT(a,b) a##b -#define NXFONT_DEFBITMAP(n) \ -static const uint8_t NXFONT_CONCAT(g_bitmap_,n)[] = NXFONT_CONCAT(NXFONT_BITMAP_,n) -#define NXFONT_DEFMETRIC(n) \ - { NXFONT_CONCAT(NXFONT_METRICS_,n), NXFONT_CONCAT(g_bitmap_,n) } -#define NXF_SYMNAME(a,b) NXFONT_CONCAT(a,b) - -/**************************************************************************** - * Private Data - ****************************************************************************/ - -#if NXFONT_MIN7BIT <= 0 && NXFONT_MAX7BIT >= 0 -NXFONT_DEFBITMAP(0); -#endif -#if NXFONT_MIN7BIT <= 1 && NXFONT_MAX7BIT >= 1 -NXFONT_DEFBITMAP(1); -#endif -#if NXFONT_MIN7BIT <= 2 && NXFONT_MAX7BIT >= 2 -NXFONT_DEFBITMAP(2); -#endif -#if NXFONT_MIN7BIT <= 3 && NXFONT_MAX7BIT >= 3 -NXFONT_DEFBITMAP(3); -#endif -#if NXFONT_MIN7BIT <= 4 && NXFONT_MAX7BIT >= 4 -NXFONT_DEFBITMAP(4); -#endif -#if NXFONT_MIN7BIT <= 5 && NXFONT_MAX7BIT >= 5 -NXFONT_DEFBITMAP(5); -#endif -#if NXFONT_MIN7BIT <= 6 && NXFONT_MAX7BIT >= 6 -NXFONT_DEFBITMAP(6); -#endif -#if NXFONT_MIN7BIT <= 7 && NXFONT_MAX7BIT >= 7 -NXFONT_DEFBITMAP(7); -#endif -#if NXFONT_MIN7BIT <= 8 && NXFONT_MAX7BIT >= 8 -NXFONT_DEFBITMAP(8); -#endif -#if NXFONT_MIN7BIT <= 9 && NXFONT_MAX7BIT >= 9 -NXFONT_DEFBITMAP(9); -#endif -#if NXFONT_MIN7BIT <= 10 && NXFONT_MAX7BIT >= 10 -NXFONT_DEFBITMAP(10); -#endif -#if NXFONT_MIN7BIT <= 11 && NXFONT_MAX7BIT >= 11 -NXFONT_DEFBITMAP(11); -#endif -#if NXFONT_MIN7BIT <= 12 && NXFONT_MAX7BIT >= 12 -NXFONT_DEFBITMAP(12); -#endif -#if NXFONT_MIN7BIT <= 13 && NXFONT_MAX7BIT >= 13 -NXFONT_DEFBITMAP(13); -#endif -#if NXFONT_MIN7BIT <= 14 && NXFONT_MAX7BIT >= 14 -NXFONT_DEFBITMAP(14); -#endif -#if NXFONT_MIN7BIT <= 15 && NXFONT_MAX7BIT >= 15 -NXFONT_DEFBITMAP(15); -#endif -#if NXFONT_MIN7BIT <= 16 && NXFONT_MAX7BIT >= 16 -NXFONT_DEFBITMAP(16); -#endif -#if NXFONT_MIN7BIT <= 17 && NXFONT_MAX7BIT >= 17 -NXFONT_DEFBITMAP(17); -#endif -#if NXFONT_MIN7BIT <= 18 && NXFONT_MAX7BIT >= 18 -NXFONT_DEFBITMAP(18); -#endif -#if NXFONT_MIN7BIT <= 19 && NXFONT_MAX7BIT >= 19 -NXFONT_DEFBITMAP(19); -#endif -#if NXFONT_MIN7BIT <= 20 && NXFONT_MAX7BIT >= 20 -NXFONT_DEFBITMAP(20); -#endif -#if NXFONT_MIN7BIT <= 21 && NXFONT_MAX7BIT >= 21 -NXFONT_DEFBITMAP(21); -#endif -#if NXFONT_MIN7BIT <= 22 && NXFONT_MAX7BIT >= 22 -NXFONT_DEFBITMAP(22); -#endif -#if NXFONT_MIN7BIT <= 23 && NXFONT_MAX7BIT >= 23 -NXFONT_DEFBITMAP(23); -#endif -#if NXFONT_MIN7BIT <= 24 && NXFONT_MAX7BIT >= 24 -NXFONT_DEFBITMAP(24); -#endif -#if NXFONT_MIN7BIT <= 25 && NXFONT_MAX7BIT >= 25 -NXFONT_DEFBITMAP(25); -#endif -#if NXFONT_MIN7BIT <= 26 && NXFONT_MAX7BIT >= 26 -NXFONT_DEFBITMAP(26); -#endif -#if NXFONT_MIN7BIT <= 27 && NXFONT_MAX7BIT >= 27 -NXFONT_DEFBITMAP(27); -#endif -#if NXFONT_MIN7BIT <= 28 && NXFONT_MAX7BIT >= 28 -NXFONT_DEFBITMAP(28); -#endif -#if NXFONT_MIN7BIT <= 29 && NXFONT_MAX7BIT >= 29 -NXFONT_DEFBITMAP(29); -#endif -#if NXFONT_MIN7BIT <= 30 && NXFONT_MAX7BIT >= 30 -NXFONT_DEFBITMAP(30); -#endif -#if NXFONT_MIN7BIT <= 31 && NXFONT_MAX7BIT >= 31 -NXFONT_DEFBITMAP(31); -#endif -#if NXFONT_MIN7BIT <= 32 && NXFONT_MAX7BIT >= 32 -NXFONT_DEFBITMAP(32); -#endif -#if NXFONT_MIN7BIT <= 33 && NXFONT_MAX7BIT >= 33 -NXFONT_DEFBITMAP(33); -#endif -#if NXFONT_MIN7BIT <= 34 && NXFONT_MAX7BIT >= 34 -NXFONT_DEFBITMAP(34); -#endif -#if NXFONT_MIN7BIT <= 35 && NXFONT_MAX7BIT >= 35 -NXFONT_DEFBITMAP(35); -#endif -#if NXFONT_MIN7BIT <= 36 && NXFONT_MAX7BIT >= 36 -NXFONT_DEFBITMAP(36); -#endif -#if NXFONT_MIN7BIT <= 37 && NXFONT_MAX7BIT >= 37 -NXFONT_DEFBITMAP(37); -#endif -#if NXFONT_MIN7BIT <= 38 && NXFONT_MAX7BIT >= 38 -NXFONT_DEFBITMAP(38); -#endif -#if NXFONT_MIN7BIT <= 39 && NXFONT_MAX7BIT >= 39 -NXFONT_DEFBITMAP(39); -#endif -#if NXFONT_MIN7BIT <= 40 && NXFONT_MAX7BIT >= 40 -NXFONT_DEFBITMAP(40); -#endif -#if NXFONT_MIN7BIT <= 41 && NXFONT_MAX7BIT >= 41 -NXFONT_DEFBITMAP(41); -#endif -#if NXFONT_MIN7BIT <= 42 && NXFONT_MAX7BIT >= 42 -NXFONT_DEFBITMAP(42); -#endif -#if NXFONT_MIN7BIT <= 43 && NXFONT_MAX7BIT >= 43 -NXFONT_DEFBITMAP(43); -#endif -#if NXFONT_MIN7BIT <= 44 && NXFONT_MAX7BIT >= 44 -NXFONT_DEFBITMAP(44); -#endif -#if NXFONT_MIN7BIT <= 45 && NXFONT_MAX7BIT >= 45 -NXFONT_DEFBITMAP(45); -#endif -#if NXFONT_MIN7BIT <= 46 && NXFONT_MAX7BIT >= 46 -NXFONT_DEFBITMAP(46); -#endif -#if NXFONT_MIN7BIT <= 47 && NXFONT_MAX7BIT >= 47 -NXFONT_DEFBITMAP(47); -#endif -#if NXFONT_MIN7BIT <= 48 && NXFONT_MAX7BIT >= 48 -NXFONT_DEFBITMAP(48); -#endif -#if NXFONT_MIN7BIT <= 49 && NXFONT_MAX7BIT >= 49 -NXFONT_DEFBITMAP(49); -#endif -#if NXFONT_MIN7BIT <= 50 && NXFONT_MAX7BIT >= 50 -NXFONT_DEFBITMAP(50); -#endif -#if NXFONT_MIN7BIT <= 51 && NXFONT_MAX7BIT >= 51 -NXFONT_DEFBITMAP(51); -#endif -#if NXFONT_MIN7BIT <= 52 && NXFONT_MAX7BIT >= 52 -NXFONT_DEFBITMAP(52); -#endif -#if NXFONT_MIN7BIT <= 53 && NXFONT_MAX7BIT >= 53 -NXFONT_DEFBITMAP(53); -#endif -#if NXFONT_MIN7BIT <= 54 && NXFONT_MAX7BIT >= 54 -NXFONT_DEFBITMAP(54); -#endif -#if NXFONT_MIN7BIT <= 55 && NXFONT_MAX7BIT >= 55 -NXFONT_DEFBITMAP(55); -#endif -#if NXFONT_MIN7BIT <= 56 && NXFONT_MAX7BIT >= 56 -NXFONT_DEFBITMAP(56); -#endif -#if NXFONT_MIN7BIT <= 57 && NXFONT_MAX7BIT >= 57 -NXFONT_DEFBITMAP(57); -#endif -#if NXFONT_MIN7BIT <= 58 && NXFONT_MAX7BIT >= 58 -NXFONT_DEFBITMAP(58); -#endif -#if NXFONT_MIN7BIT <= 59 && NXFONT_MAX7BIT >= 59 -NXFONT_DEFBITMAP(59); -#endif -#if NXFONT_MIN7BIT <= 60 && NXFONT_MAX7BIT >= 60 -NXFONT_DEFBITMAP(60); -#endif -#if NXFONT_MIN7BIT <= 61 && NXFONT_MAX7BIT >= 61 -NXFONT_DEFBITMAP(61); -#endif -#if NXFONT_MIN7BIT <= 62 && NXFONT_MAX7BIT >= 62 -NXFONT_DEFBITMAP(62); -#endif -#if NXFONT_MIN7BIT <= 63 && NXFONT_MAX7BIT >= 63 -NXFONT_DEFBITMAP(63); -#endif -#if NXFONT_MIN7BIT <= 64 && NXFONT_MAX7BIT >= 64 -NXFONT_DEFBITMAP(64); -#endif -#if NXFONT_MIN7BIT <= 65 && NXFONT_MAX7BIT >= 65 -NXFONT_DEFBITMAP(65); -#endif -#if NXFONT_MIN7BIT <= 66 && NXFONT_MAX7BIT >= 66 -NXFONT_DEFBITMAP(66); -#endif -#if NXFONT_MIN7BIT <= 67 && NXFONT_MAX7BIT >= 67 -NXFONT_DEFBITMAP(67); -#endif -#if NXFONT_MIN7BIT <= 68 && NXFONT_MAX7BIT >= 68 -NXFONT_DEFBITMAP(68); -#endif -#if NXFONT_MIN7BIT <= 69 && NXFONT_MAX7BIT >= 69 -NXFONT_DEFBITMAP(69); -#endif -#if NXFONT_MIN7BIT <= 70 && NXFONT_MAX7BIT >= 70 -NXFONT_DEFBITMAP(70); -#endif -#if NXFONT_MIN7BIT <= 71 && NXFONT_MAX7BIT >= 71 -NXFONT_DEFBITMAP(71); -#endif -#if NXFONT_MIN7BIT <= 72 && NXFONT_MAX7BIT >= 72 -NXFONT_DEFBITMAP(72); -#endif -#if NXFONT_MIN7BIT <= 73 && NXFONT_MAX7BIT >= 73 -NXFONT_DEFBITMAP(73); -#endif -#if NXFONT_MIN7BIT <= 74 && NXFONT_MAX7BIT >= 74 -NXFONT_DEFBITMAP(74); -#endif -#if NXFONT_MIN7BIT <= 75 && NXFONT_MAX7BIT >= 75 -NXFONT_DEFBITMAP(75); -#endif -#if NXFONT_MIN7BIT <= 76 && NXFONT_MAX7BIT >= 76 -NXFONT_DEFBITMAP(76); -#endif -#if NXFONT_MIN7BIT <= 77 && NXFONT_MAX7BIT >= 77 -NXFONT_DEFBITMAP(77); -#endif -#if NXFONT_MIN7BIT <= 78 && NXFONT_MAX7BIT >= 78 -NXFONT_DEFBITMAP(78); -#endif -#if NXFONT_MIN7BIT <= 79 && NXFONT_MAX7BIT >= 79 -NXFONT_DEFBITMAP(79); -#endif -#if NXFONT_MIN7BIT <= 80 && NXFONT_MAX7BIT >= 80 -NXFONT_DEFBITMAP(80); -#endif -#if NXFONT_MIN7BIT <= 81 && NXFONT_MAX7BIT >= 81 -NXFONT_DEFBITMAP(81); -#endif -#if NXFONT_MIN7BIT <= 82 && NXFONT_MAX7BIT >= 82 -NXFONT_DEFBITMAP(82); -#endif -#if NXFONT_MIN7BIT <= 83 && NXFONT_MAX7BIT >= 83 -NXFONT_DEFBITMAP(83); -#endif -#if NXFONT_MIN7BIT <= 84 && NXFONT_MAX7BIT >= 84 -NXFONT_DEFBITMAP(84); -#endif -#if NXFONT_MIN7BIT <= 85 && NXFONT_MAX7BIT >= 85 -NXFONT_DEFBITMAP(85); -#endif -#if NXFONT_MIN7BIT <= 86 && NXFONT_MAX7BIT >= 86 -NXFONT_DEFBITMAP(86); -#endif -#if NXFONT_MIN7BIT <= 87 && NXFONT_MAX7BIT >= 87 -NXFONT_DEFBITMAP(87); -#endif -#if NXFONT_MIN7BIT <= 88 && NXFONT_MAX7BIT >= 88 -NXFONT_DEFBITMAP(88); -#endif -#if NXFONT_MIN7BIT <= 89 && NXFONT_MAX7BIT >= 89 -NXFONT_DEFBITMAP(89); -#endif -#if NXFONT_MIN7BIT <= 90 && NXFONT_MAX7BIT >= 90 -NXFONT_DEFBITMAP(90); -#endif -#if NXFONT_MIN7BIT <= 91 && NXFONT_MAX7BIT >= 91 -NXFONT_DEFBITMAP(91); -#endif -#if NXFONT_MIN7BIT <= 92 && NXFONT_MAX7BIT >= 92 -NXFONT_DEFBITMAP(92); -#endif -#if NXFONT_MIN7BIT <= 93 && NXFONT_MAX7BIT >= 93 -NXFONT_DEFBITMAP(93); -#endif -#if NXFONT_MIN7BIT <= 94 && NXFONT_MAX7BIT >= 94 -NXFONT_DEFBITMAP(94); -#endif -#if NXFONT_MIN7BIT <= 95 && NXFONT_MAX7BIT >= 95 -NXFONT_DEFBITMAP(95); -#endif -#if NXFONT_MIN7BIT <= 96 && NXFONT_MAX7BIT >= 96 -NXFONT_DEFBITMAP(96); -#endif -#if NXFONT_MIN7BIT <= 97 && NXFONT_MAX7BIT >= 97 -NXFONT_DEFBITMAP(97); -#endif -#if NXFONT_MIN7BIT <= 98 && NXFONT_MAX7BIT >= 98 -NXFONT_DEFBITMAP(98); -#endif -#if NXFONT_MIN7BIT <= 99 && NXFONT_MAX7BIT >= 99 -NXFONT_DEFBITMAP(99); -#endif -#if NXFONT_MIN7BIT <= 100 && NXFONT_MAX7BIT >= 100 -NXFONT_DEFBITMAP(100); -#endif -#if NXFONT_MIN7BIT <= 101 && NXFONT_MAX7BIT >= 101 -NXFONT_DEFBITMAP(101); -#endif -#if NXFONT_MIN7BIT <= 102 && NXFONT_MAX7BIT >= 102 -NXFONT_DEFBITMAP(102); -#endif -#if NXFONT_MIN7BIT <= 103 && NXFONT_MAX7BIT >= 103 -NXFONT_DEFBITMAP(103); -#endif -#if NXFONT_MIN7BIT <= 104 && NXFONT_MAX7BIT >= 104 -NXFONT_DEFBITMAP(104); -#endif -#if NXFONT_MIN7BIT <= 105 && NXFONT_MAX7BIT >= 105 -NXFONT_DEFBITMAP(105); -#endif -#if NXFONT_MIN7BIT <= 106 && NXFONT_MAX7BIT >= 106 -NXFONT_DEFBITMAP(106); -#endif -#if NXFONT_MIN7BIT <= 107 && NXFONT_MAX7BIT >= 107 -NXFONT_DEFBITMAP(107); -#endif -#if NXFONT_MIN7BIT <= 108 && NXFONT_MAX7BIT >= 108 -NXFONT_DEFBITMAP(108); -#endif -#if NXFONT_MIN7BIT <= 109 && NXFONT_MAX7BIT >= 109 -NXFONT_DEFBITMAP(109); -#endif -#if NXFONT_MIN7BIT <= 110 && NXFONT_MAX7BIT >= 110 -NXFONT_DEFBITMAP(110); -#endif -#if NXFONT_MIN7BIT <= 111 && NXFONT_MAX7BIT >= 111 -NXFONT_DEFBITMAP(111); -#endif -#if NXFONT_MIN7BIT <= 112 && NXFONT_MAX7BIT >= 112 -NXFONT_DEFBITMAP(112); -#endif -#if NXFONT_MIN7BIT <= 113 && NXFONT_MAX7BIT >= 113 -NXFONT_DEFBITMAP(113); -#endif -#if NXFONT_MIN7BIT <= 114 && NXFONT_MAX7BIT >= 114 -NXFONT_DEFBITMAP(114); -#endif -#if NXFONT_MIN7BIT <= 115 && NXFONT_MAX7BIT >= 115 -NXFONT_DEFBITMAP(115); -#endif -#if NXFONT_MIN7BIT <= 116 && NXFONT_MAX7BIT >= 116 -NXFONT_DEFBITMAP(116); -#endif -#if NXFONT_MIN7BIT <= 117 && NXFONT_MAX7BIT >= 117 -NXFONT_DEFBITMAP(117); -#endif -#if NXFONT_MIN7BIT <= 118 && NXFONT_MAX7BIT >= 118 -NXFONT_DEFBITMAP(118); -#endif -#if NXFONT_MIN7BIT <= 119 && NXFONT_MAX7BIT >= 119 -NXFONT_DEFBITMAP(119); -#endif -#if NXFONT_MIN7BIT <= 120 && NXFONT_MAX7BIT >= 120 -NXFONT_DEFBITMAP(120); -#endif -#if NXFONT_MIN7BIT <= 121 && NXFONT_MAX7BIT >= 121 -NXFONT_DEFBITMAP(121); -#endif -#if NXFONT_MIN7BIT <= 122 && NXFONT_MAX7BIT >= 122 -NXFONT_DEFBITMAP(122); -#endif -#if NXFONT_MIN7BIT <= 123 && NXFONT_MAX7BIT >= 123 -NXFONT_DEFBITMAP(123); -#endif -#if NXFONT_MIN7BIT <= 124 && NXFONT_MAX7BIT >= 124 -NXFONT_DEFBITMAP(124); -#endif -#if NXFONT_MIN7BIT <= 125 && NXFONT_MAX7BIT >= 125 -NXFONT_DEFBITMAP(125); -#endif -#if NXFONT_MIN7BIT <= 126 && NXFONT_MAX7BIT >= 126 -NXFONT_DEFBITMAP(126); -#endif -#if NXFONT_MIN7BIT <= 127 && NXFONT_MAX7BIT >= 127 -NXFONT_DEFBITMAP(127); -#endif - -#if CONFIG_NXFONTS_CHARBITS >= 8 -#if NXFONT_MIN8BIT <= 128 && NXFONT_MAX8BIT >= 128 -NXFONT_DEFBITMAP(128); -#endif -#if NXFONT_MIN8BIT <= 129 && NXFONT_MAX8BIT >= 129 -NXFONT_DEFBITMAP(129); -#endif -#if NXFONT_MIN8BIT <= 130 && NXFONT_MAX8BIT >= 130 -NXFONT_DEFBITMAP(130); -#endif -#if NXFONT_MIN8BIT <= 131 && NXFONT_MAX8BIT >= 131 -NXFONT_DEFBITMAP(131); -#endif -#if NXFONT_MIN8BIT <= 132 && NXFONT_MAX8BIT >= 132 -NXFONT_DEFBITMAP(132); -#endif -#if NXFONT_MIN8BIT <= 133 && NXFONT_MAX8BIT >= 133 -NXFONT_DEFBITMAP(133); -#endif -#if NXFONT_MIN8BIT <= 134 && NXFONT_MAX8BIT >= 134 -NXFONT_DEFBITMAP(134); -#endif -#if NXFONT_MIN8BIT <= 135 && NXFONT_MAX8BIT >= 135 -NXFONT_DEFBITMAP(135); -#endif -#if NXFONT_MIN8BIT <= 136 && NXFONT_MAX8BIT >= 136 -NXFONT_DEFBITMAP(136); -#endif -#if NXFONT_MIN8BIT <= 137 && NXFONT_MAX8BIT >= 137 -NXFONT_DEFBITMAP(137); -#endif -#if NXFONT_MIN8BIT <= 138 && NXFONT_MAX8BIT >= 138 -NXFONT_DEFBITMAP(138); -#endif -#if NXFONT_MIN8BIT <= 139 && NXFONT_MAX8BIT >= 139 -NXFONT_DEFBITMAP(139); -#endif -#if NXFONT_MIN8BIT <= 140 && NXFONT_MAX8BIT >= 140 -NXFONT_DEFBITMAP(140); -#endif -#if NXFONT_MIN8BIT <= 141 && NXFONT_MAX8BIT >= 141 -NXFONT_DEFBITMAP(141); -#endif -#if NXFONT_MIN8BIT <= 142 && NXFONT_MAX8BIT >= 142 -NXFONT_DEFBITMAP(142); -#endif -#if NXFONT_MIN8BIT <= 143 && NXFONT_MAX8BIT >= 143 -NXFONT_DEFBITMAP(143); -#endif -#if NXFONT_MIN8BIT <= 144 && NXFONT_MAX8BIT >= 144 -NXFONT_DEFBITMAP(144); -#endif -#if NXFONT_MIN8BIT <= 145 && NXFONT_MAX8BIT >= 145 -NXFONT_DEFBITMAP(145); -#endif -#if NXFONT_MIN8BIT <= 146 && NXFONT_MAX8BIT >= 146 -NXFONT_DEFBITMAP(146); -#endif -#if NXFONT_MIN8BIT <= 147 && NXFONT_MAX8BIT >= 147 -NXFONT_DEFBITMAP(147); -#endif -#if NXFONT_MIN8BIT <= 148 && NXFONT_MAX8BIT >= 148 -NXFONT_DEFBITMAP(148); -#endif -#if NXFONT_MIN8BIT <= 149 && NXFONT_MAX8BIT >= 149 -NXFONT_DEFBITMAP(149); -#endif -#if NXFONT_MIN8BIT <= 150 && NXFONT_MAX8BIT >= 150 -NXFONT_DEFBITMAP(150); -#endif -#if NXFONT_MIN8BIT <= 151 && NXFONT_MAX8BIT >= 151 -NXFONT_DEFBITMAP(151); -#endif -#if NXFONT_MIN8BIT <= 152 && NXFONT_MAX8BIT >= 152 -NXFONT_DEFBITMAP(152); -#endif -#if NXFONT_MIN8BIT <= 153 && NXFONT_MAX8BIT >= 153 -NXFONT_DEFBITMAP(153); -#endif -#if NXFONT_MIN8BIT <= 154 && NXFONT_MAX8BIT >= 154 -NXFONT_DEFBITMAP(154); -#endif -#if NXFONT_MIN8BIT <= 155 && NXFONT_MAX8BIT >= 155 -NXFONT_DEFBITMAP(155); -#endif -#if NXFONT_MIN8BIT <= 156 && NXFONT_MAX8BIT >= 156 -NXFONT_DEFBITMAP(156); -#endif -#if NXFONT_MIN8BIT <= 157 && NXFONT_MAX8BIT >= 157 -NXFONT_DEFBITMAP(157); -#endif -#if NXFONT_MIN8BIT <= 158 && NXFONT_MAX8BIT >= 158 -NXFONT_DEFBITMAP(158); -#endif -#if NXFONT_MIN8BIT <= 159 && NXFONT_MAX8BIT >= 159 -NXFONT_DEFBITMAP(159); -#endif -#if NXFONT_MIN8BIT <= 160 && NXFONT_MAX8BIT >= 160 -NXFONT_DEFBITMAP(160); -#endif -#if NXFONT_MIN8BIT <= 161 && NXFONT_MAX8BIT >= 161 -NXFONT_DEFBITMAP(161); -#endif -#if NXFONT_MIN8BIT <= 162 && NXFONT_MAX8BIT >= 162 -NXFONT_DEFBITMAP(162); -#endif -#if NXFONT_MIN8BIT <= 163 && NXFONT_MAX8BIT >= 163 -NXFONT_DEFBITMAP(163); -#endif -#if NXFONT_MIN8BIT <= 164 && NXFONT_MAX8BIT >= 164 -NXFONT_DEFBITMAP(164); -#endif -#if NXFONT_MIN8BIT <= 165 && NXFONT_MAX8BIT >= 165 -NXFONT_DEFBITMAP(165); -#endif -#if NXFONT_MIN8BIT <= 166 && NXFONT_MAX8BIT >= 166 -NXFONT_DEFBITMAP(166); -#endif -#if NXFONT_MIN8BIT <= 167 && NXFONT_MAX8BIT >= 167 -NXFONT_DEFBITMAP(167); -#endif -#if NXFONT_MIN8BIT <= 168 && NXFONT_MAX8BIT >= 168 -NXFONT_DEFBITMAP(168); -#endif -#if NXFONT_MIN8BIT <= 169 && NXFONT_MAX8BIT >= 169 -NXFONT_DEFBITMAP(169); -#endif -#if NXFONT_MIN8BIT <= 170 && NXFONT_MAX8BIT >= 170 -NXFONT_DEFBITMAP(170); -#endif -#if NXFONT_MIN8BIT <= 171 && NXFONT_MAX8BIT >= 171 -NXFONT_DEFBITMAP(171); -#endif -#if NXFONT_MIN8BIT <= 172 && NXFONT_MAX8BIT >= 172 -NXFONT_DEFBITMAP(172); -#endif -#if NXFONT_MIN8BIT <= 173 && NXFONT_MAX8BIT >= 173 -NXFONT_DEFBITMAP(173); -#endif -#if NXFONT_MIN8BIT <= 174 && NXFONT_MAX8BIT >= 174 -NXFONT_DEFBITMAP(174); -#endif -#if NXFONT_MIN8BIT <= 175 && NXFONT_MAX8BIT >= 175 -NXFONT_DEFBITMAP(175); -#endif -#if NXFONT_MIN8BIT <= 176 && NXFONT_MAX8BIT >= 176 -NXFONT_DEFBITMAP(176); -#endif -#if NXFONT_MIN8BIT <= 177 && NXFONT_MAX8BIT >= 177 -NXFONT_DEFBITMAP(177); -#endif -#if NXFONT_MIN8BIT <= 178 && NXFONT_MAX8BIT >= 178 -NXFONT_DEFBITMAP(178); -#endif -#if NXFONT_MIN8BIT <= 179 && NXFONT_MAX8BIT >= 179 -NXFONT_DEFBITMAP(179); -#endif -#if NXFONT_MIN8BIT <= 180 && NXFONT_MAX8BIT >= 180 -NXFONT_DEFBITMAP(180); -#endif -#if NXFONT_MIN8BIT <= 181 && NXFONT_MAX8BIT >= 181 -NXFONT_DEFBITMAP(181); -#endif -#if NXFONT_MIN8BIT <= 182 && NXFONT_MAX8BIT >= 182 -NXFONT_DEFBITMAP(182); -#endif -#if NXFONT_MIN8BIT <= 183 && NXFONT_MAX8BIT >= 183 -NXFONT_DEFBITMAP(183); -#endif -#if NXFONT_MIN8BIT <= 184 && NXFONT_MAX8BIT >= 184 -NXFONT_DEFBITMAP(184); -#endif -#if NXFONT_MIN8BIT <= 185 && NXFONT_MAX8BIT >= 185 -NXFONT_DEFBITMAP(185); -#endif -#if NXFONT_MIN8BIT <= 186 && NXFONT_MAX8BIT >= 186 -NXFONT_DEFBITMAP(186); -#endif -#if NXFONT_MIN8BIT <= 187 && NXFONT_MAX8BIT >= 187 -NXFONT_DEFBITMAP(187); -#endif -#if NXFONT_MIN8BIT <= 188 && NXFONT_MAX8BIT >= 188 -NXFONT_DEFBITMAP(188); -#endif -#if NXFONT_MIN8BIT <= 189 && NXFONT_MAX8BIT >= 189 -NXFONT_DEFBITMAP(189); -#endif -#if NXFONT_MIN8BIT <= 190 && NXFONT_MAX8BIT >= 190 -NXFONT_DEFBITMAP(190); -#endif -#if NXFONT_MIN8BIT <= 191 && NXFONT_MAX8BIT >= 191 -NXFONT_DEFBITMAP(191); -#endif -#if NXFONT_MIN8BIT <= 192 && NXFONT_MAX8BIT >= 192 -NXFONT_DEFBITMAP(192); -#endif -#if NXFONT_MIN8BIT <= 193 && NXFONT_MAX8BIT >= 193 -NXFONT_DEFBITMAP(193); -#endif -#if NXFONT_MIN8BIT <= 194 && NXFONT_MAX8BIT >= 194 -NXFONT_DEFBITMAP(194); -#endif -#if NXFONT_MIN8BIT <= 195 && NXFONT_MAX8BIT >= 195 -NXFONT_DEFBITMAP(195); -#endif -#if NXFONT_MIN8BIT <= 196 && NXFONT_MAX8BIT >= 196 -NXFONT_DEFBITMAP(196); -#endif -#if NXFONT_MIN8BIT <= 197 && NXFONT_MAX8BIT >= 197 -NXFONT_DEFBITMAP(197); -#endif -#if NXFONT_MIN8BIT <= 198 && NXFONT_MAX8BIT >= 198 -NXFONT_DEFBITMAP(198); -#endif -#if NXFONT_MIN8BIT <= 199 && NXFONT_MAX8BIT >= 199 -NXFONT_DEFBITMAP(199); -#endif -#if NXFONT_MIN8BIT <= 200 && NXFONT_MAX8BIT >= 200 -NXFONT_DEFBITMAP(200); -#endif -#if NXFONT_MIN8BIT <= 201 && NXFONT_MAX8BIT >= 201 -NXFONT_DEFBITMAP(201); -#endif -#if NXFONT_MIN8BIT <= 202 && NXFONT_MAX8BIT >= 202 -NXFONT_DEFBITMAP(202); -#endif -#if NXFONT_MIN8BIT <= 203 && NXFONT_MAX8BIT >= 203 -NXFONT_DEFBITMAP(203); -#endif -#if NXFONT_MIN8BIT <= 204 && NXFONT_MAX8BIT >= 204 -NXFONT_DEFBITMAP(204); -#endif -#if NXFONT_MIN8BIT <= 205 && NXFONT_MAX8BIT >= 205 -NXFONT_DEFBITMAP(205); -#endif -#if NXFONT_MIN8BIT <= 206 && NXFONT_MAX8BIT >= 206 -NXFONT_DEFBITMAP(206); -#endif -#if NXFONT_MIN8BIT <= 207 && NXFONT_MAX8BIT >= 207 -NXFONT_DEFBITMAP(207); -#endif -#if NXFONT_MIN8BIT <= 208 && NXFONT_MAX8BIT >= 208 -NXFONT_DEFBITMAP(208); -#endif -#if NXFONT_MIN8BIT <= 209 && NXFONT_MAX8BIT >= 209 -NXFONT_DEFBITMAP(209); -#endif -#if NXFONT_MIN8BIT <= 210 && NXFONT_MAX8BIT >= 210 -NXFONT_DEFBITMAP(210); -#endif -#if NXFONT_MIN8BIT <= 211 && NXFONT_MAX8BIT >= 211 -NXFONT_DEFBITMAP(211); -#endif -#if NXFONT_MIN8BIT <= 212 && NXFONT_MAX8BIT >= 212 -NXFONT_DEFBITMAP(212); -#endif -#if NXFONT_MIN8BIT <= 213 && NXFONT_MAX8BIT >= 213 -NXFONT_DEFBITMAP(213); -#endif -#if NXFONT_MIN8BIT <= 214 && NXFONT_MAX8BIT >= 214 -NXFONT_DEFBITMAP(214); -#endif -#if NXFONT_MIN8BIT <= 215 && NXFONT_MAX8BIT >= 215 -NXFONT_DEFBITMAP(215); -#endif -#if NXFONT_MIN8BIT <= 216 && NXFONT_MAX8BIT >= 216 -NXFONT_DEFBITMAP(216); -#endif -#if NXFONT_MIN8BIT <= 217 && NXFONT_MAX8BIT >= 217 -NXFONT_DEFBITMAP(217); -#endif -#if NXFONT_MIN8BIT <= 218 && NXFONT_MAX8BIT >= 218 -NXFONT_DEFBITMAP(218); -#endif -#if NXFONT_MIN8BIT <= 219 && NXFONT_MAX8BIT >= 219 -NXFONT_DEFBITMAP(219); -#endif -#if NXFONT_MIN8BIT <= 220 && NXFONT_MAX8BIT >= 220 -NXFONT_DEFBITMAP(220); -#endif -#if NXFONT_MIN8BIT <= 221 && NXFONT_MAX8BIT >= 221 -NXFONT_DEFBITMAP(221); -#endif -#if NXFONT_MIN8BIT <= 222 && NXFONT_MAX8BIT >= 222 -NXFONT_DEFBITMAP(222); -#endif -#if NXFONT_MIN8BIT <= 223 && NXFONT_MAX8BIT >= 223 -NXFONT_DEFBITMAP(223); -#endif -#if NXFONT_MIN8BIT <= 224 && NXFONT_MAX8BIT >= 224 -NXFONT_DEFBITMAP(224); -#endif -#if NXFONT_MIN8BIT <= 225 && NXFONT_MAX8BIT >= 225 -NXFONT_DEFBITMAP(225); -#endif -#if NXFONT_MIN8BIT <= 226 && NXFONT_MAX8BIT >= 226 -NXFONT_DEFBITMAP(226); -#endif -#if NXFONT_MIN8BIT <= 227 && NXFONT_MAX8BIT >= 227 -NXFONT_DEFBITMAP(227); -#endif -#if NXFONT_MIN8BIT <= 228 && NXFONT_MAX8BIT >= 228 -NXFONT_DEFBITMAP(228); -#endif -#if NXFONT_MIN8BIT <= 229 && NXFONT_MAX8BIT >= 229 -NXFONT_DEFBITMAP(229); -#endif -#if NXFONT_MIN8BIT <= 230 && NXFONT_MAX8BIT >= 230 -NXFONT_DEFBITMAP(230); -#endif -#if NXFONT_MIN8BIT <= 231 && NXFONT_MAX8BIT >= 231 -NXFONT_DEFBITMAP(231); -#endif -#if NXFONT_MIN8BIT <= 232 && NXFONT_MAX8BIT >= 232 -NXFONT_DEFBITMAP(232); -#endif -#if NXFONT_MIN8BIT <= 233 && NXFONT_MAX8BIT >= 233 -NXFONT_DEFBITMAP(233); -#endif -#if NXFONT_MIN8BIT <= 234 && NXFONT_MAX8BIT >= 234 -NXFONT_DEFBITMAP(234); -#endif -#if NXFONT_MIN8BIT <= 235 && NXFONT_MAX8BIT >= 235 -NXFONT_DEFBITMAP(235); -#endif -#if NXFONT_MIN8BIT <= 236 && NXFONT_MAX8BIT >= 236 -NXFONT_DEFBITMAP(236); -#endif -#if NXFONT_MIN8BIT <= 237 && NXFONT_MAX8BIT >= 237 -NXFONT_DEFBITMAP(237); -#endif -#if NXFONT_MIN8BIT <= 238 && NXFONT_MAX8BIT >= 238 -NXFONT_DEFBITMAP(238); -#endif -#if NXFONT_MIN8BIT <= 239 && NXFONT_MAX8BIT >= 239 -NXFONT_DEFBITMAP(239); -#endif -#if NXFONT_MIN8BIT <= 240 && NXFONT_MAX8BIT >= 240 -NXFONT_DEFBITMAP(240); -#endif -#if NXFONT_MIN8BIT <= 241 && NXFONT_MAX8BIT >= 241 -NXFONT_DEFBITMAP(241); -#endif -#if NXFONT_MIN8BIT <= 242 && NXFONT_MAX8BIT >= 242 -NXFONT_DEFBITMAP(242); -#endif -#if NXFONT_MIN8BIT <= 243 && NXFONT_MAX8BIT >= 243 -NXFONT_DEFBITMAP(243); -#endif -#if NXFONT_MIN8BIT <= 244 && NXFONT_MAX8BIT >= 244 -NXFONT_DEFBITMAP(244); -#endif -#if NXFONT_MIN8BIT <= 245 && NXFONT_MAX8BIT >= 245 -NXFONT_DEFBITMAP(245); -#endif -#if NXFONT_MIN8BIT <= 246 && NXFONT_MAX8BIT >= 246 -NXFONT_DEFBITMAP(246); -#endif -#if NXFONT_MIN8BIT <= 247 && NXFONT_MAX8BIT >= 247 -NXFONT_DEFBITMAP(247); -#endif -#if NXFONT_MIN8BIT <= 248 && NXFONT_MAX8BIT >= 248 -NXFONT_DEFBITMAP(248); -#endif -#if NXFONT_MIN8BIT <= 249 && NXFONT_MAX8BIT >= 249 -NXFONT_DEFBITMAP(249); -#endif -#if NXFONT_MIN8BIT <= 250 && NXFONT_MAX8BIT >= 250 -NXFONT_DEFBITMAP(250); -#endif -#if NXFONT_MIN8BIT <= 251 && NXFONT_MAX8BIT >= 251 -NXFONT_DEFBITMAP(251); -#endif -#if NXFONT_MIN8BIT <= 252 && NXFONT_MAX8BIT >= 252 -NXFONT_DEFBITMAP(252); -#endif -#if NXFONT_MIN8BIT <= 253 && NXFONT_MAX8BIT >= 253 -NXFONT_DEFBITMAP(253); -#endif -#if NXFONT_MIN8BIT <= 254 && NXFONT_MAX8BIT >= 254 -NXFONT_DEFBITMAP(254); -#endif -#if NXFONT_MIN8BIT <= 255 && NXFONT_MAX8BIT >= 255 -NXFONT_DEFBITMAP(255); -#endif -#endif - -static const struct nx_fontbitmap_s NXF_SYMNAME(NXFONTS_PREFIX,7bitmaps)[NXFONT_N7BITFONTS] = -{ -#if NXFONT_MIN7BIT <= 0 && NXFONT_MAX7BIT >= 0 -NXFONT_DEFMETRIC(0), -#endif -#if NXFONT_MIN7BIT <= 1 && NXFONT_MAX7BIT >= 1 -NXFONT_DEFMETRIC(1), -#endif -#if NXFONT_MIN7BIT <= 2 && NXFONT_MAX7BIT >= 2 -NXFONT_DEFMETRIC(2), -#endif -#if NXFONT_MIN7BIT <= 3 && NXFONT_MAX7BIT >= 3 -NXFONT_DEFMETRIC(3), -#endif -#if NXFONT_MIN7BIT <= 4 && NXFONT_MAX7BIT >= 4 -NXFONT_DEFMETRIC(4), -#endif -#if NXFONT_MIN7BIT <= 5 && NXFONT_MAX7BIT >= 5 -NXFONT_DEFMETRIC(5), -#endif -#if NXFONT_MIN7BIT <= 6 && NXFONT_MAX7BIT >= 6 -NXFONT_DEFMETRIC(6), -#endif -#if NXFONT_MIN7BIT <= 7 && NXFONT_MAX7BIT >= 7 -NXFONT_DEFMETRIC(7), -#endif -#if NXFONT_MIN7BIT <= 8 && NXFONT_MAX7BIT >= 8 -NXFONT_DEFMETRIC(8), -#endif -#if NXFONT_MIN7BIT <= 9 && NXFONT_MAX7BIT >= 9 -NXFONT_DEFMETRIC(9), -#endif -#if NXFONT_MIN7BIT <= 10 && NXFONT_MAX7BIT >= 10 -NXFONT_DEFMETRIC(10), -#endif -#if NXFONT_MIN7BIT <= 11 && NXFONT_MAX7BIT >= 11 -NXFONT_DEFMETRIC(11), -#endif -#if NXFONT_MIN7BIT <= 12 && NXFONT_MAX7BIT >= 12 -NXFONT_DEFMETRIC(12), -#endif -#if NXFONT_MIN7BIT <= 13 && NXFONT_MAX7BIT >= 13 -NXFONT_DEFMETRIC(13), -#endif -#if NXFONT_MIN7BIT <= 14 && NXFONT_MAX7BIT >= 14 -NXFONT_DEFMETRIC(14), -#endif -#if NXFONT_MIN7BIT <= 15 && NXFONT_MAX7BIT >= 15 -NXFONT_DEFMETRIC(15), -#endif -#if NXFONT_MIN7BIT <= 16 && NXFONT_MAX7BIT >= 16 -NXFONT_DEFMETRIC(16), -#endif -#if NXFONT_MIN7BIT <= 17 && NXFONT_MAX7BIT >= 17 -NXFONT_DEFMETRIC(17), -#endif -#if NXFONT_MIN7BIT <= 18 && NXFONT_MAX7BIT >= 18 -NXFONT_DEFMETRIC(18), -#endif -#if NXFONT_MIN7BIT <= 19 && NXFONT_MAX7BIT >= 19 -NXFONT_DEFMETRIC(19), -#endif -#if NXFONT_MIN7BIT <= 20 && NXFONT_MAX7BIT >= 20 -NXFONT_DEFMETRIC(20), -#endif -#if NXFONT_MIN7BIT <= 21 && NXFONT_MAX7BIT >= 21 -NXFONT_DEFMETRIC(21), -#endif -#if NXFONT_MIN7BIT <= 22 && NXFONT_MAX7BIT >= 22 -NXFONT_DEFMETRIC(22), -#endif -#if NXFONT_MIN7BIT <= 23 && NXFONT_MAX7BIT >= 23 -NXFONT_DEFMETRIC(23), -#endif -#if NXFONT_MIN7BIT <= 24 && NXFONT_MAX7BIT >= 24 -NXFONT_DEFMETRIC(24), -#endif -#if NXFONT_MIN7BIT <= 25 && NXFONT_MAX7BIT >= 25 -NXFONT_DEFMETRIC(25), -#endif -#if NXFONT_MIN7BIT <= 26 && NXFONT_MAX7BIT >= 26 -NXFONT_DEFMETRIC(26), -#endif -#if NXFONT_MIN7BIT <= 27 && NXFONT_MAX7BIT >= 27 -NXFONT_DEFMETRIC(27), -#endif -#if NXFONT_MIN7BIT <= 28 && NXFONT_MAX7BIT >= 28 -NXFONT_DEFMETRIC(28), -#endif -#if NXFONT_MIN7BIT <= 29 && NXFONT_MAX7BIT >= 29 -NXFONT_DEFMETRIC(29), -#endif -#if NXFONT_MIN7BIT <= 30 && NXFONT_MAX7BIT >= 30 -NXFONT_DEFMETRIC(30), -#endif -#if NXFONT_MIN7BIT <= 31 && NXFONT_MAX7BIT >= 31 -NXFONT_DEFMETRIC(31), -#endif -#if NXFONT_MIN7BIT <= 32 && NXFONT_MAX7BIT >= 32 -NXFONT_DEFMETRIC(32), -#endif -#if NXFONT_MIN7BIT <= 33 && NXFONT_MAX7BIT >= 33 -NXFONT_DEFMETRIC(33), -#endif -#if NXFONT_MIN7BIT <= 34 && NXFONT_MAX7BIT >= 34 -NXFONT_DEFMETRIC(34), -#endif -#if NXFONT_MIN7BIT <= 35 && NXFONT_MAX7BIT >= 35 -NXFONT_DEFMETRIC(35), -#endif -#if NXFONT_MIN7BIT <= 36 && NXFONT_MAX7BIT >= 36 -NXFONT_DEFMETRIC(36), -#endif -#if NXFONT_MIN7BIT <= 37 && NXFONT_MAX7BIT >= 37 -NXFONT_DEFMETRIC(37), -#endif -#if NXFONT_MIN7BIT <= 38 && NXFONT_MAX7BIT >= 38 -NXFONT_DEFMETRIC(38), -#endif -#if NXFONT_MIN7BIT <= 39 && NXFONT_MAX7BIT >= 39 -NXFONT_DEFMETRIC(39), -#endif -#if NXFONT_MIN7BIT <= 40 && NXFONT_MAX7BIT >= 40 -NXFONT_DEFMETRIC(40), -#endif -#if NXFONT_MIN7BIT <= 41 && NXFONT_MAX7BIT >= 41 -NXFONT_DEFMETRIC(41), -#endif -#if NXFONT_MIN7BIT <= 42 && NXFONT_MAX7BIT >= 42 -NXFONT_DEFMETRIC(42), -#endif -#if NXFONT_MIN7BIT <= 43 && NXFONT_MAX7BIT >= 43 -NXFONT_DEFMETRIC(43), -#endif -#if NXFONT_MIN7BIT <= 44 && NXFONT_MAX7BIT >= 44 -NXFONT_DEFMETRIC(44), -#endif -#if NXFONT_MIN7BIT <= 45 && NXFONT_MAX7BIT >= 45 -NXFONT_DEFMETRIC(45), -#endif -#if NXFONT_MIN7BIT <= 46 && NXFONT_MAX7BIT >= 46 -NXFONT_DEFMETRIC(46), -#endif -#if NXFONT_MIN7BIT <= 47 && NXFONT_MAX7BIT >= 47 -NXFONT_DEFMETRIC(47), -#endif -#if NXFONT_MIN7BIT <= 48 && NXFONT_MAX7BIT >= 48 -NXFONT_DEFMETRIC(48), -#endif -#if NXFONT_MIN7BIT <= 49 && NXFONT_MAX7BIT >= 49 -NXFONT_DEFMETRIC(49), -#endif -#if NXFONT_MIN7BIT <= 50 && NXFONT_MAX7BIT >= 50 -NXFONT_DEFMETRIC(50), -#endif -#if NXFONT_MIN7BIT <= 51 && NXFONT_MAX7BIT >= 51 -NXFONT_DEFMETRIC(51), -#endif -#if NXFONT_MIN7BIT <= 52 && NXFONT_MAX7BIT >= 52 -NXFONT_DEFMETRIC(52), -#endif -#if NXFONT_MIN7BIT <= 53 && NXFONT_MAX7BIT >= 53 -NXFONT_DEFMETRIC(53), -#endif -#if NXFONT_MIN7BIT <= 54 && NXFONT_MAX7BIT >= 54 -NXFONT_DEFMETRIC(54), -#endif -#if NXFONT_MIN7BIT <= 55 && NXFONT_MAX7BIT >= 55 -NXFONT_DEFMETRIC(55), -#endif -#if NXFONT_MIN7BIT <= 56 && NXFONT_MAX7BIT >= 56 -NXFONT_DEFMETRIC(56), -#endif -#if NXFONT_MIN7BIT <= 57 && NXFONT_MAX7BIT >= 57 -NXFONT_DEFMETRIC(57), -#endif -#if NXFONT_MIN7BIT <= 58 && NXFONT_MAX7BIT >= 58 -NXFONT_DEFMETRIC(58), -#endif -#if NXFONT_MIN7BIT <= 59 && NXFONT_MAX7BIT >= 59 -NXFONT_DEFMETRIC(59), -#endif -#if NXFONT_MIN7BIT <= 60 && NXFONT_MAX7BIT >= 60 -NXFONT_DEFMETRIC(60), -#endif -#if NXFONT_MIN7BIT <= 61 && NXFONT_MAX7BIT >= 61 -NXFONT_DEFMETRIC(61), -#endif -#if NXFONT_MIN7BIT <= 62 && NXFONT_MAX7BIT >= 62 -NXFONT_DEFMETRIC(62), -#endif -#if NXFONT_MIN7BIT <= 63 && NXFONT_MAX7BIT >= 63 -NXFONT_DEFMETRIC(63), -#endif -#if NXFONT_MIN7BIT <= 64 && NXFONT_MAX7BIT >= 64 -NXFONT_DEFMETRIC(64), -#endif -#if NXFONT_MIN7BIT <= 65 && NXFONT_MAX7BIT >= 65 -NXFONT_DEFMETRIC(65), -#endif -#if NXFONT_MIN7BIT <= 66 && NXFONT_MAX7BIT >= 66 -NXFONT_DEFMETRIC(66), -#endif -#if NXFONT_MIN7BIT <= 67 && NXFONT_MAX7BIT >= 67 -NXFONT_DEFMETRIC(67), -#endif -#if NXFONT_MIN7BIT <= 68 && NXFONT_MAX7BIT >= 68 -NXFONT_DEFMETRIC(68), -#endif -#if NXFONT_MIN7BIT <= 69 && NXFONT_MAX7BIT >= 69 -NXFONT_DEFMETRIC(69), -#endif -#if NXFONT_MIN7BIT <= 70 && NXFONT_MAX7BIT >= 70 -NXFONT_DEFMETRIC(70), -#endif -#if NXFONT_MIN7BIT <= 71 && NXFONT_MAX7BIT >= 71 -NXFONT_DEFMETRIC(71), -#endif -#if NXFONT_MIN7BIT <= 72 && NXFONT_MAX7BIT >= 72 -NXFONT_DEFMETRIC(72), -#endif -#if NXFONT_MIN7BIT <= 73 && NXFONT_MAX7BIT >= 73 -NXFONT_DEFMETRIC(73), -#endif -#if NXFONT_MIN7BIT <= 74 && NXFONT_MAX7BIT >= 74 -NXFONT_DEFMETRIC(74), -#endif -#if NXFONT_MIN7BIT <= 75 && NXFONT_MAX7BIT >= 75 -NXFONT_DEFMETRIC(75), -#endif -#if NXFONT_MIN7BIT <= 76 && NXFONT_MAX7BIT >= 76 -NXFONT_DEFMETRIC(76), -#endif -#if NXFONT_MIN7BIT <= 77 && NXFONT_MAX7BIT >= 77 -NXFONT_DEFMETRIC(77), -#endif -#if NXFONT_MIN7BIT <= 78 && NXFONT_MAX7BIT >= 78 -NXFONT_DEFMETRIC(78), -#endif -#if NXFONT_MIN7BIT <= 79 && NXFONT_MAX7BIT >= 79 -NXFONT_DEFMETRIC(79), -#endif -#if NXFONT_MIN7BIT <= 80 && NXFONT_MAX7BIT >= 80 -NXFONT_DEFMETRIC(80), -#endif -#if NXFONT_MIN7BIT <= 81 && NXFONT_MAX7BIT >= 81 -NXFONT_DEFMETRIC(81), -#endif -#if NXFONT_MIN7BIT <= 82 && NXFONT_MAX7BIT >= 82 -NXFONT_DEFMETRIC(82), -#endif -#if NXFONT_MIN7BIT <= 83 && NXFONT_MAX7BIT >= 83 -NXFONT_DEFMETRIC(83), -#endif -#if NXFONT_MIN7BIT <= 84 && NXFONT_MAX7BIT >= 84 -NXFONT_DEFMETRIC(84), -#endif -#if NXFONT_MIN7BIT <= 85 && NXFONT_MAX7BIT >= 85 -NXFONT_DEFMETRIC(85), -#endif -#if NXFONT_MIN7BIT <= 86 && NXFONT_MAX7BIT >= 86 -NXFONT_DEFMETRIC(86), -#endif -#if NXFONT_MIN7BIT <= 87 && NXFONT_MAX7BIT >= 87 -NXFONT_DEFMETRIC(87), -#endif -#if NXFONT_MIN7BIT <= 88 && NXFONT_MAX7BIT >= 88 -NXFONT_DEFMETRIC(88), -#endif -#if NXFONT_MIN7BIT <= 89 && NXFONT_MAX7BIT >= 89 -NXFONT_DEFMETRIC(89), -#endif -#if NXFONT_MIN7BIT <= 90 && NXFONT_MAX7BIT >= 90 -NXFONT_DEFMETRIC(90), -#endif -#if NXFONT_MIN7BIT <= 91 && NXFONT_MAX7BIT >= 91 -NXFONT_DEFMETRIC(91), -#endif -#if NXFONT_MIN7BIT <= 92 && NXFONT_MAX7BIT >= 92 -NXFONT_DEFMETRIC(92), -#endif -#if NXFONT_MIN7BIT <= 93 && NXFONT_MAX7BIT >= 93 -NXFONT_DEFMETRIC(93), -#endif -#if NXFONT_MIN7BIT <= 94 && NXFONT_MAX7BIT >= 94 -NXFONT_DEFMETRIC(94), -#endif -#if NXFONT_MIN7BIT <= 95 && NXFONT_MAX7BIT >= 95 -NXFONT_DEFMETRIC(95), -#endif -#if NXFONT_MIN7BIT <= 96 && NXFONT_MAX7BIT >= 96 -NXFONT_DEFMETRIC(96), -#endif -#if NXFONT_MIN7BIT <= 97 && NXFONT_MAX7BIT >= 97 -NXFONT_DEFMETRIC(97), -#endif -#if NXFONT_MIN7BIT <= 98 && NXFONT_MAX7BIT >= 98 -NXFONT_DEFMETRIC(98), -#endif -#if NXFONT_MIN7BIT <= 99 && NXFONT_MAX7BIT >= 99 -NXFONT_DEFMETRIC(99), -#endif -#if NXFONT_MIN7BIT <= 100 && NXFONT_MAX7BIT >= 100 -NXFONT_DEFMETRIC(100), -#endif -#if NXFONT_MIN7BIT <= 101 && NXFONT_MAX7BIT >= 101 -NXFONT_DEFMETRIC(101), -#endif -#if NXFONT_MIN7BIT <= 102 && NXFONT_MAX7BIT >= 102 -NXFONT_DEFMETRIC(102), -#endif -#if NXFONT_MIN7BIT <= 103 && NXFONT_MAX7BIT >= 103 -NXFONT_DEFMETRIC(103), -#endif -#if NXFONT_MIN7BIT <= 104 && NXFONT_MAX7BIT >= 104 -NXFONT_DEFMETRIC(104), -#endif -#if NXFONT_MIN7BIT <= 105 && NXFONT_MAX7BIT >= 105 -NXFONT_DEFMETRIC(105), -#endif -#if NXFONT_MIN7BIT <= 106 && NXFONT_MAX7BIT >= 106 -NXFONT_DEFMETRIC(106), -#endif -#if NXFONT_MIN7BIT <= 107 && NXFONT_MAX7BIT >= 107 -NXFONT_DEFMETRIC(107), -#endif -#if NXFONT_MIN7BIT <= 108 && NXFONT_MAX7BIT >= 108 -NXFONT_DEFMETRIC(108), -#endif -#if NXFONT_MIN7BIT <= 109 && NXFONT_MAX7BIT >= 109 -NXFONT_DEFMETRIC(109), -#endif -#if NXFONT_MIN7BIT <= 110 && NXFONT_MAX7BIT >= 110 -NXFONT_DEFMETRIC(110), -#endif -#if NXFONT_MIN7BIT <= 111 && NXFONT_MAX7BIT >= 111 -NXFONT_DEFMETRIC(111), -#endif -#if NXFONT_MIN7BIT <= 112 && NXFONT_MAX7BIT >= 112 -NXFONT_DEFMETRIC(112), -#endif -#if NXFONT_MIN7BIT <= 113 && NXFONT_MAX7BIT >= 113 -NXFONT_DEFMETRIC(113), -#endif -#if NXFONT_MIN7BIT <= 114 && NXFONT_MAX7BIT >= 114 -NXFONT_DEFMETRIC(114), -#endif -#if NXFONT_MIN7BIT <= 115 && NXFONT_MAX7BIT >= 115 -NXFONT_DEFMETRIC(115), -#endif -#if NXFONT_MIN7BIT <= 116 && NXFONT_MAX7BIT >= 116 -NXFONT_DEFMETRIC(116), -#endif -#if NXFONT_MIN7BIT <= 117 && NXFONT_MAX7BIT >= 117 -NXFONT_DEFMETRIC(117), -#endif -#if NXFONT_MIN7BIT <= 118 && NXFONT_MAX7BIT >= 118 -NXFONT_DEFMETRIC(118), -#endif -#if NXFONT_MIN7BIT <= 119 && NXFONT_MAX7BIT >= 119 -NXFONT_DEFMETRIC(119), -#endif -#if NXFONT_MIN7BIT <= 120 && NXFONT_MAX7BIT >= 120 -NXFONT_DEFMETRIC(120), -#endif -#if NXFONT_MIN7BIT <= 121 && NXFONT_MAX7BIT >= 121 -NXFONT_DEFMETRIC(121), -#endif -#if NXFONT_MIN7BIT <= 122 && NXFONT_MAX7BIT >= 122 -NXFONT_DEFMETRIC(122), -#endif -#if NXFONT_MIN7BIT <= 123 && NXFONT_MAX7BIT >= 123 -NXFONT_DEFMETRIC(123), -#endif -#if NXFONT_MIN7BIT <= 124 && NXFONT_MAX7BIT >= 124 -NXFONT_DEFMETRIC(124), -#endif -#if NXFONT_MIN7BIT <= 125 && NXFONT_MAX7BIT >= 125 -NXFONT_DEFMETRIC(125), -#endif -#if NXFONT_MIN7BIT <= 126 && NXFONT_MAX7BIT >= 126 -NXFONT_DEFMETRIC(126), -#endif -#if NXFONT_MIN7BIT <= 127 && NXFONT_MAX7BIT >= 127 -NXFONT_DEFMETRIC(127), -#endif -}; - -#if CONFIG_NXFONTS_CHARBITS >= 8 -static const struct nx_fontbitmap_s NXF_SYMNAME(NXFONTS_PREFIX,8bitmaps)[NXFONT_N8BITFONTS] = -{ -#if NXFONT_MIN8BIT <= 128 && NXFONT_MAX8BIT >= 128 -NXFONT_DEFMETRIC(128), -#endif -#if NXFONT_MIN8BIT <= 129 && NXFONT_MAX8BIT >= 129 -NXFONT_DEFMETRIC(129), -#endif -#if NXFONT_MIN8BIT <= 130 && NXFONT_MAX8BIT >= 130 -NXFONT_DEFMETRIC(130), -#endif -#if NXFONT_MIN8BIT <= 131 && NXFONT_MAX8BIT >= 131 -NXFONT_DEFMETRIC(131), -#endif -#if NXFONT_MIN8BIT <= 132 && NXFONT_MAX8BIT >= 132 -NXFONT_DEFMETRIC(132), -#endif -#if NXFONT_MIN8BIT <= 133 && NXFONT_MAX8BIT >= 133 -NXFONT_DEFMETRIC(133), -#endif -#if NXFONT_MIN8BIT <= 134 && NXFONT_MAX8BIT >= 134 -NXFONT_DEFMETRIC(134), -#endif -#if NXFONT_MIN8BIT <= 135 && NXFONT_MAX8BIT >= 135 -NXFONT_DEFMETRIC(135), -#endif -#if NXFONT_MIN8BIT <= 136 && NXFONT_MAX8BIT >= 136 -NXFONT_DEFMETRIC(136), -#endif -#if NXFONT_MIN8BIT <= 137 && NXFONT_MAX8BIT >= 137 -NXFONT_DEFMETRIC(137), -#endif -#if NXFONT_MIN8BIT <= 138 && NXFONT_MAX8BIT >= 138 -NXFONT_DEFMETRIC(138), -#endif -#if NXFONT_MIN8BIT <= 139 && NXFONT_MAX8BIT >= 139 -NXFONT_DEFMETRIC(139), -#endif -#if NXFONT_MIN8BIT <= 140 && NXFONT_MAX8BIT >= 140 -NXFONT_DEFMETRIC(140), -#endif -#if NXFONT_MIN8BIT <= 141 && NXFONT_MAX8BIT >= 141 -NXFONT_DEFMETRIC(141), -#endif -#if NXFONT_MIN8BIT <= 142 && NXFONT_MAX8BIT >= 142 -NXFONT_DEFMETRIC(142), -#endif -#if NXFONT_MIN8BIT <= 143 && NXFONT_MAX8BIT >= 143 -NXFONT_DEFMETRIC(143), -#endif -#if NXFONT_MIN8BIT <= 144 && NXFONT_MAX8BIT >= 144 -NXFONT_DEFMETRIC(144), -#endif -#if NXFONT_MIN8BIT <= 145 && NXFONT_MAX8BIT >= 145 -NXFONT_DEFMETRIC(145), -#endif -#if NXFONT_MIN8BIT <= 146 && NXFONT_MAX8BIT >= 146 -NXFONT_DEFMETRIC(146), -#endif -#if NXFONT_MIN8BIT <= 147 && NXFONT_MAX8BIT >= 147 -NXFONT_DEFMETRIC(147), -#endif -#if NXFONT_MIN8BIT <= 148 && NXFONT_MAX8BIT >= 148 -NXFONT_DEFMETRIC(148), -#endif -#if NXFONT_MIN8BIT <= 149 && NXFONT_MAX8BIT >= 149 -NXFONT_DEFMETRIC(149), -#endif -#if NXFONT_MIN8BIT <= 150 && NXFONT_MAX8BIT >= 150 -NXFONT_DEFMETRIC(150), -#endif -#if NXFONT_MIN8BIT <= 151 && NXFONT_MAX8BIT >= 151 -NXFONT_DEFMETRIC(151), -#endif -#if NXFONT_MIN8BIT <= 152 && NXFONT_MAX8BIT >= 152 -NXFONT_DEFMETRIC(152), -#endif -#if NXFONT_MIN8BIT <= 153 && NXFONT_MAX8BIT >= 153 -NXFONT_DEFMETRIC(153), -#endif -#if NXFONT_MIN8BIT <= 154 && NXFONT_MAX8BIT >= 154 -NXFONT_DEFMETRIC(154), -#endif -#if NXFONT_MIN8BIT <= 155 && NXFONT_MAX8BIT >= 155 -NXFONT_DEFMETRIC(155), -#endif -#if NXFONT_MIN8BIT <= 156 && NXFONT_MAX8BIT >= 156 -NXFONT_DEFMETRIC(156), -#endif -#if NXFONT_MIN8BIT <= 157 && NXFONT_MAX8BIT >= 157 -NXFONT_DEFMETRIC(157), -#endif -#if NXFONT_MIN8BIT <= 158 && NXFONT_MAX8BIT >= 158 -NXFONT_DEFMETRIC(158), -#endif -#if NXFONT_MIN8BIT <= 159 && NXFONT_MAX8BIT >= 159 -NXFONT_DEFMETRIC(159), -#endif -#if NXFONT_MIN8BIT <= 160 && NXFONT_MAX8BIT >= 160 -NXFONT_DEFMETRIC(160), -#endif -#if NXFONT_MIN8BIT <= 161 && NXFONT_MAX8BIT >= 161 -NXFONT_DEFMETRIC(161), -#endif -#if NXFONT_MIN8BIT <= 162 && NXFONT_MAX8BIT >= 162 -NXFONT_DEFMETRIC(162), -#endif -#if NXFONT_MIN8BIT <= 163 && NXFONT_MAX8BIT >= 163 -NXFONT_DEFMETRIC(163), -#endif -#if NXFONT_MIN8BIT <= 164 && NXFONT_MAX8BIT >= 164 -NXFONT_DEFMETRIC(164), -#endif -#if NXFONT_MIN8BIT <= 165 && NXFONT_MAX8BIT >= 165 -NXFONT_DEFMETRIC(165), -#endif -#if NXFONT_MIN8BIT <= 166 && NXFONT_MAX8BIT >= 166 -NXFONT_DEFMETRIC(166), -#endif -#if NXFONT_MIN8BIT <= 167 && NXFONT_MAX8BIT >= 167 -NXFONT_DEFMETRIC(167), -#endif -#if NXFONT_MIN8BIT <= 168 && NXFONT_MAX8BIT >= 168 -NXFONT_DEFMETRIC(168), -#endif -#if NXFONT_MIN8BIT <= 169 && NXFONT_MAX8BIT >= 169 -NXFONT_DEFMETRIC(169), -#endif -#if NXFONT_MIN8BIT <= 170 && NXFONT_MAX8BIT >= 170 -NXFONT_DEFMETRIC(170), -#endif -#if NXFONT_MIN8BIT <= 171 && NXFONT_MAX8BIT >= 171 -NXFONT_DEFMETRIC(171), -#endif -#if NXFONT_MIN8BIT <= 172 && NXFONT_MAX8BIT >= 172 -NXFONT_DEFMETRIC(172), -#endif -#if NXFONT_MIN8BIT <= 173 && NXFONT_MAX8BIT >= 173 -NXFONT_DEFMETRIC(173), -#endif -#if NXFONT_MIN8BIT <= 174 && NXFONT_MAX8BIT >= 174 -NXFONT_DEFMETRIC(174), -#endif -#if NXFONT_MIN8BIT <= 175 && NXFONT_MAX8BIT >= 175 -NXFONT_DEFMETRIC(175), -#endif -#if NXFONT_MIN8BIT <= 176 && NXFONT_MAX8BIT >= 176 -NXFONT_DEFMETRIC(176), -#endif -#if NXFONT_MIN8BIT <= 177 && NXFONT_MAX8BIT >= 177 -NXFONT_DEFMETRIC(177), -#endif -#if NXFONT_MIN8BIT <= 178 && NXFONT_MAX8BIT >= 178 -NXFONT_DEFMETRIC(178), -#endif -#if NXFONT_MIN8BIT <= 179 && NXFONT_MAX8BIT >= 179 -NXFONT_DEFMETRIC(179), -#endif -#if NXFONT_MIN8BIT <= 180 && NXFONT_MAX8BIT >= 180 -NXFONT_DEFMETRIC(180), -#endif -#if NXFONT_MIN8BIT <= 181 && NXFONT_MAX8BIT >= 181 -NXFONT_DEFMETRIC(181), -#endif -#if NXFONT_MIN8BIT <= 182 && NXFONT_MAX8BIT >= 182 -NXFONT_DEFMETRIC(182), -#endif -#if NXFONT_MIN8BIT <= 183 && NXFONT_MAX8BIT >= 183 -NXFONT_DEFMETRIC(183), -#endif -#if NXFONT_MIN8BIT <= 184 && NXFONT_MAX8BIT >= 184 -NXFONT_DEFMETRIC(184), -#endif -#if NXFONT_MIN8BIT <= 185 && NXFONT_MAX8BIT >= 185 -NXFONT_DEFMETRIC(185), -#endif -#if NXFONT_MIN8BIT <= 186 && NXFONT_MAX8BIT >= 186 -NXFONT_DEFMETRIC(186), -#endif -#if NXFONT_MIN8BIT <= 187 && NXFONT_MAX8BIT >= 187 -NXFONT_DEFMETRIC(187), -#endif -#if NXFONT_MIN8BIT <= 188 && NXFONT_MAX8BIT >= 188 -NXFONT_DEFMETRIC(188), -#endif -#if NXFONT_MIN8BIT <= 189 && NXFONT_MAX8BIT >= 189 -NXFONT_DEFMETRIC(189), -#endif -#if NXFONT_MIN8BIT <= 190 && NXFONT_MAX8BIT >= 190 -NXFONT_DEFMETRIC(190), -#endif -#if NXFONT_MIN8BIT <= 191 && NXFONT_MAX8BIT >= 191 -NXFONT_DEFMETRIC(191), -#endif -#if NXFONT_MIN8BIT <= 192 && NXFONT_MAX8BIT >= 192 -NXFONT_DEFMETRIC(192), -#endif -#if NXFONT_MIN8BIT <= 193 && NXFONT_MAX8BIT >= 193 -NXFONT_DEFMETRIC(193), -#endif -#if NXFONT_MIN8BIT <= 194 && NXFONT_MAX8BIT >= 194 -NXFONT_DEFMETRIC(194), -#endif -#if NXFONT_MIN8BIT <= 195 && NXFONT_MAX8BIT >= 195 -NXFONT_DEFMETRIC(195), -#endif -#if NXFONT_MIN8BIT <= 196 && NXFONT_MAX8BIT >= 196 -NXFONT_DEFMETRIC(196), -#endif -#if NXFONT_MIN8BIT <= 197 && NXFONT_MAX8BIT >= 197 -NXFONT_DEFMETRIC(197), -#endif -#if NXFONT_MIN8BIT <= 198 && NXFONT_MAX8BIT >= 198 -NXFONT_DEFMETRIC(198), -#endif -#if NXFONT_MIN8BIT <= 199 && NXFONT_MAX8BIT >= 199 -NXFONT_DEFMETRIC(199), -#endif -#if NXFONT_MIN8BIT <= 200 && NXFONT_MAX8BIT >= 200 -NXFONT_DEFMETRIC(200), -#endif -#if NXFONT_MIN8BIT <= 201 && NXFONT_MAX8BIT >= 201 -NXFONT_DEFMETRIC(201), -#endif -#if NXFONT_MIN8BIT <= 202 && NXFONT_MAX8BIT >= 202 -NXFONT_DEFMETRIC(202), -#endif -#if NXFONT_MIN8BIT <= 203 && NXFONT_MAX8BIT >= 203 -NXFONT_DEFMETRIC(203), -#endif -#if NXFONT_MIN8BIT <= 204 && NXFONT_MAX8BIT >= 204 -NXFONT_DEFMETRIC(204), -#endif -#if NXFONT_MIN8BIT <= 205 && NXFONT_MAX8BIT >= 205 -NXFONT_DEFMETRIC(205), -#endif -#if NXFONT_MIN8BIT <= 206 && NXFONT_MAX8BIT >= 206 -NXFONT_DEFMETRIC(206), -#endif -#if NXFONT_MIN8BIT <= 207 && NXFONT_MAX8BIT >= 207 -NXFONT_DEFMETRIC(207), -#endif -#if NXFONT_MIN8BIT <= 208 && NXFONT_MAX8BIT >= 208 -NXFONT_DEFMETRIC(208), -#endif -#if NXFONT_MIN8BIT <= 209 && NXFONT_MAX8BIT >= 209 -NXFONT_DEFMETRIC(209), -#endif -#if NXFONT_MIN8BIT <= 210 && NXFONT_MAX8BIT >= 210 -NXFONT_DEFMETRIC(210), -#endif -#if NXFONT_MIN8BIT <= 211 && NXFONT_MAX8BIT >= 211 -NXFONT_DEFMETRIC(211), -#endif -#if NXFONT_MIN8BIT <= 212 && NXFONT_MAX8BIT >= 212 -NXFONT_DEFMETRIC(212), -#endif -#if NXFONT_MIN8BIT <= 213 && NXFONT_MAX8BIT >= 213 -NXFONT_DEFMETRIC(213), -#endif -#if NXFONT_MIN8BIT <= 214 && NXFONT_MAX8BIT >= 214 -NXFONT_DEFMETRIC(214), -#endif -#if NXFONT_MIN8BIT <= 215 && NXFONT_MAX8BIT >= 215 -NXFONT_DEFMETRIC(215), -#endif -#if NXFONT_MIN8BIT <= 216 && NXFONT_MAX8BIT >= 216 -NXFONT_DEFMETRIC(216), -#endif -#if NXFONT_MIN8BIT <= 217 && NXFONT_MAX8BIT >= 217 -NXFONT_DEFMETRIC(217), -#endif -#if NXFONT_MIN8BIT <= 218 && NXFONT_MAX8BIT >= 218 -NXFONT_DEFMETRIC(218), -#endif -#if NXFONT_MIN8BIT <= 219 && NXFONT_MAX8BIT >= 219 -NXFONT_DEFMETRIC(219), -#endif -#if NXFONT_MIN8BIT <= 220 && NXFONT_MAX8BIT >= 220 -NXFONT_DEFMETRIC(220), -#endif -#if NXFONT_MIN8BIT <= 221 && NXFONT_MAX8BIT >= 221 -NXFONT_DEFMETRIC(221), -#endif -#if NXFONT_MIN8BIT <= 222 && NXFONT_MAX8BIT >= 222 -NXFONT_DEFMETRIC(222), -#endif -#if NXFONT_MIN8BIT <= 223 && NXFONT_MAX8BIT >= 223 -NXFONT_DEFMETRIC(223), -#endif -#if NXFONT_MIN8BIT <= 224 && NXFONT_MAX8BIT >= 224 -NXFONT_DEFMETRIC(224), -#endif -#if NXFONT_MIN8BIT <= 225 && NXFONT_MAX8BIT >= 225 -NXFONT_DEFMETRIC(225), -#endif -#if NXFONT_MIN8BIT <= 226 && NXFONT_MAX8BIT >= 226 -NXFONT_DEFMETRIC(226), -#endif -#if NXFONT_MIN8BIT <= 227 && NXFONT_MAX8BIT >= 227 -NXFONT_DEFMETRIC(227), -#endif -#if NXFONT_MIN8BIT <= 228 && NXFONT_MAX8BIT >= 228 -NXFONT_DEFMETRIC(228), -#endif -#if NXFONT_MIN8BIT <= 229 && NXFONT_MAX8BIT >= 229 -NXFONT_DEFMETRIC(229), -#endif -#if NXFONT_MIN8BIT <= 230 && NXFONT_MAX8BIT >= 230 -NXFONT_DEFMETRIC(230), -#endif -#if NXFONT_MIN8BIT <= 231 && NXFONT_MAX8BIT >= 231 -NXFONT_DEFMETRIC(231), -#endif -#if NXFONT_MIN8BIT <= 232 && NXFONT_MAX8BIT >= 232 -NXFONT_DEFMETRIC(232), -#endif -#if NXFONT_MIN8BIT <= 233 && NXFONT_MAX8BIT >= 233 -NXFONT_DEFMETRIC(233), -#endif -#if NXFONT_MIN8BIT <= 234 && NXFONT_MAX8BIT >= 234 -NXFONT_DEFMETRIC(234), -#endif -#if NXFONT_MIN8BIT <= 235 && NXFONT_MAX8BIT >= 235 -NXFONT_DEFMETRIC(235), -#endif -#if NXFONT_MIN8BIT <= 236 && NXFONT_MAX8BIT >= 236 -NXFONT_DEFMETRIC(236), -#endif -#if NXFONT_MIN8BIT <= 237 && NXFONT_MAX8BIT >= 237 -NXFONT_DEFMETRIC(237), -#endif -#if NXFONT_MIN8BIT <= 238 && NXFONT_MAX8BIT >= 238 -NXFONT_DEFMETRIC(238), -#endif -#if NXFONT_MIN8BIT <= 239 && NXFONT_MAX8BIT >= 239 -NXFONT_DEFMETRIC(239), -#endif -#if NXFONT_MIN8BIT <= 240 && NXFONT_MAX8BIT >= 240 -NXFONT_DEFMETRIC(240), -#endif -#if NXFONT_MIN8BIT <= 241 && NXFONT_MAX8BIT >= 241 -NXFONT_DEFMETRIC(241), -#endif -#if NXFONT_MIN8BIT <= 242 && NXFONT_MAX8BIT >= 242 -NXFONT_DEFMETRIC(242), -#endif -#if NXFONT_MIN8BIT <= 243 && NXFONT_MAX8BIT >= 243 -NXFONT_DEFMETRIC(243), -#endif -#if NXFONT_MIN8BIT <= 244 && NXFONT_MAX8BIT >= 244 -NXFONT_DEFMETRIC(244), -#endif -#if NXFONT_MIN8BIT <= 245 && NXFONT_MAX8BIT >= 245 -NXFONT_DEFMETRIC(245), -#endif -#if NXFONT_MIN8BIT <= 246 && NXFONT_MAX8BIT >= 246 -NXFONT_DEFMETRIC(246), -#endif -#if NXFONT_MIN8BIT <= 247 && NXFONT_MAX8BIT >= 247 -NXFONT_DEFMETRIC(247), -#endif -#if NXFONT_MIN8BIT <= 248 && NXFONT_MAX8BIT >= 248 -NXFONT_DEFMETRIC(248), -#endif -#if NXFONT_MIN8BIT <= 249 && NXFONT_MAX8BIT >= 249 -NXFONT_DEFMETRIC(249), -#endif -#if NXFONT_MIN8BIT <= 250 && NXFONT_MAX8BIT >= 250 -NXFONT_DEFMETRIC(250), -#endif -#if NXFONT_MIN8BIT <= 251 && NXFONT_MAX8BIT >= 251 -NXFONT_DEFMETRIC(251), -#endif -#if NXFONT_MIN8BIT <= 252 && NXFONT_MAX8BIT >= 252 -NXFONT_DEFMETRIC(252), -#endif -#if NXFONT_MIN8BIT <= 253 && NXFONT_MAX8BIT >= 253 -NXFONT_DEFMETRIC(253), -#endif -#if NXFONT_MIN8BIT <= 254 && NXFONT_MAX8BIT >= 254 -NXFONT_DEFMETRIC(254), -#endif -#if NXFONT_MIN8BIT <= 255 && NXFONT_MAX8BIT >= 255 -NXFONT_DEFMETRIC(255), -#endif -}; -#endif - -/**************************************************************************** - * Public Data - ****************************************************************************/ - -const struct nx_fontpackage_s NXF_SYMNAME(NXFONTS_PREFIX,package) = -{ - NXFONT_ID, /* The font ID */ - { /* Font set metrics: */ - NXFONT_MAXHEIGHT, /* Max. height of a glyph in rows */ - NXFONT_MAXWIDTH, /* Max. width of a glyph in pixels */ - CONFIG_NXFONTS_CHARBITS, /* Max number of bits per character code */ - NXFONT_SPACEWIDTH, /* The width of a space in pixels */ - }, - { /* Fonts for 7-bit encoding */ - NXFONT_MIN7BIT, /* First glyph code */ - NXFONT_N7BITFONTS, /* Number of bitmap glyphs */ - NXF_SYMNAME(NXFONTS_PREFIX,7bitmaps) /* List of glyphs */ - } -#if CONFIG_NXFONTS_CHARBITS >= 8 -, { /* Fonts for 8-bit encoding */ - NXFONT_MIN8BIT, /* First glyph code */ - NXFONT_N8BITFONTS, /* Number of bitmap glyphs */ - NXF_SYMNAME(NXFONTS_PREFIX,8bitmaps) /* List of glyphs */ - } -#endif -}; - -/**************************************************************************** - * Private Functions - ****************************************************************************/ - -/**************************************************************************** - * Public Functions - ****************************************************************************/ - diff --git a/nuttx/graphics/nxfonts/nxfonts_convert.c b/nuttx/graphics/nxfonts/nxfonts_convert.c deleted file mode 100644 index a3c319964..000000000 --- a/nuttx/graphics/nxfonts/nxfonts_convert.c +++ /dev/null @@ -1,290 +0,0 @@ -/**************************************************************************** - * graphics/nxfonts/nxfonts_convert.c - * - * Copyright (C) 2008-2010 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <gnutt@nuttx.org> - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * 3. Neither the name NuttX nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT} - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING} - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - ****************************************************************************/ - -/**************************************************************************** - * Included Files - ****************************************************************************/ - -#include <nuttx/config.h> - -#include <stdint.h> -#include <stddef.h> -#include <debug.h> - -#include <nuttx/nx/nxglib.h> -#include <nuttx/nx/nxfonts.h> - -#include "nxfonts_internal.h" - -/**************************************************************************** - * Pre-Processor Definitions - ****************************************************************************/ - -/* Make sure the bits-per-pixel value has been set */ - -#ifndef NXFONTS_BITSPERPIXEL -# error "NXFONTS_BITSPERPIXEL must be defined on the command line" -#endif - -/* Set up bit blit macros for this BPP */ - -#if NXFONTS_BITSPERPIXEL == 1 - -# define NXF_PIXELMASK 0x01 -# define NXF_SCALEX(x) ((x) >> 3) -# define NXF_PIXEL_T uint8_t -# define NXF_MULTIPIXEL(p) ((p) ? 0xff : 0x00) - -#elif NXFONTS_BITSPERPIXEL == 2 - -# define NXF_PIXELMASK 0x03 -# define NXF_SCALEX(x) ((x) >> 2) -# define NXF_PIXEL_T uint8_t -# define NXF_MULTIPIXEL(p) ((uint8_t)(p) << 6 | (uint8_t)(p) << 4 | (uint8_t)(p) << 2 | (p)) - -#elif NXFONTS_BITSPERPIXEL == 4 - -# define NXF_PIXELMASK 0x0f -# define NXF_SCALEX(x) ((x) >> 1) -# define NXF_PIXEL_T uint8_t -# define NXF_MULTIPIXEL(p) ((uint8_t)(p) << 4 | (p)) - -#elif NXFONTS_BITSPERPIXEL == 8 - -# define NXF_SCALEX(x) (x) -# define NXF_PIXEL_T uint8_t - -#elif NXFONTS_BITSPERPIXEL == 16 - -# define NXF_SCALEX(x) ((x) << 1) -# define NXF_PIXEL_T uint16_t - -#elif NXFONTS_BITSPERPIXEL == 24 - -# define NXF_SCALEX(x) (((x) << 1) + (x)) -# define NXF_PIXEL_T uint32_t - -#elif NXFONTS_BITSPERPIXEL == 32 - -# define NXF_SCALEX(x) ((x) << 2) -# define NXF_PIXEL_T uint32_t - -#endif - -#if NXFONTS_BITSPERPIXEL < 8 -# ifdef CONFIG_NX_PACKEDMSFIRST -# define NXF_INITMASK (NXF_PIXELMASK << (8 - NXFONTS_BITSPERPIXEL)) -# else -# define NXF_INITMASK NXF_PIXELMASK -# endif -#endif - -/* Form a function name by concatenating two strings */ - -#define _NXF_FUNCNAME(a,b) a ## b -#define NXF_FUNCNAME(a,b) _NXF_FUNCNAME(a,b) - -/**************************************************************************** - * Private Data - ****************************************************************************/ - -/**************************************************************************** - * Public Data - ****************************************************************************/ - -/**************************************************************************** - * Private Functions - ****************************************************************************/ - -/**************************************************************************** - * Public Functions - ****************************************************************************/ - -/**************************************************************************** - * Name: nxf_convert_*bpp - * - * Description: - * Convert the 1BPP font to a new pixel depth - * - * Input Parameters: - * dest - The destination buffer provided by the caller. - * height - The max height of the returned char in rows - * width - The max width of the returned char in pixels - * stride - The width of the destination buffer in bytes - * bm - Describes the character glyph to convert - * color - The color to use for '1' bits in the font bitmap - * (0 bits are transparent) - * - * Returned Value: - * OK on Success, ERROR: on failure with errno set appropriately. - * (never fails) - * - ****************************************************************************/ - -int NXF_FUNCNAME(nxf_convert,NXFONTS_SUFFIX) -(FAR NXF_PIXEL_T *dest, uint16_t height, uint16_t width, uint16_t stride, - FAR const struct nx_fontbitmap_s *bm, nxgl_mxpixel_t color) -{ - FAR uint8_t *line; - FAR NXF_PIXEL_T *dptr; - FAR const uint8_t *sptr; - uint8_t bmbyte; - int bmbit; - int row; - int col; - int bmndx; - -#if NXFONTS_BITSPERPIXEL < 8 - NXF_PIXEL_T mpixel; - NXF_PIXEL_T mask; - NXF_PIXEL_T pixel; - int nbits; -#endif - - /* Get the starting position */ - - line = (uint8_t*)dest + bm->metric.yoffset * stride + NXF_SCALEX(bm->metric.xoffset); - - /* Then copy the font */ - - height = ngl_min(bm->metric.height, height - bm->metric.yoffset); - width = ngl_min(bm->metric.width, width - bm->metric.xoffset); - - /* Render each row of the glyph */ - - sptr = bm->bitmap; -#if NXFONTS_BITSPERPIXEL < 8 - mpixel = NXF_MULTIPIXEL(color); - - /* Handle each row in both the input and output */ - - for (row = 0; row < height; row++) - { - /* Process each byte in the glyph row */ - - col = 0; - dptr = (FAR NXF_PIXEL_T*)line; - pixel = *dptr; - mask = NXF_INITMASK; - nbits = 0; - - for (bmndx = 0; bmndx < bm->metric.stride && col < width; bmndx++) - { - bmbyte = *sptr++; - - /* Process each bit in one byte */ - - for (bmbit = 7; bmbit >= 0 && col < width; bmbit--, col++) - { - /* Is the bit set? */ - - if (bmbyte & (1 << bmbit)) - { - /* Yes.. set the bit to 'color' in the output */ - - pixel = ((pixel & ~mask) | (mpixel & mask)); - } - -#ifdef CONFIG_NX_PACKEDMSFIRST - mask >>= NXFONTS_BITSPERPIXEL; -#else - mask <<= NXFONTS_BITSPERPIXEL; -#endif - nbits += NXFONTS_BITSPERPIXEL; - if (nbits >= 8) - { - *dptr++ = pixel; - pixel = *dptr; - mask = NXF_INITMASK; - nbits = 0; - } - } - } - - /* The entire glyph row has been rendered. Handle any fractional bytes at - * the end of the row - */ - - if (nbits > 0) - { - *dptr = pixel; - } - - /* Point to the beginning of the next row */ - - line += stride; - } -#else - /* Handle each row in both the input and output */ - - for (row = 0; row < height; row++) - { - /* Process each byte in the glyph */ - - col = 0; - dptr = (FAR NXF_PIXEL_T*)line; - - for (bmndx = 0; bmndx < bm->metric.stride && col < width; bmndx++) - { - bmbyte = *sptr++; - - /* Process each bit in the byte */ - - for (bmbit = 7; bmbit >= 0 && col < width; bmbit--, col++) - { - /* Is the bit set? */ - - if (bmbyte & (1 << bmbit)) - { - /* Yes.. set the bit to 'color' in the output */ - - *dptr++ = color; - } - else - { - /* No... keep the background color in the output */ - - dptr++; - } - } - } - - /* Advance to the beginning of the next line in the destination */ - - line += stride; - } -#endif - return OK; -} diff --git a/nuttx/graphics/nxfonts/nxfonts_getfont.c b/nuttx/graphics/nxfonts/nxfonts_getfont.c deleted file mode 100644 index 0eb48e9df..000000000 --- a/nuttx/graphics/nxfonts/nxfonts_getfont.c +++ /dev/null @@ -1,423 +0,0 @@ -/**************************************************************************** - * graphics/nxfonts/nxfonts_getfont.c - * - * Copyright (C) 2008-2009, 2011 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <gnutt@nuttx.org> - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * 3. Neither the name NuttX nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT} - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING} - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - ****************************************************************************/ - -/**************************************************************************** - * Included Files - ****************************************************************************/ - -#include <nuttx/config.h> - -#include <stdint.h> -#include <stddef.h> -#include <debug.h> - -#include <nuttx/nx/nx.h> -#include <nuttx/nx/nxfonts.h> - -#include "nxfonts_internal.h" - -/**************************************************************************** - * Pre-Processor Definitions - ****************************************************************************/ - -/**************************************************************************** - * Private Types - ****************************************************************************/ - -/**************************************************************************** - * Private Data - ****************************************************************************/ - -/* MONO */ - -#ifdef CONFIG_NXFONT_MONO5X8 -extern const struct nx_fontpackage_s g_mono5x8_package; -#endif - -/* SANS */ - -#ifdef CONFIG_NXFONT_SANS17X22 -extern const struct nx_fontpackage_s g_sans17x22_package; -#endif - -#ifdef CONFIG_NXFONT_SANS20X26 -extern const struct nx_fontpackage_s g_sans20x26_package; -#endif - -#ifdef CONFIG_NXFONT_SANS23X27 -extern const struct nx_fontpackage_s g_sans23x27_package; -#endif - -#ifdef CONFIG_NXFONT_SANS22X29 -extern const struct nx_fontpackage_s g_sans22x29_package; -#endif - -#ifdef CONFIG_NXFONT_SANS28X37 -extern const struct nx_fontpackage_s g_sans28x37_package; -#endif - -#ifdef CONFIG_NXFONT_SANS39X48 -extern const struct nx_fontpackage_s g_sans39x48_package; -#endif - -/* SANS-BOLD */ - -#ifdef CONFIG_NXFONT_SANS17X23B -extern const struct nx_fontpackage_s g_sans17x23b_package; -#endif - -#ifdef CONFIG_NXFONT_SANS20X27B -extern const struct nx_fontpackage_s g_sans20x27b_package; -#endif - -#ifdef CONFIG_NXFONT_SANS22X29B -extern const struct nx_fontpackage_s g_sans22x29b_package; -#endif - -#ifdef CONFIG_NXFONT_SANS28X37B -extern const struct nx_fontpackage_s g_sans28x37b_package; -#endif - -#ifdef CONFIG_NXFONT_SANS40X49B -extern const struct nx_fontpackage_s g_sans40x49b_package; -#endif - -/* SERIF */ - -#ifdef CONFIG_NXFONT_SERIF22X29 -extern const struct nx_fontpackage_s g_serif22x29_package; -#endif - -#ifdef CONFIG_NXFONT_SERIF29X37 -extern const struct nx_fontpackage_s g_serif29x37_package; -#endif - -#ifdef CONFIG_NXFONT_SERIF38X48 -extern const struct nx_fontpackage_s g_serif38x48_package; -#endif - -/* SERIF-BOLD */ - -#ifdef CONFIG_NXFONT_SERIF22X28B -extern const struct nx_fontpackage_s g_serif22x28b_package; -#endif - -#ifdef CONFIG_NXFONT_SERIF27X38B -extern const struct nx_fontpackage_s g_serif27x38b_package; -#endif - -#ifdef CONFIG_NXFONT_SERIF38X49 -extern const struct nx_fontpackage_s g_serif38x49b_package; -#endif - -static FAR const struct nx_fontpackage_s *g_fontpackages[] = -{ - -/* MONO */ - -#ifdef CONFIG_NXFONT_MONO5X8 - &g_mono5x8_package, -#endif - -/* SANS */ - -#ifdef CONFIG_NXFONT_SANS17X22 - &g_sans17x22_package, -#endif - -#ifdef CONFIG_NXFONT_SANS20X26 - &g_sans20x26_package, -#endif - -#ifdef CONFIG_NXFONT_SANS23X27 - &g_sans23x27_package, -#endif - -#ifdef CONFIG_NXFONT_SANS22X29 - &g_sans22x29_package, -#endif - -#ifdef CONFIG_NXFONT_SANS28X37 - &g_sans28x37_package, -#endif - -#ifdef CONFIG_NXFONT_SANS39X48 - &g_sans39x48_package, -#endif - -/* SANS-BOLD */ - -#ifdef CONFIG_NXFONT_SANS17X23B - &g_sans17x23b_package, -#endif - -#ifdef CONFIG_NXFONT_SANS20X27B - &g_sans20x27b_package, -#endif - -#ifdef CONFIG_NXFONT_SANS22X29B - &g_sans22x29b_package, -#endif - -#ifdef CONFIG_NXFONT_SANS28X37B - &g_sans28x37b_package, -#endif - -#ifdef CONFIG_NXFONT_SANS40X49B - &g_sans40x49b_package, -#endif - -/* SERIF */ - -#ifdef CONFIG_NXFONT_SERIF22X29 - &g_serif22x29_package, -#endif - -#ifdef CONFIG_NXFONT_SERIF29X37 - &g_serif29x37_package, -#endif - -#ifdef CONFIG_NXFONT_SERIF38X48 - &g_serif38x48_package, -#endif - -/* SERIF-BOLD */ - -#ifdef CONFIG_NXFONT_SERIF22X28B - &g_serif22x28b_package, -#endif - -#ifdef CONFIG_NXFONT_SERIF27X38B - &g_serif27x38b_package, -#endif - -#ifdef CONFIG_NXFONT_SERIF38X49B - &g_serif38x49b_package, -#endif - - NULL -}; - -/**************************************************************************** - * Public Data - ****************************************************************************/ - -/**************************************************************************** - * Private Functions - ****************************************************************************/ - -/**************************************************************************** - * Name: nxf_getglyphset - * - * Description: - * Return information about the font set contained in the selected - * character encoding. - * - * Input Parameters: - * ch: character code - * package: The selected font package - * - ****************************************************************************/ - -static inline FAR const struct nx_fontset_s * - nxf_getglyphset(uint16_t ch, FAR const struct nx_fontpackage_s *package) -{ - FAR const struct nx_fontset_s *fontset; - - /* Select the 7- or 8-bit font set */ - - if (ch < 128) - { - /* Select the 7-bit font set */ - - fontset = &package->font7; - } - else if (ch < 256) - { -#if CONFIG_NXFONTS_CHARBITS >= 8 - /* Select the 8-bit font set */ - - fontset = &package->font8; -#else - gdbg("8-bit font support disabled: %d\n", ch); - return NULL; -#endif - } - else - { - /* Someday, perhaps 16-bit fonts will go here */ - - gdbg("16-bit font not currently supported\n"); - return NULL; - } - - /* Then verify that the character actually resides in the font */ - - if (ch >= fontset->first && ch < fontset->first +fontset->nchars) - { - return fontset; - } - - gdbg("No bitmap for code %02x\n", ch); - return NULL; -} - -/**************************************************************************** - * Public Functions - ****************************************************************************/ - -/**************************************************************************** - * Name: nxf_getfonthandle - * - * Description: - * Given a numeric font ID, return a handle that may be subsequently be - * used to access the font data sets. - * - * Input Parameters: - * fontid: Identifies the font set to get - * - ****************************************************************************/ - -NXHANDLE nxf_getfonthandle(enum nx_fontid_e fontid) -{ - FAR const struct nx_fontpackage_s **pkglist; - FAR const struct nx_fontpackage_s *package; - FAR const struct nx_fontpackage_s *defpkg = NULL; - - /* Handle the default font package */ - - if (fontid == FONTID_DEFAULT) - { - fontid = NXFONT_DEFAULT; - } - - /* Then search for the font package with this ID */ - - for (pkglist = g_fontpackages; *pkglist; pkglist++) - { - /* Is this the package with the matching font ID? */ - - package = *pkglist; - if (package->id == fontid) - { - /* Yes.. return a pointer to the package as the handle */ - - return (NXHANDLE)package; - } - - /* No.. is it the default font? */ - - else if (package->id == NXFONT_DEFAULT) - { - /* Yes.. save the pointer to the default font. We will return the - * default font if the requested font cannot be found. - */ - - defpkg = package; - } - } - - /* Return a pointer to the default font as the handle. */ - - return (NXHANDLE)defpkg; -} - -/**************************************************************************** - * Name: nxf_getfontset - * - * Description: - * Return information about the current font set - * - * Input Parameters: - * handle: A font handle previously returned by nxf_getfonthandle - * - ****************************************************************************/ - -FAR const struct nx_font_s *nxf_getfontset(NXHANDLE handle) -{ - FAR const struct nx_fontpackage_s *package = - (FAR const struct nx_fontpackage_s *)handle; - - /* Find the font package associated with this font ID */ - - if (package) - { - /* Found... return the font set metrics for this font package */ - - return &package->metrics; - } - - return NULL; -} - -/**************************************************************************** - * Name: nxf_getbitmap - * - * Description: - * Return font bitmap information for the selected character encoding. - * - * Input Parameters: - * handle: A font handle previously returned by nxf_getfonthandle - * ch: Character code whose bitmap is requested - * - * Returned Value: - * An instance of struct nx_fontbitmap_s describing the glyph. - * - ****************************************************************************/ - -FAR const struct nx_fontbitmap_s *nxf_getbitmap(NXHANDLE handle, uint16_t ch) -{ - FAR const struct nx_fontpackage_s *package = - (FAR const struct nx_fontpackage_s *)handle; - FAR const struct nx_fontset_s *fontset; - FAR const struct nx_fontbitmap_s *bm = NULL; - - /* Verify that the handle is a font package */ - - if (package) - { - /* Now get the fontset from the package */ - - fontset = nxf_getglyphset(ch, package); - if (fontset) - { - /* Then get the bitmap from the font set */ - - bm = &fontset->bitmap[ch - fontset->first]; - } - } - - return bm; -} diff --git a/nuttx/graphics/nxfonts/nxfonts_internal.h b/nuttx/graphics/nxfonts/nxfonts_internal.h deleted file mode 100644 index 057200cd5..000000000 --- a/nuttx/graphics/nxfonts/nxfonts_internal.h +++ /dev/null @@ -1,88 +0,0 @@ -/**************************************************************************** - * graphics/nxfonts/nxfonts_internal.h - * - * Copyright (C) 2008-2009, 2011 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <gnutt@nuttx.org> - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * 3. Neither the name NuttX nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - ****************************************************************************/ - -#ifndef __GRAPHICS_NXFONTS_NXFONTS_INTERNAL_H -#define __GRAPHICS_NXFONTS_NXFONTS_INTERNAL_H - -/**************************************************************************** - * Included Files - ****************************************************************************/ - -#include <nuttx/config.h> - -#include <nuttx/nx/nxfonts.h> - -/**************************************************************************** - * Pre-processor definitions - ****************************************************************************/ - -/* Configuration ************************************************************/ - -#ifndef CONFIG_NXFONTS_CHARBITS -# define CONFIG_NXFONTS_CHARBITS 7 -#endif - -/**************************************************************************** - * Public Types - ****************************************************************************/ - -/**************************************************************************** - * Public Data - ****************************************************************************/ - -#undef EXTERN -#if defined(__cplusplus) -# define EXTERN extern "C" -extern "C" { -#else -# define EXTERN extern -#endif - -EXTERN struct nx_fontset_s g_7bitfonts; -#if CONFIG_NXFONTS_CHARBITS >= 8 -EXTERN struct nx_fontset_s g_8bitfonts; -#endif -EXTERN struct nx_font_s g_fonts; - -/**************************************************************************** - * Public Function Prototypes - ****************************************************************************/ - -#undef EXTERN -#if defined(__cplusplus) -} -#endif - -#endif /* __GRAPHICS_NXFONTS_NXFONTS_INTERNAL_H */ diff --git a/nuttx/graphics/nxfonts/nxfonts_mono5x8.h b/nuttx/graphics/nxfonts/nxfonts_mono5x8.h deleted file mode 100644 index 739437e62..000000000 --- a/nuttx/graphics/nxfonts/nxfonts_mono5x8.h +++ /dev/null @@ -1,815 +0,0 @@ -/**************************************************************************** - * graphics/nxfonts/nxfonts_mono5x8.h - * - * Copyright (C) 2011-2012 NX Engineering, S.A., All rights reserved. - * Author: Petteri Aimonen <jpa@nx.mail.kapsi.fi> - * - * Based on 5x8.pcf.gz from xfonts-base. The file is marked as - * COPYRIGHT "Public domain font. Share and enjoy." - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * 3. Neither the name NuttX nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT} - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING} - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - ****************************************************************************/ - -#ifndef __GRAPHICS_NXFONTS_NXFONTS_MONO5X8_H -#define __GRAPHICS_NXFONTS_NXFONTS_MONO5X8_H - -#define NXFONT_ID FONTID_MONO5X8 - -#define NXFONT_MIN7BIT 33 -#define NXFONT_MAX7BIT 126 - -#define NXFONT_MIN8BIT 161 -#define NXFONT_MAX8BIT 255 - -/* Maximum height and width of any glyph in the set */ - -#define NXFONT_MAXHEIGHT 8 -#define NXFONT_MAXWIDTH 5 - -/* The width of a space */ - -#define NXFONT_SPACEWIDTH 5 - -/* exclam (33) */ -#define NXFONT_METRICS_33 {1, 5, 8, 0, 0, 0} -#define NXFONT_BITMAP_33 {0x0, 0x20, 0x20, 0x20, 0x20, 0x0, 0x20, 0x0} - -/* quotedbl (34) */ -#define NXFONT_METRICS_34 {1, 5, 8, 0, 0, 0} -#define NXFONT_BITMAP_34 {0x0, 0x50, 0x50, 0x50, 0x0, 0x0, 0x0, 0x0} - -/* numbersign (35) */ -#define NXFONT_METRICS_35 {1, 5, 8, 0, 0, 0} -#define NXFONT_BITMAP_35 {0x50, 0x50, 0xf8, 0x50, 0xf8, 0x50, 0x50, 0x0} - -/* dollar (36) */ -#define NXFONT_METRICS_36 {1, 5, 8, 0, 0, 0} -#define NXFONT_BITMAP_36 {0x20, 0x70, 0xa0, 0x70, 0x28, 0x70, 0x20, 0x0} - -/* percent (37) */ -#define NXFONT_METRICS_37 {1, 5, 8, 0, 0, 0} -#define NXFONT_BITMAP_37 {0x0, 0x40, 0x50, 0x20, 0x50, 0x10, 0x0, 0x0} - -/* ampersand (38) */ -#define NXFONT_METRICS_38 {1, 5, 8, 0, 0, 0} -#define NXFONT_BITMAP_38 {0x40, 0xa0, 0xa0, 0x40, 0xa0, 0xa0, 0x50, 0x0} - -/* quotesingle (39) */ -#define NXFONT_METRICS_39 {1, 5, 8, 0, 0, 0} -#define NXFONT_BITMAP_39 {0x0, 0x20, 0x20, 0x20, 0x0, 0x0, 0x0, 0x0} - -/* parenleft (40) */ -#define NXFONT_METRICS_40 {1, 5, 8, 0, 0, 0} -#define NXFONT_BITMAP_40 {0x0, 0x20, 0x40, 0x40, 0x40, 0x40, 0x20, 0x0} - -/* parenright (41) */ -#define NXFONT_METRICS_41 {1, 5, 8, 0, 0, 0} -#define NXFONT_BITMAP_41 {0x0, 0x40, 0x20, 0x20, 0x20, 0x20, 0x40, 0x0} - -/* asterisk (42) */ -#define NXFONT_METRICS_42 {1, 5, 8, 0, 0, 0} -#define NXFONT_BITMAP_42 {0x0, 0x0, 0x90, 0x60, 0xf0, 0x60, 0x90, 0x0} - -/* plus (43) */ -#define NXFONT_METRICS_43 {1, 5, 8, 0, 0, 0} -#define NXFONT_BITMAP_43 {0x0, 0x0, 0x20, 0x20, 0xf8, 0x20, 0x20, 0x0} - -/* comma (44) */ -#define NXFONT_METRICS_44 {1, 5, 8, 0, 0, 0} -#define NXFONT_BITMAP_44 {0x0, 0x0, 0x0, 0x0, 0x0, 0x30, 0x20, 0x40} - -/* hyphen (45) */ -#define NXFONT_METRICS_45 {1, 5, 8, 0, 0, 0} -#define NXFONT_BITMAP_45 {0x0, 0x0, 0x0, 0x0, 0xf0, 0x0, 0x0, 0x0} - -/* period (46) */ -#define NXFONT_METRICS_46 {1, 5, 8, 0, 0, 0} -#define NXFONT_BITMAP_46 {0x0, 0x0, 0x0, 0x0, 0x0, 0x20, 0x70, 0x20} - -/* slash (47) */ -#define NXFONT_METRICS_47 {1, 5, 8, 0, 0, 0} -#define NXFONT_BITMAP_47 {0x0, 0x10, 0x10, 0x20, 0x40, 0x80, 0x80, 0x0} - -/* zero (48) */ -#define NXFONT_METRICS_48 {1, 5, 8, 0, 0, 0} -#define NXFONT_BITMAP_48 {0x0, 0x20, 0x50, 0x50, 0x50, 0x50, 0x20, 0x0} - -/* one (49) */ -#define NXFONT_METRICS_49 {1, 5, 8, 0, 0, 0} -#define NXFONT_BITMAP_49 {0x0, 0x20, 0x60, 0x20, 0x20, 0x20, 0x70, 0x0} - -/* two (50) */ -#define NXFONT_METRICS_50 {1, 5, 8, 0, 0, 0} -#define NXFONT_BITMAP_50 {0x0, 0x60, 0x90, 0x10, 0x60, 0x80, 0xf0, 0x0} - -/* three (51) */ -#define NXFONT_METRICS_51 {1, 5, 8, 0, 0, 0} -#define NXFONT_BITMAP_51 {0x0, 0xf0, 0x20, 0x60, 0x10, 0x90, 0x60, 0x0} - -/* four (52) */ -#define NXFONT_METRICS_52 {1, 5, 8, 0, 0, 0} -#define NXFONT_BITMAP_52 {0x0, 0x20, 0x60, 0xa0, 0xf0, 0x20, 0x20, 0x0} - -/* five (53) */ -#define NXFONT_METRICS_53 {1, 5, 8, 0, 0, 0} -#define NXFONT_BITMAP_53 {0x0, 0xf0, 0x80, 0xe0, 0x10, 0x90, 0x60, 0x0} - -/* six (54) */ -#define NXFONT_METRICS_54 {1, 5, 8, 0, 0, 0} -#define NXFONT_BITMAP_54 {0x0, 0x60, 0x80, 0xe0, 0x90, 0x90, 0x60, 0x0} - -/* seven (55) */ -#define NXFONT_METRICS_55 {1, 5, 8, 0, 0, 0} -#define NXFONT_BITMAP_55 {0x0, 0xf0, 0x10, 0x20, 0x20, 0x40, 0x40, 0x0} - -/* eight (56) */ -#define NXFONT_METRICS_56 {1, 5, 8, 0, 0, 0} -#define NXFONT_BITMAP_56 {0x0, 0x60, 0x90, 0x60, 0x90, 0x90, 0x60, 0x0} - -/* nine (57) */ -#define NXFONT_METRICS_57 {1, 5, 8, 0, 0, 0} -#define NXFONT_BITMAP_57 {0x0, 0x60, 0x90, 0x90, 0x70, 0x10, 0x60, 0x0} - -/* colon (58) */ -#define NXFONT_METRICS_58 {1, 5, 8, 0, 0, 0} -#define NXFONT_BITMAP_58 {0x0, 0x0, 0x60, 0x60, 0x0, 0x60, 0x60, 0x0} - -/* semicolon (59) */ -#define NXFONT_METRICS_59 {1, 5, 8, 0, 0, 0} -#define NXFONT_BITMAP_59 {0x0, 0x0, 0x30, 0x30, 0x0, 0x30, 0x20, 0x40} - -/* less (60) */ -#define NXFONT_METRICS_60 {1, 5, 8, 0, 0, 0} -#define NXFONT_BITMAP_60 {0x0, 0x10, 0x20, 0x40, 0x40, 0x20, 0x10, 0x0} - -/* equal (61) */ -#define NXFONT_METRICS_61 {1, 5, 8, 0, 0, 0} -#define NXFONT_BITMAP_61 {0x0, 0x0, 0x0, 0xf0, 0x0, 0xf0, 0x0, 0x0} - -/* greater (62) */ -#define NXFONT_METRICS_62 {1, 5, 8, 0, 0, 0} -#define NXFONT_BITMAP_62 {0x0, 0x40, 0x20, 0x10, 0x10, 0x20, 0x40, 0x0} - -/* question (63) */ -#define NXFONT_METRICS_63 {1, 5, 8, 0, 0, 0} -#define NXFONT_BITMAP_63 {0x0, 0x20, 0x50, 0x10, 0x20, 0x0, 0x20, 0x0} - -/* at (64) */ -#define NXFONT_METRICS_64 {1, 5, 8, 0, 0, 0} -#define NXFONT_BITMAP_64 {0x30, 0x48, 0x98, 0xa8, 0xa8, 0x90, 0x40, 0x30} - -/* A (65) */ -#define NXFONT_METRICS_65 {1, 5, 8, 0, 0, 0} -#define NXFONT_BITMAP_65 {0x0, 0x60, 0x90, 0x90, 0xf0, 0x90, 0x90, 0x0} - -/* B (66) */ -#define NXFONT_METRICS_66 {1, 5, 8, 0, 0, 0} -#define NXFONT_BITMAP_66 {0x0, 0xe0, 0x90, 0xe0, 0x90, 0x90, 0xe0, 0x0} - -/* C (67) */ -#define NXFONT_METRICS_67 {1, 5, 8, 0, 0, 0} -#define NXFONT_BITMAP_67 {0x0, 0x60, 0x90, 0x80, 0x80, 0x90, 0x60, 0x0} - -/* D (68) */ -#define NXFONT_METRICS_68 {1, 5, 8, 0, 0, 0} -#define NXFONT_BITMAP_68 {0x0, 0xe0, 0x90, 0x90, 0x90, 0x90, 0xe0, 0x0} - -/* E (69) */ -#define NXFONT_METRICS_69 {1, 5, 8, 0, 0, 0} -#define NXFONT_BITMAP_69 {0x0, 0xf0, 0x80, 0xe0, 0x80, 0x80, 0xf0, 0x0} - -/* F (70) */ -#define NXFONT_METRICS_70 {1, 5, 8, 0, 0, 0} -#define NXFONT_BITMAP_70 {0x0, 0xf0, 0x80, 0xe0, 0x80, 0x80, 0x80, 0x0} - -/* G (71) */ -#define NXFONT_METRICS_71 {1, 5, 8, 0, 0, 0} -#define NXFONT_BITMAP_71 {0x0, 0x60, 0x90, 0x80, 0xb0, 0x90, 0x60, 0x0} - -/* H (72) */ -#define NXFONT_METRICS_72 {1, 5, 8, 0, 0, 0} -#define NXFONT_BITMAP_72 {0x0, 0x90, 0x90, 0xf0, 0x90, 0x90, 0x90, 0x0} - -/* I (73) */ -#define NXFONT_METRICS_73 {1, 5, 8, 0, 0, 0} -#define NXFONT_BITMAP_73 {0x0, 0x70, 0x20, 0x20, 0x20, 0x20, 0x70, 0x0} - -/* J (74) */ -#define NXFONT_METRICS_74 {1, 5, 8, 0, 0, 0} -#define NXFONT_BITMAP_74 {0x0, 0x70, 0x20, 0x20, 0x20, 0xa0, 0x40, 0x0} - -/* K (75) */ -#define NXFONT_METRICS_75 {1, 5, 8, 0, 0, 0} -#define NXFONT_BITMAP_75 {0x0, 0x90, 0xa0, 0xc0, 0xa0, 0xa0, 0x90, 0x0} - -/* L (76) */ -#define NXFONT_METRICS_76 {1, 5, 8, 0, 0, 0} -#define NXFONT_BITMAP_76 {0x0, 0x80, 0x80, 0x80, 0x80, 0x80, 0xf0, 0x0} - -/* M (77) */ -#define NXFONT_METRICS_77 {1, 5, 8, 0, 0, 0} -#define NXFONT_BITMAP_77 {0x0, 0x90, 0xf0, 0xf0, 0x90, 0x90, 0x90, 0x0} - -/* N (78) */ -#define NXFONT_METRICS_78 {1, 5, 8, 0, 0, 0} -#define NXFONT_BITMAP_78 {0x0, 0x90, 0xd0, 0xf0, 0xb0, 0xb0, 0x90, 0x0} - -/* O (79) */ -#define NXFONT_METRICS_79 {1, 5, 8, 0, 0, 0} -#define NXFONT_BITMAP_79 {0x0, 0x60, 0x90, 0x90, 0x90, 0x90, 0x60, 0x0} - -/* P (80) */ -#define NXFONT_METRICS_80 {1, 5, 8, 0, 0, 0} -#define NXFONT_BITMAP_80 {0x0, 0xe0, 0x90, 0x90, 0xe0, 0x80, 0x80, 0x0} - -/* Q (81) */ -#define NXFONT_METRICS_81 {1, 5, 8, 0, 0, 0} -#define NXFONT_BITMAP_81 {0x0, 0x60, 0x90, 0x90, 0xd0, 0xb0, 0x60, 0x10} - -/* R (82) */ -#define NXFONT_METRICS_82 {1, 5, 8, 0, 0, 0} -#define NXFONT_BITMAP_82 {0x0, 0xe0, 0x90, 0x90, 0xe0, 0x90, 0x90, 0x0} - -/* S (83) */ -#define NXFONT_METRICS_83 {1, 5, 8, 0, 0, 0} -#define NXFONT_BITMAP_83 {0x0, 0x60, 0x90, 0x40, 0x20, 0x90, 0x60, 0x0} - -/* T (84) */ -#define NXFONT_METRICS_84 {1, 5, 8, 0, 0, 0} -#define NXFONT_BITMAP_84 {0x0, 0x70, 0x20, 0x20, 0x20, 0x20, 0x20, 0x0} - -/* U (85) */ -#define NXFONT_METRICS_85 {1, 5, 8, 0, 0, 0} -#define NXFONT_BITMAP_85 {0x0, 0x90, 0x90, 0x90, 0x90, 0x90, 0x60, 0x0} - -/* V (86) */ -#define NXFONT_METRICS_86 {1, 5, 8, 0, 0, 0} -#define NXFONT_BITMAP_86 {0x0, 0x90, 0x90, 0x90, 0x90, 0x60, 0x60, 0x0} - -/* W (87) */ -#define NXFONT_METRICS_87 {1, 5, 8, 0, 0, 0} -#define NXFONT_BITMAP_87 {0x0, 0x90, 0x90, 0x90, 0xf0, 0xf0, 0x90, 0x0} - -/* X (88) */ -#define NXFONT_METRICS_88 {1, 5, 8, 0, 0, 0} -#define NXFONT_BITMAP_88 {0x0, 0x90, 0x90, 0x60, 0x60, 0x90, 0x90, 0x0} - -/* Y (89) */ -#define NXFONT_METRICS_89 {1, 5, 8, 0, 0, 0} -#define NXFONT_BITMAP_89 {0x0, 0x88, 0x88, 0x50, 0x20, 0x20, 0x20, 0x0} - -/* Z (90) */ -#define NXFONT_METRICS_90 {1, 5, 8, 0, 0, 0} -#define NXFONT_BITMAP_90 {0x0, 0xf0, 0x10, 0x20, 0x40, 0x80, 0xf0, 0x0} - -/* bracketleft (91) */ -#define NXFONT_METRICS_91 {1, 5, 8, 0, 0, 0} -#define NXFONT_BITMAP_91 {0x0, 0x70, 0x40, 0x40, 0x40, 0x40, 0x70, 0x0} - -/* backslash (92) */ -#define NXFONT_METRICS_92 {1, 5, 8, 0, 0, 0} -#define NXFONT_BITMAP_92 {0x0, 0x80, 0x80, 0x40, 0x20, 0x10, 0x10, 0x0} - -/* bracketright (93) */ -#define NXFONT_METRICS_93 {1, 5, 8, 0, 0, 0} -#define NXFONT_BITMAP_93 {0x0, 0x70, 0x10, 0x10, 0x10, 0x10, 0x70, 0x0} - -/* asciicircum (94) */ -#define NXFONT_METRICS_94 {1, 5, 8, 0, 0, 0} -#define NXFONT_BITMAP_94 {0x0, 0x20, 0x50, 0x0, 0x0, 0x0, 0x0, 0x0} - -/* underscore (95) */ -#define NXFONT_METRICS_95 {1, 5, 8, 0, 0, 0} -#define NXFONT_BITMAP_95 {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf0} - -/* grave (96) */ -#define NXFONT_METRICS_96 {1, 5, 8, 0, 0, 0} -#define NXFONT_BITMAP_96 {0x0, 0x40, 0x20, 0x0, 0x0, 0x0, 0x0, 0x0} - -/* a (97) */ -#define NXFONT_METRICS_97 {1, 5, 8, 0, 0, 0} -#define NXFONT_BITMAP_97 {0x0, 0x0, 0x0, 0x70, 0x90, 0x90, 0x70, 0x0} - -/* b (98) */ -#define NXFONT_METRICS_98 {1, 5, 8, 0, 0, 0} -#define NXFONT_BITMAP_98 {0x0, 0x80, 0x80, 0xe0, 0x90, 0x90, 0xe0, 0x0} - -/* c (99) */ -#define NXFONT_METRICS_99 {1, 5, 8, 0, 0, 0} -#define NXFONT_BITMAP_99 {0x0, 0x0, 0x0, 0x30, 0x40, 0x40, 0x30, 0x0} - -/* d (100) */ -#define NXFONT_METRICS_100 {1, 5, 8, 0, 0, 0} -#define NXFONT_BITMAP_100 {0x0, 0x10, 0x10, 0x70, 0x90, 0x90, 0x70, 0x0} - -/* e (101) */ -#define NXFONT_METRICS_101 {1, 5, 8, 0, 0, 0} -#define NXFONT_BITMAP_101 {0x0, 0x0, 0x0, 0x60, 0xb0, 0xc0, 0x60, 0x0} - -/* f (102) */ -#define NXFONT_METRICS_102 {1, 5, 8, 0, 0, 0} -#define NXFONT_BITMAP_102 {0x0, 0x20, 0x50, 0x40, 0xe0, 0x40, 0x40, 0x0} - -/* g (103) */ -#define NXFONT_METRICS_103 {1, 5, 8, 0, 0, 0} -#define NXFONT_BITMAP_103 {0x0, 0x0, 0x0, 0x60, 0x90, 0x70, 0x10, 0x60} - -/* h (104) */ -#define NXFONT_METRICS_104 {1, 5, 8, 0, 0, 0} -#define NXFONT_BITMAP_104 {0x0, 0x80, 0x80, 0xe0, 0x90, 0x90, 0x90, 0x0} - -/* i (105) */ -#define NXFONT_METRICS_105 {1, 5, 8, 0, 0, 0} -#define NXFONT_BITMAP_105 {0x0, 0x20, 0x0, 0x60, 0x20, 0x20, 0x70, 0x0} - -/* j (106) */ -#define NXFONT_METRICS_106 {1, 5, 8, 0, 0, 0} -#define NXFONT_BITMAP_106 {0x0, 0x10, 0x0, 0x10, 0x10, 0x10, 0x50, 0x20} - -/* k (107) */ -#define NXFONT_METRICS_107 {1, 5, 8, 0, 0, 0} -#define NXFONT_BITMAP_107 {0x0, 0x80, 0x80, 0x90, 0xe0, 0x90, 0x90, 0x0} - -/* l (108) */ -#define NXFONT_METRICS_108 {1, 5, 8, 0, 0, 0} -#define NXFONT_BITMAP_108 {0x0, 0x60, 0x20, 0x20, 0x20, 0x20, 0x70, 0x0} - -/* m (109) */ -#define NXFONT_METRICS_109 {1, 5, 8, 0, 0, 0} -#define NXFONT_BITMAP_109 {0x0, 0x0, 0x0, 0xd0, 0xa8, 0xa8, 0xa8, 0x0} - -/* n (110) */ -#define NXFONT_METRICS_110 {1, 5, 8, 0, 0, 0} -#define NXFONT_BITMAP_110 {0x0, 0x0, 0x0, 0xe0, 0x90, 0x90, 0x90, 0x0} - -/* o (111) */ -#define NXFONT_METRICS_111 {1, 5, 8, 0, 0, 0} -#define NXFONT_BITMAP_111 {0x0, 0x0, 0x0, 0x60, 0x90, 0x90, 0x60, 0x0} - -/* p (112) */ -#define NXFONT_METRICS_112 {1, 5, 8, 0, 0, 0} -#define NXFONT_BITMAP_112 {0x0, 0x0, 0x0, 0xe0, 0x90, 0xe0, 0x80, 0x80} - -/* q (113) */ -#define NXFONT_METRICS_113 {1, 5, 8, 0, 0, 0} -#define NXFONT_BITMAP_113 {0x0, 0x0, 0x0, 0x70, 0x90, 0x70, 0x10, 0x10} - -/* r (114) */ -#define NXFONT_METRICS_114 {1, 5, 8, 0, 0, 0} -#define NXFONT_BITMAP_114 {0x0, 0x0, 0x0, 0xa0, 0xd0, 0x80, 0x80, 0x0} - -/* s (115) */ -#define NXFONT_METRICS_115 {1, 5, 8, 0, 0, 0} -#define NXFONT_BITMAP_115 {0x0, 0x0, 0x0, 0x30, 0x60, 0x10, 0x60, 0x0} - -/* t (116) */ -#define NXFONT_METRICS_116 {1, 5, 8, 0, 0, 0} -#define NXFONT_BITMAP_116 {0x0, 0x40, 0x40, 0xe0, 0x40, 0x50, 0x20, 0x0} - -/* u (117) */ -#define NXFONT_METRICS_117 {1, 5, 8, 0, 0, 0} -#define NXFONT_BITMAP_117 {0x0, 0x0, 0x0, 0x90, 0x90, 0x90, 0x70, 0x0} - -/* v (118) */ -#define NXFONT_METRICS_118 {1, 5, 8, 0, 0, 0} -#define NXFONT_BITMAP_118 {0x0, 0x0, 0x0, 0x50, 0x50, 0x50, 0x20, 0x0} - -/* w (119) */ -#define NXFONT_METRICS_119 {1, 5, 8, 0, 0, 0} -#define NXFONT_BITMAP_119 {0x0, 0x0, 0x0, 0x88, 0xa8, 0xa8, 0x50, 0x0} - -/* x (120) */ -#define NXFONT_METRICS_120 {1, 5, 8, 0, 0, 0} -#define NXFONT_BITMAP_120 {0x0, 0x0, 0x0, 0x90, 0x60, 0x60, 0x90, 0x0} - -/* y (121) */ -#define NXFONT_METRICS_121 {1, 5, 8, 0, 0, 0} -#define NXFONT_BITMAP_121 {0x0, 0x0, 0x0, 0x90, 0x90, 0x70, 0x90, 0x60} - -/* z (122) */ -#define NXFONT_METRICS_122 {1, 5, 8, 0, 0, 0} -#define NXFONT_BITMAP_122 {0x0, 0x0, 0x0, 0xf0, 0x20, 0x40, 0xf0, 0x0} - -/* braceleft (123) */ -#define NXFONT_METRICS_123 {1, 5, 8, 0, 0, 0} -#define NXFONT_BITMAP_123 {0x30, 0x40, 0x20, 0xc0, 0x20, 0x40, 0x30, 0x0} - -/* bar (124) */ -#define NXFONT_METRICS_124 {1, 5, 8, 0, 0, 0} -#define NXFONT_BITMAP_124 {0x0, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x0} - -/* braceright (125) */ -#define NXFONT_METRICS_125 {1, 5, 8, 0, 0, 0} -#define NXFONT_BITMAP_125 {0xc0, 0x20, 0x40, 0x30, 0x40, 0x20, 0xc0, 0x0} - -/* asciitilde (126) */ -#define NXFONT_METRICS_126 {1, 5, 8, 0, 0, 0} -#define NXFONT_BITMAP_126 {0x0, 0x50, 0xa0, 0x0, 0x0, 0x0, 0x0, 0x0} - -/* exclamdown (161) */ -#define NXFONT_METRICS_161 {1, 5, 8, 0, 0, 0} -#define NXFONT_BITMAP_161 {0x0, 0x20, 0x0, 0x20, 0x20, 0x20, 0x20, 0x0} - -/* cent (162) */ -#define NXFONT_METRICS_162 {1, 5, 8, 0, 0, 0} -#define NXFONT_BITMAP_162 {0x0, 0x0, 0x20, 0x70, 0xa0, 0xa0, 0x70, 0x20} - -/* sterling (163) */ -#define NXFONT_METRICS_163 {1, 5, 8, 0, 0, 0} -#define NXFONT_BITMAP_163 {0x0, 0x20, 0x50, 0xe0, 0x40, 0x50, 0xa0, 0x0} - -/* currency (164) */ -#define NXFONT_METRICS_164 {1, 5, 8, 0, 0, 0} -#define NXFONT_BITMAP_164 {0x0, 0x0, 0x88, 0x70, 0x50, 0x70, 0x88, 0x0} - -/* yen (165) */ -#define NXFONT_METRICS_165 {1, 5, 8, 0, 0, 0} -#define NXFONT_BITMAP_165 {0x0, 0x88, 0x50, 0xf8, 0x20, 0xf8, 0x20, 0x0} - -/* brokenbar (166) */ -#define NXFONT_METRICS_166 {1, 5, 8, 0, 0, 0} -#define NXFONT_BITMAP_166 {0x20, 0x20, 0x20, 0x0, 0x20, 0x20, 0x20, 0x0} - -/* section (167) */ -#define NXFONT_METRICS_167 {1, 5, 8, 0, 0, 0} -#define NXFONT_BITMAP_167 {0x70, 0x80, 0xe0, 0x90, 0x70, 0x10, 0xe0, 0x0} - -/* dieresis (168) */ -#define NXFONT_METRICS_168 {1, 5, 8, 0, 0, 0} -#define NXFONT_BITMAP_168 {0x0, 0x50, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0} - -/* copyright (169) */ -#define NXFONT_METRICS_169 {1, 5, 8, 0, 0, 0} -#define NXFONT_BITMAP_169 {0x0, 0x70, 0xa8, 0xc8, 0xc8, 0xa8, 0x70, 0x0} - -/* ordfeminine (170) */ -#define NXFONT_METRICS_170 {1, 5, 8, 0, 0, 0} -#define NXFONT_BITMAP_170 {0x30, 0x50, 0x30, 0x0, 0x70, 0x0, 0x0, 0x0} - -/* guillemotleft (171) */ -#define NXFONT_METRICS_171 {1, 5, 8, 0, 0, 0} -#define NXFONT_BITMAP_171 {0x0, 0x0, 0x0, 0x50, 0xa0, 0x50, 0x0, 0x0} - -/* logicalnot (172) */ -#define NXFONT_METRICS_172 {1, 5, 8, 0, 0, 0} -#define NXFONT_BITMAP_172 {0x0, 0x0, 0x0, 0x0, 0x70, 0x10, 0x10, 0x0} - -/* hyphen (173) */ -#define NXFONT_METRICS_173 {1, 5, 8, 0, 0, 0} -#define NXFONT_BITMAP_173 {0x0, 0x0, 0x0, 0x0, 0x70, 0x0, 0x0, 0x0} - -/* registered (174) */ -#define NXFONT_METRICS_174 {1, 5, 8, 0, 0, 0} -#define NXFONT_BITMAP_174 {0x0, 0x70, 0xe8, 0xd8, 0xe8, 0xd8, 0x70, 0x0} - -/* macron (175) */ -#define NXFONT_METRICS_175 {1, 5, 8, 0, 0, 0} -#define NXFONT_BITMAP_175 {0x0, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0} - -/* degree (176) */ -#define NXFONT_METRICS_176 {1, 5, 8, 0, 0, 0} -#define NXFONT_BITMAP_176 {0x0, 0x20, 0x50, 0x20, 0x0, 0x0, 0x0, 0x0} - -/* plusminus (177) */ -#define NXFONT_METRICS_177 {1, 5, 8, 0, 0, 0} -#define NXFONT_BITMAP_177 {0x0, 0x0, 0x20, 0x70, 0x20, 0x0, 0x70, 0x0} - -/* twosuperior (178) */ -#define NXFONT_METRICS_178 {1, 5, 8, 0, 0, 0} -#define NXFONT_BITMAP_178 {0x20, 0x50, 0x10, 0x20, 0x70, 0x0, 0x0, 0x0} - -/* threesuperior (179) */ -#define NXFONT_METRICS_179 {1, 5, 8, 0, 0, 0} -#define NXFONT_BITMAP_179 {0x60, 0x10, 0x60, 0x10, 0x60, 0x0, 0x0, 0x0} - -/* acute (180) */ -#define NXFONT_METRICS_180 {1, 5, 8, 0, 0, 0} -#define NXFONT_BITMAP_180 {0x0, 0x20, 0x40, 0x0, 0x0, 0x0, 0x0, 0x0} - -/* mu (181) */ -#define NXFONT_METRICS_181 {1, 5, 8, 0, 0, 0} -#define NXFONT_BITMAP_181 {0x0, 0x0, 0x0, 0x90, 0x90, 0x90, 0xe0, 0x80} - -/* paragraph (182) */ -#define NXFONT_METRICS_182 {1, 5, 8, 0, 0, 0} -#define NXFONT_BITMAP_182 {0x0, 0x78, 0xe8, 0xe8, 0x68, 0x28, 0x28, 0x0} - -/* periodcentered (183) */ -#define NXFONT_METRICS_183 {1, 5, 8, 0, 0, 0} -#define NXFONT_BITMAP_183 {0x0, 0x0, 0x0, 0x0, 0x20, 0x0, 0x0, 0x0} - -/* cedilla (184) */ -#define NXFONT_METRICS_184 {1, 5, 8, 0, 0, 0} -#define NXFONT_BITMAP_184 {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x20, 0x40} - -/* onesuperior (185) */ -#define NXFONT_METRICS_185 {1, 5, 8, 0, 0, 0} -#define NXFONT_BITMAP_185 {0x20, 0x60, 0x20, 0x20, 0x70, 0x0, 0x0, 0x0} - -/* ordmasculine (186) */ -#define NXFONT_METRICS_186 {1, 5, 8, 0, 0, 0} -#define NXFONT_BITMAP_186 {0x20, 0x50, 0x20, 0x0, 0x70, 0x0, 0x0, 0x0} - -/* guillemotright (187) */ -#define NXFONT_METRICS_187 {1, 5, 8, 0, 0, 0} -#define NXFONT_BITMAP_187 {0x0, 0x0, 0x0, 0xa0, 0x50, 0xa0, 0x0, 0x0} - -/* onequarter (188) */ -#define NXFONT_METRICS_188 {1, 5, 8, 0, 0, 0} -#define NXFONT_BITMAP_188 {0x80, 0x80, 0x80, 0xa0, 0x60, 0xf0, 0x20, 0x0} - -/* onehalf (189) */ -#define NXFONT_METRICS_189 {1, 5, 8, 0, 0, 0} -#define NXFONT_BITMAP_189 {0x80, 0x80, 0xa0, 0xd0, 0x10, 0x20, 0x70, 0x0} - -/* threequarters (190) */ -#define NXFONT_METRICS_190 {1, 5, 8, 0, 0, 0} -#define NXFONT_BITMAP_190 {0x80, 0x40, 0x80, 0x60, 0xa0, 0xf0, 0x20, 0x0} - -/* questiondown (191) */ -#define NXFONT_METRICS_191 {1, 5, 8, 0, 0, 0} -#define NXFONT_BITMAP_191 {0x0, 0x20, 0x0, 0x20, 0x40, 0x50, 0x20, 0x0} - -/* Agrave (192) */ -#define NXFONT_METRICS_192 {1, 5, 8, 0, 0, 0} -#define NXFONT_BITMAP_192 {0x40, 0x20, 0x60, 0x90, 0xf0, 0x90, 0x90, 0x0} - -/* Aacute (193) */ -#define NXFONT_METRICS_193 {1, 5, 8, 0, 0, 0} -#define NXFONT_BITMAP_193 {0x20, 0x40, 0x60, 0x90, 0xf0, 0x90, 0x90, 0x0} - -/* Acircumflex (194) */ -#define NXFONT_METRICS_194 {1, 5, 8, 0, 0, 0} -#define NXFONT_BITMAP_194 {0x60, 0x90, 0x60, 0x90, 0xf0, 0x90, 0x90, 0x0} - -/* Atilde (195) */ -#define NXFONT_METRICS_195 {1, 5, 8, 0, 0, 0} -#define NXFONT_BITMAP_195 {0x50, 0xa0, 0x60, 0x90, 0xf0, 0x90, 0x90, 0x0} - -/* Adieresis (196) */ -#define NXFONT_METRICS_196 {1, 5, 8, 0, 0, 0} -#define NXFONT_BITMAP_196 {0x90, 0x0, 0x60, 0x90, 0xf0, 0x90, 0x90, 0x0} - -/* Aring (197) */ -#define NXFONT_METRICS_197 {1, 5, 8, 0, 0, 0} -#define NXFONT_BITMAP_197 {0x60, 0x90, 0x60, 0x90, 0xf0, 0x90, 0x90, 0x0} - -/* AE (198) */ -#define NXFONT_METRICS_198 {1, 5, 8, 0, 0, 0} -#define NXFONT_BITMAP_198 {0x0, 0x70, 0xa0, 0xa0, 0xf0, 0xa0, 0xb0, 0x0} - -/* Ccedilla (199) */ -#define NXFONT_METRICS_199 {1, 5, 8, 0, 0, 0} -#define NXFONT_BITMAP_199 {0x0, 0x60, 0x90, 0x80, 0x80, 0x90, 0x60, 0x40} - -/* Egrave (200) */ -#define NXFONT_METRICS_200 {1, 5, 8, 0, 0, 0} -#define NXFONT_BITMAP_200 {0x40, 0x20, 0xf0, 0x80, 0xe0, 0x80, 0xf0, 0x0} - -/* Eacute (201) */ -#define NXFONT_METRICS_201 {1, 5, 8, 0, 0, 0} -#define NXFONT_BITMAP_201 {0x20, 0x40, 0xf0, 0x80, 0xe0, 0x80, 0xf0, 0x0} - -/* Ecircumflex (202) */ -#define NXFONT_METRICS_202 {1, 5, 8, 0, 0, 0} -#define NXFONT_BITMAP_202 {0x60, 0x90, 0xf0, 0x80, 0xe0, 0x80, 0xf0, 0x0} - -/* Edieresis (203) */ -#define NXFONT_METRICS_203 {1, 5, 8, 0, 0, 0} -#define NXFONT_BITMAP_203 {0x90, 0x0, 0xf0, 0x80, 0xe0, 0x80, 0xf0, 0x0} - -/* Igrave (204) */ -#define NXFONT_METRICS_204 {1, 5, 8, 0, 0, 0} -#define NXFONT_BITMAP_204 {0x40, 0x20, 0x70, 0x20, 0x20, 0x20, 0x70, 0x0} - -/* Iacute (205) */ -#define NXFONT_METRICS_205 {1, 5, 8, 0, 0, 0} -#define NXFONT_BITMAP_205 {0x10, 0x20, 0x70, 0x20, 0x20, 0x20, 0x70, 0x0} - -/* Icircumflex (206) */ -#define NXFONT_METRICS_206 {1, 5, 8, 0, 0, 0} -#define NXFONT_BITMAP_206 {0x20, 0x50, 0x70, 0x20, 0x20, 0x20, 0x70, 0x0} - -/* Idieresis (207) */ -#define NXFONT_METRICS_207 {1, 5, 8, 0, 0, 0} -#define NXFONT_BITMAP_207 {0x50, 0x0, 0x70, 0x20, 0x20, 0x20, 0x70, 0x0} - -/* Eth (208) */ -#define NXFONT_METRICS_208 {1, 5, 8, 0, 0, 0} -#define NXFONT_BITMAP_208 {0x0, 0x70, 0x48, 0xe8, 0x48, 0x48, 0x70, 0x0} - -/* Ntilde (209) */ -#define NXFONT_METRICS_209 {1, 5, 8, 0, 0, 0} -#define NXFONT_BITMAP_209 {0x50, 0xa0, 0x90, 0xd0, 0xb0, 0x90, 0x90, 0x0} - -/* Ograve (210) */ -#define NXFONT_METRICS_210 {1, 5, 8, 0, 0, 0} -#define NXFONT_BITMAP_210 {0x40, 0x20, 0x60, 0x90, 0x90, 0x90, 0x60, 0x0} - -/* Oacute (211) */ -#define NXFONT_METRICS_211 {1, 5, 8, 0, 0, 0} -#define NXFONT_BITMAP_211 {0x20, 0x40, 0x60, 0x90, 0x90, 0x90, 0x60, 0x0} - -/* Ocircumflex (212) */ -#define NXFONT_METRICS_212 {1, 5, 8, 0, 0, 0} -#define NXFONT_BITMAP_212 {0x60, 0x90, 0x60, 0x90, 0x90, 0x90, 0x60, 0x0} - -/* Otilde (213) */ -#define NXFONT_METRICS_213 {1, 5, 8, 0, 0, 0} -#define NXFONT_BITMAP_213 {0x50, 0xa0, 0x60, 0x90, 0x90, 0x90, 0x60, 0x0} - -/* Odieresis (214) */ -#define NXFONT_METRICS_214 {1, 5, 8, 0, 0, 0} -#define NXFONT_BITMAP_214 {0x90, 0x0, 0x60, 0x90, 0x90, 0x90, 0x60, 0x0} - -/* multiply (215) */ -#define NXFONT_METRICS_215 {1, 5, 8, 0, 0, 0} -#define NXFONT_BITMAP_215 {0x0, 0x0, 0x0, 0x0, 0x50, 0x20, 0x50, 0x0} - -/* Oslash (216) */ -#define NXFONT_METRICS_216 {1, 5, 8, 0, 0, 0} -#define NXFONT_BITMAP_216 {0x0, 0x70, 0xb0, 0xb0, 0xd0, 0xd0, 0xe0, 0x0} - -/* Ugrave (217) */ -#define NXFONT_METRICS_217 {1, 5, 8, 0, 0, 0} -#define NXFONT_BITMAP_217 {0x40, 0x20, 0x90, 0x90, 0x90, 0x90, 0x60, 0x0} - -/* Uacute (218) */ -#define NXFONT_METRICS_218 {1, 5, 8, 0, 0, 0} -#define NXFONT_BITMAP_218 {0x20, 0x40, 0x90, 0x90, 0x90, 0x90, 0x60, 0x0} - -/* Ucircumflex (219) */ -#define NXFONT_METRICS_219 {1, 5, 8, 0, 0, 0} -#define NXFONT_BITMAP_219 {0x60, 0x90, 0x90, 0x90, 0x90, 0x90, 0x60, 0x0} - -/* Udieresis (220) */ -#define NXFONT_METRICS_220 {1, 5, 8, 0, 0, 0} -#define NXFONT_BITMAP_220 {0x90, 0x0, 0x90, 0x90, 0x90, 0x90, 0x60, 0x0} - -/* Yacute (221) */ -#define NXFONT_METRICS_221 {1, 5, 8, 0, 0, 0} -#define NXFONT_BITMAP_221 {0x10, 0x20, 0x88, 0x50, 0x20, 0x20, 0x20, 0x0} - -/* Thorn (222) */ -#define NXFONT_METRICS_222 {1, 5, 8, 0, 0, 0} -#define NXFONT_BITMAP_222 {0x0, 0x80, 0xe0, 0x90, 0x90, 0xe0, 0x80, 0x0} - -/* germandbls (223) */ -#define NXFONT_METRICS_223 {1, 5, 8, 0, 0, 0} -#define NXFONT_BITMAP_223 {0x0, 0x60, 0x90, 0xa0, 0xa0, 0x90, 0xa0, 0x0} - -/* agrave (224) */ -#define NXFONT_METRICS_224 {1, 5, 8, 0, 0, 0} -#define NXFONT_BITMAP_224 {0x40, 0x20, 0x0, 0x70, 0x90, 0x90, 0x70, 0x0} - -/* aacute (225) */ -#define NXFONT_METRICS_225 {1, 5, 8, 0, 0, 0} -#define NXFONT_BITMAP_225 {0x20, 0x40, 0x0, 0x70, 0x90, 0x90, 0x70, 0x0} - -/* acircumflex (226) */ -#define NXFONT_METRICS_226 {1, 5, 8, 0, 0, 0} -#define NXFONT_BITMAP_226 {0x20, 0x50, 0x0, 0x70, 0x90, 0x90, 0x70, 0x0} - -/* atilde (227) */ -#define NXFONT_METRICS_227 {1, 5, 8, 0, 0, 0} -#define NXFONT_BITMAP_227 {0x50, 0xa0, 0x0, 0x70, 0x90, 0x90, 0x70, 0x0} - -/* adieresis (228) */ -#define NXFONT_METRICS_228 {1, 5, 8, 0, 0, 0} -#define NXFONT_BITMAP_228 {0x0, 0x50, 0x0, 0x70, 0x90, 0x90, 0x70, 0x0} - -/* aring (229) */ -#define NXFONT_METRICS_229 {1, 5, 8, 0, 0, 0} -#define NXFONT_BITMAP_229 {0x60, 0x90, 0x60, 0x70, 0x90, 0x90, 0x70, 0x0} - -/* ae (230) */ -#define NXFONT_METRICS_230 {1, 5, 8, 0, 0, 0} -#define NXFONT_BITMAP_230 {0x0, 0x0, 0x0, 0xf0, 0x68, 0xb0, 0x78, 0x0} - -/* ccedilla (231) */ -#define NXFONT_METRICS_231 {1, 5, 8, 0, 0, 0} -#define NXFONT_BITMAP_231 {0x0, 0x0, 0x0, 0x30, 0x40, 0x40, 0x30, 0x20} - -/* egrave (232) */ -#define NXFONT_METRICS_232 {1, 5, 8, 0, 0, 0} -#define NXFONT_BITMAP_232 {0x40, 0x20, 0x0, 0x60, 0xb0, 0xc0, 0x60, 0x0} - -/* eacute (233) */ -#define NXFONT_METRICS_233 {1, 5, 8, 0, 0, 0} -#define NXFONT_BITMAP_233 {0x20, 0x40, 0x0, 0x60, 0xb0, 0xc0, 0x60, 0x0} - -/* ecircumflex (234) */ -#define NXFONT_METRICS_234 {1, 5, 8, 0, 0, 0} -#define NXFONT_BITMAP_234 {0x60, 0x90, 0x0, 0x60, 0xb0, 0xc0, 0x60, 0x0} - -/* edieresis (235) */ -#define NXFONT_METRICS_235 {1, 5, 8, 0, 0, 0} -#define NXFONT_BITMAP_235 {0x0, 0x50, 0x0, 0x60, 0xb0, 0xc0, 0x60, 0x0} - -/* igrave (236) */ -#define NXFONT_METRICS_236 {1, 5, 8, 0, 0, 0} -#define NXFONT_BITMAP_236 {0x40, 0x20, 0x0, 0x60, 0x20, 0x20, 0x70, 0x0} - -/* iacute (237) */ -#define NXFONT_METRICS_237 {1, 5, 8, 0, 0, 0} -#define NXFONT_BITMAP_237 {0x10, 0x20, 0x0, 0x60, 0x20, 0x20, 0x70, 0x0} - -/* icircumflex (238) */ -#define NXFONT_METRICS_238 {1, 5, 8, 0, 0, 0} -#define NXFONT_BITMAP_238 {0x20, 0x50, 0x0, 0x60, 0x20, 0x20, 0x70, 0x0} - -/* idieresis (239) */ -#define NXFONT_METRICS_239 {1, 5, 8, 0, 0, 0} -#define NXFONT_BITMAP_239 {0x0, 0x50, 0x0, 0x60, 0x20, 0x20, 0x70, 0x0} - -/* eth (240) */ -#define NXFONT_METRICS_240 {1, 5, 8, 0, 0, 0} -#define NXFONT_BITMAP_240 {0xa0, 0x40, 0xa0, 0x10, 0x70, 0x90, 0x60, 0x0} - -/* ntilde (241) */ -#define NXFONT_METRICS_241 {1, 5, 8, 0, 0, 0} -#define NXFONT_BITMAP_241 {0x50, 0xa0, 0x0, 0xe0, 0x90, 0x90, 0x90, 0x0} - -/* ograve (242) */ -#define NXFONT_METRICS_242 {1, 5, 8, 0, 0, 0} -#define NXFONT_BITMAP_242 {0x40, 0x20, 0x0, 0x60, 0x90, 0x90, 0x60, 0x0} - -/* oacute (243) */ -#define NXFONT_METRICS_243 {1, 5, 8, 0, 0, 0} -#define NXFONT_BITMAP_243 {0x20, 0x40, 0x0, 0x60, 0x90, 0x90, 0x60, 0x0} - -/* ocircumflex (244) */ -#define NXFONT_METRICS_244 {1, 5, 8, 0, 0, 0} -#define NXFONT_BITMAP_244 {0x60, 0x90, 0x0, 0x60, 0x90, 0x90, 0x60, 0x0} - -/* otilde (245) */ -#define NXFONT_METRICS_245 {1, 5, 8, 0, 0, 0} -#define NXFONT_BITMAP_245 {0x50, 0xa0, 0x0, 0x60, 0x90, 0x90, 0x60, 0x0} - -/* odieresis (246) */ -#define NXFONT_METRICS_246 {1, 5, 8, 0, 0, 0} -#define NXFONT_BITMAP_246 {0x0, 0x90, 0x0, 0x60, 0x90, 0x90, 0x60, 0x0} - -/* divide (247) */ -#define NXFONT_METRICS_247 {1, 5, 8, 0, 0, 0} -#define NXFONT_BITMAP_247 {0x0, 0x0, 0x20, 0x0, 0x70, 0x0, 0x20, 0x0} - -/* oslash (248) */ -#define NXFONT_METRICS_248 {1, 5, 8, 0, 0, 0} -#define NXFONT_BITMAP_248 {0x0, 0x0, 0x0, 0x70, 0xb0, 0xd0, 0xe0, 0x0} - -/* ugrave (249) */ -#define NXFONT_METRICS_249 {1, 5, 8, 0, 0, 0} -#define NXFONT_BITMAP_249 {0x40, 0x20, 0x0, 0x90, 0x90, 0x90, 0x70, 0x0} - -/* uacute (250) */ -#define NXFONT_METRICS_250 {1, 5, 8, 0, 0, 0} -#define NXFONT_BITMAP_250 {0x20, 0x40, 0x0, 0x90, 0x90, 0x90, 0x70, 0x0} - -/* ucircumflex (251) */ -#define NXFONT_METRICS_251 {1, 5, 8, 0, 0, 0} -#define NXFONT_BITMAP_251 {0x60, 0x90, 0x0, 0x90, 0x90, 0x90, 0x70, 0x0} - -/* udieresis (252) */ -#define NXFONT_METRICS_252 {1, 5, 8, 0, 0, 0} -#define NXFONT_BITMAP_252 {0x0, 0x90, 0x0, 0x90, 0x90, 0x90, 0x70, 0x0} - -/* yacute (253) */ -#define NXFONT_METRICS_253 {1, 5, 8, 0, 0, 0} -#define NXFONT_BITMAP_253 {0x20, 0x40, 0x0, 0x90, 0x90, 0x70, 0x90, 0x60} - -/* thorn (254) */ -#define NXFONT_METRICS_254 {1, 5, 8, 0, 0, 0} -#define NXFONT_BITMAP_254 {0x0, 0x80, 0x80, 0xe0, 0x90, 0xe0, 0x80, 0x80} - -/* ydieresis (255) */ -#define NXFONT_METRICS_255 {1, 5, 8, 0, 0, 0} -#define NXFONT_BITMAP_255 {0x0, 0x90, 0x0, 0x90, 0x90, 0x70, 0x90, 0x60} - -#endif diff --git a/nuttx/graphics/nxfonts/nxfonts_sans17x22.h b/nuttx/graphics/nxfonts/nxfonts_sans17x22.h deleted file mode 100644 index cea027447..000000000 --- a/nuttx/graphics/nxfonts/nxfonts_sans17x22.h +++ /dev/null @@ -1,849 +0,0 @@ -/**************************************************************************** - * graphics/nxfonts/nxfonts_serif30x26.h - * - * Copyright (C) 2011-2012 NX Engineering, S.A., All rights reserved. - * Author: Gregory Nutt <gnutt@nuttx.org> - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * 3. Neither the name NuttX nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT} - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING} - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - ****************************************************************************/ - -#ifndef __GRAPHICS_NXFONTS_NXFONTS_SANS17X22_H -#define __GRAPHICS_NXFONTS_NXFONTS_SANS17X22_H - -/**************************************************************************** - * Included Files - ****************************************************************************/ - -/**************************************************************************** - * Pre-Processor Definitions - ****************************************************************************/ - -/* Font ID */ - -#define NXFONT_ID FONTID_SANS17X22 - -/* Ranges of 7-bit and 8-bit fonts */ - -#define NXFONT_MIN7BIT 33 -#define NXFONT_MAX7BIT 126 - -#define NXFONT_MIN8BIT 161 -#define NXFONT_MAX8BIT 255 - -/* Maximum height and width of any glyph in the set */ - -#define NXFONT_MAXHEIGHT 22 -#define NXFONT_MAXWIDTH 17 - -/* The width of a space */ - -#define NXFONT_SPACEWIDTH 4 - -/* exclam (33) */ -#define NXFONT_METRICS_33 {1, 1, 11, 2, 6, 0} -#define NXFONT_BITMAP_33 {0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x0, 0x80, 0x80} - -/* quotedbl (34) */ -#define NXFONT_METRICS_34 {1, 3, 3, 1, 6, 0} -#define NXFONT_BITMAP_34 {0xa0, 0xa0, 0xa0} - -/* numbersign (35) */ -#define NXFONT_METRICS_35 {1, 7, 10, 0, 7, 0} -#define NXFONT_BITMAP_35 {0x14, 0x14, 0x14, 0x7e, 0x28, 0x28, 0xfc, 0x50, 0x50, 0x50} - -/* dollar (36) */ -#define NXFONT_METRICS_36 {1, 7, 14, 0, 5, 0} -#define NXFONT_BITMAP_36 {0x10, 0x7c, 0x92, 0x92, 0x90, 0x50, 0x38, 0x14, 0x12, 0x92, 0x92, 0x7c, 0x10, 0x10} - -/* percent (37) */ -#define NXFONT_METRICS_37 {2, 11, 11, 0, 6, 0} -#define NXFONT_BITMAP_37 {0x70, 0x80, 0x89, 0x0, 0x89, 0x0, 0x72, 0x0, 0x2, 0x0, 0x4, 0x0, 0x8, 0x0, 0x9, 0xc0, 0x12, 0x20, 0x12, 0x20, 0x21, 0xc0} - -/* ampersand (38) */ -#define NXFONT_METRICS_38 {1, 8, 10, 1, 7, 0} -#define NXFONT_BITMAP_38 {0x30, 0x48, 0x48, 0x30, 0x20, 0x52, 0x8a, 0x84, 0x8a, 0x71} - -/* quotesingle (39) */ -#define NXFONT_METRICS_39 {1, 1, 3, 1, 6, 0} -#define NXFONT_BITMAP_39 {0x80, 0x80, 0x80} - -/* parenleft (40) */ -#define NXFONT_METRICS_40 {1, 3, 14, 1, 6, 0} -#define NXFONT_BITMAP_40 {0x20, 0x40, 0x40, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x40, 0x40, 0x20} - -/* parenright (41) */ -#define NXFONT_METRICS_41 {1, 3, 14, 1, 6, 0} -#define NXFONT_BITMAP_41 {0x80, 0x40, 0x40, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x40, 0x40, 0x80} - -/* asterisk (42) */ -#define NXFONT_METRICS_42 {1, 5, 5, 1, 6, 0} -#define NXFONT_BITMAP_42 {0x20, 0xa8, 0x70, 0xa8, 0x20} - -/* plus (43) */ -#define NXFONT_METRICS_43 {1, 7, 7, 1, 9, 0} -#define NXFONT_BITMAP_43 {0x10, 0x10, 0x10, 0xfe, 0x10, 0x10, 0x10} - -/* comma (44) */ -#define NXFONT_METRICS_44 {1, 2, 4, 0, 15, 0} -#define NXFONT_BITMAP_44 {0x40, 0x40, 0x40, 0x80} - -/* hyphen (45) */ -#define NXFONT_METRICS_45 {1, 3, 1, 0, 12, 0} -#define NXFONT_BITMAP_45 {0xe0} - -/* period (46) */ -#define NXFONT_METRICS_46 {1, 1, 2, 1, 15, 0} -#define NXFONT_BITMAP_46 {0x80, 0x80} - -/* slash (47) */ -#define NXFONT_METRICS_47 {1, 4, 11, 0, 6, 0} -#define NXFONT_BITMAP_47 {0x10, 0x10, 0x20, 0x20, 0x20, 0x40, 0x40, 0x40, 0x80, 0x80, 0x80} - -/* zero (48) */ -#define NXFONT_METRICS_48 {1, 6, 11, 1, 6, 0} -#define NXFONT_BITMAP_48 {0x78, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x78} - -/* one (49) */ -#define NXFONT_METRICS_49 {1, 3, 11, 2, 6, 0} -#define NXFONT_BITMAP_49 {0x20, 0xe0, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20} - -/* two (50) */ -#define NXFONT_METRICS_50 {1, 6, 11, 1, 6, 0} -#define NXFONT_BITMAP_50 {0x78, 0x84, 0x84, 0x4, 0x8, 0x10, 0x20, 0x40, 0x80, 0x80, 0xfc} - -/* three (51) */ -#define NXFONT_METRICS_51 {1, 6, 11, 1, 6, 0} -#define NXFONT_BITMAP_51 {0x78, 0x84, 0x84, 0x4, 0x4, 0x38, 0x4, 0x4, 0x84, 0x84, 0x78} - -/* four (52) */ -#define NXFONT_METRICS_52 {1, 7, 11, 1, 6, 0} -#define NXFONT_BITMAP_52 {0x4, 0xc, 0x14, 0x24, 0x44, 0x84, 0x84, 0xfe, 0x4, 0x4, 0x4} - -/* five (53) */ -#define NXFONT_METRICS_53 {1, 6, 11, 1, 6, 0} -#define NXFONT_BITMAP_53 {0xfc, 0x80, 0x80, 0x80, 0xf8, 0x4, 0x4, 0x4, 0x84, 0x84, 0x78} - -/* six (54) */ -#define NXFONT_METRICS_54 {1, 6, 11, 1, 6, 0} -#define NXFONT_BITMAP_54 {0x78, 0x84, 0x80, 0x80, 0xb8, 0xc4, 0x84, 0x84, 0x84, 0x84, 0x78} - -/* seven (55) */ -#define NXFONT_METRICS_55 {1, 6, 11, 1, 6, 0} -#define NXFONT_BITMAP_55 {0xfc, 0x4, 0x8, 0x8, 0x10, 0x10, 0x20, 0x20, 0x40, 0x40, 0x40} - -/* eight (56) */ -#define NXFONT_METRICS_56 {1, 6, 11, 1, 6, 0} -#define NXFONT_BITMAP_56 {0x78, 0x84, 0x84, 0x84, 0x84, 0x78, 0x84, 0x84, 0x84, 0x84, 0x78} - -/* nine (57) */ -#define NXFONT_METRICS_57 {1, 6, 11, 1, 6, 0} -#define NXFONT_BITMAP_57 {0x78, 0x84, 0x84, 0x84, 0x84, 0x7c, 0x4, 0x4, 0x84, 0x84, 0x78} - -/* colon (58) */ -#define NXFONT_METRICS_58 {1, 1, 8, 1, 9, 0} -#define NXFONT_BITMAP_58 {0x80, 0x80, 0x0, 0x0, 0x0, 0x0, 0x80, 0x80} - -/* semicolon (59) */ -#define NXFONT_METRICS_59 {1, 2, 10, 0, 9, 0} -#define NXFONT_BITMAP_59 {0x40, 0x40, 0x0, 0x0, 0x0, 0x0, 0x40, 0x40, 0x40, 0x80} - -/* less (60) */ -#define NXFONT_METRICS_60 {1, 6, 5, 1, 10, 0} -#define NXFONT_BITMAP_60 {0xc, 0x30, 0xc0, 0x30, 0xc} - -/* equal (61) */ -#define NXFONT_METRICS_61 {1, 6, 3, 1, 11, 0} -#define NXFONT_BITMAP_61 {0xfc, 0x0, 0xfc} - -/* greater (62) */ -#define NXFONT_METRICS_62 {1, 6, 5, 1, 10, 0} -#define NXFONT_BITMAP_62 {0xc0, 0x30, 0xc, 0x30, 0xc0} - -/* question (63) */ -#define NXFONT_METRICS_63 {1, 6, 11, 1, 6, 0} -#define NXFONT_BITMAP_63 {0x30, 0xcc, 0x84, 0x84, 0x4, 0x8, 0x10, 0x20, 0x0, 0x20, 0x20} - -/* at (64) */ -#define NXFONT_METRICS_64 {2, 11, 12, 1, 6, 0} -#define NXFONT_BITMAP_64 {0xf, 0x0, 0x30, 0xc0, 0x40, 0x20, 0x46, 0xa0, 0x89, 0x20, 0x91, 0x20, 0x91, 0x20, 0x93, 0x40, 0x8d, 0x80, 0x40, 0x0, 0x60, 0x80, 0x1f, 0x0} - -/* A (65) */ -#define NXFONT_METRICS_65 {2, 9, 11, 0, 6, 0} -#define NXFONT_BITMAP_65 {0x8, 0x0, 0x1c, 0x0, 0x14, 0x0, 0x14, 0x0, 0x22, 0x0, 0x22, 0x0, 0x41, 0x0, 0x7f, 0x0, 0x41, 0x0, 0x80, 0x80, 0x80, 0x80} - -/* B (66) */ -#define NXFONT_METRICS_66 {1, 7, 11, 1, 6, 0} -#define NXFONT_BITMAP_66 {0xfc, 0x86, 0x82, 0x82, 0x84, 0xf8, 0x84, 0x82, 0x82, 0x86, 0xfc} - -/* C (67) */ -#define NXFONT_METRICS_67 {1, 8, 11, 1, 6, 0} -#define NXFONT_BITMAP_67 {0x1c, 0x63, 0x41, 0x80, 0x80, 0x80, 0x80, 0x80, 0x41, 0x63, 0x1c} - -/* D (68) */ -#define NXFONT_METRICS_68 {1, 8, 11, 1, 6, 0} -#define NXFONT_BITMAP_68 {0xf8, 0x86, 0x82, 0x81, 0x81, 0x81, 0x81, 0x81, 0x82, 0x86, 0xf8} - -/* E (69) */ -#define NXFONT_METRICS_69 {1, 7, 11, 1, 6, 0} -#define NXFONT_BITMAP_69 {0xfe, 0x80, 0x80, 0x80, 0x80, 0xfc, 0x80, 0x80, 0x80, 0x80, 0xfe} - -/* F (70) */ -#define NXFONT_METRICS_70 {1, 7, 11, 1, 6, 0} -#define NXFONT_BITMAP_70 {0xfe, 0x80, 0x80, 0x80, 0x80, 0xfc, 0x80, 0x80, 0x80, 0x80, 0x80} - -/* G (71) */ -#define NXFONT_METRICS_71 {2, 9, 11, 1, 6, 0} -#define NXFONT_BITMAP_71 {0x1e, 0x0, 0x61, 0x80, 0x40, 0x80, 0x80, 0x0, 0x80, 0x0, 0x87, 0x80, 0x80, 0x80, 0x80, 0x80, 0x40, 0x80, 0x63, 0x80, 0x1c, 0x80} - -/* H (72) */ -#define NXFONT_METRICS_72 {1, 8, 11, 1, 6, 0} -#define NXFONT_BITMAP_72 {0x81, 0x81, 0x81, 0x81, 0x81, 0xff, 0x81, 0x81, 0x81, 0x81, 0x81} - -/* I (73) */ -#define NXFONT_METRICS_73 {1, 1, 11, 2, 6, 0} -#define NXFONT_BITMAP_73 {0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80} - -/* J (74) */ -#define NXFONT_METRICS_74 {1, 6, 11, 0, 6, 0} -#define NXFONT_BITMAP_74 {0x4, 0x4, 0x4, 0x4, 0x4, 0x4, 0x4, 0x4, 0x84, 0x84, 0x78} - -/* K (75) */ -#define NXFONT_METRICS_75 {1, 8, 11, 1, 6, 0} -#define NXFONT_BITMAP_75 {0x82, 0x84, 0x88, 0x90, 0xa0, 0xe0, 0x90, 0x88, 0x84, 0x82, 0x81} - -/* L (76) */ -#define NXFONT_METRICS_76 {1, 6, 11, 2, 6, 0} -#define NXFONT_BITMAP_76 {0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0xfc} - -/* M (77) */ -#define NXFONT_METRICS_77 {2, 11, 11, 0, 6, 0} -#define NXFONT_BITMAP_77 {0x80, 0x20, 0xc0, 0x60, 0xc0, 0x60, 0xa0, 0xa0, 0xa0, 0xa0, 0x91, 0x20, 0x91, 0x20, 0x8a, 0x20, 0x8a, 0x20, 0x84, 0x20, 0x84, 0x20} - -/* N (78) */ -#define NXFONT_METRICS_78 {1, 8, 11, 1, 6, 0} -#define NXFONT_BITMAP_78 {0xc1, 0xa1, 0xa1, 0x91, 0x91, 0x89, 0x89, 0x85, 0x85, 0x83, 0x83} - -/* O (79) */ -#define NXFONT_METRICS_79 {2, 9, 11, 1, 6, 0} -#define NXFONT_BITMAP_79 {0x1c, 0x0, 0x63, 0x0, 0x41, 0x0, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x41, 0x0, 0x63, 0x0, 0x1c, 0x0} - -/* P (80) */ -#define NXFONT_METRICS_80 {1, 7, 11, 1, 6, 0} -#define NXFONT_BITMAP_80 {0xfc, 0x86, 0x82, 0x82, 0x86, 0xfc, 0x80, 0x80, 0x80, 0x80, 0x80} - -/* Q (81) */ -#define NXFONT_METRICS_81 {2, 9, 11, 1, 6, 0} -#define NXFONT_BITMAP_81 {0x1c, 0x0, 0x63, 0x0, 0x41, 0x0, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x88, 0x80, 0x84, 0x80, 0x43, 0x0, 0x63, 0x0, 0x1c, 0x80} - -/* R (82) */ -#define NXFONT_METRICS_82 {1, 8, 11, 1, 6, 0} -#define NXFONT_BITMAP_82 {0xfe, 0x83, 0x81, 0x81, 0x82, 0xfc, 0x82, 0x81, 0x81, 0x81, 0x81} - -/* S (83) */ -#define NXFONT_METRICS_83 {1, 7, 11, 1, 6, 0} -#define NXFONT_BITMAP_83 {0x38, 0xc6, 0x82, 0x80, 0x60, 0x18, 0x6, 0x2, 0x82, 0xc6, 0x38} - -/* T (84) */ -#define NXFONT_METRICS_84 {2, 9, 11, 0, 6, 0} -#define NXFONT_BITMAP_84 {0xff, 0x80, 0x8, 0x0, 0x8, 0x0, 0x8, 0x0, 0x8, 0x0, 0x8, 0x0, 0x8, 0x0, 0x8, 0x0, 0x8, 0x0, 0x8, 0x0, 0x8, 0x0} - -/* U (85) */ -#define NXFONT_METRICS_85 {1, 8, 11, 1, 6, 0} -#define NXFONT_BITMAP_85 {0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x42, 0x3c} - -/* V (86) */ -#define NXFONT_METRICS_86 {2, 9, 11, 0, 6, 0} -#define NXFONT_BITMAP_86 {0x80, 0x80, 0x80, 0x80, 0x41, 0x0, 0x41, 0x0, 0x63, 0x0, 0x22, 0x0, 0x22, 0x0, 0x14, 0x0, 0x14, 0x0, 0x8, 0x0, 0x8, 0x0} - -/* W (87) */ -#define NXFONT_METRICS_87 {2, 13, 11, 0, 6, 0} -#define NXFONT_BITMAP_87 {0x82, 0x8, 0x82, 0x8, 0x85, 0x8, 0x45, 0x10, 0x45, 0x10, 0x45, 0x10, 0x28, 0xa0, 0x28, 0xa0, 0x28, 0xa0, 0x10, 0x40, 0x10, 0x40} - -/* X (88) */ -#define NXFONT_METRICS_88 {2, 9, 11, 0, 6, 0} -#define NXFONT_BITMAP_88 {0x80, 0x80, 0x41, 0x0, 0x22, 0x0, 0x14, 0x0, 0x8, 0x0, 0x8, 0x0, 0x14, 0x0, 0x22, 0x0, 0x41, 0x0, 0x41, 0x0, 0x80, 0x80} - -/* Y (89) */ -#define NXFONT_METRICS_89 {2, 9, 11, 0, 6, 0} -#define NXFONT_BITMAP_89 {0x80, 0x80, 0xc1, 0x80, 0x41, 0x0, 0x22, 0x0, 0x22, 0x0, 0x14, 0x0, 0x1c, 0x0, 0x8, 0x0, 0x8, 0x0, 0x8, 0x0, 0x8, 0x0} - -/* Z (90) */ -#define NXFONT_METRICS_90 {1, 7, 11, 1, 6, 0} -#define NXFONT_BITMAP_90 {0xfe, 0x2, 0x4, 0x8, 0x18, 0x10, 0x20, 0x60, 0x40, 0x80, 0xfe} - -/* bracketleft (91) */ -#define NXFONT_METRICS_91 {1, 3, 14, 1, 6, 0} -#define NXFONT_BITMAP_91 {0xe0, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0xe0} - -/* backslash (92) */ -#define NXFONT_METRICS_92 {1, 4, 11, 0, 6, 0} -#define NXFONT_BITMAP_92 {0x80, 0x80, 0x40, 0x40, 0x40, 0x20, 0x20, 0x20, 0x10, 0x10, 0x10} - -/* bracketright (93) */ -#define NXFONT_METRICS_93 {1, 3, 14, 0, 6, 0} -#define NXFONT_BITMAP_93 {0xe0, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0xe0} - -/* asciicircum (94) */ -#define NXFONT_METRICS_94 {1, 5, 5, 1, 6, 0} -#define NXFONT_BITMAP_94 {0x20, 0x50, 0x50, 0x88, 0x88} - -/* underscore (95) */ -#define NXFONT_METRICS_95 {1, 8, 1, 0, 19, 0} -#define NXFONT_BITMAP_95 {0xff} - -/* grave (96) */ -#define NXFONT_METRICS_96 {1, 2, 2, 1, 6, 0} -#define NXFONT_BITMAP_96 {0x80, 0x40} - -/* a (97) */ -#define NXFONT_METRICS_97 {1, 7, 8, 1, 9, 0} -#define NXFONT_BITMAP_97 {0x78, 0xcc, 0x4, 0x7c, 0xc4, 0x84, 0xcc, 0x76} - -/* b (98) */ -#define NXFONT_METRICS_98 {1, 6, 11, 1, 6, 0} -#define NXFONT_BITMAP_98 {0x80, 0x80, 0x80, 0xb8, 0xcc, 0x84, 0x84, 0x84, 0x84, 0xcc, 0xb8} - -/* c (99) */ -#define NXFONT_METRICS_99 {1, 6, 8, 1, 9, 0} -#define NXFONT_BITMAP_99 {0x78, 0xcc, 0x80, 0x80, 0x80, 0x84, 0xcc, 0x78} - -/* d (100) */ -#define NXFONT_METRICS_100 {1, 6, 11, 1, 6, 0} -#define NXFONT_BITMAP_100 {0x4, 0x4, 0x4, 0x74, 0xcc, 0x84, 0x84, 0x84, 0x84, 0xcc, 0x74} - -/* e (101) */ -#define NXFONT_METRICS_101 {1, 6, 8, 1, 9, 0} -#define NXFONT_BITMAP_101 {0x78, 0xcc, 0x84, 0xfc, 0x80, 0x80, 0xcc, 0x78} - -/* f (102) */ -#define NXFONT_METRICS_102 {1, 4, 11, 0, 6, 0} -#define NXFONT_BITMAP_102 {0x30, 0x40, 0x40, 0xe0, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40} - -/* g (103) */ -#define NXFONT_METRICS_103 {1, 6, 11, 1, 9, 0} -#define NXFONT_BITMAP_103 {0x74, 0xcc, 0x84, 0x84, 0x84, 0x84, 0xcc, 0x74, 0x4, 0xcc, 0x78} - -/* h (104) */ -#define NXFONT_METRICS_104 {1, 6, 11, 1, 6, 0} -#define NXFONT_BITMAP_104 {0x80, 0x80, 0x80, 0xb8, 0xcc, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84} - -/* i (105) */ -#define NXFONT_METRICS_105 {1, 1, 11, 1, 6, 0} -#define NXFONT_BITMAP_105 {0x80, 0x80, 0x0, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80} - -/* j (106) -- NOTE: Xoffset should be -1, not 0. */ -#define NXFONT_METRICS_106 {1, 3, 14, 0, 6, 0} -#define NXFONT_BITMAP_106 {0x20, 0x20, 0x0, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0xc0} - -/* k (107) */ -#define NXFONT_METRICS_107 {1, 6, 11, 1, 6, 0} -#define NXFONT_BITMAP_107 {0x80, 0x80, 0x80, 0x88, 0x90, 0xa0, 0xc0, 0xa0, 0x90, 0x88, 0x84} - -/* l (108) */ -#define NXFONT_METRICS_108 {1, 1, 11, 1, 6, 0} -#define NXFONT_BITMAP_108 {0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80} - -/* m (109) */ -#define NXFONT_METRICS_109 {2, 9, 8, 1, 9, 0} -#define NXFONT_BITMAP_109 {0xb3, 0x0, 0xcc, 0x80, 0x88, 0x80, 0x88, 0x80, 0x88, 0x80, 0x88, 0x80, 0x88, 0x80, 0x88, 0x80} - -/* n (110) */ -#define NXFONT_METRICS_110 {1, 6, 8, 1, 9, 0} -#define NXFONT_BITMAP_110 {0xb8, 0xcc, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84} - -/* o (111) */ -#define NXFONT_METRICS_111 {1, 6, 8, 1, 9, 0} -#define NXFONT_BITMAP_111 {0x78, 0xcc, 0x84, 0x84, 0x84, 0x84, 0xcc, 0x78} - -/* p (112) */ -#define NXFONT_METRICS_112 {1, 6, 11, 1, 9, 0} -#define NXFONT_BITMAP_112 {0xb8, 0xcc, 0x84, 0x84, 0x84, 0x84, 0xcc, 0xb8, 0x80, 0x80, 0x80} - -/* q (113) */ -#define NXFONT_METRICS_113 {1, 6, 11, 1, 9, 0} -#define NXFONT_BITMAP_113 {0x74, 0xcc, 0x84, 0x84, 0x84, 0x84, 0xcc, 0x74, 0x4, 0x4, 0x4} - -/* r (114) */ -#define NXFONT_METRICS_114 {1, 4, 8, 1, 9, 0} -#define NXFONT_BITMAP_114 {0xb0, 0xc0, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80} - -/* s (115) */ -#define NXFONT_METRICS_115 {1, 5, 8, 1, 9, 0} -#define NXFONT_BITMAP_115 {0x70, 0x88, 0xc0, 0x70, 0x18, 0x8, 0x88, 0x70} - -/* t (116) */ -#define NXFONT_METRICS_116 {1, 4, 10, 0, 7, 0} -#define NXFONT_BITMAP_116 {0x40, 0x40, 0xe0, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x30} - -/* u (117) */ -#define NXFONT_METRICS_117 {1, 6, 8, 1, 9, 0} -#define NXFONT_BITMAP_117 {0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0xcc, 0x74} - -/* v (118) */ -#define NXFONT_METRICS_118 {1, 7, 8, 0, 9, 0} -#define NXFONT_BITMAP_118 {0x82, 0x82, 0x44, 0x44, 0x44, 0x28, 0x28, 0x10} - -/* w (119) */ -#define NXFONT_METRICS_119 {2, 9, 8, 0, 9, 0} -#define NXFONT_BITMAP_119 {0x88, 0x80, 0x88, 0x80, 0x88, 0x80, 0x49, 0x0, 0x49, 0x0, 0x55, 0x0, 0x22, 0x0, 0x22, 0x0} - -/* x (120) */ -#define NXFONT_METRICS_120 {1, 7, 8, 0, 9, 0} -#define NXFONT_BITMAP_120 {0xc6, 0x44, 0x28, 0x10, 0x10, 0x28, 0x44, 0xc6} - -/* y (121) */ -#define NXFONT_METRICS_121 {1, 7, 11, 0, 9, 0} -#define NXFONT_BITMAP_121 {0x82, 0xc2, 0x44, 0x44, 0x24, 0x28, 0x18, 0x10, 0x10, 0x30, 0x60} - -/* z (122) */ -#define NXFONT_METRICS_122 {1, 6, 8, 0, 9, 0} -#define NXFONT_BITMAP_122 {0xfc, 0x4, 0x8, 0x10, 0x20, 0x40, 0x80, 0xfc} - -/* braceleft (123) */ -#define NXFONT_METRICS_123 {1, 5, 14, 0, 6, 0} -#define NXFONT_BITMAP_123 {0x18, 0x20, 0x20, 0x20, 0x20, 0x40, 0x80, 0x40, 0x20, 0x20, 0x20, 0x20, 0x20, 0x18} - -/* bar (124) */ -#define NXFONT_METRICS_124 {1, 1, 14, 1, 6, 0} -#define NXFONT_BITMAP_124 {0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80} - -/* braceright (125) */ -#define NXFONT_METRICS_125 {1, 5, 14, 0, 6, 0} -#define NXFONT_BITMAP_125 {0xc0, 0x20, 0x20, 0x20, 0x20, 0x10, 0x8, 0x10, 0x20, 0x20, 0x20, 0x20, 0x20, 0xc0} - -/* asciitilde (126) */ -#define NXFONT_METRICS_126 {1, 6, 3, 1, 11, 0} -#define NXFONT_BITMAP_126 {0x64, 0xb4, 0x98} - -/* exclamdown (161) */ -#define NXFONT_METRICS_161 {1, 1, 11, 1, 9, 0} -#define NXFONT_BITMAP_161 {0x80, 0x80, 0x0, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80} - -/* cent (162) */ -#define NXFONT_METRICS_162 {1, 6, 10, 1, 8, 0} -#define NXFONT_BITMAP_162 {0x4, 0x78, 0xcc, 0x90, 0x90, 0xa0, 0xa4, 0xcc, 0x78, 0x80} - -/* sterling (163) */ -#define NXFONT_METRICS_163 {1, 7, 11, 0, 6, 0} -#define NXFONT_BITMAP_163 {0x38, 0x44, 0x40, 0x40, 0xf8, 0x20, 0x20, 0x20, 0x40, 0x62, 0xdc} - -/* currency (164) */ -#define NXFONT_METRICS_164 {1, 6, 6, 1, 9, 0} -#define NXFONT_BITMAP_164 {0x84, 0x78, 0x48, 0x48, 0x78, 0x84} - -/* yen (165) */ -#define NXFONT_METRICS_165 {1, 7, 11, 0, 6, 0} -#define NXFONT_BITMAP_165 {0x82, 0x82, 0x82, 0x44, 0x44, 0x28, 0xfe, 0x10, 0xfe, 0x10, 0x10} - -/* brokenbar (166) */ -#define NXFONT_METRICS_166 {1, 1, 14, 1, 6, 0} -#define NXFONT_BITMAP_166 {0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x0, 0x0, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80} - -/* section (167) */ -#define NXFONT_METRICS_167 {1, 5, 14, 2, 6, 0} -#define NXFONT_BITMAP_167 {0x70, 0xd8, 0x88, 0xc0, 0x70, 0x98, 0x88, 0x88, 0xc8, 0x70, 0x18, 0x88, 0xd8, 0x70} - -/* dieresis (168) */ -#define NXFONT_METRICS_168 {1, 5, 1, 0, 7, 0} -#define NXFONT_BITMAP_168 {0xd8} - -/* copyright (169) */ -#define NXFONT_METRICS_169 {2, 10, 11, 1, 6, 0} -#define NXFONT_BITMAP_169 {0x1e, 0x0, 0x61, 0x80, 0x5c, 0x80, 0xa2, 0xc0, 0xa2, 0x40, 0xa0, 0x40, 0xa2, 0x40, 0x9c, 0x40, 0x40, 0x80, 0x61, 0x80, 0x1e, 0x0} - -/* ordfeminine (170) */ -#define NXFONT_METRICS_170 {1, 4, 7, 1, 6, 0} -#define NXFONT_BITMAP_170 {0xe0, 0x10, 0x70, 0x90, 0xd0, 0x0, 0xf0} - -/* guillemotleft (171) */ -#define NXFONT_METRICS_171 {1, 6, 5, 1, 10, 0} -#define NXFONT_BITMAP_171 {0x24, 0x48, 0x90, 0x48, 0x24} - -/* logicalnot (172) */ -#define NXFONT_METRICS_172 {1, 7, 4, 1, 11, 0} -#define NXFONT_BITMAP_172 {0xfe, 0x2, 0x2, 0x2} - -/* hyphen (173) */ -#define NXFONT_METRICS_173 {1, 3, 1, 0, 12, 0} -#define NXFONT_BITMAP_173 {0xe0} - -/* registered (174) */ -#define NXFONT_METRICS_174 {2, 10, 11, 1, 6, 0} -#define NXFONT_BITMAP_174 {0x1e, 0x0, 0x61, 0x80, 0x5c, 0x80, 0x92, 0x40, 0x92, 0x40, 0x9c, 0x40, 0x92, 0x40, 0x92, 0x40, 0x40, 0x80, 0x61, 0x80, 0x1e, 0x0} - -/* macron (175) */ -#define NXFONT_METRICS_175 {1, 4, 1, 0, 7, 0} -#define NXFONT_BITMAP_175 {0xf0} - -/* degree (176) */ -#define NXFONT_METRICS_176 {1, 4, 4, 1, 6, 0} -#define NXFONT_BITMAP_176 {0x60, 0x90, 0x90, 0x60} - -/* plusminus (177) */ -#define NXFONT_METRICS_177 {1, 7, 9, 1, 8, 0} -#define NXFONT_BITMAP_177 {0x10, 0x10, 0x10, 0xfe, 0x10, 0x10, 0x10, 0x0, 0xfe} - -/* twosuperior (178) */ -#define NXFONT_METRICS_178 {1, 4, 6, 0, 6, 0} -#define NXFONT_BITMAP_178 {0x60, 0x90, 0x10, 0x20, 0x40, 0xf0} - -/* threesuperior (179) */ -#define NXFONT_METRICS_179 {1, 4, 6, 0, 6, 0} -#define NXFONT_BITMAP_179 {0x60, 0x90, 0x20, 0x10, 0x90, 0x60} - -/* acute (180) */ -#define NXFONT_METRICS_180 {1, 2, 2, 2, 6, 0} -#define NXFONT_BITMAP_180 {0x40, 0x80} - -/* mu (181) */ -#define NXFONT_METRICS_181 {1, 6, 11, 1, 9, 0} -#define NXFONT_BITMAP_181 {0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0xcc, 0xb4, 0x80, 0x80, 0x80} - -/* paragraph (182) */ -#define NXFONT_METRICS_182 {1, 7, 14, 0, 6, 0} -#define NXFONT_BITMAP_182 {0x3e, 0x74, 0xf4, 0xf4, 0xf4, 0x74, 0x34, 0x14, 0x14, 0x14, 0x14, 0x14, 0x14, 0x14} - -/* periodcentered (183) */ -#define NXFONT_METRICS_183 {1, 2, 1, 1, 12, 0} -#define NXFONT_BITMAP_183 {0xc0} - -/* cedilla (184) */ -#define NXFONT_METRICS_184 {1, 4, 3, 0, 17, 0} -#define NXFONT_BITMAP_184 {0x20, 0x90, 0x60} - -/* onesuperior (185) */ -#define NXFONT_METRICS_185 {1, 2, 6, 1, 6, 0} -#define NXFONT_BITMAP_185 {0x40, 0xc0, 0x40, 0x40, 0x40, 0x40} - -/* ordmasculine (186) */ -#define NXFONT_METRICS_186 {1, 4, 7, 1, 6, 0} -#define NXFONT_BITMAP_186 {0x60, 0x90, 0x90, 0x90, 0x60, 0x0, 0xf0} - -/* guillemotright (187) */ -#define NXFONT_METRICS_187 {1, 6, 5, 1, 10, 0} -#define NXFONT_BITMAP_187 {0x90, 0x48, 0x24, 0x48, 0x90} - -/* onequarter (188) */ -#define NXFONT_METRICS_188 {2, 10, 11, 1, 6, 0} -#define NXFONT_BITMAP_188 {0x42, 0x0, 0xc2, 0x0, 0x44, 0x0, 0x44, 0x0, 0x48, 0x0, 0x48, 0x80, 0x9, 0x80, 0x12, 0x80, 0x14, 0x80, 0x27, 0xc0, 0x20, 0x80} - -/* onehalf (189) */ -#define NXFONT_METRICS_189 {2, 9, 11, 1, 6, 0} -#define NXFONT_BITMAP_189 {0x42, 0x0, 0xc2, 0x0, 0x44, 0x0, 0x44, 0x0, 0x48, 0x0, 0x4b, 0x0, 0x14, 0x80, 0x10, 0x80, 0x11, 0x0, 0x22, 0x0, 0x27, 0x80} - -/* threequarters (190) */ -#define NXFONT_METRICS_190 {2, 11, 11, 0, 6, 0} -#define NXFONT_BITMAP_190 {0x61, 0x0, 0x91, 0x0, 0x22, 0x0, 0x12, 0x0, 0x94, 0x0, 0x64, 0x40, 0x4, 0xc0, 0x9, 0x40, 0xa, 0x40, 0x13, 0xe0, 0x10, 0x40} - -/* questiondown (191) */ -#define NXFONT_METRICS_191 {1, 6, 11, 1, 9, 0} -#define NXFONT_BITMAP_191 {0x10, 0x10, 0x0, 0x10, 0x20, 0x40, 0x80, 0x84, 0x84, 0xcc, 0x30} - -/* Agrave (192) */ -#define NXFONT_METRICS_192 {2, 9, 14, 0, 3, 0} -#define NXFONT_BITMAP_192 {0x10, 0x0, 0x8, 0x0, 0x0, 0x0, 0x8, 0x0, 0x1c, 0x0, 0x14, 0x0, 0x14, 0x0, 0x22, 0x0, 0x22, 0x0, 0x41, 0x0, 0x7f, 0x0, 0x41, 0x0, 0x80, 0x80, 0x80, 0x80} - -/* Aacute (193) */ -#define NXFONT_METRICS_193 {2, 9, 14, 0, 3, 0} -#define NXFONT_BITMAP_193 {0x4, 0x0, 0x8, 0x0, 0x0, 0x0, 0x8, 0x0, 0x1c, 0x0, 0x14, 0x0, 0x14, 0x0, 0x22, 0x0, 0x22, 0x0, 0x41, 0x0, 0x7f, 0x0, 0x41, 0x0, 0x80, 0x80, 0x80, 0x80} - -/* Acircumflex (194) */ -#define NXFONT_METRICS_194 {2, 9, 14, 0, 3, 0} -#define NXFONT_BITMAP_194 {0xc, 0x0, 0x12, 0x0, 0x0, 0x0, 0x8, 0x0, 0x1c, 0x0, 0x14, 0x0, 0x14, 0x0, 0x22, 0x0, 0x22, 0x0, 0x41, 0x0, 0x7f, 0x0, 0x41, 0x0, 0x80, 0x80, 0x80, 0x80} - -/* Atilde (195) */ -#define NXFONT_METRICS_195 {2, 9, 14, 0, 3, 0} -#define NXFONT_BITMAP_195 {0x1a, 0x0, 0x2c, 0x0, 0x0, 0x0, 0x8, 0x0, 0x1c, 0x0, 0x14, 0x0, 0x14, 0x0, 0x22, 0x0, 0x22, 0x0, 0x41, 0x0, 0x7f, 0x0, 0x41, 0x0, 0x80, 0x80, 0x80, 0x80} - -/* Adieresis (196) */ -#define NXFONT_METRICS_196 {2, 9, 13, 0, 4, 0} -#define NXFONT_BITMAP_196 {0x36, 0x0, 0x0, 0x0, 0x8, 0x0, 0x1c, 0x0, 0x14, 0x0, 0x14, 0x0, 0x22, 0x0, 0x22, 0x0, 0x41, 0x0, 0x7f, 0x0, 0x41, 0x0, 0x80, 0x80, 0x80, 0x80} - -/* Aring (197) */ -#define NXFONT_METRICS_197 {2, 9, 14, 0, 3, 0} -#define NXFONT_BITMAP_197 {0xc, 0x0, 0x12, 0x0, 0x12, 0x0, 0xc, 0x0, 0xc, 0x0, 0x14, 0x0, 0x14, 0x0, 0x22, 0x0, 0x22, 0x0, 0x41, 0x0, 0x7f, 0x0, 0x41, 0x0, 0x80, 0x80, 0x80, 0x80} - -/* AE (198) */ -#define NXFONT_METRICS_198 {2, 12, 11, 1, 6, 0} -#define NXFONT_BITMAP_198 {0x1f, 0xf0, 0x12, 0x0, 0x12, 0x0, 0x22, 0x0, 0x22, 0x0, 0x23, 0xf0, 0x7e, 0x0, 0x42, 0x0, 0x42, 0x0, 0x82, 0x0, 0x83, 0xf0} - -/* Ccedilla (199) */ -#define NXFONT_METRICS_199 {1, 8, 14, 1, 6, 0} -#define NXFONT_BITMAP_199 {0x1c, 0x63, 0x41, 0x80, 0x80, 0x80, 0x80, 0x80, 0x41, 0x63, 0x1c, 0x8, 0x24, 0x18} - -/* Egrave (200) */ -#define NXFONT_METRICS_200 {1, 7, 14, 1, 3, 0} -#define NXFONT_BITMAP_200 {0x20, 0x10, 0x0, 0xfe, 0x80, 0x80, 0x80, 0x80, 0xfc, 0x80, 0x80, 0x80, 0x80, 0xfe} - -/* Eacute (201) */ -#define NXFONT_METRICS_201 {1, 7, 14, 1, 3, 0} -#define NXFONT_BITMAP_201 {0x8, 0x10, 0x0, 0xfe, 0x80, 0x80, 0x80, 0x80, 0xfc, 0x80, 0x80, 0x80, 0x80, 0xfe} - -/* Ecircumflex (202) */ -#define NXFONT_METRICS_202 {1, 7, 14, 1, 3, 0} -#define NXFONT_BITMAP_202 {0x18, 0x24, 0x0, 0xfe, 0x80, 0x80, 0x80, 0x80, 0xfc, 0x80, 0x80, 0x80, 0x80, 0xfe} - -/* Edieresis (203) */ -#define NXFONT_METRICS_203 {1, 7, 13, 1, 4, 0} -#define NXFONT_BITMAP_203 {0x6c, 0x0, 0xfe, 0x80, 0x80, 0x80, 0x80, 0xfc, 0x80, 0x80, 0x80, 0x80, 0xfe} - -/* Igrave (204) */ -#define NXFONT_METRICS_204 {1, 2, 14, 1, 3, 0} -#define NXFONT_BITMAP_204 {0x80, 0x40, 0x0, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40} - -/* Iacute (205) */ -#define NXFONT_METRICS_205 {1, 2, 14, 2, 3, 0} -#define NXFONT_BITMAP_205 {0x40, 0x80, 0x0, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80} - -/* Icircumflex (206) */ -#define NXFONT_METRICS_206 {1, 4, 14, 1, 3, 0} -#define NXFONT_BITMAP_206 {0x60, 0x90, 0x0, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40} - -/* Idieresis (207) */ -#define NXFONT_METRICS_207 {1, 5, 13, 0, 4, 0} -#define NXFONT_BITMAP_207 {0xd8, 0x0, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20} - -/* Eth (208) */ -#define NXFONT_METRICS_208 {2, 9, 11, 0, 6, 0} -#define NXFONT_BITMAP_208 {0x7c, 0x0, 0x43, 0x0, 0x41, 0x0, 0x40, 0x80, 0x40, 0x80, 0xf0, 0x80, 0x40, 0x80, 0x40, 0x80, 0x41, 0x0, 0x43, 0x0, 0x7c, 0x0} - -/* Ntilde (209) */ -#define NXFONT_METRICS_209 {1, 8, 14, 1, 3, 0} -#define NXFONT_BITMAP_209 {0x1a, 0x2c, 0x0, 0xc1, 0xa1, 0xa1, 0x91, 0x91, 0x89, 0x89, 0x85, 0x85, 0x83, 0x83} - -/* Ograve (210) */ -#define NXFONT_METRICS_210 {2, 9, 14, 1, 3, 0} -#define NXFONT_BITMAP_210 {0x10, 0x0, 0x8, 0x0, 0x0, 0x0, 0x1c, 0x0, 0x63, 0x0, 0x41, 0x0, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x41, 0x0, 0x63, 0x0, 0x1c, 0x0} - -/* Oacute (211) */ -#define NXFONT_METRICS_211 {2, 9, 14, 1, 3, 0} -#define NXFONT_BITMAP_211 {0x4, 0x0, 0x8, 0x0, 0x0, 0x0, 0x1c, 0x0, 0x63, 0x0, 0x41, 0x0, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x41, 0x0, 0x63, 0x0, 0x1c, 0x0} - -/* Ocircumflex (212) */ -#define NXFONT_METRICS_212 {2, 9, 14, 1, 3, 0} -#define NXFONT_BITMAP_212 {0xc, 0x0, 0x12, 0x0, 0x0, 0x0, 0x1c, 0x0, 0x63, 0x0, 0x41, 0x0, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x41, 0x0, 0x63, 0x0, 0x1c, 0x0} - -/* Otilde (213) */ -#define NXFONT_METRICS_213 {2, 9, 14, 1, 3, 0} -#define NXFONT_BITMAP_213 {0x1a, 0x0, 0x2c, 0x0, 0x0, 0x0, 0x1c, 0x0, 0x63, 0x0, 0x41, 0x0, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x41, 0x0, 0x63, 0x0, 0x1c, 0x0} - -/* Odieresis (214) */ -#define NXFONT_METRICS_214 {2, 9, 13, 1, 4, 0} -#define NXFONT_BITMAP_214 {0x33, 0x0, 0x0, 0x0, 0x1c, 0x0, 0x63, 0x0, 0x41, 0x0, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x41, 0x0, 0x63, 0x0, 0x1c, 0x0} - -/* multiply (215) */ -#define NXFONT_METRICS_215 {1, 7, 7, 1, 9, 0} -#define NXFONT_BITMAP_215 {0x82, 0x44, 0x28, 0x10, 0x28, 0x44, 0x82} - -/* Oslash (216) */ -#define NXFONT_METRICS_216 {2, 11, 11, 0, 6, 0} -#define NXFONT_BITMAP_216 {0xe, 0x20, 0x31, 0xc0, 0x20, 0x80, 0x41, 0x40, 0x42, 0x40, 0x44, 0x40, 0x48, 0x40, 0x50, 0x40, 0x20, 0x80, 0x71, 0x80, 0x8e, 0x0} - -/* Ugrave (217) */ -#define NXFONT_METRICS_217 {1, 8, 14, 1, 3, 0} -#define NXFONT_BITMAP_217 {0x10, 0x8, 0x0, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x42, 0x3c} - -/* Uacute (218) */ -#define NXFONT_METRICS_218 {1, 8, 14, 1, 3, 0} -#define NXFONT_BITMAP_218 {0x4, 0x8, 0x0, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x42, 0x3c} - -/* Ucircumflex (219) */ -#define NXFONT_METRICS_219 {1, 8, 14, 1, 3, 0} -#define NXFONT_BITMAP_219 {0x18, 0x24, 0x0, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x42, 0x3c} - -/* Udieresis (220) */ -#define NXFONT_METRICS_220 {1, 8, 13, 1, 4, 0} -#define NXFONT_BITMAP_220 {0x66, 0x0, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x42, 0x3c} - -/* Yacute (221) */ -#define NXFONT_METRICS_221 {2, 9, 14, 0, 3, 0} -#define NXFONT_BITMAP_221 {0x4, 0x0, 0x8, 0x0, 0x0, 0x0, 0x80, 0x80, 0xc1, 0x80, 0x41, 0x0, 0x22, 0x0, 0x22, 0x0, 0x14, 0x0, 0x1c, 0x0, 0x8, 0x0, 0x8, 0x0, 0x8, 0x0, 0x8, 0x0} - -/* Thorn (222) */ -#define NXFONT_METRICS_222 {1, 7, 11, 1, 6, 0} -#define NXFONT_BITMAP_222 {0x80, 0x80, 0xfc, 0x86, 0x82, 0x82, 0x86, 0xfc, 0x80, 0x80, 0x80} - -/* germandbls (223) */ -#define NXFONT_METRICS_223 {1, 5, 11, 1, 6, 0} -#define NXFONT_BITMAP_223 {0x70, 0x88, 0x88, 0x88, 0xb0, 0x90, 0x88, 0x88, 0x88, 0x88, 0xb0} - -/* agrave (224) */ -#define NXFONT_METRICS_224 {1, 7, 11, 1, 6, 0} -#define NXFONT_BITMAP_224 {0x20, 0x10, 0x0, 0x78, 0xcc, 0x4, 0x7c, 0xc4, 0x84, 0xcc, 0x76} - -/* aacute (225) */ -#define NXFONT_METRICS_225 {1, 7, 11, 1, 6, 0} -#define NXFONT_BITMAP_225 {0x10, 0x20, 0x0, 0x78, 0xcc, 0x4, 0x7c, 0xc4, 0x84, 0xcc, 0x76} - -/* acircumflex (226) */ -#define NXFONT_METRICS_226 {1, 7, 11, 1, 6, 0} -#define NXFONT_BITMAP_226 {0x30, 0x48, 0x0, 0x78, 0xcc, 0x4, 0x7c, 0xc4, 0x84, 0xcc, 0x76} - -/* atilde (227) */ -#define NXFONT_METRICS_227 {1, 7, 11, 1, 6, 0} -#define NXFONT_BITMAP_227 {0x34, 0x58, 0x0, 0x78, 0xcc, 0x4, 0x7c, 0xc4, 0x84, 0xcc, 0x76} - -/* adieresis (228) */ -#define NXFONT_METRICS_228 {1, 7, 11, 1, 6, 0} -#define NXFONT_BITMAP_228 {0x48, 0x48, 0x0, 0x78, 0xcc, 0x4, 0x7c, 0xc4, 0x84, 0xcc, 0x76} - -/* aring (229) */ -#define NXFONT_METRICS_229 {1, 7, 12, 1, 5, 0} -#define NXFONT_BITMAP_229 {0x30, 0x48, 0x30, 0x0, 0x78, 0xcc, 0x4, 0x7c, 0xc4, 0x84, 0xcc, 0x76} - -/* ae (230) */ -#define NXFONT_METRICS_230 {2, 11, 8, 1, 9, 0} -#define NXFONT_BITMAP_230 {0x7b, 0xc0, 0xc6, 0x60, 0x4, 0x20, 0x7f, 0xe0, 0xc4, 0x0, 0x84, 0x0, 0xce, 0x60, 0x7b, 0xc0} - -/* ccedilla (231) */ -#define NXFONT_METRICS_231 {1, 6, 11, 1, 9, 0} -#define NXFONT_BITMAP_231 {0x78, 0xcc, 0x80, 0x80, 0x80, 0x84, 0xcc, 0x78, 0x10, 0x48, 0x30} - -/* egrave (232) */ -#define NXFONT_METRICS_232 {1, 6, 11, 1, 6, 0} -#define NXFONT_BITMAP_232 {0x20, 0x10, 0x0, 0x78, 0xcc, 0x84, 0xfc, 0x80, 0x80, 0xcc, 0x78} - -/* eacute (233) */ -#define NXFONT_METRICS_233 {1, 6, 11, 1, 6, 0} -#define NXFONT_BITMAP_233 {0x10, 0x20, 0x0, 0x78, 0xcc, 0x84, 0xfc, 0x80, 0x80, 0xcc, 0x78} - -/* ecircumflex (234) */ -#define NXFONT_METRICS_234 {1, 6, 11, 1, 6, 0} -#define NXFONT_BITMAP_234 {0x30, 0x48, 0x0, 0x78, 0xcc, 0x84, 0xfc, 0x80, 0x80, 0xcc, 0x78} - -/* edieresis (235) */ -#define NXFONT_METRICS_235 {1, 6, 11, 1, 6, 0} -#define NXFONT_BITMAP_235 {0x48, 0x48, 0x0, 0x78, 0xcc, 0x84, 0xfc, 0x80, 0x80, 0xcc, 0x78} - -/* igrave (236) */ -#define NXFONT_METRICS_236 {1, 2, 11, 1, 6, 0} -#define NXFONT_BITMAP_236 {0x80, 0x40, 0x0, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80} - -/* iacute (237) */ -#define NXFONT_METRICS_237 {1, 2, 11, 1, 6, 0} -#define NXFONT_BITMAP_237 {0x40, 0x80, 0x0, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80} - -/* icircumflex (238) */ -#define NXFONT_METRICS_238 {1, 4, 11, 0, 6, 0} -#define NXFONT_BITMAP_238 {0x60, 0x90, 0x0, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40} - -/* idieresis (239) */ -#define NXFONT_METRICS_239 {1, 3, 11, 0, 6, 0} -#define NXFONT_BITMAP_239 {0xa0, 0xa0, 0x0, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40} - -/* eth (240) */ -#define NXFONT_METRICS_240 {1, 6, 11, 1, 6, 0} -#define NXFONT_BITMAP_240 {0xd8, 0x70, 0x90, 0x78, 0xcc, 0x84, 0x84, 0x84, 0x84, 0xcc, 0x78} - -/* ntilde (241) */ -#define NXFONT_METRICS_241 {1, 6, 11, 1, 6, 0} -#define NXFONT_BITMAP_241 {0x68, 0xb0, 0x0, 0xb8, 0xcc, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84} - -/* ograve (242) */ -#define NXFONT_METRICS_242 {1, 6, 11, 1, 6, 0} -#define NXFONT_BITMAP_242 {0x20, 0x10, 0x0, 0x78, 0xcc, 0x84, 0x84, 0x84, 0x84, 0xcc, 0x78} - -/* oacute (243) */ -#define NXFONT_METRICS_243 {1, 6, 11, 1, 6, 0} -#define NXFONT_BITMAP_243 {0x10, 0x20, 0x0, 0x78, 0xcc, 0x84, 0x84, 0x84, 0x84, 0xcc, 0x78} - -/* ocircumflex (244) */ -#define NXFONT_METRICS_244 {1, 6, 11, 1, 6, 0} -#define NXFONT_BITMAP_244 {0x30, 0x48, 0x0, 0x78, 0xcc, 0x84, 0x84, 0x84, 0x84, 0xcc, 0x78} - -/* otilde (245) */ -#define NXFONT_METRICS_245 {1, 6, 11, 1, 6, 0} -#define NXFONT_BITMAP_245 {0x68, 0xb0, 0x0, 0x78, 0xcc, 0x84, 0x84, 0x84, 0x84, 0xcc, 0x78} - -/* odieresis (246) */ -#define NXFONT_METRICS_246 {1, 6, 11, 1, 6, 0} -#define NXFONT_BITMAP_246 {0x48, 0x48, 0x0, 0x78, 0xcc, 0x84, 0x84, 0x84, 0x84, 0xcc, 0x78} - -/* divide (247) */ -#define NXFONT_METRICS_247 {1, 7, 7, 1, 9, 0} -#define NXFONT_BITMAP_247 {0x10, 0x10, 0x0, 0xfe, 0x0, 0x10, 0x10} - -/* oslash (248) */ -#define NXFONT_METRICS_248 {1, 8, 8, 0, 9, 0} -#define NXFONT_BITMAP_248 {0x3d, 0x62, 0x46, 0x4a, 0x52, 0x62, 0x46, 0xbc} - -/* ugrave (249) */ -#define NXFONT_METRICS_249 {1, 6, 11, 1, 6, 0} -#define NXFONT_BITMAP_249 {0x20, 0x10, 0x0, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0xcc, 0x74} - -/* uacute (250) */ -#define NXFONT_METRICS_250 {1, 6, 11, 1, 6, 0} -#define NXFONT_BITMAP_250 {0x10, 0x20, 0x0, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0xcc, 0x74} - -/* ucircumflex (251) */ -#define NXFONT_METRICS_251 {1, 6, 11, 1, 6, 0} -#define NXFONT_BITMAP_251 {0x30, 0x48, 0x0, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0xcc, 0x74} - -/* udieresis (252) */ -#define NXFONT_METRICS_252 {1, 6, 11, 1, 6, 0} -#define NXFONT_BITMAP_252 {0x48, 0x48, 0x0, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0xcc, 0x74} - -/* yacute (253) */ -#define NXFONT_METRICS_253 {1, 7, 14, 0, 6, 0} -#define NXFONT_BITMAP_253 {0x8, 0x10, 0x0, 0x82, 0xc2, 0x44, 0x44, 0x24, 0x28, 0x18, 0x10, 0x10, 0x30, 0x60} - -/* thorn (254) */ -#define NXFONT_METRICS_254 {1, 6, 14, 1, 6, 0} -#define NXFONT_BITMAP_254 {0x80, 0x80, 0x80, 0xb8, 0xcc, 0x84, 0x84, 0x84, 0x84, 0xcc, 0xb8, 0x80, 0x80, 0x80} - -/* ydieresis (255) */ -#define NXFONT_METRICS_255 {1, 7, 14, 0, 6, 0} -#define NXFONT_BITMAP_255 {0x24, 0x24, 0x0, 0x82, 0xc2, 0x44, 0x44, 0x24, 0x28, 0x18, 0x10, 0x10, 0x30, 0x60} - -/**************************************************************************** - * Public Types - ****************************************************************************/ - -/**************************************************************************** - * Public Data - ****************************************************************************/ - -#undef EXTERN -#if defined(__cplusplus) -#define EXTERN extern "C" -extern "C" { -#else -#define EXTERN extern -#endif - -/**************************************************************************** - * Public Functions - ****************************************************************************/ - -#undef EXTERN -#if defined(__cplusplus) -} -#endif - -#endif /* __GRAPHICS_NXFONTS_NXFONTS_SANS17X22_H */ diff --git a/nuttx/graphics/nxfonts/nxfonts_sans17x23b.h b/nuttx/graphics/nxfonts/nxfonts_sans17x23b.h deleted file mode 100644 index 007986399..000000000 --- a/nuttx/graphics/nxfonts/nxfonts_sans17x23b.h +++ /dev/null @@ -1,849 +0,0 @@ -/**************************************************************************** - * graphics/nxfonts/nxfonts_serif17x23b.h - * - * Copyright (C) 2011-2012 NX Engineering, S.A., All rights reserved. - * Author: Gregory Nutt <gnutt@nuttx.org> - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * 3. Neither the name NuttX nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT} - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING} - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - ****************************************************************************/ - -#ifndef __GRAPHICS_NXFONTS_NXFONTS_SANS17X23B_H -#define __GRAPHICS_NXFONTS_NXFONTS_SANS17X23B_H - -/**************************************************************************** - * Included Files - ****************************************************************************/ - -/**************************************************************************** - * Pre-Processor Definitions - ****************************************************************************/ - -/* Font ID */ - -#define NXFONT_ID FONTID_SANS17X23B - -/* Ranges of 7-bit and 8-bit fonts */ - -#define NXFONT_MIN7BIT 33 -#define NXFONT_MAX7BIT 126 - -#define NXFONT_MIN8BIT 161 -#define NXFONT_MAX8BIT 255 - -/* Maximum height and width of any glyph in the set */ - -#define NXFONT_MAXHEIGHT 23 -#define NXFONT_MAXWIDTH 17 - -/* The width of a space */ - -#define NXFONT_SPACEWIDTH 4 - -/* exclam (33) */ -#define NXFONT_METRICS_33 {1, 2, 11, 1, 6, 0} -#define NXFONT_BITMAP_33 {0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0x80, 0x80, 0x0, 0xc0, 0xc0} - -/* quotedbl (34) */ -#define NXFONT_METRICS_34 {1, 5, 3, 1, 6, 0} -#define NXFONT_BITMAP_34 {0xd8, 0xd8, 0x90} - -/* numbersign (35) */ -#define NXFONT_METRICS_35 {2, 9, 10, 0, 7, 0} -#define NXFONT_BITMAP_35 {0x1b, 0x0, 0x1b, 0x0, 0x1b, 0x0, 0x7f, 0x80, 0x36, 0x0, 0x36, 0x0, 0xff, 0x0, 0x6c, 0x0, 0x6c, 0x0, 0x6c, 0x0} - -/* dollar (36) */ -#define NXFONT_METRICS_36 {1, 7, 14, 0, 5, 0} -#define NXFONT_BITMAP_36 {0x10, 0x7c, 0xd6, 0xd6, 0xd0, 0xf0, 0x78, 0x1c, 0x16, 0xd6, 0xd6, 0x7c, 0x10, 0x10} - -/* percent (37) */ -#define NXFONT_METRICS_37 {2, 12, 11, 0, 6, 0} -#define NXFONT_BITMAP_37 {0x78, 0x40, 0xcc, 0xc0, 0xcd, 0x80, 0x79, 0x0, 0x3, 0x0, 0x6, 0x0, 0x4, 0x0, 0xd, 0xe0, 0xb, 0x30, 0x1b, 0x30, 0x11, 0xe0} - -/* ampersand (38) */ -#define NXFONT_METRICS_38 {2, 9, 10, 1, 7, 0} -#define NXFONT_BITMAP_38 {0x38, 0x0, 0x6c, 0x0, 0x6c, 0x0, 0x38, 0x0, 0x73, 0x0, 0xfb, 0x0, 0xce, 0x0, 0xc6, 0x0, 0xcf, 0x0, 0x7d, 0x80} - -/* quotesingle (39) */ -#define NXFONT_METRICS_39 {1, 2, 3, 1, 6, 0} -#define NXFONT_BITMAP_39 {0xc0, 0xc0, 0x80} - -/* parenleft (40) */ -#define NXFONT_METRICS_40 {1, 4, 14, 1, 6, 0} -#define NXFONT_BITMAP_40 {0x30, 0x60, 0x60, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0x60, 0x60, 0x30} - -/* parenright (41) */ -#define NXFONT_METRICS_41 {1, 4, 14, 0, 6, 0} -#define NXFONT_BITMAP_41 {0xc0, 0x60, 0x60, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x60, 0x60, 0xc0} - -/* asterisk (42) */ -#define NXFONT_METRICS_42 {1, 5, 4, 0, 6, 0} -#define NXFONT_BITMAP_42 {0x20, 0xf8, 0x70, 0xd8} - -/* plus (43) */ -#define NXFONT_METRICS_43 {1, 8, 7, 0, 9, 0} -#define NXFONT_BITMAP_43 {0x18, 0x18, 0x18, 0xff, 0x18, 0x18, 0x18} - -/* comma (44) */ -#define NXFONT_METRICS_44 {1, 3, 3, 0, 15, 0} -#define NXFONT_BITMAP_44 {0x60, 0x60, 0xc0} - -/* hyphen (45) */ -#define NXFONT_METRICS_45 {1, 3, 1, 0, 12, 0} -#define NXFONT_BITMAP_45 {0xe0} - -/* period (46) */ -#define NXFONT_METRICS_46 {1, 2, 2, 1, 15, 0} -#define NXFONT_BITMAP_46 {0xc0, 0xc0} - -/* slash (47) */ -#define NXFONT_METRICS_47 {1, 4, 11, 0, 6, 0} -#define NXFONT_BITMAP_47 {0x10, 0x10, 0x30, 0x20, 0x20, 0x60, 0x40, 0x40, 0xc0, 0x80, 0x80} - -/* zero (48) */ -#define NXFONT_METRICS_48 {1, 7, 11, 0, 6, 0} -#define NXFONT_BITMAP_48 {0x38, 0x6c, 0xc6, 0xc6, 0xc6, 0xc6, 0xc6, 0xc6, 0xc6, 0x6c, 0x38} - -/* one (49) */ -#define NXFONT_METRICS_49 {1, 4, 11, 1, 6, 0} -#define NXFONT_BITMAP_49 {0x30, 0xf0, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30} - -/* two (50) */ -#define NXFONT_METRICS_50 {1, 7, 11, 0, 6, 0} -#define NXFONT_BITMAP_50 {0x7c, 0xc6, 0xc6, 0x6, 0xe, 0xc, 0x18, 0x30, 0x60, 0xc0, 0xfe} - -/* three (51) */ -#define NXFONT_METRICS_51 {1, 7, 11, 0, 6, 0} -#define NXFONT_BITMAP_51 {0x7c, 0xc6, 0xc6, 0x6, 0x6, 0x3c, 0x6, 0x6, 0xc6, 0xc6, 0x7c} - -/* four (52) */ -#define NXFONT_METRICS_52 {1, 8, 11, 0, 6, 0} -#define NXFONT_BITMAP_52 {0x6, 0xe, 0x1e, 0x36, 0x66, 0xc6, 0xc6, 0xff, 0x6, 0x6, 0x6} - -/* five (53) */ -#define NXFONT_METRICS_53 {1, 7, 11, 0, 6, 0} -#define NXFONT_BITMAP_53 {0x7e, 0x60, 0x60, 0xc0, 0xfc, 0xe, 0x6, 0x6, 0xc6, 0xcc, 0x78} - -/* six (54) */ -#define NXFONT_METRICS_54 {1, 7, 11, 0, 6, 0} -#define NXFONT_BITMAP_54 {0x3c, 0x66, 0x66, 0xc0, 0xdc, 0xe6, 0xc6, 0xc6, 0xc6, 0xc6, 0x7c} - -/* seven (55) */ -#define NXFONT_METRICS_55 {1, 7, 11, 0, 6, 0} -#define NXFONT_BITMAP_55 {0xfe, 0x6, 0xc, 0xc, 0x18, 0x18, 0x30, 0x30, 0x60, 0x60, 0x60} - -/* eight (56) */ -#define NXFONT_METRICS_56 {1, 7, 11, 0, 6, 0} -#define NXFONT_BITMAP_56 {0x7c, 0xc6, 0xc6, 0xc6, 0xc6, 0x7c, 0xc6, 0xc6, 0xc6, 0xc6, 0x7c} - -/* nine (57) */ -#define NXFONT_METRICS_57 {1, 7, 11, 0, 6, 0} -#define NXFONT_BITMAP_57 {0x7c, 0xc6, 0xc6, 0xc6, 0xc6, 0xc6, 0x7e, 0x6, 0xc6, 0xcc, 0x78} - -/* colon (58) */ -#define NXFONT_METRICS_58 {1, 2, 8, 2, 9, 0} -#define NXFONT_BITMAP_58 {0xc0, 0xc0, 0x0, 0x0, 0x0, 0x0, 0xc0, 0xc0} - -/* semicolon (59) */ -#define NXFONT_METRICS_59 {1, 3, 9, 1, 9, 0} -#define NXFONT_BITMAP_59 {0x60, 0x60, 0x0, 0x0, 0x0, 0x0, 0x60, 0x60, 0xc0} - -/* less (60) */ -#define NXFONT_METRICS_60 {1, 6, 5, 1, 10, 0} -#define NXFONT_BITMAP_60 {0x1c, 0x70, 0xc0, 0x70, 0x1c} - -/* equal (61) */ -#define NXFONT_METRICS_61 {1, 7, 3, 1, 11, 0} -#define NXFONT_BITMAP_61 {0xfe, 0x0, 0xfe} - -/* greater (62) */ -#define NXFONT_METRICS_62 {1, 6, 5, 1, 10, 0} -#define NXFONT_BITMAP_62 {0xe0, 0x38, 0xc, 0x38, 0xe0} - -/* question (63) */ -#define NXFONT_METRICS_63 {1, 7, 11, 1, 6, 0} -#define NXFONT_BITMAP_63 {0x7c, 0xc6, 0xc6, 0x6, 0xc, 0x18, 0x30, 0x30, 0x0, 0x30, 0x30} - -/* at (64) */ -#define NXFONT_METRICS_64 {2, 13, 12, 0, 6, 0} -#define NXFONT_BITMAP_64 {0xf, 0x80, 0x38, 0xe0, 0x70, 0x70, 0x66, 0xb0, 0xcd, 0x98, 0xd9, 0x98, 0xdb, 0x18, 0xdb, 0x30, 0xce, 0xe0, 0x60, 0x0, 0x31, 0x80, 0x1f, 0x0} - -/* A (65) */ -#define NXFONT_METRICS_65 {2, 10, 11, 0, 6, 0} -#define NXFONT_BITMAP_65 {0xc, 0x0, 0xc, 0x0, 0x1e, 0x0, 0x12, 0x0, 0x33, 0x0, 0x33, 0x0, 0x61, 0x80, 0x7f, 0x80, 0x61, 0x80, 0xc0, 0xc0, 0xc0, 0xc0} - -/* B (66) */ -#define NXFONT_METRICS_66 {1, 8, 11, 1, 6, 0} -#define NXFONT_BITMAP_66 {0xfe, 0xc7, 0xc3, 0xc3, 0xc6, 0xfc, 0xc6, 0xc3, 0xc3, 0xc7, 0xfe} - -/* C (67) */ -#define NXFONT_METRICS_67 {2, 9, 11, 1, 6, 0} -#define NXFONT_BITMAP_67 {0x1f, 0x0, 0x7b, 0x80, 0x60, 0x80, 0xc0, 0x0, 0xc0, 0x0, 0xc0, 0x0, 0xc0, 0x0, 0xc0, 0x0, 0x60, 0x80, 0x7b, 0x80, 0x1f, 0x0} - -/* D (68) */ -#define NXFONT_METRICS_68 {2, 9, 11, 1, 6, 0} -#define NXFONT_BITMAP_68 {0xfc, 0x0, 0xc7, 0x0, 0xc3, 0x0, 0xc1, 0x80, 0xc1, 0x80, 0xc1, 0x80, 0xc1, 0x80, 0xc1, 0x80, 0xc3, 0x0, 0xc7, 0x0, 0xfc, 0x0} - -/* E (69) */ -#define NXFONT_METRICS_69 {1, 7, 11, 1, 6, 0} -#define NXFONT_BITMAP_69 {0xfe, 0xc0, 0xc0, 0xc0, 0xc0, 0xfe, 0xc0, 0xc0, 0xc0, 0xc0, 0xfe} - -/* F (70) */ -#define NXFONT_METRICS_70 {1, 7, 11, 1, 6, 0} -#define NXFONT_BITMAP_70 {0xfe, 0xc0, 0xc0, 0xc0, 0xc0, 0xfc, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0} - -/* G (71) */ -#define NXFONT_METRICS_71 {2, 9, 11, 1, 6, 0} -#define NXFONT_BITMAP_71 {0x1f, 0x0, 0x7b, 0x80, 0x60, 0x80, 0xc0, 0x0, 0xc0, 0x0, 0xc7, 0x80, 0xc1, 0x80, 0xc1, 0x80, 0x61, 0x80, 0x7b, 0x80, 0x1e, 0x80} - -/* H (72) */ -#define NXFONT_METRICS_72 {1, 8, 11, 1, 6, 0} -#define NXFONT_BITMAP_72 {0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0xff, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3} - -/* I (73) */ -#define NXFONT_METRICS_73 {1, 2, 11, 1, 6, 0} -#define NXFONT_BITMAP_73 {0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0} - -/* J (74) */ -#define NXFONT_METRICS_74 {1, 7, 11, 0, 6, 0} -#define NXFONT_BITMAP_74 {0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0xc6, 0xc6, 0xee, 0x7c} - -/* K (75) */ -#define NXFONT_METRICS_75 {2, 9, 11, 1, 6, 0} -#define NXFONT_BITMAP_75 {0xc3, 0x0, 0xc6, 0x0, 0xcc, 0x0, 0xd8, 0x0, 0xf0, 0x0, 0xf0, 0x0, 0xd8, 0x0, 0xcc, 0x0, 0xc6, 0x0, 0xc3, 0x0, 0xc1, 0x80} - -/* L (76) */ -#define NXFONT_METRICS_76 {1, 7, 11, 1, 6, 0} -#define NXFONT_BITMAP_76 {0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xfe} - -/* M (77) */ -#define NXFONT_METRICS_77 {2, 11, 11, 1, 6, 0} -#define NXFONT_BITMAP_77 {0xc0, 0x60, 0xc0, 0x60, 0xe0, 0xe0, 0xe0, 0xe0, 0xf1, 0xe0, 0xd1, 0x60, 0xd1, 0x60, 0xdb, 0x60, 0xca, 0x60, 0xce, 0x60, 0xc4, 0x60} - -/* N (78) */ -#define NXFONT_METRICS_78 {2, 9, 11, 1, 6, 0} -#define NXFONT_BITMAP_78 {0xc1, 0x80, 0xe1, 0x80, 0xe1, 0x80, 0xd1, 0x80, 0xd9, 0x80, 0xc9, 0x80, 0xcd, 0x80, 0xc5, 0x80, 0xc3, 0x80, 0xc3, 0x80, 0xc1, 0x80} - -/* O (79) */ -#define NXFONT_METRICS_79 {2, 10, 11, 1, 6, 0} -#define NXFONT_BITMAP_79 {0x1e, 0x0, 0x73, 0x80, 0x61, 0x80, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0x61, 0x80, 0x73, 0x80, 0x1e, 0x0} - -/* P (80) */ -#define NXFONT_METRICS_80 {1, 8, 11, 1, 6, 0} -#define NXFONT_BITMAP_80 {0xfe, 0xc7, 0xc3, 0xc3, 0xc7, 0xfe, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0} - -/* Q (81) */ -#define NXFONT_METRICS_81 {2, 10, 11, 1, 6, 0} -#define NXFONT_BITMAP_81 {0x1e, 0x0, 0x73, 0x80, 0x61, 0x80, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc6, 0xc0, 0x63, 0x80, 0x73, 0x80, 0x1e, 0xc0} - -/* R (82) */ -#define NXFONT_METRICS_82 {2, 9, 11, 1, 6, 0} -#define NXFONT_BITMAP_82 {0xfe, 0x0, 0xc7, 0x0, 0xc3, 0x0, 0xc3, 0x0, 0xc6, 0x0, 0xfe, 0x0, 0xc7, 0x0, 0xc3, 0x0, 0xc3, 0x0, 0xc3, 0x0, 0xc1, 0x80} - -/* S (83) */ -#define NXFONT_METRICS_83 {1, 8, 11, 1, 6, 0} -#define NXFONT_BITMAP_83 {0x7e, 0xe7, 0xc3, 0xe0, 0x78, 0x1e, 0x7, 0x3, 0xc3, 0xee, 0x7c} - -/* T (84) */ -#define NXFONT_METRICS_84 {1, 8, 11, 0, 6, 0} -#define NXFONT_BITMAP_84 {0xff, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18} - -/* U (85) */ -#define NXFONT_METRICS_85 {2, 9, 11, 1, 6, 0} -#define NXFONT_BITMAP_85 {0xc1, 0x80, 0xc1, 0x80, 0xc1, 0x80, 0xc1, 0x80, 0xc1, 0x80, 0xc1, 0x80, 0xc1, 0x80, 0xc1, 0x80, 0xc1, 0x80, 0x63, 0x0, 0x3e, 0x0} - -/* V (86) */ -#define NXFONT_METRICS_86 {2, 10, 11, 0, 6, 0} -#define NXFONT_BITMAP_86 {0xc0, 0xc0, 0xc0, 0xc0, 0x61, 0x80, 0x61, 0x80, 0x73, 0x80, 0x33, 0x0, 0x33, 0x0, 0x1e, 0x0, 0x1e, 0x0, 0xc, 0x0, 0xc, 0x0} - -/* W (87) */ -#define NXFONT_METRICS_87 {2, 14, 11, 0, 6, 0} -#define NXFONT_BITMAP_87 {0xc3, 0xc, 0xc3, 0xc, 0xc3, 0xc, 0x67, 0x98, 0x64, 0x98, 0x64, 0x98, 0x6c, 0xd8, 0x2c, 0xd0, 0x38, 0x70, 0x18, 0x60, 0x18, 0x60} - -/* X (88) */ -#define NXFONT_METRICS_88 {2, 9, 11, 0, 6, 0} -#define NXFONT_BITMAP_88 {0xc1, 0x80, 0xc1, 0x80, 0x63, 0x0, 0x36, 0x0, 0x1c, 0x0, 0x1c, 0x0, 0x36, 0x0, 0x63, 0x0, 0x63, 0x0, 0xc1, 0x80, 0xc1, 0x80} - -/* Y (89) */ -#define NXFONT_METRICS_89 {2, 10, 11, 0, 6, 0} -#define NXFONT_BITMAP_89 {0xc0, 0xc0, 0x61, 0x80, 0x61, 0x80, 0x33, 0x0, 0x33, 0x0, 0x1e, 0x0, 0x1e, 0x0, 0xc, 0x0, 0xc, 0x0, 0xc, 0x0, 0xc, 0x0} - -/* Z (90) */ -#define NXFONT_METRICS_90 {1, 8, 11, 0, 6, 0} -#define NXFONT_BITMAP_90 {0xff, 0x3, 0x6, 0xc, 0x1c, 0x18, 0x30, 0x70, 0x60, 0xc0, 0xff} - -/* bracketleft (91) */ -#define NXFONT_METRICS_91 {1, 4, 14, 1, 6, 0} -#define NXFONT_BITMAP_91 {0xf0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xf0} - -/* backslash (92) */ -#define NXFONT_METRICS_92 {1, 4, 11, 0, 6, 0} -#define NXFONT_BITMAP_92 {0x80, 0x80, 0xc0, 0x40, 0x40, 0x60, 0x20, 0x20, 0x30, 0x10, 0x10} - -/* bracketright (93) */ -#define NXFONT_METRICS_93 {1, 4, 14, 0, 6, 0} -#define NXFONT_BITMAP_93 {0xf0, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0xf0} - -/* asciicircum (94) */ -#define NXFONT_METRICS_94 {1, 6, 5, 1, 6, 0} -#define NXFONT_BITMAP_94 {0x30, 0x78, 0x48, 0xcc, 0xcc} - -/* underscore (95) */ -#define NXFONT_METRICS_95 {1, 8, 1, 0, 19, 0} -#define NXFONT_BITMAP_95 {0xff} - -/* grave (96) */ -#define NXFONT_METRICS_96 {1, 3, 2, 1, 6, 0} -#define NXFONT_BITMAP_96 {0xc0, 0x60} - -/* a (97) */ -#define NXFONT_METRICS_97 {1, 7, 8, 1, 9, 0} -#define NXFONT_BITMAP_97 {0x78, 0xcc, 0xc, 0x7c, 0xcc, 0xcc, 0xdc, 0x76} - -/* b (98) */ -#define NXFONT_METRICS_98 {1, 7, 11, 1, 6, 0} -#define NXFONT_BITMAP_98 {0xc0, 0xc0, 0xc0, 0xd8, 0xec, 0xc6, 0xc6, 0xc6, 0xc6, 0xec, 0xd8} - -/* c (99) */ -#define NXFONT_METRICS_99 {1, 6, 8, 1, 9, 0} -#define NXFONT_BITMAP_99 {0x38, 0x6c, 0xcc, 0xc0, 0xc0, 0xcc, 0x6c, 0x38} - -/* d (100) */ -#define NXFONT_METRICS_100 {1, 7, 11, 1, 6, 0} -#define NXFONT_BITMAP_100 {0x6, 0x6, 0x6, 0x36, 0x6e, 0xc6, 0xc6, 0xc6, 0xc6, 0x6e, 0x36} - -/* e (101) */ -#define NXFONT_METRICS_101 {1, 6, 8, 1, 9, 0} -#define NXFONT_BITMAP_101 {0x78, 0xcc, 0xcc, 0xfc, 0xc0, 0xc0, 0xec, 0x78} - -/* f (102) */ -#define NXFONT_METRICS_102 {1, 5, 11, 0, 6, 0} -#define NXFONT_BITMAP_102 {0x38, 0x60, 0x60, 0xf0, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60} - -/* g (103) */ -#define NXFONT_METRICS_103 {1, 7, 11, 1, 9, 0} -#define NXFONT_BITMAP_103 {0x3a, 0x6e, 0xc6, 0xc6, 0xc6, 0xc6, 0x6e, 0x36, 0x6, 0xce, 0x7c} - -/* h (104) */ -#define NXFONT_METRICS_104 {1, 7, 11, 1, 6, 0} -#define NXFONT_BITMAP_104 {0xc0, 0xc0, 0xc0, 0xdc, 0xee, 0xc6, 0xc6, 0xc6, 0xc6, 0xc6, 0xc6} - -/* i (105) */ -#define NXFONT_METRICS_105 {1, 2, 11, 1, 6, 0} -#define NXFONT_BITMAP_105 {0xc0, 0xc0, 0x0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0} - -/* j (106) */ -#define NXFONT_METRICS_106 {1, 3, 14, 0, 6, 0} -#define NXFONT_BITMAP_106 {0x60, 0x60, 0x0, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0xe0, 0xc0} - -/* k (107) */ -#define NXFONT_METRICS_107 {1, 6, 11, 1, 6, 0} -#define NXFONT_BITMAP_107 {0xc0, 0xc0, 0xc0, 0xcc, 0xd8, 0xf0, 0xf0, 0xd8, 0xd8, 0xcc, 0xcc} - -/* l (108) */ -#define NXFONT_METRICS_108 {1, 2, 11, 1, 6, 0} -#define NXFONT_BITMAP_108 {0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0} - -/* m (109) */ -#define NXFONT_METRICS_109 {2, 10, 8, 1, 9, 0} -#define NXFONT_BITMAP_109 {0xdb, 0x80, 0xee, 0xc0, 0xcc, 0xc0, 0xcc, 0xc0, 0xcc, 0xc0, 0xcc, 0xc0, 0xcc, 0xc0, 0xcc, 0xc0} - -/* n (110) */ -#define NXFONT_METRICS_110 {1, 7, 8, 1, 9, 0} -#define NXFONT_BITMAP_110 {0xdc, 0xee, 0xc6, 0xc6, 0xc6, 0xc6, 0xc6, 0xc6} - -/* o (111) */ -#define NXFONT_METRICS_111 {1, 7, 8, 1, 9, 0} -#define NXFONT_BITMAP_111 {0x38, 0x6c, 0xc6, 0xc6, 0xc6, 0xc6, 0x6c, 0x38} - -/* p (112) */ -#define NXFONT_METRICS_112 {1, 7, 11, 1, 9, 0} -#define NXFONT_BITMAP_112 {0xd8, 0xec, 0xc6, 0xc6, 0xc6, 0xc6, 0xec, 0xd8, 0xc0, 0xc0, 0xc0} - -/* q (113) */ -#define NXFONT_METRICS_113 {1, 7, 11, 1, 9, 0} -#define NXFONT_BITMAP_113 {0x36, 0x6e, 0xc6, 0xc6, 0xc6, 0xc6, 0x6e, 0x36, 0x6, 0x6, 0x6} - -/* r (114) */ -#define NXFONT_METRICS_114 {1, 5, 8, 1, 9, 0} -#define NXFONT_BITMAP_114 {0xd8, 0xf8, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0} - -/* s (115) */ -#define NXFONT_METRICS_115 {1, 6, 8, 1, 9, 0} -#define NXFONT_BITMAP_115 {0x78, 0xcc, 0xe0, 0x78, 0x1c, 0xc, 0xec, 0x78} - -/* t (116) */ -#define NXFONT_METRICS_116 {1, 5, 10, 0, 7, 0} -#define NXFONT_BITMAP_116 {0x60, 0x60, 0xf8, 0x60, 0x60, 0x60, 0x60, 0x60, 0x68, 0x30} - -/* u (117) */ -#define NXFONT_METRICS_117 {1, 7, 8, 1, 9, 0} -#define NXFONT_BITMAP_117 {0xc6, 0xc6, 0xc6, 0xc6, 0xc6, 0xc6, 0xee, 0x76} - -/* v (118) */ -#define NXFONT_METRICS_118 {1, 8, 8, 0, 9, 0} -#define NXFONT_BITMAP_118 {0xc3, 0xc3, 0x66, 0x66, 0x24, 0x3c, 0x18, 0x18} - -/* w (119) */ -#define NXFONT_METRICS_119 {2, 10, 8, 0, 9, 0} -#define NXFONT_BITMAP_119 {0xcc, 0xc0, 0xcc, 0xc0, 0xcc, 0xc0, 0x6d, 0x80, 0x6d, 0x80, 0x33, 0x0, 0x33, 0x0, 0x33, 0x0} - -/* x (120) */ -#define NXFONT_METRICS_120 {1, 7, 8, 0, 9, 0} -#define NXFONT_BITMAP_120 {0xc6, 0xc6, 0x6c, 0x38, 0x38, 0x6c, 0xc6, 0xc6} - -/* y (121) */ -#define NXFONT_METRICS_121 {1, 8, 11, 0, 9, 0} -#define NXFONT_BITMAP_121 {0xc3, 0xc3, 0x66, 0x66, 0x24, 0x3c, 0x18, 0x18, 0x18, 0x30, 0x70} - -/* z (122) */ -#define NXFONT_METRICS_122 {1, 6, 8, 0, 9, 0} -#define NXFONT_BITMAP_122 {0xfc, 0xc, 0x18, 0x30, 0x30, 0x60, 0xc0, 0xfc} - -/* braceleft (123) */ -#define NXFONT_METRICS_123 {1, 5, 14, 0, 6, 0} -#define NXFONT_BITMAP_123 {0x18, 0x30, 0x30, 0x30, 0x30, 0x60, 0xc0, 0x60, 0x30, 0x30, 0x30, 0x30, 0x30, 0x18} - -/* bar (124) */ -#define NXFONT_METRICS_124 {1, 1, 14, 2, 6, 0} -#define NXFONT_BITMAP_124 {0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80} - -/* braceright (125) */ -#define NXFONT_METRICS_125 {1, 5, 14, 1, 6, 0} -#define NXFONT_BITMAP_125 {0xc0, 0x60, 0x60, 0x60, 0x60, 0x30, 0x18, 0x30, 0x60, 0x60, 0x60, 0x60, 0x60, 0xc0} - -/* asciitilde (126) */ -#define NXFONT_METRICS_126 {1, 7, 3, 1, 11, 0} -#define NXFONT_BITMAP_126 {0x72, 0xde, 0x8c} - -/* exclamdown (161) */ -#define NXFONT_METRICS_161 {1, 2, 11, 1, 9, 0} -#define NXFONT_BITMAP_161 {0xc0, 0xc0, 0x0, 0x40, 0x40, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0} - -/* cent (162) */ -#define NXFONT_METRICS_162 {1, 7, 10, 0, 8, 0} -#define NXFONT_BITMAP_162 {0x4, 0x3c, 0x6e, 0xc8, 0xd0, 0xd0, 0xe6, 0x66, 0x7c, 0x40} - -/* sterling (163) */ -#define NXFONT_METRICS_163 {1, 8, 11, 0, 6, 0} -#define NXFONT_BITMAP_163 {0x3c, 0x66, 0x66, 0x60, 0xfc, 0x30, 0x30, 0x30, 0x60, 0xfb, 0xde} - -/* currency (164) */ -#define NXFONT_METRICS_164 {1, 7, 7, 0, 8, 0} -#define NXFONT_BITMAP_164 {0x82, 0x7c, 0x6c, 0x6c, 0x6c, 0x7c, 0x82} - -/* yen (165) */ -#define NXFONT_METRICS_165 {1, 8, 11, 0, 6, 0} -#define NXFONT_BITMAP_165 {0xc3, 0xc3, 0xc3, 0x66, 0x66, 0x3c, 0x7e, 0x18, 0x7e, 0x18, 0x18} - -/* brokenbar (166) */ -#define NXFONT_METRICS_166 {1, 1, 14, 2, 6, 0} -#define NXFONT_BITMAP_166 {0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x0, 0x0, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80} - -/* section (167) */ -#define NXFONT_METRICS_167 {1, 6, 14, 1, 6, 0} -#define NXFONT_BITMAP_167 {0x78, 0xcc, 0xcc, 0xe0, 0x78, 0xdc, 0xcc, 0xcc, 0xec, 0x78, 0x1c, 0xcc, 0xcc, 0x78} - -/* dieresis (168) */ -#define NXFONT_METRICS_168 {1, 5, 2, 0, 6, 0} -#define NXFONT_BITMAP_168 {0xd8, 0xd8} - -/* copyright (169) */ -#define NXFONT_METRICS_169 {2, 10, 11, 1, 6, 0} -#define NXFONT_BITMAP_169 {0x1e, 0x0, 0x61, 0x80, 0x4c, 0x80, 0xd2, 0xc0, 0x90, 0x40, 0x90, 0x40, 0x90, 0x40, 0x92, 0x40, 0x4c, 0x80, 0x61, 0x80, 0x1e, 0x0} - -/* ordfeminine (170) */ -#define NXFONT_METRICS_170 {1, 5, 7, 0, 6, 0} -#define NXFONT_BITMAP_170 {0x70, 0x90, 0x70, 0xd0, 0xf8, 0x0, 0xf8} - -/* guillemotleft (171) */ -#define NXFONT_METRICS_171 {1, 7, 5, 1, 10, 0} -#define NXFONT_BITMAP_171 {0x36, 0x6c, 0xd8, 0x6c, 0x36} - -/* logicalnot (172) */ -#define NXFONT_METRICS_172 {1, 7, 4, 1, 11, 0} -#define NXFONT_BITMAP_172 {0xfe, 0xfe, 0x2, 0x2} - -/* hyphen (173) */ -#define NXFONT_METRICS_173 {1, 3, 1, 0, 12, 0} -#define NXFONT_BITMAP_173 {0xe0} - -/* registered (174) */ -#define NXFONT_METRICS_174 {2, 10, 11, 1, 6, 0} -#define NXFONT_BITMAP_174 {0x1e, 0x0, 0x61, 0x80, 0x5c, 0x80, 0x92, 0x40, 0x92, 0x40, 0x9c, 0x40, 0x92, 0x40, 0x92, 0x40, 0x52, 0x80, 0x61, 0x80, 0x1e, 0x0} - -/* macron (175) */ -#define NXFONT_METRICS_175 {1, 5, 1, 0, 7, 0} -#define NXFONT_BITMAP_175 {0xf8} - -/* degree (176) */ -#define NXFONT_METRICS_176 {1, 4, 4, 1, 6, 0} -#define NXFONT_BITMAP_176 {0x60, 0x90, 0x90, 0x60} - -/* plusminus (177) */ -#define NXFONT_METRICS_177 {1, 8, 9, 0, 8, 0} -#define NXFONT_BITMAP_177 {0x18, 0x18, 0x18, 0xff, 0x18, 0x18, 0x18, 0x0, 0xff} - -/* twosuperior (178) */ -#define NXFONT_METRICS_178 {1, 4, 6, 0, 6, 0} -#define NXFONT_BITMAP_178 {0x60, 0xb0, 0x30, 0x60, 0xc0, 0xf0} - -/* threesuperior (179) */ -#define NXFONT_METRICS_179 {1, 4, 6, 0, 6, 0} -#define NXFONT_BITMAP_179 {0x60, 0xb0, 0x60, 0x30, 0xb0, 0x60} - -/* acute (180) */ -#define NXFONT_METRICS_180 {1, 3, 2, 1, 6, 0} -#define NXFONT_BITMAP_180 {0x60, 0xc0} - -/* mu (181) */ -#define NXFONT_METRICS_181 {1, 7, 11, 1, 9, 0} -#define NXFONT_BITMAP_181 {0xc6, 0xc6, 0xc6, 0xc6, 0xc6, 0xc6, 0xee, 0xf6, 0xc0, 0xc0, 0xc0} - -/* paragraph (182) */ -#define NXFONT_METRICS_182 {1, 8, 14, 0, 6, 0} -#define NXFONT_BITMAP_182 {0x3f, 0x7a, 0xfa, 0xfa, 0xfa, 0x7a, 0x3a, 0xa, 0xa, 0xa, 0xa, 0xa, 0xa, 0xa} - -/* periodcentered (183) */ -#define NXFONT_METRICS_183 {1, 2, 2, 1, 12, 0} -#define NXFONT_BITMAP_183 {0xc0, 0xc0} - -/* cedilla (184) */ -#define NXFONT_METRICS_184 {1, 5, 3, 0, 17, 0} -#define NXFONT_BITMAP_184 {0x18, 0xd8, 0x70} - -/* onesuperior (185) */ -#define NXFONT_METRICS_185 {1, 3, 6, 0, 6, 0} -#define NXFONT_BITMAP_185 {0x60, 0xe0, 0x60, 0x60, 0x60, 0x60} - -/* ordmasculine (186) */ -#define NXFONT_METRICS_186 {1, 5, 7, 0, 6, 0} -#define NXFONT_BITMAP_186 {0x70, 0xd8, 0xd8, 0xd8, 0x70, 0x0, 0xf8} - -/* guillemotright (187) */ -#define NXFONT_METRICS_187 {1, 7, 5, 1, 10, 0} -#define NXFONT_BITMAP_187 {0xd8, 0x6c, 0x36, 0x6c, 0xd8} - -/* onequarter (188) */ -#define NXFONT_METRICS_188 {2, 12, 11, 0, 6, 0} -#define NXFONT_BITMAP_188 {0x61, 0x80, 0xe1, 0x80, 0x63, 0x0, 0x63, 0x0, 0x66, 0x0, 0x66, 0x20, 0x6, 0x60, 0xc, 0xe0, 0xd, 0x60, 0x19, 0xf0, 0x18, 0x60} - -/* onehalf (189) */ -#define NXFONT_METRICS_189 {2, 11, 11, 0, 6, 0} -#define NXFONT_BITMAP_189 {0x61, 0x80, 0xe1, 0x80, 0x63, 0x0, 0x63, 0x0, 0x66, 0x0, 0x66, 0xc0, 0x7, 0x60, 0xc, 0x60, 0xc, 0xc0, 0x19, 0x80, 0x19, 0xe0} - -/* threequarters (190) */ -#define NXFONT_METRICS_190 {2, 12, 11, 0, 6, 0} -#define NXFONT_BITMAP_190 {0x61, 0x80, 0xb1, 0x80, 0x63, 0x0, 0x33, 0x0, 0xb6, 0x0, 0x66, 0x20, 0x6, 0x60, 0xc, 0xe0, 0xd, 0x60, 0x19, 0xf0, 0x18, 0x60} - -/* questiondown (191) */ -#define NXFONT_METRICS_191 {1, 7, 11, 1, 9, 0} -#define NXFONT_BITMAP_191 {0x18, 0x18, 0x0, 0x18, 0x18, 0x30, 0x60, 0xc0, 0xc6, 0xc6, 0x7c} - -/* Agrave (192) */ -#define NXFONT_METRICS_192 {2, 10, 14, 0, 3, 0} -#define NXFONT_BITMAP_192 {0x18, 0x0, 0xc, 0x0, 0x0, 0x0, 0xc, 0x0, 0xc, 0x0, 0x1e, 0x0, 0x12, 0x0, 0x33, 0x0, 0x33, 0x0, 0x61, 0x80, 0x7f, 0x80, 0x61, 0x80, 0xc0, 0xc0, 0xc0, 0xc0} - -/* Aacute (193) */ -#define NXFONT_METRICS_193 {2, 10, 14, 0, 3, 0} -#define NXFONT_BITMAP_193 {0x6, 0x0, 0xc, 0x0, 0x0, 0x0, 0xc, 0x0, 0xc, 0x0, 0x1e, 0x0, 0x12, 0x0, 0x33, 0x0, 0x33, 0x0, 0x61, 0x80, 0x7f, 0x80, 0x61, 0x80, 0xc0, 0xc0, 0xc0, 0xc0} - -/* Acircumflex (194) */ -#define NXFONT_METRICS_194 {2, 10, 14, 0, 3, 0} -#define NXFONT_BITMAP_194 {0xe, 0x0, 0x1b, 0x0, 0x0, 0x0, 0xc, 0x0, 0xc, 0x0, 0x1e, 0x0, 0x12, 0x0, 0x33, 0x0, 0x33, 0x0, 0x61, 0x80, 0x7f, 0x80, 0x61, 0x80, 0xc0, 0xc0, 0xc0, 0xc0} - -/* Atilde (195) */ -#define NXFONT_METRICS_195 {2, 10, 14, 0, 3, 0} -#define NXFONT_BITMAP_195 {0xd, 0x0, 0x16, 0x0, 0x0, 0x0, 0xc, 0x0, 0xc, 0x0, 0x1e, 0x0, 0x12, 0x0, 0x33, 0x0, 0x33, 0x0, 0x61, 0x80, 0x7f, 0x80, 0x61, 0x80, 0xc0, 0xc0, 0xc0, 0xc0} - -/* Adieresis (196) */ -#define NXFONT_METRICS_196 {2, 10, 14, 0, 3, 0} -#define NXFONT_BITMAP_196 {0x33, 0x0, 0x33, 0x0, 0x0, 0x0, 0xc, 0x0, 0xc, 0x0, 0x1e, 0x0, 0x12, 0x0, 0x33, 0x0, 0x33, 0x0, 0x61, 0x80, 0x7f, 0x80, 0x61, 0x80, 0xc0, 0xc0, 0xc0, 0xc0} - -/* Aring (197) */ -#define NXFONT_METRICS_197 {2, 10, 14, 0, 3, 0} -#define NXFONT_BITMAP_197 {0xc, 0x0, 0x12, 0x0, 0xc, 0x0, 0xc, 0x0, 0xc, 0x0, 0x1e, 0x0, 0x12, 0x0, 0x33, 0x0, 0x33, 0x0, 0x61, 0x80, 0x7f, 0x80, 0x61, 0x80, 0xc0, 0xc0, 0xc0, 0xc0} - -/* AE (198) */ -#define NXFONT_METRICS_198 {2, 14, 11, 0, 6, 0} -#define NXFONT_BITMAP_198 {0xf, 0xfc, 0xf, 0x0, 0x1b, 0x0, 0x13, 0x0, 0x33, 0x0, 0x33, 0xf8, 0x63, 0x0, 0x7f, 0x0, 0x63, 0x0, 0xc3, 0x0, 0xc3, 0xfc} - -/* Ccedilla (199) */ -#define NXFONT_METRICS_199 {2, 9, 14, 1, 6, 0} -#define NXFONT_BITMAP_199 {0x1f, 0x0, 0x7b, 0x80, 0x60, 0x80, 0xc0, 0x0, 0xc0, 0x0, 0xc0, 0x0, 0xc0, 0x0, 0xc0, 0x0, 0x60, 0x80, 0x7b, 0x80, 0x1f, 0x0, 0x6, 0x0, 0x36, 0x0, 0x1c, 0x0} - -/* Egrave (200) */ -#define NXFONT_METRICS_200 {1, 7, 14, 1, 3, 0} -#define NXFONT_BITMAP_200 {0x30, 0x18, 0x0, 0xfe, 0xc0, 0xc0, 0xc0, 0xc0, 0xfe, 0xc0, 0xc0, 0xc0, 0xc0, 0xfe} - -/* Eacute (201) */ -#define NXFONT_METRICS_201 {1, 7, 14, 1, 3, 0} -#define NXFONT_BITMAP_201 {0xc, 0x18, 0x0, 0xfe, 0xc0, 0xc0, 0xc0, 0xc0, 0xfe, 0xc0, 0xc0, 0xc0, 0xc0, 0xfe} - -/* Ecircumflex (202) */ -#define NXFONT_METRICS_202 {1, 7, 14, 1, 3, 0} -#define NXFONT_BITMAP_202 {0x1c, 0x36, 0x0, 0xfe, 0xc0, 0xc0, 0xc0, 0xc0, 0xfe, 0xc0, 0xc0, 0xc0, 0xc0, 0xfe} - -/* Edieresis (203) */ -#define NXFONT_METRICS_203 {1, 7, 14, 1, 3, 0} -#define NXFONT_BITMAP_203 {0x6c, 0x6c, 0x0, 0xfe, 0xc0, 0xc0, 0xc0, 0xc0, 0xfe, 0xc0, 0xc0, 0xc0, 0xc0, 0xfe} - -/* Igrave (204) */ -#define NXFONT_METRICS_204 {1, 3, 14, 0, 3, 0} -#define NXFONT_BITMAP_204 {0xc0, 0x60, 0x0, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60} - -/* Iacute (205) */ -#define NXFONT_METRICS_205 {1, 3, 14, 1, 3, 0} -#define NXFONT_BITMAP_205 {0x60, 0xc0, 0x0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0} - -/* Icircumflex (206) */ -#define NXFONT_METRICS_206 {1, 5, 14, 0, 3, 0} -#define NXFONT_BITMAP_206 {0x70, 0xd8, 0x0, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60} - -/* Idieresis (207) */ -#define NXFONT_METRICS_207 {1, 5, 14, 0, 3, 0} -#define NXFONT_BITMAP_207 {0xd8, 0xd8, 0x0, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60} - -/* Eth (208) */ -#define NXFONT_METRICS_208 {2, 10, 11, 0, 6, 0} -#define NXFONT_BITMAP_208 {0x7e, 0x0, 0x63, 0x80, 0x61, 0x80, 0x60, 0xc0, 0x60, 0xc0, 0xf8, 0xc0, 0x60, 0xc0, 0x60, 0xc0, 0x61, 0x80, 0x63, 0x80, 0x7e, 0x0} - -/* Ntilde (209) */ -#define NXFONT_METRICS_209 {2, 9, 14, 1, 3, 0} -#define NXFONT_BITMAP_209 {0x1a, 0x0, 0x2c, 0x0, 0x0, 0x0, 0xc1, 0x80, 0xe1, 0x80, 0xe1, 0x80, 0xd1, 0x80, 0xd9, 0x80, 0xc9, 0x80, 0xcd, 0x80, 0xc5, 0x80, 0xc3, 0x80, 0xc3, 0x80, 0xc1, 0x80} - -/* Ograve (210) */ -#define NXFONT_METRICS_210 {2, 10, 14, 1, 3, 0} -#define NXFONT_BITMAP_210 {0x18, 0x0, 0xc, 0x0, 0x0, 0x0, 0x1e, 0x0, 0x73, 0x80, 0x61, 0x80, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0x61, 0x80, 0x73, 0x80, 0x1e, 0x0} - -/* Oacute (211) */ -#define NXFONT_METRICS_211 {2, 10, 14, 1, 3, 0} -#define NXFONT_BITMAP_211 {0x6, 0x0, 0xc, 0x0, 0x0, 0x0, 0x1e, 0x0, 0x73, 0x80, 0x61, 0x80, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0x61, 0x80, 0x73, 0x80, 0x1e, 0x0} - -/* Ocircumflex (212) */ -#define NXFONT_METRICS_212 {2, 10, 14, 1, 3, 0} -#define NXFONT_BITMAP_212 {0xe, 0x0, 0x1b, 0x0, 0x0, 0x0, 0x1e, 0x0, 0x73, 0x80, 0x61, 0x80, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0x61, 0x80, 0x73, 0x80, 0x1e, 0x0} - -/* Otilde (213) */ -#define NXFONT_METRICS_213 {2, 10, 14, 1, 3, 0} -#define NXFONT_BITMAP_213 {0xd, 0x0, 0x16, 0x0, 0x0, 0x0, 0x1e, 0x0, 0x73, 0x80, 0x61, 0x80, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0x61, 0x80, 0x73, 0x80, 0x1e, 0x0} - -/* Odieresis (214) */ -#define NXFONT_METRICS_214 {2, 10, 14, 1, 3, 0} -#define NXFONT_BITMAP_214 {0x33, 0x0, 0x33, 0x0, 0x0, 0x0, 0x1e, 0x0, 0x73, 0x80, 0x61, 0x80, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0x61, 0x80, 0x73, 0x80, 0x1e, 0x0} - -/* multiply (215) */ -#define NXFONT_METRICS_215 {1, 8, 7, 0, 9, 0} -#define NXFONT_BITMAP_215 {0xc3, 0x66, 0x3c, 0x18, 0x3c, 0x66, 0xc3} - -/* Oslash (216) */ -#define NXFONT_METRICS_216 {2, 12, 11, 0, 6, 0} -#define NXFONT_BITMAP_216 {0xf, 0x30, 0x39, 0xe0, 0x30, 0xc0, 0x61, 0xe0, 0x63, 0x60, 0x66, 0x60, 0x6c, 0x60, 0x78, 0x60, 0x30, 0xc0, 0x79, 0xc0, 0xcf, 0x0} - -/* Ugrave (217) */ -#define NXFONT_METRICS_217 {2, 9, 14, 1, 3, 0} -#define NXFONT_BITMAP_217 {0x18, 0x0, 0xc, 0x0, 0x0, 0x0, 0xc1, 0x80, 0xc1, 0x80, 0xc1, 0x80, 0xc1, 0x80, 0xc1, 0x80, 0xc1, 0x80, 0xc1, 0x80, 0xc1, 0x80, 0xc1, 0x80, 0x63, 0x0, 0x3e, 0x0} - -/* Uacute (218) */ -#define NXFONT_METRICS_218 {2, 9, 14, 1, 3, 0} -#define NXFONT_BITMAP_218 {0x6, 0x0, 0xc, 0x0, 0x0, 0x0, 0xc1, 0x80, 0xc1, 0x80, 0xc1, 0x80, 0xc1, 0x80, 0xc1, 0x80, 0xc1, 0x80, 0xc1, 0x80, 0xc1, 0x80, 0xc1, 0x80, 0x63, 0x0, 0x3e, 0x0} - -/* Ucircumflex (219) */ -#define NXFONT_METRICS_219 {2, 9, 14, 1, 3, 0} -#define NXFONT_BITMAP_219 {0x1c, 0x0, 0x36, 0x0, 0x0, 0x0, 0xc1, 0x80, 0xc1, 0x80, 0xc1, 0x80, 0xc1, 0x80, 0xc1, 0x80, 0xc1, 0x80, 0xc1, 0x80, 0xc1, 0x80, 0xc1, 0x80, 0x63, 0x0, 0x3e, 0x0} - -/* Udieresis (220) */ -#define NXFONT_METRICS_220 {2, 9, 14, 1, 3, 0} -#define NXFONT_BITMAP_220 {0x63, 0x0, 0x63, 0x0, 0x0, 0x0, 0xc1, 0x80, 0xc1, 0x80, 0xc1, 0x80, 0xc1, 0x80, 0xc1, 0x80, 0xc1, 0x80, 0xc1, 0x80, 0xc1, 0x80, 0xc1, 0x80, 0x63, 0x0, 0x3e, 0x0} - -/* Yacute (221) */ -#define NXFONT_METRICS_221 {2, 10, 14, 0, 3, 0} -#define NXFONT_BITMAP_221 {0x6, 0x0, 0xc, 0x0, 0x0, 0x0, 0xc0, 0xc0, 0x61, 0x80, 0x61, 0x80, 0x33, 0x0, 0x33, 0x0, 0x1e, 0x0, 0x1e, 0x0, 0xc, 0x0, 0xc, 0x0, 0xc, 0x0, 0xc, 0x0} - -/* Thorn (222) */ -#define NXFONT_METRICS_222 {1, 8, 11, 1, 6, 0} -#define NXFONT_BITMAP_222 {0xc0, 0xc0, 0xfe, 0xc7, 0xc3, 0xc3, 0xc7, 0xfe, 0xc0, 0xc0, 0xc0} - -/* germandbls (223) */ -#define NXFONT_METRICS_223 {1, 6, 11, 1, 6, 0} -#define NXFONT_BITMAP_223 {0x78, 0xcc, 0xcc, 0xcc, 0xd8, 0xd8, 0xcc, 0xcc, 0xcc, 0xcc, 0xd8} - -/* agrave (224) */ -#define NXFONT_METRICS_224 {1, 7, 11, 1, 6, 0} -#define NXFONT_BITMAP_224 {0x30, 0x18, 0x0, 0x78, 0xcc, 0xc, 0x7c, 0xcc, 0xcc, 0xdc, 0x76} - -/* aacute (225) */ -#define NXFONT_METRICS_225 {1, 7, 11, 1, 6, 0} -#define NXFONT_BITMAP_225 {0x18, 0x30, 0x0, 0x78, 0xcc, 0xc, 0x7c, 0xcc, 0xcc, 0xdc, 0x76} - -/* acircumflex (226) */ -#define NXFONT_METRICS_226 {1, 7, 11, 1, 6, 0} -#define NXFONT_BITMAP_226 {0x38, 0x6c, 0x0, 0x78, 0xcc, 0xc, 0x7c, 0xcc, 0xcc, 0xdc, 0x76} - -/* atilde (227) */ -#define NXFONT_METRICS_227 {1, 7, 11, 1, 6, 0} -#define NXFONT_BITMAP_227 {0x34, 0x58, 0x0, 0x78, 0xcc, 0xc, 0x7c, 0xcc, 0xcc, 0xdc, 0x76} - -/* adieresis (228) */ -#define NXFONT_METRICS_228 {1, 7, 11, 1, 6, 0} -#define NXFONT_BITMAP_228 {0x6c, 0x6c, 0x0, 0x78, 0xcc, 0xc, 0x7c, 0xcc, 0xcc, 0xdc, 0x76} - -/* aring (229) */ -#define NXFONT_METRICS_229 {1, 7, 11, 1, 6, 0} -#define NXFONT_BITMAP_229 {0x30, 0x48, 0x30, 0x78, 0xcc, 0xc, 0x7c, 0xcc, 0xcc, 0xdc, 0x76} - -/* ae (230) */ -#define NXFONT_METRICS_230 {2, 11, 8, 1, 9, 0} -#define NXFONT_BITMAP_230 {0x7b, 0xc0, 0xce, 0x60, 0xc, 0x60, 0x7f, 0xe0, 0xcc, 0x0, 0xcc, 0x0, 0xde, 0x60, 0x77, 0xc0} - -/* ccedilla (231) */ -#define NXFONT_METRICS_231 {1, 7, 11, 1, 9, 0} -#define NXFONT_BITMAP_231 {0x3c, 0x66, 0xc6, 0xc0, 0xc0, 0xc6, 0x66, 0x3c, 0x18, 0x58, 0x70} - -/* egrave (232) */ -#define NXFONT_METRICS_232 {1, 6, 11, 1, 6, 0} -#define NXFONT_BITMAP_232 {0x60, 0x30, 0x0, 0x78, 0xcc, 0xcc, 0xfc, 0xc0, 0xc0, 0xec, 0x78} - -/* eacute (233) */ -#define NXFONT_METRICS_233 {1, 6, 11, 1, 6, 0} -#define NXFONT_BITMAP_233 {0x18, 0x30, 0x0, 0x78, 0xcc, 0xcc, 0xfc, 0xc0, 0xc0, 0xec, 0x78} - -/* ecircumflex (234) */ -#define NXFONT_METRICS_234 {1, 6, 11, 1, 6, 0} -#define NXFONT_BITMAP_234 {0x38, 0x6c, 0x0, 0x78, 0xcc, 0xcc, 0xfc, 0xc0, 0xc0, 0xec, 0x78} - -/* edieresis (235) */ -#define NXFONT_METRICS_235 {1, 6, 11, 1, 6, 0} -#define NXFONT_BITMAP_235 {0x6c, 0x6c, 0x0, 0x78, 0xcc, 0xcc, 0xfc, 0xc0, 0xc0, 0xec, 0x78} - -/* igrave (236) */ -#define NXFONT_METRICS_236 {1, 3, 11, 0, 6, 0} -#define NXFONT_BITMAP_236 {0xc0, 0x60, 0x0, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60} - -/* iacute (237) */ -#define NXFONT_METRICS_237 {1, 3, 11, 1, 6, 0} -#define NXFONT_BITMAP_237 {0x60, 0xc0, 0x0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0} - -/* icircumflex (238) */ -#define NXFONT_METRICS_238 {1, 5, 11, 0, 6, 0} -#define NXFONT_BITMAP_238 {0x70, 0xd8, 0x0, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60} - -/* idieresis (239) */ -#define NXFONT_METRICS_239 {1, 5, 11, 0, 6, 0} -#define NXFONT_BITMAP_239 {0xd8, 0xd8, 0x0, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60} - -/* eth (240) */ -#define NXFONT_METRICS_240 {1, 7, 11, 1, 6, 0} -#define NXFONT_BITMAP_240 {0x6c, 0x38, 0x48, 0x3c, 0x6c, 0xc6, 0xc6, 0xc6, 0xc6, 0x6c, 0x38} - -/* ntilde (241) */ -#define NXFONT_METRICS_241 {1, 7, 11, 1, 6, 0} -#define NXFONT_BITMAP_241 {0x34, 0x58, 0x0, 0xdc, 0xee, 0xc6, 0xc6, 0xc6, 0xc6, 0xc6, 0xc6} - -/* ograve (242) */ -#define NXFONT_METRICS_242 {1, 7, 11, 1, 6, 0} -#define NXFONT_BITMAP_242 {0x30, 0x18, 0x0, 0x38, 0x6c, 0xc6, 0xc6, 0xc6, 0xc6, 0x6c, 0x38} - -/* oacute (243) */ -#define NXFONT_METRICS_243 {1, 7, 11, 1, 6, 0} -#define NXFONT_BITMAP_243 {0x18, 0x30, 0x0, 0x38, 0x6c, 0xc6, 0xc6, 0xc6, 0xc6, 0x6c, 0x38} - -/* ocircumflex (244) */ -#define NXFONT_METRICS_244 {1, 7, 11, 1, 6, 0} -#define NXFONT_BITMAP_244 {0x38, 0x6c, 0x0, 0x38, 0x6c, 0xc6, 0xc6, 0xc6, 0xc6, 0x6c, 0x38} - -/* otilde (245) */ -#define NXFONT_METRICS_245 {1, 7, 11, 1, 6, 0} -#define NXFONT_BITMAP_245 {0x34, 0x58, 0x0, 0x38, 0x6c, 0xc6, 0xc6, 0xc6, 0xc6, 0x6c, 0x38} - -/* odieresis (246) */ -#define NXFONT_METRICS_246 {1, 7, 11, 1, 6, 0} -#define NXFONT_BITMAP_246 {0x6c, 0x6c, 0x0, 0x38, 0x6c, 0xc6, 0xc6, 0xc6, 0xc6, 0x6c, 0x38} - -/* divide (247) */ -#define NXFONT_METRICS_247 {1, 8, 7, 0, 9, 0} -#define NXFONT_BITMAP_247 {0x18, 0x18, 0x0, 0xff, 0x0, 0x18, 0x18} - -/* oslash (248) */ -#define NXFONT_METRICS_248 {1, 7, 8, 1, 9, 0} -#define NXFONT_BITMAP_248 {0x3a, 0x6c, 0xce, 0xd6, 0xd6, 0xe6, 0x6c, 0xb8} - -/* ugrave (249) */ -#define NXFONT_METRICS_249 {1, 7, 11, 1, 6, 0} -#define NXFONT_BITMAP_249 {0x30, 0x18, 0x0, 0xc6, 0xc6, 0xc6, 0xc6, 0xc6, 0xc6, 0xee, 0x76} - -/* uacute (250) */ -#define NXFONT_METRICS_250 {1, 7, 11, 1, 6, 0} -#define NXFONT_BITMAP_250 {0xc, 0x18, 0x0, 0xc6, 0xc6, 0xc6, 0xc6, 0xc6, 0xc6, 0xee, 0x76} - -/* ucircumflex (251) */ -#define NXFONT_METRICS_251 {1, 7, 11, 1, 6, 0} -#define NXFONT_BITMAP_251 {0x38, 0x6c, 0x0, 0xc6, 0xc6, 0xc6, 0xc6, 0xc6, 0xc6, 0xee, 0x76} - -/* udieresis (252) */ -#define NXFONT_METRICS_252 {1, 7, 11, 1, 6, 0} -#define NXFONT_BITMAP_252 {0x6c, 0x6c, 0x0, 0xc6, 0xc6, 0xc6, 0xc6, 0xc6, 0xc6, 0xee, 0x76} - -/* yacute (253) */ -#define NXFONT_METRICS_253 {1, 8, 14, 0, 6, 0} -#define NXFONT_BITMAP_253 {0xc, 0x18, 0x0, 0xc3, 0xc3, 0x66, 0x66, 0x24, 0x3c, 0x18, 0x18, 0x18, 0x30, 0x70} - -/* thorn (254) */ -#define NXFONT_METRICS_254 {1, 7, 14, 1, 6, 0} -#define NXFONT_BITMAP_254 {0xc0, 0xc0, 0xc0, 0xd8, 0xec, 0xc6, 0xc6, 0xc6, 0xc6, 0xec, 0xd8, 0xc0, 0xc0, 0xc0} - -/* ydieresis (255) */ -#define NXFONT_METRICS_255 {1, 8, 14, 0, 6, 0} -#define NXFONT_BITMAP_255 {0x36, 0x36, 0x0, 0xc3, 0xc3, 0x66, 0x66, 0x24, 0x3c, 0x18, 0x18, 0x18, 0x30, 0x70} - -/**************************************************************************** - * Public Types - ****************************************************************************/ - -/**************************************************************************** - * Public Data - ****************************************************************************/ - -#undef EXTERN -#if defined(__cplusplus) -#define EXTERN extern "C" -extern "C" { -#else -#define EXTERN extern -#endif - -/**************************************************************************** - * Public Functions - ****************************************************************************/ - -#undef EXTERN -#if defined(__cplusplus) -} -#endif - -#endif /* __GRAPHICS_NXFONTS_NXFONTS_SANS17X23B_H */ diff --git a/nuttx/graphics/nxfonts/nxfonts_sans20x26.h b/nuttx/graphics/nxfonts/nxfonts_sans20x26.h deleted file mode 100644 index c887da5e5..000000000 --- a/nuttx/graphics/nxfonts/nxfonts_sans20x26.h +++ /dev/null @@ -1,849 +0,0 @@ -/**************************************************************************** - * graphics/nxfonts/nxfonts_serif30x26.h - * - * Copyright (C) 2011-2012 NX Engineering, S.A., All rights reserved. - * Author: Gregory Nutt <gnutt@nuttx.org> - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * 3. Neither the name NuttX nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT} - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING} - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - ****************************************************************************/ - -#ifndef __GRAPHICS_NXFONTS_NXFONTS_SANS20X26_H -#define __GRAPHICS_NXFONTS_NXFONTS_SANS20X26_H - -/**************************************************************************** - * Included Files - ****************************************************************************/ - -/**************************************************************************** - * Pre-Processor Definitions - ****************************************************************************/ - -/* Font ID */ - -#define NXFONT_ID FONTID_SANS20X26 - -/* Ranges of 7-bit and 8-bit fonts */ - -#define NXFONT_MIN7BIT 33 -#define NXFONT_MAX7BIT 126 - -#define NXFONT_MIN8BIT 161 -#define NXFONT_MAX8BIT 255 - -/* Maximum height and width of any glyph in the set */ - -#define NXFONT_MAXHEIGHT 26 -#define NXFONT_MAXWIDTH 20 - -/* The width of a space */ - -#define NXFONT_SPACEWIDTH 5 - -/* exclam (33) */ -#define NXFONT_METRICS_33 {1, 1, 12, 2, 8, 0} -#define NXFONT_BITMAP_33 {0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x0, 0x80, 0x80} - -/* quotedbl (34) */ -#define NXFONT_METRICS_34 {1, 4, 4, 1, 8, 0} -#define NXFONT_BITMAP_34 {0x90, 0x90, 0x90, 0x90} - -/* numbersign (35) */ -#define NXFONT_METRICS_35 {1, 8, 11, 0, 9, 0} -#define NXFONT_BITMAP_35 {0x12, 0x12, 0x12, 0x7f, 0x24, 0x24, 0x24, 0xfe, 0x48, 0x48, 0x48} - -/* dollar (36) */ -#define NXFONT_METRICS_36 {1, 7, 15, 1, 7, 0} -#define NXFONT_BITMAP_36 {0x10, 0x7c, 0x92, 0x92, 0x90, 0x50, 0x30, 0x18, 0x14, 0x12, 0x92, 0x92, 0x7c, 0x10, 0x10} - -/* percent (37) */ -#define NXFONT_METRICS_37 {2, 12, 12, 0, 8, 0} -#define NXFONT_BITMAP_37 {0x70, 0x40, 0x88, 0x80, 0x88, 0x80, 0x89, 0x0, 0x72, 0x0, 0x2, 0x0, 0x4, 0x0, 0x4, 0xe0, 0x9, 0x10, 0x11, 0x10, 0x11, 0x10, 0x20, 0xe0} - -/* ampersand (38) */ -#define NXFONT_METRICS_38 {2, 10, 12, 0, 8, 0} -#define NXFONT_BITMAP_38 {0x18, 0x0, 0x24, 0x0, 0x42, 0x0, 0x42, 0x0, 0x24, 0x0, 0x18, 0x0, 0x29, 0x0, 0x45, 0x0, 0x82, 0x0, 0x83, 0x0, 0x44, 0x80, 0x38, 0x40} - -/* quotesingle (39) */ -#define NXFONT_METRICS_39 {1, 2, 4, 0, 8, 0} -#define NXFONT_BITMAP_39 {0xc0, 0xc0, 0x40, 0x40} - -/* parenleft (40) */ -#define NXFONT_METRICS_40 {1, 3, 16, 1, 8, 0} -#define NXFONT_BITMAP_40 {0x20, 0x40, 0x40, 0x40, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x40, 0x40, 0x40, 0x20} - -/* parenright (41) */ -#define NXFONT_METRICS_41 {1, 3, 16, 1, 8, 0} -#define NXFONT_BITMAP_41 {0x80, 0x40, 0x40, 0x40, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x40, 0x40, 0x40, 0x80} - -/* asterisk (42) */ -#define NXFONT_METRICS_42 {1, 5, 5, 0, 8, 0} -#define NXFONT_BITMAP_42 {0x20, 0xa8, 0x70, 0x50, 0x88} - -/* plus (43) */ -#define NXFONT_METRICS_43 {2, 9, 9, 0, 11, 0} -#define NXFONT_BITMAP_43 {0x8, 0x0, 0x8, 0x0, 0x8, 0x0, 0x8, 0x0, 0xff, 0x80, 0x8, 0x0, 0x8, 0x0, 0x8, 0x0, 0x8, 0x0} - -/* comma (44) */ -#define NXFONT_METRICS_44 {1, 2, 4, 1, 18, 0} -#define NXFONT_BITMAP_44 {0x40, 0x40, 0x40, 0x80} - -/* hyphen (45) */ -#define NXFONT_METRICS_45 {1, 4, 1, 0, 15, 0} -#define NXFONT_BITMAP_45 {0xf0} - -/* period (46) */ -#define NXFONT_METRICS_46 {1, 1, 2, 2, 18, 0} -#define NXFONT_BITMAP_46 {0x80, 0x80} - -/* slash (47) */ -#define NXFONT_METRICS_47 {1, 4, 12, 0, 8, 0} -#define NXFONT_BITMAP_47 {0x10, 0x10, 0x20, 0x20, 0x20, 0x20, 0x40, 0x40, 0x40, 0x80, 0x80, 0x80} - -/* zero (48) */ -#define NXFONT_METRICS_48 {1, 7, 12, 1, 8, 0} -#define NXFONT_BITMAP_48 {0x38, 0x44, 0x44, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x44, 0x44, 0x38} - -/* one (49) */ -#define NXFONT_METRICS_49 {1, 3, 12, 3, 8, 0} -#define NXFONT_BITMAP_49 {0x20, 0x20, 0x60, 0xa0, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20} - -/* two (50) */ -#define NXFONT_METRICS_50 {1, 7, 12, 1, 8, 0} -#define NXFONT_BITMAP_50 {0x38, 0x44, 0x82, 0x82, 0x2, 0x4, 0x8, 0x30, 0x40, 0x80, 0x80, 0xfe} - -/* three (51) */ -#define NXFONT_METRICS_51 {1, 7, 12, 1, 8, 0} -#define NXFONT_BITMAP_51 {0x38, 0x44, 0x82, 0x82, 0x4, 0x38, 0x4, 0x2, 0x82, 0x82, 0x44, 0x38} - -/* four (52) */ -#define NXFONT_METRICS_52 {1, 8, 12, 0, 8, 0} -#define NXFONT_BITMAP_52 {0xc, 0x14, 0x14, 0x24, 0x24, 0x44, 0x44, 0x84, 0xff, 0x4, 0x4, 0x4} - -/* five (53) */ -#define NXFONT_METRICS_53 {1, 7, 12, 1, 8, 0} -#define NXFONT_BITMAP_53 {0x3e, 0x20, 0x20, 0x40, 0x78, 0x44, 0x2, 0x2, 0x2, 0x82, 0x44, 0x38} - -/* six (54) */ -#define NXFONT_METRICS_54 {1, 7, 12, 1, 8, 0} -#define NXFONT_BITMAP_54 {0x3c, 0x42, 0x82, 0x80, 0xb8, 0xc4, 0x82, 0x82, 0x82, 0x82, 0x44, 0x38} - -/* seven (55) */ -#define NXFONT_METRICS_55 {1, 8, 12, 0, 8, 0} -#define NXFONT_BITMAP_55 {0xff, 0x1, 0x2, 0x4, 0x4, 0x8, 0x8, 0x10, 0x10, 0x10, 0x20, 0x20} - -/* eight (56) */ -#define NXFONT_METRICS_56 {1, 7, 12, 1, 8, 0} -#define NXFONT_BITMAP_56 {0x38, 0x44, 0x82, 0x82, 0x44, 0x38, 0x44, 0x82, 0x82, 0x82, 0x44, 0x38} - -/* nine (57) */ -#define NXFONT_METRICS_57 {1, 7, 12, 1, 8, 0} -#define NXFONT_BITMAP_57 {0x38, 0x44, 0x82, 0x82, 0x82, 0x82, 0x46, 0x3a, 0x2, 0x82, 0x84, 0x78} - -/* colon (58) */ -#define NXFONT_METRICS_58 {1, 1, 9, 2, 11, 0} -#define NXFONT_BITMAP_58 {0x80, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x80, 0x80} - -/* semicolon (59) */ -#define NXFONT_METRICS_59 {1, 2, 11, 1, 11, 0} -#define NXFONT_BITMAP_59 {0x40, 0x40, 0x0, 0x0, 0x0, 0x0, 0x0, 0x40, 0x40, 0x40, 0x80} - -/* less (60) */ -#define NXFONT_METRICS_60 {2, 9, 9, 0, 11, 0} -#define NXFONT_BITMAP_60 {0x1, 0x80, 0x6, 0x0, 0x18, 0x0, 0x60, 0x0, 0x80, 0x0, 0x60, 0x0, 0x18, 0x0, 0x6, 0x0, 0x1, 0x80} - -/* equal (61) */ -#define NXFONT_METRICS_61 {1, 8, 4, 0, 14, 0} -#define NXFONT_BITMAP_61 {0xff, 0x0, 0x0, 0xff} - -/* greater (62) */ -#define NXFONT_METRICS_62 {2, 9, 9, 1, 11, 0} -#define NXFONT_BITMAP_62 {0xc0, 0x0, 0x30, 0x0, 0xc, 0x0, 0x3, 0x0, 0x0, 0x80, 0x3, 0x0, 0xc, 0x0, 0x30, 0x0, 0xc0, 0x0} - -/* question (63) */ -#define NXFONT_METRICS_63 {1, 7, 12, 1, 8, 0} -#define NXFONT_BITMAP_63 {0x38, 0x44, 0x82, 0x82, 0x2, 0x4, 0x8, 0x10, 0x10, 0x0, 0x10, 0x10} - -/* at (64) */ -#define NXFONT_METRICS_64 {2, 13, 14, 1, 8, 0} -#define NXFONT_BITMAP_64 {0x7, 0x80, 0x18, 0x60, 0x20, 0x10, 0x43, 0xd0, 0x4c, 0x48, 0x88, 0x48, 0x90, 0x88, 0x90, 0x88, 0x90, 0x90, 0x99, 0x90, 0x4e, 0x60, 0x40, 0x0, 0x30, 0x60, 0xf, 0x80} - -/* A (65) */ -#define NXFONT_METRICS_65 {2, 10, 12, 0, 8, 0} -#define NXFONT_BITMAP_65 {0xc, 0x0, 0xc, 0x0, 0x12, 0x0, 0x12, 0x0, 0x12, 0x0, 0x21, 0x0, 0x21, 0x0, 0x7f, 0x80, 0x40, 0x80, 0x40, 0x80, 0x80, 0x40, 0x80, 0x40} - -/* B (66) */ -#define NXFONT_METRICS_66 {2, 9, 12, 1, 8, 0} -#define NXFONT_BITMAP_66 {0xfc, 0x0, 0x82, 0x0, 0x81, 0x0, 0x81, 0x0, 0x82, 0x0, 0xfe, 0x0, 0x81, 0x0, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x81, 0x0, 0xfe, 0x0} - -/* C (67) */ -#define NXFONT_METRICS_67 {2, 10, 12, 1, 8, 0} -#define NXFONT_BITMAP_67 {0xf, 0x0, 0x30, 0x80, 0x40, 0x40, 0x40, 0x0, 0x80, 0x0, 0x80, 0x0, 0x80, 0x0, 0x80, 0x0, 0x40, 0x0, 0x40, 0x40, 0x30, 0x80, 0xf, 0x0} - -/* D (68) */ -#define NXFONT_METRICS_68 {2, 10, 12, 1, 8, 0} -#define NXFONT_BITMAP_68 {0xfc, 0x0, 0x83, 0x0, 0x80, 0x80, 0x80, 0x80, 0x80, 0x40, 0x80, 0x40, 0x80, 0x40, 0x80, 0x40, 0x80, 0x80, 0x80, 0x80, 0x83, 0x0, 0xfc, 0x0} - -/* E (69) */ -#define NXFONT_METRICS_69 {1, 8, 12, 1, 8, 0} -#define NXFONT_BITMAP_69 {0xff, 0x80, 0x80, 0x80, 0x80, 0xff, 0x80, 0x80, 0x80, 0x80, 0x80, 0xff} - -/* F (70) */ -#define NXFONT_METRICS_70 {1, 7, 12, 1, 8, 0} -#define NXFONT_BITMAP_70 {0xfe, 0x80, 0x80, 0x80, 0x80, 0xfe, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80} - -/* G (71) */ -#define NXFONT_METRICS_71 {2, 10, 12, 1, 8, 0} -#define NXFONT_BITMAP_71 {0xe, 0x0, 0x31, 0x80, 0x40, 0x40, 0x40, 0x0, 0x80, 0x0, 0x80, 0x0, 0x87, 0xc0, 0x80, 0x40, 0x40, 0x40, 0x40, 0xc0, 0x31, 0x40, 0xe, 0x40} - -/* H (72) */ -#define NXFONT_METRICS_72 {2, 9, 12, 1, 8, 0} -#define NXFONT_BITMAP_72 {0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0xff, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80} - -/* I (73) */ -#define NXFONT_METRICS_73 {1, 1, 12, 1, 8, 0} -#define NXFONT_BITMAP_73 {0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80} - -/* J (74) */ -#define NXFONT_METRICS_74 {1, 6, 12, 0, 8, 0} -#define NXFONT_BITMAP_74 {0x4, 0x4, 0x4, 0x4, 0x4, 0x4, 0x4, 0x4, 0x84, 0x84, 0x84, 0x78} - -/* K (75) */ -#define NXFONT_METRICS_75 {1, 8, 12, 1, 8, 0} -#define NXFONT_BITMAP_75 {0x81, 0x82, 0x84, 0x88, 0x90, 0xb0, 0xc8, 0x88, 0x84, 0x82, 0x82, 0x81} - -/* L (76) */ -#define NXFONT_METRICS_76 {1, 7, 12, 1, 8, 0} -#define NXFONT_BITMAP_76 {0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0xfe} - -/* M (77) */ -#define NXFONT_METRICS_77 {2, 11, 12, 1, 8, 0} -#define NXFONT_BITMAP_77 {0x80, 0x20, 0xc0, 0x60, 0xc0, 0x60, 0xa0, 0xa0, 0xa0, 0xa0, 0xa0, 0xa0, 0x91, 0x20, 0x91, 0x20, 0x91, 0x20, 0x8a, 0x20, 0x8a, 0x20, 0x84, 0x20} - -/* N (78) */ -#define NXFONT_METRICS_78 {2, 9, 12, 1, 8, 0} -#define NXFONT_BITMAP_78 {0x80, 0x80, 0xc0, 0x80, 0xa0, 0x80, 0xa0, 0x80, 0x90, 0x80, 0x88, 0x80, 0x88, 0x80, 0x84, 0x80, 0x82, 0x80, 0x82, 0x80, 0x81, 0x80, 0x80, 0x80} - -/* O (79) */ -#define NXFONT_METRICS_79 {2, 11, 12, 1, 8, 0} -#define NXFONT_BITMAP_79 {0xe, 0x0, 0x31, 0x80, 0x40, 0x40, 0x40, 0x40, 0x80, 0x20, 0x80, 0x20, 0x80, 0x20, 0x80, 0x20, 0x40, 0x40, 0x40, 0x40, 0x31, 0x80, 0xe, 0x0} - -/* P (80) */ -#define NXFONT_METRICS_80 {1, 8, 12, 2, 8, 0} -#define NXFONT_BITMAP_80 {0xfc, 0x82, 0x81, 0x81, 0x82, 0xfc, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80} - -/* Q (81) */ -#define NXFONT_METRICS_81 {2, 11, 13, 1, 8, 0} -#define NXFONT_BITMAP_81 {0xe, 0x0, 0x31, 0x80, 0x40, 0x40, 0x40, 0x40, 0x80, 0x20, 0x80, 0x20, 0x80, 0x20, 0x80, 0x20, 0x40, 0x40, 0x42, 0x40, 0x31, 0x80, 0xe, 0x80, 0x0, 0x40} - -/* R (82) */ -#define NXFONT_METRICS_82 {2, 9, 12, 2, 8, 0} -#define NXFONT_BITMAP_82 {0xfc, 0x0, 0x82, 0x0, 0x81, 0x0, 0x81, 0x0, 0x82, 0x0, 0xfc, 0x0, 0x82, 0x0, 0x81, 0x0, 0x81, 0x0, 0x81, 0x0, 0x81, 0x0, 0x80, 0x80} - -/* S (83) */ -#define NXFONT_METRICS_83 {2, 9, 12, 1, 8, 0} -#define NXFONT_BITMAP_83 {0x3e, 0x0, 0x41, 0x0, 0x80, 0x80, 0x80, 0x80, 0x40, 0x0, 0x30, 0x0, 0xe, 0x0, 0x1, 0x0, 0x80, 0x80, 0x80, 0x80, 0x41, 0x0, 0x3e, 0x0} - -/* T (84) */ -#define NXFONT_METRICS_84 {2, 9, 12, 0, 8, 0} -#define NXFONT_BITMAP_84 {0xff, 0x80, 0x8, 0x0, 0x8, 0x0, 0x8, 0x0, 0x8, 0x0, 0x8, 0x0, 0x8, 0x0, 0x8, 0x0, 0x8, 0x0, 0x8, 0x0, 0x8, 0x0, 0x8, 0x0} - -/* U (85) */ -#define NXFONT_METRICS_85 {2, 9, 12, 1, 8, 0} -#define NXFONT_BITMAP_85 {0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x41, 0x0, 0x3e, 0x0} - -/* V (86) */ -#define NXFONT_METRICS_86 {2, 10, 12, 0, 8, 0} -#define NXFONT_BITMAP_86 {0x80, 0x40, 0x80, 0x40, 0x40, 0x80, 0x40, 0x80, 0x40, 0x80, 0x21, 0x0, 0x21, 0x0, 0x12, 0x0, 0x12, 0x0, 0x12, 0x0, 0xc, 0x0, 0xc, 0x0} - -/* W (87) */ -#define NXFONT_METRICS_87 {2, 13, 12, 1, 8, 0} -#define NXFONT_BITMAP_87 {0x82, 0x8, 0x82, 0x8, 0x82, 0x8, 0x45, 0x10, 0x45, 0x10, 0x45, 0x10, 0x28, 0xa0, 0x28, 0xa0, 0x28, 0xa0, 0x10, 0x40, 0x10, 0x40, 0x10, 0x40} - -/* X (88) */ -#define NXFONT_METRICS_88 {1, 8, 12, 1, 8, 0} -#define NXFONT_BITMAP_88 {0x81, 0x42, 0x42, 0x24, 0x24, 0x18, 0x18, 0x24, 0x24, 0x42, 0x42, 0x81} - -/* Y (89) */ -#define NXFONT_METRICS_89 {2, 9, 12, 1, 8, 0} -#define NXFONT_BITMAP_89 {0x80, 0x80, 0x41, 0x0, 0x41, 0x0, 0x22, 0x0, 0x22, 0x0, 0x14, 0x0, 0x1c, 0x0, 0x8, 0x0, 0x8, 0x0, 0x8, 0x0, 0x8, 0x0, 0x8, 0x0} - -/* Z (90) */ -#define NXFONT_METRICS_90 {2, 9, 12, 0, 8, 0} -#define NXFONT_BITMAP_90 {0x7f, 0x80, 0x1, 0x0, 0x3, 0x0, 0x2, 0x0, 0x4, 0x0, 0xc, 0x0, 0x8, 0x0, 0x10, 0x0, 0x30, 0x0, 0x20, 0x0, 0x40, 0x0, 0xff, 0x80} - -/* bracketleft (91) */ -#define NXFONT_METRICS_91 {1, 3, 15, 1, 8, 0} -#define NXFONT_BITMAP_91 {0xe0, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0xe0} - -/* backslash (92) */ -#define NXFONT_METRICS_92 {1, 4, 12, 0, 8, 0} -#define NXFONT_BITMAP_92 {0x80, 0x80, 0x40, 0x40, 0x40, 0x40, 0x20, 0x20, 0x20, 0x10, 0x10, 0x10} - -/* bracketright (93) */ -#define NXFONT_METRICS_93 {1, 3, 15, 0, 8, 0} -#define NXFONT_BITMAP_93 {0xe0, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0xe0} - -/* asciicircum (94) */ -#define NXFONT_METRICS_94 {1, 7, 7, 0, 8, 0} -#define NXFONT_BITMAP_94 {0x10, 0x28, 0x28, 0x44, 0x44, 0x82, 0x82} - -/* underscore (95) */ -#define NXFONT_METRICS_95 {2, 9, 1, 0, 22, 0} -#define NXFONT_BITMAP_95 {0xff, 0x80} - -/* grave (96) */ -#define NXFONT_METRICS_96 {1, 3, 3, 0, 7, 0} -#define NXFONT_BITMAP_96 {0x80, 0xc0, 0x20} - -/* a (97) */ -#define NXFONT_METRICS_97 {1, 8, 9, 1, 11, 0} -#define NXFONT_BITMAP_97 {0x7c, 0x82, 0x2, 0x6, 0x7a, 0x82, 0x82, 0x86, 0x7b} - -/* b (98) */ -#define NXFONT_METRICS_98 {1, 7, 12, 1, 8, 0} -#define NXFONT_BITMAP_98 {0x80, 0x80, 0x80, 0xb8, 0xc4, 0x82, 0x82, 0x82, 0x82, 0x82, 0xc4, 0xb8} - -/* c (99) */ -#define NXFONT_METRICS_99 {1, 7, 9, 1, 11, 0} -#define NXFONT_BITMAP_99 {0x38, 0x44, 0x82, 0x80, 0x80, 0x80, 0x82, 0x44, 0x38} - -/* d (100) */ -#define NXFONT_METRICS_100 {1, 7, 12, 1, 8, 0} -#define NXFONT_BITMAP_100 {0x2, 0x2, 0x2, 0x3a, 0x46, 0x82, 0x82, 0x82, 0x82, 0x82, 0x46, 0x3a} - -/* e (101) */ -#define NXFONT_METRICS_101 {1, 7, 9, 1, 11, 0} -#define NXFONT_BITMAP_101 {0x38, 0x44, 0x82, 0x82, 0xfe, 0x80, 0x82, 0x44, 0x38} - -/* f (102) */ -#define NXFONT_METRICS_102 {1, 4, 12, 1, 8, 0} -#define NXFONT_BITMAP_102 {0x30, 0x40, 0x40, 0xf0, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40} - -/* g (103) */ -#define NXFONT_METRICS_103 {1, 7, 13, 1, 11, 0} -#define NXFONT_BITMAP_103 {0x3a, 0x46, 0x82, 0x82, 0x82, 0x82, 0x82, 0x46, 0x3a, 0x2, 0x82, 0x84, 0x78} - -/* h (104) */ -#define NXFONT_METRICS_104 {1, 7, 12, 1, 8, 0} -#define NXFONT_BITMAP_104 {0x80, 0x80, 0x80, 0xbc, 0xc2, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82} - -/* i (105) */ -#define NXFONT_METRICS_105 {1, 1, 12, 1, 8, 0} -#define NXFONT_BITMAP_105 {0x80, 0x80, 0x0, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80} - -/* j (106) -- NOTE: Xoffset should be -1, not 0. */ -#define NXFONT_METRICS_106 {1, 3, 16, 0, 8, 0} -#define NXFONT_BITMAP_106 {0x20, 0x20, 0x0, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0xc0} - -/* k (107) */ -#define NXFONT_METRICS_107 {1, 7, 12, 0, 8, 0} -#define NXFONT_BITMAP_107 {0x80, 0x80, 0x80, 0x84, 0x88, 0x90, 0xa0, 0xe0, 0x90, 0x88, 0x84, 0x82} - -/* l (108) */ -#define NXFONT_METRICS_108 {1, 1, 12, 1, 8, 0} -#define NXFONT_BITMAP_108 {0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80} - -/* m (109) */ -#define NXFONT_METRICS_109 {2, 11, 9, 2, 11, 0} -#define NXFONT_BITMAP_109 {0xb9, 0xc0, 0xc6, 0x20, 0x84, 0x20, 0x84, 0x20, 0x84, 0x20, 0x84, 0x20, 0x84, 0x20, 0x84, 0x20, 0x84, 0x20} - -/* n (110) */ -#define NXFONT_METRICS_110 {1, 7, 9, 1, 11, 0} -#define NXFONT_BITMAP_110 {0xbc, 0xc2, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82} - -/* o (111) */ -#define NXFONT_METRICS_111 {1, 7, 9, 1, 11, 0} -#define NXFONT_BITMAP_111 {0x38, 0x44, 0x82, 0x82, 0x82, 0x82, 0x82, 0x44, 0x38} - -/* p (112) */ -#define NXFONT_METRICS_112 {1, 7, 13, 1, 11, 0} -#define NXFONT_BITMAP_112 {0xb8, 0xc4, 0x82, 0x82, 0x82, 0x82, 0x82, 0xc4, 0xb8, 0x80, 0x80, 0x80, 0x80} - -/* q (113) */ -#define NXFONT_METRICS_113 {1, 7, 13, 1, 11, 0} -#define NXFONT_BITMAP_113 {0x3a, 0x46, 0x82, 0x82, 0x82, 0x82, 0x82, 0x46, 0x3a, 0x2, 0x2, 0x2, 0x2} - -/* r (114) */ -#define NXFONT_METRICS_114 {1, 4, 9, 1, 11, 0} -#define NXFONT_BITMAP_114 {0xb0, 0xc0, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80} - -/* s (115) */ -#define NXFONT_METRICS_115 {1, 6, 9, 1, 11, 0} -#define NXFONT_BITMAP_115 {0x78, 0x84, 0x84, 0xc0, 0x30, 0xc, 0x84, 0x84, 0x78} - -/* t (116) */ -#define NXFONT_METRICS_116 {1, 4, 11, 1, 9, 0} -#define NXFONT_BITMAP_116 {0x40, 0x40, 0xf0, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x30} - -/* u (117) */ -#define NXFONT_METRICS_117 {1, 7, 9, 1, 11, 0} -#define NXFONT_BITMAP_117 {0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x86, 0x7a} - -/* v (118) */ -#define NXFONT_METRICS_118 {1, 7, 9, 0, 11, 0} -#define NXFONT_BITMAP_118 {0x82, 0x82, 0x44, 0x44, 0x44, 0x28, 0x28, 0x38, 0x10} - -/* w (119) */ -#define NXFONT_METRICS_119 {2, 11, 9, 0, 11, 0} -#define NXFONT_BITMAP_119 {0x84, 0x20, 0x84, 0x20, 0x44, 0x40, 0x4e, 0x40, 0x4a, 0x40, 0x2a, 0x80, 0x2a, 0x80, 0x11, 0x0, 0x11, 0x0} - -/* x (120) */ -#define NXFONT_METRICS_120 {1, 7, 9, 0, 11, 0} -#define NXFONT_BITMAP_120 {0x82, 0x44, 0x44, 0x28, 0x10, 0x28, 0x44, 0x44, 0x82} - -/* y (121) */ -#define NXFONT_METRICS_121 {1, 7, 12, 0, 11, 0} -#define NXFONT_BITMAP_121 {0x82, 0x82, 0x44, 0x44, 0x28, 0x28, 0x38, 0x10, 0x10, 0x20, 0x20, 0xc0} - -/* z (122) */ -#define NXFONT_METRICS_122 {1, 6, 9, 1, 11, 0} -#define NXFONT_BITMAP_122 {0xfc, 0x4, 0x8, 0x10, 0x20, 0x20, 0x40, 0x80, 0xfc} - -/* braceleft (123) */ -#define NXFONT_METRICS_123 {1, 3, 16, 1, 8, 0} -#define NXFONT_BITMAP_123 {0x20, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x80, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x20} - -/* bar (124) */ -#define NXFONT_METRICS_124 {1, 1, 16, 1, 8, 0} -#define NXFONT_BITMAP_124 {0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80} - -/* braceright (125) */ -#define NXFONT_METRICS_125 {1, 3, 16, 1, 8, 0} -#define NXFONT_BITMAP_125 {0x80, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x20, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x80} - -/* asciitilde (126) */ -#define NXFONT_METRICS_126 {1, 8, 2, 1, 14, 0} -#define NXFONT_BITMAP_126 {0x71, 0x8e} - -/* exclamdown (161) */ -#define NXFONT_METRICS_161 {1, 1, 12, 2, 11, 0} -#define NXFONT_BITMAP_161 {0x80, 0x80, 0x0, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80} - -/* cent (162) */ -#define NXFONT_METRICS_162 {1, 7, 13, 1, 9, 0} -#define NXFONT_BITMAP_162 {0x4, 0x4, 0x38, 0x4c, 0x8a, 0x90, 0x90, 0x90, 0xa2, 0x64, 0x38, 0x40, 0x40} - -/* sterling (163) */ -#define NXFONT_METRICS_163 {1, 8, 12, 0, 8, 0} -#define NXFONT_BITMAP_163 {0xe, 0x11, 0x21, 0x20, 0x20, 0x10, 0x7e, 0x8, 0x10, 0x20, 0x79, 0x86} - -/* currency (164) */ -#define NXFONT_METRICS_164 {1, 8, 7, 0, 10, 0} -#define NXFONT_BITMAP_164 {0xbd, 0x66, 0x42, 0x42, 0x42, 0x66, 0xbd} - -/* yen (165) */ -#define NXFONT_METRICS_165 {2, 9, 12, 0, 8, 0} -#define NXFONT_BITMAP_165 {0x80, 0x80, 0x41, 0x0, 0x41, 0x0, 0x22, 0x0, 0x22, 0x0, 0x14, 0x0, 0x7f, 0x0, 0x8, 0x0, 0x7f, 0x0, 0x8, 0x0, 0x8, 0x0, 0x8, 0x0} - -/* brokenbar (166) */ -#define NXFONT_METRICS_166 {1, 1, 16, 1, 8, 0} -#define NXFONT_BITMAP_166 {0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x0, 0x0, 0x0, 0x0, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80} - -/* section (167) */ -#define NXFONT_METRICS_167 {1, 7, 15, 1, 8, 0} -#define NXFONT_BITMAP_167 {0x38, 0x44, 0x46, 0x60, 0x98, 0x8c, 0x86, 0xc2, 0x62, 0x32, 0x1c, 0x4, 0xc4, 0x44, 0x38} - -/* dieresis (168) */ -#define NXFONT_METRICS_168 {1, 3, 2, 1, 8, 0} -#define NXFONT_BITMAP_168 {0xa0, 0xa0} - -/* copyright (169) */ -#define NXFONT_METRICS_169 {2, 12, 12, 0, 8, 0} -#define NXFONT_BITMAP_169 {0xf, 0x0, 0x30, 0xc0, 0x47, 0x20, 0x48, 0xa0, 0x90, 0x10, 0x90, 0x10, 0x90, 0x10, 0x90, 0x10, 0x48, 0xa0, 0x47, 0x20, 0x30, 0xc0, 0xf, 0x0} - -/* ordfeminine (170) */ -#define NXFONT_METRICS_170 {1, 5, 7, 1, 8, 0} -#define NXFONT_BITMAP_170 {0x60, 0x90, 0x70, 0x90, 0x78, 0x0, 0xf8} - -/* guillemotleft (171) */ -#define NXFONT_METRICS_171 {1, 6, 6, 1, 12, 0} -#define NXFONT_BITMAP_171 {0x24, 0x48, 0x90, 0x90, 0x48, 0x24} - -/* logicalnot (172) */ -#define NXFONT_METRICS_172 {1, 8, 5, 0, 14, 0} -#define NXFONT_BITMAP_172 {0xff, 0x1, 0x1, 0x1, 0x1} - -/* hyphen (173) */ -#define NXFONT_METRICS_173 {1, 4, 1, 0, 15, 0} -#define NXFONT_BITMAP_173 {0xf0} - -/* registered (174) */ -#define NXFONT_METRICS_174 {2, 12, 12, 0, 8, 0} -#define NXFONT_BITMAP_174 {0xf, 0x0, 0x30, 0xc0, 0x40, 0x20, 0x4f, 0x20, 0x88, 0x90, 0x88, 0x90, 0x8f, 0x10, 0x8a, 0x10, 0x49, 0x20, 0x48, 0xa0, 0x30, 0xc0, 0xf, 0x0} - -/* macron (175) */ -#define NXFONT_METRICS_175 {1, 5, 1, 0, 9, 0} -#define NXFONT_BITMAP_175 {0xf8} - -/* degree (176) */ -#define NXFONT_METRICS_176 {1, 5, 5, 1, 8, 0} -#define NXFONT_BITMAP_176 {0x70, 0x88, 0x88, 0x88, 0x70} - -/* plusminus (177) */ -#define NXFONT_METRICS_177 {2, 9, 11, 0, 9, 0} -#define NXFONT_BITMAP_177 {0x8, 0x0, 0x8, 0x0, 0x8, 0x0, 0x8, 0x0, 0xff, 0x80, 0x8, 0x0, 0x8, 0x0, 0x8, 0x0, 0x8, 0x0, 0x0, 0x0, 0xff, 0x80} - -/* twosuperior (178) */ -#define NXFONT_METRICS_178 {1, 5, 7, 0, 8, 0} -#define NXFONT_BITMAP_178 {0x70, 0x88, 0x88, 0x10, 0x60, 0x80, 0xf8} - -/* threesuperior (179) */ -#define NXFONT_METRICS_179 {1, 5, 7, 0, 8, 0} -#define NXFONT_BITMAP_179 {0x70, 0x88, 0x8, 0x30, 0x8, 0x88, 0x70} - -/* acute (180) */ -#define NXFONT_METRICS_180 {1, 3, 3, 1, 7, 0} -#define NXFONT_BITMAP_180 {0x20, 0x60, 0x80} - -/* mu (181) */ -#define NXFONT_METRICS_181 {1, 7, 13, 1, 11, 0} -#define NXFONT_BITMAP_181 {0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x86, 0xfa, 0x80, 0x80, 0x80, 0x80} - -/* paragraph (182) */ -#define NXFONT_METRICS_182 {1, 7, 15, 1, 8, 0} -#define NXFONT_BITMAP_182 {0x3e, 0x74, 0xf4, 0xf4, 0xf4, 0xf4, 0x74, 0x34, 0x14, 0x14, 0x14, 0x14, 0x14, 0x14, 0x14} - -/* periodcentered (183) */ -#define NXFONT_METRICS_183 {1, 1, 2, 2, 14, 0} -#define NXFONT_BITMAP_183 {0x80, 0x80} - -/* cedilla (184) */ -#define NXFONT_METRICS_184 {1, 4, 4, 0, 20, 0} -#define NXFONT_BITMAP_184 {0x20, 0x20, 0x90, 0x60} - -/* onesuperior (185) */ -#define NXFONT_METRICS_185 {1, 3, 7, 0, 8, 0} -#define NXFONT_BITMAP_185 {0x20, 0xe0, 0x20, 0x20, 0x20, 0x20, 0x20} - -/* ordmasculine (186) */ -#define NXFONT_METRICS_186 {1, 4, 7, 1, 8, 0} -#define NXFONT_BITMAP_186 {0x60, 0x90, 0x90, 0x90, 0x60, 0x0, 0xf0} - -/* guillemotright (187) */ -#define NXFONT_METRICS_187 {1, 6, 6, 1, 12, 0} -#define NXFONT_BITMAP_187 {0x90, 0x48, 0x24, 0x24, 0x48, 0x90} - -/* onequarter (188) */ -#define NXFONT_METRICS_188 {2, 12, 12, 0, 8, 0} -#define NXFONT_BITMAP_188 {0x20, 0x40, 0xe0, 0x80, 0x20, 0x80, 0x21, 0x0, 0x22, 0x0, 0x22, 0x20, 0x24, 0x60, 0x4, 0xa0, 0x9, 0x20, 0x11, 0xf0, 0x10, 0x20, 0x20, 0x20} - -/* onehalf (189) */ -#define NXFONT_METRICS_189 {2, 12, 13, 0, 7, 0} -#define NXFONT_BITMAP_189 {0x0, 0x40, 0x20, 0x80, 0xe0, 0x80, 0x21, 0x0, 0x22, 0x0, 0x22, 0x0, 0x24, 0xe0, 0x25, 0x10, 0x9, 0x10, 0x8, 0x20, 0x10, 0xc0, 0x21, 0x0, 0x21, 0xf0} - -/* threequarters (190) */ -#define NXFONT_METRICS_190 {2, 13, 12, 0, 8, 0} -#define NXFONT_BITMAP_190 {0x70, 0x40, 0x88, 0x40, 0x8, 0x80, 0x30, 0x80, 0x9, 0x0, 0x89, 0x10, 0x72, 0x30, 0x2, 0x50, 0x4, 0x90, 0x4, 0xf8, 0x8, 0x10, 0x8, 0x10} - -/* questiondown (191) */ -#define NXFONT_METRICS_191 {1, 7, 12, 1, 11, 0} -#define NXFONT_BITMAP_191 {0x10, 0x10, 0x0, 0x10, 0x10, 0x20, 0x40, 0x80, 0x82, 0x82, 0x44, 0x38} - -/* Agrave (192) */ -#define NXFONT_METRICS_192 {2, 10, 16, 0, 4, 0} -#define NXFONT_BITMAP_192 {0x10, 0x0, 0x18, 0x0, 0x4, 0x0, 0x0, 0x0, 0xc, 0x0, 0xc, 0x0, 0x12, 0x0, 0x12, 0x0, 0x12, 0x0, 0x21, 0x0, 0x21, 0x0, 0x7f, 0x80, 0x40, 0x80, 0x40, 0x80, 0x80, 0x40, 0x80, 0x40} - -/* Aacute (193) */ -#define NXFONT_METRICS_193 {2, 10, 16, 0, 4, 0} -#define NXFONT_BITMAP_193 {0x2, 0x0, 0x6, 0x0, 0x8, 0x0, 0x0, 0x0, 0xc, 0x0, 0xc, 0x0, 0x12, 0x0, 0x12, 0x0, 0x12, 0x0, 0x21, 0x0, 0x21, 0x0, 0x7f, 0x80, 0x40, 0x80, 0x40, 0x80, 0x80, 0x40, 0x80, 0x40} - -/* Acircumflex (194) */ -#define NXFONT_METRICS_194 {2, 10, 16, 0, 4, 0} -#define NXFONT_BITMAP_194 {0x4, 0x0, 0xe, 0x0, 0x11, 0x0, 0x0, 0x0, 0xc, 0x0, 0xc, 0x0, 0x12, 0x0, 0x12, 0x0, 0x12, 0x0, 0x21, 0x0, 0x21, 0x0, 0x7f, 0x80, 0x40, 0x80, 0x40, 0x80, 0x80, 0x40, 0x80, 0x40} - -/* Atilde (195) */ -#define NXFONT_METRICS_195 {2, 10, 15, 0, 5, 0} -#define NXFONT_BITMAP_195 {0x1a, 0x0, 0x2c, 0x0, 0x0, 0x0, 0xc, 0x0, 0xc, 0x0, 0x12, 0x0, 0x12, 0x0, 0x12, 0x0, 0x21, 0x0, 0x21, 0x0, 0x7f, 0x80, 0x40, 0x80, 0x40, 0x80, 0x80, 0x40, 0x80, 0x40} - -/* Adieresis (196) */ -#define NXFONT_METRICS_196 {2, 10, 15, 0, 5, 0} -#define NXFONT_BITMAP_196 {0x12, 0x0, 0x12, 0x0, 0x0, 0x0, 0xc, 0x0, 0xc, 0x0, 0x12, 0x0, 0x12, 0x0, 0x12, 0x0, 0x21, 0x0, 0x21, 0x0, 0x7f, 0x80, 0x40, 0x80, 0x40, 0x80, 0x80, 0x40, 0x80, 0x40} - -/* Aring (197) */ -#define NXFONT_METRICS_197 {2, 10, 15, 0, 5, 0} -#define NXFONT_BITMAP_197 {0xc, 0x0, 0x12, 0x0, 0x12, 0x0, 0xc, 0x0, 0xc, 0x0, 0x12, 0x0, 0x12, 0x0, 0x12, 0x0, 0x21, 0x0, 0x21, 0x0, 0x7f, 0x80, 0x40, 0x80, 0x40, 0x80, 0x80, 0x40, 0x80, 0x40} - -/* AE (198) */ -#define NXFONT_METRICS_198 {2, 14, 12, 0, 8, 0} -#define NXFONT_BITMAP_198 {0x7, 0xfc, 0x9, 0x0, 0x9, 0x0, 0x11, 0x0, 0x11, 0x0, 0x21, 0xfc, 0x21, 0x0, 0x7f, 0x0, 0x41, 0x0, 0x41, 0x0, 0x81, 0x0, 0x81, 0xfc} - -/* Ccedilla (199) */ -#define NXFONT_METRICS_199 {2, 10, 16, 1, 8, 0} -#define NXFONT_BITMAP_199 {0xf, 0x0, 0x30, 0x80, 0x40, 0x40, 0x40, 0x0, 0x80, 0x0, 0x80, 0x0, 0x80, 0x0, 0x80, 0x0, 0x40, 0x0, 0x40, 0x40, 0x30, 0x80, 0xf, 0x0, 0x4, 0x0, 0x4, 0x0, 0x12, 0x0, 0xc, 0x0} - -/* Egrave (200) */ -#define NXFONT_METRICS_200 {1, 8, 16, 1, 4, 0} -#define NXFONT_BITMAP_200 {0x20, 0x30, 0x8, 0x0, 0xff, 0x80, 0x80, 0x80, 0x80, 0xff, 0x80, 0x80, 0x80, 0x80, 0x80, 0xff} - -/* Eacute (201) */ -#define NXFONT_METRICS_201 {1, 8, 16, 1, 4, 0} -#define NXFONT_BITMAP_201 {0x4, 0xc, 0x10, 0x0, 0xff, 0x80, 0x80, 0x80, 0x80, 0xff, 0x80, 0x80, 0x80, 0x80, 0x80, 0xff} - -/* Ecircumflex (202) */ -#define NXFONT_METRICS_202 {1, 8, 16, 1, 4, 0} -#define NXFONT_BITMAP_202 {0x10, 0x38, 0x44, 0x0, 0xff, 0x80, 0x80, 0x80, 0x80, 0xff, 0x80, 0x80, 0x80, 0x80, 0x80, 0xff} - -/* Edieresis (203) */ -#define NXFONT_METRICS_203 {1, 8, 15, 1, 5, 0} -#define NXFONT_BITMAP_203 {0x24, 0x24, 0x0, 0xff, 0x80, 0x80, 0x80, 0x80, 0xff, 0x80, 0x80, 0x80, 0x80, 0x80, 0xff} - -/* Igrave (204) */ -#define NXFONT_METRICS_204 {1, 3, 16, 0, 4, 0} -#define NXFONT_BITMAP_204 {0x80, 0xc0, 0x20, 0x0, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40} - -/* Iacute (205) */ -#define NXFONT_METRICS_205 {1, 3, 16, 0, 4, 0} -#define NXFONT_BITMAP_205 {0x20, 0x60, 0x80, 0x0, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40} - -/* Icircumflex (206) -- NOTE: Xoffset should be -1, not 0. */ -#define NXFONT_METRICS_206 {1, 5, 16, 0, 4, 0} -#define NXFONT_BITMAP_206 {0x20, 0x70, 0x88, 0x0, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20} - -/* Idieresis (207) */ -#define NXFONT_METRICS_207 {1, 3, 15, 0, 5, 0} -#define NXFONT_BITMAP_207 {0xa0, 0xa0, 0x0, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40} - -/* Eth (208) */ -#define NXFONT_METRICS_208 {2, 12, 12, 0, 8, 0} -#define NXFONT_BITMAP_208 {0x3f, 0x0, 0x20, 0xc0, 0x20, 0x20, 0x20, 0x20, 0x20, 0x10, 0xf8, 0x10, 0x20, 0x10, 0x20, 0x10, 0x20, 0x20, 0x20, 0x20, 0x20, 0xc0, 0x3f, 0x0} - -/* Ntilde (209) */ -#define NXFONT_METRICS_209 {2, 9, 15, 1, 5, 0} -#define NXFONT_BITMAP_209 {0x1a, 0x0, 0x2c, 0x0, 0x0, 0x0, 0x80, 0x80, 0xc0, 0x80, 0xa0, 0x80, 0xa0, 0x80, 0x90, 0x80, 0x88, 0x80, 0x88, 0x80, 0x84, 0x80, 0x82, 0x80, 0x82, 0x80, 0x81, 0x80, 0x80, 0x80} - -/* Ograve (210) */ -#define NXFONT_METRICS_210 {2, 11, 16, 1, 4, 0} -#define NXFONT_BITMAP_210 {0x8, 0x0, 0xc, 0x0, 0x2, 0x0, 0x0, 0x0, 0xe, 0x0, 0x31, 0x80, 0x40, 0x40, 0x40, 0x40, 0x80, 0x20, 0x80, 0x20, 0x80, 0x20, 0x80, 0x20, 0x40, 0x40, 0x40, 0x40, 0x31, 0x80, 0xe, 0x0} - -/* Oacute (211) */ -#define NXFONT_METRICS_211 {2, 11, 16, 1, 4, 0} -#define NXFONT_BITMAP_211 {0x1, 0x0, 0x3, 0x0, 0x4, 0x0, 0x0, 0x0, 0xe, 0x0, 0x31, 0x80, 0x40, 0x40, 0x40, 0x40, 0x80, 0x20, 0x80, 0x20, 0x80, 0x20, 0x80, 0x20, 0x40, 0x40, 0x40, 0x40, 0x31, 0x80, 0xe, 0x0} - -/* Ocircumflex (212) */ -#define NXFONT_METRICS_212 {2, 11, 16, 1, 4, 0} -#define NXFONT_BITMAP_212 {0x4, 0x0, 0xe, 0x0, 0x11, 0x0, 0x0, 0x0, 0xe, 0x0, 0x31, 0x80, 0x40, 0x40, 0x40, 0x40, 0x80, 0x20, 0x80, 0x20, 0x80, 0x20, 0x80, 0x20, 0x40, 0x40, 0x40, 0x40, 0x31, 0x80, 0xe, 0x0} - -/* Otilde (213) */ -#define NXFONT_METRICS_213 {2, 11, 15, 1, 5, 0} -#define NXFONT_BITMAP_213 {0xd, 0x0, 0x16, 0x0, 0x0, 0x0, 0xe, 0x0, 0x31, 0x80, 0x40, 0x40, 0x40, 0x40, 0x80, 0x20, 0x80, 0x20, 0x80, 0x20, 0x80, 0x20, 0x40, 0x40, 0x40, 0x40, 0x31, 0x80, 0xe, 0x0} - -/* Odieresis (214) */ -#define NXFONT_METRICS_214 {2, 11, 15, 1, 5, 0} -#define NXFONT_BITMAP_214 {0x11, 0x0, 0x11, 0x0, 0x0, 0x0, 0xe, 0x0, 0x31, 0x80, 0x40, 0x40, 0x40, 0x40, 0x80, 0x20, 0x80, 0x20, 0x80, 0x20, 0x80, 0x20, 0x40, 0x40, 0x40, 0x40, 0x31, 0x80, 0xe, 0x0} - -/* multiply (215) */ -#define NXFONT_METRICS_215 {1, 8, 8, 1, 12, 0} -#define NXFONT_BITMAP_215 {0x81, 0x42, 0x24, 0x18, 0x18, 0x24, 0x42, 0x81} - -/* Oslash (216) */ -#define NXFONT_METRICS_216 {2, 11, 14, 1, 7, 0} -#define NXFONT_BITMAP_216 {0x0, 0x40, 0xe, 0x80, 0x31, 0x80, 0x41, 0x40, 0x42, 0x40, 0x82, 0x20, 0x84, 0x20, 0x84, 0x20, 0x88, 0x20, 0x48, 0x40, 0x50, 0x40, 0x31, 0x80, 0x2e, 0x0, 0x40, 0x0} - -/* Ugrave (217) */ -#define NXFONT_METRICS_217 {2, 9, 16, 1, 4, 0} -#define NXFONT_BITMAP_217 {0x20, 0x0, 0x30, 0x0, 0x8, 0x0, 0x0, 0x0, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x41, 0x0, 0x3e, 0x0} - -/* Uacute (218) */ -#define NXFONT_METRICS_218 {2, 9, 16, 1, 4, 0} -#define NXFONT_BITMAP_218 {0x2, 0x0, 0x6, 0x0, 0x8, 0x0, 0x0, 0x0, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x41, 0x0, 0x3e, 0x0} - -/* Ucircumflex (219) */ -#define NXFONT_METRICS_219 {2, 9, 16, 1, 4, 0} -#define NXFONT_BITMAP_219 {0x8, 0x0, 0x1c, 0x0, 0x22, 0x0, 0x0, 0x0, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x41, 0x0, 0x3e, 0x0} - -/* Udieresis (220) */ -#define NXFONT_METRICS_220 {2, 9, 15, 1, 5, 0} -#define NXFONT_BITMAP_220 {0x22, 0x0, 0x22, 0x0, 0x0, 0x0, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x41, 0x0, 0x3e, 0x0} - -/* Yacute (221) */ -#define NXFONT_METRICS_221 {2, 9, 16, 1, 4, 0} -#define NXFONT_BITMAP_221 {0x2, 0x0, 0x6, 0x0, 0x8, 0x0, 0x0, 0x0, 0x80, 0x80, 0x41, 0x0, 0x41, 0x0, 0x22, 0x0, 0x22, 0x0, 0x14, 0x0, 0x1c, 0x0, 0x8, 0x0, 0x8, 0x0, 0x8, 0x0, 0x8, 0x0, 0x8, 0x0} - -/* Thorn (222) */ -#define NXFONT_METRICS_222 {1, 8, 12, 2, 8, 0} -#define NXFONT_BITMAP_222 {0x80, 0x80, 0xfc, 0x82, 0x81, 0x81, 0x82, 0xfc, 0x80, 0x80, 0x80, 0x80} - -/* germandbls (223) */ -#define NXFONT_METRICS_223 {1, 7, 12, 2, 8, 0} -#define NXFONT_BITMAP_223 {0x78, 0x84, 0x82, 0x82, 0x84, 0xbc, 0x86, 0x82, 0x82, 0x82, 0x84, 0xb8} - -/* agrave (224) */ -#define NXFONT_METRICS_224 {1, 8, 13, 1, 7, 0} -#define NXFONT_BITMAP_224 {0x20, 0x30, 0x8, 0x0, 0x7c, 0x82, 0x2, 0x6, 0x7a, 0x82, 0x82, 0x86, 0x7b} - -/* aacute (225) */ -#define NXFONT_METRICS_225 {1, 8, 13, 1, 7, 0} -#define NXFONT_BITMAP_225 {0x4, 0xc, 0x10, 0x0, 0x7c, 0x82, 0x2, 0x6, 0x7a, 0x82, 0x82, 0x86, 0x7b} - -/* acircumflex (226) */ -#define NXFONT_METRICS_226 {1, 8, 13, 1, 7, 0} -#define NXFONT_BITMAP_226 {0x10, 0x38, 0x44, 0x0, 0x7c, 0x82, 0x2, 0x6, 0x7a, 0x82, 0x82, 0x86, 0x7b} - -/* atilde (227) */ -#define NXFONT_METRICS_227 {1, 8, 12, 1, 8, 0} -#define NXFONT_BITMAP_227 {0x34, 0x58, 0x0, 0x7c, 0x82, 0x2, 0x6, 0x7a, 0x82, 0x82, 0x86, 0x7b} - -/* adieresis (228) */ -#define NXFONT_METRICS_228 {1, 8, 12, 1, 8, 0} -#define NXFONT_BITMAP_228 {0x28, 0x28, 0x0, 0x7c, 0x82, 0x2, 0x6, 0x7a, 0x82, 0x82, 0x86, 0x7b} - -/* aring (229) */ -#define NXFONT_METRICS_229 {1, 8, 13, 1, 7, 0} -#define NXFONT_BITMAP_229 {0x10, 0x28, 0x10, 0x0, 0x7c, 0x82, 0x2, 0x6, 0x7a, 0x82, 0x82, 0x86, 0x7b} - -/* ae (230) */ -#define NXFONT_METRICS_230 {2, 13, 9, 1, 11, 0} -#define NXFONT_BITMAP_230 {0x7c, 0xe0, 0x83, 0x10, 0x2, 0x8, 0x6, 0x8, 0x7b, 0xf8, 0x82, 0x0, 0x82, 0x8, 0x87, 0x10, 0x78, 0xe0} - -/* ccedilla (231) */ -#define NXFONT_METRICS_231 {1, 7, 13, 1, 11, 0} -#define NXFONT_BITMAP_231 {0x38, 0x44, 0x82, 0x80, 0x80, 0x80, 0x82, 0x44, 0x38, 0x10, 0x10, 0x48, 0x30} - -/* egrave (232) */ -#define NXFONT_METRICS_232 {1, 7, 13, 1, 7, 0} -#define NXFONT_BITMAP_232 {0x40, 0x60, 0x10, 0x0, 0x38, 0x44, 0x82, 0x82, 0xfe, 0x80, 0x82, 0x44, 0x38} - -/* eacute (233) */ -#define NXFONT_METRICS_233 {1, 7, 13, 1, 7, 0} -#define NXFONT_BITMAP_233 {0x8, 0x18, 0x20, 0x0, 0x38, 0x44, 0x82, 0x82, 0xfe, 0x80, 0x82, 0x44, 0x38} - -/* ecircumflex (234) */ -#define NXFONT_METRICS_234 {1, 7, 13, 1, 7, 0} -#define NXFONT_BITMAP_234 {0x10, 0x38, 0x44, 0x0, 0x38, 0x44, 0x82, 0x82, 0xfe, 0x80, 0x82, 0x44, 0x38} - -/* edieresis (235) */ -#define NXFONT_METRICS_235 {1, 7, 12, 1, 8, 0} -#define NXFONT_BITMAP_235 {0x28, 0x28, 0x0, 0x38, 0x44, 0x82, 0x82, 0xfe, 0x80, 0x82, 0x44, 0x38} - -/* igrave (236) */ -#define NXFONT_METRICS_236 {1, 3, 13, 1, 7, 0} -#define NXFONT_BITMAP_236 {0x80, 0xc0, 0x20, 0x0, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40} - -/* iacute (237) */ -#define NXFONT_METRICS_237 {1, 3, 13, 1, 7, 0} -#define NXFONT_BITMAP_237 {0x20, 0x60, 0x80, 0x0, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40} - -/* icircumflex (238) */ -#define NXFONT_METRICS_238 {1, 5, 13, 0, 7, 0} -#define NXFONT_BITMAP_238 {0x20, 0x70, 0x88, 0x0, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20} - -/* idieresis (239) */ -#define NXFONT_METRICS_239 {1, 3, 12, 1, 8, 0} -#define NXFONT_BITMAP_239 {0xa0, 0xa0, 0x0, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40} - -/* eth (240) */ -#define NXFONT_METRICS_240 {1, 7, 12, 1, 8, 0} -#define NXFONT_BITMAP_240 {0x48, 0x30, 0x58, 0x3c, 0x44, 0x82, 0x82, 0x82, 0x82, 0x82, 0x44, 0x38} - -/* ntilde (241) */ -#define NXFONT_METRICS_241 {1, 7, 12, 1, 8, 0} -#define NXFONT_BITMAP_241 {0x34, 0x58, 0x0, 0xbc, 0xc2, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82} - -/* ograve (242) */ -#define NXFONT_METRICS_242 {1, 7, 13, 1, 7, 0} -#define NXFONT_BITMAP_242 {0x20, 0x30, 0x8, 0x0, 0x38, 0x44, 0x82, 0x82, 0x82, 0x82, 0x82, 0x44, 0x38} - -/* oacute (243) */ -#define NXFONT_METRICS_243 {1, 7, 13, 1, 7, 0} -#define NXFONT_BITMAP_243 {0x8, 0x18, 0x20, 0x0, 0x38, 0x44, 0x82, 0x82, 0x82, 0x82, 0x82, 0x44, 0x38} - -/* ocircumflex (244) */ -#define NXFONT_METRICS_244 {1, 7, 13, 1, 7, 0} -#define NXFONT_BITMAP_244 {0x10, 0x38, 0x44, 0x0, 0x38, 0x44, 0x82, 0x82, 0x82, 0x82, 0x82, 0x44, 0x38} - -/* otilde (245) */ -#define NXFONT_METRICS_245 {1, 7, 12, 1, 8, 0} -#define NXFONT_BITMAP_245 {0x34, 0x58, 0x0, 0x38, 0x44, 0x82, 0x82, 0x82, 0x82, 0x82, 0x44, 0x38} - -/* odieresis (246) */ -#define NXFONT_METRICS_246 {1, 7, 12, 1, 8, 0} -#define NXFONT_BITMAP_246 {0x28, 0x28, 0x0, 0x38, 0x44, 0x82, 0x82, 0x82, 0x82, 0x82, 0x44, 0x38} - -/* divide (247) */ -#define NXFONT_METRICS_247 {1, 7, 9, 1, 11, 0} -#define NXFONT_BITMAP_247 {0x10, 0x10, 0x0, 0x0, 0xfe, 0x0, 0x0, 0x10, 0x10} - -/* oslash (248) */ -#define NXFONT_METRICS_248 {1, 7, 10, 1, 10, 0} -#define NXFONT_BITMAP_248 {0x2, 0x3c, 0x44, 0x8a, 0x92, 0x92, 0xa2, 0xa2, 0x44, 0xb8} - -/* ugrave (249) */ -#define NXFONT_METRICS_249 {1, 7, 13, 1, 7, 0} -#define NXFONT_BITMAP_249 {0x20, 0x30, 0x8, 0x0, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x86, 0x7a} - -/* uacute (250) */ -#define NXFONT_METRICS_250 {1, 7, 13, 1, 7, 0} -#define NXFONT_BITMAP_250 {0x4, 0xc, 0x10, 0x0, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x86, 0x7a} - -/* ucircumflex (251) */ -#define NXFONT_METRICS_251 {1, 7, 13, 1, 7, 0} -#define NXFONT_BITMAP_251 {0x10, 0x38, 0x44, 0x0, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x86, 0x7a} - -/* udieresis (252) */ -#define NXFONT_METRICS_252 {1, 7, 12, 1, 8, 0} -#define NXFONT_BITMAP_252 {0x28, 0x28, 0x0, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x86, 0x7a} - -/* yacute (253) */ -#define NXFONT_METRICS_253 {1, 7, 16, 0, 7, 0} -#define NXFONT_BITMAP_253 {0x8, 0x18, 0x20, 0x0, 0x82, 0x82, 0x44, 0x44, 0x28, 0x28, 0x38, 0x10, 0x10, 0x20, 0x20, 0xc0} - -/* thorn (254) */ -#define NXFONT_METRICS_254 {1, 7, 16, 1, 8, 0} -#define NXFONT_BITMAP_254 {0x80, 0x80, 0x80, 0xb8, 0xc4, 0x82, 0x82, 0x82, 0x82, 0x82, 0xc4, 0xb8, 0x80, 0x80, 0x80, 0x80} - -/* ydieresis (255) */ -#define NXFONT_METRICS_255 {1, 7, 15, 0, 8, 0} -#define NXFONT_BITMAP_255 {0x28, 0x28, 0x0, 0x82, 0x82, 0x44, 0x44, 0x28, 0x28, 0x38, 0x10, 0x10, 0x20, 0x20, 0xc0} - -/**************************************************************************** - * Public Types - ****************************************************************************/ - -/**************************************************************************** - * Public Data - ****************************************************************************/ - -#undef EXTERN -#if defined(__cplusplus) -#define EXTERN extern "C" -extern "C" { -#else -#define EXTERN extern -#endif - -/**************************************************************************** - * Public Functions - ****************************************************************************/ - -#undef EXTERN -#if defined(__cplusplus) -} -#endif - -#endif /* __GRAPHICS_NXFONTS_NXFONTS_SANS20X26_H */ diff --git a/nuttx/graphics/nxfonts/nxfonts_sans20x27b.h b/nuttx/graphics/nxfonts/nxfonts_sans20x27b.h deleted file mode 100644 index b9a8ea65d..000000000 --- a/nuttx/graphics/nxfonts/nxfonts_sans20x27b.h +++ /dev/null @@ -1,849 +0,0 @@ -/**************************************************************************** - * graphics/nxfonts/nxfonts_serif20x27b.h - * - * Copyright (C) 2011-2012 NX Engineering, S.A., All rights reserved. - * Author: Gregory Nutt <gnutt@nuttx.org> - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * 3. Neither the name NuttX nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT} - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING} - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - ****************************************************************************/ - -#ifndef __GRAPHICS_NXFONTS_NXFONTS_SANS20X27B_H -#define __GRAPHICS_NXFONTS_NXFONTS_SANS20X27B_H - -/**************************************************************************** - * Included Files - ****************************************************************************/ - -/**************************************************************************** - * Pre-Processor Definitions - ****************************************************************************/ - -/* Font ID */ - -#define NXFONT_ID FONTID_SANS20X27B - -/* Ranges of 7-bit and 8-bit fonts */ - -#define NXFONT_MIN7BIT 33 -#define NXFONT_MAX7BIT 126 - -#define NXFONT_MIN8BIT 161 -#define NXFONT_MAX8BIT 255 - -/* Maximum height and width of any glyph in the set */ - -#define NXFONT_MAXHEIGHT 27 -#define NXFONT_MAXWIDTH 20 - -/* The width of a space */ - -#define NXFONT_SPACEWIDTH 5 - -/* exclam (33) */ -#define NXFONT_METRICS_33 {1, 2, 12, 2, 8, 0} -#define NXFONT_BITMAP_33 {0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0x80, 0x80, 0x80, 0x0, 0xc0, 0xc0} - -/* quotedbl (34) */ -#define NXFONT_METRICS_34 {1, 5, 4, 1, 8, 0} -#define NXFONT_BITMAP_34 {0xd8, 0xd8, 0xd8, 0x48} - -/* numbersign (35) */ -#define NXFONT_METRICS_35 {2, 9, 12, 0, 8, 0} -#define NXFONT_BITMAP_35 {0x1b, 0x0, 0x1b, 0x0, 0x1b, 0x0, 0x7f, 0x80, 0x7f, 0x80, 0x36, 0x0, 0x36, 0x0, 0xff, 0x0, 0xff, 0x0, 0x6c, 0x0, 0x6c, 0x0, 0x6c, 0x0} - -/* dollar (36) */ -#define NXFONT_METRICS_36 {1, 7, 14, 1, 7, 0} -#define NXFONT_BITMAP_36 {0x10, 0x7c, 0xfe, 0xd6, 0xd0, 0xf0, 0x78, 0x3c, 0x1e, 0x16, 0xd6, 0xfe, 0x7c, 0x10} - -/* percent (37) */ -#define NXFONT_METRICS_37 {2, 13, 12, 0, 8, 0} -#define NXFONT_BITMAP_37 {0x30, 0x40, 0x78, 0x80, 0xcc, 0x80, 0xcd, 0x0, 0x79, 0x0, 0x32, 0x0, 0x2, 0x60, 0x4, 0xf0, 0x5, 0x98, 0x9, 0x98, 0x8, 0xf0, 0x10, 0x60} - -/* ampersand (38) */ -#define NXFONT_METRICS_38 {2, 10, 12, 1, 8, 0} -#define NXFONT_BITMAP_38 {0x3c, 0x0, 0x7e, 0x0, 0x66, 0x0, 0x66, 0x0, 0x3c, 0x0, 0x38, 0xc0, 0x7d, 0xc0, 0xcf, 0x80, 0xc7, 0x0, 0xc7, 0x0, 0x7f, 0x80, 0x39, 0xc0} - -/* quotesingle (39) */ -#define NXFONT_METRICS_39 {1, 2, 4, 1, 8, 0} -#define NXFONT_BITMAP_39 {0xc0, 0xc0, 0xc0, 0x40} - -/* parenleft (40) */ -#define NXFONT_METRICS_40 {1, 4, 15, 1, 8, 0} -#define NXFONT_BITMAP_40 {0x30, 0x70, 0x60, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0x60, 0x70, 0x30} - -/* parenright (41) */ -#define NXFONT_METRICS_41 {1, 4, 15, 0, 8, 0} -#define NXFONT_BITMAP_41 {0xc0, 0xe0, 0x60, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x60, 0xe0, 0xc0} - -/* asterisk (42) */ -#define NXFONT_METRICS_42 {1, 5, 5, 0, 8, 0} -#define NXFONT_BITMAP_42 {0x20, 0xa8, 0x70, 0x70, 0x88} - -/* plus (43) */ -#define NXFONT_METRICS_43 {1, 8, 8, 1, 12, 0} -#define NXFONT_BITMAP_43 {0x18, 0x18, 0x18, 0xff, 0xff, 0x18, 0x18, 0x18} - -/* comma (44) */ -#define NXFONT_METRICS_44 {1, 2, 5, 1, 18, 0} -#define NXFONT_BITMAP_44 {0xc0, 0xc0, 0x40, 0x40, 0x80} - -/* hyphen (45) */ -#define NXFONT_METRICS_45 {1, 4, 2, 0, 15, 0} -#define NXFONT_BITMAP_45 {0xf0, 0xf0} - -/* period (46) */ -#define NXFONT_METRICS_46 {1, 2, 2, 1, 18, 0} -#define NXFONT_BITMAP_46 {0xc0, 0xc0} - -/* slash (47) */ -#define NXFONT_METRICS_47 {1, 4, 12, 0, 8, 0} -#define NXFONT_BITMAP_47 {0x10, 0x10, 0x30, 0x20, 0x20, 0x60, 0x40, 0x40, 0xc0, 0x80, 0x80, 0x80} - -/* zero (48) */ -#define NXFONT_METRICS_48 {1, 8, 12, 0, 8, 0} -#define NXFONT_BITMAP_48 {0x3c, 0x7e, 0xe7, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0xe7, 0x7e, 0x3c} - -/* one (49) */ -#define NXFONT_METRICS_49 {1, 5, 12, 1, 8, 0} -#define NXFONT_BITMAP_49 {0x8, 0x18, 0xf8, 0xf8, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18} - -/* two (50) */ -#define NXFONT_METRICS_50 {1, 8, 12, 0, 8, 0} -#define NXFONT_BITMAP_50 {0x3c, 0x7e, 0xe7, 0xc3, 0xc3, 0x7, 0xe, 0x1c, 0x38, 0x70, 0xff, 0xff} - -/* three (51) */ -#define NXFONT_METRICS_51 {1, 8, 12, 0, 8, 0} -#define NXFONT_BITMAP_51 {0x3c, 0x7e, 0xe7, 0xc3, 0x7, 0x1e, 0x1e, 0x7, 0xc3, 0xe7, 0x7e, 0x3c} - -/* four (52) */ -#define NXFONT_METRICS_52 {1, 8, 12, 0, 8, 0} -#define NXFONT_BITMAP_52 {0xe, 0x1e, 0x36, 0x36, 0x66, 0x66, 0xc6, 0xff, 0xff, 0x6, 0x6, 0x6} - -/* five (53) */ -#define NXFONT_METRICS_53 {1, 8, 12, 0, 8, 0} -#define NXFONT_BITMAP_53 {0x3f, 0x3f, 0x30, 0x30, 0x7c, 0x7e, 0x47, 0x3, 0x3, 0xe7, 0x7e, 0x3c} - -/* six (54) */ -#define NXFONT_METRICS_54 {1, 8, 12, 0, 8, 0} -#define NXFONT_BITMAP_54 {0x3c, 0x7e, 0xe7, 0xc0, 0xdc, 0xfe, 0xe7, 0xc3, 0xc3, 0xe7, 0x7e, 0x3c} - -/* seven (55) */ -#define NXFONT_METRICS_55 {1, 8, 12, 0, 8, 0} -#define NXFONT_BITMAP_55 {0xff, 0xff, 0x6, 0x6, 0xc, 0xc, 0x18, 0x18, 0x18, 0x30, 0x30, 0x30} - -/* eight (56) */ -#define NXFONT_METRICS_56 {1, 8, 12, 0, 8, 0} -#define NXFONT_BITMAP_56 {0x3c, 0x7e, 0xe7, 0xc3, 0x66, 0x3c, 0x7e, 0xe7, 0xc3, 0xe7, 0x7e, 0x3c} - -/* nine (57) */ -#define NXFONT_METRICS_57 {1, 8, 12, 0, 8, 0} -#define NXFONT_BITMAP_57 {0x3c, 0x7e, 0xe7, 0xc3, 0xc3, 0xe7, 0x7f, 0x3b, 0x3, 0xe7, 0x7e, 0x3c} - -/* colon (58) */ -#define NXFONT_METRICS_58 {1, 2, 8, 2, 12, 0} -#define NXFONT_BITMAP_58 {0xc0, 0xc0, 0x0, 0x0, 0x0, 0x0, 0xc0, 0xc0} - -/* semicolon (59) */ -#define NXFONT_METRICS_59 {1, 2, 11, 2, 12, 0} -#define NXFONT_BITMAP_59 {0xc0, 0xc0, 0x0, 0x0, 0x0, 0x0, 0xc0, 0xc0, 0x40, 0x40, 0x80} - -/* less (60) */ -#define NXFONT_METRICS_60 {1, 8, 8, 1, 12, 0} -#define NXFONT_BITMAP_60 {0x3, 0xf, 0x3c, 0xe0, 0xe0, 0x3c, 0xf, 0x3} - -/* equal (61) */ -#define NXFONT_METRICS_61 {1, 8, 6, 1, 13, 0} -#define NXFONT_BITMAP_61 {0xff, 0xff, 0x0, 0x0, 0xff, 0xff} - -/* greater (62) */ -#define NXFONT_METRICS_62 {1, 8, 8, 1, 12, 0} -#define NXFONT_BITMAP_62 {0xc0, 0xf0, 0x3c, 0x7, 0x7, 0x3c, 0xf0, 0xc0} - -/* question (63) */ -#define NXFONT_METRICS_63 {1, 7, 12, 1, 8, 0} -#define NXFONT_BITMAP_63 {0x7c, 0xfe, 0xc6, 0xc6, 0x6, 0xe, 0xc, 0x18, 0x18, 0x0, 0x18, 0x18} - -/* at (64) */ -#define NXFONT_METRICS_64 {2, 13, 14, 1, 8, 0} -#define NXFONT_BITMAP_64 {0xf, 0xc0, 0x38, 0x60, 0x60, 0x10, 0x47, 0xd8, 0xcc, 0x48, 0x88, 0xc8, 0x98, 0xc8, 0x98, 0x88, 0x99, 0x98, 0xc9, 0x90, 0x46, 0x60, 0x60, 0x0, 0x38, 0xc0, 0xf, 0x80} - -/* A (65) */ -#define NXFONT_METRICS_65 {2, 11, 12, 0, 8, 0} -#define NXFONT_BITMAP_65 {0xe, 0x0, 0xe, 0x0, 0x1f, 0x0, 0x1b, 0x0, 0x3b, 0x80, 0x31, 0x80, 0x71, 0xc0, 0x60, 0xc0, 0x7f, 0xc0, 0xff, 0xe0, 0xc0, 0x60, 0xc0, 0x60} - -/* B (66) */ -#define NXFONT_METRICS_66 {2, 9, 12, 1, 8, 0} -#define NXFONT_BITMAP_66 {0xfe, 0x0, 0xff, 0x0, 0xc3, 0x80, 0xc1, 0x80, 0xc3, 0x80, 0xff, 0x0, 0xff, 0x0, 0xc3, 0x80, 0xc1, 0x80, 0xc3, 0x80, 0xff, 0x0, 0xfe, 0x0} - -/* C (67) */ -#define NXFONT_METRICS_67 {2, 10, 12, 1, 8, 0} -#define NXFONT_BITMAP_67 {0x1f, 0x0, 0x3f, 0x80, 0x71, 0xc0, 0x60, 0xc0, 0xe0, 0x0, 0xc0, 0x0, 0xc0, 0x0, 0xe0, 0x0, 0x60, 0xc0, 0x71, 0xc0, 0x3f, 0x80, 0x1f, 0x0} - -/* D (68) */ -#define NXFONT_METRICS_68 {2, 10, 12, 1, 8, 0} -#define NXFONT_BITMAP_68 {0xfc, 0x0, 0xff, 0x0, 0xc3, 0x80, 0xc1, 0x80, 0xc1, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc1, 0xc0, 0xc1, 0x80, 0xc3, 0x80, 0xff, 0x0, 0xfc, 0x0} - -/* E (69) */ -#define NXFONT_METRICS_69 {1, 8, 12, 1, 8, 0} -#define NXFONT_BITMAP_69 {0xff, 0xff, 0xc0, 0xc0, 0xc0, 0xfe, 0xfe, 0xc0, 0xc0, 0xc0, 0xff, 0xff} - -/* F (70) */ -#define NXFONT_METRICS_70 {1, 8, 12, 1, 8, 0} -#define NXFONT_BITMAP_70 {0xff, 0xff, 0xc0, 0xc0, 0xc0, 0xfe, 0xfe, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0} - -/* G (71) */ -#define NXFONT_METRICS_71 {2, 10, 12, 1, 8, 0} -#define NXFONT_BITMAP_71 {0x1f, 0x0, 0x3f, 0x80, 0x71, 0xc0, 0x60, 0xc0, 0xe0, 0x0, 0xc0, 0x0, 0xc3, 0xc0, 0xe3, 0xc0, 0x60, 0xc0, 0x71, 0xc0, 0x3f, 0xc0, 0x1e, 0xc0} - -/* H (72) */ -#define NXFONT_METRICS_72 {2, 10, 12, 1, 8, 0} -#define NXFONT_BITMAP_72 {0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xff, 0xc0, 0xff, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0} - -/* I (73) */ -#define NXFONT_METRICS_73 {1, 2, 12, 1, 8, 0} -#define NXFONT_BITMAP_73 {0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0} - -/* J (74) */ -#define NXFONT_METRICS_74 {1, 7, 12, 1, 8, 0} -#define NXFONT_BITMAP_74 {0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0xc6, 0xc6, 0xfe, 0x7c} - -/* K (75) */ -#define NXFONT_METRICS_75 {2, 11, 12, 1, 8, 0} -#define NXFONT_BITMAP_75 {0xc1, 0xc0, 0xc3, 0x80, 0xc7, 0x0, 0xce, 0x0, 0xdc, 0x0, 0xf8, 0x0, 0xfc, 0x0, 0xce, 0x0, 0xc7, 0x0, 0xc3, 0x80, 0xc1, 0xc0, 0xc0, 0xe0} - -/* L (76) */ -#define NXFONT_METRICS_76 {1, 8, 12, 1, 8, 0} -#define NXFONT_BITMAP_76 {0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xff, 0xff} - -/* M (77) */ -#define NXFONT_METRICS_77 {2, 11, 12, 1, 8, 0} -#define NXFONT_BITMAP_77 {0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xf1, 0xe0, 0xf1, 0xe0, 0xd1, 0x60, 0xdb, 0x60, 0xdb, 0x60, 0xca, 0x60, 0xce, 0x60, 0xce, 0x60, 0xc4, 0x60} - -/* N (78) */ -#define NXFONT_METRICS_78 {2, 10, 12, 1, 8, 0} -#define NXFONT_BITMAP_78 {0xe0, 0xc0, 0xf0, 0xc0, 0xf0, 0xc0, 0xd8, 0xc0, 0xd8, 0xc0, 0xcc, 0xc0, 0xcc, 0xc0, 0xc6, 0xc0, 0xc6, 0xc0, 0xc3, 0xc0, 0xc3, 0xc0, 0xc1, 0xc0} - -/* O (79) */ -#define NXFONT_METRICS_79 {2, 11, 12, 1, 8, 0} -#define NXFONT_BITMAP_79 {0x1f, 0x0, 0x3f, 0x80, 0x71, 0xc0, 0x60, 0xc0, 0xe0, 0xe0, 0xc0, 0x60, 0xc0, 0x60, 0xe0, 0xe0, 0x60, 0xc0, 0x71, 0xc0, 0x3f, 0x80, 0x1f, 0x0} - -/* P (80) */ -#define NXFONT_METRICS_80 {2, 9, 12, 1, 8, 0} -#define NXFONT_BITMAP_80 {0xfe, 0x0, 0xff, 0x0, 0xc3, 0x80, 0xc1, 0x80, 0xc1, 0x80, 0xc3, 0x80, 0xff, 0x0, 0xfe, 0x0, 0xc0, 0x0, 0xc0, 0x0, 0xc0, 0x0, 0xc0, 0x0} - -/* Q (81) */ -#define NXFONT_METRICS_81 {2, 11, 13, 1, 8, 0} -#define NXFONT_BITMAP_81 {0x1f, 0x0, 0x3f, 0x80, 0x71, 0xc0, 0x60, 0xc0, 0xe0, 0xe0, 0xc0, 0x60, 0xc0, 0x60, 0xe2, 0x60, 0x67, 0xc0, 0x73, 0xc0, 0x3f, 0x80, 0x1f, 0xc0, 0x0, 0x80} - -/* R (82) */ -#define NXFONT_METRICS_82 {2, 10, 12, 1, 8, 0} -#define NXFONT_BITMAP_82 {0xff, 0x0, 0xff, 0x80, 0xc1, 0x80, 0xc1, 0x80, 0xc3, 0x80, 0xff, 0x0, 0xff, 0x0, 0xc3, 0x80, 0xc1, 0x80, 0xc1, 0x80, 0xc1, 0xc0, 0xc1, 0xc0} - -/* S (83) */ -#define NXFONT_METRICS_83 {2, 9, 12, 1, 8, 0} -#define NXFONT_BITMAP_83 {0x3e, 0x0, 0x7f, 0x0, 0xe3, 0x80, 0xc1, 0x80, 0xf0, 0x0, 0x7e, 0x0, 0x1f, 0x0, 0x3, 0x80, 0xc1, 0x80, 0xe3, 0x80, 0x7f, 0x0, 0x3e, 0x0} - -/* T (84) */ -#define NXFONT_METRICS_84 {2, 10, 12, 0, 8, 0} -#define NXFONT_BITMAP_84 {0xff, 0xc0, 0xff, 0xc0, 0xc, 0x0, 0xc, 0x0, 0xc, 0x0, 0xc, 0x0, 0xc, 0x0, 0xc, 0x0, 0xc, 0x0, 0xc, 0x0, 0xc, 0x0, 0xc, 0x0} - -/* U (85) */ -#define NXFONT_METRICS_85 {2, 10, 12, 1, 8, 0} -#define NXFONT_BITMAP_85 {0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xe1, 0xc0, 0x7f, 0x80, 0x3f, 0x0} - -/* V (86) */ -#define NXFONT_METRICS_86 {2, 10, 12, 0, 8, 0} -#define NXFONT_BITMAP_86 {0xc0, 0xc0, 0xc0, 0xc0, 0x61, 0x80, 0x61, 0x80, 0x61, 0x80, 0x33, 0x0, 0x33, 0x0, 0x33, 0x0, 0x1e, 0x0, 0x1e, 0x0, 0xc, 0x0, 0xc, 0x0} - -/* W (87) */ -#define NXFONT_METRICS_87 {2, 14, 12, 0, 8, 0} -#define NXFONT_BITMAP_87 {0xc3, 0xc, 0xc3, 0xc, 0xc3, 0xc, 0x63, 0x18, 0x67, 0x98, 0x67, 0x98, 0x34, 0xb0, 0x3c, 0xf0, 0x3c, 0xf0, 0x18, 0x60, 0x18, 0x60, 0x18, 0x60} - -/* X (88) */ -#define NXFONT_METRICS_88 {2, 9, 12, 1, 8, 0} -#define NXFONT_BITMAP_88 {0xc1, 0x80, 0xe3, 0x80, 0x63, 0x0, 0x36, 0x0, 0x3e, 0x0, 0x1c, 0x0, 0x1c, 0x0, 0x3e, 0x0, 0x36, 0x0, 0x63, 0x0, 0xe3, 0x80, 0xc1, 0x80} - -/* Y (89) */ -#define NXFONT_METRICS_89 {2, 10, 12, 0, 8, 0} -#define NXFONT_BITMAP_89 {0xc0, 0xc0, 0xe1, 0xc0, 0x61, 0x80, 0x33, 0x0, 0x33, 0x0, 0x1e, 0x0, 0x1e, 0x0, 0xc, 0x0, 0xc, 0x0, 0xc, 0x0, 0xc, 0x0, 0xc, 0x0} - -/* Z (90) */ -#define NXFONT_METRICS_90 {1, 8, 12, 1, 8, 0} -#define NXFONT_BITMAP_90 {0xff, 0xff, 0x7, 0x6, 0xc, 0x1c, 0x38, 0x30, 0x60, 0xe0, 0xff, 0xff} - -/* bracketleft (91) */ -#define NXFONT_METRICS_91 {1, 4, 15, 1, 8, 0} -#define NXFONT_BITMAP_91 {0xf0, 0xf0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xf0, 0xf0} - -/* backslash (92) */ -#define NXFONT_METRICS_92 {1, 4, 12, 0, 8, 0} -#define NXFONT_BITMAP_92 {0x80, 0x80, 0xc0, 0x40, 0x40, 0x60, 0x20, 0x20, 0x30, 0x10, 0x10, 0x10} - -/* bracketright (93) */ -#define NXFONT_METRICS_93 {1, 4, 15, 0, 8, 0} -#define NXFONT_BITMAP_93 {0xf0, 0xf0, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0xf0, 0xf0} - -/* asciicircum (94) */ -#define NXFONT_METRICS_94 {1, 8, 7, 1, 8, 0} -#define NXFONT_BITMAP_94 {0x18, 0x18, 0x3c, 0x66, 0x66, 0xc3, 0xc3} - -/* underscore (95) */ -#define NXFONT_METRICS_95 {2, 9, 1, 0, 22, 0} -#define NXFONT_BITMAP_95 {0xff, 0x80} - -/* grave (96) */ -#define NXFONT_METRICS_96 {1, 3, 3, 2, 7, 0} -#define NXFONT_BITMAP_96 {0x80, 0xc0, 0x20} - -/* a (97) */ -#define NXFONT_METRICS_97 {1, 8, 9, 1, 11, 0} -#define NXFONT_BITMAP_97 {0x7c, 0xfe, 0xc6, 0xe, 0x7e, 0xe6, 0xc6, 0xfe, 0x77} - -/* b (98) */ -#define NXFONT_METRICS_98 {1, 8, 12, 1, 8, 0} -#define NXFONT_BITMAP_98 {0xc0, 0xc0, 0xc0, 0xdc, 0xfe, 0xe7, 0xc3, 0xc3, 0xc3, 0xe7, 0xfe, 0xdc} - -/* c (99) */ -#define NXFONT_METRICS_99 {1, 8, 9, 1, 11, 0} -#define NXFONT_BITMAP_99 {0x3c, 0x7e, 0xe7, 0xc0, 0xc0, 0xc0, 0xe7, 0x7e, 0x3c} - -/* d (100) */ -#define NXFONT_METRICS_100 {1, 8, 12, 1, 8, 0} -#define NXFONT_BITMAP_100 {0x3, 0x3, 0x3, 0x3f, 0x7f, 0xe7, 0xc3, 0xc3, 0xc3, 0xe7, 0x7f, 0x3b} - -/* e (101) */ -#define NXFONT_METRICS_101 {1, 8, 9, 1, 11, 0} -#define NXFONT_BITMAP_101 {0x3c, 0x7e, 0xc3, 0xff, 0xff, 0xc0, 0xe7, 0x7e, 0x3c} - -/* f (102) */ -#define NXFONT_METRICS_102 {1, 4, 12, 1, 8, 0} -#define NXFONT_BITMAP_102 {0x30, 0x70, 0x60, 0xf0, 0xf0, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60} - -/* g (103) */ -#define NXFONT_METRICS_103 {1, 8, 13, 1, 11, 0} -#define NXFONT_BITMAP_103 {0x3b, 0x7f, 0xe7, 0xc3, 0xc3, 0xc3, 0xe7, 0x7f, 0x3b, 0x3, 0xe7, 0x7e, 0x3c} - -/* h (104) */ -#define NXFONT_METRICS_104 {1, 8, 12, 1, 8, 0} -#define NXFONT_BITMAP_104 {0xc0, 0xc0, 0xc0, 0xde, 0xff, 0xe3, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3} - -/* i (105) */ -#define NXFONT_METRICS_105 {1, 2, 12, 1, 8, 0} -#define NXFONT_BITMAP_105 {0xc0, 0xc0, 0x0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0} - -/* j (106) */ -#define NXFONT_METRICS_106 {1, 3, 16, 1, 8, 0} -#define NXFONT_BITMAP_106 {0x60, 0x60, 0x0, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0xe0, 0xc0} - -/* k (107) */ -#define NXFONT_METRICS_107 {1, 8, 12, 1, 8, 0} -#define NXFONT_BITMAP_107 {0xc0, 0xc0, 0xc0, 0xc7, 0xce, 0xdc, 0xf8, 0xfc, 0xec, 0xce, 0xc6, 0xc7} - -/* l (108) */ -#define NXFONT_METRICS_108 {1, 2, 12, 1, 8, 0} -#define NXFONT_BITMAP_108 {0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0} - -/* m (109) */ -#define NXFONT_METRICS_109 {2, 12, 9, 1, 11, 0} -#define NXFONT_BITMAP_109 {0xde, 0xe0, 0xff, 0xf0, 0xe7, 0x30, 0xc6, 0x30, 0xc6, 0x30, 0xc6, 0x30, 0xc6, 0x30, 0xc6, 0x30, 0xc6, 0x30} - -/* n (110) */ -#define NXFONT_METRICS_110 {1, 8, 9, 1, 11, 0} -#define NXFONT_BITMAP_110 {0xde, 0xff, 0xe3, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3} - -/* o (111) */ -#define NXFONT_METRICS_111 {1, 8, 9, 1, 11, 0} -#define NXFONT_BITMAP_111 {0x3c, 0x7e, 0xe7, 0xc3, 0xc3, 0xc3, 0xe7, 0x7e, 0x3c} - -/* p (112) */ -#define NXFONT_METRICS_112 {1, 8, 13, 1, 11, 0} -#define NXFONT_BITMAP_112 {0xdc, 0xfe, 0xe7, 0xc3, 0xc3, 0xc3, 0xe7, 0xfe, 0xdc, 0xc0, 0xc0, 0xc0, 0xc0} - -/* q (113) */ -#define NXFONT_METRICS_113 {1, 8, 13, 1, 11, 0} -#define NXFONT_BITMAP_113 {0x3b, 0x7f, 0xe7, 0xc3, 0xc3, 0xc3, 0xe7, 0x7f, 0x3b, 0x3, 0x3, 0x3, 0x3} - -/* r (114) */ -#define NXFONT_METRICS_114 {1, 5, 9, 1, 11, 0} -#define NXFONT_BITMAP_114 {0xd8, 0xf8, 0xe0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0} - -/* s (115) */ -#define NXFONT_METRICS_115 {1, 7, 9, 1, 11, 0} -#define NXFONT_BITMAP_115 {0x7c, 0xfe, 0xc6, 0xf0, 0x7c, 0xe, 0xc6, 0xfe, 0x7c} - -/* t (116) */ -#define NXFONT_METRICS_116 {1, 4, 11, 1, 9, 0} -#define NXFONT_BITMAP_116 {0x60, 0x60, 0xf0, 0xf0, 0x60, 0x60, 0x60, 0x60, 0x60, 0x70, 0x30} - -/* u (117) */ -#define NXFONT_METRICS_117 {1, 8, 9, 1, 11, 0} -#define NXFONT_BITMAP_117 {0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0xc7, 0xff, 0x7b} - -/* v (118) */ -#define NXFONT_METRICS_118 {1, 8, 9, 0, 11, 0} -#define NXFONT_BITMAP_118 {0xc3, 0xc3, 0x66, 0x66, 0x66, 0x3c, 0x3c, 0x18, 0x18} - -/* w (119) */ -#define NXFONT_METRICS_119 {2, 12, 9, 0, 11, 0} -#define NXFONT_BITMAP_119 {0xc6, 0x30, 0xc6, 0x30, 0x66, 0x60, 0x66, 0x60, 0x6f, 0x60, 0x3f, 0xc0, 0x39, 0xc0, 0x19, 0x80, 0x19, 0x80} - -/* x (120) */ -#define NXFONT_METRICS_120 {1, 7, 9, 1, 11, 0} -#define NXFONT_BITMAP_120 {0xc6, 0xc6, 0x6c, 0x7c, 0x38, 0x7c, 0x6c, 0xc6, 0xc6} - -/* y (121) */ -#define NXFONT_METRICS_121 {1, 8, 13, 0, 11, 0} -#define NXFONT_BITMAP_121 {0xc3, 0xc3, 0x63, 0x66, 0x36, 0x36, 0x3c, 0x1c, 0x18, 0x18, 0x18, 0x70, 0x60} - -/* z (122) */ -#define NXFONT_METRICS_122 {1, 7, 9, 0, 11, 0} -#define NXFONT_BITMAP_122 {0xfe, 0xfe, 0xe, 0x1c, 0x18, 0x38, 0x70, 0xfe, 0xfe} - -/* braceleft (123) */ -#define NXFONT_METRICS_123 {1, 4, 15, 1, 8, 0} -#define NXFONT_BITMAP_123 {0x30, 0x70, 0x60, 0x60, 0x60, 0x60, 0x60, 0xc0, 0x60, 0x60, 0x60, 0x60, 0x60, 0x70, 0x30} - -/* bar (124) */ -#define NXFONT_METRICS_124 {1, 1, 16, 1, 8, 0} -#define NXFONT_BITMAP_124 {0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80} - -/* braceright (125) */ -#define NXFONT_METRICS_125 {1, 4, 15, 1, 8, 0} -#define NXFONT_BITMAP_125 {0xc0, 0xe0, 0x60, 0x60, 0x60, 0x60, 0x60, 0x30, 0x60, 0x60, 0x60, 0x60, 0x60, 0xe0, 0xc0} - -/* asciitilde (126) */ -#define NXFONT_METRICS_126 {1, 8, 3, 1, 14, 0} -#define NXFONT_BITMAP_126 {0x71, 0x99, 0x8e} - -/* exclamdown (161) */ -#define NXFONT_METRICS_161 {1, 2, 12, 1, 11, 0} -#define NXFONT_BITMAP_161 {0xc0, 0xc0, 0x0, 0x40, 0x40, 0x40, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0} - -/* cent (162) */ -#define NXFONT_METRICS_162 {1, 8, 11, 0, 10, 0} -#define NXFONT_BITMAP_162 {0x4, 0x3c, 0x7e, 0xef, 0xc8, 0xd8, 0xd0, 0xf7, 0x7e, 0x3c, 0x20} - -/* sterling (163) */ -#define NXFONT_METRICS_163 {1, 8, 12, 0, 8, 0} -#define NXFONT_BITMAP_163 {0x1c, 0x3e, 0x63, 0x63, 0x60, 0x30, 0x7c, 0x30, 0x30, 0x20, 0x7f, 0xff} - -/* currency (164) */ -#define NXFONT_METRICS_164 {1, 7, 7, 1, 11, 0} -#define NXFONT_BITMAP_164 {0xba, 0x7c, 0xc6, 0xc6, 0xc6, 0x7c, 0xba} - -/* yen (165) */ -#define NXFONT_METRICS_165 {1, 8, 12, 0, 8, 0} -#define NXFONT_BITMAP_165 {0xc3, 0xc3, 0x66, 0x66, 0x3c, 0x18, 0x7e, 0x18, 0x7e, 0x18, 0x18, 0x18} - -/* brokenbar (166) */ -#define NXFONT_METRICS_166 {1, 1, 16, 2, 8, 0} -#define NXFONT_BITMAP_166 {0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x0, 0x0, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80} - -/* section (167) */ -#define NXFONT_METRICS_167 {1, 8, 15, 0, 8, 0} -#define NXFONT_BITMAP_167 {0x3c, 0x7e, 0x66, 0x60, 0x78, 0x7e, 0xc7, 0xc3, 0xf3, 0x7e, 0x1e, 0x6, 0x66, 0x7e, 0x3c} - -/* dieresis (168) */ -#define NXFONT_METRICS_168 {1, 5, 2, 0, 8, 0} -#define NXFONT_BITMAP_168 {0xd8, 0xd8} - -/* copyright (169) */ -#define NXFONT_METRICS_169 {2, 12, 12, 0, 8, 0} -#define NXFONT_BITMAP_169 {0xf, 0x0, 0x39, 0xc0, 0x60, 0x60, 0x4f, 0x20, 0xd9, 0xb0, 0x90, 0x10, 0x90, 0x10, 0xd9, 0xb0, 0x4f, 0x20, 0x60, 0x20, 0x39, 0xc0, 0xf, 0x0} - -/* ordfeminine (170) */ -#define NXFONT_METRICS_170 {1, 5, 7, 1, 8, 0} -#define NXFONT_BITMAP_170 {0x60, 0x90, 0x70, 0x90, 0x78, 0x0, 0xf8} - -/* guillemotleft (171) */ -#define NXFONT_METRICS_171 {1, 8, 6, 0, 12, 0} -#define NXFONT_BITMAP_171 {0x33, 0x66, 0xcc, 0xcc, 0x66, 0x33} - -/* logicalnot (172) */ -#define NXFONT_METRICS_172 {1, 8, 5, 0, 13, 0} -#define NXFONT_BITMAP_172 {0xff, 0xff, 0x3, 0x3, 0x3} - -/* hyphen (173) */ -#define NXFONT_METRICS_173 {1, 4, 2, 0, 15, 0} -#define NXFONT_BITMAP_173 {0xf0, 0xf0} - -/* registered (174) */ -#define NXFONT_METRICS_174 {2, 12, 12, 0, 8, 0} -#define NXFONT_BITMAP_174 {0xf, 0x0, 0x39, 0xc0, 0x60, 0x60, 0x5f, 0x20, 0xd9, 0xb0, 0x99, 0x90, 0x9e, 0x10, 0xdb, 0x30, 0x5b, 0x20, 0x60, 0x60, 0x39, 0xc0, 0xf, 0x0} - -/* macron (175) */ -#define NXFONT_METRICS_175 {1, 5, 1, 0, 9, 0} -#define NXFONT_BITMAP_175 {0xf8} - -/* degree (176) */ -#define NXFONT_METRICS_176 {1, 4, 5, 1, 8, 0} -#define NXFONT_BITMAP_176 {0x60, 0x90, 0x90, 0x90, 0x60} - -/* plusminus (177) */ -#define NXFONT_METRICS_177 {1, 8, 11, 1, 9, 0} -#define NXFONT_BITMAP_177 {0x18, 0x18, 0x18, 0xff, 0xff, 0x18, 0x18, 0x18, 0x0, 0xff, 0xff} - -/* twosuperior (178) */ -#define NXFONT_METRICS_178 {1, 5, 7, 0, 8, 0} -#define NXFONT_BITMAP_178 {0x70, 0xd8, 0xd8, 0x30, 0x60, 0xf8, 0xf8} - -/* threesuperior (179) */ -#define NXFONT_METRICS_179 {1, 5, 7, 0, 8, 0} -#define NXFONT_BITMAP_179 {0x70, 0xd8, 0x18, 0x30, 0x18, 0xd8, 0x70} - -/* acute (180) */ -#define NXFONT_METRICS_180 {1, 3, 3, 1, 7, 0} -#define NXFONT_BITMAP_180 {0x20, 0x60, 0x80} - -/* mu (181) */ -#define NXFONT_METRICS_181 {1, 8, 12, 1, 11, 0} -#define NXFONT_BITMAP_181 {0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0xc7, 0xff, 0xfb, 0xc0, 0xc0, 0xc0} - -/* paragraph (182) */ -#define NXFONT_METRICS_182 {1, 8, 15, 0, 8, 0} -#define NXFONT_BITMAP_182 {0x7f, 0xf2, 0xf2, 0xf2, 0xf2, 0xf2, 0x72, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12} - -/* periodcentered (183) */ -#define NXFONT_METRICS_183 {1, 2, 2, 1, 14, 0} -#define NXFONT_BITMAP_183 {0xc0, 0xc0} - -/* cedilla (184) */ -#define NXFONT_METRICS_184 {1, 5, 4, 0, 20, 0} -#define NXFONT_BITMAP_184 {0x20, 0x30, 0x98, 0x70} - -/* onesuperior (185) */ -#define NXFONT_METRICS_185 {1, 4, 7, 1, 8, 0} -#define NXFONT_BITMAP_185 {0x30, 0xf0, 0xf0, 0x30, 0x30, 0x30, 0x30} - -/* ordmasculine (186) */ -#define NXFONT_METRICS_186 {1, 5, 7, 0, 8, 0} -#define NXFONT_BITMAP_186 {0x70, 0xd8, 0x88, 0xd8, 0x70, 0x0, 0xf8} - -/* guillemotright (187) */ -#define NXFONT_METRICS_187 {1, 8, 6, 1, 12, 0} -#define NXFONT_BITMAP_187 {0xcc, 0x66, 0x33, 0x33, 0x66, 0xcc} - -/* onequarter (188) */ -#define NXFONT_METRICS_188 {2, 13, 12, 1, 8, 0} -#define NXFONT_BITMAP_188 {0x30, 0xc0, 0xf0, 0x80, 0xf1, 0x80, 0x31, 0x0, 0x33, 0x30, 0x32, 0x70, 0x36, 0xf0, 0x4, 0xb0, 0xd, 0xb0, 0x9, 0xf8, 0x18, 0x30, 0x10, 0x30} - -/* onehalf (189) */ -#define NXFONT_METRICS_189 {2, 12, 12, 0, 8, 0} -#define NXFONT_BITMAP_189 {0x30, 0x80, 0xf1, 0x80, 0xf1, 0x0, 0x33, 0x0, 0x32, 0x0, 0x36, 0xe0, 0x35, 0xb0, 0xd, 0xb0, 0x8, 0x60, 0x18, 0xc0, 0x11, 0xf0, 0x31, 0xf0} - -/* threequarters (190) */ -#define NXFONT_METRICS_190 {2, 13, 12, 0, 8, 0} -#define NXFONT_BITMAP_190 {0x70, 0x40, 0xd8, 0xc0, 0x18, 0x80, 0x31, 0x80, 0x19, 0x30, 0xdb, 0x70, 0x72, 0xf0, 0x6, 0xb0, 0x5, 0xb0, 0xd, 0xf8, 0x8, 0x30, 0x18, 0x30} - -/* questiondown (191) */ -#define NXFONT_METRICS_191 {1, 7, 12, 1, 11, 0} -#define NXFONT_BITMAP_191 {0x30, 0x30, 0x0, 0x30, 0x30, 0x60, 0xe0, 0xc0, 0xc6, 0xc6, 0xfe, 0x7c} - -/* Agrave (192) */ -#define NXFONT_METRICS_192 {2, 11, 16, 0, 4, 0} -#define NXFONT_BITMAP_192 {0x10, 0x0, 0x18, 0x0, 0x4, 0x0, 0x0, 0x0, 0xe, 0x0, 0xe, 0x0, 0x1f, 0x0, 0x1b, 0x0, 0x3b, 0x80, 0x31, 0x80, 0x71, 0xc0, 0x60, 0xc0, 0x7f, 0xc0, 0xff, 0xe0, 0xc0, 0x60, 0xc0, 0x60} - -/* Aacute (193) */ -#define NXFONT_METRICS_193 {2, 11, 16, 0, 4, 0} -#define NXFONT_BITMAP_193 {0x2, 0x0, 0x6, 0x0, 0x8, 0x0, 0x0, 0x0, 0xe, 0x0, 0xe, 0x0, 0x1f, 0x0, 0x1b, 0x0, 0x3b, 0x80, 0x31, 0x80, 0x71, 0xc0, 0x60, 0xc0, 0x7f, 0xc0, 0xff, 0xe0, 0xc0, 0x60, 0xc0, 0x60} - -/* Acircumflex (194) */ -#define NXFONT_METRICS_194 {2, 11, 16, 0, 4, 0} -#define NXFONT_BITMAP_194 {0x4, 0x0, 0xe, 0x0, 0x11, 0x0, 0x0, 0x0, 0xe, 0x0, 0xe, 0x0, 0x1f, 0x0, 0x1b, 0x0, 0x3b, 0x80, 0x31, 0x80, 0x71, 0xc0, 0x60, 0xc0, 0x7f, 0xc0, 0xff, 0xe0, 0xc0, 0x60, 0xc0, 0x60} - -/* Atilde (195) */ -#define NXFONT_METRICS_195 {2, 11, 15, 0, 5, 0} -#define NXFONT_BITMAP_195 {0xe, 0x80, 0x17, 0x0, 0x0, 0x0, 0xe, 0x0, 0xe, 0x0, 0x1f, 0x0, 0x1b, 0x0, 0x3b, 0x80, 0x31, 0x80, 0x71, 0xc0, 0x60, 0xc0, 0x7f, 0xc0, 0xff, 0xe0, 0xc0, 0x60, 0xc0, 0x60} - -/* Adieresis (196) */ -#define NXFONT_METRICS_196 {2, 11, 15, 0, 5, 0} -#define NXFONT_BITMAP_196 {0x31, 0x80, 0x31, 0x80, 0x0, 0x0, 0xe, 0x0, 0xe, 0x0, 0x1f, 0x0, 0x1b, 0x0, 0x3b, 0x80, 0x31, 0x80, 0x71, 0xc0, 0x60, 0xc0, 0x7f, 0xc0, 0xff, 0xe0, 0xc0, 0x60, 0xc0, 0x60} - -/* Aring (197) */ -#define NXFONT_METRICS_197 {2, 11, 16, 0, 4, 0} -#define NXFONT_BITMAP_197 {0xc, 0x0, 0x12, 0x0, 0x12, 0x0, 0xc, 0x0, 0xe, 0x0, 0xe, 0x0, 0x1f, 0x0, 0x1b, 0x0, 0x3b, 0x80, 0x31, 0x80, 0x71, 0xc0, 0x60, 0xc0, 0x7f, 0xc0, 0xff, 0xe0, 0xc0, 0x60, 0xc0, 0x60} - -/* AE (198) */ -#define NXFONT_METRICS_198 {2, 14, 12, 0, 8, 0} -#define NXFONT_BITMAP_198 {0x1f, 0xfc, 0x1f, 0xfc, 0x1b, 0x0, 0x33, 0x0, 0x33, 0x0, 0x33, 0xf8, 0x63, 0xf8, 0x7f, 0x0, 0x7f, 0x0, 0xc3, 0x0, 0xc3, 0xfc, 0xc3, 0xfc} - -/* Ccedilla (199) */ -#define NXFONT_METRICS_199 {2, 10, 16, 1, 8, 0} -#define NXFONT_BITMAP_199 {0x1f, 0x0, 0x3f, 0x80, 0x71, 0xc0, 0x60, 0xc0, 0xe0, 0x0, 0xc0, 0x0, 0xc0, 0x0, 0xe0, 0x0, 0x60, 0xc0, 0x71, 0xc0, 0x3f, 0x80, 0x1f, 0x0, 0x4, 0x0, 0x6, 0x0, 0x13, 0x0, 0xe, 0x0} - -/* Egrave (200) */ -#define NXFONT_METRICS_200 {1, 8, 16, 1, 4, 0} -#define NXFONT_BITMAP_200 {0x20, 0x30, 0x8, 0x0, 0xff, 0xff, 0xc0, 0xc0, 0xc0, 0xfe, 0xfe, 0xc0, 0xc0, 0xc0, 0xff, 0xff} - -/* Eacute (201) */ -#define NXFONT_METRICS_201 {1, 8, 16, 1, 4, 0} -#define NXFONT_BITMAP_201 {0x4, 0xc, 0x10, 0x0, 0xff, 0xff, 0xc0, 0xc0, 0xc0, 0xfe, 0xfe, 0xc0, 0xc0, 0xc0, 0xff, 0xff} - -/* Ecircumflex (202) */ -#define NXFONT_METRICS_202 {1, 8, 16, 1, 4, 0} -#define NXFONT_BITMAP_202 {0x8, 0x1c, 0x22, 0x0, 0xff, 0xff, 0xc0, 0xc0, 0xc0, 0xfe, 0xfe, 0xc0, 0xc0, 0xc0, 0xff, 0xff} - -/* Edieresis (203) */ -#define NXFONT_METRICS_203 {1, 8, 15, 1, 5, 0} -#define NXFONT_BITMAP_203 {0x66, 0x66, 0x0, 0xff, 0xff, 0xc0, 0xc0, 0xc0, 0xfe, 0xfe, 0xc0, 0xc0, 0xc0, 0xff, 0xff} - -/* Igrave (204) */ -#define NXFONT_METRICS_204 {1, 3, 16, 0, 4, 0} -#define NXFONT_BITMAP_204 {0x80, 0xc0, 0x20, 0x0, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60} - -/* Iacute (205) */ -#define NXFONT_METRICS_205 {1, 3, 16, 1, 4, 0} -#define NXFONT_BITMAP_205 {0x20, 0x60, 0x80, 0x0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0} - -/* Icircumflex (206) */ -#define NXFONT_METRICS_206 {1, 5, 16, 0, 4, 0} -#define NXFONT_BITMAP_206 {0x20, 0x70, 0x88, 0x0, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60} - -/* Idieresis (207) -- NOTE: Xoffset should be -1, not 0. */ -#define NXFONT_METRICS_207 {1, 6, 15, 0, 5, 0} -#define NXFONT_BITMAP_207 {0xcc, 0xcc, 0x0, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30} - -/* Eth (208) */ -#define NXFONT_METRICS_208 {2, 12, 12, 0, 8, 0} -#define NXFONT_BITMAP_208 {0x3f, 0x0, 0x3f, 0xc0, 0x30, 0xe0, 0x30, 0x60, 0x30, 0x70, 0xfc, 0x30, 0xfc, 0x30, 0x30, 0x70, 0x30, 0x60, 0x30, 0xe0, 0x3f, 0xc0, 0x3f, 0x0} - -/* Ntilde (209) */ -#define NXFONT_METRICS_209 {2, 10, 15, 1, 5, 0} -#define NXFONT_BITMAP_209 {0x1d, 0x0, 0x2e, 0x0, 0x0, 0x0, 0xe0, 0xc0, 0xf0, 0xc0, 0xf0, 0xc0, 0xd8, 0xc0, 0xd8, 0xc0, 0xcc, 0xc0, 0xcc, 0xc0, 0xc6, 0xc0, 0xc6, 0xc0, 0xc3, 0xc0, 0xc3, 0xc0, 0xc1, 0xc0} - -/* Ograve (210) */ -#define NXFONT_METRICS_210 {2, 11, 16, 1, 4, 0} -#define NXFONT_BITMAP_210 {0x8, 0x0, 0xc, 0x0, 0x2, 0x0, 0x0, 0x0, 0x1f, 0x0, 0x3f, 0x80, 0x71, 0xc0, 0x60, 0xc0, 0xe0, 0xe0, 0xc0, 0x60, 0xc0, 0x60, 0xe0, 0xe0, 0x60, 0xc0, 0x71, 0xc0, 0x3f, 0x80, 0x1f, 0x0} - -/* Oacute (211) */ -#define NXFONT_METRICS_211 {2, 11, 16, 1, 4, 0} -#define NXFONT_BITMAP_211 {0x1, 0x0, 0x3, 0x0, 0x4, 0x0, 0x0, 0x0, 0x1f, 0x0, 0x3f, 0x80, 0x71, 0xc0, 0x60, 0xc0, 0xe0, 0xe0, 0xc0, 0x60, 0xc0, 0x60, 0xe0, 0xe0, 0x60, 0xc0, 0x71, 0xc0, 0x3f, 0x80, 0x1f, 0x0} - -/* Ocircumflex (212) */ -#define NXFONT_METRICS_212 {2, 11, 16, 1, 4, 0} -#define NXFONT_BITMAP_212 {0x4, 0x0, 0xe, 0x0, 0x11, 0x0, 0x0, 0x0, 0x1f, 0x0, 0x3f, 0x80, 0x71, 0xc0, 0x60, 0xc0, 0xe0, 0xe0, 0xc0, 0x60, 0xc0, 0x60, 0xe0, 0xe0, 0x60, 0xc0, 0x71, 0xc0, 0x3f, 0x80, 0x1f, 0x0} - -/* Otilde (213) */ -#define NXFONT_METRICS_213 {2, 11, 15, 1, 5, 0} -#define NXFONT_BITMAP_213 {0xe, 0x80, 0x17, 0x0, 0x0, 0x0, 0x1f, 0x0, 0x3f, 0x80, 0x71, 0xc0, 0x60, 0xc0, 0xe0, 0xe0, 0xc0, 0x60, 0xc0, 0x60, 0xe0, 0xe0, 0x60, 0xc0, 0x71, 0xc0, 0x3f, 0x80, 0x1f, 0x0} - -/* Odieresis (214) */ -#define NXFONT_METRICS_214 {2, 11, 15, 1, 5, 0} -#define NXFONT_BITMAP_214 {0x19, 0x80, 0x19, 0x80, 0x0, 0x0, 0x1f, 0x0, 0x3f, 0x80, 0x71, 0xc0, 0x60, 0xc0, 0xe0, 0xe0, 0xc0, 0x60, 0xc0, 0x60, 0xe0, 0xe0, 0x60, 0xc0, 0x71, 0xc0, 0x3f, 0x80, 0x1f, 0x0} - -/* multiply (215) */ -#define NXFONT_METRICS_215 {2, 9, 9, 0, 11, 0} -#define NXFONT_BITMAP_215 {0x41, 0x0, 0xe3, 0x80, 0x77, 0x0, 0x3e, 0x0, 0x1c, 0x0, 0x3e, 0x0, 0x77, 0x0, 0xe3, 0x80, 0x41, 0x0} - -/* Oslash (216) */ -#define NXFONT_METRICS_216 {2, 11, 12, 1, 8, 0} -#define NXFONT_BITMAP_216 {0x1f, 0x20, 0x3f, 0xc0, 0x70, 0xc0, 0x61, 0xc0, 0xe3, 0x60, 0xc6, 0x60, 0xcc, 0x60, 0xd8, 0xe0, 0x70, 0xc0, 0x61, 0xc0, 0x7f, 0x80, 0x9f, 0x0} - -/* Ugrave (217) */ -#define NXFONT_METRICS_217 {2, 10, 16, 1, 4, 0} -#define NXFONT_BITMAP_217 {0x10, 0x0, 0x18, 0x0, 0x4, 0x0, 0x0, 0x0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xe1, 0xc0, 0x7f, 0x80, 0x3f, 0x0} - -/* Uacute (218) */ -#define NXFONT_METRICS_218 {2, 10, 16, 1, 4, 0} -#define NXFONT_BITMAP_218 {0x2, 0x0, 0x6, 0x0, 0x8, 0x0, 0x0, 0x0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xe1, 0xc0, 0x7f, 0x80, 0x3f, 0x0} - -/* Ucircumflex (219) */ -#define NXFONT_METRICS_219 {2, 10, 16, 1, 4, 0} -#define NXFONT_BITMAP_219 {0x4, 0x0, 0xe, 0x0, 0x11, 0x0, 0x0, 0x0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xe1, 0xc0, 0x7f, 0x80, 0x3f, 0x0} - -/* Udieresis (220) */ -#define NXFONT_METRICS_220 {2, 10, 15, 1, 5, 0} -#define NXFONT_BITMAP_220 {0x33, 0x0, 0x33, 0x0, 0x0, 0x0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xe1, 0xc0, 0x7f, 0x80, 0x3f, 0x0} - -/* Yacute (221) */ -#define NXFONT_METRICS_221 {2, 10, 16, 0, 4, 0} -#define NXFONT_BITMAP_221 {0x2, 0x0, 0x6, 0x0, 0x8, 0x0, 0x0, 0x0, 0xc0, 0xc0, 0xe1, 0xc0, 0x61, 0x80, 0x33, 0x0, 0x33, 0x0, 0x1e, 0x0, 0x1e, 0x0, 0xc, 0x0, 0xc, 0x0, 0xc, 0x0, 0xc, 0x0, 0xc, 0x0} - -/* Thorn (222) */ -#define NXFONT_METRICS_222 {2, 9, 12, 1, 8, 0} -#define NXFONT_BITMAP_222 {0xc0, 0x0, 0xfe, 0x0, 0xff, 0x0, 0xc3, 0x80, 0xc1, 0x80, 0xc1, 0x80, 0xc3, 0x80, 0xff, 0x0, 0xfe, 0x0, 0xc0, 0x0, 0xc0, 0x0, 0xc0, 0x0} - -/* germandbls (223) */ -#define NXFONT_METRICS_223 {1, 8, 12, 1, 8, 0} -#define NXFONT_BITMAP_223 {0x7c, 0xfe, 0xc6, 0xc6, 0xdc, 0xde, 0xc3, 0xc3, 0xc3, 0xc3, 0xde, 0xdc} - -/* agrave (224) */ -#define NXFONT_METRICS_224 {1, 8, 13, 1, 7, 0} -#define NXFONT_BITMAP_224 {0x20, 0x30, 0x8, 0x0, 0x7c, 0xfe, 0xc6, 0xe, 0x7e, 0xe6, 0xc6, 0xfe, 0x77} - -/* aacute (225) */ -#define NXFONT_METRICS_225 {1, 8, 13, 1, 7, 0} -#define NXFONT_BITMAP_225 {0x4, 0xc, 0x10, 0x0, 0x7c, 0xfe, 0xc6, 0xe, 0x7e, 0xe6, 0xc6, 0xfe, 0x77} - -/* acircumflex (226) */ -#define NXFONT_METRICS_226 {1, 8, 13, 1, 7, 0} -#define NXFONT_BITMAP_226 {0x10, 0x38, 0x44, 0x0, 0x7c, 0xfe, 0xc6, 0xe, 0x7e, 0xe6, 0xc6, 0xfe, 0x77} - -/* atilde (227) */ -#define NXFONT_METRICS_227 {1, 8, 12, 1, 8, 0} -#define NXFONT_BITMAP_227 {0x3a, 0x5c, 0x0, 0x7c, 0xfe, 0xc6, 0xe, 0x7e, 0xe6, 0xc6, 0xfe, 0x77} - -/* adieresis (228) */ -#define NXFONT_METRICS_228 {1, 8, 12, 1, 8, 0} -#define NXFONT_BITMAP_228 {0x6c, 0x6c, 0x0, 0x7c, 0xfe, 0xc6, 0xe, 0x7e, 0xe6, 0xc6, 0xfe, 0x77} - -/* aring (229) */ -#define NXFONT_METRICS_229 {1, 8, 13, 1, 7, 0} -#define NXFONT_BITMAP_229 {0x18, 0x24, 0x24, 0x18, 0x7c, 0xfe, 0xc6, 0xe, 0x7e, 0xe6, 0xc6, 0xfe, 0x77} - -/* ae (230) */ -#define NXFONT_METRICS_230 {2, 13, 9, 1, 11, 0} -#define NXFONT_BITMAP_230 {0x7d, 0xe0, 0xff, 0xf0, 0xc6, 0x18, 0xf, 0xf8, 0x7f, 0xf8, 0xe6, 0x0, 0xcf, 0x38, 0xff, 0xf0, 0x79, 0xe0} - -/* ccedilla (231) */ -#define NXFONT_METRICS_231 {1, 8, 13, 1, 11, 0} -#define NXFONT_BITMAP_231 {0x3c, 0x7e, 0xe7, 0xc0, 0xc0, 0xc0, 0xe7, 0x7e, 0x3c, 0x10, 0x18, 0x4c, 0x38} - -/* egrave (232) */ -#define NXFONT_METRICS_232 {1, 8, 13, 1, 7, 0} -#define NXFONT_BITMAP_232 {0x20, 0x30, 0x8, 0x0, 0x3c, 0x7e, 0xc3, 0xff, 0xff, 0xc0, 0xe7, 0x7e, 0x3c} - -/* eacute (233) */ -#define NXFONT_METRICS_233 {1, 8, 13, 1, 7, 0} -#define NXFONT_BITMAP_233 {0x4, 0xc, 0x10, 0x0, 0x3c, 0x7e, 0xc3, 0xff, 0xff, 0xc0, 0xe7, 0x7e, 0x3c} - -/* ecircumflex (234) */ -#define NXFONT_METRICS_234 {1, 8, 13, 1, 7, 0} -#define NXFONT_BITMAP_234 {0x8, 0x1c, 0x22, 0x0, 0x3c, 0x7e, 0xc3, 0xff, 0xff, 0xc0, 0xe7, 0x7e, 0x3c} - -/* edieresis (235) */ -#define NXFONT_METRICS_235 {1, 8, 12, 1, 8, 0} -#define NXFONT_BITMAP_235 {0x36, 0x36, 0x0, 0x3c, 0x7e, 0xc3, 0xff, 0xff, 0xc0, 0xe7, 0x7e, 0x3c} - -/* igrave (236) */ -#define NXFONT_METRICS_236 {1, 3, 13, 0, 7, 0} -#define NXFONT_BITMAP_236 {0x80, 0xc0, 0x20, 0x0, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60} - -/* iacute (237) */ -#define NXFONT_METRICS_237 {1, 3, 13, 1, 7, 0} -#define NXFONT_BITMAP_237 {0x20, 0x60, 0x80, 0x0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0} - -/* icircumflex (238) */ -#define NXFONT_METRICS_238 {1, 5, 13, 0, 7, 0} -#define NXFONT_BITMAP_238 {0x20, 0x70, 0x88, 0x0, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60} - -/* idieresis (239) */ -#define NXFONT_METRICS_239 {1, 5, 12, 0, 8, 0} -#define NXFONT_BITMAP_239 {0xd8, 0xd8, 0x0, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60} - -/* eth (240) */ -#define NXFONT_METRICS_240 {1, 8, 12, 1, 8, 0} -#define NXFONT_BITMAP_240 {0x60, 0x7c, 0xf8, 0x1c, 0x7e, 0xe7, 0xc3, 0xc3, 0xc3, 0xe7, 0x7e, 0x3c} - -/* ntilde (241) */ -#define NXFONT_METRICS_241 {1, 8, 12, 1, 8, 0} -#define NXFONT_BITMAP_241 {0x3a, 0x5c, 0x0, 0xde, 0xff, 0xe3, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3} - -/* ograve (242) */ -#define NXFONT_METRICS_242 {1, 8, 13, 1, 7, 0} -#define NXFONT_BITMAP_242 {0x20, 0x30, 0x8, 0x0, 0x3c, 0x7e, 0xe7, 0xc3, 0xc3, 0xc3, 0xe7, 0x7e, 0x3c} - -/* oacute (243) */ -#define NXFONT_METRICS_243 {1, 8, 13, 1, 7, 0} -#define NXFONT_BITMAP_243 {0x8, 0x18, 0x20, 0x0, 0x3c, 0x7e, 0xe7, 0xc3, 0xc3, 0xc3, 0xe7, 0x7e, 0x3c} - -/* ocircumflex (244) */ -#define NXFONT_METRICS_244 {1, 8, 13, 1, 7, 0} -#define NXFONT_BITMAP_244 {0x10, 0x38, 0x44, 0x0, 0x3c, 0x7e, 0xe7, 0xc3, 0xc3, 0xc3, 0xe7, 0x7e, 0x3c} - -/* otilde (245) */ -#define NXFONT_METRICS_245 {1, 8, 12, 1, 8, 0} -#define NXFONT_BITMAP_245 {0x3a, 0x5c, 0x0, 0x3c, 0x7e, 0xe7, 0xc3, 0xc3, 0xc3, 0xe7, 0x7e, 0x3c} - -/* odieresis (246) */ -#define NXFONT_METRICS_246 {1, 8, 12, 1, 8, 0} -#define NXFONT_BITMAP_246 {0x6c, 0x6c, 0x0, 0x3c, 0x7e, 0xe7, 0xc3, 0xc3, 0xc3, 0xe7, 0x7e, 0x3c} - -/* divide (247) */ -#define NXFONT_METRICS_247 {1, 8, 8, 1, 12, 0} -#define NXFONT_BITMAP_247 {0x18, 0x18, 0x0, 0xff, 0xff, 0x0, 0x18, 0x18} - -/* oslash (248) */ -#define NXFONT_METRICS_248 {1, 8, 9, 1, 11, 0} -#define NXFONT_BITMAP_248 {0x3d, 0x7f, 0xe7, 0xcf, 0xdb, 0xf3, 0xe7, 0xfe, 0xbc} - -/* ugrave (249) */ -#define NXFONT_METRICS_249 {1, 8, 13, 1, 7, 0} -#define NXFONT_BITMAP_249 {0x20, 0x30, 0x8, 0x0, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0xc7, 0xff, 0x7b} - -/* uacute (250) */ -#define NXFONT_METRICS_250 {1, 8, 13, 1, 7, 0} -#define NXFONT_BITMAP_250 {0x8, 0x18, 0x20, 0x0, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0xc7, 0xff, 0x7b} - -/* ucircumflex (251) */ -#define NXFONT_METRICS_251 {1, 8, 13, 1, 7, 0} -#define NXFONT_BITMAP_251 {0x10, 0x38, 0x44, 0x0, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0xc7, 0xff, 0x7b} - -/* udieresis (252) */ -#define NXFONT_METRICS_252 {1, 8, 12, 1, 8, 0} -#define NXFONT_BITMAP_252 {0x6c, 0x6c, 0x0, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0xc7, 0xff, 0x7b} - -/* yacute (253) */ -#define NXFONT_METRICS_253 {1, 8, 17, 0, 7, 0} -#define NXFONT_BITMAP_253 {0x4, 0xc, 0x10, 0x0, 0xc3, 0xc3, 0x63, 0x66, 0x36, 0x36, 0x3c, 0x1c, 0x18, 0x18, 0x18, 0x70, 0x60} - -/* thorn (254) */ -#define NXFONT_METRICS_254 {1, 8, 16, 1, 8, 0} -#define NXFONT_BITMAP_254 {0xc0, 0xc0, 0xc0, 0xdc, 0xfe, 0xe7, 0xc3, 0xc3, 0xc3, 0xe7, 0xfe, 0xdc, 0xc0, 0xc0, 0xc0, 0xc0} - -/* ydieresis (255) */ -#define NXFONT_METRICS_255 {1, 8, 16, 0, 8, 0} -#define NXFONT_BITMAP_255 {0x36, 0x36, 0x0, 0xc3, 0xc3, 0x63, 0x66, 0x36, 0x36, 0x3c, 0x1c, 0x18, 0x18, 0x18, 0x70, 0x60} - -/**************************************************************************** - * Public Types - ****************************************************************************/ - -/**************************************************************************** - * Public Data - ****************************************************************************/ - -#undef EXTERN -#if defined(__cplusplus) -#define EXTERN extern "C" -extern "C" { -#else -#define EXTERN extern -#endif - -/**************************************************************************** - * Public Functions - ****************************************************************************/ - -#undef EXTERN -#if defined(__cplusplus) -} -#endif - -#endif /* __GRAPHICS_NXFONTS_NXFONTS_SANS20X27B_H */ diff --git a/nuttx/graphics/nxfonts/nxfonts_sans22x29.h b/nuttx/graphics/nxfonts/nxfonts_sans22x29.h deleted file mode 100644 index e47020bbd..000000000 --- a/nuttx/graphics/nxfonts/nxfonts_sans22x29.h +++ /dev/null @@ -1,849 +0,0 @@ -/**************************************************************************** - * graphics/nxfonts/nxfonts_sans22x29.h - * - * Copyright (C) 2011-2012 NX Engineering, S.A., All rights reserved. - * Author: Jose Pablo Carballo Gomez <jcarballo@nx-engineering.com> - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * 3. Neither the name NuttX nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT} - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING} - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - ****************************************************************************/ - -#ifndef __GRAPHICS_NXFONTS_NXFONTS_SANS22X29_H -#define __GRAPHICS_NXFONTS_NXFONTS_SANS22X29_H - -/**************************************************************************** - * Included Files - ****************************************************************************/ - -/**************************************************************************** - * Pre-Processor Definitions - ****************************************************************************/ - -/* Font ID */ - -#define NXFONT_ID FONTID_SANS22X29 - -/* Ranges of 7-bit and 8-bit fonts */ - -#define NXFONT_MIN7BIT 33 -#define NXFONT_MAX7BIT 126 - -#define NXFONT_MIN8BIT 161 -#define NXFONT_MAX8BIT 255 - -/* Maximum height and width of any glyph in the set */ - -#define NXFONT_MAXHEIGHT 29 -#define NXFONT_MAXWIDTH 22 - -/* The width of a space */ - -#define NXFONT_SPACEWIDTH 5 - -/* exclam (33) */ -#define NXFONT_METRICS_33 {1, 2, 14, 2, 8, 0} -#define NXFONT_BITMAP_33 {0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0x80, 0x80, 0x0, 0x0, 0xc0, 0xc0} - -/* quotedbl (34) */ -#define NXFONT_METRICS_34 {1, 5, 5, 0, 8, 0} -#define NXFONT_BITMAP_34 {0xd8, 0xd8, 0xd8, 0xd8, 0xd8} - -/* numbersign (35) */ -#define NXFONT_METRICS_35 {2, 10, 13, 0, 9, 0} -#define NXFONT_BITMAP_35 {0x9, 0x0, 0x9, 0x0, 0x9, 0x0, 0x7f, 0xc0, 0x7f, 0xc0, 0x12, 0x0, 0x12, 0x0, 0x12, 0x0, 0xff, 0x80, 0xff, 0x80, 0x24, 0x0, 0x24, 0x0, 0x24, 0x0} - -/* dollar (36) */ -#define NXFONT_METRICS_36 {2, 9, 16, 1, 8, 0} -#define NXFONT_BITMAP_36 {0x8, 0x0, 0x3e, 0x0, 0x7f, 0x0, 0xcb, 0x0, 0xc8, 0x0, 0xe8, 0x0, 0x78, 0x0, 0x3e, 0x0, 0xf, 0x0, 0x9, 0x80, 0xc9, 0x80, 0xeb, 0x80, 0x7f, 0x0, 0x3e, 0x0, 0x8, 0x0, 0x8, 0x0} - -/* percent (37) */ -#define NXFONT_METRICS_37 {2, 14, 13, 1, 9, 0} -#define NXFONT_BITMAP_37 {0x78, 0x60, 0xcc, 0xc0, 0xcc, 0xc0, 0xcd, 0x80, 0xcd, 0x80, 0x7b, 0x0, 0x3, 0x0, 0x6, 0x78, 0x6, 0xcc, 0xc, 0xcc, 0xc, 0xcc, 0x18, 0xcc, 0x18, 0x78} - -/* ampersand (38) */ -#define NXFONT_METRICS_38 {2, 12, 13, 1, 9, 0} -#define NXFONT_BITMAP_38 {0x3c, 0x0, 0x7e, 0x0, 0x66, 0x0, 0x66, 0x0, 0x3c, 0x0, 0x7c, 0x0, 0xee, 0xc0, 0xc6, 0xc0, 0xc3, 0xc0, 0xc3, 0x80, 0xe7, 0xc0, 0x7e, 0xe0, 0x3c, 0x70} - -/* quotesingle (39) */ -#define NXFONT_METRICS_39 {1, 1, 5, 1, 8, 0} -#define NXFONT_BITMAP_39 {0x80, 0x80, 0x80, 0x80, 0x80} - -/* parenleft (40) */ -#define NXFONT_METRICS_40 {1, 4, 18, 0, 8, 0} -#define NXFONT_BITMAP_40 {0x10, 0x30, 0x60, 0x60, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0x60, 0x60, 0x30, 0x10} - -/* parenright (41) */ -#define NXFONT_METRICS_41 {1, 4, 18, 1, 8, 0} -#define NXFONT_BITMAP_41 {0x80, 0xc0, 0x60, 0x60, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x60, 0x60, 0xc0, 0x80} - -/* asterisk (42) */ -#define NXFONT_METRICS_42 {1, 5, 7, 1, 8, 0} -#define NXFONT_BITMAP_42 {0x20, 0xa8, 0xf8, 0x20, 0xf8, 0xa8, 0x20} - -/* plus (43) */ -#define NXFONT_METRICS_43 {1, 8, 10, 1, 12, 0} -#define NXFONT_BITMAP_43 {0x18, 0x18, 0x18, 0x18, 0xff, 0xff, 0x18, 0x18, 0x18, 0x18} - -/* comma (44) */ -#define NXFONT_METRICS_44 {1, 2, 5, 1, 20, 0} -#define NXFONT_BITMAP_44 {0xc0, 0xc0, 0x40, 0x40, 0x80} - -/* hyphen (45) */ -#define NXFONT_METRICS_45 {1, 5, 1, 0, 16, 0} -#define NXFONT_BITMAP_45 {0xf8} - -/* period (46) */ -#define NXFONT_METRICS_46 {1, 2, 2, 1, 20, 0} -#define NXFONT_BITMAP_46 {0xc0, 0xc0} - -/* slash (47) */ -#define NXFONT_METRICS_47 {1, 5, 14, 0, 8, 0} -#define NXFONT_BITMAP_47 {0x18, 0x18, 0x18, 0x18, 0x30, 0x30, 0x30, 0x60, 0x60, 0x60, 0xc0, 0xc0, 0xc0, 0xc0} - -/* zero (48) */ -#define NXFONT_METRICS_48 {1, 8, 13, 1, 9, 0} -#define NXFONT_BITMAP_48 {0x3c, 0x7e, 0x66, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0x66, 0x7e, 0x3c} - -/* one (49) */ -#define NXFONT_METRICS_49 {1, 5, 13, 2, 9, 0} -#define NXFONT_BITMAP_49 {0x18, 0xf8, 0xf8, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18} - -/* two (50) */ -#define NXFONT_METRICS_50 {1, 8, 13, 1, 9, 0} -#define NXFONT_BITMAP_50 {0x3c, 0xfe, 0xc3, 0x3, 0x7, 0xe, 0x1c, 0x38, 0x70, 0xe0, 0xc0, 0xff, 0xff} - -/* three (51) */ -#define NXFONT_METRICS_51 {1, 8, 13, 1, 9, 0} -#define NXFONT_BITMAP_51 {0x3e, 0x7f, 0xc3, 0xc3, 0x6, 0x1c, 0x1e, 0x7, 0x3, 0xc3, 0xc7, 0x7e, 0x3c} - -/* four (52) */ -#define NXFONT_METRICS_52 {2, 9, 13, 0, 9, 0} -#define NXFONT_BITMAP_52 {0x3, 0x0, 0x7, 0x0, 0xf, 0x0, 0x1b, 0x0, 0x33, 0x0, 0x33, 0x0, 0x63, 0x0, 0xc3, 0x0, 0xff, 0x80, 0xff, 0x80, 0x3, 0x0, 0x3, 0x0, 0x3, 0x0} - -/* five (53) */ -#define NXFONT_METRICS_53 {1, 8, 13, 1, 9, 0} -#define NXFONT_BITMAP_53 {0xfe, 0xfe, 0xc0, 0xc0, 0xfc, 0xfe, 0xc7, 0x3, 0x3, 0xc3, 0xc7, 0xfe, 0x7c} - -/* six (54) */ -#define NXFONT_METRICS_54 {1, 8, 13, 1, 9, 0} -#define NXFONT_BITMAP_54 {0x3c, 0x7f, 0x63, 0xc0, 0xc0, 0xdc, 0xfe, 0xc3, 0xc3, 0xc3, 0xe3, 0x7e, 0x3c} - -/* seven (55) */ -#define NXFONT_METRICS_55 {1, 8, 13, 1, 9, 0} -#define NXFONT_BITMAP_55 {0xff, 0xff, 0x3, 0x6, 0xc, 0xc, 0x18, 0x18, 0x30, 0x30, 0x60, 0x60, 0x60} - -/* eight (56) */ -#define NXFONT_METRICS_56 {1, 8, 13, 1, 9, 0} -#define NXFONT_BITMAP_56 {0x3c, 0x7e, 0xe7, 0xc3, 0xc3, 0x66, 0x7e, 0xe7, 0xc3, 0xc3, 0xe7, 0x7e, 0x3c} - -/* nine (57) */ -#define NXFONT_METRICS_57 {1, 8, 13, 1, 9, 0} -#define NXFONT_BITMAP_57 {0x3c, 0x7e, 0xc7, 0xc3, 0xc3, 0xc3, 0x7f, 0x3b, 0x3, 0x3, 0xc6, 0xfe, 0x7c} - -/* colon (58) */ -#define NXFONT_METRICS_58 {1, 2, 10, 1, 12, 0} -#define NXFONT_BITMAP_58 {0xc0, 0xc0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xc0, 0xc0} - -/* semicolon (59) */ -#define NXFONT_METRICS_59 {1, 2, 13, 1, 12, 0} -#define NXFONT_BITMAP_59 {0xc0, 0xc0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xc0, 0xc0, 0x40, 0x40, 0x80} - -/* less (60) */ -#define NXFONT_METRICS_60 {1, 8, 9, 1, 13, 0} -#define NXFONT_BITMAP_60 {0x3, 0xf, 0x3c, 0x70, 0xc0, 0x70, 0x3c, 0xf, 0x3} - -/* equal (61) */ -#define NXFONT_METRICS_61 {1, 7, 5, 2, 15, 0} -#define NXFONT_BITMAP_61 {0xfe, 0xfe, 0x0, 0xfe, 0xfe} - -/* greater (62) */ -#define NXFONT_METRICS_62 {1, 8, 9, 1, 13, 0} -#define NXFONT_BITMAP_62 {0xc0, 0xf0, 0x3c, 0xe, 0x3, 0xe, 0x3c, 0xf0, 0xc0} - -/* question (63) */ -#define NXFONT_METRICS_63 {1, 7, 14, 1, 8, 0} -#define NXFONT_BITMAP_63 {0x7c, 0xfe, 0xc6, 0xc6, 0xe, 0x1c, 0x38, 0x30, 0x30, 0x30, 0x0, 0x0, 0x30, 0x30} - -/* at (64) */ -#define NXFONT_METRICS_64 {2, 16, 17, 1, 8, 0} -#define NXFONT_BITMAP_64 {0x3, 0xf0, 0xf, 0xfc, 0x1c, 0xe, 0x30, 0x6, 0x63, 0xd3, 0x67, 0x73, 0xc6, 0x33, 0xcc, 0x63, 0xcc, 0x66, 0xcc, 0x66, 0xcc, 0xcc, 0xcf, 0xf8, 0x67, 0x70, 0x70, 0x0, 0x38, 0x0, 0x1f, 0xf0, 0x7, 0xe0} - -/* A (65) */ -#define NXFONT_METRICS_65 {2, 12, 14, 0, 8, 0} -#define NXFONT_BITMAP_65 {0x6, 0x0, 0x6, 0x0, 0xf, 0x0, 0xf, 0x0, 0x19, 0x80, 0x19, 0x80, 0x30, 0xc0, 0x30, 0xc0, 0x3f, 0xc0, 0x7f, 0xe0, 0x60, 0x60, 0x60, 0x60, 0xc0, 0x30, 0xc0, 0x30} - -/* B (66) */ -#define NXFONT_METRICS_66 {2, 11, 14, 1, 8, 0} -#define NXFONT_BITMAP_66 {0xff, 0x0, 0xff, 0x80, 0xc1, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc1, 0x80, 0xff, 0x80, 0xff, 0xc0, 0xc0, 0xe0, 0xc0, 0x60, 0xc0, 0x60, 0xc0, 0xe0, 0xff, 0xc0, 0xff, 0x80} - -/* C (67) */ -#define NXFONT_METRICS_67 {2, 12, 14, 1, 8, 0} -#define NXFONT_BITMAP_67 {0xf, 0x80, 0x3f, 0xe0, 0x70, 0x70, 0x60, 0x30, 0xe0, 0x0, 0xc0, 0x0, 0xc0, 0x0, 0xc0, 0x0, 0xc0, 0x0, 0xe0, 0x0, 0x60, 0x30, 0x70, 0x70, 0x3f, 0xe0, 0xf, 0x80} - -/* D (68) */ -#define NXFONT_METRICS_68 {2, 12, 14, 1, 8, 0} -#define NXFONT_BITMAP_68 {0xff, 0x80, 0xff, 0xc0, 0xc0, 0xe0, 0xc0, 0x60, 0xc0, 0x30, 0xc0, 0x30, 0xc0, 0x30, 0xc0, 0x30, 0xc0, 0x30, 0xc0, 0x30, 0xc0, 0x60, 0xc0, 0xe0, 0xff, 0xc0, 0xff, 0x80} - -/* E (69) */ -#define NXFONT_METRICS_69 {2, 10, 14, 2, 8, 0} -#define NXFONT_BITMAP_69 {0xff, 0xc0, 0xff, 0xc0, 0xc0, 0x0, 0xc0, 0x0, 0xc0, 0x0, 0xc0, 0x0, 0xff, 0x80, 0xff, 0x80, 0xc0, 0x0, 0xc0, 0x0, 0xc0, 0x0, 0xc0, 0x0, 0xff, 0xc0, 0xff, 0xc0} - -/* F (70) */ -#define NXFONT_METRICS_70 {2, 9, 14, 2, 8, 0} -#define NXFONT_BITMAP_70 {0xff, 0x80, 0xff, 0x80, 0xc0, 0x0, 0xc0, 0x0, 0xc0, 0x0, 0xc0, 0x0, 0xff, 0x0, 0xff, 0x0, 0xc0, 0x0, 0xc0, 0x0, 0xc0, 0x0, 0xc0, 0x0, 0xc0, 0x0, 0xc0, 0x0} - -/* G (71) */ -#define NXFONT_METRICS_71 {2, 13, 14, 1, 8, 0} -#define NXFONT_BITMAP_71 {0xf, 0xc0, 0x3f, 0xf0, 0x70, 0x38, 0x60, 0x18, 0xe0, 0x18, 0xc0, 0x0, 0xc0, 0x0, 0xc0, 0xf8, 0xc0, 0xf8, 0xe0, 0x18, 0x60, 0x18, 0x70, 0x38, 0x3f, 0xf8, 0xf, 0xd8} - -/* H (72) */ -#define NXFONT_METRICS_72 {2, 11, 14, 1, 8, 0} -#define NXFONT_BITMAP_72 {0xc0, 0x60, 0xc0, 0x60, 0xc0, 0x60, 0xc0, 0x60, 0xc0, 0x60, 0xc0, 0x60, 0xff, 0xe0, 0xff, 0xe0, 0xc0, 0x60, 0xc0, 0x60, 0xc0, 0x60, 0xc0, 0x60, 0xc0, 0x60, 0xc0, 0x60} - -/* I (73) */ -#define NXFONT_METRICS_73 {1, 2, 14, 2, 8, 0} -#define NXFONT_BITMAP_73 {0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0} - -/* J (74) */ -#define NXFONT_METRICS_74 {1, 8, 14, 0, 8, 0} -#define NXFONT_BITMAP_74 {0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 0xc3, 0xc3, 0xe7, 0x7e, 0x3c} - -/* K (75) */ -#define NXFONT_METRICS_75 {2, 12, 14, 2, 8, 0} -#define NXFONT_BITMAP_75 {0xc0, 0xe0, 0xc1, 0xc0, 0xc3, 0x80, 0xc7, 0x0, 0xce, 0x0, 0xdc, 0x0, 0xf8, 0x0, 0xfc, 0x0, 0xce, 0x0, 0xc7, 0x0, 0xc3, 0x80, 0xc1, 0xc0, 0xc0, 0xe0, 0xc0, 0x70} - -/* L (76) */ -#define NXFONT_METRICS_76 {2, 9, 14, 1, 8, 0} -#define NXFONT_BITMAP_76 {0xc0, 0x0, 0xc0, 0x0, 0xc0, 0x0, 0xc0, 0x0, 0xc0, 0x0, 0xc0, 0x0, 0xc0, 0x0, 0xc0, 0x0, 0xc0, 0x0, 0xc0, 0x0, 0xc0, 0x0, 0xc0, 0x0, 0xff, 0x80, 0xff, 0x80} - -/* M (77) */ -#define NXFONT_METRICS_77 {2, 14, 14, 1, 8, 0} -#define NXFONT_BITMAP_77 {0xc0, 0xc, 0xc0, 0xc, 0xe0, 0x1c, 0xe0, 0x1c, 0xf0, 0x3c, 0xf0, 0x3c, 0xd8, 0x6c, 0xd8, 0x6c, 0xcc, 0xcc, 0xcc, 0xcc, 0xc4, 0x8c, 0xc7, 0x8c, 0xc3, 0xc, 0xc3, 0xc} - -/* N (78) */ -#define NXFONT_METRICS_78 {2, 11, 14, 1, 8, 0} -#define NXFONT_BITMAP_78 {0xc0, 0x60, 0xe0, 0x60, 0xf0, 0x60, 0xf0, 0x60, 0xd8, 0x60, 0xcc, 0x60, 0xcc, 0x60, 0xc6, 0x60, 0xc6, 0x60, 0xc3, 0x60, 0xc1, 0xe0, 0xc1, 0xe0, 0xc0, 0xe0, 0xc0, 0x60} - -/* O (79) */ -#define NXFONT_METRICS_79 {2, 13, 14, 1, 8, 0} -#define NXFONT_BITMAP_79 {0xf, 0x80, 0x3f, 0xe0, 0x70, 0x70, 0x60, 0x30, 0xe0, 0x38, 0xc0, 0x18, 0xc0, 0x18, 0xc0, 0x18, 0xc0, 0x18, 0xe0, 0x38, 0x60, 0x30, 0x70, 0x70, 0x3f, 0xe0, 0xf, 0x80} - -/* P (80) */ -#define NXFONT_METRICS_80 {2, 10, 14, 2, 8, 0} -#define NXFONT_BITMAP_80 {0xff, 0x0, 0xff, 0x80, 0xc1, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc1, 0xc0, 0xff, 0x80, 0xff, 0x0, 0xc0, 0x0, 0xc0, 0x0, 0xc0, 0x0, 0xc0, 0x0, 0xc0, 0x0, 0xc0, 0x0} - -/* Q (81) */ -#define NXFONT_METRICS_81 {2, 13, 15, 1, 8, 0} -#define NXFONT_BITMAP_81 {0xf, 0x80, 0x3f, 0xe0, 0x70, 0x70, 0x60, 0x30, 0xe0, 0x38, 0xc0, 0x18, 0xc0, 0x18, 0xc0, 0x18, 0xc0, 0x18, 0xe1, 0xb8, 0x61, 0xb0, 0x70, 0xf0, 0x3f, 0xe0, 0xf, 0xb0, 0x0, 0x30} - -/* R (82) */ -#define NXFONT_METRICS_82 {2, 11, 14, 1, 8, 0} -#define NXFONT_BITMAP_82 {0xff, 0x80, 0xff, 0xc0, 0xc0, 0xe0, 0xc0, 0x60, 0xc0, 0x60, 0xc0, 0xe0, 0xff, 0xc0, 0xff, 0x80, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0x60, 0xc0, 0x60, 0xc0, 0x60, 0xc0, 0x60} - -/* S (83) */ -#define NXFONT_METRICS_83 {2, 10, 14, 1, 8, 0} -#define NXFONT_BITMAP_83 {0x1e, 0x0, 0x7f, 0x80, 0xe1, 0xc0, 0xc0, 0xc0, 0xe0, 0x0, 0x7c, 0x0, 0x1f, 0x0, 0x3, 0x80, 0x1, 0xc0, 0x0, 0xc0, 0xc0, 0xc0, 0xe1, 0xc0, 0x7f, 0x80, 0x3f, 0x0} - -/* T (84) */ -#define NXFONT_METRICS_84 {2, 10, 14, 1, 8, 0} -#define NXFONT_BITMAP_84 {0xff, 0xc0, 0xff, 0xc0, 0xc, 0x0, 0xc, 0x0, 0xc, 0x0, 0xc, 0x0, 0xc, 0x0, 0xc, 0x0, 0xc, 0x0, 0xc, 0x0, 0xc, 0x0, 0xc, 0x0, 0xc, 0x0, 0xc, 0x0} - -/* U (85) */ -#define NXFONT_METRICS_85 {2, 11, 14, 1, 8, 0} -#define NXFONT_BITMAP_85 {0xc0, 0x60, 0xc0, 0x60, 0xc0, 0x60, 0xc0, 0x60, 0xc0, 0x60, 0xc0, 0x60, 0xc0, 0x60, 0xc0, 0x60, 0xc0, 0x60, 0xc0, 0x60, 0xc0, 0x60, 0x60, 0xc0, 0x7f, 0xc0, 0x1f, 0x0} - -/* V (86) */ -#define NXFONT_METRICS_86 {2, 12, 14, 0, 8, 0} -#define NXFONT_BITMAP_86 {0xc0, 0x30, 0xc0, 0x30, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x30, 0xc0, 0x30, 0xc0, 0x30, 0xc0, 0x19, 0x80, 0x19, 0x80, 0x19, 0x80, 0xf, 0x0, 0xf, 0x0, 0x6, 0x0} - -/* W (87) */ -#define NXFONT_METRICS_87 {2, 16, 14, 1, 8, 0} -#define NXFONT_BITMAP_87 {0xc1, 0x83, 0xc1, 0x83, 0xc1, 0x83, 0xc3, 0xc3, 0x63, 0xc6, 0x62, 0x46, 0x66, 0x66, 0x66, 0x66, 0x36, 0x6c, 0x36, 0x6c, 0x34, 0x2c, 0x1c, 0x38, 0x18, 0x18, 0x18, 0x18} - -/* X (88) */ -#define NXFONT_METRICS_88 {2, 11, 14, 1, 8, 0} -#define NXFONT_BITMAP_88 {0xc0, 0x60, 0xc0, 0x60, 0x60, 0xc0, 0x71, 0xc0, 0x31, 0x80, 0x1b, 0x0, 0xe, 0x0, 0xe, 0x0, 0x1b, 0x0, 0x31, 0x80, 0x71, 0xc0, 0x60, 0xc0, 0xc0, 0x60, 0xc0, 0x60} - -/* Y (89) */ -#define NXFONT_METRICS_89 {2, 12, 14, 0, 8, 0} -#define NXFONT_BITMAP_89 {0xc0, 0x30, 0xc0, 0x30, 0x60, 0x60, 0x60, 0x60, 0x30, 0xc0, 0x39, 0xc0, 0x19, 0x80, 0xf, 0x0, 0x6, 0x0, 0x6, 0x0, 0x6, 0x0, 0x6, 0x0, 0x6, 0x0, 0x6, 0x0} - -/* Z (90) */ -#define NXFONT_METRICS_90 {2, 10, 14, 1, 8, 0} -#define NXFONT_BITMAP_90 {0xff, 0xc0, 0xff, 0xc0, 0x0, 0xc0, 0x1, 0x80, 0x3, 0x0, 0x6, 0x0, 0xc, 0x0, 0x1c, 0x0, 0x18, 0x0, 0x30, 0x0, 0x60, 0x0, 0xc0, 0x0, 0xff, 0xc0, 0xff, 0xc0} - -/* bracketleft (91) */ -#define NXFONT_METRICS_91 {1, 4, 18, 0, 8, 0} -#define NXFONT_BITMAP_91 {0xf0, 0xf0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xf0, 0xf0} - -/* backslash (92) */ -#define NXFONT_METRICS_92 {1, 5, 14, 0, 8, 0} -#define NXFONT_BITMAP_92 {0xc0, 0xc0, 0xc0, 0x60, 0x60, 0x60, 0x30, 0x30, 0x30, 0x30, 0x18, 0x18, 0x18, 0x18} - -/* bracketright (93) */ -#define NXFONT_METRICS_93 {1, 4, 18, 0, 8, 0} -#define NXFONT_BITMAP_93 {0xf0, 0xf0, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0xf0, 0xf0} - -/* asciicircum (94) */ -#define NXFONT_METRICS_94 {1, 7, 6, 1, 9, 0} -#define NXFONT_BITMAP_94 {0x10, 0x38, 0x6c, 0x6c, 0xc6, 0xc6} - -/* underscore (95) */ -#define NXFONT_METRICS_95 {2, 11, 2, 0, 24, 0} -#define NXFONT_BITMAP_95 {0xff, 0xe0, 0xff, 0xe0} - -/* grave (96) */ -#define NXFONT_METRICS_96 {1, 4, 3, 0, 8, 0} -#define NXFONT_BITMAP_96 {0xc0, 0x60, 0x30} - -/* a (97) */ -#define NXFONT_METRICS_97 {2, 9, 10, 1, 12, 0} -#define NXFONT_BITMAP_97 {0x7e, 0x0, 0xe7, 0x0, 0xc3, 0x0, 0x7, 0x0, 0x7f, 0x0, 0xe3, 0x0, 0xc3, 0x0, 0xc3, 0x0, 0xe7, 0x80, 0x79, 0x80} - -/* b (98) */ -#define NXFONT_METRICS_98 {2, 9, 14, 1, 8, 0} -#define NXFONT_BITMAP_98 {0xc0, 0x0, 0xc0, 0x0, 0xc0, 0x0, 0xc0, 0x0, 0xde, 0x0, 0xff, 0x0, 0xe3, 0x0, 0xc1, 0x80, 0xc1, 0x80, 0xc1, 0x80, 0xc1, 0x80, 0xe3, 0x0, 0xff, 0x0, 0xde, 0x0} - -/* c (99) */ -#define NXFONT_METRICS_99 {1, 8, 10, 1, 12, 0} -#define NXFONT_BITMAP_99 {0x3e, 0x7f, 0x63, 0xc0, 0xc0, 0xc0, 0xc0, 0x63, 0x7f, 0x3e} - -/* d (100) */ -#define NXFONT_METRICS_100 {2, 9, 14, 1, 8, 0} -#define NXFONT_BITMAP_100 {0x1, 0x80, 0x1, 0x80, 0x1, 0x80, 0x1, 0x80, 0x3d, 0x80, 0x7f, 0x80, 0x63, 0x80, 0xc1, 0x80, 0xc1, 0x80, 0xc1, 0x80, 0xc1, 0x80, 0x63, 0x80, 0x7f, 0x80, 0x3d, 0x80} - -/* e (101) */ -#define NXFONT_METRICS_101 {1, 8, 10, 1, 12, 0} -#define NXFONT_BITMAP_101 {0x3c, 0x7e, 0xc3, 0xc3, 0xff, 0xc0, 0xc0, 0xe3, 0x7f, 0x3c} - -/* f (102) */ -#define NXFONT_METRICS_102 {1, 6, 14, 0, 8, 0} -#define NXFONT_BITMAP_102 {0x1c, 0x3c, 0x30, 0x30, 0xfc, 0xfc, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30} - -/* g (103) */ -#define NXFONT_METRICS_103 {2, 9, 14, 1, 12, 0} -#define NXFONT_BITMAP_103 {0x3d, 0x80, 0x7f, 0x80, 0x61, 0x80, 0xc1, 0x80, 0xc1, 0x80, 0xc1, 0x80, 0xc1, 0x80, 0x63, 0x80, 0x7f, 0x80, 0x3d, 0x80, 0x1, 0x80, 0x63, 0x0, 0x7f, 0x0, 0x1c, 0x0} - -/* h (104) */ -#define NXFONT_METRICS_104 {1, 8, 14, 1, 8, 0} -#define NXFONT_BITMAP_104 {0xc0, 0xc0, 0xc0, 0xc0, 0xde, 0xff, 0xe3, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3} - -/* i (105) */ -#define NXFONT_METRICS_105 {1, 2, 14, 1, 8, 0} -#define NXFONT_BITMAP_105 {0xc0, 0xc0, 0x0, 0x0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0} - -/* j (106) -- NOTE: Xoffset should be -1, not 0. */ -#define NXFONT_METRICS_106 {1, 4, 18, 0, 8, 0} -#define NXFONT_BITMAP_106 {0x30, 0x30, 0x0, 0x0, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0xf0, 0xe0} - -/* k (107) */ -#define NXFONT_METRICS_107 {1, 8, 14, 1, 8, 0} -#define NXFONT_BITMAP_107 {0xc0, 0xc0, 0xc0, 0xc0, 0xc6, 0xcc, 0xd8, 0xf0, 0xf8, 0xd8, 0xcc, 0xce, 0xc6, 0xc7} - -/* l (108) */ -#define NXFONT_METRICS_108 {1, 2, 14, 1, 8, 0} -#define NXFONT_BITMAP_108 {0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0} - -/* m (109) */ -#define NXFONT_METRICS_109 {2, 14, 10, 1, 12, 0} -#define NXFONT_BITMAP_109 {0xde, 0x78, 0xff, 0xfc, 0xe3, 0x8c, 0xc3, 0xc, 0xc3, 0xc, 0xc3, 0xc, 0xc3, 0xc, 0xc3, 0xc, 0xc3, 0xc, 0xc3, 0xc} - -/* n (110) */ -#define NXFONT_METRICS_110 {1, 8, 10, 1, 12, 0} -#define NXFONT_BITMAP_110 {0xde, 0xff, 0xe3, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3} - -/* o (111) */ -#define NXFONT_METRICS_111 {2, 9, 10, 1, 12, 0} -#define NXFONT_BITMAP_111 {0x3e, 0x0, 0x7f, 0x0, 0x63, 0x0, 0xc1, 0x80, 0xc1, 0x80, 0xc1, 0x80, 0xc1, 0x80, 0x63, 0x0, 0x7f, 0x0, 0x3e, 0x0} - -/* p (112) */ -#define NXFONT_METRICS_112 {2, 9, 14, 1, 12, 0} -#define NXFONT_BITMAP_112 {0xde, 0x0, 0xff, 0x0, 0xe3, 0x0, 0xc1, 0x80, 0xc1, 0x80, 0xc1, 0x80, 0xc1, 0x80, 0xe3, 0x0, 0xff, 0x0, 0xde, 0x0, 0xc0, 0x0, 0xc0, 0x0, 0xc0, 0x0, 0xc0, 0x0} - -/* q (113) */ -#define NXFONT_METRICS_113 {2, 9, 14, 1, 12, 0} -#define NXFONT_BITMAP_113 {0x3d, 0x80, 0x7f, 0x80, 0x63, 0x80, 0xc1, 0x80, 0xc1, 0x80, 0xc1, 0x80, 0xc1, 0x80, 0x63, 0x80, 0x7f, 0x80, 0x3d, 0x80, 0x1, 0x80, 0x1, 0x80, 0x1, 0x80, 0x1, 0x80} - -/* r (114) */ -#define NXFONT_METRICS_114 {1, 5, 10, 1, 12, 0} -#define NXFONT_BITMAP_114 {0xd8, 0xd8, 0xe0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0} - -/* s (115) */ -#define NXFONT_METRICS_115 {1, 7, 10, 1, 12, 0} -#define NXFONT_BITMAP_115 {0x3c, 0x7e, 0xc6, 0xc0, 0xfc, 0x3e, 0x6, 0xc6, 0xfc, 0x78} - -/* t (116) */ -#define NXFONT_METRICS_116 {1, 6, 13, 0, 9, 0} -#define NXFONT_BITMAP_116 {0x30, 0x30, 0x30, 0xfc, 0xfc, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x3c, 0x1c} - -/* u (117) */ -#define NXFONT_METRICS_117 {1, 8, 10, 1, 12, 0} -#define NXFONT_BITMAP_117 {0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0xc7, 0xff, 0x7b} - -/* v (118) */ -#define NXFONT_METRICS_118 {1, 8, 10, 1, 12, 0} -#define NXFONT_BITMAP_118 {0xc3, 0xc3, 0xc3, 0x66, 0x66, 0x66, 0x24, 0x3c, 0x18, 0x18} - -/* w (119) */ -#define NXFONT_METRICS_119 {2, 12, 10, 1, 12, 0} -#define NXFONT_BITMAP_119 {0xc6, 0x30, 0xc6, 0x30, 0xc6, 0x30, 0x66, 0x60, 0x66, 0x60, 0x69, 0x60, 0x29, 0x40, 0x39, 0xc0, 0x19, 0x80, 0x19, 0x80} - -/* x (120) */ -#define NXFONT_METRICS_120 {1, 8, 10, 1, 12, 0} -#define NXFONT_BITMAP_120 {0xc3, 0xe7, 0x66, 0x3c, 0x18, 0x18, 0x3c, 0x66, 0xe7, 0xc3} - -/* y (121) */ -#define NXFONT_METRICS_121 {1, 8, 14, 1, 12, 0} -#define NXFONT_BITMAP_121 {0xc3, 0xc3, 0xc3, 0x66, 0x66, 0x66, 0x24, 0x3c, 0x18, 0x18, 0x18, 0x18, 0x70, 0x70} - -/* z (122) */ -#define NXFONT_METRICS_122 {1, 7, 10, 1, 12, 0} -#define NXFONT_BITMAP_122 {0xfe, 0xfe, 0x6, 0xc, 0x18, 0x30, 0x60, 0xc0, 0xfe, 0xfe} - -/* braceleft (123) -- NOTE: Xoffset should be -1, not 0. */ -#define NXFONT_METRICS_123 {1, 6, 18, 0, 8, 0} -#define NXFONT_BITMAP_123 {0xc, 0x18, 0x30, 0x30, 0x30, 0x30, 0x30, 0x60, 0xc0, 0x60, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x18, 0xc} - -/* bar (124) */ -#define NXFONT_METRICS_124 {1, 2, 18, 1, 8, 0} -#define NXFONT_BITMAP_124 {0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0} - -/* braceright (125) */ -#define NXFONT_METRICS_125 {1, 6, 18, 0, 8, 0} -#define NXFONT_BITMAP_125 {0xc0, 0x60, 0x30, 0x30, 0x30, 0x30, 0x30, 0x18, 0xc, 0x18, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x60, 0xc0} - -/* asciitilde (126) */ -#define NXFONT_METRICS_126 {1, 8, 3, 1, 15, 0} -#define NXFONT_BITMAP_126 {0x73, 0xff, 0xce} - -/* exclamdown (161) */ -#define NXFONT_METRICS_161 {1, 2, 14, 2, 12, 0} -#define NXFONT_BITMAP_161 {0xc0, 0xc0, 0x0, 0x0, 0x40, 0x40, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0} - -/* cent (162) */ -#define NXFONT_METRICS_162 {1, 8, 14, 1, 10, 0} -#define NXFONT_BITMAP_162 {0x4, 0x4, 0x3e, 0x7f, 0x6b, 0xc8, 0xc8, 0xc8, 0xc8, 0x6b, 0x7f, 0x3e, 0x10, 0x10} - -/* sterling (163) */ -#define NXFONT_METRICS_163 {2, 9, 13, 0, 9, 0} -#define NXFONT_BITMAP_163 {0x1e, 0x0, 0x3f, 0x0, 0x61, 0x80, 0x61, 0x80, 0x60, 0x0, 0x30, 0x0, 0x7e, 0x0, 0x18, 0x0, 0x18, 0x0, 0x30, 0x0, 0x60, 0x80, 0xff, 0x80, 0xdf, 0x0} - -/* currency (164) */ -#define NXFONT_METRICS_164 {1, 8, 7, 1, 12, 0} -#define NXFONT_BITMAP_164 {0xc3, 0xff, 0x66, 0x66, 0x66, 0xff, 0xc3} - -/* yen (165) */ -#define NXFONT_METRICS_165 {1, 8, 13, 1, 9, 0} -#define NXFONT_BITMAP_165 {0xc3, 0xc3, 0x66, 0x66, 0x66, 0x3c, 0xff, 0x18, 0xff, 0x18, 0x18, 0x18, 0x18} - -/* brokenbar (166) */ -#define NXFONT_METRICS_166 {1, 2, 18, 1, 8, 0} -#define NXFONT_BITMAP_166 {0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0x0, 0x0, 0x0, 0x0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0} - -/* section (167) */ -#define NXFONT_METRICS_167 {1, 8, 18, 1, 8, 0} -#define NXFONT_BITMAP_167 {0x3c, 0x7e, 0xc3, 0xc3, 0xf0, 0x7c, 0x6e, 0xc7, 0xc3, 0xe3, 0x73, 0x3e, 0xe, 0x7, 0xc3, 0xc3, 0x7e, 0x3c} - -/* dieresis (168) */ -#define NXFONT_METRICS_168 {1, 5, 2, 0, 8, 0} -#define NXFONT_BITMAP_168 {0xd8, 0xd8} - -/* copyright (169) */ -#define NXFONT_METRICS_169 {2, 13, 14, 1, 8, 0} -#define NXFONT_BITMAP_169 {0xf, 0x80, 0x30, 0x60, 0x40, 0x10, 0x47, 0x10, 0x88, 0x88, 0x90, 0x88, 0x90, 0x8, 0x90, 0x8, 0x90, 0x8, 0x88, 0x88, 0x47, 0x10, 0x40, 0x10, 0x30, 0x60, 0xf, 0x80} - -/* ordfeminine (170) */ -#define NXFONT_METRICS_170 {1, 5, 8, 1, 8, 0} -#define NXFONT_BITMAP_170 {0x70, 0x98, 0x38, 0x48, 0xd8, 0x68, 0x0, 0xf8} - -/* guillemotleft (171) */ -#define NXFONT_METRICS_171 {1, 7, 6, 1, 14, 0} -#define NXFONT_BITMAP_171 {0x36, 0x6c, 0xd8, 0xd8, 0x6c, 0x36} - -/* logicalnot (172) */ -#define NXFONT_METRICS_172 {2, 9, 5, 1, 14, 0} -#define NXFONT_BITMAP_172 {0xff, 0x80, 0xff, 0x80, 0x1, 0x80, 0x1, 0x80, 0x1, 0x80} - -/* hyphen (173) */ -#define NXFONT_METRICS_173 {1, 5, 1, 0, 16, 0} -#define NXFONT_BITMAP_173 {0xf8} - -/* registered (174) */ -#define NXFONT_METRICS_174 {2, 13, 14, 0, 8, 0} -#define NXFONT_BITMAP_174 {0xf, 0x80, 0x30, 0x60, 0x40, 0x10, 0x4f, 0x90, 0x88, 0x48, 0x88, 0x48, 0x88, 0x48, 0x8f, 0x88, 0x89, 0x8, 0x88, 0x88, 0x48, 0x50, 0x40, 0x10, 0x30, 0x60, 0xf, 0x80} - -/* macron (175) */ -#define NXFONT_METRICS_175 {1, 5, 1, 0, 9, 0} -#define NXFONT_BITMAP_175 {0xf8} - -/* degree (176) */ -#define NXFONT_METRICS_176 {1, 5, 5, 1, 9, 0} -#define NXFONT_BITMAP_176 {0x70, 0xd8, 0x88, 0xd8, 0x70} - -/* plusminus (177) */ -#define NXFONT_METRICS_177 {1, 8, 11, 1, 11, 0} -#define NXFONT_BITMAP_177 {0x18, 0x18, 0x18, 0xff, 0xff, 0x18, 0x18, 0x18, 0x0, 0xff, 0xff} - -/* twosuperior (178) */ -#define NXFONT_METRICS_178 {1, 5, 8, 0, 9, 0} -#define NXFONT_BITMAP_178 {0x70, 0xf8, 0x98, 0x18, 0x30, 0x60, 0xf8, 0xf8} - -/* threesuperior (179) */ -#define NXFONT_METRICS_179 {1, 5, 8, 0, 9, 0} -#define NXFONT_BITMAP_179 {0x70, 0xf8, 0x98, 0x30, 0x30, 0x98, 0xf8, 0x70} - -/* acute (180) */ -#define NXFONT_METRICS_180 {1, 4, 3, 0, 8, 0} -#define NXFONT_BITMAP_180 {0x30, 0x60, 0xc0} - -/* mu (181) */ -#define NXFONT_METRICS_181 {1, 8, 14, 1, 12, 0} -#define NXFONT_BITMAP_181 {0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0xe7, 0xff, 0xdb, 0xc0, 0xc0, 0xc0, 0xc0} - -/* paragraph (182) */ -#define NXFONT_METRICS_182 {1, 8, 18, 1, 8, 0} -#define NXFONT_BITMAP_182 {0x3f, 0x72, 0xf2, 0xf2, 0xf2, 0xf2, 0xf2, 0x72, 0x32, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12} - -/* periodcentered (183) */ -#define NXFONT_METRICS_183 {1, 2, 2, 1, 16, 0} -#define NXFONT_BITMAP_183 {0xc0, 0xc0} - -/* cedilla (184) */ -#define NXFONT_METRICS_184 {1, 5, 5, 0, 21, 0} -#define NXFONT_BITMAP_184 {0x60, 0x70, 0x18, 0xd8, 0xf0} - -/* onesuperior (185) */ -#define NXFONT_METRICS_185 {1, 4, 8, 0, 9, 0} -#define NXFONT_BITMAP_185 {0x30, 0xf0, 0xf0, 0x30, 0x30, 0x30, 0x30, 0x30} - -/* ordmasculine (186) */ -#define NXFONT_METRICS_186 {1, 5, 8, 1, 8, 0} -#define NXFONT_BITMAP_186 {0x70, 0xd8, 0x88, 0x88, 0xd8, 0x70, 0x0, 0xf8} - -/* guillemotright (187) */ -#define NXFONT_METRICS_187 {1, 7, 6, 1, 14, 0} -#define NXFONT_BITMAP_187 {0xd8, 0x6c, 0x36, 0x36, 0x6c, 0xd8} - -/* onequarter (188) */ -#define NXFONT_METRICS_188 {2, 14, 13, 0, 9, 0} -#define NXFONT_BITMAP_188 {0x30, 0x30, 0xf0, 0x30, 0xf0, 0x60, 0x30, 0xc0, 0x30, 0xc0, 0x31, 0x88, 0x31, 0x18, 0x33, 0x38, 0x6, 0x78, 0x6, 0xd8, 0xc, 0xfc, 0x18, 0x18, 0x18, 0x18} - -/* onehalf (189) */ -#define NXFONT_METRICS_189 {2, 14, 13, 0, 9, 0} -#define NXFONT_BITMAP_189 {0x30, 0x30, 0xf0, 0x30, 0xf0, 0x60, 0x30, 0xc0, 0x30, 0xc0, 0x31, 0xb8, 0x31, 0x7c, 0x33, 0x4c, 0x6, 0xc, 0x6, 0x18, 0xc, 0x30, 0x18, 0x7c, 0x18, 0x7c} - -/* threequarters (190) */ -#define NXFONT_METRICS_190 {2, 14, 13, 0, 9, 0} -#define NXFONT_BITMAP_190 {0x70, 0x30, 0xf8, 0x30, 0x98, 0x60, 0x30, 0xc0, 0x30, 0xc0, 0x99, 0x88, 0xf9, 0x18, 0x73, 0x38, 0x6, 0x78, 0x6, 0xd8, 0xc, 0xfc, 0x18, 0x18, 0x18, 0x18} - -/* questiondown (191) */ -#define NXFONT_METRICS_191 {1, 7, 14, 1, 12, 0} -#define NXFONT_BITMAP_191 {0x18, 0x18, 0x0, 0x0, 0x18, 0x18, 0x18, 0x38, 0x70, 0xe0, 0xc6, 0xc6, 0xfe, 0x7c} - -/* Agrave (192) */ -#define NXFONT_METRICS_192 {2, 12, 18, 0, 4, 0} -#define NXFONT_BITMAP_192 {0x18, 0x0, 0xc, 0x0, 0x6, 0x0, 0x0, 0x0, 0x6, 0x0, 0x6, 0x0, 0xf, 0x0, 0xf, 0x0, 0x19, 0x80, 0x19, 0x80, 0x30, 0xc0, 0x30, 0xc0, 0x3f, 0xc0, 0x7f, 0xe0, 0x60, 0x60, 0x60, 0x60, 0xc0, 0x30, 0xc0, 0x30} - -/* Aacute (193) */ -#define NXFONT_METRICS_193 {2, 12, 18, 0, 4, 0} -#define NXFONT_BITMAP_193 {0x1, 0x80, 0x3, 0x0, 0x6, 0x0, 0x0, 0x0, 0x6, 0x0, 0x6, 0x0, 0xf, 0x0, 0xf, 0x0, 0x19, 0x80, 0x19, 0x80, 0x30, 0xc0, 0x30, 0xc0, 0x3f, 0xc0, 0x7f, 0xe0, 0x60, 0x60, 0x60, 0x60, 0xc0, 0x30, 0xc0, 0x30} - -/* Acircumflex (194) */ -#define NXFONT_METRICS_194 {2, 12, 18, 0, 4, 0} -#define NXFONT_BITMAP_194 {0x6, 0x0, 0xf, 0x0, 0x19, 0x80, 0x0, 0x0, 0x6, 0x0, 0x6, 0x0, 0xf, 0x0, 0xf, 0x0, 0x19, 0x80, 0x19, 0x80, 0x30, 0xc0, 0x30, 0xc0, 0x3f, 0xc0, 0x7f, 0xe0, 0x60, 0x60, 0x60, 0x60, 0xc0, 0x30, 0xc0, 0x30} - -/* Atilde (195) */ -#define NXFONT_METRICS_195 {2, 12, 18, 0, 4, 0} -#define NXFONT_BITMAP_195 {0xc, 0x80, 0x16, 0x80, 0x13, 0x0, 0x0, 0x0, 0x6, 0x0, 0x6, 0x0, 0xf, 0x0, 0xf, 0x0, 0x19, 0x80, 0x19, 0x80, 0x30, 0xc0, 0x30, 0xc0, 0x3f, 0xc0, 0x7f, 0xe0, 0x60, 0x60, 0x60, 0x60, 0xc0, 0x30, 0xc0, 0x30} - -/* Adieresis (196) */ -#define NXFONT_METRICS_196 {2, 12, 17, 0, 5, 0} -#define NXFONT_BITMAP_196 {0x19, 0x80, 0x19, 0x80, 0x0, 0x0, 0x6, 0x0, 0x6, 0x0, 0xf, 0x0, 0xf, 0x0, 0x19, 0x80, 0x19, 0x80, 0x30, 0xc0, 0x30, 0xc0, 0x3f, 0xc0, 0x7f, 0xe0, 0x60, 0x60, 0x60, 0x60, 0xc0, 0x30, 0xc0, 0x30} - -/* Aring (197) */ -#define NXFONT_METRICS_197 {2, 12, 17, 0, 5, 0} -#define NXFONT_BITMAP_197 {0x6, 0x0, 0x9, 0x0, 0x9, 0x0, 0x6, 0x0, 0x6, 0x0, 0xf, 0x0, 0xf, 0x0, 0x19, 0x80, 0x19, 0x80, 0x30, 0xc0, 0x30, 0xc0, 0x3f, 0xc0, 0x7f, 0xe0, 0x60, 0x60, 0x60, 0x60, 0xc0, 0x30, 0xc0, 0x30} - -/* AE (198) */ -#define NXFONT_METRICS_198 {2, 16, 14, 1, 8, 0} -#define NXFONT_BITMAP_198 {0x7, 0xff, 0x7, 0xff, 0xd, 0x80, 0xd, 0x80, 0x19, 0x80, 0x19, 0x80, 0x31, 0xfe, 0x31, 0xfe, 0x3f, 0x80, 0x7f, 0x80, 0x61, 0x80, 0x61, 0x80, 0xc1, 0xff, 0xc1, 0xff} - -/* Ccedilla (199) */ -#define NXFONT_METRICS_199 {2, 12, 18, 1, 8, 0} -#define NXFONT_BITMAP_199 {0xf, 0x80, 0x3f, 0xe0, 0x70, 0x70, 0x60, 0x30, 0xe0, 0x0, 0xc0, 0x0, 0xc0, 0x0, 0xc0, 0x0, 0xc0, 0x0, 0xe0, 0x0, 0x60, 0x30, 0x70, 0x70, 0x3f, 0xe0, 0xf, 0x80, 0x6, 0x0, 0x3, 0x0, 0x1b, 0x0, 0x1e, 0x0} - -/* Egrave (200) */ -#define NXFONT_METRICS_200 {2, 10, 18, 2, 4, 0} -#define NXFONT_BITMAP_200 {0x30, 0x0, 0x18, 0x0, 0xc, 0x0, 0x0, 0x0, 0xff, 0xc0, 0xff, 0xc0, 0xc0, 0x0, 0xc0, 0x0, 0xc0, 0x0, 0xc0, 0x0, 0xff, 0x80, 0xff, 0x80, 0xc0, 0x0, 0xc0, 0x0, 0xc0, 0x0, 0xc0, 0x0, 0xff, 0xc0, 0xff, 0xc0} - -/* Eacute (201) */ -#define NXFONT_METRICS_201 {2, 10, 18, 2, 4, 0} -#define NXFONT_BITMAP_201 {0x3, 0x0, 0x6, 0x0, 0xc, 0x0, 0x0, 0x0, 0xff, 0xc0, 0xff, 0xc0, 0xc0, 0x0, 0xc0, 0x0, 0xc0, 0x0, 0xc0, 0x0, 0xff, 0x80, 0xff, 0x80, 0xc0, 0x0, 0xc0, 0x0, 0xc0, 0x0, 0xc0, 0x0, 0xff, 0xc0, 0xff, 0xc0} - -/* Ecircumflex (202) */ -#define NXFONT_METRICS_202 {2, 10, 18, 2, 4, 0} -#define NXFONT_BITMAP_202 {0xc, 0x0, 0x1e, 0x0, 0x33, 0x0, 0x0, 0x0, 0xff, 0xc0, 0xff, 0xc0, 0xc0, 0x0, 0xc0, 0x0, 0xc0, 0x0, 0xc0, 0x0, 0xff, 0x80, 0xff, 0x80, 0xc0, 0x0, 0xc0, 0x0, 0xc0, 0x0, 0xc0, 0x0, 0xff, 0xc0, 0xff, 0xc0} - -/* Edieresis (203) */ -#define NXFONT_METRICS_203 {2, 10, 17, 2, 5, 0} -#define NXFONT_BITMAP_203 {0x33, 0x0, 0x33, 0x0, 0x0, 0x0, 0xff, 0xc0, 0xff, 0xc0, 0xc0, 0x0, 0xc0, 0x0, 0xc0, 0x0, 0xc0, 0x0, 0xff, 0x80, 0xff, 0x80, 0xc0, 0x0, 0xc0, 0x0, 0xc0, 0x0, 0xc0, 0x0, 0xff, 0xc0, 0xff, 0xc0} - -/* Igrave (204) */ -#define NXFONT_METRICS_204 {1, 4, 18, 0, 4, 0} -#define NXFONT_BITMAP_204 {0xc0, 0x60, 0x30, 0x0, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30} - -/* Iacute (205) */ -#define NXFONT_METRICS_205 {1, 4, 18, 2, 4, 0} -#define NXFONT_BITMAP_205 {0x30, 0x60, 0xc0, 0x0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0} - -/* Icircumflex (206) */ -#define NXFONT_METRICS_206 {1, 6, 18, 0, 4, 0} -#define NXFONT_BITMAP_206 {0x30, 0x78, 0x84, 0x0, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30} - -/* Idieresis (207) */ -#define NXFONT_METRICS_207 {1, 6, 17, 0, 5, 0} -#define NXFONT_BITMAP_207 {0xcc, 0xcc, 0x0, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30} - -/* Eth (208) -- NOTE: Xoffset should be -1, not 0. */ -#define NXFONT_METRICS_208 {2, 14, 14, 0, 8, 0} -#define NXFONT_BITMAP_208 {0x3f, 0xe0, 0x3f, 0xf0, 0x30, 0x38, 0x30, 0x18, 0x30, 0xc, 0x30, 0xc, 0xfe, 0xc, 0xfe, 0xc, 0x30, 0xc, 0x30, 0xc, 0x30, 0x18, 0x30, 0x38, 0x3f, 0xf0, 0x3f, 0xe0} - -/* Ntilde (209) */ -#define NXFONT_METRICS_209 {2, 11, 18, 1, 4, 0} -#define NXFONT_BITMAP_209 {0xc, 0x80, 0x16, 0x80, 0x13, 0x0, 0x0, 0x0, 0xc0, 0x60, 0xe0, 0x60, 0xf0, 0x60, 0xf0, 0x60, 0xd8, 0x60, 0xcc, 0x60, 0xcc, 0x60, 0xc6, 0x60, 0xc6, 0x60, 0xc3, 0x60, 0xc1, 0xe0, 0xc1, 0xe0, 0xc0, 0xe0, 0xc0, 0x60} - -/* Ograve (210) */ -#define NXFONT_METRICS_210 {2, 13, 18, 1, 4, 0} -#define NXFONT_BITMAP_210 {0x18, 0x0, 0xc, 0x0, 0x6, 0x0, 0x0, 0x0, 0xf, 0x80, 0x3f, 0xe0, 0x70, 0x70, 0x60, 0x30, 0xe0, 0x38, 0xc0, 0x18, 0xc0, 0x18, 0xc0, 0x18, 0xc0, 0x18, 0xe0, 0x38, 0x60, 0x30, 0x70, 0x70, 0x3f, 0xe0, 0xf, 0x80} - -/* Oacute (211) */ -#define NXFONT_METRICS_211 {2, 13, 18, 1, 4, 0} -#define NXFONT_BITMAP_211 {0x1, 0x80, 0x3, 0x0, 0x6, 0x0, 0x0, 0x0, 0xf, 0x80, 0x3f, 0xe0, 0x70, 0x70, 0x60, 0x30, 0xe0, 0x38, 0xc0, 0x18, 0xc0, 0x18, 0xc0, 0x18, 0xc0, 0x18, 0xe0, 0x38, 0x60, 0x30, 0x70, 0x70, 0x3f, 0xe0, 0xf, 0x80} - -/* Ocircumflex (212) */ -#define NXFONT_METRICS_212 {2, 13, 18, 1, 4, 0} -#define NXFONT_BITMAP_212 {0x3, 0x0, 0x7, 0x80, 0xc, 0xc0, 0x0, 0x0, 0xf, 0x80, 0x3f, 0xe0, 0x70, 0x70, 0x60, 0x30, 0xe0, 0x38, 0xc0, 0x18, 0xc0, 0x18, 0xc0, 0x18, 0xc0, 0x18, 0xe0, 0x38, 0x60, 0x30, 0x70, 0x70, 0x3f, 0xe0, 0xf, 0x80} - -/* Otilde (213) */ -#define NXFONT_METRICS_213 {2, 13, 18, 1, 4, 0} -#define NXFONT_BITMAP_213 {0x6, 0x40, 0xb, 0x40, 0x9, 0x80, 0x0, 0x0, 0xf, 0x80, 0x3f, 0xe0, 0x70, 0x70, 0x60, 0x30, 0xe0, 0x38, 0xc0, 0x18, 0xc0, 0x18, 0xc0, 0x18, 0xc0, 0x18, 0xe0, 0x38, 0x60, 0x30, 0x70, 0x70, 0x3f, 0xe0, 0xf, 0x80} - -/* Odieresis (214) */ -#define NXFONT_METRICS_214 {2, 13, 17, 1, 5, 0} -#define NXFONT_BITMAP_214 {0xc, 0xc0, 0xc, 0xc0, 0x0, 0x0, 0xf, 0x80, 0x3f, 0xe0, 0x70, 0x70, 0x60, 0x30, 0xe0, 0x38, 0xc0, 0x18, 0xc0, 0x18, 0xc0, 0x18, 0xc0, 0x18, 0xe0, 0x38, 0x60, 0x30, 0x70, 0x70, 0x3f, 0xe0, 0xf, 0x80} - -/* multiply (215) */ -#define NXFONT_METRICS_215 {2, 10, 9, 0, 13, 0} -#define NXFONT_BITMAP_215 {0xc0, 0xc0, 0x61, 0x80, 0x33, 0x0, 0x1e, 0x0, 0xc, 0x0, 0x1e, 0x0, 0x33, 0x0, 0x61, 0x80, 0xc0, 0xc0} - -/* Oslash (216) */ -#define NXFONT_METRICS_216 {2, 14, 14, 0, 8, 0} -#define NXFONT_BITMAP_216 {0x7, 0xcc, 0x1f, 0xf8, 0x38, 0x30, 0x30, 0x78, 0x70, 0xdc, 0x61, 0x8c, 0x63, 0xc, 0x62, 0xc, 0x66, 0xc, 0x6c, 0x1c, 0x38, 0x18, 0x38, 0x38, 0x6f, 0xf0, 0xc7, 0xc0} - -/* Ugrave (217) */ -#define NXFONT_METRICS_217 {2, 11, 18, 1, 4, 0} -#define NXFONT_BITMAP_217 {0x18, 0x0, 0xc, 0x0, 0x6, 0x0, 0x0, 0x0, 0xc0, 0x60, 0xc0, 0x60, 0xc0, 0x60, 0xc0, 0x60, 0xc0, 0x60, 0xc0, 0x60, 0xc0, 0x60, 0xc0, 0x60, 0xc0, 0x60, 0xc0, 0x60, 0xc0, 0x60, 0x60, 0xc0, 0x7f, 0xc0, 0x1f, 0x0} - -/* Uacute (218) */ -#define NXFONT_METRICS_218 {2, 11, 18, 1, 4, 0} -#define NXFONT_BITMAP_218 {0x3, 0x0, 0x6, 0x0, 0xc, 0x0, 0x0, 0x0, 0xc0, 0x60, 0xc0, 0x60, 0xc0, 0x60, 0xc0, 0x60, 0xc0, 0x60, 0xc0, 0x60, 0xc0, 0x60, 0xc0, 0x60, 0xc0, 0x60, 0xc0, 0x60, 0xc0, 0x60, 0x60, 0xc0, 0x7f, 0xc0, 0x1f, 0x0} - -/* Ucircumflex (219) */ -#define NXFONT_METRICS_219 {2, 11, 18, 1, 4, 0} -#define NXFONT_BITMAP_219 {0x6, 0x0, 0xf, 0x0, 0x19, 0x80, 0x0, 0x0, 0xc0, 0x60, 0xc0, 0x60, 0xc0, 0x60, 0xc0, 0x60, 0xc0, 0x60, 0xc0, 0x60, 0xc0, 0x60, 0xc0, 0x60, 0xc0, 0x60, 0xc0, 0x60, 0xc0, 0x60, 0x60, 0xc0, 0x7f, 0xc0, 0x1f, 0x0} - -/* Udieresis (220) */ -#define NXFONT_METRICS_220 {2, 11, 17, 1, 5, 0} -#define NXFONT_BITMAP_220 {0x31, 0x80, 0x31, 0x80, 0x0, 0x0, 0xc0, 0x60, 0xc0, 0x60, 0xc0, 0x60, 0xc0, 0x60, 0xc0, 0x60, 0xc0, 0x60, 0xc0, 0x60, 0xc0, 0x60, 0xc0, 0x60, 0xc0, 0x60, 0xc0, 0x60, 0x60, 0xc0, 0x7f, 0xc0, 0x1f, 0x0} - -/* Yacute (221) */ -#define NXFONT_METRICS_221 {2, 12, 18, 0, 4, 0} -#define NXFONT_BITMAP_221 {0x1, 0x80, 0x3, 0x0, 0x6, 0x0, 0x0, 0x0, 0xc0, 0x30, 0xc0, 0x30, 0x60, 0x60, 0x60, 0x60, 0x30, 0xc0, 0x39, 0xc0, 0x19, 0x80, 0xf, 0x0, 0x6, 0x0, 0x6, 0x0, 0x6, 0x0, 0x6, 0x0, 0x6, 0x0, 0x6, 0x0} - -/* Thorn (222) */ -#define NXFONT_METRICS_222 {2, 10, 14, 1, 8, 0} -#define NXFONT_BITMAP_222 {0xc0, 0x0, 0xc0, 0x0, 0xc0, 0x0, 0xff, 0x0, 0xff, 0x80, 0xc1, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc1, 0xc0, 0xff, 0x80, 0xff, 0x0, 0xc0, 0x0, 0xc0, 0x0, 0xc0, 0x0} - -/* germandbls (223) */ -#define NXFONT_METRICS_223 {1, 7, 14, 1, 8, 0} -#define NXFONT_BITMAP_223 {0x38, 0x7c, 0xc6, 0xc6, 0xc6, 0xc6, 0xdc, 0xdc, 0xc6, 0xc6, 0xc6, 0xc6, 0xde, 0xdc} - -/* agrave (224) */ -#define NXFONT_METRICS_224 {2, 9, 14, 1, 8, 0} -#define NXFONT_BITMAP_224 {0x30, 0x0, 0x18, 0x0, 0xc, 0x0, 0x0, 0x0, 0x7e, 0x0, 0xe7, 0x0, 0xc3, 0x0, 0x7, 0x0, 0x7f, 0x0, 0xe3, 0x0, 0xc3, 0x0, 0xc3, 0x0, 0xe7, 0x80, 0x79, 0x80} - -/* aacute (225) */ -#define NXFONT_METRICS_225 {2, 9, 14, 1, 8, 0} -#define NXFONT_BITMAP_225 {0xc, 0x0, 0x18, 0x0, 0x30, 0x0, 0x0, 0x0, 0x7e, 0x0, 0xe7, 0x0, 0xc3, 0x0, 0x7, 0x0, 0x7f, 0x0, 0xe3, 0x0, 0xc3, 0x0, 0xc3, 0x0, 0xe7, 0x80, 0x79, 0x80} - -/* acircumflex (226) */ -#define NXFONT_METRICS_226 {2, 9, 14, 1, 8, 0} -#define NXFONT_BITMAP_226 {0x18, 0x0, 0x3c, 0x0, 0x66, 0x0, 0x0, 0x0, 0x7e, 0x0, 0xe7, 0x0, 0xc3, 0x0, 0x7, 0x0, 0x7f, 0x0, 0xe3, 0x0, 0xc3, 0x0, 0xc3, 0x0, 0xe7, 0x80, 0x79, 0x80} - -/* atilde (227) */ -#define NXFONT_METRICS_227 {2, 9, 14, 1, 8, 0} -#define NXFONT_BITMAP_227 {0x32, 0x0, 0x5a, 0x0, 0x4c, 0x0, 0x0, 0x0, 0x7e, 0x0, 0xe7, 0x0, 0xc3, 0x0, 0x7, 0x0, 0x7f, 0x0, 0xe3, 0x0, 0xc3, 0x0, 0xc3, 0x0, 0xe7, 0x80, 0x79, 0x80} - -/* adieresis (228) */ -#define NXFONT_METRICS_228 {2, 9, 14, 1, 8, 0} -#define NXFONT_BITMAP_228 {0x66, 0x0, 0x66, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7e, 0x0, 0xe7, 0x0, 0xc3, 0x0, 0x7, 0x0, 0x7f, 0x0, 0xe3, 0x0, 0xc3, 0x0, 0xc3, 0x0, 0xe7, 0x80, 0x79, 0x80} - -/* aring (229) */ -#define NXFONT_METRICS_229 {2, 9, 14, 1, 8, 0} -#define NXFONT_BITMAP_229 {0x18, 0x0, 0x24, 0x0, 0x24, 0x0, 0x18, 0x0, 0x7e, 0x0, 0xe7, 0x0, 0xc3, 0x0, 0x7, 0x0, 0x7f, 0x0, 0xe3, 0x0, 0xc3, 0x0, 0xc3, 0x0, 0xe7, 0x80, 0x79, 0x80} - -/* ae (230) */ -#define NXFONT_METRICS_230 {2, 14, 10, 2, 12, 0} -#define NXFONT_BITMAP_230 {0x7e, 0xf0, 0xe7, 0xf8, 0xc3, 0xc, 0x7, 0xc, 0x7f, 0xfc, 0xe3, 0x0, 0xc3, 0x0, 0xc3, 0x8c, 0xe7, 0xfc, 0x7a, 0xf0} - -/* ccedilla (231) */ -#define NXFONT_METRICS_231 {1, 8, 14, 1, 12, 0} -#define NXFONT_BITMAP_231 {0x3e, 0x7f, 0x63, 0xc0, 0xc0, 0xc0, 0xc0, 0x63, 0x7f, 0x3e, 0x18, 0xc, 0x6c, 0x78} - -/* egrave (232) */ -#define NXFONT_METRICS_232 {1, 8, 14, 1, 8, 0} -#define NXFONT_BITMAP_232 {0x30, 0x18, 0xc, 0x0, 0x3c, 0x7e, 0xc3, 0xc3, 0xff, 0xc0, 0xc0, 0xe3, 0x7f, 0x3c} - -/* eacute (233) */ -#define NXFONT_METRICS_233 {1, 8, 14, 1, 8, 0} -#define NXFONT_BITMAP_233 {0xc, 0x18, 0x30, 0x0, 0x3c, 0x7e, 0xc3, 0xc3, 0xff, 0xc0, 0xc0, 0xe3, 0x7f, 0x3c} - -/* ecircumflex (234) */ -#define NXFONT_METRICS_234 {1, 8, 14, 1, 8, 0} -#define NXFONT_BITMAP_234 {0x18, 0x3c, 0x66, 0x0, 0x3c, 0x7e, 0xc3, 0xc3, 0xff, 0xc0, 0xc0, 0xe3, 0x7f, 0x3c} - -/* edieresis (235) */ -#define NXFONT_METRICS_235 {1, 8, 14, 1, 8, 0} -#define NXFONT_BITMAP_235 {0x66, 0x66, 0x0, 0x0, 0x3c, 0x7e, 0xc3, 0xc3, 0xff, 0xc0, 0xc0, 0xe3, 0x7f, 0x3c} - -/* igrave (236) */ -#define NXFONT_METRICS_236 {1, 4, 14, 0, 8, 0} -#define NXFONT_BITMAP_236 {0xc0, 0x60, 0x30, 0x0, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60} - -/* iacute (237) */ -#define NXFONT_METRICS_237 {1, 4, 14, 0, 8, 0} -#define NXFONT_BITMAP_237 {0x30, 0x60, 0xc0, 0x0, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60} - -/* icircumflex (238) -- NOTE: Xoffset should be -1, not 0. */ -#define NXFONT_METRICS_238 {1, 6, 14, 0, 8, 0} -#define NXFONT_BITMAP_238 {0x30, 0x78, 0xcc, 0x0, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30} - -/* idieresis (239) */ -#define NXFONT_METRICS_239 {1, 5, 14, 0, 8, 0} -#define NXFONT_BITMAP_239 {0xd8, 0xd8, 0x0, 0x0, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60} - -/* eth (240) */ -#define NXFONT_METRICS_240 {2, 9, 14, 1, 8, 0} -#define NXFONT_BITMAP_240 {0x60, 0x0, 0x36, 0x0, 0x38, 0x0, 0x4c, 0x0, 0x3e, 0x0, 0x7f, 0x0, 0x63, 0x0, 0xc1, 0x80, 0xc1, 0x80, 0xc1, 0x80, 0xc1, 0x80, 0x63, 0x0, 0x7f, 0x0, 0x3e, 0x0} - -/* ntilde (241) */ -#define NXFONT_METRICS_241 {1, 8, 14, 1, 8, 0} -#define NXFONT_BITMAP_241 {0x32, 0x5a, 0x4c, 0x0, 0xde, 0xff, 0xe3, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3} - -/* ograve (242) */ -#define NXFONT_METRICS_242 {2, 9, 14, 1, 8, 0} -#define NXFONT_BITMAP_242 {0x30, 0x0, 0x18, 0x0, 0xc, 0x0, 0x0, 0x0, 0x3e, 0x0, 0x7f, 0x0, 0x63, 0x0, 0xc1, 0x80, 0xc1, 0x80, 0xc1, 0x80, 0xc1, 0x80, 0x63, 0x0, 0x7f, 0x0, 0x3e, 0x0} - -/* oacute (243) */ -#define NXFONT_METRICS_243 {2, 9, 14, 1, 8, 0} -#define NXFONT_BITMAP_243 {0x6, 0x0, 0xc, 0x0, 0x18, 0x0, 0x0, 0x0, 0x3e, 0x0, 0x7f, 0x0, 0x63, 0x0, 0xc1, 0x80, 0xc1, 0x80, 0xc1, 0x80, 0xc1, 0x80, 0x63, 0x0, 0x7f, 0x0, 0x3e, 0x0} - -/* ocircumflex (244) */ -#define NXFONT_METRICS_244 {2, 9, 14, 1, 8, 0} -#define NXFONT_BITMAP_244 {0x18, 0x0, 0x3c, 0x0, 0x66, 0x0, 0x0, 0x0, 0x3e, 0x0, 0x7f, 0x0, 0x63, 0x0, 0xc1, 0x80, 0xc1, 0x80, 0xc1, 0x80, 0xc1, 0x80, 0x63, 0x0, 0x7f, 0x0, 0x3e, 0x0} - -/* otilde (245) */ -#define NXFONT_METRICS_245 {2, 9, 14, 1, 8, 0} -#define NXFONT_BITMAP_245 {0x32, 0x0, 0x5a, 0x0, 0x4c, 0x0, 0x0, 0x0, 0x3e, 0x0, 0x7f, 0x0, 0x63, 0x0, 0xc1, 0x80, 0xc1, 0x80, 0xc1, 0x80, 0xc1, 0x80, 0x63, 0x0, 0x7f, 0x0, 0x3e, 0x0} - -/* odieresis (246) */ -#define NXFONT_METRICS_246 {2, 9, 14, 1, 8, 0} -#define NXFONT_BITMAP_246 {0x33, 0x0, 0x33, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3e, 0x0, 0x7f, 0x0, 0x63, 0x0, 0xc1, 0x80, 0xc1, 0x80, 0xc1, 0x80, 0xc1, 0x80, 0x63, 0x0, 0x7f, 0x0, 0x3e, 0x0} - -/* divide (247) */ -#define NXFONT_METRICS_247 {1, 8, 8, 1, 13, 0} -#define NXFONT_BITMAP_247 {0x18, 0x18, 0x0, 0xff, 0xff, 0x0, 0x18, 0x18} - -/* oslash (248) */ -#define NXFONT_METRICS_248 {2, 11, 10, 0, 12, 0} -#define NXFONT_BITMAP_248 {0xe, 0x60, 0x3f, 0xc0, 0x31, 0x80, 0x63, 0xc0, 0x66, 0xc0, 0x6c, 0xc0, 0x78, 0xc0, 0x31, 0x80, 0x7f, 0x80, 0xce, 0x0} - -/* ugrave (249) */ -#define NXFONT_METRICS_249 {1, 8, 14, 1, 8, 0} -#define NXFONT_BITMAP_249 {0x30, 0x18, 0xc, 0x0, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0xc7, 0xff, 0x7b} - -/* uacute (250) */ -#define NXFONT_METRICS_250 {1, 8, 14, 1, 8, 0} -#define NXFONT_BITMAP_250 {0x6, 0xc, 0x18, 0x0, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0xc7, 0xff, 0x7b} - -/* ucircumflex (251) */ -#define NXFONT_METRICS_251 {1, 8, 14, 1, 8, 0} -#define NXFONT_BITMAP_251 {0x18, 0x3c, 0x66, 0x0, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0xc7, 0xff, 0x7b} - -/* udieresis (252) */ -#define NXFONT_METRICS_252 {1, 8, 14, 1, 8, 0} -#define NXFONT_BITMAP_252 {0x66, 0x66, 0x0, 0x0, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0xc7, 0xff, 0x7b} - -/* yacute (253) */ -#define NXFONT_METRICS_253 {1, 8, 18, 1, 8, 0} -#define NXFONT_BITMAP_253 {0x6, 0xc, 0x18, 0x0, 0xc3, 0xc3, 0xc3, 0x66, 0x66, 0x66, 0x24, 0x3c, 0x18, 0x18, 0x18, 0x18, 0x70, 0x70} - -/* thorn (254) */ -#define NXFONT_METRICS_254 {2, 9, 18, 1, 8, 0} -#define NXFONT_BITMAP_254 {0xc0, 0x0, 0xc0, 0x0, 0xc0, 0x0, 0xc0, 0x0, 0xde, 0x0, 0xff, 0x0, 0xe3, 0x0, 0xc1, 0x80, 0xc1, 0x80, 0xc1, 0x80, 0xc1, 0x80, 0xe3, 0x0, 0xff, 0x0, 0xde, 0x0, 0xc0, 0x0, 0xc0, 0x0, 0xc0, 0x0, 0xc0, 0x0} - -/* ydieresis (255) */ -#define NXFONT_METRICS_255 {1, 8, 18, 1, 8, 0} -#define NXFONT_BITMAP_255 {0x66, 0x66, 0x0, 0x0, 0xc3, 0xc3, 0xc3, 0x66, 0x66, 0x66, 0x24, 0x3c, 0x18, 0x18, 0x18, 0x18, 0x70, 0x70} - -/**************************************************************************** - * Public Types - ****************************************************************************/ - -/**************************************************************************** - * Public Data - ****************************************************************************/ - -#undef EXTERN -#if defined(__cplusplus) -#define EXTERN extern "C" -extern "C" { -#else -#define EXTERN extern -#endif - -/**************************************************************************** - * Public Functions - ****************************************************************************/ - -#undef EXTERN -#if defined(__cplusplus) -} -#endif - -#endif /* __GRAPHICS_NXFONTS_NXFONTS_SANS22X29_H */ diff --git a/nuttx/graphics/nxfonts/nxfonts_sans22x29b.h b/nuttx/graphics/nxfonts/nxfonts_sans22x29b.h deleted file mode 100644 index c2e29bff0..000000000 --- a/nuttx/graphics/nxfonts/nxfonts_sans22x29b.h +++ /dev/null @@ -1,849 +0,0 @@ -/**************************************************************************** - * graphics/nxfonts/nxfonts_sans22x29b.h - * - * Copyright (C) 2011-2012 NX Engineering, S.A., All rights reserved. - * Author: Jose Pablo Carballo Gomez <jcarballo@nx-engineering.com> - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * 3. Neither the name NuttX nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT} - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING} - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - ****************************************************************************/ - -#ifndef __GRAPHICS_NXFONTS_NXFONTS_SANS22X29B_H -#define __GRAPHICS_NXFONTS_NXFONTS_SANS22X29B_H - -/**************************************************************************** - * Included Files - ****************************************************************************/ - -/**************************************************************************** - * Pre-Processor Definitions - ****************************************************************************/ - -/* Font ID */ - -#define NXFONT_ID FONTID_SANS22X29B - -/* Ranges of 7-bit and 8-bit fonts */ - -#define NXFONT_MIN7BIT 33 -#define NXFONT_MAX7BIT 126 - -#define NXFONT_MIN8BIT 161 -#define NXFONT_MAX8BIT 255 - -/* Maximum height and width of any glyph in the set */ - -#define NXFONT_MAXHEIGHT 29 -#define NXFONT_MAXWIDTH 22 - -/* The width of a space */ - -#define NXFONT_SPACEWIDTH 5 - -/* exclam (33) */ -#define NXFONT_METRICS_33 {1, 3, 14, 1, 8, 0} -#define NXFONT_BITMAP_33 {0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xc0, 0xc0, 0x0, 0xe0, 0xe0, 0xe0} - -/* quotedbl (34) */ -#define NXFONT_METRICS_34 {1, 5, 5, 1, 8, 0} -#define NXFONT_BITMAP_34 {0xd8, 0xd8, 0xd8, 0xd8, 0x90} - -/* numbersign (35) */ -#define NXFONT_METRICS_35 {2, 11, 13, 0, 9, 0} -#define NXFONT_BITMAP_35 {0xd, 0x80, 0xd, 0x80, 0xd, 0x80, 0x7f, 0xe0, 0x7f, 0xe0, 0x1b, 0x0, 0x1b, 0x0, 0x1b, 0x0, 0xff, 0xc0, 0xff, 0xc0, 0x36, 0x0, 0x36, 0x0, 0x36, 0x0} - -/* dollar (36) */ -#define NXFONT_METRICS_36 {2, 10, 16, 0, 8, 0} -#define NXFONT_BITMAP_36 {0x4, 0x0, 0x3f, 0x0, 0x7f, 0x80, 0xe5, 0x80, 0xe4, 0x0, 0xe4, 0x0, 0x7c, 0x0, 0x3f, 0x0, 0xf, 0x80, 0x9, 0xc0, 0xe9, 0xc0, 0xe9, 0xc0, 0x7f, 0x80, 0x3f, 0x0, 0x8, 0x0, 0x8, 0x0} - -/* percent (37) */ -#define NXFONT_METRICS_37 {2, 13, 13, 1, 9, 0} -#define NXFONT_BITMAP_37 {0x78, 0x60, 0xfc, 0x60, 0xcc, 0xc0, 0xcc, 0x80, 0xfd, 0x80, 0x7b, 0x0, 0x2, 0x0, 0x6, 0xf0, 0xd, 0xf8, 0x9, 0x98, 0x19, 0x98, 0x31, 0xf8, 0x30, 0xf0} - -/* ampersand (38) */ -#define NXFONT_METRICS_38 {2, 13, 14, 1, 8, 0} -#define NXFONT_BITMAP_38 {0x1e, 0x0, 0x3f, 0x0, 0x73, 0x80, 0x61, 0x80, 0x73, 0x0, 0x3e, 0x0, 0x1c, 0x60, 0x7e, 0x60, 0xe7, 0xe0, 0xc3, 0xc0, 0xc1, 0xc0, 0xe3, 0xe0, 0x7f, 0x70, 0x3e, 0x38} - -/* quotesingle (39) */ -#define NXFONT_METRICS_39 {1, 2, 5, 1, 8, 0} -#define NXFONT_BITMAP_39 {0xc0, 0xc0, 0xc0, 0xc0, 0x80} - -/* parenleft (40) */ -#define NXFONT_METRICS_40 {1, 6, 18, 1, 8, 0} -#define NXFONT_BITMAP_40 {0x1c, 0x38, 0x30, 0x70, 0x60, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0x60, 0x70, 0x30, 0x38, 0x1c} - -/* parenright (41) */ -#define NXFONT_METRICS_41 {1, 6, 18, 0, 8, 0} -#define NXFONT_BITMAP_41 {0xe0, 0x70, 0x30, 0x38, 0x18, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x18, 0x38, 0x30, 0x70, 0xe0} - -/* asterisk (42) */ -#define NXFONT_METRICS_42 {1, 7, 6, 1, 8, 0} -#define NXFONT_BITMAP_42 {0x10, 0xd6, 0x7c, 0x38, 0x6c, 0x44} - -/* plus (43) */ -#define NXFONT_METRICS_43 {1, 8, 8, 1, 13, 0} -#define NXFONT_BITMAP_43 {0x18, 0x18, 0x18, 0xff, 0xff, 0x18, 0x18, 0x18} - -/* comma (44) */ -#define NXFONT_METRICS_44 {1, 3, 6, 1, 19, 0} -#define NXFONT_BITMAP_44 {0xe0, 0xe0, 0xe0, 0x60, 0xc0, 0x80} - -/* hyphen (45) */ -#define NXFONT_METRICS_45 {1, 5, 3, 0, 15, 0} -#define NXFONT_BITMAP_45 {0xf8, 0xf8, 0xf8} - -/* period (46) */ -#define NXFONT_METRICS_46 {1, 3, 3, 1, 19, 0} -#define NXFONT_BITMAP_46 {0xe0, 0xe0, 0xe0} - -/* slash (47) */ -#define NXFONT_METRICS_47 {1, 5, 14, 0, 8, 0} -#define NXFONT_BITMAP_47 {0x18, 0x18, 0x18, 0x38, 0x30, 0x30, 0x30, 0x70, 0x60, 0x60, 0xe0, 0xc0, 0xc0, 0xc0} - -/* zero (48) */ -#define NXFONT_METRICS_48 {2, 9, 13, 0, 9, 0} -#define NXFONT_BITMAP_48 {0x1c, 0x0, 0x7f, 0x0, 0x77, 0x0, 0xe3, 0x80, 0xe3, 0x80, 0xe3, 0x80, 0xe3, 0x80, 0xe3, 0x80, 0xe3, 0x80, 0xe3, 0x80, 0x77, 0x0, 0x7f, 0x0, 0x1c, 0x0} - -/* one (49) */ -#define NXFONT_METRICS_49 {1, 6, 13, 1, 9, 0} -#define NXFONT_BITMAP_49 {0x1c, 0x3c, 0xfc, 0xfc, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c} - -/* two (50) */ -#define NXFONT_METRICS_50 {2, 9, 13, 0, 9, 0} -#define NXFONT_BITMAP_50 {0x3e, 0x0, 0x7f, 0x0, 0xe3, 0x80, 0xe3, 0x80, 0x3, 0x80, 0x7, 0x0, 0x1f, 0x0, 0x3e, 0x0, 0x78, 0x0, 0x70, 0x0, 0xe0, 0x0, 0xff, 0x80, 0xff, 0x80} - -/* three (51) */ -#define NXFONT_METRICS_51 {2, 9, 13, 0, 9, 0} -#define NXFONT_BITMAP_51 {0x3e, 0x0, 0x7f, 0x0, 0xe7, 0x0, 0xe3, 0x0, 0x7, 0x0, 0x1e, 0x0, 0x1f, 0x0, 0x7, 0x80, 0x3, 0x80, 0xe3, 0x80, 0xe7, 0x80, 0x7f, 0x0, 0x3e, 0x0} - -/* four (52) */ -#define NXFONT_METRICS_52 {2, 9, 13, 0, 9, 0} -#define NXFONT_BITMAP_52 {0x7, 0x0, 0xf, 0x0, 0x1f, 0x0, 0x3f, 0x0, 0x37, 0x0, 0x77, 0x0, 0x67, 0x0, 0xe7, 0x0, 0xff, 0x80, 0xff, 0x80, 0x7, 0x0, 0x7, 0x0, 0x7, 0x0} - -/* five (53) */ -#define NXFONT_METRICS_53 {2, 9, 13, 0, 9, 0} -#define NXFONT_BITMAP_53 {0xff, 0x0, 0xff, 0x0, 0xe0, 0x0, 0xe0, 0x0, 0xfe, 0x0, 0xff, 0x0, 0xe7, 0x80, 0x3, 0x80, 0x3, 0x80, 0xe3, 0x80, 0xe7, 0x80, 0xff, 0x0, 0x7e, 0x0} - -/* six (54) */ -#define NXFONT_METRICS_54 {2, 9, 13, 0, 9, 0} -#define NXFONT_BITMAP_54 {0x3f, 0x0, 0x7f, 0x80, 0x71, 0x80, 0xe0, 0x0, 0xee, 0x0, 0xff, 0x0, 0xf3, 0x80, 0xe1, 0x80, 0xe1, 0x80, 0xe1, 0x80, 0xf3, 0x80, 0x7f, 0x0, 0x3e, 0x0} - -/* seven (55) */ -#define NXFONT_METRICS_55 {2, 9, 13, 0, 9, 0} -#define NXFONT_BITMAP_55 {0xff, 0x80, 0xff, 0x80, 0x3, 0x80, 0x7, 0x0, 0xe, 0x0, 0xe, 0x0, 0x1c, 0x0, 0x1c, 0x0, 0x38, 0x0, 0x38, 0x0, 0x70, 0x0, 0x70, 0x0, 0x70, 0x0} - -/* eight (56) */ -#define NXFONT_METRICS_56 {2, 9, 13, 0, 9, 0} -#define NXFONT_BITMAP_56 {0x3e, 0x0, 0x7f, 0x0, 0xe3, 0x80, 0xe3, 0x80, 0xe3, 0x80, 0x7f, 0x0, 0x3e, 0x0, 0x77, 0x0, 0xe3, 0x80, 0xe3, 0x80, 0xe3, 0x80, 0x7f, 0x0, 0x3e, 0x0} - -/* nine (57) */ -#define NXFONT_METRICS_57 {2, 9, 13, 0, 9, 0} -#define NXFONT_BITMAP_57 {0x3e, 0x0, 0x7f, 0x0, 0xe7, 0x80, 0xc3, 0x80, 0xc3, 0x80, 0xc3, 0x80, 0xe7, 0x80, 0x7f, 0x80, 0x3b, 0x80, 0x3, 0x80, 0xc7, 0x0, 0xff, 0x0, 0x7e, 0x0} - -/* colon (58) */ -#define NXFONT_METRICS_58 {1, 3, 10, 1, 12, 0} -#define NXFONT_BITMAP_58 {0xe0, 0xe0, 0xe0, 0x0, 0x0, 0x0, 0x0, 0xe0, 0xe0, 0xe0} - -/* semicolon (59) */ -#define NXFONT_METRICS_59 {1, 3, 13, 1, 12, 0} -#define NXFONT_BITMAP_59 {0xe0, 0xe0, 0xe0, 0x0, 0x0, 0x0, 0x0, 0xe0, 0xe0, 0xe0, 0x60, 0xc0, 0x80} - -/* less (60) */ -#define NXFONT_METRICS_60 {2, 9, 9, 1, 13, 0} -#define NXFONT_BITMAP_60 {0x3, 0x80, 0xf, 0x80, 0x3e, 0x0, 0x78, 0x0, 0xe0, 0x0, 0x78, 0x0, 0x3e, 0x0, 0xf, 0x80, 0x3, 0x80} - -/* equal (61) */ -#define NXFONT_METRICS_61 {2, 9, 5, 1, 14, 0} -#define NXFONT_BITMAP_61 {0xff, 0x80, 0xff, 0x80, 0x0, 0x0, 0xff, 0x80, 0xff, 0x80} - -/* greater (62) */ -#define NXFONT_METRICS_62 {2, 9, 9, 1, 13, 0} -#define NXFONT_BITMAP_62 {0xe0, 0x0, 0xf8, 0x0, 0x3e, 0x0, 0xf, 0x0, 0x3, 0x80, 0xf, 0x0, 0x3e, 0x0, 0xf8, 0x0, 0xe0, 0x0} - -/* question (63) */ -#define NXFONT_METRICS_63 {1, 8, 14, 1, 8, 0} -#define NXFONT_BITMAP_63 {0x7e, 0xff, 0xe7, 0xe7, 0xe, 0x1e, 0x1c, 0x38, 0x38, 0x38, 0x0, 0x38, 0x38, 0x38} - -/* at (64) */ -#define NXFONT_METRICS_64 {2, 16, 17, 1, 8, 0} -#define NXFONT_BITMAP_64 {0x7, 0xf0, 0x1f, 0xfc, 0x3c, 0x1e, 0x70, 0x6, 0x63, 0xb7, 0xe7, 0xf3, 0xc6, 0x63, 0xcc, 0x63, 0xcc, 0xc3, 0xcc, 0xc6, 0xcc, 0xc6, 0xef, 0xfc, 0xe7, 0xb8, 0x70, 0x0, 0x3c, 0x0, 0x1f, 0xf0, 0x7, 0xf0} - -/* A (65) */ -#define NXFONT_METRICS_65 {2, 12, 14, 1, 8, 0} -#define NXFONT_BITMAP_65 {0xf, 0x0, 0xf, 0x0, 0x1f, 0x80, 0x19, 0x80, 0x19, 0x80, 0x39, 0xc0, 0x39, 0xc0, 0x30, 0xc0, 0x70, 0xe0, 0x7f, 0xe0, 0x7f, 0xe0, 0xe0, 0x70, 0xe0, 0x70, 0xe0, 0x70} - -/* B (66) */ -#define NXFONT_METRICS_66 {2, 11, 14, 2, 8, 0} -#define NXFONT_BITMAP_66 {0xfe, 0x0, 0xff, 0x80, 0xe3, 0xc0, 0xe1, 0xc0, 0xe1, 0xc0, 0xe3, 0x80, 0xff, 0x80, 0xff, 0xc0, 0xe1, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe1, 0xe0, 0xff, 0xc0, 0xff, 0x0} - -/* C (67) */ -#define NXFONT_METRICS_67 {2, 12, 14, 1, 8, 0} -#define NXFONT_BITMAP_67 {0xf, 0x80, 0x3f, 0xe0, 0x78, 0xe0, 0x70, 0x70, 0xf0, 0x70, 0xe0, 0x0, 0xe0, 0x0, 0xe0, 0x0, 0xe0, 0x0, 0xf0, 0x70, 0x70, 0x70, 0x78, 0xe0, 0x3f, 0xe0, 0xf, 0x80} - -/* D (68) */ -#define NXFONT_METRICS_68 {2, 12, 14, 1, 8, 0} -#define NXFONT_BITMAP_68 {0xff, 0x0, 0xff, 0xc0, 0xe1, 0xe0, 0xe0, 0xe0, 0xe0, 0x70, 0xe0, 0x70, 0xe0, 0x70, 0xe0, 0x70, 0xe0, 0x70, 0xe0, 0x70, 0xe0, 0xe0, 0xe1, 0xe0, 0xff, 0xc0, 0xff, 0x0} - -/* E (69) */ -#define NXFONT_METRICS_69 {2, 10, 14, 2, 8, 0} -#define NXFONT_BITMAP_69 {0xff, 0xc0, 0xff, 0xc0, 0xe0, 0x0, 0xe0, 0x0, 0xe0, 0x0, 0xe0, 0x0, 0xff, 0x80, 0xff, 0x80, 0xe0, 0x0, 0xe0, 0x0, 0xe0, 0x0, 0xe0, 0x0, 0xff, 0xc0, 0xff, 0xc0} - -/* F (70) */ -#define NXFONT_METRICS_70 {2, 10, 14, 1, 8, 0} -#define NXFONT_BITMAP_70 {0xff, 0xc0, 0xff, 0xc0, 0xe0, 0x0, 0xe0, 0x0, 0xe0, 0x0, 0xe0, 0x0, 0xff, 0x80, 0xff, 0x80, 0xe0, 0x0, 0xe0, 0x0, 0xe0, 0x0, 0xe0, 0x0, 0xe0, 0x0, 0xe0, 0x0} - -/* G (71) */ -#define NXFONT_METRICS_71 {2, 12, 14, 1, 8, 0} -#define NXFONT_BITMAP_71 {0xf, 0x80, 0x3f, 0xe0, 0x78, 0xe0, 0x70, 0x70, 0xf0, 0x70, 0xe0, 0x0, 0xe0, 0x0, 0xe3, 0xf0, 0xe3, 0xf0, 0xf0, 0x70, 0x70, 0x70, 0x78, 0xf0, 0x3f, 0xf0, 0x1f, 0xb0} - -/* H (72) */ -#define NXFONT_METRICS_72 {2, 12, 14, 1, 8, 0} -#define NXFONT_BITMAP_72 {0xe0, 0x70, 0xe0, 0x70, 0xe0, 0x70, 0xe0, 0x70, 0xe0, 0x70, 0xe0, 0x70, 0xff, 0xf0, 0xff, 0xf0, 0xe0, 0x70, 0xe0, 0x70, 0xe0, 0x70, 0xe0, 0x70, 0xe0, 0x70, 0xe0, 0x70} - -/* I (73) */ -#define NXFONT_METRICS_73 {1, 3, 14, 1, 8, 0} -#define NXFONT_BITMAP_73 {0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0} - -/* J (74) */ -#define NXFONT_METRICS_74 {2, 9, 14, 0, 8, 0} -#define NXFONT_BITMAP_74 {0x3, 0x80, 0x3, 0x80, 0x3, 0x80, 0x3, 0x80, 0x3, 0x80, 0x3, 0x80, 0x3, 0x80, 0x3, 0x80, 0x3, 0x80, 0xe3, 0x80, 0xe3, 0x80, 0xf7, 0x80, 0x7f, 0x0, 0x3e, 0x0} - -/* K (75) */ -#define NXFONT_METRICS_75 {2, 13, 14, 1, 8, 0} -#define NXFONT_BITMAP_75 {0xe0, 0xf0, 0xe1, 0xe0, 0xe3, 0xc0, 0xe7, 0x80, 0xef, 0x0, 0xfe, 0x0, 0xfc, 0x0, 0xfe, 0x0, 0xef, 0x0, 0xe7, 0x80, 0xe3, 0xc0, 0xe1, 0xe0, 0xe0, 0xf0, 0xe0, 0x78} - -/* L (76) */ -#define NXFONT_METRICS_76 {2, 9, 14, 1, 8, 0} -#define NXFONT_BITMAP_76 {0xe0, 0x0, 0xe0, 0x0, 0xe0, 0x0, 0xe0, 0x0, 0xe0, 0x0, 0xe0, 0x0, 0xe0, 0x0, 0xe0, 0x0, 0xe0, 0x0, 0xe0, 0x0, 0xe0, 0x0, 0xe0, 0x0, 0xff, 0x80, 0xff, 0x80} - -/* M (77) */ -#define NXFONT_METRICS_77 {2, 14, 14, 1, 8, 0} -#define NXFONT_BITMAP_77 {0xe0, 0x1c, 0xe0, 0x1c, 0xf0, 0x3c, 0xf0, 0x3c, 0xf8, 0x7c, 0xf8, 0x7c, 0xf8, 0x7c, 0xec, 0xdc, 0xec, 0xdc, 0xec, 0xdc, 0xe7, 0x9c, 0xe7, 0x9c, 0xe3, 0x1c, 0xe3, 0x1c} - -/* N (78) */ -#define NXFONT_METRICS_78 {2, 12, 14, 1, 8, 0} -#define NXFONT_BITMAP_78 {0xe0, 0x70, 0xf0, 0x70, 0xf0, 0x70, 0xf8, 0x70, 0xfc, 0x70, 0xec, 0x70, 0xee, 0x70, 0xe6, 0x70, 0xe7, 0x70, 0xe3, 0x70, 0xe1, 0xf0, 0xe1, 0xf0, 0xe0, 0xf0, 0xe0, 0x70} - -/* O (79) */ -#define NXFONT_METRICS_79 {2, 13, 14, 1, 8, 0} -#define NXFONT_BITMAP_79 {0xf, 0x80, 0x3f, 0xe0, 0x78, 0xf0, 0x70, 0x70, 0xf0, 0x78, 0xe0, 0x38, 0xe0, 0x38, 0xe0, 0x38, 0xe0, 0x38, 0xf0, 0x78, 0x70, 0x70, 0x78, 0xf0, 0x3f, 0xe0, 0xf, 0x80} - -/* P (80) */ -#define NXFONT_METRICS_80 {2, 11, 14, 1, 8, 0} -#define NXFONT_BITMAP_80 {0xff, 0x0, 0xff, 0xc0, 0xe1, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe1, 0xe0, 0xff, 0xc0, 0xff, 0x0, 0xe0, 0x0, 0xe0, 0x0, 0xe0, 0x0, 0xe0, 0x0, 0xe0, 0x0} - -/* Q (81) */ -#define NXFONT_METRICS_81 {2, 13, 15, 1, 8, 0} -#define NXFONT_BITMAP_81 {0xf, 0x80, 0x3f, 0xe0, 0x78, 0xf0, 0x70, 0x70, 0xf0, 0x78, 0xe0, 0x38, 0xe0, 0x38, 0xe0, 0x38, 0xe0, 0x38, 0xf3, 0x78, 0x73, 0xf0, 0x79, 0xf0, 0x3f, 0xe0, 0xf, 0xf0, 0x0, 0x30} - -/* R (82) */ -#define NXFONT_METRICS_82 {2, 12, 14, 1, 8, 0} -#define NXFONT_BITMAP_82 {0xff, 0x0, 0xff, 0xc0, 0xe1, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe1, 0xe0, 0xff, 0xc0, 0xff, 0x80, 0xe1, 0xc0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xf0} - -/* S (83) */ -#define NXFONT_METRICS_83 {2, 11, 14, 1, 8, 0} -#define NXFONT_BITMAP_83 {0x3f, 0x80, 0x7f, 0xc0, 0xf1, 0xe0, 0xe0, 0xe0, 0xf0, 0x0, 0x7e, 0x0, 0x3f, 0x80, 0xf, 0xc0, 0x1, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xf1, 0xe0, 0x7f, 0xc0, 0x3f, 0x80} - -/* T (84) */ -#define NXFONT_METRICS_84 {2, 11, 14, 0, 8, 0} -#define NXFONT_BITMAP_84 {0xff, 0xe0, 0xff, 0xe0, 0xe, 0x0, 0xe, 0x0, 0xe, 0x0, 0xe, 0x0, 0xe, 0x0, 0xe, 0x0, 0xe, 0x0, 0xe, 0x0, 0xe, 0x0, 0xe, 0x0, 0xe, 0x0, 0xe, 0x0} - -/* U (85) */ -#define NXFONT_METRICS_85 {2, 12, 14, 1, 8, 0} -#define NXFONT_BITMAP_85 {0xe0, 0x70, 0xe0, 0x70, 0xe0, 0x70, 0xe0, 0x70, 0xe0, 0x70, 0xe0, 0x70, 0xe0, 0x70, 0xe0, 0x70, 0xe0, 0x70, 0xe0, 0x70, 0xe0, 0x70, 0x70, 0xe0, 0x7f, 0xe0, 0x1f, 0x80} - -/* V (86) */ -#define NXFONT_METRICS_86 {2, 13, 14, 0, 8, 0} -#define NXFONT_BITMAP_86 {0xe0, 0x38, 0xe0, 0x38, 0x70, 0x70, 0x70, 0x70, 0x30, 0x60, 0x38, 0xe0, 0x38, 0xe0, 0x1d, 0xc0, 0x1d, 0xc0, 0xd, 0x80, 0xf, 0x80, 0xf, 0x80, 0x7, 0x0, 0x7, 0x0} - -/* W (87) */ -#define NXFONT_METRICS_87 {2, 15, 14, 1, 8, 0} -#define NXFONT_BITMAP_87 {0xe3, 0x8e, 0xe3, 0x8e, 0xe3, 0x8e, 0xe3, 0x8e, 0x73, 0x9c, 0x73, 0x9c, 0x73, 0x9c, 0x76, 0xdc, 0x36, 0xd8, 0x36, 0xd8, 0x3e, 0xf8, 0x1c, 0x70, 0x1c, 0x70, 0x1c, 0x70} - -/* X (88) */ -#define NXFONT_METRICS_88 {2, 12, 14, 0, 8, 0} -#define NXFONT_BITMAP_88 {0xe0, 0x70, 0xe0, 0x70, 0x70, 0xe0, 0x79, 0xe0, 0x19, 0x80, 0x1f, 0x80, 0xf, 0x0, 0x1f, 0x80, 0x19, 0x80, 0x39, 0xc0, 0x70, 0xe0, 0x70, 0xe0, 0xe0, 0x70, 0xe0, 0x70} - -/* Y (89) */ -#define NXFONT_METRICS_89 {2, 13, 14, 0, 8, 0} -#define NXFONT_BITMAP_89 {0xe0, 0x38, 0xe0, 0x38, 0x70, 0x70, 0x38, 0xe0, 0x38, 0xe0, 0x1d, 0xc0, 0x1d, 0xc0, 0xf, 0x80, 0x7, 0x0, 0x7, 0x0, 0x7, 0x0, 0x7, 0x0, 0x7, 0x0, 0x7, 0x0} - -/* Z (90) */ -#define NXFONT_METRICS_90 {2, 10, 14, 1, 8, 0} -#define NXFONT_BITMAP_90 {0xff, 0xc0, 0xff, 0xc0, 0x1, 0xc0, 0x3, 0x80, 0x7, 0x0, 0x7, 0x0, 0xe, 0x0, 0x1c, 0x0, 0x38, 0x0, 0x38, 0x0, 0x70, 0x0, 0xe0, 0x0, 0xff, 0xc0, 0xff, 0xc0} - -/* bracketleft (91) */ -#define NXFONT_METRICS_91 {1, 5, 18, 1, 8, 0} -#define NXFONT_BITMAP_91 {0xf8, 0xf8, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xf8, 0xf8} - -/* backslash (92) */ -#define NXFONT_METRICS_92 {1, 5, 14, 0, 8, 0} -#define NXFONT_BITMAP_92 {0xc0, 0xc0, 0xc0, 0xe0, 0x60, 0x60, 0x60, 0x70, 0x30, 0x30, 0x38, 0x18, 0x18, 0x18} - -/* bracketright (93) */ -#define NXFONT_METRICS_93 {1, 5, 18, 0, 8, 0} -#define NXFONT_BITMAP_93 {0xf8, 0xf8, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0xf8, 0xf8} - -/* asciicircum (94) */ -#define NXFONT_METRICS_94 {2, 10, 7, 0, 9, 0} -#define NXFONT_BITMAP_94 {0xc, 0x0, 0x1e, 0x0, 0x1e, 0x0, 0x33, 0x0, 0x73, 0x80, 0x61, 0x80, 0xe1, 0xc0} - -/* underscore (95) */ -#define NXFONT_METRICS_95 {2, 10, 2, 0, 24, 0} -#define NXFONT_BITMAP_95 {0xff, 0xc0, 0xff, 0xc0} - -/* grave (96) */ -#define NXFONT_METRICS_96 {1, 5, 3, 0, 8, 0} -#define NXFONT_BITMAP_96 {0xe0, 0x70, 0x38} - -/* a (97) */ -#define NXFONT_METRICS_97 {2, 10, 10, 1, 12, 0} -#define NXFONT_BITMAP_97 {0x3e, 0x0, 0x7f, 0x0, 0x63, 0x80, 0x7, 0x80, 0x3f, 0x80, 0x7b, 0x80, 0xe3, 0x80, 0xe7, 0x80, 0xfb, 0x80, 0x7b, 0xc0} - -/* b (98) */ -#define NXFONT_METRICS_98 {2, 10, 14, 1, 8, 0} -#define NXFONT_BITMAP_98 {0xe0, 0x0, 0xe0, 0x0, 0xe0, 0x0, 0xe0, 0x0, 0xef, 0x0, 0xff, 0x80, 0xf3, 0x80, 0xe1, 0xc0, 0xe1, 0xc0, 0xe1, 0xc0, 0xe1, 0xc0, 0xf3, 0x80, 0xff, 0x80, 0xef, 0x0} - -/* c (99) */ -#define NXFONT_METRICS_99 {2, 9, 10, 1, 12, 0} -#define NXFONT_BITMAP_99 {0x1e, 0x0, 0x7f, 0x80, 0x73, 0x80, 0xe0, 0x0, 0xe0, 0x0, 0xe0, 0x0, 0xe0, 0x0, 0x73, 0x80, 0x7f, 0x80, 0x1e, 0x0} - -/* d (100) */ -#define NXFONT_METRICS_100 {2, 10, 14, 1, 8, 0} -#define NXFONT_BITMAP_100 {0x1, 0xc0, 0x1, 0xc0, 0x1, 0xc0, 0x1, 0xc0, 0x3d, 0xc0, 0x7f, 0xc0, 0x73, 0xc0, 0xe1, 0xc0, 0xe1, 0xc0, 0xe1, 0xc0, 0xe1, 0xc0, 0x73, 0xc0, 0x7f, 0xc0, 0x3d, 0xc0} - -/* e (101) */ -#define NXFONT_METRICS_101 {2, 9, 10, 1, 12, 0} -#define NXFONT_BITMAP_101 {0x1e, 0x0, 0x7f, 0x0, 0x73, 0x80, 0xe1, 0x80, 0xff, 0x80, 0xff, 0x80, 0xe0, 0x0, 0x73, 0x80, 0x7f, 0x80, 0x1e, 0x0} - -/* f (102) */ -#define NXFONT_METRICS_102 {1, 7, 14, 0, 8, 0} -#define NXFONT_BITMAP_102 {0x1e, 0x3e, 0x38, 0x38, 0xfe, 0xfe, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38} - -/* g (103) */ -#define NXFONT_METRICS_103 {2, 10, 14, 1, 12, 0} -#define NXFONT_BITMAP_103 {0x3d, 0xc0, 0x7f, 0xc0, 0x73, 0xc0, 0xe1, 0xc0, 0xe1, 0xc0, 0xe1, 0xc0, 0xe1, 0xc0, 0x73, 0xc0, 0x7f, 0xc0, 0x3d, 0xc0, 0x1, 0xc0, 0x73, 0x80, 0x7f, 0x80, 0x1e, 0x0} - -/* h (104) */ -#define NXFONT_METRICS_104 {2, 9, 14, 1, 8, 0} -#define NXFONT_BITMAP_104 {0xe0, 0x0, 0xe0, 0x0, 0xe0, 0x0, 0xe0, 0x0, 0xef, 0x0, 0xff, 0x80, 0xf3, 0x80, 0xe3, 0x80, 0xe3, 0x80, 0xe3, 0x80, 0xe3, 0x80, 0xe3, 0x80, 0xe3, 0x80, 0xe3, 0x80} - -/* i (105) */ -#define NXFONT_METRICS_105 {1, 3, 14, 1, 8, 0} -#define NXFONT_BITMAP_105 {0xe0, 0xe0, 0xe0, 0x0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0} - -/* j (106) -- NOTE: Xoffset should be -1, not 0. */ -#define NXFONT_METRICS_106 {1, 5, 18, 0, 8, 0} -#define NXFONT_BITMAP_106 {0x38, 0x38, 0x38, 0x0, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0xf8, 0xf0} - -/* k (107) */ -#define NXFONT_METRICS_107 {2, 9, 14, 1, 8, 0} -#define NXFONT_BITMAP_107 {0xe0, 0x0, 0xe0, 0x0, 0xe0, 0x0, 0xe0, 0x0, 0xe7, 0x0, 0xee, 0x0, 0xfc, 0x0, 0xf8, 0x0, 0xf8, 0x0, 0xfc, 0x0, 0xee, 0x0, 0xe7, 0x0, 0xe7, 0x80, 0xe3, 0x80} - -/* l (108) */ -#define NXFONT_METRICS_108 {1, 3, 14, 1, 8, 0} -#define NXFONT_BITMAP_108 {0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0} - -/* m (109) */ -#define NXFONT_METRICS_109 {2, 15, 10, 1, 12, 0} -#define NXFONT_BITMAP_109 {0xef, 0x3c, 0xff, 0xfe, 0xf3, 0xce, 0xe3, 0x8e, 0xe3, 0x8e, 0xe3, 0x8e, 0xe3, 0x8e, 0xe3, 0x8e, 0xe3, 0x8e, 0xe3, 0x8e} - -/* n (110) */ -#define NXFONT_METRICS_110 {2, 9, 10, 1, 12, 0} -#define NXFONT_BITMAP_110 {0xef, 0x0, 0xff, 0x80, 0xf3, 0x80, 0xe3, 0x80, 0xe3, 0x80, 0xe3, 0x80, 0xe3, 0x80, 0xe3, 0x80, 0xe3, 0x80, 0xe3, 0x80} - -/* o (111) */ -#define NXFONT_METRICS_111 {2, 10, 10, 1, 12, 0} -#define NXFONT_BITMAP_111 {0x1e, 0x0, 0x7f, 0x80, 0x73, 0x80, 0xe1, 0xc0, 0xe1, 0xc0, 0xe1, 0xc0, 0xe1, 0xc0, 0x73, 0x80, 0x7f, 0x80, 0x1e, 0x0} - -/* p (112) */ -#define NXFONT_METRICS_112 {2, 10, 14, 1, 12, 0} -#define NXFONT_BITMAP_112 {0xef, 0x0, 0xff, 0x80, 0xf3, 0x80, 0xe1, 0xc0, 0xe1, 0xc0, 0xe1, 0xc0, 0xe1, 0xc0, 0xf3, 0x80, 0xff, 0x80, 0xef, 0x0, 0xe0, 0x0, 0xe0, 0x0, 0xe0, 0x0, 0xe0, 0x0} - -/* q (113) */ -#define NXFONT_METRICS_113 {2, 10, 14, 1, 12, 0} -#define NXFONT_BITMAP_113 {0x3d, 0xc0, 0x7f, 0xc0, 0x73, 0xc0, 0xe1, 0xc0, 0xe1, 0xc0, 0xe1, 0xc0, 0xe1, 0xc0, 0x73, 0xc0, 0x7f, 0xc0, 0x3d, 0xc0, 0x1, 0xc0, 0x1, 0xc0, 0x1, 0xc0, 0x1, 0xc0} - -/* r (114) */ -#define NXFONT_METRICS_114 {1, 6, 10, 1, 12, 0} -#define NXFONT_BITMAP_114 {0xec, 0xfc, 0xfc, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0} - -/* s (115) */ -#define NXFONT_METRICS_115 {2, 9, 10, 1, 12, 0} -#define NXFONT_BITMAP_115 {0x3f, 0x0, 0x7f, 0x80, 0xe3, 0x80, 0xe0, 0x0, 0xff, 0x0, 0x3f, 0x80, 0x3, 0x80, 0xe3, 0x80, 0xff, 0x0, 0x7e, 0x0} - -/* t (116) */ -#define NXFONT_METRICS_116 {1, 6, 13, 0, 9, 0} -#define NXFONT_BITMAP_116 {0x70, 0x70, 0x70, 0xfc, 0xfc, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x7c, 0x3c} - -/* u (117) */ -#define NXFONT_METRICS_117 {2, 9, 10, 1, 12, 0} -#define NXFONT_BITMAP_117 {0xe3, 0x80, 0xe3, 0x80, 0xe3, 0x80, 0xe3, 0x80, 0xe3, 0x80, 0xe3, 0x80, 0xe3, 0x80, 0xe7, 0x80, 0xff, 0x80, 0x7b, 0x80} - -/* v (118) */ -#define NXFONT_METRICS_118 {2, 9, 10, 0, 12, 0} -#define NXFONT_BITMAP_118 {0xe3, 0x80, 0xe3, 0x80, 0xe3, 0x80, 0x77, 0x0, 0x77, 0x0, 0x77, 0x0, 0x3e, 0x0, 0x3e, 0x0, 0x1c, 0x0, 0x1c, 0x0} - -/* w (119) */ -#define NXFONT_METRICS_119 {2, 15, 10, 0, 12, 0} -#define NXFONT_BITMAP_119 {0xe3, 0x8e, 0xe3, 0x8e, 0xe3, 0x8e, 0x73, 0x9c, 0x77, 0xdc, 0x76, 0xdc, 0x3e, 0xf8, 0x3c, 0x78, 0x1c, 0x70, 0x1c, 0x70} - -/* x (120) */ -#define NXFONT_METRICS_120 {2, 9, 10, 1, 12, 0} -#define NXFONT_BITMAP_120 {0xe3, 0x80, 0xe3, 0x80, 0x77, 0x0, 0x3e, 0x0, 0x1c, 0x0, 0x3e, 0x0, 0x77, 0x0, 0x77, 0x0, 0xe3, 0x80, 0xe3, 0x80} - -/* y (121) */ -#define NXFONT_METRICS_121 {2, 9, 14, 1, 12, 0} -#define NXFONT_BITMAP_121 {0xe3, 0x80, 0xe3, 0x80, 0xe3, 0x80, 0x77, 0x0, 0x77, 0x0, 0x77, 0x0, 0x3e, 0x0, 0x3e, 0x0, 0x1c, 0x0, 0x1c, 0x0, 0x1c, 0x0, 0x18, 0x0, 0x78, 0x0, 0x70, 0x0} - -/* z (122) */ -#define NXFONT_METRICS_122 {1, 8, 10, 1, 12, 0} -#define NXFONT_BITMAP_122 {0xff, 0xff, 0x7, 0xe, 0x1c, 0x38, 0x70, 0xe0, 0xff, 0xff} - -/* braceleft (123) */ -#define NXFONT_METRICS_123 {1, 7, 18, 1, 8, 0} -#define NXFONT_BITMAP_123 {0xe, 0x1c, 0x38, 0x38, 0x38, 0x38, 0x38, 0x70, 0xe0, 0x70, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x1c, 0xe} - -/* bar (124) */ -#define NXFONT_METRICS_124 {1, 2, 18, 1, 8, 0} -#define NXFONT_BITMAP_124 {0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0} - -/* braceright (125) */ -#define NXFONT_METRICS_125 {1, 7, 18, 0, 8, 0} -#define NXFONT_BITMAP_125 {0xe0, 0x70, 0x38, 0x38, 0x38, 0x38, 0x38, 0x1c, 0xe, 0x1c, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x70, 0xe0} - -/* asciitilde (126) */ -#define NXFONT_METRICS_126 {2, 9, 3, 1, 15, 0} -#define NXFONT_BITMAP_126 {0x79, 0x80, 0xff, 0x80, 0xcf, 0x0} - -/* exclamdown (161) */ -#define NXFONT_METRICS_161 {1, 3, 14, 2, 12, 0} -#define NXFONT_BITMAP_161 {0xe0, 0xe0, 0xe0, 0x0, 0x60, 0x60, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0} - -/* cent (162) */ -#define NXFONT_METRICS_162 {1, 8, 14, 1, 10, 0} -#define NXFONT_BITMAP_162 {0x2, 0x2, 0x3e, 0x7f, 0xe7, 0xc8, 0xc8, 0xd0, 0xd0, 0xe3, 0x7f, 0x7e, 0x40, 0x40} - -/* sterling (163) */ -#define NXFONT_METRICS_163 {2, 10, 13, 0, 9, 0} -#define NXFONT_BITMAP_163 {0x1f, 0x0, 0x3f, 0xc0, 0x71, 0xc0, 0x70, 0x0, 0x70, 0x0, 0x38, 0x0, 0x7f, 0x0, 0x1c, 0x0, 0x1c, 0x0, 0x38, 0x0, 0x70, 0xc0, 0xff, 0xc0, 0xef, 0x80} - -/* currency (164) */ -#define NXFONT_METRICS_164 {2, 9, 8, 1, 12, 0} -#define NXFONT_BITMAP_164 {0xc1, 0x80, 0xff, 0x80, 0x77, 0x0, 0x63, 0x0, 0x63, 0x0, 0x77, 0x0, 0xff, 0x80, 0xc1, 0x80} - -/* yen (165) */ -#define NXFONT_METRICS_165 {2, 9, 13, 0, 9, 0} -#define NXFONT_BITMAP_165 {0xe3, 0x80, 0xe3, 0x80, 0xe3, 0x80, 0x77, 0x0, 0x77, 0x0, 0x3e, 0x0, 0xff, 0x80, 0x1c, 0x0, 0xff, 0x80, 0x1c, 0x0, 0x1c, 0x0, 0x1c, 0x0, 0x1c, 0x0} - -/* brokenbar (166) */ -#define NXFONT_METRICS_166 {1, 2, 18, 1, 8, 0} -#define NXFONT_BITMAP_166 {0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0x0, 0x0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0} - -/* section (167) */ -#define NXFONT_METRICS_167 {2, 9, 18, 0, 8, 0} -#define NXFONT_BITMAP_167 {0x3e, 0x0, 0x7f, 0x0, 0xe3, 0x80, 0xe3, 0x80, 0xf0, 0x0, 0x7c, 0x0, 0xfe, 0x0, 0xc7, 0x0, 0xc3, 0x80, 0xe1, 0x80, 0x71, 0x80, 0x3f, 0x80, 0xf, 0x0, 0x7, 0x80, 0xe3, 0x80, 0xe3, 0x80, 0x7f, 0x0, 0x3e, 0x0} - -/* dieresis (168) */ -#define NXFONT_METRICS_168 {1, 5, 2, 1, 8, 0} -#define NXFONT_BITMAP_168 {0xd8, 0xd8} - -/* copyright (169) */ -#define NXFONT_METRICS_169 {2, 14, 14, 1, 8, 0} -#define NXFONT_BITMAP_169 {0xf, 0xc0, 0x38, 0x70, 0x60, 0x18, 0xc7, 0x8c, 0xcf, 0xcc, 0x98, 0xc4, 0x98, 0x4, 0x98, 0x4, 0x98, 0x44, 0xcf, 0xcc, 0xc7, 0x8c, 0x60, 0x18, 0x38, 0x70, 0xf, 0xc0} - -/* ordfeminine (170) */ -#define NXFONT_METRICS_170 {1, 6, 9, 1, 8, 0} -#define NXFONT_BITMAP_170 {0x78, 0x8c, 0x7c, 0xcc, 0xcc, 0x74, 0x0, 0xfc, 0xfc} - -/* guillemotleft (171) */ -#define NXFONT_METRICS_171 {2, 10, 8, 0, 13, 0} -#define NXFONT_BITMAP_171 {0x1d, 0xc0, 0x3b, 0x80, 0x77, 0x0, 0xee, 0x0, 0xee, 0x0, 0x77, 0x0, 0x3b, 0x80, 0x1d, 0xc0} - -/* logicalnot (172) */ -#define NXFONT_METRICS_172 {2, 9, 5, 1, 14, 0} -#define NXFONT_BITMAP_172 {0xff, 0x80, 0xff, 0x80, 0x1, 0x80, 0x1, 0x80, 0x1, 0x80} - -/* hyphen (173) */ -#define NXFONT_METRICS_173 {1, 5, 3, 0, 15, 0} -#define NXFONT_BITMAP_173 {0xf8, 0xf8, 0xf8} - -/* registered (174) */ -#define NXFONT_METRICS_174 {2, 13, 14, 1, 8, 0} -#define NXFONT_BITMAP_174 {0xf, 0x80, 0x30, 0x60, 0x60, 0x10, 0x5f, 0x90, 0x99, 0xc8, 0x98, 0xc8, 0x99, 0xc8, 0x9f, 0x8, 0x99, 0x88, 0x99, 0x88, 0x58, 0xd0, 0x60, 0x30, 0x38, 0xe0, 0xf, 0x80} - -/* macron (175) */ -#define NXFONT_METRICS_175 {1, 5, 2, 1, 8, 0} -#define NXFONT_BITMAP_175 {0xf8, 0xf8} - -/* degree (176) */ -#define NXFONT_METRICS_176 {1, 6, 6, 0, 9, 0} -#define NXFONT_BITMAP_176 {0x78, 0xfc, 0xcc, 0xcc, 0xfc, 0x78} - -/* plusminus (177) */ -#define NXFONT_METRICS_177 {2, 9, 9, 1, 13, 0} -#define NXFONT_BITMAP_177 {0x1c, 0x0, 0x1c, 0x0, 0xff, 0x80, 0xff, 0x80, 0x1c, 0x0, 0x1c, 0x0, 0x0, 0x0, 0xff, 0x80, 0xff, 0x80} - -/* twosuperior (178) */ -#define NXFONT_METRICS_178 {1, 6, 8, 0, 9, 0} -#define NXFONT_BITMAP_178 {0x78, 0xfc, 0xcc, 0x1c, 0x78, 0xe0, 0xfc, 0xfc} - -/* threesuperior (179) */ -#define NXFONT_METRICS_179 {1, 6, 8, 0, 9, 0} -#define NXFONT_BITMAP_179 {0x78, 0xfc, 0xcc, 0x38, 0x3c, 0xcc, 0xfc, 0x78} - -/* acute (180) */ -#define NXFONT_METRICS_180 {1, 5, 3, 0, 8, 0} -#define NXFONT_BITMAP_180 {0x38, 0x70, 0xe0} - -/* mu (181) */ -#define NXFONT_METRICS_181 {2, 9, 14, 1, 12, 0} -#define NXFONT_BITMAP_181 {0xe3, 0x80, 0xe3, 0x80, 0xe3, 0x80, 0xe3, 0x80, 0xe3, 0x80, 0xe3, 0x80, 0xe3, 0x80, 0xe7, 0x80, 0xff, 0x80, 0xfb, 0x80, 0xe0, 0x0, 0xe0, 0x0, 0xe0, 0x0, 0xe0, 0x0} - -/* paragraph (182) */ -#define NXFONT_METRICS_182 {2, 9, 18, 0, 8, 0} -#define NXFONT_BITMAP_182 {0x3f, 0x80, 0x7b, 0x0, 0xfb, 0x0, 0xfb, 0x0, 0xfb, 0x0, 0xfb, 0x0, 0xfb, 0x0, 0x7b, 0x0, 0x3b, 0x0, 0x1b, 0x0, 0x1b, 0x0, 0x1b, 0x0, 0x1b, 0x0, 0x1b, 0x0, 0x1b, 0x0, 0x1b, 0x0, 0x1b, 0x0, 0x1b, 0x0} - -/* periodcentered (183) */ -#define NXFONT_METRICS_183 {1, 2, 2, 1, 14, 0} -#define NXFONT_BITMAP_183 {0xc0, 0xc0} - -/* cedilla (184) */ -#define NXFONT_METRICS_184 {1, 5, 5, 1, 22, 0} -#define NXFONT_BITMAP_184 {0x60, 0x70, 0x18, 0xf8, 0xf0} - -/* onesuperior (185) */ -#define NXFONT_METRICS_185 {1, 4, 8, 0, 9, 0} -#define NXFONT_BITMAP_185 {0x30, 0xf0, 0xf0, 0x30, 0x30, 0x30, 0x30, 0x30} - -/* ordmasculine (186) */ -#define NXFONT_METRICS_186 {1, 6, 9, 1, 8, 0} -#define NXFONT_BITMAP_186 {0x78, 0xcc, 0xcc, 0xcc, 0xcc, 0x78, 0x0, 0xfc, 0xfc} - -/* guillemotright (187) */ -#define NXFONT_METRICS_187 {2, 10, 8, 0, 13, 0} -#define NXFONT_BITMAP_187 {0xee, 0x0, 0x77, 0x0, 0x3b, 0x80, 0x1d, 0xc0, 0x1d, 0xc0, 0x3b, 0x80, 0x77, 0x0, 0xee, 0x0} - -/* onequarter (188) */ -#define NXFONT_METRICS_188 {2, 14, 13, 0, 9, 0} -#define NXFONT_BITMAP_188 {0x30, 0x60, 0xf0, 0x60, 0xf0, 0xc0, 0x30, 0xc0, 0x31, 0x80, 0x31, 0x98, 0x33, 0x38, 0x36, 0x38, 0x6, 0x78, 0xc, 0xd8, 0xc, 0xfc, 0x18, 0x18, 0x18, 0x18} - -/* onehalf (189) */ -#define NXFONT_METRICS_189 {2, 15, 13, 0, 9, 0} -#define NXFONT_BITMAP_189 {0x30, 0x60, 0xf0, 0x60, 0xf0, 0xc0, 0x30, 0xc0, 0x31, 0x80, 0x31, 0xbc, 0x33, 0x7e, 0x36, 0x66, 0x6, 0xe, 0xc, 0x3c, 0xc, 0x70, 0x18, 0x7e, 0x18, 0x7e} - -/* threequarters (190) */ -#define NXFONT_METRICS_190 {2, 14, 13, 0, 9, 0} -#define NXFONT_BITMAP_190 {0x78, 0x30, 0xfc, 0x30, 0xcc, 0x60, 0x38, 0x60, 0x3c, 0xc0, 0xcc, 0xd8, 0xfd, 0xb8, 0x7b, 0x38, 0x3, 0x78, 0x6, 0xd8, 0x6, 0xfc, 0xc, 0x18, 0xc, 0x18} - -/* questiondown (191) */ -#define NXFONT_METRICS_191 {1, 8, 14, 1, 12, 0} -#define NXFONT_BITMAP_191 {0x1c, 0x1c, 0x1c, 0x0, 0x1c, 0x1c, 0x1c, 0x38, 0x78, 0x70, 0xe7, 0xe7, 0xff, 0x7e} - -/* Agrave (192) */ -#define NXFONT_METRICS_192 {2, 12, 18, 1, 4, 0} -#define NXFONT_BITMAP_192 {0x38, 0x0, 0x1c, 0x0, 0x6, 0x0, 0x0, 0x0, 0xf, 0x0, 0xf, 0x0, 0x1f, 0x80, 0x19, 0x80, 0x19, 0x80, 0x39, 0xc0, 0x39, 0xc0, 0x30, 0xc0, 0x70, 0xe0, 0x7f, 0xe0, 0x7f, 0xe0, 0xe0, 0x70, 0xe0, 0x70, 0xe0, 0x70} - -/* Aacute (193) */ -#define NXFONT_METRICS_193 {2, 12, 18, 1, 4, 0} -#define NXFONT_BITMAP_193 {0x1, 0xc0, 0x3, 0x80, 0x6, 0x0, 0x0, 0x0, 0xf, 0x0, 0xf, 0x0, 0x1f, 0x80, 0x19, 0x80, 0x19, 0x80, 0x39, 0xc0, 0x39, 0xc0, 0x30, 0xc0, 0x70, 0xe0, 0x7f, 0xe0, 0x7f, 0xe0, 0xe0, 0x70, 0xe0, 0x70, 0xe0, 0x70} - -/* Acircumflex (194) */ -#define NXFONT_METRICS_194 {2, 12, 18, 1, 4, 0} -#define NXFONT_BITMAP_194 {0x7, 0x0, 0xf, 0x80, 0x1d, 0xc0, 0x0, 0x0, 0xf, 0x0, 0xf, 0x0, 0x1f, 0x80, 0x19, 0x80, 0x19, 0x80, 0x39, 0xc0, 0x39, 0xc0, 0x30, 0xc0, 0x70, 0xe0, 0x7f, 0xe0, 0x7f, 0xe0, 0xe0, 0x70, 0xe0, 0x70, 0xe0, 0x70} - -/* Atilde (195) */ -#define NXFONT_METRICS_195 {2, 12, 18, 1, 4, 0} -#define NXFONT_BITMAP_195 {0xe, 0x20, 0x1f, 0xc0, 0x23, 0x80, 0x0, 0x0, 0xf, 0x0, 0xf, 0x0, 0x1f, 0x80, 0x19, 0x80, 0x19, 0x80, 0x39, 0xc0, 0x39, 0xc0, 0x30, 0xc0, 0x70, 0xe0, 0x7f, 0xe0, 0x7f, 0xe0, 0xe0, 0x70, 0xe0, 0x70, 0xe0, 0x70} - -/* Adieresis (196) */ -#define NXFONT_METRICS_196 {2, 12, 18, 1, 4, 0} -#define NXFONT_BITMAP_196 {0x19, 0x80, 0x19, 0x80, 0x19, 0x80, 0x0, 0x0, 0xf, 0x0, 0xf, 0x0, 0x1f, 0x80, 0x19, 0x80, 0x19, 0x80, 0x39, 0xc0, 0x39, 0xc0, 0x30, 0xc0, 0x70, 0xe0, 0x7f, 0xe0, 0x7f, 0xe0, 0xe0, 0x70, 0xe0, 0x70, 0xe0, 0x70} - -/* Aring (197) */ -#define NXFONT_METRICS_197 {2, 12, 18, 1, 4, 0} -#define NXFONT_BITMAP_197 {0xf, 0x0, 0x19, 0x80, 0x19, 0x80, 0xf, 0x0, 0xf, 0x0, 0xf, 0x0, 0x1f, 0x80, 0x19, 0x80, 0x19, 0x80, 0x39, 0xc0, 0x39, 0xc0, 0x30, 0xc0, 0x70, 0xe0, 0x7f, 0xe0, 0x7f, 0xe0, 0xe0, 0x70, 0xe0, 0x70, 0xe0, 0x70} - -/* AE (198) */ -#define NXFONT_METRICS_198 {2, 16, 14, 1, 8, 0} -#define NXFONT_BITMAP_198 {0xf, 0xff, 0xf, 0xff, 0x1f, 0x80, 0x1b, 0x80, 0x3b, 0x80, 0x3b, 0x80, 0x33, 0xfe, 0x73, 0xfe, 0x73, 0x80, 0x7f, 0x80, 0xff, 0x80, 0xe3, 0x80, 0xe3, 0xff, 0xe3, 0xff} - -/* Ccedilla (199) */ -#define NXFONT_METRICS_199 {2, 12, 19, 1, 8, 0} -#define NXFONT_BITMAP_199 {0xf, 0x80, 0x3f, 0xe0, 0x78, 0xe0, 0x70, 0x70, 0xf0, 0x70, 0xe0, 0x0, 0xe0, 0x0, 0xe0, 0x0, 0xe0, 0x0, 0xf0, 0x70, 0x70, 0x70, 0x78, 0xe0, 0x3f, 0xe0, 0xf, 0x80, 0xc, 0x0, 0xe, 0x0, 0x3, 0x0, 0x1f, 0x0, 0x1e, 0x0} - -/* Egrave (200) */ -#define NXFONT_METRICS_200 {2, 10, 18, 2, 4, 0} -#define NXFONT_BITMAP_200 {0x38, 0x0, 0x1c, 0x0, 0x6, 0x0, 0x0, 0x0, 0xff, 0xc0, 0xff, 0xc0, 0xe0, 0x0, 0xe0, 0x0, 0xe0, 0x0, 0xe0, 0x0, 0xff, 0x80, 0xff, 0x80, 0xe0, 0x0, 0xe0, 0x0, 0xe0, 0x0, 0xe0, 0x0, 0xff, 0xc0, 0xff, 0xc0} - -/* Eacute (201) */ -#define NXFONT_METRICS_201 {2, 10, 18, 2, 4, 0} -#define NXFONT_BITMAP_201 {0x3, 0x80, 0x7, 0x0, 0xc, 0x0, 0x0, 0x0, 0xff, 0xc0, 0xff, 0xc0, 0xe0, 0x0, 0xe0, 0x0, 0xe0, 0x0, 0xe0, 0x0, 0xff, 0x80, 0xff, 0x80, 0xe0, 0x0, 0xe0, 0x0, 0xe0, 0x0, 0xe0, 0x0, 0xff, 0xc0, 0xff, 0xc0} - -/* Ecircumflex (202) */ -#define NXFONT_METRICS_202 {2, 10, 18, 2, 4, 0} -#define NXFONT_BITMAP_202 {0xe, 0x0, 0x1f, 0x0, 0x3b, 0x80, 0x0, 0x0, 0xff, 0xc0, 0xff, 0xc0, 0xe0, 0x0, 0xe0, 0x0, 0xe0, 0x0, 0xe0, 0x0, 0xff, 0x80, 0xff, 0x80, 0xe0, 0x0, 0xe0, 0x0, 0xe0, 0x0, 0xe0, 0x0, 0xff, 0xc0, 0xff, 0xc0} - -/* Edieresis (203) */ -#define NXFONT_METRICS_203 {2, 10, 18, 2, 4, 0} -#define NXFONT_BITMAP_203 {0x33, 0x0, 0x33, 0x0, 0x33, 0x0, 0x0, 0x0, 0xff, 0xc0, 0xff, 0xc0, 0xe0, 0x0, 0xe0, 0x0, 0xe0, 0x0, 0xe0, 0x0, 0xff, 0x80, 0xff, 0x80, 0xe0, 0x0, 0xe0, 0x0, 0xe0, 0x0, 0xe0, 0x0, 0xff, 0xc0, 0xff, 0xc0} - -/* Igrave (204) -- NOTE: Xoffset should be -1, not 0. */ -#define NXFONT_METRICS_204 {1, 5, 18, 0, 4, 0} -#define NXFONT_BITMAP_204 {0xe0, 0x70, 0x18, 0x0, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38} - -/* Iacute (205) */ -#define NXFONT_METRICS_205 {1, 5, 18, 1, 4, 0} -#define NXFONT_BITMAP_205 {0x38, 0x70, 0xc0, 0x0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0} - -/* Icircumflex (206) -- NOTE: Xoffset should be -1, not 0. */ -#define NXFONT_METRICS_206 {1, 7, 18, 0, 4, 0} -#define NXFONT_BITMAP_206 {0x38, 0x7c, 0xee, 0x0, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38} - -/* Idieresis (207) */ -#define NXFONT_METRICS_207 {1, 6, 18, 0, 4, 0} -#define NXFONT_BITMAP_207 {0xcc, 0xcc, 0xcc, 0x0, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70} - -/* Eth (208) -- NOTE: Xoffset should be -1, not 0. */ -#define NXFONT_METRICS_208 {2, 14, 14, 0, 8, 0} -#define NXFONT_BITMAP_208 {0x3f, 0xc0, 0x3f, 0xf0, 0x38, 0x78, 0x38, 0x38, 0x38, 0x1c, 0x38, 0x1c, 0xff, 0x1c, 0xff, 0x1c, 0x38, 0x1c, 0x38, 0x1c, 0x38, 0x38, 0x38, 0x78, 0x3f, 0xf0, 0x3f, 0xc0} - -/* Ntilde (209) */ -#define NXFONT_METRICS_209 {2, 12, 18, 1, 4, 0} -#define NXFONT_BITMAP_209 {0xe, 0x20, 0x1f, 0xc0, 0x23, 0x80, 0x0, 0x0, 0xe0, 0x70, 0xf0, 0x70, 0xf0, 0x70, 0xf8, 0x70, 0xfc, 0x70, 0xec, 0x70, 0xee, 0x70, 0xe6, 0x70, 0xe7, 0x70, 0xe3, 0x70, 0xe1, 0xf0, 0xe1, 0xf0, 0xe0, 0xf0, 0xe0, 0x70} - -/* Ograve (210) */ -#define NXFONT_METRICS_210 {2, 13, 18, 1, 4, 0} -#define NXFONT_BITMAP_210 {0x1c, 0x0, 0xe, 0x0, 0x3, 0x0, 0x0, 0x0, 0xf, 0x80, 0x3f, 0xe0, 0x78, 0xf0, 0x70, 0x70, 0xf0, 0x78, 0xe0, 0x38, 0xe0, 0x38, 0xe0, 0x38, 0xe0, 0x38, 0xf0, 0x78, 0x70, 0x70, 0x78, 0xf0, 0x3f, 0xe0, 0xf, 0x80} - -/* Oacute (211) */ -#define NXFONT_METRICS_211 {2, 13, 18, 1, 4, 0} -#define NXFONT_BITMAP_211 {0x1, 0xc0, 0x3, 0x80, 0x6, 0x0, 0x0, 0x0, 0xf, 0x80, 0x3f, 0xe0, 0x78, 0xf0, 0x70, 0x70, 0xf0, 0x78, 0xe0, 0x38, 0xe0, 0x38, 0xe0, 0x38, 0xe0, 0x38, 0xf0, 0x78, 0x70, 0x70, 0x78, 0xf0, 0x3f, 0xe0, 0xf, 0x80} - -/* Ocircumflex (212) */ -#define NXFONT_METRICS_212 {2, 13, 18, 1, 4, 0} -#define NXFONT_BITMAP_212 {0x7, 0x0, 0xf, 0x80, 0x1d, 0xc0, 0x0, 0x0, 0xf, 0x80, 0x3f, 0xe0, 0x78, 0xf0, 0x70, 0x70, 0xf0, 0x78, 0xe0, 0x38, 0xe0, 0x38, 0xe0, 0x38, 0xe0, 0x38, 0xf0, 0x78, 0x70, 0x70, 0x78, 0xf0, 0x3f, 0xe0, 0xf, 0x80} - -/* Otilde (213) */ -#define NXFONT_METRICS_213 {2, 13, 18, 1, 4, 0} -#define NXFONT_BITMAP_213 {0x7, 0x10, 0xf, 0xe0, 0x11, 0xc0, 0x0, 0x0, 0xf, 0x80, 0x3f, 0xe0, 0x78, 0xf0, 0x70, 0x70, 0xf0, 0x78, 0xe0, 0x38, 0xe0, 0x38, 0xe0, 0x38, 0xe0, 0x38, 0xf0, 0x78, 0x70, 0x70, 0x78, 0xf0, 0x3f, 0xe0, 0xf, 0x80} - -/* Odieresis (214) */ -#define NXFONT_METRICS_214 {2, 13, 18, 1, 4, 0} -#define NXFONT_BITMAP_214 {0xc, 0xc0, 0xc, 0xc0, 0xc, 0xc0, 0x0, 0x0, 0xf, 0x80, 0x3f, 0xe0, 0x78, 0xf0, 0x70, 0x70, 0xf0, 0x78, 0xe0, 0x38, 0xe0, 0x38, 0xe0, 0x38, 0xe0, 0x38, 0xf0, 0x78, 0x70, 0x70, 0x78, 0xf0, 0x3f, 0xe0, 0xf, 0x80} - -/* multiply (215) */ -#define NXFONT_METRICS_215 {2, 10, 8, 0, 13, 0} -#define NXFONT_BITMAP_215 {0xe1, 0xc0, 0x73, 0x80, 0x3f, 0x0, 0x1e, 0x0, 0x1e, 0x0, 0x3f, 0x0, 0x73, 0x80, 0xe1, 0xc0} - -/* Oslash (216) */ -#define NXFONT_METRICS_216 {2, 15, 14, 0, 8, 0} -#define NXFONT_BITMAP_216 {0x7, 0xc6, 0x1f, 0xfc, 0x3c, 0x38, 0x38, 0x78, 0x78, 0xdc, 0x71, 0x9c, 0x71, 0x1c, 0x73, 0x1c, 0x76, 0x1c, 0x7c, 0x3c, 0x38, 0x38, 0x3c, 0x78, 0x7f, 0xf0, 0xc7, 0xc0} - -/* Ugrave (217) */ -#define NXFONT_METRICS_217 {2, 12, 18, 1, 4, 0} -#define NXFONT_BITMAP_217 {0x1c, 0x0, 0xe, 0x0, 0x3, 0x0, 0x0, 0x0, 0xe0, 0x70, 0xe0, 0x70, 0xe0, 0x70, 0xe0, 0x70, 0xe0, 0x70, 0xe0, 0x70, 0xe0, 0x70, 0xe0, 0x70, 0xe0, 0x70, 0xe0, 0x70, 0xe0, 0x70, 0x70, 0xe0, 0x7f, 0xe0, 0x1f, 0x80} - -/* Uacute (218) */ -#define NXFONT_METRICS_218 {2, 12, 18, 1, 4, 0} -#define NXFONT_BITMAP_218 {0x1, 0xc0, 0x3, 0x80, 0x6, 0x0, 0x0, 0x0, 0xe0, 0x70, 0xe0, 0x70, 0xe0, 0x70, 0xe0, 0x70, 0xe0, 0x70, 0xe0, 0x70, 0xe0, 0x70, 0xe0, 0x70, 0xe0, 0x70, 0xe0, 0x70, 0xe0, 0x70, 0x70, 0xe0, 0x7f, 0xe0, 0x1f, 0x80} - -/* Ucircumflex (219) */ -#define NXFONT_METRICS_219 {2, 12, 18, 1, 4, 0} -#define NXFONT_BITMAP_219 {0x7, 0x0, 0xf, 0x80, 0x1d, 0xc0, 0x0, 0x0, 0xe0, 0x70, 0xe0, 0x70, 0xe0, 0x70, 0xe0, 0x70, 0xe0, 0x70, 0xe0, 0x70, 0xe0, 0x70, 0xe0, 0x70, 0xe0, 0x70, 0xe0, 0x70, 0xe0, 0x70, 0x70, 0xe0, 0x7f, 0xe0, 0x1f, 0x80} - -/* Udieresis (220) */ -#define NXFONT_METRICS_220 {2, 12, 18, 1, 4, 0} -#define NXFONT_BITMAP_220 {0x19, 0x80, 0x19, 0x80, 0x19, 0x80, 0x0, 0x0, 0xe0, 0x70, 0xe0, 0x70, 0xe0, 0x70, 0xe0, 0x70, 0xe0, 0x70, 0xe0, 0x70, 0xe0, 0x70, 0xe0, 0x70, 0xe0, 0x70, 0xe0, 0x70, 0xe0, 0x70, 0x70, 0xe0, 0x7f, 0xe0, 0x1f, 0x80} - -/* Yacute (221) */ -#define NXFONT_METRICS_221 {2, 13, 18, 0, 4, 0} -#define NXFONT_BITMAP_221 {0x1, 0xc0, 0x3, 0x80, 0x6, 0x0, 0x0, 0x0, 0xe0, 0x38, 0xe0, 0x38, 0x70, 0x70, 0x38, 0xe0, 0x38, 0xe0, 0x1d, 0xc0, 0x1d, 0xc0, 0xf, 0x80, 0x7, 0x0, 0x7, 0x0, 0x7, 0x0, 0x7, 0x0, 0x7, 0x0, 0x7, 0x0} - -/* Thorn (222) */ -#define NXFONT_METRICS_222 {2, 11, 14, 1, 8, 0} -#define NXFONT_BITMAP_222 {0xe0, 0x0, 0xe0, 0x0, 0xe0, 0x0, 0xff, 0x0, 0xff, 0xc0, 0xe1, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe1, 0xe0, 0xff, 0xc0, 0xff, 0x0, 0xe0, 0x0, 0xe0, 0x0, 0xe0, 0x0} - -/* germandbls (223) */ -#define NXFONT_METRICS_223 {1, 8, 14, 1, 8, 0} -#define NXFONT_BITMAP_223 {0x3c, 0x7e, 0xe7, 0xe7, 0xe7, 0xe7, 0xee, 0xee, 0xe7, 0xe7, 0xe7, 0xe7, 0xef, 0xee} - -/* agrave (224) */ -#define NXFONT_METRICS_224 {2, 10, 14, 1, 8, 0} -#define NXFONT_BITMAP_224 {0x70, 0x0, 0x38, 0x0, 0xc, 0x0, 0x0, 0x0, 0x3e, 0x0, 0x7f, 0x0, 0x73, 0x80, 0x7, 0x80, 0x3f, 0x80, 0x7b, 0x80, 0xe3, 0x80, 0xe7, 0x80, 0xfb, 0x80, 0x7b, 0xc0} - -/* aacute (225) */ -#define NXFONT_METRICS_225 {2, 10, 14, 1, 8, 0} -#define NXFONT_BITMAP_225 {0x3, 0x80, 0x7, 0x0, 0xc, 0x0, 0x0, 0x0, 0x3e, 0x0, 0x7f, 0x0, 0x73, 0x80, 0x7, 0x80, 0x3f, 0x80, 0x7b, 0x80, 0xe3, 0x80, 0xe7, 0x80, 0xfb, 0x80, 0x7b, 0xc0} - -/* acircumflex (226) */ -#define NXFONT_METRICS_226 {2, 10, 14, 1, 8, 0} -#define NXFONT_BITMAP_226 {0x1c, 0x0, 0x3e, 0x0, 0x77, 0x0, 0x0, 0x0, 0x3e, 0x0, 0x7f, 0x0, 0x73, 0x80, 0x7, 0x80, 0x3f, 0x80, 0x7b, 0x80, 0xe3, 0x80, 0xe7, 0x80, 0xfb, 0x80, 0x7b, 0xc0} - -/* atilde (227) */ -#define NXFONT_METRICS_227 {2, 10, 14, 1, 8, 0} -#define NXFONT_BITMAP_227 {0x3b, 0x0, 0x7f, 0x0, 0x6e, 0x0, 0x0, 0x0, 0x3e, 0x0, 0x7f, 0x0, 0x73, 0x80, 0x7, 0x80, 0x3f, 0x80, 0x7b, 0x80, 0xe3, 0x80, 0xe7, 0x80, 0xfb, 0x80, 0x7b, 0xc0} - -/* adieresis (228) */ -#define NXFONT_METRICS_228 {2, 10, 14, 1, 8, 0} -#define NXFONT_BITMAP_228 {0x33, 0x0, 0x33, 0x0, 0x33, 0x0, 0x0, 0x0, 0x3e, 0x0, 0x7f, 0x0, 0x73, 0x80, 0x7, 0x80, 0x3f, 0x80, 0x7b, 0x80, 0xe3, 0x80, 0xe7, 0x80, 0xfb, 0x80, 0x7b, 0xc0} - -/* aring (229) */ -#define NXFONT_METRICS_229 {2, 10, 14, 1, 8, 0} -#define NXFONT_BITMAP_229 {0x3c, 0x0, 0x66, 0x0, 0x66, 0x0, 0x3c, 0x0, 0x3e, 0x0, 0x7f, 0x0, 0x73, 0x80, 0x7, 0x80, 0x3f, 0x80, 0x7b, 0x80, 0xe3, 0x80, 0xe7, 0x80, 0xfb, 0x80, 0x7b, 0xc0} - -/* ae (230) */ -#define NXFONT_METRICS_230 {2, 14, 10, 1, 12, 0} -#define NXFONT_BITMAP_230 {0x3d, 0xf0, 0x7f, 0xf8, 0x67, 0x1c, 0xf, 0x1c, 0x3f, 0xfc, 0x77, 0x0, 0xe7, 0x0, 0xef, 0x9c, 0xff, 0xfc, 0x79, 0xf0} - -/* ccedilla (231) */ -#define NXFONT_METRICS_231 {2, 9, 15, 1, 12, 0} -#define NXFONT_BITMAP_231 {0x1e, 0x0, 0x7f, 0x80, 0x73, 0x80, 0xe0, 0x0, 0xe0, 0x0, 0xe0, 0x0, 0xe0, 0x0, 0x73, 0x80, 0x7f, 0x80, 0x1e, 0x0, 0x18, 0x0, 0x1c, 0x0, 0x6, 0x0, 0x3e, 0x0, 0x3c, 0x0} - -/* egrave (232) */ -#define NXFONT_METRICS_232 {2, 9, 14, 1, 8, 0} -#define NXFONT_BITMAP_232 {0x70, 0x0, 0x38, 0x0, 0xc, 0x0, 0x0, 0x0, 0x1e, 0x0, 0x7f, 0x0, 0x73, 0x80, 0xe1, 0x80, 0xff, 0x80, 0xff, 0x80, 0xe0, 0x0, 0x73, 0x80, 0x7f, 0x80, 0x1e, 0x0} - -/* eacute (233) */ -#define NXFONT_METRICS_233 {2, 9, 14, 1, 8, 0} -#define NXFONT_BITMAP_233 {0x3, 0x80, 0x7, 0x0, 0xc, 0x0, 0x0, 0x0, 0x1e, 0x0, 0x7f, 0x0, 0x73, 0x80, 0xe1, 0x80, 0xff, 0x80, 0xff, 0x80, 0xe0, 0x0, 0x73, 0x80, 0x7f, 0x80, 0x1e, 0x0} - -/* ecircumflex (234) */ -#define NXFONT_METRICS_234 {2, 9, 14, 1, 8, 0} -#define NXFONT_BITMAP_234 {0x1c, 0x0, 0x3e, 0x0, 0x77, 0x0, 0x0, 0x0, 0x1e, 0x0, 0x7f, 0x0, 0x73, 0x80, 0xe1, 0x80, 0xff, 0x80, 0xff, 0x80, 0xe0, 0x0, 0x73, 0x80, 0x7f, 0x80, 0x1e, 0x0} - -/* edieresis (235) */ -#define NXFONT_METRICS_235 {2, 9, 14, 1, 8, 0} -#define NXFONT_BITMAP_235 {0x33, 0x0, 0x33, 0x0, 0x33, 0x0, 0x0, 0x0, 0x1e, 0x0, 0x7f, 0x0, 0x73, 0x80, 0xe1, 0x80, 0xff, 0x80, 0xff, 0x80, 0xe0, 0x0, 0x73, 0x80, 0x7f, 0x80, 0x1e, 0x0} - -/* igrave (236) -- NOTE: Xoffset should be -1, not 0. */ -#define NXFONT_METRICS_236 {1, 5, 14, 0, 8, 0} -#define NXFONT_BITMAP_236 {0xe0, 0x70, 0x18, 0x0, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38} - -/* iacute (237) */ -#define NXFONT_METRICS_237 {1, 5, 14, 1, 8, 0} -#define NXFONT_BITMAP_237 {0x38, 0x70, 0xc0, 0x0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0} - -/* icircumflex (238) -- NOTE: Xoffset should be -1, not 0. */ -#define NXFONT_METRICS_238 {1, 7, 14, 0, 8, 0} -#define NXFONT_BITMAP_238 {0x38, 0x7c, 0xee, 0x0, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38} - -/* idieresis (239) */ -#define NXFONT_METRICS_239 {1, 5, 14, 0, 8, 0} -#define NXFONT_BITMAP_239 {0xd8, 0xd8, 0xd8, 0x0, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70} - -/* eth (240) */ -#define NXFONT_METRICS_240 {2, 10, 14, 1, 8, 0} -#define NXFONT_BITMAP_240 {0x60, 0x0, 0x37, 0x0, 0x3c, 0x0, 0x66, 0x0, 0x1f, 0x0, 0x7f, 0x80, 0x73, 0x80, 0xe1, 0xc0, 0xe1, 0xc0, 0xe1, 0xc0, 0xe1, 0xc0, 0x73, 0x80, 0x7f, 0x80, 0x1e, 0x0} - -/* ntilde (241) */ -#define NXFONT_METRICS_241 {2, 9, 14, 1, 8, 0} -#define NXFONT_BITMAP_241 {0x3b, 0x0, 0x7f, 0x0, 0x6e, 0x0, 0x0, 0x0, 0xef, 0x0, 0xff, 0x80, 0xf3, 0x80, 0xe3, 0x80, 0xe3, 0x80, 0xe3, 0x80, 0xe3, 0x80, 0xe3, 0x80, 0xe3, 0x80, 0xe3, 0x80} - -/* ograve (242) */ -#define NXFONT_METRICS_242 {2, 10, 14, 1, 8, 0} -#define NXFONT_BITMAP_242 {0x70, 0x0, 0x38, 0x0, 0xc, 0x0, 0x0, 0x0, 0x1e, 0x0, 0x7f, 0x80, 0x73, 0x80, 0xe1, 0xc0, 0xe1, 0xc0, 0xe1, 0xc0, 0xe1, 0xc0, 0x73, 0x80, 0x7f, 0x80, 0x1e, 0x0} - -/* oacute (243) */ -#define NXFONT_METRICS_243 {2, 10, 14, 1, 8, 0} -#define NXFONT_BITMAP_243 {0x3, 0x80, 0x7, 0x0, 0xc, 0x0, 0x0, 0x0, 0x1e, 0x0, 0x7f, 0x80, 0x73, 0x80, 0xe1, 0xc0, 0xe1, 0xc0, 0xe1, 0xc0, 0xe1, 0xc0, 0x73, 0x80, 0x7f, 0x80, 0x1e, 0x0} - -/* ocircumflex (244) */ -#define NXFONT_METRICS_244 {2, 10, 14, 1, 8, 0} -#define NXFONT_BITMAP_244 {0x1c, 0x0, 0x3e, 0x0, 0x77, 0x0, 0x0, 0x0, 0x1e, 0x0, 0x7f, 0x80, 0x73, 0x80, 0xe1, 0xc0, 0xe1, 0xc0, 0xe1, 0xc0, 0xe1, 0xc0, 0x73, 0x80, 0x7f, 0x80, 0x1e, 0x0} - -/* otilde (245) */ -#define NXFONT_METRICS_245 {2, 10, 14, 1, 8, 0} -#define NXFONT_BITMAP_245 {0x3b, 0x0, 0x7f, 0x0, 0x6e, 0x0, 0x0, 0x0, 0x1e, 0x0, 0x7f, 0x80, 0x73, 0x80, 0xe1, 0xc0, 0xe1, 0xc0, 0xe1, 0xc0, 0xe1, 0xc0, 0x73, 0x80, 0x7f, 0x80, 0x1e, 0x0} - -/* odieresis (246) */ -#define NXFONT_METRICS_246 {2, 10, 14, 1, 8, 0} -#define NXFONT_BITMAP_246 {0x33, 0x0, 0x33, 0x0, 0x33, 0x0, 0x0, 0x0, 0x1e, 0x0, 0x7f, 0x80, 0x73, 0x80, 0xe1, 0xc0, 0xe1, 0xc0, 0xe1, 0xc0, 0xe1, 0xc0, 0x73, 0x80, 0x7f, 0x80, 0x1e, 0x0} - -/* divide (247) */ -#define NXFONT_METRICS_247 {2, 9, 8, 1, 13, 0} -#define NXFONT_BITMAP_247 {0x1c, 0x0, 0x1c, 0x0, 0x0, 0x0, 0xff, 0x80, 0xff, 0x80, 0x0, 0x0, 0x1c, 0x0, 0x1c, 0x0} - -/* oslash (248) */ -#define NXFONT_METRICS_248 {2, 12, 10, 0, 12, 0} -#define NXFONT_BITMAP_248 {0xf, 0x30, 0x3f, 0xe0, 0x39, 0xc0, 0x73, 0xe0, 0x77, 0xe0, 0x7e, 0xe0, 0x7c, 0xe0, 0x39, 0xc0, 0x7f, 0xc0, 0xcf, 0x0} - -/* ugrave (249) */ -#define NXFONT_METRICS_249 {2, 9, 14, 1, 8, 0} -#define NXFONT_BITMAP_249 {0x70, 0x0, 0x38, 0x0, 0xc, 0x0, 0x0, 0x0, 0xe3, 0x80, 0xe3, 0x80, 0xe3, 0x80, 0xe3, 0x80, 0xe3, 0x80, 0xe3, 0x80, 0xe3, 0x80, 0xe7, 0x80, 0xff, 0x80, 0x7b, 0x80} - -/* uacute (250) */ -#define NXFONT_METRICS_250 {2, 9, 14, 1, 8, 0} -#define NXFONT_BITMAP_250 {0x3, 0x80, 0x7, 0x0, 0xc, 0x0, 0x0, 0x0, 0xe3, 0x80, 0xe3, 0x80, 0xe3, 0x80, 0xe3, 0x80, 0xe3, 0x80, 0xe3, 0x80, 0xe3, 0x80, 0xe7, 0x80, 0xff, 0x80, 0x7b, 0x80} - -/* ucircumflex (251) */ -#define NXFONT_METRICS_251 {2, 9, 14, 1, 8, 0} -#define NXFONT_BITMAP_251 {0x1c, 0x0, 0x3e, 0x0, 0x77, 0x0, 0x0, 0x0, 0xe3, 0x80, 0xe3, 0x80, 0xe3, 0x80, 0xe3, 0x80, 0xe3, 0x80, 0xe3, 0x80, 0xe3, 0x80, 0xe7, 0x80, 0xff, 0x80, 0x7b, 0x80} - -/* udieresis (252) */ -#define NXFONT_METRICS_252 {2, 9, 14, 1, 8, 0} -#define NXFONT_BITMAP_252 {0x33, 0x0, 0x33, 0x0, 0x33, 0x0, 0x0, 0x0, 0xe3, 0x80, 0xe3, 0x80, 0xe3, 0x80, 0xe3, 0x80, 0xe3, 0x80, 0xe3, 0x80, 0xe3, 0x80, 0xe7, 0x80, 0xff, 0x80, 0x7b, 0x80} - -/* yacute (253) */ -#define NXFONT_METRICS_253 {2, 9, 18, 1, 8, 0} -#define NXFONT_BITMAP_253 {0x7, 0x0, 0xe, 0x0, 0x18, 0x0, 0x0, 0x0, 0xe3, 0x80, 0xe3, 0x80, 0xe3, 0x80, 0x77, 0x0, 0x77, 0x0, 0x77, 0x0, 0x3e, 0x0, 0x3e, 0x0, 0x1c, 0x0, 0x1c, 0x0, 0x1c, 0x0, 0x18, 0x0, 0x78, 0x0, 0x70, 0x0} - -/* thorn (254) */ -#define NXFONT_METRICS_254 {2, 10, 18, 1, 8, 0} -#define NXFONT_BITMAP_254 {0xe0, 0x0, 0xe0, 0x0, 0xe0, 0x0, 0xe0, 0x0, 0xef, 0x0, 0xff, 0x80, 0xf3, 0x80, 0xe1, 0xc0, 0xe1, 0xc0, 0xe1, 0xc0, 0xe1, 0xc0, 0xf3, 0x80, 0xff, 0x80, 0xef, 0x0, 0xe0, 0x0, 0xe0, 0x0, 0xe0, 0x0, 0xe0, 0x0} - -/* ydieresis (255) */ -#define NXFONT_METRICS_255 {2, 9, 18, 1, 8, 0} -#define NXFONT_BITMAP_255 {0x33, 0x0, 0x33, 0x0, 0x33, 0x0, 0x0, 0x0, 0xe3, 0x80, 0xe3, 0x80, 0xe3, 0x80, 0x77, 0x0, 0x77, 0x0, 0x77, 0x0, 0x3e, 0x0, 0x3e, 0x0, 0x1c, 0x0, 0x1c, 0x0, 0x1c, 0x0, 0x18, 0x0, 0x78, 0x0, 0x70, 0x0} - -/**************************************************************************** - * Public Types - ****************************************************************************/ - -/**************************************************************************** - * Public Data - ****************************************************************************/ - -#undef EXTERN -#if defined(__cplusplus) -#define EXTERN extern "C" -extern "C" { -#else -#define EXTERN extern -#endif - -/**************************************************************************** - * Public Functions - ****************************************************************************/ - -#undef EXTERN -#if defined(__cplusplus) -} -#endif - -#endif /* __GRAPHICS_NXFONTS_NXFONTS_SANS22X29B_H */ diff --git a/nuttx/graphics/nxfonts/nxfonts_sans23x27.h b/nuttx/graphics/nxfonts/nxfonts_sans23x27.h deleted file mode 100644 index 5feb39d9c..000000000 --- a/nuttx/graphics/nxfonts/nxfonts_sans23x27.h +++ /dev/null @@ -1,859 +0,0 @@ -/**************************************************************************** - * graphics/nxfonts/nxfonts_sans23x27.h - * - * Copyright (C) 2008, 2011-2012 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <gnutt@nuttx.org> - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * 3. Neither the name NuttX nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT} - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING} - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - ****************************************************************************/ - -#ifndef __GRAPHICS_NXFONTS_NXFONTS_SANS23X27_H -#define __GRAPHICS_NXFONTS_NXFONTS_SANS23X27_H - -/**************************************************************************** - * Included Files - ****************************************************************************/ - -/**************************************************************************** - * Pre-Processor Definitions - ****************************************************************************/ - -/* Font ID */ - -#define NXFONT_ID FONTID_SANS23X27 - -/* Ranges of 7-bit and 8-bit fonts */ - -#define NXFONT_MIN7BIT 33 -#define NXFONT_MAX7BIT 126 - -#define NXFONT_MIN8BIT 161 -#define NXFONT_MAX8BIT 255 - -/* Maximum height and width of any glyph in the set */ - -#define NXFONT_MAXHEIGHT 23 -#define NXFONT_MAXWIDTH 27 - -/* The width of a space */ - -#define NXFONT_SPACEWIDTH 4 - -/* A sans serif font kind of like Lucida */ - -/* Space (32) */ - -/* Exclamation point (33) */ -#define NXFONT_METRICS_33 {1, 1, 9, 2, 5, 0} -#define NXFONT_BITMAP_33 {0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x00, 0x80, 0x80} - -/* Double quote (34) */ -#define NXFONT_METRICS_34 {1, 3, 3, 1, 4, 0} -#define NXFONT_BITMAP_34 {0xa0, 0xa0, 0xa0} - -/* Number sign (35) */ -#define NXFONT_METRICS_35 {1, 7, 9, 1, 5, 0} -#define NXFONT_BITMAP_35 {0x24, 0x24, 0x24, 0xfe, 0x28, 0xfe, 0x48, 0x48, 0x48} - -/* Dollar sign (36) */ -#define NXFONT_METRICS_36 {1, 6, 11, 1, 4, 0} -#define NXFONT_BITMAP_36 {0x10, 0x78, 0x94, 0x90, 0x50, 0x30, 0x28, 0x24, 0xa4, 0x78, 0x20} - -/* Percent sign (37) */ -#define NXFONT_METRICS_37 {1, 7, 9, 1, 5, 0} -#define NXFONT_BITMAP_37 {0x60, 0x92, 0x94, 0x68, 0x10, 0x2c, 0x52, 0x92, 0x0c} - -/* Ampersand (38) */ -#define NXFONT_METRICS_38 {1, 7, 9, 1, 5, 0} -#define NXFONT_BITMAP_38 {0x30, 0x48, 0x48, 0x30, 0x66, 0x94, 0x88, 0x88, 0x76} - -/* Single quote (39) */ -#define NXFONT_METRICS_39 {1, 1, 3, 1, 4, 0} -#define NXFONT_BITMAP_39 {0x80, 0x80, 0x80} - -/* Left parenthis (40) */ -#define NXFONT_METRICS_40 {1, 3, 10, 1, 5, 0} -#define NXFONT_BITMAP_40 {0x20, 0x40, 0x40, 0x80, 0x80, 0x80, 0x80, 0x40, 0x40, 0x20} - -/* Right parenthis (41) */ -#define NXFONT_METRICS_41 {1, 3, 11, 0, 5, 0} -#define NXFONT_BITMAP_41 {0x80, 0x40, 0x40, 0x20, 0x20, 0x20, 0x20, 0x20, 0x40, 0x40, 0x80} - -/* Asterisk (42) */ -#define NXFONT_METRICS_42 {1, 5, 5, 1, 5, 0} -#define NXFONT_BITMAP_42 {0x20, 0xa8, 0x50, 0xa8, 0x20} - -/* Plus (43) */ -#define NXFONT_METRICS_43 {1, 7, 7, 1, 7, 0} -#define NXFONT_BITMAP_43 {0x10, 0x10, 0x10, 0xfe, 0x10, 0x10, 0x10} - -/* Comma (44) */ -#define NXFONT_METRICS_44 {1, 2, 4, 1, 12, 0} -#define NXFONT_BITMAP_44 {0x40, 0x40, 0x80, 0x80} - -/* Hyphen (45) */ -#define NXFONT_METRICS_45 {1, 5, 1, 1, 10, 0} -#define NXFONT_BITMAP_45 {0xf8} - -/* Period (46) */ -#define NXFONT_METRICS_46 {1, 1, 2, 2, 12, 0} -#define NXFONT_BITMAP_46 {0x80, 0x80} - -/* Forward slash (47) */ -#define NXFONT_METRICS_47 {1, 4, 11, 1, 5, 0} -#define NXFONT_BITMAP_47 {0x10, 0x10, 0x10, 0x20, 0x20, 0x20, 0x40, 0x40, 0x40, 0x80, 0x80} - -/* '0' (48) */ -#define NXFONT_METRICS_48 {1, 6, 9, 1, 5, 0} -#define NXFONT_BITMAP_48 {0x30, 0x48, 0x84, 0x84, 0x84, 0x84, 0x84, 0x48, 0x30} - -/* '1' (49) */ -#define NXFONT_METRICS_49 {1, 5, 9, 2, 5, 0} -#define NXFONT_BITMAP_49 {0x20, 0xe0, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0xf8} - -/* '2' (50) */ -#define NXFONT_METRICS_50 {1, 6, 9, 1, 5, 0} -#define NXFONT_BITMAP_50 {0x78, 0x84, 0x04, 0x04, 0x08, 0x30, 0x40, 0x80, 0xfc} - -/* '3' (51) */ -#define NXFONT_METRICS_51 {1, 6, 9, 1, 5, 0} -#define NXFONT_BITMAP_51 {0x78, 0x84, 0x04, 0x04, 0x38, 0x04, 0x04, 0x84, 0x78} - -/* '4' (52) */ -#define NXFONT_METRICS_52 {1, 6, 9, 1, 5, 0} -#define NXFONT_BITMAP_52 {0x08, 0x18, 0x28, 0x48, 0x88, 0x88, 0xfc, 0x08, 0x08} - -/* '5' (53) */ -#define NXFONT_METRICS_53 {1, 6, 9, 1, 5, 0} -#define NXFONT_BITMAP_53 {0xfc, 0x80, 0x80, 0xf0, 0x08, 0x04, 0x04, 0x84, 0x78} - -/* '6' (54) */ -#define NXFONT_METRICS_54 {1, 6, 9, 1, 5, 0} -#define NXFONT_BITMAP_54 {0x3c, 0x40, 0x80, 0xb8, 0xc4, 0x84, 0x84, 0x44, 0x38} - -/* '7' (55) */ -#define NXFONT_METRICS_55 {1, 6, 9, 1, 5, 0} -#define NXFONT_BITMAP_55 {0xfc, 0x04, 0x08, 0x10, 0x10, 0x20, 0x20, 0x40, 0x40} - -/* '8' (56) */ -#define NXFONT_METRICS_56 {1, 6, 9, 1, 5, 0} -#define NXFONT_BITMAP_56 {0x78, 0x84, 0x84, 0x84, 0x78, 0x84, 0x84, 0x84, 0x78} - -/* '9' (57) */ -#define NXFONT_METRICS_57 {1, 6, 9, 1, 5, 0} -#define NXFONT_BITMAP_57 {0x70, 0x88, 0x84, 0x84, 0x8c, 0x74, 0x04, 0x08, 0xf0} - -/* Colon (58) */ -#define NXFONT_METRICS_58 {1, 1, 7, 2, 7, 0} -#define NXFONT_BITMAP_58 {0x80, 0x80, 0x00, 0x00, 0x00, 0x80, 0x80} - -/* Semicolon (59) */ -#define NXFONT_METRICS_59 {1, 2, 9, 1, 7, 0} -#define NXFONT_BITMAP_59 {0x40, 0x40, 0x00, 0x00, 0x00, 0x40, 0x40, 0x80, 0x80} - -/* Less than sign (60) */ -#define NXFONT_METRICS_60 {1, 6, 7, 2, 7, 0} -#define NXFONT_BITMAP_60 {0x04, 0x18, 0x20, 0xc0, 0x20, 0x18, 0x04} - -/* Equal to sign (61) */ -#define NXFONT_METRICS_61 {1, 7, 3, 1, 9, 0} -#define NXFONT_BITMAP_61 {0xfe, 0x00, 0xfe} - -/* Greater than sign (62) */ -#define NXFONT_METRICS_62 {1, 6, 7, 2, 7, 0} -#define NXFONT_BITMAP_62 {0x80, 0x60, 0x10, 0x0c, 0x10, 0x60, 0x80} - -/* Question mark (63) */ -#define NXFONT_METRICS_63 {1, 4, 9, 1, 5, 0} -#define NXFONT_BITMAP_63 {0xe0, 0x10, 0x10, 0x60, 0x40, 0x40, 0x00, 0x40, 0x40} - -/* at sign (64) */ -#define NXFONT_METRICS_64 { 2, 9, 9, 1, 5, 0} -#define NXFONT_BITMAP_64 {0x1e, 0x00, 0x21, 0x00, 0x4c, 0x80, 0x92, 0x80, 0xa4, 0x80, 0xad, 0x00,\ - 0x96, 0x00, 0x40, 0x00, 0x3c, 0x00} - -/* 'A' (65) */ -#define NXFONT_METRICS_65 {1, 6, 9, 1, 5, 0} -#define NXFONT_BITMAP_65 {0x30, 0x30, 0x48, 0x48, 0x48, 0xfc, 0x84, 0x84, 0x84} - -/* 'B' (66) */ -#define NXFONT_METRICS_66 {1, 5, 9, 1, 5, 0} -#define NXFONT_BITMAP_66 {0xf0, 0x88, 0x88, 0x88, 0xf0, 0x88, 0x88, 0x88, 0xf0} - -/* 'C' (67) */ -#define NXFONT_METRICS_67 {1, 6, 9, 1, 5, 0} -#define NXFONT_BITMAP_67 {0x3c, 0x40, 0x80, 0x80, 0x80, 0x80, 0x80, 0x40, 0x3c} - -/* 'D' (68) */ -#define NXFONT_METRICS_68 {1, 7, 9, 1, 5, 0} -#define NXFONT_BITMAP_68 {0xf8, 0x84, 0x82, 0x82, 0x82, 0x82, 0x82, 0x84, 0xf8} - -/* 'E' (69) */ -#define NXFONT_METRICS_69 {1, 5, 9, 1, 5, 0} -#define NXFONT_BITMAP_69 {0xf8, 0x80, 0x80, 0x80, 0xf0, 0x80, 0x80, 0x80, 0xf8} - -/* 'F' (70) */ -#define NXFONT_METRICS_70 {1, 4, 9, 1, 5, 0} -#define NXFONT_BITMAP_70 {0xf0, 0x80, 0x80, 0x80, 0xf0, 0x80, 0x80, 0x80, 0x80} - -/* 'G' (71) */ -#define NXFONT_METRICS_71 {1, 7, 9, 1, 5, 0} -#define NXFONT_BITMAP_71 {0x3e, 0x40, 0x80, 0x80, 0x82, 0x82, 0x82, 0x42, 0x3e} - -/* 'H' (72) */ -#define NXFONT_METRICS_72 {1, 7, 9, 1, 5, 0} -#define NXFONT_BITMAP_72 {0x82, 0x82, 0x82, 0x82, 0xfe, 0x82, 0x82, 0x82, 0x82} - -/* 'I' (73) */ -#define NXFONT_METRICS_73 {1, 1, 9, 1, 5, 0} -#define NXFONT_BITMAP_73 {0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80} - -/* 'J' (74) */ -#define NXFONT_METRICS_74 {1, 3, 11, 0, 5, 0} -#define NXFONT_BITMAP_74 {0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0xc0} - -/* 'K' (75) */ -#define NXFONT_METRICS_75 {1, 6, 9, 1, 5, 0} -#define NXFONT_BITMAP_75 {0x84, 0x88, 0x90, 0xa0, 0xe0, 0x90, 0x88, 0x84, 0x84} - -/* 'L' (76) */ -#define NXFONT_METRICS_76 {1, 5, 9, 1, 5, 0} -#define NXFONT_BITMAP_76 {0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0xf8} - -/* 'M' (77) */ -#define NXFONT_METRICS_77 {1, 8, 9, 1, 5, 0} -#define NXFONT_BITMAP_77 {0x81, 0xc3, 0xc3, 0xa5, 0xa5, 0x99, 0x99, 0x81, 0x81} - -/* 'N' (78) */ -#define NXFONT_METRICS_78 {1, 7, 9, 1, 5, 0} -#define NXFONT_BITMAP_78 {0x82, 0xc2, 0xc2, 0xa2, 0x92, 0x8a, 0x86, 0x86, 0x82} - -/* 'O' (79) */ -#define NXFONT_METRICS_79 {1, 7, 9, 1, 5, 0} -#define NXFONT_BITMAP_79 {0x38, 0x44, 0x82, 0x82, 0x82, 0x82, 0x82, 0x44, 0x38} - -/* 'P' (80) */ -#define NXFONT_METRICS_80 {1, 5, 9, 1, 5, 0} -#define NXFONT_BITMAP_80 {0xf0, 0x88, 0x88, 0x88, 0x88, 0xf0, 0x80, 0x80, 0x80} - -/* 'Q' (81) */ -#define NXFONT_METRICS_81 {1, 8, 11, 1, 5, 0} -#define NXFONT_BITMAP_81 {0x38, 0x44, 0x82, 0x82, 0x82, 0x82, 0x82, 0x44, 0x38, 0x04, 0x03} - -/* 'R' (82) */ -#define NXFONT_METRICS_82 {1, 6, 9, 1, 5, 0} -#define NXFONT_BITMAP_82 {0xf0, 0x88, 0x88, 0x88, 0xf0, 0x90, 0x88, 0x84, 0x84} - -/* 'S' (83) */ -#define NXFONT_METRICS_83 {1, 5, 9, 1, 5, 0} -#define NXFONT_BITMAP_83 {0x78, 0x80, 0x80, 0x40, 0x20, 0x10, 0x08, 0x08, 0xf0} - -/* 'T' (84) */ -#define NXFONT_METRICS_84 {1, 7, 9, 1, 5, 0} -#define NXFONT_BITMAP_84 {0xfe, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10} - -/* 'U' (85) */ -#define NXFONT_METRICS_85 {1, 6, 9, 1, 5, 0} -#define NXFONT_BITMAP_85 {0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x48, 0x30} - -/* 'V' (86) */ -#define NXFONT_METRICS_86 {1, 7, 9, 1, 5, 0} -#define NXFONT_BITMAP_86 {0x82, 0x82, 0x44, 0x44, 0x44, 0x28, 0x28, 0x10, 0x10} - -/* 'W' (87) */ -#define NXFONT_METRICS_87 {2, 9, 9, 1, 5, 0} -#define NXFONT_BITMAP_87 {0x80, 0x80, 0x88, 0x80, 0x88, 0x80, 0x55, 0x00, 0x55, 0x00, 0x55, 0x00,\ - 0x22, 0x00, 0x22, 0x00, 0x22, 0x00} - -/* 'X' (88) */ -#define NXFONT_METRICS_88 {1, 6, 9, 1, 5, 0} -#define NXFONT_BITMAP_88 {0x84, 0x84, 0x48, 0x28, 0x30, 0x50, 0x48, 0x84, 0x84} - -/* 'Y' (89) */ -#define NXFONT_METRICS_89 {1, 7, 9, 0, 5, 0} -#define NXFONT_BITMAP_89 {0x82, 0x82, 0x44, 0x44, 0x28, 0x10, 0x10, 0x10, 0x10} - -/* 'Z' (90) */ -#define NXFONT_METRICS_90 {1, 5, 9, 1, 5, 0} -#define NXFONT_BITMAP_90 {0xf8, 0x08, 0x10, 0x10, 0x20, 0x40, 0x40, 0x80, 0xf8} - -/* Left bracket (91) */ -#define NXFONT_METRICS_91 {1, 2, 11, 1, 5, 0} -#define NXFONT_BITMAP_91 {0xc0, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0xc0} - -/* Back slash (92) */ -#define NXFONT_METRICS_92 {1, 4, 11, 1, 5, 0} -#define NXFONT_BITMAP_92 {0x80, 0x80, 0x80, 0x40, 0x40, 0x40, 0x20, 0x20, 0x20, 0x10, 0x10} - -/* Right bracket (93) */ -#define NXFONT_METRICS_93 {1, 2, 11, 1, 5, 0} -#define NXFONT_BITMAP_93 {0xc0, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0xc0} - -/* ascii circumflex (94) */ -#define NXFONT_METRICS_94 {1, 6, 6, 1, 5, 0} -#define NXFONT_BITMAP_94 {0x30, 0x30, 0x48, 0x48, 0x84, 0x84} - -/* Underscore (95) */ -#define NXFONT_METRICS_95 {1, 6, 1, 0, 14, 0} -#define NXFONT_BITMAP_95 {0xfc} - -/* Grave (96) */ -#define NXFONT_METRICS_96 {1, 3, 2, 2, 4, 0} -#define NXFONT_BITMAP_96 {0xc0, 0x20} - -/* 'a' (97) */ -#define NXFONT_METRICS_97 {1, 6, 7, 1, 7, 0} -#define NXFONT_BITMAP_97 {0x70, 0x88, 0x08, 0x78, 0x88, 0x88, 0x74} - -/* 'b' (98) */ -#define NXFONT_METRICS_98 {1, 6, 10, 1, 4, 0} -#define NXFONT_BITMAP_98 {0x80, 0x80, 0x80, 0xb8, 0xc4, 0x84, 0x84, 0x84, 0xc4, 0xb8} - -/* 'c' (99) */ -#define NXFONT_METRICS_99 {1, 4, 7, 1, 7, 0} -#define NXFONT_BITMAP_99 {0x70, 0x80, 0x80, 0x80, 0x80, 0x80, 0x70} - -/* 'd' (100) */ -#define NXFONT_METRICS_100 {1, 6, 10, 1, 4, 0} -#define NXFONT_BITMAP_100 {0x04, 0x04, 0x04, 0x74, 0x8c, 0x84, 0x84, 0x84, 0x8c, 0x74} - -/* 'e' (101) */ -#define NXFONT_METRICS_101 {1, 5, 7, 1, 7, 0} -#define NXFONT_BITMAP_101 {0x70, 0x88, 0x88, 0xf8, 0x80, 0x80, 0x78} - -/* 'f' (102) */ -#define NXFONT_METRICS_102 {1, 4, 10, 0, 4, 0} -#define NXFONT_BITMAP_102 {0x30, 0x40, 0x40, 0x40, 0xf0, 0x40, 0x40, 0x40, 0x40, 0x40} - -/* 'g' (103) */ -#define NXFONT_METRICS_103 {1, 5, 9, 1, 7, 0} -#define NXFONT_BITMAP_103 {0x68, 0x98, 0x88, 0x88, 0x98, 0x68, 0x08, 0x08, 0xf0} - -/* 'h' (104) */ -#define NXFONT_METRICS_104 {1, 5, 9, 1, 5, 0} -#define NXFONT_BITMAP_104 {0x80, 0x80, 0xb0, 0xc8, 0x88, 0x88, 0x88, 0x88, 0x88} - -/* 'i' (105) */ -#define NXFONT_METRICS_105 {1, 1, 9, 1, 5, 0} -#define NXFONT_BITMAP_105 {0x80, 0x00, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80} - -/* 'j' (106) */ -#define NXFONT_METRICS_106 {1, 3, 11, 0, 5, 0} -#define NXFONT_BITMAP_106 {0x20, 0x00, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0xc0} - -/* 'k' (107) */ -#define NXFONT_METRICS_107 {1, 6, 10, 1, 4, 0} -#define NXFONT_BITMAP_107 {0x80, 0x80, 0x80, 0x88, 0x90, 0xa0, 0xe0, 0x90, 0x88, 0x84} - -/* 'l' (108) */ -#define NXFONT_METRICS_108 {1, 1, 10, 1, 4, 0} -#define NXFONT_BITMAP_108 {0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80} - -/* 'm' (109) */ -#define NXFONT_METRICS_109 {2, 9, 7, 1, 7, 0} -#define NXFONT_BITMAP_109 {0xb3, 0x00, 0xcc, 0x80, 0x88, 0x80, 0x88, 0x80, 0x88, 0x80, 0x88, 0x80,\ - 0x88, 0x80} -/* 'n' (110) */ -#define NXFONT_METRICS_110 {1, 5, 7, 1, 7, 0} -#define NXFONT_BITMAP_110 {0xb0, 0xc8, 0x88, 0x88, 0x88, 0x88, 0x88} - -/* 'o' (111) */ -#define NXFONT_METRICS_111 {1, 6, 7, 1, 7, 0} -#define NXFONT_BITMAP_111 {0x30, 0x48, 0x84, 0x84, 0x84, 0x48, 0x30} - -/* 'p' (112) */ -#define NXFONT_METRICS_112 {1, 6, 9, 1, 7, 0} -#define NXFONT_BITMAP_112 {0xb8, 0xc4, 0x84, 0x84, 0x84, 0xc4, 0xb8, 0x80, 0x80} - -/* 'q' (113) */ -#define NXFONT_METRICS_113 {1, 6, 9, 1, 7, 0} -#define NXFONT_BITMAP_113 {0x74, 0x8c, 0x84, 0x84, 0x84, 0x9c, 0x74, 0x04, 0x04} - -/* 'r' (114) */ -#define NXFONT_METRICS_114 {1, 4, 7, 1, 7, 0} -#define NXFONT_BITMAP_114 {0xb0, 0xc0, 0x80, 0x80, 0x80, 0x80, 0x80} - -/* 's' (115) */ -#define NXFONT_METRICS_115 {1, 4, 7, 1, 7, 0} -#define NXFONT_BITMAP_115 {0x70, 0x80, 0x80, 0x60, 0x10, 0x10, 0xe0} - -/* 't' (116) */ -#define NXFONT_METRICS_116 {1, 4, 9, 0, 5, 0} -#define NXFONT_BITMAP_116 {0x40, 0x40, 0xf0, 0x40, 0x40, 0x40, 0x40, 0x40, 0x30} - -/* 'u' (117) */ -#define NXFONT_METRICS_117 {1, 5, 7, 1, 7, 0} -#define NXFONT_BITMAP_117 {0x88, 0x88, 0x88, 0x88, 0x88, 0x98, 0x68} - -/* 'v' (118) */ -#define NXFONT_METRICS_118 {1, 5, 7, 1, 7, 0} -#define NXFONT_BITMAP_118 {0x88, 0x88, 0x88, 0x50, 0x50, 0x20, 0x20} - -/* 'w' (119) */ -#define NXFONT_METRICS_119 {2, 9, 7, 0, 7, 0} -#define NXFONT_BITMAP_119 {0x80, 0x80, 0x88, 0x80, 0x49, 0x00, 0x55, 0x00, 0x55, 0x00, 0x22, 0x00,\ - 0x22, 0x00} - -/* 'x' (120) */ -#define NXFONT_METRICS_120 {1, 5, 7, 1, 7, 0} -#define NXFONT_BITMAP_120 {0x88, 0x88, 0x50, 0x20, 0x50, 0x88, 0x88} - -/* 'y' (121) */ -#define NXFONT_METRICS_121 {1, 5, 9, 1, 7, 0} -#define NXFONT_BITMAP_121 {0x88, 0x88, 0x88, 0x50, 0x50, 0x20, 0x20, 0x40, 0xc0} - -/* 'z' (122) */ -#define NXFONT_METRICS_122 {1, 5, 7, 1, 7, 0} -#define NXFONT_BITMAP_122 {0xf8, 0x08, 0x10, 0x20, 0x40, 0x80, 0xf8} - -/* Left brace (123) */ -#define NXFONT_METRICS_123 {1, 4, 11, 0, 5, 0} -#define NXFONT_BITMAP_123 {0x30, 0x40, 0x40, 0x40, 0x20, 0xc0, 0x20, 0x40, 0x40, 0x40, 0x30} - -/* Vertical bar (124) */ -#define NXFONT_METRICS_124 {1, 1, 11, 2, 5, 0} -#define NXFONT_BITMAP_124 {0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80} - -/* Right brace (125) */ -#define NXFONT_METRICS_125 {1, 4, 11, 0, 5, 0} -#define NXFONT_BITMAP_125 {0xc0, 0x20, 0x20, 0x20, 0x40, 0x30, 0x40, 0x20, 0x20, 0x20, 0xc0} - -/* Tilde (126) */ -#define NXFONT_METRICS_126 {1, 6, 3, 1, 9, 0} -#define NXFONT_BITMAP_126 {0x44, 0xb4, 0x88} - -/* Space (160) */ - -/* Down exclamation point (161) */ -#define NXFONT_METRICS_161 {1, 1, 9, 1, 7, 0} -#define NXFONT_BITMAP_161 {0x80, 0x80, 0x00, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80} - -/* Cent (162) */ -#define NXFONT_METRICS_162 {1, 6, 9, 1, 5, 0} -#define NXFONT_BITMAP_162 {0x10, 0x3c, 0x50, 0x90, 0x90, 0x90, 0x50, 0x3c, 0x10} - -/* Sterling (163) */ -#define NXFONT_METRICS_163 {1, 6, 9, 1, 5, 0} -#define NXFONT_BITMAP_163 {0x1c, 0x20, 0x20, 0x20, 0x78, 0x20, 0x20, 0x40, 0xfc} - -/* Currency (164) */ -#define NXFONT_METRICS_164 {1, 5, 7, 1, 6, 0} -#define NXFONT_BITMAP_164 {0x88, 0x70, 0x88, 0x88, 0x88, 0x70, 0x88} - -/* Yen (165) */ -#define NXFONT_METRICS_165 {1, 7, 9, 0, 5, 0} -#define NXFONT_BITMAP_165 {0x82, 0x44, 0x28, 0x10, 0x7c, 0x10, 0x7c, 0x10, 0x10} - -/* Broken bar (166) */ -#define NXFONT_METRICS_166 {1, 1, 11, 2, 5, 0} -#define NXFONT_BITMAP_166 {0x80, 0x80, 0x80, 0x80, 0x00, 0x00, 0x80, 0x80, 0x80, 0x80, 0x80} - -/* Section (167) */ -#define NXFONT_METRICS_167 {1, 5, 11, 1, 5, 0} -#define NXFONT_BITMAP_167 {0x78, 0x80, 0x80, 0x60, 0x98, 0x88, 0xc8, 0x30, 0x08, 0x08, 0xf0} - -/* Dieresis (168) */ -#define NXFONT_METRICS_168 {1, 3, 2, 2, 4, 0} -#define NXFONT_BITMAP_168 {0xa0, 0xa0} - -/* Copyright (169) */ -#define NXFONT_METRICS_169 {2, 9, 9, 1, 5, 0} -#define NXFONT_BITMAP_169 {0x3e, 0x00, 0x41, 0x00, 0x9c, 0x80, 0xa0, 0x80, 0xa0, 0x80, 0xa0, 0x80,\ - 0x9c, 0x80, 0x41, 0x00, 0x3e, 0x00} -/* Ord feminine (170) */ -#define NXFONT_METRICS_170 {1, 3, 5, 1, 4, 0} -#define NXFONT_BITMAP_170 {0xc0, 0x20, 0xe0, 0xa0, 0xe0} - -/* Left guillemot (171) */ -#define NXFONT_METRICS_171 {1, 4, 6, 1, 8, 0} -#define NXFONT_BITMAP_171 {0x50, 0x50, 0xa0, 0xa0, 0x50, 0x50} - -/* Logical not (172) */ -#define NXFONT_METRICS_172 {1, 7, 3, 1, 9, 0} -#define NXFONT_BITMAP_172 {0xfe, 0x02, 0x02} - -/* Hyphen (173) */ -#define NXFONT_METRICS_173 {1, 5, 1, 1, 10, 0} -#define NXFONT_BITMAP_173 {0xf8} - -/* Registered (174) */ -#define NXFONT_METRICS_174 {1, 6, 6, 1, 5, 0} -#define NXFONT_BITMAP_174 {0x78, 0xb4, 0xb4, 0xac, 0xac, 0x78} - -/* Macron (175) */ -#define NXFONT_METRICS_175 {1, 6, 1, 0, 4, 0} -#define NXFONT_BITMAP_175 {0xfc} - -/* Degree (176) */ -#define NXFONT_METRICS_176 {1, 3, 3, 0, 5, 0} -#define NXFONT_BITMAP_176 {0x40, 0xa0, 0x40} - -/* plus/minus (177) */ -#define NXFONT_METRICS_177 {1, 7, 7, 1, 7, 0} -#define NXFONT_BITMAP_177 {0x10, 0x10, 0xfe, 0x10, 0x10, 0x00, 0xfe} - -/* '2' superior (178) */ -#define NXFONT_METRICS_178 {1, 3, 5, 1, 5, 0} -#define NXFONT_BITMAP_178 {0xc0, 0x20, 0x60, 0x80, 0xe0} - -/* '3' superior (179) */ -#define NXFONT_METRICS_179 {1, 3, 5, 1, 5, 0} -#define NXFONT_BITMAP_179 {0xc0, 0x20, 0xc0, 0x20, 0xc0} - -/* Acute (180) */ -#define NXFONT_METRICS_180 {1, 3, 2, 2, 4, 0} -#define NXFONT_BITMAP_180 {0x60, 0x80} - -/* Mu (181) */ -#define NXFONT_METRICS_181 {1, 5, 9, 1, 7, 0} -#define NXFONT_BITMAP_181 {0x88, 0x88, 0x88, 0x88, 0x88, 0xd8, 0xa8, 0x80, 0x80} - -/* Paragraph (182) */ -#define NXFONT_METRICS_182 {1, 5, 11, 1, 5, 0} -#define NXFONT_BITMAP_182 {0x78, 0xe8, 0xe8, 0xe8, 0x68, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28} - -/* Centered period (183) */ -#define NXFONT_METRICS_183 {1, 1, 2, 2, 9, 0} -#define NXFONT_BITMAP_183 {0x80, 0x80} - -/* Cedilla (184) */ -#define NXFONT_METRICS_184 {1, 3, 2, 2, 14, 0} -#define NXFONT_BITMAP_184 {0x20, 0xc0} - -/* '1' superior (185) */ -#define NXFONT_METRICS_185 {1, 2, 5, 1, 5, 0} -#define NXFONT_BITMAP_185 {0x40, 0xc0, 0x40, 0x40, 0x40} - -/* Ord masculine (186) */ -#define NXFONT_METRICS_186 {1, 4, 5, 1, 5, 0} -#define NXFONT_BITMAP_186 {0x60, 0x90, 0x90, 0x90, 0x60} - -/* Right guillemot (187) */ -#define NXFONT_METRICS_187 {1, 4, 6, 1, 8, 0} -#define NXFONT_BITMAP_187 {0xa0, 0xa0, 0x50, 0x50, 0xa0, 0xa0} - -/* One quarter (188) */ -#define NXFONT_METRICS_188 {1, 8, 10, 1, 5, 0} -#define NXFONT_BITMAP_188 {0x42, 0xc4, 0x44, 0x48, 0x52, 0x16, 0x2a, 0x4f, 0x42, 0x80} - -/* One half (189) */ -#define NXFONT_METRICS_189 {1, 8, 10, 1, 5, 0} -#define NXFONT_BITMAP_189 {0x42, 0xc4, 0x44, 0x48, 0x56, 0x11, 0x22, 0x44, 0x47, 0x80} - -/* Three quarters (190) */ -#define NXFONT_METRICS_190 {1, 8, 10, 1, 5, 0} -#define NXFONT_BITMAP_190 {0xc2, 0x24, 0xc4, 0x28, 0xd2, 0x16, 0x2a, 0x4f, 0x42, 0x80} - -/* Upside down question mark (191) */ -#define NXFONT_METRICS_191 {1, 5, 9, 0, 7, 0} -#define NXFONT_BITMAP_191 {0x20, 0x20, 0x00, 0x20, 0x20, 0x60, 0x80, 0x80, 0x78} - -/* Agrave (192) */ -#define NXFONT_METRICS_192 {1, 6, 12, 1, 2, 0} -#define NXFONT_BITMAP_192 {0x60, 0x10, 0x00, 0x30, 0x30, 0x48, 0x48, 0x48, 0xfc, 0x84, 0x84, 0x84} - -/* 'A' acute (193) */ -#define NXFONT_METRICS_193 {1, 6, 12, 1, 2, 0} -#define NXFONT_BITMAP_193 {0x18, 0x20, 0x00, 0x30, 0x30, 0x48, 0x48, 0x48, 0xfc, 0x84, 0x84, 0x84} - -/* 'A' circumflex (194) */ -#define NXFONT_METRICS_194 {1, 6, 12, 1, 2, 0} -#define NXFONT_BITMAP_194 {0x10, 0x20, 0x00, 0x30, 0x30, 0x48, 0x48, 0x48, 0xfc, 0x84, 0x84, 0x84} - -/* 'A' tilde (195) */ -#define NXFONT_METRICS_195 {1, 6, 12, 1, 2, 0} -#define NXFONT_BITMAP_195 {0x34, 0x48, 0x00, 0x30, 0x30, 0x48, 0x48, 0x48, 0xfc, 0x84, 0x84, 0x84} - -/* 'A' dieresis (196) */ -#define NXFONT_METRICS_196 {1, 6, 12, 1, 2, 0} -#define NXFONT_BITMAP_196 {0x48, 0x48, 0x00, 0x30, 0x30, 0x48, 0x48, 0x48, 0xfc, 0x84, 0x84, 0x84} - -/* 'A'ring (197) */ -#define NXFONT_METRICS_197 {1, 6, 12, 1, 2, 0} -#define NXFONT_BITMAP_197 {0x30, 0x48, 0x48, 0x30, 0x30, 0x48, 0x48, 0x48, 0xfc, 0x84, 0x84, 0x84} - -/* 'AE' (198) */ -#define NXFONT_METRICS_198 {2, 9, 9, 1, 5, 0} -#define NXFONT_BITMAP_198 {0x0f, 0x80, 0x14, 0x00, 0x14, 0x00, 0x24, 0x00, 0x27, 0x80, 0x7c, 0x00,\ - 0x44, 0x00, 0x84, 0x00, 0x87, 0x80} - -/* 'C' cedilla (199) */ -#define NXFONT_METRICS_199 {1, 6, 11, 1, 5, 0} -#define NXFONT_BITMAP_199 {0x3c, 0x40, 0x80, 0x80, 0x80, 0x80, 0x80, 0x40, 0x3c, 0x08, 0x30} - -/* 'E' grave (200) */ -#define NXFONT_METRICS_200 {1, 5, 12, 1, 2, 0} -#define NXFONT_BITMAP_200 {0xc0, 0x20, 0x00, 0xf8, 0x80, 0x80, 0x80, 0xf0, 0x80, 0x80, 0x80, 0xf8} - -/* 'E' acute (201) */ -#define NXFONT_METRICS_201 {1, 5, 12, 1, 2, 0} -#define NXFONT_BITMAP_201 {0x18, 0x20, 0x00, 0xf8, 0x80, 0x80, 0x80, 0xf0, 0x80, 0x80, 0x80, 0xf8} - -/* 'E' circumflex (202) */ -#define NXFONT_METRICS_202 {1, 5, 12, 1, 2, 0} -#define NXFONT_BITMAP_202 {0x20, 0x50, 0x00, 0xf8, 0x80, 0x80, 0x80, 0xf0, 0x80, 0x80, 0x80, 0xf8} - -/* 'E' dieresis (203) */ -#define NXFONT_METRICS_203 {1, 5, 12, 1, 2, 0} -#define NXFONT_BITMAP_203 {0x50, 0x50, 0x00, 0xf8, 0x80, 0x80, 0x80, 0xf0, 0x80, 0x80, 0x80, 0xf8} - -/* 'I' grave (204) */ -#define NXFONT_METRICS_204 {1, 3, 12, 0, 2, 0} -#define NXFONT_BITMAP_204 {0xc0, 0x20, 0x00, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40} - -/* 'I' acute (205) */ -#define NXFONT_METRICS_205 {1, 3, 12, 0, 2, 0} -#define NXFONT_BITMAP_205 {0x60, 0x80, 0x00, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40} - -/* 'I' circumflex (206) */ -#define NXFONT_METRICS_206 {1, 3, 12, 0, 2, 0} -#define NXFONT_BITMAP_206 {0x40, 0xa0, 0x00, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40} - -/* 'I' dieresis (207) */ -#define NXFONT_METRICS_207 {1, 3, 12, 0, 2, 0} -#define NXFONT_BITMAP_207 {0xa0, 0xa0, 0x00, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40} - -/* 'E' th (208) */ -#define NXFONT_METRICS_208 {1, 8, 9, 0, 5, 0} -#define NXFONT_BITMAP_208 {0x7c, 0x42, 0x41, 0x41, 0xf1, 0x41, 0x41, 0x42, 0x7c} - -/* 'N' tilde (209) */ -#define NXFONT_METRICS_209 {1, 7, 12, 1, 2, 0} -#define NXFONT_BITMAP_209 {0x34, 0x48, 0x00, 0x82, 0xc2, 0xe2, 0xa2, 0x92, 0x8a, 0x86, 0x86, 0x82} - -/* 'O' grave (210) */ -#define NXFONT_METRICS_210 {1, 7, 12, 1, 2, 0} -#define NXFONT_BITMAP_210 {0x30, 0x08, 0x00, 0x38, 0x44, 0x82, 0x82, 0x82, 0x82, 0x82, 0x44, 0x38} - -/* 'O' acute (211) */ -#define NXFONT_METRICS_211 {1, 7, 12, 1, 2, 0} -#define NXFONT_BITMAP_211 {0x18, 0x20, 0x00, 0x38, 0x44, 0x82, 0x82, 0x82, 0x82, 0x82, 0x44, 0x38} - -/* 'O' circumflex (212) */ -#define NXFONT_METRICS_212 {1, 7, 12, 1, 2, 0} -#define NXFONT_BITMAP_212 {0x10, 0x28, 0x00, 0x38, 0x44, 0x82, 0x82, 0x82, 0x82, 0x82, 0x44, 0x38} - -/* 'O' tilde (213) */ -#define NXFONT_METRICS_213 {1, 7, 12, 1, 2, 0} -#define NXFONT_BITMAP_213 {0x34, 0x48, 0x00, 0x38, 0x44, 0x82, 0x82, 0x82, 0x82, 0x82, 0x44, 0x38} - -/* 'O' dieresis (214) */ -#define NXFONT_METRICS_214 {1, 7, 12, 1, 2, 0} -#define NXFONT_BITMAP_214 {0x44, 0x44, 0x00, 0x38, 0x44, 0x82, 0x82, 0x82, 0x82, 0x82, 0x44, 0x38} - -/* Multiply sign (215) */ -#define NXFONT_METRICS_215 {1, 7, 7, 1, 7, 0} -#define NXFONT_BITMAP_215 {0x82, 0x44, 0x28, 0x10, 0x28, 0x44, 0x82} - -/* 'O' slash (216) */ -#define NXFONT_METRICS_216 {1, 7, 9, 1, 5, 0} -#define NXFONT_BITMAP_216 {0x3a, 0x44, 0x8a, 0x8a, 0x92, 0xa2, 0xa2, 0x44, 0xb8} - -/*'U' grave (217) */ -#define NXFONT_METRICS_217 {1, 6, 12, 1, 2, 0} -#define NXFONT_BITMAP_217 {0x60, 0x10, 0x00, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x48, 0x30} - -/* 'U' acute (218) */ -#define NXFONT_METRICS_218 {1, 6, 12, 1, 2, 0} -#define NXFONT_BITMAP_218 {0x18, 0x20, 0x00, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x48, 0x30} - -/* 'U' circumflex (219) */ -#define NXFONT_METRICS_219 {1, 6, 12, 1, 2, 0} -#define NXFONT_BITMAP_219 {0x10, 0x28, 0x00, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x48, 0x30} - -/* 'U' dieresis (220) */ -#define NXFONT_METRICS_220 {1, 6, 12, 1, 2, 0} -#define NXFONT_BITMAP_220 {0x48, 0x48, 0x00, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x48, 0x30} - -/* 'Y' acute (221) */ -#define NXFONT_METRICS_221 {1, 7, 12, 0, 2, 0} -#define NXFONT_BITMAP_221 {0x18, 0x20, 0x00, 0x82, 0x82, 0x44, 0x44, 0x28, 0x10, 0x10, 0x10, 0x10} - -/* 'T' horn (222) */ -#define NXFONT_METRICS_222 {1, 5, 9, 1, 5, 0} -#define NXFONT_BITMAP_222 {0x80, 0x80, 0xf0, 0x88, 0x88, 0x88, 0xf0, 0x80, 0x80} - -/* germandbls (223) */ -#define NXFONT_METRICS_223 {1, 5, 10, 1, 4, 0} -#define NXFONT_BITMAP_223 {0x60, 0x90, 0x90, 0xa0, 0xa0, 0x90, 0x88, 0x88, 0x88, 0xb0} - -/* 'a' grave (224) */ -#define NXFONT_METRICS_224 {1, 6, 10, 1, 4, 0} -#define NXFONT_BITMAP_224 {0x60, 0x10, 0x00, 0x70, 0x88, 0x08, 0x78, 0x88, 0x88, 0x74} - -/* 'a' acute (225) */ -#define NXFONT_METRICS_225 {1, 6, 10, 1, 4, 0} -#define NXFONT_BITMAP_225 {0x18, 0x20, 0x00, 0x70, 0x88, 0x08, 0x78, 0x88, 0x88, 0x74} - -/* 'a' circumflex (226) */ -#define NXFONT_METRICS_226 {1, 6, 10, 1, 4, 0} -#define NXFONT_BITMAP_226 {0x20, 0x50, 0x00, 0x70, 0x88, 0x08, 0x78, 0x88, 0x88, 0x74} - -/* 'a' tilde (227) */ -#define NXFONT_METRICS_227 {1, 6, 10, 1, 4, 0} -#define NXFONT_BITMAP_227 {0x68, 0x90, 0x00, 0x70, 0x88, 0x08, 0x78, 0x88, 0x88, 0x74} - -/* 'a' dieresis (228) */ -#define NXFONT_METRICS_228 {1, 6, 10, 1, 4, 0} -#define NXFONT_BITMAP_228 {0x50, 0x50, 0x00, 0x70, 0x88, 0x08, 0x78, 0x88, 0x88, 0x74} - -/* a' ring (229) */ -#define NXFONT_METRICS_229 {1, 6, 11, 1, 3, 0} -#define NXFONT_BITMAP_229 {0x20, 0x50, 0x20, 0x00, 0x70, 0x88, 0x08, 0x78, 0x88, 0x88, 0x74} - -/* 'ae' (230) */ -#define NXFONT_METRICS_230 {1, 8, 7, 1, 7, 0} -#define NXFONT_BITMAP_230 {0x76, 0x89, 0x09, 0x7f, 0x88, 0x88, 0x77} - -/* 'c' cedilla (231) */ -#define NXFONT_METRICS_231 {1, 4, 9, 1, 7, 0} -#define NXFONT_BITMAP_231 {0x70, 0x80, 0x80, 0x80, 0x80, 0x80, 0x70, 0x20, 0xc0} - -/* 'e' grave (232) */ -#define NXFONT_METRICS_232 {1, 5, 10, 1, 4, 0} -#define NXFONT_BITMAP_232 {0x60, 0x10, 0x00, 0x70, 0x88, 0x88, 0xf8, 0x80, 0x80, 0x78} - -/* 'e' acute (233) */ -#define NXFONT_METRICS_233 {1, 5, 10, 1, 4, 0} -#define NXFONT_BITMAP_233 {0x18, 0x20, 0x00, 0x70, 0x88, 0x88, 0xf8, 0x80, 0x80, 0x78} - -/* 'e' circumflex (234) */ -#define NXFONT_METRICS_234 {1, 5, 10, 1, 4, 0} -#define NXFONT_BITMAP_234 {0x20, 0x50, 0x00, 0x70, 0x88, 0x88, 0xf8, 0x80, 0x80, 0x78} - -/* 'e' dieresis (235) */ -#define NXFONT_METRICS_235 {1, 5, 10, 1, 4, 0} -#define NXFONT_BITMAP_235 {0x50, 0x50, 0x00, 0x70, 0x88, 0x88, 0xf8, 0x80, 0x80, 0x78} - -/* 'i' grave (236) */ -#define NXFONT_METRICS_236 {1, 3, 10, 0, 4, 0} -#define NXFONT_BITMAP_236 {0xc0, 0x20, 0x00, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40} - -/* 'i' acute (237) */ -#define NXFONT_METRICS_237 {1, 3, 10, 0, 4, 0} -#define NXFONT_BITMAP_237 {0x60, 0x80, 0x00, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40} - -/* 'i' circumflex (238) */ -#define NXFONT_METRICS_238 {1, 3, 10, 0, 4, 0} -#define NXFONT_BITMAP_238 {0x40, 0xa0, 0x00, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40} - -/* 'i' dieresis (239) */ -#define NXFONT_METRICS_239 {1, 3, 10, 0, 4, 0} -#define NXFONT_BITMAP_239 {0xa0, 0xa0, 0x00, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40} - -/* 'e' th (240) */ -#define NXFONT_METRICS_240 {1, 6, 10, 1, 4, 0} -#define NXFONT_BITMAP_240 {0xd0, 0x20, 0x50, 0x10, 0x68, 0x84, 0x84, 0x84, 0x48, 0x30} - -/* 'n' tilde (241) */ -#define NXFONT_METRICS_241 {1, 5, 10, 1, 4, 0} -#define NXFONT_BITMAP_241 {0x68, 0x90, 0x00, 0xb0, 0xc8, 0x88, 0x88, 0x88, 0x88, 0x88} - -/* 'o' grave (242) */ -#define NXFONT_METRICS_242 {1, 6, 10, 1, 4, 0} -#define NXFONT_BITMAP_242 {0x60, 0x10, 0x00, 0x30, 0x48, 0x84, 0x84, 0x84, 0x48, 0x30} - -/* 'o' acute (243) */ -#define NXFONT_METRICS_243 {1, 6, 10, 1, 4, 0} -#define NXFONT_BITMAP_243 {0x18, 0x20, 0x00, 0x30, 0x48, 0x84, 0x84, 0x84, 0x48, 0x30} - -/* 'o' circumflex (244) */ -#define NXFONT_METRICS_244 {1, 6, 10, 1, 4, 0} -#define NXFONT_BITMAP_244 {0x10, 0x28, 0x00, 0x30, 0x48, 0x84, 0x84, 0x84, 0x48, 0x30} - -/* 'o' tilde (245) */ -#define NXFONT_METRICS_245 {1, 6, 10, 1, 4, 0} -#define NXFONT_BITMAP_245 {0x34, 0x48, 0x00, 0x30, 0x48, 0x84, 0x84, 0x84, 0x48, 0x30} - -/* 'o' dieresis (246) */ -#define NXFONT_METRICS_246 {1, 6, 10, 1, 4, 0} -#define NXFONT_BITMAP_246 {0x48, 0x48, 0x00, 0x30, 0x48, 0x84, 0x84, 0x84, 0x48, 0x30} - -/* Division sign (247) */ -#define NXFONT_METRICS_247 {1, 7, 7, 1, 7, 0} -#define NXFONT_BITMAP_247 {0x10, 0x10, 0x00, 0xfe, 0x00, 0x10, 0x10} - -/* 'o' slash (248) */ -#define NXFONT_METRICS_248 {1, 6, 7, 1, 7, 0} -#define NXFONT_BITMAP_248 {0x34, 0x48, 0x94, 0x94, 0xa4 0x48, 0xb0} - -/* 'u' grave (249) */ -#define NXFONT_METRICS_249 {1, 5, 10, 1, 4, 0} -#define NXFONT_BITMAP_249 {0xc0, 0x20, 0x00, 0x88, 0x88, 0x88, 0x88, 0x88, 0x98, 0x68} - -/* 'u' acute (250) */ -#define NXFONT_METRICS_250 {1, 5, 10, 1, 4, 0} -#define NXFONT_BITMAP_250 {0x18, 0x20, 0x00, 0x88, 0x88, 0x88, 0x88, 0x88, 0x98, 0x68} - -/* 'u' circumflex (251) */ -#define NXFONT_METRICS_251 {1, 5, 10, 1, 4, 0} -#define NXFONT_BITMAP_251 {0x20, 0x50, 0x00, 0x88, 0x88, 0x88, 0x88, 0x88, 0x98, 0x68} - -/* 'u' dieresis (252) */ -#define NXFONT_METRICS_252 {1, 5, 10, 1, 4, 0} -#define NXFONT_BITMAP_252 {0x50, 0x50, 0x00, 0x88, 0x88, 0x88, 0x88, 0x88, 0x98, 0x68} - -/* 'y' acute (253) */ -#define NXFONT_METRICS_253 {1, 5, 12, 1, 4, 0} -#define NXFONT_BITMAP_253 {0x18, 0x20, 0x00, 0x88, 0x88, 0x88, 0x50, 0x50, 0x20, 0x20, 0x40, 0xc0} - -/* 't' horn (254) */ -#define NXFONT_METRICS_254 {1, 6, 12, 1, 4, 0} -#define NXFONT_BITMAP_254 {0x80, 0x80, 0x80, 0xb8, 0xc4, 0x84, 0x84, 0x84, 0xc4, 0xb8, 0x80, 0x80} - -/* 'y' dieresis (255) */ -#define NXFONT_METRICS_255 {1, 5, 12, 1, 4, 0} -#define NXFONT_BITMAP_255 {0x50, 0x50, 0x00, 0x88, 0x88, 0x88, 0x50, 0x50, 0x20, 0x20, 0x40, 0xc0} - -/**************************************************************************** - * Public Types - ****************************************************************************/ - -/**************************************************************************** - * Public Data - ****************************************************************************/ - -#undef EXTERN -#if defined(__cplusplus) -#define EXTERN extern "C" -extern "C" { -#else -#define EXTERN extern -#endif - -/**************************************************************************** - * Public Functions - ****************************************************************************/ - -#undef EXTERN -#if defined(__cplusplus) -} -#endif - -#endif /* __GRAPHICS_NXFONTS_NXFONTS_SANS23X27_H */ diff --git a/nuttx/graphics/nxfonts/nxfonts_sans28x37.h b/nuttx/graphics/nxfonts/nxfonts_sans28x37.h deleted file mode 100644 index f41ff30cf..000000000 --- a/nuttx/graphics/nxfonts/nxfonts_sans28x37.h +++ /dev/null @@ -1,849 +0,0 @@ -/**************************************************************************** - * graphics/nxfonts/nxfonts_sans28x37.h - * - * Copyright (C) 2011-2012 NX Engineering, S.A., All rights reserved. - * Author: Jose Pablo Carballo Gomez <jcarballo@nx-engineering.com> - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * 3. Neither the name NuttX nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT} - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING} - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - ****************************************************************************/ - -#ifndef __GRAPHICS_NXFONTS_NXFONTS_SANS28X37_H -#define __GRAPHICS_NXFONTS_NXFONTS_SANS28X37_H - -/**************************************************************************** - * Included Files - ****************************************************************************/ - -/**************************************************************************** - * Pre-Processor Definitions - ****************************************************************************/ - -/* Font ID */ - -#define NXFONT_ID FONTID_SANS28X37 - -/* Ranges of 7-bit and 8-bit fonts */ - -#define NXFONT_MIN7BIT 33 -#define NXFONT_MAX7BIT 126 - -#define NXFONT_MIN8BIT 161 -#define NXFONT_MAX8BIT 255 - -/* Maximum height and width of any glyph in the set */ - -#define NXFONT_MAXHEIGHT 37 -#define NXFONT_MAXWIDTH 28 - -/* The width of a space */ - -#define NXFONT_SPACEWIDTH 6 - -/* exclam (33) */ -#define NXFONT_METRICS_33 {1, 2, 19, 2, 10, 0} -#define NXFONT_BITMAP_33 {0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0x80, 0x80, 0x0, 0x0, 0xc0, 0xc0, 0xc0} - -/* quotedbl (34) */ -#define NXFONT_METRICS_34 {1, 6, 6, 1, 10, 0} -#define NXFONT_BITMAP_34 {0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0x44} - -/* numbersign (35) */ -#define NXFONT_METRICS_35 {2, 11, 17, 2, 12, 0} -#define NXFONT_BITMAP_35 {0xc, 0xc0, 0xc, 0xc0, 0xc, 0xc0, 0x19, 0x80, 0xff, 0xe0, 0xff, 0xe0, 0x19, 0x80, 0x19, 0x80, 0x33, 0x0, 0x33, 0x0, 0xff, 0xe0, 0xff, 0xe0, 0x33, 0x0, 0x33, 0x0, 0x66, 0x0, 0x66, 0x0, 0x66, 0x0} - -/* dollar (36) */ -#define NXFONT_METRICS_36 {2, 11, 22, 1, 9, 0} -#define NXFONT_BITMAP_36 {0x6, 0x0, 0x6, 0x0, 0x1f, 0x80, 0x3f, 0xc0, 0x76, 0xe0, 0x66, 0x60, 0x66, 0x60, 0x66, 0x0, 0x76, 0x0, 0x3e, 0x0, 0x3e, 0x0, 0xf, 0x80, 0x7, 0xc0, 0x6, 0xe0, 0x6, 0x60, 0xc6, 0x60, 0xc6, 0x60, 0xe6, 0xe0, 0x7f, 0xc0, 0x3f, 0x80, 0x6, 0x0, 0x6, 0x0} - -/* percent (37) */ -#define NXFONT_METRICS_37 {3, 19, 18, 1, 11, 0} -#define NXFONT_BITMAP_37 {0x0, 0x6, 0x0, 0x3c, 0xc, 0x0, 0x7e, 0xc, 0x0, 0xc3, 0x18, 0x0, 0xc3, 0x18, 0x0, 0xc3, 0x30, 0x0, 0xc3, 0x30, 0x0, 0x7e, 0x60, 0x0, 0x3c, 0x60, 0x0, 0x0, 0xc0, 0x0, 0x0, 0xc7, 0x80, 0x1, 0x8f, 0xc0, 0x1, 0x98, 0x60, 0x3, 0x18, 0x60, 0x3, 0x18, 0x60, 0x6, 0x18, 0x60, 0x6, 0xf, 0xc0, 0x4, 0x7, 0x80} - -/* ampersand (38) */ -#define NXFONT_METRICS_38 {2, 14, 18, 2, 11, 0} -#define NXFONT_BITMAP_38 {0xf, 0x0, 0x1f, 0x80, 0x39, 0xc0, 0x30, 0xc0, 0x30, 0xc0, 0x30, 0xc0, 0x19, 0x80, 0xf, 0x0, 0x1e, 0x0, 0x3f, 0x18, 0x73, 0x98, 0x61, 0xd8, 0xc0, 0xf0, 0xc0, 0x60, 0xc0, 0xf0, 0xe1, 0xd8, 0x7f, 0x9c, 0x1e, 0x0} - -/* quotesingle (39) */ -#define NXFONT_METRICS_39 {1, 2, 6, 2, 10, 0} -#define NXFONT_BITMAP_39 {0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0x40} - -/* parenleft (40) */ -#define NXFONT_METRICS_40 {1, 5, 24, 2, 10, 0} -#define NXFONT_BITMAP_40 {0x18, 0x18, 0x30, 0x30, 0x60, 0x60, 0x60, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0x60, 0x60, 0x60, 0x30, 0x30, 0x18, 0x18} - -/* parenright (41) */ -#define NXFONT_METRICS_41 {1, 5, 24, 1, 10, 0} -#define NXFONT_BITMAP_41 {0xc0, 0xc0, 0x60, 0x60, 0x30, 0x30, 0x30, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x30, 0x30, 0x30, 0x60, 0x60, 0xc0, 0xc0} - -/* asterisk (42) */ -#define NXFONT_METRICS_42 {1, 7, 7, 1, 10, 0} -#define NXFONT_BITMAP_42 {0x10, 0x10, 0xd6, 0x7c, 0x38, 0x6c, 0x44} - -/* plus (43) */ -#define NXFONT_METRICS_43 {2, 12, 12, 1, 16, 0} -#define NXFONT_BITMAP_43 {0x6, 0x0, 0x6, 0x0, 0x6, 0x0, 0x6, 0x0, 0x6, 0x0, 0xff, 0xf0, 0xff, 0xf0, 0x6, 0x0, 0x6, 0x0, 0x6, 0x0, 0x6, 0x0, 0x6, 0x0} - -/* comma (44) */ -#define NXFONT_METRICS_44 {1, 2, 6, 2, 26, 0} -#define NXFONT_BITMAP_44 {0xc0, 0xc0, 0xc0, 0x40, 0x40, 0x80} - -/* hyphen (45) */ -#define NXFONT_METRICS_45 {1, 6, 2, 1, 21, 0} -#define NXFONT_BITMAP_45 {0xfc, 0xfc} - -/* period (46) */ -#define NXFONT_METRICS_46 {1, 2, 3, 2, 26, 0} -#define NXFONT_BITMAP_46 {0xc0, 0xc0, 0xc0} - -/* slash (47) */ -#define NXFONT_METRICS_47 {1, 7, 19, 0, 10, 0} -#define NXFONT_BITMAP_47 {0x6, 0x4, 0xc, 0xc, 0x8, 0x18, 0x18, 0x10, 0x10, 0x30, 0x30, 0x20, 0x60, 0x60, 0x40, 0xc0, 0xc0, 0x80, 0x80} - -/* zero (48) */ -#define NXFONT_METRICS_48 {2, 11, 18, 1, 11, 0} -#define NXFONT_BITMAP_48 {0x1f, 0x0, 0x3f, 0x80, 0x71, 0xc0, 0x60, 0xc0, 0x60, 0xc0, 0xe0, 0xe0, 0xc0, 0x60, 0xc0, 0x60, 0xc0, 0x60, 0xc0, 0x60, 0xc0, 0x60, 0xc0, 0x60, 0xe0, 0xe0, 0x60, 0xc0, 0x60, 0xc0, 0x71, 0xc0, 0x3f, 0x80, 0x1f, 0x0} - -/* one (49) */ -#define NXFONT_METRICS_49 {1, 6, 18, 2, 11, 0} -#define NXFONT_BITMAP_49 {0xc, 0xc, 0x1c, 0xfc, 0xfc, 0xc, 0xc, 0xc, 0xc, 0xc, 0xc, 0xc, 0xc, 0xc, 0xc, 0xc, 0xc, 0xc} - -/* two (50) */ -#define NXFONT_METRICS_50 {2, 11, 18, 1, 11, 0} -#define NXFONT_BITMAP_50 {0x1e, 0x0, 0x7f, 0x80, 0x61, 0xc0, 0xc0, 0xc0, 0xc0, 0x60, 0xc0, 0x60, 0x0, 0xe0, 0x0, 0xc0, 0x1, 0xc0, 0x3, 0x80, 0xf, 0x0, 0x1c, 0x0, 0x38, 0x0, 0x70, 0x0, 0xe0, 0x0, 0xc0, 0x0, 0xff, 0xe0, 0xff, 0xe0} - -/* three (51) */ -#define NXFONT_METRICS_51 {2, 11, 18, 1, 11, 0} -#define NXFONT_BITMAP_51 {0x1f, 0x0, 0x7f, 0x80, 0x61, 0x80, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0x0, 0xc0, 0x1, 0x80, 0xf, 0x0, 0xf, 0xc0, 0x0, 0xc0, 0x0, 0x60, 0x0, 0x60, 0xc0, 0x60, 0xc0, 0xc0, 0x61, 0xc0, 0x7f, 0x80, 0x1f, 0x0} - -/* four (52) */ -#define NXFONT_METRICS_52 {2, 11, 18, 1, 11, 0} -#define NXFONT_BITMAP_52 {0x1, 0x80, 0x3, 0x80, 0x3, 0x80, 0x7, 0x80, 0xf, 0x80, 0xd, 0x80, 0x19, 0x80, 0x39, 0x80, 0x31, 0x80, 0x61, 0x80, 0xe1, 0x80, 0xc1, 0x80, 0xff, 0xe0, 0xff, 0xe0, 0x1, 0x80, 0x1, 0x80, 0x1, 0x80, 0x1, 0x80} - -/* five (53) */ -#define NXFONT_METRICS_53 {2, 11, 18, 1, 11, 0} -#define NXFONT_BITMAP_53 {0x7f, 0xc0, 0x7f, 0xc0, 0x60, 0x0, 0x60, 0x0, 0x60, 0x0, 0x60, 0x0, 0x7e, 0x0, 0x7f, 0x80, 0x71, 0xc0, 0x0, 0xc0, 0x0, 0xe0, 0x0, 0x60, 0x0, 0x60, 0xc0, 0xe0, 0xc0, 0xc0, 0xe1, 0xc0, 0x7f, 0x80, 0x1e, 0x0} - -/* six (54) */ -#define NXFONT_METRICS_54 {2, 11, 18, 1, 11, 0} -#define NXFONT_BITMAP_54 {0xf, 0x0, 0x3f, 0xc0, 0x70, 0xc0, 0x60, 0x60, 0xe0, 0x60, 0xc0, 0x0, 0xc0, 0x0, 0xcf, 0x0, 0xdf, 0x80, 0xf1, 0xc0, 0xe0, 0xc0, 0xc0, 0x60, 0xc0, 0x60, 0xc0, 0x60, 0xe0, 0xe0, 0x71, 0xc0, 0x7f, 0xc0, 0x1f, 0x0} - -/* seven (55) */ -#define NXFONT_METRICS_55 {2, 11, 18, 1, 11, 0} -#define NXFONT_BITMAP_55 {0xff, 0xe0, 0xff, 0xe0, 0x0, 0xe0, 0x0, 0xc0, 0x1, 0x80, 0x1, 0x80, 0x3, 0x0, 0x3, 0x0, 0x6, 0x0, 0x6, 0x0, 0xc, 0x0, 0xc, 0x0, 0x1c, 0x0, 0x18, 0x0, 0x18, 0x0, 0x38, 0x0, 0x30, 0x0, 0x30, 0x0} - -/* eight (56) */ -#define NXFONT_METRICS_56 {2, 11, 18, 1, 11, 0} -#define NXFONT_BITMAP_56 {0xe, 0x0, 0x3f, 0x80, 0x31, 0x80, 0x60, 0xc0, 0x60, 0xc0, 0x60, 0xc0, 0x31, 0x80, 0x1f, 0x0, 0x3f, 0x80, 0x71, 0xc0, 0x60, 0xc0, 0xc0, 0x60, 0xc0, 0x60, 0xc0, 0x60, 0xc0, 0x60, 0x60, 0xc0, 0x7f, 0xc0, 0x1f, 0x0} - -/* nine (57) */ -#define NXFONT_METRICS_57 {2, 11, 18, 1, 11, 0} -#define NXFONT_BITMAP_57 {0x1f, 0x0, 0x7f, 0xc0, 0x71, 0xc0, 0xe0, 0xc0, 0xc0, 0x60, 0xc0, 0x60, 0xc0, 0x60, 0xc0, 0x60, 0xe0, 0xe0, 0x71, 0xe0, 0x7f, 0x60, 0x1e, 0x60, 0x0, 0x60, 0x0, 0xe0, 0xc0, 0xc0, 0xe1, 0xc0, 0x7f, 0x80, 0x1e, 0x0} - -/* colon (58) */ -#define NXFONT_METRICS_58 {1, 2, 14, 2, 15, 0} -#define NXFONT_BITMAP_58 {0xc0, 0xc0, 0xc0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xc0, 0xc0, 0xc0} - -/* semicolon (59) */ -#define NXFONT_METRICS_59 {1, 2, 17, 2, 15, 0} -#define NXFONT_BITMAP_59 {0xc0, 0xc0, 0xc0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xc0, 0xc0, 0xc0, 0x40, 0x40, 0x80} - -/* less (60) */ -#define NXFONT_METRICS_60 {2, 12, 12, 1, 16, 0} -#define NXFONT_BITMAP_60 {0x0, 0x30, 0x0, 0xf0, 0x3, 0xc0, 0xf, 0x0, 0x3c, 0x0, 0xe0, 0x0, 0xe0, 0x0, 0x3c, 0x0, 0xf, 0x0, 0x3, 0xc0, 0x0, 0xf0, 0x0, 0x30} - -/* equal (61) */ -#define NXFONT_METRICS_61 {2, 10, 5, 2, 19, 0} -#define NXFONT_BITMAP_61 {0xff, 0xc0, 0xff, 0xc0, 0x0, 0x0, 0xff, 0xc0, 0xff, 0xc0} - -/* greater (62) */ -#define NXFONT_METRICS_62 {2, 12, 12, 1, 16, 0} -#define NXFONT_BITMAP_62 {0xc0, 0x0, 0xf0, 0x0, 0x3c, 0x0, 0xf, 0x0, 0x3, 0xc0, 0x0, 0x70, 0x0, 0x70, 0x3, 0xc0, 0xf, 0x0, 0x3c, 0x0, 0xf0, 0x0, 0xc0, 0x0} - -/* question (63) */ -#define NXFONT_METRICS_63 {2, 10, 19, 1, 10, 0} -#define NXFONT_BITMAP_63 {0x1f, 0x0, 0x7f, 0x80, 0x71, 0xc0, 0xe0, 0xc0, 0xc0, 0xc0, 0xc1, 0xc0, 0x1, 0x80, 0x3, 0x80, 0x7, 0x0, 0x6, 0x0, 0xc, 0x0, 0xc, 0x0, 0xc, 0x0, 0xc, 0x0, 0x0, 0x0, 0x0, 0x0, 0xc, 0x0, 0xc, 0x0, 0xc, 0x0} - -/* at (64) */ -#define NXFONT_METRICS_64 {3, 22, 23, 2, 10, 0} -#define NXFONT_BITMAP_64 {0x0, 0xff, 0x0, 0x3, 0xff, 0xc0, 0xf, 0x1, 0xe0, 0x1c, 0x0, 0x70, 0x38, 0x0, 0x18, 0x30, 0x0, 0x18, 0x60, 0x73, 0xc, 0x60, 0xfb, 0xc, 0xc1, 0xc7, 0xc, 0xc3, 0x86, 0xc, 0xc3, 0x6, 0xc, 0xc6, 0x6, 0xc, 0xc6, 0xc, 0x1c, 0xc6, 0xc, 0x18, 0xc6, 0xc, 0x38, 0xe7, 0x1c, 0x70, 0x63, 0xf7, 0xe0, 0x71, 0xe3, 0x80, 0x38, 0x0, 0x0, 0x1c, 0x0, 0x0, 0xf, 0x3, 0x0, 0x7, 0xff, 0x0, 0x0, 0xfc, 0x0} - -/* A (65) */ -#define NXFONT_METRICS_65 {2, 15, 19, 1, 10, 0} -#define NXFONT_BITMAP_65 {0x3, 0x80, 0x3, 0x80, 0x6, 0xc0, 0x6, 0xc0, 0xc, 0x40, 0xc, 0x60, 0xc, 0x60, 0x18, 0x30, 0x18, 0x30, 0x18, 0x30, 0x30, 0x18, 0x3f, 0xf8, 0x3f, 0xf8, 0x60, 0xc, 0x60, 0xc, 0x60, 0xc, 0xc0, 0x6, 0xc0, 0x6, 0xc0, 0x6} - -/* B (66) */ -#define NXFONT_METRICS_66 {2, 14, 19, 2, 10, 0} -#define NXFONT_BITMAP_66 {0xff, 0xc0, 0xff, 0xf0, 0xc0, 0x70, 0xc0, 0x18, 0xc0, 0x18, 0xc0, 0x18, 0xc0, 0x18, 0xc0, 0x30, 0xff, 0xe0, 0xff, 0xf0, 0xc0, 0x18, 0xc0, 0xc, 0xc0, 0xc, 0xc0, 0xc, 0xc0, 0xc, 0xc0, 0x1c, 0xc0, 0x78, 0xff, 0xf0, 0xff, 0xc0} - -/* C (67) */ -#define NXFONT_METRICS_67 {2, 15, 19, 1, 10, 0} -#define NXFONT_BITMAP_67 {0x7, 0xe0, 0x1f, 0xf8, 0x3c, 0x3c, 0x70, 0xe, 0x60, 0x6, 0xe0, 0x6, 0xc0, 0x0, 0xc0, 0x0, 0xc0, 0x0, 0xc0, 0x0, 0xc0, 0x0, 0xc0, 0x0, 0xc0, 0x0, 0xe0, 0x6, 0x60, 0x6, 0x70, 0xe, 0x3c, 0x3c, 0x1f, 0xf8, 0x7, 0xe0} - -/* D (68) */ -#define NXFONT_METRICS_68 {2, 15, 19, 2, 10, 0} -#define NXFONT_BITMAP_68 {0xff, 0xc0, 0xff, 0xf0, 0xc0, 0x78, 0xc0, 0x1c, 0xc0, 0xc, 0xc0, 0xe, 0xc0, 0x6, 0xc0, 0x6, 0xc0, 0x6, 0xc0, 0x6, 0xc0, 0x6, 0xc0, 0x6, 0xc0, 0x6, 0xc0, 0xe, 0xc0, 0xc, 0xc0, 0x1c, 0xc0, 0x78, 0xff, 0xf0, 0xff, 0xc0} - -/* E (69) */ -#define NXFONT_METRICS_69 {2, 12, 19, 2, 10, 0} -#define NXFONT_BITMAP_69 {0xff, 0xf0, 0xff, 0xf0, 0xc0, 0x0, 0xc0, 0x0, 0xc0, 0x0, 0xc0, 0x0, 0xc0, 0x0, 0xc0, 0x0, 0xff, 0xe0, 0xff, 0xe0, 0xc0, 0x0, 0xc0, 0x0, 0xc0, 0x0, 0xc0, 0x0, 0xc0, 0x0, 0xc0, 0x0, 0xc0, 0x0, 0xff, 0xf0, 0xff, 0xf0} - -/* F (70) */ -#define NXFONT_METRICS_70 {2, 11, 19, 2, 10, 0} -#define NXFONT_BITMAP_70 {0xff, 0xe0, 0xff, 0xe0, 0xc0, 0x0, 0xc0, 0x0, 0xc0, 0x0, 0xc0, 0x0, 0xc0, 0x0, 0xc0, 0x0, 0xff, 0xc0, 0xff, 0xc0, 0xc0, 0x0, 0xc0, 0x0, 0xc0, 0x0, 0xc0, 0x0, 0xc0, 0x0, 0xc0, 0x0, 0xc0, 0x0, 0xc0, 0x0, 0xc0, 0x0} - -/* G (71) */ -#define NXFONT_METRICS_71 {2, 16, 19, 1, 10, 0} -#define NXFONT_BITMAP_71 {0x7, 0xe0, 0x1f, 0xf8, 0x3c, 0x3c, 0x70, 0xe, 0x60, 0x6, 0xe0, 0x6, 0xc0, 0x0, 0xc0, 0x0, 0xc0, 0x0, 0xc0, 0x7f, 0xc0, 0x7f, 0xc0, 0x3, 0xc0, 0x3, 0xe0, 0x3, 0x60, 0x7, 0x70, 0xf, 0x3c, 0x3f, 0x1f, 0xfb, 0x7, 0xe3} - -/* H (72) */ -#define NXFONT_METRICS_72 {2, 14, 19, 2, 10, 0} -#define NXFONT_BITMAP_72 {0xc0, 0xc, 0xc0, 0xc, 0xc0, 0xc, 0xc0, 0xc, 0xc0, 0xc, 0xc0, 0xc, 0xc0, 0xc, 0xc0, 0xc, 0xff, 0xfc, 0xff, 0xfc, 0xc0, 0xc, 0xc0, 0xc, 0xc0, 0xc, 0xc0, 0xc, 0xc0, 0xc, 0xc0, 0xc, 0xc0, 0xc, 0xc0, 0xc, 0xc0, 0xc} - -/* I (73) */ -#define NXFONT_METRICS_73 {1, 2, 19, 3, 10, 0} -#define NXFONT_BITMAP_73 {0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0} - -/* J (74) */ -#define NXFONT_METRICS_74 {2, 10, 19, 1, 10, 0} -#define NXFONT_BITMAP_74 {0x0, 0xc0, 0x0, 0xc0, 0x0, 0xc0, 0x0, 0xc0, 0x0, 0xc0, 0x0, 0xc0, 0x0, 0xc0, 0x0, 0xc0, 0x0, 0xc0, 0x0, 0xc0, 0x0, 0xc0, 0x0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0x61, 0x80, 0x7f, 0x80, 0x3f, 0x0} - -/* K (75) */ -#define NXFONT_METRICS_75 {2, 13, 19, 3, 10, 0} -#define NXFONT_BITMAP_75 {0xc0, 0x38, 0xc0, 0x70, 0xc0, 0xe0, 0xc1, 0xc0, 0xc3, 0x80, 0xc7, 0x0, 0xce, 0x0, 0xdc, 0x0, 0xfc, 0x0, 0xfe, 0x0, 0xe7, 0x0, 0xc3, 0x80, 0xc1, 0x80, 0xc1, 0xc0, 0xc0, 0xe0, 0xc0, 0x60, 0xc0, 0x70, 0xc0, 0x38, 0xc0, 0x18} - -/* L (76) */ -#define NXFONT_METRICS_76 {2, 11, 19, 2, 10, 0} -#define NXFONT_BITMAP_76 {0xc0, 0x0, 0xc0, 0x0, 0xc0, 0x0, 0xc0, 0x0, 0xc0, 0x0, 0xc0, 0x0, 0xc0, 0x0, 0xc0, 0x0, 0xc0, 0x0, 0xc0, 0x0, 0xc0, 0x0, 0xc0, 0x0, 0xc0, 0x0, 0xc0, 0x0, 0xc0, 0x0, 0xc0, 0x0, 0xc0, 0x0, 0xff, 0xe0, 0xff, 0xe0} - -/* M (77) */ -#define NXFONT_METRICS_77 {3, 17, 19, 2, 10, 0} -#define NXFONT_BITMAP_77 {0xc0, 0x1, 0x80, 0xe0, 0x3, 0x80, 0xe0, 0x3, 0x80, 0xf0, 0x7, 0x80, 0xf0, 0x7, 0x80, 0xd8, 0xd, 0x80, 0xd8, 0xd, 0x80, 0xd8, 0xd, 0x80, 0xcc, 0x19, 0x80, 0xcc, 0x19, 0x80, 0xcc, 0x19, 0x80, 0xc6, 0x31, 0x80, 0xc6, 0x31, 0x80, 0xc6, 0x31, 0x80, 0xc3, 0x61, 0x80, 0xc3, 0x61, 0x80, 0xc3, 0x61, 0x80, 0xc1, 0xc1, 0x80, 0xc1, 0xc1, 0x80} - -/* N (78) */ -#define NXFONT_METRICS_78 {2, 14, 19, 2, 10, 0} -#define NXFONT_BITMAP_78 {0xe0, 0xc, 0xf0, 0xc, 0xf0, 0xc, 0xd8, 0xc, 0xdc, 0xc, 0xcc, 0xc, 0xce, 0xc, 0xc6, 0xc, 0xc7, 0xc, 0xc3, 0xc, 0xc3, 0x8c, 0xc1, 0x8c, 0xc1, 0xcc, 0xc0, 0xcc, 0xc0, 0xec, 0xc0, 0x6c, 0xc0, 0x3c, 0xc0, 0x3c, 0xc0, 0x1c} - -/* O (79) */ -#define NXFONT_METRICS_79 {2, 16, 19, 1, 10, 0} -#define NXFONT_BITMAP_79 {0x7, 0xe0, 0x1f, 0xf8, 0x3c, 0x3c, 0x70, 0xe, 0x60, 0x6, 0xe0, 0x7, 0xc0, 0x3, 0xc0, 0x3, 0xc0, 0x3, 0xc0, 0x3, 0xc0, 0x3, 0xc0, 0x3, 0xc0, 0x3, 0xe0, 0x7, 0x60, 0x6, 0x70, 0xe, 0x3c, 0x3c, 0x1f, 0xf8, 0x7, 0xe0} - -/* P (80) */ -#define NXFONT_METRICS_80 {2, 13, 19, 2, 10, 0} -#define NXFONT_BITMAP_80 {0xff, 0xe0, 0xff, 0xf0, 0xc0, 0x30, 0xc0, 0x18, 0xc0, 0x18, 0xc0, 0x18, 0xc0, 0x18, 0xc0, 0x30, 0xff, 0xf0, 0xff, 0xe0, 0xc0, 0x0, 0xc0, 0x0, 0xc0, 0x0, 0xc0, 0x0, 0xc0, 0x0, 0xc0, 0x0, 0xc0, 0x0, 0xc0, 0x0, 0xc0, 0x0} - -/* Q (81) */ -#define NXFONT_METRICS_81 {2, 16, 19, 1, 10, 0} -#define NXFONT_BITMAP_81 {0x7, 0xe0, 0x1f, 0xf8, 0x3c, 0x3c, 0x70, 0xe, 0x60, 0x6, 0xe0, 0x7, 0xc0, 0x3, 0xc0, 0x3, 0xc0, 0x3, 0xc0, 0x3, 0xc0, 0x3, 0xc0, 0x3, 0xc0, 0x3, 0xe0, 0x7, 0x60, 0xe6, 0x70, 0x7e, 0x3c, 0x1c, 0x1f, 0xfe, 0x7, 0xe7} - -/* R (82) */ -#define NXFONT_METRICS_82 {2, 13, 19, 2, 10, 0} -#define NXFONT_BITMAP_82 {0xff, 0xe0, 0xff, 0xf0, 0xc0, 0x30, 0xc0, 0x18, 0xc0, 0x18, 0xc0, 0x18, 0xc0, 0x18, 0xc0, 0x30, 0xff, 0xf0, 0xff, 0xe0, 0xc0, 0x70, 0xc0, 0x30, 0xc0, 0x18, 0xc0, 0x18, 0xc0, 0x18, 0xc0, 0x18, 0xc0, 0x18, 0xc0, 0x18, 0xc0, 0x18} - -/* S (83) */ -#define NXFONT_METRICS_83 {2, 13, 19, 2, 10, 0} -#define NXFONT_BITMAP_83 {0xf, 0x80, 0x3f, 0xe0, 0x60, 0x60, 0xc0, 0x30, 0xc0, 0x30, 0xc0, 0x0, 0xe0, 0x0, 0x7c, 0x0, 0x3f, 0x80, 0x7, 0xe0, 0x0, 0xf0, 0x0, 0x38, 0x0, 0x18, 0x0, 0x18, 0xc0, 0x18, 0xc0, 0x38, 0xf0, 0x70, 0x7f, 0xe0, 0x1f, 0x80} - -/* T (84) */ -#define NXFONT_METRICS_84 {2, 14, 19, 1, 10, 0} -#define NXFONT_BITMAP_84 {0xff, 0xfc, 0xff, 0xfc, 0x3, 0x0, 0x3, 0x0, 0x3, 0x0, 0x3, 0x0, 0x3, 0x0, 0x3, 0x0, 0x3, 0x0, 0x3, 0x0, 0x3, 0x0, 0x3, 0x0, 0x3, 0x0, 0x3, 0x0, 0x3, 0x0, 0x3, 0x0, 0x3, 0x0, 0x3, 0x0, 0x3, 0x0} - -/* U (85) */ -#define NXFONT_METRICS_85 {2, 14, 19, 2, 10, 0} -#define NXFONT_BITMAP_85 {0xc0, 0xc, 0xc0, 0xc, 0xc0, 0xc, 0xc0, 0xc, 0xc0, 0xc, 0xc0, 0xc, 0xc0, 0xc, 0xc0, 0xc, 0xc0, 0xc, 0xc0, 0xc, 0xc0, 0xc, 0xc0, 0xc, 0xc0, 0xc, 0xc0, 0xc, 0xc0, 0xc, 0x60, 0x18, 0x70, 0x38, 0x3f, 0xf0, 0xf, 0xc0} - -/* V (86) */ -#define NXFONT_METRICS_86 {2, 15, 19, 1, 10, 0} -#define NXFONT_BITMAP_86 {0xc0, 0x6, 0xc0, 0x6, 0xe0, 0xe, 0x60, 0xc, 0x70, 0x1c, 0x30, 0x18, 0x30, 0x18, 0x38, 0x38, 0x18, 0x30, 0x18, 0x30, 0x1c, 0x70, 0xc, 0x60, 0xc, 0x60, 0xe, 0xe0, 0x6, 0xc0, 0x6, 0xc0, 0x3, 0x80, 0x3, 0x80, 0x3, 0x80} - -/* W (87) */ -#define NXFONT_METRICS_87 {3, 20, 19, 1, 10, 0} -#define NXFONT_BITMAP_87 {0xc0, 0x60, 0x30, 0xc0, 0x60, 0x30, 0xc0, 0x60, 0x30, 0xc0, 0xf0, 0x30, 0x60, 0xf0, 0x60, 0x61, 0x98, 0x60, 0x61, 0x98, 0x60, 0x61, 0x98, 0x60, 0x61, 0x98, 0x60, 0x31, 0x98, 0xc0, 0x33, 0xc, 0xc0, 0x33, 0xc, 0xc0, 0x33, 0xc, 0xc0, 0x1b, 0xd, 0x80, 0x1b, 0xd, 0x80, 0x1e, 0x7, 0x80, 0xe, 0x7, 0x0, 0xc, 0x3, 0x0, 0xc, 0x3, 0x0} - -/* X (88) */ -#define NXFONT_METRICS_88 {2, 15, 19, 1, 10, 0} -#define NXFONT_BITMAP_88 {0xc0, 0x6, 0xe0, 0xe, 0x70, 0x1c, 0x30, 0x18, 0x18, 0x30, 0x1c, 0x70, 0xe, 0xe0, 0x7, 0xc0, 0x3, 0x80, 0x3, 0x80, 0x7, 0xc0, 0xe, 0xe0, 0xc, 0x60, 0x1c, 0x70, 0x38, 0x38, 0x30, 0x18, 0x60, 0xc, 0xe0, 0xe, 0xc0, 0x6} - -/* Y (89) */ -#define NXFONT_METRICS_89 {2, 14, 19, 1, 10, 0} -#define NXFONT_BITMAP_89 {0xc0, 0xc, 0xe0, 0x1c, 0x60, 0x18, 0x70, 0x38, 0x30, 0x30, 0x38, 0x70, 0x18, 0x60, 0x1c, 0xe0, 0xc, 0xc0, 0xf, 0xc0, 0x7, 0x80, 0x7, 0x80, 0x3, 0x0, 0x3, 0x0, 0x3, 0x0, 0x3, 0x0, 0x3, 0x0, 0x3, 0x0, 0x3, 0x0} - -/* Z (90) */ -#define NXFONT_METRICS_90 {2, 13, 19, 1, 10, 0} -#define NXFONT_BITMAP_90 {0xff, 0xf8, 0xff, 0xf8, 0x0, 0x38, 0x0, 0x70, 0x0, 0xe0, 0x1, 0xc0, 0x1, 0xc0, 0x3, 0x80, 0x7, 0x0, 0x7, 0x0, 0xe, 0x0, 0x1c, 0x0, 0x1c, 0x0, 0x38, 0x0, 0x70, 0x0, 0x70, 0x0, 0xe0, 0x0, 0xff, 0xf8, 0xff, 0xf8} - -/* bracketleft (91) */ -#define NXFONT_METRICS_91 {1, 4, 24, 2, 10, 0} -#define NXFONT_BITMAP_91 {0xf0, 0xf0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xf0, 0xf0} - -/* backslash (92) */ -#define NXFONT_METRICS_92 {1, 8, 19, 0, 10, 0} -#define NXFONT_BITMAP_92 {0xc0, 0x40, 0x40, 0x60, 0x20, 0x20, 0x30, 0x10, 0x10, 0x10, 0x18, 0x8, 0x8, 0xc, 0x4, 0x4, 0x6, 0x2, 0x3} - -/* bracketright (93) */ -#define NXFONT_METRICS_93 {1, 4, 24, 1, 10, 0} -#define NXFONT_BITMAP_93 {0xf0, 0xf0, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0xf0, 0xf0} - -/* asciicircum (94) */ -#define NXFONT_METRICS_94 {2, 10, 9, 1, 10, 0} -#define NXFONT_BITMAP_94 {0xc, 0x0, 0xc, 0x0, 0x1e, 0x0, 0x12, 0x0, 0x33, 0x0, 0x61, 0x80, 0x61, 0x80, 0xc0, 0xc0, 0xc0, 0xc0} - -/* underscore (95) */ -#define NXFONT_METRICS_95 {2, 14, 2, 0, 32, 0} -#define NXFONT_BITMAP_95 {0xff, 0xfc, 0xff, 0xfc} - -/* grave (96) */ -#define NXFONT_METRICS_96 {1, 5, 4, 1, 10, 0} -#define NXFONT_BITMAP_96 {0xc0, 0x60, 0x30, 0x18} - -/* a (97) */ -#define NXFONT_METRICS_97 {2, 11, 14, 1, 15, 0} -#define NXFONT_BITMAP_97 {0x1f, 0x0, 0x3f, 0x80, 0x61, 0xc0, 0x60, 0xc0, 0x0, 0xc0, 0x7, 0xc0, 0x3f, 0xc0, 0x78, 0xc0, 0xe0, 0xc0, 0xc0, 0xc0, 0xc1, 0xc0, 0xe3, 0xc0, 0x7e, 0xe0, 0x3c, 0x60} - -/* b (98) */ -#define NXFONT_METRICS_98 {2, 11, 19, 2, 10, 0} -#define NXFONT_BITMAP_98 {0xc0, 0x0, 0xc0, 0x0, 0xc0, 0x0, 0xc0, 0x0, 0xc0, 0x0, 0xcf, 0x0, 0xdf, 0x80, 0xf1, 0xc0, 0xe0, 0xc0, 0xc0, 0xe0, 0xc0, 0x60, 0xc0, 0x60, 0xc0, 0x60, 0xc0, 0x60, 0xc0, 0xe0, 0xe0, 0xc0, 0xf1, 0xc0, 0xdf, 0x80, 0xcf, 0x0} - -/* c (99) */ -#define NXFONT_METRICS_99 {2, 10, 14, 1, 15, 0} -#define NXFONT_BITMAP_99 {0x1f, 0x0, 0x3f, 0x80, 0x71, 0xc0, 0x60, 0xc0, 0xe0, 0x0, 0xc0, 0x0, 0xc0, 0x0, 0xc0, 0x0, 0xc0, 0x0, 0xe0, 0x0, 0x60, 0xc0, 0x71, 0xc0, 0x3f, 0x80, 0x1f, 0x0} - -/* d (100) */ -#define NXFONT_METRICS_100 {2, 11, 19, 1, 10, 0} -#define NXFONT_BITMAP_100 {0x0, 0x60, 0x0, 0x60, 0x0, 0x60, 0x0, 0x60, 0x0, 0x60, 0x1e, 0x60, 0x3f, 0x60, 0x71, 0xe0, 0x60, 0xe0, 0xe0, 0x60, 0xc0, 0x60, 0xc0, 0x60, 0xc0, 0x60, 0xc0, 0x60, 0xe0, 0x60, 0x60, 0xe0, 0x71, 0xe0, 0x3f, 0x60, 0x1e, 0x60} - -/* e (101) */ -#define NXFONT_METRICS_101 {2, 11, 14, 1, 15, 0} -#define NXFONT_BITMAP_101 {0xe, 0x0, 0x3f, 0x80, 0x71, 0xc0, 0x60, 0xc0, 0xc0, 0x60, 0xc0, 0x60, 0xff, 0xe0, 0xff, 0xe0, 0xc0, 0x0, 0xc0, 0x0, 0x60, 0x60, 0x70, 0xe0, 0x3f, 0xc0, 0xf, 0x0} - -/* f (102) */ -#define NXFONT_METRICS_102 {1, 6, 19, 1, 10, 0} -#define NXFONT_BITMAP_102 {0x1c, 0x3c, 0x30, 0x30, 0x30, 0xfc, 0xfc, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30} - -/* g (103) */ -#define NXFONT_METRICS_103 {2, 11, 19, 1, 15, 0} -#define NXFONT_BITMAP_103 {0x1e, 0x60, 0x3f, 0x60, 0x71, 0xe0, 0x60, 0xe0, 0xe0, 0x60, 0xc0, 0x60, 0xc0, 0x60, 0xc0, 0x60, 0xc0, 0x60, 0xe0, 0x60, 0x60, 0xe0, 0x71, 0xe0, 0x3f, 0x60, 0x1e, 0x60, 0x0, 0x60, 0xc0, 0x60, 0xe0, 0xc0, 0x7f, 0xc0, 0x1f, 0x0} - -/* h (104) */ -#define NXFONT_METRICS_104 {2, 10, 19, 2, 10, 0} -#define NXFONT_BITMAP_104 {0xc0, 0x0, 0xc0, 0x0, 0xc0, 0x0, 0xc0, 0x0, 0xc0, 0x0, 0xce, 0x0, 0xdf, 0x80, 0xf1, 0x80, 0xe0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0} - -/* i (105) */ -#define NXFONT_METRICS_105 {1, 2, 19, 2, 10, 0} -#define NXFONT_BITMAP_105 {0xc0, 0xc0, 0xc0, 0x0, 0x0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0} - -/* j (106) */ -#define NXFONT_METRICS_106 {1, 4, 24, 0, 10, 0} -#define NXFONT_BITMAP_106 {0x30, 0x30, 0x30, 0x0, 0x0, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0xf0, 0xe0} - -/* k (107) */ -#define NXFONT_METRICS_107 {2, 10, 19, 2, 10, 0} -#define NXFONT_BITMAP_107 {0xc0, 0x0, 0xc0, 0x0, 0xc0, 0x0, 0xc0, 0x0, 0xc0, 0x0, 0xc1, 0x80, 0xc3, 0x80, 0xc7, 0x0, 0xce, 0x0, 0xdc, 0x0, 0xf8, 0x0, 0xfc, 0x0, 0xce, 0x0, 0xc6, 0x0, 0xc7, 0x0, 0xc3, 0x80, 0xc1, 0x80, 0xc1, 0xc0, 0xc0, 0xc0} - -/* l (108) */ -#define NXFONT_METRICS_108 {1, 2, 19, 2, 10, 0} -#define NXFONT_BITMAP_108 {0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0} - -/* m (109) */ -#define NXFONT_METRICS_109 {2, 16, 14, 2, 15, 0} -#define NXFONT_BITMAP_109 {0xce, 0x3c, 0xff, 0x7e, 0xe3, 0xc7, 0xc1, 0x83, 0xc1, 0x83, 0xc1, 0x83, 0xc1, 0x83, 0xc1, 0x83, 0xc1, 0x83, 0xc1, 0x83, 0xc1, 0x83, 0xc1, 0x83, 0xc1, 0x83, 0xc1, 0x83} - -/* n (110) */ -#define NXFONT_METRICS_110 {2, 10, 14, 2, 15, 0} -#define NXFONT_BITMAP_110 {0xce, 0x0, 0xdf, 0x80, 0xf1, 0x80, 0xe0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0} - -/* o (111) */ -#define NXFONT_METRICS_111 {2, 11, 14, 1, 15, 0} -#define NXFONT_BITMAP_111 {0x1f, 0x0, 0x3f, 0x80, 0x71, 0xc0, 0x60, 0xc0, 0xe0, 0xe0, 0xc0, 0x60, 0xc0, 0x60, 0xc0, 0x60, 0xc0, 0x60, 0xe0, 0xe0, 0x60, 0xc0, 0x71, 0xc0, 0x3f, 0x80, 0x1f, 0x0} - -/* p (112) */ -#define NXFONT_METRICS_112 {2, 11, 19, 2, 15, 0} -#define NXFONT_BITMAP_112 {0xcf, 0x0, 0xdf, 0x80, 0xf1, 0xc0, 0xe0, 0xc0, 0xc0, 0xe0, 0xc0, 0x60, 0xc0, 0x60, 0xc0, 0x60, 0xc0, 0x60, 0xc0, 0xe0, 0xe0, 0xc0, 0xf1, 0xc0, 0xdf, 0x80, 0xcf, 0x0, 0xc0, 0x0, 0xc0, 0x0, 0xc0, 0x0, 0xc0, 0x0, 0xc0, 0x0} - -/* q (113) */ -#define NXFONT_METRICS_113 {2, 11, 19, 1, 15, 0} -#define NXFONT_BITMAP_113 {0x1e, 0x60, 0x3f, 0x60, 0x71, 0xe0, 0x60, 0xe0, 0xe0, 0x60, 0xc0, 0x60, 0xc0, 0x60, 0xc0, 0x60, 0xc0, 0x60, 0xe0, 0x60, 0x60, 0xe0, 0x71, 0xe0, 0x3f, 0x60, 0x1e, 0x60, 0x0, 0x60, 0x0, 0x60, 0x0, 0x60, 0x0, 0x60, 0x0, 0x60} - -/* r (114) */ -#define NXFONT_METRICS_114 {1, 6, 14, 2, 15, 0} -#define NXFONT_BITMAP_114 {0xcc, 0xdc, 0xf8, 0xf0, 0xe0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0} - -/* s (115) */ -#define NXFONT_METRICS_115 {2, 10, 14, 1, 15, 0} -#define NXFONT_BITMAP_115 {0x3f, 0x0, 0x7f, 0x80, 0xe1, 0xc0, 0xc0, 0xc0, 0xc0, 0x0, 0xf8, 0x0, 0x7f, 0x0, 0xf, 0x80, 0x1, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xe1, 0xc0, 0x7f, 0x80, 0x3f, 0x0} - -/* t (116) */ -#define NXFONT_METRICS_116 {1, 6, 18, 1, 11, 0} -#define NXFONT_BITMAP_116 {0x30, 0x30, 0x30, 0x30, 0xfc, 0xfc, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x3c, 0x1c} - -/* u (117) */ -#define NXFONT_METRICS_117 {2, 10, 14, 2, 15, 0} -#define NXFONT_BITMAP_117 {0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc1, 0xc0, 0x63, 0xc0, 0x7e, 0xc0, 0x1c, 0xc0} - -/* v (118) */ -#define NXFONT_METRICS_118 {2, 11, 14, 1, 15, 0} -#define NXFONT_BITMAP_118 {0xc0, 0x60, 0xc0, 0x60, 0xc0, 0x60, 0x60, 0xc0, 0x60, 0xc0, 0x71, 0xc0, 0x31, 0x80, 0x31, 0x80, 0x1b, 0x0, 0x1b, 0x0, 0x1b, 0x0, 0xe, 0x0, 0xe, 0x0, 0xe, 0x0} - -/* w (119) */ -#define NXFONT_METRICS_119 {3, 18, 14, 0, 15, 0} -#define NXFONT_BITMAP_119 {0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0x61, 0xe1, 0x80, 0x61, 0xe1, 0x80, 0x61, 0xe1, 0x80, 0x31, 0x23, 0x0, 0x33, 0x33, 0x0, 0x33, 0x33, 0x0, 0x1b, 0x36, 0x0, 0x1a, 0x16, 0x0, 0x1e, 0x1e, 0x0, 0xe, 0x1c, 0x0, 0xc, 0xc, 0x0, 0xc, 0xc, 0x0} - -/* x (120) */ -#define NXFONT_METRICS_120 {2, 10, 14, 1, 15, 0} -#define NXFONT_BITMAP_120 {0xc0, 0xc0, 0xe1, 0xc0, 0x61, 0x80, 0x33, 0x0, 0x1e, 0x0, 0x1e, 0x0, 0xc, 0x0, 0x1e, 0x0, 0x1e, 0x0, 0x33, 0x0, 0x73, 0x80, 0x61, 0x80, 0xc0, 0xc0, 0xc0, 0xc0} - -/* y (121) */ -#define NXFONT_METRICS_121 {2, 12, 19, 0, 15, 0} -#define NXFONT_BITMAP_121 {0xc0, 0x30, 0xc0, 0x30, 0x60, 0x30, 0x70, 0x60, 0x30, 0x60, 0x38, 0xe0, 0x18, 0xc0, 0x18, 0xc0, 0xd, 0x80, 0xd, 0x80, 0x7, 0x80, 0x7, 0x0, 0x3, 0x0, 0x3, 0x0, 0x6, 0x0, 0x6, 0x0, 0xc, 0x0, 0x3c, 0x0, 0x38, 0x0} - -/* z (122) */ -#define NXFONT_METRICS_122 {2, 10, 14, 1, 15, 0} -#define NXFONT_BITMAP_122 {0xff, 0xc0, 0xff, 0xc0, 0x1, 0x80, 0x3, 0x0, 0x7, 0x0, 0xe, 0x0, 0xc, 0x0, 0x1c, 0x0, 0x38, 0x0, 0x30, 0x0, 0x60, 0x0, 0xe0, 0x0, 0xff, 0xc0, 0xff, 0xc0} - -/* braceleft (123) */ -#define NXFONT_METRICS_123 {1, 6, 24, 1, 10, 0} -#define NXFONT_BITMAP_123 {0xc, 0x18, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x60, 0xc0, 0xc0, 0x60, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x18, 0xc} - -/* bar (124) */ -#define NXFONT_METRICS_124 {1, 1, 24, 2, 10, 0} -#define NXFONT_BITMAP_124 {0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80} - -/* braceright (125) */ -#define NXFONT_METRICS_125 {1, 6, 24, 1, 10, 0} -#define NXFONT_BITMAP_125 {0xc0, 0x60, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x18, 0xc, 0xc, 0x18, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x60, 0xc0} - -/* asciitilde (126) */ -#define NXFONT_METRICS_126 {2, 10, 4, 2, 20, 0} -#define NXFONT_BITMAP_126 {0x70, 0xc0, 0xfc, 0xc0, 0xcf, 0xc0, 0xc3, 0x80} - -/* exclamdown (161) */ -#define NXFONT_METRICS_161 {1, 2, 19, 2, 15, 0} -#define NXFONT_BITMAP_161 {0xc0, 0xc0, 0xc0, 0x0, 0x0, 0x40, 0x40, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0} - -/* cent (162) */ -#define NXFONT_METRICS_162 {2, 10, 18, 1, 13, 0} -#define NXFONT_BITMAP_162 {0x1, 0x80, 0x1, 0x80, 0x1f, 0x0, 0x3f, 0x80, 0x73, 0xc0, 0x66, 0xc0, 0xc6, 0x0, 0xcc, 0x0, 0xcc, 0x0, 0xcc, 0x0, 0xd8, 0x0, 0xd8, 0x0, 0xd8, 0xc0, 0x71, 0xc0, 0x7f, 0x80, 0x3f, 0x0, 0x60, 0x0, 0x60, 0x0} - -/* sterling (163) */ -#define NXFONT_METRICS_163 {2, 12, 18, 1, 11, 0} -#define NXFONT_BITMAP_163 {0x1f, 0x80, 0x3f, 0xe0, 0x70, 0x70, 0x60, 0x30, 0x60, 0x0, 0x70, 0x0, 0x30, 0x0, 0x18, 0x0, 0xff, 0x80, 0xff, 0x80, 0x18, 0x0, 0x18, 0x0, 0x18, 0x0, 0x30, 0x0, 0x30, 0x0, 0x67, 0x30, 0xff, 0xf0, 0xf0, 0xe0} - -/* currency (164) */ -#define NXFONT_METRICS_164 {2, 11, 12, 1, 14, 0} -#define NXFONT_BITMAP_164 {0xc0, 0x60, 0xee, 0xe0, 0x7f, 0xc0, 0x31, 0x80, 0x60, 0xc0, 0x60, 0xc0, 0x60, 0xc0, 0x60, 0xc0, 0x31, 0x80, 0x7f, 0xc0, 0xee, 0xe0, 0xc0, 0x60} - -/* yen (165) */ -#define NXFONT_METRICS_165 {2, 14, 18, 0, 11, 0} -#define NXFONT_BITMAP_165 {0xe0, 0x1c, 0x60, 0x18, 0x70, 0x38, 0x30, 0x30, 0x38, 0x70, 0x18, 0x60, 0x1c, 0xe0, 0xc, 0xc0, 0x3f, 0xf0, 0x3f, 0xf0, 0x3, 0x0, 0x3f, 0xf0, 0x3f, 0xf0, 0x3, 0x0, 0x3, 0x0, 0x3, 0x0, 0x3, 0x0, 0x3, 0x0} - -/* brokenbar (166) */ -#define NXFONT_METRICS_166 {1, 2, 24, 2, 10, 0} -#define NXFONT_BITMAP_166 {0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0x0, 0x0, 0x0, 0x0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0} - -/* section (167) */ -#define NXFONT_METRICS_167 {2, 11, 24, 1, 10, 0} -#define NXFONT_BITMAP_167 {0x1f, 0x0, 0x3f, 0x80, 0x71, 0xc0, 0x60, 0xc0, 0x70, 0xc0, 0x38, 0x0, 0x1c, 0x0, 0x7e, 0x0, 0xe7, 0x0, 0xc3, 0x80, 0xc1, 0xc0, 0xc0, 0xc0, 0x60, 0x60, 0x70, 0x60, 0x38, 0x60, 0x1c, 0xc0, 0xf, 0x80, 0x7, 0x0, 0x3, 0x80, 0x61, 0xc0, 0x60, 0xc0, 0x71, 0xc0, 0x3f, 0x80, 0x1f, 0x0} - -/* dieresis (168) */ -#define NXFONT_METRICS_168 {1, 6, 2, 1, 11, 0} -#define NXFONT_BITMAP_168 {0xcc, 0xcc} - -/* copyright (169) */ -#define NXFONT_METRICS_169 {3, 19, 19, 1, 10, 0} -#define NXFONT_BITMAP_169 {0x3, 0xf8, 0x0, 0xe, 0xe, 0x0, 0x30, 0x1, 0x80, 0x60, 0x0, 0xc0, 0x41, 0xf0, 0x40, 0xc3, 0x18, 0x60, 0x86, 0xc, 0x20, 0x84, 0x0, 0x20, 0x84, 0x0, 0x20, 0x84, 0x0, 0x20, 0x84, 0x0, 0x20, 0x86, 0xc, 0x20, 0xc3, 0x18, 0x60, 0x41, 0xf0, 0x40, 0x60, 0x0, 0xc0, 0x30, 0x1, 0x80, 0x18, 0x3, 0x0, 0xe, 0xe, 0x0, 0x3, 0xf8, 0x0} - -/* ordfeminine (170) */ -#define NXFONT_METRICS_170 {1, 7, 12, 1, 10, 0} -#define NXFONT_BITMAP_170 {0x78, 0xcc, 0xcc, 0x1c, 0x6c, 0xcc, 0xcc, 0xdc, 0x76, 0x0, 0xfe, 0xfe} - -/* guillemotleft (171) */ -#define NXFONT_METRICS_171 {2, 9, 8, 2, 18, 0} -#define NXFONT_BITMAP_171 {0x19, 0x80, 0x33, 0x0, 0x66, 0x0, 0xcc, 0x0, 0xcc, 0x0, 0x66, 0x0, 0x33, 0x0, 0x19, 0x80} - -/* logicalnot (172) */ -#define NXFONT_METRICS_172 {2, 13, 8, 1, 19, 0} -#define NXFONT_BITMAP_172 {0xff, 0xf8, 0xff, 0xf8, 0x0, 0x18, 0x0, 0x18, 0x0, 0x18, 0x0, 0x18, 0x0, 0x18, 0x0, 0x18} - -/* hyphen (173) */ -#define NXFONT_METRICS_173 {1, 6, 2, 1, 21, 0} -#define NXFONT_BITMAP_173 {0xfc, 0xfc} - -/* registered (174) */ -#define NXFONT_METRICS_174 {3, 18, 19, 1, 10, 0} -#define NXFONT_BITMAP_174 {0x7, 0xf8, 0x0, 0x1c, 0xe, 0x0, 0x30, 0x3, 0x0, 0x60, 0x1, 0x80, 0x43, 0xf0, 0x80, 0xc2, 0x18, 0xc0, 0x82, 0x8, 0x40, 0x82, 0x8, 0x40, 0x82, 0x8, 0x40, 0x82, 0x10, 0x40, 0x83, 0xf0, 0x40, 0x82, 0x20, 0x40, 0x82, 0x10, 0x40, 0xc2, 0x10, 0xc0, 0x42, 0x8, 0x80, 0x60, 0x1, 0x80, 0x30, 0x3, 0x0, 0x1c, 0xe, 0x0, 0x7, 0xf8, 0x0} - -/* macron (175) */ -#define NXFONT_METRICS_175 {1, 6, 2, 1, 11, 0} -#define NXFONT_BITMAP_175 {0xfc, 0xfc} - -/* degree (176) */ -#define NXFONT_METRICS_176 {1, 8, 7, 0, 11, 0} -#define NXFONT_BITMAP_176 {0x3c, 0x66, 0xc3, 0xc3, 0xc3, 0x66, 0x3c} - -/* plusminus (177) */ -#define NXFONT_METRICS_177 {2, 12, 13, 1, 16, 0} -#define NXFONT_BITMAP_177 {0x6, 0x0, 0x6, 0x0, 0x6, 0x0, 0x6, 0x0, 0xff, 0xf0, 0xff, 0xf0, 0x6, 0x0, 0x6, 0x0, 0x6, 0x0, 0x6, 0x0, 0x0, 0x0, 0xff, 0xf0, 0xff, 0xf0} - -/* twosuperior (178) */ -#define NXFONT_METRICS_178 {1, 7, 10, 0, 11, 0} -#define NXFONT_BITMAP_178 {0x3c, 0x7e, 0xc6, 0x6, 0xc, 0x18, 0x30, 0x60, 0xfe, 0xfe} - -/* threesuperior (179) */ -#define NXFONT_METRICS_179 {1, 7, 10, 0, 11, 0} -#define NXFONT_BITMAP_179 {0x7c, 0xfe, 0xc6, 0x6, 0x3c, 0x3c, 0x6, 0xc6, 0xfe, 0x7c} - -/* acute (180) */ -#define NXFONT_METRICS_180 {1, 5, 4, 1, 10, 0} -#define NXFONT_BITMAP_180 {0x18, 0x30, 0x60, 0xc0} - -/* mu (181) */ -#define NXFONT_METRICS_181 {2, 10, 19, 2, 15, 0} -#define NXFONT_BITMAP_181 {0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc1, 0xc0, 0xe3, 0xc0, 0xfe, 0xc0, 0xdc, 0xc0, 0xc0, 0x0, 0xc0, 0x0, 0xc0, 0x0, 0xc0, 0x0, 0xc0, 0x0} - -/* paragraph (182) */ -#define NXFONT_METRICS_182 {2, 10, 24, 1, 10, 0} -#define NXFONT_BITMAP_182 {0x1f, 0xc0, 0x7f, 0xc0, 0x7d, 0x80, 0xfd, 0x80, 0xfd, 0x80, 0xfd, 0x80, 0xfd, 0x80, 0xfd, 0x80, 0xfd, 0x80, 0x7d, 0x80, 0x7d, 0x80, 0x3d, 0x80, 0xd, 0x80, 0xd, 0x80, 0xd, 0x80, 0xd, 0x80, 0xd, 0x80, 0xd, 0x80, 0xd, 0x80, 0xd, 0x80, 0xd, 0x80, 0xd, 0x80, 0xd, 0x80, 0xd, 0x80} - -/* periodcentered (183) */ -#define NXFONT_METRICS_183 {1, 2, 3, 2, 20, 0} -#define NXFONT_BITMAP_183 {0xc0, 0xc0, 0xc0} - -/* cedilla (184) */ -#define NXFONT_METRICS_184 {1, 5, 6, 1, 28, 0} -#define NXFONT_BITMAP_184 {0x60, 0x70, 0x18, 0x18, 0xf8, 0x70} - -/* onesuperior (185) */ -#define NXFONT_METRICS_185 {1, 4, 10, 0, 11, 0} -#define NXFONT_BITMAP_185 {0x30, 0x30, 0xf0, 0xf0, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30} - -/* ordmasculine (186) */ -#define NXFONT_METRICS_186 {1, 7, 12, 1, 10, 0} -#define NXFONT_BITMAP_186 {0x38, 0x6c, 0xc6, 0xc6, 0xc6, 0xc6, 0xc6, 0x6c, 0x38, 0x0, 0xfe, 0xfe} - -/* guillemotright (187) */ -#define NXFONT_METRICS_187 {2, 9, 8, 3, 18, 0} -#define NXFONT_BITMAP_187 {0xcc, 0x0, 0x66, 0x0, 0x33, 0x0, 0x19, 0x80, 0x19, 0x80, 0x33, 0x0, 0x66, 0x0, 0xcc, 0x0} - -/* onequarter (188) */ -#define NXFONT_METRICS_188 {3, 18, 18, 1, 11, 0} -#define NXFONT_BITMAP_188 {0x30, 0x18, 0x0, 0x30, 0x18, 0x0, 0xf0, 0x30, 0x0, 0xf0, 0x30, 0x0, 0x30, 0x60, 0x0, 0x30, 0x60, 0x0, 0x30, 0xc0, 0x0, 0x30, 0xc0, 0x0, 0x31, 0x83, 0x0, 0x31, 0x87, 0x0, 0x3, 0xf, 0x0, 0x3, 0xf, 0x0, 0x6, 0x1b, 0x0, 0x6, 0x33, 0x0, 0xc, 0x7f, 0xc0, 0xc, 0x7f, 0xc0, 0x18, 0x3, 0x0, 0x18, 0x3, 0x0} - -/* onehalf (189) */ -#define NXFONT_METRICS_189 {3, 18, 18, 1, 11, 0} -#define NXFONT_BITMAP_189 {0x30, 0x18, 0x0, 0x30, 0x18, 0x0, 0xf0, 0x30, 0x0, 0xf0, 0x30, 0x0, 0x30, 0x60, 0x0, 0x30, 0x60, 0x0, 0x30, 0xc0, 0x0, 0x30, 0xc0, 0x0, 0x31, 0x87, 0x80, 0x31, 0x8f, 0xc0, 0x3, 0x18, 0xc0, 0x3, 0x0, 0xc0, 0x6, 0x1, 0x80, 0x6, 0x3, 0x0, 0xc, 0x6, 0x0, 0xc, 0xc, 0x0, 0x18, 0x1f, 0xc0, 0x18, 0x1f, 0xc0} - -/* threequarters (190) */ -#define NXFONT_METRICS_190 {3, 19, 18, 0, 11, 0} -#define NXFONT_BITMAP_190 {0x7c, 0xc, 0x0, 0xfe, 0xc, 0x0, 0xc6, 0x18, 0x0, 0x6, 0x18, 0x0, 0x3c, 0x30, 0x0, 0x3c, 0x30, 0x0, 0x6, 0x60, 0x0, 0xc6, 0x60, 0x0, 0xfe, 0xc1, 0x80, 0x7c, 0xc3, 0x80, 0x1, 0x87, 0x80, 0x1, 0x87, 0x80, 0x3, 0xd, 0x80, 0x3, 0x19, 0x80, 0x6, 0x3f, 0xe0, 0x6, 0x3f, 0xe0, 0xc, 0x1, 0x80, 0xc, 0x1, 0x80} - -/* questiondown (191) */ -#define NXFONT_METRICS_191 {2, 10, 19, 1, 15, 0} -#define NXFONT_BITMAP_191 {0xc, 0x0, 0xc, 0x0, 0xc, 0x0, 0x0, 0x0, 0x0, 0x0, 0xc, 0x0, 0xc, 0x0, 0xc, 0x0, 0xc, 0x0, 0x18, 0x0, 0x38, 0x0, 0x70, 0x0, 0x60, 0x0, 0xe0, 0xc0, 0xc0, 0xc0, 0xc1, 0xc0, 0xe3, 0x80, 0x7f, 0x80, 0x3e, 0x0} - -/* Agrave (192) */ -#define NXFONT_METRICS_192 {2, 15, 24, 1, 5, 0} -#define NXFONT_BITMAP_192 {0xc, 0x0, 0x6, 0x0, 0x3, 0x0, 0x1, 0x80, 0x0, 0x0, 0x3, 0x80, 0x3, 0x80, 0x6, 0xc0, 0x6, 0xc0, 0xc, 0x40, 0xc, 0x60, 0xc, 0x60, 0x18, 0x30, 0x18, 0x30, 0x18, 0x30, 0x30, 0x18, 0x3f, 0xf8, 0x3f, 0xf8, 0x60, 0xc, 0x60, 0xc, 0x60, 0xc, 0xc0, 0x6, 0xc0, 0x6, 0xc0, 0x6} - -/* Aacute (193) */ -#define NXFONT_METRICS_193 {2, 15, 24, 1, 5, 0} -#define NXFONT_BITMAP_193 {0x0, 0x60, 0x0, 0xc0, 0x1, 0x80, 0x3, 0x0, 0x0, 0x0, 0x3, 0x80, 0x3, 0x80, 0x6, 0xc0, 0x6, 0xc0, 0xc, 0x40, 0xc, 0x60, 0xc, 0x60, 0x18, 0x30, 0x18, 0x30, 0x18, 0x30, 0x30, 0x18, 0x3f, 0xf8, 0x3f, 0xf8, 0x60, 0xc, 0x60, 0xc, 0x60, 0xc, 0xc0, 0x6, 0xc0, 0x6, 0xc0, 0x6} - -/* Acircumflex (194) */ -#define NXFONT_METRICS_194 {2, 15, 24, 1, 5, 0} -#define NXFONT_BITMAP_194 {0x1, 0x80, 0x3, 0xc0, 0x6, 0x60, 0xc, 0x30, 0x0, 0x0, 0x3, 0x80, 0x3, 0x80, 0x6, 0xc0, 0x6, 0xc0, 0xc, 0x40, 0xc, 0x60, 0xc, 0x60, 0x18, 0x30, 0x18, 0x30, 0x18, 0x30, 0x30, 0x18, 0x3f, 0xf8, 0x3f, 0xf8, 0x60, 0xc, 0x60, 0xc, 0x60, 0xc, 0xc0, 0x6, 0xc0, 0x6, 0xc0, 0x6} - -/* Atilde (195) */ -#define NXFONT_METRICS_195 {2, 15, 23, 1, 6, 0} -#define NXFONT_BITMAP_195 {0x7, 0x10, 0xd, 0xb0, 0x8, 0xe0, 0x0, 0x0, 0x3, 0x80, 0x3, 0x80, 0x6, 0xc0, 0x6, 0xc0, 0xc, 0x40, 0xc, 0x60, 0xc, 0x60, 0x18, 0x30, 0x18, 0x30, 0x18, 0x30, 0x30, 0x18, 0x3f, 0xf8, 0x3f, 0xf8, 0x60, 0xc, 0x60, 0xc, 0x60, 0xc, 0xc0, 0x6, 0xc0, 0x6, 0xc0, 0x6} - -/* Adieresis (196) */ -#define NXFONT_METRICS_196 {2, 15, 23, 1, 6, 0} -#define NXFONT_BITMAP_196 {0xc, 0x60, 0xc, 0x60, 0x0, 0x0, 0x0, 0x0, 0x3, 0x80, 0x3, 0x80, 0x6, 0xc0, 0x6, 0xc0, 0xc, 0x40, 0xc, 0x60, 0xc, 0x60, 0x18, 0x30, 0x18, 0x30, 0x18, 0x30, 0x30, 0x18, 0x3f, 0xf8, 0x3f, 0xf8, 0x60, 0xc, 0x60, 0xc, 0x60, 0xc, 0xc0, 0x6, 0xc0, 0x6, 0xc0, 0x6} - -/* Aring (197) */ -#define NXFONT_METRICS_197 {2, 15, 24, 1, 5, 0} -#define NXFONT_BITMAP_197 {0x3, 0x80, 0x4, 0x40, 0x4, 0x40, 0x3, 0x80, 0x0, 0x0, 0x3, 0x80, 0x3, 0x80, 0x6, 0xc0, 0x6, 0xc0, 0xc, 0x40, 0xc, 0x60, 0xc, 0x60, 0x18, 0x30, 0x18, 0x30, 0x18, 0x30, 0x30, 0x18, 0x3f, 0xf8, 0x3f, 0xf8, 0x60, 0xc, 0x60, 0xc, 0x60, 0xc, 0xc0, 0x6, 0xc0, 0x6, 0xc0, 0x6} - -/* AE (198) */ -#define NXFONT_METRICS_198 {3, 21, 19, 1, 10, 0} -#define NXFONT_BITMAP_198 {0x3, 0xff, 0xf8, 0x3, 0xff, 0xf8, 0x6, 0x60, 0x0, 0x6, 0x60, 0x0, 0xc, 0x60, 0x0, 0xc, 0x60, 0x0, 0xc, 0x60, 0x0, 0x18, 0x60, 0x0, 0x18, 0x7f, 0xf8, 0x18, 0x7f, 0xf8, 0x30, 0x60, 0x0, 0x3f, 0xe0, 0x0, 0x3f, 0xe0, 0x0, 0x60, 0x60, 0x0, 0x60, 0x60, 0x0, 0x60, 0x60, 0x0, 0xc0, 0x60, 0x0, 0xc0, 0x7f, 0xf8, 0xc0, 0x7f, 0xf8} - -/* Ccedilla (199) */ -#define NXFONT_METRICS_199 {2, 15, 24, 1, 10, 0} -#define NXFONT_BITMAP_199 {0x7, 0xe0, 0x1f, 0xf8, 0x3c, 0x3c, 0x70, 0xe, 0x60, 0x6, 0xe0, 0x6, 0xc0, 0x0, 0xc0, 0x0, 0xc0, 0x0, 0xc0, 0x0, 0xc0, 0x0, 0xc0, 0x0, 0xc0, 0x0, 0xe0, 0x6, 0x60, 0x6, 0x70, 0xe, 0x3c, 0x3c, 0x1f, 0xf8, 0x7, 0xe0, 0x1, 0x80, 0x0, 0xc0, 0x0, 0xc0, 0x7, 0xc0, 0x3, 0x80} - -/* Egrave (200) */ -#define NXFONT_METRICS_200 {2, 12, 24, 2, 5, 0} -#define NXFONT_BITMAP_200 {0x30, 0x0, 0x18, 0x0, 0xc, 0x0, 0x6, 0x0, 0x0, 0x0, 0xff, 0xf0, 0xff, 0xf0, 0xc0, 0x0, 0xc0, 0x0, 0xc0, 0x0, 0xc0, 0x0, 0xc0, 0x0, 0xc0, 0x0, 0xff, 0xe0, 0xff, 0xe0, 0xc0, 0x0, 0xc0, 0x0, 0xc0, 0x0, 0xc0, 0x0, 0xc0, 0x0, 0xc0, 0x0, 0xc0, 0x0, 0xff, 0xf0, 0xff, 0xf0} - -/* Eacute (201) */ -#define NXFONT_METRICS_201 {2, 12, 24, 2, 5, 0} -#define NXFONT_BITMAP_201 {0x1, 0x80, 0x3, 0x0, 0x6, 0x0, 0xc, 0x0, 0x0, 0x0, 0xff, 0xf0, 0xff, 0xf0, 0xc0, 0x0, 0xc0, 0x0, 0xc0, 0x0, 0xc0, 0x0, 0xc0, 0x0, 0xc0, 0x0, 0xff, 0xe0, 0xff, 0xe0, 0xc0, 0x0, 0xc0, 0x0, 0xc0, 0x0, 0xc0, 0x0, 0xc0, 0x0, 0xc0, 0x0, 0xc0, 0x0, 0xff, 0xf0, 0xff, 0xf0} - -/* Ecircumflex (202) */ -#define NXFONT_METRICS_202 {2, 12, 24, 2, 5, 0} -#define NXFONT_BITMAP_202 {0x6, 0x0, 0xf, 0x0, 0x19, 0x80, 0x30, 0xc0, 0x0, 0x0, 0xff, 0xf0, 0xff, 0xf0, 0xc0, 0x0, 0xc0, 0x0, 0xc0, 0x0, 0xc0, 0x0, 0xc0, 0x0, 0xc0, 0x0, 0xff, 0xe0, 0xff, 0xe0, 0xc0, 0x0, 0xc0, 0x0, 0xc0, 0x0, 0xc0, 0x0, 0xc0, 0x0, 0xc0, 0x0, 0xc0, 0x0, 0xff, 0xf0, 0xff, 0xf0} - -/* Edieresis (203) */ -#define NXFONT_METRICS_203 {2, 12, 23, 2, 6, 0} -#define NXFONT_BITMAP_203 {0x18, 0xc0, 0x18, 0xc0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xf0, 0xff, 0xf0, 0xc0, 0x0, 0xc0, 0x0, 0xc0, 0x0, 0xc0, 0x0, 0xc0, 0x0, 0xc0, 0x0, 0xff, 0xe0, 0xff, 0xe0, 0xc0, 0x0, 0xc0, 0x0, 0xc0, 0x0, 0xc0, 0x0, 0xc0, 0x0, 0xc0, 0x0, 0xc0, 0x0, 0xff, 0xf0, 0xff, 0xf0} - -/* Igrave (204) */ -#define NXFONT_METRICS_204 {1, 5, 24, 1, 5, 0} -#define NXFONT_BITMAP_204 {0xc0, 0x60, 0x30, 0x18, 0x0, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30} - -/* Iacute (205) */ -#define NXFONT_METRICS_205 {1, 5, 24, 2, 5, 0} -#define NXFONT_BITMAP_205 {0x18, 0x30, 0x60, 0xc0, 0x0, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60} - -/* Icircumflex (206) */ -#define NXFONT_METRICS_206 {1, 8, 24, 0, 5, 0} -#define NXFONT_BITMAP_206 {0x18, 0x3c, 0x66, 0xc3, 0x0, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18} - -/* Idieresis (207) */ -#define NXFONT_METRICS_207 {1, 6, 23, 1, 6, 0} -#define NXFONT_BITMAP_207 {0xcc, 0xcc, 0x0, 0x0, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30} - -/* Eth (208) -- NOTE: Xoffset should be -1, not 0. */ -#define NXFONT_METRICS_208 {3, 18, 19, 0, 10, 0} -#define NXFONT_BITMAP_208 {0x1f, 0xf8, 0x0, 0x1f, 0xfe, 0x0, 0x18, 0xf, 0x0, 0x18, 0x3, 0x80, 0x18, 0x1, 0x80, 0x18, 0x1, 0xc0, 0x18, 0x0, 0xc0, 0x18, 0x0, 0xc0, 0xff, 0x80, 0xc0, 0xff, 0x80, 0xc0, 0x18, 0x0, 0xc0, 0x18, 0x0, 0xc0, 0x18, 0x0, 0xc0, 0x18, 0x1, 0xc0, 0x18, 0x1, 0x80, 0x18, 0x3, 0x80, 0x18, 0xf, 0x0, 0x1f, 0xfe, 0x0, 0x1f, 0xf8, 0x0} - -/* Ntilde (209) */ -#define NXFONT_METRICS_209 {2, 14, 23, 2, 6, 0} -#define NXFONT_BITMAP_209 {0xe, 0x20, 0x1b, 0x60, 0x11, 0xc0, 0x0, 0x0, 0xe0, 0xc, 0xf0, 0xc, 0xf0, 0xc, 0xd8, 0xc, 0xdc, 0xc, 0xcc, 0xc, 0xce, 0xc, 0xc6, 0xc, 0xc7, 0xc, 0xc3, 0xc, 0xc3, 0x8c, 0xc1, 0x8c, 0xc1, 0xcc, 0xc0, 0xcc, 0xc0, 0xec, 0xc0, 0x6c, 0xc0, 0x3c, 0xc0, 0x3c, 0xc0, 0x1c} - -/* Ograve (210) */ -#define NXFONT_METRICS_210 {2, 16, 24, 1, 5, 0} -#define NXFONT_BITMAP_210 {0xc, 0x0, 0x6, 0x0, 0x3, 0x0, 0x1, 0x80, 0x0, 0x0, 0x7, 0xe0, 0x1f, 0xf8, 0x3c, 0x3c, 0x70, 0xe, 0x60, 0x6, 0xe0, 0x7, 0xc0, 0x3, 0xc0, 0x3, 0xc0, 0x3, 0xc0, 0x3, 0xc0, 0x3, 0xc0, 0x3, 0xc0, 0x3, 0xe0, 0x7, 0x60, 0x6, 0x70, 0xe, 0x3c, 0x3c, 0x1f, 0xf8, 0x7, 0xe0} - -/* Oacute (211) */ -#define NXFONT_METRICS_211 {2, 16, 24, 1, 5, 0} -#define NXFONT_BITMAP_211 {0x0, 0x30, 0x0, 0x60, 0x0, 0xc0, 0x1, 0x80, 0x0, 0x0, 0x7, 0xe0, 0x1f, 0xf8, 0x3c, 0x3c, 0x70, 0xe, 0x60, 0x6, 0xe0, 0x7, 0xc0, 0x3, 0xc0, 0x3, 0xc0, 0x3, 0xc0, 0x3, 0xc0, 0x3, 0xc0, 0x3, 0xc0, 0x3, 0xe0, 0x7, 0x60, 0x6, 0x70, 0xe, 0x3c, 0x3c, 0x1f, 0xf8, 0x7, 0xe0} - -/* Ocircumflex (212) */ -#define NXFONT_METRICS_212 {2, 16, 24, 1, 5, 0} -#define NXFONT_BITMAP_212 {0x0, 0xc0, 0x1, 0xe0, 0x3, 0x30, 0x6, 0x18, 0x0, 0x0, 0x7, 0xe0, 0x1f, 0xf8, 0x3c, 0x3c, 0x70, 0xe, 0x60, 0x6, 0xe0, 0x7, 0xc0, 0x3, 0xc0, 0x3, 0xc0, 0x3, 0xc0, 0x3, 0xc0, 0x3, 0xc0, 0x3, 0xc0, 0x3, 0xe0, 0x7, 0x60, 0x6, 0x70, 0xe, 0x3c, 0x3c, 0x1f, 0xf8, 0x7, 0xe0} - -/* Otilde (213) */ -#define NXFONT_METRICS_213 {2, 16, 23, 1, 6, 0} -#define NXFONT_BITMAP_213 {0x3, 0x88, 0x6, 0xd8, 0x4, 0x70, 0x0, 0x0, 0x7, 0xe0, 0x1f, 0xf8, 0x3c, 0x3c, 0x70, 0xe, 0x60, 0x6, 0xe0, 0x7, 0xc0, 0x3, 0xc0, 0x3, 0xc0, 0x3, 0xc0, 0x3, 0xc0, 0x3, 0xc0, 0x3, 0xc0, 0x3, 0xe0, 0x7, 0x60, 0x6, 0x70, 0xe, 0x3c, 0x3c, 0x1f, 0xf8, 0x7, 0xe0} - -/* Odieresis (214) */ -#define NXFONT_METRICS_214 {2, 16, 23, 1, 6, 0} -#define NXFONT_BITMAP_214 {0x6, 0x30, 0x6, 0x30, 0x0, 0x0, 0x0, 0x0, 0x7, 0xe0, 0x1f, 0xf8, 0x3c, 0x3c, 0x70, 0xe, 0x60, 0x6, 0xe0, 0x7, 0xc0, 0x3, 0xc0, 0x3, 0xc0, 0x3, 0xc0, 0x3, 0xc0, 0x3, 0xc0, 0x3, 0xc0, 0x3, 0xe0, 0x7, 0x60, 0x6, 0x70, 0xe, 0x3c, 0x3c, 0x1f, 0xf8, 0x7, 0xe0} - -/* multiply (215) */ -#define NXFONT_METRICS_215 {2, 13, 12, 0, 16, 0} -#define NXFONT_BITMAP_215 {0xc0, 0x18, 0x60, 0x30, 0x30, 0x60, 0x18, 0xc0, 0xd, 0x80, 0x7, 0x0, 0x7, 0x0, 0xd, 0x80, 0x18, 0xc0, 0x30, 0x60, 0x60, 0x30, 0xc0, 0x18} - -/* Oslash (216) */ -#define NXFONT_METRICS_216 {3, 18, 19, 0, 10, 0} -#define NXFONT_BITMAP_216 {0x3, 0xf0, 0xc0, 0xf, 0xfd, 0xc0, 0x1e, 0x1f, 0x80, 0x38, 0x7, 0x0, 0x30, 0xf, 0x0, 0x70, 0x1d, 0x80, 0x60, 0x39, 0x80, 0x60, 0x71, 0x80, 0x60, 0xe1, 0x80, 0x61, 0xc1, 0x80, 0x63, 0x81, 0x80, 0x67, 0x1, 0x80, 0x6e, 0x1, 0x80, 0x7c, 0x3, 0x80, 0x38, 0x3, 0x0, 0x38, 0x7, 0x0, 0x7e, 0x1e, 0x0, 0xef, 0xfc, 0x0, 0xc3, 0xf0, 0x0} - -/* Ugrave (217) */ -#define NXFONT_METRICS_217 {2, 14, 24, 2, 5, 0} -#define NXFONT_BITMAP_217 {0x18, 0x0, 0xc, 0x0, 0x6, 0x0, 0x3, 0x0, 0x0, 0x0, 0xc0, 0xc, 0xc0, 0xc, 0xc0, 0xc, 0xc0, 0xc, 0xc0, 0xc, 0xc0, 0xc, 0xc0, 0xc, 0xc0, 0xc, 0xc0, 0xc, 0xc0, 0xc, 0xc0, 0xc, 0xc0, 0xc, 0xc0, 0xc, 0xc0, 0xc, 0xc0, 0xc, 0x60, 0x18, 0x70, 0x38, 0x3f, 0xf0, 0xf, 0xc0} - -/* Uacute (218) */ -#define NXFONT_METRICS_218 {2, 14, 24, 2, 5, 0} -#define NXFONT_BITMAP_218 {0x0, 0x60, 0x0, 0xc0, 0x1, 0x80, 0x3, 0x0, 0x0, 0x0, 0xc0, 0xc, 0xc0, 0xc, 0xc0, 0xc, 0xc0, 0xc, 0xc0, 0xc, 0xc0, 0xc, 0xc0, 0xc, 0xc0, 0xc, 0xc0, 0xc, 0xc0, 0xc, 0xc0, 0xc, 0xc0, 0xc, 0xc0, 0xc, 0xc0, 0xc, 0xc0, 0xc, 0x60, 0x18, 0x70, 0x38, 0x3f, 0xf0, 0xf, 0xc0} - -/* Ucircumflex (219) */ -#define NXFONT_METRICS_219 {2, 14, 24, 2, 5, 0} -#define NXFONT_BITMAP_219 {0x3, 0x0, 0x7, 0x80, 0xc, 0xc0, 0x18, 0x60, 0x0, 0x0, 0xc0, 0xc, 0xc0, 0xc, 0xc0, 0xc, 0xc0, 0xc, 0xc0, 0xc, 0xc0, 0xc, 0xc0, 0xc, 0xc0, 0xc, 0xc0, 0xc, 0xc0, 0xc, 0xc0, 0xc, 0xc0, 0xc, 0xc0, 0xc, 0xc0, 0xc, 0xc0, 0xc, 0x60, 0x18, 0x70, 0x38, 0x3f, 0xf0, 0xf, 0xc0} - -/* Udieresis (220) */ -#define NXFONT_METRICS_220 {2, 14, 23, 2, 6, 0} -#define NXFONT_BITMAP_220 {0x18, 0xc0, 0x18, 0xc0, 0x0, 0x0, 0x0, 0x0, 0xc0, 0xc, 0xc0, 0xc, 0xc0, 0xc, 0xc0, 0xc, 0xc0, 0xc, 0xc0, 0xc, 0xc0, 0xc, 0xc0, 0xc, 0xc0, 0xc, 0xc0, 0xc, 0xc0, 0xc, 0xc0, 0xc, 0xc0, 0xc, 0xc0, 0xc, 0xc0, 0xc, 0x60, 0x18, 0x70, 0x38, 0x3f, 0xf0, 0xf, 0xc0} - -/* Yacute (221) */ -#define NXFONT_METRICS_221 {2, 14, 24, 1, 5, 0} -#define NXFONT_BITMAP_221 {0x0, 0x60, 0x0, 0xc0, 0x1, 0x80, 0x3, 0x0, 0x0, 0x0, 0xc0, 0xc, 0xe0, 0x1c, 0x60, 0x18, 0x70, 0x38, 0x30, 0x30, 0x38, 0x70, 0x18, 0x60, 0x1c, 0xe0, 0xc, 0xc0, 0xf, 0xc0, 0x7, 0x80, 0x7, 0x80, 0x3, 0x0, 0x3, 0x0, 0x3, 0x0, 0x3, 0x0, 0x3, 0x0, 0x3, 0x0, 0x3, 0x0} - -/* Thorn (222) */ -#define NXFONT_METRICS_222 {2, 13, 19, 2, 10, 0} -#define NXFONT_BITMAP_222 {0xc0, 0x0, 0xc0, 0x0, 0xc0, 0x0, 0xc0, 0x0, 0xff, 0xe0, 0xff, 0xf0, 0xc0, 0x30, 0xc0, 0x18, 0xc0, 0x18, 0xc0, 0x18, 0xc0, 0x18, 0xc0, 0x30, 0xff, 0xf0, 0xff, 0xe0, 0xc0, 0x0, 0xc0, 0x0, 0xc0, 0x0, 0xc0, 0x0, 0xc0, 0x0} - -/* germandbls (223) */ -#define NXFONT_METRICS_223 {2, 10, 19, 3, 10, 0} -#define NXFONT_BITMAP_223 {0x1c, 0x0, 0x7f, 0x0, 0xe3, 0x0, 0xc1, 0x80, 0xc1, 0x80, 0xc1, 0x80, 0xc3, 0x0, 0xc7, 0x0, 0xce, 0x0, 0xcf, 0x0, 0xc3, 0x80, 0xc1, 0x80, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc1, 0x80, 0xc3, 0x80, 0xcf, 0x0, 0xce, 0x0} - -/* agrave (224) */ -#define NXFONT_METRICS_224 {2, 11, 19, 1, 10, 0} -#define NXFONT_BITMAP_224 {0x18, 0x0, 0xc, 0x0, 0x6, 0x0, 0x3, 0x0, 0x0, 0x0, 0x1f, 0x0, 0x3f, 0x80, 0x61, 0xc0, 0x60, 0xc0, 0x0, 0xc0, 0x7, 0xc0, 0x3f, 0xc0, 0x78, 0xc0, 0xe0, 0xc0, 0xc0, 0xc0, 0xc1, 0xc0, 0xe3, 0xc0, 0x7e, 0xe0, 0x3c, 0x60} - -/* aacute (225) */ -#define NXFONT_METRICS_225 {2, 11, 19, 1, 10, 0} -#define NXFONT_BITMAP_225 {0x1, 0x80, 0x3, 0x0, 0x6, 0x0, 0xc, 0x0, 0x0, 0x0, 0x1f, 0x0, 0x3f, 0x80, 0x61, 0xc0, 0x60, 0xc0, 0x0, 0xc0, 0x7, 0xc0, 0x3f, 0xc0, 0x78, 0xc0, 0xe0, 0xc0, 0xc0, 0xc0, 0xc1, 0xc0, 0xe3, 0xc0, 0x7e, 0xe0, 0x3c, 0x60} - -/* acircumflex (226) */ -#define NXFONT_METRICS_226 {2, 11, 19, 1, 10, 0} -#define NXFONT_BITMAP_226 {0xc, 0x0, 0x1e, 0x0, 0x33, 0x0, 0x61, 0x80, 0x0, 0x0, 0x1f, 0x0, 0x3f, 0x80, 0x61, 0xc0, 0x60, 0xc0, 0x0, 0xc0, 0x7, 0xc0, 0x3f, 0xc0, 0x78, 0xc0, 0xe0, 0xc0, 0xc0, 0xc0, 0xc1, 0xc0, 0xe3, 0xc0, 0x7e, 0xe0, 0x3c, 0x60} - -/* atilde (227) */ -#define NXFONT_METRICS_227 {2, 11, 18, 1, 11, 0} -#define NXFONT_BITMAP_227 {0x1c, 0x40, 0x36, 0xc0, 0x23, 0x80, 0x0, 0x0, 0x1f, 0x0, 0x3f, 0x80, 0x61, 0xc0, 0x60, 0xc0, 0x0, 0xc0, 0x7, 0xc0, 0x3f, 0xc0, 0x78, 0xc0, 0xe0, 0xc0, 0xc0, 0xc0, 0xc1, 0xc0, 0xe3, 0xc0, 0x7e, 0xe0, 0x3c, 0x60} - -/* adieresis (228) */ -#define NXFONT_METRICS_228 {2, 11, 18, 1, 11, 0} -#define NXFONT_BITMAP_228 {0x33, 0x0, 0x33, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1f, 0x0, 0x3f, 0x80, 0x61, 0xc0, 0x60, 0xc0, 0x0, 0xc0, 0x7, 0xc0, 0x3f, 0xc0, 0x78, 0xc0, 0xe0, 0xc0, 0xc0, 0xc0, 0xc1, 0xc0, 0xe3, 0xc0, 0x7e, 0xe0, 0x3c, 0x60} - -/* aring (229) */ -#define NXFONT_METRICS_229 {2, 11, 19, 1, 10, 0} -#define NXFONT_BITMAP_229 {0x6, 0x0, 0x9, 0x0, 0x9, 0x0, 0x6, 0x0, 0x0, 0x0, 0x1f, 0x0, 0x3f, 0x80, 0x61, 0xc0, 0x60, 0xc0, 0x0, 0xc0, 0x7, 0xc0, 0x3f, 0xc0, 0x78, 0xc0, 0xe0, 0xc0, 0xc0, 0xc0, 0xc1, 0xc0, 0xe3, 0xc0, 0x7e, 0xe0, 0x3c, 0x60} - -/* ae (230) */ -#define NXFONT_METRICS_230 {3, 19, 14, 1, 15, 0} -#define NXFONT_BITMAP_230 {0x1f, 0xe, 0x0, 0x3f, 0xbf, 0x80, 0x61, 0xf1, 0xc0, 0x60, 0xe0, 0xc0, 0x0, 0xc0, 0x60, 0x7, 0xc0, 0x60, 0x3f, 0xff, 0xe0, 0x78, 0xff, 0xe0, 0xe0, 0xc0, 0x0, 0xc0, 0xc0, 0x0, 0xc1, 0xe0, 0x60, 0xe3, 0xf0, 0xe0, 0x7e, 0x3f, 0xc0, 0x3c, 0xf, 0x0} - -/* ccedilla (231) */ -#define NXFONT_METRICS_231 {2, 10, 19, 1, 15, 0} -#define NXFONT_BITMAP_231 {0x1f, 0x0, 0x3f, 0x80, 0x71, 0xc0, 0x60, 0xc0, 0xe0, 0x0, 0xc0, 0x0, 0xc0, 0x0, 0xc0, 0x0, 0xc0, 0x0, 0xe0, 0x0, 0x60, 0xc0, 0x71, 0xc0, 0x3f, 0x80, 0x1f, 0x0, 0xc, 0x0, 0x6, 0x0, 0x6, 0x0, 0x3e, 0x0, 0x1c, 0x0} - -/* egrave (232) */ -#define NXFONT_METRICS_232 {2, 11, 19, 1, 10, 0} -#define NXFONT_BITMAP_232 {0x18, 0x0, 0xc, 0x0, 0x6, 0x0, 0x3, 0x0, 0x0, 0x0, 0xe, 0x0, 0x3f, 0x80, 0x71, 0xc0, 0x60, 0xc0, 0xc0, 0x60, 0xc0, 0x60, 0xff, 0xe0, 0xff, 0xe0, 0xc0, 0x0, 0xc0, 0x0, 0x60, 0x60, 0x70, 0xe0, 0x3f, 0xc0, 0xf, 0x0} - -/* eacute (233) */ -#define NXFONT_METRICS_233 {2, 11, 19, 1, 10, 0} -#define NXFONT_BITMAP_233 {0x3, 0x0, 0x6, 0x0, 0xc, 0x0, 0x18, 0x0, 0x0, 0x0, 0xe, 0x0, 0x3f, 0x80, 0x71, 0xc0, 0x60, 0xc0, 0xc0, 0x60, 0xc0, 0x60, 0xff, 0xe0, 0xff, 0xe0, 0xc0, 0x0, 0xc0, 0x0, 0x60, 0x60, 0x70, 0xe0, 0x3f, 0xc0, 0xf, 0x0} - -/* ecircumflex (234) */ -#define NXFONT_METRICS_234 {2, 11, 19, 1, 10, 0} -#define NXFONT_BITMAP_234 {0xc, 0x0, 0x1e, 0x0, 0x33, 0x0, 0x61, 0x80, 0x0, 0x0, 0xe, 0x0, 0x3f, 0x80, 0x71, 0xc0, 0x60, 0xc0, 0xc0, 0x60, 0xc0, 0x60, 0xff, 0xe0, 0xff, 0xe0, 0xc0, 0x0, 0xc0, 0x0, 0x60, 0x60, 0x70, 0xe0, 0x3f, 0xc0, 0xf, 0x0} - -/* edieresis (235) */ -#define NXFONT_METRICS_235 {2, 11, 18, 1, 11, 0} -#define NXFONT_BITMAP_235 {0x33, 0x0, 0x33, 0x0, 0x0, 0x0, 0x0, 0x0, 0xe, 0x0, 0x3f, 0x80, 0x71, 0xc0, 0x60, 0xc0, 0xc0, 0x60, 0xc0, 0x60, 0xff, 0xe0, 0xff, 0xe0, 0xc0, 0x0, 0xc0, 0x0, 0x60, 0x60, 0x70, 0xe0, 0x3f, 0xc0, 0xf, 0x0} - -/* igrave (236) */ -#define NXFONT_METRICS_236 {1, 5, 19, 0, 10, 0} -#define NXFONT_BITMAP_236 {0xc0, 0x60, 0x30, 0x18, 0x0, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30} - -/* iacute (237) */ -#define NXFONT_METRICS_237 {1, 5, 19, 1, 10, 0} -#define NXFONT_BITMAP_237 {0x18, 0x30, 0x60, 0xc0, 0x0, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60} - -/* icircumflex (238) -- NOTE: Xoffset should be -1, not 0. */ -#define NXFONT_METRICS_238 {1, 8, 19, 0, 10, 0} -#define NXFONT_BITMAP_238 {0x18, 0x3c, 0x66, 0xc3, 0x0, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18} - -/* idieresis (239) */ -#define NXFONT_METRICS_239 {1, 6, 18, 0, 11, 0} -#define NXFONT_BITMAP_239 {0xcc, 0xcc, 0x0, 0x0, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30} - -/* eth (240) */ -#define NXFONT_METRICS_240 {2, 11, 19, 1, 10, 0} -#define NXFONT_BITMAP_240 {0x60, 0x0, 0x39, 0x80, 0xe, 0x0, 0x1e, 0x0, 0x63, 0x0, 0x1f, 0x80, 0x3f, 0x80, 0x71, 0xc0, 0x60, 0xc0, 0xe0, 0xe0, 0xc0, 0x60, 0xc0, 0x60, 0xc0, 0x60, 0xc0, 0x60, 0xe0, 0xe0, 0x60, 0xc0, 0x71, 0xc0, 0x3f, 0x80, 0x1f, 0x0} - -/* ntilde (241) */ -#define NXFONT_METRICS_241 {2, 10, 18, 2, 11, 0} -#define NXFONT_BITMAP_241 {0x38, 0x80, 0x6d, 0x80, 0x47, 0x0, 0x0, 0x0, 0xce, 0x0, 0xdf, 0x80, 0xf1, 0x80, 0xe0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0} - -/* ograve (242) */ -#define NXFONT_METRICS_242 {2, 11, 19, 1, 10, 0} -#define NXFONT_BITMAP_242 {0x18, 0x0, 0xc, 0x0, 0x6, 0x0, 0x3, 0x0, 0x0, 0x0, 0x1f, 0x0, 0x3f, 0x80, 0x71, 0xc0, 0x60, 0xc0, 0xe0, 0xe0, 0xc0, 0x60, 0xc0, 0x60, 0xc0, 0x60, 0xc0, 0x60, 0xe0, 0xe0, 0x60, 0xc0, 0x71, 0xc0, 0x3f, 0x80, 0x1f, 0x0} - -/* oacute (243) */ -#define NXFONT_METRICS_243 {2, 11, 19, 1, 10, 0} -#define NXFONT_BITMAP_243 {0x3, 0x0, 0x6, 0x0, 0xc, 0x0, 0x18, 0x0, 0x0, 0x0, 0x1f, 0x0, 0x3f, 0x80, 0x71, 0xc0, 0x60, 0xc0, 0xe0, 0xe0, 0xc0, 0x60, 0xc0, 0x60, 0xc0, 0x60, 0xc0, 0x60, 0xe0, 0xe0, 0x60, 0xc0, 0x71, 0xc0, 0x3f, 0x80, 0x1f, 0x0} - -/* ocircumflex (244) */ -#define NXFONT_METRICS_244 {2, 11, 19, 1, 10, 0} -#define NXFONT_BITMAP_244 {0xc, 0x0, 0x1e, 0x0, 0x33, 0x0, 0x61, 0x80, 0x0, 0x0, 0x1f, 0x0, 0x3f, 0x80, 0x71, 0xc0, 0x60, 0xc0, 0xe0, 0xe0, 0xc0, 0x60, 0xc0, 0x60, 0xc0, 0x60, 0xc0, 0x60, 0xe0, 0xe0, 0x60, 0xc0, 0x71, 0xc0, 0x3f, 0x80, 0x1f, 0x0} - -/* otilde (245) */ -#define NXFONT_METRICS_245 {2, 11, 18, 1, 11, 0} -#define NXFONT_BITMAP_245 {0x1c, 0x40, 0x36, 0xc0, 0x23, 0x80, 0x0, 0x0, 0x1f, 0x0, 0x3f, 0x80, 0x71, 0xc0, 0x60, 0xc0, 0xe0, 0xe0, 0xc0, 0x60, 0xc0, 0x60, 0xc0, 0x60, 0xc0, 0x60, 0xe0, 0xe0, 0x60, 0xc0, 0x71, 0xc0, 0x3f, 0x80, 0x1f, 0x0} - -/* odieresis (246) */ -#define NXFONT_METRICS_246 {2, 11, 18, 1, 11, 0} -#define NXFONT_BITMAP_246 {0x33, 0x0, 0x33, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1f, 0x0, 0x3f, 0x80, 0x71, 0xc0, 0x60, 0xc0, 0xe0, 0xe0, 0xc0, 0x60, 0xc0, 0x60, 0xc0, 0x60, 0xc0, 0x60, 0xe0, 0xe0, 0x60, 0xc0, 0x71, 0xc0, 0x3f, 0x80, 0x1f, 0x0} - -/* divide (247) */ -#define NXFONT_METRICS_247 {2, 12, 12, 1, 16, 0} -#define NXFONT_BITMAP_247 {0x6, 0x0, 0x6, 0x0, 0x6, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xf0, 0xff, 0xf0, 0x0, 0x0, 0x0, 0x0, 0x6, 0x0, 0x6, 0x0, 0x6, 0x0} - -/* oslash (248) */ -#define NXFONT_METRICS_248 {2, 13, 14, 0, 15, 0} -#define NXFONT_BITMAP_248 {0xf, 0x98, 0x1f, 0xf8, 0x38, 0x70, 0x30, 0xe0, 0x71, 0xf0, 0x63, 0xb0, 0x63, 0x30, 0x66, 0x30, 0x6c, 0x30, 0x7c, 0x70, 0x38, 0x60, 0x70, 0xe0, 0xff, 0xc0, 0xcf, 0x80} - -/* ugrave (249) */ -#define NXFONT_METRICS_249 {2, 10, 19, 2, 10, 0} -#define NXFONT_BITMAP_249 {0x30, 0x0, 0x18, 0x0, 0xc, 0x0, 0x6, 0x0, 0x0, 0x0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc1, 0xc0, 0x63, 0xc0, 0x7e, 0xc0, 0x1c, 0xc0} - -/* uacute (250) */ -#define NXFONT_METRICS_250 {2, 10, 19, 2, 10, 0} -#define NXFONT_BITMAP_250 {0x3, 0x0, 0x6, 0x0, 0xc, 0x0, 0x18, 0x0, 0x0, 0x0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc1, 0xc0, 0x63, 0xc0, 0x7e, 0xc0, 0x1c, 0xc0} - -/* ucircumflex (251) */ -#define NXFONT_METRICS_251 {2, 10, 19, 2, 10, 0} -#define NXFONT_BITMAP_251 {0xc, 0x0, 0x1e, 0x0, 0x33, 0x0, 0x61, 0x80, 0x0, 0x0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc1, 0xc0, 0x63, 0xc0, 0x7e, 0xc0, 0x1c, 0xc0} - -/* udieresis (252) */ -#define NXFONT_METRICS_252 {2, 10, 18, 2, 11, 0} -#define NXFONT_BITMAP_252 {0x33, 0x0, 0x33, 0x0, 0x0, 0x0, 0x0, 0x0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc1, 0xc0, 0x63, 0xc0, 0x7e, 0xc0, 0x1c, 0xc0} - -/* yacute (253) */ -#define NXFONT_METRICS_253 {2, 12, 24, 0, 10, 0} -#define NXFONT_BITMAP_253 {0x0, 0xc0, 0x1, 0x80, 0x3, 0x0, 0x6, 0x0, 0x0, 0x0, 0xc0, 0x30, 0xc0, 0x30, 0x60, 0x30, 0x70, 0x60, 0x30, 0x60, 0x38, 0xe0, 0x18, 0xc0, 0x18, 0xc0, 0xd, 0x80, 0xd, 0x80, 0x7, 0x80, 0x7, 0x0, 0x3, 0x0, 0x3, 0x0, 0x6, 0x0, 0x6, 0x0, 0xc, 0x0, 0x3c, 0x0, 0x38, 0x0} - -/* thorn (254) */ -#define NXFONT_METRICS_254 {2, 11, 24, 2, 10, 0} -#define NXFONT_BITMAP_254 {0xc0, 0x0, 0xc0, 0x0, 0xc0, 0x0, 0xc0, 0x0, 0xc0, 0x0, 0xcf, 0x0, 0xdf, 0x80, 0xf1, 0xc0, 0xe0, 0xc0, 0xc0, 0xe0, 0xc0, 0x60, 0xc0, 0x60, 0xc0, 0x60, 0xc0, 0x60, 0xc0, 0xe0, 0xe0, 0xc0, 0xf1, 0xc0, 0xdf, 0x80, 0xcf, 0x0, 0xc0, 0x0, 0xc0, 0x0, 0xc0, 0x0, 0xc0, 0x0, 0xc0, 0x0} - -/* ydieresis (255) */ -#define NXFONT_METRICS_255 {2, 12, 23, 0, 11, 0} -#define NXFONT_BITMAP_255 {0x19, 0x80, 0x19, 0x80, 0x0, 0x0, 0x0, 0x0, 0xc0, 0x30, 0xc0, 0x30, 0x60, 0x30, 0x70, 0x60, 0x30, 0x60, 0x38, 0xe0, 0x18, 0xc0, 0x18, 0xc0, 0xd, 0x80, 0xd, 0x80, 0x7, 0x80, 0x7, 0x0, 0x3, 0x0, 0x3, 0x0, 0x6, 0x0, 0x6, 0x0, 0xc, 0x0, 0x3c, 0x0, 0x38, 0x0} - -/**************************************************************************** - * Public Types - ****************************************************************************/ - -/**************************************************************************** - * Public Data - ****************************************************************************/ - -#undef EXTERN -#if defined(__cplusplus) -#define EXTERN extern "C" -extern "C" { -#else -#define EXTERN extern -#endif - -/**************************************************************************** - * Public Functions - ****************************************************************************/ - -#undef EXTERN -#if defined(__cplusplus) -} -#endif - -#endif /* __GRAPHICS_NXFONTS_NXFONTS_SANS28X37_H */ diff --git a/nuttx/graphics/nxfonts/nxfonts_sans28x37b.h b/nuttx/graphics/nxfonts/nxfonts_sans28x37b.h deleted file mode 100755 index 6f368056d..000000000 --- a/nuttx/graphics/nxfonts/nxfonts_sans28x37b.h +++ /dev/null @@ -1,849 +0,0 @@ -/**************************************************************************** - * graphics/nxfonts/nxfonts_sans28x37b.h - * - * Copyright (C) 2011-2012 NX Engineering, S.A., All rights reserved. - * Author: Jose Pablo Carballo Gomez <jcarballo@nx-engineering.com> - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * 3. Neither the name NuttX nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT} - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING} - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - ****************************************************************************/ - -#ifndef __GRAPHICS_NXFONTS_NXFONTS_SANS28X37B_H -#define __GRAPHICS_NXFONTS_NXFONTS_SANS28X37B_H - -/**************************************************************************** - * Included Files - ****************************************************************************/ - -/**************************************************************************** - * Pre-Processor Definitions - ****************************************************************************/ - -/* Font ID */ - -#define NXFONT_ID FONTID_SANS28X37B - -/* Ranges of 7-bit and 8-bit fonts */ - -#define NXFONT_MIN7BIT 33 -#define NXFONT_MAX7BIT 126 - -#define NXFONT_MIN8BIT 161 -#define NXFONT_MAX8BIT 255 - -/* Maximum height and width of any glyph in the set */ - -#define NXFONT_MAXHEIGHT 37 -#define NXFONT_MAXWIDTH 28 - -/* The width of a space */ - -#define NXFONT_SPACEWIDTH 6 - -/* exclam (33) */ -#define NXFONT_METRICS_33 {1, 3, 19, 2, 10, 0} -#define NXFONT_BITMAP_33 {0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xc0, 0xc0, 0xc0, 0x0, 0x0, 0xe0, 0xe0, 0xe0} - -/* quotedbl (34) */ -#define NXFONT_METRICS_34 {1, 5, 6, 2, 10, 0} -#define NXFONT_BITMAP_34 {0xd8, 0xd8, 0xd8, 0xd8, 0xd8, 0x90} - -/* numbersign (35) */ -#define NXFONT_METRICS_35 {2, 12, 18, 1, 11, 0} -#define NXFONT_BITMAP_35 {0xc, 0xc0, 0xc, 0xc0, 0xc, 0xc0, 0xc, 0xc0, 0xc, 0xc0, 0x7f, 0xf0, 0x7f, 0xf0, 0x19, 0x80, 0x19, 0x80, 0x19, 0x80, 0x19, 0x80, 0xff, 0xe0, 0xff, 0xe0, 0x33, 0x0, 0x33, 0x0, 0x33, 0x0, 0x33, 0x0, 0x33, 0x0} - -/* dollar (36) */ -#define NXFONT_METRICS_36 {2, 12, 21, 0, 10, 0} -#define NXFONT_BITMAP_36 {0x6, 0x0, 0x3f, 0x80, 0x7f, 0xe0, 0xf6, 0xe0, 0xe6, 0x70, 0xe6, 0x70, 0xf6, 0x0, 0x7e, 0x0, 0x3e, 0x0, 0xf, 0x0, 0x7, 0xc0, 0x7, 0xe0, 0x6, 0xf0, 0xe6, 0x70, 0xe6, 0x70, 0xe6, 0x70, 0xf6, 0xf0, 0x7f, 0xe0, 0x1f, 0xc0, 0x6, 0x0, 0x6, 0x0} - -/* percent (37) */ -#define NXFONT_METRICS_37 {3, 21, 18, 0, 11, 0} -#define NXFONT_BITMAP_37 {0x0, 0x7, 0x0, 0x3e, 0x7, 0x0, 0x7f, 0xe, 0x0, 0xe3, 0x8e, 0x0, 0xc1, 0x9c, 0x0, 0xc1, 0x9c, 0x0, 0xe3, 0xb8, 0x0, 0x7f, 0x38, 0x0, 0x3e, 0x70, 0x0, 0x0, 0x70, 0x0, 0x0, 0xe3, 0xe0, 0x0, 0xe7, 0xf0, 0x1, 0xce, 0x38, 0x1, 0xcc, 0x18, 0x3, 0x8c, 0x18, 0x3, 0x8e, 0x38, 0x7, 0x7, 0xf0, 0x7, 0x3, 0xe0} - -/* ampersand (38) */ -#define NXFONT_METRICS_38 {2, 16, 18, 1, 11, 0} -#define NXFONT_BITMAP_38 {0xf, 0x80, 0x1f, 0xc0, 0x3d, 0xe0, 0x38, 0xe0, 0x38, 0xe0, 0x38, 0xe0, 0x1d, 0xc0, 0xf, 0x80, 0x1f, 0x0, 0x3f, 0x9c, 0x7b, 0xdc, 0x71, 0xfc, 0xe0, 0xf8, 0xe0, 0x70, 0xe0, 0xf8, 0xf1, 0xfc, 0x7f, 0xce, 0x1f, 0x87} - -/* quotesingle (39) */ -#define NXFONT_METRICS_39 {1, 2, 6, 2, 10, 0} -#define NXFONT_BITMAP_39 {0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0x80} - -/* parenleft (40) */ -#define NXFONT_METRICS_40 {1, 6, 24, 1, 10, 0} -#define NXFONT_BITMAP_40 {0xc, 0x1c, 0x38, 0x38, 0x70, 0x70, 0x60, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0x60, 0x70, 0x70, 0x38, 0x38, 0x1c, 0xc} - -/* parenright (41) */ -#define NXFONT_METRICS_41 {1, 6, 24, 1, 10, 0} -#define NXFONT_BITMAP_41 {0xc0, 0xe0, 0x70, 0x70, 0x38, 0x38, 0x18, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x18, 0x38, 0x38, 0x70, 0x70, 0xe0, 0xc0} - -/* asterisk (42) */ -#define NXFONT_METRICS_42 {1, 8, 7, 1, 10, 0} -#define NXFONT_BITMAP_42 {0x18, 0x18, 0xdb, 0xff, 0x3c, 0x66, 0x66} - -/* plus (43) */ -#define NXFONT_METRICS_43 {2, 12, 12, 1, 16, 0} -#define NXFONT_BITMAP_43 {0x6, 0x0, 0x6, 0x0, 0x6, 0x0, 0x6, 0x0, 0x6, 0x0, 0xff, 0xf0, 0xff, 0xf0, 0x6, 0x0, 0x6, 0x0, 0x6, 0x0, 0x6, 0x0, 0x6, 0x0} - -/* comma (44) */ -#define NXFONT_METRICS_44 {1, 3, 6, 2, 26, 0} -#define NXFONT_BITMAP_44 {0xe0, 0xe0, 0xe0, 0x60, 0x60, 0xc0} - -/* hyphen (45) */ -#define NXFONT_METRICS_45 {1, 7, 3, 0, 20, 0} -#define NXFONT_BITMAP_45 {0xfe, 0xfe, 0xfe} - -/* period (46) */ -#define NXFONT_METRICS_46 {1, 3, 3, 2, 26, 0} -#define NXFONT_BITMAP_46 {0xe0, 0xe0, 0xe0} - -/* slash (47) */ -#define NXFONT_METRICS_47 {1, 7, 19, 1, 10, 0} -#define NXFONT_BITMAP_47 {0x6, 0x6, 0x6, 0xc, 0xc, 0xc, 0x18, 0x18, 0x18, 0x18, 0x30, 0x30, 0x30, 0x60, 0x60, 0x60, 0xc0, 0xc0, 0xc0} - -/* zero (48) */ -#define NXFONT_METRICS_48 {2, 12, 18, 0, 11, 0} -#define NXFONT_BITMAP_48 {0x1f, 0x80, 0x3f, 0xc0, 0x79, 0xe0, 0x70, 0xe0, 0x70, 0xe0, 0xe0, 0x70, 0xe0, 0x70, 0xe0, 0x70, 0xe0, 0x70, 0xe0, 0x70, 0xe0, 0x70, 0xe0, 0x70, 0xe0, 0x70, 0x70, 0xe0, 0x70, 0xe0, 0x79, 0xe0, 0x3f, 0xc0, 0x1f, 0x80} - -/* one (49) */ -#define NXFONT_METRICS_49 {1, 7, 18, 2, 11, 0} -#define NXFONT_BITMAP_49 {0xe, 0xe, 0x1e, 0xfe, 0xfe, 0xe, 0xe, 0xe, 0xe, 0xe, 0xe, 0xe, 0xe, 0xe, 0xe, 0xe, 0xe, 0xe} - -/* two (50) */ -#define NXFONT_METRICS_50 {2, 12, 18, 0, 11, 0} -#define NXFONT_BITMAP_50 {0x1f, 0x0, 0x7f, 0xc0, 0x71, 0xe0, 0xe0, 0xe0, 0xe0, 0x70, 0xe0, 0x70, 0x0, 0x70, 0x0, 0xe0, 0x1, 0xe0, 0x3, 0xc0, 0x7, 0x80, 0x1f, 0x0, 0x3c, 0x0, 0x78, 0x0, 0xf0, 0x0, 0xe0, 0x0, 0xff, 0xf0, 0xff, 0xf0} - -/* three (51) */ -#define NXFONT_METRICS_51 {2, 12, 18, 0, 11, 0} -#define NXFONT_BITMAP_51 {0x1f, 0x0, 0x7f, 0xc0, 0x71, 0xc0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0x0, 0xe0, 0x1, 0xc0, 0xf, 0x80, 0xf, 0xe0, 0x0, 0xe0, 0x0, 0x70, 0x0, 0x70, 0xe0, 0x70, 0xe0, 0xf0, 0x71, 0xe0, 0x7f, 0xe0, 0x1f, 0x80} - -/* four (52) */ -#define NXFONT_METRICS_52 {2, 12, 18, 0, 11, 0} -#define NXFONT_BITMAP_52 {0x1, 0xc0, 0x3, 0xc0, 0x3, 0xc0, 0x7, 0xc0, 0x7, 0xc0, 0xd, 0xc0, 0x1d, 0xc0, 0x19, 0xc0, 0x31, 0xc0, 0x71, 0xc0, 0x61, 0xc0, 0xe1, 0xc0, 0xff, 0xf0, 0xff, 0xf0, 0x1, 0xc0, 0x1, 0xc0, 0x1, 0xc0, 0x1, 0xc0} - -/* five (53) */ -#define NXFONT_METRICS_53 {2, 12, 18, 0, 11, 0} -#define NXFONT_BITMAP_53 {0x7f, 0xe0, 0x7f, 0xe0, 0x70, 0x0, 0x70, 0x0, 0x70, 0x0, 0x70, 0x0, 0x7f, 0x80, 0x7f, 0xc0, 0x71, 0xe0, 0x0, 0xe0, 0x0, 0x70, 0x0, 0x70, 0x0, 0x70, 0xe0, 0x70, 0xe0, 0xf0, 0xf1, 0xe0, 0x7f, 0xc0, 0x1f, 0x80} - -/* six (54) */ -#define NXFONT_METRICS_54 {2, 12, 18, 0, 11, 0} -#define NXFONT_BITMAP_54 {0xf, 0x80, 0x3f, 0xe0, 0x78, 0xe0, 0x70, 0x70, 0xe0, 0x70, 0xe0, 0x0, 0xe0, 0x0, 0xef, 0x0, 0xff, 0xc0, 0xf9, 0xe0, 0xf0, 0xe0, 0xe0, 0x70, 0xe0, 0x70, 0xe0, 0x70, 0x70, 0xe0, 0x79, 0xe0, 0x3f, 0xc0, 0x1f, 0x80} - -/* seven (55) */ -#define NXFONT_METRICS_55 {2, 12, 18, 0, 11, 0} -#define NXFONT_BITMAP_55 {0xff, 0xf0, 0xff, 0xf0, 0x0, 0xf0, 0x0, 0xe0, 0x1, 0xc0, 0x1, 0xc0, 0x3, 0x80, 0x3, 0x80, 0x7, 0x0, 0x7, 0x0, 0xe, 0x0, 0xe, 0x0, 0x1e, 0x0, 0x1c, 0x0, 0x1c, 0x0, 0x3c, 0x0, 0x38, 0x0, 0x38, 0x0} - -/* eight (56) */ -#define NXFONT_METRICS_56 {2, 12, 18, 0, 11, 0} -#define NXFONT_BITMAP_56 {0xf, 0x0, 0x3f, 0xc0, 0x39, 0xc0, 0x70, 0xe0, 0x70, 0xe0, 0x70, 0xe0, 0x70, 0xe0, 0x39, 0xc0, 0x1f, 0x80, 0x3f, 0xc0, 0x70, 0xe0, 0xe0, 0x70, 0xe0, 0x70, 0xe0, 0x70, 0xe0, 0x70, 0x70, 0xe0, 0x7f, 0xe0, 0x1f, 0x80} - -/* nine (57) */ -#define NXFONT_METRICS_57 {2, 12, 18, 0, 11, 0} -#define NXFONT_BITMAP_57 {0x1f, 0x80, 0x7f, 0xc0, 0x79, 0xe0, 0xf0, 0xe0, 0xe0, 0x70, 0xe0, 0x70, 0xe0, 0x70, 0xe0, 0x70, 0xf0, 0xf0, 0x79, 0xf0, 0x7f, 0xf0, 0x1f, 0x70, 0x0, 0x70, 0x0, 0x70, 0xe0, 0xe0, 0xf3, 0xe0, 0x7f, 0xc0, 0x1f, 0x0} - -/* colon (58) */ -#define NXFONT_METRICS_58 {1, 3, 14, 2, 15, 0} -#define NXFONT_BITMAP_58 {0xe0, 0xe0, 0xe0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xe0, 0xe0, 0xe0} - -/* semicolon (59) */ -#define NXFONT_METRICS_59 {1, 3, 17, 2, 15, 0} -#define NXFONT_BITMAP_59 {0xe0, 0xe0, 0xe0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xe0, 0xe0, 0xe0, 0x60, 0x60, 0xc0} - -/* less (60) */ -#define NXFONT_METRICS_60 {2, 13, 12, 0, 16, 0} -#define NXFONT_BITMAP_60 {0x0, 0x38, 0x0, 0xf8, 0x3, 0xe0, 0xf, 0x80, 0x3e, 0x0, 0xf0, 0x0, 0xf0, 0x0, 0x3e, 0x0, 0xf, 0x80, 0x3, 0xe0, 0x0, 0xf8, 0x0, 0x38} - -/* equal (61) */ -#define NXFONT_METRICS_61 {2, 10, 5, 2, 19, 0} -#define NXFONT_BITMAP_61 {0xff, 0xc0, 0xff, 0xc0, 0x0, 0x0, 0xff, 0xc0, 0xff, 0xc0} - -/* greater (62) */ -#define NXFONT_METRICS_62 {2, 13, 12, 1, 16, 0} -#define NXFONT_BITMAP_62 {0xe0, 0x0, 0xf8, 0x0, 0x3e, 0x0, 0xf, 0x80, 0x3, 0xe0, 0x0, 0x78, 0x0, 0x78, 0x3, 0xe0, 0xf, 0x80, 0x3e, 0x0, 0xf8, 0x0, 0xe0, 0x0} - -/* question (63) */ -#define NXFONT_METRICS_63 {2, 11, 19, 2, 10, 0} -#define NXFONT_BITMAP_63 {0x1f, 0x80, 0x7f, 0xc0, 0x79, 0xe0, 0xf0, 0xe0, 0xe0, 0xe0, 0xe1, 0xe0, 0x1, 0xc0, 0x3, 0xc0, 0x7, 0x80, 0x7, 0x0, 0xe, 0x0, 0xe, 0x0, 0xe, 0x0, 0xe, 0x0, 0x0, 0x0, 0x0, 0x0, 0xe, 0x0, 0xe, 0x0, 0xe, 0x0} - -/* at (64) */ -#define NXFONT_METRICS_64 {3, 22, 22, 1, 11, 0} -#define NXFONT_BITMAP_64 {0x1, 0xff, 0x0, 0x7, 0xff, 0xc0, 0xf, 0x81, 0xf0, 0x1e, 0x0, 0x78, 0x3c, 0x0, 0x38, 0x78, 0x7d, 0x9c, 0x70, 0xff, 0x9c, 0xf1, 0xc7, 0x1c, 0xe3, 0x87, 0x1c, 0xe3, 0xe, 0x1c, 0xe7, 0xe, 0x38, 0xe7, 0xc, 0x38, 0xe7, 0x1c, 0x70, 0xe7, 0x1c, 0x70, 0xe3, 0x9d, 0xe0, 0xf3, 0xff, 0xc0, 0x71, 0xf7, 0x0, 0x78, 0x0, 0x0, 0x3c, 0x0, 0x0, 0x1f, 0x7, 0x0, 0xf, 0xff, 0x0, 0x3, 0xfc, 0x0} - -/* A (65) */ -#define NXFONT_METRICS_65 {2, 16, 19, 1, 10, 0} -#define NXFONT_BITMAP_65 {0x3, 0xc0, 0x3, 0xc0, 0x7, 0xe0, 0x7, 0xe0, 0xe, 0x60, 0xe, 0x70, 0xe, 0x70, 0x1c, 0x38, 0x1c, 0x38, 0x1c, 0x38, 0x38, 0x1c, 0x38, 0x1c, 0x3f, 0xfc, 0x7f, 0xfe, 0x70, 0xe, 0x70, 0xe, 0xe0, 0x7, 0xe0, 0x7, 0xe0, 0x7} - -/* B (66) */ -#define NXFONT_METRICS_66 {2, 15, 19, 2, 10, 0} -#define NXFONT_BITMAP_66 {0xff, 0xe0, 0xff, 0xf8, 0xe0, 0x78, 0xe0, 0x1c, 0xe0, 0x1c, 0xe0, 0x1c, 0xe0, 0x1c, 0xe0, 0x38, 0xff, 0xf0, 0xff, 0xf8, 0xe0, 0x1c, 0xe0, 0xe, 0xe0, 0xe, 0xe0, 0xe, 0xe0, 0xe, 0xe0, 0x1e, 0xe0, 0x7c, 0xff, 0xf8, 0xff, 0xe0} - -/* C (67) */ -#define NXFONT_METRICS_67 {2, 16, 19, 1, 10, 0} -#define NXFONT_BITMAP_67 {0x7, 0xf0, 0x1f, 0xfc, 0x3e, 0x3e, 0x78, 0xf, 0x70, 0x7, 0xf0, 0x0, 0xe0, 0x0, 0xe0, 0x0, 0xe0, 0x0, 0xe0, 0x0, 0xe0, 0x0, 0xe0, 0x0, 0xe0, 0x0, 0xf0, 0x7, 0x70, 0x7, 0x78, 0xf, 0x3e, 0x3e, 0x1f, 0xfc, 0x7, 0xf0} - -/* D (68) */ -#define NXFONT_METRICS_68 {2, 16, 19, 2, 10, 0} -#define NXFONT_BITMAP_68 {0xff, 0xe0, 0xff, 0xf8, 0xe0, 0x7c, 0xe0, 0x1e, 0xe0, 0xe, 0xe0, 0xf, 0xe0, 0x7, 0xe0, 0x7, 0xe0, 0x7, 0xe0, 0x7, 0xe0, 0x7, 0xe0, 0x7, 0xe0, 0x7, 0xe0, 0xf, 0xe0, 0xe, 0xe0, 0x1e, 0xe0, 0x7c, 0xff, 0xf8, 0xff, 0xe0} - -/* E (69) */ -#define NXFONT_METRICS_69 {2, 13, 19, 2, 10, 0} -#define NXFONT_BITMAP_69 {0xff, 0xf0, 0xff, 0xf0, 0xe0, 0x0, 0xe0, 0x0, 0xe0, 0x0, 0xe0, 0x0, 0xe0, 0x0, 0xe0, 0x0, 0xff, 0xe0, 0xff, 0xe0, 0xe0, 0x0, 0xe0, 0x0, 0xe0, 0x0, 0xe0, 0x0, 0xe0, 0x0, 0xe0, 0x0, 0xe0, 0x0, 0xff, 0xf8, 0xff, 0xf8} - -/* F (70) */ -#define NXFONT_METRICS_70 {2, 12, 19, 2, 10, 0} -#define NXFONT_BITMAP_70 {0xff, 0xf0, 0xff, 0xf0, 0xe0, 0x0, 0xe0, 0x0, 0xe0, 0x0, 0xe0, 0x0, 0xe0, 0x0, 0xe0, 0x0, 0xff, 0xe0, 0xff, 0xe0, 0xe0, 0x0, 0xe0, 0x0, 0xe0, 0x0, 0xe0, 0x0, 0xe0, 0x0, 0xe0, 0x0, 0xe0, 0x0, 0xe0, 0x0, 0xe0, 0x0} - -/* G (71) */ -#define NXFONT_METRICS_71 {3, 17, 19, 1, 10, 0} -#define NXFONT_BITMAP_71 {0x7, 0xf0, 0x0, 0x1f, 0xfc, 0x0, 0x3e, 0x3e, 0x0, 0x78, 0xf, 0x0, 0x70, 0x7, 0x0, 0xf0, 0x0, 0x0, 0xe0, 0x0, 0x0, 0xe0, 0x0, 0x0, 0xe0, 0x0, 0x0, 0xe0, 0x7f, 0x80, 0xe0, 0x7f, 0x80, 0xe0, 0x3, 0x80, 0xe0, 0x3, 0x80, 0xf0, 0x3, 0x80, 0x70, 0x7, 0x80, 0x78, 0xf, 0x80, 0x3e, 0x3f, 0x80, 0x1f, 0xfb, 0x80, 0x7, 0xf3, 0x80} - -/* H (72) */ -#define NXFONT_METRICS_72 {2, 15, 19, 2, 10, 0} -#define NXFONT_BITMAP_72 {0xe0, 0xe, 0xe0, 0xe, 0xe0, 0xe, 0xe0, 0xe, 0xe0, 0xe, 0xe0, 0xe, 0xe0, 0xe, 0xe0, 0xe, 0xff, 0xfe, 0xff, 0xfe, 0xe0, 0xe, 0xe0, 0xe, 0xe0, 0xe, 0xe0, 0xe, 0xe0, 0xe, 0xe0, 0xe, 0xe0, 0xe, 0xe0, 0xe, 0xe0, 0xe} - -/* I (73) */ -#define NXFONT_METRICS_73 {1, 3, 19, 2, 10, 0} -#define NXFONT_BITMAP_73 {0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0} - -/* J (74) */ -#define NXFONT_METRICS_74 {2, 11, 19, 1, 10, 0} -#define NXFONT_BITMAP_74 {0x0, 0xe0, 0x0, 0xe0, 0x0, 0xe0, 0x0, 0xe0, 0x0, 0xe0, 0x0, 0xe0, 0x0, 0xe0, 0x0, 0xe0, 0x0, 0xe0, 0x0, 0xe0, 0x0, 0xe0, 0x0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0x71, 0xe0, 0x7f, 0xc0, 0x3f, 0x80} - -/* K (75) */ -#define NXFONT_METRICS_75 {2, 14, 19, 2, 10, 0} -#define NXFONT_BITMAP_75 {0xe0, 0x3c, 0xe0, 0x78, 0xe0, 0xf0, 0xe1, 0xe0, 0xe3, 0xc0, 0xe7, 0x80, 0xef, 0x0, 0xfe, 0x0, 0xfe, 0x0, 0xff, 0x0, 0xf7, 0x80, 0xe3, 0x80, 0xe1, 0xc0, 0xe1, 0xe0, 0xe0, 0xe0, 0xe0, 0x70, 0xe0, 0x78, 0xe0, 0x38, 0xe0, 0x3c} - -/* L (76) */ -#define NXFONT_METRICS_76 {2, 12, 19, 2, 10, 0} -#define NXFONT_BITMAP_76 {0xe0, 0x0, 0xe0, 0x0, 0xe0, 0x0, 0xe0, 0x0, 0xe0, 0x0, 0xe0, 0x0, 0xe0, 0x0, 0xe0, 0x0, 0xe0, 0x0, 0xe0, 0x0, 0xe0, 0x0, 0xe0, 0x0, 0xe0, 0x0, 0xe0, 0x0, 0xe0, 0x0, 0xe0, 0x0, 0xe0, 0x0, 0xff, 0xf0, 0xff, 0xf0} - -/* M (77) */ -#define NXFONT_METRICS_77 {3, 19, 19, 2, 10, 0} -#define NXFONT_BITMAP_77 {0xe0, 0x0, 0xe0, 0xf0, 0x1, 0xe0, 0xf0, 0x1, 0xe0, 0xf8, 0x3, 0xe0, 0xf8, 0x3, 0xe0, 0xfc, 0x7, 0xe0, 0xec, 0x6, 0xe0, 0xee, 0xe, 0xe0, 0xe6, 0xc, 0xe0, 0xe7, 0x1c, 0xe0, 0xe7, 0x1c, 0xe0, 0xe3, 0x18, 0xe0, 0xe3, 0xb8, 0xe0, 0xe3, 0xb8, 0xe0, 0xe1, 0xf0, 0xe0, 0xe1, 0xf0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0} - -/* N (78) */ -#define NXFONT_METRICS_78 {2, 15, 19, 2, 10, 0} -#define NXFONT_BITMAP_78 {0xe0, 0xe, 0xf0, 0xe, 0xf0, 0xe, 0xf8, 0xe, 0xf8, 0xe, 0xfc, 0xe, 0xee, 0xe, 0xee, 0xe, 0xe7, 0xe, 0xe3, 0x8e, 0xe3, 0x8e, 0xe1, 0xce, 0xe0, 0xce, 0xe0, 0xee, 0xe0, 0x7e, 0xe0, 0x3e, 0xe0, 0x3e, 0xe0, 0x1e, 0xe0, 0xe} - -/* O (79) */ -#define NXFONT_METRICS_79 {3, 17, 19, 1, 10, 0} -#define NXFONT_BITMAP_79 {0x7, 0xf0, 0x0, 0x1f, 0xfc, 0x0, 0x3e, 0x3e, 0x0, 0x78, 0xf, 0x0, 0x70, 0x7, 0x0, 0xf0, 0x7, 0x80, 0xe0, 0x3, 0x80, 0xe0, 0x3, 0x80, 0xe0, 0x3, 0x80, 0xe0, 0x3, 0x80, 0xe0, 0x3, 0x80, 0xe0, 0x3, 0x80, 0xe0, 0x3, 0x80, 0xf0, 0x7, 0x80, 0x70, 0x7, 0x0, 0x78, 0xf, 0x0, 0x3e, 0x3e, 0x0, 0x1f, 0xfc, 0x0, 0x7, 0xf0, 0x0} - -/* P (80) */ -#define NXFONT_METRICS_80 {2, 14, 19, 2, 10, 0} -#define NXFONT_BITMAP_80 {0xff, 0xe0, 0xff, 0xf8, 0xe0, 0x38, 0xe0, 0x1c, 0xe0, 0x1c, 0xe0, 0x1c, 0xe0, 0x1c, 0xe0, 0x38, 0xff, 0xf8, 0xff, 0xf0, 0xe0, 0x0, 0xe0, 0x0, 0xe0, 0x0, 0xe0, 0x0, 0xe0, 0x0, 0xe0, 0x0, 0xe0, 0x0, 0xe0, 0x0, 0xe0, 0x0} - -/* Q (81) */ -#define NXFONT_METRICS_81 {3, 17, 20, 1, 10, 0} -#define NXFONT_BITMAP_81 {0x7, 0xf0, 0x0, 0x1f, 0xfc, 0x0, 0x3e, 0x3e, 0x0, 0x78, 0xf, 0x0, 0x70, 0x7, 0x0, 0xf0, 0x7, 0x80, 0xe0, 0x3, 0x80, 0xe0, 0x3, 0x80, 0xe0, 0x3, 0x80, 0xe0, 0x3, 0x80, 0xe0, 0x3, 0x80, 0xe0, 0x3, 0x80, 0xe0, 0x3, 0x80, 0xf0, 0x27, 0x80, 0x70, 0x77, 0x0, 0x78, 0x3f, 0x0, 0x3e, 0x1e, 0x0, 0x1f, 0xfe, 0x0, 0x7, 0xf7, 0x0, 0x0, 0x2, 0x0} - -/* R (82) */ -#define NXFONT_METRICS_82 {2, 14, 19, 2, 10, 0} -#define NXFONT_BITMAP_82 {0xff, 0xe0, 0xff, 0xf8, 0xe0, 0x38, 0xe0, 0x1c, 0xe0, 0x1c, 0xe0, 0x1c, 0xe0, 0x1c, 0xe0, 0x38, 0xff, 0xf8, 0xff, 0xf0, 0xe0, 0x78, 0xe0, 0x38, 0xe0, 0x1c, 0xe0, 0x1c, 0xe0, 0x1c, 0xe0, 0x1c, 0xe0, 0x1c, 0xe0, 0x1c, 0xe0, 0x1c} - -/* S (83) */ -#define NXFONT_METRICS_83 {2, 14, 19, 2, 10, 0} -#define NXFONT_BITMAP_83 {0xf, 0xc0, 0x3f, 0xf0, 0x78, 0xf8, 0xf0, 0x38, 0xe0, 0x38, 0xe0, 0x0, 0xf0, 0x0, 0x7c, 0x0, 0x3f, 0xc0, 0x7, 0xf0, 0x0, 0xf8, 0x0, 0x3c, 0x0, 0x1c, 0xe0, 0x1c, 0xe0, 0x1c, 0xe0, 0x3c, 0xf8, 0xf8, 0x7f, 0xf0, 0x1f, 0xc0} - -/* T (84) */ -#define NXFONT_METRICS_84 {2, 15, 19, 0, 10, 0} -#define NXFONT_BITMAP_84 {0xff, 0xfe, 0xff, 0xfe, 0x3, 0x80, 0x3, 0x80, 0x3, 0x80, 0x3, 0x80, 0x3, 0x80, 0x3, 0x80, 0x3, 0x80, 0x3, 0x80, 0x3, 0x80, 0x3, 0x80, 0x3, 0x80, 0x3, 0x80, 0x3, 0x80, 0x3, 0x80, 0x3, 0x80, 0x3, 0x80, 0x3, 0x80} - -/* U (85) */ -#define NXFONT_METRICS_85 {2, 15, 19, 2, 10, 0} -#define NXFONT_BITMAP_85 {0xe0, 0xe, 0xe0, 0xe, 0xe0, 0xe, 0xe0, 0xe, 0xe0, 0xe, 0xe0, 0xe, 0xe0, 0xe, 0xe0, 0xe, 0xe0, 0xe, 0xe0, 0xe, 0xe0, 0xe, 0xe0, 0xe, 0xe0, 0xe, 0xe0, 0xe, 0xf0, 0x1e, 0x70, 0x1c, 0x7c, 0x7c, 0x3f, 0xf8, 0xf, 0xe0} - -/* V (86) */ -#define NXFONT_METRICS_86 {2, 16, 19, 1, 10, 0} -#define NXFONT_BITMAP_86 {0xe0, 0x7, 0xe0, 0x7, 0xf0, 0xf, 0x70, 0xe, 0x78, 0x1e, 0x38, 0x1c, 0x38, 0x1c, 0x3c, 0x3c, 0x1c, 0x38, 0x1c, 0x38, 0x1e, 0x78, 0xe, 0x70, 0xe, 0x70, 0xe, 0x70, 0x7, 0xe0, 0x7, 0xe0, 0x3, 0xc0, 0x3, 0xc0, 0x3, 0xc0} - -/* W (87) */ -#define NXFONT_METRICS_87 {3, 21, 19, 1, 10, 0} -#define NXFONT_BITMAP_87 {0xe0, 0x70, 0x38, 0xe0, 0x70, 0x38, 0xe0, 0x70, 0x38, 0xe0, 0x70, 0x38, 0x70, 0xf8, 0x70, 0x70, 0xf8, 0x70, 0x70, 0xd8, 0x70, 0x71, 0xdc, 0x70, 0x31, 0xdc, 0x60, 0x39, 0xdc, 0xe0, 0x39, 0x8c, 0xe0, 0x3b, 0x8e, 0xe0, 0x1b, 0x8e, 0xc0, 0x1b, 0x8e, 0xc0, 0x1f, 0x7, 0xc0, 0x1f, 0x7, 0xc0, 0xe, 0x3, 0x80, 0xe, 0x3, 0x80, 0xe, 0x3, 0x80} - -/* X (88) */ -#define NXFONT_METRICS_88 {2, 16, 19, 1, 10, 0} -#define NXFONT_BITMAP_88 {0xe0, 0x7, 0xf0, 0xf, 0x78, 0x1e, 0x38, 0x1c, 0x1c, 0x38, 0xe, 0x70, 0xf, 0xf0, 0x7, 0xe0, 0x3, 0xc0, 0x3, 0xc0, 0x7, 0xe0, 0xf, 0xf0, 0xe, 0x70, 0x1c, 0x38, 0x3c, 0x3c, 0x38, 0x1c, 0x70, 0xe, 0xf0, 0xf, 0xe0, 0x7} - -/* Y (89) */ -#define NXFONT_METRICS_89 {2, 15, 19, 1, 10, 0} -#define NXFONT_BITMAP_89 {0xe0, 0xe, 0xf0, 0xe, 0x70, 0x1c, 0x78, 0x1c, 0x38, 0x38, 0x3c, 0x38, 0x1c, 0x70, 0x1c, 0x70, 0xe, 0xe0, 0xe, 0xe0, 0x7, 0xc0, 0x7, 0xc0, 0x3, 0x80, 0x3, 0x80, 0x3, 0x80, 0x3, 0x80, 0x3, 0x80, 0x3, 0x80, 0x3, 0x80} - -/* Z (90) */ -#define NXFONT_METRICS_90 {2, 14, 19, 1, 10, 0} -#define NXFONT_BITMAP_90 {0xff, 0xfc, 0xff, 0xfc, 0x0, 0x3c, 0x0, 0x78, 0x0, 0xf0, 0x1, 0xe0, 0x1, 0xe0, 0x3, 0xc0, 0x7, 0x80, 0x7, 0x80, 0xf, 0x0, 0x1e, 0x0, 0x1e, 0x0, 0x3c, 0x0, 0x38, 0x0, 0x78, 0x0, 0xf0, 0x0, 0xff, 0xfc, 0xff, 0xfc} - -/* bracketleft (91) */ -#define NXFONT_METRICS_91 {1, 5, 24, 1, 10, 0} -#define NXFONT_BITMAP_91 {0xf8, 0xf8, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xf8, 0xf8} - -/* backslash (92) */ -#define NXFONT_METRICS_92 {1, 7, 19, 0, 10, 0} -#define NXFONT_BITMAP_92 {0xc0, 0xc0, 0xc0, 0x60, 0x60, 0x60, 0x30, 0x30, 0x30, 0x30, 0x18, 0x18, 0x18, 0xc, 0xc, 0xc, 0x6, 0x6, 0x6} - -/* bracketright (93) */ -#define NXFONT_METRICS_93 {1, 5, 24, 2, 10, 0} -#define NXFONT_BITMAP_93 {0xf8, 0xf8, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0xf8, 0xf8} - -/* asciicircum (94) */ -#define NXFONT_METRICS_94 {2, 11, 9, 1, 10, 0} -#define NXFONT_BITMAP_94 {0xe, 0x0, 0xe, 0x0, 0x1f, 0x0, 0x1b, 0x0, 0x3b, 0x80, 0x71, 0xc0, 0x71, 0xc0, 0xe0, 0xe0, 0xe0, 0xe0} - -/* underscore (95) */ -#define NXFONT_METRICS_95 {2, 14, 2, 0, 32, 0} -#define NXFONT_BITMAP_95 {0xff, 0xfc, 0xff, 0xfc} - -/* grave (96) */ -#define NXFONT_METRICS_96 {1, 6, 4, 1, 10, 0} -#define NXFONT_BITMAP_96 {0xe0, 0x70, 0x38, 0x1c} - -/* a (97) */ -#define NXFONT_METRICS_97 {2, 12, 14, 1, 15, 0} -#define NXFONT_BITMAP_97 {0x1f, 0x80, 0x3f, 0xc0, 0x71, 0xe0, 0x70, 0xe0, 0x0, 0xe0, 0x7, 0xe0, 0x3f, 0xe0, 0x7c, 0xe0, 0xf0, 0xe0, 0xe0, 0xe0, 0xe1, 0xe0, 0xf3, 0xe0, 0x7f, 0xf0, 0x3e, 0x70} - -/* b (98) */ -#define NXFONT_METRICS_98 {2, 12, 19, 2, 10, 0} -#define NXFONT_BITMAP_98 {0xe0, 0x0, 0xe0, 0x0, 0xe0, 0x0, 0xe0, 0x0, 0xe0, 0x0, 0xef, 0x80, 0xff, 0xc0, 0xf9, 0xe0, 0xf0, 0xe0, 0xe0, 0x70, 0xe0, 0x70, 0xe0, 0x70, 0xe0, 0x70, 0xe0, 0x70, 0xe0, 0x70, 0xf0, 0xe0, 0xf9, 0xe0, 0xff, 0xc0, 0xef, 0x80} - -/* c (99) */ -#define NXFONT_METRICS_99 {2, 11, 14, 1, 15, 0} -#define NXFONT_BITMAP_99 {0x1f, 0x80, 0x3f, 0xc0, 0x79, 0xe0, 0x70, 0xe0, 0xe0, 0x0, 0xe0, 0x0, 0xe0, 0x0, 0xe0, 0x0, 0xe0, 0x0, 0xe0, 0x0, 0x70, 0xe0, 0x79, 0xe0, 0x3f, 0xc0, 0x1f, 0x80} - -/* d (100) */ -#define NXFONT_METRICS_100 {2, 12, 19, 1, 10, 0} -#define NXFONT_BITMAP_100 {0x0, 0x70, 0x0, 0x70, 0x0, 0x70, 0x0, 0x70, 0x0, 0x70, 0x1f, 0x70, 0x3f, 0xf0, 0x79, 0xf0, 0x70, 0xf0, 0xe0, 0x70, 0xe0, 0x70, 0xe0, 0x70, 0xe0, 0x70, 0xe0, 0x70, 0xe0, 0x70, 0x70, 0xf0, 0x79, 0xf0, 0x3f, 0xf0, 0x1f, 0x70} - -/* e (101) */ -#define NXFONT_METRICS_101 {2, 12, 14, 1, 15, 0} -#define NXFONT_BITMAP_101 {0xf, 0x0, 0x3f, 0xc0, 0x79, 0xe0, 0x70, 0xe0, 0xe0, 0x70, 0xe0, 0x70, 0xff, 0xf0, 0xff, 0xf0, 0xe0, 0x0, 0xe0, 0x0, 0x70, 0x70, 0x78, 0xf0, 0x3f, 0xe0, 0xf, 0x80} - -/* f (102) */ -#define NXFONT_METRICS_102 {1, 7, 19, 1, 10, 0} -#define NXFONT_BITMAP_102 {0x1e, 0x3e, 0x38, 0x38, 0x38, 0xfe, 0xfe, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38} - -/* g (103) */ -#define NXFONT_METRICS_103 {2, 12, 19, 1, 15, 0} -#define NXFONT_BITMAP_103 {0x1f, 0x70, 0x3f, 0xf0, 0x79, 0xf0, 0x70, 0xf0, 0xe0, 0x70, 0xe0, 0x70, 0xe0, 0x70, 0xe0, 0x70, 0xe0, 0x70, 0xe0, 0x70, 0x70, 0xf0, 0x79, 0xf0, 0x3f, 0xf0, 0x1f, 0x70, 0x0, 0x70, 0xe0, 0x70, 0xf0, 0xe0, 0x7f, 0xe0, 0x1f, 0x80} - -/* h (104) */ -#define NXFONT_METRICS_104 {2, 11, 19, 2, 10, 0} -#define NXFONT_BITMAP_104 {0xe0, 0x0, 0xe0, 0x0, 0xe0, 0x0, 0xe0, 0x0, 0xe0, 0x0, 0xef, 0x0, 0xff, 0xc0, 0xf1, 0xc0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0} - -/* i (105) */ -#define NXFONT_METRICS_105 {1, 3, 19, 2, 10, 0} -#define NXFONT_BITMAP_105 {0xe0, 0xe0, 0xe0, 0x0, 0x0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0} - -/* j (106) */ -#define NXFONT_METRICS_106 {1, 5, 24, 0, 10, 0} -#define NXFONT_BITMAP_106 {0x38, 0x38, 0x38, 0x0, 0x0, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0xf8, 0xf0} - -/* k (107) */ -#define NXFONT_METRICS_107 {2, 11, 19, 2, 10, 0} -#define NXFONT_BITMAP_107 {0xe0, 0x0, 0xe0, 0x0, 0xe0, 0x0, 0xe0, 0x0, 0xe0, 0x0, 0xe1, 0xc0, 0xe3, 0xc0, 0xe7, 0x80, 0xef, 0x0, 0xfe, 0x0, 0xfc, 0x0, 0xfe, 0x0, 0xef, 0x0, 0xe7, 0x0, 0xe7, 0x80, 0xe3, 0xc0, 0xe1, 0xc0, 0xe1, 0xe0, 0xe0, 0xe0} - -/* l (108) */ -#define NXFONT_METRICS_108 {1, 3, 19, 2, 10, 0} -#define NXFONT_BITMAP_108 {0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0} - -/* m (109) */ -#define NXFONT_METRICS_109 {3, 17, 14, 2, 15, 0} -#define NXFONT_BITMAP_109 {0xef, 0x3e, 0x0, 0xff, 0xff, 0x0, 0xf3, 0xe7, 0x80, 0xe1, 0xc3, 0x80, 0xe1, 0xc3, 0x80, 0xe1, 0xc3, 0x80, 0xe1, 0xc3, 0x80, 0xe1, 0xc3, 0x80, 0xe1, 0xc3, 0x80, 0xe1, 0xc3, 0x80, 0xe1, 0xc3, 0x80, 0xe1, 0xc3, 0x80, 0xe1, 0xc3, 0x80, 0xe1, 0xc3, 0x80} - -/* n (110) */ -#define NXFONT_METRICS_110 {2, 11, 14, 2, 15, 0} -#define NXFONT_BITMAP_110 {0xef, 0x80, 0xff, 0xc0, 0xf1, 0xc0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0} - -/* o (111) */ -#define NXFONT_METRICS_111 {2, 12, 14, 1, 15, 0} -#define NXFONT_BITMAP_111 {0xf, 0x0, 0x3f, 0xc0, 0x79, 0xe0, 0x70, 0xe0, 0xe0, 0x70, 0xe0, 0x70, 0xe0, 0x70, 0xe0, 0x70, 0xe0, 0x70, 0xe0, 0x70, 0x70, 0xe0, 0x79, 0xe0, 0x3f, 0xc0, 0xf, 0x0} - -/* p (112) */ -#define NXFONT_METRICS_112 {2, 12, 19, 2, 15, 0} -#define NXFONT_BITMAP_112 {0xef, 0x80, 0xff, 0xc0, 0xf9, 0xe0, 0xf0, 0xe0, 0xe0, 0x70, 0xe0, 0x70, 0xe0, 0x70, 0xe0, 0x70, 0xe0, 0x70, 0xe0, 0x70, 0xf0, 0xe0, 0xf9, 0xe0, 0xff, 0xc0, 0xef, 0x80, 0xe0, 0x0, 0xe0, 0x0, 0xe0, 0x0, 0xe0, 0x0, 0xe0, 0x0} - -/* q (113) */ -#define NXFONT_METRICS_113 {2, 12, 19, 1, 15, 0} -#define NXFONT_BITMAP_113 {0x1f, 0x70, 0x3f, 0xf0, 0x79, 0xf0, 0x70, 0xf0, 0xe0, 0x70, 0xe0, 0x70, 0xe0, 0x70, 0xe0, 0x70, 0xe0, 0x70, 0xe0, 0x70, 0x70, 0xf0, 0x79, 0xf0, 0x3f, 0xf0, 0x1f, 0x70, 0x0, 0x70, 0x0, 0x70, 0x0, 0x70, 0x0, 0x70, 0x0, 0x70} - -/* r (114) */ -#define NXFONT_METRICS_114 {1, 7, 14, 2, 15, 0} -#define NXFONT_BITMAP_114 {0xee, 0xfe, 0xfe, 0xf0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0} - -/* s (115) */ -#define NXFONT_METRICS_115 {2, 11, 14, 1, 15, 0} -#define NXFONT_BITMAP_115 {0x3f, 0x0, 0x7f, 0x80, 0xf3, 0xc0, 0xe1, 0xc0, 0xe0, 0x0, 0xfc, 0x0, 0x7f, 0x80, 0xf, 0xc0, 0x1, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xf1, 0xe0, 0x7f, 0xc0, 0x3f, 0x80} - -/* t (116) */ -#define NXFONT_METRICS_116 {1, 7, 18, 1, 11, 0} -#define NXFONT_BITMAP_116 {0x38, 0x38, 0x38, 0x38, 0xfe, 0xfe, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x3e, 0x1e} - -/* u (117) */ -#define NXFONT_METRICS_117 {2, 11, 14, 2, 15, 0} -#define NXFONT_BITMAP_117 {0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe1, 0xe0, 0x73, 0xe0, 0x7e, 0xe0, 0x1c, 0xe0} - -/* v (118) */ -#define NXFONT_METRICS_118 {2, 12, 14, 1, 15, 0} -#define NXFONT_BITMAP_118 {0xe0, 0x70, 0xe0, 0x70, 0xe0, 0x70, 0x70, 0xe0, 0x70, 0xe0, 0x70, 0xe0, 0x39, 0xc0, 0x39, 0xc0, 0x39, 0xc0, 0x1f, 0x80, 0x1f, 0x80, 0xf, 0x0, 0xf, 0x0, 0xf, 0x0} - -/* w (119) */ -#define NXFONT_METRICS_119 {3, 19, 14, 0, 15, 0} -#define NXFONT_BITMAP_119 {0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0x60, 0xe0, 0xc0, 0x71, 0xf1, 0xc0, 0x71, 0xf1, 0xc0, 0x31, 0xb1, 0x80, 0x33, 0xb9, 0x80, 0x3b, 0xbb, 0x80, 0x1b, 0x1b, 0x0, 0x1f, 0x1f, 0x0, 0x1f, 0x1f, 0x0, 0xe, 0xe, 0x0, 0xe, 0xe, 0x0, 0xe, 0xe, 0x0} - -/* x (120) */ -#define NXFONT_METRICS_120 {2, 11, 14, 1, 15, 0} -#define NXFONT_BITMAP_120 {0xe0, 0xe0, 0xf1, 0xe0, 0x71, 0xc0, 0x3b, 0x80, 0x3f, 0x80, 0x1f, 0x0, 0xe, 0x0, 0x1f, 0x0, 0x1f, 0x0, 0x3b, 0x80, 0x7b, 0xc0, 0x71, 0xc0, 0xf1, 0xe0, 0xe0, 0xe0} - -/* y (121) */ -#define NXFONT_METRICS_121 {2, 13, 19, 1, 15, 0} -#define NXFONT_BITMAP_121 {0xe0, 0x38, 0xe0, 0x38, 0x70, 0x38, 0x78, 0x70, 0x38, 0x70, 0x3c, 0xf0, 0x1c, 0xe0, 0x1c, 0xe0, 0xf, 0xc0, 0xf, 0xc0, 0x7, 0xc0, 0x7, 0x80, 0x3, 0x80, 0x3, 0x80, 0x7, 0x0, 0x7, 0x0, 0xe, 0x0, 0x3e, 0x0, 0x3c, 0x0} - -/* z (122) */ -#define NXFONT_METRICS_122 {2, 11, 14, 1, 15, 0} -#define NXFONT_BITMAP_122 {0xff, 0xe0, 0xff, 0xe0, 0x1, 0xc0, 0x3, 0x80, 0x7, 0x80, 0xf, 0x0, 0xe, 0x0, 0x1e, 0x0, 0x3c, 0x0, 0x38, 0x0, 0x70, 0x0, 0xf0, 0x0, 0xff, 0xe0, 0xff, 0xe0} - -/* braceleft (123) */ -#define NXFONT_METRICS_123 {1, 7, 24, 1, 10, 0} -#define NXFONT_BITMAP_123 {0xe, 0x1c, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x70, 0xe0, 0xe0, 0x70, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x1c, 0xe} - -/* bar (124) */ -#define NXFONT_METRICS_124 {1, 2, 24, 3, 10, 0} -#define NXFONT_BITMAP_124 {0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0} - -/* braceright (125) */ -#define NXFONT_METRICS_125 {1, 7, 24, 2, 10, 0} -#define NXFONT_BITMAP_125 {0xe0, 0x70, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x1c, 0xe, 0xe, 0x1c, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x70, 0xe0} - -/* asciitilde (126) */ -#define NXFONT_METRICS_126 {2, 11, 4, 1, 20, 0} -#define NXFONT_BITMAP_126 {0x78, 0xe0, 0xfe, 0xe0, 0xef, 0xe0, 0xe3, 0xc0} - -/* exclamdown (161) */ -#define NXFONT_METRICS_161 {1, 3, 19, 2, 15, 0} -#define NXFONT_BITMAP_161 {0xe0, 0xe0, 0xe0, 0x0, 0x0, 0x60, 0x60, 0x60, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0} - -/* cent (162) */ -#define NXFONT_METRICS_162 {2, 11, 18, 1, 13, 0} -#define NXFONT_BITMAP_162 {0x1, 0x80, 0x1, 0x80, 0x1f, 0x80, 0x3f, 0xc0, 0x7b, 0xe0, 0x73, 0x60, 0xe3, 0x0, 0xe6, 0x0, 0xe6, 0x0, 0xe6, 0x0, 0xe6, 0x0, 0xec, 0x0, 0xec, 0xe0, 0x7d, 0xe0, 0x7f, 0xc0, 0x3f, 0x80, 0x18, 0x0, 0x18, 0x0} - -/* sterling (163) */ -#define NXFONT_METRICS_163 {2, 13, 18, 1, 11, 0} -#define NXFONT_BITMAP_163 {0x1f, 0x80, 0x3f, 0xc0, 0x70, 0xe0, 0x70, 0xe0, 0x70, 0x0, 0x78, 0x0, 0x38, 0x0, 0x1c, 0x0, 0xff, 0xc0, 0xff, 0xc0, 0x1c, 0x0, 0x1c, 0x0, 0x1c, 0x0, 0x38, 0x0, 0x38, 0x0, 0x7f, 0x38, 0xff, 0xf8, 0xf1, 0xf0} - -/* currency (164) */ -#define NXFONT_METRICS_164 {2, 12, 12, 1, 14, 0} -#define NXFONT_BITMAP_164 {0xc0, 0x30, 0xef, 0x70, 0x7f, 0xe0, 0x39, 0xc0, 0x70, 0xe0, 0x70, 0xe0, 0x70, 0xe0, 0x70, 0xe0, 0x39, 0xc0, 0x7f, 0xe0, 0xef, 0x70, 0xc0, 0x30} - -/* yen (165) */ -#define NXFONT_METRICS_165 {2, 13, 18, 0, 11, 0} -#define NXFONT_BITMAP_165 {0xe0, 0x38, 0xe0, 0x38, 0x70, 0x70, 0x70, 0x70, 0x38, 0xe0, 0x38, 0xe0, 0x1d, 0xc0, 0x1d, 0xc0, 0x7f, 0xf0, 0x7f, 0xf0, 0x7, 0x0, 0x7f, 0xf0, 0x7f, 0xf0, 0x7, 0x0, 0x7, 0x0, 0x7, 0x0, 0x7, 0x0, 0x7, 0x0} - -/* brokenbar (166) */ -#define NXFONT_METRICS_166 {1, 2, 24, 3, 10, 0} -#define NXFONT_BITMAP_166 {0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0x0, 0x0, 0x0, 0x0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0} - -/* section (167) */ -#define NXFONT_METRICS_167 {2, 12, 24, 1, 10, 0} -#define NXFONT_BITMAP_167 {0x1f, 0x80, 0x3f, 0xc0, 0x79, 0xe0, 0x70, 0xe0, 0x78, 0xe0, 0x3c, 0x0, 0x1e, 0x0, 0x7f, 0x0, 0xf7, 0x80, 0xe3, 0xc0, 0xe1, 0xe0, 0xe0, 0xe0, 0x70, 0x70, 0x78, 0x70, 0x3c, 0x70, 0x1e, 0xe0, 0xf, 0xc0, 0x7, 0x80, 0x3, 0xc0, 0x71, 0xe0, 0x70, 0xe0, 0x79, 0xe0, 0x3f, 0xc0, 0x1f, 0x80} - -/* dieresis (168) */ -#define NXFONT_METRICS_168 {1, 7, 2, 1, 11, 0} -#define NXFONT_BITMAP_168 {0xee, 0xee} - -/* copyright (169) */ -#define NXFONT_METRICS_169 {3, 19, 19, 0, 10, 0} -#define NXFONT_BITMAP_169 {0x1, 0xf0, 0x0, 0xf, 0xfe, 0x0, 0x1e, 0xf, 0x0, 0x38, 0x3, 0x80, 0x70, 0x1, 0xc0, 0x61, 0xf0, 0xc0, 0xe3, 0xb8, 0xe0, 0xc6, 0xc, 0x60, 0xc6, 0x0, 0x60, 0xc6, 0x0, 0x60, 0xc6, 0x0, 0x60, 0xc6, 0xc, 0x60, 0xe3, 0xb8, 0xe0, 0x61, 0xf0, 0xc0, 0x70, 0x1, 0xc0, 0x38, 0x3, 0x80, 0x1e, 0xf, 0x0, 0xf, 0xfe, 0x0, 0x1, 0xf0, 0x0} - -/* ordfeminine (170) */ -#define NXFONT_METRICS_170 {1, 8, 12, 1, 10, 0} -#define NXFONT_BITMAP_170 {0x7c, 0xfe, 0xc6, 0x1e, 0x7e, 0xe6, 0xc6, 0xff, 0x7b, 0x0, 0xff, 0xff} - -/* guillemotleft (171) */ -#define NXFONT_METRICS_171 {2, 10, 8, 1, 18, 0} -#define NXFONT_BITMAP_171 {0x1d, 0xc0, 0x3b, 0x80, 0x77, 0x0, 0xee, 0x0, 0xee, 0x0, 0x77, 0x0, 0x3b, 0x80, 0x1d, 0xc0} - -/* logicalnot (172) */ -#define NXFONT_METRICS_172 {2, 12, 7, 1, 18, 0} -#define NXFONT_BITMAP_172 {0xff, 0xf0, 0xff, 0xf0, 0x0, 0x30, 0x0, 0x30, 0x0, 0x30, 0x0, 0x30, 0x0, 0x30} - -/* hyphen (173) */ -#define NXFONT_METRICS_173 {1, 7, 3, 0, 20, 0} -#define NXFONT_BITMAP_173 {0xfe, 0xfe, 0xfe} - -/* registered (174) */ -#define NXFONT_METRICS_174 {3, 19, 19, 0, 10, 0} -#define NXFONT_BITMAP_174 {0x3, 0xf8, 0x0, 0xf, 0xfe, 0x0, 0x1c, 0xf, 0x0, 0x38, 0x3, 0x80, 0x73, 0xf9, 0xc0, 0x63, 0x1c, 0xc0, 0xe3, 0xc, 0xe0, 0xc3, 0xc, 0x60, 0xc3, 0x18, 0x60, 0xc3, 0xf0, 0x60, 0xc3, 0x30, 0x60, 0xc3, 0x18, 0x60, 0xe3, 0x18, 0x60, 0x63, 0xc, 0xe0, 0x70, 0x0, 0xc0, 0x38, 0x1, 0xc0, 0x1e, 0x3, 0x80, 0xf, 0xfe, 0x0, 0x3, 0xf8, 0x0} - -/* macron (175) */ -#define NXFONT_METRICS_175 {1, 7, 2, 1, 10, 0} -#define NXFONT_BITMAP_175 {0xfe, 0xfe} - -/* degree (176) */ -#define NXFONT_METRICS_176 {1, 8, 7, 0, 11, 0} -#define NXFONT_BITMAP_176 {0x3c, 0x66, 0xc3, 0xc3, 0xc3, 0x66, 0x3c} - -/* plusminus (177) */ -#define NXFONT_METRICS_177 {2, 11, 13, 2, 16, 0} -#define NXFONT_BITMAP_177 {0xe, 0x0, 0xe, 0x0, 0xe, 0x0, 0xe, 0x0, 0xff, 0xe0, 0xff, 0xe0, 0xe, 0x0, 0xe, 0x0, 0xe, 0x0, 0xe, 0x0, 0x0, 0x0, 0xff, 0xe0, 0xff, 0xe0} - -/* twosuperior (178) */ -#define NXFONT_METRICS_178 {1, 6, 10, 0, 11, 0} -#define NXFONT_BITMAP_178 {0x78, 0xfc, 0xcc, 0xc, 0x1c, 0x78, 0xe0, 0xc0, 0xfc, 0xfc} - -/* threesuperior (179) */ -#define NXFONT_METRICS_179 {1, 6, 10, 0, 11, 0} -#define NXFONT_BITMAP_179 {0x78, 0xfc, 0xcc, 0xc, 0x38, 0x38, 0xc, 0xcc, 0xfc, 0x78} - -/* acute (180) */ -#define NXFONT_METRICS_180 {1, 6, 4, 1, 10, 0} -#define NXFONT_BITMAP_180 {0x1c, 0x38, 0x70, 0xe0} - -/* mu (181) */ -#define NXFONT_METRICS_181 {2, 11, 19, 2, 15, 0} -#define NXFONT_BITMAP_181 {0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe1, 0xe0, 0xf3, 0xe0, 0xfe, 0xe0, 0xec, 0xe0, 0xe0, 0x0, 0xe0, 0x0, 0xe0, 0x0, 0xe0, 0x0, 0xe0, 0x0} - -/* paragraph (182) */ -#define NXFONT_METRICS_182 {2, 11, 24, 1, 10, 0} -#define NXFONT_BITMAP_182 {0xf, 0xe0, 0x3f, 0xe0, 0x7c, 0xc0, 0x7c, 0xc0, 0xfc, 0xc0, 0xfc, 0xc0, 0xfc, 0xc0, 0xfc, 0xc0, 0xfc, 0xc0, 0x7c, 0xc0, 0x7c, 0xc0, 0x3c, 0xc0, 0x1c, 0xc0, 0xc, 0xc0, 0xc, 0xc0, 0xc, 0xc0, 0xc, 0xc0, 0xc, 0xc0, 0xc, 0xc0, 0xc, 0xc0, 0xc, 0xc0, 0xc, 0xc0, 0xc, 0xc0, 0xc, 0xc0} - -/* periodcentered (183) */ -#define NXFONT_METRICS_183 {1, 3, 3, 2, 20, 0} -#define NXFONT_BITMAP_183 {0xe0, 0xe0, 0xe0} - -/* cedilla (184) */ -#define NXFONT_METRICS_184 {1, 6, 6, 1, 28, 0} -#define NXFONT_BITMAP_184 {0x70, 0x78, 0x1c, 0x1c, 0xfc, 0x78} - -/* onesuperior (185) */ -#define NXFONT_METRICS_185 {1, 4, 10, 1, 11, 0} -#define NXFONT_BITMAP_185 {0x30, 0x30, 0xf0, 0xf0, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30} - -/* ordmasculine (186) */ -#define NXFONT_METRICS_186 {1, 8, 12, 1, 10, 0} -#define NXFONT_BITMAP_186 {0x3c, 0x7e, 0xe7, 0xc3, 0xc3, 0xc3, 0xe7, 0x7e, 0x3c, 0x0, 0xff, 0xff} - -/* guillemotright (187) */ -#define NXFONT_METRICS_187 {2, 10, 8, 1, 18, 0} -#define NXFONT_BITMAP_187 {0xee, 0x0, 0x77, 0x0, 0x3b, 0x80, 0x1d, 0xc0, 0x1d, 0xc0, 0x3b, 0x80, 0x77, 0x0, 0xee, 0x0} - -/* onequarter (188) */ -#define NXFONT_METRICS_188 {3, 17, 18, 1, 11, 0} -#define NXFONT_BITMAP_188 {0x30, 0x18, 0x0, 0x30, 0x18, 0x0, 0xf0, 0x30, 0x0, 0xf0, 0x30, 0x0, 0x30, 0x60, 0x0, 0x30, 0x60, 0x0, 0x30, 0xc0, 0x0, 0x30, 0xc0, 0x0, 0x31, 0x86, 0x0, 0x31, 0x8e, 0x0, 0x3, 0x1e, 0x0, 0x3, 0x1e, 0x0, 0x6, 0x36, 0x0, 0x6, 0x66, 0x0, 0xc, 0x7f, 0x80, 0xc, 0x7f, 0x80, 0x18, 0x6, 0x0, 0x18, 0x6, 0x0} - -/* onehalf (189) */ -#define NXFONT_METRICS_189 {2, 16, 18, 1, 11, 0} -#define NXFONT_BITMAP_189 {0x30, 0x18, 0x30, 0x18, 0xf0, 0x30, 0xf0, 0x30, 0x30, 0x60, 0x30, 0x60, 0x30, 0xc0, 0x30, 0xc0, 0x31, 0x9e, 0x31, 0xbf, 0x3, 0x33, 0x3, 0x3, 0x6, 0x7, 0x6, 0x1e, 0xc, 0x38, 0xc, 0x30, 0x18, 0x3f, 0x18, 0x3f} - -/* threequarters (190) */ -#define NXFONT_METRICS_190 {3, 17, 18, 1, 11, 0} -#define NXFONT_BITMAP_190 {0x78, 0x18, 0x0, 0xfc, 0x18, 0x0, 0xcc, 0x30, 0x0, 0xc, 0x30, 0x0, 0x38, 0x60, 0x0, 0x38, 0x60, 0x0, 0xc, 0xc0, 0x0, 0xcc, 0xc0, 0x0, 0xfd, 0x86, 0x0, 0x79, 0x8e, 0x0, 0x3, 0x1e, 0x0, 0x3, 0x1e, 0x0, 0x6, 0x36, 0x0, 0x6, 0x66, 0x0, 0xc, 0x7f, 0x80, 0xc, 0x7f, 0x80, 0x18, 0x6, 0x0, 0x18, 0x6, 0x0} - -/* questiondown (191) */ -#define NXFONT_METRICS_191 {2, 11, 19, 2, 15, 0} -#define NXFONT_BITMAP_191 {0xe, 0x0, 0xe, 0x0, 0xe, 0x0, 0x0, 0x0, 0x0, 0x0, 0xe, 0x0, 0xe, 0x0, 0xe, 0x0, 0xe, 0x0, 0x1c, 0x0, 0x3c, 0x0, 0x78, 0x0, 0x70, 0x0, 0xf0, 0xe0, 0xe0, 0xe0, 0xe1, 0xe0, 0xf3, 0xc0, 0x7f, 0xc0, 0x3f, 0x0} - -/* Agrave (192) */ -#define NXFONT_METRICS_192 {2, 16, 24, 1, 5, 0} -#define NXFONT_BITMAP_192 {0xe, 0x0, 0x7, 0x0, 0x3, 0x80, 0x1, 0xc0, 0x0, 0x0, 0x3, 0xc0, 0x3, 0xc0, 0x7, 0xe0, 0x7, 0xe0, 0xe, 0x60, 0xe, 0x70, 0xe, 0x70, 0x1c, 0x38, 0x1c, 0x38, 0x1c, 0x38, 0x38, 0x1c, 0x38, 0x1c, 0x3f, 0xfc, 0x7f, 0xfe, 0x70, 0xe, 0x70, 0xe, 0xe0, 0x7, 0xe0, 0x7, 0xe0, 0x7} - -/* Aacute (193) */ -#define NXFONT_METRICS_193 {2, 16, 24, 1, 5, 0} -#define NXFONT_BITMAP_193 {0x0, 0x70, 0x0, 0xe0, 0x1, 0xc0, 0x3, 0x80, 0x0, 0x0, 0x3, 0xc0, 0x3, 0xc0, 0x7, 0xe0, 0x7, 0xe0, 0xe, 0x60, 0xe, 0x70, 0xe, 0x70, 0x1c, 0x38, 0x1c, 0x38, 0x1c, 0x38, 0x38, 0x1c, 0x38, 0x1c, 0x3f, 0xfc, 0x7f, 0xfe, 0x70, 0xe, 0x70, 0xe, 0xe0, 0x7, 0xe0, 0x7, 0xe0, 0x7} - -/* Acircumflex (194) */ -#define NXFONT_METRICS_194 {2, 16, 24, 1, 5, 0} -#define NXFONT_BITMAP_194 {0x1, 0xc0, 0x3, 0xe0, 0x7, 0x70, 0xe, 0x38, 0x0, 0x0, 0x3, 0xc0, 0x3, 0xc0, 0x7, 0xe0, 0x7, 0xe0, 0xe, 0x60, 0xe, 0x70, 0xe, 0x70, 0x1c, 0x38, 0x1c, 0x38, 0x1c, 0x38, 0x38, 0x1c, 0x38, 0x1c, 0x3f, 0xfc, 0x7f, 0xfe, 0x70, 0xe, 0x70, 0xe, 0xe0, 0x7, 0xe0, 0x7, 0xe0, 0x7} - -/* Atilde (195) */ -#define NXFONT_METRICS_195 {2, 16, 23, 1, 6, 0} -#define NXFONT_BITMAP_195 {0x7, 0x98, 0xf, 0xf8, 0xc, 0xf0, 0x0, 0x0, 0x3, 0xc0, 0x3, 0xc0, 0x7, 0xe0, 0x7, 0xe0, 0xe, 0x60, 0xe, 0x70, 0xe, 0x70, 0x1c, 0x38, 0x1c, 0x38, 0x1c, 0x38, 0x38, 0x1c, 0x38, 0x1c, 0x3f, 0xfc, 0x7f, 0xfe, 0x70, 0xe, 0x70, 0xe, 0xe0, 0x7, 0xe0, 0x7, 0xe0, 0x7} - -/* Adieresis (196) */ -#define NXFONT_METRICS_196 {2, 16, 23, 1, 6, 0} -#define NXFONT_BITMAP_196 {0xe, 0x70, 0xe, 0x70, 0x0, 0x0, 0x0, 0x0, 0x3, 0xc0, 0x3, 0xc0, 0x7, 0xe0, 0x7, 0xe0, 0xe, 0x60, 0xe, 0x70, 0xe, 0x70, 0x1c, 0x38, 0x1c, 0x38, 0x1c, 0x38, 0x38, 0x1c, 0x38, 0x1c, 0x3f, 0xfc, 0x7f, 0xfe, 0x70, 0xe, 0x70, 0xe, 0xe0, 0x7, 0xe0, 0x7, 0xe0, 0x7} - -/* Aring (197) */ -#define NXFONT_METRICS_197 {2, 16, 24, 1, 5, 0} -#define NXFONT_BITMAP_197 {0x3, 0xc0, 0x6, 0x60, 0x4, 0x20, 0x6, 0x60, 0x3, 0xc0, 0x3, 0xc0, 0x3, 0xc0, 0x7, 0xe0, 0x7, 0xe0, 0xe, 0x60, 0xe, 0x70, 0xe, 0x70, 0x1c, 0x38, 0x1c, 0x38, 0x1c, 0x38, 0x38, 0x1c, 0x38, 0x1c, 0x3f, 0xfc, 0x7f, 0xfe, 0x70, 0xe, 0x70, 0xe, 0xe0, 0x7, 0xe0, 0x7, 0xe0, 0x7} - -/* AE (198) */ -#define NXFONT_METRICS_198 {3, 22, 19, 1, 10, 0} -#define NXFONT_BITMAP_198 {0x3, 0xff, 0xf8, 0x3, 0xff, 0xf8, 0x7, 0x70, 0x0, 0x7, 0x70, 0x0, 0xe, 0x70, 0x0, 0xe, 0x70, 0x0, 0xe, 0x70, 0x0, 0x1c, 0x70, 0x0, 0x1c, 0x7f, 0xf0, 0x1c, 0x7f, 0xf0, 0x38, 0x70, 0x0, 0x38, 0x70, 0x0, 0x3f, 0xf0, 0x0, 0x7f, 0xf0, 0x0, 0x70, 0x70, 0x0, 0x70, 0x70, 0x0, 0xe0, 0x70, 0x0, 0xe0, 0x7f, 0xfc, 0xe0, 0x7f, 0xfc} - -/* Ccedilla (199) */ -#define NXFONT_METRICS_199 {2, 16, 24, 1, 10, 0} -#define NXFONT_BITMAP_199 {0x7, 0xf0, 0x1f, 0xfc, 0x3e, 0x3e, 0x78, 0xf, 0x70, 0x7, 0xf0, 0x0, 0xe0, 0x0, 0xe0, 0x0, 0xe0, 0x0, 0xe0, 0x0, 0xe0, 0x0, 0xe0, 0x0, 0xe0, 0x0, 0xf0, 0x7, 0x70, 0x7, 0x78, 0xf, 0x3e, 0x3e, 0x1f, 0xfc, 0x7, 0xf0, 0x3, 0xc0, 0x0, 0xe0, 0x0, 0xe0, 0x7, 0xe0, 0x3, 0xc0} - -/* Egrave (200) */ -#define NXFONT_METRICS_200 {2, 13, 24, 2, 5, 0} -#define NXFONT_BITMAP_200 {0x38, 0x0, 0x1c, 0x0, 0xe, 0x0, 0x7, 0x0, 0x0, 0x0, 0xff, 0xf0, 0xff, 0xf0, 0xe0, 0x0, 0xe0, 0x0, 0xe0, 0x0, 0xe0, 0x0, 0xe0, 0x0, 0xe0, 0x0, 0xff, 0xe0, 0xff, 0xe0, 0xe0, 0x0, 0xe0, 0x0, 0xe0, 0x0, 0xe0, 0x0, 0xe0, 0x0, 0xe0, 0x0, 0xe0, 0x0, 0xff, 0xf8, 0xff, 0xf8} - -/* Eacute (201) */ -#define NXFONT_METRICS_201 {2, 13, 24, 2, 5, 0} -#define NXFONT_BITMAP_201 {0x1, 0xc0, 0x3, 0x80, 0x7, 0x0, 0xe, 0x0, 0x0, 0x0, 0xff, 0xf0, 0xff, 0xf0, 0xe0, 0x0, 0xe0, 0x0, 0xe0, 0x0, 0xe0, 0x0, 0xe0, 0x0, 0xe0, 0x0, 0xff, 0xe0, 0xff, 0xe0, 0xe0, 0x0, 0xe0, 0x0, 0xe0, 0x0, 0xe0, 0x0, 0xe0, 0x0, 0xe0, 0x0, 0xe0, 0x0, 0xff, 0xf8, 0xff, 0xf8} - -/* Ecircumflex (202) */ -#define NXFONT_METRICS_202 {2, 13, 24, 2, 5, 0} -#define NXFONT_BITMAP_202 {0x7, 0x0, 0xf, 0x80, 0x1d, 0xc0, 0x38, 0xe0, 0x0, 0x0, 0xff, 0xf0, 0xff, 0xf0, 0xe0, 0x0, 0xe0, 0x0, 0xe0, 0x0, 0xe0, 0x0, 0xe0, 0x0, 0xe0, 0x0, 0xff, 0xe0, 0xff, 0xe0, 0xe0, 0x0, 0xe0, 0x0, 0xe0, 0x0, 0xe0, 0x0, 0xe0, 0x0, 0xe0, 0x0, 0xe0, 0x0, 0xff, 0xf8, 0xff, 0xf8} - -/* Edieresis (203) */ -#define NXFONT_METRICS_203 {2, 13, 23, 2, 6, 0} -#define NXFONT_BITMAP_203 {0x38, 0xe0, 0x38, 0xe0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xf0, 0xff, 0xf0, 0xe0, 0x0, 0xe0, 0x0, 0xe0, 0x0, 0xe0, 0x0, 0xe0, 0x0, 0xe0, 0x0, 0xff, 0xe0, 0xff, 0xe0, 0xe0, 0x0, 0xe0, 0x0, 0xe0, 0x0, 0xe0, 0x0, 0xe0, 0x0, 0xe0, 0x0, 0xe0, 0x0, 0xff, 0xf8, 0xff, 0xf8} - -/* Igrave (204) */ -#define NXFONT_METRICS_204 {1, 6, 24, 0, 5, 0} -#define NXFONT_BITMAP_204 {0xe0, 0x70, 0x38, 0x1c, 0x0, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38} - -/* Iacute (205) */ -#define NXFONT_METRICS_205 {1, 6, 24, 1, 5, 0} -#define NXFONT_BITMAP_205 {0x1c, 0x38, 0x70, 0xe0, 0x0, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70} - -/* Icircumflex (206) - NOTE: Xoffset should be -1, not 0. */ -#define NXFONT_METRICS_206 {2, 9, 24, 0, 5, 0} -#define NXFONT_BITMAP_206 {0x1c, 0x0, 0x3e, 0x0, 0x77, 0x0, 0xe3, 0x80, 0x0, 0x0, 0x1c, 0x0, 0x1c, 0x0, 0x1c, 0x0, 0x1c, 0x0, 0x1c, 0x0, 0x1c, 0x0, 0x1c, 0x0, 0x1c, 0x0, 0x1c, 0x0, 0x1c, 0x0, 0x1c, 0x0, 0x1c, 0x0, 0x1c, 0x0, 0x1c, 0x0, 0x1c, 0x0, 0x1c, 0x0, 0x1c, 0x0, 0x1c, 0x0, 0x1c, 0x0} - -/* Idieresis (207) */ -#define NXFONT_METRICS_207 {1, 7, 23, 0, 6, 0} -#define NXFONT_BITMAP_207 {0xee, 0xee, 0x0, 0x0, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38} - -/* Eth (208) - NOTE: Xoffset should be -1, not 0. */ -#define NXFONT_METRICS_208 {3, 19, 19, 0, 10, 0} -#define NXFONT_BITMAP_208 {0x1f, 0xfc, 0x0, 0x1f, 0xff, 0x0, 0x1c, 0xf, 0x80, 0x1c, 0x3, 0xc0, 0x1c, 0x1, 0xc0, 0x1c, 0x1, 0xe0, 0x1c, 0x0, 0xe0, 0x1c, 0x0, 0xe0, 0xff, 0xc0, 0xe0, 0xff, 0xc0, 0xe0, 0x1c, 0x0, 0xe0, 0x1c, 0x0, 0xe0, 0x1c, 0x0, 0xe0, 0x1c, 0x1, 0xe0, 0x1c, 0x1, 0xc0, 0x1c, 0x3, 0xc0, 0x1c, 0xf, 0x80, 0x1f, 0xff, 0x0, 0x1f, 0xfc, 0x0} - -/* Ntilde (209) */ -#define NXFONT_METRICS_209 {2, 15, 23, 2, 6, 0} -#define NXFONT_BITMAP_209 {0xf, 0x30, 0x1f, 0xf0, 0x19, 0xe0, 0x0, 0x0, 0xe0, 0xe, 0xf0, 0xe, 0xf0, 0xe, 0xf8, 0xe, 0xf8, 0xe, 0xfc, 0xe, 0xee, 0xe, 0xee, 0xe, 0xe7, 0xe, 0xe3, 0x8e, 0xe3, 0x8e, 0xe1, 0xce, 0xe0, 0xce, 0xe0, 0xee, 0xe0, 0x7e, 0xe0, 0x3e, 0xe0, 0x3e, 0xe0, 0x1e, 0xe0, 0xe} - -/* Ograve (210) */ -#define NXFONT_METRICS_210 {3, 17, 24, 1, 5, 0} -#define NXFONT_BITMAP_210 {0xe, 0x0, 0x0, 0x7, 0x0, 0x0, 0x3, 0x80, 0x0, 0x1, 0xc0, 0x0, 0x0, 0x0, 0x0, 0x7, 0xf0, 0x0, 0x1f, 0xfc, 0x0, 0x3e, 0x3e, 0x0, 0x78, 0xf, 0x0, 0x70, 0x7, 0x0, 0xf0, 0x7, 0x80, 0xe0, 0x3, 0x80, 0xe0, 0x3, 0x80, 0xe0, 0x3, 0x80, 0xe0, 0x3, 0x80, 0xe0, 0x3, 0x80, 0xe0, 0x3, 0x80, 0xe0, 0x3, 0x80, 0xf0, 0x7, 0x80, 0x70, 0x7, 0x0, 0x78, 0xf, 0x0, 0x3e, 0x3e, 0x0, 0x1f, 0xfc, 0x0, 0x7, 0xf0, 0x0} - -/* Oacute (211) */ -#define NXFONT_METRICS_211 {3, 17, 24, 1, 5, 0} -#define NXFONT_BITMAP_211 {0x0, 0x38, 0x0, 0x0, 0x70, 0x0, 0x0, 0xe0, 0x0, 0x1, 0xc0, 0x0, 0x0, 0x0, 0x0, 0x7, 0xf0, 0x0, 0x1f, 0xfc, 0x0, 0x3e, 0x3e, 0x0, 0x78, 0xf, 0x0, 0x70, 0x7, 0x0, 0xf0, 0x7, 0x80, 0xe0, 0x3, 0x80, 0xe0, 0x3, 0x80, 0xe0, 0x3, 0x80, 0xe0, 0x3, 0x80, 0xe0, 0x3, 0x80, 0xe0, 0x3, 0x80, 0xe0, 0x3, 0x80, 0xf0, 0x7, 0x80, 0x70, 0x7, 0x0, 0x78, 0xf, 0x0, 0x3e, 0x3e, 0x0, 0x1f, 0xfc, 0x0, 0x7, 0xf0, 0x0} - -/* Ocircumflex (212) */ -#define NXFONT_METRICS_212 {3, 17, 24, 1, 5, 0} -#define NXFONT_BITMAP_212 {0x1, 0xc0, 0x0, 0x3, 0xe0, 0x0, 0x7, 0x70, 0x0, 0xe, 0x38, 0x0, 0x0, 0x0, 0x0, 0x7, 0xf0, 0x0, 0x1f, 0xfc, 0x0, 0x3e, 0x3e, 0x0, 0x78, 0xf, 0x0, 0x70, 0x7, 0x0, 0xf0, 0x7, 0x80, 0xe0, 0x3, 0x80, 0xe0, 0x3, 0x80, 0xe0, 0x3, 0x80, 0xe0, 0x3, 0x80, 0xe0, 0x3, 0x80, 0xe0, 0x3, 0x80, 0xe0, 0x3, 0x80, 0xf0, 0x7, 0x80, 0x70, 0x7, 0x0, 0x78, 0xf, 0x0, 0x3e, 0x3e, 0x0, 0x1f, 0xfc, 0x0, 0x7, 0xf0, 0x0} - -/* Otilde (213) */ -#define NXFONT_METRICS_213 {3, 17, 23, 1, 6, 0} -#define NXFONT_BITMAP_213 {0x7, 0x98, 0x0, 0xf, 0xf8, 0x0, 0xc, 0xf0, 0x0, 0x0, 0x0, 0x0, 0x7, 0xf0, 0x0, 0x1f, 0xfc, 0x0, 0x3e, 0x3e, 0x0, 0x78, 0xf, 0x0, 0x70, 0x7, 0x0, 0xf0, 0x7, 0x80, 0xe0, 0x3, 0x80, 0xe0, 0x3, 0x80, 0xe0, 0x3, 0x80, 0xe0, 0x3, 0x80, 0xe0, 0x3, 0x80, 0xe0, 0x3, 0x80, 0xe0, 0x3, 0x80, 0xf0, 0x7, 0x80, 0x70, 0x7, 0x0, 0x78, 0xf, 0x0, 0x3e, 0x3e, 0x0, 0x1f, 0xfc, 0x0, 0x7, 0xf0, 0x0} - -/* Odieresis (214) */ -#define NXFONT_METRICS_214 {3, 17, 23, 1, 6, 0} -#define NXFONT_BITMAP_214 {0xe, 0x38, 0x0, 0xe, 0x38, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7, 0xf0, 0x0, 0x1f, 0xfc, 0x0, 0x3e, 0x3e, 0x0, 0x78, 0xf, 0x0, 0x70, 0x7, 0x0, 0xf0, 0x7, 0x80, 0xe0, 0x3, 0x80, 0xe0, 0x3, 0x80, 0xe0, 0x3, 0x80, 0xe0, 0x3, 0x80, 0xe0, 0x3, 0x80, 0xe0, 0x3, 0x80, 0xe0, 0x3, 0x80, 0xf0, 0x7, 0x80, 0x70, 0x7, 0x0, 0x78, 0xf, 0x0, 0x3e, 0x3e, 0x0, 0x1f, 0xfc, 0x0, 0x7, 0xf0, 0x0} - -/* multiply (215) */ -#define NXFONT_METRICS_215 {2, 12, 12, 1, 16, 0} -#define NXFONT_BITMAP_215 {0x40, 0x20, 0xe0, 0x70, 0x70, 0xe0, 0x39, 0xc0, 0x1f, 0x80, 0xf, 0x0, 0xf, 0x0, 0x1f, 0x80, 0x39, 0xc0, 0x70, 0xe0, 0xe0, 0x70, 0x40, 0x20} - -/* Oslash (216) */ -#define NXFONT_METRICS_216 {3, 19, 19, 0, 10, 0} -#define NXFONT_BITMAP_216 {0x3, 0xf8, 0x60, 0xf, 0xfe, 0xe0, 0x1f, 0x1f, 0xc0, 0x3c, 0x3, 0x80, 0x38, 0x7, 0x80, 0x78, 0xf, 0xc0, 0x70, 0x1d, 0xc0, 0x70, 0x39, 0xc0, 0x70, 0x71, 0xc0, 0x70, 0xe1, 0xc0, 0x71, 0xc1, 0xc0, 0x73, 0x81, 0xc0, 0x77, 0x1, 0xc0, 0x7e, 0x3, 0xc0, 0x3c, 0x3, 0x80, 0x3c, 0x7, 0x80, 0x7f, 0x1f, 0x0, 0xef, 0xfe, 0x0, 0xc3, 0xf8, 0x0} - -/* Ugrave (217) */ -#define NXFONT_METRICS_217 {2, 15, 24, 2, 5, 0} -#define NXFONT_BITMAP_217 {0xe, 0x0, 0x7, 0x0, 0x3, 0x80, 0x1, 0xc0, 0x0, 0x0, 0xe0, 0xe, 0xe0, 0xe, 0xe0, 0xe, 0xe0, 0xe, 0xe0, 0xe, 0xe0, 0xe, 0xe0, 0xe, 0xe0, 0xe, 0xe0, 0xe, 0xe0, 0xe, 0xe0, 0xe, 0xe0, 0xe, 0xe0, 0xe, 0xe0, 0xe, 0xf0, 0x1e, 0x70, 0x1c, 0x7c, 0x7c, 0x3f, 0xf8, 0xf, 0xe0} - -/* Uacute (218) */ -#define NXFONT_METRICS_218 {2, 15, 24, 2, 5, 0} -#define NXFONT_BITMAP_218 {0x0, 0x70, 0x0, 0xe0, 0x1, 0xc0, 0x3, 0x80, 0x0, 0x0, 0xe0, 0xe, 0xe0, 0xe, 0xe0, 0xe, 0xe0, 0xe, 0xe0, 0xe, 0xe0, 0xe, 0xe0, 0xe, 0xe0, 0xe, 0xe0, 0xe, 0xe0, 0xe, 0xe0, 0xe, 0xe0, 0xe, 0xe0, 0xe, 0xe0, 0xe, 0xf0, 0x1e, 0x70, 0x1c, 0x7c, 0x7c, 0x3f, 0xf8, 0xf, 0xe0} - -/* Ucircumflex (219) */ -#define NXFONT_METRICS_219 {2, 15, 24, 2, 5, 0} -#define NXFONT_BITMAP_219 {0x3, 0x80, 0x7, 0xc0, 0xe, 0xe0, 0x1c, 0x70, 0x0, 0x0, 0xe0, 0xe, 0xe0, 0xe, 0xe0, 0xe, 0xe0, 0xe, 0xe0, 0xe, 0xe0, 0xe, 0xe0, 0xe, 0xe0, 0xe, 0xe0, 0xe, 0xe0, 0xe, 0xe0, 0xe, 0xe0, 0xe, 0xe0, 0xe, 0xe0, 0xe, 0xf0, 0x1e, 0x70, 0x1c, 0x7c, 0x7c, 0x3f, 0xf8, 0xf, 0xe0} - -/* Udieresis (220) */ -#define NXFONT_METRICS_220 {2, 15, 23, 2, 6, 0} -#define NXFONT_BITMAP_220 {0x1c, 0x70, 0x1c, 0x70, 0x0, 0x0, 0x0, 0x0, 0xe0, 0xe, 0xe0, 0xe, 0xe0, 0xe, 0xe0, 0xe, 0xe0, 0xe, 0xe0, 0xe, 0xe0, 0xe, 0xe0, 0xe, 0xe0, 0xe, 0xe0, 0xe, 0xe0, 0xe, 0xe0, 0xe, 0xe0, 0xe, 0xe0, 0xe, 0xf0, 0x1e, 0x70, 0x1c, 0x7c, 0x7c, 0x3f, 0xf8, 0xf, 0xe0} - -/* Yacute (221) */ -#define NXFONT_METRICS_221 {2, 15, 24, 1, 5, 0} -#define NXFONT_BITMAP_221 {0x0, 0x70, 0x0, 0xe0, 0x1, 0xc0, 0x3, 0x80, 0x0, 0x0, 0xe0, 0xe, 0xf0, 0x1e, 0x70, 0x1c, 0x78, 0x3c, 0x38, 0x38, 0x3c, 0x78, 0x1c, 0x70, 0x1e, 0xf0, 0xe, 0xe0, 0xf, 0xe0, 0x7, 0xc0, 0x7, 0xc0, 0x3, 0x80, 0x3, 0x80, 0x3, 0x80, 0x3, 0x80, 0x3, 0x80, 0x3, 0x80, 0x3, 0x80} - -/* Thorn (222) */ -#define NXFONT_METRICS_222 {2, 14, 19, 2, 10, 0} -#define NXFONT_BITMAP_222 {0xe0, 0x0, 0xe0, 0x0, 0xe0, 0x0, 0xe0, 0x0, 0xff, 0xe0, 0xff, 0xf8, 0xe0, 0x38, 0xe0, 0x1c, 0xe0, 0x1c, 0xe0, 0x1c, 0xe0, 0x1c, 0xe0, 0x38, 0xff, 0xf8, 0xff, 0xf0, 0xe0, 0x0, 0xe0, 0x0, 0xe0, 0x0, 0xe0, 0x0, 0xe0, 0x0} - -/* germandbls (223) */ -#define NXFONT_METRICS_223 {2, 11, 19, 2, 10, 0} -#define NXFONT_BITMAP_223 {0x1e, 0x0, 0x7f, 0x80, 0xf3, 0x80, 0xe1, 0xc0, 0xe1, 0xc0, 0xe1, 0xc0, 0xe1, 0xc0, 0xe3, 0x80, 0xef, 0x0, 0xef, 0x80, 0xe3, 0xc0, 0xe1, 0xc0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe1, 0xc0, 0xef, 0xc0, 0xef, 0x80} - -/* agrave (224) */ -#define NXFONT_METRICS_224 {2, 12, 19, 1, 10, 0} -#define NXFONT_BITMAP_224 {0x1c, 0x0, 0xe, 0x0, 0x7, 0x0, 0x3, 0x80, 0x0, 0x0, 0x1f, 0x80, 0x3f, 0xc0, 0x71, 0xe0, 0x70, 0xe0, 0x0, 0xe0, 0x7, 0xe0, 0x3f, 0xe0, 0x7c, 0xe0, 0xf0, 0xe0, 0xe0, 0xe0, 0xe1, 0xe0, 0xf3, 0xe0, 0x7f, 0xf0, 0x3e, 0x70} - -/* aacute (225) */ -#define NXFONT_METRICS_225 {2, 12, 19, 1, 10, 0} -#define NXFONT_BITMAP_225 {0x1, 0xc0, 0x3, 0x80, 0x7, 0x0, 0xe, 0x0, 0x0, 0x0, 0x1f, 0x80, 0x3f, 0xc0, 0x71, 0xe0, 0x70, 0xe0, 0x0, 0xe0, 0x7, 0xe0, 0x3f, 0xe0, 0x7c, 0xe0, 0xf0, 0xe0, 0xe0, 0xe0, 0xe1, 0xe0, 0xf3, 0xe0, 0x7f, 0xf0, 0x3e, 0x70} - -/* acircumflex (226) */ -#define NXFONT_METRICS_226 {2, 12, 19, 1, 10, 0} -#define NXFONT_BITMAP_226 {0x7, 0x0, 0xf, 0x80, 0x1d, 0xc0, 0x38, 0xe0, 0x0, 0x0, 0x1f, 0x80, 0x3f, 0xc0, 0x71, 0xe0, 0x70, 0xe0, 0x0, 0xe0, 0x7, 0xe0, 0x3f, 0xe0, 0x7c, 0xe0, 0xf0, 0xe0, 0xe0, 0xe0, 0xe1, 0xe0, 0xf3, 0xe0, 0x7f, 0xf0, 0x3e, 0x70} - -/* atilde (227) */ -#define NXFONT_METRICS_227 {2, 12, 19, 1, 10, 0} -#define NXFONT_BITMAP_227 {0x3c, 0xc0, 0x7f, 0xc0, 0x67, 0x80, 0x0, 0x0, 0x0, 0x0, 0x1f, 0x80, 0x3f, 0xc0, 0x71, 0xe0, 0x70, 0xe0, 0x0, 0xe0, 0x7, 0xe0, 0x3f, 0xe0, 0x7c, 0xe0, 0xf0, 0xe0, 0xe0, 0xe0, 0xe1, 0xe0, 0xf3, 0xe0, 0x7f, 0xf0, 0x3e, 0x70} - -/* adieresis (228) */ -#define NXFONT_METRICS_228 {2, 12, 18, 1, 11, 0} -#define NXFONT_BITMAP_228 {0x39, 0xc0, 0x39, 0xc0, 0x0, 0x0, 0x0, 0x0, 0x1f, 0x80, 0x3f, 0xc0, 0x71, 0xe0, 0x70, 0xe0, 0x0, 0xe0, 0x7, 0xe0, 0x3f, 0xe0, 0x7c, 0xe0, 0xf0, 0xe0, 0xe0, 0xe0, 0xe1, 0xe0, 0xf3, 0xe0, 0x7f, 0xf0, 0x3e, 0x70} - -/* aring (229) */ -#define NXFONT_METRICS_229 {2, 12, 19, 1, 10, 0} -#define NXFONT_BITMAP_229 {0x7, 0x0, 0xd, 0x80, 0x8, 0x80, 0xd, 0x80, 0x7, 0x0, 0x1f, 0x80, 0x3f, 0xc0, 0x71, 0xe0, 0x70, 0xe0, 0x0, 0xe0, 0x7, 0xe0, 0x3f, 0xe0, 0x7c, 0xe0, 0xf0, 0xe0, 0xe0, 0xe0, 0xe1, 0xe0, 0xf3, 0xe0, 0x7f, 0xf0, 0x3e, 0x70} - -/* ae (230) */ -#define NXFONT_METRICS_230 {3, 20, 14, 1, 15, 0} -#define NXFONT_BITMAP_230 {0x1f, 0x8f, 0x0, 0x3f, 0xff, 0xc0, 0x71, 0xf9, 0xe0, 0x70, 0xf0, 0xe0, 0x0, 0xe0, 0x70, 0x7, 0xe0, 0x70, 0x3f, 0xff, 0xf0, 0x7c, 0xff, 0xf0, 0xf0, 0xe0, 0x0, 0xe0, 0xe0, 0x0, 0xe1, 0xf0, 0x70, 0xf3, 0xf8, 0xf0, 0x7f, 0x3f, 0xe0, 0x3e, 0xf, 0x80} - -/* ccedilla (231) */ -#define NXFONT_METRICS_231 {2, 11, 19, 1, 15, 0} -#define NXFONT_BITMAP_231 {0x1f, 0x80, 0x3f, 0xc0, 0x79, 0xe0, 0x70, 0xe0, 0xe0, 0x0, 0xe0, 0x0, 0xe0, 0x0, 0xe0, 0x0, 0xe0, 0x0, 0xe0, 0x0, 0x70, 0xe0, 0x79, 0xe0, 0x3f, 0xc0, 0x1f, 0x80, 0x1e, 0x0, 0x7, 0x0, 0x7, 0x0, 0x3f, 0x0, 0x1e, 0x0} - -/* egrave (232) */ -#define NXFONT_METRICS_232 {2, 12, 19, 1, 10, 0} -#define NXFONT_BITMAP_232 {0x1c, 0x0, 0xe, 0x0, 0x7, 0x0, 0x3, 0x80, 0x0, 0x0, 0xf, 0x0, 0x3f, 0xc0, 0x79, 0xe0, 0x70, 0xe0, 0xe0, 0x70, 0xe0, 0x70, 0xff, 0xf0, 0xff, 0xf0, 0xe0, 0x0, 0xe0, 0x0, 0x70, 0x70, 0x78, 0xf0, 0x3f, 0xe0, 0xf, 0x80} - -/* eacute (233) */ -#define NXFONT_METRICS_233 {2, 12, 19, 1, 10, 0} -#define NXFONT_BITMAP_233 {0x3, 0x80, 0x7, 0x0, 0xe, 0x0, 0x1c, 0x0, 0x0, 0x0, 0xf, 0x0, 0x3f, 0xc0, 0x79, 0xe0, 0x70, 0xe0, 0xe0, 0x70, 0xe0, 0x70, 0xff, 0xf0, 0xff, 0xf0, 0xe0, 0x0, 0xe0, 0x0, 0x70, 0x70, 0x78, 0xf0, 0x3f, 0xe0, 0xf, 0x80} - -/* ecircumflex (234) */ -#define NXFONT_METRICS_234 {2, 12, 19, 1, 10, 0} -#define NXFONT_BITMAP_234 {0x7, 0x0, 0xf, 0x80, 0x1d, 0xc0, 0x38, 0xe0, 0x0, 0x0, 0xf, 0x0, 0x3f, 0xc0, 0x79, 0xe0, 0x70, 0xe0, 0xe0, 0x70, 0xe0, 0x70, 0xff, 0xf0, 0xff, 0xf0, 0xe0, 0x0, 0xe0, 0x0, 0x70, 0x70, 0x78, 0xf0, 0x3f, 0xe0, 0xf, 0x80} - -/* edieresis (235) */ -#define NXFONT_METRICS_235 {2, 12, 18, 1, 11, 0} -#define NXFONT_BITMAP_235 {0x39, 0xc0, 0x39, 0xc0, 0x0, 0x0, 0x0, 0x0, 0xf, 0x0, 0x3f, 0xc0, 0x79, 0xe0, 0x70, 0xe0, 0xe0, 0x70, 0xe0, 0x70, 0xff, 0xf0, 0xff, 0xf0, 0xe0, 0x0, 0xe0, 0x0, 0x70, 0x70, 0x78, 0xf0, 0x3f, 0xe0, 0xf, 0x80} - -/* igrave (236) */ -#define NXFONT_METRICS_236 {1, 6, 19, 0, 10, 0} -#define NXFONT_BITMAP_236 {0xe0, 0x70, 0x38, 0x1c, 0x0, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38} - -/* iacute (237) */ -#define NXFONT_METRICS_237 {1, 6, 19, 1, 10, 0} -#define NXFONT_BITMAP_237 {0x1c, 0x38, 0x70, 0xe0, 0x0, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70} - -/* icircumflex (238) - NOTE: Xoffset should be -1, not 0. */ -#define NXFONT_METRICS_238 {2, 9, 19, 0, 10, 0} -#define NXFONT_BITMAP_238 {0x1c, 0x0, 0x3e, 0x0, 0x77, 0x0, 0xe3, 0x80, 0x0, 0x0, 0x1c, 0x0, 0x1c, 0x0, 0x1c, 0x0, 0x1c, 0x0, 0x1c, 0x0, 0x1c, 0x0, 0x1c, 0x0, 0x1c, 0x0, 0x1c, 0x0, 0x1c, 0x0, 0x1c, 0x0, 0x1c, 0x0, 0x1c, 0x0, 0x1c, 0x0} - -/* idieresis (239) */ -#define NXFONT_METRICS_239 {1, 7, 18, 0, 11, 0} -#define NXFONT_BITMAP_239 {0xee, 0xee, 0x0, 0x0, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38} - -/* eth (240) */ -#define NXFONT_METRICS_240 {2, 12, 19, 1, 10, 0} -#define NXFONT_BITMAP_240 {0x70, 0x0, 0x1d, 0xc0, 0x7, 0x0, 0x1f, 0x0, 0x61, 0x80, 0xf, 0xc0, 0x3f, 0xc0, 0x79, 0xe0, 0x70, 0xe0, 0xe0, 0x70, 0xe0, 0x70, 0xe0, 0x70, 0xe0, 0x70, 0xe0, 0x70, 0xe0, 0x70, 0x70, 0xe0, 0x79, 0xe0, 0x3f, 0xc0, 0xf, 0x0} - -/* ntilde (241) */ -#define NXFONT_METRICS_241 {2, 11, 19, 2, 10, 0} -#define NXFONT_BITMAP_241 {0x3c, 0xc0, 0x7f, 0xc0, 0x67, 0x80, 0x0, 0x0, 0x0, 0x0, 0xef, 0x80, 0xff, 0xc0, 0xf1, 0xc0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0} - -/* ograve (242) */ -#define NXFONT_METRICS_242 {2, 12, 19, 1, 10, 0} -#define NXFONT_BITMAP_242 {0x1c, 0x0, 0xe, 0x0, 0x7, 0x0, 0x3, 0x80, 0x0, 0x0, 0xf, 0x0, 0x3f, 0xc0, 0x79, 0xe0, 0x70, 0xe0, 0xe0, 0x70, 0xe0, 0x70, 0xe0, 0x70, 0xe0, 0x70, 0xe0, 0x70, 0xe0, 0x70, 0x70, 0xe0, 0x79, 0xe0, 0x3f, 0xc0, 0xf, 0x0} - -/* oacute (243) */ -#define NXFONT_METRICS_243 {2, 12, 19, 1, 10, 0} -#define NXFONT_BITMAP_243 {0x3, 0x80, 0x7, 0x0, 0xe, 0x0, 0x1c, 0x0, 0x0, 0x0, 0xf, 0x0, 0x3f, 0xc0, 0x79, 0xe0, 0x70, 0xe0, 0xe0, 0x70, 0xe0, 0x70, 0xe0, 0x70, 0xe0, 0x70, 0xe0, 0x70, 0xe0, 0x70, 0x70, 0xe0, 0x79, 0xe0, 0x3f, 0xc0, 0xf, 0x0} - -/* ocircumflex (244) */ -#define NXFONT_METRICS_244 {2, 12, 19, 1, 10, 0} -#define NXFONT_BITMAP_244 {0xe, 0x0, 0x1f, 0x0, 0x3b, 0x80, 0x71, 0xc0, 0x0, 0x0, 0xf, 0x0, 0x3f, 0xc0, 0x79, 0xe0, 0x70, 0xe0, 0xe0, 0x70, 0xe0, 0x70, 0xe0, 0x70, 0xe0, 0x70, 0xe0, 0x70, 0xe0, 0x70, 0x70, 0xe0, 0x79, 0xe0, 0x3f, 0xc0, 0xf, 0x0} - -/* otilde (245) */ -#define NXFONT_METRICS_245 {2, 12, 19, 1, 10, 0} -#define NXFONT_BITMAP_245 {0x3c, 0xc0, 0x7f, 0xc0, 0x67, 0x80, 0x0, 0x0, 0x0, 0x0, 0xf, 0x0, 0x3f, 0xc0, 0x79, 0xe0, 0x70, 0xe0, 0xe0, 0x70, 0xe0, 0x70, 0xe0, 0x70, 0xe0, 0x70, 0xe0, 0x70, 0xe0, 0x70, 0x70, 0xe0, 0x79, 0xe0, 0x3f, 0xc0, 0xf, 0x0} - -/* odieresis (246) */ -#define NXFONT_METRICS_246 {2, 12, 18, 1, 11, 0} -#define NXFONT_BITMAP_246 {0x39, 0xc0, 0x39, 0xc0, 0x0, 0x0, 0x0, 0x0, 0xf, 0x0, 0x3f, 0xc0, 0x79, 0xe0, 0x70, 0xe0, 0xe0, 0x70, 0xe0, 0x70, 0xe0, 0x70, 0xe0, 0x70, 0xe0, 0x70, 0xe0, 0x70, 0x70, 0xe0, 0x79, 0xe0, 0x3f, 0xc0, 0xf, 0x0} - -/* divide (247) */ -#define NXFONT_METRICS_247 {2, 11, 12, 2, 16, 0} -#define NXFONT_BITMAP_247 {0xe, 0x0, 0xe, 0x0, 0xe, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xe0, 0xff, 0xe0, 0x0, 0x0, 0x0, 0x0, 0xe, 0x0, 0xe, 0x0, 0xe, 0x0} - -/* oslash (248) */ -#define NXFONT_METRICS_248 {2, 14, 14, 0, 15, 0} -#define NXFONT_BITMAP_248 {0x7, 0x8c, 0x1f, 0xfc, 0x3c, 0xf8, 0x38, 0x70, 0x70, 0xf8, 0x71, 0xf8, 0x73, 0xb8, 0x77, 0x38, 0x7e, 0x38, 0x7c, 0x38, 0x38, 0x70, 0x7c, 0xf0, 0xff, 0xe0, 0xc7, 0x80} - -/* ugrave (249) */ -#define NXFONT_METRICS_249 {2, 11, 19, 2, 10, 0} -#define NXFONT_BITMAP_249 {0x38, 0x0, 0x1c, 0x0, 0xe, 0x0, 0x7, 0x0, 0x0, 0x0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe1, 0xe0, 0x73, 0xe0, 0x7e, 0xe0, 0x1c, 0xe0} - -/* uacute (250) */ -#define NXFONT_METRICS_250 {2, 11, 19, 2, 10, 0} -#define NXFONT_BITMAP_250 {0x3, 0x80, 0x7, 0x0, 0xe, 0x0, 0x1c, 0x0, 0x0, 0x0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe1, 0xe0, 0x73, 0xe0, 0x7e, 0xe0, 0x1c, 0xe0} - -/* ucircumflex (251) */ -#define NXFONT_METRICS_251 {2, 11, 19, 2, 10, 0} -#define NXFONT_BITMAP_251 {0xe, 0x0, 0x1f, 0x0, 0x3b, 0x80, 0x71, 0xc0, 0x0, 0x0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe1, 0xe0, 0x73, 0xe0, 0x7e, 0xe0, 0x1c, 0xe0} - -/* udieresis (252) */ -#define NXFONT_METRICS_252 {2, 11, 18, 2, 11, 0} -#define NXFONT_BITMAP_252 {0x39, 0xc0, 0x39, 0xc0, 0x0, 0x0, 0x0, 0x0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe1, 0xe0, 0x73, 0xe0, 0x7e, 0xe0, 0x1c, 0xe0} - -/* yacute (253) */ -#define NXFONT_METRICS_253 {2, 13, 24, 1, 10, 0} -#define NXFONT_BITMAP_253 {0x0, 0xe0, 0x1, 0xc0, 0x3, 0x80, 0x7, 0x0, 0x0, 0x0, 0xe0, 0x38, 0xe0, 0x38, 0x70, 0x38, 0x78, 0x70, 0x38, 0x70, 0x3c, 0xf0, 0x1c, 0xe0, 0x1c, 0xe0, 0xf, 0xc0, 0xf, 0xc0, 0x7, 0xc0, 0x7, 0x80, 0x3, 0x80, 0x3, 0x80, 0x7, 0x0, 0x7, 0x0, 0xe, 0x0, 0x3e, 0x0, 0x3c, 0x0} - -/* thorn (254) */ -#define NXFONT_METRICS_254 {2, 12, 24, 2, 10, 0} -#define NXFONT_BITMAP_254 {0xe0, 0x0, 0xe0, 0x0, 0xe0, 0x0, 0xe0, 0x0, 0xe0, 0x0, 0xef, 0x80, 0xff, 0xc0, 0xf9, 0xe0, 0xf0, 0xe0, 0xe0, 0x70, 0xe0, 0x70, 0xe0, 0x70, 0xe0, 0x70, 0xe0, 0x70, 0xe0, 0x70, 0xf0, 0xe0, 0xf9, 0xe0, 0xff, 0xc0, 0xef, 0x80, 0xe0, 0x0, 0xe0, 0x0, 0xe0, 0x0, 0xe0, 0x0, 0xe0, 0x0} - -/* ydieresis (255) */ -#define NXFONT_METRICS_255 {2, 13, 23, 1, 11, 0} -#define NXFONT_BITMAP_255 {0x1c, 0xe0, 0x1c, 0xe0, 0x0, 0x0, 0x0, 0x0, 0xe0, 0x38, 0xe0, 0x38, 0x70, 0x38, 0x78, 0x70, 0x38, 0x70, 0x3c, 0xf0, 0x1c, 0xe0, 0x1c, 0xe0, 0xf, 0xc0, 0xf, 0xc0, 0x7, 0xc0, 0x7, 0x80, 0x3, 0x80, 0x3, 0x80, 0x7, 0x0, 0x7, 0x0, 0xe, 0x0, 0x3e, 0x0, 0x3c, 0x0} - -/**************************************************************************** - * Public Types - ****************************************************************************/ - -/**************************************************************************** - * Public Data - ****************************************************************************/ - -#undef EXTERN -#if defined(__cplusplus) -#define EXTERN extern "C" -extern "C" { -#else -#define EXTERN extern -#endif - -/**************************************************************************** - * Public Functions - ****************************************************************************/ - -#undef EXTERN -#if defined(__cplusplus) -} -#endif - -#endif /* __GRAPHICS_NXFONTS_NXFONTS_SANS28X37B_H */ diff --git a/nuttx/graphics/nxfonts/nxfonts_sans39x48.h b/nuttx/graphics/nxfonts/nxfonts_sans39x48.h deleted file mode 100644 index 62aaf1eb3..000000000 --- a/nuttx/graphics/nxfonts/nxfonts_sans39x48.h +++ /dev/null @@ -1,849 +0,0 @@ -/**************************************************************************** - * graphics/nxfonts/nxfonts_serif39x48.h - * - * Copyright (C) 2011-2012 NX Engineering, S.A., All rights reserved. - * Author: Jose Pablo Carballo Gomez <jcarballo@nx-engineering.com> - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * 3. Neither the name NuttX nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT} - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING} - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - ****************************************************************************/ - -#ifndef __GRAPHICS_NXFONTS_NXFONTS_SERIF39X48_H -#define __GRAPHICS_NXFONTS_NXFONTS_SERIF39X48_H - -/**************************************************************************** - * Included Files - ****************************************************************************/ - -/**************************************************************************** - * Pre-Processor Definitions - ****************************************************************************/ - -/* Font ID */ - -#define NXFONT_ID FONTID_SERIF39X48 - -/* Ranges of 7-bit and 8-bit fonts */ - -#define NXFONT_MIN7BIT 33 -#define NXFONT_MAX7BIT 126 - -#define NXFONT_MIN8BIT 161 -#define NXFONT_MAX8BIT 255 - -/* Maximum height and width of any glyph in the set */ - -#define NXFONT_MAXHEIGHT 48 -#define NXFONT_MAXWIDTH 39 - -/* The width of a space */ - -#define NXFONT_SPACEWIDTH 9 - -/* exclam (33) */ -#define NXFONT_METRICS_33 {1, 3, 25, 4, 12, 0} -#define NXFONT_BITMAP_33 {0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0x40, 0x40, 0x0, 0x0, 0xe0, 0xe0, 0xe0, 0xe0} - -/* quotedbl (34) */ -#define NXFONT_METRICS_34 {1, 8, 8, 2, 14, 0} -#define NXFONT_BITMAP_34 {0xe7, 0xe7, 0xe7, 0xe7, 0xe7, 0xe7, 0x42, 0x42} - -/* numbersign (35) */ -#define NXFONT_METRICS_35 {3, 17, 23, 1, 14, 0} -#define NXFONT_BITMAP_35 {0x3, 0x87, 0x0, 0x3, 0x87, 0x0, 0x3, 0x6, 0x0, 0x3, 0x6, 0x0, 0x7, 0xe, 0x0, 0x7, 0xe, 0x0, 0x7f, 0xff, 0x80, 0x7f, 0xff, 0x80, 0x7f, 0xff, 0x80, 0xe, 0x1c, 0x0, 0xe, 0x1c, 0x0, 0xc, 0x18, 0x0, 0x1c, 0x38, 0x0, 0x1c, 0x38, 0x0, 0xff, 0xff, 0x0, 0xff, 0xff, 0x0, 0xff, 0xff, 0x0, 0x38, 0x70, 0x0, 0x38, 0x70, 0x0, 0x30, 0x60, 0x0, 0x30, 0x60, 0x0, 0x70, 0xe0, 0x0, 0x70, 0xe0, 0x0} - -/* dollar (36) */ -#define NXFONT_METRICS_36 {2, 16, 31, 1, 10, 0} -#define NXFONT_BITMAP_36 {0x1, 0x80, 0x1, 0x80, 0x1, 0x80, 0xf, 0xf0, 0x1f, 0xf8, 0x3d, 0xbc, 0x71, 0x8e, 0x71, 0x8e, 0xe1, 0x8e, 0xe1, 0x80, 0xe1, 0x80, 0x71, 0x80, 0x7d, 0x80, 0x3f, 0xc0, 0x1f, 0xf0, 0x7, 0xfc, 0x1, 0xfe, 0x1, 0x9e, 0x1, 0x8f, 0x1, 0x87, 0xe1, 0x87, 0xe1, 0x87, 0x71, 0x8e, 0x71, 0x8e, 0x3d, 0xbc, 0x3f, 0xf8, 0xf, 0xf0, 0x1, 0x80, 0x1, 0x80, 0x1, 0x80, 0x1, 0x80} - -/* percent (37) */ -#define NXFONT_METRICS_37 {4, 26, 24, 1, 13, 0} -#define NXFONT_BITMAP_37 {0x0, 0x0, 0x30, 0x0, 0x1f, 0x0, 0x70, 0x0, 0x7f, 0x80, 0x60, 0x0, 0x73, 0xc0, 0xe0, 0x0, 0xe0, 0xc0, 0xc0, 0x0, 0xc0, 0xe1, 0xc0, 0x0, 0xc0, 0xe1, 0x80, 0x0, 0xc0, 0xe3, 0x80, 0x0, 0xe0, 0xc3, 0x0, 0x0, 0x73, 0xc7, 0x0, 0x0, 0x7f, 0x86, 0x0, 0x0, 0x1f, 0xe, 0x0, 0x0, 0x0, 0xc, 0x0, 0x0, 0x0, 0x1c, 0x3e, 0x0, 0x0, 0x18, 0x7f, 0x80, 0x0, 0x38, 0xf3, 0x80, 0x0, 0x30, 0xc1, 0xc0, 0x0, 0x71, 0xc0, 0xc0, 0x0, 0x61, 0xc0, 0xc0, 0x0, 0xe1, 0xc0, 0xc0, 0x0, 0xc0, 0xc1, 0xc0, 0x1, 0xc0, 0xe3, 0x80, 0x1, 0x80, 0x7f, 0x80, 0x3, 0x80, 0x3e, 0x0} - -/* ampersand (38) */ -#define NXFONT_METRICS_38 {3, 18, 23, 2, 14, 0} -#define NXFONT_BITMAP_38 {0x7, 0xc0, 0x0, 0xf, 0xe0, 0x0, 0x1e, 0x70, 0x0, 0x3c, 0x38, 0x0, 0x38, 0x38, 0x0, 0x38, 0x38, 0x0, 0x3c, 0x70, 0x0, 0x1e, 0xf0, 0x0, 0xf, 0xe0, 0x0, 0x7, 0xc0, 0x0, 0xf, 0x80, 0x0, 0x3f, 0xc0, 0x0, 0x79, 0xc7, 0x0, 0x70, 0xe7, 0x0, 0xe0, 0xf6, 0x0, 0xe0, 0x7e, 0x0, 0xe0, 0x3c, 0x0, 0xe0, 0x1c, 0x0, 0xf0, 0x3e, 0x0, 0x78, 0x7f, 0x0, 0x7f, 0xf7, 0x80, 0x3f, 0xe3, 0xc0, 0xf, 0x0, 0x0} - -/* quotesingle (39) */ -#define NXFONT_METRICS_39 {1, 3, 8, 2, 14, 0} -#define NXFONT_BITMAP_39 {0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0x40} - -/* parenleft (40) */ -#define NXFONT_METRICS_40 {1, 7, 31, 2, 13, 0} -#define NXFONT_BITMAP_40 {0x6, 0xc, 0xc, 0x18, 0x18, 0x38, 0x30, 0x70, 0x70, 0x70, 0x60, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0x60, 0x70, 0x70, 0x70, 0x30, 0x38, 0x18, 0x18, 0xc, 0xc, 0x6} - -/* parenright (41) */ -#define NXFONT_METRICS_41 {1, 7, 31, 1, 13, 0} -#define NXFONT_BITMAP_41 {0xc0, 0x60, 0x60, 0x30, 0x30, 0x38, 0x18, 0x1c, 0x1c, 0x1c, 0xc, 0xe, 0xe, 0xe, 0xe, 0xe, 0xe, 0xe, 0xe, 0xc, 0xc, 0x1c, 0x1c, 0x18, 0x18, 0x38, 0x30, 0x70, 0x60, 0x60, 0xc0} - -/* asterisk (42) */ -#define NXFONT_METRICS_42 {2, 10, 11, 1, 11, 0} -#define NXFONT_BITMAP_42 {0xc, 0x0, 0xc, 0x0, 0x4c, 0x80, 0xed, 0xc0, 0x7f, 0x80, 0x3f, 0x0, 0x1e, 0x0, 0x3f, 0x0, 0x73, 0x80, 0xe1, 0xc0, 0x40, 0x80} - -/* plus (43) */ -#define NXFONT_METRICS_43 {3, 17, 16, 1, 20, 0} -#define NXFONT_BITMAP_43 {0x1, 0xc0, 0x0, 0x1, 0xc0, 0x0, 0x1, 0xc0, 0x0, 0x1, 0xc0, 0x0, 0x1, 0xc0, 0x0, 0x1, 0xc0, 0x0, 0x1, 0xc0, 0x0, 0xff, 0xff, 0x80, 0xff, 0xff, 0x80, 0xff, 0xff, 0x80, 0x1, 0xc0, 0x0, 0x1, 0xc0, 0x0, 0x1, 0xc0, 0x0, 0x1, 0xc0, 0x0, 0x1, 0xc0, 0x0, 0x1, 0xc0, 0x0} - -/* comma (44) */ -#define NXFONT_METRICS_44 {1, 3, 9, 3, 33, 0} -#define NXFONT_BITMAP_44 {0xe0, 0xe0, 0xe0, 0xe0, 0x20, 0x60, 0x60, 0xc0, 0x80} - -/* hyphen (45) */ -#define NXFONT_METRICS_45 {1, 8, 2, 1, 27, 0} -#define NXFONT_BITMAP_45 {0xff, 0xff} - -/* period (46) */ -#define NXFONT_METRICS_46 {1, 3, 4, 3, 33, 0} -#define NXFONT_BITMAP_46 {0xe0, 0xe0, 0xe0, 0xe0} - -/* slash (47) */ -#define NXFONT_METRICS_47 {2, 9, 24, 0, 13, 0} -#define NXFONT_BITMAP_47 {0x1, 0x80, 0x1, 0x80, 0x1, 0x80, 0x3, 0x0, 0x3, 0x0, 0x3, 0x0, 0x6, 0x0, 0x6, 0x0, 0x6, 0x0, 0xc, 0x0, 0xc, 0x0, 0xc, 0x0, 0x8, 0x0, 0x18, 0x0, 0x18, 0x0, 0x18, 0x0, 0x30, 0x0, 0x30, 0x0, 0x30, 0x0, 0x60, 0x0, 0x60, 0x0, 0x60, 0x0, 0xc0, 0x0, 0xc0, 0x0} - -/* zero (48) */ -#define NXFONT_METRICS_48 {2, 15, 24, 1, 13, 0} -#define NXFONT_BITMAP_48 {0x7, 0xc0, 0x1f, 0xf0, 0x3f, 0xf8, 0x3c, 0x78, 0x78, 0x3c, 0x70, 0x1c, 0x70, 0x1c, 0xe0, 0xe, 0xe0, 0xe, 0xe0, 0xe, 0xe0, 0xe, 0xe0, 0xe, 0xe0, 0xe, 0xe0, 0xe, 0xe0, 0xe, 0xe0, 0xe, 0xe0, 0xe, 0x70, 0x1c, 0x70, 0x1c, 0x70, 0x3c, 0x3c, 0x78, 0x3f, 0xf8, 0x1f, 0xf0, 0x7, 0xc0} - -/* one (49) */ -#define NXFONT_METRICS_49 {1, 8, 24, 3, 13, 0} -#define NXFONT_BITMAP_49 {0x3, 0x7, 0x7, 0xf, 0x3f, 0xff, 0xff, 0x7, 0x7, 0x7, 0x7, 0x7, 0x7, 0x7, 0x7, 0x7, 0x7, 0x7, 0x7, 0x7, 0x7, 0x7, 0x7, 0x7} - -/* two (50) */ -#define NXFONT_METRICS_50 {2, 15, 24, 1, 13, 0} -#define NXFONT_BITMAP_50 {0x7, 0xc0, 0x1f, 0xf0, 0x3f, 0xf8, 0x78, 0x3c, 0x70, 0x1c, 0xf0, 0xe, 0xe0, 0xe, 0xe0, 0xe, 0x0, 0xe, 0x0, 0x1c, 0x0, 0x3c, 0x0, 0x78, 0x0, 0xf0, 0x3, 0xe0, 0x7, 0xc0, 0x1f, 0x0, 0x3c, 0x0, 0x78, 0x0, 0x70, 0x0, 0xe0, 0x0, 0xe0, 0x0, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe} - -/* three (51) */ -#define NXFONT_METRICS_51 {2, 15, 24, 1, 13, 0} -#define NXFONT_BITMAP_51 {0x7, 0xc0, 0x1f, 0xf0, 0x3f, 0xf8, 0x38, 0x38, 0x70, 0x1c, 0x70, 0x1c, 0x70, 0x1c, 0x70, 0x1c, 0x0, 0x1c, 0x0, 0x38, 0x3, 0xf8, 0x3, 0xf0, 0x3, 0xf8, 0x0, 0x3c, 0x0, 0x1e, 0x0, 0xe, 0xe0, 0xe, 0xe0, 0xe, 0xe0, 0xe, 0x70, 0x1c, 0x78, 0x3c, 0x3f, 0xf8, 0x1f, 0xf0, 0x7, 0xc0} - -/* four (52) */ -#define NXFONT_METRICS_52 {2, 16, 24, 0, 13, 0} -#define NXFONT_BITMAP_52 {0x0, 0x18, 0x0, 0x38, 0x0, 0x78, 0x0, 0x78, 0x0, 0xf8, 0x1, 0xf8, 0x3, 0xb8, 0x3, 0xb8, 0x7, 0x38, 0xe, 0x38, 0xe, 0x38, 0x1c, 0x38, 0x38, 0x38, 0x38, 0x38, 0x70, 0x38, 0xe0, 0x38, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0, 0x38, 0x0, 0x38, 0x0, 0x38, 0x0, 0x38, 0x0, 0x38} - -/* five (53) */ -#define NXFONT_METRICS_53 {2, 15, 24, 1, 13, 0} -#define NXFONT_BITMAP_53 {0x3f, 0xfc, 0x3f, 0xfc, 0x3f, 0xfc, 0x38, 0x0, 0x38, 0x0, 0x38, 0x0, 0x70, 0x0, 0x70, 0x0, 0x77, 0xc0, 0x7f, 0xf0, 0x7f, 0xf8, 0x78, 0x7c, 0x70, 0x1c, 0x0, 0x1e, 0x0, 0xe, 0x0, 0xe, 0x0, 0xe, 0xe0, 0xe, 0xe0, 0x1e, 0xf0, 0x1c, 0x78, 0x7c, 0x7f, 0xf8, 0x3f, 0xf0, 0xf, 0x80} - -/* six (54) */ -#define NXFONT_METRICS_54 {2, 15, 24, 1, 13, 0} -#define NXFONT_BITMAP_54 {0x3, 0xc0, 0xf, 0xf0, 0x1f, 0xf8, 0x3c, 0x38, 0x38, 0x1c, 0x70, 0x1c, 0x70, 0x0, 0x70, 0x0, 0x60, 0x0, 0xe3, 0xc0, 0xef, 0xf0, 0xff, 0xf8, 0xf8, 0x3c, 0xf0, 0x1c, 0xf0, 0xe, 0xe0, 0xe, 0xe0, 0xe, 0x60, 0xe, 0x70, 0xe, 0x70, 0x1c, 0x38, 0x3c, 0x3f, 0xf8, 0x1f, 0xf0, 0x7, 0xc0} - -/* seven (55) */ -#define NXFONT_METRICS_55 {2, 15, 24, 1, 13, 0} -#define NXFONT_BITMAP_55 {0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0x0, 0xe, 0x0, 0x1c, 0x0, 0x18, 0x0, 0x38, 0x0, 0x70, 0x0, 0x70, 0x0, 0xe0, 0x0, 0xe0, 0x1, 0xc0, 0x1, 0xc0, 0x3, 0x80, 0x3, 0x80, 0x7, 0x0, 0x7, 0x0, 0x7, 0x0, 0xe, 0x0, 0xe, 0x0, 0xe, 0x0, 0x1c, 0x0, 0x1c, 0x0, 0x1c, 0x0} - -/* eight (56) */ -#define NXFONT_METRICS_56 {2, 15, 24, 1, 13, 0} -#define NXFONT_BITMAP_56 {0x7, 0xc0, 0x1f, 0xf0, 0x3f, 0xf8, 0x38, 0x3c, 0x70, 0x1c, 0x70, 0x1c, 0x70, 0x1c, 0x70, 0x1c, 0x78, 0x3c, 0x3c, 0x78, 0x1f, 0xf0, 0xf, 0xe0, 0x3f, 0xf8, 0x78, 0x3c, 0x70, 0x1c, 0xe0, 0xe, 0xe0, 0xe, 0xe0, 0xe, 0xe0, 0xe, 0xf0, 0x1c, 0x78, 0x3c, 0x3f, 0xf8, 0x1f, 0xf0, 0x7, 0xc0} - -/* nine (57) */ -#define NXFONT_METRICS_57 {2, 15, 24, 1, 13, 0} -#define NXFONT_BITMAP_57 {0x7, 0xc0, 0x1f, 0xf0, 0x3f, 0xf8, 0x78, 0x7c, 0x70, 0x3c, 0xf0, 0x1c, 0xe0, 0x1e, 0xe0, 0xe, 0xe0, 0xe, 0xe0, 0xe, 0xe0, 0x1e, 0xe0, 0x1e, 0x70, 0x3e, 0x7f, 0xfe, 0x3f, 0xee, 0xf, 0xce, 0x0, 0xe, 0x0, 0x1c, 0xe0, 0x1c, 0xf0, 0x3c, 0x78, 0x78, 0x3f, 0xf0, 0x3f, 0xe0, 0xf, 0x80} - -/* colon (58) */ -#define NXFONT_METRICS_58 {1, 3, 18, 4, 19, 0} -#define NXFONT_BITMAP_58 {0xe0, 0xe0, 0xe0, 0xe0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xe0, 0xe0, 0xe0, 0xe0} - -/* semicolon (59) */ -#define NXFONT_METRICS_59 {1, 3, 22, 4, 20, 0} -#define NXFONT_BITMAP_59 {0xe0, 0xe0, 0xe0, 0xe0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xe0, 0xe0, 0xe0, 0xe0, 0x20, 0x60, 0x60, 0xc0, 0x80} - -/* less (60) */ -#define NXFONT_METRICS_60 {2, 16, 16, 2, 21, 0} -#define NXFONT_BITMAP_60 {0x0, 0x3, 0x0, 0xf, 0x0, 0x3f, 0x1, 0xfc, 0x7, 0xe0, 0x1f, 0x80, 0xfe, 0x0, 0xf0, 0x0, 0xf0, 0x0, 0xfe, 0x0, 0x1f, 0x80, 0x7, 0xe0, 0x1, 0xfc, 0x0, 0x7f, 0x0, 0xf, 0x0, 0x3} - -/* equal (61) */ -#define NXFONT_METRICS_61 {2, 15, 9, 2, 24, 0} -#define NXFONT_BITMAP_61 {0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe} - -/* greater (62) */ -#define NXFONT_METRICS_62 {2, 16, 16, 1, 21, 0} -#define NXFONT_BITMAP_62 {0xc0, 0x0, 0xf0, 0x0, 0xfe, 0x0, 0x3f, 0x80, 0x7, 0xe0, 0x1, 0xf8, 0x0, 0x7f, 0x0, 0xf, 0x0, 0xf, 0x0, 0x7f, 0x1, 0xf8, 0x7, 0xe0, 0x3f, 0x80, 0xfe, 0x0, 0xf0, 0x0, 0xc0, 0x0} - -/* question (63) */ -#define NXFONT_METRICS_63 {2, 14, 25, 2, 12, 0} -#define NXFONT_BITMAP_63 {0x7, 0xc0, 0x1f, 0xf0, 0x3f, 0xf8, 0x78, 0x38, 0x70, 0x1c, 0xf0, 0x1c, 0xe0, 0x1c, 0xe0, 0x1c, 0x0, 0x1c, 0x0, 0x38, 0x0, 0x38, 0x0, 0x70, 0x0, 0xe0, 0x1, 0xe0, 0x1, 0xc0, 0x3, 0x80, 0x3, 0x80, 0x3, 0x80, 0x3, 0x80, 0x0, 0x0, 0x0, 0x0, 0x3, 0x80, 0x3, 0x80, 0x3, 0x80, 0x3, 0x80} - -/* at (64) */ -#define NXFONT_METRICS_64 {4, 29, 30, 1, 12, 0} -#define NXFONT_BITMAP_64 {0x0, 0x7, 0xc0, 0x0, 0x0, 0x3f, 0xf8, 0x0, 0x0, 0xff, 0xfe, 0x0, 0x3, 0xf0, 0x3f, 0x80, 0x7, 0xc0, 0x7, 0xc0, 0xf, 0x0, 0x3, 0xe0, 0x1e, 0x0, 0x1, 0xe0, 0x1c, 0x0, 0x0, 0xf0, 0x38, 0xf, 0x8c, 0x70, 0x38, 0x1f, 0xdc, 0x38, 0x70, 0x3c, 0xfc, 0x38, 0x70, 0x70, 0x7c, 0x38, 0x60, 0xe0, 0x38, 0x18, 0xe0, 0xe0, 0x38, 0x18, 0xe1, 0xe0, 0x38, 0x18, 0xe1, 0xc0, 0x70, 0x38, 0xe1, 0xc0, 0x70, 0x38, 0xe1, 0xc0, 0x70, 0x70, 0xe1, 0xc0, 0xe0, 0x70, 0xe1, 0xe0, 0xe0, 0xe0, 0x70, 0xf3, 0xf3, 0xc0, 0x70, 0xff, 0x7f, 0x80, 0x78, 0x3e, 0x7f, 0x0, 0x3c, 0x0, 0x0, 0x0, 0x1e, 0x0, 0x0, 0x0, 0x1f, 0x0, 0x0, 0x0, 0xf, 0x80, 0x0, 0x0, 0x3, 0xe0, 0x78, 0x0, 0x1, 0xff, 0xf8, 0x0, 0x0, 0x7f, 0xe0, 0x0} - -/* A (65) */ -#define NXFONT_METRICS_65 {3, 20, 25, 1, 12, 0} -#define NXFONT_BITMAP_65 {0x0, 0xf0, 0x0, 0x0, 0xf0, 0x0, 0x0, 0xf8, 0x0, 0x1, 0xf8, 0x0, 0x1, 0xf8, 0x0, 0x3, 0x9c, 0x0, 0x3, 0x9c, 0x0, 0x3, 0x9c, 0x0, 0x7, 0x9e, 0x0, 0x7, 0xe, 0x0, 0x7, 0xe, 0x0, 0xf, 0xf, 0x0, 0xf, 0xf, 0x0, 0xe, 0x7, 0x0, 0x1e, 0x7, 0x80, 0x1f, 0xff, 0x80, 0x1f, 0xff, 0x80, 0x3f, 0xff, 0xc0, 0x3c, 0x3, 0xc0, 0x38, 0x1, 0xc0, 0x78, 0x1, 0xe0, 0x78, 0x1, 0xe0, 0x70, 0x0, 0xe0, 0xf0, 0x0, 0xf0, 0xf0, 0x0, 0xf0} - -/* B (66) */ -#define NXFONT_METRICS_66 {3, 17, 25, 3, 12, 0} -#define NXFONT_BITMAP_66 {0xff, 0xf0, 0x0, 0xff, 0xfc, 0x0, 0xff, 0xfe, 0x0, 0xe0, 0x3e, 0x0, 0xe0, 0xf, 0x0, 0xe0, 0xf, 0x0, 0xe0, 0x7, 0x0, 0xe0, 0x7, 0x0, 0xe0, 0xf, 0x0, 0xe0, 0xe, 0x0, 0xe0, 0x3e, 0x0, 0xff, 0xfc, 0x0, 0xff, 0xfc, 0x0, 0xff, 0xfe, 0x0, 0xe0, 0x1f, 0x0, 0xe0, 0x7, 0x80, 0xe0, 0x3, 0x80, 0xe0, 0x3, 0x80, 0xe0, 0x3, 0x80, 0xe0, 0x3, 0x80, 0xe0, 0x7, 0x80, 0xe0, 0xf, 0x0, 0xff, 0xfe, 0x0, 0xff, 0xfe, 0x0, 0xff, 0xf8, 0x0} - -/* C (67) */ -#define NXFONT_METRICS_67 {3, 20, 25, 2, 12, 0} -#define NXFONT_BITMAP_67 {0x1, 0xfc, 0x0, 0x7, 0xff, 0x0, 0xf, 0xff, 0x80, 0x1f, 0x7, 0xc0, 0x3c, 0x1, 0xe0, 0x38, 0x0, 0xe0, 0x70, 0x0, 0xf0, 0x70, 0x0, 0x70, 0xe0, 0x0, 0x0, 0xe0, 0x0, 0x0, 0xe0, 0x0, 0x0, 0xe0, 0x0, 0x0, 0xe0, 0x0, 0x0, 0xe0, 0x0, 0x0, 0xe0, 0x0, 0x0, 0xe0, 0x0, 0x0, 0xe0, 0x0, 0x70, 0xf0, 0x0, 0x70, 0x70, 0x0, 0xf0, 0x78, 0x0, 0xe0, 0x3c, 0x1, 0xe0, 0x3f, 0x7, 0xc0, 0x1f, 0xff, 0x80, 0x7, 0xfe, 0x0, 0x1, 0xf8, 0x0} - -/* D (68) */ -#define NXFONT_METRICS_68 {3, 18, 25, 3, 12, 0} -#define NXFONT_BITMAP_68 {0xff, 0xf0, 0x0, 0xff, 0xfc, 0x0, 0xff, 0xfe, 0x0, 0xe0, 0x1f, 0x0, 0xe0, 0xf, 0x0, 0xe0, 0x7, 0x80, 0xe0, 0x3, 0x80, 0xe0, 0x3, 0x80, 0xe0, 0x1, 0xc0, 0xe0, 0x1, 0xc0, 0xe0, 0x1, 0xc0, 0xe0, 0x1, 0xc0, 0xe0, 0x1, 0xc0, 0xe0, 0x1, 0xc0, 0xe0, 0x1, 0xc0, 0xe0, 0x1, 0xc0, 0xe0, 0x3, 0xc0, 0xe0, 0x3, 0x80, 0xe0, 0x3, 0x80, 0xe0, 0x7, 0x80, 0xe0, 0xf, 0x0, 0xe0, 0x1e, 0x0, 0xff, 0xfe, 0x0, 0xff, 0xfc, 0x0, 0xff, 0xf0, 0x0} - -/* E (69) */ -#define NXFONT_METRICS_69 {3, 17, 25, 3, 12, 0} -#define NXFONT_BITMAP_69 {0xff, 0xff, 0x0, 0xff, 0xff, 0x0, 0xff, 0xff, 0x0, 0xe0, 0x0, 0x0, 0xe0, 0x0, 0x0, 0xe0, 0x0, 0x0, 0xe0, 0x0, 0x0, 0xe0, 0x0, 0x0, 0xe0, 0x0, 0x0, 0xe0, 0x0, 0x0, 0xe0, 0x0, 0x0, 0xff, 0xff, 0x0, 0xff, 0xff, 0x0, 0xff, 0xff, 0x0, 0xe0, 0x0, 0x0, 0xe0, 0x0, 0x0, 0xe0, 0x0, 0x0, 0xe0, 0x0, 0x0, 0xe0, 0x0, 0x0, 0xe0, 0x0, 0x0, 0xe0, 0x0, 0x0, 0xe0, 0x0, 0x0, 0xff, 0xff, 0x80, 0xff, 0xff, 0x80, 0xff, 0xff, 0x80} - -/* F (70) */ -#define NXFONT_METRICS_70 {2, 16, 25, 3, 12, 0} -#define NXFONT_BITMAP_70 {0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe0, 0x0, 0xe0, 0x0, 0xe0, 0x0, 0xe0, 0x0, 0xe0, 0x0, 0xe0, 0x0, 0xe0, 0x0, 0xe0, 0x0, 0xff, 0xfc, 0xff, 0xfc, 0xff, 0xfc, 0xe0, 0x0, 0xe0, 0x0, 0xe0, 0x0, 0xe0, 0x0, 0xe0, 0x0, 0xe0, 0x0, 0xe0, 0x0, 0xe0, 0x0, 0xe0, 0x0, 0xe0, 0x0, 0xe0, 0x0} - -/* G (71) */ -#define NXFONT_METRICS_71 {3, 22, 25, 1, 12, 0} -#define NXFONT_BITMAP_71 {0x0, 0xfe, 0x0, 0x3, 0xff, 0x80, 0xf, 0xff, 0xc0, 0x1f, 0x83, 0xf0, 0x3e, 0x0, 0xf0, 0x3c, 0x0, 0x78, 0x78, 0x0, 0x38, 0x70, 0x0, 0x38, 0xf0, 0x0, 0x0, 0xe0, 0x0, 0x0, 0xe0, 0x0, 0x0, 0xe0, 0x0, 0x0, 0xe0, 0xf, 0xfc, 0xe0, 0xf, 0xfc, 0xe0, 0xf, 0xfc, 0xe0, 0x0, 0x1c, 0xf0, 0x0, 0x1c, 0x70, 0x0, 0x1c, 0x78, 0x0, 0x3c, 0x38, 0x0, 0x3c, 0x3c, 0x0, 0xfc, 0x1f, 0x1, 0xfc, 0xf, 0xff, 0xdc, 0x7, 0xff, 0x1c, 0x1, 0xfc, 0x1c} - -/* H (72) */ -#define NXFONT_METRICS_72 {3, 18, 25, 3, 12, 0} -#define NXFONT_BITMAP_72 {0xe0, 0x1, 0xc0, 0xe0, 0x1, 0xc0, 0xe0, 0x1, 0xc0, 0xe0, 0x1, 0xc0, 0xe0, 0x1, 0xc0, 0xe0, 0x1, 0xc0, 0xe0, 0x1, 0xc0, 0xe0, 0x1, 0xc0, 0xe0, 0x1, 0xc0, 0xe0, 0x1, 0xc0, 0xe0, 0x1, 0xc0, 0xff, 0xff, 0xc0, 0xff, 0xff, 0xc0, 0xff, 0xff, 0xc0, 0xe0, 0x1, 0xc0, 0xe0, 0x1, 0xc0, 0xe0, 0x1, 0xc0, 0xe0, 0x1, 0xc0, 0xe0, 0x1, 0xc0, 0xe0, 0x1, 0xc0, 0xe0, 0x1, 0xc0, 0xe0, 0x1, 0xc0, 0xe0, 0x1, 0xc0, 0xe0, 0x1, 0xc0, 0xe0, 0x1, 0xc0} - -/* I (73) */ -#define NXFONT_METRICS_73 {1, 3, 25, 3, 12, 0} -#define NXFONT_BITMAP_73 {0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0} - -/* J (74) */ -#define NXFONT_METRICS_74 {2, 13, 25, 1, 12, 0} -#define NXFONT_BITMAP_74 {0x0, 0x38, 0x0, 0x38, 0x0, 0x38, 0x0, 0x38, 0x0, 0x38, 0x0, 0x38, 0x0, 0x38, 0x0, 0x38, 0x0, 0x38, 0x0, 0x38, 0x0, 0x38, 0x0, 0x38, 0x0, 0x38, 0x0, 0x38, 0x0, 0x38, 0x0, 0x38, 0xe0, 0x38, 0xe0, 0x38, 0xe0, 0x38, 0xe0, 0x38, 0xf0, 0x78, 0x78, 0xf0, 0x7f, 0xf0, 0x3f, 0xe0, 0x1f, 0x80} - -/* K (75) */ -#define NXFONT_METRICS_75 {3, 20, 25, 3, 12, 0} -#define NXFONT_BITMAP_75 {0xe0, 0x3, 0xc0, 0xe0, 0x7, 0x80, 0xe0, 0xf, 0x0, 0xe0, 0x1e, 0x0, 0xe0, 0x3c, 0x0, 0xe0, 0x78, 0x0, 0xe0, 0xf0, 0x0, 0xe1, 0xe0, 0x0, 0xe3, 0xc0, 0x0, 0xe7, 0xc0, 0x0, 0xef, 0x80, 0x0, 0xff, 0xc0, 0x0, 0xff, 0xc0, 0x0, 0xf9, 0xe0, 0x0, 0xf0, 0xf0, 0x0, 0xe0, 0x70, 0x0, 0xe0, 0x78, 0x0, 0xe0, 0x3c, 0x0, 0xe0, 0x1c, 0x0, 0xe0, 0x1e, 0x0, 0xe0, 0xf, 0x0, 0xe0, 0x7, 0x80, 0xe0, 0x3, 0xc0, 0xe0, 0x3, 0xe0, 0xe0, 0x1, 0xf0} - -/* L (76) */ -#define NXFONT_METRICS_76 {2, 14, 25, 3, 12, 0} -#define NXFONT_BITMAP_76 {0xe0, 0x0, 0xe0, 0x0, 0xe0, 0x0, 0xe0, 0x0, 0xe0, 0x0, 0xe0, 0x0, 0xe0, 0x0, 0xe0, 0x0, 0xe0, 0x0, 0xe0, 0x0, 0xe0, 0x0, 0xe0, 0x0, 0xe0, 0x0, 0xe0, 0x0, 0xe0, 0x0, 0xe0, 0x0, 0xe0, 0x0, 0xe0, 0x0, 0xe0, 0x0, 0xe0, 0x0, 0xe0, 0x0, 0xe0, 0x0, 0xff, 0xfc, 0xff, 0xfc, 0xff, 0xfc} - -/* M (77) */ -#define NXFONT_METRICS_77 {3, 21, 25, 3, 12, 0} -#define NXFONT_BITMAP_77 {0xf0, 0x0, 0x78, 0xf0, 0x0, 0x78, 0xf8, 0x0, 0xf8, 0xf8, 0x0, 0xf8, 0xfc, 0x1, 0xf8, 0xfc, 0x1, 0xf8, 0xfc, 0x1, 0xf8, 0xec, 0x1, 0xb8, 0xee, 0x3, 0xb8, 0xee, 0x3, 0xb8, 0xe6, 0x3, 0x38, 0xe7, 0x7, 0x38, 0xe7, 0x7, 0x38, 0xe3, 0x6, 0x38, 0xe3, 0x8e, 0x38, 0xe3, 0x8e, 0x38, 0xe3, 0x8e, 0x38, 0xe1, 0x8c, 0x38, 0xe1, 0xdc, 0x38, 0xe1, 0xdc, 0x38, 0xe0, 0xd8, 0x38, 0xe0, 0xf8, 0x38, 0xe0, 0xf8, 0x38, 0xe0, 0x70, 0x38, 0xe0, 0x70, 0x38} - -/* N (78) */ -#define NXFONT_METRICS_78 {3, 19, 25, 2, 12, 0} -#define NXFONT_BITMAP_78 {0xf0, 0x0, 0xe0, 0xf0, 0x0, 0xe0, 0xf8, 0x0, 0xe0, 0xfc, 0x0, 0xe0, 0xfc, 0x0, 0xe0, 0xfe, 0x0, 0xe0, 0xef, 0x0, 0xe0, 0xe7, 0x0, 0xe0, 0xe7, 0x80, 0xe0, 0xe3, 0xc0, 0xe0, 0xe3, 0xc0, 0xe0, 0xe1, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xf0, 0xe0, 0xe0, 0x78, 0xe0, 0xe0, 0x38, 0xe0, 0xe0, 0x3c, 0xe0, 0xe0, 0x1c, 0xe0, 0xe0, 0x1e, 0xe0, 0xe0, 0xf, 0xe0, 0xe0, 0x7, 0xe0, 0xe0, 0x7, 0xe0, 0xe0, 0x3, 0xe0, 0xe0, 0x1, 0xe0, 0xe0, 0x1, 0xe0} - -/* O (79) */ -#define NXFONT_METRICS_79 {3, 23, 25, 1, 12, 0} -#define NXFONT_BITMAP_79 {0x0, 0xfe, 0x0, 0x3, 0xff, 0x80, 0xf, 0xef, 0xe0, 0x1f, 0x1, 0xf0, 0x3e, 0x0, 0xf8, 0x3c, 0x0, 0x78, 0x78, 0x0, 0x3c, 0x70, 0x0, 0x1c, 0xf0, 0x0, 0x1e, 0xe0, 0x0, 0xe, 0xe0, 0x0, 0xe, 0xe0, 0x0, 0xe, 0xe0, 0x0, 0xe, 0xe0, 0x0, 0xe, 0xe0, 0x0, 0xe, 0xe0, 0x0, 0xe, 0xf0, 0x0, 0x1e, 0xf0, 0x0, 0x1e, 0x78, 0x0, 0x3c, 0x3c, 0x0, 0x78, 0x3e, 0x0, 0xf8, 0x1f, 0x1, 0xf0, 0xf, 0xef, 0xe0, 0x3, 0xff, 0x80, 0x0, 0xfe, 0x0} - -/* P (80) */ -#define NXFONT_METRICS_80 {3, 17, 25, 3, 12, 0} -#define NXFONT_BITMAP_80 {0xff, 0xf8, 0x0, 0xff, 0xfe, 0x0, 0xff, 0xff, 0x0, 0xe0, 0xf, 0x0, 0xe0, 0x7, 0x80, 0xe0, 0x3, 0x80, 0xe0, 0x3, 0x80, 0xe0, 0x3, 0x80, 0xe0, 0x3, 0x80, 0xe0, 0x3, 0x80, 0xe0, 0x7, 0x80, 0xe0, 0xf, 0x0, 0xff, 0xff, 0x0, 0xff, 0xfe, 0x0, 0xff, 0xf8, 0x0, 0xe0, 0x0, 0x0, 0xe0, 0x0, 0x0, 0xe0, 0x0, 0x0, 0xe0, 0x0, 0x0, 0xe0, 0x0, 0x0, 0xe0, 0x0, 0x0, 0xe0, 0x0, 0x0, 0xe0, 0x0, 0x0, 0xe0, 0x0, 0x0, 0xe0, 0x0, 0x0} - -/* Q (81) */ -#define NXFONT_METRICS_81 {3, 23, 26, 1, 12, 0} -#define NXFONT_BITMAP_81 {0x0, 0xfe, 0x0, 0x3, 0xff, 0x80, 0xf, 0xef, 0xe0, 0x1f, 0x1, 0xf0, 0x3e, 0x0, 0xf8, 0x3c, 0x0, 0x78, 0x78, 0x0, 0x3c, 0x70, 0x0, 0x1c, 0xf0, 0x0, 0x1e, 0xe0, 0x0, 0xe, 0xe0, 0x0, 0xe, 0xe0, 0x0, 0xe, 0xe0, 0x0, 0xe, 0xe0, 0x0, 0xe, 0xe0, 0x0, 0xe, 0xe0, 0x0, 0xe, 0xf0, 0x0, 0x1e, 0xf0, 0x2, 0x1e, 0x78, 0x7, 0x3c, 0x3c, 0x7, 0xb8, 0x3e, 0x3, 0xf8, 0x1f, 0x1, 0xf0, 0xf, 0xef, 0xf8, 0x3, 0xff, 0xbc, 0x0, 0xfe, 0x1e, 0x0, 0x0, 0xc} - -/* R (82) */ -#define NXFONT_METRICS_82 {3, 19, 25, 3, 12, 0} -#define NXFONT_BITMAP_82 {0xff, 0xfc, 0x0, 0xff, 0xff, 0x0, 0xff, 0xff, 0x80, 0xe0, 0x7, 0x80, 0xe0, 0x3, 0xc0, 0xe0, 0x1, 0xc0, 0xe0, 0x1, 0xc0, 0xe0, 0x1, 0xc0, 0xe0, 0x1, 0xc0, 0xe0, 0x3, 0xc0, 0xe0, 0x3, 0x80, 0xe0, 0xf, 0x80, 0xff, 0xff, 0x0, 0xff, 0xfe, 0x0, 0xff, 0xff, 0x0, 0xe0, 0xf, 0x80, 0xe0, 0x7, 0x80, 0xe0, 0x3, 0x80, 0xe0, 0x3, 0xc0, 0xe0, 0x3, 0xc0, 0xe0, 0x3, 0xc0, 0xe0, 0x1, 0xc0, 0xe0, 0x1, 0xc0, 0xe0, 0x1, 0xc0, 0xe0, 0x1, 0xe0} - -/* S (83) */ -#define NXFONT_METRICS_83 {3, 19, 25, 1, 12, 0} -#define NXFONT_BITMAP_83 {0x3, 0xf8, 0x0, 0xf, 0xfe, 0x0, 0x1f, 0xff, 0x0, 0x3c, 0xf, 0x80, 0x38, 0x3, 0xc0, 0x70, 0x1, 0xc0, 0x70, 0x1, 0xc0, 0x70, 0x0, 0x0, 0x78, 0x0, 0x0, 0x7c, 0x0, 0x0, 0x3f, 0xc0, 0x0, 0x1f, 0xf8, 0x0, 0x7, 0xff, 0x0, 0x0, 0x7f, 0x80, 0x0, 0xf, 0xc0, 0x0, 0x1, 0xe0, 0x0, 0x0, 0xe0, 0xe0, 0x0, 0xe0, 0xf0, 0x0, 0xe0, 0x70, 0x1, 0xe0, 0x78, 0x1, 0xc0, 0x3e, 0x7, 0xc0, 0x3f, 0xff, 0x80, 0xf, 0xfe, 0x0, 0x3, 0xf8, 0x0} - -/* T (84) */ -#define NXFONT_METRICS_84 {3, 19, 25, 0, 12, 0} -#define NXFONT_BITMAP_84 {0xff, 0xff, 0xe0, 0xff, 0xff, 0xe0, 0xff, 0xff, 0xe0, 0x0, 0xe0, 0x0, 0x0, 0xe0, 0x0, 0x0, 0xe0, 0x0, 0x0, 0xe0, 0x0, 0x0, 0xe0, 0x0, 0x0, 0xe0, 0x0, 0x0, 0xe0, 0x0, 0x0, 0xe0, 0x0, 0x0, 0xe0, 0x0, 0x0, 0xe0, 0x0, 0x0, 0xe0, 0x0, 0x0, 0xe0, 0x0, 0x0, 0xe0, 0x0, 0x0, 0xe0, 0x0, 0x0, 0xe0, 0x0, 0x0, 0xe0, 0x0, 0x0, 0xe0, 0x0, 0x0, 0xe0, 0x0, 0x0, 0xe0, 0x0, 0x0, 0xe0, 0x0, 0x0, 0xe0, 0x0, 0x0, 0xe0, 0x0} - -/* U (85) */ -#define NXFONT_METRICS_85 {3, 18, 25, 3, 12, 0} -#define NXFONT_BITMAP_85 {0xe0, 0x1, 0xc0, 0xe0, 0x1, 0xc0, 0xe0, 0x1, 0xc0, 0xe0, 0x1, 0xc0, 0xe0, 0x1, 0xc0, 0xe0, 0x1, 0xc0, 0xe0, 0x1, 0xc0, 0xe0, 0x1, 0xc0, 0xe0, 0x1, 0xc0, 0xe0, 0x1, 0xc0, 0xe0, 0x1, 0xc0, 0xe0, 0x1, 0xc0, 0xe0, 0x1, 0xc0, 0xe0, 0x1, 0xc0, 0xe0, 0x1, 0xc0, 0xe0, 0x1, 0xc0, 0xe0, 0x1, 0xc0, 0xe0, 0x1, 0xc0, 0xe0, 0x1, 0xc0, 0xf0, 0x3, 0xc0, 0x78, 0x7, 0x80, 0x7c, 0xf, 0x80, 0x3f, 0xff, 0x0, 0x1f, 0xfe, 0x0, 0x3, 0xf0, 0x0} - -/* V (86) */ -#define NXFONT_METRICS_86 {3, 19, 25, 1, 12, 0} -#define NXFONT_BITMAP_86 {0xf0, 0x1, 0xe0, 0xf0, 0x1, 0xe0, 0xf0, 0x1, 0xe0, 0x70, 0x1, 0xc0, 0x78, 0x3, 0xc0, 0x78, 0x3, 0xc0, 0x38, 0x3, 0x80, 0x38, 0x3, 0x80, 0x3c, 0x7, 0x80, 0x1c, 0x7, 0x0, 0x1c, 0x7, 0x0, 0x1e, 0xf, 0x0, 0xe, 0xe, 0x0, 0xe, 0xe, 0x0, 0xf, 0xe, 0x0, 0x7, 0x1c, 0x0, 0x7, 0x1c, 0x0, 0x7, 0x9c, 0x0, 0x3, 0xb8, 0x0, 0x3, 0xb8, 0x0, 0x3, 0xb8, 0x0, 0x1, 0xf0, 0x0, 0x1, 0xf0, 0x0, 0x0, 0xe0, 0x0, 0x0, 0xe0, 0x0} - -/* W (87) */ -#define NXFONT_METRICS_87 {4, 29, 25, 1, 12, 0} -#define NXFONT_BITMAP_87 {0xf0, 0x7, 0x0, 0x78, 0xf0, 0x7, 0x0, 0x78, 0xf0, 0xf, 0x80, 0x78, 0x70, 0xf, 0x80, 0x70, 0x70, 0xf, 0x80, 0x70, 0x78, 0x1d, 0xc0, 0xf0, 0x78, 0x1d, 0xc0, 0xf0, 0x38, 0x1d, 0xc0, 0xe0, 0x38, 0x1d, 0xc0, 0xe0, 0x38, 0x38, 0xe0, 0xe0, 0x3c, 0x38, 0xe1, 0xe0, 0x1c, 0x38, 0xe1, 0xc0, 0x1c, 0x30, 0xe1, 0xc0, 0x1c, 0x70, 0x71, 0xc0, 0x1c, 0x70, 0x71, 0xc0, 0xe, 0x70, 0x73, 0x80, 0xe, 0xe0, 0x3b, 0x80, 0xe, 0xe0, 0x3b, 0x80, 0xe, 0xe0, 0x3b, 0x80, 0x7, 0xe0, 0x3f, 0x80, 0x7, 0xc0, 0x1f, 0x0, 0x7, 0xc0, 0x1f, 0x0, 0x7, 0xc0, 0x1f, 0x0, 0x3, 0x80, 0xe, 0x0, 0x3, 0x80, 0xe, 0x0} - -/* X (88) */ -#define NXFONT_METRICS_88 {3, 20, 25, 1, 12, 0} -#define NXFONT_BITMAP_88 {0xf8, 0x0, 0xf0, 0x78, 0x1, 0xe0, 0x3c, 0x3, 0xc0, 0x1c, 0x3, 0xc0, 0x1e, 0x7, 0x80, 0xf, 0x7, 0x0, 0xf, 0xf, 0x0, 0x7, 0x9e, 0x0, 0x3, 0x9c, 0x0, 0x3, 0xfc, 0x0, 0x1, 0xf8, 0x0, 0x0, 0xf0, 0x0, 0x0, 0xf0, 0x0, 0x1, 0xf8, 0x0, 0x1, 0xf8, 0x0, 0x3, 0x9c, 0x0, 0x7, 0x9e, 0x0, 0x7, 0xe, 0x0, 0xf, 0xf, 0x0, 0x1e, 0x7, 0x80, 0x1e, 0x7, 0x80, 0x3c, 0x3, 0xc0, 0x78, 0x1, 0xe0, 0x78, 0x1, 0xe0, 0xf0, 0x0, 0xf0} - -/* Y (89) */ -#define NXFONT_METRICS_89 {3, 21, 25, 0, 12, 0} -#define NXFONT_BITMAP_89 {0xf0, 0x0, 0x78, 0x78, 0x0, 0xf0, 0x78, 0x0, 0xe0, 0x3c, 0x1, 0xe0, 0x1c, 0x1, 0xc0, 0x1e, 0x3, 0xc0, 0xe, 0x7, 0x80, 0xf, 0x7, 0x80, 0x7, 0x8f, 0x0, 0x3, 0x8e, 0x0, 0x3, 0xde, 0x0, 0x1, 0xdc, 0x0, 0x1, 0xfc, 0x0, 0x0, 0xf8, 0x0, 0x0, 0xf8, 0x0, 0x0, 0x70, 0x0, 0x0, 0x70, 0x0, 0x0, 0x70, 0x0, 0x0, 0x70, 0x0, 0x0, 0x70, 0x0, 0x0, 0x70, 0x0, 0x0, 0x70, 0x0, 0x0, 0x70, 0x0, 0x0, 0x70, 0x0, 0x0, 0x70, 0x0} - -/* Z (90) */ -#define NXFONT_METRICS_90 {3, 18, 25, 1, 12, 0} -#define NXFONT_BITMAP_90 {0x7f, 0xff, 0xc0, 0x7f, 0xff, 0xc0, 0x7f, 0xff, 0xc0, 0x0, 0x7, 0x80, 0x0, 0xf, 0x80, 0x0, 0xf, 0x0, 0x0, 0x1e, 0x0, 0x0, 0x3c, 0x0, 0x0, 0x3c, 0x0, 0x0, 0x78, 0x0, 0x0, 0xf0, 0x0, 0x1, 0xe0, 0x0, 0x1, 0xe0, 0x0, 0x3, 0xc0, 0x0, 0x7, 0x80, 0x0, 0x7, 0x80, 0x0, 0xf, 0x0, 0x0, 0x1e, 0x0, 0x0, 0x3c, 0x0, 0x0, 0x3c, 0x0, 0x0, 0x78, 0x0, 0x0, 0xf0, 0x0, 0x0, 0xff, 0xff, 0xc0, 0xff, 0xff, 0xc0, 0xff, 0xff, 0xc0} - -/* bracketleft (91) */ -#define NXFONT_METRICS_91 {1, 6, 32, 2, 12, 0} -#define NXFONT_BITMAP_91 {0xfc, 0xfc, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xfc, 0xfc} - -/* backslash (92) */ -#define NXFONT_METRICS_92 {2, 9, 24, 0, 13, 0} -#define NXFONT_BITMAP_92 {0xc0, 0x0, 0xc0, 0x0, 0x60, 0x0, 0x60, 0x0, 0x60, 0x0, 0x30, 0x0, 0x30, 0x0, 0x30, 0x0, 0x10, 0x0, 0x18, 0x0, 0x18, 0x0, 0x18, 0x0, 0xc, 0x0, 0xc, 0x0, 0xc, 0x0, 0x6, 0x0, 0x6, 0x0, 0x6, 0x0, 0x2, 0x0, 0x3, 0x0, 0x3, 0x0, 0x3, 0x0, 0x1, 0x80, 0x1, 0x80} - -/* bracketright (93) */ -#define NXFONT_METRICS_93 {1, 6, 32, 1, 12, 0} -#define NXFONT_BITMAP_93 {0xfc, 0xfc, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0xfc, 0xfc} - -/* asciicircum (94) */ -#define NXFONT_METRICS_94 {2, 12, 13, 1, 13, 0} -#define NXFONT_BITMAP_94 {0x6, 0x0, 0xf, 0x0, 0xf, 0x0, 0x1f, 0x80, 0x19, 0x80, 0x19, 0x80, 0x39, 0xc0, 0x30, 0xc0, 0x70, 0xe0, 0x60, 0x60, 0x60, 0x60, 0xe0, 0x70, 0xc0, 0x30} - -/* underscore (95) */ -#define NXFONT_METRICS_95 {3, 18, 2, 0, 41, 0} -#define NXFONT_BITMAP_95 {0xff, 0xff, 0xc0, 0xff, 0xff, 0xc0} - -/* grave (96) */ -#define NXFONT_METRICS_96 {1, 6, 5, 1, 12, 0} -#define NXFONT_BITMAP_96 {0xe0, 0xf0, 0x70, 0x38, 0x1c} - -/* a (97) */ -#define NXFONT_METRICS_97 {2, 16, 18, 1, 19, 0} -#define NXFONT_BITMAP_97 {0xf, 0xe0, 0x3f, 0xf8, 0x3c, 0x78, 0x70, 0x3c, 0x70, 0x1c, 0x0, 0x1c, 0x0, 0x3c, 0x1, 0xfc, 0x1f, 0xfc, 0x7e, 0x1c, 0x78, 0x1c, 0xf0, 0x1c, 0xe0, 0x1c, 0xe0, 0x3c, 0xe0, 0x7c, 0x79, 0xfe, 0x7f, 0xdf, 0x3f, 0x8f} - -/* b (98) */ -#define NXFONT_METRICS_98 {2, 15, 25, 2, 12, 0} -#define NXFONT_BITMAP_98 {0xe0, 0x0, 0xe0, 0x0, 0xe0, 0x0, 0xe0, 0x0, 0xe0, 0x0, 0xe0, 0x0, 0xe0, 0x0, 0xe3, 0xe0, 0xef, 0xf0, 0xff, 0xf8, 0xf8, 0x3c, 0xf0, 0x1c, 0xf0, 0x1e, 0xe0, 0xe, 0xe0, 0xe, 0xe0, 0xe, 0xe0, 0xe, 0xe0, 0xe, 0xe0, 0xe, 0xf0, 0x1e, 0xf0, 0x1c, 0xfc, 0x3c, 0xff, 0xf8, 0xef, 0xf0, 0xe7, 0xe0} - -/* c (99) */ -#define NXFONT_METRICS_99 {2, 14, 18, 1, 19, 0} -#define NXFONT_BITMAP_99 {0x7, 0xc0, 0x1f, 0xf0, 0x3f, 0xf8, 0x38, 0x3c, 0x70, 0x1c, 0x70, 0x1c, 0xe0, 0x0, 0xe0, 0x0, 0xe0, 0x0, 0xe0, 0x0, 0xe0, 0x0, 0xe0, 0x1c, 0xe0, 0x1c, 0x70, 0x1c, 0x78, 0x38, 0x3f, 0xf8, 0x1f, 0xf0, 0x7, 0xc0} - -/* d (100) */ -#define NXFONT_METRICS_100 {2, 15, 25, 1, 12, 0} -#define NXFONT_BITMAP_100 {0x0, 0xe, 0x0, 0xe, 0x0, 0xe, 0x0, 0xe, 0x0, 0xe, 0x0, 0xe, 0x0, 0xe, 0x7, 0xce, 0x1f, 0xee, 0x3f, 0xfe, 0x7c, 0x3e, 0x70, 0x1e, 0xf0, 0x1e, 0xe0, 0xe, 0xe0, 0xe, 0xe0, 0xe, 0xe0, 0xe, 0xe0, 0xe, 0xe0, 0xe, 0xf0, 0x1e, 0xf0, 0x1e, 0x78, 0x3e, 0x7f, 0xfe, 0x3f, 0xee, 0xf, 0xce} - -/* e (101) */ -#define NXFONT_METRICS_101 {2, 15, 18, 2, 19, 0} -#define NXFONT_BITMAP_101 {0x7, 0xc0, 0x1f, 0xf0, 0x3f, 0xf8, 0x78, 0x3c, 0x70, 0x1c, 0xf0, 0xe, 0xe0, 0xe, 0xe0, 0xe, 0xff, 0xfe, 0xff, 0xfe, 0xe0, 0x0, 0xe0, 0x0, 0xf0, 0xe, 0x70, 0x1e, 0x78, 0x3c, 0x3f, 0xf8, 0x1f, 0xf0, 0x7, 0xc0} - -/* f (102) */ -#define NXFONT_METRICS_102 {1, 8, 25, 1, 12, 0} -#define NXFONT_BITMAP_102 {0xf, 0x1f, 0x3c, 0x38, 0x38, 0x38, 0x38, 0xff, 0xff, 0xff, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38} - -/* g (103) */ -#define NXFONT_METRICS_103 {2, 15, 25, 1, 19, 0} -#define NXFONT_BITMAP_103 {0x7, 0xce, 0x1f, 0xee, 0x3f, 0xfe, 0x7c, 0x3e, 0x70, 0x1e, 0xf0, 0x1e, 0xe0, 0xe, 0xe0, 0xe, 0xe0, 0xe, 0xe0, 0xe, 0xe0, 0xe, 0xe0, 0xe, 0xf0, 0x1e, 0x70, 0x3e, 0x78, 0x3e, 0x3f, 0xfe, 0x1f, 0xee, 0x7, 0x8e, 0x0, 0xe, 0xe0, 0xe, 0xe0, 0x1c, 0xf0, 0x1c, 0x7c, 0x78, 0x3f, 0xf8, 0x1f, 0xe0} - -/* h (104) */ -#define NXFONT_METRICS_104 {2, 14, 25, 2, 12, 0} -#define NXFONT_BITMAP_104 {0xe0, 0x0, 0xe0, 0x0, 0xe0, 0x0, 0xe0, 0x0, 0xe0, 0x0, 0xe0, 0x0, 0xe0, 0x0, 0xe3, 0xe0, 0xef, 0xf0, 0xff, 0xf8, 0xf8, 0x3c, 0xf0, 0x1c, 0xe0, 0x1c, 0xe0, 0x1c, 0xe0, 0x1c, 0xe0, 0x1c, 0xe0, 0x1c, 0xe0, 0x1c, 0xe0, 0x1c, 0xe0, 0x1c, 0xe0, 0x1c, 0xe0, 0x1c, 0xe0, 0x1c, 0xe0, 0x1c, 0xe0, 0x1c} - -/* i (105) */ -#define NXFONT_METRICS_105 {1, 3, 25, 2, 12, 0} -#define NXFONT_BITMAP_105 {0xe0, 0xe0, 0xe0, 0xe0, 0x0, 0x0, 0x0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0} - -/* j (106) -- NOTE: Xoffset should be -1, not 0. */ -#define NXFONT_METRICS_106 {1, 6, 32, 0, 12, 0} -#define NXFONT_BITMAP_106 {0x1c, 0x1c, 0x1c, 0x1c, 0x0, 0x0, 0x0, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x3c, 0xfc, 0xf8} - -/* k (107) */ -#define NXFONT_METRICS_107 {2, 15, 25, 1, 12, 0} -#define NXFONT_BITMAP_107 {0xe0, 0x0, 0xe0, 0x0, 0xe0, 0x0, 0xe0, 0x0, 0xe0, 0x0, 0xe0, 0x0, 0xe0, 0x0, 0xe0, 0x78, 0xe0, 0xf0, 0xe1, 0xe0, 0xe3, 0xc0, 0xe7, 0x80, 0xef, 0x0, 0xff, 0x0, 0xff, 0x0, 0xfb, 0x80, 0xf3, 0xc0, 0xe1, 0xc0, 0xe1, 0xe0, 0xe0, 0xe0, 0xe0, 0xf0, 0xe0, 0x78, 0xe0, 0x38, 0xe0, 0x3c, 0xe0, 0x1e} - -/* l (108) */ -#define NXFONT_METRICS_108 {1, 3, 25, 2, 12, 0} -#define NXFONT_BITMAP_108 {0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0} - -/* m (109) */ -#define NXFONT_METRICS_109 {3, 23, 18, 2, 19, 0} -#define NXFONT_BITMAP_109 {0xe3, 0xc0, 0xf0, 0xef, 0xf3, 0xfc, 0xff, 0xf7, 0xfc, 0xf8, 0x7e, 0x1e, 0xf0, 0x3c, 0xe, 0xe0, 0x38, 0xe, 0xe0, 0x38, 0xe, 0xe0, 0x38, 0xe, 0xe0, 0x38, 0xe, 0xe0, 0x38, 0xe, 0xe0, 0x38, 0xe, 0xe0, 0x38, 0xe, 0xe0, 0x38, 0xe, 0xe0, 0x38, 0xe, 0xe0, 0x38, 0xe, 0xe0, 0x38, 0xe, 0xe0, 0x38, 0xe, 0xe0, 0x38, 0xe} - -/* n (110) */ -#define NXFONT_METRICS_110 {2, 14, 18, 2, 19, 0} -#define NXFONT_BITMAP_110 {0xe3, 0xe0, 0xef, 0xf8, 0xff, 0xf8, 0xf8, 0x3c, 0xf0, 0x1c, 0xe0, 0x1c, 0xe0, 0x1c, 0xe0, 0x1c, 0xe0, 0x1c, 0xe0, 0x1c, 0xe0, 0x1c, 0xe0, 0x1c, 0xe0, 0x1c, 0xe0, 0x1c, 0xe0, 0x1c, 0xe0, 0x1c, 0xe0, 0x1c, 0xe0, 0x1c} - -/* o (111) */ -#define NXFONT_METRICS_111 {2, 15, 18, 1, 19, 0} -#define NXFONT_BITMAP_111 {0x7, 0xc0, 0x1f, 0xf0, 0x3f, 0xf8, 0x78, 0x3c, 0x70, 0x1c, 0xf0, 0x1e, 0xe0, 0xe, 0xe0, 0xe, 0xe0, 0xe, 0xe0, 0xe, 0xe0, 0xe, 0xe0, 0xe, 0xf0, 0x1e, 0x70, 0x1c, 0x78, 0x3c, 0x3f, 0xf8, 0x1f, 0xf0, 0x7, 0xc0} - -/* p (112) */ -#define NXFONT_METRICS_112 {2, 15, 25, 2, 19, 0} -#define NXFONT_BITMAP_112 {0x3, 0xc0, 0xef, 0xf0, 0xff, 0xf8, 0xf8, 0x3c, 0xf0, 0x1c, 0xf0, 0x1e, 0xe0, 0xe, 0xe0, 0xe, 0xe0, 0xe, 0xe0, 0xe, 0xe0, 0xe, 0xe0, 0xe, 0xf0, 0x1e, 0xf0, 0x1c, 0xf8, 0x3c, 0xff, 0xf8, 0xef, 0xf0, 0xe7, 0xe0, 0xe0, 0x0, 0xe0, 0x0, 0xe0, 0x0, 0xe0, 0x0, 0xe0, 0x0, 0xe0, 0x0, 0xe0, 0x0} - -/* q (113) */ -#define NXFONT_METRICS_113 {2, 15, 25, 1, 19, 0} -#define NXFONT_BITMAP_113 {0x7, 0xc0, 0x1f, 0xee, 0x3f, 0xfe, 0x7c, 0x3e, 0x70, 0x1e, 0xf0, 0x1e, 0xe0, 0xe, 0xe0, 0xe, 0xe0, 0xe, 0xe0, 0xe, 0xe0, 0xe, 0xe0, 0xe, 0xf0, 0x1e, 0x70, 0x1e, 0x78, 0x3e, 0x3f, 0xfe, 0x1f, 0xee, 0xf, 0xce, 0x0, 0xe, 0x0, 0xe, 0x0, 0xe, 0x0, 0xe, 0x0, 0xe, 0x0, 0xe, 0x0, 0xe} - -/* r (114) */ -#define NXFONT_METRICS_114 {1, 8, 18, 2, 19, 0} -#define NXFONT_BITMAP_114 {0xe7, 0xef, 0xff, 0xfc, 0xf0, 0xf0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0} - -/* s (115) */ -#define NXFONT_METRICS_115 {2, 13, 18, 2, 19, 0} -#define NXFONT_BITMAP_115 {0xf, 0x80, 0x3f, 0xe0, 0x7f, 0xe0, 0x70, 0xf0, 0xe0, 0x70, 0xe0, 0x0, 0x70, 0x0, 0x7e, 0x0, 0x3f, 0xc0, 0x7, 0xf0, 0x0, 0xf0, 0x0, 0x78, 0xe0, 0x38, 0xe0, 0x38, 0xf0, 0x70, 0x7f, 0xf0, 0x7f, 0xe0, 0x1f, 0x80} - -/* t (116) */ -#define NXFONT_METRICS_116 {1, 8, 22, 1, 15, 0} -#define NXFONT_BITMAP_116 {0x38, 0x38, 0x38, 0x38, 0xff, 0xff, 0xff, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x3c, 0x3f, 0x1f} - -/* u (117) */ -#define NXFONT_METRICS_117 {2, 14, 18, 2, 19, 0} -#define NXFONT_BITMAP_117 {0xe0, 0x1c, 0xe0, 0x1c, 0xe0, 0x1c, 0xe0, 0x1c, 0xe0, 0x1c, 0xe0, 0x1c, 0xe0, 0x1c, 0xe0, 0x1c, 0xe0, 0x1c, 0xe0, 0x1c, 0xe0, 0x1c, 0xe0, 0x1c, 0xe0, 0x1c, 0xe0, 0x3c, 0xf0, 0x7c, 0x7f, 0xfc, 0x7f, 0xdc, 0x1f, 0x1c} - -/* v (118) */ -#define NXFONT_METRICS_118 {2, 15, 18, 0, 19, 0} -#define NXFONT_BITMAP_118 {0xe0, 0xe, 0xe0, 0xe, 0x70, 0x1c, 0x70, 0x1c, 0x70, 0x1c, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x1c, 0x70, 0x1c, 0x70, 0x1c, 0x70, 0xe, 0xe0, 0xe, 0xe0, 0xe, 0xe0, 0x7, 0xc0, 0x7, 0xc0, 0x3, 0x80, 0x3, 0x80} - -/* w (119) */ -#define NXFONT_METRICS_119 {3, 23, 18, 0, 19, 0} -#define NXFONT_BITMAP_119 {0xe0, 0x38, 0xe, 0xe0, 0x38, 0xe, 0x70, 0x7c, 0x1c, 0x70, 0x7c, 0x1c, 0x70, 0x6c, 0x1c, 0x38, 0xee, 0x1c, 0x38, 0xee, 0x38, 0x38, 0xee, 0x38, 0x38, 0xc6, 0x38, 0x18, 0xc6, 0x30, 0x1d, 0xc7, 0x70, 0x1d, 0xc7, 0x70, 0x1d, 0xc7, 0x70, 0xd, 0x83, 0x60, 0xf, 0x83, 0xe0, 0xf, 0x83, 0xe0, 0x7, 0x1, 0xc0, 0x7, 0x1, 0xc0} - -/* x (120) */ -#define NXFONT_METRICS_120 {2, 15, 18, 0, 19, 0} -#define NXFONT_BITMAP_120 {0xf0, 0x1e, 0x78, 0x1c, 0x38, 0x38, 0x3c, 0x70, 0x1c, 0x70, 0xe, 0xe0, 0xf, 0xe0, 0x7, 0xc0, 0x3, 0x80, 0x7, 0xc0, 0x7, 0xc0, 0xf, 0xe0, 0x1e, 0xe0, 0x1c, 0x70, 0x38, 0x78, 0x38, 0x38, 0x70, 0x1c, 0xf0, 0x1e} - -/* y (121) */ -#define NXFONT_METRICS_121 {2, 14, 25, 1, 19, 0} -#define NXFONT_BITMAP_121 {0xe0, 0x1c, 0xe0, 0x1c, 0xf0, 0x38, 0x70, 0x38, 0x70, 0x38, 0x70, 0x70, 0x38, 0x70, 0x38, 0x70, 0x38, 0xe0, 0x3c, 0xe0, 0x1c, 0xe0, 0x1d, 0xc0, 0x1d, 0xc0, 0xf, 0xc0, 0xf, 0x80, 0xf, 0x80, 0x7, 0x0, 0x7, 0x0, 0x7, 0x0, 0xe, 0x0, 0xe, 0x0, 0x1c, 0x0, 0x7c, 0x0, 0x78, 0x0, 0x70, 0x0} - -/* z (122) */ -#define NXFONT_METRICS_122 {2, 14, 18, 1, 19, 0} -#define NXFONT_BITMAP_122 {0x7f, 0xf8, 0x7f, 0xf8, 0x7f, 0xf8, 0x0, 0x78, 0x0, 0xf0, 0x0, 0xe0, 0x1, 0xc0, 0x3, 0xc0, 0x7, 0x80, 0x7, 0x0, 0xe, 0x0, 0x1c, 0x0, 0x3c, 0x0, 0x78, 0x0, 0x70, 0x0, 0xff, 0xfc, 0xff, 0xfc, 0xff, 0xfc} - -/* braceleft (123) */ -#define NXFONT_METRICS_123 {1, 8, 32, 1, 12, 0} -#define NXFONT_BITMAP_123 {0xf, 0x1f, 0x1c, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x38, 0x38, 0x70, 0xe0, 0xe0, 0x70, 0x38, 0x38, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x1c, 0x1f, 0xf} - -/* bar (124) */ -#define NXFONT_METRICS_124 {1, 2, 31, 3, 13, 0} -#define NXFONT_BITMAP_124 {0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0} - -/* braceright (125) */ -#define NXFONT_METRICS_125 {1, 8, 32, 1, 12, 0} -#define NXFONT_BITMAP_125 {0xf0, 0xf8, 0x38, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x1c, 0x1c, 0xe, 0x7, 0x7, 0xe, 0x1c, 0x1c, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x38, 0xf8, 0xf0} - -/* asciitilde (126) */ -#define NXFONT_METRICS_126 {2, 14, 6, 2, 22, 0} -#define NXFONT_BITMAP_126 {0x18, 0x0, 0x7c, 0xc, 0x7f, 0xc, 0xc7, 0xdc, 0xc1, 0xf8, 0x0, 0xf0} - -/* exclamdown (161) */ -#define NXFONT_METRICS_161 {1, 3, 25, 4, 19, 0} -#define NXFONT_BITMAP_161 {0xe0, 0xe0, 0xe0, 0xe0, 0x0, 0x0, 0x40, 0x40, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0} - -/* cent (162) */ -#define NXFONT_METRICS_162 {2, 14, 25, 2, 16, 0} -#define NXFONT_BITMAP_162 {0x0, 0x20, 0x0, 0x60, 0x0, 0x40, 0x7, 0xe0, 0x1f, 0xf0, 0x3c, 0xf8, 0x78, 0xbc, 0x70, 0x9c, 0x70, 0x9c, 0xe1, 0x80, 0xe1, 0x0, 0xe1, 0x0, 0xe3, 0x0, 0xe3, 0x0, 0xe2, 0xc, 0xe2, 0x1c, 0x76, 0x1c, 0x7c, 0x3c, 0x3c, 0x78, 0x1f, 0xf0, 0xf, 0xe0, 0x8, 0x0, 0x18, 0x0, 0x10, 0x0, 0x10, 0x0} - -/* sterling (163) */ -#define NXFONT_METRICS_163 {2, 15, 24, 1, 13, 0} -#define NXFONT_BITMAP_163 {0x3, 0xc0, 0xf, 0xf8, 0x1f, 0xfc, 0x3c, 0x3c, 0x78, 0x1e, 0x70, 0xe, 0x70, 0xe, 0x70, 0x0, 0x70, 0x0, 0x38, 0x0, 0x38, 0x0, 0xff, 0xc0, 0xff, 0xc0, 0xc, 0x0, 0xe, 0x0, 0xe, 0x0, 0xc, 0x0, 0x1c, 0x0, 0x18, 0x0, 0x38, 0x0, 0x73, 0x86, 0xff, 0xfe, 0xff, 0xfe, 0x60, 0x7c} - -/* currency (164) */ -#define NXFONT_METRICS_164 {2, 12, 13, 3, 19, 0} -#define NXFONT_BITMAP_164 {0xe6, 0x30, 0xff, 0xf0, 0x7f, 0xf0, 0x70, 0xe0, 0x60, 0x60, 0xe0, 0x70, 0xe0, 0x70, 0xe0, 0x70, 0x60, 0x60, 0x70, 0xe0, 0x7f, 0xf0, 0xff, 0xf0, 0xe6, 0x30} - -/* yen (165) */ -#define NXFONT_METRICS_165 {2, 16, 24, 1, 13, 0} -#define NXFONT_BITMAP_165 {0xe0, 0x7, 0xe0, 0x7, 0x70, 0xe, 0x70, 0xe, 0x38, 0x1c, 0x38, 0x1c, 0x1c, 0x38, 0x1c, 0x38, 0xe, 0x70, 0xe, 0x70, 0x7, 0xe0, 0x7f, 0xfe, 0x7f, 0xfe, 0x7f, 0xfe, 0x1, 0xc0, 0x1, 0xc0, 0x7f, 0xfe, 0x7f, 0xfe, 0x7f, 0xfe, 0x1, 0xc0, 0x1, 0xc0, 0x1, 0xc0, 0x1, 0xc0, 0x1, 0xc0} - -/* brokenbar (166) */ -#define NXFONT_METRICS_166 {1, 2, 32, 3, 12, 0} -#define NXFONT_BITMAP_166 {0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0} - -/* section (167) */ -#define NXFONT_METRICS_167 {2, 15, 32, 1, 12, 0} -#define NXFONT_BITMAP_167 {0x3, 0xc0, 0xf, 0xf0, 0x1f, 0xf8, 0x1c, 0x78, 0x38, 0x3c, 0x38, 0x1c, 0x38, 0x1c, 0x3c, 0x0, 0x1e, 0x0, 0x1f, 0x80, 0x3f, 0xe0, 0x71, 0xf0, 0xe0, 0xf8, 0xe0, 0x7c, 0xe0, 0x1c, 0xe0, 0x1e, 0x70, 0xe, 0x7c, 0xe, 0x3e, 0xe, 0x1f, 0x1c, 0xf, 0x9c, 0x3, 0xf8, 0x1, 0xf0, 0x0, 0xf0, 0x0, 0x78, 0x70, 0x38, 0x70, 0x38, 0x78, 0x38, 0x38, 0x70, 0x3f, 0xf0, 0x1f, 0xe0, 0x7, 0x80} - -/* dieresis (168) */ -#define NXFONT_METRICS_168 {1, 8, 3, 1, 12, 0} -#define NXFONT_BITMAP_168 {0xe7, 0xe7, 0xe7} - -/* copyright (169) */ -#define NXFONT_METRICS_169 {3, 24, 25, 0, 12, 0} -#define NXFONT_BITMAP_169 {0x0, 0xfe, 0x0, 0x3, 0xff, 0x80, 0x7, 0x1, 0xe0, 0xc, 0x0, 0x70, 0x18, 0x0, 0x18, 0x30, 0x7e, 0xc, 0x60, 0xff, 0x86, 0x61, 0xc1, 0xc6, 0xc3, 0x80, 0xc3, 0xc3, 0x0, 0x3, 0xc7, 0x0, 0x3, 0x86, 0x0, 0x1, 0x86, 0x0, 0x1, 0x86, 0x0, 0x1, 0x86, 0x0, 0x1, 0xc7, 0x0, 0x3, 0xc3, 0x80, 0xc3, 0x61, 0xe1, 0xc6, 0x60, 0xff, 0x86, 0x30, 0x3e, 0xc, 0x18, 0x0, 0x18, 0x1c, 0x0, 0x38, 0x7, 0x1, 0xe0, 0x3, 0xff, 0x80, 0x0, 0xfe, 0x0} - -/* ordfeminine (170) */ -#define NXFONT_METRICS_170 {2, 10, 15, 1, 12, 0} -#define NXFONT_BITMAP_170 {0x3f, 0x0, 0x77, 0x80, 0x61, 0x80, 0x1, 0x80, 0x7, 0x80, 0x7f, 0x80, 0xe1, 0x80, 0xc1, 0x80, 0xc3, 0x80, 0xe7, 0x80, 0x7d, 0xc0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xc0, 0xff, 0xc0} - -/* guillemotleft (171) */ -#define NXFONT_METRICS_171 {2, 12, 9, 3, 23, 0} -#define NXFONT_BITMAP_171 {0x1c, 0x70, 0x38, 0xe0, 0x71, 0xc0, 0xe3, 0x80, 0xc3, 0x0, 0xe3, 0x80, 0x71, 0xc0, 0x38, 0xe0, 0x1c, 0x70} - -/* logicalnot (172) */ -#define NXFONT_METRICS_172 {2, 16, 9, 1, 25, 0} -#define NXFONT_BITMAP_172 {0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0, 0x7, 0x0, 0x7, 0x0, 0x7, 0x0, 0x7, 0x0, 0x7, 0x0, 0x7} - -/* hyphen (173) */ -#define NXFONT_METRICS_173 {1, 8, 2, 1, 27, 0} -#define NXFONT_BITMAP_173 {0xff, 0xff} - -/* registered (174) */ -#define NXFONT_METRICS_174 {3, 24, 25, 0, 12, 0} -#define NXFONT_BITMAP_174 {0x0, 0x7e, 0x0, 0x3, 0xff, 0x80, 0x7, 0x1, 0xe0, 0xc, 0x0, 0x70, 0x18, 0x0, 0x18, 0x30, 0x0, 0xc, 0x61, 0xff, 0x6, 0x61, 0xff, 0x86, 0xc1, 0x81, 0xc3, 0xc1, 0x80, 0xc3, 0xc1, 0x80, 0xc3, 0x81, 0x81, 0x81, 0x81, 0xff, 0x1, 0x81, 0xfc, 0x1, 0x81, 0x8e, 0x1, 0xc1, 0x86, 0x3, 0xc1, 0x83, 0x3, 0x61, 0x81, 0x86, 0x61, 0x81, 0xc6, 0x30, 0x0, 0xc, 0x18, 0x0, 0x18, 0x1c, 0x0, 0x38, 0x7, 0x1, 0xe0, 0x3, 0xff, 0x80, 0x0, 0x7e, 0x0} - -/* macron (175) */ -#define NXFONT_METRICS_175 {2, 9, 2, 1, 13, 0} -#define NXFONT_BITMAP_175 {0xff, 0x80, 0xff, 0x80} - -/* degree (176) */ -#define NXFONT_METRICS_176 {2, 9, 9, 2, 13, 0} -#define NXFONT_BITMAP_176 {0x3e, 0x0, 0x7f, 0x0, 0xe3, 0x80, 0xc1, 0x80, 0xc1, 0x80, 0xc1, 0x80, 0xe3, 0x80, 0x7f, 0x0, 0x3e, 0x0} - -/* plusminus (177) */ -#define NXFONT_METRICS_177 {3, 17, 21, 1, 16, 0} -#define NXFONT_BITMAP_177 {0x1, 0xc0, 0x0, 0x1, 0xc0, 0x0, 0x1, 0xc0, 0x0, 0x1, 0xc0, 0x0, 0x1, 0xc0, 0x0, 0x1, 0xc0, 0x0, 0x1, 0xc0, 0x0, 0xff, 0xff, 0x80, 0xff, 0xff, 0x80, 0xff, 0xff, 0x80, 0x1, 0xc0, 0x0, 0x1, 0xc0, 0x0, 0x1, 0xc0, 0x0, 0x1, 0xc0, 0x0, 0x1, 0xc0, 0x0, 0x1, 0xc0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0x80, 0xff, 0xff, 0x80, 0xff, 0xff, 0x80} - -/* twosuperior (178) */ -#define NXFONT_METRICS_178 {2, 9, 15, 1, 13, 0} -#define NXFONT_BITMAP_178 {0x1e, 0x0, 0x7f, 0x0, 0x63, 0x0, 0xc1, 0x80, 0xc1, 0x80, 0x1, 0x80, 0x3, 0x0, 0x7, 0x0, 0x1e, 0x0, 0x38, 0x0, 0x70, 0x0, 0xe0, 0x0, 0xc0, 0x0, 0xff, 0x80, 0xff, 0x80} - -/* threesuperior (179) */ -#define NXFONT_METRICS_179 {2, 9, 15, 1, 13, 0} -#define NXFONT_BITMAP_179 {0x3e, 0x0, 0x7f, 0x0, 0xe3, 0x80, 0xc1, 0x80, 0xc1, 0x80, 0x3, 0x80, 0xf, 0x0, 0xf, 0x0, 0x3, 0x80, 0x1, 0x80, 0xc1, 0x80, 0xc1, 0x80, 0xe3, 0x80, 0x7f, 0x0, 0x3e, 0x0} - -/* acute (180) */ -#define NXFONT_METRICS_180 {1, 7, 5, 3, 10, 0} -#define NXFONT_BITMAP_180 {0x1e, 0x3c, 0x38, 0x70, 0xe0} - -/* mu (181) */ -#define NXFONT_METRICS_181 {2, 14, 24, 2, 19, 0} -#define NXFONT_BITMAP_181 {0xe0, 0x1c, 0xe0, 0x1c, 0xe0, 0x1c, 0xe0, 0x1c, 0xe0, 0x1c, 0xe0, 0x1c, 0xe0, 0x1c, 0xe0, 0x1c, 0xe0, 0x1c, 0xe0, 0x1c, 0xe0, 0x1c, 0xe0, 0x1c, 0xe0, 0x1c, 0xe0, 0x3c, 0xf0, 0x7c, 0xff, 0xfc, 0xff, 0xdc, 0xff, 0x1c, 0xe0, 0x0, 0xe0, 0x0, 0xe0, 0x0, 0xe0, 0x0, 0xe0, 0x0, 0xe0, 0x0} - -/* paragraph (182) */ -#define NXFONT_METRICS_182 {2, 16, 30, 1, 12, 0} -#define NXFONT_BITMAP_182 {0x7, 0xff, 0x1f, 0xff, 0x3f, 0x8c, 0x3f, 0x8c, 0x7f, 0x8c, 0x7f, 0x8c, 0xff, 0x8c, 0xff, 0x8c, 0xff, 0x8c, 0xff, 0x8c, 0x7f, 0x8c, 0x7f, 0x8c, 0x3f, 0x8c, 0x3f, 0x8c, 0x1f, 0x8c, 0x3, 0x8c, 0x1, 0x8c, 0x1, 0x8c, 0x1, 0x8c, 0x1, 0x8c, 0x1, 0x8c, 0x1, 0x8c, 0x1, 0x8c, 0x1, 0x8c, 0x1, 0x8c, 0x1, 0x8c, 0x1, 0x8c, 0x1, 0x8c, 0x1, 0x8c, 0x1, 0x8c} - -/* periodcentered (183) */ -#define NXFONT_METRICS_183 {1, 4, 4, 3, 22, 0} -#define NXFONT_BITMAP_183 {0x60, 0xf0, 0xf0, 0x60} - -/* cedilla (184) */ -#define NXFONT_METRICS_184 {1, 7, 7, 2, 37, 0} -#define NXFONT_BITMAP_184 {0x18, 0x18, 0x3c, 0xe, 0x6, 0xce, 0x7c} - -/* onesuperior (185) */ -#define NXFONT_METRICS_185 {1, 5, 15, 2, 13, 0} -#define NXFONT_BITMAP_185 {0x18, 0x38, 0xf8, 0xf8, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18} - -/* ordmasculine (186) */ -#define NXFONT_METRICS_186 {2, 10, 15, 1, 12, 0} -#define NXFONT_BITMAP_186 {0x1e, 0x0, 0x7f, 0x80, 0x61, 0x80, 0xe1, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xe1, 0xc0, 0x61, 0x80, 0x7f, 0x80, 0x1e, 0x0, 0x0, 0x0, 0xff, 0xc0, 0xff, 0xc0} - -/* guillemotright (187) */ -#define NXFONT_METRICS_187 {2, 12, 9, 3, 23, 0} -#define NXFONT_BITMAP_187 {0xe3, 0x80, 0x71, 0xc0, 0x38, 0xe0, 0x1c, 0x70, 0xc, 0x30, 0x1c, 0x70, 0x38, 0xe0, 0x71, 0xc0, 0xe3, 0x80} - -/* onequarter (188) */ -#define NXFONT_METRICS_188 {4, 25, 25, 1, 12, 0} -#define NXFONT_BITMAP_188 {0x0, 0x0, 0x30, 0x0, 0x18, 0x0, 0x70, 0x0, 0x38, 0x0, 0x60, 0x0, 0xf8, 0x0, 0xe0, 0x0, 0xf8, 0x1, 0xc0, 0x0, 0x18, 0x1, 0x80, 0x0, 0x18, 0x3, 0x80, 0x0, 0x18, 0x3, 0x0, 0x0, 0x18, 0x7, 0x0, 0x0, 0x18, 0xe, 0x0, 0x0, 0x18, 0xc, 0x0, 0x0, 0x18, 0x1c, 0x6, 0x0, 0x18, 0x18, 0xe, 0x0, 0x18, 0x38, 0x1e, 0x0, 0x18, 0x70, 0x3e, 0x0, 0x18, 0x60, 0x76, 0x0, 0x0, 0xe0, 0x66, 0x0, 0x1, 0xc0, 0xc6, 0x0, 0x1, 0x81, 0xc6, 0x0, 0x3, 0x83, 0x86, 0x0, 0x3, 0x3, 0xff, 0x80, 0x7, 0x3, 0xff, 0x80, 0x6, 0x0, 0x6, 0x0, 0xe, 0x0, 0x6, 0x0, 0xc, 0x0, 0x6, 0x0} - -/* onehalf (189) */ -#define NXFONT_METRICS_189 {4, 25, 25, 1, 12, 0} -#define NXFONT_BITMAP_189 {0x0, 0x0, 0x60, 0x0, 0x18, 0x0, 0xe0, 0x0, 0x38, 0x0, 0xc0, 0x0, 0xf8, 0x1, 0x80, 0x0, 0xf8, 0x3, 0x80, 0x0, 0x18, 0x3, 0x0, 0x0, 0x18, 0x6, 0x0, 0x0, 0x18, 0xe, 0x0, 0x0, 0x18, 0xc, 0x0, 0x0, 0x18, 0x1c, 0x0, 0x0, 0x18, 0x18, 0x0, 0x0, 0x18, 0x38, 0x3c, 0x0, 0x18, 0x30, 0xff, 0x0, 0x18, 0x70, 0xc3, 0x80, 0x18, 0x61, 0x81, 0x80, 0x18, 0xc1, 0x81, 0x80, 0x1, 0xc0, 0x3, 0x80, 0x1, 0x80, 0x7, 0x0, 0x3, 0x80, 0xe, 0x0, 0x3, 0x0, 0x3c, 0x0, 0x6, 0x0, 0x70, 0x0, 0xe, 0x0, 0xe0, 0x0, 0xc, 0x1, 0xc0, 0x0, 0x1c, 0x1, 0xff, 0x80, 0x18, 0x1, 0xff, 0x80} - -/* threequarters (190) */ -#define NXFONT_METRICS_190 {4, 25, 24, 1, 13, 0} -#define NXFONT_BITMAP_190 {0x3e, 0x0, 0xe, 0x0, 0x7f, 0x0, 0xc, 0x0, 0x63, 0x80, 0x18, 0x0, 0xc1, 0x80, 0x38, 0x0, 0xc1, 0x80, 0x30, 0x0, 0x3, 0x80, 0x60, 0x0, 0xf, 0x0, 0xe0, 0x0, 0xf, 0x80, 0xc0, 0x0, 0x1, 0xc1, 0x80, 0x0, 0x0, 0xc3, 0x80, 0x0, 0xc0, 0xc3, 0x6, 0x0, 0xc0, 0xc7, 0xe, 0x0, 0x61, 0xce, 0x1e, 0x0, 0x7f, 0x8c, 0x3e, 0x0, 0x1e, 0x18, 0x76, 0x0, 0x0, 0x38, 0x66, 0x0, 0x0, 0x30, 0xc6, 0x0, 0x0, 0x61, 0xc6, 0x0, 0x0, 0xe3, 0x86, 0x0, 0x1, 0xc3, 0xff, 0x80, 0x1, 0x83, 0xff, 0x80, 0x3, 0x0, 0x6, 0x0, 0x7, 0x0, 0x6, 0x0, 0x6, 0x0, 0x6, 0x0} - -/* questiondown (191) */ -#define NXFONT_METRICS_191 {2, 14, 25, 3, 19, 0} -#define NXFONT_BITMAP_191 {0x3, 0x80, 0x3, 0x80, 0x3, 0x80, 0x3, 0x80, 0x0, 0x0, 0x0, 0x0, 0x3, 0x80, 0x3, 0x80, 0x3, 0x80, 0x7, 0x80, 0x7, 0x0, 0xf, 0x0, 0x1e, 0x0, 0x3c, 0x0, 0x78, 0x0, 0x70, 0x0, 0xf0, 0x0, 0xe0, 0x1c, 0xe0, 0x1c, 0xe0, 0x1c, 0xf0, 0x3c, 0x78, 0x78, 0x7f, 0xf0, 0x3f, 0xe0, 0x7, 0x80} - -/* Agrave (192) */ -#define NXFONT_METRICS_192 {3, 20, 31, 1, 6, 0} -#define NXFONT_BITMAP_192 {0x3, 0xc0, 0x0, 0x1, 0xe0, 0x0, 0x0, 0xe0, 0x0, 0x0, 0x70, 0x0, 0x0, 0x38, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf0, 0x0, 0x0, 0xf0, 0x0, 0x0, 0xf0, 0x0, 0x1, 0xf8, 0x0, 0x1, 0xf8, 0x0, 0x3, 0xfc, 0x0, 0x3, 0x9c, 0x0, 0x3, 0x9c, 0x0, 0x7, 0x9e, 0x0, 0x7, 0xe, 0x0, 0x7, 0xe, 0x0, 0xf, 0xf, 0x0, 0xe, 0xf, 0x0, 0xe, 0x7, 0x0, 0x1e, 0x7, 0x80, 0x1f, 0xff, 0x80, 0x1f, 0xff, 0x80, 0x3f, 0xff, 0xc0, 0x3c, 0x3, 0xc0, 0x38, 0x1, 0xc0, 0x78, 0x1, 0xe0, 0x78, 0x1, 0xe0, 0x70, 0x0, 0xe0, 0xf0, 0x0, 0xf0, 0xf0, 0x0, 0xf0} - -/* Aacute (193) */ -#define NXFONT_METRICS_193 {3, 20, 31, 1, 6, 0} -#define NXFONT_BITMAP_193 {0x0, 0x3c, 0x0, 0x0, 0x78, 0x0, 0x0, 0x70, 0x0, 0x0, 0xe0, 0x0, 0x1, 0xc0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf0, 0x0, 0x0, 0xf0, 0x0, 0x0, 0xf0, 0x0, 0x1, 0xf8, 0x0, 0x1, 0xf8, 0x0, 0x3, 0xfc, 0x0, 0x3, 0x9c, 0x0, 0x3, 0x9c, 0x0, 0x7, 0x9e, 0x0, 0x7, 0xe, 0x0, 0x7, 0xe, 0x0, 0xf, 0xf, 0x0, 0xf, 0xf, 0x0, 0xe, 0x7, 0x0, 0x1e, 0x7, 0x80, 0x1f, 0xff, 0x80, 0x1f, 0xff, 0x80, 0x3f, 0xff, 0xc0, 0x3c, 0x3, 0xc0, 0x78, 0x1, 0xc0, 0x78, 0x1, 0xe0, 0x78, 0x1, 0xe0, 0x70, 0x0, 0xe0, 0xf0, 0x0, 0xf0, 0xf0, 0x0, 0xf0} - -/* Acircumflex (194) */ -#define NXFONT_METRICS_194 {3, 20, 31, 1, 6, 0} -#define NXFONT_BITMAP_194 {0x0, 0x40, 0x0, 0x0, 0xe0, 0x0, 0x1, 0xf0, 0x0, 0x3, 0xb8, 0x0, 0x7, 0x1c, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf0, 0x0, 0x0, 0xf0, 0x0, 0x0, 0xf0, 0x0, 0x1, 0xf8, 0x0, 0x1, 0xf8, 0x0, 0x3, 0xfc, 0x0, 0x3, 0x9c, 0x0, 0x3, 0x9c, 0x0, 0x7, 0x9e, 0x0, 0x7, 0xe, 0x0, 0x7, 0xe, 0x0, 0xf, 0xf, 0x0, 0xf, 0xf, 0x0, 0xe, 0x7, 0x0, 0x1e, 0x7, 0x80, 0x1f, 0xff, 0x80, 0x1f, 0xff, 0x80, 0x3f, 0xff, 0xc0, 0x3c, 0x3, 0xc0, 0x38, 0x1, 0xc0, 0x78, 0x1, 0xe0, 0x78, 0x1, 0xe0, 0x70, 0x0, 0xe0, 0xf0, 0x0, 0xf0, 0xf0, 0x0, 0xf0} - -/* Atilde (195) */ -#define NXFONT_METRICS_195 {3, 20, 30, 1, 7, 0} -#define NXFONT_BITMAP_195 {0x1, 0xc6, 0x0, 0x3, 0xfe, 0x0, 0x7, 0xfc, 0x0, 0x6, 0x38, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf0, 0x0, 0x0, 0xf0, 0x0, 0x0, 0xf0, 0x0, 0x1, 0xf8, 0x0, 0x1, 0xf8, 0x0, 0x3, 0xfc, 0x0, 0x3, 0x9c, 0x0, 0x3, 0x9c, 0x0, 0x7, 0x9e, 0x0, 0x7, 0xe, 0x0, 0x7, 0xe, 0x0, 0xf, 0xf, 0x0, 0xf, 0xf, 0x0, 0xe, 0x7, 0x0, 0x1e, 0x7, 0x80, 0x1f, 0xff, 0x80, 0x1f, 0xff, 0x80, 0x3f, 0xff, 0xc0, 0x3c, 0x3, 0xc0, 0x38, 0x1, 0xc0, 0x78, 0x1, 0xe0, 0x78, 0x1, 0xe0, 0x70, 0x0, 0xe0, 0xf0, 0x0, 0xf0, 0xf0, 0x0, 0xf0} - -/* Adieresis (196) */ -#define NXFONT_METRICS_196 {3, 20, 30, 1, 7, 0} -#define NXFONT_BITMAP_196 {0x3, 0x9c, 0x0, 0x3, 0x9c, 0x0, 0x3, 0x9c, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf0, 0x0, 0x0, 0xf0, 0x0, 0x0, 0xf0, 0x0, 0x1, 0xf8, 0x0, 0x1, 0xf8, 0x0, 0x3, 0xfc, 0x0, 0x3, 0x9c, 0x0, 0x3, 0x9c, 0x0, 0x7, 0x9e, 0x0, 0x7, 0xe, 0x0, 0x7, 0xe, 0x0, 0xf, 0xf, 0x0, 0xf, 0xf, 0x0, 0xe, 0x7, 0x0, 0x1e, 0x7, 0x80, 0x1f, 0xff, 0x80, 0x1f, 0xff, 0x80, 0x3f, 0xff, 0xc0, 0x3c, 0x3, 0xc0, 0x38, 0x1, 0xc0, 0x78, 0x1, 0xe0, 0x78, 0x1, 0xe0, 0x70, 0x0, 0xe0, 0xf0, 0x0, 0xf0, 0xf0, 0x0, 0xf0} - -/* Aring (197) */ -#define NXFONT_METRICS_197 {3, 20, 31, 1, 6, 0} -#define NXFONT_BITMAP_197 {0x0, 0xf0, 0x0, 0x1, 0x98, 0x0, 0x1, 0x8, 0x0, 0x1, 0x8, 0x0, 0x1, 0x98, 0x0, 0x0, 0xf0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf0, 0x0, 0x0, 0xf0, 0x0, 0x1, 0xf8, 0x0, 0x1, 0xf8, 0x0, 0x3, 0xfc, 0x0, 0x3, 0x9c, 0x0, 0x3, 0x9c, 0x0, 0x7, 0x9e, 0x0, 0x7, 0xe, 0x0, 0x7, 0xe, 0x0, 0xf, 0xf, 0x0, 0xe, 0xf, 0x0, 0xe, 0x7, 0x0, 0x1e, 0x7, 0x80, 0x1f, 0xff, 0x80, 0x1f, 0xff, 0x80, 0x3f, 0xff, 0xc0, 0x3c, 0x3, 0xc0, 0x38, 0x1, 0xc0, 0x78, 0x1, 0xe0, 0x78, 0x1, 0xe0, 0x70, 0x0, 0xe0, 0xf0, 0x0, 0xf0, 0xf0, 0x0, 0xf0} - -/* AE (198) */ -#define NXFONT_METRICS_198 {4, 29, 25, 1, 12, 0} -#define NXFONT_BITMAP_198 {0x0, 0x7f, 0xff, 0xf8, 0x0, 0x7f, 0xff, 0xf8, 0x0, 0xff, 0xff, 0xf8, 0x0, 0xe3, 0x80, 0x0, 0x1, 0xc3, 0x80, 0x0, 0x1, 0xc3, 0x80, 0x0, 0x3, 0xc3, 0x80, 0x0, 0x3, 0x83, 0x80, 0x0, 0x3, 0x83, 0x80, 0x0, 0x7, 0x83, 0x80, 0x0, 0x7, 0x3, 0x80, 0x0, 0x7, 0x3, 0xff, 0xf0, 0xf, 0x3, 0xff, 0xf0, 0xe, 0x3, 0xff, 0xf0, 0x1e, 0x3, 0x80, 0x0, 0x1f, 0xff, 0x80, 0x0, 0x1f, 0xff, 0x80, 0x0, 0x3f, 0xff, 0x80, 0x0, 0x38, 0x3, 0x80, 0x0, 0x78, 0x3, 0x80, 0x0, 0x78, 0x3, 0x80, 0x0, 0x70, 0x3, 0x80, 0x0, 0xf0, 0x3, 0xff, 0xf8, 0xe0, 0x3, 0xff, 0xf8, 0xe0, 0x3, 0xff, 0xf8} - -/* Ccedilla (199) */ -#define NXFONT_METRICS_199 {3, 20, 32, 2, 12, 0} -#define NXFONT_BITMAP_199 {0x1, 0xf8, 0x0, 0x7, 0xfe, 0x0, 0xf, 0xff, 0x80, 0x1f, 0x7, 0x80, 0x3c, 0x3, 0xc0, 0x78, 0x1, 0xe0, 0x70, 0x0, 0xe0, 0x70, 0x0, 0xe0, 0xf0, 0x0, 0x0, 0xf0, 0x0, 0x0, 0xe0, 0x0, 0x0, 0xe0, 0x0, 0x0, 0xe0, 0x0, 0x0, 0xe0, 0x0, 0x0, 0xe0, 0x0, 0x0, 0xf0, 0x0, 0x70, 0xf0, 0x0, 0x70, 0x70, 0x0, 0xf0, 0x70, 0x0, 0xe0, 0x78, 0x1, 0xe0, 0x3c, 0x3, 0xc0, 0x1f, 0x7, 0xc0, 0xf, 0xff, 0x80, 0x7, 0xfe, 0x0, 0x1, 0xf8, 0x0, 0x0, 0x60, 0x0, 0x0, 0x60, 0x0, 0x0, 0xf0, 0x0, 0x0, 0x38, 0x0, 0x0, 0x18, 0x0, 0x3, 0x38, 0x0, 0x1, 0xf0, 0x0} - -/* Egrave (200) */ -#define NXFONT_METRICS_200 {3, 17, 31, 3, 6, 0} -#define NXFONT_BITMAP_200 {0xf, 0x0, 0x0, 0x7, 0x80, 0x0, 0x3, 0x80, 0x0, 0x1, 0xc0, 0x0, 0x0, 0xe0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0xff, 0xff, 0x0, 0xff, 0xff, 0x0, 0xe0, 0x0, 0x0, 0xe0, 0x0, 0x0, 0xe0, 0x0, 0x0, 0xe0, 0x0, 0x0, 0xe0, 0x0, 0x0, 0xe0, 0x0, 0x0, 0xe0, 0x0, 0x0, 0xe0, 0x0, 0x0, 0xff, 0xff, 0x0, 0xff, 0xff, 0x0, 0xff, 0xff, 0x0, 0xe0, 0x0, 0x0, 0xe0, 0x0, 0x0, 0xe0, 0x0, 0x0, 0xe0, 0x0, 0x0, 0xe0, 0x0, 0x0, 0xe0, 0x0, 0x0, 0xe0, 0x0, 0x0, 0xe0, 0x0, 0x0, 0xff, 0xff, 0x80, 0xff, 0xff, 0x80, 0xff, 0xff, 0x80} - -/* Eacute (201) */ -#define NXFONT_METRICS_201 {3, 17, 31, 3, 6, 0} -#define NXFONT_BITMAP_201 {0x0, 0x78, 0x0, 0x0, 0xf0, 0x0, 0x0, 0xe0, 0x0, 0x1, 0xc0, 0x0, 0x3, 0x80, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0xff, 0xff, 0x0, 0xff, 0xff, 0x0, 0xe0, 0x0, 0x0, 0xe0, 0x0, 0x0, 0xe0, 0x0, 0x0, 0xe0, 0x0, 0x0, 0xe0, 0x0, 0x0, 0xe0, 0x0, 0x0, 0xe0, 0x0, 0x0, 0xe0, 0x0, 0x0, 0xff, 0xff, 0x0, 0xff, 0xff, 0x0, 0xff, 0xff, 0x0, 0xe0, 0x0, 0x0, 0xe0, 0x0, 0x0, 0xe0, 0x0, 0x0, 0xe0, 0x0, 0x0, 0xe0, 0x0, 0x0, 0xe0, 0x0, 0x0, 0xe0, 0x0, 0x0, 0xe0, 0x0, 0x0, 0xff, 0xff, 0x80, 0xff, 0xff, 0x80, 0xff, 0xff, 0x80} - -/* Ecircumflex (202) */ -#define NXFONT_METRICS_202 {3, 17, 31, 3, 6, 0} -#define NXFONT_BITMAP_202 {0x0, 0x80, 0x0, 0x1, 0xc0, 0x0, 0x3, 0xe0, 0x0, 0x7, 0x70, 0x0, 0xe, 0x38, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0xff, 0xff, 0x0, 0xff, 0xff, 0x0, 0xe0, 0x0, 0x0, 0xe0, 0x0, 0x0, 0xe0, 0x0, 0x0, 0xe0, 0x0, 0x0, 0xe0, 0x0, 0x0, 0xe0, 0x0, 0x0, 0xe0, 0x0, 0x0, 0xe0, 0x0, 0x0, 0xff, 0xff, 0x0, 0xff, 0xff, 0x0, 0xff, 0xff, 0x0, 0xe0, 0x0, 0x0, 0xe0, 0x0, 0x0, 0xe0, 0x0, 0x0, 0xe0, 0x0, 0x0, 0xe0, 0x0, 0x0, 0xe0, 0x0, 0x0, 0xe0, 0x0, 0x0, 0xe0, 0x0, 0x0, 0xff, 0xff, 0x80, 0xff, 0xff, 0x80, 0xff, 0xff, 0x80} - -/* Edieresis (203) */ -#define NXFONT_METRICS_203 {3, 17, 30, 3, 7, 0} -#define NXFONT_BITMAP_203 {0x1c, 0x38, 0x0, 0x1c, 0x38, 0x0, 0x1c, 0x38, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0xff, 0xff, 0x0, 0xff, 0xff, 0x0, 0xe0, 0x0, 0x0, 0xe0, 0x0, 0x0, 0xe0, 0x0, 0x0, 0xe0, 0x0, 0x0, 0xe0, 0x0, 0x0, 0xe0, 0x0, 0x0, 0xe0, 0x0, 0x0, 0xe0, 0x0, 0x0, 0xff, 0xff, 0x0, 0xff, 0xff, 0x0, 0xff, 0xff, 0x0, 0xe0, 0x0, 0x0, 0xe0, 0x0, 0x0, 0xe0, 0x0, 0x0, 0xe0, 0x0, 0x0, 0xe0, 0x0, 0x0, 0xe0, 0x0, 0x0, 0xe0, 0x0, 0x0, 0xe0, 0x0, 0x0, 0xff, 0xff, 0x80, 0xff, 0xff, 0x80, 0xff, 0xff, 0x80} - -/* Igrave (204) */ -#define NXFONT_METRICS_204 {1, 7, 31, 0, 6, 0} -#define NXFONT_BITMAP_204 {0xf0, 0x78, 0x38, 0x1c, 0xe, 0x0, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c} - -/* Iacute (205) */ -#define NXFONT_METRICS_205 {1, 7, 31, 2, 6, 0} -#define NXFONT_BITMAP_205 {0x1e, 0x3c, 0x38, 0x70, 0xe0, 0x0, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70} - -/* Icircumflex (206) */ -#define NXFONT_METRICS_206 {2, 9, 31, 0, 6, 0} -#define NXFONT_BITMAP_206 {0x8, 0x0, 0x1c, 0x0, 0x3e, 0x0, 0x77, 0x0, 0xe3, 0x80, 0x0, 0x0, 0x1c, 0x0, 0x1c, 0x0, 0x1c, 0x0, 0x1c, 0x0, 0x1c, 0x0, 0x1c, 0x0, 0x1c, 0x0, 0x1c, 0x0, 0x1c, 0x0, 0x1c, 0x0, 0x1c, 0x0, 0x1c, 0x0, 0x1c, 0x0, 0x1c, 0x0, 0x1c, 0x0, 0x1c, 0x0, 0x1c, 0x0, 0x1c, 0x0, 0x1c, 0x0, 0x1c, 0x0, 0x1c, 0x0, 0x1c, 0x0, 0x1c, 0x0, 0x1c, 0x0, 0x1c, 0x0} - -/* Idieresis (207) */ -#define NXFONT_METRICS_207 {2, 9, 30, 0, 7, 0} -#define NXFONT_BITMAP_207 {0xe3, 0x80, 0xe3, 0x80, 0xe3, 0x80, 0x0, 0x0, 0x0, 0x0, 0x1c, 0x0, 0x1c, 0x0, 0x1c, 0x0, 0x1c, 0x0, 0x1c, 0x0, 0x1c, 0x0, 0x1c, 0x0, 0x1c, 0x0, 0x1c, 0x0, 0x1c, 0x0, 0x1c, 0x0, 0x1c, 0x0, 0x1c, 0x0, 0x1c, 0x0, 0x1c, 0x0, 0x1c, 0x0, 0x1c, 0x0, 0x1c, 0x0, 0x1c, 0x0, 0x1c, 0x0, 0x1c, 0x0, 0x1c, 0x0, 0x1c, 0x0, 0x1c, 0x0, 0x1c, 0x0} - -/* Eth (208) */ -#define NXFONT_METRICS_208 {3, 21, 25, 0, 12, 0} -#define NXFONT_BITMAP_208 {0x1f, 0xfe, 0x0, 0x1f, 0xff, 0x80, 0x1f, 0xff, 0xc0, 0x1c, 0x3, 0xe0, 0x1c, 0x0, 0xe0, 0x1c, 0x0, 0xf0, 0x1c, 0x0, 0x70, 0x1c, 0x0, 0x70, 0x1c, 0x0, 0x38, 0x1c, 0x0, 0x38, 0x1c, 0x0, 0x38, 0xff, 0xc0, 0x38, 0xff, 0xc0, 0x38, 0x1c, 0x0, 0x38, 0x1c, 0x0, 0x38, 0x1c, 0x0, 0x38, 0x1c, 0x0, 0x78, 0x1c, 0x0, 0x70, 0x1c, 0x0, 0x70, 0x1c, 0x0, 0xf0, 0x1c, 0x0, 0xe0, 0x1c, 0x3, 0xc0, 0x1f, 0xff, 0xc0, 0x1f, 0xff, 0x80, 0x1f, 0xfe, 0x0} - -/* Ntilde (209) */ -#define NXFONT_METRICS_209 {3, 19, 30, 2, 7, 0} -#define NXFONT_BITMAP_209 {0x1, 0xc6, 0x0, 0x3, 0xfe, 0x0, 0x7, 0xfc, 0x0, 0x6, 0x38, 0x0, 0x0, 0x0, 0x0, 0xf0, 0x0, 0xe0, 0xf8, 0x0, 0xe0, 0xf8, 0x0, 0xe0, 0xfc, 0x0, 0xe0, 0xfc, 0x0, 0xe0, 0xfe, 0x0, 0xe0, 0xef, 0x0, 0xe0, 0xe7, 0x0, 0xe0, 0xe7, 0x80, 0xe0, 0xe3, 0xc0, 0xe0, 0xe3, 0xc0, 0xe0, 0xe1, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xf0, 0xe0, 0xe0, 0x78, 0xe0, 0xe0, 0x38, 0xe0, 0xe0, 0x3c, 0xe0, 0xe0, 0x1c, 0xe0, 0xe0, 0x1e, 0xe0, 0xe0, 0xf, 0xe0, 0xe0, 0x7, 0xe0, 0xe0, 0x7, 0xe0, 0xe0, 0x3, 0xe0, 0xe0, 0x1, 0xe0, 0xe0, 0x1, 0xe0} - -/* Ograve (210) */ -#define NXFONT_METRICS_210 {3, 23, 31, 1, 6, 0} -#define NXFONT_BITMAP_210 {0x0, 0xf0, 0x0, 0x0, 0x78, 0x0, 0x0, 0x38, 0x0, 0x0, 0x1c, 0x0, 0x0, 0xe, 0x0, 0x0, 0x0, 0x0, 0x0, 0xfe, 0x0, 0x3, 0xff, 0x80, 0xf, 0xff, 0xe0, 0x1f, 0x1, 0xf0, 0x3e, 0x0, 0xf8, 0x3c, 0x0, 0x78, 0x78, 0x0, 0x3c, 0x70, 0x0, 0x1c, 0x70, 0x0, 0x1c, 0xf0, 0x0, 0x1e, 0xe0, 0x0, 0xe, 0xe0, 0x0, 0xe, 0xe0, 0x0, 0xe, 0xe0, 0x0, 0xe, 0xe0, 0x0, 0xe, 0xf0, 0x0, 0x1e, 0xf0, 0x0, 0x1e, 0x70, 0x0, 0x1c, 0x78, 0x0, 0x3c, 0x3c, 0x0, 0x78, 0x3e, 0x0, 0xf8, 0x1f, 0x1, 0xf0, 0xf, 0xff, 0xe0, 0x3, 0xff, 0x80, 0x0, 0xfe, 0x0} - -/* Oacute (211) */ -#define NXFONT_METRICS_211 {3, 23, 31, 1, 6, 0} -#define NXFONT_BITMAP_211 {0x0, 0xf, 0x0, 0x0, 0x1e, 0x0, 0x0, 0x1c, 0x0, 0x0, 0x38, 0x0, 0x0, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0xfe, 0x0, 0x3, 0xff, 0x80, 0xf, 0xff, 0xe0, 0x1f, 0x1, 0xf0, 0x3e, 0x0, 0xf8, 0x3c, 0x0, 0x78, 0x78, 0x0, 0x3c, 0x70, 0x0, 0x1c, 0x70, 0x0, 0x1c, 0xf0, 0x0, 0x1e, 0xe0, 0x0, 0xe, 0xe0, 0x0, 0xe, 0xe0, 0x0, 0xe, 0xe0, 0x0, 0xe, 0xe0, 0x0, 0xe, 0xf0, 0x0, 0x1e, 0xf0, 0x0, 0x1e, 0x70, 0x0, 0x1c, 0x78, 0x0, 0x3c, 0x3c, 0x0, 0x78, 0x3e, 0x0, 0xf8, 0x1f, 0x1, 0xf0, 0xf, 0xff, 0xe0, 0x3, 0xff, 0x80, 0x0, 0xfe, 0x0} - -/* Ocircumflex (212) */ -#define NXFONT_METRICS_212 {3, 23, 31, 1, 6, 0} -#define NXFONT_BITMAP_212 {0x0, 0x10, 0x0, 0x0, 0x38, 0x0, 0x0, 0x7c, 0x0, 0x0, 0xee, 0x0, 0x1, 0xc7, 0x0, 0x0, 0x0, 0x0, 0x0, 0xfe, 0x0, 0x3, 0xff, 0x80, 0xf, 0xff, 0xe0, 0x1f, 0x1, 0xf0, 0x3e, 0x0, 0xf8, 0x3c, 0x0, 0x78, 0x78, 0x0, 0x3c, 0x70, 0x0, 0x1c, 0x70, 0x0, 0x1c, 0xf0, 0x0, 0x1e, 0xe0, 0x0, 0xe, 0xe0, 0x0, 0xe, 0xe0, 0x0, 0xe, 0xe0, 0x0, 0xe, 0xe0, 0x0, 0xe, 0xf0, 0x0, 0x1e, 0xf0, 0x0, 0x1e, 0x70, 0x0, 0x1c, 0x78, 0x0, 0x3c, 0x3c, 0x0, 0x78, 0x3e, 0x0, 0xf8, 0x1f, 0x1, 0xf0, 0xf, 0xff, 0xe0, 0x3, 0xff, 0x80, 0x0, 0xfe, 0x0} - -/* Otilde (213) */ -#define NXFONT_METRICS_213 {3, 23, 30, 1, 7, 0} -#define NXFONT_BITMAP_213 {0x0, 0x71, 0x80, 0x0, 0xff, 0x80, 0x1, 0xff, 0x0, 0x1, 0x8e, 0x0, 0x0, 0x0, 0x0, 0x0, 0xfe, 0x0, 0x3, 0xff, 0x80, 0xf, 0xff, 0xe0, 0x1f, 0x1, 0xf0, 0x3e, 0x0, 0xf8, 0x3c, 0x0, 0x78, 0x78, 0x0, 0x3c, 0x70, 0x0, 0x1c, 0x70, 0x0, 0x1c, 0xf0, 0x0, 0x1e, 0xe0, 0x0, 0xe, 0xe0, 0x0, 0xe, 0xe0, 0x0, 0xe, 0xe0, 0x0, 0xe, 0xe0, 0x0, 0xe, 0xf0, 0x0, 0x1e, 0xf0, 0x0, 0x1e, 0x70, 0x0, 0x1c, 0x78, 0x0, 0x3c, 0x3c, 0x0, 0x78, 0x3e, 0x0, 0xf8, 0x1f, 0x1, 0xf0, 0xf, 0xff, 0xe0, 0x3, 0xff, 0x80, 0x0, 0xfe, 0x0} - -/* Odieresis (214) */ -#define NXFONT_METRICS_214 {3, 23, 29, 1, 8, 0} -#define NXFONT_BITMAP_214 {0x1, 0xc3, 0x80, 0x1, 0xc3, 0x80, 0x1, 0xc3, 0x80, 0x0, 0x0, 0x0, 0x0, 0xfe, 0x0, 0x3, 0xff, 0x80, 0xf, 0xff, 0xe0, 0x1f, 0x1, 0xf0, 0x3e, 0x0, 0xf8, 0x3c, 0x0, 0x78, 0x78, 0x0, 0x3c, 0x70, 0x0, 0x1c, 0x70, 0x0, 0x1c, 0xf0, 0x0, 0x1e, 0xe0, 0x0, 0xe, 0xe0, 0x0, 0xe, 0xe0, 0x0, 0xe, 0xe0, 0x0, 0xe, 0xe0, 0x0, 0xe, 0xf0, 0x0, 0x1e, 0xf0, 0x0, 0x1e, 0x70, 0x0, 0x1c, 0x78, 0x0, 0x3c, 0x3c, 0x0, 0x78, 0x3e, 0x0, 0xf8, 0x1f, 0x1, 0xf0, 0xf, 0xff, 0xe0, 0x3, 0xff, 0x80, 0x0, 0xfe, 0x0} - -/* multiply (215) */ -#define NXFONT_METRICS_215 {2, 15, 15, 2, 21, 0} -#define NXFONT_BITMAP_215 {0x40, 0x4, 0xe0, 0xe, 0xf0, 0x1e, 0x78, 0x3c, 0x3c, 0x78, 0x1f, 0xf0, 0xf, 0xe0, 0x7, 0xc0, 0x7, 0xc0, 0xf, 0xe0, 0x1e, 0xf0, 0x3c, 0x78, 0x78, 0x3c, 0xf0, 0x1e, 0x60, 0xc} - -/* Oslash (216) */ -#define NXFONT_METRICS_216 {3, 23, 25, 1, 12, 0} -#define NXFONT_BITMAP_216 {0x0, 0xfe, 0x6, 0x3, 0xff, 0x8c, 0xf, 0xff, 0xf8, 0x1f, 0x1, 0xf0, 0x3e, 0x0, 0xf8, 0x3c, 0x0, 0xf8, 0x78, 0x1, 0xbc, 0x70, 0x3, 0x1c, 0x70, 0x6, 0x1c, 0xf0, 0x6, 0x1e, 0xe0, 0xc, 0xe, 0xe0, 0x18, 0xe, 0xe0, 0x30, 0xe, 0xe0, 0x60, 0xe, 0xe0, 0xc0, 0xe, 0xe1, 0x80, 0x1e, 0xf3, 0x0, 0x1e, 0x76, 0x0, 0x1c, 0x7c, 0x0, 0x3c, 0x3c, 0x0, 0x78, 0x3e, 0x0, 0xf8, 0x3f, 0x1, 0xf0, 0x6f, 0xff, 0xe0, 0xc3, 0xff, 0x80, 0x0, 0xfe, 0x0} - -/* Ugrave (217) */ -#define NXFONT_METRICS_217 {3, 18, 31, 3, 6, 0} -#define NXFONT_BITMAP_217 {0x7, 0x80, 0x0, 0x3, 0xc0, 0x0, 0x1, 0xc0, 0x0, 0x0, 0xe0, 0x0, 0x0, 0x70, 0x0, 0x0, 0x0, 0x0, 0xe0, 0x1, 0xc0, 0xe0, 0x1, 0xc0, 0xe0, 0x1, 0xc0, 0xe0, 0x1, 0xc0, 0xe0, 0x1, 0xc0, 0xe0, 0x1, 0xc0, 0xe0, 0x1, 0xc0, 0xe0, 0x1, 0xc0, 0xe0, 0x1, 0xc0, 0xe0, 0x1, 0xc0, 0xe0, 0x1, 0xc0, 0xe0, 0x1, 0xc0, 0xe0, 0x1, 0xc0, 0xe0, 0x1, 0xc0, 0xe0, 0x1, 0xc0, 0xe0, 0x1, 0xc0, 0xe0, 0x1, 0xc0, 0xe0, 0x1, 0xc0, 0xe0, 0x1, 0xc0, 0xf0, 0x3, 0xc0, 0x78, 0x7, 0x80, 0x7c, 0xf, 0x80, 0x3f, 0xff, 0x0, 0x1f, 0xfe, 0x0, 0x3, 0xf0, 0x0} - -/* Uacute (218) */ -#define NXFONT_METRICS_218 {3, 18, 31, 3, 6, 0} -#define NXFONT_BITMAP_218 {0x0, 0x78, 0x0, 0x0, 0xf0, 0x0, 0x0, 0xe0, 0x0, 0x1, 0xc0, 0x0, 0x3, 0x80, 0x0, 0x0, 0x0, 0x0, 0xe0, 0x1, 0xc0, 0xe0, 0x1, 0xc0, 0xe0, 0x1, 0xc0, 0xe0, 0x1, 0xc0, 0xe0, 0x1, 0xc0, 0xe0, 0x1, 0xc0, 0xe0, 0x1, 0xc0, 0xe0, 0x1, 0xc0, 0xe0, 0x1, 0xc0, 0xe0, 0x1, 0xc0, 0xe0, 0x1, 0xc0, 0xe0, 0x1, 0xc0, 0xe0, 0x1, 0xc0, 0xe0, 0x1, 0xc0, 0xe0, 0x1, 0xc0, 0xe0, 0x1, 0xc0, 0xe0, 0x1, 0xc0, 0xe0, 0x1, 0xc0, 0xe0, 0x1, 0xc0, 0xf0, 0x3, 0xc0, 0x78, 0x7, 0x80, 0x7c, 0xf, 0x80, 0x3f, 0xff, 0x0, 0x1f, 0xfe, 0x0, 0x3, 0xf0, 0x0} - -/* Ucircumflex (219) */ -#define NXFONT_METRICS_219 {3, 18, 31, 3, 6, 0} -#define NXFONT_BITMAP_219 {0x0, 0x40, 0x0, 0x0, 0xe0, 0x0, 0x1, 0xf0, 0x0, 0x3, 0xb8, 0x0, 0x7, 0x1c, 0x0, 0x0, 0x0, 0x0, 0xe0, 0x1, 0xc0, 0xe0, 0x1, 0xc0, 0xe0, 0x1, 0xc0, 0xe0, 0x1, 0xc0, 0xe0, 0x1, 0xc0, 0xe0, 0x1, 0xc0, 0xe0, 0x1, 0xc0, 0xe0, 0x1, 0xc0, 0xe0, 0x1, 0xc0, 0xe0, 0x1, 0xc0, 0xe0, 0x1, 0xc0, 0xe0, 0x1, 0xc0, 0xe0, 0x1, 0xc0, 0xe0, 0x1, 0xc0, 0xe0, 0x1, 0xc0, 0xe0, 0x1, 0xc0, 0xe0, 0x1, 0xc0, 0xe0, 0x1, 0xc0, 0xe0, 0x1, 0xc0, 0xf0, 0x3, 0xc0, 0x78, 0x7, 0x80, 0x7c, 0xf, 0x80, 0x3f, 0xff, 0x0, 0x1f, 0xfe, 0x0, 0x3, 0xf0, 0x0} - -/* Udieresis (220) */ -#define NXFONT_METRICS_220 {3, 18, 30, 3, 7, 0} -#define NXFONT_BITMAP_220 {0xe, 0x1c, 0x0, 0xe, 0x1c, 0x0, 0xe, 0x1c, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xe0, 0x1, 0xc0, 0xe0, 0x1, 0xc0, 0xe0, 0x1, 0xc0, 0xe0, 0x1, 0xc0, 0xe0, 0x1, 0xc0, 0xe0, 0x1, 0xc0, 0xe0, 0x1, 0xc0, 0xe0, 0x1, 0xc0, 0xe0, 0x1, 0xc0, 0xe0, 0x1, 0xc0, 0xe0, 0x1, 0xc0, 0xe0, 0x1, 0xc0, 0xe0, 0x1, 0xc0, 0xe0, 0x1, 0xc0, 0xe0, 0x1, 0xc0, 0xe0, 0x1, 0xc0, 0xe0, 0x1, 0xc0, 0xe0, 0x1, 0xc0, 0xe0, 0x1, 0xc0, 0xf0, 0x3, 0xc0, 0x78, 0x7, 0x80, 0x7c, 0xf, 0x80, 0x3f, 0xff, 0x0, 0x1f, 0xfe, 0x0, 0x3, 0xf0, 0x0} - -/* Yacute (221) */ -#define NXFONT_METRICS_221 {3, 19, 31, 1, 6, 0} -#define NXFONT_BITMAP_221 {0x0, 0x3c, 0x0, 0x0, 0x78, 0x0, 0x0, 0x70, 0x0, 0x0, 0xe0, 0x0, 0x1, 0xc0, 0x0, 0x0, 0x0, 0x0, 0xe0, 0x0, 0xe0, 0xf0, 0x1, 0xe0, 0x70, 0x1, 0xc0, 0x78, 0x3, 0xc0, 0x38, 0x3, 0x80, 0x3c, 0x7, 0x80, 0x1c, 0xf, 0x0, 0x1e, 0xf, 0x0, 0xf, 0x1e, 0x0, 0x7, 0x1c, 0x0, 0x7, 0xbc, 0x0, 0x3, 0xb8, 0x0, 0x3, 0xf8, 0x0, 0x1, 0xf0, 0x0, 0x1, 0xf0, 0x0, 0x0, 0xe0, 0x0, 0x0, 0xe0, 0x0, 0x0, 0xe0, 0x0, 0x0, 0xe0, 0x0, 0x0, 0xe0, 0x0, 0x0, 0xe0, 0x0, 0x0, 0xe0, 0x0, 0x0, 0xe0, 0x0, 0x0, 0xe0, 0x0, 0x0, 0xe0, 0x0} - -/* Thorn (222) */ -#define NXFONT_METRICS_222 {3, 17, 25, 3, 12, 0} -#define NXFONT_BITMAP_222 {0xe0, 0x0, 0x0, 0xe0, 0x0, 0x0, 0xe0, 0x0, 0x0, 0xe0, 0x0, 0x0, 0xe0, 0x0, 0x0, 0xff, 0xf8, 0x0, 0xff, 0xfe, 0x0, 0xff, 0xff, 0x0, 0xe0, 0xf, 0x0, 0xe0, 0x7, 0x0, 0xe0, 0x7, 0x80, 0xe0, 0x3, 0x80, 0xe0, 0x3, 0x80, 0xe0, 0x7, 0x80, 0xe0, 0x7, 0x0, 0xe0, 0xf, 0x0, 0xff, 0xfe, 0x0, 0xff, 0xfc, 0x0, 0xff, 0xf8, 0x0, 0xe0, 0x0, 0x0, 0xe0, 0x0, 0x0, 0xe0, 0x0, 0x0, 0xe0, 0x0, 0x0, 0xe0, 0x0, 0x0, 0xe0, 0x0, 0x0} - -/* germandbls (223) */ -#define NXFONT_METRICS_223 {2, 14, 25, 4, 12, 0} -#define NXFONT_BITMAP_223 {0xf, 0x80, 0x3f, 0xe0, 0x7f, 0xf0, 0x78, 0xf0, 0xf0, 0x78, 0xe0, 0x38, 0xe0, 0x38, 0xe0, 0x38, 0xe0, 0x78, 0xe0, 0xf0, 0xe3, 0xe0, 0xe3, 0xe0, 0xe3, 0xf0, 0xe0, 0x78, 0xe0, 0x3c, 0xe0, 0x1c, 0xe0, 0x1c, 0xe0, 0x1c, 0xe0, 0x1c, 0xe0, 0x1c, 0xe0, 0x38, 0xe0, 0x78, 0xe7, 0xf0, 0xe7, 0xe0, 0xe7, 0x80} - -/* agrave (224) */ -#define NXFONT_METRICS_224 {2, 16, 25, 1, 12, 0} -#define NXFONT_BITMAP_224 {0xf, 0x0, 0x7, 0x80, 0x3, 0x80, 0x1, 0xc0, 0x0, 0xe0, 0x0, 0x0, 0x0, 0x0, 0xf, 0xe0, 0x3f, 0xf8, 0x3c, 0x7c, 0x70, 0x1c, 0x70, 0x1c, 0x0, 0x1c, 0x0, 0x1c, 0x0, 0xfc, 0x1f, 0xfc, 0x7f, 0x9c, 0x78, 0x1c, 0xf0, 0x1c, 0xe0, 0x1c, 0xe0, 0x3c, 0xe0, 0x7c, 0x79, 0xfc, 0x7f, 0xdf, 0x3f, 0x8f} - -/* aacute (225) */ -#define NXFONT_METRICS_225 {2, 16, 25, 1, 12, 0} -#define NXFONT_BITMAP_225 {0x0, 0xf0, 0x1, 0xe0, 0x1, 0xc0, 0x3, 0x80, 0x7, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf, 0xe0, 0x3f, 0xf8, 0x3c, 0x7c, 0x70, 0x1c, 0x70, 0x1c, 0x0, 0x1c, 0x0, 0x1c, 0x0, 0xfc, 0x1f, 0xfc, 0x7f, 0x9c, 0x78, 0x1c, 0xf0, 0x1c, 0xe0, 0x1c, 0xe0, 0x3c, 0xe0, 0x7c, 0x78, 0xfc, 0x7f, 0xdf, 0x3f, 0x8f} - -/* acircumflex (226) */ -#define NXFONT_METRICS_226 {2, 16, 25, 1, 12, 0} -#define NXFONT_BITMAP_226 {0x1, 0x0, 0x3, 0x80, 0x7, 0xc0, 0xe, 0xe0, 0x1c, 0x70, 0x0, 0x0, 0x0, 0x0, 0xf, 0xe0, 0x3f, 0xf8, 0x3c, 0x7c, 0x70, 0x1c, 0x70, 0x1c, 0x0, 0x1c, 0x0, 0x1c, 0x0, 0xfc, 0x1f, 0xfc, 0x7f, 0x9c, 0x78, 0x1c, 0xf0, 0x1c, 0xe0, 0x1c, 0xe0, 0x3c, 0xe0, 0x7c, 0x78, 0xfc, 0x7f, 0xdf, 0x3f, 0x8f} - -/* atilde (227) */ -#define NXFONT_METRICS_227 {2, 16, 24, 1, 13, 0} -#define NXFONT_BITMAP_227 {0x7, 0x18, 0xf, 0xf8, 0x1f, 0xf0, 0x18, 0xe0, 0x0, 0x0, 0x0, 0x0, 0xf, 0xe0, 0x3f, 0xf8, 0x3c, 0x7c, 0x70, 0x1c, 0x70, 0x1c, 0x0, 0x1c, 0x0, 0x1c, 0x0, 0xfc, 0x1f, 0xfc, 0x7f, 0x9c, 0x78, 0x1c, 0xf0, 0x1c, 0xe0, 0x1c, 0xe0, 0x3c, 0xe0, 0x7c, 0x78, 0xfc, 0x7f, 0xdf, 0x3f, 0x8f} - -/* adieresis (228) */ -#define NXFONT_METRICS_228 {2, 16, 23, 1, 14, 0} -#define NXFONT_BITMAP_228 {0xe, 0x70, 0xe, 0x70, 0xe, 0x70, 0x0, 0x0, 0x0, 0x0, 0xf, 0xe0, 0x3f, 0xf8, 0x3c, 0xfc, 0x70, 0x1c, 0x70, 0x1c, 0x0, 0x1c, 0x0, 0x1c, 0x0, 0xfc, 0x1f, 0xfc, 0x7f, 0x9c, 0x78, 0x1c, 0xf0, 0x1c, 0xe0, 0x1c, 0xe0, 0x3c, 0xe0, 0x7c, 0x79, 0xfc, 0x7f, 0xdf, 0x3f, 0x8f} - -/* aring (229) */ -#define NXFONT_METRICS_229 {2, 16, 25, 1, 12, 0} -#define NXFONT_BITMAP_229 {0x3, 0x80, 0x6, 0xc0, 0x4, 0x40, 0x4, 0x40, 0x6, 0xc0, 0x3, 0x80, 0x0, 0x0, 0xf, 0xe0, 0x3f, 0xf8, 0x3c, 0x7c, 0x70, 0x1c, 0x70, 0x1c, 0x0, 0x1c, 0x0, 0x1c, 0x0, 0xfc, 0x1f, 0xfc, 0x7f, 0x9c, 0x78, 0x1c, 0xf0, 0x1c, 0xe0, 0x1c, 0xe0, 0x3c, 0xe0, 0x7c, 0x78, 0xfc, 0x7f, 0xdf, 0x3f, 0x8f} - -/* ae (230) */ -#define NXFONT_METRICS_230 {4, 26, 18, 1, 19, 0} -#define NXFONT_BITMAP_230 {0x7, 0xc0, 0xf8, 0x0, 0x1f, 0xf1, 0xfe, 0x0, 0x3c, 0x7f, 0x8f, 0x0, 0x70, 0x3e, 0x3, 0x80, 0x70, 0x1e, 0x3, 0x80, 0x0, 0x1c, 0x1, 0xc0, 0x0, 0x1c, 0x1, 0xc0, 0x0, 0xfc, 0x1, 0xc0, 0xf, 0xff, 0xff, 0xc0, 0x3f, 0xff, 0xff, 0xc0, 0x7e, 0x1f, 0xff, 0xc0, 0xf0, 0x1c, 0x0, 0x0, 0xe0, 0x1c, 0x1, 0xc0, 0xe0, 0x1e, 0x1, 0xc0, 0xe0, 0x7e, 0x3, 0x80, 0xf8, 0xf7, 0x8f, 0x0, 0x7f, 0xe7, 0xff, 0x0, 0x3f, 0x81, 0xfc, 0x0} - -/* ccedilla (231) */ -#define NXFONT_METRICS_231 {2, 14, 25, 1, 19, 0} -#define NXFONT_BITMAP_231 {0x7, 0xc0, 0x1f, 0xf0, 0x3f, 0xf8, 0x38, 0x38, 0x70, 0x1c, 0x70, 0x1c, 0xe0, 0x0, 0xe0, 0x0, 0xe0, 0x0, 0xe0, 0x0, 0xe0, 0x0, 0xe0, 0x1c, 0xe0, 0x1c, 0x70, 0x38, 0x78, 0x78, 0x3f, 0xf0, 0x1f, 0xe0, 0x7, 0x80, 0x3, 0x0, 0x3, 0x0, 0x7, 0x80, 0x1, 0xc0, 0x0, 0xc0, 0x19, 0xc0, 0xf, 0x80} - -/* egrave (232) */ -#define NXFONT_METRICS_232 {2, 15, 25, 1, 12, 0} -#define NXFONT_BITMAP_232 {0x1e, 0x0, 0xf, 0x0, 0x7, 0x0, 0x3, 0x80, 0x1, 0xc0, 0x0, 0x0, 0x0, 0x0, 0x7, 0xc0, 0x1f, 0xf0, 0x3e, 0x78, 0x78, 0x1c, 0x70, 0x1c, 0xf0, 0xe, 0xe0, 0xe, 0xe0, 0xe, 0xff, 0xfe, 0xff, 0xfe, 0xe0, 0x0, 0xe0, 0x0, 0xe0, 0xe, 0x70, 0xe, 0x78, 0x1c, 0x3c, 0x7c, 0x1f, 0xf0, 0xf, 0xe0} - -/* eacute (233) */ -#define NXFONT_METRICS_233 {2, 15, 25, 1, 12, 0} -#define NXFONT_BITMAP_233 {0x1, 0xe0, 0x3, 0xc0, 0x3, 0x80, 0x7, 0x0, 0xe, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7, 0xc0, 0x1f, 0xf0, 0x3c, 0x78, 0x78, 0x1c, 0x70, 0x1c, 0xf0, 0xe, 0xe0, 0xe, 0xe0, 0xe, 0xff, 0xfe, 0xff, 0xfe, 0xe0, 0x0, 0xe0, 0x0, 0xe0, 0xe, 0x70, 0xe, 0x78, 0x1c, 0x3c, 0x7c, 0x1f, 0xf0, 0xf, 0xe0} - -/* ecircumflex (234) */ -#define NXFONT_METRICS_234 {2, 15, 25, 1, 12, 0} -#define NXFONT_BITMAP_234 {0x1, 0x0, 0x3, 0x80, 0x7, 0xc0, 0xe, 0xe0, 0x1c, 0x70, 0x0, 0x0, 0x0, 0x0, 0x7, 0xc0, 0x1f, 0xf0, 0x3c, 0x78, 0x78, 0x1c, 0x70, 0x1c, 0xf0, 0xe, 0xe0, 0xe, 0xe0, 0xe, 0xff, 0xfe, 0xff, 0xfe, 0xe0, 0x0, 0xe0, 0x0, 0xe0, 0xe, 0x70, 0xe, 0x78, 0x1c, 0x3c, 0x7c, 0x1f, 0xf0, 0x7, 0xc0} - -/* edieresis (235) */ -#define NXFONT_METRICS_235 {2, 15, 23, 1, 14, 0} -#define NXFONT_BITMAP_235 {0x1c, 0x70, 0x1c, 0x70, 0x1c, 0x70, 0x0, 0x0, 0x0, 0x0, 0x7, 0xc0, 0x1f, 0xf0, 0x3c, 0x78, 0x78, 0x1c, 0x70, 0x1c, 0xf0, 0xe, 0xe0, 0xe, 0xe0, 0xe, 0xff, 0xfe, 0xff, 0xfe, 0xe0, 0x0, 0xe0, 0x0, 0xe0, 0xe, 0x70, 0xe, 0x78, 0x1c, 0x3c, 0x7c, 0x1f, 0xf0, 0x7, 0xc0} - -/* igrave (236) */ -#define NXFONT_METRICS_236 {1, 7, 25, 0, 12, 0} -#define NXFONT_BITMAP_236 {0xf0, 0x78, 0x38, 0x1c, 0xe, 0x0, 0x0, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c} - -/* iacute (237) */ -#define NXFONT_METRICS_237 {1, 7, 25, 2, 12, 0} -#define NXFONT_BITMAP_237 {0x1e, 0x3c, 0x38, 0x70, 0xe0, 0x0, 0x0, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70} - -/* icircumflex (238) */ -#define NXFONT_METRICS_238 {2, 9, 25, 0, 12, 0} -#define NXFONT_BITMAP_238 {0x8, 0x0, 0x1c, 0x0, 0x3e, 0x0, 0x77, 0x0, 0xe3, 0x80, 0x0, 0x0, 0x0, 0x0, 0x1c, 0x0, 0x1c, 0x0, 0x1c, 0x0, 0x1c, 0x0, 0x1c, 0x0, 0x1c, 0x0, 0x1c, 0x0, 0x1c, 0x0, 0x1c, 0x0, 0x1c, 0x0, 0x1c, 0x0, 0x1c, 0x0, 0x1c, 0x0, 0x1c, 0x0, 0x1c, 0x0, 0x1c, 0x0, 0x1c, 0x0, 0x1c, 0x0} - -/* idieresis (239) */ -#define NXFONT_METRICS_239 {1, 8, 23, 1, 14, 0} -#define NXFONT_BITMAP_239 {0xe7, 0xe7, 0xe7, 0x0, 0x0, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38} - -/* eth (240) */ -#define NXFONT_METRICS_240 {2, 15, 25, 1, 12, 0} -#define NXFONT_BITMAP_240 {0x78, 0x40, 0x3c, 0xe0, 0x1f, 0xc0, 0xf, 0x80, 0x1f, 0x80, 0x3b, 0xc0, 0x11, 0xe0, 0x7, 0xf0, 0x1f, 0xf8, 0x3f, 0xf8, 0x78, 0x3c, 0x70, 0x1c, 0x70, 0x1c, 0xe0, 0xe, 0xe0, 0xe, 0xe0, 0xe, 0xe0, 0xe, 0xe0, 0xe, 0xe0, 0xe, 0x70, 0x1c, 0x70, 0x1c, 0x78, 0x3c, 0x3f, 0xf8, 0x1f, 0xf0, 0x7, 0xc0} - -/* ntilde (241) */ -#define NXFONT_METRICS_241 {2, 14, 24, 2, 13, 0} -#define NXFONT_BITMAP_241 {0xe, 0x30, 0x1f, 0xf0, 0x3f, 0xe0, 0x31, 0xc0, 0x0, 0x0, 0x0, 0x0, 0x3, 0xc0, 0xef, 0xf0, 0xff, 0xf8, 0xf8, 0x3c, 0xf0, 0x1c, 0xf0, 0x1c, 0xe0, 0x1c, 0xe0, 0x1c, 0xe0, 0x1c, 0xe0, 0x1c, 0xe0, 0x1c, 0xe0, 0x1c, 0xe0, 0x1c, 0xe0, 0x1c, 0xe0, 0x1c, 0xe0, 0x1c, 0xe0, 0x1c, 0xe0, 0x1c} - -/* ograve (242) */ -#define NXFONT_METRICS_242 {2, 15, 25, 1, 12, 0} -#define NXFONT_BITMAP_242 {0x1e, 0x0, 0xf, 0x0, 0x7, 0x0, 0x3, 0x80, 0x1, 0xc0, 0x0, 0x0, 0x0, 0x0, 0x7, 0xc0, 0x1f, 0xf0, 0x3f, 0xf8, 0x78, 0x3c, 0x70, 0x1c, 0x70, 0x1c, 0xe0, 0xe, 0xe0, 0xe, 0xe0, 0xe, 0xe0, 0xe, 0xe0, 0xe, 0xe0, 0xe, 0x70, 0x1c, 0x70, 0x1c, 0x78, 0x3c, 0x3f, 0xf8, 0x1f, 0xf0, 0x7, 0xc0} - -/* oacute (243) */ -#define NXFONT_METRICS_243 {2, 15, 25, 1, 12, 0} -#define NXFONT_BITMAP_243 {0x1, 0xe0, 0x3, 0xc0, 0x3, 0x80, 0x7, 0x0, 0xe, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7, 0xc0, 0x1f, 0xf0, 0x3f, 0xf8, 0x78, 0x3c, 0x70, 0x1c, 0x70, 0x1c, 0xe0, 0xe, 0xe0, 0xe, 0xe0, 0xe, 0xe0, 0xe, 0xe0, 0xe, 0xe0, 0xe, 0x70, 0x1c, 0x70, 0x1c, 0x78, 0x3c, 0x3f, 0xf8, 0x1f, 0xf0, 0x7, 0xc0} - -/* ocircumflex (244) */ -#define NXFONT_METRICS_244 {2, 15, 25, 1, 12, 0} -#define NXFONT_BITMAP_244 {0x1, 0x0, 0x3, 0x80, 0x7, 0xc0, 0xe, 0xe0, 0x1c, 0x70, 0x0, 0x0, 0x0, 0x0, 0x7, 0xc0, 0x1f, 0xf0, 0x3f, 0xf8, 0x78, 0x3c, 0x70, 0x1c, 0x70, 0x1c, 0xe0, 0xe, 0xe0, 0xe, 0xe0, 0xe, 0xe0, 0xe, 0xe0, 0xe, 0xe0, 0xe, 0x70, 0x1c, 0x70, 0x1c, 0x78, 0x3c, 0x3f, 0xf8, 0x1f, 0xf0, 0x7, 0xc0} - -/* otilde (245) */ -#define NXFONT_METRICS_245 {2, 15, 24, 1, 13, 0} -#define NXFONT_BITMAP_245 {0xe, 0x30, 0x1f, 0xf0, 0x3f, 0xe0, 0x31, 0xc0, 0x0, 0x0, 0x0, 0x0, 0x7, 0xc0, 0x1f, 0xf0, 0x3f, 0xf8, 0x78, 0x3c, 0x70, 0x1c, 0x70, 0x1c, 0xe0, 0xe, 0xe0, 0xe, 0xe0, 0xe, 0xe0, 0xe, 0xe0, 0xe, 0xe0, 0xe, 0x70, 0x1c, 0x70, 0x1c, 0x78, 0x3c, 0x3f, 0xf8, 0x1f, 0xf0, 0x7, 0xc0} - -/* odieresis (246) */ -#define NXFONT_METRICS_246 {2, 15, 23, 1, 14, 0} -#define NXFONT_BITMAP_246 {0x1c, 0x70, 0x1c, 0x70, 0x1c, 0x70, 0x0, 0x0, 0x0, 0x0, 0x7, 0xc0, 0x1f, 0xf0, 0x3f, 0xf8, 0x78, 0x3c, 0x70, 0x1c, 0x70, 0x1c, 0xe0, 0xe, 0xe0, 0xe, 0xe0, 0xe, 0xe0, 0xe, 0xe0, 0xe, 0xe0, 0xe, 0x70, 0x1c, 0x70, 0x1c, 0x78, 0x3c, 0x3f, 0xf8, 0x1f, 0xf0, 0x7, 0xc0} - -/* divide (247) */ -#define NXFONT_METRICS_247 {2, 15, 15, 2, 21, 0} -#define NXFONT_BITMAP_247 {0x3, 0x80, 0x3, 0x80, 0x3, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3, 0x80, 0x3, 0x80, 0x3, 0x80} - -/* oslash (248) */ -#define NXFONT_METRICS_248 {2, 16, 18, 2, 19, 0} -#define NXFONT_BITMAP_248 {0x7, 0xc3, 0x1f, 0xf6, 0x3f, 0xfc, 0x78, 0x78, 0x70, 0x1c, 0x70, 0x3c, 0xe0, 0x6e, 0xe0, 0xce, 0xe1, 0x8e, 0xe3, 0xe, 0xe6, 0xe, 0xec, 0xe, 0x78, 0x1c, 0x70, 0x1c, 0x38, 0x3c, 0x7f, 0xf8, 0xdf, 0xf0, 0x87, 0xc0} - -/* ugrave (249) */ -#define NXFONT_METRICS_249 {2, 14, 25, 2, 12, 0} -#define NXFONT_BITMAP_249 {0x1e, 0x0, 0xf, 0x0, 0x7, 0x0, 0x3, 0x80, 0x1, 0xc0, 0x0, 0x0, 0x0, 0x0, 0xe0, 0x1c, 0xe0, 0x1c, 0xe0, 0x1c, 0xe0, 0x1c, 0xe0, 0x1c, 0xe0, 0x1c, 0xe0, 0x1c, 0xe0, 0x1c, 0xe0, 0x1c, 0xe0, 0x1c, 0xe0, 0x1c, 0xe0, 0x1c, 0xe0, 0x3c, 0xe0, 0x3c, 0xf0, 0xfc, 0x7f, 0xfc, 0x3f, 0xdc, 0xf, 0x0} - -/* uacute (250) */ -#define NXFONT_METRICS_250 {2, 14, 25, 2, 12, 0} -#define NXFONT_BITMAP_250 {0x1, 0xe0, 0x3, 0xc0, 0x3, 0x80, 0x7, 0x0, 0xe, 0x0, 0x0, 0x0, 0x0, 0x0, 0xe0, 0x1c, 0xe0, 0x1c, 0xe0, 0x1c, 0xe0, 0x1c, 0xe0, 0x1c, 0xe0, 0x1c, 0xe0, 0x1c, 0xe0, 0x1c, 0xe0, 0x1c, 0xe0, 0x1c, 0xe0, 0x1c, 0xe0, 0x1c, 0xe0, 0x3c, 0xe0, 0x3c, 0xf0, 0xfc, 0x7f, 0xfc, 0x3f, 0xdc, 0xf, 0x0} - -/* ucircumflex (251) */ -#define NXFONT_METRICS_251 {2, 14, 25, 2, 12, 0} -#define NXFONT_BITMAP_251 {0x1, 0x0, 0x3, 0x80, 0x7, 0xc0, 0xe, 0xe0, 0x1c, 0x70, 0x0, 0x0, 0x0, 0x0, 0xe0, 0x1c, 0xe0, 0x1c, 0xe0, 0x1c, 0xe0, 0x1c, 0xe0, 0x1c, 0xe0, 0x1c, 0xe0, 0x1c, 0xe0, 0x1c, 0xe0, 0x1c, 0xe0, 0x1c, 0xe0, 0x1c, 0xe0, 0x1c, 0xe0, 0x3c, 0xe0, 0x3c, 0xf0, 0xfc, 0x7f, 0xfc, 0x3f, 0xdc, 0xf, 0x0} - -/* udieresis (252) */ -#define NXFONT_METRICS_252 {2, 14, 23, 2, 14, 0} -#define NXFONT_BITMAP_252 {0x1c, 0xe0, 0x1c, 0xe0, 0x1c, 0xe0, 0x0, 0x0, 0x0, 0x0, 0xe0, 0x1c, 0xe0, 0x1c, 0xe0, 0x1c, 0xe0, 0x1c, 0xe0, 0x1c, 0xe0, 0x1c, 0xe0, 0x1c, 0xe0, 0x1c, 0xe0, 0x1c, 0xe0, 0x1c, 0xe0, 0x1c, 0xe0, 0x1c, 0xe0, 0x3c, 0xe0, 0x3c, 0xf0, 0xfc, 0x7f, 0xfc, 0x3f, 0xdc, 0xf, 0x0} - -/* yacute (253) */ -#define NXFONT_METRICS_253 {2, 14, 32, 1, 12, 0} -#define NXFONT_BITMAP_253 {0x0, 0xf0, 0x1, 0xe0, 0x1, 0xc0, 0x3, 0x80, 0x7, 0x0, 0x0, 0x0, 0x0, 0x0, 0xe0, 0x1c, 0xe0, 0x1c, 0xe0, 0x3c, 0x70, 0x38, 0x70, 0x38, 0x70, 0x38, 0x78, 0x70, 0x38, 0x70, 0x38, 0xf0, 0x3c, 0xe0, 0x1c, 0xe0, 0x1d, 0xc0, 0x1d, 0xc0, 0xf, 0xc0, 0xf, 0x80, 0xf, 0x80, 0x7, 0x0, 0x7, 0x0, 0x7, 0x0, 0xe, 0x0, 0xe, 0x0, 0x1e, 0x0, 0x7c, 0x0, 0x7c, 0x0, 0x70, 0x0} - -/* thorn (254) */ -#define NXFONT_METRICS_254 {2, 15, 31, 2, 12, 0} -#define NXFONT_BITMAP_254 {0xe0, 0x0, 0xe0, 0x0, 0xe0, 0x0, 0xe0, 0x0, 0xe0, 0x0, 0xe0, 0x0, 0xe0, 0x0, 0xe7, 0xe0, 0xef, 0xf0, 0xff, 0xf8, 0xf8, 0x3c, 0xf0, 0x1c, 0xf0, 0x1e, 0xe0, 0xe, 0xe0, 0xe, 0xe0, 0xe, 0xe0, 0xe, 0xe0, 0xe, 0xe0, 0xe, 0xf0, 0x1c, 0xf0, 0x1c, 0xf8, 0x3c, 0xff, 0xf8, 0xef, 0xf0, 0xe3, 0xc0, 0xe0, 0x0, 0xe0, 0x0, 0xe0, 0x0, 0xe0, 0x0, 0xe0, 0x0, 0xe0, 0x0} - -/* ydieresis (255) */ -#define NXFONT_METRICS_255 {2, 14, 30, 1, 14, 0} -#define NXFONT_BITMAP_255 {0x1c, 0x70, 0x1c, 0x70, 0x1c, 0x70, 0x0, 0x0, 0x0, 0x0, 0xe0, 0x1c, 0xe0, 0x1c, 0xe0, 0x3c, 0x70, 0x38, 0x70, 0x38, 0x70, 0x78, 0x78, 0x70, 0x38, 0x70, 0x38, 0xf0, 0x3c, 0xe0, 0x1c, 0xe0, 0x1d, 0xc0, 0x1d, 0xc0, 0xf, 0xc0, 0xf, 0x80, 0xf, 0x80, 0x7, 0x0, 0x7, 0x0, 0x7, 0x0, 0xe, 0x0, 0xe, 0x0, 0x1e, 0x0, 0x7c, 0x0, 0x7c, 0x0, 0x70, 0x0} - -/**************************************************************************** - * Public Types - ****************************************************************************/ - -/**************************************************************************** - * Public Data - ****************************************************************************/ - -#undef EXTERN -#if defined(__cplusplus) -#define EXTERN extern "C" -extern "C" { -#else -#define EXTERN extern -#endif - -/**************************************************************************** - * Public Functions - ****************************************************************************/ - -#undef EXTERN -#if defined(__cplusplus) -} -#endif - -#endif /* __GRAPHICS_NXFONTS_NXFONTS_SERIF39X48_H */ diff --git a/nuttx/graphics/nxfonts/nxfonts_sans40x49b.h b/nuttx/graphics/nxfonts/nxfonts_sans40x49b.h deleted file mode 100755 index d7a5e19ab..000000000 --- a/nuttx/graphics/nxfonts/nxfonts_sans40x49b.h +++ /dev/null @@ -1,849 +0,0 @@ -/**************************************************************************** - * graphics/nxfonts/nxfonts_sans40x49b.h - * - * Copyright (C) 2011-2012 NX Engineering, S.A., All rights reserved. - * Author: Jose Pablo Carballo Gomez <jcarballo@nx-engineering.com> - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * 3. Neither the name NuttX nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT} - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING} - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - ****************************************************************************/ - -#ifndef __GRAPHICS_NXFONTS_NXFONTS_SANS40X49B_H -#define __GRAPHICS_NXFONTS_NXFONTS_SANS40X49B_H - -/**************************************************************************** - * Included Files - ****************************************************************************/ - -/**************************************************************************** - * Pre-Processor Definitions - ****************************************************************************/ - -/* Font ID */ - -#define NXFONT_ID FONTID_SANS40X49B - -/* Ranges of 7-bit and 8-bit fonts */ - -#define NXFONT_MIN7BIT 33 -#define NXFONT_MAX7BIT 126 - -#define NXFONT_MIN8BIT 161 -#define NXFONT_MAX8BIT 255 - -/* Maximum height and width of any glyph in the set */ - -#define NXFONT_MAXHEIGHT 49 -#define NXFONT_MAXWIDTH 40 - -/* The width of a space */ - -#define NXFONT_SPACEWIDTH 9 - -/* exclam (33) */ -#define NXFONT_METRICS_33 {1, 5, 25, 3, 12, 0} -#define NXFONT_BITMAP_33 {0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x0, 0x0, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8} - -/* quotedbl (34) */ -#define NXFONT_METRICS_34 {2, 11, 9, 2, 12, 0} -#define NXFONT_BITMAP_34 {0xf1, 0xe0, 0xf1, 0xe0, 0xf1, 0xe0, 0xf1, 0xe0, 0xf1, 0xe0, 0xf1, 0xe0, 0xf1, 0xe0, 0x60, 0xc0, 0x60, 0xc0} - -/* numbersign (35) */ -#define NXFONT_METRICS_35 {3, 18, 25, 0, 13, 0} -#define NXFONT_BITMAP_35 {0x3, 0xc7, 0x0, 0x3, 0xc7, 0x0, 0x3, 0x8f, 0x0, 0x3, 0x8f, 0x0, 0x7, 0x8f, 0x0, 0x7, 0x8e, 0x0, 0x7, 0x8e, 0x0, 0x7f, 0xff, 0xc0, 0x7f, 0xff, 0xc0, 0x7f, 0xff, 0xc0, 0x7f, 0xff, 0xc0, 0xf, 0x1c, 0x0, 0xe, 0x1c, 0x0, 0xe, 0x1c, 0x0, 0xe, 0x3c, 0x0, 0xff, 0xff, 0x80, 0xff, 0xff, 0x80, 0xff, 0xff, 0x80, 0xff, 0xff, 0x80, 0x1c, 0x78, 0x0, 0x3c, 0x78, 0x0, 0x3c, 0x70, 0x0, 0x3c, 0x70, 0x0, 0x38, 0xf0, 0x0, 0x38, 0xf0, 0x0} - -/* dollar (36) */ -#define NXFONT_METRICS_36 {2, 16, 28, 1, 12, 0} -#define NXFONT_BITMAP_36 {0x1, 0x80, 0x1, 0x80, 0xf, 0xf0, 0x3f, 0xfc, 0x7f, 0xfe, 0xfd, 0xbe, 0xf9, 0x9f, 0xf1, 0x9f, 0xf1, 0x8f, 0xf9, 0x80, 0xff, 0x80, 0x7f, 0xc0, 0x3f, 0xf0, 0xf, 0xfc, 0x1, 0xfe, 0x1, 0xff, 0x1, 0x9f, 0x1, 0x8f, 0xf1, 0x8f, 0xf1, 0x9f, 0xf9, 0x9f, 0x7f, 0xfe, 0x7f, 0xfe, 0x3f, 0xf8, 0x7, 0xe0, 0x1, 0x80, 0x1, 0x80, 0x1, 0x80} - -/* percent (37) */ -#define NXFONT_METRICS_37 {4, 26, 23, 1, 14, 0} -#define NXFONT_BITMAP_37 {0xe, 0x0, 0x30, 0x0, 0x3f, 0x80, 0x70, 0x0, 0x7f, 0xc0, 0x60, 0x0, 0x71, 0xc0, 0xe0, 0x0, 0xe0, 0xe0, 0xc0, 0x0, 0xe0, 0xe1, 0xc0, 0x0, 0xe0, 0xe3, 0x80, 0x0, 0xe0, 0xe3, 0x80, 0x0, 0x71, 0xc7, 0x0, 0x0, 0x7f, 0xc6, 0x0, 0x0, 0x3f, 0x8e, 0x0, 0x0, 0xe, 0xc, 0x1c, 0x0, 0x0, 0x1c, 0x7f, 0x0, 0x0, 0x18, 0xff, 0x80, 0x0, 0x38, 0xe3, 0x80, 0x0, 0x31, 0xc1, 0xc0, 0x0, 0x71, 0xc1, 0xc0, 0x0, 0x61, 0xc1, 0xc0, 0x0, 0xe1, 0xc1, 0xc0, 0x1, 0xc0, 0xe3, 0x80, 0x1, 0xc0, 0xff, 0x80, 0x3, 0x80, 0x7f, 0x0, 0x3, 0x0, 0x1c, 0x0} - -/* ampersand (38) */ -#define NXFONT_METRICS_38 {3, 20, 25, 2, 12, 0} -#define NXFONT_BITMAP_38 {0x3, 0xe0, 0x0, 0xf, 0xf8, 0x0, 0x1f, 0xfc, 0x0, 0x1f, 0xfc, 0x0, 0x1e, 0x3c, 0x0, 0x3e, 0x3c, 0x0, 0x3e, 0x3c, 0x0, 0x1f, 0x3c, 0x0, 0x1f, 0xf8, 0x0, 0xf, 0xf8, 0x0, 0xf, 0xf0, 0x0, 0xf, 0xe0, 0x0, 0x3f, 0xf1, 0xe0, 0x7f, 0xf1, 0xe0, 0x7c, 0xf9, 0xc0, 0xf8, 0xff, 0xc0, 0xf0, 0x7f, 0xc0, 0xf0, 0x3f, 0x80, 0xf0, 0x1f, 0x0, 0xf8, 0xf, 0x80, 0xfc, 0x3f, 0xc0, 0x7f, 0xff, 0xe0, 0x7f, 0xfb, 0xe0, 0x1f, 0xf1, 0xf0, 0x7, 0xc0, 0x0} - -/* quotesingle (39) */ -#define NXFONT_METRICS_39 {1, 4, 9, 2, 12, 0} -#define NXFONT_BITMAP_39 {0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0x60, 0x60} - -/* parenleft (40) */ -#define NXFONT_METRICS_40 {1, 8, 31, 1, 12, 0} -#define NXFONT_BITMAP_40 {0x7, 0xf, 0x1e, 0x1e, 0x3c, 0x3c, 0x38, 0x78, 0x78, 0x78, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf8, 0x78, 0x78, 0x78, 0x78, 0x3c, 0x3c, 0x1c, 0x1e, 0xe, 0xf, 0x7} - -/* parenright (41) */ -#define NXFONT_METRICS_41 {1, 8, 31, 1, 12, 0} -#define NXFONT_BITMAP_41 {0xe0, 0xf0, 0x78, 0x78, 0x3c, 0x3c, 0x1c, 0x1e, 0x1e, 0x1e, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0x1f, 0x1e, 0x1e, 0x1e, 0x1c, 0x3c, 0x3c, 0x38, 0x78, 0x70, 0xf0, 0xe0} - -/* asterisk (42) */ -#define NXFONT_METRICS_42 {2, 10, 11, 1, 13, 0} -#define NXFONT_BITMAP_42 {0xc, 0x0, 0xc, 0x0, 0x4c, 0x80, 0xed, 0xc0, 0xff, 0xc0, 0x7f, 0x80, 0x1e, 0x0, 0x3f, 0x0, 0x7f, 0x80, 0x73, 0x80, 0x21, 0x0} - -/* plus (43) */ -#define NXFONT_METRICS_43 {2, 16, 16, 1, 21, 0} -#define NXFONT_BITMAP_43 {0x3, 0xc0, 0x3, 0xc0, 0x3, 0xc0, 0x3, 0xc0, 0x3, 0xc0, 0x3, 0xc0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x3, 0xc0, 0x3, 0xc0, 0x3, 0xc0, 0x3, 0xc0, 0x3, 0xc0, 0x3, 0xc0} - -/* comma (44) */ -#define NXFONT_METRICS_44 {1, 5, 11, 2, 32, 0} -#define NXFONT_BITMAP_44 {0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0x18, 0x18, 0x38, 0x70, 0xe0, 0x80} - -/* hyphen (45) */ -#define NXFONT_METRICS_45 {2, 9, 5, 1, 25, 0} -#define NXFONT_BITMAP_45 {0xff, 0x80, 0xff, 0x80, 0xff, 0x80, 0xff, 0x80, 0xff, 0x80} - -/* period (46) */ -#define NXFONT_METRICS_46 {1, 5, 5, 2, 32, 0} -#define NXFONT_BITMAP_46 {0xf8, 0xf8, 0xf8, 0xf8, 0xf8} - -/* slash (47) */ -#define NXFONT_METRICS_47 {1, 8, 25, 0, 12, 0} -#define NXFONT_BITMAP_47 {0x3, 0x3, 0x3, 0x3, 0x6, 0x6, 0x6, 0xe, 0xc, 0xc, 0xc, 0x1c, 0x18, 0x18, 0x18, 0x30, 0x30, 0x30, 0x70, 0x60, 0x60, 0x60, 0xc0, 0xc0, 0xc0} - -/* zero (48) */ -#define NXFONT_METRICS_48 {2, 15, 24, 1, 13, 0} -#define NXFONT_BITMAP_48 {0xf, 0xe0, 0x1f, 0xf0, 0x3f, 0xf8, 0x7f, 0xfc, 0x7c, 0x7c, 0xf8, 0x3e, 0xf8, 0x3e, 0xf8, 0x3e, 0xf0, 0x1e, 0xf0, 0x1e, 0xf0, 0x1e, 0xf0, 0x1e, 0xf0, 0x1e, 0xf0, 0x1e, 0xf0, 0x1e, 0xf0, 0x1e, 0xf8, 0x3e, 0xf8, 0x3e, 0xf8, 0x3e, 0x7c, 0x7c, 0x7f, 0xfc, 0x3f, 0xf8, 0x1f, 0xf0, 0xf, 0xe0} - -/* one (49) */ -#define NXFONT_METRICS_49 {2, 10, 23, 2, 14, 0} -#define NXFONT_BITMAP_49 {0x1, 0xc0, 0x3, 0xc0, 0x7, 0xc0, 0x1f, 0xc0, 0xff, 0xc0, 0xff, 0xc0, 0xff, 0xc0, 0x3, 0xc0, 0x3, 0xc0, 0x3, 0xc0, 0x3, 0xc0, 0x3, 0xc0, 0x3, 0xc0, 0x3, 0xc0, 0x3, 0xc0, 0x3, 0xc0, 0x3, 0xc0, 0x3, 0xc0, 0x3, 0xc0, 0x3, 0xc0, 0x3, 0xc0, 0x3, 0xc0, 0x3, 0xc0} - -/* two (50) */ -#define NXFONT_METRICS_50 {2, 16, 24, 1, 13, 0} -#define NXFONT_BITMAP_50 {0xf, 0xe0, 0x3f, 0xf8, 0x7f, 0xfc, 0x7f, 0xfe, 0xfc, 0x7e, 0xf8, 0x3f, 0xf8, 0x1f, 0xf0, 0x1f, 0xf0, 0x1f, 0x0, 0x3f, 0x0, 0x3e, 0x0, 0x7e, 0x0, 0xfc, 0x1, 0xf8, 0x7, 0xf0, 0xf, 0xe0, 0x1f, 0x80, 0x3f, 0x0, 0x7e, 0x0, 0xfc, 0x0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff} - -/* three (51) */ -#define NXFONT_METRICS_51 {2, 16, 24, 1, 13, 0} -#define NXFONT_BITMAP_51 {0xf, 0xe0, 0x3f, 0xf8, 0x7f, 0xfc, 0x7f, 0xfc, 0xf8, 0x3e, 0xf0, 0x3e, 0xf0, 0x1e, 0xf0, 0x1e, 0x0, 0x3e, 0x0, 0x7c, 0x3, 0xf8, 0x3, 0xf0, 0x3, 0xfc, 0x0, 0x7e, 0x0, 0x3f, 0x0, 0x1f, 0xf0, 0x1f, 0xf0, 0x1f, 0xf0, 0x3f, 0xf8, 0x3e, 0x7f, 0xfe, 0x7f, 0xfc, 0x3f, 0xf8, 0xf, 0xe0} - -/* four (52) */ -#define NXFONT_METRICS_52 {2, 16, 24, 1, 13, 0} -#define NXFONT_BITMAP_52 {0x0, 0xf8, 0x0, 0xf8, 0x1, 0xf8, 0x3, 0xf8, 0x3, 0xf8, 0x7, 0xf8, 0xf, 0x78, 0xe, 0x78, 0x1e, 0x78, 0x1c, 0x78, 0x3c, 0x78, 0x78, 0x78, 0x70, 0x78, 0xf0, 0x78, 0xe0, 0x78, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0, 0x78, 0x0, 0x78, 0x0, 0x78, 0x0, 0x78, 0x0, 0x78} - -/* five (53) */ -#define NXFONT_METRICS_53 {2, 15, 24, 1, 13, 0} -#define NXFONT_BITMAP_53 {0x3f, 0xfc, 0x3f, 0xfc, 0x3f, 0xfc, 0x3f, 0xfc, 0x38, 0x0, 0x78, 0x0, 0x78, 0x0, 0x78, 0x0, 0x7b, 0xe0, 0x7f, 0xf8, 0x7f, 0xfc, 0x7f, 0xfc, 0x78, 0x7e, 0x0, 0x3e, 0x0, 0x3e, 0x0, 0x1e, 0x0, 0x1e, 0xf0, 0x3e, 0xf0, 0x3e, 0xf8, 0x7c, 0x7f, 0xfc, 0x7f, 0xf8, 0x3f, 0xf0, 0xf, 0xc0} - -/* six (54) */ -#define NXFONT_METRICS_54 {2, 15, 24, 1, 13, 0} -#define NXFONT_BITMAP_54 {0x7, 0xe0, 0x1f, 0xf8, 0x3f, 0xfc, 0x3f, 0xfe, 0x7c, 0x3e, 0x78, 0x1e, 0xf0, 0x0, 0xf0, 0x0, 0xf3, 0xe0, 0xf7, 0xf8, 0xff, 0xfc, 0xff, 0xfc, 0xfc, 0x7e, 0xf8, 0x3e, 0xf0, 0x1e, 0xf0, 0x1e, 0xf0, 0x1e, 0xf0, 0x1e, 0xf8, 0x3e, 0x7c, 0x7c, 0x7f, 0xfc, 0x3f, 0xf8, 0x1f, 0xf0, 0x7, 0xc0} - -/* seven (55) */ -#define NXFONT_METRICS_55 {2, 16, 24, 1, 13, 0} -#define NXFONT_BITMAP_55 {0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0, 0x1e, 0x0, 0x3e, 0x0, 0x3c, 0x0, 0x78, 0x0, 0xf8, 0x0, 0xf0, 0x1, 0xf0, 0x1, 0xe0, 0x3, 0xe0, 0x3, 0xc0, 0x7, 0xc0, 0x7, 0xc0, 0x7, 0x80, 0xf, 0x80, 0xf, 0x80, 0xf, 0x80, 0x1f, 0x0, 0x1f, 0x0, 0x1f, 0x0, 0x1f, 0x0} - -/* eight (56) */ -#define NXFONT_METRICS_56 {3, 17, 24, 0, 13, 0} -#define NXFONT_BITMAP_56 {0x7, 0xf0, 0x0, 0x1f, 0xfc, 0x0, 0x3f, 0xfe, 0x0, 0x3e, 0x3e, 0x0, 0x7c, 0x1f, 0x0, 0x78, 0xf, 0x0, 0x78, 0xf, 0x0, 0x78, 0xf, 0x0, 0x7c, 0x1f, 0x0, 0x3e, 0x3e, 0x0, 0x1f, 0xfc, 0x0, 0x1f, 0xfc, 0x0, 0x3f, 0xfe, 0x0, 0x7c, 0x1f, 0x0, 0xf8, 0xf, 0x80, 0xf0, 0x7, 0x80, 0xf0, 0x7, 0x80, 0xf0, 0x7, 0x80, 0xf8, 0xf, 0x80, 0x7e, 0x3f, 0x0, 0x7f, 0xfe, 0x0, 0x3f, 0xfe, 0x0, 0x1f, 0xfc, 0x0, 0x7, 0xf0, 0x0} - -/* nine (57) */ -#define NXFONT_METRICS_57 {2, 15, 24, 1, 13, 0} -#define NXFONT_BITMAP_57 {0x7, 0xc0, 0x1f, 0xf0, 0x3f, 0xf8, 0x7f, 0xfc, 0x7c, 0x7c, 0xf8, 0x3e, 0xf0, 0x1e, 0xf0, 0x1e, 0xf0, 0x1e, 0xf0, 0x1e, 0xf8, 0x3e, 0xfc, 0x7e, 0x7f, 0xfe, 0x7f, 0xfe, 0x3f, 0xde, 0x7, 0x9e, 0x0, 0x1e, 0x0, 0x1e, 0xf0, 0x3c, 0xf8, 0x7c, 0x7f, 0xf8, 0x7f, 0xf8, 0x1f, 0xf0, 0x7, 0xc0} - -/* colon (58) */ -#define NXFONT_METRICS_58 {1, 5, 17, 3, 20, 0} -#define NXFONT_BITMAP_58 {0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8} - -/* semicolon (59) */ -#define NXFONT_METRICS_59 {1, 5, 23, 3, 20, 0} -#define NXFONT_BITMAP_59 {0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0x18, 0x18, 0x38, 0x70, 0xe0, 0x80} - -/* less (60) */ -#define NXFONT_METRICS_60 {2, 16, 16, 1, 21, 0} -#define NXFONT_BITMAP_60 {0x0, 0x3, 0x0, 0x1f, 0x0, 0x7f, 0x3, 0xff, 0xf, 0xfe, 0x7f, 0xf8, 0xff, 0xc0, 0xfe, 0x0, 0xfe, 0x0, 0xff, 0xc0, 0x7f, 0xf0, 0xf, 0xfe, 0x3, 0xff, 0x0, 0x7f, 0x0, 0x1f, 0x0, 0x3} - -/* equal (61) */ -#define NXFONT_METRICS_61 {2, 15, 12, 2, 23, 0} -#define NXFONT_BITMAP_61 {0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe} - -/* greater (62) */ -#define NXFONT_METRICS_62 {2, 16, 16, 1, 21, 0} -#define NXFONT_BITMAP_62 {0xc0, 0x0, 0xf0, 0x0, 0xfe, 0x0, 0xff, 0xc0, 0x7f, 0xf0, 0x1f, 0xfe, 0x3, 0xff, 0x0, 0x7f, 0x0, 0x7f, 0x3, 0xff, 0x1f, 0xfe, 0x7f, 0xf0, 0xff, 0xc0, 0xfe, 0x0, 0xf0, 0x0, 0xc0, 0x0} - -/* question (63) */ -#define NXFONT_METRICS_63 {2, 16, 25, 2, 12, 0} -#define NXFONT_BITMAP_63 {0xf, 0xe0, 0x3f, 0xf8, 0x7f, 0xfc, 0x7f, 0xfe, 0xfc, 0x7e, 0xf8, 0x3f, 0xf8, 0x1f, 0xf0, 0x1f, 0xf0, 0x1f, 0x0, 0x3f, 0x0, 0x7e, 0x0, 0xfe, 0x1, 0xfc, 0x1, 0xf8, 0x3, 0xe0, 0x3, 0xc0, 0x7, 0xc0, 0x7, 0xc0, 0x0, 0x0, 0x0, 0x0, 0x7, 0xc0, 0x7, 0xc0, 0x7, 0xc0, 0x7, 0xc0, 0x7, 0xc0} - -/* at (64) */ -#define NXFONT_METRICS_64 {4, 29, 30, 1, 12, 0} -#define NXFONT_BITMAP_64 {0x0, 0xf, 0xe0, 0x0, 0x0, 0x7f, 0xfc, 0x0, 0x1, 0xff, 0xfe, 0x0, 0x3, 0xf0, 0x3f, 0x80, 0x7, 0xc0, 0x7, 0xc0, 0xf, 0x0, 0x3, 0xc0, 0x1e, 0x0, 0x1, 0xe0, 0x1c, 0x0, 0x0, 0xf0, 0x3c, 0x7, 0xdc, 0x70, 0x38, 0x1f, 0xfc, 0x70, 0x70, 0x3c, 0xfc, 0x38, 0x70, 0x78, 0x78, 0x38, 0xf0, 0xf0, 0x38, 0x38, 0xe0, 0xe0, 0x38, 0x38, 0xe1, 0xe0, 0x38, 0x38, 0xe1, 0xc0, 0x70, 0x78, 0xe1, 0xc0, 0x70, 0x70, 0xe1, 0xc0, 0x70, 0x70, 0xe1, 0xe0, 0xf0, 0xe0, 0xf1, 0xe1, 0xf1, 0xe0, 0x70, 0xff, 0xff, 0xc0, 0x78, 0x7f, 0x3f, 0x80, 0x38, 0x3e, 0x1e, 0x0, 0x3c, 0x0, 0x0, 0x0, 0x1e, 0x0, 0x0, 0x0, 0xf, 0x80, 0x0, 0x0, 0xf, 0xf0, 0x3c, 0x0, 0x3, 0xff, 0xfc, 0x0, 0x1, 0xff, 0xfc, 0x0, 0x0, 0x7f, 0xe0, 0x0} - -/* A (65) */ -#define NXFONT_METRICS_65 {3, 22, 25, 0, 12, 0} -#define NXFONT_BITMAP_65 {0x0, 0xfc, 0x0, 0x0, 0xfc, 0x0, 0x1, 0xfe, 0x0, 0x1, 0xfe, 0x0, 0x1, 0xfe, 0x0, 0x3, 0xff, 0x0, 0x3, 0xff, 0x0, 0x3, 0xff, 0x0, 0x7, 0xcf, 0x80, 0x7, 0xcf, 0x80, 0x7, 0xcf, 0x80, 0xf, 0x87, 0x80, 0xf, 0x87, 0xc0, 0xf, 0x87, 0xc0, 0x1f, 0x3, 0xc0, 0x1f, 0x3, 0xe0, 0x1f, 0xff, 0xe0, 0x1f, 0xff, 0xe0, 0x3f, 0xff, 0xf0, 0x3f, 0xff, 0xf0, 0x3e, 0x1, 0xf0, 0x7c, 0x0, 0xf8, 0x7c, 0x0, 0xf8, 0xfc, 0x0, 0xfc, 0xf8, 0x0, 0x7c} - -/* B (66) */ -#define NXFONT_METRICS_66 {3, 19, 25, 3, 12, 0} -#define NXFONT_BITMAP_66 {0xff, 0xfc, 0x0, 0xff, 0xff, 0x0, 0xff, 0xff, 0x80, 0xff, 0xff, 0x80, 0xf8, 0xf, 0xc0, 0xf8, 0x7, 0xc0, 0xf8, 0x7, 0xc0, 0xf8, 0x7, 0xc0, 0xf8, 0x7, 0xc0, 0xf8, 0xf, 0x80, 0xff, 0xff, 0x0, 0xff, 0xff, 0x0, 0xff, 0xff, 0x80, 0xff, 0xff, 0xc0, 0xf8, 0x7, 0xc0, 0xf8, 0x3, 0xe0, 0xf8, 0x3, 0xe0, 0xf8, 0x3, 0xe0, 0xf8, 0x3, 0xe0, 0xf8, 0x3, 0xe0, 0xf8, 0x7, 0xe0, 0xff, 0xff, 0xc0, 0xff, 0xff, 0xc0, 0xff, 0xff, 0x80, 0xff, 0xfe, 0x0} - -/* C (67) */ -#define NXFONT_METRICS_67 {3, 21, 25, 1, 12, 0} -#define NXFONT_BITMAP_67 {0x1, 0xfe, 0x0, 0x7, 0xff, 0x80, 0xf, 0xff, 0xc0, 0x1f, 0xff, 0xe0, 0x3f, 0x87, 0xf0, 0x3e, 0x1, 0xf0, 0x7c, 0x1, 0xf8, 0x7c, 0x0, 0xf8, 0x7c, 0x0, 0xf8, 0xf8, 0x0, 0x0, 0xf8, 0x0, 0x0, 0xf8, 0x0, 0x0, 0xf8, 0x0, 0x0, 0xf8, 0x0, 0x0, 0xf8, 0x0, 0x0, 0xf8, 0x0, 0x0, 0x7c, 0x0, 0xf8, 0x7c, 0x0, 0xf8, 0x7e, 0x1, 0xf8, 0x3e, 0x1, 0xf0, 0x3f, 0x87, 0xf0, 0x1f, 0xff, 0xe0, 0xf, 0xff, 0xc0, 0x7, 0xff, 0x80, 0x1, 0xfe, 0x0} - -/* D (68) */ -#define NXFONT_METRICS_68 {3, 21, 25, 2, 12, 0} -#define NXFONT_BITMAP_68 {0xff, 0xf8, 0x0, 0xff, 0xff, 0x0, 0xff, 0xff, 0x80, 0xff, 0xff, 0xc0, 0xf8, 0xf, 0xe0, 0xf8, 0x3, 0xe0, 0xf8, 0x3, 0xf0, 0xf8, 0x1, 0xf0, 0xf8, 0x1, 0xf8, 0xf8, 0x0, 0xf8, 0xf8, 0x0, 0xf8, 0xf8, 0x0, 0xf8, 0xf8, 0x0, 0xf8, 0xf8, 0x0, 0xf8, 0xf8, 0x0, 0xf8, 0xf8, 0x0, 0xf8, 0xf8, 0x1, 0xf8, 0xf8, 0x1, 0xf0, 0xf8, 0x3, 0xf0, 0xf8, 0x3, 0xe0, 0xf8, 0xf, 0xe0, 0xff, 0xff, 0xc0, 0xff, 0xff, 0x80, 0xff, 0xff, 0x0, 0xff, 0xf8, 0x0} - -/* E (69) */ -#define NXFONT_METRICS_69 {3, 18, 25, 2, 12, 0} -#define NXFONT_BITMAP_69 {0xff, 0xff, 0x80, 0xff, 0xff, 0x80, 0xff, 0xff, 0x80, 0xff, 0xff, 0x80, 0xf8, 0x0, 0x0, 0xf8, 0x0, 0x0, 0xf8, 0x0, 0x0, 0xf8, 0x0, 0x0, 0xf8, 0x0, 0x0, 0xf8, 0x0, 0x0, 0xff, 0xff, 0x0, 0xff, 0xff, 0x0, 0xff, 0xff, 0x0, 0xff, 0xff, 0x0, 0xf8, 0x0, 0x0, 0xf8, 0x0, 0x0, 0xf8, 0x0, 0x0, 0xf8, 0x0, 0x0, 0xf8, 0x0, 0x0, 0xf8, 0x0, 0x0, 0xf8, 0x0, 0x0, 0xff, 0xff, 0xc0, 0xff, 0xff, 0xc0, 0xff, 0xff, 0xc0, 0xff, 0xff, 0xc0} - -/* F (70) */ -#define NXFONT_METRICS_70 {2, 16, 25, 2, 12, 0} -#define NXFONT_BITMAP_70 {0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x0, 0xf8, 0x0, 0xf8, 0x0, 0xf8, 0x0, 0xf8, 0x0, 0xf8, 0x0, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xf8, 0x0, 0xf8, 0x0, 0xf8, 0x0, 0xf8, 0x0, 0xf8, 0x0, 0xf8, 0x0, 0xf8, 0x0, 0xf8, 0x0, 0xf8, 0x0, 0xf8, 0x0, 0xf8, 0x0} - -/* G (71) */ -#define NXFONT_METRICS_71 {3, 22, 25, 1, 12, 0} -#define NXFONT_BITMAP_71 {0x0, 0xff, 0x0, 0x3, 0xff, 0xc0, 0xf, 0xff, 0xe0, 0x1f, 0xff, 0xf0, 0x1f, 0xc3, 0xf8, 0x3f, 0x0, 0xf8, 0x7e, 0x0, 0x7c, 0x7c, 0x0, 0x7c, 0xfc, 0x0, 0x0, 0xf8, 0x0, 0x0, 0xf8, 0x0, 0x0, 0xf8, 0x0, 0x0, 0xf8, 0xf, 0xfc, 0xf8, 0xf, 0xfc, 0xf8, 0xf, 0xfc, 0xf8, 0xf, 0xfc, 0xfc, 0x0, 0x7c, 0x7c, 0x0, 0x7c, 0x7e, 0x0, 0x7c, 0x7e, 0x0, 0xfc, 0x3f, 0x83, 0xfc, 0x3f, 0xff, 0xfc, 0x1f, 0xff, 0xdc, 0x7, 0xff, 0x9c, 0x3, 0xfe, 0x1c} - -/* H (72) */ -#define NXFONT_METRICS_72 {3, 19, 25, 2, 12, 0} -#define NXFONT_BITMAP_72 {0xf8, 0x3, 0xe0, 0xf8, 0x3, 0xe0, 0xf8, 0x3, 0xe0, 0xf8, 0x3, 0xe0, 0xf8, 0x3, 0xe0, 0xf8, 0x3, 0xe0, 0xf8, 0x3, 0xe0, 0xf8, 0x3, 0xe0, 0xf8, 0x3, 0xe0, 0xf8, 0x3, 0xe0, 0xff, 0xff, 0xe0, 0xff, 0xff, 0xe0, 0xff, 0xff, 0xe0, 0xff, 0xff, 0xe0, 0xf8, 0x3, 0xe0, 0xf8, 0x3, 0xe0, 0xf8, 0x3, 0xe0, 0xf8, 0x3, 0xe0, 0xf8, 0x3, 0xe0, 0xf8, 0x3, 0xe0, 0xf8, 0x3, 0xe0, 0xf8, 0x3, 0xe0, 0xf8, 0x3, 0xe0, 0xf8, 0x3, 0xe0, 0xf8, 0x3, 0xe0} - -/* I (73) */ -#define NXFONT_METRICS_73 {1, 5, 25, 2, 12, 0} -#define NXFONT_BITMAP_73 {0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8} - -/* J (74) */ -#define NXFONT_METRICS_74 {2, 15, 25, 1, 12, 0} -#define NXFONT_BITMAP_74 {0x0, 0x3e, 0x0, 0x3e, 0x0, 0x3e, 0x0, 0x3e, 0x0, 0x3e, 0x0, 0x3e, 0x0, 0x3e, 0x0, 0x3e, 0x0, 0x3e, 0x0, 0x3e, 0x0, 0x3e, 0x0, 0x3e, 0x0, 0x3e, 0x0, 0x3e, 0x0, 0x3e, 0xf8, 0x3e, 0xf8, 0x3e, 0xf8, 0x3e, 0xf8, 0x3e, 0xf8, 0x3e, 0xfc, 0x7e, 0xff, 0xfc, 0x7f, 0xfc, 0x3f, 0xf8, 0xf, 0xe0} - -/* K (75) */ -#define NXFONT_METRICS_75 {3, 20, 25, 2, 12, 0} -#define NXFONT_BITMAP_75 {0xf8, 0x7, 0xe0, 0xf8, 0x7, 0xe0, 0xf8, 0xf, 0xc0, 0xf8, 0x1f, 0x80, 0xf8, 0x3f, 0x0, 0xf8, 0x7e, 0x0, 0xf8, 0xfc, 0x0, 0xf8, 0xf8, 0x0, 0xf9, 0xf8, 0x0, 0xfb, 0xf0, 0x0, 0xff, 0xe0, 0x0, 0xff, 0xe0, 0x0, 0xff, 0xf0, 0x0, 0xff, 0xf0, 0x0, 0xff, 0xf8, 0x0, 0xfc, 0xfc, 0x0, 0xf8, 0x7e, 0x0, 0xf8, 0x7e, 0x0, 0xf8, 0x3f, 0x0, 0xf8, 0x1f, 0x80, 0xf8, 0xf, 0x80, 0xf8, 0xf, 0xc0, 0xf8, 0x7, 0xe0, 0xf8, 0x3, 0xf0, 0xf8, 0x3, 0xf0} - -/* L (76) */ -#define NXFONT_METRICS_76 {2, 16, 25, 2, 12, 0} -#define NXFONT_BITMAP_76 {0xf8, 0x0, 0xf8, 0x0, 0xf8, 0x0, 0xf8, 0x0, 0xf8, 0x0, 0xf8, 0x0, 0xf8, 0x0, 0xf8, 0x0, 0xf8, 0x0, 0xf8, 0x0, 0xf8, 0x0, 0xf8, 0x0, 0xf8, 0x0, 0xf8, 0x0, 0xf8, 0x0, 0xf8, 0x0, 0xf8, 0x0, 0xf8, 0x0, 0xf8, 0x0, 0xf8, 0x0, 0xf8, 0x0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff} - -/* M (77) */ -#define NXFONT_METRICS_77 {3, 23, 25, 2, 12, 0} -#define NXFONT_BITMAP_77 {0xfe, 0x0, 0xfe, 0xfe, 0x0, 0xfe, 0xff, 0x1, 0xfe, 0xff, 0x1, 0xfe, 0xff, 0x1, 0xfe, 0xff, 0x1, 0xfe, 0xff, 0x83, 0xfe, 0xff, 0x83, 0xfe, 0xfb, 0x83, 0xbe, 0xfb, 0x83, 0xbe, 0xfb, 0xc7, 0xbe, 0xfb, 0xc7, 0xbe, 0xfb, 0xc7, 0xbe, 0xf9, 0xc7, 0x3e, 0xf9, 0xef, 0x3e, 0xf9, 0xef, 0x3e, 0xf9, 0xef, 0x3e, 0xf9, 0xef, 0x3e, 0xf8, 0xee, 0x3e, 0xf8, 0xfe, 0x3e, 0xf8, 0xfe, 0x3e, 0xf8, 0xfe, 0x3e, 0xf8, 0x7c, 0x3e, 0xf8, 0x7c, 0x3e, 0xf8, 0x7c, 0x3e} - -/* N (78) */ -#define NXFONT_METRICS_78 {3, 19, 25, 2, 12, 0} -#define NXFONT_BITMAP_78 {0xf8, 0x3, 0xe0, 0xfc, 0x3, 0xe0, 0xfc, 0x3, 0xe0, 0xfe, 0x3, 0xe0, 0xfe, 0x3, 0xe0, 0xff, 0x3, 0xe0, 0xff, 0x3, 0xe0, 0xff, 0x83, 0xe0, 0xff, 0xc3, 0xe0, 0xfb, 0xc3, 0xe0, 0xfb, 0xe3, 0xe0, 0xf9, 0xe3, 0xe0, 0xf9, 0xf3, 0xe0, 0xf8, 0xf3, 0xe0, 0xf8, 0xfb, 0xe0, 0xf8, 0x7b, 0xe0, 0xf8, 0x3f, 0xe0, 0xf8, 0x3f, 0xe0, 0xf8, 0x1f, 0xe0, 0xf8, 0x1f, 0xe0, 0xf8, 0xf, 0xe0, 0xf8, 0xf, 0xe0, 0xf8, 0x7, 0xe0, 0xf8, 0x7, 0xe0, 0xf8, 0x3, 0xe0} - -/* O (79) */ -#define NXFONT_METRICS_79 {3, 23, 25, 1, 12, 0} -#define NXFONT_BITMAP_79 {0x1, 0xff, 0x0, 0x7, 0xff, 0xc0, 0xf, 0xff, 0xe0, 0x1f, 0xff, 0xf0, 0x3f, 0xc7, 0xf8, 0x3f, 0x1, 0xf8, 0x7e, 0x0, 0xfc, 0x7c, 0x0, 0x7c, 0x7c, 0x0, 0x7c, 0xf8, 0x0, 0x3e, 0xf8, 0x0, 0x3e, 0xf8, 0x0, 0x3e, 0xf8, 0x0, 0x3e, 0xf8, 0x0, 0x3e, 0xf8, 0x0, 0x3e, 0xf8, 0x0, 0x3e, 0x7c, 0x0, 0x7c, 0x7c, 0x0, 0x7c, 0x7e, 0x0, 0xfc, 0x3f, 0x1, 0xf8, 0x3f, 0xc7, 0xf8, 0x1f, 0xff, 0xf0, 0xf, 0xff, 0xe0, 0x7, 0xff, 0xc0, 0x1, 0xff, 0x0} - -/* P (80) */ -#define NXFONT_METRICS_80 {3, 18, 25, 2, 12, 0} -#define NXFONT_BITMAP_80 {0xff, 0xf8, 0x0, 0xff, 0xfe, 0x0, 0xff, 0xff, 0x0, 0xff, 0xff, 0x80, 0xf8, 0x1f, 0x80, 0xf8, 0xf, 0xc0, 0xf8, 0x7, 0xc0, 0xf8, 0x7, 0xc0, 0xf8, 0x7, 0xc0, 0xf8, 0x7, 0xc0, 0xf8, 0xf, 0xc0, 0xf8, 0x1f, 0x80, 0xff, 0xff, 0x80, 0xff, 0xff, 0x0, 0xff, 0xfc, 0x0, 0xff, 0xf0, 0x0, 0xf8, 0x0, 0x0, 0xf8, 0x0, 0x0, 0xf8, 0x0, 0x0, 0xf8, 0x0, 0x0, 0xf8, 0x0, 0x0, 0xf8, 0x0, 0x0, 0xf8, 0x0, 0x0, 0xf8, 0x0, 0x0, 0xf8, 0x0, 0x0} - -/* Q (81) */ -#define NXFONT_METRICS_81 {3, 23, 26, 1, 12, 0} -#define NXFONT_BITMAP_81 {0x1, 0xff, 0x0, 0x7, 0xff, 0xc0, 0xf, 0xff, 0xe0, 0x1f, 0xff, 0xf0, 0x3f, 0xc7, 0xf8, 0x3f, 0x1, 0xf8, 0x7e, 0x0, 0xfc, 0x7c, 0x0, 0x7c, 0xfc, 0x0, 0x7e, 0xf8, 0x0, 0x3e, 0xf8, 0x0, 0x3e, 0xf8, 0x0, 0x3e, 0xf8, 0x0, 0x3e, 0xf8, 0x0, 0x3e, 0xf8, 0x0, 0x3e, 0xf8, 0x2, 0x3e, 0xfc, 0x7, 0x3e, 0x7c, 0xf, 0xbc, 0x7e, 0xf, 0xfc, 0x3f, 0x7, 0xf8, 0x3f, 0xc3, 0xf0, 0x1f, 0xff, 0xf8, 0xf, 0xff, 0xfc, 0x7, 0xff, 0xfe, 0x1, 0xff, 0x3c, 0x0, 0x0, 0x18} - -/* R (82) */ -#define NXFONT_METRICS_82 {3, 19, 25, 2, 12, 0} -#define NXFONT_BITMAP_82 {0xff, 0xfe, 0x0, 0xff, 0xff, 0x80, 0xff, 0xff, 0xc0, 0xff, 0xff, 0xc0, 0xf8, 0x7, 0xe0, 0xf8, 0x3, 0xe0, 0xf8, 0x3, 0xe0, 0xf8, 0x3, 0xe0, 0xf8, 0x3, 0xe0, 0xf8, 0x7, 0xc0, 0xf8, 0xf, 0xc0, 0xff, 0xff, 0x80, 0xff, 0xff, 0x0, 0xff, 0xff, 0x0, 0xff, 0xff, 0x80, 0xf8, 0xf, 0xc0, 0xf8, 0x7, 0xc0, 0xf8, 0x7, 0xc0, 0xf8, 0x7, 0xc0, 0xf8, 0x7, 0xc0, 0xf8, 0x7, 0xc0, 0xf8, 0x7, 0xc0, 0xf8, 0x7, 0xc0, 0xf8, 0x7, 0xe0, 0xf8, 0x3, 0xe0} - -/* S (83) */ -#define NXFONT_METRICS_83 {3, 19, 25, 1, 12, 0} -#define NXFONT_BITMAP_83 {0x3, 0xf8, 0x0, 0xf, 0xfe, 0x0, 0x1f, 0xff, 0x0, 0x3f, 0xff, 0x80, 0x3e, 0x1f, 0x80, 0x7c, 0x7, 0xc0, 0x78, 0x7, 0xc0, 0x78, 0x3, 0xc0, 0x7c, 0x0, 0x0, 0x7f, 0x0, 0x0, 0x3f, 0xf0, 0x0, 0x3f, 0xfe, 0x0, 0x1f, 0xff, 0x80, 0x3, 0xff, 0xc0, 0x0, 0x3f, 0xc0, 0x0, 0x7, 0xe0, 0x0, 0x3, 0xe0, 0xf8, 0x3, 0xe0, 0xf8, 0x3, 0xe0, 0x7c, 0x3, 0xe0, 0x7e, 0xf, 0xc0, 0x3f, 0xff, 0xc0, 0x1f, 0xff, 0x80, 0xf, 0xff, 0x0, 0x3, 0xf8, 0x0} - -/* T (84) */ -#define NXFONT_METRICS_84 {3, 19, 25, 0, 12, 0} -#define NXFONT_BITMAP_84 {0xff, 0xff, 0xe0, 0xff, 0xff, 0xe0, 0xff, 0xff, 0xe0, 0xff, 0xff, 0xe0, 0x1, 0xf0, 0x0, 0x1, 0xf0, 0x0, 0x1, 0xf0, 0x0, 0x1, 0xf0, 0x0, 0x1, 0xf0, 0x0, 0x1, 0xf0, 0x0, 0x1, 0xf0, 0x0, 0x1, 0xf0, 0x0, 0x1, 0xf0, 0x0, 0x1, 0xf0, 0x0, 0x1, 0xf0, 0x0, 0x1, 0xf0, 0x0, 0x1, 0xf0, 0x0, 0x1, 0xf0, 0x0, 0x1, 0xf0, 0x0, 0x1, 0xf0, 0x0, 0x1, 0xf0, 0x0, 0x1, 0xf0, 0x0, 0x1, 0xf0, 0x0, 0x1, 0xf0, 0x0, 0x1, 0xf0, 0x0} - -/* U (85) */ -#define NXFONT_METRICS_85 {3, 19, 25, 2, 12, 0} -#define NXFONT_BITMAP_85 {0xf8, 0x3, 0xe0, 0xf8, 0x3, 0xe0, 0xf8, 0x3, 0xe0, 0xf8, 0x3, 0xe0, 0xf8, 0x3, 0xe0, 0xf8, 0x3, 0xe0, 0xf8, 0x3, 0xe0, 0xf8, 0x3, 0xe0, 0xf8, 0x3, 0xe0, 0xf8, 0x3, 0xe0, 0xf8, 0x3, 0xe0, 0xf8, 0x3, 0xe0, 0xf8, 0x3, 0xe0, 0xf8, 0x3, 0xe0, 0xf8, 0x3, 0xe0, 0xf8, 0x3, 0xe0, 0xf8, 0x3, 0xe0, 0xf8, 0x3, 0xe0, 0xf8, 0x3, 0xe0, 0xfc, 0x7, 0xe0, 0x7f, 0x1f, 0xc0, 0x7f, 0xff, 0xc0, 0x3f, 0xff, 0x80, 0x1f, 0xff, 0x0, 0x7, 0xfc, 0x0} - -/* V (86) */ -#define NXFONT_METRICS_86 {3, 20, 25, 1, 12, 0} -#define NXFONT_BITMAP_86 {0xf8, 0x1, 0xf0, 0xf8, 0x1, 0xf0, 0x7c, 0x3, 0xe0, 0x7c, 0x3, 0xe0, 0x7c, 0x3, 0xe0, 0x3c, 0x3, 0xc0, 0x3e, 0x7, 0xc0, 0x3e, 0x7, 0xc0, 0x1e, 0x7, 0x80, 0x1f, 0xf, 0x80, 0x1f, 0xf, 0x80, 0xf, 0xf, 0x0, 0xf, 0xf, 0x0, 0xf, 0xf, 0x0, 0x7, 0x9e, 0x0, 0x7, 0x9e, 0x0, 0x7, 0x9e, 0x0, 0x7, 0xfe, 0x0, 0x3, 0xfc, 0x0, 0x3, 0xfc, 0x0, 0x3, 0xfc, 0x0, 0x1, 0xf8, 0x0, 0x1, 0xf8, 0x0, 0x1, 0xf8, 0x0, 0x0, 0xf0, 0x0} - -/* W (87) */ -#define NXFONT_METRICS_87 {4, 29, 25, 1, 12, 0} -#define NXFONT_BITMAP_87 {0xf8, 0x1f, 0x81, 0xf8, 0xf8, 0x1f, 0x81, 0xf8, 0x78, 0x1f, 0x81, 0xf0, 0x78, 0x1f, 0x81, 0xf0, 0x78, 0x1f, 0x81, 0xf0, 0x7c, 0x3f, 0xc3, 0xe0, 0x7c, 0x3f, 0xc3, 0xe0, 0x7c, 0x3f, 0xc3, 0xe0, 0x3c, 0x3f, 0xc3, 0xe0, 0x3c, 0x39, 0xc3, 0xc0, 0x3e, 0x79, 0xe3, 0xc0, 0x3e, 0x79, 0xe7, 0xc0, 0x1e, 0x79, 0xe7, 0xc0, 0x1e, 0x79, 0xe7, 0x80, 0x1e, 0x70, 0xe7, 0x80, 0x1e, 0x70, 0xe7, 0x80, 0xf, 0xf0, 0xff, 0x0, 0xf, 0xf0, 0xff, 0x0, 0xf, 0xf0, 0xff, 0x0, 0xf, 0xe0, 0x7f, 0x0, 0x7, 0xe0, 0x7e, 0x0, 0x7, 0xe0, 0x7e, 0x0, 0x7, 0xe0, 0x7e, 0x0, 0x3, 0xc0, 0x3c, 0x0, 0x3, 0xc0, 0x3c, 0x0} - -/* X (88) */ -#define NXFONT_METRICS_88 {3, 20, 25, 1, 12, 0} -#define NXFONT_BITMAP_88 {0xfc, 0x3, 0xe0, 0x7e, 0x7, 0xe0, 0x7e, 0x7, 0xc0, 0x3f, 0xf, 0xc0, 0x1f, 0xf, 0x80, 0x1f, 0x9f, 0x0, 0xf, 0x9f, 0x0, 0xf, 0xbe, 0x0, 0x7, 0xfe, 0x0, 0x7, 0xfc, 0x0, 0x3, 0xfc, 0x0, 0x3, 0xf8, 0x0, 0x1, 0xf8, 0x0, 0x3, 0xf8, 0x0, 0x3, 0xfc, 0x0, 0x7, 0xfc, 0x0, 0x7, 0xfe, 0x0, 0xf, 0xbf, 0x0, 0x1f, 0x9f, 0x0, 0x1f, 0x1f, 0x80, 0x3f, 0xf, 0x80, 0x3e, 0xf, 0xc0, 0x7e, 0x7, 0xc0, 0xfc, 0x7, 0xe0, 0xfc, 0x3, 0xf0} - -/* Y (89) */ -#define NXFONT_METRICS_89 {3, 20, 25, 1, 12, 0} -#define NXFONT_BITMAP_89 {0xfc, 0x3, 0xf0, 0xfc, 0x3, 0xe0, 0x7e, 0x7, 0xe0, 0x3e, 0x7, 0xc0, 0x3f, 0xf, 0xc0, 0x3f, 0xf, 0x80, 0x1f, 0xf, 0x80, 0x1f, 0x9f, 0x0, 0xf, 0x9f, 0x0, 0xf, 0xfe, 0x0, 0x7, 0xfe, 0x0, 0x7, 0xfc, 0x0, 0x3, 0xfc, 0x0, 0x3, 0xf8, 0x0, 0x3, 0xf8, 0x0, 0x1, 0xf0, 0x0, 0x1, 0xf0, 0x0, 0x1, 0xf0, 0x0, 0x1, 0xf0, 0x0, 0x1, 0xf0, 0x0, 0x1, 0xf0, 0x0, 0x1, 0xf0, 0x0, 0x1, 0xf0, 0x0, 0x1, 0xf0, 0x0, 0x1, 0xf0, 0x0} - -/* Z (90) */ -#define NXFONT_METRICS_90 {3, 17, 25, 1, 12, 0} -#define NXFONT_BITMAP_90 {0xff, 0xff, 0x80, 0xff, 0xff, 0x80, 0xff, 0xff, 0x80, 0xff, 0xff, 0x80, 0x0, 0xf, 0x80, 0x0, 0x1f, 0x80, 0x0, 0x3f, 0x0, 0x0, 0x7e, 0x0, 0x0, 0x7c, 0x0, 0x0, 0xfc, 0x0, 0x1, 0xf8, 0x0, 0x3, 0xf0, 0x0, 0x3, 0xf0, 0x0, 0x7, 0xe0, 0x0, 0xf, 0xc0, 0x0, 0xf, 0x80, 0x0, 0x1f, 0x80, 0x0, 0x3f, 0x0, 0x0, 0x7e, 0x0, 0x0, 0x7e, 0x0, 0x0, 0xfc, 0x0, 0x0, 0xff, 0xff, 0x80, 0xff, 0xff, 0x80, 0xff, 0xff, 0x80, 0xff, 0xff, 0x80} - -/* bracketleft (91) */ -#define NXFONT_METRICS_91 {1, 8, 31, 2, 12, 0} -#define NXFONT_BITMAP_91 {0xff, 0xff, 0xff, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xff, 0xff, 0xff} - -/* backslash (92) */ -#define NXFONT_METRICS_92 {2, 9, 25, 0, 12, 0} -#define NXFONT_BITMAP_92 {0xc0, 0x0, 0xc0, 0x0, 0xe0, 0x0, 0x60, 0x0, 0x60, 0x0, 0x70, 0x0, 0x70, 0x0, 0x30, 0x0, 0x38, 0x0, 0x38, 0x0, 0x18, 0x0, 0x1c, 0x0, 0x1c, 0x0, 0xc, 0x0, 0xc, 0x0, 0xe, 0x0, 0xe, 0x0, 0x6, 0x0, 0x7, 0x0, 0x7, 0x0, 0x3, 0x0, 0x3, 0x80, 0x3, 0x80, 0x1, 0x80, 0x1, 0x80} - -/* bracketright (93) */ -#define NXFONT_METRICS_93 {1, 8, 31, 0, 12, 0} -#define NXFONT_BITMAP_93 {0xff, 0xff, 0xff, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xff, 0xff, 0xff} - -/* asciicircum (94) */ -#define NXFONT_METRICS_94 {2, 14, 14, 2, 14, 0} -#define NXFONT_BITMAP_94 {0x7, 0x80, 0xf, 0xc0, 0xf, 0xc0, 0xf, 0xc0, 0x1f, 0xe0, 0x1f, 0xe0, 0x3c, 0xf0, 0x3c, 0xf0, 0x38, 0x70, 0x78, 0x78, 0x78, 0x78, 0x70, 0x3c, 0xf0, 0x3c, 0xf0, 0x3c} - -/* underscore (95) */ -#define NXFONT_METRICS_95 {3, 18, 2, 0, 41, 0} -#define NXFONT_BITMAP_95 {0xff, 0xff, 0xc0, 0xff, 0xff, 0xc0} - -/* grave (96) */ -#define NXFONT_METRICS_96 {1, 5, 5, 2, 12, 0} -#define NXFONT_BITMAP_96 {0xe0, 0xf0, 0x70, 0x78, 0x38} - -/* a (97) */ -#define NXFONT_METRICS_97 {2, 15, 18, 1, 19, 0} -#define NXFONT_BITMAP_97 {0xf, 0xf0, 0x3f, 0xfc, 0x7f, 0xfc, 0x7c, 0x3e, 0xf8, 0x1e, 0xf8, 0x1e, 0x0, 0xfe, 0xf, 0xfe, 0x3f, 0xfe, 0x7f, 0x1e, 0xf8, 0x1e, 0xf8, 0x1e, 0xf0, 0x3e, 0xf8, 0x7e, 0xff, 0xfe, 0xff, 0xfe, 0x7f, 0xde, 0x3f, 0x1e} - -/* b (98) */ -#define NXFONT_METRICS_98 {2, 16, 25, 2, 12, 0} -#define NXFONT_BITMAP_98 {0xf0, 0x0, 0xf0, 0x0, 0xf0, 0x0, 0xf0, 0x0, 0xf0, 0x0, 0xf0, 0x0, 0xf0, 0x0, 0xf3, 0xf0, 0xf7, 0xfc, 0xff, 0xfc, 0xff, 0xfe, 0xfc, 0x3e, 0xf8, 0x1f, 0xf0, 0x1f, 0xf0, 0xf, 0xf0, 0xf, 0xf0, 0xf, 0xf0, 0xf, 0xf0, 0x1f, 0xf0, 0x1f, 0xf8, 0x3e, 0xff, 0xfe, 0xff, 0xfc, 0xf7, 0xf8, 0xf1, 0xf0} - -/* c (99) */ -#define NXFONT_METRICS_99 {2, 15, 18, 1, 19, 0} -#define NXFONT_BITMAP_99 {0x7, 0xe0, 0x1f, 0xf8, 0x3f, 0xfc, 0x3f, 0xfc, 0x7c, 0x3e, 0x78, 0x3e, 0xf0, 0x1e, 0xf0, 0x0, 0xf0, 0x0, 0xf0, 0x0, 0xf0, 0x0, 0xf0, 0x1e, 0xf8, 0x1e, 0x7c, 0x3e, 0x7f, 0xfc, 0x3f, 0xf8, 0x1f, 0xf8, 0x7, 0xe0} - -/* d (100) */ -#define NXFONT_METRICS_100 {2, 16, 25, 1, 12, 0} -#define NXFONT_BITMAP_100 {0x0, 0xf, 0x0, 0xf, 0x0, 0xf, 0x0, 0xf, 0x0, 0xf, 0x0, 0xf, 0x0, 0xf, 0xf, 0xcf, 0x1f, 0xef, 0x3f, 0xff, 0x7f, 0xff, 0x7c, 0x3f, 0xf8, 0x1f, 0xf0, 0xf, 0xf0, 0xf, 0xf0, 0xf, 0xf0, 0xf, 0xf0, 0xf, 0xf0, 0xf, 0xf8, 0x1f, 0x7c, 0x3f, 0x7f, 0xff, 0x3f, 0xef, 0x1f, 0xef, 0xf, 0x8f} - -/* e (101) */ -#define NXFONT_METRICS_101 {2, 16, 18, 1, 19, 0} -#define NXFONT_BITMAP_101 {0x7, 0xe0, 0x1f, 0xf8, 0x3f, 0xfc, 0x7f, 0xfe, 0x7c, 0x3e, 0xf8, 0x1f, 0xf0, 0x1f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x0, 0xf0, 0x0, 0xf8, 0x1e, 0x7c, 0x3e, 0x7f, 0xfc, 0x3f, 0xfc, 0x1f, 0xf0, 0x7, 0xc0} - -/* f (102) */ -#define NXFONT_METRICS_102 {2, 10, 25, 0, 12, 0} -#define NXFONT_BITMAP_102 {0x7, 0xc0, 0xf, 0xc0, 0x1f, 0xc0, 0x1f, 0x0, 0x1e, 0x0, 0x1e, 0x0, 0x1e, 0x0, 0xff, 0xc0, 0xff, 0xc0, 0xff, 0xc0, 0x1e, 0x0, 0x1e, 0x0, 0x1e, 0x0, 0x1e, 0x0, 0x1e, 0x0, 0x1e, 0x0, 0x1e, 0x0, 0x1e, 0x0, 0x1e, 0x0, 0x1e, 0x0, 0x1e, 0x0, 0x1e, 0x0, 0x1e, 0x0, 0x1e, 0x0, 0x1e, 0x0} - -/* g (103) */ -#define NXFONT_METRICS_103 {2, 16, 25, 1, 19, 0} -#define NXFONT_BITMAP_103 {0xf, 0xcf, 0x1f, 0xef, 0x3f, 0xff, 0x7f, 0xff, 0x7c, 0x3f, 0xf8, 0x1f, 0xf8, 0x1f, 0xf0, 0xf, 0xf0, 0xf, 0xf0, 0xf, 0xf0, 0xf, 0xf8, 0x1f, 0xf8, 0x1f, 0x7c, 0x3f, 0x7f, 0xff, 0x3f, 0xff, 0x1f, 0xef, 0xf, 0xcf, 0x0, 0xf, 0xf8, 0x1f, 0xf8, 0x1f, 0x7e, 0x7e, 0x7f, 0xfe, 0x3f, 0xfc, 0xf, 0xf0} - -/* h (104) */ -#define NXFONT_METRICS_104 {2, 15, 25, 2, 12, 0} -#define NXFONT_BITMAP_104 {0xf0, 0x0, 0xf0, 0x0, 0xf0, 0x0, 0xf0, 0x0, 0xf0, 0x0, 0xf0, 0x0, 0xf0, 0x0, 0xf1, 0xe0, 0xf7, 0xf8, 0xff, 0xfc, 0xff, 0xfc, 0xfc, 0x3e, 0xf8, 0x1e, 0xf8, 0x1e, 0xf0, 0x1e, 0xf0, 0x1e, 0xf0, 0x1e, 0xf0, 0x1e, 0xf0, 0x1e, 0xf0, 0x1e, 0xf0, 0x1e, 0xf0, 0x1e, 0xf0, 0x1e, 0xf0, 0x1e, 0xf0, 0x1e} - -/* i (105) */ -#define NXFONT_METRICS_105 {1, 4, 25, 2, 12, 0} -#define NXFONT_BITMAP_105 {0xf0, 0xf0, 0xf0, 0xf0, 0x0, 0x0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0} - -/* j (106) */ -#define NXFONT_METRICS_106 {1, 6, 32, 0, 12, 0} -#define NXFONT_BITMAP_106 {0x3c, 0x3c, 0x3c, 0x3c, 0x0, 0x0, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0xfc, 0xfc, 0xf8, 0xf8} - -/* k (107) */ -#define NXFONT_METRICS_107 {2, 15, 25, 2, 12, 0} -#define NXFONT_BITMAP_107 {0xf0, 0x0, 0xf0, 0x0, 0xf0, 0x0, 0xf0, 0x0, 0xf0, 0x0, 0xf0, 0x0, 0xf0, 0x0, 0xf0, 0x3e, 0xf0, 0x7c, 0xf0, 0xf8, 0xf1, 0xf0, 0xf3, 0xe0, 0xf7, 0xc0, 0xff, 0x80, 0xff, 0xc0, 0xff, 0xc0, 0xff, 0xe0, 0xff, 0xe0, 0xf9, 0xf0, 0xf1, 0xf0, 0xf0, 0xf8, 0xf0, 0x78, 0xf0, 0x7c, 0xf0, 0x3e, 0xf0, 0x3e} - -/* l (108) */ -#define NXFONT_METRICS_108 {1, 4, 25, 2, 12, 0} -#define NXFONT_BITMAP_108 {0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0} - -/* m (109) */ -#define NXFONT_METRICS_109 {3, 24, 18, 2, 19, 0} -#define NXFONT_BITMAP_109 {0xf1, 0xe0, 0xf8, 0xf7, 0xfb, 0xfe, 0xff, 0xff, 0xfe, 0xff, 0xff, 0xff, 0xfc, 0x7f, 0x1f, 0xf8, 0x3e, 0xf, 0xf0, 0x3c, 0xf, 0xf0, 0x3c, 0xf, 0xf0, 0x3c, 0xf, 0xf0, 0x3c, 0xf, 0xf0, 0x3c, 0xf, 0xf0, 0x3c, 0xf, 0xf0, 0x3c, 0xf, 0xf0, 0x3c, 0xf, 0xf0, 0x3c, 0xf, 0xf0, 0x3c, 0xf, 0xf0, 0x3c, 0xf, 0xf0, 0x3c, 0xf} - -/* n (110) */ -#define NXFONT_METRICS_110 {2, 15, 18, 2, 19, 0} -#define NXFONT_BITMAP_110 {0xf1, 0xf0, 0xf7, 0xfc, 0xff, 0xfc, 0xff, 0xfe, 0xfc, 0x3e, 0xf8, 0x1e, 0xf0, 0x1e, 0xf0, 0x1e, 0xf0, 0x1e, 0xf0, 0x1e, 0xf0, 0x1e, 0xf0, 0x1e, 0xf0, 0x1e, 0xf0, 0x1e, 0xf0, 0x1e, 0xf0, 0x1e, 0xf0, 0x1e, 0xf0, 0x1e} - -/* o (111) */ -#define NXFONT_METRICS_111 {3, 17, 18, 1, 19, 0} -#define NXFONT_BITMAP_111 {0x7, 0xf0, 0x0, 0x1f, 0xfc, 0x0, 0x3f, 0xfe, 0x0, 0x7f, 0xff, 0x0, 0x7c, 0x1f, 0x0, 0xf8, 0xf, 0x80, 0xf8, 0xf, 0x80, 0xf0, 0x7, 0x80, 0xf0, 0x7, 0x80, 0xf0, 0x7, 0x80, 0xf0, 0x7, 0x80, 0xf8, 0xf, 0x80, 0xf8, 0xf, 0x80, 0x7c, 0x1f, 0x0, 0x7f, 0xff, 0x0, 0x3f, 0xfe, 0x0, 0x1f, 0xfc, 0x0, 0x7, 0xf0, 0x0} - -/* p (112) */ -#define NXFONT_METRICS_112 {2, 16, 25, 2, 19, 0} -#define NXFONT_BITMAP_112 {0xf1, 0xf0, 0xf7, 0xf8, 0xff, 0xfc, 0xff, 0xfe, 0xfc, 0x3e, 0xf8, 0x1f, 0xf8, 0x1f, 0xf0, 0xf, 0xf0, 0xf, 0xf0, 0xf, 0xf0, 0xf, 0xf8, 0x1f, 0xf8, 0x1f, 0xfc, 0x3e, 0xff, 0xfe, 0xff, 0xfc, 0xf7, 0xf8, 0xf1, 0xf0, 0xf0, 0x0, 0xf0, 0x0, 0xf0, 0x0, 0xf0, 0x0, 0xf0, 0x0, 0xf0, 0x0, 0xf0, 0x0} - -/* q (113) */ -#define NXFONT_METRICS_113 {2, 16, 25, 1, 19, 0} -#define NXFONT_BITMAP_113 {0x7, 0xcf, 0x1f, 0xef, 0x3f, 0xff, 0x7f, 0xff, 0x7c, 0x3f, 0xf8, 0x1f, 0xf0, 0xf, 0xf0, 0xf, 0xf0, 0xf, 0xf0, 0xf, 0xf0, 0xf, 0xf0, 0xf, 0xf8, 0x1f, 0x7c, 0x3f, 0x7f, 0xff, 0x3f, 0xff, 0x3f, 0xef, 0xf, 0xcf, 0x0, 0xf, 0x0, 0xf, 0x0, 0xf, 0x0, 0xf, 0x0, 0xf, 0x0, 0xf, 0x0, 0xf} - -/* r (114) */ -#define NXFONT_METRICS_114 {2, 10, 18, 2, 19, 0} -#define NXFONT_BITMAP_114 {0xf0, 0xc0, 0xf3, 0xc0, 0xf7, 0xc0, 0xff, 0xc0, 0xff, 0xc0, 0xfc, 0x0, 0xf8, 0x0, 0xf8, 0x0, 0xf0, 0x0, 0xf0, 0x0, 0xf0, 0x0, 0xf0, 0x0, 0xf0, 0x0, 0xf0, 0x0, 0xf0, 0x0, 0xf0, 0x0, 0xf0, 0x0, 0xf0, 0x0} - -/* s (115) */ -#define NXFONT_METRICS_115 {2, 16, 18, 1, 19, 0} -#define NXFONT_BITMAP_115 {0x7, 0xf0, 0x1f, 0xfc, 0x3f, 0xfe, 0x7c, 0x3e, 0x78, 0x1f, 0x78, 0x1f, 0x7c, 0x0, 0x7f, 0xc0, 0x3f, 0xf8, 0xf, 0xfe, 0x3, 0xff, 0x0, 0x3f, 0xf8, 0xf, 0xf8, 0xf, 0x7c, 0x1f, 0x7f, 0xfe, 0x3f, 0xfc, 0xf, 0xf0} - -/* t (116) */ -#define NXFONT_METRICS_116 {2, 9, 22, 1, 15, 0} -#define NXFONT_BITMAP_116 {0x3c, 0x0, 0x3c, 0x0, 0x3c, 0x0, 0x3c, 0x0, 0xff, 0x80, 0xff, 0x80, 0xff, 0x80, 0x3c, 0x0, 0x3c, 0x0, 0x3c, 0x0, 0x3c, 0x0, 0x3c, 0x0, 0x3c, 0x0, 0x3c, 0x0, 0x3c, 0x0, 0x3c, 0x0, 0x3c, 0x0, 0x3c, 0x0, 0x3f, 0x80, 0x3f, 0x80, 0x1f, 0x80, 0xf, 0x80} - -/* u (117) */ -#define NXFONT_METRICS_117 {2, 15, 18, 2, 19, 0} -#define NXFONT_BITMAP_117 {0xf0, 0x1e, 0xf0, 0x1e, 0xf0, 0x1e, 0xf0, 0x1e, 0xf0, 0x1e, 0xf0, 0x1e, 0xf0, 0x1e, 0xf0, 0x1e, 0xf0, 0x1e, 0xf0, 0x1e, 0xf0, 0x1e, 0xf0, 0x1e, 0xf8, 0x3e, 0xf8, 0x7e, 0xff, 0xfe, 0x7f, 0xfe, 0x7f, 0xde, 0x1f, 0x1e} - -/* v (118) */ -#define NXFONT_METRICS_118 {3, 17, 18, 0, 19, 0} -#define NXFONT_BITMAP_118 {0xf8, 0xf, 0x80, 0xf8, 0xf, 0x80, 0x7c, 0x1f, 0x0, 0x7c, 0x1f, 0x0, 0x3c, 0x1e, 0x0, 0x3c, 0x1e, 0x0, 0x3e, 0x3e, 0x0, 0x1e, 0x3c, 0x0, 0x1e, 0x3c, 0x0, 0x1e, 0x3c, 0x0, 0xf, 0x78, 0x0, 0xf, 0x78, 0x0, 0xf, 0x78, 0x0, 0x7, 0xf0, 0x0, 0x7, 0xf0, 0x0, 0x7, 0xf0, 0x0, 0x3, 0xe0, 0x0, 0x3, 0xe0, 0x0} - -/* w (119) */ -#define NXFONT_METRICS_119 {4, 25, 18, 0, 19, 0} -#define NXFONT_BITMAP_119 {0xf8, 0x3e, 0xf, 0x80, 0xf8, 0x3e, 0xf, 0x80, 0x78, 0x3e, 0xf, 0x0, 0x7c, 0x3e, 0x1f, 0x0, 0x7c, 0x7f, 0x1f, 0x0, 0x3c, 0x7f, 0x1e, 0x0, 0x3c, 0x7f, 0x1e, 0x0, 0x3c, 0x77, 0x1e, 0x0, 0x3c, 0xf7, 0x9e, 0x0, 0x1e, 0xe3, 0xbc, 0x0, 0x1e, 0xe3, 0xbc, 0x0, 0x1e, 0xe3, 0xbc, 0x0, 0x1f, 0xe3, 0xfc, 0x0, 0xf, 0xc1, 0xf8, 0x0, 0xf, 0xc1, 0xf8, 0x0, 0xf, 0xc1, 0xf8, 0x0, 0x7, 0x80, 0xf0, 0x0, 0x7, 0x80, 0xf0, 0x0} - -/* x (120) */ -#define NXFONT_METRICS_120 {2, 16, 18, 1, 19, 0} -#define NXFONT_BITMAP_120 {0xf8, 0x1f, 0xfc, 0x3f, 0x7c, 0x3e, 0x3e, 0x7c, 0x3e, 0x78, 0x1f, 0xf8, 0xf, 0xf0, 0x7, 0xe0, 0x3, 0xc0, 0x7, 0xe0, 0xf, 0xe0, 0xf, 0xf0, 0x1f, 0xf8, 0x3e, 0x78, 0x3e, 0x7c, 0x7c, 0x3e, 0xfc, 0x3f, 0xf8, 0x1f} - -/* y (121) */ -#define NXFONT_METRICS_121 {2, 16, 25, 1, 19, 0} -#define NXFONT_BITMAP_121 {0xf8, 0x1f, 0xf8, 0x1f, 0xf8, 0x1e, 0x78, 0x3e, 0x7c, 0x3e, 0x7c, 0x3c, 0x3c, 0x3c, 0x3e, 0x7c, 0x3e, 0x78, 0x1e, 0x78, 0x1e, 0x78, 0x1f, 0xf0, 0xf, 0xf0, 0xf, 0xf0, 0xf, 0xe0, 0x7, 0xe0, 0x7, 0xe0, 0x7, 0xc0, 0x7, 0xc0, 0x7, 0xc0, 0xf, 0x80, 0x3f, 0x80, 0x3f, 0x0, 0x3f, 0x0, 0x3c, 0x0} - -/* z (122) */ -#define NXFONT_METRICS_122 {2, 14, 18, 1, 19, 0} -#define NXFONT_BITMAP_122 {0xff, 0xfc, 0xff, 0xfc, 0xff, 0xfc, 0xff, 0xfc, 0x0, 0xf8, 0x1, 0xf0, 0x3, 0xf0, 0x7, 0xe0, 0xf, 0xc0, 0x1f, 0x80, 0x1f, 0x0, 0x3e, 0x0, 0x7c, 0x0, 0xf8, 0x0, 0xff, 0xfc, 0xff, 0xfc, 0xff, 0xfc, 0xff, 0xfc} - -/* braceleft (123) */ -#define NXFONT_METRICS_123 {2, 9, 32, 2, 12, 0} -#define NXFONT_BITMAP_123 {0xf, 0x80, 0x1f, 0x80, 0x3f, 0x80, 0x3e, 0x0, 0x3c, 0x0, 0x3c, 0x0, 0x3c, 0x0, 0x3c, 0x0, 0x3c, 0x0, 0x3c, 0x0, 0x3c, 0x0, 0x3c, 0x0, 0x3c, 0x0, 0x3c, 0x0, 0x7c, 0x0, 0x78, 0x0, 0xe0, 0x0, 0x78, 0x0, 0x7c, 0x0, 0x3c, 0x0, 0x3c, 0x0, 0x3c, 0x0, 0x3c, 0x0, 0x3c, 0x0, 0x3c, 0x0, 0x3c, 0x0, 0x3c, 0x0, 0x3c, 0x0, 0x3c, 0x0, 0x3f, 0x80, 0x1f, 0x80, 0xf, 0x80} - -/* bar (124) */ -#define NXFONT_METRICS_124 {1, 3, 31, 3, 12, 0} -#define NXFONT_BITMAP_124 {0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0} - -/* braceright (125) */ -#define NXFONT_METRICS_125 {2, 9, 32, 2, 12, 0} -#define NXFONT_BITMAP_125 {0xf8, 0x0, 0xfc, 0x0, 0xfe, 0x0, 0x3e, 0x0, 0x1e, 0x0, 0x1e, 0x0, 0x1e, 0x0, 0x1e, 0x0, 0x1e, 0x0, 0x1e, 0x0, 0x1e, 0x0, 0x1e, 0x0, 0x1e, 0x0, 0x1e, 0x0, 0x1f, 0x0, 0xf, 0x0, 0x3, 0x80, 0xf, 0x0, 0x1f, 0x0, 0x1e, 0x0, 0x1e, 0x0, 0x1e, 0x0, 0x1e, 0x0, 0x1e, 0x0, 0x1e, 0x0, 0x1e, 0x0, 0x1e, 0x0, 0x1e, 0x0, 0x1e, 0x0, 0xfe, 0x0, 0xfc, 0x0, 0xf8, 0x0} - -/* asciitilde (126) */ -#define NXFONT_METRICS_126 {2, 14, 6, 2, 26, 0} -#define NXFONT_BITMAP_126 {0x38, 0x0, 0x7e, 0xc, 0xff, 0x9c, 0xe7, 0xfc, 0xc1, 0xf8, 0x0, 0x70} - -/* exclamdown (161) */ -#define NXFONT_METRICS_161 {1, 5, 24, 2, 19, 0} -#define NXFONT_BITMAP_161 {0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0x0, 0x0, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8} - -/* cent (162) */ -#define NXFONT_METRICS_162 {2, 15, 24, 1, 16, 0} -#define NXFONT_BITMAP_162 {0x0, 0x20, 0x0, 0x20, 0x0, 0x60, 0x7, 0xf0, 0x1f, 0xf8, 0x3f, 0xfc, 0x7f, 0xfc, 0x7c, 0xbe, 0xf8, 0x9e, 0xf9, 0x9e, 0xf1, 0x80, 0xf1, 0x80, 0xf3, 0x0, 0xf3, 0x0, 0xf3, 0x1e, 0xfa, 0x1e, 0x7e, 0x3e, 0x7f, 0xfc, 0x3f, 0xf8, 0x1f, 0xf0, 0xf, 0xc0, 0xc, 0x0, 0x8, 0x0, 0x8, 0x0} - -/* sterling (163) */ -#define NXFONT_METRICS_163 {3, 17, 24, 0, 13, 0} -#define NXFONT_BITMAP_163 {0x3, 0xf0, 0x0, 0x1f, 0xfc, 0x0, 0x3f, 0xfe, 0x0, 0x3f, 0xff, 0x0, 0x7e, 0x1f, 0x0, 0x7c, 0xf, 0x80, 0x7c, 0xf, 0x80, 0x7c, 0x7, 0x80, 0x7c, 0x0, 0x0, 0x7e, 0x0, 0x0, 0x3e, 0x0, 0x0, 0xff, 0xf0, 0x0, 0xff, 0xf0, 0x0, 0x1f, 0x0, 0x0, 0xf, 0x0, 0x0, 0xf, 0x0, 0x0, 0xf, 0x0, 0x0, 0x1f, 0x0, 0x0, 0x1e, 0x0, 0x0, 0x3d, 0xe3, 0x0, 0x7f, 0xff, 0x80, 0xff, 0xff, 0x80, 0xff, 0xff, 0x0, 0x60, 0x7e, 0x0} - -/* currency (164) */ -#define NXFONT_METRICS_164 {2, 15, 15, 1, 18, 0} -#define NXFONT_BITMAP_164 {0xe0, 0xe, 0xf7, 0xde, 0xff, 0xfe, 0x7f, 0xfc, 0x3c, 0x78, 0x78, 0x3c, 0x70, 0x1c, 0x70, 0x1c, 0x70, 0x1c, 0x78, 0x3c, 0x3c, 0x78, 0x7f, 0xfc, 0xff, 0xfe, 0xf7, 0xde, 0xe0, 0xe} - -/* yen (165) */ -#define NXFONT_METRICS_165 {3, 18, 24, 0, 13, 0} -#define NXFONT_BITMAP_165 {0xf8, 0x7, 0xc0, 0xf8, 0x7, 0xc0, 0x7c, 0xf, 0x80, 0x3c, 0xf, 0x0, 0x1e, 0x1e, 0x0, 0x1e, 0x1e, 0x0, 0xf, 0x3c, 0x0, 0xf, 0x3c, 0x0, 0x7, 0xf8, 0x0, 0x7, 0xf8, 0x0, 0x3, 0xf0, 0x0, 0x1, 0xe0, 0x0, 0x3f, 0xff, 0x0, 0x3f, 0xff, 0x0, 0x1, 0xe0, 0x0, 0x1, 0xe0, 0x0, 0x3f, 0xff, 0x0, 0x3f, 0xff, 0x0, 0x1, 0xe0, 0x0, 0x1, 0xe0, 0x0, 0x1, 0xe0, 0x0, 0x1, 0xe0, 0x0, 0x1, 0xe0, 0x0, 0x1, 0xe0, 0x0} - -/* brokenbar (166) */ -#define NXFONT_METRICS_166 {1, 3, 31, 3, 12, 0} -#define NXFONT_BITMAP_166 {0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0} - -/* section (167) */ -#define NXFONT_METRICS_167 {2, 16, 32, 1, 12, 0} -#define NXFONT_BITMAP_167 {0xf, 0xf0, 0x1f, 0xf8, 0x3f, 0xf8, 0x7e, 0x7c, 0x7c, 0x3c, 0x7c, 0x3c, 0x7e, 0x0, 0x7f, 0x0, 0x3f, 0xc0, 0x1f, 0xe0, 0x3f, 0xf8, 0x7f, 0xfc, 0x71, 0xfe, 0xf0, 0xff, 0xf0, 0x3f, 0xf8, 0x1f, 0xfc, 0xf, 0x7f, 0xf, 0x7f, 0x9f, 0x3f, 0xfe, 0x1f, 0xf8, 0x7, 0xfc, 0x1, 0xfe, 0x0, 0x7e, 0x0, 0x3e, 0x78, 0x1e, 0x78, 0x1e, 0x7c, 0x3e, 0x3f, 0xfc, 0x3f, 0xfc, 0x1f, 0xf8, 0x7, 0xe0} - -/* dieresis (168) */ -#define NXFONT_METRICS_168 {2, 10, 4, 0, 12, 0} -#define NXFONT_BITMAP_168 {0xf3, 0xc0, 0xf3, 0xc0, 0xf3, 0xc0, 0xf3, 0xc0} - -/* copyright (169) */ -#define NXFONT_METRICS_169 {4, 26, 25, 0, 12, 0} -#define NXFONT_BITMAP_169 {0x0, 0x7f, 0x80, 0x0, 0x3, 0xff, 0xe0, 0x0, 0x7, 0x80, 0xf8, 0x0, 0x1f, 0x0, 0x3c, 0x0, 0x1c, 0x0, 0xe, 0x0, 0x38, 0x0, 0x7, 0x0, 0x70, 0x3f, 0x3, 0x0, 0x70, 0x7f, 0x83, 0x80, 0xe0, 0xf3, 0xc1, 0x80, 0xe1, 0xc0, 0xe1, 0xc0, 0xc1, 0xc0, 0xe0, 0xc0, 0xc3, 0x80, 0x0, 0xc0, 0xc3, 0x80, 0x0, 0xc0, 0xc3, 0x80, 0x0, 0xc0, 0xc3, 0x80, 0x0, 0xc0, 0xc1, 0xc0, 0xe0, 0xc0, 0xe1, 0xc0, 0xe1, 0xc0, 0xe0, 0xf3, 0xc3, 0x80, 0x60, 0x7f, 0x83, 0x80, 0x70, 0x3f, 0x7, 0x0, 0x38, 0x0, 0xe, 0x0, 0x1e, 0x0, 0x3c, 0x0, 0xf, 0x80, 0xf8, 0x0, 0x7, 0xff, 0xe0, 0x0, 0x1, 0xff, 0x80, 0x0} - -/* ordfeminine (170) */ -#define NXFONT_METRICS_170 {2, 9, 16, 1, 12, 0} -#define NXFONT_BITMAP_170 {0x3e, 0x0, 0x7f, 0x0, 0xe3, 0x80, 0xc3, 0x80, 0x1f, 0x80, 0x7f, 0x80, 0xf3, 0x80, 0xe3, 0x80, 0xe3, 0x80, 0xff, 0x80, 0x7b, 0x80, 0x0, 0x0, 0x0, 0x0, 0xff, 0x80, 0xff, 0x80, 0xff, 0x80} - -/* guillemotleft (171) */ -#define NXFONT_METRICS_171 {2, 12, 13, 3, 22, 0} -#define NXFONT_BITMAP_171 {0x8, 0x10, 0x18, 0x30, 0x38, 0x70, 0x78, 0xf0, 0xf1, 0xe0, 0xe1, 0xc0, 0xe1, 0xc0, 0xf1, 0xe0, 0xf9, 0xf0, 0x78, 0xf0, 0x38, 0x70, 0x18, 0x30, 0x8, 0x10} - -/* logicalnot (172) */ -#define NXFONT_METRICS_172 {2, 16, 10, 1, 23, 0} -#define NXFONT_BITMAP_172 {0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0, 0xf, 0x0, 0xf, 0x0, 0xf, 0x0, 0xf, 0x0, 0xf, 0x0, 0xf} - -/* hyphen (173) */ -#define NXFONT_METRICS_173 {2, 9, 5, 1, 25, 0} -#define NXFONT_BITMAP_173 {0xff, 0x80, 0xff, 0x80, 0xff, 0x80, 0xff, 0x80, 0xff, 0x80} - -/* registered (174) */ -#define NXFONT_METRICS_174 {4, 26, 25, 0, 12, 0} -#define NXFONT_BITMAP_174 {0x0, 0xff, 0x80, 0x0, 0x3, 0xff, 0xe0, 0x0, 0x7, 0x80, 0xf8, 0x0, 0x1e, 0x0, 0x3c, 0x0, 0x1c, 0x0, 0xe, 0x0, 0x38, 0xff, 0x87, 0x0, 0x70, 0xff, 0xc3, 0x0, 0x70, 0xe1, 0xe3, 0x80, 0xe0, 0xe0, 0xe1, 0x80, 0xe0, 0xe0, 0xe1, 0x80, 0xc0, 0xe0, 0xe1, 0xc0, 0xc0, 0xe1, 0xc1, 0xc0, 0xc0, 0xff, 0x81, 0xc0, 0xc0, 0xff, 0x1, 0xc0, 0xc0, 0xe3, 0x81, 0xc0, 0xc0, 0xe3, 0xc1, 0xc0, 0xe0, 0xe1, 0xc1, 0x80, 0xe0, 0xe0, 0xe3, 0x80, 0x70, 0xe0, 0xf3, 0x80, 0x70, 0xe0, 0x77, 0x0, 0x38, 0x0, 0xe, 0x0, 0x1e, 0x0, 0x1c, 0x0, 0xf, 0x80, 0x78, 0x0, 0x7, 0xff, 0xe0, 0x0, 0x1, 0xff, 0x80, 0x0} - -/* macron (175) */ -#define NXFONT_METRICS_175 {2, 10, 3, 0, 13, 0} -#define NXFONT_BITMAP_175 {0xff, 0xc0, 0xff, 0xc0, 0xff, 0xc0} - -/* degree (176) */ -#define NXFONT_METRICS_176 {2, 9, 10, 2, 13, 0} -#define NXFONT_BITMAP_176 {0x3e, 0x0, 0x7f, 0x0, 0x63, 0x0, 0xc1, 0x80, 0xc1, 0x80, 0xc1, 0x80, 0xc1, 0x80, 0x63, 0x0, 0x7f, 0x0, 0x3e, 0x0} - -/* plusminus (177) */ -#define NXFONT_METRICS_177 {2, 16, 22, 1, 15, 0} -#define NXFONT_BITMAP_177 {0x3, 0xc0, 0x3, 0xc0, 0x3, 0xc0, 0x3, 0xc0, 0x3, 0xc0, 0x3, 0xc0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x3, 0xc0, 0x3, 0xc0, 0x3, 0xc0, 0x3, 0xc0, 0x3, 0xc0, 0x3, 0xc0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff} - -/* twosuperior (178) */ -#define NXFONT_METRICS_178 {2, 10, 15, 0, 13, 0} -#define NXFONT_BITMAP_178 {0x3f, 0x0, 0x7f, 0x80, 0xf3, 0xc0, 0xe1, 0xc0, 0xe1, 0xc0, 0x1, 0xc0, 0x3, 0xc0, 0x7, 0x80, 0xf, 0x0, 0x3e, 0x0, 0x78, 0x0, 0x70, 0x0, 0xff, 0xc0, 0xff, 0xc0, 0xff, 0xc0} - -/* threesuperior (179) */ -#define NXFONT_METRICS_179 {2, 10, 15, 0, 13, 0} -#define NXFONT_BITMAP_179 {0x1e, 0x0, 0x7f, 0x80, 0xf3, 0xc0, 0xe1, 0xc0, 0xe1, 0xc0, 0x3, 0xc0, 0xf, 0x80, 0xf, 0x80, 0x3, 0xc0, 0x1, 0xc0, 0xe1, 0xc0, 0xe1, 0xc0, 0xf3, 0xc0, 0x7f, 0x80, 0x3e, 0x0} - -/* acute (180) */ -#define NXFONT_METRICS_180 {1, 6, 5, 4, 12, 0} -#define NXFONT_BITMAP_180 {0x3c, 0x78, 0x70, 0xe0, 0xe0} - -/* mu (181) */ -#define NXFONT_METRICS_181 {2, 15, 25, 2, 19, 0} -#define NXFONT_BITMAP_181 {0xf0, 0x1e, 0xf0, 0x1e, 0xf0, 0x1e, 0xf0, 0x1e, 0xf0, 0x1e, 0xf0, 0x1e, 0xf0, 0x1e, 0xf0, 0x1e, 0xf0, 0x1e, 0xf0, 0x1e, 0xf0, 0x1e, 0xf0, 0x1e, 0xf8, 0x3e, 0xf8, 0x7e, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xde, 0xf7, 0x9e, 0xf0, 0x0, 0xf0, 0x0, 0xf0, 0x0, 0xf0, 0x0, 0xf0, 0x0, 0xf0, 0x0, 0xf0, 0x0} - -/* paragraph (182) */ -#define NXFONT_METRICS_182 {3, 17, 31, 0, 12, 0} -#define NXFONT_BITMAP_182 {0xf, 0xff, 0x80, 0x1f, 0xff, 0x80, 0x3f, 0x8c, 0x0, 0x7f, 0x8c, 0x0, 0x7f, 0x8c, 0x0, 0xff, 0x8c, 0x0, 0xff, 0x8c, 0x0, 0xff, 0x8c, 0x0, 0xff, 0x8c, 0x0, 0xff, 0x8c, 0x0, 0x7f, 0x8c, 0x0, 0x7f, 0x8c, 0x0, 0x3f, 0x8c, 0x0, 0x3f, 0x8c, 0x0, 0xf, 0x8c, 0x0, 0x1, 0x8c, 0x0, 0x1, 0x8c, 0x0, 0x1, 0x8c, 0x0, 0x1, 0x8c, 0x0, 0x1, 0x8c, 0x0, 0x1, 0x8c, 0x0, 0x1, 0x8c, 0x0, 0x1, 0x8c, 0x0, 0x1, 0x8c, 0x0, 0x1, 0x8c, 0x0, 0x1, 0x8c, 0x0, 0x1, 0x8c, 0x0, 0x1, 0x8c, 0x0, 0x1, 0x8c, 0x0, 0x1, 0x8c, 0x0, 0x1, 0x8c, 0x0} - -/* periodcentered (183) */ -#define NXFONT_METRICS_183 {1, 4, 5, 2, 21, 0} -#define NXFONT_BITMAP_183 {0x60, 0xf0, 0xf0, 0xf0, 0x60} - -/* cedilla (184) */ -#define NXFONT_METRICS_184 {1, 7, 8, 2, 36, 0} -#define NXFONT_BITMAP_184 {0x30, 0x30, 0x30, 0x7c, 0x1e, 0xe, 0xfc, 0xf8} - -/* onesuperior (185) */ -#define NXFONT_METRICS_185 {1, 6, 15, 2, 13, 0} -#define NXFONT_BITMAP_185 {0x1c, 0x3c, 0xfc, 0xfc, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c} - -/* ordmasculine (186) */ -#define NXFONT_METRICS_186 {2, 10, 16, 1, 12, 0} -#define NXFONT_BITMAP_186 {0x3f, 0x0, 0x7f, 0x80, 0x73, 0x80, 0xe1, 0xc0, 0xe1, 0xc0, 0xe1, 0xc0, 0xe1, 0xc0, 0xe1, 0xc0, 0x73, 0x80, 0x7f, 0x80, 0x3f, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xc0, 0xff, 0xc0, 0xff, 0xc0} - -/* guillemotright (187) */ -#define NXFONT_METRICS_187 {2, 12, 12, 3, 22, 0} -#define NXFONT_BITMAP_187 {0x81, 0x0, 0xc1, 0x80, 0xe1, 0xc0, 0xf1, 0xe0, 0x78, 0xf0, 0x38, 0x70, 0x38, 0x70, 0x78, 0xf0, 0xf1, 0xe0, 0xe1, 0xc0, 0xc1, 0x80, 0x81, 0x0} - -/* onequarter (188) */ -#define NXFONT_METRICS_188 {4, 26, 24, 0, 13, 0} -#define NXFONT_BITMAP_188 {0x0, 0x0, 0x38, 0x0, 0x6, 0x0, 0x70, 0x0, 0x1e, 0x0, 0x70, 0x0, 0xfe, 0x0, 0xe0, 0x0, 0xfe, 0x1, 0xc0, 0x0, 0xe, 0x1, 0xc0, 0x0, 0xe, 0x3, 0x80, 0x0, 0xe, 0x3, 0x80, 0x0, 0xe, 0x7, 0x0, 0x0, 0xe, 0x7, 0x0, 0x0, 0xe, 0xe, 0x7, 0x0, 0xe, 0x1c, 0xf, 0x0, 0xe, 0x1c, 0x1f, 0x0, 0xe, 0x38, 0x1f, 0x0, 0x0, 0x38, 0x37, 0x0, 0x0, 0x70, 0x67, 0x0, 0x0, 0x70, 0xe7, 0x0, 0x0, 0xe0, 0xc7, 0x0, 0x1, 0xc1, 0x87, 0x0, 0x1, 0xc1, 0xff, 0xc0, 0x3, 0x81, 0xff, 0xc0, 0x3, 0x80, 0x7, 0x0, 0x7, 0x0, 0x7, 0x0, 0x7, 0x0, 0x7, 0x0} - -/* onehalf (189) */ -#define NXFONT_METRICS_189 {4, 25, 24, 1, 13, 0} -#define NXFONT_BITMAP_189 {0x0, 0x0, 0xe0, 0x0, 0xc, 0x1, 0xc0, 0x0, 0x1c, 0x1, 0xc0, 0x0, 0xfc, 0x3, 0x80, 0x0, 0xfc, 0x3, 0x80, 0x0, 0x1c, 0x7, 0x0, 0x0, 0x1c, 0xe, 0x0, 0x0, 0x1c, 0xe, 0x0, 0x0, 0x1c, 0x1c, 0x0, 0x0, 0x1c, 0x1c, 0x0, 0x0, 0x1c, 0x38, 0x7e, 0x0, 0x1c, 0x30, 0xff, 0x0, 0x1c, 0x71, 0xe7, 0x80, 0x1c, 0xe1, 0xc3, 0x80, 0x0, 0xe1, 0xc3, 0x80, 0x1, 0xc0, 0x7, 0x80, 0x1, 0xc0, 0xf, 0x0, 0x3, 0x80, 0x1e, 0x0, 0x7, 0x0, 0x3c, 0x0, 0x7, 0x0, 0x78, 0x0, 0xe, 0x0, 0xf0, 0x0, 0xe, 0x1, 0xff, 0x80, 0x1c, 0x1, 0xff, 0x80, 0x1c, 0x1, 0xff, 0x80} - -/* threequarters (190) */ -#define NXFONT_METRICS_190 {4, 25, 24, 1, 13, 0} -#define NXFONT_BITMAP_190 {0x3f, 0x0, 0x1c, 0x0, 0x7f, 0x80, 0x38, 0x0, 0xf3, 0xc0, 0x38, 0x0, 0xe1, 0xc0, 0x70, 0x0, 0xe1, 0xc0, 0xe0, 0x0, 0x3, 0xc0, 0xe0, 0x0, 0xf, 0x81, 0xc0, 0x0, 0xf, 0x81, 0xc0, 0x0, 0xf, 0xc3, 0x80, 0x0, 0x1, 0xc7, 0x0, 0x0, 0xe1, 0xc7, 0xe, 0x0, 0xe1, 0xce, 0x1e, 0x0, 0xf3, 0xce, 0x1e, 0x0, 0x7f, 0x9c, 0x3e, 0x0, 0x3f, 0x1c, 0x7e, 0x0, 0x0, 0x38, 0xee, 0x0, 0x0, 0x70, 0xce, 0x0, 0x0, 0x71, 0x8e, 0x0, 0x0, 0xe3, 0x8e, 0x0, 0x0, 0xe3, 0xff, 0x80, 0x1, 0xc3, 0xff, 0x80, 0x1, 0xc0, 0xe, 0x0, 0x3, 0x80, 0xe, 0x0, 0x3, 0x80, 0xe, 0x0} - -/* questiondown (191) */ -#define NXFONT_METRICS_191 {2, 16, 24, 1, 19, 0} -#define NXFONT_BITMAP_191 {0x3, 0xe0, 0x3, 0xe0, 0x3, 0xe0, 0x3, 0xe0, 0x0, 0x0, 0x0, 0x0, 0x3, 0xc0, 0x3, 0xc0, 0x3, 0xc0, 0x7, 0xc0, 0x1f, 0x80, 0x3f, 0x80, 0x7f, 0x0, 0x7e, 0x0, 0xfc, 0x0, 0xf8, 0xf, 0xf8, 0xf, 0xf8, 0xf, 0xfc, 0x1f, 0x7e, 0x7f, 0x7f, 0xfe, 0x3f, 0xfe, 0x3f, 0xfc, 0xf, 0xf0} - -/* Agrave (192) */ -#define NXFONT_METRICS_192 {3, 22, 31, 0, 6, 0} -#define NXFONT_BITMAP_192 {0x3, 0xc0, 0x0, 0x1, 0xe0, 0x0, 0x0, 0xf0, 0x0, 0x0, 0x78, 0x0, 0x0, 0x3c, 0x0, 0x0, 0x0, 0x0, 0x0, 0xfc, 0x0, 0x0, 0xfc, 0x0, 0x1, 0xfe, 0x0, 0x1, 0xfe, 0x0, 0x1, 0xfe, 0x0, 0x3, 0xff, 0x0, 0x3, 0xff, 0x0, 0x3, 0xff, 0x0, 0x7, 0xcf, 0x80, 0x7, 0xcf, 0x80, 0x7, 0xcf, 0x80, 0xf, 0x87, 0x80, 0xf, 0x87, 0xc0, 0xf, 0x87, 0xc0, 0x1f, 0x3, 0xc0, 0x1f, 0x3, 0xe0, 0x1f, 0xff, 0xe0, 0x1f, 0xff, 0xe0, 0x3f, 0xff, 0xf0, 0x3f, 0xff, 0xf0, 0x3e, 0x1, 0xf0, 0x7c, 0x0, 0xf8, 0x7c, 0x0, 0xf8, 0xfc, 0x0, 0xfc, 0xf8, 0x0, 0x7c} - -/* Aacute (193) */ -#define NXFONT_METRICS_193 {3, 22, 31, 0, 6, 0} -#define NXFONT_BITMAP_193 {0x0, 0xf, 0x0, 0x0, 0x1e, 0x0, 0x0, 0x3c, 0x0, 0x0, 0x78, 0x0, 0x0, 0xf0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xfc, 0x0, 0x0, 0xfc, 0x0, 0x1, 0xfe, 0x0, 0x1, 0xfe, 0x0, 0x1, 0xfe, 0x0, 0x3, 0xff, 0x0, 0x3, 0xff, 0x0, 0x3, 0xff, 0x0, 0x7, 0xcf, 0x80, 0x7, 0xcf, 0x80, 0x7, 0xcf, 0x80, 0xf, 0x87, 0x80, 0xf, 0x87, 0xc0, 0xf, 0x87, 0xc0, 0x1f, 0x3, 0xc0, 0x1f, 0x3, 0xe0, 0x1f, 0xff, 0xe0, 0x1f, 0xff, 0xe0, 0x3f, 0xff, 0xf0, 0x3f, 0xff, 0xf0, 0x3e, 0x1, 0xf0, 0x7c, 0x0, 0xf8, 0x7c, 0x0, 0xf8, 0xfc, 0x0, 0xfc, 0xf8, 0x0, 0x7c} - -/* Acircumflex (194) */ -#define NXFONT_METRICS_194 {3, 22, 31, 0, 6, 0} -#define NXFONT_BITMAP_194 {0x0, 0x30, 0x0, 0x0, 0x78, 0x0, 0x0, 0xfc, 0x0, 0x1, 0xce, 0x0, 0x3, 0x87, 0x0, 0x0, 0x0, 0x0, 0x0, 0xfc, 0x0, 0x0, 0xfc, 0x0, 0x1, 0xfe, 0x0, 0x1, 0xfe, 0x0, 0x1, 0xfe, 0x0, 0x3, 0xff, 0x0, 0x3, 0xff, 0x0, 0x3, 0xff, 0x0, 0x7, 0xcf, 0x80, 0x7, 0xcf, 0x80, 0x7, 0xcf, 0x80, 0xf, 0x87, 0x80, 0xf, 0x87, 0xc0, 0xf, 0x87, 0xc0, 0x1f, 0x3, 0xc0, 0x1f, 0x3, 0xe0, 0x1f, 0xff, 0xe0, 0x1f, 0xff, 0xe0, 0x3f, 0xff, 0xf0, 0x3f, 0xff, 0xf0, 0x3e, 0x1, 0xf0, 0x7c, 0x0, 0xf8, 0x7c, 0x0, 0xf8, 0xfc, 0x0, 0xfc, 0xf8, 0x0, 0x7c} - -/* Atilde (195) */ -#define NXFONT_METRICS_195 {3, 22, 30, 0, 7, 0} -#define NXFONT_BITMAP_195 {0x0, 0xf1, 0x80, 0x1, 0xff, 0x80, 0x3, 0xff, 0x0, 0x3, 0x1e, 0x0, 0x0, 0x0, 0x0, 0x0, 0xfc, 0x0, 0x0, 0xfc, 0x0, 0x1, 0xfe, 0x0, 0x1, 0xfe, 0x0, 0x1, 0xfe, 0x0, 0x3, 0xff, 0x0, 0x3, 0xff, 0x0, 0x3, 0xff, 0x0, 0x7, 0xcf, 0x80, 0x7, 0xcf, 0x80, 0x7, 0xcf, 0x80, 0xf, 0x87, 0x80, 0xf, 0x87, 0xc0, 0xf, 0x87, 0xc0, 0x1f, 0x3, 0xc0, 0x1f, 0x3, 0xe0, 0x1f, 0xff, 0xe0, 0x1f, 0xff, 0xe0, 0x3f, 0xff, 0xf0, 0x3f, 0xff, 0xf0, 0x3e, 0x1, 0xf0, 0x7c, 0x0, 0xf8, 0x7c, 0x0, 0xf8, 0xfc, 0x0, 0xfc, 0xf8, 0x0, 0x7c} - -/* Adieresis (196) */ -#define NXFONT_METRICS_196 {3, 22, 31, 0, 6, 0} -#define NXFONT_BITMAP_196 {0x3, 0xcf, 0x0, 0x3, 0xcf, 0x0, 0x3, 0xcf, 0x0, 0x3, 0xcf, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xfc, 0x0, 0x0, 0xfc, 0x0, 0x1, 0xfe, 0x0, 0x1, 0xfe, 0x0, 0x1, 0xfe, 0x0, 0x3, 0xff, 0x0, 0x3, 0xff, 0x0, 0x3, 0xff, 0x0, 0x7, 0xcf, 0x80, 0x7, 0xcf, 0x80, 0x7, 0xcf, 0x80, 0xf, 0x87, 0x80, 0xf, 0x87, 0xc0, 0xf, 0x87, 0xc0, 0x1f, 0x3, 0xc0, 0x1f, 0x3, 0xe0, 0x1f, 0xff, 0xe0, 0x1f, 0xff, 0xe0, 0x3f, 0xff, 0xf0, 0x3f, 0xff, 0xf0, 0x3e, 0x1, 0xf0, 0x7c, 0x0, 0xf8, 0x7c, 0x0, 0xf8, 0xfc, 0x0, 0xfc, 0xf8, 0x0, 0x7c} - -/* Aring (197) */ -#define NXFONT_METRICS_197 {3, 22, 31, 0, 6, 0} -#define NXFONT_BITMAP_197 {0x0, 0x78, 0x0, 0x0, 0xcc, 0x0, 0x0, 0x84, 0x0, 0x0, 0x84, 0x0, 0x0, 0xcc, 0x0, 0x0, 0x78, 0x0, 0x0, 0x0, 0x0, 0x0, 0xfc, 0x0, 0x1, 0xfe, 0x0, 0x1, 0xfe, 0x0, 0x1, 0xfe, 0x0, 0x3, 0xff, 0x0, 0x3, 0xff, 0x0, 0x3, 0xff, 0x0, 0x7, 0xcf, 0x80, 0x7, 0xcf, 0x80, 0x7, 0xcf, 0x80, 0xf, 0x87, 0x80, 0xf, 0x87, 0xc0, 0xf, 0x87, 0xc0, 0x1f, 0x3, 0xc0, 0x1f, 0x3, 0xe0, 0x1f, 0xff, 0xe0, 0x1f, 0xff, 0xe0, 0x3f, 0xff, 0xf0, 0x3f, 0xff, 0xf0, 0x3e, 0x1, 0xf0, 0x7c, 0x0, 0xf8, 0x7c, 0x0, 0xf8, 0xfc, 0x0, 0xfc, 0xf8, 0x0, 0x7c} - -/* AE (198) */ -#define NXFONT_METRICS_198 {4, 31, 25, 0, 12, 0} -#define NXFONT_BITMAP_198 {0x0, 0xff, 0xff, 0xfc, 0x0, 0xff, 0xff, 0xfc, 0x0, 0xff, 0xff, 0xfc, 0x1, 0xff, 0xff, 0xfc, 0x1, 0xf3, 0xc0, 0x0, 0x1, 0xe3, 0xc0, 0x0, 0x3, 0xe3, 0xc0, 0x0, 0x3, 0xe3, 0xc0, 0x0, 0x3, 0xc3, 0xc0, 0x0, 0x7, 0xc3, 0xc0, 0x0, 0x7, 0xc3, 0xc0, 0x0, 0x7, 0xc3, 0xff, 0xf8, 0xf, 0x83, 0xff, 0xf8, 0xf, 0x83, 0xff, 0xf8, 0xf, 0x83, 0xff, 0xf8, 0x1f, 0x3, 0xc0, 0x0, 0x1f, 0xff, 0xc0, 0x0, 0x1f, 0xff, 0xc0, 0x0, 0x3f, 0xff, 0xc0, 0x0, 0x3f, 0xff, 0xc0, 0x0, 0x3e, 0x3, 0xc0, 0x0, 0x7c, 0x3, 0xff, 0xfe, 0x7c, 0x3, 0xff, 0xfe, 0xf8, 0x3, 0xff, 0xfe, 0xf8, 0x3, 0xff, 0xfe} - -/* Ccedilla (199) */ -#define NXFONT_METRICS_199 {3, 21, 32, 1, 12, 0} -#define NXFONT_BITMAP_199 {0x1, 0xfe, 0x0, 0x7, 0xff, 0x80, 0xf, 0xff, 0xc0, 0x1f, 0xff, 0xe0, 0x3f, 0x87, 0xf0, 0x3e, 0x1, 0xf0, 0x7c, 0x1, 0xf0, 0x7c, 0x0, 0xf8, 0x7c, 0x0, 0xf8, 0xf8, 0x0, 0x0, 0xf8, 0x0, 0x0, 0xf8, 0x0, 0x0, 0xf8, 0x0, 0x0, 0xf8, 0x0, 0x0, 0xf8, 0x0, 0x0, 0xf8, 0x0, 0x0, 0x7c, 0x0, 0xf8, 0x7c, 0x0, 0xf8, 0x7e, 0x1, 0xf8, 0x3e, 0x1, 0xf0, 0x3f, 0x87, 0xf0, 0x1f, 0xff, 0xe0, 0xf, 0xff, 0xc0, 0x7, 0xff, 0x80, 0x1, 0xfc, 0x0, 0x0, 0x60, 0x0, 0x0, 0x60, 0x0, 0x0, 0xf8, 0x0, 0x0, 0x1c, 0x0, 0x0, 0x1c, 0x0, 0x1, 0xf8, 0x0, 0x1, 0xf0, 0x0} - -/* Egrave (200) */ -#define NXFONT_METRICS_200 {3, 18, 31, 2, 6, 0} -#define NXFONT_BITMAP_200 {0x1e, 0x0, 0x0, 0xf, 0x0, 0x0, 0x7, 0x80, 0x0, 0x3, 0xc0, 0x0, 0x1, 0xe0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0x80, 0xff, 0xff, 0x80, 0xff, 0xff, 0x80, 0xff, 0xff, 0x80, 0xf8, 0x0, 0x0, 0xf8, 0x0, 0x0, 0xf8, 0x0, 0x0, 0xf8, 0x0, 0x0, 0xf8, 0x0, 0x0, 0xf8, 0x0, 0x0, 0xff, 0xff, 0x0, 0xff, 0xff, 0x0, 0xff, 0xff, 0x0, 0xff, 0xff, 0x0, 0xf8, 0x0, 0x0, 0xf8, 0x0, 0x0, 0xf8, 0x0, 0x0, 0xf8, 0x0, 0x0, 0xf8, 0x0, 0x0, 0xf8, 0x0, 0x0, 0xf8, 0x0, 0x0, 0xff, 0xff, 0xc0, 0xff, 0xff, 0xc0, 0xff, 0xff, 0xc0, 0xff, 0xff, 0xc0} - -/* Eacute (201) */ -#define NXFONT_METRICS_201 {3, 18, 31, 2, 6, 0} -#define NXFONT_BITMAP_201 {0x0, 0x78, 0x0, 0x0, 0xf0, 0x0, 0x1, 0xe0, 0x0, 0x3, 0xc0, 0x0, 0x7, 0x80, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0x80, 0xff, 0xff, 0x80, 0xff, 0xff, 0x80, 0xff, 0xff, 0x80, 0xf8, 0x0, 0x0, 0xf8, 0x0, 0x0, 0xf8, 0x0, 0x0, 0xf8, 0x0, 0x0, 0xf8, 0x0, 0x0, 0xf8, 0x0, 0x0, 0xff, 0xff, 0x0, 0xff, 0xff, 0x0, 0xff, 0xff, 0x0, 0xff, 0xff, 0x0, 0xf8, 0x0, 0x0, 0xf8, 0x0, 0x0, 0xf8, 0x0, 0x0, 0xf8, 0x0, 0x0, 0xf8, 0x0, 0x0, 0xf8, 0x0, 0x0, 0xf8, 0x0, 0x0, 0xff, 0xff, 0xc0, 0xff, 0xff, 0xc0, 0xff, 0xff, 0xc0, 0xff, 0xff, 0xc0} - -/* Ecircumflex (202) */ -#define NXFONT_METRICS_202 {3, 18, 31, 2, 6, 0} -#define NXFONT_BITMAP_202 {0x0, 0xc0, 0x0, 0x1, 0xe0, 0x0, 0x3, 0xf0, 0x0, 0x7, 0x38, 0x0, 0xe, 0x1c, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0x80, 0xff, 0xff, 0x80, 0xff, 0xff, 0x80, 0xff, 0xff, 0x80, 0xf8, 0x0, 0x0, 0xf8, 0x0, 0x0, 0xf8, 0x0, 0x0, 0xf8, 0x0, 0x0, 0xf8, 0x0, 0x0, 0xf8, 0x0, 0x0, 0xff, 0xff, 0x0, 0xff, 0xff, 0x0, 0xff, 0xff, 0x0, 0xff, 0xff, 0x0, 0xf8, 0x0, 0x0, 0xf8, 0x0, 0x0, 0xf8, 0x0, 0x0, 0xf8, 0x0, 0x0, 0xf8, 0x0, 0x0, 0xf8, 0x0, 0x0, 0xf8, 0x0, 0x0, 0xff, 0xff, 0xc0, 0xff, 0xff, 0xc0, 0xff, 0xff, 0xc0, 0xff, 0xff, 0xc0} - -/* Edieresis (203) */ -#define NXFONT_METRICS_203 {3, 18, 31, 2, 6, 0} -#define NXFONT_BITMAP_203 {0x1e, 0x3c, 0x0, 0x1e, 0x3c, 0x0, 0x1e, 0x3c, 0x0, 0x1e, 0x3c, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0x80, 0xff, 0xff, 0x80, 0xff, 0xff, 0x80, 0xff, 0xff, 0x80, 0xf8, 0x0, 0x0, 0xf8, 0x0, 0x0, 0xf8, 0x0, 0x0, 0xf8, 0x0, 0x0, 0xf8, 0x0, 0x0, 0xf8, 0x0, 0x0, 0xff, 0xff, 0x0, 0xff, 0xff, 0x0, 0xff, 0xff, 0x0, 0xff, 0xff, 0x0, 0xf8, 0x0, 0x0, 0xf8, 0x0, 0x0, 0xf8, 0x0, 0x0, 0xf8, 0x0, 0x0, 0xf8, 0x0, 0x0, 0xf8, 0x0, 0x0, 0xf8, 0x0, 0x0, 0xff, 0xff, 0xc0, 0xff, 0xff, 0xc0, 0xff, 0xff, 0xc0, 0xff, 0xff, 0xc0} - -/* Igrave (204) */ -#define NXFONT_METRICS_204 {1, 8, 31, 0, 6, 0} -#define NXFONT_BITMAP_204 {0xf0, 0x78, 0x3c, 0x1e, 0xf, 0x0, 0x3e, 0x3e, 0x3e, 0x3e, 0x3e, 0x3e, 0x3e, 0x3e, 0x3e, 0x3e, 0x3e, 0x3e, 0x3e, 0x3e, 0x3e, 0x3e, 0x3e, 0x3e, 0x3e, 0x3e, 0x3e, 0x3e, 0x3e, 0x3e, 0x3e} - -/* Iacute (205) */ -#define NXFONT_METRICS_205 {1, 8, 31, 2, 6, 0} -#define NXFONT_BITMAP_205 {0xf, 0x1e, 0x3c, 0x78, 0xf0, 0x0, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8} - -/* Icircumflex (206) */ -#define NXFONT_METRICS_206 {2, 10, 31, 0, 6, 0} -#define NXFONT_BITMAP_206 {0xc, 0x0, 0x1e, 0x0, 0x3f, 0x0, 0x73, 0x80, 0xe1, 0xc0, 0x0, 0x0, 0x3e, 0x0, 0x3e, 0x0, 0x3e, 0x0, 0x3e, 0x0, 0x3e, 0x0, 0x3e, 0x0, 0x3e, 0x0, 0x3e, 0x0, 0x3e, 0x0, 0x3e, 0x0, 0x3e, 0x0, 0x3e, 0x0, 0x3e, 0x0, 0x3e, 0x0, 0x3e, 0x0, 0x3e, 0x0, 0x3e, 0x0, 0x3e, 0x0, 0x3e, 0x0, 0x3e, 0x0, 0x3e, 0x0, 0x3e, 0x0, 0x3e, 0x0, 0x3e, 0x0, 0x3e, 0x0} - -/* Idieresis (207) */ -#define NXFONT_METRICS_207 {2, 10, 31, 0, 6, 0} -#define NXFONT_BITMAP_207 {0xf3, 0xc0, 0xf3, 0xc0, 0xf3, 0xc0, 0xf3, 0xc0, 0x0, 0x0, 0x0, 0x0, 0x3e, 0x0, 0x3e, 0x0, 0x3e, 0x0, 0x3e, 0x0, 0x3e, 0x0, 0x3e, 0x0, 0x3e, 0x0, 0x3e, 0x0, 0x3e, 0x0, 0x3e, 0x0, 0x3e, 0x0, 0x3e, 0x0, 0x3e, 0x0, 0x3e, 0x0, 0x3e, 0x0, 0x3e, 0x0, 0x3e, 0x0, 0x3e, 0x0, 0x3e, 0x0, 0x3e, 0x0, 0x3e, 0x0, 0x3e, 0x0, 0x3e, 0x0, 0x3e, 0x0, 0x3e, 0x0} - -/* Eth (208) -- NOTE: Xoffset should be -1, not 0. */ -#define NXFONT_METRICS_208 {3, 23, 25, 0, 12, 0} -#define NXFONT_BITMAP_208 {0x1f, 0xff, 0x80, 0x1f, 0xff, 0xe0, 0x1f, 0xff, 0xf0, 0x1f, 0xff, 0xf8, 0x1f, 0x7, 0xf8, 0x1f, 0x0, 0xfc, 0x1f, 0x0, 0xfc, 0x1f, 0x0, 0x7c, 0x1f, 0x0, 0x7e, 0x1f, 0x0, 0x3e, 0x1f, 0x0, 0x3e, 0xff, 0xf0, 0x3e, 0xff, 0xf0, 0x3e, 0xff, 0xf0, 0x3e, 0x1f, 0x0, 0x3e, 0x1f, 0x0, 0x3e, 0x1f, 0x0, 0x7c, 0x1f, 0x0, 0x7c, 0x1f, 0x0, 0x7c, 0x1f, 0x0, 0xf8, 0x1f, 0x3, 0xf8, 0x1f, 0xff, 0xf0, 0x1f, 0xff, 0xf0, 0x1f, 0xff, 0xc0, 0x1f, 0xff, 0x80} - -/* Ntilde (209) */ -#define NXFONT_METRICS_209 {3, 19, 30, 2, 7, 0} -#define NXFONT_BITMAP_209 {0x3, 0xc6, 0x0, 0x7, 0xfe, 0x0, 0xf, 0xfc, 0x0, 0xc, 0x78, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x3, 0xe0, 0xfc, 0x3, 0xe0, 0xfc, 0x3, 0xe0, 0xfe, 0x3, 0xe0, 0xfe, 0x3, 0xe0, 0xff, 0x3, 0xe0, 0xff, 0x3, 0xe0, 0xff, 0x83, 0xe0, 0xff, 0xc3, 0xe0, 0xfb, 0xc3, 0xe0, 0xfb, 0xe3, 0xe0, 0xf9, 0xe3, 0xe0, 0xf9, 0xf3, 0xe0, 0xf8, 0xf3, 0xe0, 0xf8, 0xfb, 0xe0, 0xf8, 0x7b, 0xe0, 0xf8, 0x3f, 0xe0, 0xf8, 0x3f, 0xe0, 0xf8, 0x1f, 0xe0, 0xf8, 0x1f, 0xe0, 0xf8, 0xf, 0xe0, 0xf8, 0xf, 0xe0, 0xf8, 0x7, 0xe0, 0xf8, 0x7, 0xe0, 0xf8, 0x3, 0xe0} - -/* Ograve (210) */ -#define NXFONT_METRICS_210 {3, 23, 31, 1, 6, 0} -#define NXFONT_BITMAP_210 {0x1, 0xe0, 0x0, 0x0, 0xf0, 0x0, 0x0, 0x78, 0x0, 0x0, 0x3c, 0x0, 0x0, 0x1e, 0x0, 0x0, 0x0, 0x0, 0x1, 0xff, 0x0, 0x7, 0xff, 0xc0, 0xf, 0xff, 0xe0, 0x1f, 0xff, 0xf0, 0x3f, 0xc7, 0xf8, 0x3f, 0x1, 0xf8, 0x7e, 0x0, 0xfc, 0x7c, 0x0, 0x7c, 0x7c, 0x0, 0x7c, 0xf8, 0x0, 0x3e, 0xf8, 0x0, 0x3e, 0xf8, 0x0, 0x3e, 0xf8, 0x0, 0x3e, 0xf8, 0x0, 0x3e, 0xf8, 0x0, 0x3e, 0xf8, 0x0, 0x3e, 0x7c, 0x0, 0x7c, 0x7c, 0x0, 0x7c, 0x7e, 0x0, 0xfc, 0x3f, 0x1, 0xf8, 0x3f, 0xc7, 0xf8, 0x1f, 0xff, 0xf0, 0xf, 0xff, 0xe0, 0x7, 0xff, 0xc0, 0x1, 0xff, 0x0} - -/* Oacute (211) */ -#define NXFONT_METRICS_211 {3, 23, 31, 1, 6, 0} -#define NXFONT_BITMAP_211 {0x0, 0x7, 0x80, 0x0, 0xf, 0x0, 0x0, 0x1e, 0x0, 0x0, 0x3c, 0x0, 0x0, 0x78, 0x0, 0x0, 0x0, 0x0, 0x1, 0xff, 0x0, 0x7, 0xff, 0xc0, 0xf, 0xff, 0xe0, 0x1f, 0xff, 0xf0, 0x3f, 0xc7, 0xf8, 0x3f, 0x1, 0xf8, 0x7e, 0x0, 0xfc, 0x7c, 0x0, 0x7c, 0x7c, 0x0, 0x7c, 0xf8, 0x0, 0x3e, 0xf8, 0x0, 0x3e, 0xf8, 0x0, 0x3e, 0xf8, 0x0, 0x3e, 0xf8, 0x0, 0x3e, 0xf8, 0x0, 0x3e, 0xf8, 0x0, 0x3e, 0x7c, 0x0, 0x7c, 0x7c, 0x0, 0x7c, 0x7e, 0x0, 0xfc, 0x3f, 0x1, 0xf8, 0x3f, 0xc7, 0xf8, 0x1f, 0xff, 0xf0, 0xf, 0xff, 0xe0, 0x7, 0xff, 0xc0, 0x1, 0xff, 0x0} - -/* Ocircumflex (212) */ -#define NXFONT_METRICS_212 {3, 23, 31, 1, 6, 0} -#define NXFONT_BITMAP_212 {0x0, 0x18, 0x0, 0x0, 0x3c, 0x0, 0x0, 0x7e, 0x0, 0x0, 0xe7, 0x0, 0x1, 0xc3, 0x80, 0x0, 0x0, 0x0, 0x1, 0xff, 0x0, 0x7, 0xff, 0xc0, 0xf, 0xff, 0xe0, 0x1f, 0xff, 0xf0, 0x3f, 0xc7, 0xf8, 0x3f, 0x1, 0xf8, 0x7e, 0x0, 0xfc, 0x7c, 0x0, 0x7c, 0x7c, 0x0, 0x7c, 0xf8, 0x0, 0x3e, 0xf8, 0x0, 0x3e, 0xf8, 0x0, 0x3e, 0xf8, 0x0, 0x3e, 0xf8, 0x0, 0x3e, 0xf8, 0x0, 0x3e, 0xf8, 0x0, 0x3e, 0x7c, 0x0, 0x7c, 0x7c, 0x0, 0x7c, 0x7e, 0x0, 0xfc, 0x3f, 0x1, 0xf8, 0x3f, 0xc7, 0xf8, 0x1f, 0xff, 0xf0, 0xf, 0xff, 0xe0, 0x7, 0xff, 0xc0, 0x1, 0xff, 0x0} - -/* Otilde (213) */ -#define NXFONT_METRICS_213 {3, 23, 30, 1, 7, 0} -#define NXFONT_BITMAP_213 {0x0, 0x78, 0xc0, 0x0, 0xff, 0xc0, 0x1, 0xff, 0x80, 0x1, 0x8f, 0x0, 0x0, 0x0, 0x0, 0x1, 0xff, 0x0, 0x7, 0xff, 0xc0, 0xf, 0xff, 0xe0, 0x1f, 0xff, 0xf0, 0x3f, 0xc7, 0xf8, 0x3f, 0x1, 0xf8, 0x7e, 0x0, 0xfc, 0x7c, 0x0, 0x7c, 0x7c, 0x0, 0x7c, 0xf8, 0x0, 0x3e, 0xf8, 0x0, 0x3e, 0xf8, 0x0, 0x3e, 0xf8, 0x0, 0x3e, 0xf8, 0x0, 0x3e, 0xf8, 0x0, 0x3e, 0xf8, 0x0, 0x3e, 0x7c, 0x0, 0x7c, 0x7c, 0x0, 0x7c, 0x7e, 0x0, 0xfc, 0x3f, 0x1, 0xf8, 0x3f, 0xc7, 0xf8, 0x1f, 0xff, 0xf0, 0xf, 0xff, 0xe0, 0x7, 0xff, 0xc0, 0x1, 0xff, 0x0} - -/* Odieresis (214) */ -#define NXFONT_METRICS_214 {3, 23, 31, 1, 6, 0} -#define NXFONT_BITMAP_214 {0x1, 0xe7, 0x80, 0x1, 0xe7, 0x80, 0x1, 0xe7, 0x80, 0x1, 0xe7, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0xff, 0x0, 0x7, 0xff, 0xc0, 0xf, 0xff, 0xe0, 0x1f, 0xff, 0xf0, 0x3f, 0xc7, 0xf8, 0x3f, 0x1, 0xf8, 0x7e, 0x0, 0xfc, 0x7c, 0x0, 0x7c, 0x7c, 0x0, 0x7c, 0xf8, 0x0, 0x3e, 0xf8, 0x0, 0x3e, 0xf8, 0x0, 0x3e, 0xf8, 0x0, 0x3e, 0xf8, 0x0, 0x3e, 0xf8, 0x0, 0x3e, 0xf8, 0x0, 0x3e, 0x7c, 0x0, 0x7c, 0x7c, 0x0, 0x7c, 0x7e, 0x0, 0xfc, 0x3f, 0x1, 0xf8, 0x3f, 0xc7, 0xf8, 0x1f, 0xff, 0xf0, 0xf, 0xff, 0xe0, 0x7, 0xff, 0xc0, 0x1, 0xff, 0x0} - -/* multiply (215) */ -#define NXFONT_METRICS_215 {2, 15, 16, 2, 21, 0} -#define NXFONT_BITMAP_215 {0x20, 0x8, 0x70, 0x1c, 0xf8, 0x3e, 0xfc, 0x7e, 0x7e, 0xfc, 0x3f, 0xf8, 0x1f, 0xf0, 0xf, 0xe0, 0xf, 0xe0, 0x1f, 0xf0, 0x3f, 0xf8, 0x7e, 0xfc, 0xfc, 0x7e, 0xf8, 0x3e, 0x70, 0x1c, 0x20, 0x8} - -/* Oslash (216) */ -#define NXFONT_METRICS_216 {3, 24, 25, 1, 12, 0} -#define NXFONT_BITMAP_216 {0x1, 0xff, 0x7, 0x7, 0xff, 0xce, 0xf, 0xff, 0xfc, 0x1f, 0xff, 0xf8, 0x3f, 0xc7, 0xf8, 0x3f, 0x0, 0xf8, 0x7e, 0x1, 0xfc, 0x7c, 0x3, 0xfc, 0x7c, 0x7, 0xbc, 0xf8, 0x7, 0x3e, 0xf8, 0xe, 0x3e, 0xf8, 0x1c, 0x3e, 0xf8, 0x38, 0x3e, 0xf8, 0x70, 0x3e, 0xf8, 0xe0, 0x3e, 0xf8, 0xe0, 0x3e, 0x7d, 0xc0, 0x7c, 0x7f, 0x80, 0x7c, 0x7f, 0x0, 0xfc, 0x3f, 0x1, 0xf8, 0x3f, 0xc7, 0xf8, 0x3f, 0xff, 0xf0, 0x3f, 0xff, 0xe0, 0x77, 0xff, 0xc0, 0xe1, 0xff, 0x0} - -/* Ugrave (217) */ -#define NXFONT_METRICS_217 {3, 19, 31, 2, 6, 0} -#define NXFONT_BITMAP_217 {0x7, 0x80, 0x0, 0x3, 0xc0, 0x0, 0x1, 0xe0, 0x0, 0x0, 0xf0, 0x0, 0x0, 0x78, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x3, 0xe0, 0xf8, 0x3, 0xe0, 0xf8, 0x3, 0xe0, 0xf8, 0x3, 0xe0, 0xf8, 0x3, 0xe0, 0xf8, 0x3, 0xe0, 0xf8, 0x3, 0xe0, 0xf8, 0x3, 0xe0, 0xf8, 0x3, 0xe0, 0xf8, 0x3, 0xe0, 0xf8, 0x3, 0xe0, 0xf8, 0x3, 0xe0, 0xf8, 0x3, 0xe0, 0xf8, 0x3, 0xe0, 0xf8, 0x3, 0xe0, 0xf8, 0x3, 0xe0, 0xf8, 0x3, 0xe0, 0xf8, 0x3, 0xe0, 0xf8, 0x3, 0xe0, 0xfc, 0x7, 0xe0, 0x7f, 0x1f, 0xc0, 0x7f, 0xff, 0xc0, 0x3f, 0xff, 0x80, 0x1f, 0xff, 0x0, 0x7, 0xfc, 0x0} - -/* Uacute (218) */ -#define NXFONT_METRICS_218 {3, 19, 31, 2, 6, 0} -#define NXFONT_BITMAP_218 {0x0, 0x1e, 0x0, 0x0, 0x3c, 0x0, 0x0, 0x78, 0x0, 0x0, 0xf0, 0x0, 0x1, 0xe0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x3, 0xe0, 0xf8, 0x3, 0xe0, 0xf8, 0x3, 0xe0, 0xf8, 0x3, 0xe0, 0xf8, 0x3, 0xe0, 0xf8, 0x3, 0xe0, 0xf8, 0x3, 0xe0, 0xf8, 0x3, 0xe0, 0xf8, 0x3, 0xe0, 0xf8, 0x3, 0xe0, 0xf8, 0x3, 0xe0, 0xf8, 0x3, 0xe0, 0xf8, 0x3, 0xe0, 0xf8, 0x3, 0xe0, 0xf8, 0x3, 0xe0, 0xf8, 0x3, 0xe0, 0xf8, 0x3, 0xe0, 0xf8, 0x3, 0xe0, 0xf8, 0x3, 0xe0, 0xfc, 0x7, 0xe0, 0x7f, 0x1f, 0xc0, 0x7f, 0xff, 0xc0, 0x3f, 0xff, 0x80, 0x1f, 0xff, 0x0, 0x7, 0xfc, 0x0} - -/* Ucircumflex (219) */ -#define NXFONT_METRICS_219 {3, 19, 31, 2, 6, 0} -#define NXFONT_BITMAP_219 {0x0, 0x60, 0x0, 0x0, 0xf0, 0x0, 0x1, 0xf8, 0x0, 0x3, 0x9c, 0x0, 0x7, 0xe, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x3, 0xe0, 0xf8, 0x3, 0xe0, 0xf8, 0x3, 0xe0, 0xf8, 0x3, 0xe0, 0xf8, 0x3, 0xe0, 0xf8, 0x3, 0xe0, 0xf8, 0x3, 0xe0, 0xf8, 0x3, 0xe0, 0xf8, 0x3, 0xe0, 0xf8, 0x3, 0xe0, 0xf8, 0x3, 0xe0, 0xf8, 0x3, 0xe0, 0xf8, 0x3, 0xe0, 0xf8, 0x3, 0xe0, 0xf8, 0x3, 0xe0, 0xf8, 0x3, 0xe0, 0xf8, 0x3, 0xe0, 0xf8, 0x3, 0xe0, 0xf8, 0x3, 0xe0, 0xfc, 0x7, 0xe0, 0x7f, 0x1f, 0xc0, 0x7f, 0xff, 0xc0, 0x3f, 0xff, 0x80, 0x1f, 0xff, 0x0, 0x7, 0xfc, 0x0} - -/* Udieresis (220) */ -#define NXFONT_METRICS_220 {3, 19, 31, 2, 6, 0} -#define NXFONT_BITMAP_220 {0xf, 0x1e, 0x0, 0xf, 0x1e, 0x0, 0xf, 0x1e, 0x0, 0xf, 0x1e, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x3, 0xe0, 0xf8, 0x3, 0xe0, 0xf8, 0x3, 0xe0, 0xf8, 0x3, 0xe0, 0xf8, 0x3, 0xe0, 0xf8, 0x3, 0xe0, 0xf8, 0x3, 0xe0, 0xf8, 0x3, 0xe0, 0xf8, 0x3, 0xe0, 0xf8, 0x3, 0xe0, 0xf8, 0x3, 0xe0, 0xf8, 0x3, 0xe0, 0xf8, 0x3, 0xe0, 0xf8, 0x3, 0xe0, 0xf8, 0x3, 0xe0, 0xf8, 0x3, 0xe0, 0xf8, 0x3, 0xe0, 0xf8, 0x3, 0xe0, 0xf8, 0x3, 0xe0, 0xfc, 0x7, 0xe0, 0x7f, 0x1f, 0xc0, 0x7f, 0xff, 0xc0, 0x3f, 0xff, 0x80, 0x1f, 0xff, 0x0, 0x7, 0xfc, 0x0} - -/* Yacute (221) */ -#define NXFONT_METRICS_221 {3, 20, 31, 1, 6, 0} -#define NXFONT_BITMAP_221 {0x0, 0x1e, 0x0, 0x0, 0x3c, 0x0, 0x0, 0x78, 0x0, 0x0, 0xf0, 0x0, 0x1, 0xe0, 0x0, 0x0, 0x0, 0x0, 0xfc, 0x3, 0xf0, 0xfc, 0x3, 0xf0, 0x7e, 0x7, 0xe0, 0x3e, 0x7, 0xc0, 0x3f, 0xf, 0xc0, 0x3f, 0xf, 0x80, 0x1f, 0xf, 0x80, 0x1f, 0x9f, 0x0, 0xf, 0x9f, 0x0, 0xf, 0xfe, 0x0, 0x7, 0xfe, 0x0, 0x7, 0xfc, 0x0, 0x3, 0xfc, 0x0, 0x3, 0xf8, 0x0, 0x3, 0xf8, 0x0, 0x1, 0xf0, 0x0, 0x1, 0xf0, 0x0, 0x1, 0xf0, 0x0, 0x1, 0xf0, 0x0, 0x1, 0xf0, 0x0, 0x1, 0xf0, 0x0, 0x1, 0xf0, 0x0, 0x1, 0xf0, 0x0, 0x1, 0xf0, 0x0, 0x1, 0xf0, 0x0} - -/* Thorn (222) */ -#define NXFONT_METRICS_222 {3, 18, 25, 2, 12, 0} -#define NXFONT_BITMAP_222 {0xf8, 0x0, 0x0, 0xf8, 0x0, 0x0, 0xf8, 0x0, 0x0, 0xff, 0xf8, 0x0, 0xff, 0xfe, 0x0, 0xff, 0xff, 0x0, 0xff, 0xff, 0x80, 0xf8, 0x1f, 0x80, 0xf8, 0xf, 0xc0, 0xf8, 0x7, 0xc0, 0xf8, 0x7, 0xc0, 0xf8, 0x7, 0xc0, 0xf8, 0x7, 0xc0, 0xf8, 0xf, 0xc0, 0xf8, 0x1f, 0x80, 0xff, 0xff, 0x80, 0xff, 0xff, 0x0, 0xff, 0xfe, 0x0, 0xff, 0xfc, 0x0, 0xf8, 0x0, 0x0, 0xf8, 0x0, 0x0, 0xf8, 0x0, 0x0, 0xf8, 0x0, 0x0, 0xf8, 0x0, 0x0, 0xf8, 0x0, 0x0} - -/* germandbls (223) */ -#define NXFONT_METRICS_223 {3, 17, 25, 2, 12, 0} -#define NXFONT_BITMAP_223 {0xf, 0xc0, 0x0, 0x3f, 0xf0, 0x0, 0x7f, 0xfc, 0x0, 0xff, 0xfc, 0x0, 0xf8, 0x7e, 0x0, 0xf8, 0x3e, 0x0, 0xf0, 0x3e, 0x0, 0xf0, 0x3e, 0x0, 0xf0, 0x7c, 0x0, 0xf0, 0xfc, 0x0, 0xf1, 0xf8, 0x0, 0xf1, 0xfc, 0x0, 0xf1, 0xfe, 0x0, 0xf0, 0x7f, 0x0, 0xf0, 0x1f, 0x0, 0xf0, 0x1f, 0x80, 0xf0, 0xf, 0x80, 0xf0, 0xf, 0x80, 0xf0, 0xf, 0x80, 0xf0, 0x1f, 0x80, 0xf0, 0x3f, 0x0, 0xf1, 0xff, 0x0, 0xf1, 0xfe, 0x0, 0xf1, 0xfc, 0x0, 0xf1, 0xf0, 0x0} - -/* agrave (224) */ -#define NXFONT_METRICS_224 {2, 15, 25, 1, 12, 0} -#define NXFONT_BITMAP_224 {0xf, 0x0, 0x7, 0x80, 0x3, 0x80, 0x1, 0xc0, 0x0, 0xe0, 0x0, 0x0, 0x0, 0x0, 0xf, 0xf0, 0x3f, 0xfc, 0x7f, 0xfc, 0x7c, 0x3e, 0xf8, 0x1e, 0xf8, 0x1e, 0x1, 0xfe, 0xf, 0xfe, 0x3f, 0xfe, 0x7f, 0x1e, 0xf8, 0x1e, 0xf0, 0x1e, 0xf0, 0x3e, 0xf8, 0x7e, 0xff, 0xfe, 0xff, 0xfe, 0x7f, 0xde, 0x3f, 0x1e} - -/* aacute (225) */ -#define NXFONT_METRICS_225 {2, 15, 25, 1, 12, 0} -#define NXFONT_BITMAP_225 {0x0, 0x78, 0x0, 0xf0, 0x0, 0xe0, 0x1, 0xc0, 0x3, 0x80, 0x0, 0x0, 0x0, 0x0, 0xf, 0xf0, 0x3f, 0xfc, 0x7f, 0xfc, 0x7c, 0x3e, 0xf8, 0x1e, 0xf8, 0x1e, 0x1, 0xfe, 0xf, 0xfe, 0x3f, 0xfe, 0x7f, 0x1e, 0xf8, 0x1e, 0xf0, 0x1e, 0xf0, 0x3e, 0xf8, 0x7e, 0xff, 0xfe, 0xff, 0xfe, 0x7f, 0xde, 0x3f, 0x1e} - -/* acircumflex (226) */ -#define NXFONT_METRICS_226 {2, 15, 25, 1, 12, 0} -#define NXFONT_BITMAP_226 {0x1, 0x80, 0x3, 0xc0, 0x7, 0xe0, 0xe, 0x70, 0x1c, 0x38, 0x0, 0x0, 0x0, 0x0, 0xf, 0xf0, 0x3f, 0xfc, 0x7f, 0xfc, 0x7c, 0x3e, 0xf8, 0x1e, 0xf8, 0x1e, 0x1, 0xfe, 0xf, 0xfe, 0x3f, 0xfe, 0x7f, 0x1e, 0xf8, 0x1e, 0xf0, 0x1e, 0xf0, 0x3e, 0xf8, 0x7e, 0xff, 0xfe, 0xff, 0xfe, 0x7f, 0xde, 0x3f, 0x1e} - -/* atilde (227) */ -#define NXFONT_METRICS_227 {2, 15, 24, 1, 13, 0} -#define NXFONT_BITMAP_227 {0x7, 0x8c, 0xf, 0xfc, 0x1f, 0xf8, 0x18, 0xf0, 0x0, 0x0, 0x0, 0x0, 0xf, 0xf0, 0x3f, 0xfc, 0x7f, 0xfc, 0x7c, 0x3e, 0xf8, 0x1e, 0xf8, 0x1e, 0x1, 0xfe, 0xf, 0xfe, 0x3f, 0xfe, 0x7f, 0x1e, 0xf8, 0x1e, 0xf0, 0x1e, 0xf0, 0x3e, 0xf8, 0x7e, 0xff, 0xfe, 0xff, 0xfe, 0x7f, 0xde, 0x3f, 0x1e} - -/* adieresis (228) */ -#define NXFONT_METRICS_228 {2, 15, 24, 1, 13, 0} -#define NXFONT_BITMAP_228 {0x1e, 0x78, 0x1e, 0x78, 0x1e, 0x78, 0x1e, 0x78, 0x0, 0x0, 0x0, 0x0, 0xf, 0xf0, 0x3f, 0xfc, 0x7f, 0xfc, 0x7c, 0x3e, 0xf8, 0x1e, 0xf8, 0x1e, 0x1, 0xfe, 0xf, 0xfe, 0x3f, 0xfe, 0x7f, 0x1e, 0xf8, 0x1e, 0xf0, 0x1e, 0xf0, 0x3e, 0xf8, 0x7e, 0xff, 0xfe, 0xff, 0xfe, 0x7f, 0xde, 0x3f, 0x1e} - -/* aring (229) */ -#define NXFONT_METRICS_229 {2, 15, 25, 1, 12, 0} -#define NXFONT_BITMAP_229 {0x3, 0xc0, 0x6, 0x60, 0x4, 0x20, 0x4, 0x20, 0x6, 0x60, 0x3, 0xc0, 0x0, 0x0, 0xf, 0xf0, 0x3f, 0xfc, 0x7f, 0xfc, 0x7c, 0x3e, 0xf8, 0x1e, 0xf8, 0x1e, 0x1, 0xfe, 0xf, 0xfe, 0x3f, 0xfe, 0x7f, 0x1e, 0xf8, 0x1e, 0xf8, 0x1e, 0xf0, 0x3e, 0xf8, 0x7e, 0xff, 0xfe, 0xff, 0xfe, 0x7f, 0xde, 0x3f, 0x1e} - -/* ae (230) */ -#define NXFONT_METRICS_230 {4, 26, 19, 1, 18, 0} -#define NXFONT_BITMAP_230 {0x7, 0xe0, 0xf8, 0x0, 0x1f, 0xfb, 0xfe, 0x0, 0x3f, 0xff, 0xff, 0x0, 0x3f, 0xff, 0xff, 0x0, 0x7c, 0x3f, 0xf, 0x80, 0x78, 0x1e, 0x7, 0x80, 0x78, 0x1e, 0x7, 0xc0, 0x0, 0x3e, 0x7, 0xc0, 0x7, 0xff, 0xff, 0xc0, 0x3f, 0xff, 0xff, 0xc0, 0x7f, 0xff, 0xff, 0xc0, 0x7c, 0x1e, 0x0, 0x0, 0xf8, 0x1e, 0x0, 0x0, 0xf8, 0x1e, 0x7, 0xc0, 0xfc, 0x3f, 0xf, 0xc0, 0xff, 0xff, 0xff, 0x80, 0x7f, 0xf7, 0xff, 0x0, 0x3f, 0xe3, 0xfe, 0x0, 0xf, 0x81, 0xf8, 0x0} - -/* ccedilla (231) */ -#define NXFONT_METRICS_231 {2, 15, 25, 1, 19, 0} -#define NXFONT_BITMAP_231 {0x7, 0xe0, 0x1f, 0xf8, 0x3f, 0xfc, 0x3f, 0xfc, 0x7c, 0x3e, 0x78, 0x1e, 0xf8, 0x1e, 0xf0, 0x0, 0xf0, 0x0, 0xf0, 0x0, 0xf0, 0x0, 0xf8, 0x1e, 0xf8, 0x1e, 0x7c, 0x3e, 0x7f, 0xfc, 0x3f, 0xf8, 0x1f, 0xf8, 0x7, 0xe0, 0x3, 0x0, 0x3, 0x0, 0x7, 0xc0, 0x0, 0xe0, 0x0, 0xe0, 0xf, 0xc0, 0xf, 0x80} - -/* egrave (232) */ -#define NXFONT_METRICS_232 {2, 16, 25, 1, 12, 0} -#define NXFONT_BITMAP_232 {0xf, 0x0, 0x7, 0x80, 0x3, 0x80, 0x1, 0xc0, 0x0, 0xe0, 0x0, 0x0, 0x0, 0x0, 0x7, 0xe0, 0x1f, 0xf8, 0x3f, 0xfc, 0x7f, 0xfe, 0x7c, 0x3e, 0xf8, 0x1e, 0xf0, 0x1f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x0, 0xf0, 0x0, 0xf8, 0x1e, 0x7c, 0x3e, 0x7f, 0xfe, 0x3f, 0xfc, 0x1f, 0xf0, 0x7, 0xc0} - -/* eacute (233) */ -#define NXFONT_METRICS_233 {2, 16, 25, 1, 12, 0} -#define NXFONT_BITMAP_233 {0x0, 0x78, 0x0, 0xf0, 0x0, 0xe0, 0x1, 0xc0, 0x3, 0x80, 0x0, 0x0, 0x0, 0x0, 0x7, 0xe0, 0x1f, 0xf8, 0x3f, 0xfc, 0x7f, 0xfe, 0x7c, 0x3e, 0xf8, 0x1e, 0xf0, 0x1f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x0, 0xf0, 0x0, 0xf8, 0x1e, 0x7c, 0x3e, 0x7f, 0xfe, 0x3f, 0xfc, 0x1f, 0xf0, 0x7, 0xc0} - -/* ecircumflex (234) */ -#define NXFONT_METRICS_234 {2, 16, 25, 1, 12, 0} -#define NXFONT_BITMAP_234 {0x1, 0x80, 0x3, 0xc0, 0x7, 0xe0, 0xe, 0x70, 0x1c, 0x38, 0x0, 0x0, 0x0, 0x0, 0x7, 0xe0, 0x1f, 0xf8, 0x3f, 0xfc, 0x7f, 0xfe, 0x7c, 0x3e, 0xf8, 0x1e, 0xf0, 0x1f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x0, 0xf0, 0x0, 0xf8, 0x1e, 0x7c, 0x3e, 0x7f, 0xfe, 0x3f, 0xfc, 0x1f, 0xf0, 0x7, 0xc0} - -/* edieresis (235) */ -#define NXFONT_METRICS_235 {2, 16, 24, 1, 13, 0} -#define NXFONT_BITMAP_235 {0x1e, 0x78, 0x1e, 0x78, 0x1e, 0x78, 0x1e, 0x78, 0x0, 0x0, 0x0, 0x0, 0x7, 0xe0, 0x1f, 0xf8, 0x3f, 0xfc, 0x7f, 0xfe, 0x7c, 0x3e, 0xf8, 0x1e, 0xf0, 0x1f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x0, 0xf0, 0x0, 0xf8, 0x1e, 0x7c, 0x3e, 0x7f, 0xfe, 0x3f, 0xfc, 0x1f, 0xf0, 0x7, 0xc0} - -/* igrave (236) */ -#define NXFONT_METRICS_236 {1, 7, 25, 1, 12, 0} -#define NXFONT_BITMAP_236 {0xf0, 0x78, 0x38, 0x1c, 0xe, 0x0, 0x0, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e} - -/* iacute (237) */ -#define NXFONT_METRICS_237 {1, 6, 25, 2, 12, 0} -#define NXFONT_BITMAP_237 {0x3c, 0x38, 0x70, 0x70, 0xe0, 0x0, 0x0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0} - -/* icircumflex (238) -- NOTE: Xoffset should be -1, not 0. */ -#define NXFONT_METRICS_238 {2, 10, 25, 0, 12, 0} -#define NXFONT_BITMAP_238 {0xc, 0x0, 0x1e, 0x0, 0x3f, 0x0, 0x73, 0x80, 0xe1, 0xc0, 0x0, 0x0, 0x0, 0x0, 0x1e, 0x0, 0x1e, 0x0, 0x1e, 0x0, 0x1e, 0x0, 0x1e, 0x0, 0x1e, 0x0, 0x1e, 0x0, 0x1e, 0x0, 0x1e, 0x0, 0x1e, 0x0, 0x1e, 0x0, 0x1e, 0x0, 0x1e, 0x0, 0x1e, 0x0, 0x1e, 0x0, 0x1e, 0x0, 0x1e, 0x0, 0x1e, 0x0} - -/* idieresis (239) - NOTE: Xoffset should be -1, not 0. */ -#define NXFONT_METRICS_239 {2, 10, 24, 0, 13, 0} -#define NXFONT_BITMAP_239 {0xf3, 0xc0, 0xf3, 0xc0, 0xf3, 0xc0, 0xf3, 0xc0, 0x0, 0x0, 0x0, 0x0, 0x1e, 0x0, 0x1e, 0x0, 0x1e, 0x0, 0x1e, 0x0, 0x1e, 0x0, 0x1e, 0x0, 0x1e, 0x0, 0x1e, 0x0, 0x1e, 0x0, 0x1e, 0x0, 0x1e, 0x0, 0x1e, 0x0, 0x1e, 0x0, 0x1e, 0x0, 0x1e, 0x0, 0x1e, 0x0, 0x1e, 0x0, 0x1e, 0x0} - -/* eth (240) */ -#define NXFONT_METRICS_240 {3, 17, 26, 1, 11, 0} -#define NXFONT_BITMAP_240 {0x30, 0x0, 0x0, 0x78, 0x20, 0x0, 0x7c, 0xf0, 0x0, 0x3f, 0xe0, 0x0, 0x1f, 0xc0, 0x0, 0x3f, 0xe0, 0x0, 0x73, 0xf0, 0x0, 0x21, 0xf8, 0x0, 0x7, 0xfc, 0x0, 0x1f, 0xfe, 0x0, 0x3f, 0xfe, 0x0, 0x7f, 0xff, 0x0, 0x7c, 0x1f, 0x0, 0xf8, 0xf, 0x80, 0xf8, 0xf, 0x80, 0xf0, 0x7, 0x80, 0xf0, 0x7, 0x80, 0xf0, 0x7, 0x80, 0xf8, 0xf, 0x80, 0xf8, 0xf, 0x80, 0xfc, 0x1f, 0x80, 0x7e, 0x3f, 0x0, 0x7f, 0xff, 0x0, 0x3f, 0xfe, 0x0, 0x1f, 0xfc, 0x0, 0x7, 0xf0, 0x0} - -/* ntilde (241) */ -#define NXFONT_METRICS_241 {2, 15, 24, 2, 13, 0} -#define NXFONT_BITMAP_241 {0xf, 0x18, 0x1f, 0xf8, 0x3f, 0xf0, 0x31, 0xe0, 0x0, 0x0, 0x0, 0x0, 0xf3, 0xf0, 0xf7, 0xf8, 0xff, 0xfc, 0xff, 0xfe, 0xfc, 0x3e, 0xf8, 0x3e, 0xf0, 0x1e, 0xf0, 0x1e, 0xf0, 0x1e, 0xf0, 0x1e, 0xf0, 0x1e, 0xf0, 0x1e, 0xf0, 0x1e, 0xf0, 0x1e, 0xf0, 0x1e, 0xf0, 0x1e, 0xf0, 0x1e, 0xf0, 0x1e} - -/* ograve (242) */ -#define NXFONT_METRICS_242 {3, 17, 25, 1, 12, 0} -#define NXFONT_BITMAP_242 {0x7, 0x80, 0x0, 0x3, 0xc0, 0x0, 0x1, 0xc0, 0x0, 0x1, 0xe0, 0x0, 0x0, 0xf0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7, 0xf0, 0x0, 0x1f, 0xfc, 0x0, 0x3f, 0xfe, 0x0, 0x7f, 0xff, 0x0, 0x7c, 0x1f, 0x0, 0xf8, 0xf, 0x80, 0xf8, 0xf, 0x80, 0xf0, 0x7, 0x80, 0xf0, 0x7, 0x80, 0xf0, 0x7, 0x80, 0xf0, 0x7, 0x80, 0xf8, 0xf, 0x80, 0xf8, 0xf, 0x80, 0x7c, 0x1f, 0x0, 0x7f, 0xff, 0x0, 0x3f, 0xfe, 0x0, 0x1f, 0xfc, 0x0, 0x7, 0xf0, 0x0} - -/* oacute (243) */ -#define NXFONT_METRICS_243 {3, 17, 25, 1, 12, 0} -#define NXFONT_BITMAP_243 {0x0, 0x78, 0x0, 0x0, 0xf0, 0x0, 0x0, 0xe0, 0x0, 0x1, 0xc0, 0x0, 0x3, 0xc0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7, 0xf0, 0x0, 0x1f, 0xfc, 0x0, 0x3f, 0xfe, 0x0, 0x7f, 0xff, 0x0, 0x7c, 0x1f, 0x0, 0xf8, 0xf, 0x80, 0xf8, 0xf, 0x80, 0xf0, 0x7, 0x80, 0xf0, 0x7, 0x80, 0xf0, 0x7, 0x80, 0xf0, 0x7, 0x80, 0xf8, 0xf, 0x80, 0xf8, 0xf, 0x80, 0x7c, 0x1f, 0x0, 0x7f, 0xff, 0x0, 0x3f, 0xfe, 0x0, 0x1f, 0xfc, 0x0, 0x7, 0xf0, 0x0} - -/* ocircumflex (244) */ -#define NXFONT_METRICS_244 {3, 17, 25, 1, 12, 0} -#define NXFONT_BITMAP_244 {0x0, 0xc0, 0x0, 0x1, 0xe0, 0x0, 0x3, 0xf0, 0x0, 0x7, 0x38, 0x0, 0xe, 0x1c, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7, 0xf0, 0x0, 0x1f, 0xfc, 0x0, 0x3f, 0xfe, 0x0, 0x7f, 0xff, 0x0, 0x7c, 0x1f, 0x0, 0xf8, 0xf, 0x80, 0xf8, 0xf, 0x80, 0xf0, 0x7, 0x80, 0xf0, 0x7, 0x80, 0xf0, 0x7, 0x80, 0xf0, 0x7, 0x80, 0xf8, 0xf, 0x80, 0xf8, 0xf, 0x80, 0x7c, 0x1f, 0x0, 0x7f, 0xff, 0x0, 0x3f, 0xfe, 0x0, 0x1f, 0xfc, 0x0, 0x7, 0xf0, 0x0} - -/* otilde (245) */ -#define NXFONT_METRICS_245 {3, 17, 24, 1, 13, 0} -#define NXFONT_BITMAP_245 {0x7, 0x8c, 0x0, 0xf, 0xfc, 0x0, 0x1f, 0xf8, 0x0, 0x18, 0xf0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7, 0xf0, 0x0, 0x1f, 0xfc, 0x0, 0x3f, 0xfe, 0x0, 0x7f, 0xff, 0x0, 0x7c, 0x1f, 0x0, 0xf8, 0xf, 0x80, 0xf8, 0xf, 0x80, 0xf0, 0x7, 0x80, 0xf0, 0x7, 0x80, 0xf0, 0x7, 0x80, 0xf0, 0x7, 0x80, 0xf8, 0xf, 0x80, 0xf8, 0xf, 0x80, 0x7c, 0x1f, 0x0, 0x7f, 0xff, 0x0, 0x3f, 0xfe, 0x0, 0x1f, 0xfc, 0x0, 0x7, 0xf0, 0x0} - -/* odieresis (246) */ -#define NXFONT_METRICS_246 {3, 17, 24, 1, 13, 0} -#define NXFONT_BITMAP_246 {0x1e, 0x3c, 0x0, 0x1e, 0x3c, 0x0, 0x1e, 0x3c, 0x0, 0x1e, 0x3c, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7, 0xf0, 0x0, 0x1f, 0xfc, 0x0, 0x3f, 0xfe, 0x0, 0x7f, 0xff, 0x0, 0x7c, 0x1f, 0x0, 0xf8, 0xf, 0x80, 0xf8, 0xf, 0x80, 0xf0, 0x7, 0x80, 0xf0, 0x7, 0x80, 0xf0, 0x7, 0x80, 0xf0, 0x7, 0x80, 0xf8, 0xf, 0x80, 0xf8, 0xf, 0x80, 0x7c, 0x1f, 0x0, 0x7f, 0xff, 0x0, 0x3f, 0xfe, 0x0, 0x1f, 0xfc, 0x0, 0x7, 0xf0, 0x0} - -/* divide (247) */ -#define NXFONT_METRICS_247 {2, 16, 16, 1, 21, 0} -#define NXFONT_BITMAP_247 {0x3, 0xc0, 0x3, 0xc0, 0x3, 0xc0, 0x3, 0xc0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0, 0x0, 0x0, 0x0, 0x3, 0xc0, 0x3, 0xc0, 0x3, 0xc0, 0x3, 0xc0} - -/* oslash (248) - NOTE: Xoffset should be -1, not 0. */ -#define NXFONT_METRICS_248 {3, 21, 18, 0, 19, 0} -#define NXFONT_BITMAP_248 {0x1, 0xfc, 0x38, 0x7, 0xff, 0x70, 0xf, 0xff, 0xe0, 0x1f, 0xff, 0xc0, 0x1f, 0x8f, 0xc0, 0x3e, 0x7, 0xe0, 0x3e, 0xf, 0xe0, 0x3c, 0x1d, 0xe0, 0x3c, 0x39, 0xe0, 0x3c, 0x71, 0xe0, 0x3e, 0xe3, 0xe0, 0x3f, 0x83, 0xe0, 0x3f, 0x7, 0xe0, 0x1f, 0x8f, 0xc0, 0x1f, 0xff, 0xc0, 0x3f, 0xff, 0x80, 0x77, 0xff, 0x0, 0xe1, 0xfc, 0x0} - -/* ugrave (249) */ -#define NXFONT_METRICS_249 {2, 15, 25, 2, 12, 0} -#define NXFONT_BITMAP_249 {0x1e, 0x0, 0xf, 0x0, 0x7, 0x0, 0x3, 0x80, 0x1, 0xc0, 0x0, 0x0, 0x0, 0x0, 0xf0, 0x1e, 0xf0, 0x1e, 0xf0, 0x1e, 0xf0, 0x1e, 0xf0, 0x1e, 0xf0, 0x1e, 0xf0, 0x1e, 0xf0, 0x1e, 0xf0, 0x1e, 0xf0, 0x1e, 0xf0, 0x1e, 0xf0, 0x1e, 0xf8, 0x3e, 0xf8, 0x7e, 0xff, 0xfe, 0x7f, 0xfe, 0x7f, 0xde, 0x1f, 0x1e} - -/* uacute (250) */ -#define NXFONT_METRICS_250 {2, 15, 25, 2, 12, 0} -#define NXFONT_BITMAP_250 {0x0, 0xf0, 0x1, 0xe0, 0x1, 0xc0, 0x3, 0x80, 0x7, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf0, 0x1e, 0xf0, 0x1e, 0xf0, 0x1e, 0xf0, 0x1e, 0xf0, 0x1e, 0xf0, 0x1e, 0xf0, 0x1e, 0xf0, 0x1e, 0xf0, 0x1e, 0xf0, 0x1e, 0xf0, 0x1e, 0xf0, 0x1e, 0xf8, 0x3e, 0xf8, 0x7e, 0xff, 0xfe, 0x7f, 0xfe, 0x7f, 0xde, 0x1f, 0x1e} - -/* ucircumflex (251) */ -#define NXFONT_METRICS_251 {2, 15, 25, 2, 12, 0} -#define NXFONT_BITMAP_251 {0x3, 0x0, 0x7, 0x80, 0xf, 0xc0, 0x1c, 0xe0, 0x38, 0x70, 0x0, 0x0, 0x0, 0x0, 0xf0, 0x1e, 0xf0, 0x1e, 0xf0, 0x1e, 0xf0, 0x1e, 0xf0, 0x1e, 0xf0, 0x1e, 0xf0, 0x1e, 0xf0, 0x1e, 0xf0, 0x1e, 0xf0, 0x1e, 0xf0, 0x1e, 0xf0, 0x1e, 0xf8, 0x3e, 0xf8, 0x7e, 0xff, 0xfe, 0x7f, 0xfe, 0x7f, 0xde, 0x1f, 0x1e} - -/* udieresis (252) */ -#define NXFONT_METRICS_252 {2, 15, 25, 2, 12, 0} -#define NXFONT_BITMAP_252 {0x3c, 0x78, 0x3c, 0x78, 0x3c, 0x78, 0x3c, 0x78, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf0, 0x1e, 0xf0, 0x1e, 0xf0, 0x1e, 0xf0, 0x1e, 0xf0, 0x1e, 0xf0, 0x1e, 0xf0, 0x1e, 0xf0, 0x1e, 0xf0, 0x1e, 0xf0, 0x1e, 0xf0, 0x1e, 0xf0, 0x1e, 0xf8, 0x3e, 0xf8, 0x7e, 0xff, 0xfe, 0x7f, 0xfe, 0x7f, 0xde, 0x1f, 0x1e} - -/* yacute (253) */ -#define NXFONT_METRICS_253 {2, 16, 32, 1, 12, 0} -#define NXFONT_BITMAP_253 {0x0, 0x78, 0x0, 0xf0, 0x1, 0xe0, 0x1, 0xc0, 0x3, 0x80, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x1f, 0xf8, 0x1f, 0xf8, 0x1f, 0x78, 0x1e, 0x7c, 0x3e, 0x7c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3e, 0x78, 0x3e, 0x78, 0x1e, 0x78, 0x1f, 0xf0, 0x1f, 0xf0, 0xf, 0xf0, 0xf, 0xe0, 0x7, 0xe0, 0x7, 0xe0, 0x7, 0xc0, 0x7, 0xc0, 0x7, 0xc0, 0xf, 0x80, 0x3f, 0x80, 0x3f, 0x0, 0x3f, 0x0, 0x3c, 0x0} - -/* thorn (254) */ -#define NXFONT_METRICS_254 {2, 16, 32, 2, 12, 0} -#define NXFONT_BITMAP_254 {0xf0, 0x0, 0xf0, 0x0, 0xf0, 0x0, 0xf0, 0x0, 0xf0, 0x0, 0xf0, 0x0, 0xf0, 0x0, 0xf3, 0xf0, 0xf7, 0xfc, 0xff, 0xfe, 0xff, 0xfe, 0xfc, 0x3f, 0xf8, 0x1f, 0xf8, 0x1f, 0xf0, 0xf, 0xf0, 0xf, 0xf0, 0xf, 0xf0, 0xf, 0xf8, 0x1f, 0xf8, 0x1f, 0xfc, 0x3e, 0xff, 0xfe, 0xff, 0xfc, 0xf7, 0xf8, 0xf1, 0xf0, 0xf0, 0x0, 0xf0, 0x0, 0xf0, 0x0, 0xf0, 0x0, 0xf0, 0x0, 0xf0, 0x0, 0xf0, 0x0} - -/* ydieresis (255) */ -#define NXFONT_METRICS_255 {2, 16, 31, 1, 13, 0} -#define NXFONT_BITMAP_255 {0x1e, 0x78, 0x1e, 0x78, 0x1e, 0x78, 0x1e, 0x78, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x1f, 0xf8, 0x1f, 0xf8, 0x1f, 0x78, 0x3e, 0x7c, 0x3e, 0x7c, 0x3c, 0x7c, 0x3c, 0x3e, 0x7c, 0x3e, 0x78, 0x3e, 0x78, 0x1e, 0x78, 0x1f, 0xf0, 0x1f, 0xf0, 0xf, 0xf0, 0xf, 0xe0, 0x7, 0xe0, 0x7, 0xe0, 0x7, 0xc0, 0x7, 0xc0, 0x7, 0xc0, 0xf, 0x80, 0x3f, 0x80, 0x3f, 0x0, 0x3f, 0x0, 0x3c, 0x0} - -/**************************************************************************** - * Public Types - ****************************************************************************/ - -/**************************************************************************** - * Public Data - ****************************************************************************/ - -#undef EXTERN -#if defined(__cplusplus) -#define EXTERN extern "C" -extern "C" { -#else -#define EXTERN extern -#endif - -/**************************************************************************** - * Public Functions - ****************************************************************************/ - -#undef EXTERN -#if defined(__cplusplus) -} -#endif - -#endif /* __GRAPHICS_NXFONTS_NXFONTS_SANS40X49B_H */ diff --git a/nuttx/graphics/nxfonts/nxfonts_serif22x28b.h b/nuttx/graphics/nxfonts/nxfonts_serif22x28b.h deleted file mode 100644 index 8f01ccf8c..000000000 --- a/nuttx/graphics/nxfonts/nxfonts_serif22x28b.h +++ /dev/null @@ -1,849 +0,0 @@ -/**************************************************************************** - * graphics/nxfonts/nxfonts_serif22x28b.h - * - * Copyright (C) 2011-2012 NX Engineering, S.A., All rights reserved. - * Author: Jose Pablo Carballo Gomez <jcarballo@nx-engineering.com> - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * 3. Neither the name NuttX nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT} - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING} - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - ****************************************************************************/ - -#ifndef __GRAPHICS_NXFONTS_NXFONTS_SERIF22X28B_H -#define __GRAPHICS_NXFONTS_NXFONTS_SERIF22X28B_H - -/**************************************************************************** - * Included Files - ****************************************************************************/ - -/**************************************************************************** - * Pre-Processor Definitions - ****************************************************************************/ - -/* Font ID */ - -#define NXFONT_ID FONTID_SERIF22X28B - -/* Ranges of 7-bit and 8-bit fonts */ - -#define NXFONT_MIN7BIT 33 -#define NXFONT_MAX7BIT 126 - -#define NXFONT_MIN8BIT 161 -#define NXFONT_MAX8BIT 255 - -/* Maximum height and width of any glyph in the set */ - -#define NXFONT_MAXHEIGHT 28 -#define NXFONT_MAXWIDTH 22 - -/* The width of a space */ - -#define NXFONT_SPACEWIDTH 5 - -/* exclam (33) */ -#define NXFONT_METRICS_33 {1, 3, 13, 1, 8, 0} -#define NXFONT_BITMAP_33 {0x40, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0x40, 0x40, 0x0, 0xe0, 0xe0, 0xe0} - -/* quotedbl (34) */ -#define NXFONT_METRICS_34 {1, 6, 6, 2, 8, 0} -#define NXFONT_BITMAP_34 {0xcc, 0xcc, 0xcc, 0xcc, 0x88, 0x88} - -/* numbersign (35) */ -#define NXFONT_METRICS_35 {2, 10, 12, 0, 9, 0} -#define NXFONT_BITMAP_35 {0x19, 0x80, 0x19, 0x80, 0x19, 0x80, 0x7f, 0xc0, 0x7f, 0xc0, 0x33, 0x0, 0x33, 0x0, 0xff, 0x80, 0xff, 0x80, 0x66, 0x0, 0x66, 0x0, 0x66, 0x0} - -/* dollar (36) */ -#define NXFONT_METRICS_36 {1, 8, 16, 0, 7, 0} -#define NXFONT_BITMAP_36 {0x18, 0x7e, 0xdb, 0xdb, 0xd8, 0xf8, 0x7c, 0x3e, 0x1f, 0x1f, 0x1b, 0xdb, 0xdb, 0x7e, 0x18, 0x18} - -/* percent (37) */ -#define NXFONT_METRICS_37 {2, 14, 13, 1, 8, 0} -#define NXFONT_BITMAP_37 {0x3c, 0x18, 0x77, 0xf0, 0xe2, 0x60, 0xe2, 0x40, 0xe4, 0xc0, 0xfd, 0x80, 0x73, 0x78, 0x6, 0xec, 0x6, 0xc4, 0xd, 0xc4, 0x19, 0xc8, 0x31, 0xf8, 0x30, 0xe0} - -/* ampersand (38) */ -#define NXFONT_METRICS_38 {2, 13, 13, 2, 8, 0} -#define NXFONT_BITMAP_38 {0x1e, 0x0, 0x33, 0x0, 0x33, 0x0, 0x33, 0x0, 0x3a, 0x0, 0x1c, 0xf0, 0x3c, 0x60, 0x5e, 0x40, 0xcf, 0x80, 0xc7, 0x80, 0xe3, 0xc0, 0xff, 0xf8, 0x78, 0xf0} - -/* quotesingle (39) */ -#define NXFONT_METRICS_39 {1, 2, 6, 1, 8, 0} -#define NXFONT_BITMAP_39 {0xc0, 0xc0, 0xc0, 0xc0, 0x80, 0x80} - -/* parenleft (40) */ -#define NXFONT_METRICS_40 {1, 5, 17, 1, 8, 0} -#define NXFONT_BITMAP_40 {0x8, 0x10, 0x30, 0x60, 0x60, 0xe0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xe0, 0x60, 0x60, 0x30, 0x10, 0x8} - -/* parenright (41) */ -#define NXFONT_METRICS_41 {1, 5, 17, 0, 8, 0} -#define NXFONT_BITMAP_41 {0x80, 0x40, 0x60, 0x30, 0x30, 0x38, 0x18, 0x18, 0x18, 0x18, 0x18, 0x38, 0x30, 0x20, 0x60, 0x40, 0x80} - -/* asterisk (42) */ -#define NXFONT_METRICS_42 {1, 8, 9, 0, 8, 0} -#define NXFONT_BITMAP_42 {0x18, 0x18, 0xdb, 0xff, 0x3c, 0xff, 0xdb, 0x18, 0x18} - -/* plus (43) */ -#define NXFONT_METRICS_43 {2, 10, 10, 0, 11, 0} -#define NXFONT_BITMAP_43 {0xc, 0x0, 0xc, 0x0, 0xc, 0x0, 0xc, 0x0, 0xff, 0xc0, 0xff, 0xc0, 0xc, 0x0, 0xc, 0x0, 0xc, 0x0, 0xc, 0x0} - -/* comma (44) */ -#define NXFONT_METRICS_44 {1, 4, 6, 0, 18, 0} -#define NXFONT_BITMAP_44 {0x70, 0x70, 0x70, 0x30, 0x60, 0xc0} - -/* hyphen (45) */ -#define NXFONT_METRICS_45 {1, 5, 3, 0, 14, 0} -#define NXFONT_BITMAP_45 {0xf8, 0xf8, 0xf8} - -/* period (46) */ -#define NXFONT_METRICS_46 {1, 3, 3, 1, 18, 0} -#define NXFONT_BITMAP_46 {0xe0, 0xe0, 0xe0} - -/* slash (47) */ -#define NXFONT_METRICS_47 {1, 5, 13, 0, 8, 0} -#define NXFONT_BITMAP_47 {0x18, 0x18, 0x18, 0x30, 0x30, 0x30, 0x20, 0x60, 0x60, 0x60, 0xc0, 0xc0, 0xc0} - -/* zero (48) */ -#define NXFONT_METRICS_48 {1, 8, 13, 0, 8, 0} -#define NXFONT_BITMAP_48 {0x3c, 0x66, 0x67, 0xe7, 0xe7, 0xe7, 0xe7, 0xe7, 0xe7, 0xe7, 0x66, 0x66, 0x3c} - -/* one (49) */ -#define NXFONT_METRICS_49 {1, 8, 13, 0, 8, 0} -#define NXFONT_BITMAP_49 {0x1c, 0x3c, 0xfc, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x7f} - -/* two (50) */ -#define NXFONT_METRICS_50 {1, 8, 13, 0, 8, 0} -#define NXFONT_BITMAP_50 {0x3c, 0x7e, 0xcf, 0x87, 0x7, 0x7, 0x6, 0xc, 0x18, 0x31, 0x63, 0xff, 0xff} - -/* three (51) */ -#define NXFONT_METRICS_51 {2, 9, 13, 0, 8, 0} -#define NXFONT_BITMAP_51 {0x3c, 0x0, 0x7e, 0x0, 0x8f, 0x0, 0x7, 0x0, 0xe, 0x0, 0x1c, 0x0, 0x3e, 0x0, 0xf, 0x0, 0x7, 0x80, 0x3, 0x80, 0xc3, 0x0, 0xe6, 0x0, 0x7c, 0x0} - -/* four (52) */ -#define NXFONT_METRICS_52 {1, 8, 13, 0, 8, 0} -#define NXFONT_BITMAP_52 {0xe, 0x1e, 0x1e, 0x2e, 0x2e, 0x4e, 0xce, 0x8e, 0xff, 0xff, 0xe, 0xe, 0xe} - -/* five (53) */ -#define NXFONT_METRICS_53 {2, 9, 13, 0, 8, 0} -#define NXFONT_BITMAP_53 {0x3f, 0x0, 0x3f, 0x0, 0x3e, 0x0, 0x40, 0x0, 0x78, 0x0, 0x7e, 0x0, 0x3f, 0x0, 0x7, 0x80, 0x3, 0x80, 0x3, 0x80, 0xc3, 0x0, 0xe6, 0x0, 0xfc, 0x0} - -/* six (54) */ -#define NXFONT_METRICS_54 {1, 8, 13, 0, 8, 0} -#define NXFONT_BITMAP_54 {0x7, 0x1c, 0x38, 0x70, 0x60, 0xfc, 0xe6, 0xe7, 0xe7, 0xe7, 0xe7, 0x66, 0x3c} - -/* seven (55) */ -#define NXFONT_METRICS_55 {1, 8, 13, 0, 8, 0} -#define NXFONT_BITMAP_55 {0xff, 0xff, 0xfe, 0x86, 0xc, 0xc, 0xc, 0x18, 0x18, 0x38, 0x30, 0x30, 0x70} - -/* eight (56) */ -#define NXFONT_METRICS_56 {1, 8, 13, 0, 8, 0} -#define NXFONT_BITMAP_56 {0x3c, 0x66, 0xe3, 0xe3, 0xf6, 0x7c, 0x3c, 0x7e, 0xcf, 0xc7, 0xc3, 0xe7, 0x7e} - -/* nine (57) */ -#define NXFONT_METRICS_57 {1, 8, 13, 0, 8, 0} -#define NXFONT_BITMAP_57 {0x3c, 0x66, 0xe7, 0xe7, 0xe7, 0xe7, 0x67, 0x3f, 0x7, 0x6, 0xe, 0x3c, 0xf0} - -/* colon (58) */ -#define NXFONT_METRICS_58 {1, 3, 9, 1, 12, 0} -#define NXFONT_BITMAP_58 {0xe0, 0xe0, 0xe0, 0x0, 0x0, 0x0, 0xe0, 0xe0, 0xe0} - -/* semicolon (59) */ -#define NXFONT_METRICS_59 {1, 4, 12, 0, 12, 0} -#define NXFONT_BITMAP_59 {0x70, 0x70, 0x70, 0x0, 0x0, 0x0, 0x70, 0x70, 0x70, 0x30, 0x60, 0xc0} - -/* less (60) */ -#define NXFONT_METRICS_60 {2, 9, 9, 1, 12, 0} -#define NXFONT_BITMAP_60 {0x3, 0x80, 0xf, 0x0, 0x3c, 0x0, 0xf0, 0x0, 0xc0, 0x0, 0xf0, 0x0, 0x3c, 0x0, 0xf, 0x0, 0x3, 0x80} - -/* equal (61) */ -#define NXFONT_METRICS_61 {2, 9, 6, 1, 13, 0} -#define NXFONT_BITMAP_61 {0xff, 0x80, 0xff, 0x80, 0x0, 0x0, 0x0, 0x0, 0xff, 0x80, 0xff, 0x80} - -/* greater (62) */ -#define NXFONT_METRICS_62 {2, 9, 9, 1, 12, 0} -#define NXFONT_BITMAP_62 {0xe0, 0x0, 0x78, 0x0, 0x1e, 0x0, 0x7, 0x80, 0x1, 0x80, 0x7, 0x80, 0x1e, 0x0, 0x78, 0x0, 0xe0, 0x0} - -/* question (63) */ -#define NXFONT_METRICS_63 {1, 7, 13, 1, 8, 0} -#define NXFONT_BITMAP_63 {0x7c, 0xce, 0xee, 0xee, 0x4e, 0xc, 0x18, 0x10, 0x10, 0x0, 0x38, 0x38, 0x38} - -/* at (64) */ -#define NXFONT_METRICS_64 {2, 15, 16, 1, 8, 0} -#define NXFONT_BITMAP_64 {0x3, 0xe0, 0xf, 0x38, 0x38, 0xc, 0x30, 0x4, 0x73, 0xb6, 0x67, 0x76, 0xe7, 0x76, 0xee, 0x66, 0xee, 0x66, 0xee, 0xec, 0xef, 0xfc, 0x67, 0xb8, 0x70, 0x0, 0x38, 0x0, 0x1e, 0x0, 0x7, 0xf0} - -/* A (65) */ -#define NXFONT_METRICS_65 {2, 14, 13, 0, 8, 0} -#define NXFONT_BITMAP_65 {0x3, 0x0, 0x3, 0x80, 0x7, 0x80, 0x5, 0xc0, 0xd, 0xc0, 0x8, 0xc0, 0x18, 0xe0, 0x10, 0x60, 0x1f, 0xf0, 0x30, 0x70, 0x20, 0x38, 0x60, 0x38, 0xf8, 0xfc} - -/* B (66) */ -#define NXFONT_METRICS_66 {2, 10, 13, 1, 8, 0} -#define NXFONT_BITMAP_66 {0xfe, 0x0, 0x73, 0x80, 0x71, 0xc0, 0x71, 0xc0, 0x71, 0xc0, 0x73, 0x80, 0x7e, 0x0, 0x73, 0x80, 0x71, 0xc0, 0x71, 0xc0, 0x71, 0xc0, 0x73, 0x80, 0xff, 0x0} - -/* C (67) */ -#define NXFONT_METRICS_67 {2, 12, 13, 1, 8, 0} -#define NXFONT_BITMAP_67 {0xf, 0x90, 0x38, 0xf0, 0x70, 0x70, 0x70, 0x30, 0xe0, 0x0, 0xe0, 0x0, 0xe0, 0x0, 0xe0, 0x0, 0xe0, 0x0, 0x70, 0x0, 0x70, 0x30, 0x3c, 0xe0, 0xf, 0x80} - -/* D (68) */ -#define NXFONT_METRICS_68 {2, 12, 13, 1, 8, 0} -#define NXFONT_BITMAP_68 {0xff, 0x0, 0x71, 0xc0, 0x70, 0xe0, 0x70, 0x60, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x60, 0x70, 0xe0, 0x71, 0xc0, 0xff, 0x0} - -/* E (69) */ -#define NXFONT_METRICS_69 {2, 10, 13, 2, 8, 0} -#define NXFONT_BITMAP_69 {0xff, 0xc0, 0x70, 0xc0, 0x70, 0x40, 0x70, 0x0, 0x70, 0x0, 0x71, 0x0, 0x7f, 0x0, 0x71, 0x0, 0x70, 0x0, 0x70, 0x0, 0x70, 0x40, 0x70, 0xc0, 0xff, 0xc0} - -/* F (70) */ -#define NXFONT_METRICS_70 {2, 10, 13, 2, 8, 0} -#define NXFONT_BITMAP_70 {0xff, 0xc0, 0x70, 0xc0, 0x70, 0x40, 0x70, 0x0, 0x70, 0x0, 0x71, 0x0, 0x7f, 0x0, 0x71, 0x0, 0x70, 0x0, 0x70, 0x0, 0x70, 0x0, 0x70, 0x0, 0xf8, 0x0} - -/* G (71) */ -#define NXFONT_METRICS_71 {2, 13, 13, 1, 8, 0} -#define NXFONT_BITMAP_71 {0xf, 0x90, 0x38, 0xf0, 0x70, 0x70, 0x70, 0x30, 0xe0, 0x0, 0xe0, 0x0, 0xe0, 0xf8, 0xe0, 0x70, 0xe0, 0x70, 0x70, 0x70, 0x70, 0x70, 0x38, 0xf0, 0xf, 0xc0} - -/* H (72) */ -#define NXFONT_METRICS_72 {2, 13, 13, 1, 8, 0} -#define NXFONT_BITMAP_72 {0xf8, 0xf8, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x7f, 0xf0, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0xf9, 0xf8} - -/* I (73) */ -#define NXFONT_METRICS_73 {1, 5, 13, 1, 8, 0} -#define NXFONT_BITMAP_73 {0xf8, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0xf8} - -/* J (74) */ -#define NXFONT_METRICS_74 {1, 8, 15, 0, 8, 0} -#define NXFONT_BITMAP_74 {0x1f, 0xe, 0xe, 0xe, 0xe, 0xe, 0xe, 0xe, 0xe, 0xe, 0xe, 0xe, 0xee, 0xec, 0x78} - -/* K (75) */ -#define NXFONT_METRICS_75 {2, 12, 13, 2, 8, 0} -#define NXFONT_BITMAP_75 {0xf9, 0xf0, 0x70, 0xc0, 0x71, 0x80, 0x73, 0x0, 0x76, 0x0, 0x7c, 0x0, 0x7c, 0x0, 0x7e, 0x0, 0x77, 0x0, 0x77, 0x80, 0x73, 0xc0, 0x71, 0xe0, 0xf8, 0xf0} - -/* L (76) */ -#define NXFONT_METRICS_76 {2, 10, 13, 2, 8, 0} -#define NXFONT_BITMAP_76 {0xf8, 0x0, 0x70, 0x0, 0x70, 0x0, 0x70, 0x0, 0x70, 0x0, 0x70, 0x0, 0x70, 0x0, 0x70, 0x0, 0x70, 0x0, 0x70, 0x0, 0x70, 0x40, 0x70, 0xc0, 0xff, 0xc0} - -/* M (77) */ -#define NXFONT_METRICS_77 {2, 15, 13, 2, 8, 0} -#define NXFONT_BITMAP_77 {0xf0, 0x1e, 0x70, 0x1c, 0x78, 0x3c, 0x78, 0x3c, 0x7c, 0x5c, 0x5c, 0x5c, 0x5e, 0xdc, 0x4e, 0x9c, 0x4f, 0x9c, 0x47, 0x1c, 0x47, 0x1c, 0x43, 0x1c, 0xe2, 0x3e} - -/* N (78) */ -#define NXFONT_METRICS_78 {2, 12, 13, 1, 8, 0} -#define NXFONT_BITMAP_78 {0xf0, 0x70, 0x78, 0x20, 0x78, 0x20, 0x7c, 0x20, 0x5e, 0x20, 0x4e, 0x20, 0x4f, 0x20, 0x47, 0xa0, 0x43, 0xa0, 0x43, 0xe0, 0x41, 0xe0, 0x40, 0xe0, 0xe0, 0xe0} - -/* O (79) */ -#define NXFONT_METRICS_79 {2, 13, 13, 1, 8, 0} -#define NXFONT_BITMAP_79 {0xf, 0x80, 0x38, 0xe0, 0x70, 0x70, 0x70, 0x70, 0xe0, 0x38, 0xe0, 0x38, 0xe0, 0x38, 0xe0, 0x38, 0xe0, 0x38, 0x70, 0x70, 0x70, 0x70, 0x38, 0xe0, 0xf, 0x80} - -/* P (80) */ -#define NXFONT_METRICS_80 {2, 10, 13, 1, 8, 0} -#define NXFONT_BITMAP_80 {0xff, 0x0, 0x73, 0x80, 0x71, 0xc0, 0x71, 0xc0, 0x71, 0xc0, 0x73, 0x80, 0x7f, 0x0, 0x70, 0x0, 0x70, 0x0, 0x70, 0x0, 0x70, 0x0, 0x70, 0x0, 0xf8, 0x0} - -/* Q (81) */ -#define NXFONT_METRICS_81 {2, 13, 17, 1, 8, 0} -#define NXFONT_BITMAP_81 {0xf, 0x80, 0x38, 0xe0, 0x70, 0x70, 0x70, 0x70, 0xe0, 0x38, 0xe0, 0x38, 0xe0, 0x38, 0xe0, 0x38, 0xe0, 0x38, 0x70, 0x70, 0x70, 0x70, 0x38, 0xe0, 0xf, 0x80, 0xf, 0x0, 0x7, 0x80, 0x3, 0xe0, 0x0, 0xf8} - -/* R (82) */ -#define NXFONT_METRICS_82 {2, 12, 13, 1, 8, 0} -#define NXFONT_BITMAP_82 {0xff, 0x0, 0x73, 0x80, 0x71, 0xc0, 0x71, 0xc0, 0x71, 0xc0, 0x73, 0x80, 0x7f, 0x0, 0x77, 0x0, 0x73, 0x80, 0x71, 0xc0, 0x71, 0xc0, 0x70, 0xe0, 0xf8, 0xf0} - -/* S (83) */ -#define NXFONT_METRICS_83 {2, 9, 13, 1, 8, 0} -#define NXFONT_BITMAP_83 {0x1e, 0x80, 0x63, 0x80, 0xe1, 0x80, 0xe0, 0x0, 0xf8, 0x0, 0x7c, 0x0, 0x3f, 0x0, 0xf, 0x80, 0x7, 0x80, 0x3, 0x80, 0xc3, 0x80, 0xe7, 0x0, 0xbc, 0x0} - -/* T (84) */ -#define NXFONT_METRICS_84 {2, 11, 13, 1, 8, 0} -#define NXFONT_BITMAP_84 {0xff, 0xe0, 0xce, 0x60, 0x8e, 0x20, 0xe, 0x0, 0xe, 0x0, 0xe, 0x0, 0xe, 0x0, 0xe, 0x0, 0xe, 0x0, 0xe, 0x0, 0xe, 0x0, 0xe, 0x0, 0x1f, 0x0} - -/* U (85) */ -#define NXFONT_METRICS_85 {2, 12, 13, 1, 8, 0} -#define NXFONT_BITMAP_85 {0xf8, 0xf0, 0x70, 0x20, 0x70, 0x20, 0x70, 0x20, 0x70, 0x20, 0x70, 0x20, 0x70, 0x20, 0x70, 0x20, 0x70, 0x20, 0x70, 0x20, 0x70, 0x60, 0x38, 0xc0, 0x1f, 0x80} - -/* V (86) */ -#define NXFONT_METRICS_86 {2, 14, 13, 0, 8, 0} -#define NXFONT_BITMAP_86 {0xfc, 0x7c, 0x78, 0x18, 0x38, 0x10, 0x3c, 0x30, 0x1c, 0x20, 0x1e, 0x60, 0x1e, 0x40, 0xe, 0xc0, 0xf, 0x80, 0x7, 0x80, 0x7, 0x0, 0x3, 0x0, 0x2, 0x0} - -/* W (87) */ -#define NXFONT_METRICS_87 {3, 18, 13, 1, 8, 0} -#define NXFONT_BITMAP_87 {0xfd, 0xf7, 0xc0, 0x79, 0xe1, 0x80, 0x38, 0xe1, 0x0, 0x3c, 0xe3, 0x0, 0x3c, 0xe2, 0x0, 0x1c, 0x72, 0x0, 0x1e, 0x76, 0x0, 0xe, 0x74, 0x0, 0xe, 0xbc, 0x0, 0xf, 0x3c, 0x0, 0x7, 0x3c, 0x0, 0x6, 0x18, 0x0, 0x6, 0x18, 0x0} - -/* X (88) */ -#define NXFONT_METRICS_88 {2, 14, 13, 0, 8, 0} -#define NXFONT_BITMAP_88 {0xf8, 0x78, 0x78, 0x30, 0x3c, 0x60, 0x1c, 0xc0, 0xf, 0x80, 0x7, 0x0, 0x7, 0x80, 0x7, 0xc0, 0xd, 0xc0, 0x18, 0xe0, 0x30, 0x70, 0x60, 0x78, 0xf0, 0xfc} - -/* Y (89) */ -#define NXFONT_METRICS_89 {2, 13, 13, 1, 8, 0} -#define NXFONT_BITMAP_89 {0xfc, 0x78, 0x78, 0x30, 0x38, 0x60, 0x3c, 0x40, 0x1e, 0xc0, 0xe, 0x80, 0xf, 0x80, 0x7, 0x0, 0x7, 0x0, 0x7, 0x0, 0x7, 0x0, 0x7, 0x0, 0x1f, 0xc0} - -/* Z (90) */ -#define NXFONT_METRICS_90 {2, 10, 13, 2, 8, 0} -#define NXFONT_BITMAP_90 {0xff, 0xc0, 0xc3, 0xc0, 0x83, 0x80, 0x7, 0x80, 0xf, 0x0, 0xe, 0x0, 0x1e, 0x0, 0x3c, 0x0, 0x38, 0x0, 0x78, 0x0, 0xf0, 0x40, 0xe0, 0xc0, 0xff, 0xc0} - -/* bracketleft (91) */ -#define NXFONT_METRICS_91 {1, 4, 16, 1, 8, 0} -#define NXFONT_BITMAP_91 {0xf0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xf0} - -/* backslash (92) */ -#define NXFONT_METRICS_92 {1, 5, 13, 0, 8, 0} -#define NXFONT_BITMAP_92 {0xc0, 0xc0, 0xc0, 0x60, 0x60, 0x60, 0x20, 0x30, 0x30, 0x30, 0x18, 0x18, 0x18} - -/* bracketright (93) */ -#define NXFONT_METRICS_93 {1, 4, 16, 1, 8, 0} -#define NXFONT_BITMAP_93 {0xf0, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0xf0} - -/* asciicircum (94) */ -#define NXFONT_METRICS_94 {1, 8, 7, 1, 8, 0} -#define NXFONT_BITMAP_94 {0x18, 0x18, 0x3c, 0x24, 0x66, 0xc3, 0xc3} - -/* underscore (95) */ -#define NXFONT_METRICS_95 {2, 9, 2, 0, 23, 0} -#define NXFONT_BITMAP_95 {0xff, 0x80, 0xff, 0x80} - -/* grave (96) */ -#define NXFONT_METRICS_96 {1, 5, 3, 0, 8, 0} -#define NXFONT_BITMAP_96 {0xe0, 0x70, 0x18} - -/* a (97) */ -#define NXFONT_METRICS_97 {1, 8, 9, 0, 12, 0} -#define NXFONT_BITMAP_97 {0x7c, 0xce, 0xce, 0x1e, 0x6e, 0xce, 0xce, 0xfe, 0x77} - -/* b (98) -- NOTE: Xoffset should be -1, not 0. */ -#define NXFONT_METRICS_98 {2, 9, 13, 0, 8, 0} -#define NXFONT_BITMAP_98 {0xf0, 0x0, 0x70, 0x0, 0x70, 0x0, 0x70, 0x0, 0x76, 0x0, 0x7f, 0x0, 0x73, 0x80, 0x73, 0x80, 0x73, 0x80, 0x73, 0x80, 0x73, 0x80, 0x73, 0x0, 0x6e, 0x0} - -/* c (99) */ -#define NXFONT_METRICS_99 {1, 7, 9, 0, 12, 0} -#define NXFONT_BITMAP_99 {0x3e, 0x76, 0xe6, 0xe0, 0xe0, 0xe0, 0xe0, 0x76, 0x3c} - -/* d (100) */ -#define NXFONT_METRICS_100 {2, 9, 13, 0, 8, 0} -#define NXFONT_BITMAP_100 {0xf, 0x0, 0x7, 0x0, 0x7, 0x0, 0x7, 0x0, 0x37, 0x0, 0x7f, 0x0, 0xe7, 0x0, 0xe7, 0x0, 0xe7, 0x0, 0xe7, 0x0, 0xe7, 0x0, 0x77, 0x0, 0x3b, 0x80} - -/* e (101) */ -#define NXFONT_METRICS_101 {1, 7, 9, 0, 12, 0} -#define NXFONT_BITMAP_101 {0x3c, 0x76, 0xe6, 0xfe, 0xe0, 0xe0, 0xe0, 0x76, 0x3c} - -/* f (102) */ -#define NXFONT_METRICS_102 {1, 7, 13, 0, 8, 0} -#define NXFONT_BITMAP_102 {0x3e, 0x76, 0x76, 0x70, 0xfc, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0xf8} - -/* g (103) */ -#define NXFONT_METRICS_103 {2, 9, 13, 0, 12, 0} -#define NXFONT_BITMAP_103 {0x3f, 0x80, 0xe7, 0x0, 0xe7, 0x0, 0xe7, 0x0, 0xe6, 0x0, 0x78, 0x0, 0x60, 0x0, 0xfe, 0x0, 0xff, 0x80, 0xe3, 0x80, 0xc1, 0x80, 0xe3, 0x0, 0x7e, 0x0} - -/* h (104) */ -#define NXFONT_METRICS_104 {2, 10, 13, 0, 8, 0} -#define NXFONT_BITMAP_104 {0xf0, 0x0, 0x70, 0x0, 0x70, 0x0, 0x70, 0x0, 0x77, 0x0, 0x7f, 0x80, 0x73, 0x80, 0x73, 0x80, 0x73, 0x80, 0x73, 0x80, 0x73, 0x80, 0x73, 0x80, 0xfb, 0xc0} - -/* i (105) */ -#define NXFONT_METRICS_105 {1, 5, 13, 0, 8, 0} -#define NXFONT_BITMAP_105 {0x60, 0x60, 0x60, 0x0, 0xf0, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0xf8} - -/* j (106) -- NOTE: Xoffset should be -2, not 0. */ -#define NXFONT_METRICS_106 {1, 6, 17, 0, 8, 0} -#define NXFONT_BITMAP_106 {0x18, 0x18, 0x18, 0x0, 0x3c, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0xdc, 0xd8, 0x70} - -/* k (107) */ -#define NXFONT_METRICS_107 {2, 10, 13, 0, 8, 0} -#define NXFONT_BITMAP_107 {0xf0, 0x0, 0x70, 0x0, 0x70, 0x0, 0x70, 0x0, 0x73, 0x80, 0x73, 0x0, 0x76, 0x0, 0x7c, 0x0, 0x7c, 0x0, 0x7e, 0x0, 0x77, 0x0, 0x73, 0x80, 0xf7, 0xc0} - -/* l (108) */ -#define NXFONT_METRICS_108 {1, 5, 13, 0, 8, 0} -#define NXFONT_BITMAP_108 {0xf0, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0xf8} - -/* m (109) */ -#define NXFONT_METRICS_109 {2, 15, 9, 0, 12, 0} -#define NXFONT_BITMAP_109 {0xf7, 0x38, 0x7b, 0xdc, 0x73, 0x9c, 0x73, 0x9c, 0x73, 0x9c, 0x73, 0x9c, 0x73, 0x9c, 0x73, 0x9c, 0xfb, 0xde} - -/* n (110) */ -#define NXFONT_METRICS_110 {2, 10, 9, 0, 12, 0} -#define NXFONT_BITMAP_110 {0xe7, 0x0, 0x7f, 0x80, 0x73, 0x80, 0x73, 0x80, 0x73, 0x80, 0x73, 0x80, 0x73, 0x80, 0x73, 0x80, 0xfb, 0xc0} - -/* o (111) */ -#define NXFONT_METRICS_111 {1, 8, 9, 0, 12, 0} -#define NXFONT_BITMAP_111 {0x3c, 0x66, 0xe7, 0xe7, 0xe7, 0xe7, 0xe7, 0x66, 0x3c} - -/* p (112) */ -#define NXFONT_METRICS_112 {2, 9, 13, 0, 12, 0} -#define NXFONT_BITMAP_112 {0xe6, 0x0, 0x7f, 0x0, 0x73, 0x80, 0x73, 0x80, 0x73, 0x80, 0x73, 0x80, 0x73, 0x80, 0x7b, 0x0, 0x76, 0x0, 0x70, 0x0, 0x70, 0x0, 0x70, 0x0, 0xf8, 0x0} - -/* q (113) */ -#define NXFONT_METRICS_113 {2, 9, 13, 0, 12, 0} -#define NXFONT_BITMAP_113 {0x39, 0x0, 0x77, 0x0, 0xe7, 0x0, 0xe7, 0x0, 0xe7, 0x0, 0xe7, 0x0, 0xe7, 0x0, 0x7f, 0x0, 0x37, 0x0, 0x7, 0x0, 0x7, 0x0, 0x7, 0x0, 0xf, 0x80} - -/* r (114) */ -#define NXFONT_METRICS_114 {1, 7, 9, 0, 12, 0} -#define NXFONT_BITMAP_114 {0xee, 0x76, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0xf8} - -/* s (115) */ -#define NXFONT_METRICS_115 {1, 6, 9, 0, 12, 0} -#define NXFONT_BITMAP_115 {0x7c, 0xcc, 0xe4, 0xf0, 0x78, 0x3c, 0x9c, 0xcc, 0xf8} - -/* t (116) */ -#define NXFONT_METRICS_116 {1, 6, 11, 0, 10, 0} -#define NXFONT_BITMAP_116 {0x10, 0x30, 0xfc, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x74, 0x38} - -/* u (117) */ -#define NXFONT_METRICS_117 {2, 10, 9, 0, 12, 0} -#define NXFONT_BITMAP_117 {0xf7, 0x80, 0x73, 0x80, 0x73, 0x80, 0x73, 0x80, 0x73, 0x80, 0x73, 0x80, 0x73, 0x80, 0x7f, 0x80, 0x3d, 0xc0} - -/* v (118) -- NOTE: Xoffset should be -1, not 0. */ -#define NXFONT_METRICS_118 {2, 10, 9, 0, 12, 0} -#define NXFONT_BITMAP_118 {0xfb, 0xc0, 0x71, 0x80, 0x79, 0x0, 0x3b, 0x0, 0x3b, 0x0, 0x1e, 0x0, 0x1e, 0x0, 0xc, 0x0, 0xc, 0x0} - -/* w (119) -- NOTE: Xoffset should be -1, not 0. */ -#define NXFONT_METRICS_119 {2, 14, 9, 0, 12, 0} -#define NXFONT_BITMAP_119 {0xf7, 0x9c, 0x77, 0x18, 0x73, 0x90, 0x3b, 0xb0, 0x39, 0xa0, 0x1d, 0xe0, 0x1f, 0xe0, 0xc, 0xc0, 0xc, 0xc0} - -/* x (120) */ -#define NXFONT_METRICS_120 {2, 9, 9, 0, 12, 0} -#define NXFONT_BITMAP_120 {0xf3, 0x80, 0x73, 0x0, 0x7a, 0x0, 0x3c, 0x0, 0x1c, 0x0, 0x1e, 0x0, 0x37, 0x0, 0x67, 0x80, 0xe3, 0x80} - -/* y (121) -- NOTE: Xoffset should be -1, not 0. */ -#define NXFONT_METRICS_121 {2, 10, 13, 0, 12, 0} -#define NXFONT_BITMAP_121 {0xfb, 0xc0, 0x71, 0x80, 0x79, 0x0, 0x3b, 0x0, 0x3a, 0x0, 0x1e, 0x0, 0x1e, 0x0, 0xc, 0x0, 0xc, 0x0, 0xc, 0x0, 0xc8, 0x0, 0xd8, 0x0, 0xf0, 0x0} - -/* z (122) */ -#define NXFONT_METRICS_122 {1, 7, 9, 0, 12, 0} -#define NXFONT_BITMAP_122 {0xfe, 0xce, 0x8e, 0x1c, 0x38, 0x70, 0x72, 0xe6, 0xfe} - -/* braceleft (123) */ -#define NXFONT_METRICS_123 {1, 7, 17, 0, 8, 0} -#define NXFONT_BITMAP_123 {0x1e, 0x38, 0x30, 0x30, 0x30, 0x30, 0x30, 0x60, 0xc0, 0x60, 0x30, 0x30, 0x30, 0x30, 0x30, 0x38, 0x1e} - -/* bar (124) */ -#define NXFONT_METRICS_124 {1, 2, 16, 1, 8, 0} -#define NXFONT_BITMAP_124 {0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0} - -/* braceright (125) */ -#define NXFONT_METRICS_125 {1, 7, 17, 1, 8, 0} -#define NXFONT_BITMAP_125 {0xf0, 0x38, 0x18, 0x18, 0x18, 0x18, 0x18, 0xc, 0x6, 0xc, 0x18, 0x18, 0x18, 0x18, 0x18, 0x38, 0xf0} - -/* asciitilde (126) */ -#define NXFONT_METRICS_126 {1, 8, 4, 1, 14, 0} -#define NXFONT_BITMAP_126 {0x70, 0xf9, 0x9f, 0xe} - -/* exclamdown (161) */ -#define NXFONT_METRICS_161 {1, 3, 13, 1, 12, 0} -#define NXFONT_BITMAP_161 {0xe0, 0xe0, 0xe0, 0x0, 0x40, 0x40, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0x40} - -/* cent (162) */ -#define NXFONT_METRICS_162 {1, 8, 13, 0, 10, 0} -#define NXFONT_BITMAP_162 {0x1, 0x3, 0x3e, 0x77, 0xef, 0xec, 0xd8, 0xd8, 0xf0, 0x73, 0x3e, 0x60, 0x40} - -/* sterling (163) */ -#define NXFONT_METRICS_163 {2, 14, 13, 0, 8, 0} -#define NXFONT_BITMAP_163 {0x1f, 0x0, 0x3b, 0x0, 0x3b, 0x0, 0x38, 0x0, 0x38, 0x0, 0x38, 0x0, 0xfe, 0x0, 0x38, 0x4, 0x38, 0x0, 0x30, 0x0, 0xf0, 0x80, 0xbf, 0x80, 0xef, 0x0} - -/* currency (164) */ -#define NXFONT_METRICS_164 {1, 8, 8, 0, 11, 0} -#define NXFONT_BITMAP_164 {0xdb, 0xff, 0x66, 0xc3, 0xc3, 0x66, 0xff, 0xdb} - -/* yen (165) */ -#define NXFONT_METRICS_165 {2, 9, 13, 0, 8, 0} -#define NXFONT_BITMAP_165 {0xfb, 0x80, 0x71, 0x0, 0x73, 0x0, 0x3a, 0x0, 0x3a, 0x0, 0x1c, 0x0, 0x7f, 0x0, 0x1c, 0x0, 0x7f, 0x0, 0x1c, 0x0, 0x1c, 0x0, 0x1c, 0x0, 0x7f, 0x0} - -/* brokenbar (166) */ -#define NXFONT_METRICS_166 {1, 2, 16, 1, 8, 0} -#define NXFONT_BITMAP_166 {0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0x0, 0x0, 0x0, 0x0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0} - -/* section (167) */ -#define NXFONT_METRICS_167 {1, 7, 16, 1, 8, 0} -#define NXFONT_BITMAP_167 {0x3c, 0x66, 0x46, 0x60, 0x30, 0x78, 0xdc, 0xce, 0xe6, 0x76, 0x3c, 0x1c, 0xc, 0xc4, 0xcc, 0x78} - -/* dieresis (168) */ -#define NXFONT_METRICS_168 {1, 6, 2, 0, 9, 0} -#define NXFONT_BITMAP_168 {0xcc, 0xcc} - -/* copyright (169) */ -#define NXFONT_METRICS_169 {2, 13, 13, 1, 8, 0} -#define NXFONT_BITMAP_169 {0xf, 0x80, 0x38, 0xe0, 0x60, 0x30, 0x4f, 0xd0, 0xdc, 0xd8, 0x98, 0x48, 0x98, 0x8, 0x98, 0x8, 0xdc, 0xd8, 0x4f, 0x90, 0x60, 0x30, 0x38, 0xe0, 0xf, 0x80} - -/* ordfeminine (170) */ -#define NXFONT_METRICS_170 {1, 6, 8, 0, 8, 0} -#define NXFONT_BITMAP_170 {0x70, 0xd8, 0x38, 0xd8, 0xd8, 0xec, 0x0, 0xfc} - -/* guillemotleft (171) */ -#define NXFONT_METRICS_171 {2, 9, 7, 1, 13, 0} -#define NXFONT_BITMAP_171 {0x19, 0x80, 0x33, 0x0, 0x66, 0x0, 0xcc, 0x0, 0x66, 0x0, 0x33, 0x0, 0x19, 0x80} - -/* logicalnot (172) */ -#define NXFONT_METRICS_172 {2, 9, 6, 1, 14, 0} -#define NXFONT_BITMAP_172 {0xff, 0x80, 0xff, 0x80, 0x1, 0x80, 0x1, 0x80, 0x1, 0x80, 0x1, 0x80} - -/* hyphen (173) */ -#define NXFONT_METRICS_173 {1, 5, 3, 0, 14, 0} -#define NXFONT_BITMAP_173 {0xf8, 0xf8, 0xf8} - -/* registered (174) */ -#define NXFONT_METRICS_174 {2, 13, 13, 1, 8, 0} -#define NXFONT_BITMAP_174 {0xf, 0x80, 0x38, 0xe0, 0x60, 0x30, 0x5f, 0x90, 0xcc, 0xd8, 0x8c, 0xc8, 0x8f, 0x88, 0x8d, 0x88, 0xcc, 0xd8, 0x5e, 0xf0, 0x60, 0x30, 0x38, 0xe0, 0xf, 0x80} - -/* macron (175) */ -#define NXFONT_METRICS_175 {1, 6, 1, 0, 9, 0} -#define NXFONT_BITMAP_175 {0xfc} - -/* degree (176) */ -#define NXFONT_METRICS_176 {1, 6, 5, 0, 8, 0} -#define NXFONT_BITMAP_176 {0x78, 0xcc, 0xcc, 0xcc, 0x78} - -/* plusminus (177) */ -#define NXFONT_METRICS_177 {1, 8, 11, 1, 10, 0} -#define NXFONT_BITMAP_177 {0x18, 0x18, 0x18, 0xff, 0xff, 0x18, 0x18, 0x18, 0x0, 0xff, 0xff} - -/* twosuperior (178) */ -#define NXFONT_METRICS_178 {1, 5, 8, 0, 8, 0} -#define NXFONT_BITMAP_178 {0x70, 0x98, 0x18, 0x30, 0x20, 0x40, 0xf8, 0xf0} - -/* threesuperior (179) */ -#define NXFONT_METRICS_179 {1, 5, 8, 0, 8, 0} -#define NXFONT_BITMAP_179 {0x70, 0x98, 0x18, 0x70, 0x38, 0x18, 0x98, 0x70} - -/* acute (180) */ -#define NXFONT_METRICS_180 {1, 5, 3, 0, 8, 0} -#define NXFONT_BITMAP_180 {0x38, 0x70, 0xc0} - -/* mu (181) */ -#define NXFONT_METRICS_181 {2, 10, 13, 0, 12, 0} -#define NXFONT_BITMAP_181 {0xf7, 0x80, 0x73, 0x80, 0x73, 0x80, 0x73, 0x80, 0x73, 0x80, 0x73, 0x80, 0x73, 0x80, 0x7f, 0x80, 0x7d, 0xc0, 0x60, 0x0, 0xe0, 0x0, 0xf0, 0x0, 0x60, 0x0} - -/* paragraph (182) */ -#define NXFONT_METRICS_182 {2, 9, 17, 0, 8, 0} -#define NXFONT_BITMAP_182 {0x3f, 0x80, 0x7f, 0x80, 0xfb, 0x0, 0xfb, 0x0, 0xfb, 0x0, 0xfb, 0x0, 0x7b, 0x0, 0x3b, 0x0, 0x1b, 0x0, 0x1b, 0x0, 0x1b, 0x0, 0x1b, 0x0, 0x1b, 0x0, 0x1b, 0x0, 0x1b, 0x0, 0x1b, 0x0, 0x1b, 0x0} - -/* periodcentered (183) */ -#define NXFONT_METRICS_183 {1, 3, 3, 1, 14, 0} -#define NXFONT_BITMAP_183 {0xe0, 0xe0, 0xe0} - -/* cedilla (184) */ -#define NXFONT_METRICS_184 {1, 5, 4, 1, 21, 0} -#define NXFONT_BITMAP_184 {0x20, 0x18, 0x98, 0x70} - -/* onesuperior (185) */ -#define NXFONT_METRICS_185 {1, 6, 8, 0, 8, 0} -#define NXFONT_BITMAP_185 {0x30, 0xf0, 0x30, 0x30, 0x30, 0x30, 0x30, 0xfc} - -/* ordmasculine (186) */ -#define NXFONT_METRICS_186 {1, 6, 8, 0, 8, 0} -#define NXFONT_BITMAP_186 {0x78, 0xcc, 0xcc, 0xcc, 0xcc, 0x78, 0x0, 0xfc} - -/* guillemotright (187) */ -#define NXFONT_METRICS_187 {2, 9, 7, 1, 13, 0} -#define NXFONT_BITMAP_187 {0xcc, 0x0, 0x66, 0x0, 0x33, 0x0, 0x19, 0x80, 0x33, 0x0, 0x66, 0x0, 0xcc, 0x0} - -/* onequarter (188) */ -#define NXFONT_METRICS_188 {2, 13, 13, 0, 8, 0} -#define NXFONT_BITMAP_188 {0x30, 0x60, 0xf0, 0xc0, 0x30, 0xc0, 0x31, 0x80, 0x31, 0x80, 0x33, 0x10, 0x33, 0x30, 0xfe, 0x70, 0x6, 0xb0, 0xd, 0xb0, 0xd, 0xf8, 0x18, 0x30, 0x18, 0x30} - -/* onehalf (189) */ -#define NXFONT_METRICS_189 {2, 13, 13, 0, 8, 0} -#define NXFONT_BITMAP_189 {0x30, 0x60, 0xf0, 0xc0, 0x30, 0xc0, 0x31, 0x80, 0x31, 0x80, 0x33, 0x70, 0x33, 0x98, 0xfe, 0x18, 0x6, 0x30, 0xc, 0x20, 0xc, 0x40, 0x18, 0xf8, 0x18, 0xf0} - -/* threequarters (190) */ -#define NXFONT_METRICS_190 {2, 13, 13, 0, 8, 0} -#define NXFONT_BITMAP_190 {0x70, 0x60, 0x98, 0xc0, 0x18, 0xc0, 0x71, 0x80, 0x39, 0x80, 0x1b, 0x10, 0x9b, 0x30, 0x76, 0x70, 0x6, 0xb0, 0xd, 0xb0, 0xd, 0xf8, 0x18, 0x30, 0x18, 0x30} - -/* questiondown (191) */ -#define NXFONT_METRICS_191 {1, 7, 13, 1, 12, 0} -#define NXFONT_BITMAP_191 {0x38, 0x38, 0x38, 0x0, 0x10, 0x10, 0x30, 0x60, 0xe4, 0xee, 0xee, 0xe6, 0x7c} - -/* Agrave (192) */ -#define NXFONT_METRICS_192 {2, 14, 17, 0, 4, 0} -#define NXFONT_BITMAP_192 {0xe, 0x0, 0x7, 0x0, 0x1, 0x80, 0x0, 0x0, 0x3, 0x0, 0x3, 0x80, 0x7, 0x80, 0x5, 0xc0, 0xd, 0xc0, 0x8, 0xc0, 0x18, 0xe0, 0x10, 0x60, 0x1f, 0xf0, 0x30, 0x70, 0x20, 0x38, 0x60, 0x38, 0xf8, 0xfc} - -/* Aacute (193) */ -#define NXFONT_METRICS_193 {2, 14, 17, 0, 4, 0} -#define NXFONT_BITMAP_193 {0x3, 0x80, 0x7, 0x0, 0xc, 0x0, 0x0, 0x0, 0x3, 0x0, 0x3, 0x80, 0x7, 0x80, 0x5, 0xc0, 0xd, 0xc0, 0x8, 0xc0, 0x18, 0xe0, 0x10, 0x60, 0x1f, 0xf0, 0x30, 0x70, 0x20, 0x38, 0x60, 0x38, 0xf8, 0xfc} - -/* Acircumflex (194) */ -#define NXFONT_METRICS_194 {2, 14, 17, 0, 4, 0} -#define NXFONT_BITMAP_194 {0x3, 0x0, 0x7, 0x80, 0xc, 0xc0, 0x0, 0x0, 0x3, 0x0, 0x3, 0x80, 0x7, 0x80, 0x5, 0xc0, 0xd, 0xc0, 0x8, 0xc0, 0x18, 0xe0, 0x10, 0x60, 0x1f, 0xf0, 0x30, 0x70, 0x20, 0x38, 0x60, 0x38, 0xf8, 0xfc} - -/* Atilde (195) */ -#define NXFONT_METRICS_195 {2, 14, 17, 0, 4, 0} -#define NXFONT_BITMAP_195 {0x6, 0x40, 0xf, 0xc0, 0x9, 0x80, 0x0, 0x0, 0x3, 0x0, 0x3, 0x80, 0x7, 0x80, 0x5, 0xc0, 0xd, 0xc0, 0x8, 0xc0, 0x18, 0xe0, 0x10, 0x60, 0x1f, 0xf0, 0x30, 0x70, 0x20, 0x38, 0x60, 0x38, 0xf8, 0xfc} - -/* Adieresis (196) */ -#define NXFONT_METRICS_196 {2, 14, 16, 0, 5, 0} -#define NXFONT_BITMAP_196 {0xc, 0xc0, 0xc, 0xc0, 0x0, 0x0, 0x3, 0x0, 0x3, 0x80, 0x7, 0x80, 0x5, 0xc0, 0xd, 0xc0, 0x8, 0xc0, 0x18, 0xe0, 0x10, 0x60, 0x1f, 0xf0, 0x30, 0x70, 0x20, 0x38, 0x60, 0x38, 0xf8, 0xfc} - -/* Aring (197) */ -#define NXFONT_METRICS_197 {2, 14, 17, 0, 4, 0} -#define NXFONT_BITMAP_197 {0x7, 0x0, 0xd, 0x80, 0xd, 0x80, 0x7, 0x0, 0x3, 0x0, 0x3, 0x80, 0x7, 0x80, 0x5, 0xc0, 0xd, 0xc0, 0x8, 0xc0, 0x18, 0xe0, 0x10, 0x60, 0x1f, 0xf0, 0x30, 0x70, 0x20, 0x38, 0x60, 0x38, 0xf8, 0xfc} - -/* AE (198) */ -#define NXFONT_METRICS_198 {3, 17, 13, 0, 8, 0} -#define NXFONT_BITMAP_198 {0x7, 0xff, 0x80, 0x3, 0xe1, 0x80, 0x2, 0xe0, 0x80, 0x6, 0xe0, 0x0, 0x4, 0xe0, 0x0, 0xc, 0xe2, 0x0, 0x8, 0xfe, 0x0, 0x1f, 0xe2, 0x0, 0x10, 0xe0, 0x0, 0x30, 0xe0, 0x0, 0x20, 0xe0, 0x80, 0x60, 0xe1, 0x80, 0xf9, 0xff, 0x80} - -/* Ccedilla (199) */ -#define NXFONT_METRICS_199 {2, 12, 17, 1, 8, 0} -#define NXFONT_BITMAP_199 {0xf, 0x90, 0x38, 0xf0, 0x70, 0x70, 0x70, 0x30, 0xe0, 0x0, 0xe0, 0x0, 0xe0, 0x0, 0xe0, 0x0, 0xe0, 0x0, 0x70, 0x0, 0x70, 0x30, 0x3c, 0xe0, 0xf, 0x80, 0x4, 0x0, 0x3, 0x0, 0x13, 0x0, 0xe, 0x0} - -/* Egrave (200) */ -#define NXFONT_METRICS_200 {2, 10, 17, 2, 4, 0} -#define NXFONT_BITMAP_200 {0x38, 0x0, 0x1c, 0x0, 0x6, 0x0, 0x0, 0x0, 0xff, 0xc0, 0x70, 0xc0, 0x70, 0x40, 0x70, 0x0, 0x70, 0x0, 0x71, 0x0, 0x7f, 0x0, 0x71, 0x0, 0x70, 0x0, 0x70, 0x0, 0x70, 0x40, 0x70, 0xc0, 0xff, 0xc0} - -/* Eacute (201) */ -#define NXFONT_METRICS_201 {2, 10, 17, 2, 4, 0} -#define NXFONT_BITMAP_201 {0xe, 0x0, 0x1c, 0x0, 0x30, 0x0, 0x0, 0x0, 0xff, 0xc0, 0x70, 0xc0, 0x70, 0x40, 0x70, 0x0, 0x70, 0x0, 0x71, 0x0, 0x7f, 0x0, 0x71, 0x0, 0x70, 0x0, 0x70, 0x0, 0x70, 0x40, 0x70, 0xc0, 0xff, 0xc0} - -/* Ecircumflex (202) */ -#define NXFONT_METRICS_202 {2, 10, 17, 2, 4, 0} -#define NXFONT_BITMAP_202 {0xc, 0x0, 0x1e, 0x0, 0x33, 0x0, 0x0, 0x0, 0xff, 0xc0, 0x70, 0xc0, 0x70, 0x40, 0x70, 0x0, 0x70, 0x0, 0x71, 0x0, 0x7f, 0x0, 0x71, 0x0, 0x70, 0x0, 0x70, 0x0, 0x70, 0x40, 0x70, 0xc0, 0xff, 0xc0} - -/* Edieresis (203) */ -#define NXFONT_METRICS_203 {2, 10, 16, 2, 5, 0} -#define NXFONT_BITMAP_203 {0x33, 0x0, 0x33, 0x0, 0x0, 0x0, 0xff, 0xc0, 0x70, 0xc0, 0x70, 0x40, 0x70, 0x0, 0x70, 0x0, 0x71, 0x0, 0x7f, 0x0, 0x71, 0x0, 0x70, 0x0, 0x70, 0x0, 0x70, 0x40, 0x70, 0xc0, 0xff, 0xc0} - -/* Igrave (204) */ -#define NXFONT_METRICS_204 {1, 5, 17, 1, 4, 0} -#define NXFONT_BITMAP_204 {0xe0, 0x70, 0x18, 0x0, 0xf8, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0xf8} - -/* Iacute (205) */ -#define NXFONT_METRICS_205 {1, 5, 17, 1, 4, 0} -#define NXFONT_BITMAP_205 {0x38, 0x70, 0xc0, 0x0, 0xf8, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0xf8} - -/* Icircumflex (206) */ -#define NXFONT_METRICS_206 {1, 6, 17, 1, 4, 0} -#define NXFONT_BITMAP_206 {0x30, 0x78, 0xcc, 0x0, 0xf8, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0xf8} - -/* Idieresis (207) */ -#define NXFONT_METRICS_207 {1, 6, 16, 1, 5, 0} -#define NXFONT_BITMAP_207 {0xcc, 0xcc, 0x0, 0xf8, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0xf8} - -/* Eth (208) */ -#define NXFONT_METRICS_208 {2, 13, 13, 0, 8, 0} -#define NXFONT_BITMAP_208 {0x7f, 0x80, 0x38, 0xe0, 0x38, 0x70, 0x38, 0x30, 0x38, 0x38, 0x38, 0x38, 0xfe, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x30, 0x38, 0x70, 0x38, 0xe0, 0x7f, 0x80} - -/* Ntilde (209) */ -#define NXFONT_METRICS_209 {2, 12, 17, 1, 4, 0} -#define NXFONT_BITMAP_209 {0xc, 0x80, 0x1f, 0x80, 0x13, 0x0, 0x0, 0x0, 0xf0, 0x70, 0x78, 0x20, 0x78, 0x20, 0x7c, 0x20, 0x5e, 0x20, 0x4e, 0x20, 0x4f, 0x20, 0x47, 0xa0, 0x43, 0xa0, 0x43, 0xe0, 0x41, 0xe0, 0x40, 0xe0, 0xe0, 0xe0} - -/* Ograve (210) */ -#define NXFONT_METRICS_210 {2, 13, 17, 1, 4, 0} -#define NXFONT_BITMAP_210 {0xe, 0x0, 0x7, 0x0, 0x1, 0x80, 0x0, 0x0, 0xf, 0x80, 0x38, 0xe0, 0x70, 0x70, 0x70, 0x70, 0xe0, 0x38, 0xe0, 0x38, 0xe0, 0x38, 0xe0, 0x38, 0xe0, 0x38, 0x70, 0x70, 0x70, 0x70, 0x38, 0xe0, 0xf, 0x80} - -/* Oacute (211) */ -#define NXFONT_METRICS_211 {2, 13, 17, 1, 4, 0} -#define NXFONT_BITMAP_211 {0x3, 0x80, 0x7, 0x0, 0xc, 0x0, 0x0, 0x0, 0xf, 0x80, 0x38, 0xe0, 0x70, 0x70, 0x70, 0x70, 0xe0, 0x38, 0xe0, 0x38, 0xe0, 0x38, 0xe0, 0x38, 0xe0, 0x38, 0x70, 0x70, 0x70, 0x70, 0x38, 0xe0, 0xf, 0x80} - -/* Ocircumflex (212) */ -#define NXFONT_METRICS_212 {2, 13, 17, 1, 4, 0} -#define NXFONT_BITMAP_212 {0x6, 0x0, 0xf, 0x0, 0x19, 0x80, 0x0, 0x0, 0xf, 0x80, 0x38, 0xe0, 0x70, 0x70, 0x70, 0x70, 0xe0, 0x38, 0xe0, 0x38, 0xe0, 0x38, 0xe0, 0x38, 0xe0, 0x38, 0x70, 0x70, 0x70, 0x70, 0x38, 0xe0, 0xf, 0x80} - -/* Otilde (213) */ -#define NXFONT_METRICS_213 {2, 13, 17, 1, 4, 0} -#define NXFONT_BITMAP_213 {0xc, 0x80, 0x1f, 0x80, 0x13, 0x0, 0x0, 0x0, 0xf, 0x80, 0x38, 0xe0, 0x70, 0x70, 0x70, 0x70, 0xe0, 0x38, 0xe0, 0x38, 0xe0, 0x38, 0xe0, 0x38, 0xe0, 0x38, 0x70, 0x70, 0x70, 0x70, 0x38, 0xe0, 0xf, 0x80} - -/* Odieresis (214) */ -#define NXFONT_METRICS_214 {2, 13, 16, 1, 5, 0} -#define NXFONT_BITMAP_214 {0x19, 0x80, 0x19, 0x80, 0x0, 0x0, 0xf, 0x80, 0x38, 0xe0, 0x70, 0x70, 0x70, 0x70, 0xe0, 0x38, 0xe0, 0x38, 0xe0, 0x38, 0xe0, 0x38, 0xe0, 0x38, 0x70, 0x70, 0x70, 0x70, 0x38, 0xe0, 0xf, 0x80} - -/* multiply (215) */ -#define NXFONT_METRICS_215 {2, 9, 8, 1, 12, 0} -#define NXFONT_BITMAP_215 {0xc1, 0x80, 0x63, 0x0, 0x36, 0x0, 0x1c, 0x0, 0x1c, 0x0, 0x36, 0x0, 0x63, 0x0, 0xc1, 0x80} - -/* Oslash (216) */ -#define NXFONT_METRICS_216 {2, 13, 15, 1, 7, 0} -#define NXFONT_BITMAP_216 {0x0, 0x60, 0xf, 0xc0, 0x38, 0xe0, 0x70, 0xb0, 0x71, 0xb0, 0xe1, 0x38, 0xe3, 0x38, 0xe2, 0x38, 0xe6, 0x38, 0xe4, 0x38, 0x6c, 0x70, 0x68, 0x70, 0x38, 0xe0, 0x1f, 0x80, 0x30, 0x0} - -/* Ugrave (217) */ -#define NXFONT_METRICS_217 {2, 12, 17, 1, 4, 0} -#define NXFONT_BITMAP_217 {0x1c, 0x0, 0xe, 0x0, 0x3, 0x0, 0x0, 0x0, 0xf8, 0xf0, 0x70, 0x20, 0x70, 0x20, 0x70, 0x20, 0x70, 0x20, 0x70, 0x20, 0x70, 0x20, 0x70, 0x20, 0x70, 0x20, 0x70, 0x20, 0x70, 0x60, 0x38, 0xc0, 0x1f, 0x80} - -/* Uacute (218) */ -#define NXFONT_METRICS_218 {2, 12, 17, 1, 4, 0} -#define NXFONT_BITMAP_218 {0x1, 0xc0, 0x3, 0x80, 0x6, 0x0, 0x0, 0x0, 0xf8, 0xf0, 0x70, 0x20, 0x70, 0x20, 0x70, 0x20, 0x70, 0x20, 0x70, 0x20, 0x70, 0x20, 0x70, 0x20, 0x70, 0x20, 0x70, 0x20, 0x70, 0x60, 0x38, 0xc0, 0x1f, 0x80} - -/* Ucircumflex (219) */ -#define NXFONT_METRICS_219 {2, 12, 17, 1, 4, 0} -#define NXFONT_BITMAP_219 {0x6, 0x0, 0xf, 0x0, 0x19, 0x80, 0x0, 0x0, 0xf8, 0xf0, 0x70, 0x20, 0x70, 0x20, 0x70, 0x20, 0x70, 0x20, 0x70, 0x20, 0x70, 0x20, 0x70, 0x20, 0x70, 0x20, 0x70, 0x20, 0x70, 0x60, 0x38, 0xc0, 0x1f, 0x80} - -/* Udieresis (220) */ -#define NXFONT_METRICS_220 {2, 12, 16, 1, 5, 0} -#define NXFONT_BITMAP_220 {0x19, 0x80, 0x19, 0x80, 0x0, 0x0, 0xf8, 0xf0, 0x70, 0x20, 0x70, 0x20, 0x70, 0x20, 0x70, 0x20, 0x70, 0x20, 0x70, 0x20, 0x70, 0x20, 0x70, 0x20, 0x70, 0x20, 0x70, 0x60, 0x38, 0xc0, 0x1f, 0x80} - -/* Yacute (221) */ -#define NXFONT_METRICS_221 {2, 13, 17, 1, 4, 0} -#define NXFONT_BITMAP_221 {0x0, 0xe0, 0x1, 0xc0, 0x3, 0x0, 0x0, 0x0, 0xfc, 0x78, 0x78, 0x30, 0x38, 0x60, 0x3c, 0x40, 0x1e, 0xc0, 0xe, 0x80, 0xf, 0x80, 0x7, 0x0, 0x7, 0x0, 0x7, 0x0, 0x7, 0x0, 0x7, 0x0, 0x1f, 0xc0} - -/* Thorn (222) */ -#define NXFONT_METRICS_222 {2, 10, 13, 1, 8, 0} -#define NXFONT_BITMAP_222 {0xf8, 0x0, 0x70, 0x0, 0x70, 0x0, 0x7f, 0x0, 0x73, 0x80, 0x71, 0xc0, 0x71, 0xc0, 0x71, 0xc0, 0x73, 0x80, 0x7f, 0x0, 0x70, 0x0, 0x70, 0x0, 0xf8, 0x0} - -/* germandbls (223) */ -#define NXFONT_METRICS_223 {2, 9, 13, 0, 8, 0} -#define NXFONT_BITMAP_223 {0x1e, 0x0, 0x3b, 0x0, 0x73, 0x80, 0x73, 0x80, 0x73, 0x80, 0x77, 0x0, 0x72, 0x0, 0x73, 0x0, 0x73, 0x80, 0x73, 0x80, 0x73, 0x80, 0x73, 0x80, 0xf7, 0x0} - -/* agrave (224) */ -#define NXFONT_METRICS_224 {1, 8, 13, 0, 8, 0} -#define NXFONT_BITMAP_224 {0x70, 0x38, 0xc, 0x0, 0x7c, 0xce, 0xce, 0x1e, 0x6e, 0xce, 0xce, 0xfe, 0x77} - -/* aacute (225) */ -#define NXFONT_METRICS_225 {1, 8, 13, 0, 8, 0} -#define NXFONT_BITMAP_225 {0xe, 0x1c, 0x30, 0x0, 0x7c, 0xce, 0xce, 0x1e, 0x6e, 0xce, 0xce, 0xfe, 0x77} - -/* acircumflex (226) */ -#define NXFONT_METRICS_226 {1, 8, 13, 0, 8, 0} -#define NXFONT_BITMAP_226 {0x18, 0x3c, 0x66, 0x0, 0x7c, 0xce, 0xce, 0x1e, 0x6e, 0xce, 0xce, 0xfe, 0x77} - -/* atilde (227) */ -#define NXFONT_METRICS_227 {1, 8, 13, 0, 8, 0} -#define NXFONT_BITMAP_227 {0x32, 0x7e, 0x4c, 0x0, 0x7c, 0xce, 0xce, 0x1e, 0x6e, 0xce, 0xce, 0xfe, 0x77} - -/* adieresis (228) */ -#define NXFONT_METRICS_228 {1, 8, 12, 0, 9, 0} -#define NXFONT_BITMAP_228 {0x66, 0x66, 0x0, 0x7c, 0xce, 0xce, 0x1e, 0x6e, 0xce, 0xce, 0xfe, 0x77} - -/* aring (229) */ -#define NXFONT_METRICS_229 {1, 8, 13, 0, 8, 0} -#define NXFONT_BITMAP_229 {0x38, 0x6c, 0x6c, 0x38, 0x7c, 0xce, 0xce, 0x1e, 0x6e, 0xce, 0xce, 0xfe, 0x77} - -/* ae (230) */ -#define NXFONT_METRICS_230 {2, 12, 9, 0, 12, 0} -#define NXFONT_BITMAP_230 {0x7d, 0xe0, 0xe7, 0xb0, 0xc7, 0x30, 0xf, 0xf0, 0x7f, 0x0, 0xe7, 0x0, 0xc7, 0x0, 0xef, 0xb0, 0x79, 0xe0} - -/* ccedilla (231) */ -#define NXFONT_METRICS_231 {1, 7, 13, 0, 12, 0} -#define NXFONT_BITMAP_231 {0x3e, 0x76, 0xe6, 0xe0, 0xe0, 0xe0, 0xe0, 0x76, 0x3c, 0x10, 0xc, 0x4c, 0x38} - -/* egrave (232) */ -#define NXFONT_METRICS_232 {1, 7, 13, 0, 8, 0} -#define NXFONT_BITMAP_232 {0x70, 0x38, 0xc, 0x0, 0x3c, 0x76, 0xe6, 0xfe, 0xe0, 0xe0, 0xe0, 0x76, 0x3c} - -/* eacute (233) */ -#define NXFONT_METRICS_233 {1, 8, 13, 0, 8, 0} -#define NXFONT_BITMAP_233 {0x7, 0xe, 0x18, 0x0, 0x3c, 0x76, 0xe6, 0xfe, 0xe0, 0xe0, 0xe0, 0x76, 0x3c} - -/* ecircumflex (234) */ -#define NXFONT_METRICS_234 {1, 7, 13, 0, 8, 0} -#define NXFONT_BITMAP_234 {0x18, 0x3c, 0x66, 0x0, 0x3c, 0x76, 0xe6, 0xfe, 0xe0, 0xe0, 0xe0, 0x76, 0x3c} - -/* edieresis (235) */ -#define NXFONT_METRICS_235 {1, 7, 12, 0, 9, 0} -#define NXFONT_BITMAP_235 {0x66, 0x66, 0x0, 0x3c, 0x76, 0xe6, 0xfe, 0xe0, 0xe0, 0xe0, 0x76, 0x3c} - -/* igrave (236) */ -#define NXFONT_METRICS_236 {1, 5, 13, 0, 8, 0} -#define NXFONT_BITMAP_236 {0xe0, 0x70, 0x18, 0x0, 0xf0, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0xf8} - -/* iacute (237) */ -#define NXFONT_METRICS_237 {1, 5, 13, 0, 8, 0} -#define NXFONT_BITMAP_237 {0x38, 0x70, 0xc0, 0x0, 0xf0, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0xf8} - -/* icircumflex (238) */ -#define NXFONT_METRICS_238 {1, 6, 13, 0, 8, 0} -#define NXFONT_BITMAP_238 {0x30, 0x78, 0xcc, 0x0, 0xf0, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0xf8} - -/* idieresis (239) */ -#define NXFONT_METRICS_239 {1, 6, 12, 0, 9, 0} -#define NXFONT_BITMAP_239 {0xcc, 0xcc, 0x0, 0xf0, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0xf8} - -/* eth (240) */ -#define NXFONT_METRICS_240 {1, 8, 13, 0, 8, 0} -#define NXFONT_BITMAP_240 {0x60, 0x36, 0x38, 0x4c, 0x3e, 0x66, 0xe7, 0xe7, 0xe7, 0xe7, 0xe7, 0x66, 0x3c} - -/* ntilde (241) */ -#define NXFONT_METRICS_241 {2, 10, 13, 0, 8, 0} -#define NXFONT_BITMAP_241 {0x19, 0x0, 0x3f, 0x0, 0x26, 0x0, 0x0, 0x0, 0xe7, 0x0, 0x7f, 0x80, 0x73, 0x80, 0x73, 0x80, 0x73, 0x80, 0x73, 0x80, 0x73, 0x80, 0x73, 0x80, 0xfb, 0xc0} - -/* ograve (242) */ -#define NXFONT_METRICS_242 {1, 8, 13, 0, 8, 0} -#define NXFONT_BITMAP_242 {0x70, 0x38, 0xc, 0x0, 0x3c, 0x66, 0xe7, 0xe7, 0xe7, 0xe7, 0xe7, 0x66, 0x3c} - -/* oacute (243) */ -#define NXFONT_METRICS_243 {1, 8, 13, 0, 8, 0} -#define NXFONT_BITMAP_243 {0x7, 0xe, 0x18, 0x0, 0x3c, 0x66, 0xe7, 0xe7, 0xe7, 0xe7, 0xe7, 0x66, 0x3c} - -/* ocircumflex (244) */ -#define NXFONT_METRICS_244 {1, 8, 13, 0, 8, 0} -#define NXFONT_BITMAP_244 {0x18, 0x3c, 0x66, 0x0, 0x3c, 0x66, 0xe7, 0xe7, 0xe7, 0xe7, 0xe7, 0x66, 0x3c} - -/* otilde (245) */ -#define NXFONT_METRICS_245 {1, 8, 13, 0, 8, 0} -#define NXFONT_BITMAP_245 {0x32, 0x7e, 0x4c, 0x0, 0x3c, 0x66, 0xe7, 0xe7, 0xe7, 0xe7, 0xe7, 0x66, 0x3c} - -/* odieresis (246) */ -#define NXFONT_METRICS_246 {1, 8, 12, 0, 9, 0} -#define NXFONT_BITMAP_246 {0x66, 0x66, 0x0, 0x3c, 0x66, 0xe7, 0xe7, 0xe7, 0xe7, 0xe7, 0x66, 0x3c} - -/* divide (247) */ -#define NXFONT_METRICS_247 {1, 8, 8, 1, 12, 0} -#define NXFONT_BITMAP_247 {0x18, 0x18, 0x0, 0xff, 0xff, 0x0, 0x18, 0x18} - -/* oslash (248) -- NOTE: Xoffset should be -1, not 0. */ -#define NXFONT_METRICS_248 {2, 10, 11, 0, 11, 0} -#define NXFONT_BITMAP_248 {0x0, 0x40, 0x1e, 0x80, 0x33, 0x0, 0x73, 0x80, 0x73, 0x80, 0x77, 0x80, 0x7b, 0x80, 0x71, 0x80, 0x33, 0x0, 0x5e, 0x0, 0x80, 0x0} - -/* ugrave (249) */ -#define NXFONT_METRICS_249 {2, 10, 13, 0, 8, 0} -#define NXFONT_BITMAP_249 {0x38, 0x0, 0x1c, 0x0, 0x6, 0x0, 0x0, 0x0, 0xf7, 0x80, 0x73, 0x80, 0x73, 0x80, 0x73, 0x80, 0x73, 0x80, 0x73, 0x80, 0x73, 0x80, 0x7f, 0x80, 0x3d, 0xc0} - -/* uacute (250) */ -#define NXFONT_METRICS_250 {2, 10, 13, 0, 8, 0} -#define NXFONT_BITMAP_250 {0xe, 0x0, 0x1c, 0x0, 0x30, 0x0, 0x0, 0x0, 0xf7, 0x80, 0x73, 0x80, 0x73, 0x80, 0x73, 0x80, 0x73, 0x80, 0x73, 0x80, 0x73, 0x80, 0x7f, 0x80, 0x3d, 0xc0} - -/* ucircumflex (251) */ -#define NXFONT_METRICS_251 {2, 10, 13, 0, 8, 0} -#define NXFONT_BITMAP_251 {0xc, 0x0, 0x1e, 0x0, 0x33, 0x0, 0x0, 0x0, 0xf7, 0x80, 0x73, 0x80, 0x73, 0x80, 0x73, 0x80, 0x73, 0x80, 0x73, 0x80, 0x73, 0x80, 0x7f, 0x80, 0x3d, 0xc0} - -/* udieresis (252) */ -#define NXFONT_METRICS_252 {2, 10, 12, 0, 9, 0} -#define NXFONT_BITMAP_252 {0x33, 0x0, 0x33, 0x0, 0x0, 0x0, 0xf7, 0x80, 0x73, 0x80, 0x73, 0x80, 0x73, 0x80, 0x73, 0x80, 0x73, 0x80, 0x73, 0x80, 0x7f, 0x80, 0x3d, 0xc0} - -/* yacute (253) -- NOTE: Xoffset should be -1, not 0. */ -#define NXFONT_METRICS_253 {2, 10, 17, 0, 8, 0} -#define NXFONT_BITMAP_253 {0x3, 0x80, 0x7, 0x0, 0xc, 0x0, 0x0, 0x0, 0xfb, 0xc0, 0x71, 0x80, 0x79, 0x0, 0x3b, 0x0, 0x3a, 0x0, 0x1e, 0x0, 0x1e, 0x0, 0xc, 0x0, 0xc, 0x0, 0xc, 0x0, 0x8, 0x0, 0xd8, 0x0, 0xf0, 0x0} - -/* thorn (254) */ -#define NXFONT_METRICS_254 {2, 9, 17, 0, 8, 0} -#define NXFONT_BITMAP_254 {0xf0, 0x0, 0x70, 0x0, 0x70, 0x0, 0x70, 0x0, 0x76, 0x0, 0x7f, 0x0, 0x73, 0x80, 0x73, 0x80, 0x73, 0x80, 0x73, 0x80, 0x73, 0x80, 0x7b, 0x0, 0x76, 0x0, 0x70, 0x0, 0x70, 0x0, 0x70, 0x0, 0xf8, 0x0} - -/* ydieresis (255) -- NOTE: Xoffset should be -1, not 0. */ -#define NXFONT_METRICS_255 {2, 10, 16, 0, 9, 0} -#define NXFONT_BITMAP_255 {0x33, 0x0, 0x33, 0x0, 0x0, 0x0, 0xfb, 0xc0, 0x71, 0x80, 0x79, 0x0, 0x3b, 0x0, 0x3a, 0x0, 0x1e, 0x0, 0x1e, 0x0, 0xc, 0x0, 0xc, 0x0, 0xc, 0x0, 0x8, 0x0, 0xd8, 0x0, 0xf0, 0x0} - -/**************************************************************************** - * Public Types - ****************************************************************************/ - -/**************************************************************************** - * Public Data - ****************************************************************************/ - -#undef EXTERN -#if defined(__cplusplus) -#define EXTERN extern "C" -extern "C" { -#else -#define EXTERN extern -#endif - -/**************************************************************************** - * Public Functions - ****************************************************************************/ - -#undef EXTERN -#if defined(__cplusplus) -} -#endif - -#endif /* __GRAPHICS_NXFONTS_NXFONTS_SERIF22X28B_H */ diff --git a/nuttx/graphics/nxfonts/nxfonts_serif22x29.h b/nuttx/graphics/nxfonts/nxfonts_serif22x29.h deleted file mode 100644 index 35d61ebe8..000000000 --- a/nuttx/graphics/nxfonts/nxfonts_serif22x29.h +++ /dev/null @@ -1,849 +0,0 @@ -/**************************************************************************** - * graphics/nxfonts/nxfonts_serif22x29.h - * - * Copyright (C) 2011-2012 NX Engineering, S.A., All rights reserved. - * Author: Jose Pablo Carballo Gomez <jcarballo@nx-engineering.com> - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * 3. Neither the name NuttX nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT} - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING} - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - ****************************************************************************/ - -#ifndef __GRAPHICS_NXFONTS_NXFONTS_SERIF22X29_H -#define __GRAPHICS_NXFONTS_NXFONTS_SERIF22X29_H - -/**************************************************************************** - * Included Files - ****************************************************************************/ - -/**************************************************************************** - * Pre-Processor Definitions - ****************************************************************************/ - -/* Font ID */ - -#define NXFONT_ID FONTID_SERIF22X29 - -/* Ranges of 7-bit and 8-bit fonts */ - -#define NXFONT_MIN7BIT 33 -#define NXFONT_MAX7BIT 126 - -#define NXFONT_MIN8BIT 161 -#define NXFONT_MAX8BIT 255 - -/* Maximum height and width of any glyph in the set */ - -#define NXFONT_MAXHEIGHT 29 -#define NXFONT_MAXWIDTH 22 - -/* The width of a space */ - -#define NXFONT_SPACEWIDTH 5 - -/* exclam (33) */ -#define NXFONT_METRICS_33 {1, 2, 13, 1, 9, 0} -#define NXFONT_BITMAP_33 {0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0x40, 0x40, 0x40, 0x0, 0x0, 0xc0, 0xc0} - -/* quotedbl (34) */ -#define NXFONT_METRICS_34 {1, 6, 4, 1, 9, 0} -#define NXFONT_BITMAP_34 {0xcc, 0xcc, 0xcc, 0x88} - -/* numbersign (35) -- NOTE: Xoffset should be -1, not 0. */ -#define NXFONT_METRICS_35 {2, 12, 11, 0, 10, 0} -#define NXFONT_BITMAP_35 {0xc, 0xc0, 0xc, 0xc0, 0xc, 0xc0, 0x7f, 0xf0, 0x19, 0x80, 0x19, 0x80, 0x19, 0x80, 0xff, 0xe0, 0x33, 0x0, 0x33, 0x0, 0x33, 0x0} - -/* dollar (36) */ -#define NXFONT_METRICS_36 {1, 7, 16, 1, 8, 0} -#define NXFONT_BITMAP_36 {0x10, 0x7c, 0xd6, 0xd2, 0xd0, 0xf0, 0x78, 0x3c, 0x1c, 0x16, 0x16, 0x96, 0xd6, 0x7c, 0x10, 0x10} - -/* percent (37) */ -#define NXFONT_METRICS_37 {2, 13, 13, 1, 9, 0} -#define NXFONT_BITMAP_37 {0x38, 0x30, 0x6f, 0xe0, 0xc4, 0x40, 0xc4, 0x80, 0xcd, 0x80, 0xfb, 0x0, 0x72, 0x70, 0x6, 0xd8, 0xd, 0x88, 0x9, 0x88, 0x19, 0x98, 0x31, 0xf0, 0x20, 0xe0} - -/* ampersand (38) */ -#define NXFONT_METRICS_38 {2, 12, 13, 1, 9, 0} -#define NXFONT_BITMAP_38 {0x1c, 0x0, 0x32, 0x0, 0x32, 0x0, 0x32, 0x0, 0x34, 0x0, 0x19, 0xe0, 0x38, 0xc0, 0x6d, 0x80, 0xcf, 0x0, 0xc7, 0x0, 0xc7, 0x80, 0xed, 0xf0, 0x78, 0xe0} - -/* quotesingle (39) */ -#define NXFONT_METRICS_39 {1, 2, 4, 1, 9, 0} -#define NXFONT_BITMAP_39 {0xc0, 0xc0, 0xc0, 0x80} - -/* parenleft (40) */ -#define NXFONT_METRICS_40 {1, 5, 17, 1, 9, 0} -#define NXFONT_BITMAP_40 {0x18, 0x30, 0x60, 0x60, 0x40, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0x40, 0x60, 0x60, 0x30, 0x18} - -/* parenright (41) */ -#define NXFONT_METRICS_41 {1, 5, 17, 1, 9, 0} -#define NXFONT_BITMAP_41 {0xc0, 0x60, 0x30, 0x30, 0x10, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x10, 0x30, 0x30, 0x60, 0xc0} - -/* asterisk (42) */ -#define NXFONT_METRICS_42 {1, 7, 7, 1, 9, 0} -#define NXFONT_BITMAP_42 {0x10, 0xd6, 0x54, 0x38, 0xd6, 0x92, 0x10} - -/* plus (43) */ -#define NXFONT_METRICS_43 {1, 8, 8, 1, 13, 0} -#define NXFONT_BITMAP_43 {0x18, 0x18, 0x18, 0xff, 0xff, 0x18, 0x18, 0x18} - -/* comma (44) */ -#define NXFONT_METRICS_44 {1, 3, 5, 0, 20, 0} -#define NXFONT_BITMAP_44 {0x60, 0x60, 0x20, 0x60, 0xc0} - -/* hyphen (45) */ -#define NXFONT_METRICS_45 {1, 5, 2, 0, 17, 0} -#define NXFONT_BITMAP_45 {0xf8, 0xf8} - -/* period (46) */ -#define NXFONT_METRICS_46 {1, 2, 2, 1, 20, 0} -#define NXFONT_BITMAP_46 {0xc0, 0xc0} - -/* slash (47) -- NOTE: Xoffset should be -1, not 0. */ -#define NXFONT_METRICS_47 {1, 7, 17, 0, 9, 0} -#define NXFONT_BITMAP_47 {0x2, 0x2, 0x6, 0x4, 0xc, 0xc, 0x8, 0x18, 0x18, 0x10, 0x30, 0x30, 0x20, 0x60, 0x60, 0x40, 0xc0} - -/* zero (48) */ -#define NXFONT_METRICS_48 {1, 8, 13, 1, 9, 0} -#define NXFONT_BITMAP_48 {0x3c, 0x66, 0x66, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0x66, 0x66, 0x3c} - -/* one (49) */ -#define NXFONT_METRICS_49 {1, 6, 13, 2, 9, 0} -#define NXFONT_BITMAP_49 {0x30, 0x70, 0xf0, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x78, 0xfc} - -/* two (50) */ -#define NXFONT_METRICS_50 {1, 7, 13, 1, 9, 0} -#define NXFONT_BITMAP_50 {0x3c, 0x7e, 0xce, 0x86, 0x6, 0x6, 0xc, 0xc, 0x18, 0x30, 0x62, 0xfe, 0xfe} - -/* three (51) */ -#define NXFONT_METRICS_51 {1, 7, 13, 1, 9, 0} -#define NXFONT_BITMAP_51 {0x7c, 0xce, 0x86, 0x6, 0xc, 0x38, 0x3c, 0xe, 0x6, 0x6, 0x6, 0xcc, 0xf8} - -/* four (52) */ -#define NXFONT_METRICS_52 {1, 8, 13, 0, 9, 0} -#define NXFONT_BITMAP_52 {0x2, 0x6, 0xe, 0xe, 0x16, 0x26, 0x46, 0x46, 0xff, 0xff, 0x6, 0x6, 0x6} - -/* five (53) */ -#define NXFONT_METRICS_53 {1, 7, 13, 1, 9, 0} -#define NXFONT_BITMAP_53 {0x7e, 0x7c, 0xc0, 0xc0, 0xf0, 0x3c, 0xc, 0xe, 0x6, 0x6, 0xc, 0xdc, 0xf0} - -/* six (54) */ -#define NXFONT_METRICS_54 {1, 8, 13, 1, 9, 0} -#define NXFONT_BITMAP_54 {0x7, 0x1c, 0x30, 0x60, 0x60, 0xfc, 0xc6, 0xc3, 0xc3, 0xc3, 0xe3, 0x76, 0x3c} - -/* seven (55) */ -#define NXFONT_METRICS_55 {1, 8, 13, 1, 9, 0} -#define NXFONT_BITMAP_55 {0x7f, 0xff, 0x82, 0x6, 0x4, 0xc, 0xc, 0x8, 0x18, 0x18, 0x10, 0x30, 0x30} - -/* eight (56) */ -#define NXFONT_METRICS_56 {1, 8, 13, 1, 9, 0} -#define NXFONT_BITMAP_56 {0x3c, 0x66, 0xc2, 0xe6, 0x7c, 0x38, 0x3c, 0x6e, 0xc7, 0xc3, 0xc3, 0x66, 0x3c} - -/* nine (57) */ -#define NXFONT_METRICS_57 {1, 8, 13, 1, 9, 0} -#define NXFONT_BITMAP_57 {0x3c, 0x6e, 0xc6, 0xc3, 0xc3, 0xc3, 0xe3, 0x7f, 0x36, 0x6, 0xc, 0x38, 0xe0} - -/* colon (58) */ -#define NXFONT_METRICS_58 {1, 2, 9, 1, 13, 0} -#define NXFONT_BITMAP_58 {0xc0, 0xc0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xc0, 0xc0} - -/* semicolon (59) */ -#define NXFONT_METRICS_59 {1, 3, 12, 0, 13, 0} -#define NXFONT_BITMAP_59 {0x60, 0x60, 0x0, 0x0, 0x0, 0x0, 0x0, 0x60, 0x60, 0x20, 0x60, 0xc0} - -/* less (60) */ -#define NXFONT_METRICS_60 {2, 9, 9, 1, 13, 0} -#define NXFONT_BITMAP_60 {0x1, 0x80, 0x7, 0x0, 0x1c, 0x0, 0x70, 0x0, 0xc0, 0x0, 0x70, 0x0, 0x1c, 0x0, 0x7, 0x0, 0x1, 0x80} - -/* equal (61) */ -#define NXFONT_METRICS_61 {2, 9, 5, 1, 15, 0} -#define NXFONT_BITMAP_61 {0xff, 0x80, 0xff, 0x80, 0x0, 0x0, 0xff, 0x80, 0xff, 0x80} - -/* greater (62) */ -#define NXFONT_METRICS_62 {2, 9, 9, 1, 13, 0} -#define NXFONT_BITMAP_62 {0xc0, 0x0, 0x70, 0x0, 0x1c, 0x0, 0x7, 0x0, 0x1, 0x80, 0x7, 0x0, 0x1c, 0x0, 0x70, 0x0, 0xc0, 0x0} - -/* question (63) */ -#define NXFONT_METRICS_63 {1, 6, 13, 1, 9, 0} -#define NXFONT_BITMAP_63 {0x78, 0x8c, 0xc4, 0xcc, 0xc, 0x18, 0x18, 0x30, 0x20, 0x20, 0x0, 0x30, 0x30} - -/* at (64) */ -#define NXFONT_METRICS_64 {2, 14, 16, 1, 9, 0} -#define NXFONT_BITMAP_64 {0x7, 0xe0, 0xe, 0x30, 0x38, 0x18, 0x30, 0x8, 0x63, 0xec, 0x67, 0xe4, 0xc6, 0x64, 0xcc, 0x64, 0xcc, 0xcc, 0xcc, 0xc8, 0xcd, 0xd8, 0x67, 0x70, 0x60, 0x0, 0x30, 0x0, 0x1c, 0x30, 0x7, 0xe0} - -/* A (65) */ -#define NXFONT_METRICS_65 {2, 13, 13, 1, 9, 0} -#define NXFONT_BITMAP_65 {0x2, 0x0, 0x7, 0x0, 0x7, 0x0, 0x5, 0x0, 0xd, 0x80, 0x9, 0x80, 0x19, 0xc0, 0x10, 0xc0, 0x1f, 0xc0, 0x30, 0xe0, 0x20, 0x60, 0x60, 0x70, 0xf0, 0xf8} - -/* B (66) */ -#define NXFONT_METRICS_66 {2, 10, 13, 2, 9, 0} -#define NXFONT_BITMAP_66 {0xff, 0x0, 0x63, 0x80, 0x61, 0x80, 0x61, 0x80, 0x61, 0x80, 0x63, 0x0, 0x7f, 0x80, 0x61, 0xc0, 0x60, 0xc0, 0x60, 0xc0, 0x60, 0xc0, 0x61, 0x80, 0xff, 0x0} - -/* C (67) */ -#define NXFONT_METRICS_67 {2, 11, 13, 1, 9, 0} -#define NXFONT_BITMAP_67 {0xf, 0x20, 0x30, 0xe0, 0x60, 0x60, 0x60, 0x20, 0xc0, 0x0, 0xc0, 0x0, 0xc0, 0x0, 0xc0, 0x0, 0xc0, 0x0, 0x60, 0x0, 0x60, 0x60, 0x38, 0xc0, 0xf, 0x0} - -/* D (68) */ -#define NXFONT_METRICS_68 {2, 11, 13, 2, 9, 0} -#define NXFONT_BITMAP_68 {0xff, 0x0, 0x63, 0x80, 0x60, 0xc0, 0x60, 0xc0, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0xc0, 0x60, 0xc0, 0x63, 0x80, 0xff, 0x0} - -/* E (69) */ -#define NXFONT_METRICS_69 {2, 9, 13, 1, 9, 0} -#define NXFONT_BITMAP_69 {0xff, 0x80, 0x61, 0x80, 0x60, 0x80, 0x60, 0x0, 0x60, 0x0, 0x61, 0x0, 0x7f, 0x0, 0x61, 0x0, 0x60, 0x0, 0x60, 0x0, 0x60, 0x80, 0x61, 0x80, 0xff, 0x80} - -/* F (70) */ -#define NXFONT_METRICS_70 {2, 9, 13, 1, 9, 0} -#define NXFONT_BITMAP_70 {0xff, 0x80, 0x61, 0x80, 0x60, 0x80, 0x60, 0x0, 0x60, 0x0, 0x61, 0x0, 0x7f, 0x0, 0x61, 0x0, 0x60, 0x0, 0x60, 0x0, 0x60, 0x0, 0x60, 0x0, 0xf0, 0x0} - -/* G (71) */ -#define NXFONT_METRICS_71 {2, 12, 13, 1, 9, 0} -#define NXFONT_BITMAP_71 {0xf, 0x20, 0x30, 0xe0, 0x60, 0x60, 0x60, 0x20, 0xc0, 0x0, 0xc0, 0x0, 0xc0, 0xf0, 0xc0, 0x60, 0xc0, 0x60, 0x60, 0x60, 0x60, 0x60, 0x39, 0xc0, 0xf, 0x0} - -/* H (72) */ -#define NXFONT_METRICS_72 {2, 12, 13, 1, 9, 0} -#define NXFONT_BITMAP_72 {0xf0, 0xf0, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x7f, 0xe0, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0xf0, 0xf0} - -/* I (73) */ -#define NXFONT_METRICS_73 {1, 4, 13, 1, 9, 0} -#define NXFONT_BITMAP_73 {0xf0, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0xf0} - -/* J (74) */ -#define NXFONT_METRICS_74 {1, 6, 13, 0, 9, 0} -#define NXFONT_BITMAP_74 {0x3c, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0xd8, 0xf0} - -/* K (75) */ -#define NXFONT_METRICS_75 {2, 12, 13, 1, 9, 0} -#define NXFONT_BITMAP_75 {0xf3, 0xe0, 0x61, 0x80, 0x63, 0x0, 0x66, 0x0, 0x6c, 0x0, 0x78, 0x0, 0x78, 0x0, 0x7c, 0x0, 0x6e, 0x0, 0x67, 0x0, 0x63, 0x80, 0x61, 0xc0, 0xf0, 0xf0} - -/* L (76) */ -#define NXFONT_METRICS_76 {2, 10, 13, 1, 9, 0} -#define NXFONT_BITMAP_76 {0xf0, 0x0, 0x60, 0x0, 0x60, 0x0, 0x60, 0x0, 0x60, 0x0, 0x60, 0x0, 0x60, 0x0, 0x60, 0x0, 0x60, 0x0, 0x60, 0x0, 0x60, 0x40, 0x60, 0xc0, 0xff, 0xc0} - -/* M (77) */ -#define NXFONT_METRICS_77 {2, 14, 13, 1, 9, 0} -#define NXFONT_BITMAP_77 {0xe0, 0x1c, 0x70, 0x38, 0x70, 0x38, 0x78, 0x78, 0x58, 0x58, 0x58, 0xd8, 0x5c, 0xd8, 0x4c, 0x98, 0x4d, 0x98, 0x47, 0x18, 0x47, 0x18, 0x42, 0x18, 0xe2, 0x3c} - -/* N (78) */ -#define NXFONT_METRICS_78 {2, 12, 13, 1, 9, 0} -#define NXFONT_BITMAP_78 {0xe0, 0x70, 0x60, 0x20, 0x70, 0x20, 0x78, 0x20, 0x5c, 0x20, 0x4c, 0x20, 0x4e, 0x20, 0x47, 0x20, 0x43, 0xa0, 0x41, 0xe0, 0x40, 0xe0, 0x40, 0x60, 0xe0, 0x20} - -/* O (79) */ -#define NXFONT_METRICS_79 {2, 12, 13, 1, 9, 0} -#define NXFONT_BITMAP_79 {0xf, 0x0, 0x30, 0xc0, 0x60, 0x60, 0x60, 0x60, 0xc0, 0x30, 0xc0, 0x30, 0xc0, 0x30, 0xc0, 0x30, 0xc0, 0x30, 0x60, 0x60, 0x60, 0x60, 0x30, 0xc0, 0xf, 0x0} - -/* P (80) */ -#define NXFONT_METRICS_80 {2, 9, 13, 1, 9, 0} -#define NXFONT_BITMAP_80 {0xff, 0x0, 0x63, 0x80, 0x61, 0x80, 0x61, 0x80, 0x61, 0x80, 0x63, 0x0, 0x7e, 0x0, 0x60, 0x0, 0x60, 0x0, 0x60, 0x0, 0x60, 0x0, 0x60, 0x0, 0xf0, 0x0} - -/* Q (81) */ -#define NXFONT_METRICS_81 {2, 12, 17, 1, 9, 0} -#define NXFONT_BITMAP_81 {0xf, 0x0, 0x30, 0xc0, 0x60, 0x60, 0x60, 0x60, 0xc0, 0x30, 0xc0, 0x30, 0xc0, 0x30, 0xc0, 0x30, 0xc0, 0x30, 0x60, 0x60, 0x60, 0x60, 0x30, 0xc0, 0xf, 0x0, 0x6, 0x0, 0x3, 0x0, 0x1, 0xc0, 0x0, 0xf0} - -/* R (82) */ -#define NXFONT_METRICS_82 {2, 11, 13, 1, 9, 0} -#define NXFONT_BITMAP_82 {0xff, 0x0, 0x63, 0x80, 0x61, 0x80, 0x61, 0x80, 0x61, 0x80, 0x63, 0x0, 0x7e, 0x0, 0x6e, 0x0, 0x66, 0x0, 0x63, 0x0, 0x61, 0x80, 0x60, 0xc0, 0xf0, 0xe0} - -/* S (83) */ -#define NXFONT_METRICS_83 {1, 8, 13, 2, 9, 0} -#define NXFONT_BITMAP_83 {0x3a, 0x46, 0xc2, 0xc0, 0xe0, 0x78, 0x3c, 0xe, 0x7, 0x3, 0x83, 0xc6, 0xb8} - -/* T (84) */ -#define NXFONT_METRICS_84 {2, 10, 13, 1, 9, 0} -#define NXFONT_BITMAP_84 {0xff, 0xc0, 0xcc, 0xc0, 0x8c, 0x40, 0xc, 0x0, 0xc, 0x0, 0xc, 0x0, 0xc, 0x0, 0xc, 0x0, 0xc, 0x0, 0xc, 0x0, 0xc, 0x0, 0xc, 0x0, 0x1e, 0x0} - -/* U (85) */ -#define NXFONT_METRICS_85 {2, 11, 13, 2, 9, 0} -#define NXFONT_BITMAP_85 {0xf0, 0xe0, 0x60, 0x40, 0x60, 0x40, 0x60, 0x40, 0x60, 0x40, 0x60, 0x40, 0x60, 0x40, 0x60, 0x40, 0x60, 0x40, 0x60, 0x40, 0x70, 0xc0, 0x39, 0x80, 0x1f, 0x0} - -/* V (86) */ -#define NXFONT_METRICS_86 {2, 13, 13, 0, 9, 0} -#define NXFONT_BITMAP_86 {0xf8, 0x78, 0x70, 0x30, 0x30, 0x20, 0x38, 0x20, 0x18, 0x60, 0x18, 0x40, 0x1c, 0x40, 0xc, 0xc0, 0xe, 0x80, 0x6, 0x80, 0x7, 0x80, 0x3, 0x0, 0x3, 0x0} - -/* W (87) */ -#define NXFONT_METRICS_87 {3, 18, 13, 0, 9, 0} -#define NXFONT_BITMAP_87 {0xf9, 0xe3, 0xc0, 0x70, 0xc1, 0x80, 0x30, 0xc1, 0x0, 0x38, 0xe1, 0x0, 0x18, 0x63, 0x0, 0x18, 0xe2, 0x0, 0x18, 0xe2, 0x0, 0x1d, 0xa6, 0x0, 0xd, 0x34, 0x0, 0xf, 0x3c, 0x0, 0xe, 0x38, 0x0, 0x6, 0x18, 0x0, 0x6, 0x18, 0x0} - -/* X (88) */ -#define NXFONT_METRICS_88 {2, 12, 13, 1, 9, 0} -#define NXFONT_BITMAP_88 {0xf0, 0x70, 0x70, 0x60, 0x38, 0xc0, 0x19, 0x80, 0xd, 0x0, 0xe, 0x0, 0x6, 0x0, 0xf, 0x0, 0x1b, 0x0, 0x11, 0x80, 0x31, 0xc0, 0x60, 0xe0, 0xf0, 0xf0} - -/* Y (89) */ -#define NXFONT_METRICS_89 {2, 12, 13, 1, 9, 0} -#define NXFONT_BITMAP_89 {0xf0, 0xf0, 0x70, 0x60, 0x30, 0xc0, 0x18, 0x80, 0x19, 0x0, 0xf, 0x0, 0x6, 0x0, 0x6, 0x0, 0x6, 0x0, 0x6, 0x0, 0x6, 0x0, 0x6, 0x0, 0xf, 0x0} - -/* Z (90) */ -#define NXFONT_METRICS_90 {2, 10, 13, 1, 9, 0} -#define NXFONT_BITMAP_90 {0x7f, 0xc0, 0x61, 0xc0, 0x41, 0x80, 0x3, 0x80, 0x7, 0x0, 0x6, 0x0, 0xe, 0x0, 0x1c, 0x0, 0x38, 0x0, 0x30, 0x0, 0x70, 0x40, 0xe0, 0xc0, 0xff, 0xc0} - -/* bracketleft (91) */ -#define NXFONT_METRICS_91 {1, 4, 16, 2, 9, 0} -#define NXFONT_BITMAP_91 {0xf0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xf0} - -/* backslash (92) */ -#define NXFONT_METRICS_92 {1, 5, 13, 0, 9, 0} -#define NXFONT_BITMAP_92 {0x80, 0x80, 0xc0, 0x40, 0x60, 0x60, 0x20, 0x30, 0x30, 0x10, 0x18, 0x8, 0x8} - -/* bracketright (93) */ -#define NXFONT_METRICS_93 {1, 4, 16, 0, 9, 0} -#define NXFONT_BITMAP_93 {0xf0, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0xf0} - -/* asciicircum (94) */ -#define NXFONT_METRICS_94 {1, 7, 7, 1, 9, 0} -#define NXFONT_BITMAP_94 {0x10, 0x38, 0x28, 0x6c, 0x44, 0xc6, 0x82} - -/* underscore (95) */ -#define NXFONT_METRICS_95 {2, 9, 2, 0, 24, 0} -#define NXFONT_BITMAP_95 {0xff, 0x80, 0xff, 0x80} - -/* grave (96) */ -#define NXFONT_METRICS_96 {1, 4, 3, 0, 9, 0} -#define NXFONT_BITMAP_96 {0xc0, 0x60, 0x10} - -/* a (97) */ -#define NXFONT_METRICS_97 {1, 7, 9, 1, 13, 0} -#define NXFONT_BITMAP_97 {0x78, 0xc8, 0xcc, 0x1c, 0x6c, 0xcc, 0xcc, 0xfc, 0x66} - -/* b (98) */ -#define NXFONT_METRICS_98 {1, 8, 13, 0, 9, 0} -#define NXFONT_BITMAP_98 {0x60, 0xe0, 0x60, 0x60, 0x6e, 0x77, 0x63, 0x63, 0x63, 0x63, 0x63, 0x66, 0x5c} - -/* c (99) */ -#define NXFONT_METRICS_99 {1, 7, 9, 0, 13, 0} -#define NXFONT_BITMAP_99 {0x3c, 0x66, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0x66, 0x3c} - -/* d (100) */ -#define NXFONT_METRICS_100 {1, 8, 13, 0, 9, 0} -#define NXFONT_BITMAP_100 {0x6, 0xe, 0x6, 0x6, 0x3e, 0x66, 0xc6, 0xc6, 0xc6, 0xc6, 0xc6, 0x66, 0x3f} - -/* e (101) */ -#define NXFONT_METRICS_101 {1, 7, 9, 0, 13, 0} -#define NXFONT_BITMAP_101 {0x3c, 0x66, 0xc2, 0xfe, 0xc0, 0xc0, 0xc0, 0x66, 0x3c} - -/* f (102) */ -#define NXFONT_METRICS_102 {1, 6, 13, 0, 9, 0} -#define NXFONT_BITMAP_102 {0x1c, 0x34, 0x20, 0x60, 0xf8, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0xf0} - -/* g (103) */ -#define NXFONT_METRICS_103 {1, 8, 13, 0, 13, 0} -#define NXFONT_BITMAP_103 {0x3e, 0xcc, 0xc4, 0xc4, 0xcc, 0x78, 0x40, 0x7c, 0x7f, 0x83, 0xc1, 0xe2, 0x7c} - -/* h (104) */ -#define NXFONT_METRICS_104 {2, 9, 13, 0, 9, 0} -#define NXFONT_BITMAP_104 {0x60, 0x0, 0xe0, 0x0, 0x60, 0x0, 0x60, 0x0, 0x66, 0x0, 0x6f, 0x0, 0x73, 0x0, 0x63, 0x0, 0x63, 0x0, 0x63, 0x0, 0x63, 0x0, 0x63, 0x0, 0xf3, 0x80} - -/* i (105) */ -#define NXFONT_METRICS_105 {1, 4, 13, 0, 9, 0} -#define NXFONT_BITMAP_105 {0x60, 0x60, 0x0, 0x0, 0x60, 0xe0, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0xf0} - -/* j (106) -- NOTE: Xoffset should be -1, not 0. */ -#define NXFONT_METRICS_106 {1, 4, 17, 0, 9, 0} -#define NXFONT_BITMAP_106 {0x30, 0x30, 0x0, 0x0, 0x30, 0x70, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0xe0, 0xc0} - -/* k (107) */ -#define NXFONT_METRICS_107 {2, 10, 13, 0, 9, 0} -#define NXFONT_BITMAP_107 {0x60, 0x0, 0xe0, 0x0, 0x60, 0x0, 0x60, 0x0, 0x67, 0x0, 0x62, 0x0, 0x64, 0x0, 0x68, 0x0, 0x78, 0x0, 0x6c, 0x0, 0x6e, 0x0, 0x67, 0x0, 0xe3, 0xc0} - -/* l (108) */ -#define NXFONT_METRICS_108 {1, 4, 13, 0, 9, 0} -#define NXFONT_BITMAP_108 {0x60, 0xe0, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0xf0} - -/* m (109) */ -#define NXFONT_METRICS_109 {2, 14, 9, 0, 13, 0} -#define NXFONT_BITMAP_109 {0x66, 0x30, 0xef, 0x78, 0x73, 0x98, 0x63, 0x18, 0x63, 0x18, 0x63, 0x18, 0x63, 0x18, 0x63, 0x18, 0xf7, 0xbc} - -/* n (110) */ -#define NXFONT_METRICS_110 {2, 9, 9, 0, 13, 0} -#define NXFONT_BITMAP_110 {0x66, 0x0, 0xef, 0x0, 0x73, 0x0, 0x63, 0x0, 0x63, 0x0, 0x63, 0x0, 0x63, 0x0, 0x63, 0x0, 0xf3, 0x80} - -/* o (111) */ -#define NXFONT_METRICS_111 {1, 8, 9, 0, 13, 0} -#define NXFONT_BITMAP_111 {0x3c, 0x66, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0x66, 0x3c} - -/* p (112) */ -#define NXFONT_METRICS_112 {1, 8, 13, 0, 13, 0} -#define NXFONT_BITMAP_112 {0x6e, 0xf7, 0x63, 0x63, 0x63, 0x63, 0x63, 0x76, 0x7c, 0x60, 0x60, 0x60, 0xf0} - -/* q (113) */ -#define NXFONT_METRICS_113 {1, 8, 13, 0, 13, 0} -#define NXFONT_BITMAP_113 {0x3e, 0x66, 0xc6, 0xc6, 0xc6, 0xc6, 0xc6, 0x66, 0x3e, 0x6, 0x6, 0x6, 0xf} - -/* r (114) */ -#define NXFONT_METRICS_114 {1, 6, 9, 0, 13, 0} -#define NXFONT_BITMAP_114 {0x6c, 0xec, 0x70, 0x60, 0x60, 0x60, 0x60, 0x60, 0xf0} - -/* s (115) */ -#define NXFONT_METRICS_115 {1, 5, 9, 1, 13, 0} -#define NXFONT_BITMAP_115 {0x68, 0x98, 0xc8, 0xe0, 0x70, 0x38, 0x98, 0xc8, 0xb0} - -/* t (116) */ -#define NXFONT_METRICS_116 {1, 6, 11, 0, 11, 0} -#define NXFONT_BITMAP_116 {0x20, 0x60, 0xf8, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x74, 0x38} - -/* u (117) */ -#define NXFONT_METRICS_117 {2, 9, 9, 0, 13, 0} -#define NXFONT_BITMAP_117 {0xe7, 0x0, 0x63, 0x0, 0x63, 0x0, 0x63, 0x0, 0x63, 0x0, 0x63, 0x0, 0x63, 0x0, 0x77, 0x0, 0x3b, 0x80} - -/* v (118) -- NOTE: Xoffset should be -1, not 0. */ -#define NXFONT_METRICS_118 {2, 9, 9, 0, 13, 0} -#define NXFONT_BITMAP_118 {0xf3, 0x80, 0x63, 0x0, 0x62, 0x0, 0x32, 0x0, 0x36, 0x0, 0x14, 0x0, 0x1c, 0x0, 0x8, 0x0, 0x8, 0x0} - -/* w (119) */ -#define NXFONT_METRICS_119 {2, 13, 9, 0, 13, 0} -#define NXFONT_BITMAP_119 {0xe7, 0x38, 0x66, 0x30, 0x62, 0x60, 0x36, 0x60, 0x37, 0x60, 0x1d, 0x40, 0x1d, 0xc0, 0x8, 0x80, 0x8, 0x80} - -/* x (120) */ -#define NXFONT_METRICS_120 {2, 9, 9, 0, 13, 0} -#define NXFONT_BITMAP_120 {0xe1, 0x80, 0x63, 0x0, 0x36, 0x0, 0x1c, 0x0, 0x1c, 0x0, 0x1c, 0x0, 0x36, 0x0, 0x63, 0x0, 0xc3, 0x80} - -/* y (121) */ -#define NXFONT_METRICS_121 {1, 8, 13, 0, 13, 0} -#define NXFONT_BITMAP_121 {0xf3, 0x63, 0x72, 0x32, 0x36, 0x1c, 0x1c, 0xc, 0x8, 0x18, 0x10, 0xf0, 0xe0} - -/* z (122) */ -#define NXFONT_METRICS_122 {1, 7, 9, 0, 13, 0} -#define NXFONT_BITMAP_122 {0xfe, 0xce, 0x8c, 0x18, 0x30, 0x30, 0x62, 0xe6, 0xfe} - -/* braceleft (123) */ -#define NXFONT_METRICS_123 {1, 7, 17, 1, 9, 0} -#define NXFONT_BITMAP_123 {0xe, 0x18, 0x30, 0x30, 0x30, 0x30, 0x30, 0x60, 0xc0, 0x60, 0x30, 0x30, 0x30, 0x30, 0x30, 0x18, 0xe} - -/* bar (124) */ -#define NXFONT_METRICS_124 {1, 1, 13, 1, 9, 0} -#define NXFONT_BITMAP_124 {0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80} - -/* braceright (125) */ -#define NXFONT_METRICS_125 {1, 7, 17, 1, 9, 0} -#define NXFONT_BITMAP_125 {0xe0, 0x30, 0x18, 0x18, 0x18, 0x18, 0x18, 0xc, 0x6, 0xc, 0x18, 0x18, 0x18, 0x18, 0x18, 0x30, 0xe0} - -/* asciitilde (126) */ -#define NXFONT_METRICS_126 {2, 9, 4, 1, 15, 0} -#define NXFONT_BITMAP_126 {0x30, 0x0, 0x79, 0x80, 0xcf, 0x0, 0x6, 0x0} - -/* exclamdown (161) */ -#define NXFONT_METRICS_161 {1, 2, 13, 1, 13, 0} -#define NXFONT_BITMAP_161 {0xc0, 0xc0, 0x0, 0x0, 0x80, 0x80, 0x80, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0} - -/* cent (162) */ -#define NXFONT_METRICS_162 {1, 7, 14, 1, 11, 0} -#define NXFONT_BITMAP_162 {0x6, 0x4, 0x3c, 0x6e, 0xc8, 0xd8, 0xd0, 0xd0, 0xf0, 0x72, 0x7c, 0x40, 0xc0, 0x80} - -/* sterling (163) */ -#define NXFONT_METRICS_163 {2, 10, 13, 0, 9, 0} -#define NXFONT_BITMAP_163 {0xf, 0x0, 0x19, 0x80, 0x19, 0x80, 0x18, 0x0, 0x18, 0x0, 0x18, 0x0, 0x7e, 0x0, 0x18, 0x0, 0x18, 0x0, 0x10, 0x0, 0x78, 0x40, 0xbf, 0xc0, 0xe7, 0x80} - -/* currency (164) */ -#define NXFONT_METRICS_164 {2, 9, 7, 1, 12, 0} -#define NXFONT_BITMAP_164 {0xdd, 0x80, 0xf7, 0x80, 0x63, 0x0, 0x41, 0x0, 0x63, 0x0, 0xf7, 0x80, 0xdd, 0x80} - -/* yen (165) */ -#define NXFONT_METRICS_165 {1, 8, 13, 0, 9, 0} -#define NXFONT_BITMAP_165 {0xf7, 0x62, 0x62, 0x76, 0x34, 0x34, 0x7e, 0x18, 0x7e, 0x18, 0x18, 0x18, 0x7e} - -/* brokenbar (166) */ -#define NXFONT_METRICS_166 {1, 1, 13, 1, 9, 0} -#define NXFONT_BITMAP_166 {0x80, 0x80, 0x80, 0x80, 0x80, 0x0, 0x0, 0x0, 0x80, 0x80, 0x80, 0x80, 0x80} - -/* section (167) */ -#define NXFONT_METRICS_167 {1, 8, 16, 1, 9, 0} -#define NXFONT_BITMAP_167 {0x3c, 0x66, 0x66, 0x70, 0x38, 0x7c, 0x8e, 0xc7, 0xe3, 0x71, 0x3e, 0x1c, 0xe, 0x66, 0x66, 0x3c} - -/* dieresis (168) */ -#define NXFONT_METRICS_168 {1, 5, 2, 0, 10, 0} -#define NXFONT_BITMAP_168 {0xd8, 0xd8} - -/* copyright (169) */ -#define NXFONT_METRICS_169 {2, 13, 13, 1, 9, 0} -#define NXFONT_BITMAP_169 {0xf, 0x80, 0x30, 0x60, 0x40, 0x10, 0x47, 0x90, 0x88, 0x88, 0x90, 0x8, 0x90, 0x8, 0x90, 0x8, 0x88, 0x88, 0x47, 0x10, 0x40, 0x10, 0x30, 0x60, 0xf, 0x80} - -/* ordfeminine (170) */ -#define NXFONT_METRICS_170 {1, 5, 8, 0, 9, 0} -#define NXFONT_BITMAP_170 {0x60, 0x90, 0x10, 0x70, 0x90, 0xe8, 0x0, 0xf8} - -/* guillemotleft (171) */ -#define NXFONT_METRICS_171 {1, 8, 7, 1, 14, 0} -#define NXFONT_BITMAP_171 {0x11, 0x33, 0x66, 0xcc, 0x66, 0x33, 0x11} - -/* logicalnot (172) */ -#define NXFONT_METRICS_172 {2, 9, 5, 1, 15, 0} -#define NXFONT_BITMAP_172 {0xff, 0x80, 0xff, 0x80, 0x1, 0x80, 0x1, 0x80, 0x1, 0x80} - -/* hyphen (173) */ -#define NXFONT_METRICS_173 {1, 5, 2, 0, 17, 0} -#define NXFONT_BITMAP_173 {0xf8, 0xf8} - -/* registered (174) */ -#define NXFONT_METRICS_174 {2, 13, 13, 1, 9, 0} -#define NXFONT_BITMAP_174 {0xf, 0x80, 0x30, 0x60, 0x40, 0x10, 0x5f, 0x10, 0x88, 0x88, 0x88, 0x88, 0x8f, 0x8, 0x89, 0x8, 0x88, 0x88, 0x5c, 0xd0, 0x40, 0x10, 0x30, 0x60, 0xf, 0x80} - -/* macron (175) */ -#define NXFONT_METRICS_175 {1, 5, 2, 0, 10, 0} -#define NXFONT_BITMAP_175 {0xf8, 0xf8} - -/* degree (176) */ -#define NXFONT_METRICS_176 {1, 5, 5, 1, 9, 0} -#define NXFONT_BITMAP_176 {0x70, 0x88, 0x88, 0x88, 0x70} - -/* plusminus (177) */ -#define NXFONT_METRICS_177 {1, 8, 11, 1, 11, 0} -#define NXFONT_BITMAP_177 {0x18, 0x18, 0x18, 0xff, 0xff, 0x18, 0x18, 0x18, 0x0, 0xff, 0xff} - -/* twosuperior (178) */ -#define NXFONT_METRICS_178 {1, 5, 8, 0, 9, 0} -#define NXFONT_BITMAP_178 {0x70, 0x98, 0x18, 0x10, 0x20, 0x20, 0x40, 0xf8} - -/* threesuperior (179) */ -#define NXFONT_METRICS_179 {1, 5, 8, 0, 9, 0} -#define NXFONT_BITMAP_179 {0x70, 0x88, 0x18, 0x70, 0x18, 0x8, 0x88, 0x70} - -/* acute (180) */ -#define NXFONT_METRICS_180 {1, 4, 3, 0, 9, 0} -#define NXFONT_BITMAP_180 {0x30, 0x60, 0x80} - -/* mu (181) -- NOTE: Xoffset should be -1, not 0. */ -#define NXFONT_METRICS_181 {2, 9, 13, 0, 13, 0} -#define NXFONT_BITMAP_181 {0xe7, 0x0, 0x63, 0x0, 0x63, 0x0, 0x63, 0x0, 0x63, 0x0, 0x63, 0x0, 0x63, 0x0, 0x77, 0x0, 0x7b, 0x80, 0x40, 0x0, 0x40, 0x0, 0x60, 0x0, 0x60, 0x0} - -/* paragraph (182) */ -#define NXFONT_METRICS_182 {1, 7, 17, 1, 9, 0} -#define NXFONT_BITMAP_182 {0x3e, 0x74, 0xf4, 0xf4, 0xf4, 0xf4, 0xf4, 0x74, 0x14, 0x14, 0x14, 0x14, 0x14, 0x14, 0x14, 0x14, 0x14} - -/* periodcentered (183) */ -#define NXFONT_METRICS_183 {1, 2, 2, 1, 16, 0} -#define NXFONT_BITMAP_183 {0xc0, 0xc0} - -/* cedilla (184) */ -#define NXFONT_METRICS_184 {1, 4, 5, 1, 21, 0} -#define NXFONT_BITMAP_184 {0x20, 0x20, 0x10, 0xb0, 0x70} - -/* onesuperior (185) */ -#define NXFONT_METRICS_185 {1, 3, 8, 1, 9, 0} -#define NXFONT_BITMAP_185 {0x40, 0xc0, 0x40, 0x40, 0x40, 0x40, 0x40, 0xe0} - -/* ordmasculine (186) */ -#define NXFONT_METRICS_186 {1, 5, 8, 0, 9, 0} -#define NXFONT_BITMAP_186 {0x70, 0xd8, 0x88, 0x88, 0xd8, 0x70, 0x0, 0xf8} - -/* guillemotright (187) */ -#define NXFONT_METRICS_187 {1, 8, 7, 1, 14, 0} -#define NXFONT_BITMAP_187 {0x88, 0xcc, 0x66, 0x33, 0x66, 0xcc, 0x88} - -/* onequarter (188) */ -#define NXFONT_METRICS_188 {2, 11, 13, 1, 9, 0} -#define NXFONT_BITMAP_188 {0x40, 0x80, 0xc1, 0x80, 0x41, 0x0, 0x43, 0x0, 0x46, 0x0, 0x44, 0x40, 0x4c, 0xc0, 0xe9, 0x40, 0x1b, 0x40, 0x32, 0x40, 0x27, 0xe0, 0x60, 0x40, 0x40, 0x40} - -/* onehalf (189) */ -#define NXFONT_METRICS_189 {2, 11, 13, 1, 9, 0} -#define NXFONT_BITMAP_189 {0x40, 0x80, 0xc1, 0x80, 0x41, 0x0, 0x43, 0x0, 0x46, 0x0, 0x45, 0xc0, 0x4e, 0x60, 0xe8, 0x60, 0x18, 0x40, 0x30, 0x80, 0x20, 0x80, 0x61, 0x0, 0x43, 0xe0} - -/* threequarters (190) -- NOTE: Xoffset should be -1, not 0. */ -#define NXFONT_METRICS_190 {2, 13, 13, 0, 9, 0} -#define NXFONT_BITMAP_190 {0x70, 0x20, 0x88, 0x60, 0x18, 0x40, 0x70, 0xc0, 0x19, 0x80, 0x9, 0x10, 0x8b, 0x30, 0x72, 0x50, 0x6, 0xd0, 0xc, 0x90, 0x9, 0xf8, 0x18, 0x10, 0x10, 0x10} - -/* questiondown (191) */ -#define NXFONT_METRICS_191 {1, 6, 13, 1, 13, 0} -#define NXFONT_BITMAP_191 {0x30, 0x30, 0x0, 0x10, 0x10, 0x30, 0x60, 0x60, 0xc0, 0xcc, 0x8c, 0xc4, 0x78} - -/* Agrave (192) */ -#define NXFONT_METRICS_192 {2, 13, 17, 1, 5, 0} -#define NXFONT_BITMAP_192 {0x18, 0x0, 0xc, 0x0, 0x2, 0x0, 0x0, 0x0, 0x2, 0x0, 0x7, 0x0, 0x7, 0x0, 0x5, 0x0, 0xd, 0x80, 0x9, 0x80, 0x19, 0xc0, 0x10, 0xc0, 0x1f, 0xc0, 0x30, 0xe0, 0x20, 0x60, 0x60, 0x70, 0xf0, 0xf8} - -/* Aacute (193) */ -#define NXFONT_METRICS_193 {2, 13, 17, 1, 5, 0} -#define NXFONT_BITMAP_193 {0x0, 0xc0, 0x1, 0x80, 0x2, 0x0, 0x0, 0x0, 0x2, 0x0, 0x7, 0x0, 0x7, 0x0, 0x5, 0x0, 0xd, 0x80, 0x9, 0x80, 0x19, 0xc0, 0x10, 0xc0, 0x1f, 0xc0, 0x30, 0xe0, 0x20, 0x60, 0x60, 0x70, 0xf0, 0xf8} - -/* Acircumflex (194) */ -#define NXFONT_METRICS_194 {2, 13, 17, 1, 5, 0} -#define NXFONT_BITMAP_194 {0x2, 0x0, 0x7, 0x0, 0xd, 0x80, 0x0, 0x0, 0x2, 0x0, 0x7, 0x0, 0x7, 0x0, 0x5, 0x0, 0xd, 0x80, 0x9, 0x80, 0x19, 0xc0, 0x10, 0xc0, 0x1f, 0xc0, 0x30, 0xe0, 0x20, 0x60, 0x60, 0x70, 0xf0, 0xf8} - -/* Atilde (195) */ -#define NXFONT_METRICS_195 {2, 13, 17, 1, 5, 0} -#define NXFONT_BITMAP_195 {0xc, 0x80, 0x1f, 0x80, 0x13, 0x0, 0x0, 0x0, 0x2, 0x0, 0x7, 0x0, 0x7, 0x0, 0x5, 0x0, 0xd, 0x80, 0x9, 0x80, 0x19, 0xc0, 0x10, 0xc0, 0x1f, 0xc0, 0x30, 0xe0, 0x20, 0x60, 0x60, 0x70, 0xf0, 0xf8} - -/* Adieresis (196) */ -#define NXFONT_METRICS_196 {2, 13, 16, 1, 6, 0} -#define NXFONT_BITMAP_196 {0xd, 0x80, 0xd, 0x80, 0x0, 0x0, 0x2, 0x0, 0x7, 0x0, 0x7, 0x0, 0x5, 0x0, 0xd, 0x80, 0x9, 0x80, 0x19, 0xc0, 0x10, 0xc0, 0x1f, 0xc0, 0x30, 0xe0, 0x20, 0x60, 0x60, 0x70, 0xf0, 0xf8} - -/* Aring (197) */ -#define NXFONT_METRICS_197 {2, 13, 18, 1, 4, 0} -#define NXFONT_BITMAP_197 {0x6, 0x0, 0x9, 0x0, 0x9, 0x0, 0x6, 0x0, 0x0, 0x0, 0x2, 0x0, 0x7, 0x0, 0x7, 0x0, 0x5, 0x0, 0xd, 0x80, 0x9, 0x80, 0x19, 0xc0, 0x10, 0xc0, 0x1f, 0xc0, 0x30, 0xe0, 0x20, 0x60, 0x60, 0x70, 0xf0, 0xf8} - -/* AE (198) */ -#define NXFONT_METRICS_198 {2, 15, 13, 1, 9, 0} -#define NXFONT_BITMAP_198 {0xf, 0xfc, 0x7, 0x8c, 0x5, 0x84, 0x5, 0x80, 0xd, 0x80, 0x9, 0x88, 0x19, 0xf8, 0x1f, 0x88, 0x11, 0x80, 0x31, 0x80, 0x21, 0x82, 0x61, 0x86, 0xf7, 0xfe} - -/* Ccedilla (199) */ -#define NXFONT_METRICS_199 {2, 11, 17, 1, 9, 0} -#define NXFONT_BITMAP_199 {0xf, 0x20, 0x30, 0xe0, 0x60, 0x60, 0x60, 0x20, 0xc0, 0x0, 0xc0, 0x0, 0xc0, 0x0, 0xc0, 0x0, 0xc0, 0x0, 0x60, 0x0, 0x60, 0x60, 0x38, 0xc0, 0xf, 0x0, 0x4, 0x0, 0x2, 0x0, 0x16, 0x0, 0xe, 0x0} - -/* Egrave (200) */ -#define NXFONT_METRICS_200 {2, 9, 17, 1, 5, 0} -#define NXFONT_BITMAP_200 {0x30, 0x0, 0x18, 0x0, 0x4, 0x0, 0x0, 0x0, 0xff, 0x80, 0x61, 0x80, 0x60, 0x80, 0x60, 0x0, 0x60, 0x0, 0x61, 0x0, 0x7f, 0x0, 0x61, 0x0, 0x60, 0x0, 0x60, 0x0, 0x60, 0x80, 0x61, 0x80, 0xff, 0x80} - -/* Eacute (201) */ -#define NXFONT_METRICS_201 {2, 9, 17, 1, 5, 0} -#define NXFONT_BITMAP_201 {0x3, 0x0, 0x6, 0x0, 0x8, 0x0, 0x0, 0x0, 0xff, 0x80, 0x61, 0x80, 0x60, 0x80, 0x60, 0x0, 0x60, 0x0, 0x61, 0x0, 0x7f, 0x0, 0x61, 0x0, 0x60, 0x0, 0x60, 0x0, 0x60, 0x80, 0x61, 0x80, 0xff, 0x80} - -/* Ecircumflex (202) */ -#define NXFONT_METRICS_202 {2, 9, 17, 1, 5, 0} -#define NXFONT_BITMAP_202 {0x8, 0x0, 0x1c, 0x0, 0x36, 0x0, 0x0, 0x0, 0xff, 0x80, 0x61, 0x80, 0x60, 0x80, 0x60, 0x0, 0x60, 0x0, 0x61, 0x0, 0x7f, 0x0, 0x61, 0x0, 0x60, 0x0, 0x60, 0x0, 0x60, 0x80, 0x61, 0x80, 0xff, 0x80} - -/* Edieresis (203) */ -#define NXFONT_METRICS_203 {2, 9, 16, 1, 6, 0} -#define NXFONT_BITMAP_203 {0x36, 0x0, 0x36, 0x0, 0x0, 0x0, 0xff, 0x80, 0x61, 0x80, 0x60, 0x80, 0x60, 0x0, 0x60, 0x0, 0x61, 0x0, 0x7f, 0x0, 0x61, 0x0, 0x60, 0x0, 0x60, 0x0, 0x60, 0x80, 0x61, 0x80, 0xff, 0x80} - -/* Igrave (204) -- NOTE: Xoffset should be -1, not 0. */ -#define NXFONT_METRICS_204 {1, 6, 17, 0, 5, 0} -#define NXFONT_BITMAP_204 {0xc0, 0x60, 0x10, 0x0, 0x3c, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x3c} - -/* Iacute (205) */ -#define NXFONT_METRICS_205 {1, 6, 17, 1, 5, 0} -#define NXFONT_BITMAP_205 {0xc, 0x18, 0x20, 0x0, 0xf0, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0xf0} - -/* Icircumflex (206) */ -#define NXFONT_METRICS_206 {1, 5, 17, 1, 5, 0} -#define NXFONT_BITMAP_206 {0x20, 0x70, 0xd8, 0x0, 0xf0, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0xf0} - -/* Idieresis (207) */ -#define NXFONT_METRICS_207 {1, 5, 16, 1, 6, 0} -#define NXFONT_BITMAP_207 {0xd8, 0xd8, 0x0, 0xf0, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0xf0} - -/* Eth (208) */ -#define NXFONT_METRICS_208 {2, 12, 13, 0, 9, 0} -#define NXFONT_BITMAP_208 {0x7f, 0x80, 0x31, 0xc0, 0x30, 0x60, 0x30, 0x60, 0x30, 0x30, 0x30, 0x30, 0xfc, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x60, 0x30, 0x60, 0x31, 0xc0, 0x7f, 0x80} - -/* Ntilde (209) */ -#define NXFONT_METRICS_209 {2, 12, 17, 1, 5, 0} -#define NXFONT_BITMAP_209 {0xc, 0x80, 0x1f, 0x80, 0x13, 0x0, 0x0, 0x0, 0xe0, 0x70, 0x60, 0x20, 0x70, 0x20, 0x78, 0x20, 0x5c, 0x20, 0x4c, 0x20, 0x4e, 0x20, 0x47, 0x20, 0x43, 0xa0, 0x41, 0xe0, 0x40, 0xe0, 0x40, 0x60, 0xe0, 0x20} - -/* Ograve (210) */ -#define NXFONT_METRICS_210 {2, 12, 17, 1, 5, 0} -#define NXFONT_BITMAP_210 {0x30, 0x0, 0x18, 0x0, 0x4, 0x0, 0x0, 0x0, 0xf, 0x0, 0x30, 0xc0, 0x60, 0x60, 0x60, 0x60, 0xc0, 0x30, 0xc0, 0x30, 0xc0, 0x30, 0xc0, 0x30, 0xc0, 0x30, 0x60, 0x60, 0x60, 0x60, 0x30, 0xc0, 0xf, 0x0} - -/* Oacute (211) */ -#define NXFONT_METRICS_211 {2, 12, 17, 1, 5, 0} -#define NXFONT_BITMAP_211 {0x0, 0xc0, 0x1, 0x80, 0x2, 0x0, 0x0, 0x0, 0xf, 0x0, 0x30, 0xc0, 0x60, 0x60, 0x60, 0x60, 0xc0, 0x30, 0xc0, 0x30, 0xc0, 0x30, 0xc0, 0x30, 0xc0, 0x30, 0x60, 0x60, 0x60, 0x60, 0x30, 0xc0, 0xf, 0x0} - -/* Ocircumflex (212) */ -#define NXFONT_METRICS_212 {2, 12, 17, 1, 5, 0} -#define NXFONT_BITMAP_212 {0x4, 0x0, 0xe, 0x0, 0x1b, 0x0, 0x0, 0x0, 0xf, 0x0, 0x30, 0xc0, 0x60, 0x60, 0x60, 0x60, 0xc0, 0x30, 0xc0, 0x30, 0xc0, 0x30, 0xc0, 0x30, 0xc0, 0x30, 0x60, 0x60, 0x60, 0x60, 0x30, 0xc0, 0xf, 0x0} - -/* Otilde (213) */ -#define NXFONT_METRICS_213 {2, 12, 17, 1, 5, 0} -#define NXFONT_BITMAP_213 {0xc, 0x80, 0x1f, 0x80, 0x13, 0x0, 0x0, 0x0, 0xf, 0x0, 0x30, 0xc0, 0x60, 0x60, 0x60, 0x60, 0xc0, 0x30, 0xc0, 0x30, 0xc0, 0x30, 0xc0, 0x30, 0xc0, 0x30, 0x60, 0x60, 0x60, 0x60, 0x30, 0xc0, 0xf, 0x0} - -/* Odieresis (214) */ -#define NXFONT_METRICS_214 {2, 12, 16, 1, 6, 0} -#define NXFONT_BITMAP_214 {0x1b, 0x0, 0x1b, 0x0, 0x0, 0x0, 0xf, 0x0, 0x30, 0xc0, 0x60, 0x60, 0x60, 0x60, 0xc0, 0x30, 0xc0, 0x30, 0xc0, 0x30, 0xc0, 0x30, 0xc0, 0x30, 0x60, 0x60, 0x60, 0x60, 0x30, 0xc0, 0xf, 0x0} - -/* multiply (215) */ -#define NXFONT_METRICS_215 {1, 8, 7, 1, 14, 0} -#define NXFONT_BITMAP_215 {0xc3, 0x66, 0x3c, 0x18, 0x3c, 0x66, 0xc3} - -/* Oslash (216) */ -#define NXFONT_METRICS_216 {2, 12, 15, 1, 8, 0} -#define NXFONT_BITMAP_216 {0x0, 0x30, 0xf, 0x60, 0x30, 0xc0, 0x60, 0xe0, 0x61, 0xa0, 0xc3, 0x30, 0xc3, 0x30, 0xc6, 0x30, 0xcc, 0x30, 0xcc, 0x30, 0x58, 0x60, 0x70, 0x60, 0x30, 0xc0, 0x6f, 0x0, 0xc0, 0x0} - -/* Ugrave (217) */ -#define NXFONT_METRICS_217 {2, 11, 17, 2, 5, 0} -#define NXFONT_BITMAP_217 {0x30, 0x0, 0x18, 0x0, 0x4, 0x0, 0x0, 0x0, 0xf0, 0xe0, 0x60, 0x40, 0x60, 0x40, 0x60, 0x40, 0x60, 0x40, 0x60, 0x40, 0x60, 0x40, 0x60, 0x40, 0x60, 0x40, 0x60, 0x40, 0x70, 0xc0, 0x39, 0x80, 0x1f, 0x0} - -/* Uacute (218) */ -#define NXFONT_METRICS_218 {2, 11, 17, 2, 5, 0} -#define NXFONT_BITMAP_218 {0x0, 0xc0, 0x1, 0x80, 0x2, 0x0, 0x0, 0x0, 0xf0, 0xe0, 0x60, 0x40, 0x60, 0x40, 0x60, 0x40, 0x60, 0x40, 0x60, 0x40, 0x60, 0x40, 0x60, 0x40, 0x60, 0x40, 0x60, 0x40, 0x70, 0xc0, 0x39, 0x80, 0x1f, 0x0} - -/* Ucircumflex (219) */ -#define NXFONT_METRICS_219 {2, 11, 17, 2, 5, 0} -#define NXFONT_BITMAP_219 {0x4, 0x0, 0xe, 0x0, 0x1b, 0x0, 0x0, 0x0, 0xf0, 0xe0, 0x60, 0x40, 0x60, 0x40, 0x60, 0x40, 0x60, 0x40, 0x60, 0x40, 0x60, 0x40, 0x60, 0x40, 0x60, 0x40, 0x60, 0x40, 0x70, 0xc0, 0x39, 0x80, 0x1f, 0x0} - -/* Udieresis (220) */ -#define NXFONT_METRICS_220 {2, 11, 16, 2, 6, 0} -#define NXFONT_BITMAP_220 {0x1b, 0x0, 0x1b, 0x0, 0x0, 0x0, 0xf0, 0xe0, 0x60, 0x40, 0x60, 0x40, 0x60, 0x40, 0x60, 0x40, 0x60, 0x40, 0x60, 0x40, 0x60, 0x40, 0x60, 0x40, 0x60, 0x40, 0x70, 0xc0, 0x39, 0x80, 0x1f, 0x0} - -/* Yacute (221) */ -#define NXFONT_METRICS_221 {2, 12, 17, 1, 5, 0} -#define NXFONT_BITMAP_221 {0x0, 0xc0, 0x1, 0x80, 0x2, 0x0, 0x0, 0x0, 0xf0, 0xf0, 0x70, 0x60, 0x30, 0xc0, 0x18, 0x80, 0x19, 0x0, 0xf, 0x0, 0x6, 0x0, 0x6, 0x0, 0x6, 0x0, 0x6, 0x0, 0x6, 0x0, 0x6, 0x0, 0xf, 0x0} - -/* Thorn (222) */ -#define NXFONT_METRICS_222 {2, 9, 13, 1, 9, 0} -#define NXFONT_BITMAP_222 {0xf0, 0x0, 0x60, 0x0, 0x60, 0x0, 0x7f, 0x0, 0x63, 0x80, 0x61, 0x80, 0x61, 0x80, 0x61, 0x80, 0x63, 0x0, 0x7e, 0x0, 0x60, 0x0, 0x60, 0x0, 0xf0, 0x0} - -/* germandbls (223) */ -#define NXFONT_METRICS_223 {1, 8, 13, 0, 9, 0} -#define NXFONT_BITMAP_223 {0x1c, 0x32, 0x63, 0x63, 0x66, 0x6e, 0x7c, 0x66, 0x63, 0x63, 0x6b, 0x6f, 0xee} - -/* agrave (224) */ -#define NXFONT_METRICS_224 {1, 7, 13, 1, 9, 0} -#define NXFONT_BITMAP_224 {0xc0, 0x60, 0x10, 0x0, 0x78, 0xc8, 0xcc, 0x1c, 0x6c, 0xcc, 0xcc, 0xfc, 0x66} - -/* aacute (225) */ -#define NXFONT_METRICS_225 {1, 7, 13, 1, 9, 0} -#define NXFONT_BITMAP_225 {0xc, 0x18, 0x20, 0x0, 0x78, 0xc8, 0xcc, 0x1c, 0x6c, 0xcc, 0xcc, 0xfc, 0x66} - -/* acircumflex (226) */ -#define NXFONT_METRICS_226 {1, 7, 13, 1, 9, 0} -#define NXFONT_BITMAP_226 {0x10, 0x38, 0x6c, 0x0, 0x78, 0xc8, 0xcc, 0x1c, 0x6c, 0xcc, 0xcc, 0xfc, 0x66} - -/* atilde (227) */ -#define NXFONT_METRICS_227 {1, 7, 13, 1, 9, 0} -#define NXFONT_BITMAP_227 {0x64, 0xfc, 0x98, 0x0, 0x78, 0xc8, 0xcc, 0x1c, 0x6c, 0xcc, 0xcc, 0xfc, 0x66} - -/* adieresis (228) */ -#define NXFONT_METRICS_228 {1, 7, 12, 1, 10, 0} -#define NXFONT_BITMAP_228 {0x6c, 0x6c, 0x0, 0x78, 0xc8, 0xcc, 0x1c, 0x6c, 0xcc, 0xcc, 0xfc, 0x66} - -/* aring (229) */ -#define NXFONT_METRICS_229 {1, 7, 14, 1, 8, 0} -#define NXFONT_BITMAP_229 {0x30, 0x48, 0x48, 0x30, 0x0, 0x78, 0xc8, 0xcc, 0x1c, 0x6c, 0xcc, 0xcc, 0xfc, 0x66} - -/* ae (230) */ -#define NXFONT_METRICS_230 {2, 11, 9, 0, 13, 0} -#define NXFONT_BITMAP_230 {0x7b, 0xc0, 0xce, 0x60, 0xcc, 0x20, 0x1f, 0xe0, 0x6c, 0x0, 0xcc, 0x0, 0xcc, 0x0, 0xfe, 0x60, 0x63, 0xc0} - -/* ccedilla (231) */ -#define NXFONT_METRICS_231 {1, 7, 13, 0, 13, 0} -#define NXFONT_BITMAP_231 {0x3c, 0x66, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0x66, 0x3c, 0x10, 0x8, 0x58, 0x38} - -/* egrave (232) */ -#define NXFONT_METRICS_232 {1, 7, 13, 0, 9, 0} -#define NXFONT_BITMAP_232 {0xc0, 0x60, 0x10, 0x0, 0x3c, 0x66, 0xc2, 0xfe, 0xc0, 0xc0, 0xc0, 0x66, 0x3c} - -/* eacute (233) */ -#define NXFONT_METRICS_233 {1, 7, 13, 0, 9, 0} -#define NXFONT_BITMAP_233 {0x6, 0xc, 0x10, 0x0, 0x3c, 0x66, 0xc2, 0xfe, 0xc0, 0xc0, 0xc0, 0x66, 0x3c} - -/* ecircumflex (234) */ -#define NXFONT_METRICS_234 {1, 7, 13, 0, 9, 0} -#define NXFONT_BITMAP_234 {0x10, 0x38, 0x6c, 0x0, 0x3c, 0x66, 0xc2, 0xfe, 0xc0, 0xc0, 0xc0, 0x66, 0x3c} - -/* edieresis (235) */ -#define NXFONT_METRICS_235 {1, 7, 12, 0, 10, 0} -#define NXFONT_BITMAP_235 {0x6c, 0x6c, 0x0, 0x3c, 0x66, 0xc2, 0xfe, 0xc0, 0xc0, 0xc0, 0x66, 0x3c} - -/* igrave (236) -- NOTE: Xoffset should be -2, not 0. */ -#define NXFONT_METRICS_236 {1, 6, 13, 0, 9, 0} -#define NXFONT_BITMAP_236 {0xc0, 0x60, 0x10, 0x0, 0x18, 0x38, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x3c} - -/* iacute (237) */ -#define NXFONT_METRICS_237 {1, 6, 13, 0, 9, 0} -#define NXFONT_BITMAP_237 {0xc, 0x18, 0x20, 0x0, 0x60, 0xe0, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0xf0} - -/* icircumflex (238) */ -#define NXFONT_METRICS_238 {1, 5, 13, 0, 9, 0} -#define NXFONT_BITMAP_238 {0x20, 0x70, 0xd8, 0x0, 0x60, 0xe0, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0xf0} - -/* idieresis (239) */ -#define NXFONT_METRICS_239 {1, 5, 12, 0, 10, 0} -#define NXFONT_BITMAP_239 {0xd8, 0xd8, 0x0, 0x60, 0xe0, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0xf0} - -/* eth (240) */ -#define NXFONT_METRICS_240 {1, 8, 13, 0, 9, 0} -#define NXFONT_BITMAP_240 {0x60, 0x36, 0x38, 0x4c, 0x3e, 0x66, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0x66, 0x3c} - -/* ntilde (241) */ -#define NXFONT_METRICS_241 {2, 9, 13, 0, 9, 0} -#define NXFONT_BITMAP_241 {0x32, 0x0, 0x7e, 0x0, 0x4c, 0x0, 0x0, 0x0, 0x66, 0x0, 0xef, 0x0, 0x73, 0x0, 0x63, 0x0, 0x63, 0x0, 0x63, 0x0, 0x63, 0x0, 0x63, 0x0, 0xf3, 0x80} - -/* ograve (242) */ -#define NXFONT_METRICS_242 {1, 8, 13, 0, 9, 0} -#define NXFONT_BITMAP_242 {0x30, 0x18, 0x4, 0x0, 0x3c, 0x66, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0x66, 0x3c} - -/* oacute (243) */ -#define NXFONT_METRICS_243 {1, 8, 13, 0, 9, 0} -#define NXFONT_BITMAP_243 {0x6, 0xc, 0x10, 0x0, 0x3c, 0x66, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0x66, 0x3c} - -/* ocircumflex (244) */ -#define NXFONT_METRICS_244 {1, 8, 13, 0, 9, 0} -#define NXFONT_BITMAP_244 {0x10, 0x38, 0x6c, 0x0, 0x3c, 0x66, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0x66, 0x3c} - -/* otilde (245) */ -#define NXFONT_METRICS_245 {1, 8, 13, 0, 9, 0} -#define NXFONT_BITMAP_245 {0x32, 0x7e, 0x4c, 0x0, 0x3c, 0x66, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0x66, 0x3c} - -/* odieresis (246) */ -#define NXFONT_METRICS_246 {1, 8, 12, 0, 10, 0} -#define NXFONT_BITMAP_246 {0x6c, 0x6c, 0x0, 0x3c, 0x66, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0x66, 0x3c} - -/* divide (247) */ -#define NXFONT_METRICS_247 {1, 8, 8, 1, 13, 0} -#define NXFONT_BITMAP_247 {0x18, 0x18, 0x0, 0xff, 0xff, 0x0, 0x18, 0x18} - -/* oslash (248) */ -#define NXFONT_METRICS_248 {1, 8, 11, 0, 12, 0} -#define NXFONT_BITMAP_248 {0x1, 0x3f, 0x66, 0xcf, 0xcb, 0xdb, 0xd3, 0xf3, 0x66, 0x7c, 0xc0} - -/* ugrave (249) */ -#define NXFONT_METRICS_249 {2, 9, 13, 0, 9, 0} -#define NXFONT_BITMAP_249 {0x60, 0x0, 0x30, 0x0, 0x8, 0x0, 0x0, 0x0, 0xe7, 0x0, 0x63, 0x0, 0x63, 0x0, 0x63, 0x0, 0x63, 0x0, 0x63, 0x0, 0x63, 0x0, 0x77, 0x0, 0x3b, 0x80} - -/* uacute (250) */ -#define NXFONT_METRICS_250 {2, 9, 13, 0, 9, 0} -#define NXFONT_BITMAP_250 {0x6, 0x0, 0xc, 0x0, 0x10, 0x0, 0x0, 0x0, 0xe7, 0x0, 0x63, 0x0, 0x63, 0x0, 0x63, 0x0, 0x63, 0x0, 0x63, 0x0, 0x63, 0x0, 0x77, 0x0, 0x3b, 0x80} - -/* ucircumflex (251) */ -#define NXFONT_METRICS_251 {2, 9, 13, 0, 9, 0} -#define NXFONT_BITMAP_251 {0x8, 0x0, 0x1c, 0x0, 0x36, 0x0, 0x0, 0x0, 0xe7, 0x0, 0x63, 0x0, 0x63, 0x0, 0x63, 0x0, 0x63, 0x0, 0x63, 0x0, 0x63, 0x0, 0x77, 0x0, 0x3b, 0x80} - -/* udieresis (252) */ -#define NXFONT_METRICS_252 {2, 9, 12, 0, 10, 0} -#define NXFONT_BITMAP_252 {0x36, 0x0, 0x36, 0x0, 0x0, 0x0, 0xe7, 0x0, 0x63, 0x0, 0x63, 0x0, 0x63, 0x0, 0x63, 0x0, 0x63, 0x0, 0x63, 0x0, 0x77, 0x0, 0x3b, 0x80} - -/* yacute (253) -- NOTE: Xoffset should be -1, not 0. */ -#define NXFONT_METRICS_253 {1, 8, 17, 0, 9, 0} -#define NXFONT_BITMAP_253 {0x3, 0x6, 0x8, 0x0, 0xf3, 0x63, 0x72, 0x32, 0x36, 0x1c, 0x1c, 0xc, 0x8, 0x18, 0x10, 0xf0, 0xe0} - -/* thorn (254) */ -#define NXFONT_METRICS_254 {1, 8, 17, 0, 9, 0} -#define NXFONT_BITMAP_254 {0x60, 0xe0, 0x60, 0x60, 0x6e, 0x77, 0x63, 0x63, 0x63, 0x63, 0x63, 0x76, 0x7c, 0x60, 0x60, 0x60, 0xf0} - -/* ydieresis (255) */ -#define NXFONT_METRICS_255 {1, 8, 16, 0, 10, 0} -#define NXFONT_BITMAP_255 {0x36, 0x36, 0x0, 0xf3, 0x63, 0x72, 0x32, 0x36, 0x1c, 0x1c, 0xc, 0x8, 0x18, 0x10, 0xf0, 0xe0} - -/**************************************************************************** - * Public Types - ****************************************************************************/ - -/**************************************************************************** - * Public Data - ****************************************************************************/ - -#undef EXTERN -#if defined(__cplusplus) -#define EXTERN extern "C" -extern "C" { -#else -#define EXTERN extern -#endif - -/**************************************************************************** - * Public Functions - ****************************************************************************/ - -#undef EXTERN -#if defined(__cplusplus) -} -#endif - -#endif /* __GRAPHICS_NXFONTS_NXFONTS_SERIF22X29_H */ diff --git a/nuttx/graphics/nxfonts/nxfonts_serif27x38b.h b/nuttx/graphics/nxfonts/nxfonts_serif27x38b.h deleted file mode 100755 index e6ecf1969..000000000 --- a/nuttx/graphics/nxfonts/nxfonts_serif27x38b.h +++ /dev/null @@ -1,849 +0,0 @@ -/**************************************************************************** - * graphics/nxfonts/nxfonts_serif27x38b.h - * - * Copyright (C) 2011-2012 NX Engineering, S.A., All rights reserved. - * Author: Jose Pablo Carballo Gomez <jcarballo@nx-engineering.com> - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * 3. Neither the name NuttX nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT} - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING} - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - ****************************************************************************/ - -#ifndef __GRAPHICS_NXFONTS_NXFONTS_SERIF27X38B_H -#define __GRAPHICS_NXFONTS_NXFONTS_SERIF27X38B_H - -/**************************************************************************** - * Included Files - ****************************************************************************/ - -/**************************************************************************** - * Pre-Processor Definitions - ****************************************************************************/ - -/* Font ID */ - -#define NXFONT_ID FONTID_SERIF27X38B - -/* Ranges of 7-bit and 8-bit fonts */ - -#define NXFONT_MIN7BIT 33 -#define NXFONT_MAX7BIT 126 - -#define NXFONT_MIN8BIT 161 -#define NXFONT_MAX8BIT 255 - -/* Maximum height and width of any glyph in the set */ - -#define NXFONT_MAXHEIGHT 38 -#define NXFONT_MAXWIDTH 27 - -/* The width of a space */ - -#define NXFONT_SPACEWIDTH 6 - -/* exclam (33) */ -#define NXFONT_METRICS_33 {1, 4, 17, 2, 11, 0} -#define NXFONT_BITMAP_33 {0x60, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0x60, 0x60, 0x60, 0x60, 0x60, 0x0, 0x0, 0x60, 0xf0, 0xf0, 0x60} - -/* quotedbl (34) */ -#define NXFONT_METRICS_34 {1, 8, 8, 2, 11, 0} -#define NXFONT_BITMAP_34 {0xe7, 0xe7, 0xe7, 0xe7, 0xe7, 0xe7, 0x42, 0x42} - -/* numbersign (35) */ -#define NXFONT_METRICS_35 {2, 12, 17, 0, 11, 0} -#define NXFONT_BITMAP_35 {0xc, 0xc0, 0xc, 0xc0, 0xc, 0xc0, 0xc, 0xc0, 0x7f, 0xf0, 0x7f, 0xf0, 0x19, 0x80, 0x19, 0x80, 0x19, 0x80, 0x19, 0x80, 0xff, 0xe0, 0xff, 0xe0, 0x33, 0x0, 0x33, 0x0, 0x33, 0x0, 0x33, 0x0, 0x33, 0x0} - -/* dollar (36) */ -#define NXFONT_METRICS_36 {2, 10, 20, 1, 10, 0} -#define NXFONT_BITMAP_36 {0x8, 0x0, 0x8, 0x0, 0x3f, 0x0, 0x6b, 0x80, 0xe9, 0x80, 0xe9, 0x80, 0xf8, 0x80, 0x7c, 0x0, 0x7e, 0x0, 0x3f, 0x0, 0x1f, 0x80, 0xf, 0x80, 0xb, 0xc0, 0x89, 0xc0, 0xc9, 0xc0, 0xc9, 0x80, 0xeb, 0x80, 0x3e, 0x0, 0x8, 0x0, 0x8, 0x0} - -/* percent (37) */ -#define NXFONT_METRICS_37 {3, 17, 17, 1, 11, 0} -#define NXFONT_BITMAP_37 {0x1e, 0xc, 0x0, 0x3b, 0xfc, 0x0, 0x71, 0x18, 0x0, 0xe1, 0x30, 0x0, 0xe2, 0x30, 0x0, 0xe2, 0x60, 0x0, 0xf4, 0x60, 0x0, 0x78, 0xc0, 0x0, 0x0, 0xc0, 0x0, 0x1, 0x8f, 0x0, 0x1, 0x9d, 0x80, 0x3, 0x38, 0x80, 0x3, 0x70, 0x80, 0x6, 0x71, 0x0, 0x6, 0x71, 0x0, 0xc, 0x7a, 0x0, 0xc, 0x3c, 0x0} - -/* ampersand (38) */ -#define NXFONT_METRICS_38 {3, 17, 17, 1, 11, 0} -#define NXFONT_BITMAP_38 {0x3, 0xe0, 0x0, 0x6, 0x70, 0x0, 0xe, 0x30, 0x0, 0xe, 0x30, 0x0, 0xe, 0x70, 0x0, 0x7, 0xe0, 0x0, 0xf, 0xf, 0x80, 0x1f, 0x87, 0x0, 0x33, 0xc2, 0x0, 0x61, 0xe6, 0x0, 0xe1, 0xfc, 0x0, 0xe0, 0xf8, 0x0, 0xe0, 0x78, 0x0, 0xf0, 0x7c, 0x0, 0xf8, 0xff, 0x80, 0x7f, 0x9f, 0x0, 0x3f, 0xe, 0x0} - -/* quotesingle (39) */ -#define NXFONT_METRICS_39 {1, 3, 8, 2, 11, 0} -#define NXFONT_BITMAP_39 {0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0x40, 0x40} - -/* parenleft (40) */ -#define NXFONT_METRICS_40 {1, 5, 21, 1, 11, 0} -#define NXFONT_BITMAP_40 {0x8, 0x18, 0x30, 0x30, 0x70, 0x60, 0x60, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0x60, 0x60, 0x70, 0x30, 0x30, 0x18, 0x8} - -/* parenright (41) */ -#define NXFONT_METRICS_41 {1, 5, 21, 1, 11, 0} -#define NXFONT_BITMAP_41 {0x80, 0xc0, 0x60, 0x60, 0x30, 0x30, 0x30, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x30, 0x30, 0x30, 0x60, 0x60, 0xc0, 0x80} - -/* asterisk (42) */ -#define NXFONT_METRICS_42 {2, 10, 11, 1, 11, 0} -#define NXFONT_BITMAP_42 {0xc, 0x0, 0xc, 0x0, 0x4c, 0x80, 0xed, 0xc0, 0x7f, 0x80, 0x1e, 0x0, 0x7f, 0x80, 0xed, 0xc0, 0x4c, 0x80, 0xc, 0x0, 0xc, 0x0} - -/* plus (43) */ -#define NXFONT_METRICS_43 {2, 12, 12, 1, 16, 0} -#define NXFONT_BITMAP_43 {0x6, 0x0, 0x6, 0x0, 0x6, 0x0, 0x6, 0x0, 0x6, 0x0, 0xff, 0xf0, 0xff, 0xf0, 0x6, 0x0, 0x6, 0x0, 0x6, 0x0, 0x6, 0x0, 0x6, 0x0} - -/* comma (44) */ -#define NXFONT_METRICS_44 {1, 4, 9, 1, 24, 0} -#define NXFONT_BITMAP_44 {0x60, 0xf0, 0xf0, 0x70, 0x30, 0x60, 0x60, 0xc0, 0x80} - -/* hyphen (45) */ -#define NXFONT_METRICS_45 {1, 6, 3, 1, 20, 0} -#define NXFONT_BITMAP_45 {0xfc, 0xfc, 0xfc} - -/* period (46) */ -#define NXFONT_METRICS_46 {1, 4, 4, 1, 24, 0} -#define NXFONT_BITMAP_46 {0x60, 0xf0, 0xf0, 0x60} - -/* slash (47) */ -#define NXFONT_METRICS_47 {1, 7, 17, 0, 11, 0} -#define NXFONT_BITMAP_47 {0x6, 0x6, 0x4, 0xc, 0xc, 0x8, 0x18, 0x18, 0x10, 0x30, 0x30, 0x20, 0x60, 0x60, 0x40, 0xc0, 0xc0} - -/* zero (48) */ -#define NXFONT_METRICS_48 {2, 11, 17, 0, 11, 0} -#define NXFONT_BITMAP_48 {0xe, 0x0, 0x3b, 0x80, 0x31, 0x80, 0x71, 0xc0, 0x71, 0xc0, 0xf1, 0xe0, 0xf1, 0xe0, 0xf1, 0xe0, 0xf1, 0xe0, 0xf1, 0xe0, 0xf1, 0xe0, 0x71, 0xc0, 0x71, 0xc0, 0x71, 0xc0, 0x31, 0x80, 0x3b, 0x80, 0xe, 0x0} - -/* one (49) */ -#define NXFONT_METRICS_49 {2, 9, 17, 2, 11, 0} -#define NXFONT_BITMAP_49 {0xc, 0x0, 0x3c, 0x0, 0xfc, 0x0, 0x1c, 0x0, 0x1c, 0x0, 0x1c, 0x0, 0x1c, 0x0, 0x1c, 0x0, 0x1c, 0x0, 0x1c, 0x0, 0x1c, 0x0, 0x1c, 0x0, 0x1c, 0x0, 0x1c, 0x0, 0x1c, 0x0, 0x3e, 0x0, 0xff, 0x80} - -/* two (50) */ -#define NXFONT_METRICS_50 {2, 10, 17, 1, 11, 0} -#define NXFONT_BITMAP_50 {0x1e, 0x0, 0x3f, 0x0, 0x7f, 0x80, 0xc7, 0x80, 0x83, 0x80, 0x3, 0x80, 0x3, 0x80, 0x3, 0x0, 0x7, 0x0, 0x6, 0x0, 0xc, 0x0, 0xc, 0x0, 0x18, 0x40, 0x30, 0x40, 0x7f, 0xc0, 0xff, 0xc0, 0xff, 0x80} - -/* three (51) */ -#define NXFONT_METRICS_51 {2, 11, 17, 0, 11, 0} -#define NXFONT_BITMAP_51 {0xf, 0x0, 0x3f, 0x80, 0x63, 0xc0, 0x41, 0xc0, 0x1, 0xc0, 0x3, 0x80, 0x7, 0x0, 0x1f, 0x0, 0x7, 0xc0, 0x1, 0xe0, 0x1, 0xe0, 0x0, 0xe0, 0x0, 0xe0, 0x60, 0xe0, 0xf1, 0xc0, 0xfb, 0x80, 0x7e, 0x0} - -/* four (52) */ -#define NXFONT_METRICS_52 {2, 11, 17, 0, 11, 0} -#define NXFONT_BITMAP_52 {0x1, 0x80, 0x3, 0x80, 0x7, 0x80, 0x7, 0x80, 0xf, 0x80, 0x1b, 0x80, 0x33, 0x80, 0x33, 0x80, 0x63, 0x80, 0xc3, 0x80, 0xff, 0xe0, 0xff, 0xe0, 0xff, 0xe0, 0x3, 0x80, 0x3, 0x80, 0x3, 0x80, 0x3, 0x80} - -/* five (53) */ -#define NXFONT_METRICS_53 {2, 11, 17, 0, 11, 0} -#define NXFONT_BITMAP_53 {0x1f, 0xe0, 0x1f, 0xc0, 0x3f, 0xc0, 0x30, 0x0, 0x20, 0x0, 0x70, 0x0, 0x7f, 0x0, 0x7f, 0x80, 0x7f, 0xc0, 0x7, 0xc0, 0x1, 0xc0, 0x0, 0xc0, 0x0, 0xc0, 0x60, 0xc0, 0xf1, 0x80, 0xfb, 0x80, 0x7e, 0x0} - -/* six (54) */ -#define NXFONT_METRICS_54 {2, 11, 17, 1, 11, 0} -#define NXFONT_BITMAP_54 {0x1, 0xe0, 0x7, 0x80, 0x1e, 0x0, 0x3c, 0x0, 0x38, 0x0, 0x78, 0x0, 0x77, 0x0, 0x7b, 0x80, 0xf1, 0xc0, 0xf1, 0xe0, 0xf1, 0xe0, 0xf1, 0xe0, 0xf1, 0xe0, 0x71, 0xc0, 0x71, 0xc0, 0x3b, 0x80, 0x1e, 0x0} - -/* seven (55) */ -#define NXFONT_METRICS_55 {2, 11, 17, 0, 11, 0} -#define NXFONT_BITMAP_55 {0x3f, 0xe0, 0x7f, 0xe0, 0x7f, 0xc0, 0xc0, 0xc0, 0x81, 0x80, 0x1, 0x80, 0x3, 0x80, 0x3, 0x0, 0x3, 0x0, 0x7, 0x0, 0x6, 0x0, 0x6, 0x0, 0xe, 0x0, 0xe, 0x0, 0xc, 0x0, 0x1c, 0x0, 0x1c, 0x0} - -/* eight (56) */ -#define NXFONT_METRICS_56 {2, 11, 17, 0, 11, 0} -#define NXFONT_BITMAP_56 {0x1f, 0x0, 0x3b, 0x80, 0x71, 0xc0, 0x71, 0xc0, 0x71, 0xc0, 0x79, 0x80, 0x3b, 0x0, 0x3f, 0x0, 0x1f, 0x80, 0x37, 0xc0, 0x63, 0xc0, 0xe1, 0xe0, 0xe1, 0xe0, 0xe1, 0xe0, 0xf1, 0xc0, 0x7b, 0x80, 0x3e, 0x0} - -/* nine (57) */ -#define NXFONT_METRICS_57 {2, 11, 17, 0, 11, 0} -#define NXFONT_BITMAP_57 {0xe, 0x0, 0x3b, 0x80, 0x71, 0xc0, 0x71, 0xc0, 0xf1, 0xe0, 0xf1, 0xe0, 0xf1, 0xe0, 0xf1, 0xe0, 0x71, 0xe0, 0x3b, 0xc0, 0x1f, 0xc0, 0x3, 0xc0, 0x3, 0x80, 0x7, 0x80, 0xf, 0x0, 0x3c, 0x0, 0xf0, 0x0} - -/* colon (58) */ -#define NXFONT_METRICS_58 {1, 4, 12, 2, 16, 0} -#define NXFONT_BITMAP_58 {0x60, 0xf0, 0xf0, 0x60, 0x0, 0x0, 0x0, 0x0, 0x60, 0xf0, 0xf0, 0x60} - -/* semicolon (59) */ -#define NXFONT_METRICS_59 {1, 4, 17, 2, 16, 0} -#define NXFONT_BITMAP_59 {0x60, 0xf0, 0xf0, 0x60, 0x0, 0x0, 0x0, 0x0, 0x60, 0xf0, 0xf0, 0x70, 0x30, 0x60, 0x60, 0xc0, 0x80} - -/* less (60) */ -#define NXFONT_METRICS_60 {2, 11, 12, 1, 16, 0} -#define NXFONT_BITMAP_60 {0x0, 0x60, 0x1, 0xe0, 0x7, 0xc0, 0x1f, 0x0, 0x3c, 0x0, 0xe0, 0x0, 0xe0, 0x0, 0x3c, 0x0, 0x1f, 0x0, 0x7, 0xc0, 0x1, 0xe0, 0x0, 0x60} - -/* equal (61) */ -#define NXFONT_METRICS_61 {2, 11, 6, 1, 19, 0} -#define NXFONT_BITMAP_61 {0xff, 0xe0, 0xff, 0xe0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xe0, 0xff, 0xe0} - -/* greater (62) */ -#define NXFONT_METRICS_62 {2, 11, 12, 1, 16, 0} -#define NXFONT_BITMAP_62 {0xc0, 0x0, 0xf0, 0x0, 0x7c, 0x0, 0x1f, 0x0, 0x7, 0x80, 0x0, 0xe0, 0x0, 0xe0, 0x7, 0x80, 0x1f, 0x0, 0x7c, 0x0, 0xf0, 0x0, 0xc0, 0x0} - -/* question (63) */ -#define NXFONT_METRICS_63 {2, 9, 17, 1, 11, 0} -#define NXFONT_BITMAP_63 {0x3e, 0x0, 0x6f, 0x0, 0xe7, 0x80, 0xe7, 0x80, 0x47, 0x80, 0x7, 0x80, 0xf, 0x0, 0xe, 0x0, 0x1c, 0x0, 0x18, 0x0, 0x18, 0x0, 0x0, 0x0, 0x0, 0x0, 0x18, 0x0, 0x3c, 0x0, 0x3c, 0x0, 0x18, 0x0} - -/* at (64) */ -#define NXFONT_METRICS_64 {3, 20, 21, 1, 11, 0} -#define NXFONT_BITMAP_64 {0x0, 0x7c, 0x0, 0x3, 0xf7, 0x80, 0xf, 0x80, 0xc0, 0x1e, 0x0, 0x60, 0x3c, 0x0, 0x20, 0x38, 0x3b, 0x30, 0x70, 0xff, 0x10, 0x71, 0xe7, 0x10, 0xf1, 0xc7, 0x10, 0xe3, 0xc6, 0x10, 0xe3, 0x8e, 0x10, 0xe3, 0x8e, 0x30, 0xe3, 0x8e, 0x20, 0xf3, 0x9e, 0x60, 0xf1, 0xfe, 0xc0, 0x70, 0xf3, 0x80, 0x78, 0x0, 0x0, 0x38, 0x0, 0x0, 0x1e, 0x0, 0x0, 0x7, 0x83, 0x0, 0x1, 0xfc, 0x0} - -/* A (65) */ -#define NXFONT_METRICS_65 {3, 17, 17, 0, 11, 0} -#define NXFONT_BITMAP_65 {0x1, 0x80, 0x0, 0x1, 0xc0, 0x0, 0x3, 0xc0, 0x0, 0x3, 0xe0, 0x0, 0x3, 0xe0, 0x0, 0x6, 0xe0, 0x0, 0x6, 0xf0, 0x0, 0x4, 0x70, 0x0, 0xc, 0x70, 0x0, 0x8, 0x78, 0x0, 0x8, 0x38, 0x0, 0x1f, 0xf8, 0x0, 0x10, 0x3c, 0x0, 0x30, 0x3c, 0x0, 0x30, 0x1e, 0x0, 0x70, 0x1e, 0x0, 0xf8, 0x7f, 0x80} - -/* B (66) */ -#define NXFONT_METRICS_66 {2, 14, 17, 0, 11, 0} -#define NXFONT_BITMAP_66 {0xff, 0xc0, 0x3c, 0xf0, 0x3c, 0x78, 0x3c, 0x78, 0x3c, 0x78, 0x3c, 0x78, 0x3c, 0x70, 0x3c, 0xc0, 0x3f, 0xe0, 0x3c, 0x78, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x38, 0x3c, 0x78, 0xff, 0xe0} - -/* C (67) */ -#define NXFONT_METRICS_67 {2, 15, 17, 1, 11, 0} -#define NXFONT_BITMAP_67 {0x3, 0xf2, 0x1e, 0x3e, 0x3c, 0xe, 0x78, 0x6, 0x78, 0x2, 0xf0, 0x2, 0xf0, 0x0, 0xf0, 0x0, 0xf0, 0x0, 0xf0, 0x0, 0xf0, 0x0, 0xf0, 0x0, 0x78, 0x0, 0x78, 0x2, 0x3c, 0xe, 0x1f, 0x3c, 0x7, 0xf0} - -/* D (68) */ -#define NXFONT_METRICS_68 {2, 16, 17, 1, 11, 0} -#define NXFONT_BITMAP_68 {0xff, 0xe0, 0x3c, 0x78, 0x3c, 0x3c, 0x3c, 0x1e, 0x3c, 0x1e, 0x3c, 0xf, 0x3c, 0xf, 0x3c, 0xf, 0x3c, 0xf, 0x3c, 0xf, 0x3c, 0xf, 0x3c, 0xe, 0x3c, 0x1e, 0x3c, 0x1c, 0x3c, 0x3c, 0x3c, 0x78, 0xff, 0xe0} - -/* E (69) */ -#define NXFONT_METRICS_69 {2, 15, 17, 1, 11, 0} -#define NXFONT_BITMAP_69 {0xff, 0xfc, 0x3c, 0x1c, 0x3c, 0xc, 0x3c, 0x4, 0x3c, 0x4, 0x3c, 0x20, 0x3c, 0x20, 0x3c, 0x60, 0x3f, 0xe0, 0x3c, 0x60, 0x3c, 0x20, 0x3c, 0x20, 0x3c, 0x2, 0x3c, 0x2, 0x3c, 0x6, 0x3c, 0xe, 0xff, 0xfe} - -/* F (70) */ -#define NXFONT_METRICS_70 {2, 14, 17, 0, 11, 0} -#define NXFONT_BITMAP_70 {0xff, 0xfc, 0x3c, 0x1c, 0x3c, 0xc, 0x3c, 0x4, 0x3c, 0x4, 0x3c, 0x20, 0x3c, 0x20, 0x3c, 0x60, 0x3f, 0xe0, 0x3c, 0x60, 0x3c, 0x20, 0x3c, 0x20, 0x3c, 0x0, 0x3c, 0x0, 0x3c, 0x0, 0x3c, 0x0, 0xff, 0x0} - -/* G (71) */ -#define NXFONT_METRICS_71 {3, 17, 17, 1, 11, 0} -#define NXFONT_BITMAP_71 {0x3, 0xf2, 0x0, 0x1e, 0x3e, 0x0, 0x3c, 0xe, 0x0, 0x78, 0x6, 0x0, 0x78, 0x2, 0x0, 0xf0, 0x2, 0x0, 0xf0, 0x0, 0x0, 0xf0, 0x0, 0x0, 0xf0, 0x0, 0x0, 0xf0, 0x7f, 0x80, 0xf0, 0x1e, 0x0, 0xf0, 0x1e, 0x0, 0x78, 0x1e, 0x0, 0x78, 0x1e, 0x0, 0x38, 0x1e, 0x0, 0x1e, 0x1e, 0x0, 0x7, 0xf8, 0x0} - -/* H (72) */ -#define NXFONT_METRICS_72 {3, 18, 17, 0, 11, 0} -#define NXFONT_BITMAP_72 {0xff, 0x3f, 0xc0, 0x3c, 0xf, 0x0, 0x3c, 0xf, 0x0, 0x3c, 0xf, 0x0, 0x3c, 0xf, 0x0, 0x3c, 0xf, 0x0, 0x3c, 0xf, 0x0, 0x3c, 0xf, 0x0, 0x3f, 0xff, 0x0, 0x3c, 0xf, 0x0, 0x3c, 0xf, 0x0, 0x3c, 0xf, 0x0, 0x3c, 0xf, 0x0, 0x3c, 0xf, 0x0, 0x3c, 0xf, 0x0, 0x3c, 0xf, 0x0, 0xff, 0x3f, 0xc0} - -/* I (73) */ -#define NXFONT_METRICS_73 {1, 8, 17, 0, 11, 0} -#define NXFONT_BITMAP_73 {0xff, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0xff} - -/* J (74) */ -#define NXFONT_METRICS_74 {2, 11, 19, 0, 11, 0} -#define NXFONT_BITMAP_74 {0x1f, 0xe0, 0x7, 0x80, 0x7, 0x80, 0x7, 0x80, 0x7, 0x80, 0x7, 0x80, 0x7, 0x80, 0x7, 0x80, 0x7, 0x80, 0x7, 0x80, 0x7, 0x80, 0x7, 0x80, 0x7, 0x80, 0x7, 0x80, 0xe7, 0x80, 0xe7, 0x80, 0xe7, 0x0, 0xe7, 0x0, 0x3c, 0x0} - -/* K (75) */ -#define NXFONT_METRICS_75 {3, 18, 17, 0, 11, 0} -#define NXFONT_BITMAP_75 {0xff, 0x3f, 0x80, 0x3c, 0x1e, 0x0, 0x3c, 0x18, 0x0, 0x3c, 0x30, 0x0, 0x3c, 0x60, 0x0, 0x3c, 0xc0, 0x0, 0x3d, 0x80, 0x0, 0x3f, 0xc0, 0x0, 0x3f, 0xc0, 0x0, 0x3d, 0xe0, 0x0, 0x3c, 0xf0, 0x0, 0x3c, 0xf8, 0x0, 0x3c, 0x7c, 0x0, 0x3c, 0x3e, 0x0, 0x3c, 0x1f, 0x0, 0x3c, 0xf, 0x80, 0xff, 0x1f, 0xc0} - -/* L (76) */ -#define NXFONT_METRICS_76 {2, 15, 17, 0, 11, 0} -#define NXFONT_BITMAP_76 {0xff, 0x0, 0x3c, 0x0, 0x3c, 0x0, 0x3c, 0x0, 0x3c, 0x0, 0x3c, 0x0, 0x3c, 0x0, 0x3c, 0x0, 0x3c, 0x0, 0x3c, 0x0, 0x3c, 0x0, 0x3c, 0x0, 0x3c, 0x2, 0x3c, 0x6, 0x3c, 0xc, 0x3c, 0x1c, 0xff, 0xfc} - -/* M (77) */ -#define NXFONT_METRICS_77 {3, 21, 17, 1, 11, 0} -#define NXFONT_BITMAP_77 {0xfc, 0x1, 0xf8, 0x3c, 0x3, 0xe0, 0x3e, 0x3, 0xe0, 0x3e, 0x7, 0xe0, 0x2f, 0x5, 0xe0, 0x2f, 0xd, 0xe0, 0x27, 0x9, 0xe0, 0x27, 0x89, 0xe0, 0x27, 0x99, 0xe0, 0x23, 0x91, 0xe0, 0x23, 0xf1, 0xe0, 0x23, 0xf1, 0xe0, 0x21, 0xe1, 0xe0, 0x21, 0xe1, 0xe0, 0x20, 0xc1, 0xe0, 0x20, 0xc1, 0xe0, 0xf8, 0x7, 0xf8} - -/* N (78) */ -#define NXFONT_METRICS_78 {3, 17, 17, 0, 11, 0} -#define NXFONT_BITMAP_78 {0xf8, 0xf, 0x80, 0x7c, 0x7, 0x0, 0x3e, 0x2, 0x0, 0x3f, 0x2, 0x0, 0x3f, 0x82, 0x0, 0x2f, 0xc2, 0x0, 0x27, 0xe2, 0x0, 0x23, 0xe2, 0x0, 0x21, 0xf2, 0x0, 0x20, 0xfa, 0x0, 0x20, 0x7e, 0x0, 0x20, 0x3e, 0x0, 0x20, 0x1e, 0x0, 0x20, 0x1e, 0x0, 0x20, 0xe, 0x0, 0x60, 0x6, 0x0, 0xf8, 0x2, 0x0} - -/* O (79) */ -#define NXFONT_METRICS_79 {2, 16, 17, 1, 11, 0} -#define NXFONT_BITMAP_79 {0x7, 0xe0, 0x1c, 0x38, 0x38, 0x1c, 0x78, 0x1e, 0x70, 0xe, 0xf0, 0xf, 0xf0, 0xf, 0xf0, 0xf, 0xf0, 0xf, 0xf0, 0xf, 0xf0, 0xf, 0xf0, 0xf, 0x70, 0xe, 0x78, 0x1e, 0x38, 0x1c, 0x1c, 0x38, 0x7, 0xe0} - -/* P (80) */ -#define NXFONT_METRICS_80 {2, 14, 17, 0, 11, 0} -#define NXFONT_BITMAP_80 {0xff, 0xe0, 0x3c, 0x78, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x78, 0x3f, 0xe0, 0x3c, 0x0, 0x3c, 0x0, 0x3c, 0x0, 0x3c, 0x0, 0x3c, 0x0, 0x3c, 0x0, 0x3c, 0x0, 0xff, 0x0} - -/* Q (81) */ -#define NXFONT_METRICS_81 {3, 17, 22, 1, 11, 0} -#define NXFONT_BITMAP_81 {0x7, 0xe0, 0x0, 0x1c, 0x38, 0x0, 0x38, 0x1c, 0x0, 0x78, 0x1e, 0x0, 0x70, 0xe, 0x0, 0xf0, 0xf, 0x0, 0xf0, 0xf, 0x0, 0xf0, 0xf, 0x0, 0xf0, 0xf, 0x0, 0xf0, 0xf, 0x0, 0xf0, 0xf, 0x0, 0xf0, 0xf, 0x0, 0xf0, 0xe, 0x0, 0x78, 0x1e, 0x0, 0x78, 0x1c, 0x0, 0x3c, 0x38, 0x0, 0x1f, 0xe0, 0x0, 0x7, 0xc0, 0x0, 0x1, 0xe0, 0x0, 0x1, 0xf0, 0x0, 0x0, 0xfc, 0x0, 0x0, 0x3f, 0x80} - -/* R (82) */ -#define NXFONT_METRICS_82 {2, 16, 17, 1, 11, 0} -#define NXFONT_BITMAP_82 {0xff, 0xe0, 0x3c, 0x78, 0x3c, 0x38, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x38, 0x3c, 0x70, 0x3f, 0xc0, 0x3d, 0xe0, 0x3c, 0xf0, 0x3c, 0xf0, 0x3c, 0x78, 0x3c, 0x7c, 0x3c, 0x3c, 0x3c, 0x1e, 0xff, 0x1f} - -/* S (83) */ -#define NXFONT_METRICS_83 {2, 12, 17, 1, 11, 0} -#define NXFONT_BITMAP_83 {0x3f, 0xa0, 0x71, 0xe0, 0xe0, 0xe0, 0xe0, 0x60, 0xe0, 0x20, 0xf8, 0x0, 0x7e, 0x0, 0x7f, 0x80, 0x3f, 0xc0, 0xf, 0xe0, 0x7, 0xe0, 0x81, 0xf0, 0x80, 0xf0, 0xc0, 0xf0, 0xe0, 0xe0, 0xf9, 0xe0, 0xbf, 0x80} - -/* T (84) */ -#define NXFONT_METRICS_84 {2, 14, 17, 1, 11, 0} -#define NXFONT_BITMAP_84 {0xff, 0xfc, 0xe7, 0x9c, 0xc7, 0x8c, 0x87, 0x84, 0x87, 0x84, 0x7, 0x80, 0x7, 0x80, 0x7, 0x80, 0x7, 0x80, 0x7, 0x80, 0x7, 0x80, 0x7, 0x80, 0x7, 0x80, 0x7, 0x80, 0x7, 0x80, 0x7, 0x80, 0x1f, 0xe0} - -/* U (85) */ -#define NXFONT_METRICS_85 {3, 17, 17, 0, 11, 0} -#define NXFONT_BITMAP_85 {0xff, 0xf, 0x80, 0x7e, 0x7, 0x0, 0x3c, 0x2, 0x0, 0x3c, 0x2, 0x0, 0x3c, 0x2, 0x0, 0x3c, 0x2, 0x0, 0x3c, 0x2, 0x0, 0x3c, 0x2, 0x0, 0x3c, 0x2, 0x0, 0x3c, 0x2, 0x0, 0x3c, 0x2, 0x0, 0x3c, 0x2, 0x0, 0x3c, 0x2, 0x0, 0x3c, 0x6, 0x0, 0x1e, 0x4, 0x0, 0x1f, 0xc, 0x0, 0x7, 0xf8, 0x0} - -/* V (86) */ -#define NXFONT_METRICS_86 {3, 17, 17, 0, 11, 0} -#define NXFONT_BITMAP_86 {0xff, 0x1f, 0x80, 0x3c, 0x6, 0x0, 0x3c, 0x4, 0x0, 0x1e, 0x4, 0x0, 0x1e, 0xc, 0x0, 0xf, 0x8, 0x0, 0xf, 0x18, 0x0, 0xf, 0x18, 0x0, 0x7, 0x90, 0x0, 0x7, 0xb0, 0x0, 0x3, 0xe0, 0x0, 0x3, 0xe0, 0x0, 0x3, 0xe0, 0x0, 0x1, 0xc0, 0x0, 0x1, 0xc0, 0x0, 0x0, 0x80, 0x0, 0x0, 0x80, 0x0} - -/* W (87) */ -#define NXFONT_METRICS_87 {3, 24, 17, 0, 11, 0} -#define NXFONT_BITMAP_87 {0xff, 0x7f, 0x9f, 0x3c, 0x1e, 0x6, 0x3c, 0x1e, 0x4, 0x1e, 0xf, 0xc, 0x1e, 0x1f, 0x8, 0x1e, 0x1f, 0x18, 0xf, 0x17, 0x98, 0xf, 0x37, 0x90, 0xf, 0x27, 0xb0, 0x7, 0xe3, 0xb0, 0x7, 0xc3, 0xe0, 0x7, 0xc3, 0xe0, 0x3, 0xc1, 0xe0, 0x3, 0x81, 0xc0, 0x3, 0x81, 0xc0, 0x1, 0x0, 0x80, 0x1, 0x0, 0x80} - -/* X (88) */ -#define NXFONT_METRICS_88 {2, 16, 17, 1, 11, 0} -#define NXFONT_BITMAP_88 {0xff, 0x3f, 0x3e, 0xc, 0x1e, 0x8, 0x1f, 0x18, 0xf, 0x30, 0xf, 0xa0, 0x7, 0xe0, 0x3, 0xc0, 0x3, 0xe0, 0x3, 0xe0, 0x3, 0xf0, 0x6, 0xf0, 0xc, 0x78, 0x8, 0x7c, 0x18, 0x3c, 0x38, 0x3e, 0xfc, 0xff} - -/* Y (89) */ -#define NXFONT_METRICS_89 {3, 18, 17, 0, 11, 0} -#define NXFONT_BITMAP_89 {0xff, 0x8f, 0xc0, 0x3e, 0x3, 0x0, 0x1e, 0x2, 0x0, 0xf, 0x6, 0x0, 0xf, 0xc, 0x0, 0x7, 0x8c, 0x0, 0x7, 0x98, 0x0, 0x3, 0xd0, 0x0, 0x3, 0xf0, 0x0, 0x1, 0xe0, 0x0, 0x1, 0xe0, 0x0, 0x1, 0xe0, 0x0, 0x1, 0xe0, 0x0, 0x1, 0xe0, 0x0, 0x1, 0xe0, 0x0, 0x1, 0xe0, 0x0, 0x7, 0xf8, 0x0} - -/* Z (90) */ -#define NXFONT_METRICS_90 {2, 14, 17, 1, 11, 0} -#define NXFONT_BITMAP_90 {0xff, 0xf8, 0xe0, 0xf8, 0xc1, 0xf0, 0xc1, 0xf0, 0x83, 0xe0, 0x3, 0xc0, 0x7, 0xc0, 0x7, 0x80, 0xf, 0x80, 0xf, 0x0, 0x1e, 0x0, 0x3e, 0x4, 0x3c, 0x4, 0x7c, 0xc, 0x78, 0x1c, 0xf8, 0x3c, 0xff, 0xf8} - -/* bracketleft (91) */ -#define NXFONT_METRICS_91 {1, 5, 21, 1, 11, 0} -#define NXFONT_BITMAP_91 {0xf8, 0xe0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xe0, 0xf8} - -/* backslash (92) */ -#define NXFONT_METRICS_92 {1, 7, 17, 0, 11, 0} -#define NXFONT_BITMAP_92 {0xc0, 0xc0, 0x40, 0x60, 0x60, 0x20, 0x30, 0x30, 0x10, 0x18, 0x18, 0x8, 0xc, 0xc, 0x4, 0x6, 0x6} - -/* bracketright (93) */ -#define NXFONT_METRICS_93 {1, 5, 21, 1, 11, 0} -#define NXFONT_BITMAP_93 {0xf8, 0x38, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x38, 0xf8} - -/* asciicircum (94) */ -#define NXFONT_METRICS_94 {1, 8, 10, 3, 11, 0} -#define NXFONT_BITMAP_94 {0x18, 0x18, 0x3c, 0x24, 0x66, 0x66, 0x66, 0xc3, 0xc3, 0x81} - -/* underscore (95) */ -#define NXFONT_METRICS_95 {2, 12, 2, 0, 31, 0} -#define NXFONT_BITMAP_95 {0xff, 0xf0, 0xff, 0xf0} - -/* grave (96) */ -#define NXFONT_METRICS_96 {1, 5, 4, 1, 11, 0} -#define NXFONT_BITMAP_96 {0xe0, 0x70, 0x30, 0x18} - -/* a (97) */ -#define NXFONT_METRICS_97 {2, 10, 12, 1, 16, 0} -#define NXFONT_BITMAP_97 {0x3e, 0x0, 0x77, 0x0, 0xe3, 0x80, 0xe3, 0x80, 0x43, 0x80, 0xf, 0x80, 0x73, 0x80, 0xe3, 0x80, 0xe3, 0x80, 0xe7, 0x80, 0xff, 0xc0, 0x71, 0x80} - -/* b (98) */ -#define NXFONT_METRICS_98 {2, 11, 17, 1, 11, 0} -#define NXFONT_BITMAP_98 {0xf0, 0x0, 0x70, 0x0, 0x70, 0x0, 0x70, 0x0, 0x70, 0x0, 0x77, 0x0, 0x7f, 0xc0, 0x71, 0xc0, 0x70, 0xe0, 0x70, 0xe0, 0x70, 0xe0, 0x70, 0xe0, 0x70, 0xe0, 0x70, 0xe0, 0x71, 0xc0, 0x7b, 0xc0, 0x67, 0x0} - -/* c (99) */ -#define NXFONT_METRICS_99 {2, 9, 12, 1, 16, 0} -#define NXFONT_BITMAP_99 {0x1e, 0x0, 0x73, 0x0, 0x73, 0x80, 0xe3, 0x80, 0xe1, 0x0, 0xe0, 0x0, 0xe0, 0x0, 0xe0, 0x0, 0xf0, 0x0, 0x78, 0x80, 0x7f, 0x0, 0x1e, 0x0} - -/* d (100) */ -#define NXFONT_METRICS_100 {2, 12, 17, 1, 11, 0} -#define NXFONT_BITMAP_100 {0x1, 0xe0, 0x0, 0xe0, 0x0, 0xe0, 0x0, 0xe0, 0x0, 0xe0, 0x1e, 0xe0, 0x7f, 0xe0, 0x71, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xf0, 0xe0, 0x71, 0xe0, 0x7e, 0xe0, 0x1c, 0x70} - -/* e (101) */ -#define NXFONT_METRICS_101 {2, 9, 12, 1, 16, 0} -#define NXFONT_BITMAP_101 {0x1e, 0x0, 0x73, 0x0, 0x73, 0x80, 0xe3, 0x80, 0xe3, 0x80, 0xff, 0x80, 0xe0, 0x0, 0xe0, 0x0, 0xf0, 0x0, 0x78, 0x80, 0x7f, 0x0, 0x1e, 0x0} - -/* f (102) */ -#define NXFONT_METRICS_102 {1, 8, 17, 1, 11, 0} -#define NXFONT_BITMAP_102 {0x1e, 0x33, 0x73, 0x70, 0x70, 0xfc, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0xf8} - -/* g (103) */ -#define NXFONT_METRICS_103 {2, 10, 17, 1, 16, 0} -#define NXFONT_BITMAP_103 {0x3e, 0xc0, 0x77, 0xc0, 0xe3, 0x80, 0xe3, 0x80, 0xe3, 0x80, 0xe3, 0x80, 0x73, 0x0, 0x3e, 0x0, 0x60, 0x0, 0xe0, 0x0, 0xff, 0x80, 0xff, 0xc0, 0x7f, 0xc0, 0xc1, 0xc0, 0xc0, 0xc0, 0xe1, 0x80, 0x7f, 0x0} - -/* h (104) */ -#define NXFONT_METRICS_104 {2, 12, 17, 1, 11, 0} -#define NXFONT_BITMAP_104 {0xf0, 0x0, 0x70, 0x0, 0x70, 0x0, 0x70, 0x0, 0x70, 0x0, 0x73, 0xc0, 0x7f, 0xe0, 0x78, 0xe0, 0x70, 0xe0, 0x70, 0xe0, 0x70, 0xe0, 0x70, 0xe0, 0x70, 0xe0, 0x70, 0xe0, 0x70, 0xe0, 0x70, 0xe0, 0xf9, 0xf0} - -/* i (105) */ -#define NXFONT_METRICS_105 {1, 5, 17, 1, 11, 0} -#define NXFONT_BITMAP_105 {0x70, 0x70, 0x70, 0x0, 0x0, 0xf0, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0xf8} - -/* j (106) - NOTE: Xoffset should be -1, not 0. */ -#define NXFONT_METRICS_106 {1, 7, 22, 0, 11, 0} -#define NXFONT_BITMAP_106 {0xe, 0xe, 0xe, 0x0, 0x0, 0x1e, 0xe, 0xe, 0xe, 0xe, 0xe, 0xe, 0xe, 0xe, 0xe, 0xe, 0xe, 0xe, 0xce, 0xce, 0xcc, 0x78} - -/* k (107) */ -#define NXFONT_METRICS_107 {2, 13, 17, 1, 11, 0} -#define NXFONT_BITMAP_107 {0xf0, 0x0, 0x70, 0x0, 0x70, 0x0, 0x70, 0x0, 0x70, 0x0, 0x73, 0xf0, 0x70, 0xc0, 0x71, 0x80, 0x73, 0x0, 0x76, 0x0, 0x7e, 0x0, 0x7f, 0x0, 0x77, 0x80, 0x73, 0xc0, 0x71, 0xe0, 0x70, 0xf0, 0xfb, 0xf8} - -/* l (108) */ -#define NXFONT_METRICS_108 {1, 5, 17, 1, 11, 0} -#define NXFONT_BITMAP_108 {0xf0, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0xf8} - -/* m (109) */ -#define NXFONT_METRICS_109 {3, 19, 12, 1, 16, 0} -#define NXFONT_BITMAP_109 {0xf3, 0xc7, 0x80, 0x77, 0xdf, 0xc0, 0x78, 0xf1, 0xc0, 0x70, 0xe1, 0xc0, 0x70, 0xe1, 0xc0, 0x70, 0xe1, 0xc0, 0x70, 0xe1, 0xc0, 0x70, 0xe1, 0xc0, 0x70, 0xe1, 0xc0, 0x70, 0xe1, 0xc0, 0x70, 0xe1, 0xc0, 0xf9, 0xf3, 0xe0} - -/* n (110) */ -#define NXFONT_METRICS_110 {2, 12, 12, 1, 16, 0} -#define NXFONT_BITMAP_110 {0xf3, 0xc0, 0x77, 0xe0, 0x78, 0xe0, 0x70, 0xe0, 0x70, 0xe0, 0x70, 0xe0, 0x70, 0xe0, 0x70, 0xe0, 0x70, 0xe0, 0x70, 0xe0, 0x70, 0xe0, 0xf9, 0xf0} - -/* o (111) */ -#define NXFONT_METRICS_111 {2, 11, 12, 1, 16, 0} -#define NXFONT_BITMAP_111 {0x1f, 0x0, 0x71, 0xc0, 0x71, 0xc0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0x71, 0xc0, 0x71, 0xc0, 0x1f, 0x0} - -/* p (112) */ -#define NXFONT_METRICS_112 {2, 12, 17, 1, 16, 0} -#define NXFONT_BITMAP_112 {0xe3, 0xc0, 0x77, 0xe0, 0x78, 0xe0, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x78, 0xe0, 0x77, 0xe0, 0x73, 0x80, 0x70, 0x0, 0x70, 0x0, 0x70, 0x0, 0x70, 0x0, 0xfc, 0x0} - -/* q (113) */ -#define NXFONT_METRICS_113 {2, 12, 17, 1, 16, 0} -#define NXFONT_BITMAP_113 {0xe, 0x60, 0x3f, 0xe0, 0x71, 0xe0, 0x70, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0x71, 0xe0, 0x7e, 0xe0, 0x1c, 0xe0, 0x0, 0xe0, 0x0, 0xe0, 0x0, 0xe0, 0x0, 0xe0, 0x1, 0xf0} - -/* r (114) */ -#define NXFONT_METRICS_114 {2, 9, 12, 1, 16, 0} -#define NXFONT_BITMAP_114 {0xef, 0x0, 0x7f, 0x80, 0x73, 0x80, 0x70, 0x0, 0x70, 0x0, 0x70, 0x0, 0x70, 0x0, 0x70, 0x0, 0x70, 0x0, 0x70, 0x0, 0x70, 0x0, 0xf8, 0x0} - -/* s (115) */ -#define NXFONT_METRICS_115 {1, 8, 12, 1, 16, 0} -#define NXFONT_BITMAP_115 {0x3e, 0x66, 0xe2, 0xe0, 0xf8, 0x7c, 0x3e, 0x1f, 0x87, 0x87, 0xc6, 0xfc} - -/* t (116) */ -#define NXFONT_METRICS_116 {1, 8, 16, 0, 12, 0} -#define NXFONT_BITMAP_116 {0x8, 0x18, 0x38, 0x78, 0xff, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x39, 0x3e, 0x1c} - -/* u (117) */ -#define NXFONT_METRICS_117 {2, 12, 12, 1, 16, 0} -#define NXFONT_BITMAP_117 {0xf1, 0xe0, 0x70, 0xe0, 0x70, 0xe0, 0x70, 0xe0, 0x70, 0xe0, 0x70, 0xe0, 0x70, 0xe0, 0x70, 0xe0, 0x70, 0xe0, 0x71, 0xe0, 0x7e, 0xf0, 0x3c, 0xe0} - -/* v (118) */ -#define NXFONT_METRICS_118 {2, 12, 12, 0, 16, 0} -#define NXFONT_BITMAP_118 {0xfc, 0xf0, 0x70, 0x60, 0x78, 0x40, 0x38, 0xc0, 0x38, 0x80, 0x1c, 0x80, 0x1d, 0x80, 0x1f, 0x0, 0xf, 0x0, 0xf, 0x0, 0x6, 0x0, 0x6, 0x0} - -/* w (119) */ -#define NXFONT_METRICS_119 {3, 17, 12, 0, 16, 0} -#define NXFONT_BITMAP_119 {0xfd, 0xf7, 0x80, 0x78, 0xe3, 0x0, 0x38, 0xe3, 0x0, 0x38, 0xe2, 0x0, 0x3c, 0xe6, 0x0, 0x1d, 0x76, 0x0, 0x1d, 0x74, 0x0, 0x1f, 0x3c, 0x0, 0xe, 0x38, 0x0, 0xe, 0x38, 0x0, 0x4, 0x10, 0x0, 0x4, 0x10, 0x0} - -/* x (120) */ -#define NXFONT_METRICS_120 {2, 12, 12, 0, 16, 0} -#define NXFONT_BITMAP_120 {0xfc, 0xf0, 0x78, 0x60, 0x3c, 0xc0, 0x1d, 0x80, 0x1f, 0x0, 0xf, 0x0, 0xf, 0x0, 0x1f, 0x80, 0x1b, 0xc0, 0x31, 0xc0, 0x61, 0xe0, 0xf3, 0xf0} - -/* y (121) */ -#define NXFONT_METRICS_121 {2, 12, 17, 0, 16, 0} -#define NXFONT_BITMAP_121 {0xfd, 0xf0, 0x78, 0x60, 0x38, 0x40, 0x38, 0xc0, 0x3c, 0x80, 0x1c, 0x80, 0x1d, 0x80, 0x1f, 0x0, 0xf, 0x0, 0xf, 0x0, 0x6, 0x0, 0x6, 0x0, 0x6, 0x0, 0x64, 0x0, 0xec, 0x0, 0xf8, 0x0, 0x70, 0x0} - -/* z (122) */ -#define NXFONT_METRICS_122 {2, 9, 12, 1, 16, 0} -#define NXFONT_BITMAP_122 {0xff, 0x80, 0xc7, 0x0, 0x8f, 0x0, 0x8e, 0x0, 0x1e, 0x0, 0x1c, 0x0, 0x3c, 0x0, 0x38, 0x0, 0x78, 0x80, 0x71, 0x80, 0xf1, 0x80, 0xff, 0x80} - -/* braceleft (123) */ -#define NXFONT_METRICS_123 {1, 7, 21, 1, 11, 0} -#define NXFONT_BITMAP_123 {0xe, 0x18, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x60, 0xc0, 0x60, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x18, 0xe} - -/* bar (124) */ -#define NXFONT_METRICS_124 {1, 2, 22, 2, 11, 0} -#define NXFONT_BITMAP_124 {0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0} - -/* braceright (125) */ -#define NXFONT_METRICS_125 {1, 7, 21, 1, 11, 0} -#define NXFONT_BITMAP_125 {0xe0, 0x30, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0xc, 0x6, 0xc, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x30, 0xe0} - -/* asciitilde (126) */ -#define NXFONT_METRICS_126 {2, 12, 6, 0, 16, 0} -#define NXFONT_BITMAP_126 {0x18, 0x0, 0x7e, 0x10, 0xff, 0x10, 0x8f, 0xf0, 0x87, 0xe0, 0x1, 0x80} - -/* exclamdown (161) */ -#define NXFONT_METRICS_161 {1, 4, 17, 2, 16, 0} -#define NXFONT_BITMAP_161 {0x60, 0xf0, 0xf0, 0x60, 0x0, 0x0, 0x60, 0x60, 0x60, 0x60, 0x60, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0x60} - -/* cent (162) */ -#define NXFONT_METRICS_162 {2, 10, 18, 1, 13, 0} -#define NXFONT_BITMAP_162 {0x0, 0x80, 0x1, 0x80, 0x1, 0x0, 0x1f, 0x80, 0x73, 0xc0, 0x73, 0xc0, 0xe6, 0x80, 0xe4, 0x0, 0xe4, 0x0, 0xec, 0x0, 0xe8, 0x0, 0xf8, 0x0, 0x78, 0x80, 0x7f, 0x80, 0x3e, 0x0, 0x30, 0x0, 0x60, 0x0, 0x60, 0x0} - -/* sterling (163) */ -#define NXFONT_METRICS_163 {2, 11, 17, 0, 11, 0} -#define NXFONT_BITMAP_163 {0xf, 0xc0, 0x1e, 0x60, 0x3c, 0xe0, 0x3c, 0xe0, 0x3c, 0x40, 0x1c, 0x0, 0x1c, 0x0, 0xff, 0x80, 0xff, 0x80, 0x1c, 0x0, 0x1c, 0x0, 0x1c, 0x0, 0xc, 0x20, 0x7c, 0x60, 0xcf, 0xe0, 0xff, 0xe0, 0x73, 0xc0} - -/* currency (164) */ -#define NXFONT_METRICS_164 {2, 11, 12, 0, 13, 0} -#define NXFONT_BITMAP_164 {0xc0, 0x60, 0xee, 0xe0, 0x7f, 0xc0, 0x3b, 0x80, 0x71, 0xc0, 0x60, 0xc0, 0x60, 0xc0, 0x71, 0xc0, 0x3b, 0x80, 0x7f, 0xc0, 0xee, 0xe0, 0xc0, 0x60} - -/* yen (165) */ -#define NXFONT_METRICS_165 {2, 14, 17, 0, 11, 0} -#define NXFONT_BITMAP_165 {0xfe, 0x7c, 0x38, 0x30, 0x3c, 0x20, 0x1c, 0x60, 0x1e, 0x40, 0xe, 0xc0, 0xf, 0x80, 0x7, 0x80, 0x7, 0x0, 0x1f, 0xc0, 0x7, 0x0, 0x1f, 0xc0, 0x7, 0x0, 0x7, 0x0, 0x7, 0x0, 0x7, 0x0, 0x1f, 0xc0} - -/* brokenbar (166) */ -#define NXFONT_METRICS_166 {1, 2, 22, 2, 11, 0} -#define NXFONT_BITMAP_166 {0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0x0, 0x0, 0x0, 0x0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0} - -/* section (167) */ -#define NXFONT_METRICS_167 {1, 7, 20, 2, 11, 0} -#define NXFONT_BITMAP_167 {0x3c, 0x6e, 0xce, 0xc6, 0xe0, 0x70, 0x78, 0x5c, 0x8e, 0x86, 0xc2, 0xe2, 0x74, 0x3c, 0x1c, 0xe, 0xc6, 0xe6, 0xec, 0x78} - -/* dieresis (168) */ -#define NXFONT_METRICS_168 {1, 6, 2, 1, 12, 0} -#define NXFONT_BITMAP_168 {0xcc, 0xcc} - -/* copyright (169) */ -#define NXFONT_METRICS_169 {3, 17, 17, 1, 11, 0} -#define NXFONT_BITMAP_169 {0x3, 0xe0, 0x0, 0xf, 0xf8, 0x0, 0x3c, 0x1e, 0x0, 0x30, 0x6, 0x0, 0x61, 0xf3, 0x0, 0x63, 0x33, 0x0, 0xc6, 0x11, 0x80, 0xc6, 0x1, 0x80, 0xc6, 0x1, 0x80, 0xc6, 0x1, 0x80, 0xc6, 0x1, 0x80, 0x63, 0x33, 0x0, 0x61, 0xe3, 0x0, 0x30, 0x6, 0x0, 0x3c, 0x1e, 0x0, 0xf, 0xf8, 0x0, 0x3, 0xe0, 0x0} - -/* ordfeminine (170) */ -#define NXFONT_METRICS_170 {1, 7, 10, 0, 11, 0} -#define NXFONT_BITMAP_170 {0x78, 0xdc, 0xc, 0x7c, 0xec, 0xcc, 0x7e, 0x0, 0xfe, 0xfe} - -/* guillemotleft (171) */ -#define NXFONT_METRICS_171 {2, 11, 10, 1, 17, 0} -#define NXFONT_BITMAP_171 {0xc, 0x60, 0x18, 0xc0, 0x31, 0x80, 0x73, 0x80, 0xe7, 0x0, 0xe7, 0x0, 0x73, 0x80, 0x31, 0x80, 0x18, 0xc0, 0xc, 0x60} - -/* logicalnot (172) */ -#define NXFONT_METRICS_172 {2, 11, 7, 2, 19, 0} -#define NXFONT_BITMAP_172 {0xff, 0xe0, 0xff, 0xe0, 0x0, 0x60, 0x0, 0x60, 0x0, 0x60, 0x0, 0x60, 0x0, 0x60} - -/* hyphen (173) */ -#define NXFONT_METRICS_173 {1, 6, 3, 1, 20, 0} -#define NXFONT_BITMAP_173 {0xfc, 0xfc, 0xfc} - -/* registered (174) */ -#define NXFONT_METRICS_174 {3, 17, 17, 1, 11, 0} -#define NXFONT_BITMAP_174 {0x3, 0xe0, 0x0, 0xf, 0xf8, 0x0, 0x3c, 0x1e, 0x0, 0x30, 0x6, 0x0, 0x67, 0xe3, 0x0, 0x63, 0x33, 0x0, 0xc3, 0x31, 0x80, 0xc3, 0x31, 0x80, 0xc3, 0xe1, 0x80, 0xc3, 0x61, 0x80, 0xc3, 0x31, 0x80, 0x63, 0x33, 0x0, 0x67, 0xbb, 0x0, 0x30, 0x6, 0x0, 0x3c, 0x1e, 0x0, 0xf, 0xf8, 0x0, 0x3, 0xe0, 0x0} - -/* macron (175) */ -#define NXFONT_METRICS_175 {1, 6, 1, 1, 13, 0} -#define NXFONT_BITMAP_175 {0xfc} - -/* degree (176) */ -#define NXFONT_METRICS_176 {1, 8, 7, 0, 11, 0} -#define NXFONT_BITMAP_176 {0x3c, 0x66, 0xc3, 0xc3, 0xc3, 0x66, 0x3c} - -/* plusminus (177) */ -#define NXFONT_METRICS_177 {2, 12, 13, 1, 15, 0} -#define NXFONT_BITMAP_177 {0x6, 0x0, 0x6, 0x0, 0x6, 0x0, 0x6, 0x0, 0xff, 0xf0, 0xff, 0xf0, 0x6, 0x0, 0x6, 0x0, 0x6, 0x0, 0x6, 0x0, 0x0, 0x0, 0xff, 0xf0, 0xff, 0xf0} - -/* twosuperior (178) */ -#define NXFONT_METRICS_178 {1, 6, 10, 0, 11, 0} -#define NXFONT_BITMAP_178 {0x38, 0x7c, 0x8c, 0xc, 0x18, 0x10, 0x20, 0x40, 0xfc, 0xfc} - -/* threesuperior (179) */ -#define NXFONT_METRICS_179 {1, 6, 10, 0, 11, 0} -#define NXFONT_BITMAP_179 {0x38, 0x7c, 0x8c, 0xc, 0x38, 0x1c, 0xc, 0x8c, 0xf8, 0x70} - -/* acute (180) */ -#define NXFONT_METRICS_180 {1, 5, 4, 2, 11, 0} -#define NXFONT_BITMAP_180 {0x38, 0x70, 0x60, 0xc0} - -/* mu (181) */ -#define NXFONT_METRICS_181 {2, 12, 17, 1, 16, 0} -#define NXFONT_BITMAP_181 {0xf1, 0xe0, 0x70, 0xe0, 0x70, 0xe0, 0x70, 0xe0, 0x70, 0xe0, 0x70, 0xe0, 0x70, 0xe0, 0x70, 0xe0, 0x70, 0xe0, 0x71, 0xe0, 0x7e, 0xf0, 0x6c, 0xe0, 0x60, 0x0, 0x60, 0x0, 0xe0, 0x0, 0xf0, 0x0, 0x60, 0x0} - -/* paragraph (182) */ -#define NXFONT_METRICS_182 {2, 11, 22, 1, 11, 0} -#define NXFONT_BITMAP_182 {0x1f, 0xe0, 0x7f, 0xe0, 0x7e, 0x40, 0xfe, 0x40, 0xfe, 0x40, 0xfe, 0x40, 0xfe, 0x40, 0xfe, 0x40, 0xfe, 0x40, 0x7e, 0x40, 0x7e, 0x40, 0x1e, 0x40, 0x2, 0x40, 0x2, 0x40, 0x2, 0x40, 0x2, 0x40, 0x2, 0x40, 0x2, 0x40, 0x2, 0x40, 0x2, 0x40, 0x2, 0x40, 0x2, 0x40} - -/* periodcentered (183) */ -#define NXFONT_METRICS_183 {1, 3, 3, 1, 19, 0} -#define NXFONT_BITMAP_183 {0xe0, 0xe0, 0xe0} - -/* cedilla (184) */ -#define NXFONT_METRICS_184 {1, 6, 6, 1, 28, 0} -#define NXFONT_BITMAP_184 {0x10, 0x30, 0x38, 0xc, 0x8c, 0x78} - -/* onesuperior (185) */ -#define NXFONT_METRICS_185 {1, 6, 10, 0, 11, 0} -#define NXFONT_BITMAP_185 {0x30, 0xf0, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0xfc} - -/* ordmasculine (186) */ -#define NXFONT_METRICS_186 {1, 7, 10, 0, 11, 0} -#define NXFONT_BITMAP_186 {0x38, 0x6c, 0xc6, 0xc6, 0xc6, 0x6c, 0x38, 0x0, 0xfe, 0xfe} - -/* guillemotright (187) */ -#define NXFONT_METRICS_187 {2, 11, 10, 1, 17, 0} -#define NXFONT_BITMAP_187 {0xc6, 0x0, 0x63, 0x0, 0x31, 0x80, 0x39, 0xc0, 0x1c, 0xe0, 0x1c, 0xe0, 0x39, 0xc0, 0x33, 0x80, 0x63, 0x0, 0xc6, 0x0} - -/* onequarter (188) */ -#define NXFONT_METRICS_188 {3, 17, 17, 0, 11, 0} -#define NXFONT_BITMAP_188 {0x30, 0x4, 0x0, 0xf0, 0xc, 0x0, 0x30, 0x18, 0x0, 0x30, 0x18, 0x0, 0x30, 0x30, 0x0, 0x30, 0x20, 0x0, 0x30, 0x60, 0x0, 0x30, 0x42, 0x0, 0x30, 0xc6, 0x0, 0xfc, 0x8e, 0x0, 0x1, 0x8e, 0x0, 0x1, 0x16, 0x0, 0x3, 0x36, 0x0, 0x6, 0x26, 0x0, 0x6, 0x7f, 0x80, 0xc, 0x6, 0x0, 0x8, 0x6, 0x0} - -/* onehalf (189) */ -#define NXFONT_METRICS_189 {3, 17, 17, 0, 11, 0} -#define NXFONT_BITMAP_189 {0x30, 0x4, 0x0, 0xf0, 0xc, 0x0, 0x30, 0x18, 0x0, 0x30, 0x18, 0x0, 0x30, 0x30, 0x0, 0x30, 0x20, 0x0, 0x30, 0x60, 0x0, 0x30, 0x47, 0x0, 0x30, 0xcf, 0x80, 0xfc, 0x91, 0x80, 0x1, 0x81, 0x80, 0x1, 0x3, 0x0, 0x3, 0x2, 0x0, 0x6, 0x4, 0x0, 0x6, 0x8, 0x0, 0xc, 0x1f, 0x80, 0x8, 0x1f, 0x80} - -/* threequarters (190) */ -#define NXFONT_METRICS_190 {3, 17, 17, 1, 11, 0} -#define NXFONT_BITMAP_190 {0x38, 0x4, 0x0, 0x7c, 0xc, 0x0, 0x8c, 0x18, 0x0, 0xc, 0x18, 0x0, 0x38, 0x30, 0x0, 0x1c, 0x20, 0x0, 0xc, 0x60, 0x0, 0x8c, 0x42, 0x0, 0xf8, 0xc6, 0x0, 0x71, 0xe, 0x0, 0x3, 0xe, 0x0, 0x2, 0x16, 0x0, 0x6, 0x36, 0x0, 0xc, 0x26, 0x0, 0xc, 0x7f, 0x80, 0x18, 0x6, 0x0, 0x10, 0x6, 0x0} - -/* questiondown (191) */ -#define NXFONT_METRICS_191 {2, 9, 17, 1, 16, 0} -#define NXFONT_BITMAP_191 {0xc, 0x0, 0x1e, 0x0, 0x1e, 0x0, 0xc, 0x0, 0x0, 0x0, 0x0, 0x0, 0xc, 0x0, 0xc, 0x0, 0x1c, 0x0, 0x38, 0x0, 0x78, 0x0, 0xf0, 0x0, 0xf1, 0x0, 0xf3, 0x80, 0xf3, 0x80, 0x7b, 0x0, 0x3e, 0x0} - -/* Agrave (192) */ -#define NXFONT_METRICS_192 {3, 17, 22, 0, 6, 0} -#define NXFONT_BITMAP_192 {0x3, 0x80, 0x0, 0x1, 0xc0, 0x0, 0x0, 0xc0, 0x0, 0x0, 0x60, 0x0, 0x0, 0x0, 0x0, 0x1, 0x80, 0x0, 0x1, 0xc0, 0x0, 0x3, 0xc0, 0x0, 0x3, 0xe0, 0x0, 0x3, 0xe0, 0x0, 0x6, 0xe0, 0x0, 0x6, 0xf0, 0x0, 0x4, 0x70, 0x0, 0xc, 0x70, 0x0, 0x8, 0x78, 0x0, 0x8, 0x38, 0x0, 0x1f, 0xf8, 0x0, 0x10, 0x3c, 0x0, 0x30, 0x3c, 0x0, 0x30, 0x1e, 0x0, 0x70, 0x1e, 0x0, 0xf8, 0x7f, 0x80} - -/* Aacute (193) */ -#define NXFONT_METRICS_193 {3, 17, 22, 0, 6, 0} -#define NXFONT_BITMAP_193 {0x0, 0xe0, 0x0, 0x1, 0xc0, 0x0, 0x1, 0x80, 0x0, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x80, 0x0, 0x1, 0xc0, 0x0, 0x3, 0xc0, 0x0, 0x3, 0xe0, 0x0, 0x3, 0xe0, 0x0, 0x6, 0xe0, 0x0, 0x6, 0xf0, 0x0, 0x4, 0x70, 0x0, 0xc, 0x70, 0x0, 0x8, 0x78, 0x0, 0x8, 0x38, 0x0, 0x1f, 0xf8, 0x0, 0x10, 0x3c, 0x0, 0x30, 0x3c, 0x0, 0x30, 0x1e, 0x0, 0x70, 0x1e, 0x0, 0xf8, 0x7f, 0x80} - -/* Acircumflex (194) */ -#define NXFONT_METRICS_194 {3, 17, 22, 0, 6, 0} -#define NXFONT_BITMAP_194 {0x1, 0x80, 0x0, 0x3, 0xc0, 0x0, 0x6, 0x60, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x80, 0x0, 0x1, 0xc0, 0x0, 0x3, 0xc0, 0x0, 0x3, 0xe0, 0x0, 0x3, 0xe0, 0x0, 0x6, 0xe0, 0x0, 0x6, 0xf0, 0x0, 0x4, 0x70, 0x0, 0xc, 0x70, 0x0, 0x8, 0x78, 0x0, 0x8, 0x38, 0x0, 0x1f, 0xf8, 0x0, 0x10, 0x3c, 0x0, 0x30, 0x3c, 0x0, 0x30, 0x1e, 0x0, 0x70, 0x1e, 0x0, 0xf8, 0x7f, 0x80} - -/* Atilde (195) */ -#define NXFONT_METRICS_195 {3, 17, 21, 0, 7, 0} -#define NXFONT_BITMAP_195 {0x3, 0x10, 0x0, 0x7, 0xe0, 0x0, 0x8, 0xc0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x80, 0x0, 0x1, 0xc0, 0x0, 0x3, 0xc0, 0x0, 0x3, 0xe0, 0x0, 0x3, 0xe0, 0x0, 0x6, 0xe0, 0x0, 0x6, 0xf0, 0x0, 0x4, 0x70, 0x0, 0xc, 0x70, 0x0, 0x8, 0x78, 0x0, 0x8, 0x38, 0x0, 0x1f, 0xf8, 0x0, 0x10, 0x3c, 0x0, 0x30, 0x3c, 0x0, 0x30, 0x1e, 0x0, 0x70, 0x1e, 0x0, 0xf8, 0x7f, 0x80} - -/* Adieresis (196) */ -#define NXFONT_METRICS_196 {3, 17, 21, 0, 7, 0} -#define NXFONT_BITMAP_196 {0x6, 0x60, 0x0, 0x6, 0x60, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x80, 0x0, 0x1, 0xc0, 0x0, 0x3, 0xc0, 0x0, 0x3, 0xe0, 0x0, 0x3, 0xe0, 0x0, 0x6, 0xe0, 0x0, 0x6, 0xf0, 0x0, 0x4, 0x70, 0x0, 0xc, 0x70, 0x0, 0x8, 0x78, 0x0, 0x8, 0x38, 0x0, 0x1f, 0xf8, 0x0, 0x10, 0x3c, 0x0, 0x30, 0x3c, 0x0, 0x30, 0x1e, 0x0, 0x70, 0x1e, 0x0, 0xf8, 0x7f, 0x80} - -/* Aring (197) */ -#define NXFONT_METRICS_197 {3, 17, 23, 0, 5, 0} -#define NXFONT_BITMAP_197 {0x1, 0x80, 0x0, 0x3, 0xc0, 0x0, 0x6, 0x60, 0x0, 0x6, 0x60, 0x0, 0x3, 0xc0, 0x0, 0x1, 0x80, 0x0, 0x1, 0x80, 0x0, 0x1, 0xc0, 0x0, 0x3, 0xc0, 0x0, 0x3, 0xe0, 0x0, 0x3, 0xe0, 0x0, 0x6, 0xe0, 0x0, 0x6, 0xf0, 0x0, 0x4, 0x70, 0x0, 0xc, 0x70, 0x0, 0x8, 0x78, 0x0, 0x8, 0x38, 0x0, 0x1f, 0xf8, 0x0, 0x10, 0x3c, 0x0, 0x30, 0x3c, 0x0, 0x30, 0x1e, 0x0, 0x70, 0x1e, 0x0, 0xf8, 0x7f, 0x80} - -/* AE (198) */ -#define NXFONT_METRICS_198 {3, 23, 17, 0, 11, 0} -#define NXFONT_BITMAP_198 {0x1, 0xff, 0xfc, 0x0, 0x7c, 0x1c, 0x0, 0xfc, 0xc, 0x0, 0xbc, 0x4, 0x1, 0xbc, 0x4, 0x1, 0x3c, 0x20, 0x3, 0x3c, 0x20, 0x2, 0x3c, 0x60, 0x6, 0x3f, 0xe0, 0x7, 0xfc, 0x60, 0xc, 0x3c, 0x20, 0x8, 0x3c, 0x20, 0x18, 0x3c, 0x2, 0x10, 0x3c, 0x2, 0x30, 0x3c, 0x6, 0x70, 0x3c, 0xe, 0xf8, 0xff, 0xfe} - -/* Ccedilla (199) */ -#define NXFONT_METRICS_199 {2, 15, 23, 1, 11, 0} -#define NXFONT_BITMAP_199 {0x3, 0xf2, 0x1e, 0x3e, 0x3c, 0xe, 0x78, 0x6, 0x78, 0x2, 0xf0, 0x2, 0xf0, 0x0, 0xf0, 0x0, 0xf0, 0x0, 0xf0, 0x0, 0xf0, 0x0, 0xf0, 0x0, 0x78, 0x0, 0x78, 0x2, 0x3c, 0xe, 0x1f, 0x3c, 0x7, 0xf0, 0x1, 0x0, 0x3, 0x0, 0x3, 0x80, 0x0, 0xc0, 0x8, 0xc0, 0x7, 0x80} - -/* Egrave (200) */ -#define NXFONT_METRICS_200 {2, 15, 22, 1, 6, 0} -#define NXFONT_BITMAP_200 {0x7, 0x0, 0x3, 0x80, 0x1, 0x80, 0x0, 0xc0, 0x0, 0x0, 0xff, 0xfc, 0x3c, 0x1c, 0x3c, 0xc, 0x3c, 0x4, 0x3c, 0x4, 0x3c, 0x20, 0x3c, 0x20, 0x3c, 0x60, 0x3f, 0xe0, 0x3c, 0x60, 0x3c, 0x20, 0x3c, 0x20, 0x3c, 0x2, 0x3c, 0x2, 0x3c, 0x6, 0x3c, 0xe, 0xff, 0xfe} - -/* Eacute (201) */ -#define NXFONT_METRICS_201 {2, 15, 22, 1, 6, 0} -#define NXFONT_BITMAP_201 {0x1, 0xc0, 0x3, 0x80, 0x3, 0x0, 0x6, 0x0, 0x0, 0x0, 0xff, 0xfc, 0x3c, 0x1c, 0x3c, 0xc, 0x3c, 0x4, 0x3c, 0x4, 0x3c, 0x20, 0x3c, 0x20, 0x3c, 0x60, 0x3f, 0xe0, 0x3c, 0x60, 0x3c, 0x20, 0x3c, 0x20, 0x3c, 0x2, 0x3c, 0x2, 0x3c, 0x6, 0x3c, 0xe, 0xff, 0xfe} - -/* Ecircumflex (202) */ -#define NXFONT_METRICS_202 {2, 15, 22, 1, 6, 0} -#define NXFONT_BITMAP_202 {0x3, 0x0, 0x7, 0x80, 0xc, 0xc0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xfc, 0x3c, 0x1c, 0x3c, 0xc, 0x3c, 0x4, 0x3c, 0x4, 0x3c, 0x20, 0x3c, 0x20, 0x3c, 0x60, 0x3f, 0xe0, 0x3c, 0x60, 0x3c, 0x20, 0x3c, 0x20, 0x3c, 0x2, 0x3c, 0x2, 0x3c, 0x6, 0x3c, 0xe, 0xff, 0xfe} - -/* Edieresis (203) */ -#define NXFONT_METRICS_203 {2, 15, 21, 1, 7, 0} -#define NXFONT_BITMAP_203 {0xc, 0xc0, 0xc, 0xc0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xfc, 0x3c, 0x1c, 0x3c, 0xc, 0x3c, 0x4, 0x3c, 0x4, 0x3c, 0x20, 0x3c, 0x20, 0x3c, 0x60, 0x3f, 0xe0, 0x3c, 0x60, 0x3c, 0x20, 0x3c, 0x20, 0x3c, 0x2, 0x3c, 0x2, 0x3c, 0x6, 0x3c, 0xe, 0xff, 0xfe} - -/* Igrave (204) */ -#define NXFONT_METRICS_204 {1, 8, 22, 0, 6, 0} -#define NXFONT_BITMAP_204 {0x70, 0x38, 0x18, 0xc, 0x0, 0xff, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0xff} - -/* Iacute (205) */ -#define NXFONT_METRICS_205 {1, 8, 22, 0, 6, 0} -#define NXFONT_BITMAP_205 {0xe, 0x1c, 0x18, 0x30, 0x0, 0xff, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0xff} - -/* Icircumflex (206) */ -#define NXFONT_METRICS_206 {1, 8, 22, 0, 6, 0} -#define NXFONT_BITMAP_206 {0x18, 0x3c, 0x66, 0x0, 0x0, 0xff, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0xff} - -/* Idieresis (207) */ -#define NXFONT_METRICS_207 {1, 8, 21, 0, 7, 0} -#define NXFONT_BITMAP_207 {0x66, 0x66, 0x0, 0x0, 0xff, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0xff} - -/* Eth (208) */ -#define NXFONT_METRICS_208 {2, 16, 17, 1, 11, 0} -#define NXFONT_BITMAP_208 {0xff, 0xe0, 0x3c, 0x78, 0x3c, 0x3c, 0x3c, 0x1e, 0x3c, 0x1e, 0x3c, 0xf, 0x3c, 0xf, 0xff, 0x8f, 0xff, 0x8f, 0x3c, 0xf, 0x3c, 0xf, 0x3c, 0xe, 0x3c, 0x1e, 0x3c, 0x1c, 0x3c, 0x3c, 0x3c, 0x78, 0xff, 0xe0} - -/* Ntilde (209) */ -#define NXFONT_METRICS_209 {3, 17, 22, 0, 6, 0} -#define NXFONT_BITMAP_209 {0x1, 0x88, 0x0, 0x3, 0xf0, 0x0, 0x4, 0x60, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xf, 0x80, 0x7c, 0x7, 0x0, 0x3e, 0x2, 0x0, 0x3f, 0x2, 0x0, 0x3f, 0x82, 0x0, 0x2f, 0xc2, 0x0, 0x27, 0xe2, 0x0, 0x23, 0xe2, 0x0, 0x21, 0xf2, 0x0, 0x20, 0xfa, 0x0, 0x20, 0x7e, 0x0, 0x20, 0x3e, 0x0, 0x20, 0x1e, 0x0, 0x20, 0xe, 0x0, 0x20, 0xe, 0x0, 0x60, 0x6, 0x0, 0xf8, 0x2, 0x0} - -/* Ograve (210) */ -#define NXFONT_METRICS_210 {2, 16, 22, 1, 6, 0} -#define NXFONT_BITMAP_210 {0x7, 0x0, 0x3, 0x80, 0x1, 0x80, 0x0, 0xc0, 0x0, 0x0, 0x7, 0xe0, 0x1e, 0x78, 0x3c, 0x3c, 0x78, 0x1e, 0x78, 0x1e, 0xf0, 0xf, 0xf0, 0xf, 0xf0, 0xf, 0xf0, 0xf, 0xf0, 0xf, 0xf0, 0xf, 0xf0, 0xf, 0x78, 0x1e, 0x78, 0x1e, 0x3c, 0x3c, 0x1e, 0x78, 0x7, 0xe0} - -/* Oacute (211) */ -#define NXFONT_METRICS_211 {2, 16, 22, 1, 6, 0} -#define NXFONT_BITMAP_211 {0x0, 0x70, 0x0, 0xe0, 0x0, 0xc0, 0x1, 0x80, 0x0, 0x0, 0x7, 0xe0, 0x1e, 0x78, 0x3c, 0x3c, 0x78, 0x1e, 0x78, 0x1e, 0xf0, 0xf, 0xf0, 0xf, 0xf0, 0xf, 0xf0, 0xf, 0xf0, 0xf, 0xf0, 0xf, 0xf0, 0xf, 0x78, 0x1e, 0x78, 0x1e, 0x3c, 0x3c, 0x1e, 0x78, 0x7, 0xe0} - -/* Ocircumflex (212) */ -#define NXFONT_METRICS_212 {2, 16, 22, 1, 6, 0} -#define NXFONT_BITMAP_212 {0x1, 0x80, 0x3, 0xc0, 0x6, 0x60, 0x0, 0x0, 0x0, 0x0, 0x7, 0xe0, 0x1e, 0x78, 0x3c, 0x3c, 0x78, 0x1e, 0x78, 0x1e, 0xf0, 0xf, 0xf0, 0xf, 0xf0, 0xf, 0xf0, 0xf, 0xf0, 0xf, 0xf0, 0xf, 0xf0, 0xf, 0x78, 0x1e, 0x78, 0x1e, 0x3c, 0x3c, 0x1e, 0x78, 0x7, 0xe0} - -/* Otilde (213) */ -#define NXFONT_METRICS_213 {2, 16, 22, 1, 6, 0} -#define NXFONT_BITMAP_213 {0x3, 0x10, 0x7, 0xe0, 0x8, 0xc0, 0x0, 0x0, 0x0, 0x0, 0x7, 0xe0, 0x1e, 0x78, 0x3c, 0x3c, 0x78, 0x1e, 0x78, 0x1e, 0xf0, 0xf, 0xf0, 0xf, 0xf0, 0xf, 0xf0, 0xf, 0xf0, 0xf, 0xf0, 0xf, 0xf0, 0xf, 0x78, 0x1e, 0x78, 0x1e, 0x3c, 0x3c, 0x1e, 0x78, 0x7, 0xe0} - -/* Odieresis (214) */ -#define NXFONT_METRICS_214 {2, 16, 21, 1, 7, 0} -#define NXFONT_BITMAP_214 {0xc, 0x60, 0xc, 0x60, 0x0, 0x0, 0x0, 0x0, 0x7, 0xe0, 0x1e, 0x78, 0x3c, 0x3c, 0x78, 0x1e, 0x78, 0x1e, 0xf0, 0xf, 0xf0, 0xf, 0xf0, 0xf, 0xf0, 0xf, 0xf0, 0xf, 0xf0, 0xf, 0xf0, 0xf, 0x78, 0x1e, 0x78, 0x1e, 0x3c, 0x3c, 0x1e, 0x78, 0x7, 0xe0} - -/* multiply (215) */ -#define NXFONT_METRICS_215 {2, 12, 12, 1, 16, 0} -#define NXFONT_BITMAP_215 {0xc0, 0x30, 0xe0, 0x70, 0x70, 0xe0, 0x39, 0xc0, 0x1f, 0x80, 0xf, 0x0, 0xf, 0x0, 0x1f, 0x80, 0x39, 0xc0, 0x70, 0xe0, 0xe0, 0x70, 0xc0, 0x30} - -/* Oslash (216) */ -#define NXFONT_METRICS_216 {2, 16, 19, 1, 10, 0} -#define NXFONT_BITMAP_216 {0x0, 0x4, 0x7, 0xec, 0x1e, 0x78, 0x38, 0x1c, 0x78, 0x3e, 0x78, 0x3e, 0xf0, 0x6f, 0xf0, 0xcf, 0xf0, 0xcf, 0xf1, 0x8f, 0xf3, 0xf, 0xf3, 0xf, 0xf6, 0xf, 0x7c, 0x1e, 0x7c, 0x1e, 0x38, 0x1c, 0x3e, 0x78, 0x37, 0xe0, 0x60, 0x0} - -/* Ugrave (217) */ -#define NXFONT_METRICS_217 {3, 17, 22, 0, 6, 0} -#define NXFONT_BITMAP_217 {0x3, 0x80, 0x0, 0x1, 0xc0, 0x0, 0x0, 0xc0, 0x0, 0x0, 0x60, 0x0, 0x0, 0x0, 0x0, 0xff, 0xf, 0x80, 0x3e, 0x6, 0x0, 0x3c, 0x2, 0x0, 0x3c, 0x2, 0x0, 0x3c, 0x2, 0x0, 0x3c, 0x2, 0x0, 0x3c, 0x2, 0x0, 0x3c, 0x2, 0x0, 0x3c, 0x2, 0x0, 0x3c, 0x2, 0x0, 0x3c, 0x2, 0x0, 0x3c, 0x2, 0x0, 0x3c, 0x2, 0x0, 0x3c, 0x6, 0x0, 0x1e, 0x4, 0x0, 0x1f, 0x1c, 0x0, 0x7, 0xf8, 0x0} - -/* Uacute (218) */ -#define NXFONT_METRICS_218 {3, 17, 22, 0, 6, 0} -#define NXFONT_BITMAP_218 {0x0, 0x38, 0x0, 0x0, 0x70, 0x0, 0x0, 0x60, 0x0, 0x0, 0xc0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xf, 0x80, 0x3e, 0x6, 0x0, 0x3c, 0x2, 0x0, 0x3c, 0x2, 0x0, 0x3c, 0x2, 0x0, 0x3c, 0x2, 0x0, 0x3c, 0x2, 0x0, 0x3c, 0x2, 0x0, 0x3c, 0x2, 0x0, 0x3c, 0x2, 0x0, 0x3c, 0x2, 0x0, 0x3c, 0x2, 0x0, 0x3c, 0x2, 0x0, 0x3c, 0x6, 0x0, 0x1e, 0x4, 0x0, 0x1f, 0x1c, 0x0, 0x7, 0xf8, 0x0} - -/* Ucircumflex (219) */ -#define NXFONT_METRICS_219 {3, 17, 22, 0, 6, 0} -#define NXFONT_BITMAP_219 {0x0, 0x60, 0x0, 0x0, 0xf0, 0x0, 0x1, 0x98, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xf, 0x80, 0x3e, 0x6, 0x0, 0x3c, 0x2, 0x0, 0x3c, 0x2, 0x0, 0x3c, 0x2, 0x0, 0x3c, 0x2, 0x0, 0x3c, 0x2, 0x0, 0x3c, 0x2, 0x0, 0x3c, 0x2, 0x0, 0x3c, 0x2, 0x0, 0x3c, 0x2, 0x0, 0x3c, 0x2, 0x0, 0x3c, 0x2, 0x0, 0x3c, 0x6, 0x0, 0x1e, 0x4, 0x0, 0x1f, 0x1c, 0x0, 0x7, 0xf8, 0x0} - -/* Udieresis (220) */ -#define NXFONT_METRICS_220 {3, 17, 21, 0, 7, 0} -#define NXFONT_BITMAP_220 {0x3, 0x18, 0x0, 0x3, 0x18, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xf, 0x80, 0x3e, 0x6, 0x0, 0x3c, 0x2, 0x0, 0x3c, 0x2, 0x0, 0x3c, 0x2, 0x0, 0x3c, 0x2, 0x0, 0x3c, 0x2, 0x0, 0x3c, 0x2, 0x0, 0x3c, 0x2, 0x0, 0x3c, 0x2, 0x0, 0x3c, 0x2, 0x0, 0x3c, 0x2, 0x0, 0x3c, 0x2, 0x0, 0x3c, 0x6, 0x0, 0x1e, 0x4, 0x0, 0x1f, 0x1c, 0x0, 0x7, 0xf8, 0x0} - -/* Yacute (221) */ -#define NXFONT_METRICS_221 {3, 18, 23, 0, 5, 0} -#define NXFONT_BITMAP_221 {0x0, 0xe, 0x0, 0x0, 0x1c, 0x0, 0x0, 0x18, 0x0, 0x0, 0x30, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0x8f, 0xc0, 0x3e, 0x3, 0x0, 0x1e, 0x2, 0x0, 0xf, 0x6, 0x0, 0xf, 0xc, 0x0, 0x7, 0x8c, 0x0, 0x7, 0x98, 0x0, 0x3, 0xd0, 0x0, 0x3, 0xf0, 0x0, 0x1, 0xe0, 0x0, 0x1, 0xe0, 0x0, 0x1, 0xe0, 0x0, 0x1, 0xe0, 0x0, 0x1, 0xe0, 0x0, 0x1, 0xe0, 0x0, 0x1, 0xe0, 0x0, 0x7, 0xf8, 0x0} - -/* Thorn (222) */ -#define NXFONT_METRICS_222 {2, 14, 17, 0, 11, 0} -#define NXFONT_BITMAP_222 {0xff, 0x0, 0x3c, 0x0, 0x3c, 0x0, 0x3c, 0x0, 0x3f, 0xe0, 0x3c, 0x78, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x78, 0x3f, 0xe0, 0x3c, 0x0, 0x3c, 0x0, 0x3c, 0x0, 0xff, 0x0} - -/* germandbls (223) */ -#define NXFONT_METRICS_223 {2, 11, 17, 1, 11, 0} -#define NXFONT_BITMAP_223 {0x1f, 0x0, 0x39, 0x80, 0x71, 0xc0, 0x71, 0xc0, 0x71, 0xc0, 0x71, 0xc0, 0x73, 0x80, 0x77, 0x0, 0x73, 0x80, 0x71, 0xc0, 0x70, 0xe0, 0x70, 0xe0, 0x70, 0xe0, 0x70, 0xe0, 0x70, 0xe0, 0x70, 0xc0, 0xf3, 0x80} - -/* agrave (224) */ -#define NXFONT_METRICS_224 {2, 10, 17, 1, 11, 0} -#define NXFONT_BITMAP_224 {0x38, 0x0, 0x1c, 0x0, 0xc, 0x0, 0x6, 0x0, 0x0, 0x0, 0x3e, 0x0, 0x77, 0x0, 0xe3, 0x80, 0xe3, 0x80, 0x43, 0x80, 0xf, 0x80, 0x73, 0x80, 0xe3, 0x80, 0xe3, 0x80, 0xe7, 0x80, 0xff, 0xc0, 0x71, 0x80} - -/* aacute (225) */ -#define NXFONT_METRICS_225 {2, 10, 17, 1, 11, 0} -#define NXFONT_BITMAP_225 {0xe, 0x0, 0x1c, 0x0, 0x18, 0x0, 0x30, 0x0, 0x0, 0x0, 0x3e, 0x0, 0x77, 0x0, 0xe3, 0x80, 0xe3, 0x80, 0x43, 0x80, 0xf, 0x80, 0x73, 0x80, 0xe3, 0x80, 0xe3, 0x80, 0xe7, 0x80, 0xff, 0xc0, 0x71, 0x80} - -/* acircumflex (226) */ -#define NXFONT_METRICS_226 {2, 10, 17, 1, 11, 0} -#define NXFONT_BITMAP_226 {0xc, 0x0, 0x1e, 0x0, 0x33, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3e, 0x0, 0x77, 0x0, 0xe3, 0x80, 0xe3, 0x80, 0x43, 0x80, 0xf, 0x80, 0x73, 0x80, 0xe3, 0x80, 0xe3, 0x80, 0xe7, 0x80, 0xff, 0xc0, 0x71, 0x80} - -/* atilde (227) */ -#define NXFONT_METRICS_227 {2, 10, 17, 1, 11, 0} -#define NXFONT_BITMAP_227 {0x18, 0x80, 0x3f, 0x0, 0x46, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3e, 0x0, 0x77, 0x0, 0xe3, 0x80, 0xe3, 0x80, 0x43, 0x80, 0xf, 0x80, 0x73, 0x80, 0xe3, 0x80, 0xe3, 0x80, 0xe7, 0x80, 0xff, 0xc0, 0x71, 0x80} - -/* adieresis (228) */ -#define NXFONT_METRICS_228 {2, 10, 16, 1, 12, 0} -#define NXFONT_BITMAP_228 {0x33, 0x0, 0x33, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3e, 0x0, 0x77, 0x0, 0xe3, 0x80, 0xe3, 0x80, 0x43, 0x80, 0xf, 0x80, 0x73, 0x80, 0xe3, 0x80, 0xe3, 0x80, 0xe7, 0x80, 0xff, 0xc0, 0x71, 0x80} - -/* aring (229) */ -#define NXFONT_METRICS_229 {2, 10, 18, 1, 10, 0} -#define NXFONT_BITMAP_229 {0xc, 0x0, 0x1e, 0x0, 0x33, 0x0, 0x33, 0x0, 0x1e, 0x0, 0xc, 0x0, 0x3e, 0x0, 0x77, 0x0, 0xe3, 0x80, 0xe3, 0x80, 0x43, 0x80, 0xf, 0x80, 0x73, 0x80, 0xe3, 0x80, 0xe3, 0x80, 0xe7, 0x80, 0xff, 0xc0, 0x71, 0x80} - -/* ae (230) */ -#define NXFONT_METRICS_230 {2, 15, 12, 1, 16, 0} -#define NXFONT_BITMAP_230 {0x3e, 0x78, 0x77, 0xcc, 0xe3, 0xce, 0x63, 0x8e, 0x3, 0x8e, 0x1f, 0xfe, 0x73, 0x80, 0xe3, 0x80, 0xe3, 0xc0, 0xe7, 0xe2, 0xfe, 0xfc, 0x7c, 0x78} - -/* ccedilla (231) */ -#define NXFONT_METRICS_231 {2, 9, 18, 1, 16, 0} -#define NXFONT_BITMAP_231 {0x1e, 0x0, 0x73, 0x0, 0x73, 0x80, 0xe3, 0x80, 0xe1, 0x0, 0xe0, 0x0, 0xe0, 0x0, 0xe0, 0x0, 0xf0, 0x0, 0x78, 0x80, 0x7f, 0x0, 0x1e, 0x0, 0x8, 0x0, 0x18, 0x0, 0x1c, 0x0, 0x6, 0x0, 0x46, 0x0, 0x3c, 0x0} - -/* egrave (232) */ -#define NXFONT_METRICS_232 {2, 9, 17, 1, 11, 0} -#define NXFONT_BITMAP_232 {0x38, 0x0, 0x1c, 0x0, 0xc, 0x0, 0x6, 0x0, 0x0, 0x0, 0x1e, 0x0, 0x73, 0x0, 0x73, 0x80, 0xe3, 0x80, 0xe3, 0x80, 0xff, 0x80, 0xe0, 0x0, 0xe0, 0x0, 0xf0, 0x0, 0x78, 0x80, 0x7f, 0x0, 0x1e, 0x0} - -/* eacute (233) */ -#define NXFONT_METRICS_233 {2, 9, 17, 1, 11, 0} -#define NXFONT_BITMAP_233 {0xe, 0x0, 0x1c, 0x0, 0x18, 0x0, 0x30, 0x0, 0x0, 0x0, 0x1e, 0x0, 0x73, 0x0, 0x73, 0x80, 0xe3, 0x80, 0xe3, 0x80, 0xff, 0x80, 0xe0, 0x0, 0xe0, 0x0, 0xf0, 0x0, 0x78, 0x80, 0x7f, 0x0, 0x1e, 0x0} - -/* ecircumflex (234) */ -#define NXFONT_METRICS_234 {2, 9, 17, 1, 11, 0} -#define NXFONT_BITMAP_234 {0x18, 0x0, 0x3c, 0x0, 0x66, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1e, 0x0, 0x73, 0x0, 0x73, 0x80, 0xe3, 0x80, 0xe3, 0x80, 0xff, 0x80, 0xe0, 0x0, 0xe0, 0x0, 0xf0, 0x0, 0x78, 0x80, 0x7f, 0x0, 0x1e, 0x0} - -/* edieresis (235) */ -#define NXFONT_METRICS_235 {2, 9, 16, 1, 12, 0} -#define NXFONT_BITMAP_235 {0x33, 0x0, 0x33, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1e, 0x0, 0x73, 0x0, 0x73, 0x80, 0xe3, 0x80, 0xe3, 0x80, 0xff, 0x80, 0xe0, 0x0, 0xe0, 0x0, 0xf0, 0x0, 0x78, 0x80, 0x7f, 0x0, 0x1e, 0x0} - -/* igrave (236) */ -#define NXFONT_METRICS_236 {1, 5, 17, 1, 11, 0} -#define NXFONT_BITMAP_236 {0xe0, 0x70, 0x30, 0x18, 0x0, 0xf0, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0xf8} - -/* iacute (237) */ -#define NXFONT_METRICS_237 {1, 6, 17, 1, 11, 0} -#define NXFONT_BITMAP_237 {0x1c, 0x38, 0x30, 0x60, 0x0, 0xf0, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0xf8} - -/* icircumflex (238) */ -#define NXFONT_METRICS_238 {1, 6, 17, 1, 11, 0} -#define NXFONT_BITMAP_238 {0x30, 0x78, 0xcc, 0x0, 0x0, 0xf0, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0xf8} - -/* idieresis (239) */ -#define NXFONT_METRICS_239 {1, 6, 16, 1, 12, 0} -#define NXFONT_BITMAP_239 {0xcc, 0xcc, 0x0, 0x0, 0xf0, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0xf8} - -/* eth (240) */ -#define NXFONT_METRICS_240 {2, 11, 17, 1, 11, 0} -#define NXFONT_BITMAP_240 {0x60, 0x0, 0x38, 0xc0, 0xf, 0x0, 0x1e, 0x0, 0x63, 0x0, 0x1f, 0x80, 0x7b, 0xc0, 0x71, 0xc0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0x71, 0xc0, 0x7b, 0xc0, 0x1f, 0x0} - -/* ntilde (241) */ -#define NXFONT_METRICS_241 {2, 12, 17, 1, 11, 0} -#define NXFONT_BITMAP_241 {0xc, 0x40, 0x1f, 0x80, 0x23, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf3, 0xc0, 0x77, 0xe0, 0x78, 0xe0, 0x70, 0xe0, 0x70, 0xe0, 0x70, 0xe0, 0x70, 0xe0, 0x70, 0xe0, 0x70, 0xe0, 0x70, 0xe0, 0x70, 0xe0, 0xf9, 0xf0} - -/* ograve (242) */ -#define NXFONT_METRICS_242 {2, 11, 17, 1, 11, 0} -#define NXFONT_BITMAP_242 {0x1c, 0x0, 0xe, 0x0, 0x6, 0x0, 0x3, 0x0, 0x0, 0x0, 0x1f, 0x0, 0x7b, 0xc0, 0x71, 0xc0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0x71, 0xc0, 0x7b, 0xc0, 0x1f, 0x0} - -/* oacute (243) */ -#define NXFONT_METRICS_243 {2, 11, 17, 1, 11, 0} -#define NXFONT_BITMAP_243 {0x3, 0x80, 0x7, 0x0, 0x6, 0x0, 0xc, 0x0, 0x0, 0x0, 0x1f, 0x0, 0x7b, 0xc0, 0x71, 0xc0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0x71, 0xc0, 0x7b, 0xc0, 0x1f, 0x0} - -/* ocircumflex (244) */ -#define NXFONT_METRICS_244 {2, 11, 17, 1, 11, 0} -#define NXFONT_BITMAP_244 {0xc, 0x0, 0x1e, 0x0, 0x33, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1f, 0x0, 0x7b, 0xc0, 0x71, 0xc0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0x71, 0xc0, 0x7b, 0xc0, 0x1f, 0x0} - -/* otilde (245) */ -#define NXFONT_METRICS_245 {2, 11, 17, 1, 11, 0} -#define NXFONT_BITMAP_245 {0x18, 0x80, 0x3f, 0x0, 0x46, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1f, 0x0, 0x7b, 0xc0, 0x71, 0xc0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0x71, 0xc0, 0x7b, 0xc0, 0x1f, 0x0} - -/* odieresis (246) */ -#define NXFONT_METRICS_246 {2, 11, 16, 1, 12, 0} -#define NXFONT_BITMAP_246 {0x31, 0x80, 0x31, 0x80, 0x0, 0x0, 0x0, 0x0, 0x1f, 0x0, 0x7b, 0xc0, 0x71, 0xc0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0x71, 0xc0, 0x7b, 0xc0, 0x1f, 0x0} - -/* divide (247) */ -#define NXFONT_METRICS_247 {2, 12, 12, 1, 16, 0} -#define NXFONT_BITMAP_247 {0x6, 0x0, 0x6, 0x0, 0x6, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xf0, 0xff, 0xf0, 0x0, 0x0, 0x0, 0x0, 0x6, 0x0, 0x6, 0x0, 0x6, 0x0} - -/* oslash (248) */ -#define NXFONT_METRICS_248 {2, 11, 16, 1, 14, 0} -#define NXFONT_BITMAP_248 {0x0, 0x40, 0x0, 0x40, 0x1e, 0x80, 0x79, 0xc0, 0x71, 0xc0, 0xe2, 0xe0, 0xe2, 0xe0, 0xe4, 0xe0, 0xe4, 0xe0, 0xe8, 0xe0, 0xe8, 0xe0, 0x71, 0xc0, 0x7b, 0xc0, 0x3f, 0x0, 0x40, 0x0, 0x40, 0x0} - -/* ugrave (249) */ -#define NXFONT_METRICS_249 {2, 12, 17, 1, 11, 0} -#define NXFONT_BITMAP_249 {0x1c, 0x0, 0xe, 0x0, 0x6, 0x0, 0x3, 0x0, 0x0, 0x0, 0xf1, 0xe0, 0x70, 0xe0, 0x70, 0xe0, 0x70, 0xe0, 0x70, 0xe0, 0x70, 0xe0, 0x70, 0xe0, 0x70, 0xe0, 0x70, 0xe0, 0x71, 0xe0, 0x7e, 0xf0, 0x3c, 0xe0} - -/* uacute (250) */ -#define NXFONT_METRICS_250 {2, 12, 17, 1, 11, 0} -#define NXFONT_BITMAP_250 {0x7, 0x0, 0xe, 0x0, 0xc, 0x0, 0x18, 0x0, 0x0, 0x0, 0xf1, 0xe0, 0x70, 0xe0, 0x70, 0xe0, 0x70, 0xe0, 0x70, 0xe0, 0x70, 0xe0, 0x70, 0xe0, 0x70, 0xe0, 0x70, 0xe0, 0x71, 0xe0, 0x7e, 0xf0, 0x3c, 0xe0} - -/* ucircumflex (251) */ -#define NXFONT_METRICS_251 {2, 12, 17, 1, 11, 0} -#define NXFONT_BITMAP_251 {0x6, 0x0, 0xf, 0x0, 0x19, 0x80, 0x0, 0x0, 0x0, 0x0, 0xf1, 0xe0, 0x70, 0xe0, 0x70, 0xe0, 0x70, 0xe0, 0x70, 0xe0, 0x70, 0xe0, 0x70, 0xe0, 0x70, 0xe0, 0x70, 0xe0, 0x71, 0xe0, 0x7e, 0xf0, 0x3c, 0xe0} - -/* udieresis (252) */ -#define NXFONT_METRICS_252 {2, 12, 16, 1, 12, 0} -#define NXFONT_BITMAP_252 {0x19, 0x80, 0x19, 0x80, 0x0, 0x0, 0x0, 0x0, 0xf1, 0xe0, 0x70, 0xe0, 0x70, 0xe0, 0x70, 0xe0, 0x70, 0xe0, 0x70, 0xe0, 0x70, 0xe0, 0x70, 0xe0, 0x70, 0xe0, 0x71, 0xe0, 0x7e, 0xf0, 0x3c, 0xe0} - -/* yacute (253) */ -#define NXFONT_METRICS_253 {2, 12, 22, 0, 11, 0} -#define NXFONT_BITMAP_253 {0x1, 0xc0, 0x3, 0x80, 0x3, 0x0, 0x6, 0x0, 0x0, 0x0, 0xfd, 0xf0, 0x78, 0x60, 0x38, 0x40, 0x38, 0xc0, 0x3c, 0x80, 0x1c, 0x80, 0x1d, 0x80, 0x1f, 0x0, 0xf, 0x0, 0xf, 0x0, 0x6, 0x0, 0x6, 0x0, 0x6, 0x0, 0x64, 0x0, 0xec, 0x0, 0xf8, 0x0, 0x70, 0x0} - -/* thorn (254) */ -#define NXFONT_METRICS_254 {2, 12, 22, 1, 11, 0} -#define NXFONT_BITMAP_254 {0xf0, 0x0, 0x70, 0x0, 0x70, 0x0, 0x70, 0x0, 0x70, 0x0, 0x73, 0x80, 0x77, 0xe0, 0x7c, 0xe0, 0x78, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x78, 0xe0, 0x77, 0xe0, 0x73, 0x80, 0x70, 0x0, 0x70, 0x0, 0x70, 0x0, 0x70, 0x0, 0xfc, 0x0} - -/* ydieresis (255) */ -#define NXFONT_METRICS_255 {2, 12, 21, 0, 12, 0} -#define NXFONT_BITMAP_255 {0x19, 0x80, 0x19, 0x80, 0x0, 0x0, 0x0, 0x0, 0xfd, 0xf0, 0x78, 0x60, 0x38, 0x40, 0x38, 0xc0, 0x3c, 0x80, 0x1c, 0x80, 0x1d, 0x80, 0x1f, 0x0, 0xf, 0x0, 0xf, 0x0, 0x6, 0x0, 0x6, 0x0, 0x6, 0x0, 0x64, 0x0, 0xec, 0x0, 0xf8, 0x0, 0x70, 0x0} - -/**************************************************************************** - * Public Types - ****************************************************************************/ - -/**************************************************************************** - * Public Data - ****************************************************************************/ - -#undef EXTERN -#if defined(__cplusplus) -#define EXTERN extern "C" -extern "C" { -#else -#define EXTERN extern -#endif - -/**************************************************************************** - * Public Functions - ****************************************************************************/ - -#undef EXTERN -#if defined(__cplusplus) -} -#endif - -#endif /* __GRAPHICS_NXFONTS_NXFONTS_SERIF27X38B_H */ diff --git a/nuttx/graphics/nxfonts/nxfonts_serif29x37.h b/nuttx/graphics/nxfonts/nxfonts_serif29x37.h deleted file mode 100755 index 11215e44e..000000000 --- a/nuttx/graphics/nxfonts/nxfonts_serif29x37.h +++ /dev/null @@ -1,849 +0,0 @@ -/**************************************************************************** - * graphics/nxfonts/nxfonts_serif29x37.h - * - * Copyright (C) 2011-2012 NX Engineering, S.A., All rights reserved. - * Author: Jose Pablo Carballo Gomez <jcarballo@nx-engineering.com> - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * 3. Neither the name NuttX nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT} - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING} - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - ****************************************************************************/ - -#ifndef __GRAPHICS_NXFONTS_NXFONTS_SERIF29X37_H -#define __GRAPHICS_NXFONTS_NXFONTS_SERIF29X37_H - -/**************************************************************************** - * Included Files - ****************************************************************************/ - -/**************************************************************************** - * Pre-Processor Definitions - ****************************************************************************/ - -/* Font ID */ - -#define NXFONT_ID FONTID_SERIF29X37 - -/* Ranges of 7-bit and 8-bit fonts */ - -#define NXFONT_MIN7BIT 33 -#define NXFONT_MAX7BIT 126 - -#define NXFONT_MIN8BIT 161 -#define NXFONT_MAX8BIT 255 - -/* Maximum height and width of any glyph in the set */ - -#define NXFONT_MAXHEIGHT 37 -#define NXFONT_MAXWIDTH 29 - -/* The width of a space */ - -#define NXFONT_SPACEWIDTH 6 - -/* exclam (33) */ -#define NXFONT_METRICS_33 {1, 3, 17, 3, 11, 0} -#define NXFONT_BITMAP_33 {0x40, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0x40, 0x40, 0x40, 0x40, 0x0, 0x0, 0x0, 0xc0, 0xc0} - -/* quotedbl (34) */ -#define NXFONT_METRICS_34 {1, 6, 5, 1, 11, 0} -#define NXFONT_BITMAP_34 {0xcc, 0xcc, 0xcc, 0xcc, 0x88} - -/* numbersign (35) */ -#define NXFONT_METRICS_35 {2, 11, 17, 1, 11, 0} -#define NXFONT_BITMAP_35 {0x8, 0x80, 0x8, 0x80, 0x8, 0x80, 0x8, 0x80, 0x8, 0x80, 0x7f, 0xe0, 0x7f, 0xe0, 0x11, 0x0, 0x11, 0x0, 0x11, 0x0, 0xff, 0xc0, 0xff, 0xc0, 0x22, 0x0, 0x22, 0x0, 0x22, 0x0, 0x22, 0x0, 0x22, 0x0} - -/* dollar (36) */ -#define NXFONT_METRICS_36 {2, 11, 21, 0, 9, 0} -#define NXFONT_BITMAP_36 {0x4, 0x0, 0x4, 0x0, 0x3f, 0x0, 0x65, 0xc0, 0xc4, 0xc0, 0xc4, 0x40, 0xc4, 0x40, 0xe4, 0x0, 0x7c, 0x0, 0x1e, 0x0, 0x7, 0x80, 0x5, 0xc0, 0x4, 0xe0, 0x4, 0x60, 0x84, 0x60, 0x84, 0x60, 0xc4, 0xc0, 0xe5, 0xc0, 0x3f, 0x0, 0x4, 0x0, 0x4, 0x0} - -/* percent (37) */ -#define NXFONT_METRICS_37 {3, 17, 16, 1, 12, 0} -#define NXFONT_BITMAP_37 {0x1e, 0xc, 0x0, 0x33, 0xfc, 0x0, 0x61, 0x18, 0x0, 0xc1, 0x10, 0x0, 0xc1, 0x30, 0x0, 0xc2, 0x60, 0x0, 0xe4, 0x40, 0x0, 0x78, 0xc0, 0x0, 0x1, 0x8f, 0x0, 0x1, 0x19, 0x80, 0x3, 0x30, 0x80, 0x6, 0x60, 0x80, 0x4, 0x60, 0x80, 0xc, 0x61, 0x0, 0x18, 0x72, 0x0, 0x10, 0x3c, 0x0} - -/* ampersand (38) */ -#define NXFONT_METRICS_38 {3, 17, 17, 1, 11, 0} -#define NXFONT_BITMAP_38 {0x7, 0xc0, 0x0, 0x8, 0x60, 0x0, 0x18, 0x20, 0x0, 0x18, 0x20, 0x0, 0x18, 0x60, 0x0, 0xc, 0xc0, 0x0, 0xf, 0x9e, 0x0, 0x7, 0xc, 0x0, 0xf, 0x8, 0x0, 0x33, 0x88, 0x0, 0x61, 0x90, 0x0, 0xc0, 0xd0, 0x0, 0xc0, 0xe0, 0x0, 0xc0, 0x60, 0x0, 0xe0, 0xf0, 0x80, 0x7f, 0xbf, 0x0, 0x3e, 0xe, 0x0} - -/* quotesingle (39) */ -#define NXFONT_METRICS_39 {1, 2, 5, 2, 11, 0} -#define NXFONT_BITMAP_39 {0xc0, 0xc0, 0xc0, 0xc0, 0x80} - -/* parenleft (40) */ -#define NXFONT_METRICS_40 {1, 6, 22, 1, 11, 0} -#define NXFONT_BITMAP_40 {0x4, 0x8, 0x10, 0x30, 0x20, 0x60, 0x60, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0x60, 0x60, 0x20, 0x30, 0x10, 0x8, 0x4} - -/* parenright (41) */ -#define NXFONT_METRICS_41 {1, 6, 22, 1, 11, 0} -#define NXFONT_BITMAP_41 {0x80, 0x40, 0x20, 0x30, 0x10, 0x18, 0x18, 0xc, 0xc, 0xc, 0xc, 0xc, 0xc, 0xc, 0xc, 0x18, 0x18, 0x10, 0x30, 0x20, 0x40, 0x80} - -/* asterisk (42) */ -#define NXFONT_METRICS_42 {2, 9, 9, 2, 11, 0} -#define NXFONT_BITMAP_42 {0x1c, 0x0, 0x1c, 0x0, 0xc9, 0x80, 0xeb, 0x80, 0x1c, 0x0, 0xeb, 0x80, 0xc9, 0x80, 0x1c, 0x0, 0x1c, 0x0} - -/* plus (43) */ -#define NXFONT_METRICS_43 {2, 12, 12, 0, 16, 0} -#define NXFONT_BITMAP_43 {0x6, 0x0, 0x6, 0x0, 0x6, 0x0, 0x6, 0x0, 0x6, 0x0, 0xff, 0xf0, 0xff, 0xf0, 0x6, 0x0, 0x6, 0x0, 0x6, 0x0, 0x6, 0x0, 0x6, 0x0} - -/* comma (44) */ -#define NXFONT_METRICS_44 {1, 3, 5, 2, 26, 0} -#define NXFONT_BITMAP_44 {0xc0, 0xe0, 0x20, 0x60, 0xc0} - -/* hyphen (45) */ -#define NXFONT_METRICS_45 {1, 6, 2, 0, 21, 0} -#define NXFONT_BITMAP_45 {0xfc, 0xfc} - -/* period (46) */ -#define NXFONT_METRICS_46 {1, 2, 2, 2, 26, 0} -#define NXFONT_BITMAP_46 {0xc0, 0xc0} - -/* slash (47) */ -#define NXFONT_METRICS_47 {2, 9, 21, 0, 11, 0} -#define NXFONT_BITMAP_47 {0x1, 0x80, 0x1, 0x80, 0x1, 0x0, 0x3, 0x0, 0x3, 0x0, 0x2, 0x0, 0x6, 0x0, 0x6, 0x0, 0x4, 0x0, 0xc, 0x0, 0xc, 0x0, 0x8, 0x0, 0x18, 0x0, 0x18, 0x0, 0x10, 0x0, 0x30, 0x0, 0x30, 0x0, 0x60, 0x0, 0x60, 0x0, 0x40, 0x0, 0xc0, 0x0} - -/* zero (48) */ -#define NXFONT_METRICS_48 {2, 10, 17, 1, 11, 0} -#define NXFONT_BITMAP_48 {0x1e, 0x0, 0x33, 0x0, 0x61, 0x80, 0x61, 0x80, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xe1, 0xc0, 0x61, 0x80, 0x61, 0x80, 0x33, 0x0, 0x1e, 0x0} - -/* one (49) */ -#define NXFONT_METRICS_49 {1, 8, 17, 2, 11, 0} -#define NXFONT_BITMAP_49 {0x8, 0x18, 0x78, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0xff} - -/* two (50) */ -#define NXFONT_METRICS_50 {2, 10, 17, 1, 11, 0} -#define NXFONT_BITMAP_50 {0x1c, 0x0, 0x7f, 0x0, 0x43, 0x80, 0x81, 0x80, 0x81, 0x80, 0x1, 0x80, 0x1, 0x80, 0x3, 0x0, 0x3, 0x0, 0x6, 0x0, 0x4, 0x0, 0xc, 0x0, 0x18, 0x0, 0x30, 0x0, 0x60, 0x40, 0xff, 0xc0, 0xff, 0x80} - -/* three (51) */ -#define NXFONT_METRICS_51 {2, 9, 17, 1, 11, 0} -#define NXFONT_BITMAP_51 {0x1c, 0x0, 0x7e, 0x0, 0x47, 0x0, 0x83, 0x0, 0x83, 0x0, 0x6, 0x0, 0xc, 0x0, 0x1e, 0x0, 0x7, 0x0, 0x3, 0x80, 0x1, 0x80, 0x1, 0x80, 0x1, 0x80, 0x1, 0x0, 0xc3, 0x0, 0xe6, 0x0, 0x78, 0x0} - -/* four (52) */ -#define NXFONT_METRICS_52 {2, 10, 17, 1, 11, 0} -#define NXFONT_BITMAP_52 {0x3, 0x0, 0x7, 0x0, 0x7, 0x0, 0xb, 0x0, 0x1b, 0x0, 0x13, 0x0, 0x33, 0x0, 0x23, 0x0, 0x63, 0x0, 0x43, 0x0, 0xc3, 0x0, 0xff, 0xc0, 0xff, 0xc0, 0x3, 0x0, 0x3, 0x0, 0x3, 0x0, 0x3, 0x0} - -/* five (53) */ -#define NXFONT_METRICS_53 {2, 10, 17, 1, 11, 0} -#define NXFONT_BITMAP_53 {0x1f, 0xc0, 0x1f, 0x80, 0x20, 0x0, 0x20, 0x0, 0x60, 0x0, 0x78, 0x0, 0x7e, 0x0, 0xf, 0x80, 0x3, 0x80, 0x1, 0xc0, 0x0, 0xc0, 0x0, 0xc0, 0x0, 0xc0, 0x0, 0xc0, 0xc1, 0x80, 0xe3, 0x80, 0x7e, 0x0} - -/* six (54) */ -#define NXFONT_METRICS_54 {2, 10, 17, 1, 11, 0} -#define NXFONT_BITMAP_54 {0x3, 0xc0, 0xe, 0x0, 0x18, 0x0, 0x30, 0x0, 0x70, 0x0, 0x60, 0x0, 0xee, 0x0, 0xf3, 0x80, 0xc1, 0x80, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xe0, 0xc0, 0x61, 0x80, 0x7b, 0x80, 0x1e, 0x0} - -/* seven (55) */ -#define NXFONT_METRICS_55 {2, 10, 17, 1, 11, 0} -#define NXFONT_BITMAP_55 {0x7f, 0xc0, 0xff, 0xc0, 0xc0, 0xc0, 0x81, 0x80, 0x1, 0x80, 0x1, 0x0, 0x3, 0x0, 0x3, 0x0, 0x2, 0x0, 0x6, 0x0, 0x6, 0x0, 0x4, 0x0, 0xc, 0x0, 0xc, 0x0, 0xc, 0x0, 0x18, 0x0, 0x18, 0x0} - -/* eight (56) */ -#define NXFONT_METRICS_56 {2, 10, 17, 1, 11, 0} -#define NXFONT_BITMAP_56 {0x1e, 0x0, 0x33, 0x0, 0x61, 0x80, 0x61, 0x80, 0x61, 0x80, 0x73, 0x0, 0x3e, 0x0, 0x1e, 0x0, 0x3f, 0x0, 0x63, 0x80, 0x41, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xe1, 0x80, 0x73, 0x80, 0x1e, 0x0} - -/* nine (57) */ -#define NXFONT_METRICS_57 {2, 10, 17, 1, 11, 0} -#define NXFONT_BITMAP_57 {0x1e, 0x0, 0x77, 0x80, 0x61, 0x80, 0xc1, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0x61, 0xc0, 0x73, 0xc0, 0x1d, 0x80, 0x1, 0x80, 0x3, 0x80, 0x3, 0x0, 0x6, 0x0, 0x1c, 0x0, 0xf0, 0x0} - -/* colon (58) */ -#define NXFONT_METRICS_58 {1, 2, 11, 2, 17, 0} -#define NXFONT_BITMAP_58 {0xc0, 0xc0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xc0, 0xc0} - -/* semicolon (59) */ -#define NXFONT_METRICS_59 {1, 3, 14, 2, 17, 0} -#define NXFONT_BITMAP_59 {0xc0, 0xc0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xc0, 0xe0, 0x20, 0x60, 0xc0} - -/* less (60) */ -#define NXFONT_METRICS_60 {2, 11, 11, 1, 17, 0} -#define NXFONT_BITMAP_60 {0x0, 0x60, 0x1, 0xc0, 0x7, 0x0, 0x1c, 0x0, 0x70, 0x0, 0xc0, 0x0, 0x70, 0x0, 0x1c, 0x0, 0x7, 0x0, 0x1, 0xc0, 0x0, 0x60} - -/* equal (61) */ -#define NXFONT_METRICS_61 {2, 9, 5, 2, 20, 0} -#define NXFONT_BITMAP_61 {0xff, 0x80, 0xff, 0x80, 0x0, 0x0, 0xff, 0x80, 0xff, 0x80} - -/* greater (62) */ -#define NXFONT_METRICS_62 {2, 11, 11, 1, 17, 0} -#define NXFONT_BITMAP_62 {0xc0, 0x0, 0x70, 0x0, 0x1c, 0x0, 0x7, 0x0, 0x1, 0xc0, 0x0, 0x60, 0x1, 0xc0, 0x7, 0x0, 0x1c, 0x0, 0x70, 0x0, 0xc0, 0x0} - -/* question (63) */ -#define NXFONT_METRICS_63 {1, 8, 17, 2, 11, 0} -#define NXFONT_BITMAP_63 {0x7c, 0xc6, 0x83, 0xc3, 0xc3, 0x7, 0xe, 0xc, 0x1c, 0x18, 0x18, 0x10, 0x10, 0x0, 0x0, 0x30, 0x30} - -/* at (64) */ -#define NXFONT_METRICS_64 {3, 18, 20, 2, 11, 0} -#define NXFONT_BITMAP_64 {0x3, 0xf8, 0x0, 0xf, 0xe, 0x0, 0x1c, 0x3, 0x0, 0x38, 0x1, 0x80, 0x70, 0x0, 0x80, 0x60, 0xec, 0xc0, 0xe1, 0xfc, 0x40, 0xc3, 0x8c, 0x40, 0xc3, 0xc, 0x40, 0xc6, 0xc, 0x40, 0xc6, 0x18, 0x40, 0xc6, 0x18, 0xc0, 0xc6, 0x18, 0x80, 0xc6, 0x39, 0x80, 0x63, 0x7b, 0x0, 0x61, 0xde, 0x0, 0x30, 0x0, 0x0, 0x18, 0x0, 0x0, 0xe, 0xc, 0x0, 0x3, 0xf0, 0x0} - -/* A (65) */ -#define NXFONT_METRICS_65 {3, 17, 17, 0, 11, 0} -#define NXFONT_BITMAP_65 {0x0, 0x80, 0x0, 0x1, 0xc0, 0x0, 0x1, 0xc0, 0x0, 0x1, 0x60, 0x0, 0x2, 0x60, 0x0, 0x2, 0x30, 0x0, 0x6, 0x30, 0x0, 0x4, 0x30, 0x0, 0x4, 0x18, 0x0, 0xc, 0x18, 0x0, 0xf, 0xf8, 0x0, 0x8, 0xc, 0x0, 0x18, 0xc, 0x0, 0x10, 0xc, 0x0, 0x10, 0x6, 0x0, 0x30, 0x6, 0x0, 0xfc, 0x1f, 0x80} - -/* B (66) */ -#define NXFONT_METRICS_66 {2, 14, 17, 1, 11, 0} -#define NXFONT_BITMAP_66 {0xff, 0xc0, 0x30, 0x70, 0x30, 0x30, 0x30, 0x18, 0x30, 0x18, 0x30, 0x18, 0x30, 0x30, 0x30, 0x40, 0x3f, 0xe0, 0x30, 0x38, 0x30, 0x18, 0x30, 0xc, 0x30, 0xc, 0x30, 0xc, 0x30, 0x18, 0x30, 0x78, 0xff, 0xe0} - -/* C (67) */ -#define NXFONT_METRICS_67 {2, 14, 17, 1, 11, 0} -#define NXFONT_BITMAP_67 {0x7, 0xe4, 0x1c, 0x3c, 0x38, 0xc, 0x60, 0x4, 0x60, 0x4, 0xc0, 0x0, 0xc0, 0x0, 0xc0, 0x0, 0xc0, 0x0, 0xc0, 0x0, 0xc0, 0x0, 0xc0, 0x0, 0x60, 0x0, 0x60, 0x4, 0x38, 0x8, 0x1e, 0x38, 0x7, 0xe0} - -/* D (68) */ -#define NXFONT_METRICS_68 {2, 15, 17, 1, 11, 0} -#define NXFONT_BITMAP_68 {0xff, 0xc0, 0x30, 0x70, 0x30, 0x38, 0x30, 0xc, 0x30, 0xc, 0x30, 0x6, 0x30, 0x6, 0x30, 0x6, 0x30, 0x6, 0x30, 0x6, 0x30, 0x6, 0x30, 0x6, 0x30, 0xc, 0x30, 0xc, 0x30, 0x38, 0x30, 0x70, 0xff, 0xc0} - -/* E (69) */ -#define NXFONT_METRICS_69 {2, 13, 17, 1, 11, 0} -#define NXFONT_BITMAP_69 {0xff, 0xf0, 0x30, 0x30, 0x30, 0x10, 0x30, 0x10, 0x30, 0x0, 0x30, 0x0, 0x30, 0x40, 0x30, 0x40, 0x3f, 0xc0, 0x30, 0x40, 0x30, 0x40, 0x30, 0x0, 0x30, 0x0, 0x30, 0x8, 0x30, 0x8, 0x30, 0x18, 0xff, 0xf8} - -/* F (70) */ -#define NXFONT_METRICS_70 {2, 12, 17, 1, 11, 0} -#define NXFONT_BITMAP_70 {0xff, 0xf0, 0x30, 0x30, 0x30, 0x10, 0x30, 0x10, 0x30, 0x0, 0x30, 0x0, 0x30, 0x20, 0x30, 0x20, 0x3f, 0xe0, 0x30, 0x20, 0x30, 0x20, 0x30, 0x0, 0x30, 0x0, 0x30, 0x0, 0x30, 0x0, 0x30, 0x0, 0xfc, 0x0} - -/* G (71) */ -#define NXFONT_METRICS_71 {2, 16, 17, 1, 11, 0} -#define NXFONT_BITMAP_71 {0x7, 0xe4, 0x1c, 0x3c, 0x38, 0xc, 0x60, 0x4, 0x60, 0x4, 0xc0, 0x0, 0xc0, 0x0, 0xc0, 0x0, 0xc0, 0x0, 0xc0, 0x3f, 0xc0, 0xc, 0xc0, 0xc, 0x60, 0xc, 0x60, 0xc, 0x38, 0x1c, 0x1e, 0x38, 0x7, 0xe0} - -/* H (72) */ -#define NXFONT_METRICS_72 {3, 17, 17, 1, 11, 0} -#define NXFONT_BITMAP_72 {0xfc, 0x1f, 0x80, 0x30, 0x6, 0x0, 0x30, 0x6, 0x0, 0x30, 0x6, 0x0, 0x30, 0x6, 0x0, 0x30, 0x6, 0x0, 0x30, 0x6, 0x0, 0x30, 0x6, 0x0, 0x3f, 0xfe, 0x0, 0x30, 0x6, 0x0, 0x30, 0x6, 0x0, 0x30, 0x6, 0x0, 0x30, 0x6, 0x0, 0x30, 0x6, 0x0, 0x30, 0x6, 0x0, 0x30, 0x6, 0x0, 0xfc, 0x1f, 0x80} - -/* I (73) */ -#define NXFONT_METRICS_73 {1, 6, 17, 1, 11, 0} -#define NXFONT_BITMAP_73 {0xfc, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0xfc} - -/* J (74) */ -#define NXFONT_METRICS_74 {2, 9, 17, 1, 11, 0} -#define NXFONT_BITMAP_74 {0x1f, 0x80, 0x6, 0x0, 0x6, 0x0, 0x6, 0x0, 0x6, 0x0, 0x6, 0x0, 0x6, 0x0, 0x6, 0x0, 0x6, 0x0, 0x6, 0x0, 0x6, 0x0, 0x6, 0x0, 0x6, 0x0, 0x6, 0x0, 0xc6, 0x0, 0xcc, 0x0, 0x78, 0x0} - -/* K (75) */ -#define NXFONT_METRICS_75 {2, 16, 17, 1, 11, 0} -#define NXFONT_BITMAP_75 {0xfc, 0x7e, 0x30, 0x18, 0x30, 0x30, 0x30, 0x60, 0x30, 0xc0, 0x31, 0x80, 0x33, 0x0, 0x3e, 0x0, 0x3f, 0x0, 0x33, 0x80, 0x31, 0xc0, 0x30, 0xe0, 0x30, 0x70, 0x30, 0x38, 0x30, 0x1c, 0x30, 0xe, 0xfc, 0x1f} - -/* L (76) */ -#define NXFONT_METRICS_76 {2, 13, 17, 1, 11, 0} -#define NXFONT_BITMAP_76 {0xfc, 0x0, 0x30, 0x0, 0x30, 0x0, 0x30, 0x0, 0x30, 0x0, 0x30, 0x0, 0x30, 0x0, 0x30, 0x0, 0x30, 0x0, 0x30, 0x0, 0x30, 0x0, 0x30, 0x0, 0x30, 0x0, 0x30, 0x8, 0x30, 0x8, 0x30, 0x18, 0xff, 0xf8} - -/* M (77) */ -#define NXFONT_METRICS_77 {3, 21, 17, 1, 11, 0} -#define NXFONT_BITMAP_77 {0xf0, 0x0, 0xf8, 0x30, 0x0, 0xe0, 0x38, 0x1, 0x60, 0x38, 0x1, 0x60, 0x2c, 0x2, 0x60, 0x2c, 0x2, 0x60, 0x26, 0x2, 0x60, 0x26, 0x4, 0x60, 0x23, 0x4, 0x60, 0x23, 0x8, 0x60, 0x21, 0x88, 0x60, 0x21, 0x88, 0x60, 0x20, 0xd0, 0x60, 0x20, 0xd0, 0x60, 0x20, 0x60, 0x60, 0x20, 0x60, 0x60, 0xf8, 0x61, 0xf8} - -/* N (78) */ -#define NXFONT_METRICS_78 {2, 16, 17, 1, 11, 0} -#define NXFONT_BITMAP_78 {0xf0, 0x1f, 0x30, 0x4, 0x38, 0x4, 0x38, 0x4, 0x2c, 0x4, 0x26, 0x4, 0x26, 0x4, 0x23, 0x4, 0x21, 0x84, 0x21, 0x84, 0x20, 0xc4, 0x20, 0x64, 0x20, 0x64, 0x20, 0x34, 0x20, 0x1c, 0x20, 0x1c, 0xf8, 0xc} - -/* O (79) */ -#define NXFONT_METRICS_79 {2, 16, 17, 1, 11, 0} -#define NXFONT_BITMAP_79 {0x7, 0xe0, 0x1c, 0x38, 0x38, 0x1c, 0x60, 0x6, 0x60, 0x6, 0xc0, 0x3, 0xc0, 0x3, 0xc0, 0x3, 0xc0, 0x3, 0xc0, 0x3, 0xc0, 0x3, 0xc0, 0x3, 0x60, 0x6, 0x60, 0x6, 0x38, 0x1c, 0x1c, 0x38, 0x7, 0xe0} - -/* P (80) */ -#define NXFONT_METRICS_80 {2, 13, 17, 1, 11, 0} -#define NXFONT_BITMAP_80 {0xff, 0xc0, 0x30, 0x70, 0x30, 0x30, 0x30, 0x18, 0x30, 0x18, 0x30, 0x18, 0x30, 0x30, 0x30, 0x70, 0x3f, 0xc0, 0x30, 0x0, 0x30, 0x0, 0x30, 0x0, 0x30, 0x0, 0x30, 0x0, 0x30, 0x0, 0x30, 0x0, 0xfc, 0x0} - -/* Q (81) */ -#define NXFONT_METRICS_81 {2, 16, 22, 1, 11, 0} -#define NXFONT_BITMAP_81 {0x7, 0xe0, 0x1c, 0x38, 0x38, 0x1c, 0x60, 0x6, 0x60, 0x6, 0xc0, 0x3, 0xc0, 0x3, 0xc0, 0x3, 0xc0, 0x3, 0xc0, 0x3, 0xc0, 0x3, 0xc0, 0x3, 0x60, 0x6, 0x60, 0x6, 0x38, 0x1c, 0x1c, 0x38, 0x7, 0xe0, 0x1, 0xc0, 0x0, 0xe0, 0x0, 0x70, 0x0, 0x38, 0x0, 0xf} - -/* R (82) */ -#define NXFONT_METRICS_82 {2, 15, 17, 1, 11, 0} -#define NXFONT_BITMAP_82 {0xff, 0xc0, 0x30, 0x70, 0x30, 0x30, 0x30, 0x18, 0x30, 0x18, 0x30, 0x18, 0x30, 0x30, 0x30, 0x70, 0x3f, 0xc0, 0x33, 0x80, 0x31, 0x80, 0x30, 0xc0, 0x30, 0x60, 0x30, 0x70, 0x30, 0x38, 0x30, 0x1c, 0xfc, 0x1e} - -/* S (83) */ -#define NXFONT_METRICS_83 {2, 11, 17, 1, 11, 0} -#define NXFONT_BITMAP_83 {0x1e, 0x40, 0x63, 0xc0, 0xc0, 0xc0, 0xc0, 0x40, 0xc0, 0x40, 0xe0, 0x0, 0x78, 0x0, 0x1e, 0x0, 0xf, 0x80, 0x3, 0xc0, 0x0, 0xe0, 0x0, 0x60, 0x80, 0x60, 0x80, 0x60, 0xc0, 0xc0, 0xf1, 0x80, 0x9e, 0x0} - -/* T (84) */ -#define NXFONT_METRICS_84 {2, 14, 17, 1, 11, 0} -#define NXFONT_BITMAP_84 {0xff, 0xfc, 0xc3, 0xc, 0x83, 0x4, 0x83, 0x4, 0x3, 0x0, 0x3, 0x0, 0x3, 0x0, 0x3, 0x0, 0x3, 0x0, 0x3, 0x0, 0x3, 0x0, 0x3, 0x0, 0x3, 0x0, 0x3, 0x0, 0x3, 0x0, 0x3, 0x0, 0xf, 0xc0} - -/* U (85) */ -#define NXFONT_METRICS_85 {2, 16, 17, 1, 11, 0} -#define NXFONT_BITMAP_85 {0xfc, 0x1f, 0x30, 0x4, 0x30, 0x4, 0x30, 0x4, 0x30, 0x4, 0x30, 0x4, 0x30, 0x4, 0x30, 0x4, 0x30, 0x4, 0x30, 0x4, 0x30, 0x4, 0x30, 0x4, 0x30, 0x4, 0x30, 0x8, 0x18, 0x8, 0x1c, 0x30, 0x7, 0xe0} - -/* V (86) */ -#define NXFONT_METRICS_86 {3, 17, 17, 0, 11, 0} -#define NXFONT_BITMAP_86 {0xfc, 0x1f, 0x80, 0x30, 0x6, 0x0, 0x30, 0x4, 0x0, 0x18, 0xc, 0x0, 0x18, 0x8, 0x0, 0x18, 0x8, 0x0, 0xc, 0x18, 0x0, 0xc, 0x10, 0x0, 0x6, 0x30, 0x0, 0x6, 0x20, 0x0, 0x6, 0x20, 0x0, 0x3, 0x60, 0x0, 0x3, 0x40, 0x0, 0x3, 0xc0, 0x0, 0x1, 0x80, 0x0, 0x1, 0x80, 0x0, 0x1, 0x80, 0x0} - -/* W (87) */ -#define NXFONT_METRICS_87 {3, 23, 17, 0, 11, 0} -#define NXFONT_BITMAP_87 {0xfc, 0x7e, 0x7e, 0x30, 0x18, 0x18, 0x30, 0x18, 0x10, 0x18, 0x18, 0x10, 0x18, 0x18, 0x30, 0x18, 0x2c, 0x20, 0xc, 0x2c, 0x20, 0xc, 0x2c, 0x60, 0x6, 0x4c, 0x60, 0x6, 0x4c, 0x40, 0x6, 0x46, 0x40, 0x3, 0x46, 0xc0, 0x3, 0x46, 0x80, 0x3, 0x87, 0x80, 0x1, 0x83, 0x80, 0x1, 0x83, 0x0, 0x1, 0x83, 0x0} - -/* X (88) */ -#define NXFONT_METRICS_88 {3, 18, 17, 0, 11, 0} -#define NXFONT_BITMAP_88 {0x7e, 0xf, 0x80, 0x1c, 0x6, 0x0, 0xe, 0xc, 0x0, 0x6, 0x8, 0x0, 0x3, 0x10, 0x0, 0x1, 0xa0, 0x0, 0x1, 0xc0, 0x0, 0x0, 0xc0, 0x0, 0x0, 0xe0, 0x0, 0x1, 0x70, 0x0, 0x2, 0x38, 0x0, 0x6, 0x18, 0x0, 0x4, 0xc, 0x0, 0x8, 0xe, 0x0, 0x18, 0x7, 0x0, 0x30, 0x3, 0x80, 0xfc, 0xf, 0xc0} - -/* Y (89) */ -#define NXFONT_METRICS_89 {2, 16, 17, 1, 11, 0} -#define NXFONT_BITMAP_89 {0xfc, 0x3f, 0x30, 0xc, 0x38, 0x8, 0x18, 0x18, 0x1c, 0x10, 0xc, 0x30, 0x6, 0x20, 0x6, 0x60, 0x3, 0x40, 0x3, 0xc0, 0x1, 0x80, 0x1, 0x80, 0x1, 0x80, 0x1, 0x80, 0x1, 0x80, 0x1, 0x80, 0x7, 0xe0} - -/* Z (90) */ -#define NXFONT_METRICS_90 {2, 13, 17, 1, 11, 0} -#define NXFONT_BITMAP_90 {0xff, 0xf0, 0xc0, 0x70, 0x80, 0xe0, 0x80, 0xc0, 0x1, 0xc0, 0x3, 0x80, 0x3, 0x0, 0x7, 0x0, 0x6, 0x0, 0xe, 0x0, 0x1c, 0x0, 0x18, 0x0, 0x38, 0x0, 0x30, 0x8, 0x70, 0x8, 0xe0, 0x18, 0xff, 0xf8} - -/* bracketleft (91) */ -#define NXFONT_METRICS_91 {1, 5, 21, 2, 11, 0} -#define NXFONT_BITMAP_91 {0xf8, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xf8} - -/* backslash (92) */ -#define NXFONT_METRICS_92 {1, 7, 17, 0, 11, 0} -#define NXFONT_BITMAP_92 {0xc0, 0xc0, 0x40, 0x60, 0x60, 0x20, 0x30, 0x30, 0x10, 0x18, 0x18, 0x8, 0xc, 0xc, 0x4, 0x6, 0x6} - -/* bracketright (93) */ -#define NXFONT_METRICS_93 {1, 5, 21, 1, 11, 0} -#define NXFONT_BITMAP_93 {0xf8, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0xf8} - -/* asciicircum (94) */ -#define NXFONT_METRICS_94 {2, 9, 9, 1, 11, 0} -#define NXFONT_BITMAP_94 {0x8, 0x0, 0x1c, 0x0, 0x14, 0x0, 0x36, 0x0, 0x22, 0x0, 0x63, 0x0, 0x41, 0x0, 0xc1, 0x80, 0x80, 0x80} - -/* underscore (95) */ -#define NXFONT_METRICS_95 {2, 12, 2, 0, 31, 0} -#define NXFONT_BITMAP_95 {0xff, 0xf0, 0xff, 0xf0} - -/* grave (96) */ -#define NXFONT_METRICS_96 {1, 5, 4, 1, 11, 0} -#define NXFONT_BITMAP_96 {0xc0, 0xe0, 0x70, 0x18} - -/* a (97) */ -#define NXFONT_METRICS_97 {2, 9, 12, 1, 16, 0} -#define NXFONT_BITMAP_97 {0x3e, 0x0, 0x67, 0x0, 0x63, 0x0, 0x3, 0x0, 0xf, 0x0, 0x3b, 0x0, 0x63, 0x0, 0xc3, 0x0, 0xc3, 0x0, 0xc7, 0x0, 0xfb, 0x0, 0x71, 0x80} - -/* b (98) */ -#define NXFONT_METRICS_98 {2, 11, 17, 0, 11, 0} -#define NXFONT_BITMAP_98 {0x30, 0x0, 0xf0, 0x0, 0x30, 0x0, 0x30, 0x0, 0x30, 0x0, 0x37, 0x0, 0x39, 0xc0, 0x30, 0xc0, 0x30, 0x60, 0x30, 0x60, 0x30, 0x60, 0x30, 0x60, 0x30, 0x60, 0x30, 0x60, 0x30, 0xc0, 0x39, 0xc0, 0x2f, 0x0} - -/* c (99) */ -#define NXFONT_METRICS_99 {2, 9, 12, 1, 16, 0} -#define NXFONT_BITMAP_99 {0x1f, 0x0, 0x63, 0x80, 0x41, 0x80, 0xc0, 0x0, 0xc0, 0x0, 0xc0, 0x0, 0xc0, 0x0, 0xc0, 0x0, 0xe0, 0x0, 0x70, 0x80, 0x7f, 0x0, 0x1e, 0x0} - -/* d (100) */ -#define NXFONT_METRICS_100 {2, 10, 17, 1, 11, 0} -#define NXFONT_BITMAP_100 {0x1, 0x80, 0x7, 0x80, 0x1, 0x80, 0x1, 0x80, 0x1, 0x80, 0x1d, 0x80, 0x73, 0x80, 0x61, 0x80, 0xc1, 0x80, 0xc1, 0x80, 0xc1, 0x80, 0xc1, 0x80, 0xc1, 0x80, 0xc1, 0x80, 0x63, 0x80, 0x7f, 0x80, 0x19, 0xc0} - -/* e (101) */ -#define NXFONT_METRICS_101 {2, 9, 12, 1, 16, 0} -#define NXFONT_BITMAP_101 {0x1e, 0x0, 0x63, 0x0, 0x41, 0x80, 0xc1, 0x80, 0xff, 0x80, 0xc0, 0x0, 0xc0, 0x0, 0xc0, 0x0, 0xe0, 0x0, 0x70, 0x80, 0x7f, 0x0, 0x1e, 0x0} - -/* f (102) */ -#define NXFONT_METRICS_102 {1, 7, 17, 0, 11, 0} -#define NXFONT_BITMAP_102 {0xe, 0x16, 0x30, 0x30, 0x30, 0xfe, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x78} - -/* g (103) */ -#define NXFONT_METRICS_103 {2, 11, 18, 1, 16, 0} -#define NXFONT_BITMAP_103 {0x1e, 0xc0, 0x23, 0xc0, 0x61, 0x0, 0x61, 0x80, 0x61, 0x80, 0x61, 0x80, 0x61, 0x80, 0x33, 0x0, 0x3c, 0x0, 0x40, 0x0, 0x60, 0x0, 0x7f, 0x80, 0x3f, 0xc0, 0x40, 0xe0, 0xc0, 0x60, 0xc0, 0x60, 0xe1, 0xc0, 0x7f, 0x0} - -/* h (104) */ -#define NXFONT_METRICS_104 {2, 12, 17, 0, 11, 0} -#define NXFONT_BITMAP_104 {0x30, 0x0, 0xf0, 0x0, 0x30, 0x0, 0x30, 0x0, 0x30, 0x0, 0x33, 0x80, 0x37, 0xc0, 0x38, 0xe0, 0x30, 0x60, 0x30, 0x60, 0x30, 0x60, 0x30, 0x60, 0x30, 0x60, 0x30, 0x60, 0x30, 0x60, 0x30, 0x60, 0x78, 0xf0} - -/* i (105) */ -#define NXFONT_METRICS_105 {1, 4, 17, 1, 11, 0} -#define NXFONT_BITMAP_105 {0x60, 0x60, 0x0, 0x0, 0x0, 0x60, 0xe0, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0xf0} - -/* j (106) - NOTE: Xoffset should be -2, not 0. */ -#define NXFONT_METRICS_106 {1, 6, 23, 0, 11, 0} -#define NXFONT_BITMAP_106 {0xc, 0xc, 0x0, 0x0, 0x0, 0xc, 0x1c, 0xc, 0xc, 0xc, 0xc, 0xc, 0xc, 0xc, 0xc, 0xc, 0xc, 0xc, 0xc, 0xc, 0xcc, 0xc8, 0x70} - -/* k (107) */ -#define NXFONT_METRICS_107 {2, 12, 17, 0, 11, 0} -#define NXFONT_BITMAP_107 {0x30, 0x0, 0xf0, 0x0, 0x30, 0x0, 0x30, 0x0, 0x30, 0x0, 0x33, 0xe0, 0x31, 0x80, 0x33, 0x0, 0x32, 0x0, 0x34, 0x0, 0x3c, 0x0, 0x36, 0x0, 0x37, 0x0, 0x33, 0x80, 0x31, 0xc0, 0x30, 0xe0, 0x79, 0xf0} - -/* l (108) */ -#define NXFONT_METRICS_108 {1, 5, 17, 0, 11, 0} -#define NXFONT_BITMAP_108 {0x30, 0xf0, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x78} - -/* m (109) */ -#define NXFONT_METRICS_109 {3, 18, 12, 1, 16, 0} -#define NXFONT_BITMAP_109 {0x67, 0xe, 0x0, 0xef, 0x9f, 0x0, 0x71, 0xe3, 0x80, 0x60, 0xc1, 0x80, 0x60, 0xc1, 0x80, 0x60, 0xc1, 0x80, 0x60, 0xc1, 0x80, 0x60, 0xc1, 0x80, 0x60, 0xc1, 0x80, 0x60, 0xc1, 0x80, 0x60, 0xc1, 0x80, 0xf1, 0xe3, 0xc0} - -/* n (110) */ -#define NXFONT_METRICS_110 {2, 11, 12, 1, 16, 0} -#define NXFONT_BITMAP_110 {0x67, 0x0, 0xef, 0x80, 0x71, 0xc0, 0x60, 0xc0, 0x60, 0xc0, 0x60, 0xc0, 0x60, 0xc0, 0x60, 0xc0, 0x60, 0xc0, 0x60, 0xc0, 0x60, 0xc0, 0xf1, 0xe0} - -/* o (111) */ -#define NXFONT_METRICS_111 {2, 10, 12, 1, 16, 0} -#define NXFONT_BITMAP_111 {0x1e, 0x0, 0x73, 0x80, 0x61, 0x80, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0x61, 0x80, 0x73, 0x80, 0x1e, 0x0} - -/* p (112) */ -#define NXFONT_METRICS_112 {2, 10, 18, 1, 16, 0} -#define NXFONT_BITMAP_112 {0x6e, 0x0, 0xf3, 0x80, 0x61, 0x80, 0x60, 0xc0, 0x60, 0xc0, 0x60, 0xc0, 0x60, 0xc0, 0x60, 0xc0, 0x60, 0xc0, 0x61, 0x80, 0x73, 0x80, 0x6e, 0x0, 0x60, 0x0, 0x60, 0x0, 0x60, 0x0, 0x60, 0x0, 0x60, 0x0, 0xf0, 0x0} - -/* q (113) */ -#define NXFONT_METRICS_113 {2, 10, 18, 1, 16, 0} -#define NXFONT_BITMAP_113 {0x1d, 0x80, 0x73, 0x80, 0x61, 0x80, 0xc1, 0x80, 0xc1, 0x80, 0xc1, 0x80, 0xc1, 0x80, 0xc1, 0x80, 0xc1, 0x80, 0x61, 0x80, 0x73, 0x80, 0x1d, 0x80, 0x1, 0x80, 0x1, 0x80, 0x1, 0x80, 0x1, 0x80, 0x1, 0x80, 0x3, 0xc0} - -/* r (114) */ -#define NXFONT_METRICS_114 {1, 6, 12, 1, 16, 0} -#define NXFONT_BITMAP_114 {0x6c, 0xec, 0x70, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0xf0} - -/* s (115) */ -#define NXFONT_METRICS_115 {1, 8, 12, 1, 16, 0} -#define NXFONT_BITMAP_115 {0x3e, 0x46, 0xc2, 0xe0, 0x70, 0x7c, 0x1e, 0x7, 0x3, 0x83, 0xc6, 0xf8} - -/* t (116) */ -#define NXFONT_METRICS_116 {1, 7, 15, 0, 13, 0} -#define NXFONT_BITMAP_116 {0x10, 0x30, 0x70, 0xfe, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x32, 0x1c} - -/* u (117) */ -#define NXFONT_METRICS_117 {2, 11, 12, 1, 16, 0} -#define NXFONT_BITMAP_117 {0xe1, 0xc0, 0x60, 0xc0, 0x60, 0xc0, 0x60, 0xc0, 0x60, 0xc0, 0x60, 0xc0, 0x60, 0xc0, 0x60, 0xc0, 0x60, 0xc0, 0x71, 0xc0, 0x3e, 0xc0, 0x1c, 0xe0} - -/* v (118) */ -#define NXFONT_METRICS_118 {2, 11, 12, 0, 16, 0} -#define NXFONT_BITMAP_118 {0xf1, 0xe0, 0x60, 0xc0, 0x60, 0x80, 0x30, 0x80, 0x30, 0x80, 0x31, 0x0, 0x19, 0x0, 0x19, 0x0, 0x1a, 0x0, 0xe, 0x0, 0xe, 0x0, 0x4, 0x0} - -/* w (119) */ -#define NXFONT_METRICS_119 {3, 17, 12, 0, 16, 0} -#define NXFONT_BITMAP_119 {0xf1, 0xe7, 0x80, 0x60, 0xc3, 0x0, 0x60, 0xc2, 0x0, 0x30, 0xc2, 0x0, 0x30, 0xc2, 0x0, 0x31, 0x64, 0x0, 0x19, 0x64, 0x0, 0x1a, 0x64, 0x0, 0x1a, 0x28, 0x0, 0xe, 0x38, 0x0, 0xe, 0x38, 0x0, 0x4, 0x10, 0x0} - -/* x (120) */ -#define NXFONT_METRICS_120 {2, 11, 12, 1, 16, 0} -#define NXFONT_BITMAP_120 {0xf1, 0xe0, 0x60, 0xc0, 0x31, 0x80, 0x39, 0x0, 0x1a, 0x0, 0xc, 0x0, 0xe, 0x0, 0x1b, 0x0, 0x33, 0x80, 0x21, 0x80, 0x60, 0xc0, 0xf1, 0xe0} - -/* y (121) */ -#define NXFONT_METRICS_121 {2, 12, 18, 0, 16, 0} -#define NXFONT_BITMAP_121 {0x78, 0xf0, 0x30, 0x60, 0x30, 0x40, 0x18, 0x40, 0x18, 0x40, 0x18, 0x80, 0xc, 0x80, 0xc, 0x80, 0xd, 0x0, 0x7, 0x0, 0x7, 0x0, 0x2, 0x0, 0x6, 0x0, 0x4, 0x0, 0xc, 0x0, 0xc8, 0x0, 0xf0, 0x0, 0x60, 0x0} - -/* z (122) */ -#define NXFONT_METRICS_122 {1, 8, 12, 1, 16, 0} -#define NXFONT_BITMAP_122 {0xff, 0xc3, 0x86, 0xe, 0x1c, 0x18, 0x38, 0x30, 0x70, 0x61, 0xc3, 0xff} - -/* braceleft (123) */ -#define NXFONT_METRICS_123 {1, 8, 22, 1, 11, 0} -#define NXFONT_BITMAP_123 {0x7, 0xc, 0x18, 0x18, 0x18, 0x18, 0x18, 0x10, 0x30, 0x20, 0xc0, 0x20, 0x30, 0x10, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0xc, 0x7} - -/* bar (124) */ -#define NXFONT_METRICS_124 {1, 2, 17, 1, 11, 0} -#define NXFONT_BITMAP_124 {0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0} - -/* braceright (125) */ -#define NXFONT_METRICS_125 {1, 8, 22, 1, 11, 0} -#define NXFONT_BITMAP_125 {0xe0, 0x30, 0x18, 0x18, 0x18, 0x18, 0x18, 0x8, 0xc, 0x4, 0x3, 0x4, 0xc, 0x8, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x30, 0xe0} - -/* asciitilde (126) */ -#define NXFONT_METRICS_126 {2, 11, 4, 1, 20, 0} -#define NXFONT_BITMAP_126 {0x38, 0x20, 0x7c, 0x60, 0xc7, 0xc0, 0x83, 0x80} - -/* exclamdown (161) */ -#define NXFONT_METRICS_161 {1, 3, 17, 3, 16, 0} -#define NXFONT_BITMAP_161 {0x60, 0x60, 0x0, 0x0, 0x0, 0x40, 0x40, 0x40, 0x40, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0x40} - -/* cent (162) */ -#define NXFONT_METRICS_162 {2, 9, 16, 1, 14, 0} -#define NXFONT_BITMAP_162 {0x2, 0x0, 0x2, 0x0, 0xf, 0x0, 0x33, 0x80, 0x65, 0x80, 0xc4, 0x0, 0xc4, 0x0, 0xc8, 0x0, 0xc8, 0x0, 0xc8, 0x0, 0xd0, 0x0, 0x70, 0x80, 0x71, 0x0, 0x3e, 0x0, 0x40, 0x0, 0x40, 0x0} - -/* sterling (163) */ -#define NXFONT_METRICS_163 {2, 10, 17, 1, 11, 0} -#define NXFONT_BITMAP_163 {0xf, 0x0, 0x19, 0x80, 0x31, 0x80, 0x30, 0x0, 0x30, 0x0, 0x30, 0x0, 0x30, 0x0, 0xfc, 0x0, 0x30, 0x0, 0x30, 0x0, 0x30, 0x0, 0x30, 0x0, 0x30, 0x0, 0x30, 0x0, 0x78, 0x40, 0xbe, 0xc0, 0xe7, 0x80} - -/* currency (164) */ -#define NXFONT_METRICS_164 {2, 11, 12, 1, 13, 0} -#define NXFONT_BITMAP_164 {0xc0, 0x60, 0xee, 0xe0, 0x7f, 0xc0, 0x31, 0x80, 0x60, 0xc0, 0x60, 0xc0, 0x60, 0xc0, 0x60, 0xc0, 0x31, 0x80, 0x7f, 0xc0, 0xee, 0xe0, 0xc0, 0x60} - -/* yen (165) */ -#define NXFONT_METRICS_165 {2, 14, 17, 0, 11, 0} -#define NXFONT_BITMAP_165 {0xf8, 0x7c, 0x70, 0x30, 0x30, 0x20, 0x18, 0x60, 0x18, 0x40, 0xc, 0xc0, 0xc, 0x80, 0x7, 0x80, 0x3, 0x0, 0x1f, 0xe0, 0x3, 0x0, 0x1f, 0xe0, 0x3, 0x0, 0x3, 0x0, 0x3, 0x0, 0x3, 0x0, 0xf, 0xc0} - -/* brokenbar (166) */ -#define NXFONT_METRICS_166 {1, 2, 17, 2, 11, 0} -#define NXFONT_BITMAP_166 {0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0x0, 0x0, 0x0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0} - -/* section (167) */ -#define NXFONT_METRICS_167 {1, 8, 20, 2, 11, 0} -#define NXFONT_BITMAP_167 {0x1c, 0x26, 0x46, 0x60, 0x70, 0x38, 0x3c, 0x4e, 0x87, 0x83, 0xc3, 0xe2, 0x74, 0x38, 0x1c, 0xe, 0x6, 0x62, 0x64, 0x38} - -/* dieresis (168) */ -#define NXFONT_METRICS_168 {1, 6, 2, 1, 12, 0} -#define NXFONT_BITMAP_168 {0xcc, 0xcc} - -/* copyright (169) */ -#define NXFONT_METRICS_169 {3, 17, 17, 1, 11, 0} -#define NXFONT_BITMAP_169 {0x7, 0xf0, 0x0, 0x1c, 0x1c, 0x0, 0x30, 0x6, 0x0, 0x61, 0xe3, 0x0, 0x47, 0x31, 0x0, 0xc4, 0x19, 0x80, 0x8c, 0x0, 0x80, 0x88, 0x0, 0x80, 0x88, 0x0, 0x80, 0x88, 0x0, 0x80, 0x8c, 0x0, 0x80, 0xc4, 0x19, 0x80, 0x47, 0x71, 0x0, 0x61, 0xc3, 0x0, 0x30, 0x6, 0x0, 0x1c, 0x1c, 0x0, 0x7, 0xf0, 0x0} - -/* ordfeminine (170) */ -#define NXFONT_METRICS_170 {1, 7, 9, 0, 11, 0} -#define NXFONT_BITMAP_170 {0x78, 0xcc, 0xc, 0x7c, 0xcc, 0xcc, 0x76, 0x0, 0xfe} - -/* guillemotleft (171) */ -#define NXFONT_METRICS_171 {2, 9, 10, 1, 17, 0} -#define NXFONT_BITMAP_171 {0x8, 0x80, 0x19, 0x80, 0x33, 0x0, 0x66, 0x0, 0xcc, 0x0, 0xcc, 0x0, 0x66, 0x0, 0x33, 0x0, 0x19, 0x80, 0x8, 0x80} - -/* logicalnot (172) */ -#define NXFONT_METRICS_172 {2, 11, 7, 2, 20, 0} -#define NXFONT_BITMAP_172 {0xff, 0xe0, 0xff, 0xe0, 0x0, 0x60, 0x0, 0x60, 0x0, 0x60, 0x0, 0x60, 0x0, 0x60} - -/* hyphen (173) */ -#define NXFONT_METRICS_173 {1, 6, 2, 0, 21, 0} -#define NXFONT_BITMAP_173 {0xfc, 0xfc} - -/* registered (174) */ -#define NXFONT_METRICS_174 {3, 17, 17, 1, 11, 0} -#define NXFONT_BITMAP_174 {0x7, 0xf0, 0x0, 0x1c, 0x1c, 0x0, 0x30, 0x6, 0x0, 0x67, 0xe3, 0x0, 0x42, 0x31, 0x0, 0xc2, 0x11, 0x80, 0x82, 0x10, 0x80, 0x82, 0x30, 0x80, 0x83, 0xe0, 0x80, 0x82, 0x40, 0x80, 0x82, 0x20, 0x80, 0xc2, 0x31, 0x80, 0x47, 0x19, 0x0, 0x60, 0x3, 0x0, 0x30, 0x6, 0x0, 0x1c, 0x1c, 0x0, 0x7, 0xf0, 0x0} - -/* macron (175) */ -#define NXFONT_METRICS_175 {1, 7, 2, 1, 12, 0} -#define NXFONT_BITMAP_175 {0xfe, 0xfe} - -/* degree (176) */ -#define NXFONT_METRICS_176 {1, 7, 7, 1, 11, 0} -#define NXFONT_BITMAP_176 {0x38, 0x44, 0x82, 0x82, 0x82, 0x44, 0x38} - -/* plusminus (177) */ -#define NXFONT_METRICS_177 {2, 10, 11, 2, 17, 0} -#define NXFONT_BITMAP_177 {0xc, 0x0, 0xc, 0x0, 0xc, 0x0, 0xff, 0xc0, 0xff, 0xc0, 0xc, 0x0, 0xc, 0x0, 0xc, 0x0, 0x0, 0x0, 0xff, 0xc0, 0xff, 0xc0} - -/* twosuperior (178) */ -#define NXFONT_METRICS_178 {1, 6, 10, 0, 11, 0} -#define NXFONT_BITMAP_178 {0x38, 0x4c, 0x8c, 0xc, 0x8, 0x10, 0x30, 0x20, 0x44, 0xfc} - -/* threesuperior (179) */ -#define NXFONT_METRICS_179 {1, 6, 10, 0, 11, 0} -#define NXFONT_BITMAP_179 {0x38, 0x4c, 0x8c, 0x8, 0x30, 0x8, 0xc, 0x8c, 0x88, 0x70} - -/* acute (180) */ -#define NXFONT_METRICS_180 {1, 5, 4, 2, 11, 0} -#define NXFONT_BITMAP_180 {0x18, 0x38, 0x70, 0xc0} - -/* mu (181) */ -#define NXFONT_METRICS_181 {2, 11, 17, 1, 16, 0} -#define NXFONT_BITMAP_181 {0xe1, 0xc0, 0x60, 0xc0, 0x60, 0xc0, 0x60, 0xc0, 0x60, 0xc0, 0x60, 0xc0, 0x60, 0xc0, 0x60, 0xc0, 0x60, 0xc0, 0x71, 0xc0, 0x7e, 0xc0, 0x5c, 0xe0, 0x40, 0x0, 0xc0, 0x0, 0xc0, 0x0, 0xe0, 0x0, 0x40, 0x0} - -/* paragraph (182) */ -#define NXFONT_METRICS_182 {2, 9, 21, 1, 11, 0} -#define NXFONT_BITMAP_182 {0x1f, 0x80, 0x39, 0x0, 0x79, 0x0, 0x79, 0x0, 0xf9, 0x0, 0xf9, 0x0, 0xf9, 0x0, 0x79, 0x0, 0x79, 0x0, 0x39, 0x0, 0x19, 0x0, 0x9, 0x0, 0x9, 0x0, 0x9, 0x0, 0x9, 0x0, 0x9, 0x0, 0x9, 0x0, 0x9, 0x0, 0x9, 0x0, 0x9, 0x0, 0x9, 0x0} - -/* periodcentered (183) */ -#define NXFONT_METRICS_183 {1, 2, 3, 2, 20, 0} -#define NXFONT_BITMAP_183 {0xc0, 0xc0, 0xc0} - -/* cedilla (184) */ -#define NXFONT_METRICS_184 {1, 6, 6, 1, 28, 0} -#define NXFONT_BITMAP_184 {0x10, 0x30, 0x3c, 0xc, 0xcc, 0x78} - -/* onesuperior (185) */ -#define NXFONT_METRICS_185 {1, 5, 10, 1, 11, 0} -#define NXFONT_BITMAP_185 {0x20, 0x60, 0xa0, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0xf8} - -/* ordmasculine (186) */ -#define NXFONT_METRICS_186 {1, 7, 9, 0, 11, 0} -#define NXFONT_BITMAP_186 {0x38, 0x44, 0xc6, 0xc6, 0xc6, 0x44, 0x38, 0x0, 0xfe} - -/* guillemotright (187) */ -#define NXFONT_METRICS_187 {2, 9, 10, 2, 17, 0} -#define NXFONT_BITMAP_187 {0x88, 0x0, 0xcc, 0x0, 0x66, 0x0, 0x33, 0x0, 0x19, 0x80, 0x19, 0x80, 0x33, 0x0, 0x66, 0x0, 0xcc, 0x0, 0x88, 0x0} - -/* onequarter (188) */ -#define NXFONT_METRICS_188 {2, 16, 17, 1, 11, 0} -#define NXFONT_BITMAP_188 {0x20, 0x18, 0x60, 0x18, 0xa0, 0x30, 0x20, 0x60, 0x20, 0x60, 0x20, 0xc0, 0x20, 0xc0, 0x21, 0x84, 0x23, 0xc, 0xfb, 0x1c, 0x6, 0x14, 0x6, 0x24, 0xc, 0x64, 0x18, 0x44, 0x18, 0xff, 0x30, 0x4, 0x30, 0x4} - -/* onehalf (189) */ -#define NXFONT_METRICS_189 {2, 15, 17, 1, 11, 0} -#define NXFONT_BITMAP_189 {0x20, 0x18, 0x60, 0x18, 0xa0, 0x30, 0x20, 0x60, 0x20, 0x60, 0x20, 0xc0, 0x20, 0xc0, 0x21, 0x9c, 0x23, 0x26, 0xfb, 0x46, 0x6, 0x6, 0x6, 0x4, 0xc, 0x8, 0x18, 0x18, 0x18, 0x10, 0x30, 0x22, 0x30, 0x7e} - -/* threequarters (190) */ -#define NXFONT_METRICS_190 {3, 17, 17, 0, 11, 0} -#define NXFONT_BITMAP_190 {0x38, 0xc, 0x0, 0x4c, 0xc, 0x0, 0x8c, 0x18, 0x0, 0x8, 0x30, 0x0, 0x30, 0x30, 0x0, 0x8, 0x60, 0x0, 0xc, 0x60, 0x0, 0x8c, 0xc2, 0x0, 0x89, 0x86, 0x0, 0x71, 0x8e, 0x0, 0x3, 0xa, 0x0, 0x3, 0x12, 0x0, 0x6, 0x32, 0x0, 0xc, 0x22, 0x0, 0xc, 0x7f, 0x80, 0x18, 0x2, 0x0, 0x18, 0x2, 0x0} - -/* questiondown (191) */ -#define NXFONT_METRICS_191 {1, 8, 17, 1, 16, 0} -#define NXFONT_BITMAP_191 {0xc, 0xc, 0x0, 0x0, 0x8, 0x8, 0x18, 0x18, 0x38, 0x30, 0x70, 0xe0, 0xc3, 0xc3, 0xc1, 0x63, 0x3e} - -/* Agrave (192) */ -#define NXFONT_METRICS_192 {3, 17, 22, 0, 6, 0} -#define NXFONT_BITMAP_192 {0xc, 0x0, 0x0, 0xe, 0x0, 0x0, 0x7, 0x0, 0x0, 0x1, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x80, 0x0, 0x1, 0xc0, 0x0, 0x1, 0xc0, 0x0, 0x1, 0x60, 0x0, 0x2, 0x60, 0x0, 0x2, 0x30, 0x0, 0x6, 0x30, 0x0, 0x4, 0x30, 0x0, 0x4, 0x18, 0x0, 0xc, 0x18, 0x0, 0xf, 0xf8, 0x0, 0x8, 0xc, 0x0, 0x18, 0xc, 0x0, 0x10, 0xc, 0x0, 0x10, 0x6, 0x0, 0x30, 0x6, 0x0, 0xfc, 0x1f, 0x80} - -/* Aacute (193) */ -#define NXFONT_METRICS_193 {3, 17, 22, 0, 6, 0} -#define NXFONT_BITMAP_193 {0x0, 0x18, 0x0, 0x0, 0x38, 0x0, 0x0, 0x70, 0x0, 0x0, 0xc0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x80, 0x0, 0x1, 0xc0, 0x0, 0x1, 0xc0, 0x0, 0x1, 0x60, 0x0, 0x2, 0x60, 0x0, 0x2, 0x30, 0x0, 0x6, 0x30, 0x0, 0x4, 0x30, 0x0, 0x4, 0x18, 0x0, 0xc, 0x18, 0x0, 0xf, 0xf8, 0x0, 0x8, 0xc, 0x0, 0x18, 0xc, 0x0, 0x10, 0xc, 0x0, 0x10, 0x6, 0x0, 0x30, 0x6, 0x0, 0xfc, 0x1f, 0x80} - -/* Acircumflex (194) */ -#define NXFONT_METRICS_194 {3, 17, 22, 0, 6, 0} -#define NXFONT_BITMAP_194 {0x1, 0x80, 0x0, 0x3, 0xc0, 0x0, 0x6, 0x60, 0x0, 0x4, 0x20, 0x0, 0x0, 0x0, 0x0, 0x0, 0x80, 0x0, 0x1, 0xc0, 0x0, 0x1, 0xc0, 0x0, 0x1, 0x60, 0x0, 0x2, 0x60, 0x0, 0x2, 0x30, 0x0, 0x6, 0x30, 0x0, 0x4, 0x30, 0x0, 0x4, 0x18, 0x0, 0xc, 0x18, 0x0, 0xf, 0xf8, 0x0, 0x8, 0xc, 0x0, 0x18, 0xc, 0x0, 0x10, 0xc, 0x0, 0x10, 0x6, 0x0, 0x30, 0x6, 0x0, 0xfc, 0x1f, 0x80} - -/* Atilde (195) */ -#define NXFONT_METRICS_195 {3, 17, 21, 0, 7, 0} -#define NXFONT_BITMAP_195 {0x3, 0x20, 0x0, 0x7, 0xe0, 0x0, 0x4, 0xc0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x80, 0x0, 0x1, 0xc0, 0x0, 0x1, 0xc0, 0x0, 0x1, 0x60, 0x0, 0x2, 0x60, 0x0, 0x2, 0x30, 0x0, 0x6, 0x30, 0x0, 0x4, 0x30, 0x0, 0x4, 0x18, 0x0, 0xc, 0x18, 0x0, 0xf, 0xf8, 0x0, 0x8, 0xc, 0x0, 0x18, 0xc, 0x0, 0x10, 0xc, 0x0, 0x10, 0x6, 0x0, 0x30, 0x6, 0x0, 0xfc, 0x1f, 0x80} - -/* Adieresis (196) */ -#define NXFONT_METRICS_196 {3, 17, 21, 0, 7, 0} -#define NXFONT_BITMAP_196 {0x6, 0x60, 0x0, 0x6, 0x60, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x80, 0x0, 0x1, 0xc0, 0x0, 0x1, 0xc0, 0x0, 0x1, 0x60, 0x0, 0x2, 0x60, 0x0, 0x2, 0x30, 0x0, 0x6, 0x30, 0x0, 0x4, 0x30, 0x0, 0x4, 0x18, 0x0, 0xc, 0x18, 0x0, 0xf, 0xf8, 0x0, 0x8, 0xc, 0x0, 0x18, 0xc, 0x0, 0x10, 0xc, 0x0, 0x10, 0x6, 0x0, 0x30, 0x6, 0x0, 0xfc, 0x1f, 0x80} - -/* Aring (197) */ -#define NXFONT_METRICS_197 {3, 17, 23, 0, 5, 0} -#define NXFONT_BITMAP_197 {0x1, 0xc0, 0x0, 0x2, 0x20, 0x0, 0x2, 0x20, 0x0, 0x2, 0x20, 0x0, 0x1, 0xc0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x80, 0x0, 0x1, 0xc0, 0x0, 0x1, 0xc0, 0x0, 0x1, 0x60, 0x0, 0x2, 0x60, 0x0, 0x2, 0x30, 0x0, 0x6, 0x30, 0x0, 0x4, 0x30, 0x0, 0x4, 0x18, 0x0, 0xc, 0x18, 0x0, 0xf, 0xf8, 0x0, 0x8, 0xc, 0x0, 0x18, 0xc, 0x0, 0x10, 0xc, 0x0, 0x10, 0x6, 0x0, 0x30, 0x6, 0x0, 0xfc, 0x1f, 0x80} - -/* AE (198) */ -#define NXFONT_METRICS_198 {3, 21, 17, 0, 11, 0} -#define NXFONT_BITMAP_198 {0x3, 0xff, 0xf0, 0x0, 0xf0, 0x30, 0x1, 0xb0, 0x10, 0x1, 0x30, 0x10, 0x3, 0x30, 0x0, 0x2, 0x30, 0x0, 0x6, 0x30, 0x40, 0x4, 0x30, 0x40, 0x4, 0x3f, 0xc0, 0xc, 0x30, 0x40, 0xf, 0xf0, 0x40, 0x8, 0x30, 0x0, 0x18, 0x30, 0x0, 0x10, 0x30, 0x8, 0x30, 0x30, 0x8, 0x20, 0x30, 0x18, 0xf8, 0xff, 0xf8} - -/* Ccedilla (199) */ -#define NXFONT_METRICS_199 {2, 14, 23, 1, 11, 0} -#define NXFONT_BITMAP_199 {0x7, 0xe4, 0x1c, 0x3c, 0x38, 0xc, 0x60, 0x4, 0x60, 0x4, 0xc0, 0x0, 0xc0, 0x0, 0xc0, 0x0, 0xc0, 0x0, 0xc0, 0x0, 0xc0, 0x0, 0xc0, 0x0, 0x60, 0x0, 0x60, 0x4, 0x38, 0x8, 0x1e, 0x38, 0x7, 0xe0, 0x1, 0x0, 0x3, 0x0, 0x3, 0xc0, 0x0, 0xc0, 0xc, 0xc0, 0x7, 0x80} - -/* Egrave (200) */ -#define NXFONT_METRICS_200 {2, 13, 22, 1, 6, 0} -#define NXFONT_BITMAP_200 {0x18, 0x0, 0x1c, 0x0, 0xe, 0x0, 0x3, 0x0, 0x0, 0x0, 0xff, 0xf0, 0x30, 0x30, 0x30, 0x10, 0x30, 0x10, 0x30, 0x0, 0x30, 0x0, 0x30, 0x40, 0x30, 0x40, 0x3f, 0xc0, 0x30, 0x40, 0x30, 0x40, 0x30, 0x0, 0x30, 0x0, 0x30, 0x8, 0x30, 0x8, 0x30, 0x18, 0xff, 0xf8} - -/* Eacute (201) */ -#define NXFONT_METRICS_201 {2, 13, 22, 1, 6, 0} -#define NXFONT_BITMAP_201 {0x0, 0x60, 0x0, 0xe0, 0x1, 0xc0, 0x3, 0x0, 0x0, 0x0, 0xff, 0xf0, 0x30, 0x30, 0x30, 0x10, 0x30, 0x10, 0x30, 0x0, 0x30, 0x0, 0x30, 0x40, 0x30, 0x40, 0x3f, 0xc0, 0x30, 0x40, 0x30, 0x40, 0x30, 0x0, 0x30, 0x0, 0x30, 0x8, 0x30, 0x8, 0x30, 0x18, 0xff, 0xf8} - -/* Ecircumflex (202) */ -#define NXFONT_METRICS_202 {2, 13, 22, 1, 6, 0} -#define NXFONT_BITMAP_202 {0x6, 0x0, 0xf, 0x0, 0x19, 0x80, 0x10, 0x80, 0x0, 0x0, 0xff, 0xf0, 0x30, 0x30, 0x30, 0x10, 0x30, 0x10, 0x30, 0x0, 0x30, 0x0, 0x30, 0x40, 0x30, 0x40, 0x3f, 0xc0, 0x30, 0x40, 0x30, 0x40, 0x30, 0x0, 0x30, 0x0, 0x30, 0x8, 0x30, 0x8, 0x30, 0x18, 0xff, 0xf8} - -/* Edieresis (203) */ -#define NXFONT_METRICS_203 {2, 13, 21, 1, 7, 0} -#define NXFONT_BITMAP_203 {0x19, 0x80, 0x19, 0x80, 0x0, 0x0, 0x0, 0x0, 0xff, 0xf0, 0x30, 0x30, 0x30, 0x10, 0x30, 0x10, 0x30, 0x0, 0x30, 0x0, 0x30, 0x40, 0x30, 0x40, 0x3f, 0xc0, 0x30, 0x40, 0x30, 0x40, 0x30, 0x0, 0x30, 0x0, 0x30, 0x8, 0x30, 0x8, 0x30, 0x18, 0xff, 0xf8} - -/* Igrave (204) */ -#define NXFONT_METRICS_204 {1, 7, 22, 0, 6, 0} -#define NXFONT_BITMAP_204 {0xc0, 0xe0, 0x70, 0x18, 0x0, 0x7e, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x7e} - -/* Iacute (205) */ -#define NXFONT_METRICS_205 {1, 7, 22, 1, 6, 0} -#define NXFONT_BITMAP_205 {0x6, 0xe, 0x1c, 0x30, 0x0, 0xfc, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0xfc} - -/* Icircumflex (206) */ -#define NXFONT_METRICS_206 {1, 6, 22, 1, 6, 0} -#define NXFONT_BITMAP_206 {0x30, 0x78, 0xcc, 0x84, 0x0, 0xfc, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0xfc} - -/* Idieresis (207) */ -#define NXFONT_METRICS_207 {1, 6, 21, 1, 7, 0} -#define NXFONT_BITMAP_207 {0xcc, 0xcc, 0x0, 0x0, 0xfc, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0xfc} - -/* Eth (208) */ -#define NXFONT_METRICS_208 {2, 16, 17, 0, 11, 0} -#define NXFONT_BITMAP_208 {0x7f, 0xe0, 0x18, 0x38, 0x18, 0x1c, 0x18, 0x6, 0x18, 0x6, 0x18, 0x3, 0x18, 0x3, 0xff, 0x3, 0xff, 0x3, 0x18, 0x3, 0x18, 0x3, 0x18, 0x3, 0x18, 0x6, 0x18, 0x6, 0x18, 0x1c, 0x18, 0x38, 0x7f, 0xe0} - -/* Ntilde (209) */ -#define NXFONT_METRICS_209 {2, 16, 21, 1, 7, 0} -#define NXFONT_BITMAP_209 {0x3, 0x20, 0x7, 0xe0, 0x4, 0xc0, 0x0, 0x0, 0xf0, 0x1f, 0x30, 0x4, 0x38, 0x4, 0x38, 0x4, 0x2c, 0x4, 0x26, 0x4, 0x26, 0x4, 0x23, 0x4, 0x21, 0x84, 0x21, 0x84, 0x20, 0xc4, 0x20, 0x64, 0x20, 0x64, 0x20, 0x34, 0x20, 0x1c, 0x20, 0x1c, 0xf8, 0xc} - -/* Ograve (210) */ -#define NXFONT_METRICS_210 {2, 16, 22, 1, 6, 0} -#define NXFONT_BITMAP_210 {0xc, 0x0, 0xe, 0x0, 0x7, 0x0, 0x1, 0x80, 0x0, 0x0, 0x7, 0xe0, 0x1c, 0x38, 0x38, 0x1c, 0x60, 0x6, 0x60, 0x6, 0xc0, 0x3, 0xc0, 0x3, 0xc0, 0x3, 0xc0, 0x3, 0xc0, 0x3, 0xc0, 0x3, 0xc0, 0x3, 0x60, 0x6, 0x60, 0x6, 0x38, 0x1c, 0x1c, 0x38, 0x7, 0xe0} - -/* Oacute (211) */ -#define NXFONT_METRICS_211 {2, 16, 22, 1, 6, 0} -#define NXFONT_BITMAP_211 {0x0, 0x30, 0x0, 0x70, 0x0, 0xe0, 0x1, 0x80, 0x0, 0x0, 0x7, 0xe0, 0x1c, 0x38, 0x38, 0x1c, 0x60, 0x6, 0x60, 0x6, 0xc0, 0x3, 0xc0, 0x3, 0xc0, 0x3, 0xc0, 0x3, 0xc0, 0x3, 0xc0, 0x3, 0xc0, 0x3, 0x60, 0x6, 0x60, 0x6, 0x38, 0x1c, 0x1c, 0x38, 0x7, 0xe0} - -/* Ocircumflex (212) */ -#define NXFONT_METRICS_212 {2, 16, 22, 1, 6, 0} -#define NXFONT_BITMAP_212 {0x1, 0x80, 0x3, 0xc0, 0x6, 0x60, 0x4, 0x20, 0x0, 0x0, 0x7, 0xe0, 0x1c, 0x38, 0x38, 0x1c, 0x60, 0x6, 0x60, 0x6, 0xc0, 0x3, 0xc0, 0x3, 0xc0, 0x3, 0xc0, 0x3, 0xc0, 0x3, 0xc0, 0x3, 0xc0, 0x3, 0x60, 0x6, 0x60, 0x6, 0x38, 0x1c, 0x1c, 0x38, 0x7, 0xe0} - -/* Otilde (213) */ -#define NXFONT_METRICS_213 {2, 16, 21, 1, 7, 0} -#define NXFONT_BITMAP_213 {0x3, 0x20, 0x7, 0xe0, 0x4, 0xc0, 0x0, 0x0, 0x7, 0xe0, 0x1c, 0x38, 0x38, 0x1c, 0x60, 0x6, 0x60, 0x6, 0xc0, 0x3, 0xc0, 0x3, 0xc0, 0x3, 0xc0, 0x3, 0xc0, 0x3, 0xc0, 0x3, 0xc0, 0x3, 0x60, 0x6, 0x60, 0x6, 0x38, 0x1c, 0x1c, 0x38, 0x7, 0xe0} - -/* Odieresis (214) */ -#define NXFONT_METRICS_214 {2, 16, 21, 1, 7, 0} -#define NXFONT_BITMAP_214 {0x6, 0x60, 0x6, 0x60, 0x0, 0x0, 0x0, 0x0, 0x7, 0xe0, 0x1c, 0x38, 0x38, 0x1c, 0x60, 0x6, 0x60, 0x6, 0xc0, 0x3, 0xc0, 0x3, 0xc0, 0x3, 0xc0, 0x3, 0xc0, 0x3, 0xc0, 0x3, 0xc0, 0x3, 0x60, 0x6, 0x60, 0x6, 0x38, 0x1c, 0x1c, 0x38, 0x7, 0xe0} - -/* multiply (215) */ -#define NXFONT_METRICS_215 {2, 10, 9, 1, 18, 0} -#define NXFONT_BITMAP_215 {0xc0, 0xc0, 0x61, 0x80, 0x33, 0x0, 0x1e, 0x0, 0xc, 0x0, 0x1e, 0x0, 0x33, 0x0, 0x61, 0x80, 0xc0, 0xc0} - -/* Oslash (216) */ -#define NXFONT_METRICS_216 {2, 16, 19, 1, 10, 0} -#define NXFONT_BITMAP_216 {0x0, 0x4, 0x7, 0xe4, 0x1c, 0x38, 0x38, 0x1c, 0x60, 0x26, 0x60, 0x46, 0xc0, 0x43, 0xc0, 0x83, 0xc0, 0x83, 0xc1, 0x3, 0xc1, 0x3, 0xc2, 0x3, 0xc2, 0x3, 0x64, 0x6, 0x68, 0x6, 0x38, 0x1c, 0x1c, 0x38, 0x27, 0xe0, 0x20, 0x0} - -/* Ugrave (217) */ -#define NXFONT_METRICS_217 {2, 16, 22, 1, 6, 0} -#define NXFONT_BITMAP_217 {0x6, 0x0, 0x7, 0x0, 0x3, 0x80, 0x0, 0xc0, 0x0, 0x0, 0xfc, 0x1f, 0x30, 0x4, 0x30, 0x4, 0x30, 0x4, 0x30, 0x4, 0x30, 0x4, 0x30, 0x4, 0x30, 0x4, 0x30, 0x4, 0x30, 0x4, 0x30, 0x4, 0x30, 0x4, 0x30, 0x4, 0x30, 0x8, 0x18, 0x8, 0x1c, 0x30, 0x7, 0xe0} - -/* Uacute (218) */ -#define NXFONT_METRICS_218 {2, 16, 22, 1, 6, 0} -#define NXFONT_BITMAP_218 {0x0, 0x30, 0x0, 0x70, 0x0, 0xe0, 0x1, 0x80, 0x0, 0x0, 0xfc, 0x1f, 0x30, 0x4, 0x30, 0x4, 0x30, 0x4, 0x30, 0x4, 0x30, 0x4, 0x30, 0x4, 0x30, 0x4, 0x30, 0x4, 0x30, 0x4, 0x30, 0x4, 0x30, 0x4, 0x30, 0x4, 0x30, 0x8, 0x18, 0x8, 0x1c, 0x30, 0x7, 0xe0} - -/* Ucircumflex (219) */ -#define NXFONT_METRICS_219 {2, 16, 22, 1, 6, 0} -#define NXFONT_BITMAP_219 {0x1, 0x80, 0x3, 0xc0, 0x6, 0x60, 0x4, 0x20, 0x0, 0x0, 0xfc, 0x1f, 0x30, 0x4, 0x30, 0x4, 0x30, 0x4, 0x30, 0x4, 0x30, 0x4, 0x30, 0x4, 0x30, 0x4, 0x30, 0x4, 0x30, 0x4, 0x30, 0x4, 0x30, 0x4, 0x30, 0x4, 0x30, 0x8, 0x18, 0x8, 0x1c, 0x30, 0x7, 0xe0} - -/* Udieresis (220) */ -#define NXFONT_METRICS_220 {2, 16, 21, 1, 7, 0} -#define NXFONT_BITMAP_220 {0x6, 0x60, 0x6, 0x60, 0x0, 0x0, 0x0, 0x0, 0xfc, 0x1f, 0x30, 0x4, 0x30, 0x4, 0x30, 0x4, 0x30, 0x4, 0x30, 0x4, 0x30, 0x4, 0x30, 0x4, 0x30, 0x4, 0x30, 0x4, 0x30, 0x4, 0x30, 0x4, 0x30, 0x4, 0x30, 0x8, 0x18, 0x8, 0x1c, 0x30, 0x7, 0xe0} - -/* Yacute (221) */ -#define NXFONT_METRICS_221 {2, 16, 22, 1, 6, 0} -#define NXFONT_BITMAP_221 {0x0, 0x30, 0x0, 0x70, 0x0, 0xe0, 0x1, 0x80, 0x0, 0x0, 0xfc, 0x3f, 0x30, 0xc, 0x38, 0x8, 0x18, 0x18, 0x1c, 0x10, 0xc, 0x30, 0x6, 0x20, 0x6, 0x60, 0x3, 0x40, 0x3, 0xc0, 0x1, 0x80, 0x1, 0x80, 0x1, 0x80, 0x1, 0x80, 0x1, 0x80, 0x1, 0x80, 0x7, 0xe0} - -/* Thorn (222) */ -#define NXFONT_METRICS_222 {2, 13, 17, 1, 11, 0} -#define NXFONT_BITMAP_222 {0xfc, 0x0, 0x30, 0x0, 0x30, 0x0, 0x30, 0x0, 0x3f, 0xc0, 0x30, 0x70, 0x30, 0x30, 0x30, 0x18, 0x30, 0x18, 0x30, 0x18, 0x30, 0x30, 0x30, 0x70, 0x3f, 0xc0, 0x30, 0x0, 0x30, 0x0, 0x30, 0x0, 0xfc, 0x0} - -/* germandbls (223) */ -#define NXFONT_METRICS_223 {2, 10, 17, 1, 11, 0} -#define NXFONT_BITMAP_223 {0x1e, 0x0, 0x33, 0x0, 0x61, 0x80, 0x61, 0x80, 0x61, 0x80, 0x61, 0x80, 0x63, 0x0, 0x6c, 0x0, 0x67, 0x0, 0x63, 0x80, 0x61, 0x80, 0x61, 0xc0, 0x60, 0xc0, 0x60, 0xc0, 0x6c, 0xc0, 0x6c, 0x80, 0xe7, 0x0} - -/* agrave (224) */ -#define NXFONT_METRICS_224 {2, 9, 17, 1, 11, 0} -#define NXFONT_BITMAP_224 {0x60, 0x0, 0x70, 0x0, 0x38, 0x0, 0xc, 0x0, 0x0, 0x0, 0x3e, 0x0, 0x67, 0x0, 0x63, 0x0, 0x3, 0x0, 0xf, 0x0, 0x3b, 0x0, 0x63, 0x0, 0xc3, 0x0, 0xc3, 0x0, 0xc7, 0x0, 0xfb, 0x0, 0x71, 0x80} - -/* aacute (225) */ -#define NXFONT_METRICS_225 {2, 9, 17, 1, 11, 0} -#define NXFONT_BITMAP_225 {0x3, 0x0, 0x7, 0x0, 0xe, 0x0, 0x18, 0x0, 0x0, 0x0, 0x3e, 0x0, 0x67, 0x0, 0x63, 0x0, 0x3, 0x0, 0xf, 0x0, 0x3b, 0x0, 0x63, 0x0, 0xc3, 0x0, 0xc3, 0x0, 0xc7, 0x0, 0xfb, 0x0, 0x71, 0x80} - -/* acircumflex (226) */ -#define NXFONT_METRICS_226 {2, 9, 17, 1, 11, 0} -#define NXFONT_BITMAP_226 {0xc, 0x0, 0x1e, 0x0, 0x33, 0x0, 0x21, 0x0, 0x0, 0x0, 0x3e, 0x0, 0x67, 0x0, 0x63, 0x0, 0x3, 0x0, 0xf, 0x0, 0x3b, 0x0, 0x63, 0x0, 0xc3, 0x0, 0xc3, 0x0, 0xc7, 0x0, 0xfb, 0x0, 0x71, 0x80} - -/* atilde (227) */ -#define NXFONT_METRICS_227 {2, 9, 16, 1, 12, 0} -#define NXFONT_BITMAP_227 {0x32, 0x0, 0x7e, 0x0, 0x4c, 0x0, 0x0, 0x0, 0x3e, 0x0, 0x67, 0x0, 0x63, 0x0, 0x3, 0x0, 0xf, 0x0, 0x3b, 0x0, 0x63, 0x0, 0xc3, 0x0, 0xc3, 0x0, 0xc7, 0x0, 0xfb, 0x0, 0x71, 0x80} - -/* adieresis (228) */ -#define NXFONT_METRICS_228 {2, 9, 16, 1, 12, 0} -#define NXFONT_BITMAP_228 {0x66, 0x0, 0x66, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3e, 0x0, 0x67, 0x0, 0x63, 0x0, 0x3, 0x0, 0xf, 0x0, 0x3b, 0x0, 0x63, 0x0, 0xc3, 0x0, 0xc3, 0x0, 0xc7, 0x0, 0xfb, 0x0, 0x71, 0x80} - -/* aring (229) */ -#define NXFONT_METRICS_229 {2, 9, 18, 1, 10, 0} -#define NXFONT_BITMAP_229 {0x1c, 0x0, 0x22, 0x0, 0x22, 0x0, 0x22, 0x0, 0x1c, 0x0, 0x0, 0x0, 0x3e, 0x0, 0x67, 0x0, 0x63, 0x0, 0x3, 0x0, 0xf, 0x0, 0x3b, 0x0, 0x63, 0x0, 0xc3, 0x0, 0xc3, 0x0, 0xc7, 0x0, 0xfb, 0x0, 0x71, 0x80} - -/* ae (230) */ -#define NXFONT_METRICS_230 {2, 14, 12, 1, 16, 0} -#define NXFONT_BITMAP_230 {0x3c, 0xf0, 0x67, 0x98, 0x63, 0xc, 0x3, 0xc, 0xf, 0xfc, 0x3b, 0x0, 0x63, 0x0, 0xc3, 0x0, 0xc3, 0x0, 0xc7, 0x84, 0xfb, 0xf8, 0x70, 0xf0} - -/* ccedilla (231) */ -#define NXFONT_METRICS_231 {2, 9, 18, 1, 16, 0} -#define NXFONT_BITMAP_231 {0x1f, 0x0, 0x63, 0x80, 0x41, 0x80, 0xc0, 0x0, 0xc0, 0x0, 0xc0, 0x0, 0xc0, 0x0, 0xc0, 0x0, 0xe0, 0x0, 0x70, 0x80, 0x7f, 0x0, 0x1e, 0x0, 0x8, 0x0, 0x18, 0x0, 0x1e, 0x0, 0x6, 0x0, 0x66, 0x0, 0x3c, 0x0} - -/* egrave (232) */ -#define NXFONT_METRICS_232 {2, 9, 17, 1, 11, 0} -#define NXFONT_BITMAP_232 {0x60, 0x0, 0x70, 0x0, 0x38, 0x0, 0xc, 0x0, 0x0, 0x0, 0x1e, 0x0, 0x63, 0x0, 0x41, 0x80, 0xc1, 0x80, 0xff, 0x80, 0xc0, 0x0, 0xc0, 0x0, 0xc0, 0x0, 0xe0, 0x0, 0x70, 0x80, 0x7f, 0x0, 0x1e, 0x0} - -/* eacute (233) */ -#define NXFONT_METRICS_233 {2, 9, 17, 1, 11, 0} -#define NXFONT_BITMAP_233 {0x3, 0x0, 0x7, 0x0, 0xe, 0x0, 0x18, 0x0, 0x0, 0x0, 0x1e, 0x0, 0x63, 0x0, 0x41, 0x80, 0xc1, 0x80, 0xff, 0x80, 0xc0, 0x0, 0xc0, 0x0, 0xc0, 0x0, 0xe0, 0x0, 0x70, 0x80, 0x7f, 0x0, 0x1e, 0x0} - -/* ecircumflex (234) */ -#define NXFONT_METRICS_234 {2, 9, 17, 1, 11, 0} -#define NXFONT_BITMAP_234 {0xc, 0x0, 0x1e, 0x0, 0x33, 0x0, 0x21, 0x0, 0x0, 0x0, 0x1e, 0x0, 0x63, 0x0, 0x41, 0x80, 0xc1, 0x80, 0xff, 0x80, 0xc0, 0x0, 0xc0, 0x0, 0xc0, 0x0, 0xe0, 0x0, 0x70, 0x80, 0x7f, 0x0, 0x1e, 0x0} - -/* edieresis (235) */ -#define NXFONT_METRICS_235 {2, 9, 16, 1, 12, 0} -#define NXFONT_BITMAP_235 {0x33, 0x0, 0x33, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1e, 0x0, 0x63, 0x0, 0x41, 0x80, 0xc1, 0x80, 0xff, 0x80, 0xc0, 0x0, 0xc0, 0x0, 0xc0, 0x0, 0xe0, 0x0, 0x70, 0x80, 0x7f, 0x0, 0x1e, 0x0} - -/* igrave (236) */ -#define NXFONT_METRICS_236 {1, 6, 17, 0, 11, 0} -#define NXFONT_BITMAP_236 {0xc0, 0xe0, 0x70, 0x18, 0x0, 0x38, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x3c} - -/* iacute (237) */ -#define NXFONT_METRICS_237 {1, 5, 17, 1, 11, 0} -#define NXFONT_BITMAP_237 {0x18, 0x38, 0x70, 0xc0, 0x0, 0x60, 0xe0, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0xf0} - -/* icircumflex (238) */ -#define NXFONT_METRICS_238 {1, 6, 17, 0, 11, 0} -#define NXFONT_BITMAP_238 {0x30, 0x78, 0xcc, 0x84, 0x0, 0x30, 0x70, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x78} - -/* idieresis (239) */ -#define NXFONT_METRICS_239 {1, 6, 16, 0, 12, 0} -#define NXFONT_BITMAP_239 {0xcc, 0xcc, 0x0, 0x0, 0x70, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x78} - -/* eth (240) */ -#define NXFONT_METRICS_240 {2, 10, 17, 1, 11, 0} -#define NXFONT_BITMAP_240 {0xc0, 0x0, 0x71, 0x80, 0x1e, 0x0, 0x3c, 0x0, 0xc6, 0x0, 0x1f, 0x0, 0x73, 0x80, 0x61, 0x80, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0x61, 0x80, 0x73, 0x80, 0x1e, 0x0} - -/* ntilde (241) */ -#define NXFONT_METRICS_241 {2, 11, 16, 1, 12, 0} -#define NXFONT_BITMAP_241 {0x19, 0x0, 0x3f, 0x0, 0x26, 0x0, 0x0, 0x0, 0x67, 0x0, 0xef, 0x80, 0x71, 0xc0, 0x60, 0xc0, 0x60, 0xc0, 0x60, 0xc0, 0x60, 0xc0, 0x60, 0xc0, 0x60, 0xc0, 0x60, 0xc0, 0x60, 0xc0, 0xf1, 0xe0} - -/* ograve (242) */ -#define NXFONT_METRICS_242 {2, 10, 17, 1, 11, 0} -#define NXFONT_BITMAP_242 {0x60, 0x0, 0x70, 0x0, 0x38, 0x0, 0xc, 0x0, 0x0, 0x0, 0x1e, 0x0, 0x73, 0x80, 0x61, 0x80, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0x61, 0x80, 0x73, 0x80, 0x1e, 0x0} - -/* oacute (243) */ -#define NXFONT_METRICS_243 {2, 10, 17, 1, 11, 0} -#define NXFONT_BITMAP_243 {0x3, 0x0, 0x7, 0x0, 0xe, 0x0, 0x18, 0x0, 0x0, 0x0, 0x1e, 0x0, 0x73, 0x80, 0x61, 0x80, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0x61, 0x80, 0x73, 0x80, 0x1e, 0x0} - -/* ocircumflex (244) */ -#define NXFONT_METRICS_244 {2, 10, 17, 1, 11, 0} -#define NXFONT_BITMAP_244 {0xc, 0x0, 0x1e, 0x0, 0x33, 0x0, 0x21, 0x0, 0x0, 0x0, 0x1e, 0x0, 0x73, 0x80, 0x61, 0x80, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0x61, 0x80, 0x73, 0x80, 0x1e, 0x0} - -/* otilde (245) */ -#define NXFONT_METRICS_245 {2, 10, 16, 1, 12, 0} -#define NXFONT_BITMAP_245 {0x19, 0x0, 0x3f, 0x0, 0x26, 0x0, 0x0, 0x0, 0x1e, 0x0, 0x73, 0x80, 0x61, 0x80, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0x61, 0x80, 0x73, 0x80, 0x1e, 0x0} - -/* odieresis (246) */ -#define NXFONT_METRICS_246 {2, 10, 16, 1, 12, 0} -#define NXFONT_BITMAP_246 {0x33, 0x0, 0x33, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1e, 0x0, 0x73, 0x80, 0x61, 0x80, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0x61, 0x80, 0x73, 0x80, 0x1e, 0x0} - -/* divide (247) */ -#define NXFONT_METRICS_247 {2, 10, 10, 1, 17, 0} -#define NXFONT_BITMAP_247 {0xc, 0x0, 0xc, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xc0, 0xff, 0xc0, 0x0, 0x0, 0x0, 0x0, 0xc, 0x0, 0xc, 0x0} - -/* oslash (248) */ -#define NXFONT_METRICS_248 {2, 10, 14, 1, 15, 0} -#define NXFONT_BITMAP_248 {0x0, 0xc0, 0x1e, 0xc0, 0x73, 0x80, 0x63, 0x80, 0xc6, 0xc0, 0xc4, 0xc0, 0xcc, 0xc0, 0xc8, 0xc0, 0xd8, 0xc0, 0xd0, 0xc0, 0x71, 0x80, 0x73, 0x80, 0xde, 0x0, 0xc0, 0x0} - -/* ugrave (249) */ -#define NXFONT_METRICS_249 {2, 11, 17, 1, 11, 0} -#define NXFONT_BITMAP_249 {0x60, 0x0, 0x70, 0x0, 0x38, 0x0, 0xc, 0x0, 0x0, 0x0, 0xe1, 0xc0, 0x60, 0xc0, 0x60, 0xc0, 0x60, 0xc0, 0x60, 0xc0, 0x60, 0xc0, 0x60, 0xc0, 0x60, 0xc0, 0x60, 0xc0, 0x71, 0xc0, 0x3e, 0xc0, 0x1c, 0xe0} - -/* uacute (250) */ -#define NXFONT_METRICS_250 {2, 11, 17, 1, 11, 0} -#define NXFONT_BITMAP_250 {0x1, 0x80, 0x3, 0x80, 0x7, 0x0, 0xc, 0x0, 0x0, 0x0, 0xe1, 0xc0, 0x60, 0xc0, 0x60, 0xc0, 0x60, 0xc0, 0x60, 0xc0, 0x60, 0xc0, 0x60, 0xc0, 0x60, 0xc0, 0x60, 0xc0, 0x71, 0xc0, 0x3e, 0xc0, 0x1c, 0xe0} - -/* ucircumflex (251) */ -#define NXFONT_METRICS_251 {2, 11, 17, 1, 11, 0} -#define NXFONT_BITMAP_251 {0xc, 0x0, 0x1e, 0x0, 0x33, 0x0, 0x21, 0x0, 0x0, 0x0, 0xe1, 0xc0, 0x60, 0xc0, 0x60, 0xc0, 0x60, 0xc0, 0x60, 0xc0, 0x60, 0xc0, 0x60, 0xc0, 0x60, 0xc0, 0x60, 0xc0, 0x71, 0xc0, 0x3e, 0xc0, 0x1c, 0xe0} - -/* udieresis (252) */ -#define NXFONT_METRICS_252 {2, 11, 16, 1, 12, 0} -#define NXFONT_BITMAP_252 {0x33, 0x0, 0x33, 0x0, 0x0, 0x0, 0x0, 0x0, 0xe1, 0xc0, 0x60, 0xc0, 0x60, 0xc0, 0x60, 0xc0, 0x60, 0xc0, 0x60, 0xc0, 0x60, 0xc0, 0x60, 0xc0, 0x60, 0xc0, 0x71, 0xc0, 0x3e, 0xc0, 0x1c, 0xe0} - -/* yacute (253) */ -#define NXFONT_METRICS_253 {2, 11, 22, 0, 11, 0} -#define NXFONT_BITMAP_253 {0x1, 0x80, 0x3, 0x80, 0x7, 0x0, 0xc, 0x0, 0x0, 0x0, 0xf1, 0xe0, 0x60, 0xc0, 0x60, 0x80, 0x30, 0x80, 0x30, 0x80, 0x31, 0x0, 0x19, 0x0, 0x19, 0x0, 0x1a, 0x0, 0xe, 0x0, 0xe, 0x0, 0x4, 0x0, 0xc, 0x0, 0x8, 0x0, 0x18, 0x0, 0xf0, 0x0, 0xe0, 0x0} - -/* thorn (254) */ -#define NXFONT_METRICS_254 {2, 10, 22, 1, 11, 0} -#define NXFONT_BITMAP_254 {0x60, 0x0, 0xe0, 0x0, 0x60, 0x0, 0x60, 0x0, 0x60, 0x0, 0x6e, 0x0, 0x73, 0x80, 0x61, 0x80, 0x60, 0xc0, 0x60, 0xc0, 0x60, 0xc0, 0x60, 0xc0, 0x60, 0xc0, 0x60, 0xc0, 0x61, 0x80, 0x73, 0x80, 0x6e, 0x0, 0x60, 0x0, 0x60, 0x0, 0x60, 0x0, 0x60, 0x0, 0xf0, 0x0} - -/* ydieresis (255) */ -#define NXFONT_METRICS_255 {2, 11, 21, 0, 12, 0} -#define NXFONT_BITMAP_255 {0x33, 0x0, 0x33, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf1, 0xe0, 0x60, 0xc0, 0x60, 0x80, 0x30, 0x80, 0x30, 0x80, 0x31, 0x0, 0x19, 0x0, 0x19, 0x0, 0x1a, 0x0, 0xe, 0x0, 0xe, 0x0, 0x4, 0x0, 0xc, 0x0, 0x8, 0x0, 0x18, 0x0, 0xf0, 0x0, 0xe0, 0x0} - -/**************************************************************************** - * Public Types - ****************************************************************************/ - -/**************************************************************************** - * Public Data - ****************************************************************************/ - -#undef EXTERN -#if defined(__cplusplus) -#define EXTERN extern "C" -extern "C" { -#else -#define EXTERN extern -#endif - -/**************************************************************************** - * Public Functions - ****************************************************************************/ - -#undef EXTERN -#if defined(__cplusplus) -} -#endif - -#endif /* __GRAPHICS_NXFONTS_NXFONTS_SERIF29X37_H */ diff --git a/nuttx/graphics/nxfonts/nxfonts_serif38x48.h b/nuttx/graphics/nxfonts/nxfonts_serif38x48.h deleted file mode 100644 index 68a9d723e..000000000 --- a/nuttx/graphics/nxfonts/nxfonts_serif38x48.h +++ /dev/null @@ -1,849 +0,0 @@ -/**************************************************************************** - * graphics/nxfonts/nxfonts_serif38x48.h - * - * Copyright (C) 2011-2012 NX Engineering, S.A., All rights reserved. - * Author: Jose Pablo Carballo Gomez <jcarballo@nx-engineering.com> - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * 3. Neither the name NuttX nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT} - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING} - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - ****************************************************************************/ - -#ifndef __GRAPHICS_NXFONTS_NXFONTS_SERIF38X48_H -#define __GRAPHICS_NXFONTS_NXFONTS_SERIF38X48_H - -/**************************************************************************** - * Included Files - ****************************************************************************/ - -/**************************************************************************** - * Pre-Processor Definitions - ****************************************************************************/ - -/* Font ID */ - -#define NXFONT_ID FONTID_SERIF38X48 - -/* Ranges of 7-bit and 8-bit fonts */ - -#define NXFONT_MIN7BIT 33 -#define NXFONT_MAX7BIT 126 - -#define NXFONT_MIN8BIT 161 -#define NXFONT_MAX8BIT 255 - -/* Maximum height and width of any glyph in the set */ - -#define NXFONT_MAXHEIGHT 48 -#define NXFONT_MAXWIDTH 38 - -/* The width of a space */ - -#define NXFONT_SPACEWIDTH 8 - -/* exclam (33) */ -#define NXFONT_METRICS_33 {1, 4, 23, 3, 14, 0} -#define NXFONT_BITMAP_33 {0x60, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x0, 0x0, 0x60, 0xf0, 0xf0, 0x60} - -/* quotedbl (34) */ -#define NXFONT_METRICS_34 {2, 9, 7, 2, 14, 0} -#define NXFONT_BITMAP_34 {0xe3, 0x80, 0xe3, 0x80, 0xe3, 0x80, 0xe3, 0x80, 0x41, 0x0, 0x41, 0x0, 0x41, 0x0} - -/* numbersign (35) */ -#define NXFONT_METRICS_35 {2, 16, 23, 0, 14, 0} -#define NXFONT_BITMAP_35 {0x6, 0x18, 0x6, 0x18, 0x6, 0x18, 0x6, 0x18, 0x6, 0x18, 0x6, 0x18, 0x6, 0x18, 0x6, 0x18, 0x7f, 0xff, 0x7f, 0xff, 0xc, 0x30, 0xc, 0x30, 0xc, 0x30, 0xc, 0x30, 0xff, 0xfe, 0xff, 0xfe, 0x18, 0x60, 0x18, 0x60, 0x18, 0x60, 0x18, 0x60, 0x18, 0x60, 0x18, 0x60, 0x18, 0x60} - -/* dollar (36) */ -#define NXFONT_METRICS_36 {2, 13, 28, 2, 12, 0} -#define NXFONT_BITMAP_36 {0x2, 0x0, 0x2, 0x0, 0xf, 0xc0, 0x3a, 0x70, 0x32, 0x38, 0x62, 0x18, 0x62, 0x8, 0x62, 0x8, 0x72, 0x0, 0x7a, 0x0, 0x3e, 0x0, 0x3f, 0x0, 0x1f, 0x80, 0x7, 0xc0, 0x3, 0xe0, 0x2, 0xf0, 0x2, 0x70, 0x2, 0x38, 0x2, 0x38, 0x82, 0x18, 0x82, 0x18, 0xc2, 0x38, 0xe2, 0x30, 0x72, 0x60, 0x1f, 0xc0, 0x2, 0x0, 0x2, 0x0, 0x2, 0x0} - -/* percent (37) */ -#define NXFONT_METRICS_37 {3, 23, 23, 2, 14, 0} -#define NXFONT_BITMAP_37 {0xf, 0x0, 0x40, 0x1d, 0x83, 0xc0, 0x38, 0xfc, 0x80, 0x70, 0x41, 0x80, 0x70, 0x43, 0x0, 0xe0, 0x42, 0x0, 0xe0, 0x46, 0x0, 0xe0, 0xc4, 0x0, 0xc0, 0x8c, 0x0, 0xc1, 0x88, 0x0, 0xc1, 0x18, 0x78, 0x66, 0x10, 0xec, 0x3c, 0x31, 0xc6, 0x0, 0x63, 0x82, 0x0, 0x43, 0x82, 0x0, 0xc7, 0x2, 0x0, 0x87, 0x2, 0x1, 0x87, 0x6, 0x1, 0x6, 0x4, 0x3, 0x6, 0xc, 0x2, 0x6, 0x8, 0x6, 0x3, 0x30, 0x4, 0x1, 0xe0} - -/* ampersand (38) */ -#define NXFONT_METRICS_38 {3, 23, 23, 2, 14, 0} -#define NXFONT_BITMAP_38 {0x0, 0xf8, 0x0, 0x1, 0x8c, 0x0, 0x3, 0xe, 0x0, 0x3, 0x6, 0x0, 0x7, 0x6, 0x0, 0x7, 0x6, 0x0, 0x7, 0xc, 0x0, 0x7, 0x8c, 0x0, 0x3, 0x98, 0x0, 0x3, 0xf1, 0xfc, 0x3, 0xc0, 0x70, 0x7, 0xc0, 0x60, 0x1d, 0xe0, 0x40, 0x38, 0xf0, 0xc0, 0x70, 0x70, 0x80, 0x60, 0x79, 0x80, 0xe0, 0x3f, 0x0, 0xe0, 0x1e, 0x0, 0xe0, 0xf, 0x0, 0xf0, 0x1f, 0x82, 0x78, 0x33, 0xfc, 0x7f, 0xe1, 0xf8, 0x1f, 0x80, 0xf0} - -/* quotesingle (39) */ -#define NXFONT_METRICS_39 {1, 3, 8, 1, 14, 0} -#define NXFONT_BITMAP_39 {0xe0, 0xe0, 0xe0, 0xe0, 0x40, 0x40, 0x40, 0x40} - -/* parenleft (40) */ -#define NXFONT_METRICS_40 {1, 8, 28, 2, 14, 0} -#define NXFONT_BITMAP_40 {0x3, 0x6, 0xc, 0x18, 0x38, 0x30, 0x70, 0x70, 0x60, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0x60, 0x70, 0x70, 0x30, 0x38, 0x18, 0xc, 0x6, 0x3} - -/* parenright (41) */ -#define NXFONT_METRICS_41 {1, 8, 28, 1, 14, 0} -#define NXFONT_BITMAP_41 {0xc0, 0x60, 0x30, 0x18, 0x1c, 0xc, 0xe, 0xe, 0x6, 0x7, 0x7, 0x7, 0x7, 0x7, 0x7, 0x7, 0x7, 0x7, 0x7, 0x6, 0xe, 0xe, 0xc, 0x1c, 0x18, 0x30, 0x60, 0xc0} - -/* asterisk (42) */ -#define NXFONT_METRICS_42 {2, 12, 13, 2, 14, 0} -#define NXFONT_BITMAP_42 {0x6, 0x0, 0xf, 0x0, 0x6, 0x0, 0xc6, 0x30, 0xf6, 0xf0, 0x76, 0xe0, 0xf, 0x0, 0x76, 0xe0, 0xf6, 0xf0, 0xc6, 0x30, 0x6, 0x0, 0xf, 0x0, 0x6, 0x0} - -/* plus (43) */ -#define NXFONT_METRICS_43 {2, 16, 16, 1, 20, 0} -#define NXFONT_BITMAP_43 {0x1, 0x80, 0x1, 0x80, 0x1, 0x80, 0x1, 0x80, 0x1, 0x80, 0x1, 0x80, 0x1, 0x80, 0xff, 0xff, 0xff, 0xff, 0x1, 0x80, 0x1, 0x80, 0x1, 0x80, 0x1, 0x80, 0x1, 0x80, 0x1, 0x80, 0x1, 0x80} - -/* comma (44) */ -#define NXFONT_METRICS_44 {1, 4, 7, 2, 33, 0} -#define NXFONT_BITMAP_44 {0x60, 0xf0, 0xf0, 0x70, 0x10, 0x20, 0x40} - -/* hyphen (45) */ -#define NXFONT_METRICS_45 {1, 8, 2, 1, 28, 0} -#define NXFONT_BITMAP_45 {0xff, 0xff} - -/* period (46) */ -#define NXFONT_METRICS_46 {1, 4, 4, 2, 33, 0} -#define NXFONT_BITMAP_46 {0x60, 0xf0, 0xf0, 0x60} - -/* slash (47) */ -#define NXFONT_METRICS_47 {2, 10, 26, 0, 14, 0} -#define NXFONT_BITMAP_47 {0x0, 0xc0, 0x0, 0xc0, 0x1, 0x80, 0x1, 0x80, 0x3, 0x80, 0x3, 0x0, 0x3, 0x0, 0x3, 0x0, 0x6, 0x0, 0x6, 0x0, 0x6, 0x0, 0xe, 0x0, 0xc, 0x0, 0xc, 0x0, 0x1c, 0x0, 0x18, 0x0, 0x18, 0x0, 0x18, 0x0, 0x30, 0x0, 0x30, 0x0, 0x30, 0x0, 0x70, 0x0, 0x60, 0x0, 0x60, 0x0, 0xc0, 0x0, 0xc0, 0x0} - -/* zero (48) */ -#define NXFONT_METRICS_48 {2, 14, 23, 1, 14, 0} -#define NXFONT_BITMAP_48 {0x7, 0x80, 0x1c, 0xe0, 0x38, 0x70, 0x30, 0x30, 0x70, 0x38, 0x70, 0x38, 0x60, 0x18, 0xe0, 0x1c, 0xe0, 0x1c, 0xe0, 0x1c, 0xe0, 0x1c, 0xe0, 0x1c, 0xe0, 0x1c, 0xe0, 0x1c, 0xe0, 0x1c, 0xe0, 0x1c, 0xe0, 0x18, 0x70, 0x38, 0x70, 0x38, 0x30, 0x30, 0x38, 0x70, 0x1c, 0xe0, 0x7, 0x80} - -/* one (49) */ -#define NXFONT_METRICS_49 {2, 9, 23, 4, 14, 0} -#define NXFONT_BITMAP_49 {0xc, 0x0, 0x1c, 0x0, 0x7c, 0x0, 0xdc, 0x0, 0x1c, 0x0, 0x1c, 0x0, 0x1c, 0x0, 0x1c, 0x0, 0x1c, 0x0, 0x1c, 0x0, 0x1c, 0x0, 0x1c, 0x0, 0x1c, 0x0, 0x1c, 0x0, 0x1c, 0x0, 0x1c, 0x0, 0x1c, 0x0, 0x1c, 0x0, 0x1c, 0x0, 0x1c, 0x0, 0x1c, 0x0, 0x3e, 0x0, 0xff, 0x80} - -/* two (50) */ -#define NXFONT_METRICS_50 {2, 15, 23, 0, 14, 0} -#define NXFONT_BITMAP_50 {0x7, 0xe0, 0xf, 0xf0, 0x1c, 0xf8, 0x30, 0x3c, 0x20, 0x3c, 0x60, 0x1c, 0x40, 0x1c, 0x0, 0x1c, 0x0, 0x1c, 0x0, 0x18, 0x0, 0x38, 0x0, 0x30, 0x0, 0x60, 0x0, 0x60, 0x0, 0xc0, 0x1, 0x80, 0x3, 0x0, 0x6, 0x0, 0xc, 0x2, 0x18, 0x6, 0x3f, 0xfc, 0x7f, 0xf8, 0xff, 0xf8} - -/* three (51) */ -#define NXFONT_METRICS_51 {2, 12, 23, 2, 14, 0} -#define NXFONT_BITMAP_51 {0xf, 0x80, 0x3f, 0xc0, 0x61, 0xe0, 0xc0, 0xe0, 0x80, 0xe0, 0x0, 0xe0, 0x0, 0xc0, 0x0, 0xc0, 0x1, 0x80, 0x3, 0x0, 0x7, 0xc0, 0x1f, 0xe0, 0x1, 0xf0, 0x0, 0x70, 0x0, 0x70, 0x0, 0x30, 0x0, 0x30, 0x0, 0x30, 0x0, 0x70, 0x0, 0x60, 0xe0, 0xc0, 0xf3, 0x80, 0x7f, 0x0} - -/* four (52) */ -#define NXFONT_METRICS_52 {2, 14, 23, 1, 14, 0} -#define NXFONT_BITMAP_52 {0x0, 0x60, 0x0, 0xe0, 0x0, 0xe0, 0x1, 0xe0, 0x1, 0x60, 0x3, 0x60, 0x6, 0x60, 0x4, 0x60, 0xc, 0x60, 0x18, 0x60, 0x10, 0x60, 0x30, 0x60, 0x60, 0x60, 0x40, 0x60, 0xff, 0xfc, 0xff, 0xfc, 0xff, 0xfc, 0x0, 0x60, 0x0, 0x60, 0x0, 0x60, 0x0, 0x60, 0x0, 0x60, 0x0, 0x60} - -/* five (53) */ -#define NXFONT_METRICS_53 {2, 13, 23, 1, 14, 0} -#define NXFONT_BITMAP_53 {0xf, 0xf8, 0x1f, 0xf0, 0x1f, 0xe0, 0x10, 0x0, 0x30, 0x0, 0x20, 0x0, 0x7e, 0x0, 0x7f, 0x80, 0x7f, 0xc0, 0x7, 0xe0, 0x1, 0xe0, 0x0, 0xf0, 0x0, 0x70, 0x0, 0x70, 0x0, 0x30, 0x0, 0x30, 0x0, 0x30, 0x0, 0x30, 0x0, 0x60, 0x0, 0x60, 0xe0, 0xc0, 0xf3, 0x80, 0x7e, 0x0} - -/* six (54) */ -#define NXFONT_METRICS_54 {2, 14, 23, 1, 14, 0} -#define NXFONT_BITMAP_54 {0x0, 0x78, 0x1, 0xc0, 0x3, 0x80, 0xf, 0x0, 0x1e, 0x0, 0x1c, 0x0, 0x38, 0x0, 0x78, 0x0, 0x70, 0x0, 0x73, 0xc0, 0xf7, 0xf0, 0xf8, 0x78, 0xe0, 0x38, 0xe0, 0x3c, 0xe0, 0x1c, 0xe0, 0x1c, 0xe0, 0x1c, 0xe0, 0x1c, 0x70, 0x1c, 0x70, 0x18, 0x38, 0x38, 0x1c, 0x60, 0x7, 0xc0} - -/* seven (55) */ -#define NXFONT_METRICS_55 {2, 14, 23, 1, 14, 0} -#define NXFONT_BITMAP_55 {0x3f, 0xfc, 0x7f, 0xfc, 0x60, 0x18, 0xc0, 0x18, 0x80, 0x38, 0x0, 0x30, 0x0, 0x30, 0x0, 0x30, 0x0, 0x60, 0x0, 0x60, 0x0, 0x60, 0x0, 0xe0, 0x0, 0xc0, 0x0, 0xc0, 0x1, 0xc0, 0x1, 0x80, 0x1, 0x80, 0x1, 0x80, 0x3, 0x0, 0x3, 0x0, 0x3, 0x0, 0x7, 0x0, 0x6, 0x0} - -/* eight (56) */ -#define NXFONT_METRICS_56 {2, 13, 23, 2, 14, 0} -#define NXFONT_BITMAP_56 {0x1f, 0x80, 0x38, 0xe0, 0x70, 0x70, 0xe0, 0x30, 0xe0, 0x30, 0xe0, 0x30, 0xe0, 0x70, 0xf0, 0x60, 0x7c, 0xc0, 0x3f, 0x0, 0x1f, 0x80, 0xf, 0xc0, 0x1b, 0xe0, 0x71, 0xf0, 0x60, 0xf0, 0xe0, 0x78, 0xc0, 0x78, 0xc0, 0x38, 0xc0, 0x38, 0xe0, 0x38, 0x60, 0x70, 0x70, 0xe0, 0x1f, 0xc0} - -/* nine (57) */ -#define NXFONT_METRICS_57 {2, 14, 23, 1, 14, 0} -#define NXFONT_BITMAP_57 {0x7, 0x80, 0x18, 0xe0, 0x30, 0x70, 0x70, 0x38, 0x60, 0x38, 0xe0, 0x1c, 0xe0, 0x1c, 0xe0, 0x1c, 0xe0, 0x1c, 0xe0, 0x1c, 0xf0, 0x1c, 0x70, 0x1c, 0x78, 0x3c, 0x3e, 0xfc, 0xf, 0xb8, 0x0, 0x38, 0x0, 0x70, 0x0, 0x70, 0x0, 0xe0, 0x1, 0xc0, 0x3, 0x80, 0xf, 0x0, 0x78, 0x0} - -/* colon (58) */ -#define NXFONT_METRICS_58 {1, 4, 15, 2, 22, 0} -#define NXFONT_BITMAP_58 {0x60, 0xf0, 0xf0, 0x60, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x60, 0xf0, 0xf0, 0x60} - -/* semicolon (59) */ -#define NXFONT_METRICS_59 {1, 4, 18, 2, 22, 0} -#define NXFONT_BITMAP_59 {0x60, 0xf0, 0xf0, 0x60, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x60, 0xf0, 0xf0, 0x70, 0x10, 0x20, 0x40} - -/* less (60) */ -#define NXFONT_METRICS_60 {2, 16, 18, 1, 19, 0} -#define NXFONT_BITMAP_60 {0x0, 0x1, 0x0, 0x7, 0x0, 0x1f, 0x0, 0x7c, 0x1, 0xf0, 0x7, 0xc0, 0x1f, 0x0, 0x7c, 0x0, 0xf0, 0x0, 0xf0, 0x0, 0x7c, 0x0, 0x1f, 0x0, 0x7, 0xc0, 0x1, 0xf0, 0x0, 0x7c, 0x0, 0x1f, 0x0, 0x7, 0x0, 0x1} - -/* equal (61) */ -#define NXFONT_METRICS_61 {2, 16, 9, 1, 24, 0} -#define NXFONT_BITMAP_61 {0xff, 0xff, 0xff, 0xff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0xff, 0xff} - -/* greater (62) */ -#define NXFONT_METRICS_62 {2, 16, 18, 2, 19, 0} -#define NXFONT_BITMAP_62 {0x80, 0x0, 0xe0, 0x0, 0xf8, 0x0, 0x3e, 0x0, 0xf, 0x80, 0x3, 0xe0, 0x0, 0xf8, 0x0, 0x3e, 0x0, 0xf, 0x0, 0xf, 0x0, 0x3e, 0x0, 0xf8, 0x3, 0xe0, 0xf, 0x80, 0x3e, 0x0, 0xf8, 0x0, 0xe0, 0x0, 0x80, 0x0} - -/* question (63) */ -#define NXFONT_METRICS_63 {2, 11, 23, 2, 14, 0} -#define NXFONT_BITMAP_63 {0x1f, 0x0, 0x73, 0x80, 0xc1, 0xc0, 0xc1, 0xc0, 0xe0, 0xe0, 0xe0, 0xe0, 0x60, 0xe0, 0x1, 0xc0, 0x1, 0xc0, 0x1, 0x80, 0x3, 0x80, 0x3, 0x0, 0x6, 0x0, 0x4, 0x0, 0xc, 0x0, 0x8, 0x0, 0x8, 0x0, 0x0, 0x0, 0x0, 0x0, 0xc, 0x0, 0x1e, 0x0, 0x1e, 0x0, 0xc, 0x0} - -/* at (64) */ -#define NXFONT_METRICS_64 {4, 27, 28, 2, 14, 0} -#define NXFONT_BITMAP_64 {0x0, 0x1f, 0xf0, 0x0, 0x0, 0xf8, 0x3c, 0x0, 0x1, 0xe0, 0x6, 0x0, 0x7, 0x80, 0x3, 0x0, 0xe, 0x0, 0x1, 0x80, 0x1c, 0x0, 0x0, 0xc0, 0x1c, 0x0, 0x0, 0xc0, 0x38, 0x7, 0x8c, 0x60, 0x70, 0x1f, 0x5c, 0x60, 0x70, 0x1c, 0x7c, 0x20, 0x70, 0x38, 0x38, 0x20, 0xe0, 0x70, 0x38, 0x20, 0xe0, 0x70, 0x30, 0x20, 0xe0, 0x70, 0x70, 0x20, 0xe0, 0xe0, 0x70, 0x60, 0xe0, 0xe0, 0x70, 0x40, 0xe0, 0xe0, 0xe0, 0xc0, 0xe0, 0xe0, 0xe0, 0x80, 0x70, 0xe1, 0xe1, 0x80, 0x70, 0x77, 0x73, 0x0, 0x70, 0x3c, 0x3e, 0x0, 0x38, 0x0, 0x0, 0x0, 0x18, 0x0, 0x0, 0x0, 0x1c, 0x0, 0x0, 0x0, 0xe, 0x0, 0x0, 0x0, 0x7, 0x80, 0x6, 0x0, 0x1, 0xf0, 0x3c, 0x0, 0x0, 0x7f, 0xf0, 0x0} - -/* A (65) */ -#define NXFONT_METRICS_65 {3, 22, 23, 1, 14, 0} -#define NXFONT_BITMAP_65 {0x0, 0x30, 0x0, 0x0, 0x30, 0x0, 0x0, 0x70, 0x0, 0x0, 0x78, 0x0, 0x0, 0x78, 0x0, 0x0, 0xfc, 0x0, 0x0, 0xdc, 0x0, 0x0, 0x9c, 0x0, 0x1, 0x8e, 0x0, 0x1, 0xe, 0x0, 0x3, 0xf, 0x0, 0x3, 0x7, 0x0, 0x2, 0x7, 0x0, 0x6, 0x7, 0x80, 0x6, 0x3, 0x80, 0xf, 0xff, 0xc0, 0xc, 0x3, 0xc0, 0x18, 0x1, 0xc0, 0x18, 0x1, 0xe0, 0x30, 0x1, 0xe0, 0x30, 0x0, 0xf0, 0x70, 0x0, 0xf0, 0xfc, 0x3, 0xfc} - -/* B (66) */ -#define NXFONT_METRICS_66 {3, 20, 23, 1, 14, 0} -#define NXFONT_BITMAP_66 {0xff, 0xfe, 0x0, 0x3e, 0xf, 0x80, 0x1c, 0x3, 0xc0, 0x1c, 0x1, 0xc0, 0x1c, 0x1, 0xe0, 0x1c, 0x0, 0xe0, 0x1c, 0x0, 0xe0, 0x1c, 0x1, 0xe0, 0x1c, 0x1, 0xc0, 0x1c, 0x3, 0xc0, 0x1c, 0xf, 0x80, 0x1f, 0xfe, 0x0, 0x1c, 0x7, 0x80, 0x1c, 0x1, 0xe0, 0x1c, 0x0, 0xe0, 0x1c, 0x0, 0xf0, 0x1c, 0x0, 0x70, 0x1c, 0x0, 0x70, 0x1c, 0x0, 0xf0, 0x1c, 0x0, 0xe0, 0x1c, 0x1, 0xe0, 0x3e, 0x7, 0xc0, 0xff, 0xff, 0x0} - -/* C (67) */ -#define NXFONT_METRICS_67 {3, 20, 23, 1, 14, 0} -#define NXFONT_BITMAP_67 {0x1, 0xff, 0x10, 0x7, 0x83, 0xf0, 0xe, 0x0, 0xf0, 0x1c, 0x0, 0x70, 0x38, 0x0, 0x30, 0x38, 0x0, 0x30, 0x70, 0x0, 0x10, 0x70, 0x0, 0x10, 0xf0, 0x0, 0x0, 0xf0, 0x0, 0x0, 0xf0, 0x0, 0x0, 0xf0, 0x0, 0x0, 0xf0, 0x0, 0x0, 0xf0, 0x0, 0x0, 0xf0, 0x0, 0x0, 0x70, 0x0, 0x0, 0x70, 0x0, 0x0, 0x38, 0x0, 0x0, 0x38, 0x0, 0x10, 0x1c, 0x0, 0x30, 0xe, 0x0, 0x60, 0x7, 0x83, 0xc0, 0x1, 0xff, 0x0} - -/* D (68) */ -#define NXFONT_METRICS_68 {3, 22, 23, 1, 14, 0} -#define NXFONT_BITMAP_68 {0xff, 0xfe, 0x0, 0x3e, 0x7, 0x80, 0x1c, 0x1, 0xc0, 0x1c, 0x0, 0xe0, 0x1c, 0x0, 0x70, 0x1c, 0x0, 0x70, 0x1c, 0x0, 0x38, 0x1c, 0x0, 0x38, 0x1c, 0x0, 0x3c, 0x1c, 0x0, 0x3c, 0x1c, 0x0, 0x3c, 0x1c, 0x0, 0x3c, 0x1c, 0x0, 0x3c, 0x1c, 0x0, 0x3c, 0x1c, 0x0, 0x3c, 0x1c, 0x0, 0x38, 0x1c, 0x0, 0x38, 0x1c, 0x0, 0x70, 0x1c, 0x0, 0x70, 0x1c, 0x0, 0xe0, 0x1c, 0x1, 0xc0, 0x3e, 0x7, 0x80, 0xff, 0xfe, 0x0} - -/* E (69) */ -#define NXFONT_METRICS_69 {3, 19, 23, 1, 14, 0} -#define NXFONT_BITMAP_69 {0xff, 0xff, 0xc0, 0x3e, 0x3, 0xc0, 0x1c, 0x0, 0xc0, 0x1c, 0x0, 0x40, 0x1c, 0x0, 0x40, 0x1c, 0x0, 0x0, 0x1c, 0x0, 0x0, 0x1c, 0x0, 0x0, 0x1c, 0x1, 0x0, 0x1c, 0x1, 0x0, 0x1c, 0x3, 0x0, 0x1f, 0xff, 0x0, 0x1c, 0x3, 0x0, 0x1c, 0x1, 0x0, 0x1c, 0x1, 0x0, 0x1c, 0x0, 0x0, 0x1c, 0x0, 0x0, 0x1c, 0x0, 0x20, 0x1c, 0x0, 0x20, 0x1c, 0x0, 0x60, 0x1c, 0x0, 0xc0, 0x3e, 0x3, 0xc0, 0xff, 0xff, 0xc0} - -/* F (70) */ -#define NXFONT_METRICS_70 {3, 17, 23, 1, 14, 0} -#define NXFONT_BITMAP_70 {0xff, 0xff, 0x80, 0x3e, 0x7, 0x80, 0x1c, 0x1, 0x80, 0x1c, 0x0, 0x80, 0x1c, 0x0, 0x80, 0x1c, 0x0, 0x0, 0x1c, 0x0, 0x0, 0x1c, 0x0, 0x0, 0x1c, 0x2, 0x0, 0x1c, 0x2, 0x0, 0x1c, 0x6, 0x0, 0x1f, 0xfe, 0x0, 0x1c, 0x6, 0x0, 0x1c, 0x2, 0x0, 0x1c, 0x2, 0x0, 0x1c, 0x0, 0x0, 0x1c, 0x0, 0x0, 0x1c, 0x0, 0x0, 0x1c, 0x0, 0x0, 0x1c, 0x0, 0x0, 0x1c, 0x0, 0x0, 0x3e, 0x0, 0x0, 0xff, 0x80, 0x0} - -/* G (71) */ -#define NXFONT_METRICS_71 {3, 22, 23, 1, 14, 0} -#define NXFONT_BITMAP_71 {0x1, 0xff, 0x30, 0x7, 0x87, 0xf0, 0xe, 0x0, 0xf0, 0x1c, 0x0, 0x70, 0x38, 0x0, 0x30, 0x38, 0x0, 0x30, 0x70, 0x0, 0x10, 0x70, 0x0, 0x0, 0xf0, 0x0, 0x0, 0xf0, 0x0, 0x0, 0xf0, 0x0, 0x0, 0xf0, 0x3, 0xfc, 0xf0, 0x0, 0xf8, 0xf0, 0x0, 0x70, 0xf0, 0x0, 0x70, 0x70, 0x0, 0x70, 0x70, 0x0, 0x70, 0x38, 0x0, 0x70, 0x38, 0x0, 0x70, 0x1c, 0x0, 0x70, 0xe, 0x0, 0x70, 0x7, 0x81, 0xe0, 0x1, 0xff, 0x80} - -/* H (72) */ -#define NXFONT_METRICS_72 {3, 22, 23, 1, 14, 0} -#define NXFONT_BITMAP_72 {0xff, 0x87, 0xfc, 0x3e, 0x1, 0xf0, 0x1c, 0x0, 0xe0, 0x1c, 0x0, 0xe0, 0x1c, 0x0, 0xe0, 0x1c, 0x0, 0xe0, 0x1c, 0x0, 0xe0, 0x1c, 0x0, 0xe0, 0x1c, 0x0, 0xe0, 0x1c, 0x0, 0xe0, 0x1c, 0x0, 0xe0, 0x1f, 0xff, 0xe0, 0x1c, 0x0, 0xe0, 0x1c, 0x0, 0xe0, 0x1c, 0x0, 0xe0, 0x1c, 0x0, 0xe0, 0x1c, 0x0, 0xe0, 0x1c, 0x0, 0xe0, 0x1c, 0x0, 0xe0, 0x1c, 0x0, 0xe0, 0x1c, 0x0, 0xe0, 0x3e, 0x1, 0xf0, 0xff, 0x87, 0xfc} - -/* I (73) */ -#define NXFONT_METRICS_73 {2, 9, 23, 1, 14, 0} -#define NXFONT_BITMAP_73 {0xff, 0x80, 0x3e, 0x0, 0x1c, 0x0, 0x1c, 0x0, 0x1c, 0x0, 0x1c, 0x0, 0x1c, 0x0, 0x1c, 0x0, 0x1c, 0x0, 0x1c, 0x0, 0x1c, 0x0, 0x1c, 0x0, 0x1c, 0x0, 0x1c, 0x0, 0x1c, 0x0, 0x1c, 0x0, 0x1c, 0x0, 0x1c, 0x0, 0x1c, 0x0, 0x1c, 0x0, 0x1c, 0x0, 0x3e, 0x0, 0xff, 0x80} - -/* J (74) */ -#define NXFONT_METRICS_74 {2, 12, 23, 1, 14, 0} -#define NXFONT_BITMAP_74 {0x1f, 0xf0, 0x7, 0xc0, 0x3, 0x80, 0x3, 0x80, 0x3, 0x80, 0x3, 0x80, 0x3, 0x80, 0x3, 0x80, 0x3, 0x80, 0x3, 0x80, 0x3, 0x80, 0x3, 0x80, 0x3, 0x80, 0x3, 0x80, 0x3, 0x80, 0x3, 0x80, 0x3, 0x80, 0x3, 0x80, 0x3, 0x80, 0xc3, 0x80, 0xe3, 0x0, 0xe7, 0x0, 0x7c, 0x0} - -/* K (75) */ -#define NXFONT_METRICS_75 {3, 23, 23, 1, 14, 0} -#define NXFONT_BITMAP_75 {0xff, 0xc7, 0xf8, 0x3e, 0x1, 0xe0, 0x1c, 0x1, 0x80, 0x1c, 0x3, 0x0, 0x1c, 0x6, 0x0, 0x1c, 0xc, 0x0, 0x1c, 0x18, 0x0, 0x1c, 0x30, 0x0, 0x1c, 0x60, 0x0, 0x1c, 0xc0, 0x0, 0x1f, 0xc0, 0x0, 0x1f, 0xe0, 0x0, 0x1f, 0xf0, 0x0, 0x1e, 0x78, 0x0, 0x1c, 0x3c, 0x0, 0x1c, 0x1e, 0x0, 0x1c, 0xf, 0x0, 0x1c, 0x7, 0x80, 0x1c, 0x3, 0xc0, 0x1c, 0x1, 0xe0, 0x1c, 0x0, 0xf0, 0x3e, 0x0, 0xf8, 0xff, 0xc7, 0xfe} - -/* L (76) */ -#define NXFONT_METRICS_76 {3, 19, 23, 1, 14, 0} -#define NXFONT_BITMAP_76 {0xff, 0x80, 0x0, 0x3e, 0x0, 0x0, 0x1c, 0x0, 0x0, 0x1c, 0x0, 0x0, 0x1c, 0x0, 0x0, 0x1c, 0x0, 0x0, 0x1c, 0x0, 0x0, 0x1c, 0x0, 0x0, 0x1c, 0x0, 0x0, 0x1c, 0x0, 0x0, 0x1c, 0x0, 0x0, 0x1c, 0x0, 0x0, 0x1c, 0x0, 0x0, 0x1c, 0x0, 0x0, 0x1c, 0x0, 0x0, 0x1c, 0x0, 0x0, 0x1c, 0x0, 0x0, 0x1c, 0x0, 0x20, 0x1c, 0x0, 0x20, 0x1c, 0x0, 0x60, 0x1c, 0x0, 0xc0, 0x3e, 0x3, 0xc0, 0xff, 0xff, 0xc0} - -/* M (77) */ -#define NXFONT_METRICS_77 {4, 28, 23, 1, 14, 0} -#define NXFONT_BITMAP_77 {0xfc, 0x0, 0x7, 0xf0, 0x3e, 0x0, 0x7, 0xc0, 0x1e, 0x0, 0xf, 0x80, 0x1f, 0x0, 0xf, 0x80, 0x1f, 0x0, 0xb, 0x80, 0x17, 0x0, 0x1b, 0x80, 0x17, 0x80, 0x1b, 0x80, 0x13, 0x80, 0x33, 0x80, 0x13, 0xc0, 0x33, 0x80, 0x13, 0xc0, 0x23, 0x80, 0x11, 0xe0, 0x63, 0x80, 0x11, 0xe0, 0x63, 0x80, 0x10, 0xe0, 0xc3, 0x80, 0x10, 0xf0, 0xc3, 0x80, 0x10, 0x70, 0x83, 0x80, 0x10, 0x79, 0x83, 0x80, 0x10, 0x79, 0x3, 0x80, 0x10, 0x3d, 0x3, 0x80, 0x10, 0x3f, 0x3, 0x80, 0x10, 0x1e, 0x3, 0x80, 0x10, 0x1e, 0x3, 0x80, 0x38, 0xc, 0x7, 0xc0, 0xfe, 0xc, 0x1f, 0xf0} - -/* N (78) */ -#define NXFONT_METRICS_78 {3, 22, 23, 1, 14, 0} -#define NXFONT_BITMAP_78 {0xf8, 0x1, 0xfc, 0x3c, 0x0, 0x70, 0x1e, 0x0, 0x20, 0x1f, 0x0, 0x20, 0x1f, 0x0, 0x20, 0x17, 0x80, 0x20, 0x13, 0xc0, 0x20, 0x13, 0xc0, 0x20, 0x11, 0xe0, 0x20, 0x10, 0xf0, 0x20, 0x10, 0xf8, 0x20, 0x10, 0x78, 0x20, 0x10, 0x3c, 0x20, 0x10, 0x1e, 0x20, 0x10, 0x1f, 0x20, 0x10, 0xf, 0x20, 0x10, 0x7, 0xa0, 0x10, 0x3, 0xe0, 0x10, 0x1, 0xe0, 0x10, 0x1, 0xe0, 0x10, 0x0, 0xe0, 0x38, 0x0, 0x60, 0xfe, 0x0, 0x20} - -/* O (79) */ -#define NXFONT_METRICS_79 {3, 22, 23, 1, 14, 0} -#define NXFONT_BITMAP_79 {0x1, 0xfe, 0x0, 0x7, 0x87, 0x80, 0xe, 0x1, 0xc0, 0x1c, 0x0, 0xe0, 0x38, 0x0, 0x70, 0x38, 0x0, 0x70, 0x70, 0x0, 0x38, 0x70, 0x0, 0x38, 0xf0, 0x0, 0x3c, 0xf0, 0x0, 0x3c, 0xf0, 0x0, 0x3c, 0xf0, 0x0, 0x3c, 0xf0, 0x0, 0x3c, 0xf0, 0x0, 0x3c, 0xf0, 0x0, 0x3c, 0x70, 0x0, 0x38, 0x70, 0x0, 0x38, 0x38, 0x0, 0x70, 0x38, 0x0, 0x70, 0x1c, 0x0, 0xe0, 0xe, 0x1, 0xc0, 0x7, 0x87, 0x80, 0x1, 0xfe, 0x0} - -/* P (80) */ -#define NXFONT_METRICS_80 {3, 17, 23, 1, 14, 0} -#define NXFONT_BITMAP_80 {0xff, 0xf8, 0x0, 0x3c, 0x3e, 0x0, 0x1c, 0xf, 0x0, 0x1c, 0x7, 0x0, 0x1c, 0x7, 0x80, 0x1c, 0x3, 0x80, 0x1c, 0x3, 0x80, 0x1c, 0x3, 0x80, 0x1c, 0x7, 0x80, 0x1c, 0x7, 0x0, 0x1c, 0xf, 0x0, 0x1c, 0x3e, 0x0, 0x1f, 0xf0, 0x0, 0x1c, 0x0, 0x0, 0x1c, 0x0, 0x0, 0x1c, 0x0, 0x0, 0x1c, 0x0, 0x0, 0x1c, 0x0, 0x0, 0x1c, 0x0, 0x0, 0x1c, 0x0, 0x0, 0x1c, 0x0, 0x0, 0x3e, 0x0, 0x0, 0xff, 0x80, 0x0} - -/* Q (81) */ -#define NXFONT_METRICS_81 {3, 22, 29, 1, 14, 0} -#define NXFONT_BITMAP_81 {0x1, 0xfe, 0x0, 0x7, 0x87, 0x80, 0xe, 0x1, 0xc0, 0x1c, 0x0, 0xe0, 0x38, 0x0, 0x70, 0x38, 0x0, 0x70, 0x70, 0x0, 0x38, 0x70, 0x0, 0x38, 0xf0, 0x0, 0x3c, 0xf0, 0x0, 0x3c, 0xf0, 0x0, 0x3c, 0xf0, 0x0, 0x3c, 0xf0, 0x0, 0x3c, 0xf0, 0x0, 0x3c, 0xf0, 0x0, 0x3c, 0x70, 0x0, 0x38, 0x70, 0x0, 0x38, 0x38, 0x0, 0x70, 0x38, 0x0, 0x70, 0x1c, 0x0, 0xe0, 0xe, 0x1, 0xc0, 0x7, 0x87, 0x80, 0x1, 0xfe, 0x0, 0x0, 0x7c, 0x0, 0x0, 0x3e, 0x0, 0x0, 0x1f, 0x0, 0x0, 0xf, 0x80, 0x0, 0x3, 0xe0, 0x0, 0x0, 0x7c} - -/* R (82) */ -#define NXFONT_METRICS_82 {3, 21, 23, 1, 14, 0} -#define NXFONT_BITMAP_82 {0xff, 0xf8, 0x0, 0x3c, 0x3e, 0x0, 0x1c, 0xf, 0x0, 0x1c, 0x7, 0x80, 0x1c, 0x7, 0x80, 0x1c, 0x3, 0x80, 0x1c, 0x3, 0x80, 0x1c, 0x3, 0x80, 0x1c, 0x7, 0x80, 0x1c, 0x7, 0x0, 0x1c, 0x1e, 0x0, 0x1f, 0xf8, 0x0, 0x1c, 0xf0, 0x0, 0x1c, 0x78, 0x0, 0x1c, 0x3c, 0x0, 0x1c, 0x3c, 0x0, 0x1c, 0x1e, 0x0, 0x1c, 0xf, 0x0, 0x1c, 0xf, 0x80, 0x1c, 0x7, 0x80, 0x1c, 0x3, 0xc0, 0x3e, 0x1, 0xe0, 0xff, 0x81, 0xf8} - -/* S (83) */ -#define NXFONT_METRICS_83 {2, 15, 23, 1, 14, 0} -#define NXFONT_BITMAP_83 {0x7, 0xe4, 0x1c, 0x3c, 0x38, 0x1c, 0x70, 0xc, 0x70, 0x4, 0x70, 0x6, 0x78, 0x0, 0x7c, 0x0, 0x3e, 0x0, 0x1f, 0x80, 0xf, 0xe0, 0x7, 0xf0, 0x1, 0xf8, 0x0, 0x7c, 0x0, 0x3e, 0x0, 0x1e, 0x80, 0xe, 0x80, 0xe, 0xc0, 0xe, 0xe0, 0xc, 0x70, 0x1c, 0x7c, 0x78, 0x67, 0xf0} - -/* T (84) */ -#define NXFONT_METRICS_84 {3, 19, 23, 1, 14, 0} -#define NXFONT_BITMAP_84 {0xff, 0xff, 0xe0, 0xf0, 0xe1, 0xe0, 0xc0, 0xe0, 0x60, 0xc0, 0xe0, 0x60, 0x80, 0xe0, 0x20, 0x80, 0xe0, 0x20, 0x0, 0xe0, 0x0, 0x0, 0xe0, 0x0, 0x0, 0xe0, 0x0, 0x0, 0xe0, 0x0, 0x0, 0xe0, 0x0, 0x0, 0xe0, 0x0, 0x0, 0xe0, 0x0, 0x0, 0xe0, 0x0, 0x0, 0xe0, 0x0, 0x0, 0xe0, 0x0, 0x0, 0xe0, 0x0, 0x0, 0xe0, 0x0, 0x0, 0xe0, 0x0, 0x0, 0xe0, 0x0, 0x0, 0xe0, 0x0, 0x1, 0xf0, 0x0, 0x7, 0xfc, 0x0} - -/* U (85) */ -#define NXFONT_METRICS_85 {3, 22, 23, 1, 14, 0} -#define NXFONT_BITMAP_85 {0xff, 0x81, 0xfc, 0x3e, 0x0, 0x70, 0x1c, 0x0, 0x20, 0x1c, 0x0, 0x20, 0x1c, 0x0, 0x20, 0x1c, 0x0, 0x20, 0x1c, 0x0, 0x20, 0x1c, 0x0, 0x20, 0x1c, 0x0, 0x20, 0x1c, 0x0, 0x20, 0x1c, 0x0, 0x20, 0x1c, 0x0, 0x20, 0x1c, 0x0, 0x20, 0x1c, 0x0, 0x20, 0x1c, 0x0, 0x20, 0x1c, 0x0, 0x20, 0x1c, 0x0, 0x20, 0x1c, 0x0, 0x20, 0x1e, 0x0, 0x60, 0xe, 0x0, 0x40, 0xf, 0x0, 0xc0, 0x7, 0xc3, 0x80, 0x1, 0xfe, 0x0} - -/* V (86) */ -#define NXFONT_METRICS_86 {3, 22, 23, 1, 14, 0} -#define NXFONT_BITMAP_86 {0xff, 0x1, 0xfc, 0x7c, 0x0, 0x70, 0x3c, 0x0, 0x60, 0x1e, 0x0, 0x40, 0x1e, 0x0, 0xc0, 0xe, 0x0, 0xc0, 0xf, 0x0, 0x80, 0xf, 0x1, 0x80, 0x7, 0x1, 0x80, 0x7, 0x81, 0x0, 0x3, 0x83, 0x0, 0x3, 0xc3, 0x0, 0x3, 0xc2, 0x0, 0x1, 0xc6, 0x0, 0x1, 0xe6, 0x0, 0x0, 0xe4, 0x0, 0x0, 0xec, 0x0, 0x0, 0x7c, 0x0, 0x0, 0x78, 0x0, 0x0, 0x78, 0x0, 0x0, 0x38, 0x0, 0x0, 0x30, 0x0, 0x0, 0x10, 0x0} - -/* W (87) */ -#define NXFONT_METRICS_87 {4, 31, 23, 1, 14, 0} -#define NXFONT_BITMAP_87 {0xff, 0x3f, 0xe0, 0xfe, 0x7c, 0xf, 0x80, 0x78, 0x3c, 0x7, 0x0, 0x30, 0x1c, 0x7, 0x80, 0x30, 0x1e, 0x7, 0x80, 0x60, 0x1e, 0x3, 0x80, 0x60, 0xe, 0x3, 0xc0, 0x60, 0xf, 0x3, 0xc0, 0xc0, 0x7, 0x3, 0xe0, 0xc0, 0x7, 0x87, 0xe0, 0xc0, 0x7, 0x86, 0xe1, 0x80, 0x3, 0x84, 0xf1, 0x80, 0x3, 0xcc, 0xf1, 0x80, 0x3, 0xcc, 0x73, 0x0, 0x1, 0xd8, 0x7b, 0x0, 0x1, 0xd8, 0x3b, 0x0, 0x1, 0xf8, 0x3e, 0x0, 0x0, 0xf0, 0x3e, 0x0, 0x0, 0xf0, 0x1c, 0x0, 0x0, 0xe0, 0x1c, 0x0, 0x0, 0x60, 0x1c, 0x0, 0x0, 0x60, 0x8, 0x0, 0x0, 0x40, 0x8, 0x0} - -/* X (88) */ -#define NXFONT_METRICS_88 {3, 22, 23, 1, 14, 0} -#define NXFONT_BITMAP_88 {0xff, 0xc3, 0xfc, 0x3f, 0x0, 0xf0, 0x1f, 0x0, 0xe0, 0xf, 0x0, 0xc0, 0x7, 0x81, 0x80, 0x7, 0x83, 0x0, 0x3, 0xc6, 0x0, 0x1, 0xe6, 0x0, 0x1, 0xec, 0x0, 0x0, 0xf8, 0x0, 0x0, 0x78, 0x0, 0x0, 0x78, 0x0, 0x0, 0x7c, 0x0, 0x0, 0xde, 0x0, 0x1, 0x9e, 0x0, 0x1, 0x8f, 0x0, 0x3, 0xf, 0x80, 0x6, 0x7, 0x80, 0xe, 0x3, 0xc0, 0xc, 0x3, 0xe0, 0x18, 0x1, 0xe0, 0x38, 0x1, 0xf0, 0xfe, 0x7, 0xfc} - -/* Y (89) */ -#define NXFONT_METRICS_89 {3, 22, 23, 1, 14, 0} -#define NXFONT_BITMAP_89 {0xff, 0xc0, 0xfc, 0x3f, 0x0, 0x38, 0x1e, 0x0, 0x30, 0xf, 0x0, 0x60, 0xf, 0x80, 0xc0, 0x7, 0x80, 0x80, 0x3, 0xc1, 0x80, 0x3, 0xc3, 0x0, 0x1, 0xe3, 0x0, 0x0, 0xf6, 0x0, 0x0, 0xfc, 0x0, 0x0, 0x7c, 0x0, 0x0, 0x38, 0x0, 0x0, 0x38, 0x0, 0x0, 0x38, 0x0, 0x0, 0x38, 0x0, 0x0, 0x38, 0x0, 0x0, 0x38, 0x0, 0x0, 0x38, 0x0, 0x0, 0x38, 0x0, 0x0, 0x38, 0x0, 0x0, 0x7c, 0x0, 0x1, 0xff, 0x0} - -/* Z (90) */ -#define NXFONT_METRICS_90 {3, 19, 23, 1, 14, 0} -#define NXFONT_BITMAP_90 {0x3f, 0xff, 0xe0, 0x38, 0x3, 0xc0, 0x60, 0x7, 0x80, 0x60, 0x7, 0x80, 0x40, 0xf, 0x0, 0x40, 0x1e, 0x0, 0x0, 0x1e, 0x0, 0x0, 0x3c, 0x0, 0x0, 0x78, 0x0, 0x0, 0x78, 0x0, 0x0, 0xf0, 0x0, 0x1, 0xe0, 0x0, 0x1, 0xe0, 0x0, 0x3, 0xc0, 0x0, 0x3, 0xc0, 0x0, 0x7, 0x80, 0x0, 0xf, 0x0, 0x0, 0xf, 0x0, 0x20, 0x1e, 0x0, 0x20, 0x3c, 0x0, 0x60, 0x3c, 0x0, 0x60, 0x78, 0x1, 0xc0, 0xff, 0xff, 0xc0} - -/* bracketleft (91) */ -#define NXFONT_METRICS_91 {1, 7, 28, 3, 14, 0} -#define NXFONT_BITMAP_91 {0xfe, 0xf0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xf0, 0xfe} - -/* backslash (92) -- NOTE: Xoffset should be -2, not 0. */ -#define NXFONT_METRICS_92 {2, 13, 23, 0, 14, 0} -#define NXFONT_BITMAP_92 {0xc0, 0x0, 0xe0, 0x0, 0x60, 0x0, 0x70, 0x0, 0x30, 0x0, 0x38, 0x0, 0x18, 0x0, 0x1c, 0x0, 0xc, 0x0, 0xe, 0x0, 0x6, 0x0, 0x7, 0x0, 0x3, 0x0, 0x3, 0x80, 0x1, 0x80, 0x1, 0xc0, 0x0, 0xc0, 0x0, 0xe0, 0x0, 0x60, 0x0, 0x70, 0x0, 0x30, 0x0, 0x38, 0x0, 0x18} - -/* bracketright (93) */ -#define NXFONT_METRICS_93 {1, 7, 28, 1, 14, 0} -#define NXFONT_BITMAP_93 {0xfe, 0x1e, 0xe, 0xe, 0xe, 0xe, 0xe, 0xe, 0xe, 0xe, 0xe, 0xe, 0xe, 0xe, 0xe, 0xe, 0xe, 0xe, 0xe, 0xe, 0xe, 0xe, 0xe, 0xe, 0xe, 0xe, 0x1e, 0xfe} - -/* asciicircum (94) */ -#define NXFONT_METRICS_94 {2, 13, 13, 1, 14, 0} -#define NXFONT_BITMAP_94 {0x7, 0x0, 0x7, 0x0, 0xf, 0x80, 0xd, 0x80, 0x18, 0xc0, 0x18, 0xc0, 0x30, 0x60, 0x30, 0x60, 0x70, 0x70, 0x60, 0x30, 0xe0, 0x38, 0xc0, 0x18, 0xc0, 0x18} - -/* underscore (95) */ -#define NXFONT_METRICS_95 {3, 17, 2, 0, 40, 0} -#define NXFONT_BITMAP_95 {0xff, 0xff, 0x80, 0xff, 0xff, 0x80} - -/* grave (96) */ -#define NXFONT_METRICS_96 {1, 7, 6, 1, 14, 0} -#define NXFONT_BITMAP_96 {0xc0, 0xe0, 0x70, 0x18, 0xc, 0x6} - -/* a (97) */ -#define NXFONT_METRICS_97 {2, 13, 15, 1, 22, 0} -#define NXFONT_BITMAP_97 {0x1f, 0x80, 0x31, 0xc0, 0x70, 0xe0, 0x70, 0xe0, 0x60, 0xe0, 0x3, 0xe0, 0xe, 0xe0, 0x18, 0xe0, 0x30, 0xe0, 0x60, 0xe0, 0xe0, 0xe0, 0xe1, 0xe0, 0xf2, 0xe8, 0x7e, 0xf8, 0x3c, 0x70} - -/* b (98) */ -#define NXFONT_METRICS_98 {2, 15, 23, 0, 14, 0} -#define NXFONT_BITMAP_98 {0x18, 0x0, 0xf8, 0x0, 0x38, 0x0, 0x38, 0x0, 0x38, 0x0, 0x38, 0x0, 0x38, 0x0, 0x38, 0x0, 0x39, 0xf0, 0x3b, 0xf8, 0x3c, 0x7c, 0x38, 0x1c, 0x38, 0x1e, 0x38, 0xe, 0x38, 0xe, 0x38, 0xe, 0x38, 0xe, 0x38, 0xe, 0x38, 0xc, 0x38, 0x1c, 0x38, 0x18, 0x3c, 0x70, 0xf, 0xe0} - -/* c (99) */ -#define NXFONT_METRICS_99 {2, 12, 15, 1, 22, 0} -#define NXFONT_BITMAP_99 {0xf, 0x80, 0x38, 0xc0, 0x70, 0xe0, 0x60, 0xe0, 0xe0, 0x60, 0xc0, 0x0, 0xc0, 0x0, 0xc0, 0x0, 0xc0, 0x0, 0xe0, 0x0, 0xe0, 0x10, 0x70, 0x30, 0x7c, 0x60, 0x3f, 0xc0, 0x1f, 0x0} - -/* d (100) */ -#define NXFONT_METRICS_100 {2, 15, 23, 1, 14, 0} -#define NXFONT_BITMAP_100 {0x0, 0x18, 0x0, 0xf8, 0x0, 0x38, 0x0, 0x38, 0x0, 0x38, 0x0, 0x38, 0x0, 0x38, 0x0, 0x38, 0xf, 0xb8, 0x18, 0xf8, 0x30, 0x78, 0x70, 0x38, 0x60, 0x38, 0xe0, 0x38, 0xe0, 0x38, 0xe0, 0x38, 0xe0, 0x38, 0xe0, 0x38, 0xf0, 0x38, 0x70, 0x78, 0x78, 0xf8, 0x3f, 0xbe, 0xf, 0x30} - -/* e (101) */ -#define NXFONT_METRICS_101 {2, 12, 15, 1, 22, 0} -#define NXFONT_BITMAP_101 {0xf, 0x80, 0x39, 0xc0, 0x60, 0xe0, 0x60, 0x70, 0xc0, 0x70, 0xff, 0xf0, 0xc0, 0x0, 0xc0, 0x0, 0xc0, 0x0, 0xe0, 0x0, 0xe0, 0x10, 0x70, 0x30, 0x7c, 0x60, 0x3f, 0xc0, 0xf, 0x0} - -/* f (102) */ -#define NXFONT_METRICS_102 {2, 12, 23, 0, 14, 0} -#define NXFONT_BITMAP_102 {0x3, 0xe0, 0x6, 0x70, 0xc, 0x70, 0xc, 0x30, 0x1c, 0x0, 0x1c, 0x0, 0x1c, 0x0, 0x1c, 0x0, 0xff, 0xc0, 0x1c, 0x0, 0x1c, 0x0, 0x1c, 0x0, 0x1c, 0x0, 0x1c, 0x0, 0x1c, 0x0, 0x1c, 0x0, 0x1c, 0x0, 0x1c, 0x0, 0x1c, 0x0, 0x1c, 0x0, 0x1c, 0x0, 0x3e, 0x0, 0xff, 0x80} - -/* g (103) */ -#define NXFONT_METRICS_103 {2, 14, 22, 1, 22, 0} -#define NXFONT_BITMAP_103 {0xf, 0xc0, 0x18, 0xfc, 0x30, 0x7c, 0x70, 0x30, 0x70, 0x30, 0x70, 0x30, 0x70, 0x30, 0x38, 0x70, 0x1c, 0xe0, 0xf, 0x80, 0x18, 0x0, 0x30, 0x0, 0x78, 0x0, 0x7f, 0xe0, 0x3f, 0xf8, 0x1f, 0xfc, 0x60, 0xc, 0xc0, 0xc, 0xc0, 0x1c, 0xf0, 0x38, 0x7f, 0xe0, 0x1f, 0x80} - -/* h (104) */ -#define NXFONT_METRICS_104 {2, 16, 23, 0, 14, 0} -#define NXFONT_BITMAP_104 {0x18, 0x0, 0xf8, 0x0, 0x38, 0x0, 0x38, 0x0, 0x38, 0x0, 0x38, 0x0, 0x38, 0x0, 0x38, 0x0, 0x39, 0xf0, 0x3b, 0xf8, 0x3e, 0x3c, 0x3c, 0x1c, 0x38, 0x1c, 0x38, 0x1c, 0x38, 0x1c, 0x38, 0x1c, 0x38, 0x1c, 0x38, 0x1c, 0x38, 0x1c, 0x38, 0x1c, 0x38, 0x1c, 0x38, 0x1c, 0xfe, 0x7f} - -/* i (105) */ -#define NXFONT_METRICS_105 {1, 7, 23, 1, 14, 0} -#define NXFONT_BITMAP_105 {0x38, 0x38, 0x38, 0x0, 0x0, 0x0, 0x0, 0x0, 0x38, 0xf8, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0xfe} - -/* j (106) -- NOTE: Xoffset should be -1, not 0. */ -#define NXFONT_METRICS_106 {1, 8, 30, 0, 14, 0} -#define NXFONT_BITMAP_106 {0x7, 0x7, 0x7, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3, 0x1f, 0x7, 0x7, 0x7, 0x7, 0x7, 0x7, 0x7, 0x7, 0x7, 0x7, 0x7, 0x7, 0x7, 0x7, 0x7, 0x7, 0x6, 0xc6, 0xec, 0x78} - -/* k (107) */ -#define NXFONT_METRICS_107 {2, 16, 23, 0, 14, 0} -#define NXFONT_BITMAP_107 {0x18, 0x0, 0xf8, 0x0, 0x38, 0x0, 0x38, 0x0, 0x38, 0x0, 0x38, 0x0, 0x38, 0x0, 0x38, 0x0, 0x38, 0xfe, 0x38, 0x70, 0x38, 0x60, 0x38, 0xc0, 0x39, 0x80, 0x3f, 0x0, 0x3e, 0x0, 0x3f, 0x0, 0x3b, 0x80, 0x39, 0xc0, 0x38, 0xe0, 0x38, 0xf0, 0x38, 0x78, 0x38, 0x3c, 0xfe, 0x7f} - -/* l (108) */ -#define NXFONT_METRICS_108 {1, 7, 23, 1, 14, 0} -#define NXFONT_BITMAP_108 {0x18, 0xf8, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0xfe} - -/* m (109) */ -#define NXFONT_METRICS_109 {4, 25, 15, 0, 22, 0} -#define NXFONT_BITMAP_109 {0x18, 0xf0, 0x78, 0x0, 0xfb, 0xf9, 0xfc, 0x0, 0x3e, 0x3f, 0x1e, 0x0, 0x3c, 0x1e, 0xe, 0x0, 0x38, 0x1c, 0xe, 0x0, 0x38, 0x1c, 0xe, 0x0, 0x38, 0x1c, 0xe, 0x0, 0x38, 0x1c, 0xe, 0x0, 0x38, 0x1c, 0xe, 0x0, 0x38, 0x1c, 0xe, 0x0, 0x38, 0x1c, 0xe, 0x0, 0x38, 0x1c, 0xe, 0x0, 0x38, 0x1c, 0xe, 0x0, 0x38, 0x1c, 0xe, 0x0, 0xfe, 0x7f, 0x3f, 0x80} - -/* n (110) */ -#define NXFONT_METRICS_110 {2, 16, 15, 0, 22, 0} -#define NXFONT_BITMAP_110 {0x18, 0xf0, 0xfb, 0xf8, 0x3c, 0x3c, 0x38, 0x1c, 0x38, 0x1c, 0x38, 0x1c, 0x38, 0x1c, 0x38, 0x1c, 0x38, 0x1c, 0x38, 0x1c, 0x38, 0x1c, 0x38, 0x1c, 0x38, 0x1c, 0x38, 0x1c, 0xfe, 0x7f} - -/* o (111) */ -#define NXFONT_METRICS_111 {2, 14, 15, 1, 22, 0} -#define NXFONT_BITMAP_111 {0x7, 0x80, 0x18, 0xe0, 0x30, 0x70, 0x70, 0x38, 0x60, 0x38, 0xe0, 0x1c, 0xe0, 0x1c, 0xe0, 0x1c, 0xe0, 0x1c, 0xe0, 0x1c, 0x70, 0x18, 0x70, 0x38, 0x38, 0x30, 0x1c, 0x60, 0x7, 0x80} - -/* p (112) */ -#define NXFONT_METRICS_112 {2, 15, 22, 0, 22, 0} -#define NXFONT_BITMAP_112 {0x19, 0xe0, 0xfb, 0xf8, 0x3c, 0x7c, 0x38, 0x1c, 0x38, 0x1e, 0x38, 0xe, 0x38, 0xe, 0x38, 0xe, 0x38, 0xe, 0x38, 0xe, 0x38, 0xc, 0x38, 0x1c, 0x3c, 0x18, 0x3e, 0x70, 0x3b, 0xc0, 0x38, 0x0, 0x38, 0x0, 0x38, 0x0, 0x38, 0x0, 0x38, 0x0, 0x38, 0x0, 0xff, 0x0} - -/* q (113) */ -#define NXFONT_METRICS_113 {2, 15, 22, 1, 22, 0} -#define NXFONT_BITMAP_113 {0xf, 0xc8, 0x1c, 0x78, 0x30, 0x38, 0x70, 0x38, 0x60, 0x38, 0xe0, 0x38, 0xe0, 0x38, 0xe0, 0x38, 0xe0, 0x38, 0xe0, 0x38, 0xf0, 0x38, 0x70, 0x78, 0x78, 0xf8, 0x3f, 0xb8, 0x1f, 0x38, 0x0, 0x38, 0x0, 0x38, 0x0, 0x38, 0x0, 0x38, 0x0, 0x38, 0x0, 0x38, 0x1, 0xfe} - -/* r (114) */ -#define NXFONT_METRICS_114 {2, 10, 15, 1, 22, 0} -#define NXFONT_BITMAP_114 {0x19, 0x80, 0xfb, 0xc0, 0x3f, 0xc0, 0x3c, 0x0, 0x38, 0x0, 0x38, 0x0, 0x38, 0x0, 0x38, 0x0, 0x38, 0x0, 0x38, 0x0, 0x38, 0x0, 0x38, 0x0, 0x38, 0x0, 0x38, 0x0, 0xfe, 0x0} - -/* s (115) */ -#define NXFONT_METRICS_115 {2, 10, 15, 1, 22, 0} -#define NXFONT_BITMAP_115 {0x3e, 0x80, 0x63, 0x80, 0xc1, 0x80, 0xc0, 0x80, 0xe0, 0x80, 0xf0, 0x0, 0x7c, 0x0, 0x3f, 0x0, 0xf, 0x80, 0x3, 0xc0, 0x81, 0xc0, 0x80, 0xc0, 0xc0, 0xc0, 0xe1, 0x80, 0xbf, 0x0} - -/* t (116) */ -#define NXFONT_METRICS_116 {2, 9, 19, 0, 18, 0} -#define NXFONT_BITMAP_116 {0x8, 0x0, 0x8, 0x0, 0x18, 0x0, 0x38, 0x0, 0xff, 0x0, 0x38, 0x0, 0x38, 0x0, 0x38, 0x0, 0x38, 0x0, 0x38, 0x0, 0x38, 0x0, 0x38, 0x0, 0x38, 0x0, 0x38, 0x0, 0x38, 0x0, 0x38, 0x0, 0x38, 0x80, 0x3f, 0x0, 0x1c, 0x0} - -/* u (117) */ -#define NXFONT_METRICS_117 {2, 16, 15, 0, 22, 0} -#define NXFONT_BITMAP_117 {0xf8, 0x7c, 0x38, 0x1c, 0x38, 0x1c, 0x38, 0x1c, 0x38, 0x1c, 0x38, 0x1c, 0x38, 0x1c, 0x38, 0x1c, 0x38, 0x1c, 0x38, 0x1c, 0x38, 0x1c, 0x38, 0x3c, 0x3c, 0x5c, 0x1f, 0xdf, 0xf, 0x8c} - -/* v (118) */ -#define NXFONT_METRICS_118 {2, 15, 15, 1, 22, 0} -#define NXFONT_BITMAP_118 {0xfe, 0x3e, 0x78, 0xc, 0x38, 0x8, 0x3c, 0x18, 0x1c, 0x18, 0x1c, 0x10, 0xe, 0x30, 0xe, 0x20, 0x7, 0x60, 0x7, 0x40, 0x7, 0xc0, 0x3, 0xc0, 0x3, 0x80, 0x1, 0x80, 0x1, 0x0} - -/* w (119) */ -#define NXFONT_METRICS_119 {3, 21, 15, 1, 22, 0} -#define NXFONT_BITMAP_119 {0xfd, 0xfc, 0x78, 0x70, 0x70, 0x30, 0x70, 0x70, 0x30, 0x38, 0x30, 0x20, 0x38, 0x38, 0x60, 0x18, 0x38, 0x40, 0x1c, 0x78, 0x40, 0x1c, 0x5c, 0xc0, 0xc, 0xcc, 0x80, 0xe, 0x8f, 0x80, 0xf, 0x8f, 0x0, 0x7, 0x7, 0x0, 0x7, 0x7, 0x0, 0x3, 0x6, 0x0, 0x2, 0x2, 0x0} - -/* x (120) */ -#define NXFONT_METRICS_120 {2, 14, 15, 1, 22, 0} -#define NXFONT_BITMAP_120 {0xfc, 0xf8, 0x38, 0x60, 0x3c, 0xc0, 0x1c, 0x80, 0x1e, 0x80, 0xf, 0x0, 0x7, 0x0, 0x7, 0x80, 0xf, 0x80, 0xb, 0xc0, 0x19, 0xe0, 0x10, 0xe0, 0x30, 0x70, 0x60, 0x78, 0xf0, 0xfc} - -/* y (121) */ -#define NXFONT_METRICS_121 {2, 15, 22, 1, 22, 0} -#define NXFONT_BITMAP_121 {0xfe, 0x1e, 0x78, 0xc, 0x38, 0xc, 0x3c, 0x8, 0x1c, 0x18, 0x1e, 0x18, 0xe, 0x10, 0xe, 0x30, 0x7, 0x20, 0x7, 0x20, 0x3, 0xe0, 0x3, 0xc0, 0x1, 0xc0, 0x1, 0x80, 0x1, 0x80, 0x1, 0x0, 0x1, 0x0, 0x3, 0x0, 0x2, 0x0, 0x3e, 0x0, 0x7c, 0x0, 0x38, 0x0} - -/* z (122) */ -#define NXFONT_METRICS_122 {2, 13, 15, 1, 22, 0} -#define NXFONT_BITMAP_122 {0x7f, 0xf0, 0x60, 0xf0, 0x40, 0xe0, 0x41, 0xe0, 0x3, 0xc0, 0x3, 0x80, 0x7, 0x80, 0x7, 0x0, 0xe, 0x0, 0x1e, 0x0, 0x1c, 0x8, 0x38, 0x8, 0x78, 0x8, 0x70, 0x18, 0xff, 0xf0} - -/* braceleft (123) */ -#define NXFONT_METRICS_123 {1, 8, 28, 4, 14, 0} -#define NXFONT_BITMAP_123 {0xf, 0x1c, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x30, 0xe0, 0x30, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x18, 0x1c, 0xf} - -/* bar (124) */ -#define NXFONT_METRICS_124 {1, 2, 23, 2, 14, 0} -#define NXFONT_BITMAP_124 {0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0} - -/* braceright (125) */ -#define NXFONT_METRICS_125 {1, 8, 28, 4, 14, 0} -#define NXFONT_BITMAP_125 {0xf0, 0x38, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0xc, 0x7, 0xc, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x18, 0x38, 0xf0} - -/* asciitilde (126) */ -#define NXFONT_METRICS_126 {2, 16, 4, 1, 26, 0} -#define NXFONT_BITMAP_126 {0x3e, 0x3, 0x7f, 0x87, 0xe1, 0xfe, 0xc0, 0x7c} - -/* exclamdown (161) */ -#define NXFONT_METRICS_161 {1, 4, 22, 3, 22, 0} -#define NXFONT_BITMAP_161 {0x60, 0xf0, 0xf0, 0x60, 0x0, 0x0, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0xf0, 0xf0, 0xf0, 0xf0, 0x60} - -/* cent (162) */ -#define NXFONT_METRICS_162 {2, 12, 23, 2, 18, 0} -#define NXFONT_BITMAP_162 {0x0, 0x40, 0x0, 0x40, 0x0, 0x80, 0x0, 0x80, 0xf, 0x80, 0x38, 0xe0, 0x71, 0x70, 0x61, 0x70, 0xe1, 0x30, 0xc3, 0x0, 0xc2, 0x0, 0xc2, 0x0, 0xe6, 0x0, 0xe4, 0x0, 0x74, 0x10, 0x7c, 0x30, 0x3f, 0xe0, 0x1f, 0xc0, 0x1f, 0x0, 0x10, 0x0, 0x30, 0x0, 0x20, 0x0, 0x20, 0x0} - -/* sterling (163) */ -#define NXFONT_METRICS_163 {2, 15, 23, 1, 14, 0} -#define NXFONT_BITMAP_163 {0x1, 0xf0, 0x3, 0x98, 0x6, 0x1c, 0x6, 0x1c, 0xe, 0x18, 0xe, 0x0, 0xe, 0x0, 0xe, 0x0, 0xe, 0x0, 0xe, 0x0, 0xff, 0xe0, 0xff, 0xe0, 0xf, 0x0, 0x7, 0x0, 0x7, 0x0, 0x7, 0x0, 0x7, 0x0, 0x6, 0x0, 0x6, 0x2, 0x7e, 0x6, 0xc7, 0xfc, 0xcf, 0xf8, 0x78, 0xf0} - -/* currency (164) */ -#define NXFONT_METRICS_164 {2, 16, 17, 0, 17, 0} -#define NXFONT_BITMAP_164 {0xc7, 0xe3, 0xff, 0xff, 0x3e, 0x7c, 0x78, 0x1e, 0x70, 0xe, 0xe0, 0x7, 0xe0, 0x7, 0xc0, 0x3, 0xc0, 0x3, 0xc0, 0x3, 0xe0, 0x7, 0xe0, 0x7, 0x70, 0xe, 0x78, 0x1e, 0x3e, 0x7c, 0xff, 0xff, 0xc7, 0xe3} - -/* yen (165) */ -#define NXFONT_METRICS_165 {3, 17, 23, 0, 14, 0} -#define NXFONT_BITMAP_165 {0xfe, 0x1f, 0x80, 0x78, 0x7, 0x0, 0x38, 0x6, 0x0, 0x3c, 0x4, 0x0, 0x1c, 0xc, 0x0, 0x1e, 0x8, 0x0, 0xe, 0x18, 0x0, 0xf, 0x10, 0x0, 0x7, 0x30, 0x0, 0x7, 0xa0, 0x0, 0x3, 0xe0, 0x0, 0x3, 0xc0, 0x0, 0x3f, 0xfe, 0x0, 0x1, 0xc0, 0x0, 0x1, 0xc0, 0x0, 0x1, 0xc0, 0x0, 0x3f, 0xfe, 0x0, 0x1, 0xc0, 0x0, 0x1, 0xc0, 0x0, 0x1, 0xc0, 0x0, 0x1, 0xc0, 0x0, 0x1, 0xc0, 0x0, 0x7, 0xf0, 0x0} - -/* brokenbar (166) */ -#define NXFONT_METRICS_166 {1, 2, 23, 2, 14, 0} -#define NXFONT_BITMAP_166 {0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0} - -/* section (167) */ -#define NXFONT_METRICS_167 {2, 12, 28, 2, 14, 0} -#define NXFONT_BITMAP_167 {0x1f, 0x80, 0x31, 0xc0, 0x61, 0xc0, 0x61, 0xc0, 0x71, 0x80, 0x38, 0x0, 0x3c, 0x0, 0x1e, 0x0, 0xf, 0x0, 0x3f, 0x80, 0x63, 0xc0, 0xc1, 0xe0, 0xc0, 0xe0, 0xc0, 0x70, 0xe0, 0x30, 0x70, 0x30, 0x78, 0x30, 0x3c, 0x60, 0x1f, 0xc0, 0xf, 0x0, 0x7, 0x80, 0x3, 0xc0, 0x1, 0xc0, 0x18, 0xe0, 0x38, 0x60, 0x38, 0x60, 0x38, 0xc0, 0x1f, 0x80} - -/* dieresis (168) */ -#define NXFONT_METRICS_168 {2, 9, 3, 1, 16, 0} -#define NXFONT_BITMAP_168 {0xe3, 0x80, 0xe3, 0x80, 0xe3, 0x80} - -/* copyright (169) */ -#define NXFONT_METRICS_169 {3, 22, 23, 1, 14, 0} -#define NXFONT_BITMAP_169 {0x0, 0xfc, 0x0, 0x3, 0xff, 0x0, 0xe, 0x1, 0xc0, 0x18, 0x0, 0x60, 0x30, 0x0, 0x30, 0x60, 0x0, 0x18, 0x60, 0x7f, 0x18, 0xc1, 0xc7, 0xc, 0xc3, 0x83, 0xc, 0xc3, 0x1, 0xc, 0xc7, 0x0, 0xc, 0xc7, 0x0, 0xc, 0xc7, 0x0, 0xc, 0xc7, 0x0, 0xc, 0xc7, 0x80, 0xc, 0x43, 0x81, 0x18, 0x61, 0xe6, 0x18, 0x60, 0x7c, 0x30, 0x30, 0x0, 0x30, 0x18, 0x0, 0x60, 0xe, 0x1, 0xc0, 0x7, 0xff, 0x0, 0x1, 0xfc, 0x0} - -/* ordfeminine (170) */ -#define NXFONT_METRICS_170 {2, 9, 13, 0, 14, 0} -#define NXFONT_BITMAP_170 {0x3c, 0x0, 0x4e, 0x0, 0xc6, 0x0, 0xc6, 0x0, 0x1e, 0x0, 0x66, 0x0, 0xc6, 0x0, 0xc6, 0x0, 0xef, 0x80, 0x7b, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0x0} - -/* guillemotleft (171) */ -#define NXFONT_METRICS_171 {2, 13, 13, 1, 23, 0} -#define NXFONT_BITMAP_171 {0x2, 0x8, 0x6, 0x18, 0xc, 0x30, 0x18, 0x60, 0x38, 0xe0, 0x71, 0xc0, 0xe3, 0x80, 0x71, 0xc0, 0x38, 0xe0, 0x18, 0x60, 0xc, 0x30, 0x6, 0x18, 0x2, 0x8} - -/* logicalnot (172) */ -#define NXFONT_METRICS_172 {2, 16, 9, 1, 24, 0} -#define NXFONT_BITMAP_172 {0xff, 0xff, 0xff, 0xff, 0x0, 0x3, 0x0, 0x3, 0x0, 0x3, 0x0, 0x3, 0x0, 0x3, 0x0, 0x3, 0x0, 0x3} - -/* hyphen (173) */ -#define NXFONT_METRICS_173 {1, 8, 2, 1, 28, 0} -#define NXFONT_BITMAP_173 {0xff, 0xff} - -/* registered (174) */ -#define NXFONT_METRICS_174 {3, 22, 23, 1, 14, 0} -#define NXFONT_BITMAP_174 {0x0, 0xfe, 0x0, 0x3, 0xff, 0x0, 0xe, 0x1, 0xc0, 0x18, 0x0, 0x60, 0x30, 0x0, 0x30, 0x23, 0xfc, 0x18, 0x60, 0xc7, 0x18, 0xc0, 0xc3, 0xc, 0xc0, 0xc3, 0xc, 0xc0, 0xc3, 0xc, 0xc0, 0xc6, 0xc, 0xc0, 0xf8, 0xc, 0xc0, 0xdc, 0xc, 0xc0, 0xcc, 0xc, 0xc0, 0xce, 0xc, 0x40, 0xc6, 0x8, 0x60, 0xc7, 0x18, 0x23, 0xe3, 0xd0, 0x30, 0x0, 0x30, 0x18, 0x0, 0x60, 0xe, 0x1, 0xc0, 0x3, 0xff, 0x0, 0x0, 0xfc, 0x0} - -/* macron (175) */ -#define NXFONT_METRICS_175 {2, 10, 2, 0, 17, 0} -#define NXFONT_BITMAP_175 {0xff, 0xc0, 0xff, 0xc0} - -/* degree (176) */ -#define NXFONT_METRICS_176 {2, 10, 10, 1, 14, 0} -#define NXFONT_BITMAP_176 {0x1e, 0x0, 0x3f, 0x0, 0x61, 0x80, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0x61, 0x80, 0x3f, 0x0, 0x1e, 0x0} - -/* plusminus (177) */ -#define NXFONT_METRICS_177 {2, 16, 20, 1, 17, 0} -#define NXFONT_BITMAP_177 {0x1, 0x80, 0x1, 0x80, 0x1, 0x80, 0x1, 0x80, 0x1, 0x80, 0x1, 0x80, 0x1, 0x80, 0xff, 0xff, 0xff, 0xff, 0x1, 0x80, 0x1, 0x80, 0x1, 0x80, 0x1, 0x80, 0x1, 0x80, 0x1, 0x80, 0x1, 0x80, 0x1, 0x80, 0x0, 0x0, 0xff, 0xff, 0xff, 0xff} - -/* twosuperior (178) */ -#define NXFONT_METRICS_178 {2, 9, 14, 0, 14, 0} -#define NXFONT_BITMAP_178 {0x3c, 0x0, 0x4e, 0x0, 0x87, 0x0, 0x3, 0x0, 0x3, 0x0, 0x7, 0x0, 0x6, 0x0, 0xc, 0x0, 0x18, 0x0, 0x10, 0x0, 0x20, 0x0, 0x40, 0x80, 0xff, 0x0, 0xfe, 0x0} - -/* threesuperior (179) */ -#define NXFONT_METRICS_179 {2, 9, 14, 0, 14, 0} -#define NXFONT_BITMAP_179 {0x3e, 0x0, 0x47, 0x0, 0x83, 0x0, 0x3, 0x0, 0x3, 0x0, 0x6, 0x0, 0x3c, 0x0, 0x7, 0x0, 0x3, 0x80, 0x1, 0x80, 0x1, 0x80, 0xc1, 0x80, 0xe3, 0x0, 0x7e, 0x0} - -/* acute (180) */ -#define NXFONT_METRICS_180 {1, 7, 6, 3, 14, 0} -#define NXFONT_BITMAP_180 {0x6, 0xe, 0x1c, 0x30, 0x60, 0xc0} - -/* mu (181) */ -#define NXFONT_METRICS_181 {2, 16, 22, 0, 22, 0} -#define NXFONT_BITMAP_181 {0xf8, 0x7c, 0x38, 0x1c, 0x38, 0x1c, 0x38, 0x1c, 0x38, 0x1c, 0x38, 0x1c, 0x38, 0x1c, 0x38, 0x1c, 0x38, 0x1c, 0x38, 0x1c, 0x38, 0x1c, 0x38, 0x3c, 0x3c, 0x7c, 0x3f, 0xdf, 0x2f, 0x98, 0x20, 0x0, 0x70, 0x0, 0x70, 0x0, 0x70, 0x0, 0x70, 0x0, 0x70, 0x0, 0x20, 0x0} - -/* paragraph (182) */ -#define NXFONT_METRICS_182 {2, 13, 29, 1, 14, 0} -#define NXFONT_BITMAP_182 {0x7, 0xf8, 0x1e, 0x20, 0x3e, 0x20, 0x7e, 0x20, 0x7e, 0x20, 0xfe, 0x20, 0xfe, 0x20, 0xfe, 0x20, 0xfe, 0x20, 0x7e, 0x20, 0x7e, 0x20, 0x3e, 0x20, 0x1e, 0x20, 0xe, 0x20, 0x2, 0x20, 0x2, 0x20, 0x2, 0x20, 0x2, 0x20, 0x2, 0x20, 0x2, 0x20, 0x2, 0x20, 0x2, 0x20, 0x2, 0x20, 0x2, 0x20, 0x2, 0x20, 0x2, 0x20, 0x2, 0x20, 0x2, 0x20, 0x2, 0x20} - -/* periodcentered (183) */ -#define NXFONT_METRICS_183 {1, 4, 4, 2, 26, 0} -#define NXFONT_BITMAP_183 {0x60, 0xf0, 0xf0, 0x60} - -/* cedilla (184) */ -#define NXFONT_METRICS_184 {1, 6, 7, 2, 37, 0} -#define NXFONT_BITMAP_184 {0x20, 0x60, 0x78, 0x1c, 0xc, 0x1c, 0xf8} - -/* onesuperior (185) */ -#define NXFONT_METRICS_185 {1, 6, 14, 2, 14, 0} -#define NXFONT_BITMAP_185 {0x30, 0xf0, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0xfc} - -/* ordmasculine (186) */ -#define NXFONT_METRICS_186 {2, 9, 13, 0, 14, 0} -#define NXFONT_BITMAP_186 {0x3e, 0x0, 0x63, 0x0, 0xc3, 0x80, 0xc1, 0x80, 0xc1, 0x80, 0xc1, 0x80, 0xc1, 0x80, 0xe1, 0x80, 0x63, 0x0, 0x3e, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0x80} - -/* guillemotright (187) */ -#define NXFONT_METRICS_187 {2, 13, 13, 2, 23, 0} -#define NXFONT_BITMAP_187 {0x82, 0x0, 0xc3, 0x0, 0x61, 0x80, 0x30, 0xc0, 0x38, 0xe0, 0x1c, 0x70, 0xe, 0x38, 0x1c, 0x70, 0x38, 0xe0, 0x30, 0xc0, 0x61, 0x80, 0xc3, 0x0, 0x82, 0x0} - -/* onequarter (188) */ -#define NXFONT_METRICS_188 {3, 22, 23, 2, 14, 0} -#define NXFONT_BITMAP_188 {0x30, 0x0, 0x60, 0xf0, 0x0, 0x60, 0x30, 0x0, 0xc0, 0x30, 0x1, 0xc0, 0x30, 0x1, 0x80, 0x30, 0x3, 0x0, 0x30, 0x3, 0x0, 0x30, 0x6, 0x0, 0x30, 0xe, 0x0, 0x30, 0xc, 0x10, 0x30, 0x18, 0x30, 0x30, 0x18, 0x70, 0x30, 0x30, 0x70, 0xfc, 0x60, 0xf0, 0x0, 0x61, 0xb0, 0x0, 0xc1, 0x30, 0x1, 0xc2, 0x30, 0x1, 0x86, 0x30, 0x3, 0xc, 0x30, 0x3, 0x1f, 0xfc, 0x6, 0x0, 0x30, 0xc, 0x0, 0x30, 0xc, 0x0, 0x30} - -/* onehalf (189) */ -#define NXFONT_METRICS_189 {3, 23, 23, 1, 14, 0} -#define NXFONT_BITMAP_189 {0x30, 0x0, 0xc0, 0xf0, 0x0, 0xc0, 0x30, 0x1, 0x80, 0x30, 0x3, 0x80, 0x30, 0x3, 0x0, 0x30, 0x6, 0x0, 0x30, 0x6, 0x0, 0x30, 0xc, 0x0, 0x30, 0x1c, 0x0, 0x30, 0x18, 0xf0, 0x30, 0x31, 0x38, 0x30, 0x32, 0x1c, 0x30, 0x60, 0xc, 0xfc, 0xe0, 0xc, 0x0, 0xc0, 0x1c, 0x1, 0x80, 0x18, 0x3, 0x80, 0x30, 0x3, 0x0, 0x60, 0x6, 0x0, 0x40, 0x6, 0x0, 0x80, 0xc, 0x1, 0x2, 0x18, 0x3, 0xfc, 0x18, 0x3, 0xf8} - -/* threequarters (190) */ -#define NXFONT_METRICS_190 {3, 24, 23, 0, 14, 0} -#define NXFONT_BITMAP_190 {0x3e, 0x0, 0x18, 0x47, 0x0, 0x18, 0x83, 0x0, 0x30, 0x3, 0x0, 0x70, 0x3, 0x0, 0x60, 0x6, 0x0, 0xc0, 0x3c, 0x0, 0xc0, 0x7, 0x1, 0x80, 0x3, 0x83, 0x80, 0x1, 0x83, 0x4, 0x1, 0x86, 0xc, 0xc1, 0x86, 0x1c, 0xe3, 0xc, 0x1c, 0x7e, 0x18, 0x3c, 0x0, 0x18, 0x6c, 0x0, 0x30, 0x4c, 0x0, 0x70, 0x8c, 0x0, 0x61, 0x8c, 0x0, 0xc3, 0xc, 0x0, 0xc7, 0xff, 0x1, 0x80, 0xc, 0x3, 0x0, 0xc, 0x3, 0x0, 0xc} - -/* questiondown (191) */ -#define NXFONT_METRICS_191 {2, 11, 22, 1, 22, 0} -#define NXFONT_BITMAP_191 {0x6, 0x0, 0xf, 0x0, 0xf, 0x0, 0x6, 0x0, 0x0, 0x0, 0x2, 0x0, 0x2, 0x0, 0x6, 0x0, 0x4, 0x0, 0xc, 0x0, 0x18, 0x0, 0x38, 0x0, 0x30, 0x0, 0x70, 0x0, 0x70, 0x0, 0xe0, 0xc0, 0xe0, 0xe0, 0xe0, 0xe0, 0x70, 0x60, 0x70, 0x60, 0x39, 0xc0, 0x1f, 0x0} - -/* Agrave (192) */ -#define NXFONT_METRICS_192 {3, 22, 30, 1, 7, 0} -#define NXFONT_BITMAP_192 {0x6, 0x0, 0x0, 0x7, 0x0, 0x0, 0x3, 0x80, 0x0, 0x0, 0xc0, 0x0, 0x0, 0x60, 0x0, 0x0, 0x30, 0x0, 0x0, 0x0, 0x0, 0x0, 0x30, 0x0, 0x0, 0x30, 0x0, 0x0, 0x70, 0x0, 0x0, 0x78, 0x0, 0x0, 0x78, 0x0, 0x0, 0xfc, 0x0, 0x0, 0xdc, 0x0, 0x0, 0x9c, 0x0, 0x1, 0x8e, 0x0, 0x1, 0xe, 0x0, 0x3, 0xf, 0x0, 0x3, 0x7, 0x0, 0x2, 0x7, 0x0, 0x6, 0x7, 0x80, 0x6, 0x3, 0x80, 0xf, 0xff, 0xc0, 0xc, 0x3, 0xc0, 0x18, 0x1, 0xc0, 0x18, 0x1, 0xe0, 0x30, 0x1, 0xe0, 0x30, 0x0, 0xf0, 0x70, 0x0, 0xf0, 0xfc, 0x3, 0xfc} - -/* Aacute (193) */ -#define NXFONT_METRICS_193 {3, 22, 30, 1, 7, 0} -#define NXFONT_BITMAP_193 {0x0, 0x1, 0x80, 0x0, 0x3, 0x80, 0x0, 0x7, 0x0, 0x0, 0xc, 0x0, 0x0, 0x18, 0x0, 0x0, 0x30, 0x0, 0x0, 0x0, 0x0, 0x0, 0x30, 0x0, 0x0, 0x30, 0x0, 0x0, 0x70, 0x0, 0x0, 0x78, 0x0, 0x0, 0x78, 0x0, 0x0, 0xfc, 0x0, 0x0, 0xdc, 0x0, 0x0, 0x9c, 0x0, 0x1, 0x8e, 0x0, 0x1, 0xe, 0x0, 0x3, 0xf, 0x0, 0x3, 0x7, 0x0, 0x2, 0x7, 0x0, 0x6, 0x7, 0x80, 0x6, 0x3, 0x80, 0xf, 0xff, 0xc0, 0xc, 0x3, 0xc0, 0x18, 0x1, 0xc0, 0x18, 0x1, 0xe0, 0x30, 0x1, 0xe0, 0x30, 0x0, 0xf0, 0x70, 0x0, 0xf0, 0xfc, 0x3, 0xfc} - -/* Acircumflex (194) */ -#define NXFONT_METRICS_194 {3, 22, 30, 1, 7, 0} -#define NXFONT_BITMAP_194 {0x0, 0x30, 0x0, 0x0, 0x78, 0x0, 0x0, 0xfc, 0x0, 0x1, 0xce, 0x0, 0x3, 0x3, 0x0, 0x2, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x30, 0x0, 0x0, 0x30, 0x0, 0x0, 0x70, 0x0, 0x0, 0x78, 0x0, 0x0, 0x78, 0x0, 0x0, 0xfc, 0x0, 0x0, 0xdc, 0x0, 0x0, 0x9c, 0x0, 0x1, 0x8e, 0x0, 0x1, 0xe, 0x0, 0x3, 0xf, 0x0, 0x3, 0x7, 0x0, 0x2, 0x7, 0x0, 0x6, 0x7, 0x80, 0x6, 0x3, 0x80, 0xf, 0xff, 0xc0, 0xc, 0x3, 0xc0, 0x18, 0x1, 0xc0, 0x18, 0x1, 0xe0, 0x30, 0x1, 0xe0, 0x30, 0x0, 0xf0, 0x70, 0x0, 0xf0, 0xfc, 0x3, 0xfc} - -/* Atilde (195) */ -#define NXFONT_METRICS_195 {3, 22, 28, 1, 9, 0} -#define NXFONT_BITMAP_195 {0x0, 0xe0, 0x80, 0x1, 0xf9, 0x80, 0x3, 0x3f, 0x0, 0x2, 0xe, 0x0, 0x0, 0x0, 0x0, 0x0, 0x30, 0x0, 0x0, 0x30, 0x0, 0x0, 0x70, 0x0, 0x0, 0x78, 0x0, 0x0, 0x78, 0x0, 0x0, 0xfc, 0x0, 0x0, 0xdc, 0x0, 0x0, 0x9c, 0x0, 0x1, 0x8e, 0x0, 0x1, 0xe, 0x0, 0x3, 0xf, 0x0, 0x3, 0x7, 0x0, 0x2, 0x7, 0x0, 0x6, 0x7, 0x80, 0x6, 0x3, 0x80, 0xf, 0xff, 0xc0, 0xc, 0x3, 0xc0, 0x18, 0x1, 0xc0, 0x18, 0x1, 0xe0, 0x30, 0x1, 0xe0, 0x30, 0x0, 0xf0, 0x70, 0x0, 0xf0, 0xfc, 0x3, 0xfc} - -/* Adieresis (196) */ -#define NXFONT_METRICS_196 {3, 22, 28, 1, 9, 0} -#define NXFONT_BITMAP_196 {0x1, 0xc7, 0x0, 0x1, 0xc7, 0x0, 0x1, 0xc7, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x30, 0x0, 0x0, 0x30, 0x0, 0x0, 0x70, 0x0, 0x0, 0x78, 0x0, 0x0, 0x78, 0x0, 0x0, 0xfc, 0x0, 0x0, 0xdc, 0x0, 0x0, 0x9c, 0x0, 0x1, 0x8e, 0x0, 0x1, 0xe, 0x0, 0x3, 0xf, 0x0, 0x3, 0x7, 0x0, 0x2, 0x7, 0x0, 0x6, 0x7, 0x80, 0x6, 0x3, 0x80, 0xf, 0xff, 0xc0, 0xc, 0x3, 0xc0, 0x18, 0x1, 0xc0, 0x18, 0x1, 0xe0, 0x30, 0x1, 0xe0, 0x30, 0x0, 0xf0, 0x70, 0x0, 0xf0, 0xfc, 0x3, 0xfc} - -/* Aring (197) */ -#define NXFONT_METRICS_197 {3, 22, 30, 1, 7, 0} -#define NXFONT_BITMAP_197 {0x0, 0x70, 0x0, 0x0, 0xf8, 0x0, 0x1, 0x8c, 0x0, 0x1, 0x4, 0x0, 0x1, 0x8c, 0x0, 0x0, 0xf8, 0x0, 0x0, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x30, 0x0, 0x0, 0x30, 0x0, 0x0, 0x78, 0x0, 0x0, 0x78, 0x0, 0x0, 0xfc, 0x0, 0x0, 0xdc, 0x0, 0x0, 0x9c, 0x0, 0x1, 0x8e, 0x0, 0x1, 0xe, 0x0, 0x3, 0xf, 0x0, 0x3, 0x7, 0x0, 0x2, 0x7, 0x0, 0x6, 0x7, 0x80, 0x6, 0x3, 0x80, 0xf, 0xff, 0xc0, 0xc, 0x3, 0xc0, 0x18, 0x1, 0xc0, 0x18, 0x1, 0xe0, 0x30, 0x1, 0xe0, 0x30, 0x0, 0xf0, 0x70, 0x0, 0xf0, 0xfc, 0x3, 0xfc} - -/* AE (198) */ -#define NXFONT_METRICS_198 {4, 28, 23, 1, 14, 0} -#define NXFONT_BITMAP_198 {0x0, 0xff, 0xff, 0xe0, 0x0, 0x1f, 0x81, 0xe0, 0x0, 0x1f, 0x0, 0x60, 0x0, 0x37, 0x0, 0x20, 0x0, 0x37, 0x0, 0x20, 0x0, 0x67, 0x0, 0x0, 0x0, 0x67, 0x0, 0x0, 0x0, 0x47, 0x0, 0x80, 0x0, 0xc7, 0x0, 0x80, 0x0, 0xc7, 0x1, 0x80, 0x1, 0x87, 0x3, 0x80, 0x1, 0x87, 0xff, 0x80, 0x3, 0x7, 0x3, 0x80, 0x3, 0x7, 0x1, 0x80, 0x7, 0xff, 0x0, 0x80, 0x6, 0x7, 0x0, 0x80, 0xc, 0x7, 0x0, 0x0, 0xc, 0x7, 0x0, 0x10, 0x18, 0x7, 0x0, 0x10, 0x18, 0x7, 0x0, 0x30, 0x30, 0x7, 0x0, 0x60, 0x30, 0xf, 0x81, 0xe0, 0xfe, 0x3f, 0xff, 0xe0} - -/* Ccedilla (199) */ -#define NXFONT_METRICS_199 {3, 20, 30, 1, 14, 0} -#define NXFONT_BITMAP_199 {0x1, 0xff, 0x10, 0x7, 0x83, 0xf0, 0xe, 0x0, 0xf0, 0x1c, 0x0, 0x70, 0x38, 0x0, 0x30, 0x38, 0x0, 0x30, 0x70, 0x0, 0x10, 0x70, 0x0, 0x10, 0xf0, 0x0, 0x0, 0xf0, 0x0, 0x0, 0xf0, 0x0, 0x0, 0xf0, 0x0, 0x0, 0xf0, 0x0, 0x0, 0xf0, 0x0, 0x0, 0xf0, 0x0, 0x0, 0x70, 0x0, 0x0, 0x70, 0x0, 0x0, 0x38, 0x0, 0x0, 0x38, 0x0, 0x10, 0x1c, 0x0, 0x30, 0xe, 0x0, 0x60, 0x7, 0x83, 0xc0, 0x1, 0xff, 0x0, 0x0, 0x40, 0x0, 0x0, 0xc0, 0x0, 0x0, 0xf0, 0x0, 0x0, 0x38, 0x0, 0x0, 0x18, 0x0, 0x0, 0x38, 0x0, 0x1, 0xf0, 0x0} - -/* Egrave (200) */ -#define NXFONT_METRICS_200 {3, 19, 30, 1, 7, 0} -#define NXFONT_BITMAP_200 {0x3, 0x0, 0x0, 0x3, 0x80, 0x0, 0x1, 0xc0, 0x0, 0x0, 0x60, 0x0, 0x0, 0x30, 0x0, 0x0, 0x18, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0xc0, 0x3e, 0x3, 0xc0, 0x1c, 0x0, 0xc0, 0x1c, 0x0, 0x40, 0x1c, 0x0, 0x40, 0x1c, 0x0, 0x0, 0x1c, 0x0, 0x0, 0x1c, 0x0, 0x0, 0x1c, 0x1, 0x0, 0x1c, 0x1, 0x0, 0x1c, 0x3, 0x0, 0x1f, 0xff, 0x0, 0x1c, 0x3, 0x0, 0x1c, 0x1, 0x0, 0x1c, 0x1, 0x0, 0x1c, 0x0, 0x0, 0x1c, 0x0, 0x0, 0x1c, 0x0, 0x20, 0x1c, 0x0, 0x20, 0x1c, 0x0, 0x60, 0x1c, 0x0, 0xc0, 0x3e, 0x3, 0xc0, 0xff, 0xff, 0xc0} - -/* Eacute (201) */ -#define NXFONT_METRICS_201 {3, 19, 30, 1, 7, 0} -#define NXFONT_BITMAP_201 {0x0, 0x6, 0x0, 0x0, 0xe, 0x0, 0x0, 0x1c, 0x0, 0x0, 0x30, 0x0, 0x0, 0x60, 0x0, 0x0, 0xc0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0xc0, 0x3e, 0x3, 0xc0, 0x1c, 0x0, 0xc0, 0x1c, 0x0, 0x40, 0x1c, 0x0, 0x40, 0x1c, 0x0, 0x0, 0x1c, 0x0, 0x0, 0x1c, 0x0, 0x0, 0x1c, 0x1, 0x0, 0x1c, 0x1, 0x0, 0x1c, 0x3, 0x0, 0x1f, 0xff, 0x0, 0x1c, 0x3, 0x0, 0x1c, 0x1, 0x0, 0x1c, 0x1, 0x0, 0x1c, 0x0, 0x0, 0x1c, 0x0, 0x0, 0x1c, 0x0, 0x20, 0x1c, 0x0, 0x20, 0x1c, 0x0, 0x60, 0x1c, 0x0, 0xc0, 0x3e, 0x3, 0xc0, 0xff, 0xff, 0xc0} - -/* Ecircumflex (202) */ -#define NXFONT_METRICS_202 {3, 19, 30, 1, 7, 0} -#define NXFONT_BITMAP_202 {0x0, 0x30, 0x0, 0x0, 0x78, 0x0, 0x0, 0xfc, 0x0, 0x1, 0xce, 0x0, 0x3, 0x3, 0x0, 0x2, 0x1, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0xc0, 0x3e, 0x3, 0xc0, 0x1c, 0x0, 0xc0, 0x1c, 0x0, 0x40, 0x1c, 0x0, 0x40, 0x1c, 0x0, 0x0, 0x1c, 0x0, 0x0, 0x1c, 0x0, 0x0, 0x1c, 0x1, 0x0, 0x1c, 0x1, 0x0, 0x1c, 0x3, 0x0, 0x1f, 0xff, 0x0, 0x1c, 0x3, 0x0, 0x1c, 0x1, 0x0, 0x1c, 0x1, 0x0, 0x1c, 0x0, 0x0, 0x1c, 0x0, 0x0, 0x1c, 0x0, 0x20, 0x1c, 0x0, 0x20, 0x1c, 0x0, 0x60, 0x1c, 0x0, 0xc0, 0x3e, 0x3, 0xc0, 0xff, 0xff, 0xc0} - -/* Edieresis (203) */ -#define NXFONT_METRICS_203 {3, 19, 28, 1, 9, 0} -#define NXFONT_BITMAP_203 {0x3, 0x8e, 0x0, 0x3, 0x8e, 0x0, 0x3, 0x8e, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0xc0, 0x3e, 0x3, 0xc0, 0x1c, 0x0, 0xc0, 0x1c, 0x0, 0x40, 0x1c, 0x0, 0x40, 0x1c, 0x0, 0x0, 0x1c, 0x0, 0x0, 0x1c, 0x0, 0x0, 0x1c, 0x1, 0x0, 0x1c, 0x1, 0x0, 0x1c, 0x3, 0x0, 0x1f, 0xff, 0x0, 0x1c, 0x3, 0x0, 0x1c, 0x1, 0x0, 0x1c, 0x1, 0x0, 0x1c, 0x0, 0x0, 0x1c, 0x0, 0x0, 0x1c, 0x0, 0x20, 0x1c, 0x0, 0x20, 0x1c, 0x0, 0x60, 0x1c, 0x0, 0xc0, 0x3e, 0x3, 0xc0, 0xff, 0xff, 0xc0} - -/* Igrave (204) */ -#define NXFONT_METRICS_204 {2, 9, 30, 1, 7, 0} -#define NXFONT_BITMAP_204 {0x60, 0x0, 0x70, 0x0, 0x38, 0x0, 0xc, 0x0, 0x6, 0x0, 0x3, 0x0, 0x0, 0x0, 0xff, 0x80, 0x3e, 0x0, 0x1c, 0x0, 0x1c, 0x0, 0x1c, 0x0, 0x1c, 0x0, 0x1c, 0x0, 0x1c, 0x0, 0x1c, 0x0, 0x1c, 0x0, 0x1c, 0x0, 0x1c, 0x0, 0x1c, 0x0, 0x1c, 0x0, 0x1c, 0x0, 0x1c, 0x0, 0x1c, 0x0, 0x1c, 0x0, 0x1c, 0x0, 0x1c, 0x0, 0x1c, 0x0, 0x3e, 0x0, 0xff, 0x80} - -/* Iacute (205) */ -#define NXFONT_METRICS_205 {2, 9, 30, 1, 7, 0} -#define NXFONT_BITMAP_205 {0x1, 0x80, 0x3, 0x80, 0x7, 0x0, 0xc, 0x0, 0x18, 0x0, 0x30, 0x0, 0x0, 0x0, 0xff, 0x80, 0x3e, 0x0, 0x1c, 0x0, 0x1c, 0x0, 0x1c, 0x0, 0x1c, 0x0, 0x1c, 0x0, 0x1c, 0x0, 0x1c, 0x0, 0x1c, 0x0, 0x1c, 0x0, 0x1c, 0x0, 0x1c, 0x0, 0x1c, 0x0, 0x1c, 0x0, 0x1c, 0x0, 0x1c, 0x0, 0x1c, 0x0, 0x1c, 0x0, 0x1c, 0x0, 0x1c, 0x0, 0x3e, 0x0, 0xff, 0x80} - -/* Icircumflex (206) */ -#define NXFONT_METRICS_206 {2, 10, 30, 1, 7, 0} -#define NXFONT_BITMAP_206 {0xc, 0x0, 0x1e, 0x0, 0x3f, 0x0, 0x73, 0x80, 0xc0, 0xc0, 0x80, 0x40, 0x0, 0x0, 0xff, 0x80, 0x3e, 0x0, 0x1c, 0x0, 0x1c, 0x0, 0x1c, 0x0, 0x1c, 0x0, 0x1c, 0x0, 0x1c, 0x0, 0x1c, 0x0, 0x1c, 0x0, 0x1c, 0x0, 0x1c, 0x0, 0x1c, 0x0, 0x1c, 0x0, 0x1c, 0x0, 0x1c, 0x0, 0x1c, 0x0, 0x1c, 0x0, 0x1c, 0x0, 0x1c, 0x0, 0x1c, 0x0, 0x3e, 0x0, 0xff, 0x80} - -/* Idieresis (207) */ -#define NXFONT_METRICS_207 {2, 9, 28, 1, 9, 0} -#define NXFONT_BITMAP_207 {0xe3, 0x80, 0xe3, 0x80, 0xe3, 0x80, 0x0, 0x0, 0x0, 0x0, 0xff, 0x80, 0x3e, 0x0, 0x1c, 0x0, 0x1c, 0x0, 0x1c, 0x0, 0x1c, 0x0, 0x1c, 0x0, 0x1c, 0x0, 0x1c, 0x0, 0x1c, 0x0, 0x1c, 0x0, 0x1c, 0x0, 0x1c, 0x0, 0x1c, 0x0, 0x1c, 0x0, 0x1c, 0x0, 0x1c, 0x0, 0x1c, 0x0, 0x1c, 0x0, 0x1c, 0x0, 0x1c, 0x0, 0x3e, 0x0, 0xff, 0x80} - -/* Eth (208) */ -#define NXFONT_METRICS_208 {3, 22, 23, 1, 14, 0} -#define NXFONT_BITMAP_208 {0xff, 0xfe, 0x0, 0x3e, 0x7, 0x80, 0x1c, 0x1, 0xc0, 0x1c, 0x0, 0xe0, 0x1c, 0x0, 0x70, 0x1c, 0x0, 0x70, 0x1c, 0x0, 0x38, 0x1c, 0x0, 0x38, 0x1c, 0x0, 0x3c, 0x1c, 0x0, 0x3c, 0x1c, 0x0, 0x3c, 0xff, 0xc0, 0x3c, 0xff, 0xc0, 0x3c, 0x1c, 0x0, 0x3c, 0x1c, 0x0, 0x3c, 0x1c, 0x0, 0x38, 0x1c, 0x0, 0x38, 0x1c, 0x0, 0x70, 0x1c, 0x0, 0x70, 0x1c, 0x0, 0xe0, 0x1c, 0x1, 0xc0, 0x3e, 0x7, 0x80, 0xff, 0xfe, 0x0} - -/* Ntilde (209) */ -#define NXFONT_METRICS_209 {3, 22, 29, 1, 8, 0} -#define NXFONT_BITMAP_209 {0x0, 0xe0, 0x80, 0x1, 0xf9, 0x80, 0x3, 0x3f, 0x0, 0x2, 0xe, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x1, 0xfc, 0x3c, 0x0, 0x70, 0x1e, 0x0, 0x20, 0x1f, 0x0, 0x20, 0x1f, 0x0, 0x20, 0x17, 0x80, 0x20, 0x13, 0xc0, 0x20, 0x13, 0xc0, 0x20, 0x11, 0xe0, 0x20, 0x10, 0xf0, 0x20, 0x10, 0xf8, 0x20, 0x10, 0x78, 0x20, 0x10, 0x3c, 0x20, 0x10, 0x1e, 0x20, 0x10, 0x1f, 0x20, 0x10, 0xf, 0x20, 0x10, 0x7, 0xa0, 0x10, 0x3, 0xe0, 0x10, 0x1, 0xe0, 0x10, 0x1, 0xe0, 0x10, 0x0, 0xe0, 0x38, 0x0, 0x60, 0xfe, 0x0, 0x20} - -/* Ograve (210) */ -#define NXFONT_METRICS_210 {3, 22, 30, 1, 7, 0} -#define NXFONT_BITMAP_210 {0x3, 0x0, 0x0, 0x3, 0x80, 0x0, 0x1, 0xc0, 0x0, 0x0, 0x60, 0x0, 0x0, 0x30, 0x0, 0x0, 0x18, 0x0, 0x0, 0x0, 0x0, 0x1, 0xfe, 0x0, 0x7, 0x87, 0x80, 0xe, 0x1, 0xc0, 0x1c, 0x0, 0xe0, 0x38, 0x0, 0x70, 0x38, 0x0, 0x70, 0x70, 0x0, 0x38, 0x70, 0x0, 0x38, 0xf0, 0x0, 0x3c, 0xf0, 0x0, 0x3c, 0xf0, 0x0, 0x3c, 0xf0, 0x0, 0x3c, 0xf0, 0x0, 0x3c, 0xf0, 0x0, 0x3c, 0xf0, 0x0, 0x3c, 0x70, 0x0, 0x38, 0x70, 0x0, 0x38, 0x38, 0x0, 0x70, 0x38, 0x0, 0x70, 0x1c, 0x0, 0xe0, 0xe, 0x1, 0xc0, 0x7, 0x87, 0x80, 0x1, 0xfe, 0x0} - -/* Oacute (211) */ -#define NXFONT_METRICS_211 {3, 22, 30, 1, 7, 0} -#define NXFONT_BITMAP_211 {0x0, 0x1, 0x80, 0x0, 0x3, 0x80, 0x0, 0x7, 0x0, 0x0, 0xc, 0x0, 0x0, 0x18, 0x0, 0x0, 0x30, 0x0, 0x0, 0x0, 0x0, 0x1, 0xfe, 0x0, 0x7, 0x87, 0x80, 0xe, 0x1, 0xc0, 0x1c, 0x0, 0xe0, 0x38, 0x0, 0x70, 0x38, 0x0, 0x70, 0x70, 0x0, 0x38, 0x70, 0x0, 0x38, 0xf0, 0x0, 0x3c, 0xf0, 0x0, 0x3c, 0xf0, 0x0, 0x3c, 0xf0, 0x0, 0x3c, 0xf0, 0x0, 0x3c, 0xf0, 0x0, 0x3c, 0xf0, 0x0, 0x3c, 0x70, 0x0, 0x38, 0x70, 0x0, 0x38, 0x38, 0x0, 0x70, 0x38, 0x0, 0x70, 0x1c, 0x0, 0xe0, 0xe, 0x1, 0xc0, 0x7, 0x87, 0x80, 0x1, 0xfe, 0x0} - -/* Ocircumflex (212) */ -#define NXFONT_METRICS_212 {3, 22, 30, 1, 7, 0} -#define NXFONT_BITMAP_212 {0x0, 0x30, 0x0, 0x0, 0x78, 0x0, 0x0, 0xfc, 0x0, 0x1, 0xce, 0x0, 0x3, 0x3, 0x0, 0x2, 0x1, 0x0, 0x0, 0x0, 0x0, 0x1, 0xfe, 0x0, 0x7, 0x87, 0x80, 0xe, 0x1, 0xc0, 0x1c, 0x0, 0xe0, 0x38, 0x0, 0x70, 0x38, 0x0, 0x70, 0x70, 0x0, 0x38, 0x70, 0x0, 0x38, 0xf0, 0x0, 0x3c, 0xf0, 0x0, 0x3c, 0xf0, 0x0, 0x3c, 0xf0, 0x0, 0x3c, 0xf0, 0x0, 0x3c, 0xf0, 0x0, 0x3c, 0xf0, 0x0, 0x3c, 0x70, 0x0, 0x38, 0x70, 0x0, 0x38, 0x38, 0x0, 0x70, 0x38, 0x0, 0x70, 0x1c, 0x0, 0xe0, 0xe, 0x1, 0xc0, 0x7, 0x87, 0x80, 0x1, 0xfe, 0x0} - -/* Otilde (213) */ -#define NXFONT_METRICS_213 {3, 22, 28, 1, 9, 0} -#define NXFONT_BITMAP_213 {0x0, 0xe0, 0x80, 0x1, 0xf9, 0x80, 0x3, 0x3f, 0x0, 0x2, 0xe, 0x0, 0x0, 0x0, 0x0, 0x1, 0xfe, 0x0, 0x7, 0x87, 0x80, 0xe, 0x1, 0xc0, 0x1c, 0x0, 0xe0, 0x38, 0x0, 0x70, 0x38, 0x0, 0x70, 0x70, 0x0, 0x38, 0x70, 0x0, 0x38, 0xf0, 0x0, 0x3c, 0xf0, 0x0, 0x3c, 0xf0, 0x0, 0x3c, 0xf0, 0x0, 0x3c, 0xf0, 0x0, 0x3c, 0xf0, 0x0, 0x3c, 0xf0, 0x0, 0x3c, 0x70, 0x0, 0x38, 0x70, 0x0, 0x38, 0x38, 0x0, 0x70, 0x38, 0x0, 0x70, 0x1c, 0x0, 0xe0, 0xe, 0x1, 0xc0, 0x7, 0x87, 0x80, 0x1, 0xfe, 0x0} - -/* Odieresis (214) */ -#define NXFONT_METRICS_214 {3, 22, 28, 1, 9, 0} -#define NXFONT_BITMAP_214 {0x1, 0xc7, 0x0, 0x1, 0xc7, 0x0, 0x1, 0xc7, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0xfe, 0x0, 0x7, 0x87, 0x80, 0xe, 0x1, 0xc0, 0x1c, 0x0, 0xe0, 0x38, 0x0, 0x70, 0x38, 0x0, 0x70, 0x70, 0x0, 0x38, 0x70, 0x0, 0x38, 0xf0, 0x0, 0x3c, 0xf0, 0x0, 0x3c, 0xf0, 0x0, 0x3c, 0xf0, 0x0, 0x3c, 0xf0, 0x0, 0x3c, 0xf0, 0x0, 0x3c, 0xf0, 0x0, 0x3c, 0x70, 0x0, 0x38, 0x70, 0x0, 0x38, 0x38, 0x0, 0x70, 0x38, 0x0, 0x70, 0x1c, 0x0, 0xe0, 0xe, 0x1, 0xc0, 0x7, 0x87, 0x80, 0x1, 0xfe, 0x0} - -/* multiply (215) */ -#define NXFONT_METRICS_215 {2, 16, 16, 1, 21, 0} -#define NXFONT_BITMAP_215 {0x40, 0x2, 0xe0, 0x7, 0x70, 0xe, 0x38, 0x1c, 0x1c, 0x38, 0xe, 0x70, 0x7, 0xe0, 0x3, 0xc0, 0x3, 0xc0, 0x7, 0xe0, 0xe, 0x70, 0x1c, 0x38, 0x38, 0x1c, 0x70, 0xe, 0xe0, 0x7, 0x40, 0x2} - -/* Oslash (216) */ -#define NXFONT_METRICS_216 {3, 22, 27, 1, 12, 0} -#define NXFONT_BITMAP_216 {0x0, 0x0, 0x10, 0x0, 0x0, 0x30, 0x1, 0xfe, 0x60, 0x7, 0x87, 0xc0, 0xe, 0x1, 0xc0, 0x1c, 0x1, 0xe0, 0x38, 0x3, 0x70, 0x38, 0x2, 0x70, 0x70, 0x6, 0x38, 0x70, 0xc, 0x38, 0xf0, 0x8, 0x3c, 0xf0, 0x18, 0x3c, 0xf0, 0x30, 0x3c, 0xf0, 0x60, 0x3c, 0xf0, 0x40, 0x3c, 0xf0, 0xc0, 0x3c, 0xf0, 0x80, 0x3c, 0x71, 0x80, 0x38, 0x73, 0x0, 0x38, 0x3a, 0x0, 0x70, 0x3e, 0x0, 0x70, 0x1c, 0x0, 0xe0, 0x1e, 0x1, 0xc0, 0x37, 0x87, 0x80, 0x21, 0xfe, 0x0, 0x60, 0x0, 0x0, 0x40, 0x0, 0x0} - -/* Ugrave (217) */ -#define NXFONT_METRICS_217 {3, 22, 30, 1, 7, 0} -#define NXFONT_BITMAP_217 {0x0, 0xc0, 0x0, 0x0, 0xe0, 0x0, 0x0, 0x70, 0x0, 0x0, 0x18, 0x0, 0x0, 0xc, 0x0, 0x0, 0x6, 0x0, 0x0, 0x0, 0x0, 0xff, 0x81, 0xfc, 0x3e, 0x0, 0x70, 0x1c, 0x0, 0x20, 0x1c, 0x0, 0x20, 0x1c, 0x0, 0x20, 0x1c, 0x0, 0x20, 0x1c, 0x0, 0x20, 0x1c, 0x0, 0x20, 0x1c, 0x0, 0x20, 0x1c, 0x0, 0x20, 0x1c, 0x0, 0x20, 0x1c, 0x0, 0x20, 0x1c, 0x0, 0x20, 0x1c, 0x0, 0x20, 0x1c, 0x0, 0x20, 0x1c, 0x0, 0x20, 0x1c, 0x0, 0x20, 0x1c, 0x0, 0x60, 0x1e, 0x0, 0x60, 0xe, 0x0, 0x40, 0xf, 0x0, 0xc0, 0x7, 0xc3, 0x80, 0x1, 0xfe, 0x0} - -/* Uacute (218) */ -#define NXFONT_METRICS_218 {3, 22, 30, 1, 7, 0} -#define NXFONT_BITMAP_218 {0x0, 0x1, 0x80, 0x0, 0x3, 0x80, 0x0, 0x7, 0x0, 0x0, 0xc, 0x0, 0x0, 0x18, 0x0, 0x0, 0x30, 0x0, 0x0, 0x0, 0x0, 0xff, 0x81, 0xfc, 0x3e, 0x0, 0x70, 0x1c, 0x0, 0x20, 0x1c, 0x0, 0x20, 0x1c, 0x0, 0x20, 0x1c, 0x0, 0x20, 0x1c, 0x0, 0x20, 0x1c, 0x0, 0x20, 0x1c, 0x0, 0x20, 0x1c, 0x0, 0x20, 0x1c, 0x0, 0x20, 0x1c, 0x0, 0x20, 0x1c, 0x0, 0x20, 0x1c, 0x0, 0x20, 0x1c, 0x0, 0x20, 0x1c, 0x0, 0x20, 0x1c, 0x0, 0x20, 0x1c, 0x0, 0x60, 0x1e, 0x0, 0x60, 0xe, 0x0, 0x40, 0xf, 0x0, 0xc0, 0x7, 0xc3, 0x80, 0x1, 0xfe, 0x0} - -/* Ucircumflex (219) */ -#define NXFONT_METRICS_219 {3, 22, 30, 1, 7, 0} -#define NXFONT_BITMAP_219 {0x0, 0x18, 0x0, 0x0, 0x3c, 0x0, 0x0, 0x7e, 0x0, 0x0, 0xe7, 0x0, 0x1, 0x81, 0x80, 0x1, 0x0, 0x80, 0x0, 0x0, 0x0, 0xff, 0x81, 0xfc, 0x3e, 0x0, 0x70, 0x1c, 0x0, 0x20, 0x1c, 0x0, 0x20, 0x1c, 0x0, 0x20, 0x1c, 0x0, 0x20, 0x1c, 0x0, 0x20, 0x1c, 0x0, 0x20, 0x1c, 0x0, 0x20, 0x1c, 0x0, 0x20, 0x1c, 0x0, 0x20, 0x1c, 0x0, 0x20, 0x1c, 0x0, 0x20, 0x1c, 0x0, 0x20, 0x1c, 0x0, 0x20, 0x1c, 0x0, 0x20, 0x1c, 0x0, 0x20, 0x1c, 0x0, 0x60, 0x1e, 0x0, 0x60, 0xe, 0x0, 0x40, 0xf, 0x0, 0xc0, 0x7, 0xc3, 0x80, 0x1, 0xfe, 0x0} - -/* Udieresis (220) */ -#define NXFONT_METRICS_220 {3, 22, 28, 1, 9, 0} -#define NXFONT_BITMAP_220 {0x1, 0xc7, 0x0, 0x1, 0xc7, 0x0, 0x1, 0xc7, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0x81, 0xfc, 0x3e, 0x0, 0x70, 0x1c, 0x0, 0x20, 0x1c, 0x0, 0x20, 0x1c, 0x0, 0x20, 0x1c, 0x0, 0x20, 0x1c, 0x0, 0x20, 0x1c, 0x0, 0x20, 0x1c, 0x0, 0x20, 0x1c, 0x0, 0x20, 0x1c, 0x0, 0x20, 0x1c, 0x0, 0x20, 0x1c, 0x0, 0x20, 0x1c, 0x0, 0x20, 0x1c, 0x0, 0x20, 0x1c, 0x0, 0x20, 0x1c, 0x0, 0x20, 0x1c, 0x0, 0x60, 0x1e, 0x0, 0x60, 0xe, 0x0, 0x40, 0xf, 0x0, 0xc0, 0x7, 0xc3, 0x80, 0x1, 0xfe, 0x0} - -/* Yacute (221) */ -#define NXFONT_METRICS_221 {3, 22, 30, 1, 7, 0} -#define NXFONT_BITMAP_221 {0x0, 0x0, 0xc0, 0x0, 0x1, 0xc0, 0x0, 0x3, 0x80, 0x0, 0x6, 0x0, 0x0, 0xc, 0x0, 0x0, 0x18, 0x0, 0x0, 0x0, 0x0, 0xff, 0xc0, 0xfc, 0x3f, 0x0, 0x38, 0x1e, 0x0, 0x30, 0xf, 0x0, 0x60, 0xf, 0x80, 0xc0, 0x7, 0x80, 0x80, 0x3, 0xc1, 0x80, 0x3, 0xc3, 0x0, 0x1, 0xe3, 0x0, 0x0, 0xf6, 0x0, 0x0, 0xfc, 0x0, 0x0, 0x7c, 0x0, 0x0, 0x38, 0x0, 0x0, 0x38, 0x0, 0x0, 0x38, 0x0, 0x0, 0x38, 0x0, 0x0, 0x38, 0x0, 0x0, 0x38, 0x0, 0x0, 0x38, 0x0, 0x0, 0x38, 0x0, 0x0, 0x38, 0x0, 0x0, 0x7c, 0x0, 0x1, 0xff, 0x0} - -/* Thorn (222) */ -#define NXFONT_METRICS_222 {3, 18, 23, 1, 14, 0} -#define NXFONT_BITMAP_222 {0xff, 0x80, 0x0, 0x3e, 0x0, 0x0, 0x1c, 0x0, 0x0, 0x1c, 0x0, 0x0, 0x1c, 0x0, 0x0, 0x1f, 0xfc, 0x0, 0x1c, 0x1f, 0x0, 0x1c, 0x7, 0x80, 0x1c, 0x3, 0x80, 0x1c, 0x3, 0xc0, 0x1c, 0x1, 0xc0, 0x1c, 0x1, 0xc0, 0x1c, 0x1, 0xc0, 0x1c, 0x3, 0xc0, 0x1c, 0x3, 0x80, 0x1c, 0x7, 0x80, 0x1c, 0x1f, 0x0, 0x1f, 0xfc, 0x0, 0x1c, 0x0, 0x0, 0x1c, 0x0, 0x0, 0x1c, 0x0, 0x0, 0x3e, 0x0, 0x0, 0xff, 0x80, 0x0} - -/* germandbls (223) */ -#define NXFONT_METRICS_223 {2, 15, 23, 1, 14, 0} -#define NXFONT_BITMAP_223 {0x7, 0xc0, 0xc, 0x70, 0x18, 0x38, 0x18, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x30, 0x38, 0x60, 0x39, 0xc0, 0x38, 0x78, 0x38, 0x1c, 0x38, 0x1e, 0x38, 0xe, 0x38, 0xe, 0x38, 0xe, 0x38, 0xe, 0x38, 0xe, 0x3b, 0xc, 0x3b, 0x9c, 0x3b, 0x98, 0xf9, 0xf0} - -/* agrave (224) */ -#define NXFONT_METRICS_224 {2, 13, 23, 1, 14, 0} -#define NXFONT_BITMAP_224 {0x18, 0x0, 0x1c, 0x0, 0xe, 0x0, 0x3, 0x0, 0x1, 0x80, 0x0, 0xc0, 0x0, 0x0, 0x0, 0x0, 0x1f, 0x80, 0x31, 0xc0, 0x70, 0xe0, 0x70, 0xe0, 0x60, 0xe0, 0x3, 0xe0, 0xe, 0xe0, 0x18, 0xe0, 0x30, 0xe0, 0x60, 0xe0, 0xe0, 0xe0, 0xe1, 0xe0, 0xf2, 0xe8, 0x7e, 0xf8, 0x3c, 0x70} - -/* aacute (225) */ -#define NXFONT_METRICS_225 {2, 13, 23, 1, 14, 0} -#define NXFONT_BITMAP_225 {0x0, 0xc0, 0x1, 0xc0, 0x3, 0x80, 0x6, 0x0, 0xc, 0x0, 0x18, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1f, 0x80, 0x31, 0xc0, 0x70, 0xe0, 0x70, 0xe0, 0x60, 0xe0, 0x3, 0xe0, 0xe, 0xe0, 0x18, 0xe0, 0x30, 0xe0, 0x60, 0xe0, 0xe0, 0xe0, 0xe1, 0xe0, 0xf2, 0xe8, 0x7e, 0xf8, 0x3c, 0x70} - -/* acircumflex (226) */ -#define NXFONT_METRICS_226 {2, 13, 23, 1, 14, 0} -#define NXFONT_BITMAP_226 {0x6, 0x0, 0xf, 0x0, 0x1f, 0x80, 0x39, 0xc0, 0x60, 0x60, 0x40, 0x20, 0x0, 0x0, 0x0, 0x0, 0x1f, 0x80, 0x31, 0xc0, 0x70, 0xe0, 0x70, 0xe0, 0x60, 0xe0, 0x3, 0xe0, 0xe, 0xe0, 0x18, 0xe0, 0x30, 0xe0, 0x60, 0xe0, 0xe0, 0xe0, 0xe1, 0xe0, 0xf2, 0xe8, 0x7e, 0xf8, 0x3c, 0x70} - -/* atilde (227) */ -#define NXFONT_METRICS_227 {2, 13, 21, 1, 16, 0} -#define NXFONT_BITMAP_227 {0x1c, 0x10, 0x3e, 0x30, 0x63, 0xe0, 0x41, 0xc0, 0x0, 0x0, 0x0, 0x0, 0x1f, 0x80, 0x31, 0xc0, 0x70, 0xe0, 0x70, 0xe0, 0x60, 0xe0, 0x3, 0xe0, 0xe, 0xe0, 0x18, 0xe0, 0x30, 0xe0, 0x60, 0xe0, 0xe0, 0xe0, 0xe1, 0xe0, 0xf2, 0xe8, 0x7e, 0xf8, 0x3c, 0x70} - -/* adieresis (228) */ -#define NXFONT_METRICS_228 {2, 13, 21, 1, 16, 0} -#define NXFONT_BITMAP_228 {0x38, 0xe0, 0x38, 0xe0, 0x38, 0xe0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1f, 0x80, 0x31, 0xc0, 0x70, 0xe0, 0x70, 0xe0, 0x60, 0xe0, 0x3, 0xe0, 0xe, 0xe0, 0x18, 0xe0, 0x30, 0xe0, 0x60, 0xe0, 0xe0, 0xe0, 0xe1, 0xe0, 0xf2, 0xe8, 0x7e, 0xf8, 0x3c, 0x70} - -/* aring (229) */ -#define NXFONT_METRICS_229 {2, 13, 23, 1, 14, 0} -#define NXFONT_BITMAP_229 {0x7, 0x0, 0xf, 0x80, 0x18, 0xc0, 0x10, 0x40, 0x18, 0xc0, 0xf, 0x80, 0x7, 0x0, 0x0, 0x0, 0x1f, 0x80, 0x31, 0xc0, 0x70, 0xe0, 0x70, 0xe0, 0x60, 0xe0, 0x3, 0xe0, 0xe, 0xe0, 0x18, 0xe0, 0x30, 0xe0, 0x60, 0xe0, 0xe0, 0xe0, 0xe1, 0xe0, 0xf2, 0xe8, 0x7e, 0xf8, 0x3c, 0x70} - -/* ae (230) */ -#define NXFONT_METRICS_230 {3, 19, 15, 1, 22, 0} -#define NXFONT_BITMAP_230 {0x1f, 0x9f, 0x0, 0x31, 0xf9, 0xc0, 0x70, 0xe0, 0xc0, 0x70, 0xe0, 0xe0, 0x60, 0xe0, 0xe0, 0x3, 0xff, 0xe0, 0xe, 0xe0, 0x0, 0x18, 0xe0, 0x0, 0x30, 0xe0, 0x0, 0x60, 0xe0, 0x0, 0xe0, 0xe0, 0x20, 0xe1, 0xf0, 0x60, 0xf3, 0x78, 0xc0, 0x7e, 0x3f, 0x80, 0x3c, 0x1f, 0x0} - -/* ccedilla (231) */ -#define NXFONT_METRICS_231 {2, 12, 22, 1, 22, 0} -#define NXFONT_BITMAP_231 {0xf, 0x80, 0x38, 0xc0, 0x70, 0xe0, 0x60, 0xe0, 0xe0, 0x60, 0xc0, 0x0, 0xc0, 0x0, 0xc0, 0x0, 0xc0, 0x0, 0xe0, 0x0, 0xe0, 0x10, 0x70, 0x30, 0x7c, 0x60, 0x3f, 0xc0, 0xf, 0x0, 0x4, 0x0, 0xc, 0x0, 0xf, 0x0, 0x3, 0x80, 0x1, 0x80, 0x3, 0x80, 0x1f, 0x0} - -/* egrave (232) */ -#define NXFONT_METRICS_232 {2, 12, 23, 1, 14, 0} -#define NXFONT_BITMAP_232 {0x30, 0x0, 0x38, 0x0, 0x1c, 0x0, 0x6, 0x0, 0x3, 0x0, 0x1, 0x80, 0x0, 0x0, 0x0, 0x0, 0xf, 0x80, 0x39, 0xc0, 0x60, 0xe0, 0x60, 0x70, 0xc0, 0x70, 0xff, 0xf0, 0xc0, 0x0, 0xc0, 0x0, 0xc0, 0x0, 0xe0, 0x0, 0xe0, 0x10, 0x70, 0x30, 0x7c, 0x60, 0x3f, 0xc0, 0xf, 0x0} - -/* eacute (233) */ -#define NXFONT_METRICS_233 {2, 12, 23, 1, 14, 0} -#define NXFONT_BITMAP_233 {0x1, 0x80, 0x3, 0x80, 0x7, 0x0, 0xc, 0x0, 0x18, 0x0, 0x30, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf, 0x80, 0x39, 0xc0, 0x60, 0xe0, 0x60, 0x70, 0xc0, 0x70, 0xff, 0xf0, 0xc0, 0x0, 0xc0, 0x0, 0xc0, 0x0, 0xe0, 0x0, 0xe0, 0x10, 0x70, 0x30, 0x7c, 0x60, 0x3f, 0xc0, 0xf, 0x0} - -/* ecircumflex (234) */ -#define NXFONT_METRICS_234 {2, 12, 23, 1, 14, 0} -#define NXFONT_BITMAP_234 {0x6, 0x0, 0xf, 0x0, 0x1f, 0x80, 0x39, 0xc0, 0x60, 0x60, 0x40, 0x20, 0x0, 0x0, 0x0, 0x0, 0xf, 0x80, 0x39, 0xc0, 0x60, 0xe0, 0x60, 0x70, 0xc0, 0x70, 0xff, 0xf0, 0xc0, 0x0, 0xc0, 0x0, 0xc0, 0x0, 0xe0, 0x0, 0xe0, 0x10, 0x70, 0x30, 0x7c, 0x60, 0x3f, 0xc0, 0xf, 0x0} - -/* edieresis (235) */ -#define NXFONT_METRICS_235 {2, 12, 21, 1, 16, 0} -#define NXFONT_BITMAP_235 {0x38, 0xe0, 0x38, 0xe0, 0x38, 0xe0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf, 0x80, 0x39, 0xc0, 0x60, 0xe0, 0x60, 0x70, 0xc0, 0x70, 0xff, 0xf0, 0xc0, 0x0, 0xc0, 0x0, 0xc0, 0x0, 0xe0, 0x0, 0xe0, 0x10, 0x70, 0x30, 0x7c, 0x60, 0x3f, 0xc0, 0xf, 0x0} - -/* igrave (236) */ -#define NXFONT_METRICS_236 {1, 7, 23, 1, 14, 0} -#define NXFONT_BITMAP_236 {0xc0, 0xe0, 0x70, 0x18, 0xc, 0x6, 0x0, 0x0, 0x18, 0xf8, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0xfe} - -/* iacute (237) */ -#define NXFONT_METRICS_237 {1, 7, 23, 1, 14, 0} -#define NXFONT_BITMAP_237 {0x6, 0xe, 0x1c, 0x30, 0x60, 0xc0, 0x0, 0x0, 0x18, 0xf8, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0xfe} - -/* icircumflex (238) */ -#define NXFONT_METRICS_238 {2, 10, 23, 0, 14, 0} -#define NXFONT_BITMAP_238 {0xc, 0x0, 0x1e, 0x0, 0x3f, 0x0, 0x73, 0x80, 0xc0, 0xc0, 0x80, 0x40, 0x0, 0x0, 0x0, 0x0, 0xc, 0x0, 0x7c, 0x0, 0x1c, 0x0, 0x1c, 0x0, 0x1c, 0x0, 0x1c, 0x0, 0x1c, 0x0, 0x1c, 0x0, 0x1c, 0x0, 0x1c, 0x0, 0x1c, 0x0, 0x1c, 0x0, 0x1c, 0x0, 0x1c, 0x0, 0x7f, 0x0} - -/* idieresis (239) */ -#define NXFONT_METRICS_239 {2, 9, 21, 0, 16, 0} -#define NXFONT_BITMAP_239 {0xe3, 0x80, 0xe3, 0x80, 0xe3, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xc, 0x0, 0x7c, 0x0, 0x1c, 0x0, 0x1c, 0x0, 0x1c, 0x0, 0x1c, 0x0, 0x1c, 0x0, 0x1c, 0x0, 0x1c, 0x0, 0x1c, 0x0, 0x1c, 0x0, 0x1c, 0x0, 0x1c, 0x0, 0x1c, 0x0, 0x7f, 0x0} - -/* eth (240) */ -#define NXFONT_METRICS_240 {2, 14, 23, 1, 14, 0} -#define NXFONT_BITMAP_240 {0x10, 0x0, 0x38, 0x0, 0x1c, 0x70, 0xf, 0xf0, 0xf, 0x0, 0x7f, 0x80, 0x31, 0xc0, 0x0, 0xe0, 0x7, 0xf0, 0x18, 0xf0, 0x30, 0x78, 0x70, 0x38, 0x60, 0x3c, 0xe0, 0x1c, 0xe0, 0x1c, 0xe0, 0x1c, 0xe0, 0x1c, 0xe0, 0x1c, 0x70, 0x18, 0x70, 0x38, 0x38, 0x30, 0x1c, 0x60, 0x7, 0x80} - -/* ntilde (241) */ -#define NXFONT_METRICS_241 {2, 16, 21, 0, 16, 0} -#define NXFONT_BITMAP_241 {0xe, 0x8, 0x1f, 0x18, 0x31, 0xf0, 0x20, 0xe0, 0x0, 0x0, 0x0, 0x0, 0x18, 0xf0, 0xfb, 0xf8, 0x3e, 0x3c, 0x3c, 0x1c, 0x38, 0x1c, 0x38, 0x1c, 0x38, 0x1c, 0x38, 0x1c, 0x38, 0x1c, 0x38, 0x1c, 0x38, 0x1c, 0x38, 0x1c, 0x38, 0x1c, 0x38, 0x1c, 0xfe, 0x7f} - -/* ograve (242) */ -#define NXFONT_METRICS_242 {2, 14, 23, 1, 14, 0} -#define NXFONT_BITMAP_242 {0x18, 0x0, 0x1c, 0x0, 0xe, 0x0, 0x3, 0x0, 0x1, 0x80, 0x0, 0xc0, 0x0, 0x0, 0x0, 0x0, 0x7, 0x80, 0x18, 0xe0, 0x30, 0x70, 0x70, 0x38, 0x60, 0x38, 0xe0, 0x1c, 0xe0, 0x1c, 0xe0, 0x1c, 0xe0, 0x1c, 0xe0, 0x1c, 0x70, 0x18, 0x70, 0x38, 0x38, 0x30, 0x1c, 0x60, 0x7, 0x80} - -/* oacute (243) */ -#define NXFONT_METRICS_243 {2, 14, 23, 1, 14, 0} -#define NXFONT_BITMAP_243 {0x0, 0xc0, 0x1, 0xc0, 0x3, 0x80, 0x6, 0x0, 0xc, 0x0, 0x18, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7, 0x80, 0x18, 0xe0, 0x30, 0x70, 0x70, 0x38, 0x60, 0x38, 0xe0, 0x1c, 0xe0, 0x1c, 0xe0, 0x1c, 0xe0, 0x1c, 0xe0, 0x1c, 0x70, 0x18, 0x70, 0x38, 0x38, 0x30, 0x1c, 0x60, 0x7, 0x80} - -/* ocircumflex (244) */ -#define NXFONT_METRICS_244 {2, 14, 23, 1, 14, 0} -#define NXFONT_BITMAP_244 {0x3, 0x0, 0x7, 0x80, 0xf, 0xc0, 0x1c, 0xe0, 0x30, 0x30, 0x20, 0x10, 0x0, 0x0, 0x0, 0x0, 0x7, 0x80, 0x18, 0xe0, 0x30, 0x70, 0x70, 0x38, 0x60, 0x38, 0xe0, 0x1c, 0xe0, 0x1c, 0xe0, 0x1c, 0xe0, 0x1c, 0xe0, 0x1c, 0x70, 0x18, 0x70, 0x38, 0x38, 0x30, 0x1c, 0x60, 0x7, 0x80} - -/* otilde (245) */ -#define NXFONT_METRICS_245 {2, 14, 21, 1, 16, 0} -#define NXFONT_BITMAP_245 {0x1c, 0x10, 0x3e, 0x30, 0x63, 0xe0, 0x41, 0xc0, 0x0, 0x0, 0x0, 0x0, 0x7, 0x80, 0x18, 0xe0, 0x30, 0x70, 0x70, 0x38, 0x60, 0x38, 0xe0, 0x1c, 0xe0, 0x1c, 0xe0, 0x1c, 0xe0, 0x1c, 0xe0, 0x1c, 0x70, 0x18, 0x70, 0x38, 0x38, 0x30, 0x1c, 0x60, 0x7, 0x80} - -/* odieresis (246) */ -#define NXFONT_METRICS_246 {2, 14, 21, 1, 16, 0} -#define NXFONT_BITMAP_246 {0x38, 0xe0, 0x38, 0xe0, 0x38, 0xe0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7, 0x80, 0x18, 0xe0, 0x30, 0x70, 0x70, 0x38, 0x60, 0x38, 0xe0, 0x1c, 0xe0, 0x1c, 0xe0, 0x1c, 0xe0, 0x1c, 0xe0, 0x1c, 0x70, 0x18, 0x70, 0x38, 0x38, 0x30, 0x1c, 0x60, 0x7, 0x80} - -/* divide (247) */ -#define NXFONT_METRICS_247 {2, 16, 17, 1, 20, 0} -#define NXFONT_BITMAP_247 {0x1, 0x80, 0x3, 0xc0, 0x3, 0xc0, 0x1, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0xff, 0xff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x80, 0x3, 0xc0, 0x3, 0xc0, 0x1, 0x80} - -/* oslash (248) */ -#define NXFONT_METRICS_248 {2, 14, 21, 1, 19, 0} -#define NXFONT_BITMAP_248 {0x0, 0x18, 0x0, 0x10, 0x0, 0x30, 0x7, 0xa0, 0x18, 0xe0, 0x30, 0xf0, 0x70, 0xb8, 0x61, 0xb8, 0xe1, 0x1c, 0xe1, 0x1c, 0xe3, 0x1c, 0xe2, 0x1c, 0xe6, 0x1c, 0x74, 0x18, 0x74, 0x38, 0x3c, 0x30, 0x1c, 0x60, 0x1f, 0x80, 0x30, 0x0, 0x20, 0x0, 0x60, 0x0} - -/* ugrave (249) */ -#define NXFONT_METRICS_249 {2, 16, 23, 0, 14, 0} -#define NXFONT_BITMAP_249 {0xc, 0x0, 0xe, 0x0, 0x7, 0x0, 0x1, 0x80, 0x0, 0xc0, 0x0, 0x60, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7c, 0x38, 0x1c, 0x38, 0x1c, 0x38, 0x1c, 0x38, 0x1c, 0x38, 0x1c, 0x38, 0x1c, 0x38, 0x1c, 0x38, 0x1c, 0x38, 0x1c, 0x38, 0x1c, 0x38, 0x3c, 0x3c, 0x7c, 0x1f, 0xdf, 0xf, 0x98} - -/* uacute (250) */ -#define NXFONT_METRICS_250 {2, 16, 23, 0, 14, 0} -#define NXFONT_BITMAP_250 {0x0, 0x60, 0x0, 0xe0, 0x1, 0xc0, 0x3, 0x0, 0x6, 0x0, 0xc, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7c, 0x38, 0x1c, 0x38, 0x1c, 0x38, 0x1c, 0x38, 0x1c, 0x38, 0x1c, 0x38, 0x1c, 0x38, 0x1c, 0x38, 0x1c, 0x38, 0x1c, 0x38, 0x1c, 0x38, 0x3c, 0x3c, 0x7c, 0x1f, 0xdf, 0xf, 0x98} - -/* ucircumflex (251) */ -#define NXFONT_METRICS_251 {2, 16, 23, 0, 14, 0} -#define NXFONT_BITMAP_251 {0x1, 0x80, 0x3, 0xc0, 0x7, 0xe0, 0xe, 0x70, 0x18, 0x18, 0x10, 0x8, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7c, 0x38, 0x1c, 0x38, 0x1c, 0x38, 0x1c, 0x38, 0x1c, 0x38, 0x1c, 0x38, 0x1c, 0x38, 0x1c, 0x38, 0x1c, 0x38, 0x1c, 0x38, 0x1c, 0x38, 0x3c, 0x3c, 0x7c, 0x1f, 0xdf, 0xf, 0x98} - -/* udieresis (252) */ -#define NXFONT_METRICS_252 {2, 16, 21, 0, 16, 0} -#define NXFONT_BITMAP_252 {0x1c, 0x70, 0x1c, 0x70, 0x1c, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7c, 0x38, 0x1c, 0x38, 0x1c, 0x38, 0x1c, 0x38, 0x1c, 0x38, 0x1c, 0x38, 0x1c, 0x38, 0x1c, 0x38, 0x1c, 0x38, 0x1c, 0x38, 0x1c, 0x38, 0x3c, 0x3c, 0x7c, 0x1f, 0xdf, 0xf, 0x98} - -/* yacute (253) */ -#define NXFONT_METRICS_253 {2, 15, 30, 0, 14, 0} -#define NXFONT_BITMAP_253 {0x0, 0x18, 0x0, 0x38, 0x0, 0x70, 0x0, 0xc0, 0x1, 0x80, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0xfe, 0x1e, 0x78, 0xc, 0x38, 0xc, 0x3c, 0x8, 0x1c, 0x18, 0x1e, 0x18, 0xe, 0x10, 0xe, 0x30, 0x7, 0x20, 0x7, 0x20, 0x3, 0xe0, 0x3, 0xc0, 0x1, 0xc0, 0x1, 0x80, 0x1, 0x80, 0x1, 0x80, 0x1, 0x0, 0x3, 0x0, 0x2, 0x0, 0x3e, 0x0, 0x7c, 0x0, 0x38, 0x0} - -/* thorn (254) */ -#define NXFONT_METRICS_254 {2, 15, 30, 0, 14, 0} -#define NXFONT_BITMAP_254 {0x18, 0x0, 0xf8, 0x0, 0x38, 0x0, 0x38, 0x0, 0x38, 0x0, 0x38, 0x0, 0x38, 0x0, 0x38, 0x0, 0x39, 0xf0, 0x3b, 0xf8, 0x3e, 0x7c, 0x3c, 0x1c, 0x38, 0x1e, 0x38, 0xe, 0x38, 0xe, 0x38, 0xe, 0x38, 0xe, 0x38, 0xe, 0x38, 0xc, 0x38, 0x1c, 0x3c, 0x18, 0x3e, 0x30, 0x3b, 0xe0, 0x38, 0x0, 0x38, 0x0, 0x38, 0x0, 0x38, 0x0, 0x38, 0x0, 0x38, 0x0, 0xff, 0x0} - -/* ydieresis (255) */ -#define NXFONT_METRICS_255 {2, 15, 28, 1, 16, 0} -#define NXFONT_BITMAP_255 {0x1c, 0x70, 0x1c, 0x70, 0x1c, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xfe, 0x1e, 0x78, 0xc, 0x38, 0xc, 0x3c, 0x8, 0x1c, 0x18, 0x1e, 0x18, 0xe, 0x10, 0xe, 0x30, 0x7, 0x20, 0x7, 0x20, 0x3, 0xe0, 0x3, 0xc0, 0x1, 0xc0, 0x1, 0x80, 0x1, 0x80, 0x1, 0x0, 0x1, 0x0, 0x3, 0x0, 0x2, 0x0, 0x3e, 0x0, 0x7c, 0x0, 0x38, 0x0} - -/**************************************************************************** - * Public Types - ****************************************************************************/ - -/**************************************************************************** - * Public Data - ****************************************************************************/ - -#undef EXTERN -#if defined(__cplusplus) -#define EXTERN extern "C" -extern "C" { -#else -#define EXTERN extern -#endif - -/**************************************************************************** - * Public Functions - ****************************************************************************/ - -#undef EXTERN -#if defined(__cplusplus) -} -#endif - -#endif /* __GRAPHICS_NXFONTS_NXFONTS_SERIF38X48_H */ diff --git a/nuttx/graphics/nxfonts/nxfonts_serif38x49b.h b/nuttx/graphics/nxfonts/nxfonts_serif38x49b.h deleted file mode 100644 index 70291a045..000000000 --- a/nuttx/graphics/nxfonts/nxfonts_serif38x49b.h +++ /dev/null @@ -1,849 +0,0 @@ -/**************************************************************************** - * graphics/nxfonts/nxfonts_serif38x49.h - * - * Copyright (C) 2011-2012 NX Engineering, S.A., All rights reserved. - * Author: Jose Pablo Carballo Gomez <jcarballo@nx-engineering.com> - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * 3. Neither the name NuttX nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT} - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING} - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - ****************************************************************************/ - -#ifndef __GRAPHICS_NXFONTS_NXFONTS_SERIF38X49B_H -#define __GRAPHICS_NXFONTS_NXFONTS_SERIF38X49B_H - -/**************************************************************************** - * Included Files - ****************************************************************************/ - -/**************************************************************************** - * Pre-Processor Definitions - ****************************************************************************/ - -/* Font ID */ - -#define NXFONT_ID FONTID_SERIF38X49B - -/* Ranges of 7-bit and 8-bit fonts */ - -#define NXFONT_MIN7BIT 33 -#define NXFONT_MAX7BIT 126 - -#define NXFONT_MIN8BIT 161 -#define NXFONT_MAX8BIT 255 - -/* Maximum height and width of any glyph in the set */ - -#define NXFONT_MAXHEIGHT 49 -#define NXFONT_MAXWIDTH 38 - -/* The width of a space */ - -#define NXFONT_SPACEWIDTH 8 - -/* exclam (33) */ -#define NXFONT_METRICS_33 {1, 5, 23, 3, 14, 0} -#define NXFONT_BITMAP_33 {0x70, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0x70, 0x70, 0x70, 0x70, 0x20, 0x20, 0x20, 0x20, 0x0, 0x0, 0x0, 0x70, 0xf8, 0xf8, 0xf8, 0x70} - -/* quotedbl (34) */ -#define NXFONT_METRICS_34 {2, 11, 11, 2, 14, 0} -#define NXFONT_BITMAP_34 {0x60, 0xc0, 0xf1, 0xe0, 0xf1, 0xe0, 0xf1, 0xe0, 0xf1, 0xe0, 0xf1, 0xe0, 0xf1, 0xe0, 0x60, 0xc0, 0x60, 0xc0, 0x60, 0xc0, 0x60, 0xc0} - -/* numbersign (35) */ -#define NXFONT_METRICS_35 {2, 16, 23, 0, 14, 0} -#define NXFONT_BITMAP_35 {0x3, 0xc, 0x3, 0xc, 0x7, 0x1c, 0x7, 0x1c, 0x6, 0x18, 0x6, 0x18, 0x7f, 0xff, 0x7f, 0xff, 0xe, 0x38, 0xc, 0x30, 0xc, 0x30, 0xc, 0x30, 0xc, 0x30, 0x1c, 0x70, 0xff, 0xfe, 0xff, 0xfe, 0x18, 0x60, 0x18, 0x60, 0x18, 0x60, 0x38, 0xe0, 0x38, 0xe0, 0x30, 0xc0, 0x30, 0xc0} - -/* dollar (36) */ -#define NXFONT_METRICS_36 {2, 15, 28, 1, 12, 0} -#define NXFONT_BITMAP_36 {0x3, 0x0, 0x3, 0x0, 0xf, 0xe8, 0x3f, 0xf8, 0x73, 0x38, 0x63, 0x18, 0xe3, 0x8, 0xe3, 0x8, 0xf3, 0x0, 0xfb, 0x0, 0x7f, 0x0, 0x7f, 0x80, 0x3f, 0xe0, 0xf, 0xf0, 0x3, 0xf8, 0x3, 0xfc, 0x3, 0x7c, 0x83, 0x3e, 0x83, 0x1e, 0x83, 0x1e, 0xc3, 0x1c, 0xc3, 0x3c, 0xf3, 0x78, 0xff, 0xe0, 0x83, 0x0, 0x3, 0x0, 0x3, 0x0, 0x3, 0x0} - -/* percent (37) */ -#define NXFONT_METRICS_37 {3, 24, 23, 4, 14, 0} -#define NXFONT_BITMAP_37 {0x7, 0x80, 0x20, 0xf, 0xc0, 0xe0, 0x1e, 0x7f, 0xc0, 0x3c, 0x20, 0xc0, 0x7c, 0x21, 0x80, 0x78, 0x21, 0x80, 0xf8, 0x63, 0x0, 0xf0, 0x47, 0x0, 0xf0, 0xc6, 0x0, 0xf0, 0xce, 0x0, 0xf1, 0x8c, 0x3c, 0x7f, 0x18, 0x7e, 0x3c, 0x19, 0xf3, 0x0, 0x31, 0xe1, 0x0, 0x33, 0xc1, 0x0, 0x63, 0xc1, 0x0, 0xe7, 0xc3, 0x0, 0xc7, 0x82, 0x1, 0xc7, 0x86, 0x1, 0x87, 0x86, 0x3, 0x3, 0x8c, 0x3, 0x3, 0xf8, 0x6, 0x1, 0xe0} - -/* ampersand (38) */ -#define NXFONT_METRICS_38 {3, 22, 23, 2, 14, 0} -#define NXFONT_BITMAP_38 {0x1, 0xf0, 0x0, 0x3, 0xbc, 0x0, 0x7, 0x1e, 0x0, 0x7, 0xe, 0x0, 0xf, 0xe, 0x0, 0xf, 0xe, 0x0, 0xf, 0x8c, 0x0, 0x7, 0xd8, 0x0, 0x7, 0xf0, 0x0, 0x3, 0xe0, 0xfc, 0x7, 0xf0, 0x70, 0x1d, 0xf0, 0x30, 0x39, 0xf8, 0x60, 0x70, 0xfc, 0x40, 0xf0, 0xfc, 0xc0, 0xf0, 0x7f, 0x80, 0xf8, 0x3f, 0x0, 0xf8, 0x1f, 0x80, 0xfc, 0x1f, 0xc0, 0xfe, 0x3f, 0xe4, 0x7f, 0xf3, 0xfc, 0x7f, 0xc1, 0xfc, 0x1f, 0x0, 0x78} - -/* quotesingle (39) */ -#define NXFONT_METRICS_39 {1, 4, 11, 2, 14, 0} -#define NXFONT_BITMAP_39 {0x60, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0x60, 0x60, 0x60, 0x60} - -/* parenleft (40) */ -#define NXFONT_METRICS_40 {1, 8, 29, 2, 14, 0} -#define NXFONT_BITMAP_40 {0x3, 0x6, 0xc, 0x18, 0x18, 0x30, 0x30, 0x70, 0x60, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0x60, 0x70, 0x30, 0x30, 0x18, 0x18, 0xc, 0x6, 0x3} - -/* parenright (41) */ -#define NXFONT_METRICS_41 {1, 8, 29, 0, 14, 0} -#define NXFONT_BITMAP_41 {0xc0, 0x60, 0x30, 0x18, 0x18, 0xc, 0xc, 0xe, 0x6, 0x7, 0x7, 0x7, 0x7, 0x7, 0x7, 0x7, 0x7, 0x7, 0x7, 0x7, 0x6, 0xe, 0xc, 0xc, 0x18, 0x18, 0x30, 0x60, 0xc0} - -/* asterisk (42) */ -#define NXFONT_METRICS_42 {2, 13, 14, 1, 14, 0} -#define NXFONT_BITMAP_42 {0x3, 0x0, 0x7, 0x0, 0x7, 0x0, 0xe7, 0x38, 0xf2, 0x78, 0x7a, 0xf0, 0xf, 0x80, 0xf, 0x80, 0x7a, 0xf0, 0xf2, 0x78, 0xe7, 0x38, 0x7, 0x0, 0x7, 0x0, 0x6, 0x0} - -/* plus (43) */ -#define NXFONT_METRICS_43 {2, 15, 15, 2, 22, 0} -#define NXFONT_BITMAP_43 {0x3, 0x80, 0x3, 0x80, 0x3, 0x80, 0x3, 0x80, 0x3, 0x80, 0x3, 0x80, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0x3, 0x80, 0x3, 0x80, 0x3, 0x80, 0x3, 0x80, 0x3, 0x80, 0x3, 0x80} - -/* comma (44) */ -#define NXFONT_METRICS_44 {1, 6, 11, 1, 32, 0} -#define NXFONT_BITMAP_44 {0x38, 0x7c, 0x7c, 0x7c, 0x3c, 0xc, 0x8, 0x18, 0x30, 0x60, 0xc0} - -/* hyphen (45) */ -#define NXFONT_METRICS_45 {1, 8, 4, 1, 27, 0} -#define NXFONT_BITMAP_45 {0xff, 0xff, 0xff, 0xff} - -/* period (46) */ -#define NXFONT_METRICS_46 {1, 5, 5, 1, 32, 0} -#define NXFONT_BITMAP_46 {0x70, 0xf8, 0xf8, 0xf8, 0x70} - -/* slash (47) */ -#define NXFONT_METRICS_47 {2, 9, 25, 0, 12, 0} -#define NXFONT_BITMAP_47 {0x1, 0x80, 0x1, 0x80, 0x1, 0x0, 0x3, 0x0, 0x3, 0x0, 0x3, 0x0, 0x6, 0x0, 0x6, 0x0, 0x6, 0x0, 0x4, 0x0, 0xc, 0x0, 0xc, 0x0, 0xc, 0x0, 0x18, 0x0, 0x18, 0x0, 0x18, 0x0, 0x30, 0x0, 0x30, 0x0, 0x30, 0x0, 0x30, 0x0, 0x60, 0x0, 0x60, 0x0, 0x60, 0x0, 0xc0, 0x0, 0xc0, 0x0} - -/* zero (48) */ -#define NXFONT_METRICS_48 {2, 14, 23, 1, 14, 0} -#define NXFONT_BITMAP_48 {0x7, 0x80, 0x1f, 0xe0, 0x1c, 0xe0, 0x38, 0x70, 0x78, 0x70, 0x78, 0x78, 0x78, 0x78, 0xf8, 0x7c, 0xf8, 0x7c, 0xf8, 0x7c, 0xf8, 0x7c, 0xf8, 0x7c, 0xf8, 0x7c, 0xf8, 0x7c, 0xf8, 0x7c, 0xf8, 0x7c, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x38, 0x70, 0x1c, 0xe0, 0xf, 0xc0, 0x7, 0x80} - -/* one (49) */ -#define NXFONT_METRICS_49 {2, 13, 23, 2, 14, 0} -#define NXFONT_BITMAP_49 {0x1, 0x80, 0x7, 0x80, 0x1f, 0x80, 0xff, 0x80, 0xf, 0x80, 0xf, 0x80, 0xf, 0x80, 0xf, 0x80, 0xf, 0x80, 0xf, 0x80, 0xf, 0x80, 0xf, 0x80, 0xf, 0x80, 0xf, 0x80, 0xf, 0x80, 0xf, 0x80, 0xf, 0x80, 0xf, 0x80, 0xf, 0x80, 0xf, 0x80, 0xf, 0x80, 0x1f, 0xc0, 0xff, 0xf8} - -/* two (50) */ -#define NXFONT_METRICS_50 {2, 16, 23, 0, 14, 0} -#define NXFONT_BITMAP_50 {0x3, 0xc0, 0xf, 0xf0, 0x1f, 0xf8, 0x3f, 0xf8, 0x30, 0xfc, 0x60, 0x7c, 0x40, 0x7c, 0x0, 0x7c, 0x0, 0x78, 0x0, 0x78, 0x0, 0x78, 0x0, 0xf0, 0x0, 0xe0, 0x1, 0xc0, 0x1, 0x80, 0x3, 0x0, 0x7, 0x1, 0xe, 0x3, 0x1c, 0x6, 0x3f, 0xfe, 0x7f, 0xfe, 0xff, 0xfc, 0xff, 0xfc} - -/* three (51) */ -#define NXFONT_METRICS_51 {2, 14, 23, 1, 14, 0} -#define NXFONT_BITMAP_51 {0x7, 0xc0, 0x1f, 0xf0, 0x3f, 0xf0, 0x30, 0xf8, 0x60, 0x78, 0x40, 0x78, 0x0, 0x78, 0x0, 0x70, 0x0, 0xc0, 0x3, 0xe0, 0xf, 0xf0, 0xf, 0xf8, 0x3, 0xf8, 0x0, 0xfc, 0x0, 0x7c, 0x0, 0x3c, 0x0, 0x3c, 0x0, 0x3c, 0x60, 0x38, 0xf0, 0x38, 0xf8, 0x70, 0x7f, 0xc0, 0x1f, 0x0} - -/* four (52) */ -#define NXFONT_METRICS_52 {2, 14, 23, 1, 14, 0} -#define NXFONT_BITMAP_52 {0x0, 0x70, 0x0, 0xf0, 0x0, 0xf0, 0x1, 0xf0, 0x3, 0xf0, 0x6, 0xf0, 0x6, 0xf0, 0xc, 0xf0, 0x18, 0xf0, 0x18, 0xf0, 0x30, 0xf0, 0x60, 0xf0, 0x60, 0xf0, 0xc0, 0xf0, 0xff, 0xfc, 0xff, 0xfc, 0xff, 0xfc, 0xff, 0xfc, 0x0, 0xf0, 0x0, 0xf0, 0x0, 0xf0, 0x0, 0xf0, 0x0, 0xf0} - -/* five (53) */ -#define NXFONT_METRICS_53 {2, 13, 23, 1, 14, 0} -#define NXFONT_BITMAP_53 {0x1f, 0xf8, 0x1f, 0xf8, 0x1f, 0xf8, 0x1f, 0xf8, 0x30, 0x0, 0x30, 0x0, 0x20, 0x0, 0x3e, 0x0, 0x7f, 0x80, 0x7f, 0xe0, 0x7f, 0xf0, 0x7f, 0xf0, 0x3, 0xf8, 0x0, 0xf8, 0x0, 0x78, 0x0, 0x38, 0x0, 0x38, 0x0, 0x38, 0x60, 0x30, 0xf0, 0x30, 0xf8, 0x60, 0x7f, 0xc0, 0x1f, 0x0} - -/* six (54) */ -#define NXFONT_METRICS_54 {2, 14, 23, 1, 14, 0} -#define NXFONT_BITMAP_54 {0x0, 0x1c, 0x0, 0xf0, 0x3, 0xc0, 0x7, 0x80, 0xf, 0x0, 0x1e, 0x0, 0x3e, 0x0, 0x3c, 0x0, 0x7c, 0x0, 0x7f, 0xe0, 0xfd, 0xf0, 0xf8, 0xf8, 0xf8, 0x78, 0xf8, 0x7c, 0xf8, 0x7c, 0xf8, 0x7c, 0xf8, 0x7c, 0x78, 0x7c, 0x78, 0x78, 0x78, 0x78, 0x38, 0x70, 0x1c, 0xe0, 0xf, 0xc0} - -/* seven (55) */ -#define NXFONT_METRICS_55 {2, 13, 23, 2, 14, 0} -#define NXFONT_BITMAP_55 {0x7f, 0xf8, 0x7f, 0xf8, 0xff, 0xf8, 0xff, 0xf8, 0xc0, 0x30, 0x80, 0x70, 0x80, 0x70, 0x0, 0x60, 0x0, 0xe0, 0x0, 0xe0, 0x0, 0xc0, 0x1, 0xc0, 0x1, 0xc0, 0x3, 0x80, 0x3, 0x80, 0x3, 0x80, 0x7, 0x0, 0x7, 0x0, 0x7, 0x0, 0xe, 0x0, 0xe, 0x0, 0xe, 0x0, 0x1c, 0x0} - -/* eight (56) */ -#define NXFONT_METRICS_56 {2, 14, 23, 1, 14, 0} -#define NXFONT_BITMAP_56 {0xf, 0xe0, 0x3e, 0xf0, 0x3c, 0x78, 0x78, 0x78, 0x78, 0x38, 0x78, 0x38, 0x7c, 0x38, 0x7e, 0x70, 0x3f, 0xe0, 0x3f, 0x80, 0x1f, 0xc0, 0xf, 0xe0, 0x3f, 0xf0, 0x71, 0xf8, 0x70, 0xfc, 0xe0, 0x7c, 0xe0, 0x3c, 0xe0, 0x3c, 0xe0, 0x3c, 0xf0, 0x38, 0x78, 0x78, 0x7f, 0xf0, 0x1f, 0xc0} - -/* nine (57) */ -#define NXFONT_METRICS_57 {2, 14, 23, 1, 14, 0} -#define NXFONT_BITMAP_57 {0xf, 0xc0, 0x1c, 0xe0, 0x38, 0x70, 0x78, 0x78, 0x78, 0x78, 0xf8, 0x78, 0xf8, 0x7c, 0xf8, 0x7c, 0xf8, 0x7c, 0xf8, 0x7c, 0x78, 0x7c, 0x7c, 0x7c, 0x3e, 0xfc, 0x1f, 0xf8, 0x0, 0xf8, 0x0, 0xf0, 0x1, 0xf0, 0x1, 0xe0, 0x3, 0xc0, 0x7, 0x80, 0xf, 0x0, 0x3c, 0x0, 0xe0, 0x0} - -/* colon (58) */ -#define NXFONT_METRICS_58 {1, 5, 16, 3, 21, 0} -#define NXFONT_BITMAP_58 {0x70, 0xf8, 0xf8, 0xf8, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x70, 0xf8, 0xf8, 0xf8, 0x70} - -/* semicolon (59) */ -#define NXFONT_METRICS_59 {1, 6, 22, 2, 21, 0} -#define NXFONT_BITMAP_59 {0x38, 0x7c, 0x7c, 0x7c, 0x38, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x38, 0x7c, 0x7c, 0x7c, 0x3c, 0xc, 0x8, 0x18, 0x30, 0x60, 0xc0} - -/* less (60) */ -#define NXFONT_METRICS_60 {2, 16, 15, 1, 22, 0} -#define NXFONT_BITMAP_60 {0x0, 0x3, 0x0, 0xf, 0x0, 0x7f, 0x1, 0xfc, 0xf, 0xe0, 0x3f, 0x80, 0xfc, 0x0, 0xf0, 0x0, 0xfc, 0x0, 0x3f, 0x80, 0xf, 0xe0, 0x1, 0xfc, 0x0, 0x7f, 0x0, 0xf, 0x0, 0x3} - -/* equal (61) */ -#define NXFONT_METRICS_61 {2, 15, 10, 2, 24, 0} -#define NXFONT_BITMAP_61 {0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe} - -/* greater (62) */ -#define NXFONT_METRICS_62 {2, 16, 15, 2, 22, 0} -#define NXFONT_BITMAP_62 {0xc0, 0x0, 0xf0, 0x0, 0xfe, 0x0, 0x3f, 0x80, 0x7, 0xf0, 0x1, 0xfc, 0x0, 0x3f, 0x0, 0xf, 0x0, 0x3f, 0x1, 0xfc, 0x7, 0xf0, 0x3f, 0x80, 0xfe, 0x0, 0xf0, 0x0, 0xc0, 0x0} - -/* question (63) */ -#define NXFONT_METRICS_63 {2, 12, 23, 2, 14, 0} -#define NXFONT_BITMAP_63 {0x3f, 0x0, 0x73, 0xc0, 0xe1, 0xe0, 0xe1, 0xf0, 0xf1, 0xf0, 0xf1, 0xf0, 0x61, 0xf0, 0x1, 0xe0, 0x1, 0xe0, 0x3, 0xc0, 0x3, 0x80, 0x3, 0x0, 0x6, 0x0, 0x4, 0x0, 0x4, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xe, 0x0, 0x1f, 0x0, 0x1f, 0x0, 0x1f, 0x0, 0xe, 0x0} - -/* at (64) */ -#define NXFONT_METRICS_64 {4, 26, 27, 2, 15, 0} -#define NXFONT_BITMAP_64 {0x0, 0x1f, 0xe0, 0x0, 0x0, 0xfc, 0x3c, 0x0, 0x3, 0xe0, 0xe, 0x0, 0x7, 0x80, 0x3, 0x0, 0xf, 0x0, 0x1, 0x0, 0x1e, 0x0, 0x1, 0x80, 0x3e, 0xf, 0x38, 0x80, 0x3c, 0x1f, 0xf8, 0xc0, 0x7c, 0x7c, 0xf8, 0x40, 0x78, 0x78, 0x78, 0x40, 0xf8, 0xf8, 0xf0, 0x40, 0xf8, 0xf0, 0xf0, 0x40, 0xf1, 0xf0, 0xf0, 0x40, 0xf1, 0xf0, 0xf0, 0x40, 0xf1, 0xe0, 0xf0, 0xc0, 0xf1, 0xe1, 0xe0, 0x80, 0xf1, 0xe1, 0xe1, 0x80, 0xf1, 0xe3, 0xe3, 0x0, 0x71, 0xf3, 0xe3, 0x0, 0x78, 0xfe, 0xfe, 0x0, 0x78, 0x78, 0x78, 0x0, 0x3c, 0x0, 0x0, 0x0, 0x1c, 0x0, 0x0, 0x0, 0xe, 0x0, 0x1, 0x80, 0x7, 0x80, 0x7, 0x0, 0x1, 0xe0, 0x3c, 0x0, 0x0, 0x3f, 0xe0, 0x0} - -/* A (65) */ -#define NXFONT_METRICS_65 {3, 21, 23, 1, 14, 0} -#define NXFONT_BITMAP_65 {0x0, 0x20, 0x0, 0x0, 0x60, 0x0, 0x0, 0x70, 0x0, 0x0, 0xf0, 0x0, 0x0, 0xf8, 0x0, 0x0, 0xf8, 0x0, 0x1, 0xf8, 0x0, 0x1, 0x7c, 0x0, 0x1, 0x7c, 0x0, 0x3, 0x3e, 0x0, 0x2, 0x3e, 0x0, 0x6, 0x3e, 0x0, 0x6, 0x1f, 0x0, 0x4, 0x1f, 0x0, 0xc, 0xf, 0x0, 0xf, 0xff, 0x80, 0x18, 0xf, 0x80, 0x18, 0x7, 0xc0, 0x10, 0x7, 0xc0, 0x30, 0x3, 0xe0, 0x30, 0x3, 0xe0, 0x70, 0x7, 0xf0, 0xfc, 0x1f, 0xf8} - -/* B (66) */ -#define NXFONT_METRICS_66 {3, 19, 23, 1, 14, 0} -#define NXFONT_BITMAP_66 {0xff, 0xfc, 0x0, 0x3f, 0x1f, 0x0, 0x1f, 0xf, 0x80, 0x1f, 0x7, 0xc0, 0x1f, 0x7, 0xc0, 0x1f, 0x7, 0xc0, 0x1f, 0x7, 0xc0, 0x1f, 0x7, 0xc0, 0x1f, 0x7, 0x80, 0x1f, 0xf, 0x80, 0x1f, 0x3e, 0x0, 0x1f, 0xfc, 0x0, 0x1f, 0xf, 0x80, 0x1f, 0x7, 0xc0, 0x1f, 0x7, 0xe0, 0x1f, 0x3, 0xe0, 0x1f, 0x3, 0xe0, 0x1f, 0x3, 0xe0, 0x1f, 0x3, 0xe0, 0x1f, 0x3, 0xc0, 0x1f, 0x7, 0xc0, 0x3f, 0xf, 0x0, 0xff, 0xfc, 0x0} - -/* C (67) */ -#define NXFONT_METRICS_67 {3, 19, 23, 2, 14, 0} -#define NXFONT_BITMAP_67 {0x1, 0xfc, 0x20, 0x7, 0xff, 0x60, 0xf, 0x7, 0xe0, 0x1e, 0x1, 0xe0, 0x3c, 0x0, 0xe0, 0x7c, 0x0, 0x60, 0x7c, 0x0, 0x60, 0xf8, 0x0, 0x20, 0xf8, 0x0, 0x0, 0xf8, 0x0, 0x0, 0xf8, 0x0, 0x0, 0xf8, 0x0, 0x0, 0xf8, 0x0, 0x0, 0xf8, 0x0, 0x0, 0xf8, 0x0, 0x0, 0xf8, 0x0, 0x0, 0x7c, 0x0, 0x0, 0x7c, 0x0, 0x0, 0x3c, 0x0, 0x20, 0x1e, 0x0, 0x60, 0xf, 0x81, 0xc0, 0x3, 0xff, 0x80, 0x0, 0xfe, 0x0} - -/* D (68) */ -#define NXFONT_METRICS_68 {3, 22, 23, 0, 14, 0} -#define NXFONT_BITMAP_68 {0xff, 0xfc, 0x0, 0x3f, 0xff, 0x80, 0x1f, 0x7, 0xe0, 0x1f, 0x1, 0xf0, 0x1f, 0x1, 0xf0, 0x1f, 0x0, 0xf8, 0x1f, 0x0, 0xf8, 0x1f, 0x0, 0xfc, 0x1f, 0x0, 0x7c, 0x1f, 0x0, 0x7c, 0x1f, 0x0, 0x7c, 0x1f, 0x0, 0x7c, 0x1f, 0x0, 0x7c, 0x1f, 0x0, 0x7c, 0x1f, 0x0, 0x7c, 0x1f, 0x0, 0xf8, 0x1f, 0x0, 0xf8, 0x1f, 0x0, 0xf8, 0x1f, 0x1, 0xf0, 0x1f, 0x1, 0xe0, 0x1f, 0x7, 0xc0, 0x3f, 0xff, 0x0, 0xff, 0xfc, 0x0} - -/* E (69) */ -#define NXFONT_METRICS_69 {3, 21, 23, 0, 14, 0} -#define NXFONT_BITMAP_69 {0xff, 0xff, 0xe0, 0x3f, 0xff, 0xe0, 0x1f, 0x0, 0xe0, 0x1f, 0x0, 0x60, 0x1f, 0x0, 0x60, 0x1f, 0x0, 0x20, 0x1f, 0x0, 0x20, 0x1f, 0x4, 0x0, 0x1f, 0x4, 0x0, 0x1f, 0xc, 0x0, 0x1f, 0x1c, 0x0, 0x1f, 0xfc, 0x0, 0x1f, 0x1c, 0x0, 0x1f, 0xc, 0x0, 0x1f, 0x4, 0x0, 0x1f, 0x4, 0x0, 0x1f, 0x0, 0x8, 0x1f, 0x0, 0x18, 0x1f, 0x0, 0x30, 0x1f, 0x0, 0x70, 0x1f, 0x1, 0xf0, 0x3f, 0xff, 0xe0, 0xff, 0xff, 0xe0} - -/* F (70) */ -#define NXFONT_METRICS_70 {3, 19, 23, 0, 14, 0} -#define NXFONT_BITMAP_70 {0xff, 0xff, 0xe0, 0x3f, 0xff, 0xe0, 0x1f, 0x0, 0xe0, 0x1f, 0x0, 0x60, 0x1f, 0x0, 0x60, 0x1f, 0x0, 0x20, 0x1f, 0x0, 0x20, 0x1f, 0x4, 0x0, 0x1f, 0x4, 0x0, 0x1f, 0xc, 0x0, 0x1f, 0x1c, 0x0, 0x1f, 0xfc, 0x0, 0x1f, 0x1c, 0x0, 0x1f, 0xc, 0x0, 0x1f, 0x4, 0x0, 0x1f, 0x4, 0x0, 0x1f, 0x0, 0x0, 0x1f, 0x0, 0x0, 0x1f, 0x0, 0x0, 0x1f, 0x0, 0x0, 0x1f, 0x0, 0x0, 0x3f, 0x80, 0x0, 0xff, 0xe0, 0x0} - -/* G (71) */ -#define NXFONT_METRICS_71 {3, 22, 23, 2, 14, 0} -#define NXFONT_BITMAP_71 {0x1, 0xfc, 0x20, 0x7, 0xff, 0x60, 0xf, 0x7, 0xe0, 0x1e, 0x1, 0xe0, 0x3c, 0x0, 0xe0, 0x7c, 0x0, 0x60, 0x7c, 0x0, 0x60, 0xf8, 0x0, 0x20, 0xf8, 0x0, 0x0, 0xf8, 0x0, 0x0, 0xf8, 0x0, 0x0, 0xf8, 0x0, 0x0, 0xf8, 0x0, 0x0, 0xf8, 0x1f, 0xfc, 0xf8, 0x7, 0xf0, 0xf8, 0x3, 0xe0, 0x7c, 0x3, 0xe0, 0x7c, 0x3, 0xe0, 0x3c, 0x3, 0xe0, 0x3e, 0x3, 0xe0, 0x1e, 0x7, 0xe0, 0xf, 0x8f, 0xe0, 0x3, 0xff, 0x0} - -/* H (72) */ -#define NXFONT_METRICS_72 {3, 24, 23, 0, 14, 0} -#define NXFONT_BITMAP_72 {0xff, 0xe7, 0xff, 0x3f, 0x81, 0xfc, 0x1f, 0x0, 0xf8, 0x1f, 0x0, 0xf8, 0x1f, 0x0, 0xf8, 0x1f, 0x0, 0xf8, 0x1f, 0x0, 0xf8, 0x1f, 0x0, 0xf8, 0x1f, 0x0, 0xf8, 0x1f, 0x0, 0xf8, 0x1f, 0xff, 0xf8, 0x1f, 0xff, 0xf8, 0x1f, 0x0, 0xf8, 0x1f, 0x0, 0xf8, 0x1f, 0x0, 0xf8, 0x1f, 0x0, 0xf8, 0x1f, 0x0, 0xf8, 0x1f, 0x0, 0xf8, 0x1f, 0x0, 0xf8, 0x1f, 0x0, 0xf8, 0x1f, 0x0, 0xf8, 0x3f, 0x81, 0xfc, 0xff, 0xe7, 0xff} - -/* I (73) */ -#define NXFONT_METRICS_73 {2, 11, 23, 1, 14, 0} -#define NXFONT_BITMAP_73 {0xff, 0xe0, 0x3f, 0x80, 0x1f, 0x0, 0x1f, 0x0, 0x1f, 0x0, 0x1f, 0x0, 0x1f, 0x0, 0x1f, 0x0, 0x1f, 0x0, 0x1f, 0x0, 0x1f, 0x0, 0x1f, 0x0, 0x1f, 0x0, 0x1f, 0x0, 0x1f, 0x0, 0x1f, 0x0, 0x1f, 0x0, 0x1f, 0x0, 0x1f, 0x0, 0x1f, 0x0, 0x1f, 0x0, 0x3f, 0x80, 0xff, 0xe0} - -/* J (74) */ -#define NXFONT_METRICS_74 {2, 15, 26, 0, 14, 0} -#define NXFONT_BITMAP_74 {0xf, 0xfe, 0x3, 0xf8, 0x1, 0xf0, 0x1, 0xf0, 0x1, 0xf0, 0x1, 0xf0, 0x1, 0xf0, 0x1, 0xf0, 0x1, 0xf0, 0x1, 0xf0, 0x1, 0xf0, 0x1, 0xf0, 0x1, 0xf0, 0x1, 0xf0, 0x1, 0xf0, 0x1, 0xf0, 0x1, 0xf0, 0x1, 0xf0, 0x1, 0xf0, 0x61, 0xf0, 0xf1, 0xf0, 0xf1, 0xf0, 0xf3, 0xe0, 0xe3, 0xe0, 0x7f, 0xc0, 0x1f, 0x0} - -/* K (75) */ -#define NXFONT_METRICS_75 {3, 24, 23, 1, 14, 0} -#define NXFONT_BITMAP_75 {0xff, 0xcf, 0xfc, 0x7f, 0x3, 0xe0, 0x3e, 0x1, 0xc0, 0x3e, 0x3, 0x80, 0x3e, 0x7, 0x0, 0x3e, 0xe, 0x0, 0x3e, 0x1c, 0x0, 0x3e, 0x38, 0x0, 0x3e, 0x70, 0x0, 0x3e, 0xe0, 0x0, 0x3f, 0xf0, 0x0, 0x3f, 0xf8, 0x0, 0x3f, 0xfc, 0x0, 0x3e, 0xfe, 0x0, 0x3e, 0x7f, 0x0, 0x3e, 0x3f, 0x80, 0x3e, 0x1f, 0xc0, 0x3e, 0xf, 0xe0, 0x3e, 0x7, 0xf0, 0x3e, 0x3, 0xf8, 0x3e, 0x1, 0xfc, 0x7f, 0x0, 0xfe, 0xff, 0xc3, 0xff} - -/* L (76) */ -#define NXFONT_METRICS_76 {3, 20, 23, 1, 14, 0} -#define NXFONT_BITMAP_76 {0xff, 0xe0, 0x0, 0x3f, 0x80, 0x0, 0x1f, 0x0, 0x0, 0x1f, 0x0, 0x0, 0x1f, 0x0, 0x0, 0x1f, 0x0, 0x0, 0x1f, 0x0, 0x0, 0x1f, 0x0, 0x0, 0x1f, 0x0, 0x0, 0x1f, 0x0, 0x0, 0x1f, 0x0, 0x0, 0x1f, 0x0, 0x0, 0x1f, 0x0, 0x0, 0x1f, 0x0, 0x0, 0x1f, 0x0, 0x0, 0x1f, 0x0, 0x0, 0x1f, 0x0, 0x10, 0x1f, 0x0, 0x30, 0x1f, 0x0, 0x60, 0x1f, 0x0, 0xe0, 0x1f, 0x81, 0xe0, 0x3f, 0xff, 0xc0, 0xff, 0xff, 0xc0} - -/* M (77) */ -#define NXFONT_METRICS_77 {4, 28, 23, 1, 14, 0} -#define NXFONT_BITMAP_77 {0xff, 0x0, 0xf, 0xf0, 0x3f, 0x0, 0x1f, 0xc0, 0x1f, 0x80, 0x1f, 0x80, 0x1f, 0x80, 0x3f, 0x80, 0x17, 0xc0, 0x3f, 0x80, 0x17, 0xc0, 0x2f, 0x80, 0x17, 0xc0, 0x6f, 0x80, 0x13, 0xe0, 0x4f, 0x80, 0x13, 0xe0, 0xcf, 0x80, 0x13, 0xe0, 0xcf, 0x80, 0x11, 0xf0, 0x8f, 0x80, 0x11, 0xf1, 0x8f, 0x80, 0x10, 0xf9, 0xf, 0x80, 0x10, 0xfb, 0xf, 0x80, 0x10, 0xfb, 0xf, 0x80, 0x10, 0x7e, 0xf, 0x80, 0x10, 0x7e, 0xf, 0x80, 0x10, 0x7c, 0xf, 0x80, 0x10, 0x3c, 0xf, 0x80, 0x10, 0x3c, 0xf, 0x80, 0x10, 0x18, 0xf, 0x80, 0x38, 0x18, 0x1f, 0xc0, 0xfe, 0x18, 0x3f, 0xf0} - -/* N (78) */ -#define NXFONT_METRICS_78 {3, 22, 23, 1, 14, 0} -#define NXFONT_BITMAP_78 {0xfe, 0x1, 0xfc, 0x7f, 0x0, 0x70, 0x3f, 0x80, 0x20, 0x1f, 0x80, 0x20, 0x1f, 0xc0, 0x20, 0x1f, 0xe0, 0x20, 0x17, 0xf0, 0x20, 0x13, 0xf8, 0x20, 0x11, 0xf8, 0x20, 0x11, 0xfc, 0x20, 0x10, 0xfe, 0x20, 0x10, 0x7f, 0x20, 0x10, 0x3f, 0x20, 0x10, 0x1f, 0xa0, 0x10, 0x1f, 0xe0, 0x10, 0xf, 0xe0, 0x10, 0x7, 0xe0, 0x10, 0x3, 0xe0, 0x10, 0x3, 0xe0, 0x10, 0x1, 0xe0, 0x10, 0x0, 0xe0, 0x38, 0x0, 0x60, 0xfe, 0x0, 0x20} - -/* O (79) */ -#define NXFONT_METRICS_79 {3, 21, 23, 2, 14, 0} -#define NXFONT_BITMAP_79 {0x1, 0xfc, 0x0, 0x7, 0xff, 0x0, 0xf, 0x8f, 0x80, 0x1e, 0x3, 0xc0, 0x3c, 0x1, 0xe0, 0x7c, 0x1, 0xf0, 0x78, 0x0, 0xf0, 0xf8, 0x0, 0xf8, 0xf8, 0x0, 0xf8, 0xf8, 0x0, 0xf8, 0xf8, 0x0, 0xf8, 0xf8, 0x0, 0xf8, 0xf8, 0x0, 0xf8, 0xf8, 0x0, 0xf8, 0xf8, 0x0, 0xf8, 0xf8, 0x0, 0xf8, 0x78, 0x0, 0xf0, 0x7c, 0x1, 0xf0, 0x3c, 0x1, 0xe0, 0x1e, 0x3, 0xc0, 0xf, 0x8f, 0x80, 0x7, 0xff, 0x0, 0x1, 0xfc, 0x0} - -/* P (80) */ -#define NXFONT_METRICS_80 {3, 19, 23, 0, 14, 0} -#define NXFONT_BITMAP_80 {0xff, 0xfc, 0x0, 0x3f, 0x1f, 0x80, 0x1f, 0xf, 0xc0, 0x1f, 0x7, 0xc0, 0x1f, 0x7, 0xe0, 0x1f, 0x3, 0xe0, 0x1f, 0x3, 0xe0, 0x1f, 0x3, 0xe0, 0x1f, 0x3, 0xe0, 0x1f, 0x7, 0xc0, 0x1f, 0x7, 0xc0, 0x1f, 0x1f, 0x80, 0x1f, 0xfe, 0x0, 0x1f, 0x0, 0x0, 0x1f, 0x0, 0x0, 0x1f, 0x0, 0x0, 0x1f, 0x0, 0x0, 0x1f, 0x0, 0x0, 0x1f, 0x0, 0x0, 0x1f, 0x0, 0x0, 0x1f, 0x0, 0x0, 0x3f, 0x80, 0x0, 0xff, 0xe0, 0x0} - -/* Q (81) */ -#define NXFONT_METRICS_81 {3, 22, 27, 2, 14, 0} -#define NXFONT_BITMAP_81 {0x1, 0xfc, 0x0, 0x7, 0xff, 0x0, 0xf, 0x8f, 0x80, 0x1e, 0x3, 0xc0, 0x3c, 0x1, 0xe0, 0x7c, 0x1, 0xf0, 0x78, 0x0, 0xf0, 0xf8, 0x0, 0xf8, 0xf8, 0x0, 0xf8, 0xf8, 0x0, 0xf8, 0xf8, 0x0, 0xf8, 0xf8, 0x0, 0xf8, 0xf8, 0x0, 0xf8, 0xf8, 0x0, 0xf8, 0xf8, 0x0, 0xf8, 0xf8, 0x0, 0xf8, 0xf8, 0x0, 0xf8, 0x7c, 0x1, 0xf0, 0x7c, 0x1, 0xf0, 0x3e, 0x3, 0xe0, 0x1f, 0x7, 0xc0, 0x7, 0xff, 0x0, 0x1, 0xfc, 0x0, 0x0, 0xfe, 0x0, 0x0, 0x7f, 0x84, 0x0, 0x1f, 0xf8, 0x0, 0x7, 0xe0} - -/* R (82) */ -#define NXFONT_METRICS_82 {3, 22, 23, 1, 14, 0} -#define NXFONT_BITMAP_82 {0xff, 0xfc, 0x0, 0x3f, 0x1f, 0x80, 0x1f, 0x7, 0xc0, 0x1f, 0x7, 0xe0, 0x1f, 0x3, 0xe0, 0x1f, 0x3, 0xe0, 0x1f, 0x3, 0xe0, 0x1f, 0x3, 0xe0, 0x1f, 0x7, 0xe0, 0x1f, 0x7, 0xc0, 0x1f, 0x1f, 0x80, 0x1f, 0xfc, 0x0, 0x1f, 0x7e, 0x0, 0x1f, 0x3e, 0x0, 0x1f, 0x3f, 0x0, 0x1f, 0x1f, 0x80, 0x1f, 0x1f, 0x80, 0x1f, 0xf, 0xc0, 0x1f, 0x7, 0xe0, 0x1f, 0x7, 0xe0, 0x1f, 0x3, 0xf0, 0x3f, 0x81, 0xf8, 0xff, 0xe1, 0xfc} - -/* S (83) */ -#define NXFONT_METRICS_83 {2, 15, 23, 1, 14, 0} -#define NXFONT_BITMAP_83 {0xf, 0xc4, 0x38, 0x7c, 0x70, 0x3c, 0x70, 0x1c, 0xf0, 0xc, 0xf0, 0xc, 0xf8, 0x4, 0xfc, 0x0, 0xff, 0x0, 0x7f, 0xc0, 0x3f, 0xf0, 0x1f, 0xf8, 0xf, 0xfc, 0x3, 0xfc, 0x1, 0xfe, 0x80, 0x7e, 0x80, 0x3e, 0xc0, 0x1e, 0xc0, 0x1e, 0xe0, 0x1c, 0xf0, 0x1c, 0xf8, 0x38, 0x8f, 0xe0} - -/* T (84) */ -#define NXFONT_METRICS_84 {3, 19, 23, 1, 14, 0} -#define NXFONT_BITMAP_84 {0xff, 0xff, 0xe0, 0xf9, 0xf3, 0xe0, 0xe1, 0xf0, 0xe0, 0xc1, 0xf0, 0x60, 0x81, 0xf0, 0x20, 0x81, 0xf0, 0x20, 0x81, 0xf0, 0x20, 0x1, 0xf0, 0x0, 0x1, 0xf0, 0x0, 0x1, 0xf0, 0x0, 0x1, 0xf0, 0x0, 0x1, 0xf0, 0x0, 0x1, 0xf0, 0x0, 0x1, 0xf0, 0x0, 0x1, 0xf0, 0x0, 0x1, 0xf0, 0x0, 0x1, 0xf0, 0x0, 0x1, 0xf0, 0x0, 0x1, 0xf0, 0x0, 0x1, 0xf0, 0x0, 0x1, 0xf0, 0x0, 0x3, 0xf8, 0x0, 0xf, 0xfe, 0x0} - -/* U (85) */ -#define NXFONT_METRICS_85 {3, 23, 23, 0, 14, 0} -#define NXFONT_BITMAP_85 {0xff, 0xe0, 0xfe, 0x3f, 0x80, 0x38, 0x1f, 0x0, 0x10, 0x1f, 0x0, 0x10, 0x1f, 0x0, 0x10, 0x1f, 0x0, 0x10, 0x1f, 0x0, 0x10, 0x1f, 0x0, 0x10, 0x1f, 0x0, 0x10, 0x1f, 0x0, 0x10, 0x1f, 0x0, 0x10, 0x1f, 0x0, 0x10, 0x1f, 0x0, 0x10, 0x1f, 0x0, 0x10, 0x1f, 0x0, 0x10, 0x1f, 0x0, 0x10, 0x1f, 0x0, 0x10, 0x1f, 0x0, 0x10, 0xf, 0x80, 0x30, 0xf, 0x80, 0x60, 0x7, 0xc0, 0xc0, 0x3, 0xff, 0x80, 0x0, 0xfe, 0x0} - -/* V (86) */ -#define NXFONT_METRICS_86 {3, 22, 23, 1, 14, 0} -#define NXFONT_BITMAP_86 {0xff, 0xc3, 0xfc, 0x7f, 0x0, 0xf0, 0x3e, 0x0, 0x60, 0x3f, 0x0, 0x40, 0x1f, 0x0, 0xc0, 0x1f, 0x80, 0xc0, 0xf, 0x80, 0x80, 0xf, 0x81, 0x80, 0xf, 0xc1, 0x0, 0x7, 0xc1, 0x0, 0x7, 0xc3, 0x0, 0x3, 0xe2, 0x0, 0x3, 0xe6, 0x0, 0x3, 0xf6, 0x0, 0x1, 0xf4, 0x0, 0x1, 0xfc, 0x0, 0x0, 0xf8, 0x0, 0x0, 0xf8, 0x0, 0x0, 0xf8, 0x0, 0x0, 0x70, 0x0, 0x0, 0x70, 0x0, 0x0, 0x20, 0x0, 0x0, 0x20, 0x0} - -/* W (87) */ -#define NXFONT_METRICS_87 {4, 32, 23, 0, 14, 0} -#define NXFONT_BITMAP_87 {0xff, 0xef, 0xff, 0x3f, 0x7f, 0x3, 0xf8, 0xe, 0x3f, 0x1, 0xf8, 0xc, 0x1f, 0x1, 0xf8, 0xc, 0x1f, 0x1, 0xf8, 0x8, 0x1f, 0x81, 0xfc, 0x18, 0xf, 0x81, 0xfc, 0x18, 0xf, 0x81, 0x7c, 0x10, 0xf, 0xc3, 0x7c, 0x30, 0x7, 0xc2, 0x7e, 0x30, 0x7, 0xc6, 0x3e, 0x20, 0x7, 0xe6, 0x3e, 0x60, 0x3, 0xe4, 0x3e, 0x60, 0x3, 0xec, 0x1f, 0x40, 0x3, 0xf8, 0x1f, 0xc0, 0x1, 0xf8, 0x1f, 0xc0, 0x1, 0xf8, 0xf, 0x80, 0x1, 0xf0, 0xf, 0x80, 0x0, 0xf0, 0xf, 0x80, 0x0, 0xe0, 0x7, 0x0, 0x0, 0xe0, 0x7, 0x0, 0x0, 0xe0, 0x7, 0x0, 0x0, 0x40, 0x2, 0x0} - -/* X (88) */ -#define NXFONT_METRICS_88 {3, 21, 23, 1, 14, 0} -#define NXFONT_BITMAP_88 {0xff, 0xcf, 0xe0, 0x7f, 0x3, 0x0, 0x3f, 0x2, 0x0, 0x1f, 0x86, 0x0, 0x1f, 0x84, 0x0, 0xf, 0xcc, 0x0, 0xf, 0xc8, 0x0, 0x7, 0xf8, 0x0, 0x3, 0xf0, 0x0, 0x3, 0xf0, 0x0, 0x1, 0xf8, 0x0, 0x0, 0xf8, 0x0, 0x1, 0xfc, 0x0, 0x1, 0x7c, 0x0, 0x3, 0x3e, 0x0, 0x2, 0x3f, 0x0, 0x6, 0x1f, 0x0, 0x4, 0x1f, 0x80, 0xc, 0xf, 0xc0, 0x8, 0xf, 0xc0, 0x18, 0x7, 0xe0, 0x38, 0x7, 0xf0, 0xfe, 0x3f, 0xf8} - -/* Y (89) */ -#define NXFONT_METRICS_89 {3, 22, 23, 1, 14, 0} -#define NXFONT_BITMAP_89 {0xff, 0xc3, 0xfc, 0x7f, 0x0, 0xf0, 0x3f, 0x0, 0x60, 0x3f, 0x0, 0x60, 0x1f, 0x80, 0xc0, 0x1f, 0x80, 0x80, 0xf, 0xc1, 0x80, 0xf, 0xc3, 0x0, 0x7, 0xe3, 0x0, 0x3, 0xe6, 0x0, 0x3, 0xf4, 0x0, 0x1, 0xfc, 0x0, 0x1, 0xf8, 0x0, 0x0, 0xf8, 0x0, 0x0, 0xf8, 0x0, 0x0, 0xf8, 0x0, 0x0, 0xf8, 0x0, 0x0, 0xf8, 0x0, 0x0, 0xf8, 0x0, 0x0, 0xf8, 0x0, 0x0, 0xf8, 0x0, 0x1, 0xfc, 0x0, 0x7, 0xff, 0x0} - -/* Z (90) */ -#define NXFONT_METRICS_90 {3, 19, 23, 1, 14, 0} -#define NXFONT_BITMAP_90 {0x3f, 0xff, 0xc0, 0x7e, 0xf, 0x80, 0x78, 0x1f, 0x80, 0x70, 0x1f, 0x0, 0x60, 0x3f, 0x0, 0x40, 0x7e, 0x0, 0x0, 0x7e, 0x0, 0x0, 0xfc, 0x0, 0x0, 0xfc, 0x0, 0x1, 0xf8, 0x0, 0x1, 0xf0, 0x0, 0x3, 0xf0, 0x0, 0x3, 0xe0, 0x0, 0x7, 0xe0, 0x0, 0x7, 0xc0, 0x0, 0xf, 0xc0, 0x20, 0x1f, 0x80, 0x20, 0x1f, 0x80, 0x60, 0x3f, 0x0, 0x60, 0x3f, 0x0, 0xe0, 0x7e, 0x1, 0xe0, 0x7e, 0x7, 0xc0, 0xff, 0xff, 0xc0} - -/* bracketleft (91) */ -#define NXFONT_METRICS_91 {1, 7, 28, 2, 14, 0} -#define NXFONT_BITMAP_91 {0xfe, 0xf0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xf0, 0xfe} - -/* backslash (92) */ -#define NXFONT_METRICS_92 {1, 8, 26, 0, 11, 0} -#define NXFONT_BITMAP_92 {0x80, 0xc0, 0xc0, 0xc0, 0x60, 0x60, 0x60, 0x60, 0x30, 0x30, 0x30, 0x18, 0x18, 0x18, 0x18, 0xc, 0xc, 0xc, 0x4, 0x6, 0x6, 0x6, 0x3, 0x3, 0x3, 0x3} - -/* bracketright (93) */ -#define NXFONT_METRICS_93 {1, 7, 28, 1, 14, 0} -#define NXFONT_BITMAP_93 {0xfe, 0x1e, 0xe, 0xe, 0xe, 0xe, 0xe, 0xe, 0xe, 0xe, 0xe, 0xe, 0xe, 0xe, 0xe, 0xe, 0xe, 0xe, 0xe, 0xe, 0xe, 0xe, 0xe, 0xe, 0xe, 0xe, 0x1e, 0xfe} - -/* asciicircum (94) */ -#define NXFONT_METRICS_94 {2, 11, 13, 4, 14, 0} -#define NXFONT_BITMAP_94 {0xe, 0x0, 0xe, 0x0, 0x1f, 0x0, 0x1f, 0x0, 0x1b, 0x0, 0x3b, 0x80, 0x3b, 0x80, 0x71, 0xc0, 0x71, 0xc0, 0x61, 0xc0, 0xe0, 0xe0, 0xe0, 0xe0, 0xc0, 0x60} - -/* underscore (95) */ -#define NXFONT_METRICS_95 {2, 16, 3, 0, 39, 0} -#define NXFONT_BITMAP_95 {0xff, 0xff, 0xff, 0xff, 0xff, 0xff} - -/* grave (96) */ -#define NXFONT_METRICS_96 {1, 7, 6, 1, 14, 0} -#define NXFONT_BITMAP_96 {0xc0, 0xe0, 0x70, 0x38, 0xc, 0x2} - -/* a (97) */ -#define NXFONT_METRICS_97 {2, 14, 16, 1, 21, 0} -#define NXFONT_BITMAP_97 {0x1f, 0x80, 0x31, 0xe0, 0x70, 0xf0, 0x78, 0xf0, 0x78, 0xf0, 0x30, 0xf0, 0x1, 0xf0, 0x7, 0xf0, 0x1c, 0xf0, 0x38, 0xf0, 0x78, 0xf0, 0xf0, 0xf0, 0xf9, 0xf0, 0xff, 0xf4, 0x7e, 0xfc, 0x3c, 0x78} - -/* b (98) */ -#define NXFONT_METRICS_98 {3, 17, 22, 0, 15, 0} -#define NXFONT_BITMAP_98 {0xfc, 0x0, 0x0, 0x7c, 0x0, 0x0, 0x3c, 0x0, 0x0, 0x3c, 0x0, 0x0, 0x3c, 0x0, 0x0, 0x3c, 0x0, 0x0, 0x3c, 0x78, 0x0, 0x3d, 0xfe, 0x0, 0x3f, 0xfe, 0x0, 0x3e, 0x1f, 0x0, 0x3c, 0x1f, 0x0, 0x3c, 0xf, 0x80, 0x3c, 0xf, 0x80, 0x3c, 0xf, 0x80, 0x3c, 0xf, 0x80, 0x3c, 0xf, 0x80, 0x3c, 0xf, 0x80, 0x3c, 0xf, 0x0, 0x3c, 0x1f, 0x0, 0x3e, 0x3e, 0x0, 0x37, 0xfc, 0x0, 0x21, 0xf0, 0x0} - -/* c (99) */ -#define NXFONT_METRICS_99 {2, 14, 16, 1, 21, 0} -#define NXFONT_BITMAP_99 {0x7, 0xf0, 0x1e, 0x78, 0x3c, 0x3c, 0x7c, 0x3c, 0x78, 0x18, 0xf8, 0x0, 0xf8, 0x0, 0xf8, 0x0, 0xf8, 0x0, 0xf8, 0x0, 0xf8, 0x0, 0xf8, 0x0, 0x7c, 0x0, 0x3e, 0x18, 0x1f, 0xf0, 0xf, 0xe0} - -/* d (100) */ -#define NXFONT_METRICS_100 {2, 16, 22, 1, 15, 0} -#define NXFONT_BITMAP_100 {0x0, 0xfc, 0x0, 0x7c, 0x0, 0x3c, 0x0, 0x3c, 0x0, 0x3c, 0x0, 0x3c, 0xf, 0xbc, 0x3f, 0xfc, 0x7c, 0x3c, 0x78, 0x3c, 0xf8, 0x3c, 0xf0, 0x3c, 0xf0, 0x3c, 0xf0, 0x3c, 0xf0, 0x3c, 0xf0, 0x3c, 0xf0, 0x3c, 0xf0, 0x3c, 0x78, 0x3c, 0x7c, 0x7e, 0x3f, 0xff, 0xf, 0xb8} - -/* e (101) */ -#define NXFONT_METRICS_101 {2, 14, 16, 0, 21, 0} -#define NXFONT_BITMAP_101 {0x7, 0xc0, 0x1e, 0xf0, 0x3c, 0x70, 0x78, 0x38, 0x78, 0x3c, 0xf8, 0x3c, 0xf8, 0x3c, 0xff, 0xfc, 0xf8, 0x0, 0xf8, 0x0, 0xf8, 0x0, 0x78, 0x0, 0x7c, 0x0, 0x3e, 0x18, 0x1f, 0xf0, 0x7, 0xe0} - -/* f (102) */ -#define NXFONT_METRICS_102 {2, 12, 23, 0, 14, 0} -#define NXFONT_BITMAP_102 {0x7, 0xe0, 0x1e, 0x70, 0x1c, 0xf0, 0x3c, 0xf0, 0x3c, 0x60, 0x3c, 0x0, 0x3c, 0x0, 0xff, 0x80, 0xff, 0x80, 0x3c, 0x0, 0x3c, 0x0, 0x3c, 0x0, 0x3c, 0x0, 0x3c, 0x0, 0x3c, 0x0, 0x3c, 0x0, 0x3c, 0x0, 0x3c, 0x0, 0x3c, 0x0, 0x3c, 0x0, 0x3c, 0x0, 0x7e, 0x0, 0xff, 0x0} - -/* g (103) */ -#define NXFONT_METRICS_103 {2, 14, 23, 1, 21, 0} -#define NXFONT_BITMAP_103 {0xf, 0xc0, 0x3d, 0xfc, 0x70, 0xfc, 0xf0, 0xf0, 0xf0, 0x78, 0xf0, 0x78, 0xf0, 0x78, 0xf0, 0x78, 0x78, 0xf8, 0x3f, 0xf0, 0x1f, 0xc0, 0x3c, 0x0, 0x60, 0x0, 0xe0, 0x0, 0xff, 0xe0, 0xff, 0xf8, 0x7f, 0xfc, 0x30, 0x3c, 0x60, 0x1c, 0xc0, 0xc, 0xe0, 0x1c, 0x7f, 0xf8, 0x1f, 0xe0} - -/* h (104) */ -#define NXFONT_METRICS_104 {3, 17, 22, 0, 15, 0} -#define NXFONT_BITMAP_104 {0xfc, 0x0, 0x0, 0x7c, 0x0, 0x0, 0x3c, 0x0, 0x0, 0x3c, 0x0, 0x0, 0x3c, 0x0, 0x0, 0x3c, 0x0, 0x0, 0x3c, 0x78, 0x0, 0x3d, 0xfc, 0x0, 0x3f, 0xfe, 0x0, 0x3e, 0x3e, 0x0, 0x3c, 0x1e, 0x0, 0x3c, 0x1e, 0x0, 0x3c, 0x1e, 0x0, 0x3c, 0x1e, 0x0, 0x3c, 0x1e, 0x0, 0x3c, 0x1e, 0x0, 0x3c, 0x1e, 0x0, 0x3c, 0x1e, 0x0, 0x3c, 0x1e, 0x0, 0x3c, 0x1e, 0x0, 0x7e, 0x3f, 0x0, 0xff, 0x7f, 0x80} - -/* i (105) */ -#define NXFONT_METRICS_105 {1, 8, 23, 0, 14, 0} -#define NXFONT_BITMAP_105 {0x18, 0x3c, 0x3c, 0x3c, 0x18, 0x0, 0x0, 0xfc, 0x7c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x7e, 0xff} - -/* j (106) -- NOTE: Xoffset should be -2, not 0. */ -#define NXFONT_METRICS_106 {2, 10, 30, 0, 14, 0} -#define NXFONT_BITMAP_106 {0x1, 0x80, 0x3, 0xc0, 0x3, 0xc0, 0x3, 0xc0, 0x1, 0x80, 0x0, 0x0, 0x0, 0x0, 0xf, 0xc0, 0x7, 0xc0, 0x3, 0xc0, 0x3, 0xc0, 0x3, 0xc0, 0x3, 0xc0, 0x3, 0xc0, 0x3, 0xc0, 0x3, 0xc0, 0x3, 0xc0, 0x3, 0xc0, 0x3, 0xc0, 0x3, 0xc0, 0x3, 0xc0, 0x3, 0xc0, 0x3, 0xc0, 0x3, 0xc0, 0x3, 0xc0, 0x63, 0xc0, 0xf3, 0xc0, 0xf3, 0x80, 0x77, 0x80, 0x3e, 0x0} - -/* k (107) */ -#define NXFONT_METRICS_107 {3, 18, 22, 0, 15, 0} -#define NXFONT_BITMAP_107 {0xfc, 0x0, 0x0, 0x7c, 0x0, 0x0, 0x3c, 0x0, 0x0, 0x3c, 0x0, 0x0, 0x3c, 0x0, 0x0, 0x3c, 0x0, 0x0, 0x3c, 0x1f, 0x0, 0x3c, 0xe, 0x0, 0x3c, 0xc, 0x0, 0x3c, 0x18, 0x0, 0x3c, 0x30, 0x0, 0x3c, 0x60, 0x0, 0x3c, 0xc0, 0x0, 0x3d, 0xc0, 0x0, 0x3f, 0xe0, 0x0, 0x3d, 0xf0, 0x0, 0x3c, 0xf8, 0x0, 0x3c, 0x7c, 0x0, 0x3c, 0x3e, 0x0, 0x3c, 0x1f, 0x0, 0x7e, 0xf, 0x80, 0xff, 0x1f, 0xc0} - -/* l (108) */ -#define NXFONT_METRICS_108 {1, 8, 22, 0, 15, 0} -#define NXFONT_BITMAP_108 {0xfc, 0x7c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x7e, 0xff} - -/* m (109) */ -#define NXFONT_METRICS_109 {4, 26, 16, 0, 21, 0} -#define NXFONT_BITMAP_109 {0xfc, 0x78, 0x3c, 0x0, 0x7d, 0xfe, 0xfe, 0x0, 0x3f, 0x3f, 0x9f, 0x0, 0x3e, 0x3f, 0x1f, 0x0, 0x3e, 0x1e, 0xf, 0x0, 0x3c, 0x1e, 0xf, 0x0, 0x3c, 0x1e, 0xf, 0x0, 0x3c, 0x1e, 0xf, 0x0, 0x3c, 0x1e, 0xf, 0x0, 0x3c, 0x1e, 0xf, 0x0, 0x3c, 0x1e, 0xf, 0x0, 0x3c, 0x1e, 0xf, 0x0, 0x3c, 0x1e, 0xf, 0x0, 0x3c, 0x1e, 0xf, 0x0, 0x7e, 0x3f, 0x1f, 0x80, 0xff, 0x7f, 0xbf, 0xc0} - -/* n (110) */ -#define NXFONT_METRICS_110 {3, 17, 16, 0, 21, 0} -#define NXFONT_BITMAP_110 {0xfc, 0x78, 0x0, 0x7d, 0xfc, 0x0, 0x3f, 0x3e, 0x0, 0x3e, 0x1e, 0x0, 0x3e, 0x1e, 0x0, 0x3c, 0x1e, 0x0, 0x3c, 0x1e, 0x0, 0x3c, 0x1e, 0x0, 0x3c, 0x1e, 0x0, 0x3c, 0x1e, 0x0, 0x3c, 0x1e, 0x0, 0x3c, 0x1e, 0x0, 0x3c, 0x1e, 0x0, 0x3c, 0x1e, 0x0, 0x7e, 0x3f, 0x0, 0xff, 0x7f, 0x80} - -/* o (111) */ -#define NXFONT_METRICS_111 {2, 14, 16, 1, 21, 0} -#define NXFONT_BITMAP_111 {0xf, 0xc0, 0x3c, 0xf0, 0x78, 0x78, 0x78, 0x78, 0xf0, 0x3c, 0xf0, 0x3c, 0xf0, 0x3c, 0xf0, 0x3c, 0xf0, 0x3c, 0xf0, 0x3c, 0xf0, 0x3c, 0xf0, 0x3c, 0x78, 0x78, 0x78, 0x78, 0x3c, 0xf0, 0xf, 0xc0} - -/* p (112) */ -#define NXFONT_METRICS_112 {3, 17, 23, 0, 21, 0} -#define NXFONT_BITMAP_112 {0xfc, 0xf8, 0x0, 0x7d, 0xfe, 0x0, 0x3f, 0x1f, 0x0, 0x3e, 0xf, 0x0, 0x3c, 0xf, 0x80, 0x3c, 0x7, 0x80, 0x3c, 0x7, 0x80, 0x3c, 0x7, 0x80, 0x3c, 0x7, 0x80, 0x3c, 0x7, 0x80, 0x3c, 0x7, 0x80, 0x3c, 0x7, 0x80, 0x3e, 0xf, 0x0, 0x3f, 0xf, 0x0, 0x3f, 0xfe, 0x0, 0x3c, 0xf8, 0x0, 0x3c, 0x0, 0x0, 0x3c, 0x0, 0x0, 0x3c, 0x0, 0x0, 0x3c, 0x0, 0x0, 0x3c, 0x0, 0x0, 0x7e, 0x0, 0x0, 0xff, 0x0, 0x0} - -/* q (113) */ -#define NXFONT_METRICS_113 {2, 16, 23, 1, 21, 0} -#define NXFONT_BITMAP_113 {0xf, 0xc4, 0x3e, 0xec, 0x7c, 0x3c, 0x78, 0x3c, 0xf8, 0x3c, 0xf0, 0x3c, 0xf0, 0x3c, 0xf0, 0x3c, 0xf0, 0x3c, 0xf0, 0x3c, 0xf0, 0x3c, 0xf0, 0x3c, 0x78, 0x3c, 0x78, 0x7c, 0x3f, 0xfc, 0xf, 0x3c, 0x0, 0x3c, 0x0, 0x3c, 0x0, 0x3c, 0x0, 0x3c, 0x0, 0x3c, 0x0, 0x7e, 0x0, 0xff} - -/* r (114) */ -#define NXFONT_METRICS_114 {2, 13, 16, 1, 21, 0} -#define NXFONT_BITMAP_114 {0xfc, 0x70, 0x7c, 0xf8, 0x3f, 0xf8, 0x3f, 0x78, 0x3e, 0x30, 0x3c, 0x0, 0x3c, 0x0, 0x3c, 0x0, 0x3c, 0x0, 0x3c, 0x0, 0x3c, 0x0, 0x3c, 0x0, 0x3c, 0x0, 0x3c, 0x0, 0x7e, 0x0, 0xff, 0x0} - -/* s (115) */ -#define NXFONT_METRICS_115 {2, 10, 16, 1, 21, 0} -#define NXFONT_BITMAP_115 {0x1f, 0x40, 0x71, 0xc0, 0x60, 0xc0, 0xe0, 0xc0, 0xf0, 0x40, 0xfc, 0x0, 0x7f, 0x0, 0x7f, 0x80, 0x3f, 0x80, 0xf, 0xc0, 0x3, 0xc0, 0x81, 0xc0, 0xc1, 0xc0, 0xc1, 0xc0, 0xe3, 0x80, 0xbf, 0x0} - -/* t (116) */ -#define NXFONT_METRICS_116 {2, 10, 21, 0, 16, 0} -#define NXFONT_BITMAP_116 {0x4, 0x0, 0xc, 0x0, 0x1c, 0x0, 0x1c, 0x0, 0x3c, 0x0, 0x7f, 0x80, 0xff, 0x80, 0x3c, 0x0, 0x3c, 0x0, 0x3c, 0x0, 0x3c, 0x0, 0x3c, 0x0, 0x3c, 0x0, 0x3c, 0x0, 0x3c, 0x0, 0x3c, 0x0, 0x3c, 0x0, 0x3c, 0x40, 0x3e, 0xc0, 0x3f, 0x80, 0x1e, 0x0} - -/* u (117) */ -#define NXFONT_METRICS_117 {3, 17, 16, 0, 21, 0} -#define NXFONT_BITMAP_117 {0xfc, 0x7e, 0x0, 0x7c, 0x3e, 0x0, 0x3c, 0x1e, 0x0, 0x3c, 0x1e, 0x0, 0x3c, 0x1e, 0x0, 0x3c, 0x1e, 0x0, 0x3c, 0x1e, 0x0, 0x3c, 0x1e, 0x0, 0x3c, 0x1e, 0x0, 0x3c, 0x1e, 0x0, 0x3c, 0x1e, 0x0, 0x3c, 0x1e, 0x0, 0x3c, 0x3e, 0x0, 0x3e, 0x5f, 0x0, 0x1f, 0xdf, 0x80, 0x7, 0x8c, 0x0} - -/* v (118) */ -#define NXFONT_METRICS_118 {2, 15, 16, 0, 21, 0} -#define NXFONT_BITMAP_118 {0xff, 0x3e, 0x7c, 0xc, 0x3c, 0x8, 0x3e, 0x18, 0x1e, 0x10, 0x1f, 0x10, 0x1f, 0x30, 0xf, 0x20, 0xf, 0x20, 0x7, 0xe0, 0x7, 0xc0, 0x7, 0xc0, 0x3, 0x80, 0x3, 0x80, 0x1, 0x0, 0x1, 0x0} - -/* w (119) */ -#define NXFONT_METRICS_119 {3, 23, 16, 0, 21, 0} -#define NXFONT_BITMAP_119 {0xff, 0x7f, 0xbe, 0x7e, 0x3e, 0x1c, 0x3c, 0x1e, 0x8, 0x3e, 0x1e, 0x18, 0x1e, 0x1f, 0x10, 0x1f, 0x1f, 0x30, 0x1f, 0x3f, 0x30, 0xf, 0x2f, 0xa0, 0xf, 0xe7, 0xe0, 0x7, 0xe7, 0xc0, 0x7, 0xc7, 0xc0, 0x7, 0xc3, 0xc0, 0x3, 0x83, 0x80, 0x3, 0x83, 0x80, 0x1, 0x1, 0x0, 0x1, 0x1, 0x0} - -/* x (120) */ -#define NXFONT_METRICS_120 {2, 16, 16, 0, 21, 0} -#define NXFONT_BITMAP_120 {0xff, 0x3e, 0x7e, 0x18, 0x3e, 0x18, 0x1f, 0x30, 0x1f, 0x60, 0xf, 0xc0, 0xf, 0xc0, 0x7, 0xc0, 0x3, 0xe0, 0x3, 0xe0, 0x7, 0xf0, 0xd, 0xf8, 0x18, 0xf8, 0x18, 0x7c, 0x30, 0x7c, 0xfc, 0xff} - -/* y (121) */ -#define NXFONT_METRICS_121 {2, 15, 23, 0, 21, 0} -#define NXFONT_BITMAP_121 {0xff, 0xbe, 0x7e, 0xc, 0x3e, 0x8, 0x3e, 0x8, 0x1f, 0x18, 0x1f, 0x10, 0xf, 0x10, 0xf, 0xb0, 0xf, 0xa0, 0x7, 0xa0, 0x7, 0xe0, 0x7, 0xc0, 0x3, 0xc0, 0x3, 0xc0, 0x1, 0x80, 0x1, 0x80, 0x1, 0x80, 0x1, 0x0, 0x73, 0x0, 0xf3, 0x0, 0xf6, 0x0, 0xfe, 0x0, 0x78, 0x0} - -/* z (122) */ -#define NXFONT_METRICS_122 {2, 12, 16, 1, 21, 0} -#define NXFONT_BITMAP_122 {0xff, 0xf0, 0xe3, 0xf0, 0xc3, 0xe0, 0x87, 0xe0, 0x87, 0xc0, 0xf, 0x80, 0xf, 0x80, 0x1f, 0x0, 0x1f, 0x0, 0x3e, 0x0, 0x3e, 0x10, 0x7c, 0x10, 0x7c, 0x30, 0xf8, 0x30, 0xf8, 0xf0, 0xff, 0xf0} - -/* braceleft (123) */ -#define NXFONT_METRICS_123 {2, 10, 27, 1, 14, 0} -#define NXFONT_BITMAP_123 {0x7, 0xc0, 0xe, 0x0, 0x1c, 0x0, 0x1c, 0x0, 0x1c, 0x0, 0x1c, 0x0, 0x1c, 0x0, 0x1c, 0x0, 0x1c, 0x0, 0x1c, 0x0, 0x1c, 0x0, 0x38, 0x0, 0x70, 0x0, 0xe0, 0x0, 0x70, 0x0, 0x38, 0x0, 0x1c, 0x0, 0x1c, 0x0, 0x1c, 0x0, 0x1c, 0x0, 0x1c, 0x0, 0x1c, 0x0, 0x1c, 0x0, 0x1c, 0x0, 0x1c, 0x0, 0xe, 0x0, 0x7, 0xc0} - -/* bar (124) */ -#define NXFONT_METRICS_124 {1, 2, 30, 3, 14, 0} -#define NXFONT_BITMAP_124 {0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0} - -/* braceright (125) */ -#define NXFONT_METRICS_125 {2, 10, 27, 1, 14, 0} -#define NXFONT_BITMAP_125 {0xf8, 0x0, 0x1c, 0x0, 0xe, 0x0, 0xe, 0x0, 0xe, 0x0, 0xe, 0x0, 0xe, 0x0, 0xe, 0x0, 0xe, 0x0, 0xe, 0x0, 0xe, 0x0, 0x7, 0x0, 0x3, 0x80, 0x1, 0xc0, 0x3, 0x80, 0x7, 0x0, 0xe, 0x0, 0xe, 0x0, 0xe, 0x0, 0xe, 0x0, 0xe, 0x0, 0xe, 0x0, 0xe, 0x0, 0xe, 0x0, 0xe, 0x0, 0x1c, 0x0, 0xf8, 0x0} - -/* asciitilde (126) */ -#define NXFONT_METRICS_126 {2, 15, 8, 1, 21, 0} -#define NXFONT_BITMAP_126 {0x1c, 0x0, 0x3f, 0x0, 0x7f, 0x82, 0xff, 0xc6, 0x8f, 0xfe, 0x83, 0xfc, 0x1, 0xf8, 0x0, 0x70} - -/* exclamdown (161) */ -#define NXFONT_METRICS_161 {1, 5, 23, 3, 21, 0} -#define NXFONT_BITMAP_161 {0x70, 0xf8, 0xf8, 0xf8, 0x70, 0x0, 0x0, 0x0, 0x20, 0x20, 0x20, 0x20, 0x70, 0x70, 0x70, 0x70, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0x70} - -/* cent (162) */ -#define NXFONT_METRICS_162 {2, 13, 25, 1, 17, 0} -#define NXFONT_BITMAP_162 {0x0, 0x8, 0x0, 0x8, 0x0, 0x18, 0x0, 0x10, 0x7, 0xf0, 0x1c, 0xe0, 0x38, 0xf0, 0x78, 0xf0, 0xf0, 0xf0, 0xf0, 0xe0, 0xf0, 0x80, 0xf1, 0x80, 0xf1, 0x0, 0xf3, 0x0, 0xf2, 0x0, 0xfa, 0x10, 0x7e, 0x30, 0x7f, 0xe0, 0x3f, 0xc0, 0xf, 0x0, 0x8, 0x0, 0x10, 0x0, 0x10, 0x0, 0x20, 0x0, 0x20, 0x0} - -/* sterling (163) */ -#define NXFONT_METRICS_163 {2, 16, 23, 1, 14, 0} -#define NXFONT_BITMAP_163 {0x0, 0xf0, 0x3, 0xfc, 0x7, 0x1e, 0xe, 0x1e, 0xe, 0x1e, 0x1e, 0xc, 0x1e, 0x0, 0x1e, 0x0, 0x1f, 0x0, 0xf, 0x0, 0xf, 0x0, 0x7f, 0xf0, 0x7f, 0xf0, 0x7, 0x80, 0x7, 0x80, 0x7, 0x80, 0x37, 0x80, 0x7f, 0x1, 0xef, 0x3, 0xc7, 0x87, 0xc7, 0xff, 0xee, 0xfe, 0x7c, 0x7c} - -/* currency (164) */ -#define NXFONT_METRICS_164 {2, 14, 15, 1, 18, 0} -#define NXFONT_BITMAP_164 {0x60, 0x18, 0xf7, 0xbc, 0xff, 0xfc, 0x7f, 0xf8, 0x3c, 0xf0, 0x78, 0x78, 0x70, 0x38, 0x70, 0x38, 0x70, 0x38, 0x78, 0x78, 0x3c, 0xf0, 0x7f, 0xf8, 0xff, 0xfc, 0xf7, 0xbc, 0x60, 0x18} - -/* yen (165) */ -#define NXFONT_METRICS_165 {3, 18, 23, 1, 14, 0} -#define NXFONT_BITMAP_165 {0xff, 0x87, 0xc0, 0x3e, 0x3, 0x80, 0x3e, 0x3, 0x0, 0x1f, 0x3, 0x0, 0x1f, 0x6, 0x0, 0x1f, 0x86, 0x0, 0xf, 0x84, 0x0, 0xf, 0x8c, 0x0, 0x7, 0xc8, 0x0, 0x7, 0xd8, 0x0, 0x7, 0xd0, 0x0, 0x3, 0xf0, 0x0, 0x1f, 0xfc, 0x0, 0x1f, 0xfc, 0x0, 0x3, 0xe0, 0x0, 0x1f, 0xfc, 0x0, 0x1f, 0xfc, 0x0, 0x1, 0xe0, 0x0, 0x1, 0xe0, 0x0, 0x1, 0xe0, 0x0, 0x1, 0xe0, 0x0, 0x3, 0xf0, 0x0, 0xf, 0xfc, 0x0} - -/* brokenbar (166) */ -#define NXFONT_METRICS_166 {1, 2, 30, 3, 14, 0} -#define NXFONT_BITMAP_166 {0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0} - -/* section (167) */ -#define NXFONT_METRICS_167 {2, 12, 28, 2, 14, 0} -#define NXFONT_BITMAP_167 {0xf, 0x80, 0x18, 0xc0, 0x30, 0xe0, 0x71, 0xe0, 0x71, 0xe0, 0x78, 0xc0, 0x3c, 0x0, 0x3e, 0x0, 0x1f, 0x0, 0xf, 0x80, 0x3f, 0xc0, 0x63, 0xe0, 0xc1, 0xe0, 0xc0, 0xf0, 0xe0, 0x70, 0xf0, 0x30, 0x78, 0x30, 0x7c, 0x60, 0x3f, 0xc0, 0x1f, 0x80, 0x7, 0x80, 0x3, 0xc0, 0x31, 0xe0, 0x78, 0xe0, 0x78, 0xe0, 0x70, 0xc0, 0x31, 0x80, 0x1f, 0x0} - -/* dieresis (168) */ -#define NXFONT_METRICS_168 {1, 8, 4, 2, 15, 0} -#define NXFONT_BITMAP_168 {0x42, 0xe7, 0xe7, 0x42} - -/* copyright (169) */ -#define NXFONT_METRICS_169 {3, 22, 23, 1, 14, 0} -#define NXFONT_BITMAP_169 {0x1, 0xfe, 0x0, 0x7, 0xff, 0x80, 0xf, 0x3, 0xc0, 0x1c, 0x0, 0xe0, 0x38, 0x0, 0x70, 0x30, 0xfe, 0x30, 0x71, 0xc7, 0x38, 0x63, 0x83, 0x18, 0xe7, 0x83, 0x1c, 0xc7, 0x0, 0xc, 0xc7, 0x0, 0xc, 0xc7, 0x0, 0xc, 0xc7, 0x0, 0xc, 0xc7, 0x80, 0xc, 0xc3, 0xc3, 0xc, 0xe3, 0xe6, 0x1c, 0x60, 0xfc, 0x18, 0x70, 0x0, 0x38, 0x38, 0x0, 0x70, 0x1c, 0x0, 0xe0, 0xf, 0x3, 0xc0, 0x7, 0xff, 0x80, 0x1, 0xfe, 0x0} - -/* ordfeminine (170) */ -#define NXFONT_METRICS_170 {2, 9, 14, 0, 14, 0} -#define NXFONT_BITMAP_170 {0x3c, 0x0, 0x66, 0x0, 0x67, 0x0, 0x67, 0x0, 0x1f, 0x0, 0x67, 0x0, 0xc7, 0x0, 0xc7, 0x0, 0xef, 0x80, 0x73, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0x80, 0xff, 0x80} - -/* guillemotleft (171) */ -#define NXFONT_METRICS_171 {2, 14, 14, 2, 22, 0} -#define NXFONT_BITMAP_171 {0x2, 0x4, 0x6, 0xc, 0xe, 0x1c, 0x1c, 0x38, 0x38, 0x70, 0x70, 0xe0, 0xe1, 0xc0, 0xe1, 0xc0, 0x70, 0xe0, 0x38, 0x70, 0x1c, 0x38, 0xe, 0x1c, 0x6, 0xc, 0x2, 0x4} - -/* logicalnot (172) */ -#define NXFONT_METRICS_172 {2, 16, 9, 1, 25, 0} -#define NXFONT_BITMAP_172 {0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0, 0x7, 0x0, 0x7, 0x0, 0x7, 0x0, 0x7, 0x0, 0x7, 0x0, 0x7} - -/* hyphen (173) */ -#define NXFONT_METRICS_173 {1, 8, 4, 1, 27, 0} -#define NXFONT_BITMAP_173 {0xff, 0xff, 0xff, 0xff} - -/* registered (174) */ -#define NXFONT_METRICS_174 {3, 22, 23, 2, 14, 0} -#define NXFONT_BITMAP_174 {0x1, 0xfe, 0x0, 0x7, 0xff, 0x80, 0xf, 0x3, 0xc0, 0x1c, 0x0, 0xe0, 0x38, 0x0, 0x70, 0x33, 0xfc, 0x30, 0x71, 0xce, 0x38, 0x60, 0xc7, 0x18, 0xe0, 0xc7, 0x1c, 0xc0, 0xc7, 0xc, 0xc0, 0xce, 0xc, 0xc0, 0xf8, 0xc, 0xc0, 0xdc, 0xc, 0xc0, 0xce, 0xc, 0xc0, 0xc6, 0xc, 0xe0, 0xc7, 0x1c, 0x61, 0xc3, 0x98, 0x73, 0xe3, 0xf8, 0x38, 0x0, 0x70, 0x1c, 0x0, 0xe0, 0xf, 0x3, 0xc0, 0x7, 0xff, 0x80, 0x1, 0xfe, 0x0} - -/* macron (175) */ -#define NXFONT_METRICS_175 {2, 9, 2, 1, 17, 0} -#define NXFONT_BITMAP_175 {0xff, 0x80, 0xff, 0x80} - -/* degree (176) */ -#define NXFONT_METRICS_176 {2, 9, 10, 2, 14, 0} -#define NXFONT_BITMAP_176 {0x1c, 0x0, 0x7f, 0x0, 0x63, 0x0, 0xc1, 0x80, 0xc1, 0x80, 0xc1, 0x80, 0xc1, 0x80, 0x63, 0x0, 0x7f, 0x0, 0x3c, 0x0} - -/* plusminus (177) */ -#define NXFONT_METRICS_177 {2, 15, 19, 2, 18, 0} -#define NXFONT_BITMAP_177 {0x3, 0x80, 0x3, 0x80, 0x3, 0x80, 0x3, 0x80, 0x3, 0x80, 0x3, 0x80, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0x3, 0x80, 0x3, 0x80, 0x3, 0x80, 0x3, 0x80, 0x3, 0x80, 0x3, 0x80, 0x0, 0x0, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe} - -/* twosuperior (178) */ -#define NXFONT_METRICS_178 {2, 10, 14, 1, 14, 0} -#define NXFONT_BITMAP_178 {0x3e, 0x0, 0x7f, 0x0, 0xc7, 0x80, 0x83, 0x80, 0x3, 0x80, 0x3, 0x80, 0x3, 0x0, 0x6, 0x0, 0xc, 0x0, 0x18, 0x0, 0x30, 0x40, 0x7f, 0xc0, 0xff, 0x80, 0xff, 0x80} - -/* threesuperior (179) */ -#define NXFONT_METRICS_179 {2, 9, 14, 1, 14, 0} -#define NXFONT_BITMAP_179 {0x1e, 0x0, 0x3f, 0x0, 0x67, 0x80, 0x43, 0x80, 0x3, 0x0, 0x6, 0x0, 0x1f, 0x0, 0x7, 0x80, 0x3, 0x80, 0x3, 0x80, 0x3, 0x80, 0xc3, 0x80, 0xe7, 0x0, 0x7e, 0x0} - -/* acute (180) */ -#define NXFONT_METRICS_180 {1, 7, 6, 3, 14, 0} -#define NXFONT_BITMAP_180 {0x6, 0xe, 0x1c, 0x38, 0x60, 0x80} - -/* mu (181) */ -#define NXFONT_METRICS_181 {2, 16, 22, 2, 21, 0} -#define NXFONT_BITMAP_181 {0xf8, 0xfc, 0x78, 0x7c, 0x78, 0x3c, 0x78, 0x3c, 0x78, 0x3c, 0x78, 0x3c, 0x78, 0x3c, 0x78, 0x3c, 0x78, 0x3c, 0x78, 0x3c, 0x78, 0x3c, 0x78, 0x3c, 0x78, 0x7c, 0x7c, 0xfc, 0x7f, 0xbf, 0x5f, 0x38, 0x40, 0x0, 0xe0, 0x0, 0xe0, 0x0, 0xe0, 0x0, 0xe0, 0x0, 0xe0, 0x0} - -/* paragraph (182) */ -#define NXFONT_METRICS_182 {2, 16, 29, 1, 14, 0} -#define NXFONT_BITMAP_182 {0xf, 0xff, 0x3f, 0xff, 0x3f, 0x8c, 0x7f, 0x8c, 0xff, 0x8c, 0xff, 0x8c, 0xff, 0x8c, 0xff, 0x8c, 0xff, 0x8c, 0xff, 0x8c, 0xff, 0x8c, 0x7f, 0x8c, 0x3f, 0x8c, 0x3f, 0x8c, 0xf, 0x8c, 0x1, 0x8c, 0x1, 0x8c, 0x1, 0x8c, 0x1, 0x8c, 0x1, 0x8c, 0x1, 0x8c, 0x1, 0x8c, 0x1, 0x8c, 0x1, 0x8c, 0x1, 0x8c, 0x1, 0x8c, 0x1, 0x8c, 0x1, 0x8c, 0x1, 0x8c} - -/* periodcentered (183) */ -#define NXFONT_METRICS_183 {1, 4, 4, 2, 24, 0} -#define NXFONT_BITMAP_183 {0x60, 0xf0, 0xf0, 0x60} - -/* cedilla (184) */ -#define NXFONT_METRICS_184 {1, 7, 7, 1, 37, 0} -#define NXFONT_BITMAP_184 {0x6, 0xc, 0x1c, 0xe, 0xc6, 0xee, 0x7c} - -/* onesuperior (185) */ -#define NXFONT_METRICS_185 {2, 9, 14, 0, 14, 0} -#define NXFONT_BITMAP_185 {0xc, 0x0, 0x7c, 0x0, 0x1c, 0x0, 0x1c, 0x0, 0x1c, 0x0, 0x1c, 0x0, 0x1c, 0x0, 0x1c, 0x0, 0x1c, 0x0, 0x1c, 0x0, 0x1c, 0x0, 0x1c, 0x0, 0x1c, 0x0, 0xff, 0x80} - -/* ordmasculine (186) */ -#define NXFONT_METRICS_186 {2, 9, 14, 1, 14, 0} -#define NXFONT_BITMAP_186 {0x1c, 0x0, 0x77, 0x0, 0x63, 0x0, 0xe3, 0x80, 0xe3, 0x80, 0xe3, 0x80, 0xe3, 0x80, 0x63, 0x0, 0x77, 0x0, 0x1c, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0x80, 0xff, 0x80} - -/* guillemotright (187) */ -#define NXFONT_METRICS_187 {2, 14, 14, 1, 22, 0} -#define NXFONT_BITMAP_187 {0x81, 0x0, 0xc1, 0x80, 0xe1, 0xc0, 0x70, 0xe0, 0x38, 0x70, 0x1c, 0x38, 0xe, 0x1c, 0xe, 0x1c, 0x1c, 0x38, 0x38, 0x70, 0x70, 0xe0, 0xe1, 0xc0, 0xc1, 0x80, 0x81, 0x0} - -/* onequarter (188) */ -#define NXFONT_METRICS_188 {3, 23, 23, 0, 14, 0} -#define NXFONT_BITMAP_188 {0xc, 0x0, 0x8, 0x7c, 0x0, 0x18, 0x1c, 0x0, 0x30, 0x1c, 0x0, 0x30, 0x1c, 0x0, 0x60, 0x1c, 0x0, 0x60, 0x1c, 0x0, 0xc0, 0x1c, 0x1, 0x80, 0x1c, 0x1, 0x80, 0x1c, 0x3, 0xc, 0x1c, 0x6, 0x1c, 0x1c, 0x6, 0x3c, 0x1c, 0xc, 0x7c, 0xff, 0x98, 0xfc, 0x0, 0x18, 0xdc, 0x0, 0x31, 0x9c, 0x0, 0x63, 0x9c, 0x0, 0x63, 0x1c, 0x0, 0xc7, 0xfe, 0x1, 0xc7, 0xfe, 0x1, 0x80, 0x1c, 0x3, 0x0, 0x1c, 0x3, 0x0, 0x1c} - -/* onehalf (189) */ -#define NXFONT_METRICS_189 {3, 23, 23, 0, 14, 0} -#define NXFONT_BITMAP_189 {0xc, 0x0, 0x30, 0x7c, 0x0, 0x60, 0x1c, 0x0, 0x60, 0x1c, 0x0, 0xc0, 0x1c, 0x0, 0x80, 0x1c, 0x1, 0x80, 0x1c, 0x3, 0x0, 0x1c, 0x2, 0x0, 0x1c, 0x6, 0x0, 0x1c, 0xc, 0xf0, 0x1c, 0x19, 0xf8, 0x1c, 0x1b, 0x3c, 0x1c, 0x32, 0x1c, 0xff, 0xb0, 0x1c, 0x0, 0x60, 0x1c, 0x0, 0x60, 0x18, 0x0, 0xc0, 0x30, 0x1, 0x80, 0x60, 0x1, 0x80, 0xc0, 0x3, 0x1, 0x82, 0x6, 0x3, 0xfe, 0x6, 0x7, 0xfc, 0xc, 0xf, 0xfc} - -/* threequarters (190) */ -#define NXFONT_METRICS_190 {3, 22, 23, 1, 14, 0} -#define NXFONT_BITMAP_190 {0x1e, 0x0, 0x10, 0x3f, 0x0, 0x30, 0x67, 0x80, 0x60, 0x43, 0x80, 0x60, 0x3, 0x0, 0xc0, 0x6, 0x0, 0xc0, 0x1f, 0x1, 0x80, 0x7, 0x83, 0x0, 0x3, 0x83, 0x0, 0x3, 0x86, 0x18, 0x3, 0x8c, 0x38, 0xc3, 0x8c, 0x78, 0xe7, 0x18, 0xf8, 0x7e, 0x31, 0xf8, 0x0, 0x31, 0xb8, 0x0, 0x63, 0x38, 0x0, 0xc7, 0x38, 0x0, 0xc6, 0x38, 0x1, 0x8f, 0xfc, 0x3, 0x8f, 0xfc, 0x3, 0x0, 0x38, 0x6, 0x0, 0x38, 0x6, 0x0, 0x38} - -/* questiondown (191) */ -#define NXFONT_METRICS_191 {2, 12, 23, 2, 21, 0} -#define NXFONT_BITMAP_191 {0x7, 0x0, 0xf, 0x80, 0xf, 0x80, 0xf, 0x80, 0x7, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2, 0x0, 0x2, 0x0, 0x6, 0x0, 0xc, 0x0, 0x1c, 0x0, 0x3c, 0x0, 0x78, 0x0, 0x78, 0x0, 0xf8, 0x60, 0xf8, 0xf0, 0xf8, 0xf0, 0xf8, 0x70, 0x78, 0x70, 0x3c, 0xe0, 0x1f, 0xc0} - -/* Agrave (192) */ -#define NXFONT_METRICS_192 {3, 21, 30, 1, 7, 0} -#define NXFONT_BITMAP_192 {0x6, 0x0, 0x0, 0x7, 0x0, 0x0, 0x3, 0x80, 0x0, 0x1, 0xc0, 0x0, 0x0, 0x60, 0x0, 0x0, 0x0, 0x0, 0x0, 0x20, 0x0, 0x0, 0x20, 0x0, 0x0, 0x60, 0x0, 0x0, 0x70, 0x0, 0x0, 0xf0, 0x0, 0x0, 0xf8, 0x0, 0x0, 0xf8, 0x0, 0x1, 0xf8, 0x0, 0x1, 0x7c, 0x0, 0x1, 0x7c, 0x0, 0x3, 0x3e, 0x0, 0x2, 0x3e, 0x0, 0x6, 0x3e, 0x0, 0x6, 0x1f, 0x0, 0x4, 0x1f, 0x0, 0xc, 0xf, 0x0, 0xf, 0xff, 0x80, 0x18, 0xf, 0x80, 0x18, 0x7, 0xc0, 0x10, 0x7, 0xc0, 0x30, 0x3, 0xe0, 0x30, 0x3, 0xe0, 0x70, 0x7, 0xf0, 0xfc, 0x1f, 0xf8} - -/* Aacute (193) */ -#define NXFONT_METRICS_193 {3, 21, 30, 1, 7, 0} -#define NXFONT_BITMAP_193 {0x0, 0x3, 0x0, 0x0, 0x7, 0x0, 0x0, 0xe, 0x0, 0x0, 0x1c, 0x0, 0x0, 0x30, 0x0, 0x0, 0x40, 0x0, 0x0, 0x0, 0x0, 0x0, 0x20, 0x0, 0x0, 0x60, 0x0, 0x0, 0x70, 0x0, 0x0, 0xf0, 0x0, 0x0, 0xf8, 0x0, 0x0, 0xf8, 0x0, 0x1, 0xf8, 0x0, 0x1, 0x7c, 0x0, 0x1, 0x7c, 0x0, 0x3, 0x3e, 0x0, 0x2, 0x3e, 0x0, 0x6, 0x3e, 0x0, 0x6, 0x1f, 0x0, 0x4, 0x1f, 0x0, 0xc, 0xf, 0x0, 0xf, 0xff, 0x80, 0x18, 0xf, 0x80, 0x18, 0x7, 0xc0, 0x10, 0x7, 0xc0, 0x30, 0x3, 0xe0, 0x30, 0x3, 0xe0, 0x70, 0x7, 0xf0, 0xfc, 0x1f, 0xf8} - -/* Acircumflex (194) */ -#define NXFONT_METRICS_194 {3, 21, 30, 1, 7, 0} -#define NXFONT_BITMAP_194 {0x0, 0x60, 0x0, 0x0, 0xf0, 0x0, 0x1, 0xf8, 0x0, 0x1, 0x98, 0x0, 0x3, 0xc, 0x0, 0x2, 0x4, 0x0, 0x0, 0x0, 0x0, 0x0, 0x20, 0x0, 0x0, 0x60, 0x0, 0x0, 0x70, 0x0, 0x0, 0xf0, 0x0, 0x0, 0xf8, 0x0, 0x0, 0xf8, 0x0, 0x1, 0xf8, 0x0, 0x1, 0x7c, 0x0, 0x1, 0x7c, 0x0, 0x3, 0x3e, 0x0, 0x2, 0x3e, 0x0, 0x6, 0x3e, 0x0, 0x6, 0x1f, 0x0, 0x4, 0x1f, 0x0, 0xc, 0xf, 0x0, 0xf, 0xff, 0x80, 0x18, 0xf, 0x80, 0x18, 0x7, 0xc0, 0x10, 0x7, 0xc0, 0x30, 0x3, 0xe0, 0x30, 0x3, 0xe0, 0x70, 0x7, 0xf0, 0xfc, 0x1f, 0xf8} - -/* Atilde (195) */ -#define NXFONT_METRICS_195 {3, 21, 29, 1, 8, 0} -#define NXFONT_BITMAP_195 {0x0, 0xc2, 0x0, 0x1, 0xf6, 0x0, 0x3, 0x7c, 0x0, 0x2, 0x18, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x20, 0x0, 0x0, 0x60, 0x0, 0x0, 0x70, 0x0, 0x0, 0xf0, 0x0, 0x0, 0xf8, 0x0, 0x0, 0xf8, 0x0, 0x1, 0xf8, 0x0, 0x1, 0x7c, 0x0, 0x1, 0x7c, 0x0, 0x3, 0x3e, 0x0, 0x2, 0x3e, 0x0, 0x6, 0x3e, 0x0, 0x6, 0x1f, 0x0, 0x4, 0x1f, 0x0, 0xc, 0xf, 0x0, 0xf, 0xff, 0x80, 0x18, 0xf, 0x80, 0x18, 0x7, 0xc0, 0x10, 0x7, 0xc0, 0x30, 0x3, 0xe0, 0x30, 0x3, 0xe0, 0x70, 0x7, 0xf0, 0xfc, 0x1f, 0xf8} - -/* Adieresis (196) */ -#define NXFONT_METRICS_196 {3, 21, 29, 1, 8, 0} -#define NXFONT_BITMAP_196 {0x1, 0x8, 0x0, 0x3, 0x9c, 0x0, 0x3, 0x9c, 0x0, 0x1, 0x8, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x20, 0x0, 0x0, 0x60, 0x0, 0x0, 0x70, 0x0, 0x0, 0xf0, 0x0, 0x0, 0xf8, 0x0, 0x0, 0xf8, 0x0, 0x1, 0xf8, 0x0, 0x1, 0x7c, 0x0, 0x1, 0x7c, 0x0, 0x3, 0x3e, 0x0, 0x2, 0x3e, 0x0, 0x6, 0x3e, 0x0, 0x6, 0x1f, 0x0, 0x4, 0x1f, 0x0, 0xc, 0xf, 0x0, 0xf, 0xff, 0x80, 0x18, 0xf, 0x80, 0x18, 0x7, 0xc0, 0x10, 0x7, 0xc0, 0x30, 0x3, 0xe0, 0x30, 0x3, 0xe0, 0x70, 0x7, 0xf0, 0xfc, 0x1f, 0xf8} - -/* Aring (197) */ -#define NXFONT_METRICS_197 {3, 21, 30, 1, 7, 0} -#define NXFONT_BITMAP_197 {0x0, 0xe0, 0x0, 0x1, 0xb0, 0x0, 0x3, 0x18, 0x0, 0x2, 0x8, 0x0, 0x3, 0x18, 0x0, 0x1, 0xb0, 0x0, 0x0, 0xe0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x60, 0x0, 0x0, 0x70, 0x0, 0x0, 0xf0, 0x0, 0x0, 0xf8, 0x0, 0x0, 0xf8, 0x0, 0x1, 0xf8, 0x0, 0x1, 0x7c, 0x0, 0x1, 0x7c, 0x0, 0x3, 0x3e, 0x0, 0x2, 0x3e, 0x0, 0x6, 0x3e, 0x0, 0x6, 0x1f, 0x0, 0x4, 0x1f, 0x0, 0xc, 0xf, 0x0, 0xf, 0xff, 0x80, 0x18, 0xf, 0x80, 0x18, 0x7, 0xc0, 0x10, 0x7, 0xc0, 0x30, 0x3, 0xe0, 0x30, 0x3, 0xe0, 0x70, 0x7, 0xf0, 0xfc, 0x1f, 0xf8} - -/* AE (198) */ -#define NXFONT_METRICS_198 {4, 32, 23, 0, 14, 0} -#define NXFONT_BITMAP_198 {0x3, 0xff, 0xff, 0xfc, 0x0, 0xff, 0xff, 0xfc, 0x0, 0x63, 0xe0, 0x1c, 0x0, 0x63, 0xe0, 0xc, 0x0, 0xc3, 0xe0, 0xc, 0x0, 0xc3, 0xe0, 0x4, 0x1, 0x83, 0xe0, 0x4, 0x1, 0x83, 0xe0, 0x80, 0x3, 0x3, 0xe0, 0x80, 0x3, 0x3, 0xe1, 0x80, 0x2, 0x3, 0xe3, 0x80, 0x7, 0xff, 0xff, 0x80, 0x7, 0xff, 0xe3, 0x80, 0xc, 0x3, 0xe1, 0x80, 0xc, 0x3, 0xe0, 0x80, 0x18, 0x3, 0xe0, 0x80, 0x18, 0x3, 0xe0, 0x1, 0x38, 0x3, 0xe0, 0x3, 0x30, 0x3, 0xe0, 0x6, 0x70, 0x3, 0xe0, 0xe, 0x70, 0x3, 0xe0, 0x3e, 0xf8, 0x7, 0xff, 0xfc, 0xfe, 0x1f, 0xff, 0xfc} - -/* Ccedilla (199) */ -#define NXFONT_METRICS_199 {3, 19, 30, 2, 14, 0} -#define NXFONT_BITMAP_199 {0x1, 0xfc, 0x20, 0x7, 0xff, 0x60, 0xf, 0x7, 0xe0, 0x1e, 0x1, 0xe0, 0x3c, 0x0, 0xe0, 0x7c, 0x0, 0x60, 0x7c, 0x0, 0x60, 0xf8, 0x0, 0x20, 0xf8, 0x0, 0x0, 0xf8, 0x0, 0x0, 0xf8, 0x0, 0x0, 0xf8, 0x0, 0x0, 0xf8, 0x0, 0x0, 0xf8, 0x0, 0x0, 0xf8, 0x0, 0x0, 0xf8, 0x0, 0x0, 0x7c, 0x0, 0x0, 0x7c, 0x0, 0x0, 0x3c, 0x0, 0x20, 0x1e, 0x0, 0x60, 0xf, 0x81, 0xc0, 0x3, 0xff, 0x80, 0x0, 0xfe, 0x0, 0x0, 0x18, 0x0, 0x0, 0x30, 0x0, 0x0, 0x70, 0x0, 0x0, 0x38, 0x0, 0x3, 0x18, 0x0, 0x3, 0xb8, 0x0, 0x1, 0xf0, 0x0} - -/* Egrave (200) */ -#define NXFONT_METRICS_200 {3, 21, 30, 0, 7, 0} -#define NXFONT_BITMAP_200 {0x6, 0x0, 0x0, 0x7, 0x0, 0x0, 0x3, 0x80, 0x0, 0x1, 0xc0, 0x0, 0x0, 0x60, 0x0, 0x0, 0x30, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0xe0, 0x3f, 0xff, 0xe0, 0x1f, 0x0, 0xe0, 0x1f, 0x0, 0x60, 0x1f, 0x0, 0x60, 0x1f, 0x0, 0x20, 0x1f, 0x0, 0x20, 0x1f, 0x4, 0x0, 0x1f, 0x4, 0x0, 0x1f, 0xc, 0x0, 0x1f, 0x1c, 0x0, 0x1f, 0xfc, 0x0, 0x1f, 0x1c, 0x0, 0x1f, 0xc, 0x0, 0x1f, 0x4, 0x0, 0x1f, 0x4, 0x0, 0x1f, 0x0, 0x8, 0x1f, 0x0, 0x18, 0x1f, 0x0, 0x30, 0x1f, 0x0, 0x70, 0x1f, 0x1, 0xf0, 0x3f, 0xff, 0xe0, 0xff, 0xff, 0xe0} - -/* Eacute (201) */ -#define NXFONT_METRICS_201 {3, 21, 30, 0, 7, 0} -#define NXFONT_BITMAP_201 {0x0, 0x1, 0x80, 0x0, 0x3, 0x80, 0x0, 0x7, 0x0, 0x0, 0xe, 0x0, 0x0, 0x18, 0x0, 0x0, 0x30, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0xe0, 0x3f, 0xff, 0xe0, 0x1f, 0x0, 0xe0, 0x1f, 0x0, 0x60, 0x1f, 0x0, 0x60, 0x1f, 0x0, 0x20, 0x1f, 0x0, 0x20, 0x1f, 0x4, 0x0, 0x1f, 0x4, 0x0, 0x1f, 0xc, 0x0, 0x1f, 0x1c, 0x0, 0x1f, 0xfc, 0x0, 0x1f, 0x1c, 0x0, 0x1f, 0xc, 0x0, 0x1f, 0x4, 0x0, 0x1f, 0x4, 0x0, 0x1f, 0x0, 0x8, 0x1f, 0x0, 0x18, 0x1f, 0x0, 0x30, 0x1f, 0x0, 0x70, 0x1f, 0x1, 0xf0, 0x3f, 0xff, 0xe0, 0xff, 0xff, 0xe0} - -/* Ecircumflex (202) */ -#define NXFONT_METRICS_202 {3, 21, 30, 0, 7, 0} -#define NXFONT_BITMAP_202 {0x0, 0x30, 0x0, 0x0, 0x78, 0x0, 0x0, 0xfc, 0x0, 0x0, 0xcc, 0x0, 0x1, 0x86, 0x0, 0x1, 0x2, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0xe0, 0x3f, 0xff, 0xe0, 0x1f, 0x0, 0xe0, 0x1f, 0x0, 0x60, 0x1f, 0x0, 0x60, 0x1f, 0x0, 0x20, 0x1f, 0x0, 0x20, 0x1f, 0x4, 0x0, 0x1f, 0x4, 0x0, 0x1f, 0xc, 0x0, 0x1f, 0x1c, 0x0, 0x1f, 0xfc, 0x0, 0x1f, 0x1c, 0x0, 0x1f, 0xc, 0x0, 0x1f, 0x4, 0x0, 0x1f, 0x4, 0x0, 0x1f, 0x0, 0x8, 0x1f, 0x0, 0x18, 0x1f, 0x0, 0x30, 0x1f, 0x0, 0x70, 0x1f, 0x1, 0xf0, 0x3f, 0xff, 0xe0, 0xff, 0xff, 0xe0} - -/* Edieresis (203) */ -#define NXFONT_METRICS_203 {3, 21, 29, 0, 8, 0} -#define NXFONT_BITMAP_203 {0x0, 0x84, 0x0, 0x1, 0xce, 0x0, 0x1, 0xce, 0x0, 0x0, 0x84, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0xe0, 0x3f, 0xff, 0xe0, 0x1f, 0x0, 0xe0, 0x1f, 0x0, 0x60, 0x1f, 0x0, 0x60, 0x1f, 0x0, 0x20, 0x1f, 0x0, 0x20, 0x1f, 0x4, 0x0, 0x1f, 0x4, 0x0, 0x1f, 0xc, 0x0, 0x1f, 0x1c, 0x0, 0x1f, 0xfc, 0x0, 0x1f, 0x1c, 0x0, 0x1f, 0xc, 0x0, 0x1f, 0x4, 0x0, 0x1f, 0x4, 0x0, 0x1f, 0x0, 0x8, 0x1f, 0x0, 0x18, 0x1f, 0x0, 0x30, 0x1f, 0x0, 0x70, 0x1f, 0x1, 0xf0, 0x3f, 0xff, 0xe0, 0xff, 0xff, 0xe0} - -/* Igrave (204) */ -#define NXFONT_METRICS_204 {2, 11, 30, 1, 7, 0} -#define NXFONT_BITMAP_204 {0xc0, 0x0, 0xe0, 0x0, 0x70, 0x0, 0x38, 0x0, 0xc, 0x0, 0x6, 0x0, 0x0, 0x0, 0xff, 0xe0, 0x3f, 0x80, 0x1f, 0x0, 0x1f, 0x0, 0x1f, 0x0, 0x1f, 0x0, 0x1f, 0x0, 0x1f, 0x0, 0x1f, 0x0, 0x1f, 0x0, 0x1f, 0x0, 0x1f, 0x0, 0x1f, 0x0, 0x1f, 0x0, 0x1f, 0x0, 0x1f, 0x0, 0x1f, 0x0, 0x1f, 0x0, 0x1f, 0x0, 0x1f, 0x0, 0x1f, 0x0, 0x3f, 0x80, 0xff, 0xe0} - -/* Iacute (205) */ -#define NXFONT_METRICS_205 {2, 12, 30, 1, 7, 0} -#define NXFONT_BITMAP_205 {0x0, 0x30, 0x0, 0x70, 0x0, 0xe0, 0x1, 0xc0, 0x3, 0x0, 0x6, 0x0, 0x0, 0x0, 0xff, 0xe0, 0x3f, 0x80, 0x1f, 0x0, 0x1f, 0x0, 0x1f, 0x0, 0x1f, 0x0, 0x1f, 0x0, 0x1f, 0x0, 0x1f, 0x0, 0x1f, 0x0, 0x1f, 0x0, 0x1f, 0x0, 0x1f, 0x0, 0x1f, 0x0, 0x1f, 0x0, 0x1f, 0x0, 0x1f, 0x0, 0x1f, 0x0, 0x1f, 0x0, 0x1f, 0x0, 0x1f, 0x0, 0x3f, 0x80, 0xff, 0xe0} - -/* Icircumflex (206) */ -#define NXFONT_METRICS_206 {2, 11, 30, 1, 7, 0} -#define NXFONT_BITMAP_206 {0x6, 0x0, 0xf, 0x0, 0x1f, 0x80, 0x19, 0x80, 0x30, 0xc0, 0x20, 0x40, 0x0, 0x0, 0xff, 0xe0, 0x3f, 0x80, 0x1f, 0x0, 0x1f, 0x0, 0x1f, 0x0, 0x1f, 0x0, 0x1f, 0x0, 0x1f, 0x0, 0x1f, 0x0, 0x1f, 0x0, 0x1f, 0x0, 0x1f, 0x0, 0x1f, 0x0, 0x1f, 0x0, 0x1f, 0x0, 0x1f, 0x0, 0x1f, 0x0, 0x1f, 0x0, 0x1f, 0x0, 0x1f, 0x0, 0x1f, 0x0, 0x3f, 0x80, 0xff, 0xe0} - -/* Idieresis (207) */ -#define NXFONT_METRICS_207 {2, 11, 29, 1, 8, 0} -#define NXFONT_BITMAP_207 {0x10, 0x80, 0x39, 0xc0, 0x39, 0xc0, 0x10, 0x80, 0x0, 0x0, 0x0, 0x0, 0xff, 0xe0, 0x3f, 0x80, 0x1f, 0x0, 0x1f, 0x0, 0x1f, 0x0, 0x1f, 0x0, 0x1f, 0x0, 0x1f, 0x0, 0x1f, 0x0, 0x1f, 0x0, 0x1f, 0x0, 0x1f, 0x0, 0x1f, 0x0, 0x1f, 0x0, 0x1f, 0x0, 0x1f, 0x0, 0x1f, 0x0, 0x1f, 0x0, 0x1f, 0x0, 0x1f, 0x0, 0x1f, 0x0, 0x3f, 0x80, 0xff, 0xe0} - -/* Eth (208) */ -#define NXFONT_METRICS_208 {3, 22, 23, 0, 14, 0} -#define NXFONT_BITMAP_208 {0xff, 0xfe, 0x0, 0x3f, 0xf, 0x80, 0x1f, 0x3, 0xe0, 0x1f, 0x1, 0xf0, 0x1f, 0x1, 0xf0, 0x1f, 0x0, 0xf8, 0x1f, 0x0, 0xf8, 0x1f, 0x0, 0xfc, 0x1f, 0x0, 0xfc, 0x1f, 0x0, 0xfc, 0xff, 0xf0, 0x7c, 0xff, 0xf0, 0x7c, 0xff, 0xf0, 0x7c, 0x1f, 0x0, 0x7c, 0x1f, 0x0, 0xfc, 0x1f, 0x0, 0xf8, 0x1f, 0x0, 0xf8, 0x1f, 0x0, 0xf8, 0x1f, 0x1, 0xf0, 0x1f, 0x1, 0xe0, 0x1f, 0x3, 0xc0, 0x3f, 0xf, 0x80, 0x7f, 0xfe, 0x0} - -/* Ntilde (209) */ -#define NXFONT_METRICS_209 {3, 22, 29, 1, 8, 0} -#define NXFONT_BITMAP_209 {0x0, 0x61, 0x0, 0x0, 0xfb, 0x0, 0x1, 0xbe, 0x0, 0x1, 0xc, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xfe, 0x1, 0xfc, 0x7f, 0x0, 0x70, 0x3f, 0x80, 0x20, 0x1f, 0x80, 0x20, 0x1f, 0xc0, 0x20, 0x1f, 0xe0, 0x20, 0x17, 0xf0, 0x20, 0x13, 0xf8, 0x20, 0x11, 0xf8, 0x20, 0x11, 0xfc, 0x20, 0x10, 0xfe, 0x20, 0x10, 0x7f, 0x20, 0x10, 0x3f, 0x20, 0x10, 0x1f, 0xa0, 0x10, 0x1f, 0xe0, 0x10, 0xf, 0xe0, 0x10, 0x7, 0xe0, 0x10, 0x3, 0xe0, 0x10, 0x3, 0xe0, 0x10, 0x1, 0xe0, 0x10, 0x0, 0xe0, 0x38, 0x0, 0x60, 0xfe, 0x0, 0x20} - -/* Ograve (210) */ -#define NXFONT_METRICS_210 {3, 21, 30, 2, 7, 0} -#define NXFONT_BITMAP_210 {0x6, 0x0, 0x0, 0x7, 0x0, 0x0, 0x3, 0x80, 0x0, 0x1, 0xc0, 0x0, 0x0, 0x60, 0x0, 0x0, 0x30, 0x0, 0x0, 0x0, 0x0, 0x1, 0xfc, 0x0, 0x7, 0xff, 0x0, 0xf, 0x8f, 0x80, 0x1e, 0x3, 0xc0, 0x3c, 0x1, 0xe0, 0x7c, 0x1, 0xf0, 0x78, 0x0, 0xf0, 0xf8, 0x0, 0xf8, 0xf8, 0x0, 0xf8, 0xf8, 0x0, 0xf8, 0xf8, 0x0, 0xf8, 0xf8, 0x0, 0xf8, 0xf8, 0x0, 0xf8, 0xf8, 0x0, 0xf8, 0xf8, 0x0, 0xf8, 0xf8, 0x0, 0xf8, 0x78, 0x0, 0xf0, 0x7c, 0x1, 0xf0, 0x3c, 0x1, 0xe0, 0x1e, 0x3, 0xc0, 0xf, 0x8f, 0x80, 0x7, 0xff, 0x0, 0x1, 0xfc, 0x0} - -/* Oacute (211) */ -#define NXFONT_METRICS_211 {3, 21, 30, 2, 7, 0} -#define NXFONT_BITMAP_211 {0x0, 0x3, 0x80, 0x0, 0x7, 0x0, 0x0, 0xe, 0x0, 0x0, 0x18, 0x0, 0x0, 0x30, 0x0, 0x0, 0x60, 0x0, 0x0, 0x0, 0x0, 0x1, 0xfc, 0x0, 0x7, 0xff, 0x0, 0xf, 0x8f, 0x80, 0x1e, 0x3, 0xc0, 0x3c, 0x1, 0xe0, 0x7c, 0x1, 0xf0, 0x78, 0x0, 0xf0, 0xf8, 0x0, 0xf8, 0xf8, 0x0, 0xf8, 0xf8, 0x0, 0xf8, 0xf8, 0x0, 0xf8, 0xf8, 0x0, 0xf8, 0xf8, 0x0, 0xf8, 0xf8, 0x0, 0xf8, 0xf8, 0x0, 0xf8, 0xf8, 0x0, 0xf8, 0x78, 0x0, 0xf0, 0x7c, 0x1, 0xf0, 0x3c, 0x1, 0xe0, 0x1e, 0x3, 0xc0, 0xf, 0x8f, 0x80, 0x7, 0xff, 0x0, 0x1, 0xfc, 0x0} - -/* Ocircumflex (212) */ -#define NXFONT_METRICS_212 {3, 21, 30, 2, 7, 0} -#define NXFONT_BITMAP_212 {0x0, 0x30, 0x0, 0x0, 0x78, 0x0, 0x0, 0xfc, 0x0, 0x0, 0xcc, 0x0, 0x1, 0x86, 0x0, 0x1, 0x2, 0x0, 0x0, 0x0, 0x0, 0x1, 0xfc, 0x0, 0x7, 0xff, 0x0, 0xf, 0x8f, 0x80, 0x1e, 0x3, 0xc0, 0x3c, 0x1, 0xe0, 0x7c, 0x1, 0xf0, 0x78, 0x0, 0xf0, 0xf8, 0x0, 0xf8, 0xf8, 0x0, 0xf8, 0xf8, 0x0, 0xf8, 0xf8, 0x0, 0xf8, 0xf8, 0x0, 0xf8, 0xf8, 0x0, 0xf8, 0xf8, 0x0, 0xf8, 0xf8, 0x0, 0xf8, 0xf8, 0x0, 0xf8, 0x78, 0x0, 0xf0, 0x7c, 0x1, 0xf0, 0x3c, 0x1, 0xe0, 0x1e, 0x3, 0xc0, 0xf, 0x8f, 0x80, 0x7, 0xff, 0x0, 0x1, 0xfc, 0x0} - -/* Otilde (213) */ -#define NXFONT_METRICS_213 {3, 21, 29, 2, 8, 0} -#define NXFONT_BITMAP_213 {0x0, 0xc2, 0x0, 0x1, 0xf6, 0x0, 0x3, 0x7c, 0x0, 0x2, 0x18, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0xfc, 0x0, 0x7, 0xff, 0x0, 0xf, 0x8f, 0x80, 0x1e, 0x3, 0xc0, 0x3c, 0x1, 0xe0, 0x7c, 0x1, 0xf0, 0x78, 0x0, 0xf0, 0xf8, 0x0, 0xf8, 0xf8, 0x0, 0xf8, 0xf8, 0x0, 0xf8, 0xf8, 0x0, 0xf8, 0xf8, 0x0, 0xf8, 0xf8, 0x0, 0xf8, 0xf8, 0x0, 0xf8, 0xf8, 0x0, 0xf8, 0xf8, 0x0, 0xf8, 0x78, 0x0, 0xf0, 0x7c, 0x1, 0xf0, 0x3c, 0x1, 0xe0, 0x1e, 0x3, 0xc0, 0xf, 0x8f, 0x80, 0x7, 0xff, 0x0, 0x1, 0xfc, 0x0} - -/* Odieresis (214) */ -#define NXFONT_METRICS_214 {3, 21, 29, 2, 8, 0} -#define NXFONT_BITMAP_214 {0x0, 0x84, 0x0, 0x1, 0xce, 0x0, 0x1, 0xce, 0x0, 0x0, 0x84, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0xfc, 0x0, 0x7, 0xff, 0x0, 0xf, 0x8f, 0x80, 0x1e, 0x3, 0xc0, 0x3c, 0x1, 0xe0, 0x7c, 0x1, 0xf0, 0x78, 0x0, 0xf0, 0xf8, 0x0, 0xf8, 0xf8, 0x0, 0xf8, 0xf8, 0x0, 0xf8, 0xf8, 0x0, 0xf8, 0xf8, 0x0, 0xf8, 0xf8, 0x0, 0xf8, 0xf8, 0x0, 0xf8, 0xf8, 0x0, 0xf8, 0xf8, 0x0, 0xf8, 0x78, 0x0, 0xf0, 0x7c, 0x1, 0xf0, 0x3c, 0x1, 0xe0, 0x1e, 0x3, 0xc0, 0xf, 0x8f, 0x80, 0x7, 0xff, 0x0, 0x1, 0xfc, 0x0} - -/* multiply (215) */ -#define NXFONT_METRICS_215 {2, 15, 16, 2, 21, 0} -#define NXFONT_BITMAP_215 {0x40, 0x4, 0xe0, 0xe, 0xf0, 0x1e, 0x78, 0x3c, 0x3c, 0x78, 0x1e, 0xf0, 0xf, 0xe0, 0x7, 0xc0, 0x7, 0xc0, 0xf, 0xe0, 0x1e, 0xf0, 0x3c, 0x78, 0x78, 0x3c, 0xf0, 0x1e, 0xe0, 0xe, 0x40, 0x4} - -/* Oslash (216) */ -#define NXFONT_METRICS_216 {3, 21, 27, 2, 12, 0} -#define NXFONT_BITMAP_216 {0x0, 0x0, 0x30, 0x0, 0x0, 0x60, 0x1, 0xfc, 0x40, 0x7, 0x8f, 0xc0, 0xe, 0x3, 0x80, 0x1e, 0x1, 0xc0, 0x3c, 0x3, 0xe0, 0x7c, 0x6, 0xf0, 0x78, 0x4, 0xf0, 0xf8, 0xc, 0xf8, 0xf8, 0x18, 0xf8, 0xf8, 0x18, 0xf8, 0xf8, 0x30, 0xf8, 0xf8, 0x20, 0xf8, 0xf8, 0x60, 0xf8, 0xf8, 0xc0, 0xf8, 0xf8, 0x80, 0xf8, 0xf9, 0x80, 0xf8, 0x7b, 0x0, 0xf0, 0x7e, 0x1, 0xf0, 0x3e, 0x1, 0xe0, 0x1c, 0x3, 0xc0, 0xe, 0x7, 0x80, 0x1f, 0xfe, 0x0, 0x11, 0xf8, 0x0, 0x30, 0x0, 0x0, 0x60, 0x0, 0x0} - -/* Ugrave (217) */ -#define NXFONT_METRICS_217 {3, 23, 30, 0, 7, 0} -#define NXFONT_BITMAP_217 {0x0, 0xc0, 0x0, 0x0, 0xe0, 0x0, 0x0, 0x70, 0x0, 0x0, 0x38, 0x0, 0x0, 0xc, 0x0, 0x0, 0x2, 0x0, 0x0, 0x0, 0x0, 0xff, 0xe0, 0xfe, 0x3f, 0x80, 0x38, 0x1f, 0x0, 0x10, 0x1f, 0x0, 0x10, 0x1f, 0x0, 0x10, 0x1f, 0x0, 0x10, 0x1f, 0x0, 0x10, 0x1f, 0x0, 0x10, 0x1f, 0x0, 0x10, 0x1f, 0x0, 0x10, 0x1f, 0x0, 0x10, 0x1f, 0x0, 0x10, 0x1f, 0x0, 0x10, 0x1f, 0x0, 0x10, 0x1f, 0x0, 0x10, 0x1f, 0x0, 0x10, 0x1f, 0x0, 0x10, 0x1f, 0x0, 0x30, 0xf, 0x80, 0x30, 0xf, 0x80, 0x60, 0x7, 0xc0, 0xc0, 0x3, 0xff, 0x80, 0x0, 0xfe, 0x0} - -/* Uacute (218) */ -#define NXFONT_METRICS_218 {3, 23, 30, 0, 7, 0} -#define NXFONT_BITMAP_218 {0x0, 0x0, 0xc0, 0x0, 0x1, 0xc0, 0x0, 0x3, 0x80, 0x0, 0x7, 0x0, 0x0, 0xc, 0x0, 0x0, 0x10, 0x0, 0x0, 0x0, 0x0, 0xff, 0xe0, 0xfe, 0x3f, 0x80, 0x38, 0x1f, 0x0, 0x10, 0x1f, 0x0, 0x10, 0x1f, 0x0, 0x10, 0x1f, 0x0, 0x10, 0x1f, 0x0, 0x10, 0x1f, 0x0, 0x10, 0x1f, 0x0, 0x10, 0x1f, 0x0, 0x10, 0x1f, 0x0, 0x10, 0x1f, 0x0, 0x10, 0x1f, 0x0, 0x10, 0x1f, 0x0, 0x10, 0x1f, 0x0, 0x10, 0x1f, 0x0, 0x10, 0x1f, 0x0, 0x10, 0x1f, 0x0, 0x30, 0xf, 0x80, 0x30, 0xf, 0x80, 0x60, 0x7, 0xc0, 0xc0, 0x3, 0xff, 0x80, 0x0, 0xfe, 0x0} - -/* Ucircumflex (219) */ -#define NXFONT_METRICS_219 {3, 23, 30, 0, 7, 0} -#define NXFONT_BITMAP_219 {0x0, 0xc, 0x0, 0x0, 0x1e, 0x0, 0x0, 0x3f, 0x0, 0x0, 0x33, 0x0, 0x0, 0x61, 0x80, 0x0, 0x40, 0x80, 0x0, 0x0, 0x0, 0xff, 0xe0, 0xfe, 0x3f, 0x80, 0x38, 0x1f, 0x0, 0x10, 0x1f, 0x0, 0x10, 0x1f, 0x0, 0x10, 0x1f, 0x0, 0x10, 0x1f, 0x0, 0x10, 0x1f, 0x0, 0x10, 0x1f, 0x0, 0x10, 0x1f, 0x0, 0x10, 0x1f, 0x0, 0x10, 0x1f, 0x0, 0x10, 0x1f, 0x0, 0x10, 0x1f, 0x0, 0x10, 0x1f, 0x0, 0x10, 0x1f, 0x0, 0x10, 0x1f, 0x0, 0x10, 0x1f, 0x0, 0x30, 0xf, 0x80, 0x30, 0xf, 0x80, 0x60, 0x7, 0xc0, 0xc0, 0x3, 0xff, 0x80, 0x0, 0xfe, 0x0} - -/* Udieresis (220) */ -#define NXFONT_METRICS_220 {3, 23, 29, 0, 8, 0} -#define NXFONT_BITMAP_220 {0x0, 0x21, 0x0, 0x0, 0x73, 0x80, 0x0, 0x73, 0x80, 0x0, 0x21, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xe0, 0xfe, 0x3f, 0x80, 0x38, 0x1f, 0x0, 0x10, 0x1f, 0x0, 0x10, 0x1f, 0x0, 0x10, 0x1f, 0x0, 0x10, 0x1f, 0x0, 0x10, 0x1f, 0x0, 0x10, 0x1f, 0x0, 0x10, 0x1f, 0x0, 0x10, 0x1f, 0x0, 0x10, 0x1f, 0x0, 0x10, 0x1f, 0x0, 0x10, 0x1f, 0x0, 0x10, 0x1f, 0x0, 0x10, 0x1f, 0x0, 0x10, 0x1f, 0x0, 0x10, 0x1f, 0x0, 0x30, 0xf, 0x80, 0x30, 0xf, 0x80, 0x60, 0x7, 0xc0, 0xc0, 0x3, 0xff, 0x80, 0x0, 0xfe, 0x0} - -/* Yacute (221) */ -#define NXFONT_METRICS_221 {3, 22, 30, 1, 7, 0} -#define NXFONT_BITMAP_221 {0x0, 0x0, 0xc0, 0x0, 0x1, 0xc0, 0x0, 0x3, 0x80, 0x0, 0x7, 0x0, 0x0, 0xc, 0x0, 0x0, 0x10, 0x0, 0x0, 0x0, 0x0, 0xff, 0xc3, 0xfc, 0x7f, 0x0, 0xf0, 0x3f, 0x0, 0x60, 0x3f, 0x0, 0x60, 0x1f, 0x80, 0xc0, 0x1f, 0x80, 0x80, 0xf, 0xc1, 0x80, 0xf, 0xc3, 0x0, 0x7, 0xe3, 0x0, 0x3, 0xe6, 0x0, 0x3, 0xf4, 0x0, 0x1, 0xfc, 0x0, 0x1, 0xf8, 0x0, 0x0, 0xf8, 0x0, 0x0, 0xf8, 0x0, 0x0, 0xf8, 0x0, 0x0, 0xf8, 0x0, 0x0, 0xf8, 0x0, 0x0, 0xf8, 0x0, 0x0, 0xf8, 0x0, 0x0, 0xf8, 0x0, 0x1, 0xfc, 0x0, 0x7, 0xff, 0x0} - -/* Thorn (222) */ -#define NXFONT_METRICS_222 {3, 19, 23, 0, 14, 0} -#define NXFONT_BITMAP_222 {0xff, 0xe0, 0x0, 0x3f, 0x80, 0x0, 0x1f, 0x0, 0x0, 0x1f, 0x0, 0x0, 0x1f, 0xfe, 0x0, 0x1f, 0xf, 0x80, 0x1f, 0x7, 0xc0, 0x1f, 0x7, 0xe0, 0x1f, 0x3, 0xe0, 0x1f, 0x3, 0xe0, 0x1f, 0x3, 0xe0, 0x1f, 0x3, 0xe0, 0x1f, 0x7, 0xe0, 0x1f, 0x7, 0xc0, 0x1f, 0x1f, 0x80, 0x1f, 0xfe, 0x0, 0x1f, 0x0, 0x0, 0x1f, 0x0, 0x0, 0x1f, 0x0, 0x0, 0x1f, 0x0, 0x0, 0x1f, 0x0, 0x0, 0x3f, 0x80, 0x0, 0xff, 0xe0, 0x0} - -/* germandbls (223) */ -#define NXFONT_METRICS_223 {3, 17, 23, 0, 14, 0} -#define NXFONT_BITMAP_223 {0x3, 0xf0, 0x0, 0xe, 0x3c, 0x0, 0x1e, 0x3e, 0x0, 0x1c, 0x1e, 0x0, 0x3c, 0x1e, 0x0, 0x3c, 0x1e, 0x0, 0x3c, 0x1e, 0x0, 0x3c, 0x1e, 0x0, 0x3c, 0x1c, 0x0, 0x3c, 0x38, 0x0, 0x3c, 0xe0, 0x0, 0x3c, 0x3c, 0x0, 0x3c, 0x1e, 0x0, 0x3c, 0xf, 0x0, 0x3c, 0xf, 0x0, 0x3c, 0xf, 0x80, 0x3c, 0xf, 0x80, 0x3c, 0xf, 0x80, 0x3c, 0xf, 0x80, 0x3c, 0xf, 0x0, 0x3c, 0xf, 0x0, 0x3c, 0x1e, 0x0, 0xfc, 0x7c, 0x0} - -/* agrave (224) */ -#define NXFONT_METRICS_224 {2, 14, 23, 1, 14, 0} -#define NXFONT_BITMAP_224 {0x30, 0x0, 0x38, 0x0, 0x1c, 0x0, 0xe, 0x0, 0x3, 0x0, 0x0, 0x80, 0x0, 0x0, 0x1f, 0x80, 0x31, 0xe0, 0x70, 0xf0, 0x78, 0xf0, 0x78, 0xf0, 0x30, 0xf0, 0x1, 0xf0, 0x7, 0xf0, 0x1c, 0xf0, 0x38, 0xf0, 0x78, 0xf0, 0xf0, 0xf0, 0xf9, 0xf0, 0xff, 0xf4, 0x7e, 0xfc, 0x3c, 0x78} - -/* aacute (225) */ -#define NXFONT_METRICS_225 {2, 14, 23, 1, 14, 0} -#define NXFONT_BITMAP_225 {0x0, 0x30, 0x0, 0x70, 0x0, 0xe0, 0x1, 0xc0, 0x3, 0x0, 0x4, 0x0, 0x0, 0x0, 0x1f, 0x80, 0x31, 0xe0, 0x70, 0xf0, 0x78, 0xf0, 0x78, 0xf0, 0x30, 0xf0, 0x1, 0xf0, 0x7, 0xf0, 0x1c, 0xf0, 0x38, 0xf0, 0x78, 0xf0, 0xf0, 0xf0, 0xf9, 0xf0, 0xff, 0xf4, 0x7e, 0xfc, 0x3c, 0x78} - -/* acircumflex (226) */ -#define NXFONT_METRICS_226 {2, 14, 23, 1, 14, 0} -#define NXFONT_BITMAP_226 {0x3, 0x0, 0x7, 0x80, 0xf, 0xc0, 0xc, 0xc0, 0x18, 0x60, 0x10, 0x20, 0x0, 0x0, 0x1f, 0x80, 0x31, 0xe0, 0x70, 0xf0, 0x78, 0xf0, 0x78, 0xf0, 0x30, 0xf0, 0x1, 0xf0, 0x7, 0xf0, 0x1c, 0xf0, 0x38, 0xf0, 0x78, 0xf0, 0xf0, 0xf0, 0xf9, 0xf0, 0xff, 0xf4, 0x7e, 0xfc, 0x3c, 0x78} - -/* atilde (227) */ -#define NXFONT_METRICS_227 {2, 14, 22, 1, 15, 0} -#define NXFONT_BITMAP_227 {0xc, 0x20, 0x1f, 0x60, 0x37, 0xc0, 0x21, 0x80, 0x0, 0x0, 0x0, 0x0, 0x1f, 0x80, 0x31, 0xe0, 0x70, 0xf0, 0x78, 0xf0, 0x78, 0xf0, 0x30, 0xf0, 0x1, 0xf0, 0x7, 0xf0, 0x1c, 0xf0, 0x38, 0xf0, 0x78, 0xf0, 0xf0, 0xf0, 0xf9, 0xf0, 0xff, 0xf4, 0x7e, 0xfc, 0x3c, 0x78} - -/* adieresis (228) */ -#define NXFONT_METRICS_228 {2, 14, 22, 1, 15, 0} -#define NXFONT_BITMAP_228 {0x8, 0x40, 0x1c, 0xe0, 0x1c, 0xe0, 0x8, 0x40, 0x0, 0x0, 0x0, 0x0, 0x1f, 0x80, 0x31, 0xe0, 0x70, 0xf0, 0x78, 0xf0, 0x78, 0xf0, 0x30, 0xf0, 0x1, 0xf0, 0x7, 0xf0, 0x1c, 0xf0, 0x38, 0xf0, 0x78, 0xf0, 0xf0, 0xf0, 0xf9, 0xf0, 0xff, 0xf4, 0x7e, 0xfc, 0x3c, 0x78} - -/* aring (229) */ -#define NXFONT_METRICS_229 {2, 14, 25, 1, 12, 0} -#define NXFONT_BITMAP_229 {0x7, 0x0, 0xd, 0x80, 0x18, 0xc0, 0x10, 0x40, 0x18, 0xc0, 0xd, 0x80, 0x7, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1f, 0x80, 0x31, 0xe0, 0x70, 0xf0, 0x78, 0xf0, 0x78, 0xf0, 0x30, 0xf0, 0x1, 0xf0, 0x7, 0xf0, 0x1c, 0xf0, 0x38, 0xf0, 0x78, 0xf0, 0xf0, 0xf0, 0xf9, 0xf0, 0xff, 0xf4, 0x7e, 0xfc, 0x3c, 0x78} - -/* ae (230) */ -#define NXFONT_METRICS_230 {3, 21, 16, 1, 21, 0} -#define NXFONT_BITMAP_230 {0x1f, 0x87, 0xc0, 0x31, 0xee, 0xe0, 0x70, 0xfc, 0x70, 0x78, 0xf8, 0x70, 0x78, 0xf8, 0x38, 0x30, 0xf8, 0x38, 0x1, 0xf8, 0x38, 0x7, 0xff, 0xf8, 0x1c, 0xf8, 0x0, 0x38, 0xf8, 0x0, 0x78, 0xfc, 0x0, 0xf8, 0xfc, 0x8, 0xf8, 0xfe, 0x18, 0xff, 0xff, 0xf0, 0x7e, 0x3f, 0xe0, 0x3c, 0xf, 0xc0} - -/* ccedilla (231) */ -#define NXFONT_METRICS_231 {2, 13, 23, 1, 21, 0} -#define NXFONT_BITMAP_231 {0x7, 0xe0, 0x1e, 0xf0, 0x3c, 0x78, 0x78, 0x78, 0x78, 0x30, 0xf0, 0x0, 0xf0, 0x0, 0xf0, 0x0, 0xf0, 0x0, 0xf0, 0x0, 0xf8, 0x0, 0x78, 0x0, 0x78, 0x0, 0x3c, 0x30, 0x1f, 0xe0, 0xf, 0xc0, 0x3, 0x0, 0x6, 0x0, 0x6, 0x0, 0x3, 0x80, 0x31, 0x80, 0x3b, 0x80, 0x1f, 0x0} - -/* egrave (232) */ -#define NXFONT_METRICS_232 {2, 14, 23, 0, 14, 0} -#define NXFONT_BITMAP_232 {0x30, 0x0, 0x38, 0x0, 0x1c, 0x0, 0xe, 0x0, 0x3, 0x0, 0x0, 0x80, 0x0, 0x0, 0x7, 0xc0, 0x1e, 0xf0, 0x3c, 0x70, 0x78, 0x38, 0x78, 0x3c, 0xf8, 0x3c, 0xf8, 0x3c, 0xff, 0xfc, 0xf8, 0x0, 0xf8, 0x0, 0xf8, 0x0, 0x78, 0x0, 0x7c, 0x0, 0x3e, 0x18, 0x1f, 0xf0, 0x7, 0xe0} - -/* eacute (233) */ -#define NXFONT_METRICS_233 {2, 14, 23, 0, 14, 0} -#define NXFONT_BITMAP_233 {0x0, 0x18, 0x0, 0x38, 0x0, 0x70, 0x0, 0xe0, 0x1, 0x80, 0x2, 0x0, 0x0, 0x0, 0x7, 0xc0, 0x1e, 0xf0, 0x3c, 0x70, 0x78, 0x38, 0x78, 0x3c, 0xf8, 0x3c, 0xf8, 0x3c, 0xff, 0xfc, 0xf8, 0x0, 0xf8, 0x0, 0xf8, 0x0, 0x78, 0x0, 0x7c, 0x0, 0x3e, 0x18, 0x1f, 0xf0, 0x7, 0xe0} - -/* ecircumflex (234) */ -#define NXFONT_METRICS_234 {2, 14, 23, 0, 14, 0} -#define NXFONT_BITMAP_234 {0x3, 0x0, 0x7, 0x80, 0xf, 0xc0, 0xc, 0xc0, 0x18, 0x60, 0x10, 0x20, 0x0, 0x0, 0x7, 0xc0, 0x1e, 0xf0, 0x3c, 0x70, 0x78, 0x38, 0x78, 0x3c, 0xf8, 0x3c, 0xf8, 0x3c, 0xff, 0xfc, 0xf8, 0x0, 0xf8, 0x0, 0xf8, 0x0, 0x78, 0x0, 0x7c, 0x0, 0x3e, 0x18, 0x1f, 0xf0, 0x7, 0xe0} - -/* edieresis (235) */ -#define NXFONT_METRICS_235 {2, 14, 22, 0, 15, 0} -#define NXFONT_BITMAP_235 {0x4, 0x20, 0xe, 0x70, 0xe, 0x70, 0x4, 0x20, 0x0, 0x0, 0x0, 0x0, 0x7, 0xc0, 0x1e, 0xf0, 0x3c, 0x70, 0x78, 0x38, 0x78, 0x3c, 0xf8, 0x3c, 0xf8, 0x3c, 0xff, 0xfc, 0xf8, 0x0, 0xf8, 0x0, 0xf8, 0x0, 0x78, 0x0, 0x7c, 0x0, 0x3e, 0x18, 0x1f, 0xf0, 0x7, 0xe0} - -/* igrave (236) */ -#define NXFONT_METRICS_236 {1, 8, 23, 0, 14, 0} -#define NXFONT_BITMAP_236 {0xc0, 0xe0, 0x70, 0x38, 0xc, 0x2, 0x0, 0xfc, 0x7c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x7e, 0xff} - -/* iacute (237) */ -#define NXFONT_METRICS_237 {1, 8, 23, 0, 14, 0} -#define NXFONT_BITMAP_237 {0x3, 0x7, 0xe, 0x1c, 0x30, 0x40, 0x0, 0xfc, 0x7c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x7e, 0xff} - -/* icircumflex (238) */ -#define NXFONT_METRICS_238 {1, 8, 23, 0, 14, 0} -#define NXFONT_BITMAP_238 {0x18, 0x3c, 0x7e, 0x66, 0xc3, 0x81, 0x0, 0xfc, 0x7c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x7e, 0xff} - -/* idieresis (239) */ -#define NXFONT_METRICS_239 {1, 8, 22, 0, 15, 0} -#define NXFONT_BITMAP_239 {0x42, 0xe7, 0xe7, 0x42, 0x0, 0x0, 0xfc, 0x7c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x7e, 0xff} - -/* eth (240) */ -#define NXFONT_METRICS_240 {2, 14, 22, 1, 15, 0} -#define NXFONT_BITMAP_240 {0x38, 0x30, 0x3e, 0xf8, 0xf, 0xf8, 0xff, 0x80, 0xfb, 0xc0, 0x61, 0xe0, 0xf, 0xf0, 0x3c, 0xf8, 0x78, 0x78, 0x78, 0x78, 0xf0, 0x3c, 0xf0, 0x3c, 0xf0, 0x3c, 0xf0, 0x3c, 0xf0, 0x3c, 0xf0, 0x3c, 0xf0, 0x3c, 0xf0, 0x3c, 0x78, 0x78, 0x78, 0x78, 0x3c, 0xf0, 0xf, 0xc0} - -/* ntilde (241) */ -#define NXFONT_METRICS_241 {3, 17, 22, 0, 15, 0} -#define NXFONT_BITMAP_241 {0x3, 0x8, 0x0, 0x7, 0xd8, 0x0, 0xd, 0xf0, 0x0, 0x8, 0x60, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xfc, 0x78, 0x0, 0x7d, 0xfc, 0x0, 0x3f, 0x3e, 0x0, 0x3e, 0x1e, 0x0, 0x3e, 0x1e, 0x0, 0x3c, 0x1e, 0x0, 0x3c, 0x1e, 0x0, 0x3c, 0x1e, 0x0, 0x3c, 0x1e, 0x0, 0x3c, 0x1e, 0x0, 0x3c, 0x1e, 0x0, 0x3c, 0x1e, 0x0, 0x3c, 0x1e, 0x0, 0x3c, 0x1e, 0x0, 0x7e, 0x3f, 0x0, 0xff, 0x7f, 0x80} - -/* ograve (242) */ -#define NXFONT_METRICS_242 {2, 14, 23, 1, 14, 0} -#define NXFONT_BITMAP_242 {0x30, 0x0, 0x38, 0x0, 0x1c, 0x0, 0xe, 0x0, 0x3, 0x0, 0x0, 0x80, 0x0, 0x0, 0xf, 0xc0, 0x3c, 0xf0, 0x78, 0x78, 0x78, 0x78, 0xf0, 0x3c, 0xf0, 0x3c, 0xf0, 0x3c, 0xf0, 0x3c, 0xf0, 0x3c, 0xf0, 0x3c, 0xf0, 0x3c, 0xf0, 0x3c, 0x78, 0x78, 0x78, 0x78, 0x3c, 0xf0, 0xf, 0xc0} - -/* oacute (243) */ -#define NXFONT_METRICS_243 {2, 14, 23, 1, 14, 0} -#define NXFONT_BITMAP_243 {0x0, 0x18, 0x0, 0x38, 0x0, 0x70, 0x0, 0xe0, 0x1, 0x80, 0x2, 0x0, 0x0, 0x0, 0xf, 0xc0, 0x3c, 0xf0, 0x78, 0x78, 0x78, 0x78, 0xf0, 0x3c, 0xf0, 0x3c, 0xf0, 0x3c, 0xf0, 0x3c, 0xf0, 0x3c, 0xf0, 0x3c, 0xf0, 0x3c, 0xf0, 0x3c, 0x78, 0x78, 0x78, 0x78, 0x3c, 0xf0, 0xf, 0xc0} - -/* ocircumflex (244) */ -#define NXFONT_METRICS_244 {2, 14, 23, 1, 14, 0} -#define NXFONT_BITMAP_244 {0x3, 0x0, 0x7, 0x80, 0xf, 0xc0, 0xc, 0xc0, 0x18, 0x60, 0x10, 0x20, 0x0, 0x0, 0xf, 0xc0, 0x3c, 0xf0, 0x78, 0x78, 0x78, 0x78, 0xf0, 0x3c, 0xf0, 0x3c, 0xf0, 0x3c, 0xf0, 0x3c, 0xf0, 0x3c, 0xf0, 0x3c, 0xf0, 0x3c, 0xf0, 0x3c, 0x78, 0x78, 0x78, 0x78, 0x3c, 0xf0, 0xf, 0xc0} - -/* otilde (245) */ -#define NXFONT_METRICS_245 {2, 14, 22, 1, 15, 0} -#define NXFONT_BITMAP_245 {0xc, 0x20, 0x1f, 0x60, 0x37, 0xc0, 0x21, 0x80, 0x0, 0x0, 0x0, 0x0, 0xf, 0xc0, 0x3c, 0xf0, 0x78, 0x78, 0x78, 0x78, 0xf0, 0x3c, 0xf0, 0x3c, 0xf0, 0x3c, 0xf0, 0x3c, 0xf0, 0x3c, 0xf0, 0x3c, 0xf0, 0x3c, 0xf0, 0x3c, 0x78, 0x78, 0x78, 0x78, 0x3c, 0xf0, 0xf, 0xc0} - -/* odieresis (246) */ -#define NXFONT_METRICS_246 {2, 14, 22, 1, 15, 0} -#define NXFONT_BITMAP_246 {0x8, 0x40, 0x1c, 0xe0, 0x1c, 0xe0, 0x8, 0x40, 0x0, 0x0, 0x0, 0x0, 0xf, 0xc0, 0x3c, 0xf0, 0x78, 0x78, 0x78, 0x78, 0xf0, 0x3c, 0xf0, 0x3c, 0xf0, 0x3c, 0xf0, 0x3c, 0xf0, 0x3c, 0xf0, 0x3c, 0xf0, 0x3c, 0xf0, 0x3c, 0x78, 0x78, 0x78, 0x78, 0x3c, 0xf0, 0xf, 0xc0} - -/* divide (247) */ -#define NXFONT_METRICS_247 {2, 14, 15, 2, 21, 0} -#define NXFONT_BITMAP_247 {0x3, 0x0, 0x7, 0x80, 0x7, 0x80, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xfc, 0xff, 0xfc, 0xff, 0xfc, 0x0, 0x0, 0x0, 0x0, 0x3, 0x0, 0x7, 0x80, 0x7, 0x80, 0x3, 0x0} - -/* oslash (248) */ -#define NXFONT_METRICS_248 {2, 14, 22, 1, 18, 0} -#define NXFONT_BITMAP_248 {0x0, 0x8, 0x0, 0x18, 0x0, 0x18, 0xf, 0xf0, 0x3c, 0xf0, 0x78, 0x78, 0x78, 0x78, 0xf0, 0xfc, 0xf1, 0xbc, 0xf1, 0x3c, 0xf3, 0x3c, 0xf2, 0x3c, 0xf6, 0x3c, 0xfc, 0x3c, 0xf8, 0x3c, 0x78, 0x78, 0x78, 0x78, 0x3c, 0xf0, 0x6f, 0xc0, 0x60, 0x0, 0xc0, 0x0, 0x80, 0x0} - -/* ugrave (249) */ -#define NXFONT_METRICS_249 {3, 17, 23, 0, 14, 0} -#define NXFONT_BITMAP_249 {0x18, 0x0, 0x0, 0x1c, 0x0, 0x0, 0xe, 0x0, 0x0, 0x7, 0x0, 0x0, 0x1, 0x80, 0x0, 0x0, 0x40, 0x0, 0x0, 0x0, 0x0, 0xfc, 0x7e, 0x0, 0x7c, 0x3e, 0x0, 0x3c, 0x1e, 0x0, 0x3c, 0x1e, 0x0, 0x3c, 0x1e, 0x0, 0x3c, 0x1e, 0x0, 0x3c, 0x1e, 0x0, 0x3c, 0x1e, 0x0, 0x3c, 0x1e, 0x0, 0x3c, 0x1e, 0x0, 0x3c, 0x1e, 0x0, 0x3c, 0x1e, 0x0, 0x3c, 0x3e, 0x0, 0x3e, 0x7f, 0x0, 0x1f, 0xdf, 0x80, 0x7, 0x8c, 0x0} - -/* uacute (250) */ -#define NXFONT_METRICS_250 {3, 17, 23, 0, 14, 0} -#define NXFONT_BITMAP_250 {0x0, 0xc, 0x0, 0x0, 0x1c, 0x0, 0x0, 0x38, 0x0, 0x0, 0x70, 0x0, 0x0, 0xc0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0xfc, 0x7e, 0x0, 0x7c, 0x3e, 0x0, 0x3c, 0x1e, 0x0, 0x3c, 0x1e, 0x0, 0x3c, 0x1e, 0x0, 0x3c, 0x1e, 0x0, 0x3c, 0x1e, 0x0, 0x3c, 0x1e, 0x0, 0x3c, 0x1e, 0x0, 0x3c, 0x1e, 0x0, 0x3c, 0x1e, 0x0, 0x3c, 0x1e, 0x0, 0x3c, 0x3e, 0x0, 0x3e, 0x7f, 0x0, 0x1f, 0xdf, 0x80, 0x7, 0x8c, 0x0} - -/* ucircumflex (251) */ -#define NXFONT_METRICS_251 {3, 17, 23, 0, 14, 0} -#define NXFONT_BITMAP_251 {0x1, 0x80, 0x0, 0x3, 0xc0, 0x0, 0x7, 0xe0, 0x0, 0x6, 0x60, 0x0, 0xc, 0x30, 0x0, 0x8, 0x10, 0x0, 0x0, 0x0, 0x0, 0xfc, 0x7e, 0x0, 0x7c, 0x3e, 0x0, 0x3c, 0x1e, 0x0, 0x3c, 0x1e, 0x0, 0x3c, 0x1e, 0x0, 0x3c, 0x1e, 0x0, 0x3c, 0x1e, 0x0, 0x3c, 0x1e, 0x0, 0x3c, 0x1e, 0x0, 0x3c, 0x1e, 0x0, 0x3c, 0x1e, 0x0, 0x3c, 0x1e, 0x0, 0x3c, 0x3e, 0x0, 0x3e, 0x7f, 0x0, 0x1f, 0xdf, 0x80, 0x7, 0x8c, 0x0} - -/* udieresis (252) */ -#define NXFONT_METRICS_252 {3, 17, 22, 0, 15, 0} -#define NXFONT_BITMAP_252 {0x4, 0x20, 0x0, 0xe, 0x70, 0x0, 0xe, 0x70, 0x0, 0x4, 0x20, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xfc, 0x7e, 0x0, 0x7c, 0x3e, 0x0, 0x3c, 0x1e, 0x0, 0x3c, 0x1e, 0x0, 0x3c, 0x1e, 0x0, 0x3c, 0x1e, 0x0, 0x3c, 0x1e, 0x0, 0x3c, 0x1e, 0x0, 0x3c, 0x1e, 0x0, 0x3c, 0x1e, 0x0, 0x3c, 0x1e, 0x0, 0x3c, 0x1e, 0x0, 0x3c, 0x3e, 0x0, 0x3e, 0x7f, 0x0, 0x1f, 0xdf, 0x80, 0x7, 0x8c, 0x0} - -/* yacute (253) */ -#define NXFONT_METRICS_253 {2, 15, 30, 0, 14, 0} -#define NXFONT_BITMAP_253 {0x0, 0xc, 0x0, 0x1c, 0x0, 0x38, 0x0, 0x70, 0x0, 0xc0, 0x1, 0x0, 0x0, 0x0, 0xff, 0xbe, 0x7e, 0xc, 0x3e, 0x8, 0x3e, 0x8, 0x1f, 0x18, 0x1f, 0x10, 0xf, 0x10, 0xf, 0xb0, 0xf, 0xa0, 0x7, 0xa0, 0x7, 0xe0, 0x7, 0xc0, 0x3, 0xc0, 0x3, 0xc0, 0x1, 0x80, 0x1, 0x80, 0x1, 0x80, 0x1, 0x0, 0x73, 0x0, 0xf3, 0x0, 0xf6, 0x0, 0xfe, 0x0, 0x78, 0x0} - -/* thorn (254) */ -#define NXFONT_METRICS_254 {2, 15, 29, 1, 15, 0} -#define NXFONT_BITMAP_254 {0xfc, 0x0, 0x7c, 0x0, 0x3c, 0x0, 0x3c, 0x0, 0x3c, 0x0, 0x3c, 0x0, 0x3c, 0xe0, 0x3f, 0xf8, 0x3e, 0x7c, 0x3c, 0x3c, 0x3c, 0x3e, 0x3c, 0x1e, 0x3c, 0x1e, 0x3c, 0x1e, 0x3c, 0x1e, 0x3c, 0x1e, 0x3c, 0x1e, 0x3c, 0x1e, 0x3c, 0x3c, 0x3e, 0x3c, 0x3f, 0xf8, 0x3c, 0xe0, 0x3c, 0x0, 0x3c, 0x0, 0x3c, 0x0, 0x3c, 0x0, 0x3c, 0x0, 0x7e, 0x0, 0xff, 0x0} - -/* ydieresis (255) */ -#define NXFONT_METRICS_255 {2, 15, 29, 0, 15, 0} -#define NXFONT_BITMAP_255 {0x4, 0x20, 0xe, 0x70, 0xe, 0x70, 0x4, 0x20, 0x0, 0x0, 0x0, 0x0, 0xff, 0xbe, 0x7e, 0xc, 0x3e, 0x8, 0x3e, 0x8, 0x1f, 0x18, 0x1f, 0x10, 0xf, 0x10, 0xf, 0xb0, 0xf, 0xa0, 0x7, 0xa0, 0x7, 0xe0, 0x7, 0xc0, 0x3, 0xc0, 0x3, 0xc0, 0x1, 0x80, 0x1, 0x80, 0x1, 0x80, 0x1, 0x0, 0x73, 0x0, 0xf3, 0x0, 0xf6, 0x0, 0xfe, 0x0, 0x78, 0x0} - -/**************************************************************************** - * Public Types - ****************************************************************************/ - -/**************************************************************************** - * Public Data - ****************************************************************************/ - -#undef EXTERN -#if defined(__cplusplus) -#define EXTERN extern "C" -extern "C" { -#else -#define EXTERN extern -#endif - -/**************************************************************************** - * Public Functions - ****************************************************************************/ - -#undef EXTERN -#if defined(__cplusplus) -} -#endif - -#endif /* __GRAPHICS_NXFONTS_NXFONTS_SERIF38X49B_H */ diff --git a/nuttx/graphics/nxglib/Make.defs b/nuttx/graphics/nxglib/Make.defs deleted file mode 100644 index 240cdbd7c..000000000 --- a/nuttx/graphics/nxglib/Make.defs +++ /dev/null @@ -1,93 +0,0 @@ -############################################################################ -# graphics/nxglib/Make.defs -# -# Copyright (C) 2008, 2010-2011 Gregory Nutt. All rights reserved. -# Author: Gregory Nutt <gnutt@nuttx.org> -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions -# are met: -# -# 1. Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# 2. Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in -# the documentation and/or other materials provided with the -# distribution. -# 3. Neither the name NuttX nor the names of its contributors may be -# used to endorse or promote products derived from this software -# without specific prior written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS -# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, -# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS -# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED -# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN -# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -# POSSIBILITY OF SUCH DAMAGE. -# -############################################################################ - -NXGLIB_ASRCS = - -SETP1_CSRCS = nxglib_setpixel_1bpp.c nxglib_setpixel_2bpp.c \ - nxglib_setpixel_4bpp.c - -SETP2_CSRCS = nxglib_setpixel_8bpp.c nxglib_setpixel_16bpp.c \ - nxglib_setpixel_24bpp.c nxglib_setpixel_32bpp.c - -RFILL1_CSRCS = nxglib_fillrectangle_1bpp.c nxglib_fillrectangle_2bpp.c \ - nxglib_fillrectangle_4bpp.c - -RFILL2_CSRCS = nxglib_fillrectangle_8bpp.c nxglib_fillrectangle_16bpp.c \ - nxglib_fillrectangle_24bpp.c nxglib_fillrectangle_32bpp.c - -RGET1_CSRCS = nxglib_getrectangle_1bpp.c nxglib_getrectangle_2bpp.c \ - nxglib_getrectangle_4bpp.c - -RGET2_CSRCS = nxglib_getrectangle_8bpp.c nxglib_getrectangle_16bpp.c \ - nxglib_getrectangle_24bpp.c nxglib_getrectangle_32bpp.c - -TFILL1_CSRCS = nxglib_filltrapezoid_1bpp.c nxglib_filltrapezoid_2bpp.c \ - nxglib_filltrapezoid_4bpp.c - -TFILL2_CSRCS = nxglib_filltrapezoid_8bpp.c nxglib_filltrapezoid_16bpp.c \ - nxglib_filltrapezoid_24bpp.c nxglib_filltrapezoid_32bpp.c - -RMOVE1_CSRCS = nxglib_moverectangle_1bpp.c nxglib_moverectangle_2bpp.c \ - nxglib_moverectangle_4bpp.c - -RMOVE2_CSRCS = nxglib_moverectangle_8bpp.c nxglib_moverectangle_16bpp.c \ - nxglib_moverectangle_24bpp.c nxglib_moverectangle_32bpp.c - -RCOPY1_CSRCS = nxglib_copyrectangle_1bpp.c nxglib_copyrectangle_2bpp.c \ - nxglib_copyrectangle_4bpp.c - -RCOPY2_CSRCS = nxglib_copyrectangle_8bpp.c nxglib_copyrectangle_16bpp.c \ - nxglib_copyrectangle_24bpp.c nxglib_copyrectangle_32bpp.c - -RECT_CSRCS = nxglib_rectcopy.c nxglib_rectoffset.c nxglib_vectoradd.c \ - nxglib_vectsubtract.c nxglib_rectadd.c nxglib_rectintersect.c \ - nxglib_intersecting.c nxglib_nonintersecting.c nxglib_rectunion.c \ - nxglib_rectinside.c nxglib_rectoverlap.c nxglib_rectsize.c nxglib_nullrect.c - -TRAP_CSRCS = nxglib_runoffset.c nxglib_runcopy.c \ - nxglib_trapoffset.c nxglib_trapcopy.c - -COLOR_CSRCS = nxglib_colorcopy.c nxglib_rgb2yuv.c nxglib_yuv2rgb.c - -DRAW_CSRCS = nxglib_splitline.c nxglib_circlepts.c nxglib_circletraps.c - -LCD_CSRCS = - -NXGLIB_CSRCS = \ - $(SETP1_CSRCS) $(SETP2_CSRCS) $(RFILL1_CSRCS) $(RFILL2_CSRCS) \ - $(RGET1_CSRCS) $(RGET2_CSRCS) $(TFILL1_CSRCS) $(TFILL2_CSRCS) \ - $(RMOVE1_CSRCS) $(RMOVE2_CSRCS) $(RCOPY1_CSRCS) $(RCOPY2_CSRCS) \ - $(RECT_CSRCS) $(TRAP_CSRCS) $(COLOR_CSRCS) $(DRAW_CSRCS) $(LCD_CSRCS) - diff --git a/nuttx/graphics/nxglib/Makefile.sources b/nuttx/graphics/nxglib/Makefile.sources deleted file mode 100644 index 71d6e0661..000000000 --- a/nuttx/graphics/nxglib/Makefile.sources +++ /dev/null @@ -1,175 +0,0 @@ -############################################################################ -# graphics/nxglib/Makefile.sources -# -# Copyright (C) 2008, 2010-2011 Gregory Nutt. All rights reserved. -# Author: Gregory Nutt <gnutt@nuttx.org> -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions -# are met: -# -# 1. Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# 2. Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in -# the documentation and/or other materials provided with the -# distribution. -# 3. Neither the name NuttX nor the names of its contributors may be -# used to endorse or promote products derived from this software -# without specific prior written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS -# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, -# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS -# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED -# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN -# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -# POSSIBILITY OF SUCH DAMAGE. -# -############################################################################ - --include $(TOPDIR)/Make.defs - -ifeq ($(NXGLIB_BITSPERPIXEL),1) -NXGLIB_SUFFIX := _1bpp -SETP_CSRC := nxglib_setpixel_1bpp.c -RFILL_CSRC := nxglib_fillrectangle_1bpp.c -RGET_CSRC := nxglib_getrectangle_1bpp.c -TFILL_CSRC := nxglib_filltrapezoid_1bpp.c -RMOVE_CSRC := nxglib_moverectangle_1bpp.c -RCOPY_CSRC := nxglib_copyrectangle_1bpp.c -endif -ifeq ($(NXGLIB_BITSPERPIXEL),2) -NXGLIB_SUFFIX := _2bpp -SETP_CSRC := nxglib_setpixel_2bpp.c -RFILL_CSRC := nxglib_fillrectangle_2bpp.c -RGET_CSRC := nxglib_getrectangle_2bpp.c -TFILL_CSRC := nxglib_filltrapezoid_2bpp.c -RMOVE_CSRC := nxglib_moverectangle_2bpp.c -RCOPY_CSRC := nxglib_copyrectangle_2bpp.c -endif -ifeq ($(NXGLIB_BITSPERPIXEL),4) -NXGLIB_SUFFIX := _4bpp -SETP_CSRC := nxglib_setpixel_4bpp.c -RFILL_CSRC := nxglib_fillrectangle_4bpp.c -RGET_CSRC := nxglib_getrectangle_4bpp.c -TFILL_CSRC := nxglib_filltrapezoid_4bpp.c -RMOVE_CSRC := nxglib_moverectangle_4bpp.c -RCOPY_CSRC := nxglib_copyrectangle_4bpp.c -endif -ifeq ($(NXGLIB_BITSPERPIXEL),8) -NXGLIB_SUFFIX := _8bpp -SETP_CSRC := nxglib_setpixel_8bpp.c -RFILL_CSRC := nxglib_fillrectangle_8bpp.c -RGET_CSRC := nxglib_getrectangle_8bpp.c -TFILL_CSRC := nxglib_filltrapezoid_8bpp.c -RMOVE_CSRC := nxglib_moverectangle_8bpp.c -RCOPY_CSRC := nxglib_copyrectangle_8bpp.c -endif -ifeq ($(NXGLIB_BITSPERPIXEL),16) -NXGLIB_SUFFIX := _16bpp -SETP_CSRC := nxglib_setpixel_16bpp.c -RFILL_CSRC := nxglib_fillrectangle_16bpp.c -RGET_CSRC := nxglib_getrectangle_16bpp.c -TFILL_CSRC := nxglib_filltrapezoid_16bpp.c -RMOVE_CSRC := nxglib_moverectangle_16bpp.c -RCOPY_CSRC := nxglib_copyrectangle_16bpp.c -endif -ifeq ($(NXGLIB_BITSPERPIXEL),24) -NXGLIB_SUFFIX := _24bpp -SETP_CSRC := nxglib_setpixel_24bpp.c -RFILL_CSRC := nxglib_fillrectangle_24bpp.c -RGET_CSRC := nxglib_getrectangle_24bpp.c -TFILL_CSRC := nxglib_filltrapezoid_24bpp.c -RMOVE_CSRC := nxglib_moverectangle_24bpp.c -RCOPY_CSRC := nxglib_copyrectangle_24bpp.c -endif -ifeq ($(NXGLIB_BITSPERPIXEL),32) -NXGLIB_SUFFIX := _32bpp -SETP_CSRC := nxglib_setpixel_32bpp.c -RFILL_CSRC := nxglib_fillrectangle_32bpp.c -RGET_CSRC := nxglib_getrectangle_32bpp.c -TFILL_CSRC := nxglib_filltrapezoid_32bpp.c -RMOVE_CSRC := nxglib_moverectangle_32bpp.c -RCOPY_CSRC := nxglib_copyrectangle_32bpp.c -endif - -CPPFLAGS += -DNXGLIB_BITSPERPIXEL=$(NXGLIB_BITSPERPIXEL) -CPPFLAGS += -DNXGLIB_SUFFIX=$(NXGLIB_SUFFIX) - -SETP_TMP = $(SETP_CSRC:.c=.i) -RFILL_TMP = $(RFILL_CSRC:.c=.i) -RGET_TMP = $(RGET_CSRC:.c=.i) -TFILL_TMP = $(TFILL_CSRC:.c=.i) -RMOVE_TMP = $(RMOVE_CSRC:.c=.i) -RCOPY_TMP = $(RCOPY_CSRC:.c=.i) - -GEN_CSRCS = $(SETP_CSRC) $(RFILL_CSRC) $(RGET_CSRC) $(TFILL_CSRC) $(RMOVE_CSRC) $(RCOPY_CSRC) - -ifeq ($(CONFIG_NX_LCDDRIVER),y) -BLITDIR = lcd -else -BLITDIR = fb -endif - -all: $(GEN_CSRCS) -.PHONY : clean distclean - -$(SETP_CSRC) : $(BLITDIR)/nxglib_setpixel.c nxglib_bitblit.h -ifneq ($(NXGLIB_BITSPERPIXEL),) - $(call PREPROCESS, $(BLITDIR)/nxglib_setpixel.c, $(SETP_TMP)) - $(Q) cat $(SETP_TMP) | sed -e "/^#/d" >$@ - $(Q) rm -f $(SETP_TMP) -endif - -$(RFILL_CSRC) : $(BLITDIR)/nxglib_fillrectangle.c nxglib_bitblit.h -ifneq ($(NXGLIB_BITSPERPIXEL),) - $(call PREPROCESS, $(BLITDIR)/nxglib_fillrectangle.c, $(RFILL_TMP)) - $(Q) cat $(RFILL_TMP) | sed -e "/^#/d" >$@ - $(Q) rm -f $(RFILL_TMP) -endif - -$(RGET_CSRC) : $(BLITDIR)/nxglib_getrectangle.c nxglib_bitblit.h -ifneq ($(NXGLIB_BITSPERPIXEL),) - $(call PREPROCESS, $(BLITDIR)/nxglib_getrectangle.c, $(RGET_TMP)) - $(Q) cat $(RGET_TMP) | sed -e "/^#/d" >$@ - $(Q) rm -f $(RGET_TMP) -endif - -$(TFILL_CSRC) : $(BLITDIR)/nxglib_filltrapezoid.c nxglib_bitblit.h -ifneq ($(NXGLIB_BITSPERPIXEL),) - $(call PREPROCESS, $(BLITDIR)/nxglib_filltrapezoid.c, $(TFILL_TMP)) - $(Q) cat $(TFILL_TMP) | sed -e "/^#/d" >$@ - $(Q) rm -f $(TFILL_TMP) -endif - -$(RMOVE_CSRC) : $(BLITDIR)/nxglib_moverectangle.c nxglib_bitblit.h -ifneq ($(NXGLIB_BITSPERPIXEL),) - $(call PREPROCESS, $(BLITDIR)/nxglib_moverectangle.c, $(RMOVE_TMP)) - $(Q) cat $(RMOVE_TMP) | sed -e "/^#/d" >$@ - $(Q) rm -f $(RMOVE_TMP) -endif - -$(RCOPY_CSRC) : $(BLITDIR)/nxglib_copyrectangle.c nxglib_bitblit.h -ifneq ($(NXGLIB_BITSPERPIXEL),) - $(call PREPROCESS, $(BLITDIR)/nxglib_copyrectangle.c, $(RCOPY_TMP)) - $(Q) cat $(RCOPY_TMP) | sed -e "/^#/d" >$@ - $(Q) rm -f $(RCOPY_TMP) -endif - -clean: - $(call DELFILE, *.i) - $(call CLEAN) - -distclean: clean - $(call DELFILE, nxglib_setpixel_*bpp.c) - $(call DELFILE, nxglib_fillrectangle_*bpp.c) - $(call DELFILE, nxglib_getrectangle_*bpp.c) - $(call DELFILE, nxglib_filltrapezoid_*bpp.c) - $(call DELFILE, nxglib_moverectangle_*bpp.c) - $(call DELFILE, nxglib_copyrectangle_*bpp.c) diff --git a/nuttx/graphics/nxglib/fb/nxglib_copyrectangle.c b/nuttx/graphics/nxglib/fb/nxglib_copyrectangle.c deleted file mode 100644 index bf9812ac3..000000000 --- a/nuttx/graphics/nxglib/fb/nxglib_copyrectangle.c +++ /dev/null @@ -1,179 +0,0 @@ -/**************************************************************************** - * graphics/nxglib/fb/nxsglib_copyrectangle.c - * - * Copyright (C) 2008-2011 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <gnutt@nuttx.org> - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * 3. Neither the name NuttX nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - ****************************************************************************/ - -/**************************************************************************** - * Included Files - ****************************************************************************/ - -#include <nuttx/config.h> - -#include <stdint.h> - -#include <nuttx/fb.h> -#include <nuttx/nx/nxglib.h> - -#include "nxglib_bitblit.h" - -/**************************************************************************** - * Pre-Processor Definitions - ****************************************************************************/ - -/**************************************************************************** - * Private Types - ****************************************************************************/ - -/**************************************************************************** - * Private Data - ****************************************************************************/ - -/**************************************************************************** - * Public Data - ****************************************************************************/ - -/**************************************************************************** - * Private Functions - ****************************************************************************/ - -/**************************************************************************** - * Public Functions - ****************************************************************************/ - -/**************************************************************************** - * Name: nxgl_copyrectangle_*bpp - * - * Descripton: - * Copy a rectangular bitmap image into the specific position in the - * framebuffer memory. - * - ****************************************************************************/ - -void NXGL_FUNCNAME(nxgl_copyrectangle,NXGLIB_SUFFIX) -(FAR struct fb_planeinfo_s *pinfo, FAR const struct nxgl_rect_s *dest, - FAR const void *src, FAR const struct nxgl_point_s *origin, - unsigned int srcstride) -{ - FAR const uint8_t *sline; - FAR uint8_t *dline; - unsigned int width; - unsigned int deststride; - unsigned int rows; - -#if NXGLIB_BITSPERPIXEL < 8 - FAR const uint8_t *sptr; - FAR uint8_t *dptr; - uint8_t leadmask; - uint8_t tailmask; - uint8_t mask; - int lnlen; -#endif - - /* Get the width of the framebuffer in bytes */ - - deststride = pinfo->stride; - - /* Get the dimensions of the rectange to fill: width in pixels, - * height in rows - */ - - width = dest->pt2.x - dest->pt1.x + 1; - rows = dest->pt2.y - dest->pt1.y + 1; - -#if NXGLIB_BITSPERPIXEL < 8 -# ifdef CONFIG_NX_PACKEDMSFIRST - - /* Get the mask for pixels that are ordered so that they pack from the - * MS byte down. - */ - - leadmask = (uint8_t)(0xff >> (8 - NXGL_REMAINDERX(dest->pt1.x))); - tailmask = (uint8_t)(0xff << (8 - NXGL_REMAINDERX(dest->pt2.x-1))); -# else - /* Get the mask for pixels that are ordered so that they pack from the - * LS byte up. - */ - - leadmask = (uint8_t)(0xff << (8 - NXGL_REMAINDERX(dest->pt1.x))); - tailmask = (uint8_t)(0xff >> (8 - NXGL_REMAINDERX(dest->pt1.x-1))); -# endif -#endif - - /* Then copy the image */ - - sline = (const uint8_t*)src + NXGL_SCALEX(dest->pt1.x - origin->x) + (dest->pt1.y - origin->y) * srcstride; - dline = pinfo->fbmem + dest->pt1.y * deststride + NXGL_SCALEX(dest->pt1.x); - - while (rows--) - { -#if NXGLIB_BITSPERPIXEL < 8 - /* Handle masking of the fractional initial byte */ - - mask = leadmask; - sptr = sline; - dptr = dline; - lnlen = width; - - if (lnlen > 1 && mask) - { - dptr[0] = (dptr[0] & ~mask) | (sptr[0] & mask); - mask = 0xff; - dptr++; - sptr++; - lnlen--; - } - - /* Handle masking of the fractional final byte */ - - mask &= tailmask; - if (lnlen > 0 && mask) - { - dptr[lnlen-1] = (dptr[lnlen-1] & ~mask) | (sptr[lnlen-1] & mask); - lnlen--; - } - - /* Handle all of the unmasked bytes in-between */ - - if (lnlen > 0) - { - NXGL_MEMCPY(dptr, sptr, lnlen); - } -#else - /* Copy the whole line */ - - NXGL_MEMCPY((NXGL_PIXEL_T*)dline, (NXGL_PIXEL_T*)sline, width); -#endif - dline += deststride; - sline += srcstride; - } -} diff --git a/nuttx/graphics/nxglib/fb/nxglib_fillrectangle.c b/nuttx/graphics/nxglib/fb/nxglib_fillrectangle.c deleted file mode 100644 index 777a906a4..000000000 --- a/nuttx/graphics/nxglib/fb/nxglib_fillrectangle.c +++ /dev/null @@ -1,177 +0,0 @@ -/**************************************************************************** - * graphics/nxglib/fb/nxglib_fillrectangle.c - * - * Copyright (C) 2008-2011 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <gnutt@nuttx.org> - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * 3. Neither the name NuttX nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - ****************************************************************************/ - -/**************************************************************************** - * Included Files - ****************************************************************************/ - -#include <nuttx/config.h> - -#include <stdint.h> - -#include <nuttx/fb.h> -#include <nuttx/nx/nxglib.h> - -#include "nxglib_bitblit.h" - -/**************************************************************************** - * Pre-Processor Definitions - ****************************************************************************/ - -#ifndef NXGLIB_SUFFIX -# error "NXGLIB_SUFFIX must be defined before including this header file" -#endif - -/**************************************************************************** - * Private Types - ****************************************************************************/ - -/**************************************************************************** - * Private Data - ****************************************************************************/ - -/**************************************************************************** - * Public Data - ****************************************************************************/ - -/**************************************************************************** - * Private Functions - ****************************************************************************/ - -/**************************************************************************** - * Public Functions - ****************************************************************************/ - -/**************************************************************************** - * Name: nxgl_fillrectangle_*bpp - * - * Descripton: - * Fill a rectangle region in the framebuffer memory with a fixed color - * - ****************************************************************************/ - -void NXGL_FUNCNAME(nxgl_fillrectangle,NXGLIB_SUFFIX) - (FAR struct fb_planeinfo_s *pinfo, - FAR const struct nxgl_rect_s *rect, - NXGL_PIXEL_T color) -{ - FAR uint8_t *line; - unsigned int width; - unsigned int stride; - int rows; - -#if NXGLIB_BITSPERPIXEL < 8 - FAR uint8_t *dest; - uint8_t mpixel = NXGL_MULTIPIXEL(color); - uint8_t leadmask; - uint8_t tailmask; - uint8_t mask; - int lnlen; -#endif - - /* Get the width of the framebuffer in bytes */ - - stride = pinfo->stride; - - /* Get the dimensions of the rectange to fill in pixels */ - - width = rect->pt2.x - rect->pt1.x + 1; - rows = rect->pt2.y - rect->pt1.y + 1; - - /* Get the address of the first byte in the first line to write */ - - line = pinfo->fbmem + rect->pt1.y * stride + NXGL_SCALEX(rect->pt1.x); - -#if NXGLIB_BITSPERPIXEL < 8 -# ifdef CONFIG_NX_PACKEDMSFIRST - - /* Get the mask for pixels that are ordered so that they pack from the - * MS byte down. - */ - - leadmask = (uint8_t)(0xff >> (8 - NXGL_REMAINDERX(rect->pt1.x))); - tailmask = (uint8_t)(0xff << (8 - NXGL_REMAINDERX(rect->pt2.x-1))); -# else - /* Get the mask for pixels that are ordered so that they pack from the - * LS byte up. - */ - - leadmask = (uint8_t)(0xff << (8 - NXGL_REMAINDERX(rect->pt1.x))); - tailmask = (uint8_t)(0xff >> (8 - NXGL_REMAINDERX(rect->pt1.x-1))); -# endif -#endif - - /* Then fill the rectangle line-by-line */ - - while (rows-- > 0) - { -#if NXGLIB_BITSPERPIXEL < 8 - /* Handle masking of the fractional initial byte */ - - mask = leadmask; - dest = line; - lnlen = width; - - if (lnlen > 1 && mask) - { - dest[0] = (dest[0] & ~mask) | (mpixel & mask); - mask = 0xff; - dest++; - lnlen--; - } - - /* Handle masking of the fractional final byte */ - - mask &= tailmask; - if (lnlen > 0 && mask) - { - dest[lnlen-1] = (dest[lnlen-1] & ~mask) | (mpixel & mask); - lnlen--; - } - - /* Handle all of the unmasked bytes in-between */ - - if (lnlen > 0) - { - NXGL_MEMSET(dest, (NXGL_PIXEL_T)color, lnlen); - } -#else - /* Draw the entire raster line */ - - NXGL_MEMSET(line, (NXGL_PIXEL_T)color, width); -#endif - line += stride; - } -} diff --git a/nuttx/graphics/nxglib/fb/nxglib_filltrapezoid.c b/nuttx/graphics/nxglib/fb/nxglib_filltrapezoid.c deleted file mode 100644 index 7623bf84f..000000000 --- a/nuttx/graphics/nxglib/fb/nxglib_filltrapezoid.c +++ /dev/null @@ -1,285 +0,0 @@ -/**************************************************************************** - * graphics/nxglib/fb/nxglib_filltrapezoid.c - * - * Copyright (C) 2008-2012 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <gnutt@nuttx.org> - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * 3. Neither the name NuttX nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - ****************************************************************************/ - -/**************************************************************************** - * Included Files - ****************************************************************************/ - -#include <nuttx/config.h> - -#include <stdint.h> -#include <fixedmath.h> - -#include <nuttx/fb.h> -#include <nuttx/nx/nxglib.h> - -#include "nxglib_bitblit.h" - -/**************************************************************************** - * Pre-Processor Definitions - ****************************************************************************/ - -#ifndef NXGLIB_SUFFIX -# error "NXGLIB_SUFFIX must be defined before including this header file" -#endif - -/**************************************************************************** - * Private Types - ****************************************************************************/ - -/**************************************************************************** - * Private Data - ****************************************************************************/ - -/**************************************************************************** - * Public Data - ****************************************************************************/ - -/**************************************************************************** - * Private Functions - ****************************************************************************/ - -/**************************************************************************** - * Public Functions - ****************************************************************************/ - -/**************************************************************************** - * Name: nxglib_filltrapezoid_*bpp - * - * Descripton: - * Fill a trapezoidal region in the framebuffer memory with a fixed color. - * Clip the trapezoid to lie within a boundng box. This is useful for - * drawing complex shapes that can be broken into a set of trapezoids. - * - ****************************************************************************/ - -void NXGL_FUNCNAME(nxgl_filltrapezoid,NXGLIB_SUFFIX)( - FAR struct fb_planeinfo_s *pinfo, - FAR const struct nxgl_trapezoid_s *trap, - FAR const struct nxgl_rect_s *bounds, - NXGL_PIXEL_T color) -{ - unsigned int stride; - unsigned int width; - FAR uint8_t *dest; - FAR uint8_t *line; - int nrows; - b16_t x1; - b16_t x2; - nxgl_coord_t y1; - nxgl_coord_t y2; - b16_t dx1dy; - b16_t dx2dy; - -#if NXGLIB_BITSPERPIXEL < 8 - uint8_t mpixel = NXGL_MULTIPIXEL(color); - uint8_t mask; - int lnlen; -#endif - - /* Get the width of the framebuffer in bytes */ - - stride = pinfo->stride; - - /* Get the top run position and the number of rows to draw */ - - x1 = trap->top.x1; - x2 = trap->top.x2; - - /* Calculate the number of rows to render */ - - y1 = trap->top.y; - y2 = trap->bot.y; - nrows = y2 - y1 + 1; - - /* Calculate the slope of the left and right side of the trapezoid */ - - if (nrows > 1) - { - dx1dy = b16divi((trap->bot.x1 - x1), nrows - 1); - dx2dy = b16divi((trap->bot.x2 - x2), nrows - 1); - } - else - { - /* The trapezoid is a run! Use the average width. */ - - x1 = (x1 + trap->bot.x1) >> 1; - x2 = (x2 + trap->bot.x2) >> 1; - dx1dy = 0; - dx2dy = 0; - } - - /* Perform vertical clipping */ - - if (y1 < bounds->pt1.y) - { - /* Is the entire trapezoid "above" the clipping window? */ - - if (y2 < bounds->pt1.y) - { - /* Yes.. then do nothing */ - - return; - } - - /* Calculate the x values for the new top run */ - - int dy = bounds->pt1.y - y1; - x1 += dy * dx1dy; - x2 += dy * dx2dy; - - /* Clip and re-calculate the number of rows to render */ - - y1 = bounds->pt1.y; - nrows = y2 - y1 + 1; - } - - if (y2 > bounds->pt2.y) - { - /* Is the entire trapezoid "below" the clipping window? */ - - if (y1 > bounds->pt2.y) - { - /* Yes.. then do nothing */ - - return; - } - - /* Clip and re-calculate the number of rows to render */ - - y2 = bounds->pt2.y; - nrows = y2 - y1 + 1; - } - - /* Get the address of the first byte on the first line */ - - line = pinfo->fbmem + y1 * stride ; - - /* Then fill the trapezoid line-by-line */ - - while (nrows--) - { - int ix1; - int ix2; - - /* Handle the special case where the sides cross (as in an hourglass) */ - - if (x1 > x2) - { - b16_t tmp; - ngl_swap(x1, x2, tmp); - ngl_swap(dx1dy, dx2dy, tmp); - } - - /* Convert the positions to integer */ - - ix1 = b16toi(x1); - ix2 = b16toi(x2); - - /* Handle some corner cases where we draw nothing. Otherwise, we will - * always draw at least one pixel. - */ - - if (x1 <= x2 && ix2 >= bounds->pt1.x && ix1 <= bounds->pt2.x) - { - /* Get a clipped copies of the starting and ending X positions. This - * clipped truncates "down" and gives the quantized pixel holding the - * fractional X position - */ - - ix1 = ngl_clipl(ix1, bounds->pt1.x); - ix2 = ngl_clipr(ix2, bounds->pt2.x); - - /* Get the run length for the clipped row */ - - width = ix2 - ix1 + 1; - -#if NXGLIB_BITSPERPIXEL < 8 - /* Handle masking of the fractional initial byte */ - -#ifdef CONFIG_NX_PACKEDMSFIRST - mask = (uint8_t)(0xff >> (8 - NXGL_REMAINDERX(ix1)); -#else - mask = (uint8_t)(0xff << (8 - NXGL_REMAINDERX(ix1))); -#endif - dest = line; - lnlen = width; - - if (lnlen > 1 && mask) - { - dest[0] = (dest[0] & ~mask) | (mpixel & mask); - mask = 0xff; - dest++; - lnlen--; - } - - /* Handle masking of the fractional final byte */ - -#ifdef CONFIG_NX_PACKEDMSFIRST - mask &= (uint8_t)(0xff << (8 - NXGL_REMAINDERX(ix2))); -#else - mask &= (uint8_t)(0xff >> (8 - NXGL_REMAINDERX(ix2))); -#endif - if (lnlen > 0 && mask) - { - dest[lnlen-1] = (dest[lnlen-1] & ~mask) | (mpixel & mask); - lnlen--; - } - - /* Handle all of the unmasked bytes in-between */ - - if (lnlen > 0) - { - NXGL_MEMSET(dest, (NXGL_PIXEL_T)color, lnlen); - } - -#else - /* Then draw the run from (line + ix1) to (line + ix2) */ - - dest = line + NXGL_SCALEX(ix1); - NXGL_MEMSET(dest, (NXGL_PIXEL_T)color, width); -#endif - } - - /* Move to the start of the next line */ - - line += stride; - - /* Add the dx/dy value to get the run positions on the next row */ - - x1 += dx1dy; - x2 += dx2dy; - } -} diff --git a/nuttx/graphics/nxglib/fb/nxglib_getrectangle.c b/nuttx/graphics/nxglib/fb/nxglib_getrectangle.c deleted file mode 100644 index 82e541ec5..000000000 --- a/nuttx/graphics/nxglib/fb/nxglib_getrectangle.c +++ /dev/null @@ -1,201 +0,0 @@ -/**************************************************************************** - * graphics/nxglib/fb/nxglib_getrectangle.c - * - * Copyright (C) 2011 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <gnutt@nuttx.org> - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * 3. Neither the name NuttX nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - ****************************************************************************/ - -/**************************************************************************** - * Included Files - ****************************************************************************/ - -#include <nuttx/config.h> - -#include <stdint.h> - -#include <nuttx/fb.h> -#include <nuttx/nx/nxglib.h> - -#include "nxglib_bitblit.h" - -/**************************************************************************** - * Pre-Processor Definitions - ****************************************************************************/ - -/**************************************************************************** - * Private Types - ****************************************************************************/ - -/**************************************************************************** - * Private Data - ****************************************************************************/ - -/**************************************************************************** - * Public Data - ****************************************************************************/ - -/**************************************************************************** - * Private Functions - ****************************************************************************/ - -/**************************************************************************** - * Name: nxgl_lowresmemcpy - ****************************************************************************/ - -#if NXGLIB_BITSPERPIXEL < 8 -static inline void nxgl_lowresmemcpy(FAR uint8_t *dline, FAR const uint8_t *sline, - unsigned int width, - uint8_t leadmask, uint8_t tailmask) -{ - FAR const uint8_t *sptr; - FAR uint8_t *dptr; - uint8_t mask; - int lnlen; - - /* Handle masking of the fractional initial byte */ - - mask = leadmask; - sptr = sline; - dptr = dline; - lnlen = width; - - if (lnlen > 1 && mask) - { - dptr[0] = (dptr[0] & ~mask) | (sptr[0] & mask); - mask = 0xff; - dptr++; - sptr++; - lnlen--; - } - - /* Handle masking of the fractional final byte */ - - mask &= tailmask; - if (lnlen > 0 && mask) - { - dptr[lnlen-1] = (dptr[lnlen-1] & ~mask) | (sptr[lnlen-1] & mask); - lnlen--; - } - - /* Handle all of the unmasked bytes in-between */ - - if (lnlen > 0) - { - NXGL_MEMCPY(dptr, sptr, lnlen); - } -} -#endif - -/**************************************************************************** - * Public Functions - ****************************************************************************/ - -/**************************************************************************** - * Name: nxgl_getrectangle_*bpp - * - * Descripton: - * Fetch a rectangular region from framebuffer memory. The source is - * expressed as a rectangle. - * - ****************************************************************************/ - -void NXGL_FUNCNAME(nxgl_getrectangle,NXGLIB_SUFFIX) -(FAR struct fb_planeinfo_s *pinfo, FAR const struct nxgl_rect_s *rect, - FAR void *dest, unsigned int deststride) -{ - FAR const uint8_t *sline; - FAR uint8_t *dline; - unsigned int width; - unsigned int fbstride; - unsigned int rows; - -#if NXGLIB_BITSPERPIXEL < 8 - uint8_t leadmask; - uint8_t tailmask; -#endif - - /* Get the width of the framebuffer in bytes */ - - fbstride = pinfo->stride; - - /* Get the dimensions of the rectange to copy: width in pixels, height - * in rows - */ - - width = rect->pt2.x - rect->pt1.x + 1; - rows = rect->pt2.y - rect->pt1.y + 1; - -#if NXGLIB_BITSPERPIXEL < 8 -# ifdef CONFIG_NX_PACKEDMSFIRST - - /* Get the mask for pixels that are ordered so that they pack from the - * MS byte down. - */ - - leadmask = (uint8_t)(0xff >> (8 - NXGL_REMAINDERX(rect->pt1.x))); - tailmask = (uint8_t)(0xff << (8 - NXGL_REMAINDERX(rect->pt2.x-1))); -# else - /* Get the mask for pixels that are ordered so that they pack from the - * LS byte up. - */ - - leadmask = (uint8_t)(0xff << (8 - NXGL_REMAINDERX(rect->pt1.x))); - tailmask = (uint8_t)(0xff >> (8 - NXGL_REMAINDERX(rect->pt1.x-1))); -# endif -#endif - - /* sline = address of the first pixel in the top row of the source in - * framebuffer memory - */ - - sline = pinfo->fbmem + rect->pt1.y * fbstride + NXGL_SCALEX(rect->pt1.x); - - /* dline = address of the first row pixel */ - - dline = (FAR uint8_t *)dest; - - /* Yes.. Copy the rectangle */ - - while (rows--) - { - /* Copy the row */ - -#if NXGLIB_BITSPERPIXEL < 8 - nxgl_lowresmemcpy(dline, sline, width, leadmask, tailmask); -#else - NXGL_MEMCPY(dline, sline, width); -#endif - /* Point to the next source/dest row below the current one */ - - dline += deststride; - sline += fbstride; - } -} diff --git a/nuttx/graphics/nxglib/fb/nxglib_moverectangle.c b/nuttx/graphics/nxglib/fb/nxglib_moverectangle.c deleted file mode 100644 index d8e52250c..000000000 --- a/nuttx/graphics/nxglib/fb/nxglib_moverectangle.c +++ /dev/null @@ -1,252 +0,0 @@ -/**************************************************************************** - * graphics/nxglib/fb/nxglib_moverectangle.c - * - * Copyright (C) 2008-2012 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <gnutt@nuttx.org> - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * 3. Neither the name NuttX nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - ****************************************************************************/ - -/**************************************************************************** - * Included Files - ****************************************************************************/ - -#include <nuttx/config.h> - -#include <stdint.h> - -#include <nuttx/fb.h> -#include <nuttx/nx/nxglib.h> - -#include "nxglib_bitblit.h" - -/**************************************************************************** - * Pre-Processor Definitions - ****************************************************************************/ - -/**************************************************************************** - * Private Types - ****************************************************************************/ - -/**************************************************************************** - * Private Data - ****************************************************************************/ - -/**************************************************************************** - * Public Data - ****************************************************************************/ - -/**************************************************************************** - * Private Functions - ****************************************************************************/ - -/**************************************************************************** - * Name: nxgl_lowresmemcpy - ****************************************************************************/ - -#if NXGLIB_BITSPERPIXEL < 8 -static inline void nxgl_lowresmemcpy(FAR uint8_t *dline, FAR const uint8_t *sline, - unsigned int width, - uint8_t leadmask, uint8_t tailmask) -{ - FAR const uint8_t *sptr; - FAR uint8_t *dptr; - uint8_t mask; - int lnlen; - - /* Handle masking of the fractional initial byte */ - - mask = leadmask; - sptr = sline; - dptr = dline; - lnlen = width; - - if (lnlen > 1 && mask) - { - dptr[0] = (dptr[0] & ~mask) | (sptr[0] & mask); - mask = 0xff; - dptr++; - sptr++; - lnlen--; - } - - /* Handle masking of the fractional final byte */ - - mask &= tailmask; - if (lnlen > 0 && mask) - { - dptr[lnlen-1] = (dptr[lnlen-1] & ~mask) | (sptr[lnlen-1] & mask); - lnlen--; - } - - /* Handle all of the unmasked bytes in-between */ - - if (lnlen > 0) - { - NXGL_MEMCPY(dptr, sptr, lnlen); - } -} -#endif - -/**************************************************************************** - * Public Functions - ****************************************************************************/ - -/**************************************************************************** - * Name: nxgl_moverectangle_*bpp - * - * Descripton: - * Move a rectangular region from location to another in the - * framebuffer memory. The source is expressed as a rectangle; the - * destination position is expressed as a point corresponding to the - * translation of the upper, left-hand corner. - * - ****************************************************************************/ - -void NXGL_FUNCNAME(nxgl_moverectangle,NXGLIB_SUFFIX) -(FAR struct fb_planeinfo_s *pinfo, FAR const struct nxgl_rect_s *rect, - FAR struct nxgl_point_s *offset) -{ - FAR const uint8_t *sline; - FAR uint8_t *dline; - unsigned int width; - unsigned int stride; - unsigned int rows; - -#if NXGLIB_BITSPERPIXEL < 8 - uint8_t leadmask; - uint8_t tailmask; -#endif - - /* Get the width of the framebuffer in bytes */ - - stride = pinfo->stride; - - /* Get the dimensions of the rectange to fill: width in pixels, height - * in rows - */ - - width = rect->pt2.x - rect->pt1.x + 1; - rows = rect->pt2.y - rect->pt1.y + 1; - -#if NXGLIB_BITSPERPIXEL < 8 -# ifdef CONFIG_NX_PACKEDMSFIRST - - /* Get the mask for pixels that are ordered so that they pack from the - * MS byte down. - */ - - leadmask = (uint8_t)(0xff >> (8 - NXGL_REMAINDERX(rect->pt1.x))); - tailmask = (uint8_t)(0xff << (8 - NXGL_REMAINDERX(rect->pt2.x-1))); -# else - /* Get the mask for pixels that are ordered so that they pack from the - * LS byte up. - */ - - leadmask = (uint8_t)(0xff << (8 - NXGL_REMAINDERX(rect->pt1.x))); - tailmask = (uint8_t)(0xff >> (8 - NXGL_REMAINDERX(rect->pt1.x-1))); -# endif -#endif - - /* sline = address of the first pixel in the top row of the source in - * framebuffer memory - */ - - sline = pinfo->fbmem + rect->pt1.y * stride + NXGL_SCALEX(rect->pt1.x); - - /* dline = address of the first pixel in the top row of the destination - * in framebuffer memory. We get dline by subtract the offset from the - * source position. - */ - - dline = pinfo->fbmem + offset->y * stride + NXGL_SCALEX(offset->x); - - /* Case 1: Is the destination position above the displayed position? - * If the destination position is less then then the src address, then the - * destination is offset to a postion below (and or to the left) of the - * source in framebuffer memory. - */ - - if (offset->y < rect->pt1.y || - (offset->y < rect->pt1.y && offset->x <= rect->pt1.x)) - { - /* Yes.. Copy the rectangle from top down (i.e., adding the stride - * to move to the next, lower row) */ - - while (rows--) - { - /* Copy the row */ - -#if NXGLIB_BITSPERPIXEL < 8 - nxgl_lowresmemcpy(dline, sline, width, leadmask, tailmask); -#else - NXGL_MEMCPY(dline, sline, width); -#endif - /* Point to the next source/dest row below the current one */ - - dline += stride; - sline += stride; - } - } - - /* Case 2: No.. the destination position is above (or to the left of) - * the displayed source position - */ - - else - { - /* Adjust sline and dline to point to the bottom row (+1) of the - * source and destination rectangles in framebuffer memory. - */ - - unsigned int hoffset = rows * stride; - sline += hoffset; - dline += hoffset; - - /* Copy the rectangle from the bottom up (i.e., subtracting stride - * to re-position to the previous, higher row) - */ - - while (rows--) - { - /* Point to the next source/dest row above the current one */ - - dline -= stride; - sline -= stride; - - /* Copy the row */ - -#if NXGLIB_BITSPERPIXEL < 8 - nxgl_lowresmemcpy(dline, sline, width, leadmask, tailmask); -#else - NXGL_MEMCPY(dline, sline, width); -#endif - } - } -} diff --git a/nuttx/graphics/nxglib/fb/nxglib_setpixel.c b/nuttx/graphics/nxglib/fb/nxglib_setpixel.c deleted file mode 100644 index 7079b7e57..000000000 --- a/nuttx/graphics/nxglib/fb/nxglib_setpixel.c +++ /dev/null @@ -1,156 +0,0 @@ -/**************************************************************************** - * graphics/nxglib/fb/nxglib_setpixel.c - * - * Copyright (C) 2011 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <gnutt@nuttx.org> - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * 3. Neither the name NuttX nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - ****************************************************************************/ - -/**************************************************************************** - * Included Files - ****************************************************************************/ - -#include <nuttx/config.h> - -#include <stdint.h> - -#include <nuttx/fb.h> -#include <nuttx/nx/nxglib.h> - -#include "nxglib_bitblit.h" - -/**************************************************************************** - * Pre-Processor Definitions - ****************************************************************************/ - -#ifndef NXGLIB_SUFFIX -# error "NXGLIB_SUFFIX must be defined before including this header file" -#endif - -/**************************************************************************** - * Private Types - ****************************************************************************/ - -/**************************************************************************** - * Private Data - ****************************************************************************/ - -/**************************************************************************** - * Public Data - ****************************************************************************/ - -/**************************************************************************** - * Private Functions - ****************************************************************************/ - -/**************************************************************************** - * Public Functions - ****************************************************************************/ - -/**************************************************************************** - * Name: nxgl_setpixel_*bpp - * - * Descripton: - * Draw a single pixel in frambuffer memory at the given position and with - * the given color. This is equivalent to nxgl_fillrectangle_*bpp() with - * a 1x1 rectangle but is more efficient. - * - ****************************************************************************/ - -void NXGL_FUNCNAME(nxgl_setpixel,NXGLIB_SUFFIX) - (FAR struct fb_planeinfo_s *pinfo, - FAR const struct nxgl_point_s *pos, - NXGL_PIXEL_T color) -{ - FAR uint8_t *dest; - -#if NXGLIB_BITSPERPIXEL < 8 - uint8_t shift; - uint8_t mask; -#else - FAR NXGL_PIXEL_T *pixel; -#endif - - /* Get the address of the first byte of the pixel to write */ - - dest = pinfo->fbmem + pos->y * pinfo->stride + NXGL_SCALEX(pos->x); - -#if NXGLIB_BITSPERPIXEL < 8 - - /* Shift the color into the proper position */ - -# ifdef CONFIG_NX_PACKEDMSFIRST - -#if NXGLIB_BITSPERPIXEL == 1 - shift = (7 - (pos->x & 7)); /* Shift is 0, 1, ... 7 */ - mask = (1 << shift); /* Mask is 0x01, 0x02, .. 0x80 */ - color <<= shift; /* Color is positioned under the mask */ -#elif NXGLIB_BITSPERPIXEL == 2 - shift = (6 - ((pos->x & 3) << 1)); /* Shift is 0, 2, 4, or 6 */ - mask = (3 << shift); /* Mask is 0x03, 0x0c, 0x30, or 0xc0 */ - color <<= shift; /* Color is positioned under the mask */ -#elif NXGLIB_BITSPERPIXEL == 4 - shift = (4 - ((pos->x & 1) << 2)); /* Shift is 0 or 4 */ - mask = (15 << shift); /* Mask is 0x0f or 0xf0 */ - color <<= shift; /* Color is positioned under the mask */ -#else -# error "Unsupport pixel depth" -#endif - -# else /* CONFIG_NX_PACKEDMSFIRST */ - -#if NXGLIB_BITSPERPIXEL == 1 - shift = (pos->x & 7); /* Shift is 0, 1, ... 7 */ - mask = (1 << shift); /* Mask is 0x01, 0x02, .. 0x80 */ - color <<= shift; /* Color is positioned under the mask */ -#elif NXGLIB_BITSPERPIXEL == 2 - shift = (pos->x & 3) << 1; /* Shift is 0, 2, 4, or 6 */ - mask = (3 << shift); /* Mask is 0x03, 0x0c, 0x30, or 0xc0 */ - color <<= shift; /* Color is positioned under the mask */ -#elif NXGLIB_BITSPERPIXEL == 4 - shift = (pos->x & 1) << 2; /* Shift is 0 or 4 */ - mask = (15 << shift); /* Mask is 0x0f or 0xf0 */ - color <<= shift; /* Color is positioned under the mask */ -#else -# error "Unsupport pixel depth" -#endif -#endif /* CONFIG_NX_PACKEDMSFIRST */ - - /* Handle masking of the fractional byte */ - - *dest = (*dest & ~mask) | (color & mask); -#else - - /* Write the pixel (proper alignment assumed) */ - - pixel = (FAR NXGL_PIXEL_T *)dest; - *pixel = color; -#endif -} diff --git a/nuttx/graphics/nxglib/lcd/nxglib_copyrectangle.c b/nuttx/graphics/nxglib/lcd/nxglib_copyrectangle.c deleted file mode 100644 index 40989acef..000000000 --- a/nuttx/graphics/nxglib/lcd/nxglib_copyrectangle.c +++ /dev/null @@ -1,141 +0,0 @@ -/**************************************************************************** - * graphics/nxglib/lcd/nxsglib_copyrectangle.c - * - * Copyright (C) 2010-2011 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <gnutt@nuttx.org> - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * 3. Neither the name NuttX nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - ****************************************************************************/ - -/**************************************************************************** - * Included Files - ****************************************************************************/ - -#include <nuttx/config.h> - -#include <stdint.h> -#include <assert.h> - -#include <nuttx/lcd/lcd.h> -#include <nuttx/nx/nxglib.h> - -#include "nxglib_bitblit.h" -#include "nxglib_copyrun.h" - -/**************************************************************************** - * Pre-Processor Definitions - ****************************************************************************/ - -/**************************************************************************** - * Private Types - ****************************************************************************/ - -/**************************************************************************** - * Private Data - ****************************************************************************/ - -/**************************************************************************** - * Public Data - ****************************************************************************/ - -/**************************************************************************** - * Private Functions - ****************************************************************************/ - -/**************************************************************************** - * Public Functions - ****************************************************************************/ - -/**************************************************************************** - * Name: nxgl_copyrectangle_*bpp - * - * Descripton: - * Copy a rectangular bitmap image into the specific position in the - * framebuffer memory. - * - ****************************************************************************/ - -void NXGL_FUNCNAME(nxgl_copyrectangle,NXGLIB_SUFFIX) -(FAR struct lcd_planeinfo_s *pinfo, FAR const struct nxgl_rect_s *dest, - FAR const void *src, FAR const struct nxgl_point_s *origin, - unsigned int srcstride) -{ - FAR const uint8_t *sline; - unsigned int ncols; - unsigned int row; - unsigned int xoffset; -#if NXGLIB_BITSPERPIXEL < 8 - unsigned int remainder; -#endif - - /* Get the dimensions of the rectange to fill: width in pixels, - * height in rows - */ - - ncols = dest->pt2.x - dest->pt1.x + 1; - - /* Set up to copy the image */ - - xoffset = dest->pt1.x - origin->x; - sline = (const uint8_t*)src + NXGL_SCALEX(xoffset) + (dest->pt1.y - origin->y) * srcstride; -#if NXGLIB_BITSPERPIXEL < 8 - remainder = NXGL_REMAINDERX(xoffset); -#endif - - /* Copy the image, one row at a time */ - - for (row = dest->pt1.y; row <= dest->pt2.y; row++) - { -#if NXGLIB_BITSPERPIXEL < 8 - /* if the source pixel is not aligned with a byte boundary, then we will - * need to copy the image data to the run buffer first. - */ - - if (remainder != 0) - { - NXGL_FUNCNAME(nxgl_copyrun,NXGLIB_SUFFIX)(sline, pinfo->buffer, remainder, ncols); - (void)pinfo->putrun(row, dest->pt1.x, pinfo->buffer, ncols); - } - else -#endif - { - /* The pixel data is byte aligned. Copy the image data directly from - * the image memory. - */ - - (void)pinfo->putrun(row, dest->pt1.x, sline, ncols); - } - - /* Then adjust the source pointer to refer to the next line in the source - * image. - */ - - sline += srcstride; - } -} diff --git a/nuttx/graphics/nxglib/lcd/nxglib_fillrectangle.c b/nuttx/graphics/nxglib/lcd/nxglib_fillrectangle.c deleted file mode 100644 index b9554e1cc..000000000 --- a/nuttx/graphics/nxglib/lcd/nxglib_fillrectangle.c +++ /dev/null @@ -1,111 +0,0 @@ -/**************************************************************************** - * graphics/nxglib/lcd/nxglib_fillrectangle.c - * - * Copyright (C) 2010-2011 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <gnutt@nuttx.org> - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * 3. Neither the name NuttX nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - ****************************************************************************/ - -/**************************************************************************** - * Included Files - ****************************************************************************/ - -#include <nuttx/config.h> - -#include <sys/types.h> -#include <stdint.h> - -#include <nuttx/lcd/lcd.h> -#include <nuttx/nx/nxglib.h> - -#include "nxglib_bitblit.h" -#include "nxglib_fillrun.h" - -/**************************************************************************** - * Pre-Processor Definitions - ****************************************************************************/ - -#ifndef NXGLIB_SUFFIX -# error "NXGLIB_SUFFIX must be defined before including this header file" -#endif - -/**************************************************************************** - * Private Types - ****************************************************************************/ - -/**************************************************************************** - * Private Data - ****************************************************************************/ - -/**************************************************************************** - * Public Data - ****************************************************************************/ - -/**************************************************************************** - * Private Functions - ****************************************************************************/ - -/**************************************************************************** - * Public Functions - ****************************************************************************/ - -/**************************************************************************** - * Name: nxgl_fillrectangle_*bpp - * - * Descripton: - * Fill a rectangle region in the LCD memory with a fixed color - * - ****************************************************************************/ - -void NXGL_FUNCNAME(nxgl_fillrectangle,NXGLIB_SUFFIX) - (FAR struct lcd_planeinfo_s *pinfo, - FAR const struct nxgl_rect_s *rect, - NXGL_PIXEL_T color) -{ - unsigned int ncols; - unsigned int row; - - /* Get the dimensions of the rectange to fill in pixels */ - - ncols = rect->pt2.x - rect->pt1.x + 1; - - /* Fill the run buffer with the selected color */ - - NXGL_FUNCNAME(nxgl_fillrun,NXGLIB_SUFFIX)((NXGLIB_RUNTYPE*)pinfo->buffer, color, ncols); - - /* Then fill the rectangle line-by-line */ - - for (row = rect->pt1.y; row <= rect->pt2.y; row++) - { - /* Draw the raster line at this row */ - - (void)pinfo->putrun(row, rect->pt1.x, pinfo->buffer, ncols); - } -} diff --git a/nuttx/graphics/nxglib/lcd/nxglib_filltrapezoid.c b/nuttx/graphics/nxglib/lcd/nxglib_filltrapezoid.c deleted file mode 100644 index 3ba44b34a..000000000 --- a/nuttx/graphics/nxglib/lcd/nxglib_filltrapezoid.c +++ /dev/null @@ -1,259 +0,0 @@ -/**************************************************************************** - * graphics/nxglib/lcd/nxglib_filltrapezoid.c - * - * Copyright (C) 2010-2012 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <gnutt@nuttx.org> - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * 3. Neither the name NuttX nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - ****************************************************************************/ - -/**************************************************************************** - * Included Files - ****************************************************************************/ - -#include <nuttx/config.h> - -#include <stdint.h> -#include <fixedmath.h> - -#include <nuttx/lcd/lcd.h> -#include <nuttx/nx/nxglib.h> - -#include "nxglib_bitblit.h" -#include "nxglib_fillrun.h" - -/**************************************************************************** - * Pre-Processor Definitions - ****************************************************************************/ - -#ifndef NXGLIB_SUFFIX -# error "NXGLIB_SUFFIX must be defined before including this header file" -#endif - -/**************************************************************************** - * Private Types - ****************************************************************************/ - -/**************************************************************************** - * Private Data - ****************************************************************************/ - -/**************************************************************************** - * Public Data - ****************************************************************************/ - -/**************************************************************************** - * Private Functions - ****************************************************************************/ - -/**************************************************************************** - * Public Functions - ****************************************************************************/ - -/**************************************************************************** - * Name: nxglib_filltrapezoid_*bpp - * - * Descripton: - * Fill a trapezoidal region in the LCD memory with a fixed color. - * Clip the trapezoid to lie within a boundng box. This is useful for - * drawing complex shapes that can be broken into a set of trapezoids. - * - ****************************************************************************/ - -void NXGL_FUNCNAME(nxgl_filltrapezoid,NXGLIB_SUFFIX) - (FAR struct lcd_planeinfo_s *pinfo, - FAR const struct nxgl_trapezoid_s *trap, - FAR const struct nxgl_rect_s *bounds, - NXGL_PIXEL_T color) -{ - unsigned int ncols; - unsigned int topy; - unsigned int boty; - unsigned int row; - unsigned int botw; - b16_t topx1; - b16_t topx2; - b16_t botx1; - b16_t botx2; - b16_t dx1dy; - b16_t dx2dy; - int dy; - int ix1; - int ix2; - - /* Get the top run endpoints */ - - topx1 = trap->top.x1; - topx2 = trap->top.x2; - - /* Calculate the number of rows to render */ - - topy = trap->top.y; - boty = trap->bot.y; - - /* Get the bottom run endpoints */ - - botx1 = trap->bot.x1; - botx2 = trap->bot.x2; - - /* Calculate the slope of the left and right side of the trapezoid */ - - dy = boty - topy; - if (dy > 0) - { - dx1dy = b16divi((botx1 - topx1), dy); - dx2dy = b16divi((botx2 - topx2), dy); - } - else - { - /* The trapezoid is a run! Use the average width. */ - - topx1 = (topx1 + botx1) >> 1; - topx2 = (topx2 + botx2) >> 1; - botx1 = topx1; - botx2 = topx2; - dx1dy = 0; - dx2dy = 0; - } - - /* Perform vertical clipping */ - - if (topy < bounds->pt1.y) - { - /* Is the entire trapezoid "above" the clipping window? */ - - if (boty < bounds->pt1.y) - { - /* Yes.. then do nothing */ - - return; - } - - /* Calculate the x values for the new top run */ - - dy = bounds->pt1.y - topy; - topx1 += dy * dx1dy; - topx2 += dy * dx2dy; - - /* Clip the top row to render */ - - topy = bounds->pt1.y; - } - - if (boty > bounds->pt2.y) - { - /* Is the entire trapezoid "below" the clipping window? */ - - if (topy > bounds->pt2.y) - { - /* Yes.. then do nothing */ - - return; - } - - /* Calculate the x values for the new bottom run */ - - dy = boty - bounds->pt2.y; - botx1 -= dy * dx1dy; - botx2 -= dy * dx2dy; - - /* Clip the bottom row to render */ - - boty = bounds->pt2.y; - } - - /* Handle the special case where the sides cross (as in an hourglass) */ - - if (botx1 > botx2) - { - b16_t tmp; - ngl_swap(botx1, botx2, tmp); - } - - /* Fill the run buffer for the maximum run that we will need */ - - ix1 = b16toi(topx1); - ix1 = ngl_clipl(ix1, bounds->pt1.x); - ix2 = b16toi(topx2); - ix2 = ngl_clipr(ix2, bounds->pt2.x); - ncols = ix2 - ix1 + 1; - - ix1 = b16toi(botx1); - ix1 = ngl_clipl(ix1, bounds->pt1.x); - ix2 = b16toi(botx2); - ix2 = ngl_clipr(ix2, bounds->pt2.x); - botw = ix2 - ix1 + 1; - - if (ncols < botw) - { - ncols = botw; - } - - NXGL_FUNCNAME(nxgl_fillrun,NXGLIB_SUFFIX)((NXGLIB_RUNTYPE*)pinfo->buffer, color, ncols); - - /* Then fill the trapezoid row-by-row */ - - for (row = topy; row <= boty; row++) - { - /* Handle the special case where the sides cross (as in an hourglass) */ - - if (topx1 > topx2) - { - b16_t tmp; - ngl_swap(topx1, topx2, tmp); - ngl_swap(dx1dy, dx2dy, tmp); - } - - /* Convert the positions to integer and get the run width, clipping to - * fit within the bounding box. - */ - - ix1 = b16toi(topx1); - ix1 = ngl_clipl(ix1, bounds->pt1.x); - ix2 = b16toi(topx2); - ix2 = ngl_clipr(ix2, bounds->pt2.x); - - /* Handle some corner cases where we draw nothing. Otherwise, we will - * always draw at least one pixel. - */ - - if (ix1 <= ix2) - { - /* Then draw the run from ix1 to ix2 at row */ - - ncols = ix2 - ix1 + 1; - (void)pinfo->putrun(row, ix1, pinfo->buffer, ncols); - } - - /* Add the dx/dy value to get the run positions on the next row */ - - topx1 += dx1dy; - topx2 += dx2dy; - } -} diff --git a/nuttx/graphics/nxglib/lcd/nxglib_getrectangle.c b/nuttx/graphics/nxglib/lcd/nxglib_getrectangle.c deleted file mode 100644 index 9318426ba..000000000 --- a/nuttx/graphics/nxglib/lcd/nxglib_getrectangle.c +++ /dev/null @@ -1,105 +0,0 @@ -/**************************************************************************** - * graphics/nxglib/lcd/nxglib_getrectangle.c - * - * Copyright (C) 2011 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <gnutt@nuttx.org> - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * 3. Neither the name NuttX nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - ****************************************************************************/ - -/**************************************************************************** - * Included Files - ****************************************************************************/ - -#include <nuttx/config.h> - -#include <stdint.h> - -#include <nuttx/lcd/lcd.h> -#include <nuttx/nx/nxglib.h> - -#include "nxglib_bitblit.h" - -/**************************************************************************** - * Pre-Processor Definitions - ****************************************************************************/ - -/**************************************************************************** - * Private Types - ****************************************************************************/ - -/**************************************************************************** - * Private Data - ****************************************************************************/ - -/**************************************************************************** - * Public Data - ****************************************************************************/ - -/**************************************************************************** - * Private Functions - ****************************************************************************/ - -/**************************************************************************** - * Public Functions - ****************************************************************************/ - -/**************************************************************************** - * Name: nxgl_moverectangle_*bpp - * - * Descripton: - * Fetch a rectangular region from LCD GRAM memory. The source is - * expressed as a rectangle. - * - ****************************************************************************/ - -void NXGL_FUNCNAME(nxgl_getrectangle,NXGLIB_SUFFIX) -(FAR struct lcd_planeinfo_s *pinfo, FAR const struct nxgl_rect_s *rect, - FAR void *dest, unsigned int deststride) -{ - FAR uint8_t *dline; - unsigned int ncols; - unsigned int srcrow; - - /* Get the width of the rectange to move in pixels. */ - - ncols = rect->pt2.x - rect->pt1.x + 1; - - /* dline = address of the first row pixel */ - - dline = (FAR uint8_t *)dest; - - /* Copy the rectangle */ - - for (srcrow = rect->pt1.y; srcrow <= rect->pt2.y; srcrow++) - { - (void)pinfo->getrun(srcrow, rect->pt1.x, dline, ncols); - dline += deststride; - } -} diff --git a/nuttx/graphics/nxglib/lcd/nxglib_moverectangle.c b/nuttx/graphics/nxglib/lcd/nxglib_moverectangle.c deleted file mode 100644 index b46a17e61..000000000 --- a/nuttx/graphics/nxglib/lcd/nxglib_moverectangle.c +++ /dev/null @@ -1,131 +0,0 @@ -/**************************************************************************** - * graphics/nxglib/lcd/nxglib_moverectangle.c - * - * Copyright (C) 2010-2011 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <gnutt@nuttx.org> - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * 3. Neither the name NuttX nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - ****************************************************************************/ - -/**************************************************************************** - * Included Files - ****************************************************************************/ - -#include <nuttx/config.h> - -#include <stdint.h> - -#include <nuttx/lcd/lcd.h> -#include <nuttx/nx/nxglib.h> - -#include "nxglib_bitblit.h" - -/**************************************************************************** - * Pre-Processor Definitions - ****************************************************************************/ - -/**************************************************************************** - * Private Types - ****************************************************************************/ - -/**************************************************************************** - * Private Data - ****************************************************************************/ - -/**************************************************************************** - * Public Data - ****************************************************************************/ - -/**************************************************************************** - * Private Functions - ****************************************************************************/ - -/**************************************************************************** - * Public Functions - ****************************************************************************/ - -/**************************************************************************** - * Name: nxgl_moverectangle_*bpp - * - * Descripton: - * Move a rectangular region from location to another in the - * LCD memory. The source is expressed as a rectangle; the - * destination position is expressed as a point corresponding to the - * translation of the upper, left-hand corner. - * - ****************************************************************************/ - -void NXGL_FUNCNAME(nxgl_moverectangle,NXGLIB_SUFFIX) -(FAR struct lcd_planeinfo_s *pinfo, FAR const struct nxgl_rect_s *rect, - FAR struct nxgl_point_s *offset) -{ - unsigned int ncols; - unsigned int srcrow; - unsigned int destrow; - - /* Get the width of the rectange to move in pixels. */ - - ncols = rect->pt2.x - rect->pt1.x + 1; - - /* Case 1: The destination position (offset) is above the displayed - * position (rect) - */ - - if (offset->y < rect->pt1.y) - { - /* Copy the rectangle from top down */ - - for (srcrow = rect->pt1.y, destrow = offset->y; - srcrow <= rect->pt2.y; - srcrow++, destrow++) - { - (void)pinfo->getrun(srcrow, rect->pt1.x, pinfo->buffer, ncols); - (void)pinfo->putrun(destrow, offset->x, pinfo->buffer, ncols); - } - } - - /* Case 2: The destination position (offset) is below the displayed - * position (rect) - */ - - else - { - unsigned int dy = rect->pt2.y - rect->pt1.y; - - /* Copy the rectangle from the bottom up */ - - for (srcrow = rect->pt2.y, destrow = offset->y + dy; - srcrow >= rect->pt1.y; - srcrow--, destrow--) - { - (void)pinfo->getrun(srcrow, rect->pt1.x, pinfo->buffer, ncols); - (void)pinfo->putrun(destrow, offset->x, pinfo->buffer, ncols); - } - } -} diff --git a/nuttx/graphics/nxglib/lcd/nxglib_setpixel.c b/nuttx/graphics/nxglib/lcd/nxglib_setpixel.c deleted file mode 100644 index c5cff99a7..000000000 --- a/nuttx/graphics/nxglib/lcd/nxglib_setpixel.c +++ /dev/null @@ -1,153 +0,0 @@ -/**************************************************************************** - * graphics/nxglib/lcd/nxglib_setpixel.c - * - * Copyright (C) 2011 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <gnutt@nuttx.org> - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * 3. Neither the name NuttX nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - ****************************************************************************/ - -/**************************************************************************** - * Included Files - ****************************************************************************/ - -#include <nuttx/config.h> - -#include <sys/types.h> -#include <stdint.h> - -#include <nuttx/lcd/lcd.h> -#include <nuttx/nx/nxglib.h> - -#include "nxglib_bitblit.h" - -/**************************************************************************** - * Pre-Processor Definitions - ****************************************************************************/ - -#ifndef NXGLIB_SUFFIX -# error "NXGLIB_SUFFIX must be defined before including this header file" -#endif - -/**************************************************************************** - * Private Types - ****************************************************************************/ - -/**************************************************************************** - * Private Data - ****************************************************************************/ - -/**************************************************************************** - * Public Data - ****************************************************************************/ - -/**************************************************************************** - * Private Functions - ****************************************************************************/ - -/**************************************************************************** - * Public Functions - ****************************************************************************/ - -/**************************************************************************** - * Name: nxgl_setpixel_*bpp - * - * Descripton: - * Draw a single pixel in LCD memory at the given position and with the - * given color. This is equivalent to nxgl_fillrectangle_*bpp() with a 1x1 - * rectangle but is more efficient. - * - ****************************************************************************/ - -void NXGL_FUNCNAME(nxgl_setpixel,NXGLIB_SUFFIX) - (FAR struct lcd_planeinfo_s *pinfo, - FAR const struct nxgl_point_s *pos, - NXGL_PIXEL_T color) -{ -#if NXGLIB_BITSPERPIXEL < 8 - uint8_t shift; - uint8_t mask; - uint8_t pixel; - - /* Read the byte that contains the pixel to be changed */ - - (void)pinfo->getrun(pos->y, pos->x, &pixel, 8 / NXGLIB_BITSPERPIXEL); - - /* Shift the color into the proper position */ - -# ifdef CONFIG_NX_PACKEDMSFIRST - -#if NXGLIB_BITSPERPIXEL == 1 - shift = (7 - (pos->x & 7)); /* Shift is 0, 1, ... 7 */ - mask = (1 << shift); /* Mask is 0x01, 0x02, .. 0x80 */ - color <<= shift; /* Color is positioned under the mask */ -#elif NXGLIB_BITSPERPIXEL == 2 - shift = (6 - ((pos->x & 3) << 1)); /* Shift is 0, 2, 4, or 6 */ - mask = (3 << shift); /* Mask is 0x03, 0x0c, 0x30, or 0xc0 */ - color <<= shift; /* Color is positioned under the mask */ -#elif NXGLIB_BITSPERPIXEL == 4 - shift = (4 - ((pos->x & 1) << 2)); /* Shift is 0 or 4 */ - mask = (15 << shift); /* Mask is 0x0f or 0xf0 */ - color <<= shift; /* Color is positioned under the mask */ -#else -# error "Unsupport pixel depth" -#endif - -# else /* CONFIG_NX_PACKEDMSFIRST */ - -#if NXGLIB_BITSPERPIXEL == 1 - shift = (pos->x & 7); /* Shift is 0, 1, ... 7 */ - mask = (1 << shift); /* Mask is 0x01, 0x02, .. 0x80 */ - color <<= shift; /* Color is positioned under the mask */ -#elif NXGLIB_BITSPERPIXEL == 2 - shift = (pos->x & 3) << 1; /* Shift is 0, 2, 4, or 6 */ - mask = (3 << shift); /* Mask is 0x03, 0x0c, 0x30, or 0xc0 */ - color <<= shift; /* Color is positioned under the mask */ -#elif NXGLIB_BITSPERPIXEL == 4 - shift = (pos->x & 1) << 2; /* Shift is 0 or 4 */ - mask = (15 << shift); /* Mask is 0x0f or 0xf0 */ - color <<= shift; /* Color is positioned under the mask */ -#else -# error "Unsupport pixel depth" -#endif -#endif /* CONFIG_NX_PACKEDMSFIRST */ - - /* Handle masking of the fractional byte */ - - pixel = (pixel & ~mask) | (color & mask); - - /* Write the modified byte back to graphics memory */ - - (void)pinfo->putrun(pos->y, pos->x, (FAR uint8_t *)&pixel, 8 / NXGLIB_BITSPERPIXEL); -#else - /* Draw a single pixel at this position raster line at this row */ - - (void)pinfo->putrun(pos->y, pos->x, (FAR uint8_t *)&color, 1); -#endif -} diff --git a/nuttx/graphics/nxglib/nxglib_bitblit.h b/nuttx/graphics/nxglib/nxglib_bitblit.h deleted file mode 100644 index 0182337d1..000000000 --- a/nuttx/graphics/nxglib/nxglib_bitblit.h +++ /dev/null @@ -1,208 +0,0 @@ -/**************************************************************************** - * graphics/nxglib/nxglib_bitblit.h - * - * Copyright (C) 2008-2011 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <gnutt@nuttx.org> - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * 3. Neither the name NuttX nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - ****************************************************************************/ - -#ifndef __GRAPHICS_NXGLIB_NXGLIB_BITBLIT_H -#define __GRAPHICS_NXGLIB_NXGLIB_BITBLIT_H - -/**************************************************************************** - * Included Files - ****************************************************************************/ - -#include <nuttx/config.h> - -#include <stdint.h> - -#include <nuttx/nx/nxglib.h> - -/**************************************************************************** - * Pre-Processor Definitions - ****************************************************************************/ - -/* Make sure the bits-per-pixel value has been set by the includer of - * this header file. - */ - -#ifndef NXGLIB_BITSPERPIXEL -# error "NXGLIB_BITSPERPIXEL must be defined before including this header file" -#endif - -/* Set up bit blit macros for this BPP */ - -#if NXGLIB_BITSPERPIXEL == 1 - -# define NXGL_PIXELSHIFT 3 -# define NXGL_PIXELMASK 7 -# define NXGL_MULTIPIXEL(p) ((p) ? 0xff : 0x00) -# define NXGL_PIXEL_T uint8_t - -#elif NXGLIB_BITSPERPIXEL == 2 - -# define NXGL_PIXELSHIFT 2 -# define NXGL_PIXELMASK 3 -# define NXGL_MULTIPIXEL(p) ((uint8_t)(p) << 6 | (uint8_t)(p) << 4 | (uint8_t)(p) << 2 | (p)) -# define NXGL_PIXEL_T uint8_t - -#elif NXGLIB_BITSPERPIXEL == 4 - -# define NXGL_PIXELSHIFT 1 -# define NXGL_PIXELMASK 1 -# define NXGL_MULTIPIXEL(p) ((uint8_t)(p) << 4 | (p)) -# define NXGL_PIXEL_T uint8_t - -#elif NXGLIB_BITSPERPIXEL == 8 - -# define NXGL_SCALEX(x) (x) -# define NXGL_PIXEL_T uint8_t - -#elif NXGLIB_BITSPERPIXEL == 16 - -# define NXGL_SCALEX(x) ((x) << 1) -# define NXGL_PIXEL_T uint16_t - -#elif NXGLIB_BITSPERPIXEL == 24 - -# define NXGL_SCALEX(x) (((x) << 1) + (x)) -# define NXGL_PIXEL_T uint32_t - -#elif NXGLIB_BITSPERPIXEL == 32 - -# define NXGL_SCALEX(x) ((x) << 2) -# define NXGL_PIXEL_T uint32_t - -#endif - -#if NXGLIB_BITSPERPIXEL < 8 -# define NXGL_SCALEX(x) ((x) >> NXGL_PIXELSHIFT) -# define NXGL_REMAINDERX(x) ((x) & NXGL_PIXELMASK) -# define NXGL_ALIGNDOWN(x) ((x) & ~NXGL_PIXELMASK) -# define NXGL_ALIGNUP(x) (((x) + NXGL_PIXELMASK) & ~NXGL_PIXELMASK) - -# define NXGL_MEMSET(dest,value,width) \ - { \ - FAR uint8_t *_ptr = (FAR uint8_t*)(dest); \ - int _nby = NXGL_SCALEX(width); \ - while (_nby--) \ - { \ - *_ptr++ = (value); \ - } \ - } -# define NXGL_MEMCPY(dest,src,width) \ - { \ - FAR uint8_t *_dptr = (FAR uint8_t*)(dest); \ - FAR uint8_t *_sptr = (FAR uint8_t*)(src); \ - int _nby = NXGL_SCALEX(width); \ - while (_nby--) \ - { \ - *_dptr++ = *_sptr++; \ - } \ - } - -#elif NXGLIB_BITSPERPIXEL == 24 -# define NXGL_MEMSET(dest,value,width) \ - { \ - FAR uint8_t *_ptr = (FAR uint8_t*)(dest); \ - nxgl_coord_t _npix = (width); \ - while (_npix--) \ - { \ - *_ptr++ = (value); \ - *_ptr++ = (value) >> 8; \ - *_ptr++ = (value) >> 16; \ - } \ - } -# define NXGL_MEMCPY(dest,src,width) \ - { \ - FAR uint8_t *_dptr = (FAR uint8_t*)(dest); \ - FAR uint8_t *_sptr = (FAR uint8_t*)(src); \ - nxgl_coord_t _npix = (width); \ - while (_npix--) \ - { \ - *_dptr++ = *_sptr++; \ - *_dptr++ = *_sptr++; \ - *_dptr++ = *_sptr++; \ - } \ - } -#else -# define NXGL_MEMSET(dest,value,width) \ - { \ - FAR NXGL_PIXEL_T *_ptr = (FAR NXGL_PIXEL_T*)(dest); \ - nxgl_coord_t _npix = (width); \ - while (_npix--) \ - { \ - *_ptr++ = (value); \ - } \ - } -# define NXGL_MEMCPY(dest,src,width) \ - { \ - FAR NXGL_PIXEL_T *_dptr = (FAR NXGL_PIXEL_T*)(dest); \ - FAR NXGL_PIXEL_T *_sptr = (FAR NXGL_PIXEL_T*)(src); \ - nxgl_coord_t _npix = (width); \ - while (_npix--) \ - { \ - *_dptr++ = *_sptr++; \ - } \ - } -#endif - -/* Form a function name by concatenating two strings */ - -#define _NXGL_FUNCNAME(a,b) a ## b -#define NXGL_FUNCNAME(a,b) _NXGL_FUNCNAME(a,b) - -/**************************************************************************** - * Public Types - ****************************************************************************/ - -/**************************************************************************** - * Public Data - ****************************************************************************/ - -#undef EXTERN -#if defined(__cplusplus) -#define EXTERN extern "C" -extern "C" { -#else -#define EXTERN extern -#endif - -/**************************************************************************** - * Public Functions - ****************************************************************************/ - -#undef EXTERN -#if defined(__cplusplus) -} -#endif - -#endif /* __GRAPHICS_NXGLIB_NXGLIB_BITBLIT_H */ diff --git a/nuttx/graphics/nxglib/nxglib_circlepts.c b/nuttx/graphics/nxglib/nxglib_circlepts.c deleted file mode 100644 index 811953dfc..000000000 --- a/nuttx/graphics/nxglib/nxglib_circlepts.c +++ /dev/null @@ -1,171 +0,0 @@ -/**************************************************************************** - * graphics/nxglib/nxglib_circlepts.c - * - * Copyright (C) 2011 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <gnutt@nuttx.org> - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * 3. Neither the name NuttX nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - ****************************************************************************/ - -/**************************************************************************** - * Included Files - ****************************************************************************/ - -#include <nuttx/config.h> - -#include <string.h> -#include <errno.h> -#include <fixedmath.h> - -#include <nuttx/nx/nxglib.h> - -/**************************************************************************** - * Pre-Processor Definitions - ****************************************************************************/ -/* Trigonometry */ - -#define SIN_0p0 0 /* sin(0) = 0 */ -#define COS_0p0 1 /* cos(0) = 1 */ -#define SIN_22p5 25080 /* sin(22.5) = 25080 / 65536 */ -#define COS_22p5 60547 /* cos(22.5) = 60547 / 65536 */ -#define SIN_45p0 46341 /* sin(45) = 46341 / 65536 */ -#define COS_45p0 SIN_45p0 /* cos(45) = sin(45) */ - -/* Named indices into the 16 circle points generated by nxgl_circlepts */ - -#define POINT_0p0 0 -#define POINT_22p5 1 -#define POINT_45p0 2 -#define POINT_67p5 3 -#define POINT_90p0 4 -#define POINT_112p5 5 -#define POINT_135p0 6 -#define POINT_157p5 7 -#define POINT_180p0 8 -#define POINT_202p5 9 -#define POINT_225p0 10 -#define POINT_247p5 11 -#define POINT_270p0 12 -#define POINT_292p5 13 -#define POINT_315p0 14 -#define POINT_337p5 15 -#define NCIRCLE_POINTS 16 - -/**************************************************************************** - * Private Types - ****************************************************************************/ - -/**************************************************************************** - * Private Data - ****************************************************************************/ - -/**************************************************************************** - * Public Data - ****************************************************************************/ - -/**************************************************************************** - * Private Functions - ****************************************************************************/ - -/**************************************************************************** - * Public Functions - ****************************************************************************/ - -/**************************************************************************** - * Name: nxgl_circlepts - * - * Description: - * Given a description of a circle, return a set of 16 points on the - * circumference of the circle. These points may then be used by - * nx_drawcircle() or related APIs to draw a circle outline. - * - * Input parameters: - * center - A pointer to the point that is the center of the circle - * radius - The radius of the circle in pixels. - * circle - A pointer the first entry in an array of 16 points where the - * circle points will be returned. - * - * Returned value: - * None - * - ****************************************************************************/ - -void nxgl_circlepts(FAR const struct nxgl_point_s *center, nxgl_coord_t radius, - FAR struct nxgl_point_s *circle) -{ - nxgl_coord_t xoffs; - nxgl_coord_t yoffs; - - /* 0, 90, 180, and 270 degrees are the easiest */ - - circle[POINT_0p0].x = center->x + radius; - circle[POINT_0p0].y = center->y; - circle[POINT_90p0].x = center->x; - circle[POINT_90p0].y = center->y + radius; - circle[POINT_180p0].x = center->x - radius; - circle[POINT_180p0].y = center->y; - circle[POINT_270p0].x = center->x; - circle[POINT_270p0].y = center->y - radius; - - /* Now 22.5, 67.5, 112.5, 157.5, 202.5, 247.5, 292.5, and 337.5 */ - - xoffs = b16toi(b16muli(COS_22p5, radius) + b16HALF); - yoffs = b16toi(b16muli(SIN_22p5, radius) + b16HALF); - - circle[POINT_22p5].x = center->x + xoffs; - circle[POINT_22p5].y = center->y + yoffs; - circle[POINT_157p5].x = center->x - xoffs; - circle[POINT_157p5].y = center->y + yoffs; - circle[POINT_202p5].x = center->x - xoffs; - circle[POINT_202p5].y = center->y - yoffs; - circle[POINT_337p5].x = center->x + xoffs; - circle[POINT_337p5].y = center->y - yoffs; - - circle[POINT_67p5].x = center->x + yoffs; - circle[POINT_67p5].y = center->y + xoffs; - circle[POINT_112p5].x = center->x - yoffs; - circle[POINT_112p5].y = center->y + xoffs; - circle[POINT_247p5].x = center->x - yoffs; - circle[POINT_247p5].y = center->y - xoffs; - circle[POINT_292p5].x = center->x + yoffs; - circle[POINT_292p5].y = center->y - xoffs; - - /* Finally, 45.0, 135.0, 225.0, 315.0 */ - - xoffs = b16toi(b16muli(COS_45p0, radius) + b16HALF); - - circle[POINT_45p0].x = center->x + xoffs; - circle[POINT_45p0].y = center->y + xoffs; - circle[POINT_135p0].x = center->x - xoffs; - circle[POINT_135p0].y = center->y + xoffs; - circle[POINT_225p0].x = center->x - xoffs; - circle[POINT_225p0].y = center->y - xoffs; - circle[POINT_315p0].x = center->x + xoffs; - circle[POINT_315p0].y = center->y - xoffs; -} diff --git a/nuttx/graphics/nxglib/nxglib_circletraps.c b/nuttx/graphics/nxglib/nxglib_circletraps.c deleted file mode 100644 index 8ee287795..000000000 --- a/nuttx/graphics/nxglib/nxglib_circletraps.c +++ /dev/null @@ -1,176 +0,0 @@ -/**************************************************************************** - * graphics/nxglib/nxglib_circletraps.c - * - * Copyright (C) 2011 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <gnutt@nuttx.org> - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * 3. Neither the name NuttX nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - ****************************************************************************/ - -/**************************************************************************** - * Included Files - ****************************************************************************/ - -#include <nuttx/config.h> - -#include <string.h> -#include <errno.h> -#include <fixedmath.h> - -#include <nuttx/nx/nxglib.h> - -/**************************************************************************** - * Pre-Processor Definitions - ****************************************************************************/ -/* Trigonometry */ - -#define SIN_0p0 0 /* sin(0) = 0 */ -#define COS_0p0 1 /* cos(0) = 1 */ -#define SIN_22p5 25080 /* sin(22.5) = 25080 / 65536 */ -#define COS_22p5 60547 /* cos(22.5) = 60547 / 65536 */ -#define SIN_45p0 46341 /* sin(45) = 46341 / 65536 */ -#define COS_45p0 SIN_45p0 /* cos(45) = sin(45) */ - -/**************************************************************************** - * Private Types - ****************************************************************************/ - -/**************************************************************************** - * Private Data - ****************************************************************************/ - -/**************************************************************************** - * Public Data - ****************************************************************************/ - -/**************************************************************************** - * Private Functions - ****************************************************************************/ - -/**************************************************************************** - * Public Functions - ****************************************************************************/ - -/**************************************************************************** - * Name: nxgl_circletraps - * - * Description: - * Given a description of a a circle, return 8 trapezoids that can be - * used to fill the circle by nx_fillcircle() and other interfaces. - * - * Input parameters: - * center - A pointer to the point that is the center of the circle - * radius - The radius of the circle in pixels. - * circle - A pointer the first entry in an array of 8 trapezoids where - * the circle description will be returned. - * - * Returned value: - * None - * - ****************************************************************************/ - -void nxgl_circletraps(FAR const struct nxgl_point_s *center, nxgl_coord_t radius, - FAR struct nxgl_trapezoid_s *circle) -{ - nxgl_coord_t xoffs; - nxgl_coord_t yoffs; - - circle[0].top.x1 = itob16(center->x); - circle[0].top.x2 = circle[0].top.x1; - circle[0].top.y = center->y - radius; - - circle[7].bot.x1 = circle[0].top.x1; - circle[7].bot.x2 = circle[0].top.x1; - circle[7].bot.y = center->y + radius; - - circle[3].bot.x1 = itob16(center->x - radius); - circle[3].bot.x2 = itob16(center->x + radius); - circle[3].bot.y = center->y; - - circle[4].top.x1 = circle[3].bot.x1; - circle[4].top.x2 = circle[3].bot.x2; - circle[4].top.y = circle[3].bot.y; - - /* Now 22.5, 67.5, 112.5, 157.5, 202.5, 247.5, 292.5, and 337.5 */ - - xoffs = b16toi(b16muli(COS_22p5, radius) + b16HALF); - yoffs = b16toi(b16muli(SIN_22p5, radius) + b16HALF); - - circle[2].bot.x1 = itob16(center->x - xoffs); - circle[2].bot.x2 = itob16(center->x + xoffs); - circle[2].bot.y = center->y - yoffs; - - circle[3].top.x1 = circle[2].bot.x1; - circle[3].top.x2 = circle[2].bot.x2; - circle[3].top.y = circle[2].bot.y; - - circle[4].bot.x1 = circle[2].bot.x1; - circle[4].bot.x2 = circle[2].bot.x2; - circle[4].bot.y = center->y + yoffs; - - circle[5].top.x1 = circle[4].bot.x1; - circle[5].top.x2 = circle[4].bot.x2; - circle[5].top.y = circle[4].bot.y; - - circle[0].bot.x1 = itob16(center->x - yoffs); - circle[0].bot.x2 = itob16(center->x + yoffs); - circle[0].bot.y = center->y - xoffs; - - circle[1].top.x1 = circle[0].bot.x1; - circle[1].top.x2 = circle[0].bot.x2; - circle[1].top.y = circle[0].bot.y; - - circle[6].bot.x1 = circle[1].top.x1; - circle[6].bot.x2 = circle[1].top.x2; - circle[6].bot.y = center->y + xoffs; - - circle[7].top.x1 = circle[6].bot.x1; - circle[7].top.x2 = circle[6].bot.x2; - circle[7].top.y = circle[6].bot.y; - - /* Finally, 45.0, 135.0, 225.0, 315.0 */ - - xoffs = b16toi(b16muli(COS_45p0, radius) + b16HALF); - - circle[1].bot.x1 = itob16(center->x - xoffs); - circle[1].bot.x2 = itob16(center->x + xoffs); - circle[1].bot.y = center->y - xoffs; - - circle[2].top.x1 = circle[1].bot.x1; - circle[2].top.x2 = circle[1].bot.x2; - circle[2].top.y = circle[1].bot.y; - - circle[5].bot.x1 = circle[1].bot.x1; - circle[5].bot.x2 = circle[1].bot.x2; - circle[5].bot.y = center->y + xoffs; - - circle[6].top.x1 = circle[5].bot.x1; - circle[6].top.x2 = circle[5].bot.x2; - circle[6].top.y = circle[5].bot.y; -} diff --git a/nuttx/graphics/nxglib/nxglib_colorcopy.c b/nuttx/graphics/nxglib/nxglib_colorcopy.c deleted file mode 100644 index 42c0d0d45..000000000 --- a/nuttx/graphics/nxglib/nxglib_colorcopy.c +++ /dev/null @@ -1,87 +0,0 @@ -/**************************************************************************** - * graphics/nxglib/nxsglib_colorcopy.c - * - * Copyright (C) 2008-2011 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <gnutt@nuttx.org> - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * 3. Neither the name NuttX nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - ****************************************************************************/ - -/**************************************************************************** - * Included Files - ****************************************************************************/ - -#include <nuttx/config.h> - -#include <nuttx/nx/nxglib.h> - -/**************************************************************************** - * Pre-Processor Definitions - ****************************************************************************/ - -/**************************************************************************** - * Private Types - ****************************************************************************/ - -/**************************************************************************** - * Private Data - ****************************************************************************/ - -/**************************************************************************** - * Public Data - ****************************************************************************/ - -/**************************************************************************** - * Private Functions - ****************************************************************************/ - -/**************************************************************************** - * Public Functions - ****************************************************************************/ - -/**************************************************************************** - * Name: nxgl_colorcopy - * - * Description: - * This is essentially memcpy for colors. This does very little for us - * other than hide all of the conditional compilation for planar colors - * in one place. - * - ****************************************************************************/ - -void nxgl_colorcopy(nxgl_mxpixel_t dest[CONFIG_NX_NPLANES], - const nxgl_mxpixel_t src[CONFIG_NX_NPLANES]) -{ - int i; - - for (i = 0; i < CONFIG_NX_NPLANES; i++) - { - dest[i] = src[i]; - } -} diff --git a/nuttx/graphics/nxglib/nxglib_copyrun.h b/nuttx/graphics/nxglib/nxglib_copyrun.h deleted file mode 100644 index a52af2246..000000000 --- a/nuttx/graphics/nxglib/nxglib_copyrun.h +++ /dev/null @@ -1,346 +0,0 @@ -/**************************************************************************** - * graphics/nxglib/nxsglib_copyrun.h - * - * Copyright (C) 2010 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <gnutt@nuttx.org> - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * 3. Neither the name NuttX nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - ****************************************************************************/ - -#ifndef __GRAPHICS_NXGLIB_NXGLIB_COPYRUN_H -#define __GRAPHICS_NXGLIB_NXGLIB_COPYRUN_H - -/**************************************************************************** - * Included Files - ****************************************************************************/ - -#include <nuttx/config.h> -#include <stdint.h> -#include <string.h> - -/**************************************************************************** - * Pre-Processor Definitions - ****************************************************************************/ - -/**************************************************************************** - * Private Types - ****************************************************************************/ - -/**************************************************************************** - * Private Data - ****************************************************************************/ - -/**************************************************************************** - * Public Data - ****************************************************************************/ - -/**************************************************************************** - * Private Functions - ****************************************************************************/ - -/**************************************************************************** - * Public Functions - ****************************************************************************/ - -/**************************************************************************** - * Name: nxgl_copyrun_*bpp - * - * Description: - * Copy a row from an image into run. - * - ****************************************************************************/ - -#if NXGLIB_BITSPERPIXEL == 1 -static inline void -nxgl_copyrun_1bpp(FAR const uint8_t *src, FAR uint8_t *dest, - unsigned int remainder, size_t npixels) -{ - uint8_t indata; - uint8_t outdata; - uint8_t nextdata; - unsigned int outpixels = 0; - - DEBUGASSERT(remainder > 0 && remainder < 8); - - /* Take only the first 8-remainder pixels from the first byte. - * remainder is number between 1 and 7 (not zero!) that represents - * the alignment of the pixel bits in the source. - */ - - indata = *src++; - -#ifdef CONFIG_NX_PACKEDMSFIRST - /* If CONFIG_NX_PACKEDMSFIRST is defined, then bits 0-(remainder-1) - * are carried over to the first pass through the loop. For - * example if remainder == 2: - * - * indata: xxAA AAAA maps to nextdata: AAAA AAxx - */ - - nextdata = (indata << remainder); - -#else - /* If CONFIG_NX_PACKEDMSFIRST is NOT defined, then bits (7-remainder)-7 - * are carried over to the first pass through the loop. For example - * if remainder == 2: - * - * indata: AAAA AAxx maps to nextdata: xxAA AAAA - */ - - nextdata = (indata >> remainder); - -#endif - - /* Loop until all pixels have been packed into the destination. Note: - * a outpixels increments by 8 so a few extra pixels will be packed on - * the output. This should not be an issue. - */ - - while (outpixels < npixels) - { - /* Get the next byte from the source */ - - indata = *src++; - outdata = nextdata; - - /* remainder is number between 1 and 7 (not zero!) that represents - * the alignment of the pixel bits in the source. - */ - -#ifdef CONFIG_NX_PACKEDMSFIRST - /* If CONFIG_NX_PACKEDMSFIRST is defined, then bits (7-remainder)-7 - * are carried over from that last pass through the loop. For - * example if remainder == 2: - * - * nextdata = AAAA AAxx - dest = AAAA AABB - * src = BBCC CCCC - nextdata = CCCC CCxx - */ - - outdata |= (indata >> (8 - remainder)); - nextdata = (indata << remainder); -#else - /* If CONFIG_NX_PACKEDMSFIRST is NOT defined, then bits 0-(remainder-1) - * are carried over from that last pass through the loop . For - * example if remainder == 2: - * - * nextdata = xxAA AAAA - dest = BBAA AAAA - * src = CCCC CCBB - nextdata = xxCC CCCC - */ - - outdata |= (indata << (8 - remainder)); - nextdata = (indata >> remainder); -#endif - - /* Transfer the byte to the run buffer */ - - *dest++ = outdata; - outpixels += 8; - } -} - -#elif NXGLIB_BITSPERPIXEL == 2 -static inline void -nxgl_copyrun_2bpp(FAR const uint8_t *src, FAR uint8_t *dest, - unsigned int remainder, size_t npixels) -{ - uint8_t indata; - uint8_t outdata; - uint8_t nextdata; - unsigned int outpixels = 0; - unsigned int shift; - - DEBUGASSERT(remainder > 0 && remainder < 4); - - /* Take only the first 8-(2*remainder) pixels from the first byte. - * remainder is number between 1 and 3 (not zero!) that represents - * the alignment of the pixel bits in the source. - */ - - indata = *src++; - shift = (remainder << 1); - -#ifdef CONFIG_NX_PACKEDMSFIRST - /* If CONFIG_NX_PACKEDMSFIRST is defined, then bits 0-(2*remainder-1) - * are carried over to the first pass through the loop. For - * example if remainder == 1: - * - * indata: xxAA AAAA maps to nextdata: AAAA AAxx - */ - - nextdata = (indata << shift); - -#else - /* If CONFIG_NX_PACKEDMSFIRST is NOT defined, then bits (7-2*remainder)-7 - * are carried over to the first pass through the loop. For example - * if remainder == 1: - * - * indata: AAAA AAxx maps to nextdata: xxAA AAAA - */ - - nextdata = (indata >> shift); - -#endif - - /* Loop until all pixels have been packed into the destination. Note: - * a outpixels increments by 8 so a few extra pixels will be packed on - * the output. This should not be an issue. - */ - - while (outpixels < npixels) - { - /* Get the next byte from the source */ - - indata = *src++; - outdata = nextdata; - - /* remainder is number between 1 and 3 (not zero!) that represents - * the alignment of the pixel bits in the source. - */ - -#ifdef CONFIG_NX_PACKEDMSFIRST - /* If CONFIG_NX_PACKEDMSFIRST is defined, then bits (7-2*remainder)-7 - * are carried over from that last pass through the loop. For example - * if remainder == 1: - * - * nextdata = AAAA AAxx - dest = AAAA AABB - * src = BBCC CCCC - nextdata = CCCC CCxx - */ - - outdata |= (indata >> (8 - shift)); - nextdata = (indata << shift); -#else - /* If CONFIG_NX_PACKEDMSFIRST is NOT defined, then bits 0-(2*remainder-1) - * are carried over from that last pass through the loop. For example - * if remainder == 1: - * - * nextdata = xxAA AAAA - dest = BBAA AAAA - * src = CCCC CCBB - nextdata = xxCC CCCC - */ - - outdata |= (indata << (8 - shift)); - nextdata = (indata >> shift); -#endif - - /* Transfer the byte to the run buffer */ - - *dest++ = outdata; - outpixels += 4; - } -} - -#elif NXGLIB_BITSPERPIXEL == 4 -static inline void -nxgl_copyrun_4bpp(FAR const uint8_t *src, FAR uint8_t *dest, - unsigned int remainder, size_t npixels) -{ - uint8_t indata; - uint8_t outdata; - uint8_t nextdata; - unsigned int outpixels = 0; - - DEBUGASSERT(remainder == 1); - - /* Take only the first 8-remainder pixels from the first byte. - * remainder is number between 1 and 3 (not zero!) that represents - * the alignment of the pixel bits in the source. - */ - - indata = *src++; - -#ifdef CONFIG_NX_PACKEDMSFIRST - /* If CONFIG_NX_PACKEDMSFIRST is defined, then bits 0-3 - * are carried over to the first pass through the loop. For - * example: - * - * indata: xxxx AAAA maps to nextdata: AAAA xxxx - */ - - nextdata = (indata << 4); - -#else - /* If CONFIG_NX_PACKEDMSFIRST is NOT defined, then bits 4-7 - * are carried over to the first pass through the loop. For example: - * - * indata: AAAA xxxx maps to nextdata: xxxx AAAA - */ - - nextdata = (indata >> 4); - -#endif - - /* Loop until all pixels have been packed into the destination. Note: - * a outpixels increments by 8 so a few extra pixels will be packed on - * the output. This should not be an issue. - */ - - while (outpixels < npixels) - { - /* Get the next byte from the source */ - - indata = *src++; - outdata = nextdata; - - /* remainder is number between 1 and 3 (not zero!) that represents - * the alignment of the pixel bits in the source. - */ - -#ifdef CONFIG_NX_PACKEDMSFIRST - /* If CONFIG_NX_PACKEDMSFIRST is defined, then bits 4-7 - * are carried over from that last pass through the loop (or are - * ignored initially. For example if remainder == 1: - * - * nextdata = AAAA xxxx - dest = AAAA BBBB - * src = BBBB CCCC - nextdata = CCCC xxxx - */ - - outdata |= (indata >> 4); - nextdata = (indata << 4); -#else - /* If CONFIG_NX_PACKEDMSFIRST is NOT defined, then bits 0-(remainder-1) - * are carried over from that last pass through the loop (or are - * ignored initially). For example if remainder == 2: - * - * nextdata = xxAA AAAA - dest = BBAA AAAA - * src = CCCC CCBB - nextdata = xxCC CCCC - */ - - outdata |= (indata << 4); - nextdata = (indata >> 4); -#endif - - /* Transfer the byte to the run buffer */ - - *dest++ = outdata; - outpixels += 2; - } -} -#endif -#endif /* __GRAPHICS_NXGLIB_NXGLIB_COPYRUN_H */ - - diff --git a/nuttx/graphics/nxglib/nxglib_fillrun.h b/nuttx/graphics/nxglib/nxglib_fillrun.h deleted file mode 100644 index 1dcf85dd9..000000000 --- a/nuttx/graphics/nxglib/nxglib_fillrun.h +++ /dev/null @@ -1,196 +0,0 @@ -/**************************************************************************** - * graphics/nxglib/nxsglib_fullrun.h - * - * Copyright (C) 2010 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <gnutt@nuttx.org> - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * 3. Neither the name NuttX nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - ****************************************************************************/ - -#ifndef __GRAPHICS_NXGLIB_NXGLIB_FILLRUN_H -#define __GRAPHICS_NXGLIB_NXGLIB_FILLRUN_H - -/**************************************************************************** - * Included Files - ****************************************************************************/ - -#include <nuttx/config.h> -#include <stdint.h> -#include <string.h> - -/**************************************************************************** - * Pre-Processor Definitions - ****************************************************************************/ - -#if NXGLIB_BITSPERPIXEL < 16 -# define NXGLIB_RUNTYPE uint8_t -#elif NXGLIB_BITSPERPIXEL == 16 -# define NXGLIB_RUNTYPE uint16_t -#else -# define NXGLIB_RUNTYPE uint32_t -#endif - -/**************************************************************************** - * Private Types - ****************************************************************************/ - -/**************************************************************************** - * Private Data - ****************************************************************************/ - -#if NXGLIB_BITSPERPIXEL == 2 -static uint8_t g_wide_2bpp[4] = { 0x00, 0x55, 0xaa, 0xff }; -#endif - -/**************************************************************************** - * Public Data - ****************************************************************************/ - -/**************************************************************************** - * Private Functions - ****************************************************************************/ - -/**************************************************************************** - * Public Functions - ****************************************************************************/ - -/**************************************************************************** - * Name: nxgl_fillrun_*bpp - * - * Description: - * fill a run with the specified color. - * - ****************************************************************************/ - -#if NXGLIB_BITSPERPIXEL == 1 -static inline void nxgl_fillrun_1bpp(FAR uint8_t *run, nxgl_mxpixel_t color, - size_t npixels) -{ - /* Get the number of bytes to fill */ - - unsigned int nbytes = (npixels + 7) >> 3; - - /* Get the value of the byte to fill */ - - uint8_t wide = (color & 1) != 0 ? 0xff : 0x00; - - /* Fill the run with the color (it is okay to run a fractional byte over - * the end) - */ - - memset(run, wide, nbytes); -} - -#elif NXGLIB_BITSPERPIXEL == 2 -static inline void nxgl_fillrun_2bpp(FAR uint8_t *run, nxgl_mxpixel_t color, - size_t npixels) -{ - /* Get the number of bytes to fill */ - - unsigned int nbytes = (npixels + 3) >> 2; - - /* Get the value of the byte to fill */ - - uint8_t wide = g_wide_2bpp[color & 3]; - - /* Fill the run with the color (it is okay to run a fractional byte over - * the end) - */ - - memset(run, wide, nbytes); -} - -#elif NXGLIB_BITSPERPIXEL == 4 -static inline void nxgl_fillrun_4bpp(FAR uint8_t *run, nxgl_mxpixel_t color, - size_t npixels) -{ - /* Get the number of bytes to fill */ - - unsigned int nbytes = (npixels + 1) >> 1; - - /* Get the value of the byte to fill */ - - uint8_t narrow = (uint8_t)color & 0x0f; - uint8_t wide = narrow | (narrow << 4); - - /* Fill the run with the color (it is okay to run a fractional byte over - * the end) - */ - - memset(run, wide, nbytes); -} - -#elif NXGLIB_BITSPERPIXEL == 8 -static inline void nxgl_fillrun_8bpp(FAR uint8_t *run, nxgl_mxpixel_t color, - size_t npixels) -{ - /* Fill the run with the color (it is okay to run a fractional byte overy the end */ - - memset(run, color, npixels); -} - -#elif NXGLIB_BITSPERPIXEL == 16 -static inline void nxgl_fillrun_16bpp(FAR uint16_t *run, nxgl_mxpixel_t color, - size_t npixels) -{ - /* Fill the run with the color (it is okay to run a fractional byte overy the end */ - - while (npixels-- > 0) - { - *run++ = (uint16_t)color; - } -} - -#elif NXGLIB_BITSPERPIXEL == 24 -static inline void nxgl_fillrun_24bpp(FAR uint32_t *run, nxgl_mxpixel_t color, size_t npixels) -{ - /* Fill the run with the color (it is okay to run a fractional byte overy the end */ -#warning "Assuming 24-bit color is not packed" - while (npixels-- > 0) - { - *run++ = (uint32_t)color; - } -} - -#elif NXGLIB_BITSPERPIXEL == 32 -static inline void nxgl_fillrun_32bpp(FAR uint32_t *run, nxgl_mxpixel_t color, size_t npixels) -{ - /* Fill the run with the color (it is okay to run a fractional byte overy the end */ - - while (npixels-- > 0) - { - *run++ = (uint32_t)color; - } -} -#else -# error "Unsupported value of NXGLIB_BITSPERPIXEL" -#endif -#endif /* __GRAPHICS_NXGLIB_NXGLIB_FILLRUN_H */ - - diff --git a/nuttx/graphics/nxglib/nxglib_intersecting.c b/nuttx/graphics/nxglib/nxglib_intersecting.c deleted file mode 100644 index e1370c140..000000000 --- a/nuttx/graphics/nxglib/nxglib_intersecting.c +++ /dev/null @@ -1,83 +0,0 @@ -/**************************************************************************** - * graphics/nxglib/nxsglib_intersecting.c - * - * Copyright (C) 2011 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <gnutt@nuttx.org> - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * 3. Neither the name NuttX nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - ****************************************************************************/ - -/**************************************************************************** - * Included Files - ****************************************************************************/ - -#include <nuttx/config.h> - -#include <stdbool.h> - -#include <nuttx/nx/nxglib.h> - -/**************************************************************************** - * Pre-Processor Definitions - ****************************************************************************/ - -/**************************************************************************** - * Private Types - ****************************************************************************/ - -/**************************************************************************** - * Private Data - ****************************************************************************/ - -/**************************************************************************** - * Public Data - ****************************************************************************/ - -/**************************************************************************** - * Private Functions - ****************************************************************************/ - -/**************************************************************************** - * Public Functions - ****************************************************************************/ - -/**************************************************************************** - * Name: nxgl_intersecting - * - * Description: - * Return true if the rectangles intersect. - * - ****************************************************************************/ - -bool nxgl_intersecting(FAR const struct nxgl_rect_s *rect1, - FAR const struct nxgl_rect_s *rect2) -{ - return ((rect1->pt2.x > rect2->pt1.x) && (rect1->pt2.y > rect2->pt1.y) && - (rect1->pt1.x < rect2->pt2.x) && (rect1->pt1.y < rect2->pt1.y)); -} diff --git a/nuttx/graphics/nxglib/nxglib_nonintersecting.c b/nuttx/graphics/nxglib/nxglib_nonintersecting.c deleted file mode 100644 index d78da994e..000000000 --- a/nuttx/graphics/nxglib/nxglib_nonintersecting.c +++ /dev/null @@ -1,151 +0,0 @@ -/**************************************************************************** - * graphics/nxglib/nxsglib_rectnonintersecting.c - * - * Copyright (C) 2008-2011 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <gnutt@nuttx.org> - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * 3. Neither the name NuttX nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - ****************************************************************************/ - -/**************************************************************************** - * Included Files - ****************************************************************************/ - -#include <nuttx/config.h> - -#include <nuttx/nx/nxglib.h> - -/**************************************************************************** - * Pre-Processor Definitions - ****************************************************************************/ - -/**************************************************************************** - * Private Types - ****************************************************************************/ - -/**************************************************************************** - * Private Data - ****************************************************************************/ - -/**************************************************************************** - * Public Data - ****************************************************************************/ - -/**************************************************************************** - * Private Functions - ****************************************************************************/ - -/**************************************************************************** - * Public Functions - ****************************************************************************/ - -/**************************************************************************** - * Name: nxgl_nonintersecting - * - * Description: - * Return the regions of rectangle rect 1 that do not intersect with - * rect2. This may be up to founr rectangles some of which may be - * degenerate (and can be picked off with nxgl_nullrect) - * - ****************************************************************************/ - -void nxgl_nonintersecting(FAR struct nxgl_rect_s result[4], - FAR const struct nxgl_rect_s *rect1, - FAR const struct nxgl_rect_s *rect2) -{ - struct nxgl_rect_s intersection; - - /* Get the intersection of the two rectangles */ - - nxgl_rectintersect(&intersection, rect1, rect2); - - /* Then return the four rectangles representing the regions NON included - * in the intersection. Some of these rectangles may be invalid (zero - * area), but those can be picked off using nxgl_nullrect() - * - * rect1.pt1 - * +-------------------------+ - * | rect2.pt1 | - * | int.pt1 | - * | +-------------------------+ - * | | | | - * | | | | - * +-------------------------+ | - * | rect1.pt2 | - * | int.pt2 | - * +-------------------------+ - * rect2.pt2 - * rect1.pt1 - * +-------------------------+ - * rect2.pt1 |int.pt1 | - * +---------+---------------+ | - * | | | | - * | | | | - * | | |int.pt2 | - * | +---------------+---------+ - * | | rect1.pt2 - * +-------------------------+ - * rect2.pt2 - * rect2.pt1 - * +-------------------------+ - * | rect1.pt1 | - * | int.pt1 | - * | +-------------------------+ - * | | | | - * | | | | - * | | | | - * +---------+---------------+ | - * | rect2.pt2 | - * | int.pt2 | - * +-------------------------+ - * rect1.pt2 - */ - - result[NX_TOP_NDX].pt1.x = rect1->pt1.x; - result[NX_TOP_NDX].pt1.y = rect1->pt1.y; - result[NX_TOP_NDX].pt2.x = rect1->pt2.x; - result[NX_TOP_NDX].pt2.y = intersection.pt1.y - 1; - - result[NX_BOTTOM_NDX].pt1.x = rect1->pt1.x; - result[NX_BOTTOM_NDX].pt1.y = intersection.pt2.y + 1; - result[NX_BOTTOM_NDX].pt2.x = rect1->pt2.x; - result[NX_BOTTOM_NDX].pt2.y = rect1->pt2.y; - - result[NX_LEFT_NDX].pt1.x = rect1->pt1.x; - result[NX_LEFT_NDX].pt1.y = intersection.pt1.y; - result[NX_LEFT_NDX].pt2.x = intersection.pt1.x - 1; - result[NX_LEFT_NDX].pt2.y = intersection.pt2.y; - - result[NX_RIGHT_NDX].pt1.x = intersection.pt2.x + 1; - result[NX_RIGHT_NDX].pt1.y = intersection.pt1.y; - result[NX_RIGHT_NDX].pt2.x = rect1->pt2.x; - result[NX_RIGHT_NDX].pt2.y = intersection.pt2.y; -} - - diff --git a/nuttx/graphics/nxglib/nxglib_nullrect.c b/nuttx/graphics/nxglib/nxglib_nullrect.c deleted file mode 100644 index 26fc9e8d7..000000000 --- a/nuttx/graphics/nxglib/nxglib_nullrect.c +++ /dev/null @@ -1,82 +0,0 @@ -/**************************************************************************** - * graphics/nxglib/nxsglib_nullrect.c - * - * Copyright (C) 2008-2012 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <gnutt@nuttx.org> - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * 3. Neither the name NuttX nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - ****************************************************************************/ - -/**************************************************************************** - * Included Files - ****************************************************************************/ - -#include <nuttx/config.h> - -#include <stdbool.h> - -#include <nuttx/nx/nxglib.h> - -/**************************************************************************** - * Pre-Processor Definitions - ****************************************************************************/ - -/**************************************************************************** - * Private Types - ****************************************************************************/ - -/**************************************************************************** - * Private Data - ****************************************************************************/ - -/**************************************************************************** - * Public Data - ****************************************************************************/ - -/**************************************************************************** - * Private Functions - ****************************************************************************/ - -/**************************************************************************** - * Public Functions - ****************************************************************************/ - -/**************************************************************************** - * Name: nxgl_nullrect - * - * Description: - * Return true if the area of the retangle is <= 0. - * - ****************************************************************************/ - -bool nxgl_nullrect(FAR const struct nxgl_rect_s *rect) -{ - return (rect->pt1.x > rect->pt2.x || rect->pt1.y > rect->pt2.y); -} - diff --git a/nuttx/graphics/nxglib/nxglib_rectadd.c b/nuttx/graphics/nxglib/nxglib_rectadd.c deleted file mode 100644 index f4eda341d..000000000 --- a/nuttx/graphics/nxglib/nxglib_rectadd.c +++ /dev/null @@ -1,84 +0,0 @@ -/**************************************************************************** - * graphics/nxglib/nxsglib_rectadd.c - * - * Copyright (C) 2011 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <gnutt@nuttx.org> - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * 3. Neither the name NuttX nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - ****************************************************************************/ - -/**************************************************************************** - * Included Files - ****************************************************************************/ - -#include <nuttx/config.h> - -#include <nuttx/nx/nxglib.h> - -/**************************************************************************** - * Pre-Processor Definitions - ****************************************************************************/ - -/**************************************************************************** - * Private Types - ****************************************************************************/ - -/**************************************************************************** - * Private Data - ****************************************************************************/ - -/**************************************************************************** - * Public Data - ****************************************************************************/ - -/**************************************************************************** - * Private Functions - ****************************************************************************/ - -/**************************************************************************** - * Public Functions - ****************************************************************************/ - -/**************************************************************************** - * Name: nxgl_rectadd - * - * Description: - * Return the rectangle that contains exactly two other rectanges. - * - ****************************************************************************/ - -void nxgl_rectadd(FAR struct nxgl_rect_s *dest, - FAR const struct nxgl_rect_s *src1, - FAR const struct nxgl_rect_s *src2) -{ - dest->pt1.x = ngl_min(src1->pt1.x, src2->pt1.x); - dest->pt1.y = ngl_min(src1->pt1.y, src2->pt1.y); - dest->pt2.x = ngl_max(src1->pt2.x, src2->pt2.x); - dest->pt2.y = ngl_max(src1->pt2.y, src2->pt2.y); -} diff --git a/nuttx/graphics/nxglib/nxglib_rectcopy.c b/nuttx/graphics/nxglib/nxglib_rectcopy.c deleted file mode 100644 index 67e5f6d69..000000000 --- a/nuttx/graphics/nxglib/nxglib_rectcopy.c +++ /dev/null @@ -1,84 +0,0 @@ -/**************************************************************************** - * graphics/nxglib/nxsglib_rectcopy.c - * - * Copyright (C) 2008-2011 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <gnutt@nuttx.org> - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * 3. Neither the name NuttX nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - ****************************************************************************/ - -/**************************************************************************** - * Included Files - ****************************************************************************/ - -#include <nuttx/config.h> - -#include <nuttx/nx/nxglib.h> - -/**************************************************************************** - * Pre-Processor Definitions - ****************************************************************************/ - -/**************************************************************************** - * Private Types - ****************************************************************************/ - -/**************************************************************************** - * Private Data - ****************************************************************************/ - -/**************************************************************************** - * Public Data - ****************************************************************************/ - -/**************************************************************************** - * Private Functions - ****************************************************************************/ - -/**************************************************************************** - * Public Functions - ****************************************************************************/ - -/**************************************************************************** - * Name: nxgl_rectcopy - * - * Description: - * This is essentially memcpy for rectangles. We don't do structure - * assignements because some compilers are not good at that. - * - ****************************************************************************/ - -void nxgl_rectcopy(FAR struct nxgl_rect_s *dest, - FAR const struct nxgl_rect_s *src) -{ - dest->pt1.x = src->pt1.x; - dest->pt1.y = src->pt1.y; - dest->pt2.x = src->pt2.x; - dest->pt2.y = src->pt2.y; -} diff --git a/nuttx/graphics/nxglib/nxglib_rectinside.c b/nuttx/graphics/nxglib/nxglib_rectinside.c deleted file mode 100644 index 6ca29ddb6..000000000 --- a/nuttx/graphics/nxglib/nxglib_rectinside.c +++ /dev/null @@ -1,83 +0,0 @@ -/**************************************************************************** - * graphics/nxglib/nxsglib_rectinside.c - * - * Copyright (C) 2008-2011 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <gnutt@nuttx.org> - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * 3. Neither the name NuttX nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - ****************************************************************************/ - -/**************************************************************************** - * Included Files - ****************************************************************************/ - -#include <nuttx/config.h> - -#include <stdbool.h> - -#include <nuttx/nx/nxglib.h> - -/**************************************************************************** - * Pre-Processor Definitions - ****************************************************************************/ - -/**************************************************************************** - * Private Types - ****************************************************************************/ - -/**************************************************************************** - * Private Data - ****************************************************************************/ - -/**************************************************************************** - * Public Data - ****************************************************************************/ - -/**************************************************************************** - * Private Functions - ****************************************************************************/ - -/**************************************************************************** - * Public Functions - ****************************************************************************/ - -/**************************************************************************** - * Name: nxgl_rectinside - * - * Description: - * Return true if the point pt lies within rect. - * - ****************************************************************************/ - -bool nxgl_rectinside(FAR const struct nxgl_rect_s *rect, - FAR const struct nxgl_point_s *pt) -{ - return (pt->x >= rect->pt1.x && pt->x <= rect->pt2.x && - pt->y >= rect->pt1.y && pt->y <= rect->pt2.y); -} diff --git a/nuttx/graphics/nxglib/nxglib_rectintersect.c b/nuttx/graphics/nxglib/nxglib_rectintersect.c deleted file mode 100644 index 6af24ee26..000000000 --- a/nuttx/graphics/nxglib/nxglib_rectintersect.c +++ /dev/null @@ -1,84 +0,0 @@ -/**************************************************************************** - * graphics/nxglib/nxsglib_rectintersect.c - * - * Copyright (C) 2008-2011 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <gnutt@nuttx.org> - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * 3. Neither the name NuttX nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - ****************************************************************************/ - -/**************************************************************************** - * Included Files - ****************************************************************************/ - -#include <nuttx/config.h> - -#include <nuttx/nx/nxglib.h> - -/**************************************************************************** - * Pre-Processor Definitions - ****************************************************************************/ - -/**************************************************************************** - * Private Types - ****************************************************************************/ - -/**************************************************************************** - * Private Data - ****************************************************************************/ - -/**************************************************************************** - * Public Data - ****************************************************************************/ - -/**************************************************************************** - * Private Functions - ****************************************************************************/ - -/**************************************************************************** - * Public Functions - ****************************************************************************/ - -/**************************************************************************** - * Name: nxgl_rectintersect - * - * Description: - * Return the rectangle representing the intersection of the two rectangles. - * - ****************************************************************************/ - -void nxgl_rectintersect(FAR struct nxgl_rect_s *dest, - FAR const struct nxgl_rect_s *src1, - FAR const struct nxgl_rect_s *src2) -{ - dest->pt1.x = ngl_max(src1->pt1.x, src2->pt1.x); - dest->pt1.y = ngl_max(src1->pt1.y, src2->pt1.y); - dest->pt2.x = ngl_min(src1->pt2.x, src2->pt2.x); - dest->pt2.y = ngl_min(src1->pt2.y, src2->pt2.y); -} diff --git a/nuttx/graphics/nxglib/nxglib_rectoffset.c b/nuttx/graphics/nxglib/nxglib_rectoffset.c deleted file mode 100644 index 2392d6448..000000000 --- a/nuttx/graphics/nxglib/nxglib_rectoffset.c +++ /dev/null @@ -1,87 +0,0 @@ -/**************************************************************************** - * graphics/nxglib/nxsglib_rectoffset.c - * - * Copyright (C) 2008-2011 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <gnutt@nuttx.org> - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * 3. Neither the name NuttX nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - ****************************************************************************/ - -/**************************************************************************** - * Included Files - ****************************************************************************/ - -#include <nuttx/config.h> - -#include <nuttx/nx/nxglib.h> - -/**************************************************************************** - * Pre-Processor Definitions - ****************************************************************************/ - -/**************************************************************************** - * Private Types - ****************************************************************************/ - -/**************************************************************************** - * Private Data - ****************************************************************************/ - -/**************************************************************************** - * Public Data - ****************************************************************************/ - -/**************************************************************************** - * Private Functions - ****************************************************************************/ - -/**************************************************************************** - * Public Functions - ****************************************************************************/ - -/**************************************************************************** - * Name: nxgl_rectoffset - * - * Description: - * Offset the rectangle position by the specified dx, dy values. - * - ****************************************************************************/ - -void nxgl_rectoffset(FAR struct nxgl_rect_s *dest, - FAR const struct nxgl_rect_s *src, - nxgl_coord_t dx, nxgl_coord_t dy) -{ - dest->pt1.x = src->pt1.x + dx; - dest->pt1.y = src->pt1.y + dy; - dest->pt2.x = src->pt2.x + dx; - dest->pt2.y = src->pt2.y + dy; -} - - - diff --git a/nuttx/graphics/nxglib/nxglib_rectoverlap.c b/nuttx/graphics/nxglib/nxglib_rectoverlap.c deleted file mode 100644 index 779951881..000000000 --- a/nuttx/graphics/nxglib/nxglib_rectoverlap.c +++ /dev/null @@ -1,90 +0,0 @@ -/**************************************************************************** - * graphics/nxglib/nxsglib_nulloverlap.c - * - * Copyright (C) 2008-2011 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <gnutt@nuttx.org> - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * 3. Neither the name NuttX nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - ****************************************************************************/ - -/**************************************************************************** - * Included Files - ****************************************************************************/ - -#include <nuttx/config.h> - -#include <stdbool.h> - -#include <nuttx/nx/nxglib.h> - -/**************************************************************************** - * Pre-Processor Definitions - ****************************************************************************/ - -/**************************************************************************** - * Private Types - ****************************************************************************/ - -/**************************************************************************** - * Private Data - ****************************************************************************/ - -/**************************************************************************** - * Public Data - ****************************************************************************/ - -/**************************************************************************** - * Private Functions - ****************************************************************************/ - -/**************************************************************************** - * Public Functions - ****************************************************************************/ - -/**************************************************************************** - * Name: nxgl_rectoverlap - * - * Description: - * Return true if the two rectangles overlap - * - ****************************************************************************/ - -bool nxgl_rectoverlap(FAR struct nxgl_rect_s *rect1, - FAR struct nxgl_rect_s *rect2) -{ - /* The neither is wholly above, below, right, or left of the other, then - * the two rectangles overlap in some fashion. - */ - - return (rect1->pt1.x <= rect2->pt2.x) && /* false: rect1 is wholly to the right */ - (rect2->pt1.x <= rect1->pt2.x) && /* false: rect2 is wholly to the right */ - (rect1->pt1.y <= rect2->pt2.y) && /* false: rect1 is wholly below rect2 */ - (rect2->pt1.y <= rect1->pt2.y); /* false: rect2 is wholly below rect1 */ -} - diff --git a/nuttx/graphics/nxglib/nxglib_rectsize.c b/nuttx/graphics/nxglib/nxglib_rectsize.c deleted file mode 100644 index 37d863596..000000000 --- a/nuttx/graphics/nxglib/nxglib_rectsize.c +++ /dev/null @@ -1,81 +0,0 @@ -/**************************************************************************** - * graphics/nxglib/nxglib_rectsize.c - * - * Copyright (C) 2008-2011 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <gnutt@nuttx.org> - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * 3. Neither the name NuttX nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - ****************************************************************************/ - -/**************************************************************************** - * Included Files - ****************************************************************************/ - -#include <nuttx/config.h> - -#include <nuttx/nx/nxglib.h> - -/**************************************************************************** - * Pre-Processor Definitions - ****************************************************************************/ - -/**************************************************************************** - * Private Types - ****************************************************************************/ - -/**************************************************************************** - * Private Data - ****************************************************************************/ - -/**************************************************************************** - * Public Data - ****************************************************************************/ - -/**************************************************************************** - * Private Functions - ****************************************************************************/ - -/**************************************************************************** - * Public Functions - ****************************************************************************/ - -/**************************************************************************** - * Name: nxgl_rectsize - * - * Description: - * Return the size of the specified rectangle. - * - ****************************************************************************/ - -void nxgl_rectsize(FAR struct nxgl_size_s *size, - FAR const struct nxgl_rect_s *rect) -{ - size->w = rect->pt2.x - rect->pt1.x + 1; - size->h = rect->pt2.y - rect->pt1.y + 1; -} diff --git a/nuttx/graphics/nxglib/nxglib_rectunion.c b/nuttx/graphics/nxglib/nxglib_rectunion.c deleted file mode 100644 index 36c0968fa..000000000 --- a/nuttx/graphics/nxglib/nxglib_rectunion.c +++ /dev/null @@ -1,85 +0,0 @@ -/**************************************************************************** - * graphics/nxglib/nxsglib_rectunion.c - * - * Copyright (C) 2008-2011 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <gnutt@nuttx.org> - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * 3. Neither the name NuttX nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - ****************************************************************************/ - -/**************************************************************************** - * Included Files - ****************************************************************************/ - -#include <nuttx/config.h> - -#include <nuttx/nx/nxglib.h> - -/**************************************************************************** - * Pre-Processor Definitions - ****************************************************************************/ - -/**************************************************************************** - * Private Types - ****************************************************************************/ - -/**************************************************************************** - * Private Data - ****************************************************************************/ - -/**************************************************************************** - * Public Data - ****************************************************************************/ - -/**************************************************************************** - * Private Functions - ****************************************************************************/ - -/**************************************************************************** - * Public Functions - ****************************************************************************/ - -/**************************************************************************** - * Name: nxgl_rectunion - * - * Description: - * Given two rectanges, src1 and src2, return the larger rectangle that - * contains both, dest. - * - ****************************************************************************/ - -void nxgl_rectunion(FAR struct nxgl_rect_s *dest, - FAR const struct nxgl_rect_s *src1, - FAR const struct nxgl_rect_s *src2) -{ - dest->pt1.x = ngl_min(src1->pt1.x, src2->pt1.x); - dest->pt1.y = ngl_min(src1->pt1.y, src2->pt1.y); - dest->pt2.x = ngl_max(src1->pt2.x, src2->pt2.x); - dest->pt2.y = ngl_max(src1->pt2.y, src2->pt2.y); -} diff --git a/nuttx/graphics/nxglib/nxglib_rgb2yuv.c b/nuttx/graphics/nxglib/nxglib_rgb2yuv.c deleted file mode 100644 index 31eff23fa..000000000 --- a/nuttx/graphics/nxglib/nxglib_rgb2yuv.c +++ /dev/null @@ -1,103 +0,0 @@ -/**************************************************************************** - * graphics/color/nxglib_rgb2yuv.c - * - * Copyright (C) 2008, 2011 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <gnutt@nuttx.org> - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * 3. Neither the name NuttX nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - ****************************************************************************/ - -/**************************************************************************** - * Included Files - ****************************************************************************/ - -#include <nuttx/config.h> - -#include <stdint.h> -#include <debug.h> -#include <fixedmath.h> - -#include <nuttx/nx/nxglib.h> - -/**************************************************************************** - * Pre-Processor Definitions - ****************************************************************************/ - -#define b16_P0813 0x000014d0 /* 0.0813 */ -#define b16_P1140 0x00001d2f /* 0.1140 */ -#define b16_P1687 0x00002b30 /* 0.1687 */ -#define b16_P2990 0x00004c8b /* 0.2990 */ -#define b16_P3313 0x000054d0 /* 0.3313 */ -#define b16_P4187 0x00006b30 /* 0.4187 */ -#define b16_P5000 0x00008000 /* 0.5000 */ -#define b16_P5870 0x00009646 /* 0.5870 */ -#define b16_128P0 0x00800000 /* 128.0 */ - -/**************************************************************************** - * Private Types - ****************************************************************************/ - -/**************************************************************************** - * Private Function Prototypes - ****************************************************************************/ - -/**************************************************************************** - * Private Data - ****************************************************************************/ - -/**************************************************************************** - * Private Functions - ****************************************************************************/ - -/**************************************************************************** - * Public Functions - ****************************************************************************/ - -/**************************************************************************** - * Name: nxgl_rgb2yuv - * - * Description: - * Convert 8-bit RGB triplet to 8-bit YUV triplet - * - ****************************************************************************/ - -void nxgl_rgb2yuv(uint8_t r, uint8_t g, uint8_t b, - uint8_t *y, uint8_t *u, uint8_t *v) -{ - /* Per the JFIF specification: - * - * Y = (0.2990 * R) + (0.5870 * G) + (0.1140 * B) - * U = 128 - (0.1687 * R) - (0.3313 * G) + (0.5000 * B) - * V = 128 + (0.5000 * R) - (0.4187 * G) - (0.0813 * B); - */ - - *y = (uint8_t)b16toi(b16muli(b16_P2990, r) + b16muli(b16_P5870, g) + b16muli(b16_P1140, b)); - *u = (uint8_t)b16toi(b16_128P0 - b16muli(b16_P1687, r) - b16muli(b16_P3313, g) + b16muli(b16_P5000, b)); - *v = (uint8_t)b16toi(b16_128P0 + b16muli(b16_P5000, r) - b16muli(b16_P4187, g) - b16muli(b16_P0813, b)); -} diff --git a/nuttx/graphics/nxglib/nxglib_runcopy.c b/nuttx/graphics/nxglib/nxglib_runcopy.c deleted file mode 100644 index b6170638c..000000000 --- a/nuttx/graphics/nxglib/nxglib_runcopy.c +++ /dev/null @@ -1,82 +0,0 @@ -/**************************************************************************** - * graphics/nxglib/nxsglib_runcopy.c - * - * Copyright (C) 2008-2011 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <gnutt@nuttx.org> - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * 3. Neither the name NuttX nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - ****************************************************************************/ - -/**************************************************************************** - * Included Files - ****************************************************************************/ - -#include <nuttx/config.h> - -#include <nuttx/nx/nxglib.h> - -/**************************************************************************** - * Pre-Processor Definitions - ****************************************************************************/ - -/**************************************************************************** - * Private Types - ****************************************************************************/ - -/**************************************************************************** - * Private Data - ****************************************************************************/ - -/**************************************************************************** - * Public Data - ****************************************************************************/ - -/**************************************************************************** - * Private Functions - ****************************************************************************/ - -/**************************************************************************** - * Public Functions - ****************************************************************************/ - -/**************************************************************************** - * Name: nxgl_runcopy - * - * Description: - * This is essentially memcpy for runs. We don't do structure assignments - * because some compilers are not good at that. - * - ****************************************************************************/ - -void nxgl_runcopy(FAR struct nxgl_run_s *dest, FAR const struct nxgl_run_s *src) -{ - dest->x1 = src->x1; - dest->x2 = src->x2; - dest->y = src->y; -} diff --git a/nuttx/graphics/nxglib/nxglib_runoffset.c b/nuttx/graphics/nxglib/nxglib_runoffset.c deleted file mode 100644 index 0c569ce2f..000000000 --- a/nuttx/graphics/nxglib/nxglib_runoffset.c +++ /dev/null @@ -1,85 +0,0 @@ -/**************************************************************************** - * graphics/nxglib/nxsglib_runoffset.c - * - * Copyright (C) 2008-2009, 2011 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <gnutt@nuttx.org> - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * 3. Neither the name NuttX nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - ****************************************************************************/ - -/**************************************************************************** - * Included Files - ****************************************************************************/ - -#include <nuttx/config.h> - -#include <fixedmath.h> -#include <nuttx/nx/nxglib.h> - -/**************************************************************************** - * Pre-Processor Definitions - ****************************************************************************/ - -/**************************************************************************** - * Private Types - ****************************************************************************/ - -/**************************************************************************** - * Private Data - ****************************************************************************/ - -/**************************************************************************** - * Public Data - ****************************************************************************/ - -/**************************************************************************** - * Private Functions - ****************************************************************************/ - -/**************************************************************************** - * Public Functions - ****************************************************************************/ - -/**************************************************************************** - * Name: nxgl_runoffset - * - * Description: - * Offset the run position by the specified (integer) dx, dy values. - * - ****************************************************************************/ - -void nxgl_runoffset(FAR struct nxgl_run_s *dest, - FAR const struct nxgl_run_s *src, - nxgl_coord_t dx, nxgl_coord_t dy) -{ - b16_t b16dx = itob16(dx); - dest->x1 = src->x1 + b16dx; - dest->x2 = src->x2 + b16dx; - dest->y = src->y + dy; -} diff --git a/nuttx/graphics/nxglib/nxglib_splitline.c b/nuttx/graphics/nxglib/nxglib_splitline.c deleted file mode 100644 index fa2ccc1a0..000000000 --- a/nuttx/graphics/nxglib/nxglib_splitline.c +++ /dev/null @@ -1,532 +0,0 @@ -/**************************************************************************** - * graphics/nxglib/nxglib_splitline.c - * - * Copyright (C) 2011-2012 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <gnutt@nuttx.org> - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * 3. Neither the name NuttX nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - ****************************************************************************/ - -/**************************************************************************** - * Included Files - ****************************************************************************/ - -#include <nuttx/config.h> - -#include <string.h> -#include <errno.h> -#include <stdlib.h> -#include <debug.h> - -#include <nuttx/nx/nxglib.h> - -/**************************************************************************** - * Pre-Processor Definitions - ****************************************************************************/ - -/**************************************************************************** - * Private Types - ****************************************************************************/ - -struct b16point_s -{ - b16_t x; - b16_t y; -}; - -/**************************************************************************** - * Private Data - ****************************************************************************/ - -/**************************************************************************** - * Public Data - ****************************************************************************/ - -/**************************************************************************** - * Private Functions - ****************************************************************************/ - -static b16_t nxgl_interpolate(b16_t x, b16_t dy, b16_t dxdy) -{ - b16_t dx = b16mulb16(dy, dxdy); - return x + dx; -} - -/**************************************************************************** - * Public Functions - ****************************************************************************/ - -/**************************************************************************** - * Name: nxgl_splitline - * - * Description: - * In the general case, a line with width can be represented as a - * parallelogram with a triangle at the top and bottom. Triangles and - * parallelograms are both degenerate versions of a trapeziod. This - * function breaks a wide line into triangles and trapezoids. This - * function also detects other degenerate cases: - * - * 1. If y1 == y2 then the line is horizontal and is better represented - * as a rectangle. - * 2. If x1 == x2 then the line is vertical and also better represented - * as a rectangle. - * 3. If the width of the line is 1, then there are no triangles at the - * top and bottome (this may also be the case if the width is narrow - * and the line is near vertical). - * 4. If the line is oriented is certain angles, it may consist only of - * the upper and lower triangles with no trapezoid in between. In - * this case, 3 trapezoids will be returned, but traps[1] will be - * degenerate. - * - * Input parameters: - * vector - A pointer to the vector described the line to be drawn. - * traps - A pointer to a array of trapezoids (size 3). - * rect - A pointer to a rectangle. - * - * Returned value: - * 0: Line successfully broken up into three trapezoids. Values in - * traps[0], traps[1], and traps[2] are valid. - * 1: Line successfully represented by one trapezoid. Value in traps[1] - * is valid. - * 2: Line successfully represented by one rectangle. Value in rect is - * valid - * <0: On errors, a negated errno value is returned. - * - ****************************************************************************/ - -int nxgl_splitline(FAR struct nxgl_vector_s *vector, - FAR struct nxgl_trapezoid_s *traps, - FAR struct nxgl_rect_s *rect, - nxgl_coord_t linewidth) -{ - struct nxgl_vector_s line; - nxgl_coord_t iheight; - nxgl_coord_t iwidth; - nxgl_coord_t iyoffset; - struct b16point_s quad[4]; - b16_t b16xoffset; - b16_t b16yoffset; - b16_t b16dxdy; - b16_t angle; - b16_t cosangle; - b16_t sinangle; - b16_t b16x; - b16_t b16y; - - gvdbg("vector: (%d,%d)->(%d,%d) linewidth: %d\n", - vector->pt1.x, vector->pt1.y, vector->pt2.x, vector->pt2.y, linewidth); - - /* First, check the linewidth */ - - if (linewidth < 1) - { - return -EINVAL; - } - - /* Then make sure that the start position of the line is above the end - * position of the line... in raster order. - */ - - if (vector->pt1.y < vector->pt2.y) - { - /* Vector is already in raster order */ - - memcpy(&line, vector, sizeof(struct nxgl_vector_s)); - } - else if (vector->pt1.y > vector->pt2.y) - { - /* Swap the top and bottom */ - - line.pt1.x = vector->pt2.x; - line.pt1.y = vector->pt2.y; - line.pt2.x = vector->pt1.x; - line.pt2.y = vector->pt1.y; - } - else /* if (vector->pt1.y == vector->pt2.y) */ - { - /* First degenerate case: The line is horizontal. */ - - if (vector->pt1.x < vector->pt2.x) - { - rect->pt1.x = vector->pt1.x; - rect->pt2.x = vector->pt2.x; - } - else - { - rect->pt1.x = vector->pt2.x; - rect->pt2.x = vector->pt1.x; - } - - /* The height of the rectangle is the width of the line, half above - * and half below. - */ - - rect->pt1.y = vector->pt1.y - (linewidth >> 1); - rect->pt2.y = rect->pt1.y + linewidth - 1; - - gvdbg("Horizontal rect: (%d,%d),(%d,%d)\n", - rect->pt1.x, rect->pt1.y, rect->pt2.x, rect->pt2.y); - - return 2; - } - - /* Check if the line is vertical */ - - if (line.pt1.x == line.pt2.x) - { - /* Second degenerate case: The line is vertical. */ - - rect->pt1.y = line.pt1.y; - rect->pt2.y = line.pt2.y; - - rect->pt1.x = line.pt1.x - (linewidth >> 1); - rect->pt2.x = rect->pt1.x + linewidth - 1; - - gvdbg("Vertical rect: (%d,%d),(%d,%d)\n", - rect->pt1.x, rect->pt1.y, rect->pt2.x, rect->pt2.y); - - return 2; - } - - /* The final degenerate case */ - - if (linewidth == 1 && - abs(line.pt2.x - line.pt1.x) < (line.pt2.y - line.pt1.y)) - { - /* A close to vertical line of width 1 is basically - * a single parallelogram of width 1. - */ - - traps[1].top.x1 = itob16(line.pt1.x); - traps[1].top.x2 = traps[1].top.x1; - traps[1].top.y = line.pt1.y; - - traps[1].bot.x1 = itob16(line.pt2.x); - traps[1].bot.x2 = traps[1].bot.x1; - traps[1].bot.y = line.pt2.y; - - gvdbg("Vertical traps[1]: (%08x,%08x,%d),(%08x,%08x, %d)\n", - traps[1].top.x1, traps[1].top.x2, traps[1].top.y, - traps[1].bot.x1, traps[1].bot.x2, traps[1].bot.y); - - return 1; - } - - /* Okay, then what remains is interesting. - * - * iheight = |y2 - y1| - * iwidth = |x2 - x1| - */ - - iheight = line.pt2.y - line.pt1.y + 1; - if (line.pt1.x < line.pt2.x) - { - iwidth = line.pt2.x - line.pt1.x + 1; - } - else - { - iwidth = line.pt1.x - line.pt2.x + 1; - } - - /* Applying the line width to the line results in a rotated, rectangle. - * Get the Y offset from an end of the original thin line to a corner of the fat line. - * - * Angle of line: angle = atan2(iheight, iwidth) - * Y offset from line: b16yoffset = linewidth * cos(angle) - * - * For near verical lines, b16yoffset is be nearly zero. For near horizontal - * lines, b16yOffset is be about the same as linewidth. - */ - - angle = b16atan2(itob16(iheight), itob16(iwidth)); - cosangle = b16cos(angle); - b16yoffset = (linewidth * cosangle + 1) >> 1; - - /* Get the X offset from an end of the original thin line to a corner of the fat line. - * - * For near vertical lines, b16xoffset is about the same as linewidth. For near - * horizontal lines, b16xoffset is nearly zero. - */ - - sinangle = b16sin(angle); - b16xoffset = (linewidth * sinangle + 1) >> 1; - - gvdbg("height: %d width: %d angle: %08x b16yoffset: %08x b16xoffset: %08x\n", - iheight, iwidth, angle, b16yoffset, b16xoffset); - - /* Now we know all four points of the rotated rectangle */ - - iyoffset = b16toi(b16yoffset + b16HALF); - if (iyoffset > 0) - { - /* Get the Y positions of each point */ - - b16y = itob16(line.pt1.y); - quad[0].y = b16y - b16yoffset; - quad[1].y = b16y + b16yoffset; - - b16y = itob16(line.pt2.y); - quad[2].y = b16y - b16yoffset; - quad[3].y = b16y + b16yoffset; - - if (line.pt1.x < line.pt2.x) - { - /* Line is going "south east". Get the X positions of each point */ - - b16x = itob16(line.pt1.x); - quad[0].x = b16x + b16xoffset; - quad[1].x = b16x - b16xoffset; - - b16x = itob16(line.pt2.x); - quad[2].x = b16x + b16xoffset; - quad[3].x = b16x - b16xoffset; - - gvdbg("Southeast: quad (%08x,%08x),(%08x,%08x),(%08x,%08x),(%08x,%08x)\n", - quad[0].x, quad[0].y, quad[1].x, quad[1].y, - quad[2].x, quad[2].y, quad[3].x, quad[3].y); - - /* Now we can form the trapezoids. The top of the first trapezoid - * (triangle) is at quad[0] - */ - - traps[0].top.x1 = quad[0].x; - traps[0].top.x2 = quad[0].x; - traps[0].top.y = b16toi(quad[0].y + b16HALF); - - /* The bottom of the first trapezoid (triangle) may be either at - * quad[1] or quad[2], depending upon orientation. - */ - - if (quad[1]. y < quad[2].y) - { - /* quad[1] is at the bottom left of the triangle. Interpolate - * to get the corresponding point on the right side. - * - * Interpolation is from quad[0] along the line quad[0]->quad[2] - * which as the same slope as the line (positive) - */ - - b16dxdy = itob16(iwidth) / iheight; - - traps[0].bot.x1 = quad[1].x; - traps[0].bot.x2 = nxgl_interpolate(quad[0].x, quad[1].y - quad[0].y, b16dxdy); - traps[0].bot.y = b16toi(quad[1].y + b16HALF); - - /* quad[1] is at the top left of the second trapezoid. quad[2} is - * at the bottom right of the second trapezoid. Interpolate to get - * corresponding point on the left side. - * - * Interpolation is from quad[1] along the line quad[1]->quad[3] - * which as the same slope as the line (positive) - */ - - traps[1].top.x1 = traps[0].bot.x1; - traps[1].top.x2 = traps[0].bot.x2; - traps[1].top.y = traps[0].bot.y; - - traps[1].bot.x1 = nxgl_interpolate(traps[1].top.x1, quad[2].y - quad[1].y, b16dxdy); - traps[1].bot.x2 = quad[2].x; - traps[1].bot.y = b16toi(quad[2].y + b16HALF); - } - else - { - /* quad[2] is at the bottom right of the triangle. Interpolate - * to get the corresponding point on the left side. - * - * Interpolation is from quad[0] along the line quad[0]->quad[1] - * which orthogonal to the slope of the line (and negative) - */ - - b16dxdy = -itob16(iheight) / iwidth; - - traps[0].bot.x1 = nxgl_interpolate(quad[0].x, quad[2].y - quad[0].y, b16dxdy); - traps[0].bot.x2 = quad[2].x; - traps[0].bot.y = b16toi(quad[2].y + b16HALF); - - /* quad[2] is at the top right of the second trapezoid. quad[1} is - * at the bottom left of the second trapezoid. Interpolate to get - * corresponding point on the right side. - * - * Interpolation is from quad[2] along the line quad[2]->quad[3] - * which as the same slope as the previous interpolation. - */ - - traps[1].top.x1 = traps[0].bot.x1; - traps[1].top.x2 = traps[0].bot.x2; - traps[1].top.y = traps[0].bot.y; - - traps[1].bot.x1 = quad[1].x; - traps[1].bot.x2 = nxgl_interpolate(traps[1].top.x2, quad[1].y - quad[2].y, b16dxdy); - traps[1].bot.y = b16toi(quad[1].y + b16HALF); - } - - /* The final trapezond (triangle) at the bottom is new well defined */ - - traps[2].top.x1 = traps[1].bot.x1; - traps[2].top.x2 = traps[1].bot.x2; - traps[2].top.y = traps[1].bot.y; - - traps[2].bot.x1 = quad[3].x; - traps[2].bot.x2 = quad[3].x; - traps[2].bot.y = b16toi(quad[3].y + b16HALF); - } - else - { - /* Get the X positions of each point */ - - b16x = itob16(line.pt1.x); - quad[0].x = b16x - b16xoffset; - quad[1].x = b16x + b16xoffset; - - b16x = itob16(line.pt2.x); - quad[2].x = b16x - b16xoffset; - quad[3].x = b16x + b16xoffset; - - gvdbg("Southwest: quad (%08x,%08x),(%08x,%08x),(%08x,%08x),(%08x,%08x)\n", - quad[0].x, quad[0].y, quad[1].x, quad[1].y, - quad[2].x, quad[2].y, quad[3].x, quad[3].y); - - /* Now we can form the trapezoids. The top of the first trapezoid - * (triangle) is at quad[0] - */ - - traps[0].top.x1 = quad[0].x; - traps[0].top.x2 = quad[0].x; - traps[0].top.y = b16toi(quad[0].y + b16HALF); - - /* The bottom of the first trapezoid (triangle) may be either at - * quad[1] or quad[2], depending upon orientation. - */ - - if (quad[1].y < quad[2].y) - { - /* quad[1] is at the bottom right of the triangle. Interpolate - * to get the corresponding point on the left side. - * - * Interpolation is from quad[0] along the line quad[0]->quad[2] - * which as the same slope as the line (negative) - */ - - b16dxdy = -itob16(iwidth) / iheight; - - traps[0].bot.x1 = nxgl_interpolate(traps[0].top.x1, quad[1].y - quad[0].y, b16dxdy); - traps[0].bot.x2 = quad[1].x; - traps[0].bot.y = b16toi(quad[1].y + b16HALF); - - /* quad[1] is at the top right of the second trapezoid. quad[2} is - * at the bottom left of the second trapezoid. Interpolate to get - * corresponding point on the right side. - * - * Interpolation is from quad[1] along the line quad[1]->quad[3] - * which as the same slope as the line (negative) - */ - - traps[1].top.x1 = traps[0].bot.x1; - traps[1].top.x2 = traps[0].bot.x2; - traps[1].top.y = traps[0].bot.y; - - traps[1].bot.x1 = quad[2].x; - traps[1].bot.x2 = nxgl_interpolate(traps[1].top.x2, quad[2].y - quad[1].y, b16dxdy); - traps[1].bot.y = b16toi(quad[2].y + b16HALF); - } - else - { - /* quad[2] is at the bottom left of the triangle. Interpolate - * to get the corresponding point on the right side. - * - * Interpolation is from quad[0] along the line quad[0]->quad[1] - * which orthogonal to the slope of the line (and positive) - */ - - b16dxdy = itob16(iheight) / iwidth; - - traps[0].bot.x1 = quad[2].x; - traps[0].bot.x2 = nxgl_interpolate(traps[0].top.x2, quad[2].y - quad[0].y, b16dxdy); - traps[0].bot.y = b16toi(quad[2].y + b16HALF); - - /* quad[2] is at the top left of the second trapezoid. quad[1} is - * at the bottom right of the second trapezoid. Interpolate to get - * corresponding point on the left side. - * - * Interpolation is from quad[2] along the line quad[2]->quad[3] - * which as the same slope as the previous interpolation. - */ - - traps[1].top.x1 = traps[0].bot.x1; - traps[1].top.x2 = traps[0].bot.x2; - traps[1].top.y = traps[0].bot.y; - - traps[1].bot.x1 = nxgl_interpolate(traps[1].top.x1, quad[1].y - quad[2].y, b16dxdy); - traps[1].bot.x2 = quad[1].x; - traps[1].bot.y = b16toi(quad[1].y + b16HALF); - } - - /* The final trapezond (triangle) at the bottom is new well defined */ - - traps[2].top.x1 = traps[1].bot.x1; - traps[2].top.x2 = traps[1].bot.x2; - traps[2].top.y = traps[1].bot.y; - - traps[2].bot.x1 = quad[3].x; - traps[2].bot.x2 = quad[3].x; - traps[2].bot.y = b16toi(quad[3].y + b16HALF); - } - - gvdbg("traps[0]: (%08x,%08x,%d),(%08x,%08x,%d)\n", - traps[0].top.x1, traps[0].top.x2, traps[0].top.y, - traps[0].bot.x1, traps[0].bot.x2, traps[0].bot.y); - gvdbg("traps[1]: (%08x,%08x,%d),(%08x,%08x,%d)\n", - traps[1].top.x1, traps[1].top.x2, traps[1].top.y, - traps[1].bot.x1, traps[1].bot.x2, traps[1].bot.y); - gvdbg("traps[2]: (%08x,%08x,%d),(%08x,%08x,%d)\n", - traps[2].top.x1, traps[2].top.x2, traps[2].top.y, - traps[2].bot.x1, traps[2].bot.x2, traps[2].bot.y); - - return 0; - } - - /* The line is too vertical to have any significant triangular top or - * bottom. Just return the center parallelogram. - */ - - traps[1].top.x1 = itob16(line.pt1.x - (linewidth >> 1)); - traps[1].top.x2 = traps[1].top.x1 + itob16(linewidth - 1); - traps[1].top.y = line.pt1.y; - - traps[1].bot.x1 = itob16(line.pt2.x - (linewidth >> 1)); - traps[1].bot.x2 = traps[1].bot.x1 + itob16(linewidth - 1); - traps[1].bot.y = line.pt2.y; - - gvdbg("Horizontal traps[1]: (%08x,%08x,%d),(%08x,%08x, %d)\n", - traps[1].top.x1, traps[1].top.x2, traps[1].top.y, - traps[1].bot.x1, traps[1].bot.x2, traps[1].bot.y); - - return 1; -} - diff --git a/nuttx/graphics/nxglib/nxglib_trapcopy.c b/nuttx/graphics/nxglib/nxglib_trapcopy.c deleted file mode 100644 index f35da18e1..000000000 --- a/nuttx/graphics/nxglib/nxglib_trapcopy.c +++ /dev/null @@ -1,82 +0,0 @@ -/**************************************************************************** - * graphics/nxglib/nxsglib_trapcopy.c - * - * Copyright (C) 2008-2011 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <gnutt@nuttx.org> - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * 3. Neither the name NuttX nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - ****************************************************************************/ - -/**************************************************************************** - * Included Files - ****************************************************************************/ - -#include <nuttx/config.h> - -#include <nuttx/nx/nxglib.h> - -/**************************************************************************** - * Pre-Processor Definitions - ****************************************************************************/ - -/**************************************************************************** - * Private Types - ****************************************************************************/ - -/**************************************************************************** - * Private Data - ****************************************************************************/ - -/**************************************************************************** - * Public Data - ****************************************************************************/ - -/**************************************************************************** - * Private Functions - ****************************************************************************/ - -/**************************************************************************** - * Public Functions - ****************************************************************************/ - -/**************************************************************************** - * Name: nxgl_trapcopy - * - * Description: - * This is essentially memcpy for trapezoids. We don't do structure - * assignments because some compilers are not good at that. - * - ****************************************************************************/ - -void nxgl_trapcopy(FAR struct nxgl_trapezoid_s *dest, - FAR const struct nxgl_trapezoid_s *src) -{ - nxgl_runcopy(&dest->top, &src->top); - nxgl_runcopy(&dest->bot, &src->bot); -} diff --git a/nuttx/graphics/nxglib/nxglib_trapoffset.c b/nuttx/graphics/nxglib/nxglib_trapoffset.c deleted file mode 100644 index a90631f06..000000000 --- a/nuttx/graphics/nxglib/nxglib_trapoffset.c +++ /dev/null @@ -1,82 +0,0 @@ -/**************************************************************************** - * graphics/nxglib/nxsglib_trapoffset.c - * - * Copyright (C) 2008-2009, 2011 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <gnutt@nuttx.org> - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * 3. Neither the name NuttX nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - ****************************************************************************/ - -/**************************************************************************** - * Included Files - ****************************************************************************/ - -#include <nuttx/config.h> - -#include <nuttx/nx/nxglib.h> - -/**************************************************************************** - * Pre-Processor Definitions - ****************************************************************************/ - -/**************************************************************************** - * Private Types - ****************************************************************************/ - -/**************************************************************************** - * Private Data - ****************************************************************************/ - -/**************************************************************************** - * Public Data - ****************************************************************************/ - -/**************************************************************************** - * Private Functions - ****************************************************************************/ - -/**************************************************************************** - * Public Functions - ****************************************************************************/ - -/**************************************************************************** - * Name: nxgl_trapoffset - * - * Description: - * Offset the trapezoid position by the specified dx, dy values. - * - ****************************************************************************/ - -void nxgl_trapoffset(FAR struct nxgl_trapezoid_s *dest, - FAR const struct nxgl_trapezoid_s *src, - nxgl_coord_t dx, nxgl_coord_t dy) -{ - nxgl_runoffset(&dest->top, &src->top, dx, dy); - nxgl_runoffset(&dest->bot, &src->bot, dx, dy); -} diff --git a/nuttx/graphics/nxglib/nxglib_vectoradd.c b/nuttx/graphics/nxglib/nxglib_vectoradd.c deleted file mode 100644 index 7da5eb137..000000000 --- a/nuttx/graphics/nxglib/nxglib_vectoradd.c +++ /dev/null @@ -1,84 +0,0 @@ -/**************************************************************************** - * graphics/nxglib/nxsglib_vectoradd.c - * - * Copyright (C) 2008-2011 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <gnutt@nuttx.org> - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * 3. Neither the name NuttX nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - ****************************************************************************/ - -/**************************************************************************** - * Included Files - ****************************************************************************/ - -#include <nuttx/config.h> - -#include <nuttx/nx/nxglib.h> - -/**************************************************************************** - * Pre-Processor Definitions - ****************************************************************************/ - -/**************************************************************************** - * Private Types - ****************************************************************************/ - -/**************************************************************************** - * Private Data - ****************************************************************************/ - -/**************************************************************************** - * Public Data - ****************************************************************************/ - -/**************************************************************************** - * Private Functions - ****************************************************************************/ - -/**************************************************************************** - * Public Functions - ****************************************************************************/ - -/**************************************************************************** - * Name: nxgl_vectoradd - * - * Description: - * Add two 2x1 vectors and save the result to a third. - * - ****************************************************************************/ - -void nxgl_vectoradd(FAR struct nxgl_point_s *dest, - FAR const struct nxgl_point_s *v1, - FAR const struct nxgl_point_s *v2) -{ - dest->x = v1->x + v2->x; - dest->y = v1->y + v2->y; -} - - diff --git a/nuttx/graphics/nxglib/nxglib_vectsubtract.c b/nuttx/graphics/nxglib/nxglib_vectsubtract.c deleted file mode 100644 index c830a1a33..000000000 --- a/nuttx/graphics/nxglib/nxglib_vectsubtract.c +++ /dev/null @@ -1,84 +0,0 @@ -/**************************************************************************** - * graphics/nxglib/nxsglib_vectorsubtract.c - * - * Copyright (C) 2008-2011 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <gnutt@nuttx.org> - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * 3. Neither the name NuttX nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - ****************************************************************************/ - -/**************************************************************************** - * Included Files - ****************************************************************************/ - -#include <nuttx/config.h> - -#include <nuttx/nx/nxglib.h> - -/**************************************************************************** - * Pre-Processor Definitions - ****************************************************************************/ - -/**************************************************************************** - * Private Types - ****************************************************************************/ - -/**************************************************************************** - * Private Data - ****************************************************************************/ - -/**************************************************************************** - * Public Data - ****************************************************************************/ - -/**************************************************************************** - * Private Functions - ****************************************************************************/ - -/**************************************************************************** - * Public Functions - ****************************************************************************/ - -/**************************************************************************** - * Name: nxgl_vectsubtract - * - * Description: - * Add subtract vector v2 from vector v1 and return the result in vector dest - * - ****************************************************************************/ - -void nxgl_vectsubtract(FAR struct nxgl_point_s *dest, - FAR const struct nxgl_point_s *v1, - FAR const struct nxgl_point_s *v2) -{ - dest->x = v1->x - v2->x; - dest->y = v1->y - v2->y; -} - - diff --git a/nuttx/graphics/nxglib/nxglib_yuv2rgb.c b/nuttx/graphics/nxglib/nxglib_yuv2rgb.c deleted file mode 100644 index cb4bb9f2f..000000000 --- a/nuttx/graphics/nxglib/nxglib_yuv2rgb.c +++ /dev/null @@ -1,102 +0,0 @@ -/**************************************************************************** - * graphics/color/nxglib_yuv2rgb.c - * - * Copyright (C) 2008-2009, 2011 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <gnutt@nuttx.org> - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * 3. Neither the name NuttX nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - ****************************************************************************/ - -/**************************************************************************** - * Included Files - ****************************************************************************/ - -#include <nuttx/config.h> - -#include <stdint.h> -#include <debug.h> -#include <fixedmath.h> - -#include <nuttx/nx/nxglib.h> - -/**************************************************************************** - * Pre-Processor Definitions - ****************************************************************************/ - -#define b16_P3441 0x0000581a /* 0.344147 */ -#define b16_P7141 0x0000b6d2 /* 0.714142 */ -#define b16_1P402 0x000166ea /* 1.402008 */ -#define b16_1P772 0x0001c5a2 /* 1.722003 */ -#define b16_128P0 0x00800000 /* 128.000000 */ - -/**************************************************************************** - * Private Types - ****************************************************************************/ - -/**************************************************************************** - * Private Function Prototypes - ****************************************************************************/ - -/**************************************************************************** - * Private Data - ****************************************************************************/ - -/**************************************************************************** - * Private Functions - ****************************************************************************/ - -/**************************************************************************** - * Public Functions - ****************************************************************************/ - -/**************************************************************************** - * Name: nxgl_yuv2rgb - * - * Description: - * Convert 8-bit RGB triplet to 8-bit YUV triplet - * - ****************************************************************************/ - -void nxgl_yuv2rgb(uint8_t y, uint8_t u, uint8_t v, - uint8_t *r, uint8_t *g, uint8_t *b) -{ - b16_t vm128 = itob16(v) - b16_128P0; - b16_t um128 = itob16(u) - b16_128P0; - - /* Per the JFIF specification: - * - * R = Y + 1.40200 * (V - 128.0) - * G = Y - 0.34414 * (U - 128.0) - 0.71414 * (V - 128.0) - * B = Y + 1.77200 * (U - 128.0) - */ - - *r = (uint8_t)b16toi(itob16(y) + b16muli(b16_1P402, vm128)); - *g = (uint8_t)b16toi(itob16(y) - b16muli(b16_P3441, um128) - b16muli(b16_P7141, vm128)); - *b = (uint8_t)b16toi(itob16(y) + b16muli(b16_1P772, um128)); -} diff --git a/nuttx/graphics/nxmu/Make.defs b/nuttx/graphics/nxmu/Make.defs deleted file mode 100644 index 23bf8995b..000000000 --- a/nuttx/graphics/nxmu/Make.defs +++ /dev/null @@ -1,48 +0,0 @@ -############################################################################ -# graphics/nxmu/Make.defs -# -# Copyright (C) 2008, 2011-2012 Gregory Nutt. All rights reserved. -# Author: Gregory Nutt <gnutt@nuttx.org> -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions -# are met: -# -# 1. Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# 2. Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in -# the documentation and/or other materials provided with the -# distribution. -# 3. Neither the name NuttX nor the names of its contributors may be -# used to endorse or promote products derived from this software -# without specific prior written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS -# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, -# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS -# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED -# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN -# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -# POSSIBILITY OF SUCH DAMAGE. -# -############################################################################ - -NX_ASRCS = -NXAPI_CSRCS = nx_bitmap.c nx_closewindow.c nx_connect.c nx_disconnect.c \ - nx_eventhandler.c nx_eventnotify.c nx_fill.c nx_filltrapezoid.c \ - nx_getposition.c nx_getrectangle.c nx_kbdchin.c nx_kbdin.c nx_lower.c \ - nx_mousein.c nx_move.c nx_openwindow.c nx_raise.c \ - nx_releasebkgd.c nx_requestbkgd.c nx_setpixel.c nx_setsize.c \ - nx_setbgcolor.c nx_setposition.c nx_drawcircle.c nx_drawline.c \ - nx_fillcircle.c nx_block.c -NXMU_CSRCS = nxmu_constructwindow.c nxmu_kbdin.c nxmu_mouse.c \ - nxmu_openwindow.c nxmu_redrawreq.c nxmu_releasebkgd.c \ - nxmu_requestbkgd.c nxmu_reportposition.c nxmu_sendclient.c \ - nxmu_sendserver.c nxmu_sendwindow.c nxmu_semtake.c nxmu_server.c -NX_CSRCS = $(NXAPI_CSRCS) $(NXMU_CSRCS) diff --git a/nuttx/graphics/nxmu/nx_bitmap.c b/nuttx/graphics/nxmu/nx_bitmap.c deleted file mode 100644 index a0bd748b0..000000000 --- a/nuttx/graphics/nxmu/nx_bitmap.c +++ /dev/null @@ -1,157 +0,0 @@ -/**************************************************************************** - * graphics/nxmu/nx_bitmap.c - * - * Copyright (C) 2008-2009, 2011-2012 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <gnutt@nuttx.org> - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * 3. Neither the name NuttX nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - ****************************************************************************/ - -/**************************************************************************** - * Included Files - ****************************************************************************/ - -#include <nuttx/config.h> - -#include <errno.h> -#include <debug.h> - -#include <nuttx/nx/nx.h> - -#include "nxbe.h" -#include "nxfe.h" - -/**************************************************************************** - * Pre-Processor Definitions - ****************************************************************************/ - -/**************************************************************************** - * Private Types - ****************************************************************************/ - -/**************************************************************************** - * Private Data - ****************************************************************************/ - -/**************************************************************************** - * Public Data - ****************************************************************************/ - -/**************************************************************************** - * Private Functions - ****************************************************************************/ - -/**************************************************************************** - * Public Functions - ****************************************************************************/ - -/**************************************************************************** - * Name: nx_bitmap - * - * Description: - * Copy a rectangular region of a larger image into the rectangle in the - * specified window. - * - * Input Parameters: - * hwnd - The window that will receive the bitmap image - * dest - Describes the rectangular region on the display that will receive the - * the bit map. - * src - The start of the source image. - * origin - The origin of the upper, left-most corner of the full bitmap. - * Both dest and origin are in window coordinates, however, origin - * may lie outside of the display. - * stride - The width of the full source image in pixels. - * - * Return: - * OK on success; ERROR on failure with errno set appropriately - * - ****************************************************************************/ - -int nx_bitmap(NXWINDOW hwnd, FAR const struct nxgl_rect_s *dest, - FAR const void *src[CONFIG_NX_NPLANES], - FAR const struct nxgl_point_s *origin, unsigned int stride) -{ - FAR struct nxbe_window_s *wnd = (FAR struct nxbe_window_s *)hwnd; - struct nxsvrmsg_bitmap_s outmsg; - int i; - int ret; - sem_t sem_done; - -#ifdef CONFIG_DEBUG - if (!wnd || !dest || !src || !origin) - { - errno = EINVAL; - return ERROR; - } -#endif - - /* Format the bitmap command */ - - outmsg.msgid = NX_SVRMSG_BITMAP; - outmsg.wnd = wnd; - outmsg.stride = stride; - - for (i = 0; i < CONFIG_NX_NPLANES; i++) - { - outmsg.src[i] = src[i]; - } - - outmsg.origin.x = origin->x; - outmsg.origin.y = origin->y; - nxgl_rectcopy(&outmsg.dest, dest); - - - /* Create a semaphore for tracking command completion */ - - outmsg.sem_done = &sem_done; - ret = sem_init(&sem_done, 0, 0); - - if (ret != OK) - { - gdbg("sem_init failed: %d\n", errno); - return ret; - } - - /* Forward the fill command to the server */ - - ret = nxmu_sendwindow(wnd, &outmsg, sizeof(struct nxsvrmsg_bitmap_s)); - - /* Wait that the command is completed, so that caller can release the buffer. */ - - if (ret == OK) - { - ret = sem_wait(&sem_done); - } - - /* Destroy the semaphore and return. */ - - sem_destroy(&sem_done); - - return ret; -} diff --git a/nuttx/graphics/nxmu/nx_block.c b/nuttx/graphics/nxmu/nx_block.c deleted file mode 100644 index 7b198613c..000000000 --- a/nuttx/graphics/nxmu/nx_block.c +++ /dev/null @@ -1,148 +0,0 @@ -/**************************************************************************** - * graphics/nxmu/nx_block.c - * - * Copyright (C) 2012 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <gnutt@nuttx.org> - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * 3. Neither the name NuttX nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - ****************************************************************************/ - -/**************************************************************************** - * Included Files - ****************************************************************************/ - -#include <nuttx/config.h> - -#include <errno.h> -#include <debug.h> - -#include <nuttx/nx/nx.h> - -#include "nxbe.h" -#include "nxfe.h" - -/**************************************************************************** - * Pre-Processor Definitions - ****************************************************************************/ - -/**************************************************************************** - * Private Types - ****************************************************************************/ - -/**************************************************************************** - * Private Data - ****************************************************************************/ - -/**************************************************************************** - * Public Data - ****************************************************************************/ - -/**************************************************************************** - * Private Functions - ****************************************************************************/ - -/**************************************************************************** - * Public Functions - ****************************************************************************/ - -/**************************************************************************** - * Name: nx_block - * - * Description: - * This is callback will do to things: (1) any queue a 'blocked' callback - * to the window and then (2) block any further window messaging. - * - * The 'blocked' callback is the response from nx_block (or nxtk_block). - * Those blocking interfaces are used to assure that no further messages are - * are directed to the window. Receipt of the blocked callback signifies - * that (1) there are no further pending callbacks and (2) that the - * window is now 'defunct' and will receive no further callbacks. - * - * This callback supports coordinated destruction of a window in multi- - * user mode. In multi-use mode, the client window logic must stay - * intact until all of the queued callbacks are processed. Then the - * window may be safely closed. Closing the window prior with pending - * callbacks can lead to bad behavior when the callback is executed. - * - * Multiple user mode only! - * - * Input Parameters: - * wnd - The window to be blocked - * arg - An argument that will accompany the block messages (This is arg2 - * in the blocked callback). - * - * Return: - * OK on success; ERROR on failure with errno set appropriately - * - ****************************************************************************/ - -int nx_block(NXWINDOW hwnd, FAR void *arg) -{ - FAR struct nxbe_window_s *wnd = (FAR struct nxbe_window_s *)hwnd; - struct nxsvrmsg_blocked_s outmsg; - int ret = OK; - -#ifdef CONFIG_DEBUG - if (!hwnd) - { - set_errno(EINVAL); - return ERROR; - } -#endif - - /* Ignore additional attempts to block messages (no errors reported) */ - - if (!NXBE_ISBLOCKED(wnd)) - { - /* Mark the window as blocked. This will stop all messages to the window - * (EXCEPT the NX_SVRMSG_BLOCKED). Blocking the messages before sending the - * blocked message is awkward but assures that no other messages sneak into - * the message queue before we can set the blocked state. - */ - - NXBE_SETBLOCKED(wnd); - - /* Send the message inicating that the window is blocked (and because of - * queue also that there are no additional queue messages for the window) - */ - - outmsg.msgid = NX_SVRMSG_BLOCKED; - outmsg.wnd = wnd; - outmsg.arg = arg; - - /* Send the window message via nxmu_sendserver (vs. nxmu_sendwindow) so - * that it will not be blocked. - */ - - ret = nxmu_sendserver(wnd->conn, &outmsg, sizeof(struct nxsvrmsg_blocked_s)); - } - - return ret; -} - diff --git a/nuttx/graphics/nxmu/nx_closewindow.c b/nuttx/graphics/nxmu/nx_closewindow.c deleted file mode 100644 index f9722fcd2..000000000 --- a/nuttx/graphics/nxmu/nx_closewindow.c +++ /dev/null @@ -1,100 +0,0 @@ -/**************************************************************************** - * graphics/nxmu/nx_closewindow.c - * - * Copyright (C) 2008-2009, 2011-2012 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <gnutt@nuttx.org> - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * 3. Neither the name NuttX nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - ****************************************************************************/ - -/**************************************************************************** - * Included Files - ****************************************************************************/ - -#include <nuttx/config.h> - -#include <stdlib.h> -#include <errno.h> -#include <debug.h> - -#include <nuttx/nx/nx.h> -#include "nxfe.h" - -/**************************************************************************** - * Pre-Processor Definitions - ****************************************************************************/ - -/**************************************************************************** - * Private Types - ****************************************************************************/ - -/**************************************************************************** - * Private Data - ****************************************************************************/ - -/**************************************************************************** - * Public Data - ****************************************************************************/ - -/**************************************************************************** - * Private Functions - ****************************************************************************/ - -/**************************************************************************** - * Public Functions - ****************************************************************************/ - - -/**************************************************************************** - * Name: nx_closewindow - * - * Description: - * Destroy a window created by nx_openwindow. - * - * Input Parameters: - * wnd - The window to be destroyed - * - * Return: - * OK on success; ERROR on failure with errno set appropriately - * - ****************************************************************************/ - -int nx_closewindow(NXWINDOW hwnd) -{ - FAR struct nxbe_window_s *wnd = (FAR struct nxbe_window_s *)hwnd; - struct nxsvrmsg_closewindow_s outmsg; - - /* Request destruction of the window by the server */ - - outmsg.msgid = NX_SVRMSG_CLOSEWINDOW; - outmsg.wnd = wnd; - - return nxmu_sendserver(wnd->conn, &outmsg, sizeof(struct nxsvrmsg_closewindow_s)); -} - diff --git a/nuttx/graphics/nxmu/nx_connect.c b/nuttx/graphics/nxmu/nx_connect.c deleted file mode 100644 index 4d91b54d5..000000000 --- a/nuttx/graphics/nxmu/nx_connect.c +++ /dev/null @@ -1,220 +0,0 @@ -/**************************************************************************** - * graphics/nxmu/nx_connect.c - * - * Copyright (C) 2008-2009, 2011-2012 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <gnutt@nuttx.org> - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * 3. Neither the name NuttX nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - ****************************************************************************/ - -/**************************************************************************** - * Included Files - ****************************************************************************/ - -#include <nuttx/config.h> - -#include <stdint.h> -#include <stdio.h> -#include <stdlib.h> -#include <fcntl.h> -#include <mqueue.h> -#include <errno.h> -#include <debug.h> - -#include <nuttx/nx/nx.h> -#include "nxfe.h" - -/**************************************************************************** - * Pre-Processor Definitions - ****************************************************************************/ - -/**************************************************************************** - * Private Types - ****************************************************************************/ - -/**************************************************************************** - * Private Data - ****************************************************************************/ - -/* Each client is assigned a unique ID using the g_nxcid counter. That - * counter increments as each new counter is created and is* protected for - * thread safefy with g_nxlibsem. Note that these are the only global values - * in the NX implementation. This is because the client ID must be unique - * even across all server instances. - * - * NOTE: that client ID 0 is reserved for the server(s) themselves - */ - -static sem_t g_nxlibsem = { 1 }; -static uint32_t g_nxcid = 1; - -/**************************************************************************** - * Public Data - ****************************************************************************/ - -/**************************************************************************** - * Private Functions - ****************************************************************************/ - -/**************************************************************************** - * Public Functions - ****************************************************************************/ - -/**************************************************************************** - * Name: nx_connectinstance - * - * Description: - * Open a connection from a client to the NX server. One one client - * connection is normally needed per thread as each connection can host - * multiple windows. - * - * NOTES: - * - This function returns before the connection is fully instantiated. - * it is necessary to wait for the connection event before using the - * returned handle. - * - Multiple instances of the NX server may run at the same time, - * each with different message queue names. - * - * Input Parameters: - * svrmqname - The name for the server incoming message queue - * - * Return: - * Success: A non-NULL handle used with subsequent NX accesses - * Failure: NULL is returned and errno is set appropriately - * - ****************************************************************************/ - -NXHANDLE nx_connectinstance(FAR const char *svrmqname) -{ - FAR struct nxfe_conn_s *conn; - struct nxsvrmsg_s outmsg; - char climqname[NX_CLIENT_MXNAMELEN]; - struct mq_attr attr; - int ret; - - /* Sanity checking */ - -#ifdef CONFIG_DEBUG - if (!svrmqname) - { - errno = EINVAL; - return NULL; - } -#endif - - /* Allocate the NX client structure */ - - conn = (FAR struct nxfe_conn_s *)zalloc(sizeof(struct nxfe_conn_s)); - if (!conn) - { - errno = ENOMEM; - goto errout; - } - - /* Create the client MQ name */ - - nxmu_semtake(&g_nxlibsem); - conn->cid = g_nxcid++; - nxmu_semgive(&g_nxlibsem); - - sprintf(climqname, NX_CLIENT_MQNAMEFMT, conn->cid); - - /* Open the client MQ for reading */ - - attr.mq_maxmsg = CONFIG_NX_MXCLIENTMSGS; - attr.mq_msgsize = NX_MXCLIMSGLEN; - attr.mq_flags = 0; - -#ifdef CONFIG_NX_BLOCKING - conn->crdmq = mq_open(climqname, O_RDONLY|O_CREAT, 0666, &attr); -#else - conn->crdmq = mq_open(climqname, O_RDONLY|O_CREAT|O_NONBLOCK, 0666, &attr); -#endif - if (conn->crdmq == (mqd_t)-1) - { - gdbg("mq_open(%s) failed: %d\n", climqname, errno); - goto errout_with_conn; - } - - /* Open the server MQ for writing */ - - attr.mq_maxmsg = CONFIG_NX_MXSERVERMSGS; - attr.mq_msgsize = NX_MXSVRMSGLEN; - attr.mq_flags = 0; - - conn->cwrmq = mq_open(svrmqname, O_WRONLY|O_CREAT, 0666, &attr); - if (conn->cwrmq == (mqd_t)-1) - { - gdbg("mq_open(%s) failed: %d\n", svrmqname, errno); - goto errout_with_rmq; - } - - /* Inform the server that this client exists */ - - outmsg.msgid = NX_SVRMSG_CONNECT; - outmsg.conn = conn; - - ret = nxmu_sendserver(conn, &outmsg, sizeof(struct nxsvrmsg_s)); - if (ret < 0) - { - gdbg("nxmu_sendserver failed: %d\n", errno); - goto errout_with_wmq; - } - -#if 0 - /* Now read until we get a response to this message. The server will - * respond with either (1) NX_CLIMSG_CONNECTED, in which case the state - * will change to NX_CLISTATE_CONNECTED, or (2) NX_CLIMSG_DISCONNECTED - * in which case, nx_message will fail with errno = EHOSTDOWN. - */ - - do - { - ret = nx_eventhandler((NXHANDLE)conn); - if (ret < 0) - { - gdbg("nx_message failed: %d\n", errno); - goto errout_with_wmq; - } - usleep(300000); - } - while (conn->state != NX_CLISTATE_CONNECTED); -#endif - return (NXHANDLE)conn; - -errout_with_wmq: - mq_close(conn->cwrmq); -errout_with_rmq: - mq_close(conn->crdmq); -errout_with_conn: - free(conn); -errout: - return NULL; -} - diff --git a/nuttx/graphics/nxmu/nx_disconnect.c b/nuttx/graphics/nxmu/nx_disconnect.c deleted file mode 100644 index 48e1e9cc0..000000000 --- a/nuttx/graphics/nxmu/nx_disconnect.c +++ /dev/null @@ -1,108 +0,0 @@ -/**************************************************************************** - * graphics/nxmu/nx_disconnect.c - * - * Copyright (C) 2008-2009, 2011-2012 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <gnutt@nuttx.org> - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * 3. Neither the name NuttX nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - ****************************************************************************/ - -/**************************************************************************** - * Included Files - ****************************************************************************/ - -#include <nuttx/config.h> - -#include <mqueue.h> -#include <errno.h> -#include <debug.h> - -#include <nuttx/nx/nx.h> -#include "nxfe.h" - -/**************************************************************************** - * Pre-Processor Definitions - ****************************************************************************/ - -/**************************************************************************** - * Private Types - ****************************************************************************/ - -/**************************************************************************** - * Private Data - ****************************************************************************/ - -/**************************************************************************** - * Public Data - ****************************************************************************/ - -/**************************************************************************** - * Private Functions - ****************************************************************************/ - -/**************************************************************************** - * Public Functions - ****************************************************************************/ - -/**************************************************************************** - * Name: nx_disconnect - * - * Description: - * Disconnect a client from the NX server and/or free resources reserved - * by nx_connect/nx_connectinstance. - * - * Input Parameters: - * handle - the handle returned by nx_connect - * - * Return: - * OK on success; ERROR on failure with the errno set appropriately. - * NOTE that handle will no long be valid upon return. - * - ****************************************************************************/ - -void nx_disconnect(NXHANDLE handle) -{ - FAR struct nxfe_conn_s *conn = (FAR struct nxfe_conn_s *)handle; - struct nxsvrmsg_s outmsg; - int ret; - - /* Inform the server that this client no longer exists */ - - outmsg.msgid = NX_SVRMSG_DISCONNECT; - outmsg.conn = conn; - - /* We will finish the teardown upon receipt of the DISCONNECTED message */ - - ret = nxmu_sendserver(conn, &outmsg, sizeof(struct nxsvrmsg_s)); - if (ret < 0) - { - gdbg("ERROR: nxmu_sendserver() returned %d\n", ret); - } -} - diff --git a/nuttx/graphics/nxmu/nx_drawcircle.c b/nuttx/graphics/nxmu/nx_drawcircle.c deleted file mode 100644 index 22424c19d..000000000 --- a/nuttx/graphics/nxmu/nx_drawcircle.c +++ /dev/null @@ -1,145 +0,0 @@ -/**************************************************************************** - * graphics/nxmu/nx_drawcircle.c - * - * Copyright (C) 2011 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <gnutt@nuttx.org> - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * 3. Neither the name NuttX nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - ****************************************************************************/ - -/**************************************************************************** - * Included Files - ****************************************************************************/ - -#include <nuttx/config.h> - -#include <sys/types.h> -#include <debug.h> -#include <errno.h> - -#include <nuttx/nx/nxglib.h> -#include <nuttx/nx/nx.h> - -/**************************************************************************** - * Pre-Processor Definitions - ****************************************************************************/ -/* Named indices into the 16 circle points generated by nxgl_circlepts */ - -#define POINT_0p0 0 -#define POINT_22p5 1 -#define POINT_45p0 2 -#define POINT_67p5 3 -#define POINT_90p0 4 -#define POINT_112p5 5 -#define POINT_135p0 6 -#define POINT_157p5 7 -#define POINT_180p0 8 -#define POINT_202p5 9 -#define POINT_225p0 10 -#define POINT_247p5 11 -#define POINT_270p0 12 -#define POINT_292p5 13 -#define POINT_315p0 14 -#define POINT_337p5 15 -#define NCIRCLE_POINTS 16 - -/**************************************************************************** - * Private Types - ****************************************************************************/ - -/**************************************************************************** - * Private Data - ****************************************************************************/ - -/**************************************************************************** - * Public Data - ****************************************************************************/ - -/**************************************************************************** - * Private Functions - ****************************************************************************/ - -/**************************************************************************** - * Public Functions - ****************************************************************************/ - -/**************************************************************************** - * Name: nx_drawcircle - * - * Description: - * Draw a circular outline using the specified line thickness and color. - * - * Input Parameters: - * hwnd - The window handle - * center - A pointer to the point that is the center of the circle - * radius - The radius of the circle in pixels. - * width - The width of the line - * color - The color to use to fill the line - * - * Return: - * OK on success; ERROR on failure with errno set appropriately - * - ****************************************************************************/ - -int nx_drawcircle(NXWINDOW hwnd, FAR const struct nxgl_point_s *center, - nxgl_coord_t radius, nxgl_coord_t width, - nxgl_mxpixel_t color[CONFIG_NX_NPLANES]) -{ - struct nxgl_point_s pts[NCIRCLE_POINTS]; - FAR struct nxgl_vector_s vector; - int i; - int ret; - - /* Convert the circle to a set of 16 points */ - - nxgl_circlepts(center, radius, pts); - - /* Draw each pair of points as a vector */ - - for (i = POINT_0p0; i < POINT_337p5; i++) - { - vector.pt1.x = pts[i].x; - vector.pt1.y = pts[i].y; - vector.pt2.x = pts[i+1].x; - vector.pt2.y = pts[i+1].y; - ret = nx_drawline(hwnd, &vector, width, color); - if (ret != OK) - { - return ret; - } - } - - /* The final, closing vector is a special case */ - - vector.pt1.x = pts[POINT_337p5].x; - vector.pt1.y = pts[POINT_337p5].y; - vector.pt2.x = pts[POINT_0p0].x; - vector.pt2.y = pts[POINT_0p0].y; - return nx_drawline(hwnd, &vector, width, color); -} diff --git a/nuttx/graphics/nxmu/nx_drawline.c b/nuttx/graphics/nxmu/nx_drawline.c deleted file mode 100644 index 7de0af1c1..000000000 --- a/nuttx/graphics/nxmu/nx_drawline.c +++ /dev/null @@ -1,136 +0,0 @@ -/**************************************************************************** - * graphics/nxmu/nx_drawline.c - * - * Copyright (C) 2011 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <gnutt@nuttx.org> - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * 3. Neither the name NuttX nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - ****************************************************************************/ - -/**************************************************************************** - * Included Files - ****************************************************************************/ - -#include <nuttx/config.h> - -#include <sys/types.h> -#include <debug.h> -#include <errno.h> - -#include <nuttx/nx/nxglib.h> -#include <nuttx/nx/nx.h> - -/**************************************************************************** - * Pre-Processor Definitions - ****************************************************************************/ - -/**************************************************************************** - * Private Types - ****************************************************************************/ - -/**************************************************************************** - * Private Data - ****************************************************************************/ - -/**************************************************************************** - * Public Data - ****************************************************************************/ - -/**************************************************************************** - * Private Functions - ****************************************************************************/ - -/**************************************************************************** - * Public Functions - ****************************************************************************/ - -/**************************************************************************** - * Name: nx_drawline - * - * Description: - * Fill the specified line in the window with the specified color. This - * is simply a wrapper that uses nxgl_splitline() to break the line into - * trapezoids and then calls nx_filltrapezoid() to render the line. - * - * Input Parameters: - * hwnd - The window handle - * vector - Describes the line to be drawn - * width - The width of the line - * color - The color to use to fill the line - * - * Return: - * OK on success; ERROR on failure with errno set appropriately - * - ****************************************************************************/ - -int nx_drawline(NXWINDOW hwnd, FAR struct nxgl_vector_s *vector, - nxgl_coord_t width, nxgl_mxpixel_t color[CONFIG_NX_NPLANES]) -{ - struct nxgl_trapezoid_s trap[3]; - struct nxgl_rect_s rect; - int ret; - -#ifdef CONFIG_DEBUG - if (!hwnd || !vector || width < 1 || !color) - { - set_errno(EINVAL); - return ERROR; - } -#endif - - ret = nxgl_splitline(vector, trap, &rect, width); - switch (ret) - { - case 0: - ret = nx_filltrapezoid(hwnd, NULL, &trap[0], color); - if (ret == OK) - { - ret = nx_filltrapezoid(hwnd, NULL, &trap[1], color); - if (ret == OK) - { - ret = nx_filltrapezoid(hwnd, NULL, &trap[2], color); - } - } - break; - - case 1: - ret = nx_filltrapezoid(hwnd, NULL, &trap[1], color); - break; - - case 2: - ret = nx_fill(hwnd, &rect, color); - break; - - default: - set_errno(-ret); - return ERROR; - } - - return ret; -} diff --git a/nuttx/graphics/nxmu/nx_eventhandler.c b/nuttx/graphics/nxmu/nx_eventhandler.c deleted file mode 100644 index 944bb12d1..000000000 --- a/nuttx/graphics/nxmu/nx_eventhandler.c +++ /dev/null @@ -1,260 +0,0 @@ -/**************************************************************************** - * graphics/nxmu/nx_eventhandler.c - * - * Copyright (C) 2008-2009, 2011-2012 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <gnutt@nuttx.org> - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * 3. Neither the name NuttX nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - ****************************************************************************/ - -/**************************************************************************** - * Included Files - ****************************************************************************/ - -#include <nuttx/config.h> - -#include <stdint.h> -#include <stdlib.h> -#include <mqueue.h> -#include <assert.h> -#include <errno.h> -#include <debug.h> - -#include <nuttx/nx/nx.h> -#include "nxfe.h" - -/**************************************************************************** - * Pre-Processor Definitions - ****************************************************************************/ - -/**************************************************************************** - * Private Types - ****************************************************************************/ - -/**************************************************************************** - * Private Data - ****************************************************************************/ - -/**************************************************************************** - * Public Data - ****************************************************************************/ - -/**************************************************************************** - * Private Functions - ****************************************************************************/ - -/**************************************************************************** - * Name: nx_connected - * - * Description: - * The server has completed the connection and is ready. - * - ****************************************************************************/ - -static inline void nx_connected(FAR struct nxfe_conn_s *conn) -{ - DEBUGASSERT(conn->state == NX_CLISTATE_NOTCONNECTED); - conn->state = NX_CLISTATE_CONNECTED; -} - -/**************************************************************************** - * Name: nx_disconnected - ****************************************************************************/ - -static inline void nx_disconnected(FAR struct nxfe_conn_s *conn) -{ - /* Close the server and client MQs */ - - (void)mq_close(conn->cwrmq); - (void)mq_close(conn->crdmq); - - /* And free the client structure */ - - free(conn); -} - -/**************************************************************************** - * Public Functions - ****************************************************************************/ - -/**************************************************************************** - * Name: nx_eventhandler - * - * Description: - * The client code must call this function periodically to process - * incoming messages from the server. If CONFIG_NX_BLOCKING is defined, - * then this function not return until a server message is received. - * - * When CONFIG_NX_BLOCKING is not defined, the client must exercise - * caution in the looping to assure that it does not eat up all of - * the CPU bandwidth calling nx_eventhandler repeatedly. nx_eventnotify - * may be called to get a signal event whenever a new incoming server - * event is avaiable. - * - * Input Parameters: - * handle - the handle returned by nx_connect - * - * Return: - * OK: No errors occurred. If CONFIG_NX_BLOCKING is defined, then - * one or more server message was processed. - * ERROR: An error occurred and errno has been set appropriately. Of - * particular interest, it will return errno == EHOSTDOWN when the - * server is disconnected. After that event, the handle can no - * longer be used. - * - ****************************************************************************/ - -int nx_eventhandler(NXHANDLE handle) -{ - FAR struct nxfe_conn_s *conn = (FAR struct nxfe_conn_s *)handle; - struct nxsvrmsg_s *msg; - struct nxbe_window_s *wnd; - uint8_t buffer[NX_MXCLIMSGLEN]; - int nbytes; - - /* Get the next message from our incoming message queue */ - - do - { - nbytes = mq_receive(conn->crdmq, buffer, NX_MXCLIMSGLEN, 0); - if (nbytes < 0) - { - /* EINTR is not an error. The wait was interrupted by a signal and - * we just need to try reading again. - */ - - if (errno != EINTR) - { - if (errno == EAGAIN) - { - /* EAGAIN is not an error. It occurs because the MQ is opened with - * O_NONBLOCK and there is no message available now. - */ - - return OK; - } - else - { - gdbg("mq_receive failed: %d\n", errno); - return ERROR; - } - } - } - } - while (nbytes < 0); - - DEBUGASSERT(nbytes >= sizeof(struct nxclimsg_s)); - - /* Dispatch the message appropriately */ - - msg = (struct nxsvrmsg_s *)buffer; - gvdbg("Received msgid=%d\n", msg->msgid); - switch (msg->msgid) - { - case NX_CLIMSG_CONNECTED: - nx_connected(conn); - break; - - case NX_CLIMSG_DISCONNECTED: - nx_disconnected(conn); - errno = EHOSTDOWN; - return ERROR; - - case NX_CLIMSG_REDRAW: - { - FAR struct nxclimsg_redraw_s *redraw = (FAR struct nxclimsg_redraw_s *)buffer; - wnd = redraw->wnd; - DEBUGASSERT(wnd); - if (wnd->cb->redraw) - { - wnd->cb->redraw((NXWINDOW)wnd, &redraw->rect, redraw->more, wnd->arg); - } - } - break; - - case NX_CLIMSG_NEWPOSITION: - { - FAR struct nxclimsg_newposition_s *postn = (FAR struct nxclimsg_newposition_s *)buffer; - wnd = postn->wnd; - DEBUGASSERT(wnd); - if (wnd->cb->position) - { - wnd->cb->position((NXWINDOW)wnd, &postn->size, &postn->pos, &postn->bounds, wnd->arg); - } - } - break; - -#ifdef CONFIG_NX_MOUSE - case NX_CLIMSG_MOUSEIN: - { - FAR struct nxclimsg_mousein_s *mouse = (FAR struct nxclimsg_mousein_s *)buffer; - wnd = mouse->wnd; - DEBUGASSERT(wnd); - if (wnd->cb->mousein) - { - wnd->cb->mousein((NXWINDOW)wnd, &mouse->pos, mouse->buttons, wnd->arg); - } - } - break; -#endif - -#ifdef CONFIG_NX_KBD - case NX_CLIMSG_KBDIN: - { - FAR struct nxclimsg_kbdin_s *kbd = (FAR struct nxclimsg_kbdin_s *)buffer; - wnd = kbd->wnd; - DEBUGASSERT(wnd); - if (wnd->cb->kbdin) - { - wnd->cb->kbdin((NXWINDOW)wnd, kbd->nch, kbd->ch, wnd->arg); - } - } - break; -#endif - - case NX_CLIMSG_BLOCKED: - { - FAR struct nxclimsg_blocked_s *blocked = (FAR struct nxclimsg_blocked_s *)buffer; - wnd = blocked->wnd; - DEBUGASSERT(wnd); - if (wnd->cb->blocked) - { - wnd->cb->blocked((NXWINDOW)wnd, wnd->arg, blocked->arg); - } - } - break; - - default: - gdbg("Unrecognized message opcode: %d\n", ((FAR struct nxsvrmsg_s *)buffer)->msgid); - break; - } - - return OK; -} - diff --git a/nuttx/graphics/nxmu/nx_eventnotify.c b/nuttx/graphics/nxmu/nx_eventnotify.c deleted file mode 100644 index 556c9fa93..000000000 --- a/nuttx/graphics/nxmu/nx_eventnotify.c +++ /dev/null @@ -1,111 +0,0 @@ -/**************************************************************************** - * graphics/nxmu/nx_eventnotify.c - * - * Copyright (C) 2008-2009, 2011 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <gnutt@nuttx.org> - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * 3. Neither the name NuttX nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - ****************************************************************************/ - -/**************************************************************************** - * Included Files - ****************************************************************************/ - -#include <nuttx/config.h> - -#include <stdlib.h> -#include <mqueue.h> -#include <assert.h> -#include <errno.h> -#include <debug.h> - -#include <nuttx/nx/nx.h> -#include "nxfe.h" - -#ifndef CONFIG_DISABLE_SIGNALS - -/**************************************************************************** - * Pre-Processor Definitions - ****************************************************************************/ - -/**************************************************************************** - * Private Types - ****************************************************************************/ - -/**************************************************************************** - * Private Data - ****************************************************************************/ - -/**************************************************************************** - * Public Data - ****************************************************************************/ - -/**************************************************************************** - * Private Functions - ****************************************************************************/ - -/**************************************************************************** - * Public Functions - ****************************************************************************/ - -/**************************************************************************** - * Name: nx_eventnotify - * - * Description: - * Rather than calling nx_eventhandler periodically, the client may - * register to receive a signal when a server event is available. The - * client can then call nv_eventhandler() only when incoming events are - * available. - * - * Only one such event is issued. Upon receipt of the signal, if the client - * wishes further notifications, it must call nx_eventnotify again. - * - * Input Parameters: - * handle - the handle returned by nx_connect - * - * Return: - * OK: No errors occurred. If CONFIG_NX_BLOCKING is defined, then - * one or more server message was processed. - * ERROR: An error occurred and errno has been set appropriately - * - ****************************************************************************/ - -int nx_eventnotify(NXHANDLE handle, int signo) -{ - FAR struct nxfe_conn_s *conn = (FAR struct nxfe_conn_s *)handle; - struct sigevent se; - - se.sigev_notify = SIGEV_SIGNAL; - se.sigev_signo = signo; - se.sigev_value.sival_ptr = (FAR void *)handle; - - return mq_notify(conn->crdmq, &se); -} - -#endif /* CONFIG_DISABLE_SIGNALS */ diff --git a/nuttx/graphics/nxmu/nx_fill.c b/nuttx/graphics/nxmu/nx_fill.c deleted file mode 100644 index 969acdace..000000000 --- a/nuttx/graphics/nxmu/nx_fill.c +++ /dev/null @@ -1,116 +0,0 @@ -/**************************************************************************** - * graphics/nxmu/nx_fill.c - * - * Copyright (C) 2008-2009, 2011-2012 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <gnutt@nuttx.org> - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * 3. Neither the name NuttX nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - ****************************************************************************/ - -/**************************************************************************** - * Included Files - ****************************************************************************/ - -#include <nuttx/config.h> - -#include <mqueue.h> -#include <errno.h> -#include <debug.h> - -#include <nuttx/nx/nxglib.h> -#include <nuttx/nx/nx.h> - -#include "nxfe.h" - -/**************************************************************************** - * Pre-Processor Definitions - ****************************************************************************/ - -/**************************************************************************** - * Private Types - ****************************************************************************/ - -/**************************************************************************** - * Private Data - ****************************************************************************/ - -/**************************************************************************** - * Public Data - ****************************************************************************/ - -/**************************************************************************** - * Private Functions - ****************************************************************************/ - -/**************************************************************************** - * Public Functions - ****************************************************************************/ - -/**************************************************************************** - * Name: nx_fill - * - * Description: - * Fill the specified rectangle in the window with the specified color - * - * Input Parameters: - * hwnd - The window handle - * rect - The location to be filled - * color - The color to use in the fill - * - * Return: - * OK on success; ERROR on failure with errno set appropriately - * - ****************************************************************************/ - -int nx_fill(NXWINDOW hwnd, FAR const struct nxgl_rect_s *rect, - nxgl_mxpixel_t color[CONFIG_NX_NPLANES]) -{ - FAR struct nxbe_window_s *wnd = (FAR struct nxbe_window_s *)hwnd; - struct nxsvrmsg_fill_s outmsg; - -#ifdef CONFIG_DEBUG - if (!wnd || !rect || !color) - { - errno = EINVAL; - return ERROR; - } -#endif - - /* Format the fill command */ - - outmsg.msgid = NX_SVRMSG_FILL; - outmsg.wnd = wnd; - - nxgl_rectcopy(&outmsg.rect, rect); - nxgl_colorcopy(outmsg.color, color); - - /* Forward the fill command to the server */ - - return nxmu_sendwindow(wnd, &outmsg, sizeof(struct nxsvrmsg_fill_s)); -} diff --git a/nuttx/graphics/nxmu/nx_fillcircle.c b/nuttx/graphics/nxmu/nx_fillcircle.c deleted file mode 100644 index 5c9671695..000000000 --- a/nuttx/graphics/nxmu/nx_fillcircle.c +++ /dev/null @@ -1,114 +0,0 @@ -/**************************************************************************** - * graphics/nxsu/nx_fillcircle.c - * - * Copyright (C) 2011 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <gnutt@nuttx.org> - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * 3. Neither the name NuttX nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - ****************************************************************************/ - -/**************************************************************************** - * Included Files - ****************************************************************************/ - -#include <nuttx/config.h> - -#include <sys/types.h> -#include <debug.h> -#include <errno.h> - -#include <nuttx/nx/nxglib.h> -#include <nuttx/nx/nx.h> - -/**************************************************************************** - * Pre-Processor Definitions - ****************************************************************************/ - -#define NCIRCLE_TRAPS 8 - -/**************************************************************************** - * Private Types - ****************************************************************************/ - -/**************************************************************************** - * Private Data - ****************************************************************************/ - -/**************************************************************************** - * Public Data - ****************************************************************************/ - -/**************************************************************************** - * Private Functions - ****************************************************************************/ - -/**************************************************************************** - * Public Functions - ****************************************************************************/ - -/**************************************************************************** - * Name: nx_fillcircle - * - * Description: - * Fill a circular region using the specified color. - * - * Input Parameters: - * hwnd - The window handle - * center - A pointer to the point that is the center of the circle - * radius - The radius of the circle in pixels. - * color - The color to use to fill the circle. - * - * Return: - * OK on success; ERROR on failure with errno set appropriately - * - ****************************************************************************/ - -int nx_fillcircle(NXWINDOW hwnd, FAR const struct nxgl_point_s *center, - nxgl_coord_t radius, nxgl_mxpixel_t color[CONFIG_NX_NPLANES]) -{ - FAR struct nxgl_trapezoid_s traps[NCIRCLE_TRAPS]; - int i; - int ret; - - /* Describe the circular region as a sequence of 8 trapezoids */ - - nxgl_circletraps(center, radius, traps); - - /* Then rend those trapezoids */ - - for (i = 0; i < NCIRCLE_TRAPS; i++) - { - ret = nx_filltrapezoid(hwnd, NULL, &traps[i], color); - if (ret != OK) - { - return ret; - } - } - return OK; -} diff --git a/nuttx/graphics/nxmu/nx_filltrapezoid.c b/nuttx/graphics/nxmu/nx_filltrapezoid.c deleted file mode 100644 index bf289179e..000000000 --- a/nuttx/graphics/nxmu/nx_filltrapezoid.c +++ /dev/null @@ -1,142 +0,0 @@ -/**************************************************************************** - * graphics/nxmu/nx_filltrapezoid.c - * - * Copyright (C) 2008-2009, 2011-2012 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <gnutt@nuttx.org> - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * 3. Neither the name NuttX nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - ****************************************************************************/ - -/**************************************************************************** - * Included Files - ****************************************************************************/ - -#include <nuttx/config.h> - -#include <string.h> -#include <mqueue.h> -#include <errno.h> -#include <debug.h> - -#include <nuttx/nx/nx.h> - -#include "nxfe.h" - -/**************************************************************************** - * Pre-Processor Definitions - ****************************************************************************/ - -/**************************************************************************** - * Private Types - ****************************************************************************/ - -/**************************************************************************** - * Private Data - ****************************************************************************/ - -/**************************************************************************** - * Public Data - ****************************************************************************/ - -/**************************************************************************** - * Private Functions - ****************************************************************************/ - -/**************************************************************************** - * Public Functions - ****************************************************************************/ - -/**************************************************************************** - * Name: nx_filltrapezoid - * - * Description: - * Fill the specified trapezoidal region in the window with the specified color - * - * Input Parameters: - * hwnd - The window handle - * clip - Clipping region (may be null) - * trap - The trapezoidal region to be filled - * color - The color to use in the fill - * - * Return: - * OK on success; ERROR on failure with errno set appropriately - * - ****************************************************************************/ - -int nx_filltrapezoid(NXWINDOW hwnd, FAR const struct nxgl_rect_s *clip, - FAR const struct nxgl_trapezoid_s *trap, - nxgl_mxpixel_t color[CONFIG_NX_NPLANES]) -{ - FAR struct nxbe_window_s *wnd = (FAR struct nxbe_window_s *)hwnd; - struct nxsvrmsg_filltrapezoid_s outmsg; - int i; - - /* Some debug-only sanity checks */ - -#ifdef CONFIG_DEBUG - if (!wnd || !trap || !color) - { - errno = EINVAL; - return ERROR; - } -#endif - - /* Format the fill command */ - - outmsg.msgid = NX_SVRMSG_FILLTRAP; - outmsg.wnd = wnd; - - /* If no clipping window was provided, then use the size of the entire window */ - - if (clip) - { - nxgl_rectcopy(&outmsg.clip, clip); - } - else - { - nxgl_rectcopy(&outmsg.clip, &wnd->bounds); - } - - /* Copy the trapezod and the color into the message */ - - nxgl_trapcopy(&outmsg.trap, trap); - -#if CONFIG_NX_NPLANES > 1 - for (i = 0; i < CONFIG_NX_NPLANES; i++) -#else - i = 0; -#endif - { - outmsg.color[i] = color[i]; - } - - /* Forward the trapezoid fill command to the server */ - - return nxmu_sendwindow(wnd, &outmsg, sizeof(struct nxsvrmsg_filltrapezoid_s)); -} diff --git a/nuttx/graphics/nxmu/nx_getposition.c b/nuttx/graphics/nxmu/nx_getposition.c deleted file mode 100644 index 06ad2c6aa..000000000 --- a/nuttx/graphics/nxmu/nx_getposition.c +++ /dev/null @@ -1,114 +0,0 @@ -/**************************************************************************** - * graphics/nxmu/nx_getposition.c - * - * Copyright (C) 2008-2009, 2011-2012 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <gnutt@nuttx.org> - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * 3. Neither the name NuttX nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - ****************************************************************************/ - -/**************************************************************************** - * Included Files - ****************************************************************************/ - -#include <nuttx/config.h> - -#include <errno.h> -#include <debug.h> - -#include <nuttx/nx/nx.h> -#include "nxfe.h" - -/**************************************************************************** - * Pre-Processor Definitions - ****************************************************************************/ - -/**************************************************************************** - * Private Types - ****************************************************************************/ - -/**************************************************************************** - * Private Data - ****************************************************************************/ - -/**************************************************************************** - * Public Data - ****************************************************************************/ - -/**************************************************************************** - * Private Functions - ****************************************************************************/ - -/**************************************************************************** - * Public Functions - ****************************************************************************/ - -/**************************************************************************** - * Name: nx_getposition - * - * Description: - * Request the position and size information for the selected window. The - * values will be return asynchronously through the client callback function - * pointer. - * - * Input Parameters: - * hwnd - The window handle - * - * Return: - * OK on success; ERROR on failure with errno set appropriately - * - ****************************************************************************/ - -int nx_getposition(NXWINDOW hwnd) -{ - FAR struct nxbe_window_s *wnd = (FAR struct nxbe_window_s *)hwnd; - struct nxsvrmsg_getposition_s outmsg; - -#ifdef CONFIG_DEBUG - if (!wnd) - { - errno = EINVAL; - return ERROR; - } -#endif - - /* Request the size/position info. - * - * It is tempting to just take the positional information from the window - * structure that we have in our hands now. However, we need to run this through - * the server to keep things serialized. There might, for example, be a pending - * size/position change and, in that case, this function would return the - * wrong info. - */ - - outmsg.msgid = NX_SVRMSG_GETPOSITION; - outmsg.wnd = wnd; - - return nxmu_sendwindow(wnd, &outmsg, sizeof(struct nxsvrmsg_getposition_s)); -} diff --git a/nuttx/graphics/nxmu/nx_getrectangle.c b/nuttx/graphics/nxmu/nx_getrectangle.c deleted file mode 100644 index 9b7d3679c..000000000 --- a/nuttx/graphics/nxmu/nx_getrectangle.c +++ /dev/null @@ -1,150 +0,0 @@ -/**************************************************************************** - * graphics/nxmu/nx_getrectangle.c - * - * Copyright (C) 2011-2012 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <gnutt@nuttx.org> - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * 3. Neither the name NuttX nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - ****************************************************************************/ - -/**************************************************************************** - * Included Files - ****************************************************************************/ - -#include <nuttx/config.h> - -#include <mqueue.h> -#include <errno.h> -#include <debug.h> - -#include <nuttx/nx/nx.h> - -#include "nxfe.h" - -/**************************************************************************** - * Pre-Processor Definitions - ****************************************************************************/ - -/**************************************************************************** - * Private Types - ****************************************************************************/ - -/**************************************************************************** - * Private Data - ****************************************************************************/ - -/**************************************************************************** - * Public Data - ****************************************************************************/ - -/**************************************************************************** - * Private Functions - ****************************************************************************/ - -/**************************************************************************** - * Public Functions - ****************************************************************************/ - -/**************************************************************************** - * Name: nx_getrectangle - * - * Description: - * Get the raw contents of graphic memory within a rectangular region. NOTE: - * Since raw graphic memory is returned, the returned memory content may be - * the memory of windows above this one and may not necessarily belong to - * this window unless you assure that this is the top window. - * - * Input Parameters: - * wnd - The window structure reference - * rect - The location to be copied - * plane - Specifies the color plane to get from. - * dest - The location to copy the memory region - * deststride - The width, in bytes, the the dest memory - * - * Return: - * OK on success; ERROR on failure with errno set appropriately - * - ****************************************************************************/ - -int nx_getrectangle(NXWINDOW hwnd, FAR const struct nxgl_rect_s *rect, - unsigned int plane, FAR uint8_t *dest, - unsigned int deststride) -{ - FAR struct nxbe_window_s *wnd = (FAR struct nxbe_window_s *)hwnd; - struct nxsvrmsg_getrectangle_s outmsg; - int ret; - sem_t sem_done; - -#ifdef CONFIG_DEBUG - if (!hwnd || !rect || !dest) - { - gvdbg("Invalid parameters\n"); - set_errno(EINVAL); - return ERROR; - } -#endif - - /* Format the fill command */ - - outmsg.msgid = NX_SVRMSG_GETRECTANGLE; - outmsg.wnd = wnd; - outmsg.plane = plane; - outmsg.dest = dest; - outmsg.deststride = deststride; - - nxgl_rectcopy(&outmsg.rect, rect); - - /* Create a semaphore for tracking command completion */ - - outmsg.sem_done = &sem_done; - ret = sem_init(&sem_done, 0, 0); - - if (ret != OK) - { - gdbg("sem_init failed: %d\n", errno); - return ret; - } - - /* Forward the fill command to the server */ - - ret = nxmu_sendwindow(wnd, &outmsg, sizeof(struct nxsvrmsg_getrectangle_s)); - - /* Wait that the command is completed, so that caller can release the buffer. */ - - if (ret == OK) - { - ret = sem_wait(&sem_done); - } - - /* Destroy the semaphore and return. */ - - sem_destroy(&sem_done); - - return ret; -} diff --git a/nuttx/graphics/nxmu/nx_kbdchin.c b/nuttx/graphics/nxmu/nx_kbdchin.c deleted file mode 100644 index 6c7019f51..000000000 --- a/nuttx/graphics/nxmu/nx_kbdchin.c +++ /dev/null @@ -1,99 +0,0 @@ -/**************************************************************************** - * graphics/nxmu/nx_kbdchin.c - * - * Copyright (C) 2008-2009, 2011-2012 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <gnutt@nuttx.org> - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * 3. Neither the name NuttX nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - ****************************************************************************/ - -/**************************************************************************** - * Included Files - ****************************************************************************/ - -#include <nuttx/config.h> - -#include <stdint.h> -#include <errno.h> -#include <debug.h> - -#include <nuttx/nx/nx.h> -#include "nxfe.h" - -#ifdef CONFIG_NX_KBD - -/**************************************************************************** - * Pre-Processor Definitions - ****************************************************************************/ - -/**************************************************************************** - * Private Types - ****************************************************************************/ - -/**************************************************************************** - * Private Data - ****************************************************************************/ - -/**************************************************************************** - * Public Data - ****************************************************************************/ - -/**************************************************************************** - * Private Functions - ****************************************************************************/ - -/**************************************************************************** - * Public Functions - ****************************************************************************/ - -/**************************************************************************** - * Name: nx_kbdchin - * - * Description: - * Used by a thread or interrupt handler that manages some kind of keypad - * hardware to report text information to the NX server. That text - * data will be routed by the NX server to the appropriate window client. - * - ****************************************************************************/ - -int nx_kbdchin(NXHANDLE handle, uint8_t ch) -{ - FAR struct nxfe_conn_s *conn = (FAR struct nxfe_conn_s *)handle; - struct nxsvrmsg_kbdin_s outmsg; - - /* Inform the server of the new keypad data */ - - outmsg.msgid = NX_SVRMSG_KBDIN; - outmsg.nch = 1; - outmsg.ch[0] = ch; - - return nxmu_sendserver(conn, &outmsg, sizeof(struct nxsvrmsg_kbdin_s)); -} - -#endif /* CONFIG_NX_KBD */ diff --git a/nuttx/graphics/nxmu/nx_kbdin.c b/nuttx/graphics/nxmu/nx_kbdin.c deleted file mode 100644 index b4b91298b..000000000 --- a/nuttx/graphics/nxmu/nx_kbdin.c +++ /dev/null @@ -1,122 +0,0 @@ -/**************************************************************************** - * graphics/nxmu/nx_kbdin.c - * - * Copyright (C) 2008-2009, 2011-2012 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <gnutt@nuttx.org> - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * 3. Neither the name NuttX nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - ****************************************************************************/ - -/**************************************************************************** - * Included Files - ****************************************************************************/ - -#include <nuttx/config.h> - -#include <stdint.h> -#include <stdlib.h> -#include <errno.h> -#include <debug.h> - -#include <nuttx/nx/nx.h> -#include "nxfe.h" - -#ifdef CONFIG_NX_KBD - -/**************************************************************************** - * Pre-Processor Definitions - ****************************************************************************/ - -/**************************************************************************** - * Private Types - ****************************************************************************/ - -/**************************************************************************** - * Private Data - ****************************************************************************/ - -/**************************************************************************** - * Public Data - ****************************************************************************/ - -/**************************************************************************** - * Private Functions - ****************************************************************************/ - -/**************************************************************************** - * Public Functions - ****************************************************************************/ - -/**************************************************************************** - * Name: nx_kbdin - * - * Description: - * Used by a thread or interrupt handler that manages some kind of keypad - * hardware to report text information to the NX server. That text - * data will be routed by the NX server to the appropriate window client. - * - ****************************************************************************/ - -int nx_kbdin(NXHANDLE handle, uint8_t nch, FAR const uint8_t *ch) -{ - FAR struct nxfe_conn_s *conn = (FAR struct nxfe_conn_s *)handle; - FAR struct nxsvrmsg_kbdin_s *outmsg; - int size; - int ret; - int i; - - /* Allocate a bigger message to account for the variable amount of character - * data. - */ - - size = sizeof(struct nxsvrmsg_kbdin_s) + nch - 1; - outmsg = (FAR struct nxsvrmsg_kbdin_s *)malloc(size); - if (!outmsg) - { - errno = ENOMEM; - return ERROR; - } - - /* Inform the server of the new keypad data */ - - outmsg->msgid = NX_SVRMSG_KBDIN; - outmsg->nch = nch; - - for (i = 0; i < nch; i++) - { - outmsg->ch[i] = ch[i]; - } - - ret = nxmu_sendserver(conn, outmsg, size); - - free(outmsg); - return ret; -} - -#endif /* CONFIG_NX_KBD */ diff --git a/nuttx/graphics/nxmu/nx_lower.c b/nuttx/graphics/nxmu/nx_lower.c deleted file mode 100644 index c9505ca49..000000000 --- a/nuttx/graphics/nxmu/nx_lower.c +++ /dev/null @@ -1,98 +0,0 @@ -/**************************************************************************** - * graphics/nxmu/nx_lower.c - * - * Copyright (C) 2008-2009, 2011-2012 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <gnutt@nuttx.org> - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * 3. Neither the name NuttX nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - ****************************************************************************/ - -/**************************************************************************** - * Included Files - ****************************************************************************/ - -#include <nuttx/config.h> - -#include <errno.h> -#include <debug.h> - -#include <nuttx/nx/nx.h> -#include "nxfe.h" - -/**************************************************************************** - * Pre-Processor Definitions - ****************************************************************************/ - -/**************************************************************************** - * Private Types - ****************************************************************************/ - -/**************************************************************************** - * Private Data - ****************************************************************************/ - -/**************************************************************************** - * Public Data - ****************************************************************************/ - -/**************************************************************************** - * Private Functions - ****************************************************************************/ - -/**************************************************************************** - * Public Functions - ****************************************************************************/ - -/**************************************************************************** - * Name: nx_raise - * - * Description: - * Lower the specified window to the bottom of the display. - * - * Input parameters: - * hwnd - the window to be lowered - * - * Returned value: - * OK on success; ERROR on failure with errno set appropriately - * - ****************************************************************************/ - -int nx_lower(NXWINDOW hwnd) -{ - FAR struct nxbe_window_s *wnd = (FAR struct nxbe_window_s *)hwnd; - struct nxsvrmsg_lower_s outmsg; - - /* Send the RAISE message */ - - outmsg.msgid = NX_SVRMSG_LOWER; - outmsg.wnd = wnd; - - return nxmu_sendwindow(wnd, &outmsg, sizeof(struct nxsvrmsg_lower_s)); -} - diff --git a/nuttx/graphics/nxmu/nx_mousein.c b/nuttx/graphics/nxmu/nx_mousein.c deleted file mode 100644 index e84278539..000000000 --- a/nuttx/graphics/nxmu/nx_mousein.c +++ /dev/null @@ -1,100 +0,0 @@ -/**************************************************************************** - * graphics/nxmu/nx_mousein.c - * - * Copyright (C) 2008-2009, 2011-2012 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <gnutt@nuttx.org> - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * 3. Neither the name NuttX nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - ****************************************************************************/ - -/**************************************************************************** - * Included Files - ****************************************************************************/ - -#include <nuttx/config.h> - -#include <stdint.h> -#include <errno.h> -#include <debug.h> - -#include <nuttx/nx/nx.h> -#include "nxfe.h" - -#ifdef CONFIG_NX_MOUSE - -/**************************************************************************** - * Pre-Processor Definitions - ****************************************************************************/ - -/**************************************************************************** - * Private Types - ****************************************************************************/ - -/**************************************************************************** - * Private Data - ****************************************************************************/ - -/**************************************************************************** - * Public Data - ****************************************************************************/ - -/**************************************************************************** - * Private Functions - ****************************************************************************/ - -/**************************************************************************** - * Public Functions - ****************************************************************************/ - -/**************************************************************************** - * Name: nx_mousein - * - * Description: - * Used by a thread or interrupt handler that manages some kind of pointing - * hardware to report new positional data to the NX server. That positional - * data will be routed by the NX server to the appropriate window client. - * - ****************************************************************************/ - -int nx_mousein(NXHANDLE handle, nxgl_coord_t x, nxgl_coord_t y, uint8_t buttons) -{ - FAR struct nxfe_conn_s *conn = (FAR struct nxfe_conn_s *)handle; - struct nxsvrmsg_mousein_s outmsg; - - /* Inform the server that this client no longer exists */ - - outmsg.msgid = NX_SVRMSG_MOUSEIN; - outmsg.pt.x = x; - outmsg.pt.y = y; - outmsg.buttons = buttons; - - return nxmu_sendserver(conn, &outmsg, sizeof(struct nxsvrmsg_mousein_s)); -} - -#endif /* CONFIG_NX_MOUSE */ diff --git a/nuttx/graphics/nxmu/nx_move.c b/nuttx/graphics/nxmu/nx_move.c deleted file mode 100644 index c8d4d3dfd..000000000 --- a/nuttx/graphics/nxmu/nx_move.c +++ /dev/null @@ -1,114 +0,0 @@ -/**************************************************************************** - * graphics/nxmu/nx_move.c - * - * Copyright (C) 2008-2009, 2012 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <gnutt@nuttx.org> - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * 3. Neither the name NuttX nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - ****************************************************************************/ - -/**************************************************************************** - * Included Files - ****************************************************************************/ - -#include <nuttx/config.h> - -#include <errno.h> -#include <debug.h> - -#include <nuttx/nx/nx.h> -#include "nxfe.h" - -/**************************************************************************** - * Pre-Processor Definitions - ****************************************************************************/ - -/**************************************************************************** - * Private Types - ****************************************************************************/ - -/**************************************************************************** - * Private Data - ****************************************************************************/ - -/**************************************************************************** - * Public Data - ****************************************************************************/ - -/**************************************************************************** - * Private Functions - ****************************************************************************/ - -/**************************************************************************** - * Public Functions - ****************************************************************************/ - -/**************************************************************************** - * Name: nx_move - * - * Description: - * Move a rectangular region within the window - * - * Input Parameters: - * hwnd - The window within which the move is to be done - * rect - Describes the rectangular region to move - * offset - The offset to move the region - * - * Return: - * OK on success; ERROR on failure with errno set appropriately - * - ****************************************************************************/ - -int nx_move(NXWINDOW hwnd, FAR const struct nxgl_rect_s *rect, - FAR const struct nxgl_point_s *offset) -{ - FAR struct nxbe_window_s *wnd = (FAR struct nxbe_window_s *)hwnd; - struct nxsvrmsg_move_s outmsg; - -#ifdef CONFIG_DEBUG - if (!wnd) - { - errno = EINVAL; - return ERROR; - } -#endif - - /* Format the fill command */ - - outmsg.msgid = NX_SVRMSG_MOVE; - outmsg.wnd = wnd; - outmsg.offset.x = offset->x; - outmsg.offset.y = offset->y; - - nxgl_rectcopy(&outmsg.rect, rect); - - /* Forward the fill command to the server */ - - return nxmu_sendwindow(wnd, &outmsg, sizeof(struct nxsvrmsg_move_s)); -} diff --git a/nuttx/graphics/nxmu/nx_openwindow.c b/nuttx/graphics/nxmu/nx_openwindow.c deleted file mode 100644 index 2975e365a..000000000 --- a/nuttx/graphics/nxmu/nx_openwindow.c +++ /dev/null @@ -1,131 +0,0 @@ -/**************************************************************************** - * graphics/nxmu/nx_openwindow.c - * - * Copyright (C) 2008-2009, 2011-2012 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <gnutt@nuttx.org> - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * 3. Neither the name NuttX nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - ****************************************************************************/ - -/**************************************************************************** - * Included Files - ****************************************************************************/ - -#include <nuttx/config.h> - -#include <errno.h> -#include <debug.h> - -#include <nuttx/nx/nx.h> -#include <nuttx/kmalloc.h> - -#include "nxfe.h" - -/**************************************************************************** - * Pre-Processor Definitions - ****************************************************************************/ - -/**************************************************************************** - * Private Types - ****************************************************************************/ - -/**************************************************************************** - * Private Data - ****************************************************************************/ - -/**************************************************************************** - * Public Data - ****************************************************************************/ - -/**************************************************************************** - * Private Functions - ****************************************************************************/ - -/**************************************************************************** - * Public Functions - ****************************************************************************/ - -/**************************************************************************** - * Name: nx_openwindow - * - * Description: - * Create a new window. - * - * Input Parameters: - * handle - The handle returned by nx_connect - * cb - Callbacks used to process windo events - * arg - User provided value that will be returned with NX callbacks. - * - * Return: - * Success: A non-NULL handle used with subsequent NX accesses - * Failure: NULL is returned and errno is set appropriately - * - ****************************************************************************/ - -NXWINDOW nx_openwindow(NXHANDLE handle, FAR const struct nx_callback_s *cb, - FAR void *arg) -{ - FAR struct nxbe_window_s *wnd; - int ret; - -#ifdef CONFIG_DEBUG - if (!handle || !cb) - { - errno = EINVAL; - return NULL; - } -#endif - - /* Pre-allocate the window structure */ - - wnd = (FAR struct nxbe_window_s *)kzalloc(sizeof(struct nxbe_window_s)); - if (!wnd) - { - errno = ENOMEM; - return NULL; - } - - /* Then let nxfe_constructwindow do the rest */ - - ret = nxfe_constructwindow(handle, wnd, cb, arg); - if (ret < 0) - { - /* An error occurred, the window has been freed */ - - return NULL; - } - - /* Return the uninitialized window reference. Since the server - * serializes all operations, we can be assured that the window will - * be initialized before the first operation on the window. - */ - - return (NXWINDOW)wnd; -} - diff --git a/nuttx/graphics/nxmu/nx_raise.c b/nuttx/graphics/nxmu/nx_raise.c deleted file mode 100644 index 4f51810f1..000000000 --- a/nuttx/graphics/nxmu/nx_raise.c +++ /dev/null @@ -1,98 +0,0 @@ -/**************************************************************************** - * graphics/nxmu/nx_raise.c - * - * Copyright (C) 2008-2009, 2011-2012 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <gnutt@nuttx.org> - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * 3. Neither the name NuttX nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - ****************************************************************************/ - -/**************************************************************************** - * Included Files - ****************************************************************************/ - -#include <nuttx/config.h> - -#include <errno.h> -#include <debug.h> - -#include <nuttx/nx/nx.h> -#include "nxfe.h" - -/**************************************************************************** - * Pre-Processor Definitions - ****************************************************************************/ - -/**************************************************************************** - * Private Types - ****************************************************************************/ - -/**************************************************************************** - * Private Data - ****************************************************************************/ - -/**************************************************************************** - * Public Data - ****************************************************************************/ - -/**************************************************************************** - * Private Functions - ****************************************************************************/ - -/**************************************************************************** - * Public Functions - ****************************************************************************/ - -/**************************************************************************** - * Name: nx_raise - * - * Description: - * Bring the specified window to the top of the display. - * - * Input parameters: - * hwnd - the window to be raised - * - * Returned value: - * OK on success; ERROR on failure with errno set appropriately - * - ****************************************************************************/ - -int nx_raise(NXWINDOW hwnd) -{ - FAR struct nxbe_window_s *wnd = (FAR struct nxbe_window_s *)hwnd; - struct nxsvrmsg_raise_s outmsg; - - /* Send the RAISE message */ - - outmsg.msgid = NX_SVRMSG_RAISE; - outmsg.wnd = wnd; - - return nxmu_sendwindow(wnd, &outmsg, sizeof(struct nxsvrmsg_raise_s)); -} - diff --git a/nuttx/graphics/nxmu/nx_releasebkgd.c b/nuttx/graphics/nxmu/nx_releasebkgd.c deleted file mode 100644 index 972585663..000000000 --- a/nuttx/graphics/nxmu/nx_releasebkgd.c +++ /dev/null @@ -1,105 +0,0 @@ -/**************************************************************************** - * graphics/nxmu/nx_releasebkgd.c - * - * Copyright (C) 2008-2009, 2011-2012 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <gnutt@nuttx.org> - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * 3. Neither the name NuttX nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - ****************************************************************************/ - -/**************************************************************************** - * Included Files - ****************************************************************************/ - -#include <nuttx/config.h> - -#include <errno.h> -#include <debug.h> - -#include <nuttx/nx/nx.h> -#include "nxfe.h" - -/**************************************************************************** - * Pre-Processor Definitions - ****************************************************************************/ - -/**************************************************************************** - * Private Types - ****************************************************************************/ - -/**************************************************************************** - * Private Data - ****************************************************************************/ - -/**************************************************************************** - * Public Data - ****************************************************************************/ - -/**************************************************************************** - * Private Functions - ****************************************************************************/ - -/**************************************************************************** - * Public Functions - ****************************************************************************/ - -/**************************************************************************** - * Name: nx_releasebkgd - * - * Description: - * Release the background window previously acquired using nx_openbgwindow - * and return control of the background to NX. - * - * Input Parameters: - * hwnd - The handle returned (indirectly) by nx_requestbkgd - * - * Return: - * OK on success; ERROR on failure with errno set appropriately - * - ****************************************************************************/ - -int nx_releasebkgd(NXWINDOW hwnd) -{ - FAR struct nxbe_window_s *wnd = (FAR struct nxbe_window_s *)hwnd; - struct nxsvrmsg_releasebkgd_s outmsg; - -#ifdef CONFIG_DEBUG - if (!wnd) - { - errno = EINVAL; - return ERROR; - } -#endif - - /* Request access to the background window from the server */ - - outmsg.msgid = NX_SVRMSG_RELEASEBKGD; - return nxmu_sendserver(wnd->conn, &outmsg, sizeof(struct nxsvrmsg_releasebkgd_s)); -} - diff --git a/nuttx/graphics/nxmu/nx_requestbkgd.c b/nuttx/graphics/nxmu/nx_requestbkgd.c deleted file mode 100644 index c8f71ab2a..000000000 --- a/nuttx/graphics/nxmu/nx_requestbkgd.c +++ /dev/null @@ -1,136 +0,0 @@ -/**************************************************************************** - * graphics/nxmu/nx_requestbkgd.c - * - * Copyright (C) 2008-2009, 2011-2012 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <gnutt@nuttx.org> - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * 3. Neither the name NuttX nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - ****************************************************************************/ - -/**************************************************************************** - * Included Files - ****************************************************************************/ - -#include <nuttx/config.h> - -#include <errno.h> -#include <debug.h> - -#include <nuttx/nx/nx.h> -#include "nxfe.h" - -/**************************************************************************** - * Pre-Processor Definitions - ****************************************************************************/ - -/**************************************************************************** - * Private Types - ****************************************************************************/ - -/**************************************************************************** - * Private Data - ****************************************************************************/ - -/**************************************************************************** - * Public Data - ****************************************************************************/ - -/**************************************************************************** - * Private Functions - ****************************************************************************/ - -/**************************************************************************** - * Public Functions - ****************************************************************************/ - -/**************************************************************************** - * Name: nx_requestbkgd - * - * Description: - * NX normally controls a separate window called the background window. - * It repaints the window as necessary using only a solid color fill. The - * background window always represents the entire screen and is always - * below other windows. It is useful for an application to control the - * background window in the following conditions: - * - * - If you want to implement a windowless solution. The single screen - * can be used to creat a truly simple graphic environment. In this - * case, you should probably also de-select CONFIG_NX_MULTIUSER as well. - * - When you want more on the background than a solid color. For - * example, if you want an image in the background, or animations in the - * background, or live video, etc. - * - * This API only requests the handle of the background window. That - * handle will be returned asynchronously in a subsequent position and - * redraw callbacks. - * - * - * Cautions: - * - The following should never be called using the background window. - * They are guaranteed to cause severe crashes: - * - * nx_setposition, nx_setsize, nx_raise, nx_lower. - * - * - Neither nx_opengbwindow or nx_closebgwindow should be called more than - * once. Multiple instances of the background window are not supported. - * - * Input Parameters: - * handle - The handle returned by nx_connect - * cb - Callbacks to use for processing background window events - * arg - User provided argument (see nx_openwindow, nx_constructwindow) - * - * Return: - * OK: Success; ERROR of failure with errno set appropriately. - * - ****************************************************************************/ - -int nx_requestbkgd(NXHANDLE handle, FAR const struct nx_callback_s *cb, - FAR void *arg) -{ - FAR struct nxfe_conn_s *conn = (FAR struct nxfe_conn_s *)handle; - struct nxsvrmsg_requestbkgd_s outmsg; - -#ifdef CONFIG_DEBUG - if (!conn || !cb) - { - errno = EINVAL; - return ERROR; - } -#endif - - /* Request access to the background window from the server */ - - outmsg.msgid = NX_SVRMSG_REQUESTBKGD; - outmsg.conn = conn; - outmsg.cb = cb; - outmsg.arg = arg; - - return nxmu_sendserver(conn, &outmsg, sizeof(struct nxsvrmsg_requestbkgd_s)); -} - diff --git a/nuttx/graphics/nxmu/nx_setbgcolor.c b/nuttx/graphics/nxmu/nx_setbgcolor.c deleted file mode 100644 index 63fca5f55..000000000 --- a/nuttx/graphics/nxmu/nx_setbgcolor.c +++ /dev/null @@ -1,109 +0,0 @@ -/**************************************************************************** - * graphics/nxmu/nx_setbgcolor.c - * - * Copyright (C) 2008-2009, 2011-2012 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <gnutt@nuttx.org> - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * 3. Neither the name NuttX nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - ****************************************************************************/ - -/**************************************************************************** - * Included Files - ****************************************************************************/ - -#include <nuttx/config.h> - -#include <errno.h> -#include <debug.h> - -#include <nuttx/nx/nx.h> -#include "nxfe.h" - -/**************************************************************************** - * Pre-Processor Definitions - ****************************************************************************/ - -/**************************************************************************** - * Private Types - ****************************************************************************/ - -/**************************************************************************** - * Private Data - ****************************************************************************/ - -/**************************************************************************** - * Public Data - ****************************************************************************/ - -/**************************************************************************** - * Private Functions - ****************************************************************************/ - -/**************************************************************************** - * Public Functions - ****************************************************************************/ - -/**************************************************************************** - * Name: nx_setbgcolor - * - * Description: - * Set the color of the background - * - * Input Parameters: - * handle - The connection handle - * color - The color to use in the background - * - * Return: - * OK on success; ERROR on failure with errno set appropriately - * - ****************************************************************************/ - -int nx_setbgcolor(NXHANDLE handle, - nxgl_mxpixel_t color[CONFIG_NX_NPLANES]) -{ - FAR struct nxfe_conn_s *conn = (FAR struct nxfe_conn_s *)handle; - struct nxsvrmsg_setbgcolor_s outmsg; - -#ifdef CONFIG_DEBUG - if (!conn) - { - errno = EINVAL; - return ERROR; - } -#endif - - /* Format the fill command */ - - outmsg.msgid = NX_SVRMSG_SETBGCOLOR; - nxgl_colorcopy(outmsg.color, color); - - /* Forward the fill command to the server */ - - return nxmu_sendserver(conn, &outmsg, sizeof(struct nxsvrmsg_setbgcolor_s)); -} diff --git a/nuttx/graphics/nxmu/nx_setpixel.c b/nuttx/graphics/nxmu/nx_setpixel.c deleted file mode 100644 index 57fc12cc6..000000000 --- a/nuttx/graphics/nxmu/nx_setpixel.c +++ /dev/null @@ -1,118 +0,0 @@ -/**************************************************************************** - * graphics/nxmu/nx_setpixel.c - * - * Copyright (C) 2011-2012 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <gnutt@nuttx.org> - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * 3. Neither the name NuttX nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - ****************************************************************************/ - -/**************************************************************************** - * Included Files - ****************************************************************************/ - -#include <nuttx/config.h> - -#include <mqueue.h> -#include <errno.h> -#include <debug.h> - -#include <nuttx/nx/nxglib.h> -#include <nuttx/nx/nx.h> - -#include "nxfe.h" - -/**************************************************************************** - * Pre-Processor Definitions - ****************************************************************************/ - -/**************************************************************************** - * Private Types - ****************************************************************************/ - -/**************************************************************************** - * Private Data - ****************************************************************************/ - -/**************************************************************************** - * Public Data - ****************************************************************************/ - -/**************************************************************************** - * Private Functions - ****************************************************************************/ - -/**************************************************************************** - * Public Functions - ****************************************************************************/ - -/**************************************************************************** - * Name: nx_setpixel - * - * Description: - * Set a single pixel in the window to the specified color. This is simply - * a degenerate case of nx_fill(), but may be optimized in some architectures. - * - * Input Parameters: - * wnd - The window structure reference - * pos - The pixel location to be set - * col - The color to use in the set - * - * Return: - * OK on success; ERROR on failure with errno set appropriately - * - ****************************************************************************/ - -int nx_setpixel(NXWINDOW hwnd, FAR const struct nxgl_point_s *pos, - nxgl_mxpixel_t color[CONFIG_NX_NPLANES]) -{ - FAR struct nxbe_window_s *wnd = (FAR struct nxbe_window_s *)hwnd; - struct nxsvrmsg_setpixel_s outmsg; - -#ifdef CONFIG_DEBUG - if (!wnd || !pos || !color) - { - set_errno(EINVAL); - return ERROR; - } -#endif - - /* Format the fill command */ - - outmsg.msgid = NX_SVRMSG_SETPIXEL; - outmsg.wnd = wnd; - outmsg.pos.x = pos->x; - outmsg.pos.y = pos->y; - - nxgl_colorcopy(outmsg.color, color); - - /* Forward the fill command to the server */ - - return nxmu_sendwindow(wnd, &outmsg, sizeof(struct nxsvrmsg_setpixel_s)); -} diff --git a/nuttx/graphics/nxmu/nx_setposition.c b/nuttx/graphics/nxmu/nx_setposition.c deleted file mode 100644 index 75b33757a..000000000 --- a/nuttx/graphics/nxmu/nx_setposition.c +++ /dev/null @@ -1,108 +0,0 @@ -/**************************************************************************** - * graphics/nxmu/nx_setposition.c - * - * Copyright (C) 2008-2009, 2011-2012 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <gnutt@nuttx.org> - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * 3. Neither the name NuttX nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - ****************************************************************************/ - -/**************************************************************************** - * Included Files - ****************************************************************************/ - -#include <nuttx/config.h> - -#include <errno.h> -#include <debug.h> - -#include <nuttx/nx/nx.h> -#include "nxfe.h" - -/**************************************************************************** - * Pre-Processor Definitions - ****************************************************************************/ - -/**************************************************************************** - * Private Types - ****************************************************************************/ - -/**************************************************************************** - * Private Data - ****************************************************************************/ - -/**************************************************************************** - * Public Data - ****************************************************************************/ - -/**************************************************************************** - * Private Functions - ****************************************************************************/ - -/**************************************************************************** - * Public Functions - ****************************************************************************/ - -/**************************************************************************** - * Name: nx_setposition - * - * Description: - * Set the position and size for the selected window - * - * Input Parameters: - * hwnd - The window handle - * pos - The new position of the window - * - * Return: - * OK on success; ERROR on failure with errno set appropriately - * - ****************************************************************************/ - -int nx_setposition(NXWINDOW hwnd, FAR const struct nxgl_point_s *pos) -{ - FAR struct nxbe_window_s *wnd = (FAR struct nxbe_window_s *)hwnd; - struct nxsvrmsg_setposition_s outmsg; - -#ifdef CONFIG_DEBUG - if (!wnd || !pos) - { - errno = EINVAL; - return ERROR; - } -#endif - - /* Inform the server of the changed position */ - - outmsg.msgid = NX_SVRMSG_SETPOSITION; - outmsg.wnd = wnd; - outmsg.pos.x = pos->x; - outmsg.pos.y = pos->y; - - return nxmu_sendwindow(wnd, &outmsg, sizeof(struct nxsvrmsg_setposition_s)); -} diff --git a/nuttx/graphics/nxmu/nx_setsize.c b/nuttx/graphics/nxmu/nx_setsize.c deleted file mode 100644 index 5f538bccc..000000000 --- a/nuttx/graphics/nxmu/nx_setsize.c +++ /dev/null @@ -1,108 +0,0 @@ -/**************************************************************************** - * graphics/nxmu/nx_setsize.c - * - * Copyright (C) 2008-2009, 2011-2012 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <gnutt@nuttx.org> - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * 3. Neither the name NuttX nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - ****************************************************************************/ - -/**************************************************************************** - * Included Files - ****************************************************************************/ - -#include <nuttx/config.h> - -#include <errno.h> -#include <debug.h> - -#include <nuttx/nx/nx.h> -#include "nxfe.h" - -/**************************************************************************** - * Pre-Processor Definitions - ****************************************************************************/ - -/**************************************************************************** - * Private Types - ****************************************************************************/ - -/**************************************************************************** - * Private Data - ****************************************************************************/ - -/**************************************************************************** - * Public Data - ****************************************************************************/ - -/**************************************************************************** - * Private Functions - ****************************************************************************/ - -/**************************************************************************** - * Public Functions - ****************************************************************************/ - -/**************************************************************************** - * Name: nx_setsize - * - * Description: - * Set the size of the selected window - * - * Input Parameters: - * hwnd - The window handle - * size - The new size of the window. - * - * Return: - * OK on success; ERROR on failure with errno set appropriately - * - ****************************************************************************/ - -int nx_setsize(NXWINDOW hwnd, FAR const struct nxgl_size_s *size) -{ - FAR struct nxbe_window_s *wnd = (FAR struct nxbe_window_s *)hwnd; - struct nxsvrmsg_setsize_s outmsg; - -#ifdef CONFIG_DEBUG - if (!wnd || !size) - { - errno = EINVAL; - return ERROR; - } -#endif - - /* Then inform the server of the changed position */ - - outmsg.msgid = NX_SVRMSG_SETSIZE; - outmsg.wnd = wnd; - outmsg.size.w = size->w; - outmsg.size.h = size->h; - - return nxmu_sendwindow(wnd, &outmsg, sizeof(struct nxsvrmsg_setsize_s)); -} diff --git a/nuttx/graphics/nxmu/nxfe.h b/nuttx/graphics/nxmu/nxfe.h deleted file mode 100644 index b9e02616c..000000000 --- a/nuttx/graphics/nxmu/nxfe.h +++ /dev/null @@ -1,754 +0,0 @@ -/**************************************************************************** - * graphics/nxmu/nxfe.h - * - * Copyright (C) 2008-2012 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <gnutt@nuttx.org> - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * 3. Neither the name NuttX nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - ****************************************************************************/ - -#ifndef __GRAPHICS_NXMU_NXFE_H -#define __GRAPHICS_NXMU_NXFE_H - -/**************************************************************************** - * Included Files - ****************************************************************************/ - -#include <nuttx/config.h> - -#include <stdint.h> -#include <stdbool.h> -#include <mqueue.h> -#include <semaphore.h> - -#include <nuttx/nx/nx.h> - -#include "nxbe.h" - -/**************************************************************************** - * Pre-Processor Definitions - ****************************************************************************/ - -/* Configuration ************************************************************/ - -#ifdef CONFIG_DISABLE_MQUEUE -# error "Message queues are disabled(CONFIG_DISABLE_MQUEUE)" -#endif - -#ifndef CONFIG_NX_MXSERVERMSGS -# define CONFIG_NX_MXSERVERMSGS 32 /* Number of pending messages in server MQ */ -#endif - -#ifndef CONFIG_NX_MXCLIENTMSGS -# define CONFIG_NX_MXCLIENTMSGS 16 /* Number of pending messages in each client MQ */ -#endif - -/* Used to create unique client MQ name */ - -#define NX_CLIENT_MQNAMEFMT "/dev/nxc%d" -#define NX_CLIENT_MXNAMELEN (16) - -#define NX_MXSVRMSGLEN (64) /* Maximum size of a client->server command */ -#define NX_MXEVENTLEN (64) /* Maximum size of an event */ -#define NX_MXCLIMSGLEN (64) /* Maximum size of a server->client message */ - -/* Handy macros */ - -#define nxmu_semgive(sem) sem_post(sem) /* To match nxmu_semtake() */ - -/**************************************************************************** - * Public Types - ****************************************************************************/ - -/* Client/Connection structures *********************************************/ - -/* Client state */ - -enum nx_clistate_e -{ - NX_CLISTATE_NOTCONNECTED = 0, /* Waiting for server to acknowledge connection */ - NX_CLISTATE_CONNECTED, /* Connection established (normal state) */ - NX_CLISTATE_DISCONNECT_PENDING, /* Waiting for server to acknowledge disconnect */ -}; - -/* This structure represents a connection between the client and the server */ - -struct nxfe_conn_s -{ - /* This number uniquely identifies the client */ - - int cid; /* Client ID (CID) */ - uint8_t state; /* See enum nx_clistate_e */ - - /* These are only usable on the client side of the connection */ - - mqd_t crdmq; /* MQ to read from the server (may be non-blocking) */ - mqd_t cwrmq; /* MQ to write to the server (blocking) */ - - /* These are only usable on the server side of the connection */ - - mqd_t swrmq; /* MQ to write to the client */ -}; - -/* Server state structure ***************************************************/ - -/* This the server 'front-end' state structure */ - -struct nxfe_state_s -{ - /* The 'back-end' window status. Must be first so that instances of - * struct nxbe_state_s can be simply cast to an instance of struct - * nxfe_state_s - */ - - struct nxbe_state_s be; - - /* This is the server's connection to iself */ - - struct nxfe_conn_s conn; -}; - -/* Message IDs **************************************************************/ - -enum nxmsg_e -{ - /* Server-to-Client Messages **********************************************/ - - NX_CLIMSG_CONNECTED = 1, /* The server has completed the connection and is ready */ - NX_CLIMSG_DISCONNECTED, /* The server has disconnected */ - NX_CLIMSG_REDRAW, /* Re-draw the specified window */ - NX_CLIMSG_NEWPOSITION, /* New window size/position */ - NX_CLIMSG_MOUSEIN, /* New mouse positional data available for window */ - NX_CLIMSG_KBDIN, /* New keypad input available for window */ - NX_CLIMSG_BLOCKED, /* The window is blocked */ - - /* Client-to-Server Messages **********************************************/ - - NX_SVRMSG_CONNECT, /* Establish connection with new NX server client */ - NX_SVRMSG_DISCONNECT, /* Tear down connection with terminating client */ - NX_SVRMSG_OPENWINDOW, /* Create a new window */ - NX_SVRMSG_CLOSEWINDOW, /* Close an existing window */ - NX_SVRMSG_BLOCKED, /* The window is blocked */ - NX_SVRMSG_REQUESTBKGD, /* Open the background window */ - NX_SVRMSG_RELEASEBKGD, /* Release the background window */ - NX_SVRMSG_SETPOSITION, /* Window position has changed */ - NX_SVRMSG_SETSIZE, /* Window size has changed */ - NX_SVRMSG_GETPOSITION, /* Get the current window position and size */ - NX_SVRMSG_RAISE, /* Move the window to the top */ - NX_SVRMSG_LOWER, /* Move the window to the bottom */ - NX_SVRMSG_SETPIXEL, /* Set a single pixel in the window with a color */ - NX_SVRMSG_FILL, /* Fill a rectangle in the window with a color */ - NX_SVRMSG_GETRECTANGLE, /* Get a rectangular region in the window */ - NX_SVRMSG_FILLTRAP, /* Fill a trapezoidal region in the window with a color */ - NX_SVRMSG_MOVE, /* Move a rectangular region within the window */ - NX_SVRMSG_BITMAP, /* Copy a rectangular bitmap into the window */ - NX_SVRMSG_SETBGCOLOR, /* Set the color of the background */ - NX_SVRMSG_MOUSEIN, /* New mouse report from mouse client */ - NX_SVRMSG_KBDIN, /* New keyboard report from keyboard client */ -}; - -/* Message priorities -- they must all be at the same priority to assure - * FIFO execution. - */ - -#define NX_CLIMSG_PRIO 42 -#define NX_SVRMSG_PRIO 42 - -/* Server-to-Client Message Structures **************************************/ - -/* The generic message structure. All messages begin with this form. */ - -struct nxclimsg_s -{ - uint32_t msgid; /* Any of nxclimsg_e */ -}; - -/* The server is now connected */ - -struct nxclimsg_connected_s -{ - uint32_t msgid; /* NX_CLIMSG_REDRAW_CONNECTED */ -}; - -/* The server is now disconnected */ - -struct nxclimsg_disconnected_s -{ - uint32_t msgid; /* NX_CLIMSG_REDRAW_DISCONNECTED */ -}; - -/* This message is received when a requested window has been opened. If wnd is NULL - * then errorcode is the errno value that provides the explanation of the error. - */ - -struct nxclimsg_redraw_s -{ - uint32_t msgid; /* NX_CLIMSG_REDRAW */ - FAR struct nxbe_window_s *wnd; /* The handle to the window to redraw in */ - FAR struct nxgl_rect_s rect; /* The rectangle to be redrawn */ - bool more; /* true: more redraw messages follow */ -}; - -/* This message informs the client of the new size or position of the window */ - -struct nxclimsg_newposition_s -{ - uint32_t msgid; /* NX_CLIMSG_NEWPOSITION */ - FAR struct nxbe_window_s *wnd; /* The window whose position/size has changed */ - FAR struct nxgl_size_s size; /* The current window size */ - FAR struct nxgl_point_s pos; /* The current window position */ - FAR struct nxgl_rect_s bounds; /* Size of screen */ -}; - -/* This message reports a new mouse event to a particular window */ - -#ifdef CONFIG_NX_MOUSE -struct nxclimsg_mousein_s -{ - uint32_t msgid; /* NX_SVRMSG_MOUSEIN */ - FAR struct nxbe_window_s *wnd; /* The handle of window receiving mouse input */ - struct nxgl_point_s pos; /* Mouse X/Y position */ - uint8_t buttons; /* Mouse button set */ -}; -#endif - -/* This message reports a new keypad event to a particular window */ - -#ifdef CONFIG_NX_KBD -struct nxclimsg_kbdin_s -{ - uint32_t msgid; /* NX_CLIMSG_KBDIN */ - FAR struct nxbe_window_s *wnd; /* The handle of window receiving keypad input */ - uint8_t nch; /* Number of characters received */ - uint8_t ch[1]; /* Array of received characters */ -}; -#endif - -/* This messsage confirms that that all queued window messages have been - * flushed and that the all further window messages are blocked. - */ - -struct nxclimsg_blocked_s -{ - uint32_t msgid; /* NX_CLIMSG_BLOCKED */ - FAR struct nxbe_window_s *wnd; /* The window that is blocked */ - FAR void *arg; /* User argument */ -}; - -/* Client-to-Server Message Structures **************************************/ - -/* The generic message structure. All server messages begin with this form. Also - * messages that have no additional data fields use this structure. This includes: - * NX_SVRMSG_CONNECT and NX_SVRMSG_DISCONNECT. - */ - -struct nxsvrmsg_s /* Generic server message */ -{ - uint32_t msgid; /* One of enum nxsvrmsg_e */ - FAR struct nxfe_conn_s *conn; /* The specific connection sending the message */ -}; - -/* This message requests the server to create a new window */ - -struct nxsvrmsg_openwindow_s -{ - uint32_t msgid; /* NX_SVRMSG_OPENWINDOW */ - FAR struct nxbe_window_s *wnd; /* The pre-allocated window structure */ -}; - -/* This message informs the server that client wishes to close a window */ - -struct nxsvrmsg_closewindow_s -{ - uint32_t msgid; /* NX_SVRMSG_CLOSEWINDOW */ - FAR struct nxbe_window_s *wnd; /* The window to be closed */ -}; - -/* This messsage is just a marker that is queued and forwarded by the server - * (NX_CLIMSG_BLOCKED). Messages to the window were blocked just after this - * message was sent. Receipt of this message indicates both that the window - * blocked and that there are no further queued messages for the window. - */ - -struct nxsvrmsg_blocked_s -{ - uint32_t msgid; /* NX_SVRMSG_BLOCKED */ - FAR struct nxbe_window_s *wnd; /* The window that is blocked */ - FAR void *arg; /* User argument */ -}; - -/* This message requests the server to create a new window */ - -struct nxsvrmsg_requestbkgd_s -{ - uint32_t msgid; /* NX_SVRMSG_REQUESTBKGD */ - FAR struct nxfe_conn_s *conn; /* The specific connection sending the message */ - FAR const struct nx_callback_s *cb; /* Event handling callbacks */ - FAR void *arg; /* Client argument used with callbacks */ -}; - -/* This message informs the server that client wishes to close a window */ - -struct nxsvrmsg_releasebkgd_s -{ - uint32_t msgid; /* NX_SVRMSG_RELEASEBKGD */ -}; - -/* This message informs the server that the size or position of the window has changed */ - -struct nxsvrmsg_setposition_s -{ - uint32_t msgid; /* NX_SVRMSG_SETPOSITION */ - FAR struct nxbe_window_s *wnd; /* The window whose position/size has changed */ - FAR struct nxgl_point_s pos; /* The new window position */ -}; - -/* This message informs the server that the size or position of the window has changed */ - -struct nxsvrmsg_setsize_s -{ - uint32_t msgid; /* NX_SVRMSG_SETSIZE */ - FAR struct nxbe_window_s *wnd; /* The window whose position/size has changed */ - FAR struct nxgl_size_s size; /* The new window size */ -}; - -/* This message informs the server that the size or position of the window has changed */ - -struct nxsvrmsg_getposition_s -{ - uint32_t msgid; /* NX_SVRMSG_FETPOSITION */ - FAR struct nxbe_window_s *wnd; /* The window whose position/size has changed */ -}; - -/* This message informs the server to raise this window to the top of the display */ - -struct nxsvrmsg_raise_s -{ - uint32_t msgid; /* NX_SVRMSG_RAISE */ - FAR struct nxbe_window_s *wnd; /* The window to be raised */ -}; - -/* This message informs the server to lower this window to the bottom of the display */ - -struct nxsvrmsg_lower_s -{ - uint32_t msgid; /* NX_SVRMSG_LOWER */ - FAR struct nxbe_window_s *wnd; /* The window to be lowered */ -}; - -/* Set a single pixel in the window with a color */ - -struct nxsvrmsg_setpixel_s -{ - uint32_t msgid; /* NX_SVRMSG_SETPIXEL */ - FAR struct nxbe_window_s *wnd; /* The window to fill */ - struct nxgl_point_s pos; /* The position of the pixel in the window */ - nxgl_mxpixel_t color[CONFIG_NX_NPLANES]; /* Color to use in the fill */ -}; - -/* Fill a rectangle in the window with a color */ - -struct nxsvrmsg_fill_s -{ - uint32_t msgid; /* NX_SVRMSG_FILL */ - FAR struct nxbe_window_s *wnd; /* The window to fill */ - struct nxgl_rect_s rect; /* The rectangle in the window to fill */ - nxgl_mxpixel_t color[CONFIG_NX_NPLANES]; /* Color to use in the fill */ -}; - -/* Get a rectangular region from the the window */ - -struct nxsvrmsg_getrectangle_s -{ - uint32_t msgid; /* NX_SVRMSG_GETRECTANGLE */ - FAR struct nxbe_window_s *wnd; /* The window to get from */ - struct nxgl_rect_s rect; /* The rectangle in the window to get from */ - unsigned int plane; /* The plane number to read */ - FAR uint8_t *dest; /* Memory location in which to store the graphics data */ - unsigned int deststride; /* Width of the destination memory in bytes */ - sem_t *sem_done; /* Semaphore to report when command is done. */ -}; - -/* Fill a trapezoidal region in the window with a color */ - -struct nxsvrmsg_filltrapezoid_s -{ - uint32_t msgid; /* NX_SVRMSG_FILLTRAP */ - FAR struct nxbe_window_s *wnd; /* The window to fill */ - FAR struct nxgl_rect_s clip; /* The clipping window */ - struct nxgl_trapezoid_s trap; /* The trapezoidal region in the window to fill */ - nxgl_mxpixel_t color[CONFIG_NX_NPLANES]; /* Color to use in the fill */ -}; - -/* Move a rectangular region within the window */ - -struct nxsvrmsg_move_s -{ - uint32_t msgid; /* NX_SVRMSG_MOVE */ - FAR struct nxbe_window_s *wnd; /* The window within which the move is done */ - struct nxgl_rect_s rect; /* Describes the rectangular region to move */ - struct nxgl_point_s offset; /* The offset to move the region */ -}; - -/* Copy a rectangular bitmap into the window */ - -struct nxsvrmsg_bitmap_s -{ - uint32_t msgid; /* NX_SVRMSG_BITMAP */ - FAR struct nxbe_window_s *wnd; /* The window with will receive the bitmap image */ - struct nxgl_rect_s dest; /* Destination location of the bitmap in the window */ - FAR const void *src[CONFIG_NX_NPLANES]; /* The start of the source image. */ - struct nxgl_point_s origin; /* Offset into the source image data */ - unsigned int stride; /* The width of the full source image in pixels. */ - sem_t *sem_done; /* Semaphore to report when command is done. */ -}; - -/* Set the color of the background */ - -struct nxsvrmsg_setbgcolor_s -{ - uint32_t msgid; /* NX_SVRMSG_SETBGCOLOR */ - nxgl_mxpixel_t color[CONFIG_NX_NPLANES]; /* Color to use in the background */ -}; - -/* This message reports a new mouse event from a hardware controller attached to - * the server as a regular client (this message may have even been sent from an - * interrupt handler). - */ - -#ifdef CONFIG_NX_MOUSE -struct nxsvrmsg_mousein_s -{ - uint32_t msgid; /* NX_SVRMSG_MOUSEIN */ - struct nxgl_point_s pt; /* Mouse X/Y position */ - uint8_t buttons; /* Mouse button set */ -}; -#endif - -/* This message reports a new keyboard event from a hardware controller attached to - * some kind of keypad (this message may have even been sent from an - * interrupt handler). - */ - -#ifdef CONFIG_NX_KBD -struct nxsvrmsg_kbdin_s -{ - uint32_t msgid; /* NX_SVRMSG_KBDIN */ - uint8_t nch ; /* Number of characters received */ - uint8_t ch[1]; /* Array of received characters */ -}; -#endif - -/**************************************************************************** - * Public Data - ****************************************************************************/ - -#undef EXTERN -#if defined(__cplusplus) -#define EXTERN extern "C" -extern "C" { -#else -#define EXTERN extern -#endif - -/**************************************************************************** - * Public Functions - ****************************************************************************/ - -/**************************************************************************** - * Name: nxfe_constructwindow - * - * Description: - * This function is the same a nx_openwindow EXCEPT that the client provides - * the window structure instance. nx_constructwindow will initialize the - * the pre-allocated window structure for use by NX. This function is - * provided in addition to nx_open window in order to support a kind of - * inheritance: The caller's window structure may include extensions that - * are not visible to NX. - * - * NOTE: wnd must have been allocated using malloc() (or related allocators) - * Once provided to nxfe_constructwindow() that memory is owned and managed - * by NX. On certain error conditions or when the window is closed, NX will - * free() the window. - * - * Input Parameters: - * handle - The handle returned by nx_connect - * wnd - The pre-allocated window structure. - * cb - Callbacks used to process window events - * arg - User provided value that will be returned with NX callbacks. - * - * Return: - * OK on success; ERROR on failure with errno set appropriately. In the - * case of ERROR, NX will have dealloated the pre-allocated window. - * - ****************************************************************************/ - -EXTERN int nxfe_constructwindow(NXHANDLE handle, - FAR struct nxbe_window_s *wnd, - FAR const struct nx_callback_s *cb, - FAR void *arg); - -/**************************************************************************** - * Name: nxmu_semtake - * - * Description: - * Take the semaphore, handling EINTR wakeups. See the nxmu_semgive macro. - * - * Input Parameters: - * sem - the semaphore to be taken. - * - * Return: - * None - * - ****************************************************************************/ - -EXTERN void nxmu_semtake(sem_t *sem); - -/**************************************************************************** - * Name: nxmu_sendserver - * - * Description: - * Send a message to the server at NX_SVRMSG_PRIO priority - * - * Input Parameters: - * conn - A pointer to the server connection structure - * msg - A pointer to the message to send - * msglen - The length of the message in bytes. - * - * Return: - * OK on success; ERROR on failure with errno set appropriately - * - ****************************************************************************/ - -EXTERN int nxmu_sendserver(FAR struct nxfe_conn_s *conn, - FAR const void *msg, size_t msglen); - -/**************************************************************************** - * Name: nxmu_sendwindow - * - * Description: - * Send a message to the server detined for a specific window at - * NX_SVRMSG_PRIO priority - * - * Input Parameters: - * wnd - A pointer to the back-end window structure - * msg - A pointer to the message to send - * msglen - The length of the message in bytes. - * - * Return: - * OK on success; ERROR on failure with errno set appropriately - * - ****************************************************************************/ - -EXTERN int nxmu_sendwindow(FAR struct nxbe_window_s *wnd, FAR const void *msg, - size_t msglen); - -/**************************************************************************** - * Name: nxmu_sendclient - * - * Description: - * Send a message to the client at NX_CLIMSG_PRIO priority - * - * Input Parameters: - * conn - A pointer to the server connection structure - * msg - A pointer to the message to send - * msglen - The length of the message in bytes. - * - * Return: - * OK on success; ERROR on failure with errno set appropriately - * - ****************************************************************************/ - -EXTERN int nxmu_sendclient(FAR struct nxfe_conn_s *conn, - FAR const void *msg, size_t msglen); - -/**************************************************************************** - * Name: nxmu_sendclientwindow - * - * Description: - * Send a message to the client at NX_CLIMSG_PRIO priority - * - * Input Parameters: - * wnd - A pointer to the back-end window structure - * msg - A pointer to the message to send - * msglen - The length of the message in bytes. - * - * Return: - * OK on success; ERROR on failure with errno set appropriately - * - ****************************************************************************/ - -int nxmu_sendclientwindow(FAR struct nxbe_window_s *wnd, FAR const void *msg, - size_t msglen); - -/**************************************************************************** - * Name: nxmu_openwindow - * - * Description: - * Create a new window. - * - * Input Parameters: - * be - The back-end status structure - * wnd - The pre-allocated window structure to be initialized [IN/OUT] - * - * Return: - * None - * - ****************************************************************************/ - -EXTERN void nxmu_openwindow(FAR struct nxbe_state_s *be, - FAR struct nxbe_window_s *wnd); - -/**************************************************************************** - * Name: nxmu_requestbkgd - * - * Description: - * Perform the server-side operation for the nx_requestbkgd operation: - * Give the client control of the background window connection and receipt - * of all background window callbacks. - * - * conn - The client containing connection information [IN] - * be - The server state structure [IN] - * cb - Callbacks used to process window events - * arg - User provided argument (see nx_openwindow, nx_constructwindow) - * - * Return: - * None - * - ****************************************************************************/ - -EXTERN void nxmu_requestbkgd(FAR struct nxfe_conn_s *conn, - FAR struct nxbe_state_s *be, - FAR const struct nx_callback_s *cb, - FAR void *arg); - -/**************************************************************************** - * Name: nxmu_releasebkgd - * - * Description: - * Release the background window previously acquired using nxmu_openbgwindow - * and return control of the background to NX. - * - * Input Parameters: - * fe - The front-end state structure - * - * Return: - * None - * - ****************************************************************************/ - -EXTERN void nxmu_releasebkgd(FAR struct nxfe_state_s *fe); - -/**************************************************************************** - * Name: nxfe_reportposition - * - * Descripton: - * Report the new size/position of the window. - * - ****************************************************************************/ - -EXTERN void nxfe_reportposition(FAR struct nxbe_window_s *wnd); - -/**************************************************************************** - * Name: nxfe_redrawreq - * - * Descripton: - * Request the client that has this window to redraw the rectangular region. - * - ****************************************************************************/ - -EXTERN void nxfe_redrawreq(FAR struct nxbe_window_s *wnd, - FAR const struct nxgl_rect_s *rect); - -/**************************************************************************** - * Name: nxmu_mouseinit - * - * Description: - * Initialize with the mouse in the center of the display - * - ****************************************************************************/ - -#ifdef CONFIG_NX_MOUSE -EXTERN void nxmu_mouseinit(int x, int y); -#endif - -/**************************************************************************** - * Name: nxmu_mousereport - * - * Description: - * Report mouse position info to the specified window - * - * Input Parameters: - * wnd - The window to receive the mouse report - * - * Returned Value: - * 0: Mouse report sent; >0: Mouse report not sent; <0: An error occurred - * - ****************************************************************************/ - -#ifdef CONFIG_NX_MOUSE -EXTERN int nxmu_mousereport(struct nxbe_window_s *wnd); -#endif - -/**************************************************************************** - * Name: nxmu_mousein - * - * Description: - * New positional data has been received from the thread or interrupt - * handler that manages some kind of pointing hardware. Route that - * positional data to the appropriate window client. - * - ****************************************************************************/ - -#ifdef CONFIG_NX_MOUSE -EXTERN int nxmu_mousein(FAR struct nxfe_state_s *fe, - FAR const struct nxgl_point_s *pos, int button); -#endif - -/**************************************************************************** - * Name: nxmu_kbdin - * - * Descripton: - * New keyboard data has been received from the thread or interrupt - * handler that manages some kind of keyboard/keypad hardware. Route that - * positional data to the appropriate window client. - * - ****************************************************************************/ - -#ifdef CONFIG_NX_KBD -EXTERN void nxmu_kbdin(FAR struct nxfe_state_s *fe, uint8_t nch, FAR uint8_t *ch); -#endif - -#undef EXTERN -#if defined(__cplusplus) -} -#endif - -#endif /* __GRAPHICS_NXMU_NXFE_H */ - diff --git a/nuttx/graphics/nxmu/nxmu_constructwindow.c b/nuttx/graphics/nxmu/nxmu_constructwindow.c deleted file mode 100644 index e5f6dcc9a..000000000 --- a/nuttx/graphics/nxmu/nxmu_constructwindow.c +++ /dev/null @@ -1,137 +0,0 @@ -/**************************************************************************** - * graphics/nxmu/nx_openwindow.c - * - * Copyright (C) 2008, 2011-2012 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <gnutt@nuttx.org> - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * 3. Neither the name NuttX nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - ****************************************************************************/ - -/**************************************************************************** - * Included Files - ****************************************************************************/ - -#include <nuttx/config.h> - -#include <stdlib.h> -#include <errno.h> -#include <debug.h> - -#include <nuttx/nx/nx.h> -#include "nxfe.h" - -/**************************************************************************** - * Pre-Processor Definitions - ****************************************************************************/ - -/**************************************************************************** - * Private Types - ****************************************************************************/ - -/**************************************************************************** - * Private Data - ****************************************************************************/ - -/**************************************************************************** - * Public Data - ****************************************************************************/ - -/**************************************************************************** - * Private Functions - ****************************************************************************/ - -/**************************************************************************** - * Public Functions - ****************************************************************************/ - -/**************************************************************************** - * Name: nxfe_constructwindow - * - * Description: - * This function is the same a nx_openwindow EXCEPT that the client provides - * the window structure instance. nx_constructwindow will initialize the - * the pre-allocated window structure for use by NX. This function is - * provided in addition to nx_open window in order to support a kind of - * inheritance: The caller's window structure may include extensions that - * are not visible to NX. - * - * NOTE: wnd must have been allocated using malloc() (or related allocators) - * Once provided to nxfe_constructwindow() that memory is owned and managed - * by NX. On certain error conditions or when the window is closed, NX will - * free() the window. - * - * Input Parameters: - * handle - The handle returned by nx_connect - * wnd - The pre-allocated window structure. - * cb - Callbacks used to process window events - * arg - User provided value that will be returned with NX callbacks. - * - * Return: - * OK on success; ERROR on failure with errno set appropriately. In the - * case of ERROR, NX will have dealloated the pre-allocated window. - * - ****************************************************************************/ - -int nxfe_constructwindow(NXHANDLE handle, FAR struct nxbe_window_s *wnd, - FAR const struct nx_callback_s *cb, FAR void *arg) -{ - FAR struct nxfe_conn_s *conn = (FAR struct nxfe_conn_s *)handle; - struct nxsvrmsg_openwindow_s outmsg; - -#ifdef CONFIG_DEBUG - if (!wnd) - { - errno = EINVAL; - return ERROR; - } - - if (!conn || !cb) - { - free(wnd); - errno = EINVAL; - return ERROR; - } -#endif - - /* Setup only the connection structure, callbacks and client private data - * reference. The server will set everything else up. - */ - - wnd->conn = conn; - wnd->cb = cb; - wnd->arg = arg; - - /* Request initialization the new window from the server */ - - outmsg.msgid = NX_SVRMSG_OPENWINDOW; - outmsg.wnd = wnd; - - return nxmu_sendserver(conn, &outmsg, sizeof(struct nxsvrmsg_openwindow_s)); -} - diff --git a/nuttx/graphics/nxmu/nxmu_kbdin.c b/nuttx/graphics/nxmu/nxmu_kbdin.c deleted file mode 100644 index 0308c2bfa..000000000 --- a/nuttx/graphics/nxmu/nxmu_kbdin.c +++ /dev/null @@ -1,117 +0,0 @@ -/**************************************************************************** - * graphics/nxmu/nxmu_kbdin.c - * - * Copyright (C) 2008-2009, 2011-2012 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <gnutt@nuttx.org> - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * 3. Neither the name NuttX nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - ****************************************************************************/ - -/**************************************************************************** - * Included Files - ****************************************************************************/ - -#include <nuttx/config.h> - -#include <stdint.h> -#include <stdlib.h> -#include <errno.h> -#include <debug.h> - -#include <nuttx/nx/nx.h> -#include "nxfe.h" - -#ifdef CONFIG_NX_KBD - -/**************************************************************************** - * Pre-Processor Definitions - ****************************************************************************/ - -/**************************************************************************** - * Private Types - ****************************************************************************/ - -/**************************************************************************** - * Private Data - ****************************************************************************/ - -/**************************************************************************** - * Public Data - ****************************************************************************/ - -/**************************************************************************** - * Private Functions - ****************************************************************************/ - -/**************************************************************************** - * Public Functions - ****************************************************************************/ - -/**************************************************************************** - * Name: nxmu_kbdin - * - * Descripton: - * New keyboard data has been received from the thread or interrupt - * handler that manages some kind of keyboard/keypad hardware. Route that - * positional data to the appropriate window client. - * - ****************************************************************************/ - -void nxmu_kbdin(FAR struct nxfe_state_s *fe, uint8_t nch, FAR uint8_t *ch) -{ - FAR struct nxclimsg_kbdin_s *outmsg; - int size; - int i; - - /* Allocate a bigger message to account for the variable amount of - * character data. - */ - - size = sizeof(struct nxclimsg_kbdin_s) + nch - 1; - outmsg = (FAR struct nxclimsg_kbdin_s *)malloc(size); - if (outmsg) - { - /* Give the keypad input only to the top child */ - - outmsg->msgid = NX_CLIMSG_KBDIN; - outmsg->wnd = fe->be.topwnd; - outmsg->nch = nch; - - for (i = 0; i < nch; i++) - { - outmsg->ch[i] = ch[i]; - } - - (void)nxmu_sendclientwindow(fe->be.topwnd, outmsg, size); - free(outmsg); - } -} - -#endif /* CONFIG_NX_KBD */ - diff --git a/nuttx/graphics/nxmu/nxmu_mouse.c b/nuttx/graphics/nxmu/nxmu_mouse.c deleted file mode 100644 index 1b8f4a592..000000000 --- a/nuttx/graphics/nxmu/nxmu_mouse.c +++ /dev/null @@ -1,235 +0,0 @@ -/**************************************************************************** - * graphics/nxmu/nxmu__mouse.c - * - * Copyright (C) 2008-2009, 2011-2012 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <gnutt@nuttx.org> - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * 3. Neither the name NuttX nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - ****************************************************************************/ - -/**************************************************************************** - * Included Files - ****************************************************************************/ - -#include <nuttx/config.h> - -#include <stdint.h> -#include <errno.h> -#include <debug.h> - -#include <nuttx/nx/nxglib.h> -#include <nuttx/nx/nx.h> -#include "nxfe.h" - -#ifdef CONFIG_NX_MOUSE - -/**************************************************************************** - * Pre-Processor Definitions - ****************************************************************************/ - -/**************************************************************************** - * Private Types - ****************************************************************************/ - -/**************************************************************************** - * Private Data - ****************************************************************************/ - -static struct nxgl_point_s g_mpos; -static struct nxgl_point_s g_mrange; -static uint8_t g_mbutton; -static struct nxbe_window_s *g_mwnd; - -/**************************************************************************** - * Public Data - ****************************************************************************/ - -/**************************************************************************** - * Private Functions - ****************************************************************************/ - -/**************************************************************************** - * Public Functions - ****************************************************************************/ - -/**************************************************************************** - * Name: nxmu_mouseinit - * - * Description: - * Initialize with the mouse in the center of the display - * - ****************************************************************************/ - -void nxmu_mouseinit(int x, int y) -{ - g_mrange.x = x; - g_mrange.y = y; - g_mpos.x = x / 2; - g_mpos.y = y / 2; - g_mbutton = 0; -} - -/**************************************************************************** - * Name: nxmu_mousereport - * - * Description: - * Report mouse position info to the specified window - * - * Input Parameters: - * wnd - The window to receive the mouse report - * - * Returned Value: - * 0: Mouse report sent; >0: Mouse report not sent; <0: An error occurred - * - ****************************************************************************/ - -int nxmu_mousereport(struct nxbe_window_s *wnd) -{ - struct nxclimsg_mousein_s outmsg; - - /* Does this window support mouse callbacks? */ - - if (wnd->cb->mousein) - { - /* Yes.. Is the mouse position visible in this window? */ - - if (nxbe_visible(wnd, &g_mpos)) - { - /* Yes... Convert the mouse position to window relative - * coordinates and send it to the client - */ - - outmsg.msgid = NX_CLIMSG_MOUSEIN; - outmsg.wnd = wnd; - outmsg.buttons = g_mbutton; - nxgl_vectsubtract(&outmsg.pos, &g_mpos, &wnd->bounds.pt1); - - return nxmu_sendclientwindow(wnd, &outmsg, sizeof(struct nxclimsg_mousein_s)); - } - } - - /* No error occurred, but the mouse report was not sent */ - - return 1; -} - -/**************************************************************************** - * Name: nxmu_mousein - * - * Description: - * New positional data has been received from the thread or interrupt - * handler that manages some kind of pointing hardware. Route that - * positional data to the appropriate window client. - * - ****************************************************************************/ - -int nxmu_mousein(FAR struct nxfe_state_s *fe, - FAR const struct nxgl_point_s *pos, int buttons) -{ - struct nxbe_window_s *wnd; - nxgl_coord_t x = pos->x; - nxgl_coord_t y = pos->y; - uint8_t oldbuttons; - int ret; - - /* Clip x and y to within the bounding rectangle */ - - if (x < 0) - { - x = 0; - } - else if (x >= g_mrange.x) - { - x = g_mrange.x - 1; - } - - if (y < 0) - { - y = 0; - } - else if (y >= g_mrange.y) - { - y = g_mrange.y - 1; - } - - /* Look any change in values */ - - if (x != g_mpos.x || y != g_mpos.y || buttons != g_mbutton) - { - /* Update the mouse value */ - - oldbuttons = g_mbutton; - g_mpos.x = x; - g_mpos.y = y; - g_mbutton = buttons; - - /* If a button is already down, regard this as part of a mouse drag - * event. Pass all the following events to the window where the drag - * started in. - */ - - if (oldbuttons && g_mwnd && g_mwnd->cb->mousein) - { - struct nxclimsg_mousein_s outmsg; - outmsg.msgid = NX_CLIMSG_MOUSEIN; - outmsg.wnd = g_mwnd; - outmsg.buttons = g_mbutton; - nxgl_vectsubtract(&outmsg.pos, &g_mpos, &g_mwnd->bounds.pt1); - - return nxmu_sendclientwindow(g_mwnd, &outmsg, sizeof(struct nxclimsg_mousein_s)); - } - - /* Pick the window to receive the mouse event. Start with the top - * window and go down. Stop with the first window that gets the mouse - * report - */ - - for (wnd = fe->be.topwnd; wnd; wnd = wnd->below) - { - /* The background window normally has no callback structure (unless - * a client has taken control of the background via nx_requestbkgd()). - */ - - if (wnd->cb) - { - ret = nxmu_mousereport(wnd); - if (ret == 0) - { - break; - } - } - } - - g_mwnd = wnd; - } - - return OK; -} - -#endif /* CONFIG_NX_MOUSE */ diff --git a/nuttx/graphics/nxmu/nxmu_openwindow.c b/nuttx/graphics/nxmu/nxmu_openwindow.c deleted file mode 100644 index 395f0a770..000000000 --- a/nuttx/graphics/nxmu/nxmu_openwindow.c +++ /dev/null @@ -1,113 +0,0 @@ -/**************************************************************************** - * graphics/nxmu/nxmu_openwindow.c - * - * Copyright (C) 2008-2011 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <gnutt@nuttx.org> - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * 3. Neither the name NuttX nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - ****************************************************************************/ - -/**************************************************************************** - * Included Files - ****************************************************************************/ - -#include <nuttx/config.h> - -#include <nuttx/nx/nx.h> -#include "nxfe.h" - -/**************************************************************************** - * Pre-Processor Definitions - ****************************************************************************/ - -/**************************************************************************** - * Private Types - ****************************************************************************/ - -/**************************************************************************** - * Private Data - ****************************************************************************/ - -/**************************************************************************** - * Public Data - ****************************************************************************/ - -/**************************************************************************** - * Private Functions - ****************************************************************************/ - -/**************************************************************************** - * Public Functions - ****************************************************************************/ - -/**************************************************************************** - * Name: nxmu_openwindow - * - * Description: - * Create a new window. - * - * Input Parameters: - * be - The back-end status structure - * wnd - The pre-allocated window structure to be initialized [IN/OUT] - * - * Return: - * None - * - ****************************************************************************/ - -void nxmu_openwindow(FAR struct nxbe_state_s *be, FAR struct nxbe_window_s *wnd) -{ - /* The window structure was allocated in nx_openwindow and all fields have - * been set to zero cb and conn which were initialized on the client side. - * On the server side, we need only initialize a few more the non zero fields - * and insert the new window at the top of the display. - */ - - wnd->be = be; - - /* Now, insert the new window at the top on the display. topwind is - * never NULL (it may point only at the background window, however) - */ - - wnd->above = NULL; - wnd->below = be->topwnd; - - be->topwnd->above = wnd; - be->topwnd = wnd; - - /* Report the initial size/position of the window to the client */ - - nxfe_reportposition(wnd); - - /* Provide the initial mouse settings to the client */ - -#ifdef CONFIG_NX_MOUSE - nxmu_mousereport(wnd); -#endif -} diff --git a/nuttx/graphics/nxmu/nxmu_redrawreq.c b/nuttx/graphics/nxmu/nxmu_redrawreq.c deleted file mode 100644 index f54aa85a7..000000000 --- a/nuttx/graphics/nxmu/nxmu_redrawreq.c +++ /dev/null @@ -1,93 +0,0 @@ -/**************************************************************************** - * graphics/nxmu/nxmu_redrawreq.c - * - * Copyright (C) 2008-2009, 2011-2012 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <gnutt@nuttx.org> - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * 3. Neither the name NuttX nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - ****************************************************************************/ - -/**************************************************************************** - * Included Files - ****************************************************************************/ - -#include <nuttx/config.h> - -#include <stdbool.h> -#include <errno.h> -#include <debug.h> - -#include <nuttx/nx/nx.h> -#include "nxfe.h" - -/**************************************************************************** - * Pre-Processor Definitions - ****************************************************************************/ - -/**************************************************************************** - * Private Types - ****************************************************************************/ - -/**************************************************************************** - * Private Data - ****************************************************************************/ - -/**************************************************************************** - * Public Data - ****************************************************************************/ - -/**************************************************************************** - * Private Functions - ****************************************************************************/ - -/**************************************************************************** - * Public Functions - ****************************************************************************/ - -/**************************************************************************** - * Name: nxfe_redrawreq - * - * Descripton: - * Request the client that has this window to redraw the rectangular region. - * - ****************************************************************************/ - -void nxfe_redrawreq(FAR struct nxbe_window_s *wnd, FAR const struct nxgl_rect_s *rect) -{ - struct nxclimsg_redraw_s outmsg; - - outmsg.msgid = NX_CLIMSG_REDRAW; - outmsg.wnd = wnd; - outmsg.more = false; - nxgl_rectoffset(&outmsg.rect, rect, -wnd->bounds.pt1.x, -wnd->bounds.pt1.y); - - (void)nxmu_sendclientwindow(wnd, &outmsg, sizeof(struct nxclimsg_redraw_s)); -} - - diff --git a/nuttx/graphics/nxmu/nxmu_releasebkgd.c b/nuttx/graphics/nxmu/nxmu_releasebkgd.c deleted file mode 100644 index 4183b223d..000000000 --- a/nuttx/graphics/nxmu/nxmu_releasebkgd.c +++ /dev/null @@ -1,110 +0,0 @@ -/**************************************************************************** - * graphics/nxmu/nxmu_releasebkgd.c - * - * Copyright (C) 2008-2009, 2011 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <gnutt@nuttx.org> - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * 3. Neither the name NuttX nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - ****************************************************************************/ - -/**************************************************************************** - * Included Files - ****************************************************************************/ - -#include <nuttx/config.h> - -#include <errno.h> -#include <debug.h> - -#include <nuttx/nx/nx.h> -#include "nxfe.h" - -/**************************************************************************** - * Pre-Processor Definitions - ****************************************************************************/ - -/**************************************************************************** - * Private Types - ****************************************************************************/ - -/**************************************************************************** - * Private Data - ****************************************************************************/ - -/**************************************************************************** - * Public Data - ****************************************************************************/ - -/**************************************************************************** - * Private Functions - ****************************************************************************/ - -/**************************************************************************** - * Public Functions - ****************************************************************************/ - -/**************************************************************************** - * Name: nxmu_releasebkgd - * - * Description: - * Release the background window previously acquired using nxmu_openbgwindow - * and return control of the background to NX. - * - * Input Parameters: - * fe - The front-end state structure - * - * Return: - * None - * - ****************************************************************************/ - -void nxmu_releasebkgd(FAR struct nxfe_state_s *fe) -{ - FAR struct nxbe_state_s *be = &fe->be; - -#ifdef CONFIG_DEBUG - if (!fe) - { - return; - } -#endif - - /* Destroy the client window callbacks* and restore the server - * connection. - */ - - be->bkgd.cb = NULL; - be->bkgd.arg = NULL; - be->bkgd.conn = &fe->conn; - - /* Redraw the background window */ - - nxfe_redrawreq(&be->bkgd, &be->bkgd.bounds); -} - diff --git a/nuttx/graphics/nxmu/nxmu_reportposition.c b/nuttx/graphics/nxmu/nxmu_reportposition.c deleted file mode 100644 index 6ffb3f4ee..000000000 --- a/nuttx/graphics/nxmu/nxmu_reportposition.c +++ /dev/null @@ -1,108 +0,0 @@ -/**************************************************************************** - * graphics/nxmu/nxmu_reportposition.c - * - * Copyright (C) 2008-2009, 2011-2012 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <gnutt@nuttx.org> - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * 3. Neither the name NuttX nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - ****************************************************************************/ - -/**************************************************************************** - * Included Files - ****************************************************************************/ - -#include <nuttx/config.h> - -#include <errno.h> -#include <debug.h> - -#include <nuttx/nx/nxglib.h> -#include <nuttx/nx/nx.h> -#include "nxfe.h" - -/**************************************************************************** - * Pre-Processor Definitions - ****************************************************************************/ - -/**************************************************************************** - * Private Types - ****************************************************************************/ - -/**************************************************************************** - * Private Data - ****************************************************************************/ - -/**************************************************************************** - * Public Data - ****************************************************************************/ - -/**************************************************************************** - * Private Functions - ****************************************************************************/ - -/**************************************************************************** - * Public Functions - ****************************************************************************/ - -/**************************************************************************** - * Name: nxfe_reportposition - * - * Descripton: - * Report the new size/position of the window. - * - ****************************************************************************/ - -void nxfe_reportposition(FAR struct nxbe_window_s *wnd) -{ - FAR struct nxclimsg_newposition_s outmsg; - int ret; - - /* Send the size/position info */ - - outmsg.msgid = NX_CLIMSG_NEWPOSITION; - outmsg.wnd = wnd; - outmsg.pos.x = wnd->bounds.pt1.x; - outmsg.pos.y = wnd->bounds.pt1.y; - - nxgl_rectsize(&outmsg.size, &wnd->bounds); - - /* Provide the background window bounding box which is the screen limits - * It must always have (0,0) as its origin - */ - - nxgl_rectcopy(&outmsg.bounds, &wnd->be->bkgd.bounds); - - /* And provide this to the client */ - - ret = nxmu_sendclientwindow(wnd, &outmsg, sizeof(struct nxclimsg_newposition_s)); - if (ret < 0) - { - gdbg("nxmu_sendclient failed: %d\n", errno); - } -} diff --git a/nuttx/graphics/nxmu/nxmu_requestbkgd.c b/nuttx/graphics/nxmu/nxmu_requestbkgd.c deleted file mode 100644 index 47b1ad13f..000000000 --- a/nuttx/graphics/nxmu/nxmu_requestbkgd.c +++ /dev/null @@ -1,124 +0,0 @@ -/**************************************************************************** - * graphics/nxmu/nxmu_requestbkgd.c - * - * Copyright (C) 2008-2009, 2011 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <gnutt@nuttx.org> - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * 3. Neither the name NuttX nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - ****************************************************************************/ - -/**************************************************************************** - * Included Files - ****************************************************************************/ - -#include <nuttx/config.h> - -#include <errno.h> -#include <debug.h> - -#include <nuttx/nx/nx.h> -#include "nxfe.h" - -/**************************************************************************** - * Pre-Processor Definitions - ****************************************************************************/ - -/**************************************************************************** - * Private Types - ****************************************************************************/ - -/**************************************************************************** - * Private Data - ****************************************************************************/ - -/**************************************************************************** - * Public Data - ****************************************************************************/ - -/**************************************************************************** - * Private Functions - ****************************************************************************/ - -/**************************************************************************** - * Public Functions - ****************************************************************************/ - -/**************************************************************************** - * Name: nxmu_requestbkgd - * - * Description: - * Perform the server-side operation for the nx_requestbkgd operation: - * Give the client control of the background window connection and receipt - * of all background window callbacks. - * - * conn - The client containing connection information [IN] - * be - The server state structure [IN] - * cb - Callbacks used to process window events - * arg - User provided argument (see nx_openwindow, nx_constructwindow) - * - * Return: - * None - * - ****************************************************************************/ - -void nxmu_requestbkgd(FAR struct nxfe_conn_s *conn, - FAR struct nxbe_state_s *be, - FAR const struct nx_callback_s *cb, - FAR void *arg) -{ -#ifdef CONFIG_DEBUG - if (!conn || !be || !cb) - { - errno = EINVAL; - } -#endif - - /* Set the client's callback vtable and and replace the server - * connection with the clients connection. - */ - - be->bkgd.cb = cb; - be->bkgd.arg = arg; - be->bkgd.conn = conn; - - /* Report the size/position of the background window to the client */ - - nxfe_reportposition((NXWINDOW)&be->bkgd); - - /* Redraw the background window */ - - nxfe_redrawreq(&be->bkgd, &be->bkgd.bounds); - - /* Provide the mouse settings */ - -#ifdef CONFIG_NX_MOUSE - nxmu_mousereport(&be->bkgd); -#endif -} - diff --git a/nuttx/graphics/nxmu/nxmu_semtake.c b/nuttx/graphics/nxmu/nxmu_semtake.c deleted file mode 100644 index 164a099b8..000000000 --- a/nuttx/graphics/nxmu/nxmu_semtake.c +++ /dev/null @@ -1,87 +0,0 @@ -/**************************************************************************** - * graphics/nxmu/nxmu_semtake.c - * - * Copyright (C) 2008-2009, 2011 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <gnutt@nuttx.org> - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * 3. Neither the name NuttX nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - ****************************************************************************/ - -/**************************************************************************** - * Included Files - ****************************************************************************/ - -#include <nuttx/config.h> - -#include <errno.h> -#include <assert.h> -#include <debug.h> - -#include <nuttx/nx/nx.h> -#include "nxfe.h" - -/**************************************************************************** - * Pre-Processor Definitions - ****************************************************************************/ - -/**************************************************************************** - * Private Types - ****************************************************************************/ - -/**************************************************************************** - * Private Data - ****************************************************************************/ - -/**************************************************************************** - * Public Data - ****************************************************************************/ - -/**************************************************************************** - * Private Functions - ****************************************************************************/ - -/**************************************************************************** - * Public Functions - ****************************************************************************/ - -/**************************************************************************** - * Name: nxmu_semtake - ****************************************************************************/ - -void nxmu_semtake(sem_t *sem) -{ - while (sem_wait(sem) != 0) - { - /* The only case that an error should occur here is if the wait was - * awakened by a signal. - */ - - ASSERT(errno == EINTR); - } -} diff --git a/nuttx/graphics/nxmu/nxmu_sendclient.c b/nuttx/graphics/nxmu/nxmu_sendclient.c deleted file mode 100644 index a59fa2363..000000000 --- a/nuttx/graphics/nxmu/nxmu_sendclient.c +++ /dev/null @@ -1,112 +0,0 @@ -/**************************************************************************** - * graphics/nxmu/nxmu_sendclient.c - * - * Copyright (C) 2012 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <gnutt@nuttx.org> - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * 3. Neither the name NuttX nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - ****************************************************************************/ - -/**************************************************************************** - * Included Files - ****************************************************************************/ - -#include <nuttx/config.h> - -#include <mqueue.h> -#include <errno.h> -#include <debug.h> - -#include "nxfe.h" - -/**************************************************************************** - * Pre-Processor Definitions - ****************************************************************************/ - -/**************************************************************************** - * Private Types - ****************************************************************************/ - -/**************************************************************************** - * Private Data - ****************************************************************************/ - -/**************************************************************************** - * Public Data - ****************************************************************************/ - -/**************************************************************************** - * Private Functions - ****************************************************************************/ - -/**************************************************************************** - * Public Functions - ****************************************************************************/ - -/**************************************************************************** - * Name: nxmu_sendclient - * - * Description: - * Send a message to the client at NX_CLIMSG_PRIO priority - * - * Input Parameters: - * conn - A pointer to the server connection structure - * msg - A pointer to the message to send - * msglen - The length of the message in bytes. - * - * Return: - * OK on success; ERROR on failure with errno set appropriately - * - ****************************************************************************/ - -int nxmu_sendclient(FAR struct nxfe_conn_s *conn, FAR const void *msg, - size_t msglen) -{ - int ret; - - /* Sanity checking */ - -#ifdef CONFIG_DEBUG - if (!conn || !conn->swrmq) - { - set_errno(EINVAL); - return ERROR; - } -#endif - - /* Send the message to the client */ - - ret = mq_send(conn->swrmq, msg, msglen, NX_CLIMSG_PRIO); - if (ret < 0) - { - gdbg("mq_send failed: %d\n", errno); - } - - return ret; -} diff --git a/nuttx/graphics/nxmu/nxmu_sendserver.c b/nuttx/graphics/nxmu/nxmu_sendserver.c deleted file mode 100644 index 03ece4e7f..000000000 --- a/nuttx/graphics/nxmu/nxmu_sendserver.c +++ /dev/null @@ -1,112 +0,0 @@ -/**************************************************************************** - * graphics/nxmu/nxmu_sendserver.c - * - * Copyright (C) 2012 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <gnutt@nuttx.org> - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * 3. Neither the name NuttX nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - ****************************************************************************/ - -/**************************************************************************** - * Included Files - ****************************************************************************/ - -#include <nuttx/config.h> - -#include <mqueue.h> -#include <errno.h> -#include <debug.h> - -#include "nxfe.h" - -/**************************************************************************** - * Pre-Processor Definitions - ****************************************************************************/ - -/**************************************************************************** - * Private Types - ****************************************************************************/ - -/**************************************************************************** - * Private Data - ****************************************************************************/ - -/**************************************************************************** - * Public Data - ****************************************************************************/ - -/**************************************************************************** - * Private Functions - ****************************************************************************/ - -/**************************************************************************** - * Public Functions - ****************************************************************************/ - -/**************************************************************************** - * Name: nxmu_sendserver - * - * Description: - * Send a message to the server at NX_SVRMSG_PRIO priority - * - * Input Parameters: - * conn - A pointer to the server connection structure - * msg - A pointer to the message to send - * msglen - The length of the message in bytes. - * - * Return: - * OK on success; ERROR on failure with errno set appropriately - * - ****************************************************************************/ - -int nxmu_sendserver(FAR struct nxfe_conn_s *conn, FAR const void *msg, - size_t msglen) -{ - int ret; - - /* Sanity checking */ - -#ifdef CONFIG_DEBUG - if (!conn || !conn->cwrmq) - { - set_errno(EINVAL); - return ERROR; - } -#endif - - /* Send the message to the server */ - - ret = mq_send(conn->cwrmq, msg, msglen, NX_SVRMSG_PRIO); - if (ret < 0) - { - gdbg("mq_send failed: %d\n", errno); - } - - return ret; -} diff --git a/nuttx/graphics/nxmu/nxmu_sendwindow.c b/nuttx/graphics/nxmu/nxmu_sendwindow.c deleted file mode 100644 index 0826a45bc..000000000 --- a/nuttx/graphics/nxmu/nxmu_sendwindow.c +++ /dev/null @@ -1,158 +0,0 @@ -/**************************************************************************** - * graphics/nxmu/nxmu_sendserver.c - * - * Copyright (C) 2012 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <gnutt@nuttx.org> - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * 3. Neither the name NuttX nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - ****************************************************************************/ - -/**************************************************************************** - * Included Files - ****************************************************************************/ - -#include <nuttx/config.h> - -#include <mqueue.h> -#include <errno.h> -#include <debug.h> - -#include "nxfe.h" - -/**************************************************************************** - * Pre-Processor Definitions - ****************************************************************************/ - -/**************************************************************************** - * Private Types - ****************************************************************************/ - -/**************************************************************************** - * Private Data - ****************************************************************************/ - -/**************************************************************************** - * Public Data - ****************************************************************************/ - -/**************************************************************************** - * Private Functions - ****************************************************************************/ - -/**************************************************************************** - * Public Functions - ****************************************************************************/ - -/**************************************************************************** - * Name: nxmu_sendwindow - * - * Description: - * Send a message to the server detined for a specific window at - * NX_SVRMSG_PRIO priority - * - * Input Parameters: - * wnd - A pointer to the back-end window structure - * msg - A pointer to the message to send - * msglen - The length of the message in bytes. - * - * Return: - * OK on success; ERROR on failure with errno set appropriately - * - ****************************************************************************/ - -int nxmu_sendwindow(FAR struct nxbe_window_s *wnd, FAR const void *msg, - size_t msglen) -{ - int ret = OK; - - /* Sanity checking */ - -#ifdef CONFIG_DEBUG - if (!wnd || !wnd->conn) - { - errno = EINVAL; - return ERROR; - } -#endif - - /* Ignore messages destined to a blocked window (no errors reported) */ - - if (!NXBE_ISBLOCKED(wnd)) - { - /* Send the message to the server */ - - ret = nxmu_sendserver(wnd->conn, msg, msglen); - } - - return ret; -} - -/**************************************************************************** - * Name: nxmu_sendclientwindow - * - * Description: - * Send a message to the client at NX_CLIMSG_PRIO priority - * - * Input Parameters: - * wnd - A pointer to the back-end window structure - * msg - A pointer to the message to send - * msglen - The length of the message in bytes. - * - * Return: - * OK on success; ERROR on failure with errno set appropriately - * - ****************************************************************************/ - -int nxmu_sendclientwindow(FAR struct nxbe_window_s *wnd, FAR const void *msg, - size_t msglen) -{ - int ret = OK; - - /* Sanity checking */ - -#ifdef CONFIG_DEBUG - if (!wnd || !wnd->conn) - { - errno = EINVAL; - return ERROR; - } -#endif - - /* Ignore messages destined to a blocked window (no errors reported) */ - - if (!NXBE_ISBLOCKED(wnd)) - { - /* Send the message to the server */ - - ret = nxmu_sendclient(wnd->conn, msg, msglen); - } - - return ret; -} - diff --git a/nuttx/graphics/nxmu/nxmu_server.c b/nuttx/graphics/nxmu/nxmu_server.c deleted file mode 100644 index cfaa5bbf5..000000000 --- a/nuttx/graphics/nxmu/nxmu_server.c +++ /dev/null @@ -1,540 +0,0 @@ -/**************************************************************************** - * graphics/nxmu/nxmu_server.c - * - * Copyright (C) 2008-2012 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <gnutt@nuttx.org> - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * 3. Neither the name NuttX nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - ****************************************************************************/ - -/**************************************************************************** - * Included Files - ****************************************************************************/ - -#include <nuttx/config.h> - -#include <stdint.h> -#include <stdio.h> -#include <string.h> -#include <semaphore.h> -#include <mqueue.h> -#include <fcntl.h> -#include <errno.h> -#include <debug.h> - -#include <nuttx/nx/nx.h> -#include "nxfe.h" - -/**************************************************************************** - * Pre-Processor Definitions - ****************************************************************************/ - -/**************************************************************************** - * Private Types - ****************************************************************************/ - -/**************************************************************************** - * Private Data - ****************************************************************************/ - -/**************************************************************************** - * Public Data - ****************************************************************************/ - -/**************************************************************************** - * Private Functions - ****************************************************************************/ - -/**************************************************************************** - * Name: nxmu_disconnect - ****************************************************************************/ - -static inline void nxmu_disconnect(FAR struct nxfe_conn_s *conn) -{ - struct nxclimsg_disconnected_s outmsg; - int ret; - - /* Send the handshake message back to the client */ - - outmsg.msgid = NX_CLIMSG_DISCONNECTED; - - ret = nxmu_sendclient(conn, &outmsg, sizeof(struct nxclimsg_disconnected_s)); - if (ret < 0) - { - gdbg("nxmu_sendclient failed: %d\n", errno); - } - - /* Close the outgoing client message queue */ - - (void)mq_close(conn->swrmq); -} - -/**************************************************************************** - * Name: nxmu_connect - ****************************************************************************/ - -static inline void nxmu_connect(FAR struct nxfe_conn_s *conn) -{ - char mqname[NX_CLIENT_MXNAMELEN]; - struct nxclimsg_connected_s outmsg; - int ret; - - /* Create the client MQ name */ - - sprintf(mqname, NX_CLIENT_MQNAMEFMT, conn->cid); - - /* Open the client MQ -- this should have already been created by the client */ - - conn->swrmq = mq_open(mqname, O_WRONLY); - if (conn->swrmq == (mqd_t)-1) - { - gdbg("mq_open(%s) failed: %d\n", mqname, errno); - outmsg.msgid = NX_CLIMSG_DISCONNECTED; - } - - /* Send the handshake message back to the client */ - - outmsg.msgid = NX_CLIMSG_CONNECTED; - ret = nxmu_sendclient(conn, &outmsg, sizeof(struct nxclimsg_connected_s)); - if (ret < 0) - { - gdbg("nxmu_sendclient failed: %d\n", errno); - } -} - -/**************************************************************************** - * Name: nxmu_shutdown - ****************************************************************************/ - -static inline void nxmu_shutdown(FAR struct nxfe_state_s *fe) -{ - FAR struct nxbe_window_s *wnd; - - /* Inform all of the clients in the window list that the server is - * exit-ting. Notes: (1) that the following loop will probably attempt to - * disconnect clients multiple times because one client may have multiple - * windows: The first disconnect will fail; subsequent will return errors - * that are ignored. (2) The final window to be disconnected will be the - * background window, thus close all of the servers message queues. - */ - - for (wnd = fe->be.topwnd; wnd; wnd = wnd->below) - { - (void)nxmu_disconnect(wnd->conn); - } -} - -/**************************************************************************** - * Name: nxmu_blocked - ****************************************************************************/ - -static inline void nxmu_blocked(FAR struct nxbe_window_s *wnd, FAR void *arg) -{ - struct nxclimsg_blocked_s outmsg; - int ret; - - outmsg.msgid = NX_CLIMSG_BLOCKED; - outmsg.wnd = wnd; - outmsg.arg = arg; - - ret = nxmu_sendclient(wnd->conn, &outmsg, sizeof(struct nxclimsg_blocked_s)); - if (ret < 0) - { - gdbg("nxmu_sendclient failed: %d\n", errno); - } -} - -/**************************************************************************** - * Name: nxmu_setup - ****************************************************************************/ - -static inline int nxmu_setup(FAR const char *mqname, FAR NX_DRIVERTYPE *dev, - FAR struct nxfe_state_s *fe) -{ - struct mq_attr attr; - int ret; - - memset(fe, 0, sizeof(struct nxfe_state_s)); - - /* Configure the framebuffer/LCD device */ - - ret = nxbe_configure(dev, &fe->be); - if (ret < 0) - { - gdbg("nxbe_configure failed: %d\n", -ret); - errno = -ret; - return ERROR; - } - -#if CONFIG_FB_CMAP - ret = nxbe_colormap(dev); - if (ret < 0) - { - gdbg("nxbe_colormap failed: %d\n", -ret); - errno = -ret; - return ERROR; - } -#endif /* CONFIG_FB_CMAP */ - - /* Initialize the non-NULL elements of the server connection structure. - * Oddly, this strcture represents the connection between the server and - * itself. - * - * Open the incoming server MQ. The server receives messages on the - * background window's incoming message queue. - */ - - attr.mq_maxmsg = CONFIG_NX_MXSERVERMSGS; - attr.mq_msgsize = NX_MXSVRMSGLEN; - attr.mq_flags = 0; - - fe->conn.crdmq = mq_open(mqname, O_RDONLY|O_CREAT, 0666, &attr); - if (fe->conn.crdmq == (mqd_t)-1) - { - gdbg("mq_open(%s) failed: %d\n", mqname, errno); - return ERROR; /* mq_open sets errno */ - } - - /* NOTE that the outgoing client MQ (cwrmq) is not initialized. The - * background window never initiates messages. - */ - - /* Open the outgoing server MQ. This is used to send messages to the - * background window which will, of course, be received and handled by - * the server message loop. - */ - - fe->conn.swrmq = mq_open(mqname, O_WRONLY); - if (fe->conn.swrmq == (mqd_t)-1) - { - gdbg("mq_open(%s) failed: %d\n", mqname, errno); - mq_close(fe->conn.crdmq); - return ERROR; /* mq_open sets errno */ - } - - /* The server is now "connected" to itself via the background window */ - - fe->conn.state = NX_CLISTATE_CONNECTED; - - /* Initialize the non-NULL elements of the background window */ - - fe->be.bkgd.conn = &fe->conn; - fe->be.bkgd.be = (FAR struct nxbe_state_s*)fe; - - fe->be.bkgd.bounds.pt2.x = fe->be.vinfo.xres - 1; - fe->be.bkgd.bounds.pt2.y = fe->be.vinfo.yres - 1; - - /* Complete initialization of the server state structure. The - * window list contains only one element: The background window - * with nothing else above or below it - */ - - fe->be.topwnd = &fe->be.bkgd; - - /* Initialize the mouse position */ - -#ifdef CONFIG_NX_MOUSE - nxmu_mouseinit(fe->be.vinfo.xres, fe->be.vinfo.yres); -#endif - return OK; -} - -/**************************************************************************** - * Public Functions - ****************************************************************************/ - -/**************************************************************************** - * Name: nx_runinstance - * - * Description: - * This is the server entry point. It does not return; the calling thread - * is dedicated to supporting NX server. - * - * NOTE that multiple instances of the NX server may run at the same time, - * each with different callback and message queue names. - * - * Input Parameters: - * mqname - The name for the server incoming message queue - * dev - Vtable "object" of the framebuffer/LCD "driver" to use - * - * Return: - * This function usually does not return. If it does return, it will - * return ERROR and errno will be set appropriately. - * - ****************************************************************************/ - -int nx_runinstance(FAR const char *mqname, FAR NX_DRIVERTYPE *dev) -{ - struct nxfe_state_s fe; - FAR struct nxsvrmsg_s *msg; - uint8_t buffer[NX_MXSVRMSGLEN]; - int nbytes; - int ret; - - /* Initialization *********************************************************/ - - /* Sanity checking */ - -#ifdef CONFIG_DEBUG - if (!mqname || !dev) - { - errno = EINVAL; - return ERROR; - } -#endif - - /* Initialize and configure the server */ - - ret = nxmu_setup(mqname, dev, &fe); - if (ret < 0) - { - return ret; /* nxmu_setup sets errno */ - } - - /* Produce the initial, background display */ - - nxbe_redraw(&fe.be, &fe.be.bkgd, &fe.be.bkgd.bounds); - - /* Message Loop ***********************************************************/ - - /* Then loop forever processing incoming messages */ - - for (;;) - { - /* Receive the next server message */ - - nbytes = mq_receive(fe.conn.crdmq, buffer, NX_MXSVRMSGLEN, 0); - if (nbytes < 0) - { - if (errno != EINTR) - { - gdbg("mq_receive failed: %d\n", errno); - goto errout; /* mq_receive sets errno */ - } - continue; - } - - /* Dispatch the message appropriately */ - - DEBUGASSERT(nbytes >= sizeof(struct nxsvrmsg_s)); - msg = (FAR struct nxsvrmsg_s *)buffer; - - gvdbg("Received opcode=%d nbytes=%d\n", msg->msgid, nbytes); - switch (msg->msgid) - { - /* Messages sent from clients to the NX server *********************/ - - case NX_SVRMSG_CONNECT: /* Establish connection with new NX server client */ - { - FAR struct nxsvrmsg_s *connmsg = (FAR struct nxsvrmsg_s *)buffer; - nxmu_connect(connmsg->conn); - } - break; - - case NX_SVRMSG_DISCONNECT: /* Tear down connection with terminating client */ - { - FAR struct nxsvrmsg_s *disconnmsg = (FAR struct nxsvrmsg_s *)buffer; - nxmu_disconnect(disconnmsg->conn); - } - break; - - case NX_SVRMSG_OPENWINDOW: /* Create a new window */ - { - FAR struct nxsvrmsg_openwindow_s *openmsg = (FAR struct nxsvrmsg_openwindow_s *)buffer; - nxmu_openwindow(&fe.be, openmsg->wnd); - } - break; - - case NX_SVRMSG_CLOSEWINDOW: /* Close an existing window */ - { - FAR struct nxsvrmsg_closewindow_s *closemsg = (FAR struct nxsvrmsg_closewindow_s *)buffer; - nxbe_closewindow(closemsg->wnd); - } - break; - - case NX_SVRMSG_BLOCKED: /* Block messsages to a window */ - { - FAR struct nxsvrmsg_blocked_s *blocked = (FAR struct nxsvrmsg_blocked_s *)buffer; - nxmu_blocked(blocked->wnd, blocked->arg); - } - break; - - case NX_SVRMSG_REQUESTBKGD: /* Give access to the background window */ - { - FAR struct nxsvrmsg_requestbkgd_s *rqbgmsg = (FAR struct nxsvrmsg_requestbkgd_s *)buffer; - nxmu_requestbkgd(rqbgmsg->conn, &fe.be, rqbgmsg->cb, rqbgmsg->arg); - } - break; - - case NX_SVRMSG_RELEASEBKGD: /* End access to the background window */ - { - nxmu_releasebkgd(&fe); - } - break; - - case NX_SVRMSG_SETPOSITION: /* Change window position */ - { - FAR struct nxsvrmsg_setposition_s *setposmsg = (FAR struct nxsvrmsg_setposition_s *)buffer; - nxbe_setposition(setposmsg->wnd, &setposmsg->pos); - } - break; - - case NX_SVRMSG_SETSIZE: /* Change window size */ - { - FAR struct nxsvrmsg_setsize_s *setsizemsg = (FAR struct nxsvrmsg_setsize_s *)buffer; - nxbe_setsize(setsizemsg->wnd, &setsizemsg->size); - } - break; - - case NX_SVRMSG_GETPOSITION: /* Get the window size/position */ - { - FAR struct nxsvrmsg_getposition_s *getposmsg = (FAR struct nxsvrmsg_getposition_s *)buffer; - nxfe_reportposition(getposmsg->wnd); - } - break; - - case NX_SVRMSG_RAISE: /* Move the window to the top of the display */ - { - FAR struct nxsvrmsg_raise_s *raisemsg = (FAR struct nxsvrmsg_raise_s *)buffer; - nxbe_raise(raisemsg->wnd); - } - break; - - case NX_SVRMSG_LOWER: /* Lower the window to the bottom of the display */ - { - FAR struct nxsvrmsg_lower_s *lowermsg = (FAR struct nxsvrmsg_lower_s *)buffer; - nxbe_lower(lowermsg->wnd); - } - break; - - case NX_SVRMSG_SETPIXEL: /* Set a single pixel in the window with a color */ - { - FAR struct nxsvrmsg_setpixel_s *setmsg = (FAR struct nxsvrmsg_setpixel_s *)buffer; - nxbe_setpixel(setmsg->wnd, &setmsg->pos, setmsg->color); - } - break; - - case NX_SVRMSG_FILL: /* Fill a rectangular region in the window with a color */ - { - FAR struct nxsvrmsg_fill_s *fillmsg = (FAR struct nxsvrmsg_fill_s *)buffer; - nxbe_fill(fillmsg->wnd, &fillmsg->rect, fillmsg->color); - } - break; - - case NX_SVRMSG_GETRECTANGLE: /* Get a rectangular region from the window */ - { - FAR struct nxsvrmsg_getrectangle_s *getmsg = (FAR struct nxsvrmsg_getrectangle_s *)buffer; - nxbe_getrectangle(getmsg->wnd, &getmsg->rect, getmsg->plane, getmsg->dest, getmsg->deststride); - - if (getmsg->sem_done) - { - sem_post(getmsg->sem_done); - } - } - break; - - case NX_SVRMSG_FILLTRAP: /* Fill a trapezoidal region in the window with a color */ - { - FAR struct nxsvrmsg_filltrapezoid_s *trapmsg = (FAR struct nxsvrmsg_filltrapezoid_s *)buffer; - nxbe_filltrapezoid(trapmsg->wnd, &trapmsg->clip, &trapmsg->trap, trapmsg->color); - } - break; - case NX_SVRMSG_MOVE: /* Move a rectangular region within the window */ - { - FAR struct nxsvrmsg_move_s *movemsg = (FAR struct nxsvrmsg_move_s *)buffer; - nxbe_move(movemsg->wnd, &movemsg->rect, &movemsg->offset); - } - break; - - case NX_SVRMSG_BITMAP: /* Copy a rectangular bitmap into the window */ - { - FAR struct nxsvrmsg_bitmap_s *bmpmsg = (FAR struct nxsvrmsg_bitmap_s *)buffer; - nxbe_bitmap(bmpmsg->wnd, &bmpmsg->dest, bmpmsg->src, &bmpmsg->origin, bmpmsg->stride); - - if (bmpmsg->sem_done) - { - sem_post(bmpmsg->sem_done); - } - } - break; - - case NX_SVRMSG_SETBGCOLOR: /* Set the color of the background */ - { - FAR struct nxsvrmsg_setbgcolor_s *bgcolormsg = (FAR struct nxsvrmsg_setbgcolor_s *)buffer; - nxgl_colorcopy(fe.be.bgcolor, bgcolormsg->color); - nxbe_fill(&fe.be.bkgd, &fe.be.bkgd.bounds, bgcolormsg->color); - } - break; - -#ifdef CONFIG_NX_MOUSE - case NX_SVRMSG_MOUSEIN: /* New mouse report from mouse client */ - { - FAR struct nxsvrmsg_mousein_s *mousemsg = (FAR struct nxsvrmsg_mousein_s *)buffer; - nxmu_mousein(&fe, &mousemsg->pt, mousemsg->buttons); - } - break; -#endif -#ifdef CONFIG_NX_KBD - case NX_SVRMSG_KBDIN: /* New keyboard report from keyboard client */ - { - FAR struct nxsvrmsg_kbdin_s *kbdmsg = (FAR struct nxsvrmsg_kbdin_s *)buffer; - nxmu_kbdin(&fe, kbdmsg->nch, kbdmsg->ch); - } - break; -#endif - - /* Messages sent to the backgound window ***************************/ - - case NX_CLIMSG_REDRAW: /* Re-draw the background window */ - { - FAR struct nxclimsg_redraw_s *redraw = (FAR struct nxclimsg_redraw_s *)buffer; - DEBUGASSERT(redraw->wnd == &fe.be.bkgd); - gvdbg("Re-draw background rect={(%d,%d),(%d,%d)}\n", - redraw->rect.pt1.x, redraw->rect.pt1.y, - redraw->rect.pt2.x, redraw->rect.pt2.y); - nxbe_fill(&fe.be.bkgd, &redraw->rect, fe.be.bgcolor); - } - break; - - case NX_CLIMSG_MOUSEIN: /* Ignored */ - case NX_CLIMSG_KBDIN: - break; - - case NX_CLIMSG_CONNECTED: /* Shouldn't happen */ - case NX_CLIMSG_DISCONNECTED: - default: - gdbg("Unrecognized command: %d\n", msg->msgid); - break; - } - } - -errout: - nxmu_shutdown(&fe); - return OK; -} diff --git a/nuttx/graphics/nxsu/Make.defs b/nuttx/graphics/nxsu/Make.defs deleted file mode 100644 index d16fe549c..000000000 --- a/nuttx/graphics/nxsu/Make.defs +++ /dev/null @@ -1,44 +0,0 @@ -############################################################################ -# graphics/nxsu/Make.defs -# -# Copyright (C) 2008, 2011 Gregory Nutt. All rights reserved. -# Author: Gregory Nutt <gnutt@nuttx.org> -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions -# are met: -# -# 1. Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# 2. Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in -# the documentation and/or other materials provided with the -# distribution. -# 3. Neither the name NuttX nor the names of its contributors may be -# used to endorse or promote products derived from this software -# without specific prior written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS -# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, -# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS -# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED -# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN -# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -# POSSIBILITY OF SUCH DAMAGE. -# -############################################################################ - -NX_ASRCS = -NXAPI_CSRCS = nx_bitmap.c nx_close.c nx_closewindow.c nx_fill.c \ - nx_filltrapezoid.c nx_getposition.c nx_getrectangle.c nx_kbdchin.c \ - nx_kbdin.c nx_lower.c nx_mousein.c nx_move.c nx_open.c \ - nx_openwindow.c nx_raise.c nx_releasebkgd.c nx_requestbkgd.c \ - nx_setpixel.c nx_setsize.c nx_setbgcolor.c nx_setposition.c \ - nx_drawcircle.c nx_drawline.c nx_fillcircle.c -NXSU_CSRCS = nxsu_constructwindow.c nxsu_redrawreq.c nxsu_reportposition.c -NX_CSRCS = $(NXAPI_CSRCS) $(NXSU_CSRCS) diff --git a/nuttx/graphics/nxsu/nx_bitmap.c b/nuttx/graphics/nxsu/nx_bitmap.c deleted file mode 100644 index 99fcbbb70..000000000 --- a/nuttx/graphics/nxsu/nx_bitmap.c +++ /dev/null @@ -1,110 +0,0 @@ -/**************************************************************************** - * graphics/nxsu/nx_bitmap.c - * - * Copyright (C) 2008-2009 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <gnutt@nuttx.org> - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * 3. Neither the name NuttX nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - ****************************************************************************/ - -/**************************************************************************** - * Included Files - ****************************************************************************/ - -#include <nuttx/config.h> - -#include <errno.h> -#include <debug.h> - -#include <nuttx/nx/nx.h> - -#include "nxbe.h" -#include "nxfe.h" - -/**************************************************************************** - * Pre-Processor Definitions - ****************************************************************************/ - -/**************************************************************************** - * Private Types - ****************************************************************************/ - -/**************************************************************************** - * Private Data - ****************************************************************************/ - -/**************************************************************************** - * Public Data - ****************************************************************************/ - -/**************************************************************************** - * Private Functions - ****************************************************************************/ - -/**************************************************************************** - * Public Functions - ****************************************************************************/ - -/**************************************************************************** - * Name: nx_bitmap - * - * Description: - * Copy a rectangular region of a larger image into the rectangle in the - * specified window. - * - * Input Parameters: - * hwnd - The window that will receive the bitmap image - * dest - Describes the rectangular region on the display that will receive the - * the bit map. - * src - The start of the source image. - * origin - The origin of the upper, left-most corner of the full bitmap. - * Both dest and origin are in window coordinates, however, origin - * may lie outside of the display. - * stride - The width of the full source image in pixels. - * - * Return: - * OK on success; ERROR on failure with errno set appropriately - * - ****************************************************************************/ - -int nx_bitmap(NXWINDOW hwnd, FAR const struct nxgl_rect_s *dest, - FAR const void *src[CONFIG_NX_NPLANES], - FAR const struct nxgl_point_s *origin, unsigned int stride) -{ -#ifdef CONFIG_DEBUG - if (!hwnd || !dest || !src || !origin) - { - errno = EINVAL; - return ERROR; - } -#endif - - nxbe_bitmap((FAR struct nxbe_window_s *)hwnd, dest, src, origin, stride); - return OK; -} diff --git a/nuttx/graphics/nxsu/nx_close.c b/nuttx/graphics/nxsu/nx_close.c deleted file mode 100644 index b48a2fca2..000000000 --- a/nuttx/graphics/nxsu/nx_close.c +++ /dev/null @@ -1,91 +0,0 @@ -/**************************************************************************** - * graphics/nxsu/nx_close.c - * - * Copyright (C) 2008-2009 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <gnutt@nuttx.org> - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * 3. Neither the name NuttX nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - ****************************************************************************/ - -/**************************************************************************** - * Included Files - ****************************************************************************/ - -#include <nuttx/config.h> - -#include <stdlib.h> -#include <debug.h> - -#include <nuttx/nx/nx.h> -#include "nxfe.h" - -/**************************************************************************** - * Pre-Processor Definitions - ****************************************************************************/ - -/**************************************************************************** - * Private Types - ****************************************************************************/ - -/**************************************************************************** - * Private Data - ****************************************************************************/ - -/**************************************************************************** - * Public Data - ****************************************************************************/ - -/**************************************************************************** - * Private Functions - ****************************************************************************/ - -/**************************************************************************** - * Public Functions - ****************************************************************************/ - -/**************************************************************************** - * Name: nx_close - * - * Description: - * Close the single user NX interface. nx_close is single-user equivalent - * of nx_disconnect. - * - * Input Parameters: - * handle - the handle returned by nx_open - * - * Return: - * None - * - ****************************************************************************/ - -void nx_close(NXHANDLE handle) -{ - free(handle); -} - diff --git a/nuttx/graphics/nxsu/nx_closewindow.c b/nuttx/graphics/nxsu/nx_closewindow.c deleted file mode 100644 index 879d049d4..000000000 --- a/nuttx/graphics/nxsu/nx_closewindow.c +++ /dev/null @@ -1,100 +0,0 @@ -/**************************************************************************** - * graphics/nxsu/nx_closewindow.c - * - * Copyright (C) 2008-2009 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <gnutt@nuttx.org> - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * 3. Neither the name NuttX nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - ****************************************************************************/ - -/**************************************************************************** - * Included Files - ****************************************************************************/ - -#include <nuttx/config.h> - -#include <stdlib.h> -#include <errno.h> -#include <debug.h> - -#include <nuttx/nx/nx.h> -#include "nxfe.h" - -/**************************************************************************** - * Pre-Processor Definitions - ****************************************************************************/ - -/**************************************************************************** - * Private Types - ****************************************************************************/ - -/**************************************************************************** - * Private Data - ****************************************************************************/ - -/**************************************************************************** - * Public Data - ****************************************************************************/ - -/**************************************************************************** - * Private Functions - ****************************************************************************/ - -/**************************************************************************** - * Public Functions - ****************************************************************************/ - -/**************************************************************************** - * Name: nx_closewindow - * - * Description: - * Destroy a window created by nx_openwindow. - * - * Input Parameters: - * wnd - The window to be destroyed - * - * Return: - * OK on success; ERROR on failure with errno set appropriately - * - ****************************************************************************/ - -int nx_closewindow(NXWINDOW hwnd) -{ -#ifdef CONFIG_DEBUG - if (!hwnd) - { - errno = EINVAL; - return ERROR; - } -#endif - - nxbe_closewindow((FAR struct nxbe_window_s *)hwnd); - return OK; -} - diff --git a/nuttx/graphics/nxsu/nx_drawcircle.c b/nuttx/graphics/nxsu/nx_drawcircle.c deleted file mode 100644 index 30b307219..000000000 --- a/nuttx/graphics/nxsu/nx_drawcircle.c +++ /dev/null @@ -1,145 +0,0 @@ -/**************************************************************************** - * graphics/nxsu/nx_drawcircle.c - * - * Copyright (C) 2011 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <gnutt@nuttx.org> - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * 3. Neither the name NuttX nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - ****************************************************************************/ - -/**************************************************************************** - * Included Files - ****************************************************************************/ - -#include <nuttx/config.h> - -#include <sys/types.h> -#include <debug.h> -#include <errno.h> - -#include <nuttx/nx/nxglib.h> -#include <nuttx/nx/nx.h> - -/**************************************************************************** - * Pre-Processor Definitions - ****************************************************************************/ -/* Named indices into the 16 circle points generated by nxgl_circlepts */ - -#define POINT_0p0 0 -#define POINT_22p5 1 -#define POINT_45p0 2 -#define POINT_67p5 3 -#define POINT_90p0 4 -#define POINT_112p5 5 -#define POINT_135p0 6 -#define POINT_157p5 7 -#define POINT_180p0 8 -#define POINT_202p5 9 -#define POINT_225p0 10 -#define POINT_247p5 11 -#define POINT_270p0 12 -#define POINT_292p5 13 -#define POINT_315p0 14 -#define POINT_337p5 15 -#define NCIRCLE_POINTS 16 - -/**************************************************************************** - * Private Types - ****************************************************************************/ - -/**************************************************************************** - * Private Data - ****************************************************************************/ - -/**************************************************************************** - * Public Data - ****************************************************************************/ - -/**************************************************************************** - * Private Functions - ****************************************************************************/ - -/**************************************************************************** - * Public Functions - ****************************************************************************/ - -/**************************************************************************** - * Name: nx_drawcircle - * - * Description: - * Draw a circular outline using the specified line thickness and color. - * - * Input Parameters: - * hwnd - The window handle - * center - A pointer to the point that is the center of the circle - * radius - The radius of the circle in pixels. - * width - The width of the line - * color - The color to use to fill the line - * - * Return: - * OK on success; ERROR on failure with errno set appropriately - * - ****************************************************************************/ - -int nx_drawcircle(NXWINDOW hwnd, FAR const struct nxgl_point_s *center, - nxgl_coord_t radius, nxgl_coord_t width, - nxgl_mxpixel_t color[CONFIG_NX_NPLANES]) -{ - struct nxgl_point_s pts[NCIRCLE_POINTS]; - FAR struct nxgl_vector_s vector; - int i; - int ret; - - /* Convert the circle to a set of 16 points */ - - nxgl_circlepts(center, radius, pts); - - /* Draw each pair of points as a vector */ - - for (i = POINT_0p0; i < POINT_337p5; i++) - { - vector.pt1.x = pts[i].x; - vector.pt1.y = pts[i].y; - vector.pt2.x = pts[i+1].x; - vector.pt2.y = pts[i+1].y; - ret = nx_drawline(hwnd, &vector, width, color); - if (ret != OK) - { - return ret; - } - } - - /* The final, closing vector is a special case */ - - vector.pt1.x = pts[POINT_337p5].x; - vector.pt1.y = pts[POINT_337p5].y; - vector.pt2.x = pts[POINT_0p0].x; - vector.pt2.y = pts[POINT_0p0].y; - return nx_drawline(hwnd, &vector, width, color); -} diff --git a/nuttx/graphics/nxsu/nx_drawline.c b/nuttx/graphics/nxsu/nx_drawline.c deleted file mode 100644 index 99e3494b9..000000000 --- a/nuttx/graphics/nxsu/nx_drawline.c +++ /dev/null @@ -1,136 +0,0 @@ -/**************************************************************************** - * graphics/nxsu/nx_drawline.c - * - * Copyright (C) 2011 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <gnutt@nuttx.org> - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * 3. Neither the name NuttX nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - ****************************************************************************/ - -/**************************************************************************** - * Included Files - ****************************************************************************/ - -#include <nuttx/config.h> - -#include <sys/types.h> -#include <debug.h> -#include <errno.h> - -#include <nuttx/nx/nxglib.h> -#include <nuttx/nx/nx.h> - -/**************************************************************************** - * Pre-Processor Definitions - ****************************************************************************/ - -/**************************************************************************** - * Private Types - ****************************************************************************/ - -/**************************************************************************** - * Private Data - ****************************************************************************/ - -/**************************************************************************** - * Public Data - ****************************************************************************/ - -/**************************************************************************** - * Private Functions - ****************************************************************************/ - -/**************************************************************************** - * Public Functions - ****************************************************************************/ - -/**************************************************************************** - * Name: nx_drawline - * - * Description: - * Fill the specified line in the window with the specified color. This - * is simply a wrapper that uses nxgl_splitline() to break the line into - * trapezoids and then calls nx_filltrapezoid() to render the line. - * - * Input Parameters: - * hwnd - The window handle - * vector - Describes the line to be drawn - * width - The width of the line - * color - The color to use to fill the line - * - * Return: - * OK on success; ERROR on failure with errno set appropriately - * - ****************************************************************************/ - -int nx_drawline(NXWINDOW hwnd, FAR struct nxgl_vector_s *vector, - nxgl_coord_t width, nxgl_mxpixel_t color[CONFIG_NX_NPLANES]) -{ - struct nxgl_trapezoid_s trap[3]; - struct nxgl_rect_s rect; - int ret; - -#ifdef CONFIG_DEBUG - if (!hwnd || !vector || width < 1 || !color) - { - set_errno(EINVAL); - return ERROR; - } -#endif - - ret = nxgl_splitline(vector, trap, &rect, width); - switch (ret) - { - case 0: - ret = nx_filltrapezoid(hwnd, NULL, &trap[0], color); - if (ret == OK) - { - ret = nx_filltrapezoid(hwnd, NULL, &trap[1], color); - if (ret == OK) - { - ret = nx_filltrapezoid(hwnd, NULL, &trap[2], color); - } - } - break; - - case 1: - ret = nx_filltrapezoid(hwnd, NULL, &trap[1], color); - break; - - case 2: - ret = nx_fill(hwnd, &rect, color); - break; - - default: - set_errno(-ret); - return ERROR; - } - - return ret; -} diff --git a/nuttx/graphics/nxsu/nx_fill.c b/nuttx/graphics/nxsu/nx_fill.c deleted file mode 100644 index 037cb5e13..000000000 --- a/nuttx/graphics/nxsu/nx_fill.c +++ /dev/null @@ -1,103 +0,0 @@ -/**************************************************************************** - * graphics/nxsu/nx_fill.c - * - * Copyright (C) 2008-2009 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <gnutt@nuttx.org> - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * 3. Neither the name NuttX nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - ****************************************************************************/ - -/**************************************************************************** - * Included Files - ****************************************************************************/ - -#include <nuttx/config.h> - -#include <mqueue.h> -#include <errno.h> -#include <debug.h> - -#include <nuttx/nx/nx.h> - -#include "nxfe.h" - -/**************************************************************************** - * Pre-Processor Definitions - ****************************************************************************/ - -/**************************************************************************** - * Private Types - ****************************************************************************/ - -/**************************************************************************** - * Private Data - ****************************************************************************/ - -/**************************************************************************** - * Public Data - ****************************************************************************/ - -/**************************************************************************** - * Private Functions - ****************************************************************************/ - -/**************************************************************************** - * Public Functions - ****************************************************************************/ - -/**************************************************************************** - * Name: nx_fill - * - * Description: - * Fill the specified rectangle in the window with the specified color - * - * Input Parameters: - * hwnd - The window handle - * rect - The location to be filled - * color - The color to use in the fill - * - * Return: - * OK on success; ERROR on failure with errno set appropriately - * - ****************************************************************************/ - -int nx_fill(NXWINDOW hwnd, FAR const struct nxgl_rect_s *rect, - nxgl_mxpixel_t color[CONFIG_NX_NPLANES]) -{ -#ifdef CONFIG_DEBUG - if (!hwnd || !rect || !color) - { - errno = EINVAL; - return ERROR; - } -#endif - - nxbe_fill((FAR struct nxbe_window_s *)hwnd, rect, color); - return 0; -} diff --git a/nuttx/graphics/nxsu/nx_fillcircle.c b/nuttx/graphics/nxsu/nx_fillcircle.c deleted file mode 100644 index f3876057a..000000000 --- a/nuttx/graphics/nxsu/nx_fillcircle.c +++ /dev/null @@ -1,114 +0,0 @@ -/**************************************************************************** - * graphics/nxmu/nx_fillcircle.c - * - * Copyright (C) 2011 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <gnutt@nuttx.org> - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * 3. Neither the name NuttX nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - ****************************************************************************/ - -/**************************************************************************** - * Included Files - ****************************************************************************/ - -#include <nuttx/config.h> - -#include <sys/types.h> -#include <debug.h> -#include <errno.h> - -#include <nuttx/nx/nxglib.h> -#include <nuttx/nx/nx.h> - -/**************************************************************************** - * Pre-Processor Definitions - ****************************************************************************/ - -#define NCIRCLE_TRAPS 8 - -/**************************************************************************** - * Private Types - ****************************************************************************/ - -/**************************************************************************** - * Private Data - ****************************************************************************/ - -/**************************************************************************** - * Public Data - ****************************************************************************/ - -/**************************************************************************** - * Private Functions - ****************************************************************************/ - -/**************************************************************************** - * Public Functions - ****************************************************************************/ - -/**************************************************************************** - * Name: nx_fillcircle - * - * Description: - * Fill a circular region using the specified color. - * - * Input Parameters: - * hwnd - The window handle - * center - A pointer to the point that is the center of the circle - * radius - The radius of the circle in pixels. - * color - The color to use to fill the circle. - * - * Return: - * OK on success; ERROR on failure with errno set appropriately - * - ****************************************************************************/ - -int nx_fillcircle(NXWINDOW hwnd, FAR const struct nxgl_point_s *center, - nxgl_coord_t radius, nxgl_mxpixel_t color[CONFIG_NX_NPLANES]) -{ - FAR struct nxgl_trapezoid_s traps[NCIRCLE_TRAPS]; - int i; - int ret; - - /* Describe the circular region as a sequence of 8 trapezoids */ - - nxgl_circletraps(center, radius, traps); - - /* Then rend those trapezoids */ - - for (i = 0; i < NCIRCLE_TRAPS; i++) - { - ret = nx_filltrapezoid(hwnd, NULL, &traps[i], color); - if (ret != OK) - { - return ret; - } - } - return OK; -} diff --git a/nuttx/graphics/nxsu/nx_filltrapezoid.c b/nuttx/graphics/nxsu/nx_filltrapezoid.c deleted file mode 100644 index 353b91f6e..000000000 --- a/nuttx/graphics/nxsu/nx_filltrapezoid.c +++ /dev/null @@ -1,105 +0,0 @@ -/**************************************************************************** - * graphics/nxsu/nx_filltrapezoid.c - * - * Copyright (C) 2008-2009 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <gnutt@nuttx.org> - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * 3. Neither the name NuttX nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - ****************************************************************************/ - -/**************************************************************************** - * Included Files - ****************************************************************************/ - -#include <nuttx/config.h> - -#include <mqueue.h> -#include <errno.h> -#include <debug.h> - -#include <nuttx/nx/nx.h> - -#include "nxfe.h" - -/**************************************************************************** - * Pre-Processor Definitions - ****************************************************************************/ - -/**************************************************************************** - * Private Types - ****************************************************************************/ - -/**************************************************************************** - * Private Data - ****************************************************************************/ - -/**************************************************************************** - * Public Data - ****************************************************************************/ - -/**************************************************************************** - * Private Functions - ****************************************************************************/ - -/**************************************************************************** - * Public Functions - ****************************************************************************/ - -/**************************************************************************** - * Name: nx_filltrapezoid - * - * Description: - * Fill the specified trapezoidal region in the window with the specified color - * - * Input Parameters: - * hwnd - The window handle - * clip - Clipping region (may be null) - * trap - The trapezoidal region to be filled - * color - The color to use in the fill - * - * Return: - * OK on success; ERROR on failure with errno set appropriately - * - ****************************************************************************/ - -int nx_filltrapezoid(NXWINDOW hwnd, FAR const struct nxgl_rect_s *clip, - FAR const struct nxgl_trapezoid_s *trap, - nxgl_mxpixel_t color[CONFIG_NX_NPLANES]) -{ -#ifdef CONFIG_DEBUG - if (!hwnd || !trap || !color) - { - errno = EINVAL; - return ERROR; - } -#endif - - nxbe_filltrapezoid((FAR struct nxbe_window_s *)hwnd, clip, trap, color); - return OK; -} diff --git a/nuttx/graphics/nxsu/nx_getposition.c b/nuttx/graphics/nxsu/nx_getposition.c deleted file mode 100644 index acc633087..000000000 --- a/nuttx/graphics/nxsu/nx_getposition.c +++ /dev/null @@ -1,106 +0,0 @@ -/**************************************************************************** - * graphics/nxsu/nx_getposition.c - * - * Copyright (C) 2008-2009 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <gnutt@nuttx.org> - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * 3. Neither the name NuttX nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - ****************************************************************************/ - -/**************************************************************************** - * Included Files - ****************************************************************************/ - -#include <nuttx/config.h> - -#include <errno.h> -#include <debug.h> - -#include <nuttx/nx/nx.h> -#include "nxfe.h" - -/**************************************************************************** - * Pre-Processor Definitions - ****************************************************************************/ - -/**************************************************************************** - * Private Types - ****************************************************************************/ - -/**************************************************************************** - * Private Data - ****************************************************************************/ - -/**************************************************************************** - * Public Data - ****************************************************************************/ - -/**************************************************************************** - * Private Functions - ****************************************************************************/ - -/**************************************************************************** - * Public Functions - ****************************************************************************/ - -/**************************************************************************** - * Name: nx_getposition - * - * Description: - * Request the position and size information for the selected window. The - * values will be return asynchronously through the client callback function - * pointer. - * - * Input Parameters: - * hwnd - The window handle - * - * Return: - * OK on success; ERROR on failure with errno set appropriately - * - ****************************************************************************/ - -int nx_getposition(NXWINDOW hwnd) -{ -#ifdef CONFIG_DEBUG - if (!hwnd) - { - errno = EINVAL; - return ERROR; - } -#endif - - /* This is very awkward since the requested values are available - * immediately in the window structure. However, this round about way of - * doing things makes the single user interface bug-for-bug compatible with - * the multi-user interface. - */ - - nxfe_reportposition((FAR struct nxbe_window_s *)hwnd); - return OK; -} diff --git a/nuttx/graphics/nxsu/nx_getrectangle.c b/nuttx/graphics/nxsu/nx_getrectangle.c deleted file mode 100644 index 472ff4c6c..000000000 --- a/nuttx/graphics/nxsu/nx_getrectangle.c +++ /dev/null @@ -1,110 +0,0 @@ -/**************************************************************************** - * graphics/nxsu/nx_getrectangle.c - * - * Copyright (C) 2011 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <gnutt@nuttx.org> - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * 3. Neither the name NuttX nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - ****************************************************************************/ - -/**************************************************************************** - * Included Files - ****************************************************************************/ - -#include <nuttx/config.h> - -#include <mqueue.h> -#include <errno.h> -#include <debug.h> - -#include <nuttx/nx/nx.h> - -#include "nxfe.h" - -/**************************************************************************** - * Pre-Processor Definitions - ****************************************************************************/ - -/**************************************************************************** - * Private Types - ****************************************************************************/ - -/**************************************************************************** - * Private Data - ****************************************************************************/ - -/**************************************************************************** - * Public Data - ****************************************************************************/ - -/**************************************************************************** - * Private Functions - ****************************************************************************/ - -/**************************************************************************** - * Public Functions - ****************************************************************************/ - -/**************************************************************************** - * Name: nx_getrectangle - * - * Description: - * Get the raw contents of graphic memory within a rectangular region. NOTE: - * Since raw graphic memory is returned, the returned memory content may be - * the memory of windows above this one and may not necessarily belong to - * this window unless you assure that this is the top window. - * - * Input Parameters: - * wnd - The window structure reference - * rect - The location to be copied - * plane - Specifies the color plane to get from. - * dest - The location to copy the memory region - * deststride - The width, in bytes, the the dest memory - * - * Return: - * OK on success; ERROR on failure with errno set appropriately - * - ****************************************************************************/ - -int nx_getrectangle(NXWINDOW hwnd, FAR const struct nxgl_rect_s *rect, - unsigned int plane, FAR uint8_t *dest, - unsigned int deststride) -{ -#ifdef CONFIG_DEBUG - if (!hwnd || !rect || !dest) - { - set_errno(EINVAL); - return ERROR; - } -#endif - - nxbe_getrectangle((FAR struct nxbe_window_s *)hwnd, rect, plane, - dest, deststride); - return OK; -} diff --git a/nuttx/graphics/nxsu/nx_kbdchin.c b/nuttx/graphics/nxsu/nx_kbdchin.c deleted file mode 100644 index f07462f22..000000000 --- a/nuttx/graphics/nxsu/nx_kbdchin.c +++ /dev/null @@ -1,101 +0,0 @@ -/**************************************************************************** - * graphics/nxsu/nx_kbdchin.c - * - * Copyright (C) 2008-2009 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <gnutt@nuttx.org> - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * 3. Neither the name NuttX nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - ****************************************************************************/ - -/**************************************************************************** - * Included Files - ****************************************************************************/ - -#include <nuttx/config.h> - -#include <stdint.h> -#include <errno.h> -#include <debug.h> - -#include <nuttx/nx/nx.h> -#include "nxfe.h" - -#ifdef CONFIG_NX_KBD - -/**************************************************************************** - * Pre-Processor Definitions - ****************************************************************************/ - -/**************************************************************************** - * Private Types - ****************************************************************************/ - -/**************************************************************************** - * Private Data - ****************************************************************************/ - -/**************************************************************************** - * Public Data - ****************************************************************************/ - -/**************************************************************************** - * Private Functions - ****************************************************************************/ - -/**************************************************************************** - * Public Functions - ****************************************************************************/ - -/**************************************************************************** - * Name: nx_kbdchin - * - * Description: - * Used by a thread or interrupt handler that manages some kind of keypad - * hardware to report text information to the NX server. That text - * data will be routed by the NX server to the appropriate window client. - * - ****************************************************************************/ - -int nx_kbdchin(NXHANDLE handle, uint8_t ch) -{ - FAR struct nxfe_state_s *fe = (FAR struct nxfe_state_s *)handle; - FAR struct nxbe_window_s *wnd = fe->be.topwnd; - - /* Give the keypad event only to the top window (unless the top window - * is the background window). - */ - - if (wnd->cb->kbdin) - { - wnd->cb->kbdin(wnd, 1, &ch, wnd->arg); - } - return OK; -} - -#endif /* CONFIG_NX_KBD */ diff --git a/nuttx/graphics/nxsu/nx_kbdin.c b/nuttx/graphics/nxsu/nx_kbdin.c deleted file mode 100644 index 6acd96a72..000000000 --- a/nuttx/graphics/nxsu/nx_kbdin.c +++ /dev/null @@ -1,100 +0,0 @@ -/**************************************************************************** - * graphics/nxsu/nx_kbdin.c - * - * Copyright (C) 2008-2009 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <gnutt@nuttx.org> - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * 3. Neither the name NuttX nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - ****************************************************************************/ - -/**************************************************************************** - * Included Files - ****************************************************************************/ - -#include <nuttx/config.h> - -#include <stdint.h> -#include <errno.h> -#include <debug.h> - -#include <nuttx/nx/nx.h> -#include "nxfe.h" - -#ifdef CONFIG_NX_KBD - -/**************************************************************************** - * Pre-Processor Definitions - ****************************************************************************/ - -/**************************************************************************** - * Private Types - ****************************************************************************/ - -/**************************************************************************** - * Private Data - ****************************************************************************/ - -/**************************************************************************** - * Public Data - ****************************************************************************/ - -/**************************************************************************** - * Private Functions - ****************************************************************************/ - -/**************************************************************************** - * Public Functions - ****************************************************************************/ - -/**************************************************************************** - * Name: nx_kbdin - * - * Description: - * Used by a thread or interrupt handler that manages some kind of keypad - * hardware to report text information to the NX server. - * - ****************************************************************************/ - -int nx_kbdin(NXHANDLE handle, uint8_t nch, FAR const uint8_t *ch) -{ - FAR struct nxfe_state_s *fe = (FAR struct nxfe_state_s *)handle; - FAR struct nxbe_window_s *wnd = fe->be.topwnd; - - /* Give the keypad event only to the top window (unless the top child - * is the background window). - */ - - if (wnd->cb->kbdin) - { - wnd->cb->kbdin(wnd, nch, ch, wnd->arg); - } - return OK; -} - -#endif /* CONFIG_NX_KBD */ diff --git a/nuttx/graphics/nxsu/nx_lower.c b/nuttx/graphics/nxsu/nx_lower.c deleted file mode 100644 index 5c47185f8..000000000 --- a/nuttx/graphics/nxsu/nx_lower.c +++ /dev/null @@ -1,99 +0,0 @@ -/**************************************************************************** - * graphics/nxsu/nx_lower.c - * - * Copyright (C) 2008-2009 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <gnutt@nuttx.org> - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * 3. Neither the name NuttX nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - ****************************************************************************/ - -/**************************************************************************** - * Included Files - ****************************************************************************/ - -#include <nuttx/config.h> - -#include <errno.h> -#include <debug.h> - -#include <nuttx/nx/nx.h> -#include "nxfe.h" - -/**************************************************************************** - * Pre-Processor Definitions - ****************************************************************************/ - -/**************************************************************************** - * Private Types - ****************************************************************************/ - -/**************************************************************************** - * Private Data - ****************************************************************************/ - -/**************************************************************************** - * Public Data - ****************************************************************************/ - -/**************************************************************************** - * Private Functions - ****************************************************************************/ - -/**************************************************************************** - * Public Functions - ****************************************************************************/ - -/**************************************************************************** - * Name: nx_raise - * - * Description: - * Lower the specified window to the bottom of the display. - * - * Input parameters: - * hwnd - the window to be lowered - * - * Returned value: - * OK on success; ERROR on failure with errno set appropriately - * - ****************************************************************************/ - -int nx_lower(NXWINDOW hwnd) -{ -#ifdef CONFIG_DEBUG - if (!hwnd) - { - errno = EINVAL; - return ERROR; - } -#endif - - nxbe_lower((FAR struct nxbe_window_s *)hwnd); - return OK; -} - diff --git a/nuttx/graphics/nxsu/nx_mousein.c b/nuttx/graphics/nxsu/nx_mousein.c deleted file mode 100644 index 5b268358b..000000000 --- a/nuttx/graphics/nxsu/nx_mousein.c +++ /dev/null @@ -1,218 +0,0 @@ -/**************************************************************************** - * graphics/nxsu/nx_mousein.c - * - * Copyright (C) 2008-2009, 2011-2012 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <gnutt@nuttx.org> - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * 3. Neither the name NuttX nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - ****************************************************************************/ - -/**************************************************************************** - * Included Files - ****************************************************************************/ - -#include <nuttx/config.h> - -#include <stdint.h> -#include <errno.h> -#include <debug.h> - -#include <nuttx/nx/nxglib.h> -#include <nuttx/nx/nx.h> - -#include "nxfe.h" - -#ifdef CONFIG_NX_MOUSE - -/**************************************************************************** - * Pre-Processor Definitions - ****************************************************************************/ - -/**************************************************************************** - * Private Types - ****************************************************************************/ - -/**************************************************************************** - * Private Data - ****************************************************************************/ - -static struct nxgl_point_s g_mpos; -static struct nxgl_point_s g_mrange; -static uint8_t g_mbutton; -static struct nxbe_window_s *g_mwnd; - -/**************************************************************************** - * Public Data - ****************************************************************************/ - -/**************************************************************************** - * Private Functions - ****************************************************************************/ - -/**************************************************************************** - * Public Functions - ****************************************************************************/ - -/**************************************************************************** - * Name: nxsu_mouseinit - * - * Description: - * Initialize with the mouse in the center of the display - * - ****************************************************************************/ - -void nxsu_mouseinit(int x, int y) -{ - g_mrange.x = x; - g_mrange.y = y; - g_mpos.x = x / 2; - g_mpos.y = y / 2; - g_mbutton = 0; -} - -/**************************************************************************** - * Name: nxsu_mousereport - * - * Description: - * Report mouse position info to the specified window - * - * Input Parameters: - * wnd - The window to receive the mouse report - * - * Returned Value: - * 0: Mouse report sent; >0: Mouse report not sent; <0: An error occurred - * - ****************************************************************************/ - -int nxsu_mousereport(struct nxbe_window_s *wnd) -{ - struct nxgl_point_s relpos; - - /* Does this window support mouse callbacks? */ - - if (wnd->cb->mousein) - { - /* Yes.. Is the mouse position visible in this window? */ - - if (nxbe_visible(wnd, &g_mpos)) - { - /* Yes... Convert the mouse position to window relative coordinates */ - - nxgl_vectsubtract(&relpos, &g_mpos, &wnd->bounds.pt1); - wnd->cb->mousein((NXWINDOW)wnd, &relpos, g_mbutton, wnd->arg); - return OK; - } - } - - /* No error occurred, but the mouse report was not sent */ - - return 1; -} - -/**************************************************************************** - * Name: nx_mousein - * - * Description: - * Used by a thread or interrupt handler that manages some kind of pointing - * hardware to report new positional data to the NX server. That positional - * data will be routed by the NX server to the appropriate window client. - * - ****************************************************************************/ - -int nx_mousein(NXHANDLE handle, nxgl_coord_t x, nxgl_coord_t y, uint8_t buttons) -{ - FAR struct nxfe_state_s *fe = (FAR struct nxfe_state_s *)handle; - struct nxbe_window_s *wnd; - uint8_t oldbuttons; - int ret; - - /* Clip x and y to within the bounding rectangle */ - - if (x < 0) - { - x = 0; - } - else if (x >= g_mrange.x) - { - x = g_mrange.x - 1; - } - - if (y < 0) - { - y = 0; - } - else if (y >= g_mrange.y) - { - y = g_mrange.y - 1; - } - - /* Look any change in values */ - - if (x != g_mpos.x || y != g_mpos.y || buttons != g_mbutton) - { - /* Update the mouse value */ - - oldbuttons = g_mbutton; - g_mpos.x = x; - g_mpos.y = y; - g_mbutton = buttons; - - /* If a button is already down, regard this as part of a mouse drag - * event. Pass all the following events to the window where the drag - * started in. - */ - - if (oldbuttons && g_mwnd && g_mwnd->cb->mousein) - { - struct nxgl_point_s relpos; - nxgl_vectsubtract(&relpos, &g_mpos, &g_mwnd->bounds.pt1); - g_mwnd->cb->mousein((NXWINDOW)g_mwnd, &relpos, g_mbutton, g_mwnd->arg); - return OK; - } - - /* Pick the window to receive the mouse event. Start with the top - * window and go down. Step with the first window that gets the mouse - * report - */ - - for (wnd = fe->be.topwnd; wnd; wnd = wnd->below) - { - ret = nxsu_mousereport(wnd); - if (ret == 0) - { - break; - } - } - - g_mwnd = wnd; - } - return OK; -} - -#endif /* CONFIG_NX_MOUSE */ diff --git a/nuttx/graphics/nxsu/nx_move.c b/nuttx/graphics/nxsu/nx_move.c deleted file mode 100644 index 9fb303147..000000000 --- a/nuttx/graphics/nxsu/nx_move.c +++ /dev/null @@ -1,101 +0,0 @@ -/**************************************************************************** - * graphics/nxsu/nx_move.c - * - * Copyright (C) 2008-2009 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <gnutt@nuttx.org> - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * 3. Neither the name NuttX nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - ****************************************************************************/ - -/**************************************************************************** - * Included Files - ****************************************************************************/ - -#include <nuttx/config.h> - -#include <errno.h> -#include <debug.h> - -#include <nuttx/nx/nx.h> -#include "nxfe.h" - -/**************************************************************************** - * Pre-Processor Definitions - ****************************************************************************/ - -/**************************************************************************** - * Private Types - ****************************************************************************/ - -/**************************************************************************** - * Private Data - ****************************************************************************/ - -/**************************************************************************** - * Public Data - ****************************************************************************/ - -/**************************************************************************** - * Private Functions - ****************************************************************************/ - -/**************************************************************************** - * Public Functions - ****************************************************************************/ - -/**************************************************************************** - * Name: nx_move - * - * Description: - * Move a rectangular region within the window - * - * Input Parameters: - * hwnd - The window within which the move is to be done - * rect - Describes the rectangular region to move - * offset - The offset to move the region - * - * Return: - * OK on success; ERROR on failure with errno set appropriately - * - ****************************************************************************/ - -int nx_move(NXWINDOW hwnd, FAR const struct nxgl_rect_s *rect, - FAR const struct nxgl_point_s *offset) -{ -#ifdef CONFIG_DEBUG - if (!hwnd) - { - errno = EINVAL; - return ERROR; - } -#endif - - nxbe_move((FAR struct nxbe_window_s *)hwnd, rect, offset); - return OK; -} diff --git a/nuttx/graphics/nxsu/nx_open.c b/nuttx/graphics/nxsu/nx_open.c deleted file mode 100644 index 72a2db058..000000000 --- a/nuttx/graphics/nxsu/nx_open.c +++ /dev/null @@ -1,218 +0,0 @@ -/**************************************************************************** - * graphics/nxsu/nx_open.c - * - * Copyright (C) 2008-2010 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <gnutt@nuttx.org> - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * 3. Neither the name NuttX nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - ****************************************************************************/ - -/**************************************************************************** - * Included Files - ****************************************************************************/ - -#include <nuttx/config.h> - -#include <stdbool.h> -#include <stdio.h> -#include <stdlib.h> -#include <errno.h> -#include <debug.h> - -#include <nuttx/nx/nx.h> -#include "nxfe.h" - -/**************************************************************************** - * Pre-Processor Definitions - ****************************************************************************/ - -/**************************************************************************** - * Private Types - ****************************************************************************/ - -/**************************************************************************** - * Private Function Prototypes - ****************************************************************************/ - -static void nxsu_bkgdredraw(NXWINDOW hwnd, - FAR const struct nxgl_rect_s *rect, - bool more, FAR void *arg); - -/**************************************************************************** - * Private Data - ****************************************************************************/ - -/**************************************************************************** - * Public Data - ****************************************************************************/ - -const struct nx_callback_s g_bkgdcb = -{ - nxsu_bkgdredraw, /* redraw */ - NULL /* position */ -#ifdef CONFIG_NX_MOUSE - , NULL /* mousein */ -#endif -#ifdef CONFIG_NX_KBD - , NULL /* my kbdin */ -#endif -}; - -/**************************************************************************** - * Private Functions - ****************************************************************************/ - -/**************************************************************************** - * Name: nxsu_bkgdredraw - ****************************************************************************/ - -static void nxsu_bkgdredraw(NXWINDOW hwnd, - FAR const struct nxgl_rect_s *rect, - bool more, FAR void *arg) -{ - FAR struct nxbe_window_s *wnd = (FAR struct nxbe_window_s *)hwnd; - FAR struct nxbe_state_s *be = wnd->be; - - gvdbg("BG redraw rect={(%d,%d),(%d,%d)}\n", - rect->pt1.x, rect->pt1.y, rect->pt2.x, rect->pt2.y); - nxbe_fill(wnd, &wnd->bounds, be->bgcolor); -} - -/**************************************************************************** - * Name: nxsu_setup - ****************************************************************************/ - -static inline int nxsu_setup(FAR NX_DRIVERTYPE *dev, - FAR struct nxfe_state_s *fe) -{ - int ret; - - /* Configure the framebuffer device */ - - ret = nxbe_configure(dev, &fe->be); - if (ret < 0) - { - gdbg("nxbe_configure failed: %d\n", -ret); - errno = -ret; - return ERROR; - } - -#if CONFIG_FB_CMAP - ret = nxbe_colormap(dev); - if (ret < 0) - { - gdbg("nxbe_colormap failed: %d\n", -ret); - errno = -ret; - return ERROR; - } -#endif - - /* Initialize the non-NULL elements of the back-end structure window */ - /* Initialize the background window */ - - fe->be.bkgd.be = &fe->be; - fe->be.bkgd.cb = &g_bkgdcb; - - fe->be.bkgd.bounds.pt2.x = fe->be.vinfo.xres - 1; - fe->be.bkgd.bounds.pt2.y = fe->be.vinfo.yres - 1; - - /* Complete initialization of the server state structure. The - * window list contains only one element: The background window - * with nothing else above or below it - */ - - fe->be.topwnd = &fe->be.bkgd; - - /* Initialize the mouse position */ - -#ifdef CONFIG_NX_MOUSE - nxsu_mouseinit(fe->be.vinfo.xres, fe->be.vinfo.yres); -#endif - return OK; -} - -/**************************************************************************** - * Public Functions - ****************************************************************************/ - -/**************************************************************************** - * Name: nx_open - * - * Description: - * Create, initialize and return an NX handle for use in subsequent - * NX API calls. nx_open is the single user equivalent of nx_connect - * plus nx_run. - * - * Input Parameters: - * dev - Vtable "object" of the framebuffer/LCD "driver" to use - * - * Return: - * Success: A non-NULL handle used with subsequent NX accesses - * Failure: NULL is returned and errno is set appropriately - * - ****************************************************************************/ - -NXHANDLE nx_open(FAR NX_DRIVERTYPE *dev) -{ - FAR struct nxfe_state_s *fe; - int ret; - - /* Sanity checking */ - -#ifdef CONFIG_DEBUG - if (!dev) - { - errno = EINVAL; - return NULL; - } -#endif - - /* Allocate the NX state structure */ - - fe = (FAR struct nxfe_state_s *)zalloc(sizeof(struct nxfe_state_s)); - if (!fe) - { - errno = ENOMEM; - return NULL; - } - - /* Initialize and configure the server */ - - ret = nxsu_setup(dev, fe); - if (ret < 0) - { - return NULL; /* nxsu_setup sets errno */ - } - - /* Fill the initial background window */ - - nxbe_fill(&fe->be.bkgd, &fe->be.bkgd.bounds, fe->be.bgcolor); - return (NXHANDLE)fe; -} - diff --git a/nuttx/graphics/nxsu/nx_openwindow.c b/nuttx/graphics/nxsu/nx_openwindow.c deleted file mode 100644 index 64f4ed76d..000000000 --- a/nuttx/graphics/nxsu/nx_openwindow.c +++ /dev/null @@ -1,127 +0,0 @@ -/**************************************************************************** - * graphics/nxsu/nx_openwindow.c - * - * Copyright (C) 2008-2009, 2012 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <gnutt@nuttx.org> - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * 3. Neither the name NuttX nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - ****************************************************************************/ - -/**************************************************************************** - * Included Files - ****************************************************************************/ - -#include <nuttx/config.h> - -#include <stdlib.h> -#include <errno.h> -#include <debug.h> - -#include <nuttx/nx/nx.h> -#include "nxfe.h" - -/**************************************************************************** - * Pre-Processor Definitions - ****************************************************************************/ - -/**************************************************************************** - * Private Types - ****************************************************************************/ - -/**************************************************************************** - * Private Data - ****************************************************************************/ - -/**************************************************************************** - * Public Data - ****************************************************************************/ - -/**************************************************************************** - * Private Functions - ****************************************************************************/ - -/**************************************************************************** - * Public Functions - ****************************************************************************/ - -/**************************************************************************** - * Name: nx_openwindow - * - * Description: - * Create a new window. - * - * Input Parameters: - * handle - The handle returned by nx_connect - * cb - Callbacks used to process windo events - * arg - User provided value that will be returned with NX callbacks. - * - * Return: - * Success: A non-NULL handle used with subsequent NX accesses - * Failure: NULL is returned and errno is set appropriately - * - ****************************************************************************/ - -NXWINDOW nx_openwindow(NXHANDLE handle, FAR const struct nx_callback_s *cb, - FAR void *arg) -{ - FAR struct nxbe_window_s *wnd; - int ret; - -#ifdef CONFIG_DEBUG - if (!handle || !cb) - { - errno = EINVAL; - return NULL; - } -#endif - - /* Pre-allocate the window structure */ - - wnd = (FAR struct nxbe_window_s *)zalloc(sizeof(struct nxbe_window_s)); - if (!wnd) - { - errno = ENOMEM; - return NULL; - } - - /* Then let nxfe_constructwindow do the rest */ - - ret = nxfe_constructwindow(handle, wnd, cb, arg); - if (ret < 0) - { - /* An error occurred, the window has been freed */ - - return NULL; - } - - /* Return the initialized window reference */ - - return (NXWINDOW)wnd; -} - diff --git a/nuttx/graphics/nxsu/nx_raise.c b/nuttx/graphics/nxsu/nx_raise.c deleted file mode 100644 index e0ede5400..000000000 --- a/nuttx/graphics/nxsu/nx_raise.c +++ /dev/null @@ -1,99 +0,0 @@ -/**************************************************************************** - * graphics/nxsu/nx_raise.c - * - * Copyright (C) 2008-2009 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <gnutt@nuttx.org> - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * 3. Neither the name NuttX nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - ****************************************************************************/ - -/**************************************************************************** - * Included Files - ****************************************************************************/ - -#include <nuttx/config.h> - -#include <errno.h> -#include <debug.h> - -#include <nuttx/nx/nx.h> -#include "nxfe.h" - -/**************************************************************************** - * Pre-Processor Definitions - ****************************************************************************/ - -/**************************************************************************** - * Private Types - ****************************************************************************/ - -/**************************************************************************** - * Private Data - ****************************************************************************/ - -/**************************************************************************** - * Public Data - ****************************************************************************/ - -/**************************************************************************** - * Private Functions - ****************************************************************************/ - -/**************************************************************************** - * Public Functions - ****************************************************************************/ - -/**************************************************************************** - * Name: nx_raise - * - * Description: - * Bring the specified window to the top of the display. - * - * Input parameters: - * hwnd - the window to be raised - * - * Returned value: - * OK on success; ERROR on failure with errno set appropriately - * - ****************************************************************************/ - -int nx_raise(NXWINDOW hwnd) -{ -#ifdef CONFIG_DEBUG - if (!hwnd) - { - errno = EINVAL; - return ERROR; - } -#endif - - nxbe_raise((FAR struct nxbe_window_s *)hwnd); - return OK; -} - diff --git a/nuttx/graphics/nxsu/nx_releasebkgd.c b/nuttx/graphics/nxsu/nx_releasebkgd.c deleted file mode 100644 index b0cbbf5c1..000000000 --- a/nuttx/graphics/nxsu/nx_releasebkgd.c +++ /dev/null @@ -1,109 +0,0 @@ -/**************************************************************************** - * graphics/nxsu/nx_releasebkgd.c - * - * Copyright (C) 2008-2009 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <gnutt@nuttx.org> - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * 3. Neither the name NuttX nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - ****************************************************************************/ - -/**************************************************************************** - * Included Files - ****************************************************************************/ - -#include <nuttx/config.h> - -#include <errno.h> -#include <debug.h> - -#include <nuttx/nx/nx.h> -#include "nxfe.h" - -/**************************************************************************** - * Pre-Processor Definitions - ****************************************************************************/ - -/**************************************************************************** - * Private Types - ****************************************************************************/ - -/**************************************************************************** - * Private Data - ****************************************************************************/ - -/**************************************************************************** - * Public Data - ****************************************************************************/ - -/**************************************************************************** - * Private Functions - ****************************************************************************/ - -/**************************************************************************** - * Public Functions - ****************************************************************************/ - -/**************************************************************************** - * Name: nx_releasebkgd - * - * Description: - * Release the background window previously acquired using nx_openbgwindow - * and return control of the background to NX. - * - * Input Parameters: - * hwnd - The handle returned (indirectly) by nx_requestbkgd - * - * Return: - * OK on success; ERROR on failure with errno set appropriately - * - ****************************************************************************/ - -int nx_releasebkgd(NXWINDOW hwnd) -{ - FAR struct nxbe_window_s *bkgd = (FAR struct nxbe_window_s *)hwnd; - -#ifdef CONFIG_DEBUG - if (!bkgd) - { - errno = EINVAL; - return ERROR; - } -#endif - - /* Restore the NX background window callbacks */ - - bkgd->cb = &g_bkgdcb; - bkgd->arg = NULL; - - /* Redraw the background window */ - - nxfe_redrawreq(bkgd, &bkgd->bounds); - return OK; -} - diff --git a/nuttx/graphics/nxsu/nx_requestbkgd.c b/nuttx/graphics/nxsu/nx_requestbkgd.c deleted file mode 100644 index 7f0ab12f2..000000000 --- a/nuttx/graphics/nxsu/nx_requestbkgd.c +++ /dev/null @@ -1,155 +0,0 @@ -/**************************************************************************** - * graphics/nxsu/nx_requestbkgd.c - * - * Copyright (C) 2008-2009 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <gnutt@nuttx.org> - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * 3. Neither the name NuttX nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - ****************************************************************************/ - -/**************************************************************************** - * Included Files - ****************************************************************************/ - -#include <nuttx/config.h> - -#include <errno.h> -#include <debug.h> - -#include <nuttx/nx/nx.h> -#include "nxfe.h" - -/**************************************************************************** - * Pre-Processor Definitions - ****************************************************************************/ - -/**************************************************************************** - * Private Types - ****************************************************************************/ - -/**************************************************************************** - * Private Data - ****************************************************************************/ - -/**************************************************************************** - * Public Data - ****************************************************************************/ - -/**************************************************************************** - * Private Functions - ****************************************************************************/ - -/**************************************************************************** - * Public Functions - ****************************************************************************/ - -/**************************************************************************** - * Name: nx_requestbkgd - * - * Description: - * NX normally controls a separate window called the background window. - * It repaints the window as necessary using only a solid color fill. The - * background window always represents the entire screen and is always - * below other windows. It is useful for an application to control the - * background window in the following conditions: - * - * - If you want to implement a windowless solution. The single screen - * can be used to creat a truly simple graphic environment. In this - * case, you should probably also de-select CONFIG_NX_MULTIUSER as well. - * - When you want more on the background than a solid color. For - * example, if you want an image in the background, or animations in the - * background, or live video, etc. - * - * This API only requests the handle of the background window. That - * handle will be returned asynchronously in a subsequent position and - * redraw callbacks. - * - * Cautions: - * - The following should never be called using the background window. - * They are guaranteed to cause severe crashes: - * - * nx_setposition, nx_setsize, nx_raise, nx_lower. - * - * - Neither nx_opengbwindow or nx_closebgwindow should be called more than - * once. Multiple instances of the background window are not supported. - * - * Input Parameters: - * handle - The handle returned by nx_connect - * cb - Callbacks to use for processing background window events - * arg - User provided argument (see nx_openwindow, nx_constructwindow) - * - * Return: - * OK on success; ERROR on failure with errno set appropriately - * - ****************************************************************************/ - -int nx_requestbkgd(NXHANDLE handle, FAR const struct nx_callback_s *cb, - FAR void *arg) -{ - FAR struct nxfe_state_s *fe = (FAR struct nxfe_state_s *)handle; - FAR struct nxbe_state_s *be = &fe->be; - -#ifdef CONFIG_DEBUG - if (!fe || !cb) - { - errno = EINVAL; - return ERROR; - } -#endif - - /* Replace the NX background windo callbacks with the client's callbacks */ - - be->bkgd.cb = cb; - be->bkgd.arg = arg; - - /* Report the size/position of the background window to the client */ - - nxfe_reportposition((NXWINDOW)&be->bkgd); - - /* Redraw the background window */ - - nxfe_redrawreq(&be->bkgd, &be->bkgd.bounds); - - /* Provide the mouse settings to the client */ - -#ifdef CONFIG_NX_MOUSE - nxsu_mousereport(&be->bkgd); -#endif - - /* In this single-user mode, we could return the background window - * handle here. However, we cannot do that in the multi-user case - * because that handle is known only to the server. Instead, the - * background window handle is returned to the client via a redraw - * callback. So we will do the same in the single-user case for - * compatibility. - */ - - return OK; -} - diff --git a/nuttx/graphics/nxsu/nx_setbgcolor.c b/nuttx/graphics/nxsu/nx_setbgcolor.c deleted file mode 100644 index 5f9818855..000000000 --- a/nuttx/graphics/nxsu/nx_setbgcolor.c +++ /dev/null @@ -1,103 +0,0 @@ -/**************************************************************************** - * graphics/nxsu/nx_setbgcolor.c - * - * Copyright (C) 2008-2009 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <gnutt@nuttx.org> - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * 3. Neither the name NuttX nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - ****************************************************************************/ - -/**************************************************************************** - * Included Files - ****************************************************************************/ - -#include <nuttx/config.h> - -#include <errno.h> -#include <debug.h> - -#include <nuttx/nx/nx.h> -#include "nxfe.h" - -/**************************************************************************** - * Pre-Processor Definitions - ****************************************************************************/ - -/**************************************************************************** - * Private Types - ****************************************************************************/ - -/**************************************************************************** - * Private Data - ****************************************************************************/ - -/**************************************************************************** - * Public Data - ****************************************************************************/ - -/**************************************************************************** - * Private Functions - ****************************************************************************/ - -/**************************************************************************** - * Public Functions - ****************************************************************************/ - -/**************************************************************************** - * Name: nx_setbgcolor - * - * Description: - * Set the color of the background - * - * Input Parameters: - * handle - The connection handle - * color - The color to use in the background - * - * Return: - * OK on success; ERROR on failure with errno set appropriately - * - ****************************************************************************/ - -int nx_setbgcolor(NXHANDLE handle, - nxgl_mxpixel_t color[CONFIG_NX_NPLANES]) -{ - FAR struct nxfe_state_s *fe = (FAR struct nxfe_state_s *)handle; - -#ifdef CONFIG_DEBUG - if (!fe) - { - errno = EINVAL; - return ERROR; - } -#endif - - nxgl_colorcopy(fe->be.bgcolor, color); - nxbe_fill(&fe->be.bkgd, &fe->be.bkgd.bounds, color); - return OK; -} diff --git a/nuttx/graphics/nxsu/nx_setpixel.c b/nuttx/graphics/nxsu/nx_setpixel.c deleted file mode 100644 index 533e3b623..000000000 --- a/nuttx/graphics/nxsu/nx_setpixel.c +++ /dev/null @@ -1,104 +0,0 @@ -/**************************************************************************** - * graphics/nxsu/nx_setpixel.c - * - * Copyright (C) 2008-2011 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <gnutt@nuttx.org> - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * 3. Neither the name NuttX nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - ****************************************************************************/ - -/**************************************************************************** - * Included Files - ****************************************************************************/ - -#include <nuttx/config.h> - -#include <mqueue.h> -#include <errno.h> -#include <debug.h> - -#include <nuttx/nx/nx.h> - -#include "nxfe.h" - -/**************************************************************************** - * Pre-Processor Definitions - ****************************************************************************/ - -/**************************************************************************** - * Private Types - ****************************************************************************/ - -/**************************************************************************** - * Private Data - ****************************************************************************/ - -/**************************************************************************** - * Public Data - ****************************************************************************/ - -/**************************************************************************** - * Private Functions - ****************************************************************************/ - -/**************************************************************************** - * Public Functions - ****************************************************************************/ - -/**************************************************************************** - * Name: nx_setpixel - * - * Description: - * Set a single pixel in the window to the specified color. This is simply - * a degenerate case of nx_fill(), but may be optimized in some architectures. - * - * Input Parameters: - * wnd - The window structure reference - * pos - The pixel location to be set - * col - The color to use in the set - * - * Return: - * None - * - ****************************************************************************/ - -int nx_setpixel(NXWINDOW hwnd, FAR const struct nxgl_point_s *pos, - nxgl_mxpixel_t color[CONFIG_NX_NPLANES]) -{ -#ifdef CONFIG_DEBUG - if (!hwnd || !pos || !color) - { - errno = EINVAL; - return ERROR; - } -#endif - - nxbe_setpixel((FAR struct nxbe_window_s *)hwnd, pos, color); - return 0; -} diff --git a/nuttx/graphics/nxsu/nx_setposition.c b/nuttx/graphics/nxsu/nx_setposition.c deleted file mode 100644 index ed0e5e3f4..000000000 --- a/nuttx/graphics/nxsu/nx_setposition.c +++ /dev/null @@ -1,99 +0,0 @@ -/**************************************************************************** - * graphics/nxsu/nx_setposition.c - * - * Copyright (C) 2008-2009, 2012 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <gnutt@nuttx.org> - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * 3. Neither the name NuttX nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - ****************************************************************************/ - -/**************************************************************************** - * Included Files - ****************************************************************************/ - -#include <nuttx/config.h> - -#include <errno.h> -#include <debug.h> - -#include <nuttx/nx/nx.h> -#include "nxfe.h" - -/**************************************************************************** - * Pre-Processor Definitions - ****************************************************************************/ - -/**************************************************************************** - * Private Types - ****************************************************************************/ - -/**************************************************************************** - * Private Data - ****************************************************************************/ - -/**************************************************************************** - * Public Data - ****************************************************************************/ - -/**************************************************************************** - * Private Functions - ****************************************************************************/ - -/**************************************************************************** - * Public Functions - ****************************************************************************/ - -/**************************************************************************** - * Name: nx_setposition - * - * Description: - * Set the position and size for the selected window - * - * Input Parameters: - * hwnd - The window handle - * pos - The new position of the window - * - * Return: - * OK on success; ERROR on failure with errno set appropriately - * - ****************************************************************************/ - -int nx_setposition(NXWINDOW hwnd, FAR const struct nxgl_point_s *pos) -{ -#ifdef CONFIG_DEBUG - if (!hwnd || !pos) - { - errno = EINVAL; - return ERROR; - } -#endif - - nxbe_setposition((FAR struct nxbe_window_s *)hwnd, pos); - return OK; -} diff --git a/nuttx/graphics/nxsu/nx_setsize.c b/nuttx/graphics/nxsu/nx_setsize.c deleted file mode 100644 index 4872abf03..000000000 --- a/nuttx/graphics/nxsu/nx_setsize.c +++ /dev/null @@ -1,99 +0,0 @@ -/**************************************************************************** - * graphics/nxsu/nx_setsize.c - * - * Copyright (C) 2008-2009 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <gnutt@nuttx.org> - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * 3. Neither the name NuttX nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - ****************************************************************************/ - -/**************************************************************************** - * Included Files - ****************************************************************************/ - -#include <nuttx/config.h> - -#include <errno.h> -#include <debug.h> - -#include <nuttx/nx/nx.h> -#include "nxfe.h" - -/**************************************************************************** - * Pre-Processor Definitions - ****************************************************************************/ - -/**************************************************************************** - * Private Types - ****************************************************************************/ - -/**************************************************************************** - * Private Data - ****************************************************************************/ - -/**************************************************************************** - * Public Data - ****************************************************************************/ - -/**************************************************************************** - * Private Functions - ****************************************************************************/ - -/**************************************************************************** - * Public Functions - ****************************************************************************/ - -/**************************************************************************** - * Name: nx_setsize - * - * Description: - * Set the size of the selected window - * - * Input Parameters: - * hwnd - The window handle - * size - The new size of the window. - * - * Return: - * OK on success; ERROR on failure with errno set appropriately - * - ****************************************************************************/ - -int nx_setsize(NXWINDOW hwnd, FAR const struct nxgl_size_s *size) -{ -#ifdef CONFIG_DEBUG - if (!hwnd || !size) - { - errno = EINVAL; - return ERROR; - } -#endif - - nxbe_setsize((FAR struct nxbe_window_s *)hwnd, size); - return OK; -} diff --git a/nuttx/graphics/nxsu/nxfe.h b/nuttx/graphics/nxsu/nxfe.h deleted file mode 100644 index 528224fc1..000000000 --- a/nuttx/graphics/nxsu/nxfe.h +++ /dev/null @@ -1,185 +0,0 @@ -/**************************************************************************** - * graphics/nxsu/nxfe.h - * - * Copyright (C) 2008-2010 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <gnutt@nuttx.org> - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * 3. Neither the name NuttX nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - ****************************************************************************/ - -#ifndef __GRAPHICS_NXSU_NXFE_H -#define __GRAPHICS_NXSU_NXFE_H - -/**************************************************************************** - * Included Files - ****************************************************************************/ - -#include <nuttx/config.h> - -#include <mqueue.h> -#include <semaphore.h> - -#include <nuttx/nx/nx.h> - -#include "nxbe.h" - -/**************************************************************************** - * Pre-Processor Definitions - ****************************************************************************/ - -/**************************************************************************** - * Public Types - ****************************************************************************/ - -/* Server state structure ***************************************************/ - -/* This the server 'front-end' state structure. It is really the same - * as the back-end state, but we wrap the back-end state so that we can add - * things to the structure in the future - */ - -struct nxfe_state_s -{ - /* The 'back-end' window status. Must be first so that instances of - * struct nxbe_state_s can be simply cast to an instance of struct - * nxfe_state_s - */ - - struct nxbe_state_s be; -}; - -/**************************************************************************** - * Public Data - ****************************************************************************/ - -#undef EXTERN -#if defined(__cplusplus) -#define EXTERN extern "C" -extern "C" { -#else -#define EXTERN extern -#endif - -EXTERN const struct nx_callback_s g_bkgdcb; - -/**************************************************************************** - * Public Functions - ****************************************************************************/ - -/**************************************************************************** - * Name: nxfe_constructwindow - * - * Description: - * This function is the same a nx_openwindow EXCEPT that the client provides - * the window structure instance. nx_constructwindow will initialize the - * the pre-allocated window structure for use by NX. This function is - * provided in addition to nx_open window in order to support a kind of - * inheritance: The caller's window structure may include extensions that - * are not visible to NX. - * - * NOTE: wnd must have been allocated using malloc() (or related allocators) - * Once provided to nxfe_constructwindow() that memory is owned and managed - * by NX. On certain error conditions or when the window is closed, NX will - * free() the window. - * - * Input Parameters: - * handle - The handle returned by nx_connect - * wnd - The pre-allocated window structure. - * cb - Callbacks used to process window events - * arg - User provided value that will be returned with NX callbacks. - * - * Return: - * OK on success; ERROR on failure with errno set appropriately. In the - * case of ERROR, NX will have dealloated the pre-allocated window. - * - ****************************************************************************/ - -EXTERN int nxfe_constructwindow(NXHANDLE handle, - FAR struct nxbe_window_s *wnd, - FAR const struct nx_callback_s *cb, - FAR void *arg); - -/**************************************************************************** - * Name: nxfe_redrawreq - * - * Descripton: - * Request the client that has this window to redraw the rectangular region. - * - ****************************************************************************/ - -EXTERN void nxfe_redrawreq(FAR struct nxbe_window_s *wnd, - FAR const struct nxgl_rect_s *rect); - -/**************************************************************************** - * Name: nxfe_reportposition - * - * Descripton: - * Report the new size/position of the window. - * - ****************************************************************************/ - -EXTERN void nxfe_reportposition(FAR struct nxbe_window_s *wnd); - -/**************************************************************************** - * Name: nxmu_mouseinit - * - * Description: - * Initialize with the mouse in the center of the display - * - ****************************************************************************/ - -#ifdef CONFIG_NX_MOUSE -EXTERN void nxsu_mouseinit(int x, int y); -#endif - -/**************************************************************************** - * Name: nxmu_mousereport - * - * Description: - * Report mouse position info to the specified window - * - * Input Parameters: - * wnd - The window to receive the mouse report - * - * Returned Value: - * 0: Mouse report sent; >0: Mouse report not sent; <0: An error occurred - * - ****************************************************************************/ - -#ifdef CONFIG_NX_MOUSE -EXTERN int nxsu_mousereport(struct nxbe_window_s *wnd); -#endif - -#undef EXTERN -#if defined(__cplusplus) -} -#endif - -#endif /* __GRAPHICS_NXSU_NXFE_H */ - diff --git a/nuttx/graphics/nxsu/nxsu_constructwindow.c b/nuttx/graphics/nxsu/nxsu_constructwindow.c deleted file mode 100644 index f812b3f83..000000000 --- a/nuttx/graphics/nxsu/nxsu_constructwindow.c +++ /dev/null @@ -1,150 +0,0 @@ -/**************************************************************************** - * graphics/nxsu/nx_openwindow.c - * - * Copyright (C) 2008-2009, 2012 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <gnutt@nuttx.org> - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * 3. Neither the name NuttX nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - ****************************************************************************/ - -/**************************************************************************** - * Included Files - ****************************************************************************/ - -#include <nuttx/config.h> - -#include <stdlib.h> -#include <errno.h> -#include <debug.h> - -#include <nuttx/nx/nx.h> -#include "nxfe.h" - -/**************************************************************************** - * Pre-Processor Definitions - ****************************************************************************/ - -/**************************************************************************** - * Private Types - ****************************************************************************/ - -/**************************************************************************** - * Private Data - ****************************************************************************/ - -/**************************************************************************** - * Public Data - ****************************************************************************/ - -/**************************************************************************** - * Private Functions - ****************************************************************************/ - -/**************************************************************************** - * Public Functions - ****************************************************************************/ - -/**************************************************************************** - * Name: nxfe_constructwindow - * - * Description: - * This function is the same a nx_openwindow EXCEPT that the client provides - * the window structure instance. nx_constructwindow will initialize the - * the pre-allocated window structure for use by NX. This function is - * provided in addition to nx_open window in order to support a kind of - * inheritance: The caller's window structure may include extensions that - * are not visible to NX. - * - * NOTE: wnd must have been allocated using malloc() (or related allocators) - * Once provided to nxfe_constructwindow() that memory is owned and managed - * by NX. On certain error conditions or when the window is closed, NX will - * free() the window. - * - * Input Parameters: - * handle - The handle returned by nx_connect - * wnd - The pre-allocated window structure. - * cb - Callbacks used to process window events - * arg - User provided value that will be returned with NX callbacks. - * - * Return: - * OK on success; ERROR on failure with errno set appropriately. In the - * case of ERROR, NX will have dealloated the pre-allocated window. - * - ****************************************************************************/ - -int nxfe_constructwindow(NXHANDLE handle, FAR struct nxbe_window_s *wnd, - FAR const struct nx_callback_s *cb, FAR void *arg) -{ - FAR struct nxfe_state_s *fe = (FAR struct nxfe_state_s *)handle; - FAR struct nxbe_state_s *be = &fe->be; - -#ifdef CONFIG_DEBUG - if (!wnd) - { - errno = EINVAL; - return ERROR; - } - - if (!fe || !cb) - { - free(wnd); - errno = EINVAL; - return ERROR; - } -#endif - - /* Initialize the window structure */ - - wnd->be = be; - wnd->cb = cb; - wnd->arg = arg; - - /* Insert the new window at the top on the display. topwnd is - * never NULL (it may point only at the background window, however) - */ - - wnd->above = NULL; - wnd->below = be->topwnd; - - be->topwnd->above = wnd; - be->topwnd = wnd; - - /* Report the initialize size/position of the window */ - - nxfe_reportposition((NXWINDOW)wnd); - - /* Provide the initial mouse settings */ - -#ifdef CONFIG_NX_MOUSE - nxsu_mousereport(wnd); -#endif - - return OK; -} - diff --git a/nuttx/graphics/nxsu/nxsu_redrawreq.c b/nuttx/graphics/nxsu/nxsu_redrawreq.c deleted file mode 100644 index 21845f16f..000000000 --- a/nuttx/graphics/nxsu/nxsu_redrawreq.c +++ /dev/null @@ -1,104 +0,0 @@ -/**************************************************************************** - * graphics/nxsu/nxsu_redrawreq.c - * - * Copyright (C) 2008-2009 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <gnutt@nuttx.org> - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * 3. Neither the name NuttX nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - ****************************************************************************/ - -/**************************************************************************** - * Included Files - ****************************************************************************/ - -#include <nuttx/config.h> - -#include <stdbool.h> -#include <errno.h> -#include <debug.h> - -#include <nuttx/nx/nx.h> -#include "nxfe.h" - -/**************************************************************************** - * Pre-Processor Definitions - ****************************************************************************/ - -/**************************************************************************** - * Private Types - ****************************************************************************/ - -/**************************************************************************** - * Private Data - ****************************************************************************/ - -/**************************************************************************** - * Public Data - ****************************************************************************/ - -/**************************************************************************** - * Private Functions - ****************************************************************************/ - -/**************************************************************************** - * Public Functions - ****************************************************************************/ - -/**************************************************************************** - * Name: nxfe_redrawreq - * - * Descripton: - * Request the client that has this window to redraw the rectangular region. - * - ****************************************************************************/ - -void nxfe_redrawreq(FAR struct nxbe_window_s *wnd, FAR const struct nxgl_rect_s *rect) -{ - struct nxgl_rect_s relrect; - -#ifdef CONFIG_DEBUG - if (!wnd) - { - return; - } -#endif - - if (wnd->cb->redraw) - { - /* Convert the frame rectangle to a window-relative rectangle */ - - nxgl_rectoffset(&relrect, rect, -wnd->bounds.pt1.x, -wnd->bounds.pt1.y); - - /* And request the redraw */ - - wnd->cb->redraw((NXWINDOW)wnd, &relrect, false, wnd->arg); - } -} - - diff --git a/nuttx/graphics/nxsu/nxsu_reportposition.c b/nuttx/graphics/nxsu/nxsu_reportposition.c deleted file mode 100644 index b795a81e6..000000000 --- a/nuttx/graphics/nxsu/nxsu_reportposition.c +++ /dev/null @@ -1,107 +0,0 @@ -/**************************************************************************** - * graphics/nxsu/nxsu_reportposition.c - * - * Copyright (C) 2008-2009,2011 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <gnutt@nuttx.org> - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * 3. Neither the name NuttX nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - ****************************************************************************/ - -/**************************************************************************** - * Included Files - ****************************************************************************/ - -#include <nuttx/config.h> - -#include <errno.h> -#include <debug.h> - -#include <nuttx/nx/nx.h> -#include "nxfe.h" - -/**************************************************************************** - * Pre-Processor Definitions - ****************************************************************************/ - -/**************************************************************************** - * Private Types - ****************************************************************************/ - -/**************************************************************************** - * Private Data - ****************************************************************************/ - -/**************************************************************************** - * Public Data - ****************************************************************************/ - -/**************************************************************************** - * Private Functions - ****************************************************************************/ - -/**************************************************************************** - * Public Functions - ****************************************************************************/ - -/**************************************************************************** - * Name: nxfe_reportposition - * - * Descripton: - * Report the new size/position of the window. - * - ****************************************************************************/ - -void nxfe_reportposition(FAR struct nxbe_window_s *wnd) -{ - FAR struct nxbe_state_s *be; - struct nxgl_size_s size; - -#ifdef CONFIG_DEBUG - if (!wnd) - { - return; - } -#endif - be = wnd->be; - - /* This is very awkward in single user mode, but at least it is compatible. - * with the way things are done in multiple user mode. - */ - - if (wnd->cb->position) - { - /* Get the size of the bounding rectangle */ - - nxgl_rectsize(&size, &wnd->bounds); - - /* And provide this to the client */ - - wnd->cb->position(wnd, &size, &wnd->bounds.pt1, &be->bkgd.bounds, wnd->arg); - } -} diff --git a/nuttx/graphics/nxtk/Make.defs b/nuttx/graphics/nxtk/Make.defs deleted file mode 100644 index cc744309f..000000000 --- a/nuttx/graphics/nxtk/Make.defs +++ /dev/null @@ -1,48 +0,0 @@ -############################################################################ -# graphics/nxtk/Make.defs -# -# Copyright (C) 2008, 2011 Gregory Nutt. All rights reserved. -# Author: Gregory Nutt <gnutt@nuttx.org> -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions -# are met: -# -# 1. Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# 2. Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in -# the documentation and/or other materials provided with the -# distribution. -# 3. Neither the name NuttX nor the names of its contributors may be -# used to endorse or promote products derived from this software -# without specific prior written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS -# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, -# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS -# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED -# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN -# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -# POSSIBILITY OF SUCH DAMAGE. -# -############################################################################ - -NXTK_ASRCS = -NXTKWIN_CSRCS = nxtk_openwindow.c nxtk_closewindow.c nxtk_getposition.c \ - nxtk_setposition.c nxtk_setsize.c nxtk_raise.c nxtk_lower.c \ - nxtk_fillwindow.c nxtk_getwindow.c nxtk_filltrapwindow.c \ - nxtk_movewindow.c nxtk_bitmapwindow.c nxtk_events.c \ - nxtk_setsubwindows.c nxtk_drawcirclewindow.c nxtk_drawlinewindow.c \ - nxtk_fillcirclewindow.c nxtk_block.c -NXTKTB_CSRCS = nxtk_opentoolbar.c nxtk_closetoolbar.c nxtk_filltoolbar.c \ - nxtk_gettoolbar.c nxtk_filltraptoolbar.c nxtk_movetoolbar.c \ - nxtk_bitmaptoolbar.c nxtk_drawcircletoolbar.c nxtk_drawlinetoolbar.c \ - nxtk_fillcircletoolbar.c nxtk_toolbarbounds.c -NXTK_CSRCS = $(NXTKWIN_CSRCS) $(NXTKTB_CSRCS) nxtk_subwindowclip.c \ - nxtk_containerclip.c nxtk_subwindowmove.c nxtk_drawframe.c diff --git a/nuttx/graphics/nxtk/nxtk_bitmaptoolbar.c b/nuttx/graphics/nxtk/nxtk_bitmaptoolbar.c deleted file mode 100644 index 50bd5aff4..000000000 --- a/nuttx/graphics/nxtk/nxtk_bitmaptoolbar.c +++ /dev/null @@ -1,137 +0,0 @@ -/**************************************************************************** - * graphics/nxtk/nxtk_bitmaptoolbar.c - * - * Copyright (C) 2008-2009, 2012 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <gnutt@nuttx.org> - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * 3. Neither the name NuttX nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - ****************************************************************************/ - -/**************************************************************************** - * Included Files - ****************************************************************************/ - -#include <nuttx/config.h> - -#include <errno.h> -#include <debug.h> - -#include <nuttx/nx/nx.h> -#include <nuttx/nx/nxtk.h> - -#include "nxtk_internal.h" - -/**************************************************************************** - * Pre-Processor Definitions - ****************************************************************************/ - -/**************************************************************************** - * Private Types - ****************************************************************************/ - -/**************************************************************************** - * Private Data - ****************************************************************************/ - -/**************************************************************************** - * Public Data - ****************************************************************************/ - -/**************************************************************************** - * Private Functions - ****************************************************************************/ - -/**************************************************************************** - * Public Functions - ****************************************************************************/ - -/**************************************************************************** - * Name: nxtk_bitmaptoolbar - * - * Description: - * Copy a rectangular region of a larger image into the rectangle in the - * specified toolbar sub-window. - * - * Input Parameters: - * hfwnd - The sub-window twhose toolbar will receive the bitmap image - * dest - Describes the rectangular region on in the toolbar sub-window - * will receive the bit map. - * src - The start of the source image. - * origin - The origin of the upper, left-most corner of the full bitmap. - * Both dest and origin are in sub-window coordinates, however, the - * origin may lie outside of the sub-window display. - * stride - The width of the full source image in pixels. - * - * Return: - * OK on success; ERROR on failure with errno set appropriately - * - ****************************************************************************/ - -int nxtk_bitmaptoolbar(NXTKWINDOW hfwnd, FAR const struct nxgl_rect_s *dest, - FAR const void *src[CONFIG_NX_NPLANES], - FAR const struct nxgl_point_s *origin, unsigned int stride) -{ - FAR struct nxtk_framedwindow_s *fwnd = (FAR struct nxtk_framedwindow_s *)hfwnd; - struct nxgl_point_s wndorigin; - struct nxgl_rect_s clipdest; - -#ifdef CONFIG_DEBUG - if (!hfwnd || !dest || !src || !origin) - { - errno = EINVAL; - return ERROR; - } -#endif - - /* Clip the rectangle so that it lies within the sub-window bounds - * then move the rectangle to that it is relative to the containing - * window. - */ - - nxtk_subwindowclip(fwnd, &clipdest, dest, &fwnd->tbrect); - - /* Now, move the bitmap origin so that it is relative to the containing - * window, not the sub-window. - * - * Temporarily, position the origin in absolute screen coordinates - */ - - nxgl_vectoradd(&wndorigin, origin, &fwnd->tbrect.pt1); - - /* Then move the origin so that is relative to the containing window, not the - * client subwindow - */ - - nxgl_vectsubtract(&wndorigin, &wndorigin, &fwnd->wnd.bounds.pt1); - - /* Then copy the bitmap */ - - nx_bitmap((NXWINDOW)hfwnd, &clipdest, src, &wndorigin, stride); - return OK; -} diff --git a/nuttx/graphics/nxtk/nxtk_bitmapwindow.c b/nuttx/graphics/nxtk/nxtk_bitmapwindow.c deleted file mode 100644 index 6847c44d4..000000000 --- a/nuttx/graphics/nxtk/nxtk_bitmapwindow.c +++ /dev/null @@ -1,137 +0,0 @@ -/**************************************************************************** - * graphics/nxtk/nxtk_bitmapwindow.c - * - * Copyright (C) 2008-2009, 2011 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <gnutt@nuttx.org> - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * 3. Neither the name NuttX nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - ****************************************************************************/ - -/**************************************************************************** - * Included Files - ****************************************************************************/ - -#include <nuttx/config.h> - -#include <errno.h> -#include <debug.h> - -#include <nuttx/nx/nxtk.h> -#include <nuttx/nx/nx.h> - -#include "nxtk_internal.h" - -/**************************************************************************** - * Pre-Processor Definitions - ****************************************************************************/ - -/**************************************************************************** - * Private Types - ****************************************************************************/ - -/**************************************************************************** - * Private Data - ****************************************************************************/ - -/**************************************************************************** - * Public Data - ****************************************************************************/ - -/**************************************************************************** - * Private Functions - ****************************************************************************/ - -/**************************************************************************** - * Public Functions - ****************************************************************************/ - -/**************************************************************************** - * Name: nxtk_bitmapwindow - * - * Description: - * Copy a rectangular region of a larger image into the rectangle in the - * specified client sub-window. - * - * Input Parameters: - * hfwnd The client sub0window that will receive the bitmap image - * dest - Describes the rectangular region on in the client sub-window - * will receive the bit map. - * src - The start of the source image. - * origin - The origin of the upper, left-most corner of the full bitmap. - * Both dest and origin are in sub-window coordinates, however, the - * origin may lie outside of the sub-window display. - * stride - The width of the full source image in pixels. - * - * Return: - * OK on success; ERROR on failure with errno set appropriately - * - ****************************************************************************/ - -int nxtk_bitmapwindow(NXTKWINDOW hfwnd, FAR const struct nxgl_rect_s *dest, - FAR const void **src, - FAR const struct nxgl_point_s *origin, unsigned int stride) -{ - FAR struct nxtk_framedwindow_s *fwnd = (FAR struct nxtk_framedwindow_s *)hfwnd; - struct nxgl_point_s wndorigin; - struct nxgl_rect_s clipdest; - -#ifdef CONFIG_DEBUG - if (!hfwnd || !dest || !src || !origin) - { - errno = EINVAL; - return ERROR; - } -#endif - - /* Clip the rectangle so that it lies within the sub-window bounds - * then move the rectangle to that it is relative to the containing - * window. - */ - - nxtk_subwindowclip(fwnd, &clipdest, dest, &fwnd->fwrect); - - /* Now, move the bitmap origin so that it is relative to the containing - * window, not the sub-window. - * - * Temporarily, position the origin in absolute screen coordinates - */ - - nxgl_vectoradd(&wndorigin, origin, &fwnd->fwrect.pt1); - - /* Then move the origin so that is relative to the containing window, not the - * client subwindow - */ - - nxgl_vectsubtract(&wndorigin, &wndorigin, &fwnd->wnd.bounds.pt1); - - /* Then copy the bitmap */ - - nx_bitmap((NXWINDOW)hfwnd, &clipdest, src, &wndorigin, stride); - return OK; -} diff --git a/nuttx/graphics/nxtk/nxtk_block.c b/nuttx/graphics/nxtk/nxtk_block.c deleted file mode 100644 index 11baf7f4f..000000000 --- a/nuttx/graphics/nxtk/nxtk_block.c +++ /dev/null @@ -1,109 +0,0 @@ -/**************************************************************************** - * graphics/nxtk/nxtk_block.c - * - * Copyright (C) 2012 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <gnutt@nuttx.org> - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * 3. Neither the name NuttX nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - ****************************************************************************/ - -/**************************************************************************** - * Included Files - ****************************************************************************/ - -#include <nuttx/config.h> - -#include <nuttx/nx/nx.h> -#include <nuttx/nx/nxtk.h> - -#include "nxfe.h" - -#ifdef CONFIG_NX_MULTIUSER - -/**************************************************************************** - * Pre-Processor Definitions - ****************************************************************************/ - -/**************************************************************************** - * Private Types - ****************************************************************************/ - -/**************************************************************************** - * Private Data - ****************************************************************************/ - -/**************************************************************************** - * Public Data - ****************************************************************************/ - -/**************************************************************************** - * Private Functions - ****************************************************************************/ - -/**************************************************************************** - * Public Functions - ****************************************************************************/ - -/**************************************************************************** - * Name: nxtk_block - * - * Description: - * This is callback will do to things: (1) any queue a 'blocked' callback - * to the window and then (2) block any further window messaging. - * - * The 'blocked' callback is the response from nx_block (or nxtk_block). - * Those blocking interfaces are used to assure that no further messages are - * are directed to the window. Receipt of the blocked callback signifies - * that (1) there are no further pending callbacks and (2) that the - * window is now 'defunct' and will receive no further callbacks. - * - * This callback supports coordinated destruction of a window in multi- - * user mode. In multi-use mode, the client window logic must stay - * intact until all of the queued callbacks are processed. Then the - * window may be safely closed. Closing the window prior with pending - * callbacks can lead to bad behavior when the callback is executed. - * - * Multiple user mode only! - * - * Input Parameters: - * hfwnd - The window to be blocked - * arg - An argument that will accompany the block messages (This is arg2 - * in the blocked callback). - * - * Return: - * OK on success; ERROR on failure with errno set appropriately - * - ****************************************************************************/ - -int nxtk_block(NXTKWINDOW hfwnd, FAR void *arg) -{ - return nx_block((NXWINDOW)hfwnd, arg); -} - -#endif /* CONFIG_NX_MULTIUSER */ diff --git a/nuttx/graphics/nxtk/nxtk_closetoolbar.c b/nuttx/graphics/nxtk/nxtk_closetoolbar.c deleted file mode 100644 index 7ad36f9d8..000000000 --- a/nuttx/graphics/nxtk/nxtk_closetoolbar.c +++ /dev/null @@ -1,111 +0,0 @@ -/**************************************************************************** - * graphics/nxtk/nxtk_closetoolbar.c - * - * Copyright (C) 2008-2009 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <gnutt@nuttx.org> - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * 3. Neither the name NuttX nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - ****************************************************************************/ - -/**************************************************************************** - * Included Files - ****************************************************************************/ - -#include <nuttx/config.h> - -#include <stdlib.h> -#include <errno.h> -#include <debug.h> - -#include <nuttx/nx/nx.h> -#include <nuttx/nx/nxtk.h> - -#include "nxfe.h" -#include "nxtk_internal.h" - -/**************************************************************************** - * Pre-Processor Definitions - ****************************************************************************/ - -/**************************************************************************** - * Private Types - ****************************************************************************/ - -/**************************************************************************** - * Private Data - ****************************************************************************/ - -/**************************************************************************** - * Public Data - ****************************************************************************/ - -/**************************************************************************** - * Private Functions - ****************************************************************************/ - -/**************************************************************************** - * Public Functions - ****************************************************************************/ - -/**************************************************************************** - * Name: nxtk_closetoolbar - * - * Description: - * Create a tool bar at the top of the specified framed window - * - * Input Parameters: - * hfwnd - The handle returned by nxtk_openwindow - * - * Return: - * OK on success; ERROR on failure with errno set appropriately - * - ****************************************************************************/ - -int nxtk_closetoolbar(NXTKWINDOW hfwnd) -{ - FAR struct nxtk_framedwindow_s *fwnd = (FAR struct nxtk_framedwindow_s *)hfwnd; - - /* Un-initialize the toolbar info */ - - fwnd->tbheight = 0; - fwnd->tbcb = NULL; - fwnd->tbarg = NULL; - - /* Calculate the new dimensions of the client window */ - - nxtk_setsubwindows(fwnd); - - /* Then redraw the entire window, even the client window must be - * redraw because it has changed its vertical position and size. - */ - - nxfe_redrawreq(&fwnd->wnd, &fwnd->wnd.bounds); - return OK; -} - diff --git a/nuttx/graphics/nxtk/nxtk_closewindow.c b/nuttx/graphics/nxtk/nxtk_closewindow.c deleted file mode 100644 index e80cd0c66..000000000 --- a/nuttx/graphics/nxtk/nxtk_closewindow.c +++ /dev/null @@ -1,95 +0,0 @@ -/**************************************************************************** - * graphics/nxtk/nxtk_closewindow.c - * - * Copyright (C) 2008 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <gnutt@nuttx.org> - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * 3. Neither the name NuttX nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - ****************************************************************************/ - -/**************************************************************************** - * Included Files - ****************************************************************************/ - -#include <nuttx/config.h> - -#include <sys/types.h> -#include <stdlib.h> -#include <errno.h> -#include <debug.h> - -#include <nuttx/nx/nx.h> -#include <nuttx/nx/nxtk.h> - -#include "nxfe.h" -#include "nxtk_internal.h" - -/**************************************************************************** - * Pre-Processor Definitions - ****************************************************************************/ - -/**************************************************************************** - * Private Types - ****************************************************************************/ - -/**************************************************************************** - * Private Data - ****************************************************************************/ - -/**************************************************************************** - * Public Data - ****************************************************************************/ - -/**************************************************************************** - * Private Functions - ****************************************************************************/ - -/**************************************************************************** - * Public Functions - ****************************************************************************/ - -/**************************************************************************** - * Name: nxtk_closewindow - * - * Description: - * Close the window opened by nxtk_openwindow - * - * Input Parameters: - * hfwnd - The handle returned by nxtk_openwindow - * - * Return: - * OK on success; ERROR on failure with errno set appropriately - * - ****************************************************************************/ - -int nxtk_closewindow(NXTKWINDOW hfwnd) -{ - return nx_closewindow((NXWINDOW)hfwnd); -} - diff --git a/nuttx/graphics/nxtk/nxtk_containerclip.c b/nuttx/graphics/nxtk/nxtk_containerclip.c deleted file mode 100644 index a2fbcd0f8..000000000 --- a/nuttx/graphics/nxtk/nxtk_containerclip.c +++ /dev/null @@ -1,122 +0,0 @@ -/**************************************************************************** - * graphics/nxtk/nxtk_containerclip.c - * - * Copyright (C) 2008-2009 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <gnutt@nuttx.org> - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * 3. Neither the name NuttX nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - ****************************************************************************/ - -/**************************************************************************** - * Included Files - ****************************************************************************/ - -#include <nuttx/config.h> - -#include <stdlib.h> -#include <errno.h> -#include <debug.h> - -#include <nuttx/nx/nx.h> -#include <nuttx/nx/nxtk.h> - -#include "nxfe.h" -#include "nxtk_internal.h" - -/**************************************************************************** - * Pre-Processor Definitions - ****************************************************************************/ - -/**************************************************************************** - * Private Types - ****************************************************************************/ - -/**************************************************************************** - * Private Data - ****************************************************************************/ - -/**************************************************************************** - * Public Data - ****************************************************************************/ - -/**************************************************************************** - * Private Functions - ****************************************************************************/ - -/**************************************************************************** - * Public Functions - ****************************************************************************/ - -/**************************************************************************** - * Name: nxtk_containerclip - * - * Description: - * We are given a 'src' rectangle in containing window, relative coordinates - * (i.e., (0,0) is the top left corner of the outer, containing window). - * This function will (1) clip that src rectangle so that it lies within - * the sub-window bounds, and then (2) move the rectangle to that it is - * relative to the sub-window (i.e., (0,0) is the top left corner of the - * sub-window). - * - * Input parameters: - * fwnd - The framed window to be used - * dest - The locaton to put the result - * src - The src rectangle in relative container-window coordinates - * bounds - The subwindow bounds in absolute screen coordinates. - * - * Returned value: - * None - * - ****************************************************************************/ - -void nxtk_containerclip(FAR struct nxtk_framedwindow_s *fwnd, - FAR struct nxgl_rect_s *dest, - FAR const struct nxgl_rect_s *src, - FAR const struct nxgl_rect_s *bounds) -{ - struct nxgl_rect_s relbounds; - - /* The 'src' rectangle is relative to the containing window. Convert - * the sub-window to the same origin. - */ - - nxgl_rectoffset(&relbounds, bounds, -fwnd->wnd.bounds.pt1.x, - -fwnd->wnd.bounds.pt1.y); - - /* The interection then leaves the portion of the containing window that - * needs to be updated window that needs to be updated. - */ - - nxgl_rectintersect(dest, src, &relbounds); - - /* Offset this so that is relative to client subwindow origin */ - - nxgl_rectoffset(dest, dest, fwnd->wnd.bounds.pt1.x - bounds->pt1.x, - fwnd->wnd.bounds.pt1.y - bounds->pt1.y); -} diff --git a/nuttx/graphics/nxtk/nxtk_drawcircletoolbar.c b/nuttx/graphics/nxtk/nxtk_drawcircletoolbar.c deleted file mode 100644 index a36ed32ee..000000000 --- a/nuttx/graphics/nxtk/nxtk_drawcircletoolbar.c +++ /dev/null @@ -1,145 +0,0 @@ -/**************************************************************************** - * graphics/nxtk/nxtk_drawcircletoolbar.c - * - * Copyright (C) 2011 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <gnutt@nuttx.org> - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * 3. Neither the name NuttX nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - ****************************************************************************/ - -/**************************************************************************** - * Included Files - ****************************************************************************/ - -#include <nuttx/config.h> - -#include <sys/types.h> -#include <debug.h> -#include <errno.h> - -#include <nuttx/nx/nxglib.h> -#include <nuttx/nx/nxtk.h> - -/**************************************************************************** - * Pre-Processor Definitions - ****************************************************************************/ -/* Named indices into the 16 circle points generated by nxgl_circlepts */ - -#define POINT_0p0 0 -#define POINT_22p5 1 -#define POINT_45p0 2 -#define POINT_67p5 3 -#define POINT_90p0 4 -#define POINT_112p5 5 -#define POINT_135p0 6 -#define POINT_157p5 7 -#define POINT_180p0 8 -#define POINT_202p5 9 -#define POINT_225p0 10 -#define POINT_247p5 11 -#define POINT_270p0 12 -#define POINT_292p5 13 -#define POINT_315p0 14 -#define POINT_337p5 15 -#define NCIRCLE_POINTS 16 - -/**************************************************************************** - * Private Types - ****************************************************************************/ - -/**************************************************************************** - * Private Data - ****************************************************************************/ - -/**************************************************************************** - * Public Data - ****************************************************************************/ - -/**************************************************************************** - * Private Functions - ****************************************************************************/ - -/**************************************************************************** - * Public Functions - ****************************************************************************/ - -/**************************************************************************** - * Name: nxtk_drawcircletoolbar - * - * Description: - * Draw a circular outline using the specified line thickness and color. - * - * Input Parameters: - * hfwnd - The window handle returned by nxtk_openwindow() - * center - A pointer to the point that is the center of the circle - * radius - The radius of the circle in pixels. - * width - The width of the line - * color - The color to use to fill the line - * - * Return: - * OK on success; ERROR on failure with errno set appropriately - * - ****************************************************************************/ - -int nxtk_drawcircletoolbar(NXTKWINDOW hfwnd, FAR const struct nxgl_point_s *center, - nxgl_coord_t radius, nxgl_coord_t width, - nxgl_mxpixel_t color[CONFIG_NX_NPLANES]) -{ - struct nxgl_point_s pts[NCIRCLE_POINTS]; - FAR struct nxgl_vector_s vector; - int i; - int ret; - - /* Convert the circle to a set of 16 points */ - - nxgl_circlepts(center, radius, pts); - - /* Draw each pair of points as a vector */ - - for (i = POINT_0p0; i < POINT_337p5; i++) - { - vector.pt1.x = pts[i].x; - vector.pt1.y = pts[i].y; - vector.pt2.x = pts[i+1].x; - vector.pt2.y = pts[i+1].y; - ret = nxtk_drawlinetoolbar(hfwnd, &vector, width, color); - if (ret != OK) - { - return ret; - } - } - - /* The final, closing vector is a special case */ - - vector.pt1.x = pts[POINT_337p5].x; - vector.pt1.y = pts[POINT_337p5].y; - vector.pt2.x = pts[POINT_0p0].x; - vector.pt2.y = pts[POINT_0p0].y; - return nxtk_drawlinetoolbar(hfwnd, &vector, width, color); -} diff --git a/nuttx/graphics/nxtk/nxtk_drawcirclewindow.c b/nuttx/graphics/nxtk/nxtk_drawcirclewindow.c deleted file mode 100644 index 080e802ec..000000000 --- a/nuttx/graphics/nxtk/nxtk_drawcirclewindow.c +++ /dev/null @@ -1,145 +0,0 @@ -/**************************************************************************** - * graphics/nxtk/nxtk_drawcirclewindow.c - * - * Copyright (C) 2011 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <gnutt@nuttx.org> - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * 3. Neither the name NuttX nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - ****************************************************************************/ - -/**************************************************************************** - * Included Files - ****************************************************************************/ - -#include <nuttx/config.h> - -#include <sys/types.h> -#include <debug.h> -#include <errno.h> - -#include <nuttx/nx/nxglib.h> -#include <nuttx/nx/nxtk.h> - -/**************************************************************************** - * Pre-Processor Definitions - ****************************************************************************/ -/* Named indices into the 16 circle points generated by nxgl_circlepts */ - -#define POINT_0p0 0 -#define POINT_22p5 1 -#define POINT_45p0 2 -#define POINT_67p5 3 -#define POINT_90p0 4 -#define POINT_112p5 5 -#define POINT_135p0 6 -#define POINT_157p5 7 -#define POINT_180p0 8 -#define POINT_202p5 9 -#define POINT_225p0 10 -#define POINT_247p5 11 -#define POINT_270p0 12 -#define POINT_292p5 13 -#define POINT_315p0 14 -#define POINT_337p5 15 -#define NCIRCLE_POINTS 16 - -/**************************************************************************** - * Private Types - ****************************************************************************/ - -/**************************************************************************** - * Private Data - ****************************************************************************/ - -/**************************************************************************** - * Public Data - ****************************************************************************/ - -/**************************************************************************** - * Private Functions - ****************************************************************************/ - -/**************************************************************************** - * Public Functions - ****************************************************************************/ - -/**************************************************************************** - * Name: nxtk_drawcirclewindow - * - * Description: - * Draw a circular outline using the specified line thickness and color. - * - * Input Parameters: - * hfwnd - The window handle returned by nxtk_openwindow() - * center - A pointer to the point that is the center of the circle - * radius - The radius of the circle in pixels. - * width - The width of the line - * color - The color to use to fill the line - * - * Return: - * OK on success; ERROR on failure with errno set appropriately - * - ****************************************************************************/ - -int nxtk_drawcirclewindow(NXTKWINDOW hfwnd, FAR const struct nxgl_point_s *center, - nxgl_coord_t radius, nxgl_coord_t width, - nxgl_mxpixel_t color[CONFIG_NX_NPLANES]) -{ - struct nxgl_point_s pts[NCIRCLE_POINTS]; - FAR struct nxgl_vector_s vector; - int i; - int ret; - - /* Convert the circle to a set of 16 points */ - - nxgl_circlepts(center, radius, pts); - - /* Draw each pair of points as a vector */ - - for (i = POINT_0p0; i < POINT_337p5; i++) - { - vector.pt1.x = pts[i].x; - vector.pt1.y = pts[i].y; - vector.pt2.x = pts[i+1].x; - vector.pt2.y = pts[i+1].y; - ret = nxtk_drawlinewindow(hfwnd, &vector, width, color); - if (ret != OK) - { - return ret; - } - } - - /* The final, closing vector is a special case */ - - vector.pt1.x = pts[POINT_337p5].x; - vector.pt1.y = pts[POINT_337p5].y; - vector.pt2.x = pts[POINT_0p0].x; - vector.pt2.y = pts[POINT_0p0].y; - return nxtk_drawlinewindow(hfwnd, &vector, width, color); -} diff --git a/nuttx/graphics/nxtk/nxtk_drawframe.c b/nuttx/graphics/nxtk/nxtk_drawframe.c deleted file mode 100644 index 91745b323..000000000 --- a/nuttx/graphics/nxtk/nxtk_drawframe.c +++ /dev/null @@ -1,310 +0,0 @@ -/**************************************************************************** - * graphics/nxtk/nxtk_drawframe.c - * - * Copyright (C) 2008-2009, 2011-2012 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <gnutt@nuttx.org> - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * 3. Neither the name NuttX nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - ****************************************************************************/ - -/**************************************************************************** - * Included Files - ****************************************************************************/ - -#include <nuttx/config.h> - -#include <stdlib.h> -#include <errno.h> -#include <debug.h> - -#include <nuttx/nx/nxglib.h> -#include <nuttx/nx/nx.h> -#include <nuttx/nx/nxtk.h> - -#include "nxfe.h" -#include "nxtk_internal.h" - -/**************************************************************************** - * Pre-Processor Definitions - ****************************************************************************/ - -/**************************************************************************** - * Private Types - ****************************************************************************/ - -/**************************************************************************** - * Private Data - ****************************************************************************/ - -/**************************************************************************** - * Public Data - ****************************************************************************/ - -/**************************************************************************** - * Private Functions - ****************************************************************************/ - -/**************************************************************************** - * Name: nxtk_drawframeside - ****************************************************************************/ - -static void nxtk_drawframeside(FAR struct nxtk_framedwindow_s *fwnd, - FAR const struct nxgl_rect_s *side, - FAR const struct nxgl_rect_s *bounds, - nxgl_mxpixel_t color[CONFIG_NX_NPLANES]) -{ - struct nxgl_rect_s intersection; - nxgl_rectintersect(&intersection, side, bounds); - if (!nxgl_nullrect(&intersection)) - { - nx_fill((NXWINDOW)fwnd, &intersection, color); - } -} - -/**************************************************************************** - * Public Functions - ****************************************************************************/ - -/**************************************************************************** - * Name: nxtk_drawframe - * - * Description: - * Redraw the window frame. - * - * Input parameters: - * fwnd - the framed window whose frame needs to be re-drawn. This must - * have been previously created by nxtk_openwindow(). - * bounds - Only draw the ports of the frame within this bounding box. - * (window relative coordinates). - * - * Returned value: - * OK on success; ERROR on failure with errno set appropriately - * - ****************************************************************************/ - -int nxtk_drawframe(FAR struct nxtk_framedwindow_s *fwnd, - FAR const struct nxgl_rect_s *bounds) -{ - struct nxgl_rect_s frame; - struct nxgl_size_s wndsize; - struct nxgl_size_s tbsize; - nxgl_coord_t thickness; - - /* Shiny edge: - * Thickness: 1 - * Color: CONFIG_NXTK_BORDERCOLOR3; - * Condition: CONFIG_NXTK_BORDERWIDTH > 2 - * Central part: - * Thickness: Varies with CONFIG_NXTK_BORDERWIDTH - * Color: CONFIG_NXTK_BORDERCOLOR1; - * Condition: CONFIG_NXTK_BORDERWIDTH > 0 - * Shadow part: - * Thickness: 1; - * Color: CONFIG_NXTK_BORDERCOLOR2; - * Condition: CONFIG_NXTK_BORDERWIDTH > 1 - */ - -#if CONFIG_NXTK_BORDERWIDTH > 2 - thickness = CONFIG_NXTK_BORDERWIDTH - 2; -#elif CONFIG_NXTK_BORDERWIDTH > 1 - thickness = CONFIG_NXTK_BORDERWIDTH - 1; -#else - thickness = CONFIG_NXTK_BORDERWIDTH; -#endif - - /* Get the size of the rectangle */ - - nxgl_rectsize(&wndsize, &fwnd->wnd.bounds); - nxgl_rectsize(&tbsize, &fwnd->tbrect); - - /* Draw the top ***********************************************************/ - -#if CONFIG_NXTK_BORDERWIDTH > 0 - frame.pt1.x = 0; - frame.pt2.x = wndsize.w - 1; - frame.pt1.y = 0; - - /* Draw the shiny edge */ - -#if CONFIG_NXTK_BORDERWIDTH > 2 - frame.pt2.y = 0; - nxtk_drawframeside(fwnd, &frame, bounds, g_bordercolor3); - frame.pt1.y = 1; -#endif - - /* Draw the central part */ - - frame.pt2.y = frame.pt1.y + thickness - 1; - nxtk_drawframeside(fwnd, &frame, bounds, g_bordercolor1); - - /* Draw a single line under the toolbar, color CONFIG_NXTK_BORDERCOLOR2 */ - -#if CONFIG_NXTK_BORDERWIDTH > 1 - frame.pt1.y += tbsize.h + thickness; - frame.pt2.y = frame.pt1.y; - nxtk_drawframeside(fwnd, &frame, bounds, g_bordercolor2); -#endif - - /* Draw the bottom ********************************************************/ - -#if CONFIG_NXTK_BORDERWIDTH > 0 - frame.pt1.y = wndsize.h - CONFIG_NXTK_BORDERWIDTH; - - /* Draw the shiny edge */ - -#if CONFIG_NXTK_BORDERWIDTH > 2 - frame.pt2.y = frame.pt1.y; - nxtk_drawframeside(fwnd, &frame, bounds, g_bordercolor3); - frame.pt1.y ++; -#endif - - /* Draw the central part */ - - frame.pt2.y = frame.pt1.y + thickness - 1; - nxtk_drawframeside(fwnd, &frame, bounds, g_bordercolor1); - - /* Then a single line at the very bottom, Color: CONFIG_NXTK_BORDERCOLOR2 */ - -#if CONFIG_NXTK_BORDERWIDTH > 1 - frame.pt1.y = wndsize.h - 1; - frame.pt2.y = frame.pt1.y; - nxtk_drawframeside(fwnd, &frame, bounds, g_bordercolor2); -#endif -#endif - - /* Draw left and right outer edges *****************************************/ - - /* Draw the shiny left out edge */ - -#if CONFIG_NXTK_BORDERWIDTH > 1 - frame.pt1.x = 0; - frame.pt1.y = 1; -#if CONFIG_NXTK_BORDERWIDTH > 2 - frame.pt2.x = frame.pt1.x; - frame.pt2.y = wndsize.h - 2; - nxtk_drawframeside(fwnd, &frame, bounds, g_bordercolor3); -#endif - - /* Draw the shadowed right outer edge */ - - frame.pt1.x = wndsize.w - 1; - frame.pt2.x = frame.pt1.x; - nxtk_drawframeside(fwnd, &frame, bounds, g_bordercolor2); -#endif - - /* Draw left and right central regions *************************************/ - -#if CONFIG_NXTK_BORDERWIDTH > 2 - frame.pt1.x = 1; - frame.pt1.y = 1; - frame.pt2.x = frame.pt1.x + thickness - 1; - frame.pt2.y = wndsize.h - 2; -#else - frame.pt1.x = 0; - frame.pt1.y = 0; - frame.pt2.x = frame.pt1.x + thickness - 1; - frame.pt2.y = wndsize.h - 1; -#endif - nxtk_drawframeside(fwnd, &frame, bounds, g_bordercolor1); - -#if CONFIG_NXTK_BORDERWIDTH > 2 - frame.pt1.x = wndsize.w - thickness - 1; - frame.pt2.x = wndsize.w - 2; -#else - frame.pt1.x = wndsize.w - thickness; - frame.pt2.x = wndsize.w - 1; -#endif - nxtk_drawframeside(fwnd, &frame, bounds, g_bordercolor1); -#endif - - /* Draw left and right inner sides *****************************************/ - /* This segment stops at the bottom of the toolbar. If there is a - * tool bar, then we have to continue this to the top of the display - * using g_bordercolor1 (see below) - */ - - /* Draw the shadowed left inner edge */ - -#if CONFIG_NXTK_BORDERWIDTH > 1 -#if CONFIG_NXTK_BORDERWIDTH > 2 - frame.pt1.x = thickness + 1; - frame.pt1.y = tbsize.h + thickness + 1; - frame.pt2.x = frame.pt1.x; - frame.pt2.y = wndsize.h - thickness - 2; -#else - frame.pt1.x = thickness; - frame.pt1.y = tbsize.h + thickness; - frame.pt2.x = frame.pt1.x; - frame.pt2.y = wndsize.h - thickness - 1; -#endif - nxtk_drawframeside(fwnd, &frame, bounds, g_bordercolor2); - - /* Draw the shiny right inner edge */ - -#if CONFIG_NXTK_BORDERWIDTH > 2 - frame.pt1.x = wndsize.w - thickness - 2; - frame.pt2.x = frame.pt1.x; - nxtk_drawframeside(fwnd, &frame, bounds, g_bordercolor3); -#endif -#endif - - /* Fix up the little line-seqments at the top inner edges that need to match - * the color of the toolbar. - */ - -#if CONFIG_NXTK_BORDERWIDTH > 1 - if (tbsize.h > 0) - { - /* Draw the right side */ - -#if CONFIG_NXTK_BORDERWIDTH > 2 - frame.pt1.x = thickness + 1; - frame.pt1.y = 1; - frame.pt2.x = frame.pt1.x; - frame.pt2.y = tbsize.h + thickness; -#else - frame.pt1.x = thickness; - frame.pt1.y = 0; - frame.pt2.x = frame.pt1.x; - frame.pt2.y = tbsize.h + thickness - 1; -#endif - nxtk_drawframeside(fwnd, &frame, bounds, g_bordercolor1); - - /* Draw the left size */ - -#if CONFIG_NXTK_BORDERWIDTH > 2 - frame.pt1.x = wndsize.w - thickness - 2; - frame.pt2.x = frame.pt1.x; - nxtk_drawframeside(fwnd, &frame, bounds, g_bordercolor1); -#endif - } -#endif - - return OK; -} diff --git a/nuttx/graphics/nxtk/nxtk_drawlinetoolbar.c b/nuttx/graphics/nxtk/nxtk_drawlinetoolbar.c deleted file mode 100644 index f2a559d69..000000000 --- a/nuttx/graphics/nxtk/nxtk_drawlinetoolbar.c +++ /dev/null @@ -1,139 +0,0 @@ -/**************************************************************************** - * graphics/nxtk/nxtk_drawlinetoolbar.c - * - * Copyright (C) 2011 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <gnutt@nuttx.org> - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * 3. Neither the name NuttX nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - ****************************************************************************/ - -/**************************************************************************** - * Included Files - ****************************************************************************/ - -#include <nuttx/config.h> - -#include <sys/types.h> -#include <debug.h> -#include <errno.h> - -#include <nuttx/nx/nxglib.h> -#include <nuttx/nx/nx.h> -#include <nuttx/nx/nxtk.h> - -/**************************************************************************** - * Pre-Processor Definitions - ****************************************************************************/ - -/**************************************************************************** - * Private Types - ****************************************************************************/ - -/**************************************************************************** - * Private Data - ****************************************************************************/ - -/**************************************************************************** - * Public Data - ****************************************************************************/ - -/**************************************************************************** - * Private Functions - ****************************************************************************/ - -/**************************************************************************** - * Public Functions - ****************************************************************************/ - -/**************************************************************************** - * Name: nxtk_drawlinetoolbar - * - * Description: - * Fill the specified line in the toolbar sub-window with the specified - * color. This is simply a wrapper that uses nxgl_splitline() to break the - * line into trapezoids and then calls nxtk_filltrapwindow() to render the - * line. - * - * Input Parameters: - * hfwnd - The window handle returned by nxtk_openwindow - * vector - Describes the line to be drawn - * width - The width of the line - * color - The color to use to fill the line - * - * Return: - * OK on success; ERROR on failure with errno set appropriately - * - ****************************************************************************/ - -int nxtk_drawlinetoolbar(NXTKWINDOW hfwnd, FAR struct nxgl_vector_s *vector, - nxgl_coord_t width, nxgl_mxpixel_t color[CONFIG_NX_NPLANES]) - -{ - struct nxgl_trapezoid_s trap[3]; - struct nxgl_rect_s rect; - int ret; - -#ifdef CONFIG_DEBUG - if (!hfwnd || !vector || width < 1 || !color) - { - set_errno(EINVAL); - return ERROR; - } -#endif - - ret = nxgl_splitline(vector, trap, &rect, width); - switch (ret) - { - case 0: - ret = nxtk_filltraptoolbar(hfwnd, &trap[0], color); - if (ret == OK) - { - ret = nxtk_filltraptoolbar(hfwnd, &trap[1], color); - if (ret == OK) - { - ret = nxtk_filltraptoolbar(hfwnd, &trap[2], color); - } - } - break; - - case 1: - ret = nxtk_filltraptoolbar(hfwnd, &trap[1], color); - break; - - case 2: - ret = nxtk_filltoolbar(hfwnd, &rect, color); - break; - - default: - set_errno(EINVAL); - return ERROR; - } - - return ret; -} diff --git a/nuttx/graphics/nxtk/nxtk_drawlinewindow.c b/nuttx/graphics/nxtk/nxtk_drawlinewindow.c deleted file mode 100644 index a5534fa59..000000000 --- a/nuttx/graphics/nxtk/nxtk_drawlinewindow.c +++ /dev/null @@ -1,138 +0,0 @@ -/**************************************************************************** - * graphics/nxtk/nxtk_drawlinewindow.c - * - * Copyright (C) 2011 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <gnutt@nuttx.org> - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * 3. Neither the name NuttX nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - ****************************************************************************/ - -/**************************************************************************** - * Included Files - ****************************************************************************/ - -#include <nuttx/config.h> - -#include <sys/types.h> -#include <debug.h> -#include <errno.h> - -#include <nuttx/nx/nxglib.h> -#include <nuttx/nx/nx.h> -#include <nuttx/nx/nxtk.h> - -/**************************************************************************** - * Pre-Processor Definitions - ****************************************************************************/ - -/**************************************************************************** - * Private Types - ****************************************************************************/ - -/**************************************************************************** - * Private Data - ****************************************************************************/ - -/**************************************************************************** - * Public Data - ****************************************************************************/ - -/**************************************************************************** - * Private Functions - ****************************************************************************/ - -/**************************************************************************** - * Public Functions - ****************************************************************************/ - -/**************************************************************************** - * Name: nxtk_drawlinewindow - * - * Description: - * Fill the specified line in the window with the specified color. This - * is simply a wrapper that uses nxgl_splitline() to break the line into - * trapezoids and call calls nxtk_filltrapwindow() to render the line. - * - * Input Parameters: - * hfwnd - The window handle returned by nxtk_openwindow - * vector - Describes the line to be drawn - * width - The width of the line - * color - The color to use to fill the line - * - * Return: - * OK on success; ERROR on failure with errno set appropriately - * - ****************************************************************************/ - -int nxtk_drawlinewindow(NXTKWINDOW hfwnd, FAR struct nxgl_vector_s *vector, - nxgl_coord_t width, nxgl_mxpixel_t color[CONFIG_NX_NPLANES]) - -{ - struct nxgl_trapezoid_s trap[3]; - struct nxgl_rect_s rect; - int ret; - -#ifdef CONFIG_DEBUG - if (!hfwnd || !vector || width < 1 || !color) - { - set_errno(EINVAL); - return ERROR; - } -#endif - - ret = nxgl_splitline(vector, trap, &rect, width); - switch (ret) - { - case 0: - ret = nxtk_filltrapwindow(hfwnd, &trap[0], color); - if (ret == OK) - { - ret = nxtk_filltrapwindow(hfwnd, &trap[1], color); - if (ret == OK) - { - ret = nxtk_filltrapwindow(hfwnd, &trap[2], color); - } - } - break; - - case 1: - ret = nxtk_filltrapwindow(hfwnd, &trap[1], color); - break; - - case 2: - ret = nxtk_fillwindow(hfwnd, &rect, color); - break; - - default: - set_errno(EINVAL); - return ERROR; - } - - return ret; -} diff --git a/nuttx/graphics/nxtk/nxtk_events.c b/nuttx/graphics/nxtk/nxtk_events.c deleted file mode 100644 index facf92176..000000000 --- a/nuttx/graphics/nxtk/nxtk_events.c +++ /dev/null @@ -1,332 +0,0 @@ -/**************************************************************************** - * graphics/nxtk/nxtk_events.c - * - * Copyright (C) 2008-2009, 2012 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <gnutt@nuttx.org> - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * 3. Neither the name NuttX nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - ****************************************************************************/ - -/**************************************************************************** - * Included Files - ****************************************************************************/ - -#include <nuttx/config.h> - -#include <stdint.h> -#include <stdbool.h> -#include <stdlib.h> -#include <semaphore.h> -#include <debug.h> -#include <errno.h> -#include <assert.h> - -#include <nuttx/nx/nx.h> -#include "nxtk_internal.h" - -/**************************************************************************** - * Definitions - ****************************************************************************/ - -/**************************************************************************** - * Private Types - ****************************************************************************/ - -/**************************************************************************** - * Private Function Prototypes - ****************************************************************************/ - -static void nxtk_redraw(NXWINDOW hwnd, FAR const struct nxgl_rect_s *rect, - bool morem, FAR void *arg); -static void nxtk_position(NXWINDOW hwnd, FAR const struct nxgl_size_s *size, - FAR const struct nxgl_point_s *pos, - FAR const struct nxgl_rect_s *bounds, - FAR void *arg); -#ifdef CONFIG_NX_MOUSE -static void nxtk_mousein(NXWINDOW hwnd, FAR const struct nxgl_point_s *pos, - uint8_t buttons, FAR void *arg); -#endif -#ifdef CONFIG_NX_KBD -static void nxtk_kbdin(NXWINDOW hwnd, uint8_t nch, const uint8_t *ch, - FAR void *arg); -#endif -#ifdef CONFIG_NX_MULTIUSER -static void nxtk_blocked(NXWINDOW hwnd, FAR void *arg1, FAR void *arg2); -#endif - -/**************************************************************************** - * Private Data - ****************************************************************************/ - -/**************************************************************************** - * Public Data - ****************************************************************************/ - -const struct nx_callback_s g_nxtkcb = -{ - nxtk_redraw, /* redraw */ - nxtk_position /* position */ -#ifdef CONFIG_NX_MOUSE - , nxtk_mousein /* mousein */ -#endif -#ifdef CONFIG_NX_KBD - , nxtk_kbdin /* kbdin */ -#endif -#ifdef CONFIG_NX_MULTIUSER - , nxtk_blocked -#endif -}; - -/**************************************************************************** - * Private Functions - ****************************************************************************/ - -/**************************************************************************** - * Name: nxtk_redraw - ****************************************************************************/ - -static void nxtk_redraw(NXWINDOW hwnd, FAR const struct nxgl_rect_s *rect, - bool more, FAR void *arg) -{ - FAR struct nxtk_framedwindow_s *fwnd = (FAR struct nxtk_framedwindow_s *)hwnd; - struct nxgl_rect_s intersection; - - DEBUGASSERT(hwnd && rect && fwnd->fwcb); - - gvdbg("hwnd=%p rect={(%d,%d),(%d,%d)} more=%d\n", - hwnd, rect->pt1.x, rect->pt1.y, rect->pt2.x, rect->pt2.y, more); - - /* The incoming rectangle (rect) is relative to the containing window - * (i.e., (0,0) is the top left corner of the outer, containing window). - * If any part of the rectangle overlaps the client sub-window region, then - * forward the redraw callback. - */ - - if (fwnd->fwcb->redraw) - { - /* Clip the redraw rectangle so that it lies within the client sub-window - * bounds and move the rectangle to that it is relative to the client - * sub-window (i.e., (0,0) is the top left corner of the client sub-window). - */ - - nxtk_containerclip(fwnd, &intersection, rect, &fwnd->fwrect); - - gvdbg("fwrect intersection={(%d,%d),(%d,%d)}\n", - intersection.pt1.x, intersection.pt1.y, - intersection.pt2.x, intersection.pt2.y); - - if (!nxgl_nullrect(&intersection)) - { - fwnd->fwcb->redraw((NXTKWINDOW)fwnd, &intersection, false, fwnd->fwarg); - } - } - - /* If any part of the rectangle overlaps the client toolbar region, then - * forward the redraw callback. - */ - - if (fwnd->tbcb && fwnd->tbcb->redraw) - { - /* Clip the redraw rectangle so that it lies within the toolbar sub-window - * bounds and move the rectangle to that it is relative to the toolbar - * sub-window (i.e., (0,0) is the top left corner of the client sub-window). - */ - - nxtk_containerclip(fwnd, &intersection, rect, &fwnd->tbrect); - - gvdbg("tbrect intersection={(%d,%d),(%d,%d)}\n", - intersection.pt1.x, intersection.pt1.y, - intersection.pt2.x, intersection.pt2.y); - - if (!nxgl_nullrect(&intersection)) - { - fwnd->tbcb->redraw((NXTKWINDOW)fwnd, &intersection, false, fwnd->tbarg); - } - } - - /* Then draw the frame */ - - nxtk_drawframe(fwnd, rect); -} - -/**************************************************************************** - * Name: nxtk_position - ****************************************************************************/ - -static void nxtk_position(NXWINDOW hwnd, FAR const struct nxgl_size_s *size, - FAR const struct nxgl_point_s *pos, - FAR const struct nxgl_rect_s *bounds, - FAR void *arg) -{ - FAR struct nxtk_framedwindow_s *fwnd = (FAR struct nxtk_framedwindow_s *)hwnd; - struct nxgl_size_s subwindowsize; - - gvdbg("hwnd=%p size=(%d,%d) pos=(%d,%d) bounds={(%d,%d),(%d,%d)}\n", - hwnd, size->w, size->h, pos->x, pos->y, - bounds->pt1.x, bounds->pt1.y, bounds->pt2.x, bounds->pt2.y); - - /* Recalculate the dimensions of the toolbar and client windows */ - - nxtk_setsubwindows(fwnd); - - /* Report the size / position of the client sub-window */ - - if (fwnd->fwcb->position) - { - nxgl_rectsize(&subwindowsize, &fwnd->fwrect); - fwnd->fwcb->position((NXTKWINDOW)fwnd, &subwindowsize, - &fwnd->fwrect.pt1, bounds, fwnd->fwarg); - } - - /* Report the size / position of the toolbar sub-window */ - - if (fwnd->tbcb && fwnd->tbcb->position) - { - nxgl_rectsize(&subwindowsize, &fwnd->tbrect); - fwnd->tbcb->position((NXTKWINDOW)fwnd, &subwindowsize, - &fwnd->tbrect.pt1, bounds, fwnd->tbarg); - } -} - -/**************************************************************************** - * Name: nxtk_mousein - ****************************************************************************/ - -#ifdef CONFIG_NX_MOUSE -static void nxtk_mousein(NXWINDOW hwnd, FAR const struct nxgl_point_s *pos, - uint8_t buttons, FAR void *arg) -{ - FAR struct nxtk_framedwindow_s *fwnd = (FAR struct nxtk_framedwindow_s *)hwnd; - struct nxgl_point_s abspos; - struct nxgl_point_s relpos; - - /* Raise the window to the top if any mouse button was pressed or if auto-raise - * is configured. Do this before reporting the mouse event (because processing - * of the mouse event could change the ordering again). - */ - - /* REVISIT: This does not work correctly. In a scenario where (1) there are - * multiple queued touchscreen events and (2) the result of the first input - * was to switch windows, then this autoraise implementation will cause the - * window to revert to the previous window. Not good behavior. - */ - -#ifndef CONFIG_NX_MULTIUSER /* Queuing only happens in multi-user mode */ -#ifdef CONFIG_NXTK_AUTORAISE - if (fwnd->wnd.above != NULL) -#else - if (buttons != 0 && fwnd->wnd.above != NULL) -#endif - { - nx_raise((NXWINDOW)&fwnd->wnd); - } -#endif - - /* When we get here, the mouse position that we receive has already been - * offset by the window origin. Here we need to detect mouse events in - * the various regions of the windows: The toolbar, the client window, - * or the frame. And then offset the position accordingly. - */ - - /* The fwrect and tbrect boxes are both in absolute display coordinates. So - * the easiest thing to do is to restore the mouse position to absolute - * display coordiantes before making the comparisons and adjustments. - */ - - nxgl_vectoradd(&abspos, pos, &fwnd->wnd.bounds.pt1); - - /* In order to deliver mouse release events to the same window where the - * mouse down event happened, we store the initial mouse down location. - */ - - if (fwnd->mbutton == 0 && buttons != 0) - { - fwnd->mpos = abspos; - } - - fwnd->mbutton = buttons; - - /* Is the mouse position inside of the client window region? */ - - if (fwnd->fwcb->mousein && nxgl_rectinside(&fwnd->fwrect, &fwnd->mpos)) - { - nxgl_vectsubtract(&relpos, &abspos, &fwnd->fwrect.pt1); - fwnd->fwcb->mousein((NXTKWINDOW)fwnd, &relpos, buttons, fwnd->fwarg); - } - - /* If the mouse position inside the toobar region? */ - - else if (fwnd->tbcb->mousein && nxgl_rectinside(&fwnd->tbrect, &fwnd->mpos)) - { - nxgl_vectsubtract(&relpos, &abspos, &fwnd->tbrect.pt1); - fwnd->tbcb->mousein((NXTKWINDOW)fwnd, &relpos, buttons, fwnd->tbarg); - } -} -#endif - -/**************************************************************************** - * Name: nxtk_kbdin - ****************************************************************************/ - -#ifdef CONFIG_NX_KBD -static void nxtk_kbdin(NXWINDOW hwnd, uint8_t nch, const uint8_t *ch, - FAR void *arg) -{ - FAR struct nxtk_framedwindow_s *fwnd = (FAR struct nxtk_framedwindow_s *)hwnd; - - /* Only the client window gets keyboard input */ - - if (fwnd->fwcb->kbdin) - { - fwnd->fwcb->kbdin((NXTKWINDOW)fwnd, nch, ch, fwnd->fwarg); - } -} -#endif - -/**************************************************************************** - * Name: nxtk_blocked - ****************************************************************************/ - -#ifdef CONFIG_NX_MULTIUSER -static void nxtk_blocked(NXWINDOW hwnd, FAR void *arg1, FAR void *arg2) -{ - FAR struct nxtk_framedwindow_s *fwnd = (FAR struct nxtk_framedwindow_s *)hwnd; - - /* Only the client window gets keyboard input */ - - if (fwnd->fwcb->blocked) - { - fwnd->fwcb->blocked((NXTKWINDOW)fwnd, fwnd->fwarg, arg2); - } -} -#endif - -/**************************************************************************** - * Public Functions - ****************************************************************************/ diff --git a/nuttx/graphics/nxtk/nxtk_fillcircletoolbar.c b/nuttx/graphics/nxtk/nxtk_fillcircletoolbar.c deleted file mode 100644 index 92dee7e27..000000000 --- a/nuttx/graphics/nxtk/nxtk_fillcircletoolbar.c +++ /dev/null @@ -1,115 +0,0 @@ -/**************************************************************************** - * graphics/nxtk/nxtk_fillcircletoolbar.c - * - * Copyright (C) 2011 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <gnutt@nuttx.org> - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * 3. Neither the name NuttX nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - ****************************************************************************/ - -/**************************************************************************** - * Included Files - ****************************************************************************/ - -#include <nuttx/config.h> - -#include <sys/types.h> -#include <debug.h> -#include <errno.h> - -#include <nuttx/nx/nxglib.h> -#include <nuttx/nx/nxtk.h> - -/**************************************************************************** - * Pre-Processor Definitions - ****************************************************************************/ - -#define NCIRCLE_TRAPS 8 - -/**************************************************************************** - * Private Types - ****************************************************************************/ - -/**************************************************************************** - * Private Data - ****************************************************************************/ - -/**************************************************************************** - * Public Data - ****************************************************************************/ - -/**************************************************************************** - * Private Functions - ****************************************************************************/ - -/**************************************************************************** - * Public Functions - ****************************************************************************/ - -/**************************************************************************** - * Name: nxtk_fillcircletoolbar - * - * Description: - * Fill a circular region using the specified color. - * - * Input Parameters: - * hfwnd - The window handle returned by nxtk_openwindow() - * center - A pointer to the point that is the center of the circle - * radius - The radius of the circle in pixels. - * color - The color to use to fill the circle. - * - * Return: - * OK on success; ERROR on failure with errno set appropriately - * - ****************************************************************************/ - -int nxtk_fillcircletoolbar(NXWINDOW hfwnd, FAR const struct nxgl_point_s *center, - nxgl_coord_t radius, - nxgl_mxpixel_t color[CONFIG_NX_NPLANES]) -{ - FAR struct nxgl_trapezoid_s traps[NCIRCLE_TRAPS]; - int i; - int ret; - - /* Describe the circular region as a sequence of 8 trapezoids */ - - nxgl_circletraps(center, radius, traps); - - /* Then rend those trapezoids */ - - for (i = 0; i < NCIRCLE_TRAPS; i++) - { - ret = nxtk_filltraptoolbar(hfwnd, &traps[i], color); - if (ret != OK) - { - return ret; - } - } - return OK; -} diff --git a/nuttx/graphics/nxtk/nxtk_fillcirclewindow.c b/nuttx/graphics/nxtk/nxtk_fillcirclewindow.c deleted file mode 100644 index 5f093e035..000000000 --- a/nuttx/graphics/nxtk/nxtk_fillcirclewindow.c +++ /dev/null @@ -1,115 +0,0 @@ -/**************************************************************************** - * graphics/nxtk/nxtk_fillcirclewindow.c - * - * Copyright (C) 2011 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <gnutt@nuttx.org> - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * 3. Neither the name NuttX nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - ****************************************************************************/ - -/**************************************************************************** - * Included Files - ****************************************************************************/ - -#include <nuttx/config.h> - -#include <sys/types.h> -#include <debug.h> -#include <errno.h> - -#include <nuttx/nx/nxglib.h> -#include <nuttx/nx/nxtk.h> - -/**************************************************************************** - * Pre-Processor Definitions - ****************************************************************************/ - -#define NCIRCLE_TRAPS 8 - -/**************************************************************************** - * Private Types - ****************************************************************************/ - -/**************************************************************************** - * Private Data - ****************************************************************************/ - -/**************************************************************************** - * Public Data - ****************************************************************************/ - -/**************************************************************************** - * Private Functions - ****************************************************************************/ - -/**************************************************************************** - * Public Functions - ****************************************************************************/ - -/**************************************************************************** - * Name: nxtk_fillcirclewindow - * - * Description: - * Fill a circular region using the specified color. - * - * Input Parameters: - * hfwnd - The window handle returned by nxtk_openwindow() - * center - A pointer to the point that is the center of the circle - * radius - The radius of the circle in pixels. - * color - The color to use to fill the circle. - * - * Return: - * OK on success; ERROR on failure with errno set appropriately - * - ****************************************************************************/ - -int nxtk_fillcirclewindow(NXWINDOW hfwnd, FAR const struct nxgl_point_s *center, - nxgl_coord_t radius, - nxgl_mxpixel_t color[CONFIG_NX_NPLANES]) -{ - FAR struct nxgl_trapezoid_s traps[NCIRCLE_TRAPS]; - int i; - int ret; - - /* Describe the circular region as a sequence of 8 trapezoids */ - - nxgl_circletraps(center, radius, traps); - - /* Then rend those trapezoids */ - - for (i = 0; i < NCIRCLE_TRAPS; i++) - { - ret = nxtk_filltrapwindow(hfwnd, &traps[i], color); - if (ret != OK) - { - return ret; - } - } - return OK; -} diff --git a/nuttx/graphics/nxtk/nxtk_filltoolbar.c b/nuttx/graphics/nxtk/nxtk_filltoolbar.c deleted file mode 100644 index 931fa7dec..000000000 --- a/nuttx/graphics/nxtk/nxtk_filltoolbar.c +++ /dev/null @@ -1,116 +0,0 @@ -/**************************************************************************** - * graphics/nxtk/nxtk_filltoolbar.c - * - * Copyright (C) 2008-2009 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <gnutt@nuttx.org> - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * 3. Neither the name NuttX nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - ****************************************************************************/ - -/**************************************************************************** - * Included Files - ****************************************************************************/ - -#include <nuttx/config.h> - -#include <stdlib.h> -#include <errno.h> -#include <debug.h> - -#include <nuttx/nx/nx.h> -#include <nuttx/nx/nxtk.h> - -#include "nxfe.h" -#include "nxtk_internal.h" - -/**************************************************************************** - * Pre-Processor Definitions - ****************************************************************************/ - -/**************************************************************************** - * Private Types - ****************************************************************************/ - -/**************************************************************************** - * Private Data - ****************************************************************************/ - -/**************************************************************************** - * Public Data - ****************************************************************************/ - -/**************************************************************************** - * Private Functions - ****************************************************************************/ - -/**************************************************************************** - * Public Functions - ****************************************************************************/ - -/**************************************************************************** - * Name: nxtk_filltoolbar - * - * Description: - * Fill the specified rectangle in the client window with the specified color - * - * Input Parameters: - * hfwnd - The handle returned by nxtk_openwindow - * rect - The location within the toolbar window to be filled - * color - The color to use in the fill - * - * Return: - * OK on success; ERROR on failure with errno set appropriately - * - ****************************************************************************/ - -int nxtk_filltoolbar(NXTKWINDOW hfwnd, FAR const struct nxgl_rect_s *rect, - nxgl_mxpixel_t color[CONFIG_NX_NPLANES]) -{ - FAR struct nxtk_framedwindow_s *fwnd = (FAR struct nxtk_framedwindow_s *)hfwnd; - struct nxgl_rect_s fillrect; - -#ifdef CONFIG_DEBUG - if (!hfwnd || !rect || !color) - { - errno = EINVAL; - return ERROR; - } -#endif - - /* Clip the rectangle so that it lies within the sub-window bounds - * then move the rectangle to that it is relative to the containing - * window. - */ - - nxtk_subwindowclip(fwnd, &fillrect, rect, &fwnd->tbrect); - - /* Then fill it */ - - return nx_fill((NXWINDOW)hfwnd, &fillrect, color); -} diff --git a/nuttx/graphics/nxtk/nxtk_filltraptoolbar.c b/nuttx/graphics/nxtk/nxtk_filltraptoolbar.c deleted file mode 100644 index 7108f42eb..000000000 --- a/nuttx/graphics/nxtk/nxtk_filltraptoolbar.c +++ /dev/null @@ -1,110 +0,0 @@ -/**************************************************************************** - * graphics/nxtk/nxtk_filltraptoolbar.c - * - * Copyright (C) 2008-2009 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <gnutt@nuttx.org> - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * 3. Neither the name NuttX nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - ****************************************************************************/ - -/**************************************************************************** - * Included Files - ****************************************************************************/ - -#include <nuttx/config.h> - -#include <stdlib.h> -#include <errno.h> -#include <debug.h> - -#include <nuttx/nx/nx.h> -#include <nuttx/nx/nxtk.h> - -#include "nxfe.h" -#include "nxtk_internal.h" - -/**************************************************************************** - * Pre-Processor Definitions - ****************************************************************************/ - -/**************************************************************************** - * Private Types - ****************************************************************************/ - -/**************************************************************************** - * Private Data - ****************************************************************************/ - -/**************************************************************************** - * Public Data - ****************************************************************************/ - -/**************************************************************************** - * Private Functions - ****************************************************************************/ - -/**************************************************************************** - * Public Functions - ****************************************************************************/ - -/**************************************************************************** - * Name: nxtk_filltraptoolbar - * - * Description: - * Fill the specified rectangle in the toolbar with the specified color - * - * Input Parameters: - * hfwnd - The handle returned by nxtk_openwindow - * trap - The trapezoidal region to be filled - * color - The color to use in the fill - * - * Return: - * OK on success; ERROR on failure with errno set appropriately - * - ****************************************************************************/ - -int nxtk_filltraptoolbar(NXTKWINDOW hfwnd, FAR const struct nxgl_trapezoid_s *trap, - nxgl_mxpixel_t color[CONFIG_NX_NPLANES]) -{ - FAR struct nxtk_framedwindow_s *fwnd = (FAR struct nxtk_framedwindow_s *)hfwnd; - struct nxgl_rect_s relclip; - -#ifdef CONFIG_DEBUG - if (!hfwnd || !trap || !color) - { - errno = EINVAL; - return ERROR; - } -#endif - - /* Perform the fill, clipping to the client window */ - - nxgl_rectoffset(&relclip, &fwnd->tbrect, -fwnd->wnd.bounds.pt1.x, -fwnd->wnd.bounds.pt1.y); - return nx_filltrapezoid((NXWINDOW)hfwnd, &relclip, trap, color); -} diff --git a/nuttx/graphics/nxtk/nxtk_filltrapwindow.c b/nuttx/graphics/nxtk/nxtk_filltrapwindow.c deleted file mode 100644 index 55c051ffd..000000000 --- a/nuttx/graphics/nxtk/nxtk_filltrapwindow.c +++ /dev/null @@ -1,117 +0,0 @@ -/**************************************************************************** - * graphics/nxtk/nxtk_filltrapwindow.c - * - * Copyright (C) 2008-2009 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <gnutt@nuttx.org> - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * 3. Neither the name NuttX nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - ****************************************************************************/ - -/**************************************************************************** - * Included Files - ****************************************************************************/ - -#include <nuttx/config.h> - -#include <stdlib.h> -#include <errno.h> -#include <debug.h> - -#include <nuttx/nx/nx.h> -#include <nuttx/nx/nxtk.h> - -#include "nxfe.h" -#include "nxtk_internal.h" - -/**************************************************************************** - * Pre-Processor Definitions - ****************************************************************************/ - -/**************************************************************************** - * Private Types - ****************************************************************************/ - -/**************************************************************************** - * Private Data - ****************************************************************************/ - -/**************************************************************************** - * Public Data - ****************************************************************************/ - -/**************************************************************************** - * Private Functions - ****************************************************************************/ - -/**************************************************************************** - * Public Functions - ****************************************************************************/ - -/**************************************************************************** - * Name: nxtk_filltrapwindow - * - * Description: - * Fill the specified rectangle in the client window with the specified color - * - * Input Parameters: - * hfwnd - The window handle returned by nxtk_openwindow - * trap - The trapezoidal region to be filled - * color - The color to use in the fill - * - * Return: - * OK on success; ERROR on failure with errno set appropriately - * - ****************************************************************************/ - -int nxtk_filltrapwindow(NXTKWINDOW hfwnd, FAR const struct nxgl_trapezoid_s *trap, - nxgl_mxpixel_t color[CONFIG_NX_NPLANES]) -{ - FAR struct nxtk_framedwindow_s *fwnd = (FAR struct nxtk_framedwindow_s *)hfwnd; - struct nxgl_rect_s relclip; - struct nxgl_trapezoid_s reltrap; - -#ifdef CONFIG_DEBUG - if (!hfwnd || !trap || !color) - { - errno = EINVAL; - return ERROR; - } -#endif - - /* Move the trapezoid from window contents area to window area */ - - nxgl_trapoffset(&reltrap, trap, - fwnd->fwrect.pt1.x - fwnd->wnd.bounds.pt1.x, - fwnd->fwrect.pt1.y - fwnd->wnd.bounds.pt1.y); - - /* Perform the fill, clipping to the client window */ - nxgl_rectoffset(&relclip, &fwnd->fwrect, -fwnd->wnd.bounds.pt1.x, -fwnd->wnd.bounds.pt1.y); - - return nx_filltrapezoid((NXWINDOW)hfwnd, &relclip, &reltrap, color); -} diff --git a/nuttx/graphics/nxtk/nxtk_fillwindow.c b/nuttx/graphics/nxtk/nxtk_fillwindow.c deleted file mode 100644 index c76dbfbb4..000000000 --- a/nuttx/graphics/nxtk/nxtk_fillwindow.c +++ /dev/null @@ -1,116 +0,0 @@ -/**************************************************************************** - * graphics/nxtk/nxtk_fillwindow.c - * - * Copyright (C) 2008-2009 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <gnutt@nuttx.org> - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * 3. Neither the name NuttX nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - ****************************************************************************/ - -/**************************************************************************** - * Included Files - ****************************************************************************/ - -#include <nuttx/config.h> - -#include <stdlib.h> -#include <errno.h> -#include <debug.h> - -#include <nuttx/nx/nx.h> -#include <nuttx/nx/nxtk.h> - -#include "nxfe.h" -#include "nxtk_internal.h" - -/**************************************************************************** - * Pre-Processor Definitions - ****************************************************************************/ - -/**************************************************************************** - * Private Types - ****************************************************************************/ - -/**************************************************************************** - * Private Data - ****************************************************************************/ - -/**************************************************************************** - * Public Data - ****************************************************************************/ - -/**************************************************************************** - * Private Functions - ****************************************************************************/ - -/**************************************************************************** - * Public Functions - ****************************************************************************/ - -/**************************************************************************** - * Name: nxtk_fillwindow - * - * Description: - * Fill the specified rectangle in the client window with the specified color - * - * Input Parameters: - * hfwnd - The window handle returned by nxtk_openwindow - * rect - The location within the client window to be filled - * color - The color to use in the fill - * - * Return: - * OK on success; ERROR on failure with errno set appropriately - * - ****************************************************************************/ - -int nxtk_fillwindow(NXTKWINDOW hfwnd, FAR const struct nxgl_rect_s *rect, - nxgl_mxpixel_t color[CONFIG_NX_NPLANES]) -{ - FAR struct nxtk_framedwindow_s *fwnd = (FAR struct nxtk_framedwindow_s *)hfwnd; - struct nxgl_rect_s fillrect; - -#ifdef CONFIG_DEBUG - if (!hfwnd || !rect || !color) - { - errno = EINVAL; - return ERROR; - } -#endif - - /* Clip the rectangle so that it lies within the sub-window bounds - * then move the rectangle to that it is relative to the containing - * window. - */ - - nxtk_subwindowclip(fwnd, &fillrect, rect, &fwnd->fwrect); - - /* Then fill it */ - - return nx_fill((NXWINDOW)hfwnd, &fillrect, color); -} diff --git a/nuttx/graphics/nxtk/nxtk_getposition.c b/nuttx/graphics/nxtk/nxtk_getposition.c deleted file mode 100644 index 7850f7714..000000000 --- a/nuttx/graphics/nxtk/nxtk_getposition.c +++ /dev/null @@ -1,95 +0,0 @@ -/**************************************************************************** - * graphics/nxtk/nxtk_getposition.c - * - * Copyright (C) 2008-2009 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <gnutt@nuttx.org> - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * 3. Neither the name NuttX nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - ****************************************************************************/ - -/**************************************************************************** - * Included Files - ****************************************************************************/ - -#include <nuttx/config.h> - -#include <stdlib.h> -#include <errno.h> -#include <debug.h> - -#include <nuttx/nx/nx.h> -#include <nuttx/nx/nxtk.h> - -#include "nxfe.h" -#include "nxtk_internal.h" - -/**************************************************************************** - * Pre-Processor Definitions - ****************************************************************************/ - -/**************************************************************************** - * Private Types - ****************************************************************************/ - -/**************************************************************************** - * Private Data - ****************************************************************************/ - -/**************************************************************************** - * Public Data - ****************************************************************************/ - -/**************************************************************************** - * Private Functions - ****************************************************************************/ - -/**************************************************************************** - * Public Functions - ****************************************************************************/ - -/**************************************************************************** - * Name: nxtk_getposition - * - * Description: - * Request the position and size information for the selected framed window. - * The size/position for the client window and toolbar will be return - * asynchronously through the client callback function pointer. - * - * Input Parameters: - * hfwnd - The window handle returned by nxtk_openwindow. - * - * Return: - * OK on success; ERROR on failure with errno set appropriately - * - ****************************************************************************/ - -int nxtk_getposition(NXTKWINDOW hfwnd) -{ - return nx_getposition((NXWINDOW)hfwnd); -} diff --git a/nuttx/graphics/nxtk/nxtk_gettoolbar.c b/nuttx/graphics/nxtk/nxtk_gettoolbar.c deleted file mode 100644 index 70adb0cce..000000000 --- a/nuttx/graphics/nxtk/nxtk_gettoolbar.c +++ /dev/null @@ -1,123 +0,0 @@ -/**************************************************************************** - * graphics/nxtk/nxtk_gettoolbar.c - * - * Copyright (C) 2011 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <gnutt@nuttx.org> - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * 3. Neither the name NuttX nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - ****************************************************************************/ - -/**************************************************************************** - * Included Files - ****************************************************************************/ - -#include <nuttx/config.h> - -#include <stdlib.h> -#include <errno.h> -#include <debug.h> - -#include <nuttx/nx/nx.h> -#include <nuttx/nx/nxtk.h> - -#include "nxfe.h" -#include "nxtk_internal.h" - -/**************************************************************************** - * Pre-Processor Definitions - ****************************************************************************/ - -/**************************************************************************** - * Private Types - ****************************************************************************/ - -/**************************************************************************** - * Private Data - ****************************************************************************/ - -/**************************************************************************** - * Public Data - ****************************************************************************/ - -/**************************************************************************** - * Private Functions - ****************************************************************************/ - -/**************************************************************************** - * Public Functions - ****************************************************************************/ - -/**************************************************************************** - * Name: nxtk_gettoolbar - * - * Description: - * Get the raw contents of graphic memory within a rectangular region. NOTE: - * Since raw graphic memory is returned, the returned memory content may be - * the memory of windows above this one and may not necessarily belong to - * this window unless you assure that this is the top window. - * - * Input Parameters: - * wnd - The window structure reference - * rect - The location to be copied - * plane - Specifies the color plane to get from. - * dest - The location to copy the memory region - * deststride - The width, in bytes, the the dest memory - * - * Return: - * OK on success; ERROR on failure with errno set appropriately - * - ****************************************************************************/ - -int nxtk_gettoolbar(NXTKWINDOW hfwnd, FAR const struct nxgl_rect_s *rect, - unsigned int plane, FAR uint8_t *dest, - unsigned int deststride) -{ - FAR struct nxtk_framedwindow_s *fwnd = (FAR struct nxtk_framedwindow_s *)hfwnd; - struct nxgl_rect_s getrect; - -#ifdef CONFIG_DEBUG - if (!hfwnd || !rect || !dest) - { - gvdbg("Invalid parameters\n"); - set_errno(EINVAL); - return ERROR; - } -#endif - - /* Clip the rectangle so that it lies within the sub-window bounds - * then move the rectangle to that it is relative to the containing - * window. - */ - - nxtk_subwindowclip(fwnd, &getrect, rect, &fwnd->tbrect); - - /* Then get it */ - - return nx_getrectangle((NXWINDOW)hfwnd, &getrect, plane, dest, deststride); -} diff --git a/nuttx/graphics/nxtk/nxtk_getwindow.c b/nuttx/graphics/nxtk/nxtk_getwindow.c deleted file mode 100644 index c91f2d22f..000000000 --- a/nuttx/graphics/nxtk/nxtk_getwindow.c +++ /dev/null @@ -1,126 +0,0 @@ -/**************************************************************************** - * graphics/nxtk/nxtk_getwindow.c - * - * Copyright (C) 2011 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <gnutt@nuttx.org> - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * 3. Neither the name NuttX nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - ****************************************************************************/ - -/**************************************************************************** - * Included Files - ****************************************************************************/ - -#include <nuttx/config.h> - -#include <stdlib.h> -#include <errno.h> -#include <debug.h> - -#include <nuttx/nx/nx.h> -#include <nuttx/nx/nxtk.h> - -#include "nxfe.h" -#include "nxtk_internal.h" - -/**************************************************************************** - * Pre-Processor Definitions - ****************************************************************************/ - -/**************************************************************************** - * Private Types - ****************************************************************************/ - -/**************************************************************************** - * Private Data - ****************************************************************************/ - -/**************************************************************************** - * Public Data - ****************************************************************************/ - -/**************************************************************************** - * Private Functions - ****************************************************************************/ - -/**************************************************************************** - * Public Functions - ****************************************************************************/ - -/**************************************************************************** - * Name: nxtk_getwindow - * - * Description: - * Get the raw contents of graphic memory within a rectangular region. NOTE: - * Since raw graphic memory is returned, the returned memory content may be - * the memory of windows above this one and may not necessarily belong to - * this window unless you assure that this is the top window. - * - * Input Parameters: - * wnd - The window structure reference - * rect - The location to be copied - * plane - Specifies the color plane to get from. - * dest - The location to copy the memory region - * deststride - The width, in bytes, the the dest memory - * - * Return: - * OK on success; ERROR on failure with errno set appropriately - * - ****************************************************************************/ - -int nxtk_getwindow(NXTKWINDOW hfwnd, FAR const struct nxgl_rect_s *rect, - unsigned int plane, FAR uint8_t *dest, - unsigned int deststride) -{ - FAR struct nxtk_framedwindow_s *fwnd = (FAR struct nxtk_framedwindow_s *)hfwnd; - struct nxgl_rect_s getrect; - -#ifdef CONFIG_DEBUG - if (!hfwnd || !rect || !dest) - { - gvdbg("Invalid parameters\n"); - set_errno(EINVAL); - return ERROR; - } -#endif - - /* Move the rectangle to that it is relative to the containing - * window. If part of the rectangle lies outside the window, - * it will contain garbage data, but the contained area will be - * valid. - */ - - nxgl_rectoffset(&getrect, rect, - fwnd->fwrect.pt1.x - fwnd->wnd.bounds.pt1.x, - fwnd->fwrect.pt1.y - fwnd->wnd.bounds.pt1.y); - - /* Then get it */ - - return nx_getrectangle((NXWINDOW)hfwnd, &getrect, plane, dest, deststride); -} diff --git a/nuttx/graphics/nxtk/nxtk_internal.h b/nuttx/graphics/nxtk/nxtk_internal.h deleted file mode 100644 index 3a31215d8..000000000 --- a/nuttx/graphics/nxtk/nxtk_internal.h +++ /dev/null @@ -1,225 +0,0 @@ -/**************************************************************************** - * graphics/nxtk/nxtk_internal.h - * - * Copyright (C) 2008-2009, 2011-1021 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <gnutt@nuttx.org> - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * 3. Neither the name NuttX nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - ****************************************************************************/ - -#ifndef __GRAPHICS_NXTK_NXTK_INTERNAL_H -#define __GRAPHICS_NXTK_NXTK_INTERNAL_H - -/**************************************************************************** - * Included Files - ****************************************************************************/ - -#include <nuttx/config.h> - -#include <nuttx/nx/nxtk.h> -#include "nxbe.h" -#include "nxfe.h" - -/**************************************************************************** - * Pre-processor definitions - ****************************************************************************/ - -/**************************************************************************** - * Public Types - ****************************************************************************/ - -/* This is the internal representation of the framed window object */ - -struct nxtk_framedwindow_s -{ - struct nxbe_window_s wnd; /* The raw NX window */ - - /* The toolbar region and callbacks */ - - nxgl_coord_t tbheight; - struct nxgl_rect_s tbrect; - FAR const struct nx_callback_s *tbcb; - FAR void *tbarg; - - /* Window data region and callbacks */ - - struct nxgl_rect_s fwrect; - FAR const struct nx_callback_s *fwcb; - FAR void *fwarg; - - /* Initial mouse down location */ - - uint8_t mbutton; - struct nxgl_point_s mpos; -}; - -/**************************************************************************** - * Public Data - ****************************************************************************/ - -#undef EXTERN -#if defined(__cplusplus) -# define EXTERN extern "C" -extern "C" { -#else -# define EXTERN extern -#endif - -/* That is the callback for the framed window */ - -extern FAR const struct nx_callback_s g_nxtkcb; - -/* Frame border colors */ - -extern nxgl_mxpixel_t g_bordercolor1[CONFIG_NX_NPLANES]; -extern nxgl_mxpixel_t g_bordercolor2[CONFIG_NX_NPLANES]; -extern nxgl_mxpixel_t g_bordercolor3[CONFIG_NX_NPLANES]; - -/**************************************************************************** - * Public Function Prototypes - ****************************************************************************/ - -/**************************************************************************** - * Name: nxtk_setsubwindows - * - * Description: - * Give the window dimensions, border width, and toolbar height, - * calculate the new dimensions of the toolbar region and client window - * region - * - ****************************************************************************/ - -EXTERN void nxtk_setsubwindows(FAR struct nxtk_framedwindow_s *fwnd); - -/**************************************************************************** - * Name: nxtk_subwindowclip - * - * Description: - * Clip the src rectangle so that it lies within the sub-window bounds - * then move the rectangle to that it is relative to the containing - * window. - * - * Input parameters: - * fwnd - The framed window to be used - * dest - The locaton to put the result - * src - The src rectangle in relative sub-window coordinates - * bounds - The subwindow bounds in absolute screen coordinates. - * - * Returned value: - * None - * - ****************************************************************************/ - -EXTERN void nxtk_subwindowclip(FAR struct nxtk_framedwindow_s *fwnd, - FAR struct nxgl_rect_s *dest, - FAR const struct nxgl_rect_s *src, - FAR const struct nxgl_rect_s *bounds); - -/**************************************************************************** - * Name: nxtk_containerclip - * - * Description: - * We are given a 'src' rectangle in containing window, relative coordinates - * (i.e., (0,0) is the top left corner of the outer, containing window). - * This function will (1) clip that src rectangle so that it lies within - * the sub-window bounds, and then (2) move the rectangle to that it is - * relative to the sub-window (i.e., (0,0) is the top left corner of the - * sub-window). - * - * Input parameters: - * fwnd - The framed window to be used - * dest - The locaton to put the result - * src - The src rectangle in relative container-window coordinates - * bounds - The subwindow bounds in absolute screen coordinates. - * - * Returned value: - * None - * - ****************************************************************************/ - -EXTERN void nxtk_containerclip(FAR struct nxtk_framedwindow_s *fwnd, - FAR struct nxgl_rect_s *dest, - FAR const struct nxgl_rect_s *src, - FAR const struct nxgl_rect_s *bounds); - -/**************************************************************************** - * Name: nxtk_subwindowmove - * - * Description: - * Perform common clipping operations in preparatons for calling nx_move() - * - * Input Parameters: - * fwnd - The framed window within which the move is to be done. - * This must have been previously created by nxtk_openwindow(). - * destrect - The loccation to receive the clipped rectangle relative - * to containing window - * destoffset - The location to received the clipped offset. - * srcrect - Describes the rectangular region relative to the client - * sub-window to move relative to the sub-window - * srcoffset - The offset to move the region - * bounds - The subwindow bounds in absolute screen coordinates. - * - * Return: - * OK on success; ERROR on failure with errno set appropriately - * - ****************************************************************************/ - -EXTERN void nxtk_subwindowmove(FAR struct nxtk_framedwindow_s *fwnd, - FAR struct nxgl_rect_s *destrect, - FAR struct nxgl_point_s *destoffset, - FAR const struct nxgl_rect_s *srcrect, - FAR const struct nxgl_point_s *srcoffset, - FAR const struct nxgl_rect_s *bounds); - -/**************************************************************************** - * Name: nxtk_drawframe - * - * Description: - * Redraw the window frame. - * - * Input parameters: - * fwnd - the framed window whose frame needs to be re-drawn. This must - * have been previously created by nxtk_openwindow(). - * bounds - Only draw the ports of the frame within this bounding box. - * (window relative coordinates). - * - * Returned value: - * OK on success; ERROR on failure with errno set appropriately - * - ****************************************************************************/ - -EXTERN int nxtk_drawframe(FAR struct nxtk_framedwindow_s *fwnd, - FAR const struct nxgl_rect_s *bounds); - -#undef EXTERN -#if defined(__cplusplus) -} -#endif - -#endif /* __GRAPHICS_NXTK_NXTK_INTERNAL_H */ diff --git a/nuttx/graphics/nxtk/nxtk_lower.c b/nuttx/graphics/nxtk/nxtk_lower.c deleted file mode 100644 index e37e020fc..000000000 --- a/nuttx/graphics/nxtk/nxtk_lower.c +++ /dev/null @@ -1,95 +0,0 @@ -/**************************************************************************** - * graphics/nxtk/nxtk_lower.c - * - * Copyright (C) 2008-2009 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <gnutt@nuttx.org> - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * 3. Neither the name NuttX nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - ****************************************************************************/ - -/**************************************************************************** - * Included Files - ****************************************************************************/ - -#include <nuttx/config.h> - -#include <stdlib.h> -#include <errno.h> -#include <debug.h> - -#include <nuttx/nx/nx.h> -#include <nuttx/nx/nxtk.h> - -#include "nxfe.h" -#include "nxtk_internal.h" - -/**************************************************************************** - * Pre-Processor Definitions - ****************************************************************************/ - -/**************************************************************************** - * Private Types - ****************************************************************************/ - -/**************************************************************************** - * Private Data - ****************************************************************************/ - -/**************************************************************************** - * Public Data - ****************************************************************************/ - -/**************************************************************************** - * Private Functions - ****************************************************************************/ - -/**************************************************************************** - * Public Functions - ****************************************************************************/ - -/**************************************************************************** - * Name: nxtk_lower - * - * Description: - * Lower the window containing the specified client sub-window to the - * bottom of the display. - * - * Input parameters: - * hfwnd - the window to be lowered. This must have been previously created - * by nxtk_openwindow(). - * - * Returned value: - * OK on success; ERROR on failure with errno set appropriately - * - ****************************************************************************/ - -int nxtk_lower(NXTKWINDOW hfwnd) -{ - return nx_lower((NXWINDOW)hfwnd); -} diff --git a/nuttx/graphics/nxtk/nxtk_movetoolbar.c b/nuttx/graphics/nxtk/nxtk_movetoolbar.c deleted file mode 100644 index 9170394f1..000000000 --- a/nuttx/graphics/nxtk/nxtk_movetoolbar.c +++ /dev/null @@ -1,119 +0,0 @@ -/**************************************************************************** - * graphics/nxtk/nxtk_movetoolbar.c - * - * Copyright (C) 2008-2009 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <gnutt@nuttx.org> - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * 3. Neither the name NuttX nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - ****************************************************************************/ - -/**************************************************************************** - * Included Files - ****************************************************************************/ - -#include <nuttx/config.h> - -#include <stdlib.h> -#include <errno.h> -#include <debug.h> - -#include <nuttx/nx/nx.h> -#include <nuttx/nx/nxtk.h> - -#include "nxfe.h" -#include "nxtk_internal.h" - -/**************************************************************************** - * Pre-Processor Definitions - ****************************************************************************/ - -/**************************************************************************** - * Private Types - ****************************************************************************/ - -/**************************************************************************** - * Private Data - ****************************************************************************/ - -/**************************************************************************** - * Public Data - ****************************************************************************/ - -/**************************************************************************** - * Private Functions - ****************************************************************************/ - -/**************************************************************************** - * Public Functions - ****************************************************************************/ - -/**************************************************************************** - * Name: nxtk_movetoolbar - * - * Description: - * Move a rectangular region within the toolbar sub-window of a framed window - * - * Input Parameters: - * hfwnd - The sub-window containing the toolbar within which the move is - * to be done. This must have been previously created by - * nxtk_openwindow(). - * rect - Describes the rectangular region relative to the toolbar - * sub-window to move - * offset - The offset to move the region - * - * Return: - * OK on success; ERROR on failure with errno set appropriately - * - ****************************************************************************/ - -int nxtk_movetoolbar(NXTKWINDOW hfwnd, FAR const struct nxgl_rect_s *rect, - FAR const struct nxgl_point_s *offset) -{ - FAR struct nxtk_framedwindow_s *fwnd = (FAR struct nxtk_framedwindow_s *)hfwnd; - struct nxgl_rect_s srcrect; - struct nxgl_point_s clipoffset; - -#ifdef CONFIG_DEBUG - if (!hfwnd || !rect || !offset) - { - errno = EINVAL; - return ERROR; - } -#endif - - /* Make sure that both the source and dest rectangle lie within the - * toolbar sub-window - */ - - nxtk_subwindowmove(fwnd, &srcrect, &clipoffset, rect, offset, &fwnd->tbrect); - - /* Then move it within the toolbar window */ - - return nx_move((NXWINDOW)hfwnd, &srcrect, &clipoffset); -} diff --git a/nuttx/graphics/nxtk/nxtk_movewindow.c b/nuttx/graphics/nxtk/nxtk_movewindow.c deleted file mode 100644 index 83d95b3a4..000000000 --- a/nuttx/graphics/nxtk/nxtk_movewindow.c +++ /dev/null @@ -1,118 +0,0 @@ -/**************************************************************************** - * graphics/nxtk/nxtk_movewindow.c - * - * Copyright (C) 2008-2009 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <gnutt@nuttx.org> - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * 3. Neither the name NuttX nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - ****************************************************************************/ - -/**************************************************************************** - * Included Files - ****************************************************************************/ - -#include <nuttx/config.h> - -#include <stdlib.h> -#include <errno.h> -#include <debug.h> - -#include <nuttx/nx/nx.h> -#include <nuttx/nx/nxtk.h> - -#include "nxfe.h" -#include "nxtk_internal.h" - -/**************************************************************************** - * Pre-Processor Definitions - ****************************************************************************/ - -/**************************************************************************** - * Private Types - ****************************************************************************/ - -/**************************************************************************** - * Private Data - ****************************************************************************/ - -/**************************************************************************** - * Public Data - ****************************************************************************/ - -/**************************************************************************** - * Private Functions - ****************************************************************************/ - -/**************************************************************************** - * Public Functions - ****************************************************************************/ - -/**************************************************************************** - * Name: nxtk_movewindow - * - * Description: - * Move a rectangular region within the client sub-window of a framed window - * - * Input Parameters: - * hfwnd - The client sub-window within which the move is to be done. - * This must have been previously created by nxtk_openwindow(). - * rect - Describes the rectangular region relative to the client - * sub-window to move - * offset - The offset to move the region - * - * Return: - * OK on success; ERROR on failure with errno set appropriately - * - ****************************************************************************/ - -int nxtk_movewindow(NXTKWINDOW hfwnd, FAR const struct nxgl_rect_s *rect, - FAR const struct nxgl_point_s *offset) -{ - FAR struct nxtk_framedwindow_s *fwnd = (FAR struct nxtk_framedwindow_s *)hfwnd; - struct nxgl_rect_s srcrect; - struct nxgl_point_s clipoffset; - -#ifdef CONFIG_DEBUG - if (!hfwnd || !rect || !offset) - { - errno = EINVAL; - return ERROR; - } -#endif - - /* Make sure that both the source and dest rectangle lie within the - * client sub-window - */ - - nxtk_subwindowmove(fwnd, &srcrect, &clipoffset, rect, offset, &fwnd->fwrect); - - /* Then move it within the client window */ - - return nx_move((NXWINDOW)hfwnd, &srcrect, &clipoffset); -} diff --git a/nuttx/graphics/nxtk/nxtk_opentoolbar.c b/nuttx/graphics/nxtk/nxtk_opentoolbar.c deleted file mode 100644 index e82dbed6f..000000000 --- a/nuttx/graphics/nxtk/nxtk_opentoolbar.c +++ /dev/null @@ -1,127 +0,0 @@ -/**************************************************************************** - * graphics/nxtk/nxtk_opentoolbar.c - * - * Copyright (C) 2008-2009 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <gnutt@nuttx.org> - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * 3. Neither the name NuttX nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - ****************************************************************************/ - -/**************************************************************************** - * Included Files - ****************************************************************************/ - -#include <nuttx/config.h> - -#include <stdlib.h> -#include <errno.h> -#include <debug.h> - -#include <nuttx/nx/nx.h> -#include <nuttx/nx/nxtk.h> - -#include "nxfe.h" -#include "nxtk_internal.h" - -/**************************************************************************** - * Pre-Processor Definitions - ****************************************************************************/ - -/**************************************************************************** - * Private Types - ****************************************************************************/ - -/**************************************************************************** - * Private Data - ****************************************************************************/ - -/**************************************************************************** - * Public Data - ****************************************************************************/ - -/**************************************************************************** - * Private Functions - ****************************************************************************/ - -/**************************************************************************** - * Public Functions - ****************************************************************************/ - -/**************************************************************************** - * Name: nxtk_opentoolbar - * - * Description: - * Create a tool bar at the top of the specified framed window - * - * Input Parameters: - * hfwnd - The handle returned by nxtk_openwindow - * height - The request height of the toolbar in pixels - * cb - Callbacks used to process toolbar events - * arg - User provided value that will be returned with toolbar callbacks. - * - * Return: - * OK on success; ERROR on failure with errno set appropriately - * - ****************************************************************************/ - -int nxtk_opentoolbar(NXTKWINDOW hfwnd, nxgl_coord_t height, - FAR const struct nx_callback_s *cb, - FAR void *arg) -{ - FAR struct nxtk_framedwindow_s *fwnd = (FAR struct nxtk_framedwindow_s *)hfwnd; - -#ifdef CONFIG_DEBUG - if (!hfwnd || !cb) - { - errno = EINVAL; - return ERROR; - } -#endif - - /* Initialize the toolbar info */ - - fwnd->tbheight = height; - fwnd->tbcb = cb; - fwnd->tbarg = arg; - - /* Calculate the new dimensions of the toolbar and client windows */ - - nxtk_setsubwindows(fwnd); - - /* Then redraw the entire window, even the client window must be - * redrawn because it has changed its vertical position and size. - */ - - nxfe_redrawreq(&fwnd->wnd, &fwnd->wnd.bounds); - - /* Return the initialized toolbar reference */ - - return OK; -} - diff --git a/nuttx/graphics/nxtk/nxtk_openwindow.c b/nuttx/graphics/nxtk/nxtk_openwindow.c deleted file mode 100644 index 0c77a6877..000000000 --- a/nuttx/graphics/nxtk/nxtk_openwindow.c +++ /dev/null @@ -1,160 +0,0 @@ -/**************************************************************************** - * graphics/nxtk/nxtk_openwindow.c - * - * Copyright (C) 2008-2009, 2012 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <gnutt@nuttx.org> - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * 3. Neither the name NuttX nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - ****************************************************************************/ - -/**************************************************************************** - * Included Files - ****************************************************************************/ - -#include <nuttx/config.h> - -#include <stdlib.h> -#include <errno.h> -#include <debug.h> - -#include <nuttx/nx/nx.h> -#include <nuttx/kmalloc.h> - -#include "nxfe.h" -#include "nxtk_internal.h" - -/**************************************************************************** - * Pre-Processor Definitions - ****************************************************************************/ - -/**************************************************************************** - * Private Types - ****************************************************************************/ - -/**************************************************************************** - * Private Data - ****************************************************************************/ - -/**************************************************************************** - * Public Data - ****************************************************************************/ - -nxgl_mxpixel_t g_bordercolor1[CONFIG_NX_NPLANES] = -{ - CONFIG_NXTK_BORDERCOLOR1 -#if CONFIG_NX_NPLANES > 1 -# error "Multiple plane border colors not defined" -#endif -}; - -nxgl_mxpixel_t g_bordercolor2[CONFIG_NX_NPLANES] = -{ - CONFIG_NXTK_BORDERCOLOR2 -#if CONFIG_NX_NPLANES > 1 -# error "Multiple plane border colors not defined" -#endif -}; - -nxgl_mxpixel_t g_bordercolor3[CONFIG_NX_NPLANES] = -{ - CONFIG_NXTK_BORDERCOLOR3 -#if CONFIG_NX_NPLANES > 1 -# error "Multiple plane border colors not defined" -#endif -}; - -/**************************************************************************** - * Private Functions - ****************************************************************************/ - -/**************************************************************************** - * Public Functions - ****************************************************************************/ - -/**************************************************************************** - * Name: nxtk_openwindow - * - * Description: - * Create a new, framed window. - * - * Input Parameters: - * handle - The handle returned by nx_connect - * cb - Callbacks used to process window events - * arg - User provided value that will be returned with NXTK callbacks. - * - * Return: - * Success: A non-NULL handle used with subsequent NXTK window accesses - * Failure: NULL is returned and errno is set appropriately - * - ****************************************************************************/ - -NXTKWINDOW nxtk_openwindow(NXHANDLE handle, - FAR const struct nx_callback_s *cb, - FAR void *arg) -{ - FAR struct nxtk_framedwindow_s *fwnd; - int ret; - -#ifdef CONFIG_DEBUG - if (!handle || !cb) - { - errno = EINVAL; - return NULL; - } -#endif - - /* Pre-allocate the window structure */ - - fwnd = (FAR struct nxtk_framedwindow_s *)kzalloc(sizeof(struct nxtk_framedwindow_s)); - if (!fwnd) - { - errno = ENOMEM; - return NULL; - } - - /* Initialize the window structure */ - - fwnd->fwcb = cb; - fwnd->fwarg = arg; - - /* Then let nxfe_constructwindow do the rest */ - - ret = nxfe_constructwindow(handle, &fwnd->wnd, &g_nxtkcb, NULL); - if (ret < 0) - { - /* An error occurred, the window has been freed */ - - return NULL; - } - - /* Return the initialized window reference */ - - return (NXTKWINDOW)fwnd; -} - diff --git a/nuttx/graphics/nxtk/nxtk_raise.c b/nuttx/graphics/nxtk/nxtk_raise.c deleted file mode 100644 index f20b25899..000000000 --- a/nuttx/graphics/nxtk/nxtk_raise.c +++ /dev/null @@ -1,95 +0,0 @@ -/**************************************************************************** - * graphics/nxtk/nxtk_raise.c - * - * Copyright (C) 2008-2009 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <gnutt@nuttx.org> - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * 3. Neither the name NuttX nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - ****************************************************************************/ - -/**************************************************************************** - * Included Files - ****************************************************************************/ - -#include <nuttx/config.h> - -#include <stdlib.h> -#include <errno.h> -#include <debug.h> - -#include <nuttx/nx/nx.h> -#include <nuttx/nx/nxtk.h> - -#include "nxfe.h" -#include "nxtk_internal.h" - -/**************************************************************************** - * Pre-Processor Definitions - ****************************************************************************/ - -/**************************************************************************** - * Private Types - ****************************************************************************/ - -/**************************************************************************** - * Private Data - ****************************************************************************/ - -/**************************************************************************** - * Public Data - ****************************************************************************/ - -/**************************************************************************** - * Private Functions - ****************************************************************************/ - -/**************************************************************************** - * Public Functions - ****************************************************************************/ - -/**************************************************************************** - * Name: nxtk_raise - * - * Description: - * Bring the window containing the specified client sub-window to the top - * of the display. - * - * Input parameters: - * hfwnd - the window to be raised. This must have been previously created - * by nxtk_openwindow(). - * - * Returned value: - * OK on success; ERROR on failure with errno set appropriately - * - ****************************************************************************/ - -int nxtk_raise(NXTKWINDOW hfwnd) -{ - return nx_raise((NXWINDOW)hfwnd); -} diff --git a/nuttx/graphics/nxtk/nxtk_setposition.c b/nuttx/graphics/nxtk/nxtk_setposition.c deleted file mode 100644 index 2a2a60665..000000000 --- a/nuttx/graphics/nxtk/nxtk_setposition.c +++ /dev/null @@ -1,107 +0,0 @@ -/**************************************************************************** - * graphics/nxtk/nxtk_setposition.c - * - * Copyright (C) 2008-2009, 2012 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <gnutt@nuttx.org> - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * 3. Neither the name NuttX nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - ****************************************************************************/ - -/**************************************************************************** - * Included Files - ****************************************************************************/ - -#include <nuttx/config.h> - -#include <stdlib.h> -#include <errno.h> -#include <debug.h> - -#include <nuttx/nx/nx.h> -#include <nuttx/nx/nxtk.h> - -#include "nxfe.h" -#include "nxtk_internal.h" - -/**************************************************************************** - * Pre-Processor Definitions - ****************************************************************************/ - -/**************************************************************************** - * Private Types - ****************************************************************************/ - -/**************************************************************************** - * Private Data - ****************************************************************************/ - -/**************************************************************************** - * Public Data - ****************************************************************************/ - -/**************************************************************************** - * Private Functions - ****************************************************************************/ - -/**************************************************************************** - * Public Functions - ****************************************************************************/ - -/**************************************************************************** - * Name: nxtk_setposition - * - * Description: - * Set the position for the selected client window. This position does not - * include the offsets for the borders nor for any toolbar. Those offsets - * will be added in to set the full window position. - * - * Input Parameters: - * hfwnd - The window handle returned by nxtk_openwindow - * pos - The new position of the client sub-window - * - * Return: - * OK on success; ERROR on failure with errno set appropriately - * - ****************************************************************************/ - -int nxtk_setposition(NXTKWINDOW hfwnd, FAR const struct nxgl_point_s *pos) -{ - FAR struct nxtk_framedwindow_s *fwnd = (FAR struct nxtk_framedwindow_s *)hfwnd; - struct nxgl_point_s offset; - struct nxgl_point_s newpos; - - /* Calculate the offset that is requested and add that to the window origin. */ - - nxgl_vectsubtract(&offset, pos, &fwnd->fwrect.pt1); - nxgl_vectoradd(&newpos, &offset, &fwnd->wnd.bounds.pt1); - - /* Then set that position */ - - return nx_setposition((NXWINDOW)hfwnd, &newpos); -} diff --git a/nuttx/graphics/nxtk/nxtk_setsize.c b/nuttx/graphics/nxtk/nxtk_setsize.c deleted file mode 100644 index 332ea00b5..000000000 --- a/nuttx/graphics/nxtk/nxtk_setsize.c +++ /dev/null @@ -1,114 +0,0 @@ -/**************************************************************************** - * graphics/nxtk/nxtk_setsize.c - * - * Copyright (C) 2008-2009 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <gnutt@nuttx.org> - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * 3. Neither the name NuttX nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - ****************************************************************************/ - -/**************************************************************************** - * Included Files - ****************************************************************************/ - -#include <nuttx/config.h> - -#include <stdlib.h> -#include <errno.h> -#include <debug.h> - -#include <nuttx/nx/nx.h> -#include <nuttx/nx/nxtk.h> - -#include "nxfe.h" -#include "nxtk_internal.h" - -/**************************************************************************** - * Pre-Processor Definitions - ****************************************************************************/ - -/**************************************************************************** - * Private Types - ****************************************************************************/ - -/**************************************************************************** - * Private Data - ****************************************************************************/ - -/**************************************************************************** - * Public Data - ****************************************************************************/ - -/**************************************************************************** - * Private Functions - ****************************************************************************/ - -/**************************************************************************** - * Public Functions - ****************************************************************************/ - -/**************************************************************************** - * Name: nxtk_setsize - * - * Description: - * Set the size for the selected client window. This size does not - * include the sizes of the borders nor for any toolbar. Those sizes - * will be added in to set the full window size. - * - * Input Parameters: - * hfwnd - The window handle returned by nxtk_openwindow - * size - The new size of the client sub-window. - * - * Return: - * OK on success; ERROR on failure with errno set appropriately - * - ****************************************************************************/ - -int nxtk_setsize(NXTKWINDOW hfwnd, FAR const struct nxgl_size_s *size) -{ - FAR struct nxtk_framedwindow_s *fwnd = (FAR struct nxtk_framedwindow_s *)hfwnd; - struct nxgl_size_s newsize; - -#ifdef CONFIG_DEBUG - if (!hfwnd || !size) - { - errno = EINVAL; - return ERROR; - } -#endif - - /* Add the sizes need for the toolbar and the borders */ - - newsize.w = size->w + 2 * CONFIG_NXTK_BORDERWIDTH; - newsize.h = size->h + fwnd->tbheight + 2 * CONFIG_NXTK_BORDERWIDTH; - - /* Then set the window size */ - - return nx_setsize((NXWINDOW)hfwnd, &newsize); -} diff --git a/nuttx/graphics/nxtk/nxtk_setsubwindows.c b/nuttx/graphics/nxtk/nxtk_setsubwindows.c deleted file mode 100644 index 143909ea4..000000000 --- a/nuttx/graphics/nxtk/nxtk_setsubwindows.c +++ /dev/null @@ -1,165 +0,0 @@ -/**************************************************************************** - * graphics/nxtk/nxtk_setsubwindows.c - * - * Copyright (C) 2008-2009 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <gnutt@nuttx.org> - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * 3. Neither the name NuttX nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - ****************************************************************************/ - -/**************************************************************************** - * Included Files - ****************************************************************************/ - -#include <nuttx/config.h> - -#include <stdlib.h> -#include <semaphore.h> -#include <debug.h> -#include <errno.h> - -#include <nuttx/nx/nx.h> -#include "nxtk_internal.h" - -/**************************************************************************** - * Definitions - ****************************************************************************/ - -/**************************************************************************** - * Private Types - ****************************************************************************/ - -/**************************************************************************** - * Private Function Prototypes - ****************************************************************************/ - -/**************************************************************************** - * Private Data - ****************************************************************************/ - -/**************************************************************************** - * Public Data - ****************************************************************************/ - -/**************************************************************************** - * Private Functions - ****************************************************************************/ - -/**************************************************************************** - * Public Functions - ****************************************************************************/ - -/**************************************************************************** - * Name: nxtk_setsubwindows - * - * Description: - * Give the window dimensions, border width, and toolbar height, - * calculate the new dimensions of the toolbar region and client window - * region - * - ****************************************************************************/ - -void nxtk_setsubwindows(FAR struct nxtk_framedwindow_s *fwnd) -{ - nxgl_coord_t fullheight; - nxgl_coord_t bdrheight = 0; - nxgl_coord_t tbtop = fwnd->wnd.bounds.pt1.y; - nxgl_coord_t tbheight = 0; - nxgl_coord_t fwtop = fwnd->wnd.bounds.pt1.y; - nxgl_coord_t fwheight = 0; - nxgl_coord_t fullwidth; - nxgl_coord_t bdrwidth; - nxgl_coord_t fwwidth; - nxgl_coord_t fwleft; - - /* Divide up the vertical dimension of the window */ - - fullheight = fwnd->wnd.bounds.pt2.y - fwnd->wnd.bounds.pt1.y + 1; - - /* Is it tall enough for a border? */ - - if (fullheight > 0) - { - /* Get the border height */ - - bdrheight = ngl_min(2 * CONFIG_NXTK_BORDERWIDTH, fullheight); - - /* Position the toolbar and client window just under the top border */ - -#if CONFIG_NXTK_BORDERWIDTH > 1 - tbtop += CONFIG_NXTK_BORDERWIDTH - 1; - fwtop = tbtop + 1; -#else - tbtop += CONFIG_NXTK_BORDERWIDTH; - fwtop = tbtop; -#endif - - /* Is it big enough for any part of the toolbar? */ - - if (fullheight > 2 * CONFIG_NXTK_BORDERWIDTH) - { - /* Yes.. get the height of the toolbar */ - - tbheight = fwnd->tbheight; - if (tbheight >= fullheight - bdrheight) - { - tbheight = fullheight - bdrheight; - } - else - { - /* And the client window gets whatever is left */ - - fwheight = fullheight - bdrheight - tbheight; - } - - /* Position the client window just under the toolbar */ - - fwtop += tbheight; - } - } - - /* Divide up the horizontal dimensions of the window */ - - fullwidth = fwnd->wnd.bounds.pt2.x - fwnd->wnd.bounds.pt1.x + 1; - bdrwidth = ngl_min(2 * CONFIG_NXTK_BORDERWIDTH, fullwidth); - fwwidth = fullwidth - bdrwidth; - fwleft = fwnd->wnd.bounds.pt1.x + bdrwidth / 2; - - /* Realize the positions/dimensions */ - - fwnd->tbrect.pt1.x = fwleft; - fwnd->tbrect.pt1.y = tbtop; - fwnd->tbrect.pt2.x = fwleft + fwwidth - 1; - fwnd->tbrect.pt2.y = tbtop + tbheight - 1; - - fwnd->fwrect.pt1.x = fwleft; - fwnd->fwrect.pt1.y = fwtop; - fwnd->fwrect.pt2.x = fwleft + fwwidth - 1; - fwnd->fwrect.pt2.y = fwtop + fwheight - 1; -} diff --git a/nuttx/graphics/nxtk/nxtk_subwindowclip.c b/nuttx/graphics/nxtk/nxtk_subwindowclip.c deleted file mode 100644 index 2dbefb648..000000000 --- a/nuttx/graphics/nxtk/nxtk_subwindowclip.c +++ /dev/null @@ -1,118 +0,0 @@ -/**************************************************************************** - * graphics/nxtk/nxtk_subwindowclip.c - * - * Copyright (C) 2008-2009 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <gnutt@nuttx.org> - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * 3. Neither the name NuttX nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - ****************************************************************************/ - -/**************************************************************************** - * Included Files - ****************************************************************************/ - -#include <nuttx/config.h> - -#include <stdlib.h> -#include <errno.h> -#include <debug.h> - -#include <nuttx/nx/nx.h> -#include <nuttx/nx/nxtk.h> - -#include "nxfe.h" -#include "nxtk_internal.h" - -/**************************************************************************** - * Pre-Processor Definitions - ****************************************************************************/ - -/**************************************************************************** - * Private Types - ****************************************************************************/ - -/**************************************************************************** - * Private Data - ****************************************************************************/ - -/**************************************************************************** - * Public Data - ****************************************************************************/ - -/**************************************************************************** - * Private Functions - ****************************************************************************/ - -/**************************************************************************** - * Public Functions - ****************************************************************************/ - -/**************************************************************************** - * Name: nxtk_subwindowclip - * - * Description: - * We are given a 'src' rectangle in sub-window, relative coordinates - * (i.e., (0,0) is the top left corner of the sub-window). This function - * will (1) clip that src rectangle so that it lies within the sub-window - * bounds, and then (2) move the rectangle to that it is relative to the - * containing window (i.e., (0,0) is the top left corner of the containing - * window). - * - * Input parameters: - * fwnd - The framed window to be used - * dest - The locaton to put the result - * src - The src rectangle in relative sub-window coordinates - * bounds - The subwindow bounds in absolute screen coordinates. - * - * Returned value: - * None - * - ****************************************************************************/ - -void nxtk_subwindowclip(FAR struct nxtk_framedwindow_s *fwnd, - FAR struct nxgl_rect_s *dest, - FAR const struct nxgl_rect_s *src, - FAR const struct nxgl_rect_s *bounds) -{ - struct nxgl_rect_s tmp; - - /* Temporarily, position the src rectangle in absolute screen coordinates */ - - nxgl_rectoffset(&tmp, src, bounds->pt1.x, bounds->pt1.y); - - /* Clip the src rectangle to lie within the client window region */ - - nxgl_rectintersect(&tmp, &tmp, bounds); - - /* Then move the rectangle so that is relative to the containing window, not the - * client subwindow - */ - - nxgl_rectoffset(dest, &tmp, -fwnd->wnd.bounds.pt1.x, -fwnd->wnd.bounds.pt1.y); -} diff --git a/nuttx/graphics/nxtk/nxtk_subwindowmove.c b/nuttx/graphics/nxtk/nxtk_subwindowmove.c deleted file mode 100644 index 3c2bb7f37..000000000 --- a/nuttx/graphics/nxtk/nxtk_subwindowmove.c +++ /dev/null @@ -1,149 +0,0 @@ -/**************************************************************************** - * graphics/nxtk/nxtk_subwindowmove.c - * - * Copyright (C) 2008-2009 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <gnutt@nuttx.org> - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * 3. Neither the name NuttX nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - ****************************************************************************/ - -/**************************************************************************** - * Included Files - ****************************************************************************/ - -#include <nuttx/config.h> - -#include <stdlib.h> -#include <errno.h> -#include <debug.h> - -#include <nuttx/nx/nx.h> -#include <nuttx/nx/nxtk.h> - -#include "nxfe.h" -#include "nxtk_internal.h" - -/**************************************************************************** - * Pre-Processor Definitions - ****************************************************************************/ - -/**************************************************************************** - * Private Types - ****************************************************************************/ - -/**************************************************************************** - * Private Data - ****************************************************************************/ - -/**************************************************************************** - * Public Data - ****************************************************************************/ - -/**************************************************************************** - * Private Functions - ****************************************************************************/ - -/**************************************************************************** - * Public Functions - ****************************************************************************/ - -/**************************************************************************** - * Name: nxtk_subwindowmove - * - * Description: - * Perform common clipping operations in preparatons for calling nx_move() - * - * Input Parameters: - * fwnd - The framed window within which the move is to be done. - * This must have been previously created by nxtk_openwindow(). - * destrect - The loccation to receive the clipped rectangle relative - * to containing window - * destoffset - The location to received the clipped offset. - * srcrect - Describes the rectangular region relative to the client - * sub-window to move relative to the sub-window - * srcoffset - The offset to move the region - * bounds - The subwindow bounds in absolute screen coordinates. - * - * Return: - * OK on success; ERROR on failure with errno set appropriately - * - ****************************************************************************/ - -void nxtk_subwindowmove(FAR struct nxtk_framedwindow_s *fwnd, - FAR struct nxgl_rect_s *destrect, - FAR struct nxgl_point_s *destoffset, - FAR const struct nxgl_rect_s *srcrect, - FAR const struct nxgl_point_s *srcoffset, - FAR const struct nxgl_rect_s *bounds) -{ - struct nxgl_rect_s abssrc; - - /* Temporarily, position the src rectangle in absolute screen coordinates */ - - nxgl_rectoffset(&abssrc, srcrect, bounds->pt1.x, bounds->pt1.y); - - /* Clip the src rectangle to lie within the client window region */ - - nxgl_rectintersect(&abssrc, &abssrc, &fwnd->fwrect); - - /* Clip the source rectangle so that destination area is within the window. */ - - destoffset->x = srcoffset->x; - if (destoffset->x < 0) - { - if (abssrc.pt1.x + destoffset->x < bounds->pt1.x) - { - abssrc.pt1.x = bounds->pt1.x - destoffset->x; - } - } - else if (abssrc.pt2.x + destoffset->x > bounds->pt2.x) - { - abssrc.pt2.x = bounds->pt2.x - destoffset->x; - } - - destoffset->y = srcoffset->y; - if (destoffset->y < 0) - { - if (abssrc.pt1.y + destoffset->y < bounds->pt1.y) - { - abssrc.pt1.y = bounds->pt1.y - destoffset->y; - } - } - else if (abssrc.pt2.y + destoffset->y > bounds->pt2.y) - { - abssrc.pt2.y = bounds->pt2.y - destoffset->y; - } - - - /* Then move the rectangle so that is relative to the containing window, not the - * client subwindow - */ - - nxgl_rectoffset(destrect, &abssrc, -fwnd->wnd.bounds.pt1.x, -fwnd->wnd.bounds.pt1.y); -} diff --git a/nuttx/graphics/nxtk/nxtk_toolbarbounds.c b/nuttx/graphics/nxtk/nxtk_toolbarbounds.c deleted file mode 100644 index ee49cb504..000000000 --- a/nuttx/graphics/nxtk/nxtk_toolbarbounds.c +++ /dev/null @@ -1,107 +0,0 @@ -/**************************************************************************** - * graphics/nxtk/nxtk_toolbarbounds.c - * - * Copyright (C) 2012 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <gnutt@nuttx.org> - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * 3. Neither the name NuttX nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - ****************************************************************************/ - -/**************************************************************************** - * Included Files - ****************************************************************************/ - -#include <nuttx/config.h> - -#include <assert.h> - -#include <nuttx/nx/nx.h> -#include <nuttx/nx/nxtk.h> - -#include "nxfe.h" -#include "nxtk_internal.h" - -/**************************************************************************** - * Pre-Processor Definitions - ****************************************************************************/ - -/**************************************************************************** - * Private Types - ****************************************************************************/ - -/**************************************************************************** - * Private Data - ****************************************************************************/ - -/**************************************************************************** - * Public Data - ****************************************************************************/ - -/**************************************************************************** - * Private Functions - ****************************************************************************/ - -/**************************************************************************** - * Public Functions - ****************************************************************************/ - -/**************************************************************************** - * Name: nxtk_toolbarbounds - * - * Description: - * Return a bounding box that contains the toolbar in the coordinates of - * the containing, framed window. For example, the recturned origin - * (rect.pt1) is the offset toolbar in the framed window. - * - * NOTE: This function is unsafe in the case of the multi-user NX server - * where the width of the window may be being changed asynchronously! It - * may return the old size in this case. - * - * Input Parameters: - * hfwnd - The handle returned by nxtk_openwindow - * bounds - User provided location in which to return the bounding box. - * - * Return: - * OK on success; ERROR on failure with errno set appropriately - * - ****************************************************************************/ - -int nxtk_toolbarbounds(NXTKWINDOW hfwnd, FAR struct nxgl_rect_s *bounds) -{ - FAR struct nxtk_framedwindow_s *fwnd = (FAR struct nxtk_framedwindow_s *)hfwnd; - - DEBUGASSERT(hfwnd && bounds); - - /* Offset the rectangle by subtracting the current position of the window. */ - - nxgl_rectoffset(bounds, &fwnd->tbrect, - -fwnd->wnd.bounds.pt1.x, -fwnd->wnd.bounds.pt1.y); - return OK; -} - |