From 8d898052163161821d148e26c6bfb9af156f1f7b Mon Sep 17 00:00:00 2001 From: "Hansi, dl9rdz" Date: Mon, 24 May 2021 14:42:07 +0200 Subject: [PATCH] ; font update --- fontconverter | 9 +- libraries/SondeLib/fonts/Terminal11x16.h | 194 +++++++++++------------ 2 files changed, 104 insertions(+), 99 deletions(-) diff --git a/fontconverter b/fontconverter index c836474..1d0455b 100755 --- a/fontconverter +++ b/fontconverter @@ -5,6 +5,11 @@ use warnings; use Data::Dumper; my $fontname = "Terminal11x16"; +## https://github.com/moononournation/Arduino_GFX/blob/master/src/Arduino_GFX.cpp: baseline = yadvance * 2 / 3 +## so we have to set yadvance = (baseline * 3 / 2). +## baseofs is baseline offset from bottom, i.e. baseline = height - baseofs +## so lets try... (for Terminal11x16, baseline is 14 pixel from top, height is 16) +my $baseofs = 2; my @data; # read font bitmap @@ -81,7 +86,7 @@ for my $c ($first .. $first+$count-1) { "height" => $h, "xadv" => $w+1, "xofs" => $xofs, - "yofs" => -$height + $yofs, + "yofs" => -$height + $yofs + $baseofs, "c" => $c, }; push @bitmap, @$d; @@ -107,4 +112,4 @@ print("};\n"); printf("const GFXfont %sFont = {\n", $fontname); printf(" (uint8_t *)%sBitmap,\n", $fontname); printf(" (GFXglyph *)%sGlyphs,\n", $fontname); -printf(" 0x%02X, 0x%02X, %d };\n", $first, $first+$count-1, $height+2+8); # warum auch immer +8 +printf(" 0x%02X, 0x%02X, %d };\n", $first, $first+$count-1, ($height-$baseofs)*3/2+1); diff --git a/libraries/SondeLib/fonts/Terminal11x16.h b/libraries/SondeLib/fonts/Terminal11x16.h index 7cdf6e4..5981849 100644 --- a/libraries/SondeLib/fonts/Terminal11x16.h +++ b/libraries/SondeLib/fonts/Terminal11x16.h @@ -118,104 +118,104 @@ const uint8_t Terminal11x16Bitmap[] = { }; const GFXglyph Terminal11x16Glyphs[] = { - { 0, 6, 0, 7, 0, 0 }, // 0x20 ' ' - { 0, 7, 14, 8, 0, -16 }, // 0x21 '!' - { 13, 8, 4, 9, 0, -14 }, // 0x22 '"' - { 17, 11, 12, 12, 0, -15 }, // 0x23 '#' - { 34, 9, 14, 10, 0, -16 }, // 0x24 '$' - { 50, 11, 12, 12, 0, -14 }, // 0x25 '%' - { 67, 10, 13, 11, 0, -15 }, // 0x26 '&' - { 84, 6, 6, 7, 0, -16 }, // 0x27 ''' - { 89, 8, 14, 9, 0, -16 }, // 0x28 '(' - { 103, 8, 14, 9, 0, -16 }, // 0x29 ')' - { 117, 9, 9, 10, 0, -13 }, // 0x2a '*' - { 128, 9, 8, 10, 0, -12 }, // 0x2b '+' - { 137, 6, 5, 7, 0, -5 }, // 0x2c ',' - { 141, 9, 2, 10, 0, -9 }, // 0x2d '-' - { 144, 6, 3, 7, 0, -5 }, // 0x2e '.' - { 147, 11, 12, 12, 0, -15 }, // 0x2f '/' - { 164, 11, 14, 12, 0, -16 }, // 0x30 '0' - { 184, 10, 14, 11, 0, -16 }, // 0x31 '1' - { 202, 11, 14, 12, 0, -16 }, // 0x32 '2' - { 222, 11, 14, 12, 0, -16 }, // 0x33 '3' - { 242, 11, 14, 12, 0, -16 }, // 0x34 '4' - { 262, 11, 14, 12, 0, -16 }, // 0x35 '5' - { 282, 11, 14, 12, 0, -16 }, // 0x36 '6' - { 302, 11, 14, 12, 0, -16 }, // 0x37 '7' - { 322, 11, 14, 12, 0, -16 }, // 0x38 '8' - { 342, 11, 14, 12, 0, -16 }, // 0x39 '9' - { 362, 6, 9, 7, 0, -12 }, // 0x3a ':' - { 369, 6, 12, 7, 0, -12 }, // 0x3b ';' - { 378, 9, 14, 10, 0, -16 }, // 0x3c '<' - { 394, 10, 6, 11, 0, -11 }, // 0x3d '=' - { 402, 9, 14, 10, 0, -16 }, // 0x3e '>' - { 418, 10, 14, 11, 0, -16 }, // 0x3f '?' - { 436, 11, 14, 12, 0, -16 }, // 0x40 '@' - { 456, 10, 14, 11, 0, -16 }, // 0x41 'A' - { 474, 10, 14, 11, 0, -16 }, // 0x42 'B' - { 492, 10, 14, 11, 0, -16 }, // 0x43 'C' - { 510, 10, 14, 11, 0, -16 }, // 0x44 'D' - { 528, 10, 14, 11, 0, -16 }, // 0x45 'E' - { 546, 10, 14, 11, 0, -16 }, // 0x46 'F' - { 564, 10, 14, 11, 0, -16 }, // 0x47 'G' - { 582, 10, 14, 11, 0, -16 }, // 0x48 'H' - { 600, 8, 14, 9, 0, -16 }, // 0x49 'I' - { 614, 10, 14, 11, 0, -16 }, // 0x4a 'J' - { 632, 10, 14, 11, 0, -16 }, // 0x4b 'K' - { 650, 10, 14, 11, 0, -16 }, // 0x4c 'L' - { 668, 10, 14, 11, 0, -16 }, // 0x4d 'M' - { 686, 10, 14, 11, 0, -16 }, // 0x4e 'N' - { 704, 10, 14, 11, 0, -16 }, // 0x4f 'O' - { 722, 10, 14, 11, 0, -16 }, // 0x50 'P' - { 740, 10, 14, 11, 0, -16 }, // 0x51 'Q' - { 758, 10, 14, 11, 0, -16 }, // 0x52 'R' - { 776, 10, 14, 11, 0, -16 }, // 0x53 'S' - { 794, 9, 14, 10, 0, -16 }, // 0x54 'T' - { 810, 10, 14, 11, 0, -16 }, // 0x55 'U' - { 828, 10, 14, 11, 0, -16 }, // 0x56 'V' - { 846, 10, 14, 11, 0, -16 }, // 0x57 'W' - { 864, 10, 14, 11, 0, -16 }, // 0x58 'X' - { 882, 10, 14, 11, 0, -16 }, // 0x59 'Y' - { 900, 10, 14, 11, 0, -16 }, // 0x5a 'Z' - { 918, 8, 14, 9, 0, -16 }, // 0x5b '[' - { 932, 11, 12, 12, 0, -15 }, // 0x5c '\' - { 949, 8, 14, 9, 0, -16 }, // 0x5d ']' - { 963, 11, 7, 12, 0, -16 }, // 0x5e '^' - { 973, 11, 2, 12, 0, -2 }, // 0x5f '_' - { 976, 7, 6, 8, 0, -15 }, // 0x60 '`' - { 982, 10, 9, 11, 0, -11 }, // 0x61 'a' - { 994, 10, 14, 11, 0, -16 }, // 0x62 'b' - { 1012, 10, 9, 11, 0, -11 }, // 0x63 'c' - { 1024, 10, 14, 11, 0, -16 }, // 0x64 'd' - { 1042, 10, 9, 11, 0, -11 }, // 0x65 'e' - { 1054, 8, 14, 9, 0, -16 }, // 0x66 'f' - { 1068, 10, 11, 11, 0, -11 }, // 0x67 'g' - { 1082, 9, 14, 10, 0, -16 }, // 0x68 'h' - { 1098, 8, 12, 9, 0, -14 }, // 0x69 'i' - { 1110, 8, 14, 9, 0, -14 }, // 0x6a 'j' - { 1124, 9, 14, 10, 0, -16 }, // 0x6b 'k' - { 1140, 8, 14, 9, 0, -16 }, // 0x6c 'l' - { 1154, 10, 9, 11, 0, -11 }, // 0x6d 'm' - { 1166, 10, 9, 11, 0, -11 }, // 0x6e 'n' - { 1178, 10, 9, 11, 0, -11 }, // 0x6f 'o' - { 1190, 10, 11, 11, 0, -11 }, // 0x70 'p' - { 1204, 10, 11, 11, 0, -11 }, // 0x71 'q' - { 1218, 10, 9, 11, 0, -11 }, // 0x72 'r' - { 1230, 8, 9, 9, 0, -11 }, // 0x73 's' - { 1239, 8, 13, 9, 0, -15 }, // 0x74 't' - { 1252, 10, 9, 11, 0, -11 }, // 0x75 'u' - { 1264, 10, 9, 11, 0, -11 }, // 0x76 'v' - { 1276, 10, 9, 11, 0, -11 }, // 0x77 'w' - { 1288, 9, 9, 10, 0, -11 }, // 0x78 'x' - { 1299, 9, 11, 10, 0, -11 }, // 0x79 'y' - { 1312, 9, 9, 10, 0, -11 }, // 0x7a 'z' - { 1323, 9, 15, 10, 0, -16 }, // 0x7b '{' - { 1340, 6, 14, 7, 0, -16 }, // 0x7c '|' - { 1351, 9, 15, 10, 0, -16 }, // 0x7d '}' - { 1368, 10, 3, 11, 0, -14 }, // 0x7e '~' - { 1372, 10, 8, 11, 0, -12 }, // 0x7f '' + { 0, 6, 0, 7, 0, 2 }, // 0x20 ' ' + { 0, 7, 14, 8, 0, -14 }, // 0x21 '!' + { 13, 8, 4, 9, 0, -12 }, // 0x22 '"' + { 17, 11, 12, 12, 0, -13 }, // 0x23 '#' + { 34, 9, 14, 10, 0, -14 }, // 0x24 '$' + { 50, 11, 12, 12, 0, -12 }, // 0x25 '%' + { 67, 10, 13, 11, 0, -13 }, // 0x26 '&' + { 84, 6, 6, 7, 0, -14 }, // 0x27 ''' + { 89, 8, 14, 9, 0, -14 }, // 0x28 '(' + { 103, 8, 14, 9, 0, -14 }, // 0x29 ')' + { 117, 9, 9, 10, 0, -11 }, // 0x2a '*' + { 128, 9, 8, 10, 0, -10 }, // 0x2b '+' + { 137, 6, 5, 7, 0, -3 }, // 0x2c ',' + { 141, 9, 2, 10, 0, -7 }, // 0x2d '-' + { 144, 6, 3, 7, 0, -3 }, // 0x2e '.' + { 147, 11, 12, 12, 0, -13 }, // 0x2f '/' + { 164, 11, 14, 12, 0, -14 }, // 0x30 '0' + { 184, 10, 14, 11, 0, -14 }, // 0x31 '1' + { 202, 11, 14, 12, 0, -14 }, // 0x32 '2' + { 222, 11, 14, 12, 0, -14 }, // 0x33 '3' + { 242, 11, 14, 12, 0, -14 }, // 0x34 '4' + { 262, 11, 14, 12, 0, -14 }, // 0x35 '5' + { 282, 11, 14, 12, 0, -14 }, // 0x36 '6' + { 302, 11, 14, 12, 0, -14 }, // 0x37 '7' + { 322, 11, 14, 12, 0, -14 }, // 0x38 '8' + { 342, 11, 14, 12, 0, -14 }, // 0x39 '9' + { 362, 6, 9, 7, 0, -10 }, // 0x3a ':' + { 369, 6, 12, 7, 0, -10 }, // 0x3b ';' + { 378, 9, 14, 10, 0, -14 }, // 0x3c '<' + { 394, 10, 6, 11, 0, -9 }, // 0x3d '=' + { 402, 9, 14, 10, 0, -14 }, // 0x3e '>' + { 418, 10, 14, 11, 0, -14 }, // 0x3f '?' + { 436, 11, 14, 12, 0, -14 }, // 0x40 '@' + { 456, 10, 14, 11, 0, -14 }, // 0x41 'A' + { 474, 10, 14, 11, 0, -14 }, // 0x42 'B' + { 492, 10, 14, 11, 0, -14 }, // 0x43 'C' + { 510, 10, 14, 11, 0, -14 }, // 0x44 'D' + { 528, 10, 14, 11, 0, -14 }, // 0x45 'E' + { 546, 10, 14, 11, 0, -14 }, // 0x46 'F' + { 564, 10, 14, 11, 0, -14 }, // 0x47 'G' + { 582, 10, 14, 11, 0, -14 }, // 0x48 'H' + { 600, 8, 14, 9, 0, -14 }, // 0x49 'I' + { 614, 10, 14, 11, 0, -14 }, // 0x4a 'J' + { 632, 10, 14, 11, 0, -14 }, // 0x4b 'K' + { 650, 10, 14, 11, 0, -14 }, // 0x4c 'L' + { 668, 10, 14, 11, 0, -14 }, // 0x4d 'M' + { 686, 10, 14, 11, 0, -14 }, // 0x4e 'N' + { 704, 10, 14, 11, 0, -14 }, // 0x4f 'O' + { 722, 10, 14, 11, 0, -14 }, // 0x50 'P' + { 740, 10, 14, 11, 0, -14 }, // 0x51 'Q' + { 758, 10, 14, 11, 0, -14 }, // 0x52 'R' + { 776, 10, 14, 11, 0, -14 }, // 0x53 'S' + { 794, 9, 14, 10, 0, -14 }, // 0x54 'T' + { 810, 10, 14, 11, 0, -14 }, // 0x55 'U' + { 828, 10, 14, 11, 0, -14 }, // 0x56 'V' + { 846, 10, 14, 11, 0, -14 }, // 0x57 'W' + { 864, 10, 14, 11, 0, -14 }, // 0x58 'X' + { 882, 10, 14, 11, 0, -14 }, // 0x59 'Y' + { 900, 10, 14, 11, 0, -14 }, // 0x5a 'Z' + { 918, 8, 14, 9, 0, -14 }, // 0x5b '[' + { 932, 11, 12, 12, 0, -13 }, // 0x5c '\' + { 949, 8, 14, 9, 0, -14 }, // 0x5d ']' + { 963, 11, 7, 12, 0, -14 }, // 0x5e '^' + { 973, 11, 2, 12, 0, 0 }, // 0x5f '_' + { 976, 7, 6, 8, 0, -13 }, // 0x60 '`' + { 982, 10, 9, 11, 0, -9 }, // 0x61 'a' + { 994, 10, 14, 11, 0, -14 }, // 0x62 'b' + { 1012, 10, 9, 11, 0, -9 }, // 0x63 'c' + { 1024, 10, 14, 11, 0, -14 }, // 0x64 'd' + { 1042, 10, 9, 11, 0, -9 }, // 0x65 'e' + { 1054, 8, 14, 9, 0, -14 }, // 0x66 'f' + { 1068, 10, 11, 11, 0, -9 }, // 0x67 'g' + { 1082, 9, 14, 10, 0, -14 }, // 0x68 'h' + { 1098, 8, 12, 9, 0, -12 }, // 0x69 'i' + { 1110, 8, 14, 9, 0, -12 }, // 0x6a 'j' + { 1124, 9, 14, 10, 0, -14 }, // 0x6b 'k' + { 1140, 8, 14, 9, 0, -14 }, // 0x6c 'l' + { 1154, 10, 9, 11, 0, -9 }, // 0x6d 'm' + { 1166, 10, 9, 11, 0, -9 }, // 0x6e 'n' + { 1178, 10, 9, 11, 0, -9 }, // 0x6f 'o' + { 1190, 10, 11, 11, 0, -9 }, // 0x70 'p' + { 1204, 10, 11, 11, 0, -9 }, // 0x71 'q' + { 1218, 10, 9, 11, 0, -9 }, // 0x72 'r' + { 1230, 8, 9, 9, 0, -9 }, // 0x73 's' + { 1239, 8, 13, 9, 0, -13 }, // 0x74 't' + { 1252, 10, 9, 11, 0, -9 }, // 0x75 'u' + { 1264, 10, 9, 11, 0, -9 }, // 0x76 'v' + { 1276, 10, 9, 11, 0, -9 }, // 0x77 'w' + { 1288, 9, 9, 10, 0, -9 }, // 0x78 'x' + { 1299, 9, 11, 10, 0, -9 }, // 0x79 'y' + { 1312, 9, 9, 10, 0, -9 }, // 0x7a 'z' + { 1323, 9, 15, 10, 0, -14 }, // 0x7b '{' + { 1340, 6, 14, 7, 0, -14 }, // 0x7c '|' + { 1351, 9, 15, 10, 0, -14 }, // 0x7d '}' + { 1368, 10, 3, 11, 0, -12 }, // 0x7e '~' + { 1372, 10, 8, 11, 0, -10 }, // 0x7f '' }; const GFXfont Terminal11x16Font = { (uint8_t *)Terminal11x16Bitmap, (GFXglyph *)Terminal11x16Glyphs, - 0x20, 0x7F, 26 }; + 0x20, 0x7F, 22 };