diff --git a/ca_cert.pem b/ca_cert.pem deleted file mode 100644 index f2e6347..0000000 --- a/ca_cert.pem +++ /dev/null @@ -1,22 +0,0 @@ ------BEGIN CERTIFICATE----- -MIIDmTCCAoGgAwIBAgIUd5qKY6blEffPyHQZnmQfxkcCO7AwDQYJKoZIhvcNAQEL -BQAwXDELMAkGA1UEBhMCRlIxEzARBgNVBAgMClNvbWUtU3RhdGUxITAfBgNVBAoM -GEludGVybmV0IFdpZGdpdHMgUHR5IEx0ZDEVMBMGA1UEAwwMMTkyLjE2OC4wLjI4 -MB4XDTI0MTExMzE4MjYxOVoXDTI1MTExMzE4MjYxOVowXDELMAkGA1UEBhMCRlIx -EzARBgNVBAgMClNvbWUtU3RhdGUxITAfBgNVBAoMGEludGVybmV0IFdpZGdpdHMg -UHR5IEx0ZDEVMBMGA1UEAwwMMTkyLjE2OC4wLjI4MIIBIjANBgkqhkiG9w0BAQEF -AAOCAQ8AMIIBCgKCAQEA8lKPcpJ6/FhrI+E8fzR93N/XIfEW7GpFa+KNp+DK9DGS -hHno2yVGXNdUFRQEL/2pL8aiZzZ7xGMubzEIr1dlHrb/PplGRTXCxQWnDJDsOu4w -7TbzjYxDhgMwXhSGuFlMexFBh+W9qcO85l4wNSOhHusyf7XZaPAd3NGmK4XsoeXJ -DSROJLLpvyZM3yt1kuC3GTWSqUe4Ldv+kaAfyW+X/PJ7Tgb6frLGNCs5A0zLhFxb -FS2omnqX6+H2Bjvk3nCQr85zcuIrnXQ+Hy58MayS+dRqPTSNw7RqRVvrGUuQuj5y -/ruAVLjG6F9wTZZFJ8Nk2veuFxIG+8ADpglWoYrokQIDAQABo1MwUTAdBgNVHQ4E -FgQUUa64jnTc+VqWQB93Fp/yPuirm2cwHwYDVR0jBBgwFoAUUa64jnTc+VqWQB93 -Fp/yPuirm2cwDwYDVR0TAQH/BAUwAwEB/zANBgkqhkiG9w0BAQsFAAOCAQEAnqg9 -DeBozovXmwcbDTlTqz1b5LJ3Xz4mhUnEssmlDvvlXMqL1CjeXDKgOXtkWaomTJNO -MfMTmkkKg2lomNe2O84nUyPJnHYle5cbxZXAvbkmsi6R95lXFf5+bHAtU05TFYKc -BWMPB3Vwym9qrAc8G1LPr05LYgrJsQ9xkf0pVR7hrjgu9k6ElNAQSiH4dlyK4b/T -12U4zBawZNv3f6OnKOTq2NuwwzxWSwRRbEGUf0qO6Z8LNsj7yvmp2ImfN1e3a39p -+WmxJkHBzg5LxUon8jtiZLKeAPNlAPvKTs/4umE0LdZnsdlYrNR+kFeMMurxHvfZ -ykxPELUVUWEgv/IRbA== ------END CERTIFICATE----- diff --git a/ca_key.pem b/ca_key.pem deleted file mode 100644 index 0dca181..0000000 --- a/ca_key.pem +++ /dev/null @@ -1,28 +0,0 @@ ------BEGIN PRIVATE KEY----- -MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQDyUo9yknr8WGsj -4Tx/NH3c39ch8RbsakVr4o2n4Mr0MZKEeejbJUZc11QVFAQv/akvxqJnNnvEYy5v -MQivV2Uetv8+mUZFNcLFBacMkOw67jDtNvONjEOGAzBeFIa4WUx7EUGH5b2pw7zm -XjA1I6Ee6zJ/tdlo8B3c0aYrheyh5ckNJE4ksum/JkzfK3WS4LcZNZKpR7gt2/6R -oB/Jb5f88ntOBvp+ssY0KzkDTMuEXFsVLaiaepfr4fYGO+TecJCvznNy4iuddD4f -LnwxrJL51Go9NI3DtGpFW+sZS5C6PnL+u4BUuMboX3BNlkUnw2Ta964XEgb7wAOm -CVahiuiRAgMBAAECggEAHqYEkKgoN/xy6KHXRft8o9AH5LoafSJfz2pjIkWTRdlz -P6AvrHAFez6c2uGiOfOqT2mfJtDETK2CtPuNrqeuGXlpxSAbvCs1jDfPzg4SYs23 -kHkvyspfy/ZhSrTr6SsaOkKPeEG9gFhKbxSgokf0W/XBeFemvNgJ3uEBVGXm7P7l -MtwGTaM/wHRUqbLTxwzp++pzajs3YDZiU42TJP9hw2d6bBhRS0Jf0p8EAmDZRin2 -IdKl559pwLewfwfyDUd2ea4NpGVT7x5bX0vI0QKPfLbWyd5Q1+cv7dRi9EP8iB57 -anrrRHWFmq/+CX79CGMvbdt+3zqxFAgpDxLQ3gcIpQKBgQD5U9lKIUkFw6EqcNyq -Uz0+Z/0fXzhkABUBvzan+mbESYD+cnDzA2WX+bBgfmugcmWNTjUmW/6WC0ZhNQ/x -5SJz9OYKBmdkdg0XUm4ALhfwDvX6Pdq8A6NFHUg/y/ljjTC7n/qDkcB4L3/jENmX -ZT91biCV8574MUrqZk9FRInSDwKBgQD4zrhHgYcwD0iRFqSbUeaU/M/Vwh5ZyVlU -5+kXXsjfeXdMoTEeQaaWjkYjPzV+PcAw9BGQeS+GtOx18P/vuVvVGuFEgM1qBiGt -d1Ixb0sdzDDSP91tH1gXcYKM7DETIyOok+U48YTkEnsnxGk2iOjPHm1iu4mINKFa -YG/qm7u7XwKBgGY9Jesp/wGoGNyIb1RA0epXRgqpRzxqdDLFMCptmdp/sa+lSf+8 -stpA/zxyWrvubQomudDDBICOmwudcK5moVwfXn1Z5ufhKLkZihX00MgVunQlDR7v -9vGOcmQGxns2GHe3wEhXai9eevinnjJgyEblI+OZhOSNggTgcz0aP9GtAoGBAPHj -7+689BR6V1+PNvs2Fcm1O84iymUaRvov+UJaSUpSifR7Jgi3ZOEscu3jjvsrx8UQ -FF90IguBq/5CDmEewTQezPFPk+VHDsjZn5QmEk5m7PQLWRe1CGzKU1T0cAWd/RXw -q0LANCWT/h28a1m0ozpx54C8uMot+Mynw0bAnzRbAoGAG9rlCW9OBFIodxdAOUKH -8oJMF+hYBeyvzEdnZhhpShpnIWs0BKt2sWTFRoedLs5Pck3Y1VuOUWmSNhjLhd5X -f14tTFynLE42NL6eJ5FyFXLoogki4ObegIfgkFhrzHX4f6b6pD3GSDiXhru3ZjUr -mPOvd++V0fTVrC2DfTWaXV0= ------END PRIVATE KEY----- diff --git a/components/image_downloader/image_downloader.c b/components/image_downloader/image_downloader.c index 790f1dd..a5ab3ef 100644 --- a/components/image_downloader/image_downloader.c +++ b/components/image_downloader/image_downloader.c @@ -41,7 +41,7 @@ static const char *TAG = "ImgDwn"; #define IMGDWN_WIDTH_STR "800" #define IMGDWN_WIDTH 620 -#define IMGDWN_HEIGHT_STR "600" +#define IMGDWN_HEIGHT_STR "500" #define IMGDWN_HEIGHT 460 #define IMGDWN_URL2 ("http://vps-edf71efa.vps.ovh.net:3000/render/d-solo/7BtRMrv4k/temperatures?orgId=1&var-emplacement=entree_ECS&var-emplacement=entree_reseauSol&panelId=4&width=650&height=460&scale=1&tz=Europe%2FParis/") #define IMGDWN_URL ("http://vps-edf71efa.vps.ovh.net:3000/render/d-solo/bOcPeysGz/hauteur-cuve?orgId=1&from=now-2d&refresh=1m&panelId=4&width=" IMGDWN_WIDTH_STR "&height=" IMGDWN_HEIGHT_STR "&scale=1&tz=Europe%2FParis") // 650 460 diff --git a/dependencies.lock b/dependencies.lock index 5e505df..c29d992 100644 --- a/dependencies.lock +++ b/dependencies.lock @@ -7,6 +7,7 @@ dependencies: require: private version: '>=1.0.0,<2.0.0' - name: idf + registry_url: https://components.espressif.com require: private version: '>=5.0' source: @@ -17,6 +18,7 @@ dependencies: component_hash: 327091394b9ef5c2cd395a960ab70ae64479e0a8831cbd9925e38895fad93719 dependencies: - name: idf + registry_url: https://components.espressif.com require: private version: '>=4.1.0' source: @@ -27,6 +29,7 @@ dependencies: component_hash: cbb76089dc2c5749f7b470e2e70aedc44c9da519e04eb9a67d4c7ec275229e53 dependencies: - name: idf + registry_url: https://components.espressif.com require: private version: '>=4.1.0' source: @@ -37,6 +40,7 @@ dependencies: component_hash: 351350613ceafba240b761b4ea991e0f231ac7a9f59a9ee901f751bddc0bb18f dependencies: - name: idf + registry_url: https://components.espressif.com require: private version: '>=4.1' source: @@ -51,6 +55,7 @@ dependencies: require: private version: ^1.1.0 - name: idf + registry_url: https://components.espressif.com require: private version: '>=5.2' source: @@ -97,6 +102,7 @@ dependencies: component_hash: 014948481bda426cd46714f297fe1891711246c62bea288863a8cc8cf13ef1f0 dependencies: - name: idf + registry_url: https://components.espressif.com require: private version: '>=4.0' source: @@ -145,6 +151,7 @@ dependencies: component_hash: 779b4ba2464a3ae85681e4b860caa5fdc35801458c23f3039ee761bae7f442a4 dependencies: - name: idf + registry_url: https://components.espressif.com require: private version: '>=4.4.2' source: @@ -166,7 +173,7 @@ dependencies: type: service version: 1.1.3 espressif/esp_lvgl_port: - component_hash: bb938deffba7d80b2ce582a796c053681b0439e0a7033666688e0f1f5b921125 + component_hash: e720c95cf0667554a204591bb5fade4655fb2990465557041200fa44b5bc7556 dependencies: - name: idf require: private @@ -178,11 +185,12 @@ dependencies: source: registry_url: https://components.espressif.com/ type: service - version: 2.5.0 + version: 2.6.0 espressif/esp_serial_slave_link: component_hash: 8c534b7d4986ca0e4c41db71f559492b795ab862f1d15359d7993034696b7bcc dependencies: - name: idf + registry_url: https://components.espressif.com require: private version: '>=5.0' source: @@ -190,7 +198,7 @@ dependencies: type: service version: 1.1.0 espressif/esp_wifi_remote: - component_hash: f772731a8cc7361a3eb416eac94ac46cf85369cb996c5a5fc9245a07f241fee2 + component_hash: 6448c379c1dceef7f0dedd30635006118e8b768be884f3804d4a94930556e08c dependencies: - name: espressif/eppp_link registry_url: https://components.espressif.com @@ -208,13 +216,13 @@ dependencies: source: registry_url: https://components.espressif.com/ type: service - version: 0.8.5 + version: 0.9.2 idf: source: type: idf - version: 5.4.0 + version: 5.5.0 joltwallet/littlefs: - component_hash: 34b8c56a14f10b440845fe972ce34ef41d1d205bcb139b3dfc58983a10abf59b + component_hash: e1dbe782be5aa58e879fe9f22bee60e5ff68acbfe3793d92a2e730c27374c787 dependencies: - name: idf require: private @@ -222,7 +230,7 @@ dependencies: source: registry_url: https://components.espressif.com/ type: service - version: 1.19.1 + version: 1.19.2 lvgl/lvgl: component_hash: 2409fdc84e9766d2a18afd84b051aef3f838348136cdb1c10ac2e8bcdb012bf6 dependencies: [] @@ -234,6 +242,7 @@ dependencies: component_hash: b46dd8c20dee72654e8ea4a43b16e8a93e984a6c10426392a4b8486fed50ca93 dependencies: - name: idf + registry_url: https://components.espressif.com require: private version: '>=5.0' source: @@ -251,6 +260,6 @@ direct_dependencies: - joltwallet/littlefs - lvgl/lvgl - suda-morris/am2302_rmt -manifest_hash: 7f55ed1927cdc36bd55b14a1d25259f250e5b0415a9bf10a74a1681a6336990d +manifest_hash: fc9086d177c610d5a3ed802c7e759df686413041315e1f9bed4bca07bf42740f target: esp32p4 version: 2.0.0 diff --git a/main/CMakeLists.txt b/main/CMakeLists.txt index d99231a..54f8928 100644 --- a/main/CMakeLists.txt +++ b/main/CMakeLists.txt @@ -6,6 +6,15 @@ if(${IDF_TARGET} STREQUAL "esp32p4") list(APPEND comps bsp_extra esp32_p4_function_ev_board sdmmc vfs littlefs wifi_logger app_update esp_https_ota espcoredump esp_http_server) endif() +function (make_font fontSize) + execute_process(COMMAND podman run -v /home/marc/rgb_lcd/main/fonts:/app -w /app lvfontconv lv_font_conv --bpp 4 --size ${fontSize} --no-compress --font Montserrat-Medium.ttf --symbols "0123456789.°éèûCABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz %,'():" --format lvgl -o montserrat_medium_${fontSize}.c --font fa-solid-900.ttf --range 61461,0xf0c2,0xf575) +endfunction() + +make_font(12) +make_font(18) +make_font(24) + + idf_component_register(SRC_DIRS . fonts INCLUDE_DIRS "." REQUIRES ${comps} diff --git a/main/ca_cert.pem b/main/ca_cert.pem index bd2b618..1d22b3d 100644 --- a/main/ca_cert.pem +++ b/main/ca_cert.pem @@ -1,22 +1,22 @@ -----BEGIN CERTIFICATE----- -MIIDmTCCAoGgAwIBAgIUJyG8nVHyoUV/0lOqRtSCjVnEtfYwDQYJKoZIhvcNAQEL +MIIDmTCCAoGgAwIBAgIUOi7+QtiJLtk+Ianx4ZXIF53mfpYwDQYJKoZIhvcNAQEL BQAwXDELMAkGA1UEBhMCQVUxEzARBgNVBAgMClNvbWUtU3RhdGUxITAfBgNVBAoM GEludGVybmV0IFdpZGdpdHMgUHR5IEx0ZDEVMBMGA1UEAwwMMTkyLjE2OC4wLjI4 -MB4XDTI1MDUwNzA3NTMzMVoXDTI2MDUwNzA3NTMzMVowXDELMAkGA1UEBhMCQVUx +MB4XDTI1MDUwODIxMjA1MFoXDTI2MDUwODIxMjA1MFowXDELMAkGA1UEBhMCQVUx EzARBgNVBAgMClNvbWUtU3RhdGUxITAfBgNVBAoMGEludGVybmV0IFdpZGdpdHMg UHR5IEx0ZDEVMBMGA1UEAwwMMTkyLjE2OC4wLjI4MIIBIjANBgkqhkiG9w0BAQEF -AAOCAQ8AMIIBCgKCAQEAvG8y2D7/NR+7YZIRLUYgpe88nWxU/WPTgq5+0wZElEhx -e7ZG0YvYFy298RHhZ3m2KsMrWTaZcnjS41QRsMajoeIjCwnmJ5MkNfCMxAoeFC4D -p26CIzkA6h++RK8MmHLwEdB3sjskafd+Iu/bBA+KDUdQiy6GL3zXVOUjdUFB5MFT -EO0vNZhfjdpv4iQ71KIvS9ORCh6OfvSkUaRCoIa2NQXbLi4be0onV+8UXpX06V6Y -dADj+Gdw32STOb8PI24Ri1EQkED34IaGeaNte0+882ma3J8hX3vnXQbhpC1N+TqA -1szvZUDNs2qmRiLqXyZkxhXJRS055n0wjGdFUmzPgwIDAQABo1MwUTAdBgNVHQ4E -FgQUk7EOCIXLo4LGatOpmk1XdGr7tkwwHwYDVR0jBBgwFoAUk7EOCIXLo4LGatOp -mk1XdGr7tkwwDwYDVR0TAQH/BAUwAwEB/zANBgkqhkiG9w0BAQsFAAOCAQEAkGpE -Q8n9za+NxdAnBMcV4GB0zPBK2NNEY7OXbRv0GA/qBAd0CsvP9QbidC/9Toz7ptT4 -KyCZFGx8Xx2AWRx60kJ/f2VVUZIZzUoOA6qj3lN8keAT+OGWszvaXlXIbW/TJrs0 -lCv4ynkXI4dBhAd3DnXPQSrEyr1h8DValqh1R/kxi+Kb4SYODIoLz0aRbPJFes3z -n10wPTlxARiz6iKQrZP5UKIrFuWyBPZ5xCHn7AmNdqZqtBKB+ERychSjh5b0oznO -AzZDnBoB4lriWTM0yVV1w1eurz0B0Qtz/rqQnYEhWLJodZC8ipjeUoap6BcPHOMq -tx49i3GdxzVoewbZFQ== +AAOCAQ8AMIIBCgKCAQEAvdYH7paBRB93GgeJDrDYpdLzrTofTOJBNnUQ7YWvNI7A +Advt46Yy/Vz59f/vTKwy0F4hVZ4d8VY+0BShfaUrXl5OzWmJ7zCQzMLl74gqRnxw +d+ExmJDjH+qaDGtHfIbQrhP8y9rK/M8mLuLGhN/gbU2VVIoUIKRQelnQLH5eKCjg +2HyQplVfDT4yUGpAfK/clqhp55dsb8UD4xGSwCcH0DK9BZkPfGU2Icu6CEU0g+eA +vwCKuZmaI32AiII4ca5VH/pbVp9ROkGTgoQ0EKObqO1qgL628SwerHNYY+gtj4V8 +fpj1xognXLtaUGvGTDAfN4wWLXZ8DxSiCQ0l7bfwJQIDAQABo1MwUTAdBgNVHQ4E +FgQUQO787KNx3MuicFrM/IfEM7wRTuAwHwYDVR0jBBgwFoAUQO787KNx3MuicFrM +/IfEM7wRTuAwDwYDVR0TAQH/BAUwAwEB/zANBgkqhkiG9w0BAQsFAAOCAQEAduAp +Vqn4S2nkS0nrF/ahIV6tVqSluZShIRug3O+NGEDhVqv/qvJ0qlIQm1uRfrdY/CPq +PLBXHMcCU+M6/GjylHzxtmHU0UXQ7KGpMdVuTKR/z5GymU2yk+DRmz717JKZ9EeL +DaNH6nkIID5+OSPMOfxTAGGctjLZDumfWegZFPliVv0kwyrocCiScAGWz7FvKCRJ +Hl0xQELNafzhFIpHhZzGQ+uVUuzTstL/la0XqPV5ObHoFEkX/OHPLAKuayzxFWCK +f3JtKDgmtKbSUhsjBuZ1Yxb/oY+NiBddO7p60a8r4abZ6etzJ0Z7uO+lp9XKb2C1 +hzqdUje8g+LEe0jsKg== -----END CERTIFICATE----- diff --git a/main/ca_key.pem b/main/ca_key.pem new file mode 100644 index 0000000..806190e --- /dev/null +++ b/main/ca_key.pem @@ -0,0 +1,30 @@ +-----BEGIN ENCRYPTED PRIVATE KEY----- +MIIFHDBOBgkqhkiG9w0BBQ0wQTApBgkqhkiG9w0BBQwwHAQIyFKMPkFq4BYCAggA +MAwGCCqGSIb3DQIJBQAwFAYIKoZIhvcNAwcECNOtqNNR+tlNBIIEyNHx/EB9kkoD +3K3ES8DeRIY1Us2jkaMSe7Xg3ot9umWBOdDDDdQKRqmfzxxqU23J2Zuqe+r3v1Hy +8hWY0zst8FOn4ShY/HgnnmsnD4dQ6/iM+o1h86XUyCI9P94Tp1lEI38D/OPuYMS+ +0NbUzl8DsFqIkLI5y+LSRVrwK1S9IUV+g6pxdj/2ZHxhsWYDIdt/8tFhpf8iBe+y +bZilzBrgSEmjB9sNSFOdOtL8GP9DaQrr8Zsxk325tCrBcBdf91Z2fCOdt36Xfpas +0Q8wQYNonUVcylU7khzNgnqyDwD4XZ/Jrg1HGqVqNxn2xo47wPDntNlu9yeF33Qo +PTuNIVpGZ5mNfl3ipPriAyaPcDXE1v4bT7vzIpREUe1hxRoaRrPLK902tB/YO5B7 +hci+1VjJhe1rCM9AiODXnkhdt6s7xL+6SUES6EFvY5gslSpiscejqGWK2YANaqKx +nmTP0KLi0Ow0ymr8QbPe6c/7RJfEsgDMKeQqqJ5wv8erOtyrmcF1UP0zxF9pMPXz +Nzpz/nqOGCyel5RiHOptqVFte/4hsbs7zRoBJdnOmOmDUp8E6clx8eALlj4cvAbl +GdIxbdp2AFIom1t1m+Incqm5VO8tUwYLG/VnghPp7vkieqbreWyjxb+fg6DDvW37 +/dKwCIjAM6KVnCfQnY6EAPwqW8FiKlbmyPhU792T4BA2LqHJkNCfXEWT8OengxsQ +jrOWxjEg5vyIg1qeYf3eA0H6q3/us5V1FwivItgK6SVjiPZnaSrGKXTotgxU5Cr8 +7lkgWhb6X5VbLFjKcTLudTb+5HHVmtk+8wN9ZHBJ/7d/iBpO+jPXu1QKyCQZ9ek1 +hAv58TwnGiBJMlzKY4otAhHKOY/0EtWqy2JssOK0i6xdp2R11ZgiSo/rGDyWkbsT +5TQjQZ5A2JPI6jSlcOEIERjPCrbDx2PvKR4qRXOp+uDMGNum5sUkqjF5VtqV0T+L +KBdiKIPk/7xogxqxjWNiCCy3e+xQNq4zkBq4ewUJs+rK4wFPkhCjlMtWXVdF3LEM +rx/efSCam135ZX2sAZrwU09n+VpqRH5IJwoY2/n3AtY/g421TWjHzKXfi8Je98TH +yt7/dtYPpw0QOqxGMlXu1m5s5Sx25noLAdlPkfe1MhkDrinE30DbF7CqkdgPlyKS +7x13sLvJJPhaZo+6HPkzGyLVMVQ1jSum0X4yQ+9BhHypvLgd2flp37m7ZMLykeMB +HJttmsA/droEAE9Da07X7A9D+R3Zvs4Kdh9waXKPUPQIpx5xk5iXNMu6Yqpu5a4d +wa84tKoMQuGUXnZLE8dMNjhj2+uBTzZJHpuCaKyyMbhMum4uKB1MsEKKsD+2iQWu +XbKditDr94WyvEnsp84zwswmqwIc2x2GtqLJH0Hz/r/I6QAwDLcObiKQH4Uct7gU +wlxq7Pqtt03xbZkIbz/YQiopvZBrBUJiLyzg9s+x/Y3rFzcr061RAFhs2AQH4kYy +VGEelixbxgVbYu70hZ/cnkjTSzoCIXSWP2DgEnAKzIAymrwGbJShqR/YKsqhITBk +7XJwCFgSULZWtpVwo/x3qrD+j0tEp5uuT7Q204HoiDRXMkRZzVrlDnv8kXxqIXaO +iD3k7HTmrkw91pJQzZ6i3Q== +-----END ENCRYPTED PRIVATE KEY----- diff --git a/main/fonts/montserrat_medium_12.c b/main/fonts/montserrat_medium_12.c index d822c85..d850e56 100644 --- a/main/fonts/montserrat_medium_12.c +++ b/main/fonts/montserrat_medium_12.c @@ -1,7 +1,7 @@ /******************************************************************************* * Size: 12 px * Bpp: 4 - * Opts: --bpp 4 --size 12 --no-compress --font Montserrat-Medium.ttf --symbols 0123456789.°èéêûCABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz :-%, --format lvgl -o montserrat_medium_12.c --font fa-solid-900.ttf --range 61461,0xf0c2,0xf575 + * Opts: --bpp 4 --size 12 --no-compress --font Montserrat-Medium.ttf --symbols 0123456789.°éèûCABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz %,'(): --format lvgl -o montserrat_medium_12.c --font fa-solid-900.ttf --range 61461,0xf0c2,0xf575 ******************************************************************************/ #ifdef LV_LVGL_H_INCLUDE_SIMPLE @@ -32,12 +32,22 @@ static LV_ATTRIBUTE_LARGE_CONST const uint8_t glyph_bitmap[] = { 0x43, 0x90, 0x2a, 0x0, 0x49, 0x1, 0xb0, 0x47, 0x0, 0xc1, 0x0, 0x7b, 0xb1, + /* U+0027 "'" */ + 0x3c, 0x3b, 0x3b, 0x15, + + /* U+0028 "(" */ + 0xa, 0x71, 0xf1, 0x5c, 0x9, 0x80, 0xb6, 0xc, + 0x40, 0xd4, 0xc, 0x40, 0xb6, 0x9, 0x80, 0x5b, + 0x1, 0xf1, 0xa, 0x70, + + /* U+0029 ")" */ + 0x6b, 0x0, 0xf2, 0xb, 0x60, 0x7a, 0x5, 0xc0, + 0x4d, 0x3, 0xe0, 0x4d, 0x5, 0xc0, 0x7a, 0xb, + 0x60, 0xf1, 0x6b, 0x0, + /* U+002C "," */ 0x18, 0x4, 0xf1, 0xd, 0x3, 0x80, - /* U+002D "-" */ - 0x4f, 0xfd, 0x2, 0x22, - /* U+002E "." */ 0x2a, 0x4, 0xd0, @@ -471,13 +481,6 @@ static LV_ATTRIBUTE_LARGE_CONST const uint8_t glyph_bitmap[] = { 0xc5, 0xd0, 0x0, 0x0, 0xe, 0x92, 0x3a, 0x20, 0x2b, 0xfe, 0x90, - /* U+00EA "ê" */ - 0x0, 0x4f, 0xa0, 0x0, 0x2c, 0x29, 0x60, 0x0, - 0x0, 0x0, 0x0, 0x2b, 0xfd, 0x50, 0xe, 0x81, - 0x4e, 0x45, 0xc0, 0x0, 0x6b, 0x7f, 0xee, 0xee, - 0xc5, 0xd0, 0x0, 0x0, 0xe, 0x92, 0x3a, 0x20, - 0x2b, 0xfe, 0x90, - /* U+00FB "û" */ 0x1, 0xdd, 0x10, 0x0, 0xa5, 0x4b, 0x0, 0x0, 0x0, 0x0, 0xf, 0x30, 0x2, 0xf0, 0xf3, 0x0, @@ -535,116 +538,116 @@ static const lv_font_fmt_txt_glyph_dsc_t glyph_dsc[] = { {.bitmap_index = 0, .adv_w = 0, .box_w = 0, .box_h = 0, .ofs_x = 0, .ofs_y = 0} /* id = 0 reserved */, {.bitmap_index = 0, .adv_w = 52, .box_w = 0, .box_h = 0, .ofs_x = 0, .ofs_y = 0}, {.bitmap_index = 0, .adv_w = 162, .box_w = 10, .box_h = 9, .ofs_x = 0, .ofs_y = 0}, - {.bitmap_index = 45, .adv_w = 44, .box_w = 3, .box_h = 4, .ofs_x = 0, .ofs_y = -2}, - {.bitmap_index = 51, .adv_w = 74, .box_w = 4, .box_h = 2, .ofs_x = 0, .ofs_y = 2}, - {.bitmap_index = 55, .adv_w = 44, .box_w = 3, .box_h = 2, .ofs_x = 0, .ofs_y = 0}, - {.bitmap_index = 58, .adv_w = 128, .box_w = 8, .box_h = 9, .ofs_x = 0, .ofs_y = 0}, - {.bitmap_index = 94, .adv_w = 71, .box_w = 4, .box_h = 9, .ofs_x = 0, .ofs_y = 0}, - {.bitmap_index = 112, .adv_w = 110, .box_w = 7, .box_h = 9, .ofs_x = 0, .ofs_y = 0}, - {.bitmap_index = 144, .adv_w = 110, .box_w = 7, .box_h = 9, .ofs_x = 0, .ofs_y = 0}, - {.bitmap_index = 176, .adv_w = 128, .box_w = 8, .box_h = 9, .ofs_x = 0, .ofs_y = 0}, - {.bitmap_index = 212, .adv_w = 110, .box_w = 7, .box_h = 9, .ofs_x = 0, .ofs_y = 0}, - {.bitmap_index = 244, .adv_w = 118, .box_w = 8, .box_h = 9, .ofs_x = 0, .ofs_y = 0}, - {.bitmap_index = 280, .adv_w = 115, .box_w = 7, .box_h = 9, .ofs_x = 0, .ofs_y = 0}, - {.bitmap_index = 312, .adv_w = 124, .box_w = 8, .box_h = 9, .ofs_x = 0, .ofs_y = 0}, - {.bitmap_index = 348, .adv_w = 118, .box_w = 7, .box_h = 9, .ofs_x = 0, .ofs_y = 0}, - {.bitmap_index = 380, .adv_w = 44, .box_w = 3, .box_h = 7, .ofs_x = 0, .ofs_y = 0}, - {.bitmap_index = 391, .adv_w = 141, .box_w = 10, .box_h = 9, .ofs_x = -1, .ofs_y = 0}, - {.bitmap_index = 436, .adv_w = 145, .box_w = 8, .box_h = 9, .ofs_x = 1, .ofs_y = 0}, - {.bitmap_index = 472, .adv_w = 139, .box_w = 9, .box_h = 9, .ofs_x = 0, .ofs_y = 0}, - {.bitmap_index = 513, .adv_w = 159, .box_w = 9, .box_h = 9, .ofs_x = 1, .ofs_y = 0}, - {.bitmap_index = 554, .adv_w = 129, .box_w = 7, .box_h = 9, .ofs_x = 1, .ofs_y = 0}, - {.bitmap_index = 586, .adv_w = 122, .box_w = 7, .box_h = 9, .ofs_x = 1, .ofs_y = 0}, - {.bitmap_index = 618, .adv_w = 148, .box_w = 9, .box_h = 9, .ofs_x = 0, .ofs_y = 0}, - {.bitmap_index = 659, .adv_w = 156, .box_w = 8, .box_h = 9, .ofs_x = 1, .ofs_y = 0}, - {.bitmap_index = 695, .adv_w = 60, .box_w = 2, .box_h = 9, .ofs_x = 1, .ofs_y = 0}, - {.bitmap_index = 704, .adv_w = 98, .box_w = 6, .box_h = 9, .ofs_x = -1, .ofs_y = 0}, - {.bitmap_index = 731, .adv_w = 138, .box_w = 8, .box_h = 9, .ofs_x = 1, .ofs_y = 0}, - {.bitmap_index = 767, .adv_w = 114, .box_w = 7, .box_h = 9, .ofs_x = 1, .ofs_y = 0}, - {.bitmap_index = 799, .adv_w = 183, .box_w = 10, .box_h = 9, .ofs_x = 1, .ofs_y = 0}, - {.bitmap_index = 844, .adv_w = 156, .box_w = 8, .box_h = 9, .ofs_x = 1, .ofs_y = 0}, - {.bitmap_index = 880, .adv_w = 161, .box_w = 10, .box_h = 9, .ofs_x = 0, .ofs_y = 0}, - {.bitmap_index = 925, .adv_w = 139, .box_w = 8, .box_h = 9, .ofs_x = 1, .ofs_y = 0}, - {.bitmap_index = 961, .adv_w = 161, .box_w = 10, .box_h = 12, .ofs_x = 0, .ofs_y = -3}, - {.bitmap_index = 1021, .adv_w = 140, .box_w = 8, .box_h = 9, .ofs_x = 1, .ofs_y = 0}, - {.bitmap_index = 1057, .adv_w = 119, .box_w = 7, .box_h = 9, .ofs_x = 0, .ofs_y = 0}, - {.bitmap_index = 1089, .adv_w = 113, .box_w = 7, .box_h = 9, .ofs_x = 0, .ofs_y = 0}, - {.bitmap_index = 1121, .adv_w = 152, .box_w = 8, .box_h = 9, .ofs_x = 1, .ofs_y = 0}, - {.bitmap_index = 1157, .adv_w = 137, .box_w = 10, .box_h = 9, .ofs_x = -1, .ofs_y = 0}, - {.bitmap_index = 1202, .adv_w = 216, .box_w = 14, .box_h = 9, .ofs_x = 0, .ofs_y = 0}, - {.bitmap_index = 1265, .adv_w = 129, .box_w = 8, .box_h = 9, .ofs_x = 0, .ofs_y = 0}, - {.bitmap_index = 1301, .adv_w = 124, .box_w = 9, .box_h = 9, .ofs_x = -1, .ofs_y = 0}, - {.bitmap_index = 1342, .adv_w = 126, .box_w = 8, .box_h = 9, .ofs_x = 0, .ofs_y = 0}, - {.bitmap_index = 1378, .adv_w = 115, .box_w = 7, .box_h = 7, .ofs_x = 0, .ofs_y = 0}, - {.bitmap_index = 1403, .adv_w = 131, .box_w = 7, .box_h = 10, .ofs_x = 1, .ofs_y = 0}, - {.bitmap_index = 1438, .adv_w = 110, .box_w = 7, .box_h = 7, .ofs_x = 0, .ofs_y = 0}, - {.bitmap_index = 1463, .adv_w = 131, .box_w = 8, .box_h = 10, .ofs_x = 0, .ofs_y = 0}, - {.bitmap_index = 1503, .adv_w = 118, .box_w = 7, .box_h = 7, .ofs_x = 0, .ofs_y = 0}, - {.bitmap_index = 1528, .adv_w = 68, .box_w = 5, .box_h = 10, .ofs_x = 0, .ofs_y = 0}, - {.bitmap_index = 1553, .adv_w = 132, .box_w = 8, .box_h = 10, .ofs_x = 0, .ofs_y = -3}, - {.bitmap_index = 1593, .adv_w = 131, .box_w = 7, .box_h = 10, .ofs_x = 1, .ofs_y = 0}, - {.bitmap_index = 1628, .adv_w = 54, .box_w = 3, .box_h = 10, .ofs_x = 0, .ofs_y = 0}, - {.bitmap_index = 1643, .adv_w = 55, .box_w = 5, .box_h = 13, .ofs_x = -2, .ofs_y = -3}, - {.bitmap_index = 1676, .adv_w = 118, .box_w = 7, .box_h = 10, .ofs_x = 1, .ofs_y = 0}, - {.bitmap_index = 1711, .adv_w = 54, .box_w = 2, .box_h = 10, .ofs_x = 1, .ofs_y = 0}, - {.bitmap_index = 1721, .adv_w = 203, .box_w = 11, .box_h = 7, .ofs_x = 1, .ofs_y = 0}, - {.bitmap_index = 1760, .adv_w = 131, .box_w = 7, .box_h = 7, .ofs_x = 1, .ofs_y = 0}, - {.bitmap_index = 1785, .adv_w = 122, .box_w = 8, .box_h = 7, .ofs_x = 0, .ofs_y = 0}, - {.bitmap_index = 1813, .adv_w = 131, .box_w = 7, .box_h = 10, .ofs_x = 1, .ofs_y = -3}, - {.bitmap_index = 1848, .adv_w = 131, .box_w = 8, .box_h = 10, .ofs_x = 0, .ofs_y = -3}, - {.bitmap_index = 1888, .adv_w = 79, .box_w = 4, .box_h = 7, .ofs_x = 1, .ofs_y = 0}, - {.bitmap_index = 1902, .adv_w = 96, .box_w = 6, .box_h = 7, .ofs_x = 0, .ofs_y = 0}, - {.bitmap_index = 1923, .adv_w = 79, .box_w = 5, .box_h = 9, .ofs_x = 0, .ofs_y = 0}, - {.bitmap_index = 1946, .adv_w = 130, .box_w = 7, .box_h = 7, .ofs_x = 1, .ofs_y = 0}, - {.bitmap_index = 1971, .adv_w = 107, .box_w = 8, .box_h = 7, .ofs_x = -1, .ofs_y = 0}, - {.bitmap_index = 1999, .adv_w = 173, .box_w = 11, .box_h = 7, .ofs_x = 0, .ofs_y = 0}, - {.bitmap_index = 2038, .adv_w = 106, .box_w = 7, .box_h = 7, .ofs_x = 0, .ofs_y = 0}, - {.bitmap_index = 2063, .adv_w = 107, .box_w = 8, .box_h = 10, .ofs_x = -1, .ofs_y = -3}, - {.bitmap_index = 2103, .adv_w = 100, .box_w = 6, .box_h = 7, .ofs_x = 0, .ofs_y = 0}, - {.bitmap_index = 2124, .adv_w = 80, .box_w = 5, .box_h = 5, .ofs_x = 0, .ofs_y = 5}, - {.bitmap_index = 2137, .adv_w = 118, .box_w = 7, .box_h = 10, .ofs_x = 0, .ofs_y = 0}, - {.bitmap_index = 2172, .adv_w = 118, .box_w = 7, .box_h = 10, .ofs_x = 0, .ofs_y = 0}, - {.bitmap_index = 2207, .adv_w = 118, .box_w = 7, .box_h = 10, .ofs_x = 0, .ofs_y = 0}, - {.bitmap_index = 2242, .adv_w = 130, .box_w = 7, .box_h = 10, .ofs_x = 1, .ofs_y = 0}, - {.bitmap_index = 2277, .adv_w = 216, .box_w = 15, .box_h = 13, .ofs_x = -1, .ofs_y = -2}, - {.bitmap_index = 2375, .adv_w = 240, .box_w = 15, .box_h = 11, .ofs_x = 0, .ofs_y = -1}, - {.bitmap_index = 2458, .adv_w = 192, .box_w = 12, .box_h = 13, .ofs_x = 0, .ofs_y = -2} + {.bitmap_index = 45, .adv_w = 40, .box_w = 2, .box_h = 4, .ofs_x = 0, .ofs_y = 5}, + {.bitmap_index = 49, .adv_w = 65, .box_w = 3, .box_h = 13, .ofs_x = 1, .ofs_y = -3}, + {.bitmap_index = 69, .adv_w = 65, .box_w = 3, .box_h = 13, .ofs_x = 0, .ofs_y = -3}, + {.bitmap_index = 89, .adv_w = 44, .box_w = 3, .box_h = 4, .ofs_x = 0, .ofs_y = -2}, + {.bitmap_index = 95, .adv_w = 44, .box_w = 3, .box_h = 2, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 98, .adv_w = 128, .box_w = 8, .box_h = 9, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 134, .adv_w = 71, .box_w = 4, .box_h = 9, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 152, .adv_w = 110, .box_w = 7, .box_h = 9, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 184, .adv_w = 110, .box_w = 7, .box_h = 9, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 216, .adv_w = 128, .box_w = 8, .box_h = 9, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 252, .adv_w = 110, .box_w = 7, .box_h = 9, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 284, .adv_w = 118, .box_w = 8, .box_h = 9, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 320, .adv_w = 115, .box_w = 7, .box_h = 9, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 352, .adv_w = 124, .box_w = 8, .box_h = 9, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 388, .adv_w = 118, .box_w = 7, .box_h = 9, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 420, .adv_w = 44, .box_w = 3, .box_h = 7, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 431, .adv_w = 141, .box_w = 10, .box_h = 9, .ofs_x = -1, .ofs_y = 0}, + {.bitmap_index = 476, .adv_w = 145, .box_w = 8, .box_h = 9, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 512, .adv_w = 139, .box_w = 9, .box_h = 9, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 553, .adv_w = 159, .box_w = 9, .box_h = 9, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 594, .adv_w = 129, .box_w = 7, .box_h = 9, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 626, .adv_w = 122, .box_w = 7, .box_h = 9, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 658, .adv_w = 148, .box_w = 9, .box_h = 9, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 699, .adv_w = 156, .box_w = 8, .box_h = 9, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 735, .adv_w = 60, .box_w = 2, .box_h = 9, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 744, .adv_w = 98, .box_w = 6, .box_h = 9, .ofs_x = -1, .ofs_y = 0}, + {.bitmap_index = 771, .adv_w = 138, .box_w = 8, .box_h = 9, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 807, .adv_w = 114, .box_w = 7, .box_h = 9, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 839, .adv_w = 183, .box_w = 10, .box_h = 9, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 884, .adv_w = 156, .box_w = 8, .box_h = 9, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 920, .adv_w = 161, .box_w = 10, .box_h = 9, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 965, .adv_w = 139, .box_w = 8, .box_h = 9, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 1001, .adv_w = 161, .box_w = 10, .box_h = 12, .ofs_x = 0, .ofs_y = -3}, + {.bitmap_index = 1061, .adv_w = 140, .box_w = 8, .box_h = 9, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 1097, .adv_w = 119, .box_w = 7, .box_h = 9, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 1129, .adv_w = 113, .box_w = 7, .box_h = 9, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 1161, .adv_w = 152, .box_w = 8, .box_h = 9, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 1197, .adv_w = 137, .box_w = 10, .box_h = 9, .ofs_x = -1, .ofs_y = 0}, + {.bitmap_index = 1242, .adv_w = 216, .box_w = 14, .box_h = 9, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 1305, .adv_w = 129, .box_w = 8, .box_h = 9, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 1341, .adv_w = 124, .box_w = 9, .box_h = 9, .ofs_x = -1, .ofs_y = 0}, + {.bitmap_index = 1382, .adv_w = 126, .box_w = 8, .box_h = 9, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 1418, .adv_w = 115, .box_w = 7, .box_h = 7, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 1443, .adv_w = 131, .box_w = 7, .box_h = 10, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 1478, .adv_w = 110, .box_w = 7, .box_h = 7, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 1503, .adv_w = 131, .box_w = 8, .box_h = 10, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 1543, .adv_w = 118, .box_w = 7, .box_h = 7, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 1568, .adv_w = 68, .box_w = 5, .box_h = 10, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 1593, .adv_w = 132, .box_w = 8, .box_h = 10, .ofs_x = 0, .ofs_y = -3}, + {.bitmap_index = 1633, .adv_w = 131, .box_w = 7, .box_h = 10, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 1668, .adv_w = 54, .box_w = 3, .box_h = 10, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 1683, .adv_w = 55, .box_w = 5, .box_h = 13, .ofs_x = -2, .ofs_y = -3}, + {.bitmap_index = 1716, .adv_w = 118, .box_w = 7, .box_h = 10, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 1751, .adv_w = 54, .box_w = 2, .box_h = 10, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 1761, .adv_w = 203, .box_w = 11, .box_h = 7, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 1800, .adv_w = 131, .box_w = 7, .box_h = 7, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 1825, .adv_w = 122, .box_w = 8, .box_h = 7, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 1853, .adv_w = 131, .box_w = 7, .box_h = 10, .ofs_x = 1, .ofs_y = -3}, + {.bitmap_index = 1888, .adv_w = 131, .box_w = 8, .box_h = 10, .ofs_x = 0, .ofs_y = -3}, + {.bitmap_index = 1928, .adv_w = 79, .box_w = 4, .box_h = 7, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 1942, .adv_w = 96, .box_w = 6, .box_h = 7, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 1963, .adv_w = 79, .box_w = 5, .box_h = 9, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 1986, .adv_w = 130, .box_w = 7, .box_h = 7, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 2011, .adv_w = 107, .box_w = 8, .box_h = 7, .ofs_x = -1, .ofs_y = 0}, + {.bitmap_index = 2039, .adv_w = 173, .box_w = 11, .box_h = 7, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 2078, .adv_w = 106, .box_w = 7, .box_h = 7, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 2103, .adv_w = 107, .box_w = 8, .box_h = 10, .ofs_x = -1, .ofs_y = -3}, + {.bitmap_index = 2143, .adv_w = 100, .box_w = 6, .box_h = 7, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 2164, .adv_w = 80, .box_w = 5, .box_h = 5, .ofs_x = 0, .ofs_y = 5}, + {.bitmap_index = 2177, .adv_w = 118, .box_w = 7, .box_h = 10, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 2212, .adv_w = 118, .box_w = 7, .box_h = 10, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 2247, .adv_w = 130, .box_w = 7, .box_h = 10, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 2282, .adv_w = 216, .box_w = 15, .box_h = 13, .ofs_x = -1, .ofs_y = -2}, + {.bitmap_index = 2380, .adv_w = 240, .box_w = 15, .box_h = 11, .ofs_x = 0, .ofs_y = -1}, + {.bitmap_index = 2463, .adv_w = 192, .box_w = 12, .box_h = 13, .ofs_x = 0, .ofs_y = -2} }; /*--------------------- * CHARACTER MAPPING *--------------------*/ -static const uint16_t unicode_list_0[] = { - 0x0, 0x5, 0xc, 0xd, 0xe +static const uint8_t glyph_id_ofs_list_0[] = { + 0, 0, 0, 0, 0, 1, 0, 2, + 3, 4, 0, 0, 5, 0, 6, 0, + 7, 8, 9, 10, 11, 12, 13, 14, + 15, 16, 17 }; -static const uint16_t unicode_list_4[] = { - 0x0, 0x38, 0x39, 0x3a, 0x4b, 0xef65, 0xf012, 0xf4c5 +static const uint16_t unicode_list_3[] = { + 0x0, 0x38, 0x39, 0x4b, 0xef65, 0xf012, 0xf4c5 }; /*Collect the unicode lists and glyph_id offsets*/ static const lv_font_fmt_txt_cmap_t cmaps[] = { { - .range_start = 32, .range_length = 15, .glyph_id_start = 1, - .unicode_list = unicode_list_0, .glyph_id_ofs_list = NULL, .list_length = 5, .type = LV_FONT_FMT_TXT_CMAP_SPARSE_TINY + .range_start = 32, .range_length = 27, .glyph_id_start = 1, + .unicode_list = NULL, .glyph_id_ofs_list = glyph_id_ofs_list_0, .list_length = 27, .type = LV_FONT_FMT_TXT_CMAP_FORMAT0_FULL }, { - .range_start = 48, .range_length = 11, .glyph_id_start = 6, + .range_start = 65, .range_length = 26, .glyph_id_start = 19, .unicode_list = NULL, .glyph_id_ofs_list = NULL, .list_length = 0, .type = LV_FONT_FMT_TXT_CMAP_FORMAT0_TINY }, { - .range_start = 65, .range_length = 26, .glyph_id_start = 17, + .range_start = 97, .range_length = 26, .glyph_id_start = 45, .unicode_list = NULL, .glyph_id_ofs_list = NULL, .list_length = 0, .type = LV_FONT_FMT_TXT_CMAP_FORMAT0_TINY }, { - .range_start = 97, .range_length = 26, .glyph_id_start = 43, - .unicode_list = NULL, .glyph_id_ofs_list = NULL, .list_length = 0, .type = LV_FONT_FMT_TXT_CMAP_FORMAT0_TINY - }, - { - .range_start = 176, .range_length = 62662, .glyph_id_start = 69, - .unicode_list = unicode_list_4, .glyph_id_ofs_list = NULL, .list_length = 8, .type = LV_FONT_FMT_TXT_CMAP_SPARSE_TINY + .range_start = 176, .range_length = 62662, .glyph_id_start = 71, + .unicode_list = unicode_list_3, .glyph_id_ofs_list = NULL, .list_length = 7, .type = LV_FONT_FMT_TXT_CMAP_SPARSE_TINY } }; @@ -656,254 +659,275 @@ static const lv_font_fmt_txt_cmap_t cmaps[] = /*Map glyph_ids to kern left classes*/ static const uint8_t kern_left_class_mapping[] = { - 0, 0, 1, 2, 3, 2, 4, 0, - 5, 6, 7, 8, 9, 10, 11, 4, - 12, 13, 14, 15, 16, 17, 18, 19, - 20, 20, 21, 22, 23, 20, 20, 16, - 24, 16, 25, 26, 27, 21, 28, 28, - 29, 30, 31, 32, 33, 34, 35, 36, - 37, 38, 32, 38, 38, 39, 35, 32, - 32, 33, 33, 40, 41, 42, 43, 38, - 44, 44, 45, 44, 46, 47, 36, 36, - 36, 38, 0, 0, 0 + 0, 0, 1, 2, 3, 4, 5, 5, + 6, 0, 7, 8, 9, 10, 11, 12, + 13, 6, 14, 15, 16, 17, 18, 19, + 20, 21, 22, 22, 23, 24, 25, 22, + 22, 18, 26, 18, 27, 28, 29, 23, + 30, 30, 31, 32, 33, 34, 35, 36, + 37, 38, 39, 40, 34, 40, 40, 41, + 37, 34, 34, 35, 35, 42, 43, 44, + 45, 40, 46, 46, 47, 46, 48, 49, + 38, 38, 40, 0, 0, 0 }; /*Map glyph_ids to kern right classes*/ static const uint8_t kern_right_class_mapping[] = { - 0, 0, 1, 2, 3, 2, 4, 5, - 6, 7, 8, 9, 4, 10, 11, 12, - 13, 14, 15, 16, 15, 15, 15, 16, - 15, 15, 17, 15, 15, 15, 15, 16, - 15, 16, 15, 18, 19, 20, 21, 21, - 22, 23, 24, 25, 26, 27, 27, 27, - 0, 27, 26, 28, 29, 26, 26, 30, - 30, 27, 30, 27, 30, 31, 32, 33, - 34, 34, 35, 34, 36, 37, 27, 27, - 27, 33, 0, 0, 0 + 0, 0, 1, 2, 3, 4, 5, 5, + 6, 7, 8, 9, 10, 11, 6, 12, + 13, 14, 15, 16, 17, 18, 17, 17, + 17, 18, 17, 17, 19, 17, 17, 17, + 17, 18, 17, 18, 17, 20, 21, 22, + 23, 23, 24, 25, 26, 27, 28, 29, + 29, 29, 0, 29, 28, 30, 31, 28, + 28, 32, 32, 29, 32, 29, 32, 33, + 34, 35, 36, 36, 37, 36, 38, 39, + 29, 29, 35, 0, 0, 0 }; /*Kern values between classes*/ static const int8_t kern_class_values[] = { - -23, 6, 4, 0, -4, 2, 2, 6, - 4, -3, 4, 0, 0, 0, 0, 0, + -23, -5, 0, -4, 6, 0, -4, 2, + 2, 6, 4, -3, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, -5, -12, 0, -1, - -2, -2, 2, 2, -2, 0, -2, 2, + 0, 0, 0, 0, 0, 0, -5, 5, + 9, 0, 0, -11, 1, 9, 4, 3, + -8, 1, 9, 1, 8, 2, 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, 2, 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, -12, -7, -1, 1, 1, -3, -2, - -4, 1, 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, 1, 0, -1, -1, -2, 0, 0, - -1, 0, 0, 0, -2, 0, 0, -4, - 0, -4, 0, -5, -6, -6, -4, 0, - 0, 0, 0, -2, 0, 0, 2, 0, - 1, -2, 0, 1, 2, 2, -1, -1, + 0, -7, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, -12, -11, 0, 0, + 0, -2, -2, 2, 2, -2, 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, -12, 0, 1, 0, 0, -2, + 0, -1, -1, -2, 0, 0, -1, 0, + 0, 0, -2, 0, 0, -4, 0, -4, + 0, -5, -6, -6, -4, 0, 0, 0, + 0, -2, 0, 0, 2, 0, 1, -2, + 0, 1, 2, 0, 0, 0, 2, -1, 0, 0, 0, -4, 0, -1, 0, 0, 0, 1, 0, 0, 2, 0, -1, 0, -2, 0, -3, 0, 0, 0, -2, 0, 0, 0, 0, 0, -1, 1, -1, -1, - 0, -2, 0, 0, 0, 0, -1, -1, - 0, -2, -2, 0, 0, 0, 1, 0, - 0, 0, 0, -1, 0, -2, -2, -2, - 0, 0, 0, 0, 0, -1, 0, 0, - 0, 0, -1, -2, 0, -3, -6, 4, - 2, 0, -5, -1, -2, 0, -1, -9, - 2, -1, 1, 0, 0, 2, 1, -1, - -10, 0, -10, -2, -17, -1, 5, 0, - 2, 0, 0, 0, 0, 0, 0, -3, - -2, 0, -6, -2, 0, 0, 0, 0, - -1, -1, 0, -1, -2, 0, 0, 0, - 0, 0, 0, -2, 0, -2, 0, -1, - -2, -2, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, -2, -2, 0, -2, - -4, 2, 1, 0, 0, 0, 0, 0, + 0, -2, -2, 0, 0, 0, 0, 0, + -1, -1, 0, -2, -2, 0, 0, 0, + 1, 0, 0, 0, 0, -1, 0, -2, + -2, -2, 0, 0, 0, 0, 0, -1, + 0, 0, 0, 0, -1, -2, 0, -3, + -6, -6, 0, 0, 4, 0, -5, -1, + -2, 0, -1, -9, 2, -1, 1, 0, + 0, 2, 1, -1, -10, 0, -10, -2, + -17, -1, 5, 0, 2, 0, 0, 0, + 0, 0, 0, -3, -2, 0, -6, -2, + 0, 0, 0, 0, 0, 0, -1, -1, + 0, -1, -2, 0, 0, 0, 0, 0, + 0, -2, 0, -2, 0, -1, -2, -2, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, -2, -2, 0, -2, -4, -1, + 0, 0, 2, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 1, 0, 0, 0, 0, -2, 0, -2, -1, -2, 0, 0, 0, 2, 0, -2, 0, 0, 0, - 0, -2, -3, 0, -4, 1, -10, -10, - -4, 2, 0, -2, -12, -3, 0, -3, - 0, -4, -12, 0, -3, -5, -1, 0, - 0, 1, -1, 2, -1, -7, 0, -10, - -5, -4, -5, -6, -2, -5, 0, -4, - -5, 1, -2, 2, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, -1, - 0, 0, -1, 0, -2, 0, -3, -4, - -4, -1, 0, 0, 0, 0, -2, 0, - 0, 0, 0, 1, -1, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 1, 0, 0, 0, 0, 0, 0, 0, + 0, -2, -3, 0, -4, 1, 6, 0, + 0, -10, -4, 2, 0, -2, -12, -3, + 0, -3, 0, -4, -12, 0, -3, -5, + -1, 0, 0, 1, -1, 2, -1, -7, + 0, -10, -5, -4, -5, -6, -2, -5, + 0, -4, -5, 1, -2, 1, 0, 0, + 2, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, -1, 0, 0, -1, 0, + -2, 0, -3, -4, -4, -1, 0, 0, + 0, 0, -2, 0, 0, 0, 0, 1, + -1, 0, 0, 0, 2, 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, 6, -3, -2, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, -8, 0, 0, 6, -2, -8, 0, 2, -3, 0, -10, -1, -2, 2, 2, 0, -2, 3, 0, -7, -3, -7, -6, -8, 0, 0, 0, -1, 0, 0, 0, -1, -1, -2, -5, -6, 0, - -18, 0, 1, 0, 0, 0, 0, 0, + -18, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, -2, 0, -1, -2, -3, + 0, 0, 0, 0, 0, -2, 0, -1, + -2, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 2, - -1, -4, 2, -1, -1, -5, -2, 0, - -2, -2, -1, -3, 0, -3, 0, -1, - -2, -1, -1, -3, -2, 0, -1, 0, - -4, 0, 0, 0, -4, 0, -3, 0, - -3, -3, 2, 0, -4, 1, 0, -2, - -2, -2, 0, 0, 0, 0, 0, 0, - -2, 0, 0, -3, 0, -2, 0, -4, - -5, -6, -2, 0, 0, 0, 0, 15, - 0, 0, 1, 0, 0, -2, 0, 2, - 0, 2, -4, -3, 0, -1, -2, -6, + 0, 0, 0, 0, 2, -4, 2, -1, + -1, -5, -2, 0, -2, -2, -1, -3, + 0, -3, 0, -1, -2, -1, -1, -3, + -2, 0, -1, 0, -4, 0, 0, 0, + -4, 0, -3, 0, -3, -3, 2, 0, + -3, 0, 2, -4, 0, -2, -2, -2, + 0, 0, 0, 0, 0, 0, -2, 0, + 0, -3, 0, -2, 0, -4, -5, -6, + -2, 0, 0, 0, 0, 15, 0, 0, + 1, 0, 0, -2, 0, 2, 0, 0, + 0, 0, 2, -3, 0, -1, -2, -6, -1, -1, -1, -1, -1, 0, 0, -1, 0, 0, 0, 0, -2, -2, -2, 0, -1, 0, -1, 0, 0, 0, -1, -2, - -1, -2, -2, -2, 0, 0, -2, 0, - -2, 3, 0, 0, -9, -3, 2, -3, - 1, 0, -6, 0, -2, -3, -1, 1, - 0, 0, -3, 0, 0, -4, 0, -3, - -2, -3, -2, -2, 0, -3, 1, -4, - -3, 6, 0, 2, 0, 0, 0, 0, + -1, -2, -2, -2, 0, 0, 8, 0, + -1, -2, -2, 3, 0, 0, -9, -3, + 2, -3, 1, 0, -6, 0, -2, -3, + -1, 1, 0, 0, -3, 0, 0, -4, + 0, -3, -2, -3, -2, -2, 0, -3, + 1, -4, -3, 6, 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, 0, 0, 0, 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, -1, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -3, 0, 0, 0, 0, -2, 0, 0, -2, -2, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, -1, 0, - 0, 0, 0, -6, -4, 4, 0, -1, - -9, 0, 0, -4, -2, 0, -5, 0, - -5, 0, -3, -8, -2, -8, -7, -9, - 0, -2, 0, -4, -2, -1, -2, -3, - -5, -3, -7, -8, -4, -2, 0, 6, - -2, -4, -7, 0, 1, -6, 0, -10, - -1, -2, 4, 1, 0, -2, 0, -1, - -12, -2, -10, -2, -14, 0, 1, 0, - -1, 0, 0, 0, 0, -1, -1, -7, - -1, 0, -12, 0, -5, -1, 0, 0, - -1, -3, -6, -2, 0, -1, 0, 0, - -9, -2, 0, -6, 0, -6, -2, -3, - -5, -2, -3, -3, 0, -2, -4, -2, - -4, 0, 1, 0, -1, -6, 0, 4, + 0, 0, 0, 0, 0, 0, -4, 4, + 0, -1, -9, 0, 0, -4, -2, 0, + -5, 0, -5, 0, -3, -8, -2, -8, + -7, -9, 0, -2, 0, -4, -2, -1, + -2, -3, -5, -3, -7, -8, -4, -2, + 0, 0, 0, 0, 6, -4, -7, 0, + 1, -6, 0, -10, -1, -2, 4, 1, + 0, -2, 0, -1, -12, -2, -10, -2, + -14, 0, 1, 0, -1, 0, 0, 0, + 0, -1, -1, -7, -1, 0, -12, 0, + 0, 0, -2, -5, 0, 0, -1, -3, + -6, -2, 0, -1, 0, 0, -9, -2, + 0, -6, 0, -6, -2, -3, -5, -2, + -3, -3, 0, -2, -4, -2, -4, 0, + 1, 0, -1, -6, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, -1, -4, 0, 0, 0, 0, 0, 0, 0, 0, -2, 0, -2, 0, 0, -4, -2, 0, -1, 0, 0, 0, 0, 0, 0, 1, - 0, 0, 0, 0, 3, 0, 4, 3, - 0, -2, 0, -1, 2, 0, -2, 0, - -2, -1, 0, 0, 0, 0, 0, -2, - 0, 0, -2, -3, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, -2, -2, - 0, -3, 0, -6, -6, -4, 8, 3, - 2, -17, -1, 4, -2, 0, -2, -7, - 0, -2, -2, -2, 2, -2, -2, -6, - -2, 0, -5, 0, -11, -2, 6, -2, - -7, 1, -2, -6, -6, -2, 8, 0, - -7, -4, -5, 6, 0, 1, -14, -2, - 2, -3, -1, -4, -7, -3, -4, -3, - -3, -2, 0, 0, -4, -4, -2, -11, - 0, -11, -3, 0, -7, -11, -1, -6, - -3, -6, -5, 5, 0, 0, -3, -6, + 0, 0, 0, 0, 3, 0, -6, 0, + 0, 4, 0, -2, 0, -1, 2, 0, + -2, 0, -2, -1, 0, 0, 0, 0, + 0, -2, 0, 0, -2, -3, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + -2, -2, 0, -3, 0, 2, -3, 0, + -6, -4, 8, 3, 2, -17, -1, 4, + -2, 0, -2, -7, 0, -2, -2, -2, + 2, -2, -2, -6, -2, 0, -5, 0, + -11, -2, 6, -2, -7, 1, -2, -6, + -6, -2, 8, 0, 0, 0, 2, -7, + -5, 6, 0, 1, -14, -2, 2, -3, + -1, -4, -7, -3, -4, -3, -3, -2, + 0, 0, -4, -4, -2, -11, 0, -11, + -3, 0, -7, -11, -1, -6, -3, -6, + -5, 5, 0, 0, -2, 0, 0, -6, 2, 0, 0, -10, 0, -2, -4, -3, -1, -6, -4, -5, 0, -2, -6, -2, -4, -4, -6, -2, -3, 0, -6, -2, 0, -2, -4, -4, -5, -5, -7, -2, - -4, 0, -7, -6, -6, 6, -2, 1, - -18, -3, 4, -4, -3, -7, -8, -2, - -6, -2, -3, -2, -2, -4, -6, -1, - 0, -12, 0, -12, -4, 5, -7, -13, - -4, -7, -8, -10, -6, 4, 0, 4, - -2, -4, 4, 0, 0, -6, -1, 0, - -1, 0, 1, 0, 0, -2, 0, 0, - 0, 0, 0, -2, 0, 0, 0, 0, - -2, 0, 0, 0, 0, -1, -1, -2, - 0, 0, 0, -5, 0, 0, 0, -4, - -1, 0, 0, 0, -4, 0, -2, 0, + -4, 0, 0, -2, 1, -7, -6, 6, + -2, 1, -18, -3, 4, -4, -3, -7, + -8, -2, -6, -2, -3, -2, -2, -4, + -6, -1, 0, -12, 0, -12, -4, 5, + -7, -13, -4, -7, -8, -10, -6, 4, + 0, 0, 0, 0, 4, -4, 4, 0, + 0, -6, -1, 0, -1, 0, 1, 0, + 0, -2, 0, 0, 0, 0, 0, -2, + 0, 0, 0, 0, -2, 0, 0, 0, + 0, -1, -1, -2, 0, 0, 0, -5, + 0, 0, 0, 0, 0, -4, -1, 0, + 0, 0, -4, 0, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 1, 0, 0, - 0, 0, 0, 0, -2, 0, 0, -4, - -5, -2, 2, 0, -5, -2, -4, 0, + 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, -2, 0, 0, -4, -5, -3, + 0, 0, -2, 0, -5, -2, -4, 0, 0, -5, 0, -2, 0, -2, 0, 0, 0, 0, -16, -4, -8, -2, -7, 0, -1, 0, 0, 0, 0, 0, 0, 0, - 0, -3, -3, -2, -3, 0, 4, -2, - -1, -4, -1, -3, -4, 0, -2, -1, - -1, 1, 0, 0, -1, 0, 0, -17, - -2, -3, 0, -4, 0, 0, -1, -2, - 0, 0, 0, 0, 1, 0, -1, -3, - -1, 3, 0, 0, 0, 0, 0, 0, + 0, -3, -3, -2, -3, 0, 0, 0, + -4, 4, -1, -4, -1, -3, -4, 0, + -2, -1, -1, 1, 0, 0, -1, 0, + 0, -17, -2, -3, 0, -4, 0, 0, + -1, -2, 0, 0, 0, 0, 1, 0, + -1, -3, -1, 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, 2, 0, 0, 0, 0, 0, -1, - 0, 2, 0, -5, -2, -4, 0, 0, - -5, 0, -2, 0, 0, 0, 0, 0, - 0, -19, 0, -4, -7, -10, 0, -3, - 0, 0, 0, 0, 0, 0, 0, 0, - -2, -3, -1, -3, 3, -2, -2, 2, + 0, 0, 0, 0, 0, 2, 0, 0, + 0, 0, 0, -1, -4, 0, 0, 0, + 0, -5, -2, -4, 0, 0, -5, 0, + -2, 0, 0, 0, 0, 0, 0, -19, + 0, -4, -7, -10, 0, -3, 0, 0, + 0, 0, 0, 0, 0, 0, -2, -3, + -1, -3, 3, 0, 0, 6, -2, 2, 9, 3, 4, -5, 2, 8, 2, 6, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -2, 0, -2, 15, 8, 15, 0, 0, 0, 2, 0, 0, - 7, 0, 0, 0, 0, -1, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, -3, -16, -2, -2, -8, -9, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 2, - -4, -2, 2, 3, 2, -6, 0, 0, - -2, 2, 0, 0, 0, 0, 0, 0, - -5, 0, -2, -1, -4, 0, -2, 0, - -4, -1, 0, -1, -3, 0, -2, -5, - -4, -2, 0, 0, 0, 0, 0, -1, + 7, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -3, -16, -2, -2, - -8, -9, 0, 0, 0, 0, 0, 10, + -8, -9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, -2, -2, 1, -1, 1, -1, -5, + 0, 0, 0, 0, 2, -2, 2, 3, + 2, -6, 0, 0, -2, 2, 0, 0, + 0, 0, 0, 0, -5, 0, -2, -1, + -4, 0, -2, 0, -4, -1, 0, -1, + -3, 0, -2, -5, -4, -2, 0, 0, + 0, 0, 0, 0, 0, -1, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, -3, -16, -2, -2, -8, -9, + 0, 0, 0, 0, 0, 10, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + -2, -2, -2, 1, -1, 1, -1, -5, 0, 4, 0, 2, 1, -8, -2, -5, 0, -3, -7, -4, -5, -8, -7, 0, -2, -1, -2, -1, 0, -1, -1, 3, 0, 3, -1, 0, 6, 0, 0, 0, - 0, -1, -2, -2, 0, 0, -5, 0, - -1, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, -1, -2, -2, 0, 0, + -5, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, -2, -2, - 0, -2, 0, 2, -2, -3, -4, -1, - 0, -6, -1, -4, -1, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, -3, 0, 0, 0, - 0, -2, 0, -2, 0, 0, -1, 0, - -6, -2, 1, 2, 2, 0, -5, 1, - 3, 1, 6, 1, -5, 0, -1, 0, - -1, -8, 0, 0, -6, -5, 0, -3, - 0, -3, 0, -3, 0, -1, 3, 0, - -2, -6, -2, 7, 0, 0, -4, -2, + -2, -2, 0, -2, 0, 0, 0, 0, + 2, -3, -4, -1, 0, -6, -1, -4, + -1, -2, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + -3, 0, 0, 0, 0, -2, 0, -2, + 0, 0, -1, 0, 0, 0, 0, -6, + 1, 2, 2, 0, -5, 1, 3, 1, + 6, 1, -5, 0, -1, 0, -1, -8, + 0, 0, -6, -5, 0, -3, 0, -3, + 0, -3, 0, -1, 3, 0, -2, -6, + -2, 7, 0, 0, 0, 0, 0, -2, 2, 0, 0, -6, 0, -1, -1, 0, -2, 0, 0, -2, 0, -2, -8, -2, -4, 0, -6, 0, -2, 0, -3, 0, 1, 0, -2, 0, -2, -6, 0, -2, - 2, 0, 1, -2, 0, -2, -1, 0, - -2, 0, 0, 0, 0, 0, 0, 0, + 2, 0, 0, 0, 0, 1, 0, -2, + -1, 0, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, -2, 0, 0, 0, 0, - 0, 0, -2, -2, 0, 0, 4, -12, - 0, 1, 8, 6, 3, -8, 1, 8, - 0, 7, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, -2, 0, 0, + 0, 0, 0, 0, -2, -2, 0, 0, + 4, 4, 0, 0, -12, 1, 8, 6, + 3, -8, 1, 8, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0 + 0, 0, 0, 0, 0, 0, 0 }; @@ -913,8 +937,8 @@ static const 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 = 47, - .right_class_cnt = 37, + .left_class_cnt = 49, + .right_class_cnt = 39, }; /*-------------------- @@ -936,7 +960,7 @@ static lv_font_fmt_txt_dsc_t font_dsc = { .cmaps = cmaps, .kern_dsc = &kern_classes, .kern_scale = 16, - .cmap_num = 5, + .cmap_num = 4, .bpp = 4, .kern_classes = 1, .bitmap_format = 0, diff --git a/main/fonts/montserrat_medium_18.c b/main/fonts/montserrat_medium_18.c index a8b6b58..d69b1d7 100644 --- a/main/fonts/montserrat_medium_18.c +++ b/main/fonts/montserrat_medium_18.c @@ -1,7 +1,7 @@ /******************************************************************************* * Size: 18 px * Bpp: 4 - * Opts: --bpp 4 --size 18 --no-compress --font Montserrat-Medium.ttf --symbols 0123456789.°èéêûCABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz :-%, --format lvgl -o montserrat_medium_18.c --font fa-solid-900.ttf --range 61461,0xf0c2,0xf575 + * Opts: --bpp 4 --size 18 --no-compress --font Montserrat-Medium.ttf --symbols 0123456789.°éèûCABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz %,'(): --format lvgl -o montserrat_medium_18.c --font fa-solid-900.ttf --range 61461,0xf0c2,0xf575 ******************************************************************************/ #ifdef LV_LVGL_H_INCLUDE_SIMPLE @@ -39,13 +39,29 @@ static LV_ATTRIBUTE_LARGE_CONST const uint8_t glyph_bitmap[] = { 0x5, 0xe1, 0x0, 0x1f, 0x50, 0x0, 0x2, 0xbf, 0xc3, 0x0, + /* U+0027 "'" */ + 0xda, 0xd9, 0xd9, 0xc8, 0xc8, 0x0, + + /* U+0028 "(" */ + 0x0, 0x6f, 0x40, 0xd, 0xc0, 0x4, 0xf6, 0x0, + 0x9f, 0x20, 0xd, 0xd0, 0x0, 0xfb, 0x0, 0x2f, + 0x80, 0x3, 0xf7, 0x0, 0x4f, 0x60, 0x4, 0xf6, + 0x0, 0x3f, 0x70, 0x2, 0xf8, 0x0, 0xf, 0xb0, + 0x0, 0xdd, 0x0, 0x8, 0xf1, 0x0, 0x3f, 0x60, + 0x0, 0xdc, 0x0, 0x6, 0xf4, + + /* U+0029 ")" */ + 0x3f, 0x70, 0x0, 0xbe, 0x0, 0x5, 0xf5, 0x0, + 0x1f, 0xa0, 0x0, 0xce, 0x0, 0x9, 0xf1, 0x0, + 0x7f, 0x30, 0x6, 0xf4, 0x0, 0x5f, 0x50, 0x5, + 0xf5, 0x0, 0x6f, 0x40, 0x7, 0xf3, 0x0, 0x9f, + 0x10, 0xc, 0xe0, 0x1, 0xfa, 0x0, 0x5f, 0x50, + 0xb, 0xe0, 0x3, 0xf7, 0x0, + /* U+002C "," */ 0x1, 0x10, 0xe, 0xf1, 0xf, 0xf2, 0x7, 0xe0, 0xb, 0x90, 0xe, 0x40, - /* U+002D "-" */ - 0x88, 0x88, 0x7f, 0xff, 0xfe, - /* U+002E "." */ 0x5, 0x60, 0x1f, 0xf2, 0xc, 0xd0, @@ -770,18 +786,6 @@ static LV_ATTRIBUTE_LARGE_CONST const uint8_t glyph_bitmap[] = { 0x9, 0x10, 0x0, 0xdf, 0xda, 0xae, 0xf6, 0x0, 0x0, 0x7d, 0xff, 0xc5, 0x0, - /* U+00EA "ê" */ - 0x0, 0x0, 0xbf, 0xc0, 0x0, 0x0, 0x0, 0xae, - 0x4d, 0xb0, 0x0, 0x0, 0x49, 0x10, 0x18, 0x40, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x8, - 0xdf, 0xe9, 0x10, 0x0, 0x1d, 0xfb, 0x8a, 0xfe, - 0x20, 0xa, 0xf3, 0x0, 0x3, 0xfb, 0x0, 0xfa, - 0x0, 0x0, 0x9, 0xf1, 0x3f, 0xff, 0xff, 0xff, - 0xff, 0x33, 0xfa, 0x33, 0x33, 0x33, 0x30, 0xf, - 0xd0, 0x0, 0x0, 0x0, 0x0, 0x9f, 0x90, 0x0, - 0x9, 0x10, 0x0, 0xdf, 0xda, 0xae, 0xf6, 0x0, - 0x0, 0x7d, 0xff, 0xc5, 0x0, - /* U+00FB "û" */ 0x0, 0x4, 0xff, 0x50, 0x0, 0x0, 0x3f, 0x87, 0xf5, 0x0, 0x0, 0x75, 0x0, 0x47, 0x0, 0x0, @@ -881,116 +885,116 @@ static const lv_font_fmt_txt_glyph_dsc_t glyph_dsc[] = { {.bitmap_index = 0, .adv_w = 0, .box_w = 0, .box_h = 0, .ofs_x = 0, .ofs_y = 0} /* id = 0 reserved */, {.bitmap_index = 0, .adv_w = 77, .box_w = 0, .box_h = 0, .ofs_x = 0, .ofs_y = 0}, {.bitmap_index = 0, .adv_w = 243, .box_w = 15, .box_h = 13, .ofs_x = 0, .ofs_y = 0}, - {.bitmap_index = 98, .adv_w = 65, .box_w = 4, .box_h = 6, .ofs_x = 0, .ofs_y = -3}, - {.bitmap_index = 110, .adv_w = 110, .box_w = 5, .box_h = 2, .ofs_x = 1, .ofs_y = 4}, - {.bitmap_index = 115, .adv_w = 65, .box_w = 4, .box_h = 3, .ofs_x = 0, .ofs_y = 0}, - {.bitmap_index = 121, .adv_w = 192, .box_w = 12, .box_h = 13, .ofs_x = 0, .ofs_y = 0}, - {.bitmap_index = 199, .adv_w = 107, .box_w = 5, .box_h = 13, .ofs_x = 0, .ofs_y = 0}, - {.bitmap_index = 232, .adv_w = 165, .box_w = 10, .box_h = 13, .ofs_x = 0, .ofs_y = 0}, - {.bitmap_index = 297, .adv_w = 165, .box_w = 10, .box_h = 13, .ofs_x = 0, .ofs_y = 0}, - {.bitmap_index = 362, .adv_w = 193, .box_w = 12, .box_h = 13, .ofs_x = 0, .ofs_y = 0}, - {.bitmap_index = 440, .adv_w = 165, .box_w = 10, .box_h = 13, .ofs_x = 0, .ofs_y = 0}, - {.bitmap_index = 505, .adv_w = 178, .box_w = 11, .box_h = 13, .ofs_x = 0, .ofs_y = 0}, - {.bitmap_index = 577, .adv_w = 172, .box_w = 11, .box_h = 13, .ofs_x = 0, .ofs_y = 0}, - {.bitmap_index = 649, .adv_w = 185, .box_w = 11, .box_h = 13, .ofs_x = 0, .ofs_y = 0}, - {.bitmap_index = 721, .adv_w = 178, .box_w = 11, .box_h = 13, .ofs_x = 0, .ofs_y = 0}, - {.bitmap_index = 793, .adv_w = 65, .box_w = 4, .box_h = 10, .ofs_x = 0, .ofs_y = 0}, - {.bitmap_index = 813, .adv_w = 211, .box_w = 15, .box_h = 13, .ofs_x = -1, .ofs_y = 0}, - {.bitmap_index = 911, .adv_w = 218, .box_w = 12, .box_h = 13, .ofs_x = 1, .ofs_y = 0}, - {.bitmap_index = 989, .adv_w = 208, .box_w = 13, .box_h = 13, .ofs_x = 0, .ofs_y = 0}, - {.bitmap_index = 1074, .adv_w = 238, .box_w = 13, .box_h = 13, .ofs_x = 1, .ofs_y = 0}, - {.bitmap_index = 1159, .adv_w = 193, .box_w = 11, .box_h = 13, .ofs_x = 1, .ofs_y = 0}, - {.bitmap_index = 1231, .adv_w = 183, .box_w = 10, .box_h = 13, .ofs_x = 1, .ofs_y = 0}, - {.bitmap_index = 1296, .adv_w = 222, .box_w = 13, .box_h = 13, .ofs_x = 0, .ofs_y = 0}, - {.bitmap_index = 1381, .adv_w = 234, .box_w = 12, .box_h = 13, .ofs_x = 1, .ofs_y = 0}, - {.bitmap_index = 1459, .adv_w = 89, .box_w = 3, .box_h = 13, .ofs_x = 1, .ofs_y = 0}, - {.bitmap_index = 1479, .adv_w = 148, .box_w = 9, .box_h = 13, .ofs_x = -1, .ofs_y = 0}, - {.bitmap_index = 1538, .adv_w = 207, .box_w = 12, .box_h = 13, .ofs_x = 1, .ofs_y = 0}, - {.bitmap_index = 1616, .adv_w = 171, .box_w = 10, .box_h = 13, .ofs_x = 1, .ofs_y = 0}, - {.bitmap_index = 1681, .adv_w = 275, .box_w = 15, .box_h = 13, .ofs_x = 1, .ofs_y = 0}, - {.bitmap_index = 1779, .adv_w = 234, .box_w = 12, .box_h = 13, .ofs_x = 1, .ofs_y = 0}, - {.bitmap_index = 1857, .adv_w = 242, .box_w = 15, .box_h = 13, .ofs_x = 0, .ofs_y = 0}, - {.bitmap_index = 1955, .adv_w = 208, .box_w = 12, .box_h = 13, .ofs_x = 1, .ofs_y = 0}, - {.bitmap_index = 2033, .adv_w = 242, .box_w = 15, .box_h = 16, .ofs_x = 0, .ofs_y = -3}, - {.bitmap_index = 2153, .adv_w = 209, .box_w = 12, .box_h = 13, .ofs_x = 1, .ofs_y = 0}, - {.bitmap_index = 2231, .adv_w = 179, .box_w = 11, .box_h = 13, .ofs_x = 0, .ofs_y = 0}, - {.bitmap_index = 2303, .adv_w = 169, .box_w = 11, .box_h = 13, .ofs_x = 0, .ofs_y = 0}, - {.bitmap_index = 2375, .adv_w = 228, .box_w = 12, .box_h = 13, .ofs_x = 1, .ofs_y = 0}, - {.bitmap_index = 2453, .adv_w = 205, .box_w = 14, .box_h = 13, .ofs_x = -1, .ofs_y = 0}, - {.bitmap_index = 2544, .adv_w = 324, .box_w = 20, .box_h = 13, .ofs_x = 0, .ofs_y = 0}, - {.bitmap_index = 2674, .adv_w = 194, .box_w = 12, .box_h = 13, .ofs_x = 0, .ofs_y = 0}, - {.bitmap_index = 2752, .adv_w = 186, .box_w = 13, .box_h = 13, .ofs_x = -1, .ofs_y = 0}, - {.bitmap_index = 2837, .adv_w = 189, .box_w = 12, .box_h = 13, .ofs_x = 0, .ofs_y = 0}, - {.bitmap_index = 2915, .adv_w = 172, .box_w = 10, .box_h = 10, .ofs_x = 0, .ofs_y = 0}, - {.bitmap_index = 2965, .adv_w = 196, .box_w = 11, .box_h = 14, .ofs_x = 1, .ofs_y = 0}, - {.bitmap_index = 3042, .adv_w = 164, .box_w = 10, .box_h = 10, .ofs_x = 0, .ofs_y = 0}, - {.bitmap_index = 3092, .adv_w = 196, .box_w = 11, .box_h = 14, .ofs_x = 0, .ofs_y = 0}, - {.bitmap_index = 3169, .adv_w = 176, .box_w = 11, .box_h = 10, .ofs_x = 0, .ofs_y = 0}, - {.bitmap_index = 3224, .adv_w = 102, .box_w = 7, .box_h = 14, .ofs_x = 0, .ofs_y = 0}, - {.bitmap_index = 3273, .adv_w = 199, .box_w = 11, .box_h = 14, .ofs_x = 0, .ofs_y = -4}, - {.bitmap_index = 3350, .adv_w = 196, .box_w = 10, .box_h = 14, .ofs_x = 1, .ofs_y = 0}, - {.bitmap_index = 3420, .adv_w = 80, .box_w = 3, .box_h = 14, .ofs_x = 1, .ofs_y = 0}, - {.bitmap_index = 3441, .adv_w = 82, .box_w = 6, .box_h = 18, .ofs_x = -2, .ofs_y = -4}, - {.bitmap_index = 3495, .adv_w = 177, .box_w = 11, .box_h = 14, .ofs_x = 1, .ofs_y = 0}, - {.bitmap_index = 3572, .adv_w = 80, .box_w = 3, .box_h = 14, .ofs_x = 1, .ofs_y = 0}, - {.bitmap_index = 3593, .adv_w = 304, .box_w = 17, .box_h = 10, .ofs_x = 1, .ofs_y = 0}, - {.bitmap_index = 3678, .adv_w = 196, .box_w = 10, .box_h = 10, .ofs_x = 1, .ofs_y = 0}, - {.bitmap_index = 3728, .adv_w = 183, .box_w = 11, .box_h = 10, .ofs_x = 0, .ofs_y = 0}, - {.bitmap_index = 3783, .adv_w = 196, .box_w = 11, .box_h = 14, .ofs_x = 1, .ofs_y = -4}, - {.bitmap_index = 3860, .adv_w = 196, .box_w = 11, .box_h = 14, .ofs_x = 0, .ofs_y = -4}, - {.bitmap_index = 3937, .adv_w = 118, .box_w = 6, .box_h = 10, .ofs_x = 1, .ofs_y = 0}, - {.bitmap_index = 3967, .adv_w = 144, .box_w = 9, .box_h = 10, .ofs_x = 0, .ofs_y = 0}, - {.bitmap_index = 4012, .adv_w = 119, .box_w = 7, .box_h = 12, .ofs_x = 0, .ofs_y = 0}, - {.bitmap_index = 4054, .adv_w = 195, .box_w = 10, .box_h = 10, .ofs_x = 1, .ofs_y = 0}, - {.bitmap_index = 4104, .adv_w = 161, .box_w = 12, .box_h = 10, .ofs_x = -1, .ofs_y = 0}, - {.bitmap_index = 4164, .adv_w = 259, .box_w = 17, .box_h = 10, .ofs_x = 0, .ofs_y = 0}, - {.bitmap_index = 4249, .adv_w = 159, .box_w = 10, .box_h = 10, .ofs_x = 0, .ofs_y = 0}, - {.bitmap_index = 4299, .adv_w = 161, .box_w = 12, .box_h = 14, .ofs_x = -1, .ofs_y = -4}, - {.bitmap_index = 4383, .adv_w = 150, .box_w = 9, .box_h = 10, .ofs_x = 0, .ofs_y = 0}, - {.bitmap_index = 4428, .adv_w = 121, .box_w = 7, .box_h = 7, .ofs_x = 0, .ofs_y = 6}, - {.bitmap_index = 4453, .adv_w = 176, .box_w = 11, .box_h = 14, .ofs_x = 0, .ofs_y = 0}, - {.bitmap_index = 4530, .adv_w = 176, .box_w = 11, .box_h = 14, .ofs_x = 0, .ofs_y = 0}, - {.bitmap_index = 4607, .adv_w = 176, .box_w = 11, .box_h = 14, .ofs_x = 0, .ofs_y = 0}, - {.bitmap_index = 4684, .adv_w = 195, .box_w = 10, .box_h = 14, .ofs_x = 1, .ofs_y = 0}, - {.bitmap_index = 4754, .adv_w = 324, .box_w = 21, .box_h = 19, .ofs_x = 0, .ofs_y = -3}, - {.bitmap_index = 4954, .adv_w = 360, .box_w = 23, .box_h = 17, .ofs_x = 0, .ofs_y = -2}, - {.bitmap_index = 5150, .adv_w = 288, .box_w = 18, .box_h = 19, .ofs_x = 0, .ofs_y = -3} + {.bitmap_index = 98, .adv_w = 60, .box_w = 2, .box_h = 6, .ofs_x = 1, .ofs_y = 7}, + {.bitmap_index = 104, .adv_w = 97, .box_w = 5, .box_h = 18, .ofs_x = 1, .ofs_y = -4}, + {.bitmap_index = 149, .adv_w = 97, .box_w = 5, .box_h = 18, .ofs_x = 0, .ofs_y = -4}, + {.bitmap_index = 194, .adv_w = 65, .box_w = 4, .box_h = 6, .ofs_x = 0, .ofs_y = -3}, + {.bitmap_index = 206, .adv_w = 65, .box_w = 4, .box_h = 3, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 212, .adv_w = 192, .box_w = 12, .box_h = 13, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 290, .adv_w = 107, .box_w = 5, .box_h = 13, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 323, .adv_w = 165, .box_w = 10, .box_h = 13, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 388, .adv_w = 165, .box_w = 10, .box_h = 13, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 453, .adv_w = 193, .box_w = 12, .box_h = 13, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 531, .adv_w = 165, .box_w = 10, .box_h = 13, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 596, .adv_w = 178, .box_w = 11, .box_h = 13, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 668, .adv_w = 172, .box_w = 11, .box_h = 13, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 740, .adv_w = 185, .box_w = 11, .box_h = 13, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 812, .adv_w = 178, .box_w = 11, .box_h = 13, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 884, .adv_w = 65, .box_w = 4, .box_h = 10, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 904, .adv_w = 211, .box_w = 15, .box_h = 13, .ofs_x = -1, .ofs_y = 0}, + {.bitmap_index = 1002, .adv_w = 218, .box_w = 12, .box_h = 13, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 1080, .adv_w = 208, .box_w = 13, .box_h = 13, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 1165, .adv_w = 238, .box_w = 13, .box_h = 13, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 1250, .adv_w = 193, .box_w = 11, .box_h = 13, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 1322, .adv_w = 183, .box_w = 10, .box_h = 13, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 1387, .adv_w = 222, .box_w = 13, .box_h = 13, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 1472, .adv_w = 234, .box_w = 12, .box_h = 13, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 1550, .adv_w = 89, .box_w = 3, .box_h = 13, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 1570, .adv_w = 148, .box_w = 9, .box_h = 13, .ofs_x = -1, .ofs_y = 0}, + {.bitmap_index = 1629, .adv_w = 207, .box_w = 12, .box_h = 13, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 1707, .adv_w = 171, .box_w = 10, .box_h = 13, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 1772, .adv_w = 275, .box_w = 15, .box_h = 13, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 1870, .adv_w = 234, .box_w = 12, .box_h = 13, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 1948, .adv_w = 242, .box_w = 15, .box_h = 13, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 2046, .adv_w = 208, .box_w = 12, .box_h = 13, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 2124, .adv_w = 242, .box_w = 15, .box_h = 16, .ofs_x = 0, .ofs_y = -3}, + {.bitmap_index = 2244, .adv_w = 209, .box_w = 12, .box_h = 13, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 2322, .adv_w = 179, .box_w = 11, .box_h = 13, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 2394, .adv_w = 169, .box_w = 11, .box_h = 13, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 2466, .adv_w = 228, .box_w = 12, .box_h = 13, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 2544, .adv_w = 205, .box_w = 14, .box_h = 13, .ofs_x = -1, .ofs_y = 0}, + {.bitmap_index = 2635, .adv_w = 324, .box_w = 20, .box_h = 13, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 2765, .adv_w = 194, .box_w = 12, .box_h = 13, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 2843, .adv_w = 186, .box_w = 13, .box_h = 13, .ofs_x = -1, .ofs_y = 0}, + {.bitmap_index = 2928, .adv_w = 189, .box_w = 12, .box_h = 13, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 3006, .adv_w = 172, .box_w = 10, .box_h = 10, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 3056, .adv_w = 196, .box_w = 11, .box_h = 14, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 3133, .adv_w = 164, .box_w = 10, .box_h = 10, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 3183, .adv_w = 196, .box_w = 11, .box_h = 14, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 3260, .adv_w = 176, .box_w = 11, .box_h = 10, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 3315, .adv_w = 102, .box_w = 7, .box_h = 14, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 3364, .adv_w = 199, .box_w = 11, .box_h = 14, .ofs_x = 0, .ofs_y = -4}, + {.bitmap_index = 3441, .adv_w = 196, .box_w = 10, .box_h = 14, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 3511, .adv_w = 80, .box_w = 3, .box_h = 14, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 3532, .adv_w = 82, .box_w = 6, .box_h = 18, .ofs_x = -2, .ofs_y = -4}, + {.bitmap_index = 3586, .adv_w = 177, .box_w = 11, .box_h = 14, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 3663, .adv_w = 80, .box_w = 3, .box_h = 14, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 3684, .adv_w = 304, .box_w = 17, .box_h = 10, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 3769, .adv_w = 196, .box_w = 10, .box_h = 10, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 3819, .adv_w = 183, .box_w = 11, .box_h = 10, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 3874, .adv_w = 196, .box_w = 11, .box_h = 14, .ofs_x = 1, .ofs_y = -4}, + {.bitmap_index = 3951, .adv_w = 196, .box_w = 11, .box_h = 14, .ofs_x = 0, .ofs_y = -4}, + {.bitmap_index = 4028, .adv_w = 118, .box_w = 6, .box_h = 10, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 4058, .adv_w = 144, .box_w = 9, .box_h = 10, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 4103, .adv_w = 119, .box_w = 7, .box_h = 12, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 4145, .adv_w = 195, .box_w = 10, .box_h = 10, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 4195, .adv_w = 161, .box_w = 12, .box_h = 10, .ofs_x = -1, .ofs_y = 0}, + {.bitmap_index = 4255, .adv_w = 259, .box_w = 17, .box_h = 10, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 4340, .adv_w = 159, .box_w = 10, .box_h = 10, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 4390, .adv_w = 161, .box_w = 12, .box_h = 14, .ofs_x = -1, .ofs_y = -4}, + {.bitmap_index = 4474, .adv_w = 150, .box_w = 9, .box_h = 10, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 4519, .adv_w = 121, .box_w = 7, .box_h = 7, .ofs_x = 0, .ofs_y = 6}, + {.bitmap_index = 4544, .adv_w = 176, .box_w = 11, .box_h = 14, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 4621, .adv_w = 176, .box_w = 11, .box_h = 14, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 4698, .adv_w = 195, .box_w = 10, .box_h = 14, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 4768, .adv_w = 324, .box_w = 21, .box_h = 19, .ofs_x = 0, .ofs_y = -3}, + {.bitmap_index = 4968, .adv_w = 360, .box_w = 23, .box_h = 17, .ofs_x = 0, .ofs_y = -2}, + {.bitmap_index = 5164, .adv_w = 288, .box_w = 18, .box_h = 19, .ofs_x = 0, .ofs_y = -3} }; /*--------------------- * CHARACTER MAPPING *--------------------*/ -static const uint16_t unicode_list_0[] = { - 0x0, 0x5, 0xc, 0xd, 0xe +static const uint8_t glyph_id_ofs_list_0[] = { + 0, 0, 0, 0, 0, 1, 0, 2, + 3, 4, 0, 0, 5, 0, 6, 0, + 7, 8, 9, 10, 11, 12, 13, 14, + 15, 16, 17 }; -static const uint16_t unicode_list_4[] = { - 0x0, 0x38, 0x39, 0x3a, 0x4b, 0xef65, 0xf012, 0xf4c5 +static const uint16_t unicode_list_3[] = { + 0x0, 0x38, 0x39, 0x4b, 0xef65, 0xf012, 0xf4c5 }; /*Collect the unicode lists and glyph_id offsets*/ static const lv_font_fmt_txt_cmap_t cmaps[] = { { - .range_start = 32, .range_length = 15, .glyph_id_start = 1, - .unicode_list = unicode_list_0, .glyph_id_ofs_list = NULL, .list_length = 5, .type = LV_FONT_FMT_TXT_CMAP_SPARSE_TINY + .range_start = 32, .range_length = 27, .glyph_id_start = 1, + .unicode_list = NULL, .glyph_id_ofs_list = glyph_id_ofs_list_0, .list_length = 27, .type = LV_FONT_FMT_TXT_CMAP_FORMAT0_FULL }, { - .range_start = 48, .range_length = 11, .glyph_id_start = 6, + .range_start = 65, .range_length = 26, .glyph_id_start = 19, .unicode_list = NULL, .glyph_id_ofs_list = NULL, .list_length = 0, .type = LV_FONT_FMT_TXT_CMAP_FORMAT0_TINY }, { - .range_start = 65, .range_length = 26, .glyph_id_start = 17, + .range_start = 97, .range_length = 26, .glyph_id_start = 45, .unicode_list = NULL, .glyph_id_ofs_list = NULL, .list_length = 0, .type = LV_FONT_FMT_TXT_CMAP_FORMAT0_TINY }, { - .range_start = 97, .range_length = 26, .glyph_id_start = 43, - .unicode_list = NULL, .glyph_id_ofs_list = NULL, .list_length = 0, .type = LV_FONT_FMT_TXT_CMAP_FORMAT0_TINY - }, - { - .range_start = 176, .range_length = 62662, .glyph_id_start = 69, - .unicode_list = unicode_list_4, .glyph_id_ofs_list = NULL, .list_length = 8, .type = LV_FONT_FMT_TXT_CMAP_SPARSE_TINY + .range_start = 176, .range_length = 62662, .glyph_id_start = 71, + .unicode_list = unicode_list_3, .glyph_id_ofs_list = NULL, .list_length = 7, .type = LV_FONT_FMT_TXT_CMAP_SPARSE_TINY } }; @@ -1002,254 +1006,275 @@ static const lv_font_fmt_txt_cmap_t cmaps[] = /*Map glyph_ids to kern left classes*/ static const uint8_t kern_left_class_mapping[] = { - 0, 0, 1, 2, 3, 2, 4, 0, - 5, 6, 7, 8, 9, 10, 11, 4, - 12, 13, 14, 15, 16, 17, 18, 19, - 20, 20, 21, 22, 23, 20, 20, 16, - 24, 16, 25, 26, 27, 21, 28, 28, - 29, 30, 31, 32, 33, 34, 35, 36, - 37, 38, 32, 38, 38, 39, 35, 32, - 32, 33, 33, 40, 41, 42, 43, 38, - 44, 44, 45, 44, 46, 47, 36, 36, - 36, 38, 0, 0, 0 + 0, 0, 1, 2, 3, 4, 5, 5, + 6, 0, 7, 8, 9, 10, 11, 12, + 13, 6, 14, 15, 16, 17, 18, 19, + 20, 21, 22, 22, 23, 24, 25, 22, + 22, 18, 26, 18, 27, 28, 29, 23, + 30, 30, 31, 32, 33, 34, 35, 36, + 37, 38, 39, 40, 34, 40, 40, 41, + 37, 34, 34, 35, 35, 42, 43, 44, + 45, 40, 46, 46, 47, 46, 48, 49, + 38, 38, 40, 0, 0, 0 }; /*Map glyph_ids to kern right classes*/ static const uint8_t kern_right_class_mapping[] = { - 0, 0, 1, 2, 3, 2, 4, 5, - 6, 7, 8, 9, 4, 10, 11, 12, - 13, 14, 15, 16, 15, 15, 15, 16, - 15, 15, 17, 15, 15, 15, 15, 16, - 15, 16, 15, 18, 19, 20, 21, 21, - 22, 23, 24, 25, 26, 27, 27, 27, - 0, 27, 26, 28, 29, 26, 26, 30, - 30, 27, 30, 27, 30, 31, 32, 33, - 34, 34, 35, 34, 36, 37, 27, 27, - 27, 33, 0, 0, 0 + 0, 0, 1, 2, 3, 4, 5, 5, + 6, 7, 8, 9, 10, 11, 6, 12, + 13, 14, 15, 16, 17, 18, 17, 17, + 17, 18, 17, 17, 19, 17, 17, 17, + 17, 18, 17, 18, 17, 20, 21, 22, + 23, 23, 24, 25, 26, 27, 28, 29, + 29, 29, 0, 29, 28, 30, 31, 28, + 28, 32, 32, 29, 32, 29, 32, 33, + 34, 35, 36, 36, 37, 36, 38, 39, + 29, 29, 35, 0, 0, 0 }; /*Kern values between classes*/ static const int8_t kern_class_values[] = { - -35, 9, 6, 0, -6, 3, 3, 10, - 6, -5, 6, 0, 0, 0, 0, 0, + -35, -8, 0, -6, 9, 0, -6, 3, + 3, 10, 6, -5, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, -8, -18, 0, -2, - -3, -4, 3, 3, -3, 0, -4, 3, + 0, 0, 0, 0, 0, 0, -8, 8, + 13, 0, 0, -16, 2, 14, 6, 5, + -12, 2, 14, 1, 12, 3, 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, 0, 0, 0, 3, 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, -18, -11, -2, 1, 2, -5, -4, - -6, 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, - -3, 2, 0, -1, -1, -3, 0, 0, - -2, 0, 0, 0, -2, 0, 0, -7, - 0, -6, 0, -7, -10, -10, -5, 0, - 0, 0, 0, -2, 0, 0, 3, 0, - 2, -3, 0, 1, 3, 3, -2, -1, + 0, -11, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, -18, -16, 0, 0, + 0, -3, -4, 3, 3, -3, 0, -4, + 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, -18, 0, 2, 0, 0, -3, + 0, -1, -1, -3, 0, 0, -2, 0, + 0, 0, -2, 0, 0, -7, 0, -6, + 0, -7, -10, -10, -5, 0, 0, 0, + 0, -2, 0, 0, 3, 0, 2, -3, + 0, 1, 3, 0, 0, 0, 3, -1, 0, 0, 0, -5, 0, -1, 0, 0, 0, 1, 0, 0, 4, 0, -2, 0, -3, 0, -5, 0, 0, 0, -3, 0, 0, 0, 0, 0, -1, 1, -2, -2, - 0, -3, 0, 0, 0, 0, -1, -1, - 0, -3, -3, 0, 0, 0, 1, 0, - 0, 0, 0, -2, 0, -3, -3, -3, - 0, 0, 0, 0, 0, -2, 0, 0, - 0, 0, -2, -4, 0, -4, -9, 6, - 3, 0, -7, -1, -3, 0, -1, -14, - 3, -2, 2, 0, 0, 3, 1, -2, - -15, 0, -15, -2, -25, -2, 8, 0, - 4, 0, 0, 0, 0, 1, 0, -5, - -4, 0, -9, -3, 0, 0, 0, 0, - -1, -1, 0, -1, -4, 0, 0, 0, - 0, 0, 0, -3, 0, -3, 0, -2, - -3, -2, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, -2, -2, 0, -3, - -6, 3, 1, 0, 0, 0, 0, 0, + 0, -3, -3, 0, 0, 0, 0, 0, + -1, -1, 0, -3, -3, 0, 0, 0, + 1, 0, 0, 0, 0, -2, 0, -3, + -3, -3, 0, 0, 0, 0, 0, -2, + 0, 0, 0, 0, -2, -4, 0, -4, + -9, -9, 0, 0, 6, 0, -7, -1, + -3, 0, -1, -14, 3, -2, 2, 0, + 0, 3, 1, -2, -15, 0, -15, -2, + -25, -2, 8, 0, 4, 0, 0, 0, + 0, 1, 0, -5, -4, 0, -9, -3, + 0, 0, 0, 0, 0, 0, -1, -1, + 0, -1, -4, 0, 0, 0, 0, 0, + 0, -3, 0, -3, 0, -2, -3, -2, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, -2, -2, 0, -3, -6, -2, + 0, 0, 3, 0, 0, 0, 0, 0, 0, -2, 0, 0, 0, 2, 0, 0, 0, 0, -3, 0, -3, -2, -3, 0, 0, 0, 2, 0, -2, 0, 0, 0, - 0, -3, -4, 0, -5, 1, -15, -14, - -6, 3, 0, -2, -19, -5, 0, -5, - 0, -6, -18, 0, -5, -8, -2, 0, - 0, 1, -1, 2, -2, -11, 0, -14, - -7, -6, -7, -9, -3, -8, -1, -5, - -8, 2, -3, 3, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, -1, - 0, 0, -1, 0, -3, 0, -5, -6, - -6, -1, 0, 0, 0, 0, -2, 0, - 0, 0, 0, 1, -2, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 2, 0, 0, 0, 0, 0, 0, 0, + 0, -3, -4, 0, -5, 1, 9, 0, + 0, -15, -6, 3, 0, -2, -19, -5, + 0, -5, 0, -6, -18, 0, -5, -8, + -2, 0, 0, 1, -1, 2, -2, -11, + 0, -14, -7, -6, -7, -9, -3, -8, + -1, -5, -8, 2, -3, 1, 0, 0, + 3, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, -1, 0, 0, -1, 0, + -3, 0, -5, -6, -6, -1, 0, 0, + 0, 0, -2, 0, 0, 0, 0, 1, + -2, 0, 0, 0, 3, 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, 10, -5, -2, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, -12, 0, 0, 10, -2, -12, 0, 3, -4, 0, -14, -1, -4, 3, 4, 0, -3, 4, 0, -10, -4, -11, -10, -12, 0, 0, 0, -1, 0, 0, 0, -1, -1, -3, -8, -10, -1, - -27, 0, 1, 0, 0, 0, 0, 0, + -27, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, -3, 0, -1, -3, -4, + 0, 0, 0, 0, 0, -3, 0, -1, + -3, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 4, - -1, -6, 3, -2, -1, -7, -3, 0, - -4, -3, -2, -5, 0, -4, 0, -1, - -2, -1, -2, -5, -3, 0, -2, 0, - -6, 0, 0, 0, -6, 0, -5, 0, - -5, -5, 3, 0, -6, 2, 0, -3, - -3, -3, 0, 0, 0, 0, 0, 0, - -3, 0, 0, -4, 0, -3, 0, -6, - -7, -9, -2, 0, 0, 0, 0, 23, - 0, 0, 1, 0, 0, -4, 0, 3, - 0, 3, -6, -4, 0, -2, -3, -9, + 0, 0, 0, 0, 4, -6, 3, -2, + -1, -7, -3, 0, -4, -3, -2, -5, + 0, -4, 0, -1, -2, -1, -2, -5, + -3, 0, -2, 0, -6, 0, 0, 0, + -6, 0, -5, 0, -5, -5, 3, 0, + -5, 0, 3, -6, 0, -3, -3, -3, + 0, 0, 0, 0, 0, 0, -3, 0, + 0, -4, 0, -3, 0, -6, -7, -9, + -2, 0, 0, 0, 0, 23, 0, 0, + 1, 0, 0, -4, 0, 3, 0, 0, + 0, 0, 3, -4, 0, -2, -3, -9, -2, -2, -2, -1, -2, 0, 0, -1, 0, 0, 0, 0, -3, -2, -2, 0, -2, 0, -2, 0, 0, 0, -2, -3, - -2, -3, -3, -3, 0, 0, -3, 0, - -4, 4, 0, 0, -14, -5, 3, -5, - 2, 0, -9, 0, -2, -4, -1, 1, - 0, 0, -5, 0, 0, -5, 0, -5, - -3, -4, -3, -3, 0, -5, 1, -5, - -5, 9, 0, 3, 0, 0, 0, 0, + -2, -3, -3, -3, 0, 0, 12, 0, + -2, -3, -4, 4, 0, 0, -14, -5, + 3, -5, 2, 0, -9, 0, -2, -4, + -1, 1, 0, 0, -5, 0, 0, -5, + 0, -5, -3, -4, -3, -3, 0, -5, + 1, -5, -5, 9, 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, 0, 0, 0, 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, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -4, 0, 0, 0, 0, -4, 0, 0, -3, -3, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, -2, 0, - 0, 0, 0, -10, -6, 6, 1, -2, - -14, 0, 0, -6, -3, 0, -8, 0, - -7, 0, -4, -12, -3, -12, -11, -14, - 0, -4, 0, -7, -3, -1, -3, -5, - -8, -5, -11, -12, -7, -3, 0, 9, - -3, -6, -11, 0, 1, -9, 0, -14, - -2, -3, 6, 1, 0, -4, 0, -2, - -19, -3, -15, -3, -21, 0, 1, 0, - -2, 0, 0, 0, 0, -1, -2, -11, - -2, 0, -19, 0, -8, -1, 0, 0, - -1, -4, -9, -3, 0, -2, 0, 0, - -13, -3, 0, -10, 0, -9, -2, -5, - -7, -3, -5, -4, 0, -3, -5, -3, - -5, 0, 1, 0, -2, -10, 0, 6, - 0, 0, -1, 0, 0, 0, -2, -6, + 0, 0, 0, 0, 0, 0, -6, 6, + 1, -2, -14, 0, 0, -6, -3, 0, + -8, 0, -7, 0, -4, -12, -3, -12, + -11, -14, 0, -4, 0, -7, -3, -1, + -3, -5, -8, -5, -11, -12, -7, -3, + 0, 0, 0, 0, 9, -6, -11, 0, + 1, -9, 0, -14, -2, -3, 6, 1, + 0, -4, 0, -2, -19, -3, -15, -3, + -21, 0, 1, 0, -2, 0, 0, 0, + 0, -1, -2, -11, -2, 0, -19, 0, + 0, 0, -3, -8, 0, 0, -1, -4, + -9, -3, 0, -2, 0, 0, -13, -3, + 0, -10, 0, -9, -2, -5, -7, -3, + -5, -4, 0, -3, -5, -3, -5, 0, + 1, 0, -2, -10, 0, 6, 0, 0, + 0, 0, 0, 0, 0, 0, -2, -6, 0, 0, 0, 0, 0, 0, 0, 0, -3, 0, -3, 0, 0, -6, -3, 0, -1, 0, 0, 0, 0, 0, 0, 1, - 0, 0, 0, 0, 4, 0, 6, 5, - 0, -3, 0, -2, 3, 0, -3, 0, - -3, -1, 0, 0, 0, 0, 0, -3, - 0, 0, -4, -4, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, -3, -3, - 0, -4, 0, -9, -10, -6, 12, 5, - 3, -25, -2, 6, -3, 0, -3, -10, - 0, -3, -3, -3, 3, -4, -2, -9, - -2, 0, -8, 0, -16, -4, 8, -4, - -11, 1, -4, -10, -10, -3, 12, 0, - -11, -7, -7, 9, 0, 1, -21, -2, - 3, -5, -2, -7, -11, -4, -6, -4, - -4, -2, 0, 0, -7, -6, -3, -16, - 0, -16, -4, 0, -10, -17, -1, -9, - -5, -10, -8, 8, 0, 0, -5, -10, + 0, 0, 0, 0, 4, 0, -9, 0, + 0, 6, 0, -3, 0, -2, 3, 0, + -3, 0, -3, -1, 0, 0, 0, 0, + 0, -3, 0, 0, -4, -4, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + -3, -3, 0, -4, 0, 2, -5, 0, + -9, -6, 12, 5, 3, -25, -2, 6, + -3, 0, -3, -10, 0, -3, -3, -3, + 3, -4, -2, -9, -2, 0, -8, 0, + -16, -4, 8, -4, -11, 1, -4, -10, + -10, -3, 12, 0, 0, 0, 2, -11, + -7, 9, 0, 1, -21, -2, 3, -5, + -2, -7, -11, -4, -6, -4, -4, -2, + 0, 0, -7, -6, -3, -16, 0, -16, + -4, 0, -10, -17, -1, -9, -5, -10, + -8, 8, 0, 0, -3, 0, 0, -10, 3, 0, 0, -15, 0, -3, -6, -5, -2, -10, -7, -7, 0, -4, -9, -3, -7, -5, -9, -3, -5, 0, -9, -3, 0, -3, -6, -7, -8, -8, -11, -4, - -6, 0, -11, -9, -10, 10, -3, 1, - -27, -5, 6, -6, -5, -11, -12, -3, - -9, -3, -4, -2, -3, -6, -9, -1, - 0, -19, 0, -17, -7, 7, -11, -20, - -6, -10, -12, -14, -10, 6, 0, 6, - -3, -5, 6, 0, 0, -9, -1, 0, - -1, 0, 1, 0, 0, -2, 0, 0, - 0, 0, 0, -3, 0, 0, 1, 0, - -3, 0, 0, 0, 0, -2, -2, -3, - 0, 0, 0, -8, 0, 0, 0, -6, - -1, 0, 0, 0, -6, 0, -3, 0, + -6, 0, 0, -3, 2, -11, -10, 10, + -3, 1, -27, -5, 6, -6, -5, -11, + -12, -3, -9, -3, -4, -2, -3, -6, + -9, -1, 0, -19, 0, -17, -7, 7, + -11, -20, -6, -10, -12, -14, -10, 6, + 0, 0, 0, 0, 6, -5, 6, 0, + 0, -9, -1, 0, -1, 0, 1, 0, + 0, -2, 0, 0, 0, 0, 0, -3, + 0, 0, 1, 0, -3, 0, 0, 0, + 0, -2, -2, -3, 0, 0, 0, -8, + 0, 0, 0, 0, 0, -6, -1, 0, + 0, 0, -6, 0, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 1, 0, 0, - 0, 0, 0, 0, -3, 0, 0, -5, - -8, -3, 3, 0, -8, -3, -7, 0, + 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, -3, 0, 0, -5, -8, -4, + 0, 0, -3, 0, -8, -3, -7, 0, 0, -8, 0, -3, 0, -3, 0, 0, 0, 0, -23, -5, -12, -3, -10, 0, -1, 0, 0, 0, 0, 0, 0, 0, - 0, -4, -5, -2, -5, 0, 6, -3, - -2, -7, -2, -5, -5, 0, -3, -1, - -2, 2, 0, 0, -1, 0, 0, -25, - -2, -4, 0, -6, 0, 0, -2, -2, - 0, 0, 0, 0, 2, 0, -2, -5, - -2, 5, 0, 0, 0, 0, 0, 0, + 0, -4, -5, -2, -5, 0, 0, 0, + -6, 6, -2, -7, -2, -5, -5, 0, + -3, -1, -2, 2, 0, 0, -1, 0, + 0, -25, -2, -4, 0, -6, 0, 0, + -2, -2, 0, 0, 0, 0, 2, 0, + -2, -5, -2, 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, 4, 0, 0, 0, 0, 0, -2, - 0, 3, 0, -8, -3, -6, 0, 0, - -8, 0, -3, 0, 0, 0, 0, 0, - 0, -28, 0, -6, -11, -14, 0, -4, - 0, 0, 0, 0, 0, 0, 0, 0, - -3, -4, -1, -4, 5, -3, -3, 3, + 0, 0, 0, 0, 0, 4, 0, 0, + 0, 0, 0, -2, -6, 0, 0, 0, + 0, -8, -3, -6, 0, 0, -8, 0, + -3, 0, 0, 0, 0, 0, 0, -28, + 0, -6, -11, -14, 0, -4, 0, 0, + 0, 0, 0, 0, 0, 0, -3, -4, + -1, -4, 5, 0, 0, 9, -3, 3, 14, 5, 6, -8, 3, 12, 3, 8, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -3, 0, -2, 23, 12, 23, 0, 0, 0, 3, 0, 0, - 11, 0, 0, 0, 0, -2, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, -5, -24, -3, -2, -12, -14, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 3, - -7, -3, 2, 5, 3, -9, 0, -1, - -2, 3, 0, 0, 0, 0, 0, 0, - -7, 0, -3, -2, -6, 0, -3, 0, - -6, -2, 0, -2, -5, 0, -3, -8, - -6, -3, 0, 0, 0, 0, 0, -2, + 11, 0, 0, 0, 0, 0, 0, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -5, -24, -3, -2, - -12, -14, 0, 0, 0, 0, 0, 14, + -12, -14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, -3, -3, 1, -2, 1, -2, -8, + 0, 0, 0, 0, 3, -3, 2, 5, + 3, -9, 0, -1, -2, 3, 0, 0, + 0, 0, 0, 0, -7, 0, -3, -2, + -6, 0, -3, 0, -6, -2, 0, -2, + -5, 0, -3, -8, -6, -3, 0, 0, + 0, 0, 0, 0, 0, -2, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, -5, -24, -3, -2, -12, -14, + 0, 0, 0, 0, 0, 14, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + -3, -3, -3, 1, -2, 1, -2, -8, 1, 6, 1, 2, 1, -12, -3, -7, 0, -5, -11, -5, -8, -12, -11, 0, -2, -2, -3, -2, 0, -2, -1, 4, 0, 4, -2, 0, 9, 0, 0, 0, - 0, -2, -3, -3, 0, 0, -8, 0, - -1, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, -2, -3, -3, 0, 0, + -8, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, -3, -3, - 0, -4, 0, 3, -3, -5, -5, -2, - 0, -8, -2, -6, -2, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, -5, 0, 0, 0, - 0, -4, 0, -3, 0, 0, -1, 0, - -10, -4, 2, 3, 3, -1, -8, 2, - 4, 2, 9, 2, -8, 0, -2, 0, - -2, -12, 0, 0, -9, -8, 0, -5, - 0, -4, 0, -4, 0, -2, 4, 0, - -2, -9, -3, 11, 0, 0, -7, -3, + -3, -3, 0, -4, 0, 0, 0, 0, + 3, -5, -5, -2, 0, -8, -2, -6, + -2, -3, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + -5, 0, 0, 0, 0, -4, 0, -3, + 0, 0, -1, 0, 0, 0, 0, -10, + 2, 3, 3, -1, -8, 2, 4, 2, + 9, 2, -8, 0, -2, 0, -2, -12, + 0, 0, -9, -8, 0, -5, 0, -4, + 0, -4, 0, -2, 4, 0, -2, -9, + -3, 11, 0, 0, 0, 0, 0, -3, 2, 0, 0, -10, 0, -2, -1, 0, -3, 0, 0, -2, 0, -3, -12, -3, -6, 0, -9, 0, -3, 0, -5, 0, 2, 0, -3, 0, -3, -9, 0, -3, - 3, 0, 1, -4, 0, -3, -2, 0, - -3, 0, 0, 0, 0, 0, 0, 0, + 3, 0, 0, 0, 0, 1, 0, -3, + -2, 0, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, -2, 0, 0, 0, 0, - 1, 0, -3, -3, 0, 0, 7, -18, - 0, 1, 12, 9, 5, -12, 2, 12, - 0, 11, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, -2, 0, 0, + 0, 0, 1, 0, -3, -3, 0, 0, + 7, 6, 0, 0, -18, 1, 12, 9, + 5, -12, 2, 12, 0, 11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0 + 0, 0, 0, 0, 0, 0, 0 }; @@ -1259,8 +1284,8 @@ static const 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 = 47, - .right_class_cnt = 37, + .left_class_cnt = 49, + .right_class_cnt = 39, }; /*-------------------- @@ -1282,7 +1307,7 @@ static lv_font_fmt_txt_dsc_t font_dsc = { .cmaps = cmaps, .kern_dsc = &kern_classes, .kern_scale = 16, - .cmap_num = 5, + .cmap_num = 4, .bpp = 4, .kern_classes = 1, .bitmap_format = 0, diff --git a/main/fonts/montserrat_medium_24.c b/main/fonts/montserrat_medium_24.c index ca052f3..7f511ed 100644 --- a/main/fonts/montserrat_medium_24.c +++ b/main/fonts/montserrat_medium_24.c @@ -1,7 +1,7 @@ /******************************************************************************* * Size: 24 px * Bpp: 4 - * Opts: --bpp 4 --size 24 --no-compress --font Montserrat-Medium.ttf --symbols 0123456789.°èéêûCABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz :-%, --format lvgl -o montserrat_medium_24.c --font fa-solid-900.ttf --range 61461,0xf0c2,0xf575 + * Opts: --bpp 4 --size 24 --no-compress --font Montserrat-Medium.ttf --symbols 0123456789.°éèûCABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz %,'(): --format lvgl -o montserrat_medium_24.c --font fa-solid-900.ttf --range 61461,0xf0c2,0xf575 ******************************************************************************/ #ifdef LV_LVGL_H_INCLUDE_SIMPLE @@ -48,14 +48,36 @@ static LV_ATTRIBUTE_LARGE_CONST const uint8_t glyph_bitmap[] = { 0x0, 0x3, 0xfa, 0x0, 0x0, 0x0, 0x7, 0xdf, 0xd6, 0x0, + /* U+0027 "'" */ + 0x7f, 0x87, 0xf7, 0x6f, 0x76, 0xf7, 0x6f, 0x65, + 0xf6, 0x38, 0x30, + + /* U+0028 "(" */ + 0x0, 0x2f, 0xf1, 0x0, 0x9f, 0x90, 0x1, 0xff, + 0x20, 0x6, 0xfc, 0x0, 0xc, 0xf7, 0x0, 0xf, + 0xf3, 0x0, 0x3f, 0xf0, 0x0, 0x6f, 0xd0, 0x0, + 0x8f, 0xb0, 0x0, 0x9f, 0xa0, 0x0, 0xaf, 0x90, + 0x0, 0xbf, 0x80, 0x0, 0xaf, 0x90, 0x0, 0x9f, + 0xa0, 0x0, 0x8f, 0xb0, 0x0, 0x6f, 0xd0, 0x0, + 0x3f, 0xf0, 0x0, 0xf, 0xf3, 0x0, 0xc, 0xf7, + 0x0, 0x6, 0xfc, 0x0, 0x1, 0xff, 0x20, 0x0, + 0x9f, 0x90, 0x0, 0x2f, 0xf1, + + /* U+0029 ")" */ + 0xf, 0xf3, 0x0, 0x8, 0xfb, 0x0, 0x1, 0xff, + 0x30, 0x0, 0xbf, 0x80, 0x0, 0x6f, 0xd0, 0x0, + 0x1f, 0xf2, 0x0, 0xe, 0xf5, 0x0, 0xb, 0xf8, + 0x0, 0x9, 0xfa, 0x0, 0x8, 0xfb, 0x0, 0x7, + 0xfc, 0x0, 0x6, 0xfd, 0x0, 0x7, 0xfc, 0x0, + 0x8, 0xfb, 0x0, 0x9, 0xfa, 0x0, 0xb, 0xf8, + 0x0, 0xe, 0xf5, 0x0, 0x1f, 0xf2, 0x0, 0x6f, + 0xd0, 0x0, 0xbf, 0x80, 0x1, 0xff, 0x30, 0x8, + 0xfb, 0x0, 0xf, 0xf3, 0x0, + /* U+002C "," */ 0x3b, 0x80, 0xcf, 0xf3, 0xaf, 0xf3, 0xf, 0xe0, 0x1f, 0x90, 0x5f, 0x40, 0x9e, 0x0, - /* U+002D "-" */ - 0x0, 0x0, 0x0, 0xa, 0xff, 0xff, 0xfd, 0xaf, - 0xff, 0xff, 0xd0, - /* U+002E "." */ 0x4, 0x10, 0x9f, 0xf1, 0xdf, 0xf4, 0x6f, 0xb0, @@ -1138,23 +1160,6 @@ static LV_ATTRIBUTE_LARGE_CONST const uint8_t glyph_bitmap[] = { 0x0, 0x9f, 0xff, 0xff, 0xff, 0xf4, 0x0, 0x0, 0x3a, 0xdf, 0xfd, 0x81, 0x0, - /* U+00EA "ê" */ - 0x0, 0x0, 0x4f, 0xfd, 0x10, 0x0, 0x0, 0x0, - 0x4f, 0xe8, 0xfd, 0x10, 0x0, 0x0, 0x4f, 0xd2, - 0x4, 0xfd, 0x10, 0x0, 0x2, 0x30, 0x0, 0x1, - 0x31, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x5b, 0xef, 0xda, 0x30, 0x0, 0x0, - 0xaf, 0xff, 0xff, 0xff, 0x80, 0x0, 0xaf, 0xe6, - 0x10, 0x28, 0xff, 0x70, 0x4f, 0xf2, 0x0, 0x0, - 0x5, 0xff, 0x1a, 0xf9, 0x0, 0x0, 0x0, 0xc, - 0xf6, 0xdf, 0xcb, 0xbb, 0xbb, 0xbb, 0xdf, 0x9f, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xfa, 0xdf, 0x60, - 0x0, 0x0, 0x0, 0x0, 0xa, 0xfc, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x4f, 0xf6, 0x0, 0x0, 0x0, - 0x60, 0x0, 0xaf, 0xfa, 0x31, 0x14, 0xbf, 0x80, - 0x0, 0x9f, 0xff, 0xff, 0xff, 0xf4, 0x0, 0x0, - 0x3a, 0xdf, 0xfd, 0x81, 0x0, - /* U+00FB "û" */ 0x0, 0x0, 0x8f, 0xfa, 0x0, 0x0, 0x0, 0x0, 0x9f, 0xba, 0xfa, 0x0, 0x0, 0x0, 0x9f, 0x90, @@ -1310,116 +1315,116 @@ static const lv_font_fmt_txt_glyph_dsc_t glyph_dsc[] = { {.bitmap_index = 0, .adv_w = 0, .box_w = 0, .box_h = 0, .ofs_x = 0, .ofs_y = 0} /* id = 0 reserved */, {.bitmap_index = 0, .adv_w = 103, .box_w = 0, .box_h = 0, .ofs_x = 0, .ofs_y = 0}, {.bitmap_index = 0, .adv_w = 324, .box_w = 20, .box_h = 17, .ofs_x = 0, .ofs_y = 0}, - {.bitmap_index = 170, .adv_w = 87, .box_w = 4, .box_h = 7, .ofs_x = 1, .ofs_y = -4}, - {.bitmap_index = 184, .adv_w = 147, .box_w = 7, .box_h = 3, .ofs_x = 1, .ofs_y = 6}, - {.bitmap_index = 195, .adv_w = 87, .box_w = 4, .box_h = 4, .ofs_x = 1, .ofs_y = 0}, - {.bitmap_index = 203, .adv_w = 256, .box_w = 14, .box_h = 17, .ofs_x = 1, .ofs_y = 0}, - {.bitmap_index = 322, .adv_w = 142, .box_w = 7, .box_h = 17, .ofs_x = 0, .ofs_y = 0}, - {.bitmap_index = 382, .adv_w = 220, .box_w = 13, .box_h = 17, .ofs_x = 0, .ofs_y = 0}, - {.bitmap_index = 493, .adv_w = 220, .box_w = 13, .box_h = 17, .ofs_x = 0, .ofs_y = 0}, - {.bitmap_index = 604, .adv_w = 257, .box_w = 16, .box_h = 17, .ofs_x = 0, .ofs_y = 0}, - {.bitmap_index = 740, .adv_w = 220, .box_w = 13, .box_h = 17, .ofs_x = 0, .ofs_y = 0}, - {.bitmap_index = 851, .adv_w = 237, .box_w = 14, .box_h = 17, .ofs_x = 1, .ofs_y = 0}, - {.bitmap_index = 970, .adv_w = 230, .box_w = 14, .box_h = 17, .ofs_x = 0, .ofs_y = 0}, - {.bitmap_index = 1089, .adv_w = 247, .box_w = 14, .box_h = 17, .ofs_x = 1, .ofs_y = 0}, - {.bitmap_index = 1208, .adv_w = 237, .box_w = 14, .box_h = 17, .ofs_x = 0, .ofs_y = 0}, - {.bitmap_index = 1327, .adv_w = 87, .box_w = 4, .box_h = 13, .ofs_x = 1, .ofs_y = 0}, - {.bitmap_index = 1353, .adv_w = 281, .box_w = 19, .box_h = 17, .ofs_x = -1, .ofs_y = 0}, - {.bitmap_index = 1515, .adv_w = 291, .box_w = 15, .box_h = 17, .ofs_x = 2, .ofs_y = 0}, - {.bitmap_index = 1643, .adv_w = 278, .box_w = 16, .box_h = 17, .ofs_x = 1, .ofs_y = 0}, - {.bitmap_index = 1779, .adv_w = 317, .box_w = 17, .box_h = 17, .ofs_x = 2, .ofs_y = 0}, - {.bitmap_index = 1924, .adv_w = 257, .box_w = 13, .box_h = 17, .ofs_x = 2, .ofs_y = 0}, - {.bitmap_index = 2035, .adv_w = 244, .box_w = 13, .box_h = 17, .ofs_x = 2, .ofs_y = 0}, - {.bitmap_index = 2146, .adv_w = 296, .box_w = 16, .box_h = 17, .ofs_x = 1, .ofs_y = 0}, - {.bitmap_index = 2282, .adv_w = 312, .box_w = 15, .box_h = 17, .ofs_x = 2, .ofs_y = 0}, - {.bitmap_index = 2410, .adv_w = 119, .box_w = 3, .box_h = 17, .ofs_x = 2, .ofs_y = 0}, - {.bitmap_index = 2436, .adv_w = 197, .box_w = 11, .box_h = 17, .ofs_x = -1, .ofs_y = 0}, - {.bitmap_index = 2530, .adv_w = 276, .box_w = 16, .box_h = 17, .ofs_x = 2, .ofs_y = 0}, - {.bitmap_index = 2666, .adv_w = 228, .box_w = 13, .box_h = 17, .ofs_x = 2, .ofs_y = 0}, - {.bitmap_index = 2777, .adv_w = 367, .box_w = 19, .box_h = 17, .ofs_x = 2, .ofs_y = 0}, - {.bitmap_index = 2939, .adv_w = 312, .box_w = 15, .box_h = 17, .ofs_x = 2, .ofs_y = 0}, - {.bitmap_index = 3067, .adv_w = 323, .box_w = 19, .box_h = 17, .ofs_x = 1, .ofs_y = 0}, - {.bitmap_index = 3229, .adv_w = 277, .box_w = 15, .box_h = 17, .ofs_x = 2, .ofs_y = 0}, - {.bitmap_index = 3357, .adv_w = 323, .box_w = 19, .box_h = 20, .ofs_x = 1, .ofs_y = -3}, - {.bitmap_index = 3547, .adv_w = 279, .box_w = 15, .box_h = 17, .ofs_x = 2, .ofs_y = 0}, - {.bitmap_index = 3675, .adv_w = 238, .box_w = 14, .box_h = 17, .ofs_x = 0, .ofs_y = 0}, - {.bitmap_index = 3794, .adv_w = 225, .box_w = 14, .box_h = 17, .ofs_x = 0, .ofs_y = 0}, - {.bitmap_index = 3913, .adv_w = 304, .box_w = 15, .box_h = 17, .ofs_x = 2, .ofs_y = 0}, - {.bitmap_index = 4041, .adv_w = 273, .box_w = 19, .box_h = 17, .ofs_x = -1, .ofs_y = 0}, - {.bitmap_index = 4203, .adv_w = 432, .box_w = 27, .box_h = 17, .ofs_x = 0, .ofs_y = 0}, - {.bitmap_index = 4433, .adv_w = 258, .box_w = 16, .box_h = 17, .ofs_x = 0, .ofs_y = 0}, - {.bitmap_index = 4569, .adv_w = 248, .box_w = 17, .box_h = 17, .ofs_x = -1, .ofs_y = 0}, - {.bitmap_index = 4714, .adv_w = 252, .box_w = 15, .box_h = 17, .ofs_x = 1, .ofs_y = 0}, - {.bitmap_index = 4842, .adv_w = 230, .box_w = 12, .box_h = 13, .ofs_x = 1, .ofs_y = 0}, - {.bitmap_index = 4920, .adv_w = 262, .box_w = 14, .box_h = 18, .ofs_x = 2, .ofs_y = 0}, - {.bitmap_index = 5046, .adv_w = 219, .box_w = 12, .box_h = 13, .ofs_x = 1, .ofs_y = 0}, - {.bitmap_index = 5124, .adv_w = 262, .box_w = 14, .box_h = 18, .ofs_x = 1, .ofs_y = 0}, - {.bitmap_index = 5250, .adv_w = 235, .box_w = 13, .box_h = 13, .ofs_x = 1, .ofs_y = 0}, - {.bitmap_index = 5335, .adv_w = 136, .box_w = 10, .box_h = 18, .ofs_x = 0, .ofs_y = 0}, - {.bitmap_index = 5425, .adv_w = 265, .box_w = 14, .box_h = 18, .ofs_x = 1, .ofs_y = -5}, - {.bitmap_index = 5551, .adv_w = 262, .box_w = 13, .box_h = 18, .ofs_x = 2, .ofs_y = 0}, - {.bitmap_index = 5668, .adv_w = 107, .box_w = 4, .box_h = 18, .ofs_x = 1, .ofs_y = 0}, - {.bitmap_index = 5704, .adv_w = 109, .box_w = 9, .box_h = 23, .ofs_x = -3, .ofs_y = -5}, - {.bitmap_index = 5808, .adv_w = 237, .box_w = 13, .box_h = 18, .ofs_x = 2, .ofs_y = 0}, - {.bitmap_index = 5925, .adv_w = 107, .box_w = 3, .box_h = 18, .ofs_x = 2, .ofs_y = 0}, - {.bitmap_index = 5952, .adv_w = 406, .box_w = 22, .box_h = 13, .ofs_x = 2, .ofs_y = 0}, - {.bitmap_index = 6095, .adv_w = 262, .box_w = 13, .box_h = 13, .ofs_x = 2, .ofs_y = 0}, - {.bitmap_index = 6180, .adv_w = 244, .box_w = 14, .box_h = 13, .ofs_x = 1, .ofs_y = 0}, - {.bitmap_index = 6271, .adv_w = 262, .box_w = 14, .box_h = 18, .ofs_x = 2, .ofs_y = -5}, - {.bitmap_index = 6397, .adv_w = 262, .box_w = 14, .box_h = 18, .ofs_x = 1, .ofs_y = -5}, - {.bitmap_index = 6523, .adv_w = 157, .box_w = 8, .box_h = 13, .ofs_x = 2, .ofs_y = 0}, - {.bitmap_index = 6575, .adv_w = 192, .box_w = 12, .box_h = 13, .ofs_x = 0, .ofs_y = 0}, - {.bitmap_index = 6653, .adv_w = 159, .box_w = 10, .box_h = 16, .ofs_x = 0, .ofs_y = 0}, - {.bitmap_index = 6733, .adv_w = 260, .box_w = 13, .box_h = 13, .ofs_x = 2, .ofs_y = 0}, - {.bitmap_index = 6818, .adv_w = 215, .box_w = 15, .box_h = 13, .ofs_x = -1, .ofs_y = 0}, - {.bitmap_index = 6916, .adv_w = 345, .box_w = 22, .box_h = 13, .ofs_x = 0, .ofs_y = 0}, - {.bitmap_index = 7059, .adv_w = 212, .box_w = 13, .box_h = 13, .ofs_x = 0, .ofs_y = 0}, - {.bitmap_index = 7144, .adv_w = 215, .box_w = 15, .box_h = 18, .ofs_x = -1, .ofs_y = -5}, - {.bitmap_index = 7279, .adv_w = 200, .box_w = 12, .box_h = 13, .ofs_x = 0, .ofs_y = 0}, - {.bitmap_index = 7357, .adv_w = 161, .box_w = 8, .box_h = 10, .ofs_x = 1, .ofs_y = 9}, - {.bitmap_index = 7397, .adv_w = 235, .box_w = 13, .box_h = 18, .ofs_x = 1, .ofs_y = 0}, - {.bitmap_index = 7514, .adv_w = 235, .box_w = 13, .box_h = 18, .ofs_x = 1, .ofs_y = 0}, - {.bitmap_index = 7631, .adv_w = 235, .box_w = 13, .box_h = 18, .ofs_x = 1, .ofs_y = 0}, - {.bitmap_index = 7748, .adv_w = 260, .box_w = 13, .box_h = 18, .ofs_x = 2, .ofs_y = 0}, - {.bitmap_index = 7865, .adv_w = 432, .box_w = 28, .box_h = 25, .ofs_x = 0, .ofs_y = -3}, - {.bitmap_index = 8215, .adv_w = 480, .box_w = 30, .box_h = 22, .ofs_x = 0, .ofs_y = -2}, - {.bitmap_index = 8545, .adv_w = 384, .box_w = 24, .box_h = 24, .ofs_x = 0, .ofs_y = -3} + {.bitmap_index = 170, .adv_w = 81, .box_w = 3, .box_h = 7, .ofs_x = 1, .ofs_y = 10}, + {.bitmap_index = 181, .adv_w = 129, .box_w = 6, .box_h = 23, .ofs_x = 2, .ofs_y = -5}, + {.bitmap_index = 250, .adv_w = 130, .box_w = 6, .box_h = 23, .ofs_x = 0, .ofs_y = -5}, + {.bitmap_index = 319, .adv_w = 87, .box_w = 4, .box_h = 7, .ofs_x = 1, .ofs_y = -4}, + {.bitmap_index = 333, .adv_w = 87, .box_w = 4, .box_h = 4, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 341, .adv_w = 256, .box_w = 14, .box_h = 17, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 460, .adv_w = 142, .box_w = 7, .box_h = 17, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 520, .adv_w = 220, .box_w = 13, .box_h = 17, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 631, .adv_w = 220, .box_w = 13, .box_h = 17, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 742, .adv_w = 257, .box_w = 16, .box_h = 17, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 878, .adv_w = 220, .box_w = 13, .box_h = 17, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 989, .adv_w = 237, .box_w = 14, .box_h = 17, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 1108, .adv_w = 230, .box_w = 14, .box_h = 17, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 1227, .adv_w = 247, .box_w = 14, .box_h = 17, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 1346, .adv_w = 237, .box_w = 14, .box_h = 17, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 1465, .adv_w = 87, .box_w = 4, .box_h = 13, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 1491, .adv_w = 281, .box_w = 19, .box_h = 17, .ofs_x = -1, .ofs_y = 0}, + {.bitmap_index = 1653, .adv_w = 291, .box_w = 15, .box_h = 17, .ofs_x = 2, .ofs_y = 0}, + {.bitmap_index = 1781, .adv_w = 278, .box_w = 16, .box_h = 17, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 1917, .adv_w = 317, .box_w = 17, .box_h = 17, .ofs_x = 2, .ofs_y = 0}, + {.bitmap_index = 2062, .adv_w = 257, .box_w = 13, .box_h = 17, .ofs_x = 2, .ofs_y = 0}, + {.bitmap_index = 2173, .adv_w = 244, .box_w = 13, .box_h = 17, .ofs_x = 2, .ofs_y = 0}, + {.bitmap_index = 2284, .adv_w = 296, .box_w = 16, .box_h = 17, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 2420, .adv_w = 312, .box_w = 15, .box_h = 17, .ofs_x = 2, .ofs_y = 0}, + {.bitmap_index = 2548, .adv_w = 119, .box_w = 3, .box_h = 17, .ofs_x = 2, .ofs_y = 0}, + {.bitmap_index = 2574, .adv_w = 197, .box_w = 11, .box_h = 17, .ofs_x = -1, .ofs_y = 0}, + {.bitmap_index = 2668, .adv_w = 276, .box_w = 16, .box_h = 17, .ofs_x = 2, .ofs_y = 0}, + {.bitmap_index = 2804, .adv_w = 228, .box_w = 13, .box_h = 17, .ofs_x = 2, .ofs_y = 0}, + {.bitmap_index = 2915, .adv_w = 367, .box_w = 19, .box_h = 17, .ofs_x = 2, .ofs_y = 0}, + {.bitmap_index = 3077, .adv_w = 312, .box_w = 15, .box_h = 17, .ofs_x = 2, .ofs_y = 0}, + {.bitmap_index = 3205, .adv_w = 323, .box_w = 19, .box_h = 17, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 3367, .adv_w = 277, .box_w = 15, .box_h = 17, .ofs_x = 2, .ofs_y = 0}, + {.bitmap_index = 3495, .adv_w = 323, .box_w = 19, .box_h = 20, .ofs_x = 1, .ofs_y = -3}, + {.bitmap_index = 3685, .adv_w = 279, .box_w = 15, .box_h = 17, .ofs_x = 2, .ofs_y = 0}, + {.bitmap_index = 3813, .adv_w = 238, .box_w = 14, .box_h = 17, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 3932, .adv_w = 225, .box_w = 14, .box_h = 17, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 4051, .adv_w = 304, .box_w = 15, .box_h = 17, .ofs_x = 2, .ofs_y = 0}, + {.bitmap_index = 4179, .adv_w = 273, .box_w = 19, .box_h = 17, .ofs_x = -1, .ofs_y = 0}, + {.bitmap_index = 4341, .adv_w = 432, .box_w = 27, .box_h = 17, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 4571, .adv_w = 258, .box_w = 16, .box_h = 17, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 4707, .adv_w = 248, .box_w = 17, .box_h = 17, .ofs_x = -1, .ofs_y = 0}, + {.bitmap_index = 4852, .adv_w = 252, .box_w = 15, .box_h = 17, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 4980, .adv_w = 230, .box_w = 12, .box_h = 13, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 5058, .adv_w = 262, .box_w = 14, .box_h = 18, .ofs_x = 2, .ofs_y = 0}, + {.bitmap_index = 5184, .adv_w = 219, .box_w = 12, .box_h = 13, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 5262, .adv_w = 262, .box_w = 14, .box_h = 18, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 5388, .adv_w = 235, .box_w = 13, .box_h = 13, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 5473, .adv_w = 136, .box_w = 10, .box_h = 18, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 5563, .adv_w = 265, .box_w = 14, .box_h = 18, .ofs_x = 1, .ofs_y = -5}, + {.bitmap_index = 5689, .adv_w = 262, .box_w = 13, .box_h = 18, .ofs_x = 2, .ofs_y = 0}, + {.bitmap_index = 5806, .adv_w = 107, .box_w = 4, .box_h = 18, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 5842, .adv_w = 109, .box_w = 9, .box_h = 23, .ofs_x = -3, .ofs_y = -5}, + {.bitmap_index = 5946, .adv_w = 237, .box_w = 13, .box_h = 18, .ofs_x = 2, .ofs_y = 0}, + {.bitmap_index = 6063, .adv_w = 107, .box_w = 3, .box_h = 18, .ofs_x = 2, .ofs_y = 0}, + {.bitmap_index = 6090, .adv_w = 406, .box_w = 22, .box_h = 13, .ofs_x = 2, .ofs_y = 0}, + {.bitmap_index = 6233, .adv_w = 262, .box_w = 13, .box_h = 13, .ofs_x = 2, .ofs_y = 0}, + {.bitmap_index = 6318, .adv_w = 244, .box_w = 14, .box_h = 13, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 6409, .adv_w = 262, .box_w = 14, .box_h = 18, .ofs_x = 2, .ofs_y = -5}, + {.bitmap_index = 6535, .adv_w = 262, .box_w = 14, .box_h = 18, .ofs_x = 1, .ofs_y = -5}, + {.bitmap_index = 6661, .adv_w = 157, .box_w = 8, .box_h = 13, .ofs_x = 2, .ofs_y = 0}, + {.bitmap_index = 6713, .adv_w = 192, .box_w = 12, .box_h = 13, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 6791, .adv_w = 159, .box_w = 10, .box_h = 16, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 6871, .adv_w = 260, .box_w = 13, .box_h = 13, .ofs_x = 2, .ofs_y = 0}, + {.bitmap_index = 6956, .adv_w = 215, .box_w = 15, .box_h = 13, .ofs_x = -1, .ofs_y = 0}, + {.bitmap_index = 7054, .adv_w = 345, .box_w = 22, .box_h = 13, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 7197, .adv_w = 212, .box_w = 13, .box_h = 13, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 7282, .adv_w = 215, .box_w = 15, .box_h = 18, .ofs_x = -1, .ofs_y = -5}, + {.bitmap_index = 7417, .adv_w = 200, .box_w = 12, .box_h = 13, .ofs_x = 0, .ofs_y = 0}, + {.bitmap_index = 7495, .adv_w = 161, .box_w = 8, .box_h = 10, .ofs_x = 1, .ofs_y = 9}, + {.bitmap_index = 7535, .adv_w = 235, .box_w = 13, .box_h = 18, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 7652, .adv_w = 235, .box_w = 13, .box_h = 18, .ofs_x = 1, .ofs_y = 0}, + {.bitmap_index = 7769, .adv_w = 260, .box_w = 13, .box_h = 18, .ofs_x = 2, .ofs_y = 0}, + {.bitmap_index = 7886, .adv_w = 432, .box_w = 28, .box_h = 25, .ofs_x = 0, .ofs_y = -3}, + {.bitmap_index = 8236, .adv_w = 480, .box_w = 30, .box_h = 22, .ofs_x = 0, .ofs_y = -2}, + {.bitmap_index = 8566, .adv_w = 384, .box_w = 24, .box_h = 24, .ofs_x = 0, .ofs_y = -3} }; /*--------------------- * CHARACTER MAPPING *--------------------*/ -static const uint16_t unicode_list_0[] = { - 0x0, 0x5, 0xc, 0xd, 0xe +static const uint8_t glyph_id_ofs_list_0[] = { + 0, 0, 0, 0, 0, 1, 0, 2, + 3, 4, 0, 0, 5, 0, 6, 0, + 7, 8, 9, 10, 11, 12, 13, 14, + 15, 16, 17 }; -static const uint16_t unicode_list_4[] = { - 0x0, 0x38, 0x39, 0x3a, 0x4b, 0xef65, 0xf012, 0xf4c5 +static const uint16_t unicode_list_3[] = { + 0x0, 0x38, 0x39, 0x4b, 0xef65, 0xf012, 0xf4c5 }; /*Collect the unicode lists and glyph_id offsets*/ static const lv_font_fmt_txt_cmap_t cmaps[] = { { - .range_start = 32, .range_length = 15, .glyph_id_start = 1, - .unicode_list = unicode_list_0, .glyph_id_ofs_list = NULL, .list_length = 5, .type = LV_FONT_FMT_TXT_CMAP_SPARSE_TINY + .range_start = 32, .range_length = 27, .glyph_id_start = 1, + .unicode_list = NULL, .glyph_id_ofs_list = glyph_id_ofs_list_0, .list_length = 27, .type = LV_FONT_FMT_TXT_CMAP_FORMAT0_FULL }, { - .range_start = 48, .range_length = 11, .glyph_id_start = 6, + .range_start = 65, .range_length = 26, .glyph_id_start = 19, .unicode_list = NULL, .glyph_id_ofs_list = NULL, .list_length = 0, .type = LV_FONT_FMT_TXT_CMAP_FORMAT0_TINY }, { - .range_start = 65, .range_length = 26, .glyph_id_start = 17, + .range_start = 97, .range_length = 26, .glyph_id_start = 45, .unicode_list = NULL, .glyph_id_ofs_list = NULL, .list_length = 0, .type = LV_FONT_FMT_TXT_CMAP_FORMAT0_TINY }, { - .range_start = 97, .range_length = 26, .glyph_id_start = 43, - .unicode_list = NULL, .glyph_id_ofs_list = NULL, .list_length = 0, .type = LV_FONT_FMT_TXT_CMAP_FORMAT0_TINY - }, - { - .range_start = 176, .range_length = 62662, .glyph_id_start = 69, - .unicode_list = unicode_list_4, .glyph_id_ofs_list = NULL, .list_length = 8, .type = LV_FONT_FMT_TXT_CMAP_SPARSE_TINY + .range_start = 176, .range_length = 62662, .glyph_id_start = 71, + .unicode_list = unicode_list_3, .glyph_id_ofs_list = NULL, .list_length = 7, .type = LV_FONT_FMT_TXT_CMAP_SPARSE_TINY } }; @@ -1431,254 +1436,275 @@ static const lv_font_fmt_txt_cmap_t cmaps[] = /*Map glyph_ids to kern left classes*/ static const uint8_t kern_left_class_mapping[] = { - 0, 0, 1, 2, 3, 2, 4, 0, - 5, 6, 7, 8, 9, 10, 11, 4, - 12, 13, 14, 15, 16, 17, 18, 19, - 20, 20, 21, 22, 23, 20, 20, 16, - 24, 16, 25, 26, 27, 21, 28, 28, - 29, 30, 31, 32, 33, 34, 35, 36, - 37, 38, 32, 38, 38, 39, 35, 32, - 32, 33, 33, 40, 41, 42, 43, 38, - 44, 44, 45, 44, 46, 47, 36, 36, - 36, 38, 0, 0, 0 + 0, 0, 1, 2, 3, 4, 5, 5, + 6, 0, 7, 8, 9, 10, 11, 12, + 13, 6, 14, 15, 16, 17, 18, 19, + 20, 21, 22, 22, 23, 24, 25, 22, + 22, 18, 26, 18, 27, 28, 29, 23, + 30, 30, 31, 32, 33, 34, 35, 36, + 37, 38, 39, 40, 34, 40, 40, 41, + 37, 34, 34, 35, 35, 42, 43, 44, + 45, 40, 46, 46, 47, 46, 48, 49, + 38, 38, 40, 0, 0, 0 }; /*Map glyph_ids to kern right classes*/ static const uint8_t kern_right_class_mapping[] = { - 0, 0, 1, 2, 3, 2, 4, 5, - 6, 7, 8, 9, 4, 10, 11, 12, - 13, 14, 15, 16, 15, 15, 15, 16, - 15, 15, 17, 15, 15, 15, 15, 16, - 15, 16, 15, 18, 19, 20, 21, 21, - 22, 23, 24, 25, 26, 27, 27, 27, - 0, 27, 26, 28, 29, 26, 26, 30, - 30, 27, 30, 27, 30, 31, 32, 33, - 34, 34, 35, 34, 36, 37, 27, 27, - 27, 33, 0, 0, 0 + 0, 0, 1, 2, 3, 4, 5, 5, + 6, 7, 8, 9, 10, 11, 6, 12, + 13, 14, 15, 16, 17, 18, 17, 17, + 17, 18, 17, 17, 19, 17, 17, 17, + 17, 18, 17, 18, 17, 20, 21, 22, + 23, 23, 24, 25, 26, 27, 28, 29, + 29, 29, 0, 29, 28, 30, 31, 28, + 28, 32, 32, 29, 32, 29, 32, 33, + 34, 35, 36, 36, 37, 36, 38, 39, + 29, 29, 35, 0, 0, 0 }; /*Kern values between classes*/ static const int8_t kern_class_values[] = { - -46, 12, 8, 0, -8, 4, 4, 13, - 8, -7, 8, 0, 0, 0, 0, 0, + -46, -10, 0, -8, 12, 0, -8, 4, + 4, 13, 8, -7, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, -10, -24, 0, -3, - -5, -5, 4, 4, -3, 0, -5, 4, + 0, 0, 0, 0, 0, 0, -10, 10, + 17, 0, 0, -21, 3, 18, 8, 7, + -15, 3, 19, 1, 16, 4, 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, 0, 0, 0, 4, 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, -24, -14, -3, 1, 3, -7, -5, - -8, 3, 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, - -5, 3, 0, -1, -1, -4, 0, 0, - -3, 0, 0, 0, -3, 0, 0, -9, - 0, -8, 0, -10, -13, -13, -7, 0, - 0, 0, 0, -3, 0, 0, 4, 0, - 3, -4, 0, 1, 4, 4, -3, -1, + 0, -14, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, -24, -21, 0, 0, + 0, -5, -5, 4, 4, -3, 0, -5, + 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, -24, 0, 3, 0, 0, -5, + 0, -1, -1, -4, 0, 0, -3, 0, + 0, 0, -3, 0, 0, -9, 0, -8, + 0, -10, -13, -13, -7, 0, 0, 0, + 0, -3, 0, 0, 4, 0, 3, -4, + 0, 1, 4, 0, 0, 0, 4, -1, 0, 0, 0, -7, 0, -1, 0, 0, 0, 1, 0, 0, 5, 0, -3, 0, -5, 0, -7, 0, 0, 0, -4, 0, 0, 0, 0, 0, -1, 1, -3, -3, - 0, -4, 0, 0, 0, 0, -2, -2, - 0, -4, -5, 0, 0, 0, 1, 0, - 0, 0, 0, -3, 0, -4, -4, -4, - 0, 0, 0, 0, 0, -2, 0, 0, - 0, 0, -3, -5, 0, -6, -12, 8, - 4, 0, -10, -1, -5, 0, -1, -18, - 4, -3, 3, 0, 0, 4, 1, -3, - -20, 0, -20, -3, -33, -3, 11, 0, - 5, 0, 0, 0, 0, 1, 0, -7, - -5, 0, -12, -4, 0, 0, 0, 0, - -2, -2, 0, -2, -5, 0, 0, 0, - 0, 0, 0, -4, 0, -4, 0, -3, - -5, -3, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, -3, -3, 0, -5, - -8, 4, 2, 0, 0, 0, 0, 0, + 0, -4, -4, 0, 0, 0, 0, 0, + -2, -2, 0, -4, -5, 0, 0, 0, + 1, 0, 0, 0, 0, -3, 0, -4, + -4, -4, 0, 0, 0, 0, 0, -2, + 0, 0, 0, 0, -3, -5, 0, -6, + -12, -12, 0, 0, 8, 0, -10, -1, + -5, 0, -1, -18, 4, -3, 3, 0, + 0, 4, 1, -3, -20, 0, -20, -3, + -33, -3, 11, 0, 5, 0, 0, 0, + 0, 1, 0, -7, -5, 0, -12, -4, + 0, 0, 0, 0, 0, 0, -2, -2, + 0, -2, -5, 0, 0, 0, 0, 0, + 0, -4, 0, -4, 0, -3, -5, -3, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, -3, -3, 0, -5, -8, -3, + 0, 0, 4, 0, 0, 0, 0, 0, 0, -3, 0, 0, 0, 3, 0, 0, 0, 0, -4, 0, -4, -3, -5, 0, 0, 0, 3, 0, -3, 0, 0, 0, - 0, -4, -6, 0, -7, 1, -20, -19, - -8, 4, 0, -3, -25, -7, 0, -7, - 0, -8, -25, 0, -7, -10, -3, 0, - 0, 2, -1, 3, -3, -15, 0, -19, - -9, -8, -9, -12, -5, -10, -1, -7, - -10, 2, -4, 4, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, -2, - 0, 0, -1, 0, -4, 0, -7, -8, - -8, -1, 0, 0, 0, 0, -3, 0, - 0, 0, 0, 2, -2, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 3, 0, 0, 0, 0, 0, 0, 0, + 0, -4, -6, 0, -7, 1, 12, 0, + 0, -20, -8, 4, 0, -3, -25, -7, + 0, -7, 0, -8, -25, 0, -7, -10, + -3, 0, 0, 2, -1, 3, -3, -15, + 0, -19, -9, -8, -9, -12, -5, -10, + -1, -7, -10, 2, -4, 1, 0, 0, + 4, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, -2, 0, 0, -1, 0, + -4, 0, -7, -8, -8, -1, 0, 0, + 0, 0, -3, 0, 0, 0, 0, 2, + -2, 0, 0, 0, 4, 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, 13, -7, -3, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, -17, 0, 0, 13, -3, -16, 0, 4, -6, 0, -19, -2, -5, 4, 5, 0, -4, 6, 0, -13, -6, -14, -13, -16, 0, 0, 0, -2, 0, 0, 0, -2, -2, -4, -10, -13, -1, - -36, 0, 1, 0, 0, 0, 0, 0, + -36, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, -4, 0, -2, -4, -6, + 0, 0, 0, 0, 0, -4, 0, -2, + -4, -6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 5, - -1, -8, 4, -3, -1, -10, -4, 0, - -5, -4, -3, -7, 0, -6, 0, -1, - -3, -1, -3, -7, -5, 0, -3, 0, - -8, 0, 0, 0, -8, 0, -7, 0, - -7, -7, 4, 0, -8, 3, 0, -4, - -4, -5, 0, 0, 0, 0, 0, 0, - -4, 0, 0, -6, 0, -4, 0, -8, - -10, -12, -3, 0, 0, 0, 0, 31, - 0, 0, 2, 0, 0, -5, 0, 4, - 0, 4, -8, -5, 0, -3, -5, -12, + 0, 0, 0, 0, 5, -8, 4, -3, + -1, -10, -4, 0, -5, -4, -3, -7, + 0, -6, 0, -1, -3, -1, -3, -7, + -5, 0, -3, 0, -8, 0, 0, 0, + -8, 0, -7, 0, -7, -7, 4, 0, + -7, 0, 5, -8, 0, -4, -4, -5, + 0, 0, 0, 0, 0, 0, -4, 0, + 0, -6, 0, -4, 0, -8, -10, -12, + -3, 0, 0, 0, 0, 31, 0, 0, + 2, 0, 0, -5, 0, 4, 0, 0, + 0, 0, 4, -5, 0, -3, -5, -12, -3, -3, -3, -1, -3, 0, 0, -1, 0, 0, 0, 0, -4, -3, -3, 0, -3, 0, -3, 0, 0, 0, -3, -5, - -3, -3, -5, -3, 0, 0, -4, 0, - -5, 6, 0, 0, -18, -7, 4, -7, - 3, 0, -12, 0, -3, -6, -1, 2, - 0, 0, -7, 0, 0, -7, 0, -7, - -4, -6, -4, -4, 0, -7, 2, -7, - -7, 12, 0, 4, 0, 0, 0, 0, + -3, -3, -5, -3, 0, 0, 15, 0, + -3, -4, -5, 6, 0, 0, -18, -7, + 4, -7, 3, 0, -12, 0, -3, -6, + -1, 2, 0, 0, -7, 0, 0, -7, + 0, -7, -4, -6, -4, -4, 0, -7, + 2, -7, -7, 12, 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, 0, 0, 0, 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, -3, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -6, 0, 0, 0, 0, -5, 0, 0, -4, -4, 0, 0, 0, 0, 0, -2, 0, 0, 0, 0, 0, -3, 0, - 0, 0, 0, -13, -8, 8, 1, -3, - -18, 0, 0, -8, -4, 0, -11, 0, - -10, 0, -6, -17, -4, -15, -15, -18, - 0, -5, 0, -9, -4, -1, -4, -7, - -10, -7, -14, -16, -9, -4, 0, 12, - -3, -8, -14, 0, 1, -12, 0, -19, - -3, -4, 8, 1, 0, -5, 0, -3, - -25, -5, -20, -4, -28, 0, 1, 0, - -3, 0, 0, 0, 0, -2, -3, -15, - -3, 0, -25, 0, -11, -1, 0, 0, - -2, -6, -12, -4, 0, -3, 0, 0, - -17, -4, 0, -13, 0, -12, -3, -7, - -10, -4, -7, -6, 0, -5, -7, -4, - -7, 0, 2, 0, -3, -13, 0, 8, - 0, 0, -1, 0, 0, 0, -3, -8, + 0, 0, 0, 0, 0, 0, -8, 8, + 1, -3, -18, 0, 0, -8, -4, 0, + -11, 0, -10, 0, -6, -17, -4, -15, + -15, -18, 0, -5, 0, -9, -4, -1, + -4, -7, -10, -7, -14, -16, -9, -4, + 0, 0, 0, 0, 12, -8, -14, 0, + 1, -12, 0, -19, -3, -4, 8, 1, + 0, -5, 0, -3, -25, -5, -20, -4, + -28, 0, 1, 0, -3, 0, 0, 0, + 0, -2, -3, -15, -3, 0, -25, 0, + 0, 0, -3, -11, 0, 0, -2, -6, + -12, -4, 0, -3, 0, 0, -17, -4, + 0, -13, 0, -12, -3, -7, -10, -4, + -7, -6, 0, -5, -7, -4, -7, 0, + 2, 0, -3, -13, 0, 8, 0, 0, + 0, 0, 0, 0, 0, 0, -3, -8, 0, 0, 0, 0, 0, 0, 0, 0, -4, 0, -4, 0, 0, -8, -4, 0, -2, 0, 0, 0, 0, 0, 0, 2, - 0, 0, 0, 0, 6, 0, 8, 7, - 0, -4, 0, -3, 4, 0, -4, 0, - -4, -2, 0, 0, 0, 0, 0, -4, - 0, 0, -5, -6, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, -4, -4, - 0, -6, 0, -12, -13, -8, 15, 7, - 4, -33, -3, 8, -4, 0, -4, -13, - 0, -4, -4, -3, 4, -5, -3, -12, - -3, 0, -11, 0, -21, -5, 11, -5, - -15, 1, -5, -13, -13, -4, 15, 0, - -14, -9, -10, 12, 0, 1, -28, -3, - 4, -7, -3, -9, -14, -6, -8, -6, - -6, -3, 0, 0, -9, -8, -4, -21, - 0, -21, -5, 0, -13, -22, -1, -12, - -7, -13, -11, 10, 0, 0, -7, -13, + 0, 0, 0, 0, 6, 0, -12, 0, + 0, 8, 0, -4, 0, -3, 4, 0, + -4, 0, -4, -2, 0, 0, 0, 0, + 0, -4, 0, 0, -5, -6, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + -4, -4, 0, -6, 0, 3, -6, 0, + -12, -8, 15, 7, 4, -33, -3, 8, + -4, 0, -4, -13, 0, -4, -4, -3, + 4, -5, -3, -12, -3, 0, -11, 0, + -21, -5, 11, -5, -15, 1, -5, -13, + -13, -4, 15, 0, 0, 0, 3, -14, + -10, 12, 0, 1, -28, -3, 4, -7, + -3, -9, -14, -6, -8, -6, -6, -3, + 0, 0, -9, -8, -4, -21, 0, -21, + -5, 0, -13, -22, -1, -12, -7, -13, + -11, 10, 0, 0, -3, 0, 0, -13, 4, 0, 0, -20, 0, -4, -8, -7, -3, -13, -9, -10, 0, -5, -12, -4, -9, -7, -12, -4, -7, 0, -12, -4, 0, -4, -8, -9, -10, -11, -15, -5, - -8, 0, -14, -12, -13, 13, -4, 2, - -36, -7, 8, -8, -7, -14, -16, -5, - -12, -4, -6, -3, -4, -8, -12, -1, - 0, -25, 0, -23, -9, 9, -15, -26, - -8, -13, -16, -19, -13, 8, 0, 8, - -5, -7, 8, 0, 0, -12, -1, 0, - -1, 0, 1, 0, 0, -3, 0, 0, - 0, 0, 0, -4, 0, 0, 1, 0, - -5, 0, 0, 0, 0, -3, -3, -5, - 0, 0, 0, -11, 0, 0, 0, -8, - -2, 0, 0, 0, -8, 0, -5, 0, + -8, 0, 0, -5, 2, -14, -13, 13, + -4, 2, -36, -7, 8, -8, -7, -14, + -16, -5, -12, -4, -6, -3, -4, -8, + -12, -1, 0, -25, 0, -23, -9, 9, + -15, -26, -8, -13, -16, -19, -13, 8, + 0, 0, 0, 0, 8, -7, 8, 0, + 0, -12, -1, 0, -1, 0, 1, 0, + 0, -3, 0, 0, 0, 0, 0, -4, + 0, 0, 1, 0, -5, 0, 0, 0, + 0, -3, -3, -5, 0, 0, 0, -11, + 0, 0, 0, 0, 0, -8, -2, 0, + 0, 0, -8, 0, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 1, 0, 0, - 0, 0, 0, 0, -4, 0, 0, -7, - -10, -5, 4, 0, -10, -4, -9, 0, + 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, -4, 0, 0, -7, -10, -6, + 0, 0, -5, 0, -10, -4, -9, 0, 0, -10, 0, -4, 0, -4, 0, 0, 0, 0, -31, -7, -15, -4, -14, 0, -2, 0, 0, 0, 0, 0, 0, 0, - 0, -6, -7, -3, -7, 0, 8, -4, - -3, -9, -3, -7, -7, 0, -5, -2, - -3, 3, 0, 0, -1, 0, 0, -34, - -3, -5, 0, -8, 0, 0, -3, -3, - 0, 0, 0, 0, 3, 0, -3, -7, - -3, 7, 0, 0, 0, 0, 0, 0, + 0, -6, -7, -3, -7, 0, 0, 0, + -8, 8, -3, -9, -3, -7, -7, 0, + -5, -2, -3, 3, 0, 0, -1, 0, + 0, -34, -3, -5, 0, -8, 0, 0, + -3, -3, 0, 0, 0, 0, 3, 0, + -3, -7, -3, 7, 0, 0, 0, 0, 0, 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, -3, - 0, 4, 0, -10, -4, -8, 0, 0, - -11, 0, -4, 0, 0, 0, 0, 0, - 0, -37, 0, -8, -14, -19, 0, -6, - 0, 0, 0, 0, 0, 0, 0, 0, - -4, -6, -2, -6, 7, -4, -4, 5, + 0, 0, 0, 0, 0, 5, 0, 0, + 0, 0, 0, -3, -8, 0, 0, 0, + 0, -10, -4, -8, 0, 0, -11, 0, + -4, 0, 0, 0, 0, 0, 0, -37, + 0, -8, -14, -19, 0, -6, 0, 0, + 0, 0, 0, 0, 0, 0, -4, -6, + -2, -6, 7, 0, 0, 12, -4, 5, 19, 7, 8, -10, 5, 16, 5, 11, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -4, 0, -3, 31, 17, 31, 0, 0, 0, 4, 0, 0, - 14, 0, 0, 0, 0, -3, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, -6, -32, -5, -3, -16, -19, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 4, - -9, -4, 3, 7, 4, -12, 0, -1, - -3, 4, 0, 0, 0, 0, 0, 0, - -10, 0, -3, -3, -8, 0, -4, 0, - -8, -3, 0, -3, -7, 0, -4, -11, - -8, -5, 0, 0, 0, 0, 0, -3, + 14, 0, 0, 0, 0, 0, 0, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -6, -32, -5, -3, - -16, -19, 0, 0, 0, 0, 0, 19, + -16, -19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, -4, -3, 1, -2, 1, -3, -10, + 0, 0, 0, 0, 4, -4, 3, 7, + 4, -12, 0, -1, -3, 4, 0, 0, + 0, 0, 0, 0, -10, 0, -3, -3, + -8, 0, -4, 0, -8, -3, 0, -3, + -7, 0, -4, -11, -8, -5, 0, 0, + 0, 0, 0, 0, 0, -3, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, -6, -32, -5, -3, -16, -19, + 0, 0, 0, 0, 0, 19, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + -5, -3, -4, 1, -2, 1, -3, -10, 1, 8, 1, 3, 1, -15, -5, -9, 0, -6, -15, -7, -10, -16, -15, 0, -3, -3, -5, -3, 0, -3, -1, 6, 0, 6, -3, 0, 12, 0, 0, 0, - 0, -3, -4, -4, 0, 0, -10, 0, - -2, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, -3, -4, -4, 0, 0, + -10, 0, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, -4, -4, - 0, -5, 0, 4, -4, -7, -7, -3, - 0, -11, -3, -8, -3, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, -7, 0, 0, 0, - 0, -5, 0, -4, 0, 0, -2, 0, - -13, -5, 3, 4, 4, -1, -11, 3, - 6, 3, 12, 3, -10, 0, -3, 0, - -3, -15, 0, 0, -12, -10, 0, -7, - 0, -6, 0, -6, 0, -3, 6, 0, - -3, -12, -4, 14, 0, 0, -9, -4, + -4, -4, 0, -5, 0, 0, 0, 0, + 4, -7, -7, -3, 0, -11, -3, -8, + -3, -5, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + -7, 0, 0, 0, 0, -5, 0, -4, + 0, 0, -2, 0, 0, 0, 0, -13, + 3, 4, 4, -1, -11, 3, 6, 3, + 12, 3, -10, 0, -3, 0, -3, -15, + 0, 0, -12, -10, 0, -7, 0, -6, + 0, -6, 0, -3, 6, 0, -3, -12, + -4, 14, 0, 0, 0, 0, 0, -4, 3, 0, 0, -13, 0, -3, -1, 0, -4, 0, 0, -3, 0, -3, -16, -5, -8, 0, -12, 0, -4, 0, -7, 0, 2, 0, -4, 0, -4, -12, 0, -4, - 4, 0, 1, -5, 0, -5, -3, 0, - -5, 0, 0, 0, 0, 0, 0, 0, + 4, 0, 0, 0, 0, 1, 0, -5, + -3, 0, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, -3, 0, 0, 0, 0, - 1, 0, -4, -4, 0, 0, 9, -24, - 0, 1, 17, 12, 7, -15, 3, 16, - 0, 14, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, -3, 0, 0, + 0, 0, 1, 0, -4, -4, 0, 0, + 9, 8, 0, 0, -24, 1, 17, 12, + 7, -15, 3, 16, 0, 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 }; @@ -1688,8 +1714,8 @@ static const 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 = 47, - .right_class_cnt = 37, + .left_class_cnt = 49, + .right_class_cnt = 39, }; /*-------------------- @@ -1711,7 +1737,7 @@ static lv_font_fmt_txt_dsc_t font_dsc = { .cmaps = cmaps, .kern_dsc = &kern_classes, .kern_scale = 16, - .cmap_num = 5, + .cmap_num = 4, .bpp = 4, .kern_classes = 1, .bitmap_format = 0, diff --git a/main/idf_component.yml b/main/idf_component.yml index 8bf5277..482d45a 100644 --- a/main/idf_component.yml +++ b/main/idf_component.yml @@ -2,7 +2,7 @@ dependencies: espressif/esp_wifi_remote: rules: - if: target in ["esp32p4"] - version: "0.8.5" + version: "0.9.2" suda-morris/am2302_rmt: version: "^1.0.0" @@ -18,9 +18,9 @@ dependencies: esp_lvgl_port: rules: - if: target in ["esp32p4"] - version: 2.5.0 + version: 2.6.0 idf: - version: '5.4.*' + version: '5.5.*' lvgl/lvgl: version: 9.2.0 #espressif/esp32_p4_function_ev_board: diff --git a/main/ihm.c b/main/ihm.c index 310d7e3..6ac637e 100644 --- a/main/ihm.c +++ b/main/ihm.c @@ -33,7 +33,8 @@ lv_subject_t forecastH3Subj; lv_subject_t *tmpHSubj[3] = {&forecastH1Subj, &forecastH2Subj, &forecastH3Subj}; lv_subject_t meteoStatus; -char dateHeureStr[30]; +//char dateHeureStr[30]; +lv_obj_t *jour; static lv_style_t no_padding; static const char *TAG = "IHM"; @@ -45,7 +46,7 @@ LV_IMAGE_DECLARE(wifi_ko); static void wifiStatus_obs_cb(lv_observer_t * observer, lv_subject_t * subject) { - ESP_LOGE(TAG, "On passe dans le callback de chgt de statut; %li", lv_subject_get_int(subject)); + ESP_LOGV(TAG, "On passe dans le callback de chgt de statut; %li", lv_subject_get_int(subject)); bsp_display_lock(0); if(lv_layer_top()!=NULL && lv_obj_get_child_cnt(lv_layer_top())){ lv_obj_t * wifiSt = lv_obj_get_child(lv_obj_get_child(lv_layer_top(), 0),2); @@ -75,6 +76,20 @@ static void wifiStatus_obs_cb(lv_observer_t * observer, lv_subject_t * subject) //lv_obj_t * btn = lv_observer_get_target(observer); } +static void draw_time(char* dateHeure){ + if(display_lock("updateTime")){ + lv_label_set_text(jour, dateHeure); + display_unlock("updateTime"); + } +} + +static void draw_temp(char * tempHumid){ + if(display_lock("draw_temp")){ + lv_label_set_text(lblTempInt2,tempHumid); + display_unlock("updateTime"); + } +} + void drawIhm(void *xIHMEventQueue){ init_display(); @@ -85,53 +100,55 @@ void drawIhm(void *xIHMEventQueue){ display_lock("app_main"); app_main_display(); display_unlock("app_main"); - // Show LVGL objects + vTaskDelay(pdMS_TO_TICKS(2000)); + // Show LVGL objects if(display_lock("draw_ihm")){ draw_ihm(); display_unlock("draw_ihm"); - }else{ - ESP_LOGE(TAG,"Impossible d'obtenir le mutex pour draw_ihm"); } - - while (1) - { + while (1){ xIPStackEvent_t xReceivedEvent; // On cree une queue qui va permettre de recevoir les informations a afficher xQueueReceive(xIHMEventQueue,&xReceivedEvent, portMAX_DELAY ); switch (xReceivedEvent.eEventType) { case IHM_EVT_WIFI_STATUS: - ESP_LOGE(TAG, "On a recu un evt wifi"); + ESP_LOGV(TAG, "evt wifi -- begin"); lv_subject_set_int(&wifiStatus, (int)xReceivedEvent.pvData); + ESP_LOGV(TAG, "evt wifi -- end"); break; case IHM_EVT_TIME_SETTED: - ESP_LOGE(TAG, "On a recu un evt timesetted"); + ESP_LOGV(TAG, "evt timesetted -- begin"); draw_time(xReceivedEvent.pvData); + ESP_LOGV(TAG, "evt timesetted -- end"); break; + case IHM_EVT_OTA_STARTED: + ESP_LOGV(TAG, "evt OTA_STARTED -- begin"); + app_ota_display(); + ESP_LOGV(TAG, "evt OTA_STARTED -- end"); + break; + case IHM_EVT_OTA_PROGRESS: + //ESP_LOGE(TAG, "evt OTA_PROGRESS -- begin"); + setOTAProgress((int)xReceivedEvent.pvData); + //ESP_LOGE(TAG, "evt OTA_PROGRESS -- end"); + break; + case IHM_EVT_HUMID_TEMP: + ESP_LOGV(TAG, "evt IHM_EVT_HUMID_TEMP -- begin"); + draw_temp((char *)xReceivedEvent.pvData); + ESP_LOGV(TAG, "evt IHM_EVT_HUMID_TEMP -- end"); + break; + default: ESP_LOGE(TAG, "Evt inconnu"); break; }; - vTaskDelay(5/portTICK_PERIOD_MS); + ESP_LOGV(TAG,"IHM delay"); + vTaskDelay(100/portTICK_PERIOD_MS); } } -void draw_time(char* dateHeure){ - if(display_lock("updateTime")){ - lv_subject_copy_string(&dateHeureSubj, dateHeure); - display_unlock("updateTime"); - } -} - -void draw_temp(char * tempHumid){ - if(lvgl_port_lock(5)){ - lv_label_set_text(lblTempInt2,tempHumid); - lvgl_port_unlock(); - } - -} static void event_handler(lv_event_t *e) { @@ -165,12 +182,12 @@ void init_display(){ //lvgl_cfg.task_priority=15; bsp_display_cfg_t cfg = { .lvgl_port_cfg = lvgl_cfg, - .buffer_size = BSP_LCD_DRAW_BUFF_SIZE, + .buffer_size = 1024*600,//BSP_LCD_DRAW_BUFF_SIZE, .double_buffer = 1, .flags = { - .buff_dma = true, + .buff_dma = false, .buff_spiram = false, - .sw_rotate = false, + .sw_rotate = true } }; ESP_LOGE(TAG,"On demarre le display"); @@ -178,7 +195,7 @@ void init_display(){ //bsp_display_rotate(dsp,LV_DISP_ROTATION_180); bsp_display_backlight_on(); - bsp_display_brightness_set(30); + bsp_display_brightness_set(50); mainState.display_init=true; } @@ -196,26 +213,32 @@ static void value_changed_event_cb(lv_event_t * e) } void app_ota_display(){ - lv_obj_clean(lv_scr_act()); - lv_obj_t * label = lv_label_create(lv_screen_active()); - otaStatus=lv_label_create(lv_scr_act()); - lv_label_set_text(otaStatus, "Mise à jour OTA en cours"); - /*Create an Arc*/ - arcProgress = lv_arc_create(lv_screen_active()); - lv_obj_set_size(arcProgress, 150, 150); - lv_arc_set_rotation(arcProgress, 135); - lv_arc_set_bg_angles(arcProgress, 0, 270); - lv_arc_set_value(arcProgress, 0); - lv_obj_center(arcProgress); - lv_obj_add_event_cb(arcProgress, value_changed_event_cb, LV_EVENT_VALUE_CHANGED, label); + if(display_lock("app_ota_display")){ + lv_obj_clean(lv_scr_act()); + lv_obj_t * label = lv_label_create(lv_screen_active()); + otaStatus=lv_label_create(lv_scr_act()); + lv_label_set_text(otaStatus, "Mise à jour OTA en cours"); + /*Create an Arc*/ + arcProgress = lv_arc_create(lv_screen_active()); + lv_obj_set_size(arcProgress, 150, 150); + lv_arc_set_rotation(arcProgress, 135); + lv_arc_set_bg_angles(arcProgress, 0, 270); + lv_arc_set_value(arcProgress, 0); + lv_obj_center(arcProgress); + lv_obj_add_event_cb(arcProgress, value_changed_event_cb, LV_EVENT_VALUE_CHANGED, label); - /*Manually update the label for the first time*/ - lv_obj_send_event(arcProgress, LV_EVENT_VALUE_CHANGED, NULL); + /*Manually update the label for the first time*/ + lv_obj_send_event(arcProgress, LV_EVENT_VALUE_CHANGED, NULL); + display_unlock("app_ota_display"); + } } void setOTAProgress(int value){ - lv_arc_set_value(arcProgress, value); - lv_obj_send_event(arcProgress, LV_EVENT_VALUE_CHANGED, NULL); + if(display_lock("setOTAProgress")){ + lv_arc_set_value(arcProgress, value); + lv_obj_send_event(arcProgress, LV_EVENT_VALUE_CHANGED, NULL); + display_unlock("setOTAProgress"); + } } void app_main_display() @@ -250,7 +273,7 @@ void app_main_display() lv_theme_t * th = lv_theme_domotic_init(lv_display_get_default()); lv_display_set_theme(lv_disp_get_default(), th); /* Assign theme to display */ - lv_subject_init_string(&dateHeureSubj, dateHeureStr, NULL, 64, "--"); + //lv_subject_init_string(&dateHeureSubj, dateHeureStr, NULL, 64, "--"); lv_style_init(&no_padding); lv_style_set_pad_all(&no_padding, 0); @@ -266,7 +289,6 @@ void app_main_display() /*First define a color gradient. In this example we use a purple to black color map.*/ static lv_grad_dsc_t grad; - ESP_LOGE(TAG,"On aimerait %d stops", sizeof(grad_colors) / sizeof(lv_color_t)); lv_gradient_init_stops(&grad, grad_colors, NULL, NULL, sizeof(grad_colors) / sizeof(lv_color_t)); /*Make a radial gradient with the center in the middle of the object, extending to the farthest corner*/ @@ -282,10 +304,10 @@ void app_main_display() lv_obj_set_height(cont_status, LV_SIZE_CONTENT); lv_obj_set_width(cont_status, LV_SIZE_CONTENT); - lv_obj_t *jour = lv_label_create(cont_status); + jour = lv_label_create(cont_status); lv_obj_set_style_text_font(jour,lv_theme_get_font_normal(jour),0); lv_obj_set_width(jour, LV_SIZE_CONTENT); - lv_label_bind_text(jour, &dateHeureSubj, NULL); + //lv_label_bind_text(jour, &dateHeureSubj, NULL); lv_obj_refr_size(cont_status); // lv_obj_align(jour, LV_ALIGN_CENTER,0,0); @@ -324,17 +346,17 @@ void app_main_display() } bool display_lock(const char* TAG){ - ESP_LOGI(TAG,"Obtention mutexx"); - if(bsp_display_lock(5000)){ - ESP_LOGI(TAG, "Mutex obtenu"); + //ESP_LOGI(TAG,"Obtention mutex"); + if(bsp_display_lock(3000)){ + //ESP_LOGI(TAG, "Mutex obtenu"); return true; }else{ - ESP_LOGE(TAG, "Impossible d'obtenir le mutex"); + //ESP_LOGE(TAG, "Impossible d'obtenir le mutex"); return false; } } void display_unlock(const char* TAG){ - ESP_LOGI(TAG,"Libération mutexx"); + //ESP_LOGI(TAG,"Libération mutexx"); bsp_display_unlock(); } @@ -372,7 +394,7 @@ static void weatherdata_obs_cb(lv_observer_t *observer, lv_subject_t *subject) // Retrieve weatherdata const struct meteodailyforecast_data *data = subject->value.pointer; - ESP_LOGE(TAG, "CB meteo jour declenché. Meteo valide : %i", data->isValid); + ESP_LOGV(TAG, "CB meteo jour declenché. Meteo valide : %i", data->isValid); // printffd(data); // char buff[40] = {}; // sprintf(buff,"%s %.1f %.1f", data->previsions.desc, data->previsions.min, data->previsions.max); @@ -430,7 +452,7 @@ void showMeteoIcon(const char *icon, lv_obj_t *desc_icon, int childNr) char *str1 = "A:/littlefs/"; char *result = malloc(strlen(str1) + strlen(icon) + 6); sprintf(result, "%s%s.png", str1, icon); - ESP_LOGE(TAG,"On affiche l'image %s", result); + ESP_LOGV(TAG,"On affiche l'image %s", result); lv_image_set_src(img, result); free(result); } @@ -549,7 +571,7 @@ static lv_obj_t* weatherH_fragment_create_obj(int horaireNr, lv_obj_t *parent) lv_obj_set_style_text_font(desc, lv_theme_get_font_normal(desc), 0); // On positionne un observer sur le subjet correspondant a l'horaire du widget - ESP_LOGE(TAG, "on positionne obs sur horaire %d", horaireNr); + ESP_LOGV(TAG, "on positionne obs sur horaire %d", horaireNr); lv_subject_add_observer_obj(tmpHSubj[horaireNr], weatherdataH_obs_cb, sup, NULL); return container; } @@ -970,10 +992,3 @@ void draw_ihm() void log_cb(lv_log_level_t level, const char * buf){ ESP_LOGE(TAG, "%s",buf); } - -void show_temp(char * tempHumid){ - display_lock("tempHumid"); - lv_label_set_text(lblTempInt2, tempHumid); - display_unlock("tempHumid"); - -} diff --git a/main/ihm.h b/main/ihm.h index bd1e0fb..71d560e 100644 --- a/main/ihm.h +++ b/main/ihm.h @@ -23,8 +23,6 @@ void weather_data_retreived_start(); void weather_data_retreived(meteodailyforecast_data dailyDatas[3], meteoforecast_data datas[3]); -void draw_time(char * dateHeure); -void show_temp(char * tempHumid); void draw_tabMeteo(lv_obj_t * parent); void tabChgEvt(lv_event_t *event); @@ -35,7 +33,10 @@ void draw_tabSettings(lv_obj_t * parent); typedef enum eIHMEvent_t{ IHM_EVT_WIFI_STATUS, - IHM_EVT_TIME_SETTED + IHM_EVT_TIME_SETTED, + IHM_EVT_OTA_STARTED, + IHM_EVT_OTA_PROGRESS, + IHM_EVT_HUMID_TEMP } eIHMEvent_t; typedef struct IP_TASK_COMMANDS diff --git a/main/main.c b/main/main.c index cb6ce04..9a6b4f1 100644 --- a/main/main.c +++ b/main/main.c @@ -36,6 +36,8 @@ #include "esp_timer.h" +#include + // GPIO assignment #define AM2302_GPIO 4 @@ -320,6 +322,15 @@ static esp_err_t validate_image_header(esp_app_desc_t *new_app_info) void simple_ota_example_task(void *pvParameter) { + ESP_LOGE(TAG,"En attente connexion wifi"); + // Waiting until either the connection is established (WIFI_CONNECTED_BIT). + EventBits_t bits = xEventGroupWaitBits(domotic_event_group, + BIT0, + pdFALSE, + pdFALSE, + portMAX_DELAY); + if (bits & BIT0){ + esp_err_t ota_finish_err = ESP_OK; ESP_LOGI(TAG, "Starting OTA example task"); #ifdef CONFIG_EXAMPLE_FIRMWARE_UPGRADE_BIND_IF @@ -335,8 +346,8 @@ void simple_ota_example_task(void *pvParameter) esp_http_client_config_t config = { .url = "https://192.168.0.28:8070/rgb_lcd.bin", .timeout_ms = 30000, - .buffer_size = 6144, - .buffer_size_tx = 6144, //TX Buffer, Main Buffer + .buffer_size = 20000, + .buffer_size_tx = 20000, //TX Buffer, Main Buffer .event_handler = _ota_http_event_handler, .keep_alive_enable = true, .cert_pem = (char *)server_cert_pem_start, @@ -364,6 +375,7 @@ void simple_ota_example_task(void *pvParameter) #endif esp_https_ota_config_t ota_config = { .http_config = &config, + .buffer_caps = MALLOC_CAP_INTERNAL }; ESP_LOGI(TAG, "Attempting to download update from %s", config.url); esp_https_ota_handle_t https_ota_handle = NULL; @@ -384,10 +396,19 @@ void simple_ota_example_task(void *pvParameter) ESP_LOGE(TAG, "image header verification failed"); goto ota_end; } - if(bsp_display_lock(100)){ - app_ota_display(); - bsp_display_unlock(); - } + xIPStackEvent_t m = { + .eEventType = IHM_EVT_OTA_STARTED, + .pvData = NULL + }; + xQueueSendToBack(ihm_queue,&m,5); + + esp_task_wdt_config_t cfgWdt = { + .idle_core_mask = 0, + .timeout_ms=15000, + .trigger_panic=false + }; + esp_task_wdt_reconfigure(&cfgWdt); + while (1) { err = esp_https_ota_perform(https_ota_handle); if (err != ESP_ERR_HTTPS_OTA_IN_PROGRESS) { @@ -399,10 +420,10 @@ void simple_ota_example_task(void *pvParameter) //ESP_LOGE(TAG,"Image size : %i", esp_https_ota_get_image_size(https_ota_handle)); int percent=esp_https_ota_get_image_len_read(https_ota_handle)*100/esp_https_ota_get_image_size(https_ota_handle); //ESP_LOGE(TAG, "Image bytes read: %d %i%%", esp_https_ota_get_image_len_read(https_ota_handle),percent); - if(bsp_display_lock(100)){ - setOTAProgress(percent); - bsp_display_unlock(); - } + m.eEventType=IHM_EVT_OTA_PROGRESS; + m.pvData=(void*)percent; + xQueueSendToBack(ihm_queue,&m,5); + vTaskDelay(10/portTICK_PERIOD_MS); } if (esp_https_ota_is_complete_data_received(https_ota_handle) != true) { // the OTA image was not completely received and user can customise the response to this situation. @@ -421,11 +442,11 @@ void simple_ota_example_task(void *pvParameter) vTaskDelete(NULL); } } - ota_end: esp_https_ota_abort(https_ota_handle); ESP_LOGE(TAG, "ESP_HTTPS_OTA upgrade failed"); vTaskDelete(NULL); + } } am2302_handle_t sensor = NULL; @@ -440,7 +461,11 @@ void readTempHumid(void *pvParameter) char buff[40]; ESP_LOGI(TAG, "Temperature: %.1f °C, Humidity: %.1f %%", temperature, humidity); sprintf(buff,"%.1f °C, %.1f %%", temperature, humidity); - show_temp(buff); + xIPStackEvent_t m = { + .eEventType = IHM_EVT_HUMID_TEMP, + .pvData = buff + }; + xQueueSendToFront(ihm_queue,&m,5); vTaskDelay(60000 / portTICK_PERIOD_MS); } @@ -748,7 +773,7 @@ void app_main(void) domotic_event_group = xEventGroupCreate(); ihm_queue = xQueueCreate(10,sizeof(xIPStackEvent_t)); - init_display(); + //init_display(); const esp_timer_create_args_t periodic_timer_args = { .callback = &presence_timer_callback, /* name is optional, but may help identify the timer when debugging */ @@ -823,8 +848,8 @@ void app_main(void) ESP_LOGI(TAG, "ESP_WIFI_MODE_STA"); wifi_init_sta(wifi_cb); - start_wifi_logger(); - wifi_log_e("test", "%s %d %f", "hello world wifi logger", 43, 45.341223242); // write log over wifi with log level -> ERROR + //start_wifi_logger(); + //wifi_log_e("test", "%s %d %f", "hello world wifi logger", 43, 45.341223242); // write log over wifi with log level -> ERROR esp_log_level_set("tcp_handler", ESP_LOG_NONE); printf("8b - Free heap after buffers allocation: %d\n", xPortGetFreeHeapSize()); @@ -834,7 +859,7 @@ void app_main(void) * and hence timings for overall OTA operation. */ esp_wifi_set_ps(WIFI_PS_NONE); - xTaskCreate(&simple_ota_example_task, "ota_example_task", 8192, NULL, 1, NULL); + xTaskCreatePinnedToCore(&simple_ota_example_task, "ota_example_task", 8192, NULL, 1, NULL,0); on_weather_data_retrieval(weather_data_retreived); on_weather_data_retrieval_start(weather_data_retreived_start); @@ -864,6 +889,11 @@ void app_main(void) lv_subject_init_int(&mqttStatus,-1); lv_subject_add_observer_obj(&mqttStatus, mqttStatus_obs_cb, NULL, NULL); + while(!mainState.wifi_init){ + vTaskDelay(pdTICKS_TO_MS(10)); + } + start_webserver(); + // Configuration de la sonde Temp/Humid. am2302_config_t am2302_config = { .gpio_num = AM2302_GPIO, diff --git a/main/obtain_time.c b/main/obtain_time.c index a237bcc..b5dbff5 100644 --- a/main/obtain_time.c +++ b/main/obtain_time.c @@ -62,7 +62,7 @@ void updateTime(void *pvParameter) tzset(); struct tm timeinfo = {0}; localtime_r(&now, &timeinfo); - sprintf(strftime_buf, "%s %d %s %02d:%02d", days[timeinfo.tm_wday], timeinfo.tm_mday, months[timeinfo.tm_mon], timeinfo.tm_hour, timeinfo.tm_min); + sprintf(strftime_buf, "%s %d %s %02d:%02d (%lli mn depuis reboot)", days[timeinfo.tm_wday], timeinfo.tm_mday, months[timeinfo.tm_mon], timeinfo.tm_hour, timeinfo.tm_min, (esp_timer_get_time()/1000/1000/60)); send_event(EVT_TIME_SETTED,&strftime_buf); vTaskDelay(60000 / portTICK_PERIOD_MS); }