aboutsummaryrefslogtreecommitdiff
path: root/nuttx/graphics
diff options
context:
space:
mode:
Diffstat (limited to 'nuttx/graphics')
-rw-r--r--nuttx/graphics/Kconfig443
-rw-r--r--nuttx/graphics/Makefile216
-rw-r--r--nuttx/graphics/README.txt401
-rw-r--r--nuttx/graphics/nxbe/Make.defs41
-rw-r--r--nuttx/graphics/nxbe/nxbe.h533
-rw-r--r--nuttx/graphics/nxbe/nxbe_bitmap.c192
-rw-r--r--nuttx/graphics/nxbe/nxbe_clipper.c278
-rw-r--r--nuttx/graphics/nxbe/nxbe_closewindow.c137
-rw-r--r--nuttx/graphics/nxbe/nxbe_colormap.c155
-rw-r--r--nuttx/graphics/nxbe/nxbe_configure.c219
-rw-r--r--nuttx/graphics/nxbe/nxbe_fill.c157
-rw-r--r--nuttx/graphics/nxbe/nxbe_filltrapezoid.c173
-rw-r--r--nuttx/graphics/nxbe/nxbe_getrectangle.c138
-rw-r--r--nuttx/graphics/nxbe/nxbe_lower.c125
-rw-r--r--nuttx/graphics/nxbe/nxbe_move.c284
-rw-r--r--nuttx/graphics/nxbe/nxbe_raise.c116
-rw-r--r--nuttx/graphics/nxbe/nxbe_redraw.c139
-rw-r--r--nuttx/graphics/nxbe/nxbe_redrawbelow.c91
-rw-r--r--nuttx/graphics/nxbe/nxbe_setpixel.c158
-rw-r--r--nuttx/graphics/nxbe/nxbe_setposition.c119
-rw-r--r--nuttx/graphics/nxbe/nxbe_setsize.c121
-rw-r--r--nuttx/graphics/nxbe/nxbe_visible.c134
-rw-r--r--nuttx/graphics/nxconsole/Make.defs48
-rw-r--r--nuttx/graphics/nxconsole/nx_register.c193
-rwxr-xr-xnuttx/graphics/nxconsole/nxcon_driver.c257
-rw-r--r--nuttx/graphics/nxconsole/nxcon_font.c651
-rw-r--r--nuttx/graphics/nxconsole/nxcon_internal.h254
-rw-r--r--nuttx/graphics/nxconsole/nxcon_kbdin.c489
-rw-r--r--nuttx/graphics/nxconsole/nxcon_putc.c203
-rw-r--r--nuttx/graphics/nxconsole/nxcon_redraw.c152
-rw-r--r--nuttx/graphics/nxconsole/nxcon_register.c160
-rwxr-xr-xnuttx/graphics/nxconsole/nxcon_scroll.c239
-rw-r--r--nuttx/graphics/nxconsole/nxcon_sem.c129
-rw-r--r--nuttx/graphics/nxconsole/nxcon_unregister.c123
-rw-r--r--nuttx/graphics/nxconsole/nxcon_vt100.c289
-rw-r--r--nuttx/graphics/nxconsole/nxtk_register.c192
-rw-r--r--nuttx/graphics/nxconsole/nxtool_register.c195
-rw-r--r--nuttx/graphics/nxfonts/Make.defs128
-rw-r--r--nuttx/graphics/nxfonts/Makefile.sources196
-rw-r--r--nuttx/graphics/nxfonts/nxfonts_bitmaps.c1691
-rw-r--r--nuttx/graphics/nxfonts/nxfonts_convert.c290
-rw-r--r--nuttx/graphics/nxfonts/nxfonts_getfont.c423
-rw-r--r--nuttx/graphics/nxfonts/nxfonts_internal.h88
-rw-r--r--nuttx/graphics/nxfonts/nxfonts_mono5x8.h815
-rw-r--r--nuttx/graphics/nxfonts/nxfonts_sans17x22.h849
-rw-r--r--nuttx/graphics/nxfonts/nxfonts_sans17x23b.h849
-rw-r--r--nuttx/graphics/nxfonts/nxfonts_sans20x26.h849
-rw-r--r--nuttx/graphics/nxfonts/nxfonts_sans20x27b.h849
-rw-r--r--nuttx/graphics/nxfonts/nxfonts_sans22x29.h849
-rw-r--r--nuttx/graphics/nxfonts/nxfonts_sans22x29b.h849
-rw-r--r--nuttx/graphics/nxfonts/nxfonts_sans23x27.h859
-rw-r--r--nuttx/graphics/nxfonts/nxfonts_sans28x37.h849
-rwxr-xr-xnuttx/graphics/nxfonts/nxfonts_sans28x37b.h849
-rw-r--r--nuttx/graphics/nxfonts/nxfonts_sans39x48.h849
-rwxr-xr-xnuttx/graphics/nxfonts/nxfonts_sans40x49b.h849
-rw-r--r--nuttx/graphics/nxfonts/nxfonts_serif22x28b.h849
-rw-r--r--nuttx/graphics/nxfonts/nxfonts_serif22x29.h849
-rwxr-xr-xnuttx/graphics/nxfonts/nxfonts_serif27x38b.h849
-rwxr-xr-xnuttx/graphics/nxfonts/nxfonts_serif29x37.h849
-rw-r--r--nuttx/graphics/nxfonts/nxfonts_serif38x48.h849
-rw-r--r--nuttx/graphics/nxfonts/nxfonts_serif38x49b.h849
-rw-r--r--nuttx/graphics/nxglib/Make.defs93
-rw-r--r--nuttx/graphics/nxglib/Makefile.sources175
-rw-r--r--nuttx/graphics/nxglib/fb/nxglib_copyrectangle.c179
-rw-r--r--nuttx/graphics/nxglib/fb/nxglib_fillrectangle.c177
-rw-r--r--nuttx/graphics/nxglib/fb/nxglib_filltrapezoid.c285
-rw-r--r--nuttx/graphics/nxglib/fb/nxglib_getrectangle.c201
-rw-r--r--nuttx/graphics/nxglib/fb/nxglib_moverectangle.c252
-rw-r--r--nuttx/graphics/nxglib/fb/nxglib_setpixel.c156
-rw-r--r--nuttx/graphics/nxglib/lcd/nxglib_copyrectangle.c141
-rw-r--r--nuttx/graphics/nxglib/lcd/nxglib_fillrectangle.c111
-rw-r--r--nuttx/graphics/nxglib/lcd/nxglib_filltrapezoid.c259
-rw-r--r--nuttx/graphics/nxglib/lcd/nxglib_getrectangle.c105
-rw-r--r--nuttx/graphics/nxglib/lcd/nxglib_moverectangle.c131
-rw-r--r--nuttx/graphics/nxglib/lcd/nxglib_setpixel.c153
-rw-r--r--nuttx/graphics/nxglib/nxglib_bitblit.h208
-rw-r--r--nuttx/graphics/nxglib/nxglib_circlepts.c171
-rw-r--r--nuttx/graphics/nxglib/nxglib_circletraps.c176
-rw-r--r--nuttx/graphics/nxglib/nxglib_colorcopy.c87
-rw-r--r--nuttx/graphics/nxglib/nxglib_copyrun.h346
-rw-r--r--nuttx/graphics/nxglib/nxglib_fillrun.h196
-rw-r--r--nuttx/graphics/nxglib/nxglib_intersecting.c83
-rw-r--r--nuttx/graphics/nxglib/nxglib_nonintersecting.c151
-rw-r--r--nuttx/graphics/nxglib/nxglib_nullrect.c82
-rw-r--r--nuttx/graphics/nxglib/nxglib_rectadd.c84
-rw-r--r--nuttx/graphics/nxglib/nxglib_rectcopy.c84
-rw-r--r--nuttx/graphics/nxglib/nxglib_rectinside.c83
-rw-r--r--nuttx/graphics/nxglib/nxglib_rectintersect.c84
-rw-r--r--nuttx/graphics/nxglib/nxglib_rectoffset.c87
-rw-r--r--nuttx/graphics/nxglib/nxglib_rectoverlap.c90
-rw-r--r--nuttx/graphics/nxglib/nxglib_rectsize.c81
-rw-r--r--nuttx/graphics/nxglib/nxglib_rectunion.c85
-rw-r--r--nuttx/graphics/nxglib/nxglib_rgb2yuv.c103
-rw-r--r--nuttx/graphics/nxglib/nxglib_runcopy.c82
-rw-r--r--nuttx/graphics/nxglib/nxglib_runoffset.c85
-rw-r--r--nuttx/graphics/nxglib/nxglib_splitline.c532
-rw-r--r--nuttx/graphics/nxglib/nxglib_trapcopy.c82
-rw-r--r--nuttx/graphics/nxglib/nxglib_trapoffset.c82
-rw-r--r--nuttx/graphics/nxglib/nxglib_vectoradd.c84
-rw-r--r--nuttx/graphics/nxglib/nxglib_vectsubtract.c84
-rw-r--r--nuttx/graphics/nxglib/nxglib_yuv2rgb.c102
-rw-r--r--nuttx/graphics/nxmu/Make.defs48
-rw-r--r--nuttx/graphics/nxmu/nx_bitmap.c157
-rw-r--r--nuttx/graphics/nxmu/nx_block.c148
-rw-r--r--nuttx/graphics/nxmu/nx_closewindow.c100
-rw-r--r--nuttx/graphics/nxmu/nx_connect.c220
-rw-r--r--nuttx/graphics/nxmu/nx_disconnect.c108
-rw-r--r--nuttx/graphics/nxmu/nx_drawcircle.c145
-rw-r--r--nuttx/graphics/nxmu/nx_drawline.c136
-rw-r--r--nuttx/graphics/nxmu/nx_eventhandler.c260
-rw-r--r--nuttx/graphics/nxmu/nx_eventnotify.c111
-rw-r--r--nuttx/graphics/nxmu/nx_fill.c116
-rw-r--r--nuttx/graphics/nxmu/nx_fillcircle.c114
-rw-r--r--nuttx/graphics/nxmu/nx_filltrapezoid.c142
-rw-r--r--nuttx/graphics/nxmu/nx_getposition.c114
-rw-r--r--nuttx/graphics/nxmu/nx_getrectangle.c150
-rw-r--r--nuttx/graphics/nxmu/nx_kbdchin.c99
-rw-r--r--nuttx/graphics/nxmu/nx_kbdin.c122
-rw-r--r--nuttx/graphics/nxmu/nx_lower.c98
-rw-r--r--nuttx/graphics/nxmu/nx_mousein.c100
-rw-r--r--nuttx/graphics/nxmu/nx_move.c114
-rw-r--r--nuttx/graphics/nxmu/nx_openwindow.c131
-rw-r--r--nuttx/graphics/nxmu/nx_raise.c98
-rw-r--r--nuttx/graphics/nxmu/nx_releasebkgd.c105
-rw-r--r--nuttx/graphics/nxmu/nx_requestbkgd.c136
-rw-r--r--nuttx/graphics/nxmu/nx_setbgcolor.c109
-rw-r--r--nuttx/graphics/nxmu/nx_setpixel.c118
-rw-r--r--nuttx/graphics/nxmu/nx_setposition.c108
-rw-r--r--nuttx/graphics/nxmu/nx_setsize.c108
-rw-r--r--nuttx/graphics/nxmu/nxfe.h754
-rw-r--r--nuttx/graphics/nxmu/nxmu_constructwindow.c137
-rw-r--r--nuttx/graphics/nxmu/nxmu_kbdin.c117
-rw-r--r--nuttx/graphics/nxmu/nxmu_mouse.c235
-rw-r--r--nuttx/graphics/nxmu/nxmu_openwindow.c113
-rw-r--r--nuttx/graphics/nxmu/nxmu_redrawreq.c93
-rw-r--r--nuttx/graphics/nxmu/nxmu_releasebkgd.c110
-rw-r--r--nuttx/graphics/nxmu/nxmu_reportposition.c108
-rw-r--r--nuttx/graphics/nxmu/nxmu_requestbkgd.c124
-rw-r--r--nuttx/graphics/nxmu/nxmu_semtake.c87
-rw-r--r--nuttx/graphics/nxmu/nxmu_sendclient.c112
-rw-r--r--nuttx/graphics/nxmu/nxmu_sendserver.c112
-rw-r--r--nuttx/graphics/nxmu/nxmu_sendwindow.c158
-rw-r--r--nuttx/graphics/nxmu/nxmu_server.c540
-rw-r--r--nuttx/graphics/nxsu/Make.defs44
-rw-r--r--nuttx/graphics/nxsu/nx_bitmap.c110
-rw-r--r--nuttx/graphics/nxsu/nx_close.c91
-rw-r--r--nuttx/graphics/nxsu/nx_closewindow.c100
-rw-r--r--nuttx/graphics/nxsu/nx_drawcircle.c145
-rw-r--r--nuttx/graphics/nxsu/nx_drawline.c136
-rw-r--r--nuttx/graphics/nxsu/nx_fill.c103
-rw-r--r--nuttx/graphics/nxsu/nx_fillcircle.c114
-rw-r--r--nuttx/graphics/nxsu/nx_filltrapezoid.c105
-rw-r--r--nuttx/graphics/nxsu/nx_getposition.c106
-rw-r--r--nuttx/graphics/nxsu/nx_getrectangle.c110
-rw-r--r--nuttx/graphics/nxsu/nx_kbdchin.c101
-rw-r--r--nuttx/graphics/nxsu/nx_kbdin.c100
-rw-r--r--nuttx/graphics/nxsu/nx_lower.c99
-rw-r--r--nuttx/graphics/nxsu/nx_mousein.c218
-rw-r--r--nuttx/graphics/nxsu/nx_move.c101
-rw-r--r--nuttx/graphics/nxsu/nx_open.c218
-rw-r--r--nuttx/graphics/nxsu/nx_openwindow.c127
-rw-r--r--nuttx/graphics/nxsu/nx_raise.c99
-rw-r--r--nuttx/graphics/nxsu/nx_releasebkgd.c109
-rw-r--r--nuttx/graphics/nxsu/nx_requestbkgd.c155
-rw-r--r--nuttx/graphics/nxsu/nx_setbgcolor.c103
-rw-r--r--nuttx/graphics/nxsu/nx_setpixel.c104
-rw-r--r--nuttx/graphics/nxsu/nx_setposition.c99
-rw-r--r--nuttx/graphics/nxsu/nx_setsize.c99
-rw-r--r--nuttx/graphics/nxsu/nxfe.h185
-rw-r--r--nuttx/graphics/nxsu/nxsu_constructwindow.c150
-rw-r--r--nuttx/graphics/nxsu/nxsu_redrawreq.c104
-rw-r--r--nuttx/graphics/nxsu/nxsu_reportposition.c107
-rw-r--r--nuttx/graphics/nxtk/Make.defs48
-rw-r--r--nuttx/graphics/nxtk/nxtk_bitmaptoolbar.c137
-rw-r--r--nuttx/graphics/nxtk/nxtk_bitmapwindow.c137
-rw-r--r--nuttx/graphics/nxtk/nxtk_block.c109
-rw-r--r--nuttx/graphics/nxtk/nxtk_closetoolbar.c111
-rw-r--r--nuttx/graphics/nxtk/nxtk_closewindow.c95
-rw-r--r--nuttx/graphics/nxtk/nxtk_containerclip.c122
-rw-r--r--nuttx/graphics/nxtk/nxtk_drawcircletoolbar.c145
-rw-r--r--nuttx/graphics/nxtk/nxtk_drawcirclewindow.c145
-rw-r--r--nuttx/graphics/nxtk/nxtk_drawframe.c310
-rw-r--r--nuttx/graphics/nxtk/nxtk_drawlinetoolbar.c139
-rw-r--r--nuttx/graphics/nxtk/nxtk_drawlinewindow.c138
-rw-r--r--nuttx/graphics/nxtk/nxtk_events.c332
-rw-r--r--nuttx/graphics/nxtk/nxtk_fillcircletoolbar.c115
-rw-r--r--nuttx/graphics/nxtk/nxtk_fillcirclewindow.c115
-rw-r--r--nuttx/graphics/nxtk/nxtk_filltoolbar.c116
-rw-r--r--nuttx/graphics/nxtk/nxtk_filltraptoolbar.c110
-rw-r--r--nuttx/graphics/nxtk/nxtk_filltrapwindow.c117
-rw-r--r--nuttx/graphics/nxtk/nxtk_fillwindow.c116
-rw-r--r--nuttx/graphics/nxtk/nxtk_getposition.c95
-rw-r--r--nuttx/graphics/nxtk/nxtk_gettoolbar.c123
-rw-r--r--nuttx/graphics/nxtk/nxtk_getwindow.c126
-rw-r--r--nuttx/graphics/nxtk/nxtk_internal.h225
-rw-r--r--nuttx/graphics/nxtk/nxtk_lower.c95
-rw-r--r--nuttx/graphics/nxtk/nxtk_movetoolbar.c119
-rw-r--r--nuttx/graphics/nxtk/nxtk_movewindow.c118
-rw-r--r--nuttx/graphics/nxtk/nxtk_opentoolbar.c127
-rw-r--r--nuttx/graphics/nxtk/nxtk_openwindow.c160
-rw-r--r--nuttx/graphics/nxtk/nxtk_raise.c95
-rw-r--r--nuttx/graphics/nxtk/nxtk_setposition.c107
-rw-r--r--nuttx/graphics/nxtk/nxtk_setsize.c114
-rw-r--r--nuttx/graphics/nxtk/nxtk_setsubwindows.c165
-rw-r--r--nuttx/graphics/nxtk/nxtk_subwindowclip.c118
-rw-r--r--nuttx/graphics/nxtk/nxtk_subwindowmove.c149
-rw-r--r--nuttx/graphics/nxtk/nxtk_toolbarbounds.c107
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;
-}
-