regenerate fonts

This commit is contained in:
Gabor Kiss-Vamosi
2019-06-15 17:21:02 +02:00
parent a92ffe7cde
commit 728c221986
8 changed files with 956 additions and 2057 deletions

View File

@@ -271,15 +271,6 @@ typedef void * lv_font_user_data_t;
/*Can break (wrap) texts on these chars*/
#define LV_TXT_BREAK_CHARS " ,.;:-_"
/* If a character is at least this long, will break wherever "prettiest" */
#define LV_TXT_LINE_BREAK_LONG_LEN 12
/* Minimum number of characters of a word to put on a line before a break */
#define LV_TXT_LINE_BREAK_LONG_PRE_MIN_LEN 3
/* Minimum number of characters of a word to put on a line after a break */
#define LV_TXT_LINE_BREAK_LONG_POST_MIN_LEN 1
/*===================
* LV_OBJ SETTINGS
*==================*/
@@ -366,8 +357,15 @@ typedef void * lv_obj_user_data_t;
#if LV_USE_LABEL != 0
/*Hor, or ver. scroll speed [px/sec] in 'LV_LABEL_LONG_ROLL/ROLL_CIRC' mode*/
# define LV_LABEL_DEF_SCROLL_SPEED 25
# define LV_LABEL_WAIT_CHAR_COUNT 3 /* Waiting period at beginning/end of animation cycle */
# define LV_LABEL_TEXT_SEL 1 /*Enable selecting text of the label */
/* Waiting period at beginning/end of animation cycle */
# define LV_LABEL_WAIT_CHAR_COUNT 3
/*Enable selecting text of the label */
# define LV_LABEL_TEXT_SEL 0
/*Store extra some info in labels (12 bytes) to speed up drawing of very long texts*/
# define LV_LABEL_LONG_TXT_HINT 0
#endif
/*LED (dependencies: -)*/

View File

