Vector Fonts - Dialog (Sample)
Jump to navigation
Jump to search
| GUI_VG_FONT_Example.c | |
|---|---|
![]() | |
| File(s) required |
|
| Runs in simulation | Yes |
| Runs on target | Yes |
| Download | GUI_VG_FONT_Example.c |
This is an example displaying the different rendering features of vector fonts.
Demo
Code
/*********************************************************************
* SEGGER Microcontroller GmbH *
* Solutions for real time microcontroller applications *
**********************************************************************
* *
* (c) 1996 - 2025 SEGGER Microcontroller GmbH *
* *
* Internet: www.segger.com Support: support@segger.com *
* *
**********************************************************************
** emWin V7.0.0 - Graphical user interface for embedded applications **
emWin is protected by international copyright laws. Knowledge of the
source code may not be used to write a similar product. This file may
only be used in accordance with a license and should not be re-
distributed in any way. We appreciate your understanding and fairness.
----------------------------------------------------------------------
File : GUI_VG_FONT_Example.c
Purpose : Demonstration of vector fonts.
Requirements: WindowManager - (x)
MemoryDevices - ( )
AntiAliasing - (x)
VNC-Server - ( )
PNG-Library - ( )
TrueTypeFonts - ( )
---------------------------END-OF-HEADER------------------------------
*/
#include <stdio.h>
#include <string.h>
#include "GUI_VG.h"
#include "DIALOG.h"
#include "WM_Layout.h"
#include "FLAT_SKIN.h"
#if GUI_SUPPORT_GPU
#include "GUI_GPU.h"
#endif
/*********************************************************************
*
* Resources
*
**********************************************************************
*/
//
// Start of unicode area Basic Latin
//
static GUI_CONST_STORAGE U8 _acSegMVBoliRegular_0021[] = { // Code 0021, EXCLAMATION MARK
GUI_VG_SEGMENTS(M, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, M, Q, Q, Q, Q, Q, Q, Q, Q),
};
static GUI_CONST_STORAGE I16 _acCrdMVBoliRegular_0021[] = { // Code 0021, EXCLAMATION MARK
807, -1405, 807, -1363, 766, -1278, 735, -1213, 643, -968, 552, -724,
532, -666, 512, -608, 496, -524, 483, -459, 406, -459, 307, -459,
307, -557, 307, -660, 429, -952, 552, -1245, 618, -1353, 684, -1462,
745, -1462, 807, -1462, 807, -1405, 475, -162, 475, -93, 422, -42,
369, 8, 301, 8, 249, 8, 212, -28, 176, -65, 176, -117,
176, -186, 231, -238, 287, -291, 354, -291, 406, -291, 440, -254,
475, -217, 475, -162,
};
static GUI_CONST_STORAGE U8 _acSegMVBoliRegular_0049[] = { // Code 0049, LATIN CAPITAL LETTER I
GUI_VG_SEGMENTS(M, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q),
GUI_VG_SEGMENTS(Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, L),
};
static GUI_CONST_STORAGE I16 _acCrdMVBoliRegular_0049[] = { // Code 0049, LATIN CAPITAL LETTER I
343, -574, 352, -613, 364, -660, 377, -708, 391, -759, 406, -810,
421, -862, 436, -914, 450, -962, 465, -1010, 477, -1051, 489, -1093,
498, -1122, 517, -1187, 534, -1252, 551, -1318, 567, -1390, 587, -1429,
621, -1445, 655, -1462, 695, -1462, 727, -1445, 745, -1415, 764, -1386,
764, -1349, 764, -1323, 755, -1289, 747, -1256, 734, -1217, 721, -1179,
705, -1136, 689, -1094, 674, -1049, 646, -967, 618, -885, 590, -803,
563, -712, 556, -688, 548, -664, 540, -640, 531, -612, 523, -584,
513, -549, 503, -515, 493, -470, 481, -417, 472, -363, 463, -310,
455, -256, 447, -202, 437, -147, 427, -92, 413, -36, 408, -16,
395, 0, 383, 15, 367, 26, 351, 37, 333, 43, 315, 49,
299, 49, 283, 49, 268, 46, 254, 44, 246, 35, 234, 22,
227, 6, 220, -10, 220, -28, 220, -33, 220, -37, 221, -42,
222, -47, 343, -574,
};
static GUI_CONST_STORAGE U8 _acSegMVBoliRegular_0069[] = { // Code 0069, LATIN SMALL LETTER I
GUI_VG_SEGMENTS(M, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, L, Q, Q, Q, Q, Q, Q),
GUI_VG_SEGMENTS(Q, Q, Q, Q, Q, Q, L, M, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q),
GUI_VG_SEGMENTS(Q, Q, Q, Q, Q, Q, Q),
};
static GUI_CONST_STORAGE I16 _acCrdMVBoliRegular_0069[] = { // Code 0069, LATIN SMALL LETTER I
194, -183, 209, -241, 230, -318, 251, -395, 274, -481, 298, -567,
322, -657, 346, -747, 367, -832, 368, -836, 374, -845, 380, -855,
391, -864, 402, -874, 419, -881, 436, -888, 459, -888, 476, -888,
492, -884, 508, -881, 520, -874, 533, -867, 540, -855, 548, -844,
548, -829, 548, -826, 548, -822, 548, -819, 547, -816, 519, -710,
472, -532, 423, -353, 375, -174, 329, 6, 327, 12, 323, 21,
319, 30, 312, 39, 305, 48, 295, 54, 285, 60, 271, 60,
245, 60, 225, 49, 205, 39, 191, 23, 177, 7, 170, -12,
163, -31, 163, -48, 163, -53, 163, -57, 163, -61, 165, -66,
194, -183, 455, -1218, 460, -1239, 473, -1269, 486, -1299, 519, -1323,
535, -1332, 558, -1339, 581, -1347, 591, -1347, 601, -1347, 611, -1340,
622, -1333, 630, -1325, 640, -1315, 649, -1303, 674, -1301, 681, -1285,
689, -1269, 689, -1247, 689, -1231, 686, -1218, 683, -1205, 681, -1197,
675, -1176, 658, -1158, 641, -1141, 619, -1128, 597, -1116, 573, -1109,
549, -1102, 531, -1102, 508, -1102, 495, -1110, 483, -1118, 464, -1144,
453, -1159, 451, -1167, 450, -1176, 450, -1182, 450, -1193, 451, -1201,
453, -1210, 455, -1218,
};
static GUI_CONST_STORAGE U8 _acSegMVBoliRegular_006B[] = { // Code 006B, LATIN SMALL LETTER K
GUI_VG_SEGMENTS(M, Q, Q, Q, Q, L, Q, Q, Q, Q, Q, Q, L, Q, Q, Q, Q, Q, Q, Q, Q, Q),
GUI_VG_SEGMENTS(Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q),
GUI_VG_SEGMENTS(Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q),
GUI_VG_SEGMENTS(Q, Q, Q, Q, Q, Q, Q, Q, L, M, L),
};
static GUI_CONST_STORAGE I16 _acCrdMVBoliRegular_006B[] = { // Code 006B, LATIN SMALL LETTER K
616, -484, 596, -484, 571, -474, 546, -465, 521, -452, 496, -439,
473, -425, 450, -411, 433, -403, 342, -43, 337, -22, 317, -11,
297, 0, 280, 0, 226, 0, 206, -21, 187, -43, 187, -78,
187, -93, 189, -108, 192, -124, 196, -141, 200, -158, 206, -185,
216, -226, 227, -267, 239, -312, 251, -358, 263, -404, 276, -451,
287, -490, 298, -528, 319, -603, 341, -678, 367, -771, 394, -864,
422, -965, 451, -1067, 476, -1159, 502, -1251, 522, -1322, 542, -1394,
550, -1428, 559, -1442, 578, -1451, 597, -1460, 623, -1460, 641, -1460,
660, -1455, 679, -1451, 694, -1441, 710, -1432, 720, -1417, 730, -1403,
730, -1384, 730, -1371, 724, -1353, 664, -1179, 605, -992, 546, -806,
498, -615, 511, -623, 546, -648, 581, -673, 623, -706, 666, -739,
709, -775, 752, -811, 781, -840, 801, -860, 821, -881, 842, -903,
860, -922, 879, -942, 893, -957, 907, -973, 915, -982, 934, -1004,
956, -1018, 979, -1033, 1002, -1033, 1024, -1033, 1042, -1026, 1060, -1019,
1073, -1008, 1086, -998, 1093, -984, 1100, -971, 1100, -959, 1100, -944,
1093, -927, 1086, -910, 1076, -894, 1067, -878, 1056, -864, 1045, -851,
1037, -844, 1010, -820, 976, -791, 942, -763, 905, -733, 868, -704,
829, -674, 791, -645, 755, -618, 818, -583, 858, -524, 899, -466,
923, -394, 947, -323, 956, -244, 965, -165, 965, -90, 965, -84,
964, -71, 963, -59, 960, -48, 955, -30, 948, -15, 941, 0,
929, 10, 918, 21, 901, 27, 885, 33, 861, 33, 838, 33,
822, 25, 806, 17, 795, 4, 785, -9, 780, -25, 775, -41,
775, -57, 775, -107, 772, -160, 769, -214, 760, -264, 751, -314,
735, -358, 720, -403, 695, -435, 677, -458, 661, -471, 646, -484,
624, -484, 616, -484, 806, -934, 806, -934,
};
static GUI_CONST_STORAGE U8 _acSegMVBoliRegular_006C[] = { // Code 006C, LATIN SMALL LETTER L
GUI_VG_SEGMENTS(M, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, L, Q, Q, L, Q, Q, Q, Q, Q, Q, Q),
GUI_VG_SEGMENTS(Q, Q, Q, Q, Q, L),
};
static GUI_CONST_STORAGE I16 _acCrdMVBoliRegular_006C[] = { // Code 006C, LATIN SMALL LETTER L
493, -1297, 496, -1331, 501, -1371, 506, -1411, 517, -1445, 528, -1479,
546, -1501, 565, -1524, 594, -1524, 610, -1524, 629, -1518, 649, -1512,
666, -1501, 684, -1491, 696, -1476, 708, -1461, 708, -1443, 708, -1435,
705, -1424, 702, -1414, 700, -1404, 450, -402, 435, -342, 425, -287,
415, -233, 410, -198, 410, -174, 410, -144, 406, -108, 402, -73,
391, -42, 380, -12, 360, 8, 341, 29, 310, 29, 283, 29,
263, 17, 243, 6, 230, -12, 217, -30, 211, -50, 205, -71,
205, -89, 205, -105, 208, -128, 211, -152, 215, -177, 220, -203,
225, -228, 230, -254, 235, -273, 493, -1297,
};
static GUI_CONST_STORAGE U8 _acSegMVBoliRegular_006D[] = { // Code 006D, LATIN SMALL LETTER M
GUI_VG_SEGMENTS(M, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q),
GUI_VG_SEGMENTS(Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q),
GUI_VG_SEGMENTS(Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q),
GUI_VG_SEGMENTS(Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q),
GUI_VG_SEGMENTS(Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q),
};
static GUI_CONST_STORAGE I16 _acCrdMVBoliRegular_006D[] = { // Code 006D, LATIN SMALL LETTER M
197, -66, 227, -183, 255, -284, 283, -385, 309, -477, 336, -570,
361, -657, 386, -744, 409, -834, 418, -869, 419, -901, 421, -934,
429, -969, 433, -981, 443, -990, 454, -1000, 467, -1007, 480, -1014,
494, -1018, 509, -1022, 522, -1022, 550, -1022, 568, -1015, 587, -1009,
598, -998, 610, -987, 614, -971, 619, -956, 619, -937, 619, -903,
608, -868, 597, -834, 581, -793, 628, -830, 677, -863, 727, -896,
779, -921, 832, -946, 887, -961, 942, -976, 1001, -976, 1028, -976,
1055, -967, 1082, -959, 1103, -941, 1125, -923, 1139, -894, 1154, -865,
1156, -823, 1199, -852, 1245, -881, 1291, -911, 1338, -934, 1386, -958,
1433, -972, 1481, -987, 1526, -987, 1593, -987, 1636, -969, 1680, -952,
1705, -922, 1731, -893, 1741, -854, 1752, -815, 1752, -771, 1752, -723,
1743, -672, 1734, -621, 1723, -575, 1694, -459, 1658, -355, 1622, -252,
1580, -146, 1570, -121, 1559, -93, 1548, -65, 1533, -41, 1519, -18,
1499, -2, 1480, 13, 1454, 13, 1395, 13, 1373, -7, 1351, -27,
1351, -64, 1351, -74, 1352, -87, 1353, -100, 1357, -112, 1361, -127,
1375, -155, 1389, -184, 1405, -217, 1422, -250, 1438, -283, 1454, -317,
1462, -342, 1475, -385, 1492, -441, 1510, -498, 1526, -555, 1542, -613,
1552, -664, 1563, -716, 1563, -748, 1563, -763, 1560, -778, 1557, -793,
1549, -804, 1542, -815, 1528, -822, 1515, -829, 1494, -829, 1464, -829,
1422, -812, 1381, -795, 1336, -767, 1292, -740, 1250, -705, 1208, -671,
1178, -637, 1157, -613, 1138, -598, 1119, -583, 1100, -575, 1098, -571,
1090, -548, 1082, -526, 1071, -494, 1060, -463, 1048, -426, 1036, -390,
1025, -358, 1015, -327, 1008, -305, 1001, -284, 1001, -282, 994, -254,
989, -224, 984, -195, 980, -168, 976, -141, 972, -110, 969, -80,
958, -53, 948, -27, 926, -10, 905, 7, 866, 7, 846, 7,
829, -3, 813, -13, 801, -28, 789, -44, 782, -63, 775, -83,
774, -103, 797, -193, 819, -265, 841, -337, 863, -403, 885, -469,
905, -535, 926, -602, 946, -682, 951, -701, 954, -719, 957, -738,
957, -752, 957, -776, 947, -791, 937, -807, 912, -807, 871, -807,
830, -790, 790, -774, 743, -739, 696, -704, 638, -650, 581, -596,
506, -521, 498, -506, 485, -465, 472, -424, 458, -378, 445, -332,
434, -292, 423, -253, 420, -240, 409, -198, 405, -169, 401, -141,
398, -118, 396, -106, 392, -78, 388, -51, 377, -23, 367, 5,
348, 26, 329, 48, 298, 48, 252, 48, 222, 23, 193, -2,
193, -40, 193, -47, 194, -53, 195, -59, 197, -66,
};
static GUI_CONST_STORAGE U8 _acSegMVBoliRegular_006F[] = { // Code 006F, LATIN SMALL LETTER O
GUI_VG_SEGMENTS(M, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q),
GUI_VG_SEGMENTS(Q, Q, Q, M, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q),
GUI_VG_SEGMENTS(Q, Q, Q, Q, Q, Q, Q, Q),
};
static GUI_CONST_STORAGE I16 _acCrdMVBoliRegular_006F[] = { // Code 006F, LATIN SMALL LETTER O
206, -383, 221, -444, 252, -512, 284, -581, 335, -651, 386, -721,
457, -788, 529, -855, 623, -913, 638, -922, 669, -932, 700, -943,
733, -945, 772, -987, 838, -987, 916, -987, 969, -947, 1023, -908,
1058, -840, 1069, -818, 1078, -797, 1088, -776, 1094, -752, 1101, -729,
1105, -702, 1109, -675, 1109, -641, 1109, -562, 1084, -480, 1059, -398,
1013, -320, 967, -242, 901, -170, 836, -99, 756, -42, 702, -3,
636, 18, 571, 40, 490, 40, 413, 40, 356, 19, 300, -1,
262, -39, 225, -77, 206, -130, 188, -183, 188, -248, 188, -311,
206, -383, 372, -370, 366, -347, 363, -326, 361, -306, 361, -287,
361, -254, 369, -225, 378, -197, 397, -176, 416, -156, 444, -144,
473, -133, 514, -133, 590, -133, 655, -171, 721, -210, 772, -268,
823, -326, 857, -392, 892, -459, 906, -515, 915, -550, 921, -581,
928, -612, 928, -638, 928, -664, 918, -686, 909, -709, 894, -737,
885, -754, 876, -772, 867, -791, 860, -809, 852, -795, 843, -784,
834, -774, 816, -765, 798, -757, 767, -750, 736, -743, 686, -738,
653, -727, 619, -704, 585, -681, 552, -650, 520, -619, 490, -583,
461, -547, 437, -509, 414, -472, 396, -436, 379, -400, 372, -370,
};
static GUI_CONST_STORAGE U8 _acSegMVBoliRegular_0070[] = { // Code 0070, LATIN SMALL LETTER P
GUI_VG_SEGMENTS(M, Q, Q, Q, Q, Q, Q, L, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q),
GUI_VG_SEGMENTS(Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q),
GUI_VG_SEGMENTS(Q, Q, Q, Q, M, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q),
GUI_VG_SEGMENTS(Q, Q, Q, Q, Q, L),
};
static GUI_CONST_STORAGE I16 _acCrdMVBoliRegular_0070[] = { // Code 0070, LATIN SMALL LETTER P
109, 370, 129, 289, 144, 221, 160, 154, 173, 94, 186, 35,
197, -20, 209, -76, 220, -132, 232, -189, 244, -250, 257, -311,
272, -383, 320, -615, 332, -674, 336, -716, 341, -759, 341, -795,
341, -833, 343, -862, 345, -892, 354, -912, 363, -933, 380, -943,
398, -954, 429, -954, 474, -954, 499, -941, 524, -929, 536, -909,
548, -889, 550, -863, 553, -837, 553, -809, 587, -833, 632, -852,
678, -871, 727, -883, 776, -896, 826, -903, 876, -910, 920, -910,
992, -910, 1046, -884, 1100, -859, 1136, -816, 1172, -774, 1190, -718,
1208, -663, 1208, -604, 1208, -535, 1186, -474, 1164, -413, 1126, -360,
1088, -307, 1037, -261, 987, -216, 928, -178, 870, -140, 807, -108,
745, -77, 684, -52, 643, -35, 606, -26, 570, -18, 541, -18,
500, -18, 461, -27, 423, -36, 387, -57, 367, 11, 353, 73,
340, 135, 332, 183, 327, 213, 320, 246, 313, 279, 306, 310,
299, 342, 292, 370, 286, 398, 282, 418, 279, 430, 267, 438,
256, 446, 240, 451, 224, 457, 207, 459, 191, 462, 178, 462,
104, 462, 104, 404, 104, 388, 109, 370, 419, -210, 434, -208,
451, -205, 468, -202, 484, -199, 500, -196, 511, -193, 523, -191,
527, -191, 546, -191, 569, -196, 593, -201, 616, -209, 640, -217,
662, -226, 684, -236, 701, -245, 750, -270, 805, -305, 861, -341,
908, -387, 956, -433, 987, -490, 1018, -547, 1018, -616, 1018, -644,
1011, -668, 1004, -692, 990, -710, 976, -728, 953, -738, 931, -749,
900, -749, 866, -749, 836, -744, 806, -740, 777, -730, 748, -720,
719, -704, 690, -689, 659, -667, 631, -644, 596, -626, 561, -609,
520, -604, 419, -210,
};
static GUI_CONST_STORAGE U8 _acSegMVBoliRegular_0072[] = { // Code 0072, LATIN SMALL LETTER R
GUI_VG_SEGMENTS(M, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q),
GUI_VG_SEGMENTS(Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q),
GUI_VG_SEGMENTS(Q, L, Q, Q, Q, Q, Q, Q, Q),
};
static GUI_CONST_STORAGE I16 _acCrdMVBoliRegular_0072[] = { // Code 0072, LATIN SMALL LETTER R
216, -103, 229, -173, 246, -257, 263, -341, 281, -427, 299, -513,
316, -596, 333, -679, 345, -748, 344, -758, 344, -765, 344, -773,
344, -782, 344, -813, 348, -844, 352, -875, 359, -901, 370, -939,
383, -952, 397, -966, 427, -966, 456, -966, 473, -954, 491, -943,
501, -924, 511, -905, 514, -880, 517, -856, 517, -830, 517, -816,
516, -799, 515, -782, 515, -772, 543, -801, 574, -831, 606, -862,
641, -886, 677, -911, 716, -927, 756, -943, 799, -943, 816, -943,
832, -940, 849, -937, 866, -932, 886, -927, 907, -918, 929, -910,
949, -895, 982, -870, 1004, -832, 1027, -795, 1027, -756, 1027, -741,
1021, -723, 1015, -706, 1004, -691, 994, -677, 980, -667, 966, -658,
949, -658, 932, -658, 907, -666, 883, -675, 867, -689, 860, -695,
852, -706, 845, -717, 838, -728, 832, -739, 826, -748, 821, -758,
818, -761, 813, -762, 807, -762, 801, -763, 796, -763, 745, -763,
699, -737, 653, -711, 613, -673, 573, -636, 539, -593, 506, -551,
481, -517, 461, -436, 436, -344, 412, -253, 388, -153, 388, -128,
388, -98, 386, -67, 384, -36, 374, -12, 363, 3, 342, 13,
322, 24, 295, 24, 253, 24, 232, -3, 211, -31, 211, -68,
211, -85, 216, -103,
};
static GUI_CONST_STORAGE U8 _acSegMVBoliRegular_0073[] = { // Code 0073, LATIN SMALL LETTER S
GUI_VG_SEGMENTS(M, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, L, Q, Q, Q, Q, Q, Q, Q),
GUI_VG_SEGMENTS(Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q),
GUI_VG_SEGMENTS(Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q),
GUI_VG_SEGMENTS(Q, Q, Q, Q, Q, Q, Q, Q, Q),
};
static GUI_CONST_STORAGE I16 _acCrdMVBoliRegular_0073[] = { // Code 0073, LATIN SMALL LETTER S
220, -177, 228, -177, 234, -175, 241, -173, 249, -170, 257, -168,
267, -166, 277, -164, 293, -164, 340, -164, 397, -174, 455, -184,
506, -200, 557, -216, 593, -236, 630, -257, 635, -279, 638, -291,
638, -300, 638, -317, 621, -332, 605, -348, 580, -362, 555, -376,
526, -388, 497, -400, 472, -410, 438, -424, 412, -434, 387, -448,
362, -463, 340, -482, 319, -501, 302, -526, 286, -552, 278, -585,
274, -599, 271, -613, 269, -627, 269, -643, 269, -669, 286, -702,
304, -736, 333, -769, 363, -802, 400, -832, 438, -862, 479, -882,
509, -903, 537, -920, 565, -937, 593, -949, 622, -961, 651, -968,
681, -975, 714, -975, 744, -975, 779, -972, 814, -969, 843, -958,
872, -947, 891, -925, 911, -904, 911, -868, 911, -857, 908, -839,
905, -821, 898, -803, 891, -785, 881, -772, 871, -759, 857, -759,
834, -759, 819, -768, 804, -777, 792, -787, 780, -798, 767, -807,
754, -816, 735, -816, 712, -816, 681, -807, 651, -799, 619, -784,
587, -770, 556, -751, 526, -732, 501, -712, 477, -692, 462, -672,
447, -653, 447, -637, 447, -620, 458, -609, 469, -598, 486, -590,
508, -578, 536, -566, 565, -554, 594, -542, 623, -530, 650, -518,
678, -506, 698, -496, 725, -482, 746, -468, 768, -455, 783, -439,
798, -423, 806, -403, 814, -383, 814, -356, 814, -343, 812, -330,
810, -317, 806, -300, 803, -285, 795, -265, 788, -245, 779, -225,
771, -206, 762, -190, 753, -175, 747, -170, 708, -134, 655, -102,
602, -71, 544, -47, 487, -24, 429, -10, 372, 4, 324, 4,
300, 4, 271, -5, 242, -15, 217, -30, 193, -46, 176, -66,
160, -86, 160, -106, 160, -116, 166, -128, 172, -141, 181, -151,
190, -162, 200, -169, 211, -177, 220, -177,
};
static GUI_CONST_STORAGE U8 _acSegMVBoliRegular_0074[] = { // Code 0074, LATIN SMALL LETTER T
GUI_VG_SEGMENTS(M, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, L, Q, Q, Q, Q, Q, Q, Q, Q, L, Q),
GUI_VG_SEGMENTS(Q, Q, Q, Q, Q, Q, Q, Q, L, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q),
GUI_VG_SEGMENTS(Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q),
GUI_VG_SEGMENTS(Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q),
};
static GUI_CONST_STORAGE I16 _acCrdMVBoliRegular_0074[] = { // Code 0074, LATIN SMALL LETTER T
339, -311, 339, -395, 358, -485, 377, -576, 398, -659, 372, -660,
345, -667, 318, -674, 296, -686, 274, -698, 260, -715, 246, -733,
246, -756, 246, -765, 250, -779, 254, -793, 261, -806, 269, -820,
281, -829, 293, -839, 308, -839, 442, -839, 461, -839, 468, -855,
475, -872, 479, -888, 492, -946, 503, -988, 515, -1031, 523, -1060,
531, -1090, 535, -1108, 540, -1127, 540, -1138, 540, -1151, 539, -1163,
538, -1175, 538, -1196, 538, -1206, 538, -1214, 539, -1227, 541, -1240,
549, -1264, 555, -1283, 571, -1300, 587, -1317, 618, -1317, 645, -1317,
664, -1306, 683, -1295, 695, -1277, 707, -1259, 713, -1236, 719, -1213,
719, -1190, 719, -1165, 714, -1145, 641, -865, 695, -874, 737, -882,
779, -890, 821, -898, 867, -907, 900, -915, 934, -923, 958, -928,
982, -934, 998, -937, 1015, -941, 1026, -941, 1042, -941, 1058, -938,
1075, -936, 1087, -930, 1100, -924, 1108, -913, 1116, -902, 1116, -884,
1116, -860, 1106, -841, 1097, -823, 1082, -809, 1067, -796, 1048, -787,
1029, -779, 1010, -775, 994, -772, 968, -766, 943, -760, 912, -753,
882, -746, 849, -738, 816, -730, 785, -722, 739, -710, 706, -702,
674, -694, 651, -690, 628, -686, 613, -684, 599, -682, 590, -682,
571, -625, 557, -570, 543, -515, 533, -467, 524, -420, 519, -382,
515, -345, 515, -324, 515, -297, 520, -272, 525, -248, 537, -230,
549, -212, 569, -201, 590, -191, 621, -191, 674, -191, 725, -220,
776, -249, 822, -293, 869, -338, 910, -391, 952, -444, 987, -492,
999, -510, 1018, -510, 1024, -510, 1032, -508, 1041, -506, 1049, -501,
1057, -496, 1062, -488, 1068, -480, 1068, -469, 1068, -461, 1067, -457,
1051, -395, 1017, -332, 984, -270, 949, -207, 937, -185, 917, -164,
898, -143, 875, -123, 852, -104, 827, -86, 802, -69, 780, -55,
742, -31, 697, -22, 652, -13, 610, -13, 545, -13, 494, -36,
444, -60, 409, -100, 375, -141, 357, -195, 339, -249, 339, -311,
};
static GUI_CONST_STORAGE U8 _acSegMVBoliRegular_0077[] = { // Code 0077, LATIN SMALL LETTER W
GUI_VG_SEGMENTS(M, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q),
GUI_VG_SEGMENTS(Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q),
GUI_VG_SEGMENTS(Q, Q, Q, L, Q, Q, Q, Q, Q, Q, Q, Q, L, L, Q, Q, Q, Q, Q, Q, Q, Q),
GUI_VG_SEGMENTS(L, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, L),
GUI_VG_SEGMENTS(Q, Q),
};
static GUI_CONST_STORAGE I16 _acCrdMVBoliRegular_0077[] = { // Code 0077, LATIN SMALL LETTER W
324, -894, 342, -933, 365, -946, 388, -960, 418, -960, 447, -960,
467, -951, 487, -942, 499, -927, 511, -912, 516, -892, 521, -872,
521, -849, 521, -842, 521, -835, 521, -829, 520, -822, 519, -813,
515, -789, 511, -766, 505, -734, 500, -702, 493, -666, 487, -631,
481, -599, 476, -567, 471, -543, 467, -519, 465, -510, 463, -500,
460, -481, 457, -462, 454, -437, 451, -413, 449, -385, 447, -357,
447, -329, 447, -302, 449, -277, 451, -253, 456, -234, 462, -216,
470, -205, 479, -194, 492, -194, 501, -194, 518, -208, 536, -223,
555, -243, 575, -263, 594, -285, 613, -308, 625, -323, 690, -403,
744, -485, 799, -568, 846, -652, 864, -685, 873, -719, 883, -753,
896, -780, 909, -808, 932, -825, 956, -843, 1003, -843, 1028, -843,
1054, -826, 1080, -809, 1090, -777, 1087, -740, 1081, -701, 1075, -662,
1070, -621, 1065, -581, 1061, -541, 1057, -501, 1057, -463, 1057, -404,
1069, -353, 1081, -303, 1113, -268, 1152, -317, 1190, -379, 1229, -441,
1266, -508, 1303, -575, 1336, -643, 1370, -712, 1399, -774, 1401, -779,
1401, -783, 1402, -788, 1402, -793, 1402, -802, 1402, -833, 1419, -866,
1437, -899, 1461, -926, 1485, -953, 1510, -970, 1536, -987, 1553, -987,
1595, -987, 1619, -964, 1643, -941, 1643, -903, 1643, -891, 1638, -873,
1634, -855, 1624, -837, 1287, -243, 1262, -194, 1246, -163, 1230, -134,
1215, -105, 1196, -83, 1178, -61, 1155, -48, 1133, -35, 1104, -35,
1065, -35, 1034, -57, 1004, -79, 982, -111, 960, -143, 945, -180,
931, -218, 924, -248, 887, -408, 884, -408, 866, -387, 848, -366,
821, -333, 794, -300, 762, -260, 730, -221, 699, -184, 669, -148,
643, -118, 618, -89, 604, -77, 590, -65, 574, -53, 559, -41,
544, -32, 529, -23, 515, -17, 502, -11, 493, -11, 427, -11,
383, -42, 340, -73, 314, -123, 289, -173, 279, -234, 269, -296,
269, -358, 269, -413, 274, -469, 280, -525, 287, -579, 295, -634,
303, -685, 312, -736, 318, -780, 319, -788, 319, -798, 320, -809,
320, -820, 320, -846, 320, -862, 320, -875, 321, -889, 324, -894,
};
static GUI_CONST_STORAGE U8 _acSegMVBoliRegular_0079[] = { // Code 0079, LATIN SMALL LETTER Y
GUI_VG_SEGMENTS(M, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q),
GUI_VG_SEGMENTS(Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q),
GUI_VG_SEGMENTS(Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q),
GUI_VG_SEGMENTS(L, Q, Q, Q, Q, Q, Q, Q, Q),
};
static GUI_CONST_STORAGE I16 _acCrdMVBoliRegular_0079[] = { // Code 0079, LATIN SMALL LETTER Y
190, 462, 175, 462, 163, 454, 151, 446, 142, 433, 134, 420,
129, 404, 124, 389, 124, 374, 124, 355, 129, 341, 134, 327,
141, 316, 149, 306, 157, 300, 166, 294, 173, 291, 197, 285,
229, 278, 261, 271, 298, 257, 336, 244, 378, 222, 421, 201,
466, 166, 511, 131, 560, 84, 610, 38, 656, -24, 702, -87,
742, -167, 782, -248, 808, -352, 789, -331, 764, -304, 740, -278,
712, -250, 684, -223, 654, -197, 624, -172, 594, -151, 564, -131,
535, -119, 507, -107, 482, -107, 415, -107, 368, -137, 321, -168,
281, -238, 270, -258, 264, -290, 258, -322, 258, -355, 258, -409,
263, -460, 268, -511, 278, -566, 288, -621, 301, -681, 315, -742,
332, -815, 333, -834, 335, -851, 337, -865, 337, -878, 338, -891,
339, -894, 341, -911, 350, -926, 360, -941, 373, -952, 387, -963,
402, -969, 418, -975, 433, -975, 454, -975, 475, -971, 496, -968,
508, -956, 525, -938, 533, -909, 542, -880, 542, -857, 542, -848,
533, -821, 525, -794, 509, -765, 485, -675, 470, -612, 455, -550,
446, -508, 438, -467, 434, -442, 431, -418, 431, -405, 431, -351,
449, -319, 467, -287, 493, -287, 508, -287, 527, -293, 547, -299,
569, -313, 653, -365, 713, -426, 774, -488, 817, -562, 861, -637,
892, -726, 924, -815, 950, -922, 952, -929, 959, -936, 967, -943,
977, -948, 988, -953, 1000, -956, 1012, -960, 1023, -960, 1076, -960,
1104, -931, 1133, -903, 1133, -855, 1133, -837, 1124, -797, 1115, -757,
1103, -712, 1091, -668, 1078, -627, 1066, -587, 1059, -568, 1011, -429,
978, -335, 951, -256, 925, -177, 895, -108, 865, -40, 827, 21,
790, 82, 737, 140, 684, 198, 611, 256, 538, 315, 437, 378,
375, 415, 315, 438, 256, 462, 190, 462,
};
static U16 _aCodePages_MVBoliRegular[] = {
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0,
};
static I16 _aPageSizes_MVBoliRegular[] = {
14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
};
static GUI_CONST_STORAGE GUI_VG_FONT_GLYPH_INT _aGlyphs_MVBoliRegular[] = {
{ { 1000, 0, 0, 0, 0, 0 }, 0x0020, NULL, NULL },
{ { 745, 176, 1462, 631, 1470, sizeof(_acSegMVBoliRegular_0021) }, 0x0021, _acSegMVBoliRegular_0021, _acCrdMVBoliRegular_0021 },
{ { 599, 220, 1462, 544, 1511, sizeof(_acSegMVBoliRegular_0049) }, 0x0049, _acSegMVBoliRegular_0049, _acCrdMVBoliRegular_0049 },
{ { 518, 163, 1347, 526, 1407, sizeof(_acSegMVBoliRegular_0069) }, 0x0069, _acSegMVBoliRegular_0069, _acCrdMVBoliRegular_0069 },
{ { 987, 187, 1460, 913, 1493, sizeof(_acSegMVBoliRegular_006B) }, 0x006B, _acSegMVBoliRegular_006B, _acCrdMVBoliRegular_006B },
{ { 516, 205, 1524, 503, 1553, sizeof(_acSegMVBoliRegular_006C) }, 0x006C, _acSegMVBoliRegular_006C, _acCrdMVBoliRegular_006C },
{ { 1759, 193, 1022, 1559, 1070, sizeof(_acSegMVBoliRegular_006D) }, 0x006D, _acSegMVBoliRegular_006D, _acCrdMVBoliRegular_006D },
{ { 1083, 188, 987, 921, 1027, sizeof(_acSegMVBoliRegular_006F) }, 0x006F, _acSegMVBoliRegular_006F, _acCrdMVBoliRegular_006F },
{ { 1156, 104, 954, 1104, 1416, sizeof(_acSegMVBoliRegular_0070) }, 0x0070, _acSegMVBoliRegular_0070, _acCrdMVBoliRegular_0070 },
{ { 872, 211, 966, 816, 990, sizeof(_acSegMVBoliRegular_0072) }, 0x0072, _acSegMVBoliRegular_0072, _acCrdMVBoliRegular_0072 },
{ { 847, 160, 975, 751, 979, sizeof(_acSegMVBoliRegular_0073) }, 0x0073, _acSegMVBoliRegular_0073, _acCrdMVBoliRegular_0073 },
{ { 1081, 246, 1317, 870, 1304, sizeof(_acSegMVBoliRegular_0074) }, 0x0074, _acSegMVBoliRegular_0074, _acCrdMVBoliRegular_0074 },
{ { 1503, 269, 987, 1374, 976, sizeof(_acSegMVBoliRegular_0077) }, 0x0077, _acSegMVBoliRegular_0077, _acCrdMVBoliRegular_0077 },
{ { 1081, 124, 975, 1009, 1437, sizeof(_acSegMVBoliRegular_0079) }, 0x0079, _acSegMVBoliRegular_0079, _acCrdMVBoliRegular_0079 },
};
GUI_CONST_STORAGE GUI_VG_FONT_DATA_INT GUI_VectorFont_MVBoliRegular = {
{
2333, // Baseline (unscaled)
3300, // Font height (unscaled)
2712, // Boundary box height (unscaled)
2940, // Boundary box width (unscaled)
2048, // Units per EM
1453, // Height of capital characters
946, // Height of lower-case characters
(GUI_VG_FONTFLAG_SCALE_BBOX | GUI_VG_FONTFLAG_KERNING_DISABLED), // Font flags
},
_aCodePages_MVBoliRegular, // Code page array
_aPageSizes_MVBoliRegular, // Page size array
_aGlyphs_MVBoliRegular, // Glyph array
NULL, // Kerning array
0, // Kerning array size
};
//
// Start of unicode area Basic Latin
//
static GUI_CONST_STORAGE U8 _acSegLiberationSerifRegular_0021[] = { // Code 0021, EXCLAMATION MARK
GUI_VG_SEGMENTS(M, Q, Q, Q, Q, Q, Q, Q, Q, M, L, L, L, L),
};
static GUI_CONST_STORAGE I16 _acCrdLiberationSerifRegular_0021[] = { // Code 0021, EXCLAMATION MARK
461, -92, 461, -43, 426, -7, 392, 29, 340, 29, 288, 29,
253, -7, 219, -43, 219, -92, 219, -143, 254, -178, 289, -213,
340, -213, 391, -213, 426, -178, 461, -143, 461, -92, 231, -1341,
449, -1341, 387, -389, 293, -389, 231, -1341,
};
static GUI_CONST_STORAGE U8 _acSegLiberationSerifRegular_0049[] = { // Code 0049, LATIN CAPITAL LETTER I
GUI_VG_SEGMENTS(M, L, L, L, L, L, L, L, L, L, L, L, L),
};
static GUI_CONST_STORAGE I16 _acCrdLiberationSerifRegular_0049[] = { // Code 0049, LATIN CAPITAL LETTER I
438, -80, 610, -53, 610, 0, 74, 0, 74, -53, 246, -80,
246, -1262, 74, -1288, 74, -1341, 610, -1341, 610, -1288, 438, -1262,
438, -80,
};
static GUI_CONST_STORAGE U8 _acSegLiberationSerifRegular_0069[] = { // Code 0069, LATIN SMALL LETTER I
GUI_VG_SEGMENTS(M, Q, Q, Q, Q, Q, Q, Q, Q, M, L, L, L, L, L, L, L, L, L, L),
};
static GUI_CONST_STORAGE I16 _acCrdLiberationSerifRegular_0069[] = { // Code 0069, LATIN SMALL LETTER I
379, -1247, 379, -1203, 347, -1171, 315, -1139, 270, -1139, 226, -1139,
194, -1171, 162, -1203, 162, -1247, 162, -1292, 194, -1324, 226, -1356,
270, -1356, 315, -1356, 347, -1324, 379, -1292, 379, -1247, 369, -70,
530, -45, 530, 0, 43, 0, 43, -45, 203, -70, 203, -870,
70, -895, 70, -940, 369, -940, 369, -70,
};
static GUI_CONST_STORAGE U8 _acSegLiberationSerifRegular_006B[] = { // Code 006B, LATIN SMALL LETTER K
GUI_VG_SEGMENTS(M, L, L, L, L, L, L, L, L, L, L, L, L, L, L, L, L, L, L, L, L, L),
GUI_VG_SEGMENTS(L, L, L, L, L),
};
static GUI_CONST_STORAGE I16 _acCrdLiberationSerifRegular_006B[] = { // Code 006B, LATIN SMALL LETTER K
344, -453, 729, -868, 631, -895, 631, -940, 963, -940, 963, -895,
846, -872, 578, -598, 922, -68, 1024, -45, 1024, 0, 639, 0,
639, -45, 725, -70, 467, -475, 344, -340, 344, -70, 444, -45,
444, 0, 59, 0, 59, -45, 178, -70, 178, -1352, 39, -1376,
39, -1421, 344, -1421, 344, -453,
};
static GUI_CONST_STORAGE U8 _acSegLiberationSerifRegular_006C[] = { // Code 006C, LATIN SMALL LETTER L
GUI_VG_SEGMENTS(M, L, L, L, L, L, L, L, L, L, L),
};
static GUI_CONST_STORAGE I16 _acCrdLiberationSerifRegular_006C[] = { // Code 006C, LATIN SMALL LETTER L
367, -70, 528, -45, 528, 0, 41, 0, 41, -45, 201, -70,
201, -1352, 41, -1376, 41, -1421, 367, -1421, 367, -70,
};
static GUI_CONST_STORAGE U8 _acSegLiberationSerifRegular_006D[] = { // Code 006D, LATIN SMALL LETTER M
GUI_VG_SEGMENTS(M, Q, Q, Q, Q, Q, Q, Q, L, L, L, L, L, L, L, Q, Q, Q, Q, Q, Q, L),
GUI_VG_SEGMENTS(L, L, L, L, L, L, Q, Q, Q, L, L, L, L, L, L, L, L, L, L, L),
};
static GUI_CONST_STORAGE I16 _acCrdLiberationSerifRegular_006D[] = { // Code 006D, LATIN SMALL LETTER M
326, -864, 401, -907, 485, -936, 569, -965, 633, -965, 702, -965,
760, -939, 819, -913, 848, -856, 925, -899, 1028, -932, 1132, -965,
1200, -965, 1440, -965, 1440, -688, 1440, -70, 1561, -45, 1561, 0,
1134, 0, 1134, -45, 1274, -70, 1274, -670, 1274, -842, 1114, -842,
1088, -842, 1053, -838, 1019, -834, 984, -829, 950, -824, 918, -817,
887, -811, 866, -807, 883, -753, 883, -688, 883, -70, 1024, -45,
1024, 0, 578, 0, 578, -45, 717, -70, 717, -670, 717, -753,
674, -797, 632, -842, 547, -842, 459, -842, 328, -813, 328, -70,
469, -45, 469, 0, 43, 0, 43, -45, 162, -70, 162, -870,
43, -895, 43, -940, 318, -940, 326, -864,
};
static GUI_CONST_STORAGE U8 _acSegLiberationSerifRegular_006F[] = { // Code 006F, LATIN SMALL LETTER O
GUI_VG_SEGMENTS(M, Q, Q, Q, Q, Q, Q, Q, M, Q, Q, Q, Q, Q, Q, Q, Q),
};
static GUI_CONST_STORAGE I16 _acCrdLiberationSerifRegular_006F[] = { // Code 006F, LATIN SMALL LETTER O
946, -475, 946, 20, 506, 20, 294, 20, 186, -107, 78, -234,
78, -475, 78, -713, 186, -839, 294, -965, 514, -965, 728, -965,
837, -841, 946, -718, 946, -475, 766, -475, 766, -691, 703, -788,
640, -885, 506, -885, 375, -885, 316, -792, 258, -699, 258, -475,
258, -248, 317, -153, 377, -59, 506, -59, 638, -59, 702, -157,
766, -255, 766, -475,
};
static GUI_CONST_STORAGE U8 _acSegLiberationSerifRegular_0070[] = { // Code 0070, LATIN SMALL LETTER P
GUI_VG_SEGMENTS(M, L, L, L, L, Q, Q, Q, Q, Q, Q, Q, Q, L, L, L, L, L, L, L, M, Q),
GUI_VG_SEGMENTS(Q, Q, L, Q, Q),
};
static GUI_CONST_STORAGE I16 _acCrdLiberationSerifRegular_0070[] = { // Code 0070, LATIN SMALL LETTER P
152, -870, 45, -895, 45, -940, 309, -940, 311, -885, 353, -921,
423, -943, 494, -965, 567, -965, 747, -965, 845, -840, 944, -715,
944, -481, 944, -242, 836, -111, 729, 20, 526, 20, 413, 20,
311, -2, 317, 70, 317, 111, 317, 365, 481, 389, 481, 436,
33, 436, 33, 389, 152, 365, 152, -870, 764, -481, 764, -673,
701, -766, 639, -860, 512, -860, 395, -860, 317, -827, 317, -76,
406, -59, 512, -59, 764, -59, 764, -481,
};
static GUI_CONST_STORAGE U8 _acSegLiberationSerifRegular_0072[] = { // Code 0072, LATIN SMALL LETTER R
GUI_VG_SEGMENTS(M, L, L, L, Q, Q, L, L, L, L, L, L, L, L, L, L, L, Q, Q, L),
};
static GUI_CONST_STORAGE I16 _acCrdLiberationSerifRegular_0072[] = { // Code 0072, LATIN SMALL LETTER R
664, -965, 664, -711, 621, -711, 563, -821, 513, -821, 444, -807,
376, -794, 326, -772, 326, -70, 487, -45, 487, 0, 41, 0,
41, -45, 160, -70, 160, -870, 41, -895, 41, -940, 315, -940,
324, -823, 384, -873, 486, -919, 589, -965, 649, -965, 664, -965,
};
static GUI_CONST_STORAGE U8 _acSegLiberationSerifRegular_0073[] = { // Code 0073, LATIN SMALL LETTER S
GUI_VG_SEGMENTS(M, Q, Q, Q, Q, L, L, L, Q, Q, Q, L, Q, Q, Q, Q, Q, Q, L, L, L, Q),
GUI_VG_SEGMENTS(Q, Q, Q, Q, Q, Q, Q, Q),
};
static GUI_CONST_STORAGE I16 _acCrdLiberationSerifRegular_0073[] = { // Code 0073, LATIN SMALL LETTER S
723, -264, 723, -124, 634, -52, 546, 20, 373, 20, 303, 20,
218, 5, 134, -9, 86, -27, 86, -258, 131, -258, 180, -127,
255, -59, 375, -59, 569, -59, 569, -225, 569, -347, 416, -399,
327, -428, 226, -461, 180, -495, 134, -529, 109, -578, 84, -628,
84, -698, 84, -822, 168, -893, 253, -965, 397, -965, 500, -965,
655, -934, 655, -729, 608, -729, 566, -838, 513, -885, 399, -885,
318, -885, 275, -845, 233, -805, 233, -737, 233, -680, 271, -641,
310, -602, 388, -576, 535, -526, 580, -503, 625, -480, 656, -446,
688, -413, 705, -370, 723, -327, 723, -264,
};
static GUI_CONST_STORAGE U8 _acSegLiberationSerifRegular_0074[] = { // Code 0074, LATIN SMALL LETTER T
GUI_VG_SEGMENTS(M, Q, Q, L, L, L, L, L, L, L, L, L, L, L, Q, Q, Q, L, Q, Q),
};
static GUI_CONST_STORAGE I16 _acCrdLiberationSerifRegular_0074[] = { // Code 0074, LATIN SMALL LETTER T
334, 20, 238, 20, 190, -37, 143, -94, 143, -197, 143, -856,
20, -856, 20, -901, 145, -940, 246, -1153, 309, -1153, 309, -940,
524, -940, 524, -856, 309, -856, 309, -215, 309, -150, 338, -117,
368, -84, 416, -84, 474, -84, 557, -100, 557, -35, 522, -11,
456, 4, 390, 20, 334, 20,
};
static GUI_CONST_STORAGE U8 _acSegLiberationSerifRegular_0077[] = { // Code 0077, LATIN SMALL LETTER W
GUI_VG_SEGMENTS(M, L, L, L, L, L, L, L, L, L, L, L, L, L, L, L, L, L, L, L, L, L),
};
static GUI_CONST_STORAGE I16 _acCrdLiberationSerifRegular_0077[] = { // Code 0077, LATIN SMALL LETTER W
1051, 20, 973, 20, 741, -600, 512, 20, 438, 20, 113, -870,
2, -895, 2, -940, 449, -940, 449, -895, 293, -868, 516, -233,
743, -846, 827, -846, 1053, -229, 1266, -870, 1112, -895, 1112, -940,
1470, -940, 1470, -895, 1366, -874, 1051, 20,
};
static GUI_CONST_STORAGE U8 _acSegLiberationSerifRegular_0079[] = { // Code 0079, LATIN SMALL LETTER Y
GUI_VG_SEGMENTS(M, Q, L, L, L, Q, Q, Q, Q, L, L, L, L, L, L, L, L, L, L, L, L, L),
GUI_VG_SEGMENTS(L, Q, Q, Q),
};
static GUI_CONST_STORAGE I16 _acCrdLiberationSerifRegular_0079[] = { // Code 0079, LATIN SMALL LETTER Y
199, 442, 121, 442, 45, 424, 45, 221, 92, 221, 125, 317,
156, 340, 211, 340, 263, 340, 307, 310, 351, 280, 387, 221,
424, 162, 479, 10, 121, -870, 25, -895, 25, -940, 461, -940,
461, -895, 313, -868, 567, -211, 813, -870, 666, -895, 666, -940,
1016, -940, 1016, -895, 918, -874, 551, 59, 486, 224, 438, 296,
390, 368, 332, 405, 274, 442, 199, 442,
};
static U16 _aCodePages_LiberationSerifRegular[] = {
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0,
};
static I16 _aPageSizes_LiberationSerifRegular[] = {
14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
};
static GUI_CONST_STORAGE GUI_VG_FONT_GLYPH_INT _aGlyphs_LiberationSerifRegular[] = {
{ { 512, 0, 0, 0, 0, 0 }, 0x0020, NULL, NULL },
{ { 682, 219, 1341, 242, 1370, sizeof(_acSegLiberationSerifRegular_0021) }, 0x0021, _acSegLiberationSerifRegular_0021, _acCrdLiberationSerifRegular_0021 },
{ { 682, 74, 1341, 536, 1341, sizeof(_acSegLiberationSerifRegular_0049) }, 0x0049, _acSegLiberationSerifRegular_0049, _acCrdLiberationSerifRegular_0049 },
{ { 569, 43, 1356, 487, 1356, sizeof(_acSegLiberationSerifRegular_0069) }, 0x0069, _acSegLiberationSerifRegular_0069, _acCrdLiberationSerifRegular_0069 },
{ { 1024, 39, 1421, 985, 1421, sizeof(_acSegLiberationSerifRegular_006B) }, 0x006B, _acSegLiberationSerifRegular_006B, _acCrdLiberationSerifRegular_006B },
{ { 569, 41, 1421, 487, 1421, sizeof(_acSegLiberationSerifRegular_006C) }, 0x006C, _acSegLiberationSerifRegular_006C, _acCrdLiberationSerifRegular_006C },
{ { 1593, 43, 965, 1518, 965, sizeof(_acSegLiberationSerifRegular_006D) }, 0x006D, _acSegLiberationSerifRegular_006D, _acCrdLiberationSerifRegular_006D },
{ { 1024, 78, 965, 868, 985, sizeof(_acSegLiberationSerifRegular_006F) }, 0x006F, _acSegLiberationSerifRegular_006F, _acCrdLiberationSerifRegular_006F },
{ { 1024, 33, 965, 911, 1401, sizeof(_acSegLiberationSerifRegular_0070) }, 0x0070, _acSegLiberationSerifRegular_0070, _acCrdLiberationSerifRegular_0070 },
{ { 682, 41, 965, 623, 965, sizeof(_acSegLiberationSerifRegular_0072) }, 0x0072, _acSegLiberationSerifRegular_0072, _acCrdLiberationSerifRegular_0072 },
{ { 797, 84, 965, 639, 985, sizeof(_acSegLiberationSerifRegular_0073) }, 0x0073, _acSegLiberationSerifRegular_0073, _acCrdLiberationSerifRegular_0073 },
{ { 569, 20, 1153, 537, 1173, sizeof(_acSegLiberationSerifRegular_0074) }, 0x0074, _acSegLiberationSerifRegular_0074, _acCrdLiberationSerifRegular_0074 },
{ { 1479, 2, 940, 1468, 960, sizeof(_acSegLiberationSerifRegular_0077) }, 0x0077, _acSegLiberationSerifRegular_0077, _acCrdLiberationSerifRegular_0077 },
{ { 1024, 25, 940, 991, 1382, sizeof(_acSegLiberationSerifRegular_0079) }, 0x0079, _acSegLiberationSerifRegular_0079, _acCrdLiberationSerifRegular_0079 },
};
GUI_CONST_STORAGE GUI_VG_FONT_DATA_INT GUI_VectorFont_LiberationSerifRegular = {
{
1825, // Baseline (unscaled)
2355, // Font height (unscaled)
2631, // Boundary box height (unscaled)
3732, // Boundary box width (unscaled)
2048, // Units per EM
1352, // Height of capital characters
981, // Height of lower-case characters
(GUI_VG_FONTFLAG_SCALE_BBOX | GUI_VG_FONTFLAG_KERNING_DISABLED), // Font flags
},
_aCodePages_LiberationSerifRegular, // Code page array
_aPageSizes_LiberationSerifRegular, // Page size array
_aGlyphs_LiberationSerifRegular, // Glyph array
NULL, // Kerning array
0, // Kerning array size
};
//
// Start of unicode area Basic Latin
//
static GUI_CONST_STORAGE U8 _acSegCourierNewRegular_0021[] = { // Code 0021, EXCLAMATION MARK
GUI_VG_SEGMENTS(M, L, Q, Q, Q, Q, L, Q, Q, Q, Q, Q, Q, M, L, Q, Q, Q, Q, L, Q, Q),
GUI_VG_SEGMENTS(Q, Q),
};
static GUI_CONST_STORAGE I16 _acCrdCourierNewRegular_0021[] = { // Code 0021, EXCLAMATION MARK
695, -1170, 657, -492, 655, -460, 643, -447, 632, -434, 615, -434,
597, -434, 585, -447, 574, -460, 572, -492, 535, -1170, 533, -1194,
533, -1205, 533, -1239, 556, -1262, 580, -1285, 615, -1285, 650, -1285,
673, -1262, 696, -1239, 696, -1204, 696, -1194, 695, -1170, 595, -178,
634, -178, 677, -178, 707, -147, 738, -117, 738, -74, 738, -30,
707, 0, 676, 30, 634, 30, 595, 30, 552, 30, 521, 0,
491, -31, 491, -73, 491, -118, 522, -148, 553, -178, 595, -178,
};
static GUI_CONST_STORAGE U8 _acSegCourierNewRegular_0049[] = { // Code 0049, LATIN CAPITAL LETTER I
GUI_VG_SEGMENTS(M, L, L, Q, Q, Q, Q, L, Q, Q, Q, Q, L, L, L, Q, Q, Q, Q, L, Q, Q),
GUI_VG_SEGMENTS(Q, Q, L),
};
static GUI_CONST_STORAGE I16 _acCrdCourierNewRegular_0049[] = { // Code 0049, LATIN CAPITAL LETTER I
657, -1086, 657, -84, 945, -84, 975, -84, 988, -72, 1001, -61,
1001, -42, 1001, -24, 988, -12, 975, 0, 945, 0, 285, 0,
255, 0, 242, -12, 229, -24, 229, -42, 229, -61, 242, -72,
255, -84, 285, -84, 573, -84, 573, -1086, 285, -1086, 255, -1086,
242, -1097, 229, -1109, 229, -1128, 229, -1147, 242, -1158, 255, -1170,
285, -1170, 945, -1170, 975, -1170, 988, -1158, 1001, -1147, 1001, -1128,
1001, -1109, 988, -1097, 975, -1086, 945, -1086, 657, -1086,
};
static GUI_CONST_STORAGE U8 _acSegCourierNewRegular_0069[] = { // Code 0069, LATIN SMALL LETTER I
GUI_VG_SEGMENTS(M, L, L, L, L, M, L, L, Q, Q, Q, Q, L, Q, Q, Q, Q, L, L, L, Q, Q),
GUI_VG_SEGMENTS(Q, Q, L),
};
static GUI_CONST_STORAGE I16 _acCrdCourierNewRegular_0069[] = { // Code 0069, LATIN SMALL LETTER I
656, -1297, 656, -1080, 532, -1080, 532, -1297, 656, -1297, 659, -866,
659, -84, 989, -84, 1020, -84, 1033, -72, 1046, -61, 1046, -42,
1046, -24, 1033, -12, 1020, 0, 989, 0, 245, 0, 215, 0,
202, -12, 189, -24, 189, -42, 189, -61, 202, -72, 215, -84,
245, -84, 575, -84, 575, -781, 330, -781, 300, -781, 286, -793,
273, -805, 273, -823, 273, -842, 286, -854, 299, -866, 330, -866,
659, -866,
};
static GUI_CONST_STORAGE U8 _acSegCourierNewRegular_006B[] = { // Code 006B, LATIN SMALL LETTER K
GUI_VG_SEGMENTS(M, L, L, Q, Q, Q, Q, L, L, L, Q, Q, Q, Q, L, L, L, L, Q, Q, Q, Q),
GUI_VG_SEGMENTS(L, Q, Q, Q, Q, L, L, L, L, Q, Q, Q, Q, L, Q, Q, Q, Q, L, L, L),
};
static GUI_CONST_STORAGE I16 _acCrdCourierNewRegular_006B[] = { // Code 006B, LATIN SMALL LETTER K
444, -374, 444, 0, 247, 0, 217, 0, 204, -12, 191, -24,
191, -42, 191, -61, 204, -72, 217, -84, 247, -84, 360, -84,
360, -1170, 247, -1170, 217, -1170, 204, -1182, 191, -1194, 191, -1213,
191, -1231, 204, -1243, 217, -1255, 247, -1255, 444, -1255, 444, -481,
801, -781, 758, -781, 728, -781, 715, -793, 702, -805, 702, -823,
702, -842, 715, -854, 728, -866, 758, -866, 1027, -866, 1058, -866,
1071, -854, 1084, -842, 1084, -823, 1084, -805, 1071, -793, 1058, -781,
1027, -781, 930, -781, 602, -507, 1017, -84, 1114, -84, 1145, -84,
1158, -72, 1171, -61, 1171, -42, 1171, -24, 1158, -12, 1145, 0,
1114, 0, 842, 0, 812, 0, 799, -12, 786, -24, 786, -42,
786, -61, 799, -72, 812, -84, 842, -84, 901, -84, 540, -455,
444, -374,
};
static GUI_CONST_STORAGE U8 _acSegCourierNewRegular_006C[] = { // Code 006C, LATIN SMALL LETTER L
GUI_VG_SEGMENTS(M, L, L, Q, Q, Q, Q, L, Q, Q, Q, Q, L, L, L, Q, Q, Q, Q, L),
};
static GUI_CONST_STORAGE I16 _acCrdCourierNewRegular_006C[] = { // Code 006C, LATIN SMALL LETTER L
657, -1255, 657, -84, 987, -84, 1018, -84, 1031, -72, 1044, -61,
1044, -42, 1044, -24, 1031, -12, 1018, 0, 987, 0, 243, 0,
213, 0, 200, -12, 187, -24, 187, -42, 187, -61, 200, -72,
213, -84, 243, -84, 573, -84, 573, -1170, 331, -1170, 301, -1170,
287, -1182, 274, -1194, 274, -1213, 274, -1231, 287, -1243, 300, -1255,
331, -1255, 657, -1255,
};
static GUI_CONST_STORAGE U8 _acSegCourierNewRegular_006D[] = { // Code 006D, LATIN SMALL LETTER M
GUI_VG_SEGMENTS(M, L, Q, Q, Q, Q, Q, Q, Q, L, L, Q, Q, Q, Q, L, L, Q, Q, Q, Q, L),
GUI_VG_SEGMENTS(L, Q, Q, Q, Q, L, L, Q, Q, Q, Q, L, L, Q, Q, Q, Q, L, Q, Q, Q, Q),
GUI_VG_SEGMENTS(L, L, L, Q, Q, Q, Q, L),
};
static GUI_CONST_STORAGE I16 _acCrdCourierNewRegular_006D[] = { // Code 006D, LATIN SMALL LETTER M
232, -866, 232, -781, 339, -896, 447, -896, 512, -896, 561, -861,
610, -827, 643, -757, 699, -827, 756, -861, 814, -896, 872, -896,
963, -896, 1017, -837, 1088, -761, 1088, -671, 1088, -84, 1159, -84,
1189, -84, 1202, -72, 1215, -61, 1215, -42, 1215, -24, 1202, -12,
1189, 0, 1159, 0, 1004, 0, 1004, -663, 1004, -727, 965, -769,
926, -811, 875, -811, 829, -811, 778, -776, 727, -742, 662, -641,
662, -84, 732, -84, 762, -84, 775, -72, 788, -61, 788, -42,
788, -24, 775, -12, 762, 0, 732, 0, 577, 0, 577, -657,
577, -724, 537, -767, 498, -811, 449, -811, 404, -811, 360, -782,
299, -741, 232, -641, 232, -84, 303, -84, 333, -84, 346, -72,
359, -61, 359, -42, 359, -24, 346, -12, 333, 0, 303, 0,
77, 0, 47, 0, 34, -12, 21, -24, 21, -42, 21, -61,
34, -72, 47, -84, 77, -84, 148, -84, 148, -781, 77, -781,
47, -781, 34, -793, 21, -805, 21, -824, 21, -842, 34, -854,
47, -866, 77, -866, 232, -866,
};
static GUI_CONST_STORAGE U8 _acSegCourierNewRegular_006F[] = { // Code 006F, LATIN SMALL LETTER O
GUI_VG_SEGMENTS(M, Q, Q, Q, Q, Q, Q, Q, Q, M, Q, Q, Q, Q, Q, Q, Q, Q),
};
static GUI_CONST_STORAGE I16 _acCrdCourierNewRegular_006F[] = { // Code 006F, LATIN SMALL LETTER O
1084, -431, 1084, -239, 946, -103, 809, 33, 615, 33, 419, 33,
282, -103, 145, -240, 145, -431, 145, -623, 282, -759, 419, -896,
615, -896, 809, -896, 946, -760, 1084, -624, 1084, -431, 999, -431,
999, -589, 886, -700, 774, -811, 614, -811, 454, -811, 341, -699,
229, -588, 229, -431, 229, -275, 341, -163, 454, -51, 614, -51,
774, -51, 886, -162, 999, -274, 999, -431,
};
static GUI_CONST_STORAGE U8 _acSegCourierNewRegular_0070[] = { // Code 0070, LATIN SMALL LETTER P
GUI_VG_SEGMENTS(M, L, Q, Q, Q, Q, Q, Q, Q, Q, L, L, Q, Q, Q, Q, L, Q, Q, Q, Q, L),
GUI_VG_SEGMENTS(L, L, Q, Q, Q, Q, L, M, Q, Q, Q, Q, Q, Q, Q, Q),
};
static GUI_CONST_STORAGE I16 _acCrdCourierNewRegular_0070[] = { // Code 0070, LATIN SMALL LETTER P
298, -866, 298, -713, 373, -804, 459, -850, 545, -896, 662, -896,
786, -896, 891, -838, 996, -780, 1053, -676, 1111, -573, 1111, -459,
1111, -278, 981, -149, 852, -21, 663, -21, 438, -21, 298, -204,
298, 302, 502, 302, 532, 302, 545, 313, 558, 325, 558, 344,
558, 362, 545, 374, 532, 386, 502, 386, 101, 386, 71, 386,
58, 374, 45, 363, 45, 344, 45, 325, 58, 313, 71, 302,
101, 302, 214, 302, 214, -781, 101, -781, 71, -781, 58, -793,
45, -805, 45, -824, 45, -842, 58, -854, 71, -866, 101, -866,
298, -866, 1026, -459, 1026, -604, 920, -707, 815, -811, 663, -811,
510, -811, 404, -707, 298, -603, 298, -459, 298, -314, 404, -210,
510, -106, 663, -106, 814, -106, 920, -209, 1026, -313, 1026, -459,
};
static GUI_CONST_STORAGE U8 _acSegCourierNewRegular_0072[] = { // Code 0072, LATIN SMALL LETTER R
GUI_VG_SEGMENTS(M, L, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, L, L, Q, Q, Q, Q, L, Q),
GUI_VG_SEGMENTS(Q, Q, Q, L, L, L, Q, Q, Q, Q, L),
};
static GUI_CONST_STORAGE I16 _acCrdCourierNewRegular_0072[] = { // Code 0072, LATIN SMALL LETTER R
514, -866, 514, -654, 678, -802, 759, -844, 841, -887, 910, -887,
985, -887, 1049, -836, 1114, -786, 1114, -760, 1114, -741, 1101, -728,
1089, -716, 1070, -716, 1060, -716, 1053, -719, 1046, -723, 1027, -742,
992, -777, 966, -790, 940, -803, 915, -803, 860, -803, 782, -759,
705, -715, 514, -544, 514, -84, 886, -84, 917, -84, 930, -72,
943, -61, 943, -42, 943, -24, 930, -12, 917, 0, 886, 0,
227, 0, 197, 0, 184, -11, 171, -23, 171, -41, 171, -58,
183, -69, 196, -81, 227, -81, 430, -81, 430, -781, 275, -781,
245, -781, 232, -793, 219, -805, 219, -824, 219, -842, 231, -854,
244, -866, 275, -866, 514, -866,
};
static GUI_CONST_STORAGE U8 _acSegCourierNewRegular_0073[] = { // Code 0073, LATIN SMALL LETTER S
GUI_VG_SEGMENTS(M, Q, Q, Q, Q, L, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q),
GUI_VG_SEGMENTS(Q, Q, Q, Q, Q, L, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q),
GUI_VG_SEGMENTS(Q),
};
static GUI_CONST_STORAGE I16 _acCrdCourierNewRegular_0073[] = { // Code 0073, LATIN SMALL LETTER S
892, -811, 892, -840, 904, -853, 916, -866, 934, -866, 953, -866,
965, -853, 977, -840, 977, -809, 977, -665, 977, -635, 965, -622,
953, -609, 934, -609, 917, -609, 905, -620, 894, -631, 892, -656,
886, -716, 830, -755, 748, -811, 613, -811, 472, -811, 394, -754,
335, -711, 335, -658, 335, -598, 405, -558, 453, -530, 587, -515,
762, -496, 830, -472, 927, -437, 974, -375, 1022, -313, 1022, -241,
1022, -134, 919, -50, 816, 33, 617, 33, 418, 33, 291, -68,
291, -34, 287, -24, 283, -14, 272, -7, 262, 0, 249, 0,
231, 0, 219, -13, 207, -26, 207, -56, 207, -229, 207, -259,
218, -272, 230, -285, 249, -285, 267, -285, 279, -272, 292, -260,
292, -239, 292, -193, 315, -162, 350, -114, 426, -82, 503, -51,
614, -51, 778, -51, 858, -112, 938, -173, 938, -241, 938, -319,
857, -366, 775, -413, 618, -429, 462, -445, 394, -471, 326, -497,
288, -549, 250, -601, 250, -661, 250, -769, 356, -832, 462, -896,
609, -896, 783, -896, 892, -811,
};
static GUI_CONST_STORAGE U8 _acSegCourierNewRegular_0074[] = { // Code 0074, LATIN SMALL LETTER T
GUI_VG_SEGMENTS(M, L, Q, Q, Q, Q, L, L, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, L, L),
GUI_VG_SEGMENTS(Q, Q, Q, Q, L, L, Q, Q, Q, Q, L),
};
static GUI_CONST_STORAGE I16 _acCrdCourierNewRegular_0074[] = { // Code 0074, LATIN SMALL LETTER T
442, -866, 898, -866, 928, -866, 941, -854, 954, -842, 954, -823,
954, -805, 941, -793, 928, -781, 898, -781, 442, -781, 442, -222,
442, -149, 500, -100, 559, -51, 672, -51, 757, -51, 856, -76,
955, -102, 1010, -134, 1030, -147, 1043, -147, 1059, -147, 1071, -134,
1083, -122, 1083, -105, 1083, -90, 1070, -77, 1038, -44, 914, -5,
791, 33, 678, 33, 531, 33, 444, -36, 357, -105, 357, -222,
357, -781, 202, -781, 172, -781, 159, -793, 146, -805, 146, -824,
146, -842, 159, -854, 172, -866, 202, -866, 357, -866, 357, -1114,
357, -1144, 369, -1157, 381, -1170, 399, -1170, 418, -1170, 430, -1157,
442, -1144, 442, -1114, 442, -866,
};
static GUI_CONST_STORAGE U8 _acSegCourierNewRegular_0077[] = { // Code 0077, LATIN SMALL LETTER W
GUI_VG_SEGMENTS(M, L, L, L, L, L, L, Q, Q, Q, Q, L, Q, Q, Q, Q, L, L, L, L, L, L),
GUI_VG_SEGMENTS(L, Q, Q, Q, Q, L, Q, Q, Q, Q, L, L),
};
static GUI_CONST_STORAGE I16 _acCrdCourierNewRegular_0077[] = { // Code 0077, LATIN SMALL LETTER W
904, 0, 800, 1, 615, -539, 431, 1, 327, 0, 153, -781,
112, -781, 82, -781, 69, -793, 56, -805, 56, -824, 56, -842,
69, -854, 82, -866, 112, -866, 343, -866, 373, -866, 386, -854,
399, -842, 399, -823, 399, -805, 386, -793, 373, -781, 343, -781,
236, -781, 385, -115, 564, -647, 664, -647, 848, -115, 991, -781,
885, -781, 855, -781, 841, -793, 828, -805, 828, -824, 828, -842,
841, -854, 854, -866, 885, -866, 1115, -866, 1146, -866, 1159, -854,
1172, -842, 1172, -823, 1172, -805, 1159, -793, 1146, -781, 1115, -781,
1075, -781, 904, 0,
};
static GUI_CONST_STORAGE U8 _acSegCourierNewRegular_0079[] = { // Code 0079, LATIN SMALL LETTER Y
GUI_VG_SEGMENTS(M, L, L, Q, Q, Q, Q, Q, L, Q, Q, Q, Q, L, L, L, L, Q, Q, Q, Q, L),
GUI_VG_SEGMENTS(Q, Q, Q, Q, Q, L, L, Q, Q, Q, Q, L, Q, Q, Q, Q, L, L),
};
static GUI_CONST_STORAGE I16 _acCrdCourierNewRegular_0079[] = { // Code 0079, LATIN SMALL LETTER Y
620, 0, 230, -781, 205, -781, 175, -781, 162, -793, 149, -805,
149, -823, 149, -836, 155, -846, 162, -857, 172, -861, 183, -866,
205, -866, 435, -866, 465, -866, 478, -854, 491, -842, 491, -823,
491, -805, 478, -793, 465, -781, 435, -781, 322, -781, 665, -92,
1003, -781, 890, -781, 860, -781, 847, -793, 834, -805, 834, -824,
834, -842, 847, -854, 860, -866, 890, -866, 1119, -866, 1150, -866,
1163, -854, 1176, -842, 1176, -823, 1176, -810, 1168, -799, 1160, -788,
1150, -784, 1140, -781, 1094, -781, 562, 302, 693, 302, 723, 302,
736, 313, 749, 325, 749, 344, 749, 362, 736, 374, 723, 386,
693, 386, 209, 386, 179, 386, 166, 374, 153, 363, 153, 344,
153, 325, 166, 313, 179, 302, 209, 302, 472, 302, 620, 0,
};
static U16 _aCodePages_CourierNewRegular[] = {
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0,
};
static I16 _aPageSizes_CourierNewRegular[] = {
14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
};
static GUI_CONST_STORAGE GUI_VG_FONT_GLYPH_INT _aGlyphs_CourierNewRegular[] = {
{ { 1229, 0, 0, 0, 0, 0 }, 0x0020, NULL, NULL },
{ { 1229, 491, 1285, 247, 1315, sizeof(_acSegCourierNewRegular_0021) }, 0x0021, _acSegCourierNewRegular_0021, _acCrdCourierNewRegular_0021 },
{ { 1229, 229, 1170, 772, 1170, sizeof(_acSegCourierNewRegular_0049) }, 0x0049, _acSegCourierNewRegular_0049, _acCrdCourierNewRegular_0049 },
{ { 1229, 189, 1297, 857, 1297, sizeof(_acSegCourierNewRegular_0069) }, 0x0069, _acSegCourierNewRegular_0069, _acCrdCourierNewRegular_0069 },
{ { 1229, 191, 1255, 980, 1255, sizeof(_acSegCourierNewRegular_006B) }, 0x006B, _acSegCourierNewRegular_006B, _acCrdCourierNewRegular_006B },
{ { 1229, 187, 1255, 857, 1255, sizeof(_acSegCourierNewRegular_006C) }, 0x006C, _acSegCourierNewRegular_006C, _acCrdCourierNewRegular_006C },
{ { 1229, 21, 896, 1194, 896, sizeof(_acSegCourierNewRegular_006D) }, 0x006D, _acSegCourierNewRegular_006D, _acCrdCourierNewRegular_006D },
{ { 1229, 145, 896, 939, 929, sizeof(_acSegCourierNewRegular_006F) }, 0x006F, _acSegCourierNewRegular_006F, _acCrdCourierNewRegular_006F },
{ { 1229, 45, 896, 1066, 1282, sizeof(_acSegCourierNewRegular_0070) }, 0x0070, _acSegCourierNewRegular_0070, _acCrdCourierNewRegular_0070 },
{ { 1229, 171, 887, 943, 887, sizeof(_acSegCourierNewRegular_0072) }, 0x0072, _acSegCourierNewRegular_0072, _acCrdCourierNewRegular_0072 },
{ { 1229, 207, 896, 815, 929, sizeof(_acSegCourierNewRegular_0073) }, 0x0073, _acSegCourierNewRegular_0073, _acCrdCourierNewRegular_0073 },
{ { 1229, 146, 1170, 937, 1203, sizeof(_acSegCourierNewRegular_0074) }, 0x0074, _acSegCourierNewRegular_0074, _acCrdCourierNewRegular_0074 },
{ { 1229, 56, 866, 1116, 867, sizeof(_acSegCourierNewRegular_0077) }, 0x0077, _acSegCourierNewRegular_0077, _acCrdCourierNewRegular_0077 },
{ { 1229, 149, 866, 1027, 1252, sizeof(_acSegCourierNewRegular_0079) }, 0x0079, _acSegCourierNewRegular_0079, _acCrdCourierNewRegular_0079 },
};
GUI_CONST_STORAGE GUI_VG_FONT_DATA_INT GUI_VectorFont_CourierNewRegular = {
{
1705, // Baseline (unscaled)
2320, // Font height (unscaled)
3483, // Boundary box height (unscaled)
1524, // Boundary box width (unscaled)
2048, // Units per EM
1170, // Height of capital characters
929, // Height of lower-case characters
(GUI_VG_FONTFLAG_SCALE_BBOX | GUI_VG_FONTFLAG_KERNING_DISABLED), // Font flags
},
_aCodePages_CourierNewRegular, // Code page array
_aPageSizes_CourierNewRegular, // Page size array
_aGlyphs_CourierNewRegular, // Glyph array
NULL, // Kerning array
0, // Kerning array size
};
//
// Start of unicode area Basic Latin
//
static GUI_CONST_STORAGE U8 _acSegLiberationSansRegular_0021[] = { // Code 0021, EXCLAMATION MARK
GUI_VG_SEGMENTS(M, L, L, L, L, M, L, L, L, L),
};
static GUI_CONST_STORAGE I16 _acCrdLiberationSansRegular_0021[] = { // Code 0021, EXCLAMATION MARK
359, -397, 211, -397, 187, -1409, 383, -1409, 359, -397, 185, 0,
185, -201, 379, -201, 379, 0, 185, 0,
};
static GUI_CONST_STORAGE U8 _acSegLiberationSansRegular_0022[] = { // Code 0022, QUOTATION MARK
GUI_VG_SEGMENTS(M, L, L, L, L, M, L, L, L, L),
};
static GUI_CONST_STORAGE I16 _acCrdLiberationSansRegular_0022[] = { // Code 0022, QUOTATION MARK
618, -966, 476, -966, 456, -1409, 640, -1409, 618, -966, 249, -966,
108, -966, 87, -1409, 271, -1409, 249, -966,
};
static GUI_CONST_STORAGE U8 _acSegLiberationSansRegular_0023[] = { // Code 0023, NUMBER SIGN
GUI_VG_SEGMENTS(M, L, L, L, L, L, L, L, L, L, L, L, L, L, L, L, L, L, L, L, L, L),
GUI_VG_SEGMENTS(L, L, L, L, L, L, L, M, L, L, L, L),
};
static GUI_CONST_STORAGE I16 _acCrdLiberationSansRegular_0023[] = { // Code 0023, NUMBER SIGN
896, -885, 818, -516, 1078, -516, 1078, -408, 795, -408, 707, 0,
597, 0, 683, -408, 320, -408, 236, 0, 126, 0, 210, -408,
9, -408, 9, -516, 234, -516, 312, -885, 60, -885, 60, -993,
334, -993, 423, -1401, 533, -1401, 445, -993, 808, -993, 896, -1401,
1006, -1401, 918, -993, 1129, -993, 1129, -885, 896, -885, 425, -885,
345, -516, 707, -516, 785, -885, 425, -885,
};
static GUI_CONST_STORAGE U8 _acSegLiberationSansRegular_0024[] = { // Code 0024, DOLLAR SIGN
GUI_VG_SEGMENTS(M, Q, L, Q, Q, L, Q, Q, Q, Q, Q, Q, L, L, L, Q, Q, L, Q, Q, L, Q),
GUI_VG_SEGMENTS(Q, Q, Q, Q, Q, L, L, L, M, Q, Q, Q, L, Q, Q, M, Q, Q, Q, L, Q),
};
static GUI_CONST_STORAGE I16 _acCrdLiberationSansRegular_0024[] = { // Code 0024, DOLLAR SIGN
518, -20, 92, -38, 22, -379, 192, -416, 217, -297, 296, -237,
376, -177, 518, -168, 518, -664, 341, -708, 273, -743, 206, -778,
164, -823, 123, -869, 104, -921, 86, -973, 86, -1046, 86, -1201,
198, -1288, 311, -1376, 518, -1385, 518, -1516, 642, -1516, 642, -1385,
829, -1376, 931, -1300, 1033, -1225, 1075, -1065, 901, -1032, 881, -1126,
820, -1178, 759, -1231, 642, -1242, 642, -797, 821, -755, 896, -720,
972, -685, 1016, -641, 1060, -597, 1083, -537, 1106, -477, 1106, -396,
1106, -231, 985, -131, 864, -31, 642, -20, 642, 142, 518, 142,
518, -20, 934, -394, 934, -459, 908, -501, 882, -543, 833, -570,
784, -598, 642, -635, 642, -167, 783, -176, 858, -234, 934, -292,
934, -394, 258, -1048, 258, -989, 283, -948, 308, -907, 357, -879,
407, -851, 518, -823, 518, -1244, 258, -1230, 258, -1048,
};
static GUI_CONST_STORAGE U8 _acSegLiberationSansRegular_0025[] = { // Code 0025, PERCENT SIGN
GUI_VG_SEGMENTS(M, Q, Q, Q, Q, Q, Q, Q, Q, M, L, L, L, L, M, Q, Q, Q, Q, Q, Q, Q),
GUI_VG_SEGMENTS(Q, M, Q, Q, Q, Q, Q, Q, Q, Q, M, Q, Q, Q, Q, Q, Q, Q, Q),
};
static GUI_CONST_STORAGE I16 _acCrdLiberationSansRegular_0025[] = { // Code 0025, PERCENT SIGN
1748, -434, 1748, -219, 1667, -103, 1586, 12, 1428, 12, 1272, 12,
1192, -100, 1113, -213, 1113, -434, 1113, -662, 1189, -773, 1266, -885,
1432, -885, 1596, -885, 1672, -770, 1748, -656, 1748, -434, 527, 0,
372, 0, 1294, -1409, 1451, -1409, 527, 0, 394, -1421, 553, -1421,
630, -1309, 707, -1197, 707, -975, 707, -758, 627, -641, 548, -524,
390, -524, 232, -524, 152, -640, 73, -756, 73, -975, 73, -1198,
150, -1309, 227, -1421, 394, -1421, 1600, -434, 1600, -613, 1561, -693,
1523, -774, 1432, -774, 1341, -774, 1300, -695, 1260, -616, 1260, -434,
1260, -263, 1299, -180, 1339, -98, 1430, -98, 1518, -98, 1559, -181,
1600, -265, 1600, -434, 560, -975, 560, -1151, 522, -1232, 484, -1313,
394, -1313, 300, -1313, 260, -1233, 220, -1154, 220, -975, 220, -802,
260, -719, 300, -637, 392, -637, 479, -637, 519, -721, 560, -805,
560, -975,
};
static GUI_CONST_STORAGE U8 _acSegLiberationSansRegular_0026[] = { // Code 0026, AMPERSAND
GUI_VG_SEGMENTS(M, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, L, Q, Q, Q, L),
GUI_VG_SEGMENTS(Q, M, Q, Q, Q, Q, Q, Q, Q, Q, M, Q, Q, Q, Q, Q, Q),
};
static GUI_CONST_STORAGE I16 _acCrdLiberationSansRegular_0026[] = { // Code 0026, AMPERSAND
1193, 12, 1016, 12, 895, -115, 820, -50, 724, -15, 628, 20,
523, 20, 308, 20, 190, -83, 72, -187, 72, -371, 72, -649,
415, -800, 382, -862, 358, -947, 334, -1032, 334, -1102, 334, -1252,
425, -1334, 517, -1417, 685, -1417, 836, -1417, 928, -1341, 1021, -1265,
1021, -1133, 1021, -1015, 929, -923, 838, -831, 612, -741, 723, -536,
905, -329, 1018, -495, 1076, -739, 1221, -696, 1158, -447, 1009, -227,
1105, -129, 1217, -129, 1288, -129, 1334, -145, 1334, -10, 1278, 12,
1193, 12, 869, -1133, 869, -1205, 819, -1250, 769, -1296, 683, -1296,
587, -1296, 537, -1244, 487, -1193, 487, -1102, 487, -988, 552, -858,
683, -911, 744, -950, 806, -989, 837, -1034, 869, -1079, 869, -1133,
795, -217, 597, -451, 476, -674, 240, -574, 240, -373, 240, -252,
317, -181, 395, -111, 529, -111, 600, -111, 671, -138, 742, -166,
795, -217,
};
static GUI_CONST_STORAGE U8 _acSegLiberationSansRegular_0027[] = { // Code 0027, APOSTROPHE
GUI_VG_SEGMENTS(M, L, L, L, L),
};
static GUI_CONST_STORAGE I16 _acCrdLiberationSansRegular_0027[] = { // Code 0027, APOSTROPHE
266, -966, 125, -966, 104, -1409, 288, -1409, 266, -966,
};
static GUI_CONST_STORAGE U8 _acSegLiberationSansRegular_0028[] = { // Code 0028, LEFT PARENTHESIS
GUI_VG_SEGMENTS(M, Q, Q, L, Q, Q, Q, Q, L, Q, Q, L),
};
static GUI_CONST_STORAGE I16 _acCrdLiberationSansRegular_0028[] = { // Code 0028, LEFT PARENTHESIS
127, -532, 127, -821, 217, -1051, 308, -1281, 496, -1484, 670, -1484,
483, -1276, 395, -1042, 308, -808, 308, -530, 308, -253, 394, -20,
481, 213, 670, 424, 496, 424, 307, 220, 217, -10, 127, -241,
127, -528, 127, -532,
};
static GUI_CONST_STORAGE U8 _acSegLiberationSansRegular_0029[] = { // Code 0029, RIGHT PARENTHESIS
GUI_VG_SEGMENTS(M, Q, Q, L, Q, Q, Q, Q, L, Q, Q, L),
};
static GUI_CONST_STORAGE I16 _acCrdLiberationSansRegular_0029[] = { // Code 0029, RIGHT PARENTHESIS
555, -528, 555, -239, 464, -9, 374, 221, 186, 424, 12, 424,
200, 214, 287, -18, 374, -251, 374, -530, 374, -809, 286, -1042,
199, -1275, 12, -1484, 186, -1484, 375, -1280, 465, -1049, 555, -819,
555, -532, 555, -528,
};
static GUI_CONST_STORAGE U8 _acSegLiberationSansRegular_002A[] = { // Code 002A, ASTERISK
GUI_VG_SEGMENTS(M, L, L, L, L, L, L, L, L, L, L, L, L, L, L, L),
};
static GUI_CONST_STORAGE I16 _acCrdLiberationSansRegular_002A[] = { // Code 002A, ASTERISK
456, -1114, 720, -1217, 765, -1085, 483, -1012, 668, -762, 549, -690,
399, -948, 243, -692, 124, -764, 313, -1012, 33, -1085, 78, -1219,
345, -1112, 333, -1409, 469, -1409, 456, -1114,
};
static GUI_CONST_STORAGE U8 _acSegLiberationSansRegular_002B[] = { // Code 002B, PLUS SIGN
GUI_VG_SEGMENTS(M, L, L, L, L, L, L, L, L, L, L, L, L),
};
static GUI_CONST_STORAGE I16 _acCrdLiberationSansRegular_002B[] = { // Code 002B, PLUS SIGN
671, -608, 671, -180, 524, -180, 524, -608, 100, -608, 100, -754,
524, -754, 524, -1182, 671, -1182, 671, -754, 1095, -754, 1095, -608,
671, -608,
};
static GUI_CONST_STORAGE U8 _acSegLiberationSansRegular_002C[] = { // Code 002C, COMMA
GUI_VG_SEGMENTS(M, L, Q, Q, L, Q, L, L, L),
};
static GUI_CONST_STORAGE I16 _acCrdLiberationSansRegular_002C[] = { // Code 002C, COMMA
385, -219, 385, -51, 385, 55, 366, 126, 347, 197, 307, 262,
184, 262, 278, 126, 278, 0, 190, 0, 190, -219, 385, -219,
};
static GUI_CONST_STORAGE U8 _acSegLiberationSansRegular_002D[] = { // Code 002D, HYPHEN-MINUS
GUI_VG_SEGMENTS(M, L, L, L, L),
};
static GUI_CONST_STORAGE I16 _acCrdLiberationSansRegular_002D[] = { // Code 002D, HYPHEN-MINUS
91, -464, 91, -624, 591, -624, 591, -464, 91, -464,
};
static GUI_CONST_STORAGE U8 _acSegLiberationSansRegular_002E[] = { // Code 002E, FULL STOP
GUI_VG_SEGMENTS(M, L, L, L, L),
};
static GUI_CONST_STORAGE I16 _acCrdLiberationSansRegular_002E[] = { // Code 002E, FULL STOP
187, 0, 187, -219, 382, -219, 382, 0, 187, 0,
};
static GUI_CONST_STORAGE U8 _acSegLiberationSansRegular_002F[] = { // Code 002F, SOLIDUS
GUI_VG_SEGMENTS(M, L, L, L, L),
};
static GUI_CONST_STORAGE I16 _acCrdLiberationSansRegular_002F[] = { // Code 002F, SOLIDUS
0, 20, 411, -1484, 569, -1484, 162, 20, 0, 20,
};
static GUI_CONST_STORAGE U8 _acSegLiberationSansRegular_0030[] = { // Code 0030, DIGIT ZERO
GUI_VG_SEGMENTS(M, Q, Q, Q, Q, Q, Q, Q, Q, M, Q, Q, Q, Q, Q, Q, Q, Q),
};
static GUI_CONST_STORAGE I16 _acCrdLiberationSansRegular_0030[] = { // Code 0030, DIGIT ZERO
1059, -705, 1059, -352, 934, -166, 810, 20, 567, 20, 324, 20,
202, -165, 80, -350, 80, -705, 80, -1068, 198, -1249, 317, -1430,
573, -1430, 822, -1430, 940, -1247, 1059, -1064, 1059, -705, 876, -705,
876, -1010, 805, -1147, 735, -1284, 573, -1284, 407, -1284, 334, -1149,
262, -1014, 262, -705, 262, -405, 335, -266, 409, -127, 569, -127,
728, -127, 802, -269, 876, -411, 876, -705,
};
static GUI_CONST_STORAGE U8 _acSegLiberationSansRegular_0031[] = { // Code 0031, DIGIT ONE
GUI_VG_SEGMENTS(M, L, L, L, L, L, L, L, L, L, L, L),
};
static GUI_CONST_STORAGE I16 _acCrdLiberationSansRegular_0031[] = { // Code 0031, DIGIT ONE
156, 0, 156, -153, 515, -153, 515, -1237, 197, -1010, 197, -1180,
530, -1409, 696, -1409, 696, -153, 1039, -153, 1039, 0, 156, 0,
};
static GUI_CONST_STORAGE U8 _acSegLiberationSansRegular_0032[] = { // Code 0032, DIGIT TWO
GUI_VG_SEGMENTS(M, L, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, L, Q, Q, Q, Q, Q, Q, Q, Q, Q),
GUI_VG_SEGMENTS(L, L, L),
};
static GUI_CONST_STORAGE I16 _acCrdLiberationSansRegular_0032[] = { // Code 0032, DIGIT TWO
103, 0, 103, -127, 154, -244, 227, -333, 301, -423, 382, -495,
463, -568, 542, -630, 622, -692, 686, -754, 750, -816, 789, -884,
829, -952, 829, -1038, 829, -1154, 761, -1218, 693, -1282, 572, -1282,
457, -1282, 382, -1219, 308, -1157, 295, -1044, 111, -1061, 131, -1230,
254, -1330, 378, -1430, 572, -1430, 785, -1430, 899, -1329, 1014, -1229,
1014, -1044, 1014, -962, 976, -881, 939, -800, 865, -719, 791, -638,
582, -468, 467, -374, 399, -298, 331, -223, 301, -153, 1036, -153,
1036, 0, 103, 0,
};
static GUI_CONST_STORAGE U8 _acSegLiberationSansRegular_0033[] = { // Code 0033, DIGIT THREE
GUI_VG_SEGMENTS(M, Q, Q, Q, Q, L, Q, Q, Q, Q, Q, L, L, L, Q, Q, Q, Q, Q, Q, L, Q),
GUI_VG_SEGMENTS(Q, Q, Q, Q, Q, L, Q, Q),
};
static GUI_CONST_STORAGE I16 _acCrdLiberationSansRegular_0033[] = { // Code 0033, DIGIT THREE
1049, -389, 1049, -194, 925, -87, 801, 20, 571, 20, 357, 20,
229, -76, 102, -173, 78, -362, 264, -379, 300, -129, 571, -129,
707, -129, 784, -196, 862, -263, 862, -395, 862, -510, 773, -574,
685, -639, 518, -639, 416, -639, 416, -795, 514, -795, 662, -795,
743, -859, 825, -924, 825, -1038, 825, -1151, 758, -1216, 692, -1282,
561, -1282, 442, -1282, 368, -1221, 295, -1160, 283, -1049, 102, -1063,
122, -1236, 245, -1333, 369, -1430, 563, -1430, 775, -1430, 892, -1331,
1010, -1233, 1010, -1057, 1010, -922, 934, -837, 859, -753, 715, -723,
715, -719, 873, -702, 961, -613, 1049, -524, 1049, -389,
};
static GUI_CONST_STORAGE U8 _acSegLiberationSansRegular_0034[] = { // Code 0034, DIGIT FOUR
GUI_VG_SEGMENTS(M, L, L, L, L, L, L, L, L, L, L, L, M, Q, Q, L, L, L, L, L),
};
static GUI_CONST_STORAGE I16 _acCrdLiberationSansRegular_0034[] = { // Code 0034, DIGIT FOUR
881, -319, 881, 0, 711, 0, 711, -319, 47, -319, 47, -459,
692, -1409, 881, -1409, 881, -461, 1079, -461, 1079, -319, 881, -319,
711, -1206, 709, -1200, 683, -1153, 657, -1106, 644, -1087, 283, -555,
229, -481, 213, -461, 711, -461, 711, -1206,
};
static GUI_CONST_STORAGE U8 _acSegLiberationSansRegular_0035[] = { // Code 0035, DIGIT FIVE
GUI_VG_SEGMENTS(M, Q, Q, Q, Q, L, Q, Q, Q, Q, Q, Q, Q, L, L, L, L, L, L, Q, Q, Q),
};
static GUI_CONST_STORAGE I16 _acCrdLiberationSansRegular_0035[] = { // Code 0035, DIGIT FIVE
1053, -459, 1053, -236, 920, -108, 788, 20, 553, 20, 356, 20,
235, -66, 114, -152, 82, -315, 264, -336, 321, -127, 557, -127,
702, -127, 784, -214, 866, -302, 866, -455, 866, -588, 783, -670,
701, -752, 561, -752, 488, -752, 425, -729, 362, -706, 299, -651,
123, -651, 170, -1409, 971, -1409, 971, -1256, 334, -1256, 307, -809,
424, -899, 598, -899, 806, -899, 929, -777, 1053, -655, 1053, -459,
};
static GUI_CONST_STORAGE U8 _acSegLiberationSansRegular_0036[] = { // Code 0036, DIGIT SIX
GUI_VG_SEGMENTS(M, Q, Q, Q, Q, Q, Q, Q, L, Q, Q, Q, Q, Q, Q, Q, M, Q, Q, Q, Q, Q),
GUI_VG_SEGMENTS(Q, Q, Q),
};
static GUI_CONST_STORAGE I16 _acCrdLiberationSansRegular_0036[] = { // Code 0036, DIGIT SIX
1049, -461, 1049, -238, 928, -109, 807, 20, 594, 20, 356, 20,
230, -157, 104, -334, 104, -672, 104, -1038, 235, -1234, 366, -1430,
608, -1430, 927, -1430, 1010, -1143, 838, -1112, 785, -1284, 606, -1284,
452, -1284, 367, -1140, 283, -997, 283, -725, 332, -816, 421, -863,
510, -911, 625, -911, 820, -911, 934, -789, 1049, -667, 1049, -461,
866, -453, 866, -606, 791, -689, 716, -772, 582, -772, 456, -772,
378, -698, 301, -625, 301, -496, 301, -333, 381, -229, 462, -125,
588, -125, 718, -125, 792, -212, 866, -300, 866, -453,
};
static GUI_CONST_STORAGE U8 _acSegLiberationSansRegular_0037[] = { // Code 0037, DIGIT SEVEN
GUI_VG_SEGMENTS(M, Q, Q, Q, L, Q, Q, L, L, L, L),
};
static GUI_CONST_STORAGE I16 _acCrdLiberationSansRegular_0037[] = { // Code 0037, DIGIT SEVEN
1036, -1263, 820, -933, 731, -746, 642, -559, 597, -377, 553, -195,
553, 0, 365, 0, 365, -270, 479, -568, 594, -867, 862, -1256,
105, -1256, 105, -1409, 1036, -1409, 1036, -1263,
};
static GUI_CONST_STORAGE U8 _acSegLiberationSansRegular_0038[] = { // Code 0038, DIGIT EIGHT
GUI_VG_SEGMENTS(M, Q, Q, Q, Q, Q, Q, L, Q, Q, Q, Q, Q, Q, Q, Q, L, Q, Q, M, Q, Q),
GUI_VG_SEGMENTS(Q, Q, Q, Q, Q, M, Q, Q, Q, Q, Q, Q, Q),
};
static GUI_CONST_STORAGE I16 _acCrdLiberationSansRegular_0038[] = { // Code 0038, DIGIT EIGHT
1050, -393, 1050, -198, 926, -89, 802, 20, 570, 20, 344, 20,
216, -87, 89, -194, 89, -391, 89, -529, 168, -623, 247, -717,
370, -737, 370, -741, 255, -768, 188, -858, 122, -948, 122, -1069,
122, -1230, 242, -1330, 363, -1430, 566, -1430, 774, -1430, 894, -1332,
1015, -1234, 1015, -1067, 1015, -946, 948, -856, 881, -766, 765, -743,
765, -739, 900, -717, 975, -624, 1050, -532, 1050, -393, 828, -1057,
828, -1296, 566, -1296, 439, -1296, 372, -1236, 306, -1176, 306, -1057,
306, -936, 374, -872, 443, -809, 568, -809, 695, -809, 761, -867,
828, -926, 828, -1057, 863, -410, 863, -541, 785, -607, 707, -674,
566, -674, 429, -674, 352, -602, 275, -531, 275, -406, 275, -115,
572, -115, 719, -115, 791, -185, 863, -256, 863, -410,
};
static GUI_CONST_STORAGE U8 _acSegLiberationSansRegular_0039[] = { // Code 0039, DIGIT NINE
GUI_VG_SEGMENTS(M, Q, Q, Q, Q, L, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, M, Q, Q, Q, Q),
GUI_VG_SEGMENTS(Q, Q, Q, Q, Q),
};
static GUI_CONST_STORAGE I16 _acCrdLiberationSansRegular_0039[] = { // Code 0039, DIGIT NINE
1042, -733, 1042, -370, 909, -175, 777, 20, 532, 20, 367, 20,
267, -49, 168, -119, 125, -274, 297, -301, 351, -125, 535, -125,
690, -125, 775, -269, 860, -413, 864, -680, 824, -590, 727, -535,
630, -481, 514, -481, 324, -481, 210, -611, 96, -741, 96, -956,
96, -1177, 220, -1303, 344, -1430, 565, -1430, 800, -1430, 921, -1256,
1042, -1082, 1042, -733, 846, -907, 846, -1077, 768, -1180, 690, -1284,
559, -1284, 429, -1284, 354, -1195, 279, -1107, 279, -956, 279, -802,
354, -712, 429, -623, 557, -623, 635, -623, 702, -658, 769, -694,
807, -759, 846, -824, 846, -907,
};
static GUI_CONST_STORAGE U8 _acSegLiberationSansRegular_003A[] = { // Code 003A, COLON
GUI_VG_SEGMENTS(M, L, L, L, L, M, L, L, L, L),
};
static GUI_CONST_STORAGE I16 _acCrdLiberationSansRegular_003A[] = { // Code 003A, COLON
187, -875, 187, -1082, 382, -1082, 382, -875, 187, -875, 187, 0,
187, -207, 382, -207, 382, 0, 187, 0,
};
static GUI_CONST_STORAGE U8 _acSegLiberationSansRegular_003B[] = { // Code 003B, SEMICOLON
GUI_VG_SEGMENTS(M, L, Q, Q, L, Q, L, L, L, M, L, L, L, L),
};
static GUI_CONST_STORAGE I16 _acCrdLiberationSansRegular_003B[] = { // Code 003B, SEMICOLON
385, -207, 385, -51, 385, 55, 366, 126, 347, 197, 307, 262,
184, 262, 278, 126, 278, 0, 190, 0, 190, -207, 385, -207,
190, -875, 190, -1082, 385, -1082, 385, -875, 190, -875,
};
static GUI_CONST_STORAGE U8 _acSegLiberationSansRegular_003C[] = { // Code 003C, LESS-THAN SIGN
GUI_VG_SEGMENTS(M, L, L, L, L, L, L, L),
};
static GUI_CONST_STORAGE I16 _acCrdLiberationSansRegular_003C[] = { // Code 003C, LESS-THAN SIGN
101, -571, 101, -776, 1096, -1194, 1096, -1040, 238, -674, 1096, -307,
1096, -154, 101, -571,
};
static GUI_CONST_STORAGE U8 _acSegLiberationSansRegular_003D[] = { // Code 003D, EQUALS SIGN
GUI_VG_SEGMENTS(M, L, L, L, L, M, L, L, L, L),
};
static GUI_CONST_STORAGE I16 _acCrdLiberationSansRegular_003D[] = { // Code 003D, EQUALS SIGN
100, -856, 100, -1004, 1095, -1004, 1095, -856, 100, -856, 100, -344,
100, -492, 1095, -492, 1095, -344, 100, -344,
};
static GUI_CONST_STORAGE U8 _acSegLiberationSansRegular_003E[] = { // Code 003E, GREATER-THAN SIGN
GUI_VG_SEGMENTS(M, L, L, L, L, L, L, L),
};
static GUI_CONST_STORAGE I16 _acCrdLiberationSansRegular_003E[] = { // Code 003E, GREATER-THAN SIGN
101, -154, 101, -307, 959, -674, 101, -1040, 101, -1194, 1096, -776,
1096, -571, 101, -154,
};
static GUI_CONST_STORAGE U8 _acSegLiberationSansRegular_003F[] = { // Code 003F, QUESTION MARK
GUI_VG_SEGMENTS(M, Q, Q, Q, L, Q, Q, L, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, L, Q),
GUI_VG_SEGMENTS(Q, Q, Q, M, L, L, L, L),
};
static GUI_CONST_STORAGE I16 _acCrdLiberationSansRegular_003F[] = { // Code 003F, QUESTION MARK
1063, -1032, 1063, -957, 1041, -898, 1019, -839, 978, -789, 937, -739,
844, -671, 764, -612, 692, -560, 657, -502, 622, -445, 621, -377,
446, -377, 448, -446, 467, -498, 487, -550, 518, -590, 549, -630,
588, -661, 627, -693, 667, -721, 707, -750, 745, -778, 784, -807,
814, -842, 844, -877, 862, -921, 881, -965, 881, -1024, 881, -1138,
803, -1204, 726, -1270, 586, -1270, 446, -1270, 364, -1200, 282, -1130,
268, -1008, 84, -1020, 110, -1218, 240, -1324, 370, -1430, 584, -1430,
807, -1430, 935, -1324, 1063, -1219, 1063, -1032, 438, 0, 438, -201,
633, -201, 633, 0, 438, 0,
};
static GUI_CONST_STORAGE U8 _acSegLiberationSansRegular_0040[] = { // Code 0040, COMMERCIAL AT
GUI_VG_SEGMENTS(M, Q, Q, Q, Q, Q, L, L, Q, Q, Q, Q, Q, Q, Q, Q, L, L, L, L, Q, Q),
GUI_VG_SEGMENTS(Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, L, Q, Q, Q, Q, Q, Q, Q),
GUI_VG_SEGMENTS(Q, Q, Q, Q, M, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q),
};
static GUI_CONST_STORAGE I16 _acCrdLiberationSansRegular_0040[] = { // Code 0040, COMMERCIAL AT
1902, -755, 1902, -569, 1844, -418, 1787, -268, 1684, -186, 1582, -104,
1455, -104, 1356, -104, 1302, -148, 1248, -192, 1248, -280, 1251, -350,
1245, -350, 1179, -227, 1081, -165, 984, -104, 871, -104, 714, -104,
627, -206, 541, -308, 541, -489, 541, -653, 605, -794, 670, -935,
786, -1018, 902, -1101, 1043, -1101, 1262, -1101, 1344, -919, 1350, -919,
1389, -1079, 1545, -1079, 1429, -573, 1392, -409, 1392, -320, 1392, -226,
1473, -226, 1553, -226, 1620, -295, 1688, -364, 1727, -485, 1766, -606,
1766, -753, 1766, -932, 1689, -1070, 1612, -1209, 1467, -1283, 1322, -1358,
1128, -1358, 886, -1358, 700, -1251, 514, -1144, 408, -942, 302, -741,
302, -491, 302, -298, 380, -150, 459, -3, 607, 76, 756, 155,
954, 155, 1099, 155, 1248, 117, 1397, 80, 1557, -7, 1612, 105,
1467, 192, 1297, 237, 1128, 283, 954, 283, 713, 283, 532, 187,
352, 92, 256, -84, 161, -261, 161, -491, 161, -771, 285, -1000,
410, -1229, 631, -1356, 852, -1484, 1126, -1484, 1367, -1484, 1542, -1393,
1717, -1303, 1809, -1138, 1902, -973, 1902, -755, 1296, -747, 1296, -849,
1230, -911, 1164, -974, 1054, -974, 953, -974, 874, -910, 796, -847,
751, -734, 706, -622, 706, -491, 706, -371, 753, -303, 801, -235,
900, -235, 1025, -235, 1129, -340, 1233, -445, 1273, -602, 1296, -694,
1296, -747,
};
static GUI_CONST_STORAGE U8 _acSegLiberationSansRegular_0041[] = { // Code 0041, LATIN CAPITAL LETTER A
GUI_VG_SEGMENTS(M, L, L, L, L, L, L, L, L, M, L, Q, L, L, L, Q, L),
};
static GUI_CONST_STORAGE I16 _acCrdLiberationSansRegular_0041[] = { // Code 0041, LATIN CAPITAL LETTER A
1167, 0, 1006, -412, 364, -412, 202, 0, 4, 0, 579, -1409,
796, -1409, 1362, 0, 1167, 0, 685, -1265, 676, -1237, 651, -1154,
602, -1024, 422, -561, 949, -561, 768, -1026, 740, -1095, 712, -1182,
685, -1265,
};
static GUI_CONST_STORAGE U8 _acSegLiberationSansRegular_0042[] = { // Code 0042, LATIN CAPITAL LETTER B
GUI_VG_SEGMENTS(M, Q, Q, L, L, L, Q, Q, Q, Q, Q, M, Q, Q, L, L, L, Q, Q, M, Q, L),
GUI_VG_SEGMENTS(L, L, Q, Q),
};
static GUI_CONST_STORAGE I16 _acCrdLiberationSansRegular_0042[] = { // Code 0042, LATIN CAPITAL LETTER B
1258, -397, 1258, -209, 1121, -104, 984, 0, 740, 0, 168, 0,
168, -1409, 680, -1409, 1176, -1409, 1176, -1067, 1176, -942, 1106, -857,
1036, -772, 908, -743, 1076, -723, 1167, -630, 1258, -538, 1258, -397,
984, -1044, 984, -1158, 906, -1207, 828, -1256, 680, -1256, 359, -1256,
359, -810, 680, -810, 833, -810, 908, -867, 984, -925, 984, -1044,
1065, -412, 1065, -661, 715, -661, 359, -661, 359, -153, 730, -153,
905, -153, 985, -218, 1065, -283, 1065, -412,
};
static GUI_CONST_STORAGE U8 _acSegLiberationSansRegular_0043[] = { // Code 0043, LATIN CAPITAL LETTER C
GUI_VG_SEGMENTS(M, Q, Q, Q, Q, Q, L, Q, Q, Q, Q, Q, Q, Q, Q, Q, L, Q, Q),
};
static GUI_CONST_STORAGE I16 _acCrdLiberationSansRegular_0043[] = { // Code 0043, LATIN CAPITAL LETTER C
792, -1274, 558, -1274, 428, -1123, 298, -973, 298, -711, 298, -452,
433, -294, 569, -137, 800, -137, 1096, -137, 1245, -430, 1401, -352,
1314, -170, 1156, -75, 999, 20, 791, 20, 578, 20, 422, -68,
267, -157, 185, -321, 104, -486, 104, -711, 104, -1048, 286, -1239,
468, -1430, 790, -1430, 1015, -1430, 1166, -1342, 1317, -1254, 1388, -1081,
1207, -1021, 1158, -1144, 1049, -1209, 941, -1274, 792, -1274,
};
static GUI_CONST_STORAGE U8 _acSegLiberationSansRegular_0044[] = { // Code 0044, LATIN CAPITAL LETTER D
GUI_VG_SEGMENTS(M, Q, Q, Q, L, L, L, Q, Q, M, Q, Q, L, L, L, Q, Q, Q),
};
static GUI_CONST_STORAGE I16 _acCrdLiberationSansRegular_0044[] = { // Code 0044, LATIN CAPITAL LETTER D
1381, -719, 1381, -501, 1296, -337, 1211, -174, 1055, -87, 899, 0,
695, 0, 168, 0, 168, -1409, 634, -1409, 992, -1409, 1186, -1229,
1381, -1050, 1381, -719, 1189, -719, 1189, -981, 1045, -1118, 902, -1256,
630, -1256, 359, -1256, 359, -153, 673, -153, 828, -153, 945, -221,
1063, -289, 1126, -417, 1189, -545, 1189, -719,
};
static GUI_CONST_STORAGE U8 _acSegLiberationSansRegular_0045[] = { // Code 0045, LATIN CAPITAL LETTER E
GUI_VG_SEGMENTS(M, L, L, L, L, L, L, L, L, L, L, L, L),
};
static GUI_CONST_STORAGE I16 _acCrdLiberationSansRegular_0045[] = { // Code 0045, LATIN CAPITAL LETTER E
168, 0, 168, -1409, 1237, -1409, 1237, -1253, 359, -1253, 359, -801,
1177, -801, 1177, -647, 359, -647, 359, -156, 1278, -156, 1278, 0,
168, 0,
};
static GUI_CONST_STORAGE U8 _acSegLiberationSansRegular_0046[] = { // Code 0046, LATIN CAPITAL LETTER F
GUI_VG_SEGMENTS(M, L, L, L, L, L, L, L, L, L, L),
};
static GUI_CONST_STORAGE I16 _acCrdLiberationSansRegular_0046[] = { // Code 0046, LATIN CAPITAL LETTER F
359, -1253, 359, -729, 1145, -729, 1145, -571, 359, -571, 359, 0,
168, 0, 168, -1409, 1169, -1409, 1169, -1253, 359, -1253,
};
static GUI_CONST_STORAGE U8 _acSegLiberationSansRegular_0047[] = { // Code 0047, LATIN CAPITAL LETTER G
GUI_VG_SEGMENTS(M, Q, Q, Q, Q, L, Q, Q, Q, Q, Q, Q, Q, Q, L, L, L, L, L, Q, Q, Q),
GUI_VG_SEGMENTS(Q, Q),
};
static GUI_CONST_STORAGE I16 _acCrdLiberationSansRegular_0047[] = { // Code 0047, LATIN CAPITAL LETTER G
103, -711, 103, -1054, 287, -1242, 471, -1430, 804, -1430, 1038, -1430,
1184, -1351, 1330, -1272, 1409, -1098, 1227, -1044, 1167, -1164, 1061, -1219,
956, -1274, 799, -1274, 555, -1274, 426, -1126, 297, -979, 297, -711,
297, -444, 434, -289, 571, -135, 813, -135, 951, -135, 1070, -177,
1190, -219, 1264, -291, 1264, -545, 843, -545, 843, -705, 1440, -705,
1440, -219, 1328, -105, 1165, -42, 1003, 20, 813, 20, 592, 20,
432, -68, 272, -156, 187, -321, 103, -487, 103, -711,
};
static GUI_CONST_STORAGE U8 _acSegLiberationSansRegular_0048[] = { // Code 0048, LATIN CAPITAL LETTER H
GUI_VG_SEGMENTS(M, L, L, L, L, L, L, L, L, L, L, L, L),
};
static GUI_CONST_STORAGE I16 _acCrdLiberationSansRegular_0048[] = { // Code 0048, LATIN CAPITAL LETTER H
1121, 0, 1121, -653, 359, -653, 359, 0, 168, 0, 168, -1409,
359, -1409, 359, -813, 1121, -813, 1121, -1409, 1312, -1409, 1312, 0,
1121, 0,
};
static GUI_CONST_STORAGE U8 _acSegLiberationSansRegular_0049[] = { // Code 0049, LATIN CAPITAL LETTER I
GUI_VG_SEGMENTS(M, L, L, L, L),
};
static GUI_CONST_STORAGE I16 _acCrdLiberationSansRegular_0049[] = { // Code 0049, LATIN CAPITAL LETTER I
189, 0, 189, -1409, 380, -1409, 380, 0, 189, 0,
};
static GUI_CONST_STORAGE U8 _acSegLiberationSansRegular_004A[] = { // Code 004A, LATIN CAPITAL LETTER J
GUI_VG_SEGMENTS(M, Q, L, Q, Q, Q, Q, L, L, L, L, L, Q, Q),
};
static GUI_CONST_STORAGE I16 _acCrdLiberationSansRegular_004A[] = { // Code 004A, LATIN CAPITAL LETTER J
457, 20, 99, 20, 32, -350, 219, -381, 237, -265, 300, -200,
363, -135, 458, -135, 562, -135, 622, -206, 682, -278, 682, -416,
682, -1253, 411, -1253, 411, -1409, 872, -1409, 872, -420, 872, -215,
761, -97, 650, 20, 457, 20,
};
static GUI_CONST_STORAGE U8 _acSegLiberationSansRegular_004B[] = { // Code 004B, LATIN CAPITAL LETTER K
GUI_VG_SEGMENTS(M, L, L, L, L, L, L, L, L, L, L, L, L),
};
static GUI_CONST_STORAGE I16 _acCrdLiberationSansRegular_004B[] = { // Code 004B, LATIN CAPITAL LETTER K
1106, 0, 543, -680, 359, -540, 359, 0, 168, 0, 168, -1409,
359, -1409, 359, -703, 1038, -1409, 1263, -1409, 663, -797, 1343, 0,
1106, 0,
};
static GUI_CONST_STORAGE U8 _acSegLiberationSansRegular_004C[] = { // Code 004C, LATIN CAPITAL LETTER L
GUI_VG_SEGMENTS(M, L, L, L, L, L, L),
};
static GUI_CONST_STORAGE I16 _acCrdLiberationSansRegular_004C[] = { // Code 004C, LATIN CAPITAL LETTER L
168, 0, 168, -1409, 359, -1409, 359, -156, 1071, -156, 1071, 0,
168, 0,
};
static GUI_CONST_STORAGE U8 _acSegLiberationSansRegular_004D[] = { // Code 004D, LATIN CAPITAL LETTER M
GUI_VG_SEGMENTS(M, L, Q, Q, L, L, L, L, L, L, L, L, L, L, L, L, Q, Q, Q, Q, L, L),
GUI_VG_SEGMENTS(L, L),
};
static GUI_CONST_STORAGE I16 _acCrdLiberationSansRegular_004D[] = { // Code 004D, LATIN CAPITAL LETTER M
1366, 0, 1366, -940, 1366, -1096, 1375, -1240, 1326, -1061, 1287, -960,
923, 0, 789, 0, 420, -960, 364, -1130, 331, -1240, 334, -1129,
338, -940, 338, 0, 168, 0, 168, -1409, 419, -1409, 794, -432,
814, -373, 832, -305, 851, -238, 857, -208, 865, -248, 890, -329,
916, -411, 925, -432, 1293, -1409, 1538, -1409, 1538, 0, 1366, 0,
};
static GUI_CONST_STORAGE U8 _acSegLiberationSansRegular_004E[] = { // Code 004E, LATIN CAPITAL LETTER N
GUI_VG_SEGMENTS(M, L, L, L, L, L, L, L, L, Q, L, L, L, L),
};
static GUI_CONST_STORAGE I16 _acCrdLiberationSansRegular_004E[] = { // Code 004E, LATIN CAPITAL LETTER N
1082, 0, 328, -1200, 333, -1103, 338, -936, 338, 0, 168, 0,
168, -1409, 390, -1409, 1152, -201, 1140, -397, 1140, -485, 1140, -1409,
1312, -1409, 1312, 0, 1082, 0,
};
static GUI_CONST_STORAGE U8 _acSegLiberationSansRegular_004F[] = { // Code 004F, LATIN CAPITAL LETTER O
GUI_VG_SEGMENTS(M, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, M, Q, Q, Q, Q, Q, Q, Q, Q),
};
static GUI_CONST_STORAGE I16 _acCrdLiberationSansRegular_004F[] = { // Code 004F, LATIN CAPITAL LETTER O
1495, -711, 1495, -490, 1410, -324, 1326, -158, 1168, -69, 1010, 20,
795, 20, 578, 20, 420, -68, 263, -156, 180, -322, 97, -489,
97, -711, 97, -1049, 282, -1239, 467, -1430, 797, -1430, 1012, -1430,
1170, -1344, 1328, -1259, 1411, -1096, 1495, -933, 1495, -711, 1300, -711,
1300, -974, 1168, -1124, 1037, -1274, 797, -1274, 555, -1274, 423, -1126,
291, -978, 291, -711, 291, -446, 424, -290, 558, -135, 795, -135,
1039, -135, 1169, -285, 1300, -436, 1300, -711,
};
static GUI_CONST_STORAGE U8 _acSegLiberationSansRegular_0050[] = { // Code 0050, LATIN CAPITAL LETTER P
GUI_VG_SEGMENTS(M, Q, Q, L, L, L, L, L, Q, Q, M, Q, L, L, L, Q),
};
static GUI_CONST_STORAGE I16 _acCrdLiberationSansRegular_0050[] = { // Code 0050, LATIN CAPITAL LETTER P
1258, -985, 1258, -785, 1127, -667, 997, -549, 773, -549, 359, -549,
359, 0, 168, 0, 168, -1409, 761, -1409, 998, -1409, 1128, -1298,
1258, -1187, 1258, -985, 1066, -983, 1066, -1256, 738, -1256, 359, -1256,
359, -700, 746, -700, 1066, -700, 1066, -983,
};
static GUI_CONST_STORAGE U8 _acSegLiberationSansRegular_0051[] = { // Code 0051, LATIN CAPITAL LETTER Q
GUI_VG_SEGMENTS(M, Q, Q, Q, Q, Q, L, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, M, Q, Q, Q),
GUI_VG_SEGMENTS(Q, Q, Q, Q, Q),
};
static GUI_CONST_STORAGE I16 _acCrdLiberationSansRegular_0051[] = { // Code 0051, LATIN CAPITAL LETTER Q
1495, -711, 1495, -413, 1345, -221, 1195, -29, 928, 6, 969, 132,
1035, 188, 1102, 244, 1204, 244, 1259, 244, 1319, 231, 1319, 365,
1226, 387, 1141, 387, 990, 387, 892, 301, 795, 216, 733, 16,
535, 6, 391, -84, 248, -175, 172, -336, 97, -498, 97, -711,
97, -1049, 282, -1239, 467, -1430, 797, -1430, 1012, -1430, 1170, -1344,
1328, -1259, 1411, -1096, 1495, -933, 1495, -711, 1300, -711, 1300, -974,
1168, -1124, 1037, -1274, 797, -1274, 555, -1274, 423, -1126, 291, -978,
291, -711, 291, -446, 424, -290, 558, -135, 795, -135, 1039, -135,
1169, -285, 1300, -436, 1300, -711,
};
static GUI_CONST_STORAGE U8 _acSegLiberationSansRegular_0052[] = { // Code 0052, LATIN CAPITAL LETTER R
GUI_VG_SEGMENTS(M, L, L, L, L, L, L, Q, Q, Q, Q, L, L, M, Q, Q, L, L, L, Q, Q),
};
static GUI_CONST_STORAGE I16 _acCrdLiberationSansRegular_0052[] = { // Code 0052, LATIN CAPITAL LETTER R
1164, 0, 798, -585, 359, -585, 359, 0, 168, 0, 168, -1409,
831, -1409, 1069, -1409, 1198, -1302, 1328, -1196, 1328, -1006, 1328, -849,
1236, -742, 1145, -635, 984, -607, 1384, 0, 1164, 0, 1136, -1004,
1136, -1127, 1052, -1191, 969, -1256, 812, -1256, 359, -1256, 359, -736,
820, -736, 971, -736, 1053, -806, 1136, -877, 1136, -1004,
};
static GUI_CONST_STORAGE U8 _acSegLiberationSansRegular_0053[] = { // Code 0053, LATIN CAPITAL LETTER S
GUI_VG_SEGMENTS(M, Q, Q, Q, L, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, L),
GUI_VG_SEGMENTS(Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q),
};
static GUI_CONST_STORAGE I16 _acCrdLiberationSansRegular_0053[] = { // Code 0053, LATIN CAPITAL LETTER S
1272, -389, 1272, -194, 1119, -87, 967, 20, 690, 20, 175, 20,
93, -338, 278, -375, 310, -248, 414, -188, 518, -129, 697, -129,
882, -129, 982, -192, 1083, -256, 1083, -379, 1083, -448, 1051, -491,
1020, -534, 963, -562, 906, -590, 827, -609, 748, -628, 652, -650,
485, -687, 398, -724, 312, -761, 262, -806, 212, -852, 185, -913,
159, -974, 159, -1053, 159, -1234, 297, -1332, 436, -1430, 694, -1430,
934, -1430, 1061, -1356, 1188, -1283, 1239, -1106, 1051, -1073, 1020, -1185,
933, -1235, 846, -1286, 692, -1286, 523, -1286, 434, -1230, 345, -1174,
345, -1063, 345, -998, 379, -955, 414, -913, 479, -883, 544, -854,
738, -811, 803, -796, 867, -780, 932, -765, 991, -743, 1050, -722,
1101, -693, 1153, -664, 1191, -622, 1229, -580, 1250, -523, 1272, -466,
1272, -389,
};
static GUI_CONST_STORAGE U8 _acSegLiberationSansRegular_0054[] = { // Code 0054, LATIN CAPITAL LETTER T
GUI_VG_SEGMENTS(M, L, L, L, L, L, L, L, L),
};
static GUI_CONST_STORAGE I16 _acCrdLiberationSansRegular_0054[] = { // Code 0054, LATIN CAPITAL LETTER T
720, -1253, 720, 0, 530, 0, 530, -1253, 46, -1253, 46, -1409,
1204, -1409, 1204, -1253, 720, -1253,
};
static GUI_CONST_STORAGE U8 _acSegLiberationSansRegular_0055[] = { // Code 0055, LATIN CAPITAL LETTER U
GUI_VG_SEGMENTS(M, Q, Q, Q, L, L, L, Q, Q, Q, Q, L, L, L, Q, Q, Q),
};
static GUI_CONST_STORAGE I16 _acCrdLiberationSansRegular_0055[] = { // Code 0055, LATIN CAPITAL LETTER U
731, 20, 558, 20, 429, -43, 300, -106, 229, -226, 158, -346,
158, -512, 158, -1409, 349, -1409, 349, -528, 349, -335, 447, -235,
545, -135, 730, -135, 920, -135, 1025, -238, 1131, -342, 1131, -541,
1131, -1409, 1321, -1409, 1321, -530, 1321, -359, 1248, -235, 1176, -111,
1043, -45, 911, 20, 731, 20,
};
static GUI_CONST_STORAGE U8 _acSegLiberationSansRegular_0056[] = { // Code 0056, LATIN CAPITAL LETTER V
GUI_VG_SEGMENTS(M, L, L, L, L, L, L, L, L, L),
};
static GUI_CONST_STORAGE I16 _acCrdLiberationSansRegular_0056[] = { // Code 0056, LATIN CAPITAL LETTER V
782, 0, 584, 0, 9, -1409, 210, -1409, 600, -417, 684, -168,
768, -417, 1156, -1409, 1357, -1409, 782, 0,
};
static GUI_CONST_STORAGE U8 _acSegLiberationSansRegular_0057[] = { // Code 0057, LATIN CAPITAL LETTER W
GUI_VG_SEGMENTS(M, L, L, Q, Q, Q, L, L, L, L, Q, Q, Q, L, L, Q, L, Q, Q, L, L),
};
static GUI_CONST_STORAGE I16 _acCrdLiberationSansRegular_0057[] = { // Code 0057, LATIN CAPITAL LETTER W
1511, 0, 1283, 0, 1039, -895, 1015, -979, 969, -1196, 943, -1080,
925, -1002, 907, -924, 652, 0, 424, 0, 9, -1409, 208, -1409,
461, -514, 506, -346, 544, -168, 568, -278, 599, -408, 631, -538,
877, -1409, 1060, -1409, 1305, -532, 1361, -317, 1393, -168, 1402, -203,
1429, -318, 1446, -390, 1463, -463, 1727, -1409, 1926, -1409, 1511, 0,
};
static GUI_CONST_STORAGE U8 _acSegLiberationSansRegular_0058[] = { // Code 0058, LATIN CAPITAL LETTER X
GUI_VG_SEGMENTS(M, L, L, L, L, L, L, L, L, L, L, L, L),
};
static GUI_CONST_STORAGE I16 _acCrdLiberationSansRegular_0058[] = { // Code 0058, LATIN CAPITAL LETTER X
1112, 0, 689, -616, 257, 0, 46, 0, 582, -732, 87, -1409,
298, -1409, 690, -856, 1071, -1409, 1282, -1409, 800, -739, 1323, 0,
1112, 0,
};
static GUI_CONST_STORAGE U8 _acSegLiberationSansRegular_0059[] = { // Code 0059, LATIN CAPITAL LETTER Y
GUI_VG_SEGMENTS(M, L, L, L, L, L, L, L, L, L),
};
static GUI_CONST_STORAGE I16 _acCrdLiberationSansRegular_0059[] = { // Code 0059, LATIN CAPITAL LETTER Y
777, -584, 777, 0, 587, 0, 587, -584, 45, -1409, 255, -1409,
684, -738, 1111, -1409, 1321, -1409, 777, -584,
};
static GUI_CONST_STORAGE U8 _acSegLiberationSansRegular_005A[] = { // Code 005A, LATIN CAPITAL LETTER Z
GUI_VG_SEGMENTS(M, L, L, L, L, L, L, L, L, L, L),
};
static GUI_CONST_STORAGE I16 _acCrdLiberationSansRegular_005A[] = { // Code 005A, LATIN CAPITAL LETTER Z
1187, 0, 65, 0, 65, -143, 923, -1253, 138, -1253, 138, -1409,
1140, -1409, 1140, -1270, 282, -156, 1187, -156, 1187, 0,
};
static GUI_CONST_STORAGE U8 _acSegLiberationSansRegular_005B[] = { // Code 005B, LEFT SQUARE BRACKET
GUI_VG_SEGMENTS(M, L, L, L, L, L, L, L, L),
};
static GUI_CONST_STORAGE I16 _acCrdLiberationSansRegular_005B[] = { // Code 005B, LEFT SQUARE BRACKET
146, 425, 146, -1484, 553, -1484, 553, -1355, 320, -1355, 320, 296,
553, 296, 553, 425, 146, 425,
};
static GUI_CONST_STORAGE U8 _acSegLiberationSansRegular_005C[] = { // Code 005C, REVERSE SOLIDUS
GUI_VG_SEGMENTS(M, L, L, L, L),
};
static GUI_CONST_STORAGE I16 _acCrdLiberationSansRegular_005C[] = { // Code 005C, REVERSE SOLIDUS
407, 20, 0, -1484, 158, -1484, 569, 20, 407, 20,
};
static GUI_CONST_STORAGE U8 _acSegLiberationSansRegular_005D[] = { // Code 005D, RIGHT SQUARE BRACKET
GUI_VG_SEGMENTS(M, L, L, L, L, L, L, L, L),
};
static GUI_CONST_STORAGE I16 _acCrdLiberationSansRegular_005D[] = { // Code 005D, RIGHT SQUARE BRACKET
16, 425, 16, 296, 249, 296, 249, -1355, 16, -1355, 16, -1484,
423, -1484, 423, 425, 16, 425,
};
static GUI_CONST_STORAGE U8 _acSegLiberationSansRegular_005E[] = { // Code 005E, CIRCUMFLEX ACCENT
GUI_VG_SEGMENTS(M, L, L, L, L, L, L, L),
};
static GUI_CONST_STORAGE I16 _acCrdLiberationSansRegular_005E[] = { // Code 005E, CIRCUMFLEX ACCENT
787, -673, 478, -1306, 172, -673, 10, -673, 378, -1409, 581, -1409,
951, -673, 787, -673,
};
static GUI_CONST_STORAGE U8 _acSegLiberationSansRegular_005F[] = { // Code 005F, LOW LINE
GUI_VG_SEGMENTS(M, L, L, L, L),
};
static GUI_CONST_STORAGE I16 _acCrdLiberationSansRegular_005F[] = { // Code 005F, LOW LINE
-31, 407, -31, 277, 1162, 277, 1162, 407, -31, 407,
};
static GUI_CONST_STORAGE U8 _acSegLiberationSansRegular_0060[] = { // Code 0060, GRAVE ACCENT
GUI_VG_SEGMENTS(M, L, L, L, L, L, L),
};
static GUI_CONST_STORAGE I16 _acCrdLiberationSansRegular_0060[] = { // Code 0060, GRAVE ACCENT
436, -1201, 106, -1479, 106, -1508, 313, -1508, 530, -1221, 530, -1201,
436, -1201,
};
static GUI_CONST_STORAGE U8 _acSegLiberationSansRegular_0061[] = { // Code 0061, LATIN SMALL LETTER A
GUI_VG_SEGMENTS(M, Q, Q, Q, Q, L, L, Q, Q, Q, Q, L, Q, Q, Q, L, Q, Q, Q, L, Q, Q),
GUI_VG_SEGMENTS(Q, L, Q, Q, M, Q, Q, Q, L, L, Q, Q, Q, Q, Q),
};
static GUI_CONST_STORAGE I16 _acCrdLiberationSansRegular_0061[] = { // Code 0061, LATIN SMALL LETTER A
414, 20, 251, 20, 169, -66, 87, -152, 87, -302, 87, -470,
197, -560, 308, -650, 554, -656, 797, -660, 797, -719, 797, -851,
741, -908, 685, -965, 565, -965, 444, -965, 389, -924, 334, -883,
323, -793, 135, -810, 181, -1102, 569, -1102, 773, -1102, 876, -1008,
979, -915, 979, -738, 979, -272, 979, -192, 1000, -151, 1021, -111,
1080, -111, 1106, -111, 1139, -118, 1139, -6, 1071, 10, 1000, 10,
900, 10, 854, -42, 809, -95, 803, -207, 797, -207, 728, -83,
636, -31, 545, 20, 414, 20, 455, -115, 554, -115, 631, -160,
708, -205, 752, -283, 797, -362, 797, -445, 797, -534, 600, -530,
473, -528, 407, -504, 342, -480, 307, -430, 272, -380, 272, -299,
272, -211, 319, -163, 367, -115, 455, -115,
};
static GUI_CONST_STORAGE U8 _acSegLiberationSansRegular_0062[] = { // Code 0062, LATIN SMALL LETTER B
GUI_VG_SEGMENTS(M, Q, Q, Q, L, Q, Q, L, Q, L, L, L, Q, L, Q, Q, Q, Q, M, Q, Q, Q),
GUI_VG_SEGMENTS(Q, Q, Q, Q, Q),
};
static GUI_CONST_STORAGE I16 _acCrdLiberationSansRegular_0062[] = { // Code 0062, LATIN SMALL LETTER B
1053, -546, 1053, 20, 655, 20, 532, 20, 450, -24, 369, -69,
318, -168, 316, -168, 316, -137, 312, -73, 308, -10, 306, 0,
132, 0, 138, -54, 138, -223, 138, -1484, 318, -1484, 318, -1061,
318, -996, 314, -908, 318, -908, 368, -1012, 450, -1057, 533, -1102,
655, -1102, 860, -1102, 956, -964, 1053, -826, 1053, -546, 864, -540,
864, -767, 804, -865, 744, -963, 609, -963, 457, -963, 387, -859,
318, -755, 318, -529, 318, -316, 386, -214, 454, -113, 607, -113,
743, -113, 803, -213, 864, -314, 864, -540,
};
static GUI_CONST_STORAGE U8 _acSegLiberationSansRegular_0063[] = { // Code 0063, LATIN SMALL LETTER C
GUI_VG_SEGMENTS(M, Q, Q, Q, Q, L, Q, Q, Q, Q, Q, Q, Q, Q, L, Q, Q, Q, Q),
};
static GUI_CONST_STORAGE I16 _acCrdLiberationSansRegular_0063[] = { // Code 0063, LATIN SMALL LETTER C
275, -546, 275, -330, 343, -226, 411, -122, 548, -122, 644, -122,
708, -174, 773, -226, 788, -334, 970, -322, 949, -166, 837, -73,
725, 20, 553, 20, 326, 20, 206, -123, 87, -267, 87, -542,
87, -815, 207, -958, 327, -1102, 551, -1102, 717, -1102, 826, -1016,
936, -930, 964, -779, 779, -765, 765, -855, 708, -908, 651, -961,
546, -961, 403, -961, 339, -866, 275, -771, 275, -546,
};
static GUI_CONST_STORAGE U8 _acSegLiberationSansRegular_0064[] = { // Code 0064, LATIN SMALL LETTER D
GUI_VG_SEGMENTS(M, Q, Q, Q, Q, Q, Q, Q, L, L, L, L, L, Q, L, Q, Q, L, M, Q, Q, Q),
GUI_VG_SEGMENTS(Q, Q, Q, Q, Q),
};
static GUI_CONST_STORAGE I16 _acCrdLiberationSansRegular_0064[] = { // Code 0064, LATIN SMALL LETTER D
821, -174, 771, -70, 688, -25, 606, 20, 484, 20, 279, 20,
182, -118, 86, -256, 86, -536, 86, -1102, 484, -1102, 607, -1102,
689, -1057, 771, -1012, 821, -914, 823, -914, 821, -1035, 821, -1484,
1001, -1484, 1001, -223, 1001, -54, 1007, 0, 835, 0, 832, -16,
828, -74, 825, -132, 825, -174, 821, -174, 275, -542, 275, -315,
335, -217, 395, -119, 530, -119, 683, -119, 752, -225, 821, -331,
821, -554, 821, -769, 752, -869, 683, -969, 532, -969, 396, -969,
335, -868, 275, -768, 275, -542,
};
static GUI_CONST_STORAGE U8 _acSegLiberationSansRegular_0065[] = { // Code 0065, LATIN SMALL LETTER E
GUI_VG_SEGMENTS(M, Q, Q, Q, Q, L, Q, Q, Q, Q, Q, Q, L, L, M, Q, Q, Q, Q, L),
};
static GUI_CONST_STORAGE I16 _acCrdLiberationSansRegular_0065[] = { // Code 0065, LATIN SMALL LETTER E
276, -503, 276, -317, 353, -216, 430, -115, 578, -115, 695, -115,
765, -162, 836, -209, 861, -281, 1019, -236, 922, 20, 578, 20,
338, 20, 212, -123, 87, -266, 87, -548, 87, -816, 212, -959,
338, -1102, 571, -1102, 1048, -1102, 1048, -527, 1048, -503, 276, -503,
862, -641, 847, -812, 775, -890, 703, -969, 568, -969, 437, -969,
360, -881, 284, -794, 278, -641, 862, -641,
};
static GUI_CONST_STORAGE U8 _acSegLiberationSansRegular_0066[] = { // Code 0066, LATIN SMALL LETTER F
GUI_VG_SEGMENTS(M, L, L, L, L, L, L, L, Q, Q, Q, L, Q, Q, Q, L, L, L, L),
};
static GUI_CONST_STORAGE I16 _acCrdLiberationSansRegular_0066[] = { // Code 0066, LATIN SMALL LETTER F
361, -951, 361, 0, 181, 0, 181, -951, 29, -951, 29, -1082,
181, -1082, 181, -1204, 181, -1352, 246, -1417, 311, -1482, 445, -1482,
520, -1482, 572, -1470, 572, -1333, 527, -1341, 492, -1341, 423, -1341,
392, -1306, 361, -1271, 361, -1179, 361, -1082, 572, -1082, 572, -951,
361, -951,
};
static GUI_CONST_STORAGE U8 _acSegLiberationSansRegular_0067[] = { // Code 0067, LATIN SMALL LETTER G
GUI_VG_SEGMENTS(M, Q, Q, L, Q, Q, Q, L, L, Q, Q, Q, Q, Q, Q, Q, Q, L, Q, Q, L, Q),
GUI_VG_SEGMENTS(L, Q, M, Q, Q, Q, Q, Q, Q, Q, Q, Q, Q),
};
static GUI_CONST_STORAGE I16 _acCrdLiberationSansRegular_0067[] = { // Code 0067, LATIN SMALL LETTER G
548, 425, 371, 425, 266, 355, 161, 286, 131, 158, 312, 132,
330, 207, 391, 247, 453, 288, 553, 288, 822, 288, 822, -27,
822, -201, 820, -201, 769, -97, 680, -44, 591, 8, 472, 8,
273, 8, 179, -124, 86, -256, 86, -539, 86, -826, 186, -962,
287, -1099, 492, -1099, 607, -1099, 691, -1046, 776, -994, 822, -897,
824, -897, 824, -927, 828, -1001, 832, -1075, 836, -1082, 1007, -1082,
1001, -1028, 1001, -858, 1001, -31, 1001, 425, 548, 425, 822, -541,
822, -673, 786, -768, 750, -864, 684, -914, 619, -965, 536, -965,
398, -965, 335, -865, 272, -765, 272, -541, 272, -319, 331, -222,
390, -125, 533, -125, 618, -125, 684, -175, 750, -225, 786, -318,
822, -412, 822, -541,
};
static GUI_CONST_STORAGE U8 _acSegLiberationSansRegular_0068[] = { // Code 0068, LATIN SMALL LETTER H
GUI_VG_SEGMENTS(M, Q, Q, Q, Q, L, L, L, Q, Q, Q, Q, Q, L, L, L, L, L, Q, Q, L),
};
static GUI_CONST_STORAGE I16 _acCrdLiberationSansRegular_0068[] = { // Code 0068, LATIN SMALL LETTER H
317, -897, 375, -1003, 456, -1052, 538, -1102, 663, -1102, 839, -1102,
922, -1014, 1006, -927, 1006, -721, 1006, 0, 825, 0, 825, -686,
825, -800, 804, -855, 783, -911, 735, -937, 687, -963, 602, -963,
475, -963, 398, -875, 322, -787, 322, -638, 322, 0, 142, 0,
142, -1484, 322, -1484, 322, -1098, 322, -1037, 318, -972, 315, -907,
314, -897, 317, -897,
};
static GUI_CONST_STORAGE U8 _acSegLiberationSansRegular_0069[] = { // Code 0069, LATIN SMALL LETTER I
GUI_VG_SEGMENTS(M, L, L, L, L, M, L, L, L, L),
};
static GUI_CONST_STORAGE I16 _acCrdLiberationSansRegular_0069[] = { // Code 0069, LATIN SMALL LETTER I
137, -1312, 137, -1484, 317, -1484, 317, -1312, 137, -1312, 137, 0,
137, -1082, 317, -1082, 317, 0, 137, 0,
};
static GUI_CONST_STORAGE U8 _acSegLiberationSansRegular_006A[] = { // Code 006A, LATIN SMALL LETTER J
GUI_VG_SEGMENTS(M, L, L, L, L, M, Q, Q, Q, L, L, Q, Q, L, L, L),
};
static GUI_CONST_STORAGE I16 _acCrdLiberationSansRegular_006A[] = { // Code 006A, LATIN SMALL LETTER J
137, -1312, 137, -1484, 317, -1484, 317, -1312, 137, -1312, 317, 134,
317, 287, 257, 356, 197, 425, 77, 425, 0, 425, -50, 416,
-50, 277, 12, 283, 81, 283, 109, 247, 137, 211, 137, 107,
137, -1082, 317, -1082, 317, 134,
};
static GUI_CONST_STORAGE U8 _acSegLiberationSansRegular_006B[] = { // Code 006B, LATIN SMALL LETTER K
GUI_VG_SEGMENTS(M, L, L, L, L, L, L, L, L, L, L, L, L),
};
static GUI_CONST_STORAGE I16 _acCrdLiberationSansRegular_006B[] = { // Code 006B, LATIN SMALL LETTER K
816, 0, 450, -494, 318, -385, 318, 0, 138, 0, 138, -1484,
318, -1484, 318, -557, 793, -1082, 1004, -1082, 565, -617, 1027, 0,
816, 0,
};
static GUI_CONST_STORAGE U8 _acSegLiberationSansRegular_006C[] = { // Code 006C, LATIN SMALL LETTER L
GUI_VG_SEGMENTS(M, L, L, L, L),
};
static GUI_CONST_STORAGE I16 _acCrdLiberationSansRegular_006C[] = { // Code 006C, LATIN SMALL LETTER L
138, 0, 138, -1484, 318, -1484, 318, 0, 138, 0,
};
static GUI_CONST_STORAGE U8 _acSegLiberationSansRegular_006D[] = { // Code 006D, LATIN SMALL LETTER M
GUI_VG_SEGMENTS(M, L, Q, Q, Q, Q, L, L, L, Q, L, Q, Q, Q, L, Q, Q, Q, Q, L, Q, Q),
GUI_VG_SEGMENTS(Q, Q, L, L, L, Q, Q, Q, Q, L, L),
};
static GUI_CONST_STORAGE I16 _acCrdLiberationSansRegular_006D[] = { // Code 006D, LATIN SMALL LETTER M
768, 0, 768, -686, 768, -843, 725, -903, 682, -963, 570, -963,
455, -963, 388, -875, 321, -787, 321, -627, 321, 0, 142, 0,
142, -851, 142, -1040, 136, -1082, 306, -1082, 307, -1077, 308, -1055,
309, -1033, 310, -1004, 312, -976, 314, -897, 317, -897, 375, -1012,
450, -1057, 525, -1102, 633, -1102, 756, -1102, 827, -1053, 899, -1004,
927, -897, 930, -897, 986, -1006, 1065, -1054, 1145, -1102, 1258, -1102,
1422, -1102, 1496, -1013, 1571, -924, 1571, -721, 1571, 0, 1393, 0,
1393, -686, 1393, -843, 1350, -903, 1307, -963, 1195, -963, 1077, -963,
1011, -875, 946, -788, 946, -627, 946, 0, 768, 0,
};
static GUI_CONST_STORAGE U8 _acSegLiberationSansRegular_006E[] = { // Code 006E, LATIN SMALL LETTER N
GUI_VG_SEGMENTS(M, L, Q, Q, Q, Q, Q, L, L, L, Q, L, Q, Q, Q, L, Q, Q, Q, Q, L, L),
};
static GUI_CONST_STORAGE I16 _acCrdLiberationSansRegular_006E[] = { // Code 006E, LATIN SMALL LETTER N
825, 0, 825, -686, 825, -793, 804, -852, 783, -911, 737, -937,
691, -963, 602, -963, 472, -963, 397, -874, 322, -785, 322, -627,
322, 0, 142, 0, 142, -851, 142, -1040, 136, -1082, 306, -1082,
307, -1077, 308, -1055, 309, -1033, 310, -1004, 312, -976, 314, -897,
317, -897, 379, -1009, 460, -1055, 542, -1102, 663, -1102, 841, -1102,
923, -1013, 1006, -925, 1006, -721, 1006, 0, 825, 0,
};
static GUI_CONST_STORAGE U8 _acSegLiberationSansRegular_006F[] = { // Code 006F, LATIN SMALL LETTER O
GUI_VG_SEGMENTS(M, Q, Q, Q, Q, Q, Q, Q, M, Q, Q, Q, Q, Q, Q, Q, Q),
};
static GUI_CONST_STORAGE I16 _acCrdLiberationSansRegular_006F[] = { // Code 006F, LATIN SMALL LETTER O
1053, -542, 1053, -258, 928, -119, 803, 20, 565, 20, 328, 20,
207, -124, 86, -269, 86, -542, 86, -1102, 571, -1102, 819, -1102,
936, -965, 1053, -829, 1053, -542, 864, -542, 864, -766, 797, -867,
731, -969, 574, -969, 416, -969, 345, -865, 275, -762, 275, -542,
275, -328, 344, -220, 414, -113, 563, -113, 725, -113, 794, -217,
864, -321, 864, -542,
};
static GUI_CONST_STORAGE U8 _acSegLiberationSansRegular_0070[] = { // Code 0070, LATIN SMALL LETTER P
GUI_VG_SEGMENTS(M, Q, Q, L, Q, L, L, L, Q, L, Q, Q, Q, L, Q, Q, Q, Q, M, Q, Q, Q),
GUI_VG_SEGMENTS(Q, Q, Q, Q, Q, Q),
};
static GUI_CONST_STORAGE I16 _acCrdLiberationSansRegular_0070[] = { // Code 0070, LATIN SMALL LETTER P
1053, -546, 1053, 20, 655, 20, 405, 20, 319, -168, 314, -168,
318, -160, 318, 2, 318, 425, 138, 425, 138, -861, 138, -1028,
132, -1082, 306, -1082, 307, -1078, 309, -1053, 311, -1029, 313, -978,
316, -927, 316, -908, 320, -908, 368, -1008, 447, -1054, 526, -1101,
655, -1101, 855, -1101, 954, -967, 1053, -833, 1053, -546, 864, -542,
864, -768, 803, -865, 742, -962, 609, -962, 502, -962, 441, -917,
381, -872, 349, -776, 318, -681, 318, -528, 318, -315, 386, -214,
454, -113, 607, -113, 741, -113, 802, -211, 864, -310, 864, -542,
};
static GUI_CONST_STORAGE U8 _acSegLiberationSansRegular_0071[] = { // Code 0071, LATIN SMALL LETTER Q
GUI_VG_SEGMENTS(M, Q, Q, Q, Q, Q, L, Q, Q, L, Q, L, L, L, L, L, Q, Q, M, Q, Q, Q),
GUI_VG_SEGMENTS(Q, Q, Q, Q, Q),
};
static GUI_CONST_STORAGE I16 _acCrdLiberationSansRegular_0071[] = { // Code 0071, LATIN SMALL LETTER Q
484, 20, 278, 20, 182, -119, 86, -258, 86, -536, 86, -1102,
484, -1102, 607, -1102, 687, -1058, 767, -1015, 821, -914, 823, -914,
823, -944, 827, -1017, 831, -1091, 835, -1096, 1008, -1096, 1001, -1037,
1001, -801, 1001, 425, 821, 425, 821, -14, 825, -178, 823, -178,
769, -71, 690, -25, 611, 20, 484, 20, 821, -554, 821, -765,
752, -867, 683, -969, 532, -969, 395, -969, 335, -867, 275, -765,
275, -542, 275, -315, 335, -217, 396, -119, 530, -119, 683, -119,
752, -228, 821, -337, 821, -554,
};
static GUI_CONST_STORAGE U8 _acSegLiberationSansRegular_0072[] = { // Code 0072, LATIN SMALL LETTER R
GUI_VG_SEGMENTS(M, L, Q, L, Q, L, Q, Q, Q, L, Q, Q, Q, L, L),
};
static GUI_CONST_STORAGE I16 _acCrdLiberationSansRegular_0072[] = { // Code 0072, LATIN SMALL LETTER R
142, 0, 142, -830, 142, -944, 136, -1082, 306, -1082, 314, -898,
314, -861, 318, -861, 361, -1000, 417, -1051, 473, -1102, 575, -1102,
611, -1102, 648, -1092, 648, -927, 612, -937, 552, -937, 440, -937,
381, -840, 322, -744, 322, -564, 322, 0, 142, 0,
};
static GUI_CONST_STORAGE U8 _acSegLiberationSansRegular_0073[] = { // Code 0073, LATIN SMALL LETTER S
GUI_VG_SEGMENTS(M, Q, Q, Q, Q, L, Q, Q, Q, Q, Q, Q, L, Q, Q, Q, Q, Q, Q, Q, L, Q),
GUI_VG_SEGMENTS(Q, Q, Q, Q, Q, Q, Q, Q, Q, Q),
};
static GUI_CONST_STORAGE I16 _acCrdLiberationSansRegular_0073[] = { // Code 0073, LATIN SMALL LETTER S
950, -299, 950, -146, 834, -63, 719, 20, 511, 20, 309, 20,
199, -46, 90, -113, 57, -254, 216, -285, 239, -198, 311, -157,
383, -117, 511, -117, 648, -117, 711, -159, 775, -201, 775, -285,
775, -349, 731, -389, 687, -429, 589, -455, 460, -489, 305, -529,
239, -567, 174, -606, 137, -661, 100, -716, 100, -796, 100, -944,
205, -1021, 311, -1099, 513, -1099, 692, -1099, 797, -1036, 903, -973,
931, -834, 769, -814, 754, -886, 688, -924, 623, -963, 513, -963,
391, -963, 333, -926, 275, -889, 275, -814, 275, -768, 299, -738,
323, -708, 370, -687, 417, -666, 568, -629, 711, -593, 774, -562,
837, -532, 873, -495, 910, -458, 930, -409, 950, -361, 950, -299,
};
static GUI_CONST_STORAGE U8 _acSegLiberationSansRegular_0074[] = { // Code 0074, LATIN SMALL LETTER T
GUI_VG_SEGMENTS(M, Q, Q, L, L, L, L, L, L, L, L, L, L, L, Q, Q, Q, L),
};
static GUI_CONST_STORAGE I16 _acCrdLiberationSansRegular_0074[] = { // Code 0074, LATIN SMALL LETTER T
554, -8, 465, 16, 372, 16, 156, 16, 156, -229, 156, -951,
31, -951, 31, -1082, 163, -1082, 216, -1324, 336, -1324, 336, -1082,
536, -1082, 536, -951, 336, -951, 336, -268, 336, -190, 361, -158,
387, -127, 450, -127, 486, -127, 554, -141, 554, -8,
};
static GUI_CONST_STORAGE U8 _acSegLiberationSansRegular_0075[] = { // Code 0075, LATIN SMALL LETTER U
GUI_VG_SEGMENTS(M, L, Q, Q, Q, Q, Q, L, L, L, Q, L, Q, Q, Q, L, Q, Q, Q, Q, L, L),
};
static GUI_CONST_STORAGE I16 _acCrdLiberationSansRegular_0075[] = { // Code 0075, LATIN SMALL LETTER U
314, -1082, 314, -396, 314, -289, 335, -230, 356, -171, 402, -145,
448, -119, 537, -119, 667, -119, 742, -208, 817, -297, 817, -455,
817, -1082, 997, -1082, 997, -231, 997, -42, 1003, 0, 833, 0,
832, -5, 831, -27, 830, -49, 828, -77, 827, -106, 825, -185,
822, -185, 760, -73, 678, -26, 597, 20, 476, 20, 298, 20,
215, -68, 133, -157, 133, -361, 133, -1082, 314, -1082,
};
static GUI_CONST_STORAGE U8 _acSegLiberationSansRegular_0076[] = { // Code 0076, LATIN SMALL LETTER V
GUI_VG_SEGMENTS(M, L, L, L, L, Q, L, L, L, L, L),
};
static GUI_CONST_STORAGE I16 _acCrdLiberationSansRegular_0076[] = { // Code 0076, LATIN SMALL LETTER V
613, 0, 400, 0, 7, -1082, 199, -1082, 437, -378, 450, -338,
506, -141, 541, -258, 580, -376, 826, -1082, 1017, -1082, 613, 0,
};
static GUI_CONST_STORAGE U8 _acSegLiberationSansRegular_0077[] = { // Code 0077, LATIN SMALL LETTER W
GUI_VG_SEGMENTS(M, L, L, L, Q, Q, L, L, L, L, Q, L, L, L, L, L, L, L, L, L),
};
static GUI_CONST_STORAGE I16 _acCrdLiberationSansRegular_0077[] = { // Code 0077, LATIN SMALL LETTER W
1174, 0, 965, 0, 776, -765, 740, -934, 731, -889, 712, -804,
693, -720, 508, 0, 300, 0, -3, -1082, 175, -1082, 358, -347,
365, -323, 401, -149, 418, -223, 644, -1082, 837, -1082, 1026, -339,
1072, -149, 1103, -288, 1308, -1082, 1484, -1082, 1174, 0,
};
static GUI_CONST_STORAGE U8 _acSegLiberationSansRegular_0078[] = { // Code 0078, LATIN SMALL LETTER X
GUI_VG_SEGMENTS(M, L, L, L, L, L, L, L, L, L, L, L, L),
};
static GUI_CONST_STORAGE I16 _acCrdLiberationSansRegular_0078[] = { // Code 0078, LATIN SMALL LETTER X
801, 0, 510, -444, 217, 0, 23, 0, 408, -556, 41, -1082,
240, -1082, 510, -661, 778, -1082, 979, -1082, 612, -558, 1002, 0,
801, 0,
};
static GUI_CONST_STORAGE U8 _acSegLiberationSansRegular_0079[] = { // Code 0079, LATIN SMALL LETTER Y
GUI_VG_SEGMENTS(M, Q, L, Q, Q, L, L, L, L, Q, Q, Q, L, L, L, L, Q, Q, Q),
};
static GUI_CONST_STORAGE I16 _acCrdLiberationSansRegular_0079[] = { // Code 0079, LATIN SMALL LETTER Y
191, 425, 117, 425, 67, 414, 67, 279, 105, 285, 151, 285,
319, 285, 417, 38, 434, -5, 5, -1082, 197, -1082, 425, -484,
430, -470, 437, -450, 444, -431, 482, -320, 520, -209, 523, -196,
593, -393, 830, -1082, 1020, -1082, 604, 0, 537, 173, 479, 257,
421, 342, 350, 383, 280, 425, 191, 425,
};
static GUI_CONST_STORAGE U8 _acSegLiberationSansRegular_007A[] = { // Code 007A, LATIN SMALL LETTER Z
GUI_VG_SEGMENTS(M, L, L, L, L, L, L, L, L, L, L),
};
static GUI_CONST_STORAGE I16 _acCrdLiberationSansRegular_007A[] = { // Code 007A, LATIN SMALL LETTER Z
83, 0, 83, -137, 688, -943, 117, -943, 117, -1082, 901, -1082,
901, -945, 295, -139, 922, -139, 922, 0, 83, 0,
};
static GUI_CONST_STORAGE U8 _acSegLiberationSansRegular_007B[] = { // Code 007B, LEFT CURLY BRACKET
GUI_VG_SEGMENTS(M, Q, Q, L, Q, Q, L, Q, Q, L, Q, Q, L, L, L, Q, Q, L, Q, Q, L, Q),
GUI_VG_SEGMENTS(Q, L, Q, Q, L, L, L),
};
static GUI_CONST_STORAGE I16 _acCrdLiberationSansRegular_007B[] = { // Code 007B, LEFT CURLY BRACKET
513, 425, 386, 425, 317, 348, 249, 271, 249, 132, 249, -229,
249, -346, 196, -403, 144, -461, 34, -466, 34, -593, 143, -597,
196, -654, 249, -712, 249, -829, 249, -1191, 249, -1332, 315, -1408,
382, -1484, 513, -1484, 648, -1484, 648, -1355, 585, -1355, 494, -1355,
455, -1301, 417, -1248, 417, -1140, 417, -784, 417, -690, 364, -621,
311, -553, 223, -532, 223, -530, 312, -509, 364, -441, 417, -373,
417, -276, 417, 81, 417, 187, 455, 241, 494, 296, 585, 296,
648, 296, 648, 425, 513, 425,
};
static GUI_CONST_STORAGE U8 _acSegLiberationSansRegular_007C[] = { // Code 007C, VERTICAL LINE
GUI_VG_SEGMENTS(M, L, L, L, L),
};
static GUI_CONST_STORAGE I16 _acCrdLiberationSansRegular_007C[] = { // Code 007C, VERTICAL LINE
183, 434, 183, -1484, 349, -1484, 349, 434, 183, 434,
};
static GUI_CONST_STORAGE U8 _acSegLiberationSansRegular_007D[] = { // Code 007D, RIGHT CURLY BRACKET
GUI_VG_SEGMENTS(M, Q, Q, L, Q, Q, L, Q, Q, L, Q, Q, L, L, L, Q, Q, L, Q, Q, L, Q),
GUI_VG_SEGMENTS(Q, L, Q, Q, L, L, L),
};
static GUI_CONST_STORAGE I16 _acCrdLiberationSansRegular_007D[] = { // Code 007D, RIGHT CURLY BRACKET
94, 296, 185, 296, 224, 241, 264, 187, 264, 81, 264, -276,
264, -374, 316, -442, 368, -510, 457, -530, 457, -532, 371, -552,
317, -619, 264, -687, 264, -784, 264, -1140, 264, -1248, 224, -1301,
185, -1355, 94, -1355, 34, -1355, 34, -1484, 166, -1484, 297, -1484,
363, -1408, 430, -1332, 430, -1191, 430, -829, 430, -713, 483, -655,
536, -597, 647, -593, 647, -466, 535, -462, 482, -404, 430, -346,
430, -229, 430, 132, 430, 270, 361, 347, 293, 425, 166, 425,
34, 425, 34, 296, 94, 296,
};
static GUI_CONST_STORAGE U8 _acSegLiberationSansRegular_007E[] = { // Code 007E, TILDE
GUI_VG_SEGMENTS(M, Q, Q, Q, Q, Q, L, Q, Q, Q, Q, Q, Q, L, Q, Q),
};
static GUI_CONST_STORAGE I16 _acCrdLiberationSansRegular_007E[] = { // Code 007E, TILDE
844, -553, 775, -553, 702, -575, 630, -597, 557, -623, 428, -668,
340, -668, 273, -668, 215, -647, 157, -627, 92, -580, 92, -723,
203, -807, 355, -807, 407, -807, 470, -794, 534, -781, 664, -735,
695, -723, 755, -706, 815, -690, 860, -690, 990, -690, 1104, -782,
1104, -633, 1046, -591, 987, -572, 929, -553, 844, -553,
};
static U16 _aCodePages_LiberationSansRegular[] = {
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0,
};
static I16 _aPageSizes_LiberationSansRegular[] = {
95, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
};
static GUI_CONST_STORAGE GUI_VG_FONT_GLYPH_INT _aGlyphs_LiberationSansRegular[] = {
{ { 569, 0, 0, 0, 0, 0 }, 0x0020, NULL, NULL },
{ { 569, 185, 1409, 198, 1409, sizeof(_acSegLiberationSansRegular_0021) }, 0x0021, _acSegLiberationSansRegular_0021, _acCrdLiberationSansRegular_0021 },
{ { 727, 87, 1409, 553, 443, sizeof(_acSegLiberationSansRegular_0022) }, 0x0022, _acSegLiberationSansRegular_0022, _acCrdLiberationSansRegular_0022 },
{ { 1139, 9, 1401, 1120, 1401, sizeof(_acSegLiberationSansRegular_0023) }, 0x0023, _acSegLiberationSansRegular_0023, _acCrdLiberationSansRegular_0023 },
{ { 1139, 22, 1516, 1084, 1658, sizeof(_acSegLiberationSansRegular_0024) }, 0x0024, _acSegLiberationSansRegular_0024, _acCrdLiberationSansRegular_0024 },
{ { 1821, 73, 1421, 1675, 1433, sizeof(_acSegLiberationSansRegular_0025) }, 0x0025, _acSegLiberationSansRegular_0025, _acCrdLiberationSansRegular_0025 },
{ { 1366, 72, 1417, 1262, 1437, sizeof(_acSegLiberationSansRegular_0026) }, 0x0026, _acSegLiberationSansRegular_0026, _acCrdLiberationSansRegular_0026 },
{ { 391, 104, 1409, 184, 443, sizeof(_acSegLiberationSansRegular_0027) }, 0x0027, _acSegLiberationSansRegular_0027, _acCrdLiberationSansRegular_0027 },
{ { 682, 127, 1484, 543, 1908, sizeof(_acSegLiberationSansRegular_0028) }, 0x0028, _acSegLiberationSansRegular_0028, _acCrdLiberationSansRegular_0028 },
{ { 682, 12, 1484, 543, 1908, sizeof(_acSegLiberationSansRegular_0029) }, 0x0029, _acSegLiberationSansRegular_0029, _acCrdLiberationSansRegular_0029 },
{ { 797, 33, 1409, 732, 719, sizeof(_acSegLiberationSansRegular_002A) }, 0x002A, _acSegLiberationSansRegular_002A, _acCrdLiberationSansRegular_002A },
{ { 1196, 100, 1182, 995, 1002, sizeof(_acSegLiberationSansRegular_002B) }, 0x002B, _acSegLiberationSansRegular_002B, _acCrdLiberationSansRegular_002B },
{ { 569, 184, 219, 201, 481, sizeof(_acSegLiberationSansRegular_002C) }, 0x002C, _acSegLiberationSansRegular_002C, _acCrdLiberationSansRegular_002C },
{ { 682, 91, 624, 500, 160, sizeof(_acSegLiberationSansRegular_002D) }, 0x002D, _acSegLiberationSansRegular_002D, _acCrdLiberationSansRegular_002D },
{ { 569, 187, 219, 195, 219, sizeof(_acSegLiberationSansRegular_002E) }, 0x002E, _acSegLiberationSansRegular_002E, _acCrdLiberationSansRegular_002E },
{ { 569, 0, 1484, 569, 1504, sizeof(_acSegLiberationSansRegular_002F) }, 0x002F, _acSegLiberationSansRegular_002F, _acCrdLiberationSansRegular_002F },
{ { 1139, 80, 1430, 979, 1450, sizeof(_acSegLiberationSansRegular_0030) }, 0x0030, _acSegLiberationSansRegular_0030, _acCrdLiberationSansRegular_0030 },
{ { 1139, 156, 1409, 883, 1409, sizeof(_acSegLiberationSansRegular_0031) }, 0x0031, _acSegLiberationSansRegular_0031, _acCrdLiberationSansRegular_0031 },
{ { 1139, 103, 1430, 933, 1430, sizeof(_acSegLiberationSansRegular_0032) }, 0x0032, _acSegLiberationSansRegular_0032, _acCrdLiberationSansRegular_0032 },
{ { 1139, 78, 1430, 971, 1450, sizeof(_acSegLiberationSansRegular_0033) }, 0x0033, _acSegLiberationSansRegular_0033, _acCrdLiberationSansRegular_0033 },
{ { 1139, 47, 1409, 1032, 1409, sizeof(_acSegLiberationSansRegular_0034) }, 0x0034, _acSegLiberationSansRegular_0034, _acCrdLiberationSansRegular_0034 },
{ { 1139, 82, 1409, 971, 1429, sizeof(_acSegLiberationSansRegular_0035) }, 0x0035, _acSegLiberationSansRegular_0035, _acCrdLiberationSansRegular_0035 },
{ { 1139, 104, 1430, 945, 1450, sizeof(_acSegLiberationSansRegular_0036) }, 0x0036, _acSegLiberationSansRegular_0036, _acCrdLiberationSansRegular_0036 },
{ { 1139, 105, 1409, 931, 1409, sizeof(_acSegLiberationSansRegular_0037) }, 0x0037, _acSegLiberationSansRegular_0037, _acCrdLiberationSansRegular_0037 },
{ { 1139, 89, 1430, 961, 1450, sizeof(_acSegLiberationSansRegular_0038) }, 0x0038, _acSegLiberationSansRegular_0038, _acCrdLiberationSansRegular_0038 },
{ { 1139, 96, 1430, 946, 1450, sizeof(_acSegLiberationSansRegular_0039) }, 0x0039, _acSegLiberationSansRegular_0039, _acCrdLiberationSansRegular_0039 },
{ { 569, 187, 1082, 195, 1082, sizeof(_acSegLiberationSansRegular_003A) }, 0x003A, _acSegLiberationSansRegular_003A, _acCrdLiberationSansRegular_003A },
{ { 569, 184, 1082, 201, 1344, sizeof(_acSegLiberationSansRegular_003B) }, 0x003B, _acSegLiberationSansRegular_003B, _acCrdLiberationSansRegular_003B },
{ { 1196, 101, 1194, 995, 1040, sizeof(_acSegLiberationSansRegular_003C) }, 0x003C, _acSegLiberationSansRegular_003C, _acCrdLiberationSansRegular_003C },
{ { 1196, 100, 1004, 995, 660, sizeof(_acSegLiberationSansRegular_003D) }, 0x003D, _acSegLiberationSansRegular_003D, _acCrdLiberationSansRegular_003D },
{ { 1196, 101, 1194, 995, 1040, sizeof(_acSegLiberationSansRegular_003E) }, 0x003E, _acSegLiberationSansRegular_003E, _acCrdLiberationSansRegular_003E },
{ { 1139, 84, 1430, 979, 1430, sizeof(_acSegLiberationSansRegular_003F) }, 0x003F, _acSegLiberationSansRegular_003F, _acCrdLiberationSansRegular_003F },
{ { 2079, 161, 1484, 1741, 1767, sizeof(_acSegLiberationSansRegular_0040) }, 0x0040, _acSegLiberationSansRegular_0040, _acCrdLiberationSansRegular_0040 },
{ { 1366, 4, 1409, 1358, 1409, sizeof(_acSegLiberationSansRegular_0041) }, 0x0041, _acSegLiberationSansRegular_0041, _acCrdLiberationSansRegular_0041 },
{ { 1366, 168, 1409, 1090, 1409, sizeof(_acSegLiberationSansRegular_0042) }, 0x0042, _acSegLiberationSansRegular_0042, _acCrdLiberationSansRegular_0042 },
{ { 1479, 104, 1430, 1297, 1450, sizeof(_acSegLiberationSansRegular_0043) }, 0x0043, _acSegLiberationSansRegular_0043, _acCrdLiberationSansRegular_0043 },
{ { 1479, 168, 1409, 1213, 1409, sizeof(_acSegLiberationSansRegular_0044) }, 0x0044, _acSegLiberationSansRegular_0044, _acCrdLiberationSansRegular_0044 },
{ { 1366, 168, 1409, 1110, 1409, sizeof(_acSegLiberationSansRegular_0045) }, 0x0045, _acSegLiberationSansRegular_0045, _acCrdLiberationSansRegular_0045 },
{ { 1251, 168, 1409, 1001, 1409, sizeof(_acSegLiberationSansRegular_0046) }, 0x0046, _acSegLiberationSansRegular_0046, _acCrdLiberationSansRegular_0046 },
{ { 1593, 103, 1430, 1337, 1450, sizeof(_acSegLiberationSansRegular_0047) }, 0x0047, _acSegLiberationSansRegular_0047, _acCrdLiberationSansRegular_0047 },
{ { 1479, 168, 1409, 1144, 1409, sizeof(_acSegLiberationSansRegular_0048) }, 0x0048, _acSegLiberationSansRegular_0048, _acCrdLiberationSansRegular_0048 },
{ { 569, 189, 1409, 191, 1409, sizeof(_acSegLiberationSansRegular_0049) }, 0x0049, _acSegLiberationSansRegular_0049, _acCrdLiberationSansRegular_0049 },
{ { 1024, 32, 1409, 840, 1429, sizeof(_acSegLiberationSansRegular_004A) }, 0x004A, _acSegLiberationSansRegular_004A, _acCrdLiberationSansRegular_004A },
{ { 1366, 168, 1409, 1175, 1409, sizeof(_acSegLiberationSansRegular_004B) }, 0x004B, _acSegLiberationSansRegular_004B, _acCrdLiberationSansRegular_004B },
{ { 1139, 168, 1409, 903, 1409, sizeof(_acSegLiberationSansRegular_004C) }, 0x004C, _acSegLiberationSansRegular_004C, _acCrdLiberationSansRegular_004C },
{ { 1706, 168, 1409, 1370, 1409, sizeof(_acSegLiberationSansRegular_004D) }, 0x004D, _acSegLiberationSansRegular_004D, _acCrdLiberationSansRegular_004D },
{ { 1479, 168, 1409, 1144, 1409, sizeof(_acSegLiberationSansRegular_004E) }, 0x004E, _acSegLiberationSansRegular_004E, _acCrdLiberationSansRegular_004E },
{ { 1593, 97, 1430, 1398, 1450, sizeof(_acSegLiberationSansRegular_004F) }, 0x004F, _acSegLiberationSansRegular_004F, _acCrdLiberationSansRegular_004F },
{ { 1366, 168, 1409, 1090, 1409, sizeof(_acSegLiberationSansRegular_0050) }, 0x0050, _acSegLiberationSansRegular_0050, _acCrdLiberationSansRegular_0050 },
{ { 1593, 97, 1430, 1398, 1817, sizeof(_acSegLiberationSansRegular_0051) }, 0x0051, _acSegLiberationSansRegular_0051, _acCrdLiberationSansRegular_0051 },
{ { 1479, 168, 1409, 1216, 1409, sizeof(_acSegLiberationSansRegular_0052) }, 0x0052, _acSegLiberationSansRegular_0052, _acCrdLiberationSansRegular_0052 },
{ { 1366, 93, 1430, 1179, 1450, sizeof(_acSegLiberationSansRegular_0053) }, 0x0053, _acSegLiberationSansRegular_0053, _acCrdLiberationSansRegular_0053 },
{ { 1251, 46, 1409, 1158, 1409, sizeof(_acSegLiberationSansRegular_0054) }, 0x0054, _acSegLiberationSansRegular_0054, _acCrdLiberationSansRegular_0054 },
{ { 1479, 158, 1409, 1163, 1429, sizeof(_acSegLiberationSansRegular_0055) }, 0x0055, _acSegLiberationSansRegular_0055, _acCrdLiberationSansRegular_0055 },
{ { 1366, 9, 1409, 1348, 1409, sizeof(_acSegLiberationSansRegular_0056) }, 0x0056, _acSegLiberationSansRegular_0056, _acCrdLiberationSansRegular_0056 },
{ { 1933, 9, 1409, 1917, 1409, sizeof(_acSegLiberationSansRegular_0057) }, 0x0057, _acSegLiberationSansRegular_0057, _acCrdLiberationSansRegular_0057 },
{ { 1366, 46, 1409, 1277, 1409, sizeof(_acSegLiberationSansRegular_0058) }, 0x0058, _acSegLiberationSansRegular_0058, _acCrdLiberationSansRegular_0058 },
{ { 1366, 45, 1409, 1276, 1409, sizeof(_acSegLiberationSansRegular_0059) }, 0x0059, _acSegLiberationSansRegular_0059, _acCrdLiberationSansRegular_0059 },
{ { 1251, 65, 1409, 1122, 1409, sizeof(_acSegLiberationSansRegular_005A) }, 0x005A, _acSegLiberationSansRegular_005A, _acCrdLiberationSansRegular_005A },
{ { 569, 146, 1484, 407, 1909, sizeof(_acSegLiberationSansRegular_005B) }, 0x005B, _acSegLiberationSansRegular_005B, _acCrdLiberationSansRegular_005B },
{ { 569, 0, 1484, 569, 1504, sizeof(_acSegLiberationSansRegular_005C) }, 0x005C, _acSegLiberationSansRegular_005C, _acCrdLiberationSansRegular_005C },
{ { 569, 16, 1484, 407, 1909, sizeof(_acSegLiberationSansRegular_005D) }, 0x005D, _acSegLiberationSansRegular_005D, _acCrdLiberationSansRegular_005D },
{ { 961, 10, 1409, 941, 736, sizeof(_acSegLiberationSansRegular_005E) }, 0x005E, _acSegLiberationSansRegular_005E, _acCrdLiberationSansRegular_005E },
{ { 1139, -31, -277, 1193, 130, sizeof(_acSegLiberationSansRegular_005F) }, 0x005F, _acSegLiberationSansRegular_005F, _acCrdLiberationSansRegular_005F },
{ { 682, 106, 1508, 424, 307, sizeof(_acSegLiberationSansRegular_0060) }, 0x0060, _acSegLiberationSansRegular_0060, _acCrdLiberationSansRegular_0060 },
{ { 1139, 87, 1102, 1052, 1122, sizeof(_acSegLiberationSansRegular_0061) }, 0x0061, _acSegLiberationSansRegular_0061, _acCrdLiberationSansRegular_0061 },
{ { 1139, 132, 1484, 921, 1504, sizeof(_acSegLiberationSansRegular_0062) }, 0x0062, _acSegLiberationSansRegular_0062, _acCrdLiberationSansRegular_0062 },
{ { 1024, 87, 1102, 883, 1122, sizeof(_acSegLiberationSansRegular_0063) }, 0x0063, _acSegLiberationSansRegular_0063, _acCrdLiberationSansRegular_0063 },
{ { 1139, 86, 1484, 921, 1504, sizeof(_acSegLiberationSansRegular_0064) }, 0x0064, _acSegLiberationSansRegular_0064, _acCrdLiberationSansRegular_0064 },
{ { 1139, 87, 1102, 961, 1122, sizeof(_acSegLiberationSansRegular_0065) }, 0x0065, _acSegLiberationSansRegular_0065, _acCrdLiberationSansRegular_0065 },
{ { 569, 29, 1482, 543, 1482, sizeof(_acSegLiberationSansRegular_0066) }, 0x0066, _acSegLiberationSansRegular_0066, _acCrdLiberationSansRegular_0066 },
{ { 1139, 86, 1099, 921, 1524, sizeof(_acSegLiberationSansRegular_0067) }, 0x0067, _acSegLiberationSansRegular_0067, _acCrdLiberationSansRegular_0067 },
{ { 1139, 142, 1484, 864, 1484, sizeof(_acSegLiberationSansRegular_0068) }, 0x0068, _acSegLiberationSansRegular_0068, _acCrdLiberationSansRegular_0068 },
{ { 455, 137, 1484, 180, 1484, sizeof(_acSegLiberationSansRegular_0069) }, 0x0069, _acSegLiberationSansRegular_0069, _acCrdLiberationSansRegular_0069 },
{ { 455, -50, 1484, 367, 1909, sizeof(_acSegLiberationSansRegular_006A) }, 0x006A, _acSegLiberationSansRegular_006A, _acCrdLiberationSansRegular_006A },
{ { 1024, 138, 1484, 889, 1484, sizeof(_acSegLiberationSansRegular_006B) }, 0x006B, _acSegLiberationSansRegular_006B, _acCrdLiberationSansRegular_006B },
{ { 455, 138, 1484, 180, 1484, sizeof(_acSegLiberationSansRegular_006C) }, 0x006C, _acSegLiberationSansRegular_006C, _acCrdLiberationSansRegular_006C },
{ { 1706, 136, 1102, 1435, 1102, sizeof(_acSegLiberationSansRegular_006D) }, 0x006D, _acSegLiberationSansRegular_006D, _acCrdLiberationSansRegular_006D },
{ { 1139, 136, 1102, 870, 1102, sizeof(_acSegLiberationSansRegular_006E) }, 0x006E, _acSegLiberationSansRegular_006E, _acCrdLiberationSansRegular_006E },
{ { 1139, 86, 1102, 967, 1122, sizeof(_acSegLiberationSansRegular_006F) }, 0x006F, _acSegLiberationSansRegular_006F, _acCrdLiberationSansRegular_006F },
{ { 1139, 132, 1101, 921, 1526, sizeof(_acSegLiberationSansRegular_0070) }, 0x0070, _acSegLiberationSansRegular_0070, _acCrdLiberationSansRegular_0070 },
{ { 1139, 86, 1102, 922, 1527, sizeof(_acSegLiberationSansRegular_0071) }, 0x0071, _acSegLiberationSansRegular_0071, _acCrdLiberationSansRegular_0071 },
{ { 682, 136, 1102, 512, 1102, sizeof(_acSegLiberationSansRegular_0072) }, 0x0072, _acSegLiberationSansRegular_0072, _acCrdLiberationSansRegular_0072 },
{ { 1024, 57, 1099, 893, 1119, sizeof(_acSegLiberationSansRegular_0073) }, 0x0073, _acSegLiberationSansRegular_0073, _acCrdLiberationSansRegular_0073 },
{ { 569, 31, 1324, 523, 1340, sizeof(_acSegLiberationSansRegular_0074) }, 0x0074, _acSegLiberationSansRegular_0074, _acCrdLiberationSansRegular_0074 },
{ { 1139, 133, 1082, 870, 1102, sizeof(_acSegLiberationSansRegular_0075) }, 0x0075, _acSegLiberationSansRegular_0075, _acCrdLiberationSansRegular_0075 },
{ { 1024, 7, 1082, 1010, 1082, sizeof(_acSegLiberationSansRegular_0076) }, 0x0076, _acSegLiberationSansRegular_0076, _acCrdLiberationSansRegular_0076 },
{ { 1479, -3, 1082, 1487, 1082, sizeof(_acSegLiberationSansRegular_0077) }, 0x0077, _acSegLiberationSansRegular_0077, _acCrdLiberationSansRegular_0077 },
{ { 1024, 23, 1082, 979, 1082, sizeof(_acSegLiberationSansRegular_0078) }, 0x0078, _acSegLiberationSansRegular_0078, _acCrdLiberationSansRegular_0078 },
{ { 1024, 5, 1082, 1015, 1507, sizeof(_acSegLiberationSansRegular_0079) }, 0x0079, _acSegLiberationSansRegular_0079, _acCrdLiberationSansRegular_0079 },
{ { 1024, 83, 1082, 839, 1082, sizeof(_acSegLiberationSansRegular_007A) }, 0x007A, _acSegLiberationSansRegular_007A, _acCrdLiberationSansRegular_007A },
{ { 684, 34, 1484, 614, 1909, sizeof(_acSegLiberationSansRegular_007B) }, 0x007B, _acSegLiberationSansRegular_007B, _acCrdLiberationSansRegular_007B },
{ { 532, 183, 1484, 166, 1918, sizeof(_acSegLiberationSansRegular_007C) }, 0x007C, _acSegLiberationSansRegular_007C, _acCrdLiberationSansRegular_007C },
{ { 684, 34, 1484, 613, 1909, sizeof(_acSegLiberationSansRegular_007D) }, 0x007D, _acSegLiberationSansRegular_007D, _acCrdLiberationSansRegular_007D },
{ { 1196, 92, 807, 1012, 254, sizeof(_acSegLiberationSansRegular_007E) }, 0x007E, _acSegLiberationSansRegular_007E, _acCrdLiberationSansRegular_007E },
};
static GUI_VG_FONT_KERNING_ITEM _aKerning_LiberationSansRegular[] = {
{ 0x0020, 0x0041, -113 }, { 0x0020, 0x0054, -37 }, { 0x0020, 0x0059, -37 },
{ 0x0031, 0x0031, -152 }, { 0x0041, 0x0020, -113 }, { 0x0041, 0x0054, -152 },
{ 0x0041, 0x0056, -152 }, { 0x0041, 0x0057, -76 }, { 0x0041, 0x0059, -152 },
{ 0x0041, 0x0076, -37 }, { 0x0041, 0x0077, -37 }, { 0x0041, 0x0079, -37 },
{ 0x0046, 0x002C, -227 }, { 0x0046, 0x002E, -227 }, { 0x0046, 0x0041, -113 },
{ 0x004C, 0x0020, -76 }, { 0x004C, 0x0054, -152 }, { 0x004C, 0x0056, -152 },
{ 0x004C, 0x0057, -152 }, { 0x004C, 0x0059, -152 }, { 0x004C, 0x0079, -76 },
{ 0x0050, 0x0020, -37 }, { 0x0050, 0x002C, -264 }, { 0x0050, 0x002E, -264 },
{ 0x0050, 0x0041, -152 }, { 0x0052, 0x0054, -37 }, { 0x0052, 0x0056, -37 },
{ 0x0052, 0x0057, -37 }, { 0x0052, 0x0059, -37 }, { 0x0054, 0x0020, -37 },
{ 0x0054, 0x002C, -227 }, { 0x0054, 0x002D, -113 }, { 0x0054, 0x002E, -227 },
{ 0x0054, 0x003A, -227 }, { 0x0054, 0x003B, -227 }, { 0x0054, 0x0041, -152 },
{ 0x0054, 0x004F, -37 }, { 0x0054, 0x0061, -227 }, { 0x0054, 0x0063, -227 },
{ 0x0054, 0x0065, -227 }, { 0x0054, 0x0069, -76 }, { 0x0054, 0x006F, -227 },
{ 0x0054, 0x0072, -76 }, { 0x0054, 0x0073, -227 }, { 0x0054, 0x0075, -76 },
{ 0x0054, 0x0077, -113 }, { 0x0054, 0x0079, -113 }, { 0x0056, 0x002C, -188 },
{ 0x0056, 0x002D, -113 }, { 0x0056, 0x002E, -188 }, { 0x0056, 0x003A, -76 },
{ 0x0056, 0x003B, -76 }, { 0x0056, 0x0041, -152 }, { 0x0056, 0x0061, -152 },
{ 0x0056, 0x0065, -113 }, { 0x0056, 0x0069, -37 }, { 0x0056, 0x006F, -113 },
{ 0x0056, 0x0072, -76 }, { 0x0056, 0x0075, -76 }, { 0x0056, 0x0079, -76 },
{ 0x0057, 0x002C, -113 }, { 0x0057, 0x002D, -37 }, { 0x0057, 0x002E, -113 },
{ 0x0057, 0x003A, -37 }, { 0x0057, 0x003B, -37 }, { 0x0057, 0x0041, -76 },
{ 0x0057, 0x0061, -76 }, { 0x0057, 0x0065, -37 }, { 0x0057, 0x006F, -37 },
{ 0x0057, 0x0072, -37 }, { 0x0057, 0x0075, -37 }, { 0x0057, 0x0079, -18 },
{ 0x0059, 0x0020, -37 }, { 0x0059, 0x002C, -264 }, { 0x0059, 0x002D, -188 },
{ 0x0059, 0x002E, -264 }, { 0x0059, 0x003A, -113 }, { 0x0059, 0x003B, -133 },
{ 0x0059, 0x0041, -152 }, { 0x0059, 0x0061, -152 }, { 0x0059, 0x0065, -188 },
{ 0x0059, 0x0069, -76 }, { 0x0059, 0x006F, -188 }, { 0x0059, 0x0070, -152 },
{ 0x0059, 0x0071, -188 }, { 0x0059, 0x0075, -113 }, { 0x0059, 0x0076, -113 },
{ 0x0066, 0x0066, -37 }, { 0x0072, 0x002C, -113 }, { 0x0072, 0x002E, -113 },
{ 0x0076, 0x002C, -152 }, { 0x0076, 0x002E, -152 }, { 0x0077, 0x002C, -113 },
{ 0x0077, 0x002E, -113 }, { 0x0079, 0x002C, -152 }, { 0x0079, 0x002E, -152 },
};
GUI_CONST_STORAGE GUI_VG_FONT_DATA_INT GUI_VectorFont_LiberationSansRegular = {
{
1854, // Baseline (unscaled)
2355, // Font height (unscaled)
2628, // Boundary box height (unscaled)
3780, // Boundary box width (unscaled)
2048, // Units per EM
1409, // Height of capital characters
1122, // Height of lower-case characters
(GUI_VG_FONTFLAG_SCALE_BBOX | GUI_VG_FONTFLAG_KERNING_ENABLED), // Font flags
},
_aCodePages_LiberationSansRegular, // Code page array
_aPageSizes_LiberationSansRegular, // Page size array
_aGlyphs_LiberationSansRegular, // Glyph array
_aKerning_LiberationSansRegular, // Kerning array
GUI_COUNTOF(_aKerning_LiberationSansRegular), // Kerning array size
};
/*********************************************************************
*
* Types
*
**********************************************************************
*/
typedef enum {
APP_FONT_LIBERATION_SERIF,
APP_FONT_COURIER_NEW,
APP_FONT_MVBOLI,
//
APP_FONT_COUNT,
} APP_FONT_ID;
typedef enum {
APP_CACHE_FORMAT_AA8,
APP_CACHE_FORMAT_AA4,
APP_CACHE_FORMAT_AA2,
} APP_CACHE_FORMAT_ID;
typedef struct {
APP_FONT_ID Id;
GUI_CONST_STORAGE GUI_VG_FONT_DATA_INT * pFontData;
} FONT_BUTTON_DATA;
typedef struct {
int xSize;
int ySizeShaft;
} SLIDER_SIZES;
/*********************************************************************
*
* Defines
*
**********************************************************************
*/
//
// Widget IDs
//
#define ID_WINDOW_0 (GUI_ID_USER + 0x0)
#define ID_TEXT_HEADER (GUI_ID_USER + 0x1)
#define ID_SLIDER_SCALE (GUI_ID_USER + 0x2)
#define ID_WINDOW_CANVAS (GUI_ID_USER + 0x3)
#define ID_SWITCH_GPU (GUI_ID_USER + 0x4)
#define ID_SWITCH_CACHE (GUI_ID_USER + 0x5)
#define ID_SWITCH_TRANSPARENT (GUI_ID_USER + 0x6)
#define ID_TEXT_GPU (GUI_ID_USER + 0x7)
#define ID_TEXT_CACHE (GUI_ID_USER + 0x8)
#define ID_TEXT_TRANSPARENT (GUI_ID_USER + 0x9)
#define ID_RADIO_CACHE_FORMAT (GUI_ID_USER + 0x10)
#define ID_FONT_BUTTON_FIRST (GUI_ID_USER + 0x1a)
#define ID_FONT_BUTTON_LIBERATION (ID_FONT_BUTTON_FIRST + APP_FONT_LIBERATION_SERIF)
#define ID_FONT_BUTTON_COURIER (ID_FONT_BUTTON_FIRST + APP_FONT_COURIER_NEW)
#define ID_FONT_BUTTON_MVBOLI (ID_FONT_BUTTON_FIRST + APP_FONT_MVBOLI)
//
// Custom limitation to the scale factor so that scaled bitmap does not exceed LCD.
//
#define MIN_SCALE 1000 // Min. 10.00 px
#define MAX_SCALE 15000 // Max. 150.00 px
#define START_SCALE 3200
//
// Window related
//
#define FRAME_SIZE_BUTTON 3
#define WINDOW_PADDING 20
#define SLIDER_MIN_XSIZE 20
/*********************************************************************
*
* Static const data
*
**********************************************************************
*/
/*********************************************************************
*
* _aFontButtons
*/
static const FONT_BUTTON_DATA _aFontButtons[] = {
{ APP_FONT_LIBERATION_SERIF, &GUI_VectorFont_LiberationSerifRegular },
{ APP_FONT_COURIER_NEW, &GUI_VectorFont_CourierNewRegular },
{ APP_FONT_MVBOLI, &GUI_VectorFont_MVBoliRegular },
};
/*********************************************************************
*
* Static data
*
**********************************************************************
*/
static float _PxSize = 32.0f;
static GUI_FONT * _paFonts[APP_FONT_COUNT];
static GUI_FONT * _pCurrentFont;
static GUI_FONT * _pHeaderFont;
static GUI_FONT * _pWidgetFont;
static GUI_GPU_DRIVER * _pGPU;
static GUI_BOOLEAN _Transparent = GUI_TRUE;
/*********************************************************************
*
* Static code
*
**********************************************************************
*/
/*********************************************************************
*
* _cbCanvas
*/
static void _cbCanvas(WM_MESSAGE * pMsg) {
GUI_RECT r, rText;
WM_MOTION_INFO * pInfo;
static int dx, dy;
static int MaxOffset;
const char * sText;
int xSize, ySize, ySizeRect;
int Offset;
switch (pMsg->MsgId) {
case WM_PAINT:
WM_GetClientRect(&r);
//
// Setup background and text mode either for transparent
// or opaque text rendering.
//
if (_Transparent) {
GUI_DrawGradientVEx(&r, 0xFFF5F7FA, 0xFFC3CFE2);
GUI_SetTextMode(GUI_TM_TRANS);
} else {
GUI_SetBkColor(GUI_GRAY_D0);
GUI_ClearRectEx(&r);
GUI_SetTextMode(GUI_TM_NORMAL);
}
//
// Update font size.
//
GUI_SetFont(_pCurrentFont);
GUI_VG_FONT_SetSize(_pCurrentFont, _PxSize);
//
// Add motion offset to the text rectangle.
//
rText = r;
GUI_RECT_Move(&rText, dx, dy);
//
// Make sure the rectangle is big enough.
//
sText = "It simply works!";
ySize = _pCurrentFont->YSize;
xSize = GUI_RECT_GetWidth(&rText);
ySize *= GUI_WrapGetNumLines(sText, xSize, GUI_WRAPMODE_WORD);
ySizeRect = GUI_RECT_GetHeight(&rText);
if (ySizeRect < ySize) {
Offset = (ySizeRect - ySize) / 2;
GUI_RECT_SetHeight(&rText, ySize);
GUI_RECT_Move(&rText, 0, Offset);
}
//
// Display current font.
//
GUI_SetColor(0xFFE63946);
GUI_DispStringInRectWrap(sText, &rText, GUI_TA_HCENTER | GUI_TA_VCENTER, GUI_WRAPMODE_WORD);
//
// Draw thin frame.
//
GUI_SetColor(GUI_BLACK);
GUI_DrawRectEx(&r);
break;
case WM_MOTION:
pInfo = (WM_MOTION_INFO *)pMsg->Data.p;
switch (pInfo->Cmd) {
case WM_MOTION_INIT:
//
// Tell the motion module to move in y direction and that we manage it on our own
//
pInfo->Flags = WM_CF_MOTION_X | WM_CF_MOTION_Y | WM_MOTION_MANAGE_BY_WINDOW;
//
// Pick a very short period for movements.
//
pInfo->Period = 100;
break;
case WM_MOTION_MOVE:
//
// Add motion offset.
//
dx += pInfo->dx;
dy += pInfo->dy;
//
// Tell the window to redraw
//
WM_InvalidateWindow(pMsg->hWin);
break;
case WM_MOTION_GETPOS:
pInfo->xPos = dx;
pInfo->yPos = dy;
break;
}
break;
default:
WINDOW_Callback(pMsg);
break;
}
}
/*********************************************************************
*
* _cbButtonFont
*/
static void _cbButtonFont(WM_MESSAGE * pMsg) {
const FONT_BUTTON_DATA * pData = NULL;
GUI_RECT r;
GUI_FONT * pFont;
int Id;
switch (pMsg->MsgId) {
case WM_SET_CALLBACK:
BUTTON_SetToggleMode(pMsg->hWin, 1);
break;
case WM_PAINT:
WM_GetClientRectEx(pMsg->hWin, &r);
GUI_SetBkColor(GUI_WHITE);
GUI_Clear();
GUI_SetColor(GUI_GRAY_D0);
GUI_AA_FillRoundedRectEx(&r, FRAME_SIZE_BUTTON);
Id = WM_GetId(pMsg->hWin);
pFont = _paFonts[Id - ID_FONT_BUTTON_FIRST];
GUI_SetFont(pFont);
GUI_SetColor(GUI_BLACK);
GUI_SetBkColor(GUI_GRAY_D0);
GUI_VG_FONT_SetSize(pFont, GUI_RECT_GetHeight(&r));
GUI_DispStringInRect("w", &r, GUI_TA_HCENTER | GUI_TA_VCENTER);
if (BUTTON_IsPressed(pMsg->hWin)) {
GUI_SetColor(0xFFEA6256);
GUI_SetPenSize(FRAME_SIZE_BUTTON);
GUI_AA_DrawRoundedFrameEx(&r, FRAME_SIZE_BUTTON);
} else {
GUI_SetColor(GUI_BLACK);
GUI_AA_DrawRoundedFrameEx(&r, FRAME_SIZE_BUTTON);
}
break;
default:
BUTTON_Callback(pMsg);
}
}
/*********************************************************************
*
* _CreateFontButton
*/
static void _CreateFontButton(const FONT_BUTTON_DATA * pData, WM_HWIN hParent) {
WM_HWIN hWin;
hWin = BUTTON_CreateUser(0, 0, 1, 1, hParent, WM_CF_SHOW, 0, ID_FONT_BUTTON_FIRST + pData->Id, 0);
WM_SetCallback(hWin, _cbButtonFont);
}
/*********************************************************************
*
* _InvalidateWindows
*/
static void _InvalidateWindows(WM_HWIN hParent) {
WM_HWIN hWin;
int Id;
//
// Invalidate all windows that use vector fonts.
//
hWin = WM_GetDialogItem(hParent, ID_WINDOW_CANVAS);
WM_InvalidateWindow(hWin);
for (Id = ID_FONT_BUTTON_FIRST; Id < ID_FONT_BUTTON_FIRST + APP_FONT_COUNT; Id++) {
hWin = WM_GetDialogItem(hParent, Id);
WM_InvalidateWindow(hWin);
}
}
/*********************************************************************
*
* _GetSliderSizes
*/
static void _GetSliderSizes(SLIDER_SIZES * pSizes) {
int xSize, ySize;
xSize = LCD_GetXSize();
ySize = LCD_GetYSize();
pSizes->xSize = 0.05f * xSize;
pSizes->ySizeShaft = 0.03125f * ySize;
if (pSizes->xSize < SLIDER_MIN_XSIZE) {
pSizes->xSize = SLIDER_MIN_XSIZE;
}
}
/*********************************************************************
*
* _CreateWidgets
*/
static void _CreateWidgets(WM_HWIN hParent) {
WM_HWIN hWin;
int xDist;
const char * sHeader;
const char * sText;
unsigned i;
SLIDER_SIZES Sizes;
char ac[32];
const char * sGPU = NULL;
//
// Create header
//
sHeader = "Vector Font Example";
GUI_SetFont(_pHeaderFont);
xDist = GUI_GetStringDistX(sHeader);
hWin = TEXT_CreateAsChild(0, 0, xDist, GUI_GetFontSizeY(), hParent, ID_TEXT_HEADER, WM_CF_SHOW, sHeader, GUI_TA_LEFT | GUI_TA_VCENTER);
TEXT_SetText(hWin, sHeader);
TEXT_SetFont(hWin, _pHeaderFont);
//
// Create other texts.
//
#if GUI_SUPPORT_GPU
sGPU = GUI_GPU_GetName(_pGPU);
#endif
if (sGPU == NULL) {
sGPU = "GPU";
}
sprintf(ac, "Use %s", sGPU);
sText = ac;
GUI_SetFont(_pWidgetFont);
xDist = GUI_GetStringDistX(sText);
hWin = TEXT_CreateAsChild(0, 0, xDist, GUI_GetFontSizeY(), hParent, ID_TEXT_GPU, WM_CF_SHOW, sText, GUI_TA_LEFT | GUI_TA_VCENTER);
TEXT_SetText(hWin, sText);
TEXT_SetFont(hWin, _pWidgetFont);
//
sText = "Use Font Cache";
xDist = GUI_GetStringDistX(sText);
hWin = TEXT_CreateAsChild(0, 0, xDist, GUI_GetFontSizeY(), hParent, ID_TEXT_CACHE, WM_CF_SHOW, sText, GUI_TA_LEFT | GUI_TA_VCENTER);
TEXT_SetText(hWin, sText);
TEXT_SetFont(hWin, _pWidgetFont);
//
// Create slider
//
_GetSliderSizes(&Sizes);
SLIDER_SetDefaultSkinFlat();
hWin = SLIDER_CreateEx(0, 0, Sizes.xSize, 100, hParent, WM_CF_SHOW, SLIDER_CF_VERTICAL, ID_SLIDER_SCALE);
WIDGET_SetFocusable(hWin, 0);
SLIDER_EnableFocusRect(hWin, 0);
SLIDER_SetWidth(hWin, Sizes.ySizeShaft);
SLIDER_SetRange(hWin, MIN_SCALE, MAX_SCALE);
SLIDER_SetValue(hWin, START_SCALE);
//
// Create GPU switch
//
SWITCH_SetDefaultSkinFlat();
hWin = SWITCH_CreateUser(0, 0, Sizes.xSize*2, _pWidgetFont->YSize*1.2f, hParent, WM_CF_SHOW, 0, ID_SWITCH_GPU, 0);
WIDGET_SetFocusable(hWin, 0);
//
// Enable it if we have a GPU.
//
if (_pGPU) {
SWITCH_Toggle(hWin);
} else {
WM_DisableWindow(hWin);
}
//
// Create cache switch
//
hWin = SWITCH_CreateUser(0, 0, Sizes.xSize*2, _pWidgetFont->YSize*1.2f, hParent, WM_CF_SHOW, 0, ID_SWITCH_CACHE, 0);
WIDGET_SetFocusable(hWin, 0);
//
// Create transparency label
//
sText = "Transparent";
xDist = GUI_GetStringDistX(sText);
hWin = TEXT_CreateAsChild(0, 0, xDist, GUI_GetFontSizeY(), hParent, ID_TEXT_TRANSPARENT, WM_CF_SHOW, sText, GUI_TA_LEFT | GUI_TA_VCENTER);
TEXT_SetText(hWin, sText);
TEXT_SetFont(hWin, _pWidgetFont);
//
// Create transparency switch
//
hWin = SWITCH_CreateUser(0, 0, Sizes.xSize*2, _pWidgetFont->YSize*1.2f, hParent, WM_CF_SHOW, 0, ID_SWITCH_TRANSPARENT, 0);
WIDGET_SetFocusable(hWin, 0);
SWITCH_Toggle(hWin);
//
// Create cache RADIO
//
FLAT_SKIN_SetColors(FLAT_SKIN_COLORS_DAY);
RADIO_SetDefaultSkinFlat();
FLAT_SKIN_SetColor(FLAT_SKIN_CI_DIALOG, GUI_RED);
FLAT_SKIN_SetFont(_pWidgetFont);
hWin = RADIO_CreateUser(0, 0, 90, 66, hParent, WM_CF_SHOW, 0, ID_RADIO_CACHE_FORMAT, 3, _pWidgetFont->YSize*1.5f, 0);
RADIO_SetText(hWin, "Cache AA8", 0);
RADIO_SetText(hWin, "Cache AA4", 1);
RADIO_SetText(hWin, "Cache AA2", 2);
WIDGET_SetFocusable(hWin, 0);
WM_DisableWindow(hWin);
//
// Create font buttons
//
for (i = 0; i < GUI_COUNTOF(_aFontButtons); i++) {
_CreateFontButton(&_aFontButtons[i], hParent);
}
//
// Create canvas
//
hWin = WINDOW_CreateEx(0, 0, 100, 100, hParent, WM_CF_SHOW, 0, ID_WINDOW_CANVAS, NULL);
WM_SetCallback(hWin, _cbCanvas);
}
/*********************************************************************
*
* _CreateFonts
*/
static void _CreateFonts(void) {
int i;
float px;
//
// Create selectable fonts for the buttons.
//
for (i = 0; i < GUI_COUNTOF(_aFontButtons); i++) {
_paFonts[i] = GUI_VG_FONT_Create(_aFontButtons[i].pFontData, _PxSize);
GUI_VG_FONT_SetScaleMethod(_paFonts[i], GUI_VG_FONT_SCALE_BBOX);
}
_pCurrentFont = _paFonts[0];
//
// Create fonts for the widgets.
//
px = 12.0f * ((float)LCD_GetYSize() / 160.f);
_pHeaderFont = GUI_VG_FONT_Create(&GUI_VectorFont_LiberationSansRegular, px);
px = 16.0f * ((float)LCD_GetYSize() / 272.f);
_pWidgetFont = GUI_VG_FONT_Create(&GUI_VectorFont_LiberationSansRegular, px);
//
// We have some redraws of the widgets, cache font.
//
GUI_VG_FONT_EnableBitmapCache(_pWidgetFont, 1);
}
/*********************************************************************
*
* _GetMargin
*/
static int _GetMargin(void) {
return 0.025f * LCD_GetXSize();
}
/*********************************************************************
*
* _CreateLayouts
*/
static void _CreateLayouts(WM_HWIN hParent) {
WM_HWIN hWin;
WM_HLAYOUT hMain;
WM_HLAYOUT hContent;
WM_HLAYOUT hSliderLayout;
WM_HLAYOUT hButtonLayout;
WM_HLAYOUT hRightLayout;
WM_HLAYOUT hTopLayout;
WM_HLAYOUT hControlGrid;
WM_HLAYOUT hRow;
WM_HLAYOUT_ITEM hItem;
WM_HLAYOUT_ITEM hSliderColumnItem;
WM_HLAYOUT_ITEM hSliderItem;
WM_HLAYOUT_ITEM hButtonColumnItem;
WM_HLAYOUT_ITEM hRadioItem;
WM_HLAYOUT_ITEM aButtonItems[GUI_COUNTOF(_aFontButtons)];
unsigned i;
unsigned NumButtons;
int m;
int ySize;
int SliderWidth;
int TextColWidth;
int SwitchColWidth;
int xSizeTextGpu;
int xSizeTextCache;
int xSizeTextTransparent;
int xSizeSwitchGpu;
int xSizeSwitchCache;
int xSizeSwitchTransparent;
m = _GetMargin();
//
// Determine fixed column widths.
//
hWin = WM_GetDialogItem(hParent, ID_TEXT_GPU);
xSizeTextGpu = WM_GetXSize(hWin);
hWin = WM_GetDialogItem(hParent, ID_TEXT_CACHE);
xSizeTextCache = WM_GetXSize(hWin);
hWin = WM_GetDialogItem(hParent, ID_TEXT_TRANSPARENT);
xSizeTextTransparent = WM_GetXSize(hWin);
hWin = WM_GetDialogItem(hParent, ID_SWITCH_GPU);
xSizeSwitchGpu = WM_GetXSize(hWin);
hWin = WM_GetDialogItem(hParent, ID_SWITCH_CACHE);
xSizeSwitchCache = WM_GetXSize(hWin);
hWin = WM_GetDialogItem(hParent, ID_SWITCH_TRANSPARENT);
xSizeSwitchTransparent = WM_GetXSize(hWin);
TextColWidth = xSizeTextGpu;
if (xSizeTextCache > TextColWidth) {
TextColWidth = xSizeTextCache;
}
if (xSizeTextTransparent > TextColWidth) {
TextColWidth = xSizeTextTransparent;
}
SwitchColWidth = xSizeSwitchGpu;
if (xSizeSwitchCache > SwitchColWidth) {
SwitchColWidth = xSizeSwitchCache;
}
if (xSizeSwitchTransparent > SwitchColWidth) {
SwitchColWidth = xSizeSwitchTransparent;
}
//
// Main vertical layout.
//
hMain = WM_LAYOUT_CreateVBox();
WM_LAYOUT_SetMargin(hMain, m, m, m, m);
WM_LAYOUT_SetSpacing(hMain, m);
//
// Header.
//
hWin = WM_GetDialogItem(hParent, ID_TEXT_HEADER);
WM_LAYOUT_AddWindowEx(hMain, hWin, 0, 0);
//
// Main content: slider + font buttons + right content.
//
hContent = WM_LAYOUT_CreateHBox();
WM_LAYOUT_SetSpacing(hContent, m);
//
// Slider column.
// The column itself gets fixed width, but full available height.
// The slider inside the column gets vertical weight 1.
//
hSliderLayout = WM_LAYOUT_CreateVBox();
hWin = WM_GetDialogItem(hParent, ID_SLIDER_SCALE);
SliderWidth = WM_GetXSize(hWin);
hSliderItem = WM_LAYOUT_AddWindowEx(hSliderLayout, hWin, 1, 0);
WM_LAYOUT_SetItemWidthMin(hSliderItem, SliderWidth);
WM_LAYOUT_SetItemWidthMax(hSliderItem, SliderWidth);
hSliderColumnItem = WM_LAYOUT_AddLayout(hContent, hSliderLayout, 0);
WM_LAYOUT_SetItemWidthMin(hSliderColumnItem, SliderWidth);
WM_LAYOUT_SetItemWidthMax(hSliderColumnItem, SliderWidth);
//
// Font buttons.
//
hButtonLayout = WM_LAYOUT_CreateVBox();
WM_LAYOUT_SetSpacing(hButtonLayout, m);
NumButtons = GUI_COUNTOF(_aFontButtons);
for (i = 0; i < NumButtons; i++) {
hWin = WM_GetDialogItem(hParent, ID_FONT_BUTTON_FIRST + _aFontButtons[i].Id);
aButtonItems[i] = WM_LAYOUT_AddWindow(hButtonLayout, hWin);
}
hButtonColumnItem = WM_LAYOUT_AddLayout(hContent, hButtonLayout, 0);
//
// Right side: top controls + canvas.
//
hRightLayout = WM_LAYOUT_CreateVBox();
WM_LAYOUT_SetSpacing(hRightLayout, m/2);
//
// Top control row.
// Left: label/switch grid.
// Right: radio group aligned to the far right.
//
hTopLayout = WM_LAYOUT_CreateHBox();
WM_LAYOUT_SetSpacing(hTopLayout, m/2);
//
// Pseudo grid: 3 rows, each row = label column + switch column.
//
hControlGrid = WM_LAYOUT_CreateVBox();
WM_LAYOUT_SetSpacing(hControlGrid, m/2);
//
// Row 1: GPU text + GPU switch.
//
hRow = WM_LAYOUT_CreateHBox();
WM_LAYOUT_SetSpacing(hRow, m/2);
hWin = WM_GetDialogItem(hParent, ID_TEXT_GPU);
hItem = WM_LAYOUT_AddWindowEx(hRow, hWin, 0, 0);
WM_LAYOUT_SetItemWidthMin(hItem, TextColWidth);
WM_LAYOUT_SetItemWidthMax(hItem, TextColWidth);
hWin = WM_GetDialogItem(hParent, ID_SWITCH_GPU);
hItem = WM_LAYOUT_AddWindowEx(hRow, hWin, 0, 0);
WM_LAYOUT_SetItemWidthMin(hItem, SwitchColWidth);
WM_LAYOUT_SetItemWidthMax(hItem, SwitchColWidth);
WM_LAYOUT_AddLayout(hControlGrid, hRow, 0);
//
// Row 2: Cache text + Cache switch.
//
hRow = WM_LAYOUT_CreateHBox();
WM_LAYOUT_SetSpacing(hRow, m/2);
hWin = WM_GetDialogItem(hParent, ID_TEXT_CACHE);
hItem = WM_LAYOUT_AddWindowEx(hRow, hWin, 0, 0);
WM_LAYOUT_SetItemWidthMin(hItem, TextColWidth);
WM_LAYOUT_SetItemWidthMax(hItem, TextColWidth);
hWin = WM_GetDialogItem(hParent, ID_SWITCH_CACHE);
hItem = WM_LAYOUT_AddWindowEx(hRow, hWin, 0, 0);
WM_LAYOUT_SetItemWidthMin(hItem, SwitchColWidth);
WM_LAYOUT_SetItemWidthMax(hItem, SwitchColWidth);
WM_LAYOUT_AddLayout(hControlGrid, hRow, 0);
//
// Row 3: Transparent text + Transparent switch.
//
hRow = WM_LAYOUT_CreateHBox();
WM_LAYOUT_SetSpacing(hRow, m/2);
hWin = WM_GetDialogItem(hParent, ID_TEXT_TRANSPARENT);
hItem = WM_LAYOUT_AddWindowEx(hRow, hWin, 0, 0);
WM_LAYOUT_SetItemWidthMin(hItem, TextColWidth);
WM_LAYOUT_SetItemWidthMax(hItem, TextColWidth);
hWin = WM_GetDialogItem(hParent, ID_SWITCH_TRANSPARENT);
hItem = WM_LAYOUT_AddWindowEx(hRow, hWin, 0, 0);
WM_LAYOUT_SetItemWidthMin(hItem, SwitchColWidth);
WM_LAYOUT_SetItemWidthMax(hItem, SwitchColWidth);
WM_LAYOUT_AddLayout(hControlGrid, hRow, 0);
//
// Add fixed-width control grid to the left side of the top row.
//
hItem = WM_LAYOUT_AddLayout(hTopLayout, hControlGrid, 0);
WM_LAYOUT_SetItemWidthMin(hItem, TextColWidth + SwitchColWidth + m);
WM_LAYOUT_SetItemWidthMax(hItem, TextColWidth + SwitchColWidth + m);
//
// Radio group:
// Give this item weight 1 so it receives all remaining horizontal space.
// The actual radio widget is aligned to the right inside that area.
//
hWin = WM_GetDialogItem(hParent, ID_RADIO_CACHE_FORMAT);
hRadioItem = WM_LAYOUT_AddWindowEx(hTopLayout, hWin, 1, GUI_ALIGN_RIGHT | GUI_ALIGN_TOP);
WM_LAYOUT_SetItemWidthMin(hRadioItem, WM_GetXSize(hWin));
WM_LAYOUT_AddLayout(hRightLayout, hTopLayout, 0);
//
// Canvas takes the remaining vertical space.
//
hWin = WM_GetDialogItem(hParent, ID_WINDOW_CANVAS);
WM_LAYOUT_AddWindowEx(hRightLayout, hWin, 1, 0);
//
// Add right side to content.
//
WM_LAYOUT_AddLayout(hContent, hRightLayout, 1);
//
// Add content to main.
//
WM_LAYOUT_AddLayout(hMain, hContent, 1);
//
// Apply layout once so button heights are calculated.
//
WM_SetLayout(hParent, hMain);
//
// Make font buttons square-ish based on their calculated height.
//
hWin = WM_GetDialogItem(hParent, ID_FONT_BUTTON_FIRST);
ySize = WM_GetYSize(hWin);
for (i = 0; i < GUI_COUNTOF(_aFontButtons); i++) {
WM_LAYOUT_SetItemWidthMin(aButtonItems[i], ySize);
WM_LAYOUT_SetItemWidthMax(aButtonItems[i], ySize);
}
WM_LAYOUT_SetItemWidthMin(hButtonColumnItem, ySize);
WM_LAYOUT_SetItemWidthMax(hButtonColumnItem, ySize);
//
// Recalculate after applying fixed button widths.
//
WM_SetLayout(hParent, hMain);
}
/*********************************************************************
*
* _cbMainWin
*/
static void _cbMainWin(WM_MESSAGE * pMsg) {
static BUTTON_Handle hCurrentButton;
WM_HWIN hItem;
int NCode;
int Id;
U16 i, j;
const FONT_BUTTON_DATA * pData = NULL;
int v;
int EnableCache;
switch (pMsg->MsgId) {
case WM_CREATE:
_CreateFonts();
_CreateWidgets(pMsg->hWin);
_CreateLayouts(pMsg->hWin);
//
// Set initial button
//
hItem = WM_GetDialogItem(pMsg->hWin, ID_FONT_BUTTON_LIBERATION);
BUTTON_Toggle(hItem);
break;
case WM_PAINT:
GUI_SetBkColor(GUI_WHITE);
GUI_Clear();
break;
case WM_NOTIFY_PARENT:
Id = WM_GetId(pMsg->hWinSrc);
NCode = pMsg->Data.v;
switch(Id) {
case ID_SWITCH_GPU:
switch(NCode) {
case WM_NOTIFICATION_SET:
GUI_VG_FONT_SetGPU(_pGPU);
_InvalidateWindows(pMsg->hWin);
break;
case WM_NOTIFICATION_CLEAR:
GUI_VG_FONT_SetSoftwareRenderer();
_InvalidateWindows(pMsg->hWin);
break;
}
break;
case ID_SWITCH_CACHE:
switch(NCode) {
case WM_NOTIFICATION_SET:
GUI_VG_FONT_EnableBitmapCache(_pCurrentFont, 1);
hItem = WM_GetDialogItem(pMsg->hWin, ID_RADIO_CACHE_FORMAT);
WM_EnableWindow(hItem);
_InvalidateWindows(pMsg->hWin);
break;
case WM_NOTIFICATION_CLEAR:
GUI_VG_FONT_EnableBitmapCache(_pCurrentFont, 0);
hItem = WM_GetDialogItem(pMsg->hWin, ID_RADIO_CACHE_FORMAT);
WM_DisableWindow(hItem);
_InvalidateWindows(pMsg->hWin);
break;
}
break;
case ID_SWITCH_TRANSPARENT:
switch(NCode) {
case WM_NOTIFICATION_SET:
_Transparent = GUI_TRUE;
hItem = WM_GetDialogItem(pMsg->hWin, ID_WINDOW_CANVAS);
WM_InvalidateWindow(hItem);
break;
case WM_NOTIFICATION_CLEAR:
_Transparent = GUI_FALSE;
hItem = WM_GetDialogItem(pMsg->hWin, ID_WINDOW_CANVAS);
WM_InvalidateWindow(hItem);
break;
}
break;
case ID_RADIO_CACHE_FORMAT:
switch(NCode) {
case WM_NOTIFICATION_VALUE_CHANGED:
hItem = WM_GetDialogItem(pMsg->hWin, ID_RADIO_CACHE_FORMAT);
i = RADIO_GetValue(hItem);
switch (i) {
case APP_CACHE_FORMAT_AA8:
GUI_VG_FONT_SetBitmapCacheFormat(GUI_VG_FONT_BITMAPCACHE_FORMAT_AA8);
break;
case APP_CACHE_FORMAT_AA4:
GUI_VG_FONT_SetBitmapCacheFormat(GUI_VG_FONT_BITMAPCACHE_FORMAT_AA4);
break;
case APP_CACHE_FORMAT_AA2:
GUI_VG_FONT_SetBitmapCacheFormat(GUI_VG_FONT_BITMAPCACHE_FORMAT_AA2);
break;
}
_InvalidateWindows(pMsg->hWin);
break;
}
break;
case ID_SLIDER_SCALE:
switch(NCode) {
case WM_NOTIFICATION_VALUE_CHANGED:
v = SLIDER_GetValue(pMsg->hWinSrc);
_PxSize = (float)v / 100.f;
hItem = WM_GetDialogItem(pMsg->hWin, ID_WINDOW_CANVAS);
WM_InvalidateWindow(hItem);
break;
}
break;
case ID_FONT_BUTTON_LIBERATION:
case ID_FONT_BUTTON_COURIER:
case ID_FONT_BUTTON_MVBOLI:
switch(NCode) {
case WM_NOTIFICATION_RELEASED:
//
// Make sure button stays selected
//
if (!BUTTON_IsPressed(hCurrentButton)) {
BUTTON_SetPressed(hCurrentButton, 1);
}
break;
case WM_NOTIFICATION_CLICKED:
for (i = ID_FONT_BUTTON_FIRST; i < ID_FONT_BUTTON_FIRST + APP_FONT_COUNT; i++) {
//
// Disable other font buttons.
//
hItem = WM_GetDialogItem(pMsg->hWin, i);
if (Id != i) {
BUTTON_SetPressed(hItem, 0);
}
//
// Set new font...
//
else {
for (j = 0; j < GUI_COUNTOF(_aFontButtons); j++) {
if (_aFontButtons[j].Id == Id - ID_FONT_BUTTON_FIRST) {
pData = &_aFontButtons[j];
break;
}
}
if (!pData) {
return;
}
hCurrentButton = hItem;
//
// Switch out vector font and update canvas.
//
_pCurrentFont = _paFonts[pData->Id];
//
// Set current cache settings.
//
hItem = WM_GetDialogItem(pMsg->hWin, ID_SWITCH_CACHE);
EnableCache = SWITCH_GetState(hItem) == SWITCH_STATE_RIGHT ? 1 : 0;
GUI_VG_FONT_EnableBitmapCache(_pCurrentFont, EnableCache);
//
hItem = WM_GetDialogItem(pMsg->hWin, ID_WINDOW_CANVAS);
WM_InvalidateWindow(hItem);
}
}
break;
}
break;
}
break;
default:
WM_DefaultProc(pMsg);
break;
}
}
#if GUI_SUPPORT_GPU
/*********************************************************************
*
* _GetGPU
*/
static void _GetGPU(void) {
GUI_GPU_DRIVER * pGPU;
//
// Get first GPU that supports rendering the fonts.
//
for (pGPU = GUI_GPU_GetFirst(); pGPU; pGPU = GUI_GPU_GetNext(pGPU)) {
if (GUI_GPU_HasFunction(pGPU, GUI_GPU_FUNCTION_DRAWVECTORFONT)) {
_pGPU = pGPU;
return;
}
}
}
#endif
/*********************************************************************
*
* Public code
*
**********************************************************************
*/
/*********************************************************************
*
* MainTask
*/
void MainTask(void) {
GUI_Init();
WM_MULTIBUF_Enable(1);
WM_MOTION_Enable(1);
GUI_VG_FONT_Enable(1);
#if GUI_SUPPORT_GPU
_GetGPU();
#endif
WM_CreateWindowAsChild(0, 0, LCD_GetXSize(), LCD_GetYSize(), WM_HBKWIN, WM_CF_SHOW, _cbMainWin, 0);
while (1) {
GUI_Delay(50);
}
}
/*************************** End of file ****************************/