aboutsummaryrefslogtreecommitdiffstats
path: root/contrib/python/matplotlib/py3/extern/agg24-svn/src
diff options
context:
space:
mode:
authormaxim-yurchuk <maxim-yurchuk@yandex-team.com>2025-02-11 13:26:52 +0300
committermaxim-yurchuk <maxim-yurchuk@yandex-team.com>2025-02-11 13:57:59 +0300
commitf895bba65827952ed934b2b46f9a45e30a191fd2 (patch)
tree03260c906d9ec41cdc03e2a496b15d407459cec0 /contrib/python/matplotlib/py3/extern/agg24-svn/src
parent5f7060466f7b9707818c2091e1a25c14f33c3474 (diff)
downloadydb-f895bba65827952ed934b2b46f9a45e30a191fd2.tar.gz
Remove deps on pandas
<https://github.com/ydb-platform/ydb/pull/14418> <https://github.com/ydb-platform/ydb/pull/14419> \-- аналогичные правки в gh Хочу залить в обход синка, чтобы посмотреть удалится ли pandas в нашей gh репе через piglet commit_hash:abca127aa37d4dbb94b07e1e18cdb8eb5b711860
Diffstat (limited to 'contrib/python/matplotlib/py3/extern/agg24-svn/src')
-rw-r--r--contrib/python/matplotlib/py3/extern/agg24-svn/src/ChangeLog0
-rw-r--r--contrib/python/matplotlib/py3/extern/agg24-svn/src/agg_arc.cpp106
-rw-r--r--contrib/python/matplotlib/py3/extern/agg24-svn/src/agg_arrowhead.cpp110
-rw-r--r--contrib/python/matplotlib/py3/extern/agg24-svn/src/agg_bezier_arc.cpp258
-rw-r--r--contrib/python/matplotlib/py3/extern/agg24-svn/src/agg_bspline.cpp284
-rw-r--r--contrib/python/matplotlib/py3/extern/agg24-svn/src/agg_color_rgba.cpp17
-rw-r--r--contrib/python/matplotlib/py3/extern/agg24-svn/src/agg_curves.cpp613
-rw-r--r--contrib/python/matplotlib/py3/extern/agg24-svn/src/agg_embedded_raster_fonts.cpp10426
-rw-r--r--contrib/python/matplotlib/py3/extern/agg24-svn/src/agg_gsv_text.cpp675
-rw-r--r--contrib/python/matplotlib/py3/extern/agg24-svn/src/agg_image_filters.cpp103
-rw-r--r--contrib/python/matplotlib/py3/extern/agg24-svn/src/agg_line_aa_basics.cpp82
-rw-r--r--contrib/python/matplotlib/py3/extern/agg24-svn/src/agg_line_profile_aa.cpp116
-rw-r--r--contrib/python/matplotlib/py3/extern/agg24-svn/src/agg_rounded_rect.cpp164
-rw-r--r--contrib/python/matplotlib/py3/extern/agg24-svn/src/agg_sqrt_tables.cpp115
-rw-r--r--contrib/python/matplotlib/py3/extern/agg24-svn/src/agg_trans_affine.cpp194
-rw-r--r--contrib/python/matplotlib/py3/extern/agg24-svn/src/agg_trans_double_path.cpp273
-rw-r--r--contrib/python/matplotlib/py3/extern/agg24-svn/src/agg_trans_single_path.cpp202
-rw-r--r--contrib/python/matplotlib/py3/extern/agg24-svn/src/agg_trans_warp_magnifier.cpp70
-rw-r--r--contrib/python/matplotlib/py3/extern/agg24-svn/src/agg_vcgen_bspline.cpp194
-rw-r--r--contrib/python/matplotlib/py3/extern/agg24-svn/src/agg_vcgen_contour.cpp165
-rw-r--r--contrib/python/matplotlib/py3/extern/agg24-svn/src/agg_vcgen_dash.cpp235
-rw-r--r--contrib/python/matplotlib/py3/extern/agg24-svn/src/agg_vcgen_markers_term.cpp103
-rw-r--r--contrib/python/matplotlib/py3/extern/agg24-svn/src/agg_vcgen_smooth_poly1.cpp225
-rw-r--r--contrib/python/matplotlib/py3/extern/agg24-svn/src/agg_vcgen_stroke.cpp213
-rw-r--r--contrib/python/matplotlib/py3/extern/agg24-svn/src/agg_vpgen_clip_polygon.cpp133
-rw-r--r--contrib/python/matplotlib/py3/extern/agg24-svn/src/agg_vpgen_clip_polyline.cpp77
-rw-r--r--contrib/python/matplotlib/py3/extern/agg24-svn/src/agg_vpgen_segmentator.cpp67
-rw-r--r--contrib/python/matplotlib/py3/extern/agg24-svn/src/authors0
-rw-r--r--contrib/python/matplotlib/py3/extern/agg24-svn/src/copying11
-rw-r--r--contrib/python/matplotlib/py3/extern/agg24-svn/src/ctrl/agg_bezier_ctrl.cpp370
-rw-r--r--contrib/python/matplotlib/py3/extern/agg24-svn/src/ctrl/agg_cbox_ctrl.cpp214
-rw-r--r--contrib/python/matplotlib/py3/extern/agg24-svn/src/ctrl/agg_gamma_ctrl.cpp433
-rw-r--r--contrib/python/matplotlib/py3/extern/agg24-svn/src/ctrl/agg_gamma_spline.cpp130
-rw-r--r--contrib/python/matplotlib/py3/extern/agg24-svn/src/ctrl/agg_polygon_ctrl.cpp332
-rw-r--r--contrib/python/matplotlib/py3/extern/agg24-svn/src/ctrl/agg_rbox_ctrl.cpp325
-rw-r--r--contrib/python/matplotlib/py3/extern/agg24-svn/src/ctrl/agg_scale_ctrl.cpp454
-rw-r--r--contrib/python/matplotlib/py3/extern/agg24-svn/src/ctrl/agg_slider_ctrl.cpp349
-rw-r--r--contrib/python/matplotlib/py3/extern/agg24-svn/src/ctrl/agg_spline_ctrl.cpp407
-rw-r--r--contrib/python/matplotlib/py3/extern/agg24-svn/src/platform/AmigaOS/agg_platform_support.cpp977
-rw-r--r--contrib/python/matplotlib/py3/extern/agg24-svn/src/platform/BeOS/agg_platform_support.cpp990
-rw-r--r--contrib/python/matplotlib/py3/extern/agg24-svn/src/platform/X11/agg_platform_support.cpp1601
-rw-r--r--contrib/python/matplotlib/py3/extern/agg24-svn/src/platform/mac/agg_mac_pmap.cpp298
-rw-r--r--contrib/python/matplotlib/py3/extern/agg24-svn/src/platform/mac/agg_platform_support.cpp1053
-rw-r--r--contrib/python/matplotlib/py3/extern/agg24-svn/src/platform/sdl/agg_platform_support.cpp708
-rw-r--r--contrib/python/matplotlib/py3/extern/agg24-svn/src/platform/win32/agg_platform_support.cpp1655
-rw-r--r--contrib/python/matplotlib/py3/extern/agg24-svn/src/platform/win32/agg_win32_bmp.cpp631
46 files changed, 0 insertions, 26158 deletions
diff --git a/contrib/python/matplotlib/py3/extern/agg24-svn/src/ChangeLog b/contrib/python/matplotlib/py3/extern/agg24-svn/src/ChangeLog
deleted file mode 100644
index e69de29bb2..0000000000
--- a/contrib/python/matplotlib/py3/extern/agg24-svn/src/ChangeLog
+++ /dev/null
diff --git a/contrib/python/matplotlib/py3/extern/agg24-svn/src/agg_arc.cpp b/contrib/python/matplotlib/py3/extern/agg24-svn/src/agg_arc.cpp
deleted file mode 100644
index df2c43a559..0000000000
--- a/contrib/python/matplotlib/py3/extern/agg24-svn/src/agg_arc.cpp
+++ /dev/null
@@ -1,106 +0,0 @@
-//----------------------------------------------------------------------------
-// Anti-Grain Geometry - Version 2.4
-// Copyright (C) 2002-2005 Maxim Shemanarev (http://www.antigrain.com)
-//
-// Permission to copy, use, modify, sell and distribute this software
-// is granted provided this copyright notice appears in all copies.
-// This software is provided "as is" without express or implied
-// warranty, and with no claim as to its suitability for any purpose.
-//
-//----------------------------------------------------------------------------
-// Contact: mcseem@antigrain.com
-// mcseemagg@yahoo.com
-// http://www.antigrain.com
-//----------------------------------------------------------------------------
-//
-// Arc vertex generator
-//
-//----------------------------------------------------------------------------
-
-#include <math.h>
-#include "agg_arc.h"
-
-
-namespace agg
-{
- //------------------------------------------------------------------------
- arc::arc(double x, double y,
- double rx, double ry,
- double a1, double a2,
- bool ccw) :
- m_x(x), m_y(y), m_rx(rx), m_ry(ry), m_scale(1.0)
- {
- normalize(a1, a2, ccw);
- }
-
- //------------------------------------------------------------------------
- void arc::init(double x, double y,
- double rx, double ry,
- double a1, double a2,
- bool ccw)
- {
- m_x = x; m_y = y;
- m_rx = rx; m_ry = ry;
- normalize(a1, a2, ccw);
- }
-
- //------------------------------------------------------------------------
- void arc::approximation_scale(double s)
- {
- m_scale = s;
- if(m_initialized)
- {
- normalize(m_start, m_end, m_ccw);
- }
- }
-
- //------------------------------------------------------------------------
- void arc::rewind(unsigned)
- {
- m_path_cmd = path_cmd_move_to;
- m_angle = m_start;
- }
-
- //------------------------------------------------------------------------
- unsigned arc::vertex(double* x, double* y)
- {
- if(is_stop(m_path_cmd)) return path_cmd_stop;
- if((m_angle < m_end - m_da/4) != m_ccw)
- {
- *x = m_x + cos(m_end) * m_rx;
- *y = m_y + sin(m_end) * m_ry;
- m_path_cmd = path_cmd_stop;
- return path_cmd_line_to;
- }
-
- *x = m_x + cos(m_angle) * m_rx;
- *y = m_y + sin(m_angle) * m_ry;
-
- m_angle += m_da;
-
- unsigned pf = m_path_cmd;
- m_path_cmd = path_cmd_line_to;
- return pf;
- }
-
- //------------------------------------------------------------------------
- void arc::normalize(double a1, double a2, bool ccw)
- {
- double ra = (fabs(m_rx) + fabs(m_ry)) / 2;
- m_da = acos(ra / (ra + 0.125 / m_scale)) * 2;
- if(ccw)
- {
- while(a2 < a1) a2 += pi * 2.0;
- }
- else
- {
- while(a1 < a2) a1 += pi * 2.0;
- m_da = -m_da;
- }
- m_ccw = ccw;
- m_start = a1;
- m_end = a2;
- m_initialized = true;
- }
-
-}
diff --git a/contrib/python/matplotlib/py3/extern/agg24-svn/src/agg_arrowhead.cpp b/contrib/python/matplotlib/py3/extern/agg24-svn/src/agg_arrowhead.cpp
deleted file mode 100644
index 1a6f8b4100..0000000000
--- a/contrib/python/matplotlib/py3/extern/agg24-svn/src/agg_arrowhead.cpp
+++ /dev/null
@@ -1,110 +0,0 @@
-//----------------------------------------------------------------------------
-// Anti-Grain Geometry - Version 2.4
-// Copyright (C) 2002-2005 Maxim Shemanarev (http://www.antigrain.com)
-//
-// Permission to copy, use, modify, sell and distribute this software
-// is granted provided this copyright notice appears in all copies.
-// This software is provided "as is" without express or implied
-// warranty, and with no claim as to its suitability for any purpose.
-//
-//----------------------------------------------------------------------------
-// Contact: mcseem@antigrain.com
-// mcseemagg@yahoo.com
-// http://www.antigrain.com
-//----------------------------------------------------------------------------
-//
-// Simple arrowhead/arrowtail generator
-//
-//----------------------------------------------------------------------------
-
-#include "agg_arrowhead.h"
-
-namespace agg
-{
-
- //------------------------------------------------------------------------
- arrowhead::arrowhead() :
- m_head_d1(1.0),
- m_head_d2(1.0),
- m_head_d3(1.0),
- m_head_d4(0.0),
- m_tail_d1(1.0),
- m_tail_d2(1.0),
- m_tail_d3(1.0),
- m_tail_d4(0.0),
- m_head_flag(false),
- m_tail_flag(false),
- m_curr_id(0),
- m_curr_coord(0)
- {
- }
-
-
-
- //------------------------------------------------------------------------
- void arrowhead::rewind(unsigned path_id)
- {
- m_curr_id = path_id;
- m_curr_coord = 0;
- if(path_id == 0)
- {
- if(!m_tail_flag)
- {
- m_cmd[0] = path_cmd_stop;
- return;
- }
- m_coord[0] = m_tail_d1; m_coord[1] = 0.0;
- m_coord[2] = m_tail_d1 - m_tail_d4; m_coord[3] = m_tail_d3;
- m_coord[4] = -m_tail_d2 - m_tail_d4; m_coord[5] = m_tail_d3;
- m_coord[6] = -m_tail_d2; m_coord[7] = 0.0;
- m_coord[8] = -m_tail_d2 - m_tail_d4; m_coord[9] = -m_tail_d3;
- m_coord[10] = m_tail_d1 - m_tail_d4; m_coord[11] = -m_tail_d3;
-
- m_cmd[0] = path_cmd_move_to;
- m_cmd[1] = path_cmd_line_to;
- m_cmd[2] = path_cmd_line_to;
- m_cmd[3] = path_cmd_line_to;
- m_cmd[4] = path_cmd_line_to;
- m_cmd[5] = path_cmd_line_to;
- m_cmd[7] = path_cmd_end_poly | path_flags_close | path_flags_ccw;
- m_cmd[6] = path_cmd_stop;
- return;
- }
-
- if(path_id == 1)
- {
- if(!m_head_flag)
- {
- m_cmd[0] = path_cmd_stop;
- return;
- }
- m_coord[0] = -m_head_d1; m_coord[1] = 0.0;
- m_coord[2] = m_head_d2 + m_head_d4; m_coord[3] = -m_head_d3;
- m_coord[4] = m_head_d2; m_coord[5] = 0.0;
- m_coord[6] = m_head_d2 + m_head_d4; m_coord[7] = m_head_d3;
-
- m_cmd[0] = path_cmd_move_to;
- m_cmd[1] = path_cmd_line_to;
- m_cmd[2] = path_cmd_line_to;
- m_cmd[3] = path_cmd_line_to;
- m_cmd[4] = path_cmd_end_poly | path_flags_close | path_flags_ccw;
- m_cmd[5] = path_cmd_stop;
- return;
- }
- }
-
-
- //------------------------------------------------------------------------
- unsigned arrowhead::vertex(double* x, double* y)
- {
- if(m_curr_id < 2)
- {
- unsigned curr_idx = m_curr_coord * 2;
- *x = m_coord[curr_idx];
- *y = m_coord[curr_idx + 1];
- return m_cmd[m_curr_coord++];
- }
- return path_cmd_stop;
- }
-
-}
diff --git a/contrib/python/matplotlib/py3/extern/agg24-svn/src/agg_bezier_arc.cpp b/contrib/python/matplotlib/py3/extern/agg24-svn/src/agg_bezier_arc.cpp
deleted file mode 100644
index 844d300c09..0000000000
--- a/contrib/python/matplotlib/py3/extern/agg24-svn/src/agg_bezier_arc.cpp
+++ /dev/null
@@ -1,258 +0,0 @@
-//----------------------------------------------------------------------------
-// Anti-Grain Geometry - Version 2.4
-// Copyright (C) 2002-2005 Maxim Shemanarev (http://www.antigrain.com)
-//
-// Permission to copy, use, modify, sell and distribute this software
-// is granted provided this copyright notice appears in all copies.
-// This software is provided "as is" without express or implied
-// warranty, and with no claim as to its suitability for any purpose.
-//
-//----------------------------------------------------------------------------
-// Contact: mcseem@antigrain.com
-// mcseemagg@yahoo.com
-// http://www.antigrain.com
-//----------------------------------------------------------------------------
-//
-// Arc generator. Produces at most 4 consecutive cubic bezier curves, i.e.,
-// 4, 7, 10, or 13 vertices.
-//
-//----------------------------------------------------------------------------
-
-
-#include <math.h>
-#include "agg_bezier_arc.h"
-
-
-namespace agg
-{
-
- // This epsilon is used to prevent us from adding degenerate curves
- // (converging to a single point).
- // The value isn't very critical. Function arc_to_bezier() has a limit
- // of the sweep_angle. If fabs(sweep_angle) exceeds pi/2 the curve
- // becomes inaccurate. But slight exceeding is quite appropriate.
- //-------------------------------------------------bezier_arc_angle_epsilon
- const double bezier_arc_angle_epsilon = 0.01;
-
- //------------------------------------------------------------arc_to_bezier
- void arc_to_bezier(double cx, double cy, double rx, double ry,
- double start_angle, double sweep_angle,
- double* curve)
- {
- double x0 = cos(sweep_angle / 2.0);
- double y0 = sin(sweep_angle / 2.0);
- double tx = (1.0 - x0) * 4.0 / 3.0;
- double ty = y0 - tx * x0 / y0;
- double px[4];
- double py[4];
- px[0] = x0;
- py[0] = -y0;
- px[1] = x0 + tx;
- py[1] = -ty;
- px[2] = x0 + tx;
- py[2] = ty;
- px[3] = x0;
- py[3] = y0;
-
- double sn = sin(start_angle + sweep_angle / 2.0);
- double cs = cos(start_angle + sweep_angle / 2.0);
-
- unsigned i;
- for(i = 0; i < 4; i++)
- {
- curve[i * 2] = cx + rx * (px[i] * cs - py[i] * sn);
- curve[i * 2 + 1] = cy + ry * (px[i] * sn + py[i] * cs);
- }
- }
-
-
-
- //------------------------------------------------------------------------
- void bezier_arc::init(double x, double y,
- double rx, double ry,
- double start_angle,
- double sweep_angle)
- {
- start_angle = fmod(start_angle, 2.0 * pi);
- if(sweep_angle >= 2.0 * pi) sweep_angle = 2.0 * pi;
- if(sweep_angle <= -2.0 * pi) sweep_angle = -2.0 * pi;
-
- if(fabs(sweep_angle) < 1e-10)
- {
- m_num_vertices = 4;
- m_cmd = path_cmd_line_to;
- m_vertices[0] = x + rx * cos(start_angle);
- m_vertices[1] = y + ry * sin(start_angle);
- m_vertices[2] = x + rx * cos(start_angle + sweep_angle);
- m_vertices[3] = y + ry * sin(start_angle + sweep_angle);
- return;
- }
-
- double total_sweep = 0.0;
- double local_sweep = 0.0;
- double prev_sweep;
- m_num_vertices = 2;
- m_cmd = path_cmd_curve4;
- bool done = false;
- do
- {
- if(sweep_angle < 0.0)
- {
- prev_sweep = total_sweep;
- local_sweep = -pi * 0.5;
- total_sweep -= pi * 0.5;
- if(total_sweep <= sweep_angle + bezier_arc_angle_epsilon)
- {
- local_sweep = sweep_angle - prev_sweep;
- done = true;
- }
- }
- else
- {
- prev_sweep = total_sweep;
- local_sweep = pi * 0.5;
- total_sweep += pi * 0.5;
- if(total_sweep >= sweep_angle - bezier_arc_angle_epsilon)
- {
- local_sweep = sweep_angle - prev_sweep;
- done = true;
- }
- }
-
- arc_to_bezier(x, y, rx, ry,
- start_angle,
- local_sweep,
- m_vertices + m_num_vertices - 2);
-
- m_num_vertices += 6;
- start_angle += local_sweep;
- }
- while(!done && m_num_vertices < 26);
- }
-
-
-
-
- //--------------------------------------------------------------------
- void bezier_arc_svg::init(double x0, double y0,
- double rx, double ry,
- double angle,
- bool large_arc_flag,
- bool sweep_flag,
- double x2, double y2)
- {
- m_radii_ok = true;
-
- if(rx < 0.0) rx = -rx;
- if(ry < 0.0) ry = -rx;
-
- // Calculate the middle point between
- // the current and the final points
- //------------------------
- double dx2 = (x0 - x2) / 2.0;
- double dy2 = (y0 - y2) / 2.0;
-
- double cos_a = cos(angle);
- double sin_a = sin(angle);
-
- // Calculate (x1, y1)
- //------------------------
- double x1 = cos_a * dx2 + sin_a * dy2;
- double y1 = -sin_a * dx2 + cos_a * dy2;
-
- // Ensure radii are large enough
- //------------------------
- double prx = rx * rx;
- double pry = ry * ry;
- double px1 = x1 * x1;
- double py1 = y1 * y1;
-
- // Check that radii are large enough
- //------------------------
- double radii_check = px1/prx + py1/pry;
- if(radii_check > 1.0)
- {
- rx = sqrt(radii_check) * rx;
- ry = sqrt(radii_check) * ry;
- prx = rx * rx;
- pry = ry * ry;
- if(radii_check > 10.0) m_radii_ok = false;
- }
-
- // Calculate (cx1, cy1)
- //------------------------
- double sign = (large_arc_flag == sweep_flag) ? -1.0 : 1.0;
- double sq = (prx*pry - prx*py1 - pry*px1) / (prx*py1 + pry*px1);
- double coef = sign * sqrt((sq < 0) ? 0 : sq);
- double cx1 = coef * ((rx * y1) / ry);
- double cy1 = coef * -((ry * x1) / rx);
-
- //
- // Calculate (cx, cy) from (cx1, cy1)
- //------------------------
- double sx2 = (x0 + x2) / 2.0;
- double sy2 = (y0 + y2) / 2.0;
- double cx = sx2 + (cos_a * cx1 - sin_a * cy1);
- double cy = sy2 + (sin_a * cx1 + cos_a * cy1);
-
- // Calculate the start_angle (angle1) and the sweep_angle (dangle)
- //------------------------
- double ux = (x1 - cx1) / rx;
- double uy = (y1 - cy1) / ry;
- double vx = (-x1 - cx1) / rx;
- double vy = (-y1 - cy1) / ry;
- double p, n;
-
- // Calculate the angle start
- //------------------------
- n = sqrt(ux*ux + uy*uy);
- p = ux; // (1 * ux) + (0 * uy)
- sign = (uy < 0) ? -1.0 : 1.0;
- double v = p / n;
- if(v < -1.0) v = -1.0;
- if(v > 1.0) v = 1.0;
- double start_angle = sign * acos(v);
-
- // Calculate the sweep angle
- //------------------------
- n = sqrt((ux*ux + uy*uy) * (vx*vx + vy*vy));
- p = ux * vx + uy * vy;
- sign = (ux * vy - uy * vx < 0) ? -1.0 : 1.0;
- v = p / n;
- if(v < -1.0) v = -1.0;
- if(v > 1.0) v = 1.0;
- double sweep_angle = sign * acos(v);
- if(!sweep_flag && sweep_angle > 0)
- {
- sweep_angle -= pi * 2.0;
- }
- else
- if (sweep_flag && sweep_angle < 0)
- {
- sweep_angle += pi * 2.0;
- }
-
- // We can now build and transform the resulting arc
- //------------------------
- m_arc.init(0.0, 0.0, rx, ry, start_angle, sweep_angle);
- trans_affine mtx = trans_affine_rotation(angle);
- mtx *= trans_affine_translation(cx, cy);
-
- for(unsigned i = 2; i < m_arc.num_vertices()-2; i += 2)
- {
- mtx.transform(m_arc.vertices() + i, m_arc.vertices() + i + 1);
- }
-
- // We must make sure that the starting and ending points
- // exactly coincide with the initial (x0,y0) and (x2,y2)
- m_arc.vertices()[0] = x0;
- m_arc.vertices()[1] = y0;
- if(m_arc.num_vertices() > 2)
- {
- m_arc.vertices()[m_arc.num_vertices() - 2] = x2;
- m_arc.vertices()[m_arc.num_vertices() - 1] = y2;
- }
- }
-
-
-}
diff --git a/contrib/python/matplotlib/py3/extern/agg24-svn/src/agg_bspline.cpp b/contrib/python/matplotlib/py3/extern/agg24-svn/src/agg_bspline.cpp
deleted file mode 100644
index e1fda9f51f..0000000000
--- a/contrib/python/matplotlib/py3/extern/agg24-svn/src/agg_bspline.cpp
+++ /dev/null
@@ -1,284 +0,0 @@
-//----------------------------------------------------------------------------
-// Anti-Grain Geometry - Version 2.4
-// Copyright (C) 2002-2005 Maxim Shemanarev (http://www.antigrain.com)
-//
-// Permission to copy, use, modify, sell and distribute this software
-// is granted provided this copyright notice appears in all copies.
-// This software is provided "as is" without express or implied
-// warranty, and with no claim as to its suitability for any purpose.
-//
-//----------------------------------------------------------------------------
-// Contact: mcseem@antigrain.com
-// mcseemagg@yahoo.com
-// http://www.antigrain.com
-//----------------------------------------------------------------------------
-//
-// class bspline
-//
-//----------------------------------------------------------------------------
-
-#include "agg_bspline.h"
-
-namespace agg
-{
- //------------------------------------------------------------------------
- bspline::bspline() :
- m_max(0),
- m_num(0),
- m_x(0),
- m_y(0),
- m_last_idx(-1)
- {
- }
-
- //------------------------------------------------------------------------
- bspline::bspline(int num) :
- m_max(0),
- m_num(0),
- m_x(0),
- m_y(0),
- m_last_idx(-1)
- {
- init(num);
- }
-
- //------------------------------------------------------------------------
- bspline::bspline(int num, const double* x, const double* y) :
- m_max(0),
- m_num(0),
- m_x(0),
- m_y(0),
- m_last_idx(-1)
- {
- init(num, x, y);
- }
-
-
- //------------------------------------------------------------------------
- void bspline::init(int max)
- {
- if(max > 2 && max > m_max)
- {
- m_am.resize(max * 3);
- m_max = max;
- m_x = &m_am[m_max];
- m_y = &m_am[m_max * 2];
- }
- m_num = 0;
- m_last_idx = -1;
- }
-
-
- //------------------------------------------------------------------------
- void bspline::add_point(double x, double y)
- {
- if(m_num < m_max)
- {
- m_x[m_num] = x;
- m_y[m_num] = y;
- ++m_num;
- }
- }
-
-
- //------------------------------------------------------------------------
- void bspline::prepare()
- {
- if(m_num > 2)
- {
- int i, k, n1;
- double* temp;
- double* r;
- double* s;
- double h, p, d, f, e;
-
- for(k = 0; k < m_num; k++)
- {
- m_am[k] = 0.0;
- }
-
- n1 = 3 * m_num;
-
- pod_array<double> al(n1);
- temp = &al[0];
-
- for(k = 0; k < n1; k++)
- {
- temp[k] = 0.0;
- }
-
- r = temp + m_num;
- s = temp + m_num * 2;
-
- n1 = m_num - 1;
- d = m_x[1] - m_x[0];
- e = (m_y[1] - m_y[0]) / d;
-
- for(k = 1; k < n1; k++)
- {
- h = d;
- d = m_x[k + 1] - m_x[k];
- f = e;
- e = (m_y[k + 1] - m_y[k]) / d;
- al[k] = d / (d + h);
- r[k] = 1.0 - al[k];
- s[k] = 6.0 * (e - f) / (h + d);
- }
-
- for(k = 1; k < n1; k++)
- {
- p = 1.0 / (r[k] * al[k - 1] + 2.0);
- al[k] *= -p;
- s[k] = (s[k] - r[k] * s[k - 1]) * p;
- }
-
- m_am[n1] = 0.0;
- al[n1 - 1] = s[n1 - 1];
- m_am[n1 - 1] = al[n1 - 1];
-
- for(k = n1 - 2, i = 0; i < m_num - 2; i++, k--)
- {
- al[k] = al[k] * al[k + 1] + s[k];
- m_am[k] = al[k];
- }
- }
- m_last_idx = -1;
- }
-
-
-
- //------------------------------------------------------------------------
- void bspline::init(int num, const double* x, const double* y)
- {
- if(num > 2)
- {
- init(num);
- int i;
- for(i = 0; i < num; i++)
- {
- add_point(*x++, *y++);
- }
- prepare();
- }
- m_last_idx = -1;
- }
-
-
- //------------------------------------------------------------------------
- void bspline::bsearch(int n, const double *x, double x0, int *i)
- {
- int j = n - 1;
- int k;
-
- for(*i = 0; (j - *i) > 1; )
- {
- if(x0 < x[k = (*i + j) >> 1]) j = k;
- else *i = k;
- }
- }
-
-
-
- //------------------------------------------------------------------------
- double bspline::interpolation(double x, int i) const
- {
- int j = i + 1;
- double d = m_x[i] - m_x[j];
- double h = x - m_x[j];
- double r = m_x[i] - x;
- double p = d * d / 6.0;
- return (m_am[j] * r * r * r + m_am[i] * h * h * h) / 6.0 / d +
- ((m_y[j] - m_am[j] * p) * r + (m_y[i] - m_am[i] * p) * h) / d;
- }
-
-
- //------------------------------------------------------------------------
- double bspline::extrapolation_left(double x) const
- {
- double d = m_x[1] - m_x[0];
- return (-d * m_am[1] / 6 + (m_y[1] - m_y[0]) / d) *
- (x - m_x[0]) +
- m_y[0];
- }
-
- //------------------------------------------------------------------------
- double bspline::extrapolation_right(double x) const
- {
- double d = m_x[m_num - 1] - m_x[m_num - 2];
- return (d * m_am[m_num - 2] / 6 + (m_y[m_num - 1] - m_y[m_num - 2]) / d) *
- (x - m_x[m_num - 1]) +
- m_y[m_num - 1];
- }
-
- //------------------------------------------------------------------------
- double bspline::get(double x) const
- {
- if(m_num > 2)
- {
- int i;
-
- // Extrapolation on the left
- if(x < m_x[0]) return extrapolation_left(x);
-
- // Extrapolation on the right
- if(x >= m_x[m_num - 1]) return extrapolation_right(x);
-
- // Interpolation
- bsearch(m_num, m_x, x, &i);
- return interpolation(x, i);
- }
- return 0.0;
- }
-
-
- //------------------------------------------------------------------------
- double bspline::get_stateful(double x) const
- {
- if(m_num > 2)
- {
- // Extrapolation on the left
- if(x < m_x[0]) return extrapolation_left(x);
-
- // Extrapolation on the right
- if(x >= m_x[m_num - 1]) return extrapolation_right(x);
-
- if(m_last_idx >= 0)
- {
- // Check if x is not in current range
- if(x < m_x[m_last_idx] || x > m_x[m_last_idx + 1])
- {
- // Check if x between next points (most probably)
- if(m_last_idx < m_num - 2 &&
- x >= m_x[m_last_idx + 1] &&
- x <= m_x[m_last_idx + 2])
- {
- ++m_last_idx;
- }
- else
- if(m_last_idx > 0 &&
- x >= m_x[m_last_idx - 1] &&
- x <= m_x[m_last_idx])
- {
- // x is between pevious points
- --m_last_idx;
- }
- else
- {
- // Else perform full search
- bsearch(m_num, m_x, x, &m_last_idx);
- }
- }
- return interpolation(x, m_last_idx);
- }
- else
- {
- // Interpolation
- bsearch(m_num, m_x, x, &m_last_idx);
- return interpolation(x, m_last_idx);
- }
- }
- return 0.0;
- }
-
-}
-
diff --git a/contrib/python/matplotlib/py3/extern/agg24-svn/src/agg_color_rgba.cpp b/contrib/python/matplotlib/py3/extern/agg24-svn/src/agg_color_rgba.cpp
deleted file mode 100644
index 9fe1534b03..0000000000
--- a/contrib/python/matplotlib/py3/extern/agg24-svn/src/agg_color_rgba.cpp
+++ /dev/null
@@ -1,17 +0,0 @@
-//----------------------------------------------------------------------------
-// Anti-Grain Geometry - Version 2.4
-// Copyright (C) 2009 John Horigan (http://www.antigrain.com)
-//
-// Permission to copy, use, modify, sell and distribute this software
-// is granted provided this copyright notice appears in all copies.
-// This software is provided "as is" without express or implied
-// warranty, and with no claim as to its suitability for any purpose.
-//
-//----------------------------------------------------------------------------
-//
-// Contact: john@glyphic.com.com
-// http://www.antigrain.com
-//----------------------------------------------------------------------------
-
-// rgbaN construction from grayN types is no longer required,
-// as grayN types now define their own conversions to rgbaN.
diff --git a/contrib/python/matplotlib/py3/extern/agg24-svn/src/agg_curves.cpp b/contrib/python/matplotlib/py3/extern/agg24-svn/src/agg_curves.cpp
deleted file mode 100644
index 4701734718..0000000000
--- a/contrib/python/matplotlib/py3/extern/agg24-svn/src/agg_curves.cpp
+++ /dev/null
@@ -1,613 +0,0 @@
-//----------------------------------------------------------------------------
-// Anti-Grain Geometry - Version 2.4
-// Copyright (C) 2002-2005 Maxim Shemanarev (http://www.antigrain.com)
-//
-// Permission to copy, use, modify, sell and distribute this software
-// is granted provided this copyright notice appears in all copies.
-// This software is provided "as is" without express or implied
-// warranty, and with no claim as to its suitability for any purpose.
-//
-//----------------------------------------------------------------------------
-// Contact: mcseem@antigrain.com
-// mcseemagg@yahoo.com
-// http://www.antigrain.com
-//----------------------------------------------------------------------------
-
-#include <math.h>
-#include "agg_curves.h"
-#include "agg_math.h"
-
-namespace agg
-{
-
- //------------------------------------------------------------------------
- const double curve_distance_epsilon = 1e-30;
- const double curve_collinearity_epsilon = 1e-30;
- const double curve_angle_tolerance_epsilon = 0.01;
- enum curve_recursion_limit_e { curve_recursion_limit = 32 };
-
-
-
- //------------------------------------------------------------------------
- void curve3_inc::approximation_scale(double s)
- {
- m_scale = s;
- }
-
- //------------------------------------------------------------------------
- double curve3_inc::approximation_scale() const
- {
- return m_scale;
- }
-
- //------------------------------------------------------------------------
- void curve3_inc::init(double x1, double y1,
- double x2, double y2,
- double x3, double y3)
- {
- m_start_x = x1;
- m_start_y = y1;
- m_end_x = x3;
- m_end_y = y3;
-
- double dx1 = x2 - x1;
- double dy1 = y2 - y1;
- double dx2 = x3 - x2;
- double dy2 = y3 - y2;
-
- double len = sqrt(dx1 * dx1 + dy1 * dy1) + sqrt(dx2 * dx2 + dy2 * dy2);
-
- m_num_steps = uround(len * 0.25 * m_scale);
-
- if(m_num_steps < 4)
- {
- m_num_steps = 4;
- }
-
- double subdivide_step = 1.0 / m_num_steps;
- double subdivide_step2 = subdivide_step * subdivide_step;
-
- double tmpx = (x1 - x2 * 2.0 + x3) * subdivide_step2;
- double tmpy = (y1 - y2 * 2.0 + y3) * subdivide_step2;
-
- m_saved_fx = m_fx = x1;
- m_saved_fy = m_fy = y1;
-
- m_saved_dfx = m_dfx = tmpx + (x2 - x1) * (2.0 * subdivide_step);
- m_saved_dfy = m_dfy = tmpy + (y2 - y1) * (2.0 * subdivide_step);
-
- m_ddfx = tmpx * 2.0;
- m_ddfy = tmpy * 2.0;
-
- m_step = m_num_steps;
- }
-
- //------------------------------------------------------------------------
- void curve3_inc::rewind(unsigned)
- {
- if(m_num_steps == 0)
- {
- m_step = -1;
- return;
- }
- m_step = m_num_steps;
- m_fx = m_saved_fx;
- m_fy = m_saved_fy;
- m_dfx = m_saved_dfx;
- m_dfy = m_saved_dfy;
- }
-
- //------------------------------------------------------------------------
- unsigned curve3_inc::vertex(double* x, double* y)
- {
- if(m_step < 0) return path_cmd_stop;
- if(m_step == m_num_steps)
- {
- *x = m_start_x;
- *y = m_start_y;
- --m_step;
- return path_cmd_move_to;
- }
- if(m_step == 0)
- {
- *x = m_end_x;
- *y = m_end_y;
- --m_step;
- return path_cmd_line_to;
- }
- m_fx += m_dfx;
- m_fy += m_dfy;
- m_dfx += m_ddfx;
- m_dfy += m_ddfy;
- *x = m_fx;
- *y = m_fy;
- --m_step;
- return path_cmd_line_to;
- }
-
- //------------------------------------------------------------------------
- void curve3_div::init(double x1, double y1,
- double x2, double y2,
- double x3, double y3)
- {
- m_points.remove_all();
- m_distance_tolerance_square = 0.5 / m_approximation_scale;
- m_distance_tolerance_square *= m_distance_tolerance_square;
- bezier(x1, y1, x2, y2, x3, y3);
- m_count = 0;
- }
-
- //------------------------------------------------------------------------
- void curve3_div::recursive_bezier(double x1, double y1,
- double x2, double y2,
- double x3, double y3,
- unsigned level)
- {
- if(level > curve_recursion_limit)
- {
- return;
- }
-
- // Calculate all the mid-points of the line segments
- //----------------------
- double x12 = (x1 + x2) / 2;
- double y12 = (y1 + y2) / 2;
- double x23 = (x2 + x3) / 2;
- double y23 = (y2 + y3) / 2;
- double x123 = (x12 + x23) / 2;
- double y123 = (y12 + y23) / 2;
-
- double dx = x3-x1;
- double dy = y3-y1;
- double d = fabs(((x2 - x3) * dy - (y2 - y3) * dx));
- double da;
-
- if(d > curve_collinearity_epsilon)
- {
- // Regular case
- //-----------------
- if(d * d <= m_distance_tolerance_square * (dx*dx + dy*dy))
- {
- // If the curvature doesn't exceed the distance_tolerance value
- // we tend to finish subdivisions.
- //----------------------
- if(m_angle_tolerance < curve_angle_tolerance_epsilon)
- {
- m_points.add(point_d(x123, y123));
- return;
- }
-
- // Angle & Cusp Condition
- //----------------------
- da = fabs(atan2(y3 - y2, x3 - x2) - atan2(y2 - y1, x2 - x1));
- if(da >= pi) da = 2*pi - da;
-
- if(da < m_angle_tolerance)
- {
- // Finally we can stop the recursion
- //----------------------
- m_points.add(point_d(x123, y123));
- return;
- }
- }
- }
- else
- {
- // Collinear case
- //------------------
- da = dx*dx + dy*dy;
- if(da == 0)
- {
- d = calc_sq_distance(x1, y1, x2, y2);
- }
- else
- {
- d = ((x2 - x1)*dx + (y2 - y1)*dy) / da;
- if(d > 0 && d < 1)
- {
- // Simple collinear case, 1---2---3
- // We can leave just two endpoints
- return;
- }
- if(d <= 0) d = calc_sq_distance(x2, y2, x1, y1);
- else if(d >= 1) d = calc_sq_distance(x2, y2, x3, y3);
- else d = calc_sq_distance(x2, y2, x1 + d*dx, y1 + d*dy);
- }
- if(d < m_distance_tolerance_square)
- {
- m_points.add(point_d(x2, y2));
- return;
- }
- }
-
- // Continue subdivision
- //----------------------
- recursive_bezier(x1, y1, x12, y12, x123, y123, level + 1);
- recursive_bezier(x123, y123, x23, y23, x3, y3, level + 1);
- }
-
- //------------------------------------------------------------------------
- void curve3_div::bezier(double x1, double y1,
- double x2, double y2,
- double x3, double y3)
- {
- m_points.add(point_d(x1, y1));
- recursive_bezier(x1, y1, x2, y2, x3, y3, 0);
- m_points.add(point_d(x3, y3));
- }
-
-
-
-
-
- //------------------------------------------------------------------------
- void curve4_inc::approximation_scale(double s)
- {
- m_scale = s;
- }
-
- //------------------------------------------------------------------------
- double curve4_inc::approximation_scale() const
- {
- return m_scale;
- }
-
-#if defined(_MSC_VER) && _MSC_VER <= 1200
- //------------------------------------------------------------------------
- static double MSC60_fix_ICE(double v) { return v; }
-#endif
-
- //------------------------------------------------------------------------
- void curve4_inc::init(double x1, double y1,
- double x2, double y2,
- double x3, double y3,
- double x4, double y4)
- {
- m_start_x = x1;
- m_start_y = y1;
- m_end_x = x4;
- m_end_y = y4;
-
- double dx1 = x2 - x1;
- double dy1 = y2 - y1;
- double dx2 = x3 - x2;
- double dy2 = y3 - y2;
- double dx3 = x4 - x3;
- double dy3 = y4 - y3;
-
- double len = (sqrt(dx1 * dx1 + dy1 * dy1) +
- sqrt(dx2 * dx2 + dy2 * dy2) +
- sqrt(dx3 * dx3 + dy3 * dy3)) * 0.25 * m_scale;
-
-#if defined(_MSC_VER) && _MSC_VER <= 1200
- m_num_steps = uround(MSC60_fix_ICE(len));
-#else
- m_num_steps = uround(len);
-#endif
-
- if(m_num_steps < 4)
- {
- m_num_steps = 4;
- }
-
- double subdivide_step = 1.0 / m_num_steps;
- double subdivide_step2 = subdivide_step * subdivide_step;
- double subdivide_step3 = subdivide_step * subdivide_step * subdivide_step;
-
- double pre1 = 3.0 * subdivide_step;
- double pre2 = 3.0 * subdivide_step2;
- double pre4 = 6.0 * subdivide_step2;
- double pre5 = 6.0 * subdivide_step3;
-
- double tmp1x = x1 - x2 * 2.0 + x3;
- double tmp1y = y1 - y2 * 2.0 + y3;
-
- double tmp2x = (x2 - x3) * 3.0 - x1 + x4;
- double tmp2y = (y2 - y3) * 3.0 - y1 + y4;
-
- m_saved_fx = m_fx = x1;
- m_saved_fy = m_fy = y1;
-
- m_saved_dfx = m_dfx = (x2 - x1) * pre1 + tmp1x * pre2 + tmp2x * subdivide_step3;
- m_saved_dfy = m_dfy = (y2 - y1) * pre1 + tmp1y * pre2 + tmp2y * subdivide_step3;
-
- m_saved_ddfx = m_ddfx = tmp1x * pre4 + tmp2x * pre5;
- m_saved_ddfy = m_ddfy = tmp1y * pre4 + tmp2y * pre5;
-
- m_dddfx = tmp2x * pre5;
- m_dddfy = tmp2y * pre5;
-
- m_step = m_num_steps;
- }
-
- //------------------------------------------------------------------------
- void curve4_inc::rewind(unsigned)
- {
- if(m_num_steps == 0)
- {
- m_step = -1;
- return;
- }
- m_step = m_num_steps;
- m_fx = m_saved_fx;
- m_fy = m_saved_fy;
- m_dfx = m_saved_dfx;
- m_dfy = m_saved_dfy;
- m_ddfx = m_saved_ddfx;
- m_ddfy = m_saved_ddfy;
- }
-
- //------------------------------------------------------------------------
- unsigned curve4_inc::vertex(double* x, double* y)
- {
- if(m_step < 0) return path_cmd_stop;
- if(m_step == m_num_steps)
- {
- *x = m_start_x;
- *y = m_start_y;
- --m_step;
- return path_cmd_move_to;
- }
-
- if(m_step == 0)
- {
- *x = m_end_x;
- *y = m_end_y;
- --m_step;
- return path_cmd_line_to;
- }
-
- m_fx += m_dfx;
- m_fy += m_dfy;
- m_dfx += m_ddfx;
- m_dfy += m_ddfy;
- m_ddfx += m_dddfx;
- m_ddfy += m_dddfy;
-
- *x = m_fx;
- *y = m_fy;
- --m_step;
- return path_cmd_line_to;
- }
-
-
-
-
- //------------------------------------------------------------------------
- void curve4_div::init(double x1, double y1,
- double x2, double y2,
- double x3, double y3,
- double x4, double y4)
- {
- m_points.remove_all();
- m_distance_tolerance_square = 0.5 / m_approximation_scale;
- m_distance_tolerance_square *= m_distance_tolerance_square;
- bezier(x1, y1, x2, y2, x3, y3, x4, y4);
- m_count = 0;
- }
-
- //------------------------------------------------------------------------
- void curve4_div::recursive_bezier(double x1, double y1,
- double x2, double y2,
- double x3, double y3,
- double x4, double y4,
- unsigned level)
- {
- if(level > curve_recursion_limit)
- {
- return;
- }
-
- // Calculate all the mid-points of the line segments
- //----------------------
- double x12 = (x1 + x2) / 2;
- double y12 = (y1 + y2) / 2;
- double x23 = (x2 + x3) / 2;
- double y23 = (y2 + y3) / 2;
- double x34 = (x3 + x4) / 2;
- double y34 = (y3 + y4) / 2;
- double x123 = (x12 + x23) / 2;
- double y123 = (y12 + y23) / 2;
- double x234 = (x23 + x34) / 2;
- double y234 = (y23 + y34) / 2;
- double x1234 = (x123 + x234) / 2;
- double y1234 = (y123 + y234) / 2;
-
-
- // Try to approximate the full cubic curve by a single straight line
- //------------------
- double dx = x4-x1;
- double dy = y4-y1;
-
- double d2 = fabs(((x2 - x4) * dy - (y2 - y4) * dx));
- double d3 = fabs(((x3 - x4) * dy - (y3 - y4) * dx));
- double da1, da2, k;
-
- switch((int(d2 > curve_collinearity_epsilon) << 1) +
- int(d3 > curve_collinearity_epsilon))
- {
- case 0:
- // All collinear OR p1==p4
- //----------------------
- k = dx*dx + dy*dy;
- if(k == 0)
- {
- d2 = calc_sq_distance(x1, y1, x2, y2);
- d3 = calc_sq_distance(x4, y4, x3, y3);
- }
- else
- {
- k = 1 / k;
- da1 = x2 - x1;
- da2 = y2 - y1;
- d2 = k * (da1*dx + da2*dy);
- da1 = x3 - x1;
- da2 = y3 - y1;
- d3 = k * (da1*dx + da2*dy);
- if(d2 > 0 && d2 < 1 && d3 > 0 && d3 < 1)
- {
- // Simple collinear case, 1---2---3---4
- // We can leave just two endpoints
- return;
- }
- if(d2 <= 0) d2 = calc_sq_distance(x2, y2, x1, y1);
- else if(d2 >= 1) d2 = calc_sq_distance(x2, y2, x4, y4);
- else d2 = calc_sq_distance(x2, y2, x1 + d2*dx, y1 + d2*dy);
-
- if(d3 <= 0) d3 = calc_sq_distance(x3, y3, x1, y1);
- else if(d3 >= 1) d3 = calc_sq_distance(x3, y3, x4, y4);
- else d3 = calc_sq_distance(x3, y3, x1 + d3*dx, y1 + d3*dy);
- }
- if(d2 > d3)
- {
- if(d2 < m_distance_tolerance_square)
- {
- m_points.add(point_d(x2, y2));
- return;
- }
- }
- else
- {
- if(d3 < m_distance_tolerance_square)
- {
- m_points.add(point_d(x3, y3));
- return;
- }
- }
- break;
-
- case 1:
- // p1,p2,p4 are collinear, p3 is significant
- //----------------------
- if(d3 * d3 <= m_distance_tolerance_square * (dx*dx + dy*dy))
- {
- if(m_angle_tolerance < curve_angle_tolerance_epsilon)
- {
- m_points.add(point_d(x23, y23));
- return;
- }
-
- // Angle Condition
- //----------------------
- da1 = fabs(atan2(y4 - y3, x4 - x3) - atan2(y3 - y2, x3 - x2));
- if(da1 >= pi) da1 = 2*pi - da1;
-
- if(da1 < m_angle_tolerance)
- {
- m_points.add(point_d(x2, y2));
- m_points.add(point_d(x3, y3));
- return;
- }
-
- if(m_cusp_limit != 0.0)
- {
- if(da1 > m_cusp_limit)
- {
- m_points.add(point_d(x3, y3));
- return;
- }
- }
- }
- break;
-
- case 2:
- // p1,p3,p4 are collinear, p2 is significant
- //----------------------
- if(d2 * d2 <= m_distance_tolerance_square * (dx*dx + dy*dy))
- {
- if(m_angle_tolerance < curve_angle_tolerance_epsilon)
- {
- m_points.add(point_d(x23, y23));
- return;
- }
-
- // Angle Condition
- //----------------------
- da1 = fabs(atan2(y3 - y2, x3 - x2) - atan2(y2 - y1, x2 - x1));
- if(da1 >= pi) da1 = 2*pi - da1;
-
- if(da1 < m_angle_tolerance)
- {
- m_points.add(point_d(x2, y2));
- m_points.add(point_d(x3, y3));
- return;
- }
-
- if(m_cusp_limit != 0.0)
- {
- if(da1 > m_cusp_limit)
- {
- m_points.add(point_d(x2, y2));
- return;
- }
- }
- }
- break;
-
- case 3:
- // Regular case
- //-----------------
- if((d2 + d3)*(d2 + d3) <= m_distance_tolerance_square * (dx*dx + dy*dy))
- {
- // If the curvature doesn't exceed the distance_tolerance value
- // we tend to finish subdivisions.
- //----------------------
- if(m_angle_tolerance < curve_angle_tolerance_epsilon)
- {
- m_points.add(point_d(x23, y23));
- return;
- }
-
- // Angle & Cusp Condition
- //----------------------
- k = atan2(y3 - y2, x3 - x2);
- da1 = fabs(k - atan2(y2 - y1, x2 - x1));
- da2 = fabs(atan2(y4 - y3, x4 - x3) - k);
- if(da1 >= pi) da1 = 2*pi - da1;
- if(da2 >= pi) da2 = 2*pi - da2;
-
- if(da1 + da2 < m_angle_tolerance)
- {
- // Finally we can stop the recursion
- //----------------------
- m_points.add(point_d(x23, y23));
- return;
- }
-
- if(m_cusp_limit != 0.0)
- {
- if(da1 > m_cusp_limit)
- {
- m_points.add(point_d(x2, y2));
- return;
- }
-
- if(da2 > m_cusp_limit)
- {
- m_points.add(point_d(x3, y3));
- return;
- }
- }
- }
- break;
- }
-
- // Continue subdivision
- //----------------------
- recursive_bezier(x1, y1, x12, y12, x123, y123, x1234, y1234, level + 1);
- recursive_bezier(x1234, y1234, x234, y234, x34, y34, x4, y4, level + 1);
- }
-
- //------------------------------------------------------------------------
- void curve4_div::bezier(double x1, double y1,
- double x2, double y2,
- double x3, double y3,
- double x4, double y4)
- {
- m_points.add(point_d(x1, y1));
- recursive_bezier(x1, y1, x2, y2, x3, y3, x4, y4, 0);
- m_points.add(point_d(x4, y4));
- }
-
-}
-
diff --git a/contrib/python/matplotlib/py3/extern/agg24-svn/src/agg_embedded_raster_fonts.cpp b/contrib/python/matplotlib/py3/extern/agg24-svn/src/agg_embedded_raster_fonts.cpp
deleted file mode 100644
index ee4dc65ee4..0000000000
--- a/contrib/python/matplotlib/py3/extern/agg24-svn/src/agg_embedded_raster_fonts.cpp
+++ /dev/null
@@ -1,10426 +0,0 @@
-//----------------------------------------------------------------------------
-// Anti-Grain Geometry - Version 2.4
-// Copyright (C) 2002-2005 Maxim Shemanarev (http://www.antigrain.com)
-//
-// Permission to copy, use, modify, sell and distribute this software
-// is granted provided this copyright notice appears in all copies.
-// This software is provided "as is" without express or implied
-// warranty, and with no claim as to its suitability for any purpose.
-//
-//----------------------------------------------------------------------------
-// Contact: mcseem@antigrain.com
-// mcseemagg@yahoo.com
-// http://www.antigrain.com
-//----------------------------------------------------------------------------
-
-#include "agg_embedded_raster_fonts.h"
-
-namespace agg
-{
-
- const int8u gse4x6[] =
- {
- 6, 0, 32, 128-32,
-
- 0x00,0x00,0x07,0x00,0x0e,0x00,0x15,0x00,0x1c,0x00,0x23,0x00,0x2a,0x00,0x31,0x00,0x38,0x00,
- 0x3f,0x00,0x46,0x00,0x4d,0x00,0x54,0x00,0x5b,0x00,0x62,0x00,0x69,0x00,0x70,0x00,0x77,0x00,
- 0x7e,0x00,0x85,0x00,0x8c,0x00,0x93,0x00,0x9a,0x00,0xa1,0x00,0xa8,0x00,0xaf,0x00,0xb6,0x00,
- 0xbd,0x00,0xc4,0x00,0xcb,0x00,0xd2,0x00,0xd9,0x00,0xe0,0x00,0xe7,0x00,0xee,0x00,0xf5,0x00,
- 0xfc,0x00,0x03,0x01,0x0a,0x01,0x11,0x01,0x18,0x01,0x1f,0x01,0x26,0x01,0x2d,0x01,0x34,0x01,
- 0x3b,0x01,0x42,0x01,0x49,0x01,0x50,0x01,0x57,0x01,0x5e,0x01,0x65,0x01,0x6c,0x01,0x73,0x01,
- 0x7a,0x01,0x81,0x01,0x88,0x01,0x8f,0x01,0x96,0x01,0x9d,0x01,0xa4,0x01,0xab,0x01,0xb2,0x01,
- 0xb9,0x01,0xc0,0x01,0xc7,0x01,0xce,0x01,0xd5,0x01,0xdc,0x01,0xe3,0x01,0xea,0x01,0xf1,0x01,
- 0xf8,0x01,0xff,0x01,0x06,0x02,0x0d,0x02,0x14,0x02,0x1b,0x02,0x22,0x02,0x29,0x02,0x30,0x02,
- 0x37,0x02,0x3e,0x02,0x45,0x02,0x4c,0x02,0x53,0x02,0x5a,0x02,0x61,0x02,0x68,0x02,0x6f,0x02,
- 0x76,0x02,0x7d,0x02,0x84,0x02,0x8b,0x02,0x92,0x02,0x99,0x02,
-
- 4, // 0x20 ' '
- 0x00,0x00,0x00,0x00,0x00,0x00,
-
- 4, // 0x21 '!'
- 0x40,0x40,0x40,0x00,0x40,0x00,
-
- 4, // 0x22 '"'
- 0xa0,0xa0,0x00,0x00,0x00,0x00,
-
- 4, // 0x23 '#'
- 0x60,0xf0,0x60,0xf0,0x60,0x00,
-
- 4, // 0x24 '$'
- 0x40,0x60,0xc0,0x60,0xc0,0x40,
-
- 4, // 0x25 '%'
- 0xa0,0x20,0x40,0x80,0xa0,0x00,
-
- 4, // 0x26 '&'
- 0xe0,0xa0,0x50,0xa0,0xd0,0x00,
-
- 4, // 0x27 '''
- 0x40,0x40,0x00,0x00,0x00,0x00,
-
- 4, // 0x28 '('
- 0x20,0x40,0x40,0x40,0x20,0x00,
-
- 4, // 0x29 ')'
- 0x40,0x20,0x20,0x20,0x40,0x00,
-
- 4, // 0x2a '*'
- 0xa0,0x40,0xe0,0x40,0xa0,0x00,
-
- 4, // 0x2b '+'
- 0x40,0x40,0xe0,0x40,0x40,0x00,
-
- 4, // 0x2c ','
- 0x00,0x00,0x00,0x40,0x40,0x80,
-
- 4, // 0x2d '-'
- 0x00,0x00,0xe0,0x00,0x00,0x00,
-
- 4, // 0x2e '.'
- 0x00,0x00,0x00,0x00,0x40,0x00,
-
- 4, // 0x2f '/'
- 0x10,0x20,0x20,0x40,0x40,0x80,
-
- 4, // 0x30 '0'
- 0xe0,0xa0,0xa0,0xa0,0xe0,0x00,
-
- 4, // 0x31 '1'
- 0x40,0xc0,0x40,0x40,0xe0,0x00,
-
- 4, // 0x32 '2'
- 0xe0,0xa0,0x20,0x40,0xe0,0x00,
-
- 4, // 0x33 '3'
- 0xe0,0x20,0x40,0x20,0xe0,0x00,
-
- 4, // 0x34 '4'
- 0xa0,0xa0,0xe0,0x20,0x20,0x00,
-
- 4, // 0x35 '5'
- 0xe0,0x80,0xc0,0x20,0xc0,0x00,
-
- 4, // 0x36 '6'
- 0x40,0x80,0xe0,0xa0,0xe0,0x00,
-
- 4, // 0x37 '7'
- 0xe0,0xa0,0x20,0x40,0x40,0x00,
-
- 4, // 0x38 '8'
- 0xe0,0xa0,0x40,0xa0,0xe0,0x00,
-
- 4, // 0x39 '9'
- 0xe0,0xa0,0xe0,0x20,0xc0,0x00,
-
- 4, // 0x3a ':'
- 0x00,0x40,0x00,0x40,0x00,0x00,
-
- 4, // 0x3b ';'
- 0x00,0x40,0x00,0x40,0x40,0x80,
-
- 4, // 0x3c '<'
- 0x20,0x40,0x80,0x40,0x20,0x00,
-
- 4, // 0x3d '='
- 0x00,0xe0,0x00,0xe0,0x00,0x00,
-
- 4, // 0x3e '>'
- 0x80,0x40,0x20,0x40,0x80,0x00,
-
- 4, // 0x3f '?'
- 0xc0,0x20,0x40,0x00,0x40,0x00,
-
- 4, // 0x40 '@'
- 0x40,0xa0,0xe0,0xe0,0x80,0x60,
-
- 4, // 0x41 'A'
- 0x40,0xa0,0xe0,0xa0,0xa0,0x00,
-
- 4, // 0x42 'B'
- 0xc0,0xa0,0xc0,0xa0,0xc0,0x00,
-
- 4, // 0x43 'C'
- 0x60,0x80,0x80,0x80,0x60,0x00,
-
- 4, // 0x44 'D'
- 0xc0,0xa0,0xa0,0xa0,0xc0,0x00,
-
- 4, // 0x45 'E'
- 0xe0,0x80,0xc0,0x80,0xe0,0x00,
-
- 4, // 0x46 'F'
- 0xe0,0x80,0xc0,0x80,0x80,0x00,
-
- 4, // 0x47 'G'
- 0x60,0x80,0xa0,0xa0,0x40,0x00,
-
- 4, // 0x48 'H'
- 0xa0,0xa0,0xe0,0xa0,0xa0,0x00,
-
- 4, // 0x49 'I'
- 0xe0,0x40,0x40,0x40,0xe0,0x00,
-
- 4, // 0x4a 'J'
- 0x20,0x20,0x20,0x20,0xa0,0x40,
-
- 4, // 0x4b 'K'
- 0xa0,0xa0,0xc0,0xc0,0xa0,0x00,
-
- 4, // 0x4c 'L'
- 0x80,0x80,0x80,0x80,0xe0,0x00,
-
- 4, // 0x4d 'M'
- 0xa0,0xe0,0xa0,0xa0,0xa0,0x00,
-
- 4, // 0x4e 'N'
- 0x90,0xd0,0xb0,0x90,0x90,0x00,
-
- 4, // 0x4f 'O'
- 0x40,0xa0,0xa0,0xa0,0x40,0x00,
-
- 4, // 0x50 'P'
- 0xc0,0xa0,0xa0,0xc0,0x80,0x00,
-
- 4, // 0x51 'Q'
- 0x40,0xa0,0xa0,0xa0,0x60,0x00,
-
- 4, // 0x52 'R'
- 0xc0,0xa0,0xa0,0xc0,0xa0,0x00,
-
- 4, // 0x53 'S'
- 0x60,0x80,0x40,0x20,0xc0,0x00,
-
- 4, // 0x54 'T'
- 0xe0,0x40,0x40,0x40,0x40,0x00,
-
- 4, // 0x55 'U'
- 0xa0,0xa0,0xa0,0xa0,0xe0,0x00,
-
- 4, // 0x56 'V'
- 0xa0,0xa0,0xa0,0xa0,0x40,0x00,
-
- 4, // 0x57 'W'
- 0xa0,0xa0,0xa0,0xe0,0xa0,0x00,
-
- 4, // 0x58 'X'
- 0xa0,0xa0,0x40,0xa0,0xa0,0x00,
-
- 4, // 0x59 'Y'
- 0xa0,0xa0,0x40,0x40,0x40,0x00,
-
- 4, // 0x5a 'Z'
- 0xe0,0x20,0x40,0x80,0xe0,0x00,
-
- 4, // 0x5b '['
- 0xc0,0x80,0x80,0x80,0xc0,0x00,
-
- 4, // 0x5c '\'
- 0x80,0x40,0x40,0x20,0x20,0x10,
-
- 4, // 0x5d ']'
- 0xc0,0x40,0x40,0x40,0xc0,0x00,
-
- 4, // 0x5e '^'
- 0x40,0xa0,0x00,0x00,0x00,0x00,
-
- 4, // 0x5f '_'
- 0x00,0x00,0x00,0x00,0x00,0xf0,
-
- 4, // 0x60 '`'
- 0x40,0x20,0x00,0x00,0x00,0x00,
-
- 4, // 0x61 'a'
- 0x00,0x60,0xa0,0xa0,0x70,0x00,
-
- 4, // 0x62 'b'
- 0x80,0x80,0xc0,0xa0,0xc0,0x00,
-
- 4, // 0x63 'c'
- 0x00,0x60,0x80,0x80,0x60,0x00,
-
- 4, // 0x64 'd'
- 0x20,0x20,0x60,0xa0,0x60,0x00,
-
- 4, // 0x65 'e'
- 0x00,0x40,0xe0,0x80,0x60,0x00,
-
- 4, // 0x66 'f'
- 0x20,0x40,0xe0,0x40,0x40,0x00,
-
- 4, // 0x67 'g'
- 0x00,0x60,0xa0,0x60,0x20,0xc0,
-
- 4, // 0x68 'h'
- 0x80,0x80,0xc0,0xa0,0xa0,0x00,
-
- 4, // 0x69 'i'
- 0x40,0x00,0xc0,0x40,0xe0,0x00,
-
- 4, // 0x6a 'j'
- 0x40,0x00,0xc0,0x40,0x40,0x80,
-
- 4, // 0x6b 'k'
- 0x80,0x80,0xa0,0xc0,0xa0,0x00,
-
- 4, // 0x6c 'l'
- 0xc0,0x40,0x40,0x40,0xe0,0x00,
-
- 4, // 0x6d 'm'
- 0x00,0xa0,0xf0,0xf0,0x90,0x00,
-
- 4, // 0x6e 'n'
- 0x00,0xc0,0xa0,0xa0,0xa0,0x00,
-
- 4, // 0x6f 'o'
- 0x00,0x40,0xa0,0xa0,0x40,0x00,
-
- 4, // 0x70 'p'
- 0x00,0xc0,0xa0,0xc0,0x80,0x80,
-
- 4, // 0x71 'q'
- 0x00,0x60,0xa0,0x60,0x20,0x20,
-
- 4, // 0x72 'r'
- 0x00,0xa0,0x50,0x40,0x40,0x00,
-
- 4, // 0x73 's'
- 0x00,0x60,0xc0,0x20,0xc0,0x00,
-
- 4, // 0x74 't'
- 0x40,0x40,0xe0,0x40,0x60,0x00,
-
- 4, // 0x75 'u'
- 0x00,0xa0,0xa0,0xa0,0x60,0x00,
-
- 4, // 0x76 'v'
- 0x00,0xa0,0xa0,0xa0,0x40,0x00,
-
- 4, // 0x77 'w'
- 0x00,0xa0,0xa0,0xe0,0xa0,0x00,
-
- 4, // 0x78 'x'
- 0x00,0xa0,0x40,0xa0,0xa0,0x00,
-
- 4, // 0x79 'y'
- 0x00,0xa0,0xa0,0x60,0x20,0xc0,
-
- 4, // 0x7a 'z'
- 0x00,0xe0,0x40,0x80,0xe0,0x00,
-
- 4, // 0x7b '{'
- 0x30,0x20,0xc0,0x20,0x30,0x00,
-
- 4, // 0x7c '|'
- 0x40,0x40,0x00,0x40,0x40,0x40,
-
- 4, // 0x7d '}'
- 0xc0,0x40,0x30,0x40,0xc0,0x00,
-
- 4, // 0x7e '~'
- 0x50,0xa0,0x00,0x00,0x00,0x00,
-
- 4, // 0x7f ''
- 0x00,0x60,0x90,0xf0,0x00,0x00,
- 0
- };
-
- const int8u gse4x8[] =
- {
- 8, 0, 32, 128-32,
-
- 0x00,0x00,0x09,0x00,0x12,0x00,0x1b,0x00,0x24,0x00,0x2d,0x00,0x36,0x00,0x3f,0x00,0x48,0x00,
- 0x51,0x00,0x5a,0x00,0x63,0x00,0x6c,0x00,0x75,0x00,0x7e,0x00,0x87,0x00,0x90,0x00,0x99,0x00,
- 0xa2,0x00,0xab,0x00,0xb4,0x00,0xbd,0x00,0xc6,0x00,0xcf,0x00,0xd8,0x00,0xe1,0x00,0xea,0x00,
- 0xf3,0x00,0xfc,0x00,0x05,0x01,0x0e,0x01,0x17,0x01,0x20,0x01,0x29,0x01,0x32,0x01,0x3b,0x01,
- 0x44,0x01,0x4d,0x01,0x56,0x01,0x5f,0x01,0x68,0x01,0x71,0x01,0x7a,0x01,0x83,0x01,0x8c,0x01,
- 0x95,0x01,0x9e,0x01,0xa7,0x01,0xb0,0x01,0xb9,0x01,0xc2,0x01,0xcb,0x01,0xd4,0x01,0xdd,0x01,
- 0xe6,0x01,0xef,0x01,0xf8,0x01,0x01,0x02,0x0a,0x02,0x13,0x02,0x1c,0x02,0x25,0x02,0x2e,0x02,
- 0x37,0x02,0x40,0x02,0x49,0x02,0x52,0x02,0x5b,0x02,0x64,0x02,0x6d,0x02,0x76,0x02,0x7f,0x02,
- 0x88,0x02,0x91,0x02,0x9a,0x02,0xa3,0x02,0xac,0x02,0xb5,0x02,0xbe,0x02,0xc7,0x02,0xd0,0x02,
- 0xd9,0x02,0xe2,0x02,0xeb,0x02,0xf4,0x02,0xfd,0x02,0x06,0x03,0x0f,0x03,0x18,0x03,0x21,0x03,
- 0x2a,0x03,0x33,0x03,0x3c,0x03,0x45,0x03,0x4e,0x03,0x57,0x03,
-
- 4, // 0x20 ' '
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 4, // 0x21 '!'
- 0x00,0x40,0x40,0x40,0x40,0x00,0x40,0x00,
-
- 4, // 0x22 '"'
- 0x00,0xa0,0xa0,0x00,0x00,0x00,0x00,0x00,
-
- 4, // 0x23 '#'
- 0x60,0x60,0xf0,0x60,0x60,0xf0,0x60,0x60,
-
- 4, // 0x24 '$'
- 0x40,0x60,0xc0,0xc0,0x60,0x60,0xc0,0x40,
-
- 4, // 0x25 '%'
- 0x00,0xa0,0x20,0x40,0x40,0x80,0xa0,0x00,
-
- 4, // 0x26 '&'
- 0x00,0x40,0xa0,0xa0,0x40,0xb0,0xa0,0x70,
-
- 4, // 0x27 '''
- 0x00,0x40,0x40,0x00,0x00,0x00,0x00,0x00,
-
- 4, // 0x28 '('
- 0x20,0x40,0x80,0x80,0x80,0x80,0x40,0x20,
-
- 4, // 0x29 ')'
- 0x80,0x40,0x20,0x20,0x20,0x20,0x40,0x80,
-
- 4, // 0x2a '*'
- 0x00,0xa0,0x40,0xe0,0x40,0xa0,0x00,0x00,
-
- 4, // 0x2b '+'
- 0x00,0x40,0x40,0xe0,0x40,0x40,0x00,0x00,
-
- 4, // 0x2c ','
- 0x00,0x00,0x00,0x00,0x00,0x40,0x40,0x80,
-
- 4, // 0x2d '-'
- 0x00,0x00,0x00,0xe0,0x00,0x00,0x00,0x00,
-
- 4, // 0x2e '.'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x40,0x00,
-
- 4, // 0x2f '/'
- 0x10,0x10,0x20,0x20,0x40,0x40,0x80,0x80,
-
- 4, // 0x30 '0'
- 0x00,0xe0,0xa0,0xa0,0xa0,0xa0,0xe0,0x00,
-
- 4, // 0x31 '1'
- 0x00,0x40,0xc0,0x40,0x40,0x40,0xe0,0x00,
-
- 4, // 0x32 '2'
- 0x00,0xe0,0xa0,0x20,0x40,0x80,0xe0,0x00,
-
- 4, // 0x33 '3'
- 0x00,0xe0,0x20,0x40,0x20,0x20,0xe0,0x00,
-
- 4, // 0x34 '4'
- 0x00,0x60,0xa0,0xa0,0xf0,0x20,0x20,0x00,
-
- 4, // 0x35 '5'
- 0x00,0xe0,0x80,0xc0,0x20,0x20,0xc0,0x00,
-
- 4, // 0x36 '6'
- 0x00,0x40,0x80,0xe0,0xa0,0xa0,0xe0,0x00,
-
- 4, // 0x37 '7'
- 0x00,0xe0,0xa0,0x20,0x40,0x40,0x40,0x00,
-
- 4, // 0x38 '8'
- 0x00,0xe0,0xa0,0x40,0xa0,0xa0,0xe0,0x00,
-
- 4, // 0x39 '9'
- 0x00,0xe0,0xa0,0xe0,0x20,0x20,0x40,0x00,
-
- 4, // 0x3a ':'
- 0x00,0x00,0x40,0x00,0x00,0x40,0x00,0x00,
-
- 4, // 0x3b ';'
- 0x00,0x00,0x40,0x00,0x00,0x40,0x40,0x80,
-
- 4, // 0x3c '<'
- 0x00,0x20,0x40,0x80,0x40,0x20,0x00,0x00,
-
- 4, // 0x3d '='
- 0x00,0x00,0xe0,0x00,0xe0,0x00,0x00,0x00,
-
- 4, // 0x3e '>'
- 0x00,0x80,0x40,0x20,0x40,0x80,0x00,0x00,
-
- 4, // 0x3f '?'
- 0x00,0x40,0xa0,0x20,0x40,0x00,0x40,0x00,
-
- 4, // 0x40 '@'
- 0x00,0x40,0xa0,0xe0,0xe0,0x80,0x60,0x00,
-
- 4, // 0x41 'A'
- 0x00,0x40,0xa0,0xa0,0xe0,0xa0,0xa0,0x00,
-
- 4, // 0x42 'B'
- 0x00,0xc0,0xa0,0xc0,0xa0,0xa0,0xc0,0x00,
-
- 4, // 0x43 'C'
- 0x00,0x40,0xa0,0x80,0x80,0xa0,0x40,0x00,
-
- 4, // 0x44 'D'
- 0x00,0xc0,0xa0,0xa0,0xa0,0xa0,0xc0,0x00,
-
- 4, // 0x45 'E'
- 0x00,0xe0,0x80,0xc0,0x80,0x80,0xe0,0x00,
-
- 4, // 0x46 'F'
- 0x00,0xe0,0x80,0xc0,0x80,0x80,0x80,0x00,
-
- 4, // 0x47 'G'
- 0x00,0x60,0x80,0xa0,0xa0,0xa0,0x40,0x00,
-
- 4, // 0x48 'H'
- 0x00,0xa0,0xa0,0xe0,0xa0,0xa0,0xa0,0x00,
-
- 4, // 0x49 'I'
- 0x00,0xe0,0x40,0x40,0x40,0x40,0xe0,0x00,
-
- 4, // 0x4a 'J'
- 0x00,0x20,0x20,0x20,0x20,0xa0,0x40,0x00,
-
- 4, // 0x4b 'K'
- 0x00,0xa0,0xa0,0xc0,0xc0,0xa0,0xa0,0x00,
-
- 4, // 0x4c 'L'
- 0x00,0x80,0x80,0x80,0x80,0x80,0xe0,0x00,
-
- 4, // 0x4d 'M'
- 0x00,0xa0,0xe0,0xa0,0xa0,0xa0,0xa0,0x00,
-
- 4, // 0x4e 'N'
- 0x00,0x90,0x90,0xd0,0xb0,0x90,0x90,0x00,
-
- 4, // 0x4f 'O'
- 0x00,0x40,0xa0,0xa0,0xa0,0xa0,0x40,0x00,
-
- 4, // 0x50 'P'
- 0x00,0xc0,0xa0,0xa0,0xc0,0x80,0x80,0x00,
-
- 4, // 0x51 'Q'
- 0x00,0x40,0xa0,0xa0,0xa0,0xa0,0x60,0x00,
-
- 4, // 0x52 'R'
- 0x00,0xc0,0xa0,0xa0,0xc0,0xc0,0xa0,0x00,
-
- 4, // 0x53 'S'
- 0x00,0x60,0x80,0x40,0x20,0x20,0xc0,0x00,
-
- 4, // 0x54 'T'
- 0x00,0xe0,0x40,0x40,0x40,0x40,0x40,0x00,
-
- 4, // 0x55 'U'
- 0x00,0xa0,0xa0,0xa0,0xa0,0xa0,0x40,0x00,
-
- 4, // 0x56 'V'
- 0x00,0xa0,0xa0,0xa0,0xa0,0x40,0x40,0x00,
-
- 4, // 0x57 'W'
- 0x00,0xa0,0xa0,0xa0,0xa0,0xe0,0xa0,0x00,
-
- 4, // 0x58 'X'
- 0x00,0xa0,0xa0,0x40,0xa0,0xa0,0xa0,0x00,
-
- 4, // 0x59 'Y'
- 0x00,0xa0,0xa0,0x40,0x40,0x40,0x40,0x00,
-
- 4, // 0x5a 'Z'
- 0x00,0xe0,0x20,0x40,0x40,0x80,0xe0,0x00,
-
- 4, // 0x5b '['
- 0xc0,0x80,0x80,0x80,0x80,0x80,0x80,0xc0,
-
- 4, // 0x5c '\'
- 0x80,0x80,0x40,0x40,0x20,0x20,0x10,0x10,
-
- 4, // 0x5d ']'
- 0xc0,0x40,0x40,0x40,0x40,0x40,0x40,0xc0,
-
- 4, // 0x5e '^'
- 0x00,0x40,0xa0,0x00,0x00,0x00,0x00,0x00,
-
- 4, // 0x5f '_'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xf0,
-
- 4, // 0x60 '`'
- 0x00,0x40,0x20,0x00,0x00,0x00,0x00,0x00,
-
- 4, // 0x61 'a'
- 0x00,0x00,0x60,0xa0,0xa0,0xa0,0x70,0x00,
-
- 4, // 0x62 'b'
- 0x00,0x80,0x80,0xc0,0xa0,0xa0,0xc0,0x00,
-
- 4, // 0x63 'c'
- 0x00,0x00,0x40,0xa0,0x80,0xa0,0x40,0x00,
-
- 4, // 0x64 'd'
- 0x00,0x20,0x20,0x60,0xa0,0xa0,0x60,0x00,
-
- 4, // 0x65 'e'
- 0x00,0x00,0x40,0xa0,0xe0,0x80,0x60,0x00,
-
- 4, // 0x66 'f'
- 0x00,0x20,0x40,0x40,0xe0,0x40,0x40,0x00,
-
- 4, // 0x67 'g'
- 0x00,0x00,0x60,0xa0,0xa0,0x60,0x20,0xc0,
-
- 4, // 0x68 'h'
- 0x00,0x80,0x80,0xc0,0xa0,0xa0,0xa0,0x00,
-
- 4, // 0x69 'i'
- 0x00,0x40,0x00,0xc0,0x40,0x40,0xe0,0x00,
-
- 4, // 0x6a 'j'
- 0x00,0x40,0x00,0xc0,0x40,0x40,0x40,0x80,
-
- 4, // 0x6b 'k'
- 0x00,0x80,0x80,0xa0,0xc0,0xc0,0xa0,0x00,
-
- 4, // 0x6c 'l'
- 0x00,0xc0,0x40,0x40,0x40,0x40,0xe0,0x00,
-
- 4, // 0x6d 'm'
- 0x00,0x00,0xa0,0xf0,0xf0,0xf0,0x90,0x00,
-
- 4, // 0x6e 'n'
- 0x00,0x00,0xc0,0xa0,0xa0,0xa0,0xa0,0x00,
-
- 4, // 0x6f 'o'
- 0x00,0x00,0x40,0xa0,0xa0,0xa0,0x40,0x00,
-
- 4, // 0x70 'p'
- 0x00,0x00,0xc0,0xa0,0xa0,0xc0,0x80,0x80,
-
- 4, // 0x71 'q'
- 0x00,0x00,0x60,0xa0,0xa0,0x60,0x20,0x20,
-
- 4, // 0x72 'r'
- 0x00,0x00,0xa0,0x50,0x40,0x40,0x40,0x00,
-
- 4, // 0x73 's'
- 0x00,0x00,0x60,0x80,0x40,0x20,0xc0,0x00,
-
- 4, // 0x74 't'
- 0x00,0x40,0x40,0xe0,0x40,0x40,0x20,0x00,
-
- 4, // 0x75 'u'
- 0x00,0x00,0xa0,0xa0,0xa0,0xa0,0x60,0x00,
-
- 4, // 0x76 'v'
- 0x00,0x00,0xa0,0xa0,0xa0,0x40,0x40,0x00,
-
- 4, // 0x77 'w'
- 0x00,0x00,0xa0,0xa0,0xa0,0xe0,0xa0,0x00,
-
- 4, // 0x78 'x'
- 0x00,0x00,0xa0,0xa0,0x40,0xa0,0xa0,0x00,
-
- 4, // 0x79 'y'
- 0x00,0x00,0xa0,0xa0,0xa0,0x60,0x20,0xc0,
-
- 4, // 0x7a 'z'
- 0x00,0x00,0xe0,0x20,0x40,0x80,0xe0,0x00,
-
- 4, // 0x7b '{'
- 0x10,0x20,0x20,0xc0,0x20,0x20,0x10,0x00,
-
- 4, // 0x7c '|'
- 0x00,0x40,0x40,0x40,0x00,0x40,0x40,0x40,
-
- 4, // 0x7d '}'
- 0x80,0x40,0x40,0x30,0x40,0x40,0x80,0x00,
-
- 4, // 0x7e '~'
- 0x00,0x50,0xa0,0x00,0x00,0x00,0x00,0x00,
-
- 4, // 0x7f ''
- 0x00,0x00,0x00,0x60,0x90,0xf0,0x00,0x00,
- 0
- };
-
- const int8u gse5x7[] =
- {
- 7, 0, 32, 128-32,
-
- 0x00,0x00,0x08,0x00,0x10,0x00,0x18,0x00,0x20,0x00,0x28,0x00,0x30,0x00,0x38,0x00,0x40,0x00,
- 0x48,0x00,0x50,0x00,0x58,0x00,0x60,0x00,0x68,0x00,0x70,0x00,0x78,0x00,0x80,0x00,0x88,0x00,
- 0x90,0x00,0x98,0x00,0xa0,0x00,0xa8,0x00,0xb0,0x00,0xb8,0x00,0xc0,0x00,0xc8,0x00,0xd0,0x00,
- 0xd8,0x00,0xe0,0x00,0xe8,0x00,0xf0,0x00,0xf8,0x00,0x00,0x01,0x08,0x01,0x10,0x01,0x18,0x01,
- 0x20,0x01,0x28,0x01,0x30,0x01,0x38,0x01,0x40,0x01,0x48,0x01,0x50,0x01,0x58,0x01,0x60,0x01,
- 0x68,0x01,0x70,0x01,0x78,0x01,0x80,0x01,0x88,0x01,0x90,0x01,0x98,0x01,0xa0,0x01,0xa8,0x01,
- 0xb0,0x01,0xb8,0x01,0xc0,0x01,0xc8,0x01,0xd0,0x01,0xd8,0x01,0xe0,0x01,0xe8,0x01,0xf0,0x01,
- 0xf8,0x01,0x00,0x02,0x08,0x02,0x10,0x02,0x18,0x02,0x20,0x02,0x28,0x02,0x30,0x02,0x38,0x02,
- 0x40,0x02,0x48,0x02,0x50,0x02,0x58,0x02,0x60,0x02,0x68,0x02,0x70,0x02,0x78,0x02,0x80,0x02,
- 0x88,0x02,0x90,0x02,0x98,0x02,0xa0,0x02,0xa8,0x02,0xb0,0x02,0xb8,0x02,0xc0,0x02,0xc8,0x02,
- 0xd0,0x02,0xd8,0x02,0xe0,0x02,0xe8,0x02,0xf0,0x02,0xf8,0x02,
-
- 5, // 0x20 ' '
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 5, // 0x21 '!'
- 0x00,0x20,0x20,0x20,0x00,0x20,0x00,
-
- 5, // 0x22 '"'
- 0x00,0x50,0x50,0x00,0x00,0x00,0x00,
-
- 5, // 0x23 '#'
- 0x00,0x50,0xf8,0x50,0xf8,0x50,0x00,
-
- 5, // 0x24 '$'
- 0x20,0x78,0xa0,0x70,0x28,0xf0,0x20,
-
- 5, // 0x25 '%'
- 0x00,0x88,0x10,0x20,0x40,0x88,0x00,
-
- 5, // 0x26 '&'
- 0x00,0x40,0xa0,0x68,0x90,0x68,0x00,
-
- 5, // 0x27 '''
- 0x00,0x20,0x20,0x00,0x00,0x00,0x00,
-
- 5, // 0x28 '('
- 0x10,0x20,0x40,0x40,0x40,0x20,0x10,
-
- 5, // 0x29 ')'
- 0x80,0x40,0x20,0x20,0x20,0x40,0x80,
-
- 5, // 0x2a '*'
- 0x00,0x20,0xa8,0x70,0xa8,0x20,0x00,
-
- 5, // 0x2b '+'
- 0x00,0x20,0x20,0xf8,0x20,0x20,0x00,
-
- 5, // 0x2c ','
- 0x00,0x00,0x00,0x00,0x20,0x20,0x40,
-
- 5, // 0x2d '-'
- 0x00,0x00,0x00,0xf0,0x00,0x00,0x00,
-
- 5, // 0x2e '.'
- 0x00,0x00,0x00,0x00,0x00,0x40,0x00,
-
- 5, // 0x2f '/'
- 0x00,0x08,0x10,0x20,0x40,0x80,0x00,
-
- 5, // 0x30 '0'
- 0x00,0x60,0x90,0x90,0x90,0x60,0x00,
-
- 5, // 0x31 '1'
- 0x00,0x20,0x60,0x20,0x20,0x70,0x00,
-
- 5, // 0x32 '2'
- 0x00,0x60,0x90,0x20,0x40,0xf0,0x00,
-
- 5, // 0x33 '3'
- 0x00,0xf0,0x20,0x60,0x10,0xe0,0x00,
-
- 5, // 0x34 '4'
- 0x00,0x30,0x50,0x90,0xf0,0x10,0x00,
-
- 5, // 0x35 '5'
- 0x00,0xf0,0x80,0xe0,0x10,0xe0,0x00,
-
- 5, // 0x36 '6'
- 0x00,0x60,0x80,0xe0,0x90,0x60,0x00,
-
- 5, // 0x37 '7'
- 0x00,0xf0,0x90,0x20,0x40,0x40,0x00,
-
- 5, // 0x38 '8'
- 0x00,0x60,0x90,0x60,0x90,0x60,0x00,
-
- 5, // 0x39 '9'
- 0x00,0x60,0x90,0x70,0x10,0x60,0x00,
-
- 5, // 0x3a ':'
- 0x00,0x00,0x20,0x00,0x20,0x00,0x00,
-
- 5, // 0x3b ';'
- 0x00,0x00,0x20,0x00,0x20,0x20,0x40,
-
- 5, // 0x3c '<'
- 0x00,0x10,0x20,0x40,0x20,0x10,0x00,
-
- 5, // 0x3d '='
- 0x00,0x00,0xf0,0x00,0xf0,0x00,0x00,
-
- 5, // 0x3e '>'
- 0x00,0x80,0x40,0x20,0x40,0x80,0x00,
-
- 5, // 0x3f '?'
- 0x00,0x60,0x90,0x20,0x00,0x20,0x00,
-
- 5, // 0x40 '@'
- 0x00,0x60,0x90,0xb0,0x80,0x70,0x00,
-
- 5, // 0x41 'A'
- 0x00,0x60,0x90,0xf0,0x90,0x90,0x00,
-
- 5, // 0x42 'B'
- 0x00,0xe0,0x90,0xe0,0x90,0xe0,0x00,
-
- 5, // 0x43 'C'
- 0x00,0x60,0x90,0x80,0x90,0x60,0x00,
-
- 5, // 0x44 'D'
- 0x00,0xe0,0x90,0x90,0x90,0xe0,0x00,
-
- 5, // 0x45 'E'
- 0x00,0xf0,0x80,0xe0,0x80,0xf0,0x00,
-
- 5, // 0x46 'F'
- 0x00,0xf0,0x80,0xe0,0x80,0x80,0x00,
-
- 5, // 0x47 'G'
- 0x00,0x70,0x80,0xb0,0x90,0x60,0x00,
-
- 5, // 0x48 'H'
- 0x00,0x90,0x90,0xf0,0x90,0x90,0x00,
-
- 5, // 0x49 'I'
- 0x00,0x70,0x20,0x20,0x20,0x70,0x00,
-
- 5, // 0x4a 'J'
- 0x00,0x70,0x20,0x20,0xa0,0x40,0x00,
-
- 5, // 0x4b 'K'
- 0x00,0x90,0xa0,0xc0,0xa0,0x90,0x00,
-
- 5, // 0x4c 'L'
- 0x00,0x80,0x80,0x80,0x80,0xf0,0x00,
-
- 5, // 0x4d 'M'
- 0x00,0x90,0xf0,0x90,0x90,0x90,0x00,
-
- 5, // 0x4e 'N'
- 0x00,0x90,0xd0,0xb0,0x90,0x90,0x00,
-
- 5, // 0x4f 'O'
- 0x00,0x60,0x90,0x90,0x90,0x60,0x00,
-
- 5, // 0x50 'P'
- 0x00,0xe0,0x90,0xe0,0x80,0x80,0x00,
-
- 5, // 0x51 'Q'
- 0x00,0x60,0x90,0x90,0xa0,0x50,0x00,
-
- 5, // 0x52 'R'
- 0x00,0xe0,0x90,0xe0,0xa0,0x90,0x00,
-
- 5, // 0x53 'S'
- 0x00,0x70,0x80,0x60,0x10,0xe0,0x00,
-
- 5, // 0x54 'T'
- 0x00,0x70,0x20,0x20,0x20,0x20,0x00,
-
- 5, // 0x55 'U'
- 0x00,0x90,0x90,0x90,0x90,0x60,0x00,
-
- 5, // 0x56 'V'
- 0x00,0x50,0x50,0x50,0x20,0x20,0x00,
-
- 5, // 0x57 'W'
- 0x00,0x90,0x90,0x90,0xf0,0x90,0x00,
-
- 5, // 0x58 'X'
- 0x00,0x90,0x90,0x60,0x90,0x90,0x00,
-
- 5, // 0x59 'Y'
- 0x00,0x50,0x50,0x20,0x20,0x20,0x00,
-
- 5, // 0x5a 'Z'
- 0x00,0xf0,0x10,0x20,0x40,0xf0,0x00,
-
- 5, // 0x5b '['
- 0x70,0x40,0x40,0x40,0x40,0x40,0x70,
-
- 5, // 0x5c '\'
- 0x00,0x80,0x40,0x20,0x10,0x08,0x00,
-
- 5, // 0x5d ']'
- 0xe0,0x20,0x20,0x20,0x20,0x20,0xe0,
-
- 5, // 0x5e '^'
- 0x00,0x20,0x50,0x00,0x00,0x00,0x00,
-
- 5, // 0x5f '_'
- 0x00,0x00,0x00,0x00,0x00,0xf8,0x00,
-
- 5, // 0x60 '`'
- 0x00,0x40,0x20,0x00,0x00,0x00,0x00,
-
- 5, // 0x61 'a'
- 0x00,0x00,0x60,0xa0,0xa0,0x50,0x00,
-
- 5, // 0x62 'b'
- 0x00,0x80,0x80,0xe0,0x90,0xe0,0x00,
-
- 5, // 0x63 'c'
- 0x00,0x00,0x70,0x80,0x80,0x70,0x00,
-
- 5, // 0x64 'd'
- 0x00,0x10,0x10,0x70,0x90,0x70,0x00,
-
- 5, // 0x65 'e'
- 0x00,0x00,0x60,0xf0,0x80,0x70,0x00,
-
- 5, // 0x66 'f'
- 0x00,0x30,0x40,0xe0,0x40,0x40,0x00,
-
- 5, // 0x67 'g'
- 0x00,0x00,0x70,0x90,0x70,0x10,0x60,
-
- 5, // 0x68 'h'
- 0x00,0x80,0x80,0xe0,0x90,0x90,0x00,
-
- 5, // 0x69 'i'
- 0x20,0x00,0x60,0x20,0x20,0x70,0x00,
-
- 5, // 0x6a 'j'
- 0x20,0x00,0x60,0x20,0x20,0xa0,0x40,
-
- 5, // 0x6b 'k'
- 0x80,0x80,0x90,0xa0,0xe0,0x90,0x00,
-
- 5, // 0x6c 'l'
- 0x00,0x60,0x20,0x20,0x20,0x70,0x00,
-
- 5, // 0x6d 'm'
- 0x00,0x00,0xa0,0xf0,0xf0,0x90,0x00,
-
- 5, // 0x6e 'n'
- 0x00,0x00,0xa0,0xd0,0x90,0x90,0x00,
-
- 5, // 0x6f 'o'
- 0x00,0x00,0x60,0x90,0x90,0x60,0x00,
-
- 5, // 0x70 'p'
- 0x00,0x00,0xe0,0x90,0xe0,0x80,0x80,
-
- 5, // 0x71 'q'
- 0x00,0x00,0x70,0x90,0x70,0x10,0x10,
-
- 5, // 0x72 'r'
- 0x00,0x00,0xe0,0x90,0x80,0x80,0x00,
-
- 5, // 0x73 's'
- 0x00,0x00,0x70,0xe0,0x10,0xe0,0x00,
-
- 5, // 0x74 't'
- 0x40,0x40,0xe0,0x40,0x40,0x70,0x00,
-
- 5, // 0x75 'u'
- 0x00,0x00,0x90,0x90,0x90,0x70,0x00,
-
- 5, // 0x76 'v'
- 0x00,0x00,0x50,0x50,0x50,0x20,0x00,
-
- 5, // 0x77 'w'
- 0x00,0x00,0x90,0x90,0xf0,0x90,0x00,
-
- 5, // 0x78 'x'
- 0x00,0x00,0x90,0x60,0x60,0x90,0x00,
-
- 5, // 0x79 'y'
- 0x00,0x00,0x90,0x90,0x70,0x10,0x60,
-
- 5, // 0x7a 'z'
- 0x00,0x00,0xf0,0x20,0x40,0xf0,0x00,
-
- 5, // 0x7b '{'
- 0x10,0x20,0x20,0xc0,0x20,0x20,0x10,
-
- 5, // 0x7c '|'
- 0x20,0x20,0x20,0x00,0x20,0x20,0x20,
-
- 5, // 0x7d '}'
- 0x40,0x20,0x20,0x18,0x20,0x20,0x40,
-
- 5, // 0x7e '~'
- 0x00,0x40,0xa8,0x10,0x00,0x00,0x00,
-
- 5, // 0x7f ''
- 0x00,0x00,0x20,0x50,0x88,0xf8,0x00,
- 0
- };
-
- const int8u gse5x9[] =
- {
- 9, 0, 32, 128-32,
-
- 0x00,0x00,0x0a,0x00,0x14,0x00,0x1e,0x00,0x28,0x00,0x32,0x00,0x3c,0x00,0x46,0x00,0x50,0x00,
- 0x5a,0x00,0x64,0x00,0x6e,0x00,0x78,0x00,0x82,0x00,0x8c,0x00,0x96,0x00,0xa0,0x00,0xaa,0x00,
- 0xb4,0x00,0xbe,0x00,0xc8,0x00,0xd2,0x00,0xdc,0x00,0xe6,0x00,0xf0,0x00,0xfa,0x00,0x04,0x01,
- 0x0e,0x01,0x18,0x01,0x22,0x01,0x2c,0x01,0x36,0x01,0x40,0x01,0x4a,0x01,0x54,0x01,0x5e,0x01,
- 0x68,0x01,0x72,0x01,0x7c,0x01,0x86,0x01,0x90,0x01,0x9a,0x01,0xa4,0x01,0xae,0x01,0xb8,0x01,
- 0xc2,0x01,0xcc,0x01,0xd6,0x01,0xe0,0x01,0xea,0x01,0xf4,0x01,0xfe,0x01,0x08,0x02,0x12,0x02,
- 0x1c,0x02,0x26,0x02,0x30,0x02,0x3a,0x02,0x44,0x02,0x4e,0x02,0x58,0x02,0x62,0x02,0x6c,0x02,
- 0x76,0x02,0x80,0x02,0x8a,0x02,0x94,0x02,0x9e,0x02,0xa8,0x02,0xb2,0x02,0xbc,0x02,0xc6,0x02,
- 0xd0,0x02,0xda,0x02,0xe4,0x02,0xee,0x02,0xf8,0x02,0x02,0x03,0x0c,0x03,0x16,0x03,0x20,0x03,
- 0x2a,0x03,0x34,0x03,0x3e,0x03,0x48,0x03,0x52,0x03,0x5c,0x03,0x66,0x03,0x70,0x03,0x7a,0x03,
- 0x84,0x03,0x8e,0x03,0x98,0x03,0xa2,0x03,0xac,0x03,0xb6,0x03,
-
- 5, // 0x20 ' '
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 5, // 0x21 '!'
- 0x00,0x20,0x20,0x20,0x20,0x20,0x00,0x20,0x00,
-
- 5, // 0x22 '"'
- 0x00,0x50,0x50,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 5, // 0x23 '#'
- 0x00,0x50,0x50,0xf8,0x50,0xf8,0x50,0x50,0x00,
-
- 5, // 0x24 '$'
- 0x00,0x20,0x78,0xa0,0x70,0x28,0xf0,0x20,0x00,
-
- 5, // 0x25 '%'
- 0x00,0xc8,0xc8,0x10,0x20,0x40,0x98,0x98,0x00,
-
- 5, // 0x26 '&'
- 0x00,0x40,0xa0,0xa0,0x40,0xa8,0x90,0x68,0x00,
-
- 5, // 0x27 '''
- 0x00,0x20,0x20,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 5, // 0x28 '('
- 0x10,0x20,0x40,0x40,0x40,0x40,0x40,0x20,0x10,
-
- 5, // 0x29 ')'
- 0x80,0x40,0x20,0x20,0x20,0x20,0x20,0x40,0x80,
-
- 5, // 0x2a '*'
- 0x00,0x00,0x20,0xa8,0x70,0xa8,0x20,0x00,0x00,
-
- 5, // 0x2b '+'
- 0x00,0x00,0x20,0x20,0xf8,0x20,0x20,0x00,0x00,
-
- 5, // 0x2c ','
- 0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x20,0x40,
-
- 5, // 0x2d '-'
- 0x00,0x00,0x00,0x00,0xf0,0x00,0x00,0x00,0x00,
-
- 5, // 0x2e '.'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x40,0x00,
-
- 5, // 0x2f '/'
- 0x00,0x10,0x10,0x20,0x20,0x40,0x40,0x80,0x80,
-
- 5, // 0x30 '0'
- 0x00,0x60,0x90,0xb0,0xd0,0x90,0x90,0x60,0x00,
-
- 5, // 0x31 '1'
- 0x00,0x20,0x60,0x20,0x20,0x20,0x20,0x70,0x00,
-
- 5, // 0x32 '2'
- 0x00,0x60,0x90,0x10,0x20,0x40,0x80,0xf0,0x00,
-
- 5, // 0x33 '3'
- 0x00,0xf0,0x10,0x20,0x60,0x10,0x90,0x60,0x00,
-
- 5, // 0x34 '4'
- 0x00,0x30,0x50,0x90,0x90,0xf8,0x10,0x10,0x00,
-
- 5, // 0x35 '5'
- 0x00,0xf0,0x80,0xe0,0x10,0x10,0x10,0xe0,0x00,
-
- 5, // 0x36 '6'
- 0x00,0x60,0x80,0xe0,0x90,0x90,0x90,0x60,0x00,
-
- 5, // 0x37 '7'
- 0x00,0xf0,0x90,0x10,0x20,0x40,0x40,0x40,0x00,
-
- 5, // 0x38 '8'
- 0x00,0x60,0x90,0x90,0x60,0x90,0x90,0x60,0x00,
-
- 5, // 0x39 '9'
- 0x00,0x60,0x90,0x90,0x70,0x10,0x90,0x60,0x00,
-
- 5, // 0x3a ':'
- 0x00,0x00,0x00,0x20,0x00,0x00,0x20,0x00,0x00,
-
- 5, // 0x3b ';'
- 0x00,0x00,0x00,0x20,0x00,0x00,0x20,0x20,0x40,
-
- 5, // 0x3c '<'
- 0x00,0x10,0x20,0x40,0x80,0x40,0x20,0x10,0x00,
-
- 5, // 0x3d '='
- 0x00,0x00,0x00,0xf0,0x00,0xf0,0x00,0x00,0x00,
-
- 5, // 0x3e '>'
- 0x00,0x80,0x40,0x20,0x10,0x20,0x40,0x80,0x00,
-
- 5, // 0x3f '?'
- 0x00,0x60,0x90,0x10,0x20,0x20,0x00,0x20,0x00,
-
- 5, // 0x40 '@'
- 0x00,0x60,0x90,0xb0,0xb0,0xb0,0x80,0x70,0x00,
-
- 5, // 0x41 'A'
- 0x00,0x60,0x90,0x90,0xf0,0x90,0x90,0x90,0x00,
-
- 5, // 0x42 'B'
- 0x00,0xe0,0x90,0x90,0xe0,0x90,0x90,0xe0,0x00,
-
- 5, // 0x43 'C'
- 0x00,0x60,0x90,0x80,0x80,0x80,0x90,0x60,0x00,
-
- 5, // 0x44 'D'
- 0x00,0xe0,0x90,0x90,0x90,0x90,0x90,0xe0,0x00,
-
- 5, // 0x45 'E'
- 0x00,0xf0,0x80,0x80,0xe0,0x80,0x80,0xf0,0x00,
-
- 5, // 0x46 'F'
- 0x00,0xf0,0x80,0x80,0xe0,0x80,0x80,0x80,0x00,
-
- 5, // 0x47 'G'
- 0x00,0x60,0x90,0x80,0xb0,0x90,0x90,0x60,0x00,
-
- 5, // 0x48 'H'
- 0x00,0x90,0x90,0x90,0xf0,0x90,0x90,0x90,0x00,
-
- 5, // 0x49 'I'
- 0x00,0x70,0x20,0x20,0x20,0x20,0x20,0x70,0x00,
-
- 5, // 0x4a 'J'
- 0x00,0x70,0x20,0x20,0x20,0x20,0xa0,0x40,0x00,
-
- 5, // 0x4b 'K'
- 0x00,0x90,0x90,0xa0,0xc0,0xa0,0x90,0x90,0x00,
-
- 5, // 0x4c 'L'
- 0x00,0x80,0x80,0x80,0x80,0x80,0x80,0xf0,0x00,
-
- 5, // 0x4d 'M'
- 0x00,0x90,0xf0,0x90,0x90,0x90,0x90,0x90,0x00,
-
- 5, // 0x4e 'N'
- 0x00,0x90,0x90,0xd0,0xb0,0x90,0x90,0x90,0x00,
-
- 5, // 0x4f 'O'
- 0x00,0x60,0x90,0x90,0x90,0x90,0x90,0x60,0x00,
-
- 5, // 0x50 'P'
- 0x00,0xe0,0x90,0x90,0xe0,0x80,0x80,0x80,0x00,
-
- 5, // 0x51 'Q'
- 0x00,0x60,0x90,0x90,0x90,0x90,0xa0,0x50,0x00,
-
- 5, // 0x52 'R'
- 0x00,0xe0,0x90,0x90,0xe0,0xa0,0x90,0x90,0x00,
-
- 5, // 0x53 'S'
- 0x00,0x60,0x90,0x80,0x60,0x10,0x90,0x60,0x00,
-
- 5, // 0x54 'T'
- 0x00,0x70,0x20,0x20,0x20,0x20,0x20,0x20,0x00,
-
- 5, // 0x55 'U'
- 0x00,0x90,0x90,0x90,0x90,0x90,0x90,0x60,0x00,
-
- 5, // 0x56 'V'
- 0x00,0x50,0x50,0x50,0x50,0x50,0x20,0x20,0x00,
-
- 5, // 0x57 'W'
- 0x00,0x90,0x90,0x90,0x90,0x90,0xf0,0x90,0x00,
-
- 5, // 0x58 'X'
- 0x00,0x90,0x90,0x60,0x60,0x90,0x90,0x90,0x00,
-
- 5, // 0x59 'Y'
- 0x00,0x50,0x50,0x50,0x20,0x20,0x20,0x20,0x00,
-
- 5, // 0x5a 'Z'
- 0x00,0xf0,0x10,0x10,0x20,0x40,0x80,0xf0,0x00,
-
- 5, // 0x5b '['
- 0x70,0x40,0x40,0x40,0x40,0x40,0x40,0x70,0x00,
-
- 5, // 0x5c '\'
- 0x80,0x80,0x40,0x40,0x20,0x20,0x10,0x10,0x00,
-
- 5, // 0x5d ']'
- 0xe0,0x20,0x20,0x20,0x20,0x20,0x20,0xe0,0x00,
-
- 5, // 0x5e '^'
- 0x00,0x20,0x50,0x88,0x00,0x00,0x00,0x00,0x00,
-
- 5, // 0x5f '_'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xf8,0x00,
-
- 5, // 0x60 '`'
- 0x00,0x40,0x20,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 5, // 0x61 'a'
- 0x00,0x00,0x60,0x10,0x70,0x90,0x90,0x70,0x00,
-
- 5, // 0x62 'b'
- 0x00,0x80,0x80,0xe0,0x90,0x90,0x90,0xe0,0x00,
-
- 5, // 0x63 'c'
- 0x00,0x00,0x60,0x90,0x80,0x80,0x90,0x60,0x00,
-
- 5, // 0x64 'd'
- 0x00,0x10,0x10,0x70,0x90,0x90,0x90,0x70,0x00,
-
- 5, // 0x65 'e'
- 0x00,0x00,0x60,0x90,0xf0,0x80,0x80,0x70,0x00,
-
- 5, // 0x66 'f'
- 0x00,0x30,0x40,0x40,0xe0,0x40,0x40,0x40,0x00,
-
- 5, // 0x67 'g'
- 0x00,0x00,0x70,0x90,0x90,0x70,0x10,0x90,0x60,
-
- 5, // 0x68 'h'
- 0x00,0x80,0x80,0xe0,0x90,0x90,0x90,0x90,0x00,
-
- 5, // 0x69 'i'
- 0x00,0x20,0x00,0x60,0x20,0x20,0x20,0x70,0x00,
-
- 5, // 0x6a 'j'
- 0x00,0x20,0x00,0x60,0x20,0x20,0x20,0xa0,0x40,
-
- 5, // 0x6b 'k'
- 0x00,0x80,0x80,0x90,0xa0,0xc0,0xa0,0x90,0x00,
-
- 5, // 0x6c 'l'
- 0x00,0x60,0x20,0x20,0x20,0x20,0x20,0x70,0x00,
-
- 5, // 0x6d 'm'
- 0x00,0x00,0xa0,0xf0,0xf0,0xf0,0x90,0x90,0x00,
-
- 5, // 0x6e 'n'
- 0x00,0x00,0xa0,0xd0,0x90,0x90,0x90,0x90,0x00,
-
- 5, // 0x6f 'o'
- 0x00,0x00,0x60,0x90,0x90,0x90,0x90,0x60,0x00,
-
- 5, // 0x70 'p'
- 0x00,0x00,0xe0,0x90,0x90,0x90,0xe0,0x80,0x80,
-
- 5, // 0x71 'q'
- 0x00,0x00,0x70,0x90,0x90,0x90,0x70,0x10,0x10,
-
- 5, // 0x72 'r'
- 0x00,0x00,0xe0,0x90,0x80,0x80,0x80,0x80,0x00,
-
- 5, // 0x73 's'
- 0x00,0x00,0x60,0x90,0x40,0x20,0x90,0x60,0x00,
-
- 5, // 0x74 't'
- 0x00,0x40,0x40,0xe0,0x40,0x40,0x50,0x20,0x00,
-
- 5, // 0x75 'u'
- 0x00,0x00,0x90,0x90,0x90,0x90,0x90,0x70,0x00,
-
- 5, // 0x76 'v'
- 0x00,0x00,0x50,0x50,0x50,0x50,0x20,0x20,0x00,
-
- 5, // 0x77 'w'
- 0x00,0x00,0x90,0x90,0x90,0x90,0xf0,0x90,0x00,
-
- 5, // 0x78 'x'
- 0x00,0x00,0x90,0x90,0x60,0x60,0x90,0x90,0x00,
-
- 5, // 0x79 'y'
- 0x00,0x00,0x90,0x90,0x90,0x90,0x70,0x10,0xe0,
-
- 5, // 0x7a 'z'
- 0x00,0x00,0xf0,0x10,0x20,0x40,0x80,0xf0,0x00,
-
- 5, // 0x7b '{'
- 0x10,0x20,0x20,0x20,0xc0,0x20,0x20,0x20,0x10,
-
- 5, // 0x7c '|'
- 0x00,0x20,0x20,0x20,0x00,0x20,0x20,0x20,0x00,
-
- 5, // 0x7d '}'
- 0x80,0x40,0x40,0x40,0x30,0x40,0x40,0x40,0x80,
-
- 5, // 0x7e '~'
- 0x00,0x40,0xa8,0x10,0x00,0x00,0x00,0x00,0x00,
-
- 5, // 0x7f ''
- 0x00,0x00,0x00,0x20,0x50,0x88,0xf8,0x00,0x00,
- 0
- };
-
- const int8u gse6x12[] =
- {
- 12, 0, 32, 128-32,
-
- 0x00,0x00,0x0d,0x00,0x1a,0x00,0x27,0x00,0x34,0x00,0x41,0x00,0x4e,0x00,0x5b,0x00,0x68,0x00,
- 0x75,0x00,0x82,0x00,0x8f,0x00,0x9c,0x00,0xa9,0x00,0xb6,0x00,0xc3,0x00,0xd0,0x00,0xdd,0x00,
- 0xea,0x00,0xf7,0x00,0x04,0x01,0x11,0x01,0x1e,0x01,0x2b,0x01,0x38,0x01,0x45,0x01,0x52,0x01,
- 0x5f,0x01,0x6c,0x01,0x79,0x01,0x86,0x01,0x93,0x01,0xa0,0x01,0xad,0x01,0xba,0x01,0xc7,0x01,
- 0xd4,0x01,0xe1,0x01,0xee,0x01,0xfb,0x01,0x08,0x02,0x15,0x02,0x22,0x02,0x2f,0x02,0x3c,0x02,
- 0x49,0x02,0x56,0x02,0x63,0x02,0x70,0x02,0x7d,0x02,0x8a,0x02,0x97,0x02,0xa4,0x02,0xb1,0x02,
- 0xbe,0x02,0xcb,0x02,0xd8,0x02,0xe5,0x02,0xf2,0x02,0xff,0x02,0x0c,0x03,0x19,0x03,0x26,0x03,
- 0x33,0x03,0x40,0x03,0x4d,0x03,0x5a,0x03,0x67,0x03,0x74,0x03,0x81,0x03,0x8e,0x03,0x9b,0x03,
- 0xa8,0x03,0xb5,0x03,0xc2,0x03,0xcf,0x03,0xdc,0x03,0xe9,0x03,0xf6,0x03,0x03,0x04,0x10,0x04,
- 0x1d,0x04,0x2a,0x04,0x37,0x04,0x44,0x04,0x51,0x04,0x5e,0x04,0x6b,0x04,0x78,0x04,0x85,0x04,
- 0x92,0x04,0x9f,0x04,0xac,0x04,0xb9,0x04,0xc6,0x04,0xd3,0x04,
-
- 6, // 0x20 ' '
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 6, // 0x21 '!'
- 0x00,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x00,0x20,0x00,0x00,
-
- 6, // 0x22 '"'
- 0x00,0x50,0x50,0x50,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 6, // 0x23 '#'
- 0x00,0x50,0x50,0xf8,0x50,0x50,0x50,0xf8,0x50,0x50,0x00,0x00,
-
- 6, // 0x24 '$'
- 0x00,0x20,0x70,0xa8,0xa0,0x70,0x28,0xa8,0x70,0x20,0x00,0x00,
-
- 6, // 0x25 '%'
- 0x00,0xc8,0xd8,0x10,0x30,0x20,0x60,0x40,0xd8,0x98,0x00,0x00,
-
- 6, // 0x26 '&'
- 0x00,0x60,0x90,0x90,0x90,0x60,0xa8,0x90,0x90,0x68,0x00,0x00,
-
- 6, // 0x27 '''
- 0x00,0x20,0x20,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 6, // 0x28 '('
- 0x00,0x10,0x20,0x40,0x40,0x40,0x40,0x40,0x20,0x10,0x00,0x00,
-
- 6, // 0x29 ')'
- 0x00,0x40,0x20,0x10,0x10,0x10,0x10,0x10,0x20,0x40,0x00,0x00,
-
- 6, // 0x2a '*'
- 0x00,0x00,0x00,0x50,0x20,0xf8,0x20,0x50,0x00,0x00,0x00,0x00,
-
- 6, // 0x2b '+'
- 0x00,0x00,0x20,0x20,0x20,0xf8,0x20,0x20,0x20,0x00,0x00,0x00,
-
- 6, // 0x2c ','
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x20,0x20,0x40,
-
- 6, // 0x2d '-'
- 0x00,0x00,0x00,0x00,0x00,0xf8,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 6, // 0x2e '.'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x00,0x00,
-
- 6, // 0x2f '/'
- 0x08,0x08,0x10,0x10,0x20,0x20,0x40,0x40,0x80,0x80,0x00,0x00,
-
- 6, // 0x30 '0'
- 0x00,0x70,0x88,0x88,0x98,0xa8,0xc8,0x88,0x88,0x70,0x00,0x00,
-
- 6, // 0x31 '1'
- 0x00,0x20,0x20,0x60,0x20,0x20,0x20,0x20,0x20,0x70,0x00,0x00,
-
- 6, // 0x32 '2'
- 0x00,0x70,0x88,0x88,0x08,0x10,0x20,0x40,0x80,0xf8,0x00,0x00,
-
- 6, // 0x33 '3'
- 0x00,0xf8,0x10,0x20,0x70,0x08,0x08,0x08,0x88,0x70,0x00,0x00,
-
- 6, // 0x34 '4'
- 0x00,0x10,0x20,0x40,0x90,0x90,0xf8,0x10,0x10,0x10,0x00,0x00,
-
- 6, // 0x35 '5'
- 0x00,0xf8,0x80,0x80,0xf0,0x08,0x08,0x08,0x88,0x70,0x00,0x00,
-
- 6, // 0x36 '6'
- 0x00,0x70,0x88,0x80,0x80,0xf0,0x88,0x88,0x88,0x70,0x00,0x00,
-
- 6, // 0x37 '7'
- 0x00,0xf8,0x88,0x08,0x08,0x10,0x20,0x20,0x20,0x20,0x00,0x00,
-
- 6, // 0x38 '8'
- 0x00,0x70,0x88,0x88,0x88,0x70,0x88,0x88,0x88,0x70,0x00,0x00,
-
- 6, // 0x39 '9'
- 0x00,0x70,0x88,0x88,0x88,0x78,0x08,0x08,0x88,0x70,0x00,0x00,
-
- 6, // 0x3a ':'
- 0x00,0x00,0x00,0x00,0x20,0x00,0x00,0x00,0x20,0x00,0x00,0x00,
-
- 6, // 0x3b ';'
- 0x00,0x00,0x00,0x00,0x20,0x00,0x00,0x00,0x20,0x20,0x20,0x40,
-
- 6, // 0x3c '<'
- 0x00,0x08,0x10,0x20,0x40,0x80,0x40,0x20,0x10,0x08,0x00,0x00,
-
- 6, // 0x3d '='
- 0x00,0x00,0x00,0x00,0xf8,0x00,0xf8,0x00,0x00,0x00,0x00,0x00,
-
- 6, // 0x3e '>'
- 0x00,0x80,0x40,0x20,0x10,0x08,0x10,0x20,0x40,0x80,0x00,0x00,
-
- 6, // 0x3f '?'
- 0x00,0x70,0x88,0x88,0x08,0x10,0x20,0x20,0x00,0x20,0x00,0x00,
-
- 6, // 0x40 '@'
- 0x00,0x70,0x88,0x88,0xb8,0xb8,0xb0,0x80,0x88,0x70,0x00,0x00,
-
- 6, // 0x41 'A'
- 0x00,0x20,0x50,0x88,0x88,0x88,0xf8,0x88,0x88,0x88,0x00,0x00,
-
- 6, // 0x42 'B'
- 0x00,0xf0,0x88,0x88,0x88,0xf0,0x88,0x88,0x88,0xf0,0x00,0x00,
-
- 6, // 0x43 'C'
- 0x00,0x70,0x88,0x88,0x80,0x80,0x80,0x88,0x88,0x70,0x00,0x00,
-
- 6, // 0x44 'D'
- 0x00,0xe0,0x90,0x88,0x88,0x88,0x88,0x88,0x90,0xe0,0x00,0x00,
-
- 6, // 0x45 'E'
- 0x00,0xf8,0x80,0x80,0x80,0xf0,0x80,0x80,0x80,0xf8,0x00,0x00,
-
- 6, // 0x46 'F'
- 0x00,0xf8,0x80,0x80,0x80,0xf0,0x80,0x80,0x80,0x80,0x00,0x00,
-
- 6, // 0x47 'G'
- 0x00,0x70,0x88,0x80,0x80,0xb8,0x88,0x88,0x88,0x70,0x00,0x00,
-
- 6, // 0x48 'H'
- 0x00,0x88,0x88,0x88,0x88,0xf8,0x88,0x88,0x88,0x88,0x00,0x00,
-
- 6, // 0x49 'I'
- 0x00,0x70,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x70,0x00,0x00,
-
- 6, // 0x4a 'J'
- 0x00,0x38,0x10,0x10,0x10,0x10,0x10,0x10,0x90,0x60,0x00,0x00,
-
- 6, // 0x4b 'K'
- 0x00,0x88,0x88,0x90,0xa0,0xc0,0xa0,0x90,0x88,0x88,0x00,0x00,
-
- 6, // 0x4c 'L'
- 0x00,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0xf8,0x00,0x00,
-
- 6, // 0x4d 'M'
- 0x00,0x88,0x88,0xd8,0xa8,0x88,0x88,0x88,0x88,0x88,0x00,0x00,
-
- 6, // 0x4e 'N'
- 0x00,0x88,0x88,0xc8,0xa8,0x98,0x88,0x88,0x88,0x88,0x00,0x00,
-
- 6, // 0x4f 'O'
- 0x00,0x70,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x70,0x00,0x00,
-
- 6, // 0x50 'P'
- 0x00,0xf0,0x88,0x88,0x88,0xf0,0x80,0x80,0x80,0x80,0x00,0x00,
-
- 6, // 0x51 'Q'
- 0x00,0x70,0x88,0x88,0x88,0x88,0x88,0xa8,0x90,0x68,0x00,0x00,
-
- 6, // 0x52 'R'
- 0x00,0xf0,0x88,0x88,0x88,0x88,0xf0,0xa0,0x90,0x88,0x00,0x00,
-
- 6, // 0x53 'S'
- 0x00,0x70,0x88,0x80,0x80,0x70,0x08,0x08,0x88,0x70,0x00,0x00,
-
- 6, // 0x54 'T'
- 0x00,0xf8,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x00,0x00,
-
- 6, // 0x55 'U'
- 0x00,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x70,0x00,0x00,
-
- 6, // 0x56 'V'
- 0x00,0x88,0x88,0x88,0x88,0x88,0x50,0x50,0x20,0x20,0x00,0x00,
-
- 6, // 0x57 'W'
- 0x00,0x88,0x88,0x88,0x88,0x88,0xa8,0xa8,0xd8,0x88,0x00,0x00,
-
- 6, // 0x58 'X'
- 0x00,0x88,0x88,0x88,0x50,0x20,0x50,0x88,0x88,0x88,0x00,0x00,
-
- 6, // 0x59 'Y'
- 0x00,0x88,0x88,0x88,0x50,0x20,0x20,0x20,0x20,0x20,0x00,0x00,
-
- 6, // 0x5a 'Z'
- 0x00,0xf8,0x08,0x08,0x10,0x20,0x40,0x80,0x80,0xf8,0x00,0x00,
-
- 6, // 0x5b '['
- 0x70,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x70,0x00,
-
- 6, // 0x5c '\'
- 0x80,0x80,0x40,0x40,0x20,0x20,0x10,0x10,0x08,0x08,0x00,0x00,
-
- 6, // 0x5d ']'
- 0x70,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x70,0x00,
-
- 6, // 0x5e '^'
- 0x00,0x00,0x20,0x50,0x88,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 6, // 0x5f '_'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xf8,0x00,0x00,
-
- 6, // 0x60 '`'
- 0x00,0x40,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 6, // 0x61 'a'
- 0x00,0x00,0x00,0x70,0x88,0x08,0x78,0x88,0x88,0x78,0x00,0x00,
-
- 6, // 0x62 'b'
- 0x00,0x80,0x80,0x80,0xf0,0x88,0x88,0x88,0x88,0xf0,0x00,0x00,
-
- 6, // 0x63 'c'
- 0x00,0x00,0x00,0x70,0x88,0x80,0x80,0x80,0x88,0x70,0x00,0x00,
-
- 6, // 0x64 'd'
- 0x00,0x08,0x08,0x08,0x78,0x88,0x88,0x88,0x88,0x78,0x00,0x00,
-
- 6, // 0x65 'e'
- 0x00,0x00,0x00,0x70,0x88,0x88,0xf8,0x80,0x80,0x78,0x00,0x00,
-
- 6, // 0x66 'f'
- 0x00,0x18,0x20,0x20,0xf8,0x20,0x20,0x20,0x20,0x20,0x00,0x00,
-
- 6, // 0x67 'g'
- 0x00,0x00,0x00,0x78,0x88,0x88,0x88,0x88,0x78,0x08,0x08,0xf0,
-
- 6, // 0x68 'h'
- 0x00,0x80,0x80,0x80,0xf0,0x88,0x88,0x88,0x88,0x88,0x00,0x00,
-
- 6, // 0x69 'i'
- 0x00,0x20,0x00,0x00,0x60,0x20,0x20,0x20,0x20,0x70,0x00,0x00,
-
- 6, // 0x6a 'j'
- 0x00,0x10,0x00,0x00,0x30,0x10,0x10,0x10,0x10,0x10,0x90,0x60,
-
- 6, // 0x6b 'k'
- 0x00,0x80,0x80,0x80,0x88,0x90,0xa0,0xd0,0x88,0x88,0x00,0x00,
-
- 6, // 0x6c 'l'
- 0x00,0x60,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x70,0x00,0x00,
-
- 6, // 0x6d 'm'
- 0x00,0x00,0x00,0xd0,0xa8,0xa8,0xa8,0xa8,0xa8,0xa8,0x00,0x00,
-
- 6, // 0x6e 'n'
- 0x00,0x00,0x00,0xb0,0xc8,0x88,0x88,0x88,0x88,0x88,0x00,0x00,
-
- 6, // 0x6f 'o'
- 0x00,0x00,0x00,0x70,0x88,0x88,0x88,0x88,0x88,0x70,0x00,0x00,
-
- 6, // 0x70 'p'
- 0x00,0x00,0x00,0xf0,0x88,0x88,0x88,0x88,0xf0,0x80,0x80,0x80,
-
- 6, // 0x71 'q'
- 0x00,0x00,0x00,0x78,0x88,0x88,0x88,0x88,0x78,0x08,0x08,0x08,
-
- 6, // 0x72 'r'
- 0x00,0x00,0x00,0xb0,0xc8,0x88,0x80,0x80,0x80,0x80,0x00,0x00,
-
- 6, // 0x73 's'
- 0x00,0x00,0x00,0x70,0x88,0x80,0x70,0x08,0x88,0x70,0x00,0x00,
-
- 6, // 0x74 't'
- 0x00,0x40,0x40,0x40,0xe0,0x40,0x40,0x40,0x48,0x30,0x00,0x00,
-
- 6, // 0x75 'u'
- 0x00,0x00,0x00,0x88,0x88,0x88,0x88,0x88,0x88,0x78,0x00,0x00,
-
- 6, // 0x76 'v'
- 0x00,0x00,0x00,0x88,0x88,0x88,0x50,0x50,0x20,0x20,0x00,0x00,
-
- 6, // 0x77 'w'
- 0x00,0x00,0x00,0x88,0x88,0x88,0xa8,0xa8,0xd8,0x88,0x00,0x00,
-
- 6, // 0x78 'x'
- 0x00,0x00,0x00,0x88,0x88,0x50,0x20,0x50,0x88,0x88,0x00,0x00,
-
- 6, // 0x79 'y'
- 0x00,0x00,0x00,0x88,0x88,0x88,0x88,0x88,0x78,0x08,0x10,0xe0,
-
- 6, // 0x7a 'z'
- 0x00,0x00,0x00,0xf8,0x08,0x10,0x20,0x40,0x80,0xf8,0x00,0x00,
-
- 6, // 0x7b '{'
- 0x18,0x20,0x20,0x20,0x20,0xc0,0x20,0x20,0x20,0x20,0x18,0x00,
-
- 6, // 0x7c '|'
- 0x00,0x20,0x20,0x20,0x20,0x00,0x20,0x20,0x20,0x20,0x00,0x00,
-
- 6, // 0x7d '}'
- 0xc0,0x20,0x20,0x20,0x20,0x18,0x20,0x20,0x20,0x20,0xc0,0x00,
-
- 6, // 0x7e '~'
- 0x00,0x00,0x40,0xa8,0x10,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 6, // 0x7f ''
- 0x00,0x00,0x00,0x00,0x20,0x50,0x88,0xf8,0x00,0x00,0x00,0x00,
- 0
- };
-
- const int8u gse6x9[] =
- {
- 9, 0, 32, 128-32,
-
- 0x00,0x00,0x0a,0x00,0x14,0x00,0x1e,0x00,0x28,0x00,0x32,0x00,0x3c,0x00,0x46,0x00,0x50,0x00,
- 0x5a,0x00,0x64,0x00,0x6e,0x00,0x78,0x00,0x82,0x00,0x8c,0x00,0x96,0x00,0xa0,0x00,0xaa,0x00,
- 0xb4,0x00,0xbe,0x00,0xc8,0x00,0xd2,0x00,0xdc,0x00,0xe6,0x00,0xf0,0x00,0xfa,0x00,0x04,0x01,
- 0x0e,0x01,0x18,0x01,0x22,0x01,0x2c,0x01,0x36,0x01,0x40,0x01,0x4a,0x01,0x54,0x01,0x5e,0x01,
- 0x68,0x01,0x72,0x01,0x7c,0x01,0x86,0x01,0x90,0x01,0x9a,0x01,0xa4,0x01,0xae,0x01,0xb8,0x01,
- 0xc2,0x01,0xcc,0x01,0xd6,0x01,0xe0,0x01,0xea,0x01,0xf4,0x01,0xfe,0x01,0x08,0x02,0x12,0x02,
- 0x1c,0x02,0x26,0x02,0x30,0x02,0x3a,0x02,0x44,0x02,0x4e,0x02,0x58,0x02,0x62,0x02,0x6c,0x02,
- 0x76,0x02,0x80,0x02,0x8a,0x02,0x94,0x02,0x9e,0x02,0xa8,0x02,0xb2,0x02,0xbc,0x02,0xc6,0x02,
- 0xd0,0x02,0xda,0x02,0xe4,0x02,0xee,0x02,0xf8,0x02,0x02,0x03,0x0c,0x03,0x16,0x03,0x20,0x03,
- 0x2a,0x03,0x34,0x03,0x3e,0x03,0x48,0x03,0x52,0x03,0x5c,0x03,0x66,0x03,0x70,0x03,0x7a,0x03,
- 0x84,0x03,0x8e,0x03,0x98,0x03,0xa2,0x03,0xac,0x03,0xb6,0x03,
-
- 6, // 0x20 ' '
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 6, // 0x21 '!'
- 0x00,0x20,0x20,0x20,0x20,0x20,0x00,0x20,0x00,
-
- 6, // 0x22 '"'
- 0x00,0x50,0x50,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 6, // 0x23 '#'
- 0x00,0x50,0x50,0xf8,0x50,0xf8,0x50,0x50,0x00,
-
- 6, // 0x24 '$'
- 0x00,0x70,0xa8,0xa0,0x70,0x28,0xa8,0x70,0x00,
-
- 6, // 0x25 '%'
- 0x00,0xc8,0xc8,0x10,0x20,0x40,0x98,0x98,0x00,
-
- 6, // 0x26 '&'
- 0x00,0x60,0x90,0x90,0x60,0xa8,0x90,0x68,0x00,
-
- 6, // 0x27 '''
- 0x00,0x20,0x20,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 6, // 0x28 '('
- 0x10,0x20,0x40,0x40,0x40,0x40,0x40,0x20,0x10,
-
- 6, // 0x29 ')'
- 0x40,0x20,0x10,0x10,0x10,0x10,0x10,0x20,0x40,
-
- 6, // 0x2a '*'
- 0x00,0x00,0x20,0xa8,0x70,0xa8,0x20,0x00,0x00,
-
- 6, // 0x2b '+'
- 0x00,0x00,0x20,0x20,0xf8,0x20,0x20,0x00,0x00,
-
- 6, // 0x2c ','
- 0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x20,0x40,
-
- 6, // 0x2d '-'
- 0x00,0x00,0x00,0x00,0xf8,0x00,0x00,0x00,0x00,
-
- 6, // 0x2e '.'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x40,0x00,
-
- 6, // 0x2f '/'
- 0x00,0x08,0x08,0x10,0x20,0x40,0x80,0x80,0x00,
-
- 6, // 0x30 '0'
- 0x00,0x70,0x88,0x98,0xa8,0xc8,0x88,0x70,0x00,
-
- 6, // 0x31 '1'
- 0x00,0x20,0x60,0x20,0x20,0x20,0x20,0x70,0x00,
-
- 6, // 0x32 '2'
- 0x00,0x70,0x88,0x08,0x10,0x20,0x40,0xf8,0x00,
-
- 6, // 0x33 '3'
- 0x00,0xf8,0x10,0x20,0x70,0x08,0x88,0x70,0x00,
-
- 6, // 0x34 '4'
- 0x00,0x10,0x20,0x40,0x90,0xf8,0x10,0x10,0x00,
-
- 6, // 0x35 '5'
- 0x00,0xf8,0x80,0xf0,0x08,0x08,0x88,0x70,0x00,
-
- 6, // 0x36 '6'
- 0x00,0x70,0x88,0x80,0xf0,0x88,0x88,0x70,0x00,
-
- 6, // 0x37 '7'
- 0x00,0xf8,0x08,0x08,0x10,0x20,0x40,0x40,0x00,
-
- 6, // 0x38 '8'
- 0x00,0x70,0x88,0x88,0x70,0x88,0x88,0x70,0x00,
-
- 6, // 0x39 '9'
- 0x00,0x70,0x88,0x88,0x78,0x08,0x88,0x70,0x00,
-
- 6, // 0x3a ':'
- 0x00,0x00,0x00,0x20,0x00,0x00,0x20,0x00,0x00,
-
- 6, // 0x3b ';'
- 0x00,0x00,0x00,0x20,0x00,0x00,0x20,0x20,0x40,
-
- 6, // 0x3c '<'
- 0x00,0x08,0x10,0x20,0x40,0x20,0x10,0x08,0x00,
-
- 6, // 0x3d '='
- 0x00,0x00,0x00,0xf8,0x00,0xf8,0x00,0x00,0x00,
-
- 6, // 0x3e '>'
- 0x00,0x80,0x40,0x20,0x10,0x20,0x40,0x80,0x00,
-
- 6, // 0x3f '?'
- 0x00,0x70,0x88,0x08,0x10,0x20,0x00,0x20,0x00,
-
- 6, // 0x40 '@'
- 0x00,0x70,0x88,0x88,0xb8,0xb8,0x80,0x70,0x00,
-
- 6, // 0x41 'A'
- 0x00,0x20,0x50,0x88,0x88,0xf8,0x88,0x88,0x00,
-
- 6, // 0x42 'B'
- 0x00,0xf0,0x88,0x88,0xf0,0x88,0x88,0xf0,0x00,
-
- 6, // 0x43 'C'
- 0x00,0x70,0x88,0x80,0x80,0x80,0x88,0x70,0x00,
-
- 6, // 0x44 'D'
- 0x00,0xe0,0x90,0x88,0x88,0x88,0x90,0xe0,0x00,
-
- 6, // 0x45 'E'
- 0x00,0xf8,0x80,0x80,0xf0,0x80,0x80,0xf8,0x00,
-
- 6, // 0x46 'F'
- 0x00,0xf8,0x80,0x80,0xf0,0x80,0x80,0x80,0x00,
-
- 6, // 0x47 'G'
- 0x00,0x70,0x88,0x80,0xb8,0x88,0x88,0x70,0x00,
-
- 6, // 0x48 'H'
- 0x00,0x88,0x88,0x88,0xf8,0x88,0x88,0x88,0x00,
-
- 6, // 0x49 'I'
- 0x00,0x70,0x20,0x20,0x20,0x20,0x20,0x70,0x00,
-
- 6, // 0x4a 'J'
- 0x00,0x38,0x10,0x10,0x10,0x10,0x90,0x60,0x00,
-
- 6, // 0x4b 'K'
- 0x00,0x88,0x90,0xa0,0xc0,0xa0,0x90,0x88,0x00,
-
- 6, // 0x4c 'L'
- 0x00,0x80,0x80,0x80,0x80,0x80,0x80,0xf8,0x00,
-
- 6, // 0x4d 'M'
- 0x00,0x88,0xd8,0xa8,0x88,0x88,0x88,0x88,0x00,
-
- 6, // 0x4e 'N'
- 0x00,0x88,0x88,0xc8,0xa8,0x98,0x88,0x88,0x00,
-
- 6, // 0x4f 'O'
- 0x00,0x70,0x88,0x88,0x88,0x88,0x88,0x70,0x00,
-
- 6, // 0x50 'P'
- 0x00,0xf0,0x88,0x88,0xf0,0x80,0x80,0x80,0x00,
-
- 6, // 0x51 'Q'
- 0x00,0x70,0x88,0x88,0x88,0xa8,0x90,0x68,0x00,
-
- 6, // 0x52 'R'
- 0x00,0xf0,0x88,0x88,0x88,0xf0,0x90,0x88,0x00,
-
- 6, // 0x53 'S'
- 0x00,0x70,0x88,0x80,0x70,0x08,0x88,0x70,0x00,
-
- 6, // 0x54 'T'
- 0x00,0xf8,0x20,0x20,0x20,0x20,0x20,0x20,0x00,
-
- 6, // 0x55 'U'
- 0x00,0x88,0x88,0x88,0x88,0x88,0x88,0x70,0x00,
-
- 6, // 0x56 'V'
- 0x00,0x88,0x88,0x88,0x50,0x50,0x20,0x20,0x00,
-
- 6, // 0x57 'W'
- 0x00,0x88,0x88,0x88,0xa8,0xa8,0xd8,0x88,0x00,
-
- 6, // 0x58 'X'
- 0x00,0x88,0x88,0x50,0x20,0x50,0x88,0x88,0x00,
-
- 6, // 0x59 'Y'
- 0x00,0x88,0x88,0x50,0x20,0x20,0x20,0x20,0x00,
-
- 6, // 0x5a 'Z'
- 0x00,0xf8,0x08,0x10,0x20,0x40,0x80,0xf8,0x00,
-
- 6, // 0x5b '['
- 0x70,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x70,
-
- 6, // 0x5c '\'
- 0x00,0x80,0x80,0x40,0x20,0x10,0x08,0x08,0x00,
-
- 6, // 0x5d ']'
- 0x70,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x70,
-
- 6, // 0x5e '^'
- 0x00,0x00,0x20,0x50,0x88,0x00,0x00,0x00,0x00,
-
- 6, // 0x5f '_'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xf8,0x00,
-
- 6, // 0x60 '`'
- 0x00,0x40,0x20,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 6, // 0x61 'a'
- 0x00,0x00,0x00,0x70,0x08,0x78,0x88,0x78,0x00,
-
- 6, // 0x62 'b'
- 0x00,0x80,0x80,0xf0,0x88,0x88,0x88,0xf0,0x00,
-
- 6, // 0x63 'c'
- 0x00,0x00,0x00,0x70,0x88,0x80,0x88,0x70,0x00,
-
- 6, // 0x64 'd'
- 0x00,0x08,0x08,0x78,0x88,0x88,0x88,0x78,0x00,
-
- 6, // 0x65 'e'
- 0x00,0x00,0x00,0x70,0x88,0xf8,0x80,0x78,0x00,
-
- 6, // 0x66 'f'
- 0x00,0x18,0x20,0x20,0xf8,0x20,0x20,0x20,0x00,
-
- 6, // 0x67 'g'
- 0x00,0x00,0x00,0x78,0x88,0x88,0x78,0x08,0x70,
-
- 6, // 0x68 'h'
- 0x00,0x80,0x80,0xf0,0x88,0x88,0x88,0x88,0x00,
-
- 6, // 0x69 'i'
- 0x00,0x20,0x00,0x60,0x20,0x20,0x20,0x70,0x00,
-
- 6, // 0x6a 'j'
- 0x00,0x10,0x00,0x30,0x10,0x10,0x10,0x90,0x60,
-
- 6, // 0x6b 'k'
- 0x00,0x00,0x80,0x88,0x90,0xa0,0xd0,0x88,0x00,
-
- 6, // 0x6c 'l'
- 0x00,0x60,0x20,0x20,0x20,0x20,0x20,0x70,0x00,
-
- 6, // 0x6d 'm'
- 0x00,0x00,0x00,0xd0,0xa8,0xa8,0xa8,0xa8,0x00,
-
- 6, // 0x6e 'n'
- 0x00,0x00,0x00,0xb0,0xc8,0x88,0x88,0x88,0x00,
-
- 6, // 0x6f 'o'
- 0x00,0x00,0x00,0x70,0x88,0x88,0x88,0x70,0x00,
-
- 6, // 0x70 'p'
- 0x00,0x00,0x00,0xf0,0x88,0x88,0xf0,0x80,0x80,
-
- 6, // 0x71 'q'
- 0x00,0x00,0x00,0x78,0x88,0x88,0x78,0x08,0x08,
-
- 6, // 0x72 'r'
- 0x00,0x00,0x00,0xb8,0xc0,0x80,0x80,0x80,0x00,
-
- 6, // 0x73 's'
- 0x00,0x00,0x00,0x78,0x80,0x70,0x08,0xf0,0x00,
-
- 6, // 0x74 't'
- 0x00,0x40,0x40,0xe0,0x40,0x40,0x48,0x30,0x00,
-
- 6, // 0x75 'u'
- 0x00,0x00,0x00,0x88,0x88,0x88,0x88,0x78,0x00,
-
- 6, // 0x76 'v'
- 0x00,0x00,0x00,0x88,0x88,0x88,0x50,0x20,0x00,
-
- 6, // 0x77 'w'
- 0x00,0x00,0x00,0x88,0x88,0xa8,0xd8,0x88,0x00,
-
- 6, // 0x78 'x'
- 0x00,0x00,0x00,0x88,0x50,0x20,0x50,0x88,0x00,
-
- 6, // 0x79 'y'
- 0x00,0x00,0x00,0x88,0x88,0x88,0x78,0x08,0x70,
-
- 6, // 0x7a 'z'
- 0x00,0x00,0x00,0xf8,0x10,0x20,0x40,0xf8,0x00,
-
- 6, // 0x7b '{'
- 0x18,0x20,0x20,0x20,0xc0,0x20,0x20,0x20,0x18,
-
- 6, // 0x7c '|'
- 0x00,0x20,0x20,0x20,0x00,0x20,0x20,0x20,0x00,
-
- 6, // 0x7d '}'
- 0xc0,0x20,0x20,0x20,0x18,0x20,0x20,0x20,0xc0,
-
- 6, // 0x7e '~'
- 0x00,0x40,0xa8,0x10,0x00,0x00,0x00,0x00,0x00,
-
- 6, // 0x7f ''
- 0x00,0x00,0x00,0x20,0x50,0x88,0xf8,0x00,0x00,
- 0
- };
-
- const int8u gse7x11[] =
- {
- 11, 0, 32, 128-32,
-
- 0x00,0x00,0x0c,0x00,0x18,0x00,0x24,0x00,0x30,0x00,0x3c,0x00,0x48,0x00,0x54,0x00,0x60,0x00,
- 0x6c,0x00,0x78,0x00,0x84,0x00,0x90,0x00,0x9c,0x00,0xa8,0x00,0xb4,0x00,0xc0,0x00,0xcc,0x00,
- 0xd8,0x00,0xe4,0x00,0xf0,0x00,0xfc,0x00,0x08,0x01,0x14,0x01,0x20,0x01,0x2c,0x01,0x38,0x01,
- 0x44,0x01,0x50,0x01,0x5c,0x01,0x68,0x01,0x74,0x01,0x80,0x01,0x8c,0x01,0x98,0x01,0xa4,0x01,
- 0xb0,0x01,0xbc,0x01,0xc8,0x01,0xd4,0x01,0xe0,0x01,0xec,0x01,0xf8,0x01,0x04,0x02,0x10,0x02,
- 0x1c,0x02,0x28,0x02,0x34,0x02,0x40,0x02,0x4c,0x02,0x58,0x02,0x64,0x02,0x70,0x02,0x7c,0x02,
- 0x88,0x02,0x94,0x02,0xa0,0x02,0xac,0x02,0xb8,0x02,0xc4,0x02,0xd0,0x02,0xdc,0x02,0xe8,0x02,
- 0xf4,0x02,0x00,0x03,0x0c,0x03,0x18,0x03,0x24,0x03,0x30,0x03,0x3c,0x03,0x48,0x03,0x54,0x03,
- 0x60,0x03,0x6c,0x03,0x78,0x03,0x84,0x03,0x90,0x03,0x9c,0x03,0xa8,0x03,0xb4,0x03,0xc0,0x03,
- 0xcc,0x03,0xd8,0x03,0xe4,0x03,0xf0,0x03,0xfc,0x03,0x08,0x04,0x14,0x04,0x20,0x04,0x2c,0x04,
- 0x38,0x04,0x44,0x04,0x50,0x04,0x5c,0x04,0x68,0x04,0x74,0x04,
-
- 7, // 0x20 ' '
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 7, // 0x21 '!'
- 0x00,0x10,0x38,0x38,0x38,0x10,0x10,0x00,0x10,0x00,0x00,
-
- 7, // 0x22 '"'
- 0x00,0x00,0x24,0x24,0x24,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 7, // 0x23 '#'
- 0x00,0x48,0x48,0xfc,0x48,0x48,0xfc,0x48,0x48,0x00,0x00,
-
- 7, // 0x24 '$'
- 0x00,0x10,0x38,0x54,0x50,0x38,0x14,0x54,0x38,0x10,0x00,
-
- 7, // 0x25 '%'
- 0x00,0x00,0x42,0xa4,0x48,0x10,0x24,0x4a,0x84,0x00,0x00,
-
- 7, // 0x26 '&'
- 0x00,0x30,0x48,0x48,0x30,0x60,0x94,0x98,0x6c,0x00,0x00,
-
- 7, // 0x27 '''
- 0x00,0x20,0x20,0x40,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 7, // 0x28 '('
- 0x00,0x04,0x08,0x10,0x10,0x10,0x10,0x08,0x04,0x00,0x00,
-
- 7, // 0x29 ')'
- 0x00,0x40,0x20,0x10,0x10,0x10,0x10,0x20,0x40,0x00,0x00,
-
- 7, // 0x2a '*'
- 0x00,0x00,0x00,0x20,0xa8,0x70,0xa8,0x20,0x00,0x00,0x00,
-
- 7, // 0x2b '+'
- 0x00,0x00,0x00,0x10,0x10,0x7c,0x10,0x10,0x00,0x00,0x00,
-
- 7, // 0x2c ','
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x30,0x30,0x60,
-
- 7, // 0x2d '-'
- 0x00,0x00,0x00,0x00,0x00,0xfc,0x00,0x00,0x00,0x00,0x00,
-
- 7, // 0x2e '.'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x30,0x00,0x00,
-
- 7, // 0x2f '/'
- 0x00,0x08,0x08,0x10,0x10,0x20,0x20,0x40,0x40,0x00,0x00,
-
- 7, // 0x30 '0'
- 0x00,0x38,0x44,0x4c,0x54,0x64,0x44,0x44,0x38,0x00,0x00,
-
- 7, // 0x31 '1'
- 0x00,0x10,0x30,0x10,0x10,0x10,0x10,0x10,0x7c,0x00,0x00,
-
- 7, // 0x32 '2'
- 0x00,0x38,0x44,0x04,0x08,0x10,0x20,0x44,0x7c,0x00,0x00,
-
- 7, // 0x33 '3'
- 0x00,0x7c,0x48,0x10,0x38,0x04,0x04,0x44,0x38,0x00,0x00,
-
- 7, // 0x34 '4'
- 0x00,0x08,0x10,0x20,0x48,0x48,0x7c,0x08,0x1c,0x00,0x00,
-
- 7, // 0x35 '5'
- 0x00,0x7c,0x40,0x40,0x78,0x04,0x04,0x44,0x38,0x00,0x00,
-
- 7, // 0x36 '6'
- 0x00,0x18,0x20,0x40,0x78,0x44,0x44,0x44,0x38,0x00,0x00,
-
- 7, // 0x37 '7'
- 0x00,0x7c,0x44,0x04,0x08,0x10,0x10,0x10,0x10,0x00,0x00,
-
- 7, // 0x38 '8'
- 0x00,0x38,0x44,0x44,0x38,0x44,0x44,0x44,0x38,0x00,0x00,
-
- 7, // 0x39 '9'
- 0x00,0x38,0x44,0x44,0x44,0x3c,0x04,0x08,0x30,0x00,0x00,
-
- 7, // 0x3a ':'
- 0x00,0x00,0x00,0x30,0x00,0x00,0x00,0x30,0x00,0x00,0x00,
-
- 7, // 0x3b ';'
- 0x00,0x00,0x00,0x30,0x00,0x00,0x00,0x30,0x30,0x60,0x00,
-
- 7, // 0x3c '<'
- 0x00,0x00,0x04,0x08,0x10,0x20,0x10,0x08,0x04,0x00,0x00,
-
- 7, // 0x3d '='
- 0x00,0x00,0x00,0x00,0xfc,0x00,0xfc,0x00,0x00,0x00,0x00,
-
- 7, // 0x3e '>'
- 0x00,0x00,0x40,0x20,0x10,0x08,0x10,0x20,0x40,0x00,0x00,
-
- 7, // 0x3f '?'
- 0x00,0x70,0x88,0x88,0x10,0x20,0x20,0x00,0x20,0x00,0x00,
-
- 7, // 0x40 '@'
- 0x00,0x30,0x48,0x04,0x34,0x54,0x54,0x54,0x28,0x00,0x00,
-
- 7, // 0x41 'A'
- 0x00,0x10,0x28,0x44,0x44,0x7c,0x44,0x44,0x44,0x00,0x00,
-
- 7, // 0x42 'B'
- 0x00,0x78,0x44,0x44,0x78,0x44,0x44,0x44,0x78,0x00,0x00,
-
- 7, // 0x43 'C'
- 0x00,0x38,0x44,0x40,0x40,0x40,0x40,0x44,0x38,0x00,0x00,
-
- 7, // 0x44 'D'
- 0x00,0x70,0x48,0x44,0x44,0x44,0x44,0x48,0x70,0x00,0x00,
-
- 7, // 0x45 'E'
- 0x00,0x7c,0x40,0x40,0x70,0x40,0x40,0x40,0x7c,0x00,0x00,
-
- 7, // 0x46 'F'
- 0x00,0x7c,0x40,0x40,0x70,0x40,0x40,0x40,0x40,0x00,0x00,
-
- 7, // 0x47 'G'
- 0x00,0x38,0x44,0x40,0x40,0x5c,0x44,0x44,0x38,0x00,0x00,
-
- 7, // 0x48 'H'
- 0x00,0x44,0x44,0x44,0x7c,0x44,0x44,0x44,0x44,0x00,0x00,
-
- 7, // 0x49 'I'
- 0x00,0x38,0x10,0x10,0x10,0x10,0x10,0x10,0x38,0x00,0x00,
-
- 7, // 0x4a 'J'
- 0x00,0x1c,0x08,0x08,0x08,0x08,0x08,0x48,0x30,0x00,0x00,
-
- 7, // 0x4b 'K'
- 0x00,0x44,0x48,0x50,0x60,0x50,0x48,0x44,0x44,0x00,0x00,
-
- 7, // 0x4c 'L'
- 0x00,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x7c,0x00,0x00,
-
- 7, // 0x4d 'M'
- 0x00,0x44,0x6c,0x54,0x54,0x44,0x44,0x44,0x44,0x00,0x00,
-
- 7, // 0x4e 'N'
- 0x00,0x44,0x44,0x64,0x54,0x4c,0x44,0x44,0x44,0x00,0x00,
-
- 7, // 0x4f 'O'
- 0x00,0x38,0x44,0x44,0x44,0x44,0x44,0x44,0x38,0x00,0x00,
-
- 7, // 0x50 'P'
- 0x00,0x78,0x44,0x44,0x44,0x78,0x40,0x40,0x40,0x00,0x00,
-
- 7, // 0x51 'Q'
- 0x00,0x38,0x44,0x44,0x44,0x44,0x54,0x48,0x34,0x00,0x00,
-
- 7, // 0x52 'R'
- 0x00,0x78,0x44,0x44,0x44,0x78,0x50,0x48,0x44,0x00,0x00,
-
- 7, // 0x53 'S'
- 0x00,0x38,0x44,0x40,0x38,0x04,0x44,0x44,0x38,0x00,0x00,
-
- 7, // 0x54 'T'
- 0x00,0x7c,0x54,0x10,0x10,0x10,0x10,0x10,0x10,0x00,0x00,
-
- 7, // 0x55 'U'
- 0x00,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x38,0x00,0x00,
-
- 7, // 0x56 'V'
- 0x00,0x44,0x44,0x44,0x44,0x28,0x28,0x10,0x10,0x00,0x00,
-
- 7, // 0x57 'W'
- 0x00,0x44,0x44,0x44,0x44,0x54,0x54,0x6c,0x44,0x00,0x00,
-
- 7, // 0x58 'X'
- 0x00,0x44,0x44,0x28,0x10,0x28,0x44,0x44,0x44,0x00,0x00,
-
- 7, // 0x59 'Y'
- 0x00,0x44,0x44,0x44,0x28,0x10,0x10,0x10,0x38,0x00,0x00,
-
- 7, // 0x5a 'Z'
- 0x00,0x7c,0x04,0x08,0x10,0x20,0x40,0x44,0x7c,0x00,0x00,
-
- 7, // 0x5b '['
- 0x00,0x38,0x20,0x20,0x20,0x20,0x20,0x20,0x38,0x00,0x00,
-
- 7, // 0x5c '\'
- 0x00,0x40,0x40,0x20,0x20,0x10,0x10,0x08,0x08,0x00,0x00,
-
- 7, // 0x5d ']'
- 0x00,0x38,0x08,0x08,0x08,0x08,0x08,0x08,0x38,0x00,0x00,
-
- 7, // 0x5e '^'
- 0x00,0x10,0x28,0x44,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 7, // 0x5f '_'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xfc,0x00,0x00,
-
- 7, // 0x60 '`'
- 0x00,0x20,0x20,0x10,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 7, // 0x61 'a'
- 0x00,0x00,0x00,0x38,0x04,0x3c,0x44,0x44,0x3c,0x00,0x00,
-
- 7, // 0x62 'b'
- 0x00,0x40,0x40,0x78,0x44,0x44,0x44,0x44,0x78,0x00,0x00,
-
- 7, // 0x63 'c'
- 0x00,0x00,0x00,0x38,0x44,0x40,0x40,0x44,0x38,0x00,0x00,
-
- 7, // 0x64 'd'
- 0x00,0x04,0x04,0x3c,0x44,0x44,0x44,0x44,0x3c,0x00,0x00,
-
- 7, // 0x65 'e'
- 0x00,0x00,0x00,0x38,0x44,0x7c,0x40,0x44,0x38,0x00,0x00,
-
- 7, // 0x66 'f'
- 0x00,0x18,0x24,0x20,0x70,0x20,0x20,0x20,0x70,0x00,0x00,
-
- 7, // 0x67 'g'
- 0x00,0x00,0x00,0x3c,0x44,0x44,0x44,0x3c,0x04,0x44,0x38,
-
- 7, // 0x68 'h'
- 0x00,0x40,0x40,0x40,0x58,0x64,0x44,0x44,0x44,0x00,0x00,
-
- 7, // 0x69 'i'
- 0x00,0x10,0x00,0x30,0x10,0x10,0x10,0x10,0x38,0x00,0x00,
-
- 7, // 0x6a 'j'
- 0x00,0x08,0x00,0x18,0x08,0x08,0x08,0x08,0x48,0x30,0x00,
-
- 7, // 0x6b 'k'
- 0x00,0x40,0x40,0x44,0x48,0x50,0x68,0x44,0x44,0x00,0x00,
-
- 7, // 0x6c 'l'
- 0x00,0x30,0x10,0x10,0x10,0x10,0x10,0x10,0x38,0x00,0x00,
-
- 7, // 0x6d 'm'
- 0x00,0x00,0x00,0xa8,0x54,0x54,0x54,0x54,0x54,0x00,0x00,
-
- 7, // 0x6e 'n'
- 0x00,0x00,0x00,0xb8,0x44,0x44,0x44,0x44,0x44,0x00,0x00,
-
- 7, // 0x6f 'o'
- 0x00,0x00,0x00,0x38,0x44,0x44,0x44,0x44,0x38,0x00,0x00,
-
- 7, // 0x70 'p'
- 0x00,0x00,0x00,0x78,0x44,0x44,0x44,0x44,0x78,0x40,0x40,
-
- 7, // 0x71 'q'
- 0x00,0x00,0x00,0x3c,0x44,0x44,0x44,0x44,0x3c,0x04,0x04,
-
- 7, // 0x72 'r'
- 0x00,0x00,0x00,0x58,0x64,0x44,0x40,0x40,0x40,0x00,0x00,
-
- 7, // 0x73 's'
- 0x00,0x00,0x00,0x3c,0x40,0x38,0x04,0x04,0x78,0x00,0x00,
-
- 7, // 0x74 't'
- 0x00,0x20,0x20,0x70,0x20,0x20,0x20,0x24,0x18,0x00,0x00,
-
- 7, // 0x75 'u'
- 0x00,0x00,0x00,0x44,0x44,0x44,0x44,0x44,0x3a,0x00,0x00,
-
- 7, // 0x76 'v'
- 0x00,0x00,0x00,0x44,0x44,0x44,0x44,0x28,0x10,0x00,0x00,
-
- 7, // 0x77 'w'
- 0x00,0x00,0x00,0x44,0x44,0x54,0x54,0x6c,0x44,0x00,0x00,
-
- 7, // 0x78 'x'
- 0x00,0x00,0x00,0x44,0x28,0x10,0x28,0x44,0x44,0x00,0x00,
-
- 7, // 0x79 'y'
- 0x00,0x00,0x00,0x44,0x44,0x44,0x3c,0x04,0x08,0x30,0x00,
-
- 7, // 0x7a 'z'
- 0x00,0x00,0x00,0x7c,0x08,0x10,0x20,0x44,0x7c,0x00,0x00,
-
- 7, // 0x7b '{'
- 0x00,0x0c,0x10,0x10,0x10,0x60,0x10,0x10,0x0c,0x00,0x00,
-
- 7, // 0x7c '|'
- 0x00,0x20,0x20,0x20,0x00,0x20,0x20,0x20,0x20,0x00,0x00,
-
- 7, // 0x7d '}'
- 0x00,0x60,0x10,0x10,0x10,0x0c,0x10,0x10,0x60,0x00,0x00,
-
- 7, // 0x7e '~'
- 0x00,0x00,0x64,0x98,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 7, // 0x7f ''
- 0x00,0x00,0x00,0x10,0x28,0x44,0x44,0x7c,0x00,0x00,0x00,
- 0
- };
-
- const int8u gse7x11_bold[] =
- {
- 11, 0, 32, 128-32,
-
- 0x00,0x00,0x0c,0x00,0x18,0x00,0x24,0x00,0x30,0x00,0x3c,0x00,0x48,0x00,0x54,0x00,0x60,0x00,
- 0x6c,0x00,0x78,0x00,0x84,0x00,0x90,0x00,0x9c,0x00,0xa8,0x00,0xb4,0x00,0xc0,0x00,0xcc,0x00,
- 0xd8,0x00,0xe4,0x00,0xf0,0x00,0xfc,0x00,0x08,0x01,0x14,0x01,0x20,0x01,0x2c,0x01,0x38,0x01,
- 0x44,0x01,0x50,0x01,0x5c,0x01,0x68,0x01,0x74,0x01,0x80,0x01,0x8c,0x01,0x98,0x01,0xa4,0x01,
- 0xb0,0x01,0xbc,0x01,0xc8,0x01,0xd4,0x01,0xe0,0x01,0xec,0x01,0xf8,0x01,0x04,0x02,0x10,0x02,
- 0x1c,0x02,0x28,0x02,0x34,0x02,0x40,0x02,0x4c,0x02,0x58,0x02,0x64,0x02,0x70,0x02,0x7c,0x02,
- 0x88,0x02,0x94,0x02,0xa0,0x02,0xac,0x02,0xb8,0x02,0xc4,0x02,0xd0,0x02,0xdc,0x02,0xe8,0x02,
- 0xf4,0x02,0x00,0x03,0x0c,0x03,0x18,0x03,0x24,0x03,0x30,0x03,0x3c,0x03,0x48,0x03,0x54,0x03,
- 0x60,0x03,0x6c,0x03,0x78,0x03,0x84,0x03,0x90,0x03,0x9c,0x03,0xa8,0x03,0xb4,0x03,0xc0,0x03,
- 0xcc,0x03,0xd8,0x03,0xe4,0x03,0xf0,0x03,0xfc,0x03,0x08,0x04,0x14,0x04,0x20,0x04,0x2c,0x04,
- 0x38,0x04,0x44,0x04,0x50,0x04,0x5c,0x04,0x68,0x04,0x74,0x04,
-
- 7, // 0x20 ' '
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 7, // 0x21 '!'
- 0x00,0x30,0x30,0x30,0x30,0x30,0x00,0x30,0x30,0x00,0x00,
-
- 7, // 0x22 '"'
- 0x00,0x6c,0x6c,0x28,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 7, // 0x23 '#'
- 0x00,0x48,0x48,0xfc,0x48,0x48,0xfc,0x48,0x48,0x00,0x00,
-
- 7, // 0x24 '$'
- 0x30,0x30,0x78,0xcc,0xc0,0x78,0x0c,0xcc,0x78,0x30,0x30,
-
- 7, // 0x25 '%'
- 0x00,0x00,0xc4,0x0c,0x18,0x30,0x60,0xc0,0x8c,0x00,0x00,
-
- 7, // 0x26 '&'
- 0x00,0x30,0x58,0x58,0x30,0x74,0xdc,0xd8,0x6c,0x00,0x00,
-
- 7, // 0x27 '''
- 0x00,0x30,0x30,0x60,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 7, // 0x28 '('
- 0x00,0x0c,0x18,0x30,0x30,0x30,0x30,0x18,0x0c,0x00,0x00,
-
- 7, // 0x29 ')'
- 0x00,0xc0,0x60,0x30,0x30,0x30,0x30,0x60,0xc0,0x00,0x00,
-
- 7, // 0x2a '*'
- 0x00,0x00,0x00,0x20,0xa8,0x70,0xa8,0x20,0x00,0x00,0x00,
-
- 7, // 0x2b '+'
- 0x00,0x00,0x00,0x30,0x30,0xfc,0x30,0x30,0x00,0x00,0x00,
-
- 7, // 0x2c ','
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x30,0x60,0x00,
-
- 7, // 0x2d '-'
- 0x00,0x00,0x00,0x00,0x00,0xfc,0x00,0x00,0x00,0x00,0x00,
-
- 7, // 0x2e '.'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x30,0x00,0x00,
-
- 7, // 0x2f '/'
- 0x00,0x0c,0x0c,0x18,0x18,0x30,0x30,0x60,0x60,0x00,0x00,
-
- 7, // 0x30 '0'
- 0x00,0x78,0xcc,0xcc,0xdc,0xec,0xcc,0xcc,0x78,0x00,0x00,
-
- 7, // 0x31 '1'
- 0x00,0x30,0x70,0xf0,0x30,0x30,0x30,0x30,0xfc,0x00,0x00,
-
- 7, // 0x32 '2'
- 0x00,0x78,0xcc,0xcc,0x18,0x30,0x60,0xcc,0xfc,0x00,0x00,
-
- 7, // 0x33 '3'
- 0x00,0xfc,0x98,0x30,0x78,0x0c,0x0c,0xcc,0x78,0x00,0x00,
-
- 7, // 0x34 '4'
- 0x00,0x18,0x30,0x68,0xd8,0xd8,0xfc,0x18,0x3c,0x00,0x00,
-
- 7, // 0x35 '5'
- 0x00,0xfc,0xc0,0xc0,0xf8,0x0c,0x0c,0xcc,0x78,0x00,0x00,
-
- 7, // 0x36 '6'
- 0x00,0x38,0x60,0xc0,0xf8,0xcc,0xcc,0xcc,0x78,0x00,0x00,
-
- 7, // 0x37 '7'
- 0x00,0xfc,0x8c,0x0c,0x18,0x30,0x30,0x30,0x30,0x00,0x00,
-
- 7, // 0x38 '8'
- 0x00,0x78,0xcc,0xcc,0x78,0xcc,0xcc,0xcc,0x78,0x00,0x00,
-
- 7, // 0x39 '9'
- 0x00,0x78,0xcc,0xcc,0xcc,0x7c,0x0c,0x18,0x70,0x00,0x00,
-
- 7, // 0x3a ':'
- 0x00,0x00,0x30,0x30,0x00,0x00,0x30,0x30,0x00,0x00,0x00,
-
- 7, // 0x3b ';'
- 0x00,0x00,0x30,0x30,0x00,0x00,0x30,0x30,0x30,0x60,0x00,
-
- 7, // 0x3c '<'
- 0x00,0x00,0x0c,0x18,0x30,0x60,0x30,0x18,0x0c,0x00,0x00,
-
- 7, // 0x3d '='
- 0x00,0x00,0x00,0x00,0xfc,0x00,0xfc,0x00,0x00,0x00,0x00,
-
- 7, // 0x3e '>'
- 0x00,0x00,0x60,0x30,0x18,0x0c,0x18,0x30,0x60,0x00,0x00,
-
- 7, // 0x3f '?'
- 0x00,0x78,0xcc,0xcc,0x18,0x30,0x30,0x00,0x30,0x00,0x00,
-
- 7, // 0x40 '@'
- 0x00,0x70,0x88,0x04,0x74,0xb4,0xb4,0xb4,0x68,0x00,0x00,
-
- 7, // 0x41 'A'
- 0x00,0x30,0x78,0xcc,0xcc,0xfc,0xcc,0xcc,0xcc,0x00,0x00,
-
- 7, // 0x42 'B'
- 0x00,0xf8,0xcc,0xcc,0xf8,0xcc,0xcc,0xcc,0xf8,0x00,0x00,
-
- 7, // 0x43 'C'
- 0x00,0x78,0xcc,0xc0,0xc0,0xc0,0xc0,0xcc,0x78,0x00,0x00,
-
- 7, // 0x44 'D'
- 0x00,0xf0,0xd8,0xcc,0xcc,0xcc,0xcc,0xd8,0xf0,0x00,0x00,
-
- 7, // 0x45 'E'
- 0x00,0xfc,0xc4,0xd0,0xf0,0xd0,0xc0,0xc4,0xfc,0x00,0x00,
-
- 7, // 0x46 'F'
- 0x00,0xfc,0xc4,0xd0,0xf0,0xd0,0xc0,0xc0,0xc0,0x00,0x00,
-
- 7, // 0x47 'G'
- 0x00,0x78,0xcc,0xc0,0xc0,0xdc,0xcc,0xcc,0x78,0x00,0x00,
-
- 7, // 0x48 'H'
- 0x00,0xcc,0xcc,0xcc,0xfc,0xcc,0xcc,0xcc,0xcc,0x00,0x00,
-
- 7, // 0x49 'I'
- 0x00,0x78,0x30,0x30,0x30,0x30,0x30,0x30,0x78,0x00,0x00,
-
- 7, // 0x4a 'J'
- 0x00,0x3c,0x18,0x18,0x18,0x18,0xd8,0xd8,0x70,0x00,0x00,
-
- 7, // 0x4b 'K'
- 0x00,0xcc,0xcc,0xd8,0xf0,0xd8,0xcc,0xcc,0xcc,0x00,0x00,
-
- 7, // 0x4c 'L'
- 0x00,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc4,0xfc,0x00,0x00,
-
- 7, // 0x4d 'M'
- 0x00,0x84,0xcc,0xfc,0xb4,0xcc,0xcc,0xcc,0xcc,0x00,0x00,
-
- 7, // 0x4e 'N'
- 0x00,0xcc,0xcc,0xec,0xfc,0xdc,0xcc,0xcc,0xcc,0x00,0x00,
-
- 7, // 0x4f 'O'
- 0x00,0x78,0xcc,0xcc,0xcc,0xcc,0xcc,0xcc,0x78,0x00,0x00,
-
- 7, // 0x50 'P'
- 0x00,0xf8,0xcc,0xcc,0xcc,0xf8,0xc0,0xc0,0xc0,0x00,0x00,
-
- 7, // 0x51 'Q'
- 0x00,0x78,0xcc,0xcc,0xcc,0xcc,0xdc,0x78,0x18,0x0c,0x00,
-
- 7, // 0x52 'R'
- 0x00,0xf8,0xcc,0xcc,0xcc,0xf8,0xd8,0xcc,0xcc,0x00,0x00,
-
- 7, // 0x53 'S'
- 0x00,0x78,0xcc,0xe0,0x70,0x38,0x1c,0xcc,0x78,0x00,0x00,
-
- 7, // 0x54 'T'
- 0x00,0xfc,0xb4,0x30,0x30,0x30,0x30,0x30,0x30,0x00,0x00,
-
- 7, // 0x55 'U'
- 0x00,0xcc,0xcc,0xcc,0xcc,0xcc,0xcc,0xcc,0x78,0x00,0x00,
-
- 7, // 0x56 'V'
- 0x00,0xcc,0xcc,0xcc,0xcc,0xcc,0xcc,0x78,0x30,0x00,0x00,
-
- 7, // 0x57 'W'
- 0x00,0xcc,0xcc,0xcc,0xcc,0xb4,0xfc,0xcc,0x84,0x00,0x00,
-
- 7, // 0x58 'X'
- 0x00,0xcc,0xcc,0x78,0x30,0x78,0xcc,0xcc,0xcc,0x00,0x00,
-
- 7, // 0x59 'Y'
- 0x00,0xcc,0xcc,0xcc,0x78,0x30,0x30,0x30,0x78,0x00,0x00,
-
- 7, // 0x5a 'Z'
- 0x00,0xfc,0x8c,0x18,0x30,0x60,0xc0,0xc4,0xfc,0x00,0x00,
-
- 7, // 0x5b '['
- 0x00,0x78,0x60,0x60,0x60,0x60,0x60,0x60,0x78,0x00,0x00,
-
- 7, // 0x5c '\'
- 0x00,0x60,0x60,0x30,0x30,0x18,0x18,0x0c,0x0c,0x00,0x00,
-
- 7, // 0x5d ']'
- 0x00,0x78,0x18,0x18,0x18,0x18,0x18,0x18,0x78,0x00,0x00,
-
- 7, // 0x5e '^'
- 0x00,0x10,0x38,0x6c,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 7, // 0x5f '_'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xfc,0x00,0x00,
-
- 7, // 0x60 '`'
- 0x00,0x30,0x30,0x18,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 7, // 0x61 'a'
- 0x00,0x00,0x00,0x70,0x18,0x78,0xd8,0xd8,0x6c,0x00,0x00,
-
- 7, // 0x62 'b'
- 0x00,0x60,0x60,0x60,0x78,0x6c,0x6c,0x6c,0x78,0x00,0x00,
-
- 7, // 0x63 'c'
- 0x00,0x00,0x00,0x78,0xcc,0xc0,0xc0,0xcc,0x78,0x00,0x00,
-
- 7, // 0x64 'd'
- 0x00,0x18,0x18,0x18,0x78,0xd8,0xd8,0xd8,0x6c,0x00,0x00,
-
- 7, // 0x65 'e'
- 0x00,0x00,0x00,0x78,0xcc,0xfc,0xc0,0xcc,0x78,0x00,0x00,
-
- 7, // 0x66 'f'
- 0x00,0x18,0x34,0x30,0x78,0x30,0x30,0x30,0x78,0x00,0x00,
-
- 7, // 0x67 'g'
- 0x00,0x00,0x00,0x6c,0xd8,0xd8,0xd8,0x78,0x18,0xd8,0x70,
-
- 7, // 0x68 'h'
- 0x00,0xc0,0xc0,0xd8,0xec,0xcc,0xcc,0xcc,0xcc,0x00,0x00,
-
- 7, // 0x69 'i'
- 0x00,0x30,0x00,0x70,0x30,0x30,0x30,0x30,0x78,0x00,0x00,
-
- 7, // 0x6a 'j'
- 0x00,0x0c,0x00,0x1c,0x0c,0x0c,0x0c,0x0c,0x6c,0x6c,0x38,
-
- 7, // 0x6b 'k'
- 0x00,0xc0,0xc0,0xcc,0xcc,0xd8,0xf0,0xd8,0xcc,0x00,0x00,
-
- 7, // 0x6c 'l'
- 0x00,0x70,0x30,0x30,0x30,0x30,0x30,0x30,0x78,0x00,0x00,
-
- 7, // 0x6d 'm'
- 0x00,0x00,0x00,0xe8,0xfc,0xd4,0xd4,0xc4,0xc4,0x00,0x00,
-
- 7, // 0x6e 'n'
- 0x00,0x00,0x00,0xd8,0x6c,0x6c,0x6c,0x6c,0x6c,0x00,0x00,
-
- 7, // 0x6f 'o'
- 0x00,0x00,0x00,0x78,0xcc,0xcc,0xcc,0xcc,0x78,0x00,0x00,
-
- 7, // 0x70 'p'
- 0x00,0x00,0x00,0xf8,0xcc,0xcc,0xcc,0xf8,0xc0,0xc0,0xc0,
-
- 7, // 0x71 'q'
- 0x00,0x00,0x00,0x7c,0xcc,0xcc,0xcc,0x7c,0x0c,0x0c,0x0c,
-
- 7, // 0x72 'r'
- 0x00,0x00,0x00,0xd8,0xec,0xcc,0xc0,0xc0,0xc0,0x00,0x00,
-
- 7, // 0x73 's'
- 0x00,0x00,0x00,0x78,0xcc,0x60,0x18,0xcc,0x78,0x00,0x00,
-
- 7, // 0x74 't'
- 0x00,0x20,0x60,0x60,0xf0,0x60,0x60,0x68,0x30,0x00,0x00,
-
- 7, // 0x75 'u'
- 0x00,0x00,0x00,0xd8,0xd8,0xd8,0xd8,0xd8,0x6c,0x00,0x00,
-
- 7, // 0x76 'v'
- 0x00,0x00,0x00,0xcc,0xcc,0xcc,0xcc,0x78,0x30,0x00,0x00,
-
- 7, // 0x77 'w'
- 0x00,0x00,0x00,0xcc,0xcc,0xb4,0xfc,0xcc,0x84,0x00,0x00,
-
- 7, // 0x78 'x'
- 0x00,0x00,0x00,0xcc,0x78,0x30,0x78,0xcc,0xcc,0x00,0x00,
-
- 7, // 0x79 'y'
- 0x00,0x00,0x00,0xcc,0xcc,0xcc,0xcc,0x7c,0x0c,0x18,0xf0,
-
- 7, // 0x7a 'z'
- 0x00,0x00,0x00,0xfc,0x98,0x30,0x60,0xc4,0xfc,0x00,0x00,
-
- 7, // 0x7b '{'
- 0x1c,0x30,0x30,0x30,0xe0,0x30,0x30,0x30,0x1c,0x00,0x00,
-
- 7, // 0x7c '|'
- 0x30,0x30,0x30,0x30,0x00,0x30,0x30,0x30,0x30,0x00,0x00,
-
- 7, // 0x7d '}'
- 0xe0,0x30,0x30,0x30,0x1c,0x30,0x30,0x30,0xe0,0x00,0x00,
-
- 7, // 0x7e '~'
- 0x00,0x34,0x58,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 7, // 0x7f ''
- 0x00,0x00,0x00,0x30,0x78,0xcc,0xcc,0xfc,0x00,0x00,0x00,
- 0
- };
-
- const int8u gse7x15[] =
- {
- 15, 0, 32, 128-32,
-
- 0x00,0x00,0x10,0x00,0x20,0x00,0x30,0x00,0x40,0x00,0x50,0x00,0x60,0x00,0x70,0x00,0x80,0x00,
- 0x90,0x00,0xa0,0x00,0xb0,0x00,0xc0,0x00,0xd0,0x00,0xe0,0x00,0xf0,0x00,0x00,0x01,0x10,0x01,
- 0x20,0x01,0x30,0x01,0x40,0x01,0x50,0x01,0x60,0x01,0x70,0x01,0x80,0x01,0x90,0x01,0xa0,0x01,
- 0xb0,0x01,0xc0,0x01,0xd0,0x01,0xe0,0x01,0xf0,0x01,0x00,0x02,0x10,0x02,0x20,0x02,0x30,0x02,
- 0x40,0x02,0x50,0x02,0x60,0x02,0x70,0x02,0x80,0x02,0x90,0x02,0xa0,0x02,0xb0,0x02,0xc0,0x02,
- 0xd0,0x02,0xe0,0x02,0xf0,0x02,0x00,0x03,0x10,0x03,0x20,0x03,0x30,0x03,0x40,0x03,0x50,0x03,
- 0x60,0x03,0x70,0x03,0x80,0x03,0x90,0x03,0xa0,0x03,0xb0,0x03,0xc0,0x03,0xd0,0x03,0xe0,0x03,
- 0xf0,0x03,0x00,0x04,0x10,0x04,0x20,0x04,0x30,0x04,0x40,0x04,0x50,0x04,0x60,0x04,0x70,0x04,
- 0x80,0x04,0x90,0x04,0xa0,0x04,0xb0,0x04,0xc0,0x04,0xd0,0x04,0xe0,0x04,0xf0,0x04,0x00,0x05,
- 0x10,0x05,0x20,0x05,0x30,0x05,0x40,0x05,0x50,0x05,0x60,0x05,0x70,0x05,0x80,0x05,0x90,0x05,
- 0xa0,0x05,0xb0,0x05,0xc0,0x05,0xd0,0x05,0xe0,0x05,0xf0,0x05,
-
- 7, // 0x20 ' '
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 7, // 0x21 '!'
- 0x00,0x00,0x10,0x38,0x38,0x38,0x38,0x10,0x10,0x00,0x10,0x10,0x00,0x00,0x00,
-
- 7, // 0x22 '"'
- 0x00,0x00,0x24,0x24,0x24,0x24,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 7, // 0x23 '#'
- 0x00,0x00,0x48,0x48,0x48,0xfc,0x48,0x48,0xfc,0x48,0x48,0x48,0x00,0x00,0x00,
-
- 7, // 0x24 '$'
- 0x00,0x00,0x10,0x38,0x54,0x50,0x38,0x14,0x54,0x54,0x38,0x10,0x00,0x00,0x00,
-
- 7, // 0x25 '%'
- 0x00,0x00,0x44,0x44,0x08,0x08,0x10,0x10,0x20,0x20,0x44,0x44,0x00,0x00,0x00,
-
- 7, // 0x26 '&'
- 0x00,0x00,0x00,0x30,0x48,0x48,0x30,0x60,0x94,0x98,0x90,0x6c,0x00,0x00,0x00,
-
- 7, // 0x27 '''
- 0x00,0x00,0x20,0x20,0x20,0x40,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 7, // 0x28 '('
- 0x00,0x04,0x08,0x10,0x20,0x20,0x20,0x20,0x20,0x10,0x08,0x04,0x00,0x00,0x00,
-
- 7, // 0x29 ')'
- 0x00,0x40,0x20,0x10,0x08,0x08,0x08,0x08,0x08,0x10,0x20,0x40,0x00,0x00,0x00,
-
- 7, // 0x2a '*'
- 0x00,0x00,0x00,0x00,0x00,0x20,0xa8,0x70,0xa8,0x20,0x00,0x00,0x00,0x00,0x00,
-
- 7, // 0x2b '+'
- 0x00,0x00,0x00,0x00,0x10,0x10,0x10,0x7c,0x10,0x10,0x10,0x00,0x00,0x00,0x00,
-
- 7, // 0x2c ','
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x30,0x30,0x60,0x00,
-
- 7, // 0x2d '-'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xfc,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 7, // 0x2e '.'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x30,0x00,0x00,0x00,
-
- 7, // 0x2f '/'
- 0x00,0x00,0x04,0x04,0x08,0x08,0x10,0x10,0x20,0x20,0x40,0x40,0x00,0x00,0x00,
-
- 7, // 0x30 '0'
- 0x00,0x00,0x38,0x44,0x44,0x4c,0x54,0x64,0x44,0x44,0x44,0x38,0x00,0x00,0x00,
-
- 7, // 0x31 '1'
- 0x00,0x00,0x10,0x10,0x30,0x10,0x10,0x10,0x10,0x10,0x10,0x7c,0x00,0x00,0x00,
-
- 7, // 0x32 '2'
- 0x00,0x00,0x38,0x44,0x44,0x04,0x08,0x10,0x20,0x40,0x44,0x7c,0x00,0x00,0x00,
-
- 7, // 0x33 '3'
- 0x00,0x00,0x7c,0x44,0x08,0x10,0x38,0x04,0x04,0x04,0x44,0x38,0x00,0x00,0x00,
-
- 7, // 0x34 '4'
- 0x00,0x00,0x08,0x10,0x20,0x40,0x48,0x48,0x7c,0x08,0x08,0x1c,0x00,0x00,0x00,
-
- 7, // 0x35 '5'
- 0x00,0x00,0x7c,0x40,0x40,0x40,0x78,0x04,0x04,0x04,0x44,0x38,0x00,0x00,0x00,
-
- 7, // 0x36 '6'
- 0x00,0x00,0x18,0x20,0x40,0x40,0x78,0x44,0x44,0x44,0x44,0x38,0x00,0x00,0x00,
-
- 7, // 0x37 '7'
- 0x00,0x00,0x7c,0x44,0x04,0x04,0x08,0x08,0x10,0x10,0x10,0x10,0x00,0x00,0x00,
-
- 7, // 0x38 '8'
- 0x00,0x00,0x38,0x44,0x44,0x44,0x38,0x44,0x44,0x44,0x44,0x38,0x00,0x00,0x00,
-
- 7, // 0x39 '9'
- 0x00,0x00,0x38,0x44,0x44,0x44,0x44,0x3c,0x04,0x04,0x08,0x30,0x00,0x00,0x00,
-
- 7, // 0x3a ':'
- 0x00,0x00,0x00,0x00,0x00,0x30,0x00,0x00,0x00,0x00,0x30,0x00,0x00,0x00,0x00,
-
- 7, // 0x3b ';'
- 0x00,0x00,0x00,0x00,0x00,0x30,0x00,0x00,0x00,0x00,0x30,0x30,0x60,0x00,0x00,
-
- 7, // 0x3c '<'
- 0x00,0x00,0x00,0x04,0x08,0x10,0x20,0x40,0x20,0x10,0x08,0x04,0x00,0x00,0x00,
-
- 7, // 0x3d '='
- 0x00,0x00,0x00,0x00,0x00,0xfc,0x00,0xfc,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 7, // 0x3e '>'
- 0x00,0x00,0x00,0x40,0x20,0x10,0x08,0x04,0x08,0x10,0x20,0x40,0x00,0x00,0x00,
-
- 7, // 0x3f '?'
- 0x00,0x00,0x78,0x84,0x84,0x84,0x08,0x10,0x20,0x20,0x00,0x20,0x00,0x00,0x00,
-
- 7, // 0x40 '@'
- 0x00,0x00,0x00,0x30,0x48,0x04,0x34,0x54,0x54,0x54,0x54,0x28,0x00,0x00,0x00,
-
- 7, // 0x41 'A'
- 0x00,0x00,0x10,0x28,0x44,0x44,0x44,0x7c,0x44,0x44,0x44,0x44,0x00,0x00,0x00,
-
- 7, // 0x42 'B'
- 0x00,0x00,0x78,0x44,0x44,0x44,0x78,0x44,0x44,0x44,0x44,0x78,0x00,0x00,0x00,
-
- 7, // 0x43 'C'
- 0x00,0x00,0x38,0x44,0x44,0x40,0x40,0x40,0x40,0x44,0x44,0x38,0x00,0x00,0x00,
-
- 7, // 0x44 'D'
- 0x00,0x00,0x70,0x48,0x44,0x44,0x44,0x44,0x44,0x44,0x48,0x70,0x00,0x00,0x00,
-
- 7, // 0x45 'E'
- 0x00,0x00,0x7c,0x40,0x40,0x40,0x70,0x40,0x40,0x40,0x40,0x7c,0x00,0x00,0x00,
-
- 7, // 0x46 'F'
- 0x00,0x00,0x7c,0x40,0x40,0x40,0x70,0x40,0x40,0x40,0x40,0x40,0x00,0x00,0x00,
-
- 7, // 0x47 'G'
- 0x00,0x00,0x38,0x44,0x40,0x40,0x40,0x5c,0x44,0x44,0x44,0x38,0x00,0x00,0x00,
-
- 7, // 0x48 'H'
- 0x00,0x00,0x44,0x44,0x44,0x44,0x7c,0x44,0x44,0x44,0x44,0x44,0x00,0x00,0x00,
-
- 7, // 0x49 'I'
- 0x00,0x00,0x38,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x38,0x00,0x00,0x00,
-
- 7, // 0x4a 'J'
- 0x00,0x00,0x1c,0x08,0x08,0x08,0x08,0x08,0x08,0x48,0x48,0x30,0x00,0x00,0x00,
-
- 7, // 0x4b 'K'
- 0x00,0x00,0x44,0x44,0x48,0x50,0x60,0x50,0x48,0x44,0x44,0x44,0x00,0x00,0x00,
-
- 7, // 0x4c 'L'
- 0x00,0x00,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x7c,0x00,0x00,0x00,
-
- 7, // 0x4d 'M'
- 0x00,0x00,0x44,0x6c,0x54,0x54,0x44,0x44,0x44,0x44,0x44,0x44,0x00,0x00,0x00,
-
- 7, // 0x4e 'N'
- 0x00,0x00,0x44,0x44,0x44,0x64,0x54,0x4c,0x44,0x44,0x44,0x44,0x00,0x00,0x00,
-
- 7, // 0x4f 'O'
- 0x00,0x00,0x38,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x38,0x00,0x00,0x00,
-
- 7, // 0x50 'P'
- 0x00,0x00,0x78,0x44,0x44,0x44,0x44,0x78,0x40,0x40,0x40,0x40,0x00,0x00,0x00,
-
- 7, // 0x51 'Q'
- 0x00,0x00,0x38,0x44,0x44,0x44,0x44,0x44,0x44,0x54,0x48,0x34,0x00,0x00,0x00,
-
- 7, // 0x52 'R'
- 0x00,0x00,0x78,0x44,0x44,0x44,0x44,0x78,0x50,0x48,0x44,0x44,0x00,0x00,0x00,
-
- 7, // 0x53 'S'
- 0x00,0x00,0x38,0x44,0x44,0x40,0x38,0x04,0x04,0x44,0x44,0x38,0x00,0x00,0x00,
-
- 7, // 0x54 'T'
- 0x00,0x00,0x7c,0x54,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x00,0x00,0x00,
-
- 7, // 0x55 'U'
- 0x00,0x00,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x38,0x00,0x00,0x00,
-
- 7, // 0x56 'V'
- 0x00,0x00,0x44,0x44,0x44,0x44,0x44,0x44,0x28,0x28,0x10,0x10,0x00,0x00,0x00,
-
- 7, // 0x57 'W'
- 0x00,0x00,0x44,0x44,0x44,0x44,0x44,0x44,0x54,0x54,0x6c,0x44,0x00,0x00,0x00,
-
- 7, // 0x58 'X'
- 0x00,0x00,0x44,0x44,0x44,0x28,0x10,0x28,0x44,0x44,0x44,0x44,0x00,0x00,0x00,
-
- 7, // 0x59 'Y'
- 0x00,0x00,0x44,0x44,0x44,0x44,0x28,0x10,0x10,0x10,0x10,0x38,0x00,0x00,0x00,
-
- 7, // 0x5a 'Z'
- 0x00,0x00,0x7c,0x04,0x04,0x08,0x10,0x20,0x40,0x40,0x40,0x7c,0x00,0x00,0x00,
-
- 7, // 0x5b '['
- 0x00,0x38,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x38,0x00,0x00,
-
- 7, // 0x5c '\'
- 0x00,0x00,0x40,0x40,0x20,0x20,0x10,0x10,0x08,0x08,0x04,0x04,0x00,0x00,0x00,
-
- 7, // 0x5d ']'
- 0x00,0x38,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x38,0x00,0x00,
-
- 7, // 0x5e '^'
- 0x00,0x10,0x28,0x44,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 7, // 0x5f '_'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xfc,0x00,0x00,0x00,
-
- 7, // 0x60 '`'
- 0x00,0x20,0x20,0x20,0x10,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 7, // 0x61 'a'
- 0x00,0x00,0x00,0x00,0x38,0x44,0x04,0x3c,0x44,0x44,0x44,0x3a,0x00,0x00,0x00,
-
- 7, // 0x62 'b'
- 0x00,0x00,0x40,0x40,0x40,0x78,0x44,0x44,0x44,0x44,0x44,0x78,0x00,0x00,0x00,
-
- 7, // 0x63 'c'
- 0x00,0x00,0x00,0x00,0x38,0x44,0x40,0x40,0x40,0x40,0x44,0x38,0x00,0x00,0x00,
-
- 7, // 0x64 'd'
- 0x00,0x00,0x04,0x04,0x04,0x3c,0x44,0x44,0x44,0x44,0x44,0x3a,0x00,0x00,0x00,
-
- 7, // 0x65 'e'
- 0x00,0x00,0x00,0x00,0x38,0x44,0x44,0x7c,0x40,0x40,0x44,0x38,0x00,0x00,0x00,
-
- 7, // 0x66 'f'
- 0x00,0x00,0x18,0x24,0x20,0x70,0x20,0x20,0x20,0x20,0x20,0x70,0x00,0x00,0x00,
-
- 7, // 0x67 'g'
- 0x00,0x00,0x00,0x00,0x3a,0x44,0x44,0x44,0x44,0x44,0x3c,0x04,0x44,0x38,0x00,
-
- 7, // 0x68 'h'
- 0x00,0x00,0x40,0x40,0x40,0x58,0x64,0x44,0x44,0x44,0x44,0x44,0x00,0x00,0x00,
-
- 7, // 0x69 'i'
- 0x00,0x00,0x10,0x10,0x00,0x30,0x10,0x10,0x10,0x10,0x10,0x38,0x00,0x00,0x00,
-
- 7, // 0x6a 'j'
- 0x00,0x00,0x08,0x08,0x00,0x18,0x08,0x08,0x08,0x08,0x08,0x48,0x48,0x30,0x00,
-
- 7, // 0x6b 'k'
- 0x00,0x00,0x40,0x40,0x44,0x44,0x48,0x50,0x60,0x50,0x48,0x44,0x00,0x00,0x00,
-
- 7, // 0x6c 'l'
- 0x00,0x00,0x30,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x38,0x00,0x00,0x00,
-
- 7, // 0x6d 'm'
- 0x00,0x00,0x00,0x00,0xa8,0x54,0x54,0x54,0x54,0x54,0x54,0x54,0x00,0x00,0x00,
-
- 7, // 0x6e 'n'
- 0x00,0x00,0x00,0x00,0xb8,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x00,0x00,0x00,
-
- 7, // 0x6f 'o'
- 0x00,0x00,0x00,0x00,0x38,0x44,0x44,0x44,0x44,0x44,0x44,0x38,0x00,0x00,0x00,
-
- 7, // 0x70 'p'
- 0x00,0x00,0x00,0x00,0x78,0x44,0x44,0x44,0x44,0x44,0x78,0x40,0x40,0x40,0x00,
-
- 7, // 0x71 'q'
- 0x00,0x00,0x00,0x00,0x3c,0x44,0x44,0x44,0x44,0x44,0x3c,0x04,0x04,0x04,0x00,
-
- 7, // 0x72 'r'
- 0x00,0x00,0x00,0x00,0x58,0x64,0x44,0x40,0x40,0x40,0x40,0x40,0x00,0x00,0x00,
-
- 7, // 0x73 's'
- 0x00,0x00,0x00,0x00,0x38,0x44,0x40,0x38,0x04,0x44,0x44,0x38,0x00,0x00,0x00,
-
- 7, // 0x74 't'
- 0x00,0x00,0x20,0x20,0x20,0x70,0x20,0x20,0x20,0x20,0x24,0x18,0x00,0x00,0x00,
-
- 7, // 0x75 'u'
- 0x00,0x00,0x00,0x00,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x3a,0x00,0x00,0x00,
-
- 7, // 0x76 'v'
- 0x00,0x00,0x00,0x00,0x44,0x44,0x44,0x44,0x28,0x28,0x10,0x10,0x00,0x00,0x00,
-
- 7, // 0x77 'w'
- 0x00,0x00,0x00,0x00,0x44,0x44,0x44,0x44,0x54,0x54,0x6c,0x44,0x00,0x00,0x00,
-
- 7, // 0x78 'x'
- 0x00,0x00,0x00,0x00,0x44,0x44,0x28,0x10,0x28,0x44,0x44,0x44,0x00,0x00,0x00,
-
- 7, // 0x79 'y'
- 0x00,0x00,0x00,0x00,0x44,0x44,0x44,0x44,0x44,0x44,0x3c,0x04,0x08,0x70,0x00,
-
- 7, // 0x7a 'z'
- 0x00,0x00,0x00,0x00,0x7c,0x04,0x08,0x10,0x20,0x40,0x40,0x7c,0x00,0x00,0x00,
-
- 7, // 0x7b '{'
- 0x00,0x0c,0x10,0x10,0x10,0x10,0x10,0x60,0x10,0x10,0x10,0x10,0x0c,0x00,0x00,
-
- 7, // 0x7c '|'
- 0x00,0x20,0x20,0x20,0x20,0x20,0x00,0x00,0x20,0x20,0x20,0x20,0x20,0x00,0x00,
-
- 7, // 0x7d '}'
- 0x00,0x60,0x10,0x10,0x10,0x10,0x10,0x0c,0x10,0x10,0x10,0x10,0x60,0x00,0x00,
-
- 7, // 0x7e '~'
- 0x00,0x00,0x64,0x98,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 7, // 0x7f ''
- 0x00,0x00,0x00,0x00,0x00,0x10,0x28,0x44,0x44,0x7c,0x00,0x00,0x00,0x00,0x00,
- 0
- };
-
- const int8u gse7x15_bold[] =
- {
- 15, 0, 32, 128-32,
-
- 0x00,0x00,0x10,0x00,0x20,0x00,0x30,0x00,0x40,0x00,0x50,0x00,0x60,0x00,0x70,0x00,0x80,0x00,
- 0x90,0x00,0xa0,0x00,0xb0,0x00,0xc0,0x00,0xd0,0x00,0xe0,0x00,0xf0,0x00,0x00,0x01,0x10,0x01,
- 0x20,0x01,0x30,0x01,0x40,0x01,0x50,0x01,0x60,0x01,0x70,0x01,0x80,0x01,0x90,0x01,0xa0,0x01,
- 0xb0,0x01,0xc0,0x01,0xd0,0x01,0xe0,0x01,0xf0,0x01,0x00,0x02,0x10,0x02,0x20,0x02,0x30,0x02,
- 0x40,0x02,0x50,0x02,0x60,0x02,0x70,0x02,0x80,0x02,0x90,0x02,0xa0,0x02,0xb0,0x02,0xc0,0x02,
- 0xd0,0x02,0xe0,0x02,0xf0,0x02,0x00,0x03,0x10,0x03,0x20,0x03,0x30,0x03,0x40,0x03,0x50,0x03,
- 0x60,0x03,0x70,0x03,0x80,0x03,0x90,0x03,0xa0,0x03,0xb0,0x03,0xc0,0x03,0xd0,0x03,0xe0,0x03,
- 0xf0,0x03,0x00,0x04,0x10,0x04,0x20,0x04,0x30,0x04,0x40,0x04,0x50,0x04,0x60,0x04,0x70,0x04,
- 0x80,0x04,0x90,0x04,0xa0,0x04,0xb0,0x04,0xc0,0x04,0xd0,0x04,0xe0,0x04,0xf0,0x04,0x00,0x05,
- 0x10,0x05,0x20,0x05,0x30,0x05,0x40,0x05,0x50,0x05,0x60,0x05,0x70,0x05,0x80,0x05,0x90,0x05,
- 0xa0,0x05,0xb0,0x05,0xc0,0x05,0xd0,0x05,0xe0,0x05,0xf0,0x05,
-
- 7, // 0x20 ' '
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 7, // 0x21 '!'
- 0x00,0x00,0x00,0x30,0x78,0x78,0x78,0x30,0x30,0x00,0x30,0x30,0x00,0x00,0x00,
-
- 7, // 0x22 '"'
- 0x00,0x00,0x6c,0x6c,0x6c,0x28,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 7, // 0x23 '#'
- 0x00,0x00,0x48,0x48,0x48,0xfc,0x48,0x48,0xfc,0x48,0x48,0x48,0x00,0x00,0x00,
-
- 7, // 0x24 '$'
- 0x00,0x30,0x30,0x78,0xcc,0xe0,0x70,0x38,0x1c,0xcc,0x78,0x30,0x30,0x00,0x00,
-
- 7, // 0x25 '%'
- 0x00,0x00,0x00,0x64,0x6c,0x08,0x18,0x10,0x30,0x20,0x6c,0x4c,0x00,0x00,0x00,
-
- 7, // 0x26 '&'
- 0x00,0x00,0x00,0x30,0x58,0x58,0x30,0x74,0xdc,0xd8,0xd8,0x6c,0x00,0x00,0x00,
-
- 7, // 0x27 '''
- 0x00,0x00,0x30,0x30,0x30,0x60,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 7, // 0x28 '('
- 0x00,0x0c,0x18,0x30,0x60,0x60,0x60,0x60,0x60,0x30,0x18,0x0c,0x00,0x00,0x00,
-
- 7, // 0x29 ')'
- 0x00,0xc0,0x60,0x30,0x18,0x18,0x18,0x18,0x18,0x30,0x60,0xc0,0x00,0x00,0x00,
-
- 7, // 0x2a '*'
- 0x00,0x00,0x00,0x00,0x00,0x20,0xa8,0x70,0xa8,0x20,0x00,0x00,0x00,0x00,0x00,
-
- 7, // 0x2b '+'
- 0x00,0x00,0x00,0x00,0x00,0x30,0x30,0xfc,0x30,0x30,0x00,0x00,0x00,0x00,0x00,
-
- 7, // 0x2c ','
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x30,0x30,0x60,0x00,
-
- 7, // 0x2d '-'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xfc,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 7, // 0x2e '.'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x30,0x00,0x00,0x00,
-
- 7, // 0x2f '/'
- 0x00,0x00,0x0c,0x0c,0x18,0x18,0x30,0x30,0x60,0x60,0xc0,0xc0,0x00,0x00,0x00,
-
- 7, // 0x30 '0'
- 0x00,0x00,0x78,0xcc,0xcc,0xcc,0xdc,0xec,0xcc,0xcc,0xcc,0x78,0x00,0x00,0x00,
-
- 7, // 0x31 '1'
- 0x00,0x00,0x30,0x30,0x70,0xf0,0x30,0x30,0x30,0x30,0x30,0xfc,0x00,0x00,0x00,
-
- 7, // 0x32 '2'
- 0x00,0x00,0x78,0xcc,0xcc,0x0c,0x18,0x30,0x60,0xc0,0xcc,0xfc,0x00,0x00,0x00,
-
- 7, // 0x33 '3'
- 0x00,0x00,0xfc,0x8c,0x18,0x30,0x78,0x0c,0x0c,0x0c,0xcc,0x78,0x00,0x00,0x00,
-
- 7, // 0x34 '4'
- 0x00,0x00,0x18,0x30,0x60,0xc8,0xd8,0xd8,0xfc,0x18,0x18,0x3c,0x00,0x00,0x00,
-
- 7, // 0x35 '5'
- 0x00,0x00,0xfc,0xc0,0xc0,0xc0,0xf8,0x0c,0x0c,0x0c,0xcc,0x78,0x00,0x00,0x00,
-
- 7, // 0x36 '6'
- 0x00,0x00,0x38,0x60,0xc0,0xc0,0xf8,0xcc,0xcc,0xcc,0xcc,0x78,0x00,0x00,0x00,
-
- 7, // 0x37 '7'
- 0x00,0x00,0xfc,0x8c,0x0c,0x0c,0x18,0x18,0x30,0x30,0x30,0x30,0x00,0x00,0x00,
-
- 7, // 0x38 '8'
- 0x00,0x00,0x78,0xcc,0xcc,0xcc,0x78,0xcc,0xcc,0xcc,0xcc,0x78,0x00,0x00,0x00,
-
- 7, // 0x39 '9'
- 0x00,0x00,0x78,0xcc,0xcc,0xcc,0xcc,0x7c,0x0c,0x0c,0x18,0x70,0x00,0x00,0x00,
-
- 7, // 0x3a ':'
- 0x00,0x00,0x00,0x00,0x30,0x30,0x00,0x00,0x00,0x30,0x30,0x00,0x00,0x00,0x00,
-
- 7, // 0x3b ';'
- 0x00,0x00,0x00,0x00,0x30,0x30,0x00,0x00,0x00,0x00,0x30,0x30,0x30,0x60,0x00,
-
- 7, // 0x3c '<'
- 0x00,0x00,0x00,0x0c,0x18,0x30,0x60,0xc0,0x60,0x30,0x18,0x0c,0x00,0x00,0x00,
-
- 7, // 0x3d '='
- 0x00,0x00,0x00,0x00,0x00,0x00,0xfc,0x00,0xfc,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 7, // 0x3e '>'
- 0x00,0x00,0x00,0xc0,0x60,0x30,0x18,0x0c,0x18,0x30,0x60,0xc0,0x00,0x00,0x00,
-
- 7, // 0x3f '?'
- 0x00,0x00,0x78,0xcc,0xcc,0x18,0x30,0x30,0x30,0x00,0x30,0x30,0x00,0x00,0x00,
-
- 7, // 0x40 '@'
- 0x00,0x00,0x00,0x70,0x88,0x04,0x74,0xb4,0xb4,0xb4,0xb4,0x68,0x00,0x00,0x00,
-
- 7, // 0x41 'A'
- 0x00,0x00,0x30,0x78,0xcc,0xcc,0xcc,0xfc,0xcc,0xcc,0xcc,0xcc,0x00,0x00,0x00,
-
- 7, // 0x42 'B'
- 0x00,0x00,0xf8,0xcc,0xcc,0xcc,0xf8,0xcc,0xcc,0xcc,0xcc,0xf8,0x00,0x00,0x00,
-
- 7, // 0x43 'C'
- 0x00,0x00,0x78,0xcc,0xc4,0xc0,0xc0,0xc0,0xc0,0xc4,0xcc,0x78,0x00,0x00,0x00,
-
- 7, // 0x44 'D'
- 0x00,0x00,0xf0,0xd8,0xcc,0xcc,0xcc,0xcc,0xcc,0xcc,0xd8,0xf0,0x00,0x00,0x00,
-
- 7, // 0x45 'E'
- 0x00,0x00,0xfc,0xc4,0xc0,0xd0,0xf0,0xd0,0xc0,0xc0,0xc4,0xfc,0x00,0x00,0x00,
-
- 7, // 0x46 'F'
- 0x00,0x00,0xfc,0xc4,0xc0,0xd0,0xf0,0xd0,0xc0,0xc0,0xc0,0xc0,0x00,0x00,0x00,
-
- 7, // 0x47 'G'
- 0x00,0x00,0x78,0xcc,0xc0,0xc0,0xc0,0xdc,0xcc,0xcc,0xcc,0x78,0x00,0x00,0x00,
-
- 7, // 0x48 'H'
- 0x00,0x00,0xcc,0xcc,0xcc,0xcc,0xfc,0xcc,0xcc,0xcc,0xcc,0xcc,0x00,0x00,0x00,
-
- 7, // 0x49 'I'
- 0x00,0x00,0x78,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x78,0x00,0x00,0x00,
-
- 7, // 0x4a 'J'
- 0x00,0x00,0x3c,0x18,0x18,0x18,0x18,0x18,0x18,0xd8,0xd8,0x70,0x00,0x00,0x00,
-
- 7, // 0x4b 'K'
- 0x00,0x00,0xcc,0xcc,0xd8,0xd8,0xf0,0xd8,0xd8,0xcc,0xcc,0xcc,0x00,0x00,0x00,
-
- 7, // 0x4c 'L'
- 0x00,0x00,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc4,0xfc,0x00,0x00,0x00,
-
- 7, // 0x4d 'M'
- 0x00,0x00,0x84,0xcc,0xfc,0xb4,0xcc,0xcc,0xcc,0xcc,0xcc,0xcc,0x00,0x00,0x00,
-
- 7, // 0x4e 'N'
- 0x00,0x00,0xcc,0xcc,0xcc,0xec,0xfc,0xdc,0xcc,0xcc,0xcc,0xcc,0x00,0x00,0x00,
-
- 7, // 0x4f 'O'
- 0x00,0x00,0x78,0xcc,0xcc,0xcc,0xcc,0xcc,0xcc,0xcc,0xcc,0x78,0x00,0x00,0x00,
-
- 7, // 0x50 'P'
- 0x00,0x00,0xf8,0xcc,0xcc,0xcc,0xcc,0xf8,0xc0,0xc0,0xc0,0xc0,0x00,0x00,0x00,
-
- 7, // 0x51 'Q'
- 0x00,0x00,0x78,0xcc,0xcc,0xcc,0xcc,0xcc,0xcc,0xdc,0x78,0x18,0x0c,0x00,0x00,
-
- 7, // 0x52 'R'
- 0x00,0x00,0xf8,0xcc,0xcc,0xcc,0xcc,0xf8,0xd8,0xcc,0xcc,0xcc,0x00,0x00,0x00,
-
- 7, // 0x53 'S'
- 0x00,0x00,0x78,0xcc,0xcc,0xe0,0x70,0x38,0x1c,0xcc,0xcc,0x78,0x00,0x00,0x00,
-
- 7, // 0x54 'T'
- 0x00,0x00,0xfc,0xb4,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x00,0x00,0x00,
-
- 7, // 0x55 'U'
- 0x00,0x00,0xcc,0xcc,0xcc,0xcc,0xcc,0xcc,0xcc,0xcc,0xcc,0x78,0x00,0x00,0x00,
-
- 7, // 0x56 'V'
- 0x00,0x00,0xcc,0xcc,0xcc,0xcc,0xcc,0xcc,0xcc,0xcc,0x78,0x30,0x00,0x00,0x00,
-
- 7, // 0x57 'W'
- 0x00,0x00,0xcc,0xcc,0xcc,0xcc,0xcc,0xcc,0xb4,0xfc,0xcc,0x84,0x00,0x00,0x00,
-
- 7, // 0x58 'X'
- 0x00,0x00,0xcc,0xcc,0xcc,0x78,0x30,0x78,0xcc,0xcc,0xcc,0xcc,0x00,0x00,0x00,
-
- 7, // 0x59 'Y'
- 0x00,0x00,0xcc,0xcc,0xcc,0xcc,0x78,0x30,0x30,0x30,0x30,0x78,0x00,0x00,0x00,
-
- 7, // 0x5a 'Z'
- 0x00,0x00,0xfc,0x8c,0x0c,0x18,0x30,0x60,0xc0,0xc0,0xc4,0xfc,0x00,0x00,0x00,
-
- 7, // 0x5b '['
- 0x00,0x78,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x78,0x00,0x00,
-
- 7, // 0x5c '\'
- 0x00,0x00,0xc0,0xc0,0x60,0x60,0x30,0x30,0x18,0x18,0x0c,0x0c,0x00,0x00,0x00,
-
- 7, // 0x5d ']'
- 0x00,0x78,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x78,0x00,0x00,
-
- 7, // 0x5e '^'
- 0x00,0x10,0x38,0x6c,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 7, // 0x5f '_'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xfc,0x00,0x00,0x00,
-
- 7, // 0x60 '`'
- 0x00,0x30,0x30,0x30,0x18,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 7, // 0x61 'a'
- 0x00,0x00,0x00,0x00,0x70,0xd8,0x18,0x78,0xd8,0xd8,0xd8,0x6c,0x00,0x00,0x00,
-
- 7, // 0x62 'b'
- 0x00,0x00,0x60,0x60,0x60,0x78,0x6c,0x6c,0x6c,0x6c,0x6c,0x78,0x00,0x00,0x00,
-
- 7, // 0x63 'c'
- 0x00,0x00,0x00,0x00,0x78,0xcc,0xc0,0xc0,0xc0,0xc0,0xcc,0x78,0x00,0x00,0x00,
-
- 7, // 0x64 'd'
- 0x00,0x00,0x18,0x18,0x18,0x78,0xd8,0xd8,0xd8,0xd8,0xd8,0x6c,0x00,0x00,0x00,
-
- 7, // 0x65 'e'
- 0x00,0x00,0x00,0x00,0x78,0xcc,0xcc,0xfc,0xc0,0xc0,0xcc,0x78,0x00,0x00,0x00,
-
- 7, // 0x66 'f'
- 0x00,0x00,0x30,0x68,0x60,0x60,0xf0,0x60,0x60,0x60,0x60,0xf0,0x00,0x00,0x00,
-
- 7, // 0x67 'g'
- 0x00,0x00,0x00,0x00,0x6c,0xd8,0xd8,0xd8,0xd8,0xd8,0x78,0x18,0xd8,0x70,0x00,
-
- 7, // 0x68 'h'
- 0x00,0x00,0xc0,0xc0,0xc0,0xd8,0xec,0xcc,0xcc,0xcc,0xcc,0xcc,0x00,0x00,0x00,
-
- 7, // 0x69 'i'
- 0x00,0x00,0x30,0x30,0x00,0x70,0x30,0x30,0x30,0x30,0x30,0x78,0x00,0x00,0x00,
-
- 7, // 0x6a 'j'
- 0x00,0x00,0x18,0x18,0x00,0x38,0x18,0x18,0x18,0x18,0x18,0xd8,0xd8,0x70,0x00,
-
- 7, // 0x6b 'k'
- 0x00,0x00,0xc0,0xc0,0xcc,0xcc,0xcc,0xd8,0xf0,0xd8,0xcc,0xcc,0x00,0x00,0x00,
-
- 7, // 0x6c 'l'
- 0x00,0x00,0x70,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x78,0x00,0x00,0x00,
-
- 7, // 0x6d 'm'
- 0x00,0x00,0x00,0x00,0xe8,0xfc,0xd4,0xd4,0xd4,0xc4,0xc4,0xc4,0x00,0x00,0x00,
-
- 7, // 0x6e 'n'
- 0x00,0x00,0x00,0x00,0xd8,0x6c,0x6c,0x6c,0x6c,0x6c,0x6c,0x6c,0x00,0x00,0x00,
-
- 7, // 0x6f 'o'
- 0x00,0x00,0x00,0x00,0x78,0xcc,0xcc,0xcc,0xcc,0xcc,0xcc,0x78,0x00,0x00,0x00,
-
- 7, // 0x70 'p'
- 0x00,0x00,0x00,0x00,0xf8,0xcc,0xcc,0xcc,0xcc,0xcc,0xf8,0xc0,0xc0,0xc0,0x00,
-
- 7, // 0x71 'q'
- 0x00,0x00,0x00,0x00,0x7c,0xcc,0xcc,0xcc,0xcc,0xcc,0x7c,0x0c,0x0c,0x0c,0x00,
-
- 7, // 0x72 'r'
- 0x00,0x00,0x00,0x00,0xd8,0xec,0xcc,0xc0,0xc0,0xc0,0xc0,0xc0,0x00,0x00,0x00,
-
- 7, // 0x73 's'
- 0x00,0x00,0x00,0x00,0x78,0xcc,0xe0,0x70,0x38,0x1c,0xcc,0x78,0x00,0x00,0x00,
-
- 7, // 0x74 't'
- 0x00,0x00,0x20,0x60,0x60,0xf0,0x60,0x60,0x60,0x60,0x6c,0x38,0x00,0x00,0x00,
-
- 7, // 0x75 'u'
- 0x00,0x00,0x00,0x00,0xd8,0xd8,0xd8,0xd8,0xd8,0xd8,0xd8,0x6c,0x00,0x00,0x00,
-
- 7, // 0x76 'v'
- 0x00,0x00,0x00,0x00,0xcc,0xcc,0xcc,0xcc,0xcc,0xcc,0x78,0x30,0x00,0x00,0x00,
-
- 7, // 0x77 'w'
- 0x00,0x00,0x00,0x00,0xcc,0xcc,0xcc,0xcc,0xb4,0xfc,0xcc,0x84,0x00,0x00,0x00,
-
- 7, // 0x78 'x'
- 0x00,0x00,0x00,0x00,0xcc,0xcc,0x78,0x30,0x78,0xcc,0xcc,0xcc,0x00,0x00,0x00,
-
- 7, // 0x79 'y'
- 0x00,0x00,0x00,0x00,0xcc,0xcc,0xcc,0xcc,0xcc,0xcc,0x7c,0x0c,0x18,0xf0,0x00,
-
- 7, // 0x7a 'z'
- 0x00,0x00,0x00,0x00,0xfc,0x8c,0x18,0x30,0x60,0xc0,0xc4,0xfc,0x00,0x00,0x00,
-
- 7, // 0x7b '{'
- 0x00,0x1c,0x30,0x30,0x30,0x30,0x30,0xe0,0x30,0x30,0x30,0x30,0x1c,0x00,0x00,
-
- 7, // 0x7c '|'
- 0x00,0x30,0x30,0x30,0x30,0x30,0x00,0x00,0x30,0x30,0x30,0x30,0x30,0x00,0x00,
-
- 7, // 0x7d '}'
- 0x00,0xe0,0x30,0x30,0x30,0x30,0x30,0x1c,0x30,0x30,0x30,0x30,0xe0,0x00,0x00,
-
- 7, // 0x7e '~'
- 0x00,0x00,0x34,0x58,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 7, // 0x7f ''
- 0x00,0x00,0x00,0x00,0x00,0x30,0x78,0xcc,0xcc,0xfc,0x00,0x00,0x00,0x00,0x00,
- 0
- };
-
- const int8u gse8x16[] =
- {
- 16, 0, 32, 128-32,
-
- 0x00,0x00,0x11,0x00,0x22,0x00,0x33,0x00,0x44,0x00,0x55,0x00,0x66,0x00,0x77,0x00,0x88,0x00,
- 0x99,0x00,0xaa,0x00,0xbb,0x00,0xcc,0x00,0xdd,0x00,0xee,0x00,0xff,0x00,0x10,0x01,0x21,0x01,
- 0x32,0x01,0x43,0x01,0x54,0x01,0x65,0x01,0x76,0x01,0x87,0x01,0x98,0x01,0xa9,0x01,0xba,0x01,
- 0xcb,0x01,0xdc,0x01,0xed,0x01,0xfe,0x01,0x0f,0x02,0x20,0x02,0x31,0x02,0x42,0x02,0x53,0x02,
- 0x64,0x02,0x75,0x02,0x86,0x02,0x97,0x02,0xa8,0x02,0xb9,0x02,0xca,0x02,0xdb,0x02,0xec,0x02,
- 0xfd,0x02,0x0e,0x03,0x1f,0x03,0x30,0x03,0x41,0x03,0x52,0x03,0x63,0x03,0x74,0x03,0x85,0x03,
- 0x96,0x03,0xa7,0x03,0xb8,0x03,0xc9,0x03,0xda,0x03,0xeb,0x03,0xfc,0x03,0x0d,0x04,0x1e,0x04,
- 0x2f,0x04,0x40,0x04,0x51,0x04,0x62,0x04,0x73,0x04,0x84,0x04,0x95,0x04,0xa6,0x04,0xb7,0x04,
- 0xc8,0x04,0xd9,0x04,0xea,0x04,0xfb,0x04,0x0c,0x05,0x1d,0x05,0x2e,0x05,0x3f,0x05,0x50,0x05,
- 0x61,0x05,0x72,0x05,0x83,0x05,0x94,0x05,0xa5,0x05,0xb6,0x05,0xc7,0x05,0xd8,0x05,0xe9,0x05,
- 0xfa,0x05,0x0b,0x06,0x1c,0x06,0x2d,0x06,0x3e,0x06,0x4f,0x06,
-
- 8, // 0x20 ' '
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 8, // 0x21 '!'
- 0x00,0x00,0x10,0x38,0x38,0x38,0x38,0x10,0x10,0x00,0x10,0x10,0x00,0x00,0x00,0x00,
-
- 8, // 0x22 '"'
- 0x00,0x24,0x24,0x24,0x24,0x48,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 8, // 0x23 '#'
- 0x00,0x00,0x24,0x24,0x24,0x7e,0x24,0x24,0x7e,0x24,0x24,0x24,0x00,0x00,0x00,0x00,
-
- 8, // 0x24 '$'
- 0x00,0x14,0x14,0x3e,0x55,0x54,0x54,0x3e,0x15,0x15,0x55,0x3e,0x14,0x14,0x00,0x00,
-
- 8, // 0x25 '%'
- 0x00,0x00,0x32,0x56,0x6c,0x04,0x08,0x08,0x10,0x13,0x25,0x26,0x00,0x00,0x00,0x00,
-
- 8, // 0x26 '&'
- 0x00,0x00,0x18,0x24,0x24,0x24,0x18,0x28,0x45,0x46,0x44,0x3b,0x00,0x00,0x00,0x00,
-
- 8, // 0x27 '''
- 0x00,0x00,0x08,0x08,0x08,0x10,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 8, // 0x28 '('
- 0x00,0x04,0x08,0x10,0x10,0x20,0x20,0x20,0x20,0x10,0x10,0x08,0x04,0x00,0x00,0x00,
-
- 8, // 0x29 ')'
- 0x00,0x10,0x08,0x04,0x04,0x02,0x02,0x02,0x02,0x04,0x04,0x08,0x10,0x00,0x00,0x00,
-
- 8, // 0x2a '*'
- 0x00,0x00,0x00,0x00,0x66,0x24,0x18,0xff,0x18,0x24,0x66,0x00,0x00,0x00,0x00,0x00,
-
- 8, // 0x2b '+'
- 0x00,0x00,0x00,0x00,0x08,0x08,0x08,0x7f,0x08,0x08,0x08,0x00,0x00,0x00,0x00,0x00,
-
- 8, // 0x2c ','
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x18,0x18,0x18,0x30,0x20,0x00,
-
- 8, // 0x2d '-'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 8, // 0x2e '.'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x18,0x18,0x00,0x00,0x00,0x00,
-
- 8, // 0x2f '/'
- 0x00,0x02,0x02,0x04,0x04,0x08,0x08,0x10,0x10,0x20,0x20,0x40,0x40,0x00,0x00,0x00,
-
- 8, // 0x30 '0'
- 0x00,0x00,0x3c,0x42,0x42,0x46,0x4a,0x52,0x62,0x42,0x42,0x3c,0x00,0x00,0x00,0x00,
-
- 8, // 0x31 '1'
- 0x00,0x00,0x08,0x08,0x18,0x38,0x08,0x08,0x08,0x08,0x08,0x3e,0x00,0x00,0x00,0x00,
-
- 8, // 0x32 '2'
- 0x00,0x00,0x3c,0x42,0x42,0x02,0x04,0x08,0x10,0x20,0x42,0x7e,0x00,0x00,0x00,0x00,
-
- 8, // 0x33 '3'
- 0x00,0x00,0x7e,0x42,0x04,0x08,0x1c,0x02,0x02,0x02,0x42,0x3c,0x00,0x00,0x00,0x00,
-
- 8, // 0x34 '4'
- 0x00,0x00,0x04,0x08,0x10,0x24,0x44,0x44,0x7e,0x04,0x04,0x0e,0x00,0x00,0x00,0x00,
-
- 8, // 0x35 '5'
- 0x00,0x00,0x7e,0x42,0x40,0x40,0x7c,0x02,0x02,0x02,0x42,0x3c,0x00,0x00,0x00,0x00,
-
- 8, // 0x36 '6'
- 0x00,0x00,0x1c,0x20,0x40,0x40,0x7c,0x42,0x42,0x42,0x42,0x3c,0x00,0x00,0x00,0x00,
-
- 8, // 0x37 '7'
- 0x00,0x00,0x7e,0x42,0x42,0x02,0x04,0x08,0x10,0x10,0x10,0x10,0x00,0x00,0x00,0x00,
-
- 8, // 0x38 '8'
- 0x00,0x00,0x3c,0x42,0x42,0x42,0x3c,0x42,0x42,0x42,0x42,0x3c,0x00,0x00,0x00,0x00,
-
- 8, // 0x39 '9'
- 0x00,0x00,0x3c,0x42,0x42,0x42,0x42,0x3e,0x02,0x02,0x04,0x38,0x00,0x00,0x00,0x00,
-
- 8, // 0x3a ':'
- 0x00,0x00,0x00,0x00,0x18,0x00,0x00,0x00,0x00,0x18,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 8, // 0x3b ';'
- 0x00,0x00,0x00,0x00,0x30,0x00,0x00,0x00,0x00,0x00,0x30,0x30,0x30,0x60,0x40,0x00,
-
- 8, // 0x3c '<'
- 0x00,0x00,0x00,0x02,0x04,0x08,0x10,0x20,0x10,0x08,0x04,0x02,0x00,0x00,0x00,0x00,
-
- 8, // 0x3d '='
- 0x00,0x00,0x00,0x00,0x00,0x00,0x7f,0x00,0x7f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 8, // 0x3e '>'
- 0x00,0x00,0x00,0x20,0x10,0x08,0x04,0x02,0x04,0x08,0x10,0x20,0x00,0x00,0x00,0x00,
-
- 8, // 0x3f '?'
- 0x00,0x00,0x3c,0x42,0x42,0x42,0x04,0x08,0x08,0x00,0x08,0x08,0x00,0x00,0x00,0x00,
-
- 8, // 0x40 '@'
- 0x00,0x00,0x3c,0x42,0x01,0x39,0x49,0x49,0x49,0x49,0x49,0x36,0x00,0x00,0x00,0x00,
-
- 8, // 0x41 'A'
- 0x00,0x00,0x18,0x24,0x42,0x42,0x42,0x7e,0x42,0x42,0x42,0x42,0x00,0x00,0x00,0x00,
-
- 8, // 0x42 'B'
- 0x00,0x00,0x7c,0x22,0x22,0x22,0x3c,0x22,0x22,0x22,0x22,0x7c,0x00,0x00,0x00,0x00,
-
- 8, // 0x43 'C'
- 0x00,0x00,0x3c,0x42,0x42,0x40,0x40,0x40,0x40,0x42,0x42,0x3c,0x00,0x00,0x00,0x00,
-
- 8, // 0x44 'D'
- 0x00,0x00,0x7c,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x7c,0x00,0x00,0x00,0x00,
-
- 8, // 0x45 'E'
- 0x00,0x00,0x7e,0x22,0x20,0x28,0x38,0x28,0x20,0x20,0x22,0x7e,0x00,0x00,0x00,0x00,
-
- 8, // 0x46 'F'
- 0x00,0x00,0x7e,0x22,0x20,0x28,0x38,0x28,0x20,0x20,0x20,0x70,0x00,0x00,0x00,0x00,
-
- 8, // 0x47 'G'
- 0x00,0x00,0x3c,0x42,0x42,0x40,0x40,0x4e,0x42,0x42,0x42,0x3c,0x00,0x00,0x00,0x00,
-
- 8, // 0x48 'H'
- 0x00,0x00,0x42,0x42,0x42,0x42,0x7e,0x42,0x42,0x42,0x42,0x42,0x00,0x00,0x00,0x00,
-
- 8, // 0x49 'I'
- 0x00,0x00,0x1c,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x1c,0x00,0x00,0x00,0x00,
-
- 8, // 0x4a 'J'
- 0x00,0x00,0x0e,0x04,0x04,0x04,0x04,0x04,0x04,0x44,0x44,0x38,0x00,0x00,0x00,0x00,
-
- 8, // 0x4b 'K'
- 0x00,0x00,0x62,0x22,0x24,0x28,0x30,0x28,0x24,0x22,0x22,0x62,0x00,0x00,0x00,0x00,
-
- 8, // 0x4c 'L'
- 0x00,0x00,0x70,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x7e,0x00,0x00,0x00,0x00,
-
- 8, // 0x4d 'M'
- 0x00,0x00,0x41,0x63,0x55,0x49,0x41,0x41,0x41,0x41,0x41,0x41,0x00,0x00,0x00,0x00,
-
- 8, // 0x4e 'N'
- 0x00,0x00,0x42,0x42,0x62,0x52,0x4a,0x46,0x42,0x42,0x42,0x42,0x00,0x00,0x00,0x00,
-
- 8, // 0x4f 'O'
- 0x00,0x00,0x3c,0x42,0x42,0x42,0x42,0x42,0x42,0x42,0x42,0x3c,0x00,0x00,0x00,0x00,
-
- 8, // 0x50 'P'
- 0x00,0x00,0x7c,0x22,0x22,0x22,0x22,0x3c,0x20,0x20,0x20,0x70,0x00,0x00,0x00,0x00,
-
- 8, // 0x51 'Q'
- 0x00,0x00,0x3c,0x42,0x42,0x42,0x42,0x42,0x42,0x4a,0x44,0x3a,0x02,0x00,0x00,0x00,
-
- 8, // 0x52 'R'
- 0x00,0x00,0x7c,0x22,0x22,0x22,0x22,0x3c,0x28,0x24,0x22,0x62,0x00,0x00,0x00,0x00,
-
- 8, // 0x53 'S'
- 0x00,0x00,0x3c,0x42,0x42,0x40,0x30,0x0c,0x02,0x42,0x42,0x3c,0x00,0x00,0x00,0x00,
-
- 8, // 0x54 'T'
- 0x00,0x00,0x7f,0x49,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x1c,0x00,0x00,0x00,0x00,
-
- 8, // 0x55 'U'
- 0x00,0x00,0x42,0x42,0x42,0x42,0x42,0x42,0x42,0x42,0x42,0x3c,0x00,0x00,0x00,0x00,
-
- 8, // 0x56 'V'
- 0x00,0x00,0x41,0x41,0x41,0x41,0x22,0x22,0x14,0x14,0x08,0x08,0x00,0x00,0x00,0x00,
-
- 8, // 0x57 'W'
- 0x00,0x00,0x41,0x41,0x41,0x41,0x41,0x49,0x49,0x55,0x63,0x41,0x00,0x00,0x00,0x00,
-
- 8, // 0x58 'X'
- 0x00,0x00,0x42,0x42,0x42,0x24,0x18,0x18,0x24,0x42,0x42,0x42,0x00,0x00,0x00,0x00,
-
- 8, // 0x59 'Y'
- 0x00,0x00,0x22,0x22,0x22,0x22,0x14,0x08,0x08,0x08,0x08,0x1c,0x00,0x00,0x00,0x00,
-
- 8, // 0x5a 'Z'
- 0x00,0x00,0x7e,0x42,0x02,0x04,0x08,0x10,0x20,0x40,0x42,0x7e,0x00,0x00,0x00,0x00,
-
- 8, // 0x5b '['
- 0x00,0x1e,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x1e,0x00,0x00,0x00,
-
- 8, // 0x5c '\'
- 0x00,0x40,0x40,0x20,0x20,0x10,0x10,0x08,0x08,0x04,0x04,0x02,0x02,0x00,0x00,0x00,
-
- 8, // 0x5d ']'
- 0x00,0x3c,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x3c,0x00,0x00,0x00,
-
- 8, // 0x5e '^'
- 0x00,0x00,0x08,0x14,0x22,0x41,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 8, // 0x5f '_'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0x00,0x00,0x00,0x00,
-
- 8, // 0x60 '`'
- 0x00,0x00,0x08,0x08,0x08,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 8, // 0x61 'a'
- 0x00,0x00,0x00,0x00,0x00,0x38,0x44,0x04,0x3c,0x44,0x44,0x3e,0x00,0x00,0x00,0x00,
-
- 8, // 0x62 'b'
- 0x00,0x00,0x60,0x20,0x20,0x38,0x24,0x22,0x22,0x22,0x22,0x3c,0x00,0x00,0x00,0x00,
-
- 8, // 0x63 'c'
- 0x00,0x00,0x00,0x00,0x00,0x3c,0x42,0x40,0x40,0x40,0x42,0x3c,0x00,0x00,0x00,0x00,
-
- 8, // 0x64 'd'
- 0x00,0x00,0x0c,0x04,0x04,0x1c,0x24,0x44,0x44,0x44,0x44,0x3e,0x00,0x00,0x00,0x00,
-
- 8, // 0x65 'e'
- 0x00,0x00,0x00,0x00,0x00,0x3c,0x42,0x42,0x7e,0x40,0x42,0x3c,0x00,0x00,0x00,0x00,
-
- 8, // 0x66 'f'
- 0x00,0x00,0x0c,0x12,0x10,0x10,0x38,0x10,0x10,0x10,0x10,0x38,0x00,0x00,0x00,0x00,
-
- 8, // 0x67 'g'
- 0x00,0x00,0x00,0x00,0x00,0x3e,0x44,0x44,0x44,0x44,0x44,0x3c,0x04,0x44,0x38,0x00,
-
- 8, // 0x68 'h'
- 0x00,0x00,0x60,0x20,0x20,0x2c,0x32,0x22,0x22,0x22,0x22,0x62,0x00,0x00,0x00,0x00,
-
- 8, // 0x69 'i'
- 0x00,0x00,0x08,0x08,0x00,0x18,0x08,0x08,0x08,0x08,0x08,0x1c,0x00,0x00,0x00,0x00,
-
- 8, // 0x6a 'j'
- 0x00,0x00,0x04,0x04,0x00,0x0c,0x04,0x04,0x04,0x04,0x04,0x44,0x44,0x38,0x00,0x00,
-
- 8, // 0x6b 'k'
- 0x00,0x00,0x60,0x20,0x20,0x22,0x24,0x28,0x38,0x24,0x22,0x62,0x00,0x00,0x00,0x00,
-
- 8, // 0x6c 'l'
- 0x00,0x00,0x18,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x1c,0x00,0x00,0x00,0x00,
-
- 8, // 0x6d 'm'
- 0x00,0x00,0x00,0x00,0x00,0x76,0x49,0x49,0x49,0x49,0x41,0x41,0x00,0x00,0x00,0x00,
-
- 8, // 0x6e 'n'
- 0x00,0x00,0x00,0x00,0x00,0x5c,0x22,0x22,0x22,0x22,0x22,0x22,0x00,0x00,0x00,0x00,
-
- 8, // 0x6f 'o'
- 0x00,0x00,0x00,0x00,0x00,0x3c,0x42,0x42,0x42,0x42,0x42,0x3c,0x00,0x00,0x00,0x00,
-
- 8, // 0x70 'p'
- 0x00,0x00,0x00,0x00,0x00,0x7c,0x22,0x22,0x22,0x22,0x22,0x3c,0x20,0x20,0x70,0x00,
-
- 8, // 0x71 'q'
- 0x00,0x00,0x00,0x00,0x00,0x3e,0x44,0x44,0x44,0x44,0x44,0x3c,0x04,0x04,0x0e,0x00,
-
- 8, // 0x72 'r'
- 0x00,0x00,0x00,0x00,0x00,0x7c,0x22,0x22,0x20,0x20,0x20,0x70,0x00,0x00,0x00,0x00,
-
- 8, // 0x73 's'
- 0x00,0x00,0x00,0x00,0x00,0x3c,0x42,0x40,0x3c,0x02,0x42,0x3c,0x00,0x00,0x00,0x00,
-
- 8, // 0x74 't'
- 0x00,0x00,0x10,0x10,0x10,0x7c,0x10,0x10,0x10,0x10,0x12,0x0c,0x00,0x00,0x00,0x00,
-
- 8, // 0x75 'u'
- 0x00,0x00,0x00,0x00,0x00,0x44,0x44,0x44,0x44,0x44,0x44,0x3e,0x00,0x00,0x00,0x00,
-
- 8, // 0x76 'v'
- 0x00,0x00,0x00,0x00,0x00,0x41,0x41,0x41,0x41,0x22,0x14,0x08,0x00,0x00,0x00,0x00,
-
- 8, // 0x77 'w'
- 0x00,0x00,0x00,0x00,0x00,0x41,0x41,0x41,0x49,0x49,0x55,0x22,0x00,0x00,0x00,0x00,
-
- 8, // 0x78 'x'
- 0x00,0x00,0x00,0x00,0x00,0x42,0x42,0x24,0x18,0x24,0x42,0x42,0x00,0x00,0x00,0x00,
-
- 8, // 0x79 'y'
- 0x00,0x00,0x00,0x00,0x00,0x42,0x42,0x42,0x42,0x42,0x42,0x3e,0x02,0x04,0x78,0x00,
-
- 8, // 0x7a 'z'
- 0x00,0x00,0x00,0x00,0x00,0x7e,0x44,0x08,0x10,0x20,0x42,0x7e,0x00,0x00,0x00,0x00,
-
- 8, // 0x7b '{'
- 0x00,0x06,0x08,0x08,0x08,0x08,0x08,0x30,0x08,0x08,0x08,0x08,0x08,0x06,0x00,0x00,
-
- 8, // 0x7c '|'
- 0x00,0x00,0x08,0x08,0x08,0x08,0x08,0x00,0x08,0x08,0x08,0x08,0x08,0x00,0x00,0x00,
-
- 8, // 0x7d '}'
- 0x00,0x30,0x08,0x08,0x08,0x08,0x08,0x06,0x08,0x08,0x08,0x08,0x08,0x30,0x00,0x00,
-
- 8, // 0x7e '~'
- 0x00,0x00,0x39,0x4e,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 8, // 0x7f ''
- 0x00,0x00,0x00,0x00,0x00,0x08,0x14,0x22,0x41,0x41,0x7f,0x00,0x00,0x00,0x00,0x00,
- 0
- };
-
- const int8u gse8x16_bold[] =
- {
- 16, 0, 32, 128-32,
-
- 0x00,0x00,0x11,0x00,0x22,0x00,0x33,0x00,0x44,0x00,0x55,0x00,0x66,0x00,0x77,0x00,0x88,0x00,
- 0x99,0x00,0xaa,0x00,0xbb,0x00,0xcc,0x00,0xdd,0x00,0xee,0x00,0xff,0x00,0x10,0x01,0x21,0x01,
- 0x32,0x01,0x43,0x01,0x54,0x01,0x65,0x01,0x76,0x01,0x87,0x01,0x98,0x01,0xa9,0x01,0xba,0x01,
- 0xcb,0x01,0xdc,0x01,0xed,0x01,0xfe,0x01,0x0f,0x02,0x20,0x02,0x31,0x02,0x42,0x02,0x53,0x02,
- 0x64,0x02,0x75,0x02,0x86,0x02,0x97,0x02,0xa8,0x02,0xb9,0x02,0xca,0x02,0xdb,0x02,0xec,0x02,
- 0xfd,0x02,0x0e,0x03,0x1f,0x03,0x30,0x03,0x41,0x03,0x52,0x03,0x63,0x03,0x74,0x03,0x85,0x03,
- 0x96,0x03,0xa7,0x03,0xb8,0x03,0xc9,0x03,0xda,0x03,0xeb,0x03,0xfc,0x03,0x0d,0x04,0x1e,0x04,
- 0x2f,0x04,0x40,0x04,0x51,0x04,0x62,0x04,0x73,0x04,0x84,0x04,0x95,0x04,0xa6,0x04,0xb7,0x04,
- 0xc8,0x04,0xd9,0x04,0xea,0x04,0xfb,0x04,0x0c,0x05,0x1d,0x05,0x2e,0x05,0x3f,0x05,0x50,0x05,
- 0x61,0x05,0x72,0x05,0x83,0x05,0x94,0x05,0xa5,0x05,0xb6,0x05,0xc7,0x05,0xd8,0x05,0xe9,0x05,
- 0xfa,0x05,0x0b,0x06,0x1c,0x06,0x2d,0x06,0x3e,0x06,0x4f,0x06,
-
- 8, // 0x20 ' '
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 8, // 0x21 '!'
- 0x00,0x00,0x18,0x3c,0x3c,0x3c,0x3c,0x18,0x18,0x00,0x18,0x18,0x00,0x00,0x00,0x00,
-
- 8, // 0x22 '"'
- 0x00,0x66,0x66,0x66,0x66,0x24,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 8, // 0x23 '#'
- 0x00,0x00,0x66,0x66,0x66,0xff,0x66,0x66,0xff,0x66,0x66,0x66,0x00,0x00,0x00,0x00,
-
- 8, // 0x24 '$'
- 0x00,0x08,0x08,0x3e,0x6b,0x6b,0x68,0x3e,0x0b,0x6b,0x6b,0x3e,0x08,0x08,0x00,0x00,
-
- 8, // 0x25 '%'
- 0x00,0x00,0x66,0xbe,0xcc,0x0c,0x18,0x18,0x30,0x33,0x65,0x66,0x00,0x00,0x00,0x00,
-
- 8, // 0x26 '&'
- 0x00,0x00,0x1c,0x36,0x36,0x36,0x1c,0x3b,0x6e,0x66,0x66,0x3b,0x00,0x00,0x00,0x00,
-
- 8, // 0x27 '''
- 0x00,0x00,0x18,0x18,0x18,0x30,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 8, // 0x28 '('
- 0x00,0x06,0x0c,0x18,0x18,0x30,0x30,0x30,0x30,0x18,0x18,0x0c,0x06,0x00,0x00,0x00,
-
- 8, // 0x29 ')'
- 0x00,0x30,0x18,0x0c,0x0c,0x06,0x06,0x06,0x06,0x0c,0x0c,0x18,0x30,0x00,0x00,0x00,
-
- 8, // 0x2a '*'
- 0x00,0x00,0x00,0x00,0x66,0x24,0x18,0xff,0x18,0x24,0x66,0x00,0x00,0x00,0x00,0x00,
-
- 8, // 0x2b '+'
- 0x00,0x00,0x00,0x00,0x18,0x18,0x18,0xff,0x18,0x18,0x18,0x00,0x00,0x00,0x00,0x00,
-
- 8, // 0x2c ','
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x18,0x18,0x18,0x30,0x20,0x00,
-
- 8, // 0x2d '-'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 8, // 0x2e '.'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x18,0x18,0x00,0x00,0x00,0x00,
-
- 8, // 0x2f '/'
- 0x00,0x03,0x03,0x06,0x06,0x0c,0x0c,0x18,0x18,0x30,0x30,0x60,0x60,0x00,0x00,0x00,
-
- 8, // 0x30 '0'
- 0x00,0x00,0x3e,0x63,0x63,0x67,0x6b,0x73,0x63,0x63,0x63,0x3e,0x00,0x00,0x00,0x00,
-
- 8, // 0x31 '1'
- 0x00,0x00,0x0c,0x0c,0x1c,0x3c,0x0c,0x0c,0x0c,0x0c,0x0c,0x3f,0x00,0x00,0x00,0x00,
-
- 8, // 0x32 '2'
- 0x00,0x00,0x3e,0x63,0x63,0x03,0x06,0x0c,0x18,0x30,0x61,0x7f,0x00,0x00,0x00,0x00,
-
- 8, // 0x33 '3'
- 0x00,0x00,0x7f,0x43,0x06,0x0c,0x1e,0x03,0x03,0x03,0x63,0x3e,0x00,0x00,0x00,0x00,
-
- 8, // 0x34 '4'
- 0x00,0x00,0x06,0x0c,0x18,0x32,0x66,0x66,0x7f,0x06,0x06,0x0f,0x00,0x00,0x00,0x00,
-
- 8, // 0x35 '5'
- 0x00,0x00,0x7f,0x61,0x60,0x60,0x7e,0x03,0x03,0x03,0x63,0x3e,0x00,0x00,0x00,0x00,
-
- 8, // 0x36 '6'
- 0x00,0x00,0x1e,0x30,0x60,0x60,0x7e,0x63,0x63,0x63,0x63,0x3e,0x00,0x00,0x00,0x00,
-
- 8, // 0x37 '7'
- 0x00,0x00,0x7f,0x63,0x63,0x03,0x06,0x0c,0x18,0x18,0x18,0x18,0x00,0x00,0x00,0x00,
-
- 8, // 0x38 '8'
- 0x00,0x00,0x3e,0x63,0x63,0x63,0x3e,0x63,0x63,0x63,0x63,0x3e,0x00,0x00,0x00,0x00,
-
- 8, // 0x39 '9'
- 0x00,0x00,0x3e,0x63,0x63,0x63,0x63,0x3f,0x03,0x03,0x06,0x3c,0x00,0x00,0x00,0x00,
-
- 8, // 0x3a ':'
- 0x00,0x00,0x00,0x00,0x18,0x18,0x00,0x00,0x00,0x18,0x18,0x00,0x00,0x00,0x00,0x00,
-
- 8, // 0x3b ';'
- 0x00,0x00,0x00,0x00,0x30,0x30,0x00,0x00,0x00,0x00,0x30,0x30,0x30,0x60,0x40,0x00,
-
- 8, // 0x3c '<'
- 0x00,0x00,0x00,0x06,0x0c,0x18,0x30,0x60,0x30,0x18,0x0c,0x06,0x00,0x00,0x00,0x00,
-
- 8, // 0x3d '='
- 0x00,0x00,0x00,0x00,0x00,0x00,0x7f,0x00,0x7f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 8, // 0x3e '>'
- 0x00,0x00,0x00,0x30,0x18,0x0c,0x06,0x03,0x06,0x0c,0x18,0x30,0x00,0x00,0x00,0x00,
-
- 8, // 0x3f '?'
- 0x00,0x00,0x3e,0x63,0x63,0x63,0x06,0x0c,0x0c,0x00,0x0c,0x0c,0x00,0x00,0x00,0x00,
-
- 8, // 0x40 '@'
- 0x00,0x00,0x7c,0x86,0x03,0x73,0xdb,0xdb,0xdb,0xdb,0xdb,0x6e,0x00,0x00,0x00,0x00,
-
- 8, // 0x41 'A'
- 0x00,0x00,0x08,0x1c,0x36,0x63,0x63,0x63,0x7f,0x63,0x63,0x63,0x00,0x00,0x00,0x00,
-
- 8, // 0x42 'B'
- 0x00,0x00,0x7e,0x33,0x33,0x33,0x3e,0x33,0x33,0x33,0x33,0x7e,0x00,0x00,0x00,0x00,
-
- 8, // 0x43 'C'
- 0x00,0x00,0x1e,0x33,0x61,0x60,0x60,0x60,0x60,0x61,0x33,0x1e,0x00,0x00,0x00,0x00,
-
- 8, // 0x44 'D'
- 0x00,0x00,0x7c,0x36,0x33,0x33,0x33,0x33,0x33,0x33,0x36,0x7c,0x00,0x00,0x00,0x00,
-
- 8, // 0x45 'E'
- 0x00,0x00,0x7f,0x33,0x31,0x34,0x3c,0x34,0x30,0x31,0x33,0x7f,0x00,0x00,0x00,0x00,
-
- 8, // 0x46 'F'
- 0x00,0x00,0x7f,0x33,0x31,0x34,0x3c,0x34,0x30,0x30,0x30,0x78,0x00,0x00,0x00,0x00,
-
- 8, // 0x47 'G'
- 0x00,0x00,0x1f,0x33,0x61,0x60,0x60,0x6f,0x63,0x63,0x33,0x1e,0x00,0x00,0x00,0x00,
-
- 8, // 0x48 'H'
- 0x00,0x00,0x63,0x63,0x63,0x63,0x7f,0x63,0x63,0x63,0x63,0x63,0x00,0x00,0x00,0x00,
-
- 8, // 0x49 'I'
- 0x00,0x00,0x1e,0x0c,0x0c,0x0c,0x0c,0x0c,0x0c,0x0c,0x0c,0x1e,0x00,0x00,0x00,0x00,
-
- 8, // 0x4a 'J'
- 0x00,0x00,0x0f,0x06,0x06,0x06,0x06,0x06,0x06,0x66,0x66,0x3c,0x00,0x00,0x00,0x00,
-
- 8, // 0x4b 'K'
- 0x00,0x00,0x73,0x33,0x36,0x36,0x3c,0x36,0x36,0x33,0x33,0x73,0x00,0x00,0x00,0x00,
-
- 8, // 0x4c 'L'
- 0x00,0x00,0x78,0x30,0x30,0x30,0x30,0x30,0x30,0x31,0x33,0x7f,0x00,0x00,0x00,0x00,
-
- 8, // 0x4d 'M'
- 0x00,0x00,0x63,0x63,0x77,0x77,0x7f,0x6b,0x6b,0x63,0x63,0x63,0x00,0x00,0x00,0x00,
-
- 8, // 0x4e 'N'
- 0x00,0x00,0x63,0x63,0x73,0x7b,0x6f,0x67,0x63,0x63,0x63,0x63,0x00,0x00,0x00,0x00,
-
- 8, // 0x4f 'O'
- 0x00,0x00,0x1c,0x36,0x63,0x63,0x63,0x63,0x63,0x63,0x36,0x1c,0x00,0x00,0x00,0x00,
-
- 8, // 0x50 'P'
- 0x00,0x00,0x7e,0x33,0x33,0x33,0x33,0x3e,0x30,0x30,0x30,0x78,0x00,0x00,0x00,0x00,
-
- 8, // 0x51 'Q'
- 0x00,0x00,0x1c,0x36,0x63,0x63,0x63,0x63,0x63,0x6f,0x36,0x1e,0x03,0x00,0x00,0x00,
-
- 8, // 0x52 'R'
- 0x00,0x00,0x7e,0x33,0x33,0x33,0x33,0x3e,0x36,0x33,0x33,0x73,0x00,0x00,0x00,0x00,
-
- 8, // 0x53 'S'
- 0x00,0x00,0x3e,0x63,0x63,0x30,0x18,0x0c,0x06,0x63,0x63,0x3e,0x00,0x00,0x00,0x00,
-
- 8, // 0x54 'T'
- 0x00,0x00,0x3f,0x3f,0x2d,0x0c,0x0c,0x0c,0x0c,0x0c,0x0c,0x1e,0x00,0x00,0x00,0x00,
-
- 8, // 0x55 'U'
- 0x00,0x00,0x63,0x63,0x63,0x63,0x63,0x63,0x63,0x63,0x63,0x3e,0x00,0x00,0x00,0x00,
-
- 8, // 0x56 'V'
- 0x00,0x00,0x63,0x63,0x63,0x63,0x63,0x63,0x63,0x36,0x1c,0x08,0x00,0x00,0x00,0x00,
-
- 8, // 0x57 'W'
- 0x00,0x00,0x63,0x63,0x63,0x6b,0x6b,0x7f,0x77,0x77,0x63,0x63,0x00,0x00,0x00,0x00,
-
- 8, // 0x58 'X'
- 0x00,0x00,0x63,0x63,0x63,0x36,0x1c,0x1c,0x36,0x63,0x63,0x63,0x00,0x00,0x00,0x00,
-
- 8, // 0x59 'Y'
- 0x00,0x00,0x33,0x33,0x33,0x33,0x1e,0x0c,0x0c,0x0c,0x0c,0x1e,0x00,0x00,0x00,0x00,
-
- 8, // 0x5a 'Z'
- 0x00,0x00,0x7f,0x63,0x43,0x06,0x0c,0x18,0x30,0x61,0x63,0x7f,0x00,0x00,0x00,0x00,
-
- 8, // 0x5b '['
- 0x00,0x1f,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x1f,0x00,0x00,0x00,
-
- 8, // 0x5c '\'
- 0x00,0x60,0x60,0x30,0x30,0x18,0x18,0x0c,0x0c,0x06,0x06,0x03,0x03,0x00,0x00,0x00,
-
- 8, // 0x5d ']'
- 0x00,0x7c,0x0c,0x0c,0x0c,0x0c,0x0c,0x0c,0x0c,0x0c,0x0c,0x0c,0x7c,0x00,0x00,0x00,
-
- 8, // 0x5e '^'
- 0x00,0x00,0x08,0x1c,0x36,0x63,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 8, // 0x5f '_'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0x00,0x00,0x00,0x00,
-
- 8, // 0x60 '`'
- 0x00,0x00,0x18,0x18,0x18,0x0c,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 8, // 0x61 'a'
- 0x00,0x00,0x00,0x00,0x00,0x3c,0x66,0x06,0x3e,0x66,0x66,0x3b,0x00,0x00,0x00,0x00,
-
- 8, // 0x62 'b'
- 0x00,0x00,0x70,0x30,0x30,0x3c,0x36,0x33,0x33,0x33,0x33,0x3e,0x00,0x00,0x00,0x00,
-
- 8, // 0x63 'c'
- 0x00,0x00,0x00,0x00,0x00,0x3e,0x63,0x63,0x60,0x60,0x63,0x3e,0x00,0x00,0x00,0x00,
-
- 8, // 0x64 'd'
- 0x00,0x00,0x0e,0x06,0x06,0x1e,0x36,0x66,0x66,0x66,0x66,0x3b,0x00,0x00,0x00,0x00,
-
- 8, // 0x65 'e'
- 0x00,0x00,0x00,0x00,0x00,0x3e,0x63,0x63,0x7f,0x60,0x63,0x3e,0x00,0x00,0x00,0x00,
-
- 8, // 0x66 'f'
- 0x00,0x00,0x0e,0x1b,0x1b,0x18,0x3c,0x18,0x18,0x18,0x18,0x3c,0x00,0x00,0x00,0x00,
-
- 8, // 0x67 'g'
- 0x00,0x00,0x00,0x00,0x00,0x3b,0x66,0x66,0x66,0x66,0x66,0x3e,0x06,0x66,0x3c,0x00,
-
- 8, // 0x68 'h'
- 0x00,0x00,0x70,0x30,0x30,0x36,0x3b,0x33,0x33,0x33,0x33,0x73,0x00,0x00,0x00,0x00,
-
- 8, // 0x69 'i'
- 0x00,0x00,0x0c,0x0c,0x00,0x1c,0x0c,0x0c,0x0c,0x0c,0x0c,0x1e,0x00,0x00,0x00,0x00,
-
- 8, // 0x6a 'j'
- 0x00,0x00,0x06,0x06,0x00,0x0e,0x06,0x06,0x06,0x06,0x06,0x66,0x66,0x3c,0x00,0x00,
-
- 8, // 0x6b 'k'
- 0x00,0x00,0x70,0x30,0x30,0x33,0x33,0x36,0x3c,0x36,0x33,0x73,0x00,0x00,0x00,0x00,
-
- 8, // 0x6c 'l'
- 0x00,0x00,0x1c,0x0c,0x0c,0x0c,0x0c,0x0c,0x0c,0x0c,0x0c,0x1e,0x00,0x00,0x00,0x00,
-
- 8, // 0x6d 'm'
- 0x00,0x00,0x00,0x00,0x00,0x76,0x7f,0x6b,0x6b,0x6b,0x63,0x63,0x00,0x00,0x00,0x00,
-
- 8, // 0x6e 'n'
- 0x00,0x00,0x00,0x00,0x00,0x6e,0x33,0x33,0x33,0x33,0x33,0x33,0x00,0x00,0x00,0x00,
-
- 8, // 0x6f 'o'
- 0x00,0x00,0x00,0x00,0x00,0x3e,0x63,0x63,0x63,0x63,0x63,0x3e,0x00,0x00,0x00,0x00,
-
- 8, // 0x70 'p'
- 0x00,0x00,0x00,0x00,0x00,0x6e,0x33,0x33,0x33,0x33,0x33,0x3e,0x30,0x30,0x78,0x00,
-
- 8, // 0x71 'q'
- 0x00,0x00,0x00,0x00,0x00,0x3b,0x66,0x66,0x66,0x66,0x66,0x3e,0x06,0x06,0x0f,0x00,
-
- 8, // 0x72 'r'
- 0x00,0x00,0x00,0x00,0x00,0x6e,0x3b,0x33,0x30,0x30,0x30,0x78,0x00,0x00,0x00,0x00,
-
- 8, // 0x73 's'
- 0x00,0x00,0x00,0x00,0x00,0x3e,0x63,0x60,0x3e,0x03,0x63,0x3e,0x00,0x00,0x00,0x00,
-
- 8, // 0x74 't'
- 0x00,0x00,0x08,0x18,0x18,0x7e,0x18,0x18,0x18,0x18,0x1b,0x0e,0x00,0x00,0x00,0x00,
-
- 8, // 0x75 'u'
- 0x00,0x00,0x00,0x00,0x00,0x66,0x66,0x66,0x66,0x66,0x66,0x3b,0x00,0x00,0x00,0x00,
-
- 8, // 0x76 'v'
- 0x00,0x00,0x00,0x00,0x00,0x63,0x63,0x63,0x63,0x36,0x1c,0x08,0x00,0x00,0x00,0x00,
-
- 8, // 0x77 'w'
- 0x00,0x00,0x00,0x00,0x00,0x63,0x63,0x6b,0x6b,0x7f,0x36,0x36,0x00,0x00,0x00,0x00,
-
- 8, // 0x78 'x'
- 0x00,0x00,0x00,0x00,0x00,0x63,0x63,0x36,0x1c,0x36,0x63,0x63,0x00,0x00,0x00,0x00,
-
- 8, // 0x79 'y'
- 0x00,0x00,0x00,0x00,0x00,0x63,0x63,0x63,0x63,0x63,0x63,0x3f,0x03,0x06,0x7c,0x00,
-
- 8, // 0x7a 'z'
- 0x00,0x00,0x00,0x00,0x00,0x7f,0x63,0x06,0x0c,0x18,0x31,0x7f,0x00,0x00,0x00,0x00,
-
- 8, // 0x7b '{'
- 0x00,0x03,0x04,0x0c,0x0c,0x0c,0x08,0x30,0x08,0x0c,0x0c,0x0c,0x04,0x03,0x00,0x00,
-
- 8, // 0x7c '|'
- 0x00,0x00,0x0c,0x0c,0x0c,0x0c,0x0c,0x00,0x0c,0x0c,0x0c,0x0c,0x0c,0x00,0x00,0x00,
-
- 8, // 0x7d '}'
- 0x00,0x60,0x10,0x18,0x18,0x18,0x08,0x06,0x08,0x18,0x18,0x18,0x10,0x60,0x00,0x00,
-
- 8, // 0x7e '~'
- 0x00,0x00,0x3b,0x6e,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 8, // 0x7f ''
- 0x00,0x00,0x00,0x00,0x00,0x08,0x1c,0x36,0x63,0x63,0x7f,0x00,0x00,0x00,0x00,0x00,
- 0
- };
-
- const int8u mcs11_prop[] =
- {
- 11, 2, 32, 128-32,
- 0x00,0x00,0x0C,0x00,0x18,0x00,0x24,0x00,0x30,0x00,0x3C,0x00,0x48,0x00,0x54,0x00,0x60,0x00,
- 0x6C,0x00,0x78,0x00,0x84,0x00,0x90,0x00,0x9C,0x00,0xA8,0x00,0xB4,0x00,0xC0,0x00,0xCC,0x00,
- 0xD8,0x00,0xE4,0x00,0xF0,0x00,0xFC,0x00,0x08,0x01,0x14,0x01,0x20,0x01,0x2C,0x01,0x38,0x01,
- 0x44,0x01,0x50,0x01,0x5C,0x01,0x68,0x01,0x74,0x01,0x80,0x01,0x8C,0x01,0x98,0x01,0xA4,0x01,
- 0xB0,0x01,0xBC,0x01,0xC8,0x01,0xD4,0x01,0xE0,0x01,0xEC,0x01,0xF8,0x01,0x04,0x02,0x10,0x02,
- 0x1C,0x02,0x28,0x02,0x34,0x02,0x40,0x02,0x4C,0x02,0x58,0x02,0x64,0x02,0x70,0x02,0x7C,0x02,
- 0x88,0x02,0x94,0x02,0xA0,0x02,0xAC,0x02,0xB8,0x02,0xC4,0x02,0xD0,0x02,0xDC,0x02,0xE8,0x02,
- 0xF4,0x02,0x00,0x03,0x0C,0x03,0x18,0x03,0x24,0x03,0x30,0x03,0x3C,0x03,0x48,0x03,0x54,0x03,
- 0x60,0x03,0x6C,0x03,0x78,0x03,0x84,0x03,0x90,0x03,0x9C,0x03,0xA8,0x03,0xB4,0x03,0xC0,0x03,
- 0xCC,0x03,0xD8,0x03,0xE4,0x03,0xF0,0x03,0xFC,0x03,0x08,0x04,0x14,0x04,0x20,0x04,0x2C,0x04,
- 0x38,0x04,0x44,0x04,0x50,0x04,0x5C,0x04,0x68,0x04,0x74,0x04,
-
- 5, // 0x20 ' '
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 4, // 0x21 '!'
- 0x00,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x00,0x20,0x00,
-
- 4, // 0x22 '"'
- 0x50,0x50,0xA0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 6, // 0x23 '#'
- 0x00,0x28,0x28,0x7C,0x28,0x28,0x28,0x7C,0x28,0x28,0x00,
-
- 6, // 0x24 '$'
- 0x10,0x10,0x38,0x54,0x50,0x38,0x14,0x54,0x38,0x10,0x10,
-
- 6, // 0x25 '%'
- 0x00,0x00,0x68,0xA8,0xD0,0x10,0x20,0x2C,0x54,0x58,0x00,
-
- 6, // 0x26 '&'
- 0x00,0x20,0x50,0x50,0x50,0x20,0x54,0x54,0x48,0x34,0x00,
-
- 3, // 0x27 '''
- 0x40,0x40,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 4, // 0x28 '('
- 0x10,0x20,0x20,0x40,0x40,0x40,0x40,0x40,0x20,0x20,0x10,
-
- 5, // 0x29 ')'
- 0x40,0x20,0x20,0x10,0x10,0x10,0x10,0x10,0x20,0x20,0x40,
-
- 6, // 0x2A '*'
- 0x00,0x00,0x28,0x7C,0x38,0x7C,0x28,0x00,0x00,0x00,0x00,
-
- 6, // 0x2B '+'
- 0x00,0x00,0x00,0x10,0x10,0x7C,0x10,0x10,0x00,0x00,0x00,
-
- 4, // 0x2C ','
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x60,0x60,0xC0,
-
- 6, // 0x2D '-'
- 0x00,0x00,0x00,0x00,0x00,0x7C,0x00,0x00,0x00,0x00,0x00,
-
- 4, // 0x2E '.'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x60,0x60,0x00,
-
- 7, // 0x2F '/'
- 0x00,0x04,0x04,0x08,0x08,0x10,0x10,0x20,0x20,0x40,0x40,
-
- 6, // 0x30 '0'
- 0x00,0x38,0x44,0x44,0x54,0x54,0x54,0x44,0x44,0x38,0x00,
-
- 4, // 0x31 '1'
- 0x00,0x20,0x60,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x00,
-
- 6, // 0x32 '2'
- 0x00,0x38,0x44,0x44,0x04,0x08,0x10,0x20,0x40,0x7C,0x00,
-
- 6, // 0x33 '3'
- 0x00,0x38,0x44,0x04,0x04,0x38,0x04,0x04,0x44,0x38,0x00,
-
- 6, // 0x34 '4'
- 0x00,0x08,0x18,0x18,0x28,0x28,0x48,0x7C,0x08,0x08,0x00,
-
- 6, // 0x35 '5'
- 0x00,0x7C,0x40,0x40,0x78,0x44,0x04,0x04,0x44,0x38,0x00,
-
- 6, // 0x36 '6'
- 0x00,0x38,0x44,0x40,0x40,0x78,0x44,0x44,0x44,0x38,0x00,
-
- 6, // 0x37 '7'
- 0x00,0x7C,0x04,0x08,0x08,0x10,0x10,0x20,0x20,0x20,0x00,
-
- 6, // 0x38 '8'
- 0x00,0x38,0x44,0x44,0x44,0x38,0x44,0x44,0x44,0x38,0x00,
-
- 6, // 0x39 '9'
- 0x00,0x38,0x44,0x44,0x44,0x3C,0x04,0x04,0x44,0x38,0x00,
-
- 4, // 0x3A ':'
- 0x00,0x00,0x00,0x60,0x60,0x00,0x00,0x00,0x60,0x60,0x00,
-
- 4, // 0x3B ';'
- 0x00,0x00,0x00,0x60,0x60,0x00,0x00,0x00,0x60,0x60,0xC0,
-
- 6, // 0x3C '<'
- 0x00,0x04,0x08,0x10,0x20,0x40,0x20,0x10,0x08,0x04,0x00,
-
- 6, // 0x3D '='
- 0x00,0x00,0x00,0x00,0x7C,0x00,0x00,0x7C,0x00,0x00,0x00,
-
- 6, // 0x3E '>'
- 0x00,0x40,0x20,0x10,0x08,0x04,0x08,0x10,0x20,0x40,0x00,
-
- 6, // 0x3F '?'
- 0x00,0x38,0x44,0x04,0x04,0x08,0x10,0x10,0x00,0x10,0x00,
-
- 6, // 0x40 '@'
- 0x00,0x38,0x44,0x44,0x5C,0x54,0x54,0x4C,0x40,0x38,0x00,
-
- 6, // 0x41 'A'
- 0x00,0x38,0x44,0x44,0x44,0x44,0x7C,0x44,0x44,0x44,0x00,
-
- 6, // 0x42 'B'
- 0x00,0x78,0x44,0x44,0x44,0x78,0x44,0x44,0x44,0x78,0x00,
-
- 6, // 0x43 'C'
- 0x00,0x38,0x44,0x40,0x40,0x40,0x40,0x40,0x44,0x38,0x00,
-
- 6, // 0x44 'D'
- 0x00,0x70,0x48,0x44,0x44,0x44,0x44,0x44,0x48,0x70,0x00,
-
- 6, // 0x45 'E'
- 0x00,0x7C,0x40,0x40,0x40,0x78,0x40,0x40,0x40,0x7C,0x00,
-
- 6, // 0x46 'F'
- 0x00,0x7C,0x40,0x40,0x40,0x78,0x40,0x40,0x40,0x40,0x00,
-
- 6, // 0x47 'G'
- 0x00,0x38,0x44,0x40,0x40,0x5C,0x44,0x44,0x4C,0x34,0x00,
-
- 6, // 0x48 'H'
- 0x00,0x44,0x44,0x44,0x44,0x7C,0x44,0x44,0x44,0x44,0x00,
-
- 4, // 0x49 'I'
- 0x00,0x70,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x70,0x00,
-
- 6, // 0x4A 'J'
- 0x00,0x1C,0x08,0x08,0x08,0x08,0x08,0x08,0x48,0x30,0x00,
-
- 6, // 0x4B 'K'
- 0x00,0x44,0x48,0x50,0x60,0x60,0x50,0x48,0x44,0x44,0x00,
-
- 6, // 0x4C 'L'
- 0x00,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x7C,0x00,
-
- 8, // 0x4D 'M'
- 0x00,0x41,0x63,0x55,0x49,0x49,0x41,0x41,0x41,0x41,0x00,
-
- 7, // 0x4E 'N'
- 0x00,0x42,0x42,0x62,0x52,0x4A,0x46,0x42,0x42,0x42,0x00,
-
- 6, // 0x4F 'O'
- 0x00,0x38,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x38,0x00,
-
- 6, // 0x50 'P'
- 0x00,0x78,0x44,0x44,0x44,0x78,0x40,0x40,0x40,0x40,0x00,
-
- 6, // 0x51 'Q'
- 0x00,0x38,0x44,0x44,0x44,0x44,0x44,0x54,0x48,0x34,0x00,
-
- 6, // 0x52 'R'
- 0x00,0x78,0x44,0x44,0x44,0x78,0x44,0x44,0x44,0x44,0x00,
-
- 6, // 0x53 'S'
- 0x00,0x38,0x44,0x40,0x40,0x38,0x04,0x04,0x44,0x38,0x00,
-
- 6, // 0x54 'T'
- 0x00,0x7C,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x00,
-
- 6, // 0x55 'U'
- 0x00,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x38,0x00,
-
- 6, // 0x56 'V'
- 0x00,0x44,0x44,0x44,0x44,0x28,0x28,0x28,0x10,0x10,0x00,
-
- 8, // 0x57 'W'
- 0x00,0x41,0x41,0x41,0x41,0x49,0x49,0x49,0x55,0x22,0x00,
-
- 6, // 0x58 'X'
- 0x00,0x44,0x44,0x44,0x28,0x10,0x28,0x44,0x44,0x44,0x00,
-
- 6, // 0x59 'Y'
- 0x00,0x44,0x44,0x44,0x28,0x10,0x10,0x10,0x10,0x10,0x00,
-
- 6, // 0x5A 'Z'
- 0x00,0x7C,0x04,0x04,0x08,0x10,0x20,0x40,0x40,0x7C,0x00,
-
- 5, // 0x5B '['
- 0x30,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x30,
-
- 7, // 0x5C '\'
- 0x40,0x40,0x20,0x20,0x10,0x10,0x08,0x08,0x04,0x04,0x00,
-
- 4, // 0x5D ']'
- 0x60,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x60,
-
- 6, // 0x5E '^'
- 0x00,0x10,0x28,0x44,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 6, // 0x5F '_'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7C,0x00,
-
- 4, // 0x60 '`'
- 0x00,0x40,0x40,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 6, // 0x61 'a'
- 0x00,0x00,0x00,0x38,0x04,0x3C,0x44,0x44,0x44,0x3C,0x00,
-
- 6, // 0x62 'b'
- 0x00,0x40,0x40,0x78,0x44,0x44,0x44,0x44,0x44,0x78,0x00,
-
- 6, // 0x63 'c'
- 0x00,0x00,0x00,0x38,0x44,0x40,0x40,0x40,0x44,0x38,0x00,
-
- 6, // 0x64 'd'
- 0x00,0x04,0x04,0x3C,0x44,0x44,0x44,0x44,0x44,0x3C,0x00,
-
- 6, // 0x65 'e'
- 0x00,0x00,0x00,0x38,0x44,0x44,0x7C,0x40,0x44,0x38,0x00,
-
- 4, // 0x66 'f'
- 0x00,0x10,0x20,0x70,0x20,0x20,0x20,0x20,0x20,0x20,0x00,
-
- 6, // 0x67 'g'
- 0x00,0x00,0x00,0x3C,0x44,0x44,0x44,0x3C,0x04,0x44,0x38,
-
- 6, // 0x68 'h'
- 0x00,0x40,0x40,0x78,0x44,0x44,0x44,0x44,0x44,0x44,0x00,
-
- 2, // 0x69 'i'
- 0x00,0x40,0x00,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x00,
-
- 3, // 0x6A 'j'
- 0x00,0x20,0x00,0x20,0x20,0x20,0x20,0x20,0x20,0xA0,0x40,
-
- 5, // 0x6B 'k'
- 0x00,0x40,0x40,0x48,0x50,0x60,0x60,0x50,0x48,0x48,0x00,
-
- 2, // 0x6C 'l'
- 0x00,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x00,
-
- 8, // 0x6D 'm'
- 0x00,0x00,0x00,0x76,0x49,0x49,0x49,0x49,0x41,0x41,0x00,
-
- 6, // 0x6E 'n'
- 0x00,0x00,0x00,0x78,0x44,0x44,0x44,0x44,0x44,0x44,0x00,
-
- 6, // 0x6F 'o'
- 0x00,0x00,0x00,0x38,0x44,0x44,0x44,0x44,0x44,0x38,0x00,
-
- 6, // 0x70 'p'
- 0x00,0x00,0x00,0x78,0x44,0x44,0x44,0x44,0x78,0x40,0x40,
-
- 6, // 0x71 'q'
- 0x00,0x00,0x00,0x3C,0x44,0x44,0x44,0x44,0x3C,0x04,0x04,
-
- 6, // 0x72 'r'
- 0x00,0x00,0x00,0x58,0x24,0x20,0x20,0x20,0x20,0x20,0x00,
-
- 6, // 0x73 's'
- 0x00,0x00,0x00,0x38,0x44,0x40,0x38,0x04,0x44,0x38,0x00,
-
- 5, // 0x74 't'
- 0x00,0x20,0x20,0x70,0x20,0x20,0x20,0x20,0x28,0x10,0x00,
-
- 6, // 0x75 'u'
- 0x00,0x00,0x00,0x44,0x44,0x44,0x44,0x44,0x4C,0x34,0x00,
-
- 6, // 0x76 'v'
- 0x00,0x00,0x00,0x44,0x44,0x44,0x28,0x28,0x10,0x10,0x00,
-
- 8, // 0x77 'w'
- 0x00,0x00,0x00,0x41,0x41,0x41,0x41,0x49,0x49,0x36,0x00,
-
- 6, // 0x78 'x'
- 0x00,0x00,0x00,0x44,0x44,0x28,0x10,0x28,0x44,0x44,0x00,
-
- 6, // 0x79 'y'
- 0x00,0x00,0x00,0x44,0x44,0x44,0x44,0x3C,0x04,0x08,0x70,
-
- 6, // 0x7A 'z'
- 0x00,0x00,0x00,0x7C,0x04,0x08,0x10,0x20,0x40,0x7C,0x00,
-
- 5, // 0x7B '{'
- 0x18,0x20,0x20,0x20,0x20,0xC0,0x20,0x20,0x20,0x20,0x18,
-
- 3, // 0x7C '|'
- 0x00,0x40,0x40,0x40,0x40,0x00,0x40,0x40,0x40,0x40,0x00,
-
- 5, // 0x7D '}'
- 0xC0,0x20,0x20,0x20,0x20,0x18,0x20,0x20,0x20,0x20,0xC0,
-
- 6, // 0x7E '~'
- 0x00,0x24,0x54,0x48,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 6, // 0x7F ''
- 0x00,0x10,0x38,0x6C,0x44,0x44,0x7C,0x00,0x00,0x00,0x00,
-
- 0
- };
-
- const int8u mcs11_prop_condensed[] =
- {
- 11, 2, 32, 128-32,
- 0x00,0x00,0x0C,0x00,0x18,0x00,0x24,0x00,0x30,0x00,0x3C,0x00,0x48,0x00,0x54,0x00,0x60,0x00,
- 0x6C,0x00,0x78,0x00,0x84,0x00,0x90,0x00,0x9C,0x00,0xA8,0x00,0xB4,0x00,0xC0,0x00,0xCC,0x00,
- 0xD8,0x00,0xE4,0x00,0xF0,0x00,0xFC,0x00,0x08,0x01,0x14,0x01,0x20,0x01,0x2C,0x01,0x38,0x01,
- 0x44,0x01,0x50,0x01,0x5C,0x01,0x68,0x01,0x74,0x01,0x80,0x01,0x8C,0x01,0x98,0x01,0xA4,0x01,
- 0xB0,0x01,0xBC,0x01,0xC8,0x01,0xD4,0x01,0xE0,0x01,0xEC,0x01,0xF8,0x01,0x04,0x02,0x10,0x02,
- 0x1C,0x02,0x28,0x02,0x34,0x02,0x40,0x02,0x4C,0x02,0x58,0x02,0x64,0x02,0x70,0x02,0x7C,0x02,
- 0x88,0x02,0x94,0x02,0xA0,0x02,0xAC,0x02,0xB8,0x02,0xC4,0x02,0xD0,0x02,0xDC,0x02,0xE8,0x02,
- 0xF4,0x02,0x00,0x03,0x0C,0x03,0x18,0x03,0x24,0x03,0x30,0x03,0x3C,0x03,0x48,0x03,0x54,0x03,
- 0x60,0x03,0x6C,0x03,0x78,0x03,0x84,0x03,0x90,0x03,0x9C,0x03,0xA8,0x03,0xB4,0x03,0xC0,0x03,
- 0xCC,0x03,0xD8,0x03,0xE4,0x03,0xF0,0x03,0xFC,0x03,0x08,0x04,0x14,0x04,0x20,0x04,0x2C,0x04,
- 0x38,0x04,0x44,0x04,0x50,0x04,0x5C,0x04,0x68,0x04,0x74,0x04,
-
- 3, // 0x20 ' '
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 3, // 0x21 '!'
- 0x00,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x00,0x40,0x00,
-
- 4, // 0x22 '"'
- 0x50,0x50,0xA0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 5, // 0x23 '#'
- 0x00,0x50,0x50,0xF8,0x50,0x50,0x50,0xF8,0x50,0x50,0x00,
-
- 5, // 0x24 '$'
- 0x00,0x40,0x60,0x90,0x80,0x60,0x10,0x90,0x60,0x20,0x00,
-
- 5, // 0x25 '%'
- 0x00,0x00,0x90,0x90,0x20,0x20,0x40,0x40,0x90,0x90,0x00,
-
- 5, // 0x26 '&'
- 0x00,0x40,0xA0,0xA0,0xA0,0x40,0xA8,0x90,0x90,0x68,0x00,
-
- 5, // 0x27 '''
- 0x00,0x00,0x20,0x40,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 5, // 0x28 '('
- 0x10,0x20,0x20,0x40,0x40,0x40,0x40,0x40,0x20,0x20,0x10,
-
- 4, // 0x29 ')'
- 0x80,0x40,0x40,0x20,0x20,0x20,0x20,0x20,0x40,0x40,0x80,
-
- 5, // 0x2A '*'
- 0x00,0x00,0x90,0x60,0xF0,0x60,0x90,0x00,0x00,0x00,0x00,
-
- 5, // 0x2B '+'
- 0x00,0x00,0x00,0x20,0x20,0xF8,0x20,0x20,0x00,0x00,0x00,
-
- 4, // 0x2C ','
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x60,0x60,0xC0,
-
- 5, // 0x2D '-'
- 0x00,0x00,0x00,0x00,0x00,0xF0,0x00,0x00,0x00,0x00,0x00,
-
- 4, // 0x2E '.'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0xC0,0x00,
-
- 6, // 0x2F '/'
- 0x08,0x08,0x10,0x10,0x20,0x20,0x40,0x40,0x80,0x80,0x00,
-
- 5, // 0x30 '0'
- 0x00,0x70,0x90,0x90,0x90,0x90,0x90,0x90,0x90,0xE0,0x00,
-
- 3, // 0x31 '1'
- 0x00,0x40,0xC0,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x00,
-
- 5, // 0x32 '2'
- 0x00,0x60,0x90,0x90,0x10,0x10,0x20,0x40,0x80,0xF0,0x00,
-
- 5, // 0x33 '3'
- 0x00,0x60,0x90,0x10,0x10,0x60,0x10,0x10,0x90,0x60,0x00,
-
- 5, // 0x34 '4'
- 0x00,0x10,0x30,0x30,0x50,0x50,0x90,0xF0,0x10,0x10,0x00,
-
- 5, // 0x35 '5'
- 0x00,0xF0,0x80,0x80,0xE0,0x90,0x10,0x10,0x90,0x60,0x00,
-
- 5, // 0x36 '6'
- 0x00,0x60,0x90,0x80,0x80,0xE0,0x90,0x90,0x90,0x60,0x00,
-
- 5, // 0x37 '7'
- 0x00,0xF0,0x10,0x10,0x10,0x20,0x20,0x40,0x40,0x40,0x00,
-
- 5, // 0x38 '8'
- 0x00,0x60,0x90,0x90,0x90,0x60,0x90,0x90,0x90,0x60,0x00,
-
- 5, // 0x39 '9'
- 0x00,0x60,0x90,0x90,0x90,0x70,0x10,0x10,0x90,0x60,0x00,
-
- 4, // 0x3A ':'
- 0x00,0x00,0x00,0x60,0x60,0x00,0x00,0x00,0x60,0x60,0x00,
-
- 4, // 0x3B ';'
- 0x00,0x00,0x00,0x60,0x60,0x00,0x00,0x00,0x60,0x60,0xC0,
-
- 6, // 0x3C '<'
- 0x00,0x08,0x10,0x20,0x40,0x80,0x40,0x20,0x10,0x08,0x00,
-
- 5, // 0x3D '='
- 0x00,0x00,0x00,0x00,0xF0,0x00,0x00,0xF0,0x00,0x00,0x00,
-
- 6, // 0x3E '>'
- 0x00,0x80,0x40,0x20,0x10,0x08,0x10,0x20,0x40,0x80,0x00,
-
- 5, // 0x3F '?'
- 0x00,0x60,0x90,0x10,0x10,0x20,0x40,0x00,0x40,0x00,0x00,
-
- 5, // 0x40 '@'
- 0x00,0x60,0x90,0x90,0xB0,0xB0,0xB0,0x80,0x80,0x70,0x00,
-
- 5, // 0x41 'A'
- 0x00,0x60,0x90,0x90,0x90,0xF0,0x90,0x90,0x90,0x90,0x00,
-
- 5, // 0x42 'B'
- 0x00,0xE0,0x90,0x90,0x90,0xE0,0x90,0x90,0x90,0xE0,0x00,
-
- 5, // 0x43 'C'
- 0x00,0x60,0x90,0x80,0x80,0x80,0x80,0x80,0x90,0x60,0x00,
-
- 5, // 0x44 'D'
- 0x00,0xE0,0x90,0x90,0x90,0x90,0x90,0x90,0x90,0xE0,0x00,
-
- 5, // 0x45 'E'
- 0x00,0xF0,0x80,0x80,0x80,0xF0,0x80,0x80,0x80,0xF0,0x00,
-
- 5, // 0x46 'F'
- 0x00,0xF0,0x80,0x80,0x80,0xF0,0x80,0x80,0x80,0x80,0x00,
-
- 5, // 0x47 'G'
- 0x00,0x70,0x80,0x80,0x80,0xB0,0x90,0x90,0x90,0x60,0x00,
-
- 5, // 0x48 'H'
- 0x00,0x90,0x90,0x90,0x90,0xF0,0x90,0x90,0x90,0x90,0x00,
-
- 4, // 0x49 'I'
- 0x00,0xE0,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0xE0,0x00,
-
- 5, // 0x4A 'J'
- 0x00,0x70,0x20,0x20,0x20,0x20,0x20,0xA0,0xA0,0x40,0x00,
-
- 5, // 0x4B 'K'
- 0x00,0x90,0x90,0xA0,0xA0,0xC0,0xA0,0xA0,0x90,0x90,0x00,
-
- 5, // 0x4C 'L'
- 0x00,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0xF0,0x00,
-
- 6, // 0x4D 'M'
- 0x00,0x88,0xD8,0xA8,0xA8,0xA8,0x88,0x88,0x88,0x88,0x00,
-
- 5, // 0x4E 'N'
- 0x00,0x90,0x90,0xD0,0xD0,0xB0,0xB0,0x90,0x90,0x90,0x00,
-
- 5, // 0x4F 'O'
- 0x00,0x60,0x90,0x90,0x90,0x90,0x90,0x90,0x90,0x60,0x00,
-
- 5, // 0x50 'P'
- 0x00,0xE0,0x90,0x90,0x90,0x90,0xE0,0x80,0x80,0x80,0x00,
-
- 5, // 0x51 'Q'
- 0x00,0x60,0x90,0x90,0x90,0x90,0x90,0x90,0x90,0x60,0x30,
-
- 5, // 0x52 'R'
- 0x00,0xE0,0x90,0x90,0x90,0x90,0xE0,0xA0,0x90,0x90,0x00,
-
- 5, // 0x53 'S'
- 0x00,0x60,0x90,0x80,0x80,0x60,0x10,0x10,0x90,0x60,0x00,
-
- 6, // 0x54 'T'
- 0x00,0xF8,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x00,
-
- 5, // 0x55 'U'
- 0x00,0x90,0x90,0x90,0x90,0x90,0x90,0x90,0x90,0x60,0x00,
-
- 6, // 0x56 'V'
- 0x00,0x88,0x88,0x88,0x88,0x50,0x50,0x50,0x20,0x20,0x00,
-
- 6, // 0x57 'W'
- 0x00,0x88,0x88,0x88,0xA8,0xA8,0xA8,0xA8,0xA8,0x50,0x00,
-
- 5, // 0x58 'X'
- 0x00,0x90,0x90,0x90,0x60,0x60,0x90,0x90,0x90,0x90,0x00,
-
- 6, // 0x59 'Y'
- 0x00,0x88,0x88,0x88,0x50,0x20,0x20,0x20,0x20,0x20,0x00,
-
- 5, // 0x5A 'Z'
- 0x00,0xF0,0x10,0x20,0x20,0x40,0x40,0x80,0x80,0xF0,0x00,
-
- 4, // 0x5B '['
- 0x60,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x60,0x00,
-
- 6, // 0x5C '\'
- 0x80,0x80,0x40,0x40,0x20,0x20,0x10,0x10,0x08,0x08,0x00,
-
- 4, // 0x5D ']'
- 0x60,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x60,0x00,
-
- 5, // 0x5E '^'
- 0x00,0x20,0x50,0x88,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 5, // 0x5F '_'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0x00,
-
- 5, // 0x60 '`'
- 0x00,0x40,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 5, // 0x61 'a'
- 0x00,0x00,0x00,0x60,0x90,0x10,0x70,0x90,0x90,0x70,0x00,
-
- 5, // 0x62 'b'
- 0x00,0x80,0x80,0x80,0xE0,0x90,0x90,0x90,0x90,0xE0,0x00,
-
- 5, // 0x63 'c'
- 0x00,0x00,0x00,0x60,0x90,0x80,0x80,0x80,0x90,0x60,0x00,
-
- 5, // 0x64 'd'
- 0x00,0x10,0x10,0x10,0x70,0x90,0x90,0x90,0x90,0x70,0x00,
-
- 5, // 0x65 'e'
- 0x00,0x00,0x00,0x60,0x90,0x90,0xF0,0x80,0x90,0x60,0x00,
-
- 4, // 0x66 'f'
- 0x00,0x20,0x40,0x40,0xE0,0x40,0x40,0x40,0x40,0x40,0x00,
-
- 5, // 0x67 'g'
- 0x00,0x00,0x00,0x70,0x90,0x90,0x90,0x70,0x10,0x90,0x60,
-
- 5, // 0x68 'h'
- 0x00,0x80,0x80,0x80,0xE0,0x90,0x90,0x90,0x90,0x90,0x00,
-
- 2, // 0x69 'i'
- 0x00,0x80,0x00,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x00,
-
- 4, // 0x6A 'j'
- 0x00,0x20,0x00,0x20,0x20,0x20,0x20,0x20,0x20,0xA0,0x40,
-
- 5, // 0x6B 'k'
- 0x00,0x80,0x80,0x90,0x90,0xA0,0xC0,0xA0,0x90,0x90,0x00,
-
- 2, // 0x6C 'l'
- 0x00,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x00,
-
- 6, // 0x6D 'm'
- 0x00,0x00,0x00,0xD0,0xA8,0xA8,0xA8,0x88,0x88,0x88,0x00,
-
- 5, // 0x6E 'n'
- 0x00,0x00,0x00,0xA0,0xD0,0x90,0x90,0x90,0x90,0x90,0x00,
-
- 5, // 0x6F 'o'
- 0x00,0x00,0x00,0x60,0x90,0x90,0x90,0x90,0x90,0x60,0x00,
-
- 5, // 0x70 'p'
- 0x00,0x00,0x00,0xE0,0x90,0x90,0x90,0x90,0xE0,0x80,0x80,
-
- 5, // 0x71 'q'
- 0x00,0x00,0x00,0x70,0x90,0x90,0x90,0x90,0x70,0x10,0x10,
-
- 6, // 0x72 'r'
- 0x00,0x00,0x00,0xB8,0x48,0x40,0x40,0x40,0x40,0x40,0x00,
-
- 5, // 0x73 's'
- 0x00,0x00,0x00,0x60,0x90,0x40,0x20,0x10,0x90,0x60,0x00,
-
- 4, // 0x74 't'
- 0x00,0x40,0x40,0xE0,0x40,0x40,0x40,0x40,0x40,0x20,0x00,
-
- 5, // 0x75 'u'
- 0x00,0x00,0x00,0x90,0x90,0x90,0x90,0x90,0x90,0x70,0x00,
-
- 6, // 0x76 'v'
- 0x00,0x00,0x00,0x88,0x88,0x88,0x50,0x50,0x20,0x20,0x00,
-
- 6, // 0x77 'w'
- 0x00,0x00,0x00,0x88,0x88,0x88,0xA8,0xA8,0xA8,0x50,0x00,
-
- 5, // 0x78 'x'
- 0x00,0x00,0x00,0x90,0x90,0x60,0x60,0x90,0x90,0x90,0x00,
-
- 5, // 0x79 'y'
- 0x00,0x00,0x00,0x90,0x90,0x90,0x90,0x70,0x10,0x20,0xC0,
-
- 5, // 0x7A 'z'
- 0x00,0x00,0x00,0xF0,0x10,0x20,0x40,0x80,0x80,0xF0,0x00,
-
- 5, // 0x7B '{'
- 0x30,0x40,0x40,0x40,0x40,0x80,0x40,0x40,0x40,0x40,0x30,
-
- 3, // 0x7C '|'
- 0x00,0x40,0x40,0x40,0x40,0x00,0x40,0x40,0x40,0x40,0x00,
-
- 5, // 0x7D '}'
- 0xC0,0x20,0x20,0x20,0x20,0x10,0x20,0x20,0x20,0x20,0xC0,
-
- 5, // 0x7E '~'
- 0x00,0x40,0xA8,0x10,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 5, // 0x7F ''
- 0x00,0x20,0x70,0xD8,0x88,0x88,0xF8,0x00,0x00,0x00,0x00,
-
- 0
- };
-
- const int8u mcs12_prop[] =
- {
- 12, 3, 32, 128-32,
- 0x00,0x00,0x0D,0x00,0x1A,0x00,0x27,0x00,0x34,0x00,0x41,0x00,0x4E,0x00,0x5B,0x00,0x68,0x00,
- 0x75,0x00,0x82,0x00,0x8F,0x00,0x9C,0x00,0xA9,0x00,0xB6,0x00,0xC3,0x00,0xD0,0x00,0xDD,0x00,
- 0xEA,0x00,0xF7,0x00,0x04,0x01,0x11,0x01,0x1E,0x01,0x2B,0x01,0x38,0x01,0x45,0x01,0x52,0x01,
- 0x5F,0x01,0x6C,0x01,0x79,0x01,0x86,0x01,0x93,0x01,0xA0,0x01,0xAD,0x01,0xBA,0x01,0xC7,0x01,
- 0xD4,0x01,0xE1,0x01,0xEE,0x01,0xFB,0x01,0x08,0x02,0x15,0x02,0x22,0x02,0x2F,0x02,0x3C,0x02,
- 0x49,0x02,0x62,0x02,0x6F,0x02,0x7C,0x02,0x89,0x02,0x96,0x02,0xA3,0x02,0xB0,0x02,0xBD,0x02,
- 0xCA,0x02,0xD7,0x02,0xF0,0x02,0xFD,0x02,0x0A,0x03,0x17,0x03,0x24,0x03,0x31,0x03,0x3E,0x03,
- 0x4B,0x03,0x58,0x03,0x65,0x03,0x72,0x03,0x7F,0x03,0x8C,0x03,0x99,0x03,0xA6,0x03,0xB3,0x03,
- 0xC0,0x03,0xCD,0x03,0xDA,0x03,0xE7,0x03,0xF4,0x03,0x01,0x04,0x1A,0x04,0x27,0x04,0x34,0x04,
- 0x41,0x04,0x4E,0x04,0x5B,0x04,0x68,0x04,0x75,0x04,0x82,0x04,0x8F,0x04,0xA8,0x04,0xB5,0x04,
- 0xC2,0x04,0xCF,0x04,0xDC,0x04,0xE9,0x04,0xF6,0x04,0x03,0x05,
-
- 5, // 0x20 ' '
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 4, // 0x21 '!'
- 0x00,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x00,0x20,0x00,0x00,
-
- 4, // 0x22 '"'
- 0x50,0x50,0xA0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 6, // 0x23 '#'
- 0x28,0x28,0x28,0x7C,0x28,0x28,0x28,0x7C,0x28,0x28,0x28,0x00,
-
- 6, // 0x24 '$'
- 0x10,0x10,0x38,0x54,0x50,0x38,0x14,0x54,0x38,0x10,0x10,0x00,
-
- 7, // 0x25 '%'
- 0x32,0x54,0x64,0x08,0x08,0x10,0x10,0x26,0x2A,0x4C,0x00,0x00,
-
- 7, // 0x26 '&'
- 0x00,0x30,0x48,0x48,0x48,0x30,0x4A,0x4A,0x44,0x3A,0x00,0x00,
-
- 3, // 0x27 '''
- 0x40,0x40,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 5, // 0x28 '('
- 0x10,0x20,0x20,0x40,0x40,0x40,0x40,0x40,0x20,0x20,0x10,0x00,
-
- 5, // 0x29 ')'
- 0x40,0x20,0x20,0x10,0x10,0x10,0x10,0x10,0x20,0x20,0x40,0x00,
-
- 6, // 0x2A '*'
- 0x00,0x00,0x10,0x54,0x38,0x7C,0x38,0x54,0x10,0x00,0x00,0x00,
-
- 6, // 0x2B '+'
- 0x00,0x00,0x00,0x00,0x10,0x10,0x7C,0x10,0x10,0x00,0x00,0x00,
-
- 4, // 0x2C ','
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x60,0x60,0x40,0x80,
-
- 6, // 0x2D '-'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x7C,0x00,0x00,0x00,0x00,0x00,
-
- 4, // 0x2E '.'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x60,0x60,0x00,0x00,
-
- 7, // 0x2F '/'
- 0x00,0x04,0x04,0x08,0x08,0x10,0x10,0x20,0x20,0x40,0x40,0x00,
-
- 7, // 0x30 '0'
- 0x00,0x38,0x44,0x44,0x54,0x54,0x54,0x44,0x44,0x38,0x00,0x00,
-
- 4, // 0x31 '1'
- 0x00,0x20,0x60,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x00,0x00,
-
- 7, // 0x32 '2'
- 0x00,0x38,0x44,0x04,0x04,0x08,0x10,0x20,0x40,0x7C,0x00,0x00,
-
- 7, // 0x33 '3'
- 0x00,0x38,0x44,0x04,0x04,0x38,0x04,0x04,0x44,0x38,0x00,0x00,
-
- 6, // 0x34 '4'
- 0x00,0x08,0x18,0x28,0x28,0x48,0x48,0x7C,0x08,0x08,0x00,0x00,
-
- 7, // 0x35 '5'
- 0x00,0x7C,0x40,0x40,0x78,0x44,0x04,0x04,0x44,0x38,0x00,0x00,
-
- 7, // 0x36 '6'
- 0x00,0x38,0x44,0x40,0x78,0x44,0x44,0x44,0x44,0x38,0x00,0x00,
-
- 6, // 0x37 '7'
- 0x00,0x7C,0x04,0x08,0x08,0x10,0x10,0x20,0x20,0x20,0x00,0x00,
-
- 7, // 0x38 '8'
- 0x00,0x38,0x44,0x44,0x44,0x38,0x44,0x44,0x44,0x38,0x00,0x00,
-
- 7, // 0x39 '9'
- 0x00,0x38,0x44,0x44,0x44,0x3C,0x04,0x04,0x44,0x38,0x00,0x00,
-
- 4, // 0x3A ':'
- 0x00,0x00,0x00,0x60,0x60,0x00,0x00,0x00,0x60,0x60,0x00,0x00,
-
- 4, // 0x3B ';'
- 0x00,0x00,0x00,0x60,0x60,0x00,0x00,0x00,0x60,0x60,0x40,0x80,
-
- 6, // 0x3C '<'
- 0x00,0x00,0x04,0x08,0x10,0x20,0x40,0x20,0x10,0x08,0x04,0x00,
-
- 6, // 0x3D '='
- 0x00,0x00,0x00,0x00,0x7C,0x00,0x00,0x7C,0x00,0x00,0x00,0x00,
-
- 6, // 0x3E '>'
- 0x00,0x00,0x40,0x20,0x10,0x08,0x04,0x08,0x10,0x20,0x40,0x00,
-
- 6, // 0x3F '?'
- 0x00,0x38,0x44,0x04,0x04,0x08,0x10,0x10,0x00,0x10,0x00,0x00,
-
- 7, // 0x40 '@'
- 0x00,0x38,0x44,0x44,0x5C,0x54,0x54,0x4C,0x40,0x38,0x00,0x00,
-
- 7, // 0x41 'A'
- 0x00,0x38,0x44,0x44,0x44,0x7C,0x44,0x44,0x44,0x44,0x00,0x00,
-
- 7, // 0x42 'B'
- 0x00,0x78,0x44,0x44,0x44,0x78,0x44,0x44,0x44,0x78,0x00,0x00,
-
- 6, // 0x43 'C'
- 0x00,0x38,0x44,0x40,0x40,0x40,0x40,0x40,0x44,0x38,0x00,0x00,
-
- 7, // 0x44 'D'
- 0x00,0x70,0x48,0x44,0x44,0x44,0x44,0x44,0x48,0x70,0x00,0x00,
-
- 6, // 0x45 'E'
- 0x00,0x7C,0x40,0x40,0x40,0x78,0x40,0x40,0x40,0x7C,0x00,0x00,
-
- 6, // 0x46 'F'
- 0x00,0x7C,0x40,0x40,0x40,0x78,0x40,0x40,0x40,0x40,0x00,0x00,
-
- 7, // 0x47 'G'
- 0x00,0x38,0x44,0x40,0x40,0x5C,0x44,0x44,0x4C,0x34,0x00,0x00,
-
- 7, // 0x48 'H'
- 0x00,0x44,0x44,0x44,0x44,0x7C,0x44,0x44,0x44,0x44,0x00,0x00,
-
- 5, // 0x49 'I'
- 0x00,0x70,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x70,0x00,0x00,
-
- 6, // 0x4A 'J'
- 0x00,0x1C,0x08,0x08,0x08,0x08,0x08,0x48,0x48,0x30,0x00,0x00,
-
- 6, // 0x4B 'K'
- 0x00,0x44,0x48,0x50,0x60,0x60,0x50,0x48,0x44,0x44,0x00,0x00,
-
- 6, // 0x4C 'L'
- 0x00,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x7C,0x00,0x00,
-
- 9, // 0x4D 'M'
- 0x00,0x00,0x41,0x00,0x63,0x00,0x55,0x00,0x49,0x00,0x49,0x00,0x41,0x00,0x41,0x00,0x41,0x00,0x41,0x00,0x00,0x00,0x00,0x00,
-
- 7, // 0x4E 'N'
- 0x00,0x44,0x64,0x64,0x54,0x54,0x4C,0x4C,0x44,0x44,0x00,0x00,
-
- 7, // 0x4F 'O'
- 0x00,0x38,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x38,0x00,0x00,
-
- 7, // 0x50 'P'
- 0x00,0x78,0x44,0x44,0x44,0x44,0x78,0x40,0x40,0x40,0x00,0x00,
-
- 7, // 0x51 'Q'
- 0x00,0x38,0x44,0x44,0x44,0x44,0x44,0x54,0x48,0x34,0x00,0x00,
-
- 7, // 0x52 'R'
- 0x00,0x78,0x44,0x44,0x44,0x44,0x78,0x48,0x44,0x44,0x00,0x00,
-
- 7, // 0x53 'S'
- 0x00,0x38,0x44,0x40,0x40,0x38,0x04,0x04,0x44,0x38,0x00,0x00,
-
- 6, // 0x54 'T'
- 0x00,0x7C,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x00,0x00,
-
- 7, // 0x55 'U'
- 0x00,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x38,0x00,0x00,
-
- 6, // 0x56 'V'
- 0x00,0x44,0x44,0x44,0x44,0x28,0x28,0x28,0x10,0x10,0x00,0x00,
-
- 9, // 0x57 'W'
- 0x00,0x00,0x41,0x00,0x41,0x00,0x41,0x00,0x41,0x00,0x41,0x00,0x49,0x00,0x49,0x00,0x55,0x00,0x22,0x00,0x00,0x00,0x00,0x00,
-
- 7, // 0x58 'X'
- 0x00,0x44,0x44,0x44,0x28,0x10,0x28,0x44,0x44,0x44,0x00,0x00,
-
- 7, // 0x59 'Y'
- 0x00,0x44,0x44,0x44,0x44,0x28,0x10,0x10,0x10,0x10,0x00,0x00,
-
- 6, // 0x5A 'Z'
- 0x00,0x7C,0x04,0x04,0x08,0x10,0x20,0x40,0x40,0x7C,0x00,0x00,
-
- 4, // 0x5B '['
- 0x70,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x70,0x00,
-
- 7, // 0x5C '\'
- 0x00,0x40,0x40,0x20,0x20,0x10,0x10,0x08,0x08,0x04,0x04,0x00,
-
- 4, // 0x5D ']'
- 0xE0,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0xE0,0x00,
-
- 6, // 0x5E '^'
- 0x00,0x10,0x28,0x44,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 6, // 0x5F '_'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7C,0x00,0x00,
-
- 4, // 0x60 '`'
- 0x00,0x40,0x40,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 7, // 0x61 'a'
- 0x00,0x00,0x00,0x38,0x04,0x3C,0x44,0x44,0x44,0x3C,0x00,0x00,
-
- 7, // 0x62 'b'
- 0x00,0x40,0x40,0x78,0x44,0x44,0x44,0x44,0x44,0x78,0x00,0x00,
-
- 6, // 0x63 'c'
- 0x00,0x00,0x00,0x38,0x44,0x40,0x40,0x40,0x44,0x38,0x00,0x00,
-
- 7, // 0x64 'd'
- 0x00,0x04,0x04,0x3C,0x44,0x44,0x44,0x44,0x44,0x3C,0x00,0x00,
-
- 7, // 0x65 'e'
- 0x00,0x00,0x00,0x38,0x44,0x44,0x7C,0x40,0x44,0x38,0x00,0x00,
-
- 4, // 0x66 'f'
- 0x00,0x30,0x40,0xE0,0x40,0x40,0x40,0x40,0x40,0x40,0x00,0x00,
-
- 7, // 0x67 'g'
- 0x00,0x00,0x00,0x3C,0x44,0x44,0x44,0x44,0x44,0x3C,0x04,0x78,
-
- 7, // 0x68 'h'
- 0x00,0x40,0x40,0x78,0x44,0x44,0x44,0x44,0x44,0x44,0x00,0x00,
-
- 3, // 0x69 'i'
- 0x00,0x40,0x00,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x00,0x00,
-
- 5, // 0x6A 'j'
- 0x00,0x10,0x00,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x90,0x60,
-
- 6, // 0x6B 'k'
- 0x00,0x40,0x40,0x44,0x48,0x50,0x60,0x50,0x48,0x44,0x00,0x00,
-
- 3, // 0x6C 'l'
- 0x00,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x00,0x00,
-
- 9, // 0x6D 'm'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x76,0x00,0x49,0x00,0x49,0x00,0x49,0x00,0x41,0x00,0x41,0x00,0x41,0x00,0x00,0x00,0x00,0x00,
-
- 7, // 0x6E 'n'
- 0x00,0x00,0x00,0x58,0x64,0x44,0x44,0x44,0x44,0x44,0x00,0x00,
-
- 7, // 0x6F 'o'
- 0x00,0x00,0x00,0x38,0x44,0x44,0x44,0x44,0x44,0x38,0x00,0x00,
-
- 7, // 0x70 'p'
- 0x00,0x00,0x00,0x78,0x44,0x44,0x44,0x44,0x44,0x78,0x40,0x40,
-
- 7, // 0x71 'q'
- 0x00,0x00,0x00,0x3C,0x44,0x44,0x44,0x44,0x44,0x3C,0x04,0x04,
-
- 6, // 0x72 'r'
- 0x00,0x00,0x00,0x58,0x24,0x20,0x20,0x20,0x20,0x70,0x00,0x00,
-
- 7, // 0x73 's'
- 0x00,0x00,0x00,0x38,0x44,0x40,0x38,0x04,0x44,0x38,0x00,0x00,
-
- 5, // 0x74 't'
- 0x00,0x20,0x20,0x70,0x20,0x20,0x20,0x20,0x20,0x18,0x00,0x00,
-
- 7, // 0x75 'u'
- 0x00,0x00,0x00,0x44,0x44,0x44,0x44,0x44,0x4C,0x34,0x00,0x00,
-
- 6, // 0x76 'v'
- 0x00,0x00,0x00,0x44,0x44,0x44,0x28,0x28,0x10,0x10,0x00,0x00,
-
- 9, // 0x77 'w'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x41,0x00,0x41,0x00,0x41,0x00,0x49,0x00,0x49,0x00,0x49,0x00,0x36,0x00,0x00,0x00,0x00,0x00,
-
- 7, // 0x78 'x'
- 0x00,0x00,0x00,0x44,0x44,0x28,0x10,0x28,0x44,0x44,0x00,0x00,
-
- 7, // 0x79 'y'
- 0x00,0x00,0x00,0x44,0x44,0x44,0x44,0x44,0x44,0x3C,0x08,0x70,
-
- 6, // 0x7A 'z'
- 0x00,0x00,0x00,0x7C,0x04,0x08,0x10,0x20,0x40,0x7C,0x00,0x00,
-
- 5, // 0x7B '{'
- 0x18,0x20,0x20,0x20,0x20,0xC0,0x20,0x20,0x20,0x20,0x18,0x00,
-
- 3, // 0x7C '|'
- 0x00,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x00,
-
- 5, // 0x7D '}'
- 0xC0,0x20,0x20,0x20,0x20,0x18,0x20,0x20,0x20,0x20,0xC0,0x00,
-
- 7, // 0x7E '~'
- 0x00,0x60,0x92,0x92,0x0C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 7, // 0x7F ''
- 0x00,0x10,0x38,0x6C,0x44,0x44,0x7C,0x00,0x00,0x00,0x00,0x00,
-
- 0
- };
-
- const int8u mcs13_prop[] =
- {
- 13, 4, 32, 128-32,
- 0x00,0x00,0x0E,0x00,0x1C,0x00,0x2A,0x00,0x38,0x00,0x46,0x00,0x54,0x00,0x62,0x00,0x70,0x00,
- 0x7E,0x00,0x8C,0x00,0x9A,0x00,0xA8,0x00,0xB6,0x00,0xC4,0x00,0xD2,0x00,0xE0,0x00,0xEE,0x00,
- 0xFC,0x00,0x0A,0x01,0x18,0x01,0x26,0x01,0x34,0x01,0x42,0x01,0x50,0x01,0x5E,0x01,0x6C,0x01,
- 0x7A,0x01,0x88,0x01,0x96,0x01,0xA4,0x01,0xB2,0x01,0xC0,0x01,0xCE,0x01,0xDC,0x01,0xEA,0x01,
- 0xF8,0x01,0x06,0x02,0x14,0x02,0x22,0x02,0x30,0x02,0x3E,0x02,0x4C,0x02,0x5A,0x02,0x68,0x02,
- 0x76,0x02,0x91,0x02,0x9F,0x02,0xAD,0x02,0xBB,0x02,0xC9,0x02,0xD7,0x02,0xE5,0x02,0xF3,0x02,
- 0x01,0x03,0x0F,0x03,0x2A,0x03,0x38,0x03,0x46,0x03,0x54,0x03,0x62,0x03,0x70,0x03,0x7E,0x03,
- 0x8C,0x03,0x9A,0x03,0xA8,0x03,0xB6,0x03,0xC4,0x03,0xD2,0x03,0xE0,0x03,0xEE,0x03,0xFC,0x03,
- 0x0A,0x04,0x18,0x04,0x26,0x04,0x34,0x04,0x42,0x04,0x50,0x04,0x6B,0x04,0x79,0x04,0x87,0x04,
- 0x95,0x04,0xA3,0x04,0xB1,0x04,0xBF,0x04,0xCD,0x04,0xDB,0x04,0xE9,0x04,0x04,0x05,0x12,0x05,
- 0x20,0x05,0x2E,0x05,0x3C,0x05,0x4A,0x05,0x58,0x05,0x66,0x05,
-
- 5, // 0x20 ' '
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 4, // 0x21 '!'
- 0x00,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x00,0x20,0x00,0x00,
-
- 4, // 0x22 '"'
- 0x00,0x50,0x50,0xA0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 6, // 0x23 '#'
- 0x00,0x28,0x28,0x28,0x7C,0x28,0x28,0x28,0x7C,0x28,0x28,0x28,0x00,
-
- 6, // 0x24 '$'
- 0x00,0x10,0x10,0x38,0x54,0x50,0x38,0x14,0x54,0x38,0x10,0x10,0x00,
-
- 7, // 0x25 '%'
- 0x00,0x32,0x54,0x64,0x08,0x08,0x10,0x10,0x26,0x2A,0x4C,0x00,0x00,
-
- 7, // 0x26 '&'
- 0x00,0x30,0x48,0x48,0x48,0x30,0x4A,0x4A,0x44,0x3A,0x00,0x00,0x00,
-
- 3, // 0x27 '''
- 0x00,0x40,0x40,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 5, // 0x28 '('
- 0x10,0x20,0x20,0x40,0x40,0x40,0x40,0x40,0x20,0x20,0x10,0x00,0x00,
-
- 5, // 0x29 ')'
- 0x40,0x20,0x20,0x10,0x10,0x10,0x10,0x10,0x20,0x20,0x40,0x00,0x00,
-
- 6, // 0x2A '*'
- 0x00,0x00,0x10,0x54,0x38,0x7C,0x38,0x54,0x10,0x00,0x00,0x00,0x00,
-
- 6, // 0x2B '+'
- 0x00,0x00,0x00,0x00,0x10,0x10,0x7C,0x10,0x10,0x00,0x00,0x00,0x00,
-
- 4, // 0x2C ','
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x60,0x60,0x20,0x40,0x80,
-
- 6, // 0x2D '-'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x7C,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 4, // 0x2E '.'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x60,0x60,0x00,0x00,0x00,
-
- 7, // 0x2F '/'
- 0x00,0x04,0x04,0x08,0x08,0x10,0x10,0x20,0x20,0x40,0x40,0x00,0x00,
-
- 7, // 0x30 '0'
- 0x00,0x38,0x44,0x44,0x54,0x54,0x54,0x44,0x44,0x38,0x00,0x00,0x00,
-
- 4, // 0x31 '1'
- 0x00,0x20,0x60,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x00,0x00,0x00,
-
- 7, // 0x32 '2'
- 0x00,0x38,0x44,0x04,0x04,0x08,0x10,0x20,0x40,0x7C,0x00,0x00,0x00,
-
- 7, // 0x33 '3'
- 0x00,0x38,0x44,0x04,0x04,0x38,0x04,0x04,0x44,0x38,0x00,0x00,0x00,
-
- 6, // 0x34 '4'
- 0x00,0x08,0x18,0x28,0x28,0x48,0x48,0x7C,0x08,0x08,0x00,0x00,0x00,
-
- 7, // 0x35 '5'
- 0x00,0x7C,0x40,0x40,0x78,0x44,0x04,0x04,0x44,0x38,0x00,0x00,0x00,
-
- 7, // 0x36 '6'
- 0x00,0x38,0x44,0x40,0x78,0x44,0x44,0x44,0x44,0x38,0x00,0x00,0x00,
-
- 6, // 0x37 '7'
- 0x00,0x7C,0x04,0x08,0x08,0x10,0x10,0x20,0x20,0x20,0x00,0x00,0x00,
-
- 7, // 0x38 '8'
- 0x00,0x38,0x44,0x44,0x44,0x38,0x44,0x44,0x44,0x38,0x00,0x00,0x00,
-
- 7, // 0x39 '9'
- 0x00,0x38,0x44,0x44,0x44,0x3C,0x04,0x04,0x44,0x38,0x00,0x00,0x00,
-
- 4, // 0x3A ':'
- 0x00,0x00,0x00,0x60,0x60,0x00,0x00,0x00,0x60,0x60,0x00,0x00,0x00,
-
- 4, // 0x3B ';'
- 0x00,0x00,0x00,0x60,0x60,0x00,0x00,0x00,0x60,0x60,0x20,0x40,0x80,
-
- 6, // 0x3C '<'
- 0x00,0x00,0x04,0x08,0x10,0x20,0x40,0x20,0x10,0x08,0x04,0x00,0x00,
-
- 6, // 0x3D '='
- 0x00,0x00,0x00,0x00,0x7C,0x00,0x00,0x7C,0x00,0x00,0x00,0x00,0x00,
-
- 6, // 0x3E '>'
- 0x00,0x00,0x40,0x20,0x10,0x08,0x04,0x08,0x10,0x20,0x40,0x00,0x00,
-
- 6, // 0x3F '?'
- 0x00,0x38,0x44,0x04,0x04,0x08,0x10,0x10,0x00,0x10,0x00,0x00,0x00,
-
- 7, // 0x40 '@'
- 0x00,0x38,0x44,0x44,0x5C,0x54,0x54,0x4C,0x40,0x38,0x00,0x00,0x00,
-
- 7, // 0x41 'A'
- 0x00,0x38,0x44,0x44,0x44,0x7C,0x44,0x44,0x44,0x44,0x00,0x00,0x00,
-
- 7, // 0x42 'B'
- 0x00,0x78,0x44,0x44,0x44,0x78,0x44,0x44,0x44,0x78,0x00,0x00,0x00,
-
- 6, // 0x43 'C'
- 0x00,0x38,0x44,0x40,0x40,0x40,0x40,0x40,0x44,0x38,0x00,0x00,0x00,
-
- 7, // 0x44 'D'
- 0x00,0x70,0x48,0x44,0x44,0x44,0x44,0x44,0x48,0x70,0x00,0x00,0x00,
-
- 6, // 0x45 'E'
- 0x00,0x7C,0x40,0x40,0x40,0x78,0x40,0x40,0x40,0x7C,0x00,0x00,0x00,
-
- 6, // 0x46 'F'
- 0x00,0x7C,0x40,0x40,0x40,0x78,0x40,0x40,0x40,0x40,0x00,0x00,0x00,
-
- 7, // 0x47 'G'
- 0x00,0x38,0x44,0x40,0x40,0x5C,0x44,0x44,0x4C,0x34,0x00,0x00,0x00,
-
- 7, // 0x48 'H'
- 0x00,0x44,0x44,0x44,0x44,0x7C,0x44,0x44,0x44,0x44,0x00,0x00,0x00,
-
- 5, // 0x49 'I'
- 0x00,0x70,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x70,0x00,0x00,0x00,
-
- 6, // 0x4A 'J'
- 0x00,0x1C,0x08,0x08,0x08,0x08,0x08,0x48,0x48,0x30,0x00,0x00,0x00,
-
- 6, // 0x4B 'K'
- 0x00,0x44,0x48,0x50,0x60,0x60,0x50,0x48,0x44,0x44,0x00,0x00,0x00,
-
- 6, // 0x4C 'L'
- 0x00,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x7C,0x00,0x00,0x00,
-
- 9, // 0x4D 'M'
- 0x00,0x00,0x41,0x00,0x63,0x00,0x55,0x00,0x49,0x00,0x49,0x00,0x41,0x00,0x41,0x00,0x41,0x00,0x41,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 7, // 0x4E 'N'
- 0x00,0x44,0x64,0x64,0x54,0x54,0x4C,0x4C,0x44,0x44,0x00,0x00,0x00,
-
- 7, // 0x4F 'O'
- 0x00,0x38,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x38,0x00,0x00,0x00,
-
- 7, // 0x50 'P'
- 0x00,0x78,0x44,0x44,0x44,0x44,0x78,0x40,0x40,0x40,0x00,0x00,0x00,
-
- 7, // 0x51 'Q'
- 0x00,0x38,0x44,0x44,0x44,0x44,0x44,0x54,0x48,0x34,0x00,0x00,0x00,
-
- 7, // 0x52 'R'
- 0x00,0x78,0x44,0x44,0x44,0x44,0x78,0x48,0x44,0x44,0x00,0x00,0x00,
-
- 7, // 0x53 'S'
- 0x00,0x38,0x44,0x40,0x40,0x38,0x04,0x04,0x44,0x38,0x00,0x00,0x00,
-
- 6, // 0x54 'T'
- 0x00,0x7C,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x00,0x00,0x00,
-
- 7, // 0x55 'U'
- 0x00,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x38,0x00,0x00,0x00,
-
- 6, // 0x56 'V'
- 0x00,0x44,0x44,0x44,0x44,0x28,0x28,0x28,0x10,0x10,0x00,0x00,0x00,
-
- 9, // 0x57 'W'
- 0x00,0x00,0x41,0x00,0x41,0x00,0x41,0x00,0x41,0x00,0x41,0x00,0x49,0x00,0x49,0x00,0x55,0x00,0x22,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 7, // 0x58 'X'
- 0x00,0x44,0x44,0x44,0x28,0x10,0x28,0x44,0x44,0x44,0x00,0x00,0x00,
-
- 7, // 0x59 'Y'
- 0x00,0x44,0x44,0x44,0x44,0x28,0x10,0x10,0x10,0x10,0x00,0x00,0x00,
-
- 6, // 0x5A 'Z'
- 0x00,0x7C,0x04,0x04,0x08,0x10,0x20,0x40,0x40,0x7C,0x00,0x00,0x00,
-
- 4, // 0x5B '['
- 0x70,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x70,0x00,0x00,
-
- 7, // 0x5C '\'
- 0x00,0x40,0x40,0x20,0x20,0x10,0x10,0x08,0x08,0x04,0x04,0x00,0x00,
-
- 4, // 0x5D ']'
- 0xE0,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0xE0,0x00,0x00,
-
- 6, // 0x5E '^'
- 0x00,0x10,0x28,0x44,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 6, // 0x5F '_'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7C,0x00,0x00,0x00,
-
- 4, // 0x60 '`'
- 0x00,0x40,0x40,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 7, // 0x61 'a'
- 0x00,0x00,0x00,0x38,0x04,0x3C,0x44,0x44,0x44,0x3C,0x00,0x00,0x00,
-
- 7, // 0x62 'b'
- 0x00,0x40,0x40,0x78,0x44,0x44,0x44,0x44,0x44,0x78,0x00,0x00,0x00,
-
- 6, // 0x63 'c'
- 0x00,0x00,0x00,0x38,0x44,0x40,0x40,0x40,0x44,0x38,0x00,0x00,0x00,
-
- 7, // 0x64 'd'
- 0x00,0x04,0x04,0x3C,0x44,0x44,0x44,0x44,0x44,0x3C,0x00,0x00,0x00,
-
- 7, // 0x65 'e'
- 0x00,0x00,0x00,0x38,0x44,0x44,0x7C,0x40,0x44,0x38,0x00,0x00,0x00,
-
- 4, // 0x66 'f'
- 0x00,0x30,0x40,0xE0,0x40,0x40,0x40,0x40,0x40,0x40,0x00,0x00,0x00,
-
- 7, // 0x67 'g'
- 0x00,0x00,0x00,0x3C,0x44,0x44,0x44,0x44,0x44,0x3C,0x04,0x44,0x38,
-
- 7, // 0x68 'h'
- 0x00,0x40,0x40,0x78,0x44,0x44,0x44,0x44,0x44,0x44,0x00,0x00,0x00,
-
- 3, // 0x69 'i'
- 0x00,0x40,0x00,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x00,0x00,0x00,
-
- 5, // 0x6A 'j'
- 0x00,0x10,0x00,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x90,0x60,0x00,
-
- 6, // 0x6B 'k'
- 0x00,0x40,0x40,0x44,0x48,0x50,0x60,0x50,0x48,0x44,0x00,0x00,0x00,
-
- 3, // 0x6C 'l'
- 0x00,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x00,0x00,0x00,
-
- 9, // 0x6D 'm'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x76,0x00,0x49,0x00,0x49,0x00,0x49,0x00,0x41,0x00,0x41,0x00,0x41,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 7, // 0x6E 'n'
- 0x00,0x00,0x00,0x58,0x64,0x44,0x44,0x44,0x44,0x44,0x00,0x00,0x00,
-
- 7, // 0x6F 'o'
- 0x00,0x00,0x00,0x38,0x44,0x44,0x44,0x44,0x44,0x38,0x00,0x00,0x00,
-
- 7, // 0x70 'p'
- 0x00,0x00,0x00,0x78,0x44,0x44,0x44,0x44,0x44,0x78,0x40,0x40,0x40,
-
- 7, // 0x71 'q'
- 0x00,0x00,0x00,0x3C,0x44,0x44,0x44,0x44,0x44,0x3C,0x04,0x04,0x04,
-
- 6, // 0x72 'r'
- 0x00,0x00,0x00,0x58,0x24,0x20,0x20,0x20,0x20,0x70,0x00,0x00,0x00,
-
- 7, // 0x73 's'
- 0x00,0x00,0x00,0x38,0x44,0x40,0x38,0x04,0x44,0x38,0x00,0x00,0x00,
-
- 5, // 0x74 't'
- 0x00,0x20,0x20,0x70,0x20,0x20,0x20,0x20,0x20,0x18,0x00,0x00,0x00,
-
- 7, // 0x75 'u'
- 0x00,0x00,0x00,0x44,0x44,0x44,0x44,0x44,0x4C,0x34,0x00,0x00,0x00,
-
- 6, // 0x76 'v'
- 0x00,0x00,0x00,0x44,0x44,0x44,0x28,0x28,0x10,0x10,0x00,0x00,0x00,
-
- 9, // 0x77 'w'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x41,0x00,0x41,0x00,0x41,0x00,0x49,0x00,0x49,0x00,0x49,0x00,0x36,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 7, // 0x78 'x'
- 0x00,0x00,0x00,0x44,0x44,0x28,0x10,0x28,0x44,0x44,0x00,0x00,0x00,
-
- 7, // 0x79 'y'
- 0x00,0x00,0x00,0x44,0x44,0x44,0x44,0x44,0x44,0x3C,0x04,0x08,0x70,
-
- 6, // 0x7A 'z'
- 0x00,0x00,0x00,0x7C,0x04,0x08,0x10,0x20,0x40,0x7C,0x00,0x00,0x00,
-
- 5, // 0x7B '{'
- 0x18,0x20,0x20,0x20,0x20,0xC0,0x20,0x20,0x20,0x20,0x18,0x00,0x00,
-
- 3, // 0x7C '|'
- 0x00,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x00,0x00,
-
- 5, // 0x7D '}'
- 0xC0,0x20,0x20,0x20,0x20,0x18,0x20,0x20,0x20,0x20,0xC0,0x00,0x00,
-
- 7, // 0x7E '~'
- 0x00,0x60,0x92,0x92,0x0C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 7, // 0x7F ''
- 0x00,0x10,0x38,0x6C,0x44,0x44,0x7C,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 0
- };
-
- const int8u mcs5x10_mono[] =
- {
- 10, 2, 32, 128-32,
- 0x00,0x00,0x0B,0x00,0x16,0x00,0x21,0x00,0x2C,0x00,0x37,0x00,0x42,0x00,0x4D,0x00,0x58,0x00,
- 0x63,0x00,0x6E,0x00,0x79,0x00,0x84,0x00,0x8F,0x00,0x9A,0x00,0xA5,0x00,0xB0,0x00,0xBB,0x00,
- 0xC6,0x00,0xD1,0x00,0xDC,0x00,0xE7,0x00,0xF2,0x00,0xFD,0x00,0x08,0x01,0x13,0x01,0x1E,0x01,
- 0x29,0x01,0x34,0x01,0x3F,0x01,0x4A,0x01,0x55,0x01,0x60,0x01,0x6B,0x01,0x76,0x01,0x81,0x01,
- 0x8C,0x01,0x97,0x01,0xA2,0x01,0xAD,0x01,0xB8,0x01,0xC3,0x01,0xCE,0x01,0xD9,0x01,0xE4,0x01,
- 0xEF,0x01,0xFA,0x01,0x05,0x02,0x10,0x02,0x1B,0x02,0x26,0x02,0x31,0x02,0x3C,0x02,0x47,0x02,
- 0x52,0x02,0x5D,0x02,0x68,0x02,0x73,0x02,0x7E,0x02,0x89,0x02,0x94,0x02,0x9F,0x02,0xAA,0x02,
- 0xB5,0x02,0xC0,0x02,0xCB,0x02,0xD6,0x02,0xE1,0x02,0xEC,0x02,0xF7,0x02,0x02,0x03,0x0D,0x03,
- 0x18,0x03,0x23,0x03,0x2E,0x03,0x39,0x03,0x44,0x03,0x4F,0x03,0x5A,0x03,0x65,0x03,0x70,0x03,
- 0x7B,0x03,0x86,0x03,0x91,0x03,0x9C,0x03,0xA7,0x03,0xB2,0x03,0xBD,0x03,0xC8,0x03,0xD3,0x03,
- 0xDE,0x03,0xE9,0x03,0xF4,0x03,0xFF,0x03,0x0A,0x04,0x15,0x04,
-
- 5, // 0x20 ' '
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 5, // 0x21 '!'
- 0x00,0x20,0x20,0x20,0x20,0x20,0x20,0x00,0x20,0x00,
-
- 5, // 0x22 '"'
- 0x00,0x50,0x50,0xA0,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 5, // 0x23 '#'
- 0x00,0x50,0x50,0xF8,0x50,0x50,0x50,0xF8,0x50,0x50,
-
- 5, // 0x24 '$'
- 0x00,0x40,0x60,0x90,0x80,0x60,0x10,0x90,0x60,0x20,
-
- 5, // 0x25 '%'
- 0x00,0x00,0x90,0x90,0x20,0x20,0x40,0x40,0x90,0x90,
-
- 5, // 0x26 '&'
- 0x00,0x40,0xA0,0xA0,0xA0,0x40,0xA8,0x90,0x90,0x68,
-
- 5, // 0x27 '''
- 0x00,0x20,0x20,0x40,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 5, // 0x28 '('
- 0x10,0x20,0x20,0x40,0x40,0x40,0x40,0x20,0x20,0x10,
-
- 5, // 0x29 ')'
- 0x40,0x20,0x20,0x10,0x10,0x10,0x10,0x20,0x20,0x40,
-
- 5, // 0x2A '*'
- 0x00,0x00,0x90,0x60,0xF0,0x60,0x90,0x00,0x00,0x00,
-
- 5, // 0x2B '+'
- 0x00,0x00,0x00,0x20,0x20,0xF8,0x20,0x20,0x00,0x00,
-
- 5, // 0x2C ','
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x60,0x60,0xC0,
-
- 5, // 0x2D '-'
- 0x00,0x00,0x00,0x00,0x00,0xF0,0x00,0x00,0x00,0x00,
-
- 5, // 0x2E '.'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x60,0x60,0x00,
-
- 5, // 0x2F '/'
- 0x00,0x08,0x10,0x10,0x20,0x20,0x40,0x40,0x80,0x00,
-
- 5, // 0x30 '0'
- 0x00,0x70,0x90,0x90,0x90,0x90,0x90,0x90,0xE0,0x00,
-
- 5, // 0x31 '1'
- 0x00,0x20,0x60,0x20,0x20,0x20,0x20,0x20,0x70,0x00,
-
- 5, // 0x32 '2'
- 0x00,0x60,0x90,0x90,0x10,0x20,0x40,0x80,0xF0,0x00,
-
- 5, // 0x33 '3'
- 0x00,0x60,0x90,0x10,0x60,0x10,0x10,0x90,0x60,0x00,
-
- 5, // 0x34 '4'
- 0x00,0x10,0x30,0x50,0x50,0x90,0xF0,0x10,0x10,0x00,
-
- 5, // 0x35 '5'
- 0x00,0xF0,0x80,0x80,0xE0,0x10,0x10,0x90,0x60,0x00,
-
- 5, // 0x36 '6'
- 0x00,0x60,0x80,0x80,0xE0,0x90,0x90,0x90,0x60,0x00,
-
- 5, // 0x37 '7'
- 0x00,0xF0,0x10,0x10,0x20,0x20,0x40,0x40,0x40,0x00,
-
- 5, // 0x38 '8'
- 0x00,0x60,0x90,0x90,0x60,0x90,0x90,0x90,0x60,0x00,
-
- 5, // 0x39 '9'
- 0x00,0x60,0x90,0x90,0x90,0x70,0x10,0x10,0x60,0x00,
-
- 5, // 0x3A ':'
- 0x00,0x00,0x00,0x60,0x60,0x00,0x00,0x60,0x60,0x00,
-
- 5, // 0x3B ';'
- 0x00,0x00,0x00,0x60,0x60,0x00,0x00,0x60,0x60,0xC0,
-
- 5, // 0x3C '<'
- 0x00,0x08,0x10,0x20,0x40,0x80,0x40,0x20,0x10,0x08,
-
- 5, // 0x3D '='
- 0x00,0x00,0x00,0x00,0xF0,0x00,0xF0,0x00,0x00,0x00,
-
- 5, // 0x3E '>'
- 0x00,0x80,0x40,0x20,0x10,0x08,0x10,0x20,0x40,0x80,
-
- 5, // 0x3F '?'
- 0x00,0x60,0x90,0x10,0x10,0x20,0x40,0x00,0x40,0x00,
-
- 5, // 0x40 '@'
- 0x00,0x60,0x90,0x90,0xB0,0xB0,0x80,0x80,0x70,0x00,
-
- 5, // 0x41 'A'
- 0x00,0x60,0x90,0x90,0x90,0xF0,0x90,0x90,0x90,0x00,
-
- 5, // 0x42 'B'
- 0x00,0xE0,0x90,0x90,0xE0,0x90,0x90,0x90,0xE0,0x00,
-
- 5, // 0x43 'C'
- 0x00,0x60,0x90,0x80,0x80,0x80,0x80,0x90,0x60,0x00,
-
- 5, // 0x44 'D'
- 0x00,0xE0,0x90,0x90,0x90,0x90,0x90,0x90,0xE0,0x00,
-
- 5, // 0x45 'E'
- 0x00,0xF0,0x80,0x80,0xF0,0x80,0x80,0x80,0xF0,0x00,
-
- 5, // 0x46 'F'
- 0x00,0xF0,0x80,0x80,0xF0,0x80,0x80,0x80,0x80,0x00,
-
- 5, // 0x47 'G'
- 0x00,0x60,0x90,0x80,0x80,0xB0,0x90,0x90,0x60,0x00,
-
- 5, // 0x48 'H'
- 0x00,0x90,0x90,0x90,0x90,0xF0,0x90,0x90,0x90,0x00,
-
- 5, // 0x49 'I'
- 0x00,0x70,0x20,0x20,0x20,0x20,0x20,0x20,0x70,0x00,
-
- 5, // 0x4A 'J'
- 0x00,0x70,0x20,0x20,0x20,0x20,0x20,0xA0,0x40,0x00,
-
- 5, // 0x4B 'K'
- 0x00,0x90,0xA0,0xA0,0xC0,0xC0,0xA0,0xA0,0x90,0x00,
-
- 5, // 0x4C 'L'
- 0x00,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0xF0,0x00,
-
- 5, // 0x4D 'M'
- 0x00,0x90,0x90,0xF0,0xF0,0x90,0x90,0x90,0x90,0x00,
-
- 5, // 0x4E 'N'
- 0x00,0x90,0x90,0xD0,0xD0,0xB0,0xB0,0x90,0x90,0x00,
-
- 5, // 0x4F 'O'
- 0x00,0x60,0x90,0x90,0x90,0x90,0x90,0x90,0x60,0x00,
-
- 5, // 0x50 'P'
- 0x00,0xE0,0x90,0x90,0x90,0xE0,0x80,0x80,0x80,0x00,
-
- 5, // 0x51 'Q'
- 0x00,0x60,0x90,0x90,0x90,0x90,0x90,0x90,0x60,0x30,
-
- 5, // 0x52 'R'
- 0x00,0xE0,0x90,0x90,0x90,0xE0,0xA0,0x90,0x90,0x00,
-
- 5, // 0x53 'S'
- 0x00,0x60,0x90,0x80,0x60,0x10,0x90,0x90,0x60,0x00,
-
- 5, // 0x54 'T'
- 0x00,0xF8,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x00,
-
- 5, // 0x55 'U'
- 0x00,0x90,0x90,0x90,0x90,0x90,0x90,0x90,0x60,0x00,
-
- 5, // 0x56 'V'
- 0x00,0x90,0x90,0x90,0x50,0x50,0x50,0x20,0x20,0x00,
-
- 5, // 0x57 'W'
- 0x00,0x90,0x90,0x90,0x90,0x90,0xF0,0xF0,0x90,0x00,
-
- 5, // 0x58 'X'
- 0x00,0x90,0x90,0x90,0x60,0x60,0x90,0x90,0x90,0x00,
-
- 5, // 0x59 'Y'
- 0x00,0x88,0x88,0x88,0x50,0x20,0x20,0x20,0x20,0x00,
-
- 5, // 0x5A 'Z'
- 0x00,0xF0,0x10,0x20,0x20,0x40,0x40,0x80,0xF0,0x00,
-
- 5, // 0x5B '['
- 0x60,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x60,
-
- 5, // 0x5C '\'
- 0x80,0x80,0x40,0x40,0x20,0x20,0x10,0x10,0x08,0x08,
-
- 5, // 0x5D ']'
- 0x60,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x60,
-
- 5, // 0x5E '^'
- 0x00,0x20,0x50,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 5, // 0x5F '_'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0x00,
-
- 5, // 0x60 '`'
- 0x00,0x40,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 5, // 0x61 'a'
- 0x00,0x00,0x00,0x60,0x10,0x70,0x90,0x90,0x70,0x00,
-
- 5, // 0x62 'b'
- 0x00,0x80,0x80,0xE0,0x90,0x90,0x90,0x90,0xE0,0x00,
-
- 5, // 0x63 'c'
- 0x00,0x00,0x00,0x60,0x90,0x80,0x80,0x90,0x60,0x00,
-
- 5, // 0x64 'd'
- 0x00,0x10,0x10,0x70,0x90,0x90,0x90,0x90,0x70,0x00,
-
- 5, // 0x65 'e'
- 0x00,0x00,0x00,0x60,0x90,0x90,0xF0,0x80,0x70,0x00,
-
- 5, // 0x66 'f'
- 0x00,0x30,0x40,0xE0,0x40,0x40,0x40,0x40,0x40,0x00,
-
- 5, // 0x67 'g'
- 0x00,0x00,0x00,0x70,0x90,0x90,0x90,0x70,0x10,0xE0,
-
- 5, // 0x68 'h'
- 0x00,0x80,0x80,0xE0,0x90,0x90,0x90,0x90,0x90,0x00,
-
- 5, // 0x69 'i'
- 0x00,0x20,0x00,0x60,0x20,0x20,0x20,0x20,0x70,0x00,
-
- 5, // 0x6A 'j'
- 0x00,0x20,0x00,0x60,0x20,0x20,0x20,0x20,0x20,0xC0,
-
- 5, // 0x6B 'k'
- 0x00,0x80,0x80,0x90,0xA0,0xC0,0xA0,0x90,0x90,0x00,
-
- 5, // 0x6C 'l'
- 0x00,0x60,0x20,0x20,0x20,0x20,0x20,0x20,0x70,0x00,
-
- 5, // 0x6D 'm'
- 0x00,0x00,0x00,0x90,0xF0,0x90,0x90,0x90,0x90,0x00,
-
- 5, // 0x6E 'n'
- 0x00,0x00,0x00,0xE0,0x90,0x90,0x90,0x90,0x90,0x00,
-
- 5, // 0x6F 'o'
- 0x00,0x00,0x00,0x60,0x90,0x90,0x90,0x90,0x60,0x00,
-
- 5, // 0x70 'p'
- 0x00,0x00,0x00,0xE0,0x90,0x90,0x90,0xE0,0x80,0x80,
-
- 5, // 0x71 'q'
- 0x00,0x00,0x00,0x70,0x90,0x90,0x90,0x70,0x10,0x10,
-
- 5, // 0x72 'r'
- 0x00,0x00,0x00,0xB0,0x50,0x40,0x40,0x40,0xE0,0x00,
-
- 5, // 0x73 's'
- 0x00,0x00,0x00,0x60,0x90,0x40,0x20,0x90,0x60,0x00,
-
- 5, // 0x74 't'
- 0x00,0x40,0x40,0xE0,0x40,0x40,0x40,0x50,0x20,0x00,
-
- 5, // 0x75 'u'
- 0x00,0x00,0x00,0x90,0x90,0x90,0x90,0x90,0x70,0x00,
-
- 5, // 0x76 'v'
- 0x00,0x00,0x00,0x90,0x90,0x50,0x50,0x20,0x20,0x00,
-
- 5, // 0x77 'w'
- 0x00,0x00,0x00,0x90,0x90,0x90,0x90,0xF0,0x90,0x00,
-
- 5, // 0x78 'x'
- 0x00,0x00,0x00,0x90,0x90,0x60,0x60,0x90,0x90,0x00,
-
- 5, // 0x79 'y'
- 0x00,0x00,0x00,0x90,0x90,0x90,0x90,0x70,0x10,0xE0,
-
- 5, // 0x7A 'z'
- 0x00,0x00,0x00,0xF0,0x10,0x20,0x40,0x80,0xF0,0x00,
-
- 5, // 0x7B '{'
- 0x30,0x40,0x40,0x40,0x80,0x40,0x40,0x40,0x40,0x30,
-
- 5, // 0x7C '|'
- 0x00,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,
-
- 5, // 0x7D '}'
- 0xC0,0x20,0x20,0x20,0x10,0x20,0x20,0x20,0x20,0xC0,
-
- 5, // 0x7E '~'
- 0x00,0x40,0xA8,0x10,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 5, // 0x7F ''
- 0x00,0x20,0x70,0xD8,0x88,0x88,0xF8,0x00,0x00,0x00,
-
- 0
- };
-
- const int8u mcs5x11_mono[] =
- {
- 11, 3, 32, 128-32,
- 0x00,0x00,0x0C,0x00,0x18,0x00,0x24,0x00,0x30,0x00,0x3C,0x00,0x48,0x00,0x54,0x00,0x60,0x00,
- 0x6C,0x00,0x78,0x00,0x84,0x00,0x90,0x00,0x9C,0x00,0xA8,0x00,0xB4,0x00,0xC0,0x00,0xCC,0x00,
- 0xD8,0x00,0xE4,0x00,0xF0,0x00,0xFC,0x00,0x08,0x01,0x14,0x01,0x20,0x01,0x2C,0x01,0x38,0x01,
- 0x44,0x01,0x50,0x01,0x5C,0x01,0x68,0x01,0x74,0x01,0x80,0x01,0x8C,0x01,0x98,0x01,0xA4,0x01,
- 0xB0,0x01,0xBC,0x01,0xC8,0x01,0xD4,0x01,0xE0,0x01,0xEC,0x01,0xF8,0x01,0x04,0x02,0x10,0x02,
- 0x1C,0x02,0x28,0x02,0x34,0x02,0x40,0x02,0x4C,0x02,0x58,0x02,0x64,0x02,0x70,0x02,0x7C,0x02,
- 0x88,0x02,0x94,0x02,0xA0,0x02,0xAC,0x02,0xB8,0x02,0xC4,0x02,0xD0,0x02,0xDC,0x02,0xE8,0x02,
- 0xF4,0x02,0x00,0x03,0x0C,0x03,0x18,0x03,0x24,0x03,0x30,0x03,0x3C,0x03,0x48,0x03,0x54,0x03,
- 0x60,0x03,0x6C,0x03,0x78,0x03,0x84,0x03,0x90,0x03,0x9C,0x03,0xA8,0x03,0xB4,0x03,0xC0,0x03,
- 0xCC,0x03,0xD8,0x03,0xE4,0x03,0xF0,0x03,0xFC,0x03,0x08,0x04,0x14,0x04,0x20,0x04,0x2C,0x04,
- 0x38,0x04,0x44,0x04,0x50,0x04,0x5C,0x04,0x68,0x04,0x74,0x04,
-
- 5, // 0x20 ' '
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 5, // 0x21 '!'
- 0x00,0x20,0x20,0x20,0x20,0x20,0x20,0x00,0x20,0x00,0x00,
-
- 5, // 0x22 '"'
- 0x00,0x50,0x50,0xA0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 5, // 0x23 '#'
- 0x00,0x50,0x50,0xF8,0x50,0x50,0x50,0xF8,0x50,0x50,0x00,
-
- 5, // 0x24 '$'
- 0x00,0x40,0x60,0x90,0x80,0x60,0x10,0x90,0x60,0x20,0x00,
-
- 5, // 0x25 '%'
- 0x00,0x00,0x90,0x90,0x20,0x20,0x40,0x40,0x90,0x90,0x00,
-
- 5, // 0x26 '&'
- 0x00,0x40,0xA0,0xA0,0x40,0xA8,0x90,0x90,0x68,0x00,0x00,
-
- 5, // 0x27 '''
- 0x00,0x20,0x20,0x40,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 5, // 0x28 '('
- 0x00,0x10,0x20,0x20,0x40,0x40,0x40,0x40,0x20,0x20,0x10,
-
- 5, // 0x29 ')'
- 0x00,0x40,0x20,0x20,0x10,0x10,0x10,0x10,0x20,0x20,0x40,
-
- 5, // 0x2A '*'
- 0x00,0x00,0x90,0x60,0xF0,0x60,0x90,0x00,0x00,0x00,0x00,
-
- 5, // 0x2B '+'
- 0x00,0x00,0x00,0x20,0x20,0xF8,0x20,0x20,0x00,0x00,0x00,
-
- 5, // 0x2C ','
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x60,0x60,0x40,0x80,
-
- 5, // 0x2D '-'
- 0x00,0x00,0x00,0x00,0x00,0xF0,0x00,0x00,0x00,0x00,0x00,
-
- 5, // 0x2E '.'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x60,0x60,0x00,0x00,
-
- 5, // 0x2F '/'
- 0x08,0x08,0x10,0x10,0x20,0x20,0x40,0x40,0x80,0x80,0x00,
-
- 5, // 0x30 '0'
- 0x00,0x70,0x90,0x90,0x90,0x90,0x90,0x90,0xE0,0x00,0x00,
-
- 5, // 0x31 '1'
- 0x00,0x20,0x60,0x20,0x20,0x20,0x20,0x20,0x70,0x00,0x00,
-
- 5, // 0x32 '2'
- 0x00,0x60,0x90,0x90,0x10,0x20,0x40,0x80,0xF0,0x00,0x00,
-
- 5, // 0x33 '3'
- 0x00,0x60,0x90,0x10,0x60,0x10,0x10,0x90,0x60,0x00,0x00,
-
- 5, // 0x34 '4'
- 0x00,0x10,0x30,0x50,0x50,0x90,0xF8,0x10,0x10,0x00,0x00,
-
- 5, // 0x35 '5'
- 0x00,0xF0,0x80,0xE0,0x90,0x10,0x10,0x90,0x60,0x00,0x00,
-
- 5, // 0x36 '6'
- 0x00,0x60,0x90,0x80,0xE0,0x90,0x90,0x90,0x60,0x00,0x00,
-
- 5, // 0x37 '7'
- 0x00,0xF0,0x10,0x10,0x20,0x20,0x40,0x40,0x40,0x00,0x00,
-
- 5, // 0x38 '8'
- 0x00,0x60,0x90,0x90,0x60,0x90,0x90,0x90,0x60,0x00,0x00,
-
- 5, // 0x39 '9'
- 0x00,0x60,0x90,0x90,0x90,0x70,0x10,0x90,0x60,0x00,0x00,
-
- 5, // 0x3A ':'
- 0x00,0x00,0x00,0x60,0x60,0x00,0x00,0x60,0x60,0x00,0x00,
-
- 5, // 0x3B ';'
- 0x00,0x00,0x00,0x60,0x60,0x00,0x00,0x60,0x60,0x40,0x80,
-
- 5, // 0x3C '<'
- 0x00,0x08,0x10,0x20,0x40,0x80,0x40,0x20,0x10,0x08,0x00,
-
- 5, // 0x3D '='
- 0x00,0x00,0x00,0x00,0xF0,0x00,0x00,0xF0,0x00,0x00,0x00,
-
- 5, // 0x3E '>'
- 0x00,0x80,0x40,0x20,0x10,0x08,0x10,0x20,0x40,0x80,0x00,
-
- 5, // 0x3F '?'
- 0x00,0x60,0x90,0x10,0x10,0x20,0x40,0x00,0x40,0x00,0x00,
-
- 5, // 0x40 '@'
- 0x00,0x60,0x90,0x90,0xB0,0xB0,0x80,0x80,0x70,0x00,0x00,
-
- 5, // 0x41 'A'
- 0x00,0x60,0x90,0x90,0x90,0xF0,0x90,0x90,0x90,0x00,0x00,
-
- 5, // 0x42 'B'
- 0x00,0xE0,0x90,0x90,0xE0,0x90,0x90,0x90,0xE0,0x00,0x00,
-
- 5, // 0x43 'C'
- 0x00,0x60,0x90,0x80,0x80,0x80,0x80,0x90,0x60,0x00,0x00,
-
- 5, // 0x44 'D'
- 0x00,0xE0,0x90,0x90,0x90,0x90,0x90,0x90,0xE0,0x00,0x00,
-
- 5, // 0x45 'E'
- 0x00,0xF0,0x80,0x80,0xE0,0x80,0x80,0x80,0xF0,0x00,0x00,
-
- 5, // 0x46 'F'
- 0x00,0xF0,0x80,0x80,0xE0,0x80,0x80,0x80,0x80,0x00,0x00,
-
- 5, // 0x47 'G'
- 0x00,0x60,0x90,0x80,0x80,0xB0,0x90,0x90,0x60,0x00,0x00,
-
- 5, // 0x48 'H'
- 0x00,0x90,0x90,0x90,0xF0,0x90,0x90,0x90,0x90,0x00,0x00,
-
- 5, // 0x49 'I'
- 0x00,0x70,0x20,0x20,0x20,0x20,0x20,0x20,0x70,0x00,0x00,
-
- 5, // 0x4A 'J'
- 0x00,0x70,0x20,0x20,0x20,0x20,0xA0,0xA0,0x40,0x00,0x00,
-
- 5, // 0x4B 'K'
- 0x00,0x90,0xA0,0xA0,0xC0,0xA0,0xA0,0x90,0x90,0x00,0x00,
-
- 5, // 0x4C 'L'
- 0x00,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0xF0,0x00,0x00,
-
- 5, // 0x4D 'M'
- 0x00,0x90,0xF0,0xF0,0x90,0x90,0x90,0x90,0x90,0x00,0x00,
-
- 5, // 0x4E 'N'
- 0x00,0x90,0x90,0xD0,0xD0,0xB0,0xB0,0x90,0x90,0x00,0x00,
-
- 5, // 0x4F 'O'
- 0x00,0x60,0x90,0x90,0x90,0x90,0x90,0x90,0x60,0x00,0x00,
-
- 5, // 0x50 'P'
- 0x00,0xE0,0x90,0x90,0x90,0xE0,0x80,0x80,0x80,0x00,0x00,
-
- 5, // 0x51 'Q'
- 0x00,0x60,0x90,0x90,0x90,0x90,0x90,0x90,0x60,0x30,0x00,
-
- 5, // 0x52 'R'
- 0x00,0xE0,0x90,0x90,0x90,0xE0,0xA0,0x90,0x90,0x00,0x00,
-
- 5, // 0x53 'S'
- 0x00,0x60,0x90,0x80,0x60,0x10,0x90,0x90,0x60,0x00,0x00,
-
- 5, // 0x54 'T'
- 0x00,0xF8,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x00,0x00,
-
- 5, // 0x55 'U'
- 0x00,0x90,0x90,0x90,0x90,0x90,0x90,0x90,0x60,0x00,0x00,
-
- 5, // 0x56 'V'
- 0x00,0x90,0x90,0x90,0x50,0x50,0x50,0x20,0x20,0x00,0x00,
-
- 5, // 0x57 'W'
- 0x00,0x90,0x90,0x90,0x90,0x90,0xF0,0xF0,0x90,0x00,0x00,
-
- 5, // 0x58 'X'
- 0x00,0x90,0x90,0x90,0x60,0x60,0x90,0x90,0x90,0x00,0x00,
-
- 5, // 0x59 'Y'
- 0x00,0x88,0x88,0x88,0x50,0x20,0x20,0x20,0x20,0x00,0x00,
-
- 5, // 0x5A 'Z'
- 0x00,0xF0,0x10,0x20,0x20,0x40,0x40,0x80,0xF0,0x00,0x00,
-
- 5, // 0x5B '['
- 0x00,0x60,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x60,
-
- 5, // 0x5C '\'
- 0x80,0x80,0x40,0x40,0x20,0x20,0x10,0x10,0x08,0x08,0x00,
-
- 5, // 0x5D ']'
- 0x00,0x60,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x60,
-
- 5, // 0x5E '^'
- 0x00,0x20,0x50,0x88,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 5, // 0x5F '_'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0x00,0x00,
-
- 5, // 0x60 '`'
- 0x00,0x40,0x40,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 5, // 0x61 'a'
- 0x00,0x00,0x00,0x60,0x10,0x70,0x90,0x90,0x70,0x00,0x00,
-
- 5, // 0x62 'b'
- 0x00,0x80,0x80,0xE0,0x90,0x90,0x90,0x90,0xE0,0x00,0x00,
-
- 5, // 0x63 'c'
- 0x00,0x00,0x00,0x60,0x90,0x80,0x80,0x90,0x60,0x00,0x00,
-
- 5, // 0x64 'd'
- 0x00,0x10,0x10,0x70,0x90,0x90,0x90,0x90,0x70,0x00,0x00,
-
- 5, // 0x65 'e'
- 0x00,0x00,0x00,0x60,0x90,0x90,0xF0,0x80,0x70,0x00,0x00,
-
- 5, // 0x66 'f'
- 0x00,0x30,0x40,0xE0,0x40,0x40,0x40,0x40,0x40,0x00,0x00,
-
- 5, // 0x67 'g'
- 0x00,0x00,0x00,0x70,0x90,0x90,0x90,0x90,0x70,0x10,0xE0,
-
- 5, // 0x68 'h'
- 0x00,0x80,0x80,0xE0,0x90,0x90,0x90,0x90,0x90,0x00,0x00,
-
- 5, // 0x69 'i'
- 0x00,0x20,0x00,0x60,0x20,0x20,0x20,0x20,0x70,0x00,0x00,
-
- 5, // 0x6A 'j'
- 0x00,0x20,0x00,0x60,0x20,0x20,0x20,0x20,0x20,0xA0,0x40,
-
- 5, // 0x6B 'k'
- 0x00,0x80,0x80,0x90,0xA0,0xC0,0xA0,0x90,0x90,0x00,0x00,
-
- 5, // 0x6C 'l'
- 0x00,0x60,0x20,0x20,0x20,0x20,0x20,0x20,0x70,0x00,0x00,
-
- 5, // 0x6D 'm'
- 0x00,0x00,0x00,0x90,0xF0,0x90,0x90,0x90,0x90,0x00,0x00,
-
- 5, // 0x6E 'n'
- 0x00,0x00,0x00,0xE0,0x90,0x90,0x90,0x90,0x90,0x00,0x00,
-
- 5, // 0x6F 'o'
- 0x00,0x00,0x00,0x60,0x90,0x90,0x90,0x90,0x60,0x00,0x00,
-
- 5, // 0x70 'p'
- 0x00,0x00,0x00,0xE0,0x90,0x90,0x90,0x90,0xE0,0x80,0x80,
-
- 5, // 0x71 'q'
- 0x00,0x00,0x00,0x70,0x90,0x90,0x90,0x90,0x70,0x10,0x10,
-
- 5, // 0x72 'r'
- 0x00,0x00,0x00,0xA0,0x50,0x40,0x40,0x40,0xE0,0x00,0x00,
-
- 5, // 0x73 's'
- 0x00,0x00,0x00,0x60,0x90,0x40,0x20,0x90,0x60,0x00,0x00,
-
- 5, // 0x74 't'
- 0x00,0x40,0x40,0xE0,0x40,0x40,0x40,0x40,0x30,0x00,0x00,
-
- 5, // 0x75 'u'
- 0x00,0x00,0x00,0x90,0x90,0x90,0x90,0x90,0x70,0x00,0x00,
-
- 5, // 0x76 'v'
- 0x00,0x00,0x00,0x90,0x90,0x50,0x50,0x20,0x20,0x00,0x00,
-
- 5, // 0x77 'w'
- 0x00,0x00,0x00,0x90,0x90,0x90,0x90,0xF0,0x90,0x00,0x00,
-
- 5, // 0x78 'x'
- 0x00,0x00,0x00,0x90,0x90,0x60,0x60,0x90,0x90,0x00,0x00,
-
- 5, // 0x79 'y'
- 0x00,0x00,0x00,0x90,0x90,0x90,0x90,0x90,0x70,0x10,0xE0,
-
- 5, // 0x7A 'z'
- 0x00,0x00,0x00,0xF0,0x10,0x20,0x40,0x80,0xF0,0x00,0x00,
-
- 5, // 0x7B '{'
- 0x30,0x40,0x40,0x40,0x40,0x80,0x40,0x40,0x40,0x40,0x30,
-
- 5, // 0x7C '|'
- 0x00,0x20,0x20,0x20,0x20,0x00,0x20,0x20,0x20,0x20,0x00,
-
- 5, // 0x7D '}'
- 0xC0,0x20,0x20,0x20,0x20,0x10,0x20,0x20,0x20,0x20,0xC0,
-
- 5, // 0x7E '~'
- 0x00,0x40,0xA8,0x10,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 5, // 0x7F ''
- 0x00,0x20,0x70,0xD8,0x88,0x88,0xF8,0x00,0x00,0x00,0x00,
-
- 0
- };
-
- const int8u mcs6x10_mono[] =
- {
- 10, 3, 32, 128-32,
- 0x00,0x00,0x0B,0x00,0x16,0x00,0x21,0x00,0x2C,0x00,0x37,0x00,0x42,0x00,0x4D,0x00,0x58,0x00,
- 0x63,0x00,0x6E,0x00,0x79,0x00,0x84,0x00,0x8F,0x00,0x9A,0x00,0xA5,0x00,0xB0,0x00,0xBB,0x00,
- 0xC6,0x00,0xD1,0x00,0xDC,0x00,0xE7,0x00,0xF2,0x00,0xFD,0x00,0x08,0x01,0x13,0x01,0x1E,0x01,
- 0x29,0x01,0x34,0x01,0x3F,0x01,0x4A,0x01,0x55,0x01,0x60,0x01,0x6B,0x01,0x76,0x01,0x81,0x01,
- 0x8C,0x01,0x97,0x01,0xA2,0x01,0xAD,0x01,0xB8,0x01,0xC3,0x01,0xCE,0x01,0xD9,0x01,0xE4,0x01,
- 0xEF,0x01,0xFA,0x01,0x05,0x02,0x10,0x02,0x1B,0x02,0x26,0x02,0x31,0x02,0x3C,0x02,0x47,0x02,
- 0x52,0x02,0x5D,0x02,0x68,0x02,0x73,0x02,0x7E,0x02,0x89,0x02,0x94,0x02,0x9F,0x02,0xAA,0x02,
- 0xB5,0x02,0xC0,0x02,0xCB,0x02,0xD6,0x02,0xE1,0x02,0xEC,0x02,0xF7,0x02,0x02,0x03,0x0D,0x03,
- 0x18,0x03,0x23,0x03,0x2E,0x03,0x39,0x03,0x44,0x03,0x4F,0x03,0x5A,0x03,0x65,0x03,0x70,0x03,
- 0x7B,0x03,0x86,0x03,0x91,0x03,0x9C,0x03,0xA7,0x03,0xB2,0x03,0xBD,0x03,0xC8,0x03,0xD3,0x03,
- 0xDE,0x03,0xE9,0x03,0xF4,0x03,0xFF,0x03,0x0A,0x04,0x15,0x04,
-
- 6, // 0x20 ' '
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 6, // 0x21 '!'
- 0x00,0x10,0x10,0x10,0x10,0x10,0x00,0x10,0x00,0x00,
-
- 6, // 0x22 '"'
- 0x00,0x28,0x28,0x50,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 6, // 0x23 '#'
- 0x00,0x28,0x28,0x7C,0x28,0x28,0x7C,0x28,0x28,0x00,
-
- 6, // 0x24 '$'
- 0x10,0x38,0x54,0x50,0x38,0x14,0x54,0x38,0x10,0x00,
-
- 6, // 0x25 '%'
- 0x00,0x08,0xC8,0xD0,0x10,0x20,0x2C,0x4C,0x40,0x00,
-
- 6, // 0x26 '&'
- 0x00,0x20,0x50,0x50,0x24,0x54,0x48,0x34,0x00,0x00,
-
- 6, // 0x27 '''
- 0x00,0x10,0x10,0x20,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 6, // 0x28 '('
- 0x08,0x10,0x10,0x20,0x20,0x20,0x10,0x10,0x08,0x00,
-
- 6, // 0x29 ')'
- 0x20,0x10,0x10,0x08,0x08,0x08,0x10,0x10,0x20,0x00,
-
- 6, // 0x2A '*'
- 0x00,0x00,0x28,0x7C,0x38,0x7C,0x28,0x00,0x00,0x00,
-
- 6, // 0x2B '+'
- 0x00,0x00,0x10,0x10,0x7C,0x10,0x10,0x00,0x00,0x00,
-
- 6, // 0x2C ','
- 0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x30,0x20,0x40,
-
- 6, // 0x2D '-'
- 0x00,0x00,0x00,0x00,0x7C,0x00,0x00,0x00,0x00,0x00,
-
- 6, // 0x2E '.'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x30,0x00,0x00,
-
- 6, // 0x2F '/'
- 0x00,0x08,0x08,0x10,0x10,0x20,0x20,0x40,0x40,0x00,
-
- 6, // 0x30 '0'
- 0x00,0x38,0x44,0x4C,0x54,0x64,0x44,0x38,0x00,0x00,
-
- 6, // 0x31 '1'
- 0x00,0x10,0x30,0x10,0x10,0x10,0x10,0x38,0x00,0x00,
-
- 6, // 0x32 '2'
- 0x00,0x38,0x44,0x04,0x18,0x20,0x40,0x7C,0x00,0x00,
-
- 6, // 0x33 '3'
- 0x00,0x38,0x44,0x04,0x38,0x04,0x44,0x38,0x00,0x00,
-
- 6, // 0x34 '4'
- 0x00,0x08,0x18,0x28,0x48,0x7C,0x08,0x08,0x00,0x00,
-
- 6, // 0x35 '5'
- 0x00,0x7C,0x40,0x40,0x78,0x04,0x44,0x38,0x00,0x00,
-
- 6, // 0x36 '6'
- 0x00,0x38,0x40,0x40,0x78,0x44,0x44,0x38,0x00,0x00,
-
- 6, // 0x37 '7'
- 0x00,0x7C,0x04,0x08,0x10,0x20,0x20,0x20,0x00,0x00,
-
- 6, // 0x38 '8'
- 0x00,0x38,0x44,0x44,0x38,0x44,0x44,0x38,0x00,0x00,
-
- 6, // 0x39 '9'
- 0x00,0x38,0x44,0x44,0x3C,0x04,0x04,0x38,0x00,0x00,
-
- 6, // 0x3A ':'
- 0x00,0x00,0x30,0x30,0x00,0x00,0x30,0x30,0x00,0x00,
-
- 6, // 0x3B ';'
- 0x00,0x00,0x30,0x30,0x00,0x00,0x30,0x30,0x20,0x40,
-
- 6, // 0x3C '<'
- 0x04,0x08,0x10,0x20,0x40,0x20,0x10,0x08,0x04,0x00,
-
- 6, // 0x3D '='
- 0x00,0x00,0x00,0x7C,0x00,0x00,0x7C,0x00,0x00,0x00,
-
- 6, // 0x3E '>'
- 0x40,0x20,0x10,0x08,0x04,0x08,0x10,0x20,0x40,0x00,
-
- 6, // 0x3F '?'
- 0x00,0x38,0x44,0x04,0x18,0x10,0x00,0x10,0x00,0x00,
-
- 6, // 0x40 '@'
- 0x00,0x38,0x44,0x5C,0x54,0x5C,0x40,0x38,0x00,0x00,
-
- 6, // 0x41 'A'
- 0x00,0x38,0x44,0x44,0x44,0x7C,0x44,0x44,0x00,0x00,
-
- 6, // 0x42 'B'
- 0x00,0x78,0x44,0x44,0x78,0x44,0x44,0x78,0x00,0x00,
-
- 6, // 0x43 'C'
- 0x00,0x38,0x44,0x40,0x40,0x40,0x44,0x38,0x00,0x00,
-
- 6, // 0x44 'D'
- 0x00,0x78,0x44,0x44,0x44,0x44,0x44,0x78,0x00,0x00,
-
- 6, // 0x45 'E'
- 0x00,0x7C,0x40,0x40,0x78,0x40,0x40,0x7C,0x00,0x00,
-
- 6, // 0x46 'F'
- 0x00,0x7C,0x40,0x40,0x78,0x40,0x40,0x40,0x00,0x00,
-
- 6, // 0x47 'G'
- 0x00,0x38,0x44,0x40,0x4C,0x44,0x44,0x3C,0x00,0x00,
-
- 6, // 0x48 'H'
- 0x00,0x44,0x44,0x44,0x7C,0x44,0x44,0x44,0x00,0x00,
-
- 6, // 0x49 'I'
- 0x00,0x38,0x10,0x10,0x10,0x10,0x10,0x38,0x00,0x00,
-
- 6, // 0x4A 'J'
- 0x00,0x1C,0x08,0x08,0x08,0x48,0x48,0x30,0x00,0x00,
-
- 6, // 0x4B 'K'
- 0x00,0x44,0x48,0x50,0x60,0x50,0x48,0x44,0x00,0x00,
-
- 6, // 0x4C 'L'
- 0x00,0x40,0x40,0x40,0x40,0x40,0x40,0x7C,0x00,0x00,
-
- 6, // 0x4D 'M'
- 0x00,0x44,0x6C,0x54,0x54,0x44,0x44,0x44,0x00,0x00,
-
- 6, // 0x4E 'N'
- 0x00,0x44,0x44,0x64,0x54,0x4C,0x44,0x44,0x00,0x00,
-
- 6, // 0x4F 'O'
- 0x00,0x38,0x44,0x44,0x44,0x44,0x44,0x38,0x00,0x00,
-
- 6, // 0x50 'P'
- 0x00,0x78,0x44,0x44,0x78,0x40,0x40,0x40,0x00,0x00,
-
- 6, // 0x51 'Q'
- 0x00,0x38,0x44,0x44,0x44,0x54,0x48,0x34,0x00,0x00,
-
- 6, // 0x52 'R'
- 0x00,0x78,0x44,0x44,0x78,0x48,0x44,0x44,0x00,0x00,
-
- 6, // 0x53 'S'
- 0x00,0x38,0x44,0x40,0x38,0x04,0x44,0x38,0x00,0x00,
-
- 6, // 0x54 'T'
- 0x00,0x7C,0x10,0x10,0x10,0x10,0x10,0x10,0x00,0x00,
-
- 6, // 0x55 'U'
- 0x00,0x44,0x44,0x44,0x44,0x44,0x44,0x38,0x00,0x00,
-
- 6, // 0x56 'V'
- 0x00,0x44,0x44,0x44,0x44,0x28,0x28,0x10,0x00,0x00,
-
- 6, // 0x57 'W'
- 0x00,0x44,0x44,0x54,0x54,0x54,0x54,0x28,0x00,0x00,
-
- 6, // 0x58 'X'
- 0x00,0x44,0x44,0x28,0x10,0x28,0x44,0x44,0x00,0x00,
-
- 6, // 0x59 'Y'
- 0x00,0x44,0x44,0x44,0x28,0x10,0x10,0x10,0x00,0x00,
-
- 6, // 0x5A 'Z'
- 0x00,0x78,0x08,0x10,0x20,0x40,0x40,0x78,0x00,0x00,
-
- 6, // 0x5B '['
- 0x38,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x38,0x00,
-
- 6, // 0x5C '\'
- 0x00,0x40,0x40,0x20,0x20,0x10,0x10,0x08,0x08,0x00,
-
- 6, // 0x5D ']'
- 0x38,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x38,0x00,
-
- 6, // 0x5E '^'
- 0x10,0x28,0x44,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 6, // 0x5F '_'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7C,0x00,0x00,
-
- 6, // 0x60 '`'
- 0x00,0x10,0x10,0x20,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 6, // 0x61 'a'
- 0x00,0x00,0x00,0x38,0x04,0x3C,0x44,0x3C,0x00,0x00,
-
- 6, // 0x62 'b'
- 0x00,0x40,0x40,0x78,0x44,0x44,0x44,0x78,0x00,0x00,
-
- 6, // 0x63 'c'
- 0x00,0x00,0x00,0x38,0x44,0x40,0x40,0x3C,0x00,0x00,
-
- 6, // 0x64 'd'
- 0x00,0x04,0x04,0x3C,0x44,0x44,0x44,0x3C,0x00,0x00,
-
- 6, // 0x65 'e'
- 0x00,0x00,0x00,0x38,0x44,0x78,0x40,0x3C,0x00,0x00,
-
- 6, // 0x66 'f'
- 0x00,0x0C,0x10,0x10,0x38,0x10,0x10,0x10,0x00,0x00,
-
- 6, // 0x67 'g'
- 0x00,0x00,0x00,0x3C,0x44,0x44,0x44,0x3C,0x04,0x38,
-
- 6, // 0x68 'h'
- 0x00,0x40,0x40,0x78,0x44,0x44,0x44,0x44,0x00,0x00,
-
- 6, // 0x69 'i'
- 0x00,0x10,0x00,0x30,0x10,0x10,0x10,0x38,0x00,0x00,
-
- 6, // 0x6A 'j'
- 0x00,0x08,0x00,0x18,0x08,0x08,0x08,0x08,0x48,0x30,
-
- 6, // 0x6B 'k'
- 0x00,0x40,0x40,0x48,0x50,0x60,0x50,0x48,0x00,0x00,
-
- 6, // 0x6C 'l'
- 0x00,0x30,0x10,0x10,0x10,0x10,0x10,0x38,0x00,0x00,
-
- 6, // 0x6D 'm'
- 0x00,0x00,0x00,0x68,0x54,0x54,0x44,0x44,0x00,0x00,
-
- 6, // 0x6E 'n'
- 0x00,0x00,0x00,0x58,0x64,0x44,0x44,0x44,0x00,0x00,
-
- 6, // 0x6F 'o'
- 0x00,0x00,0x00,0x38,0x44,0x44,0x44,0x38,0x00,0x00,
-
- 6, // 0x70 'p'
- 0x00,0x00,0x00,0x78,0x44,0x44,0x44,0x78,0x40,0x40,
-
- 6, // 0x71 'q'
- 0x00,0x00,0x00,0x3C,0x44,0x44,0x44,0x3C,0x04,0x04,
-
- 6, // 0x72 'r'
- 0x00,0x00,0x00,0x58,0x24,0x20,0x20,0x70,0x00,0x00,
-
- 6, // 0x73 's'
- 0x00,0x00,0x00,0x38,0x40,0x38,0x04,0x78,0x00,0x00,
-
- 6, // 0x74 't'
- 0x00,0x10,0x10,0x38,0x10,0x10,0x14,0x08,0x00,0x00,
-
- 6, // 0x75 'u'
- 0x00,0x00,0x00,0x44,0x44,0x44,0x4C,0x34,0x00,0x00,
-
- 6, // 0x76 'v'
- 0x00,0x00,0x00,0x44,0x44,0x44,0x28,0x10,0x00,0x00,
-
- 6, // 0x77 'w'
- 0x00,0x00,0x00,0x44,0x44,0x54,0x7C,0x28,0x00,0x00,
-
- 6, // 0x78 'x'
- 0x00,0x00,0x00,0x48,0x48,0x30,0x48,0x48,0x00,0x00,
-
- 6, // 0x79 'y'
- 0x00,0x00,0x00,0x44,0x44,0x44,0x44,0x3C,0x04,0x38,
-
- 6, // 0x7A 'z'
- 0x00,0x00,0x00,0x78,0x08,0x30,0x40,0x78,0x00,0x00,
-
- 6, // 0x7B '{'
- 0x18,0x20,0x20,0x20,0xC0,0x20,0x20,0x20,0x18,0x00,
-
- 6, // 0x7C '|'
- 0x10,0x10,0x10,0x10,0x00,0x10,0x10,0x10,0x10,0x00,
-
- 6, // 0x7D '}'
- 0x60,0x10,0x10,0x10,0x0C,0x10,0x10,0x10,0x60,0x00,
-
- 6, // 0x7E '~'
- 0x00,0x48,0xA8,0x90,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 6, // 0x7F ''
- 0x00,0x10,0x38,0x6C,0x44,0x44,0x7C,0x00,0x00,0x00,
-
- 0
- };
-
- const int8u mcs6x11_mono[] =
- {
- 11, 3, 32, 128-32,
- 0x00,0x00,0x0C,0x00,0x18,0x00,0x24,0x00,0x30,0x00,0x3C,0x00,0x48,0x00,0x54,0x00,0x60,0x00,
- 0x6C,0x00,0x78,0x00,0x84,0x00,0x90,0x00,0x9C,0x00,0xA8,0x00,0xB4,0x00,0xC0,0x00,0xCC,0x00,
- 0xD8,0x00,0xE4,0x00,0xF0,0x00,0xFC,0x00,0x08,0x01,0x14,0x01,0x20,0x01,0x2C,0x01,0x38,0x01,
- 0x44,0x01,0x50,0x01,0x5C,0x01,0x68,0x01,0x74,0x01,0x80,0x01,0x8C,0x01,0x98,0x01,0xA4,0x01,
- 0xB0,0x01,0xBC,0x01,0xC8,0x01,0xD4,0x01,0xE0,0x01,0xEC,0x01,0xF8,0x01,0x04,0x02,0x10,0x02,
- 0x1C,0x02,0x28,0x02,0x34,0x02,0x40,0x02,0x4C,0x02,0x58,0x02,0x64,0x02,0x70,0x02,0x7C,0x02,
- 0x88,0x02,0x94,0x02,0xA0,0x02,0xAC,0x02,0xB8,0x02,0xC4,0x02,0xD0,0x02,0xDC,0x02,0xE8,0x02,
- 0xF4,0x02,0x00,0x03,0x0C,0x03,0x18,0x03,0x24,0x03,0x30,0x03,0x3C,0x03,0x48,0x03,0x54,0x03,
- 0x60,0x03,0x6C,0x03,0x78,0x03,0x84,0x03,0x90,0x03,0x9C,0x03,0xA8,0x03,0xB4,0x03,0xC0,0x03,
- 0xCC,0x03,0xD8,0x03,0xE4,0x03,0xF0,0x03,0xFC,0x03,0x08,0x04,0x14,0x04,0x20,0x04,0x2C,0x04,
- 0x38,0x04,0x44,0x04,0x50,0x04,0x5C,0x04,0x68,0x04,0x74,0x04,
-
- 6, // 0x20 ' '
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 6, // 0x21 '!'
- 0x00,0x20,0x20,0x20,0x20,0x20,0x20,0x00,0x20,0x00,0x00,
-
- 6, // 0x22 '"'
- 0x00,0x28,0x28,0x50,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 6, // 0x23 '#'
- 0x00,0x28,0x28,0x7C,0x28,0x28,0x7C,0x28,0x28,0x00,0x00,
-
- 6, // 0x24 '$'
- 0x00,0x10,0x38,0x54,0x50,0x38,0x14,0x54,0x38,0x10,0x00,
-
- 6, // 0x25 '%'
- 0x00,0x68,0xA8,0xD0,0x10,0x20,0x2C,0x54,0x58,0x00,0x00,
-
- 6, // 0x26 '&'
- 0x00,0x20,0x50,0x50,0x20,0x54,0x54,0x48,0x34,0x00,0x00,
-
- 6, // 0x27 '''
- 0x00,0x10,0x10,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 6, // 0x28 '('
- 0x08,0x10,0x10,0x20,0x20,0x20,0x20,0x10,0x10,0x08,0x00,
-
- 6, // 0x29 ')'
- 0x20,0x10,0x10,0x08,0x08,0x08,0x08,0x10,0x10,0x20,0x00,
-
- 6, // 0x2A '*'
- 0x00,0x00,0x28,0x7C,0x38,0x7C,0x28,0x00,0x00,0x00,0x00,
-
- 6, // 0x2B '+'
- 0x00,0x00,0x00,0x10,0x10,0x7C,0x10,0x10,0x00,0x00,0x00,
-
- 6, // 0x2C ','
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x30,0x20,0x40,
-
- 6, // 0x2D '-'
- 0x00,0x00,0x00,0x00,0x00,0x7C,0x00,0x00,0x00,0x00,0x00,
-
- 6, // 0x2E '.'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x30,0x00,0x00,
-
- 6, // 0x2F '/'
- 0x04,0x04,0x08,0x08,0x10,0x10,0x20,0x20,0x40,0x40,0x00,
-
- 6, // 0x30 '0'
- 0x00,0x38,0x44,0x44,0x54,0x54,0x44,0x44,0x38,0x00,0x00,
-
- 6, // 0x31 '1'
- 0x00,0x10,0x30,0x10,0x10,0x10,0x10,0x10,0x38,0x00,0x00,
-
- 6, // 0x32 '2'
- 0x00,0x38,0x44,0x44,0x08,0x10,0x20,0x40,0x7C,0x00,0x00,
-
- 6, // 0x33 '3'
- 0x00,0x38,0x44,0x04,0x38,0x04,0x04,0x44,0x38,0x00,0x00,
-
- 6, // 0x34 '4'
- 0x00,0x08,0x18,0x28,0x28,0x48,0x7C,0x08,0x08,0x00,0x00,
-
- 6, // 0x35 '5'
- 0x00,0x7C,0x40,0x78,0x44,0x04,0x04,0x44,0x38,0x00,0x00,
-
- 6, // 0x36 '6'
- 0x00,0x38,0x44,0x40,0x78,0x44,0x44,0x44,0x38,0x00,0x00,
-
- 6, // 0x37 '7'
- 0x00,0x7C,0x04,0x08,0x08,0x10,0x10,0x20,0x20,0x00,0x00,
-
- 6, // 0x38 '8'
- 0x00,0x38,0x44,0x44,0x38,0x44,0x44,0x44,0x38,0x00,0x00,
-
- 6, // 0x39 '9'
- 0x00,0x38,0x44,0x44,0x3C,0x04,0x04,0x44,0x38,0x00,0x00,
-
- 6, // 0x3A ':'
- 0x00,0x00,0x00,0x30,0x30,0x00,0x00,0x30,0x30,0x00,0x00,
-
- 6, // 0x3B ';'
- 0x00,0x00,0x00,0x30,0x30,0x00,0x00,0x30,0x30,0x20,0x40,
-
- 6, // 0x3C '<'
- 0x00,0x04,0x08,0x10,0x20,0x40,0x20,0x10,0x08,0x04,0x00,
-
- 6, // 0x3D '='
- 0x00,0x00,0x00,0x00,0x7C,0x00,0x00,0x7C,0x00,0x00,0x00,
-
- 6, // 0x3E '>'
- 0x00,0x40,0x20,0x10,0x08,0x04,0x08,0x10,0x20,0x40,0x00,
-
- 6, // 0x3F '?'
- 0x00,0x38,0x44,0x04,0x08,0x10,0x10,0x00,0x10,0x00,0x00,
-
- 6, // 0x40 '@'
- 0x00,0x38,0x44,0x5C,0x54,0x54,0x4C,0x40,0x38,0x00,0x00,
-
- 6, // 0x41 'A'
- 0x00,0x38,0x44,0x44,0x44,0x7C,0x44,0x44,0x44,0x00,0x00,
-
- 6, // 0x42 'B'
- 0x00,0x78,0x44,0x44,0x78,0x44,0x44,0x44,0x78,0x00,0x00,
-
- 6, // 0x43 'C'
- 0x00,0x38,0x44,0x40,0x40,0x40,0x40,0x44,0x38,0x00,0x00,
-
- 6, // 0x44 'D'
- 0x00,0x70,0x48,0x44,0x44,0x44,0x44,0x48,0x70,0x00,0x00,
-
- 6, // 0x45 'E'
- 0x00,0x7C,0x40,0x40,0x78,0x40,0x40,0x40,0x7C,0x00,0x00,
-
- 6, // 0x46 'F'
- 0x00,0x7C,0x40,0x40,0x78,0x40,0x40,0x40,0x40,0x00,0x00,
-
- 6, // 0x47 'G'
- 0x00,0x38,0x44,0x40,0x40,0x5C,0x44,0x4C,0x34,0x00,0x00,
-
- 6, // 0x48 'H'
- 0x00,0x44,0x44,0x44,0x7C,0x44,0x44,0x44,0x44,0x00,0x00,
-
- 6, // 0x49 'I'
- 0x00,0x38,0x10,0x10,0x10,0x10,0x10,0x10,0x38,0x00,0x00,
-
- 6, // 0x4A 'J'
- 0x00,0x1C,0x08,0x08,0x08,0x08,0x48,0x48,0x30,0x00,0x00,
-
- 6, // 0x4B 'K'
- 0x00,0x44,0x48,0x50,0x60,0x50,0x48,0x44,0x44,0x00,0x00,
-
- 6, // 0x4C 'L'
- 0x00,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x7C,0x00,0x00,
-
- 6, // 0x4D 'M'
- 0x00,0x44,0x6C,0x54,0x54,0x54,0x44,0x44,0x44,0x00,0x00,
-
- 6, // 0x4E 'N'
- 0x00,0x44,0x64,0x64,0x54,0x54,0x4C,0x4C,0x44,0x00,0x00,
-
- 6, // 0x4F 'O'
- 0x00,0x38,0x44,0x44,0x44,0x44,0x44,0x44,0x38,0x00,0x00,
-
- 6, // 0x50 'P'
- 0x00,0x78,0x44,0x44,0x44,0x78,0x40,0x40,0x40,0x00,0x00,
-
- 6, // 0x51 'Q'
- 0x00,0x38,0x44,0x44,0x44,0x44,0x54,0x48,0x34,0x00,0x00,
-
- 6, // 0x52 'R'
- 0x00,0x78,0x44,0x44,0x44,0x78,0x48,0x44,0x44,0x00,0x00,
-
- 6, // 0x53 'S'
- 0x00,0x38,0x44,0x40,0x38,0x04,0x04,0x44,0x38,0x00,0x00,
-
- 6, // 0x54 'T'
- 0x00,0x7C,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x00,0x00,
-
- 6, // 0x55 'U'
- 0x00,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x38,0x00,0x00,
-
- 6, // 0x56 'V'
- 0x00,0x44,0x44,0x44,0x28,0x28,0x28,0x10,0x10,0x00,0x00,
-
- 6, // 0x57 'W'
- 0x00,0x44,0x44,0x54,0x54,0x54,0x54,0x54,0x28,0x00,0x00,
-
- 6, // 0x58 'X'
- 0x00,0x44,0x44,0x28,0x10,0x28,0x44,0x44,0x44,0x00,0x00,
-
- 6, // 0x59 'Y'
- 0x00,0x44,0x44,0x44,0x28,0x10,0x10,0x10,0x10,0x00,0x00,
-
- 6, // 0x5A 'Z'
- 0x00,0x7C,0x04,0x08,0x10,0x20,0x40,0x40,0x7C,0x00,0x00,
-
- 6, // 0x5B '['
- 0x38,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x38,0x00,
-
- 6, // 0x5C '\'
- 0x80,0x80,0x40,0x40,0x20,0x20,0x10,0x10,0x08,0x08,0x00,
-
- 6, // 0x5D ']'
- 0x38,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x38,0x00,
-
- 6, // 0x5E '^'
- 0x00,0x10,0x28,0x44,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 6, // 0x5F '_'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7C,0x00,0x00,
-
- 6, // 0x60 '`'
- 0x00,0x20,0x20,0x10,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 6, // 0x61 'a'
- 0x00,0x00,0x00,0x38,0x04,0x3C,0x44,0x44,0x3C,0x00,0x00,
-
- 6, // 0x62 'b'
- 0x00,0x40,0x40,0x78,0x44,0x44,0x44,0x44,0x78,0x00,0x00,
-
- 6, // 0x63 'c'
- 0x00,0x00,0x00,0x38,0x44,0x40,0x40,0x44,0x38,0x00,0x00,
-
- 6, // 0x64 'd'
- 0x00,0x04,0x04,0x3C,0x44,0x44,0x44,0x44,0x3C,0x00,0x00,
-
- 6, // 0x65 'e'
- 0x00,0x00,0x00,0x38,0x44,0x7C,0x40,0x44,0x38,0x00,0x00,
-
- 6, // 0x66 'f'
- 0x00,0x0C,0x10,0x38,0x10,0x10,0x10,0x10,0x10,0x00,0x00,
-
- 6, // 0x67 'g'
- 0x00,0x00,0x00,0x3C,0x44,0x44,0x44,0x44,0x3C,0x04,0x78,
-
- 6, // 0x68 'h'
- 0x00,0x40,0x40,0x78,0x44,0x44,0x44,0x44,0x44,0x00,0x00,
-
- 6, // 0x69 'i'
- 0x00,0x10,0x00,0x30,0x10,0x10,0x10,0x10,0x38,0x00,0x00,
-
- 6, // 0x6A 'j'
- 0x00,0x10,0x00,0x30,0x10,0x10,0x10,0x10,0x10,0x50,0x20,
-
- 6, // 0x6B 'k'
- 0x00,0x40,0x40,0x4C,0x50,0x60,0x50,0x48,0x44,0x00,0x00,
-
- 6, // 0x6C 'l'
- 0x00,0x30,0x10,0x10,0x10,0x10,0x10,0x10,0x38,0x00,0x00,
-
- 6, // 0x6D 'm'
- 0x00,0x00,0x00,0x68,0x54,0x54,0x54,0x44,0x44,0x00,0x00,
-
- 6, // 0x6E 'n'
- 0x00,0x00,0x00,0x78,0x44,0x44,0x44,0x44,0x44,0x00,0x00,
-
- 6, // 0x6F 'o'
- 0x00,0x00,0x00,0x38,0x44,0x44,0x44,0x44,0x38,0x00,0x00,
-
- 6, // 0x70 'p'
- 0x00,0x00,0x00,0x78,0x44,0x44,0x44,0x44,0x78,0x40,0x40,
-
- 6, // 0x71 'q'
- 0x00,0x00,0x00,0x3C,0x44,0x44,0x44,0x44,0x3C,0x04,0x04,
-
- 6, // 0x72 'r'
- 0x00,0x00,0x00,0x58,0x24,0x20,0x20,0x20,0x70,0x00,0x00,
-
- 6, // 0x73 's'
- 0x00,0x00,0x00,0x38,0x44,0x30,0x08,0x44,0x38,0x00,0x00,
-
- 6, // 0x74 't'
- 0x00,0x20,0x20,0x70,0x20,0x20,0x20,0x20,0x18,0x00,0x00,
-
- 6, // 0x75 'u'
- 0x00,0x00,0x00,0x44,0x44,0x44,0x44,0x4C,0x34,0x00,0x00,
-
- 6, // 0x76 'v'
- 0x00,0x00,0x00,0x44,0x44,0x28,0x28,0x10,0x10,0x00,0x00,
-
- 6, // 0x77 'w'
- 0x00,0x00,0x00,0x44,0x44,0x44,0x54,0x7C,0x28,0x00,0x00,
-
- 6, // 0x78 'x'
- 0x00,0x00,0x00,0x44,0x28,0x10,0x28,0x44,0x44,0x00,0x00,
-
- 6, // 0x79 'y'
- 0x00,0x00,0x00,0x44,0x44,0x44,0x44,0x44,0x3C,0x08,0x70,
-
- 6, // 0x7A 'z'
- 0x00,0x00,0x00,0x7C,0x08,0x10,0x20,0x40,0x7C,0x00,0x00,
-
- 6, // 0x7B '{'
- 0x18,0x20,0x20,0x20,0xC0,0xC0,0x20,0x20,0x20,0x18,0x00,
-
- 6, // 0x7C '|'
- 0x00,0x10,0x10,0x10,0x10,0x00,0x10,0x10,0x10,0x10,0x00,
-
- 6, // 0x7D '}'
- 0x60,0x10,0x10,0x10,0x0C,0x0C,0x10,0x10,0x10,0x60,0x00,
-
- 6, // 0x7E '~'
- 0x00,0x24,0x54,0x48,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 6, // 0x7F ''
- 0x00,0x10,0x38,0x6C,0x44,0x44,0x7C,0x00,0x00,0x00,0x00,
-
- 0
- };
-
- const int8u mcs7x12_mono_high[] =
- {
- 12, 3, 32, 128-32,
- 0x00,0x00,0x0D,0x00,0x1A,0x00,0x27,0x00,0x34,0x00,0x41,0x00,0x4E,0x00,0x5B,0x00,0x68,0x00,
- 0x75,0x00,0x82,0x00,0x8F,0x00,0x9C,0x00,0xA9,0x00,0xB6,0x00,0xC3,0x00,0xD0,0x00,0xDD,0x00,
- 0xEA,0x00,0xF7,0x00,0x04,0x01,0x11,0x01,0x1E,0x01,0x2B,0x01,0x38,0x01,0x45,0x01,0x52,0x01,
- 0x5F,0x01,0x6C,0x01,0x79,0x01,0x86,0x01,0x93,0x01,0xA0,0x01,0xAD,0x01,0xBA,0x01,0xC7,0x01,
- 0xD4,0x01,0xE1,0x01,0xEE,0x01,0xFB,0x01,0x08,0x02,0x15,0x02,0x22,0x02,0x2F,0x02,0x3C,0x02,
- 0x49,0x02,0x56,0x02,0x63,0x02,0x70,0x02,0x7D,0x02,0x8A,0x02,0x97,0x02,0xA4,0x02,0xB1,0x02,
- 0xBE,0x02,0xCB,0x02,0xD8,0x02,0xE5,0x02,0xF2,0x02,0xFF,0x02,0x0C,0x03,0x19,0x03,0x26,0x03,
- 0x33,0x03,0x40,0x03,0x4D,0x03,0x5A,0x03,0x67,0x03,0x74,0x03,0x81,0x03,0x8E,0x03,0x9B,0x03,
- 0xA8,0x03,0xB5,0x03,0xC2,0x03,0xCF,0x03,0xDC,0x03,0xE9,0x03,0xF6,0x03,0x03,0x04,0x10,0x04,
- 0x1D,0x04,0x2A,0x04,0x37,0x04,0x44,0x04,0x51,0x04,0x5E,0x04,0x6B,0x04,0x78,0x04,0x85,0x04,
- 0x92,0x04,0x9F,0x04,0xAC,0x04,0xB9,0x04,0xC6,0x04,0xD3,0x04,
-
- 7, // 0x20 ' '
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 7, // 0x21 '!'
- 0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x00,0x10,0x00,0x00,
-
- 7, // 0x22 '"'
- 0x28,0x28,0x50,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 7, // 0x23 '#'
- 0x24,0x24,0x24,0x7E,0x24,0x24,0x24,0x7E,0x24,0x24,0x24,0x00,
-
- 7, // 0x24 '$'
- 0x10,0x10,0x38,0x54,0x50,0x38,0x14,0x54,0x38,0x10,0x10,0x00,
-
- 7, // 0x25 '%'
- 0x32,0x54,0x64,0x08,0x08,0x10,0x10,0x26,0x2A,0x4C,0x00,0x00,
-
- 7, // 0x26 '&'
- 0x00,0x20,0x50,0x50,0x50,0x20,0x54,0x54,0x48,0x34,0x00,0x00,
-
- 7, // 0x27 '''
- 0x10,0x10,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 7, // 0x28 '('
- 0x08,0x10,0x10,0x20,0x20,0x20,0x20,0x20,0x10,0x10,0x08,0x00,
-
- 7, // 0x29 ')'
- 0x20,0x10,0x10,0x08,0x08,0x08,0x08,0x08,0x10,0x10,0x20,0x00,
-
- 7, // 0x2A '*'
- 0x00,0x00,0x10,0x54,0x38,0x7C,0x38,0x54,0x10,0x00,0x00,0x00,
-
- 7, // 0x2B '+'
- 0x00,0x00,0x00,0x00,0x10,0x10,0x7C,0x10,0x10,0x00,0x00,0x00,
-
- 7, // 0x2C ','
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x30,0x20,0x40,
-
- 7, // 0x2D '-'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x7C,0x00,0x00,0x00,0x00,0x00,
-
- 7, // 0x2E '.'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x30,0x00,0x00,
-
- 7, // 0x2F '/'
- 0x04,0x04,0x08,0x08,0x10,0x10,0x20,0x20,0x40,0x40,0x00,0x00,
-
- 7, // 0x30 '0'
- 0x00,0x38,0x44,0x44,0x54,0x54,0x54,0x44,0x44,0x38,0x00,0x00,
-
- 7, // 0x31 '1'
- 0x00,0x10,0x30,0x10,0x10,0x10,0x10,0x10,0x10,0x38,0x00,0x00,
-
- 7, // 0x32 '2'
- 0x00,0x38,0x44,0x04,0x04,0x08,0x10,0x20,0x40,0x7C,0x00,0x00,
-
- 7, // 0x33 '3'
- 0x00,0x38,0x44,0x04,0x04,0x38,0x04,0x04,0x44,0x38,0x00,0x00,
-
- 7, // 0x34 '4'
- 0x00,0x08,0x18,0x28,0x28,0x48,0x48,0x7C,0x08,0x08,0x00,0x00,
-
- 7, // 0x35 '5'
- 0x00,0x7C,0x40,0x40,0x78,0x44,0x04,0x04,0x44,0x38,0x00,0x00,
-
- 7, // 0x36 '6'
- 0x00,0x38,0x44,0x40,0x78,0x44,0x44,0x44,0x44,0x38,0x00,0x00,
-
- 7, // 0x37 '7'
- 0x00,0x7C,0x04,0x08,0x08,0x10,0x10,0x20,0x20,0x20,0x00,0x00,
-
- 7, // 0x38 '8'
- 0x00,0x38,0x44,0x44,0x44,0x38,0x44,0x44,0x44,0x38,0x00,0x00,
-
- 7, // 0x39 '9'
- 0x00,0x38,0x44,0x44,0x44,0x3C,0x04,0x04,0x44,0x38,0x00,0x00,
-
- 7, // 0x3A ':'
- 0x00,0x00,0x00,0x30,0x30,0x00,0x00,0x00,0x30,0x30,0x00,0x00,
-
- 7, // 0x3B ';'
- 0x00,0x00,0x00,0x30,0x30,0x00,0x00,0x00,0x30,0x30,0x20,0x40,
-
- 7, // 0x3C '<'
- 0x00,0x04,0x08,0x10,0x20,0x40,0x20,0x10,0x08,0x04,0x00,0x00,
-
- 7, // 0x3D '='
- 0x00,0x00,0x00,0x00,0x7C,0x00,0x00,0x7C,0x00,0x00,0x00,0x00,
-
- 7, // 0x3E '>'
- 0x00,0x40,0x20,0x10,0x08,0x04,0x08,0x10,0x20,0x40,0x00,0x00,
-
- 7, // 0x3F '?'
- 0x00,0x38,0x44,0x04,0x04,0x08,0x10,0x10,0x00,0x10,0x00,0x00,
-
- 7, // 0x40 '@'
- 0x00,0x38,0x44,0x44,0x5C,0x54,0x54,0x4C,0x40,0x38,0x00,0x00,
-
- 7, // 0x41 'A'
- 0x00,0x38,0x44,0x44,0x44,0x7C,0x44,0x44,0x44,0x44,0x00,0x00,
-
- 7, // 0x42 'B'
- 0x00,0x78,0x44,0x44,0x44,0x78,0x44,0x44,0x44,0x78,0x00,0x00,
-
- 7, // 0x43 'C'
- 0x00,0x38,0x44,0x40,0x40,0x40,0x40,0x40,0x44,0x38,0x00,0x00,
-
- 7, // 0x44 'D'
- 0x00,0x70,0x48,0x44,0x44,0x44,0x44,0x44,0x48,0x70,0x00,0x00,
-
- 7, // 0x45 'E'
- 0x00,0x7C,0x40,0x40,0x40,0x78,0x40,0x40,0x40,0x7C,0x00,0x00,
-
- 7, // 0x46 'F'
- 0x00,0x7C,0x40,0x40,0x40,0x78,0x40,0x40,0x40,0x40,0x00,0x00,
-
- 7, // 0x47 'G'
- 0x00,0x38,0x44,0x40,0x40,0x5C,0x44,0x44,0x4C,0x34,0x00,0x00,
-
- 7, // 0x48 'H'
- 0x00,0x44,0x44,0x44,0x44,0x7C,0x44,0x44,0x44,0x44,0x00,0x00,
-
- 7, // 0x49 'I'
- 0x00,0x38,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x38,0x00,0x00,
-
- 7, // 0x4A 'J'
- 0x00,0x1C,0x08,0x08,0x08,0x08,0x08,0x48,0x48,0x30,0x00,0x00,
-
- 7, // 0x4B 'K'
- 0x00,0x44,0x48,0x50,0x60,0x60,0x50,0x48,0x44,0x44,0x00,0x00,
-
- 7, // 0x4C 'L'
- 0x00,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x7C,0x00,0x00,
-
- 7, // 0x4D 'M'
- 0x00,0x44,0x6C,0x6C,0x54,0x54,0x44,0x44,0x44,0x44,0x00,0x00,
-
- 7, // 0x4E 'N'
- 0x00,0x44,0x64,0x64,0x54,0x54,0x4C,0x4C,0x44,0x44,0x00,0x00,
-
- 7, // 0x4F 'O'
- 0x00,0x38,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x38,0x00,0x00,
-
- 7, // 0x50 'P'
- 0x00,0x78,0x44,0x44,0x44,0x44,0x78,0x40,0x40,0x40,0x00,0x00,
-
- 7, // 0x51 'Q'
- 0x00,0x38,0x44,0x44,0x44,0x44,0x44,0x54,0x48,0x34,0x00,0x00,
-
- 7, // 0x52 'R'
- 0x00,0x78,0x44,0x44,0x44,0x44,0x78,0x48,0x44,0x44,0x00,0x00,
-
- 7, // 0x53 'S'
- 0x00,0x38,0x44,0x40,0x40,0x38,0x04,0x04,0x44,0x38,0x00,0x00,
-
- 7, // 0x54 'T'
- 0x00,0x7C,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x00,0x00,
-
- 7, // 0x55 'U'
- 0x00,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x38,0x00,0x00,
-
- 7, // 0x56 'V'
- 0x00,0x44,0x44,0x44,0x44,0x28,0x28,0x28,0x10,0x10,0x00,0x00,
-
- 7, // 0x57 'W'
- 0x00,0x44,0x44,0x44,0x44,0x44,0x44,0x54,0x54,0x28,0x00,0x00,
-
- 7, // 0x58 'X'
- 0x00,0x44,0x44,0x44,0x28,0x10,0x28,0x44,0x44,0x44,0x00,0x00,
-
- 7, // 0x59 'Y'
- 0x00,0x44,0x44,0x44,0x44,0x28,0x10,0x10,0x10,0x10,0x00,0x00,
-
- 7, // 0x5A 'Z'
- 0x00,0x7C,0x04,0x04,0x08,0x10,0x20,0x40,0x40,0x7C,0x00,0x00,
-
- 7, // 0x5B '['
- 0x38,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x38,0x00,
-
- 7, // 0x5C '\'
- 0x00,0x40,0x40,0x20,0x20,0x10,0x10,0x08,0x08,0x04,0x04,0x00,
-
- 7, // 0x5D ']'
- 0x38,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x38,0x00,
-
- 7, // 0x5E '^'
- 0x00,0x10,0x28,0x44,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 7, // 0x5F '_'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7C,0x00,0x00,
-
- 7, // 0x60 '`'
- 0x00,0x20,0x20,0x10,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 7, // 0x61 'a'
- 0x00,0x00,0x00,0x38,0x04,0x3C,0x44,0x44,0x44,0x3C,0x00,0x00,
-
- 7, // 0x62 'b'
- 0x00,0x40,0x40,0x78,0x44,0x44,0x44,0x44,0x44,0x78,0x00,0x00,
-
- 7, // 0x63 'c'
- 0x00,0x00,0x00,0x38,0x44,0x40,0x40,0x40,0x44,0x38,0x00,0x00,
-
- 7, // 0x64 'd'
- 0x00,0x04,0x04,0x3C,0x44,0x44,0x44,0x44,0x44,0x3C,0x00,0x00,
-
- 7, // 0x65 'e'
- 0x00,0x00,0x00,0x38,0x44,0x44,0x7C,0x40,0x44,0x38,0x00,0x00,
-
- 7, // 0x66 'f'
- 0x00,0x0C,0x10,0x38,0x10,0x10,0x10,0x10,0x10,0x10,0x00,0x00,
-
- 7, // 0x67 'g'
- 0x00,0x00,0x00,0x3C,0x44,0x44,0x44,0x44,0x44,0x3C,0x04,0x78,
-
- 7, // 0x68 'h'
- 0x00,0x40,0x40,0x78,0x44,0x44,0x44,0x44,0x44,0x44,0x00,0x00,
-
- 7, // 0x69 'i'
- 0x00,0x10,0x00,0x30,0x10,0x10,0x10,0x10,0x10,0x38,0x00,0x00,
-
- 7, // 0x6A 'j'
- 0x00,0x08,0x00,0x18,0x08,0x08,0x08,0x08,0x08,0x08,0x48,0x30,
-
- 7, // 0x6B 'k'
- 0x00,0x40,0x40,0x44,0x48,0x50,0x60,0x50,0x48,0x44,0x00,0x00,
-
- 7, // 0x6C 'l'
- 0x00,0x30,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x38,0x00,0x00,
-
- 7, // 0x6D 'm'
- 0x00,0x00,0x00,0x68,0x54,0x54,0x44,0x44,0x44,0x44,0x00,0x00,
-
- 7, // 0x6E 'n'
- 0x00,0x00,0x00,0x58,0x64,0x44,0x44,0x44,0x44,0x44,0x00,0x00,
-
- 7, // 0x6F 'o'
- 0x00,0x00,0x00,0x38,0x44,0x44,0x44,0x44,0x44,0x38,0x00,0x00,
-
- 7, // 0x70 'p'
- 0x00,0x00,0x00,0x78,0x44,0x44,0x44,0x44,0x44,0x78,0x40,0x40,
-
- 7, // 0x71 'q'
- 0x00,0x00,0x00,0x3C,0x44,0x44,0x44,0x44,0x44,0x3C,0x04,0x04,
-
- 7, // 0x72 'r'
- 0x00,0x00,0x00,0x58,0x24,0x20,0x20,0x20,0x20,0x70,0x00,0x00,
-
- 7, // 0x73 's'
- 0x00,0x00,0x00,0x38,0x44,0x40,0x38,0x04,0x44,0x38,0x00,0x00,
-
- 7, // 0x74 't'
- 0x00,0x20,0x20,0x70,0x20,0x20,0x20,0x20,0x24,0x18,0x00,0x00,
-
- 7, // 0x75 'u'
- 0x00,0x00,0x00,0x44,0x44,0x44,0x44,0x44,0x4C,0x34,0x00,0x00,
-
- 7, // 0x76 'v'
- 0x00,0x00,0x00,0x44,0x44,0x44,0x28,0x28,0x10,0x10,0x00,0x00,
-
- 7, // 0x77 'w'
- 0x00,0x00,0x00,0x44,0x44,0x44,0x44,0x54,0x54,0x28,0x00,0x00,
-
- 7, // 0x78 'x'
- 0x00,0x00,0x00,0x44,0x44,0x28,0x10,0x28,0x44,0x44,0x00,0x00,
-
- 7, // 0x79 'y'
- 0x00,0x00,0x00,0x44,0x44,0x44,0x44,0x44,0x44,0x3C,0x08,0x70,
-
- 7, // 0x7A 'z'
- 0x00,0x00,0x00,0x7C,0x04,0x08,0x10,0x20,0x40,0x7C,0x00,0x00,
-
- 7, // 0x7B '{'
- 0x18,0x20,0x20,0x20,0x20,0xC0,0x20,0x20,0x20,0x20,0x18,0x00,
-
- 7, // 0x7C '|'
- 0x00,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x00,
-
- 7, // 0x7D '}'
- 0x60,0x10,0x10,0x10,0x10,0x0C,0x10,0x10,0x10,0x10,0x60,0x00,
-
- 7, // 0x7E '~'
- 0x00,0x60,0x92,0x92,0x0C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 7, // 0x7F ''
- 0x00,0x10,0x38,0x6C,0x44,0x44,0x7C,0x00,0x00,0x00,0x00,0x00,
-
- 0
- };
-
- const int8u mcs7x12_mono_low[] =
- {
- 12, 4, 32, 128-32,
- 0x00,0x00,0x0D,0x00,0x1A,0x00,0x27,0x00,0x34,0x00,0x41,0x00,0x4E,0x00,0x5B,0x00,0x68,0x00,
- 0x75,0x00,0x82,0x00,0x8F,0x00,0x9C,0x00,0xA9,0x00,0xB6,0x00,0xC3,0x00,0xD0,0x00,0xDD,0x00,
- 0xEA,0x00,0xF7,0x00,0x04,0x01,0x11,0x01,0x1E,0x01,0x2B,0x01,0x38,0x01,0x45,0x01,0x52,0x01,
- 0x5F,0x01,0x6C,0x01,0x79,0x01,0x86,0x01,0x93,0x01,0xA0,0x01,0xAD,0x01,0xBA,0x01,0xC7,0x01,
- 0xD4,0x01,0xE1,0x01,0xEE,0x01,0xFB,0x01,0x08,0x02,0x15,0x02,0x22,0x02,0x2F,0x02,0x3C,0x02,
- 0x49,0x02,0x56,0x02,0x63,0x02,0x70,0x02,0x7D,0x02,0x8A,0x02,0x97,0x02,0xA4,0x02,0xB1,0x02,
- 0xBE,0x02,0xCB,0x02,0xD8,0x02,0xE5,0x02,0xF2,0x02,0xFF,0x02,0x0C,0x03,0x19,0x03,0x26,0x03,
- 0x33,0x03,0x40,0x03,0x4D,0x03,0x5A,0x03,0x67,0x03,0x74,0x03,0x81,0x03,0x8E,0x03,0x9B,0x03,
- 0xA8,0x03,0xB5,0x03,0xC2,0x03,0xCF,0x03,0xDC,0x03,0xE9,0x03,0xF6,0x03,0x03,0x04,0x10,0x04,
- 0x1D,0x04,0x2A,0x04,0x37,0x04,0x44,0x04,0x51,0x04,0x5E,0x04,0x6B,0x04,0x78,0x04,0x85,0x04,
- 0x92,0x04,0x9F,0x04,0xAC,0x04,0xB9,0x04,0xC6,0x04,0xD3,0x04,
-
- 7, // 0x20 ' '
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 7, // 0x21 '!'
- 0x00,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x00,0x10,0x00,0x00,
-
- 7, // 0x22 '"'
- 0x28,0x28,0x50,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 7, // 0x23 '#'
- 0x00,0x28,0x28,0x7C,0x28,0x28,0x28,0x7C,0x28,0x28,0x00,0x00,
-
- 7, // 0x24 '$'
- 0x00,0x10,0x38,0x54,0x50,0x38,0x14,0x54,0x38,0x10,0x00,0x00,
-
- 7, // 0x25 '%'
- 0x34,0x54,0x68,0x08,0x10,0x10,0x20,0x2C,0x54,0x58,0x00,0x00,
-
- 7, // 0x26 '&'
- 0x00,0x20,0x50,0x50,0x20,0x54,0x54,0x48,0x34,0x00,0x00,0x00,
-
- 7, // 0x27 '''
- 0x00,0x10,0x10,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 7, // 0x28 '('
- 0x08,0x10,0x10,0x20,0x20,0x20,0x20,0x20,0x10,0x10,0x08,0x00,
-
- 7, // 0x29 ')'
- 0x20,0x10,0x10,0x08,0x08,0x08,0x08,0x08,0x10,0x10,0x20,0x00,
-
- 7, // 0x2A '*'
- 0x00,0x00,0x10,0x54,0x38,0x7C,0x38,0x54,0x10,0x00,0x00,0x00,
-
- 7, // 0x2B '+'
- 0x00,0x00,0x00,0x10,0x10,0x7C,0x10,0x10,0x00,0x00,0x00,0x00,
-
- 7, // 0x2C ','
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x30,0x20,0x40,0x00,
-
- 7, // 0x2D '-'
- 0x00,0x00,0x00,0x00,0x00,0x7C,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 7, // 0x2E '.'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x30,0x00,0x00,0x00,
-
- 7, // 0x2F '/'
- 0x04,0x04,0x08,0x08,0x10,0x10,0x20,0x20,0x40,0x40,0x00,0x00,
-
- 7, // 0x30 '0'
- 0x00,0x38,0x44,0x44,0x54,0x54,0x44,0x44,0x38,0x00,0x00,0x00,
-
- 7, // 0x31 '1'
- 0x00,0x10,0x30,0x10,0x10,0x10,0x10,0x10,0x38,0x00,0x00,0x00,
-
- 7, // 0x32 '2'
- 0x00,0x38,0x44,0x44,0x08,0x10,0x20,0x40,0x7C,0x00,0x00,0x00,
-
- 7, // 0x33 '3'
- 0x00,0x38,0x44,0x04,0x38,0x04,0x04,0x44,0x38,0x00,0x00,0x00,
-
- 7, // 0x34 '4'
- 0x00,0x08,0x18,0x28,0x28,0x48,0x7C,0x08,0x08,0x00,0x00,0x00,
-
- 7, // 0x35 '5'
- 0x00,0x7C,0x40,0x78,0x44,0x04,0x04,0x44,0x38,0x00,0x00,0x00,
-
- 7, // 0x36 '6'
- 0x00,0x38,0x44,0x40,0x78,0x44,0x44,0x44,0x38,0x00,0x00,0x00,
-
- 7, // 0x37 '7'
- 0x00,0x7C,0x04,0x08,0x08,0x10,0x10,0x20,0x20,0x00,0x00,0x00,
-
- 7, // 0x38 '8'
- 0x00,0x38,0x44,0x44,0x38,0x44,0x44,0x44,0x38,0x00,0x00,0x00,
-
- 7, // 0x39 '9'
- 0x00,0x38,0x44,0x44,0x44,0x3C,0x04,0x44,0x38,0x00,0x00,0x00,
-
- 7, // 0x3A ':'
- 0x00,0x00,0x00,0x30,0x30,0x00,0x00,0x30,0x30,0x00,0x00,0x00,
-
- 7, // 0x3B ';'
- 0x00,0x00,0x00,0x30,0x30,0x00,0x00,0x30,0x30,0x20,0x40,0x00,
-
- 7, // 0x3C '<'
- 0x00,0x04,0x08,0x10,0x20,0x40,0x20,0x10,0x08,0x04,0x00,0x00,
-
- 7, // 0x3D '='
- 0x00,0x00,0x00,0x00,0x7C,0x00,0x00,0x7C,0x00,0x00,0x00,0x00,
-
- 7, // 0x3E '>'
- 0x00,0x40,0x20,0x10,0x08,0x04,0x08,0x10,0x20,0x40,0x00,0x00,
-
- 7, // 0x3F '?'
- 0x00,0x38,0x44,0x04,0x04,0x08,0x10,0x10,0x00,0x10,0x00,0x00,
-
- 7, // 0x40 '@'
- 0x00,0x38,0x44,0x44,0x5C,0x54,0x4C,0x40,0x38,0x00,0x00,0x00,
-
- 7, // 0x41 'A'
- 0x00,0x38,0x44,0x44,0x44,0x7C,0x44,0x44,0x44,0x00,0x00,0x00,
-
- 7, // 0x42 'B'
- 0x00,0x78,0x44,0x44,0x78,0x44,0x44,0x44,0x78,0x00,0x00,0x00,
-
- 7, // 0x43 'C'
- 0x00,0x38,0x44,0x40,0x40,0x40,0x40,0x44,0x38,0x00,0x00,0x00,
-
- 7, // 0x44 'D'
- 0x00,0x70,0x48,0x44,0x44,0x44,0x44,0x48,0x70,0x00,0x00,0x00,
-
- 7, // 0x45 'E'
- 0x00,0x7C,0x40,0x40,0x78,0x40,0x40,0x40,0x7C,0x00,0x00,0x00,
-
- 7, // 0x46 'F'
- 0x00,0x7C,0x40,0x40,0x78,0x40,0x40,0x40,0x40,0x00,0x00,0x00,
-
- 7, // 0x47 'G'
- 0x00,0x38,0x44,0x40,0x40,0x4C,0x44,0x4C,0x34,0x00,0x00,0x00,
-
- 7, // 0x48 'H'
- 0x00,0x44,0x44,0x44,0x7C,0x44,0x44,0x44,0x44,0x00,0x00,0x00,
-
- 7, // 0x49 'I'
- 0x00,0x38,0x10,0x10,0x10,0x10,0x10,0x10,0x38,0x00,0x00,0x00,
-
- 7, // 0x4A 'J'
- 0x00,0x1C,0x08,0x08,0x08,0x08,0x48,0x48,0x30,0x00,0x00,0x00,
-
- 7, // 0x4B 'K'
- 0x00,0x44,0x48,0x50,0x60,0x60,0x50,0x48,0x44,0x00,0x00,0x00,
-
- 7, // 0x4C 'L'
- 0x00,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x7C,0x00,0x00,0x00,
-
- 7, // 0x4D 'M'
- 0x00,0x44,0x6C,0x54,0x54,0x44,0x44,0x44,0x44,0x00,0x00,0x00,
-
- 7, // 0x4E 'N'
- 0x00,0x44,0x64,0x64,0x54,0x54,0x4C,0x4C,0x44,0x00,0x00,0x00,
-
- 7, // 0x4F 'O'
- 0x00,0x38,0x44,0x44,0x44,0x44,0x44,0x44,0x38,0x00,0x00,0x00,
-
- 7, // 0x50 'P'
- 0x00,0x78,0x44,0x44,0x44,0x78,0x40,0x40,0x40,0x00,0x00,0x00,
-
- 7, // 0x51 'Q'
- 0x00,0x38,0x44,0x44,0x44,0x44,0x54,0x48,0x34,0x00,0x00,0x00,
-
- 7, // 0x52 'R'
- 0x00,0x78,0x44,0x44,0x44,0x78,0x48,0x44,0x44,0x00,0x00,0x00,
-
- 7, // 0x53 'S'
- 0x00,0x38,0x44,0x40,0x38,0x04,0x44,0x44,0x38,0x00,0x00,0x00,
-
- 7, // 0x54 'T'
- 0x00,0x7C,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x00,0x00,0x00,
-
- 7, // 0x55 'U'
- 0x00,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x38,0x00,0x00,0x00,
-
- 7, // 0x56 'V'
- 0x00,0x44,0x44,0x44,0x28,0x28,0x28,0x10,0x10,0x00,0x00,0x00,
-
- 7, // 0x57 'W'
- 0x00,0x44,0x44,0x44,0x44,0x44,0x54,0x54,0x28,0x00,0x00,0x00,
-
- 7, // 0x58 'X'
- 0x00,0x44,0x44,0x28,0x10,0x28,0x44,0x44,0x44,0x00,0x00,0x00,
-
- 7, // 0x59 'Y'
- 0x00,0x44,0x44,0x44,0x28,0x10,0x10,0x10,0x10,0x00,0x00,0x00,
-
- 7, // 0x5A 'Z'
- 0x00,0x7C,0x04,0x08,0x10,0x20,0x40,0x40,0x7C,0x00,0x00,0x00,
-
- 7, // 0x5B '['
- 0x38,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x38,0x00,
-
- 7, // 0x5C '\'
- 0x00,0x40,0x40,0x20,0x20,0x10,0x10,0x08,0x08,0x04,0x04,0x00,
-
- 7, // 0x5D ']'
- 0x38,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x38,0x00,
-
- 7, // 0x5E '^'
- 0x00,0x10,0x28,0x44,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 7, // 0x5F '_'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7C,0x00,0x00,0x00,
-
- 7, // 0x60 '`'
- 0x00,0x20,0x20,0x10,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 7, // 0x61 'a'
- 0x00,0x00,0x00,0x38,0x04,0x3C,0x44,0x44,0x3C,0x00,0x00,0x00,
-
- 7, // 0x62 'b'
- 0x00,0x40,0x40,0x78,0x44,0x44,0x44,0x44,0x78,0x00,0x00,0x00,
-
- 7, // 0x63 'c'
- 0x00,0x00,0x00,0x38,0x44,0x40,0x40,0x44,0x38,0x00,0x00,0x00,
-
- 7, // 0x64 'd'
- 0x00,0x04,0x04,0x3C,0x44,0x44,0x44,0x44,0x3C,0x00,0x00,0x00,
-
- 7, // 0x65 'e'
- 0x00,0x00,0x00,0x38,0x44,0x7C,0x40,0x44,0x38,0x00,0x00,0x00,
-
- 7, // 0x66 'f'
- 0x00,0x0C,0x10,0x38,0x10,0x10,0x10,0x10,0x10,0x00,0x00,0x00,
-
- 7, // 0x67 'g'
- 0x00,0x00,0x00,0x3C,0x44,0x44,0x44,0x44,0x3C,0x04,0x44,0x38,
-
- 7, // 0x68 'h'
- 0x00,0x40,0x40,0x78,0x44,0x44,0x44,0x44,0x44,0x00,0x00,0x00,
-
- 7, // 0x69 'i'
- 0x00,0x10,0x00,0x30,0x10,0x10,0x10,0x10,0x38,0x00,0x00,0x00,
-
- 7, // 0x6A 'j'
- 0x00,0x08,0x00,0x18,0x08,0x08,0x08,0x08,0x08,0x48,0x48,0x30,
-
- 7, // 0x6B 'k'
- 0x00,0x40,0x40,0x4C,0x50,0x60,0x50,0x48,0x44,0x00,0x00,0x00,
-
- 7, // 0x6C 'l'
- 0x00,0x30,0x10,0x10,0x10,0x10,0x10,0x10,0x38,0x00,0x00,0x00,
-
- 7, // 0x6D 'm'
- 0x00,0x00,0x00,0x68,0x54,0x54,0x44,0x44,0x44,0x00,0x00,0x00,
-
- 7, // 0x6E 'n'
- 0x00,0x00,0x00,0x58,0x64,0x44,0x44,0x44,0x44,0x00,0x00,0x00,
-
- 7, // 0x6F 'o'
- 0x00,0x00,0x00,0x38,0x44,0x44,0x44,0x44,0x38,0x00,0x00,0x00,
-
- 7, // 0x70 'p'
- 0x00,0x00,0x00,0x78,0x44,0x44,0x44,0x44,0x78,0x40,0x40,0x40,
-
- 7, // 0x71 'q'
- 0x00,0x00,0x00,0x3C,0x44,0x44,0x44,0x44,0x3C,0x04,0x04,0x04,
-
- 7, // 0x72 'r'
- 0x00,0x00,0x00,0x58,0x24,0x20,0x20,0x20,0x70,0x00,0x00,0x00,
-
- 7, // 0x73 's'
- 0x00,0x00,0x00,0x38,0x44,0x30,0x08,0x44,0x38,0x00,0x00,0x00,
-
- 7, // 0x74 't'
- 0x00,0x20,0x20,0x70,0x20,0x20,0x20,0x24,0x18,0x00,0x00,0x00,
-
- 7, // 0x75 'u'
- 0x00,0x00,0x00,0x44,0x44,0x44,0x44,0x4C,0x34,0x00,0x00,0x00,
-
- 7, // 0x76 'v'
- 0x00,0x00,0x00,0x44,0x44,0x28,0x28,0x10,0x10,0x00,0x00,0x00,
-
- 7, // 0x77 'w'
- 0x00,0x00,0x00,0x44,0x44,0x44,0x54,0x54,0x28,0x00,0x00,0x00,
-
- 7, // 0x78 'x'
- 0x00,0x00,0x00,0x44,0x28,0x10,0x28,0x44,0x44,0x00,0x00,0x00,
-
- 7, // 0x79 'y'
- 0x00,0x00,0x00,0x44,0x44,0x44,0x44,0x44,0x3C,0x04,0x08,0x70,
-
- 7, // 0x7A 'z'
- 0x00,0x00,0x00,0x7C,0x08,0x10,0x20,0x40,0x7C,0x00,0x00,0x00,
-
- 7, // 0x7B '{'
- 0x18,0x20,0x20,0x20,0x20,0xC0,0x20,0x20,0x20,0x20,0x18,0x00,
-
- 7, // 0x7C '|'
- 0x00,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x00,
-
- 7, // 0x7D '}'
- 0x60,0x10,0x10,0x10,0x10,0x0C,0x10,0x10,0x10,0x10,0x60,0x00,
-
- 7, // 0x7E '~'
- 0x00,0x24,0x54,0x48,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 7, // 0x7F ''
- 0x00,0x10,0x38,0x6C,0x44,0x44,0x7C,0x00,0x00,0x00,0x00,0x00,
-
- 0
- };
-
- const int8u verdana12[] =
- {
- 12, 3, 32, 128-32,
- 0x00,0x00,0x0D,0x00,0x1A,0x00,0x27,0x00,0x34,0x00,0x41,0x00,0x5A,0x00,0x67,0x00,0x74,0x00,
- 0x81,0x00,0x8E,0x00,0x9B,0x00,0xA8,0x00,0xB5,0x00,0xC2,0x00,0xCF,0x00,0xDC,0x00,0xE9,0x00,
- 0xF6,0x00,0x03,0x01,0x10,0x01,0x1D,0x01,0x2A,0x01,0x37,0x01,0x44,0x01,0x51,0x01,0x5E,0x01,
- 0x6B,0x01,0x78,0x01,0x85,0x01,0x92,0x01,0x9F,0x01,0xAC,0x01,0xC5,0x01,0xD2,0x01,0xDF,0x01,
- 0xEC,0x01,0xF9,0x01,0x06,0x02,0x13,0x02,0x20,0x02,0x2D,0x02,0x3A,0x02,0x47,0x02,0x54,0x02,
- 0x61,0x02,0x7A,0x02,0x87,0x02,0xA0,0x02,0xAD,0x02,0xC6,0x02,0xD3,0x02,0xE0,0x02,0xED,0x02,
- 0xFA,0x02,0x07,0x03,0x20,0x03,0x2D,0x03,0x3A,0x03,0x47,0x03,0x54,0x03,0x61,0x03,0x6E,0x03,
- 0x7B,0x03,0x88,0x03,0x95,0x03,0xA2,0x03,0xAF,0x03,0xBC,0x03,0xC9,0x03,0xD6,0x03,0xE3,0x03,
- 0xF0,0x03,0xFD,0x03,0x0A,0x04,0x17,0x04,0x24,0x04,0x31,0x04,0x4A,0x04,0x57,0x04,0x64,0x04,
- 0x71,0x04,0x7E,0x04,0x8B,0x04,0x98,0x04,0xA5,0x04,0xB2,0x04,0xBF,0x04,0xCC,0x04,0xD9,0x04,
- 0xE6,0x04,0xF3,0x04,0x00,0x05,0x0D,0x05,0x1A,0x05,0x27,0x05,
-
- 3, // 0x20 ' '
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 5, // 0x21 '!'
- 0x00,0x00,0x00,0x20,0x20,0x20,0x20,0x20,0x00,0x20,0x00,0x00,
-
- 5, // 0x22 '"'
- 0x00,0x00,0x50,0x50,0x50,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 7, // 0x23 '#'
- 0x00,0x00,0x00,0x00,0x28,0x7C,0x28,0x7C,0x28,0x00,0x00,0x00,
-
- 7, // 0x24 '$'
- 0x00,0x00,0x10,0x10,0x3C,0x50,0x30,0x18,0x14,0x78,0x10,0x10,
-
- 11, // 0x25 '%'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x31,0x00,0x4A,0x00,0x4A,0x00,0x35,0x80,0x0A,0x40,0x0A,0x40,0x11,0x80,0x00,0x00,0x00,0x00,
-
- 7, // 0x26 '&'
- 0x00,0x00,0x00,0x30,0x48,0x48,0x32,0x4A,0x44,0x3A,0x00,0x00,
-
- 3, // 0x27 '''
- 0x00,0x00,0x40,0x40,0x40,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 4, // 0x28 '('
- 0x00,0x00,0x10,0x20,0x40,0x40,0x40,0x40,0x40,0x40,0x20,0x10,
-
- 4, // 0x29 ')'
- 0x00,0x00,0x80,0x40,0x20,0x20,0x20,0x20,0x20,0x20,0x40,0x80,
-
- 7, // 0x2A '*'
- 0x00,0x10,0x54,0x38,0x54,0x10,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 7, // 0x2B '+'
- 0x00,0x00,0x00,0x00,0x10,0x10,0x7C,0x10,0x10,0x00,0x00,0x00,
-
- 3, // 0x2C ','
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x40,0x40,0x80,0x00,
-
- 5, // 0x2D '-'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x70,0x00,0x00,0x00,0x00,0x00,
-
- 3, // 0x2E '.'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x40,0x40,0x00,0x00,
-
- 4, // 0x2F '/'
- 0x00,0x00,0x10,0x10,0x20,0x20,0x40,0x40,0x40,0x80,0x80,0x00,
-
- 7, // 0x30 '0'
- 0x00,0x00,0x00,0x38,0x44,0x44,0x44,0x44,0x44,0x38,0x00,0x00,
-
- 7, // 0x31 '1'
- 0x00,0x00,0x00,0x10,0x30,0x10,0x10,0x10,0x10,0x38,0x00,0x00,
-
- 7, // 0x32 '2'
- 0x00,0x00,0x00,0x38,0x44,0x04,0x08,0x10,0x20,0x7C,0x00,0x00,
-
- 7, // 0x33 '3'
- 0x00,0x00,0x00,0x38,0x44,0x04,0x18,0x04,0x44,0x38,0x00,0x00,
-
- 7, // 0x34 '4'
- 0x00,0x00,0x00,0x08,0x18,0x28,0x48,0x7C,0x08,0x08,0x00,0x00,
-
- 7, // 0x35 '5'
- 0x00,0x00,0x00,0x7C,0x40,0x78,0x04,0x04,0x44,0x38,0x00,0x00,
-
- 7, // 0x36 '6'
- 0x00,0x00,0x00,0x18,0x20,0x40,0x78,0x44,0x44,0x38,0x00,0x00,
-
- 7, // 0x37 '7'
- 0x00,0x00,0x00,0x7C,0x04,0x08,0x08,0x10,0x10,0x10,0x00,0x00,
-
- 7, // 0x38 '8'
- 0x00,0x00,0x00,0x38,0x44,0x44,0x38,0x44,0x44,0x38,0x00,0x00,
-
- 7, // 0x39 '9'
- 0x00,0x00,0x00,0x38,0x44,0x44,0x3C,0x04,0x08,0x30,0x00,0x00,
-
- 4, // 0x3A ':'
- 0x00,0x00,0x00,0x00,0x00,0x40,0x40,0x00,0x40,0x40,0x00,0x00,
-
- 4, // 0x3B ';'
- 0x00,0x00,0x00,0x00,0x00,0x40,0x40,0x00,0x40,0x40,0x80,0x00,
-
- 7, // 0x3C '<'
- 0x00,0x00,0x00,0x00,0x04,0x18,0x60,0x18,0x04,0x00,0x00,0x00,
-
- 7, // 0x3D '='
- 0x00,0x00,0x00,0x00,0x00,0x7C,0x00,0x7C,0x00,0x00,0x00,0x00,
-
- 7, // 0x3E '>'
- 0x00,0x00,0x00,0x00,0x40,0x30,0x0C,0x30,0x40,0x00,0x00,0x00,
-
- 6, // 0x3F '?'
- 0x00,0x00,0x00,0x70,0x08,0x08,0x10,0x20,0x00,0x20,0x00,0x00,
-
- 10, // 0x40 '@'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x1F,0x00,0x20,0x80,0x4E,0x80,0x52,0x80,0x52,0x80,0x4D,0x00,0x20,0x00,0x1F,0x00,0x00,0x00,
-
- 8, // 0x41 'A'
- 0x00,0x00,0x00,0x18,0x18,0x24,0x24,0x7E,0x42,0x42,0x00,0x00,
-
- 7, // 0x42 'B'
- 0x00,0x00,0x00,0x70,0x48,0x48,0x78,0x44,0x44,0x78,0x00,0x00,
-
- 8, // 0x43 'C'
- 0x00,0x00,0x00,0x1C,0x22,0x40,0x40,0x40,0x22,0x1C,0x00,0x00,
-
- 8, // 0x44 'D'
- 0x00,0x00,0x00,0x78,0x44,0x42,0x42,0x42,0x44,0x78,0x00,0x00,
-
- 7, // 0x45 'E'
- 0x00,0x00,0x00,0x7C,0x40,0x40,0x78,0x40,0x40,0x7C,0x00,0x00,
-
- 6, // 0x46 'F'
- 0x00,0x00,0x00,0x7C,0x40,0x40,0x78,0x40,0x40,0x40,0x00,0x00,
-
- 8, // 0x47 'G'
- 0x00,0x00,0x00,0x1C,0x22,0x40,0x4E,0x42,0x22,0x1C,0x00,0x00,
-
- 8, // 0x48 'H'
- 0x00,0x00,0x00,0x42,0x42,0x42,0x7E,0x42,0x42,0x42,0x00,0x00,
-
- 5, // 0x49 'I'
- 0x00,0x00,0x00,0x70,0x20,0x20,0x20,0x20,0x20,0x70,0x00,0x00,
-
- 5, // 0x4A 'J'
- 0x00,0x00,0x00,0x30,0x10,0x10,0x10,0x10,0x10,0xE0,0x00,0x00,
-
- 7, // 0x4B 'K'
- 0x00,0x00,0x00,0x44,0x48,0x50,0x60,0x50,0x48,0x44,0x00,0x00,
-
- 6, // 0x4C 'L'
- 0x00,0x00,0x00,0x40,0x40,0x40,0x40,0x40,0x40,0x7C,0x00,0x00,
-
- 9, // 0x4D 'M'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x63,0x00,0x63,0x00,0x55,0x00,0x55,0x00,0x49,0x00,0x49,0x00,0x41,0x00,0x00,0x00,0x00,0x00,
-
- 8, // 0x4E 'N'
- 0x00,0x00,0x00,0x42,0x62,0x52,0x4A,0x46,0x42,0x42,0x00,0x00,
-
- 9, // 0x4F 'O'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x1C,0x00,0x22,0x00,0x41,0x00,0x41,0x00,0x41,0x00,0x22,0x00,0x1C,0x00,0x00,0x00,0x00,0x00,
-
- 7, // 0x50 'P'
- 0x00,0x00,0x00,0x78,0x44,0x44,0x44,0x78,0x40,0x40,0x00,0x00,
-
- 9, // 0x51 'Q'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x1C,0x00,0x22,0x00,0x41,0x00,0x41,0x00,0x41,0x00,0x22,0x00,0x1C,0x00,0x04,0x00,0x03,0x00,
-
- 7, // 0x52 'R'
- 0x00,0x00,0x00,0x78,0x44,0x44,0x78,0x50,0x48,0x44,0x00,0x00,
-
- 7, // 0x53 'S'
- 0x00,0x00,0x00,0x38,0x44,0x40,0x38,0x04,0x44,0x38,0x00,0x00,
-
- 7, // 0x54 'T'
- 0x00,0x00,0x00,0xFE,0x10,0x10,0x10,0x10,0x10,0x10,0x00,0x00,
-
- 8, // 0x55 'U'
- 0x00,0x00,0x00,0x42,0x42,0x42,0x42,0x42,0x42,0x3C,0x00,0x00,
-
- 8, // 0x56 'V'
- 0x00,0x00,0x00,0x42,0x42,0x42,0x24,0x24,0x18,0x18,0x00,0x00,
-
- 9, // 0x57 'W'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x41,0x00,0x49,0x00,0x49,0x00,0x55,0x00,0x55,0x00,0x22,0x00,0x22,0x00,0x00,0x00,0x00,0x00,
-
- 7, // 0x58 'X'
- 0x00,0x00,0x00,0x44,0x44,0x28,0x10,0x28,0x44,0x44,0x00,0x00,
-
- 7, // 0x59 'Y'
- 0x00,0x00,0x00,0x44,0x44,0x28,0x28,0x10,0x10,0x10,0x00,0x00,
-
- 7, // 0x5A 'Z'
- 0x00,0x00,0x00,0x7C,0x04,0x08,0x10,0x20,0x40,0x7C,0x00,0x00,
-
- 4, // 0x5B '['
- 0x00,0x00,0x60,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x60,
-
- 4, // 0x5C '\'
- 0x00,0x00,0x80,0x80,0x40,0x40,0x40,0x20,0x20,0x10,0x10,0x00,
-
- 4, // 0x5D ']'
- 0x00,0x00,0x60,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x60,
-
- 7, // 0x5E '^'
- 0x00,0x00,0x00,0x10,0x28,0x44,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 6, // 0x5F '_'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFC,
-
- 6, // 0x60 '`'
- 0x00,0x00,0x20,0x10,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 6, // 0x61 'a'
- 0x00,0x00,0x00,0x00,0x00,0x30,0x08,0x38,0x48,0x38,0x00,0x00,
-
- 6, // 0x62 'b'
- 0x00,0x00,0x40,0x40,0x40,0x70,0x48,0x48,0x48,0x70,0x00,0x00,
-
- 6, // 0x63 'c'
- 0x00,0x00,0x00,0x00,0x00,0x38,0x40,0x40,0x40,0x38,0x00,0x00,
-
- 6, // 0x64 'd'
- 0x00,0x00,0x08,0x08,0x08,0x38,0x48,0x48,0x48,0x38,0x00,0x00,
-
- 6, // 0x65 'e'
- 0x00,0x00,0x00,0x00,0x00,0x30,0x48,0x78,0x40,0x38,0x00,0x00,
-
- 4, // 0x66 'f'
- 0x00,0x00,0x30,0x40,0x40,0xE0,0x40,0x40,0x40,0x40,0x00,0x00,
-
- 6, // 0x67 'g'
- 0x00,0x00,0x00,0x00,0x00,0x38,0x48,0x48,0x48,0x38,0x08,0x30,
-
- 6, // 0x68 'h'
- 0x00,0x00,0x40,0x40,0x40,0x70,0x48,0x48,0x48,0x48,0x00,0x00,
-
- 3, // 0x69 'i'
- 0x00,0x00,0x00,0x40,0x00,0x40,0x40,0x40,0x40,0x40,0x00,0x00,
-
- 3, // 0x6A 'j'
- 0x00,0x00,0x00,0x40,0x00,0xC0,0x40,0x40,0x40,0x40,0x40,0x80,
-
- 6, // 0x6B 'k'
- 0x00,0x00,0x40,0x40,0x40,0x48,0x50,0x60,0x50,0x48,0x00,0x00,
-
- 3, // 0x6C 'l'
- 0x00,0x00,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x00,0x00,
-
- 9, // 0x6D 'm'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x76,0x00,0x49,0x00,0x49,0x00,0x49,0x00,0x49,0x00,0x00,0x00,0x00,0x00,
-
- 6, // 0x6E 'n'
- 0x00,0x00,0x00,0x00,0x00,0x70,0x48,0x48,0x48,0x48,0x00,0x00,
-
- 6, // 0x6F 'o'
- 0x00,0x00,0x00,0x00,0x00,0x30,0x48,0x48,0x48,0x30,0x00,0x00,
-
- 6, // 0x70 'p'
- 0x00,0x00,0x00,0x00,0x00,0x70,0x48,0x48,0x48,0x70,0x40,0x40,
-
- 6, // 0x71 'q'
- 0x00,0x00,0x00,0x00,0x00,0x38,0x48,0x48,0x48,0x38,0x08,0x08,
-
- 4, // 0x72 'r'
- 0x00,0x00,0x00,0x00,0x00,0x50,0x60,0x40,0x40,0x40,0x00,0x00,
-
- 6, // 0x73 's'
- 0x00,0x00,0x00,0x00,0x00,0x38,0x40,0x30,0x08,0x70,0x00,0x00,
-
- 4, // 0x74 't'
- 0x00,0x00,0x00,0x00,0x40,0xF0,0x40,0x40,0x40,0x30,0x00,0x00,
-
- 6, // 0x75 'u'
- 0x00,0x00,0x00,0x00,0x00,0x48,0x48,0x48,0x48,0x38,0x00,0x00,
-
- 6, // 0x76 'v'
- 0x00,0x00,0x00,0x00,0x00,0x48,0x48,0x48,0x30,0x30,0x00,0x00,
-
- 7, // 0x77 'w'
- 0x00,0x00,0x00,0x00,0x00,0x44,0x54,0x54,0x28,0x28,0x00,0x00,
-
- 6, // 0x78 'x'
- 0x00,0x00,0x00,0x00,0x00,0x48,0x48,0x30,0x48,0x48,0x00,0x00,
-
- 6, // 0x79 'y'
- 0x00,0x00,0x00,0x00,0x00,0x48,0x48,0x48,0x30,0x10,0x20,0x20,
-
- 5, // 0x7A 'z'
- 0x00,0x00,0x00,0x00,0x00,0x70,0x10,0x20,0x40,0x70,0x00,0x00,
-
- 6, // 0x7B '{'
- 0x00,0x00,0x18,0x20,0x20,0x20,0x20,0xC0,0x20,0x20,0x20,0x18,
-
- 5, // 0x7C '|'
- 0x00,0x00,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,
-
- 6, // 0x7D '}'
- 0x00,0x00,0x60,0x10,0x10,0x10,0x10,0x0C,0x10,0x10,0x10,0x60,
-
- 7, // 0x7E '~'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x34,0x58,0x00,0x00,0x00,0x00,
-
- 9, // 0x7F ''
- 0x00,0x00,0x00,0x00,0x00,0x00,0x7F,0x00,0x41,0x00,0x41,0x00,0x41,0x00,0x41,0x00,0x41,0x00,0x7F,0x00,0x00,0x00,0x00,0x00,
-
- 0
- };
-
- const int8u verdana12_bold[] =
- {
- 12, 3, 32, 128-32,
- 0x00,0x00,0x0D,0x00,0x1A,0x00,0x27,0x00,0x34,0x00,0x41,0x00,0x5A,0x00,0x67,0x00,0x74,0x00,
- 0x81,0x00,0x8E,0x00,0x9B,0x00,0xA8,0x00,0xB5,0x00,0xC2,0x00,0xCF,0x00,0xDC,0x00,0xE9,0x00,
- 0xF6,0x00,0x03,0x01,0x10,0x01,0x1D,0x01,0x2A,0x01,0x37,0x01,0x44,0x01,0x51,0x01,0x5E,0x01,
- 0x6B,0x01,0x78,0x01,0x85,0x01,0x92,0x01,0x9F,0x01,0xAC,0x01,0xC5,0x01,0xD2,0x01,0xDF,0x01,
- 0xEC,0x01,0xF9,0x01,0x06,0x02,0x13,0x02,0x20,0x02,0x2D,0x02,0x3A,0x02,0x47,0x02,0x54,0x02,
- 0x61,0x02,0x6E,0x02,0x7B,0x02,0x88,0x02,0x95,0x02,0xA2,0x02,0xAF,0x02,0xBC,0x02,0xC9,0x02,
- 0xD6,0x02,0xE3,0x02,0xFC,0x02,0x09,0x03,0x16,0x03,0x23,0x03,0x30,0x03,0x3D,0x03,0x4A,0x03,
- 0x57,0x03,0x64,0x03,0x71,0x03,0x7E,0x03,0x8B,0x03,0x98,0x03,0xA5,0x03,0xB2,0x03,0xBF,0x03,
- 0xCC,0x03,0xD9,0x03,0xE6,0x03,0xF3,0x03,0x00,0x04,0x0D,0x04,0x26,0x04,0x33,0x04,0x40,0x04,
- 0x4D,0x04,0x5A,0x04,0x67,0x04,0x74,0x04,0x81,0x04,0x8E,0x04,0x9B,0x04,0xB4,0x04,0xC1,0x04,
- 0xCE,0x04,0xDB,0x04,0xE8,0x04,0xF5,0x04,0x02,0x05,0x0F,0x05,
-
- 3, // 0x20 ' '
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 4, // 0x21 '!'
- 0x00,0x00,0x00,0x60,0x60,0x60,0x60,0x60,0x00,0x60,0x00,0x00,
-
- 5, // 0x22 '"'
- 0x00,0x00,0xD8,0xD8,0xD8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 8, // 0x23 '#'
- 0x00,0x00,0x00,0x14,0x14,0x7E,0x28,0xFC,0x50,0x50,0x00,0x00,
-
- 6, // 0x24 '$'
- 0x00,0x00,0x20,0x20,0x70,0xE8,0xE0,0x38,0xB8,0x70,0x20,0x20,
-
- 11, // 0x25 '%'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x62,0x00,0x94,0x00,0x94,0x00,0x69,0x80,0x0A,0x40,0x0A,0x40,0x11,0x80,0x00,0x00,0x00,0x00,
-
- 8, // 0x26 '&'
- 0x00,0x00,0x00,0x70,0xD8,0xD8,0x76,0xDC,0xCC,0x76,0x00,0x00,
-
- 3, // 0x27 '''
- 0x00,0x00,0xC0,0xC0,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 5, // 0x28 '('
- 0x00,0x00,0x30,0x60,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0x60,0x30,
-
- 5, // 0x29 ')'
- 0x00,0x00,0xC0,0x60,0x30,0x30,0x30,0x30,0x30,0x30,0x60,0xC0,
-
- 6, // 0x2A '*'
- 0x00,0x00,0x20,0xA8,0x70,0xA8,0x20,0x00,0x00,0x00,0x00,0x00,
-
- 8, // 0x2B '+'
- 0x00,0x00,0x00,0x00,0x10,0x10,0x7C,0x10,0x10,0x00,0x00,0x00,
-
- 3, // 0x2C ','
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0xC0,0x80,0x00,
-
- 4, // 0x2D '-'
- 0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0x00,0x00,0x00,0x00,0x00,
-
- 3, // 0x2E '.'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0xC0,0x00,0x00,
-
- 6, // 0x2F '/'
- 0x00,0x00,0x08,0x08,0x10,0x10,0x20,0x40,0x40,0x80,0x80,0x00,
-
- 6, // 0x30 '0'
- 0x00,0x00,0x00,0x70,0xD8,0xD8,0xD8,0xD8,0xD8,0x70,0x00,0x00,
-
- 6, // 0x31 '1'
- 0x00,0x00,0x00,0x30,0x70,0x30,0x30,0x30,0x30,0x78,0x00,0x00,
-
- 6, // 0x32 '2'
- 0x00,0x00,0x00,0x70,0x98,0x18,0x30,0x60,0xC0,0xF8,0x00,0x00,
-
- 6, // 0x33 '3'
- 0x00,0x00,0x00,0x70,0x98,0x18,0x70,0x18,0x98,0x70,0x00,0x00,
-
- 6, // 0x34 '4'
- 0x00,0x00,0x00,0x18,0x38,0x58,0x98,0xFC,0x18,0x18,0x00,0x00,
-
- 6, // 0x35 '5'
- 0x00,0x00,0x00,0xF8,0xC0,0xF0,0x18,0x18,0x98,0x70,0x00,0x00,
-
- 6, // 0x36 '6'
- 0x00,0x00,0x00,0x70,0xC0,0xF0,0xD8,0xD8,0xD8,0x70,0x00,0x00,
-
- 6, // 0x37 '7'
- 0x00,0x00,0x00,0xF8,0x18,0x30,0x30,0x60,0x60,0xC0,0x00,0x00,
-
- 6, // 0x38 '8'
- 0x00,0x00,0x00,0x70,0xD8,0xD8,0x70,0xD8,0xD8,0x70,0x00,0x00,
-
- 6, // 0x39 '9'
- 0x00,0x00,0x00,0x70,0xD8,0xD8,0xD8,0x78,0x18,0x70,0x00,0x00,
-
- 4, // 0x3A ':'
- 0x00,0x00,0x00,0x00,0x00,0x60,0x60,0x00,0x60,0x60,0x00,0x00,
-
- 4, // 0x3B ';'
- 0x00,0x00,0x00,0x00,0x00,0x60,0x60,0x00,0x60,0x60,0x40,0x00,
-
- 8, // 0x3C '<'
- 0x00,0x00,0x00,0x00,0x04,0x18,0x60,0x60,0x18,0x04,0x00,0x00,
-
- 8, // 0x3D '='
- 0x00,0x00,0x00,0x00,0x00,0x7C,0x00,0x7C,0x00,0x00,0x00,0x00,
-
- 8, // 0x3E '>'
- 0x00,0x00,0x00,0x00,0x40,0x30,0x0C,0x0C,0x30,0x40,0x00,0x00,
-
- 6, // 0x3F '?'
- 0x00,0x00,0x00,0xF0,0x18,0x18,0x30,0x60,0x00,0x60,0x00,0x00,
-
- 9, // 0x40 '@'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x3C,0x00,0x42,0x00,0x9D,0x00,0xA5,0x00,0xA5,0x00,0x9E,0x00,0x40,0x00,0x3C,0x00,0x00,0x00,
-
- 8, // 0x41 'A'
- 0x00,0x00,0x00,0x38,0x38,0x6C,0x6C,0x7C,0xC6,0xC6,0x00,0x00,
-
- 7, // 0x42 'B'
- 0x00,0x00,0x00,0xF8,0xCC,0xCC,0xF8,0xCC,0xCC,0xF8,0x00,0x00,
-
- 6, // 0x43 'C'
- 0x00,0x00,0x00,0x70,0xC8,0xC0,0xC0,0xC0,0xC8,0x70,0x00,0x00,
-
- 7, // 0x44 'D'
- 0x00,0x00,0x00,0xF8,0xCC,0xCC,0xCC,0xCC,0xCC,0xF8,0x00,0x00,
-
- 6, // 0x45 'E'
- 0x00,0x00,0x00,0xF8,0xC0,0xC0,0xF8,0xC0,0xC0,0xF8,0x00,0x00,
-
- 6, // 0x46 'F'
- 0x00,0x00,0x00,0xF8,0xC0,0xC0,0xF8,0xC0,0xC0,0xC0,0x00,0x00,
-
- 7, // 0x47 'G'
- 0x00,0x00,0x00,0x78,0xC4,0xC0,0xC0,0xDC,0xCC,0x7C,0x00,0x00,
-
- 7, // 0x48 'H'
- 0x00,0x00,0x00,0xCC,0xCC,0xCC,0xFC,0xCC,0xCC,0xCC,0x00,0x00,
-
- 5, // 0x49 'I'
- 0x00,0x00,0x00,0xF0,0x60,0x60,0x60,0x60,0x60,0xF0,0x00,0x00,
-
- 5, // 0x4A 'J'
- 0x00,0x00,0x00,0x70,0x30,0x30,0x30,0x30,0x30,0xE0,0x00,0x00,
-
- 7, // 0x4B 'K'
- 0x00,0x00,0x00,0xCC,0xD8,0xF0,0xE0,0xF0,0xD8,0xCC,0x00,0x00,
-
- 6, // 0x4C 'L'
- 0x00,0x00,0x00,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xF8,0x00,0x00,
-
- 8, // 0x4D 'M'
- 0x00,0x00,0x00,0x82,0xC6,0xEE,0xB6,0xB6,0x86,0x86,0x00,0x00,
-
- 7, // 0x4E 'N'
- 0x00,0x00,0x00,0x84,0xC4,0xE4,0xB4,0x9C,0x8C,0x84,0x00,0x00,
-
- 8, // 0x4F 'O'
- 0x00,0x00,0x00,0x7C,0xC6,0xC6,0xC6,0xC6,0xC6,0x7C,0x00,0x00,
-
- 7, // 0x50 'P'
- 0x00,0x00,0x00,0xF8,0xCC,0xCC,0xCC,0xF8,0xC0,0xC0,0x00,0x00,
-
- 8, // 0x51 'Q'
- 0x00,0x00,0x00,0x7C,0xC6,0xC6,0xC6,0xC6,0xC6,0x7C,0x18,0x0E,
-
- 7, // 0x52 'R'
- 0x00,0x00,0x00,0xF8,0xCC,0xCC,0xF8,0xD8,0xCC,0xC6,0x00,0x00,
-
- 6, // 0x53 'S'
- 0x00,0x00,0x00,0x70,0xC8,0xC0,0x70,0x18,0x98,0x70,0x00,0x00,
-
- 6, // 0x54 'T'
- 0x00,0x00,0x00,0xFC,0x30,0x30,0x30,0x30,0x30,0x30,0x00,0x00,
-
- 7, // 0x55 'U'
- 0x00,0x00,0x00,0xCC,0xCC,0xCC,0xCC,0xCC,0xCC,0x78,0x00,0x00,
-
- 7, // 0x56 'V'
- 0x00,0x00,0x00,0xCC,0xCC,0x78,0x78,0x78,0x30,0x30,0x00,0x00,
-
- 11, // 0x57 'W'
- 0x00,0x00,0x00,0x00,0x00,0x00,0xCC,0xC0,0xCC,0xC0,0x6D,0x80,0x6D,0x80,0x73,0x80,0x33,0x00,0x33,0x00,0x00,0x00,0x00,0x00,
-
- 7, // 0x58 'X'
- 0x00,0x00,0x00,0xCC,0xCC,0x78,0x30,0x78,0xCC,0xCC,0x00,0x00,
-
- 7, // 0x59 'Y'
- 0x00,0x00,0x00,0xCC,0xCC,0x78,0x30,0x30,0x30,0x30,0x00,0x00,
-
- 6, // 0x5A 'Z'
- 0x00,0x00,0x00,0xF8,0x18,0x30,0x60,0xC0,0xC0,0xF8,0x00,0x00,
-
- 5, // 0x5B '['
- 0x00,0x00,0x70,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x70,
-
- 6, // 0x5C '\'
- 0x00,0x00,0x80,0x80,0x40,0x40,0x20,0x10,0x10,0x08,0x08,0x00,
-
- 5, // 0x5D ']'
- 0x00,0x00,0x70,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x70,
-
- 8, // 0x5E '^'
- 0x00,0x00,0x00,0x18,0x3C,0x66,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 6, // 0x5F '_'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFC,
-
- 6, // 0x60 '`'
- 0x00,0x00,0x30,0x18,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 6, // 0x61 'a'
- 0x00,0x00,0x00,0x00,0x00,0x70,0x18,0x78,0xD8,0x78,0x00,0x00,
-
- 6, // 0x62 'b'
- 0x00,0x00,0xC0,0xC0,0xC0,0xF0,0xD8,0xD8,0xD8,0xF0,0x00,0x00,
-
- 5, // 0x63 'c'
- 0x00,0x00,0x00,0x00,0x00,0x70,0xC0,0xC0,0xC0,0x70,0x00,0x00,
-
- 6, // 0x64 'd'
- 0x00,0x00,0x18,0x18,0x18,0x78,0xD8,0xD8,0xD8,0x78,0x00,0x00,
-
- 6, // 0x65 'e'
- 0x00,0x00,0x00,0x00,0x00,0x70,0xD8,0xF8,0xC0,0x78,0x00,0x00,
-
- 5, // 0x66 'f'
- 0x00,0x00,0x38,0x60,0x60,0xF8,0x60,0x60,0x60,0x60,0x00,0x00,
-
- 6, // 0x67 'g'
- 0x00,0x00,0x00,0x00,0x00,0x78,0xD8,0xD8,0xD8,0x78,0x18,0x70,
-
- 6, // 0x68 'h'
- 0x00,0x00,0xC0,0xC0,0xC0,0xF0,0xD8,0xD8,0xD8,0xD8,0x00,0x00,
-
- 3, // 0x69 'i'
- 0x00,0x00,0x00,0xC0,0x00,0xC0,0xC0,0xC0,0xC0,0xC0,0x00,0x00,
-
- 4, // 0x6A 'j'
- 0x00,0x00,0x00,0x60,0x00,0xE0,0x60,0x60,0x60,0x60,0x60,0xC0,
-
- 6, // 0x6B 'k'
- 0x00,0x00,0xC0,0xC0,0xC0,0xD8,0xD8,0xF0,0xD8,0xD8,0x00,0x00,
-
- 3, // 0x6C 'l'
- 0x00,0x00,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0x00,0x00,
-
- 9, // 0x6D 'm'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF6,0x00,0xDB,0x00,0xDB,0x00,0xDB,0x00,0xDB,0x00,0x00,0x00,0x00,0x00,
-
- 6, // 0x6E 'n'
- 0x00,0x00,0x00,0x00,0x00,0xF0,0xD8,0xD8,0xD8,0xD8,0x00,0x00,
-
- 6, // 0x6F 'o'
- 0x00,0x00,0x00,0x00,0x00,0x70,0xD8,0xD8,0xD8,0x70,0x00,0x00,
-
- 6, // 0x70 'p'
- 0x00,0x00,0x00,0x00,0x00,0xF0,0xD8,0xD8,0xD8,0xF0,0xC0,0xC0,
-
- 6, // 0x71 'q'
- 0x00,0x00,0x00,0x00,0x00,0x78,0xD8,0xD8,0xD8,0x78,0x18,0x18,
-
- 4, // 0x72 'r'
- 0x00,0x00,0x00,0x00,0x00,0xD0,0xE0,0xC0,0xC0,0xC0,0x00,0x00,
-
- 5, // 0x73 's'
- 0x00,0x00,0x00,0x00,0x00,0x70,0xC0,0xF0,0x30,0xE0,0x00,0x00,
-
- 5, // 0x74 't'
- 0x00,0x00,0x00,0x60,0x60,0xF8,0x60,0x60,0x60,0x38,0x00,0x00,
-
- 6, // 0x75 'u'
- 0x00,0x00,0x00,0x00,0x00,0xD8,0xD8,0xD8,0xD8,0x78,0x00,0x00,
-
- 6, // 0x76 'v'
- 0x00,0x00,0x00,0x00,0x00,0xD8,0xD8,0xD8,0x70,0x70,0x00,0x00,
-
- 9, // 0x77 'w'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xDB,0x00,0xDB,0x00,0xDB,0x00,0x66,0x00,0x66,0x00,0x00,0x00,0x00,0x00,
-
- 6, // 0x78 'x'
- 0x00,0x00,0x00,0x00,0x00,0xD8,0xD8,0x70,0xD8,0xD8,0x00,0x00,
-
- 6, // 0x79 'y'
- 0x00,0x00,0x00,0x00,0x00,0xD8,0xD8,0xD8,0x70,0x70,0x30,0x60,
-
- 5, // 0x7A 'z'
- 0x00,0x00,0x00,0x00,0x00,0xF0,0x30,0x60,0xC0,0xF0,0x00,0x00,
-
- 6, // 0x7B '{'
- 0x00,0x00,0x18,0x30,0x30,0x30,0xE0,0x30,0x30,0x30,0x30,0x18,
-
- 5, // 0x7C '|'
- 0x00,0x00,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,
-
- 6, // 0x7D '}'
- 0x00,0x00,0xC0,0x60,0x60,0x60,0x38,0x60,0x60,0x60,0x60,0xC0,
-
- 8, // 0x7E '~'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x62,0x92,0x8C,0x00,0x00,0x00,
-
- 9, // 0x7F ''
- 0x00,0x00,0x00,0x00,0x00,0x00,0x7F,0x00,0x41,0x00,0x41,0x00,0x41,0x00,0x41,0x00,0x41,0x00,0x7F,0x00,0x00,0x00,0x00,0x00,
-
- 0
- };
-
- const int8u verdana13[] =
- {
- 13, 3, 32, 128-32,
- 0x00,0x00,0x0E,0x00,0x1C,0x00,0x2A,0x00,0x45,0x00,0x53,0x00,0x6E,0x00,0x7C,0x00,0x8A,0x00,
- 0x98,0x00,0xA6,0x00,0xB4,0x00,0xCF,0x00,0xDD,0x00,0xEB,0x00,0xF9,0x00,0x07,0x01,0x15,0x01,
- 0x23,0x01,0x31,0x01,0x3F,0x01,0x4D,0x01,0x5B,0x01,0x69,0x01,0x77,0x01,0x85,0x01,0x93,0x01,
- 0xA1,0x01,0xAF,0x01,0xCA,0x01,0xE5,0x01,0x00,0x02,0x0E,0x02,0x29,0x02,0x37,0x02,0x45,0x02,
- 0x60,0x02,0x7B,0x02,0x89,0x02,0x97,0x02,0xB2,0x02,0xC0,0x02,0xCE,0x02,0xDC,0x02,0xEA,0x02,
- 0xF8,0x02,0x13,0x03,0x21,0x03,0x3C,0x03,0x4A,0x03,0x65,0x03,0x73,0x03,0x81,0x03,0x8F,0x03,
- 0x9D,0x03,0xAB,0x03,0xC6,0x03,0xD4,0x03,0xE2,0x03,0xF0,0x03,0xFE,0x03,0x0C,0x04,0x1A,0x04,
- 0x35,0x04,0x43,0x04,0x51,0x04,0x5F,0x04,0x6D,0x04,0x7B,0x04,0x89,0x04,0x97,0x04,0xA5,0x04,
- 0xB3,0x04,0xC1,0x04,0xCF,0x04,0xDD,0x04,0xEB,0x04,0xF9,0x04,0x14,0x05,0x22,0x05,0x30,0x05,
- 0x3E,0x05,0x4C,0x05,0x5A,0x05,0x68,0x05,0x76,0x05,0x84,0x05,0x92,0x05,0xAD,0x05,0xBB,0x05,
- 0xC9,0x05,0xD7,0x05,0xE5,0x05,0xF3,0x05,0x01,0x06,0x1C,0x06,
-
- 4, // 0x20 ' '
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 4, // 0x21 '!'
- 0x00,0x00,0x00,0x20,0x20,0x20,0x20,0x20,0x20,0x00,0x20,0x00,0x00,
-
- 5, // 0x22 '"'
- 0x00,0x00,0x50,0x50,0x50,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 9, // 0x23 '#'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x0A,0x00,0x0A,0x00,0x3F,0x00,0x14,0x00,0x14,0x00,0x7E,0x00,0x28,0x00,0x28,0x00,0x00,0x00,0x00,0x00,
-
- 7, // 0x24 '$'
- 0x00,0x00,0x10,0x10,0x3C,0x50,0x50,0x38,0x14,0x14,0x78,0x10,0x10,
-
- 12, // 0x25 '%'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x31,0x00,0x49,0x00,0x4A,0x00,0x32,0x00,0x04,0xC0,0x05,0x20,0x09,0x20,0x08,0xC0,0x00,0x00,0x00,0x00,
-
- 8, // 0x26 '&'
- 0x00,0x00,0x00,0x30,0x48,0x48,0x32,0x4A,0x44,0x46,0x39,0x00,0x00,
-
- 3, // 0x27 '''
- 0x00,0x00,0x40,0x40,0x40,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 5, // 0x28 '('
- 0x00,0x00,0x10,0x20,0x20,0x40,0x40,0x40,0x40,0x40,0x20,0x20,0x10,
-
- 5, // 0x29 ')'
- 0x00,0x00,0x40,0x20,0x20,0x10,0x10,0x10,0x10,0x10,0x20,0x20,0x40,
-
- 7, // 0x2A '*'
- 0x00,0x00,0x10,0x54,0x38,0x54,0x10,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 9, // 0x2B '+'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x08,0x00,0x08,0x00,0x08,0x00,0x7F,0x00,0x08,0x00,0x08,0x00,0x08,0x00,0x00,0x00,0x00,0x00,
-
- 4, // 0x2C ','
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x20,0x20,0x40,
-
- 5, // 0x2D '-'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x70,0x00,0x00,0x00,0x00,0x00,
-
- 4, // 0x2E '.'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x20,0x00,0x00,
-
- 5, // 0x2F '/'
- 0x00,0x00,0x08,0x08,0x10,0x10,0x20,0x20,0x40,0x40,0x80,0x80,0x00,
-
- 7, // 0x30 '0'
- 0x00,0x00,0x00,0x38,0x44,0x44,0x44,0x44,0x44,0x44,0x38,0x00,0x00,
-
- 7, // 0x31 '1'
- 0x00,0x00,0x00,0x10,0x70,0x10,0x10,0x10,0x10,0x10,0x7C,0x00,0x00,
-
- 7, // 0x32 '2'
- 0x00,0x00,0x00,0x38,0x44,0x04,0x08,0x10,0x20,0x40,0x7C,0x00,0x00,
-
- 7, // 0x33 '3'
- 0x00,0x00,0x00,0x38,0x44,0x04,0x18,0x04,0x04,0x44,0x38,0x00,0x00,
-
- 7, // 0x34 '4'
- 0x00,0x00,0x00,0x08,0x18,0x28,0x48,0x88,0xFC,0x08,0x08,0x00,0x00,
-
- 7, // 0x35 '5'
- 0x00,0x00,0x00,0x7C,0x40,0x40,0x78,0x04,0x04,0x44,0x38,0x00,0x00,
-
- 7, // 0x36 '6'
- 0x00,0x00,0x00,0x18,0x20,0x40,0x78,0x44,0x44,0x44,0x38,0x00,0x00,
-
- 7, // 0x37 '7'
- 0x00,0x00,0x00,0x7C,0x04,0x08,0x08,0x10,0x10,0x20,0x20,0x00,0x00,
-
- 7, // 0x38 '8'
- 0x00,0x00,0x00,0x38,0x44,0x44,0x38,0x44,0x44,0x44,0x38,0x00,0x00,
-
- 7, // 0x39 '9'
- 0x00,0x00,0x00,0x38,0x44,0x44,0x44,0x3C,0x04,0x08,0x30,0x00,0x00,
-
- 5, // 0x3A ':'
- 0x00,0x00,0x00,0x00,0x00,0x20,0x20,0x00,0x00,0x20,0x20,0x00,0x00,
-
- 5, // 0x3B ';'
- 0x00,0x00,0x00,0x00,0x00,0x20,0x20,0x00,0x00,0x20,0x20,0x20,0x40,
-
- 9, // 0x3C '<'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x06,0x00,0x18,0x00,0x60,0x00,0x18,0x00,0x06,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 9, // 0x3D '='
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7F,0x00,0x00,0x00,0x7F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 9, // 0x3E '>'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x00,0x0C,0x00,0x03,0x00,0x0C,0x00,0x30,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 6, // 0x3F '?'
- 0x00,0x00,0x00,0x70,0x08,0x08,0x10,0x20,0x20,0x00,0x20,0x00,0x00,
-
- 10, // 0x40 '@'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x1F,0x00,0x20,0x80,0x4E,0x80,0x52,0x80,0x52,0x80,0x52,0x80,0x4D,0x00,0x20,0x00,0x1E,0x00,0x00,0x00,
-
- 8, // 0x41 'A'
- 0x00,0x00,0x00,0x18,0x18,0x24,0x24,0x24,0x7E,0x42,0x42,0x00,0x00,
-
- 8, // 0x42 'B'
- 0x00,0x00,0x00,0x78,0x44,0x44,0x7C,0x42,0x42,0x42,0x7C,0x00,0x00,
-
- 9, // 0x43 'C'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x1E,0x00,0x21,0x00,0x40,0x00,0x40,0x00,0x40,0x00,0x40,0x00,0x21,0x00,0x1E,0x00,0x00,0x00,0x00,0x00,
-
- 9, // 0x44 'D'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x7C,0x00,0x42,0x00,0x41,0x00,0x41,0x00,0x41,0x00,0x41,0x00,0x42,0x00,0x7C,0x00,0x00,0x00,0x00,0x00,
-
- 7, // 0x45 'E'
- 0x00,0x00,0x00,0x7C,0x40,0x40,0x7C,0x40,0x40,0x40,0x7C,0x00,0x00,
-
- 6, // 0x46 'F'
- 0x00,0x00,0x00,0x7C,0x40,0x40,0x78,0x40,0x40,0x40,0x40,0x00,0x00,
-
- 9, // 0x47 'G'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x1E,0x00,0x21,0x00,0x40,0x00,0x40,0x00,0x47,0x00,0x41,0x00,0x21,0x00,0x1E,0x00,0x00,0x00,0x00,0x00,
-
- 8, // 0x48 'H'
- 0x00,0x00,0x00,0x42,0x42,0x42,0x7E,0x42,0x42,0x42,0x42,0x00,0x00,
-
- 5, // 0x49 'I'
- 0x00,0x00,0x00,0x70,0x20,0x20,0x20,0x20,0x20,0x20,0x70,0x00,0x00,
-
- 5, // 0x4A 'J'
- 0x00,0x00,0x00,0x70,0x10,0x10,0x10,0x10,0x10,0x10,0xE0,0x00,0x00,
-
- 8, // 0x4B 'K'
- 0x00,0x00,0x00,0x42,0x44,0x48,0x50,0x70,0x48,0x44,0x42,0x00,0x00,
-
- 6, // 0x4C 'L'
- 0x00,0x00,0x00,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x7C,0x00,0x00,
-
- 9, // 0x4D 'M'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x63,0x00,0x63,0x00,0x55,0x00,0x55,0x00,0x49,0x00,0x49,0x00,0x41,0x00,0x41,0x00,0x00,0x00,0x00,0x00,
-
- 8, // 0x4E 'N'
- 0x00,0x00,0x00,0x62,0x62,0x52,0x52,0x4A,0x4A,0x46,0x46,0x00,0x00,
-
- 9, // 0x4F 'O'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x1C,0x00,0x22,0x00,0x41,0x00,0x41,0x00,0x41,0x00,0x41,0x00,0x22,0x00,0x1C,0x00,0x00,0x00,0x00,0x00,
-
- 7, // 0x50 'P'
- 0x00,0x00,0x00,0x78,0x44,0x44,0x44,0x78,0x40,0x40,0x40,0x00,0x00,
-
- 9, // 0x51 'Q'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x1C,0x00,0x22,0x00,0x41,0x00,0x41,0x00,0x41,0x00,0x41,0x00,0x22,0x00,0x1C,0x00,0x04,0x00,0x03,0x00,
-
- 8, // 0x52 'R'
- 0x00,0x00,0x00,0x78,0x44,0x44,0x44,0x78,0x48,0x44,0x42,0x00,0x00,
-
- 8, // 0x53 'S'
- 0x00,0x00,0x00,0x3C,0x42,0x40,0x30,0x0C,0x02,0x42,0x3C,0x00,0x00,
-
- 7, // 0x54 'T'
- 0x00,0x00,0x00,0xFE,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x00,0x00,
-
- 8, // 0x55 'U'
- 0x00,0x00,0x00,0x42,0x42,0x42,0x42,0x42,0x42,0x42,0x3C,0x00,0x00,
-
- 8, // 0x56 'V'
- 0x00,0x00,0x00,0x42,0x42,0x42,0x24,0x24,0x24,0x18,0x18,0x00,0x00,
-
- 11, // 0x57 'W'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x44,0x40,0x44,0x40,0x2A,0x80,0x2A,0x80,0x2A,0x80,0x2A,0x80,0x11,0x00,0x11,0x00,0x00,0x00,0x00,0x00,
-
- 8, // 0x58 'X'
- 0x00,0x00,0x00,0x42,0x42,0x24,0x18,0x18,0x24,0x42,0x42,0x00,0x00,
-
- 7, // 0x59 'Y'
- 0x00,0x00,0x00,0x82,0x44,0x28,0x10,0x10,0x10,0x10,0x10,0x00,0x00,
-
- 8, // 0x5A 'Z'
- 0x00,0x00,0x00,0x7E,0x02,0x04,0x08,0x10,0x20,0x40,0x7E,0x00,0x00,
-
- 5, // 0x5B '['
- 0x00,0x00,0x70,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x70,
-
- 5, // 0x5C '\'
- 0x00,0x00,0x80,0x80,0x40,0x40,0x20,0x20,0x10,0x10,0x08,0x08,0x00,
-
- 5, // 0x5D ']'
- 0x00,0x00,0x70,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x70,
-
- 9, // 0x5E '^'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x08,0x00,0x14,0x00,0x22,0x00,0x41,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 7, // 0x5F '_'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,
-
- 7, // 0x60 '`'
- 0x00,0x00,0x20,0x10,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 7, // 0x61 'a'
- 0x00,0x00,0x00,0x00,0x00,0x38,0x04,0x3C,0x44,0x44,0x3C,0x00,0x00,
-
- 7, // 0x62 'b'
- 0x00,0x00,0x40,0x40,0x40,0x78,0x44,0x44,0x44,0x44,0x78,0x00,0x00,
-
- 6, // 0x63 'c'
- 0x00,0x00,0x00,0x00,0x00,0x38,0x44,0x40,0x40,0x44,0x38,0x00,0x00,
-
- 7, // 0x64 'd'
- 0x00,0x00,0x04,0x04,0x04,0x3C,0x44,0x44,0x44,0x44,0x3C,0x00,0x00,
-
- 7, // 0x65 'e'
- 0x00,0x00,0x00,0x00,0x00,0x38,0x44,0x7C,0x40,0x44,0x38,0x00,0x00,
-
- 4, // 0x66 'f'
- 0x00,0x00,0x30,0x40,0x40,0xF0,0x40,0x40,0x40,0x40,0x40,0x00,0x00,
-
- 7, // 0x67 'g'
- 0x00,0x00,0x00,0x00,0x00,0x3C,0x44,0x44,0x44,0x44,0x3C,0x04,0x38,
-
- 7, // 0x68 'h'
- 0x00,0x00,0x40,0x40,0x40,0x78,0x44,0x44,0x44,0x44,0x44,0x00,0x00,
-
- 3, // 0x69 'i'
- 0x00,0x00,0x40,0x00,0x00,0x40,0x40,0x40,0x40,0x40,0x40,0x00,0x00,
-
- 4, // 0x6A 'j'
- 0x00,0x00,0x20,0x00,0x00,0x60,0x20,0x20,0x20,0x20,0x20,0x20,0xC0,
-
- 7, // 0x6B 'k'
- 0x00,0x00,0x40,0x40,0x40,0x44,0x48,0x50,0x70,0x48,0x44,0x00,0x00,
-
- 3, // 0x6C 'l'
- 0x00,0x00,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x00,0x00,
-
- 11, // 0x6D 'm'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7B,0x80,0x44,0x40,0x44,0x40,0x44,0x40,0x44,0x40,0x44,0x40,0x00,0x00,0x00,0x00,
-
- 7, // 0x6E 'n'
- 0x00,0x00,0x00,0x00,0x00,0x78,0x44,0x44,0x44,0x44,0x44,0x00,0x00,
-
- 7, // 0x6F 'o'
- 0x00,0x00,0x00,0x00,0x00,0x38,0x44,0x44,0x44,0x44,0x38,0x00,0x00,
-
- 7, // 0x70 'p'
- 0x00,0x00,0x00,0x00,0x00,0x78,0x44,0x44,0x44,0x44,0x78,0x40,0x40,
-
- 7, // 0x71 'q'
- 0x00,0x00,0x00,0x00,0x00,0x3C,0x44,0x44,0x44,0x44,0x3C,0x04,0x04,
-
- 5, // 0x72 'r'
- 0x00,0x00,0x00,0x00,0x00,0x58,0x60,0x40,0x40,0x40,0x40,0x00,0x00,
-
- 6, // 0x73 's'
- 0x00,0x00,0x00,0x00,0x00,0x38,0x40,0x60,0x18,0x08,0x70,0x00,0x00,
-
- 4, // 0x74 't'
- 0x00,0x00,0x00,0x40,0x40,0xF0,0x40,0x40,0x40,0x40,0x30,0x00,0x00,
-
- 7, // 0x75 'u'
- 0x00,0x00,0x00,0x00,0x00,0x44,0x44,0x44,0x44,0x44,0x3C,0x00,0x00,
-
- 7, // 0x76 'v'
- 0x00,0x00,0x00,0x00,0x00,0x44,0x44,0x28,0x28,0x10,0x10,0x00,0x00,
-
- 9, // 0x77 'w'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x49,0x00,0x49,0x00,0x55,0x00,0x55,0x00,0x22,0x00,0x22,0x00,0x00,0x00,0x00,0x00,
-
- 7, // 0x78 'x'
- 0x00,0x00,0x00,0x00,0x00,0x44,0x28,0x10,0x10,0x28,0x44,0x00,0x00,
-
- 7, // 0x79 'y'
- 0x00,0x00,0x00,0x00,0x00,0x44,0x28,0x28,0x28,0x10,0x10,0x10,0x20,
-
- 6, // 0x7A 'z'
- 0x00,0x00,0x00,0x00,0x00,0x78,0x08,0x10,0x20,0x40,0x78,0x00,0x00,
-
- 7, // 0x7B '{'
- 0x00,0x00,0x0C,0x10,0x10,0x10,0x10,0x60,0x10,0x10,0x10,0x10,0x0C,
-
- 5, // 0x7C '|'
- 0x00,0x00,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,
-
- 7, // 0x7D '}'
- 0x00,0x00,0x60,0x10,0x10,0x10,0x10,0x0C,0x10,0x10,0x10,0x10,0x60,
-
- 9, // 0x7E '~'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x31,0x00,0x49,0x00,0x46,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 11, // 0x7F ''
- 0x00,0x00,0x00,0x00,0x00,0x00,0x7F,0x80,0x40,0x80,0x40,0x80,0x40,0x80,0x40,0x80,0x40,0x80,0x40,0x80,0x7F,0x80,0x00,0x00,0x00,0x00,
-
- 0
- };
-
- const int8u verdana13_bold[] =
- {
- 13, 3, 32, 128-32,
- 0x00,0x00,0x0E,0x00,0x1C,0x00,0x2A,0x00,0x45,0x00,0x53,0x00,0x6E,0x00,0x89,0x00,0x97,0x00,
- 0xA5,0x00,0xB3,0x00,0xC1,0x00,0xDC,0x00,0xEA,0x00,0xF8,0x00,0x06,0x01,0x14,0x01,0x22,0x01,
- 0x30,0x01,0x3E,0x01,0x4C,0x01,0x5A,0x01,0x68,0x01,0x76,0x01,0x84,0x01,0x92,0x01,0xA0,0x01,
- 0xAE,0x01,0xBC,0x01,0xD7,0x01,0xF2,0x01,0x0D,0x02,0x1B,0x02,0x36,0x02,0x51,0x02,0x5F,0x02,
- 0x6D,0x02,0x88,0x02,0x96,0x02,0xA4,0x02,0xBF,0x02,0xDA,0x02,0xE8,0x02,0xF6,0x02,0x04,0x03,
- 0x12,0x03,0x2D,0x03,0x48,0x03,0x63,0x03,0x71,0x03,0x8C,0x03,0x9A,0x03,0xA8,0x03,0xB6,0x03,
- 0xD1,0x03,0xDF,0x03,0xFA,0x03,0x08,0x04,0x16,0x04,0x24,0x04,0x32,0x04,0x40,0x04,0x4E,0x04,
- 0x69,0x04,0x77,0x04,0x85,0x04,0x93,0x04,0xA1,0x04,0xAF,0x04,0xBD,0x04,0xCB,0x04,0xD9,0x04,
- 0xE7,0x04,0xF5,0x04,0x03,0x05,0x11,0x05,0x1F,0x05,0x2D,0x05,0x48,0x05,0x56,0x05,0x64,0x05,
- 0x72,0x05,0x80,0x05,0x8E,0x05,0x9C,0x05,0xAA,0x05,0xB8,0x05,0xC6,0x05,0xE1,0x05,0xEF,0x05,
- 0xFD,0x05,0x0B,0x06,0x19,0x06,0x27,0x06,0x35,0x06,0x50,0x06,
-
- 4, // 0x20 ' '
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 4, // 0x21 '!'
- 0x00,0x00,0x00,0x60,0x60,0x60,0x60,0x60,0x60,0x00,0x60,0x00,0x00,
-
- 7, // 0x22 '"'
- 0x00,0x00,0x6C,0x6C,0x6C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 9, // 0x23 '#'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x0A,0x00,0x0A,0x00,0x3F,0x00,0x14,0x00,0x14,0x00,0x7E,0x00,0x28,0x00,0x28,0x00,0x00,0x00,0x00,0x00,
-
- 8, // 0x24 '$'
- 0x00,0x00,0x08,0x08,0x3C,0x6A,0x68,0x3C,0x16,0x56,0x3C,0x10,0x10,
-
- 14, // 0x25 '%'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x38,0x80,0x6C,0x80,0x6D,0x00,0x6D,0x70,0x3A,0xD8,0x02,0xD8,0x04,0xD8,0x04,0x70,0x00,0x00,0x00,0x00,
-
- 10, // 0x26 '&'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x38,0x00,0x6C,0x00,0x6C,0x00,0x39,0x80,0x6D,0x00,0x66,0x00,0x63,0x00,0x3D,0x80,0x00,0x00,0x00,0x00,
-
- 4, // 0x27 '''
- 0x00,0x00,0x60,0x60,0x60,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 6, // 0x28 '('
- 0x00,0x00,0x18,0x30,0x30,0x60,0x60,0x60,0x60,0x60,0x30,0x30,0x18,
-
- 6, // 0x29 ')'
- 0x00,0x00,0x60,0x30,0x30,0x18,0x18,0x18,0x18,0x18,0x30,0x30,0x60,
-
- 8, // 0x2A '*'
- 0x00,0x00,0x10,0x54,0x38,0x54,0x10,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 9, // 0x2B '+'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x08,0x00,0x08,0x00,0x08,0x00,0x7F,0x00,0x08,0x00,0x08,0x00,0x08,0x00,0x00,0x00,0x00,0x00,
-
- 4, // 0x2C ','
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x60,0x60,0x60,0x40,
-
- 6, // 0x2D '-'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x78,0x00,0x00,0x00,0x00,0x00,
-
- 4, // 0x2E '.'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x60,0x60,0x00,0x00,
-
- 8, // 0x2F '/'
- 0x00,0x00,0x06,0x06,0x0C,0x0C,0x18,0x18,0x18,0x30,0x30,0x60,0x60,
-
- 8, // 0x30 '0'
- 0x00,0x00,0x00,0x3C,0x66,0x66,0x66,0x66,0x66,0x66,0x3C,0x00,0x00,
-
- 8, // 0x31 '1'
- 0x00,0x00,0x00,0x18,0x38,0x18,0x18,0x18,0x18,0x18,0x3C,0x00,0x00,
-
- 8, // 0x32 '2'
- 0x00,0x00,0x00,0x3C,0x66,0x06,0x0C,0x18,0x30,0x60,0x7E,0x00,0x00,
-
- 8, // 0x33 '3'
- 0x00,0x00,0x00,0x3C,0x66,0x06,0x1C,0x06,0x06,0x66,0x3C,0x00,0x00,
-
- 8, // 0x34 '4'
- 0x00,0x00,0x00,0x04,0x0C,0x1C,0x2C,0x4C,0x7E,0x0C,0x0C,0x00,0x00,
-
- 8, // 0x35 '5'
- 0x00,0x00,0x00,0x3E,0x30,0x30,0x3C,0x06,0x06,0x66,0x3C,0x00,0x00,
-
- 8, // 0x36 '6'
- 0x00,0x00,0x00,0x1C,0x30,0x60,0x7C,0x66,0x66,0x66,0x3C,0x00,0x00,
-
- 8, // 0x37 '7'
- 0x00,0x00,0x00,0x7E,0x06,0x0C,0x0C,0x18,0x18,0x30,0x30,0x00,0x00,
-
- 8, // 0x38 '8'
- 0x00,0x00,0x00,0x3C,0x66,0x66,0x3C,0x66,0x66,0x66,0x3C,0x00,0x00,
-
- 8, // 0x39 '9'
- 0x00,0x00,0x00,0x3C,0x66,0x66,0x66,0x3E,0x06,0x0C,0x38,0x00,0x00,
-
- 4, // 0x3A ':'
- 0x00,0x00,0x00,0x00,0x00,0x60,0x60,0x00,0x00,0x60,0x60,0x00,0x00,
-
- 4, // 0x3B ';'
- 0x00,0x00,0x00,0x00,0x00,0x60,0x60,0x00,0x00,0x60,0x60,0x60,0x40,
-
- 9, // 0x3C '<'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0x00,0x0C,0x00,0x30,0x00,0x40,0x00,0x30,0x00,0x0C,0x00,0x03,0x00,0x00,0x00,0x00,0x00,
-
- 9, // 0x3D '='
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7F,0x00,0x00,0x00,0x00,0x00,0x7F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 9, // 0x3E '>'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x60,0x00,0x18,0x00,0x06,0x00,0x01,0x00,0x06,0x00,0x18,0x00,0x60,0x00,0x00,0x00,0x00,0x00,
-
- 7, // 0x3F '?'
- 0x00,0x00,0x00,0x38,0x4C,0x0C,0x18,0x30,0x30,0x00,0x30,0x00,0x00,
-
- 11, // 0x40 '@'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x1F,0x80,0x20,0x40,0x4F,0x40,0x5B,0x40,0x5B,0x40,0x5B,0x40,0x4F,0x80,0x20,0x00,0x1F,0x00,0x00,0x00,
-
- 9, // 0x41 'A'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x1C,0x00,0x1C,0x00,0x36,0x00,0x36,0x00,0x36,0x00,0x7F,0x00,0x63,0x00,0x63,0x00,0x00,0x00,0x00,0x00,
-
- 8, // 0x42 'B'
- 0x00,0x00,0x00,0x7C,0x66,0x66,0x7C,0x66,0x66,0x66,0x7C,0x00,0x00,
-
- 8, // 0x43 'C'
- 0x00,0x00,0x00,0x3C,0x62,0x60,0x60,0x60,0x60,0x62,0x3C,0x00,0x00,
-
- 9, // 0x44 'D'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x7C,0x00,0x66,0x00,0x63,0x00,0x63,0x00,0x63,0x00,0x63,0x00,0x66,0x00,0x7C,0x00,0x00,0x00,0x00,0x00,
-
- 8, // 0x45 'E'
- 0x00,0x00,0x00,0x7E,0x60,0x60,0x7E,0x60,0x60,0x60,0x7E,0x00,0x00,
-
- 8, // 0x46 'F'
- 0x00,0x00,0x00,0x7E,0x60,0x60,0x7E,0x60,0x60,0x60,0x60,0x00,0x00,
-
- 9, // 0x47 'G'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x3E,0x00,0x61,0x00,0x60,0x00,0x60,0x00,0x67,0x00,0x63,0x00,0x63,0x00,0x3F,0x00,0x00,0x00,0x00,0x00,
-
- 9, // 0x48 'H'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x63,0x00,0x63,0x00,0x63,0x00,0x7F,0x00,0x63,0x00,0x63,0x00,0x63,0x00,0x63,0x00,0x00,0x00,0x00,0x00,
-
- 6, // 0x49 'I'
- 0x00,0x00,0x00,0x78,0x30,0x30,0x30,0x30,0x30,0x30,0x78,0x00,0x00,
-
- 6, // 0x4A 'J'
- 0x00,0x00,0x00,0x78,0x18,0x18,0x18,0x18,0x18,0x18,0xF0,0x00,0x00,
-
- 8, // 0x4B 'K'
- 0x00,0x00,0x00,0x66,0x6C,0x78,0x70,0x70,0x78,0x6C,0x66,0x00,0x00,
-
- 7, // 0x4C 'L'
- 0x00,0x00,0x00,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x7E,0x00,0x00,
-
- 10, // 0x4D 'M'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x60,0x80,0x71,0x80,0x7B,0x80,0x5D,0x80,0x49,0x80,0x41,0x80,0x41,0x80,0x41,0x80,0x00,0x00,0x00,0x00,
-
- 9, // 0x4E 'N'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x41,0x00,0x61,0x00,0x71,0x00,0x59,0x00,0x4D,0x00,0x47,0x00,0x43,0x00,0x41,0x00,0x00,0x00,0x00,0x00,
-
- 9, // 0x4F 'O'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x3E,0x00,0x63,0x00,0x63,0x00,0x63,0x00,0x63,0x00,0x63,0x00,0x63,0x00,0x3E,0x00,0x00,0x00,0x00,0x00,
-
- 8, // 0x50 'P'
- 0x00,0x00,0x00,0x7C,0x66,0x66,0x66,0x7C,0x60,0x60,0x60,0x00,0x00,
-
- 9, // 0x51 'Q'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x3E,0x00,0x63,0x00,0x63,0x00,0x63,0x00,0x63,0x00,0x63,0x00,0x63,0x00,0x3E,0x00,0x0C,0x00,0x07,0x00,
-
- 8, // 0x52 'R'
- 0x00,0x00,0x00,0x7C,0x66,0x66,0x66,0x7C,0x6C,0x66,0x63,0x00,0x00,
-
- 8, // 0x53 'S'
- 0x00,0x00,0x00,0x3C,0x62,0x60,0x7C,0x3E,0x06,0x46,0x3C,0x00,0x00,
-
- 8, // 0x54 'T'
- 0x00,0x00,0x00,0xFF,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x00,0x00,
-
- 9, // 0x55 'U'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x63,0x00,0x63,0x00,0x63,0x00,0x63,0x00,0x63,0x00,0x63,0x00,0x63,0x00,0x3E,0x00,0x00,0x00,0x00,0x00,
-
- 8, // 0x56 'V'
- 0x00,0x00,0x00,0x66,0x66,0x66,0x3C,0x3C,0x3C,0x18,0x18,0x00,0x00,
-
- 12, // 0x57 'W'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x66,0x60,0x66,0x60,0x66,0x60,0x36,0xC0,0x3F,0xC0,0x39,0xC0,0x19,0x80,0x19,0x80,0x00,0x00,0x00,0x00,
-
- 8, // 0x58 'X'
- 0x00,0x00,0x00,0x66,0x66,0x3C,0x18,0x18,0x3C,0x66,0x66,0x00,0x00,
-
- 8, // 0x59 'Y'
- 0x00,0x00,0x00,0x66,0x66,0x3C,0x3C,0x18,0x18,0x18,0x18,0x00,0x00,
-
- 8, // 0x5A 'Z'
- 0x00,0x00,0x00,0x7E,0x06,0x0E,0x1C,0x38,0x70,0x60,0x7E,0x00,0x00,
-
- 6, // 0x5B '['
- 0x00,0x00,0x78,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x78,
-
- 8, // 0x5C '\'
- 0x00,0x00,0x60,0x60,0x30,0x30,0x18,0x18,0x18,0x0C,0x0C,0x06,0x06,
-
- 6, // 0x5D ']'
- 0x00,0x00,0x78,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x78,
-
- 10, // 0x5E '^'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x0C,0x00,0x1E,0x00,0x33,0x00,0x61,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 8, // 0x5F '_'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,
-
- 8, // 0x60 '`'
- 0x00,0x00,0x30,0x18,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 8, // 0x61 'a'
- 0x00,0x00,0x00,0x00,0x00,0x3C,0x06,0x3E,0x66,0x66,0x3E,0x00,0x00,
-
- 8, // 0x62 'b'
- 0x00,0x00,0x60,0x60,0x60,0x7C,0x66,0x66,0x66,0x66,0x7C,0x00,0x00,
-
- 7, // 0x63 'c'
- 0x00,0x00,0x00,0x00,0x00,0x3C,0x60,0x60,0x60,0x60,0x3C,0x00,0x00,
-
- 8, // 0x64 'd'
- 0x00,0x00,0x06,0x06,0x06,0x3E,0x66,0x66,0x66,0x66,0x3E,0x00,0x00,
-
- 8, // 0x65 'e'
- 0x00,0x00,0x00,0x00,0x00,0x3C,0x66,0x7E,0x60,0x62,0x3C,0x00,0x00,
-
- 5, // 0x66 'f'
- 0x00,0x00,0x38,0x60,0x60,0xF8,0x60,0x60,0x60,0x60,0x60,0x00,0x00,
-
- 8, // 0x67 'g'
- 0x00,0x00,0x00,0x00,0x00,0x3E,0x66,0x66,0x66,0x66,0x3E,0x06,0x3C,
-
- 8, // 0x68 'h'
- 0x00,0x00,0x60,0x60,0x60,0x7C,0x66,0x66,0x66,0x66,0x66,0x00,0x00,
-
- 4, // 0x69 'i'
- 0x00,0x00,0x00,0x60,0x00,0x60,0x60,0x60,0x60,0x60,0x60,0x00,0x00,
-
- 5, // 0x6A 'j'
- 0x00,0x00,0x00,0x30,0x00,0x70,0x30,0x30,0x30,0x30,0x30,0x30,0xE0,
-
- 8, // 0x6B 'k'
- 0x00,0x00,0x60,0x60,0x60,0x66,0x6C,0x78,0x78,0x6C,0x66,0x00,0x00,
-
- 4, // 0x6C 'l'
- 0x00,0x00,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x00,0x00,
-
- 12, // 0x6D 'm'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7D,0xC0,0x66,0x60,0x66,0x60,0x66,0x60,0x66,0x60,0x66,0x60,0x00,0x00,0x00,0x00,
-
- 8, // 0x6E 'n'
- 0x00,0x00,0x00,0x00,0x00,0x7C,0x66,0x66,0x66,0x66,0x66,0x00,0x00,
-
- 8, // 0x6F 'o'
- 0x00,0x00,0x00,0x00,0x00,0x3C,0x66,0x66,0x66,0x66,0x3C,0x00,0x00,
-
- 8, // 0x70 'p'
- 0x00,0x00,0x00,0x00,0x00,0x7C,0x66,0x66,0x66,0x66,0x7C,0x60,0x60,
-
- 8, // 0x71 'q'
- 0x00,0x00,0x00,0x00,0x00,0x3E,0x66,0x66,0x66,0x66,0x3E,0x06,0x06,
-
- 6, // 0x72 'r'
- 0x00,0x00,0x00,0x00,0x00,0x6C,0x7C,0x60,0x60,0x60,0x60,0x00,0x00,
-
- 7, // 0x73 's'
- 0x00,0x00,0x00,0x00,0x00,0x3C,0x60,0x78,0x3C,0x0C,0x78,0x00,0x00,
-
- 5, // 0x74 't'
- 0x00,0x00,0x00,0x60,0x60,0xF8,0x60,0x60,0x60,0x60,0x38,0x00,0x00,
-
- 8, // 0x75 'u'
- 0x00,0x00,0x00,0x00,0x00,0x66,0x66,0x66,0x66,0x66,0x3E,0x00,0x00,
-
- 8, // 0x76 'v'
- 0x00,0x00,0x00,0x00,0x00,0x66,0x66,0x66,0x3C,0x3C,0x18,0x00,0x00,
-
- 10, // 0x77 'w'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x6D,0x80,0x6D,0x80,0x6D,0x80,0x6D,0x80,0x33,0x00,0x33,0x00,0x00,0x00,0x00,0x00,
-
- 8, // 0x78 'x'
- 0x00,0x00,0x00,0x00,0x00,0x66,0x66,0x3C,0x3C,0x66,0x66,0x00,0x00,
-
- 8, // 0x79 'y'
- 0x00,0x00,0x00,0x00,0x00,0x66,0x66,0x3C,0x3C,0x18,0x18,0x30,0x30,
-
- 7, // 0x7A 'z'
- 0x00,0x00,0x00,0x00,0x00,0x7C,0x0C,0x18,0x30,0x60,0x7C,0x00,0x00,
-
- 8, // 0x7B '{'
- 0x00,0x00,0x0E,0x18,0x18,0x18,0x18,0x70,0x18,0x18,0x18,0x18,0x0E,
-
- 6, // 0x7C '|'
- 0x00,0x00,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,
-
- 8, // 0x7D '}'
- 0x00,0x00,0x70,0x18,0x18,0x18,0x18,0x0E,0x18,0x18,0x18,0x18,0x70,
-
- 9, // 0x7E '~'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x31,0x00,0x49,0x00,0x49,0x00,0x46,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 11, // 0x7F ''
- 0x00,0x00,0x00,0x00,0x00,0x00,0x7F,0x80,0x40,0x80,0x40,0x80,0x40,0x80,0x40,0x80,0x40,0x80,0x40,0x80,0x7F,0x80,0x00,0x00,0x00,0x00,
-
- 0
- };
-
- const int8u verdana14[] =
- {
- 14, 3, 32, 128-32,
- 0x00,0x00,0x0F,0x00,0x1E,0x00,0x2D,0x00,0x4A,0x00,0x59,0x00,0x76,0x00,0x93,0x00,0xA2,0x00,
- 0xB1,0x00,0xC0,0x00,0xCF,0x00,0xEC,0x00,0xFB,0x00,0x0A,0x01,0x19,0x01,0x28,0x01,0x37,0x01,
- 0x46,0x01,0x55,0x01,0x64,0x01,0x73,0x01,0x82,0x01,0x91,0x01,0xA0,0x01,0xAF,0x01,0xBE,0x01,
- 0xCD,0x01,0xDC,0x01,0xF9,0x01,0x16,0x02,0x33,0x02,0x42,0x02,0x5F,0x02,0x6E,0x02,0x7D,0x02,
- 0x9A,0x02,0xB7,0x02,0xC6,0x02,0xD5,0x02,0xF2,0x02,0x0F,0x03,0x1E,0x03,0x2D,0x03,0x3C,0x03,
- 0x4B,0x03,0x68,0x03,0x85,0x03,0xA2,0x03,0xB1,0x03,0xCE,0x03,0xDD,0x03,0xEC,0x03,0xFB,0x03,
- 0x18,0x04,0x27,0x04,0x44,0x04,0x53,0x04,0x62,0x04,0x71,0x04,0x80,0x04,0x8F,0x04,0x9E,0x04,
- 0xBB,0x04,0xCA,0x04,0xD9,0x04,0xE8,0x04,0xF7,0x04,0x06,0x05,0x15,0x05,0x24,0x05,0x33,0x05,
- 0x42,0x05,0x51,0x05,0x60,0x05,0x6F,0x05,0x7E,0x05,0x8D,0x05,0xAA,0x05,0xB9,0x05,0xC8,0x05,
- 0xD7,0x05,0xE6,0x05,0xF5,0x05,0x04,0x06,0x13,0x06,0x22,0x06,0x31,0x06,0x4E,0x06,0x5D,0x06,
- 0x6C,0x06,0x7B,0x06,0x8A,0x06,0x99,0x06,0xA8,0x06,0xC5,0x06,
-
- 4, // 0x20 ' '
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 5, // 0x21 '!'
- 0x00,0x00,0x00,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x00,0x20,0x00,0x00,
-
- 6, // 0x22 '"'
- 0x00,0x00,0x48,0x48,0x48,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 10, // 0x23 '#'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x09,0x00,0x09,0x00,0x12,0x00,0x3F,0x80,0x12,0x00,0x12,0x00,0x7F,0x00,0x24,0x00,0x24,0x00,0x00,0x00,0x00,0x00,
-
- 8, // 0x24 '$'
- 0x00,0x00,0x10,0x10,0x3E,0x50,0x50,0x30,0x1C,0x12,0x12,0x7C,0x10,0x10,
-
- 13, // 0x25 '%'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x80,0x49,0x00,0x49,0x00,0x4A,0x00,0x32,0x60,0x02,0x90,0x04,0x90,0x04,0x90,0x08,0x60,0x00,0x00,0x00,0x00,
-
- 10, // 0x26 '&'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x38,0x00,0x44,0x00,0x44,0x00,0x44,0x00,0x39,0x00,0x45,0x00,0x42,0x00,0x43,0x00,0x3C,0x80,0x00,0x00,0x00,0x00,
-
- 3, // 0x27 '''
- 0x00,0x00,0x40,0x40,0x40,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 5, // 0x28 '('
- 0x00,0x00,0x10,0x20,0x20,0x40,0x40,0x40,0x40,0x40,0x40,0x20,0x20,0x10,
-
- 5, // 0x29 ')'
- 0x00,0x00,0x40,0x20,0x20,0x10,0x10,0x10,0x10,0x10,0x10,0x20,0x20,0x40,
-
- 8, // 0x2A '*'
- 0x00,0x00,0x10,0x54,0x38,0x54,0x10,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 9, // 0x2B '+'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x08,0x00,0x08,0x00,0x08,0x00,0x7F,0x00,0x08,0x00,0x08,0x00,0x08,0x00,0x00,0x00,0x00,0x00,
-
- 4, // 0x2C ','
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x20,0x20,0x40,
-
- 5, // 0x2D '-'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x78,0x00,0x00,0x00,0x00,0x00,
-
- 4, // 0x2E '.'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x20,0x00,0x00,
-
- 5, // 0x2F '/'
- 0x00,0x00,0x08,0x08,0x10,0x10,0x10,0x20,0x20,0x20,0x40,0x40,0x40,0x80,
-
- 8, // 0x30 '0'
- 0x00,0x00,0x00,0x3C,0x42,0x42,0x42,0x42,0x42,0x42,0x42,0x3C,0x00,0x00,
-
- 8, // 0x31 '1'
- 0x00,0x00,0x00,0x08,0x38,0x08,0x08,0x08,0x08,0x08,0x08,0x3E,0x00,0x00,
-
- 8, // 0x32 '2'
- 0x00,0x00,0x00,0x3C,0x42,0x42,0x02,0x04,0x18,0x20,0x40,0x7E,0x00,0x00,
-
- 8, // 0x33 '3'
- 0x00,0x00,0x00,0x3C,0x42,0x02,0x02,0x1C,0x02,0x02,0x42,0x3C,0x00,0x00,
-
- 8, // 0x34 '4'
- 0x00,0x00,0x00,0x04,0x0C,0x14,0x24,0x44,0x7F,0x04,0x04,0x04,0x00,0x00,
-
- 8, // 0x35 '5'
- 0x00,0x00,0x00,0x7E,0x40,0x40,0x7C,0x02,0x02,0x02,0x42,0x3C,0x00,0x00,
-
- 8, // 0x36 '6'
- 0x00,0x00,0x00,0x1C,0x20,0x40,0x7C,0x42,0x42,0x42,0x42,0x3C,0x00,0x00,
-
- 8, // 0x37 '7'
- 0x00,0x00,0x00,0x7E,0x02,0x04,0x04,0x08,0x08,0x10,0x10,0x20,0x00,0x00,
-
- 8, // 0x38 '8'
- 0x00,0x00,0x00,0x3C,0x42,0x42,0x42,0x3C,0x42,0x42,0x42,0x3C,0x00,0x00,
-
- 8, // 0x39 '9'
- 0x00,0x00,0x00,0x3C,0x42,0x42,0x42,0x42,0x3E,0x02,0x04,0x38,0x00,0x00,
-
- 5, // 0x3A ':'
- 0x00,0x00,0x00,0x00,0x00,0x20,0x20,0x00,0x00,0x00,0x20,0x20,0x00,0x00,
-
- 5, // 0x3B ';'
- 0x00,0x00,0x00,0x00,0x00,0x20,0x20,0x00,0x00,0x00,0x20,0x20,0x20,0x40,
-
- 9, // 0x3C '<'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0x00,0x0C,0x00,0x30,0x00,0x40,0x00,0x30,0x00,0x0C,0x00,0x03,0x00,0x00,0x00,0x00,0x00,
-
- 9, // 0x3D '='
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7F,0x00,0x00,0x00,0x7F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 9, // 0x3E '>'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x60,0x00,0x18,0x00,0x06,0x00,0x01,0x00,0x06,0x00,0x18,0x00,0x60,0x00,0x00,0x00,0x00,0x00,
-
- 7, // 0x3F '?'
- 0x00,0x00,0x00,0x38,0x44,0x04,0x04,0x08,0x10,0x10,0x00,0x10,0x00,0x00,
-
- 12, // 0x40 '@'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0x00,0x30,0xC0,0x27,0x40,0x49,0x20,0x49,0x20,0x49,0x20,0x49,0x20,0x27,0xC0,0x30,0x00,0x0F,0x00,0x00,0x00,
-
- 8, // 0x41 'A'
- 0x00,0x00,0x00,0x18,0x18,0x24,0x24,0x42,0x42,0x7E,0x81,0x81,0x00,0x00,
-
- 8, // 0x42 'B'
- 0x00,0x00,0x00,0x78,0x44,0x44,0x44,0x7C,0x42,0x42,0x42,0x7C,0x00,0x00,
-
- 9, // 0x43 'C'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x1E,0x00,0x21,0x00,0x40,0x00,0x40,0x00,0x40,0x00,0x40,0x00,0x40,0x00,0x21,0x00,0x1E,0x00,0x00,0x00,0x00,0x00,
-
- 9, // 0x44 'D'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x7C,0x00,0x42,0x00,0x41,0x00,0x41,0x00,0x41,0x00,0x41,0x00,0x41,0x00,0x42,0x00,0x7C,0x00,0x00,0x00,0x00,0x00,
-
- 8, // 0x45 'E'
- 0x00,0x00,0x00,0x7E,0x40,0x40,0x40,0x7E,0x40,0x40,0x40,0x7E,0x00,0x00,
-
- 7, // 0x46 'F'
- 0x00,0x00,0x00,0x7E,0x40,0x40,0x40,0x7C,0x40,0x40,0x40,0x40,0x00,0x00,
-
- 9, // 0x47 'G'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x1E,0x00,0x21,0x00,0x40,0x00,0x40,0x00,0x47,0x00,0x41,0x00,0x41,0x00,0x21,0x00,0x1E,0x00,0x00,0x00,0x00,0x00,
-
- 9, // 0x48 'H'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x41,0x00,0x41,0x00,0x41,0x00,0x41,0x00,0x7F,0x00,0x41,0x00,0x41,0x00,0x41,0x00,0x41,0x00,0x00,0x00,0x00,0x00,
-
- 5, // 0x49 'I'
- 0x00,0x00,0x00,0x70,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x70,0x00,0x00,
-
- 5, // 0x4A 'J'
- 0x00,0x00,0x00,0x70,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0xE0,0x00,0x00,
-
- 8, // 0x4B 'K'
- 0x00,0x00,0x00,0x42,0x44,0x48,0x50,0x60,0x50,0x48,0x44,0x42,0x00,0x00,
-
- 7, // 0x4C 'L'
- 0x00,0x00,0x00,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x7E,0x00,0x00,
-
- 10, // 0x4D 'M'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x61,0x80,0x61,0x80,0x52,0x80,0x52,0x80,0x52,0x80,0x4C,0x80,0x4C,0x80,0x40,0x80,0x40,0x80,0x00,0x00,0x00,0x00,
-
- 9, // 0x4E 'N'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x61,0x00,0x61,0x00,0x51,0x00,0x51,0x00,0x49,0x00,0x45,0x00,0x45,0x00,0x43,0x00,0x43,0x00,0x00,0x00,0x00,0x00,
-
- 10, // 0x4F 'O'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x1E,0x00,0x21,0x00,0x40,0x80,0x40,0x80,0x40,0x80,0x40,0x80,0x40,0x80,0x21,0x00,0x1E,0x00,0x00,0x00,0x00,0x00,
-
- 8, // 0x50 'P'
- 0x00,0x00,0x00,0x7C,0x42,0x42,0x42,0x42,0x7C,0x40,0x40,0x40,0x00,0x00,
-
- 10, // 0x51 'Q'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x1E,0x00,0x21,0x00,0x40,0x80,0x40,0x80,0x40,0x80,0x40,0x80,0x40,0x80,0x21,0x00,0x1E,0x00,0x02,0x00,0x01,0x80,
-
- 8, // 0x52 'R'
- 0x00,0x00,0x00,0x7C,0x42,0x42,0x42,0x7C,0x48,0x44,0x42,0x41,0x00,0x00,
-
- 8, // 0x53 'S'
- 0x00,0x00,0x00,0x3C,0x42,0x40,0x40,0x3C,0x02,0x02,0x42,0x3C,0x00,0x00,
-
- 7, // 0x54 'T'
- 0x00,0x00,0x00,0xFE,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x00,0x00,
-
- 9, // 0x55 'U'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x41,0x00,0x41,0x00,0x41,0x00,0x41,0x00,0x41,0x00,0x41,0x00,0x41,0x00,0x22,0x00,0x1C,0x00,0x00,0x00,0x00,0x00,
-
- 8, // 0x56 'V'
- 0x00,0x00,0x00,0x81,0x81,0x42,0x42,0x42,0x24,0x24,0x18,0x18,0x00,0x00,
-
- 13, // 0x57 'W'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x42,0x10,0x42,0x10,0x45,0x10,0x45,0x10,0x25,0x20,0x28,0xA0,0x28,0xA0,0x10,0x40,0x10,0x40,0x00,0x00,0x00,0x00,
-
- 8, // 0x58 'X'
- 0x00,0x00,0x00,0x42,0x42,0x24,0x18,0x18,0x18,0x24,0x42,0x42,0x00,0x00,
-
- 7, // 0x59 'Y'
- 0x00,0x00,0x00,0x82,0x44,0x44,0x28,0x10,0x10,0x10,0x10,0x10,0x00,0x00,
-
- 8, // 0x5A 'Z'
- 0x00,0x00,0x00,0x7E,0x02,0x04,0x08,0x10,0x10,0x20,0x40,0x7E,0x00,0x00,
-
- 5, // 0x5B '['
- 0x00,0x00,0x70,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x70,
-
- 5, // 0x5C '\'
- 0x00,0x00,0x80,0x80,0x40,0x40,0x40,0x20,0x20,0x10,0x10,0x10,0x08,0x08,
-
- 5, // 0x5D ']'
- 0x00,0x00,0x70,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x70,
-
- 10, // 0x5E '^'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x0C,0x00,0x12,0x00,0x21,0x00,0x40,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 8, // 0x5F '_'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,
-
- 8, // 0x60 '`'
- 0x00,0x00,0x20,0x10,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 8, // 0x61 'a'
- 0x00,0x00,0x00,0x00,0x00,0x3C,0x02,0x02,0x3E,0x42,0x42,0x3E,0x00,0x00,
-
- 8, // 0x62 'b'
- 0x00,0x00,0x40,0x40,0x40,0x5C,0x62,0x42,0x42,0x42,0x42,0x7C,0x00,0x00,
-
- 6, // 0x63 'c'
- 0x00,0x00,0x00,0x00,0x00,0x38,0x44,0x40,0x40,0x40,0x44,0x38,0x00,0x00,
-
- 8, // 0x64 'd'
- 0x00,0x00,0x02,0x02,0x02,0x3E,0x42,0x42,0x42,0x42,0x46,0x3A,0x00,0x00,
-
- 8, // 0x65 'e'
- 0x00,0x00,0x00,0x00,0x00,0x3C,0x42,0x42,0x7E,0x40,0x42,0x3C,0x00,0x00,
-
- 4, // 0x66 'f'
- 0x00,0x00,0x30,0x40,0x40,0xF0,0x40,0x40,0x40,0x40,0x40,0x40,0x00,0x00,
-
- 8, // 0x67 'g'
- 0x00,0x00,0x00,0x00,0x00,0x3E,0x42,0x42,0x42,0x42,0x46,0x3A,0x02,0x3C,
-
- 8, // 0x68 'h'
- 0x00,0x00,0x40,0x40,0x40,0x5C,0x62,0x42,0x42,0x42,0x42,0x42,0x00,0x00,
-
- 3, // 0x69 'i'
- 0x00,0x00,0x40,0x00,0x00,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x00,0x00,
-
- 4, // 0x6A 'j'
- 0x00,0x00,0x20,0x00,0x00,0x60,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0xC0,
-
- 7, // 0x6B 'k'
- 0x00,0x00,0x40,0x40,0x40,0x44,0x48,0x50,0x60,0x50,0x48,0x44,0x00,0x00,
-
- 3, // 0x6C 'l'
- 0x00,0x00,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x00,0x00,
-
- 11, // 0x6D 'm'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7B,0x80,0x44,0x40,0x44,0x40,0x44,0x40,0x44,0x40,0x44,0x40,0x44,0x40,0x00,0x00,0x00,0x00,
-
- 8, // 0x6E 'n'
- 0x00,0x00,0x00,0x00,0x00,0x5C,0x62,0x42,0x42,0x42,0x42,0x42,0x00,0x00,
-
- 8, // 0x6F 'o'
- 0x00,0x00,0x00,0x00,0x00,0x3C,0x42,0x42,0x42,0x42,0x42,0x3C,0x00,0x00,
-
- 8, // 0x70 'p'
- 0x00,0x00,0x00,0x00,0x00,0x5C,0x62,0x42,0x42,0x42,0x42,0x7C,0x40,0x40,
-
- 8, // 0x71 'q'
- 0x00,0x00,0x00,0x00,0x00,0x3E,0x42,0x42,0x42,0x42,0x46,0x3A,0x02,0x02,
-
- 5, // 0x72 'r'
- 0x00,0x00,0x00,0x00,0x00,0x58,0x60,0x40,0x40,0x40,0x40,0x40,0x00,0x00,
-
- 7, // 0x73 's'
- 0x00,0x00,0x00,0x00,0x00,0x3C,0x40,0x40,0x38,0x04,0x04,0x78,0x00,0x00,
-
- 5, // 0x74 't'
- 0x00,0x00,0x00,0x40,0x40,0xF8,0x40,0x40,0x40,0x40,0x40,0x38,0x00,0x00,
-
- 8, // 0x75 'u'
- 0x00,0x00,0x00,0x00,0x00,0x42,0x42,0x42,0x42,0x42,0x46,0x3A,0x00,0x00,
-
- 7, // 0x76 'v'
- 0x00,0x00,0x00,0x00,0x00,0x44,0x44,0x28,0x28,0x28,0x10,0x10,0x00,0x00,
-
- 11, // 0x77 'w'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x44,0x40,0x44,0x40,0x2A,0x80,0x2A,0x80,0x2A,0x80,0x11,0x00,0x11,0x00,0x00,0x00,0x00,0x00,
-
- 7, // 0x78 'x'
- 0x00,0x00,0x00,0x00,0x00,0x44,0x44,0x28,0x10,0x28,0x44,0x44,0x00,0x00,
-
- 7, // 0x79 'y'
- 0x00,0x00,0x00,0x00,0x00,0x44,0x44,0x28,0x28,0x28,0x10,0x10,0x10,0x20,
-
- 7, // 0x7A 'z'
- 0x00,0x00,0x00,0x00,0x00,0x7C,0x04,0x08,0x10,0x20,0x40,0x7C,0x00,0x00,
-
- 8, // 0x7B '{'
- 0x00,0x00,0x0C,0x10,0x10,0x10,0x10,0x60,0x10,0x10,0x10,0x10,0x10,0x0C,
-
- 5, // 0x7C '|'
- 0x00,0x00,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,
-
- 8, // 0x7D '}'
- 0x00,0x00,0x30,0x08,0x08,0x08,0x08,0x06,0x08,0x08,0x08,0x08,0x08,0x30,
-
- 10, // 0x7E '~'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x80,0x4C,0x80,0x43,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 12, // 0x7F ''
- 0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0xE0,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x3F,0xE0,0x00,0x00,0x00,0x00,
-
- 0
- };
-
- const int8u verdana14_bold[] =
- {
- 14, 3, 32, 128-32,
- 0x00,0x00,0x0F,0x00,0x1E,0x00,0x2D,0x00,0x4A,0x00,0x67,0x00,0x84,0x00,0xA1,0x00,0xB0,0x00,
- 0xBF,0x00,0xCE,0x00,0xEB,0x00,0x08,0x01,0x17,0x01,0x26,0x01,0x35,0x01,0x44,0x01,0x61,0x01,
- 0x7E,0x01,0x9B,0x01,0xB8,0x01,0xD5,0x01,0xF2,0x01,0x0F,0x02,0x2C,0x02,0x49,0x02,0x66,0x02,
- 0x75,0x02,0x84,0x02,0xA1,0x02,0xBE,0x02,0xDB,0x02,0xEA,0x02,0x07,0x03,0x24,0x03,0x41,0x03,
- 0x5E,0x03,0x7B,0x03,0x8A,0x03,0x99,0x03,0xB6,0x03,0xD3,0x03,0xE2,0x03,0xF1,0x03,0x0E,0x04,
- 0x1D,0x04,0x3A,0x04,0x57,0x04,0x74,0x04,0x91,0x04,0xAE,0x04,0xCB,0x04,0xE8,0x04,0xF7,0x04,
- 0x14,0x05,0x31,0x05,0x4E,0x05,0x6B,0x05,0x88,0x05,0x97,0x05,0xA6,0x05,0xB5,0x05,0xC4,0x05,
- 0xE1,0x05,0xFE,0x05,0x1B,0x06,0x2A,0x06,0x39,0x06,0x48,0x06,0x57,0x06,0x66,0x06,0x75,0x06,
- 0x84,0x06,0x93,0x06,0xA2,0x06,0xB1,0x06,0xC0,0x06,0xCF,0x06,0xEC,0x06,0xFB,0x06,0x0A,0x07,
- 0x19,0x07,0x28,0x07,0x37,0x07,0x46,0x07,0x55,0x07,0x64,0x07,0x73,0x07,0x90,0x07,0x9F,0x07,
- 0xAE,0x07,0xBD,0x07,0xDA,0x07,0xE9,0x07,0x06,0x08,0x23,0x08,
-
- 4, // 0x20 ' '
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 5, // 0x21 '!'
- 0x00,0x00,0x00,0x60,0x60,0x60,0x60,0x60,0x60,0x00,0x60,0x60,0x00,0x00,
-
- 7, // 0x22 '"'
- 0x00,0x00,0x6C,0x6C,0x6C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 10, // 0x23 '#'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x09,0x00,0x09,0x00,0x3F,0x80,0x3F,0x80,0x12,0x00,0x7F,0x00,0x7F,0x00,0x24,0x00,0x24,0x00,0x00,0x00,0x00,0x00,
-
- 9, // 0x24 '$'
- 0x00,0x00,0x00,0x00,0x08,0x00,0x08,0x00,0x3E,0x00,0x69,0x00,0x68,0x00,0x7E,0x00,0x3F,0x00,0x0B,0x00,0x4B,0x00,0x3E,0x00,0x08,0x00,0x08,0x00,
-
- 15, // 0x25 '%'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x38,0x40,0x6C,0x40,0x6C,0x80,0x6C,0xB8,0x6D,0x6C,0x3A,0x6C,0x02,0x6C,0x04,0x6C,0x04,0x38,0x00,0x00,0x00,0x00,
-
- 10, // 0x26 '&'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x38,0x00,0x6C,0x00,0x6C,0x00,0x6C,0x00,0x39,0x80,0x6D,0x00,0x66,0x00,0x63,0x00,0x3D,0x80,0x00,0x00,0x00,0x00,
-
- 4, // 0x27 '''
- 0x00,0x00,0x60,0x60,0x60,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 7, // 0x28 '('
- 0x00,0x00,0x18,0x30,0x30,0x60,0x60,0x60,0x60,0x60,0x60,0x30,0x30,0x18,
-
- 7, // 0x29 ')'
- 0x00,0x00,0x30,0x18,0x18,0x0C,0x0C,0x0C,0x0C,0x0C,0x0C,0x18,0x18,0x30,
-
- 9, // 0x2A '*'
- 0x00,0x00,0x00,0x00,0x08,0x00,0x2A,0x00,0x1C,0x00,0x1C,0x00,0x2A,0x00,0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 10, // 0x2B '+'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x08,0x00,0x08,0x00,0x08,0x00,0x7F,0x00,0x08,0x00,0x08,0x00,0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 4, // 0x2C ','
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x60,0x60,0x60,0x40,
-
- 6, // 0x2D '-'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x78,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 4, // 0x2E '.'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x60,0x60,0x00,0x00,
-
- 8, // 0x2F '/'
- 0x00,0x00,0x06,0x06,0x0C,0x0C,0x0C,0x18,0x18,0x30,0x30,0x30,0x60,0x60,
-
- 9, // 0x30 '0'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x3E,0x00,0x63,0x00,0x63,0x00,0x63,0x00,0x63,0x00,0x63,0x00,0x63,0x00,0x63,0x00,0x3E,0x00,0x00,0x00,0x00,0x00,
-
- 9, // 0x31 '1'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x0C,0x00,0x3C,0x00,0x0C,0x00,0x0C,0x00,0x0C,0x00,0x0C,0x00,0x0C,0x00,0x0C,0x00,0x3F,0x00,0x00,0x00,0x00,0x00,
-
- 9, // 0x32 '2'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x3E,0x00,0x63,0x00,0x03,0x00,0x03,0x00,0x06,0x00,0x0C,0x00,0x18,0x00,0x30,0x00,0x7F,0x00,0x00,0x00,0x00,0x00,
-
- 9, // 0x33 '3'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x3E,0x00,0x63,0x00,0x03,0x00,0x03,0x00,0x1E,0x00,0x03,0x00,0x03,0x00,0x63,0x00,0x3E,0x00,0x00,0x00,0x00,0x00,
-
- 9, // 0x34 '4'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x06,0x00,0x0E,0x00,0x16,0x00,0x16,0x00,0x26,0x00,0x46,0x00,0x7F,0x00,0x06,0x00,0x06,0x00,0x00,0x00,0x00,0x00,
-
- 9, // 0x35 '5'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0x00,0x30,0x00,0x30,0x00,0x3E,0x00,0x03,0x00,0x03,0x00,0x03,0x00,0x63,0x00,0x3E,0x00,0x00,0x00,0x00,0x00,
-
- 9, // 0x36 '6'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x1E,0x00,0x30,0x00,0x60,0x00,0x7E,0x00,0x63,0x00,0x63,0x00,0x63,0x00,0x63,0x00,0x3E,0x00,0x00,0x00,0x00,0x00,
-
- 9, // 0x37 '7'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x7F,0x00,0x03,0x00,0x06,0x00,0x06,0x00,0x0C,0x00,0x0C,0x00,0x18,0x00,0x18,0x00,0x30,0x00,0x00,0x00,0x00,0x00,
-
- 9, // 0x38 '8'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x3E,0x00,0x63,0x00,0x63,0x00,0x63,0x00,0x3E,0x00,0x63,0x00,0x63,0x00,0x63,0x00,0x3E,0x00,0x00,0x00,0x00,0x00,
-
- 9, // 0x39 '9'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x3E,0x00,0x63,0x00,0x63,0x00,0x63,0x00,0x63,0x00,0x3F,0x00,0x03,0x00,0x06,0x00,0x3C,0x00,0x00,0x00,0x00,0x00,
-
- 5, // 0x3A ':'
- 0x00,0x00,0x00,0x00,0x00,0x60,0x60,0x00,0x00,0x00,0x60,0x60,0x00,0x00,
-
- 5, // 0x3B ';'
- 0x00,0x00,0x00,0x00,0x00,0x60,0x60,0x00,0x00,0x00,0x60,0x60,0x60,0x40,
-
- 10, // 0x3C '<'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x06,0x00,0x18,0x00,0x60,0x00,0x60,0x00,0x18,0x00,0x06,0x00,0x01,0x00,0x00,0x00,0x00,0x00,
-
- 10, // 0x3D '='
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7F,0x00,0x00,0x00,0x00,0x00,0x7F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 10, // 0x3E '>'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x40,0x00,0x30,0x00,0x0C,0x00,0x03,0x00,0x03,0x00,0x0C,0x00,0x30,0x00,0x40,0x00,0x00,0x00,0x00,0x00,
-
- 7, // 0x3F '?'
- 0x00,0x00,0x00,0x38,0x4C,0x0C,0x18,0x30,0x30,0x00,0x30,0x30,0x00,0x00,
-
- 12, // 0x40 '@'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0x00,0x30,0xC0,0x2F,0x40,0x5B,0x20,0x5B,0x20,0x5B,0x20,0x5B,0x20,0x2F,0xC0,0x30,0x00,0x0F,0x00,0x00,0x00,
-
- 9, // 0x41 'A'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x1C,0x00,0x1C,0x00,0x36,0x00,0x36,0x00,0x36,0x00,0x36,0x00,0x7F,0x00,0x63,0x00,0x63,0x00,0x00,0x00,0x00,0x00,
-
- 9, // 0x42 'B'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x7C,0x00,0x66,0x00,0x66,0x00,0x66,0x00,0x7E,0x00,0x63,0x00,0x63,0x00,0x63,0x00,0x7E,0x00,0x00,0x00,0x00,0x00,
-
- 9, // 0x43 'C'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x1E,0x00,0x31,0x00,0x60,0x00,0x60,0x00,0x60,0x00,0x60,0x00,0x60,0x00,0x31,0x00,0x1E,0x00,0x00,0x00,0x00,0x00,
-
- 10, // 0x44 'D'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x7E,0x00,0x63,0x00,0x61,0x80,0x61,0x80,0x61,0x80,0x61,0x80,0x61,0x80,0x63,0x00,0x7E,0x00,0x00,0x00,0x00,0x00,
-
- 8, // 0x45 'E'
- 0x00,0x00,0x00,0x7E,0x60,0x60,0x60,0x7E,0x60,0x60,0x60,0x7E,0x00,0x00,
-
- 8, // 0x46 'F'
- 0x00,0x00,0x00,0x7E,0x60,0x60,0x60,0x7E,0x60,0x60,0x60,0x60,0x00,0x00,
-
- 10, // 0x47 'G'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x1F,0x00,0x30,0x80,0x60,0x00,0x60,0x00,0x60,0x00,0x67,0x80,0x61,0x80,0x31,0x80,0x1F,0x80,0x00,0x00,0x00,0x00,
-
- 10, // 0x48 'H'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x61,0x80,0x61,0x80,0x61,0x80,0x61,0x80,0x7F,0x80,0x61,0x80,0x61,0x80,0x61,0x80,0x61,0x80,0x00,0x00,0x00,0x00,
-
- 6, // 0x49 'I'
- 0x00,0x00,0x00,0x78,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x78,0x00,0x00,
-
- 7, // 0x4A 'J'
- 0x00,0x00,0x00,0x7C,0x0C,0x0C,0x0C,0x0C,0x0C,0x0C,0x0C,0xF8,0x00,0x00,
-
- 9, // 0x4B 'K'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x63,0x00,0x66,0x00,0x6C,0x00,0x78,0x00,0x70,0x00,0x78,0x00,0x6C,0x00,0x66,0x00,0x63,0x00,0x00,0x00,0x00,0x00,
-
- 8, // 0x4C 'L'
- 0x00,0x00,0x00,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x7F,0x00,0x00,
-
- 11, // 0x4D 'M'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x60,0xC0,0x71,0xC0,0x71,0xC0,0x5A,0xC0,0x5A,0xC0,0x4C,0xC0,0x4C,0xC0,0x40,0xC0,0x40,0xC0,0x00,0x00,0x00,0x00,
-
- 10, // 0x4E 'N'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x60,0x80,0x70,0x80,0x58,0x80,0x58,0x80,0x4C,0x80,0x46,0x80,0x46,0x80,0x43,0x80,0x41,0x80,0x00,0x00,0x00,0x00,
-
- 11, // 0x4F 'O'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x1F,0x00,0x31,0x80,0x60,0xC0,0x60,0xC0,0x60,0xC0,0x60,0xC0,0x60,0xC0,0x31,0x80,0x1F,0x00,0x00,0x00,0x00,0x00,
-
- 9, // 0x50 'P'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x7E,0x00,0x63,0x00,0x63,0x00,0x63,0x00,0x63,0x00,0x7E,0x00,0x60,0x00,0x60,0x00,0x60,0x00,0x00,0x00,0x00,0x00,
-
- 11, // 0x51 'Q'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x1F,0x00,0x31,0x80,0x60,0xC0,0x60,0xC0,0x60,0xC0,0x60,0xC0,0x60,0xC0,0x31,0x80,0x1F,0x00,0x06,0x00,0x03,0xC0,
-
- 9, // 0x52 'R'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x7E,0x00,0x63,0x00,0x63,0x00,0x63,0x00,0x7E,0x00,0x6C,0x00,0x66,0x00,0x63,0x00,0x61,0x80,0x00,0x00,0x00,0x00,
-
- 9, // 0x53 'S'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x3E,0x00,0x61,0x00,0x60,0x00,0x70,0x00,0x3E,0x00,0x07,0x00,0x03,0x00,0x43,0x00,0x3E,0x00,0x00,0x00,0x00,0x00,
-
- 8, // 0x54 'T'
- 0x00,0x00,0x00,0xFF,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x00,0x00,
-
- 10, // 0x55 'U'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x61,0x80,0x61,0x80,0x61,0x80,0x61,0x80,0x61,0x80,0x61,0x80,0x61,0x80,0x61,0x80,0x3F,0x00,0x00,0x00,0x00,0x00,
-
- 9, // 0x56 'V'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x63,0x00,0x63,0x00,0x63,0x00,0x36,0x00,0x36,0x00,0x36,0x00,0x1C,0x00,0x1C,0x00,0x1C,0x00,0x00,0x00,0x00,0x00,
-
- 14, // 0x57 'W'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x63,0x18,0x63,0x18,0x63,0x18,0x33,0x30,0x37,0xB0,0x34,0xB0,0x1C,0xE0,0x18,0x60,0x18,0x60,0x00,0x00,0x00,0x00,
-
- 9, // 0x58 'X'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x63,0x00,0x63,0x00,0x36,0x00,0x1C,0x00,0x1C,0x00,0x1C,0x00,0x36,0x00,0x63,0x00,0x63,0x00,0x00,0x00,0x00,0x00,
-
- 10, // 0x59 'Y'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x61,0x80,0x61,0x80,0x33,0x00,0x1E,0x00,0x0C,0x00,0x0C,0x00,0x0C,0x00,0x0C,0x00,0x0C,0x00,0x00,0x00,0x00,0x00,
-
- 8, // 0x5A 'Z'
- 0x00,0x00,0x00,0x7E,0x0C,0x0C,0x18,0x18,0x30,0x30,0x60,0x7E,0x00,0x00,
-
- 6, // 0x5B '['
- 0x00,0x00,0x78,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x78,
-
- 8, // 0x5C '\'
- 0x00,0x00,0x60,0x60,0x30,0x30,0x30,0x18,0x18,0x0C,0x0C,0x0C,0x06,0x06,
-
- 6, // 0x5D ']'
- 0x00,0x00,0x78,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x78,
-
- 10, // 0x5E '^'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x0C,0x00,0x1E,0x00,0x33,0x00,0x61,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 9, // 0x5F '_'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0x80,
-
- 9, // 0x60 '`'
- 0x00,0x00,0x00,0x00,0x30,0x00,0x18,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 8, // 0x61 'a'
- 0x00,0x00,0x00,0x00,0x00,0x3C,0x06,0x3E,0x66,0x66,0x66,0x3E,0x00,0x00,
-
- 8, // 0x62 'b'
- 0x00,0x00,0x60,0x60,0x60,0x7C,0x66,0x66,0x66,0x66,0x66,0x7C,0x00,0x00,
-
- 7, // 0x63 'c'
- 0x00,0x00,0x00,0x00,0x00,0x3C,0x62,0x60,0x60,0x60,0x62,0x3C,0x00,0x00,
-
- 8, // 0x64 'd'
- 0x00,0x00,0x06,0x06,0x06,0x3E,0x66,0x66,0x66,0x66,0x66,0x3E,0x00,0x00,
-
- 8, // 0x65 'e'
- 0x00,0x00,0x00,0x00,0x00,0x3C,0x66,0x66,0x7E,0x60,0x62,0x3C,0x00,0x00,
-
- 5, // 0x66 'f'
- 0x00,0x00,0x38,0x60,0x60,0xF8,0x60,0x60,0x60,0x60,0x60,0x60,0x00,0x00,
-
- 8, // 0x67 'g'
- 0x00,0x00,0x00,0x00,0x00,0x3E,0x66,0x66,0x66,0x66,0x66,0x3E,0x06,0x3C,
-
- 8, // 0x68 'h'
- 0x00,0x00,0x60,0x60,0x60,0x7C,0x66,0x66,0x66,0x66,0x66,0x66,0x00,0x00,
-
- 4, // 0x69 'i'
- 0x00,0x00,0x60,0x60,0x00,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x00,0x00,
-
- 5, // 0x6A 'j'
- 0x00,0x00,0x30,0x30,0x00,0x70,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0xE0,
-
- 8, // 0x6B 'k'
- 0x00,0x00,0x60,0x60,0x60,0x66,0x6C,0x78,0x78,0x6C,0x66,0x63,0x00,0x00,
-
- 4, // 0x6C 'l'
- 0x00,0x00,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x00,0x00,
-
- 12, // 0x6D 'm'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x6C,0xC0,0x77,0x60,0x66,0x60,0x66,0x60,0x66,0x60,0x66,0x60,0x66,0x60,0x00,0x00,0x00,0x00,
-
- 8, // 0x6E 'n'
- 0x00,0x00,0x00,0x00,0x00,0x7C,0x66,0x66,0x66,0x66,0x66,0x66,0x00,0x00,
-
- 8, // 0x6F 'o'
- 0x00,0x00,0x00,0x00,0x00,0x3C,0x66,0x66,0x66,0x66,0x66,0x3C,0x00,0x00,
-
- 8, // 0x70 'p'
- 0x00,0x00,0x00,0x00,0x00,0x7C,0x66,0x66,0x66,0x66,0x66,0x7C,0x60,0x60,
-
- 8, // 0x71 'q'
- 0x00,0x00,0x00,0x00,0x00,0x3E,0x66,0x66,0x66,0x66,0x66,0x3E,0x06,0x06,
-
- 6, // 0x72 'r'
- 0x00,0x00,0x00,0x00,0x00,0x6C,0x7C,0x60,0x60,0x60,0x60,0x60,0x00,0x00,
-
- 7, // 0x73 's'
- 0x00,0x00,0x00,0x00,0x00,0x3C,0x60,0x60,0x38,0x0C,0x0C,0x78,0x00,0x00,
-
- 5, // 0x74 't'
- 0x00,0x00,0x00,0x60,0x60,0xF8,0x60,0x60,0x60,0x60,0x60,0x38,0x00,0x00,
-
- 8, // 0x75 'u'
- 0x00,0x00,0x00,0x00,0x00,0x66,0x66,0x66,0x66,0x66,0x66,0x3E,0x00,0x00,
-
- 8, // 0x76 'v'
- 0x00,0x00,0x00,0x00,0x00,0x66,0x66,0x66,0x3C,0x3C,0x3C,0x18,0x00,0x00,
-
- 12, // 0x77 'w'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x66,0x60,0x66,0x60,0x66,0x60,0x69,0x60,0x39,0xC0,0x30,0xC0,0x30,0xC0,0x00,0x00,0x00,0x00,
-
- 8, // 0x78 'x'
- 0x00,0x00,0x00,0x00,0x00,0x66,0x66,0x3C,0x18,0x3C,0x66,0x66,0x00,0x00,
-
- 8, // 0x79 'y'
- 0x00,0x00,0x00,0x00,0x00,0x66,0x66,0x66,0x3C,0x3C,0x3C,0x18,0x18,0x30,
-
- 7, // 0x7A 'z'
- 0x00,0x00,0x00,0x00,0x00,0x7C,0x0C,0x18,0x38,0x30,0x60,0x7C,0x00,0x00,
-
- 9, // 0x7B '{'
- 0x00,0x00,0x00,0x00,0x0E,0x00,0x18,0x00,0x18,0x00,0x18,0x00,0x18,0x00,0x70,0x00,0x18,0x00,0x18,0x00,0x18,0x00,0x18,0x00,0x18,0x00,0x0E,0x00,
-
- 6, // 0x7C '|'
- 0x00,0x00,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,
-
- 9, // 0x7D '}'
- 0x00,0x00,0x00,0x00,0x38,0x00,0x0C,0x00,0x0C,0x00,0x0C,0x00,0x0C,0x00,0x07,0x00,0x0C,0x00,0x0C,0x00,0x0C,0x00,0x0C,0x00,0x0C,0x00,0x38,0x00,
-
- 10, // 0x7E '~'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x80,0x48,0x80,0x44,0x80,0x43,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 12, // 0x7F ''
- 0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0xE0,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x3F,0xE0,0x00,0x00,0x00,0x00,
-
- 0
- };
-
- const int8u verdana16[] =
- {
- 16, 4, 32, 128-32,
- 0x00,0x00,0x11,0x00,0x22,0x00,0x33,0x00,0x54,0x00,0x65,0x00,0x86,0x00,0xA7,0x00,0xB8,0x00,
- 0xC9,0x00,0xDA,0x00,0xFB,0x00,0x1C,0x01,0x2D,0x01,0x3E,0x01,0x4F,0x01,0x60,0x01,0x71,0x01,
- 0x82,0x01,0x93,0x01,0xA4,0x01,0xB5,0x01,0xC6,0x01,0xD7,0x01,0xE8,0x01,0xF9,0x01,0x0A,0x02,
- 0x1B,0x02,0x2C,0x02,0x4D,0x02,0x6E,0x02,0x8F,0x02,0xA0,0x02,0xC1,0x02,0xE2,0x02,0xF3,0x02,
- 0x14,0x03,0x35,0x03,0x46,0x03,0x57,0x03,0x78,0x03,0x99,0x03,0xAA,0x03,0xBB,0x03,0xCC,0x03,
- 0xDD,0x03,0xFE,0x03,0x1F,0x04,0x40,0x04,0x51,0x04,0x72,0x04,0x93,0x04,0xB4,0x04,0xD5,0x04,
- 0xF6,0x04,0x17,0x05,0x38,0x05,0x59,0x05,0x7A,0x05,0x9B,0x05,0xAC,0x05,0xBD,0x05,0xCE,0x05,
- 0xEF,0x05,0x00,0x06,0x11,0x06,0x22,0x06,0x33,0x06,0x44,0x06,0x55,0x06,0x66,0x06,0x77,0x06,
- 0x88,0x06,0x99,0x06,0xAA,0x06,0xBB,0x06,0xCC,0x06,0xDD,0x06,0xFE,0x06,0x0F,0x07,0x20,0x07,
- 0x31,0x07,0x42,0x07,0x53,0x07,0x64,0x07,0x75,0x07,0x86,0x07,0x97,0x07,0xB8,0x07,0xC9,0x07,
- 0xDA,0x07,0xEB,0x07,0xFC,0x07,0x0D,0x08,0x1E,0x08,0x3F,0x08,
-
- 5, // 0x20 ' '
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 5, // 0x21 '!'
- 0x00,0x00,0x00,0x00,0x20,0x20,0x20,0x20,0x20,0x20,0x00,0x20,0x20,0x00,0x00,0x00,
-
- 5, // 0x22 '"'
- 0x00,0x00,0x00,0x50,0x50,0x50,0x50,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 10, // 0x23 '#'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x09,0x00,0x09,0x00,0x3F,0x80,0x12,0x00,0x12,0x00,0x7F,0x00,0x24,0x00,0x24,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 8, // 0x24 '$'
- 0x00,0x00,0x00,0x10,0x10,0x3E,0x50,0x50,0x30,0x1C,0x12,0x12,0x7C,0x10,0x10,0x00,
-
- 13, // 0x25 '%'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x38,0x40,0x44,0x80,0x45,0x00,0x45,0x00,0x3A,0xE0,0x05,0x10,0x05,0x10,0x09,0x10,0x10,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 10, // 0x26 '&'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x38,0x00,0x44,0x00,0x44,0x00,0x44,0x00,0x38,0x80,0x45,0x00,0x42,0x00,0x46,0x00,0x39,0x80,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 3, // 0x27 '''
- 0x00,0x00,0x00,0x40,0x40,0x40,0x40,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 6, // 0x28 '('
- 0x00,0x00,0x00,0x08,0x10,0x20,0x20,0x40,0x40,0x40,0x40,0x40,0x20,0x20,0x10,0x08,
-
- 6, // 0x29 ')'
- 0x00,0x00,0x00,0x40,0x20,0x10,0x10,0x08,0x08,0x08,0x08,0x08,0x10,0x10,0x20,0x40,
-
- 9, // 0x2A '*'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x08,0x00,0x2A,0x00,0x1C,0x00,0x2A,0x00,0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 9, // 0x2B '+'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x08,0x00,0x08,0x00,0x08,0x00,0x7F,0x00,0x08,0x00,0x08,0x00,0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 5, // 0x2C ','
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x20,0x20,0x40,0x00,
-
- 7, // 0x2D '-'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 5, // 0x2E '.'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x20,0x00,0x00,0x00,
-
- 6, // 0x2F '/'
- 0x00,0x00,0x00,0x04,0x04,0x08,0x08,0x10,0x10,0x20,0x20,0x40,0x40,0x80,0x80,0x00,
-
- 8, // 0x30 '0'
- 0x00,0x00,0x00,0x00,0x3C,0x42,0x42,0x42,0x42,0x42,0x42,0x42,0x3C,0x00,0x00,0x00,
-
- 8, // 0x31 '1'
- 0x00,0x00,0x00,0x00,0x08,0x38,0x08,0x08,0x08,0x08,0x08,0x08,0x3E,0x00,0x00,0x00,
-
- 8, // 0x32 '2'
- 0x00,0x00,0x00,0x00,0x3C,0x42,0x42,0x02,0x04,0x18,0x20,0x40,0x7E,0x00,0x00,0x00,
-
- 8, // 0x33 '3'
- 0x00,0x00,0x00,0x00,0x3C,0x42,0x02,0x02,0x1C,0x02,0x02,0x42,0x3C,0x00,0x00,0x00,
-
- 8, // 0x34 '4'
- 0x00,0x00,0x00,0x00,0x04,0x0C,0x14,0x24,0x44,0x7F,0x04,0x04,0x04,0x00,0x00,0x00,
-
- 8, // 0x35 '5'
- 0x00,0x00,0x00,0x00,0x3E,0x20,0x20,0x20,0x3C,0x02,0x02,0x42,0x3C,0x00,0x00,0x00,
-
- 8, // 0x36 '6'
- 0x00,0x00,0x00,0x00,0x1C,0x20,0x40,0x7C,0x42,0x42,0x42,0x42,0x3C,0x00,0x00,0x00,
-
- 8, // 0x37 '7'
- 0x00,0x00,0x00,0x00,0x7E,0x02,0x04,0x04,0x08,0x08,0x10,0x10,0x10,0x00,0x00,0x00,
-
- 8, // 0x38 '8'
- 0x00,0x00,0x00,0x00,0x3C,0x42,0x42,0x42,0x3C,0x42,0x42,0x42,0x3C,0x00,0x00,0x00,
-
- 8, // 0x39 '9'
- 0x00,0x00,0x00,0x00,0x3C,0x42,0x42,0x42,0x42,0x3E,0x02,0x04,0x38,0x00,0x00,0x00,
-
- 6, // 0x3A ':'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x20,0x00,0x00,0x00,0x20,0x20,0x00,0x00,0x00,
-
- 6, // 0x3B ';'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x20,0x00,0x00,0x00,0x20,0x20,0x20,0x40,0x00,
-
- 9, // 0x3C '<'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0x00,0x0C,0x00,0x30,0x00,0x40,0x00,0x30,0x00,0x0C,0x00,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 9, // 0x3D '='
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7F,0x00,0x00,0x00,0x00,0x00,0x7F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 9, // 0x3E '>'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x60,0x00,0x18,0x00,0x06,0x00,0x01,0x00,0x06,0x00,0x18,0x00,0x60,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 7, // 0x3F '?'
- 0x00,0x00,0x00,0x00,0x38,0x44,0x04,0x08,0x10,0x10,0x00,0x10,0x10,0x00,0x00,0x00,
-
- 13, // 0x40 '@'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0x80,0x10,0x40,0x27,0xA0,0x48,0x90,0x48,0x90,0x48,0x90,0x48,0x90,0x48,0x90,0x27,0xE0,0x10,0x00,0x0F,0x80,0x00,0x00,
-
- 9, // 0x41 'A'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x08,0x00,0x08,0x00,0x14,0x00,0x14,0x00,0x22,0x00,0x22,0x00,0x3E,0x00,0x41,0x00,0x41,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 8, // 0x42 'B'
- 0x00,0x00,0x00,0x00,0x78,0x44,0x44,0x44,0x7C,0x42,0x42,0x42,0x7C,0x00,0x00,0x00,
-
- 9, // 0x43 'C'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1E,0x00,0x21,0x00,0x40,0x00,0x40,0x00,0x40,0x00,0x40,0x00,0x40,0x00,0x21,0x00,0x1E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 9, // 0x44 'D'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7C,0x00,0x42,0x00,0x41,0x00,0x41,0x00,0x41,0x00,0x41,0x00,0x41,0x00,0x42,0x00,0x7C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 8, // 0x45 'E'
- 0x00,0x00,0x00,0x00,0x7E,0x40,0x40,0x40,0x7E,0x40,0x40,0x40,0x7E,0x00,0x00,0x00,
-
- 8, // 0x46 'F'
- 0x00,0x00,0x00,0x00,0x7E,0x40,0x40,0x40,0x7C,0x40,0x40,0x40,0x40,0x00,0x00,0x00,
-
- 9, // 0x47 'G'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1E,0x00,0x21,0x00,0x40,0x00,0x40,0x00,0x40,0x00,0x47,0x00,0x41,0x00,0x21,0x00,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 9, // 0x48 'H'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x41,0x00,0x41,0x00,0x41,0x00,0x41,0x00,0x7F,0x00,0x41,0x00,0x41,0x00,0x41,0x00,0x41,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 5, // 0x49 'I'
- 0x00,0x00,0x00,0x00,0x70,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x70,0x00,0x00,0x00,
-
- 6, // 0x4A 'J'
- 0x00,0x00,0x00,0x00,0x38,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0xF0,0x00,0x00,0x00,
-
- 8, // 0x4B 'K'
- 0x00,0x00,0x00,0x00,0x42,0x44,0x48,0x50,0x60,0x50,0x48,0x44,0x42,0x00,0x00,0x00,
-
- 7, // 0x4C 'L'
- 0x00,0x00,0x00,0x00,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x7E,0x00,0x00,0x00,
-
- 11, // 0x4D 'M'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x60,0xC0,0x60,0xC0,0x51,0x40,0x51,0x40,0x4A,0x40,0x4A,0x40,0x44,0x40,0x44,0x40,0x40,0x40,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 9, // 0x4E 'N'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x61,0x00,0x61,0x00,0x51,0x00,0x51,0x00,0x49,0x00,0x45,0x00,0x45,0x00,0x43,0x00,0x43,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 10, // 0x4F 'O'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1E,0x00,0x21,0x00,0x40,0x80,0x40,0x80,0x40,0x80,0x40,0x80,0x40,0x80,0x21,0x00,0x1E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 8, // 0x50 'P'
- 0x00,0x00,0x00,0x00,0x7C,0x42,0x42,0x42,0x42,0x7C,0x40,0x40,0x40,0x00,0x00,0x00,
-
- 10, // 0x51 'Q'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1E,0x00,0x21,0x00,0x40,0x80,0x40,0x80,0x40,0x80,0x40,0x80,0x40,0x80,0x21,0x00,0x1E,0x00,0x02,0x00,0x01,0x80,0x00,0x00,
-
- 9, // 0x52 'R'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7C,0x00,0x42,0x00,0x42,0x00,0x42,0x00,0x44,0x00,0x78,0x00,0x44,0x00,0x42,0x00,0x41,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 9, // 0x53 'S'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3E,0x00,0x41,0x00,0x40,0x00,0x40,0x00,0x3E,0x00,0x01,0x00,0x01,0x00,0x41,0x00,0x3E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 9, // 0x54 'T'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7F,0x00,0x08,0x00,0x08,0x00,0x08,0x00,0x08,0x00,0x08,0x00,0x08,0x00,0x08,0x00,0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 9, // 0x55 'U'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x41,0x00,0x41,0x00,0x41,0x00,0x41,0x00,0x41,0x00,0x41,0x00,0x41,0x00,0x22,0x00,0x1C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 9, // 0x56 'V'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x41,0x00,0x41,0x00,0x41,0x00,0x22,0x00,0x22,0x00,0x14,0x00,0x14,0x00,0x08,0x00,0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 13, // 0x57 'W'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x42,0x10,0x42,0x10,0x45,0x10,0x45,0x10,0x25,0x20,0x28,0xA0,0x28,0xA0,0x10,0x40,0x10,0x40,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 9, // 0x58 'X'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x41,0x00,0x41,0x00,0x22,0x00,0x14,0x00,0x08,0x00,0x14,0x00,0x22,0x00,0x41,0x00,0x41,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 9, // 0x59 'Y'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x41,0x00,0x22,0x00,0x22,0x00,0x14,0x00,0x14,0x00,0x08,0x00,0x08,0x00,0x08,0x00,0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 9, // 0x5A 'Z'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7F,0x00,0x01,0x00,0x02,0x00,0x04,0x00,0x08,0x00,0x10,0x00,0x20,0x00,0x40,0x00,0x7F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 6, // 0x5B '['
- 0x00,0x00,0x00,0x38,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x38,0x00,
-
- 6, // 0x5C '\'
- 0x00,0x00,0x00,0x80,0x80,0x40,0x40,0x20,0x20,0x10,0x10,0x08,0x08,0x04,0x04,0x00,
-
- 6, // 0x5D ']'
- 0x00,0x00,0x00,0x70,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x70,0x00,
-
- 11, // 0x5E '^'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x04,0x00,0x0A,0x00,0x11,0x00,0x20,0x80,0x40,0x40,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 8, // 0x5F '_'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0x00,
-
- 8, // 0x60 '`'
- 0x00,0x00,0x00,0x10,0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 8, // 0x61 'a'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x3C,0x02,0x02,0x3E,0x42,0x42,0x3E,0x00,0x00,0x00,
-
- 8, // 0x62 'b'
- 0x00,0x00,0x00,0x40,0x40,0x40,0x5C,0x62,0x42,0x42,0x42,0x42,0x7C,0x00,0x00,0x00,
-
- 8, // 0x63 'c'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x3C,0x42,0x40,0x40,0x40,0x42,0x3C,0x00,0x00,0x00,
-
- 8, // 0x64 'd'
- 0x00,0x00,0x00,0x02,0x02,0x02,0x3E,0x42,0x42,0x42,0x42,0x46,0x3A,0x00,0x00,0x00,
-
- 8, // 0x65 'e'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x3C,0x42,0x42,0x7E,0x40,0x42,0x3C,0x00,0x00,0x00,
-
- 6, // 0x66 'f'
- 0x00,0x00,0x00,0x1C,0x20,0x20,0x78,0x20,0x20,0x20,0x20,0x20,0x20,0x00,0x00,0x00,
-
- 8, // 0x67 'g'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x3E,0x42,0x42,0x42,0x42,0x46,0x3A,0x02,0x02,0x3C,
-
- 8, // 0x68 'h'
- 0x00,0x00,0x00,0x40,0x40,0x40,0x5C,0x62,0x42,0x42,0x42,0x42,0x42,0x00,0x00,0x00,
-
- 3, // 0x69 'i'
- 0x00,0x00,0x00,0x40,0x00,0x00,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x00,0x00,0x00,
-
- 4, // 0x6A 'j'
- 0x00,0x00,0x00,0x20,0x00,0x00,0x60,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0xC0,
-
- 7, // 0x6B 'k'
- 0x00,0x00,0x00,0x40,0x40,0x40,0x44,0x48,0x50,0x60,0x50,0x48,0x44,0x00,0x00,0x00,
-
- 3, // 0x6C 'l'
- 0x00,0x00,0x00,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x00,0x00,0x00,
-
- 11, // 0x6D 'm'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x59,0x80,0x66,0x40,0x44,0x40,0x44,0x40,0x44,0x40,0x44,0x40,0x44,0x40,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 8, // 0x6E 'n'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x5C,0x62,0x42,0x42,0x42,0x42,0x42,0x00,0x00,0x00,
-
- 8, // 0x6F 'o'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x3C,0x42,0x42,0x42,0x42,0x42,0x3C,0x00,0x00,0x00,
-
- 8, // 0x70 'p'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x5C,0x62,0x42,0x42,0x42,0x42,0x7C,0x40,0x40,0x40,
-
- 8, // 0x71 'q'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x3E,0x42,0x42,0x42,0x42,0x46,0x3A,0x02,0x02,0x02,
-
- 5, // 0x72 'r'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x58,0x60,0x40,0x40,0x40,0x40,0x40,0x00,0x00,0x00,
-
- 7, // 0x73 's'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x3C,0x40,0x40,0x38,0x04,0x04,0x78,0x00,0x00,0x00,
-
- 6, // 0x74 't'
- 0x00,0x00,0x00,0x00,0x20,0x20,0x78,0x20,0x20,0x20,0x20,0x20,0x18,0x00,0x00,0x00,
-
- 8, // 0x75 'u'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x42,0x42,0x42,0x42,0x42,0x46,0x3A,0x00,0x00,0x00,
-
- 8, // 0x76 'v'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x42,0x42,0x24,0x24,0x24,0x18,0x18,0x00,0x00,0x00,
-
- 11, // 0x77 'w'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x44,0x40,0x44,0x40,0x2A,0x80,0x2A,0x80,0x2A,0x80,0x11,0x00,0x11,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 7, // 0x78 'x'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x44,0x44,0x28,0x10,0x28,0x44,0x44,0x00,0x00,0x00,
-
- 8, // 0x79 'y'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x42,0x42,0x24,0x24,0x24,0x18,0x18,0x10,0x10,0x20,
-
- 7, // 0x7A 'z'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x7C,0x04,0x08,0x10,0x20,0x40,0x7C,0x00,0x00,0x00,
-
- 8, // 0x7B '{'
- 0x00,0x00,0x00,0x0C,0x10,0x10,0x10,0x10,0x60,0x10,0x10,0x10,0x10,0x10,0x0C,0x00,
-
- 7, // 0x7C '|'
- 0x00,0x00,0x00,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x00,
-
- 8, // 0x7D '}'
- 0x00,0x00,0x00,0x30,0x08,0x08,0x08,0x08,0x06,0x08,0x08,0x08,0x08,0x08,0x30,0x00,
-
- 11, // 0x7E '~'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x80,0x4C,0x80,0x43,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 13, // 0x7F ''
- 0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0xF0,0x20,0x10,0x20,0x10,0x20,0x10,0x20,0x10,0x20,0x10,0x20,0x10,0x20,0x10,0x20,0x10,0x3F,0xF0,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 0
- };
-
- const int8u verdana16_bold[] =
- {
- 16, 4, 32, 128-32,
- 0x00,0x00,0x11,0x00,0x22,0x00,0x33,0x00,0x54,0x00,0x75,0x00,0xA6,0x00,0xC7,0x00,0xD8,0x00,
- 0xE9,0x00,0xFA,0x00,0x1B,0x01,0x3C,0x01,0x4D,0x01,0x5E,0x01,0x6F,0x01,0x90,0x01,0xB1,0x01,
- 0xD2,0x01,0xF3,0x01,0x14,0x02,0x35,0x02,0x56,0x02,0x77,0x02,0x98,0x02,0xB9,0x02,0xDA,0x02,
- 0xEB,0x02,0xFC,0x02,0x1D,0x03,0x3E,0x03,0x5F,0x03,0x70,0x03,0x91,0x03,0xB2,0x03,0xD3,0x03,
- 0xF4,0x03,0x15,0x04,0x36,0x04,0x57,0x04,0x78,0x04,0x99,0x04,0xAA,0x04,0xBB,0x04,0xDC,0x04,
- 0xED,0x04,0x0E,0x05,0x2F,0x05,0x50,0x05,0x71,0x05,0x92,0x05,0xB3,0x05,0xD4,0x05,0xE5,0x05,
- 0x06,0x06,0x27,0x06,0x48,0x06,0x69,0x06,0x8A,0x06,0xAB,0x06,0xBC,0x06,0xDD,0x06,0xEE,0x06,
- 0x0F,0x07,0x30,0x07,0x51,0x07,0x72,0x07,0x93,0x07,0xA4,0x07,0xC5,0x07,0xE6,0x07,0xF7,0x07,
- 0x18,0x08,0x39,0x08,0x4A,0x08,0x5B,0x08,0x6C,0x08,0x7D,0x08,0x9E,0x08,0xBF,0x08,0xE0,0x08,
- 0x01,0x09,0x22,0x09,0x33,0x09,0x44,0x09,0x55,0x09,0x76,0x09,0x97,0x09,0xB8,0x09,0xD9,0x09,
- 0xFA,0x09,0x0B,0x0A,0x2C,0x0A,0x3D,0x0A,0x5E,0x0A,0x7F,0x0A,
-
- 4, // 0x20 ' '
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 6, // 0x21 '!'
- 0x00,0x00,0x00,0x00,0x30,0x30,0x30,0x30,0x30,0x30,0x00,0x30,0x30,0x00,0x00,0x00,
-
- 7, // 0x22 '"'
- 0x00,0x00,0x00,0x6C,0x6C,0x6C,0x6C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 11, // 0x23 '#'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x09,0x00,0x09,0x00,0x3F,0x80,0x3F,0x80,0x12,0x00,0x7F,0x00,0x7F,0x00,0x24,0x00,0x24,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 9, // 0x24 '$'
- 0x00,0x00,0x00,0x00,0x08,0x00,0x08,0x00,0x3E,0x00,0x69,0x00,0x68,0x00,0x78,0x00,0x3E,0x00,0x0F,0x00,0x0B,0x00,0x4B,0x00,0x3E,0x00,0x08,0x00,0x08,0x00,0x00,0x00,
-
- 17, // 0x25 '%'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3C,0x20,0x00,0x66,0x20,0x00,0x66,0x40,0x00,0x66,0x5E,0x00,0x66,0xB3,0x00,0x3D,0x33,0x00,0x01,0x33,0x00,0x02,0x33,0x00,0x02,0x1E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 11, // 0x26 '&'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3C,0x00,0x66,0x00,0x66,0x00,0x66,0xC0,0x3C,0xC0,0x66,0x80,0x63,0x00,0x63,0x80,0x3C,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 4, // 0x27 '''
- 0x00,0x00,0x00,0x60,0x60,0x60,0x60,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 7, // 0x28 '('
- 0x00,0x00,0x00,0x0C,0x18,0x30,0x30,0x60,0x60,0x60,0x60,0x60,0x30,0x30,0x18,0x0C,
-
- 7, // 0x29 ')'
- 0x00,0x00,0x00,0x60,0x30,0x18,0x18,0x0C,0x0C,0x0C,0x0C,0x0C,0x18,0x18,0x30,0x60,
-
- 9, // 0x2A '*'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x08,0x00,0x49,0x00,0x2A,0x00,0x1C,0x00,0x2A,0x00,0x49,0x00,0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 11, // 0x2B '+'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x04,0x00,0x04,0x00,0x04,0x00,0x3F,0x80,0x04,0x00,0x04,0x00,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 5, // 0x2C ','
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x70,0x60,0x60,0xC0,0xC0,
-
- 7, // 0x2D '-'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 5, // 0x2E '.'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x30,0x00,0x00,0x00,
-
- 9, // 0x2F '/'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x03,0x00,0x03,0x00,0x06,0x00,0x06,0x00,0x0C,0x00,0x0C,0x00,0x18,0x00,0x18,0x00,0x30,0x00,0x30,0x00,0x60,0x00,0x60,0x00,0x00,0x00,
-
- 9, // 0x30 '0'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3E,0x00,0x63,0x00,0x63,0x00,0x63,0x00,0x63,0x00,0x63,0x00,0x63,0x00,0x63,0x00,0x3E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 9, // 0x31 '1'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0C,0x00,0x3C,0x00,0x0C,0x00,0x0C,0x00,0x0C,0x00,0x0C,0x00,0x0C,0x00,0x0C,0x00,0x3F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 9, // 0x32 '2'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3E,0x00,0x63,0x00,0x63,0x00,0x03,0x00,0x06,0x00,0x0C,0x00,0x18,0x00,0x30,0x00,0x7F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 9, // 0x33 '3'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3E,0x00,0x63,0x00,0x63,0x00,0x03,0x00,0x0E,0x00,0x03,0x00,0x63,0x00,0x63,0x00,0x3E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 9, // 0x34 '4'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x06,0x00,0x0E,0x00,0x16,0x00,0x26,0x00,0x46,0x00,0x7F,0x80,0x06,0x00,0x06,0x00,0x06,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 9, // 0x35 '5'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0x00,0x30,0x00,0x30,0x00,0x3E,0x00,0x03,0x00,0x03,0x00,0x63,0x00,0x63,0x00,0x3E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 9, // 0x36 '6'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1E,0x00,0x30,0x00,0x60,0x00,0x7E,0x00,0x63,0x00,0x63,0x00,0x63,0x00,0x63,0x00,0x3E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 9, // 0x37 '7'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7F,0x00,0x03,0x00,0x03,0x00,0x06,0x00,0x06,0x00,0x0C,0x00,0x0C,0x00,0x18,0x00,0x18,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 9, // 0x38 '8'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3E,0x00,0x63,0x00,0x63,0x00,0x63,0x00,0x3E,0x00,0x63,0x00,0x63,0x00,0x63,0x00,0x3E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 9, // 0x39 '9'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3E,0x00,0x63,0x00,0x63,0x00,0x63,0x00,0x63,0x00,0x3F,0x00,0x03,0x00,0x06,0x00,0x3C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 5, // 0x3A ':'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x30,0x00,0x00,0x00,0x30,0x30,0x00,0x00,0x00,
-
- 5, // 0x3B ';'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x30,0x00,0x00,0x00,0x38,0x30,0x30,0x60,0x60,
-
- 11, // 0x3C '<'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x03,0x00,0x0C,0x00,0x30,0x00,0x40,0x00,0x30,0x00,0x0C,0x00,0x03,0x00,0x00,0x80,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 11, // 0x3D '='
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0x80,0x00,0x00,0x00,0x00,0x3F,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 11, // 0x3E '>'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x00,0x18,0x00,0x06,0x00,0x01,0x80,0x00,0x40,0x01,0x80,0x06,0x00,0x18,0x00,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 8, // 0x3F '?'
- 0x00,0x00,0x00,0x00,0x3C,0x66,0x06,0x0C,0x18,0x18,0x00,0x18,0x18,0x00,0x00,0x00,
-
- 13, // 0x40 '@'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0x80,0x30,0x60,0x27,0xA0,0x4D,0x90,0x4D,0x90,0x4D,0x90,0x4D,0x90,0x27,0xE0,0x30,0x00,0x0F,0x80,0x00,0x00,0x00,0x00,
-
- 10, // 0x41 'A'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0C,0x00,0x0C,0x00,0x1E,0x00,0x1E,0x00,0x33,0x00,0x33,0x00,0x7F,0x80,0x61,0x80,0x61,0x80,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 10, // 0x42 'B'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7E,0x00,0x63,0x00,0x63,0x00,0x63,0x00,0x7F,0x00,0x61,0x80,0x61,0x80,0x61,0x80,0x7F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 10, // 0x43 'C'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1F,0x00,0x31,0x80,0x61,0x80,0x60,0x00,0x60,0x00,0x60,0x00,0x61,0x80,0x31,0x80,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 10, // 0x44 'D'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7E,0x00,0x63,0x00,0x61,0x80,0x61,0x80,0x61,0x80,0x61,0x80,0x61,0x80,0x63,0x00,0x7E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 9, // 0x45 'E'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7F,0x00,0x60,0x00,0x60,0x00,0x60,0x00,0x7F,0x00,0x60,0x00,0x60,0x00,0x60,0x00,0x7F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 9, // 0x46 'F'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7F,0x00,0x60,0x00,0x60,0x00,0x60,0x00,0x7F,0x00,0x60,0x00,0x60,0x00,0x60,0x00,0x60,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 10, // 0x47 'G'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1F,0x00,0x31,0x80,0x61,0x80,0x60,0x00,0x60,0x00,0x63,0x80,0x61,0x80,0x31,0x80,0x1F,0x80,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 11, // 0x48 'H'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x60,0xC0,0x60,0xC0,0x60,0xC0,0x60,0xC0,0x7F,0xC0,0x60,0xC0,0x60,0xC0,0x60,0xC0,0x60,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 6, // 0x49 'I'
- 0x00,0x00,0x00,0x00,0x78,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x78,0x00,0x00,0x00,
-
- 7, // 0x4A 'J'
- 0x00,0x00,0x00,0x00,0x7C,0x0C,0x0C,0x0C,0x0C,0x0C,0x0C,0x0C,0xF8,0x00,0x00,0x00,
-
- 9, // 0x4B 'K'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x63,0x00,0x66,0x00,0x6C,0x00,0x78,0x00,0x78,0x00,0x6C,0x00,0x66,0x00,0x63,0x00,0x61,0x80,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 8, // 0x4C 'L'
- 0x00,0x00,0x00,0x00,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x7F,0x00,0x00,0x00,
-
- 12, // 0x4D 'M'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x70,0xE0,0x70,0xE0,0x59,0x60,0x59,0x60,0x4E,0x60,0x4E,0x60,0x44,0x60,0x44,0x60,0x40,0x60,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 10, // 0x4E 'N'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x70,0x80,0x70,0x80,0x58,0x80,0x58,0x80,0x4C,0x80,0x46,0x80,0x46,0x80,0x43,0x80,0x43,0x80,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 11, // 0x4F 'O'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1F,0x00,0x31,0x80,0x60,0xC0,0x60,0xC0,0x60,0xC0,0x60,0xC0,0x60,0xC0,0x31,0x80,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 9, // 0x50 'P'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7E,0x00,0x63,0x00,0x63,0x00,0x63,0x00,0x63,0x00,0x7E,0x00,0x60,0x00,0x60,0x00,0x60,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 11, // 0x51 'Q'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1F,0x00,0x31,0x80,0x60,0xC0,0x60,0xC0,0x60,0xC0,0x60,0xC0,0x60,0xC0,0x31,0x80,0x1F,0x00,0x03,0x00,0x01,0xC0,0x00,0x00,
-
- 9, // 0x52 'R'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7E,0x00,0x63,0x00,0x63,0x00,0x63,0x00,0x7E,0x00,0x6C,0x00,0x66,0x00,0x63,0x00,0x61,0x80,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 9, // 0x53 'S'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3E,0x00,0x63,0x00,0x63,0x00,0x70,0x00,0x3E,0x00,0x07,0x00,0x63,0x00,0x63,0x00,0x3E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 8, // 0x54 'T'
- 0x00,0x00,0x00,0x00,0xFF,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x00,0x00,0x00,
-
- 10, // 0x55 'U'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x61,0x80,0x61,0x80,0x61,0x80,0x61,0x80,0x61,0x80,0x61,0x80,0x61,0x80,0x61,0x80,0x3F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 10, // 0x56 'V'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x61,0x80,0x61,0x80,0x61,0x80,0x33,0x00,0x33,0x00,0x1E,0x00,0x1E,0x00,0x0C,0x00,0x0C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 14, // 0x57 'W'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x63,0x18,0x63,0x18,0x63,0x18,0x33,0x30,0x37,0xB0,0x34,0xB0,0x1C,0xE0,0x18,0x60,0x18,0x60,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 10, // 0x58 'X'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x61,0x80,0x33,0x00,0x33,0x00,0x1E,0x00,0x0C,0x00,0x1E,0x00,0x33,0x00,0x33,0x00,0x61,0x80,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 10, // 0x59 'Y'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x61,0x80,0x61,0x80,0x33,0x00,0x1E,0x00,0x0C,0x00,0x0C,0x00,0x0C,0x00,0x0C,0x00,0x0C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 9, // 0x5A 'Z'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7F,0x00,0x06,0x00,0x0C,0x00,0x0C,0x00,0x18,0x00,0x18,0x00,0x30,0x00,0x30,0x00,0x7F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 6, // 0x5B '['
- 0x00,0x00,0x00,0x78,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x78,0x00,
-
- 9, // 0x5C '\'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x60,0x00,0x60,0x00,0x30,0x00,0x30,0x00,0x18,0x00,0x18,0x00,0x0C,0x00,0x0C,0x00,0x06,0x00,0x06,0x00,0x03,0x00,0x03,0x00,0x00,0x00,
-
- 6, // 0x5D ']'
- 0x00,0x00,0x00,0x78,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x78,0x00,
-
- 10, // 0x5E '^'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0C,0x00,0x1E,0x00,0x33,0x00,0x61,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 9, // 0x5F '_'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0x80,0x00,0x00,
-
- 9, // 0x60 '`'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x00,0x18,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 9, // 0x61 'a'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3E,0x00,0x03,0x00,0x3F,0x00,0x63,0x00,0x63,0x00,0x63,0x00,0x3F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 9, // 0x62 'b'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x60,0x00,0x60,0x00,0x60,0x00,0x6E,0x00,0x73,0x00,0x63,0x00,0x63,0x00,0x63,0x00,0x63,0x00,0x7E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 8, // 0x63 'c'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x3E,0x63,0x60,0x60,0x60,0x63,0x3E,0x00,0x00,0x00,
-
- 9, // 0x64 'd'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x03,0x00,0x03,0x00,0x03,0x00,0x3F,0x00,0x63,0x00,0x63,0x00,0x63,0x00,0x63,0x00,0x67,0x00,0x3B,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 9, // 0x65 'e'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3E,0x00,0x63,0x00,0x63,0x00,0x7F,0x00,0x60,0x00,0x63,0x00,0x3E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 5, // 0x66 'f'
- 0x00,0x00,0x00,0x38,0x60,0x60,0xF8,0x60,0x60,0x60,0x60,0x60,0x60,0x00,0x00,0x00,
-
- 9, // 0x67 'g'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0x00,0x63,0x00,0x63,0x00,0x63,0x00,0x63,0x00,0x67,0x00,0x3B,0x00,0x03,0x00,0x03,0x00,0x3E,0x00,
-
- 9, // 0x68 'h'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x60,0x00,0x60,0x00,0x60,0x00,0x6E,0x00,0x73,0x00,0x63,0x00,0x63,0x00,0x63,0x00,0x63,0x00,0x63,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 4, // 0x69 'i'
- 0x00,0x00,0x00,0x60,0x60,0x00,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x00,0x00,0x00,
-
- 5, // 0x6A 'j'
- 0x00,0x00,0x00,0x30,0x30,0x00,0x70,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0xE0,
-
- 8, // 0x6B 'k'
- 0x00,0x00,0x00,0x60,0x60,0x60,0x66,0x6C,0x78,0x78,0x6C,0x66,0x63,0x00,0x00,0x00,
-
- 4, // 0x6C 'l'
- 0x00,0x00,0x00,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x00,0x00,0x00,
-
- 14, // 0x6D 'm'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x6E,0x70,0x73,0x98,0x63,0x18,0x63,0x18,0x63,0x18,0x63,0x18,0x63,0x18,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 9, // 0x6E 'n'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x6E,0x00,0x73,0x00,0x63,0x00,0x63,0x00,0x63,0x00,0x63,0x00,0x63,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 9, // 0x6F 'o'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3E,0x00,0x63,0x00,0x63,0x00,0x63,0x00,0x63,0x00,0x63,0x00,0x3E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 9, // 0x70 'p'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x6E,0x00,0x73,0x00,0x63,0x00,0x63,0x00,0x63,0x00,0x63,0x00,0x7E,0x00,0x60,0x00,0x60,0x00,0x60,0x00,
-
- 9, // 0x71 'q'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0x00,0x63,0x00,0x63,0x00,0x63,0x00,0x63,0x00,0x67,0x00,0x3B,0x00,0x03,0x00,0x03,0x00,0x03,0x00,
-
- 6, // 0x72 'r'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x6C,0x7C,0x60,0x60,0x60,0x60,0x60,0x00,0x00,0x00,
-
- 8, // 0x73 's'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x3E,0x60,0x70,0x3C,0x0E,0x06,0x7C,0x00,0x00,0x00,
-
- 6, // 0x74 't'
- 0x00,0x00,0x00,0x00,0x60,0x60,0xF8,0x60,0x60,0x60,0x60,0x60,0x38,0x00,0x00,0x00,
-
- 9, // 0x75 'u'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x63,0x00,0x63,0x00,0x63,0x00,0x63,0x00,0x63,0x00,0x67,0x00,0x3B,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 9, // 0x76 'v'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x63,0x00,0x63,0x00,0x63,0x00,0x36,0x00,0x36,0x00,0x1C,0x00,0x1C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 12, // 0x77 'w'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x66,0x60,0x66,0x60,0x66,0x60,0x69,0x60,0x39,0xC0,0x30,0xC0,0x30,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 9, // 0x78 'x'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x63,0x00,0x63,0x00,0x36,0x00,0x1C,0x00,0x36,0x00,0x63,0x00,0x63,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 9, // 0x79 'y'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x63,0x00,0x63,0x00,0x63,0x00,0x36,0x00,0x36,0x00,0x1C,0x00,0x1C,0x00,0x0C,0x00,0x18,0x00,0x18,0x00,
-
- 8, // 0x7A 'z'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x7E,0x06,0x0C,0x18,0x30,0x60,0x7E,0x00,0x00,0x00,
-
- 9, // 0x7B '{'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x07,0x00,0x0C,0x00,0x0C,0x00,0x0C,0x00,0x18,0x00,0x70,0x00,0x18,0x00,0x0C,0x00,0x0C,0x00,0x0C,0x00,0x0C,0x00,0x07,0x00,0x00,0x00,
-
- 8, // 0x7C '|'
- 0x00,0x00,0x00,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x00,
-
- 9, // 0x7D '}'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x70,0x00,0x18,0x00,0x18,0x00,0x18,0x00,0x0C,0x00,0x07,0x00,0x0C,0x00,0x18,0x00,0x18,0x00,0x18,0x00,0x18,0x00,0x70,0x00,0x00,0x00,
-
- 11, // 0x7E '~'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x38,0x40,0x44,0x40,0x44,0x40,0x43,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 13, // 0x7F ''
- 0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0xF0,0x20,0x10,0x20,0x10,0x20,0x10,0x20,0x10,0x20,0x10,0x20,0x10,0x20,0x10,0x20,0x10,0x3F,0xF0,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 0
- };
-
- const int8u verdana17[] =
- {
- 17, 4, 32, 128-32,
- 0x00,0x00,0x12,0x00,0x24,0x00,0x36,0x00,0x59,0x00,0x7C,0x00,0x9F,0x00,0xC2,0x00,0xD4,0x00,
- 0xE6,0x00,0xF8,0x00,0x1B,0x01,0x3E,0x01,0x50,0x01,0x62,0x01,0x74,0x01,0x86,0x01,0xA9,0x01,
- 0xCC,0x01,0xEF,0x01,0x12,0x02,0x35,0x02,0x58,0x02,0x7B,0x02,0x9E,0x02,0xC1,0x02,0xE4,0x02,
- 0xF6,0x02,0x08,0x03,0x2B,0x03,0x4E,0x03,0x71,0x03,0x83,0x03,0xA6,0x03,0xC9,0x03,0xEC,0x03,
- 0x0F,0x04,0x32,0x04,0x55,0x04,0x67,0x04,0x8A,0x04,0xAD,0x04,0xBF,0x04,0xD1,0x04,0xF4,0x04,
- 0x06,0x05,0x29,0x05,0x4C,0x05,0x6F,0x05,0x81,0x05,0xA4,0x05,0xC7,0x05,0xEA,0x05,0x0D,0x06,
- 0x30,0x06,0x53,0x06,0x76,0x06,0x99,0x06,0xBC,0x06,0xDF,0x06,0xF1,0x06,0x03,0x07,0x15,0x07,
- 0x38,0x07,0x5B,0x07,0x7E,0x07,0x90,0x07,0xB3,0x07,0xC5,0x07,0xE8,0x07,0xFA,0x07,0x0C,0x08,
- 0x2F,0x08,0x52,0x08,0x64,0x08,0x76,0x08,0x88,0x08,0x9A,0x08,0xBD,0x08,0xE0,0x08,0x03,0x09,
- 0x26,0x09,0x49,0x09,0x5B,0x09,0x6D,0x09,0x7F,0x09,0xA2,0x09,0xB4,0x09,0xD7,0x09,0xFA,0x09,
- 0x0C,0x0A,0x1E,0x0A,0x41,0x0A,0x53,0x0A,0x76,0x0A,0x99,0x0A,
-
- 5, // 0x20 ' '
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 6, // 0x21 '!'
- 0x00,0x00,0x00,0x00,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x00,0x20,0x20,0x00,0x00,0x00,
-
- 6, // 0x22 '"'
- 0x00,0x00,0x00,0x48,0x48,0x48,0x48,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 11, // 0x23 '#'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x04,0x80,0x04,0x80,0x09,0x00,0x3F,0xC0,0x09,0x00,0x12,0x00,0x7F,0x80,0x12,0x00,0x24,0x00,0x24,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 9, // 0x24 '$'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x08,0x00,0x08,0x00,0x3E,0x00,0x49,0x00,0x48,0x00,0x48,0x00,0x3E,0x00,0x09,0x00,0x09,0x00,0x49,0x00,0x3E,0x00,0x08,0x00,0x08,0x00,0x00,0x00,
-
- 15, // 0x25 '%'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x38,0x20,0x44,0x40,0x44,0x80,0x44,0x80,0x45,0x38,0x39,0x44,0x02,0x44,0x04,0x44,0x04,0x44,0x08,0x38,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 11, // 0x26 '&'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3C,0x00,0x42,0x00,0x42,0x00,0x44,0x00,0x38,0x80,0x44,0x80,0x42,0x80,0x41,0x00,0x22,0x80,0x1C,0x40,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 4, // 0x27 '''
- 0x00,0x00,0x00,0x40,0x40,0x40,0x40,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 6, // 0x28 '('
- 0x00,0x00,0x00,0x08,0x10,0x20,0x20,0x40,0x40,0x40,0x40,0x40,0x40,0x20,0x20,0x10,0x08,
-
- 6, // 0x29 ')'
- 0x00,0x00,0x00,0x40,0x20,0x10,0x10,0x08,0x08,0x08,0x08,0x08,0x08,0x10,0x10,0x20,0x40,
-
- 9, // 0x2A '*'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x08,0x00,0x49,0x00,0x2A,0x00,0x1C,0x00,0x2A,0x00,0x49,0x00,0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 11, // 0x2B '+'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x04,0x00,0x04,0x00,0x04,0x00,0x04,0x00,0x7F,0xC0,0x04,0x00,0x04,0x00,0x04,0x00,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 5, // 0x2C ','
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x20,0x20,0x40,0x00,
-
- 7, // 0x2D '-'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 5, // 0x2E '.'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x20,0x00,0x00,0x00,
-
- 6, // 0x2F '/'
- 0x00,0x00,0x00,0x04,0x08,0x08,0x08,0x10,0x10,0x20,0x20,0x20,0x40,0x40,0x80,0x80,0x00,
-
- 9, // 0x30 '0'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1C,0x00,0x22,0x00,0x41,0x00,0x41,0x00,0x41,0x00,0x41,0x00,0x41,0x00,0x41,0x00,0x22,0x00,0x1C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 9, // 0x31 '1'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x08,0x00,0x38,0x00,0x08,0x00,0x08,0x00,0x08,0x00,0x08,0x00,0x08,0x00,0x08,0x00,0x08,0x00,0x3E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 9, // 0x32 '2'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3E,0x00,0x41,0x00,0x01,0x00,0x01,0x00,0x02,0x00,0x0C,0x00,0x10,0x00,0x20,0x00,0x40,0x00,0x7F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 9, // 0x33 '3'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3E,0x00,0x41,0x00,0x01,0x00,0x02,0x00,0x1C,0x00,0x02,0x00,0x01,0x00,0x01,0x00,0x42,0x00,0x3C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 9, // 0x34 '4'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x02,0x00,0x06,0x00,0x0A,0x00,0x12,0x00,0x22,0x00,0x42,0x00,0x7F,0x80,0x02,0x00,0x02,0x00,0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 9, // 0x35 '5'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7F,0x00,0x40,0x00,0x40,0x00,0x40,0x00,0x7C,0x00,0x02,0x00,0x01,0x00,0x01,0x00,0x42,0x00,0x3C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 9, // 0x36 '6'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0E,0x00,0x30,0x00,0x20,0x00,0x40,0x00,0x7C,0x00,0x42,0x00,0x41,0x00,0x41,0x00,0x22,0x00,0x1C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 9, // 0x37 '7'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7F,0x00,0x01,0x00,0x02,0x00,0x02,0x00,0x04,0x00,0x04,0x00,0x08,0x00,0x10,0x00,0x10,0x00,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 9, // 0x38 '8'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3E,0x00,0x41,0x00,0x41,0x00,0x41,0x00,0x3E,0x00,0x41,0x00,0x41,0x00,0x41,0x00,0x41,0x00,0x3E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 9, // 0x39 '9'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1C,0x00,0x22,0x00,0x41,0x00,0x41,0x00,0x21,0x00,0x1F,0x00,0x01,0x00,0x02,0x00,0x06,0x00,0x38,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 6, // 0x3A ':'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x20,0x00,0x00,0x00,0x00,0x20,0x20,0x00,0x00,0x00,
-
- 6, // 0x3B ';'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x20,0x00,0x00,0x00,0x00,0x20,0x20,0x20,0x40,0x00,
-
- 11, // 0x3C '<'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x80,0x06,0x00,0x18,0x00,0x60,0x00,0x60,0x00,0x18,0x00,0x06,0x00,0x01,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 11, // 0x3D '='
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0xC0,0x00,0x00,0x00,0x00,0x3F,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 11, // 0x3E '>'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x00,0x0C,0x00,0x03,0x00,0x00,0xC0,0x00,0xC0,0x03,0x00,0x0C,0x00,0x30,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 8, // 0x3F '?'
- 0x00,0x00,0x00,0x00,0x3C,0x42,0x02,0x02,0x0C,0x10,0x10,0x00,0x10,0x10,0x00,0x00,0x00,
-
- 14, // 0x40 '@'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0xC0,0x18,0x20,0x20,0x10,0x27,0xC8,0x48,0x48,0x48,0x48,0x48,0x48,0x48,0x48,0x27,0xF0,0x20,0x00,0x18,0x00,0x07,0xC0,0x00,0x00,
-
- 10, // 0x41 'A'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0C,0x00,0x12,0x00,0x12,0x00,0x21,0x00,0x21,0x00,0x21,0x00,0x7F,0x80,0x40,0x80,0x80,0x40,0x80,0x40,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 10, // 0x42 'B'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7E,0x00,0x41,0x00,0x41,0x00,0x41,0x00,0x7E,0x00,0x41,0x00,0x40,0x80,0x40,0x80,0x41,0x00,0x7E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 10, // 0x43 'C'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0x00,0x30,0x80,0x20,0x00,0x40,0x00,0x40,0x00,0x40,0x00,0x40,0x00,0x20,0x00,0x30,0x80,0x0F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 11, // 0x44 'D'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7E,0x00,0x41,0x80,0x40,0x80,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x80,0x41,0x80,0x7E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 9, // 0x45 'E'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7F,0x00,0x40,0x00,0x40,0x00,0x40,0x00,0x7F,0x00,0x40,0x00,0x40,0x00,0x40,0x00,0x40,0x00,0x7F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 8, // 0x46 'F'
- 0x00,0x00,0x00,0x00,0x7F,0x40,0x40,0x40,0x7E,0x40,0x40,0x40,0x40,0x40,0x00,0x00,0x00,
-
- 11, // 0x47 'G'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0x00,0x30,0xC0,0x20,0x40,0x40,0x00,0x40,0x00,0x43,0xC0,0x40,0x40,0x20,0x40,0x30,0x40,0x0F,0x80,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 10, // 0x48 'H'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x40,0x80,0x40,0x80,0x40,0x80,0x40,0x80,0x7F,0x80,0x40,0x80,0x40,0x80,0x40,0x80,0x40,0x80,0x40,0x80,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 5, // 0x49 'I'
- 0x00,0x00,0x00,0x00,0x70,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x70,0x00,0x00,0x00,
-
- 6, // 0x4A 'J'
- 0x00,0x00,0x00,0x00,0x38,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0xF0,0x00,0x00,0x00,
-
- 10, // 0x4B 'K'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x41,0x00,0x42,0x00,0x44,0x00,0x48,0x00,0x50,0x00,0x68,0x00,0x44,0x00,0x42,0x00,0x41,0x00,0x40,0x80,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 8, // 0x4C 'L'
- 0x00,0x00,0x00,0x00,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x7F,0x00,0x00,0x00,
-
- 11, // 0x4D 'M'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x60,0xC0,0x60,0xC0,0x51,0x40,0x51,0x40,0x4A,0x40,0x4A,0x40,0x44,0x40,0x44,0x40,0x40,0x40,0x40,0x40,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 10, // 0x4E 'N'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x60,0x80,0x60,0x80,0x50,0x80,0x48,0x80,0x48,0x80,0x44,0x80,0x44,0x80,0x42,0x80,0x41,0x80,0x41,0x80,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 11, // 0x4F 'O'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0E,0x00,0x31,0x80,0x20,0x80,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x20,0x80,0x31,0x80,0x0E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 8, // 0x50 'P'
- 0x00,0x00,0x00,0x00,0x7C,0x42,0x41,0x41,0x42,0x7C,0x40,0x40,0x40,0x40,0x00,0x00,0x00,
-
- 11, // 0x51 'Q'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0E,0x00,0x31,0x80,0x20,0x80,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x20,0x80,0x31,0x80,0x0E,0x00,0x02,0x00,0x02,0x00,0x01,0xC0,
-
- 10, // 0x52 'R'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7C,0x00,0x42,0x00,0x42,0x00,0x42,0x00,0x44,0x00,0x78,0x00,0x44,0x00,0x42,0x00,0x41,0x00,0x40,0x80,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 10, // 0x53 'S'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1F,0x00,0x20,0x80,0x40,0x00,0x40,0x00,0x38,0x00,0x07,0x00,0x00,0x80,0x40,0x80,0x21,0x00,0x1E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 9, // 0x54 'T'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0x80,0x08,0x00,0x08,0x00,0x08,0x00,0x08,0x00,0x08,0x00,0x08,0x00,0x08,0x00,0x08,0x00,0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 10, // 0x55 'U'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x40,0x80,0x40,0x80,0x40,0x80,0x40,0x80,0x40,0x80,0x40,0x80,0x40,0x80,0x40,0x80,0x21,0x00,0x1E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 10, // 0x56 'V'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x40,0x80,0x40,0x40,0x80,0x40,0x80,0x21,0x00,0x21,0x00,0x21,0x00,0x12,0x00,0x12,0x00,0x0C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 15, // 0x57 'W'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x41,0x04,0x41,0x04,0x22,0x88,0x22,0x88,0x22,0x88,0x14,0x50,0x14,0x50,0x14,0x50,0x08,0x20,0x08,0x20,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 10, // 0x58 'X'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x40,0x80,0x21,0x00,0x12,0x00,0x12,0x00,0x0C,0x00,0x0C,0x00,0x12,0x00,0x12,0x00,0x21,0x00,0x40,0x80,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 9, // 0x59 'Y'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x80,0x41,0x00,0x22,0x00,0x22,0x00,0x14,0x00,0x08,0x00,0x08,0x00,0x08,0x00,0x08,0x00,0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 10, // 0x5A 'Z'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7F,0x80,0x00,0x80,0x01,0x00,0x02,0x00,0x04,0x00,0x08,0x00,0x10,0x00,0x20,0x00,0x40,0x00,0x7F,0x80,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 6, // 0x5B '['
- 0x00,0x00,0x00,0x3C,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x3C,
-
- 6, // 0x5C '\'
- 0x00,0x00,0x00,0x80,0x40,0x40,0x40,0x20,0x20,0x10,0x10,0x10,0x08,0x08,0x08,0x04,0x00,
-
- 6, // 0x5D ']'
- 0x00,0x00,0x00,0x78,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x78,
-
- 11, // 0x5E '^'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x04,0x00,0x0A,0x00,0x11,0x00,0x20,0x80,0x40,0x40,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 9, // 0x5F '_'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0x80,0x00,0x00,
-
- 9, // 0x60 '`'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x10,0x00,0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 8, // 0x61 'a'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x1C,0x22,0x02,0x3E,0x42,0x42,0x46,0x3A,0x00,0x00,0x00,
-
- 9, // 0x62 'b'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x40,0x00,0x40,0x00,0x40,0x00,0x5C,0x00,0x62,0x00,0x41,0x00,0x41,0x00,0x41,0x00,0x41,0x00,0x42,0x00,0x7C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 7, // 0x63 'c'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x1C,0x22,0x40,0x40,0x40,0x40,0x22,0x1C,0x00,0x00,0x00,
-
- 9, // 0x64 'd'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x1F,0x00,0x21,0x00,0x41,0x00,0x41,0x00,0x41,0x00,0x41,0x00,0x23,0x00,0x1D,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 8, // 0x65 'e'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x18,0x24,0x42,0x7E,0x40,0x40,0x22,0x1C,0x00,0x00,0x00,
-
- 6, // 0x66 'f'
- 0x00,0x00,0x00,0x1C,0x20,0x20,0x7C,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x00,0x00,0x00,
-
- 9, // 0x67 'g'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1F,0x00,0x21,0x00,0x41,0x00,0x41,0x00,0x41,0x00,0x41,0x00,0x23,0x00,0x1D,0x00,0x01,0x00,0x22,0x00,0x1C,0x00,
-
- 9, // 0x68 'h'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x40,0x00,0x40,0x00,0x40,0x00,0x5E,0x00,0x61,0x00,0x41,0x00,0x41,0x00,0x41,0x00,0x41,0x00,0x41,0x00,0x41,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 3, // 0x69 'i'
- 0x00,0x00,0x00,0x00,0x40,0x00,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x00,0x00,0x00,
-
- 5, // 0x6A 'j'
- 0x00,0x00,0x00,0x00,0x10,0x00,0x70,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0xE0,
-
- 8, // 0x6B 'k'
- 0x00,0x00,0x00,0x40,0x40,0x40,0x42,0x44,0x48,0x50,0x70,0x48,0x44,0x42,0x00,0x00,0x00,
-
- 3, // 0x6C 'l'
- 0x00,0x00,0x00,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x00,0x00,0x00,
-
- 13, // 0x6D 'm'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x5C,0xE0,0x63,0x10,0x42,0x10,0x42,0x10,0x42,0x10,0x42,0x10,0x42,0x10,0x42,0x10,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 9, // 0x6E 'n'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x5E,0x00,0x61,0x00,0x41,0x00,0x41,0x00,0x41,0x00,0x41,0x00,0x41,0x00,0x41,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 9, // 0x6F 'o'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1C,0x00,0x22,0x00,0x41,0x00,0x41,0x00,0x41,0x00,0x41,0x00,0x22,0x00,0x1C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 9, // 0x70 'p'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x5C,0x00,0x62,0x00,0x41,0x00,0x41,0x00,0x41,0x00,0x41,0x00,0x42,0x00,0x7C,0x00,0x40,0x00,0x40,0x00,0x40,0x00,
-
- 9, // 0x71 'q'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1F,0x00,0x21,0x00,0x41,0x00,0x41,0x00,0x41,0x00,0x41,0x00,0x23,0x00,0x1D,0x00,0x01,0x00,0x01,0x00,0x01,0x00,
-
- 6, // 0x72 'r'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x5C,0x60,0x40,0x40,0x40,0x40,0x40,0x40,0x00,0x00,0x00,
-
- 8, // 0x73 's'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x3C,0x42,0x40,0x30,0x0C,0x02,0x42,0x3C,0x00,0x00,0x00,
-
- 6, // 0x74 't'
- 0x00,0x00,0x00,0x00,0x20,0x20,0x7C,0x20,0x20,0x20,0x20,0x20,0x20,0x1C,0x00,0x00,0x00,
-
- 9, // 0x75 'u'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x41,0x00,0x41,0x00,0x41,0x00,0x41,0x00,0x41,0x00,0x41,0x00,0x43,0x00,0x3D,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 8, // 0x76 'v'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x42,0x42,0x24,0x24,0x24,0x18,0x18,0x18,0x00,0x00,0x00,
-
- 11, // 0x77 'w'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x44,0x40,0x44,0x40,0x2A,0x80,0x2A,0x80,0x2A,0x80,0x2A,0x80,0x11,0x00,0x11,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 9, // 0x78 'x'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x41,0x00,0x22,0x00,0x14,0x00,0x08,0x00,0x08,0x00,0x14,0x00,0x22,0x00,0x41,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 8, // 0x79 'y'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x42,0x42,0x24,0x24,0x24,0x18,0x18,0x18,0x10,0x10,0x20,
-
- 8, // 0x7A 'z'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x7E,0x02,0x04,0x08,0x10,0x20,0x40,0x7E,0x00,0x00,0x00,
-
- 9, // 0x7B '{'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x07,0x00,0x08,0x00,0x08,0x00,0x08,0x00,0x08,0x00,0x10,0x00,0x60,0x00,0x10,0x00,0x08,0x00,0x08,0x00,0x08,0x00,0x08,0x00,0x08,0x00,0x07,0x00,
-
- 6, // 0x7C '|'
- 0x00,0x00,0x00,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,
-
- 9, // 0x7D '}'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x70,0x00,0x08,0x00,0x08,0x00,0x08,0x00,0x08,0x00,0x04,0x00,0x03,0x00,0x04,0x00,0x08,0x00,0x08,0x00,0x08,0x00,0x08,0x00,0x08,0x00,0x70,0x00,
-
- 11, // 0x7E '~'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x38,0x40,0x44,0x40,0x44,0x40,0x43,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 14, // 0x7F ''
- 0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0xF8,0x20,0x08,0x20,0x08,0x20,0x08,0x20,0x08,0x20,0x08,0x20,0x08,0x20,0x08,0x20,0x08,0x20,0x08,0x3F,0xF8,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 0
- };
-
- const int8u verdana17_bold[] =
- {
- 17, 4, 32, 128-32,
- 0x00,0x00,0x12,0x00,0x24,0x00,0x36,0x00,0x59,0x00,0x7C,0x00,0xB0,0x00,0xD3,0x00,0xE5,0x00,
- 0xF7,0x00,0x09,0x01,0x2C,0x01,0x4F,0x01,0x61,0x01,0x73,0x01,0x85,0x01,0xA8,0x01,0xCB,0x01,
- 0xEE,0x01,0x11,0x02,0x34,0x02,0x57,0x02,0x7A,0x02,0x9D,0x02,0xC0,0x02,0xE3,0x02,0x06,0x03,
- 0x18,0x03,0x2A,0x03,0x4D,0x03,0x70,0x03,0x93,0x03,0xB6,0x03,0xD9,0x03,0xFC,0x03,0x1F,0x04,
- 0x42,0x04,0x65,0x04,0x88,0x04,0xAB,0x04,0xCE,0x04,0xF1,0x04,0x03,0x05,0x15,0x05,0x38,0x05,
- 0x5B,0x05,0x7E,0x05,0xA1,0x05,0xC4,0x05,0xE7,0x05,0x0A,0x06,0x2D,0x06,0x50,0x06,0x73,0x06,
- 0x96,0x06,0xB9,0x06,0xDC,0x06,0xFF,0x06,0x22,0x07,0x45,0x07,0x57,0x07,0x7A,0x07,0x8C,0x07,
- 0xAF,0x07,0xD2,0x07,0xF5,0x07,0x18,0x08,0x3B,0x08,0x4D,0x08,0x70,0x08,0x93,0x08,0xA5,0x08,
- 0xC8,0x08,0xEB,0x08,0xFD,0x08,0x0F,0x09,0x32,0x09,0x44,0x09,0x67,0x09,0x8A,0x09,0xAD,0x09,
- 0xD0,0x09,0xF3,0x09,0x05,0x0A,0x17,0x0A,0x29,0x0A,0x4C,0x0A,0x6F,0x0A,0x92,0x0A,0xB5,0x0A,
- 0xD8,0x0A,0xEA,0x0A,0x0D,0x0B,0x1F,0x0B,0x42,0x0B,0x65,0x0B,
-
- 5, // 0x20 ' '
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 6, // 0x21 '!'
- 0x00,0x00,0x00,0x00,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x00,0x30,0x30,0x00,0x00,0x00,
-
- 8, // 0x22 '"'
- 0x00,0x00,0x00,0x66,0x66,0x66,0x66,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 12, // 0x23 '#'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x04,0x40,0x04,0x40,0x3F,0xE0,0x3F,0xE0,0x08,0x80,0x11,0x00,0x7F,0xC0,0x7F,0xC0,0x22,0x00,0x22,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 10, // 0x24 '$'
- 0x00,0x00,0x00,0x00,0x04,0x00,0x04,0x00,0x1F,0x00,0x34,0x80,0x64,0x00,0x74,0x00,0x3C,0x00,0x0F,0x00,0x0B,0x80,0x09,0x80,0x4B,0x00,0x3E,0x00,0x08,0x00,0x08,0x00,0x00,0x00,
-
- 18, // 0x25 '%'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3C,0x08,0x00,0x66,0x10,0x00,0x66,0x20,0x00,0x66,0x2F,0x00,0x66,0x59,0x80,0x66,0x99,0x80,0x3D,0x19,0x80,0x01,0x19,0x80,0x02,0x19,0x80,0x04,0x0F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 12, // 0x26 '&'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1E,0x00,0x33,0x00,0x33,0x00,0x36,0x00,0x1C,0x60,0x36,0x60,0x63,0x60,0x61,0xC0,0x31,0xC0,0x1F,0x60,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 5, // 0x27 '''
- 0x00,0x00,0x00,0x60,0x60,0x60,0x60,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 8, // 0x28 '('
- 0x00,0x00,0x00,0x0C,0x18,0x30,0x30,0x60,0x60,0x60,0x60,0x60,0x60,0x30,0x30,0x18,0x0C,
-
- 8, // 0x29 ')'
- 0x00,0x00,0x00,0x30,0x18,0x0C,0x0C,0x06,0x06,0x06,0x06,0x06,0x06,0x0C,0x0C,0x18,0x30,
-
- 10, // 0x2A '*'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x08,0x00,0x49,0x00,0x2A,0x00,0x1C,0x00,0x2A,0x00,0x49,0x00,0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 12, // 0x2B '+'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x04,0x00,0x04,0x00,0x04,0x00,0x04,0x00,0x7F,0xC0,0x04,0x00,0x04,0x00,0x04,0x00,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 5, // 0x2C ','
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x70,0x60,0x60,0xC0,0xC0,0x00,
-
- 7, // 0x2D '-'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 5, // 0x2E '.'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x30,0x30,0x00,0x00,0x00,
-
- 10, // 0x2F '/'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x80,0x01,0x80,0x03,0x00,0x03,0x00,0x06,0x00,0x06,0x00,0x0C,0x00,0x18,0x00,0x18,0x00,0x30,0x00,0x30,0x00,0x60,0x00,0x60,0x00,0x00,0x00,
-
- 10, // 0x30 '0'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1E,0x00,0x33,0x00,0x61,0x80,0x61,0x80,0x61,0x80,0x61,0x80,0x61,0x80,0x61,0x80,0x33,0x00,0x1E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 10, // 0x31 '1'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0C,0x00,0x3C,0x00,0x0C,0x00,0x0C,0x00,0x0C,0x00,0x0C,0x00,0x0C,0x00,0x0C,0x00,0x0C,0x00,0x3F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 10, // 0x32 '2'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0x00,0x61,0x80,0x61,0x80,0x01,0x80,0x03,0x00,0x06,0x00,0x0C,0x00,0x18,0x00,0x30,0x00,0x7F,0x80,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 10, // 0x33 '3'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0x00,0x61,0x80,0x61,0x80,0x01,0x80,0x0F,0x00,0x03,0x00,0x01,0x80,0x61,0x80,0x63,0x00,0x3E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 10, // 0x34 '4'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0x00,0x07,0x00,0x0B,0x00,0x13,0x00,0x23,0x00,0x43,0x00,0x7F,0xC0,0x03,0x00,0x03,0x00,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 10, // 0x35 '5'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0x80,0x30,0x00,0x30,0x00,0x3E,0x00,0x03,0x00,0x01,0x80,0x01,0x80,0x61,0x80,0x63,0x00,0x3E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 10, // 0x36 '6'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0x00,0x38,0x00,0x30,0x00,0x6E,0x00,0x73,0x00,0x61,0x80,0x61,0x80,0x61,0x80,0x33,0x00,0x1E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 10, // 0x37 '7'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7F,0x80,0x01,0x80,0x03,0x00,0x03,0x00,0x06,0x00,0x06,0x00,0x0C,0x00,0x0C,0x00,0x18,0x00,0x18,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 10, // 0x38 '8'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0x00,0x61,0x80,0x61,0x80,0x61,0x80,0x3F,0x00,0x61,0x80,0x61,0x80,0x61,0x80,0x61,0x80,0x3F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 10, // 0x39 '9'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1E,0x00,0x33,0x00,0x61,0x80,0x61,0x80,0x61,0x80,0x33,0x80,0x1D,0x80,0x03,0x00,0x07,0x00,0x3C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 6, // 0x3A ':'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x30,0x30,0x00,0x00,0x30,0x30,0x30,0x00,0x00,0x00,
-
- 6, // 0x3B ';'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x30,0x30,0x00,0x00,0x38,0x30,0x30,0x60,0x60,0x00,
-
- 12, // 0x3C '<'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0x03,0x00,0x0C,0x00,0x30,0x00,0x40,0x00,0x30,0x00,0x0C,0x00,0x03,0x00,0x00,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 12, // 0x3D '='
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7F,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x7F,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 12, // 0x3E '>'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x60,0x00,0x18,0x00,0x06,0x00,0x01,0x80,0x00,0x40,0x01,0x80,0x06,0x00,0x18,0x00,0x60,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 9, // 0x3F '?'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3E,0x00,0x63,0x00,0x03,0x00,0x06,0x00,0x0C,0x00,0x18,0x00,0x18,0x00,0x00,0x00,0x18,0x00,0x18,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 14, // 0x40 '@'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0xC0,0x18,0x20,0x20,0x10,0x27,0xC8,0x4C,0xC8,0x4C,0xC8,0x4C,0xC8,0x4C,0xC8,0x27,0xF0,0x20,0x00,0x18,0x00,0x07,0xC0,0x00,0x00,
-
- 11, // 0x41 'A'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0E,0x00,0x0E,0x00,0x0E,0x00,0x1B,0x00,0x1B,0x00,0x31,0x80,0x3F,0x80,0x31,0x80,0x60,0xC0,0x60,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 11, // 0x42 'B'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7F,0x00,0x61,0x80,0x61,0x80,0x61,0x80,0x7F,0x00,0x61,0x80,0x60,0xC0,0x60,0xC0,0x61,0x80,0x7F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 11, // 0x43 'C'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0x80,0x30,0xC0,0x30,0xC0,0x60,0x00,0x60,0x00,0x60,0x00,0x60,0x00,0x30,0xC0,0x30,0xC0,0x0F,0x80,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 11, // 0x44 'D'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7E,0x00,0x61,0x80,0x61,0x80,0x60,0xC0,0x60,0xC0,0x60,0xC0,0x60,0xC0,0x61,0x80,0x61,0x80,0x7E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 10, // 0x45 'E'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7F,0x80,0x60,0x00,0x60,0x00,0x60,0x00,0x7F,0x80,0x60,0x00,0x60,0x00,0x60,0x00,0x60,0x00,0x7F,0x80,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 9, // 0x46 'F'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7F,0x00,0x60,0x00,0x60,0x00,0x60,0x00,0x7F,0x00,0x60,0x00,0x60,0x00,0x60,0x00,0x60,0x00,0x60,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 11, // 0x47 'G'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0x80,0x30,0xC0,0x30,0xC0,0x60,0x00,0x60,0x00,0x63,0xC0,0x60,0xC0,0x30,0xC0,0x30,0xC0,0x0F,0x80,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 11, // 0x48 'H'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x60,0xC0,0x60,0xC0,0x60,0xC0,0x60,0xC0,0x7F,0xC0,0x60,0xC0,0x60,0xC0,0x60,0xC0,0x60,0xC0,0x60,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 8, // 0x49 'I'
- 0x00,0x00,0x00,0x00,0x7E,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x7E,0x00,0x00,0x00,
-
- 8, // 0x4A 'J'
- 0x00,0x00,0x00,0x00,0x3E,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x0C,0xF8,0x00,0x00,0x00,
-
- 11, // 0x4B 'K'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x60,0xC0,0x61,0x80,0x63,0x00,0x66,0x00,0x6C,0x00,0x7C,0x00,0x76,0x00,0x63,0x00,0x61,0x80,0x60,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 9, // 0x4C 'L'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x60,0x00,0x60,0x00,0x60,0x00,0x60,0x00,0x60,0x00,0x60,0x00,0x60,0x00,0x60,0x00,0x60,0x00,0x7F,0x80,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 13, // 0x4D 'M'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x60,0x70,0x70,0x70,0x70,0xF0,0x58,0xB0,0x59,0xB0,0x4D,0x30,0x4F,0x30,0x46,0x30,0x46,0x30,0x40,0x30,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 11, // 0x4E 'N'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x60,0x40,0x70,0x40,0x58,0x40,0x4C,0x40,0x4C,0x40,0x46,0x40,0x43,0x40,0x43,0x40,0x41,0xC0,0x40,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 12, // 0x4F 'O'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0x00,0x30,0xC0,0x30,0xC0,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x30,0xC0,0x30,0xC0,0x0F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 10, // 0x50 'P'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7E,0x00,0x63,0x00,0x61,0x80,0x61,0x80,0x61,0x80,0x63,0x00,0x7E,0x00,0x60,0x00,0x60,0x00,0x60,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 12, // 0x51 'Q'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0x00,0x30,0xC0,0x30,0xC0,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x30,0xC0,0x30,0xC0,0x0F,0x80,0x03,0x00,0x03,0x00,0x01,0xE0,
-
- 11, // 0x52 'R'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7F,0x00,0x61,0x80,0x60,0xC0,0x60,0xC0,0x61,0x80,0x7F,0x00,0x63,0x00,0x61,0x80,0x60,0xC0,0x60,0x60,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 10, // 0x53 'S'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1F,0x00,0x31,0x80,0x61,0x80,0x60,0x00,0x3E,0x00,0x1F,0x00,0x01,0x80,0x61,0x80,0x63,0x00,0x3E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 10, // 0x54 'T'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7F,0x80,0x0C,0x00,0x0C,0x00,0x0C,0x00,0x0C,0x00,0x0C,0x00,0x0C,0x00,0x0C,0x00,0x0C,0x00,0x0C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 11, // 0x55 'U'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x60,0xC0,0x60,0xC0,0x60,0xC0,0x60,0xC0,0x60,0xC0,0x60,0xC0,0x60,0xC0,0x60,0xC0,0x31,0x80,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 11, // 0x56 'V'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x60,0xC0,0x60,0xC0,0x60,0xC0,0x31,0x80,0x31,0x80,0x31,0x80,0x1B,0x00,0x1B,0x00,0x0E,0x00,0x0E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 16, // 0x57 'W'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x61,0x86,0x61,0x86,0x63,0xC6,0x32,0x4C,0x36,0x6C,0x36,0x6C,0x34,0x2C,0x1C,0x38,0x18,0x18,0x18,0x18,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 11, // 0x58 'X'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x60,0xC0,0x31,0x80,0x31,0x80,0x1B,0x00,0x0E,0x00,0x0E,0x00,0x1B,0x00,0x31,0x80,0x31,0x80,0x60,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 10, // 0x59 'Y'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0xC0,0x61,0x80,0x61,0x80,0x33,0x00,0x1E,0x00,0x0C,0x00,0x0C,0x00,0x0C,0x00,0x0C,0x00,0x0C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 10, // 0x5A 'Z'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7F,0x80,0x01,0x80,0x03,0x00,0x06,0x00,0x0C,0x00,0x0C,0x00,0x18,0x00,0x30,0x00,0x60,0x00,0x7F,0x80,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 8, // 0x5B '['
- 0x00,0x00,0x00,0x3E,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x3E,
-
- 10, // 0x5C '\'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x60,0x00,0x60,0x00,0x30,0x00,0x30,0x00,0x18,0x00,0x18,0x00,0x0C,0x00,0x06,0x00,0x06,0x00,0x03,0x00,0x03,0x00,0x01,0x80,0x01,0x80,0x00,0x00,
-
- 8, // 0x5D ']'
- 0x00,0x00,0x00,0x7C,0x0C,0x0C,0x0C,0x0C,0x0C,0x0C,0x0C,0x0C,0x0C,0x0C,0x0C,0x0C,0x7C,
-
- 12, // 0x5E '^'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x04,0x00,0x0E,0x00,0x1B,0x00,0x31,0x80,0x60,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 10, // 0x5F '_'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xC0,0x00,0x00,
-
- 10, // 0x60 '`'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x18,0x00,0x0C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 9, // 0x61 'a'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3E,0x00,0x03,0x00,0x03,0x00,0x3F,0x00,0x63,0x00,0x63,0x00,0x63,0x00,0x3F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 10, // 0x62 'b'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x60,0x00,0x60,0x00,0x60,0x00,0x6E,0x00,0x73,0x00,0x61,0x80,0x61,0x80,0x61,0x80,0x61,0x80,0x63,0x00,0x7E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 8, // 0x63 'c'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x1E,0x33,0x60,0x60,0x60,0x60,0x33,0x1E,0x00,0x00,0x00,
-
- 10, // 0x64 'd'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x80,0x01,0x80,0x01,0x80,0x1F,0x80,0x31,0x80,0x61,0x80,0x61,0x80,0x61,0x80,0x61,0x80,0x33,0x80,0x1D,0x80,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 9, // 0x65 'e'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1E,0x00,0x33,0x00,0x63,0x00,0x7F,0x00,0x60,0x00,0x60,0x00,0x33,0x00,0x1E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 6, // 0x66 'f'
- 0x00,0x00,0x00,0x1C,0x30,0x30,0x7C,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x00,0x00,0x00,
-
- 10, // 0x67 'g'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1F,0x80,0x31,0x80,0x61,0x80,0x61,0x80,0x61,0x80,0x61,0x80,0x33,0x80,0x1D,0x80,0x01,0x80,0x03,0x00,0x3E,0x00,
-
- 10, // 0x68 'h'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x60,0x00,0x60,0x00,0x60,0x00,0x6F,0x00,0x71,0x80,0x61,0x80,0x61,0x80,0x61,0x80,0x61,0x80,0x61,0x80,0x61,0x80,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 4, // 0x69 'i'
- 0x00,0x00,0x00,0x60,0x60,0x00,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x00,0x00,0x00,
-
- 6, // 0x6A 'j'
- 0x00,0x00,0x00,0x18,0x18,0x00,0x38,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0xF0,
-
- 9, // 0x6B 'k'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x60,0x00,0x60,0x00,0x60,0x00,0x63,0x00,0x66,0x00,0x6C,0x00,0x78,0x00,0x7C,0x00,0x66,0x00,0x63,0x00,0x61,0x80,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 4, // 0x6C 'l'
- 0x00,0x00,0x00,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x00,0x00,0x00,
-
- 14, // 0x6D 'm'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x6E,0x70,0x73,0x98,0x63,0x18,0x63,0x18,0x63,0x18,0x63,0x18,0x63,0x18,0x63,0x18,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 10, // 0x6E 'n'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x6F,0x00,0x71,0x80,0x61,0x80,0x61,0x80,0x61,0x80,0x61,0x80,0x61,0x80,0x61,0x80,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 10, // 0x6F 'o'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1E,0x00,0x33,0x00,0x61,0x80,0x61,0x80,0x61,0x80,0x61,0x80,0x33,0x00,0x1E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 10, // 0x70 'p'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x6E,0x00,0x73,0x00,0x61,0x80,0x61,0x80,0x61,0x80,0x61,0x80,0x63,0x00,0x7E,0x00,0x60,0x00,0x60,0x00,0x60,0x00,
-
- 10, // 0x71 'q'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1F,0x80,0x31,0x80,0x61,0x80,0x61,0x80,0x61,0x80,0x61,0x80,0x33,0x80,0x1D,0x80,0x01,0x80,0x01,0x80,0x01,0x80,
-
- 7, // 0x72 'r'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x6E,0x7E,0x60,0x60,0x60,0x60,0x60,0x60,0x00,0x00,0x00,
-
- 8, // 0x73 's'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x3C,0x62,0x60,0x7C,0x3E,0x06,0x46,0x3C,0x00,0x00,0x00,
-
- 6, // 0x74 't'
- 0x00,0x00,0x00,0x00,0x60,0x60,0xFC,0x60,0x60,0x60,0x60,0x60,0x60,0x3C,0x00,0x00,0x00,
-
- 10, // 0x75 'u'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x61,0x80,0x61,0x80,0x61,0x80,0x61,0x80,0x61,0x80,0x61,0x80,0x63,0x80,0x3D,0x80,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 9, // 0x76 'v'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x63,0x00,0x63,0x00,0x63,0x00,0x36,0x00,0x36,0x00,0x36,0x00,0x1C,0x00,0x1C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 14, // 0x77 'w'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x63,0x18,0x63,0x18,0x33,0x30,0x37,0xB0,0x34,0xB0,0x1C,0xE0,0x1C,0xE0,0x0C,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 9, // 0x78 'x'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x63,0x00,0x63,0x00,0x36,0x00,0x1C,0x00,0x1C,0x00,0x36,0x00,0x63,0x00,0x63,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 9, // 0x79 'y'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x63,0x00,0x63,0x00,0x63,0x00,0x36,0x00,0x36,0x00,0x36,0x00,0x1C,0x00,0x1C,0x00,0x0C,0x00,0x18,0x00,0x18,0x00,
-
- 8, // 0x7A 'z'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x7E,0x06,0x0C,0x18,0x18,0x30,0x60,0x7E,0x00,0x00,0x00,
-
- 10, // 0x7B '{'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x07,0x80,0x0C,0x00,0x0C,0x00,0x0C,0x00,0x0C,0x00,0x18,0x00,0x70,0x00,0x18,0x00,0x0C,0x00,0x0C,0x00,0x0C,0x00,0x0C,0x00,0x0C,0x00,0x07,0x80,
-
- 8, // 0x7C '|'
- 0x00,0x00,0x00,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,
-
- 10, // 0x7D '}'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x78,0x00,0x0C,0x00,0x0C,0x00,0x0C,0x00,0x0C,0x00,0x06,0x00,0x03,0x80,0x06,0x00,0x0C,0x00,0x0C,0x00,0x0C,0x00,0x0C,0x00,0x0C,0x00,0x78,0x00,
-
- 12, // 0x7E '~'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x18,0x20,0x24,0x20,0x46,0x20,0x42,0x40,0x41,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 14, // 0x7F ''
- 0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0xF8,0x20,0x08,0x20,0x08,0x20,0x08,0x20,0x08,0x20,0x08,0x20,0x08,0x20,0x08,0x20,0x08,0x20,0x08,0x3F,0xF8,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 0
- };
-
- const int8u verdana18[] =
- {
- 18, 4, 32, 128-32,
- 0x00,0x00,0x13,0x00,0x26,0x00,0x39,0x00,0x5E,0x00,0x83,0x00,0xA8,0x00,0xCD,0x00,0xE0,0x00,
- 0xF3,0x00,0x06,0x01,0x2B,0x01,0x50,0x01,0x63,0x01,0x76,0x01,0x89,0x01,0x9C,0x01,0xC1,0x01,
- 0xE6,0x01,0x0B,0x02,0x30,0x02,0x55,0x02,0x7A,0x02,0x9F,0x02,0xC4,0x02,0xE9,0x02,0x0E,0x03,
- 0x21,0x03,0x34,0x03,0x59,0x03,0x7E,0x03,0xA3,0x03,0xB6,0x03,0xDB,0x03,0x00,0x04,0x25,0x04,
- 0x4A,0x04,0x6F,0x04,0x94,0x04,0xB9,0x04,0xDE,0x04,0x03,0x05,0x16,0x05,0x29,0x05,0x4E,0x05,
- 0x61,0x05,0x86,0x05,0xAB,0x05,0xD0,0x05,0xF5,0x05,0x1A,0x06,0x3F,0x06,0x64,0x06,0x89,0x06,
- 0xAE,0x06,0xD3,0x06,0xF8,0x06,0x1D,0x07,0x42,0x07,0x67,0x07,0x7A,0x07,0x8D,0x07,0xA0,0x07,
- 0xC5,0x07,0xEA,0x07,0x0F,0x08,0x34,0x08,0x59,0x08,0x6C,0x08,0x91,0x08,0xB6,0x08,0xC9,0x08,
- 0xEE,0x08,0x13,0x09,0x26,0x09,0x39,0x09,0x5E,0x09,0x71,0x09,0x96,0x09,0xBB,0x09,0xE0,0x09,
- 0x05,0x0A,0x2A,0x0A,0x3D,0x0A,0x50,0x0A,0x63,0x0A,0x88,0x0A,0xAD,0x0A,0xD2,0x0A,0xF7,0x0A,
- 0x1C,0x0B,0x41,0x0B,0x66,0x0B,0x79,0x0B,0x9E,0x0B,0xC3,0x0B,
-
- 5, // 0x20 ' '
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 6, // 0x21 '!'
- 0x00,0x00,0x00,0x00,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x00,0x20,0x20,0x00,0x00,0x00,
-
- 7, // 0x22 '"'
- 0x00,0x00,0x00,0x48,0x48,0x48,0x48,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 12, // 0x23 '#'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x04,0x80,0x04,0x80,0x09,0x00,0x3F,0xC0,0x09,0x00,0x11,0x00,0x12,0x00,0x7F,0x80,0x12,0x00,0x24,0x00,0x24,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 10, // 0x24 '$'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x08,0x00,0x08,0x00,0x3E,0x00,0x49,0x00,0x48,0x00,0x48,0x00,0x38,0x00,0x0E,0x00,0x09,0x00,0x09,0x00,0x49,0x00,0x3E,0x00,0x08,0x00,0x08,0x00,0x08,0x00,
-
- 16, // 0x25 '%'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x38,0x20,0x44,0x40,0x44,0x40,0x44,0x80,0x44,0x80,0x38,0x9C,0x01,0x22,0x01,0x22,0x02,0x22,0x02,0x22,0x04,0x1C,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 12, // 0x26 '&'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1E,0x00,0x21,0x00,0x21,0x00,0x21,0x00,0x1E,0x40,0x24,0x40,0x42,0x40,0x41,0x40,0x40,0x80,0x21,0x40,0x1E,0x20,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 4, // 0x27 '''
- 0x00,0x00,0x00,0x40,0x40,0x40,0x40,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 7, // 0x28 '('
- 0x00,0x00,0x00,0x08,0x10,0x20,0x20,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x20,0x20,0x10,0x08,
-
- 7, // 0x29 ')'
- 0x00,0x00,0x00,0x20,0x10,0x08,0x08,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x08,0x08,0x10,0x20,
-
- 10, // 0x2A '*'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x08,0x00,0x49,0x00,0x2A,0x00,0x1C,0x00,0x2A,0x00,0x49,0x00,0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 12, // 0x2B '+'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x02,0x00,0x02,0x00,0x02,0x00,0x02,0x00,0x3F,0xE0,0x02,0x00,0x02,0x00,0x02,0x00,0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 5, // 0x2C ','
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x20,0x20,0x40,0x40,
-
- 7, // 0x2D '-'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 5, // 0x2E '.'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x20,0x00,0x00,0x00,
-
- 7, // 0x2F '/'
- 0x00,0x00,0x00,0x02,0x04,0x04,0x04,0x08,0x08,0x10,0x10,0x20,0x20,0x40,0x40,0x40,0x80,0x00,
-
- 10, // 0x30 '0'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1E,0x00,0x21,0x00,0x40,0x80,0x40,0x80,0x40,0x80,0x40,0x80,0x40,0x80,0x40,0x80,0x40,0x80,0x21,0x00,0x1E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 10, // 0x31 '1'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x04,0x00,0x04,0x00,0x1C,0x00,0x04,0x00,0x04,0x00,0x04,0x00,0x04,0x00,0x04,0x00,0x04,0x00,0x04,0x00,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 10, // 0x32 '2'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3E,0x00,0x41,0x00,0x00,0x80,0x00,0x80,0x00,0x80,0x01,0x00,0x02,0x00,0x0C,0x00,0x30,0x00,0x40,0x00,0x7F,0x80,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 10, // 0x33 '3'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0x00,0x40,0x80,0x00,0x80,0x01,0x00,0x0E,0x00,0x01,0x00,0x00,0x80,0x00,0x80,0x00,0x80,0x41,0x00,0x3E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 10, // 0x34 '4'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x03,0x00,0x05,0x00,0x09,0x00,0x11,0x00,0x21,0x00,0x41,0x00,0x7F,0xC0,0x01,0x00,0x01,0x00,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 10, // 0x35 '5'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0x80,0x20,0x00,0x20,0x00,0x20,0x00,0x3E,0x00,0x01,0x00,0x00,0x80,0x00,0x80,0x00,0x80,0x41,0x00,0x3E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 10, // 0x36 '6'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0x00,0x10,0x00,0x20,0x00,0x40,0x00,0x5E,0x00,0x61,0x00,0x40,0x80,0x40,0x80,0x40,0x80,0x21,0x00,0x1E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 10, // 0x37 '7'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7F,0x00,0x01,0x00,0x02,0x00,0x02,0x00,0x04,0x00,0x04,0x00,0x08,0x00,0x08,0x00,0x10,0x00,0x10,0x00,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 10, // 0x38 '8'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1E,0x00,0x21,0x00,0x40,0x80,0x40,0x80,0x21,0x00,0x1E,0x00,0x21,0x00,0x40,0x80,0x40,0x80,0x21,0x00,0x1E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 10, // 0x39 '9'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1E,0x00,0x21,0x00,0x40,0x80,0x40,0x80,0x40,0x80,0x20,0x80,0x1F,0x80,0x00,0x80,0x01,0x00,0x02,0x00,0x3C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 7, // 0x3A ':'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x10,0x10,0x00,0x00,0x00,0x00,0x10,0x10,0x00,0x00,0x00,
-
- 7, // 0x3B ';'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x10,0x10,0x00,0x00,0x00,0x00,0x10,0x10,0x10,0x20,0x20,
-
- 12, // 0x3C '<'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0x03,0x00,0x0C,0x00,0x30,0x00,0x30,0x00,0x0C,0x00,0x03,0x00,0x00,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 12, // 0x3D '='
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0xE0,0x00,0x00,0x00,0x00,0x3F,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 12, // 0x3E '>'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x00,0x0C,0x00,0x03,0x00,0x00,0xC0,0x00,0xC0,0x03,0x00,0x0C,0x00,0x30,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 8, // 0x3F '?'
- 0x00,0x00,0x00,0x00,0x3C,0x42,0x02,0x02,0x04,0x08,0x10,0x10,0x00,0x10,0x10,0x00,0x00,0x00,
-
- 15, // 0x40 '@'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0x80,0x18,0x60,0x20,0x10,0x23,0xD0,0x44,0x48,0x48,0x48,0x48,0x48,0x48,0x48,0x44,0x48,0x23,0xF0,0x20,0x00,0x18,0x00,0x07,0xC0,0x00,0x00,
-
- 10, // 0x41 'A'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0C,0x00,0x12,0x00,0x12,0x00,0x12,0x00,0x21,0x00,0x21,0x00,0x40,0x80,0x7F,0x80,0x40,0x80,0x80,0x40,0x80,0x40,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 10, // 0x42 'B'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7E,0x00,0x41,0x00,0x41,0x00,0x41,0x00,0x7E,0x00,0x41,0x00,0x40,0x80,0x40,0x80,0x40,0x80,0x41,0x00,0x7E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 11, // 0x43 'C'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0x00,0x30,0xC0,0x20,0x40,0x40,0x00,0x40,0x00,0x40,0x00,0x40,0x00,0x40,0x00,0x20,0x40,0x30,0xC0,0x0F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 11, // 0x44 'D'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7E,0x00,0x41,0x80,0x40,0x80,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x80,0x41,0x80,0x7E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 9, // 0x45 'E'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7F,0x00,0x40,0x00,0x40,0x00,0x40,0x00,0x7F,0x00,0x40,0x00,0x40,0x00,0x40,0x00,0x40,0x00,0x40,0x00,0x7F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 9, // 0x46 'F'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7F,0x80,0x40,0x00,0x40,0x00,0x40,0x00,0x7F,0x00,0x40,0x00,0x40,0x00,0x40,0x00,0x40,0x00,0x40,0x00,0x40,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 12, // 0x47 'G'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0x80,0x30,0x60,0x20,0x20,0x40,0x00,0x40,0x00,0x41,0xE0,0x40,0x20,0x40,0x20,0x20,0x20,0x30,0x20,0x0F,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 11, // 0x48 'H'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x7F,0xC0,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 5, // 0x49 'I'
- 0x00,0x00,0x00,0x00,0x70,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x70,0x00,0x00,0x00,
-
- 7, // 0x4A 'J'
- 0x00,0x00,0x00,0x00,0x3C,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x08,0xF0,0x00,0x00,0x00,
-
- 10, // 0x4B 'K'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x40,0x80,0x41,0x00,0x42,0x00,0x44,0x00,0x48,0x00,0x50,0x00,0x68,0x00,0x44,0x00,0x42,0x00,0x41,0x00,0x40,0x80,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 8, // 0x4C 'L'
- 0x00,0x00,0x00,0x00,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x7F,0x00,0x00,0x00,
-
- 13, // 0x4D 'M'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x60,0x30,0x50,0x50,0x50,0x50,0x48,0x90,0x48,0x90,0x45,0x10,0x45,0x10,0x42,0x10,0x42,0x10,0x40,0x10,0x40,0x10,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 11, // 0x4E 'N'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x40,0x40,0x60,0x40,0x50,0x40,0x48,0x40,0x48,0x40,0x44,0x40,0x42,0x40,0x42,0x40,0x41,0x40,0x40,0xC0,0x40,0x40,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 12, // 0x4F 'O'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0x00,0x30,0xC0,0x20,0x40,0x40,0x20,0x40,0x20,0x40,0x20,0x40,0x20,0x40,0x20,0x20,0x40,0x30,0xC0,0x0F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 9, // 0x50 'P'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7E,0x00,0x41,0x00,0x40,0x80,0x40,0x80,0x40,0x80,0x41,0x00,0x7E,0x00,0x40,0x00,0x40,0x00,0x40,0x00,0x40,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 12, // 0x51 'Q'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0x00,0x30,0xC0,0x20,0x40,0x40,0x20,0x40,0x20,0x40,0x20,0x40,0x20,0x40,0x20,0x20,0x40,0x30,0xC0,0x0F,0x00,0x01,0x00,0x01,0x00,0x00,0xE0,
-
- 10, // 0x52 'R'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7C,0x00,0x42,0x00,0x41,0x00,0x41,0x00,0x41,0x00,0x42,0x00,0x7C,0x00,0x42,0x00,0x41,0x00,0x40,0x80,0x40,0x40,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 10, // 0x53 'S'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1F,0x00,0x20,0x80,0x40,0x00,0x40,0x00,0x20,0x00,0x1E,0x00,0x01,0x00,0x00,0x80,0x40,0x80,0x21,0x00,0x1E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 9, // 0x54 'T'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0x80,0x08,0x00,0x08,0x00,0x08,0x00,0x08,0x00,0x08,0x00,0x08,0x00,0x08,0x00,0x08,0x00,0x08,0x00,0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 11, // 0x55 'U'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x20,0x80,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 10, // 0x56 'V'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x40,0x80,0x40,0x40,0x80,0x40,0x80,0x40,0x80,0x21,0x00,0x21,0x00,0x12,0x00,0x12,0x00,0x12,0x00,0x0C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 15, // 0x57 'W'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x41,0x04,0x41,0x04,0x22,0x88,0x22,0x88,0x22,0x88,0x12,0x90,0x14,0x50,0x14,0x50,0x14,0x50,0x08,0x20,0x08,0x20,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 10, // 0x58 'X'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x40,0x80,0x21,0x00,0x21,0x00,0x12,0x00,0x0C,0x00,0x0C,0x00,0x0C,0x00,0x12,0x00,0x21,0x00,0x21,0x00,0x40,0x80,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 9, // 0x59 'Y'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x80,0x41,0x00,0x22,0x00,0x22,0x00,0x14,0x00,0x08,0x00,0x08,0x00,0x08,0x00,0x08,0x00,0x08,0x00,0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 10, // 0x5A 'Z'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7F,0x80,0x00,0x80,0x01,0x00,0x02,0x00,0x04,0x00,0x08,0x00,0x08,0x00,0x10,0x00,0x20,0x00,0x40,0x00,0x7F,0x80,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 7, // 0x5B '['
- 0x00,0x00,0x00,0x3C,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x3C,
-
- 7, // 0x5C '\'
- 0x00,0x00,0x00,0x80,0x40,0x40,0x40,0x20,0x20,0x10,0x10,0x08,0x08,0x04,0x04,0x04,0x02,0x00,
-
- 7, // 0x5D ']'
- 0x00,0x00,0x00,0x78,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x78,
-
- 12, // 0x5E '^'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x06,0x00,0x09,0x00,0x10,0x80,0x20,0x40,0x40,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 10, // 0x5F '_'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xC0,0x00,0x00,
-
- 10, // 0x60 '`'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x10,0x00,0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 9, // 0x61 'a'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1E,0x00,0x21,0x00,0x01,0x00,0x3F,0x00,0x41,0x00,0x41,0x00,0x43,0x00,0x3D,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 9, // 0x62 'b'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x40,0x00,0x40,0x00,0x40,0x00,0x40,0x00,0x5C,0x00,0x62,0x00,0x41,0x00,0x41,0x00,0x41,0x00,0x41,0x00,0x42,0x00,0x7C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 8, // 0x63 'c'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1E,0x21,0x40,0x40,0x40,0x40,0x21,0x1E,0x00,0x00,0x00,
-
- 9, // 0x64 'd'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x1F,0x00,0x21,0x00,0x41,0x00,0x41,0x00,0x41,0x00,0x41,0x00,0x23,0x00,0x1D,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 9, // 0x65 'e'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1C,0x00,0x22,0x00,0x41,0x00,0x7F,0x00,0x40,0x00,0x40,0x00,0x21,0x00,0x1E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 6, // 0x66 'f'
- 0x00,0x00,0x00,0x1C,0x20,0x20,0x20,0x7C,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x00,0x00,0x00,
-
- 9, // 0x67 'g'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1F,0x00,0x21,0x00,0x41,0x00,0x41,0x00,0x41,0x00,0x41,0x00,0x23,0x00,0x1D,0x00,0x01,0x00,0x22,0x00,0x1C,0x00,
-
- 9, // 0x68 'h'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x40,0x00,0x40,0x00,0x40,0x00,0x40,0x00,0x5E,0x00,0x61,0x00,0x41,0x00,0x41,0x00,0x41,0x00,0x41,0x00,0x41,0x00,0x41,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 3, // 0x69 'i'
- 0x00,0x00,0x00,0x00,0x40,0x00,0x00,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x00,0x00,0x00,
-
- 5, // 0x6A 'j'
- 0x00,0x00,0x00,0x00,0x10,0x00,0x00,0x70,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0xE0,
-
- 9, // 0x6B 'k'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x40,0x00,0x40,0x00,0x40,0x00,0x40,0x00,0x42,0x00,0x44,0x00,0x48,0x00,0x50,0x00,0x68,0x00,0x44,0x00,0x42,0x00,0x41,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 3, // 0x6C 'l'
- 0x00,0x00,0x00,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x00,0x00,0x00,
-
- 15, // 0x6D 'm'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x2E,0x70,0x31,0x88,0x21,0x08,0x21,0x08,0x21,0x08,0x21,0x08,0x21,0x08,0x21,0x08,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 9, // 0x6E 'n'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x5E,0x00,0x61,0x00,0x41,0x00,0x41,0x00,0x41,0x00,0x41,0x00,0x41,0x00,0x41,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 10, // 0x6F 'o'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1E,0x00,0x21,0x00,0x40,0x80,0x40,0x80,0x40,0x80,0x40,0x80,0x21,0x00,0x1E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 9, // 0x70 'p'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x5C,0x00,0x62,0x00,0x41,0x00,0x41,0x00,0x41,0x00,0x41,0x00,0x42,0x00,0x7C,0x00,0x40,0x00,0x40,0x00,0x40,0x00,
-
- 9, // 0x71 'q'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1F,0x00,0x21,0x00,0x41,0x00,0x41,0x00,0x41,0x00,0x41,0x00,0x23,0x00,0x1D,0x00,0x01,0x00,0x01,0x00,0x01,0x00,
-
- 6, // 0x72 'r'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x5C,0x60,0x40,0x40,0x40,0x40,0x40,0x40,0x00,0x00,0x00,
-
- 8, // 0x73 's'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3C,0x42,0x40,0x30,0x0C,0x02,0x42,0x3C,0x00,0x00,0x00,
-
- 6, // 0x74 't'
- 0x00,0x00,0x00,0x00,0x00,0x20,0x20,0x7C,0x20,0x20,0x20,0x20,0x20,0x20,0x1C,0x00,0x00,0x00,
-
- 9, // 0x75 'u'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x41,0x00,0x41,0x00,0x41,0x00,0x41,0x00,0x41,0x00,0x41,0x00,0x43,0x00,0x3D,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 9, // 0x76 'v'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x41,0x00,0x41,0x00,0x22,0x00,0x22,0x00,0x22,0x00,0x14,0x00,0x14,0x00,0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 13, // 0x77 'w'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x42,0x10,0x42,0x10,0x25,0x20,0x25,0x20,0x28,0xA0,0x28,0xA0,0x10,0x40,0x10,0x40,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 9, // 0x78 'x'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x41,0x00,0x22,0x00,0x14,0x00,0x08,0x00,0x08,0x00,0x14,0x00,0x22,0x00,0x41,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 9, // 0x79 'y'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x41,0x00,0x41,0x00,0x22,0x00,0x22,0x00,0x22,0x00,0x14,0x00,0x14,0x00,0x08,0x00,0x08,0x00,0x10,0x00,0x10,0x00,
-
- 9, // 0x7A 'z'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7F,0x00,0x02,0x00,0x04,0x00,0x08,0x00,0x10,0x00,0x20,0x00,0x40,0x00,0x7F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 10, // 0x7B '{'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x07,0x00,0x08,0x00,0x08,0x00,0x08,0x00,0x08,0x00,0x08,0x00,0x10,0x00,0x60,0x00,0x10,0x00,0x08,0x00,0x08,0x00,0x08,0x00,0x08,0x00,0x08,0x00,0x07,0x00,
-
- 7, // 0x7C '|'
- 0x00,0x00,0x00,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,
-
- 10, // 0x7D '}'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x38,0x00,0x04,0x00,0x04,0x00,0x04,0x00,0x04,0x00,0x04,0x00,0x02,0x00,0x01,0x80,0x02,0x00,0x04,0x00,0x04,0x00,0x04,0x00,0x04,0x00,0x04,0x00,0x38,0x00,
-
- 12, // 0x7E '~'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x18,0x20,0x24,0x20,0x42,0x40,0x41,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 15, // 0x7F ''
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0xF8,0x20,0x08,0x20,0x08,0x20,0x08,0x20,0x08,0x20,0x08,0x20,0x08,0x20,0x08,0x20,0x08,0x20,0x08,0x3F,0xF8,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 0
- };
-
- const int8u verdana18_bold[] =
- {
- 18, 4, 32, 128-32,
- 0x00,0x00,0x13,0x00,0x26,0x00,0x4B,0x00,0x70,0x00,0x95,0x00,0xCC,0x00,0xF1,0x00,0x04,0x01,
- 0x17,0x01,0x2A,0x01,0x4F,0x01,0x74,0x01,0x87,0x01,0x9A,0x01,0xAD,0x01,0xD2,0x01,0xF7,0x01,
- 0x1C,0x02,0x41,0x02,0x66,0x02,0x8B,0x02,0xB0,0x02,0xD5,0x02,0xFA,0x02,0x1F,0x03,0x44,0x03,
- 0x57,0x03,0x6A,0x03,0x8F,0x03,0xB4,0x03,0xD9,0x03,0xFE,0x03,0x23,0x04,0x48,0x04,0x6D,0x04,
- 0x92,0x04,0xB7,0x04,0xDC,0x04,0x01,0x05,0x26,0x05,0x4B,0x05,0x5E,0x05,0x71,0x05,0x96,0x05,
- 0xBB,0x05,0xE0,0x05,0x05,0x06,0x2A,0x06,0x4F,0x06,0x74,0x06,0x99,0x06,0xBE,0x06,0xE3,0x06,
- 0x08,0x07,0x2D,0x07,0x52,0x07,0x77,0x07,0x9C,0x07,0xC1,0x07,0xD4,0x07,0xF9,0x07,0x0C,0x08,
- 0x31,0x08,0x56,0x08,0x7B,0x08,0xA0,0x08,0xC5,0x08,0xD8,0x08,0xFD,0x08,0x22,0x09,0x35,0x09,
- 0x5A,0x09,0x7F,0x09,0x92,0x09,0xA5,0x09,0xCA,0x09,0xDD,0x09,0x02,0x0A,0x27,0x0A,0x4C,0x0A,
- 0x71,0x0A,0x96,0x0A,0xA9,0x0A,0xCE,0x0A,0xE1,0x0A,0x06,0x0B,0x2B,0x0B,0x50,0x0B,0x75,0x0B,
- 0x9A,0x0B,0xBF,0x0B,0xE4,0x0B,0xF7,0x0B,0x1C,0x0C,0x41,0x0C,
-
- 5, // 0x20 ' '
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 6, // 0x21 '!'
- 0x00,0x00,0x00,0x00,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x00,0x30,0x30,0x00,0x00,0x00,
-
- 9, // 0x22 '"'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x36,0x00,0x36,0x00,0x36,0x00,0x36,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 13, // 0x23 '#'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x04,0x20,0x04,0x20,0x08,0x40,0x3F,0xF0,0x3F,0xF0,0x08,0x40,0x10,0x80,0x7F,0xE0,0x7F,0xE0,0x21,0x00,0x21,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 11, // 0x24 '$'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x04,0x00,0x04,0x00,0x1F,0x80,0x34,0xC0,0x64,0xC0,0x64,0x00,0x3C,0x00,0x07,0x80,0x04,0xC0,0x64,0xC0,0x65,0x80,0x3F,0x00,0x04,0x00,0x04,0x00,0x00,0x00,
-
- 19, // 0x25 '%'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3E,0x08,0x00,0x63,0x10,0x00,0x63,0x10,0x00,0x63,0x20,0x00,0x63,0x2F,0x80,0x63,0x58,0xC0,0x3E,0x98,0xC0,0x00,0x98,0xC0,0x01,0x18,0xC0,0x01,0x18,0xC0,0x02,0x0F,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 13, // 0x26 '&'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1E,0x00,0x33,0x00,0x33,0x00,0x33,0x00,0x1E,0x60,0x36,0x60,0x63,0x60,0x61,0xC0,0x60,0xC0,0x30,0xE0,0x1F,0x30,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 5, // 0x27 '''
- 0x00,0x00,0x00,0x60,0x60,0x60,0x60,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 8, // 0x28 '('
- 0x00,0x00,0x00,0x06,0x0C,0x18,0x30,0x30,0x60,0x60,0x60,0x60,0x60,0x30,0x30,0x18,0x0C,0x06,
-
- 8, // 0x29 ')'
- 0x00,0x00,0x00,0x60,0x30,0x18,0x0C,0x0C,0x06,0x06,0x06,0x06,0x06,0x0C,0x0C,0x18,0x30,0x60,
-
- 11, // 0x2A '*'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x04,0x00,0x24,0x80,0x15,0x00,0x0E,0x00,0x15,0x00,0x24,0x80,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 13, // 0x2B '+'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x02,0x00,0x02,0x00,0x02,0x00,0x02,0x00,0x3F,0xE0,0x02,0x00,0x02,0x00,0x02,0x00,0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 5, // 0x2C ','
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x70,0x60,0x60,0x60,0xC0,0xC0,
-
- 7, // 0x2D '-'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 5, // 0x2E '.'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x30,0x30,0x00,0x00,0x00,
-
- 10, // 0x2F '/'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x80,0x01,0x80,0x03,0x00,0x03,0x00,0x06,0x00,0x06,0x00,0x0C,0x00,0x0C,0x00,0x18,0x00,0x18,0x00,0x30,0x00,0x30,0x00,0x60,0x00,0x60,0x00,0x00,0x00,
-
- 11, // 0x30 '0'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1F,0x00,0x31,0x80,0x60,0xC0,0x60,0xC0,0x60,0xC0,0x60,0xC0,0x60,0xC0,0x60,0xC0,0x60,0xC0,0x31,0x80,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 11, // 0x31 '1'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x06,0x00,0x1E,0x00,0x06,0x00,0x06,0x00,0x06,0x00,0x06,0x00,0x06,0x00,0x06,0x00,0x06,0x00,0x06,0x00,0x1F,0x80,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 11, // 0x32 '2'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0x00,0x61,0x80,0x60,0xC0,0x00,0xC0,0x01,0x80,0x03,0x00,0x06,0x00,0x0C,0x00,0x18,0x00,0x30,0x00,0x7F,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 11, // 0x33 '3'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0x00,0x61,0x80,0x60,0xC0,0x00,0xC0,0x01,0x80,0x0F,0x00,0x01,0x80,0x00,0xC0,0x60,0xC0,0x61,0x80,0x3F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 11, // 0x34 '4'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x80,0x03,0x80,0x05,0x80,0x09,0x80,0x11,0x80,0x21,0x80,0x41,0x80,0x7F,0xE0,0x01,0x80,0x01,0x80,0x01,0x80,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 11, // 0x35 '5'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0xC0,0x30,0x00,0x30,0x00,0x30,0x00,0x3F,0x00,0x01,0x80,0x00,0xC0,0x00,0xC0,0x60,0xC0,0x61,0x80,0x3F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 11, // 0x36 '6'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0x80,0x18,0x00,0x30,0x00,0x60,0x00,0x6F,0x00,0x71,0x80,0x60,0xC0,0x60,0xC0,0x60,0xC0,0x31,0x80,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 11, // 0x37 '7'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7F,0xC0,0x00,0xC0,0x01,0x80,0x01,0x80,0x03,0x00,0x03,0x00,0x06,0x00,0x06,0x00,0x0C,0x00,0x0C,0x00,0x18,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 11, // 0x38 '8'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1F,0x00,0x31,0x80,0x60,0xC0,0x60,0xC0,0x31,0x80,0x1F,0x00,0x31,0x80,0x60,0xC0,0x60,0xC0,0x31,0x80,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 11, // 0x39 '9'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1F,0x00,0x31,0x80,0x60,0xC0,0x60,0xC0,0x60,0xC0,0x31,0xC0,0x1E,0xC0,0x00,0xC0,0x01,0x80,0x03,0x00,0x3E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 6, // 0x3A ':'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x30,0x30,0x00,0x00,0x30,0x30,0x30,0x00,0x00,0x00,
-
- 6, // 0x3B ';'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x30,0x30,0x00,0x00,0x38,0x30,0x30,0x30,0x60,0x60,
-
- 13, // 0x3C '<'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x00,0xC0,0x03,0x00,0x0C,0x00,0x30,0x00,0x30,0x00,0x0C,0x00,0x03,0x00,0x00,0xC0,0x00,0x20,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 13, // 0x3D '='
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 13, // 0x3E '>'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x00,0x18,0x00,0x06,0x00,0x01,0x80,0x00,0x60,0x00,0x60,0x01,0x80,0x06,0x00,0x18,0x00,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 9, // 0x3F '?'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3E,0x00,0x63,0x00,0x03,0x00,0x03,0x00,0x06,0x00,0x0C,0x00,0x18,0x00,0x18,0x00,0x00,0x00,0x18,0x00,0x18,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 14, // 0x40 '@'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0x80,0x18,0x60,0x20,0x10,0x27,0xD0,0x4C,0xC8,0x4C,0xC8,0x4C,0xC8,0x4C,0xC8,0x4C,0xC8,0x27,0xF0,0x20,0x00,0x18,0x00,0x07,0xC0,0x00,0x00,
-
- 12, // 0x41 'A'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x06,0x00,0x06,0x00,0x0F,0x00,0x0F,0x00,0x19,0x80,0x19,0x80,0x30,0xC0,0x3F,0xC0,0x30,0xC0,0x60,0x60,0x60,0x60,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 11, // 0x42 'B'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7F,0x00,0x61,0x80,0x61,0x80,0x61,0x80,0x63,0x00,0x7F,0x00,0x61,0x80,0x60,0xC0,0x60,0xC0,0x61,0x80,0x7F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 11, // 0x43 'C'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0x80,0x38,0xC0,0x30,0xC0,0x60,0x00,0x60,0x00,0x60,0x00,0x60,0x00,0x60,0x00,0x30,0xC0,0x38,0xC0,0x0F,0x80,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 12, // 0x44 'D'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7F,0x00,0x61,0xC0,0x60,0xC0,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0xC0,0x61,0xC0,0x7F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 10, // 0x45 'E'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7F,0x80,0x60,0x00,0x60,0x00,0x60,0x00,0x60,0x00,0x7F,0x80,0x60,0x00,0x60,0x00,0x60,0x00,0x60,0x00,0x7F,0x80,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 10, // 0x46 'F'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7F,0x80,0x60,0x00,0x60,0x00,0x60,0x00,0x60,0x00,0x7F,0x80,0x60,0x00,0x60,0x00,0x60,0x00,0x60,0x00,0x60,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 12, // 0x47 'G'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0xC0,0x38,0x60,0x30,0x60,0x60,0x00,0x60,0x00,0x63,0xE0,0x60,0x60,0x60,0x60,0x30,0x60,0x38,0x60,0x0F,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 12, // 0x48 'H'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x7F,0xE0,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 8, // 0x49 'I'
- 0x00,0x00,0x00,0x00,0x7E,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x7E,0x00,0x00,0x00,
-
- 8, // 0x4A 'J'
- 0x00,0x00,0x00,0x00,0x3E,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x0C,0xF8,0x00,0x00,0x00,
-
- 12, // 0x4B 'K'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x60,0x60,0x60,0xC0,0x61,0x80,0x63,0x00,0x66,0x00,0x6C,0x00,0x7E,0x00,0x73,0x00,0x61,0x80,0x60,0xC0,0x60,0x60,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 10, // 0x4C 'L'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x60,0x00,0x60,0x00,0x60,0x00,0x60,0x00,0x60,0x00,0x60,0x00,0x60,0x00,0x60,0x00,0x60,0x00,0x60,0x00,0x7F,0x80,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 14, // 0x4D 'M'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x60,0x38,0x70,0x38,0x70,0x78,0x58,0x58,0x58,0xD8,0x4C,0x98,0x4D,0x98,0x47,0x18,0x47,0x18,0x42,0x18,0x40,0x18,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 12, // 0x4E 'N'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x70,0x20,0x70,0x20,0x58,0x20,0x4C,0x20,0x4C,0x20,0x46,0x20,0x43,0x20,0x43,0x20,0x41,0xA0,0x40,0xE0,0x40,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 13, // 0x4F 'O'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0x80,0x38,0xE0,0x30,0x60,0x60,0x30,0x60,0x30,0x60,0x30,0x60,0x30,0x60,0x30,0x30,0x60,0x38,0xE0,0x0F,0x80,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 11, // 0x50 'P'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7F,0x00,0x61,0x80,0x60,0xC0,0x60,0xC0,0x60,0xC0,0x61,0x80,0x7F,0x00,0x60,0x00,0x60,0x00,0x60,0x00,0x60,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 13, // 0x51 'Q'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0x80,0x38,0xE0,0x30,0x60,0x60,0x30,0x60,0x30,0x60,0x30,0x60,0x30,0x60,0x30,0x30,0x60,0x38,0xE0,0x0F,0x80,0x03,0x00,0x03,0x80,0x01,0xF0,
-
- 12, // 0x52 'R'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7F,0x00,0x61,0x80,0x60,0xC0,0x60,0xC0,0x60,0xC0,0x61,0x80,0x7F,0x00,0x61,0x80,0x60,0xC0,0x60,0x60,0x60,0x30,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 11, // 0x53 'S'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1F,0x80,0x30,0xC0,0x60,0xC0,0x60,0x00,0x7C,0x00,0x3F,0x80,0x03,0xC0,0x00,0xC0,0x60,0xC0,0x61,0x80,0x3F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 10, // 0x54 'T'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7F,0x80,0x0C,0x00,0x0C,0x00,0x0C,0x00,0x0C,0x00,0x0C,0x00,0x0C,0x00,0x0C,0x00,0x0C,0x00,0x0C,0x00,0x0C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 12, // 0x55 'U'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x30,0xC0,0x1F,0x80,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 11, // 0x56 'V'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x60,0xC0,0x60,0xC0,0x60,0xC0,0x31,0x80,0x31,0x80,0x31,0x80,0x1B,0x00,0x1B,0x00,0x1B,0x00,0x0E,0x00,0x0E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 16, // 0x57 'W'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x61,0x86,0x61,0x86,0x63,0xC6,0x33,0xCC,0x32,0x4C,0x32,0x4C,0x1E,0x78,0x1C,0x38,0x1C,0x38,0x0C,0x30,0x0C,0x30,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 11, // 0x58 'X'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x60,0xC0,0x31,0x80,0x31,0x80,0x1B,0x00,0x0E,0x00,0x0E,0x00,0x0E,0x00,0x1B,0x00,0x31,0x80,0x31,0x80,0x60,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 11, // 0x59 'Y'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0xC0,0x61,0x80,0x61,0x80,0x33,0x00,0x1E,0x00,0x1E,0x00,0x0C,0x00,0x0C,0x00,0x0C,0x00,0x0C,0x00,0x0C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 10, // 0x5A 'Z'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7F,0x80,0x01,0x80,0x03,0x00,0x06,0x00,0x06,0x00,0x0C,0x00,0x18,0x00,0x18,0x00,0x30,0x00,0x60,0x00,0x7F,0x80,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 8, // 0x5B '['
- 0x00,0x00,0x00,0x3E,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x3E,
-
- 10, // 0x5C '\'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x60,0x00,0x60,0x00,0x30,0x00,0x30,0x00,0x18,0x00,0x18,0x00,0x0C,0x00,0x0C,0x00,0x06,0x00,0x06,0x00,0x03,0x00,0x03,0x00,0x01,0x80,0x01,0x80,0x00,0x00,
-
- 8, // 0x5D ']'
- 0x00,0x00,0x00,0x7C,0x0C,0x0C,0x0C,0x0C,0x0C,0x0C,0x0C,0x0C,0x0C,0x0C,0x0C,0x0C,0x0C,0x7C,
-
- 13, // 0x5E '^'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x06,0x00,0x0F,0x00,0x19,0x80,0x30,0xC0,0x60,0x60,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 11, // 0x5F '_'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xE0,0x00,0x00,
-
- 11, // 0x60 '`'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x18,0x00,0x0C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 10, // 0x61 'a'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0x00,0x01,0x80,0x01,0x80,0x3F,0x80,0x61,0x80,0x61,0x80,0x63,0x80,0x3D,0x80,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 10, // 0x62 'b'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x60,0x00,0x60,0x00,0x60,0x00,0x60,0x00,0x6E,0x00,0x73,0x00,0x61,0x80,0x61,0x80,0x61,0x80,0x61,0x80,0x63,0x00,0x7E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 8, // 0x63 'c'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1E,0x33,0x60,0x60,0x60,0x60,0x33,0x1E,0x00,0x00,0x00,
-
- 10, // 0x64 'd'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x80,0x01,0x80,0x01,0x80,0x01,0x80,0x1F,0x80,0x31,0x80,0x61,0x80,0x61,0x80,0x61,0x80,0x61,0x80,0x33,0x80,0x1D,0x80,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 10, // 0x65 'e'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1E,0x00,0x33,0x00,0x61,0x80,0x7F,0x80,0x60,0x00,0x60,0x00,0x31,0x80,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 6, // 0x66 'f'
- 0x00,0x00,0x00,0x1C,0x30,0x30,0x30,0x7C,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x00,0x00,0x00,
-
- 10, // 0x67 'g'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1F,0x80,0x31,0x80,0x61,0x80,0x61,0x80,0x61,0x80,0x61,0x80,0x33,0x80,0x1D,0x80,0x01,0x80,0x03,0x00,0x3E,0x00,
-
- 10, // 0x68 'h'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x60,0x00,0x60,0x00,0x60,0x00,0x60,0x00,0x6F,0x00,0x71,0x80,0x61,0x80,0x61,0x80,0x61,0x80,0x61,0x80,0x61,0x80,0x61,0x80,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 4, // 0x69 'i'
- 0x00,0x00,0x00,0x60,0x60,0x00,0x00,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x00,0x00,0x00,
-
- 6, // 0x6A 'j'
- 0x00,0x00,0x00,0x18,0x18,0x00,0x00,0x78,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0xF0,
-
- 10, // 0x6B 'k'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x60,0x00,0x60,0x00,0x60,0x00,0x60,0x00,0x61,0x80,0x63,0x00,0x66,0x00,0x6C,0x00,0x7E,0x00,0x73,0x00,0x61,0x80,0x60,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 4, // 0x6C 'l'
- 0x00,0x00,0x00,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x00,0x00,0x00,
-
- 16, // 0x6D 'm'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x6F,0x3C,0x71,0xC6,0x61,0x86,0x61,0x86,0x61,0x86,0x61,0x86,0x61,0x86,0x61,0x86,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 10, // 0x6E 'n'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x6F,0x00,0x71,0x80,0x61,0x80,0x61,0x80,0x61,0x80,0x61,0x80,0x61,0x80,0x61,0x80,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 10, // 0x6F 'o'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1E,0x00,0x33,0x00,0x61,0x80,0x61,0x80,0x61,0x80,0x61,0x80,0x33,0x00,0x1E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 10, // 0x70 'p'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x6E,0x00,0x73,0x00,0x61,0x80,0x61,0x80,0x61,0x80,0x61,0x80,0x63,0x00,0x7E,0x00,0x60,0x00,0x60,0x00,0x60,0x00,
-
- 10, // 0x71 'q'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1F,0x80,0x31,0x80,0x61,0x80,0x61,0x80,0x61,0x80,0x61,0x80,0x33,0x80,0x1D,0x80,0x01,0x80,0x01,0x80,0x01,0x80,
-
- 7, // 0x72 'r'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x6E,0x7E,0x60,0x60,0x60,0x60,0x60,0x60,0x00,0x00,0x00,
-
- 9, // 0x73 's'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3E,0x00,0x61,0x00,0x60,0x00,0x7E,0x00,0x3F,0x00,0x03,0x00,0x43,0x00,0x3E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 7, // 0x74 't'
- 0x00,0x00,0x00,0x00,0x00,0x30,0x30,0x7E,0x30,0x30,0x30,0x30,0x30,0x30,0x1E,0x00,0x00,0x00,
-
- 10, // 0x75 'u'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x61,0x80,0x61,0x80,0x61,0x80,0x61,0x80,0x61,0x80,0x61,0x80,0x63,0x80,0x3D,0x80,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 10, // 0x76 'v'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x61,0x80,0x61,0x80,0x33,0x00,0x33,0x00,0x33,0x00,0x1E,0x00,0x1E,0x00,0x0C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 14, // 0x77 'w'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x63,0x18,0x63,0x18,0x63,0x18,0x37,0xB0,0x34,0xB0,0x3C,0xF0,0x18,0x60,0x18,0x60,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 10, // 0x78 'x'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x61,0x80,0x33,0x00,0x33,0x00,0x1E,0x00,0x1E,0x00,0x33,0x00,0x33,0x00,0x61,0x80,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 10, // 0x79 'y'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x61,0x80,0x61,0x80,0x33,0x00,0x33,0x00,0x33,0x00,0x1E,0x00,0x1E,0x00,0x0C,0x00,0x0C,0x00,0x18,0x00,0x18,0x00,
-
- 9, // 0x7A 'z'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7F,0x00,0x03,0x00,0x06,0x00,0x0C,0x00,0x18,0x00,0x30,0x00,0x60,0x00,0x7F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 11, // 0x7B '{'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x07,0x80,0x0C,0x00,0x0C,0x00,0x0C,0x00,0x0C,0x00,0x0C,0x00,0x18,0x00,0x70,0x00,0x18,0x00,0x0C,0x00,0x0C,0x00,0x0C,0x00,0x0C,0x00,0x0C,0x00,0x07,0x80,
-
- 8, // 0x7C '|'
- 0x00,0x00,0x00,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,
-
- 11, // 0x7D '}'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x3C,0x00,0x06,0x00,0x06,0x00,0x06,0x00,0x06,0x00,0x06,0x00,0x03,0x00,0x01,0xC0,0x03,0x00,0x06,0x00,0x06,0x00,0x06,0x00,0x06,0x00,0x06,0x00,0x3C,0x00,
-
- 13, // 0x7E '~'
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x18,0x10,0x24,0x10,0x42,0x10,0x41,0x20,0x40,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 15, // 0x7F ''
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0xF8,0x20,0x08,0x20,0x08,0x20,0x08,0x20,0x08,0x20,0x08,0x20,0x08,0x20,0x08,0x20,0x08,0x20,0x08,0x3F,0xF8,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 0
- };
-
-}
-
diff --git a/contrib/python/matplotlib/py3/extern/agg24-svn/src/agg_gsv_text.cpp b/contrib/python/matplotlib/py3/extern/agg24-svn/src/agg_gsv_text.cpp
deleted file mode 100644
index ffb24eb9b6..0000000000
--- a/contrib/python/matplotlib/py3/extern/agg24-svn/src/agg_gsv_text.cpp
+++ /dev/null
@@ -1,675 +0,0 @@
-//----------------------------------------------------------------------------
-// Anti-Grain Geometry - Version 2.4
-// Copyright (C) 2002-2005 Maxim Shemanarev (http://www.antigrain.com)
-//
-// Permission to copy, use, modify, sell and distribute this software
-// is granted provided this copyright notice appears in all copies.
-// This software is provided "as is" without express or implied
-// warranty, and with no claim as to its suitability for any purpose.
-//
-//----------------------------------------------------------------------------
-// Contact: mcseem@antigrain.com
-// mcseemagg@yahoo.com
-// http://www.antigrain.com
-//----------------------------------------------------------------------------
-//
-// Class gsv_text
-//
-//----------------------------------------------------------------------------
-#include <string.h>
-#include <stdio.h>
-#include "agg_gsv_text.h"
-#include "agg_bounding_rect.h"
-
-
-
-namespace agg
-{
- int8u gsv_default_font[] =
- {
- 0x40,0x00,0x6c,0x0f,0x15,0x00,0x0e,0x00,0xf9,0xff,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x0d,0x0a,0x0d,0x0a,0x46,0x6f,0x6e,0x74,0x20,0x28,
- 0x63,0x29,0x20,0x4d,0x69,0x63,0x72,0x6f,0x50,0x72,
- 0x6f,0x66,0x20,0x32,0x37,0x20,0x53,0x65,0x70,0x74,
- 0x65,0x6d,0x62,0x2e,0x31,0x39,0x38,0x39,0x00,0x0d,
- 0x0a,0x0d,0x0a,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x02,0x00,0x12,0x00,0x34,0x00,0x46,0x00,0x94,0x00,
- 0xd0,0x00,0x2e,0x01,0x3e,0x01,0x64,0x01,0x8a,0x01,
- 0x98,0x01,0xa2,0x01,0xb4,0x01,0xba,0x01,0xc6,0x01,
- 0xcc,0x01,0xf0,0x01,0xfa,0x01,0x18,0x02,0x38,0x02,
- 0x44,0x02,0x68,0x02,0x98,0x02,0xa2,0x02,0xde,0x02,
- 0x0e,0x03,0x24,0x03,0x40,0x03,0x48,0x03,0x52,0x03,
- 0x5a,0x03,0x82,0x03,0xec,0x03,0xfa,0x03,0x26,0x04,
- 0x4c,0x04,0x6a,0x04,0x7c,0x04,0x8a,0x04,0xb6,0x04,
- 0xc4,0x04,0xca,0x04,0xe0,0x04,0xee,0x04,0xf8,0x04,
- 0x0a,0x05,0x18,0x05,0x44,0x05,0x5e,0x05,0x8e,0x05,
- 0xac,0x05,0xd6,0x05,0xe0,0x05,0xf6,0x05,0x00,0x06,
- 0x12,0x06,0x1c,0x06,0x28,0x06,0x36,0x06,0x48,0x06,
- 0x4e,0x06,0x60,0x06,0x6e,0x06,0x74,0x06,0x84,0x06,
- 0xa6,0x06,0xc8,0x06,0xe6,0x06,0x08,0x07,0x2c,0x07,
- 0x3c,0x07,0x68,0x07,0x7c,0x07,0x8c,0x07,0xa2,0x07,
- 0xb0,0x07,0xb6,0x07,0xd8,0x07,0xec,0x07,0x10,0x08,
- 0x32,0x08,0x54,0x08,0x64,0x08,0x88,0x08,0x98,0x08,
- 0xac,0x08,0xb6,0x08,0xc8,0x08,0xd2,0x08,0xe4,0x08,
- 0xf2,0x08,0x3e,0x09,0x48,0x09,0x94,0x09,0xc2,0x09,
- 0xc4,0x09,0xd0,0x09,0xe2,0x09,0x04,0x0a,0x0e,0x0a,
- 0x26,0x0a,0x34,0x0a,0x4a,0x0a,0x66,0x0a,0x70,0x0a,
- 0x7e,0x0a,0x8e,0x0a,0x9a,0x0a,0xa6,0x0a,0xb4,0x0a,
- 0xd8,0x0a,0xe2,0x0a,0xf6,0x0a,0x18,0x0b,0x22,0x0b,
- 0x32,0x0b,0x56,0x0b,0x60,0x0b,0x6e,0x0b,0x7c,0x0b,
- 0x8a,0x0b,0x9c,0x0b,0x9e,0x0b,0xb2,0x0b,0xc2,0x0b,
- 0xd8,0x0b,0xf4,0x0b,0x08,0x0c,0x30,0x0c,0x56,0x0c,
- 0x72,0x0c,0x90,0x0c,0xb2,0x0c,0xce,0x0c,0xe2,0x0c,
- 0xfe,0x0c,0x10,0x0d,0x26,0x0d,0x36,0x0d,0x42,0x0d,
- 0x4e,0x0d,0x5c,0x0d,0x78,0x0d,0x8c,0x0d,0x8e,0x0d,
- 0x90,0x0d,0x92,0x0d,0x94,0x0d,0x96,0x0d,0x98,0x0d,
- 0x9a,0x0d,0x9c,0x0d,0x9e,0x0d,0xa0,0x0d,0xa2,0x0d,
- 0xa4,0x0d,0xa6,0x0d,0xa8,0x0d,0xaa,0x0d,0xac,0x0d,
- 0xae,0x0d,0xb0,0x0d,0xb2,0x0d,0xb4,0x0d,0xb6,0x0d,
- 0xb8,0x0d,0xba,0x0d,0xbc,0x0d,0xbe,0x0d,0xc0,0x0d,
- 0xc2,0x0d,0xc4,0x0d,0xc6,0x0d,0xc8,0x0d,0xca,0x0d,
- 0xcc,0x0d,0xce,0x0d,0xd0,0x0d,0xd2,0x0d,0xd4,0x0d,
- 0xd6,0x0d,0xd8,0x0d,0xda,0x0d,0xdc,0x0d,0xde,0x0d,
- 0xe0,0x0d,0xe2,0x0d,0xe4,0x0d,0xe6,0x0d,0xe8,0x0d,
- 0xea,0x0d,0xec,0x0d,0x0c,0x0e,0x26,0x0e,0x48,0x0e,
- 0x64,0x0e,0x88,0x0e,0x92,0x0e,0xa6,0x0e,0xb4,0x0e,
- 0xd0,0x0e,0xee,0x0e,0x02,0x0f,0x16,0x0f,0x26,0x0f,
- 0x3c,0x0f,0x58,0x0f,0x6c,0x0f,0x6c,0x0f,0x6c,0x0f,
- 0x6c,0x0f,0x6c,0x0f,0x6c,0x0f,0x6c,0x0f,0x6c,0x0f,
- 0x6c,0x0f,0x6c,0x0f,0x6c,0x0f,0x6c,0x0f,0x6c,0x0f,
- 0x6c,0x0f,0x6c,0x0f,0x6c,0x0f,0x6c,0x0f,0x10,0x80,
- 0x05,0x95,0x00,0x72,0x00,0xfb,0xff,0x7f,0x01,0x7f,
- 0x01,0x01,0xff,0x01,0x05,0xfe,0x05,0x95,0xff,0x7f,
- 0x00,0x7a,0x01,0x86,0xff,0x7a,0x01,0x87,0x01,0x7f,
- 0xfe,0x7a,0x0a,0x87,0xff,0x7f,0x00,0x7a,0x01,0x86,
- 0xff,0x7a,0x01,0x87,0x01,0x7f,0xfe,0x7a,0x05,0xf2,
- 0x0b,0x95,0xf9,0x64,0x0d,0x9c,0xf9,0x64,0xfa,0x91,
- 0x0e,0x00,0xf1,0xfa,0x0e,0x00,0x04,0xfc,0x08,0x99,
- 0x00,0x63,0x04,0x9d,0x00,0x63,0x04,0x96,0xff,0x7f,
- 0x01,0x7f,0x01,0x01,0x00,0x01,0xfe,0x02,0xfd,0x01,
- 0xfc,0x00,0xfd,0x7f,0xfe,0x7e,0x00,0x7e,0x01,0x7e,
- 0x01,0x7f,0x02,0x7f,0x06,0x7e,0x02,0x7f,0x02,0x7e,
- 0xf2,0x89,0x02,0x7e,0x02,0x7f,0x06,0x7e,0x02,0x7f,
- 0x01,0x7f,0x01,0x7e,0x00,0x7c,0xfe,0x7e,0xfd,0x7f,
- 0xfc,0x00,0xfd,0x01,0xfe,0x02,0x00,0x01,0x01,0x01,
- 0x01,0x7f,0xff,0x7f,0x10,0xfd,0x15,0x95,0xee,0x6b,
- 0x05,0x95,0x02,0x7e,0x00,0x7e,0xff,0x7e,0xfe,0x7f,
- 0xfe,0x00,0xfe,0x02,0x00,0x02,0x01,0x02,0x02,0x01,
- 0x02,0x00,0x02,0x7f,0x03,0x7f,0x03,0x00,0x03,0x01,
- 0x02,0x01,0xfc,0xf2,0xfe,0x7f,0xff,0x7e,0x00,0x7e,
- 0x02,0x7e,0x02,0x00,0x02,0x01,0x01,0x02,0x00,0x02,
- 0xfe,0x02,0xfe,0x00,0x07,0xf9,0x15,0x8d,0xff,0x7f,
- 0x01,0x7f,0x01,0x01,0x00,0x01,0xff,0x01,0xff,0x00,
- 0xff,0x7f,0xff,0x7e,0xfe,0x7b,0xfe,0x7d,0xfe,0x7e,
- 0xfe,0x7f,0xfd,0x00,0xfd,0x01,0xff,0x02,0x00,0x03,
- 0x01,0x02,0x06,0x04,0x02,0x02,0x01,0x02,0x00,0x02,
- 0xff,0x02,0xfe,0x01,0xfe,0x7f,0xff,0x7e,0x00,0x7e,
- 0x01,0x7d,0x02,0x7d,0x05,0x79,0x02,0x7e,0x03,0x7f,
- 0x01,0x00,0x01,0x01,0x00,0x01,0xf1,0xfe,0xfe,0x01,
- 0xff,0x02,0x00,0x03,0x01,0x02,0x02,0x02,0x00,0x86,
- 0x01,0x7e,0x08,0x75,0x02,0x7e,0x02,0x7f,0x05,0x80,
- 0x05,0x93,0xff,0x01,0x01,0x01,0x01,0x7f,0x00,0x7e,
- 0xff,0x7e,0xff,0x7f,0x06,0xf1,0x0b,0x99,0xfe,0x7e,
- 0xfe,0x7d,0xfe,0x7c,0xff,0x7b,0x00,0x7c,0x01,0x7b,
- 0x02,0x7c,0x02,0x7d,0x02,0x7e,0xfe,0x9e,0xfe,0x7c,
- 0xff,0x7d,0xff,0x7b,0x00,0x7c,0x01,0x7b,0x01,0x7d,
- 0x02,0x7c,0x05,0x85,0x03,0x99,0x02,0x7e,0x02,0x7d,
- 0x02,0x7c,0x01,0x7b,0x00,0x7c,0xff,0x7b,0xfe,0x7c,
- 0xfe,0x7d,0xfe,0x7e,0x02,0x9e,0x02,0x7c,0x01,0x7d,
- 0x01,0x7b,0x00,0x7c,0xff,0x7b,0xff,0x7d,0xfe,0x7c,
- 0x09,0x85,0x08,0x95,0x00,0x74,0xfb,0x89,0x0a,0x7a,
- 0x00,0x86,0xf6,0x7a,0x0d,0xf4,0x0d,0x92,0x00,0x6e,
- 0xf7,0x89,0x12,0x00,0x04,0xf7,0x06,0x81,0xff,0x7f,
- 0xff,0x01,0x01,0x01,0x01,0x7f,0x00,0x7e,0xff,0x7e,
- 0xff,0x7f,0x06,0x84,0x04,0x89,0x12,0x00,0x04,0xf7,
- 0x05,0x82,0xff,0x7f,0x01,0x7f,0x01,0x01,0xff,0x01,
- 0x05,0xfe,0x00,0xfd,0x0e,0x18,0x00,0xeb,0x09,0x95,
- 0xfd,0x7f,0xfe,0x7d,0xff,0x7b,0x00,0x7d,0x01,0x7b,
- 0x02,0x7d,0x03,0x7f,0x02,0x00,0x03,0x01,0x02,0x03,
- 0x01,0x05,0x00,0x03,0xff,0x05,0xfe,0x03,0xfd,0x01,
- 0xfe,0x00,0x0b,0xeb,0x06,0x91,0x02,0x01,0x03,0x03,
- 0x00,0x6b,0x09,0x80,0x04,0x90,0x00,0x01,0x01,0x02,
- 0x01,0x01,0x02,0x01,0x04,0x00,0x02,0x7f,0x01,0x7f,
- 0x01,0x7e,0x00,0x7e,0xff,0x7e,0xfe,0x7d,0xf6,0x76,
- 0x0e,0x00,0x03,0x80,0x05,0x95,0x0b,0x00,0xfa,0x78,
- 0x03,0x00,0x02,0x7f,0x01,0x7f,0x01,0x7d,0x00,0x7e,
- 0xff,0x7d,0xfe,0x7e,0xfd,0x7f,0xfd,0x00,0xfd,0x01,
- 0xff,0x01,0xff,0x02,0x11,0xfc,0x0d,0x95,0xf6,0x72,
- 0x0f,0x00,0xfb,0x8e,0x00,0x6b,0x07,0x80,0x0f,0x95,
- 0xf6,0x00,0xff,0x77,0x01,0x01,0x03,0x01,0x03,0x00,
- 0x03,0x7f,0x02,0x7e,0x01,0x7d,0x00,0x7e,0xff,0x7d,
- 0xfe,0x7e,0xfd,0x7f,0xfd,0x00,0xfd,0x01,0xff,0x01,
- 0xff,0x02,0x11,0xfc,0x10,0x92,0xff,0x02,0xfd,0x01,
- 0xfe,0x00,0xfd,0x7f,0xfe,0x7d,0xff,0x7b,0x00,0x7b,
- 0x01,0x7c,0x02,0x7e,0x03,0x7f,0x01,0x00,0x03,0x01,
- 0x02,0x02,0x01,0x03,0x00,0x01,0xff,0x03,0xfe,0x02,
- 0xfd,0x01,0xff,0x00,0xfd,0x7f,0xfe,0x7e,0xff,0x7d,
- 0x10,0xf9,0x11,0x95,0xf6,0x6b,0xfc,0x95,0x0e,0x00,
- 0x03,0xeb,0x08,0x95,0xfd,0x7f,0xff,0x7e,0x00,0x7e,
- 0x01,0x7e,0x02,0x7f,0x04,0x7f,0x03,0x7f,0x02,0x7e,
- 0x01,0x7e,0x00,0x7d,0xff,0x7e,0xff,0x7f,0xfd,0x7f,
- 0xfc,0x00,0xfd,0x01,0xff,0x01,0xff,0x02,0x00,0x03,
- 0x01,0x02,0x02,0x02,0x03,0x01,0x04,0x01,0x02,0x01,
- 0x01,0x02,0x00,0x02,0xff,0x02,0xfd,0x01,0xfc,0x00,
- 0x0c,0xeb,0x10,0x8e,0xff,0x7d,0xfe,0x7e,0xfd,0x7f,
- 0xff,0x00,0xfd,0x01,0xfe,0x02,0xff,0x03,0x00,0x01,
- 0x01,0x03,0x02,0x02,0x03,0x01,0x01,0x00,0x03,0x7f,
- 0x02,0x7e,0x01,0x7c,0x00,0x7b,0xff,0x7b,0xfe,0x7d,
- 0xfd,0x7f,0xfe,0x00,0xfd,0x01,0xff,0x02,0x10,0xfd,
- 0x05,0x8e,0xff,0x7f,0x01,0x7f,0x01,0x01,0xff,0x01,
- 0x00,0xf4,0xff,0x7f,0x01,0x7f,0x01,0x01,0xff,0x01,
- 0x05,0xfe,0x05,0x8e,0xff,0x7f,0x01,0x7f,0x01,0x01,
- 0xff,0x01,0x01,0xf3,0xff,0x7f,0xff,0x01,0x01,0x01,
- 0x01,0x7f,0x00,0x7e,0xff,0x7e,0xff,0x7f,0x06,0x84,
- 0x14,0x92,0xf0,0x77,0x10,0x77,0x04,0x80,0x04,0x8c,
- 0x12,0x00,0xee,0xfa,0x12,0x00,0x04,0xfa,0x04,0x92,
- 0x10,0x77,0xf0,0x77,0x14,0x80,0x03,0x90,0x00,0x01,
- 0x01,0x02,0x01,0x01,0x02,0x01,0x04,0x00,0x02,0x7f,
- 0x01,0x7f,0x01,0x7e,0x00,0x7e,0xff,0x7e,0xff,0x7f,
- 0xfc,0x7e,0x00,0x7d,0x00,0xfb,0xff,0x7f,0x01,0x7f,
- 0x01,0x01,0xff,0x01,0x09,0xfe,0x12,0x8d,0xff,0x02,
- 0xfe,0x01,0xfd,0x00,0xfe,0x7f,0xff,0x7f,0xff,0x7d,
- 0x00,0x7d,0x01,0x7e,0x02,0x7f,0x03,0x00,0x02,0x01,
- 0x01,0x02,0xfb,0x88,0xfe,0x7e,0xff,0x7d,0x00,0x7d,
- 0x01,0x7e,0x01,0x7f,0x07,0x8b,0xff,0x78,0x00,0x7e,
- 0x02,0x7f,0x02,0x00,0x02,0x02,0x01,0x03,0x00,0x02,
- 0xff,0x03,0xff,0x02,0xfe,0x02,0xfe,0x01,0xfd,0x01,
- 0xfd,0x00,0xfd,0x7f,0xfe,0x7f,0xfe,0x7e,0xff,0x7e,
- 0xff,0x7d,0x00,0x7d,0x01,0x7d,0x01,0x7e,0x02,0x7e,
- 0x02,0x7f,0x03,0x7f,0x03,0x00,0x03,0x01,0x02,0x01,
- 0x01,0x01,0xfe,0x8d,0xff,0x78,0x00,0x7e,0x01,0x7f,
- 0x08,0xfb,0x09,0x95,0xf8,0x6b,0x08,0x95,0x08,0x6b,
- 0xf3,0x87,0x0a,0x00,0x04,0xf9,0x04,0x95,0x00,0x6b,
- 0x00,0x95,0x09,0x00,0x03,0x7f,0x01,0x7f,0x01,0x7e,
- 0x00,0x7e,0xff,0x7e,0xff,0x7f,0xfd,0x7f,0xf7,0x80,
- 0x09,0x00,0x03,0x7f,0x01,0x7f,0x01,0x7e,0x00,0x7d,
- 0xff,0x7e,0xff,0x7f,0xfd,0x7f,0xf7,0x00,0x11,0x80,
- 0x12,0x90,0xff,0x02,0xfe,0x02,0xfe,0x01,0xfc,0x00,
- 0xfe,0x7f,0xfe,0x7e,0xff,0x7e,0xff,0x7d,0x00,0x7b,
- 0x01,0x7d,0x01,0x7e,0x02,0x7e,0x02,0x7f,0x04,0x00,
- 0x02,0x01,0x02,0x02,0x01,0x02,0x03,0xfb,0x04,0x95,
- 0x00,0x6b,0x00,0x95,0x07,0x00,0x03,0x7f,0x02,0x7e,
- 0x01,0x7e,0x01,0x7d,0x00,0x7b,0xff,0x7d,0xff,0x7e,
- 0xfe,0x7e,0xfd,0x7f,0xf9,0x00,0x11,0x80,0x04,0x95,
- 0x00,0x6b,0x00,0x95,0x0d,0x00,0xf3,0xf6,0x08,0x00,
- 0xf8,0xf5,0x0d,0x00,0x02,0x80,0x04,0x95,0x00,0x6b,
- 0x00,0x95,0x0d,0x00,0xf3,0xf6,0x08,0x00,0x06,0xf5,
- 0x12,0x90,0xff,0x02,0xfe,0x02,0xfe,0x01,0xfc,0x00,
- 0xfe,0x7f,0xfe,0x7e,0xff,0x7e,0xff,0x7d,0x00,0x7b,
- 0x01,0x7d,0x01,0x7e,0x02,0x7e,0x02,0x7f,0x04,0x00,
- 0x02,0x01,0x02,0x02,0x01,0x02,0x00,0x03,0xfb,0x80,
- 0x05,0x00,0x03,0xf8,0x04,0x95,0x00,0x6b,0x0e,0x95,
- 0x00,0x6b,0xf2,0x8b,0x0e,0x00,0x04,0xf5,0x04,0x95,
- 0x00,0x6b,0x04,0x80,0x0c,0x95,0x00,0x70,0xff,0x7d,
- 0xff,0x7f,0xfe,0x7f,0xfe,0x00,0xfe,0x01,0xff,0x01,
- 0xff,0x03,0x00,0x02,0x0e,0xf9,0x04,0x95,0x00,0x6b,
- 0x0e,0x95,0xf2,0x72,0x05,0x85,0x09,0x74,0x03,0x80,
- 0x04,0x95,0x00,0x6b,0x00,0x80,0x0c,0x00,0x01,0x80,
- 0x04,0x95,0x00,0x6b,0x00,0x95,0x08,0x6b,0x08,0x95,
- 0xf8,0x6b,0x08,0x95,0x00,0x6b,0x04,0x80,0x04,0x95,
- 0x00,0x6b,0x00,0x95,0x0e,0x6b,0x00,0x95,0x00,0x6b,
- 0x04,0x80,0x09,0x95,0xfe,0x7f,0xfe,0x7e,0xff,0x7e,
- 0xff,0x7d,0x00,0x7b,0x01,0x7d,0x01,0x7e,0x02,0x7e,
- 0x02,0x7f,0x04,0x00,0x02,0x01,0x02,0x02,0x01,0x02,
- 0x01,0x03,0x00,0x05,0xff,0x03,0xff,0x02,0xfe,0x02,
- 0xfe,0x01,0xfc,0x00,0x0d,0xeb,0x04,0x95,0x00,0x6b,
- 0x00,0x95,0x09,0x00,0x03,0x7f,0x01,0x7f,0x01,0x7e,
- 0x00,0x7d,0xff,0x7e,0xff,0x7f,0xfd,0x7f,0xf7,0x00,
- 0x11,0xf6,0x09,0x95,0xfe,0x7f,0xfe,0x7e,0xff,0x7e,
- 0xff,0x7d,0x00,0x7b,0x01,0x7d,0x01,0x7e,0x02,0x7e,
- 0x02,0x7f,0x04,0x00,0x02,0x01,0x02,0x02,0x01,0x02,
- 0x01,0x03,0x00,0x05,0xff,0x03,0xff,0x02,0xfe,0x02,
- 0xfe,0x01,0xfc,0x00,0x03,0xef,0x06,0x7a,0x04,0x82,
- 0x04,0x95,0x00,0x6b,0x00,0x95,0x09,0x00,0x03,0x7f,
- 0x01,0x7f,0x01,0x7e,0x00,0x7e,0xff,0x7e,0xff,0x7f,
- 0xfd,0x7f,0xf7,0x00,0x07,0x80,0x07,0x75,0x03,0x80,
- 0x11,0x92,0xfe,0x02,0xfd,0x01,0xfc,0x00,0xfd,0x7f,
- 0xfe,0x7e,0x00,0x7e,0x01,0x7e,0x01,0x7f,0x02,0x7f,
- 0x06,0x7e,0x02,0x7f,0x01,0x7f,0x01,0x7e,0x00,0x7d,
- 0xfe,0x7e,0xfd,0x7f,0xfc,0x00,0xfd,0x01,0xfe,0x02,
- 0x11,0xfd,0x08,0x95,0x00,0x6b,0xf9,0x95,0x0e,0x00,
- 0x01,0xeb,0x04,0x95,0x00,0x71,0x01,0x7d,0x02,0x7e,
- 0x03,0x7f,0x02,0x00,0x03,0x01,0x02,0x02,0x01,0x03,
- 0x00,0x0f,0x04,0xeb,0x01,0x95,0x08,0x6b,0x08,0x95,
- 0xf8,0x6b,0x09,0x80,0x02,0x95,0x05,0x6b,0x05,0x95,
- 0xfb,0x6b,0x05,0x95,0x05,0x6b,0x05,0x95,0xfb,0x6b,
- 0x07,0x80,0x03,0x95,0x0e,0x6b,0x00,0x95,0xf2,0x6b,
- 0x11,0x80,0x01,0x95,0x08,0x76,0x00,0x75,0x08,0x95,
- 0xf8,0x76,0x09,0xf5,0x11,0x95,0xf2,0x6b,0x00,0x95,
- 0x0e,0x00,0xf2,0xeb,0x0e,0x00,0x03,0x80,0x03,0x93,
- 0x00,0x6c,0x01,0x94,0x00,0x6c,0xff,0x94,0x05,0x00,
- 0xfb,0xec,0x05,0x00,0x02,0x81,0x00,0x95,0x0e,0x68,
- 0x00,0x83,0x06,0x93,0x00,0x6c,0x01,0x94,0x00,0x6c,
- 0xfb,0x94,0x05,0x00,0xfb,0xec,0x05,0x00,0x03,0x81,
- 0x03,0x87,0x08,0x05,0x08,0x7b,0xf0,0x80,0x08,0x04,
- 0x08,0x7c,0x03,0xf9,0x01,0x80,0x10,0x00,0x01,0x80,
- 0x06,0x95,0xff,0x7f,0xff,0x7e,0x00,0x7e,0x01,0x7f,
- 0x01,0x01,0xff,0x01,0x05,0xef,0x0f,0x8e,0x00,0x72,
- 0x00,0x8b,0xfe,0x02,0xfe,0x01,0xfd,0x00,0xfe,0x7f,
- 0xfe,0x7e,0xff,0x7d,0x00,0x7e,0x01,0x7d,0x02,0x7e,
- 0x02,0x7f,0x03,0x00,0x02,0x01,0x02,0x02,0x04,0xfd,
- 0x04,0x95,0x00,0x6b,0x00,0x8b,0x02,0x02,0x02,0x01,
- 0x03,0x00,0x02,0x7f,0x02,0x7e,0x01,0x7d,0x00,0x7e,
- 0xff,0x7d,0xfe,0x7e,0xfe,0x7f,0xfd,0x00,0xfe,0x01,
- 0xfe,0x02,0x0f,0xfd,0x0f,0x8b,0xfe,0x02,0xfe,0x01,
- 0xfd,0x00,0xfe,0x7f,0xfe,0x7e,0xff,0x7d,0x00,0x7e,
- 0x01,0x7d,0x02,0x7e,0x02,0x7f,0x03,0x00,0x02,0x01,
- 0x02,0x02,0x03,0xfd,0x0f,0x95,0x00,0x6b,0x00,0x8b,
- 0xfe,0x02,0xfe,0x01,0xfd,0x00,0xfe,0x7f,0xfe,0x7e,
- 0xff,0x7d,0x00,0x7e,0x01,0x7d,0x02,0x7e,0x02,0x7f,
- 0x03,0x00,0x02,0x01,0x02,0x02,0x04,0xfd,0x03,0x88,
- 0x0c,0x00,0x00,0x02,0xff,0x02,0xff,0x01,0xfe,0x01,
- 0xfd,0x00,0xfe,0x7f,0xfe,0x7e,0xff,0x7d,0x00,0x7e,
- 0x01,0x7d,0x02,0x7e,0x02,0x7f,0x03,0x00,0x02,0x01,
- 0x02,0x02,0x03,0xfd,0x0a,0x95,0xfe,0x00,0xfe,0x7f,
- 0xff,0x7d,0x00,0x6f,0xfd,0x8e,0x07,0x00,0x03,0xf2,
- 0x0f,0x8e,0x00,0x70,0xff,0x7d,0xff,0x7f,0xfe,0x7f,
- 0xfd,0x00,0xfe,0x01,0x09,0x91,0xfe,0x02,0xfe,0x01,
- 0xfd,0x00,0xfe,0x7f,0xfe,0x7e,0xff,0x7d,0x00,0x7e,
- 0x01,0x7d,0x02,0x7e,0x02,0x7f,0x03,0x00,0x02,0x01,
- 0x02,0x02,0x04,0xfd,0x04,0x95,0x00,0x6b,0x00,0x8a,
- 0x03,0x03,0x02,0x01,0x03,0x00,0x02,0x7f,0x01,0x7d,
- 0x00,0x76,0x04,0x80,0x03,0x95,0x01,0x7f,0x01,0x01,
- 0xff,0x01,0xff,0x7f,0x01,0xf9,0x00,0x72,0x04,0x80,
- 0x05,0x95,0x01,0x7f,0x01,0x01,0xff,0x01,0xff,0x7f,
- 0x01,0xf9,0x00,0x6f,0xff,0x7d,0xfe,0x7f,0xfe,0x00,
- 0x09,0x87,0x04,0x95,0x00,0x6b,0x0a,0x8e,0xf6,0x76,
- 0x04,0x84,0x07,0x78,0x02,0x80,0x04,0x95,0x00,0x6b,
- 0x04,0x80,0x04,0x8e,0x00,0x72,0x00,0x8a,0x03,0x03,
- 0x02,0x01,0x03,0x00,0x02,0x7f,0x01,0x7d,0x00,0x76,
- 0x00,0x8a,0x03,0x03,0x02,0x01,0x03,0x00,0x02,0x7f,
- 0x01,0x7d,0x00,0x76,0x04,0x80,0x04,0x8e,0x00,0x72,
- 0x00,0x8a,0x03,0x03,0x02,0x01,0x03,0x00,0x02,0x7f,
- 0x01,0x7d,0x00,0x76,0x04,0x80,0x08,0x8e,0xfe,0x7f,
- 0xfe,0x7e,0xff,0x7d,0x00,0x7e,0x01,0x7d,0x02,0x7e,
- 0x02,0x7f,0x03,0x00,0x02,0x01,0x02,0x02,0x01,0x03,
- 0x00,0x02,0xff,0x03,0xfe,0x02,0xfe,0x01,0xfd,0x00,
- 0x0b,0xf2,0x04,0x8e,0x00,0x6b,0x00,0x92,0x02,0x02,
- 0x02,0x01,0x03,0x00,0x02,0x7f,0x02,0x7e,0x01,0x7d,
- 0x00,0x7e,0xff,0x7d,0xfe,0x7e,0xfe,0x7f,0xfd,0x00,
- 0xfe,0x01,0xfe,0x02,0x0f,0xfd,0x0f,0x8e,0x00,0x6b,
- 0x00,0x92,0xfe,0x02,0xfe,0x01,0xfd,0x00,0xfe,0x7f,
- 0xfe,0x7e,0xff,0x7d,0x00,0x7e,0x01,0x7d,0x02,0x7e,
- 0x02,0x7f,0x03,0x00,0x02,0x01,0x02,0x02,0x04,0xfd,
- 0x04,0x8e,0x00,0x72,0x00,0x88,0x01,0x03,0x02,0x02,
- 0x02,0x01,0x03,0x00,0x01,0xf2,0x0e,0x8b,0xff,0x02,
- 0xfd,0x01,0xfd,0x00,0xfd,0x7f,0xff,0x7e,0x01,0x7e,
- 0x02,0x7f,0x05,0x7f,0x02,0x7f,0x01,0x7e,0x00,0x7f,
- 0xff,0x7e,0xfd,0x7f,0xfd,0x00,0xfd,0x01,0xff,0x02,
- 0x0e,0xfd,0x05,0x95,0x00,0x6f,0x01,0x7d,0x02,0x7f,
- 0x02,0x00,0xf8,0x8e,0x07,0x00,0x03,0xf2,0x04,0x8e,
- 0x00,0x76,0x01,0x7d,0x02,0x7f,0x03,0x00,0x02,0x01,
- 0x03,0x03,0x00,0x8a,0x00,0x72,0x04,0x80,0x02,0x8e,
- 0x06,0x72,0x06,0x8e,0xfa,0x72,0x08,0x80,0x03,0x8e,
- 0x04,0x72,0x04,0x8e,0xfc,0x72,0x04,0x8e,0x04,0x72,
- 0x04,0x8e,0xfc,0x72,0x07,0x80,0x03,0x8e,0x0b,0x72,
- 0x00,0x8e,0xf5,0x72,0x0e,0x80,0x02,0x8e,0x06,0x72,
- 0x06,0x8e,0xfa,0x72,0xfe,0x7c,0xfe,0x7e,0xfe,0x7f,
- 0xff,0x00,0x0f,0x87,0x0e,0x8e,0xf5,0x72,0x00,0x8e,
- 0x0b,0x00,0xf5,0xf2,0x0b,0x00,0x03,0x80,0x09,0x99,
- 0xfe,0x7f,0xff,0x7f,0xff,0x7e,0x00,0x7e,0x01,0x7e,
- 0x01,0x7f,0x01,0x7e,0x00,0x7e,0xfe,0x7e,0x01,0x8e,
- 0xff,0x7e,0x00,0x7e,0x01,0x7e,0x01,0x7f,0x01,0x7e,
- 0x00,0x7e,0xff,0x7e,0xfc,0x7e,0x04,0x7e,0x01,0x7e,
- 0x00,0x7e,0xff,0x7e,0xff,0x7f,0xff,0x7e,0x00,0x7e,
- 0x01,0x7e,0xff,0x8e,0x02,0x7e,0x00,0x7e,0xff,0x7e,
- 0xff,0x7f,0xff,0x7e,0x00,0x7e,0x01,0x7e,0x01,0x7f,
- 0x02,0x7f,0x05,0x87,0x04,0x95,0x00,0x77,0x00,0xfd,
- 0x00,0x77,0x04,0x80,0x05,0x99,0x02,0x7f,0x01,0x7f,
- 0x01,0x7e,0x00,0x7e,0xff,0x7e,0xff,0x7f,0xff,0x7e,
- 0x00,0x7e,0x02,0x7e,0xff,0x8e,0x01,0x7e,0x00,0x7e,
- 0xff,0x7e,0xff,0x7f,0xff,0x7e,0x00,0x7e,0x01,0x7e,
- 0x04,0x7e,0xfc,0x7e,0xff,0x7e,0x00,0x7e,0x01,0x7e,
- 0x01,0x7f,0x01,0x7e,0x00,0x7e,0xff,0x7e,0x01,0x8e,
- 0xfe,0x7e,0x00,0x7e,0x01,0x7e,0x01,0x7f,0x01,0x7e,
- 0x00,0x7e,0xff,0x7e,0xff,0x7f,0xfe,0x7f,0x09,0x87,
- 0x03,0x86,0x00,0x02,0x01,0x03,0x02,0x01,0x02,0x00,
- 0x02,0x7f,0x04,0x7d,0x02,0x7f,0x02,0x00,0x02,0x01,
- 0x01,0x02,0xee,0xfe,0x01,0x02,0x02,0x01,0x02,0x00,
- 0x02,0x7f,0x04,0x7d,0x02,0x7f,0x02,0x00,0x02,0x01,
- 0x01,0x03,0x00,0x02,0x03,0xf4,0x10,0x80,0x03,0x80,
- 0x07,0x15,0x08,0x6b,0xfe,0x85,0xf5,0x00,0x10,0xfb,
- 0x0d,0x95,0xf6,0x00,0x00,0x6b,0x0a,0x00,0x02,0x02,
- 0x00,0x08,0xfe,0x02,0xf6,0x00,0x0e,0xf4,0x03,0x80,
- 0x00,0x15,0x0a,0x00,0x02,0x7e,0x00,0x7e,0x00,0x7d,
- 0x00,0x7e,0xfe,0x7f,0xf6,0x00,0x0a,0x80,0x02,0x7e,
- 0x01,0x7e,0x00,0x7d,0xff,0x7d,0xfe,0x7f,0xf6,0x00,
- 0x10,0x80,0x03,0x80,0x00,0x15,0x0c,0x00,0xff,0x7e,
- 0x03,0xed,0x03,0xfd,0x00,0x03,0x02,0x00,0x00,0x12,
- 0x02,0x03,0x0a,0x00,0x00,0x6b,0x02,0x00,0x00,0x7d,
- 0xfe,0x83,0xf4,0x00,0x11,0x80,0x0f,0x80,0xf4,0x00,
- 0x00,0x15,0x0c,0x00,0xff,0xf6,0xf5,0x00,0x0f,0xf5,
- 0x04,0x95,0x07,0x76,0x00,0x0a,0x07,0x80,0xf9,0x76,
- 0x00,0x75,0xf8,0x80,0x07,0x0c,0x09,0xf4,0xf9,0x0c,
- 0x09,0xf4,0x03,0x92,0x02,0x03,0x07,0x00,0x03,0x7d,
- 0x00,0x7b,0xfc,0x7e,0x04,0x7d,0x00,0x7a,0xfd,0x7e,
- 0xf9,0x00,0xfe,0x02,0x06,0x89,0x02,0x00,0x06,0xf5,
- 0x03,0x95,0x00,0x6b,0x0c,0x15,0x00,0x6b,0x02,0x80,
- 0x03,0x95,0x00,0x6b,0x0c,0x15,0x00,0x6b,0xf8,0x96,
- 0x03,0x00,0x07,0xea,0x03,0x80,0x00,0x15,0x0c,0x80,
- 0xf7,0x76,0xfd,0x00,0x03,0x80,0x0a,0x75,0x03,0x80,
- 0x03,0x80,0x07,0x13,0x02,0x02,0x03,0x00,0x00,0x6b,
- 0x02,0x80,0x03,0x80,0x00,0x15,0x09,0x6b,0x09,0x15,
- 0x00,0x6b,0x03,0x80,0x03,0x80,0x00,0x15,0x00,0xf6,
- 0x0d,0x00,0x00,0x8a,0x00,0x6b,0x03,0x80,0x07,0x80,
- 0xfd,0x00,0xff,0x03,0x00,0x04,0x00,0x07,0x00,0x04,
- 0x01,0x02,0x03,0x01,0x06,0x00,0x03,0x7f,0x01,0x7e,
- 0x01,0x7c,0x00,0x79,0xff,0x7c,0xff,0x7d,0xfd,0x00,
- 0xfa,0x00,0x0e,0x80,0x03,0x80,0x00,0x15,0x0c,0x00,
- 0x00,0x6b,0x02,0x80,0x03,0x80,0x00,0x15,0x0a,0x00,
- 0x02,0x7f,0x01,0x7d,0x00,0x7b,0xff,0x7e,0xfe,0x7f,
- 0xf6,0x00,0x10,0xf7,0x11,0x8f,0xff,0x03,0xff,0x02,
- 0xfe,0x01,0xfa,0x00,0xfd,0x7f,0xff,0x7e,0x00,0x7c,
- 0x00,0x79,0x00,0x7b,0x01,0x7e,0x03,0x00,0x06,0x00,
- 0x02,0x00,0x01,0x03,0x01,0x02,0x03,0xfb,0x03,0x95,
- 0x0c,0x00,0xfa,0x80,0x00,0x6b,0x09,0x80,0x03,0x95,
- 0x00,0x77,0x06,0x7a,0x06,0x06,0x00,0x09,0xfa,0xf1,
- 0xfa,0x7a,0x0e,0x80,0x03,0x87,0x00,0x0b,0x02,0x02,
- 0x03,0x00,0x02,0x7e,0x01,0x02,0x04,0x00,0x02,0x7e,
- 0x00,0x75,0xfe,0x7e,0xfc,0x00,0xff,0x01,0xfe,0x7f,
- 0xfd,0x00,0xfe,0x02,0x07,0x8e,0x00,0x6b,0x09,0x80,
- 0x03,0x80,0x0e,0x15,0xf2,0x80,0x0e,0x6b,0x03,0x80,
- 0x03,0x95,0x00,0x6b,0x0e,0x00,0x00,0x7d,0xfe,0x98,
- 0x00,0x6b,0x05,0x80,0x03,0x95,0x00,0x75,0x02,0x7d,
- 0x0a,0x00,0x00,0x8e,0x00,0x6b,0x02,0x80,0x03,0x95,
- 0x00,0x6b,0x10,0x00,0x00,0x15,0xf8,0x80,0x00,0x6b,
- 0x0a,0x80,0x03,0x95,0x00,0x6b,0x10,0x00,0x00,0x15,
- 0xf8,0x80,0x00,0x6b,0x0a,0x00,0x00,0x7d,0x02,0x83,
- 0x10,0x80,0x03,0x95,0x00,0x6b,0x09,0x00,0x03,0x02,
- 0x00,0x08,0xfd,0x02,0xf7,0x00,0x0e,0x89,0x00,0x6b,
- 0x03,0x80,0x03,0x95,0x00,0x6b,0x09,0x00,0x03,0x02,
- 0x00,0x08,0xfd,0x02,0xf7,0x00,0x0e,0xf4,0x03,0x92,
- 0x02,0x03,0x07,0x00,0x03,0x7d,0x00,0x70,0xfd,0x7e,
- 0xf9,0x00,0xfe,0x02,0x03,0x89,0x09,0x00,0x02,0xf5,
- 0x03,0x80,0x00,0x15,0x00,0xf5,0x07,0x00,0x00,0x08,
- 0x02,0x03,0x06,0x00,0x02,0x7d,0x00,0x70,0xfe,0x7e,
- 0xfa,0x00,0xfe,0x02,0x00,0x08,0x0c,0xf6,0x0f,0x80,
- 0x00,0x15,0xf6,0x00,0xfe,0x7d,0x00,0x79,0x02,0x7e,
- 0x0a,0x00,0xf4,0xf7,0x07,0x09,0x07,0xf7,0x03,0x8c,
- 0x01,0x02,0x01,0x01,0x05,0x00,0x02,0x7f,0x01,0x7e,
- 0x00,0x74,0x00,0x86,0xff,0x01,0xfe,0x01,0xfb,0x00,
- 0xff,0x7f,0xff,0x7f,0x00,0x7c,0x01,0x7e,0x01,0x00,
- 0x05,0x00,0x02,0x00,0x01,0x02,0x03,0xfe,0x04,0x8e,
- 0x02,0x01,0x04,0x00,0x02,0x7f,0x01,0x7e,0x00,0x77,
- 0xff,0x7e,0xfe,0x7f,0xfc,0x00,0xfe,0x01,0xff,0x02,
- 0x00,0x09,0x01,0x02,0x02,0x02,0x03,0x01,0x02,0x01,
- 0x01,0x01,0x01,0x02,0x02,0xeb,0x03,0x80,0x00,0x15,
- 0x03,0x00,0x02,0x7e,0x00,0x7b,0xfe,0x7e,0xfd,0x00,
- 0x03,0x80,0x04,0x00,0x03,0x7e,0x00,0x78,0xfd,0x7e,
- 0xf9,0x00,0x0c,0x80,0x03,0x8c,0x02,0x02,0x02,0x01,
- 0x03,0x00,0x02,0x7f,0x01,0x7d,0xfe,0x7e,0xf9,0x7d,
- 0xff,0x7e,0x00,0x7d,0x03,0x7f,0x02,0x00,0x03,0x01,
- 0x02,0x01,0x02,0xfe,0x0d,0x8c,0xff,0x02,0xfe,0x01,
- 0xfc,0x00,0xfe,0x7f,0xff,0x7e,0x00,0x77,0x01,0x7e,
- 0x02,0x7f,0x04,0x00,0x02,0x01,0x01,0x02,0x00,0x0f,
- 0xff,0x02,0xfe,0x01,0xf9,0x00,0x0c,0xeb,0x03,0x88,
- 0x0a,0x00,0x00,0x02,0x00,0x03,0xfe,0x02,0xfa,0x00,
- 0xff,0x7e,0xff,0x7d,0x00,0x7b,0x01,0x7c,0x01,0x7f,
- 0x06,0x00,0x02,0x02,0x03,0xfe,0x03,0x8f,0x06,0x77,
- 0x06,0x09,0xfa,0x80,0x00,0x71,0xff,0x87,0xfb,0x79,
- 0x07,0x87,0x05,0x79,0x02,0x80,0x03,0x8d,0x02,0x02,
- 0x06,0x00,0x02,0x7e,0x00,0x7d,0xfc,0x7d,0x04,0x7e,
- 0x00,0x7d,0xfe,0x7e,0xfa,0x00,0xfe,0x02,0x04,0x85,
- 0x02,0x00,0x06,0xf9,0x03,0x8f,0x00,0x73,0x01,0x7e,
- 0x07,0x00,0x02,0x02,0x00,0x0d,0x00,0xf3,0x01,0x7e,
- 0x03,0x80,0x03,0x8f,0x00,0x73,0x01,0x7e,0x07,0x00,
- 0x02,0x02,0x00,0x0d,0x00,0xf3,0x01,0x7e,0xf8,0x90,
- 0x03,0x00,0x08,0xf0,0x03,0x80,0x00,0x15,0x00,0xf3,
- 0x02,0x00,0x06,0x07,0xfa,0xf9,0x07,0x78,0x03,0x80,
- 0x03,0x80,0x04,0x0c,0x02,0x03,0x04,0x00,0x00,0x71,
- 0x02,0x80,0x03,0x80,0x00,0x0f,0x06,0x77,0x06,0x09,
- 0x00,0x71,0x02,0x80,0x03,0x80,0x00,0x0f,0x0a,0xf1,
- 0x00,0x0f,0xf6,0xf8,0x0a,0x00,0x02,0xf9,0x05,0x80,
- 0xff,0x01,0xff,0x04,0x00,0x05,0x01,0x03,0x01,0x02,
- 0x06,0x00,0x02,0x7e,0x00,0x7d,0x00,0x7b,0x00,0x7c,
- 0xfe,0x7f,0xfa,0x00,0x0b,0x80,0x03,0x80,0x00,0x0f,
- 0x00,0xfb,0x01,0x03,0x01,0x02,0x05,0x00,0x02,0x7e,
- 0x01,0x7d,0x00,0x76,0x03,0x80,0x10,0x80,0x10,0x80,
- 0x10,0x80,0x10,0x80,0x10,0x80,0x10,0x80,0x10,0x80,
- 0x10,0x80,0x10,0x80,0x10,0x80,0x10,0x80,0x10,0x80,
- 0x10,0x80,0x10,0x80,0x10,0x80,0x10,0x80,0x10,0x80,
- 0x10,0x80,0x10,0x80,0x10,0x80,0x10,0x80,0x10,0x80,
- 0x10,0x80,0x10,0x80,0x10,0x80,0x10,0x80,0x10,0x80,
- 0x10,0x80,0x10,0x80,0x10,0x80,0x10,0x80,0x10,0x80,
- 0x10,0x80,0x10,0x80,0x10,0x80,0x10,0x80,0x10,0x80,
- 0x10,0x80,0x10,0x80,0x10,0x80,0x10,0x80,0x10,0x80,
- 0x10,0x80,0x10,0x80,0x10,0x80,0x10,0x80,0x10,0x80,
- 0x10,0x80,0x0a,0x8f,0x02,0x7f,0x01,0x7e,0x00,0x76,
- 0xff,0x7f,0xfe,0x7f,0xfb,0x00,0xff,0x01,0xff,0x01,
- 0x00,0x0a,0x01,0x02,0x01,0x01,0x05,0x00,0xf9,0x80,
- 0x00,0x6b,0x0c,0x86,0x0d,0x8a,0xff,0x03,0xfe,0x02,
- 0xfb,0x00,0xff,0x7e,0xff,0x7d,0x00,0x7b,0x01,0x7c,
- 0x01,0x7f,0x05,0x00,0x02,0x01,0x01,0x03,0x03,0xfc,
- 0x03,0x80,0x00,0x0f,0x00,0xfb,0x01,0x03,0x01,0x02,
- 0x04,0x00,0x01,0x7e,0x01,0x7d,0x00,0x76,0x00,0x8a,
- 0x01,0x03,0x02,0x02,0x03,0x00,0x02,0x7e,0x01,0x7d,
- 0x00,0x76,0x03,0x80,0x03,0x8f,0x00,0x74,0x01,0x7e,
- 0x02,0x7f,0x04,0x00,0x02,0x01,0x01,0x01,0x00,0x8d,
- 0x00,0x6e,0xff,0x7e,0xfe,0x7f,0xfb,0x00,0xfe,0x01,
- 0x0c,0x85,0x03,0x8d,0x01,0x02,0x03,0x00,0x02,0x7e,
- 0x01,0x02,0x03,0x00,0x02,0x7e,0x00,0x74,0xfe,0x7f,
- 0xfd,0x00,0xff,0x01,0xfe,0x7f,0xfd,0x00,0xff,0x01,
- 0x00,0x0c,0x06,0x82,0x00,0x6b,0x08,0x86,0x03,0x80,
- 0x0a,0x0f,0xf6,0x80,0x0a,0x71,0x03,0x80,0x03,0x8f,
- 0x00,0x73,0x01,0x7e,0x07,0x00,0x02,0x02,0x00,0x0d,
- 0x00,0xf3,0x01,0x7e,0x00,0x7e,0x03,0x82,0x03,0x8f,
- 0x00,0x79,0x02,0x7e,0x08,0x00,0x00,0x89,0x00,0x71,
- 0x02,0x80,0x03,0x8f,0x00,0x73,0x01,0x7e,0x03,0x00,
- 0x02,0x02,0x00,0x0d,0x00,0xf3,0x01,0x7e,0x03,0x00,
- 0x02,0x02,0x00,0x0d,0x00,0xf3,0x01,0x7e,0x03,0x80,
- 0x03,0x8f,0x00,0x73,0x01,0x7e,0x03,0x00,0x02,0x02,
- 0x00,0x0d,0x00,0xf3,0x01,0x7e,0x03,0x00,0x02,0x02,
- 0x00,0x0d,0x00,0xf3,0x01,0x7e,0x00,0x7e,0x03,0x82,
- 0x03,0x8d,0x00,0x02,0x02,0x00,0x00,0x71,0x08,0x00,
- 0x02,0x02,0x00,0x06,0xfe,0x02,0xf8,0x00,0x0c,0xf6,
- 0x03,0x8f,0x00,0x71,0x07,0x00,0x02,0x02,0x00,0x06,
- 0xfe,0x02,0xf9,0x00,0x0c,0x85,0x00,0x71,0x02,0x80,
- 0x03,0x8f,0x00,0x71,0x07,0x00,0x03,0x02,0x00,0x06,
- 0xfd,0x02,0xf9,0x00,0x0c,0xf6,0x03,0x8d,0x02,0x02,
- 0x06,0x00,0x02,0x7e,0x00,0x75,0xfe,0x7e,0xfa,0x00,
- 0xfe,0x02,0x04,0x85,0x06,0x00,0x02,0xf9,0x03,0x80,
- 0x00,0x0f,0x00,0xf8,0x04,0x00,0x00,0x06,0x02,0x02,
- 0x04,0x00,0x02,0x7e,0x00,0x75,0xfe,0x7e,0xfc,0x00,
- 0xfe,0x02,0x00,0x05,0x0a,0xf9,0x0d,0x80,0x00,0x0f,
- 0xf7,0x00,0xff,0x7e,0x00,0x7b,0x01,0x7e,0x09,0x00,
- 0xf6,0xfa,0x04,0x06,0x08,0xfa
- };
-
- //-------------------------------------------------------------------------
- gsv_text::gsv_text() :
- m_x(0.0),
- m_y(0.0),
- m_start_x(0.0),
- m_width(10.0),
- m_height(0.0),
- m_space(0.0),
- m_line_space(0.0),
- m_text(m_chr),
- m_text_buf(),
- m_cur_chr(m_chr),
- m_font(gsv_default_font),
- m_loaded_font(),
- m_status(initial),
- m_big_endian(false),
- m_flip(false)
- {
- m_chr[0] = m_chr[1] = 0;
-
- int t = 1;
- if(*(char*)&t == 0) m_big_endian = true;
- }
-
- //-------------------------------------------------------------------------
- void gsv_text::font(const void* font)
- {
- m_font = font;
- if(m_font == 0) m_font = &m_loaded_font[0];
- }
-
- //-------------------------------------------------------------------------
- void gsv_text::size(double height, double width)
- {
- m_height = height;
- m_width = width;
- }
-
- //-------------------------------------------------------------------------
- void gsv_text::space(double space)
- {
- m_space = space;
- }
-
- //-------------------------------------------------------------------------
- void gsv_text::line_space(double line_space)
- {
- m_line_space = line_space;
- }
-
- //-------------------------------------------------------------------------
- void gsv_text::start_point(double x, double y)
- {
- m_x = m_start_x = x;
- m_y = y;
- //if(m_flip) m_y += m_height;
- }
-
- //-------------------------------------------------------------------------
- void gsv_text::load_font(const char* file)
- {
- m_loaded_font.resize(0);
- FILE* fd = fopen(file, "rb");
- if(fd)
- {
- unsigned len;
-
- fseek(fd, 0l, SEEK_END);
- len = ftell(fd);
- fseek(fd, 0l, SEEK_SET);
- if(len > 0)
- {
- m_loaded_font.resize(len);
- fread(&m_loaded_font[0], 1, len, fd);
- m_font = &m_loaded_font[0];
- }
- fclose(fd);
- }
- }
-
- //-------------------------------------------------------------------------
- void gsv_text::text(const char* text)
- {
- if(text == 0)
- {
- m_chr[0] = 0;
- m_text = m_chr;
- return;
- }
- unsigned new_size = strlen(text) + 1;
- if(new_size > m_text_buf.size())
- {
- m_text_buf.resize(new_size);
- }
- memcpy(&m_text_buf[0], text, new_size);
- m_text = &m_text_buf[0];
- }
-
- //-------------------------------------------------------------------------
- void gsv_text::rewind(unsigned)
- {
- m_status = initial;
- if(m_font == 0) return;
-
- m_indices = (int8u*)m_font;
- double base_height = value(m_indices + 4);
- m_indices += value(m_indices);
- m_glyphs = (int8*)(m_indices + 257*2);
- m_h = m_height / base_height;
- m_w = (m_width == 0.0) ? m_h : m_width / base_height;
- if(m_flip) m_h = -m_h;
- m_cur_chr = m_text;
- }
-
- //-------------------------------------------------------------------------
- unsigned gsv_text::vertex(double* x, double* y)
- {
- unsigned idx;
- int8 yc, yf;
- int dx, dy;
- bool quit = false;
-
- while(!quit)
- {
- switch(m_status)
- {
- case initial:
- if(m_font == 0)
- {
- quit = true;
- break;
- }
- m_status = next_char;
-
- case next_char:
- if(*m_cur_chr == 0)
- {
- quit = true;
- break;
- }
- idx = (*m_cur_chr++) & 0xFF;
- if(idx == '\n')
- {
- m_x = m_start_x;
- m_y -= m_flip ? -m_height - m_line_space : m_height + m_line_space;
- break;
- }
- idx <<= 1;
- m_bglyph = m_glyphs + value(m_indices + idx);
- m_eglyph = m_glyphs + value(m_indices + idx + 2);
- m_status = start_glyph;
-
- case start_glyph:
- *x = m_x;
- *y = m_y;
- m_status = glyph;
- return path_cmd_move_to;
-
- case glyph:
- if(m_bglyph >= m_eglyph)
- {
- m_status = next_char;
- m_x += m_space;
- break;
- }
- dx = int(*m_bglyph++);
- yf = (yc = *m_bglyph++) & 0x80;
- yc <<= 1;
- yc >>= 1;
- dy = int(yc);
- m_x += double(dx) * m_w;
- m_y += double(dy) * m_h;
- *x = m_x;
- *y = m_y;
- return yf ? path_cmd_move_to : path_cmd_line_to;
- }
-
- }
- return path_cmd_stop;
- }
-
- //-------------------------------------------------------------------------
- double gsv_text::text_width()
- {
- double x1, y1, x2, y2;
- bounding_rect_single(*this, 0, &x1, &y1, &x2, &y2);
- return x2 - x1;
- }
-
-
-}
diff --git a/contrib/python/matplotlib/py3/extern/agg24-svn/src/agg_image_filters.cpp b/contrib/python/matplotlib/py3/extern/agg24-svn/src/agg_image_filters.cpp
deleted file mode 100644
index 549d9adbf5..0000000000
--- a/contrib/python/matplotlib/py3/extern/agg24-svn/src/agg_image_filters.cpp
+++ /dev/null
@@ -1,103 +0,0 @@
-//----------------------------------------------------------------------------
-// Anti-Grain Geometry - Version 2.4
-// Copyright (C) 2002-2005 Maxim Shemanarev (http://www.antigrain.com)
-//
-// Permission to copy, use, modify, sell and distribute this software
-// is granted provided this copyright notice appears in all copies.
-// This software is provided "as is" without express or implied
-// warranty, and with no claim as to its suitability for any purpose.
-//
-//----------------------------------------------------------------------------
-// Contact: mcseem@antigrain.com
-// mcseemagg@yahoo.com
-// http://www.antigrain.com
-//----------------------------------------------------------------------------
-//
-// Filtering class image_filter_lut implemantation
-//
-//----------------------------------------------------------------------------
-
-
-#include "agg_image_filters.h"
-
-
-namespace agg
-{
- //--------------------------------------------------------------------
- void image_filter_lut::realloc_lut(double radius)
- {
- m_radius = radius;
- m_diameter = uceil(radius) * 2;
- m_start = -int(m_diameter / 2 - 1);
- unsigned size = m_diameter << image_subpixel_shift;
- if(size > m_weight_array.size())
- {
- m_weight_array.resize(size);
- }
- }
-
-
-
- //--------------------------------------------------------------------
- // This function normalizes integer values and corrects the rounding
- // errors. It doesn't do anything with the source floating point values
- // (m_weight_array_dbl), it corrects only integers according to the rule
- // of 1.0 which means that any sum of pixel weights must be equal to 1.0.
- // So, the filter function must produce a graph of the proper shape.
- //--------------------------------------------------------------------
- void image_filter_lut::normalize()
- {
- unsigned i;
- int flip = 1;
-
- for(i = 0; i < image_subpixel_scale; i++)
- {
- for(;;)
- {
- int sum = 0;
- unsigned j;
- for(j = 0; j < m_diameter; j++)
- {
- sum += m_weight_array[j * image_subpixel_scale + i];
- }
-
- if(sum == image_filter_scale) break;
-
- double k = double(image_filter_scale) / double(sum);
- sum = 0;
- for(j = 0; j < m_diameter; j++)
- {
- sum += m_weight_array[j * image_subpixel_scale + i] =
- iround(m_weight_array[j * image_subpixel_scale + i] * k);
- }
-
- sum -= image_filter_scale;
- int inc = (sum > 0) ? -1 : 1;
-
- for(j = 0; j < m_diameter && sum; j++)
- {
- flip ^= 1;
- unsigned idx = flip ? m_diameter/2 + j/2 : m_diameter/2 - j/2;
- int v = m_weight_array[idx * image_subpixel_scale + i];
- if(v < image_filter_scale)
- {
- m_weight_array[idx * image_subpixel_scale + i] += inc;
- sum += inc;
- }
- }
- }
- }
-
- unsigned pivot = m_diameter << (image_subpixel_shift - 1);
-
- for(i = 0; i < pivot; i++)
- {
- m_weight_array[pivot + i] = m_weight_array[pivot - i];
- }
- unsigned end = (diameter() << image_subpixel_shift) - 1;
- m_weight_array[0] = m_weight_array[end];
- }
-
-
-}
-
diff --git a/contrib/python/matplotlib/py3/extern/agg24-svn/src/agg_line_aa_basics.cpp b/contrib/python/matplotlib/py3/extern/agg24-svn/src/agg_line_aa_basics.cpp
deleted file mode 100644
index 018d65366f..0000000000
--- a/contrib/python/matplotlib/py3/extern/agg24-svn/src/agg_line_aa_basics.cpp
+++ /dev/null
@@ -1,82 +0,0 @@
-//----------------------------------------------------------------------------
-// Anti-Grain Geometry - Version 2.4
-// Copyright (C) 2002-2005 Maxim Shemanarev (http://www.antigrain.com)
-//
-// Permission to copy, use, modify, sell and distribute this software
-// is granted provided this copyright notice appears in all copies.
-// This software is provided "as is" without express or implied
-// warranty, and with no claim as to its suitability for any purpose.
-//
-//----------------------------------------------------------------------------
-// Contact: mcseem@antigrain.com
-// mcseemagg@yahoo.com
-// http://www.antigrain.com
-//----------------------------------------------------------------------------
-
-#include <math.h>
-#include "agg_line_aa_basics.h"
-
-namespace agg
-{
- //-------------------------------------------------------------------------
- // The number of the octant is determined as a 3-bit value as follows:
- // bit 0 = vertical flag
- // bit 1 = sx < 0
- // bit 2 = sy < 0
- //
- // [N] shows the number of the orthogonal quadrant
- // <M> shows the number of the diagonal quadrant
- // <1>
- // [1] | [0]
- // . (3)011 | 001(1) .
- // . | .
- // . | .
- // . | .
- // (2)010 .|. 000(0)
- // <2> ----------.+.----------- <0>
- // (6)110 . | . 100(4)
- // . | .
- // . | .
- // . | .
- // (7)111 | 101(5)
- // [2] | [3]
- // <3>
- // 0,1,2,3,4,5,6,7
- const int8u line_parameters::s_orthogonal_quadrant[8] = { 0,0,1,1,3,3,2,2 };
- const int8u line_parameters::s_diagonal_quadrant[8] = { 0,1,2,1,0,3,2,3 };
-
-
-
- //-------------------------------------------------------------------------
- void bisectrix(const line_parameters& l1,
- const line_parameters& l2,
- int* x, int* y)
- {
- double k = double(l2.len) / double(l1.len);
- double tx = l2.x2 - (l2.x1 - l1.x1) * k;
- double ty = l2.y2 - (l2.y1 - l1.y1) * k;
-
- //All bisectrices must be on the right of the line
- //If the next point is on the left (l1 => l2.2)
- //then the bisectix should be rotated by 180 degrees.
- if(double(l2.x2 - l2.x1) * double(l2.y1 - l1.y1) <
- double(l2.y2 - l2.y1) * double(l2.x1 - l1.x1) + 100.0)
- {
- tx -= (tx - l2.x1) * 2.0;
- ty -= (ty - l2.y1) * 2.0;
- }
-
- // Check if the bisectrix is too short
- double dx = tx - l2.x1;
- double dy = ty - l2.y1;
- if((int)sqrt(dx * dx + dy * dy) < line_subpixel_scale)
- {
- *x = (l2.x1 + l2.x1 + (l2.y1 - l1.y1) + (l2.y2 - l2.y1)) >> 1;
- *y = (l2.y1 + l2.y1 - (l2.x1 - l1.x1) - (l2.x2 - l2.x1)) >> 1;
- return;
- }
- *x = iround(tx);
- *y = iround(ty);
- }
-
-}
diff --git a/contrib/python/matplotlib/py3/extern/agg24-svn/src/agg_line_profile_aa.cpp b/contrib/python/matplotlib/py3/extern/agg24-svn/src/agg_line_profile_aa.cpp
deleted file mode 100644
index 6066662cb9..0000000000
--- a/contrib/python/matplotlib/py3/extern/agg24-svn/src/agg_line_profile_aa.cpp
+++ /dev/null
@@ -1,116 +0,0 @@
-//----------------------------------------------------------------------------
-// Anti-Grain Geometry - Version 2.4
-// Copyright (C) 2002-2005 Maxim Shemanarev (http://www.antigrain.com)
-//
-// Permission to copy, use, modify, sell and distribute this software
-// is granted provided this copyright notice appears in all copies.
-// This software is provided "as is" without express or implied
-// warranty, and with no claim as to its suitability for any purpose.
-//
-//----------------------------------------------------------------------------
-// Contact: mcseem@antigrain.com
-// mcseemagg@yahoo.com
-// http://www.antigrain.com
-//----------------------------------------------------------------------------
-
-#include "agg_renderer_outline_aa.h"
-
-namespace agg
-{
-
- //---------------------------------------------------------------------
- void line_profile_aa::width(double w)
- {
- if(w < 0.0) w = 0.0;
-
- if(w < m_smoother_width) w += w;
- else w += m_smoother_width;
-
- w *= 0.5;
-
- w -= m_smoother_width;
- double s = m_smoother_width;
- if(w < 0.0)
- {
- s += w;
- w = 0.0;
- }
- set(w, s);
- }
-
-
- //---------------------------------------------------------------------
- line_profile_aa::value_type* line_profile_aa::profile(double w)
- {
- m_subpixel_width = uround(w * subpixel_scale);
- unsigned size = m_subpixel_width + subpixel_scale * 6;
- if(size > m_profile.size())
- {
- m_profile.resize(size);
- }
- return &m_profile[0];
- }
-
-
- //---------------------------------------------------------------------
- void line_profile_aa::set(double center_width, double smoother_width)
- {
- double base_val = 1.0;
- if(center_width == 0.0) center_width = 1.0 / subpixel_scale;
- if(smoother_width == 0.0) smoother_width = 1.0 / subpixel_scale;
-
- double width = center_width + smoother_width;
- if(width < m_min_width)
- {
- double k = width / m_min_width;
- base_val *= k;
- center_width /= k;
- smoother_width /= k;
- }
-
- value_type* ch = profile(center_width + smoother_width);
-
- unsigned subpixel_center_width = unsigned(center_width * subpixel_scale);
- unsigned subpixel_smoother_width = unsigned(smoother_width * subpixel_scale);
-
- value_type* ch_center = ch + subpixel_scale*2;
- value_type* ch_smoother = ch_center + subpixel_center_width;
-
- unsigned i;
-
- unsigned val = m_gamma[unsigned(base_val * aa_mask)];
- ch = ch_center;
- for(i = 0; i < subpixel_center_width; i++)
- {
- *ch++ = (value_type)val;
- }
-
- for(i = 0; i < subpixel_smoother_width; i++)
- {
- *ch_smoother++ =
- m_gamma[unsigned((base_val -
- base_val *
- (double(i) / subpixel_smoother_width)) * aa_mask)];
- }
-
- unsigned n_smoother = profile_size() -
- subpixel_smoother_width -
- subpixel_center_width -
- subpixel_scale*2;
-
- val = m_gamma[0];
- for(i = 0; i < n_smoother; i++)
- {
- *ch_smoother++ = (value_type)val;
- }
-
- ch = ch_center;
- for(i = 0; i < subpixel_scale*2; i++)
- {
- *--ch = *ch_center++;
- }
- }
-
-
-}
-
diff --git a/contrib/python/matplotlib/py3/extern/agg24-svn/src/agg_rounded_rect.cpp b/contrib/python/matplotlib/py3/extern/agg24-svn/src/agg_rounded_rect.cpp
deleted file mode 100644
index bebc063628..0000000000
--- a/contrib/python/matplotlib/py3/extern/agg24-svn/src/agg_rounded_rect.cpp
+++ /dev/null
@@ -1,164 +0,0 @@
-//----------------------------------------------------------------------------
-// Anti-Grain Geometry - Version 2.4
-// Copyright (C) 2002-2005 Maxim Shemanarev (http://www.antigrain.com)
-//
-// Permission to copy, use, modify, sell and distribute this software
-// is granted provided this copyright notice appears in all copies.
-// This software is provided "as is" without express or implied
-// warranty, and with no claim as to its suitability for any purpose.
-//
-//----------------------------------------------------------------------------
-// Contact: mcseem@antigrain.com
-// mcseemagg@yahoo.com
-// http://www.antigrain.com
-//----------------------------------------------------------------------------
-//
-// Rounded rectangle vertex generator
-//
-//----------------------------------------------------------------------------
-
-#include <math.h>
-#include "agg_rounded_rect.h"
-
-
-namespace agg
-{
- //------------------------------------------------------------------------
- rounded_rect::rounded_rect(double x1, double y1, double x2, double y2, double r) :
- m_x1(x1), m_y1(y1), m_x2(x2), m_y2(y2),
- m_rx1(r), m_ry1(r), m_rx2(r), m_ry2(r),
- m_rx3(r), m_ry3(r), m_rx4(r), m_ry4(r)
- {
- if(x1 > x2) { m_x1 = x2; m_x2 = x1; }
- if(y1 > y2) { m_y1 = y2; m_y2 = y1; }
- }
-
- //--------------------------------------------------------------------
- void rounded_rect::rect(double x1, double y1, double x2, double y2)
- {
- m_x1 = x1;
- m_y1 = y1;
- m_x2 = x2;
- m_y2 = y2;
- if(x1 > x2) { m_x1 = x2; m_x2 = x1; }
- if(y1 > y2) { m_y1 = y2; m_y2 = y1; }
- }
-
- //--------------------------------------------------------------------
- void rounded_rect::radius(double r)
- {
- m_rx1 = m_ry1 = m_rx2 = m_ry2 = m_rx3 = m_ry3 = m_rx4 = m_ry4 = r;
- }
-
- //--------------------------------------------------------------------
- void rounded_rect::radius(double rx, double ry)
- {
- m_rx1 = m_rx2 = m_rx3 = m_rx4 = rx;
- m_ry1 = m_ry2 = m_ry3 = m_ry4 = ry;
- }
-
- //--------------------------------------------------------------------
- void rounded_rect::radius(double rx_bottom, double ry_bottom,
- double rx_top, double ry_top)
- {
- m_rx1 = m_rx2 = rx_bottom;
- m_rx3 = m_rx4 = rx_top;
- m_ry1 = m_ry2 = ry_bottom;
- m_ry3 = m_ry4 = ry_top;
- }
-
- //--------------------------------------------------------------------
- void rounded_rect::radius(double rx1, double ry1, double rx2, double ry2,
- double rx3, double ry3, double rx4, double ry4)
- {
- m_rx1 = rx1; m_ry1 = ry1; m_rx2 = rx2; m_ry2 = ry2;
- m_rx3 = rx3; m_ry3 = ry3; m_rx4 = rx4; m_ry4 = ry4;
- }
-
- //--------------------------------------------------------------------
- void rounded_rect::normalize_radius()
- {
- double dx = fabs(m_y2 - m_y1);
- double dy = fabs(m_x2 - m_x1);
-
- double k = 1.0;
- double t;
- t = dx / (m_rx1 + m_rx2); if(t < k) k = t;
- t = dx / (m_rx3 + m_rx4); if(t < k) k = t;
- t = dy / (m_ry1 + m_ry2); if(t < k) k = t;
- t = dy / (m_ry3 + m_ry4); if(t < k) k = t;
-
- if(k < 1.0)
- {
- m_rx1 *= k; m_ry1 *= k; m_rx2 *= k; m_ry2 *= k;
- m_rx3 *= k; m_ry3 *= k; m_rx4 *= k; m_ry4 *= k;
- }
- }
-
- //--------------------------------------------------------------------
- void rounded_rect::rewind(unsigned)
- {
- m_status = 0;
- }
-
- //--------------------------------------------------------------------
- unsigned rounded_rect::vertex(double* x, double* y)
- {
- unsigned cmd = path_cmd_stop;
- switch(m_status)
- {
- case 0:
- m_arc.init(m_x1 + m_rx1, m_y1 + m_ry1, m_rx1, m_ry1,
- pi, pi+pi*0.5);
- m_arc.rewind(0);
- m_status++;
-
- case 1:
- cmd = m_arc.vertex(x, y);
- if(is_stop(cmd)) m_status++;
- else return cmd;
-
- case 2:
- m_arc.init(m_x2 - m_rx2, m_y1 + m_ry2, m_rx2, m_ry2,
- pi+pi*0.5, 0.0);
- m_arc.rewind(0);
- m_status++;
-
- case 3:
- cmd = m_arc.vertex(x, y);
- if(is_stop(cmd)) m_status++;
- else return path_cmd_line_to;
-
- case 4:
- m_arc.init(m_x2 - m_rx3, m_y2 - m_ry3, m_rx3, m_ry3,
- 0.0, pi*0.5);
- m_arc.rewind(0);
- m_status++;
-
- case 5:
- cmd = m_arc.vertex(x, y);
- if(is_stop(cmd)) m_status++;
- else return path_cmd_line_to;
-
- case 6:
- m_arc.init(m_x1 + m_rx4, m_y2 - m_ry4, m_rx4, m_ry4,
- pi*0.5, pi);
- m_arc.rewind(0);
- m_status++;
-
- case 7:
- cmd = m_arc.vertex(x, y);
- if(is_stop(cmd)) m_status++;
- else return path_cmd_line_to;
-
- case 8:
- cmd = path_cmd_end_poly | path_flags_close | path_flags_ccw;
- m_status++;
- break;
- }
- return cmd;
- }
-
-
-}
-
diff --git a/contrib/python/matplotlib/py3/extern/agg24-svn/src/agg_sqrt_tables.cpp b/contrib/python/matplotlib/py3/extern/agg24-svn/src/agg_sqrt_tables.cpp
deleted file mode 100644
index 19a1bd8cb7..0000000000
--- a/contrib/python/matplotlib/py3/extern/agg24-svn/src/agg_sqrt_tables.cpp
+++ /dev/null
@@ -1,115 +0,0 @@
-//----------------------------------------------------------------------------
-// Anti-Grain Geometry - Version 2.4
-// Copyright (C) 2002-2005 Maxim Shemanarev (http://www.antigrain.com)
-//
-// Permission to copy, use, modify, sell and distribute this software
-// is granted provided this copyright notice appears in all copies.
-// This software is provided "as is" without express or implied
-// warranty, and with no claim as to its suitability for any purpose.
-//
-//----------------------------------------------------------------------------
-// Contact: mcseem@antigrain.com
-// mcseemagg@yahoo.com
-// http://www.antigrain.com
-//----------------------------------------------------------------------------
-//
-// static tables for fast integer sqrt
-//
-//----------------------------------------------------------------------------
-
-#include "agg_basics.h"
-
-namespace agg
-{
- int16u g_sqrt_table[1024] = //----------g_sqrt_table
- {
- 0,
- 2048,2896,3547,4096,4579,5017,5418,5793,6144,6476,6792,7094,7384,7663,7932,8192,8444,
- 8689,8927,9159,9385,9606,9822,10033,10240,10443,10642,10837,11029,11217,11403,11585,
- 11765,11942,12116,12288,12457,12625,12790,12953,13114,13273,13430,13585,13738,13890,
- 14040,14189,14336,14482,14626,14768,14910,15050,15188,15326,15462,15597,15731,15864,
- 15995,16126,16255,16384,16512,16638,16764,16888,17012,17135,17257,17378,17498,17618,
- 17736,17854,17971,18087,18203,18318,18432,18545,18658,18770,18882,18992,19102,19212,
- 19321,19429,19537,19644,19750,19856,19961,20066,20170,20274,20377,20480,20582,20684,
- 20785,20886,20986,21085,21185,21283,21382,21480,21577,21674,21771,21867,21962,22058,
- 22153,22247,22341,22435,22528,22621,22713,22806,22897,22989,23080,23170,23261,23351,
- 23440,23530,23619,23707,23796,23884,23971,24059,24146,24232,24319,24405,24491,24576,
- 24661,24746,24831,24915,24999,25083,25166,25249,25332,25415,25497,25580,25661,25743,
- 25824,25905,25986,26067,26147,26227,26307,26387,26466,26545,26624,26703,26781,26859,
- 26937,27015,27092,27170,27247,27324,27400,27477,27553,27629,27705,27780,27856,27931,
- 28006,28081,28155,28230,28304,28378,28452,28525,28599,28672,28745,28818,28891,28963,
- 29035,29108,29180,29251,29323,29394,29466,29537,29608,29678,29749,29819,29890,29960,
- 30030,30099,30169,30238,30308,30377,30446,30515,30583,30652,30720,30788,30856,30924,
- 30992,31059,31127,31194,31261,31328,31395,31462,31529,31595,31661,31727,31794,31859,
- 31925,31991,32056,32122,32187,32252,32317,32382,32446,32511,32575,32640,32704,32768,
- 32832,32896,32959,33023,33086,33150,33213,33276,33339,33402,33465,33527,33590,33652,
- 33714,33776,33839,33900,33962,34024,34086,34147,34208,34270,34331,34392,34453,34514,
- 34574,34635,34695,34756,34816,34876,34936,34996,35056,35116,35176,35235,35295,35354,
- 35413,35472,35531,35590,35649,35708,35767,35825,35884,35942,36001,36059,36117,36175,
- 36233,36291,36348,36406,36464,36521,36578,36636,36693,36750,36807,36864,36921,36978,
- 37034,37091,37147,37204,37260,37316,37372,37429,37485,37540,37596,37652,37708,37763,
- 37819,37874,37929,37985,38040,38095,38150,38205,38260,38315,38369,38424,38478,38533,
- 38587,38642,38696,38750,38804,38858,38912,38966,39020,39073,39127,39181,39234,39287,
- 39341,39394,39447,39500,39553,39606,39659,39712,39765,39818,39870,39923,39975,40028,
- 40080,40132,40185,40237,40289,40341,40393,40445,40497,40548,40600,40652,40703,40755,
- 40806,40857,40909,40960,41011,41062,41113,41164,41215,41266,41317,41368,41418,41469,
- 41519,41570,41620,41671,41721,41771,41821,41871,41922,41972,42021,42071,42121,42171,
- 42221,42270,42320,42369,42419,42468,42518,42567,42616,42665,42714,42763,42813,42861,
- 42910,42959,43008,43057,43105,43154,43203,43251,43300,43348,43396,43445,43493,43541,
- 43589,43637,43685,43733,43781,43829,43877,43925,43972,44020,44068,44115,44163,44210,
- 44258,44305,44352,44400,44447,44494,44541,44588,44635,44682,44729,44776,44823,44869,
- 44916,44963,45009,45056,45103,45149,45195,45242,45288,45334,45381,45427,45473,45519,
- 45565,45611,45657,45703,45749,45795,45840,45886,45932,45977,46023,46069,46114,46160,
- 46205,46250,46296,46341,46386,46431,46477,46522,46567,46612,46657,46702,46746,46791,
- 46836,46881,46926,46970,47015,47059,47104,47149,47193,47237,47282,47326,47370,47415,
- 47459,47503,47547,47591,47635,47679,47723,47767,47811,47855,47899,47942,47986,48030,
- 48074,48117,48161,48204,48248,48291,48335,48378,48421,48465,48508,48551,48594,48637,
- 48680,48723,48766,48809,48852,48895,48938,48981,49024,49067,49109,49152,49195,49237,
- 49280,49322,49365,49407,49450,49492,49535,49577,49619,49661,49704,49746,49788,49830,
- 49872,49914,49956,49998,50040,50082,50124,50166,50207,50249,50291,50332,50374,50416,
- 50457,50499,50540,50582,50623,50665,50706,50747,50789,50830,50871,50912,50954,50995,
- 51036,51077,51118,51159,51200,51241,51282,51323,51364,51404,51445,51486,51527,51567,
- 51608,51649,51689,51730,51770,51811,51851,51892,51932,51972,52013,52053,52093,52134,
- 52174,52214,52254,52294,52334,52374,52414,52454,52494,52534,52574,52614,52654,52694,
- 52734,52773,52813,52853,52892,52932,52972,53011,53051,53090,53130,53169,53209,53248,
- 53287,53327,53366,53405,53445,53484,53523,53562,53601,53640,53679,53719,53758,53797,
- 53836,53874,53913,53952,53991,54030,54069,54108,54146,54185,54224,54262,54301,54340,
- 54378,54417,54455,54494,54532,54571,54609,54647,54686,54724,54762,54801,54839,54877,
- 54915,54954,54992,55030,55068,55106,55144,55182,55220,55258,55296,55334,55372,55410,
- 55447,55485,55523,55561,55599,55636,55674,55712,55749,55787,55824,55862,55900,55937,
- 55975,56012,56049,56087,56124,56162,56199,56236,56273,56311,56348,56385,56422,56459,
- 56497,56534,56571,56608,56645,56682,56719,56756,56793,56830,56867,56903,56940,56977,
- 57014,57051,57087,57124,57161,57198,57234,57271,57307,57344,57381,57417,57454,57490,
- 57527,57563,57599,57636,57672,57709,57745,57781,57817,57854,57890,57926,57962,57999,
- 58035,58071,58107,58143,58179,58215,58251,58287,58323,58359,58395,58431,58467,58503,
- 58538,58574,58610,58646,58682,58717,58753,58789,58824,58860,58896,58931,58967,59002,
- 59038,59073,59109,59144,59180,59215,59251,59286,59321,59357,59392,59427,59463,59498,
- 59533,59568,59603,59639,59674,59709,59744,59779,59814,59849,59884,59919,59954,59989,
- 60024,60059,60094,60129,60164,60199,60233,60268,60303,60338,60373,60407,60442,60477,
- 60511,60546,60581,60615,60650,60684,60719,60753,60788,60822,60857,60891,60926,60960,
- 60995,61029,61063,61098,61132,61166,61201,61235,61269,61303,61338,61372,61406,61440,
- 61474,61508,61542,61576,61610,61644,61678,61712,61746,61780,61814,61848,61882,61916,
- 61950,61984,62018,62051,62085,62119,62153,62186,62220,62254,62287,62321,62355,62388,
- 62422,62456,62489,62523,62556,62590,62623,62657,62690,62724,62757,62790,62824,62857,
- 62891,62924,62957,62991,63024,63057,63090,63124,63157,63190,63223,63256,63289,63323,
- 63356,63389,63422,63455,63488,63521,63554,63587,63620,63653,63686,63719,63752,63785,
- 63817,63850,63883,63916,63949,63982,64014,64047,64080,64113,64145,64178,64211,64243,
- 64276,64309,64341,64374,64406,64439,64471,64504,64536,64569,64601,64634,64666,64699,
- 64731,64763,64796,64828,64861,64893,64925,64957,64990,65022,65054,65086,65119,65151,
- 65183,65215,65247,65279,65312,65344,65376,65408,65440,65472,65504
- };
-
-
- int8 g_elder_bit_table[256] = //---------g_elder_bit_table
- {
- 0,0,1,1,2,2,2,2,3,3,3,3,3,3,3,3,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,
- 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,
- 6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,
- 6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,
- 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
- 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
- 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
- 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7
- };
-
-}
diff --git a/contrib/python/matplotlib/py3/extern/agg24-svn/src/agg_trans_affine.cpp b/contrib/python/matplotlib/py3/extern/agg24-svn/src/agg_trans_affine.cpp
deleted file mode 100644
index 99febc953a..0000000000
--- a/contrib/python/matplotlib/py3/extern/agg24-svn/src/agg_trans_affine.cpp
+++ /dev/null
@@ -1,194 +0,0 @@
-//----------------------------------------------------------------------------
-// Anti-Grain Geometry - Version 2.4
-// Copyright (C) 2002-2005 Maxim Shemanarev (http://www.antigrain.com)
-//
-// Permission to copy, use, modify, sell and distribute this software
-// is granted provided this copyright notice appears in all copies.
-// This software is provided "as is" without express or implied
-// warranty, and with no claim as to its suitability for any purpose.
-//
-//----------------------------------------------------------------------------
-// Contact: mcseem@antigrain.com
-// mcseemagg@yahoo.com
-// http://www.antigrain.com
-//----------------------------------------------------------------------------
-//
-// Affine transformations
-//
-//----------------------------------------------------------------------------
-#include "agg_trans_affine.h"
-
-
-
-namespace agg
-{
-
- //------------------------------------------------------------------------
- const trans_affine& trans_affine::parl_to_parl(const double* src,
- const double* dst)
- {
- sx = src[2] - src[0];
- shy = src[3] - src[1];
- shx = src[4] - src[0];
- sy = src[5] - src[1];
- tx = src[0];
- ty = src[1];
- invert();
- multiply(trans_affine(dst[2] - dst[0], dst[3] - dst[1],
- dst[4] - dst[0], dst[5] - dst[1],
- dst[0], dst[1]));
- return *this;
- }
-
- //------------------------------------------------------------------------
- const trans_affine& trans_affine::rect_to_parl(double x1, double y1,
- double x2, double y2,
- const double* parl)
- {
- double src[6];
- src[0] = x1; src[1] = y1;
- src[2] = x2; src[3] = y1;
- src[4] = x2; src[5] = y2;
- parl_to_parl(src, parl);
- return *this;
- }
-
- //------------------------------------------------------------------------
- const trans_affine& trans_affine::parl_to_rect(const double* parl,
- double x1, double y1,
- double x2, double y2)
- {
- double dst[6];
- dst[0] = x1; dst[1] = y1;
- dst[2] = x2; dst[3] = y1;
- dst[4] = x2; dst[5] = y2;
- parl_to_parl(parl, dst);
- return *this;
- }
-
- //------------------------------------------------------------------------
- const trans_affine& trans_affine::multiply(const trans_affine& m)
- {
- double t0 = sx * m.sx + shy * m.shx;
- double t2 = shx * m.sx + sy * m.shx;
- double t4 = tx * m.sx + ty * m.shx + m.tx;
- shy = sx * m.shy + shy * m.sy;
- sy = shx * m.shy + sy * m.sy;
- ty = tx * m.shy + ty * m.sy + m.ty;
- sx = t0;
- shx = t2;
- tx = t4;
- return *this;
- }
-
-
- //------------------------------------------------------------------------
- const trans_affine& trans_affine::invert()
- {
- double d = determinant_reciprocal();
-
- double t0 = sy * d;
- sy = sx * d;
- shy = -shy * d;
- shx = -shx * d;
-
- double t4 = -tx * t0 - ty * shx;
- ty = -tx * shy - ty * sy;
-
- sx = t0;
- tx = t4;
- return *this;
- }
-
-
- //------------------------------------------------------------------------
- const trans_affine& trans_affine::flip_x()
- {
- sx = -sx;
- shy = -shy;
- tx = -tx;
- return *this;
- }
-
- //------------------------------------------------------------------------
- const trans_affine& trans_affine::flip_y()
- {
- shx = -shx;
- sy = -sy;
- ty = -ty;
- return *this;
- }
-
- //------------------------------------------------------------------------
- const trans_affine& trans_affine::reset()
- {
- sx = sy = 1.0;
- shy = shx = tx = ty = 0.0;
- return *this;
- }
-
- //------------------------------------------------------------------------
- bool trans_affine::is_identity(double epsilon) const
- {
- return is_equal_eps(sx, 1.0, epsilon) &&
- is_equal_eps(shy, 0.0, epsilon) &&
- is_equal_eps(shx, 0.0, epsilon) &&
- is_equal_eps(sy, 1.0, epsilon) &&
- is_equal_eps(tx, 0.0, epsilon) &&
- is_equal_eps(ty, 0.0, epsilon);
- }
-
- //------------------------------------------------------------------------
- bool trans_affine::is_valid(double epsilon) const
- {
- return fabs(sx) > epsilon && fabs(sy) > epsilon;
- }
-
- //------------------------------------------------------------------------
- bool trans_affine::is_equal(const trans_affine& m, double epsilon) const
- {
- return is_equal_eps(sx, m.sx, epsilon) &&
- is_equal_eps(shy, m.shy, epsilon) &&
- is_equal_eps(shx, m.shx, epsilon) &&
- is_equal_eps(sy, m.sy, epsilon) &&
- is_equal_eps(tx, m.tx, epsilon) &&
- is_equal_eps(ty, m.ty, epsilon);
- }
-
- //------------------------------------------------------------------------
- double trans_affine::rotation() const
- {
- double x1 = 0.0;
- double y1 = 0.0;
- double x2 = 1.0;
- double y2 = 0.0;
- transform(&x1, &y1);
- transform(&x2, &y2);
- return atan2(y2-y1, x2-x1);
- }
-
- //------------------------------------------------------------------------
- void trans_affine::translation(double* dx, double* dy) const
- {
- *dx = tx;
- *dy = ty;
- }
-
- //------------------------------------------------------------------------
- void trans_affine::scaling(double* x, double* y) const
- {
- double x1 = 0.0;
- double y1 = 0.0;
- double x2 = 1.0;
- double y2 = 1.0;
- trans_affine t(*this);
- t *= trans_affine_rotation(-rotation());
- t.transform(&x1, &y1);
- t.transform(&x2, &y2);
- *x = x2 - x1;
- *y = y2 - y1;
- }
-
-
-}
-
diff --git a/contrib/python/matplotlib/py3/extern/agg24-svn/src/agg_trans_double_path.cpp b/contrib/python/matplotlib/py3/extern/agg24-svn/src/agg_trans_double_path.cpp
deleted file mode 100644
index cd40c7f586..0000000000
--- a/contrib/python/matplotlib/py3/extern/agg24-svn/src/agg_trans_double_path.cpp
+++ /dev/null
@@ -1,273 +0,0 @@
-//----------------------------------------------------------------------------
-// Anti-Grain Geometry - Version 2.4
-// Copyright (C) 2002-2005 Maxim Shemanarev (http://www.antigrain.com)
-//
-// Permission to copy, use, modify, sell and distribute this software
-// is granted provided this copyright notice appears in all copies.
-// This software is provided "as is" without express or implied
-// warranty, and with no claim as to its suitability for any purpose.
-//
-//----------------------------------------------------------------------------
-// Contact: mcseem@antigrain.com
-// mcseemagg@yahoo.com
-// http://www.antigrain.com
-//----------------------------------------------------------------------------
-
-#include "agg_math.h"
-#include "agg_trans_double_path.h"
-
-namespace agg
-{
-
- //------------------------------------------------------------------------
- trans_double_path::trans_double_path() :
- m_kindex1(0.0),
- m_kindex2(0.0),
- m_base_length(0.0),
- m_base_height(1.0),
- m_status1(initial),
- m_status2(initial),
- m_preserve_x_scale(true)
- {
- }
-
-
- //------------------------------------------------------------------------
- void trans_double_path::reset()
- {
- m_src_vertices1.remove_all();
- m_src_vertices2.remove_all();
- m_kindex1 = 0.0;
- m_kindex1 = 0.0;
- m_status1 = initial;
- m_status2 = initial;
- }
-
-
- //------------------------------------------------------------------------
- void trans_double_path::move_to1(double x, double y)
- {
- if(m_status1 == initial)
- {
- m_src_vertices1.modify_last(vertex_dist(x, y));
- m_status1 = making_path;
- }
- else
- {
- line_to1(x, y);
- }
- }
-
-
- //------------------------------------------------------------------------
- void trans_double_path::line_to1(double x, double y)
- {
- if(m_status1 == making_path)
- {
- m_src_vertices1.add(vertex_dist(x, y));
- }
- }
-
-
- //------------------------------------------------------------------------
- void trans_double_path::move_to2(double x, double y)
- {
- if(m_status2 == initial)
- {
- m_src_vertices2.modify_last(vertex_dist(x, y));
- m_status2 = making_path;
- }
- else
- {
- line_to2(x, y);
- }
- }
-
-
- //------------------------------------------------------------------------
- void trans_double_path::line_to2(double x, double y)
- {
- if(m_status2 == making_path)
- {
- m_src_vertices2.add(vertex_dist(x, y));
- }
- }
-
-
- //------------------------------------------------------------------------
- double trans_double_path::finalize_path(vertex_storage& vertices)
- {
- unsigned i;
- double dist;
- double d;
-
- vertices.close(false);
- if(vertices.size() > 2)
- {
- if(vertices[vertices.size() - 2].dist * 10.0 <
- vertices[vertices.size() - 3].dist)
- {
- d = vertices[vertices.size() - 3].dist +
- vertices[vertices.size() - 2].dist;
-
- vertices[vertices.size() - 2] =
- vertices[vertices.size() - 1];
-
- vertices.remove_last();
- vertices[vertices.size() - 2].dist = d;
- }
- }
-
- dist = 0;
- for(i = 0; i < vertices.size(); i++)
- {
- vertex_dist& v = vertices[i];
- d = v.dist;
- v.dist = dist;
- dist += d;
- }
-
- return (vertices.size() - 1) / dist;
- }
-
-
- //------------------------------------------------------------------------
- void trans_double_path::finalize_paths()
- {
- if(m_status1 == making_path && m_src_vertices1.size() > 1 &&
- m_status2 == making_path && m_src_vertices2.size() > 1)
- {
- m_kindex1 = finalize_path(m_src_vertices1);
- m_kindex2 = finalize_path(m_src_vertices2);
- m_status1 = ready;
- m_status2 = ready;
- }
- }
-
-
- //------------------------------------------------------------------------
- double trans_double_path::total_length1() const
- {
- if(m_base_length >= 1e-10) return m_base_length;
- return (m_status1 == ready) ?
- m_src_vertices1[m_src_vertices1.size() - 1].dist :
- 0.0;
- }
-
-
- //------------------------------------------------------------------------
- double trans_double_path::total_length2() const
- {
- if(m_base_length >= 1e-10) return m_base_length;
- return (m_status2 == ready) ?
- m_src_vertices2[m_src_vertices2.size() - 1].dist :
- 0.0;
- }
-
-
- //------------------------------------------------------------------------
- void trans_double_path::transform1(const vertex_storage& vertices,
- double kindex, double kx,
- double *x, double* y) const
- {
- double x1 = 0.0;
- double y1 = 0.0;
- double dx = 1.0;
- double dy = 1.0;
- double d = 0.0;
- double dd = 1.0;
- *x *= kx;
- if(*x < 0.0)
- {
- // Extrapolation on the left
- //--------------------------
- x1 = vertices[0].x;
- y1 = vertices[0].y;
- dx = vertices[1].x - x1;
- dy = vertices[1].y - y1;
- dd = vertices[1].dist - vertices[0].dist;
- d = *x;
- }
- else
- if(*x > vertices[vertices.size() - 1].dist)
- {
- // Extrapolation on the right
- //--------------------------
- unsigned i = vertices.size() - 2;
- unsigned j = vertices.size() - 1;
- x1 = vertices[j].x;
- y1 = vertices[j].y;
- dx = x1 - vertices[i].x;
- dy = y1 - vertices[i].y;
- dd = vertices[j].dist - vertices[i].dist;
- d = *x - vertices[j].dist;
- }
- else
- {
- // Interpolation
- //--------------------------
- unsigned i = 0;
- unsigned j = vertices.size() - 1;
- if(m_preserve_x_scale)
- {
- unsigned k;
- for(i = 0; (j - i) > 1; )
- {
- if(*x < vertices[k = (i + j) >> 1].dist)
- {
- j = k;
- }
- else
- {
- i = k;
- }
- }
- d = vertices[i].dist;
- dd = vertices[j].dist - d;
- d = *x - d;
- }
- else
- {
- i = unsigned(*x * kindex);
- j = i + 1;
- dd = vertices[j].dist - vertices[i].dist;
- d = ((*x * kindex) - i) * dd;
- }
- x1 = vertices[i].x;
- y1 = vertices[i].y;
- dx = vertices[j].x - x1;
- dy = vertices[j].y - y1;
- }
- *x = x1 + dx * d / dd;
- *y = y1 + dy * d / dd;
- }
-
-
- //------------------------------------------------------------------------
- void trans_double_path::transform(double *x, double *y) const
- {
- if(m_status1 == ready && m_status2 == ready)
- {
- if(m_base_length > 1e-10)
- {
- *x *= m_src_vertices1[m_src_vertices1.size() - 1].dist /
- m_base_length;
- }
-
- double x1 = *x;
- double y1 = *y;
- double x2 = *x;
- double y2 = *y;
- double dd = m_src_vertices2[m_src_vertices2.size() - 1].dist /
- m_src_vertices1[m_src_vertices1.size() - 1].dist;
-
- transform1(m_src_vertices1, m_kindex1, 1.0, &x1, &y1);
- transform1(m_src_vertices2, m_kindex2, dd, &x2, &y2);
-
- *x = x1 + *y * (x2 - x1) / m_base_height;
- *y = y1 + *y * (y2 - y1) / m_base_height;
- }
- }
-
-}
-
diff --git a/contrib/python/matplotlib/py3/extern/agg24-svn/src/agg_trans_single_path.cpp b/contrib/python/matplotlib/py3/extern/agg24-svn/src/agg_trans_single_path.cpp
deleted file mode 100644
index 2120fc9b9b..0000000000
--- a/contrib/python/matplotlib/py3/extern/agg24-svn/src/agg_trans_single_path.cpp
+++ /dev/null
@@ -1,202 +0,0 @@
-//----------------------------------------------------------------------------
-// Anti-Grain Geometry - Version 2.4
-// Copyright (C) 2002-2005 Maxim Shemanarev (http://www.antigrain.com)
-//
-// Permission to copy, use, modify, sell and distribute this software
-// is granted provided this copyright notice appears in all copies.
-// This software is provided "as is" without express or implied
-// warranty, and with no claim as to its suitability for any purpose.
-//
-//----------------------------------------------------------------------------
-// Contact: mcseem@antigrain.com
-// mcseemagg@yahoo.com
-// http://www.antigrain.com
-//----------------------------------------------------------------------------
-
-#include "agg_math.h"
-#include "agg_vertex_sequence.h"
-#include "agg_trans_single_path.h"
-
-namespace agg
-{
-
- //------------------------------------------------------------------------
- trans_single_path::trans_single_path() :
- m_base_length(0.0),
- m_kindex(0.0),
- m_status(initial),
- m_preserve_x_scale(true)
- {
- }
-
- //------------------------------------------------------------------------
- void trans_single_path::reset()
- {
- m_src_vertices.remove_all();
- m_kindex = 0.0;
- m_status = initial;
- }
-
- //------------------------------------------------------------------------
- void trans_single_path::move_to(double x, double y)
- {
- if(m_status == initial)
- {
- m_src_vertices.modify_last(vertex_dist(x, y));
- m_status = making_path;
- }
- else
- {
- line_to(x, y);
- }
- }
-
- //------------------------------------------------------------------------
- void trans_single_path::line_to(double x, double y)
- {
- if(m_status == making_path)
- {
- m_src_vertices.add(vertex_dist(x, y));
- }
- }
-
-
- //------------------------------------------------------------------------
- void trans_single_path::finalize_path()
- {
- if(m_status == making_path && m_src_vertices.size() > 1)
- {
- unsigned i;
- double dist;
- double d;
-
- m_src_vertices.close(false);
- if(m_src_vertices.size() > 2)
- {
- if(m_src_vertices[m_src_vertices.size() - 2].dist * 10.0 <
- m_src_vertices[m_src_vertices.size() - 3].dist)
- {
- d = m_src_vertices[m_src_vertices.size() - 3].dist +
- m_src_vertices[m_src_vertices.size() - 2].dist;
-
- m_src_vertices[m_src_vertices.size() - 2] =
- m_src_vertices[m_src_vertices.size() - 1];
-
- m_src_vertices.remove_last();
- m_src_vertices[m_src_vertices.size() - 2].dist = d;
- }
- }
-
- dist = 0.0;
- for(i = 0; i < m_src_vertices.size(); i++)
- {
- vertex_dist& v = m_src_vertices[i];
- double d = v.dist;
- v.dist = dist;
- dist += d;
- }
- m_kindex = (m_src_vertices.size() - 1) / dist;
- m_status = ready;
- }
- }
-
-
-
- //------------------------------------------------------------------------
- double trans_single_path::total_length() const
- {
- if(m_base_length >= 1e-10) return m_base_length;
- return (m_status == ready) ?
- m_src_vertices[m_src_vertices.size() - 1].dist :
- 0.0;
- }
-
-
- //------------------------------------------------------------------------
- void trans_single_path::transform(double *x, double *y) const
- {
- if(m_status == ready)
- {
- if(m_base_length > 1e-10)
- {
- *x *= m_src_vertices[m_src_vertices.size() - 1].dist /
- m_base_length;
- }
-
- double x1 = 0.0;
- double y1 = 0.0;
- double dx = 1.0;
- double dy = 1.0;
- double d = 0.0;
- double dd = 1.0;
- if(*x < 0.0)
- {
- // Extrapolation on the left
- //--------------------------
- x1 = m_src_vertices[0].x;
- y1 = m_src_vertices[0].y;
- dx = m_src_vertices[1].x - x1;
- dy = m_src_vertices[1].y - y1;
- dd = m_src_vertices[1].dist - m_src_vertices[0].dist;
- d = *x;
- }
- else
- if(*x > m_src_vertices[m_src_vertices.size() - 1].dist)
- {
- // Extrapolation on the right
- //--------------------------
- unsigned i = m_src_vertices.size() - 2;
- unsigned j = m_src_vertices.size() - 1;
- x1 = m_src_vertices[j].x;
- y1 = m_src_vertices[j].y;
- dx = x1 - m_src_vertices[i].x;
- dy = y1 - m_src_vertices[i].y;
- dd = m_src_vertices[j].dist - m_src_vertices[i].dist;
- d = *x - m_src_vertices[j].dist;
- }
- else
- {
- // Interpolation
- //--------------------------
- unsigned i = 0;
- unsigned j = m_src_vertices.size() - 1;
- if(m_preserve_x_scale)
- {
- unsigned k;
- for(i = 0; (j - i) > 1; )
- {
- if(*x < m_src_vertices[k = (i + j) >> 1].dist)
- {
- j = k;
- }
- else
- {
- i = k;
- }
- }
- d = m_src_vertices[i].dist;
- dd = m_src_vertices[j].dist - d;
- d = *x - d;
- }
- else
- {
- i = unsigned(*x * m_kindex);
- j = i + 1;
- dd = m_src_vertices[j].dist - m_src_vertices[i].dist;
- d = ((*x * m_kindex) - i) * dd;
- }
- x1 = m_src_vertices[i].x;
- y1 = m_src_vertices[i].y;
- dx = m_src_vertices[j].x - x1;
- dy = m_src_vertices[j].y - y1;
- }
- double x2 = x1 + dx * d / dd;
- double y2 = y1 + dy * d / dd;
- *x = x2 - *y * dy / dd;
- *y = y2 + *y * dx / dd;
- }
- }
-
-
-}
-
diff --git a/contrib/python/matplotlib/py3/extern/agg24-svn/src/agg_trans_warp_magnifier.cpp b/contrib/python/matplotlib/py3/extern/agg24-svn/src/agg_trans_warp_magnifier.cpp
deleted file mode 100644
index e65afabba7..0000000000
--- a/contrib/python/matplotlib/py3/extern/agg24-svn/src/agg_trans_warp_magnifier.cpp
+++ /dev/null
@@ -1,70 +0,0 @@
-//----------------------------------------------------------------------------
-// Anti-Grain Geometry - Version 2.4
-// Copyright (C) 2002-2005 Maxim Shemanarev (http://www.antigrain.com)
-//
-// Permission to copy, use, modify, sell and distribute this software
-// is granted provided this copyright notice appears in all copies.
-// This software is provided "as is" without express or implied
-// warranty, and with no claim as to its suitability for any purpose.
-//
-//----------------------------------------------------------------------------
-// Contact: mcseem@antigrain.com
-// mcseemagg@yahoo.com
-// http://www.antigrain.com
-//----------------------------------------------------------------------------
-
-#include <math.h>
-#include "agg_trans_warp_magnifier.h"
-
-namespace agg
-{
-
- //------------------------------------------------------------------------
- void trans_warp_magnifier::transform(double* x, double* y) const
- {
- double dx = *x - m_xc;
- double dy = *y - m_yc;
- double r = sqrt(dx * dx + dy * dy);
- if(r < m_radius)
- {
- *x = m_xc + dx * m_magn;
- *y = m_yc + dy * m_magn;
- return;
- }
-
- double m = (r + m_radius * (m_magn - 1.0)) / r;
- *x = m_xc + dx * m;
- *y = m_yc + dy * m;
- }
-
- //------------------------------------------------------------------------
- void trans_warp_magnifier::inverse_transform(double* x, double* y) const
- {
- // New version by Andrew Skalkin
- //-----------------
- double dx = *x - m_xc;
- double dy = *y - m_yc;
- double r = sqrt(dx * dx + dy * dy);
-
- if(r < m_radius * m_magn)
- {
- *x = m_xc + dx / m_magn;
- *y = m_yc + dy / m_magn;
- }
- else
- {
- double rnew = r - m_radius * (m_magn - 1.0);
- *x = m_xc + rnew * dx / r;
- *y = m_yc + rnew * dy / r;
- }
-
- // Old version
- //-----------------
- //trans_warp_magnifier t(*this);
- //t.magnification(1.0 / m_magn);
- //t.radius(m_radius * m_magn);
- //t.transform(x, y);
- }
-
-
-}
diff --git a/contrib/python/matplotlib/py3/extern/agg24-svn/src/agg_vcgen_bspline.cpp b/contrib/python/matplotlib/py3/extern/agg24-svn/src/agg_vcgen_bspline.cpp
deleted file mode 100644
index 4a0be6693e..0000000000
--- a/contrib/python/matplotlib/py3/extern/agg24-svn/src/agg_vcgen_bspline.cpp
+++ /dev/null
@@ -1,194 +0,0 @@
-//----------------------------------------------------------------------------
-// Anti-Grain Geometry - Version 2.4
-// Copyright (C) 2002-2005 Maxim Shemanarev (http://www.antigrain.com)
-//
-// Permission to copy, use, modify, sell and distribute this software
-// is granted provided this copyright notice appears in all copies.
-// This software is provided "as is" without express or implied
-// warranty, and with no claim as to its suitability for any purpose.
-//
-//----------------------------------------------------------------------------
-// Contact: mcseem@antigrain.com
-// mcseemagg@yahoo.com
-// http://www.antigrain.com
-//----------------------------------------------------------------------------
-
-#include "agg_vcgen_bspline.h"
-
-namespace agg
-{
-
- //------------------------------------------------------------------------
- vcgen_bspline::vcgen_bspline() :
- m_src_vertices(),
- m_spline_x(),
- m_spline_y(),
- m_interpolation_step(1.0/50.0),
- m_closed(0),
- m_status(initial),
- m_src_vertex(0)
- {
- }
-
-
- //------------------------------------------------------------------------
- void vcgen_bspline::remove_all()
- {
- m_src_vertices.remove_all();
- m_closed = 0;
- m_status = initial;
- m_src_vertex = 0;
- }
-
-
- //------------------------------------------------------------------------
- void vcgen_bspline::add_vertex(double x, double y, unsigned cmd)
- {
- m_status = initial;
- if(is_move_to(cmd))
- {
- m_src_vertices.modify_last(point_d(x, y));
- }
- else
- {
- if(is_vertex(cmd))
- {
- m_src_vertices.add(point_d(x, y));
- }
- else
- {
- m_closed = get_close_flag(cmd);
- }
- }
- }
-
-
- //------------------------------------------------------------------------
- void vcgen_bspline::rewind(unsigned)
- {
- m_cur_abscissa = 0.0;
- m_max_abscissa = 0.0;
- m_src_vertex = 0;
- if(m_status == initial && m_src_vertices.size() > 2)
- {
- if(m_closed)
- {
- m_spline_x.init(m_src_vertices.size() + 8);
- m_spline_y.init(m_src_vertices.size() + 8);
- m_spline_x.add_point(0.0, m_src_vertices.prev(m_src_vertices.size() - 3).x);
- m_spline_y.add_point(0.0, m_src_vertices.prev(m_src_vertices.size() - 3).y);
- m_spline_x.add_point(1.0, m_src_vertices[m_src_vertices.size() - 3].x);
- m_spline_y.add_point(1.0, m_src_vertices[m_src_vertices.size() - 3].y);
- m_spline_x.add_point(2.0, m_src_vertices[m_src_vertices.size() - 2].x);
- m_spline_y.add_point(2.0, m_src_vertices[m_src_vertices.size() - 2].y);
- m_spline_x.add_point(3.0, m_src_vertices[m_src_vertices.size() - 1].x);
- m_spline_y.add_point(3.0, m_src_vertices[m_src_vertices.size() - 1].y);
- }
- else
- {
- m_spline_x.init(m_src_vertices.size());
- m_spline_y.init(m_src_vertices.size());
- }
- unsigned i;
- for(i = 0; i < m_src_vertices.size(); i++)
- {
- double x = m_closed ? i + 4 : i;
- m_spline_x.add_point(x, m_src_vertices[i].x);
- m_spline_y.add_point(x, m_src_vertices[i].y);
- }
- m_cur_abscissa = 0.0;
- m_max_abscissa = m_src_vertices.size() - 1;
- if(m_closed)
- {
- m_cur_abscissa = 4.0;
- m_max_abscissa += 5.0;
- m_spline_x.add_point(m_src_vertices.size() + 4, m_src_vertices[0].x);
- m_spline_y.add_point(m_src_vertices.size() + 4, m_src_vertices[0].y);
- m_spline_x.add_point(m_src_vertices.size() + 5, m_src_vertices[1].x);
- m_spline_y.add_point(m_src_vertices.size() + 5, m_src_vertices[1].y);
- m_spline_x.add_point(m_src_vertices.size() + 6, m_src_vertices[2].x);
- m_spline_y.add_point(m_src_vertices.size() + 6, m_src_vertices[2].y);
- m_spline_x.add_point(m_src_vertices.size() + 7, m_src_vertices.next(2).x);
- m_spline_y.add_point(m_src_vertices.size() + 7, m_src_vertices.next(2).y);
- }
- m_spline_x.prepare();
- m_spline_y.prepare();
- }
- m_status = ready;
- }
-
-
-
-
-
-
- //------------------------------------------------------------------------
- unsigned vcgen_bspline::vertex(double* x, double* y)
- {
- unsigned cmd = path_cmd_line_to;
- while(!is_stop(cmd))
- {
- switch(m_status)
- {
- case initial:
- rewind(0);
-
- case ready:
- if(m_src_vertices.size() < 2)
- {
- cmd = path_cmd_stop;
- break;
- }
-
- if(m_src_vertices.size() == 2)
- {
- *x = m_src_vertices[m_src_vertex].x;
- *y = m_src_vertices[m_src_vertex].y;
- m_src_vertex++;
- if(m_src_vertex == 1) return path_cmd_move_to;
- if(m_src_vertex == 2) return path_cmd_line_to;
- cmd = path_cmd_stop;
- break;
- }
-
- cmd = path_cmd_move_to;
- m_status = polygon;
- m_src_vertex = 0;
-
- case polygon:
- if(m_cur_abscissa >= m_max_abscissa)
- {
- if(m_closed)
- {
- m_status = end_poly;
- break;
- }
- else
- {
- *x = m_src_vertices[m_src_vertices.size() - 1].x;
- *y = m_src_vertices[m_src_vertices.size() - 1].y;
- m_status = end_poly;
- return path_cmd_line_to;
- }
- }
-
- *x = m_spline_x.get_stateful(m_cur_abscissa);
- *y = m_spline_y.get_stateful(m_cur_abscissa);
- m_src_vertex++;
- m_cur_abscissa += m_interpolation_step;
- return (m_src_vertex == 1) ? path_cmd_move_to : path_cmd_line_to;
-
- case end_poly:
- m_status = stop;
- return path_cmd_end_poly | m_closed;
-
- case stop:
- return path_cmd_stop;
- }
- }
- return cmd;
- }
-
-
-}
-
diff --git a/contrib/python/matplotlib/py3/extern/agg24-svn/src/agg_vcgen_contour.cpp b/contrib/python/matplotlib/py3/extern/agg24-svn/src/agg_vcgen_contour.cpp
deleted file mode 100644
index a6a99405ad..0000000000
--- a/contrib/python/matplotlib/py3/extern/agg24-svn/src/agg_vcgen_contour.cpp
+++ /dev/null
@@ -1,165 +0,0 @@
-//----------------------------------------------------------------------------
-// Anti-Grain Geometry - Version 2.4
-// Copyright (C) 2002-2005 Maxim Shemanarev (http://www.antigrain.com)
-//
-// Permission to copy, use, modify, sell and distribute this software
-// is granted provided this copyright notice appears in all copies.
-// This software is provided "as is" without express or implied
-// warranty, and with no claim as to its suitability for any purpose.
-//
-//----------------------------------------------------------------------------
-// Contact: mcseem@antigrain.com
-// mcseemagg@yahoo.com
-// http://www.antigrain.com
-//----------------------------------------------------------------------------
-//
-// Contour generator
-//
-//----------------------------------------------------------------------------
-
-#include <math.h>
-#include "agg_vcgen_contour.h"
-
-namespace agg
-{
-
- //------------------------------------------------------------------------
- vcgen_contour::vcgen_contour() :
- m_stroker(),
- m_width(1),
- m_src_vertices(),
- m_out_vertices(),
- m_status(initial),
- m_src_vertex(0),
- m_closed(0),
- m_orientation(0),
- m_auto_detect(false)
- {
- }
-
- //------------------------------------------------------------------------
- void vcgen_contour::remove_all()
- {
- m_src_vertices.remove_all();
- m_closed = 0;
- m_orientation = 0;
- m_status = initial;
- }
-
- //------------------------------------------------------------------------
- void vcgen_contour::add_vertex(double x, double y, unsigned cmd)
- {
- m_status = initial;
- if(is_move_to(cmd))
- {
- m_src_vertices.modify_last(vertex_dist(x, y));
- }
- else
- {
- if(is_vertex(cmd))
- {
- m_src_vertices.add(vertex_dist(x, y));
- }
- else
- {
- if(is_end_poly(cmd))
- {
- m_closed = get_close_flag(cmd);
- if(m_orientation == path_flags_none)
- {
- m_orientation = get_orientation(cmd);
- }
- }
- }
- }
- }
-
- //------------------------------------------------------------------------
- void vcgen_contour::rewind(unsigned)
- {
- if(m_status == initial)
- {
- m_src_vertices.close(true);
- if(m_auto_detect)
- {
- if(!is_oriented(m_orientation))
- {
- m_orientation = (calc_polygon_area(m_src_vertices) > 0.0) ?
- path_flags_ccw :
- path_flags_cw;
- }
- }
- if(is_oriented(m_orientation))
- {
- m_stroker.width(is_ccw(m_orientation) ? m_width : -m_width);
- }
- }
- m_status = ready;
- m_src_vertex = 0;
- }
-
- //------------------------------------------------------------------------
- unsigned vcgen_contour::vertex(double* x, double* y)
- {
- unsigned cmd = path_cmd_line_to;
- while(!is_stop(cmd))
- {
- switch(m_status)
- {
- case initial:
- rewind(0);
-
- case ready:
- if(m_src_vertices.size() < 2 + unsigned(m_closed != 0))
- {
- cmd = path_cmd_stop;
- break;
- }
- m_status = outline;
- cmd = path_cmd_move_to;
- m_src_vertex = 0;
- m_out_vertex = 0;
-
- case outline:
- if(m_src_vertex >= m_src_vertices.size())
- {
- m_status = end_poly;
- break;
- }
- m_stroker.calc_join(m_out_vertices,
- m_src_vertices.prev(m_src_vertex),
- m_src_vertices.curr(m_src_vertex),
- m_src_vertices.next(m_src_vertex),
- m_src_vertices.prev(m_src_vertex).dist,
- m_src_vertices.curr(m_src_vertex).dist);
- ++m_src_vertex;
- m_status = out_vertices;
- m_out_vertex = 0;
-
- case out_vertices:
- if(m_out_vertex >= m_out_vertices.size())
- {
- m_status = outline;
- }
- else
- {
- const point_d& c = m_out_vertices[m_out_vertex++];
- *x = c.x;
- *y = c.y;
- return cmd;
- }
- break;
-
- case end_poly:
- if(!m_closed) return path_cmd_stop;
- m_status = stop;
- return path_cmd_end_poly | path_flags_close | path_flags_ccw;
-
- case stop:
- return path_cmd_stop;
- }
- }
- return cmd;
- }
-
-}
diff --git a/contrib/python/matplotlib/py3/extern/agg24-svn/src/agg_vcgen_dash.cpp b/contrib/python/matplotlib/py3/extern/agg24-svn/src/agg_vcgen_dash.cpp
deleted file mode 100644
index 129505786c..0000000000
--- a/contrib/python/matplotlib/py3/extern/agg24-svn/src/agg_vcgen_dash.cpp
+++ /dev/null
@@ -1,235 +0,0 @@
-//----------------------------------------------------------------------------
-// Anti-Grain Geometry - Version 2.4
-// Copyright (C) 2002-2005 Maxim Shemanarev (http://www.antigrain.com)
-//
-// Permission to copy, use, modify, sell and distribute this software
-// is granted provided this copyright notice appears in all copies.
-// This software is provided "as is" without express or implied
-// warranty, and with no claim as to its suitability for any purpose.
-//
-//----------------------------------------------------------------------------
-// Contact: mcseem@antigrain.com
-// mcseemagg@yahoo.com
-// http://www.antigrain.com
-//----------------------------------------------------------------------------
-//
-// Line dash generator
-//
-//----------------------------------------------------------------------------
-
-#include <math.h>
-#include "agg_vcgen_dash.h"
-#include "agg_shorten_path.h"
-
-namespace agg
-{
-
- //------------------------------------------------------------------------
- vcgen_dash::vcgen_dash() :
- m_total_dash_len(0.0),
- m_num_dashes(0),
- m_dash_start(0.0),
- m_shorten(0.0),
- m_curr_dash_start(0.0),
- m_curr_dash(0),
- m_src_vertices(),
- m_closed(0),
- m_status(initial),
- m_src_vertex(0)
- {
- }
-
-
-
- //------------------------------------------------------------------------
- void vcgen_dash::remove_all_dashes()
- {
- m_total_dash_len = 0.0;
- m_num_dashes = 0;
- m_curr_dash_start = 0.0;
- m_curr_dash = 0;
- }
-
-
- //------------------------------------------------------------------------
- void vcgen_dash::add_dash(double dash_len, double gap_len)
- {
- if(m_num_dashes < max_dashes)
- {
- m_total_dash_len += dash_len + gap_len;
- m_dashes[m_num_dashes++] = dash_len;
- m_dashes[m_num_dashes++] = gap_len;
- }
- }
-
-
- //------------------------------------------------------------------------
- void vcgen_dash::dash_start(double ds)
- {
- m_dash_start = ds;
- calc_dash_start(fabs(ds));
- }
-
-
- //------------------------------------------------------------------------
- void vcgen_dash::calc_dash_start(double ds)
- {
- m_curr_dash = 0;
- m_curr_dash_start = 0.0;
- while(ds > 0.0)
- {
- if(ds > m_dashes[m_curr_dash])
- {
- ds -= m_dashes[m_curr_dash];
- ++m_curr_dash;
- m_curr_dash_start = 0.0;
- if(m_curr_dash >= m_num_dashes) m_curr_dash = 0;
- }
- else
- {
- m_curr_dash_start = ds;
- ds = 0.0;
- }
- }
- }
-
-
- //------------------------------------------------------------------------
- void vcgen_dash::remove_all()
- {
- m_status = initial;
- m_src_vertices.remove_all();
- m_closed = 0;
- }
-
-
- //------------------------------------------------------------------------
- void vcgen_dash::add_vertex(double x, double y, unsigned cmd)
- {
- m_status = initial;
- if(is_move_to(cmd))
- {
- m_src_vertices.modify_last(vertex_dist(x, y));
- }
- else
- {
- if(is_vertex(cmd))
- {
- m_src_vertices.add(vertex_dist(x, y));
- }
- else
- {
- m_closed = get_close_flag(cmd);
- }
- }
- }
-
-
- //------------------------------------------------------------------------
- void vcgen_dash::rewind(unsigned)
- {
- if(m_status == initial)
- {
- m_src_vertices.close(m_closed != 0);
- shorten_path(m_src_vertices, m_shorten, m_closed);
- }
- m_status = ready;
- m_src_vertex = 0;
- }
-
-
- //------------------------------------------------------------------------
- unsigned vcgen_dash::vertex(double* x, double* y)
- {
- unsigned cmd = path_cmd_move_to;
- while(!is_stop(cmd))
- {
- switch(m_status)
- {
- case initial:
- rewind(0);
-
- case ready:
- if(m_num_dashes < 2 || m_src_vertices.size() < 2)
- {
- cmd = path_cmd_stop;
- break;
- }
- m_status = polyline;
- m_src_vertex = 1;
- m_v1 = &m_src_vertices[0];
- m_v2 = &m_src_vertices[1];
- m_curr_rest = m_v1->dist;
- *x = m_v1->x;
- *y = m_v1->y;
- if(m_dash_start >= 0.0) calc_dash_start(m_dash_start);
- return path_cmd_move_to;
-
- case polyline:
- {
- double dash_rest = m_dashes[m_curr_dash] - m_curr_dash_start;
-
- unsigned cmd = (m_curr_dash & 1) ?
- path_cmd_move_to :
- path_cmd_line_to;
-
- if(m_curr_rest > dash_rest)
- {
- m_curr_rest -= dash_rest;
- ++m_curr_dash;
- if(m_curr_dash >= m_num_dashes) m_curr_dash = 0;
- m_curr_dash_start = 0.0;
- *x = m_v2->x - (m_v2->x - m_v1->x) * m_curr_rest / m_v1->dist;
- *y = m_v2->y - (m_v2->y - m_v1->y) * m_curr_rest / m_v1->dist;
- }
- else
- {
- m_curr_dash_start += m_curr_rest;
- *x = m_v2->x;
- *y = m_v2->y;
- ++m_src_vertex;
- m_v1 = m_v2;
- m_curr_rest = m_v1->dist;
- if(m_closed)
- {
- if(m_src_vertex > m_src_vertices.size())
- {
- m_status = stop;
- }
- else
- {
- m_v2 = &m_src_vertices
- [
- (m_src_vertex >= m_src_vertices.size()) ? 0 :
- m_src_vertex
- ];
- }
- }
- else
- {
- if(m_src_vertex >= m_src_vertices.size())
- {
- m_status = stop;
- }
- else
- {
- m_v2 = &m_src_vertices[m_src_vertex];
- }
- }
- }
- return cmd;
- }
- break;
-
- case stop:
- cmd = path_cmd_stop;
- break;
- }
-
- }
- return path_cmd_stop;
- }
-
-
-}
-
diff --git a/contrib/python/matplotlib/py3/extern/agg24-svn/src/agg_vcgen_markers_term.cpp b/contrib/python/matplotlib/py3/extern/agg24-svn/src/agg_vcgen_markers_term.cpp
deleted file mode 100644
index 3374ab5e82..0000000000
--- a/contrib/python/matplotlib/py3/extern/agg24-svn/src/agg_vcgen_markers_term.cpp
+++ /dev/null
@@ -1,103 +0,0 @@
-//----------------------------------------------------------------------------
-// Anti-Grain Geometry - Version 2.4
-// Copyright (C) 2002-2005 Maxim Shemanarev (http://www.antigrain.com)
-//
-// Permission to copy, use, modify, sell and distribute this software
-// is granted provided this copyright notice appears in all copies.
-// This software is provided "as is" without express or implied
-// warranty, and with no claim as to its suitability for any purpose.
-//
-//----------------------------------------------------------------------------
-// Contact: mcseem@antigrain.com
-// mcseemagg@yahoo.com
-// http://www.antigrain.com
-//----------------------------------------------------------------------------
-//
-// Terminal markers generator (arrowhead/arrowtail)
-//
-//----------------------------------------------------------------------------
-
-#include "agg_vcgen_markers_term.h"
-
-namespace agg
-{
-
- //------------------------------------------------------------------------
- void vcgen_markers_term::remove_all()
- {
- m_markers.remove_all();
- }
-
-
- //------------------------------------------------------------------------
- void vcgen_markers_term::add_vertex(double x, double y, unsigned cmd)
- {
- if(is_move_to(cmd))
- {
- if(m_markers.size() & 1)
- {
- // Initial state, the first coordinate was added.
- // If two of more calls of start_vertex() occures
- // we just modify the last one.
- m_markers.modify_last(coord_type(x, y));
- }
- else
- {
- m_markers.add(coord_type(x, y));
- }
- }
- else
- {
- if(is_vertex(cmd))
- {
- if(m_markers.size() & 1)
- {
- // Initial state, the first coordinate was added.
- // Add three more points, 0,1,1,0
- m_markers.add(coord_type(x, y));
- m_markers.add(m_markers[m_markers.size() - 1]);
- m_markers.add(m_markers[m_markers.size() - 3]);
- }
- else
- {
- if(m_markers.size())
- {
- // Replace two last points: 0,1,1,0 -> 0,1,2,1
- m_markers[m_markers.size() - 1] = m_markers[m_markers.size() - 2];
- m_markers[m_markers.size() - 2] = coord_type(x, y);
- }
- }
- }
- }
- }
-
-
- //------------------------------------------------------------------------
- void vcgen_markers_term::rewind(unsigned path_id)
- {
- m_curr_id = path_id * 2;
- m_curr_idx = m_curr_id;
- }
-
-
- //------------------------------------------------------------------------
- unsigned vcgen_markers_term::vertex(double* x, double* y)
- {
- if(m_curr_id > 2 || m_curr_idx >= m_markers.size())
- {
- return path_cmd_stop;
- }
- const coord_type& c = m_markers[m_curr_idx];
- *x = c.x;
- *y = c.y;
- if(m_curr_idx & 1)
- {
- m_curr_idx += 3;
- return path_cmd_line_to;
- }
- ++m_curr_idx;
- return path_cmd_move_to;
- }
-
-
-}
diff --git a/contrib/python/matplotlib/py3/extern/agg24-svn/src/agg_vcgen_smooth_poly1.cpp b/contrib/python/matplotlib/py3/extern/agg24-svn/src/agg_vcgen_smooth_poly1.cpp
deleted file mode 100644
index ff7d488d39..0000000000
--- a/contrib/python/matplotlib/py3/extern/agg24-svn/src/agg_vcgen_smooth_poly1.cpp
+++ /dev/null
@@ -1,225 +0,0 @@
-//----------------------------------------------------------------------------
-// Anti-Grain Geometry - Version 2.4
-// Copyright (C) 2002-2005 Maxim Shemanarev (http://www.antigrain.com)
-//
-// Permission to copy, use, modify, sell and distribute this software
-// is granted provided this copyright notice appears in all copies.
-// This software is provided "as is" without express or implied
-// warranty, and with no claim as to its suitability for any purpose.
-//
-//----------------------------------------------------------------------------
-// Contact: mcseem@antigrain.com
-// mcseemagg@yahoo.com
-// http://www.antigrain.com
-//----------------------------------------------------------------------------
-//
-// Smooth polygon generator
-//
-//----------------------------------------------------------------------------
-
-#include "agg_vcgen_smooth_poly1.h"
-
-namespace agg
-{
-
- //------------------------------------------------------------------------
- vcgen_smooth_poly1::vcgen_smooth_poly1() :
- m_src_vertices(),
- m_smooth_value(0.5),
- m_closed(0),
- m_status(initial),
- m_src_vertex(0)
- {
- }
-
-
- //------------------------------------------------------------------------
- void vcgen_smooth_poly1::remove_all()
- {
- m_src_vertices.remove_all();
- m_closed = 0;
- m_status = initial;
- }
-
-
- //------------------------------------------------------------------------
- void vcgen_smooth_poly1::add_vertex(double x, double y, unsigned cmd)
- {
- m_status = initial;
- if(is_move_to(cmd))
- {
- m_src_vertices.modify_last(vertex_dist(x, y));
- }
- else
- {
- if(is_vertex(cmd))
- {
- m_src_vertices.add(vertex_dist(x, y));
- }
- else
- {
- m_closed = get_close_flag(cmd);
- }
- }
- }
-
-
- //------------------------------------------------------------------------
- void vcgen_smooth_poly1::rewind(unsigned)
- {
- if(m_status == initial)
- {
- m_src_vertices.close(m_closed != 0);
- }
- m_status = ready;
- m_src_vertex = 0;
- }
-
-
- //------------------------------------------------------------------------
- void vcgen_smooth_poly1::calculate(const vertex_dist& v0,
- const vertex_dist& v1,
- const vertex_dist& v2,
- const vertex_dist& v3)
- {
-
- double k1 = v0.dist / (v0.dist + v1.dist);
- double k2 = v1.dist / (v1.dist + v2.dist);
-
- double xm1 = v0.x + (v2.x - v0.x) * k1;
- double ym1 = v0.y + (v2.y - v0.y) * k1;
- double xm2 = v1.x + (v3.x - v1.x) * k2;
- double ym2 = v1.y + (v3.y - v1.y) * k2;
-
- m_ctrl1_x = v1.x + m_smooth_value * (v2.x - xm1);
- m_ctrl1_y = v1.y + m_smooth_value * (v2.y - ym1);
- m_ctrl2_x = v2.x + m_smooth_value * (v1.x - xm2);
- m_ctrl2_y = v2.y + m_smooth_value * (v1.y - ym2);
- }
-
-
- //------------------------------------------------------------------------
- unsigned vcgen_smooth_poly1::vertex(double* x, double* y)
- {
- unsigned cmd = path_cmd_line_to;
- while(!is_stop(cmd))
- {
- switch(m_status)
- {
- case initial:
- rewind(0);
-
- case ready:
- if(m_src_vertices.size() < 2)
- {
- cmd = path_cmd_stop;
- break;
- }
-
- if(m_src_vertices.size() == 2)
- {
- *x = m_src_vertices[m_src_vertex].x;
- *y = m_src_vertices[m_src_vertex].y;
- m_src_vertex++;
- if(m_src_vertex == 1) return path_cmd_move_to;
- if(m_src_vertex == 2) return path_cmd_line_to;
- cmd = path_cmd_stop;
- break;
- }
-
- cmd = path_cmd_move_to;
- m_status = polygon;
- m_src_vertex = 0;
-
- case polygon:
- if(m_closed)
- {
- if(m_src_vertex >= m_src_vertices.size())
- {
- *x = m_src_vertices[0].x;
- *y = m_src_vertices[0].y;
- m_status = end_poly;
- return path_cmd_curve4;
- }
- }
- else
- {
- if(m_src_vertex >= m_src_vertices.size() - 1)
- {
- *x = m_src_vertices[m_src_vertices.size() - 1].x;
- *y = m_src_vertices[m_src_vertices.size() - 1].y;
- m_status = end_poly;
- return path_cmd_curve3;
- }
- }
-
- calculate(m_src_vertices.prev(m_src_vertex),
- m_src_vertices.curr(m_src_vertex),
- m_src_vertices.next(m_src_vertex),
- m_src_vertices.next(m_src_vertex + 1));
-
- *x = m_src_vertices[m_src_vertex].x;
- *y = m_src_vertices[m_src_vertex].y;
- m_src_vertex++;
-
- if(m_closed)
- {
- m_status = ctrl1;
- return ((m_src_vertex == 1) ?
- path_cmd_move_to :
- path_cmd_curve4);
- }
- else
- {
- if(m_src_vertex == 1)
- {
- m_status = ctrl_b;
- return path_cmd_move_to;
- }
- if(m_src_vertex >= m_src_vertices.size() - 1)
- {
- m_status = ctrl_e;
- return path_cmd_curve3;
- }
- m_status = ctrl1;
- return path_cmd_curve4;
- }
- break;
-
- case ctrl_b:
- *x = m_ctrl2_x;
- *y = m_ctrl2_y;
- m_status = polygon;
- return path_cmd_curve3;
-
- case ctrl_e:
- *x = m_ctrl1_x;
- *y = m_ctrl1_y;
- m_status = polygon;
- return path_cmd_curve3;
-
- case ctrl1:
- *x = m_ctrl1_x;
- *y = m_ctrl1_y;
- m_status = ctrl2;
- return path_cmd_curve4;
-
- case ctrl2:
- *x = m_ctrl2_x;
- *y = m_ctrl2_y;
- m_status = polygon;
- return path_cmd_curve4;
-
- case end_poly:
- m_status = stop;
- return path_cmd_end_poly | m_closed;
-
- case stop:
- return path_cmd_stop;
- }
- }
- return cmd;
- }
-
-}
-
diff --git a/contrib/python/matplotlib/py3/extern/agg24-svn/src/agg_vcgen_stroke.cpp b/contrib/python/matplotlib/py3/extern/agg24-svn/src/agg_vcgen_stroke.cpp
deleted file mode 100644
index 2dae3e122b..0000000000
--- a/contrib/python/matplotlib/py3/extern/agg24-svn/src/agg_vcgen_stroke.cpp
+++ /dev/null
@@ -1,213 +0,0 @@
-//----------------------------------------------------------------------------
-// Anti-Grain Geometry - Version 2.4
-// Copyright (C) 2002-2005 Maxim Shemanarev (http://www.antigrain.com)
-//
-// Permission to copy, use, modify, sell and distribute this software
-// is granted provided this copyright notice appears in all copies.
-// This software is provided "as is" without express or implied
-// warranty, and with no claim as to its suitability for any purpose.
-//
-//----------------------------------------------------------------------------
-// Contact: mcseem@antigrain.com
-// mcseemagg@yahoo.com
-// http://www.antigrain.com
-//----------------------------------------------------------------------------
-//
-// Stroke generator
-//
-//----------------------------------------------------------------------------
-#include <math.h>
-#include "agg_vcgen_stroke.h"
-#include "agg_shorten_path.h"
-
-namespace agg
-{
-
- //------------------------------------------------------------------------
- vcgen_stroke::vcgen_stroke() :
- m_stroker(),
- m_src_vertices(),
- m_out_vertices(),
- m_shorten(0.0),
- m_closed(0),
- m_status(initial),
- m_src_vertex(0),
- m_out_vertex(0)
- {
- }
-
- //------------------------------------------------------------------------
- void vcgen_stroke::remove_all()
- {
- m_src_vertices.remove_all();
- m_closed = 0;
- m_status = initial;
- }
-
-
- //------------------------------------------------------------------------
- void vcgen_stroke::add_vertex(double x, double y, unsigned cmd)
- {
- m_status = initial;
- if(is_move_to(cmd))
- {
- m_src_vertices.modify_last(vertex_dist(x, y));
- }
- else
- {
- if(is_vertex(cmd))
- {
- m_src_vertices.add(vertex_dist(x, y));
- }
- else
- {
- m_closed = get_close_flag(cmd);
- }
- }
- }
-
- //------------------------------------------------------------------------
- void vcgen_stroke::rewind(unsigned)
- {
- if(m_status == initial)
- {
- m_src_vertices.close(m_closed != 0);
- shorten_path(m_src_vertices, m_shorten, m_closed);
- if(m_src_vertices.size() < 3) m_closed = 0;
- }
- m_status = ready;
- m_src_vertex = 0;
- m_out_vertex = 0;
- }
-
-
- //------------------------------------------------------------------------
- unsigned vcgen_stroke::vertex(double* x, double* y)
- {
- unsigned cmd = path_cmd_line_to;
- while(!is_stop(cmd))
- {
- switch(m_status)
- {
- case initial:
- rewind(0);
-
- case ready:
- if(m_src_vertices.size() < 2 + unsigned(m_closed != 0))
- {
- cmd = path_cmd_stop;
- break;
- }
- m_status = m_closed ? outline1 : cap1;
- cmd = path_cmd_move_to;
- m_src_vertex = 0;
- m_out_vertex = 0;
- break;
-
- case cap1:
- m_stroker.calc_cap(m_out_vertices,
- m_src_vertices[0],
- m_src_vertices[1],
- m_src_vertices[0].dist);
- m_src_vertex = 1;
- m_prev_status = outline1;
- m_status = out_vertices;
- m_out_vertex = 0;
- break;
-
- case cap2:
- m_stroker.calc_cap(m_out_vertices,
- m_src_vertices[m_src_vertices.size() - 1],
- m_src_vertices[m_src_vertices.size() - 2],
- m_src_vertices[m_src_vertices.size() - 2].dist);
- m_prev_status = outline2;
- m_status = out_vertices;
- m_out_vertex = 0;
- break;
-
- case outline1:
- if(m_closed)
- {
- if(m_src_vertex >= m_src_vertices.size())
- {
- m_prev_status = close_first;
- m_status = end_poly1;
- break;
- }
- }
- else
- {
- if(m_src_vertex >= m_src_vertices.size() - 1)
- {
- m_status = cap2;
- break;
- }
- }
- m_stroker.calc_join(m_out_vertices,
- m_src_vertices.prev(m_src_vertex),
- m_src_vertices.curr(m_src_vertex),
- m_src_vertices.next(m_src_vertex),
- m_src_vertices.prev(m_src_vertex).dist,
- m_src_vertices.curr(m_src_vertex).dist);
- ++m_src_vertex;
- m_prev_status = m_status;
- m_status = out_vertices;
- m_out_vertex = 0;
- break;
-
- case close_first:
- m_status = outline2;
- cmd = path_cmd_move_to;
-
- case outline2:
- if(m_src_vertex <= unsigned(m_closed == 0))
- {
- m_status = end_poly2;
- m_prev_status = stop;
- break;
- }
-
- --m_src_vertex;
- m_stroker.calc_join(m_out_vertices,
- m_src_vertices.next(m_src_vertex),
- m_src_vertices.curr(m_src_vertex),
- m_src_vertices.prev(m_src_vertex),
- m_src_vertices.curr(m_src_vertex).dist,
- m_src_vertices.prev(m_src_vertex).dist);
-
- m_prev_status = m_status;
- m_status = out_vertices;
- m_out_vertex = 0;
- break;
-
- case out_vertices:
- if(m_out_vertex >= m_out_vertices.size())
- {
- m_status = m_prev_status;
- }
- else
- {
- const point_d& c = m_out_vertices[m_out_vertex++];
- *x = c.x;
- *y = c.y;
- return cmd;
- }
- break;
-
- case end_poly1:
- m_status = m_prev_status;
- return path_cmd_end_poly | path_flags_close | path_flags_ccw;
-
- case end_poly2:
- m_status = m_prev_status;
- return path_cmd_end_poly | path_flags_close | path_flags_cw;
-
- case stop:
- cmd = path_cmd_stop;
- break;
- }
- }
- return cmd;
- }
-
-}
diff --git a/contrib/python/matplotlib/py3/extern/agg24-svn/src/agg_vpgen_clip_polygon.cpp b/contrib/python/matplotlib/py3/extern/agg24-svn/src/agg_vpgen_clip_polygon.cpp
deleted file mode 100644
index 4524526017..0000000000
--- a/contrib/python/matplotlib/py3/extern/agg24-svn/src/agg_vpgen_clip_polygon.cpp
+++ /dev/null
@@ -1,133 +0,0 @@
-//----------------------------------------------------------------------------
-// Anti-Grain Geometry - Version 2.4
-// Copyright (C) 2002-2005 Maxim Shemanarev (http://www.antigrain.com)
-//
-// Permission to copy, use, modify, sell and distribute this software
-// is granted provided this copyright notice appears in all copies.
-// This software is provided "as is" without express or implied
-// warranty, and with no claim as to its suitability for any purpose.
-//
-//----------------------------------------------------------------------------
-// Contact: mcseem@antigrain.com
-// mcseemagg@yahoo.com
-// http://www.antigrain.com
-//----------------------------------------------------------------------------
-
-#include "agg_vpgen_clip_polygon.h"
-#include "agg_clip_liang_barsky.h"
-
-namespace agg
-{
-
- //------------------------------------------------------------------------
- // Determine the clipping code of the vertex according to the
- // Cyrus-Beck line clipping algorithm
- //
- // | |
- // 0110 | 0010 | 0011
- // | |
- // -------+--------+-------- clip_box.y2
- // | |
- // 0100 | 0000 | 0001
- // | |
- // -------+--------+-------- clip_box.y1
- // | |
- // 1100 | 1000 | 1001
- // | |
- // clip_box.x1 clip_box.x2
- //
- //
- unsigned vpgen_clip_polygon::clipping_flags(double x, double y)
- {
- if(x < m_clip_box.x1)
- {
- if(y > m_clip_box.y2) return 6;
- if(y < m_clip_box.y1) return 12;
- return 4;
- }
-
- if(x > m_clip_box.x2)
- {
- if(y > m_clip_box.y2) return 3;
- if(y < m_clip_box.y1) return 9;
- return 1;
- }
-
- if(y > m_clip_box.y2) return 2;
- if(y < m_clip_box.y1) return 8;
-
- return 0;
- }
-
- //----------------------------------------------------------------------------
- void vpgen_clip_polygon::reset()
- {
- m_vertex = 0;
- m_num_vertices = 0;
- }
-
- //----------------------------------------------------------------------------
- void vpgen_clip_polygon::move_to(double x, double y)
- {
- m_vertex = 0;
- m_num_vertices = 0;
- m_clip_flags = clipping_flags(x, y);
- if(m_clip_flags == 0)
- {
- m_x[0] = x;
- m_y[0] = y;
- m_num_vertices = 1;
- }
- m_x1 = x;
- m_y1 = y;
- m_cmd = path_cmd_move_to;
- }
-
-
- //----------------------------------------------------------------------------
- void vpgen_clip_polygon::line_to(double x, double y)
- {
- m_vertex = 0;
- m_num_vertices = 0;
- unsigned flags = clipping_flags(x, y);
-
- if(m_clip_flags == flags)
- {
- if(flags == 0)
- {
- m_x[0] = x;
- m_y[0] = y;
- m_num_vertices = 1;
- }
- }
- else
- {
- m_num_vertices = clip_liang_barsky(m_x1, m_y1,
- x, y,
- m_clip_box,
- m_x, m_y);
- }
-
- m_clip_flags = flags;
- m_x1 = x;
- m_y1 = y;
- }
-
-
- //----------------------------------------------------------------------------
- unsigned vpgen_clip_polygon::vertex(double* x, double* y)
- {
- if(m_vertex < m_num_vertices)
- {
- *x = m_x[m_vertex];
- *y = m_y[m_vertex];
- ++m_vertex;
- unsigned cmd = m_cmd;
- m_cmd = path_cmd_line_to;
- return cmd;
- }
- return path_cmd_stop;
- }
-
-
-}
diff --git a/contrib/python/matplotlib/py3/extern/agg24-svn/src/agg_vpgen_clip_polyline.cpp b/contrib/python/matplotlib/py3/extern/agg24-svn/src/agg_vpgen_clip_polyline.cpp
deleted file mode 100644
index 6840803a98..0000000000
--- a/contrib/python/matplotlib/py3/extern/agg24-svn/src/agg_vpgen_clip_polyline.cpp
+++ /dev/null
@@ -1,77 +0,0 @@
-//----------------------------------------------------------------------------
-// Anti-Grain Geometry - Version 2.4
-// Copyright (C) 2002-2005 Maxim Shemanarev (http://www.antigrain.com)
-//
-// Permission to copy, use, modify, sell and distribute this software
-// is granted provided this copyright notice appears in all copies.
-// This software is provided "as is" without express or implied
-// warranty, and with no claim as to its suitability for any purpose.
-//
-//----------------------------------------------------------------------------
-// Contact: mcseem@antigrain.com
-// mcseemagg@yahoo.com
-// http://www.antigrain.com
-//----------------------------------------------------------------------------
-
-#include "agg_vpgen_clip_polyline.h"
-#include "agg_clip_liang_barsky.h"
-
-namespace agg
-{
- //----------------------------------------------------------------------------
- void vpgen_clip_polyline::reset()
- {
- m_vertex = 0;
- m_num_vertices = 0;
- m_move_to = false;
- }
-
- //----------------------------------------------------------------------------
- void vpgen_clip_polyline::move_to(double x, double y)
- {
- m_vertex = 0;
- m_num_vertices = 0;
- m_x1 = x;
- m_y1 = y;
- m_move_to = true;
- }
-
- //----------------------------------------------------------------------------
- void vpgen_clip_polyline::line_to(double x, double y)
- {
- double x2 = x;
- double y2 = y;
- unsigned flags = clip_line_segment(&m_x1, &m_y1, &x2, &y2, m_clip_box);
-
- m_vertex = 0;
- m_num_vertices = 0;
- if((flags & 4) == 0)
- {
- if((flags & 1) != 0 || m_move_to)
- {
- m_x[0] = m_x1;
- m_y[0] = m_y1;
- m_cmd[0] = path_cmd_move_to;
- m_num_vertices = 1;
- }
- m_x[m_num_vertices] = x2;
- m_y[m_num_vertices] = y2;
- m_cmd[m_num_vertices++] = path_cmd_line_to;
- m_move_to = (flags & 2) != 0;
- }
- m_x1 = x;
- m_y1 = y;
- }
-
- //----------------------------------------------------------------------------
- unsigned vpgen_clip_polyline::vertex(double* x, double* y)
- {
- if(m_vertex < m_num_vertices)
- {
- *x = m_x[m_vertex];
- *y = m_y[m_vertex];
- return m_cmd[m_vertex++];
- }
- return path_cmd_stop;
- }
-}
diff --git a/contrib/python/matplotlib/py3/extern/agg24-svn/src/agg_vpgen_segmentator.cpp b/contrib/python/matplotlib/py3/extern/agg24-svn/src/agg_vpgen_segmentator.cpp
deleted file mode 100644
index 49a45b6b13..0000000000
--- a/contrib/python/matplotlib/py3/extern/agg24-svn/src/agg_vpgen_segmentator.cpp
+++ /dev/null
@@ -1,67 +0,0 @@
-//----------------------------------------------------------------------------
-// Anti-Grain Geometry - Version 2.4
-// Copyright (C) 2002-2005 Maxim Shemanarev (http://www.antigrain.com)
-//
-// Permission to copy, use, modify, sell and distribute this software
-// is granted provided this copyright notice appears in all copies.
-// This software is provided "as is" without express or implied
-// warranty, and with no claim as to its suitability for any purpose.
-//
-//----------------------------------------------------------------------------
-// Contact: mcseem@antigrain.com
-// mcseemagg@yahoo.com
-// http://www.antigrain.com
-//----------------------------------------------------------------------------
-
-#include <math.h>
-#include "agg_vpgen_segmentator.h"
-
-namespace agg
-{
-
- void vpgen_segmentator::move_to(double x, double y)
- {
- m_x1 = x;
- m_y1 = y;
- m_dx = 0.0;
- m_dy = 0.0;
- m_dl = 2.0;
- m_ddl = 2.0;
- m_cmd = path_cmd_move_to;
- }
-
- void vpgen_segmentator::line_to(double x, double y)
- {
- m_x1 += m_dx;
- m_y1 += m_dy;
- m_dx = x - m_x1;
- m_dy = y - m_y1;
- double len = sqrt(m_dx * m_dx + m_dy * m_dy) * m_approximation_scale;
- if(len < 1e-30) len = 1e-30;
- m_ddl = 1.0 / len;
- m_dl = (m_cmd == path_cmd_move_to) ? 0.0 : m_ddl;
- if(m_cmd == path_cmd_stop) m_cmd = path_cmd_line_to;
- }
-
- unsigned vpgen_segmentator::vertex(double* x, double* y)
- {
- if(m_cmd == path_cmd_stop) return path_cmd_stop;
-
- unsigned cmd = m_cmd;
- m_cmd = path_cmd_line_to;
- if(m_dl >= 1.0 - m_ddl)
- {
- m_dl = 1.0;
- m_cmd = path_cmd_stop;
- *x = m_x1 + m_dx;
- *y = m_y1 + m_dy;
- return cmd;
- }
- *x = m_x1 + m_dx * m_dl;
- *y = m_y1 + m_dy * m_dl;
- m_dl += m_ddl;
- return cmd;
- }
-
-}
-
diff --git a/contrib/python/matplotlib/py3/extern/agg24-svn/src/authors b/contrib/python/matplotlib/py3/extern/agg24-svn/src/authors
deleted file mode 100644
index e69de29bb2..0000000000
--- a/contrib/python/matplotlib/py3/extern/agg24-svn/src/authors
+++ /dev/null
diff --git a/contrib/python/matplotlib/py3/extern/agg24-svn/src/copying b/contrib/python/matplotlib/py3/extern/agg24-svn/src/copying
deleted file mode 100644
index a08de15faa..0000000000
--- a/contrib/python/matplotlib/py3/extern/agg24-svn/src/copying
+++ /dev/null
@@ -1,11 +0,0 @@
-The Anti-Grain Geometry Project
-A high quality rendering engine for C++
-http://antigrain.com
-
-Anti-Grain Geometry - Version 2.4
-Copyright (C) 2002-2005 Maxim Shemanarev (McSeem)
-
-Permission to copy, use, modify, sell and distribute this software
-is granted provided this copyright notice appears in all copies.
-This software is provided "as is" without express or implied
-warranty, and with no claim as to its suitability for any purpose.
diff --git a/contrib/python/matplotlib/py3/extern/agg24-svn/src/ctrl/agg_bezier_ctrl.cpp b/contrib/python/matplotlib/py3/extern/agg24-svn/src/ctrl/agg_bezier_ctrl.cpp
deleted file mode 100644
index 13a4c15af9..0000000000
--- a/contrib/python/matplotlib/py3/extern/agg24-svn/src/ctrl/agg_bezier_ctrl.cpp
+++ /dev/null
@@ -1,370 +0,0 @@
-//----------------------------------------------------------------------------
-// Anti-Grain Geometry - Version 2.4
-// Copyright (C) 2002-2005 Maxim Shemanarev (http://www.antigrain.com)
-//
-// Permission to copy, use, modify, sell and distribute this software
-// is granted provided this copyright notice appears in all copies.
-// This software is provided "as is" without express or implied
-// warranty, and with no claim as to its suitability for any purpose.
-//
-//----------------------------------------------------------------------------
-// Contact: mcseem@antigrain.com
-// mcseemagg@yahoo.com
-// http://www.antigrain.com
-//----------------------------------------------------------------------------
-//
-// classes bezier_ctrl_impl, bezier_ctrl
-//
-//----------------------------------------------------------------------------
-
-#include <string.h>
-#include <stdio.h>
-#include "ctrl/agg_bezier_ctrl.h"
-
-namespace agg
-{
-
- //------------------------------------------------------------------------
- bezier_ctrl_impl::bezier_ctrl_impl() :
- ctrl(0,0,1,1,false),
- m_stroke(m_curve),
- m_poly(4, 5.0),
- m_idx(0)
- {
- m_poly.in_polygon_check(false);
- m_poly.xn(0) = 100.0;
- m_poly.yn(0) = 0.0;
- m_poly.xn(1) = 100.0;
- m_poly.yn(1) = 50.0;
- m_poly.xn(2) = 50.0;
- m_poly.yn(2) = 100.0;
- m_poly.xn(3) = 0.0;
- m_poly.yn(3) = 100.0;
- }
-
-
- //------------------------------------------------------------------------
- void bezier_ctrl_impl::curve(double x1, double y1,
- double x2, double y2,
- double x3, double y3,
- double x4, double y4)
- {
- m_poly.xn(0) = x1;
- m_poly.yn(0) = y1;
- m_poly.xn(1) = x2;
- m_poly.yn(1) = y2;
- m_poly.xn(2) = x3;
- m_poly.yn(2) = y3;
- m_poly.xn(3) = x4;
- m_poly.yn(3) = y4;
- curve();
- }
-
- //------------------------------------------------------------------------
- curve4& bezier_ctrl_impl::curve()
- {
- m_curve.init(m_poly.xn(0), m_poly.yn(0),
- m_poly.xn(1), m_poly.yn(1),
- m_poly.xn(2), m_poly.yn(2),
- m_poly.xn(3), m_poly.yn(3));
- return m_curve;
- }
-
- //------------------------------------------------------------------------
- void bezier_ctrl_impl::rewind(unsigned idx)
- {
- m_idx = idx;
-
- m_curve.approximation_scale(scale());
- switch(idx)
- {
- default:
- case 0: // Control line 1
- m_curve.init(m_poly.xn(0), m_poly.yn(0),
- (m_poly.xn(0) + m_poly.xn(1)) * 0.5,
- (m_poly.yn(0) + m_poly.yn(1)) * 0.5,
- (m_poly.xn(0) + m_poly.xn(1)) * 0.5,
- (m_poly.yn(0) + m_poly.yn(1)) * 0.5,
- m_poly.xn(1), m_poly.yn(1));
- m_stroke.rewind(0);
- break;
-
- case 1: // Control line 2
- m_curve.init(m_poly.xn(2), m_poly.yn(2),
- (m_poly.xn(2) + m_poly.xn(3)) * 0.5,
- (m_poly.yn(2) + m_poly.yn(3)) * 0.5,
- (m_poly.xn(2) + m_poly.xn(3)) * 0.5,
- (m_poly.yn(2) + m_poly.yn(3)) * 0.5,
- m_poly.xn(3), m_poly.yn(3));
- m_stroke.rewind(0);
- break;
-
- case 2: // Curve itself
- m_curve.init(m_poly.xn(0), m_poly.yn(0),
- m_poly.xn(1), m_poly.yn(1),
- m_poly.xn(2), m_poly.yn(2),
- m_poly.xn(3), m_poly.yn(3));
- m_stroke.rewind(0);
- break;
-
- case 3: // Point 1
- m_ellipse.init(m_poly.xn(0), m_poly.yn(0), point_radius(), point_radius(), 20);
- m_ellipse.rewind(0);
- break;
-
- case 4: // Point 2
- m_ellipse.init(m_poly.xn(1), m_poly.yn(1), point_radius(), point_radius(), 20);
- m_ellipse.rewind(0);
- break;
-
- case 5: // Point 3
- m_ellipse.init(m_poly.xn(2), m_poly.yn(2), point_radius(), point_radius(), 20);
- m_ellipse.rewind(0);
- break;
-
- case 6: // Point 4
- m_ellipse.init(m_poly.xn(3), m_poly.yn(3), point_radius(), point_radius(), 20);
- m_ellipse.rewind(0);
- break;
- }
- }
-
-
- //------------------------------------------------------------------------
- unsigned bezier_ctrl_impl::vertex(double* x, double* y)
- {
- unsigned cmd = path_cmd_stop;
- switch(m_idx)
- {
- case 0:
- case 1:
- case 2:
- cmd = m_stroke.vertex(x, y);
- break;
-
- case 3:
- case 4:
- case 5:
- case 6:
- case 7:
- cmd = m_ellipse.vertex(x, y);
- break;
- }
-
- if(!is_stop(cmd))
- {
- transform_xy(x, y);
- }
- return cmd;
- }
-
-
-
- //------------------------------------------------------------------------
- bool bezier_ctrl_impl::in_rect(double x, double y) const
- {
- return false;
- }
-
-
- //------------------------------------------------------------------------
- bool bezier_ctrl_impl::on_mouse_button_down(double x, double y)
- {
- inverse_transform_xy(&x, &y);
- return m_poly.on_mouse_button_down(x, y);
- }
-
-
- //------------------------------------------------------------------------
- bool bezier_ctrl_impl::on_mouse_move(double x, double y, bool button_flag)
- {
- inverse_transform_xy(&x, &y);
- return m_poly.on_mouse_move(x, y, button_flag);
- }
-
-
- //------------------------------------------------------------------------
- bool bezier_ctrl_impl::on_mouse_button_up(double x, double y)
- {
- return m_poly.on_mouse_button_up(x, y);
- }
-
-
- //------------------------------------------------------------------------
- bool bezier_ctrl_impl::on_arrow_keys(bool left, bool right, bool down, bool up)
- {
- return m_poly.on_arrow_keys(left, right, down, up);
- }
-
-
-
-
-
-
- //------------------------------------------------------------------------
- curve3_ctrl_impl::curve3_ctrl_impl() :
- ctrl(0,0,1,1,false),
- m_stroke(m_curve),
- m_poly(3, 5.0),
- m_idx(0)
- {
- m_poly.in_polygon_check(false);
- m_poly.xn(0) = 100.0;
- m_poly.yn(0) = 0.0;
- m_poly.xn(1) = 100.0;
- m_poly.yn(1) = 50.0;
- m_poly.xn(2) = 50.0;
- m_poly.yn(2) = 100.0;
- }
-
-
- //------------------------------------------------------------------------
- void curve3_ctrl_impl::curve(double x1, double y1,
- double x2, double y2,
- double x3, double y3)
- {
- m_poly.xn(0) = x1;
- m_poly.yn(0) = y1;
- m_poly.xn(1) = x2;
- m_poly.yn(1) = y2;
- m_poly.xn(2) = x3;
- m_poly.yn(2) = y3;
- curve();
- }
-
- //------------------------------------------------------------------------
- curve3& curve3_ctrl_impl::curve()
- {
- m_curve.init(m_poly.xn(0), m_poly.yn(0),
- m_poly.xn(1), m_poly.yn(1),
- m_poly.xn(2), m_poly.yn(2));
- return m_curve;
- }
-
- //------------------------------------------------------------------------
- void curve3_ctrl_impl::rewind(unsigned idx)
- {
- m_idx = idx;
-
- switch(idx)
- {
- default:
- case 0: // Control line
- m_curve.init(m_poly.xn(0), m_poly.yn(0),
- (m_poly.xn(0) + m_poly.xn(1)) * 0.5,
- (m_poly.yn(0) + m_poly.yn(1)) * 0.5,
- m_poly.xn(1), m_poly.yn(1));
- m_stroke.rewind(0);
- break;
-
- case 1: // Control line 2
- m_curve.init(m_poly.xn(1), m_poly.yn(1),
- (m_poly.xn(1) + m_poly.xn(2)) * 0.5,
- (m_poly.yn(1) + m_poly.yn(2)) * 0.5,
- m_poly.xn(2), m_poly.yn(2));
- m_stroke.rewind(0);
- break;
-
- case 2: // Curve itself
- m_curve.init(m_poly.xn(0), m_poly.yn(0),
- m_poly.xn(1), m_poly.yn(1),
- m_poly.xn(2), m_poly.yn(2));
- m_stroke.rewind(0);
- break;
-
- case 3: // Point 1
- m_ellipse.init(m_poly.xn(0), m_poly.yn(0), point_radius(), point_radius(), 20);
- m_ellipse.rewind(0);
- break;
-
- case 4: // Point 2
- m_ellipse.init(m_poly.xn(1), m_poly.yn(1), point_radius(), point_radius(), 20);
- m_ellipse.rewind(0);
- break;
-
- case 5: // Point 3
- m_ellipse.init(m_poly.xn(2), m_poly.yn(2), point_radius(), point_radius(), 20);
- m_ellipse.rewind(0);
- break;
- }
- }
-
-
- //------------------------------------------------------------------------
- unsigned curve3_ctrl_impl::vertex(double* x, double* y)
- {
- unsigned cmd = path_cmd_stop;
- switch(m_idx)
- {
- case 0:
- case 1:
- case 2:
- cmd = m_stroke.vertex(x, y);
- break;
-
- case 3:
- case 4:
- case 5:
- case 6:
- cmd = m_ellipse.vertex(x, y);
- break;
- }
-
- if(!is_stop(cmd))
- {
- transform_xy(x, y);
- }
- return cmd;
- }
-
-
-
- //------------------------------------------------------------------------
- bool curve3_ctrl_impl::in_rect(double x, double y) const
- {
- return false;
- }
-
-
- //------------------------------------------------------------------------
- bool curve3_ctrl_impl::on_mouse_button_down(double x, double y)
- {
- inverse_transform_xy(&x, &y);
- return m_poly.on_mouse_button_down(x, y);
- }
-
-
- //------------------------------------------------------------------------
- bool curve3_ctrl_impl::on_mouse_move(double x, double y, bool button_flag)
- {
- inverse_transform_xy(&x, &y);
- return m_poly.on_mouse_move(x, y, button_flag);
- }
-
-
- //------------------------------------------------------------------------
- bool curve3_ctrl_impl::on_mouse_button_up(double x, double y)
- {
- return m_poly.on_mouse_button_up(x, y);
- }
-
-
- //------------------------------------------------------------------------
- bool curve3_ctrl_impl::on_arrow_keys(bool left, bool right, bool down, bool up)
- {
- return m_poly.on_arrow_keys(left, right, down, up);
- }
-
-
-
-
-
-
-
-
-
-
-
-
-}
-
diff --git a/contrib/python/matplotlib/py3/extern/agg24-svn/src/ctrl/agg_cbox_ctrl.cpp b/contrib/python/matplotlib/py3/extern/agg24-svn/src/ctrl/agg_cbox_ctrl.cpp
deleted file mode 100644
index 3cf14f6a85..0000000000
--- a/contrib/python/matplotlib/py3/extern/agg24-svn/src/ctrl/agg_cbox_ctrl.cpp
+++ /dev/null
@@ -1,214 +0,0 @@
-//----------------------------------------------------------------------------
-// Anti-Grain Geometry - Version 2.4
-// Copyright (C) 2002-2005 Maxim Shemanarev (http://www.antigrain.com)
-//
-// Permission to copy, use, modify, sell and distribute this software
-// is granted provided this copyright notice appears in all copies.
-// This software is provided "as is" without express or implied
-// warranty, and with no claim as to its suitability for any purpose.
-//
-//----------------------------------------------------------------------------
-// Contact: mcseem@antigrain.com
-// mcseemagg@yahoo.com
-// http://www.antigrain.com
-//----------------------------------------------------------------------------
-//
-// classes rbox_ctrl_impl, rbox_ctrl
-//
-//----------------------------------------------------------------------------
-
-#include <string.h>
-#include "ctrl/agg_cbox_ctrl.h"
-
-
-namespace agg
-{
-
- //------------------------------------------------------------------------
- cbox_ctrl_impl::cbox_ctrl_impl(double x, double y,
- const char* l,
- bool flip_y) :
- ctrl(x, y, x + 9.0 * 1.5, y + 9.0 * 1.5, flip_y),
- m_text_thickness(1.5),
- m_text_height(9.0),
- m_text_width(0.0),
- m_status(false),
- m_text_poly(m_text)
- {
- label(l);
- }
-
-
- //------------------------------------------------------------------------
- void cbox_ctrl_impl::text_size(double h, double w)
- {
- m_text_width = w;
- m_text_height = h;
- }
-
- //------------------------------------------------------------------------
- void cbox_ctrl_impl::label(const char* l)
- {
- unsigned len = strlen(l);
- if(len > 127) len = 127;
- memcpy(m_label, l, len);
- m_label[len] = 0;
- }
-
-
- //------------------------------------------------------------------------
- bool cbox_ctrl_impl::on_mouse_button_down(double x, double y)
- {
- inverse_transform_xy(&x, &y);
- if(x >= m_x1 && y >= m_y1 && x <= m_x2 && y <= m_y2)
- {
- m_status = !m_status;
- return true;
- }
- return false;
- }
-
-
- //------------------------------------------------------------------------
- bool cbox_ctrl_impl::on_mouse_move(double, double, bool)
- {
- return false;
- }
-
- //------------------------------------------------------------------------
- bool cbox_ctrl_impl::in_rect(double x, double y) const
- {
- inverse_transform_xy(&x, &y);
- return x >= m_x1 && y >= m_y1 && x <= m_x2 && y <= m_y2;
- }
-
- //------------------------------------------------------------------------
- bool cbox_ctrl_impl::on_mouse_button_up(double, double)
- {
- return false;
- }
-
- //------------------------------------------------------------------------
- bool cbox_ctrl_impl::on_arrow_keys(bool, bool, bool, bool)
- {
- return false;
- }
-
-
- //------------------------------------------------------------------------
- void cbox_ctrl_impl::rewind(unsigned idx)
- {
- m_idx = idx;
-
- double d2;
- double t;
-
- switch(idx)
- {
- default:
- case 0: // Border
- m_vertex = 0;
- m_vx[0] = m_x1;
- m_vy[0] = m_y1;
- m_vx[1] = m_x2;
- m_vy[1] = m_y1;
- m_vx[2] = m_x2;
- m_vy[2] = m_y2;
- m_vx[3] = m_x1;
- m_vy[3] = m_y2;
- m_vx[4] = m_x1 + m_text_thickness;
- m_vy[4] = m_y1 + m_text_thickness;
- m_vx[5] = m_x1 + m_text_thickness;
- m_vy[5] = m_y2 - m_text_thickness;
- m_vx[6] = m_x2 - m_text_thickness;
- m_vy[6] = m_y2 - m_text_thickness;
- m_vx[7] = m_x2 - m_text_thickness;
- m_vy[7] = m_y1 + m_text_thickness;
- break;
-
- case 1: // Text
- m_text.text(m_label);
- m_text.start_point(m_x1 + m_text_height * 2.0, m_y1 + m_text_height / 5.0);
- m_text.size(m_text_height, m_text_width);
- m_text_poly.width(m_text_thickness);
- m_text_poly.line_join(round_join);
- m_text_poly.line_cap(round_cap);
- m_text_poly.rewind(0);
- break;
-
- case 2: // Active item
- m_vertex = 0;
- d2 = (m_y2 - m_y1) / 2.0;
- t = m_text_thickness * 1.5;
- m_vx[0] = m_x1 + m_text_thickness;
- m_vy[0] = m_y1 + m_text_thickness;
- m_vx[1] = m_x1 + d2;
- m_vy[1] = m_y1 + d2 - t;
- m_vx[2] = m_x2 - m_text_thickness;
- m_vy[2] = m_y1 + m_text_thickness;
- m_vx[3] = m_x1 + d2 + t;
- m_vy[3] = m_y1 + d2;
- m_vx[4] = m_x2 - m_text_thickness;
- m_vy[4] = m_y2 - m_text_thickness;
- m_vx[5] = m_x1 + d2;
- m_vy[5] = m_y1 + d2 + t;
- m_vx[6] = m_x1 + m_text_thickness;
- m_vy[6] = m_y2 - m_text_thickness;
- m_vx[7] = m_x1 + d2 - t;
- m_vy[7] = m_y1 + d2;
- break;
-
- }
- }
-
-
-
-
- //------------------------------------------------------------------------
- unsigned cbox_ctrl_impl::vertex(double* x, double* y)
- {
- unsigned cmd = path_cmd_line_to;
- switch(m_idx)
- {
- case 0:
- if(m_vertex == 0 || m_vertex == 4) cmd = path_cmd_move_to;
- if(m_vertex >= 8) cmd = path_cmd_stop;
- *x = m_vx[m_vertex];
- *y = m_vy[m_vertex];
- m_vertex++;
- break;
-
- case 1:
- cmd = m_text_poly.vertex(x, y);
- break;
-
- case 2:
- if(m_status)
- {
- if(m_vertex == 0) cmd = path_cmd_move_to;
- if(m_vertex >= 8) cmd = path_cmd_stop;
- *x = m_vx[m_vertex];
- *y = m_vy[m_vertex];
- m_vertex++;
- }
- else
- {
- cmd = path_cmd_stop;
- }
- break;
-
- default:
- cmd = path_cmd_stop;
- break;
- }
-
- if(!is_stop(cmd))
- {
- transform_xy(x, y);
- }
- return cmd;
- }
-}
-
-
-
diff --git a/contrib/python/matplotlib/py3/extern/agg24-svn/src/ctrl/agg_gamma_ctrl.cpp b/contrib/python/matplotlib/py3/extern/agg24-svn/src/ctrl/agg_gamma_ctrl.cpp
deleted file mode 100644
index 7fd6448cd5..0000000000
--- a/contrib/python/matplotlib/py3/extern/agg24-svn/src/ctrl/agg_gamma_ctrl.cpp
+++ /dev/null
@@ -1,433 +0,0 @@
-//----------------------------------------------------------------------------
-// Anti-Grain Geometry - Version 2.4
-// Copyright (C) 2002-2005 Maxim Shemanarev (http://www.antigrain.com)
-//
-// Permission to copy, use, modify, sell and distribute this software
-// is granted provided this copyright notice appears in all copies.
-// This software is provided "as is" without express or implied
-// warranty, and with no claim as to its suitability for any purpose.
-//
-//----------------------------------------------------------------------------
-// Contact: mcseem@antigrain.com
-// mcseemagg@yahoo.com
-// http://www.antigrain.com
-//----------------------------------------------------------------------------
-//
-// class gamma_ctrl_impl
-//
-//----------------------------------------------------------------------------
-
-#include <stdio.h>
-#include "agg_math.h"
-#include "ctrl/agg_gamma_ctrl.h"
-
-namespace agg
-{
-
- //------------------------------------------------------------------------
- gamma_ctrl_impl::gamma_ctrl_impl(double x1, double y1, double x2, double y2, bool flip_y) :
- ctrl(x1, y1, x2, y2, flip_y),
- m_border_width(2.0),
- m_border_extra(0.0),
- m_curve_width(2.0),
- m_grid_width(0.2),
- m_text_thickness(1.5),
- m_point_size(5.0),
- m_text_height(9.0),
- m_text_width(0.0),
- m_xc1(x1),
- m_yc1(y1),
- m_xc2(x2),
- m_yc2(y2 - m_text_height * 2.0),
- m_xt1(x1),
- m_yt1(y2 - m_text_height * 2.0),
- m_xt2(x2),
- m_yt2(y2),
- m_curve_poly(m_gamma_spline),
- m_text_poly(m_text),
- m_idx(0),
- m_vertex(0),
- m_p1_active(true),
- m_mouse_point(0),
- m_pdx(0.0),
- m_pdy(0.0)
- {
- calc_spline_box();
- }
-
-
- //------------------------------------------------------------------------
- void gamma_ctrl_impl::calc_spline_box()
- {
- m_xs1 = m_xc1 + m_border_width;
- m_ys1 = m_yc1 + m_border_width;
- m_xs2 = m_xc2 - m_border_width;
- m_ys2 = m_yc2 - m_border_width * 0.5;
- }
-
-
- //------------------------------------------------------------------------
- void gamma_ctrl_impl::calc_points()
- {
- double kx1, ky1, kx2, ky2;
- m_gamma_spline.values(&kx1, &ky1, &kx2, &ky2);
- m_xp1 = m_xs1 + (m_xs2 - m_xs1) * kx1 * 0.25;
- m_yp1 = m_ys1 + (m_ys2 - m_ys1) * ky1 * 0.25;
- m_xp2 = m_xs2 - (m_xs2 - m_xs1) * kx2 * 0.25;
- m_yp2 = m_ys2 - (m_ys2 - m_ys1) * ky2 * 0.25;
- }
-
-
- //------------------------------------------------------------------------
- void gamma_ctrl_impl::calc_values()
- {
- double kx1, ky1, kx2, ky2;
-
- kx1 = (m_xp1 - m_xs1) * 4.0 / (m_xs2 - m_xs1);
- ky1 = (m_yp1 - m_ys1) * 4.0 / (m_ys2 - m_ys1);
- kx2 = (m_xs2 - m_xp2) * 4.0 / (m_xs2 - m_xs1);
- ky2 = (m_ys2 - m_yp2) * 4.0 / (m_ys2 - m_ys1);
- m_gamma_spline.values(kx1, ky1, kx2, ky2);
- }
-
-
- //------------------------------------------------------------------------
- void gamma_ctrl_impl::text_size(double h, double w)
- {
- m_text_width = w;
- m_text_height = h;
- m_yc2 = m_y2 - m_text_height * 2.0;
- m_yt1 = m_y2 - m_text_height * 2.0;
- calc_spline_box();
- }
-
-
- //------------------------------------------------------------------------
- void gamma_ctrl_impl::border_width(double t, double extra)
- {
- m_border_width = t;
- m_border_extra = extra;
- calc_spline_box();
- }
-
- //------------------------------------------------------------------------
- void gamma_ctrl_impl::values(double kx1, double ky1, double kx2, double ky2)
- {
- m_gamma_spline.values(kx1, ky1, kx2, ky2);
- }
-
-
- //------------------------------------------------------------------------
- void gamma_ctrl_impl::values(double* kx1, double* ky1, double* kx2, double* ky2) const
- {
- m_gamma_spline.values(kx1, ky1, kx2, ky2);
- }
-
- //------------------------------------------------------------------------
- void gamma_ctrl_impl::rewind(unsigned idx)
- {
- double kx1, ky1, kx2, ky2;
- char tbuf[32];
-
- m_idx = idx;
-
- switch(idx)
- {
- default:
-
- case 0: // Background
- m_vertex = 0;
- m_vx[0] = m_x1 - m_border_extra;
- m_vy[0] = m_y1 - m_border_extra;
- m_vx[1] = m_x2 + m_border_extra;
- m_vy[1] = m_y1 - m_border_extra;
- m_vx[2] = m_x2 + m_border_extra;
- m_vy[2] = m_y2 + m_border_extra;
- m_vx[3] = m_x1 - m_border_extra;
- m_vy[3] = m_y2 + m_border_extra;
- break;
-
- case 1: // Border
- m_vertex = 0;
- m_vx[0] = m_x1;
- m_vy[0] = m_y1;
- m_vx[1] = m_x2;
- m_vy[1] = m_y1;
- m_vx[2] = m_x2;
- m_vy[2] = m_y2;
- m_vx[3] = m_x1;
- m_vy[3] = m_y2;
- m_vx[4] = m_x1 + m_border_width;
- m_vy[4] = m_y1 + m_border_width;
- m_vx[5] = m_x1 + m_border_width;
- m_vy[5] = m_y2 - m_border_width;
- m_vx[6] = m_x2 - m_border_width;
- m_vy[6] = m_y2 - m_border_width;
- m_vx[7] = m_x2 - m_border_width;
- m_vy[7] = m_y1 + m_border_width;
- m_vx[8] = m_xc1 + m_border_width;
- m_vy[8] = m_yc2 - m_border_width * 0.5;
- m_vx[9] = m_xc2 - m_border_width;
- m_vy[9] = m_yc2 - m_border_width * 0.5;
- m_vx[10] = m_xc2 - m_border_width;
- m_vy[10] = m_yc2 + m_border_width * 0.5;
- m_vx[11] = m_xc1 + m_border_width;
- m_vy[11] = m_yc2 + m_border_width * 0.5;
- break;
-
- case 2: // Curve
- m_gamma_spline.box(m_xs1, m_ys1, m_xs2, m_ys2);
- m_curve_poly.width(m_curve_width);
- m_curve_poly.rewind(0);
- break;
-
- case 3: // Grid
- m_vertex = 0;
- m_vx[0] = m_xs1;
- m_vy[0] = (m_ys1 + m_ys2) * 0.5 - m_grid_width * 0.5;
- m_vx[1] = m_xs2;
- m_vy[1] = (m_ys1 + m_ys2) * 0.5 - m_grid_width * 0.5;
- m_vx[2] = m_xs2;
- m_vy[2] = (m_ys1 + m_ys2) * 0.5 + m_grid_width * 0.5;
- m_vx[3] = m_xs1;
- m_vy[3] = (m_ys1 + m_ys2) * 0.5 + m_grid_width * 0.5;
- m_vx[4] = (m_xs1 + m_xs2) * 0.5 - m_grid_width * 0.5;
- m_vy[4] = m_ys1;
- m_vx[5] = (m_xs1 + m_xs2) * 0.5 - m_grid_width * 0.5;
- m_vy[5] = m_ys2;
- m_vx[6] = (m_xs1 + m_xs2) * 0.5 + m_grid_width * 0.5;
- m_vy[6] = m_ys2;
- m_vx[7] = (m_xs1 + m_xs2) * 0.5 + m_grid_width * 0.5;
- m_vy[7] = m_ys1;
- calc_points();
- m_vx[8] = m_xs1;
- m_vy[8] = m_yp1 - m_grid_width * 0.5;
- m_vx[9] = m_xp1 - m_grid_width * 0.5;
- m_vy[9] = m_yp1 - m_grid_width * 0.5;
- m_vx[10] = m_xp1 - m_grid_width * 0.5;
- m_vy[10] = m_ys1;
- m_vx[11] = m_xp1 + m_grid_width * 0.5;
- m_vy[11] = m_ys1;
- m_vx[12] = m_xp1 + m_grid_width * 0.5;
- m_vy[12] = m_yp1 + m_grid_width * 0.5;
- m_vx[13] = m_xs1;
- m_vy[13] = m_yp1 + m_grid_width * 0.5;
- m_vx[14] = m_xs2;
- m_vy[14] = m_yp2 + m_grid_width * 0.5;
- m_vx[15] = m_xp2 + m_grid_width * 0.5;
- m_vy[15] = m_yp2 + m_grid_width * 0.5;
- m_vx[16] = m_xp2 + m_grid_width * 0.5;
- m_vy[16] = m_ys2;
- m_vx[17] = m_xp2 - m_grid_width * 0.5;
- m_vy[17] = m_ys2;
- m_vx[18] = m_xp2 - m_grid_width * 0.5;
- m_vy[18] = m_yp2 - m_grid_width * 0.5;
- m_vx[19] = m_xs2;
- m_vy[19] = m_yp2 - m_grid_width * 0.5;
- break;
-
- case 4: // Point1
- calc_points();
- if(m_p1_active) m_ellipse.init(m_xp2, m_yp2, m_point_size, m_point_size, 32);
- else m_ellipse.init(m_xp1, m_yp1, m_point_size, m_point_size, 32);
- break;
-
- case 5: // Point2
- calc_points();
- if(m_p1_active) m_ellipse.init(m_xp1, m_yp1, m_point_size, m_point_size, 32);
- else m_ellipse.init(m_xp2, m_yp2, m_point_size, m_point_size, 32);
- break;
-
- case 6: // Text
- m_gamma_spline.values(&kx1, &ky1, &kx2, &ky2);
- sprintf(tbuf, "%5.3f %5.3f %5.3f %5.3f", kx1, ky1, kx2, ky2);
- m_text.text(tbuf);
- m_text.size(m_text_height, m_text_width);
- m_text.start_point(m_xt1 + m_border_width * 2.0, (m_yt1 + m_yt2) * 0.5 - m_text_height * 0.5);
- m_text_poly.width(m_text_thickness);
- m_text_poly.line_join(round_join);
- m_text_poly.line_cap(round_cap);
- m_text_poly.rewind(0);
- break;
- }
- }
-
-
- //------------------------------------------------------------------------
- unsigned gamma_ctrl_impl::vertex(double* x, double* y)
- {
- unsigned cmd = path_cmd_line_to;
- switch(m_idx)
- {
- case 0:
- if(m_vertex == 0) cmd = path_cmd_move_to;
- if(m_vertex >= 4) cmd = path_cmd_stop;
- *x = m_vx[m_vertex];
- *y = m_vy[m_vertex];
- m_vertex++;
- break;
-
- case 1:
- if(m_vertex == 0 || m_vertex == 4 || m_vertex == 8) cmd = path_cmd_move_to;
- if(m_vertex >= 12) cmd = path_cmd_stop;
- *x = m_vx[m_vertex];
- *y = m_vy[m_vertex];
- m_vertex++;
- break;
-
- case 2:
- cmd = m_curve_poly.vertex(x, y);
- break;
-
- case 3:
- if(m_vertex == 0 ||
- m_vertex == 4 ||
- m_vertex == 8 ||
- m_vertex == 14) cmd = path_cmd_move_to;
-
- if(m_vertex >= 20) cmd = path_cmd_stop;
- *x = m_vx[m_vertex];
- *y = m_vy[m_vertex];
- m_vertex++;
- break;
-
- case 4: // Point1
- case 5: // Point2
- cmd = m_ellipse.vertex(x, y);
- break;
-
- case 6:
- cmd = m_text_poly.vertex(x, y);
- break;
-
- default:
- cmd = path_cmd_stop;
- break;
- }
-
- if(!is_stop(cmd))
- {
- transform_xy(x, y);
- }
-
- return cmd;
- }
-
-
-
- //------------------------------------------------------------------------
- bool gamma_ctrl_impl::on_arrow_keys(bool left, bool right, bool down, bool up)
- {
- double kx1, ky1, kx2, ky2;
- bool ret = false;
- m_gamma_spline.values(&kx1, &ky1, &kx2, &ky2);
- if(m_p1_active)
- {
- if(left) { kx1 -= 0.005; ret = true; }
- if(right) { kx1 += 0.005; ret = true; }
- if(down) { ky1 -= 0.005; ret = true; }
- if(up) { ky1 += 0.005; ret = true; }
- }
- else
- {
- if(left) { kx2 += 0.005; ret = true; }
- if(right) { kx2 -= 0.005; ret = true; }
- if(down) { ky2 += 0.005; ret = true; }
- if(up) { ky2 -= 0.005; ret = true; }
- }
- if(ret)
- {
- m_gamma_spline.values(kx1, ky1, kx2, ky2);
- }
- return ret;
- }
-
-
-
- //------------------------------------------------------------------------
- void gamma_ctrl_impl::change_active_point()
- {
- m_p1_active = m_p1_active ? false : true;
- }
-
-
-
-
- //------------------------------------------------------------------------
- bool gamma_ctrl_impl::in_rect(double x, double y) const
- {
- inverse_transform_xy(&x, &y);
- return x >= m_x1 && x <= m_x2 && y >= m_y1 && y <= m_y2;
- }
-
-
- //------------------------------------------------------------------------
- bool gamma_ctrl_impl::on_mouse_button_down(double x, double y)
- {
- inverse_transform_xy(&x, &y);
- calc_points();
-
- if(calc_distance(x, y, m_xp1, m_yp1) <= m_point_size + 1)
- {
- m_mouse_point = 1;
- m_pdx = m_xp1 - x;
- m_pdy = m_yp1 - y;
- m_p1_active = true;
- return true;
- }
-
- if(calc_distance(x, y, m_xp2, m_yp2) <= m_point_size + 1)
- {
- m_mouse_point = 2;
- m_pdx = m_xp2 - x;
- m_pdy = m_yp2 - y;
- m_p1_active = false;
- return true;
- }
-
- return false;
- }
-
-
- //------------------------------------------------------------------------
- bool gamma_ctrl_impl::on_mouse_button_up(double, double)
- {
- if(m_mouse_point)
- {
- m_mouse_point = 0;
- return true;
- }
- return false;
- }
-
-
- //------------------------------------------------------------------------
- bool gamma_ctrl_impl::on_mouse_move(double x, double y, bool button_flag)
- {
- inverse_transform_xy(&x, &y);
- if(!button_flag)
- {
- return on_mouse_button_up(x, y);
- }
-
- if(m_mouse_point == 1)
- {
- m_xp1 = x + m_pdx;
- m_yp1 = y + m_pdy;
- calc_values();
- return true;
- }
- if(m_mouse_point == 2)
- {
- m_xp2 = x + m_pdx;
- m_yp2 = y + m_pdy;
- calc_values();
- return true;
- }
- return false;
- }
-
-
-
-}
-
diff --git a/contrib/python/matplotlib/py3/extern/agg24-svn/src/ctrl/agg_gamma_spline.cpp b/contrib/python/matplotlib/py3/extern/agg24-svn/src/ctrl/agg_gamma_spline.cpp
deleted file mode 100644
index f720fddd8e..0000000000
--- a/contrib/python/matplotlib/py3/extern/agg24-svn/src/ctrl/agg_gamma_spline.cpp
+++ /dev/null
@@ -1,130 +0,0 @@
-//----------------------------------------------------------------------------
-// Anti-Grain Geometry - Version 2.4
-// Copyright (C) 2002-2005 Maxim Shemanarev (http://www.antigrain.com)
-//
-// Permission to copy, use, modify, sell and distribute this software
-// is granted provided this copyright notice appears in all copies.
-// This software is provided "as is" without express or implied
-// warranty, and with no claim as to its suitability for any purpose.
-//
-//----------------------------------------------------------------------------
-// Contact: mcseem@antigrain.com
-// mcseemagg@yahoo.com
-// http://www.antigrain.com
-//----------------------------------------------------------------------------
-//
-// class gamma_spline
-//
-//----------------------------------------------------------------------------
-
-#include "ctrl/agg_gamma_spline.h"
-
-namespace agg
-{
-
- //------------------------------------------------------------------------
- gamma_spline::gamma_spline() :
- m_x1(0), m_y1(0), m_x2(10), m_y2(10), m_cur_x(0.0)
- {
- values(1.0, 1.0, 1.0, 1.0);
- }
-
-
- //------------------------------------------------------------------------
- double gamma_spline::y(double x) const
- {
- if(x < 0.0) x = 0.0;
- if(x > 1.0) x = 1.0;
- double val = m_spline.get(x);
- if(val < 0.0) val = 0.0;
- if(val > 1.0) val = 1.0;
- return val;
- }
-
-
-
- //------------------------------------------------------------------------
- void gamma_spline::values(double kx1, double ky1, double kx2, double ky2)
- {
- if(kx1 < 0.001) kx1 = 0.001;
- if(kx1 > 1.999) kx1 = 1.999;
- if(ky1 < 0.001) ky1 = 0.001;
- if(ky1 > 1.999) ky1 = 1.999;
- if(kx2 < 0.001) kx2 = 0.001;
- if(kx2 > 1.999) kx2 = 1.999;
- if(ky2 < 0.001) ky2 = 0.001;
- if(ky2 > 1.999) ky2 = 1.999;
-
- m_x[0] = 0.0;
- m_y[0] = 0.0;
- m_x[1] = kx1 * 0.25;
- m_y[1] = ky1 * 0.25;
- m_x[2] = 1.0 - kx2 * 0.25;
- m_y[2] = 1.0 - ky2 * 0.25;
- m_x[3] = 1.0;
- m_y[3] = 1.0;
-
- m_spline.init(4, m_x, m_y);
-
- int i;
- for(i = 0; i < 256; i++)
- {
- m_gamma[i] = (unsigned char)(y(double(i) / 255.0) * 255.0);
- }
- }
-
-
- //------------------------------------------------------------------------
- void gamma_spline::values(double* kx1, double* ky1, double* kx2, double* ky2) const
- {
- *kx1 = m_x[1] * 4.0;
- *ky1 = m_y[1] * 4.0;
- *kx2 = (1.0 - m_x[2]) * 4.0;
- *ky2 = (1.0 - m_y[2]) * 4.0;
- }
-
-
- //------------------------------------------------------------------------
- void gamma_spline::box(double x1, double y1, double x2, double y2)
- {
- m_x1 = x1;
- m_y1 = y1;
- m_x2 = x2;
- m_y2 = y2;
- }
-
-
- //------------------------------------------------------------------------
- void gamma_spline::rewind(unsigned)
- {
- m_cur_x = 0.0;
- }
-
-
- //------------------------------------------------------------------------
- unsigned gamma_spline::vertex(double* vx, double* vy)
- {
- if(m_cur_x == 0.0)
- {
- *vx = m_x1;
- *vy = m_y1;
- m_cur_x += 1.0 / (m_x2 - m_x1);
- return path_cmd_move_to;
- }
-
- if(m_cur_x > 1.0)
- {
- return path_cmd_stop;
- }
-
- *vx = m_x1 + m_cur_x * (m_x2 - m_x1);
- *vy = m_y1 + y(m_cur_x) * (m_y2 - m_y1);
-
- m_cur_x += 1.0 / (m_x2 - m_x1);
- return path_cmd_line_to;
- }
-
-
-
-}
-
diff --git a/contrib/python/matplotlib/py3/extern/agg24-svn/src/ctrl/agg_polygon_ctrl.cpp b/contrib/python/matplotlib/py3/extern/agg24-svn/src/ctrl/agg_polygon_ctrl.cpp
deleted file mode 100644
index 40daee45e8..0000000000
--- a/contrib/python/matplotlib/py3/extern/agg24-svn/src/ctrl/agg_polygon_ctrl.cpp
+++ /dev/null
@@ -1,332 +0,0 @@
-//----------------------------------------------------------------------------
-// Anti-Grain Geometry - Version 2.4
-// Copyright (C) 2002-2005 Maxim Shemanarev (http://www.antigrain.com)
-//
-// Permission to copy, use, modify, sell and distribute this software
-// is granted provided this copyright notice appears in all copies.
-// This software is provided "as is" without express or implied
-// warranty, and with no claim as to its suitability for any purpose.
-//
-//----------------------------------------------------------------------------
-// Contact: mcseem@antigrain.com
-// mcseemagg@yahoo.com
-// http://www.antigrain.com
-//----------------------------------------------------------------------------
-//
-// classes polygon_ctrl_impl
-//
-//----------------------------------------------------------------------------
-
-#include "ctrl/agg_polygon_ctrl.h"
-
-namespace agg
-{
-
- polygon_ctrl_impl::polygon_ctrl_impl(unsigned np, double point_radius) :
- ctrl(0, 0, 1, 1, false),
- m_polygon(np * 2),
- m_num_points(np),
- m_node(-1),
- m_edge(-1),
- m_vs(&m_polygon[0], m_num_points, false),
- m_stroke(m_vs),
- m_point_radius(point_radius),
- m_status(0),
- m_dx(0.0),
- m_dy(0.0),
- m_in_polygon_check(true)
- {
- m_stroke.width(1.0);
- }
-
-
- void polygon_ctrl_impl::rewind(unsigned)
- {
- m_status = 0;
- m_stroke.rewind(0);
- }
-
- unsigned polygon_ctrl_impl::vertex(double* x, double* y)
- {
- unsigned cmd = path_cmd_stop;
- double r = m_point_radius;
- if(m_status == 0)
- {
- cmd = m_stroke.vertex(x, y);
- if(!is_stop(cmd))
- {
- transform_xy(x, y);
- return cmd;
- }
- if(m_node >= 0 && m_node == int(m_status)) r *= 1.2;
- m_ellipse.init(xn(m_status), yn(m_status), r, r, 32);
- ++m_status;
- }
- cmd = m_ellipse.vertex(x, y);
- if(!is_stop(cmd))
- {
- transform_xy(x, y);
- return cmd;
- }
- if(m_status >= m_num_points) return path_cmd_stop;
- if(m_node >= 0 && m_node == int(m_status)) r *= 1.2;
- m_ellipse.init(xn(m_status), yn(m_status), r, r, 32);
- ++m_status;
- cmd = m_ellipse.vertex(x, y);
- if(!is_stop(cmd))
- {
- transform_xy(x, y);
- }
- return cmd;
- }
-
-
- bool polygon_ctrl_impl::check_edge(unsigned i, double x, double y) const
- {
- bool ret = false;
-
- unsigned n1 = i;
- unsigned n2 = (i + m_num_points - 1) % m_num_points;
- double x1 = xn(n1);
- double y1 = yn(n1);
- double x2 = xn(n2);
- double y2 = yn(n2);
-
- double dx = x2 - x1;
- double dy = y2 - y1;
-
- if(sqrt(dx*dx + dy*dy) > 0.0000001)
- {
- double x3 = x;
- double y3 = y;
- double x4 = x3 - dy;
- double y4 = y3 + dx;
-
- double den = (y4-y3) * (x2-x1) - (x4-x3) * (y2-y1);
- double u1 = ((x4-x3) * (y1-y3) - (y4-y3) * (x1-x3)) / den;
-
- double xi = x1 + u1 * (x2 - x1);
- double yi = y1 + u1 * (y2 - y1);
-
- dx = xi - x;
- dy = yi - y;
-
- if (u1 > 0.0 && u1 < 1.0 && sqrt(dx*dx + dy*dy) <= m_point_radius)
- {
- ret = true;
- }
- }
- return ret;
- }
-
-
-
- bool polygon_ctrl_impl::in_rect(double x, double y) const
- {
- return false;
- }
-
-
- bool polygon_ctrl_impl::on_mouse_button_down(double x, double y)
- {
- unsigned i;
- bool ret = false;
- m_node = -1;
- m_edge = -1;
- inverse_transform_xy(&x, &y);
- for (i = 0; i < m_num_points; i++)
- {
- if(sqrt( (x-xn(i)) * (x-xn(i)) + (y-yn(i)) * (y-yn(i)) ) < m_point_radius)
- {
- m_dx = x - xn(i);
- m_dy = y - yn(i);
- m_node = int(i);
- ret = true;
- break;
- }
- }
-
- if(!ret)
- {
- for (i = 0; i < m_num_points; i++)
- {
- if(check_edge(i, x, y))
- {
- m_dx = x;
- m_dy = y;
- m_edge = int(i);
- ret = true;
- break;
- }
- }
- }
-
- if(!ret)
- {
- if(point_in_polygon(x, y))
- {
- m_dx = x;
- m_dy = y;
- m_node = int(m_num_points);
- ret = true;
- }
- }
- return ret;
- }
-
-
- bool polygon_ctrl_impl::on_mouse_move(double x, double y, bool button_flag)
- {
- bool ret = false;
- double dx;
- double dy;
- inverse_transform_xy(&x, &y);
- if(m_node == int(m_num_points))
- {
- dx = x - m_dx;
- dy = y - m_dy;
- unsigned i;
- for(i = 0; i < m_num_points; i++)
- {
- xn(i) += dx;
- yn(i) += dy;
- }
- m_dx = x;
- m_dy = y;
- ret = true;
- }
- else
- {
- if(m_edge >= 0)
- {
- unsigned n1 = m_edge;
- unsigned n2 = (n1 + m_num_points - 1) % m_num_points;
- dx = x - m_dx;
- dy = y - m_dy;
- xn(n1) += dx;
- yn(n1) += dy;
- xn(n2) += dx;
- yn(n2) += dy;
- m_dx = x;
- m_dy = y;
- ret = true;
- }
- else
- {
- if(m_node >= 0)
- {
- xn(m_node) = x - m_dx;
- yn(m_node) = y - m_dy;
- ret = true;
- }
- }
- }
- return ret;
- }
-
- bool polygon_ctrl_impl::on_mouse_button_up(double x, double y)
- {
- bool ret = (m_node >= 0) || (m_edge >= 0);
- m_node = -1;
- m_edge = -1;
- return ret;
- }
-
-
- bool polygon_ctrl_impl::on_arrow_keys(bool left, bool right, bool down, bool up)
- {
- return false;
- }
-
-
- //======= Crossings Multiply algorithm of InsideTest ========================
- //
- // By Eric Haines, 3D/Eye Inc, erich@eye.com
- //
- // This version is usually somewhat faster than the original published in
- // Graphics Gems IV; by turning the division for testing the X axis crossing
- // into a tricky multiplication test this part of the test became faster,
- // which had the additional effect of making the test for "both to left or
- // both to right" a bit slower for triangles than simply computing the
- // intersection each time. The main increase is in triangle testing speed,
- // which was about 15% faster; all other polygon complexities were pretty much
- // the same as before. On machines where division is very expensive (not the
- // case on the HP 9000 series on which I tested) this test should be much
- // faster overall than the old code. Your mileage may (in fact, will) vary,
- // depending on the machine and the test data, but in general I believe this
- // code is both shorter and faster. This test was inspired by unpublished
- // Graphics Gems submitted by Joseph Samosky and Mark Haigh-Hutchinson.
- // Related work by Samosky is in:
- //
- // Samosky, Joseph, "SectionView: A system for interactively specifying and
- // visualizing sections through three-dimensional medical image data",
- // M.S. Thesis, Department of Electrical Engineering and Computer Science,
- // Massachusetts Institute of Technology, 1993.
- //
- // Shoot a test ray along +X axis. The strategy is to compare vertex Y values
- // to the testing point's Y and quickly discard edges which are entirely to one
- // side of the test ray. Note that CONVEX and WINDING code can be added as
- // for the CrossingsTest() code; it is left out here for clarity.
- //
- // Input 2D polygon _pgon_ with _numverts_ number of vertices and test point
- // _point_, returns 1 if inside, 0 if outside.
- bool polygon_ctrl_impl::point_in_polygon(double tx, double ty) const
- {
- if(m_num_points < 3) return false;
- if(!m_in_polygon_check) return false;
-
- unsigned j;
- int yflag0, yflag1, inside_flag;
- double vtx0, vty0, vtx1, vty1;
-
- vtx0 = xn(m_num_points - 1);
- vty0 = yn(m_num_points - 1);
-
- // get test bit for above/below X axis
- yflag0 = (vty0 >= ty);
-
- vtx1 = xn(0);
- vty1 = yn(0);
-
- inside_flag = 0;
- for (j = 1; j <= m_num_points; ++j)
- {
- yflag1 = (vty1 >= ty);
- // Check if endpoints straddle (are on opposite sides) of X axis
- // (i.e. the Y's differ); if so, +X ray could intersect this edge.
- // The old test also checked whether the endpoints are both to the
- // right or to the left of the test point. However, given the faster
- // intersection point computation used below, this test was found to
- // be a break-even proposition for most polygons and a loser for
- // triangles (where 50% or more of the edges which survive this test
- // will cross quadrants and so have to have the X intersection computed
- // anyway). I credit Joseph Samosky with inspiring me to try dropping
- // the "both left or both right" part of my code.
- if (yflag0 != yflag1)
- {
- // Check intersection of pgon segment with +X ray.
- // Note if >= point's X; if so, the ray hits it.
- // The division operation is avoided for the ">=" test by checking
- // the sign of the first vertex wrto the test point; idea inspired
- // by Joseph Samosky's and Mark Haigh-Hutchinson's different
- // polygon inclusion tests.
- if ( ((vty1-ty) * (vtx0-vtx1) >=
- (vtx1-tx) * (vty0-vty1)) == yflag1 )
- {
- inside_flag ^= 1;
- }
- }
-
- // Move to the next pair of vertices, retaining info as possible.
- yflag0 = yflag1;
- vtx0 = vtx1;
- vty0 = vty1;
-
- unsigned k = (j >= m_num_points) ? j - m_num_points : j;
- vtx1 = xn(k);
- vty1 = yn(k);
- }
- return inside_flag != 0;
- }
-}
-
diff --git a/contrib/python/matplotlib/py3/extern/agg24-svn/src/ctrl/agg_rbox_ctrl.cpp b/contrib/python/matplotlib/py3/extern/agg24-svn/src/ctrl/agg_rbox_ctrl.cpp
deleted file mode 100644
index 4e36b3b26b..0000000000
--- a/contrib/python/matplotlib/py3/extern/agg24-svn/src/ctrl/agg_rbox_ctrl.cpp
+++ /dev/null
@@ -1,325 +0,0 @@
-//----------------------------------------------------------------------------
-// Anti-Grain Geometry - Version 2.4
-// Copyright (C) 2002-2005 Maxim Shemanarev (http://www.antigrain.com)
-//
-// Permission to copy, use, modify, sell and distribute this software
-// is granted provided this copyright notice appears in all copies.
-// This software is provided "as is" without express or implied
-// warranty, and with no claim as to its suitability for any purpose.
-//
-//----------------------------------------------------------------------------
-// Contact: mcseem@antigrain.com
-// mcseemagg@yahoo.com
-// http://www.antigrain.com
-//----------------------------------------------------------------------------
-//
-// classes rbox_ctrl_impl, rbox_ctrl
-//
-//----------------------------------------------------------------------------
-
-#include <string.h>
-#include "ctrl/agg_rbox_ctrl.h"
-
-namespace agg
-{
-
- //------------------------------------------------------------------------
- rbox_ctrl_impl::rbox_ctrl_impl(double x1, double y1,
- double x2, double y2, bool flip_y) :
- ctrl(x1, y1, x2, y2, flip_y),
- m_border_width(1.0),
- m_border_extra(0.0),
- m_text_thickness(1.5),
- m_text_height(9.0),
- m_text_width(0.0),
- m_num_items(0),
- m_cur_item(-1),
- m_ellipse_poly(m_ellipse),
- m_text_poly(m_text),
- m_idx(0),
- m_vertex(0)
- {
- calc_rbox();
- }
-
-
- //------------------------------------------------------------------------
- void rbox_ctrl_impl::calc_rbox()
- {
- m_xs1 = m_x1 + m_border_width;
- m_ys1 = m_y1 + m_border_width;
- m_xs2 = m_x2 - m_border_width;
- m_ys2 = m_y2 - m_border_width;
- }
-
-
- //------------------------------------------------------------------------
- void rbox_ctrl_impl::add_item(const char* text)
- {
- if(m_num_items < 32)
- {
- m_items[m_num_items].resize(strlen(text) + 1);
- strcpy(&m_items[m_num_items][0], text);
- m_num_items++;
- }
- }
-
-
- //------------------------------------------------------------------------
- void rbox_ctrl_impl::border_width(double t, double extra)
- {
- m_border_width = t;
- m_border_extra = extra;
- calc_rbox();
- }
-
-
- //------------------------------------------------------------------------
- void rbox_ctrl_impl::text_size(double h, double w)
- {
- m_text_width = w;
- m_text_height = h;
- }
-
-
-
- //------------------------------------------------------------------------
- void rbox_ctrl_impl::rewind(unsigned idx)
- {
- m_idx = idx;
- m_dy = m_text_height * 2.0;
- m_draw_item = 0;
-
- switch(idx)
- {
- default:
-
- case 0: // Background
- m_vertex = 0;
- m_vx[0] = m_x1 - m_border_extra;
- m_vy[0] = m_y1 - m_border_extra;
- m_vx[1] = m_x2 + m_border_extra;
- m_vy[1] = m_y1 - m_border_extra;
- m_vx[2] = m_x2 + m_border_extra;
- m_vy[2] = m_y2 + m_border_extra;
- m_vx[3] = m_x1 - m_border_extra;
- m_vy[3] = m_y2 + m_border_extra;
- break;
-
- case 1: // Border
- m_vertex = 0;
- m_vx[0] = m_x1;
- m_vy[0] = m_y1;
- m_vx[1] = m_x2;
- m_vy[1] = m_y1;
- m_vx[2] = m_x2;
- m_vy[2] = m_y2;
- m_vx[3] = m_x1;
- m_vy[3] = m_y2;
- m_vx[4] = m_x1 + m_border_width;
- m_vy[4] = m_y1 + m_border_width;
- m_vx[5] = m_x1 + m_border_width;
- m_vy[5] = m_y2 - m_border_width;
- m_vx[6] = m_x2 - m_border_width;
- m_vy[6] = m_y2 - m_border_width;
- m_vx[7] = m_x2 - m_border_width;
- m_vy[7] = m_y1 + m_border_width;
- break;
-
- case 2: // Text
- m_text.text(&m_items[0][0]);
- m_text.start_point(m_xs1 + m_dy * 1.5, m_ys1 + m_dy / 2.0);
- m_text.size(m_text_height, m_text_width);
- m_text_poly.width(m_text_thickness);
- m_text_poly.line_join(round_join);
- m_text_poly.line_cap(round_cap);
- m_text_poly.rewind(0);
- break;
-
- case 3: // Inactive items
- m_ellipse.init(m_xs1 + m_dy / 1.3,
- m_ys1 + m_dy / 1.3,
- m_text_height / 1.5,
- m_text_height / 1.5, 32);
- m_ellipse_poly.width(m_text_thickness);
- m_ellipse_poly.rewind(0);
- break;
-
-
- case 4: // Active Item
- if(m_cur_item >= 0)
- {
- m_ellipse.init(m_xs1 + m_dy / 1.3,
- m_ys1 + m_dy * m_cur_item + m_dy / 1.3,
- m_text_height / 2.0,
- m_text_height / 2.0, 32);
- m_ellipse.rewind(0);
- }
- break;
-
- }
- }
-
-
- //------------------------------------------------------------------------
- unsigned rbox_ctrl_impl::vertex(double* x, double* y)
- {
- unsigned cmd = path_cmd_line_to;
- switch(m_idx)
- {
- case 0:
- if(m_vertex == 0) cmd = path_cmd_move_to;
- if(m_vertex >= 4) cmd = path_cmd_stop;
- *x = m_vx[m_vertex];
- *y = m_vy[m_vertex];
- m_vertex++;
- break;
-
- case 1:
- if(m_vertex == 0 || m_vertex == 4) cmd = path_cmd_move_to;
- if(m_vertex >= 8) cmd = path_cmd_stop;
- *x = m_vx[m_vertex];
- *y = m_vy[m_vertex];
- m_vertex++;
- break;
-
- case 2:
- cmd = m_text_poly.vertex(x, y);
- if(is_stop(cmd))
- {
- m_draw_item++;
- if(m_draw_item >= m_num_items)
- {
- break;
- }
- else
- {
- m_text.text(&m_items[m_draw_item][0]);
- m_text.start_point(m_xs1 + m_dy * 1.5,
- m_ys1 + m_dy * (m_draw_item + 1) - m_dy / 2.0);
-
- m_text_poly.rewind(0);
- cmd = m_text_poly.vertex(x, y);
- }
- }
- break;
-
- case 3:
- cmd = m_ellipse_poly.vertex(x, y);
- if(is_stop(cmd))
- {
- m_draw_item++;
- if(m_draw_item >= m_num_items)
- {
- break;
- }
- else
- {
- m_ellipse.init(m_xs1 + m_dy / 1.3,
- m_ys1 + m_dy * m_draw_item + m_dy / 1.3,
- m_text_height / 1.5,
- m_text_height / 1.5, 32);
- m_ellipse_poly.rewind(0);
- cmd = m_ellipse_poly.vertex(x, y);
- }
- }
- break;
-
-
- case 4:
- if(m_cur_item >= 0)
- {
- cmd = m_ellipse.vertex(x, y);
- }
- else
- {
- cmd = path_cmd_stop;
- }
- break;
-
- default:
- cmd = path_cmd_stop;
- break;
- }
-
- if(!is_stop(cmd))
- {
- transform_xy(x, y);
- }
-
- return cmd;
- }
-
-
- //------------------------------------------------------------------------
- bool rbox_ctrl_impl::in_rect(double x, double y) const
- {
- inverse_transform_xy(&x, &y);
- return x >= m_x1 && x <= m_x2 && y >= m_y1 && y <= m_y2;
- }
-
-
-
- //------------------------------------------------------------------------
- bool rbox_ctrl_impl::on_mouse_button_down(double x, double y)
- {
- inverse_transform_xy(&x, &y);
- unsigned i;
- for(i = 0; i < m_num_items; i++)
- {
- double xp = m_xs1 + m_dy / 1.3;
- double yp = m_ys1 + m_dy * i + m_dy / 1.3;
- if(calc_distance(x, y, xp, yp) <= m_text_height / 1.5)
- {
- m_cur_item = int(i);
- return true;
- }
- }
- return false;
- }
-
-
- //------------------------------------------------------------------------
- bool rbox_ctrl_impl::on_mouse_move(double, double, bool)
- {
- return false;
- }
-
- //------------------------------------------------------------------------
- bool rbox_ctrl_impl::on_mouse_button_up(double, double)
- {
- return false;
- }
-
- //------------------------------------------------------------------------
- bool rbox_ctrl_impl::on_arrow_keys(bool left, bool right, bool down, bool up)
- {
- if(m_cur_item >= 0)
- {
- if(up || right)
- {
- m_cur_item++;
- if(m_cur_item >= int(m_num_items))
- {
- m_cur_item = 0;
- }
- return true;
- }
-
- if(down || left)
- {
- m_cur_item--;
- if(m_cur_item < 0)
- {
- m_cur_item = m_num_items - 1;
- }
- return true;
- }
- }
- return false;
- }
-
-
-}
-
-
diff --git a/contrib/python/matplotlib/py3/extern/agg24-svn/src/ctrl/agg_scale_ctrl.cpp b/contrib/python/matplotlib/py3/extern/agg24-svn/src/ctrl/agg_scale_ctrl.cpp
deleted file mode 100644
index 7f167792bd..0000000000
--- a/contrib/python/matplotlib/py3/extern/agg24-svn/src/ctrl/agg_scale_ctrl.cpp
+++ /dev/null
@@ -1,454 +0,0 @@
-//----------------------------------------------------------------------------
-// Anti-Grain Geometry - Version 2.4
-// Copyright (C) 2002-2005 Maxim Shemanarev (http://www.antigrain.com)
-//
-// Permission to copy, use, modify, sell and distribute this software
-// is granted provided this copyright notice appears in all copies.
-// This software is provided "as is" without express or implied
-// warranty, and with no claim as to its suitability for any purpose.
-//
-//----------------------------------------------------------------------------
-// Contact: mcseem@antigrain.com
-// mcseemagg@yahoo.com
-// http://www.antigrain.com
-//----------------------------------------------------------------------------
-//
-// classes scale_ctrl_impl, scale_ctrl
-//
-//----------------------------------------------------------------------------
-
-#include "ctrl/agg_scale_ctrl.h"
-
-namespace agg
-{
-
- //------------------------------------------------------------------------
- scale_ctrl_impl::scale_ctrl_impl(double x1, double y1,
- double x2, double y2, bool flip_y) :
- ctrl(x1, y1, x2, y2, flip_y),
- m_border_thickness(1.0),
- m_border_extra((fabs(x2 - x1) > fabs(y2 - y1)) ? (y2 - y1) / 2 : (x2 - x1) / 2),
- m_pdx(0.0),
- m_pdy(0.0),
- m_move_what(move_nothing),
- m_value1(0.3),
- m_value2(0.7),
- m_min_d(0.01)
- {
- calc_box();
- }
-
-
- //------------------------------------------------------------------------
- void scale_ctrl_impl::calc_box()
- {
- m_xs1 = m_x1 + m_border_thickness;
- m_ys1 = m_y1 + m_border_thickness;
- m_xs2 = m_x2 - m_border_thickness;
- m_ys2 = m_y2 - m_border_thickness;
- }
-
-
- //------------------------------------------------------------------------
- void scale_ctrl_impl::border_thickness(double t, double extra)
- {
- m_border_thickness = t;
- m_border_extra = extra;
- calc_box();
- }
-
-
- //------------------------------------------------------------------------
- void scale_ctrl_impl::resize(double x1, double y1, double x2, double y2)
- {
- m_x1 = x1;
- m_y1 = y1;
- m_x2 = x2;
- m_y2 = y2;
- calc_box();
- m_border_extra = (fabs(x2 - x1) > fabs(y2 - y1)) ?
- (y2 - y1) / 2 :
- (x2 - x1) / 2;
- }
-
-
- //------------------------------------------------------------------------
- void scale_ctrl_impl::value1(double value)
- {
- if(value < 0.0) value = 0.0;
- if(value > 1.0) value = 1.0;
- if(m_value2 - value < m_min_d) value = m_value2 - m_min_d;
- m_value1 = value;
- }
-
-
- //------------------------------------------------------------------------
- void scale_ctrl_impl::value2(double value)
- {
- if(value < 0.0) value = 0.0;
- if(value > 1.0) value = 1.0;
- if(m_value1 + value < m_min_d) value = m_value1 + m_min_d;
- m_value2 = value;
- }
-
-
- //------------------------------------------------------------------------
- void scale_ctrl_impl::move(double d)
- {
- m_value1 += d;
- m_value2 += d;
- if(m_value1 < 0.0)
- {
- m_value2 -= m_value1;
- m_value1 = 0.0;
- }
- if(m_value2 > 1.0)
- {
- m_value1 -= m_value2 - 1.0;
- m_value2 = 1.0;
- }
- }
-
-
- //------------------------------------------------------------------------
- void scale_ctrl_impl::rewind(unsigned idx)
- {
- m_idx = idx;
-
- switch(idx)
- {
- default:
-
- case 0: // Background
- m_vertex = 0;
- m_vx[0] = m_x1 - m_border_extra;
- m_vy[0] = m_y1 - m_border_extra;
- m_vx[1] = m_x2 + m_border_extra;
- m_vy[1] = m_y1 - m_border_extra;
- m_vx[2] = m_x2 + m_border_extra;
- m_vy[2] = m_y2 + m_border_extra;
- m_vx[3] = m_x1 - m_border_extra;
- m_vy[3] = m_y2 + m_border_extra;
- break;
-
- case 1: // Border
- m_vertex = 0;
- m_vx[0] = m_x1;
- m_vy[0] = m_y1;
- m_vx[1] = m_x2;
- m_vy[1] = m_y1;
- m_vx[2] = m_x2;
- m_vy[2] = m_y2;
- m_vx[3] = m_x1;
- m_vy[3] = m_y2;
- m_vx[4] = m_x1 + m_border_thickness;
- m_vy[4] = m_y1 + m_border_thickness;
- m_vx[5] = m_x1 + m_border_thickness;
- m_vy[5] = m_y2 - m_border_thickness;
- m_vx[6] = m_x2 - m_border_thickness;
- m_vy[6] = m_y2 - m_border_thickness;
- m_vx[7] = m_x2 - m_border_thickness;
- m_vy[7] = m_y1 + m_border_thickness;
- break;
-
- case 2: // pointer1
- if(fabs(m_x2 - m_x1) > fabs(m_y2 - m_y1))
- {
- m_ellipse.init(m_xs1 + (m_xs2 - m_xs1) * m_value1,
- (m_ys1 + m_ys2) / 2.0,
- m_y2 - m_y1,
- m_y2 - m_y1,
- 32);
- }
- else
- {
- m_ellipse.init((m_xs1 + m_xs2) / 2.0,
- m_ys1 + (m_ys2 - m_ys1) * m_value1,
- m_x2 - m_x1,
- m_x2 - m_x1,
- 32);
- }
- m_ellipse.rewind(0);
- break;
-
- case 3: // pointer2
- if(fabs(m_x2 - m_x1) > fabs(m_y2 - m_y1))
- {
- m_ellipse.init(m_xs1 + (m_xs2 - m_xs1) * m_value2,
- (m_ys1 + m_ys2) / 2.0,
- m_y2 - m_y1,
- m_y2 - m_y1,
- 32);
- }
- else
- {
- m_ellipse.init((m_xs1 + m_xs2) / 2.0,
- m_ys1 + (m_ys2 - m_ys1) * m_value2,
- m_x2 - m_x1,
- m_x2 - m_x1,
- 32);
- }
- m_ellipse.rewind(0);
- break;
-
- case 4: // slider
- m_vertex = 0;
- if(fabs(m_x2 - m_x1) > fabs(m_y2 - m_y1))
- {
- m_vx[0] = m_xs1 + (m_xs2 - m_xs1) * m_value1;
- m_vy[0] = m_y1 - m_border_extra / 2.0;
- m_vx[1] = m_xs1 + (m_xs2 - m_xs1) * m_value2;
- m_vy[1] = m_vy[0];
- m_vx[2] = m_vx[1];
- m_vy[2] = m_y2 + m_border_extra / 2.0;
- m_vx[3] = m_vx[0];
- m_vy[3] = m_vy[2];
- }
- else
- {
- m_vx[0] = m_x1 - m_border_extra / 2.0;
- m_vy[0] = m_ys1 + (m_ys2 - m_ys1) * m_value1;
- m_vx[1] = m_vx[0];
- m_vy[1] = m_ys1 + (m_ys2 - m_ys1) * m_value2;
- m_vx[2] = m_x2 + m_border_extra / 2.0;
- m_vy[2] = m_vy[1];
- m_vx[3] = m_vx[2];
- m_vy[3] = m_vy[0];
- }
- break;
- }
- }
-
-
- //------------------------------------------------------------------------
- unsigned scale_ctrl_impl::vertex(double* x, double* y)
- {
- unsigned cmd = path_cmd_line_to;
- switch(m_idx)
- {
- case 0:
- case 4:
- if(m_vertex == 0) cmd = path_cmd_move_to;
- if(m_vertex >= 4) cmd = path_cmd_stop;
- *x = m_vx[m_vertex];
- *y = m_vy[m_vertex];
- m_vertex++;
- break;
-
- case 1:
- if(m_vertex == 0 || m_vertex == 4) cmd = path_cmd_move_to;
- if(m_vertex >= 8) cmd = path_cmd_stop;
- *x = m_vx[m_vertex];
- *y = m_vy[m_vertex];
- m_vertex++;
- break;
-
- case 2:
- case 3:
- cmd = m_ellipse.vertex(x, y);
- break;
-
- default:
- cmd = path_cmd_stop;
- break;
- }
-
- if(!is_stop(cmd))
- {
- transform_xy(x, y);
- }
-
- return cmd;
- }
-
-
-
- //------------------------------------------------------------------------
- bool scale_ctrl_impl::in_rect(double x, double y) const
- {
- inverse_transform_xy(&x, &y);
- return x >= m_x1 && x <= m_x2 && y >= m_y1 && y <= m_y2;
- }
-
-
- //------------------------------------------------------------------------
- bool scale_ctrl_impl::on_mouse_button_down(double x, double y)
- {
- inverse_transform_xy(&x, &y);
-
- double xp1;
- double xp2;
- double ys1;
- double ys2;
- double xp;
- double yp;
-
- if(fabs(m_x2 - m_x1) > fabs(m_y2 - m_y1))
- {
- xp1 = m_xs1 + (m_xs2 - m_xs1) * m_value1;
- xp2 = m_xs1 + (m_xs2 - m_xs1) * m_value2;
- ys1 = m_y1 - m_border_extra / 2.0;
- ys2 = m_y2 + m_border_extra / 2.0;
- yp = (m_ys1 + m_ys2) / 2.0;
-
- if(x > xp1 && y > ys1 && x < xp2 && y < ys2)
- {
- m_pdx = xp1 - x;
- m_move_what = move_slider;
- return true;
- }
-
- //if(x < xp1 && calc_distance(x, y, xp1, yp) <= m_y2 - m_y1)
- if(calc_distance(x, y, xp1, yp) <= m_y2 - m_y1)
- {
- m_pdx = xp1 - x;
- m_move_what = move_value1;
- return true;
- }
-
- //if(x > xp2 && calc_distance(x, y, xp2, yp) <= m_y2 - m_y1)
- if(calc_distance(x, y, xp2, yp) <= m_y2 - m_y1)
- {
- m_pdx = xp2 - x;
- m_move_what = move_value2;
- return true;
- }
- }
- else
- {
- xp1 = m_x1 - m_border_extra / 2.0;
- xp2 = m_x2 + m_border_extra / 2.0;
- ys1 = m_ys1 + (m_ys2 - m_ys1) * m_value1;
- ys2 = m_ys1 + (m_ys2 - m_ys1) * m_value2;
- xp = (m_xs1 + m_xs2) / 2.0;
-
- if(x > xp1 && y > ys1 && x < xp2 && y < ys2)
- {
- m_pdy = ys1 - y;
- m_move_what = move_slider;
- return true;
- }
-
- //if(y < ys1 && calc_distance(x, y, xp, ys1) <= m_x2 - m_x1)
- if(calc_distance(x, y, xp, ys1) <= m_x2 - m_x1)
- {
- m_pdy = ys1 - y;
- m_move_what = move_value1;
- return true;
- }
-
- //if(y > ys2 && calc_distance(x, y, xp, ys2) <= m_x2 - m_x1)
- if(calc_distance(x, y, xp, ys2) <= m_x2 - m_x1)
- {
- m_pdy = ys2 - y;
- m_move_what = move_value2;
- return true;
- }
- }
-
- return false;
- }
-
-
- //------------------------------------------------------------------------
- bool scale_ctrl_impl::on_mouse_move(double x, double y, bool button_flag)
- {
- inverse_transform_xy(&x, &y);
- if(!button_flag)
- {
- return on_mouse_button_up(x, y);
- }
-
- double xp = x + m_pdx;
- double yp = y + m_pdy;
- double dv;
-
- switch(m_move_what)
- {
- case move_value1:
- if(fabs(m_x2 - m_x1) > fabs(m_y2 - m_y1))
- {
- m_value1 = (xp - m_xs1) / (m_xs2 - m_xs1);
- }
- else
- {
- m_value1 = (yp - m_ys1) / (m_ys2 - m_ys1);
- }
- if(m_value1 < 0.0) m_value1 = 0.0;
- if(m_value1 > m_value2 - m_min_d) m_value1 = m_value2 - m_min_d;
- return true;
-
- case move_value2:
- if(fabs(m_x2 - m_x1) > fabs(m_y2 - m_y1))
- {
- m_value2 = (xp - m_xs1) / (m_xs2 - m_xs1);
- }
- else
- {
- m_value2 = (yp - m_ys1) / (m_ys2 - m_ys1);
- }
- if(m_value2 > 1.0) m_value2 = 1.0;
- if(m_value2 < m_value1 + m_min_d) m_value2 = m_value1 + m_min_d;
- return true;
-
- case move_slider:
- dv = m_value2 - m_value1;
- if(fabs(m_x2 - m_x1) > fabs(m_y2 - m_y1))
- {
- m_value1 = (xp - m_xs1) / (m_xs2 - m_xs1);
- }
- else
- {
- m_value1 = (yp - m_ys1) / (m_ys2 - m_ys1);
- }
- m_value2 = m_value1 + dv;
- if(m_value1 < 0.0)
- {
- dv = m_value2 - m_value1;
- m_value1 = 0.0;
- m_value2 = m_value1 + dv;
- }
- if(m_value2 > 1.0)
- {
- dv = m_value2 - m_value1;
- m_value2 = 1.0;
- m_value1 = m_value2 - dv;
- }
- return true;
- }
-
- return false;
- }
-
-
- //------------------------------------------------------------------------
- bool scale_ctrl_impl::on_mouse_button_up(double, double)
- {
- m_move_what = move_nothing;
- return false;
- }
-
-
- //------------------------------------------------------------------------
- bool scale_ctrl_impl::on_arrow_keys(bool left, bool right, bool down, bool up)
- {
-/*
- if(right || up)
- {
- m_value += 0.005;
- if(m_value > 1.0) m_value = 1.0;
- return true;
- }
-
- if(left || down)
- {
- m_value -= 0.005;
- if(m_value < 0.0) m_value = 0.0;
- return true;
- }
-*/
- return false;
- }
-
-}
-
diff --git a/contrib/python/matplotlib/py3/extern/agg24-svn/src/ctrl/agg_slider_ctrl.cpp b/contrib/python/matplotlib/py3/extern/agg24-svn/src/ctrl/agg_slider_ctrl.cpp
deleted file mode 100644
index ad0048631c..0000000000
--- a/contrib/python/matplotlib/py3/extern/agg24-svn/src/ctrl/agg_slider_ctrl.cpp
+++ /dev/null
@@ -1,349 +0,0 @@
-//----------------------------------------------------------------------------
-// Anti-Grain Geometry - Version 2.4
-// Copyright (C) 2002-2005 Maxim Shemanarev (http://www.antigrain.com)
-//
-// Permission to copy, use, modify, sell and distribute this software
-// is granted provided this copyright notice appears in all copies.
-// This software is provided "as is" without express or implied
-// warranty, and with no claim as to its suitability for any purpose.
-//
-//----------------------------------------------------------------------------
-// Contact: mcseem@antigrain.com
-// mcseemagg@yahoo.com
-// http://www.antigrain.com
-//----------------------------------------------------------------------------
-//
-// classes slider_ctrl_impl, slider_ctrl
-//
-//----------------------------------------------------------------------------
-
-#include <string.h>
-#include <stdio.h>
-#include "ctrl/agg_slider_ctrl.h"
-
-namespace agg
-{
-
- //------------------------------------------------------------------------
- slider_ctrl_impl::slider_ctrl_impl(double x1, double y1,
- double x2, double y2, bool flip_y) :
- ctrl(x1, y1, x2, y2, flip_y),
- m_border_width(1.0),
- m_border_extra((y2 - y1) / 2),
- m_text_thickness(1.0),
- m_pdx(0.0),
- m_mouse_move(false),
- m_value(0.5),
- m_preview_value(0.5),
- m_min(0.0),
- m_max(1.0),
- m_num_steps(0),
- m_descending(false),
- m_text_poly(m_text)
- {
- m_label[0] = 0;
- calc_box();
- }
-
-
- //------------------------------------------------------------------------
- void slider_ctrl_impl::calc_box()
- {
- m_xs1 = m_x1 + m_border_width;
- m_ys1 = m_y1 + m_border_width;
- m_xs2 = m_x2 - m_border_width;
- m_ys2 = m_y2 - m_border_width;
- }
-
-
- //------------------------------------------------------------------------
- bool slider_ctrl_impl::normalize_value(bool preview_value_flag)
- {
- bool ret = true;
- if(m_num_steps)
- {
- int step = int(m_preview_value * m_num_steps + 0.5);
- ret = m_value != step / double(m_num_steps);
- m_value = step / double(m_num_steps);
- }
- else
- {
- m_value = m_preview_value;
- }
-
- if(preview_value_flag)
- {
- m_preview_value = m_value;
- }
- return ret;
- }
-
-
- //------------------------------------------------------------------------
- void slider_ctrl_impl::border_width(double t, double extra)
- {
- m_border_width = t;
- m_border_extra = extra;
- calc_box();
- }
-
-
- //------------------------------------------------------------------------
- void slider_ctrl_impl::value(double value)
- {
- m_preview_value = (value - m_min) / (m_max - m_min);
- if(m_preview_value > 1.0) m_preview_value = 1.0;
- if(m_preview_value < 0.0) m_preview_value = 0.0;
- normalize_value(true);
- }
-
- //------------------------------------------------------------------------
- void slider_ctrl_impl::label(const char* fmt)
- {
- m_label[0] = 0;
- if(fmt)
- {
- unsigned len = strlen(fmt);
- if(len > 63) len = 63;
- memcpy(m_label, fmt, len);
- m_label[len] = 0;
- }
- }
-
- //------------------------------------------------------------------------
- void slider_ctrl_impl::rewind(unsigned idx)
- {
- m_idx = idx;
-
- switch(idx)
- {
- default:
-
- case 0: // Background
- m_vertex = 0;
- m_vx[0] = m_x1 - m_border_extra;
- m_vy[0] = m_y1 - m_border_extra;
- m_vx[1] = m_x2 + m_border_extra;
- m_vy[1] = m_y1 - m_border_extra;
- m_vx[2] = m_x2 + m_border_extra;
- m_vy[2] = m_y2 + m_border_extra;
- m_vx[3] = m_x1 - m_border_extra;
- m_vy[3] = m_y2 + m_border_extra;
- break;
-
- case 1: // Triangle
- m_vertex = 0;
- if(m_descending)
- {
- m_vx[0] = m_x1;
- m_vy[0] = m_y1;
- m_vx[1] = m_x2;
- m_vy[1] = m_y1;
- m_vx[2] = m_x1;
- m_vy[2] = m_y2;
- m_vx[3] = m_x1;
- m_vy[3] = m_y1;
- }
- else
- {
- m_vx[0] = m_x1;
- m_vy[0] = m_y1;
- m_vx[1] = m_x2;
- m_vy[1] = m_y1;
- m_vx[2] = m_x2;
- m_vy[2] = m_y2;
- m_vx[3] = m_x1;
- m_vy[3] = m_y1;
- }
- break;
-
- case 2:
- m_text.text(m_label);
- if(m_label[0])
- {
- char buf[256];
- sprintf(buf, m_label, value());
- m_text.text(buf);
- }
- m_text.start_point(m_x1, m_y1);
- m_text.size((m_y2 - m_y1) * 1.2, m_y2 - m_y1);
- m_text_poly.width(m_text_thickness);
- m_text_poly.line_join(round_join);
- m_text_poly.line_cap(round_cap);
- m_text_poly.rewind(0);
- break;
-
- case 3: // pointer preview
- m_ellipse.init(m_xs1 + (m_xs2 - m_xs1) * m_preview_value,
- (m_ys1 + m_ys2) / 2.0,
- m_y2 - m_y1,
- m_y2 - m_y1,
- 32);
- break;
-
-
- case 4: // pointer
- normalize_value(false);
- m_ellipse.init(m_xs1 + (m_xs2 - m_xs1) * m_value,
- (m_ys1 + m_ys2) / 2.0,
- m_y2 - m_y1,
- m_y2 - m_y1,
- 32);
- m_ellipse.rewind(0);
- break;
-
- case 5:
- m_storage.remove_all();
- if(m_num_steps)
- {
- unsigned i;
- double d = (m_xs2 - m_xs1) / m_num_steps;
- if(d > 0.004) d = 0.004;
- for(i = 0; i < m_num_steps + 1; i++)
- {
- double x = m_xs1 + (m_xs2 - m_xs1) * i / m_num_steps;
- m_storage.move_to(x, m_y1);
- m_storage.line_to(x - d * (m_x2 - m_x1), m_y1 - m_border_extra);
- m_storage.line_to(x + d * (m_x2 - m_x1), m_y1 - m_border_extra);
- }
- }
- }
- }
-
-
- //------------------------------------------------------------------------
- unsigned slider_ctrl_impl::vertex(double* x, double* y)
- {
- unsigned cmd = path_cmd_line_to;
- switch(m_idx)
- {
- case 0:
- if(m_vertex == 0) cmd = path_cmd_move_to;
- if(m_vertex >= 4) cmd = path_cmd_stop;
- *x = m_vx[m_vertex];
- *y = m_vy[m_vertex];
- m_vertex++;
- break;
-
- case 1:
- if(m_vertex == 0) cmd = path_cmd_move_to;
- if(m_vertex >= 4) cmd = path_cmd_stop;
- *x = m_vx[m_vertex];
- *y = m_vy[m_vertex];
- m_vertex++;
- break;
-
- case 2:
- cmd = m_text_poly.vertex(x, y);
- break;
-
- case 3:
- case 4:
- cmd = m_ellipse.vertex(x, y);
- break;
-
- case 5:
- cmd = m_storage.vertex(x, y);
- break;
-
- default:
- cmd = path_cmd_stop;
- break;
- }
-
- if(!is_stop(cmd))
- {
- transform_xy(x, y);
- }
-
- return cmd;
- }
-
-
-
- //------------------------------------------------------------------------
- bool slider_ctrl_impl::in_rect(double x, double y) const
- {
- inverse_transform_xy(&x, &y);
- return x >= m_x1 && x <= m_x2 && y >= m_y1 && y <= m_y2;
- }
-
-
- //------------------------------------------------------------------------
- bool slider_ctrl_impl::on_mouse_button_down(double x, double y)
- {
- inverse_transform_xy(&x, &y);
-
- double xp = m_xs1 + (m_xs2 - m_xs1) * m_value;
- double yp = (m_ys1 + m_ys2) / 2.0;
-
- if(calc_distance(x, y, xp, yp) <= m_y2 - m_y1)
- {
- m_pdx = xp - x;
- m_mouse_move = true;
- return true;
- }
- return false;
- }
-
-
- //------------------------------------------------------------------------
- bool slider_ctrl_impl::on_mouse_move(double x, double y, bool button_flag)
- {
- inverse_transform_xy(&x, &y);
- if(!button_flag)
- {
- on_mouse_button_up(x, y);
- return false;
- }
-
- if(m_mouse_move)
- {
- double xp = x + m_pdx;
- m_preview_value = (xp - m_xs1) / (m_xs2 - m_xs1);
- if(m_preview_value < 0.0) m_preview_value = 0.0;
- if(m_preview_value > 1.0) m_preview_value = 1.0;
- return true;
- }
- return false;
- }
-
-
- //------------------------------------------------------------------------
- bool slider_ctrl_impl::on_mouse_button_up(double, double)
- {
- m_mouse_move = false;
- normalize_value(true);
- return true;
- }
-
-
- //------------------------------------------------------------------------
- bool slider_ctrl_impl::on_arrow_keys(bool left, bool right, bool down, bool up)
- {
- double d = 0.005;
- if(m_num_steps)
- {
- d = 1.0 / m_num_steps;
- }
-
- if(right || up)
- {
- m_preview_value += d;
- if(m_preview_value > 1.0) m_preview_value = 1.0;
- normalize_value(true);
- return true;
- }
-
- if(left || down)
- {
- m_preview_value -= d;
- if(m_preview_value < 0.0) m_preview_value = 0.0;
- normalize_value(true);
- return true;
- }
- return false;
- }
-
-}
-
diff --git a/contrib/python/matplotlib/py3/extern/agg24-svn/src/ctrl/agg_spline_ctrl.cpp b/contrib/python/matplotlib/py3/extern/agg24-svn/src/ctrl/agg_spline_ctrl.cpp
deleted file mode 100644
index 74808d4f87..0000000000
--- a/contrib/python/matplotlib/py3/extern/agg24-svn/src/ctrl/agg_spline_ctrl.cpp
+++ /dev/null
@@ -1,407 +0,0 @@
-//----------------------------------------------------------------------------
-// Anti-Grain Geometry - Version 2.4
-// Copyright (C) 2002-2005 Maxim Shemanarev (http://www.antigrain.com)
-//
-// Permission to copy, use, modify, sell and distribute this software
-// is granted provided this copyright notice appears in all copies.
-// This software is provided "as is" without express or implied
-// warranty, and with no claim as to its suitability for any purpose.
-//
-//----------------------------------------------------------------------------
-// Contact: mcseem@antigrain.com
-// mcseemagg@yahoo.com
-// http://www.antigrain.com
-//----------------------------------------------------------------------------
-//
-// classes spline_ctrl_impl, spline_ctrl
-//
-//----------------------------------------------------------------------------
-
-#include "ctrl/agg_spline_ctrl.h"
-
-
-namespace agg
-{
-
- //------------------------------------------------------------------------
- spline_ctrl_impl::spline_ctrl_impl(double x1, double y1, double x2, double y2,
- unsigned num_pnt, bool flip_y) :
- ctrl(x1, y1, x2, y2, flip_y),
- m_num_pnt(num_pnt),
- m_border_width(1.0),
- m_border_extra(0.0),
- m_curve_width(1.0),
- m_point_size(3.0),
- m_curve_poly(m_curve_pnt),
- m_idx(0),
- m_vertex(0),
- m_active_pnt(-1),
- m_move_pnt(-1),
- m_pdx(0.0),
- m_pdy(0.0)
- {
- if(m_num_pnt < 4) m_num_pnt = 4;
- if(m_num_pnt > 32) m_num_pnt = 32;
-
- unsigned i;
- for(i = 0; i < m_num_pnt; i++)
- {
- m_xp[i] = double(i) / double(m_num_pnt - 1);
- m_yp[i] = 0.5;
- }
- calc_spline_box();
- update_spline();
- }
-
-
- //------------------------------------------------------------------------
- void spline_ctrl_impl::border_width(double t, double extra)
- {
- m_border_width = t;
- m_border_extra = extra;
- calc_spline_box();
- }
-
-
- //------------------------------------------------------------------------
- void spline_ctrl_impl::calc_spline_box()
- {
- m_xs1 = m_x1 + m_border_width;
- m_ys1 = m_y1 + m_border_width;
- m_xs2 = m_x2 - m_border_width;
- m_ys2 = m_y2 - m_border_width;
- }
-
-
- //------------------------------------------------------------------------
- void spline_ctrl_impl::update_spline()
- {
- int i;
- m_spline.init(m_num_pnt, m_xp, m_yp);
- for(i = 0; i < 256; i++)
- {
- m_spline_values[i] = m_spline.get(double(i) / 255.0);
- if(m_spline_values[i] < 0.0) m_spline_values[i] = 0.0;
- if(m_spline_values[i] > 1.0) m_spline_values[i] = 1.0;
- m_spline_values8[i] = (int8u)(m_spline_values[i] * 255.0);
- }
- }
-
-
- //------------------------------------------------------------------------
- void spline_ctrl_impl::calc_curve()
- {
- int i;
- m_curve_pnt.remove_all();
- m_curve_pnt.move_to(m_xs1, m_ys1 + (m_ys2 - m_ys1) * m_spline_values[0]);
- for(i = 1; i < 256; i++)
- {
- m_curve_pnt.line_to(m_xs1 + (m_xs2 - m_xs1) * double(i) / 255.0,
- m_ys1 + (m_ys2 - m_ys1) * m_spline_values[i]);
- }
- }
-
-
- //------------------------------------------------------------------------
- double spline_ctrl_impl::calc_xp(unsigned idx)
- {
- return m_xs1 + (m_xs2 - m_xs1) * m_xp[idx];
- }
-
-
- //------------------------------------------------------------------------
- double spline_ctrl_impl::calc_yp(unsigned idx)
- {
- return m_ys1 + (m_ys2 - m_ys1) * m_yp[idx];
- }
-
-
- //------------------------------------------------------------------------
- void spline_ctrl_impl::set_xp(unsigned idx, double val)
- {
- if(val < 0.0) val = 0.0;
- if(val > 1.0) val = 1.0;
-
- if(idx == 0)
- {
- val = 0.0;
- }
- else if(idx == m_num_pnt - 1)
- {
- val = 1.0;
- }
- else
- {
- if(val < m_xp[idx - 1] + 0.001) val = m_xp[idx - 1] + 0.001;
- if(val > m_xp[idx + 1] - 0.001) val = m_xp[idx + 1] - 0.001;
- }
- m_xp[idx] = val;
- }
-
- //------------------------------------------------------------------------
- void spline_ctrl_impl::set_yp(unsigned idx, double val)
- {
- if(val < 0.0) val = 0.0;
- if(val > 1.0) val = 1.0;
- m_yp[idx] = val;
- }
-
-
- //------------------------------------------------------------------------
- void spline_ctrl_impl::point(unsigned idx, double x, double y)
- {
- if(idx < m_num_pnt)
- {
- set_xp(idx, x);
- set_yp(idx, y);
- }
- }
-
-
- //------------------------------------------------------------------------
- void spline_ctrl_impl::value(unsigned idx, double y)
- {
- if(idx < m_num_pnt)
- {
- set_yp(idx, y);
- }
- }
-
- //------------------------------------------------------------------------
- double spline_ctrl_impl::value(double x) const
- {
- x = m_spline.get(x);
- if(x < 0.0) x = 0.0;
- if(x > 1.0) x = 1.0;
- return x;
- }
-
-
- //------------------------------------------------------------------------
- void spline_ctrl_impl::rewind(unsigned idx)
- {
- unsigned i;
-
- m_idx = idx;
-
- switch(idx)
- {
- default:
-
- case 0: // Background
- m_vertex = 0;
- m_vx[0] = m_x1 - m_border_extra;
- m_vy[0] = m_y1 - m_border_extra;
- m_vx[1] = m_x2 + m_border_extra;
- m_vy[1] = m_y1 - m_border_extra;
- m_vx[2] = m_x2 + m_border_extra;
- m_vy[2] = m_y2 + m_border_extra;
- m_vx[3] = m_x1 - m_border_extra;
- m_vy[3] = m_y2 + m_border_extra;
- break;
-
- case 1: // Border
- m_vertex = 0;
- m_vx[0] = m_x1;
- m_vy[0] = m_y1;
- m_vx[1] = m_x2;
- m_vy[1] = m_y1;
- m_vx[2] = m_x2;
- m_vy[2] = m_y2;
- m_vx[3] = m_x1;
- m_vy[3] = m_y2;
- m_vx[4] = m_x1 + m_border_width;
- m_vy[4] = m_y1 + m_border_width;
- m_vx[5] = m_x1 + m_border_width;
- m_vy[5] = m_y2 - m_border_width;
- m_vx[6] = m_x2 - m_border_width;
- m_vy[6] = m_y2 - m_border_width;
- m_vx[7] = m_x2 - m_border_width;
- m_vy[7] = m_y1 + m_border_width;
- break;
-
- case 2: // Curve
- calc_curve();
- m_curve_poly.width(m_curve_width);
- m_curve_poly.rewind(0);
- break;
-
-
- case 3: // Inactive points
- m_curve_pnt.remove_all();
- for(i = 0; i < m_num_pnt; i++)
- {
- if(int(i) != m_active_pnt)
- {
- m_ellipse.init(calc_xp(i), calc_yp(i),
- m_point_size, m_point_size, 32);
- m_curve_pnt.concat_path(m_ellipse);
- }
- }
- m_curve_poly.rewind(0);
- break;
-
-
- case 4: // Active point
- m_curve_pnt.remove_all();
- if(m_active_pnt >= 0)
- {
- m_ellipse.init(calc_xp(m_active_pnt), calc_yp(m_active_pnt),
- m_point_size, m_point_size, 32);
-
- m_curve_pnt.concat_path(m_ellipse);
- }
- m_curve_poly.rewind(0);
- break;
-
- }
- }
-
-
- //------------------------------------------------------------------------
- unsigned spline_ctrl_impl::vertex(double* x, double* y)
- {
- unsigned cmd = path_cmd_line_to;
- switch(m_idx)
- {
- case 0:
- if(m_vertex == 0) cmd = path_cmd_move_to;
- if(m_vertex >= 4) cmd = path_cmd_stop;
- *x = m_vx[m_vertex];
- *y = m_vy[m_vertex];
- m_vertex++;
- break;
-
- case 1:
- if(m_vertex == 0 || m_vertex == 4) cmd = path_cmd_move_to;
- if(m_vertex >= 8) cmd = path_cmd_stop;
- *x = m_vx[m_vertex];
- *y = m_vy[m_vertex];
- m_vertex++;
- break;
-
- case 2:
- cmd = m_curve_poly.vertex(x, y);
- break;
-
- case 3:
- case 4:
- cmd = m_curve_pnt.vertex(x, y);
- break;
-
- default:
- cmd = path_cmd_stop;
- break;
- }
-
- if(!is_stop(cmd))
- {
- transform_xy(x, y);
- }
-
- return cmd;
- }
-
-
-
- //------------------------------------------------------------------------
- void spline_ctrl_impl::active_point(int i)
- {
- m_active_pnt = i;
- }
-
-
- //------------------------------------------------------------------------
- bool spline_ctrl_impl::in_rect(double x, double y) const
- {
- inverse_transform_xy(&x, &y);
- return x >= m_x1 && x <= m_x2 && y >= m_y1 && y <= m_y2;
- }
-
-
- //------------------------------------------------------------------------
- bool spline_ctrl_impl::on_mouse_button_down(double x, double y)
- {
- inverse_transform_xy(&x, &y);
- unsigned i;
- for(i = 0; i < m_num_pnt; i++)
- {
- double xp = calc_xp(i);
- double yp = calc_yp(i);
- if(calc_distance(x, y, xp, yp) <= m_point_size + 1)
- {
- m_pdx = xp - x;
- m_pdy = yp - y;
- m_active_pnt = m_move_pnt = int(i);
- return true;
- }
- }
- return false;
- }
-
-
- //------------------------------------------------------------------------
- bool spline_ctrl_impl::on_mouse_button_up(double, double)
- {
- if(m_move_pnt >= 0)
- {
- m_move_pnt = -1;
- return true;
- }
- return false;
- }
-
-
- //------------------------------------------------------------------------
- bool spline_ctrl_impl::on_mouse_move(double x, double y, bool button_flag)
- {
- inverse_transform_xy(&x, &y);
- if(!button_flag)
- {
- return on_mouse_button_up(x, y);
- }
-
- if(m_move_pnt >= 0)
- {
- double xp = x + m_pdx;
- double yp = y + m_pdy;
-
- set_xp(m_move_pnt, (xp - m_xs1) / (m_xs2 - m_xs1));
- set_yp(m_move_pnt, (yp - m_ys1) / (m_ys2 - m_ys1));
-
- update_spline();
- return true;
- }
- return false;
- }
-
-
- //------------------------------------------------------------------------
- bool spline_ctrl_impl::on_arrow_keys(bool left, bool right, bool down, bool up)
- {
- double kx = 0.0;
- double ky = 0.0;
- bool ret = false;
- if(m_active_pnt >= 0)
- {
- kx = m_xp[m_active_pnt];
- ky = m_yp[m_active_pnt];
- if(left) { kx -= 0.001; ret = true; }
- if(right) { kx += 0.001; ret = true; }
- if(down) { ky -= 0.001; ret = true; }
- if(up) { ky += 0.001; ret = true; }
- }
- if(ret)
- {
- set_xp(m_active_pnt, kx);
- set_yp(m_active_pnt, ky);
- update_spline();
- }
- return ret;
- }
-
-
-
-
-}
-
diff --git a/contrib/python/matplotlib/py3/extern/agg24-svn/src/platform/AmigaOS/agg_platform_support.cpp b/contrib/python/matplotlib/py3/extern/agg24-svn/src/platform/AmigaOS/agg_platform_support.cpp
deleted file mode 100644
index b14d09cd1c..0000000000
--- a/contrib/python/matplotlib/py3/extern/agg24-svn/src/platform/AmigaOS/agg_platform_support.cpp
+++ /dev/null
@@ -1,977 +0,0 @@
-//----------------------------------------------------------------------------
-// Anti-Grain Geometry - Version 2.4
-// Copyright (C) 2002-2005 Maxim Shemanarev (http://www.antigrain.com)
-//
-// Permission to copy, use, modify, sell and distribute this software
-// is granted provided this copyright notice appears in all copies.
-// This software is provided "as is" without express or implied
-// warranty, and with no claim as to its suitability for any purpose.
-//
-//----------------------------------------------------------------------------
-// Contact: mcseem@antigrain.com
-// mcseemagg@yahoo.com
-// http://www.antigrain.com
-//----------------------------------------------------------------------------
-//
-// class platform_support
-//
-//----------------------------------------------------------------------------
-
-#include "platform/agg_platform_support.h"
-#include "util/agg_color_conv_rgb8.h"
-
-#include <sys/time.h>
-#include <cstring>
-
-#include <classes/requester.h>
-#include <classes/window.h>
-#include <datatypes/pictureclass.h>
-#include <proto/exec.h>
-#include <proto/datatypes.h>
-#include <proto/dos.h>
-#include <proto/graphics.h>
-#include <proto/intuition.h>
-#include <proto/keymap.h>
-#include <proto/Picasso96API.h>
-#include <proto/utility.h>
-
-Library* DataTypesBase = 0;
-Library* GraphicsBase = 0;
-Library* IntuitionBase = 0;
-Library* KeymapBase = 0;
-Library* P96Base = 0;
-
-DataTypesIFace* IDataTypes = 0;
-GraphicsIFace* IGraphics = 0;
-IntuitionIFace* IIntuition = 0;
-KeymapIFace* IKeymap = 0;
-P96IFace* IP96 = 0;
-
-Class* RequesterClass = 0;
-Class* WindowClass = 0;
-
-
-namespace agg
-{
- void handle_idcmp(Hook* hook, APTR win, IntuiMessage* msg);
-
- //------------------------------------------------------------------------
- class platform_specific
- {
- public:
- platform_specific(platform_support& support, pix_format_e format,
- bool flip_y);
- ~platform_specific();
- bool handle_input();
- bool load_img(const char* file, unsigned idx, rendering_buffer* rbuf);
- bool create_img(unsigned idx, rendering_buffer* rbuf, unsigned width,
- unsigned height);
- bool make_bitmap();
- public:
- platform_support& m_support;
- RGBFTYPE m_ftype;
- pix_format_e m_format;
- unsigned m_bpp;
- BitMap* m_bitmap;
- bool m_flip_y;
- uint16 m_width;
- uint16 m_height;
- APTR m_window_obj;
- Window* m_window;
- Hook* m_idcmp_hook;
- unsigned m_input_flags;
- bool m_dragging;
- double m_start_time;
- uint16 m_last_key;
- BitMap* m_img_bitmaps[platform_support::max_images];
- };
-
- //------------------------------------------------------------------------
- platform_specific::platform_specific(platform_support& support,
- pix_format_e format, bool flip_y) :
- m_support(support),
- m_ftype(RGBFB_NONE),
- m_format(format),
- m_bpp(0),
- m_bitmap(0),
- m_flip_y(flip_y),
- m_width(0),
- m_height(0),
- m_window_obj(0),
- m_window(0),
- m_idcmp_hook(0),
- m_input_flags(0),
- m_dragging(false),
- m_start_time(0.0),
- m_last_key(0)
- {
- switch ( format )
- {
- case pix_format_gray8:
- // Not supported.
- break;
- case pix_format_rgb555:
- m_ftype = RGBFB_R5G5B5;
- m_bpp = 15;
- break;
- case pix_format_rgb565:
- m_ftype = RGBFB_R5G6B5;
- m_bpp = 16;
- break;
- case pix_format_rgb24:
- m_ftype = RGBFB_R8G8B8;
- m_bpp = 24;
- break;
- case pix_format_bgr24:
- m_ftype = RGBFB_B8G8R8;
- m_bpp = 24;
- break;
- case pix_format_bgra32:
- m_ftype = RGBFB_B8G8R8A8;
- m_bpp = 32;
- break;
- case pix_format_abgr32:
- m_ftype = RGBFB_A8B8G8R8;
- m_bpp = 32;
- break;
- case pix_format_argb32:
- m_ftype = RGBFB_A8R8G8B8;
- m_bpp = 32;
- break;
- case pix_format_rgba32:
- m_ftype = RGBFB_R8G8B8A8;
- m_bpp = 32;
- break;
- }
-
- for ( unsigned i = 0; i < platform_support::max_images; ++i )
- {
- m_img_bitmaps[i] = 0;
- }
- }
-
- //------------------------------------------------------------------------
- platform_specific::~platform_specific()
- {
- IIntuition->DisposeObject(m_window_obj);
-
- IP96->p96FreeBitMap(m_bitmap);
-
- for ( unsigned i = 0; i < platform_support::max_images; ++i )
- {
- IP96->p96FreeBitMap(m_img_bitmaps[i]);
- }
-
- if ( m_idcmp_hook != 0 )
- {
- IExec->FreeSysObject(ASOT_HOOK, m_idcmp_hook);
- }
- }
-
- //------------------------------------------------------------------------
- bool platform_specific::handle_input()
- {
- int16 code = 0;
- uint32 result = 0;
- Object* obj = reinterpret_cast<Object*>(m_window_obj);
-
- while ( (result = IIntuition->IDoMethod(obj, WM_HANDLEINPUT,
- &code)) != WMHI_LASTMSG )
- {
- switch ( result & WMHI_CLASSMASK )
- {
- case WMHI_CLOSEWINDOW:
- return true;
- break;
- case WMHI_INTUITICK:
- if ( !m_support.wait_mode() )
- {
- m_support.on_idle();
- }
- break;
- case WMHI_NEWSIZE:
- if ( make_bitmap() )
- {
- m_support.trans_affine_resizing(m_width, m_height);
- m_support.on_resize(m_width, m_height);
- m_support.force_redraw();
- }
- break;
- }
- }
-
- return false;
- }
-
- //------------------------------------------------------------------------
- bool platform_specific::load_img(const char* file, unsigned idx,
- rendering_buffer* rbuf)
- {
- if ( m_img_bitmaps[idx] != 0 )
- {
- IP96->p96FreeBitMap(m_img_bitmaps[idx]);
- m_img_bitmaps[idx] = 0;
- }
-
- bool result = false;
-
- Object* picture = IDataTypes->NewDTObject(const_cast<STRPTR>(file),
- DTA_GroupID, GID_PICTURE,
- PDTA_DestMode, PMODE_V43,
- PDTA_Remap, FALSE,
- TAG_END);
- if ( picture != 0 )
- {
- gpLayout layout;
- layout.MethodID = DTM_PROCLAYOUT;
- layout.gpl_GInfo = 0;
- layout.gpl_Initial = 1;
- ULONG loaded = IDataTypes->DoDTMethodA(picture, 0, 0,
- reinterpret_cast<Msg>(&layout));
- if ( loaded != 0 )
- {
- BitMap* src_bitmap = 0;
- IDataTypes->GetDTAttrs(picture,
- PDTA_ClassBitMap, &src_bitmap,
- TAG_END);
-
- bool supported = false;
-
- RGBFTYPE ftype = static_cast<RGBFTYPE>(IP96->p96GetBitMapAttr(
- src_bitmap, P96BMA_RGBFORMAT));
-
- switch ( ftype )
- {
- case RGBFB_R8G8B8:
- supported = true;
- break;
- default:
- m_support.message("File uses unsupported graphics mode.");
- break;
- }
-
- if ( supported ) {
- uint16 width = IP96->p96GetBitMapAttr(src_bitmap,
- P96BMA_WIDTH);
- uint16 height = IP96->p96GetBitMapAttr(src_bitmap,
- P96BMA_HEIGHT);
-
- m_img_bitmaps[idx] = IP96->p96AllocBitMap(width, height,
- m_bpp, BMF_USERPRIVATE, 0, m_ftype);
- if ( m_img_bitmaps[idx] != 0 )
- {
- int8u* buf = reinterpret_cast<int8u*>(
- IP96->p96GetBitMapAttr(m_img_bitmaps[idx],
- P96BMA_MEMORY));
- int bpr = IP96->p96GetBitMapAttr(m_img_bitmaps[idx],
- P96BMA_BYTESPERROW);
- int stride = (m_flip_y) ? -bpr : bpr;
- rbuf->attach(buf, width, height, stride);
-
- // P96 sets the alpha to zero so it can't be used to
- // color convert true color modes.
- if ( m_bpp == 32 )
- {
- RenderInfo ri;
- int32 lock = IP96->p96LockBitMap(src_bitmap,
- reinterpret_cast<uint8*>(&ri),
- sizeof(RenderInfo));
-
- rendering_buffer rbuf_src;
- rbuf_src.attach(
- reinterpret_cast<int8u*>(ri.Memory),
- width, height, (m_flip_y) ?
- -ri.BytesPerRow : ri.BytesPerRow);
-
- switch ( m_format )
- {
- case pix_format_bgra32:
- color_conv(rbuf, &rbuf_src,
- color_conv_rgb24_to_bgra32());
- break;
- case pix_format_abgr32:
- color_conv(rbuf, &rbuf_src,
- color_conv_rgb24_to_abgr32());
- break;
- case pix_format_argb32:
- color_conv(rbuf, &rbuf_src,
- color_conv_rgb24_to_argb32());
- break;
- case pix_format_rgba32:
- color_conv(rbuf, &rbuf_src,
- color_conv_rgb24_to_rgba32());
- break;
- }
-
- IP96->p96UnlockBitMap(src_bitmap, lock);
- }
- else
- {
- IGraphics->BltBitMap(src_bitmap, 0, 0,
- m_img_bitmaps[idx], 0, 0, width, height,
- ABC|ABNC, 0xFF, 0);
- }
-
- result = true;
- }
- }
- }
- }
-
- IGraphics->WaitBlit();
- IDataTypes->DisposeDTObject(picture);
-
- return result;
- }
-
- //------------------------------------------------------------------------
- bool platform_specific::create_img(unsigned idx, rendering_buffer* rbuf,
- unsigned width, unsigned height)
- {
- if ( m_img_bitmaps[idx] != 0 )
- {
- IP96->p96FreeBitMap(m_img_bitmaps[idx]);
- m_img_bitmaps[idx] = 0;
- }
-
- m_img_bitmaps[idx] = IP96->p96AllocBitMap(width, height,
- m_bpp, BMF_USERPRIVATE, m_bitmap, m_ftype);
- if ( m_img_bitmaps[idx] != 0 )
- {
- int8u* buf = reinterpret_cast<int8u*>(
- IP96->p96GetBitMapAttr(m_img_bitmaps[idx],
- P96BMA_MEMORY));
- int bpr = IP96->p96GetBitMapAttr(m_img_bitmaps[idx],
- P96BMA_BYTESPERROW);
- int stride = (m_flip_y) ? -bpr : bpr;
-
- rbuf->attach(buf, width, height, stride);
-
- return true;
- }
-
- return false;
- }
-
- //------------------------------------------------------------------------
- bool platform_specific::make_bitmap()
- {
- uint32 width = 0;
- uint32 height = 0;
- IIntuition->GetWindowAttrs(m_window,
- WA_InnerWidth, &width,
- WA_InnerHeight, &height,
- TAG_END);
-
- BitMap* bm = IP96->p96AllocBitMap(width, height, m_bpp,
- BMF_USERPRIVATE|BMF_CLEAR, 0, m_ftype);
- if ( bm == 0 )
- {
- return false;
- }
-
- int8u* buf = reinterpret_cast<int8u*>(
- IP96->p96GetBitMapAttr(bm, P96BMA_MEMORY));
- int bpr = IP96->p96GetBitMapAttr(bm, P96BMA_BYTESPERROW);
- int stride = (m_flip_y) ? -bpr : bpr;
-
- m_support.rbuf_window().attach(buf, width, height, stride);
-
- if ( m_bitmap != 0 )
- {
- IP96->p96FreeBitMap(m_bitmap);
- m_bitmap = 0;
- }
-
- m_bitmap = bm;
- m_width = width;
- m_height = height;
-
- return true;
- }
-
- //------------------------------------------------------------------------
- platform_support::platform_support(pix_format_e format, bool flip_y) :
- m_specific(new platform_specific(*this, format, flip_y)),
- m_format(format),
- m_bpp(m_specific->m_bpp),
- m_window_flags(0),
- m_wait_mode(true),
- m_flip_y(flip_y),
- m_initial_width(10),
- m_initial_height(10)
- {
- std::strncpy(m_caption, "Anti-Grain Geometry", 256);
- }
-
- //------------------------------------------------------------------------
- platform_support::~platform_support()
- {
- delete m_specific;
- }
-
- //------------------------------------------------------------------------
- void platform_support::caption(const char* cap)
- {
- std::strncpy(m_caption, cap, 256);
- if ( m_specific->m_window != 0 )
- {
- const char* ignore = reinterpret_cast<const char*>(-1);
- IIntuition->SetWindowAttr(m_specific->m_window,
- WA_Title, m_caption, sizeof(char*));
- }
- }
-
- //------------------------------------------------------------------------
- void platform_support::start_timer()
- {
- timeval tv;
- gettimeofday(&tv, 0);
- m_specific->m_start_time = tv.tv_secs + tv.tv_micro/1e6;
- }
-
- //------------------------------------------------------------------------
- double platform_support::elapsed_time() const
- {
- timeval tv;
- gettimeofday(&tv, 0);
- double end_time = tv.tv_secs + tv.tv_micro/1e6;
-
- double elasped_seconds = end_time - m_specific->m_start_time;
- double elasped_millis = elasped_seconds*1e3;
-
- return elasped_millis;
- }
-
- //------------------------------------------------------------------------
- void* platform_support::raw_display_handler()
- {
- return 0; // Not available.
- }
-
- //------------------------------------------------------------------------
- void platform_support::message(const char* msg)
- {
- APTR req = IIntuition->NewObject(RequesterClass, 0,
- REQ_TitleText, "Anti-Grain Geometry",
- REQ_Image, REQIMAGE_INFO,
- REQ_BodyText, msg,
- REQ_GadgetText, "_Ok",
- TAG_END);
- if ( req == 0 )
- {
- IDOS->Printf("Message: %s\n", msg);
- return;
- }
-
- orRequest reqmsg;
- reqmsg.MethodID = RM_OPENREQ;
- reqmsg.or_Attrs = 0;
- reqmsg.or_Window = m_specific->m_window;
- reqmsg.or_Screen = 0;
-
- IIntuition->IDoMethodA(reinterpret_cast<Object*>(req),
- reinterpret_cast<Msg>(&reqmsg));
- IIntuition->DisposeObject(req);
- }
-
- //------------------------------------------------------------------------
- bool platform_support::init(unsigned width, unsigned height,
- unsigned flags)
- {
- if( m_specific->m_ftype == RGBFB_NONE )
- {
- message("Unsupported mode requested.");
- return false;
- }
-
- m_window_flags = flags;
-
- m_specific->m_idcmp_hook = reinterpret_cast<Hook*>(
- IExec->AllocSysObjectTags(ASOT_HOOK,
- ASOHOOK_Entry, handle_idcmp,
- ASOHOOK_Data, this,
- TAG_END));
- if ( m_specific->m_idcmp_hook == 0 )
- {
- return false;
- }
-
- m_specific->m_window_obj = IIntuition->NewObject(WindowClass, 0,
- WA_Title, m_caption,
- WA_AutoAdjustDClip, TRUE,
- WA_InnerWidth, width,
- WA_InnerHeight, height,
- WA_Activate, TRUE,
- WA_SmartRefresh, TRUE,
- WA_NoCareRefresh, TRUE,
- WA_CloseGadget, TRUE,
- WA_DepthGadget, TRUE,
- WA_SizeGadget, (flags & agg::window_resize) ? TRUE : FALSE,
- WA_DragBar, TRUE,
- WA_AutoAdjust, TRUE,
- WA_ReportMouse, TRUE,
- WA_RMBTrap, TRUE,
- WA_MouseQueue, 1,
- WA_IDCMP,
- IDCMP_NEWSIZE |
- IDCMP_MOUSEBUTTONS |
- IDCMP_MOUSEMOVE |
- IDCMP_RAWKEY |
- IDCMP_INTUITICKS,
- WINDOW_IDCMPHook, m_specific->m_idcmp_hook,
- WINDOW_IDCMPHookBits,
- IDCMP_MOUSEBUTTONS |
- IDCMP_MOUSEMOVE |
- IDCMP_RAWKEY,
- TAG_END);
- if ( m_specific->m_window_obj == 0 )
- {
- return false;
- }
-
- Object* obj = reinterpret_cast<Object*>(m_specific->m_window_obj);
- m_specific->m_window =
- reinterpret_cast<Window*>(IIntuition->IDoMethod(obj, WM_OPEN));
- if ( m_specific->m_window == 0 )
- {
- return false;
- }
-
- RGBFTYPE ftype = static_cast<RGBFTYPE>(IP96->p96GetBitMapAttr(
- m_specific->m_window->RPort->BitMap, P96BMA_RGBFORMAT));
-
- switch ( ftype )
- {
- case RGBFB_A8R8G8B8:
- case RGBFB_B8G8R8A8:
- case RGBFB_R5G6B5PC:
- break;
- default:
- message("Unsupported screen mode.\n");
- return false;
- }
-
- if ( !m_specific->make_bitmap() )
- {
- return false;
- }
-
- m_initial_width = width;
- m_initial_height = height;
-
- on_init();
- on_resize(width, height);
- force_redraw();
-
- return true;
- }
-
- //------------------------------------------------------------------------
- int platform_support::run()
- {
- uint32 window_mask = 0;
- IIntuition->GetAttr(WINDOW_SigMask, m_specific->m_window_obj,
- &window_mask);
- uint32 wait_mask = window_mask | SIGBREAKF_CTRL_C;
-
- bool done = false;
-
- while ( !done )
- {
- uint32 sig_mask = IExec->Wait(wait_mask);
- if ( sig_mask & SIGBREAKF_CTRL_C )
- {
- done = true;
- }
- else
- {
- done = m_specific->handle_input();
- }
- }
-
- return 0;
- }
-
- //------------------------------------------------------------------------
- const char* platform_support::img_ext() const
- {
- return ".bmp";
- }
-
- //------------------------------------------------------------------------
- const char* platform_support::full_file_name(const char* file_name)
- {
- return file_name;
- }
-
- //------------------------------------------------------------------------
- bool platform_support::load_img(unsigned idx, const char* file)
- {
- if ( idx < max_images )
- {
- static char fn[1024];
- std::strncpy(fn, file, 1024);
- int len = std::strlen(fn);
- if ( len < 4 || std::strcmp(fn + len - 4, ".bmp") != 0 )
- {
- std::strncat(fn, ".bmp", 1024);
- }
-
- return m_specific->load_img(fn, idx, &m_rbuf_img[idx]);
- }
-
- return false;
- }
-
- //------------------------------------------------------------------------
- bool platform_support::save_img(unsigned idx, const char* file)
- {
- message("Not supported");
- return false;
- }
-
- //------------------------------------------------------------------------
- bool platform_support::create_img(unsigned idx, unsigned width,
- unsigned height)
- {
- if ( idx < max_images )
- {
- if ( width == 0 )
- {
- width = m_specific->m_width;
- }
-
- if ( height == 0 )
- {
- height = m_specific->m_height;
- }
-
- return m_specific->create_img(idx, &m_rbuf_img[idx], width,
- height);
- }
-
- return false;
- }
-
- //------------------------------------------------------------------------
- void platform_support::force_redraw()
- {
- on_draw();
- update_window();
- }
-
- //------------------------------------------------------------------------
- void platform_support::update_window()
- {
- // Note this function does automatic color conversion.
- IGraphics->BltBitMapRastPort(m_specific->m_bitmap, 0, 0,
- m_specific->m_window->RPort, m_specific->m_window->BorderLeft,
- m_specific->m_window->BorderTop, m_specific->m_width,
- m_specific->m_height, ABC|ABNC);
- }
-
- //------------------------------------------------------------------------
- void platform_support::on_init() {}
- void platform_support::on_resize(int sx, int sy) {}
- void platform_support::on_idle() {}
- void platform_support::on_mouse_move(int x, int y, unsigned flags) {}
- void platform_support::on_mouse_button_down(int x, int y, unsigned flags) {}
- void platform_support::on_mouse_button_up(int x, int y, unsigned flags) {}
- void platform_support::on_key(int x, int y, unsigned key, unsigned flags) {}
- void platform_support::on_ctrl_change() {}
- void platform_support::on_draw() {}
- void platform_support::on_post_draw(void* raw_handler) {}
-
- //------------------------------------------------------------------------
- void handle_idcmp(Hook* hook, APTR obj, IntuiMessage* msg)
- {
- platform_support* app =
- reinterpret_cast<platform_support*>(hook->h_Data);
- Window* window = app->m_specific->m_window;
-
- int16 x = msg->MouseX - window->BorderLeft;
-
- int16 y = 0;
- if ( app->flip_y() )
- {
- y = window->Height - window->BorderBottom - msg->MouseY;
- }
- else
- {
- y = msg->MouseY - window->BorderTop;
- }
-
- switch ( msg->Class )
- {
- case IDCMP_MOUSEBUTTONS:
- if ( msg->Code & IECODE_UP_PREFIX )
- {
- if ( msg->Code == SELECTUP )
- {
- app->m_specific->m_input_flags = mouse_left;
- app->m_specific->m_dragging = false;
- }
- else if ( msg->Code == MENUUP )
- {
- app->m_specific->m_input_flags = mouse_right;
- app->m_specific->m_dragging = false;
- }
- else
- {
- return;
- }
-
-
- if ( app->m_ctrls.on_mouse_button_up(x, y) )
- {
- app->on_ctrl_change();
- app->force_redraw();
- }
-
- app->on_mouse_button_up(x, y, app->m_specific->m_input_flags);
- }
- else
- {
- if ( msg->Code == SELECTDOWN )
- {
- app->m_specific->m_input_flags = mouse_left;
- app->m_specific->m_dragging = true;
- }
- else if ( msg->Code == MENUDOWN )
- {
- app->m_specific->m_input_flags = mouse_right;
- app->m_specific->m_dragging = true;
- }
- else
- {
- return;
- }
-
- app->m_ctrls.set_cur(x, y);
- if ( app->m_ctrls.on_mouse_button_down(x, y) )
- {
- app->on_ctrl_change();
- app->force_redraw();
- }
- else
- {
- if ( app->m_ctrls.in_rect(x, y) )
- {
- if ( app->m_ctrls.set_cur(x, y) )
- {
- app->on_ctrl_change();
- app->force_redraw();
- }
- }
- else
- {
- app->on_mouse_button_down(x, y,
- app->m_specific->m_input_flags);
- }
- }
- }
- break;
- case IDCMP_MOUSEMOVE:
- if ( app->m_specific->m_dragging ) {
- if ( app->m_ctrls.on_mouse_move(x, y,
- app->m_specific->m_input_flags & mouse_left) != 0 )
- {
- app->on_ctrl_change();
- app->force_redraw();
- }
- else
- {
- if ( !app->m_ctrls.in_rect(x, y) )
- {
- app->on_mouse_move(x, y,
- app->m_specific->m_input_flags);
- }
- }
- }
- break;
- case IDCMP_RAWKEY:
- {
- static InputEvent ie = { 0 };
- ie.ie_Class = IECLASS_RAWKEY;
- ie.ie_Code = msg->Code;
- ie.ie_Qualifier = msg->Qualifier;
-
- static const unsigned BUF_SIZE = 16;
- static char key_buf[BUF_SIZE];
- int16 num_chars = IKeymap->MapRawKey(&ie, key_buf, BUF_SIZE, 0);
-
- uint32 code = 0x00000000;
- switch ( num_chars )
- {
- case 1:
- code = key_buf[0];
- break;
- case 2:
- code = key_buf[0]<<8 | key_buf[1];
- break;
- case 3:
- code = key_buf[0]<<16 | key_buf[1]<<8 | key_buf[2];
- break;
- }
-
- uint16 key_code = 0;
-
- if ( num_chars == 1 )
- {
- if ( code >= IECODE_ASCII_FIRST && code <= IECODE_ASCII_LAST )
- {
- key_code = code;
- }
- }
-
- if ( key_code == 0 )
- {
- switch ( code )
- {
- case 0x00000008: key_code = key_backspace; break;
- case 0x00000009: key_code = key_tab; break;
- case 0x0000000D: key_code = key_return; break;
- case 0x0000001B: key_code = key_escape; break;
- case 0x0000007F: key_code = key_delete; break;
- case 0x00009B41:
- case 0x00009B54: key_code = key_up; break;
- case 0x00009B42:
- case 0x00009B53: key_code = key_down; break;
- case 0x00009B43:
- case 0x009B2040: key_code = key_right; break;
- case 0x00009B44:
- case 0x009B2041: key_code = key_left; break;
- case 0x009B307E: key_code = key_f1; break;
- case 0x009B317E: key_code = key_f2; break;
- case 0x009B327E: key_code = key_f3; break;
- case 0x009B337E: key_code = key_f4; break;
- case 0x009B347E: key_code = key_f5; break;
- case 0x009B357E: key_code = key_f6; break;
- case 0x009B367E: key_code = key_f7; break;
- case 0x009B377E: key_code = key_f8; break;
- case 0x009B387E: key_code = key_f9; break;
- case 0x009B397E: key_code = key_f10; break;
- case 0x009B3F7E: key_code = key_scrollock; break;
- }
- }
-
- if ( ie.ie_Code & IECODE_UP_PREFIX )
- {
- if ( app->m_specific->m_last_key != 0 )
- {
- bool left = (key_code == key_left) ? true : false;
- bool right = (key_code == key_right) ? true : false;
- bool down = (key_code == key_down) ? true : false;
- bool up = (key_code == key_up) ? true : false;
-
- if ( app->m_ctrls.on_arrow_keys(left, right, down, up) )
- {
- app->on_ctrl_change();
- app->force_redraw();
- }
- else
- {
- app->on_key(x, y, app->m_specific->m_last_key, 0);
- }
-
- app->m_specific->m_last_key = 0;
- }
- }
- else
- {
- app->m_specific->m_last_key = key_code;
- }
- break;
- }
- default:
- break;
- }
- }
-}
-
-//----------------------------------------------------------------------------
-int agg_main(int argc, char* argv[]);
-bool open_libs();
-void close_libs();
-
-//----------------------------------------------------------------------------
-bool open_libs()
-{
- DataTypesBase = IExec->OpenLibrary("datatypes.library", 51);
- GraphicsBase = IExec->OpenLibrary("graphics.library", 51);
- IntuitionBase = IExec->OpenLibrary("intuition.library", 51);
- KeymapBase = IExec->OpenLibrary("keymap.library", 51);
- P96Base = IExec->OpenLibrary("Picasso96API.library", 2);
-
- IDataTypes = reinterpret_cast<DataTypesIFace*>(
- IExec->GetInterface(DataTypesBase, "main", 1, 0));
- IGraphics = reinterpret_cast<GraphicsIFace*>(
- IExec->GetInterface(GraphicsBase, "main", 1, 0));
- IIntuition = reinterpret_cast<IntuitionIFace*>(
- IExec->GetInterface(IntuitionBase, "main", 1, 0));
- IKeymap = reinterpret_cast<KeymapIFace*>(
- IExec->GetInterface(KeymapBase, "main", 1, 0));
- IP96 = reinterpret_cast<P96IFace*>(
- IExec->GetInterface(P96Base, "main", 1, 0));
-
- if ( IDataTypes == 0 ||
- IGraphics == 0 ||
- IIntuition == 0 ||
- IKeymap == 0 ||
- IP96 == 0 )
- {
- close_libs();
- return false;
- }
- else
- {
- return true;
- }
-}
-
-//----------------------------------------------------------------------------
-void close_libs()
-{
- IExec->DropInterface(reinterpret_cast<Interface*>(IP96));
- IExec->DropInterface(reinterpret_cast<Interface*>(IKeymap));
- IExec->DropInterface(reinterpret_cast<Interface*>(IIntuition));
- IExec->DropInterface(reinterpret_cast<Interface*>(IGraphics));
- IExec->DropInterface(reinterpret_cast<Interface*>(IDataTypes));
-
- IExec->CloseLibrary(P96Base);
- IExec->CloseLibrary(KeymapBase);
- IExec->CloseLibrary(IntuitionBase);
- IExec->CloseLibrary(GraphicsBase);
- IExec->CloseLibrary(DataTypesBase);
-}
-
-//----------------------------------------------------------------------------
-int main(int argc, char* argv[])
-{
- if ( !open_libs() ) {
- IDOS->Printf("Can't open libraries.\n");
- return -1;
- }
-
- ClassLibrary* requester =
- IIntuition->OpenClass("requester.class", 51, &RequesterClass);
- ClassLibrary* window =
- IIntuition->OpenClass("window.class", 51, &WindowClass);
- if ( requester == 0 || window == 0 )
- {
- IDOS->Printf("Can't open classes.\n");
- IIntuition->CloseClass(requester);
- IIntuition->CloseClass(window);
- close_libs();
- return -1;
- }
-
- int rc = agg_main(argc, argv);
-
- IIntuition->CloseClass(window);
- IIntuition->CloseClass(requester);
- close_libs();
-
- return rc;
-}
diff --git a/contrib/python/matplotlib/py3/extern/agg24-svn/src/platform/BeOS/agg_platform_support.cpp b/contrib/python/matplotlib/py3/extern/agg24-svn/src/platform/BeOS/agg_platform_support.cpp
deleted file mode 100644
index 078e141ccb..0000000000
--- a/contrib/python/matplotlib/py3/extern/agg24-svn/src/platform/BeOS/agg_platform_support.cpp
+++ /dev/null
@@ -1,990 +0,0 @@
-//----------------------------------------------------------------------------
-// Anti-Grain Geometry - Version 2.4
-// Copyright (C) 2002-2005 Maxim Shemanarev (http://www.antigrain.com)
-//
-// Permission to copy, use, modify, sell and distribute this software
-// is granted provided this copyright notice appears in all copies.
-// This software is provided "as is" without express or implied
-// warranty, and with no claim as to its suitability for any purpose.
-//
-//----------------------------------------------------------------------------
-// Contact: superstippi@gmx.de
-//----------------------------------------------------------------------------
-//
-// class platform_support
-//
-//----------------------------------------------------------------------------
-
-#include <new>
-#include <stdio.h>
-
-#include <Alert.h>
-#include <Application.h>
-#include <Bitmap.h>
-#include <Message.h>
-#include <MessageRunner.h>
-#include <Messenger.h>
-#include <Path.h>
-#include <Roster.h>
-#include <TranslationUtils.h>
-#include <View.h>
-#include <Window.h>
-
-#include <string.h>
-#include "platform/agg_platform_support.h"
-#include "util/agg_color_conv_rgb8.h"
-
-using std::nothrow;
-
-
-static void
-attach_buffer_to_BBitmap(agg::rendering_buffer& buffer, BBitmap* bitmap, bool flipY)
-{
- uint8* bits = (uint8*)bitmap->Bits();
- uint32 width = bitmap->Bounds().IntegerWidth() + 1;
- uint32 height = bitmap->Bounds().IntegerHeight() + 1;
- int32 bpr = bitmap->BytesPerRow();
- if (flipY) {
-// XXX: why don't I have to do this?!?
-// bits += bpr * (height - 1);
- bpr = -bpr;
- }
- buffer.attach(bits, width, height, bpr);
-}
-
-
-static color_space
-pix_format_to_color_space(agg::pix_format_e format)
-{
- color_space bitmapFormat = B_NO_COLOR_SPACE;
- switch (format) {
- case agg::pix_format_rgb555:
-
- bitmapFormat = B_RGB15;
- break;
-
- case agg::pix_format_rgb565:
-
- bitmapFormat = B_RGB16;
- break;
-
- case agg::pix_format_rgb24:
- case agg::pix_format_bgr24:
-
- bitmapFormat = B_RGB24;
- break;
-
- case agg::pix_format_rgba32:
- case agg::pix_format_argb32:
- case agg::pix_format_abgr32:
- case agg::pix_format_bgra32:
-
- bitmapFormat = B_RGBA32;
- break;
- }
- return bitmapFormat;
-}
-
-
-// #pragma mark -
-
-
-class AGGView : public BView {
- public:
- AGGView(BRect frame, agg::platform_support* agg,
- agg::pix_format_e format, bool flipY);
- virtual ~AGGView();
-
- virtual void AttachedToWindow();
- virtual void DetachedFromWindow();
-
- virtual void MessageReceived(BMessage* message);
- virtual void Draw(BRect updateRect);
- virtual void FrameResized(float width, float height);
-
- virtual void KeyDown(const char* bytes, int32 numBytes);
-
- virtual void MouseDown(BPoint where);
- virtual void MouseMoved(BPoint where, uint32 transit,
- const BMessage* dragMesage);
- virtual void MouseUp(BPoint where);
-
- BBitmap* Bitmap() const;
-
- uint8 LastKeyDown() const;
- uint32 MouseButtons();
-
- void Update();
- void ForceRedraw();
-
- unsigned GetKeyFlags();
-
- private:
- BBitmap* fBitmap;
- agg::pix_format_e fFormat;
- bool fFlipY;
-
- agg::platform_support* fAGG;
-
- uint32 fMouseButtons;
- int32 fMouseX;
- int32 fMouseY;
-
- uint8 fLastKeyDown;
-
- bool fRedraw;
-
- BMessageRunner* fPulse;
- bigtime_t fLastPulse;
- bool fEnableTicks;
-};
-
-AGGView::AGGView(BRect frame,
- agg::platform_support* agg,
- agg::pix_format_e format,
- bool flipY)
- : BView(frame, "AGG View", B_FOLLOW_ALL,
- B_FRAME_EVENTS | B_WILL_DRAW),
- fFormat(format),
- fFlipY(flipY),
-
- fAGG(agg),
-
- fMouseButtons(0),
- fMouseX(-1),
- fMouseY(-1),
-
- fLastKeyDown(0),
-
- fRedraw(true),
-
- fPulse(NULL),
- fLastPulse(0),
- fEnableTicks(true)
-{
- SetViewColor(B_TRANSPARENT_32_BIT);
-
- frame.OffsetTo(0.0, 0.0);
- fBitmap = new BBitmap(frame, 0, pix_format_to_color_space(fFormat));
- if (fBitmap->IsValid()) {
- attach_buffer_to_BBitmap(fAGG->rbuf_window(), fBitmap, fFlipY);
- } else {
- delete fBitmap;
- fBitmap = NULL;
- }
-}
-
-
-AGGView::~AGGView()
-{
- delete fBitmap;
- delete fPulse;
-}
-
-
-void
-AGGView::AttachedToWindow()
-{
- BMessage message('tick');
- BMessenger target(this, Looper());
- delete fPulse;
-// BScreen screen;
-// TODO: calc screen retrace
- fPulse = new BMessageRunner(target, &message, 40000);
-
- // make sure we call this once
- fAGG->on_resize(Bounds().IntegerWidth() + 1,
- Bounds().IntegerHeight() + 1);
- MakeFocus();
-}
-
-
-void
-AGGView::DetachedFromWindow()
-{
- delete fPulse;
- fPulse = NULL;
-}
-
-
-void
-AGGView::MessageReceived(BMessage* message)
-{
- bigtime_t now = system_time();
- switch (message->what) {
- case 'tick':
- // drop messages that have piled up
- if (/*now - fLastPulse > 30000*/fEnableTicks) {
- fLastPulse = now;
- if (!fAGG->wait_mode())
- fAGG->on_idle();
- Window()->PostMessage('entk', this);
- fEnableTicks = false;
- } else {
-// printf("dropping tick message (%lld)\n", now - fLastPulse);
- }
- break;
- case 'entk':
- fEnableTicks = true;
- if (now - fLastPulse > 30000) {
- fLastPulse = now;
- if (!fAGG->wait_mode())
- fAGG->on_idle();
- }
- break;
- default:
- BView::MessageReceived(message);
- break;
- }
-}
-
-
-void
-AGGView::Draw(BRect updateRect)
-{
- if (fBitmap) {
- if (fRedraw) {
- fAGG->on_draw();
- fRedraw = false;
- }
- if (fFormat == agg::pix_format_bgra32) {
- DrawBitmap(fBitmap, updateRect, updateRect);
- } else {
- BBitmap* bitmap = new BBitmap(fBitmap->Bounds(), 0, B_RGBA32);
-
- agg::rendering_buffer rbufSrc;
- attach_buffer_to_BBitmap(rbufSrc, fBitmap, false);
-
- agg::rendering_buffer rbufDst;
- attach_buffer_to_BBitmap(rbufDst, bitmap, false);
-
- switch(fFormat) {
- case agg::pix_format_rgb555:
- agg::color_conv(&rbufDst, &rbufSrc,
- agg::color_conv_rgb555_to_bgra32());
- break;
- case agg::pix_format_rgb565:
- agg::color_conv(&rbufDst, &rbufSrc,
- agg::color_conv_rgb565_to_bgra32());
- break;
- case agg::pix_format_rgb24:
- agg::color_conv(&rbufDst, &rbufSrc,
- agg::color_conv_rgb24_to_bgra32());
- break;
- case agg::pix_format_bgr24:
- agg::color_conv(&rbufDst, &rbufSrc,
- agg::color_conv_bgr24_to_bgra32());
- break;
- case agg::pix_format_rgba32:
- agg::color_conv(&rbufDst, &rbufSrc,
- agg::color_conv_rgba32_to_bgra32());
- break;
- case agg::pix_format_argb32:
- agg::color_conv(&rbufDst, &rbufSrc,
- agg::color_conv_argb32_to_bgra32());
- break;
- case agg::pix_format_abgr32:
- agg::color_conv(&rbufDst, &rbufSrc,
- agg::color_conv_abgr32_to_bgra32());
- break;
- case agg::pix_format_bgra32:
- agg::color_conv(&rbufDst, &rbufSrc,
- agg::color_conv_bgra32_to_bgra32());
- break;
- }
- DrawBitmap(bitmap, updateRect, updateRect);
- delete bitmap;
- }
- } else {
- FillRect(updateRect);
- }
-}
-
-
-void
-AGGView::FrameResized(float width, float height)
-{
- BRect r(0.0, 0.0, width, height);
- BBitmap* bitmap = new BBitmap(r, 0, pix_format_to_color_space(fFormat));
- if (bitmap->IsValid()) {
- delete fBitmap;
- fBitmap = bitmap;
- attach_buffer_to_BBitmap(fAGG->rbuf_window(), fBitmap, fFlipY);
-
- fAGG->trans_affine_resizing((int)width + 1,
- (int)height + 1);
-
- // pass the event on to AGG
- fAGG->on_resize((int)width + 1, (int)height + 1);
-
- fRedraw = true;
- Invalidate();
- } else
- delete bitmap;
-}
-
-
-void
-AGGView::KeyDown(const char* bytes, int32 numBytes)
-{
- if (bytes && numBytes > 0) {
- fLastKeyDown = bytes[0];
-
- bool left = false;
- bool up = false;
- bool right = false;
- bool down = false;
-
- switch (fLastKeyDown) {
-
- case B_LEFT_ARROW:
- left = true;
- break;
-
- case B_UP_ARROW:
- up = true;
- break;
-
- case B_RIGHT_ARROW:
- right = true;
- break;
-
- case B_DOWN_ARROW:
- down = true;
- break;
- }
-
-/* case key_f2:
-fAGG->copy_window_to_img(agg::platform_support::max_images - 1);
-fAGG->save_img(agg::platform_support::max_images - 1, "screenshot");
-break;
-}*/
-
-
- if (fAGG->m_ctrls.on_arrow_keys(left, right, down, up)) {
- fAGG->on_ctrl_change();
- fAGG->force_redraw();
- } else {
- fAGG->on_key(fMouseX, fMouseY, fLastKeyDown, GetKeyFlags());
- }
-// fAGG->on_key(fMouseX, fMouseY, fLastKeyDown, GetKeyFlags());
-
- }
-}
-
-
-void
-AGGView::MouseDown(BPoint where)
-{
- BMessage* currentMessage = Window()->CurrentMessage();
- if (currentMessage) {
- if (currentMessage->FindInt32("buttons", (int32*)&fMouseButtons) < B_OK)
- fMouseButtons = B_PRIMARY_MOUSE_BUTTON;
- } else
- fMouseButtons = B_PRIMARY_MOUSE_BUTTON;
-
- fMouseX = (int)where.x;
- fMouseY = fFlipY ? (int)(Bounds().Height() - where.y) : (int)where.y;
-
- // pass the event on to AGG
- if (fMouseButtons == B_PRIMARY_MOUSE_BUTTON) {
- // left mouse button -> see if to handle in controls
- fAGG->m_ctrls.set_cur(fMouseX, fMouseY);
- if (fAGG->m_ctrls.on_mouse_button_down(fMouseX, fMouseY)) {
- fAGG->on_ctrl_change();
- fAGG->force_redraw();
- } else {
- if (fAGG->m_ctrls.in_rect(fMouseX, fMouseY)) {
- if (fAGG->m_ctrls.set_cur(fMouseX, fMouseY)) {
- fAGG->on_ctrl_change();
- fAGG->force_redraw();
- }
- } else {
- fAGG->on_mouse_button_down(fMouseX, fMouseY, GetKeyFlags());
- }
- }
- } else if (fMouseButtons & B_SECONDARY_MOUSE_BUTTON) {
- // right mouse button -> simple
- fAGG->on_mouse_button_down(fMouseX, fMouseY, GetKeyFlags());
- }
- SetMouseEventMask(B_POINTER_EVENTS, B_LOCK_WINDOW_FOCUS);
-}
-
-
-void
-AGGView::MouseMoved(BPoint where, uint32 transit, const BMessage* dragMesage)
-{
- // workarround missed mouse up events
- // (if we react too slowly, app_server might have dropped events)
- BMessage* currentMessage = Window()->CurrentMessage();
- int32 buttons = 0;
- if (currentMessage->FindInt32("buttons", &buttons) < B_OK) {
- buttons = 0;
- }
- if (!buttons)
- MouseUp(where);
-
- fMouseX = (int)where.x;
- fMouseY = fFlipY ? (int)(Bounds().Height() - where.y) : (int)where.y;
-
- // pass the event on to AGG
- if (fAGG->m_ctrls.on_mouse_move(fMouseX, fMouseY,
- (GetKeyFlags() & agg::mouse_left) != 0)) {
- fAGG->on_ctrl_change();
- fAGG->force_redraw();
- } else {
- if (!fAGG->m_ctrls.in_rect(fMouseX, fMouseY)) {
- fAGG->on_mouse_move(fMouseX, fMouseY, GetKeyFlags());
- }
- }
-}
-
-
-void
-AGGView::MouseUp(BPoint where)
-{
- fMouseX = (int)where.x;
- fMouseY = fFlipY ? (int)(Bounds().Height() - where.y) : (int)where.y;
-
- // pass the event on to AGG
- if (fMouseButtons == B_PRIMARY_MOUSE_BUTTON) {
- fMouseButtons = 0;
-
- if (fAGG->m_ctrls.on_mouse_button_up(fMouseX, fMouseY)) {
- fAGG->on_ctrl_change();
- fAGG->force_redraw();
- }
- fAGG->on_mouse_button_up(fMouseX, fMouseY, GetKeyFlags());
- } else if (fMouseButtons == B_SECONDARY_MOUSE_BUTTON) {
- fMouseButtons = 0;
-
- fAGG->on_mouse_button_up(fMouseX, fMouseY, GetKeyFlags());
- }
-}
-
-
-BBitmap*
-AGGView::Bitmap() const
-{
- return fBitmap;
-}
-
-
-uint8
-AGGView::LastKeyDown() const
-{
- return fLastKeyDown;
-}
-
-
-uint32
-AGGView::MouseButtons()
-{
- uint32 buttons = 0;
- if (LockLooper()) {
- buttons = fMouseButtons;
- UnlockLooper();
- }
- return buttons;
-}
-
-
-void
-AGGView::Update()
-{
- // trigger display update
- if (LockLooper()) {
- Invalidate();
- UnlockLooper();
- }
-}
-
-
-void
-AGGView::ForceRedraw()
-{
- // force a redraw (fRedraw = true;)
- // and trigger display update
- if (LockLooper()) {
- fRedraw = true;
- Invalidate();
- UnlockLooper();
- }
-}
-
-
-unsigned
-AGGView::GetKeyFlags()
-{
- uint32 buttons = fMouseButtons;
- uint32 mods = modifiers();
- unsigned flags = 0;
- if (buttons & B_PRIMARY_MOUSE_BUTTON) flags |= agg::mouse_left;
- if (buttons & B_SECONDARY_MOUSE_BUTTON) flags |= agg::mouse_right;
- if (mods & B_SHIFT_KEY) flags |= agg::kbd_shift;
- if (mods & B_COMMAND_KEY) flags |= agg::kbd_ctrl;
- return flags;
-}
-
-// #pragma mark -
-
-
-class AGGWindow : public BWindow {
- public:
- AGGWindow()
- : BWindow(BRect(-50.0, -50.0, -10.0, -10.0),
- "AGG Application", B_TITLED_WINDOW, B_ASYNCHRONOUS_CONTROLS)
- {
- }
-
- virtual bool QuitRequested()
- {
- be_app->PostMessage(B_QUIT_REQUESTED);
- return true;
- }
-
- bool Init(BRect frame, agg::platform_support* agg, agg::pix_format_e format,
- bool flipY, uint32 flags)
- {
- MoveTo(frame.LeftTop());
- ResizeTo(frame.Width(), frame.Height());
-
- SetFlags(flags);
-
- frame.OffsetTo(0.0, 0.0);
- fView = new AGGView(frame, agg, format, flipY);
- AddChild(fView);
-
- return fView->Bitmap() != NULL;
- }
-
-
- AGGView* View() const
- {
- return fView;
- }
- private:
- AGGView* fView;
-};
-
-// #pragma mark -
-
-
-class AGGApplication : public BApplication {
- public:
- AGGApplication()
- : BApplication("application/x-vnd.AGG-AGG")
- {
- fWindow = new AGGWindow();
- }
-
- virtual void ReadyToRun()
- {
- if (fWindow) {
- fWindow->Show();
- }
- }
-
- virtual bool Init(agg::platform_support* agg, int width, int height,
- agg::pix_format_e format, bool flipY, uint32 flags)
- {
- BRect r(50.0, 50.0,
- 50.0 + width - 1.0,
- 50.0 + height - 1.0);
- uint32 windowFlags = B_ASYNCHRONOUS_CONTROLS;
- if (!(flags & agg::window_resize))
- windowFlags |= B_NOT_RESIZABLE;
-
- return fWindow->Init(r, agg, format, flipY, windowFlags);;
- }
-
-
- AGGWindow* Window() const
- {
- return fWindow;
- }
-
- private:
- AGGWindow* fWindow;
-};
-
-
-// #pragma mark -
-
-
-namespace agg
-{
-
-class platform_specific {
- public:
- platform_specific(agg::platform_support* agg,
- agg::pix_format_e format, bool flip_y)
- : fAGG(agg),
- fApp(NULL),
- fFormat(format),
- fFlipY(flip_y),
- fTimerStart(system_time())
- {
- memset(fImages, 0, sizeof(fImages));
- fApp = new AGGApplication();
- fAppPath[0] = 0;
- // figure out where we're running from
- app_info info;
- status_t ret = fApp->GetAppInfo(&info);
- if (ret >= B_OK) {
- BPath path(&info.ref);
- ret = path.InitCheck();
- if (ret >= B_OK) {
- ret = path.GetParent(&path);
- if (ret >= B_OK) {
- sprintf(fAppPath, "%s", path.Path());
- } else {
- fprintf(stderr, "getting app parent folder failed: %s\n", strerror(ret));
- }
- } else {
- fprintf(stderr, "making app path failed: %s\n", strerror(ret));
- }
- } else {
- fprintf(stderr, "GetAppInfo() failed: %s\n", strerror(ret));
- }
- }
- ~platform_specific()
- {
- for (int32 i = 0; i < agg::platform_support::max_images; i++)
- delete fImages[i];
- delete fApp;
- }
-
- bool Init(int width, int height, unsigned flags)
- {
- return fApp->Init(fAGG, width, height, fFormat, fFlipY, flags);
- }
-
- int Run()
- {
- status_t ret = B_NO_INIT;
- if (fApp) {
- fApp->Run();
- ret = B_OK;
- }
- return ret;
- }
-
- void SetTitle(const char* title)
- {
- if (fApp && fApp->Window() && fApp->Window()->Lock()) {
- fApp->Window()->SetTitle(title);
- fApp->Window()->Unlock();
- }
- }
- void StartTimer()
- {
- fTimerStart = system_time();
- }
- double ElapsedTime() const
- {
- return (system_time() - fTimerStart) / 1000.0;
- }
-
- void ForceRedraw()
- {
- fApp->Window()->View()->ForceRedraw();
- }
- void UpdateWindow()
- {
- fApp->Window()->View()->Update();
- }
-
-
- agg::platform_support* fAGG;
- AGGApplication* fApp;
- agg::pix_format_e fFormat;
- bool fFlipY;
- bigtime_t fTimerStart;
- BBitmap* fImages[agg::platform_support::max_images];
-
- char fAppPath[B_PATH_NAME_LENGTH];
- char fFilePath[B_PATH_NAME_LENGTH];
-};
-
-
- //------------------------------------------------------------------------
- platform_support::platform_support(pix_format_e format, bool flip_y) :
- m_specific(new platform_specific(this, format, flip_y)),
- m_format(format),
- m_bpp(32/*m_specific->m_bpp*/),
- m_window_flags(0),
- m_wait_mode(true),
- m_flip_y(flip_y),
- m_initial_width(10),
- m_initial_height(10)
- {
- strcpy(m_caption, "Anti-Grain Geometry Application");
- }
-
-
- //------------------------------------------------------------------------
- platform_support::~platform_support()
- {
- delete m_specific;
- }
-
- //------------------------------------------------------------------------
- void platform_support::caption(const char* cap)
- {
- strcpy(m_caption, cap);
- m_specific->SetTitle(cap);
- }
-
- //------------------------------------------------------------------------
- void platform_support::start_timer()
- {
- m_specific->StartTimer();
- }
-
- //------------------------------------------------------------------------
- double platform_support::elapsed_time() const
- {
- return m_specific->ElapsedTime();
- }
-
- //------------------------------------------------------------------------
- void* platform_support::raw_display_handler()
- {
- // TODO: if we ever support BDirectWindow here, that would
- // be the frame buffer pointer with offset to the window top left
- return NULL;
- }
-
- //------------------------------------------------------------------------
- void platform_support::message(const char* msg)
- {
- BAlert* alert = new BAlert("AGG Message", msg, "Ok");
- alert->Go(/*NULL*/);
- }
-
-
- //------------------------------------------------------------------------
- bool platform_support::init(unsigned width, unsigned height, unsigned flags)
- {
- m_initial_width = width;
- m_initial_height = height;
- m_window_flags = flags;
-
- if (m_specific->Init(width, height, flags)) {
- on_init();
- return true;
- }
-
- return false;
- }
-
-
- //------------------------------------------------------------------------
- int platform_support::run()
- {
- return m_specific->Run();
- }
-
-
- //------------------------------------------------------------------------
- const char* platform_support::img_ext() const { return ".ppm"; }
-
-
- const char* platform_support::full_file_name(const char* file_name)
- {
- sprintf(m_specific->fFilePath, "%s/%s", m_specific->fAppPath, file_name);
- return m_specific->fFilePath;
- }
-
-
- //------------------------------------------------------------------------
- bool platform_support::load_img(unsigned idx, const char* file)
- {
- if (idx < max_images)
- {
- char path[B_PATH_NAME_LENGTH];
- sprintf(path, "%s/%s%s", m_specific->fAppPath, file, img_ext());
- BBitmap* transBitmap = BTranslationUtils::GetBitmap(path);
- if (transBitmap && transBitmap->IsValid()) {
- if(transBitmap->ColorSpace() != B_RGB32 && transBitmap->ColorSpace() != B_RGBA32) {
- // ups we got a smart ass Translator making our live harder
- delete transBitmap;
- return false;
- }
-
- color_space format = B_RGB24;
-
- switch (m_format) {
- case pix_format_gray8:
- format = B_GRAY8;
- break;
- case pix_format_rgb555:
- format = B_RGB15;
- break;
- case pix_format_rgb565:
- format = B_RGB16;
- break;
- case pix_format_rgb24:
- format = B_RGB24_BIG;
- break;
- case pix_format_bgr24:
- format = B_RGB24;
- break;
- case pix_format_abgr32:
- case pix_format_argb32:
- case pix_format_bgra32:
- format = B_RGB32;
- break;
- case pix_format_rgba32:
- format = B_RGB32_BIG;
- break;
- }
- BBitmap* bitmap = new (nothrow) BBitmap(transBitmap->Bounds(), 0, format);
- if (!bitmap || !bitmap->IsValid()) {
- fprintf(stderr, "failed to allocate temporary bitmap!\n");
- delete transBitmap;
- delete bitmap;
- return false;
- }
-
- delete m_specific->fImages[idx];
-
- rendering_buffer rbuf_tmp;
- attach_buffer_to_BBitmap(rbuf_tmp, transBitmap, m_flip_y);
-
- m_specific->fImages[idx] = bitmap;
-
- attach_buffer_to_BBitmap(m_rbuf_img[idx], bitmap, m_flip_y);
-
- rendering_buffer* dst = &m_rbuf_img[idx];
-
- switch(m_format)
- {
- case pix_format_gray8:
- return false;
-// color_conv(dst, &rbuf_tmp, color_conv_bgra32_to_gray8()); break;
- break;
-
- case pix_format_rgb555:
- color_conv(dst, &rbuf_tmp, color_conv_bgra32_to_rgb555()); break;
- break;
-
- case pix_format_rgb565:
- color_conv(dst, &rbuf_tmp, color_conv_bgra32_to_rgb565()); break;
- break;
-
- case pix_format_rgb24:
- color_conv(dst, &rbuf_tmp, color_conv_bgra32_to_rgb24()); break;
- break;
-
- case pix_format_bgr24:
- color_conv(dst, &rbuf_tmp, color_conv_bgra32_to_bgr24()); break;
- break;
-
- case pix_format_abgr32:
- color_conv(dst, &rbuf_tmp, color_conv_bgra32_to_abgr32()); break;
- break;
-
- case pix_format_argb32:
- color_conv(dst, &rbuf_tmp, color_conv_bgra32_to_argb32()); break;
- break;
-
- case pix_format_bgra32:
- color_conv(dst, &rbuf_tmp, color_conv_bgra32_to_bgra32()); break;
- break;
-
- case pix_format_rgba32:
- color_conv(dst, &rbuf_tmp, color_conv_bgra32_to_rgba32()); break;
- break;
- }
- delete transBitmap;
-
- return true;
-
- } else {
- fprintf(stderr, "failed to load bitmap: '%s'\n", full_file_name(file));
- }
- }
- return false;
- }
-
-
-
- //------------------------------------------------------------------------
- bool platform_support::save_img(unsigned idx, const char* file)
- {
- // TODO: implement using BTranslatorRoster and friends
- return false;
- }
-
-
-
- //------------------------------------------------------------------------
- bool platform_support::create_img(unsigned idx, unsigned width, unsigned height)
- {
- if(idx < max_images)
- {
- if(width == 0) width = m_specific->fApp->Window()->View()->Bitmap()->Bounds().IntegerWidth() + 1;
- if(height == 0) height = m_specific->fApp->Window()->View()->Bitmap()->Bounds().IntegerHeight() + 1;
- BBitmap* bitmap = new BBitmap(BRect(0.0, 0.0, width - 1, height - 1), 0, B_RGBA32);;
- if (bitmap && bitmap->IsValid()) {
- delete m_specific->fImages[idx];
- m_specific->fImages[idx] = bitmap;
- attach_buffer_to_BBitmap(m_rbuf_img[idx], bitmap, m_flip_y);
- return true;
- } else {
- delete bitmap;
- }
- }
- return false;
- }
-
-
- //------------------------------------------------------------------------
- void platform_support::force_redraw()
- {
- m_specific->ForceRedraw();
- }
-
-
-
- //------------------------------------------------------------------------
- void platform_support::update_window()
- {
- m_specific->UpdateWindow();
- }
-
-
- //------------------------------------------------------------------------
- void platform_support::on_init() {}
- void platform_support::on_resize(int sx, int sy) {}
- void platform_support::on_idle() {}
- void platform_support::on_mouse_move(int x, int y, unsigned flags) {}
- void platform_support::on_mouse_button_down(int x, int y, unsigned flags) {}
- void platform_support::on_mouse_button_up(int x, int y, unsigned flags) {}
- void platform_support::on_key(int x, int y, unsigned key, unsigned flags) {}
- void platform_support::on_ctrl_change() {}
- void platform_support::on_draw() {}
- void platform_support::on_post_draw(void* raw_handler) {}
-}
-
-
-
-
-
-
-//----------------------------------------------------------------------------
-int agg_main(int argc, char* argv[]);
-
-
-
-int
-main(int argc, char* argv[])
-{
- return agg_main(argc, argv);
-}
-
-
-
-
diff --git a/contrib/python/matplotlib/py3/extern/agg24-svn/src/platform/X11/agg_platform_support.cpp b/contrib/python/matplotlib/py3/extern/agg24-svn/src/platform/X11/agg_platform_support.cpp
deleted file mode 100644
index 46b874d738..0000000000
--- a/contrib/python/matplotlib/py3/extern/agg24-svn/src/platform/X11/agg_platform_support.cpp
+++ /dev/null
@@ -1,1601 +0,0 @@
-//----------------------------------------------------------------------------
-// Anti-Grain Geometry - Version 2.4
-// Copyright (C) 2002-2005 Maxim Shemanarev (http://www.antigrain.com)
-//
-// Permission to copy, use, modify, sell and distribute this software
-// is granted provided this copyright notice appears in all copies.
-// This software is provided "as is" without express or implied
-// warranty, and with no claim as to its suitability for any purpose.
-//
-//----------------------------------------------------------------------------
-// Contact: mcseem@antigrain.com
-// mcseemagg@yahoo.com
-// http://www.antigrain.com
-//----------------------------------------------------------------------------
-//
-// class platform_support. X11 version.
-//
-//----------------------------------------------------------------------------
-
-#include <stdio.h>
-#include <string.h>
-#include <stdlib.h>
-#include <ctype.h>
-#include <time.h>
-#include <X11/Xlib.h>
-#include <X11/Xutil.h>
-#include <X11/Xatom.h>
-#include <X11/keysym.h>
-#include "agg_basics.h"
-#include "agg_pixfmt_gray.h"
-#include "agg_pixfmt_rgb.h"
-#include "agg_pixfmt_rgba.h"
-#include "util/agg_color_conv_rgb8.h"
-#include "platform/agg_platform_support.h"
-
-
-namespace agg
-{
- //------------------------------------------------------------------------
- class platform_specific
- {
- public:
- platform_specific(pix_format_e format, bool flip_y);
- ~platform_specific();
-
- void caption(const char* capt);
- void put_image(const rendering_buffer* src);
-
- pix_format_e m_format;
- pix_format_e m_sys_format;
- int m_byte_order;
- bool m_flip_y;
- unsigned m_bpp;
- unsigned m_sys_bpp;
- Display* m_display;
- int m_screen;
- int m_depth;
- Visual* m_visual;
- Window m_window;
- GC m_gc;
- XImage* m_ximg_window;
- XSetWindowAttributes m_window_attributes;
- Atom m_close_atom;
- unsigned char* m_buf_window;
- unsigned char* m_buf_img[platform_support::max_images];
- unsigned m_keymap[256];
-
- bool m_update_flag;
- bool m_resize_flag;
- bool m_initialized;
- //bool m_wait_mode;
- clock_t m_sw_start;
- };
-
-
-
- //------------------------------------------------------------------------
- platform_specific::platform_specific(pix_format_e format, bool flip_y) :
- m_format(format),
- m_sys_format(pix_format_undefined),
- m_byte_order(LSBFirst),
- m_flip_y(flip_y),
- m_bpp(0),
- m_sys_bpp(0),
- m_display(0),
- m_screen(0),
- m_depth(0),
- m_visual(0),
- m_window(0),
- m_gc(0),
- m_ximg_window(0),
- m_close_atom(0),
-
- m_buf_window(0),
-
- m_update_flag(true),
- m_resize_flag(true),
- m_initialized(false)
- //m_wait_mode(true)
- {
- memset(m_buf_img, 0, sizeof(m_buf_img));
-
- unsigned i;
- for(i = 0; i < 256; i++)
- {
- m_keymap[i] = i;
- }
-
- m_keymap[XK_Pause&0xFF] = key_pause;
- m_keymap[XK_Clear&0xFF] = key_clear;
-
- m_keymap[XK_KP_0&0xFF] = key_kp0;
- m_keymap[XK_KP_1&0xFF] = key_kp1;
- m_keymap[XK_KP_2&0xFF] = key_kp2;
- m_keymap[XK_KP_3&0xFF] = key_kp3;
- m_keymap[XK_KP_4&0xFF] = key_kp4;
- m_keymap[XK_KP_5&0xFF] = key_kp5;
- m_keymap[XK_KP_6&0xFF] = key_kp6;
- m_keymap[XK_KP_7&0xFF] = key_kp7;
- m_keymap[XK_KP_8&0xFF] = key_kp8;
- m_keymap[XK_KP_9&0xFF] = key_kp9;
-
- m_keymap[XK_KP_Insert&0xFF] = key_kp0;
- m_keymap[XK_KP_End&0xFF] = key_kp1;
- m_keymap[XK_KP_Down&0xFF] = key_kp2;
- m_keymap[XK_KP_Page_Down&0xFF] = key_kp3;
- m_keymap[XK_KP_Left&0xFF] = key_kp4;
- m_keymap[XK_KP_Begin&0xFF] = key_kp5;
- m_keymap[XK_KP_Right&0xFF] = key_kp6;
- m_keymap[XK_KP_Home&0xFF] = key_kp7;
- m_keymap[XK_KP_Up&0xFF] = key_kp8;
- m_keymap[XK_KP_Page_Up&0xFF] = key_kp9;
- m_keymap[XK_KP_Delete&0xFF] = key_kp_period;
- m_keymap[XK_KP_Decimal&0xFF] = key_kp_period;
- m_keymap[XK_KP_Divide&0xFF] = key_kp_divide;
- m_keymap[XK_KP_Multiply&0xFF] = key_kp_multiply;
- m_keymap[XK_KP_Subtract&0xFF] = key_kp_minus;
- m_keymap[XK_KP_Add&0xFF] = key_kp_plus;
- m_keymap[XK_KP_Enter&0xFF] = key_kp_enter;
- m_keymap[XK_KP_Equal&0xFF] = key_kp_equals;
-
- m_keymap[XK_Up&0xFF] = key_up;
- m_keymap[XK_Down&0xFF] = key_down;
- m_keymap[XK_Right&0xFF] = key_right;
- m_keymap[XK_Left&0xFF] = key_left;
- m_keymap[XK_Insert&0xFF] = key_insert;
- m_keymap[XK_Home&0xFF] = key_delete;
- m_keymap[XK_End&0xFF] = key_end;
- m_keymap[XK_Page_Up&0xFF] = key_page_up;
- m_keymap[XK_Page_Down&0xFF] = key_page_down;
-
- m_keymap[XK_F1&0xFF] = key_f1;
- m_keymap[XK_F2&0xFF] = key_f2;
- m_keymap[XK_F3&0xFF] = key_f3;
- m_keymap[XK_F4&0xFF] = key_f4;
- m_keymap[XK_F5&0xFF] = key_f5;
- m_keymap[XK_F6&0xFF] = key_f6;
- m_keymap[XK_F7&0xFF] = key_f7;
- m_keymap[XK_F8&0xFF] = key_f8;
- m_keymap[XK_F9&0xFF] = key_f9;
- m_keymap[XK_F10&0xFF] = key_f10;
- m_keymap[XK_F11&0xFF] = key_f11;
- m_keymap[XK_F12&0xFF] = key_f12;
- m_keymap[XK_F13&0xFF] = key_f13;
- m_keymap[XK_F14&0xFF] = key_f14;
- m_keymap[XK_F15&0xFF] = key_f15;
-
- m_keymap[XK_Num_Lock&0xFF] = key_numlock;
- m_keymap[XK_Caps_Lock&0xFF] = key_capslock;
- m_keymap[XK_Scroll_Lock&0xFF] = key_scrollock;
-
- switch(m_format)
- {
- default: break;
- case pix_format_gray8:
- case pix_format_sgray8:
- m_bpp = 8;
- break;
-
- case pix_format_gray16:
- m_bpp = 16;
- break;
-
- case pix_format_gray32:
- m_bpp = 32;
- break;
-
- case pix_format_rgb565:
- case pix_format_rgb555:
- m_bpp = 16;
- break;
-
- case pix_format_rgb24:
- case pix_format_bgr24:
- case pix_format_srgb24:
- case pix_format_sbgr24:
- m_bpp = 24;
- break;
-
- case pix_format_bgra32:
- case pix_format_abgr32:
- case pix_format_argb32:
- case pix_format_rgba32:
- case pix_format_sbgra32:
- case pix_format_sabgr32:
- case pix_format_sargb32:
- case pix_format_srgba32:
- m_bpp = 32;
- break;
-
- case pix_format_rgb48:
- case pix_format_bgr48:
- m_bpp = 48;
- break;
-
- case pix_format_bgra64:
- case pix_format_abgr64:
- case pix_format_argb64:
- case pix_format_rgba64:
- m_bpp = 64;
- break;
-
- case pix_format_rgb96:
- case pix_format_bgr96:
- m_bpp = 96;
- break;
-
- case pix_format_bgra128:
- case pix_format_abgr128:
- case pix_format_argb128:
- case pix_format_rgba128:
- m_bpp = 128;
- break;
- }
- m_sw_start = clock();
- }
-
- //------------------------------------------------------------------------
- platform_specific::~platform_specific()
- {
- }
-
- //------------------------------------------------------------------------
- void platform_specific::caption(const char* capt)
- {
- XTextProperty tp;
- tp.value = (unsigned char *)capt;
- tp.encoding = XA_WM_NAME;
- tp.format = 8;
- tp.nitems = strlen(capt);
- XSetWMName(m_display, m_window, &tp);
- XStoreName(m_display, m_window, capt);
- XSetIconName(m_display, m_window, capt);
- XSetWMIconName(m_display, m_window, &tp);
- }
-
-
- //------------------------------------------------------------------------
- void platform_specific::put_image(const rendering_buffer* src)
- {
- if(m_ximg_window == 0) return;
- m_ximg_window->data = (char*)m_buf_window;
-
- if(m_format == m_sys_format)
- {
- XPutImage(m_display,
- m_window,
- m_gc,
- m_ximg_window,
- 0, 0, 0, 0,
- src->width(),
- src->height());
- }
- else
- {
- int row_len = src->width() * m_sys_bpp / 8;
- unsigned char* buf_tmp =
- new unsigned char[row_len * src->height()];
-
- rendering_buffer rbuf_tmp;
- rbuf_tmp.attach(buf_tmp,
- src->width(),
- src->height(),
- m_flip_y ? -row_len : row_len);
-
- switch(m_sys_format)
- {
- default: break;
- case pix_format_rgb555:
- switch(m_format)
- {
- default: break;
- case pix_format_rgb555: color_conv(&rbuf_tmp, src, color_conv_rgb555_to_rgb555()); break;
- case pix_format_rgb565: color_conv(&rbuf_tmp, src, color_conv_rgb565_to_rgb555()); break;
- case pix_format_rgb24: color_conv(&rbuf_tmp, src, color_conv_rgb24_to_rgb555()); break;
- case pix_format_bgr24: color_conv(&rbuf_tmp, src, color_conv_bgr24_to_rgb555()); break;
- case pix_format_rgba32: color_conv(&rbuf_tmp, src, color_conv_rgba32_to_rgb555()); break;
- case pix_format_argb32: color_conv(&rbuf_tmp, src, color_conv_argb32_to_rgb555()); break;
- case pix_format_bgra32: color_conv(&rbuf_tmp, src, color_conv_bgra32_to_rgb555()); break;
- case pix_format_abgr32: color_conv(&rbuf_tmp, src, color_conv_abgr32_to_rgb555()); break;
- }
- break;
-
- case pix_format_rgb565:
- switch(m_format)
- {
- default: break;
- case pix_format_rgb555: color_conv(&rbuf_tmp, src, color_conv_rgb555_to_rgb565()); break;
- case pix_format_rgb565: color_conv(&rbuf_tmp, src, color_conv_rgb565_to_rgb565()); break;
- case pix_format_rgb24: color_conv(&rbuf_tmp, src, color_conv_rgb24_to_rgb565()); break;
- case pix_format_bgr24: color_conv(&rbuf_tmp, src, color_conv_bgr24_to_rgb565()); break;
- case pix_format_rgba32: color_conv(&rbuf_tmp, src, color_conv_rgba32_to_rgb565()); break;
- case pix_format_argb32: color_conv(&rbuf_tmp, src, color_conv_argb32_to_rgb565()); break;
- case pix_format_bgra32: color_conv(&rbuf_tmp, src, color_conv_bgra32_to_rgb565()); break;
- case pix_format_abgr32: color_conv(&rbuf_tmp, src, color_conv_abgr32_to_rgb565()); break;
- }
- break;
-
- case pix_format_rgba32:
- switch(m_format)
- {
- default: break;
- case pix_format_sgray8: convert<pixfmt_srgba32, pixfmt_sgray8>(&rbuf_tmp, src); break;
- case pix_format_gray8: convert<pixfmt_srgba32, pixfmt_gray8>(&rbuf_tmp, src); break;
- case pix_format_gray16: convert<pixfmt_srgba32, pixfmt_gray16>(&rbuf_tmp, src); break;
- case pix_format_gray32: convert<pixfmt_srgba32, pixfmt_gray32>(&rbuf_tmp, src); break;
- case pix_format_rgb555: color_conv(&rbuf_tmp, src, color_conv_rgb555_to_rgba32()); break;
- case pix_format_rgb565: color_conv(&rbuf_tmp, src, color_conv_rgb565_to_rgba32()); break;
- case pix_format_srgb24: convert<pixfmt_srgba32, pixfmt_srgb24>(&rbuf_tmp, src); break;
- case pix_format_sbgr24: convert<pixfmt_srgba32, pixfmt_sbgr24>(&rbuf_tmp, src); break;
- case pix_format_rgb24: convert<pixfmt_srgba32, pixfmt_rgb24>(&rbuf_tmp, src); break;
- case pix_format_bgr24: convert<pixfmt_srgba32, pixfmt_bgr24>(&rbuf_tmp, src); break;
- case pix_format_srgba32: convert<pixfmt_srgba32, pixfmt_srgba32>(&rbuf_tmp, src); break;
- case pix_format_sargb32: convert<pixfmt_srgba32, pixfmt_sargb32>(&rbuf_tmp, src); break;
- case pix_format_sabgr32: convert<pixfmt_srgba32, pixfmt_sabgr32>(&rbuf_tmp, src); break;
- case pix_format_sbgra32: convert<pixfmt_srgba32, pixfmt_sbgra32>(&rbuf_tmp, src); break;
- case pix_format_rgba32: convert<pixfmt_srgba32, pixfmt_rgba32>(&rbuf_tmp, src); break;
- case pix_format_argb32: convert<pixfmt_srgba32, pixfmt_argb32>(&rbuf_tmp, src); break;
- case pix_format_abgr32: convert<pixfmt_srgba32, pixfmt_abgr32>(&rbuf_tmp, src); break;
- case pix_format_bgra32: convert<pixfmt_srgba32, pixfmt_bgra32>(&rbuf_tmp, src); break;
- case pix_format_rgb48: convert<pixfmt_srgba32, pixfmt_rgb48>(&rbuf_tmp, src); break;
- case pix_format_bgr48: convert<pixfmt_srgba32, pixfmt_bgr48>(&rbuf_tmp, src); break;
- case pix_format_rgba64: convert<pixfmt_srgba32, pixfmt_rgba64>(&rbuf_tmp, src); break;
- case pix_format_argb64: convert<pixfmt_srgba32, pixfmt_argb64>(&rbuf_tmp, src); break;
- case pix_format_abgr64: convert<pixfmt_srgba32, pixfmt_abgr64>(&rbuf_tmp, src); break;
- case pix_format_bgra64: convert<pixfmt_srgba32, pixfmt_bgra64>(&rbuf_tmp, src); break;
- case pix_format_rgb96: convert<pixfmt_srgba32, pixfmt_rgb96>(&rbuf_tmp, src); break;
- case pix_format_bgr96: convert<pixfmt_srgba32, pixfmt_bgr96>(&rbuf_tmp, src); break;
- case pix_format_rgba128: convert<pixfmt_srgba32, pixfmt_rgba128>(&rbuf_tmp, src); break;
- case pix_format_argb128: convert<pixfmt_srgba32, pixfmt_argb128>(&rbuf_tmp, src); break;
- case pix_format_abgr128: convert<pixfmt_srgba32, pixfmt_abgr128>(&rbuf_tmp, src); break;
- case pix_format_bgra128: convert<pixfmt_srgba32, pixfmt_bgra128>(&rbuf_tmp, src); break;
- }
- break;
-
- case pix_format_abgr32:
- switch(m_format)
- {
- default: break;
- case pix_format_sgray8: convert<pixfmt_sabgr32, pixfmt_sgray8>(&rbuf_tmp, src); break;
- case pix_format_gray8: convert<pixfmt_sabgr32, pixfmt_gray8>(&rbuf_tmp, src); break;
- case pix_format_gray16: convert<pixfmt_sabgr32, pixfmt_gray16>(&rbuf_tmp, src); break;
- case pix_format_gray32: convert<pixfmt_sabgr32, pixfmt_gray32>(&rbuf_tmp, src); break;
- case pix_format_rgb555: color_conv(&rbuf_tmp, src, color_conv_rgb555_to_abgr32()); break;
- case pix_format_rgb565: color_conv(&rbuf_tmp, src, color_conv_rgb565_to_abgr32()); break;
- case pix_format_srgb24: convert<pixfmt_sabgr32, pixfmt_srgb24>(&rbuf_tmp, src); break;
- case pix_format_sbgr24: convert<pixfmt_sabgr32, pixfmt_sbgr24>(&rbuf_tmp, src); break;
- case pix_format_rgb24: convert<pixfmt_sabgr32, pixfmt_rgb24>(&rbuf_tmp, src); break;
- case pix_format_bgr24: convert<pixfmt_sabgr32, pixfmt_bgr24>(&rbuf_tmp, src); break;
- case pix_format_srgba32: convert<pixfmt_sabgr32, pixfmt_srgba32>(&rbuf_tmp, src); break;
- case pix_format_sargb32: convert<pixfmt_sabgr32, pixfmt_sargb32>(&rbuf_tmp, src); break;
- case pix_format_sabgr32: convert<pixfmt_sabgr32, pixfmt_sabgr32>(&rbuf_tmp, src); break;
- case pix_format_sbgra32: convert<pixfmt_sabgr32, pixfmt_sbgra32>(&rbuf_tmp, src); break;
- case pix_format_rgba32: convert<pixfmt_sabgr32, pixfmt_rgba32>(&rbuf_tmp, src); break;
- case pix_format_argb32: convert<pixfmt_sabgr32, pixfmt_argb32>(&rbuf_tmp, src); break;
- case pix_format_abgr32: convert<pixfmt_sabgr32, pixfmt_abgr32>(&rbuf_tmp, src); break;
- case pix_format_bgra32: convert<pixfmt_sabgr32, pixfmt_bgra32>(&rbuf_tmp, src); break;
- case pix_format_rgb48: convert<pixfmt_sabgr32, pixfmt_rgb48>(&rbuf_tmp, src); break;
- case pix_format_bgr48: convert<pixfmt_sabgr32, pixfmt_bgr48>(&rbuf_tmp, src); break;
- case pix_format_rgba64: convert<pixfmt_sabgr32, pixfmt_rgba64>(&rbuf_tmp, src); break;
- case pix_format_argb64: convert<pixfmt_sabgr32, pixfmt_argb64>(&rbuf_tmp, src); break;
- case pix_format_abgr64: convert<pixfmt_sabgr32, pixfmt_abgr64>(&rbuf_tmp, src); break;
- case pix_format_bgra64: convert<pixfmt_sabgr32, pixfmt_bgra64>(&rbuf_tmp, src); break;
- case pix_format_rgb96: convert<pixfmt_sabgr32, pixfmt_rgb96>(&rbuf_tmp, src); break;
- case pix_format_bgr96: convert<pixfmt_sabgr32, pixfmt_bgr96>(&rbuf_tmp, src); break;
- case pix_format_rgba128: convert<pixfmt_sabgr32, pixfmt_rgba128>(&rbuf_tmp, src); break;
- case pix_format_argb128: convert<pixfmt_sabgr32, pixfmt_argb128>(&rbuf_tmp, src); break;
- case pix_format_abgr128: convert<pixfmt_sabgr32, pixfmt_abgr128>(&rbuf_tmp, src); break;
- case pix_format_bgra128: convert<pixfmt_sabgr32, pixfmt_bgra128>(&rbuf_tmp, src); break;
- }
- break;
-
- case pix_format_argb32:
- switch(m_format)
- {
- default: break;
- case pix_format_sgray8: convert<pixfmt_sargb32, pixfmt_sgray8>(&rbuf_tmp, src); break;
- case pix_format_gray8: convert<pixfmt_sargb32, pixfmt_gray8>(&rbuf_tmp, src); break;
- case pix_format_gray16: convert<pixfmt_sargb32, pixfmt_gray16>(&rbuf_tmp, src); break;
- case pix_format_gray32: convert<pixfmt_sargb32, pixfmt_gray32>(&rbuf_tmp, src); break;
- case pix_format_rgb555: color_conv(&rbuf_tmp, src, color_conv_rgb555_to_argb32()); break;
- case pix_format_rgb565: color_conv(&rbuf_tmp, src, color_conv_rgb565_to_argb32()); break;
- case pix_format_srgb24: convert<pixfmt_sargb32, pixfmt_srgb24>(&rbuf_tmp, src); break;
- case pix_format_sbgr24: convert<pixfmt_sargb32, pixfmt_sbgr24>(&rbuf_tmp, src); break;
- case pix_format_rgb24: convert<pixfmt_sargb32, pixfmt_rgb24>(&rbuf_tmp, src); break;
- case pix_format_bgr24: convert<pixfmt_sargb32, pixfmt_bgr24>(&rbuf_tmp, src); break;
- case pix_format_srgba32: convert<pixfmt_sargb32, pixfmt_srgba32>(&rbuf_tmp, src); break;
- case pix_format_sargb32: convert<pixfmt_sargb32, pixfmt_sargb32>(&rbuf_tmp, src); break;
- case pix_format_sabgr32: convert<pixfmt_sargb32, pixfmt_sabgr32>(&rbuf_tmp, src); break;
- case pix_format_sbgra32: convert<pixfmt_sargb32, pixfmt_sbgra32>(&rbuf_tmp, src); break;
- case pix_format_rgba32: convert<pixfmt_sargb32, pixfmt_rgba32>(&rbuf_tmp, src); break;
- case pix_format_argb32: convert<pixfmt_sargb32, pixfmt_argb32>(&rbuf_tmp, src); break;
- case pix_format_abgr32: convert<pixfmt_sargb32, pixfmt_abgr32>(&rbuf_tmp, src); break;
- case pix_format_bgra32: convert<pixfmt_sargb32, pixfmt_bgra32>(&rbuf_tmp, src); break;
- case pix_format_rgb48: convert<pixfmt_sargb32, pixfmt_rgb48>(&rbuf_tmp, src); break;
- case pix_format_bgr48: convert<pixfmt_sargb32, pixfmt_bgr48>(&rbuf_tmp, src); break;
- case pix_format_rgba64: convert<pixfmt_sargb32, pixfmt_rgba64>(&rbuf_tmp, src); break;
- case pix_format_argb64: convert<pixfmt_sargb32, pixfmt_argb64>(&rbuf_tmp, src); break;
- case pix_format_abgr64: convert<pixfmt_sargb32, pixfmt_abgr64>(&rbuf_tmp, src); break;
- case pix_format_bgra64: convert<pixfmt_sargb32, pixfmt_bgra64>(&rbuf_tmp, src); break;
- case pix_format_rgb96: convert<pixfmt_sargb32, pixfmt_rgb96>(&rbuf_tmp, src); break;
- case pix_format_bgr96: convert<pixfmt_sargb32, pixfmt_bgr96>(&rbuf_tmp, src); break;
- case pix_format_rgba128: convert<pixfmt_sargb32, pixfmt_rgba128>(&rbuf_tmp, src); break;
- case pix_format_argb128: convert<pixfmt_sargb32, pixfmt_argb128>(&rbuf_tmp, src); break;
- case pix_format_abgr128: convert<pixfmt_sargb32, pixfmt_abgr128>(&rbuf_tmp, src); break;
- case pix_format_bgra128: convert<pixfmt_sargb32, pixfmt_bgra128>(&rbuf_tmp, src); break;
- }
- break;
-
- case pix_format_bgra32:
- switch(m_format)
- {
- default: break;
- case pix_format_sgray8: convert<pixfmt_sbgra32, pixfmt_sgray8>(&rbuf_tmp, src); break;
- case pix_format_gray8: convert<pixfmt_sbgra32, pixfmt_gray8>(&rbuf_tmp, src); break;
- case pix_format_gray16: convert<pixfmt_sbgra32, pixfmt_gray16>(&rbuf_tmp, src); break;
- case pix_format_gray32: convert<pixfmt_sbgra32, pixfmt_gray32>(&rbuf_tmp, src); break;
- case pix_format_rgb555: color_conv(&rbuf_tmp, src, color_conv_rgb555_to_bgra32()); break;
- case pix_format_rgb565: color_conv(&rbuf_tmp, src, color_conv_rgb565_to_bgra32()); break;
- case pix_format_srgb24: convert<pixfmt_sbgra32, pixfmt_srgb24>(&rbuf_tmp, src); break;
- case pix_format_sbgr24: convert<pixfmt_sbgra32, pixfmt_sbgr24>(&rbuf_tmp, src); break;
- case pix_format_rgb24: convert<pixfmt_sbgra32, pixfmt_rgb24>(&rbuf_tmp, src); break;
- case pix_format_bgr24: convert<pixfmt_sbgra32, pixfmt_bgr24>(&rbuf_tmp, src); break;
- case pix_format_srgba32: convert<pixfmt_sbgra32, pixfmt_srgba32>(&rbuf_tmp, src); break;
- case pix_format_sargb32: convert<pixfmt_sbgra32, pixfmt_sargb32>(&rbuf_tmp, src); break;
- case pix_format_sabgr32: convert<pixfmt_sbgra32, pixfmt_sabgr32>(&rbuf_tmp, src); break;
- case pix_format_sbgra32: convert<pixfmt_sbgra32, pixfmt_sbgra32>(&rbuf_tmp, src); break;
- case pix_format_rgba32: convert<pixfmt_sbgra32, pixfmt_rgba32>(&rbuf_tmp, src); break;
- case pix_format_argb32: convert<pixfmt_sbgra32, pixfmt_argb32>(&rbuf_tmp, src); break;
- case pix_format_abgr32: convert<pixfmt_sbgra32, pixfmt_abgr32>(&rbuf_tmp, src); break;
- case pix_format_bgra32: convert<pixfmt_sbgra32, pixfmt_bgra32>(&rbuf_tmp, src); break;
- case pix_format_rgb48: convert<pixfmt_sbgra32, pixfmt_rgb48>(&rbuf_tmp, src); break;
- case pix_format_bgr48: convert<pixfmt_sbgra32, pixfmt_bgr48>(&rbuf_tmp, src); break;
- case pix_format_rgba64: convert<pixfmt_sbgra32, pixfmt_rgba64>(&rbuf_tmp, src); break;
- case pix_format_argb64: convert<pixfmt_sbgra32, pixfmt_argb64>(&rbuf_tmp, src); break;
- case pix_format_abgr64: convert<pixfmt_sbgra32, pixfmt_abgr64>(&rbuf_tmp, src); break;
- case pix_format_bgra64: convert<pixfmt_sbgra32, pixfmt_bgra64>(&rbuf_tmp, src); break;
- case pix_format_rgb96: convert<pixfmt_sbgra32, pixfmt_rgb96>(&rbuf_tmp, src); break;
- case pix_format_bgr96: convert<pixfmt_sbgra32, pixfmt_bgr96>(&rbuf_tmp, src); break;
- case pix_format_rgba128: convert<pixfmt_sbgra32, pixfmt_rgba128>(&rbuf_tmp, src); break;
- case pix_format_argb128: convert<pixfmt_sbgra32, pixfmt_argb128>(&rbuf_tmp, src); break;
- case pix_format_abgr128: convert<pixfmt_sbgra32, pixfmt_abgr128>(&rbuf_tmp, src); break;
- case pix_format_bgra128: convert<pixfmt_sbgra32, pixfmt_bgra128>(&rbuf_tmp, src); break;
- }
- break;
- }
-
- m_ximg_window->data = (char*)buf_tmp;
- XPutImage(m_display,
- m_window,
- m_gc,
- m_ximg_window,
- 0, 0, 0, 0,
- src->width(),
- src->height());
-
- delete [] buf_tmp;
- }
- }
-
-
- //------------------------------------------------------------------------
- platform_support::platform_support(pix_format_e format, bool flip_y) :
- m_specific(new platform_specific(format, flip_y)),
- m_format(format),
- m_bpp(m_specific->m_bpp),
- m_window_flags(0),
- m_wait_mode(true),
- m_flip_y(flip_y),
- m_initial_width(10),
- m_initial_height(10)
- {
- strcpy(m_caption, "AGG Application");
- }
-
- //------------------------------------------------------------------------
- platform_support::~platform_support()
- {
- delete m_specific;
- }
-
-
-
- //------------------------------------------------------------------------
- void platform_support::caption(const char* cap)
- {
- strcpy(m_caption, cap);
- if(m_specific->m_initialized)
- {
- m_specific->caption(cap);
- }
- }
-
-
- //------------------------------------------------------------------------
- enum xevent_mask_e
- {
- xevent_mask =
- PointerMotionMask|
- ButtonPressMask|
- ButtonReleaseMask|
- ExposureMask|
- KeyPressMask|
- StructureNotifyMask
- };
-
-
- //------------------------------------------------------------------------
- bool platform_support::init(unsigned width, unsigned height, unsigned flags)
- {
- m_window_flags = flags;
-
- m_specific->m_display = XOpenDisplay(NULL);
- if(m_specific->m_display == 0)
- {
- fprintf(stderr, "Unable to open DISPLAY!\n");
- return false;
- }
-
- m_specific->m_screen = XDefaultScreen(m_specific->m_display);
- m_specific->m_depth = XDefaultDepth(m_specific->m_display,
- m_specific->m_screen);
- m_specific->m_visual = XDefaultVisual(m_specific->m_display,
- m_specific->m_screen);
- unsigned long r_mask = m_specific->m_visual->red_mask;
- unsigned long g_mask = m_specific->m_visual->green_mask;
- unsigned long b_mask = m_specific->m_visual->blue_mask;
-
-//printf("depth=%d, red=%08x, green=%08x, blue=%08x\n",
-// m_specific->m_depth,
-// m_specific->m_visual->red_mask,
-// m_specific->m_visual->green_mask,
-// m_specific->m_visual->blue_mask);
-
-
-// // NOT COMPLETED YET!
-// // Try to find an appropriate Visual if the default doesn't fit.
-// if(m_specific->m_depth < 15 ||
-// r_mask == 0 || g_mask == 0 || b_mask == 0)
-// {
-//
-// // This is an attempt to find an appropriate Visual if
-// // the default one doesn't match the minumum requirements
-// static int depth[] = { 32, 24, 16, 15 };
-// int i;
-// for(int i = 0; i < 4; i++)
-// {
-// XVisualInfo vi;
-// if(XMatchVisualInfo(m_specific->m_display,
-// m_specific->m_screen,
-// depth[i],
-// TrueColor,
-// &vi))
-// {
-// // printf("TrueColor depth=%d, red=%08x, green=%08x, blue=%08x, bits=%d\n",
-// // vi.depth,
-// // vi.visual->red_mask,
-// // vi.visual->green_mask,
-// // vi.visual->blue_mask,
-// // vi.bits_per_rgb);
-// m_specific->m_depth = vi.depth;
-// m_specific->m_visual = vi.visual;
-// r_mask = m_specific->m_visual->red_mask;
-// g_mask = m_specific->m_visual->green_mask;
-// b_mask = m_specific->m_visual->blue_mask;
-// break;
-// }
-// if(XMatchVisualInfo(m_specific->m_display,
-// m_specific->m_screen,
-// depth[i],
-// DirectColor,
-// &vi))
-// {
-// // printf("DirectColor depth=%d, red=%08x, green=%08x, blue=%08x, bits=%d\n",
-// // vi.depth,
-// // vi.visual->red_mask,
-// // vi.visual->green_mask,
-// // vi.visual->blue_mask,
-// // vi.bits_per_rgb);
-// m_specific->m_depth = vi.depth;
-// m_specific->m_visual = vi.visual;
-// r_mask = m_specific->m_visual->red_mask;
-// g_mask = m_specific->m_visual->green_mask;
-// b_mask = m_specific->m_visual->blue_mask;
-// break;
-// }
-// }
-// }
-
- if(m_specific->m_depth < 15 ||
- r_mask == 0 || g_mask == 0 || b_mask == 0)
- {
- fprintf(stderr,
- "There's no Visual compatible with minimal AGG requirements:\n"
- "At least 15-bit color depth and True- or DirectColor class.\n\n");
- XCloseDisplay(m_specific->m_display);
- return false;
- }
-
- int t = 1;
- int hw_byte_order = LSBFirst;
- if(*(char*)&t == 0) hw_byte_order = MSBFirst;
-
- // Perceive SYS-format by mask
- switch(m_specific->m_depth)
- {
- case 15:
- m_specific->m_sys_bpp = 16;
- if(r_mask == 0x7C00 && g_mask == 0x3E0 && b_mask == 0x1F)
- {
- m_specific->m_sys_format = pix_format_rgb555;
- m_specific->m_byte_order = hw_byte_order;
- }
- break;
-
- case 16:
- m_specific->m_sys_bpp = 16;
- if(r_mask == 0xF800 && g_mask == 0x7E0 && b_mask == 0x1F)
- {
- m_specific->m_sys_format = pix_format_rgb565;
- m_specific->m_byte_order = hw_byte_order;
- }
- break;
-
- case 24:
- case 32:
- m_specific->m_sys_bpp = 32;
- if(g_mask == 0xFF00)
- {
- if(r_mask == 0xFF && b_mask == 0xFF0000)
- {
- switch(m_specific->m_format)
- {
- case pix_format_rgba32:
- m_specific->m_sys_format = pix_format_rgba32;
- m_specific->m_byte_order = LSBFirst;
- break;
-
- case pix_format_abgr32:
- m_specific->m_sys_format = pix_format_abgr32;
- m_specific->m_byte_order = MSBFirst;
- break;
-
- default:
- m_specific->m_byte_order = hw_byte_order;
- m_specific->m_sys_format =
- (hw_byte_order == LSBFirst) ?
- pix_format_rgba32 :
- pix_format_abgr32;
- break;
- }
- }
-
- if(r_mask == 0xFF0000 && b_mask == 0xFF)
- {
- switch(m_specific->m_format)
- {
- case pix_format_argb32:
- m_specific->m_sys_format = pix_format_argb32;
- m_specific->m_byte_order = MSBFirst;
- break;
-
- case pix_format_bgra32:
- m_specific->m_sys_format = pix_format_bgra32;
- m_specific->m_byte_order = LSBFirst;
- break;
-
- default:
- m_specific->m_byte_order = hw_byte_order;
- m_specific->m_sys_format =
- (hw_byte_order == MSBFirst) ?
- pix_format_argb32 :
- pix_format_bgra32;
- break;
- }
- }
- }
- break;
- }
-
- if(m_specific->m_sys_format == pix_format_undefined)
- {
- fprintf(stderr,
- "RGB masks are not compatible with AGG pixel formats:\n"
- "R=%08x, R=%08x, B=%08x\n", r_mask, g_mask, b_mask);
- XCloseDisplay(m_specific->m_display);
- return false;
- }
-
-
-
- memset(&m_specific->m_window_attributes,
- 0,
- sizeof(m_specific->m_window_attributes));
-
- m_specific->m_window_attributes.border_pixel =
- XBlackPixel(m_specific->m_display, m_specific->m_screen);
-
- m_specific->m_window_attributes.background_pixel =
- XWhitePixel(m_specific->m_display, m_specific->m_screen);
-
- m_specific->m_window_attributes.override_redirect = 0;
-
- unsigned long window_mask = CWBackPixel | CWBorderPixel;
-
- m_specific->m_window =
- XCreateWindow(m_specific->m_display,
- XDefaultRootWindow(m_specific->m_display),
- 0, 0,
- width,
- height,
- 0,
- m_specific->m_depth,
- InputOutput,
- CopyFromParent,
- window_mask,
- &m_specific->m_window_attributes);
-
-
- m_specific->m_gc = XCreateGC(m_specific->m_display,
- m_specific->m_window,
- 0, 0);
- m_specific->m_buf_window =
- new unsigned char[width * height * (m_bpp / 8)];
-
- memset(m_specific->m_buf_window, 255, width * height * (m_bpp / 8));
-
- m_rbuf_window.attach(m_specific->m_buf_window,
- width,
- height,
- m_flip_y ? -width * (m_bpp / 8) : width * (m_bpp / 8));
-
- m_specific->m_ximg_window =
- XCreateImage(m_specific->m_display,
- m_specific->m_visual, //CopyFromParent,
- m_specific->m_depth,
- ZPixmap,
- 0,
- (char*)m_specific->m_buf_window,
- width,
- height,
- m_specific->m_sys_bpp,
- width * (m_specific->m_sys_bpp / 8));
- m_specific->m_ximg_window->byte_order = m_specific->m_byte_order;
-
- m_specific->caption(m_caption);
- m_initial_width = width;
- m_initial_height = height;
-
- if(!m_specific->m_initialized)
- {
- on_init();
- m_specific->m_initialized = true;
- }
-
- trans_affine_resizing(width, height);
- on_resize(width, height);
- m_specific->m_update_flag = true;
-
- XSizeHints *hints = XAllocSizeHints();
- if(hints)
- {
- if(flags & window_resize)
- {
- hints->min_width = 32;
- hints->min_height = 32;
- hints->max_width = 4096;
- hints->max_height = 4096;
- }
- else
- {
- hints->min_width = width;
- hints->min_height = height;
- hints->max_width = width;
- hints->max_height = height;
- }
- hints->flags = PMaxSize | PMinSize;
-
- XSetWMNormalHints(m_specific->m_display,
- m_specific->m_window,
- hints);
-
- XFree(hints);
- }
-
-
- XMapWindow(m_specific->m_display,
- m_specific->m_window);
-
- XSelectInput(m_specific->m_display,
- m_specific->m_window,
- xevent_mask);
-
-
- m_specific->m_close_atom = XInternAtom(m_specific->m_display,
- "WM_DELETE_WINDOW",
- false);
-
- XSetWMProtocols(m_specific->m_display,
- m_specific->m_window,
- &m_specific->m_close_atom,
- 1);
-
- return true;
- }
-
-
-
- //------------------------------------------------------------------------
- void platform_support::update_window()
- {
- m_specific->put_image(&m_rbuf_window);
-
- // When m_wait_mode is true we can discard all the events
- // came while the image is being drawn. In this case
- // the X server does not accumulate mouse motion events.
- // When m_wait_mode is false, i.e. we have some idle drawing
- // we cannot afford to miss any events
- XSync(m_specific->m_display, m_wait_mode);
- }
-
-
- //------------------------------------------------------------------------
- int platform_support::run()
- {
- XFlush(m_specific->m_display);
-
- bool quit = false;
- unsigned flags;
- int cur_x;
- int cur_y;
-
- while(!quit)
- {
- if(m_specific->m_update_flag)
- {
- on_draw();
- update_window();
- m_specific->m_update_flag = false;
- }
-
- if(!m_wait_mode)
- {
- if(XPending(m_specific->m_display) == 0)
- {
- on_idle();
- continue;
- }
- }
-
- XEvent x_event;
- XNextEvent(m_specific->m_display, &x_event);
-
- // In the Idle mode discard all intermediate MotionNotify events
- if(!m_wait_mode && x_event.type == MotionNotify)
- {
- XEvent te = x_event;
- for(;;)
- {
- if(XPending(m_specific->m_display) == 0) break;
- XNextEvent(m_specific->m_display, &te);
- if(te.type != MotionNotify) break;
- }
- x_event = te;
- }
-
- switch(x_event.type)
- {
- case ConfigureNotify:
- {
- if(x_event.xconfigure.width != int(m_rbuf_window.width()) ||
- x_event.xconfigure.height != int(m_rbuf_window.height()))
- {
- int width = x_event.xconfigure.width;
- int height = x_event.xconfigure.height;
-
- delete [] m_specific->m_buf_window;
- m_specific->m_ximg_window->data = 0;
- XDestroyImage(m_specific->m_ximg_window);
-
- m_specific->m_buf_window =
- new unsigned char[width * height * (m_bpp / 8)];
-
- m_rbuf_window.attach(m_specific->m_buf_window,
- width,
- height,
- m_flip_y ?
- -width * (m_bpp / 8) :
- width * (m_bpp / 8));
-
- m_specific->m_ximg_window =
- XCreateImage(m_specific->m_display,
- m_specific->m_visual, //CopyFromParent,
- m_specific->m_depth,
- ZPixmap,
- 0,
- (char*)m_specific->m_buf_window,
- width,
- height,
- m_specific->m_sys_bpp,
- width * (m_specific->m_sys_bpp / 8));
- m_specific->m_ximg_window->byte_order = m_specific->m_byte_order;
-
- trans_affine_resizing(width, height);
- on_resize(width, height);
- on_draw();
- update_window();
- }
- }
- break;
-
- case Expose:
- m_specific->put_image(&m_rbuf_window);
- XFlush(m_specific->m_display);
- XSync(m_specific->m_display, false);
- break;
-
- case KeyPress:
- {
- KeySym key = XLookupKeysym(&x_event.xkey, 0);
- flags = 0;
- if(x_event.xkey.state & Button1Mask) flags |= mouse_left;
- if(x_event.xkey.state & Button3Mask) flags |= mouse_right;
- if(x_event.xkey.state & ShiftMask) flags |= kbd_shift;
- if(x_event.xkey.state & ControlMask) flags |= kbd_ctrl;
-
- bool left = false;
- bool up = false;
- bool right = false;
- bool down = false;
-
- switch(m_specific->m_keymap[key & 0xFF])
- {
- case key_left:
- left = true;
- break;
-
- case key_up:
- up = true;
- break;
-
- case key_right:
- right = true;
- break;
-
- case key_down:
- down = true;
- break;
-
- case key_f2:
- copy_window_to_img(max_images - 1);
- save_img(max_images - 1, "screenshot");
- break;
- }
-
- if(m_ctrls.on_arrow_keys(left, right, down, up))
- {
- on_ctrl_change();
- force_redraw();
- }
- else
- {
- on_key(x_event.xkey.x,
- m_flip_y ?
- m_rbuf_window.height() - x_event.xkey.y :
- x_event.xkey.y,
- m_specific->m_keymap[key & 0xFF],
- flags);
- }
- }
- break;
-
-
- case ButtonPress:
- {
- flags = 0;
- if(x_event.xbutton.state & ShiftMask) flags |= kbd_shift;
- if(x_event.xbutton.state & ControlMask) flags |= kbd_ctrl;
- if(x_event.xbutton.button == Button1) flags |= mouse_left;
- if(x_event.xbutton.button == Button3) flags |= mouse_right;
-
- cur_x = x_event.xbutton.x;
- cur_y = m_flip_y ? m_rbuf_window.height() - x_event.xbutton.y :
- x_event.xbutton.y;
-
- if(flags & mouse_left)
- {
- if(m_ctrls.on_mouse_button_down(cur_x, cur_y))
- {
- m_ctrls.set_cur(cur_x, cur_y);
- on_ctrl_change();
- force_redraw();
- }
- else
- {
- if(m_ctrls.in_rect(cur_x, cur_y))
- {
- if(m_ctrls.set_cur(cur_x, cur_y))
- {
- on_ctrl_change();
- force_redraw();
- }
- }
- else
- {
- on_mouse_button_down(cur_x, cur_y, flags);
- }
- }
- }
- if(flags & mouse_right)
- {
- on_mouse_button_down(cur_x, cur_y, flags);
- }
- //m_specific->m_wait_mode = m_wait_mode;
- //m_wait_mode = true;
- }
- break;
-
-
- case MotionNotify:
- {
- flags = 0;
- if(x_event.xmotion.state & Button1Mask) flags |= mouse_left;
- if(x_event.xmotion.state & Button3Mask) flags |= mouse_right;
- if(x_event.xmotion.state & ShiftMask) flags |= kbd_shift;
- if(x_event.xmotion.state & ControlMask) flags |= kbd_ctrl;
-
- cur_x = x_event.xbutton.x;
- cur_y = m_flip_y ? m_rbuf_window.height() - x_event.xbutton.y :
- x_event.xbutton.y;
-
- if(m_ctrls.on_mouse_move(cur_x, cur_y, (flags & mouse_left) != 0))
- {
- on_ctrl_change();
- force_redraw();
- }
- else
- {
- if(!m_ctrls.in_rect(cur_x, cur_y))
- {
- on_mouse_move(cur_x, cur_y, flags);
- }
- }
- }
- break;
-
- case ButtonRelease:
- {
- flags = 0;
- if(x_event.xbutton.state & ShiftMask) flags |= kbd_shift;
- if(x_event.xbutton.state & ControlMask) flags |= kbd_ctrl;
- if(x_event.xbutton.button == Button1) flags |= mouse_left;
- if(x_event.xbutton.button == Button3) flags |= mouse_right;
-
- cur_x = x_event.xbutton.x;
- cur_y = m_flip_y ? m_rbuf_window.height() - x_event.xbutton.y :
- x_event.xbutton.y;
-
- if(flags & mouse_left)
- {
- if(m_ctrls.on_mouse_button_up(cur_x, cur_y))
- {
- on_ctrl_change();
- force_redraw();
- }
- }
- if(flags & (mouse_left | mouse_right))
- {
- on_mouse_button_up(cur_x, cur_y, flags);
- }
- }
- //m_wait_mode = m_specific->m_wait_mode;
- break;
-
- case ClientMessage:
- if((x_event.xclient.format == 32) &&
- (x_event.xclient.data.l[0] == int(m_specific->m_close_atom)))
- {
- quit = true;
- }
- break;
- }
- }
-
-
- unsigned i = platform_support::max_images;
- while(i--)
- {
- if(m_specific->m_buf_img[i])
- {
- delete [] m_specific->m_buf_img[i];
- }
- }
-
- delete [] m_specific->m_buf_window;
- m_specific->m_ximg_window->data = 0;
- XDestroyImage(m_specific->m_ximg_window);
- XFreeGC(m_specific->m_display, m_specific->m_gc);
- XDestroyWindow(m_specific->m_display, m_specific->m_window);
- XCloseDisplay(m_specific->m_display);
-
- return 0;
- }
-
-
-
- //------------------------------------------------------------------------
- const char* platform_support::img_ext() const { return ".ppm"; }
-
- //------------------------------------------------------------------------
- const char* platform_support::full_file_name(const char* file_name)
- {
- return file_name;
- }
-
- //------------------------------------------------------------------------
- bool platform_support::load_img(unsigned idx, const char* file)
- {
- if(idx < max_images)
- {
- char buf[1024];
- strcpy(buf, file);
- int len = strlen(buf);
- if(len < 4 || strcasecmp(buf + len - 4, ".ppm") != 0)
- {
- strcat(buf, ".ppm");
- }
-
- FILE* fd = fopen(buf, "rb");
- if(fd == 0) return false;
-
- if((len = fread(buf, 1, 1022, fd)) == 0)
- {
- fclose(fd);
- return false;
- }
- buf[len] = 0;
-
- if(buf[0] != 'P' && buf[1] != '6')
- {
- fclose(fd);
- return false;
- }
-
- char* ptr = buf + 2;
-
- while(*ptr && !isdigit(*ptr)) ptr++;
- if(*ptr == 0)
- {
- fclose(fd);
- return false;
- }
-
- unsigned width = atoi(ptr);
- if(width == 0 || width > 4096)
- {
- fclose(fd);
- return false;
- }
- while(*ptr && isdigit(*ptr)) ptr++;
- while(*ptr && !isdigit(*ptr)) ptr++;
- if(*ptr == 0)
- {
- fclose(fd);
- return false;
- }
- unsigned height = atoi(ptr);
- if(height == 0 || height > 4096)
- {
- fclose(fd);
- return false;
- }
- while(*ptr && isdigit(*ptr)) ptr++;
- while(*ptr && !isdigit(*ptr)) ptr++;
- if(atoi(ptr) != 255)
- {
- fclose(fd);
- return false;
- }
- while(*ptr && isdigit(*ptr)) ptr++;
- if(*ptr == 0)
- {
- fclose(fd);
- return false;
- }
- ptr++;
- fseek(fd, long(ptr - buf), SEEK_SET);
-
- create_img(idx, width, height);
- bool ret = true;
-
- if(m_format == pix_format_rgb24)
- {
- fread(m_specific->m_buf_img[idx], 1, width * height * 3, fd);
- }
- else
- {
- unsigned char* buf_img = new unsigned char [width * height * 3];
- rendering_buffer rbuf_img;
- rbuf_img.attach(buf_img,
- width,
- height,
- m_flip_y ?
- -width * 3 :
- width * 3);
-
- fread(buf_img, 1, width * height * 3, fd);
-
- switch(m_format)
- {
- case pix_format_sgray8:
- convert<pixfmt_sgray8, pixfmt_srgb24>(m_rbuf_img+idx, &rbuf_img);
- break;
-
- case pix_format_gray8:
- convert<pixfmt_gray8, pixfmt_srgb24>(m_rbuf_img+idx, &rbuf_img);
- break;
-
- case pix_format_gray16:
- convert<pixfmt_gray16, pixfmt_srgb24>(m_rbuf_img+idx, &rbuf_img);
- break;
-
- case pix_format_gray32:
- convert<pixfmt_gray32, pixfmt_srgb24>(m_rbuf_img+idx, &rbuf_img);
- break;
-
- case pix_format_rgb555:
- color_conv(m_rbuf_img+idx, &rbuf_img, color_conv_rgb24_to_rgb555());
- break;
-
- case pix_format_rgb565:
- color_conv(m_rbuf_img+idx, &rbuf_img, color_conv_rgb24_to_rgb565());
- break;
-
- case pix_format_sbgr24:
- convert<pixfmt_sbgr24, pixfmt_srgb24>(m_rbuf_img+idx, &rbuf_img);
- break;
-
- case pix_format_rgb24:
- convert<pixfmt_rgb24, pixfmt_srgb24>(m_rbuf_img+idx, &rbuf_img);
- break;
-
- case pix_format_bgr24:
- convert<pixfmt_bgr24, pixfmt_srgb24>(m_rbuf_img+idx, &rbuf_img);
- break;
-
- case pix_format_srgba32:
- convert<pixfmt_srgba32, pixfmt_srgb24>(m_rbuf_img+idx, &rbuf_img);
- break;
-
- case pix_format_sargb32:
- convert<pixfmt_sargb32, pixfmt_srgb24>(m_rbuf_img+idx, &rbuf_img);
- break;
-
- case pix_format_sbgra32:
- convert<pixfmt_sbgra32, pixfmt_srgb24>(m_rbuf_img+idx, &rbuf_img);
- break;
-
- case pix_format_sabgr32:
- convert<pixfmt_sabgr32, pixfmt_srgb24>(m_rbuf_img+idx, &rbuf_img);
- break;
-
- case pix_format_rgba32:
- convert<pixfmt_rgba32, pixfmt_srgb24>(m_rbuf_img+idx, &rbuf_img);
- break;
-
- case pix_format_argb32:
- convert<pixfmt_argb32, pixfmt_srgb24>(m_rbuf_img+idx, &rbuf_img);
- break;
-
- case pix_format_bgra32:
- convert<pixfmt_bgra32, pixfmt_srgb24>(m_rbuf_img+idx, &rbuf_img);
- break;
-
- case pix_format_abgr32:
- convert<pixfmt_abgr32, pixfmt_srgb24>(m_rbuf_img+idx, &rbuf_img);
- break;
-
- case pix_format_rgb48:
- convert<pixfmt_rgb48, pixfmt_srgb24>(m_rbuf_img+idx, &rbuf_img);
- break;
-
- case pix_format_bgr48:
- convert<pixfmt_bgr48, pixfmt_srgb24>(m_rbuf_img+idx, &rbuf_img);
- break;
-
- case pix_format_rgba64:
- convert<pixfmt_rgba64, pixfmt_srgb24>(m_rbuf_img+idx, &rbuf_img);
- break;
-
- case pix_format_argb64:
- convert<pixfmt_argb64, pixfmt_srgb24>(m_rbuf_img+idx, &rbuf_img);
- break;
-
- case pix_format_bgra64:
- convert<pixfmt_bgra64, pixfmt_srgb24>(m_rbuf_img+idx, &rbuf_img);
- break;
-
- case pix_format_abgr64:
- convert<pixfmt_abgr64, pixfmt_srgb24>(m_rbuf_img+idx, &rbuf_img);
- break;
-
- case pix_format_rgb96:
- convert<pixfmt_rgb96, pixfmt_srgb24>(m_rbuf_img+idx, &rbuf_img);
- break;
-
- case pix_format_bgr96:
- convert<pixfmt_bgr96, pixfmt_srgb24>(m_rbuf_img+idx, &rbuf_img);
- break;
-
- case pix_format_rgba128:
- convert<pixfmt_rgba128, pixfmt_srgb24>(m_rbuf_img+idx, &rbuf_img);
- break;
-
- case pix_format_argb128:
- convert<pixfmt_argb128, pixfmt_srgb24>(m_rbuf_img+idx, &rbuf_img);
- break;
-
- case pix_format_bgra128:
- convert<pixfmt_bgra128, pixfmt_srgb24>(m_rbuf_img+idx, &rbuf_img);
- break;
-
- case pix_format_abgr128:
- convert<pixfmt_abgr128, pixfmt_srgb24>(m_rbuf_img+idx, &rbuf_img);
- break;
-
- default:
- ret = false;
- }
- delete [] buf_img;
- }
-
- fclose(fd);
- return ret;
- }
- return false;
- }
-
-
-
-
- //------------------------------------------------------------------------
- bool platform_support::save_img(unsigned idx, const char* file)
- {
- if(idx < max_images && rbuf_img(idx).buf())
- {
- char buf[1024];
- strcpy(buf, file);
- int len = strlen(buf);
- if(len < 4 || strcasecmp(buf + len - 4, ".ppm") != 0)
- {
- strcat(buf, ".ppm");
- }
-
- FILE* fd = fopen(buf, "wb");
- if(fd == 0) return false;
-
- unsigned w = rbuf_img(idx).width();
- unsigned h = rbuf_img(idx).height();
-
- fprintf(fd, "P6\n%d %d\n255\n", w, h);
-
- unsigned y;
- unsigned char* tmp_buf = new unsigned char [w * 3];
- for(y = 0; y < rbuf_img(idx).height(); y++)
- {
- const unsigned char* src = rbuf_img(idx).row_ptr(m_flip_y ? h - 1 - y : y);
- switch(m_format)
- {
- case pix_format_sgray8:
- color_conv_row(tmp_buf, src, w, conv_row<pixfmt_srgb24, pixfmt_sgray8>());
- break;
-
- case pix_format_gray8:
- color_conv_row(tmp_buf, src, w, conv_row<pixfmt_srgb24, pixfmt_gray8>());
- break;
-
- case pix_format_gray16:
- color_conv_row(tmp_buf, src, w, conv_row<pixfmt_srgb24, pixfmt_gray16>());
- break;
-
- case pix_format_gray32:
- color_conv_row(tmp_buf, src, w, conv_row<pixfmt_srgb24, pixfmt_gray32>());
- break;
-
- default: break;
- case pix_format_rgb555:
- color_conv_row(tmp_buf, src, w, color_conv_rgb555_to_rgb24());
- break;
-
- case pix_format_rgb565:
- color_conv_row(tmp_buf, src, w, color_conv_rgb565_to_rgb24());
- break;
-
- case pix_format_sbgr24:
- color_conv_row(tmp_buf, src, w, conv_row<pixfmt_srgb24, pixfmt_sbgr24>());
- break;
-
- case pix_format_srgb24:
- color_conv_row(tmp_buf, src, w, conv_row<pixfmt_srgb24, pixfmt_srgb24>());
- break;
-
- case pix_format_bgr24:
- color_conv_row(tmp_buf, src, w, conv_row<pixfmt_srgb24, pixfmt_bgr24>());
- break;
-
- case pix_format_rgb24:
- color_conv_row(tmp_buf, src, w, conv_row<pixfmt_srgb24, pixfmt_rgb24>());
- break;
-
- case pix_format_srgba32:
- color_conv_row(tmp_buf, src, w, conv_row<pixfmt_srgb24, pixfmt_srgba32>());
- break;
-
- case pix_format_sargb32:
- color_conv_row(tmp_buf, src, w, conv_row<pixfmt_srgb24, pixfmt_sargb32>());
- break;
-
- case pix_format_sbgra32:
- color_conv_row(tmp_buf, src, w, conv_row<pixfmt_srgb24, pixfmt_sbgra32>());
- break;
-
- case pix_format_sabgr32:
- color_conv_row(tmp_buf, src, w, conv_row<pixfmt_srgb24, pixfmt_sabgr32>());
- break;
-
- case pix_format_rgba32:
- color_conv_row(tmp_buf, src, w, conv_row<pixfmt_srgb24, pixfmt_rgba32>());
- break;
-
- case pix_format_argb32:
- color_conv_row(tmp_buf, src, w, conv_row<pixfmt_srgb24, pixfmt_argb32>());
- break;
-
- case pix_format_bgra32:
- color_conv_row(tmp_buf, src, w, conv_row<pixfmt_srgb24, pixfmt_bgra32>());
- break;
-
- case pix_format_abgr32:
- color_conv_row(tmp_buf, src, w, conv_row<pixfmt_srgb24, pixfmt_abgr32>());
- break;
-
- case pix_format_bgr48:
- color_conv_row(tmp_buf, src, w, conv_row<pixfmt_srgb24, pixfmt_bgr48>());
- break;
-
- case pix_format_rgb48:
- color_conv_row(tmp_buf, src, w, conv_row<pixfmt_srgb24, pixfmt_rgb48>());
- break;
-
- case pix_format_rgba64:
- color_conv_row(tmp_buf, src, w, conv_row<pixfmt_srgb24, pixfmt_rgba64>());
- break;
-
- case pix_format_argb64:
- color_conv_row(tmp_buf, src, w, conv_row<pixfmt_srgb24, pixfmt_argb64>());
- break;
-
- case pix_format_bgra64:
- color_conv_row(tmp_buf, src, w, conv_row<pixfmt_srgb24, pixfmt_bgra64>());
- break;
-
- case pix_format_abgr64:
- color_conv_row(tmp_buf, src, w, conv_row<pixfmt_srgb24, pixfmt_abgr64>());
- break;
-
- case pix_format_bgr96:
- color_conv_row(tmp_buf, src, w, conv_row<pixfmt_srgb24, pixfmt_bgr96>());
- break;
-
- case pix_format_rgb96:
- color_conv_row(tmp_buf, src, w, conv_row<pixfmt_srgb24, pixfmt_rgb96>());
- break;
-
- case pix_format_rgba128:
- color_conv_row(tmp_buf, src, w, conv_row<pixfmt_srgb24, pixfmt_rgba128>());
- break;
-
- case pix_format_argb128:
- color_conv_row(tmp_buf, src, w, conv_row<pixfmt_srgb24, pixfmt_argb128>());
- break;
-
- case pix_format_bgra128:
- color_conv_row(tmp_buf, src, w, conv_row<pixfmt_srgb24, pixfmt_bgra128>());
- break;
-
- case pix_format_abgr128:
- color_conv_row(tmp_buf, src, w, conv_row<pixfmt_srgb24, pixfmt_abgr128>());
- break;
- }
- fwrite(tmp_buf, 1, w * 3, fd);
- }
- delete [] tmp_buf;
- fclose(fd);
- return true;
- }
- return false;
- }
-
-
-
- //------------------------------------------------------------------------
- bool platform_support::create_img(unsigned idx, unsigned width, unsigned height)
- {
- if(idx < max_images)
- {
- if(width == 0) width = rbuf_window().width();
- if(height == 0) height = rbuf_window().height();
- delete [] m_specific->m_buf_img[idx];
- m_specific->m_buf_img[idx] =
- new unsigned char[width * height * (m_bpp / 8)];
-
- m_rbuf_img[idx].attach(m_specific->m_buf_img[idx],
- width,
- height,
- m_flip_y ?
- -width * (m_bpp / 8) :
- width * (m_bpp / 8));
- return true;
- }
- return false;
- }
-
-
- //------------------------------------------------------------------------
- void platform_support::force_redraw()
- {
- m_specific->m_update_flag = true;
- }
-
-
- //------------------------------------------------------------------------
- void platform_support::message(const char* msg)
- {
- fprintf(stderr, "%s\n", msg);
- }
-
- //------------------------------------------------------------------------
- void platform_support::start_timer()
- {
- m_specific->m_sw_start = clock();
- }
-
- //------------------------------------------------------------------------
- double platform_support::elapsed_time() const
- {
- clock_t stop = clock();
- return double(stop - m_specific->m_sw_start) * 1000.0 / CLOCKS_PER_SEC;
- }
-
-
- //------------------------------------------------------------------------
- void platform_support::on_init() {}
- void platform_support::on_resize(int sx, int sy) {}
- void platform_support::on_idle() {}
- void platform_support::on_mouse_move(int x, int y, unsigned flags) {}
- void platform_support::on_mouse_button_down(int x, int y, unsigned flags) {}
- void platform_support::on_mouse_button_up(int x, int y, unsigned flags) {}
- void platform_support::on_key(int x, int y, unsigned key, unsigned flags) {}
- void platform_support::on_ctrl_change() {}
- void platform_support::on_draw() {}
- void platform_support::on_post_draw(void* raw_handler) {}
-
-
-
-}
-
-
-int agg_main(int argc, char* argv[]);
-
-
-int main(int argc, char* argv[])
-{
- return agg_main(argc, argv);
-}
-
-
-
-
-
-
diff --git a/contrib/python/matplotlib/py3/extern/agg24-svn/src/platform/mac/agg_mac_pmap.cpp b/contrib/python/matplotlib/py3/extern/agg24-svn/src/platform/mac/agg_mac_pmap.cpp
deleted file mode 100644
index dc85fd69ff..0000000000
--- a/contrib/python/matplotlib/py3/extern/agg24-svn/src/platform/mac/agg_mac_pmap.cpp
+++ /dev/null
@@ -1,298 +0,0 @@
-//----------------------------------------------------------------------------
-//
-//----------------------------------------------------------------------------
-// Contact: mcseemagg@yahoo.com
-// baer@karto.baug.ethz.ch
-//----------------------------------------------------------------------------
-//
-// class pixel_map
-//
-//----------------------------------------------------------------------------
-
-#include <string.h>
-#include <Carbon.h>
-#include <QuickTimeComponents.h>
-#include <ImageCompression.h>
-#include "platform/mac/agg_mac_pmap.h"
-#include "agg_basics.h"
-
-namespace agg
-{
-
- //------------------------------------------------------------------------
- pixel_map::~pixel_map()
- {
- destroy();
- }
-
-
- //------------------------------------------------------------------------
- pixel_map::pixel_map() :
- m_pmap(0),
- m_buf(0),
- m_bpp(0),
- m_img_size(0)
-
- {
- }
-
-
- //------------------------------------------------------------------------
- void pixel_map::destroy()
- {
- delete[] m_buf;
- m_buf = NULL;
- if (m_pmap != nil)
- {
- DisposeGWorld(m_pmap);
- m_pmap = nil;
- }
- }
-
-
- //------------------------------------------------------------------------
- void pixel_map::create(unsigned width,
- unsigned height,
- org_e org,
- unsigned clear_val)
- {
- destroy();
- if(width == 0) width = 1;
- if(height == 0) height = 1;
- m_bpp = org;
-
- Rect r;
- int row_bytes = calc_row_len (width, m_bpp);
- MacSetRect(&r, 0, 0, width, height);
- m_buf = new unsigned char[m_img_size = row_bytes * height];
- // The Quicktime version for creating GWorlds is more flexible than the classical function.
- QTNewGWorldFromPtr (&m_pmap, m_bpp, &r, nil, nil, 0, m_buf, row_bytes);
-
- // create_gray_scale_palette(m_pmap); I didn't care about gray scale palettes so far.
- if(clear_val <= 255)
- {
- memset(m_buf, clear_val, m_img_size);
- }
- }
-
-
-
- //------------------------------------------------------------------------
- void pixel_map::clear(unsigned clear_val)
- {
- if(m_buf) memset(m_buf, clear_val, m_img_size);
- }
-
-
- //static
- //This function is just copied from the Win32 plattform support.
- //Is also seems to be appropriate for MacOS as well, but it is not
- //thouroughly tested so far.
- //------------------------------------------------------------------------
-
- unsigned pixel_map::calc_row_len(unsigned width, unsigned bits_per_pixel)
- {
- unsigned n = width;
- unsigned k;
-
- switch(bits_per_pixel)
- {
- case 1: k = n;
- n = n >> 3;
- if(k & 7) n++;
- break;
-
- case 4: k = n;
- n = n >> 1;
- if(k & 3) n++;
- break;
-
- case 8:
- break;
-
- case 16: n = n << 1;
- break;
-
- case 24: n = (n << 1) + n;
- break;
-
- case 32: n = n << 2;
- break;
-
- default: n = 0;
- break;
- }
- return ((n + 3) >> 2) << 2;
- }
-
-
-
-
- //------------------------------------------------------------------------
- void pixel_map::draw(WindowRef window, const Rect *device_rect, const Rect *pmap_rect) const
- {
- if(m_pmap == nil || m_buf == NULL) return;
-
- PixMapHandle pm = GetGWorldPixMap (m_pmap);
- CGrafPtr port = GetWindowPort (window);
- Rect dest_rect;
-
- // Again, I used the Quicktime version.
- // Good old 'CopyBits' does better interpolation when scaling
- // but does not support all pixel depths.
- MacSetRect (&dest_rect, 0, 0, this->width(), this->height());
- ImageDescriptionHandle image_description;
- MakeImageDescriptionForPixMap (pm, &image_description);
- if (image_description != nil)
- {
- DecompressImage (GetPixBaseAddr (pm), image_description, GetPortPixMap (port), nil, &dest_rect, ditherCopy, nil);
- DisposeHandle ((Handle) image_description);
- }
- }
-
-
- //------------------------------------------------------------------------
- void pixel_map::draw(WindowRef window, int x, int y, double scale) const
- {
- if(m_pmap == nil || m_buf == NULL) return;
- unsigned width = (unsigned)(this->width() * scale);
- unsigned height = (unsigned)(this->height() * scale);
- Rect rect;
- SetRect (&rect, x, y, x + width, y + height);
- draw(window, &rect);
- }
-
-
-
- //------------------------------------------------------------------------
- void pixel_map::blend(WindowRef window, const Rect *device_rect, const Rect *bmp_rect) const
- {
- draw (window, device_rect, bmp_rect); // currently just mapped to drawing method
- }
-
-
- //------------------------------------------------------------------------
- void pixel_map::blend(WindowRef window, int x, int y, double scale) const
- {
- draw(window, x, y, scale); // currently just mapped to drawing method
- }
-
-
- // I let Quicktime handle image import since it supports most popular
- // image formats such as:
- // *.psd, *.bmp, *.tif, *.png, *.jpg, *.gif, *.pct, *.pcx
- //------------------------------------------------------------------------
- bool pixel_map::load_from_qt(const char *filename)
- {
- FSSpec fss;
- OSErr err;
-
- // get file specification to application directory
- err = HGetVol(nil, &fss.vRefNum, &fss.parID);
- if (err == noErr)
- {
- CopyCStringToPascal(filename, fss.name);
- GraphicsImportComponent gi;
- err = GetGraphicsImporterForFile (&fss, &gi);
- if (err == noErr)
- {
- ImageDescriptionHandle desc;
- GraphicsImportGetImageDescription(gi, &desc);
-// For simplicity, all images are currently converted to 32 bit.
- // create an empty pixelmap
- short depth = 32;
- create ((**desc).width, (**desc).height, (org_e)depth, 0xff);
- DisposeHandle ((Handle)desc);
- // let Quicktime draw to pixelmap
- GraphicsImportSetGWorld(gi, m_pmap, nil);
- GraphicsImportDraw(gi);
-// Well, this is a hack. The graphics importer sets the alpha channel of the pixelmap to 0x00
-// for imported images without alpha channel but this would cause agg to draw an invisible image.
- // set alpha channel to 0xff
- unsigned char * buf = m_buf;
- for (unsigned int size = 0; size < m_img_size; size += 4)
- {
- *buf = 0xff;
- buf += 4;
- }
- }
- }
- return err == noErr;
- }
-
-
-
- //------------------------------------------------------------------------
- bool pixel_map::save_as_qt(const char *filename) const
- {
- FSSpec fss;
- OSErr err;
-
- // get file specification to application directory
- err = HGetVol(nil, &fss.vRefNum, &fss.parID);
- if (err == noErr)
- {
- GraphicsExportComponent ge;
- CopyCStringToPascal(filename, fss.name);
- // I decided to use PNG as output image file type.
- // There are a number of other available formats.
- // Should I check the file suffix to choose the image file format?
- err = OpenADefaultComponent(GraphicsExporterComponentType, kQTFileTypePNG, &ge);
- if (err == noErr)
- {
- err = GraphicsExportSetInputGWorld(ge, m_pmap);
- if (err == noErr)
- {
- err = GraphicsExportSetOutputFile (ge, &fss);
- if (err == noErr)
- {
- GraphicsExportDoExport(ge, nil);
- }
- }
- CloseComponent(ge);
- }
- }
-
- return err == noErr;
- }
-
- //------------------------------------------------------------------------
- unsigned char* pixel_map::buf()
- {
- return m_buf;
- }
-
- //------------------------------------------------------------------------
- unsigned pixel_map::width() const
- {
- if(m_pmap == nil) return 0;
- PixMapHandle pm = GetGWorldPixMap (m_pmap);
- Rect bounds;
- GetPixBounds (pm, &bounds);
- return bounds.right - bounds.left;
- }
-
- //------------------------------------------------------------------------
- unsigned pixel_map::height() const
- {
- if(m_pmap == nil) return 0;
- PixMapHandle pm = GetGWorldPixMap (m_pmap);
- Rect bounds;
- GetPixBounds (pm, &bounds);
- return bounds.bottom - bounds.top;
- }
-
- //------------------------------------------------------------------------
- int pixel_map::row_bytes() const
- {
- if(m_pmap == nil) return 0;
- PixMapHandle pm = GetGWorldPixMap (m_pmap);
- return calc_row_len(width(), GetPixDepth(pm));
- }
-
-
-
-}
-
-
-
diff --git a/contrib/python/matplotlib/py3/extern/agg24-svn/src/platform/mac/agg_platform_support.cpp b/contrib/python/matplotlib/py3/extern/agg24-svn/src/platform/mac/agg_platform_support.cpp
deleted file mode 100644
index f518dbe1f2..0000000000
--- a/contrib/python/matplotlib/py3/extern/agg24-svn/src/platform/mac/agg_platform_support.cpp
+++ /dev/null
@@ -1,1053 +0,0 @@
-//----------------------------------------------------------------------------
-// Anti-Grain Geometry - Version 2.4
-// Copyright (C) 2002-2005 Maxim Shemanarev (McSeem)
-// Copyright (C) 2003 Hansruedi Baer (MacOS support)
-//
-// Permission to copy, use, modify, sell and distribute this software
-// is granted provided this copyright notice appears in all copies.
-// This software is provided "as is" without express or implied
-// warranty, and with no claim as to its suitability for any purpose.
-//
-//----------------------------------------------------------------------------
-// Contact: mcseem@antigrain.com
-// mcseemagg@yahoo.com
-// http://www.antigrain.com
-// baer@karto.baug.eth.ch
-//----------------------------------------------------------------------------
-//
-// class platform_support
-//
-//----------------------------------------------------------------------------
-//
-// Note:
-// I tried to retain the original structure for the Win32 platform as far
-// as possible. Currently, not all features are implemented but the examples
-// should work properly.
-// HB
-//----------------------------------------------------------------------------
-
-#include <Carbon.h>
-#if defined(__MWERKS__)
-#include "console.h"
-#endif
-#include <string.h>
-#include <unistd.h>
-#include "platform/agg_platform_support.h"
-#include "platform/mac/agg_mac_pmap.h"
-#include "util/agg_color_conv_rgb8.h"
-
-
-namespace agg
-{
-
-pascal OSStatus DoWindowClose (EventHandlerCallRef nextHandler, EventRef theEvent, void* userData);
-pascal OSStatus DoWindowDrawContent (EventHandlerCallRef nextHandler, EventRef theEvent, void* userData);
-pascal OSStatus DoAppQuit (EventHandlerCallRef nextHandler, EventRef theEvent, void* userData);
-pascal OSStatus DoMouseDown (EventHandlerCallRef nextHandler, EventRef theEvent, void* userData);
-pascal OSStatus DoMouseUp (EventHandlerCallRef nextHandler, EventRef theEvent, void* userData);
-pascal OSStatus DoMouseDragged (EventHandlerCallRef nextHandler, EventRef theEvent, void* userData);
-pascal OSStatus DoKeyDown (EventHandlerCallRef nextHandler, EventRef theEvent, void* userData);
-pascal OSStatus DoKeyUp (EventHandlerCallRef nextHandler, EventRef theEvent, void* userData);
-pascal void DoPeriodicTask (EventLoopTimerRef theTimer, void* userData);
-
-
- //------------------------------------------------------------------------
- class platform_specific
- {
- public:
- platform_specific(pix_format_e format, bool flip_y);
-
- void create_pmap(unsigned width, unsigned height,
- rendering_buffer* wnd);
-
- void display_pmap(WindowRef window, const rendering_buffer* src);
- bool load_pmap(const char* fn, unsigned idx,
- rendering_buffer* dst);
-
- bool save_pmap(const char* fn, unsigned idx,
- const rendering_buffer* src);
-
- unsigned translate(unsigned keycode);
-
- pix_format_e m_format;
- pix_format_e m_sys_format;
- bool m_flip_y;
- unsigned m_bpp;
- unsigned m_sys_bpp;
- WindowRef m_window;
- pixel_map m_pmap_window;
- pixel_map m_pmap_img[platform_support::max_images];
- unsigned m_keymap[256];
- unsigned m_last_translated_key;
- int m_cur_x;
- int m_cur_y;
- unsigned m_input_flags;
- bool m_redraw_flag;
- UnsignedWide m_sw_freq;
- UnsignedWide m_sw_start;
- };
-
-
- //------------------------------------------------------------------------
- platform_specific::platform_specific(pix_format_e format, bool flip_y) :
- m_format(format),
- m_sys_format(pix_format_undefined),
- m_flip_y(flip_y),
- m_bpp(0),
- m_sys_bpp(0),
- m_window(nil),
- m_last_translated_key(0),
- m_cur_x(0),
- m_cur_y(0),
- m_input_flags(0),
- m_redraw_flag(true)
- {
- memset(m_keymap, 0, sizeof(m_keymap));
-
- //Keyboard input is not yet fully supported nor tested
- //m_keymap[VK_PAUSE] = key_pause;
- m_keymap[kClearCharCode] = key_clear;
-
- //m_keymap[VK_NUMPAD0] = key_kp0;
- //m_keymap[VK_NUMPAD1] = key_kp1;
- //m_keymap[VK_NUMPAD2] = key_kp2;
- //m_keymap[VK_NUMPAD3] = key_kp3;
- //m_keymap[VK_NUMPAD4] = key_kp4;
- //m_keymap[VK_NUMPAD5] = key_kp5;
- //m_keymap[VK_NUMPAD6] = key_kp6;
- //m_keymap[VK_NUMPAD7] = key_kp7;
- //m_keymap[VK_NUMPAD8] = key_kp8;
- //m_keymap[VK_NUMPAD9] = key_kp9;
- //m_keymap[VK_DECIMAL] = key_kp_period;
- //m_keymap[VK_DIVIDE] = key_kp_divide;
- //m_keymap[VK_MULTIPLY] = key_kp_multiply;
- //m_keymap[VK_SUBTRACT] = key_kp_minus;
- //m_keymap[VK_ADD] = key_kp_plus;
-
- m_keymap[kUpArrowCharCode] = key_up;
- m_keymap[kDownArrowCharCode] = key_down;
- m_keymap[kRightArrowCharCode] = key_right;
- m_keymap[kLeftArrowCharCode] = key_left;
- //m_keymap[VK_INSERT] = key_insert;
- m_keymap[kDeleteCharCode] = key_delete;
- m_keymap[kHomeCharCode] = key_home;
- m_keymap[kEndCharCode] = key_end;
- m_keymap[kPageUpCharCode] = key_page_up;
- m_keymap[kPageDownCharCode] = key_page_down;
-
- //m_keymap[VK_F1] = key_f1;
- //m_keymap[VK_F2] = key_f2;
- //m_keymap[VK_F3] = key_f3;
- //m_keymap[VK_F4] = key_f4;
- //m_keymap[VK_F5] = key_f5;
- //m_keymap[VK_F6] = key_f6;
- //m_keymap[VK_F7] = key_f7;
- //m_keymap[VK_F8] = key_f8;
- //m_keymap[VK_F9] = key_f9;
- //m_keymap[VK_F10] = key_f10;
- //m_keymap[VK_F11] = key_f11;
- //m_keymap[VK_F12] = key_f12;
- //m_keymap[VK_F13] = key_f13;
- //m_keymap[VK_F14] = key_f14;
- //m_keymap[VK_F15] = key_f15;
-
- //m_keymap[VK_NUMLOCK] = key_numlock;
- //m_keymap[VK_CAPITAL] = key_capslock;
- //m_keymap[VK_SCROLL] = key_scrollock;
-
- switch(m_format)
- {
- case pix_format_gray8:
- m_sys_format = pix_format_gray8;
- m_bpp = 8;
- m_sys_bpp = 8;
- break;
-
- case pix_format_rgb565:
- case pix_format_rgb555:
- m_sys_format = pix_format_rgb555;
- m_bpp = 16;
- m_sys_bpp = 16;
- break;
-
- case pix_format_rgb24:
- case pix_format_bgr24:
- m_sys_format = pix_format_rgb24;
- m_bpp = 24;
- m_sys_bpp = 24;
- break;
-
- case pix_format_bgra32:
- case pix_format_abgr32:
- case pix_format_argb32:
- case pix_format_rgba32:
- m_sys_format = pix_format_argb32;
- m_bpp = 32;
- m_sys_bpp = 32;
- break;
- }
- ::Microseconds(&m_sw_freq);
- ::Microseconds(&m_sw_start);
- }
-
-
- //------------------------------------------------------------------------
- void platform_specific::create_pmap(unsigned width,
- unsigned height,
- rendering_buffer* wnd)
- {
- m_pmap_window.create(width, height, org_e(m_bpp));
- wnd->attach(m_pmap_window.buf(),
- m_pmap_window.width(),
- m_pmap_window.height(),
- m_flip_y ?
- -m_pmap_window.row_bytes() :
- m_pmap_window.row_bytes());
- }
-
-
- //------------------------------------------------------------------------
- void platform_specific::display_pmap(WindowRef window, const rendering_buffer* src)
- {
- if(m_sys_format == m_format)
- {
- m_pmap_window.draw(window);
- }
- else
- {
- pixel_map pmap_tmp;
- pmap_tmp.create(m_pmap_window.width(),
- m_pmap_window.height(),
- org_e(m_sys_bpp));
-
- rendering_buffer rbuf_tmp;
- rbuf_tmp.attach(pmap_tmp.buf(),
- pmap_tmp.width(),
- pmap_tmp.height(),
- m_flip_y ?
- -pmap_tmp.row_bytes() :
- pmap_tmp.row_bytes());
-
- switch(m_format)
- {
- case pix_format_gray8:
- return;
-
- case pix_format_rgb565:
- color_conv(&rbuf_tmp, src, color_conv_rgb565_to_rgb555());
- break;
-
- case pix_format_bgr24:
- color_conv(&rbuf_tmp, src, color_conv_bgr24_to_rgb24());
- break;
-
- case pix_format_abgr32:
- color_conv(&rbuf_tmp, src, color_conv_abgr32_to_argb32());
- break;
-
- case pix_format_bgra32:
- color_conv(&rbuf_tmp, src, color_conv_bgra32_to_argb32());
- break;
-
- case pix_format_rgba32:
- color_conv(&rbuf_tmp, src, color_conv_rgba32_to_argb32());
- break;
- }
- pmap_tmp.draw(window);
- }
- }
-
-
- //------------------------------------------------------------------------
- bool platform_specific::save_pmap(const char* fn, unsigned idx,
- const rendering_buffer* src)
- {
- if(m_sys_format == m_format)
- {
- return m_pmap_img[idx].save_as_qt(fn);
- }
- else
- {
- pixel_map pmap_tmp;
- pmap_tmp.create(m_pmap_img[idx].width(),
- m_pmap_img[idx].height(),
- org_e(m_sys_bpp));
-
- rendering_buffer rbuf_tmp;
- rbuf_tmp.attach(pmap_tmp.buf(),
- pmap_tmp.width(),
- pmap_tmp.height(),
- m_flip_y ?
- -pmap_tmp.row_bytes() :
- pmap_tmp.row_bytes());
- switch(m_format)
- {
- case pix_format_gray8:
- return false;
-
- case pix_format_rgb565:
- color_conv(&rbuf_tmp, src, color_conv_rgb565_to_rgb555());
- break;
-
- case pix_format_rgb24:
- color_conv(&rbuf_tmp, src, color_conv_rgb24_to_bgr24());
- break;
-
- case pix_format_abgr32:
- color_conv(&rbuf_tmp, src, color_conv_abgr32_to_bgra32());
- break;
-
- case pix_format_argb32:
- color_conv(&rbuf_tmp, src, color_conv_argb32_to_bgra32());
- break;
-
- case pix_format_rgba32:
- color_conv(&rbuf_tmp, src, color_conv_rgba32_to_bgra32());
- break;
- }
- return pmap_tmp.save_as_qt(fn);
- }
- return true;
- }
-
-
-
- //------------------------------------------------------------------------
- bool platform_specific::load_pmap(const char* fn, unsigned idx,
- rendering_buffer* dst)
- {
- pixel_map pmap_tmp;
- if(!pmap_tmp.load_from_qt(fn)) return false;
-
- rendering_buffer rbuf_tmp;
- rbuf_tmp.attach(pmap_tmp.buf(),
- pmap_tmp.width(),
- pmap_tmp.height(),
- m_flip_y ?
- -pmap_tmp.row_bytes() :
- pmap_tmp.row_bytes());
-
- m_pmap_img[idx].create(pmap_tmp.width(),
- pmap_tmp.height(),
- org_e(m_bpp),
- 0);
-
- dst->attach(m_pmap_img[idx].buf(),
- m_pmap_img[idx].width(),
- m_pmap_img[idx].height(),
- m_flip_y ?
- -m_pmap_img[idx].row_bytes() :
- m_pmap_img[idx].row_bytes());
-
- switch(m_format)
- {
- case pix_format_gray8:
- return false;
- break;
-
- case pix_format_rgb555:
- switch(pmap_tmp.bpp())
- {
- case 16: color_conv(dst, &rbuf_tmp, color_conv_rgb555_to_rgb555()); break;
- case 24: color_conv(dst, &rbuf_tmp, color_conv_rgb24_to_rgb555()); break;
- case 32: color_conv(dst, &rbuf_tmp, color_conv_argb32_to_rgb555()); break;
- }
- break;
-
- case pix_format_rgb565:
- switch(pmap_tmp.bpp())
- {
- case 16: color_conv(dst, &rbuf_tmp, color_conv_rgb555_to_rgb565()); break;
- case 24: color_conv(dst, &rbuf_tmp, color_conv_rgb24_to_rgb565()); break;
- case 32: color_conv(dst, &rbuf_tmp, color_conv_argb32_to_rgb565()); break;
- }
- break;
-
- case pix_format_rgb24:
- switch(pmap_tmp.bpp())
- {
- case 16: color_conv(dst, &rbuf_tmp, color_conv_rgb555_to_rgb24()); break;
- case 24: color_conv(dst, &rbuf_tmp, color_conv_rgb24_to_rgb24()); break;
- case 32: color_conv(dst, &rbuf_tmp, color_conv_argb32_to_rgb24()); break;
- }
- break;
-
- case pix_format_bgr24:
- switch(pmap_tmp.bpp())
- {
- case 16: color_conv(dst, &rbuf_tmp, color_conv_rgb555_to_bgr24()); break;
- case 24: color_conv(dst, &rbuf_tmp, color_conv_rgb24_to_bgr24()); break;
- case 32: color_conv(dst, &rbuf_tmp, color_conv_argb32_to_bgr24()); break;
- }
- break;
-
- case pix_format_abgr32:
- switch(pmap_tmp.bpp())
- {
- case 16: color_conv(dst, &rbuf_tmp, color_conv_rgb555_to_abgr32()); break;
- case 24: color_conv(dst, &rbuf_tmp, color_conv_rgb24_to_abgr32()); break;
- case 32: color_conv(dst, &rbuf_tmp, color_conv_argb32_to_abgr32()); break;
- }
- break;
-
- case pix_format_argb32:
- switch(pmap_tmp.bpp())
- {
- case 16: color_conv(dst, &rbuf_tmp, color_conv_rgb555_to_argb32()); break;
- case 24: color_conv(dst, &rbuf_tmp, color_conv_rgb24_to_argb32()); break;
- case 32: color_conv(dst, &rbuf_tmp, color_conv_argb32_to_argb32()); break;
- }
- break;
-
- case pix_format_bgra32:
- switch(pmap_tmp.bpp())
- {
- case 16: color_conv(dst, &rbuf_tmp, color_conv_rgb555_to_bgra32()); break;
- case 24: color_conv(dst, &rbuf_tmp, color_conv_rgb24_to_bgra32()); break;
- case 32: color_conv(dst, &rbuf_tmp, color_conv_argb32_to_bgra32()); break;
- }
- break;
-
- case pix_format_rgba32:
- switch(pmap_tmp.bpp())
- {
- case 16: color_conv(dst, &rbuf_tmp, color_conv_rgb555_to_rgba32()); break;
- case 24: color_conv(dst, &rbuf_tmp, color_conv_rgb24_to_rgba32()); break;
- case 32: color_conv(dst, &rbuf_tmp, color_conv_argb32_to_rgba32()); break;
- }
- break;
- }
-
- return true;
- }
-
-
-
-
-
-
-
-
- //------------------------------------------------------------------------
- unsigned platform_specific::translate(unsigned keycode)
- {
- return m_last_translated_key = (keycode > 255) ? 0 : m_keymap[keycode];
- }
-
-
-
- //------------------------------------------------------------------------
- platform_support::platform_support(pix_format_e format, bool flip_y) :
- m_specific(new platform_specific(format, flip_y)),
- m_format(format),
- m_bpp(m_specific->m_bpp),
- m_window_flags(0),
- m_wait_mode(true),
- m_flip_y(flip_y),
- m_initial_width(10),
- m_initial_height(10)
- {
- strcpy(m_caption, "Anti-Grain Geometry Application");
- }
-
-
- //------------------------------------------------------------------------
- platform_support::~platform_support()
- {
- delete m_specific;
- }
-
-
-
- //------------------------------------------------------------------------
- void platform_support::caption(const char* cap)
- {
- strcpy(m_caption, cap);
- if(m_specific->m_window)
- {
- SetWindowTitleWithCFString (m_specific->m_window, CFStringCreateWithCStringNoCopy (nil, cap, kCFStringEncodingASCII, nil));
- }
- }
-
-
-
- //------------------------------------------------------------------------
- static unsigned get_key_flags(UInt32 wflags)
- {
- unsigned flags = 0;
-
- if(wflags & shiftKey) flags |= kbd_shift;
- if(wflags & controlKey) flags |= kbd_ctrl;
-
- return flags;
- }
-
-
- //------------------------------------------------------------------------
- void platform_support::message(const char* msg)
- {
- SInt16 item;
- Str255 p_msg;
-
- ::CopyCStringToPascal (msg, p_msg);
- ::StandardAlert (kAlertPlainAlert, (const unsigned char*) "\013AGG Message", p_msg, NULL, &item);
- //::StandardAlert (kAlertPlainAlert, (const unsigned char*) "\pAGG Message", p_msg, NULL, &item);
- }
-
-
- //------------------------------------------------------------------------
- void platform_support::start_timer()
- {
- ::Microseconds (&(m_specific->m_sw_start));
- }
-
-
- //------------------------------------------------------------------------
- double platform_support::elapsed_time() const
- {
- UnsignedWide stop;
- ::Microseconds(&stop);
- return double(stop.lo -
- m_specific->m_sw_start.lo) * 1e6 /
- double(m_specific->m_sw_freq.lo);
- }
-
-
- //------------------------------------------------------------------------
- bool platform_support::init(unsigned width, unsigned height, unsigned flags)
- {
- if(m_specific->m_sys_format == pix_format_undefined)
- {
- return false;
- }
-
- m_window_flags = flags;
-
- // application
- EventTypeSpec eventType;
- EventHandlerUPP handlerUPP;
-
- eventType.eventClass = kEventClassApplication;
- eventType.eventKind = kEventAppQuit;
-
- handlerUPP = NewEventHandlerUPP(DoAppQuit);
-
- InstallApplicationEventHandler (handlerUPP, 1, &eventType, nil, nil);
-
- eventType.eventClass = kEventClassMouse;
- eventType.eventKind = kEventMouseDown;
- handlerUPP = NewEventHandlerUPP(DoMouseDown);
- InstallApplicationEventHandler (handlerUPP, 1, &eventType, this, nil);
-
- eventType.eventKind = kEventMouseUp;
- handlerUPP = NewEventHandlerUPP(DoMouseUp);
- InstallApplicationEventHandler (handlerUPP, 1, &eventType, this, nil);
-
- eventType.eventKind = kEventMouseDragged;
- handlerUPP = NewEventHandlerUPP(DoMouseDragged);
- InstallApplicationEventHandler (handlerUPP, 1, &eventType, this, nil);
-
- eventType.eventClass = kEventClassKeyboard;
- eventType.eventKind = kEventRawKeyDown;
- handlerUPP = NewEventHandlerUPP(DoKeyDown);
- InstallApplicationEventHandler (handlerUPP, 1, &eventType, this, nil);
-
- eventType.eventKind = kEventRawKeyUp;
- handlerUPP = NewEventHandlerUPP(DoKeyUp);
- InstallApplicationEventHandler (handlerUPP, 1, &eventType, this, nil);
-
- eventType.eventKind = kEventRawKeyRepeat;
- handlerUPP = NewEventHandlerUPP(DoKeyDown); // 'key repeat' is translated to 'key down'
- InstallApplicationEventHandler (handlerUPP, 1, &eventType, this, nil);
-
- WindowAttributes windowAttrs;
- Rect bounds;
-
- // window
- windowAttrs = kWindowCloseBoxAttribute | kWindowCollapseBoxAttribute | kWindowStandardHandlerAttribute;
- SetRect (&bounds, 0, 0, width, height);
- OffsetRect (&bounds, 100, 100);
- CreateNewWindow (kDocumentWindowClass, windowAttrs, &bounds, &m_specific->m_window);
-
- if(m_specific->m_window == nil)
- {
- return false;
- }
-
- // I assume the text is ASCII.
- // Change to kCFStringEncodingMacRoman, kCFStringEncodingISOLatin1, kCFStringEncodingUTF8 or what else you need.
- SetWindowTitleWithCFString (m_specific->m_window, CFStringCreateWithCStringNoCopy (nil, m_caption, kCFStringEncodingASCII, nil));
-
- eventType.eventClass = kEventClassWindow;
- eventType.eventKind = kEventWindowClose;
-
- handlerUPP = NewEventHandlerUPP(DoWindowClose);
- InstallWindowEventHandler (m_specific->m_window, handlerUPP, 1, &eventType, this, NULL);
-
- eventType.eventKind = kEventWindowDrawContent;
- handlerUPP = NewEventHandlerUPP(DoWindowDrawContent);
- InstallWindowEventHandler (m_specific->m_window, handlerUPP, 1, &eventType, this, NULL);
-
- // Periodic task
- // Instead of an idle function I use the Carbon event timer.
- // You may decide to change the wait value which is currently 50 milliseconds.
- EventLoopRef mainLoop;
- EventLoopTimerUPP timerUPP;
- EventLoopTimerRef theTimer;
-
- mainLoop = GetMainEventLoop();
- timerUPP = NewEventLoopTimerUPP (DoPeriodicTask);
- InstallEventLoopTimer (mainLoop, 0, 50 * kEventDurationMillisecond, timerUPP, this, &theTimer);
-
- m_specific->create_pmap(width, height, &m_rbuf_window);
- m_initial_width = width;
- m_initial_height = height;
- on_init();
- on_resize(width, height);
- m_specific->m_redraw_flag = true;
-
- ShowWindow (m_specific->m_window);
- SetPortWindowPort (m_specific->m_window);
-
- return true;
- }
-
-
- //------------------------------------------------------------------------
- int platform_support::run()
- {
-
- RunApplicationEventLoop ();
- return true;
- }
-
-
- //------------------------------------------------------------------------
- const char* platform_support::img_ext() const { return ".bmp"; }
-
- //------------------------------------------------------------------------
- const char* platform_support::full_file_name(const char* file_name)
- {
- return file_name;
- }
-
- //------------------------------------------------------------------------
- bool platform_support::load_img(unsigned idx, const char* file)
- {
- if(idx < max_images)
- {
- char fn[1024];
- strcpy(fn, file);
- int len = strlen(fn);
-#if defined(__MWERKS__)
- if(len < 4 || stricmp(fn + len - 4, ".BMP") != 0)
-#else
- if(len < 4 || strncasecmp(fn + len - 4, ".BMP", 4) != 0)
-#endif
- {
- strcat(fn, ".bmp");
- }
- return m_specific->load_pmap(fn, idx, &m_rbuf_img[idx]);
- }
- return true;
- }
-
-
-
- //------------------------------------------------------------------------
- bool platform_support::save_img(unsigned idx, const char* file)
- {
- if(idx < max_images)
- {
- char fn[1024];
- strcpy(fn, file);
- int len = strlen(fn);
-#if defined(__MWERKS__)
- if(len < 4 || stricmp(fn + len - 4, ".BMP") != 0)
-#else
- if(len < 4 || strncasecmp(fn + len - 4, ".BMP", 4) != 0)
-#endif
- {
- strcat(fn, ".bmp");
- }
- return m_specific->save_pmap(fn, idx, &m_rbuf_img[idx]);
- }
- return true;
- }
-
-
-
- //------------------------------------------------------------------------
- bool platform_support::create_img(unsigned idx, unsigned width, unsigned height)
- {
- if(idx < max_images)
- {
- if(width == 0) width = m_specific->m_pmap_window.width();
- if(height == 0) height = m_specific->m_pmap_window.height();
- m_specific->m_pmap_img[idx].create(width, height, org_e(m_specific->m_bpp));
- m_rbuf_img[idx].attach(m_specific->m_pmap_img[idx].buf(),
- m_specific->m_pmap_img[idx].width(),
- m_specific->m_pmap_img[idx].height(),
- m_flip_y ?
- -m_specific->m_pmap_img[idx].row_bytes() :
- m_specific->m_pmap_img[idx].row_bytes());
- return true;
- }
- return false;
- }
-
-
- //------------------------------------------------------------------------
- void platform_support::force_redraw()
- {
- Rect bounds;
-
- m_specific->m_redraw_flag = true;
- // on_ctrl_change ();
- on_draw();
-
- SetRect(&bounds, 0, 0, m_rbuf_window.width(), m_rbuf_window.height());
- InvalWindowRect(m_specific->m_window, &bounds);
- }
-
-
-
- //------------------------------------------------------------------------
- void platform_support::update_window()
- {
- m_specific->display_pmap(m_specific->m_window, &m_rbuf_window);
- }
-
-
- //------------------------------------------------------------------------
- void platform_support::on_init() {}
- void platform_support::on_resize(int sx, int sy) {}
- void platform_support::on_idle() {}
- void platform_support::on_mouse_move(int x, int y, unsigned flags) {}
- void platform_support::on_mouse_button_down(int x, int y, unsigned flags) {}
- void platform_support::on_mouse_button_up(int x, int y, unsigned flags) {}
- void platform_support::on_key(int x, int y, unsigned key, unsigned flags) {}
- void platform_support::on_ctrl_change() {}
- void platform_support::on_draw() {}
- void platform_support::on_post_draw(void* raw_handler) {}
-
-
-//------------------------------------------------------------------------
-pascal OSStatus DoWindowClose (EventHandlerCallRef nextHandler, EventRef theEvent, void* userData)
-{
- userData;
-
- QuitApplicationEventLoop ();
-
- return CallNextEventHandler (nextHandler, theEvent);
-}
-
-
-//------------------------------------------------------------------------
-pascal OSStatus DoAppQuit (EventHandlerCallRef nextHandler, EventRef theEvent, void* userData)
-{
- userData;
-
- return CallNextEventHandler (nextHandler, theEvent);
-}
-
-
-//------------------------------------------------------------------------
-pascal OSStatus DoMouseDown (EventHandlerCallRef nextHandler, EventRef theEvent, void* userData)
-{
- Point wheresMyMouse;
- UInt32 modifier;
-
- GetEventParameter (theEvent, kEventParamMouseLocation, typeQDPoint, NULL, sizeof(Point), NULL, &wheresMyMouse);
- GlobalToLocal (&wheresMyMouse);
- GetEventParameter (theEvent, kEventParamKeyModifiers, typeUInt32, NULL, sizeof(UInt32), NULL, &modifier);
-
- platform_support * app = reinterpret_cast<platform_support*>(userData);
-
- app->m_specific->m_cur_x = wheresMyMouse.h;
- if(app->flip_y())
- {
- app->m_specific->m_cur_y = app->rbuf_window().height() - wheresMyMouse.v;
- }
- else
- {
- app->m_specific->m_cur_y = wheresMyMouse.v;
- }
- app->m_specific->m_input_flags = mouse_left | get_key_flags(modifier);
-
- app->m_ctrls.set_cur(app->m_specific->m_cur_x,
- app->m_specific->m_cur_y);
- if(app->m_ctrls.on_mouse_button_down(app->m_specific->m_cur_x,
- app->m_specific->m_cur_y))
- {
- app->on_ctrl_change();
- app->force_redraw();
- }
- else
- {
- if(app->m_ctrls.in_rect(app->m_specific->m_cur_x,
- app->m_specific->m_cur_y))
- {
- if(app->m_ctrls.set_cur(app->m_specific->m_cur_x,
- app->m_specific->m_cur_y))
- {
- app->on_ctrl_change();
- app->force_redraw();
- }
- }
- else
- {
- app->on_mouse_button_down(app->m_specific->m_cur_x,
- app->m_specific->m_cur_y,
- app->m_specific->m_input_flags);
- }
- }
-
- return CallNextEventHandler (nextHandler, theEvent);
-}
-
-
-//------------------------------------------------------------------------
-pascal OSStatus DoMouseUp (EventHandlerCallRef nextHandler, EventRef theEvent, void* userData)
-{
- Point wheresMyMouse;
- UInt32 modifier;
-
- GetEventParameter (theEvent, kEventParamMouseLocation, typeQDPoint, NULL, sizeof(Point), NULL, &wheresMyMouse);
- GlobalToLocal (&wheresMyMouse);
- GetEventParameter (theEvent, kEventParamKeyModifiers, typeUInt32, NULL, sizeof(UInt32), NULL, &modifier);
-
- platform_support * app = reinterpret_cast<platform_support*>(userData);
-
- app->m_specific->m_cur_x = wheresMyMouse.h;
- if(app->flip_y())
- {
- app->m_specific->m_cur_y = app->rbuf_window().height() - wheresMyMouse.v;
- }
- else
- {
- app->m_specific->m_cur_y = wheresMyMouse.v;
- }
- app->m_specific->m_input_flags = mouse_left | get_key_flags(modifier);
-
- if(app->m_ctrls.on_mouse_button_up(app->m_specific->m_cur_x,
- app->m_specific->m_cur_y))
- {
- app->on_ctrl_change();
- app->force_redraw();
- }
- app->on_mouse_button_up(app->m_specific->m_cur_x,
- app->m_specific->m_cur_y,
- app->m_specific->m_input_flags);
-
- return CallNextEventHandler (nextHandler, theEvent);
-}
-
-
-//------------------------------------------------------------------------
-pascal OSStatus DoMouseDragged (EventHandlerCallRef nextHandler, EventRef theEvent, void* userData)
-{
- Point wheresMyMouse;
- UInt32 modifier;
-
- GetEventParameter (theEvent, kEventParamMouseLocation, typeQDPoint, NULL, sizeof(Point), NULL, &wheresMyMouse);
- GlobalToLocal (&wheresMyMouse);
- GetEventParameter (theEvent, kEventParamKeyModifiers, typeUInt32, NULL, sizeof(UInt32), NULL, &modifier);
-
- platform_support * app = reinterpret_cast<platform_support*>(userData);
-
- app->m_specific->m_cur_x = wheresMyMouse.h;
- if(app->flip_y())
- {
- app->m_specific->m_cur_y = app->rbuf_window().height() - wheresMyMouse.v;
- }
- else
- {
- app->m_specific->m_cur_y = wheresMyMouse.v;
- }
- app->m_specific->m_input_flags = mouse_left | get_key_flags(modifier);
-
-
- if(app->m_ctrls.on_mouse_move(
- app->m_specific->m_cur_x,
- app->m_specific->m_cur_y,
- (app->m_specific->m_input_flags & mouse_left) != 0))
- {
- app->on_ctrl_change();
- app->force_redraw();
- }
- else
- {
- app->on_mouse_move(app->m_specific->m_cur_x,
- app->m_specific->m_cur_y,
- app->m_specific->m_input_flags);
- }
-
- return CallNextEventHandler (nextHandler, theEvent);
-}
-
-
-//------------------------------------------------------------------------
-pascal OSStatus DoKeyDown (EventHandlerCallRef nextHandler, EventRef theEvent, void* userData)
-{
- char key_code;
- UInt32 modifier;
-
- GetEventParameter (theEvent, kEventParamKeyMacCharCodes, typeChar, NULL, sizeof(char), NULL, &key_code);
- GetEventParameter (theEvent, kEventParamKeyModifiers, typeUInt32, NULL, sizeof(UInt32), NULL, &modifier);
-
- platform_support * app = reinterpret_cast<platform_support*>(userData);
-
- app->m_specific->m_last_translated_key = 0;
- switch(modifier)
- {
- case controlKey:
- app->m_specific->m_input_flags |= kbd_ctrl;
- break;
-
- case shiftKey:
- app->m_specific->m_input_flags |= kbd_shift;
- break;
-
- default:
- app->m_specific->translate(key_code);
- break;
- }
-
- if(app->m_specific->m_last_translated_key)
- {
- bool left = false;
- bool up = false;
- bool right = false;
- bool down = false;
-
- switch(app->m_specific->m_last_translated_key)
- {
- case key_left:
- left = true;
- break;
-
- case key_up:
- up = true;
- break;
-
- case key_right:
- right = true;
- break;
-
- case key_down:
- down = true;
- break;
-
- //On a Mac, screenshots are handled by the system.
- case key_f2:
- app->copy_window_to_img(agg::platform_support::max_images - 1);
- app->save_img(agg::platform_support::max_images - 1, "screenshot");
- break;
- }
-
-
- if(app->m_ctrls.on_arrow_keys(left, right, down, up))
- {
- app->on_ctrl_change();
- app->force_redraw();
- }
- else
- {
- app->on_key(app->m_specific->m_cur_x,
- app->m_specific->m_cur_y,
- app->m_specific->m_last_translated_key,
- app->m_specific->m_input_flags);
- }
- }
-
- return CallNextEventHandler (nextHandler, theEvent);
-}
-
-
-//------------------------------------------------------------------------
-pascal OSStatus DoKeyUp (EventHandlerCallRef nextHandler, EventRef theEvent, void* userData)
-{
- char key_code;
- UInt32 modifier;
-
- GetEventParameter (theEvent, kEventParamKeyMacCharCodes, typeChar, NULL, sizeof(char), NULL, &key_code);
- GetEventParameter (theEvent, kEventParamKeyModifiers, typeUInt32, NULL, sizeof(UInt32), NULL, &modifier);
-
- platform_support * app = reinterpret_cast<platform_support*>(userData);
-
- app->m_specific->m_last_translated_key = 0;
- switch(modifier)
- {
- case controlKey:
- app->m_specific->m_input_flags &= ~kbd_ctrl;
- break;
-
- case shiftKey:
- app->m_specific->m_input_flags &= ~kbd_shift;
- break;
- }
-
- return CallNextEventHandler (nextHandler, theEvent);
-}
-
-
-//------------------------------------------------------------------------
-pascal OSStatus DoWindowDrawContent (EventHandlerCallRef nextHandler, EventRef theEvent, void* userData)
-{
- platform_support * app = reinterpret_cast<platform_support*>(userData);
-
- if(app)
- {
- if(app->m_specific->m_redraw_flag)
- {
- app->on_draw();
- app->m_specific->m_redraw_flag = false;
- }
- app->m_specific->display_pmap(app->m_specific->m_window, &app->rbuf_window());
- }
-
- return CallNextEventHandler (nextHandler, theEvent);
-}
-
-
-//------------------------------------------------------------------------
-pascal void DoPeriodicTask (EventLoopTimerRef theTimer, void* userData)
-{
- platform_support * app = reinterpret_cast<platform_support*>(userData);
-
- if(!app->wait_mode())
- app->on_idle();
-}
-
-
-}
-
-
-
-
-//----------------------------------------------------------------------------
-int agg_main(int argc, char* argv[]);
-
-
-// Hm. Classic MacOS does not know command line input.
-// CodeWarrior provides a way to mimic command line input.
-// The function 'ccommand' can be used to get the command
-// line arguments.
-//----------------------------------------------------------------------------
-int main(int argc, char* argv[])
-{
-#if defined(__MWERKS__)
- // argc = ccommand (&argv);
-#endif
-
- // Check if we are launched by double-clicking under OSX
- // Get rid of extra argument, this will confuse the standard argument parsing
- // calls used in the examples to get the name of the image file to be used
- if ( argc >= 2 && strncmp (argv[1], "-psn", 4) == 0 ) {
- argc = 1;
- }
-
-launch:
- return agg_main(argc, argv);
-} \ No newline at end of file
diff --git a/contrib/python/matplotlib/py3/extern/agg24-svn/src/platform/sdl/agg_platform_support.cpp b/contrib/python/matplotlib/py3/extern/agg24-svn/src/platform/sdl/agg_platform_support.cpp
deleted file mode 100644
index 28c6436baa..0000000000
--- a/contrib/python/matplotlib/py3/extern/agg24-svn/src/platform/sdl/agg_platform_support.cpp
+++ /dev/null
@@ -1,708 +0,0 @@
-//----------------------------------------------------------------------------
-// Anti-Grain Geometry - Version 2.4
-// Copyright (C) 2002-2005 Maxim Shemanarev (http://www.antigrain.com)
-//
-// Permission to copy, use, modify, sell and distribute this software
-// is granted provided this copyright notice appears in all copies.
-// This software is provided "as is" without express or implied
-// warranty, and with no claim as to its suitability for any purpose.
-//
-//----------------------------------------------------------------------------
-// Contact: mcseem@antigrain.com
-// mcseemagg@yahoo.com
-// http://www.antigrain.com
-//----------------------------------------------------------------------------
-//
-// class platform_support. SDL version.
-//
-//----------------------------------------------------------------------------
-
-#include <string.h>
-#include "platform/agg_platform_support.h"
-#include "SDL.h"
-#include "SDL_byteorder.h"
-
-
-namespace agg
-{
-
- //------------------------------------------------------------------------
- class platform_specific
- {
- public:
- platform_specific(pix_format_e format, bool flip_y);
- ~platform_specific();
-
- pix_format_e m_format;
- pix_format_e m_sys_format;
- bool m_flip_y;
- unsigned m_bpp;
- unsigned m_sys_bpp;
- unsigned m_rmask;
- unsigned m_gmask;
- unsigned m_bmask;
- unsigned m_amask;
- bool m_update_flag;
- bool m_resize_flag;
- bool m_initialized;
- SDL_Surface* m_surf_screen;
- SDL_Surface* m_surf_window;
- SDL_Surface* m_surf_img[platform_support::max_images];
- int m_cur_x;
- int m_cur_y;
- int m_sw_start;
- };
-
-
-
- //------------------------------------------------------------------------
- platform_specific::platform_specific(pix_format_e format, bool flip_y) :
- m_format(format),
- m_sys_format(pix_format_undefined),
- m_flip_y(flip_y),
- m_bpp(0),
- m_sys_bpp(0),
- m_update_flag(true),
- m_resize_flag(true),
- m_initialized(false),
- m_surf_screen(0),
- m_surf_window(0),
- m_cur_x(0),
- m_cur_y(0)
- {
- memset(m_surf_img, 0, sizeof(m_surf_img));
-
- switch(m_format)
- {
- case pix_format_gray8:
- m_bpp = 8;
- break;
-
- case pix_format_rgb565:
- m_rmask = 0xF800;
- m_gmask = 0x7E0;
- m_bmask = 0x1F;
- m_amask = 0;
- m_bpp = 16;
- break;
-
- case pix_format_rgb555:
- m_rmask = 0x7C00;
- m_gmask = 0x3E0;
- m_bmask = 0x1F;
- m_amask = 0;
- m_bpp = 16;
- break;
-
-#if SDL_BYTEORDER == SDL_LIL_ENDIAN
- case pix_format_rgb24:
- m_rmask = 0xFF;
- m_gmask = 0xFF00;
- m_bmask = 0xFF0000;
- m_amask = 0;
- m_bpp = 24;
- break;
-
- case pix_format_bgr24:
- m_rmask = 0xFF0000;
- m_gmask = 0xFF00;
- m_bmask = 0xFF;
- m_amask = 0;
- m_bpp = 24;
- break;
-
- case pix_format_bgra32:
- m_rmask = 0xFF0000;
- m_gmask = 0xFF00;
- m_bmask = 0xFF;
- m_amask = 0xFF000000;
- m_bpp = 32;
- break;
-
- case pix_format_abgr32:
- m_rmask = 0xFF000000;
- m_gmask = 0xFF0000;
- m_bmask = 0xFF00;
- m_amask = 0xFF;
- m_bpp = 32;
- break;
-
- case pix_format_argb32:
- m_rmask = 0xFF00;
- m_gmask = 0xFF0000;
- m_bmask = 0xFF000000;
- m_amask = 0xFF;
- m_bpp = 32;
- break;
-
- case pix_format_rgba32:
- m_rmask = 0xFF;
- m_gmask = 0xFF00;
- m_bmask = 0xFF0000;
- m_amask = 0xFF000000;
- m_bpp = 32;
- break;
-#else //SDL_BIG_ENDIAN (PPC)
- case pix_format_rgb24:
- m_rmask = 0xFF0000;
- m_gmask = 0xFF00;
- m_bmask = 0xFF;
- m_amask = 0;
- m_bpp = 24;
- break;
-
- case pix_format_bgr24:
- m_rmask = 0xFF;
- m_gmask = 0xFF00;
- m_bmask = 0xFF0000;
- m_amask = 0;
- m_bpp = 24;
- break;
-
- case pix_format_bgra32:
- m_rmask = 0xFF00;
- m_gmask = 0xFF0000;
- m_bmask = 0xFF000000;
- m_amask = 0xFF;
- m_bpp = 32;
- break;
-
- case pix_format_abgr32:
- m_rmask = 0xFF;
- m_gmask = 0xFF00;
- m_bmask = 0xFF0000;
- m_amask = 0xFF000000;
- m_bpp = 32;
- break;
-
- case pix_format_argb32:
- m_rmask = 0xFF0000;
- m_gmask = 0xFF00;
- m_bmask = 0xFF;
- m_amask = 0xFF000000;
- m_bpp = 32;
- break;
-
- case pix_format_rgba32:
- m_rmask = 0xFF000000;
- m_gmask = 0xFF0000;
- m_bmask = 0xFF00;
- m_amask = 0xFF;
- m_bpp = 32;
- break;
-#endif
- }
- }
-
- //------------------------------------------------------------------------
- platform_specific::~platform_specific()
- {
- int i;
- for(i = platform_support::max_images - 1; i >= 0; --i)
- {
- if(m_surf_img[i]) SDL_FreeSurface(m_surf_img[i]);
- }
- if(m_surf_window) SDL_FreeSurface(m_surf_window);
- if(m_surf_screen) SDL_FreeSurface(m_surf_screen);
- }
-
-
-
- //------------------------------------------------------------------------
- platform_support::platform_support(pix_format_e format, bool flip_y) :
- m_specific(new platform_specific(format, flip_y)),
- m_format(format),
- m_bpp(m_specific->m_bpp),
- m_window_flags(0),
- m_wait_mode(true),
- m_flip_y(flip_y)
- {
- SDL_Init(SDL_INIT_VIDEO);
- strcpy(m_caption, "Anti-Grain Geometry Application");
- }
-
-
- //------------------------------------------------------------------------
- platform_support::~platform_support()
- {
- delete m_specific;
- }
-
-
-
- //------------------------------------------------------------------------
- void platform_support::caption(const char* cap)
- {
- strcpy(m_caption, cap);
- if(m_specific->m_initialized)
- {
- SDL_WM_SetCaption(cap, 0);
- }
- }
-
-
-
-
-
- //------------------------------------------------------------------------
- bool platform_support::init(unsigned width, unsigned height, unsigned flags)
- {
- m_window_flags = flags;
- unsigned wflags = SDL_SWSURFACE;
-
- if(m_window_flags & window_hw_buffer)
- {
- wflags = SDL_HWSURFACE;
- }
-
- if(m_window_flags & window_resize)
- {
- wflags |= SDL_RESIZABLE;
- }
-
- if(m_specific->m_surf_screen) SDL_FreeSurface(m_specific->m_surf_screen);
-
- m_specific->m_surf_screen = SDL_SetVideoMode(width, height, m_bpp, wflags);
- if(m_specific->m_surf_screen == 0)
- {
- fprintf(stderr,
- "Unable to set %dx%d %d bpp video: %s\n",
- width,
- height,
- m_bpp,
- ::SDL_GetError());
- return false;
- }
-
- SDL_WM_SetCaption(m_caption, 0);
-
- if(m_specific->m_surf_window) SDL_FreeSurface(m_specific->m_surf_window);
-
- m_specific->m_surf_window =
- SDL_CreateRGBSurface(SDL_HWSURFACE,
- m_specific->m_surf_screen->w,
- m_specific->m_surf_screen->h,
- m_specific->m_surf_screen->format->BitsPerPixel,
- m_specific->m_rmask,
- m_specific->m_gmask,
- m_specific->m_bmask,
- m_specific->m_amask);
-
- if(m_specific->m_surf_window == 0)
- {
- fprintf(stderr,
- "Unable to create image buffer %dx%d %d bpp: %s\n",
- width,
- height,
- m_bpp,
- SDL_GetError());
- return false;
- }
-
- m_rbuf_window.attach((unsigned char*)m_specific->m_surf_window->pixels,
- m_specific->m_surf_window->w,
- m_specific->m_surf_window->h,
- m_flip_y ? -m_specific->m_surf_window->pitch :
- m_specific->m_surf_window->pitch);
-
- if(!m_specific->m_initialized)
- {
- m_initial_width = width;
- m_initial_height = height;
- on_init();
- m_specific->m_initialized = true;
- }
- on_resize(m_rbuf_window.width(), m_rbuf_window.height());
- m_specific->m_update_flag = true;
- return true;
- }
-
-
-
- //------------------------------------------------------------------------
- void platform_support::update_window()
- {
- SDL_BlitSurface(m_specific->m_surf_window, 0, m_specific->m_surf_screen, 0);
- SDL_UpdateRect(m_specific->m_surf_screen, 0, 0, 0, 0);
- }
-
-
- //------------------------------------------------------------------------
- int platform_support::run()
- {
- SDL_Event event;
- bool ev_flag = false;
-
- for(;;)
- {
- if(m_specific->m_update_flag)
- {
- on_draw();
- update_window();
- m_specific->m_update_flag = false;
- }
-
- ev_flag = false;
- if(m_wait_mode)
- {
- SDL_WaitEvent(&event);
- ev_flag = true;
- }
- else
- {
- if(SDL_PollEvent(&event))
- {
- ev_flag = true;
- }
- else
- {
- on_idle();
- }
- }
-
- if(ev_flag)
- {
- if(event.type == SDL_QUIT)
- {
- break;
- }
-
- int y;
- unsigned flags = 0;
-
- switch (event.type)
- {
- case SDL_VIDEORESIZE:
- if(!init(event.resize.w, event.resize.h, m_window_flags)) return false;
- on_resize(m_rbuf_window.width(), m_rbuf_window.height());
- trans_affine_resizing(event.resize.w, event.resize.h);
- m_specific->m_update_flag = true;
- break;
-
- case SDL_KEYDOWN:
- {
- flags = 0;
- if(event.key.keysym.mod & KMOD_SHIFT) flags |= kbd_shift;
- if(event.key.keysym.mod & KMOD_CTRL) flags |= kbd_ctrl;
-
- bool left = false;
- bool up = false;
- bool right = false;
- bool down = false;
-
- switch(event.key.keysym.sym)
- {
- case key_left:
- left = true;
- break;
-
- case key_up:
- up = true;
- break;
-
- case key_right:
- right = true;
- break;
-
- case key_down:
- down = true;
- break;
- }
-
- if(m_ctrls.on_arrow_keys(left, right, down, up))
- {
- on_ctrl_change();
- force_redraw();
- }
- else
- {
- on_key(m_specific->m_cur_x,
- m_specific->m_cur_y,
- event.key.keysym.sym,
- flags);
- }
- }
- break;
-
- case SDL_MOUSEMOTION:
- y = m_flip_y ?
- m_rbuf_window.height() - event.motion.y :
- event.motion.y;
-
- m_specific->m_cur_x = event.motion.x;
- m_specific->m_cur_y = y;
- flags = 0;
- if(event.motion.state & SDL_BUTTON_LMASK) flags |= mouse_left;
- if(event.motion.state & SDL_BUTTON_RMASK) flags |= mouse_right;
-
- if(m_ctrls.on_mouse_move(m_specific->m_cur_x,
- m_specific->m_cur_y,
- (flags & mouse_left) != 0))
- {
- on_ctrl_change();
- force_redraw();
- }
- else
- {
- on_mouse_move(m_specific->m_cur_x,
- m_specific->m_cur_y,
- flags);
- }
- SDL_Event eventtrash;
- while (SDL_PeepEvents(&eventtrash, 1, SDL_GETEVENT, SDL_EVENTMASK(SDL_MOUSEMOTION))!=0){;}
- break;
-
- case SDL_MOUSEBUTTONDOWN:
- y = m_flip_y
- ? m_rbuf_window.height() - event.button.y
- : event.button.y;
-
- m_specific->m_cur_x = event.button.x;
- m_specific->m_cur_y = y;
- flags = 0;
- switch(event.button.button)
- {
- case SDL_BUTTON_LEFT:
- {
- flags = mouse_left;
-
-if(m_ctrls.on_mouse_button_down(m_specific->m_cur_x,
- m_specific->m_cur_y))
- {
- m_ctrls.set_cur(m_specific->m_cur_x,
- m_specific->m_cur_y);
- on_ctrl_change();
- force_redraw();
- }
- else
- {
- if(m_ctrls.in_rect(m_specific->m_cur_x,
- m_specific->m_cur_y))
- {
- if(m_ctrls.set_cur(m_specific->m_cur_x,
- m_specific->m_cur_y))
- {
- on_ctrl_change();
- force_redraw();
- }
- }
- else
- {
- on_mouse_button_down(m_specific->m_cur_x,
- m_specific->m_cur_y,
- flags);
- }
- }
- }
- break;
- case SDL_BUTTON_RIGHT:
- flags = mouse_right;
- on_mouse_button_down(m_specific->m_cur_x,
- m_specific->m_cur_y,
- flags);
- break;
- } //switch(event.button.button)
- break;
-
- case SDL_MOUSEBUTTONUP:
- y = m_flip_y
- ? m_rbuf_window.height() - event.button.y
- : event.button.y;
-
- m_specific->m_cur_x = event.button.x;
- m_specific->m_cur_y = y;
- flags = 0;
- if(m_ctrls.on_mouse_button_up(m_specific->m_cur_x,
- m_specific->m_cur_y))
- {
- on_ctrl_change();
- force_redraw();
- }
- on_mouse_button_up(m_specific->m_cur_x,
- m_specific->m_cur_y,
- flags);
- break;
- }
- }
- }
- return 0;
- }
-
-
-
- //------------------------------------------------------------------------
- const char* platform_support::img_ext() const { return ".bmp"; }
-
- //------------------------------------------------------------------------
- const char* platform_support::full_file_name(const char* file_name)
- {
- return file_name;
- }
-
- //------------------------------------------------------------------------
- bool platform_support::load_img(unsigned idx, const char* file)
- {
- if(idx < max_images)
- {
- if(m_specific->m_surf_img[idx]) SDL_FreeSurface(m_specific->m_surf_img[idx]);
-
- char fn[1024];
- strcpy(fn, file);
- int len = strlen(fn);
- if(len < 4 || strcmp(fn + len - 4, ".bmp") != 0)
- {
- strcat(fn, ".bmp");
- }
-
- SDL_Surface* tmp_surf = SDL_LoadBMP(fn);
- if (tmp_surf == 0)
- {
- fprintf(stderr, "Couldn't load %s: %s\n", fn, SDL_GetError());
- return false;
- }
-
- SDL_PixelFormat format;
- format.palette = 0;
- format.BitsPerPixel = m_bpp;
- format.BytesPerPixel = m_bpp >> 8;
- format.Rmask = m_specific->m_rmask;
- format.Gmask = m_specific->m_gmask;
- format.Bmask = m_specific->m_bmask;
- format.Amask = m_specific->m_amask;
- format.Rshift = 0;
- format.Gshift = 0;
- format.Bshift = 0;
- format.Ashift = 0;
- format.Rloss = 0;
- format.Gloss = 0;
- format.Bloss = 0;
- format.Aloss = 0;
- format.colorkey = 0;
- format.alpha = 0;
-
- m_specific->m_surf_img[idx] =
- SDL_ConvertSurface(tmp_surf,
- &format,
- SDL_SWSURFACE);
-
- SDL_FreeSurface(tmp_surf);
-
- if(m_specific->m_surf_img[idx] == 0) return false;
-
- m_rbuf_img[idx].attach((unsigned char*)m_specific->m_surf_img[idx]->pixels,
- m_specific->m_surf_img[idx]->w,
- m_specific->m_surf_img[idx]->h,
- m_flip_y ? -m_specific->m_surf_img[idx]->pitch :
- m_specific->m_surf_img[idx]->pitch);
- return true;
-
- }
- return false;
- }
-
-
-
-
- //------------------------------------------------------------------------
- bool platform_support::save_img(unsigned idx, const char* file)
- {
- if(idx < max_images && m_specific->m_surf_img[idx])
- {
- char fn[1024];
- strcpy(fn, file);
- int len = strlen(fn);
- if(len < 4 || strcmp(fn + len - 4, ".bmp") != 0)
- {
- strcat(fn, ".bmp");
- }
- return SDL_SaveBMP(m_specific->m_surf_img[idx], fn) == 0;
- }
- return false;
- }
-
-
-
- //------------------------------------------------------------------------
- bool platform_support::create_img(unsigned idx, unsigned width, unsigned height)
- {
- if(idx < max_images)
- {
-
- if(m_specific->m_surf_img[idx]) SDL_FreeSurface(m_specific->m_surf_img[idx]);
-
- m_specific->m_surf_img[idx] =
- SDL_CreateRGBSurface(SDL_SWSURFACE,
- width,
- height,
- m_specific->m_surf_screen->format->BitsPerPixel,
- m_specific->m_rmask,
- m_specific->m_gmask,
- m_specific->m_bmask,
- m_specific->m_amask);
- if(m_specific->m_surf_img[idx] == 0)
- {
- fprintf(stderr, "Couldn't create image: %s\n", SDL_GetError());
- return false;
- }
-
- m_rbuf_img[idx].attach((unsigned char*)m_specific->m_surf_img[idx]->pixels,
- m_specific->m_surf_img[idx]->w,
- m_specific->m_surf_img[idx]->h,
- m_flip_y ? -m_specific->m_surf_img[idx]->pitch :
- m_specific->m_surf_img[idx]->pitch);
-
- return true;
- }
-
- return false;
- }
-
- //------------------------------------------------------------------------
- void platform_support::start_timer()
- {
- m_specific->m_sw_start = SDL_GetTicks();
- }
-
- //------------------------------------------------------------------------
- double platform_support::elapsed_time() const
- {
- int stop = SDL_GetTicks();
- return double(stop - m_specific->m_sw_start);
- }
-
- //------------------------------------------------------------------------
- void platform_support::message(const char* msg)
- {
- fprintf(stderr, "%s\n", msg);
- }
-
- //------------------------------------------------------------------------
- void platform_support::force_redraw()
- {
- m_specific->m_update_flag = true;
- }
-
-
- //------------------------------------------------------------------------
- void platform_support::on_init() {}
- void platform_support::on_resize(int sx, int sy) {}
- void platform_support::on_idle() {}
- void platform_support::on_mouse_move(int x, int y, unsigned flags) {}
- void platform_support::on_mouse_button_down(int x, int y, unsigned flags) {}
- void platform_support::on_mouse_button_up(int x, int y, unsigned flags) {}
- void platform_support::on_key(int x, int y, unsigned key, unsigned flags) {}
- void platform_support::on_ctrl_change() {}
- void platform_support::on_draw() {}
- void platform_support::on_post_draw(void* raw_handler) {}
-
-
-}
-
-
-int agg_main(int argc, char* argv[]);
-
-int main(int argc, char* argv[])
-{
- return agg_main(argc, argv);
-}
-
diff --git a/contrib/python/matplotlib/py3/extern/agg24-svn/src/platform/win32/agg_platform_support.cpp b/contrib/python/matplotlib/py3/extern/agg24-svn/src/platform/win32/agg_platform_support.cpp
deleted file mode 100644
index ea9123802f..0000000000
--- a/contrib/python/matplotlib/py3/extern/agg24-svn/src/platform/win32/agg_platform_support.cpp
+++ /dev/null
@@ -1,1655 +0,0 @@
-//----------------------------------------------------------------------------
-// Anti-Grain Geometry - Version 2.4
-// Copyright (C) 2002-2005 Maxim Shemanarev (http://www.antigrain.com)
-//
-// Permission to copy, use, modify, sell and distribute this software
-// is granted provided this copyright notice appears in all copies.
-// This software is provided "as is" without express or implied
-// warranty, and with no claim as to its suitability for any purpose.
-//
-//----------------------------------------------------------------------------
-// Contact: mcseem@antigrain.com
-// mcseemagg@yahoo.com
-// http://www.antigrain.com
-//----------------------------------------------------------------------------
-//
-// class platform_support
-//
-//----------------------------------------------------------------------------
-
-#include <windows.h>
-#include <string.h>
-#include "platform/agg_platform_support.h"
-#include "platform/win32/agg_win32_bmp.h"
-#include "util/agg_color_conv.h"
-#include "util/agg_color_conv_rgb8.h"
-#include "util/agg_color_conv_rgb16.h"
-#include "agg_pixfmt_gray.h"
-#include "agg_pixfmt_rgb.h"
-#include "agg_pixfmt_rgba.h"
-
-
-namespace agg
-{
-
- //------------------------------------------------------------------------
- HINSTANCE g_windows_instance = 0;
- int g_windows_cmd_show = 0;
-
-
- //------------------------------------------------------------------------
- class platform_specific
- {
- public:
- platform_specific(pix_format_e format, bool flip_y);
-
- void create_pmap(unsigned width, unsigned height,
- rendering_buffer* wnd);
-
- void display_pmap(HDC dc, const rendering_buffer* src);
- bool load_pmap(const char* fn, unsigned idx,
- rendering_buffer* dst);
-
- bool save_pmap(const char* fn, unsigned idx,
- const rendering_buffer* src);
-
- unsigned translate(unsigned keycode);
-
- pix_format_e m_format;
- pix_format_e m_sys_format;
- bool m_flip_y;
- unsigned m_bpp;
- unsigned m_sys_bpp;
- HWND m_hwnd;
- pixel_map m_pmap_window;
- pixel_map m_pmap_img[platform_support::max_images];
- unsigned m_keymap[256];
- unsigned m_last_translated_key;
- int m_cur_x;
- int m_cur_y;
- unsigned m_input_flags;
- bool m_redraw_flag;
- HDC m_current_dc;
- LARGE_INTEGER m_sw_freq;
- LARGE_INTEGER m_sw_start;
- };
-
-
- //------------------------------------------------------------------------
- platform_specific::platform_specific(pix_format_e format, bool flip_y) :
- m_format(format),
- m_sys_format(pix_format_undefined),
- m_flip_y(flip_y),
- m_bpp(0),
- m_sys_bpp(0),
- m_hwnd(0),
- m_last_translated_key(0),
- m_cur_x(0),
- m_cur_y(0),
- m_input_flags(0),
- m_redraw_flag(true),
- m_current_dc(0)
- {
- memset(m_keymap, 0, sizeof(m_keymap));
-
- m_keymap[VK_PAUSE] = key_pause;
- m_keymap[VK_CLEAR] = key_clear;
-
- m_keymap[VK_NUMPAD0] = key_kp0;
- m_keymap[VK_NUMPAD1] = key_kp1;
- m_keymap[VK_NUMPAD2] = key_kp2;
- m_keymap[VK_NUMPAD3] = key_kp3;
- m_keymap[VK_NUMPAD4] = key_kp4;
- m_keymap[VK_NUMPAD5] = key_kp5;
- m_keymap[VK_NUMPAD6] = key_kp6;
- m_keymap[VK_NUMPAD7] = key_kp7;
- m_keymap[VK_NUMPAD8] = key_kp8;
- m_keymap[VK_NUMPAD9] = key_kp9;
- m_keymap[VK_DECIMAL] = key_kp_period;
- m_keymap[VK_DIVIDE] = key_kp_divide;
- m_keymap[VK_MULTIPLY] = key_kp_multiply;
- m_keymap[VK_SUBTRACT] = key_kp_minus;
- m_keymap[VK_ADD] = key_kp_plus;
-
- m_keymap[VK_UP] = key_up;
- m_keymap[VK_DOWN] = key_down;
- m_keymap[VK_RIGHT] = key_right;
- m_keymap[VK_LEFT] = key_left;
- m_keymap[VK_INSERT] = key_insert;
- m_keymap[VK_DELETE] = key_delete;
- m_keymap[VK_HOME] = key_home;
- m_keymap[VK_END] = key_end;
- m_keymap[VK_PRIOR] = key_page_up;
- m_keymap[VK_NEXT] = key_page_down;
-
- m_keymap[VK_F1] = key_f1;
- m_keymap[VK_F2] = key_f2;
- m_keymap[VK_F3] = key_f3;
- m_keymap[VK_F4] = key_f4;
- m_keymap[VK_F5] = key_f5;
- m_keymap[VK_F6] = key_f6;
- m_keymap[VK_F7] = key_f7;
- m_keymap[VK_F8] = key_f8;
- m_keymap[VK_F9] = key_f9;
- m_keymap[VK_F10] = key_f10;
- m_keymap[VK_F11] = key_f11;
- m_keymap[VK_F12] = key_f12;
- m_keymap[VK_F13] = key_f13;
- m_keymap[VK_F14] = key_f14;
- m_keymap[VK_F15] = key_f15;
-
- m_keymap[VK_NUMLOCK] = key_numlock;
- m_keymap[VK_CAPITAL] = key_capslock;
- m_keymap[VK_SCROLL] = key_scrollock;
-
-
- switch(m_format)
- {
- case pix_format_bw:
- m_sys_format = pix_format_bw;
- m_bpp = 1;
- m_sys_bpp = 1;
- break;
-
- case pix_format_gray8:
- case pix_format_sgray8:
- m_sys_format = pix_format_sgray8;
- m_bpp = 8;
- m_sys_bpp = 8;
- break;
-
- case pix_format_gray16:
- m_sys_format = pix_format_sgray8;
- m_bpp = 16;
- m_sys_bpp = 8;
- break;
-
- case pix_format_gray32:
- m_sys_format = pix_format_sgray8;
- m_bpp = 32;
- m_sys_bpp = 8;
- break;
-
- case pix_format_rgb565:
- case pix_format_rgb555:
- m_sys_format = pix_format_rgb555;
- m_bpp = 16;
- m_sys_bpp = 16;
- break;
-
- case pix_format_rgbAAA:
- case pix_format_bgrAAA:
- case pix_format_rgbBBA:
- case pix_format_bgrABB:
- m_sys_format = pix_format_bgr24;
- m_bpp = 32;
- m_sys_bpp = 24;
- break;
-
- case pix_format_rgb24:
- case pix_format_bgr24:
- case pix_format_srgb24:
- case pix_format_sbgr24:
- m_sys_format = pix_format_sbgr24;
- m_bpp = 24;
- m_sys_bpp = 24;
- break;
-
- case pix_format_rgb48:
- case pix_format_bgr48:
- m_sys_format = pix_format_sbgr24;
- m_bpp = 48;
- m_sys_bpp = 24;
- break;
-
- case pix_format_rgb96:
- case pix_format_bgr96:
- m_sys_format = pix_format_sbgr24;
- m_bpp = 96;
- m_sys_bpp = 24;
- break;
-
- case pix_format_bgra32:
- case pix_format_abgr32:
- case pix_format_argb32:
- case pix_format_rgba32:
- case pix_format_sbgra32:
- case pix_format_sabgr32:
- case pix_format_sargb32:
- case pix_format_srgba32:
- m_sys_format = pix_format_sbgr24;
- m_bpp = 32;
- m_sys_bpp = 24;
- break;
-
- case pix_format_bgra64:
- case pix_format_abgr64:
- case pix_format_argb64:
- case pix_format_rgba64:
- m_sys_format = pix_format_sbgr24;
- m_bpp = 64;
- m_sys_bpp = 24;
- break;
-
- case pix_format_bgra128:
- case pix_format_abgr128:
- case pix_format_argb128:
- case pix_format_rgba128:
- m_sys_format = pix_format_sbgr24;
- m_bpp = 128;
- m_sys_bpp = 24;
- break;
-
- }
- ::QueryPerformanceFrequency(&m_sw_freq);
- ::QueryPerformanceCounter(&m_sw_start);
- }
-
-
- //------------------------------------------------------------------------
- void platform_specific::create_pmap(unsigned width,
- unsigned height,
- rendering_buffer* wnd)
- {
- m_pmap_window.create(width, height, org_e(m_bpp));
- wnd->attach(m_pmap_window.buf(),
- m_pmap_window.width(),
- m_pmap_window.height(),
- m_flip_y ?
- m_pmap_window.stride() :
- -m_pmap_window.stride());
- }
-
-
- //------------------------------------------------------------------------
- static void convert_pmap(rendering_buffer* dst,
- const rendering_buffer* src,
- pix_format_e format)
- {
- switch(format)
- {
- case pix_format_gray8:
- convert<pixfmt_sgray8, pixfmt_gray8>(dst, src);
- break;
-
- case pix_format_gray16:
- convert<pixfmt_sgray8, pixfmt_gray16>(dst, src);
- break;
-
- case pix_format_gray32:
- convert<pixfmt_sgray8, pixfmt_gray32>(dst, src);
- break;
-
- case pix_format_rgb565:
- color_conv(dst, src, color_conv_rgb565_to_rgb555());
- break;
-
- case pix_format_rgbAAA:
- color_conv(dst, src, color_conv_rgbAAA_to_bgr24());
- break;
-
- case pix_format_bgrAAA:
- color_conv(dst, src, color_conv_bgrAAA_to_bgr24());
- break;
-
- case pix_format_rgbBBA:
- color_conv(dst, src, color_conv_rgbBBA_to_bgr24());
- break;
-
- case pix_format_bgrABB:
- color_conv(dst, src, color_conv_bgrABB_to_bgr24());
- break;
-
- case pix_format_srgb24:
- color_conv(dst, src, color_conv_rgb24_to_bgr24());
- break;
-
- case pix_format_rgb24:
- convert<pixfmt_sbgr24, pixfmt_rgb24>(dst, src);
- break;
-
- case pix_format_bgr24:
- convert<pixfmt_sbgr24, pixfmt_bgr24>(dst, src);
- break;
-
- case pix_format_rgb48:
- convert<pixfmt_sbgr24, pixfmt_rgb48>(dst, src);
- break;
-
- case pix_format_bgr48:
- convert<pixfmt_sbgr24, pixfmt_bgr48>(dst, src);
- break;
-
- case pix_format_bgra32:
- convert<pixfmt_sbgr24, pixfmt_bgrx32>(dst, src);
- break;
-
- case pix_format_abgr32:
- convert<pixfmt_sbgr24, pixfmt_xbgr32>(dst, src);
- break;
-
- case pix_format_argb32:
- convert<pixfmt_sbgr24, pixfmt_xrgb32>(dst, src);
- break;
-
- case pix_format_rgba32:
- convert<pixfmt_sbgr24, pixfmt_rgbx32>(dst, src);
- break;
-
- case pix_format_sbgra32:
- convert<pixfmt_sbgr24, pixfmt_sbgrx32>(dst, src);
- break;
-
- case pix_format_sabgr32:
- convert<pixfmt_sbgr24, pixfmt_sxbgr32>(dst, src);
- break;
-
- case pix_format_sargb32:
- convert<pixfmt_sbgr24, pixfmt_sxrgb32>(dst, src);
- break;
-
- case pix_format_srgba32:
- convert<pixfmt_sbgr24, pixfmt_srgbx32>(dst, src);
- break;
-
- case pix_format_bgra64:
- convert<pixfmt_sbgr24, pixfmt_bgrx64>(dst, src);
- break;
-
- case pix_format_abgr64:
- convert<pixfmt_sbgr24, pixfmt_xbgr64>(dst, src);
- break;
-
- case pix_format_argb64:
- convert<pixfmt_sbgr24, pixfmt_xrgb64>(dst, src);
- break;
-
- case pix_format_rgba64:
- convert<pixfmt_sbgr24, pixfmt_rgbx64>(dst, src);
- break;
-
- case pix_format_rgb96:
- convert<pixfmt_sbgr24, pixfmt_rgb96>(dst, src);
- break;
-
- case pix_format_bgr96:
- convert<pixfmt_sbgr24, pixfmt_bgr96>(dst, src);
- break;
-
- case pix_format_bgra128:
- convert<pixfmt_sbgr24, pixfmt_bgrx128>(dst, src);
- break;
-
- case pix_format_abgr128:
- convert<pixfmt_sbgr24, pixfmt_xbgr128>(dst, src);
- break;
-
- case pix_format_argb128:
- convert<pixfmt_sbgr24, pixfmt_xrgb128>(dst, src);
- break;
-
- case pix_format_rgba128:
- convert<pixfmt_sbgr24, pixfmt_rgbx128>(dst, src);
- break;
- }
- }
-
-
- //------------------------------------------------------------------------
- void platform_specific::display_pmap(HDC dc, const rendering_buffer* src)
- {
- if(m_sys_format == m_format)
- {
- m_pmap_window.draw(dc);
- }
- else
- {
- pixel_map pmap_tmp;
- pmap_tmp.create(m_pmap_window.width(),
- m_pmap_window.height(),
- org_e(m_sys_bpp));
-
- rendering_buffer rbuf_tmp;
- rbuf_tmp.attach(pmap_tmp.buf(),
- pmap_tmp.width(),
- pmap_tmp.height(),
- m_flip_y ?
- pmap_tmp.stride() :
- -pmap_tmp.stride());
-
- convert_pmap(&rbuf_tmp, src, m_format);
- pmap_tmp.draw(dc);
- }
- }
-
-
-
- //------------------------------------------------------------------------
- bool platform_specific::save_pmap(const char* fn, unsigned idx,
- const rendering_buffer* src)
- {
- if(m_sys_format == m_format)
- {
- return m_pmap_img[idx].save_as_bmp(fn);
- }
-
- pixel_map pmap_tmp;
- pmap_tmp.create(m_pmap_img[idx].width(),
- m_pmap_img[idx].height(),
- org_e(m_sys_bpp));
-
- rendering_buffer rbuf_tmp;
- rbuf_tmp.attach(pmap_tmp.buf(),
- pmap_tmp.width(),
- pmap_tmp.height(),
- m_flip_y ?
- pmap_tmp.stride() :
- -pmap_tmp.stride());
-
- convert_pmap(&rbuf_tmp, src, m_format);
- return pmap_tmp.save_as_bmp(fn);
- }
-
-
-
- //------------------------------------------------------------------------
- bool platform_specific::load_pmap(const char* fn, unsigned idx,
- rendering_buffer* dst)
- {
- pixel_map pmap_tmp;
- if(!pmap_tmp.load_from_bmp(fn)) return false;
-
- rendering_buffer rbuf_tmp;
- rbuf_tmp.attach(pmap_tmp.buf(),
- pmap_tmp.width(),
- pmap_tmp.height(),
- m_flip_y ?
- pmap_tmp.stride() :
- -pmap_tmp.stride());
-
- m_pmap_img[idx].create(pmap_tmp.width(),
- pmap_tmp.height(),
- org_e(m_bpp),
- 0);
-
- dst->attach(m_pmap_img[idx].buf(),
- m_pmap_img[idx].width(),
- m_pmap_img[idx].height(),
- m_flip_y ?
- m_pmap_img[idx].stride() :
- -m_pmap_img[idx].stride());
-
- switch(m_format)
- {
- case pix_format_sgray8:
- switch(pmap_tmp.bpp())
- {
- //case 16: color_conv(dst, &rbuf_tmp, color_conv_rgb555_to_gray8()); break;
- case 24: color_conv(dst, &rbuf_tmp, color_conv_bgr24_to_gray8()); break;
- //case 32: color_conv(dst, &rbuf_tmp, color_conv_bgra32_to_gray8()); break;
- }
- break;
-
- case pix_format_gray8:
- switch(pmap_tmp.bpp())
- {
- case 24: convert<pixfmt_gray8, pixfmt_sbgr24>(dst, &rbuf_tmp); break;
- }
- break;
-
- case pix_format_gray16:
- switch(pmap_tmp.bpp())
- {
- //case 16: color_conv(dst, &rbuf_tmp, color_conv_rgb555_to_gray16()); break;
- case 24: convert<pixfmt_gray16, pixfmt_sbgr24>(dst, &rbuf_tmp); break;
- //case 32: color_conv(dst, &rbuf_tmp, color_conv_bgra32_to_gray16()); break;
- }
- break;
-
- case pix_format_gray32:
- switch(pmap_tmp.bpp())
- {
- //case 16: color_conv(dst, &rbuf_tmp, color_conv_rgb555_to_gray32()); break;
- case 24: convert<pixfmt_gray32, pixfmt_sbgr24>(dst, &rbuf_tmp); break;
- //case 32: color_conv(dst, &rbuf_tmp, color_conv_bgra32_to_gray32()); break;
- }
- break;
-
- case pix_format_rgb555:
- switch(pmap_tmp.bpp())
- {
- case 16: color_conv(dst, &rbuf_tmp, color_conv_rgb555_to_rgb555()); break;
- case 24: color_conv(dst, &rbuf_tmp, color_conv_bgr24_to_rgb555()); break;
- case 32: color_conv(dst, &rbuf_tmp, color_conv_bgra32_to_rgb555()); break;
- }
- break;
-
- case pix_format_rgb565:
- switch(pmap_tmp.bpp())
- {
- case 16: color_conv(dst, &rbuf_tmp, color_conv_rgb555_to_rgb565()); break;
- case 24: color_conv(dst, &rbuf_tmp, color_conv_bgr24_to_rgb565()); break;
- case 32: color_conv(dst, &rbuf_tmp, color_conv_bgra32_to_rgb565()); break;
- }
- break;
-
- case pix_format_srgb24:
- switch(pmap_tmp.bpp())
- {
- case 16: color_conv(dst, &rbuf_tmp, color_conv_rgb555_to_rgb24()); break;
- case 24: color_conv(dst, &rbuf_tmp, color_conv_bgr24_to_rgb24()); break;
- case 32: color_conv(dst, &rbuf_tmp, color_conv_bgra32_to_rgb24()); break;
- }
- break;
-
- case pix_format_sbgr24:
- switch(pmap_tmp.bpp())
- {
- case 16: color_conv(dst, &rbuf_tmp, color_conv_rgb555_to_bgr24()); break;
- case 24: color_conv(dst, &rbuf_tmp, color_conv_bgr24_to_bgr24()); break;
- case 32: color_conv(dst, &rbuf_tmp, color_conv_bgra32_to_bgr24()); break;
- }
- break;
-
- case pix_format_rgb24:
- switch(pmap_tmp.bpp())
- {
- case 24: convert<pixfmt_rgb24, pixfmt_sbgr24>(dst, &rbuf_tmp); break;
- }
- break;
-
- case pix_format_bgr24:
- switch(pmap_tmp.bpp())
- {
- case 24: convert<pixfmt_bgr24, pixfmt_sbgr24>(dst, &rbuf_tmp); break;
- }
- break;
-
- case pix_format_rgb48:
- switch(pmap_tmp.bpp())
- {
- //case 16: color_conv(dst, &rbuf_tmp, color_conv_rgb555_to_rgb48()); break;
- case 24: convert<pixfmt_rgb48, pixfmt_sbgr24>(dst, &rbuf_tmp); break;
- //case 32: color_conv(dst, &rbuf_tmp, color_conv_bgra32_to_rgb48()); break;
- }
- break;
-
- case pix_format_bgr48:
- switch(pmap_tmp.bpp())
- {
- //case 16: color_conv(dst, &rbuf_tmp, color_conv_rgb555_to_bgr48()); break;
- case 24: convert<pixfmt_bgr48, pixfmt_sbgr24>(dst, &rbuf_tmp); break;
- //case 32: color_conv(dst, &rbuf_tmp, color_conv_bgra32_to_bgr48()); break;
- }
- break;
-
- case pix_format_sabgr32:
- switch(pmap_tmp.bpp())
- {
- case 16: color_conv(dst, &rbuf_tmp, color_conv_rgb555_to_abgr32()); break;
- case 24: color_conv(dst, &rbuf_tmp, color_conv_bgr24_to_abgr32()); break;
- case 32: color_conv(dst, &rbuf_tmp, color_conv_bgra32_to_abgr32()); break;
- }
- break;
-
- case pix_format_sargb32:
- switch(pmap_tmp.bpp())
- {
- case 16: color_conv(dst, &rbuf_tmp, color_conv_rgb555_to_argb32()); break;
- case 24: color_conv(dst, &rbuf_tmp, color_conv_bgr24_to_argb32()); break;
- case 32: color_conv(dst, &rbuf_tmp, color_conv_bgra32_to_argb32()); break;
- }
- break;
-
- case pix_format_sbgra32:
- switch(pmap_tmp.bpp())
- {
- case 16: color_conv(dst, &rbuf_tmp, color_conv_rgb555_to_bgra32()); break;
- case 24: color_conv(dst, &rbuf_tmp, color_conv_bgr24_to_bgra32()); break;
- case 32: color_conv(dst, &rbuf_tmp, color_conv_bgra32_to_bgra32()); break;
- }
- break;
-
- case pix_format_srgba32:
- switch(pmap_tmp.bpp())
- {
- case 16: color_conv(dst, &rbuf_tmp, color_conv_rgb555_to_rgba32()); break;
- case 24: color_conv(dst, &rbuf_tmp, color_conv_bgr24_to_rgba32()); break;
- case 32: color_conv(dst, &rbuf_tmp, color_conv_bgra32_to_rgba32()); break;
- }
- break;
-
- case pix_format_abgr32:
- switch(pmap_tmp.bpp())
- {
- case 24: convert<pixfmt_abgr32, pixfmt_sbgr24>(dst, &rbuf_tmp); break;
- }
- break;
-
- case pix_format_argb32:
- switch(pmap_tmp.bpp())
- {
- case 24: convert<pixfmt_argb32, pixfmt_sbgr24>(dst, &rbuf_tmp); break;
- }
- break;
-
- case pix_format_bgra32:
- switch(pmap_tmp.bpp())
- {
- case 24: convert<pixfmt_bgra32, pixfmt_sbgr24>(dst, &rbuf_tmp); break;
- }
- break;
-
- case pix_format_rgba32:
- switch(pmap_tmp.bpp())
- {
- case 24: convert<pixfmt_rgba32, pixfmt_sbgr24>(dst, &rbuf_tmp); break;
- }
- break;
-
- case pix_format_abgr64:
- switch(pmap_tmp.bpp())
- {
- case 24: convert<pixfmt_abgr64, pixfmt_sbgr24>(dst, &rbuf_tmp); break;
- }
- break;
-
- case pix_format_argb64:
- switch(pmap_tmp.bpp())
- {
- case 24: convert<pixfmt_argb64, pixfmt_sbgr24>(dst, &rbuf_tmp); break;
- }
- break;
-
- case pix_format_bgra64:
- switch(pmap_tmp.bpp())
- {
- case 24: convert<pixfmt_bgra64, pixfmt_sbgr24>(dst, &rbuf_tmp); break;
- }
- break;
-
- case pix_format_rgba64:
- switch(pmap_tmp.bpp())
- {
- case 24: convert<pixfmt_rgba64, pixfmt_sbgr24>(dst, &rbuf_tmp); break;
- }
- break;
-
- case pix_format_rgb96:
- switch(pmap_tmp.bpp())
- {
- case 24: convert<pixfmt_rgb96, pixfmt_sbgr24>(dst, &rbuf_tmp); break;
- }
- break;
-
- case pix_format_bgr96:
- switch(pmap_tmp.bpp())
- {
- case 24: convert<pixfmt_bgr96, pixfmt_sbgr24>(dst, &rbuf_tmp); break;
- }
- break;
-
- case pix_format_abgr128:
- switch(pmap_tmp.bpp())
- {
- case 24: convert<pixfmt_abgr128, pixfmt_sbgr24>(dst, &rbuf_tmp); break;
- }
- break;
-
- case pix_format_argb128:
- switch(pmap_tmp.bpp())
- {
- case 24: convert<pixfmt_argb128, pixfmt_sbgr24>(dst, &rbuf_tmp); break;
- }
- break;
-
- case pix_format_bgra128:
- switch(pmap_tmp.bpp())
- {
- case 24: convert<pixfmt_bgra128, pixfmt_sbgr24>(dst, &rbuf_tmp); break;
- }
- break;
-
- case pix_format_rgba128:
- switch(pmap_tmp.bpp())
- {
- case 24: convert<pixfmt_rgba128, pixfmt_sbgr24>(dst, &rbuf_tmp); break;
- }
- break;
- }
-
- return true;
- }
-
-
-
-
-
-
-
-
- //------------------------------------------------------------------------
- unsigned platform_specific::translate(unsigned keycode)
- {
- return m_last_translated_key = (keycode > 255) ? 0 : m_keymap[keycode];
- }
-
-
-
- //------------------------------------------------------------------------
- platform_support::platform_support(pix_format_e format, bool flip_y) :
- m_specific(new platform_specific(format, flip_y)),
- m_format(format),
- m_bpp(m_specific->m_bpp),
- m_window_flags(0),
- m_wait_mode(true),
- m_flip_y(flip_y),
- m_initial_width(10),
- m_initial_height(10)
- {
- strcpy(m_caption, "Anti-Grain Geometry Application");
- }
-
-
- //------------------------------------------------------------------------
- platform_support::~platform_support()
- {
- delete m_specific;
- }
-
-
-
- //------------------------------------------------------------------------
- void platform_support::caption(const char* cap)
- {
- strcpy(m_caption, cap);
- if(m_specific->m_hwnd)
- {
- SetWindowText(m_specific->m_hwnd, m_caption);
- }
- }
-
- //------------------------------------------------------------------------
- void platform_support::start_timer()
- {
- ::QueryPerformanceCounter(&(m_specific->m_sw_start));
- }
-
- //------------------------------------------------------------------------
- double platform_support::elapsed_time() const
- {
- LARGE_INTEGER stop;
- ::QueryPerformanceCounter(&stop);
- return double(stop.QuadPart -
- m_specific->m_sw_start.QuadPart) * 1000.0 /
- double(m_specific->m_sw_freq.QuadPart);
- }
-
-
-
- //------------------------------------------------------------------------
- static unsigned get_key_flags(int wflags)
- {
- unsigned flags = 0;
- if(wflags & MK_LBUTTON) flags |= mouse_left;
- if(wflags & MK_RBUTTON) flags |= mouse_right;
- if(wflags & MK_SHIFT) flags |= kbd_shift;
- if(wflags & MK_CONTROL) flags |= kbd_ctrl;
- return flags;
- }
-
-
- void* platform_support::raw_display_handler()
- {
- return m_specific->m_current_dc;
- }
-
-
- //------------------------------------------------------------------------
- LRESULT CALLBACK window_proc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam)
- {
- PAINTSTRUCT ps;
- HDC paintDC;
-
-
- void* user_data = reinterpret_cast<void*>(::GetWindowLongPtr(hWnd, GWLP_USERDATA));
- platform_support* app = 0;
-
- if(user_data)
- {
- app = reinterpret_cast<platform_support*>(user_data);
- }
-
- if(app == 0)
- {
- if(msg == WM_DESTROY)
- {
- ::PostQuitMessage(0);
- return 0;
- }
- return ::DefWindowProc(hWnd, msg, wParam, lParam);
- }
-
- HDC dc = ::GetDC(app->m_specific->m_hwnd);
- app->m_specific->m_current_dc = dc;
- LRESULT ret = 0;
-
- switch(msg)
- {
- //--------------------------------------------------------------------
- case WM_CREATE:
- break;
-
- //--------------------------------------------------------------------
- case WM_SIZE:
- app->m_specific->create_pmap(LOWORD(lParam),
- HIWORD(lParam),
- &app->rbuf_window());
-
- app->trans_affine_resizing(LOWORD(lParam), HIWORD(lParam));
- app->on_resize(LOWORD(lParam), HIWORD(lParam));
- app->force_redraw();
- break;
-
- //--------------------------------------------------------------------
- case WM_ERASEBKGND:
- break;
-
- //--------------------------------------------------------------------
- case WM_LBUTTONDOWN:
- ::SetCapture(app->m_specific->m_hwnd);
- app->m_specific->m_cur_x = int16(LOWORD(lParam));
- if(app->flip_y())
- {
- app->m_specific->m_cur_y = app->rbuf_window().height() - int16(HIWORD(lParam));
- }
- else
- {
- app->m_specific->m_cur_y = int16(HIWORD(lParam));
- }
- app->m_specific->m_input_flags = mouse_left | get_key_flags(wParam);
-
- app->m_ctrls.set_cur(app->m_specific->m_cur_x,
- app->m_specific->m_cur_y);
- if(app->m_ctrls.on_mouse_button_down(app->m_specific->m_cur_x,
- app->m_specific->m_cur_y))
- {
- app->on_ctrl_change();
- app->force_redraw();
- }
- else
- {
- if(app->m_ctrls.in_rect(app->m_specific->m_cur_x,
- app->m_specific->m_cur_y))
- {
- if(app->m_ctrls.set_cur(app->m_specific->m_cur_x,
- app->m_specific->m_cur_y))
- {
- app->on_ctrl_change();
- app->force_redraw();
- }
- }
- else
- {
- app->on_mouse_button_down(app->m_specific->m_cur_x,
- app->m_specific->m_cur_y,
- app->m_specific->m_input_flags);
- }
- }
-/*
- if(!app->wait_mode())
- {
- app->on_idle();
- }
-*/
- break;
-
- //--------------------------------------------------------------------
- case WM_LBUTTONUP:
- ::ReleaseCapture();
- app->m_specific->m_cur_x = int16(LOWORD(lParam));
- if(app->flip_y())
- {
- app->m_specific->m_cur_y = app->rbuf_window().height() - int16(HIWORD(lParam));
- }
- else
- {
- app->m_specific->m_cur_y = int16(HIWORD(lParam));
- }
- app->m_specific->m_input_flags = mouse_left | get_key_flags(wParam);
-
- if(app->m_ctrls.on_mouse_button_up(app->m_specific->m_cur_x,
- app->m_specific->m_cur_y))
- {
- app->on_ctrl_change();
- app->force_redraw();
- }
- app->on_mouse_button_up(app->m_specific->m_cur_x,
- app->m_specific->m_cur_y,
- app->m_specific->m_input_flags);
-/*
- if(!app->wait_mode())
- {
- app->on_idle();
- }
-*/
- break;
-
-
- //--------------------------------------------------------------------
- case WM_RBUTTONDOWN:
- ::SetCapture(app->m_specific->m_hwnd);
- app->m_specific->m_cur_x = int16(LOWORD(lParam));
- if(app->flip_y())
- {
- app->m_specific->m_cur_y = app->rbuf_window().height() - int16(HIWORD(lParam));
- }
- else
- {
- app->m_specific->m_cur_y = int16(HIWORD(lParam));
- }
- app->m_specific->m_input_flags = mouse_right | get_key_flags(wParam);
- app->on_mouse_button_down(app->m_specific->m_cur_x,
- app->m_specific->m_cur_y,
- app->m_specific->m_input_flags);
-/*
- if(!app->wait_mode())
- {
- app->on_idle();
- }
-*/
- break;
-
- //--------------------------------------------------------------------
- case WM_RBUTTONUP:
- ::ReleaseCapture();
- app->m_specific->m_cur_x = int16(LOWORD(lParam));
- if(app->flip_y())
- {
- app->m_specific->m_cur_y = app->rbuf_window().height() - int16(HIWORD(lParam));
- }
- else
- {
- app->m_specific->m_cur_y = int16(HIWORD(lParam));
- }
- app->m_specific->m_input_flags = mouse_right | get_key_flags(wParam);
- app->on_mouse_button_up(app->m_specific->m_cur_x,
- app->m_specific->m_cur_y,
- app->m_specific->m_input_flags);
-/*
- if(!app->wait_mode())
- {
- app->on_idle();
- }
-*/
- break;
-
- //--------------------------------------------------------------------
- case WM_MOUSEMOVE:
- app->m_specific->m_cur_x = int16(LOWORD(lParam));
- if(app->flip_y())
- {
- app->m_specific->m_cur_y = app->rbuf_window().height() - int16(HIWORD(lParam));
- }
- else
- {
- app->m_specific->m_cur_y = int16(HIWORD(lParam));
- }
- app->m_specific->m_input_flags = get_key_flags(wParam);
-
-
- if(app->m_ctrls.on_mouse_move(
- app->m_specific->m_cur_x,
- app->m_specific->m_cur_y,
- (app->m_specific->m_input_flags & mouse_left) != 0))
- {
- app->on_ctrl_change();
- app->force_redraw();
- }
- else
- {
- if(!app->m_ctrls.in_rect(app->m_specific->m_cur_x,
- app->m_specific->m_cur_y))
- {
- app->on_mouse_move(app->m_specific->m_cur_x,
- app->m_specific->m_cur_y,
- app->m_specific->m_input_flags);
- }
- }
-/*
- if(!app->wait_mode())
- {
- app->on_idle();
- }
-*/
- break;
-
- //--------------------------------------------------------------------
- case WM_SYSKEYDOWN:
- case WM_KEYDOWN:
- app->m_specific->m_last_translated_key = 0;
- switch(wParam)
- {
- case VK_CONTROL:
- app->m_specific->m_input_flags |= kbd_ctrl;
- break;
-
- case VK_SHIFT:
- app->m_specific->m_input_flags |= kbd_shift;
- break;
-
- default:
- app->m_specific->translate(wParam);
- break;
- }
-
- if(app->m_specific->m_last_translated_key)
- {
- bool left = false;
- bool up = false;
- bool right = false;
- bool down = false;
-
- switch(app->m_specific->m_last_translated_key)
- {
- case key_left:
- left = true;
- break;
-
- case key_up:
- up = true;
- break;
-
- case key_right:
- right = true;
- break;
-
- case key_down:
- down = true;
- break;
-
- case key_f2:
- app->copy_window_to_img(agg::platform_support::max_images - 1);
- app->save_img(agg::platform_support::max_images - 1, "screenshot");
- break;
- }
-
- if(app->window_flags() & window_process_all_keys)
- {
- app->on_key(app->m_specific->m_cur_x,
- app->m_specific->m_cur_y,
- app->m_specific->m_last_translated_key,
- app->m_specific->m_input_flags);
- }
- else
- {
- if(app->m_ctrls.on_arrow_keys(left, right, down, up))
- {
- app->on_ctrl_change();
- app->force_redraw();
- }
- else
- {
- app->on_key(app->m_specific->m_cur_x,
- app->m_specific->m_cur_y,
- app->m_specific->m_last_translated_key,
- app->m_specific->m_input_flags);
- }
- }
- }
-/*
- if(!app->wait_mode())
- {
- app->on_idle();
- }
-*/
- break;
-
- //--------------------------------------------------------------------
- case WM_SYSKEYUP:
- case WM_KEYUP:
- app->m_specific->m_last_translated_key = 0;
- switch(wParam)
- {
- case VK_CONTROL:
- app->m_specific->m_input_flags &= ~kbd_ctrl;
- break;
-
- case VK_SHIFT:
- app->m_specific->m_input_flags &= ~kbd_shift;
- break;
- }
- break;
-
- //--------------------------------------------------------------------
- case WM_CHAR:
- case WM_SYSCHAR:
- if(app->m_specific->m_last_translated_key == 0)
- {
- app->on_key(app->m_specific->m_cur_x,
- app->m_specific->m_cur_y,
- wParam,
- app->m_specific->m_input_flags);
- }
- break;
-
- //--------------------------------------------------------------------
- case WM_PAINT:
- paintDC = ::BeginPaint(hWnd, &ps);
- app->m_specific->m_current_dc = paintDC;
- if(app->m_specific->m_redraw_flag)
- {
- app->on_draw();
- app->m_specific->m_redraw_flag = false;
- }
- app->m_specific->display_pmap(paintDC, &app->rbuf_window());
- app->on_post_draw(paintDC);
- app->m_specific->m_current_dc = 0;
- ::EndPaint(hWnd, &ps);
- break;
-
- //--------------------------------------------------------------------
- case WM_COMMAND:
- break;
-
- //--------------------------------------------------------------------
- case WM_DESTROY:
- ::PostQuitMessage(0);
- break;
-
- //--------------------------------------------------------------------
- default:
- ret = ::DefWindowProc(hWnd, msg, wParam, lParam);
- break;
- }
- app->m_specific->m_current_dc = 0;
- ::ReleaseDC(app->m_specific->m_hwnd, dc);
- return ret;
- }
-
-
- //------------------------------------------------------------------------
- void platform_support::message(const char* msg)
- {
- ::MessageBox(m_specific->m_hwnd, msg, "AGG Message", MB_OK);
- }
-
-
- //------------------------------------------------------------------------
- bool platform_support::init(unsigned width, unsigned height, unsigned flags)
- {
- if(m_specific->m_sys_format == pix_format_undefined)
- {
- return false;
- }
-
- m_window_flags = flags;
-
- int wflags = CS_OWNDC | CS_VREDRAW | CS_HREDRAW;
-
- WNDCLASS wc;
- wc.lpszClassName = "AGGAppClass";
- wc.lpfnWndProc = window_proc;
- wc.style = wflags;
- wc.hInstance = g_windows_instance;
- wc.hIcon = LoadIcon(0, IDI_APPLICATION);
- wc.hCursor = LoadCursor(0, IDC_ARROW);
- wc.hbrBackground = (HBRUSH)(COLOR_WINDOW+1);
- wc.lpszMenuName = "AGGAppMenu";
- wc.cbClsExtra = 0;
- wc.cbWndExtra = 0;
- ::RegisterClass(&wc);
-
- wflags = WS_OVERLAPPED | WS_CAPTION | WS_SYSMENU | WS_MINIMIZEBOX;
-
- if(m_window_flags & window_resize)
- {
- wflags |= WS_THICKFRAME | WS_MAXIMIZEBOX;
- }
-
- m_specific->m_hwnd = ::CreateWindow("AGGAppClass",
- m_caption,
- wflags,
- 100,
- 100,
- width,
- height,
- 0,
- 0,
- g_windows_instance,
- 0);
-
- if(m_specific->m_hwnd == 0)
- {
- return false;
- }
-
-
- RECT rct;
- ::GetClientRect(m_specific->m_hwnd, &rct);
-
- ::MoveWindow(m_specific->m_hwnd, // handle to window
- 100, // horizontal position
- 100, // vertical position
- width + (width - (rct.right - rct.left)),
- height + (height - (rct.bottom - rct.top)),
- FALSE);
-
- ::SetWindowLongPtr(m_specific->m_hwnd, GWLP_USERDATA, (LONG)this);
- m_specific->create_pmap(width, height, &m_rbuf_window);
- m_initial_width = width;
- m_initial_height = height;
- on_init();
- m_specific->m_redraw_flag = true;
- ::ShowWindow(m_specific->m_hwnd, g_windows_cmd_show);
- return true;
- }
-
-
-
- //------------------------------------------------------------------------
- int platform_support::run()
- {
- MSG msg;
-
- for(;;)
- {
- if(m_wait_mode)
- {
- if(!::GetMessage(&msg, 0, 0, 0))
- {
- break;
- }
- ::TranslateMessage(&msg);
- ::DispatchMessage(&msg);
- }
- else
- {
- if(::PeekMessage(&msg, 0, 0, 0, PM_REMOVE))
- {
- ::TranslateMessage(&msg);
- if(msg.message == WM_QUIT)
- {
- break;
- }
- ::DispatchMessage(&msg);
- }
- else
- {
- on_idle();
- }
- }
- }
- return (int)msg.wParam;
- }
-
-
- //------------------------------------------------------------------------
- const char* platform_support::img_ext() const { return ".bmp"; }
-
-
- //------------------------------------------------------------------------
- const char* platform_support::full_file_name(const char* file_name)
- {
- return file_name;
- }
-
- //------------------------------------------------------------------------
- bool platform_support::load_img(unsigned idx, const char* file)
- {
- if(idx < max_images)
- {
- char fn[1024];
- strcpy(fn, file);
- int len = strlen(fn);
- if(len < 4 || _stricmp(fn + len - 4, ".BMP") != 0)
- {
- strcat(fn, ".bmp");
- }
- return m_specific->load_pmap(fn, idx, &m_rbuf_img[idx]);
- }
- return true;
- }
-
-
-
- //------------------------------------------------------------------------
- bool platform_support::save_img(unsigned idx, const char* file)
- {
- if(idx < max_images)
- {
- char fn[1024];
- strcpy(fn, file);
- int len = strlen(fn);
- if(len < 4 || _stricmp(fn + len - 4, ".BMP") != 0)
- {
- strcat(fn, ".bmp");
- }
- return m_specific->save_pmap(fn, idx, &m_rbuf_img[idx]);
- }
- return true;
- }
-
-
-
- //------------------------------------------------------------------------
- bool platform_support::create_img(unsigned idx, unsigned width, unsigned height)
- {
- if(idx < max_images)
- {
- if(width == 0) width = m_specific->m_pmap_window.width();
- if(height == 0) height = m_specific->m_pmap_window.height();
- m_specific->m_pmap_img[idx].create(width, height, org_e(m_specific->m_bpp));
- m_rbuf_img[idx].attach(m_specific->m_pmap_img[idx].buf(),
- m_specific->m_pmap_img[idx].width(),
- m_specific->m_pmap_img[idx].height(),
- m_flip_y ?
- m_specific->m_pmap_img[idx].stride() :
- -m_specific->m_pmap_img[idx].stride());
- return true;
- }
- return false;
- }
-
-
- //------------------------------------------------------------------------
- void platform_support::force_redraw()
- {
- m_specific->m_redraw_flag = true;
- ::InvalidateRect(m_specific->m_hwnd, 0, FALSE);
- }
-
-
-
- //------------------------------------------------------------------------
- void platform_support::update_window()
- {
- HDC dc = ::GetDC(m_specific->m_hwnd);
- m_specific->display_pmap(dc, &m_rbuf_window);
- ::ReleaseDC(m_specific->m_hwnd, dc);
- }
-
-
- //------------------------------------------------------------------------
- void platform_support::on_init() {}
- void platform_support::on_resize(int sx, int sy) {}
- void platform_support::on_idle() {}
- void platform_support::on_mouse_move(int x, int y, unsigned flags) {}
- void platform_support::on_mouse_button_down(int x, int y, unsigned flags) {}
- void platform_support::on_mouse_button_up(int x, int y, unsigned flags) {}
- void platform_support::on_key(int x, int y, unsigned key, unsigned flags) {}
- void platform_support::on_ctrl_change() {}
- void platform_support::on_draw() {}
- void platform_support::on_post_draw(void* raw_handler) {}
-}
-
-
-
-
-namespace agg
-{
- // That's ridiculous. I have to parse the command line by myself
- // because Windows doesn't provide a method of getting the command
- // line arguments in a form of argc, argv. Of course, there's
- // CommandLineToArgv() but first, it returns Unicode that I don't
- // need to deal with, but most of all, it's not compatible with Win98.
- //-----------------------------------------------------------------------
- class tokenizer
- {
- public:
- enum sep_flag
- {
- single,
- multiple,
- whole_str
- };
-
- struct token
- {
- const char* ptr;
- unsigned len;
- };
-
- public:
- tokenizer(const char* sep,
- const char* trim=0,
- const char* quote="\"",
- char mask_chr='\\',
- sep_flag sf=multiple);
-
- void set_str(const char* str);
- token next_token();
-
- private:
- int check_chr(const char *str, char chr);
-
- private:
- const char* m_src_string;
- int m_start;
- const char* m_sep;
- const char* m_trim;
- const char* m_quote;
- char m_mask_chr;
- unsigned m_sep_len;
- sep_flag m_sep_flag;
- };
-
-
-
- //-----------------------------------------------------------------------
- inline void tokenizer::set_str(const char* str)
- {
- m_src_string = str;
- m_start = 0;
- }
-
-
- //-----------------------------------------------------------------------
- inline int tokenizer::check_chr(const char *str, char chr)
- {
- return int(strchr(str, chr));
- }
-
-
- //-----------------------------------------------------------------------
- tokenizer::tokenizer(const char* sep,
- const char* trim,
- const char* quote,
- char mask_chr,
- sep_flag sf) :
- m_src_string(0),
- m_start(0),
- m_sep(sep),
- m_trim(trim),
- m_quote(quote),
- m_mask_chr(mask_chr),
- m_sep_len(sep ? strlen(sep) : 0),
- m_sep_flag(sep ? sf : single)
- {
- }
-
-
- //-----------------------------------------------------------------------
- tokenizer::token tokenizer::next_token()
- {
- unsigned count = 0;
- char quote_chr = 0;
- token tok;
-
- tok.ptr = 0;
- tok.len = 0;
- if(m_src_string == 0 || m_start == -1) return tok;
-
- const char *pstr = m_src_string + m_start;
-
- if(*pstr == 0)
- {
- m_start = -1;
- return tok;
- }
-
- int sep_len = 1;
- if(m_sep_flag == whole_str) sep_len = m_sep_len;
-
- if(m_sep_flag == multiple)
- {
- //Pass all the separator symbols at the begin of the string
- while(*pstr && check_chr(m_sep, *pstr))
- {
- ++pstr;
- ++m_start;
- }
- }
-
- if(*pstr == 0)
- {
- m_start = -1;
- return tok;
- }
-
- for(count = 0;; ++count)
- {
- char c = *pstr;
- int found = 0;
-
- //We are outside of qotation: find one of separator symbols
- if(quote_chr == 0)
- {
- if(sep_len == 1)
- {
- found = check_chr(m_sep, c);
- }
- else
- {
- found = strncmp(m_sep, pstr, m_sep_len) == 0;
- }
- }
-
- ++pstr;
-
- if(c == 0 || found)
- {
- if(m_trim)
- {
- while(count &&
- check_chr(m_trim, m_src_string[m_start]))
- {
- ++m_start;
- --count;
- }
-
- while(count &&
- check_chr(m_trim, m_src_string[m_start + count - 1]))
- {
- --count;
- }
- }
-
- tok.ptr = m_src_string + m_start;
- tok.len = count;
-
- //Next time it will be the next separator character
- //But we must check, whether it is NOT the end of the string.
- m_start += count;
- if(c)
- {
- m_start += sep_len;
- if(m_sep_flag == multiple)
- {
- //Pass all the separator symbols
- //after the end of the string
- while(check_chr(m_sep, m_src_string[m_start]))
- {
- ++m_start;
- }
- }
- }
- break;
- }
-
- //Switch quote. If it is not a quote yet, try to check any of
- //quote symbols. Otherwise quote must be finished with quote_symb
- if(quote_chr == 0)
- {
- if(check_chr(m_quote, c))
- {
- quote_chr = c;
- continue;
- }
- }
- else
- {
- //We are inside quote: pass all the mask symbols
- if(m_mask_chr && c == m_mask_chr)
- {
- if(*pstr)
- {
- ++count;
- ++pstr;
- }
- continue;
- }
- if(c == quote_chr)
- {
- quote_chr = 0;
- continue;
- }
- }
- }
- return tok;
- }
-
-
-}
-
-
-
-//----------------------------------------------------------------------------
-int agg_main(int argc, char* argv[]);
-
-
-
-//----------------------------------------------------------------------------
-int PASCAL WinMain(HINSTANCE hInstance,
- HINSTANCE hPrevInstance,
- LPSTR lpszCmdLine,
- int nCmdShow)
-{
- agg::g_windows_instance = hInstance;
- agg::g_windows_cmd_show = nCmdShow;
-
- char* argv_str = new char [strlen(lpszCmdLine) + 3];
- char* argv_ptr = argv_str;
-
- char* argv[64];
- memset(argv, 0, sizeof(argv));
-
- agg::tokenizer cmd_line(" ", "\"' ", "\"'", '\\', agg::tokenizer::multiple);
- cmd_line.set_str(lpszCmdLine);
-
- int argc = 0;
- argv[argc++] = argv_ptr;
- *argv_ptr++ = 0;
-
- while(argc < 64)
- {
- agg::tokenizer::token tok = cmd_line.next_token();
- if(tok.ptr == 0) break;
- if(tok.len)
- {
- memcpy(argv_ptr, tok.ptr, tok.len);
- argv[argc++] = argv_ptr;
- argv_ptr += tok.len;
- *argv_ptr++ = 0;
- }
- }
-
- int ret = agg_main(argc, argv);
- delete [] argv_str;
-
- return ret;
-}
-
-
-
-
diff --git a/contrib/python/matplotlib/py3/extern/agg24-svn/src/platform/win32/agg_win32_bmp.cpp b/contrib/python/matplotlib/py3/extern/agg24-svn/src/platform/win32/agg_win32_bmp.cpp
deleted file mode 100644
index 8c3bdc83fd..0000000000
--- a/contrib/python/matplotlib/py3/extern/agg24-svn/src/platform/win32/agg_win32_bmp.cpp
+++ /dev/null
@@ -1,631 +0,0 @@
-//----------------------------------------------------------------------------
-//
-//----------------------------------------------------------------------------
-// Contact: mcseemagg@yahoo.com
-//----------------------------------------------------------------------------
-//
-// class pixel_map
-//
-//----------------------------------------------------------------------------
-
-#include "platform/win32/agg_win32_bmp.h"
-#include "agg_basics.h"
-
-namespace agg
-{
-
- //------------------------------------------------------------------------
- pixel_map::~pixel_map()
- {
- destroy();
- }
-
-
- //------------------------------------------------------------------------
- pixel_map::pixel_map() :
- m_bmp(0),
- m_buf(0),
- m_bpp(0),
- m_is_internal(false),
- m_img_size(0),
- m_full_size(0)
-
- {
- }
-
-
- //------------------------------------------------------------------------
- void pixel_map::destroy()
- {
- if(m_bmp && m_is_internal) delete [] (unsigned char*)m_bmp;
- m_bmp = 0;
- m_is_internal = false;
- m_buf = 0;
- }
-
-
- //------------------------------------------------------------------------
- void pixel_map::create(unsigned width,
- unsigned height,
- org_e org,
- unsigned clear_val)
- {
- destroy();
- if(width == 0) width = 1;
- if(height == 0) height = 1;
- m_bpp = org;
- create_from_bmp(create_bitmap_info(width, height, m_bpp));
- create_gray_scale_palette(m_bmp);
- m_is_internal = true;
- if(clear_val <= 255)
- {
- memset(m_buf, clear_val, m_img_size);
- }
- }
-
-
- //------------------------------------------------------------------------
- HBITMAP pixel_map::create_dib_section(HDC h_dc,
- unsigned width,
- unsigned height,
- org_e org,
- unsigned clear_val)
- {
- destroy();
- if(width == 0) width = 1;
- if(height == 0) height = 1;
- m_bpp = org;
- HBITMAP h_bitmap = create_dib_section_from_args(h_dc, width, height, m_bpp);
- create_gray_scale_palette(m_bmp);
- m_is_internal = true;
- if(clear_val <= 255)
- {
- memset(m_buf, clear_val, m_img_size);
- }
- return h_bitmap;
- }
-
-
-
- //------------------------------------------------------------------------
- void pixel_map::clear(unsigned clear_val)
- {
- if(m_buf) memset(m_buf, clear_val, m_img_size);
- }
-
-
- //------------------------------------------------------------------------
- void pixel_map::attach_to_bmp(BITMAPINFO *bmp)
- {
- if(bmp)
- {
- destroy();
- create_from_bmp(bmp);
- m_is_internal = false;
- }
- }
-
-
-
- //static
- //------------------------------------------------------------------------
- unsigned pixel_map::calc_full_size(BITMAPINFO *bmp)
- {
- if(bmp == 0) return 0;
-
- return sizeof(BITMAPINFOHEADER) +
- sizeof(RGBQUAD) * calc_palette_size(bmp) +
- bmp->bmiHeader.biSizeImage;
- }
-
- //static
- //------------------------------------------------------------------------
- unsigned pixel_map::calc_header_size(BITMAPINFO *bmp)
- {
- if(bmp == 0) return 0;
- return sizeof(BITMAPINFOHEADER) + sizeof(RGBQUAD) * calc_palette_size(bmp);
- }
-
-
- //static
- //------------------------------------------------------------------------
- unsigned pixel_map::calc_palette_size(unsigned clr_used, unsigned bits_per_pixel)
- {
- int palette_size = 0;
-
- if(bits_per_pixel <= 8)
- {
- palette_size = clr_used;
- if(palette_size == 0)
- {
- palette_size = 1 << bits_per_pixel;
- }
- }
- return palette_size;
- }
-
- //static
- //------------------------------------------------------------------------
- unsigned pixel_map::calc_palette_size(BITMAPINFO *bmp)
- {
- if(bmp == 0) return 0;
- return calc_palette_size(bmp->bmiHeader.biClrUsed, bmp->bmiHeader.biBitCount);
- }
-
-
- //static
- //------------------------------------------------------------------------
- unsigned char * pixel_map::calc_img_ptr(BITMAPINFO *bmp)
- {
- if(bmp == 0) return 0;
- return ((unsigned char*)bmp) + calc_header_size(bmp);
- }
-
- //static
- //------------------------------------------------------------------------
- BITMAPINFO* pixel_map::create_bitmap_info(unsigned width,
- unsigned height,
- unsigned bits_per_pixel)
- {
- unsigned line_len = calc_row_len(width, bits_per_pixel);
- unsigned img_size = line_len * height;
- unsigned rgb_size = calc_palette_size(0, bits_per_pixel) * sizeof(RGBQUAD);
- unsigned full_size = sizeof(BITMAPINFOHEADER) + rgb_size + img_size;
-
- BITMAPINFO *bmp = (BITMAPINFO *) new unsigned char[full_size];
-
- bmp->bmiHeader.biSize = sizeof(BITMAPINFOHEADER);
- bmp->bmiHeader.biWidth = width;
- bmp->bmiHeader.biHeight = height;
- bmp->bmiHeader.biPlanes = 1;
- bmp->bmiHeader.biBitCount = (unsigned short)bits_per_pixel;
- bmp->bmiHeader.biCompression = 0;
- bmp->bmiHeader.biSizeImage = img_size;
- bmp->bmiHeader.biXPelsPerMeter = 0;
- bmp->bmiHeader.biYPelsPerMeter = 0;
- bmp->bmiHeader.biClrUsed = 0;
- bmp->bmiHeader.biClrImportant = 0;
-
- return bmp;
- }
-
-
- //static
- //------------------------------------------------------------------------
- void pixel_map::create_gray_scale_palette(BITMAPINFO *bmp)
- {
- if(bmp == 0) return;
-
- unsigned rgb_size = calc_palette_size(bmp);
- RGBQUAD *rgb = (RGBQUAD*)(((unsigned char*)bmp) + sizeof(BITMAPINFOHEADER));
- unsigned brightness;
- unsigned i;
-
- for(i = 0; i < rgb_size; i++)
- {
- brightness = (255 * i) / (rgb_size - 1);
- rgb->rgbBlue =
- rgb->rgbGreen =
- rgb->rgbRed = (unsigned char)brightness;
- rgb->rgbReserved = 0;
- rgb++;
- }
- }
-
-
-
- //static
- //------------------------------------------------------------------------
- unsigned pixel_map::calc_row_len(unsigned width, unsigned bits_per_pixel)
- {
- unsigned n = width;
- unsigned k;
-
- switch(bits_per_pixel)
- {
- case 1: k = n;
- n = n >> 3;
- if(k & 7) n++;
- break;
-
- case 4: k = n;
- n = n >> 1;
- if(k & 3) n++;
- break;
-
- case 8:
- break;
-
- case 16: n *= 2;
- break;
-
- case 24: n *= 3;
- break;
-
- case 32: n *= 4;
- break;
-
- case 48: n *= 6;
- break;
-
- case 64: n *= 8;
- break;
-
- case 96: n *= 12;
- break;
-
- case 128: n *= 16;
- break;
-
- default: n = 0;
- break;
- }
- return ((n + 3) >> 2) << 2;
- }
-
-
-
-
-
- //------------------------------------------------------------------------
- void pixel_map::draw(HDC h_dc, const RECT *device_rect, const RECT *bmp_rect) const
- {
- if(m_bmp == 0 || m_buf == 0) return;
-
- unsigned bmp_x = 0;
- unsigned bmp_y = 0;
- unsigned bmp_width = m_bmp->bmiHeader.biWidth;
- unsigned bmp_height = m_bmp->bmiHeader.biHeight;
- unsigned dvc_x = 0;
- unsigned dvc_y = 0;
- unsigned dvc_width = m_bmp->bmiHeader.biWidth;
- unsigned dvc_height = m_bmp->bmiHeader.biHeight;
-
- if(bmp_rect)
- {
- bmp_x = bmp_rect->left;
- bmp_y = bmp_rect->top;
- bmp_width = bmp_rect->right - bmp_rect->left;
- bmp_height = bmp_rect->bottom - bmp_rect->top;
- }
-
- dvc_x = bmp_x;
- dvc_y = bmp_y;
- dvc_width = bmp_width;
- dvc_height = bmp_height;
-
- if(device_rect)
- {
- dvc_x = device_rect->left;
- dvc_y = device_rect->top;
- dvc_width = device_rect->right - device_rect->left;
- dvc_height = device_rect->bottom - device_rect->top;
- }
-
- if(dvc_width != bmp_width || dvc_height != bmp_height)
- {
- ::SetStretchBltMode(h_dc, COLORONCOLOR);
- ::StretchDIBits(
- h_dc, // handle of device context
- dvc_x, // x-coordinate of upper-left corner of source rect.
- dvc_y, // y-coordinate of upper-left corner of source rect.
- dvc_width, // width of source rectangle
- dvc_height, // height of source rectangle
- bmp_x,
- bmp_y, // x, y -coordinates of upper-left corner of dest. rect.
- bmp_width, // width of destination rectangle
- bmp_height, // height of destination rectangle
- m_buf, // address of bitmap bits
- m_bmp, // address of bitmap data
- DIB_RGB_COLORS, // usage
- SRCCOPY // raster operation code
- );
- }
- else
- {
- ::SetDIBitsToDevice(
- h_dc, // handle to device context
- dvc_x, // x-coordinate of upper-left corner of
- dvc_y, // y-coordinate of upper-left corner of
- dvc_width, // source rectangle width
- dvc_height, // source rectangle height
- bmp_x, // x-coordinate of lower-left corner of
- bmp_y, // y-coordinate of lower-left corner of
- 0, // first scan line in array
- bmp_height, // number of scan lines
- m_buf, // address of array with DIB bits
- m_bmp, // address of structure with bitmap info.
- DIB_RGB_COLORS // RGB or palette indexes
- );
- }
- }
-
-
- //------------------------------------------------------------------------
- void pixel_map::draw(HDC h_dc, int x, int y, double scale) const
- {
- if(m_bmp == 0 || m_buf == 0) return;
-
- unsigned width = unsigned(m_bmp->bmiHeader.biWidth * scale);
- unsigned height = unsigned(m_bmp->bmiHeader.biHeight * scale);
- RECT rect;
- rect.left = x;
- rect.top = y;
- rect.right = x + width;
- rect.bottom = y + height;
- draw(h_dc, &rect);
- }
-
-
-
-
- //------------------------------------------------------------------------
- void pixel_map::blend(HDC h_dc, const RECT *device_rect, const RECT *bmp_rect) const
- {
-#if !defined(AGG_BMP_ALPHA_BLEND)
- draw(h_dc, device_rect, bmp_rect);
- return;
-#else
- if(m_bpp != 32)
- {
- draw(h_dc, device_rect, bmp_rect);
- return;
- }
-
- if(m_bmp == 0 || m_buf == 0) return;
-
- unsigned bmp_x = 0;
- unsigned bmp_y = 0;
- unsigned bmp_width = m_bmp->bmiHeader.biWidth;
- unsigned bmp_height = m_bmp->bmiHeader.biHeight;
- unsigned dvc_x = 0;
- unsigned dvc_y = 0;
- unsigned dvc_width = m_bmp->bmiHeader.biWidth;
- unsigned dvc_height = m_bmp->bmiHeader.biHeight;
-
- if(bmp_rect)
- {
- bmp_x = bmp_rect->left;
- bmp_y = bmp_rect->top;
- bmp_width = bmp_rect->right - bmp_rect->left;
- bmp_height = bmp_rect->bottom - bmp_rect->top;
- }
-
- dvc_x = bmp_x;
- dvc_y = bmp_y;
- dvc_width = bmp_width;
- dvc_height = bmp_height;
-
- if(device_rect)
- {
- dvc_x = device_rect->left;
- dvc_y = device_rect->top;
- dvc_width = device_rect->right - device_rect->left;
- dvc_height = device_rect->bottom - device_rect->top;
- }
-
- HDC mem_dc = ::CreateCompatibleDC(h_dc);
- void* buf = 0;
- HBITMAP bmp = ::CreateDIBSection(
- mem_dc,
- m_bmp,
- DIB_RGB_COLORS,
- &buf,
- 0,
- 0
- );
- memcpy(buf, m_buf, m_bmp->bmiHeader.biSizeImage);
-
- HBITMAP temp = (HBITMAP)::SelectObject(mem_dc, bmp);
-
- BLENDFUNCTION blend;
- blend.BlendOp = AC_SRC_OVER;
- blend.BlendFlags = 0;
-
-#if defined(AC_SRC_ALPHA)
- blend.AlphaFormat = AC_SRC_ALPHA;
-//#elif defined(AC_SRC_NO_PREMULT_ALPHA)
-// blend.AlphaFormat = AC_SRC_NO_PREMULT_ALPHA;
-#else
-#error "No appropriate constant for alpha format. Check version of wingdi.h, There must be AC_SRC_ALPHA or AC_SRC_NO_PREMULT_ALPHA"
-#endif
-
- blend.SourceConstantAlpha = 255;
- ::AlphaBlend(
- h_dc,
- dvc_x,
- dvc_y,
- dvc_width,
- dvc_height,
- mem_dc,
- bmp_x,
- bmp_y,
- bmp_width,
- bmp_height,
- blend
- );
-
- ::SelectObject(mem_dc, temp);
- ::DeleteObject(bmp);
- ::DeleteObject(mem_dc);
-#endif //defined(AGG_BMP_ALPHA_BLEND)
- }
-
-
- //------------------------------------------------------------------------
- void pixel_map::blend(HDC h_dc, int x, int y, double scale) const
- {
- if(m_bmp == 0 || m_buf == 0) return;
- unsigned width = unsigned(m_bmp->bmiHeader.biWidth * scale);
- unsigned height = unsigned(m_bmp->bmiHeader.biHeight * scale);
- RECT rect;
- rect.left = x;
- rect.top = y;
- rect.right = x + width;
- rect.bottom = y + height;
- blend(h_dc, &rect);
- }
-
-
- //------------------------------------------------------------------------
- bool pixel_map::load_from_bmp(FILE *fd)
- {
- BITMAPFILEHEADER bmf;
- BITMAPINFO *bmi = 0;
- unsigned bmp_size;
-
- fread(&bmf, sizeof(bmf), 1, fd);
- if(bmf.bfType != 0x4D42) goto bmperr;
-
- bmp_size = bmf.bfSize - sizeof(BITMAPFILEHEADER);
-
- bmi = (BITMAPINFO*) new unsigned char [bmp_size];
- if(fread(bmi, 1, bmp_size, fd) != bmp_size) goto bmperr;
- destroy();
- m_bpp = bmi->bmiHeader.biBitCount;
- create_from_bmp(bmi);
- m_is_internal = 1;
- return true;
-
- bmperr:
- if(bmi) delete [] (unsigned char*) bmi;
- return false;
- }
-
-
-
- //------------------------------------------------------------------------
- bool pixel_map::load_from_bmp(const char *filename)
- {
- FILE *fd = fopen(filename, "rb");
- bool ret = false;
- if(fd)
- {
- ret = load_from_bmp(fd);
- fclose(fd);
- }
- return ret;
- }
-
-
-
- //------------------------------------------------------------------------
- bool pixel_map::save_as_bmp(FILE *fd) const
- {
- if(m_bmp == 0) return 0;
-
- BITMAPFILEHEADER bmf;
-
- bmf.bfType = 0x4D42;
- bmf.bfOffBits = calc_header_size(m_bmp) + sizeof(bmf);
- bmf.bfSize = bmf.bfOffBits + m_img_size;
- bmf.bfReserved1 = 0;
- bmf.bfReserved2 = 0;
-
- fwrite(&bmf, sizeof(bmf), 1, fd);
- fwrite(m_bmp, m_full_size, 1, fd);
- return true;
- }
-
-
-
- //------------------------------------------------------------------------
- bool pixel_map::save_as_bmp(const char *filename) const
- {
- FILE *fd = fopen(filename, "wb");
- bool ret = false;
- if(fd)
- {
- ret = save_as_bmp(fd);
- fclose(fd);
- }
- return ret;
- }
-
-
- //------------------------------------------------------------------------
- unsigned char* pixel_map::buf()
- {
- return m_buf;
- }
-
- //------------------------------------------------------------------------
- unsigned pixel_map::width() const
- {
- return m_bmp->bmiHeader.biWidth;
- }
-
- //------------------------------------------------------------------------
- unsigned pixel_map::height() const
- {
- return m_bmp->bmiHeader.biHeight;
- }
-
- //------------------------------------------------------------------------
- int pixel_map::stride() const
- {
- return calc_row_len(m_bmp->bmiHeader.biWidth,
- m_bmp->bmiHeader.biBitCount);
- }
-
-
- //private
- //------------------------------------------------------------------------
- void pixel_map::create_from_bmp(BITMAPINFO *bmp)
- {
- if(bmp)
- {
- m_img_size = calc_row_len(bmp->bmiHeader.biWidth,
- bmp->bmiHeader.biBitCount) *
- bmp->bmiHeader.biHeight;
-
- m_full_size = calc_full_size(bmp);
- m_bmp = bmp;
- m_buf = calc_img_ptr(bmp);
- }
- }
-
-
- //private
- //------------------------------------------------------------------------
- HBITMAP pixel_map::create_dib_section_from_args(HDC h_dc,
- unsigned width,
- unsigned height,
- unsigned bits_per_pixel)
- {
- unsigned line_len = calc_row_len(width, bits_per_pixel);
- unsigned img_size = line_len * height;
- unsigned rgb_size = calc_palette_size(0, bits_per_pixel) * sizeof(RGBQUAD);
- unsigned full_size = sizeof(BITMAPINFOHEADER) + rgb_size;
-
- BITMAPINFO *bmp = (BITMAPINFO *) new unsigned char[full_size];
-
- bmp->bmiHeader.biSize = sizeof(BITMAPINFOHEADER);
- bmp->bmiHeader.biWidth = width;
- bmp->bmiHeader.biHeight = height;
- bmp->bmiHeader.biPlanes = 1;
- bmp->bmiHeader.biBitCount = (unsigned short)bits_per_pixel;
- bmp->bmiHeader.biCompression = 0;
- bmp->bmiHeader.biSizeImage = img_size;
- bmp->bmiHeader.biXPelsPerMeter = 0;
- bmp->bmiHeader.biYPelsPerMeter = 0;
- bmp->bmiHeader.biClrUsed = 0;
- bmp->bmiHeader.biClrImportant = 0;
-
- void* img_ptr = 0;
- HBITMAP h_bitmap = ::CreateDIBSection(h_dc, bmp, DIB_RGB_COLORS, &img_ptr, NULL, 0);
-
- if(img_ptr)
- {
- m_img_size = calc_row_len(width, bits_per_pixel) * height;
- m_full_size = 0;
- m_bmp = bmp;
- m_buf = (unsigned char *) img_ptr;
- }
-
- return h_bitmap;
- }
-}
-
-
-