@@ -1,8 +1,10 @@
import argparse
from argparse import RawTextHelpFormatter
import os
import sys
parser = argparse.ArgumentParser(description='Create fonts for LittelvGL including the built-in symbols. lv_font_conv needs to be installed. See https://github.com/littlevgl/lv_font_conv')
parser = argparse.ArgumentParser(description="""Create fonts for LittelvGL including the built-in symbols. lv_font_conv needs to be installed. See https://github.com/littlevgl/lv_font_conv
Example: python built_in_font_gen.py --size 16 -o lv_font_roboto_16.c --bpp 4 -r 0x20-0x7F""", formatter_class=RawTextHelpFormatter)
parser.add_argument('-s', '--size',
type=int,
metavar = 'px',
@@ -41,5 +43,5 @@ else:
syms = "61441,61448,61451,61452,61453,61457,61459,61460,61461,61465,61468,61473,61478,61479,61480,61502,61504,61512,61515,61516,61517,61521,61522,61523,61524,61543,61544,61553,61556,61559,61560,61561,61563,61587,61589,61636,61637,61639,61671,61683,61724,61732,61787,61931,62016,62017,62018,62019,62020,62099"
#Run the command
cmd = "lv_font_conv {} --bpp {} --size {} --font ./Roboto-Regular.woff -r {} --font FontAwesome.ttf -r {} --format lvgl -o {}".format(compr, args.bpp, args.size, args.range, syms, args.output)
cmd = "lv_font_conv {} --bpp {} --size {} --font ./Roboto-Regular.woff -r {} --font FontAwesome.ttf -r {} --format lvgl -o {} --force-fast-kern-format".format(compr, args.bpp, args.size, args.range[0], syms, args.output)
os.system(cmd)

View File

@@ -385,21 +385,6 @@
#define LV_TXT_BREAK_CHARS " ,.;:-_"
#endif
/* If a character is at least this long, will break wherever "prettiest" */
#ifndef LV_TXT_LINE_BREAK_LONG_LEN
#define LV_TXT_LINE_BREAK_LONG_LEN 12
#endif
/* Minimum number of characters of a word to put on a line before a break */
#ifndef LV_TXT_LINE_BREAK_LONG_PRE_MIN_LEN
#define LV_TXT_LINE_BREAK_LONG_PRE_MIN_LEN 3
#endif
/* Minimum number of characters of a word to put on a line after a break */
#ifndef LV_TXT_LINE_BREAK_LONG_POST_MIN_LEN
#define LV_TXT_LINE_BREAK_LONG_POST_MIN_LEN 1
#endif
/*===================
* LV_OBJ SETTINGS
*==================*/
@@ -529,11 +514,20 @@
#ifndef LV_LABEL_DEF_SCROLL_SPEED
# define LV_LABEL_DEF_SCROLL_SPEED 25
#endif
/* Waiting period at beginning/end of animation cycle */
#ifndef LV_LABEL_WAIT_CHAR_COUNT
# define LV_LABEL_WAIT_CHAR_COUNT 3 /* Waiting period at beginning/end of animation cycle */
# define LV_LABEL_WAIT_CHAR_COUNT 3
#endif
/*Enable selecting text of the label */
#ifndef LV_LABEL_TEXT_SEL
# define LV_LABEL_TEXT_SEL 1 /*Enable selecting text of the label */
# define LV_LABEL_TEXT_SEL 0
#endif
/*Store extra some info in labels (12 bytes) to speed up drawing of very long texts*/
#ifndef LV_LABEL_LONG_TXT_HINT
# define LV_LABEL_LONG_TXT_HINT 0
#endif
#endif

View File

@@ -3,7 +3,7 @@
/*******************************************************************************
* Size: 12 px
* Bpp: 4
* Opts: --no-compress --no-prefilter --bpp 4 --size 12 --font ./Roboto-Regular.woff -r 0x20-0x7F --font FontAwesome.ttf -r 61441,61448,61451,61452,61453,61457,61459,61460,61461,61465,61468,61473,61478,61479,61480,61502,61504,61512,61515,61516,61517,61521,61522,61523,61524,61543,61544,61553,61556,61559,61560,61561,61563,61587,61589,61636,61637,61639,61671,61683,61724,61732,61787,61931,62016,62017,62018,62019,62020,62099 --format lvgl -o lv_font_roboto_12.c
* Opts: --no-compress --no-prefilter --bpp 4 --size 12 --font ./Roboto-Regular.woff -r 0x20-0x7F --font FontAwesome.ttf -r 61441,61448,61451,61452,61453,61457,61459,61460,61461,61465,61468,61473,61478,61479,61480,61502,61504,61512,61515,61516,61517,61521,61522,61523,61524,61543,61544,61553,61556,61559,61560,61561,61563,61587,61589,61636,61637,61639,61671,61683,61724,61732,61787,61931,62016,62017,62018,62019,62020,62099 --format lvgl -o lv_font_roboto_12.c --force-fast-kern-format
******************************************************************************/
#ifndef LV_FONT_ROBOTO_12
@@ -1227,513 +1227,243 @@ static const lv_font_fmt_txt_cmap_t cmaps[] =
*----------------*/
/*Pair left and right glyphs for kerning*/
static const uint8_t kern_pair_glyph_ids[] =
/*Map glyph_ids to kern left classes*/
static uint8_t kern_left_class_mapping[] =
{
1, 53,
3, 3,
3, 8,
3, 34,
3, 66,
3, 68,
3, 69,
3, 70,
3, 72,
3, 78,
3, 79,
3, 80,
3, 81,
3, 82,
3, 84,
3, 88,
8, 3,
8, 8,
8, 34,
8, 66,
8, 68,
8, 69,
8, 70,
8, 72,
8, 78,
8, 79,
8, 80,
8, 81,
8, 82,
8, 84,
8, 88,
9, 55,
9, 56,
9, 58,
13, 3,
13, 8,
15, 3,
15, 8,
16, 16,
34, 3,
34, 8,
34, 32,
34, 36,
34, 40,
34, 48,
34, 50,
34, 53,
34, 54,
34, 55,
34, 56,
34, 58,
34, 80,
34, 85,
34, 86,
34, 87,
34, 88,
34, 90,
34, 91,
35, 53,
35, 55,
35, 58,
36, 10,
36, 53,
36, 62,
36, 94,
37, 13,
37, 15,
37, 34,
37, 53,
37, 55,
37, 57,
37, 58,
37, 59,
38, 53,
38, 68,
38, 69,
38, 70,
38, 71,
38, 72,
38, 80,
38, 82,
38, 86,
38, 87,
38, 88,
38, 90,
39, 13,
39, 15,
39, 34,
39, 43,
39, 53,
39, 66,
39, 68,
39, 69,
39, 70,
39, 72,
39, 80,
39, 82,
39, 83,
39, 86,
39, 87,
39, 90,
41, 34,
41, 53,
41, 57,
41, 58,
42, 34,
42, 53,
42, 57,
42, 58,
43, 34,
44, 14,
44, 36,
44, 40,
44, 48,
44, 50,
44, 68,
44, 69,
44, 70,
44, 72,
44, 78,
44, 79,
44, 80,
44, 81,
44, 82,
44, 86,
44, 87,
44, 88,
44, 90,
45, 3,
45, 8,
45, 34,
45, 36,
45, 40,
45, 48,
45, 50,
45, 53,
45, 54,
45, 55,
45, 56,
45, 58,
45, 86,
45, 87,
45, 88,
45, 90,
46, 34,
46, 53,
46, 57,
46, 58,
47, 34,
47, 53,
47, 57,
47, 58,
48, 13,
48, 15,
48, 34,
48, 53,
48, 55,
48, 57,
48, 58,
48, 59,
49, 13,
49, 15,
49, 34,
49, 43,
49, 57,
49, 59,
49, 66,
49, 68,
49, 69,
49, 70,
49, 72,
49, 80,
49, 82,
49, 85,
49, 87,
49, 90,
50, 53,
50, 55,
50, 56,
50, 58,
51, 53,
51, 55,
51, 58,
53, 1,
53, 13,
53, 14,
53, 15,
53, 34,
53, 36,
53, 40,
53, 43,
53, 48,
53, 50,
53, 52,
53, 53,
53, 55,
53, 56,
53, 58,
53, 66,
53, 68,
53, 69,
53, 70,
53, 72,
53, 78,
53, 79,
53, 80,
53, 81,
53, 82,
53, 83,
53, 84,
53, 86,
53, 87,
53, 88,
53, 89,
53, 90,
53, 91,
54, 34,
55, 10,
55, 13,
55, 14,
55, 15,
55, 34,
55, 36,
55, 40,
55, 48,
55, 50,
55, 62,
55, 66,
55, 68,
55, 69,
55, 70,
55, 72,
55, 80,
55, 82,
55, 83,
55, 86,
55, 87,
55, 90,
55, 94,
56, 10,
56, 13,
56, 14,
56, 15,
56, 34,
56, 53,
56, 62,
56, 66,
56, 68,
56, 69,
56, 70,
56, 72,
56, 80,
56, 82,
56, 83,
56, 86,
56, 94,
57, 14,
57, 36,
57, 40,
57, 48,
57, 50,
57, 55,
57, 68,
57, 69,
57, 70,
57, 72,
57, 80,
57, 82,
57, 86,
57, 87,
57, 90,
58, 7,
58, 10,
58, 11,
58, 13,
58, 14,
58, 15,
58, 34,
58, 36,
58, 40,
58, 43,
58, 48,
58, 50,
58, 52,
58, 53,
58, 54,
58, 55,
58, 56,
58, 57,
58, 58,
58, 62,
58, 66,
58, 68,
58, 69,
58, 70,
58, 71,
58, 72,
58, 78,
58, 79,
58, 80,
58, 81,
58, 82,
58, 83,
58, 84,
58, 85,
58, 86,
58, 87,
58, 89,
58, 90,
58, 91,
58, 94,
59, 34,
59, 36,
59, 40,
59, 48,
59, 50,
59, 68,
59, 69,
59, 70,
59, 72,
59, 80,
59, 82,
59, 86,
59, 87,
59, 88,
59, 90,
60, 43,
60, 54,
66, 3,
66, 8,
66, 87,
66, 90,
67, 3,
67, 8,
67, 87,
67, 89,
67, 90,
67, 91,
68, 3,
68, 8,
70, 3,
70, 8,
70, 87,
70, 90,
71, 3,
71, 8,
71, 10,
71, 62,
71, 68,
71, 69,
71, 70,
71, 72,
71, 82,
71, 94,
73, 3,
73, 8,
76, 68,
76, 69,
76, 70,
76, 72,
76, 82,
78, 3,
78, 8,
79, 3,
79, 8,
80, 3,
80, 8,
80, 87,
80, 89,
80, 90,
80, 91,
81, 3,
81, 8,
81, 87,
81, 89,
81, 90,
81, 91,
83, 3,
83, 8,
83, 13,
83, 15,
83, 66,
83, 68,
83, 69,
83, 70,
83, 71,
83, 72,
83, 80,
83, 82,
83, 85,
83, 87,
83, 88,
83, 90,
85, 80,
87, 3,
87, 8,
87, 13,
87, 15,
87, 66,
87, 68,
87, 69,
87, 70,
87, 71,
87, 72,
87, 80,
87, 82,
88, 13,
88, 15,
89, 68,
89, 69,
89, 70,
89, 72,
89, 80,
89, 82,
90, 3,
90, 8,
90, 13,
90, 15,
90, 66,
90, 68,
90, 69,
90, 70,
90, 71,
90, 72,
90, 80,
90, 82,
91, 68,
91, 69,
91, 70,
91, 72,
91, 80,
91, 82,
92, 43,
92, 54
0, 1, 0, 2, 0, 0, 0, 0,
2, 3, 0, 0, 0, 4, 0, 4,
5, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 6, 7, 8, 9, 10, 11,
0, 12, 12, 13, 14, 15, 12, 12,
9, 16, 17, 18, 0, 19, 13, 20,
21, 22, 23, 24, 25, 0, 0, 0,
0, 0, 26, 27, 28, 0, 29, 30,
0, 31, 0, 0, 32, 0, 31, 31,
33, 27, 0, 34, 0, 35, 0, 36,
37, 38, 36, 39, 40, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0
};
/* Kerning between the respective left and right glyphs
* 4.4 format which needs to scaled with `kern_scale`*/
static int8_t kern_pair_values[] =
/*Map glyph_ids to kern right classes*/
static uint8_t kern_right_class_mapping[] =
{
-4, -10, -10, -11, -5, -6, -6, -6,
-6, -2, -2, -6, -2, -6, -7, 1,
-10, -10, -11, -5, -6, -6, -6, -6,
-2, -2, -6, -2, -6, -7, 1, 2,
2, 2, -16, -16, -16, -16, -21, -11,
-11, -6, -1, -1, -1, -1, -12, -2,
-8, -6, -9, -1, -2, -1, -5, -3,
-5, 1, -3, -2, -5, -2, -3, -1,
-2, -10, -10, -2, -3, -2, -2, -4,
-2, 2, -2, -2, -2, -2, -2, -2,
-2, -2, -2, -2, -2, -22, -22, -16,
-25, 2, -3, -2, -2, -2, -2, -2,
-2, -2, -2, -2, -2, 2, -3, 2,
-3, 2, -3, 2, -3, -2, -6, -3,
-3, -3, -3, -2, -2, -2, -2, -2,
-2, -3, -2, -2, -2, -4, -6, -4,
-31, -31, 2, -6, -6, -6, -6, -26,
-5, -16, -13, -22, -4, -12, -9, -12,
2, -3, 2, -3, 2, -3, 2, -3,
-10, -10, -2, -3, -2, -2, -4, -2,
-30, -30, -13, -19, -3, -2, -1, -1,
-1, -1, -1, -1, -1, 1, 1, 1,
-4, -3, -2, -3, -7, -2, -4, -4,
-20, -22, -20, -7, -3, -3, -22, -3,
-3, -1, 2, 2, 1, 2, -11, -9,
-9, -9, -9, -10, -10, -9, -10, -9,
-7, -11, -9, -7, -5, -7, -7, -6,
-2, 2, -21, -3, -21, -7, -1, -1,
-1, -1, 2, -4, -4, -4, -4, -4,
-4, -4, -3, -3, -1, -1, 2, 1,
-12, -6, -12, -4, 1, 1, -3, -3,
-3, -3, -3, -3, -3, -2, -2, 1,
-4, -2, -2, -2, -2, 1, -2, -2,
-2, -2, -2, -2, -2, -3, -3, -3,
2, -5, -20, -5, -20, -9, -3, -3,
-9, -3, -3, -1, 2, -9, 2, 2,
1, 2, 2, -7, -6, -6, -6, -2,
-6, -4, -4, -6, -4, -6, -4, -5,
-2, -4, -2, -2, -2, -3, 2, 1,
-2, -2, -2, -2, -2, -2, -2, -2,
-2, -2, -2, -3, -3, -3, -2, -2,
-6, -6, -1, -1, -3, -3, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1,
2, 2, 2, 2, -2, -2, -2, -2,
-2, 2, -10, -10, -2, -2, -2, -2,
-2, -10, -10, -10, -10, -13, -13, -1,
-2, -1, -1, -3, -3, -1, -1, -1,
-1, 2, 2, -12, -12, -4, -2, -2,
-2, 1, -2, -2, -2, 5, 2, 2,
2, -2, 1, 1, -10, -10, -1, -1,
-1, -1, 1, -1, -1, -1, -12, -12,
-2, -2, -2, -2, -2, -2, 1, 1,
-10, -10, -1, -1, -1, -1, 1, -1,
-1, -1, -1, -1, -1, -1, -1, -1,
-2, -2
0, 1, 0, 2, 0, 0, 0, 3,
2, 0, 4, 5, 0, 6, 7, 6,
8, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
9, 0, 10, 0, 11, 0, 0, 0,
11, 0, 0, 12, 0, 0, 0, 0,
11, 0, 11, 0, 13, 14, 15, 16,
17, 18, 19, 20, 0, 0, 21, 0,
0, 0, 22, 0, 23, 23, 23, 24,
23, 0, 0, 0, 0, 0, 25, 25,
26, 25, 23, 27, 28, 29, 30, 31,
32, 33, 31, 34, 0, 0, 35, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0
};
/*Collect the kern pair's data in one place*/
static lv_font_fmt_txt_kern_pair_t kern_pairs =
/*Kern values between classes*/
static uint8_t kern_class_values[] =
{
.glyph_ids = kern_pair_glyph_ids,
.values = kern_pair_values,
.pair_cnt = 434,
.glyph_ids_size = 0
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, -4, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, -10, 0, 0, 0,
0, 0, 0, 0, -11, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
-5, -6, 0, -2, -6, 0, -7, 0,
0, 0, 1, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 2, 2, 0,
2, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, -16, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, -21, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
-11, 0, 0, 0, 0, 0, 0, -6,
0, -1, 0, 0, -12, -2, -8, -6,
0, -9, 0, 0, 0, 0, 0, 0,
-1, 0, 0, -2, -1, -5, -3, 0,
1, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, -3,
0, -2, 0, 0, -5, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
-2, 0, 0, 0, 0, 0, 0, 0,
0, 0, -3, 0, 0, 0, 0, 0,
0, -1, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, -2,
0, 0, 0, 0, 0, -10, 0, 0,
0, -2, 0, 0, 0, -3, 0, -2,
0, -2, -4, -2, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
2, 0, 0, 0, 0, 0, 0, 0,
0, -2, -2, 0, -2, 0, 0, 0,
-2, -2, -2, 0, 0, 0, 0, 0,
0, 0, 0, -22, 0, 0, 0, -16,
0, -25, 0, 2, 0, 0, 0, 0,
0, 0, 0, -3, -2, 0, 0, -2,
-2, 0, 0, -2, -2, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 2, 0, 0, 0, -3, 0,
0, 0, 2, -3, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, -2, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, -6, 0, 0,
0, -3, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, -2, 0, -2,
-3, 0, 0, 0, -2, -4, -6, 0,
0, 0, 0, -31, 0, 0, 0, 0,
0, 0, 0, 2, -6, 0, 0, -26,
-5, -16, -13, 0, -22, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, -4,
-12, -9, 0, 0, 0, 0, 0, 0,
0, 0, -30, 0, 0, 0, -13, 0,
-19, 0, 0, 0, 0, 0, -3, 0,
-2, 0, -1, -1, 0, 0, -1, 0,
0, 1, 0, 1, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, -4, 0, -3,
-2, 0, -3, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
-7, 0, -2, 0, 0, -4, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, -4, 0,
0, 0, 0, -20, -22, 0, 0, -7,
-3, -22, -1, 2, 0, 2, 1, 0,
2, 0, 0, -11, -9, 0, -10, -9,
-7, -11, 0, -9, -7, -5, -7, -6,
0, 0, 0, 0, 2, 0, -21, -3,
0, 0, -7, -1, 0, 0, 0, 0,
0, 0, 0, 0, 0, 2, -4, -4,
0, 0, -4, -3, 0, 0, -3, -1,
0, 0, 0, 2, 0, 0, 0, 1,
0, -12, -6, 0, 0, -4, 0, 0,
0, 1, 0, 0, 0, 0, 0, 0,
1, -3, -3, 0, 0, -3, -2, 0,
0, -2, 0, 0, 0, 0, 1, 0,
0, 0, 0, 0, 0, -4, 0, 0,
0, -2, 0, 0, 0, 0, 1, 0,
0, 0, 0, 0, 0, -2, 0, 0,
-2, 0, 0, 0, -2, -3, 0, 0,
0, 0, 0, 0, -3, 2, -5, -20,
-5, 0, 0, -9, -3, -9, -1, 2,
-9, 2, 2, 1, 2, 0, 2, -7,
-6, -2, -4, -6, -4, -5, -2, -4,
-2, 0, -2, -3, 2, 0, 0, 0,
0, 0, 0, 0, 0, 0, 1, -2,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, -2, 0, 0, -2, 0,
0, 0, -2, -3, -3, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, -2, 0, 0, -2, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, -6, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, -1, 0, 0, 0, 0, 0, -3,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, -1, 0, -1, -1,
0, 0, -1, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, -1, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, -1, 0, 0, 0, 0, 0,
2, 0, 2, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 2, 0, -2, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 2, 0, -10, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, -2, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, -13, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, -1, 0,
-2, -1, 0, 0, 2, 0, 0, 0,
-12, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
-4, -2, 1, 0, -2, 0, 0, 5,
0, 2, 2, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, -2,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 1, 0, 0, 0, -10, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, -1, -1,
1, 0, -1, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, -12, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, -2, 0, 0,
-2, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
-1, 0, 0, -1, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
-2, 0, 0, -2, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0
};
/*Collect the kern class' data in one place*/
static lv_font_fmt_txt_kern_classes_t kern_classes =
{
.class_pair_values = kern_class_values,
.left_class_mapping = kern_left_class_mapping,
.right_class_mapping = kern_right_class_mapping,
.left_class_cnt = 40,
.right_class_cnt = 35,
};
/*--------------------
@@ -1749,8 +1479,8 @@ static lv_font_fmt_txt_dsc_t font_dsc = {
.bpp = 4,
.kern_scale = 16,
.kern_dsc = &kern_pairs,
.kern_classes = 0
.kern_dsc = &kern_classes,
.kern_classes = 1
};

View File

@@ -3,7 +3,7 @@
/*******************************************************************************
* Size: 16 px
* Bpp: 4
* Opts: --no-compress --no-prefilter --bpp 4 --size 16 --font ./Roboto-Regular.woff -r 0x20-0x7F --font FontAwesome.ttf -r 61441,61448,61451,61452,61453,61457,61459,61460,61461,61465,61468,61473,61478,61479,61480,61502,61504,61512,61515,61516,61517,61521,61522,61523,61524,61543,61544,61553,61556,61559,61560,61561,61563,61587,61589,61636,61637,61639,61671,61683,61724,61732,61787,61931,62016,62017,62018,62019,62020,62099 --format lvgl -o lv_font_roboto_16.c
* Opts: --no-compress --no-prefilter --bpp 4 --size 16 --font ./Roboto-Regular.woff -r 0x20-0x7F --font FontAwesome.ttf -r 61441,61448,61451,61452,61453,61457,61459,61460,61461,61465,61468,61473,61478,61479,61480,61502,61504,61512,61515,61516,61517,61521,61522,61523,61524,61543,61544,61553,61556,61559,61560,61561,61563,61587,61589,61636,61637,61639,61671,61683,61724,61732,61787,61931,62016,62017,62018,62019,62020,62099 --format lvgl -o lv_font_roboto_16.c --force-fast-kern-format
******************************************************************************/
#ifndef LV_FONT_ROBOTO_16
@@ -1689,513 +1689,243 @@ static const lv_font_fmt_txt_cmap_t cmaps[] =
*----------------*/
/*Pair left and right glyphs for kerning*/
static const uint8_t kern_pair_glyph_ids[] =
/*Map glyph_ids to kern left classes*/
static uint8_t kern_left_class_mapping[] =
{
1, 53,
3, 3,
3, 8,
3, 34,
3, 66,
3, 68,
3, 69,
3, 70,
3, 72,
3, 78,
3, 79,
3, 80,
3, 81,
3, 82,
3, 84,
3, 88,
8, 3,
8, 8,
8, 34,
8, 66,
8, 68,
8, 69,
8, 70,
8, 72,
8, 78,
8, 79,
8, 80,
8, 81,
8, 82,
8, 84,
8, 88,
9, 55,
9, 56,
9, 58,
13, 3,
13, 8,
15, 3,
15, 8,
16, 16,
34, 3,
34, 8,
34, 32,
34, 36,
34, 40,
34, 48,
34, 50,
34, 53,
34, 54,
34, 55,
34, 56,
34, 58,
34, 80,
34, 85,
34, 86,
34, 87,
34, 88,
34, 90,
34, 91,
35, 53,
35, 55,
35, 58,
36, 10,
36, 53,
36, 62,
36, 94,
37, 13,
37, 15,
37, 34,
37, 53,
37, 55,
37, 57,
37, 58,
37, 59,
38, 53,
38, 68,
38, 69,
38, 70,
38, 71,
38, 72,
38, 80,
38, 82,
38, 86,
38, 87,
38, 88,
38, 90,
39, 13,
39, 15,
39, 34,
39, 43,
39, 53,
39, 66,
39, 68,
39, 69,
39, 70,
39, 72,
39, 80,
39, 82,
39, 83,
39, 86,
39, 87,
39, 90,
41, 34,
41, 53,
41, 57,
41, 58,
42, 34,
42, 53,
42, 57,
42, 58,
43, 34,
44, 14,
44, 36,
44, 40,
44, 48,
44, 50,
44, 68,
44, 69,
44, 70,
44, 72,
44, 78,
44, 79,
44, 80,
44, 81,
44, 82,
44, 86,
44, 87,
44, 88,
44, 90,
45, 3,
45, 8,
45, 34,
45, 36,
45, 40,
45, 48,
45, 50,
45, 53,
45, 54,
45, 55,
45, 56,
45, 58,
45, 86,
45, 87,
45, 88,
45, 90,
46, 34,
46, 53,
46, 57,
46, 58,
47, 34,
47, 53,
47, 57,
47, 58,
48, 13,
48, 15,
48, 34,
48, 53,
48, 55,
48, 57,
48, 58,
48, 59,
49, 13,
49, 15,
49, 34,
49, 43,
49, 57,
49, 59,
49, 66,
49, 68,
49, 69,
49, 70,
49, 72,
49, 80,
49, 82,
49, 85,
49, 87,
49, 90,
50, 53,
50, 55,
50, 56,
50, 58,
51, 53,
51, 55,
51, 58,
53, 1,
53, 13,
53, 14,
53, 15,
53, 34,
53, 36,
53, 40,
53, 43,
53, 48,
53, 50,
53, 52,
53, 53,
53, 55,
53, 56,
53, 58,
53, 66,
53, 68,
53, 69,
53, 70,
53, 72,
53, 78,
53, 79,
53, 80,
53, 81,
53, 82,
53, 83,
53, 84,
53, 86,
53, 87,
53, 88,
53, 89,
53, 90,
53, 91,
54, 34,
55, 10,
55, 13,
55, 14,
55, 15,
55, 34,
55, 36,
55, 40,
55, 48,
55, 50,
55, 62,
55, 66,
55, 68,
55, 69,
55, 70,
55, 72,
55, 80,
55, 82,
55, 83,
55, 86,
55, 87,
55, 90,
55, 94,
56, 10,
56, 13,
56, 14,
56, 15,
56, 34,
56, 53,
56, 62,
56, 66,
56, 68,
56, 69,
56, 70,
56, 72,
56, 80,
56, 82,
56, 83,
56, 86,
56, 94,
57, 14,
57, 36,
57, 40,
57, 48,
57, 50,
57, 55,
57, 68,
57, 69,
57, 70,
57, 72,
57, 80,
57, 82,
57, 86,
57, 87,
57, 90,
58, 7,
58, 10,
58, 11,
58, 13,
58, 14,
58, 15,
58, 34,
58, 36,
58, 40,
58, 43,
58, 48,
58, 50,
58, 52,
58, 53,
58, 54,
58, 55,
58, 56,
58, 57,
58, 58,
58, 62,
58, 66,
58, 68,
58, 69,
58, 70,
58, 71,
58, 72,
58, 78,
58, 79,
58, 80,
58, 81,
58, 82,
58, 83,
58, 84,
58, 85,
58, 86,
58, 87,
58, 89,
58, 90,
58, 91,
58, 94,
59, 34,
59, 36,
59, 40,
59, 48,
59, 50,
59, 68,
59, 69,
59, 70,
59, 72,
59, 80,
59, 82,
59, 86,
59, 87,
59, 88,
59, 90,
60, 43,
60, 54,
66, 3,
66, 8,
66, 87,
66, 90,
67, 3,
67, 8,
67, 87,
67, 89,
67, 90,
67, 91,
68, 3,
68, 8,
70, 3,
70, 8,
70, 87,
70, 90,
71, 3,
71, 8,
71, 10,
71, 62,
71, 68,
71, 69,
71, 70,
71, 72,
71, 82,
71, 94,
73, 3,
73, 8,
76, 68,
76, 69,
76, 70,
76, 72,
76, 82,
78, 3,
78, 8,
79, 3,
79, 8,
80, 3,
80, 8,
80, 87,
80, 89,
80, 90,
80, 91,
81, 3,
81, 8,
81, 87,
81, 89,
81, 90,
81, 91,
83, 3,
83, 8,
83, 13,
83, 15,
83, 66,
83, 68,
83, 69,
83, 70,
83, 71,
83, 72,
83, 80,
83, 82,
83, 85,
83, 87,
83, 88,
83, 90,
85, 80,
87, 3,
87, 8,
87, 13,
87, 15,
87, 66,
87, 68,
87, 69,
87, 70,
87, 71,
87, 72,
87, 80,
87, 82,
88, 13,
88, 15,
89, 68,
89, 69,
89, 70,
89, 72,
89, 80,
89, 82,
90, 3,
90, 8,
90, 13,
90, 15,
90, 66,
90, 68,
90, 69,
90, 70,
90, 71,
90, 72,
90, 80,
90, 82,
91, 68,
91, 69,
91, 70,
91, 72,
91, 80,
91, 82,
92, 43,
92, 54
0, 1, 0, 2, 0, 0, 0, 0,
2, 3, 0, 0, 0, 4, 0, 4,
5, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 6, 7, 8, 9, 10, 11,
0, 12, 12, 13, 14, 15, 12, 12,
9, 16, 17, 18, 0, 19, 13, 20,
21, 22, 23, 24, 25, 0, 0, 0,
0, 0, 26, 27, 28, 0, 29, 30,
0, 31, 0, 0, 32, 0, 31, 31,
33, 27, 0, 34, 0, 35, 0, 36,
37, 38, 36, 39, 40, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0
};
/* Kerning between the respective left and right glyphs
* 4.4 format which needs to scaled with `kern_scale`*/
static int8_t kern_pair_values[] =
/*Map glyph_ids to kern right classes*/
static uint8_t kern_right_class_mapping[] =
{
-5, -13, -13, -15, -6, -7, -7, -7,
-7, -2, -2, -8, -2, -7, -10, 1,
-13, -13, -15, -6, -7, -7, -7, -7,
-2, -2, -8, -2, -7, -10, 1, 3,
2, 3, -21, -21, -21, -21, -28, -15,
-15, -8, -1, -1, -1, -1, -16, -2,
-11, -9, -12, -1, -2, -1, -6, -4,
-6, 2, -3, -3, -7, -3, -4, -1,
-2, -13, -13, -3, -3, -3, -3, -5,
-3, 3, -2, -2, -2, -2, -2, -2,
-2, -2, -3, -3, -3, -29, -29, -21,
-33, 3, -4, -3, -3, -3, -3, -3,
-3, -3, -3, -3, -3, 2, -4, 2,
-3, 2, -4, 2, -3, -3, -8, -4,
-4, -4, -4, -3, -3, -3, -3, -3,
-3, -3, -3, -3, -3, -5, -8, -5,
-42, -42, 2, -8, -8, -8, -8, -34,
-7, -22, -18, -30, -5, -17, -11, -17,
2, -4, 2, -3, 2, -4, 2, -3,
-13, -13, -3, -3, -3, -3, -5, -3,
-40, -40, -17, -25, -4, -3, -1, -2,
-2, -2, -2, -2, -2, 2, 2, 2,
-5, -3, -2, -4, -10, -2, -6, -5,
-27, -29, -27, -10, -3, -3, -30, -3,
-3, -2, 2, 2, 2, 2, -14, -12,
-12, -12, -12, -14, -14, -12, -14, -12,
-9, -14, -12, -9, -7, -10, -9, -7,
-3, 3, -28, -5, -28, -9, -2, -2,
-2, -2, 2, -6, -5, -5, -5, -5,
-6, -5, -4, -3, -1, -1, 2, 2,
-15, -7, -15, -5, 2, 2, -4, -4,
-4, -4, -4, -4, -4, -3, -2, 2,
-6, -3, -3, -3, -3, 2, -3, -3,
-3, -3, -3, -3, -3, -4, -4, -4,
3, -6, -26, -6, -26, -12, -4, -4,
-12, -4, -4, -2, 2, -12, 2, 2,
2, 2, 2, -9, -8, -8, -8, -3,
-8, -5, -5, -8, -5, -8, -5, -7,
-3, -5, -2, -3, -2, -4, 2, 2,
-3, -3, -3, -3, -3, -3, -3, -3,
-3, -3, -2, -3, -3, -3, -2, -2,
-8, -8, -2, -2, -4, -4, -1, -2,
-1, -2, -1, -1, -2, -2, -2, -2,
2, 2, 3, 2, -3, -3, -3, -3,
-3, 2, -13, -13, -2, -2, -2, -2,
-2, -13, -13, -13, -13, -17, -17, -2,
-3, -2, -2, -4, -4, -1, -2, -1,
-2, 2, 2, -15, -15, -5, -2, -2,
-2, 2, -2, -2, -2, 6, 2, 2,
2, -2, 2, 2, -13, -13, -2, -2,
-2, -2, 2, -2, -2, -2, -15, -15,
-2, -2, -2, -2, -2, -2, 2, 2,
-13, -13, -2, -2, -2, -2, 2, -2,
-2, -2, -2, -2, -2, -2, -2, -2,
-2, -2
0, 1, 0, 2, 0, 0, 0, 3,
2, 0, 4, 5, 0, 6, 7, 6,
8, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
9, 0, 10, 0, 11, 0, 0, 0,
11, 0, 0, 12, 0, 0, 0, 0,
11, 0, 11, 0, 13, 14, 15, 16,
17, 18, 19, 20, 0, 0, 21, 0,
0, 0, 22, 0, 23, 23, 23, 24,
23, 0, 0, 0, 0, 0, 25, 25,
26, 25, 23, 27, 28, 29, 30, 31,
32, 33, 31, 34, 0, 0, 35, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0
};
/*Collect the kern pair's data in one place*/
static lv_font_fmt_txt_kern_pair_t kern_pairs =
/*Kern values between classes*/
static uint8_t kern_class_values[] =
{
.glyph_ids = kern_pair_glyph_ids,
.values = kern_pair_values,
.pair_cnt = 434,
.glyph_ids_size = 0
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, -5, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, -13, 0, 0, 0,
0, 0, 0, 0, -15, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
-6, -7, 0, -2, -8, 0, -10, 0,
0, 0, 1, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 3, 2, 0,
3, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, -21, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, -28, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
-15, 0, 0, 0, 0, 0, 0, -8,
0, -1, 0, 0, -16, -2, -11, -9,
0, -12, 0, 0, 0, 0, 0, 0,
-1, 0, 0, -2, -1, -6, -4, 0,
2, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, -3,
0, -3, 0, 0, -7, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
-3, 0, 0, 0, 0, 0, 0, 0,
0, 0, -4, 0, 0, 0, 0, 0,
0, -1, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, -2,
0, 0, 0, 0, 0, -13, 0, 0,
0, -3, 0, 0, 0, -3, 0, -3,
0, -3, -5, -3, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
3, 0, 0, 0, 0, 0, 0, 0,
0, -2, -2, 0, -2, 0, 0, 0,
-2, -3, -3, 0, 0, 0, 0, 0,
0, 0, 0, -29, 0, 0, 0, -21,
0, -33, 0, 3, 0, 0, 0, 0,
0, 0, 0, -4, -3, 0, 0, -3,
-3, 0, 0, -3, -3, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 2, 0, 0, 0, -4, 0,
0, 0, 2, -3, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, -3, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, -8, 0, 0,
0, -4, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, -3, 0, -3,
-3, 0, 0, 0, -3, -5, -8, 0,
0, 0, 0, -42, 0, 0, 0, 0,
0, 0, 0, 2, -8, 0, 0, -34,
-7, -22, -18, 0, -30, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, -5,
-17, -11, 0, 0, 0, 0, 0, 0,
0, 0, -40, 0, 0, 0, -17, 0,
-25, 0, 0, 0, 0, 0, -4, 0,
-3, 0, -1, -2, 0, 0, -2, 0,
0, 2, 0, 2, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, -5, 0, -3,
-2, 0, -4, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
-10, 0, -2, 0, 0, -6, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, -5, 0,
0, 0, 0, -27, -29, 0, 0, -10,
-3, -30, -2, 2, 0, 2, 2, 0,
2, 0, 0, -14, -12, 0, -14, -12,
-9, -14, 0, -12, -9, -7, -10, -7,
0, 0, 0, 0, 3, 0, -28, -5,
0, 0, -9, -2, 0, 0, 0, 0,
0, 0, 0, 0, 0, 2, -6, -5,
0, 0, -6, -4, 0, 0, -3, -1,
0, 0, 0, 2, 0, 0, 0, 2,
0, -15, -7, 0, 0, -5, 0, 0,
0, 2, 0, 0, 0, 0, 0, 0,
2, -4, -4, 0, 0, -4, -3, 0,
0, -2, 0, 0, 0, 0, 2, 0,
0, 0, 0, 0, 0, -6, 0, 0,
0, -3, 0, 0, 0, 0, 2, 0,
0, 0, 0, 0, 0, -3, 0, 0,
-3, 0, 0, 0, -3, -4, 0, 0,
0, 0, 0, 0, -4, 3, -6, -26,
-6, 0, 0, -12, -4, -12, -2, 2,
-12, 2, 2, 2, 2, 0, 2, -9,
-8, -3, -5, -8, -5, -7, -3, -5,
-2, 0, -3, -4, 2, 0, 0, 0,
0, 0, 0, 0, 0, 0, 2, -3,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, -3, 0, 0, -3, 0,
0, 0, -2, -3, -3, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, -2, 0, 0, -2, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, -8, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, -2, 0, 0, 0, 0, 0, -4,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, -1, 0, -2, -2,
0, 0, -1, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, -2, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, -2, 0, 0, 0, 0, 0,
2, 0, 3, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 2, 0, -3, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 2, 0, -13, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, -2, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, -17, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, -2, 0,
-3, -2, 0, 0, 2, 0, 0, 0,
-15, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
-5, -2, 2, 0, -2, 0, 0, 6,
0, 2, 2, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, -2,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 2, 0, 0, 0, -13, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, -2, -2,
2, 0, -2, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, -15, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, -2, 0, 0,
-2, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
-2, 0, 0, -2, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
-2, 0, 0, -2, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0
};
/*Collect the kern class' data in one place*/
static lv_font_fmt_txt_kern_classes_t kern_classes =
{
.class_pair_values = kern_class_values,
.left_class_mapping = kern_left_class_mapping,
.right_class_mapping = kern_right_class_mapping,
.left_class_cnt = 40,
.right_class_cnt = 35,
};
/*--------------------
@@ -2211,8 +1941,8 @@ static lv_font_fmt_txt_dsc_t font_dsc = {
.bpp = 4,
.kern_scale = 16,
.kern_dsc = &kern_pairs,
.kern_classes = 0
.kern_dsc = &kern_classes,
.kern_classes = 1
};

View File

@@ -3,7 +3,7 @@
/*******************************************************************************
* Size: 22 px
* Bpp: 4
* Opts: --no-compress --no-prefilter --bpp 4 --size 22 --font ./Roboto-Regular.woff -r 0x20-0x7F --font FontAwesome.ttf -r 61441,61448,61451,61452,61453,61457,61459,61460,61461,61465,61468,61473,61478,61479,61480,61502,61504,61512,61515,61516,61517,61521,61522,61523,61524,61543,61544,61553,61556,61559,61560,61561,61563,61587,61589,61636,61637,61639,61671,61683,61724,61732,61787,61931,62016,62017,62018,62019,62020,62099 --format lvgl -o lv_font_roboto_22.c
* Opts: --no-compress --no-prefilter --bpp 4 --size 22 --font ./Roboto-Regular.woff -r 0x20-0x7F --font FontAwesome.ttf -r 61441,61448,61451,61452,61453,61457,61459,61460,61461,61465,61468,61473,61478,61479,61480,61502,61504,61512,61515,61516,61517,61521,61522,61523,61524,61543,61544,61553,61556,61559,61560,61561,61563,61587,61589,61636,61637,61639,61671,61683,61724,61732,61787,61931,62016,62017,62018,62019,62020,62099 --format lvgl -o lv_font_roboto_22.c --force-fast-kern-format
******************************************************************************/
#ifndef LV_FONT_ROBOTO_22
@@ -2600,513 +2600,243 @@ static const lv_font_fmt_txt_cmap_t cmaps[] =
*----------------*/
/*Pair left and right glyphs for kerning*/
static const uint8_t kern_pair_glyph_ids[] =
/*Map glyph_ids to kern left classes*/
static uint8_t kern_left_class_mapping[] =
{
1, 53,
3, 3,
3, 8,
3, 34,
3, 66,
3, 68,
3, 69,
3, 70,
3, 72,
3, 78,
3, 79,
3, 80,
3, 81,
3, 82,
3, 84,
3, 88,
8, 3,
8, 8,
8, 34,
8, 66,
8, 68,
8, 69,
8, 70,
8, 72,
8, 78,
8, 79,
8, 80,
8, 81,
8, 82,
8, 84,
8, 88,
9, 55,
9, 56,
9, 58,
13, 3,
13, 8,
15, 3,
15, 8,
16, 16,
34, 3,
34, 8,
34, 32,
34, 36,
34, 40,
34, 48,
34, 50,
34, 53,
34, 54,
34, 55,
34, 56,
34, 58,
34, 80,
34, 85,
34, 86,
34, 87,
34, 88,
34, 90,
34, 91,
35, 53,
35, 55,
35, 58,
36, 10,
36, 53,
36, 62,
36, 94,
37, 13,
37, 15,
37, 34,
37, 53,
37, 55,
37, 57,
37, 58,
37, 59,
38, 53,
38, 68,
38, 69,
38, 70,
38, 71,
38, 72,
38, 80,
38, 82,
38, 86,
38, 87,
38, 88,
38, 90,
39, 13,
39, 15,
39, 34,
39, 43,
39, 53,
39, 66,
39, 68,
39, 69,
39, 70,
39, 72,
39, 80,
39, 82,
39, 83,
39, 86,
39, 87,
39, 90,
41, 34,
41, 53,
41, 57,
41, 58,
42, 34,
42, 53,
42, 57,
42, 58,
43, 34,
44, 14,
44, 36,
44, 40,
44, 48,
44, 50,
44, 68,
44, 69,
44, 70,
44, 72,
44, 78,
44, 79,
44, 80,
44, 81,
44, 82,
44, 86,
44, 87,
44, 88,
44, 90,
45, 3,
45, 8,
45, 34,
45, 36,
45, 40,
45, 48,
45, 50,
45, 53,
45, 54,
45, 55,
45, 56,
45, 58,
45, 86,
45, 87,
45, 88,
45, 90,
46, 34,
46, 53,
46, 57,
46, 58,
47, 34,
47, 53,
47, 57,
47, 58,
48, 13,
48, 15,
48, 34,
48, 53,
48, 55,
48, 57,
48, 58,
48, 59,
49, 13,
49, 15,
49, 34,
49, 43,
49, 57,
49, 59,
49, 66,
49, 68,
49, 69,
49, 70,
49, 72,
49, 80,
49, 82,
49, 85,
49, 87,
49, 90,
50, 53,
50, 55,
50, 56,
50, 58,
51, 53,
51, 55,
51, 58,
53, 1,
53, 13,
53, 14,
53, 15,
53, 34,
53, 36,
53, 40,
53, 43,
53, 48,
53, 50,
53, 52,
53, 53,
53, 55,
53, 56,
53, 58,
53, 66,
53, 68,
53, 69,
53, 70,
53, 72,
53, 78,
53, 79,
53, 80,
53, 81,
53, 82,
53, 83,
53, 84,
53, 86,
53, 87,
53, 88,
53, 89,
53, 90,
53, 91,
54, 34,
55, 10,
55, 13,
55, 14,
55, 15,
55, 34,
55, 36,
55, 40,
55, 48,
55, 50,
55, 62,
55, 66,
55, 68,
55, 69,
55, 70,
55, 72,
55, 80,
55, 82,
55, 83,
55, 86,
55, 87,
55, 90,
55, 94,
56, 10,
56, 13,
56, 14,
56, 15,
56, 34,
56, 53,
56, 62,
56, 66,
56, 68,
56, 69,
56, 70,
56, 72,
56, 80,
56, 82,
56, 83,
56, 86,
56, 94,
57, 14,
57, 36,
57, 40,
57, 48,
57, 50,
57, 55,
57, 68,
57, 69,
57, 70,
57, 72,
57, 80,
57, 82,
57, 86,
57, 87,
57, 90,
58, 7,
58, 10,
58, 11,
58, 13,
58, 14,
58, 15,
58, 34,
58, 36,
58, 40,
58, 43,
58, 48,
58, 50,
58, 52,
58, 53,
58, 54,
58, 55,
58, 56,
58, 57,
58, 58,
58, 62,
58, 66,
58, 68,
58, 69,
58, 70,
58, 71,
58, 72,
58, 78,
58, 79,
58, 80,
58, 81,
58, 82,
58, 83,
58, 84,
58, 85,
58, 86,
58, 87,
58, 89,
58, 90,
58, 91,
58, 94,
59, 34,
59, 36,
59, 40,
59, 48,
59, 50,
59, 68,
59, 69,
59, 70,
59, 72,
59, 80,
59, 82,
59, 86,
59, 87,
59, 88,
59, 90,
60, 43,
60, 54,
66, 3,
66, 8,
66, 87,
66, 90,
67, 3,
67, 8,
67, 87,
67, 89,
67, 90,
67, 91,
68, 3,
68, 8,
70, 3,
70, 8,
70, 87,
70, 90,
71, 3,
71, 8,
71, 10,
71, 62,
71, 68,
71, 69,
71, 70,
71, 72,
71, 82,
71, 94,
73, 3,
73, 8,
76, 68,
76, 69,
76, 70,
76, 72,
76, 82,
78, 3,
78, 8,
79, 3,
79, 8,
80, 3,
80, 8,
80, 87,
80, 89,
80, 90,
80, 91,
81, 3,
81, 8,
81, 87,
81, 89,
81, 90,
81, 91,
83, 3,
83, 8,
83, 13,
83, 15,
83, 66,
83, 68,
83, 69,
83, 70,
83, 71,
83, 72,
83, 80,
83, 82,
83, 85,
83, 87,
83, 88,
83, 90,
85, 80,
87, 3,
87, 8,
87, 13,
87, 15,
87, 66,
87, 68,
87, 69,
87, 70,
87, 71,
87, 72,
87, 80,
87, 82,
88, 13,
88, 15,
89, 68,
89, 69,
89, 70,
89, 72,
89, 80,
89, 82,
90, 3,
90, 8,
90, 13,
90, 15,
90, 66,
90, 68,
90, 69,
90, 70,
90, 71,
90, 72,
90, 80,
90, 82,
91, 68,
91, 69,
91, 70,
91, 72,
91, 80,
91, 82,
92, 43,
92, 54
0, 1, 0, 2, 0, 0, 0, 0,
2, 3, 0, 0, 0, 4, 0, 4,
5, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 6, 7, 8, 9, 10, 11,
0, 12, 12, 13, 14, 15, 12, 12,
9, 16, 17, 18, 0, 19, 13, 20,
21, 22, 23, 24, 25, 0, 0, 0,
0, 0, 26, 27, 28, 0, 29, 30,
0, 31, 0, 0, 32, 0, 31, 31,
33, 27, 0, 34, 0, 35, 0, 36,
37, 38, 36, 39, 40, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0
};
/* Kerning between the respective left and right glyphs
* 4.4 format which needs to scaled with `kern_scale`*/
static int8_t kern_pair_values[] =
/*Map glyph_ids to kern right classes*/
static uint8_t kern_right_class_mapping[] =
{
-7, -18, -18, -21, -9, -10, -10, -10,
-10, -3, -3, -10, -3, -10, -14, 2,
-18, -18, -21, -9, -10, -10, -10, -10,
-3, -3, -10, -3, -10, -14, 2, 3,
3, 4, -29, -29, -29, -29, -38, -21,
-21, -10, -2, -2, -2, -2, -22, -3,
-15, -12, -16, -2, -3, -2, -9, -6,
-9, 2, -5, -4, -9, -4, -5, -2,
-3, -18, -18, -4, -5, -4, -4, -7,
-4, 3, -3, -3, -3, -3, -3, -3,
-3, -3, -4, -4, -4, -40, -40, -29,
-45, 3, -6, -4, -4, -4, -4, -4,
-4, -4, -4, -4, -4, 3, -5, 3,
-5, 3, -5, 3, -5, -4, -11, -5,
-5, -5, -5, -4, -4, -4, -4, -4,
-4, -5, -4, -4, -4, -7, -11, -7,
-58, -58, 3, -11, -11, -11, -11, -47,
-9, -30, -25, -41, -8, -23, -16, -23,
3, -5, 3, -5, 3, -5, 3, -5,
-18, -18, -4, -5, -4, -4, -7, -4,
-56, -56, -24, -34, -5, -4, -2, -2,
-2, -2, -2, -2, -2, 2, 3, 3,
-7, -5, -3, -6, -14, -3, -8, -7,
-37, -40, -37, -14, -5, -5, -41, -5,
-5, -3, 3, 3, 3, 3, -19, -17,
-17, -17, -17, -19, -19, -17, -19, -17,
-13, -20, -16, -12, -10, -13, -12, -10,
-4, 3, -39, -6, -39, -13, -2, -2,
-2, -2, 3, -8, -8, -8, -8, -8,
-8, -8, -5, -5, -2, -2, 3, 3,
-21, -10, -21, -7, 2, 2, -6, -5,
-5, -5, -5, -5, -5, -4, -3, 2,
-8, -4, -4, -4, -4, 2, -4, -4,
-4, -4, -4, -4, -4, -5, -5, -5,
3, -8, -36, -9, -36, -16, -5, -5,
-16, -5, -5, -3, 3, -16, 3, 3,
2, 3, 3, -13, -11, -11, -11, -4,
-11, -7, -7, -11, -7, -11, -7, -10,
-4, -7, -3, -4, -3, -5, 3, 2,
-4, -4, -4, -4, -4, -4, -4, -4,
-4, -4, -3, -5, -5, -5, -3, -3,
-12, -12, -3, -3, -5, -5, -2, -3,
-2, -3, -2, -2, -2, -2, -2, -2,
3, 3, 3, 3, -4, -4, -4, -4,
-4, 3, -18, -18, -3, -3, -3, -3,
-3, -18, -18, -18, -18, -23, -23, -3,
-4, -3, -3, -5, -5, -2, -3, -2,
-3, 3, 3, -21, -21, -7, -3, -3,
-3, 3, -3, -3, -3, 9, 3, 3,
3, -3, 3, 3, -18, -18, -3, -2,
-2, -2, 2, -2, -3, -2, -21, -21,
-3, -3, -3, -3, -3, -3, 3, 3,
-18, -18, -3, -2, -2, -2, 2, -2,
-3, -2, -3, -3, -3, -3, -3, -3,
-3, -3
0, 1, 0, 2, 0, 0, 0, 3,
2, 0, 4, 5, 0, 6, 7, 6,
8, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
9, 0, 10, 0, 11, 0, 0, 0,
11, 0, 0, 12, 0, 0, 0, 0,
11, 0, 11, 0, 13, 14, 15, 16,
17, 18, 19, 20, 0, 0, 21, 0,
0, 0, 22, 0, 23, 23, 23, 24,
23, 0, 0, 0, 0, 0, 25, 25,
26, 25, 23, 27, 28, 29, 30, 31,
32, 33, 31, 34, 0, 0, 35, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0
};
/*Collect the kern pair's data in one place*/
static lv_font_fmt_txt_kern_pair_t kern_pairs =
/*Kern values between classes*/
static uint8_t kern_class_values[] =
{
.glyph_ids = kern_pair_glyph_ids,
.values = kern_pair_values,
.pair_cnt = 434,
.glyph_ids_size = 0
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, -7, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, -18, 0, 0, 0,
0, 0, 0, 0, -21, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
-9, -10, 0, -3, -10, 0, -14, 0,
0, 0, 2, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 3, 3, 0,
4, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, -29, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, -38, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
-21, 0, 0, 0, 0, 0, 0, -10,
0, -2, 0, 0, -22, -3, -15, -12,
0, -16, 0, 0, 0, 0, 0, 0,
-2, 0, 0, -3, -2, -9, -6, 0,
2, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, -5,
0, -4, 0, 0, -9, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
-4, 0, 0, 0, 0, 0, 0, 0,
0, 0, -5, 0, 0, 0, 0, 0,
0, -2, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, -3,
0, 0, 0, 0, 0, -18, 0, 0,
0, -4, 0, 0, 0, -5, 0, -4,
0, -4, -7, -4, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
3, 0, 0, 0, 0, 0, 0, 0,
0, -3, -3, 0, -3, 0, 0, 0,
-3, -4, -4, 0, 0, 0, 0, 0,
0, 0, 0, -40, 0, 0, 0, -29,
0, -45, 0, 3, 0, 0, 0, 0,
0, 0, 0, -6, -4, 0, 0, -4,
-4, 0, 0, -4, -4, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 3, 0, 0, 0, -5, 0,
0, 0, 3, -5, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, -4, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, -11, 0, 0,
0, -5, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, -4, 0, -4,
-5, 0, 0, 0, -4, -7, -11, 0,
0, 0, 0, -58, 0, 0, 0, 0,
0, 0, 0, 3, -11, 0, 0, -47,
-9, -30, -25, 0, -41, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, -8,
-23, -16, 0, 0, 0, 0, 0, 0,
0, 0, -56, 0, 0, 0, -24, 0,
-34, 0, 0, 0, 0, 0, -5, 0,
-4, 0, -2, -2, 0, 0, -2, 0,
0, 2, 0, 3, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, -7, 0, -5,
-3, 0, -6, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
-14, 0, -3, 0, 0, -8, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, -7, 0,
0, 0, 0, -37, -40, 0, 0, -14,
-5, -41, -3, 3, 0, 3, 3, 0,
3, 0, 0, -19, -17, 0, -19, -17,
-13, -20, 0, -16, -12, -10, -13, -10,
0, 0, 0, 0, 3, 0, -39, -6,
0, 0, -13, -2, 0, 0, 0, 0,
0, 0, 0, 0, 0, 3, -8, -8,
0, 0, -8, -5, 0, 0, -5, -2,
0, 0, 0, 3, 0, 0, 0, 3,
0, -21, -10, 0, 0, -7, 0, 0,
0, 2, 0, 0, 0, 0, 0, 0,
2, -6, -5, 0, 0, -5, -4, 0,
0, -3, 0, 0, 0, 0, 2, 0,
0, 0, 0, 0, 0, -8, 0, 0,
0, -4, 0, 0, 0, 0, 2, 0,
0, 0, 0, 0, 0, -4, 0, 0,
-4, 0, 0, 0, -4, -5, 0, 0,
0, 0, 0, 0, -5, 3, -8, -36,
-9, 0, 0, -16, -5, -16, -3, 3,
-16, 3, 3, 2, 3, 0, 3, -13,
-11, -4, -7, -11, -7, -10, -4, -7,
-3, 0, -4, -5, 3, 0, 0, 0,
0, 0, 0, 0, 0, 0, 2, -4,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, -4, 0, 0, -4, 0,
0, 0, -3, -5, -5, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, -3, 0, 0, -3, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, -12, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, -3, 0, 0, 0, 0, 0, -5,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, -2, 0, -3, -3,
0, 0, -2, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, -2, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, -2, 0, 0, 0, 0, 0,
3, 0, 3, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 3, 0, -4, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 3, 0, -18, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, -3, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, -23, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, -3, 0,
-4, -3, 0, 0, 3, 0, 0, 0,
-21, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
-7, -3, 3, 0, -3, 0, 0, 9,
0, 3, 3, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, -3,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 3, 0, 0, 0, -18, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, -3, -2,
2, 0, -3, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, -21, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, -3, 0, 0,
-3, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
-3, 0, 0, -3, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
-3, 0, 0, -3, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0
};
/*Collect the kern class' data in one place*/
static lv_font_fmt_txt_kern_classes_t kern_classes =
{
.class_pair_values = kern_class_values,
.left_class_mapping = kern_left_class_mapping,
.right_class_mapping = kern_right_class_mapping,
.left_class_cnt = 40,
.right_class_cnt = 35,
};
/*--------------------
@@ -3122,8 +2852,8 @@ static lv_font_fmt_txt_dsc_t font_dsc = {
.bpp = 4,
.kern_scale = 16,
.kern_dsc = &kern_pairs,
.kern_classes = 0
.kern_dsc = &kern_classes,
.kern_classes = 1
};

View File

@@ -3,7 +3,7 @@
/*******************************************************************************
* Size: 28 px
* Bpp: 4
* Opts: --no-compress --no-prefilter --bpp 4 --size 28 --font ./Roboto-Regular.woff -r 0x20-0x7F --font FontAwesome.ttf -r 61441,61448,61451,61452,61453,61457,61459,61460,61461,61465,61468,61473,61478,61479,61480,61502,61504,61512,61515,61516,61517,61521,61522,61523,61524,61543,61544,61553,61556,61559,61560,61561,61563,61587,61589,61636,61637,61639,61671,61683,61724,61732,61787,61931,62016,62017,62018,62019,62020,62099 --format lvgl -o lv_font_roboto_28.c
* Opts: --no-compress --no-prefilter --bpp 4 --size 28 --font ./Roboto-Regular.woff -r 0x20-0x7F --font FontAwesome.ttf -r 61441,61448,61451,61452,61453,61457,61459,61460,61461,61465,61468,61473,61478,61479,61480,61502,61504,61512,61515,61516,61517,61521,61522,61523,61524,61543,61544,61553,61556,61559,61560,61561,61563,61587,61589,61636,61637,61639,61671,61683,61724,61732,61787,61931,62016,62017,62018,62019,62020,62099 --format lvgl -o lv_font_roboto_28.c --force-fast-kern-format
******************************************************************************/
#ifndef LV_FONT_ROBOTO_28
@@ -3750,513 +3750,243 @@ static const lv_font_fmt_txt_cmap_t cmaps[] =
*----------------*/
/*Pair left and right glyphs for kerning*/
static const uint8_t kern_pair_glyph_ids[] =
/*Map glyph_ids to kern left classes*/
static uint8_t kern_left_class_mapping[] =
{
1, 53,
3, 3,
3, 8,
3, 34,
3, 66,
3, 68,
3, 69,
3, 70,
3, 72,
3, 78,
3, 79,
3, 80,
3, 81,
3, 82,
3, 84,
3, 88,
8, 3,
8, 8,
8, 34,
8, 66,
8, 68,
8, 69,
8, 70,
8, 72,
8, 78,
8, 79,
8, 80,
8, 81,
8, 82,
8, 84,
8, 88,
9, 55,
9, 56,
9, 58,
13, 3,
13, 8,
15, 3,
15, 8,
16, 16,
34, 3,
34, 8,
34, 32,
34, 36,
34, 40,
34, 48,
34, 50,
34, 53,
34, 54,
34, 55,
34, 56,
34, 58,
34, 80,
34, 85,
34, 86,
34, 87,
34, 88,
34, 90,
34, 91,
35, 53,
35, 55,
35, 58,
36, 10,
36, 53,
36, 62,
36, 94,
37, 13,
37, 15,
37, 34,
37, 53,
37, 55,
37, 57,
37, 58,
37, 59,
38, 53,
38, 68,
38, 69,
38, 70,
38, 71,
38, 72,
38, 80,
38, 82,
38, 86,
38, 87,
38, 88,
38, 90,
39, 13,
39, 15,
39, 34,
39, 43,
39, 53,
39, 66,
39, 68,
39, 69,
39, 70,
39, 72,
39, 80,
39, 82,
39, 83,
39, 86,
39, 87,
39, 90,
41, 34,
41, 53,
41, 57,
41, 58,
42, 34,
42, 53,
42, 57,
42, 58,
43, 34,
44, 14,
44, 36,
44, 40,
44, 48,
44, 50,
44, 68,
44, 69,
44, 70,
44, 72,
44, 78,
44, 79,
44, 80,
44, 81,
44, 82,
44, 86,
44, 87,
44, 88,
44, 90,
45, 3,
45, 8,
45, 34,
45, 36,
45, 40,
45, 48,
45, 50,
45, 53,
45, 54,
45, 55,
45, 56,
45, 58,
45, 86,
45, 87,
45, 88,
45, 90,
46, 34,
46, 53,
46, 57,
46, 58,
47, 34,
47, 53,
47, 57,
47, 58,
48, 13,
48, 15,
48, 34,
48, 53,
48, 55,
48, 57,
48, 58,
48, 59,
49, 13,
49, 15,
49, 34,
49, 43,
49, 57,
49, 59,
49, 66,
49, 68,
49, 69,
49, 70,
49, 72,
49, 80,
49, 82,
49, 85,
49, 87,
49, 90,
50, 53,
50, 55,
50, 56,
50, 58,
51, 53,
51, 55,
51, 58,
53, 1,
53, 13,
53, 14,
53, 15,
53, 34,
53, 36,
53, 40,
53, 43,
53, 48,
53, 50,
53, 52,
53, 53,
53, 55,
53, 56,
53, 58,
53, 66,
53, 68,
53, 69,
53, 70,
53, 72,
53, 78,
53, 79,
53, 80,
53, 81,
53, 82,
53, 83,
53, 84,
53, 86,
53, 87,
53, 88,
53, 89,
53, 90,
53, 91,
54, 34,
55, 10,
55, 13,
55, 14,
55, 15,
55, 34,
55, 36,
55, 40,
55, 48,
55, 50,
55, 62,
55, 66,
55, 68,
55, 69,
55, 70,
55, 72,
55, 80,
55, 82,
55, 83,
55, 86,
55, 87,
55, 90,
55, 94,
56, 10,
56, 13,
56, 14,
56, 15,
56, 34,
56, 53,
56, 62,
56, 66,
56, 68,
56, 69,
56, 70,
56, 72,
56, 80,
56, 82,
56, 83,
56, 86,
56, 94,
57, 14,
57, 36,
57, 40,
57, 48,
57, 50,
57, 55,
57, 68,
57, 69,
57, 70,
57, 72,
57, 80,
57, 82,
57, 86,
57, 87,
57, 90,
58, 7,
58, 10,
58, 11,
58, 13,
58, 14,
58, 15,
58, 34,
58, 36,
58, 40,
58, 43,
58, 48,
58, 50,
58, 52,
58, 53,
58, 54,
58, 55,
58, 56,
58, 57,
58, 58,
58, 62,
58, 66,
58, 68,
58, 69,
58, 70,
58, 71,
58, 72,
58, 78,
58, 79,
58, 80,
58, 81,
58, 82,
58, 83,
58, 84,
58, 85,
58, 86,
58, 87,
58, 89,
58, 90,
58, 91,
58, 94,
59, 34,
59, 36,
59, 40,
59, 48,
59, 50,
59, 68,
59, 69,
59, 70,
59, 72,
59, 80,
59, 82,
59, 86,
59, 87,
59, 88,
59, 90,
60, 43,
60, 54,
66, 3,
66, 8,
66, 87,
66, 90,
67, 3,
67, 8,
67, 87,
67, 89,
67, 90,
67, 91,
68, 3,
68, 8,
70, 3,
70, 8,
70, 87,
70, 90,
71, 3,
71, 8,
71, 10,
71, 62,
71, 68,
71, 69,
71, 70,
71, 72,
71, 82,
71, 94,
73, 3,
73, 8,
76, 68,
76, 69,
76, 70,
76, 72,
76, 82,
78, 3,
78, 8,
79, 3,
79, 8,
80, 3,
80, 8,
80, 87,
80, 89,
80, 90,
80, 91,
81, 3,
81, 8,
81, 87,
81, 89,
81, 90,
81, 91,
83, 3,
83, 8,
83, 13,
83, 15,
83, 66,
83, 68,
83, 69,
83, 70,
83, 71,
83, 72,
83, 80,
83, 82,
83, 85,
83, 87,
83, 88,
83, 90,
85, 80,
87, 3,
87, 8,
87, 13,
87, 15,
87, 66,
87, 68,
87, 69,
87, 70,
87, 71,
87, 72,
87, 80,
87, 82,
88, 13,
88, 15,
89, 68,
89, 69,
89, 70,
89, 72,
89, 80,
89, 82,
90, 3,
90, 8,
90, 13,
90, 15,
90, 66,
90, 68,
90, 69,
90, 70,
90, 71,
90, 72,
90, 80,
90, 82,
91, 68,
91, 69,
91, 70,
91, 72,
91, 80,
91, 82,
92, 43,
92, 54
0, 1, 0, 2, 0, 0, 0, 0,
2, 3, 0, 0, 0, 4, 0, 4,
5, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 6, 7, 8, 9, 10, 11,
0, 12, 12, 13, 14, 15, 12, 12,
9, 16, 17, 18, 0, 19, 13, 20,
21, 22, 23, 24, 25, 0, 0, 0,
0, 0, 26, 27, 28, 0, 29, 30,
0, 31, 0, 0, 32, 0, 31, 31,
33, 27, 0, 34, 0, 35, 0, 36,
37, 38, 36, 39, 40, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0
};
/* Kerning between the respective left and right glyphs
* 4.4 format which needs to scaled with `kern_scale`*/
static int8_t kern_pair_values[] =
/*Map glyph_ids to kern right classes*/
static uint8_t kern_right_class_mapping[] =
{
-9, -23, -23, -26, -11, -13, -13, -13,
-13, -4, -4, -13, -4, -13, -17, 2,
-23, -23, -26, -11, -13, -13, -13, -13,
-4, -4, -13, -4, -13, -17, 2, 4,
4, 5, -37, -37, -37, -37, -49, -26,
-26, -13, -2, -2, -2, -2, -28, -4,
-19, -15, -21, -3, -4, -2, -11, -7,
-11, 3, -6, -5, -12, -6, -6, -3,
-4, -22, -22, -5, -6, -5, -5, -9,
-5, 4, -4, -4, -4, -4, -4, -4,
-4, -4, -6, -5, -6, -51, -51, -37,
-58, 4, -7, -5, -5, -5, -5, -5,
-5, -6, -5, -5, -5, 4, -6, 4,
-6, 4, -6, 4, -6, -5, -14, -7,
-7, -7, -7, -6, -6, -6, -6, -5,
-5, -6, -5, -6, -5, -9, -14, -9,
-73, -73, 4, -14, -14, -14, -14, -60,
-12, -38, -31, -52, -10, -29, -20, -29,
4, -6, 4, -6, 4, -6, 4, -6,
-22, -22, -5, -6, -5, -5, -9, -5,
-71, -71, -30, -44, -7, -6, -2, -3,
-3, -3, -3, -3, -3, 3, 3, 3,
-9, -6, -4, -8, -17, -4, -10, -9,
-48, -51, -48, -17, -6, -6, -52, -6,
-6, -3, 4, 4, 3, 4, -25, -22,
-22, -22, -22, -24, -24, -22, -24, -22,
-16, -25, -21, -16, -12, -17, -16, -13,
-5, 4, -49, -8, -49, -16, -3, -3,
-3, -3, 4, -10, -10, -10, -10, -10,
-10, -10, -7, -6, -2, -2, 4, 3,
-27, -13, -27, -9, 3, 3, -7, -7,
-7, -7, -7, -7, -7, -5, -4, 3,
-10, -5, -5, -5, -5, 3, -6, -6,
-6, -6, -5, -6, -5, -7, -7, -7,
4, -11, -46, -11, -46, -21, -6, -6,
-21, -6, -6, -3, 4, -21, 4, 4,
3, 4, 4, -16, -14, -14, -14, -5,
-14, -9, -9, -14, -9, -14, -9, -13,
-5, -9, -4, -5, -4, -7, 4, 3,
-6, -6, -6, -6, -5, -5, -5, -5,
-5, -5, -4, -6, -6, -6, -4, -4,
-15, -15, -3, -3, -6, -6, -2, -3,
-2, -3, -2, -2, -3, -3, -3, -3,
4, 4, 4, 4, -5, -5, -5, -5,
-5, 4, -23, -23, -4, -4, -4, -4,
-4, -23, -23, -23, -23, -30, -30, -3,
-5, -3, -3, -6, -6, -2, -3, -2,
-3, 4, 4, -27, -27, -9, -4, -4,
-4, 3, -4, -4, -4, 11, 4, 4,
4, -4, 3, 3, -23, -23, -3, -3,
-3, -3, 3, -3, -3, -3, -27, -27,
-4, -4, -4, -4, -4, -4, 3, 3,
-23, -23, -3, -3, -3, -3, 3, -3,
-3, -3, -3, -3, -3, -3, -3, -3,
-4, -4
0, 1, 0, 2, 0, 0, 0, 3,
2, 0, 4, 5, 0, 6, 7, 6,
8, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
9, 0, 10, 0, 11, 0, 0, 0,
11, 0, 0, 12, 0, 0, 0, 0,
11, 0, 11, 0, 13, 14, 15, 16,
17, 18, 19, 20, 0, 0, 21, 0,
0, 0, 22, 0, 23, 23, 23, 24,
23, 0, 0, 0, 0, 0, 25, 25,
26, 25, 23, 27, 28, 29, 30, 31,
32, 33, 31, 34, 0, 0, 35, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0
};
/*Collect the kern pair's data in one place*/
static lv_font_fmt_txt_kern_pair_t kern_pairs =
/*Kern values between classes*/
static uint8_t kern_class_values[] =
{
.glyph_ids = kern_pair_glyph_ids,
.values = kern_pair_values,
.pair_cnt = 434,
.glyph_ids_size = 0
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, -9, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, -23, 0, 0, 0,
0, 0, 0, 0, -26, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
-11, -13, 0, -4, -13, 0, -17, 0,
0, 0, 2, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 4, 4, 0,
5, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, -37, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, -49, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
-26, 0, 0, 0, 0, 0, 0, -13,
0, -2, 0, 0, -28, -4, -19, -15,
0, -21, 0, 0, 0, 0, 0, 0,
-3, 0, 0, -4, -2, -11, -7, 0,
3, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, -6,
0, -5, 0, 0, -12, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
-6, 0, 0, 0, 0, 0, 0, 0,
0, 0, -6, 0, 0, 0, 0, 0,
0, -3, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, -4,
0, 0, 0, 0, 0, -22, 0, 0,
0, -5, 0, 0, 0, -6, 0, -5,
0, -5, -9, -5, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
4, 0, 0, 0, 0, 0, 0, 0,
0, -4, -4, 0, -4, 0, 0, 0,
-4, -6, -5, 0, 0, 0, 0, 0,
0, 0, 0, -51, 0, 0, 0, -37,
0, -58, 0, 4, 0, 0, 0, 0,
0, 0, 0, -7, -5, 0, 0, -5,
-6, 0, 0, -5, -5, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 4, 0, 0, 0, -6, 0,
0, 0, 4, -6, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, -5, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, -14, 0, 0,
0, -7, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, -6, 0, -5,
-6, 0, 0, 0, -5, -9, -14, 0,
0, 0, 0, -73, 0, 0, 0, 0,
0, 0, 0, 4, -14, 0, 0, -60,
-12, -38, -31, 0, -52, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, -10,
-29, -20, 0, 0, 0, 0, 0, 0,
0, 0, -71, 0, 0, 0, -30, 0,
-44, 0, 0, 0, 0, 0, -7, 0,
-6, 0, -2, -3, 0, 0, -3, 0,
0, 3, 0, 3, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, -9, 0, -6,
-4, 0, -8, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
-17, 0, -4, 0, 0, -10, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, -9, 0,
0, 0, 0, -48, -51, 0, 0, -17,
-6, -52, -3, 4, 0, 4, 3, 0,
4, 0, 0, -25, -22, 0, -24, -22,
-16, -25, 0, -21, -16, -12, -17, -13,
0, 0, 0, 0, 4, 0, -49, -8,
0, 0, -16, -3, 0, 0, 0, 0,
0, 0, 0, 0, 0, 4, -10, -10,
0, 0, -10, -7, 0, 0, -6, -2,
0, 0, 0, 4, 0, 0, 0, 3,
0, -27, -13, 0, 0, -9, 0, 0,
0, 3, 0, 0, 0, 0, 0, 0,
3, -7, -7, 0, 0, -7, -5, 0,
0, -4, 0, 0, 0, 0, 3, 0,
0, 0, 0, 0, 0, -10, 0, 0,
0, -5, 0, 0, 0, 0, 3, 0,
0, 0, 0, 0, 0, -6, 0, 0,
-5, 0, 0, 0, -5, -7, 0, 0,
0, 0, 0, 0, -7, 4, -11, -46,
-11, 0, 0, -21, -6, -21, -3, 4,
-21, 4, 4, 3, 4, 0, 4, -16,
-14, -5, -9, -14, -9, -13, -5, -9,
-4, 0, -5, -7, 4, 0, 0, 0,
0, 0, 0, 0, 0, 0, 3, -6,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, -5, 0, 0, -5, 0,
0, 0, -4, -6, -6, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, -4, 0, 0, -4, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, -15, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, -3, 0, 0, 0, 0, 0, -6,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, -2, 0, -3, -3,
0, 0, -2, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, -3, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, -3, 0, 0, 0, 0, 0,
4, 0, 4, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 4, 0, -5, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 4, 0, -23, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, -4, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, -30, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, -3, 0,
-5, -3, 0, 0, 4, 0, 0, 0,
-27, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
-9, -4, 3, 0, -4, 0, 0, 11,
0, 4, 4, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, -4,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 3, 0, 0, 0, -23, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, -3, -3,
3, 0, -3, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, -27, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, -4, 0, 0,
-4, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
-3, 0, 0, -3, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
-4, 0, 0, -4, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0
};
/*Collect the kern class' data in one place*/
static lv_font_fmt_txt_kern_classes_t kern_classes =
{
.class_pair_values = kern_class_values,
.left_class_mapping = kern_left_class_mapping,
.right_class_mapping = kern_right_class_mapping,
.left_class_cnt = 40,
.right_class_cnt = 35,
};
/*--------------------
@@ -4272,8 +4002,8 @@ static lv_font_fmt_txt_dsc_t font_dsc = {
.bpp = 4,
.kern_scale = 16,
.kern_dsc = &kern_pairs,
.kern_classes = 0
.kern_dsc = &kern_classes,
.kern_classes = 1
};

View File

@@ -14,21 +14,6 @@
*********************/
#define NO_BREAK_FOUND UINT32_MAX
/* If a character is at least this long, will break wherever "prettiest" */
#ifndef LV_TXT_LINE_BREAK_LONG_LEN
#define LV_TXT_LINE_BREAK_LONG_LEN 12
#endif
/* Minimum number of characters of a word to put on a line before a break */
#ifndef LV_TXT_LINE_BREAK_LONG_PRE_MIN_LEN
#define LV_TXT_LINE_BREAK_LONG_PRE_MIN_LEN 3
#endif
/* Minimum number of characters of a word to put on a line after a break */
#ifndef LV_TXT_LINE_BREAK_LONG_POST_MIN_LEN
#define LV_TXT_LINE_BREAK_LONG_POST_MIN_LEN 1
#endif
/**********************
* TYPEDEFS
**********************/