From 6d8a3cf77efe1d259657ea5458be04fc6902a3be Mon Sep 17 00:00:00 2001 From: Daniel Morais Date: Wed, 5 Jul 2023 17:22:14 +0200 Subject: [PATCH] Changes needed to support fake OCR on speculos for Stax (API_LEVEL_11) --- .../nbgl_font_hmalpha_mono_medium_32.json | 666 +++++++++++ lib_nbgl/fonts/nbgl_font_inter_medium_32.json | 1062 +++++++++++++++++ .../fonts/nbgl_font_inter_medium_32_1bpp.json | 1062 +++++++++++++++++ .../fonts/nbgl_font_inter_regular_24.json | 1062 +++++++++++++++++ .../nbgl_font_inter_regular_24_1bpp.json | 1062 +++++++++++++++++ .../fonts/nbgl_font_inter_semibold_24.json | 1062 +++++++++++++++++ .../nbgl_font_inter_semibold_24_1bpp.json | 1062 +++++++++++++++++ lib_nbgl/src/nbgl_draw.c | 16 +- lib_nbgl/tools/ttf2inc.py | 72 +- 9 files changed, 7089 insertions(+), 37 deletions(-) create mode 100644 lib_nbgl/fonts/nbgl_font_hmalpha_mono_medium_32.json create mode 100644 lib_nbgl/fonts/nbgl_font_inter_medium_32.json create mode 100644 lib_nbgl/fonts/nbgl_font_inter_medium_32_1bpp.json create mode 100644 lib_nbgl/fonts/nbgl_font_inter_regular_24.json create mode 100644 lib_nbgl/fonts/nbgl_font_inter_regular_24_1bpp.json create mode 100644 lib_nbgl/fonts/nbgl_font_inter_semibold_24.json create mode 100644 lib_nbgl/fonts/nbgl_font_inter_semibold_24_1bpp.json diff --git a/lib_nbgl/fonts/nbgl_font_hmalpha_mono_medium_32.json b/lib_nbgl/fonts/nbgl_font_hmalpha_mono_medium_32.json new file mode 100644 index 000000000..fe637962a --- /dev/null +++ b/lib_nbgl/fonts/nbgl_font_hmalpha_mono_medium_32.json @@ -0,0 +1,666 @@ +[ + { + "bitmap": "wmwNDsgHJsVwQAECwjDFcGDCMMVwEKEjRcIw1wsqwsJ8w3AOwnAOwnAO2n3DcA7CcA7CcA7Lx4Ra2AIQxQ7Mha3BAhDFgBXKMAMgxRABynAAoljOEAHKimNwUAoOzA0BEAFwIINuyQIQv+t0EHALyQIQxSAFAiALxIauwQIQxRABwo2uxDADIMUQAcpwAKJYzxAByopicFALDswNAXBQg27JAhC/63QQcAvJAhDFIAUCIAvJhyDFEAHCja7SEAHYjIbHxw0LxA4GEgMIzAgQAsMMUAELyQMgAsINcAAMxwYwAsIEIIJDIALGDSAKDsMgC8MDEArFBxALxAsQA8QNEAXFAhDFBhAHxRABwkABxQQQC8UBMARAAsUCEA7FATAEIhABxSDGIBIFwgIQxA0QAsYQA8UGEAjDBRAGxQcQCMUNIAUaBSAMxAggDsYHcATCCgEwB8gHUALDCDADyg0EEQMIxAggCNabe+DG0AoEEwUKxwMOygJQAsYQCMiWAnAYlyBgxQIQAw7GggzDjALGByAIxYENw40Bxw0CEAMOw5QF0B6dUEDJByAIwg1wDcoNAhADDsENBDAEDc0HIAjEDtENAhADDtCey+DCByAIzQoBMAEKwQ0CEAINygtwC8IIIAfJgwjDiAPDDgMQAg3HEA7DDhDFCCAHxoIMw4wCxg4DEAXFBxAEFQQQB8iIBcYFUAXKDgjHvYZX0NDLLdgQAtgQAtUnEAF3F8twcMtwcMUowicQAWcBEMUgxRACxgMQxSDFEALGAxDFARAOxBACxgIQxQMQDcQQAcaCAcUGEAvDDSDGEATFDRACDcEOAyAKxAoQBsYFcAMQpYqFIA7HAlCG8XAGyQQwBsENAVAFy52r4MOOYRACCsXCfcNwDsJwDsJwDssi1yLBARDXIMECEA7WEALBBhAL1QwQBcEMEATVBBALwgMQBtMGEAPDDgEQoVi8fR0cilEgDsQOAXBwUAENxwdwcDAGy4pBcDCBStENDFsMDcvIDQoYR4isz41xcFCBbckOBHBwMAMNxgxwcHALxA0gk4zgy57YMCAMwwIQB9MLEALCCxAF1QcQCsEFEAvVDBAEwQIQDtYQAcEBENcgwSXXJcHFDAbMDBAMzIEHwQcByKYD9BAExwwQARABC8QAEQIwBcZgA8cDBBUwAg3ICxAEIAfHpQT3EAbHEAjBCwPHDBANzQrHxg0c0AEQ0AEQ0AEQ0AEQ0AEQyl4gXsRwYAzDcGAMw1EgUQzJARDQARDQARDQARDQARDQARDdwH3DcA7CcA7CcA7NwivEARDEARDEARDEARDEARDEARDEARDEARDEARDEARDEARDELsHABybDMMMwwzDDCyrCwoBc3CCBbNlQgW3WCwRggX3WCgRggn7WCgNggo7WCANgAwjWjoJgAwrWjnJgBArWjXFgBA7WjWFADNmMYRAM3IxcyKpkIRKEa84OBXAwBQ7KCnBwCsgLUFUEAzALxyAIAxAGxwcQAcYIEAbBBBAFxwUQCMUDEAvCBBAFxgwQA8UBEA3DBRAExQ4QAcUgxQYQA8UgxQEQDcUHEAPDDRABxQQQC8YIEALCCxAExQoQA8cKEJLvUBAKxgIQBA3GChABBRACxw1AAVJQDcgNAXBQAg3LCAJwEAIIz52mUBSVatDI1S3YAhDYAhDYAhDYAhDYAhDFdXUlIMVwcFDFcHBQxSACd2cgxQEgDM0CEMUOASALzAIQxg4CIArLAhDIAyAIygIQyQQgB8kCEMoGIwrIBxXC4QwDEIFeyCDHB2AHxyDGCHAABcYgxiCTeFAwBsUgxQcQBMQEIAfEIMUEEAzFBiALwyDFARAOxgUgDcIgxSDIBBABwiDFARANyAMQA8EgxQUQCskBEAXAIMUMEAEOyA4BEAcgxgQgg1jGDFDGDgEwBMcLQMgDIATICDDJm1NgyQckwtCLi82uYjfDB0AHygtAke+AYATIC2ADwHAAB8cBEAEUAhCzAb7wDQggDsUIEATDCCALxAcQB8UFEAzEIMUNEALFAhAOxCDFDhABxSDFARDGIMUBEA7EARDFDhABxQUQDMQsxQ0QBMULEATNBRAKxgQQgUjGnrpAEALHDgEgBMYIQAzJAxAExgggAQvLilbGCBAE2A7I0CLYINggynNTIEMLxHBwUArEcHBQCsQwCjtKIEgNxAYgAQzHIMsMAiAFxiDNBzAKxCDODQIgAw7CINAIMAfBINEOAyACDSDTCmDVBEDWCwEg2AcWx86sp63KLMYLAUACDsggxQVwAAjHIMQHcCAMxiDDDSAHDcINBhABxiDDBRAFxgUQCMUgwwEQDMYMEAPFIMMgDsYOEAHFIMMEEMggxSDDCBAOxg0QAcUgxBALxgsQBMUgh63BiwLGAxAKxXADIA3BjbMQAsZwMIv9QAzGvLhkIAFAi/0wCs++yo7wDRACDdcMDsfPm4rQzZ1h0MMIQAEMygggDcIDcAfICDANwQVwEAvHIAIIwQsgCg7BDggQAcYHEAPDBBAIxQcQB8UEEAvDIA7FDRADxQEQDsMgxg4QAcUgDsMgxyDFAhAMwwMQxg4QAcUHEAbDChAMxQoQBcUOIAjDgwPFAhALxggggWodsQJnYAQgA8gIcHACyg0CcEAFzYxSYIJt0g4NHA3KwiME1zABDtVAAQzUEAEGIAjTEIH6IAEL0RABwQ0BIAMNzxABwwMwg47MEAHECwFAknvgyBABxghwAIJMxBAByAcCcArEEAHKDAZQCsQgzbyEEKDEINhQCtRQCtRRC9HPrYaOzL1RJeDCBkAFygtQjfdgA8gLYALAcAAIxwEQAxYEEJEB0MINARDGCBAGwwggC8QKEAjFBRANxCDFDRAFxQIQDsQgxhACxSDFIMYgxQMQDsQgxQ4QAcUFEAzDDiAOxA0QA8ULEATDBiAIxAcQCMYDIBIBEAQQCC0IEAHHDWCD8XAKyA4BMALBC2AFy5hWoMMLASABCNaNvcfJvKh4oAzRCgNwAIFtyw4DcFAFyQ4BcIExQALIAhACBhinMB7BDQYgBMYLEAPFhQHDDQEQDMUEEAvFDRAHwwgQBcUBEA3GEALDDRACxSDHIMQgxQEQDsYgxBABxQMQDMUOIMMNEATFBxAFxQcQBMMFEAfGARAGCx0MByAMwQwFIA7GC3AQBsEHMAfICHAEwgcgBsoNAzABCsOXA7DNDhwNxQ7IwAcmxwcmwzDHMMMwxzDDMMcwwwsqxwsqwsAHJsd9wzDHcA7CMMdwDsIwx3AOwgsq0sAKEATGCxADwSDGBBAIwQQQCMUgwgsQA8QKEATDIA7DBBALwwYQCMMgxA0QAsIIEAXFAhANwQMQDMUHEIf+EAHGDhCB9xAHxwMQDAIQDscKEAEQA8lACskFMMoMIwfEJsMmwQEQwyDBARDDIMEBEMMgwQEQwyDBARDDIMEBEMMgwQEQwyDBARDDIMEBEMMgwQEQwyDBARDDIMEBEMMgwQEQwyDBChjDGArBxQsgBMoEMA7JQAjICBACEALIAhANAxANxg0QgvgQBsYGEAjBEAHGARAOwQQQC8QMEAPCChAExAUQCsMgxCDEBRAKwgoQBMQLEAPCAxAKxSCO/iDGBRCH+xMHxg0TBce6dovg0wdgBtECcBAOzgVwIAPNDBABDMUDEArMBBAKxgwQA8wBEA3GDhABwgUkxSDIIMIwxQEQDscgwjDFAxAMxyHCMMUIEAXNPcYCEISK1QxA1gsw1w4FEO3FjYZ0JAvCBRTFBnBQCMICEMQEcGAIwgIQwwwQAgocigYsq0C+wgIQwwUQDsGNFMUAA8MCEMMDEMKDB8WCBsICEMMBEMIQBsWBAcICEMMgwpMB4MMLEAPCAhDDAhDCCCABEgEgCsKBAcMEEMMFcAXDEATDBxAMwwoCMAMLwwwQCMQQA8YNDsYCEMUGEAILyo1xEAjGBEABAiMSAUAFyAZwcAfKDgVwIIFuzp2HUBSVatDH8K6kCtOMYjAKz46EcArMi2FwAAQKyY2DcBAIDcmLUXADByDKcIJrwiDKMIFaxiDKIAINyCDKQIFbxSDKBHCCfMEgzIxhcAQgz46EcAAFC9GLYXCDftCNg2AK1ItRIArXnXOgwc+sY0jMCgIQBA3CBUABDckFUIz2cA3HBmABwCCCMiADxg4gBRcFEIEExAQQC8UGEAjDCiANxA4QBcUDEMUgxhADxQEQxSDGEAHFIMUBEMYBEMUgxQEQxgEQxSDFARDGARDFIMUBEMYBEMUgWiBqIMVwcFDFcHBQxXNzU8LICxjDiHvPBiADwwMgBssKATADwwMwAQvIC0ABBMMEAUALxwEQBg3JDQYQAcYIEAXNBRAIxQMQDM0NEAPFARAOzhABxSDPIMUBEA3NDhABxQQQC80MEATFChADzQMQCsYCEAQNyQ0EEALHDUABUgFADcgNAnBQAg3LCAJwEAIIz56mUBSVauDIyY26F4i90AoDcBADCssOAnBQAQ3IDQFwcAANxwIQga7HjrEQAsYLEALNAxAKxQQQC80LEATFAhDPEALFIM8gxSDPIMUgzwEQxSDPARDFIHp6IMVwcFDFcHBQxXNzU8LVDRzFI88BEMUgxQMSxgEQxSDFARDGARDFIMUBEMYBEMUgxQEQxgEQxSDFARDGARDFIMUBEMYBEMUgxQEQxgEQxSDFARDGARDFIMUBEMYBEMUgxQEQxgEQxXBwUMVwcFDFcHBQxXx8XMLeIMUuzyDFIM8gxSDPIMUgzyDFIM8gxSDPIMUgzyDFIM8gxSDPIMUgzyDFIM9wcEAExXBwQAPFcHBAA8V8fEwNwscMB8N3J8gIIMNwEAHHAzDDcBADxgYwAcMgh2QQg6zFDSAKxSDCnhCgxgUQB8YgwwoQDcUCEAzGIMMNEAXFIA7GIMQQAcUgDsYgxCDFAhANxi7DDRABxQYQCM0LEAXFDhABDswCEAzGByCGvW6NgRAGyARwcALKB3BQBc0IA3CBXdG9y6vADsnecHBAAsVwcEACxXBwQALFfg4gfh7OINgg2CDYINgg2CDYIM97CyB7CwzFcHBAAsVwcEACxXFxQQPCwhYHzwcWxRABzwIQxRABzwIQxRABzwIQxRABzwIQxRABfX0BEMVwcFDFcHBQxXBwUMUQAc8BEMUQAc8CEMUQAc8CEMUQAc8CEMUQAc8CEMUYCs8KGMLecHACCMlwcCAKx3BwMAjGfm6NsyAO1wMQB9cLEALXDSDXDiDXDRAB1wgQBdYNARAL04VDIAPUQAHVMAXWkUfAxt4E0wMMxAAC0J0QwMQQAQ3NCiAMxDALywYwDcQMASAIyQQwC8YOAiAGxg4CIAIOyQQgBMQMMATMBiACDsEIMAfOCCCBxTAL0AxgAg7SDgEwBNYDEAfOeAgFEHgYDsRwcFAMxHBwUAzEc3NTDcHVJNgBENgBENgBENgBENgBENgBENgBENgBENgBENgBEMV8fCwgxXBwUMVwcFDFcHBQwsJ1dVXFcHBQDsRwcFAOxCACCzxbWgjFQJFY0NIHA3CDe9GdhRBgAQjSnqYgMAXWCyAF0otzQAXNnqYgYIFLywQBYJJr4M4wkUjA0yACWFdWxXBwUA7EcHBQDsR4eFjCwn19XcVwcFDFcHBQxUBBQiMBINWOgSDTCgNQ0AwFUAMKzo5xQIF+zggCUAUMzgsEUAMKzg0GUIJ+0FAGDdMgAgvNLsUwAXBwAMVwcFDFcHBQwsiqZCEShGvODgVwMAUOygpwcArICzADBFUEAzALxyAHywcQAcYIEAXNBRAIxQMQDM0MEAPFARAOzQ4QAcUgzyDFARANzQ4QAcUEEAvNDBAExQoQA80DEArGAhAEDckNBBACxw1AAVIBQA3IDQFwUAINywgCcBACCM+dplAUlWrQyMYHARABBtMNAlABDdANcBANzwMQAgYXBgIQA84LEAXFBRAKzQQQDsUOEATNARDHEAHNIMcgzSDHARDNIMcBEM0gxwEQzSDHARDNIHggeMVwcFDFcHBQxXNzU8LIu3QyEKI0e9IGcEAGDs0LcHAAC8sLMAIEZQMCMAvKARAHzAcgyQgQBM4GEAfIAxAMzgwQAsgBEA7KcCABxCDLcCABxAEQDcoDMiAiBMQEEAvODBAEyAoQA84EEArJAhAEDcoMBBAByg0BMAFiAUANyw4CcGACDs4KA3AgAgrSjrcVFJV74MvGrHWO1QNAB8IKA1ABxwFgh/hwAcYDMAEwwAFwAcUMEAMOwp4wIBAGDF7FBhANxA0gB80CEMYgDs0BEMYgziDGARDOIMYBEM4gxgEQziDGARDOIGYgdgfFcHBAAcVwcEABxXZ2VsLHDArEDgYSBArMCwEQwwxQAg7JBzDCDXAByApAwgQgg1MgBscBEAcOwyAMwg4BEA7FCBAFxAwQBMQIEAbFAxAMxAcQCMQNEALFARAOxAUQDMUgxSDFAxAOxSDFARAOxCDFDhABxQQQDMMOEALFDBAExQoQBMMHEAbFBBAIxgMQk4pgIAzEBhABxw1wBMIIATALyAwBQALDBjAFy6YQN8QGIAjWimrHwi3YINgg2CDYINgg2CDYIH19LcVwcFAKxHBwUArEcHBQCsQg2CDYINgg2CDYINgg1cJ8XA0Oy3BwAAfJcHAgCsdwcDAK1g4HINgFEAfXDBAD1w0QAdcOINcNEAHXCxAD1wQQCMV+bo20EAHGcHAwDcZwcBACDcdwcAML4t6QONDXMIFr1HCEjtCNc3CCfNGLUXAFCtGNg3CDjdGLYWAB046EQNcDINOMc0DPjoRwAcyKUXCDjcmMYnCBW8oHA3AAg43NYIFb0TCDjdSBa9XCmKzQ11CxJFeAi87McHAAoTRnxaZUMXBwAM2+y6hwlUMgMNOtynIgyr7KdUACcBDJcFCRNXDJULJGisAOziCCvtVgsTV4sA3NAnBgAgTMvcp1QAJw1Y2iIMm+26hwplQhYMUBcHBAxXBgsTRnoAvFQLI1aKAMDs6L3tXeAQvRjCrEEAQOzQ4EEArEMAbLBzAKxAIwAQrHCwEwAQzFCgEwAgzDDQNAB8kIQJXvYEAGzQdAATAFDtAGUAMN0wcwAdMNBGAIzw0EQAQwAQvLDgVABsEMAjADDccOBUAEDsQIQAUOxUACDMgFQAzEMAjLDAIgCsQQBs8IEArEBA7SBQrB3gAH2RABCtcwAgzVBkAEDtQOBUAG1Q4FQAjVDgUwAQp9DcwOBXBACs0EcDAKywgBcEAKyQoBMAMN0QoBMAIL0QoCMAEK0gJAB9QwBdYQAw3XAgzWwjzOKsUwAQ3MARDFUArLARDFYAfKARDFEIHRIAXJARDFEAHBAyADyAEQxRABwgUgAQ7GARDFEAHDBzAMxQEQxRABxAowCsQBEMUQAcUMASAGwwEQxRABxg4CIATCARDFEAHIAyACwQEQxRAByQUggdEQxSDKCGDFIMsLUMUQAcwNATDXPcI=", + "nbgl_font_character": [ + { + "char": 32, + "bitmap_byte_count": 0, + "bitmap_offset": 0, + "char_width": 10, + "x_min": 0, + "y_min": 0, + "x_max": 0, + "y_max": 0, + "encoding": 0 + }, + { + "char": 33, + "bitmap_byte_count": 31, + "bitmap_offset": 0, + "char_width": 19, + "x_min": 7, + "y_min": 0, + "x_max": 12, + "y_max": 28, + "encoding": 1 + }, + { + "char": 34, + "bitmap_byte_count": 23, + "bitmap_offset": 31, + "char_width": 19, + "x_min": 4, + "y_min": 0, + "x_max": 15, + "y_max": 12, + "encoding": 1 + }, + { + "char": 35, + "bitmap_byte_count": 141, + "bitmap_offset": 54, + "char_width": 19, + "x_min": 0, + "y_min": 0, + "x_max": 19, + "y_max": 28, + "encoding": 1 + }, + { + "char": 36, + "bitmap_byte_count": 168, + "bitmap_offset": 195, + "char_width": 19, + "x_min": 1, + "y_min": 0, + "x_max": 18, + "y_max": 28, + "encoding": 1 + }, + { + "char": 37, + "bitmap_byte_count": 176, + "bitmap_offset": 363, + "char_width": 19, + "x_min": 0, + "y_min": 0, + "x_max": 19, + "y_max": 28, + "encoding": 1 + }, + { + "char": 38, + "bitmap_byte_count": 126, + "bitmap_offset": 539, + "char_width": 19, + "x_min": 2, + "y_min": 0, + "x_max": 19, + "y_max": 28, + "encoding": 1 + }, + { + "char": 39, + "bitmap_byte_count": 12, + "bitmap_offset": 665, + "char_width": 19, + "x_min": 7, + "y_min": 0, + "x_max": 12, + "y_max": 12, + "encoding": 1 + }, + { + "char": 40, + "bitmap_byte_count": 81, + "bitmap_offset": 677, + "char_width": 19, + "x_min": 4, + "y_min": 0, + "x_max": 15, + "y_max": 32, + "encoding": 1 + }, + { + "char": 41, + "bitmap_byte_count": 81, + "bitmap_offset": 758, + "char_width": 19, + "x_min": 4, + "y_min": 0, + "x_max": 15, + "y_max": 32, + "encoding": 1 + }, + { + "char": 42, + "bitmap_byte_count": 67, + "bitmap_offset": 839, + "char_width": 19, + "x_min": 3, + "y_min": 0, + "x_max": 16, + "y_max": 16, + "encoding": 1 + }, + { + "char": 43, + "bitmap_byte_count": 54, + "bitmap_offset": 906, + "char_width": 19, + "x_min": 1, + "y_min": 8, + "x_max": 18, + "y_max": 28, + "encoding": 1 + }, + { + "char": 44, + "bitmap_byte_count": 12, + "bitmap_offset": 960, + "char_width": 19, + "x_min": 7, + "y_min": 20, + "x_max": 12, + "y_max": 32, + "encoding": 1 + }, + { + "char": 45, + "bitmap_byte_count": 38, + "bitmap_offset": 972, + "char_width": 19, + "x_min": 3, + "y_min": 12, + "x_max": 16, + "y_max": 20, + "encoding": 1 + }, + { + "char": 46, + "bitmap_byte_count": 13, + "bitmap_offset": 1010, + "char_width": 19, + "x_min": 7, + "y_min": 20, + "x_max": 12, + "y_max": 28, + "encoding": 1 + }, + { + "char": 47, + "bitmap_byte_count": 66, + "bitmap_offset": 1023, + "char_width": 19, + "x_min": 3, + "y_min": 0, + "x_max": 16, + "y_max": 32, + "encoding": 1 + }, + { + "char": 48, + "bitmap_byte_count": 159, + "bitmap_offset": 1089, + "char_width": 19, + "x_min": 1, + "y_min": 0, + "x_max": 18, + "y_max": 28, + "encoding": 1 + }, + { + "char": 49, + "bitmap_byte_count": 81, + "bitmap_offset": 1248, + "char_width": 19, + "x_min": 3, + "y_min": 0, + "x_max": 19, + "y_max": 28, + "encoding": 1 + }, + { + "char": 50, + "bitmap_byte_count": 130, + "bitmap_offset": 1329, + "char_width": 19, + "x_min": 2, + "y_min": 0, + "x_max": 18, + "y_max": 28, + "encoding": 1 + }, + { + "char": 51, + "bitmap_byte_count": 149, + "bitmap_offset": 1459, + "char_width": 19, + "x_min": 1, + "y_min": 0, + "x_max": 18, + "y_max": 28, + "encoding": 1 + }, + { + "char": 52, + "bitmap_byte_count": 85, + "bitmap_offset": 1608, + "char_width": 19, + "x_min": 1, + "y_min": 0, + "x_max": 18, + "y_max": 28, + "encoding": 1 + }, + { + "char": 53, + "bitmap_byte_count": 145, + "bitmap_offset": 1693, + "char_width": 19, + "x_min": 1, + "y_min": 0, + "x_max": 18, + "y_max": 28, + "encoding": 1 + }, + { + "char": 54, + "bitmap_byte_count": 154, + "bitmap_offset": 1838, + "char_width": 19, + "x_min": 1, + "y_min": 0, + "x_max": 18, + "y_max": 28, + "encoding": 1 + }, + { + "char": 55, + "bitmap_byte_count": 95, + "bitmap_offset": 1992, + "char_width": 19, + "x_min": 2, + "y_min": 0, + "x_max": 18, + "y_max": 28, + "encoding": 1 + }, + { + "char": 56, + "bitmap_byte_count": 156, + "bitmap_offset": 2087, + "char_width": 19, + "x_min": 1, + "y_min": 0, + "x_max": 18, + "y_max": 28, + "encoding": 1 + }, + { + "char": 57, + "bitmap_byte_count": 163, + "bitmap_offset": 2243, + "char_width": 19, + "x_min": 1, + "y_min": 0, + "x_max": 18, + "y_max": 28, + "encoding": 1 + }, + { + "char": 58, + "bitmap_byte_count": 25, + "bitmap_offset": 2406, + "char_width": 19, + "x_min": 7, + "y_min": 8, + "x_max": 12, + "y_max": 28, + "encoding": 1 + }, + { + "char": 59, + "bitmap_byte_count": 24, + "bitmap_offset": 2431, + "char_width": 19, + "x_min": 7, + "y_min": 8, + "x_max": 12, + "y_max": 32, + "encoding": 1 + }, + { + "char": 60, + "bitmap_byte_count": 95, + "bitmap_offset": 2455, + "char_width": 19, + "x_min": 2, + "y_min": 8, + "x_max": 17, + "y_max": 24, + "encoding": 1 + }, + { + "char": 61, + "bitmap_byte_count": 75, + "bitmap_offset": 2550, + "char_width": 19, + "x_min": 2, + "y_min": 12, + "x_max": 17, + "y_max": 24, + "encoding": 1 + }, + { + "char": 62, + "bitmap_byte_count": 94, + "bitmap_offset": 2625, + "char_width": 19, + "x_min": 2, + "y_min": 8, + "x_max": 17, + "y_max": 24, + "encoding": 1 + }, + { + "char": 63, + "bitmap_byte_count": 91, + "bitmap_offset": 2719, + "char_width": 19, + "x_min": 1, + "y_min": 0, + "x_max": 17, + "y_max": 28, + "encoding": 1 + }, + { + "char": 64, + "bitmap_byte_count": 178, + "bitmap_offset": 2810, + "char_width": 19, + "x_min": 1, + "y_min": 4, + "x_max": 18, + "y_max": 32, + "encoding": 1 + }, + { + "char": 65, + "bitmap_byte_count": 100, + "bitmap_offset": 2988, + "char_width": 19, + "x_min": 1, + "y_min": 0, + "x_max": 19, + "y_max": 28, + "encoding": 1 + }, + { + "char": 66, + "bitmap_byte_count": 124, + "bitmap_offset": 3088, + "char_width": 19, + "x_min": 2, + "y_min": 0, + "x_max": 18, + "y_max": 28, + "encoding": 1 + }, + { + "char": 67, + "bitmap_byte_count": 136, + "bitmap_offset": 3212, + "char_width": 19, + "x_min": 1, + "y_min": 0, + "x_max": 18, + "y_max": 28, + "encoding": 1 + }, + { + "char": 68, + "bitmap_byte_count": 95, + "bitmap_offset": 3348, + "char_width": 19, + "x_min": 2, + "y_min": 0, + "x_max": 18, + "y_max": 28, + "encoding": 1 + }, + { + "char": 69, + "bitmap_byte_count": 105, + "bitmap_offset": 3443, + "char_width": 19, + "x_min": 2, + "y_min": 0, + "x_max": 18, + "y_max": 28, + "encoding": 1 + }, + { + "char": 70, + "bitmap_byte_count": 65, + "bitmap_offset": 3548, + "char_width": 19, + "x_min": 2, + "y_min": 0, + "x_max": 18, + "y_max": 28, + "encoding": 1 + }, + { + "char": 71, + "bitmap_byte_count": 136, + "bitmap_offset": 3613, + "char_width": 19, + "x_min": 1, + "y_min": 0, + "x_max": 18, + "y_max": 28, + "encoding": 1 + }, + { + "char": 72, + "bitmap_byte_count": 58, + "bitmap_offset": 3749, + "char_width": 19, + "x_min": 2, + "y_min": 0, + "x_max": 18, + "y_max": 28, + "encoding": 1 + }, + { + "char": 73, + "bitmap_byte_count": 86, + "bitmap_offset": 3807, + "char_width": 19, + "x_min": 2, + "y_min": 0, + "x_max": 17, + "y_max": 28, + "encoding": 1 + }, + { + "char": 74, + "bitmap_byte_count": 65, + "bitmap_offset": 3893, + "char_width": 19, + "x_min": 2, + "y_min": 0, + "x_max": 18, + "y_max": 28, + "encoding": 1 + }, + { + "char": 75, + "bitmap_byte_count": 109, + "bitmap_offset": 3958, + "char_width": 19, + "x_min": 2, + "y_min": 0, + "x_max": 19, + "y_max": 28, + "encoding": 1 + }, + { + "char": 76, + "bitmap_byte_count": 50, + "bitmap_offset": 4067, + "char_width": 19, + "x_min": 3, + "y_min": 0, + "x_max": 18, + "y_max": 28, + "encoding": 1 + }, + { + "char": 77, + "bitmap_byte_count": 95, + "bitmap_offset": 4117, + "char_width": 19, + "x_min": 1, + "y_min": 0, + "x_max": 18, + "y_max": 28, + "encoding": 1 + }, + { + "char": 78, + "bitmap_byte_count": 82, + "bitmap_offset": 4212, + "char_width": 19, + "x_min": 2, + "y_min": 0, + "x_max": 18, + "y_max": 28, + "encoding": 1 + }, + { + "char": 79, + "bitmap_byte_count": 129, + "bitmap_offset": 4294, + "char_width": 19, + "x_min": 1, + "y_min": 0, + "x_max": 18, + "y_max": 28, + "encoding": 1 + }, + { + "char": 80, + "bitmap_byte_count": 91, + "bitmap_offset": 4423, + "char_width": 19, + "x_min": 2, + "y_min": 0, + "x_max": 18, + "y_max": 28, + "encoding": 1 + }, + { + "char": 81, + "bitmap_byte_count": 135, + "bitmap_offset": 4514, + "char_width": 19, + "x_min": 1, + "y_min": 0, + "x_max": 18, + "y_max": 32, + "encoding": 1 + }, + { + "char": 82, + "bitmap_byte_count": 102, + "bitmap_offset": 4649, + "char_width": 19, + "x_min": 2, + "y_min": 0, + "x_max": 18, + "y_max": 28, + "encoding": 1 + }, + { + "char": 83, + "bitmap_byte_count": 166, + "bitmap_offset": 4751, + "char_width": 19, + "x_min": 1, + "y_min": 0, + "x_max": 18, + "y_max": 28, + "encoding": 1 + }, + { + "char": 84, + "bitmap_byte_count": 49, + "bitmap_offset": 4917, + "char_width": 19, + "x_min": 1, + "y_min": 0, + "x_max": 19, + "y_max": 28, + "encoding": 1 + }, + { + "char": 85, + "bitmap_byte_count": 75, + "bitmap_offset": 4966, + "char_width": 19, + "x_min": 1, + "y_min": 0, + "x_max": 18, + "y_max": 28, + "encoding": 1 + }, + { + "char": 86, + "bitmap_byte_count": 82, + "bitmap_offset": 5041, + "char_width": 19, + "x_min": 1, + "y_min": 0, + "x_max": 19, + "y_max": 28, + "encoding": 1 + }, + { + "char": 87, + "bitmap_byte_count": 123, + "bitmap_offset": 5123, + "char_width": 19, + "x_min": 0, + "y_min": 0, + "x_max": 19, + "y_max": 28, + "encoding": 1 + }, + { + "char": 88, + "bitmap_byte_count": 133, + "bitmap_offset": 5246, + "char_width": 19, + "x_min": 1, + "y_min": 0, + "x_max": 19, + "y_max": 28, + "encoding": 1 + }, + { + "char": 89, + "bitmap_byte_count": 84, + "bitmap_offset": 5379, + "char_width": 19, + "x_min": 1, + "y_min": 0, + "x_max": 19, + "y_max": 28, + "encoding": 1 + }, + { + "char": 90, + "bitmap_byte_count": 134, + "bitmap_offset": 5463, + "char_width": 19, + "x_min": 1, + "y_min": 0, + "x_max": 18, + "y_max": 28, + "encoding": 1 + } + ], + "nbgl_font": { + "font_id": 3, + "bpp": 4, + "char_height": 32, + "baseline_height": 20, + "line_height": 40, + "char_kerning": 0, + "first_char": 32, + "last_char": 90 + } + } +] diff --git a/lib_nbgl/fonts/nbgl_font_inter_medium_32.json b/lib_nbgl/fonts/nbgl_font_inter_medium_32.json new file mode 100644 index 000000000..3bb049c85 --- /dev/null +++ b/lib_nbgl/fonts/nbgl_font_inter_medium_32.json @@ -0,0 +1,1062 @@ +[ + { + "bitmap": "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DHBwYMMMcHBgwwxwcGDEeHhowsEu0C7DDBAE0CDDDBAE0CDDDBAE0CDDDBAE0CDDDHBwYMMMcHBgwwxwcGDDDBAEeHgIIMMMEATQIMMMEATQIMMMEATQIMMOFgjQJsLcDHBwEAIIxgxwcDABDsQMcHBAAcV6egoHAiAG1wcg2AEQDdcFEAzXBBAM1wEQDtYFINUHASAG1QIgAdYCEAEN1hQIxdcNwwwD0wgAw5wC4NAEEMMMEAENzQwBIMMMMAzLBzABxAYwC8kDMATGCDAIxgwBMAjICzAGxAYwAg3KDQEgBcEOAzAFzQ4CIAQKQAvQA2ADDtIEQAfVBiABDtYIIAEN1ggwC8oMcHBgwwxwcGDDDHBwYMR4eGjC1SbYINgg2CDYINgg2CDYINgg2CDYIMMMcHBgwwxwcGDDDHBwYMR4eGjCwX5+bsMMcHBgwwxwcGDDDHBwYMMMUAUMfm7ECgJQBQ3TDQVQAgrUCAJQBg3TDARQAwrUBwFQBg7TCwRQAwvTjnFAAdUHQNMMBFDRCAJQBg3ODQVQAgrPCgJQBQzODgZQAgjPCwNQBAzOjnFAAQfQDVADC9IMUHFxAcMMcHBgwwxwcGDEeHhowsF7e2vDDHBwYMMMcHBgwwxwcGDEfn4GMAEM0wQwBdMLASABC9MFMATTDAEwCtMGMAMO0g0CMAjTCDACDdIOAzAH0wowAQzTBDAF0wsBMArTDXBwYMMMcHBgwwxwcGDEeHhowsi7dUNAhYzPDgVwEAEHzAdwUAELyQRQAhQDAlAKxwYwBQzGCwMwDMUMIAEMygogAcUDIA7MCiAIww4gCs4EEALDCiDPDCDDBxAE0CANwgYQBdABEAzCBhAF0CAMwggQAs8OIA7CDSANzgggxAEQA84BEAXECCAFzAIgDcUCIAIMyAoBIAbGDgEwsmq8sIhRMAPIDQJwYATLBnAwAQrOCANQgVvULszFuEISYAzSCnAD0AhwEAHODTABFQMwBM0FIArEBCANzCAIxgIQB8sOIMcIEATLDRADxw0QA8sMEATHDhACywwQBMcOEALLDBAExw4QAssMEATHDhACywwQA8cNEALLDHBwYMMMcHBgwwxwcGDEeHhowsi7dUNAhYzPDgVwEAEHxQfFB3BQAQvCAwDEBFACFAMCUIrBEMMGMAUMxgsDYAHCDCABDMoKQAPDAyAOyw4BIATDDiAKywtAAsMKIMsKIAIgwwcQBMsHEAbAIA3CBhAFy4cLwQEQDMIGEAXLCg7CIAzCCBACzw4gDsINIA3OCCDEARADzgEQBcQIIAXMAiANxQIgAgzICgEgBsYOATCyarywiFEwA8gNAnBgBMsGcDABCs4IA1CBW9QuzNcHx45zEYN+yIoQxgdwB8ULAiDFBnAQB8INA0DEDTACFQIwjeRQCMQFIAzDDCABUAfGIArFCGAGxw4gx0AEDsgNEAPHARADDcoMEATHAhANywwQBMcCEA3LDBAExwIQDcsMEATHAhANywwQA8cCEAzLDHBwYMMMcHBgwwxwcGDEeHhowsUIB8a+YgFQDMkHEALFDGAGxwYgAsQNcAAGxQswBMQDIIR1MA3EAhABDcQNIAjCDSAEww4gDcUGEALECiDDChADxgEQCMUgDcIHEAfFDiDGAxALwgYQCMUIEALGBBAKwgcQB8UEEAfGBBALwgoQBMUgDMYBEAzCDiAOwwcgxg0gxAIQAg7BCyAGxgMQA8QLMAMCMA7ECwIgCsUGcAjECDADxwZQB8UIIALJDgcUBg3GCBAG1w4Nx8EaC9cMEAPXDBAD1wwQA9cMEAPXDBAD1wwQA9cMEAN+fj7DDHBwYMMMcHBgwwxwcGDDDBACe3s7wwwQA9cMEAPXDBAD1wwQA9cMEAPXDBAD1w4WCNbADHBwgUvHDHBwIAMOxQxwcDABDsQOeGgHBDAD1g4CIArXARAD1wsg2CAM1wIQC9cCEArXARAL1g0gDtYFEAHWCCAG1AsDMMQMcHBAC8QMcHAwCsUMcHAQBA3HeGgKC8iP69kMEAYM1gwwgX7TDGACCNIIA3AECtGOgnAFDNGOcmCBbdGOcmCCjtGNcWADCtKNYVDVDAQw1AsFQNEMBXDOjGFgBAvMjWFgAwjMjWFggX7LjXFwBgzMDgJwBAvPDFADCtIMIIKO1JwW0Naf6uDYDBCCa9UMUION0QxwAIFbz4xzcBCCfM+Mc3AQhK7PjHNwAIJr0IxzcNQMBUDSi2JQzoxycAMHyoxzcIFbyY2EcACDjcmOUXCBa80MYISO0AxAAgvTDHCEjtCKUXCBa9COpHAAg43QjYRwgVvRjHNwA9OMYkDTi2JAz4ticADLi2JwAIJsyIticBCErsgHA3AQg3zLDHCBW88MQISN0qwCbNcO2NcOw4ws0gcAwwwQBc8MAhDDDDAKzAYwww1AAw3ICwEwAcQOA0AHxQ4EQAbHCgEwAQzCCEACDcoGQIWyQAjNDQJwAATRCFABC9MIQAvSDgRgBdAHQAIwAQrMDAEwkt+gQAMOyQRAB8QEQAfGCEADDsYLATABDMMMQArKBkDDDCAFzQ0CIMOcAbDQBxDDDAbTDgPCn8Xg2AwQCNcMIAIM1Q1ABA7UDAJAB9UKATACDNUGQAQO1A4EQAfVDAIwAXQEzQhwQM0LAXAwyw0DQHMDygVABtIIQAMN0QsBMAEK0Q0DQAbSDUADDdMMIAEK1QwQBteMPdfADhgN0CbDDCAHzyDDDDADDs0gwwxQCMwgwwxgAw7KIMMMEIOxMArJIMMMEAPBBDAEyCDDDBADwgpAC8YgwwwQA8QEMAXFIMMMEAPFCjABC8MgwwwQA8YOAzAFwiDDDBADyAgwgc8gwwwQA8kOAjAGIMMMEAPLB2DDDBADzA0CQMMMEAPOBjDDDBADzwwBEMQe198OEAfWggLBDhAH1oICwQ4QB9aCAsEOEAfWggLBDiBxcWEQAsEOcHBwMALBDnBwcDACwnt7ezsMwdibYnDXjHMwB9OOhHAI0ItRcISuzYxicIN9zY2DcIJrzY6lcIFazw0CcISN0gtAgnzWqwFr2h7dwHh4eDgLwQ5wcHAwAsEOcHBwMALBDhABcnJiEALBDhAH1oICwQ4QB9aCAsEOEAfWggLBDhAH1oICwcmOXMoNBRAMyA0EMAzGDAMwAgvFDAMwBAzHBiAFDckGEAjLBiACCskOBjABB8oGQAbKBzAMy5gQwM0KDcL/9fAB8AHwAfAB8AHwAfAB8AHwAfAB8AHwAfAB8AHDjU3CDQQQDcEEMA7BIAMOwhAIxAMOxMWKMXAwxwNwYMYGcHDGIIJ4EAMatyAasMUKEATChgHDhQLGBhANwgoQxIEFxQUQwwwQDcMHEMUFEMMOEArDCxAMxAcQC8MQBsMKEArECxACw4ECwwYQC8UBEAMOwQUQCMEMIA7FCiALwQsgAQIgAscGEMMDYAzICgPEAkAL0ZuHsMXMDQooCw7SBwFgAgvODAFwIATMDXBQA8sCIAMLw41xIAfJDCAIyAMgyQYQBMogDcgFEAvKBBALyAUQDcoGEAzICBAMygUQDsgOEAXKEATKChAKyIQBzKwQTMOuoQTFDHBAEUAhwwxwcGDDDHBwYMR4eGjCxopOxIpsyg0CEA3EBxAFyA4wDcQHIAPHAyAExQwCIAjFDSALyAUQAcUIEAbKARAOxAUQDMoGEAvEBRANygcQC8QGEAvKBRAMxAgQBMogxQ4gB8gDEAPGBSADC8ONcSALxwJwQAbJA3AgBssKAmAEDM4OCygMyMAOeHhowwxwcGDDDHBwYMMMcEARQAESy6wQXMSaEEDMChAKyJQB4MkOEAXKEATJCBAMygUQDsgFEA3KBhAMyAUQC8oEEAvIBhAEyiANyAwgB8gDIMoCIAMLww0HMAfKDXBQA8wNAXAgBM8HAWADC9INCxgKC8jJDRzRCgMwDMGIPckOAlAMwQUQC8gBYAzBAiAOxgQgh+wQDMELARAFxQ4gDcEMEAzCDSDFCBAHwgwQDMMEEA3EBhANwgwQDMMHEAvEBRAOwgwQDMMIEAvEBhAMwgwQDMMGEAzECBAGwgwQDMMBEMUOIAvBDBAMwgUQA8YFIIfsEJz8MCALxwJwQAbJA3AgBssKAmADDM4OCygLyMAM2Q4QBsIMFg7QCxAGwggQDNALEAXCCBAM0AwgDcEIEAzRMBIBEAFyUsMHcHBgxAZwcFDFrYdjEAV2VskIEAzXCBAM2BzRwg14eBgKDcYIcHAwAw7ECHBwQAEOwwoSQBFAMTADxasQXMMOBxAKwwcgDcMKEArHDRAHwwYQB8IOEAXJCBANwxADwggQDMkOEAfDgQLCBRANyhAEw4IBwgUQC8kNEATDgQLCBhAEyQcQBsIOEATCDCAIxwwgC8IEEAfDAiADC8MMBSABwgUgDsMNcFALwiAGxQwBcCAKw4YDyAcBYAQOxA4Hyw0LGAoMzMmLQXAwywNwYMoEcHDJDTAECHoqyQcgDNYFEAbXBRAL1wcQDNcNEAjYhQHZlQPgzw51ARADdCTDDHBwYMMMcHBgww10dGTC3AYQDMELdHQEwg4gA8EIcHAAwg4gA8EIcHAAwwYQDMELdHQE3toNFwzhlwHQwQt0dBSFbMMgA8EIcHBAA8EOIAPBCHBwUATBBhAMwQt0dBQDMA3BDtgCEArbCBAH1w7JCw7NCwDJiB3LBhDJCBAMyA4DIMkIIAzGCzAByQ4CIAvEBzADDssCIArCAzAGzgMgisEwC9AEYAMO0gRABtUFIAjXBhACyg50RCABVMMMcHBgwwxwcGDDDXR0ZMLVjYXYAxDYAhAOwg11dSUCIMMMcHBQA8MMcHBQDcMNdXU1CA7DxQYCcEDGDXBwxgFwcMUKIAEHejrFBhAB0wUQCNMGEAzTCxAL1IIE1A0QBtQOAhByMscEcGDGA3BwxQswBXc3xQYQAQ7SBRAI0wYQDNMLEAvUgwPVgwXSDRcBEAN0JMUIcHAAxQhwcADFC3R0BMLFjWNyMscGcGDGBnBwxQ4wAgZ3J8UHIArSBRAF0wUQC9MHEAzTDBAI1IQC1ZQE4NENFwEQA3QkxQhwcADFCHBwAMULdHQEwse+pkNABgvNDgVwAAfKDHAwA8gOQKJFQTADxwMgB8UNBCAIxQ0gDMgHEAHFBxAHygIQDsQFEA3KBhALxAUQDsoHEAvEBhAMygUQDMQIEATKIMUOIAfIAxADxgUgAwvDjoEgC8cCcEAGyQNwIAbLCgJgBAzODgsoC8jKHQ7UDAVQgn7PBHAgCM0CcEAGywQwBgsdjIMwC8kNIATHDAEQAskHEALJDCAOyAUQCsoDEAvIBRANygYQC8gHEAzKBhANyA0QB8qBAsoGEA3IBxAMywcQCsWuUBzKDBYCIKNWQiADdArCCHBwYAfCCHBwYAfCC3R0ZArCDXh4aAzCCHBwYAfCCHBwYAfCChJAEXBQB8SsEFzEmhBAzAoQCsiUAeDJDhAFyhAEyQgQDMoFEA7IBRANygYQDMgFEAvKBBALyAYQBMogDcgMIAfIAyDKAiADC8MNBzAHyg1wUAPMDQFwIATPBwFgAwvSDQsYCgvMwgoVC9MEEAjTBRAK0woQBtQBENSuIC7RDBYBEAN0JMUIcHAAxQhwcADFC3R0BMLGDcUIFQrKjSDDDgEwAQ7HDSAOwgNQAccBIA3BDCABAiAHxQsQAQ7CBhADwQsQAcUHEAvDAhANwgQQDsQFEMQQAcMIEAvEBRDDCxAEwwoQC8QGEA3CBhAHwwgQC8QKEAbCIAzDAxAOxSCFghABwwYQAcYGYAfCAiAHxwJAA8MDEALJpyAXxIUE1B3Fxg0Yy42FyQgQDMoCEA7ICBAMygIQDcgIEAzJDCAOxAciARABcgIBIAHFBXBwMAjFBXBwIAbGCycDEAV3FwgOywgQDNcIEAzswgtzcwPFCHBwAMUIcHAAxQx1FQQBEAUW0pgB0NQGEA7UEATUARDUARAN0gwgDdEMASDFC3QkAjAExQhwcA7FCHBQAg3GC3QkhXzFwpgn4NMIIAMK0QhQBAvODQNwBgzOCgRggX7OCgRgAwrPCgRg0QsFMNCOgjDNjnJQAcqNcmAFDMiNcmADCskMAmACCMwIQIFtzgggBQzRiDrRwg4N1agBbNIIQISuzghwgnzMjGJwAAULzYtRcAMIzY6kYNEKATDOilFQyoxiYIJ8xo1zcAUKyQhgg33MCDADC9AIQIONzgwDYIFbzotiYIN9zZ6lEFABBc+NhEDQi1EwzIxicMiNg3AABQrGDQRwAIJ8yQhghK7MCCCBa9CYONDQwg7PDsWILcwHAMUIEAbJDAIQxQggAQvGBTDFDQIwBMMKATAHxwoBMIjjMAMOygdwAQvNDgRABtALASACDc4NA2AGzAUwAgYwAQrIB0AIwQ4DMAMNxQgwBA7ECkDFCBABC8gFIMWIBsuMIMUMDc4HwsKYJ+DXCCADCtUIUAQL0g0DYIFt0goEYIJ+0goEYAMK0wsFYAUL0wsFUAEI0QgDcAPMjoNgAjAEyI6CYAQLwQ4EIA3EjnJgAwrGBBAIwgwCYIJ+yAoQB8IIQIFtywgQCMIIIAUMz4pMwog61cIMFg3KARDFCCAIySDFCDAEyCDFCEACDcYgxQgQAjAKxSDFCBAHDDAFxCDFCBCX/iAgAg7CIMUIEAfCBTALwSDFCBAHwwgwBsAgxQgQB8QNASADIMUIEAfGA1DFCBAHxwZAxQgQB8gLMMULEwrJDQIQ2t8OEAbWgQLCEAPWEAPCARAK1AUQBsIGIAEDRAYNwgsFRAMwDMMBcCCM93AgBMQOA3AQA8BwIAbHjro4BwEQBhADBzgKDNICIAbaCCAO2gsgzgNwcHBgA3BwcGADcHBwYMwLINsIIA7aASAF0Q0KRwUBEAcQAgZHCg7GDQJwEAPAcCAExA5wMI34cCADwwUgAlUHDsIMBkUEASALwgEQC9QFEAbCEATWEAPBDhAG1oECwfZY7//yAAr/8gAA3/6yAF///QAv//4AL//2AG//sADv/QAK//MAb//QAv//oAb//7AC///wADjv9wAAz/+AAM///8rv", + "nbgl_font_character": [ + { + "char": 32, + "bitmap_byte_count": 0, + "bitmap_offset": 0, + "char_width": 8, + "x_min": 0, + "y_min": 0, + "x_max": 0, + "y_max": 0, + "encoding": 0 + }, + { + "char": 33, + "bitmap_byte_count": 42, + "bitmap_offset": 0, + "char_width": 9, + "x_min": 2, + "y_min": 0, + "x_max": 7, + "y_max": 28, + "encoding": 1 + }, + { + "char": 34, + "bitmap_byte_count": 19, + "bitmap_offset": 42, + "char_width": 13, + "x_min": 2, + "y_min": 0, + "x_max": 11, + "y_max": 12, + "encoding": 1 + }, + { + "char": 35, + "bitmap_byte_count": 152, + "bitmap_offset": 61, + "char_width": 20, + "x_min": 0, + "y_min": 0, + "x_max": 20, + "y_max": 28, + "encoding": 1 + }, + { + "char": 36, + "bitmap_byte_count": 183, + "bitmap_offset": 213, + "char_width": 21, + "x_min": 1, + "y_min": 0, + "x_max": 19, + "y_max": 32, + "encoding": 1 + }, + { + "char": 37, + "bitmap_byte_count": 209, + "bitmap_offset": 396, + "char_width": 27, + "x_min": 2, + "y_min": 0, + "x_max": 24, + "y_max": 28, + "encoding": 1 + }, + { + "char": 38, + "bitmap_byte_count": 172, + "bitmap_offset": 605, + "char_width": 21, + "x_min": 1, + "y_min": 0, + "x_max": 21, + "y_max": 28, + "encoding": 1 + }, + { + "char": 39, + "bitmap_byte_count": 10, + "bitmap_offset": 777, + "char_width": 7, + "x_min": 2, + "y_min": 0, + "x_max": 5, + "y_max": 12, + "encoding": 1 + }, + { + "char": 40, + "bitmap_byte_count": 68, + "bitmap_offset": 787, + "char_width": 12, + "x_min": 3, + "y_min": 0, + "x_max": 11, + "y_max": 32, + "encoding": 1 + }, + { + "char": 41, + "bitmap_byte_count": 69, + "bitmap_offset": 855, + "char_width": 12, + "x_min": 1, + "y_min": 0, + "x_max": 9, + "y_max": 32, + "encoding": 1 + }, + { + "char": 42, + "bitmap_byte_count": 83, + "bitmap_offset": 924, + "char_width": 17, + "x_min": 2, + "y_min": 0, + "x_max": 15, + "y_max": 16, + "encoding": 1 + }, + { + "char": 43, + "bitmap_byte_count": 70, + "bitmap_offset": 1007, + "char_width": 21, + "x_min": 3, + "y_min": 8, + "x_max": 19, + "y_max": 24, + "encoding": 1 + }, + { + "char": 44, + "bitmap_byte_count": 23, + "bitmap_offset": 1077, + "char_width": 9, + "x_min": 2, + "y_min": 20, + "x_max": 7, + "y_max": 32, + "encoding": 1 + }, + { + "char": 45, + "bitmap_byte_count": 44, + "bitmap_offset": 1100, + "char_width": 15, + "x_min": 2, + "y_min": 12, + "x_max": 13, + "y_max": 20, + "encoding": 0 + }, + { + "char": 46, + "bitmap_byte_count": 19, + "bitmap_offset": 1144, + "char_width": 9, + "x_min": 2, + "y_min": 20, + "x_max": 7, + "y_max": 28, + "encoding": 1 + }, + { + "char": 47, + "bitmap_byte_count": 56, + "bitmap_offset": 1163, + "char_width": 12, + "x_min": 0, + "y_min": 0, + "x_max": 11, + "y_max": 32, + "encoding": 1 + }, + { + "char": 48, + "bitmap_byte_count": 137, + "bitmap_offset": 1219, + "char_width": 21, + "x_min": 1, + "y_min": 0, + "x_max": 19, + "y_max": 28, + "encoding": 1 + }, + { + "char": 49, + "bitmap_byte_count": 45, + "bitmap_offset": 1356, + "char_width": 15, + "x_min": 1, + "y_min": 0, + "x_max": 12, + "y_max": 28, + "encoding": 1 + }, + { + "char": 50, + "bitmap_byte_count": 136, + "bitmap_offset": 1401, + "char_width": 20, + "x_min": 2, + "y_min": 0, + "x_max": 18, + "y_max": 28, + "encoding": 1 + }, + { + "char": 51, + "bitmap_byte_count": 157, + "bitmap_offset": 1537, + "char_width": 21, + "x_min": 2, + "y_min": 0, + "x_max": 19, + "y_max": 28, + "encoding": 1 + }, + { + "char": 52, + "bitmap_byte_count": 120, + "bitmap_offset": 1694, + "char_width": 21, + "x_min": 1, + "y_min": 0, + "x_max": 20, + "y_max": 28, + "encoding": 1 + }, + { + "char": 53, + "bitmap_byte_count": 166, + "bitmap_offset": 1814, + "char_width": 20, + "x_min": 2, + "y_min": 0, + "x_max": 18, + "y_max": 28, + "encoding": 1 + }, + { + "char": 54, + "bitmap_byte_count": 170, + "bitmap_offset": 1980, + "char_width": 20, + "x_min": 1, + "y_min": 0, + "x_max": 19, + "y_max": 28, + "encoding": 1 + }, + { + "char": 55, + "bitmap_byte_count": 119, + "bitmap_offset": 2150, + "char_width": 19, + "x_min": 1, + "y_min": 0, + "x_max": 17, + "y_max": 28, + "encoding": 1 + }, + { + "char": 56, + "bitmap_byte_count": 179, + "bitmap_offset": 2269, + "char_width": 20, + "x_min": 1, + "y_min": 0, + "x_max": 19, + "y_max": 28, + "encoding": 1 + }, + { + "char": 57, + "bitmap_byte_count": 170, + "bitmap_offset": 2448, + "char_width": 20, + "x_min": 1, + "y_min": 0, + "x_max": 19, + "y_max": 28, + "encoding": 1 + }, + { + "char": 58, + "bitmap_byte_count": 36, + "bitmap_offset": 2618, + "char_width": 9, + "x_min": 2, + "y_min": 8, + "x_max": 7, + "y_max": 28, + "encoding": 1 + }, + { + "char": 59, + "bitmap_byte_count": 43, + "bitmap_offset": 2654, + "char_width": 9, + "x_min": 2, + "y_min": 8, + "x_max": 8, + "y_max": 32, + "encoding": 1 + }, + { + "char": 60, + "bitmap_byte_count": 102, + "bitmap_offset": 2697, + "char_width": 21, + "x_min": 3, + "y_min": 4, + "x_max": 19, + "y_max": 28, + "encoding": 1 + }, + { + "char": 61, + "bitmap_byte_count": 119, + "bitmap_offset": 2799, + "char_width": 21, + "x_min": 3, + "y_min": 8, + "x_max": 18, + "y_max": 24, + "encoding": 1 + }, + { + "char": 62, + "bitmap_byte_count": 102, + "bitmap_offset": 2918, + "char_width": 21, + "x_min": 3, + "y_min": 4, + "x_max": 19, + "y_max": 28, + "encoding": 1 + }, + { + "char": 63, + "bitmap_byte_count": 103, + "bitmap_offset": 3020, + "char_width": 17, + "x_min": 1, + "y_min": 0, + "x_max": 16, + "y_max": 28, + "encoding": 1 + }, + { + "char": 64, + "bitmap_byte_count": 320, + "bitmap_offset": 3123, + "char_width": 31, + "x_min": 1, + "y_min": 0, + "x_max": 30, + "y_max": 32, + "encoding": 1 + }, + { + "char": 65, + "bitmap_byte_count": 126, + "bitmap_offset": 3443, + "char_width": 22, + "x_min": 1, + "y_min": 0, + "x_max": 22, + "y_max": 28, + "encoding": 1 + }, + { + "char": 66, + "bitmap_byte_count": 156, + "bitmap_offset": 3569, + "char_width": 21, + "x_min": 2, + "y_min": 0, + "x_max": 20, + "y_max": 28, + "encoding": 1 + }, + { + "char": 67, + "bitmap_byte_count": 161, + "bitmap_offset": 3725, + "char_width": 24, + "x_min": 1, + "y_min": 0, + "x_max": 22, + "y_max": 28, + "encoding": 1 + }, + { + "char": 68, + "bitmap_byte_count": 131, + "bitmap_offset": 3886, + "char_width": 23, + "x_min": 2, + "y_min": 0, + "x_max": 22, + "y_max": 28, + "encoding": 1 + }, + { + "char": 69, + "bitmap_byte_count": 133, + "bitmap_offset": 4017, + "char_width": 19, + "x_min": 2, + "y_min": 0, + "x_max": 18, + "y_max": 28, + "encoding": 1 + }, + { + "char": 70, + "bitmap_byte_count": 104, + "bitmap_offset": 4150, + "char_width": 19, + "x_min": 2, + "y_min": 0, + "x_max": 17, + "y_max": 28, + "encoding": 1 + }, + { + "char": 71, + "bitmap_byte_count": 174, + "bitmap_offset": 4254, + "char_width": 24, + "x_min": 1, + "y_min": 0, + "x_max": 23, + "y_max": 28, + "encoding": 1 + }, + { + "char": 72, + "bitmap_byte_count": 91, + "bitmap_offset": 4428, + "char_width": 24, + "x_min": 2, + "y_min": 0, + "x_max": 22, + "y_max": 28, + "encoding": 1 + }, + { + "char": 73, + "bitmap_byte_count": 76, + "bitmap_offset": 4519, + "char_width": 15, + "x_min": 1, + "y_min": 0, + "x_max": 14, + "y_max": 28, + "encoding": 1 + }, + { + "char": 74, + "bitmap_byte_count": 68, + "bitmap_offset": 4595, + "char_width": 18, + "x_min": 1, + "y_min": 0, + "x_max": 16, + "y_max": 28, + "encoding": 1 + }, + { + "char": 75, + "bitmap_byte_count": 119, + "bitmap_offset": 4663, + "char_width": 21, + "x_min": 2, + "y_min": 0, + "x_max": 21, + "y_max": 28, + "encoding": 1 + }, + { + "char": 76, + "bitmap_byte_count": 42, + "bitmap_offset": 4782, + "char_width": 18, + "x_min": 2, + "y_min": 0, + "x_max": 17, + "y_max": 28, + "encoding": 1 + }, + { + "char": 77, + "bitmap_byte_count": 136, + "bitmap_offset": 4824, + "char_width": 29, + "x_min": 2, + "y_min": 0, + "x_max": 27, + "y_max": 28, + "encoding": 1 + }, + { + "char": 78, + "bitmap_byte_count": 99, + "bitmap_offset": 4960, + "char_width": 24, + "x_min": 2, + "y_min": 0, + "x_max": 22, + "y_max": 28, + "encoding": 1 + }, + { + "char": 79, + "bitmap_byte_count": 166, + "bitmap_offset": 5059, + "char_width": 25, + "x_min": 1, + "y_min": 0, + "x_max": 23, + "y_max": 28, + "encoding": 1 + }, + { + "char": 80, + "bitmap_byte_count": 113, + "bitmap_offset": 5225, + "char_width": 20, + "x_min": 2, + "y_min": 0, + "x_max": 19, + "y_max": 28, + "encoding": 1 + }, + { + "char": 81, + "bitmap_byte_count": 186, + "bitmap_offset": 5338, + "char_width": 25, + "x_min": 1, + "y_min": 0, + "x_max": 23, + "y_max": 28, + "encoding": 1 + }, + { + "char": 82, + "bitmap_byte_count": 132, + "bitmap_offset": 5524, + "char_width": 21, + "x_min": 2, + "y_min": 0, + "x_max": 20, + "y_max": 28, + "encoding": 1 + }, + { + "char": 83, + "bitmap_byte_count": 183, + "bitmap_offset": 5656, + "char_width": 21, + "x_min": 1, + "y_min": 0, + "x_max": 19, + "y_max": 28, + "encoding": 1 + }, + { + "char": 84, + "bitmap_byte_count": 85, + "bitmap_offset": 5839, + "char_width": 21, + "x_min": 1, + "y_min": 0, + "x_max": 20, + "y_max": 28, + "encoding": 1 + }, + { + "char": 85, + "bitmap_byte_count": 96, + "bitmap_offset": 5924, + "char_width": 24, + "x_min": 2, + "y_min": 0, + "x_max": 21, + "y_max": 28, + "encoding": 1 + }, + { + "char": 86, + "bitmap_byte_count": 108, + "bitmap_offset": 6020, + "char_width": 22, + "x_min": 1, + "y_min": 0, + "x_max": 22, + "y_max": 28, + "encoding": 1 + }, + { + "char": 87, + "bitmap_byte_count": 167, + "bitmap_offset": 6128, + "char_width": 31, + "x_min": 0, + "y_min": 0, + "x_max": 31, + "y_max": 28, + "encoding": 1 + }, + { + "char": 88, + "bitmap_byte_count": 146, + "bitmap_offset": 6295, + "char_width": 21, + "x_min": 1, + "y_min": 0, + "x_max": 21, + "y_max": 28, + "encoding": 1 + }, + { + "char": 89, + "bitmap_byte_count": 98, + "bitmap_offset": 6441, + "char_width": 22, + "x_min": 1, + "y_min": 0, + "x_max": 21, + "y_max": 28, + "encoding": 1 + }, + { + "char": 90, + "bitmap_byte_count": 146, + "bitmap_offset": 6539, + "char_width": 20, + "x_min": 1, + "y_min": 0, + "x_max": 19, + "y_max": 28, + "encoding": 1 + }, + { + "char": 91, + "bitmap_byte_count": 57, + "bitmap_offset": 6685, + "char_width": 12, + "x_min": 3, + "y_min": 0, + "x_max": 12, + "y_max": 32, + "encoding": 1 + }, + { + "char": 92, + "bitmap_byte_count": 56, + "bitmap_offset": 6742, + "char_width": 12, + "x_min": 0, + "y_min": 0, + "x_max": 11, + "y_max": 32, + "encoding": 1 + }, + { + "char": 93, + "bitmap_byte_count": 58, + "bitmap_offset": 6798, + "char_width": 12, + "x_min": 1, + "y_min": 0, + "x_max": 9, + "y_max": 32, + "encoding": 1 + }, + { + "char": 94, + "bitmap_byte_count": 61, + "bitmap_offset": 6856, + "char_width": 15, + "x_min": 1, + "y_min": 0, + "x_max": 14, + "y_max": 16, + "encoding": 1 + }, + { + "char": 95, + "bitmap_byte_count": 30, + "bitmap_offset": 6917, + "char_width": 15, + "x_min": 0, + "y_min": 24, + "x_max": 15, + "y_max": 28, + "encoding": 0 + }, + { + "char": 96, + "bitmap_byte_count": 23, + "bitmap_offset": 6947, + "char_width": 16, + "x_min": 5, + "y_min": 0, + "x_max": 11, + "y_max": 8, + "encoding": 1 + }, + { + "char": 97, + "bitmap_byte_count": 130, + "bitmap_offset": 6970, + "char_width": 18, + "x_min": 1, + "y_min": 4, + "x_max": 16, + "y_max": 28, + "encoding": 1 + }, + { + "char": 98, + "bitmap_byte_count": 115, + "bitmap_offset": 7100, + "char_width": 20, + "x_min": 2, + "y_min": 0, + "x_max": 19, + "y_max": 28, + "encoding": 1 + }, + { + "char": 99, + "bitmap_byte_count": 118, + "bitmap_offset": 7215, + "char_width": 18, + "x_min": 1, + "y_min": 4, + "x_max": 17, + "y_max": 28, + "encoding": 1 + }, + { + "char": 100, + "bitmap_byte_count": 118, + "bitmap_offset": 7333, + "char_width": 20, + "x_min": 1, + "y_min": 0, + "x_max": 18, + "y_max": 28, + "encoding": 1 + }, + { + "char": 101, + "bitmap_byte_count": 155, + "bitmap_offset": 7451, + "char_width": 19, + "x_min": 1, + "y_min": 4, + "x_max": 18, + "y_max": 28, + "encoding": 1 + }, + { + "char": 102, + "bitmap_byte_count": 71, + "bitmap_offset": 7606, + "char_width": 12, + "x_min": 0, + "y_min": 0, + "x_max": 12, + "y_max": 28, + "encoding": 1 + }, + { + "char": 103, + "bitmap_byte_count": 169, + "bitmap_offset": 7677, + "char_width": 20, + "x_min": 1, + "y_min": 4, + "x_max": 18, + "y_max": 32, + "encoding": 1 + }, + { + "char": 104, + "bitmap_byte_count": 71, + "bitmap_offset": 7846, + "char_width": 19, + "x_min": 2, + "y_min": 0, + "x_max": 17, + "y_max": 28, + "encoding": 1 + }, + { + "char": 105, + "bitmap_byte_count": 37, + "bitmap_offset": 7917, + "char_width": 8, + "x_min": 1, + "y_min": 0, + "x_max": 7, + "y_max": 28, + "encoding": 1 + }, + { + "char": 106, + "bitmap_byte_count": 56, + "bitmap_offset": 7954, + "char_width": 8, + "x_min": 0, + "y_min": 0, + "x_max": 8, + "y_max": 32, + "encoding": 1 + }, + { + "char": 107, + "bitmap_byte_count": 95, + "bitmap_offset": 8010, + "char_width": 18, + "x_min": 2, + "y_min": 0, + "x_max": 18, + "y_max": 28, + "encoding": 1 + }, + { + "char": 108, + "bitmap_byte_count": 37, + "bitmap_offset": 8105, + "char_width": 9, + "x_min": 2, + "y_min": 0, + "x_max": 9, + "y_max": 28, + "encoding": 1 + }, + { + "char": 109, + "bitmap_byte_count": 110, + "bitmap_offset": 8142, + "char_width": 28, + "x_min": 2, + "y_min": 4, + "x_max": 26, + "y_max": 28, + "encoding": 1 + }, + { + "char": 110, + "bitmap_byte_count": 71, + "bitmap_offset": 8252, + "char_width": 19, + "x_min": 2, + "y_min": 4, + "x_max": 17, + "y_max": 28, + "encoding": 1 + }, + { + "char": 111, + "bitmap_byte_count": 121, + "bitmap_offset": 8323, + "char_width": 19, + "x_min": 1, + "y_min": 4, + "x_max": 18, + "y_max": 28, + "encoding": 1 + }, + { + "char": 112, + "bitmap_byte_count": 123, + "bitmap_offset": 8444, + "char_width": 20, + "x_min": 2, + "y_min": 4, + "x_max": 19, + "y_max": 32, + "encoding": 1 + }, + { + "char": 113, + "bitmap_byte_count": 121, + "bitmap_offset": 8567, + "char_width": 20, + "x_min": 1, + "y_min": 4, + "x_max": 18, + "y_max": 32, + "encoding": 1 + }, + { + "char": 114, + "bitmap_byte_count": 47, + "bitmap_offset": 8688, + "char_width": 12, + "x_min": 2, + "y_min": 4, + "x_max": 12, + "y_max": 28, + "encoding": 1 + }, + { + "char": 115, + "bitmap_byte_count": 139, + "bitmap_offset": 8735, + "char_width": 17, + "x_min": 1, + "y_min": 4, + "x_max": 16, + "y_max": 28, + "encoding": 1 + }, + { + "char": 116, + "bitmap_byte_count": 72, + "bitmap_offset": 8874, + "char_width": 12, + "x_min": 0, + "y_min": 0, + "x_max": 11, + "y_max": 28, + "encoding": 1 + }, + { + "char": 117, + "bitmap_byte_count": 75, + "bitmap_offset": 8946, + "char_width": 19, + "x_min": 2, + "y_min": 4, + "x_max": 17, + "y_max": 28, + "encoding": 1 + }, + { + "char": 118, + "bitmap_byte_count": 81, + "bitmap_offset": 9021, + "char_width": 18, + "x_min": 1, + "y_min": 4, + "x_max": 17, + "y_max": 28, + "encoding": 1 + }, + { + "char": 119, + "bitmap_byte_count": 129, + "bitmap_offset": 9102, + "char_width": 26, + "x_min": 1, + "y_min": 4, + "x_max": 26, + "y_max": 28, + "encoding": 1 + }, + { + "char": 120, + "bitmap_byte_count": 112, + "bitmap_offset": 9231, + "char_width": 18, + "x_min": 1, + "y_min": 4, + "x_max": 17, + "y_max": 28, + "encoding": 1 + }, + { + "char": 121, + "bitmap_byte_count": 108, + "bitmap_offset": 9343, + "char_width": 18, + "x_min": 1, + "y_min": 4, + "x_max": 17, + "y_max": 32, + "encoding": 1 + }, + { + "char": 122, + "bitmap_byte_count": 114, + "bitmap_offset": 9451, + "char_width": 18, + "x_min": 1, + "y_min": 4, + "x_max": 16, + "y_max": 28, + "encoding": 1 + }, + { + "char": 123, + "bitmap_byte_count": 81, + "bitmap_offset": 9565, + "char_width": 12, + "x_min": 1, + "y_min": 0, + "x_max": 12, + "y_max": 32, + "encoding": 1 + }, + { + "char": 124, + "bitmap_byte_count": 15, + "bitmap_offset": 9646, + "char_width": 11, + "x_min": 4, + "y_min": 0, + "x_max": 7, + "y_max": 32, + "encoding": 1 + }, + { + "char": 125, + "bitmap_byte_count": 81, + "bitmap_offset": 9661, + "char_width": 12, + "x_min": 1, + "y_min": 0, + "x_max": 11, + "y_max": 32, + "encoding": 1 + }, + { + "char": 126, + "bitmap_byte_count": 68, + "bitmap_offset": 9742, + "char_width": 21, + "x_min": 2, + "y_min": 12, + "x_max": 19, + "y_max": 20, + "encoding": 0 + } + ], + "nbgl_font": { + "font_id": 2, + "bpp": 4, + "char_height": 32, + "baseline_height": 25, + "line_height": 40, + "char_kerning": 0, + "first_char": 32, + "last_char": 126 + } + } +] diff --git a/lib_nbgl/fonts/nbgl_font_inter_medium_32_1bpp.json b/lib_nbgl/fonts/nbgl_font_inter_medium_32_1bpp.json new file mode 100644 index 000000000..efa64ee16 --- /dev/null +++ b/lib_nbgl/fonts/nbgl_font_inter_medium_32_1bpp.json @@ -0,0 +1,1062 @@ +[ + { + "bitmap": "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", + "nbgl_font_character": [ + { + "char": 32, + "bitmap_byte_count": 0, + "bitmap_offset": 0, + "char_width": 9, + "x_min": 0, + "y_min": 0, + "x_max": 0, + "y_max": 0, + "encoding": 0 + }, + { + "char": 33, + "bitmap_byte_count": 10, + "bitmap_offset": 0, + "char_width": 9, + "x_min": 3, + "y_min": 0, + "x_max": 6, + "y_max": 28, + "encoding": 1 + }, + { + "char": 34, + "bitmap_byte_count": 8, + "bitmap_offset": 10, + "char_width": 13, + "x_min": 2, + "y_min": 0, + "x_max": 10, + "y_max": 12, + "encoding": 1 + }, + { + "char": 35, + "bitmap_byte_count": 44, + "bitmap_offset": 18, + "char_width": 20, + "x_min": 1, + "y_min": 0, + "x_max": 19, + "y_max": 28, + "encoding": 1 + }, + { + "char": 36, + "bitmap_byte_count": 44, + "bitmap_offset": 62, + "char_width": 20, + "x_min": 2, + "y_min": 0, + "x_max": 19, + "y_max": 28, + "encoding": 1 + }, + { + "char": 37, + "bitmap_byte_count": 46, + "bitmap_offset": 106, + "char_width": 25, + "x_min": 3, + "y_min": 0, + "x_max": 22, + "y_max": 28, + "encoding": 1 + }, + { + "char": 38, + "bitmap_byte_count": 47, + "bitmap_offset": 152, + "char_width": 20, + "x_min": 1, + "y_min": 0, + "x_max": 19, + "y_max": 28, + "encoding": 1 + }, + { + "char": 39, + "bitmap_byte_count": 4, + "bitmap_offset": 199, + "char_width": 7, + "x_min": 2, + "y_min": 0, + "x_max": 5, + "y_max": 12, + "encoding": 1 + }, + { + "char": 40, + "bitmap_byte_count": 18, + "bitmap_offset": 203, + "char_width": 11, + "x_min": 3, + "y_min": 0, + "x_max": 10, + "y_max": 32, + "encoding": 1 + }, + { + "char": 41, + "bitmap_byte_count": 18, + "bitmap_offset": 221, + "char_width": 11, + "x_min": 1, + "y_min": 0, + "x_max": 8, + "y_max": 32, + "encoding": 1 + }, + { + "char": 42, + "bitmap_byte_count": 19, + "bitmap_offset": 239, + "char_width": 16, + "x_min": 2, + "y_min": 0, + "x_max": 14, + "y_max": 16, + "encoding": 1 + }, + { + "char": 43, + "bitmap_byte_count": 16, + "bitmap_offset": 258, + "char_width": 20, + "x_min": 3, + "y_min": 8, + "x_max": 18, + "y_max": 24, + "encoding": 1 + }, + { + "char": 44, + "bitmap_byte_count": 4, + "bitmap_offset": 274, + "char_width": 9, + "x_min": 2, + "y_min": 20, + "x_max": 6, + "y_max": 32, + "encoding": 1 + }, + { + "char": 45, + "bitmap_byte_count": 10, + "bitmap_offset": 278, + "char_width": 14, + "x_min": 2, + "y_min": 12, + "x_max": 12, + "y_max": 20, + "encoding": 0 + }, + { + "char": 46, + "bitmap_byte_count": 3, + "bitmap_offset": 288, + "char_width": 9, + "x_min": 3, + "y_min": 20, + "x_max": 6, + "y_max": 28, + "encoding": 0 + }, + { + "char": 47, + "bitmap_byte_count": 14, + "bitmap_offset": 291, + "char_width": 9, + "x_min": 1, + "y_min": 0, + "x_max": 8, + "y_max": 32, + "encoding": 1 + }, + { + "char": 48, + "bitmap_byte_count": 33, + "bitmap_offset": 305, + "char_width": 20, + "x_min": 2, + "y_min": 0, + "x_max": 18, + "y_max": 28, + "encoding": 1 + }, + { + "char": 49, + "bitmap_byte_count": 19, + "bitmap_offset": 338, + "char_width": 14, + "x_min": 2, + "y_min": 0, + "x_max": 11, + "y_max": 28, + "encoding": 1 + }, + { + "char": 50, + "bitmap_byte_count": 37, + "bitmap_offset": 357, + "char_width": 19, + "x_min": 2, + "y_min": 0, + "x_max": 17, + "y_max": 28, + "encoding": 1 + }, + { + "char": 51, + "bitmap_byte_count": 41, + "bitmap_offset": 394, + "char_width": 20, + "x_min": 2, + "y_min": 0, + "x_max": 18, + "y_max": 28, + "encoding": 1 + }, + { + "char": 52, + "bitmap_byte_count": 35, + "bitmap_offset": 435, + "char_width": 20, + "x_min": 2, + "y_min": 0, + "x_max": 18, + "y_max": 28, + "encoding": 1 + }, + { + "char": 53, + "bitmap_byte_count": 42, + "bitmap_offset": 470, + "char_width": 20, + "x_min": 2, + "y_min": 0, + "x_max": 18, + "y_max": 28, + "encoding": 1 + }, + { + "char": 54, + "bitmap_byte_count": 42, + "bitmap_offset": 512, + "char_width": 20, + "x_min": 2, + "y_min": 0, + "x_max": 18, + "y_max": 28, + "encoding": 1 + }, + { + "char": 55, + "bitmap_byte_count": 35, + "bitmap_offset": 554, + "char_width": 18, + "x_min": 1, + "y_min": 0, + "x_max": 16, + "y_max": 28, + "encoding": 1 + }, + { + "char": 56, + "bitmap_byte_count": 40, + "bitmap_offset": 589, + "char_width": 19, + "x_min": 2, + "y_min": 0, + "x_max": 17, + "y_max": 28, + "encoding": 1 + }, + { + "char": 57, + "bitmap_byte_count": 41, + "bitmap_offset": 629, + "char_width": 20, + "x_min": 2, + "y_min": 0, + "x_max": 18, + "y_max": 28, + "encoding": 1 + }, + { + "char": 58, + "bitmap_byte_count": 7, + "bitmap_offset": 670, + "char_width": 9, + "x_min": 3, + "y_min": 8, + "x_max": 6, + "y_max": 28, + "encoding": 1 + }, + { + "char": 59, + "bitmap_byte_count": 8, + "bitmap_offset": 677, + "char_width": 9, + "x_min": 2, + "y_min": 8, + "x_max": 6, + "y_max": 32, + "encoding": 1 + }, + { + "char": 60, + "bitmap_byte_count": 26, + "bitmap_offset": 685, + "char_width": 20, + "x_min": 3, + "y_min": 8, + "x_max": 17, + "y_max": 28, + "encoding": 1 + }, + { + "char": 61, + "bitmap_byte_count": 21, + "bitmap_offset": 711, + "char_width": 20, + "x_min": 3, + "y_min": 12, + "x_max": 17, + "y_max": 24, + "encoding": 0 + }, + { + "char": 62, + "bitmap_byte_count": 26, + "bitmap_offset": 732, + "char_width": 20, + "x_min": 3, + "y_min": 8, + "x_max": 17, + "y_max": 28, + "encoding": 1 + }, + { + "char": 63, + "bitmap_byte_count": 31, + "bitmap_offset": 758, + "char_width": 16, + "x_min": 1, + "y_min": 0, + "x_max": 14, + "y_max": 28, + "encoding": 1 + }, + { + "char": 64, + "bitmap_byte_count": 65, + "bitmap_offset": 789, + "char_width": 29, + "x_min": 2, + "y_min": 4, + "x_max": 27, + "y_max": 32, + "encoding": 1 + }, + { + "char": 65, + "bitmap_byte_count": 41, + "bitmap_offset": 854, + "char_width": 21, + "x_min": 1, + "y_min": 0, + "x_max": 20, + "y_max": 28, + "encoding": 1 + }, + { + "char": 66, + "bitmap_byte_count": 43, + "bitmap_offset": 895, + "char_width": 21, + "x_min": 3, + "y_min": 0, + "x_max": 19, + "y_max": 28, + "encoding": 1 + }, + { + "char": 67, + "bitmap_byte_count": 41, + "bitmap_offset": 938, + "char_width": 23, + "x_min": 2, + "y_min": 0, + "x_max": 20, + "y_max": 28, + "encoding": 1 + }, + { + "char": 68, + "bitmap_byte_count": 43, + "bitmap_offset": 979, + "char_width": 23, + "x_min": 3, + "y_min": 0, + "x_max": 21, + "y_max": 28, + "encoding": 1 + }, + { + "char": 69, + "bitmap_byte_count": 39, + "bitmap_offset": 1022, + "char_width": 19, + "x_min": 3, + "y_min": 0, + "x_max": 17, + "y_max": 28, + "encoding": 1 + }, + { + "char": 70, + "bitmap_byte_count": 27, + "bitmap_offset": 1061, + "char_width": 18, + "x_min": 3, + "y_min": 0, + "x_max": 16, + "y_max": 28, + "encoding": 1 + }, + { + "char": 71, + "bitmap_byte_count": 47, + "bitmap_offset": 1088, + "char_width": 23, + "x_min": 2, + "y_min": 0, + "x_max": 21, + "y_max": 28, + "encoding": 1 + }, + { + "char": 72, + "bitmap_byte_count": 34, + "bitmap_offset": 1135, + "char_width": 23, + "x_min": 3, + "y_min": 0, + "x_max": 20, + "y_max": 28, + "encoding": 1 + }, + { + "char": 73, + "bitmap_byte_count": 31, + "bitmap_offset": 1169, + "char_width": 15, + "x_min": 2, + "y_min": 0, + "x_max": 13, + "y_max": 28, + "encoding": 1 + }, + { + "char": 74, + "bitmap_byte_count": 27, + "bitmap_offset": 1200, + "char_width": 17, + "x_min": 1, + "y_min": 0, + "x_max": 14, + "y_max": 28, + "encoding": 1 + }, + { + "char": 75, + "bitmap_byte_count": 37, + "bitmap_offset": 1227, + "char_width": 20, + "x_min": 3, + "y_min": 0, + "x_max": 19, + "y_max": 28, + "encoding": 1 + }, + { + "char": 76, + "bitmap_byte_count": 27, + "bitmap_offset": 1264, + "char_width": 17, + "x_min": 3, + "y_min": 0, + "x_max": 16, + "y_max": 28, + "encoding": 1 + }, + { + "char": 77, + "bitmap_byte_count": 43, + "bitmap_offset": 1291, + "char_width": 27, + "x_min": 3, + "y_min": 0, + "x_max": 24, + "y_max": 28, + "encoding": 1 + }, + { + "char": 78, + "bitmap_byte_count": 40, + "bitmap_offset": 1334, + "char_width": 23, + "x_min": 2, + "y_min": 0, + "x_max": 21, + "y_max": 28, + "encoding": 1 + }, + { + "char": 79, + "bitmap_byte_count": 45, + "bitmap_offset": 1374, + "char_width": 24, + "x_min": 2, + "y_min": 0, + "x_max": 22, + "y_max": 28, + "encoding": 1 + }, + { + "char": 80, + "bitmap_byte_count": 31, + "bitmap_offset": 1419, + "char_width": 20, + "x_min": 3, + "y_min": 0, + "x_max": 18, + "y_max": 28, + "encoding": 1 + }, + { + "char": 81, + "bitmap_byte_count": 47, + "bitmap_offset": 1450, + "char_width": 24, + "x_min": 2, + "y_min": 0, + "x_max": 22, + "y_max": 28, + "encoding": 1 + }, + { + "char": 82, + "bitmap_byte_count": 35, + "bitmap_offset": 1497, + "char_width": 20, + "x_min": 3, + "y_min": 0, + "x_max": 19, + "y_max": 28, + "encoding": 1 + }, + { + "char": 83, + "bitmap_byte_count": 46, + "bitmap_offset": 1532, + "char_width": 20, + "x_min": 2, + "y_min": 0, + "x_max": 19, + "y_max": 28, + "encoding": 1 + }, + { + "char": 84, + "bitmap_byte_count": 35, + "bitmap_offset": 1578, + "char_width": 20, + "x_min": 1, + "y_min": 0, + "x_max": 18, + "y_max": 28, + "encoding": 1 + }, + { + "char": 85, + "bitmap_byte_count": 35, + "bitmap_offset": 1613, + "char_width": 23, + "x_min": 3, + "y_min": 0, + "x_max": 20, + "y_max": 28, + "encoding": 1 + }, + { + "char": 86, + "bitmap_byte_count": 39, + "bitmap_offset": 1648, + "char_width": 21, + "x_min": 1, + "y_min": 0, + "x_max": 20, + "y_max": 28, + "encoding": 1 + }, + { + "char": 87, + "bitmap_byte_count": 49, + "bitmap_offset": 1687, + "char_width": 29, + "x_min": 1, + "y_min": 0, + "x_max": 28, + "y_max": 28, + "encoding": 1 + }, + { + "char": 88, + "bitmap_byte_count": 42, + "bitmap_offset": 1736, + "char_width": 20, + "x_min": 1, + "y_min": 0, + "x_max": 19, + "y_max": 28, + "encoding": 1 + }, + { + "char": 89, + "bitmap_byte_count": 37, + "bitmap_offset": 1778, + "char_width": 21, + "x_min": 1, + "y_min": 0, + "x_max": 20, + "y_max": 28, + "encoding": 1 + }, + { + "char": 90, + "bitmap_byte_count": 44, + "bitmap_offset": 1815, + "char_width": 19, + "x_min": 2, + "y_min": 0, + "x_max": 18, + "y_max": 28, + "encoding": 1 + }, + { + "char": 91, + "bitmap_byte_count": 19, + "bitmap_offset": 1859, + "char_width": 12, + "x_min": 4, + "y_min": 0, + "x_max": 11, + "y_max": 32, + "encoding": 1 + }, + { + "char": 92, + "bitmap_byte_count": 16, + "bitmap_offset": 1878, + "char_width": 9, + "x_min": 1, + "y_min": 0, + "x_max": 8, + "y_max": 32, + "encoding": 1 + }, + { + "char": 93, + "bitmap_byte_count": 19, + "bitmap_offset": 1894, + "char_width": 11, + "x_min": 1, + "y_min": 0, + "x_max": 8, + "y_max": 32, + "encoding": 1 + }, + { + "char": 94, + "bitmap_byte_count": 14, + "bitmap_offset": 1913, + "char_width": 15, + "x_min": 1, + "y_min": 4, + "x_max": 14, + "y_max": 16, + "encoding": 1 + }, + { + "char": 95, + "bitmap_byte_count": 7, + "bitmap_offset": 1927, + "char_width": 16, + "x_min": 0, + "y_min": 24, + "x_max": 13, + "y_max": 28, + "encoding": 0 + }, + { + "char": 96, + "bitmap_byte_count": 3, + "bitmap_offset": 1934, + "char_width": 13, + "x_min": 5, + "y_min": 0, + "x_max": 8, + "y_max": 8, + "encoding": 0 + }, + { + "char": 97, + "bitmap_byte_count": 35, + "bitmap_offset": 1937, + "char_width": 18, + "x_min": 2, + "y_min": 8, + "x_max": 16, + "y_max": 28, + "encoding": 0 + }, + { + "char": 98, + "bitmap_byte_count": 32, + "bitmap_offset": 1972, + "char_width": 20, + "x_min": 3, + "y_min": 0, + "x_max": 19, + "y_max": 28, + "encoding": 1 + }, + { + "char": 99, + "bitmap_byte_count": 24, + "bitmap_offset": 2004, + "char_width": 17, + "x_min": 2, + "y_min": 8, + "x_max": 15, + "y_max": 28, + "encoding": 1 + }, + { + "char": 100, + "bitmap_byte_count": 32, + "bitmap_offset": 2028, + "char_width": 20, + "x_min": 2, + "y_min": 0, + "x_max": 18, + "y_max": 28, + "encoding": 1 + }, + { + "char": 101, + "bitmap_byte_count": 37, + "bitmap_offset": 2060, + "char_width": 19, + "x_min": 2, + "y_min": 8, + "x_max": 17, + "y_max": 28, + "encoding": 1 + }, + { + "char": 102, + "bitmap_byte_count": 23, + "bitmap_offset": 2097, + "char_width": 11, + "x_min": 1, + "y_min": 0, + "x_max": 10, + "y_max": 28, + "encoding": 1 + }, + { + "char": 103, + "bitmap_byte_count": 42, + "bitmap_offset": 2120, + "char_width": 20, + "x_min": 2, + "y_min": 8, + "x_max": 18, + "y_max": 32, + "encoding": 1 + }, + { + "char": 104, + "bitmap_byte_count": 27, + "bitmap_offset": 2162, + "char_width": 18, + "x_min": 2, + "y_min": 0, + "x_max": 16, + "y_max": 28, + "encoding": 1 + }, + { + "char": 105, + "bitmap_byte_count": 10, + "bitmap_offset": 2189, + "char_width": 7, + "x_min": 2, + "y_min": 0, + "x_max": 5, + "y_max": 28, + "encoding": 1 + }, + { + "char": 106, + "bitmap_byte_count": 13, + "bitmap_offset": 2199, + "char_width": 8, + "x_min": 0, + "y_min": 0, + "x_max": 5, + "y_max": 32, + "encoding": 1 + }, + { + "char": 107, + "bitmap_byte_count": 30, + "bitmap_offset": 2212, + "char_width": 17, + "x_min": 2, + "y_min": 0, + "x_max": 16, + "y_max": 28, + "encoding": 1 + }, + { + "char": 108, + "bitmap_byte_count": 13, + "bitmap_offset": 2242, + "char_width": 10, + "x_min": 3, + "y_min": 0, + "x_max": 9, + "y_max": 28, + "encoding": 1 + }, + { + "char": 109, + "bitmap_byte_count": 43, + "bitmap_offset": 2255, + "char_width": 27, + "x_min": 2, + "y_min": 8, + "x_max": 25, + "y_max": 28, + "encoding": 1 + }, + { + "char": 110, + "bitmap_byte_count": 27, + "bitmap_offset": 2298, + "char_width": 18, + "x_min": 2, + "y_min": 8, + "x_max": 16, + "y_max": 28, + "encoding": 1 + }, + { + "char": 111, + "bitmap_byte_count": 27, + "bitmap_offset": 2325, + "char_width": 20, + "x_min": 2, + "y_min": 8, + "x_max": 18, + "y_max": 28, + "encoding": 1 + }, + { + "char": 112, + "bitmap_byte_count": 29, + "bitmap_offset": 2352, + "char_width": 20, + "x_min": 2, + "y_min": 8, + "x_max": 18, + "y_max": 32, + "encoding": 1 + }, + { + "char": 113, + "bitmap_byte_count": 30, + "bitmap_offset": 2381, + "char_width": 20, + "x_min": 2, + "y_min": 8, + "x_max": 18, + "y_max": 32, + "encoding": 1 + }, + { + "char": 114, + "bitmap_byte_count": 19, + "bitmap_offset": 2411, + "char_width": 12, + "x_min": 2, + "y_min": 8, + "x_max": 11, + "y_max": 28, + "encoding": 1 + }, + { + "char": 115, + "bitmap_byte_count": 33, + "bitmap_offset": 2430, + "char_width": 16, + "x_min": 2, + "y_min": 8, + "x_max": 15, + "y_max": 28, + "encoding": 0 + }, + { + "char": 116, + "bitmap_byte_count": 19, + "bitmap_offset": 2463, + "char_width": 11, + "x_min": 1, + "y_min": 4, + "x_max": 10, + "y_max": 28, + "encoding": 1 + }, + { + "char": 117, + "bitmap_byte_count": 27, + "bitmap_offset": 2482, + "char_width": 18, + "x_min": 2, + "y_min": 8, + "x_max": 16, + "y_max": 28, + "encoding": 1 + }, + { + "char": 118, + "bitmap_byte_count": 21, + "bitmap_offset": 2509, + "char_width": 17, + "x_min": 1, + "y_min": 8, + "x_max": 16, + "y_max": 28, + "encoding": 1 + }, + { + "char": 119, + "bitmap_byte_count": 31, + "bitmap_offset": 2530, + "char_width": 25, + "x_min": 1, + "y_min": 8, + "x_max": 24, + "y_max": 28, + "encoding": 1 + }, + { + "char": 120, + "bitmap_byte_count": 22, + "bitmap_offset": 2561, + "char_width": 17, + "x_min": 2, + "y_min": 8, + "x_max": 15, + "y_max": 28, + "encoding": 1 + }, + { + "char": 121, + "bitmap_byte_count": 30, + "bitmap_offset": 2583, + "char_width": 17, + "x_min": 1, + "y_min": 8, + "x_max": 16, + "y_max": 32, + "encoding": 1 + }, + { + "char": 122, + "bitmap_byte_count": 32, + "bitmap_offset": 2613, + "char_width": 17, + "x_min": 2, + "y_min": 8, + "x_max": 15, + "y_max": 28, + "encoding": 1 + }, + { + "char": 123, + "bitmap_byte_count": 22, + "bitmap_offset": 2645, + "char_width": 11, + "x_min": 1, + "y_min": 0, + "x_max": 10, + "y_max": 32, + "encoding": 1 + }, + { + "char": 124, + "bitmap_byte_count": 5, + "bitmap_offset": 2667, + "char_width": 10, + "x_min": 4, + "y_min": 0, + "x_max": 6, + "y_max": 32, + "encoding": 1 + }, + { + "char": 125, + "bitmap_byte_count": 22, + "bitmap_offset": 2672, + "char_width": 11, + "x_min": 1, + "y_min": 0, + "x_max": 10, + "y_max": 32, + "encoding": 1 + }, + { + "char": 126, + "bitmap_byte_count": 15, + "bitmap_offset": 2694, + "char_width": 20, + "x_min": 3, + "y_min": 12, + "x_max": 18, + "y_max": 20, + "encoding": 0 + } + ], + "nbgl_font": { + "font_id": 0, + "bpp": 1, + "char_height": 32, + "baseline_height": 25, + "line_height": 40, + "char_kerning": 0, + "first_char": 32, + "last_char": 126 + } + } +] diff --git a/lib_nbgl/fonts/nbgl_font_inter_regular_24.json b/lib_nbgl/fonts/nbgl_font_inter_regular_24.json new file mode 100644 index 000000000..a6cf449e8 --- /dev/null +++ b/lib_nbgl/fonts/nbgl_font_inter_regular_24.json @@ -0,0 +1,1062 @@ +[ + { + "bitmap": "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", + "nbgl_font_character": [ + { + "char": 32, + "bitmap_byte_count": 0, + "bitmap_offset": 0, + "char_width": 7, + "x_min": 0, + "y_min": 0, + "x_max": 0, + "y_max": 0, + "encoding": 0 + }, + { + "char": 33, + "bitmap_byte_count": 26, + "bitmap_offset": 0, + "char_width": 7, + "x_min": 1, + "y_min": 0, + "x_max": 5, + "y_max": 20, + "encoding": 1 + }, + { + "char": 34, + "bitmap_byte_count": 17, + "bitmap_offset": 26, + "char_width": 10, + "x_min": 1, + "y_min": 0, + "x_max": 8, + "y_max": 8, + "encoding": 1 + }, + { + "char": 35, + "bitmap_byte_count": 106, + "bitmap_offset": 43, + "char_width": 15, + "x_min": 0, + "y_min": 0, + "x_max": 15, + "y_max": 20, + "encoding": 1 + }, + { + "char": 36, + "bitmap_byte_count": 111, + "bitmap_offset": 149, + "char_width": 15, + "x_min": 1, + "y_min": 0, + "x_max": 14, + "y_max": 24, + "encoding": 1 + }, + { + "char": 37, + "bitmap_byte_count": 131, + "bitmap_offset": 260, + "char_width": 20, + "x_min": 2, + "y_min": 0, + "x_max": 18, + "y_max": 20, + "encoding": 1 + }, + { + "char": 38, + "bitmap_byte_count": 118, + "bitmap_offset": 391, + "char_width": 15, + "x_min": 1, + "y_min": 0, + "x_max": 15, + "y_max": 20, + "encoding": 1 + }, + { + "char": 39, + "bitmap_byte_count": 10, + "bitmap_offset": 509, + "char_width": 5, + "x_min": 1, + "y_min": 0, + "x_max": 4, + "y_max": 8, + "encoding": 1 + }, + { + "char": 40, + "bitmap_byte_count": 46, + "bitmap_offset": 519, + "char_width": 9, + "x_min": 2, + "y_min": 0, + "x_max": 8, + "y_max": 24, + "encoding": 1 + }, + { + "char": 41, + "bitmap_byte_count": 41, + "bitmap_offset": 565, + "char_width": 9, + "x_min": 1, + "y_min": 0, + "x_max": 7, + "y_max": 24, + "encoding": 1 + }, + { + "char": 42, + "bitmap_byte_count": 54, + "bitmap_offset": 606, + "char_width": 12, + "x_min": 1, + "y_min": 0, + "x_max": 11, + "y_max": 12, + "encoding": 1 + }, + { + "char": 43, + "bitmap_byte_count": 43, + "bitmap_offset": 660, + "char_width": 16, + "x_min": 2, + "y_min": 4, + "x_max": 14, + "y_max": 20, + "encoding": 1 + }, + { + "char": 44, + "bitmap_byte_count": 16, + "bitmap_offset": 703, + "char_width": 7, + "x_min": 1, + "y_min": 16, + "x_max": 5, + "y_max": 24, + "encoding": 0 + }, + { + "char": 45, + "bitmap_byte_count": 28, + "bitmap_offset": 719, + "char_width": 11, + "x_min": 1, + "y_min": 8, + "x_max": 10, + "y_max": 16, + "encoding": 1 + }, + { + "char": 46, + "bitmap_byte_count": 8, + "bitmap_offset": 747, + "char_width": 7, + "x_min": 1, + "y_min": 16, + "x_max": 5, + "y_max": 20, + "encoding": 0 + }, + { + "char": 47, + "bitmap_byte_count": 40, + "bitmap_offset": 755, + "char_width": 9, + "x_min": 0, + "y_min": 0, + "x_max": 8, + "y_max": 24, + "encoding": 1 + }, + { + "char": 48, + "bitmap_byte_count": 95, + "bitmap_offset": 795, + "char_width": 15, + "x_min": 1, + "y_min": 0, + "x_max": 14, + "y_max": 20, + "encoding": 1 + }, + { + "char": 49, + "bitmap_byte_count": 29, + "bitmap_offset": 890, + "char_width": 11, + "x_min": 1, + "y_min": 0, + "x_max": 8, + "y_max": 20, + "encoding": 1 + }, + { + "char": 50, + "bitmap_byte_count": 94, + "bitmap_offset": 919, + "char_width": 15, + "x_min": 1, + "y_min": 0, + "x_max": 13, + "y_max": 20, + "encoding": 1 + }, + { + "char": 51, + "bitmap_byte_count": 99, + "bitmap_offset": 1013, + "char_width": 15, + "x_min": 1, + "y_min": 0, + "x_max": 14, + "y_max": 20, + "encoding": 1 + }, + { + "char": 52, + "bitmap_byte_count": 77, + "bitmap_offset": 1112, + "char_width": 15, + "x_min": 1, + "y_min": 0, + "x_max": 14, + "y_max": 20, + "encoding": 1 + }, + { + "char": 53, + "bitmap_byte_count": 100, + "bitmap_offset": 1189, + "char_width": 15, + "x_min": 2, + "y_min": 0, + "x_max": 13, + "y_max": 20, + "encoding": 1 + }, + { + "char": 54, + "bitmap_byte_count": 117, + "bitmap_offset": 1289, + "char_width": 15, + "x_min": 1, + "y_min": 0, + "x_max": 14, + "y_max": 20, + "encoding": 1 + }, + { + "char": 55, + "bitmap_byte_count": 79, + "bitmap_offset": 1406, + "char_width": 14, + "x_min": 1, + "y_min": 0, + "x_max": 13, + "y_max": 20, + "encoding": 1 + }, + { + "char": 56, + "bitmap_byte_count": 114, + "bitmap_offset": 1485, + "char_width": 15, + "x_min": 1, + "y_min": 0, + "x_max": 14, + "y_max": 20, + "encoding": 1 + }, + { + "char": 57, + "bitmap_byte_count": 114, + "bitmap_offset": 1599, + "char_width": 15, + "x_min": 1, + "y_min": 0, + "x_max": 14, + "y_max": 20, + "encoding": 1 + }, + { + "char": 58, + "bitmap_byte_count": 25, + "bitmap_offset": 1713, + "char_width": 7, + "x_min": 1, + "y_min": 4, + "x_max": 5, + "y_max": 20, + "encoding": 1 + }, + { + "char": 59, + "bitmap_byte_count": 29, + "bitmap_offset": 1738, + "char_width": 7, + "x_min": 1, + "y_min": 4, + "x_max": 6, + "y_max": 24, + "encoding": 1 + }, + { + "char": 60, + "bitmap_byte_count": 61, + "bitmap_offset": 1767, + "char_width": 16, + "x_min": 2, + "y_min": 4, + "x_max": 14, + "y_max": 20, + "encoding": 1 + }, + { + "char": 61, + "bitmap_byte_count": 48, + "bitmap_offset": 1828, + "char_width": 16, + "x_min": 2, + "y_min": 8, + "x_max": 14, + "y_max": 16, + "encoding": 0 + }, + { + "char": 62, + "bitmap_byte_count": 60, + "bitmap_offset": 1876, + "char_width": 16, + "x_min": 2, + "y_min": 4, + "x_max": 14, + "y_max": 20, + "encoding": 1 + }, + { + "char": 63, + "bitmap_byte_count": 66, + "bitmap_offset": 1936, + "char_width": 12, + "x_min": 1, + "y_min": 0, + "x_max": 11, + "y_max": 20, + "encoding": 1 + }, + { + "char": 64, + "bitmap_byte_count": 204, + "bitmap_offset": 2002, + "char_width": 22, + "x_min": 1, + "y_min": 0, + "x_max": 22, + "y_max": 24, + "encoding": 1 + }, + { + "char": 65, + "bitmap_byte_count": 91, + "bitmap_offset": 2206, + "char_width": 16, + "x_min": 0, + "y_min": 0, + "x_max": 16, + "y_max": 20, + "encoding": 1 + }, + { + "char": 66, + "bitmap_byte_count": 108, + "bitmap_offset": 2297, + "char_width": 16, + "x_min": 2, + "y_min": 0, + "x_max": 15, + "y_max": 20, + "encoding": 1 + }, + { + "char": 67, + "bitmap_byte_count": 101, + "bitmap_offset": 2405, + "char_width": 17, + "x_min": 1, + "y_min": 0, + "x_max": 16, + "y_max": 20, + "encoding": 1 + }, + { + "char": 68, + "bitmap_byte_count": 90, + "bitmap_offset": 2506, + "char_width": 17, + "x_min": 2, + "y_min": 0, + "x_max": 16, + "y_max": 20, + "encoding": 1 + }, + { + "char": 69, + "bitmap_byte_count": 89, + "bitmap_offset": 2596, + "char_width": 14, + "x_min": 2, + "y_min": 0, + "x_max": 13, + "y_max": 20, + "encoding": 1 + }, + { + "char": 70, + "bitmap_byte_count": 63, + "bitmap_offset": 2685, + "char_width": 14, + "x_min": 2, + "y_min": 0, + "x_max": 13, + "y_max": 20, + "encoding": 1 + }, + { + "char": 71, + "bitmap_byte_count": 124, + "bitmap_offset": 2748, + "char_width": 18, + "x_min": 1, + "y_min": 0, + "x_max": 17, + "y_max": 20, + "encoding": 1 + }, + { + "char": 72, + "bitmap_byte_count": 56, + "bitmap_offset": 2872, + "char_width": 18, + "x_min": 2, + "y_min": 0, + "x_max": 16, + "y_max": 20, + "encoding": 1 + }, + { + "char": 73, + "bitmap_byte_count": 53, + "bitmap_offset": 2928, + "char_width": 11, + "x_min": 1, + "y_min": 0, + "x_max": 10, + "y_max": 20, + "encoding": 1 + }, + { + "char": 74, + "bitmap_byte_count": 39, + "bitmap_offset": 2981, + "char_width": 13, + "x_min": 1, + "y_min": 0, + "x_max": 11, + "y_max": 20, + "encoding": 1 + }, + { + "char": 75, + "bitmap_byte_count": 83, + "bitmap_offset": 3020, + "char_width": 16, + "x_min": 2, + "y_min": 0, + "x_max": 15, + "y_max": 20, + "encoding": 1 + }, + { + "char": 76, + "bitmap_byte_count": 40, + "bitmap_offset": 3103, + "char_width": 14, + "x_min": 2, + "y_min": 0, + "x_max": 13, + "y_max": 20, + "encoding": 1 + }, + { + "char": 77, + "bitmap_byte_count": 98, + "bitmap_offset": 3143, + "char_width": 21, + "x_min": 2, + "y_min": 0, + "x_max": 20, + "y_max": 20, + "encoding": 1 + }, + { + "char": 78, + "bitmap_byte_count": 72, + "bitmap_offset": 3241, + "char_width": 18, + "x_min": 2, + "y_min": 0, + "x_max": 16, + "y_max": 20, + "encoding": 1 + }, + { + "char": 79, + "bitmap_byte_count": 110, + "bitmap_offset": 3313, + "char_width": 18, + "x_min": 1, + "y_min": 0, + "x_max": 17, + "y_max": 20, + "encoding": 1 + }, + { + "char": 80, + "bitmap_byte_count": 73, + "bitmap_offset": 3423, + "char_width": 15, + "x_min": 2, + "y_min": 0, + "x_max": 14, + "y_max": 20, + "encoding": 1 + }, + { + "char": 81, + "bitmap_byte_count": 126, + "bitmap_offset": 3496, + "char_width": 18, + "x_min": 1, + "y_min": 0, + "x_max": 17, + "y_max": 24, + "encoding": 1 + }, + { + "char": 82, + "bitmap_byte_count": 89, + "bitmap_offset": 3622, + "char_width": 15, + "x_min": 2, + "y_min": 0, + "x_max": 15, + "y_max": 20, + "encoding": 1 + }, + { + "char": 83, + "bitmap_byte_count": 111, + "bitmap_offset": 3711, + "char_width": 15, + "x_min": 1, + "y_min": 0, + "x_max": 14, + "y_max": 20, + "encoding": 1 + }, + { + "char": 84, + "bitmap_byte_count": 48, + "bitmap_offset": 3822, + "char_width": 15, + "x_min": 1, + "y_min": 0, + "x_max": 15, + "y_max": 20, + "encoding": 1 + }, + { + "char": 85, + "bitmap_byte_count": 62, + "bitmap_offset": 3870, + "char_width": 18, + "x_min": 2, + "y_min": 0, + "x_max": 16, + "y_max": 20, + "encoding": 1 + }, + { + "char": 86, + "bitmap_byte_count": 80, + "bitmap_offset": 3932, + "char_width": 16, + "x_min": 0, + "y_min": 0, + "x_max": 16, + "y_max": 20, + "encoding": 1 + }, + { + "char": 87, + "bitmap_byte_count": 122, + "bitmap_offset": 4012, + "char_width": 23, + "x_min": 0, + "y_min": 0, + "x_max": 23, + "y_max": 20, + "encoding": 1 + }, + { + "char": 88, + "bitmap_byte_count": 107, + "bitmap_offset": 4134, + "char_width": 15, + "x_min": 0, + "y_min": 0, + "x_max": 15, + "y_max": 20, + "encoding": 1 + }, + { + "char": 89, + "bitmap_byte_count": 65, + "bitmap_offset": 4241, + "char_width": 16, + "x_min": 0, + "y_min": 0, + "x_max": 16, + "y_max": 20, + "encoding": 1 + }, + { + "char": 90, + "bitmap_byte_count": 110, + "bitmap_offset": 4306, + "char_width": 15, + "x_min": 1, + "y_min": 0, + "x_max": 14, + "y_max": 20, + "encoding": 1 + }, + { + "char": 91, + "bitmap_byte_count": 34, + "bitmap_offset": 4416, + "char_width": 9, + "x_min": 2, + "y_min": 0, + "x_max": 8, + "y_max": 24, + "encoding": 1 + }, + { + "char": 92, + "bitmap_byte_count": 43, + "bitmap_offset": 4450, + "char_width": 9, + "x_min": 0, + "y_min": 0, + "x_max": 8, + "y_max": 24, + "encoding": 1 + }, + { + "char": 93, + "bitmap_byte_count": 32, + "bitmap_offset": 4493, + "char_width": 9, + "x_min": 0, + "y_min": 0, + "x_max": 6, + "y_max": 24, + "encoding": 1 + }, + { + "char": 94, + "bitmap_byte_count": 42, + "bitmap_offset": 4525, + "char_width": 11, + "x_min": 1, + "y_min": 0, + "x_max": 11, + "y_max": 12, + "encoding": 1 + }, + { + "char": 95, + "bitmap_byte_count": 33, + "bitmap_offset": 4567, + "char_width": 11, + "x_min": 0, + "y_min": 16, + "x_max": 11, + "y_max": 24, + "encoding": 1 + }, + { + "char": 96, + "bitmap_byte_count": 14, + "bitmap_offset": 4600, + "char_width": 12, + "x_min": 4, + "y_min": 0, + "x_max": 8, + "y_max": 8, + "encoding": 1 + }, + { + "char": 97, + "bitmap_byte_count": 86, + "bitmap_offset": 4614, + "char_width": 14, + "x_min": 1, + "y_min": 4, + "x_max": 12, + "y_max": 20, + "encoding": 1 + }, + { + "char": 98, + "bitmap_byte_count": 77, + "bitmap_offset": 4700, + "char_width": 15, + "x_min": 2, + "y_min": 0, + "x_max": 14, + "y_max": 20, + "encoding": 1 + }, + { + "char": 99, + "bitmap_byte_count": 74, + "bitmap_offset": 4777, + "char_width": 13, + "x_min": 1, + "y_min": 4, + "x_max": 13, + "y_max": 20, + "encoding": 1 + }, + { + "char": 100, + "bitmap_byte_count": 79, + "bitmap_offset": 4851, + "char_width": 15, + "x_min": 1, + "y_min": 0, + "x_max": 13, + "y_max": 20, + "encoding": 1 + }, + { + "char": 101, + "bitmap_byte_count": 96, + "bitmap_offset": 4930, + "char_width": 14, + "x_min": 1, + "y_min": 4, + "x_max": 13, + "y_max": 20, + "encoding": 0 + }, + { + "char": 102, + "bitmap_byte_count": 46, + "bitmap_offset": 5026, + "char_width": 9, + "x_min": 0, + "y_min": 0, + "x_max": 9, + "y_max": 20, + "encoding": 1 + }, + { + "char": 103, + "bitmap_byte_count": 101, + "bitmap_offset": 5072, + "char_width": 15, + "x_min": 1, + "y_min": 4, + "x_max": 13, + "y_max": 24, + "encoding": 1 + }, + { + "char": 104, + "bitmap_byte_count": 48, + "bitmap_offset": 5173, + "char_width": 14, + "x_min": 1, + "y_min": 0, + "x_max": 13, + "y_max": 20, + "encoding": 1 + }, + { + "char": 105, + "bitmap_byte_count": 21, + "bitmap_offset": 5221, + "char_width": 6, + "x_min": 1, + "y_min": 0, + "x_max": 5, + "y_max": 20, + "encoding": 1 + }, + { + "char": 106, + "bitmap_byte_count": 31, + "bitmap_offset": 5242, + "char_width": 6, + "x_min": 0, + "y_min": 0, + "x_max": 6, + "y_max": 24, + "encoding": 1 + }, + { + "char": 107, + "bitmap_byte_count": 62, + "bitmap_offset": 5273, + "char_width": 13, + "x_min": 1, + "y_min": 0, + "x_max": 13, + "y_max": 20, + "encoding": 1 + }, + { + "char": 108, + "bitmap_byte_count": 22, + "bitmap_offset": 5335, + "char_width": 6, + "x_min": 0, + "y_min": 0, + "x_max": 6, + "y_max": 24, + "encoding": 1 + }, + { + "char": 109, + "bitmap_byte_count": 67, + "bitmap_offset": 5357, + "char_width": 21, + "x_min": 1, + "y_min": 4, + "x_max": 19, + "y_max": 20, + "encoding": 1 + }, + { + "char": 110, + "bitmap_byte_count": 43, + "bitmap_offset": 5424, + "char_width": 14, + "x_min": 1, + "y_min": 4, + "x_max": 13, + "y_max": 20, + "encoding": 1 + }, + { + "char": 111, + "bitmap_byte_count": 79, + "bitmap_offset": 5467, + "char_width": 14, + "x_min": 1, + "y_min": 4, + "x_max": 14, + "y_max": 20, + "encoding": 1 + }, + { + "char": 112, + "bitmap_byte_count": 79, + "bitmap_offset": 5546, + "char_width": 15, + "x_min": 1, + "y_min": 4, + "x_max": 14, + "y_max": 24, + "encoding": 1 + }, + { + "char": 113, + "bitmap_byte_count": 79, + "bitmap_offset": 5625, + "char_width": 15, + "x_min": 1, + "y_min": 4, + "x_max": 13, + "y_max": 24, + "encoding": 1 + }, + { + "char": 114, + "bitmap_byte_count": 29, + "bitmap_offset": 5704, + "char_width": 9, + "x_min": 1, + "y_min": 4, + "x_max": 9, + "y_max": 20, + "encoding": 1 + }, + { + "char": 115, + "bitmap_byte_count": 88, + "bitmap_offset": 5733, + "char_width": 13, + "x_min": 1, + "y_min": 4, + "x_max": 12, + "y_max": 20, + "encoding": 0 + }, + { + "char": 116, + "bitmap_byte_count": 44, + "bitmap_offset": 5821, + "char_width": 9, + "x_min": 0, + "y_min": 0, + "x_max": 8, + "y_max": 20, + "encoding": 1 + }, + { + "char": 117, + "bitmap_byte_count": 40, + "bitmap_offset": 5865, + "char_width": 14, + "x_min": 1, + "y_min": 4, + "x_max": 13, + "y_max": 20, + "encoding": 1 + }, + { + "char": 118, + "bitmap_byte_count": 58, + "bitmap_offset": 5905, + "char_width": 13, + "x_min": 1, + "y_min": 4, + "x_max": 13, + "y_max": 20, + "encoding": 1 + }, + { + "char": 119, + "bitmap_byte_count": 89, + "bitmap_offset": 5963, + "char_width": 20, + "x_min": 1, + "y_min": 4, + "x_max": 19, + "y_max": 20, + "encoding": 1 + }, + { + "char": 120, + "bitmap_byte_count": 69, + "bitmap_offset": 6052, + "char_width": 13, + "x_min": 1, + "y_min": 4, + "x_max": 12, + "y_max": 20, + "encoding": 1 + }, + { + "char": 121, + "bitmap_byte_count": 74, + "bitmap_offset": 6121, + "char_width": 13, + "x_min": 1, + "y_min": 4, + "x_max": 13, + "y_max": 24, + "encoding": 1 + }, + { + "char": 122, + "bitmap_byte_count": 82, + "bitmap_offset": 6195, + "char_width": 13, + "x_min": 1, + "y_min": 4, + "x_max": 12, + "y_max": 20, + "encoding": 1 + }, + { + "char": 123, + "bitmap_byte_count": 51, + "bitmap_offset": 6277, + "char_width": 9, + "x_min": 0, + "y_min": 0, + "x_max": 8, + "y_max": 24, + "encoding": 1 + }, + { + "char": 124, + "bitmap_byte_count": 8, + "bitmap_offset": 6328, + "char_width": 8, + "x_min": 3, + "y_min": 0, + "x_max": 5, + "y_max": 24, + "encoding": 1 + }, + { + "char": 125, + "bitmap_byte_count": 53, + "bitmap_offset": 6336, + "char_width": 9, + "x_min": 0, + "y_min": 0, + "x_max": 8, + "y_max": 24, + "encoding": 1 + }, + { + "char": 126, + "bitmap_byte_count": 40, + "bitmap_offset": 6389, + "char_width": 16, + "x_min": 2, + "y_min": 8, + "x_max": 14, + "y_max": 16, + "encoding": 1 + } + ], + "nbgl_font": { + "font_id": 0, + "bpp": 4, + "char_height": 24, + "baseline_height": 19, + "line_height": 32, + "char_kerning": 0, + "first_char": 32, + "last_char": 126 + } + } +] diff --git a/lib_nbgl/fonts/nbgl_font_inter_regular_24_1bpp.json b/lib_nbgl/fonts/nbgl_font_inter_regular_24_1bpp.json new file mode 100644 index 000000000..7b44b6562 --- /dev/null +++ b/lib_nbgl/fonts/nbgl_font_inter_regular_24_1bpp.json @@ -0,0 +1,1062 @@ +[ + { + "bitmap": "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", + "nbgl_font_character": [ + { + "char": 32, + "bitmap_byte_count": 0, + "bitmap_offset": 0, + "char_width": 6, + "x_min": 0, + "y_min": 0, + "x_max": 0, + "y_max": 0, + "encoding": 0 + }, + { + "char": 33, + "bitmap_byte_count": 5, + "bitmap_offset": 0, + "char_width": 6, + "x_min": 2, + "y_min": 0, + "x_max": 4, + "y_max": 20, + "encoding": 0 + }, + { + "char": 34, + "bitmap_byte_count": 6, + "bitmap_offset": 5, + "char_width": 9, + "x_min": 2, + "y_min": 0, + "x_max": 8, + "y_max": 8, + "encoding": 0 + }, + { + "char": 35, + "bitmap_byte_count": 31, + "bitmap_offset": 11, + "char_width": 16, + "x_min": 0, + "y_min": 0, + "x_max": 15, + "y_max": 20, + "encoding": 1 + }, + { + "char": 36, + "bitmap_byte_count": 30, + "bitmap_offset": 42, + "char_width": 16, + "x_min": 2, + "y_min": 0, + "x_max": 14, + "y_max": 20, + "encoding": 0 + }, + { + "char": 37, + "bitmap_byte_count": 34, + "bitmap_offset": 72, + "char_width": 19, + "x_min": 2, + "y_min": 0, + "x_max": 17, + "y_max": 20, + "encoding": 1 + }, + { + "char": 38, + "bitmap_byte_count": 32, + "bitmap_offset": 106, + "char_width": 15, + "x_min": 1, + "y_min": 0, + "x_max": 14, + "y_max": 20, + "encoding": 1 + }, + { + "char": 39, + "bitmap_byte_count": 2, + "bitmap_offset": 138, + "char_width": 6, + "x_min": 2, + "y_min": 0, + "x_max": 4, + "y_max": 8, + "encoding": 0 + }, + { + "char": 40, + "bitmap_byte_count": 10, + "bitmap_offset": 140, + "char_width": 8, + "x_min": 2, + "y_min": 0, + "x_max": 7, + "y_max": 24, + "encoding": 1 + }, + { + "char": 41, + "bitmap_byte_count": 10, + "bitmap_offset": 150, + "char_width": 8, + "x_min": 1, + "y_min": 0, + "x_max": 6, + "y_max": 24, + "encoding": 1 + }, + { + "char": 42, + "bitmap_byte_count": 12, + "bitmap_offset": 160, + "char_width": 12, + "x_min": 2, + "y_min": 0, + "x_max": 10, + "y_max": 12, + "encoding": 0 + }, + { + "char": 43, + "bitmap_byte_count": 11, + "bitmap_offset": 172, + "char_width": 14, + "x_min": 2, + "y_min": 4, + "x_max": 12, + "y_max": 16, + "encoding": 1 + }, + { + "char": 44, + "bitmap_byte_count": 4, + "bitmap_offset": 183, + "char_width": 6, + "x_min": 2, + "y_min": 12, + "x_max": 5, + "y_max": 24, + "encoding": 1 + }, + { + "char": 45, + "bitmap_byte_count": 4, + "bitmap_offset": 187, + "char_width": 11, + "x_min": 2, + "y_min": 8, + "x_max": 9, + "y_max": 12, + "encoding": 0 + }, + { + "char": 46, + "bitmap_byte_count": 3, + "bitmap_offset": 191, + "char_width": 6, + "x_min": 2, + "y_min": 12, + "x_max": 5, + "y_max": 20, + "encoding": 0 + }, + { + "char": 47, + "bitmap_byte_count": 14, + "bitmap_offset": 194, + "char_width": 8, + "x_min": 1, + "y_min": 0, + "x_max": 8, + "y_max": 24, + "encoding": 1 + }, + { + "char": 48, + "bitmap_byte_count": 21, + "bitmap_offset": 208, + "char_width": 14, + "x_min": 1, + "y_min": 0, + "x_max": 13, + "y_max": 20, + "encoding": 1 + }, + { + "char": 49, + "bitmap_byte_count": 14, + "bitmap_offset": 229, + "char_width": 11, + "x_min": 1, + "y_min": 0, + "x_max": 8, + "y_max": 20, + "encoding": 1 + }, + { + "char": 50, + "bitmap_byte_count": 25, + "bitmap_offset": 243, + "char_width": 14, + "x_min": 2, + "y_min": 0, + "x_max": 12, + "y_max": 20, + "encoding": 0 + }, + { + "char": 51, + "bitmap_byte_count": 27, + "bitmap_offset": 268, + "char_width": 15, + "x_min": 2, + "y_min": 0, + "x_max": 13, + "y_max": 20, + "encoding": 1 + }, + { + "char": 52, + "bitmap_byte_count": 23, + "bitmap_offset": 295, + "char_width": 15, + "x_min": 1, + "y_min": 0, + "x_max": 13, + "y_max": 20, + "encoding": 1 + }, + { + "char": 53, + "bitmap_byte_count": 28, + "bitmap_offset": 318, + "char_width": 14, + "x_min": 2, + "y_min": 0, + "x_max": 13, + "y_max": 20, + "encoding": 0 + }, + { + "char": 54, + "bitmap_byte_count": 30, + "bitmap_offset": 346, + "char_width": 14, + "x_min": 1, + "y_min": 0, + "x_max": 13, + "y_max": 20, + "encoding": 0 + }, + { + "char": 55, + "bitmap_byte_count": 22, + "bitmap_offset": 376, + "char_width": 13, + "x_min": 1, + "y_min": 0, + "x_max": 12, + "y_max": 20, + "encoding": 1 + }, + { + "char": 56, + "bitmap_byte_count": 30, + "bitmap_offset": 398, + "char_width": 14, + "x_min": 1, + "y_min": 0, + "x_max": 13, + "y_max": 20, + "encoding": 0 + }, + { + "char": 57, + "bitmap_byte_count": 30, + "bitmap_offset": 428, + "char_width": 14, + "x_min": 1, + "y_min": 0, + "x_max": 13, + "y_max": 20, + "encoding": 0 + }, + { + "char": 58, + "bitmap_byte_count": 6, + "bitmap_offset": 458, + "char_width": 6, + "x_min": 2, + "y_min": 4, + "x_max": 5, + "y_max": 20, + "encoding": 0 + }, + { + "char": 59, + "bitmap_byte_count": 7, + "bitmap_offset": 464, + "char_width": 7, + "x_min": 2, + "y_min": 4, + "x_max": 5, + "y_max": 24, + "encoding": 1 + }, + { + "char": 60, + "bitmap_byte_count": 20, + "bitmap_offset": 471, + "char_width": 15, + "x_min": 2, + "y_min": 4, + "x_max": 13, + "y_max": 20, + "encoding": 1 + }, + { + "char": 61, + "bitmap_byte_count": 10, + "bitmap_offset": 491, + "char_width": 15, + "x_min": 3, + "y_min": 8, + "x_max": 13, + "y_max": 16, + "encoding": 0 + }, + { + "char": 62, + "bitmap_byte_count": 20, + "bitmap_offset": 501, + "char_width": 15, + "x_min": 2, + "y_min": 4, + "x_max": 13, + "y_max": 20, + "encoding": 1 + }, + { + "char": 63, + "bitmap_byte_count": 18, + "bitmap_offset": 521, + "char_width": 12, + "x_min": 1, + "y_min": 0, + "x_max": 10, + "y_max": 20, + "encoding": 1 + }, + { + "char": 64, + "bitmap_byte_count": 51, + "bitmap_offset": 539, + "char_width": 22, + "x_min": 1, + "y_min": 0, + "x_max": 21, + "y_max": 24, + "encoding": 1 + }, + { + "char": 65, + "bitmap_byte_count": 24, + "bitmap_offset": 590, + "char_width": 16, + "x_min": 1, + "y_min": 0, + "x_max": 15, + "y_max": 20, + "encoding": 1 + }, + { + "char": 66, + "bitmap_byte_count": 30, + "bitmap_offset": 614, + "char_width": 15, + "x_min": 2, + "y_min": 0, + "x_max": 14, + "y_max": 20, + "encoding": 0 + }, + { + "char": 67, + "bitmap_byte_count": 27, + "bitmap_offset": 644, + "char_width": 18, + "x_min": 2, + "y_min": 0, + "x_max": 16, + "y_max": 20, + "encoding": 1 + }, + { + "char": 68, + "bitmap_byte_count": 25, + "bitmap_offset": 671, + "char_width": 17, + "x_min": 2, + "y_min": 0, + "x_max": 15, + "y_max": 20, + "encoding": 1 + }, + { + "char": 69, + "bitmap_byte_count": 25, + "bitmap_offset": 696, + "char_width": 14, + "x_min": 2, + "y_min": 0, + "x_max": 12, + "y_max": 20, + "encoding": 0 + }, + { + "char": 70, + "bitmap_byte_count": 21, + "bitmap_offset": 721, + "char_width": 14, + "x_min": 2, + "y_min": 0, + "x_max": 12, + "y_max": 20, + "encoding": 1 + }, + { + "char": 71, + "bitmap_byte_count": 33, + "bitmap_offset": 742, + "char_width": 17, + "x_min": 1, + "y_min": 0, + "x_max": 16, + "y_max": 20, + "encoding": 1 + }, + { + "char": 72, + "bitmap_byte_count": 26, + "bitmap_offset": 775, + "char_width": 17, + "x_min": 2, + "y_min": 0, + "x_max": 15, + "y_max": 20, + "encoding": 1 + }, + { + "char": 73, + "bitmap_byte_count": 17, + "bitmap_offset": 801, + "char_width": 12, + "x_min": 2, + "y_min": 0, + "x_max": 10, + "y_max": 20, + "encoding": 1 + }, + { + "char": 74, + "bitmap_byte_count": 18, + "bitmap_offset": 818, + "char_width": 12, + "x_min": 1, + "y_min": 0, + "x_max": 10, + "y_max": 20, + "encoding": 1 + }, + { + "char": 75, + "bitmap_byte_count": 23, + "bitmap_offset": 836, + "char_width": 15, + "x_min": 2, + "y_min": 0, + "x_max": 14, + "y_max": 20, + "encoding": 1 + }, + { + "char": 76, + "bitmap_byte_count": 21, + "bitmap_offset": 859, + "char_width": 13, + "x_min": 2, + "y_min": 0, + "x_max": 12, + "y_max": 20, + "encoding": 1 + }, + { + "char": 77, + "bitmap_byte_count": 27, + "bitmap_offset": 880, + "char_width": 20, + "x_min": 2, + "y_min": 0, + "x_max": 18, + "y_max": 20, + "encoding": 1 + }, + { + "char": 78, + "bitmap_byte_count": 21, + "bitmap_offset": 907, + "char_width": 17, + "x_min": 2, + "y_min": 0, + "x_max": 15, + "y_max": 20, + "encoding": 1 + }, + { + "char": 79, + "bitmap_byte_count": 27, + "bitmap_offset": 928, + "char_width": 18, + "x_min": 1, + "y_min": 0, + "x_max": 16, + "y_max": 20, + "encoding": 1 + }, + { + "char": 80, + "bitmap_byte_count": 21, + "bitmap_offset": 955, + "char_width": 15, + "x_min": 2, + "y_min": 0, + "x_max": 13, + "y_max": 20, + "encoding": 1 + }, + { + "char": 81, + "bitmap_byte_count": 30, + "bitmap_offset": 976, + "char_width": 18, + "x_min": 1, + "y_min": 0, + "x_max": 16, + "y_max": 20, + "encoding": 1 + }, + { + "char": 82, + "bitmap_byte_count": 26, + "bitmap_offset": 1006, + "char_width": 15, + "x_min": 2, + "y_min": 0, + "x_max": 14, + "y_max": 20, + "encoding": 1 + }, + { + "char": 83, + "bitmap_byte_count": 28, + "bitmap_offset": 1032, + "char_width": 15, + "x_min": 2, + "y_min": 0, + "x_max": 13, + "y_max": 20, + "encoding": 0 + }, + { + "char": 84, + "bitmap_byte_count": 27, + "bitmap_offset": 1060, + "char_width": 15, + "x_min": 1, + "y_min": 0, + "x_max": 14, + "y_max": 20, + "encoding": 1 + }, + { + "char": 85, + "bitmap_byte_count": 23, + "bitmap_offset": 1087, + "char_width": 17, + "x_min": 2, + "y_min": 0, + "x_max": 15, + "y_max": 20, + "encoding": 1 + }, + { + "char": 86, + "bitmap_byte_count": 23, + "bitmap_offset": 1110, + "char_width": 16, + "x_min": 1, + "y_min": 0, + "x_max": 15, + "y_max": 20, + "encoding": 1 + }, + { + "char": 87, + "bitmap_byte_count": 31, + "bitmap_offset": 1133, + "char_width": 22, + "x_min": 1, + "y_min": 0, + "x_max": 21, + "y_max": 20, + "encoding": 1 + }, + { + "char": 88, + "bitmap_byte_count": 24, + "bitmap_offset": 1164, + "char_width": 15, + "x_min": 1, + "y_min": 0, + "x_max": 14, + "y_max": 20, + "encoding": 1 + }, + { + "char": 89, + "bitmap_byte_count": 23, + "bitmap_offset": 1188, + "char_width": 16, + "x_min": 1, + "y_min": 0, + "x_max": 15, + "y_max": 20, + "encoding": 1 + }, + { + "char": 90, + "bitmap_byte_count": 30, + "bitmap_offset": 1211, + "char_width": 14, + "x_min": 1, + "y_min": 0, + "x_max": 13, + "y_max": 20, + "encoding": 0 + }, + { + "char": 91, + "bitmap_byte_count": 14, + "bitmap_offset": 1241, + "char_width": 8, + "x_min": 3, + "y_min": 0, + "x_max": 8, + "y_max": 24, + "encoding": 1 + }, + { + "char": 92, + "bitmap_byte_count": 12, + "bitmap_offset": 1255, + "char_width": 8, + "x_min": 0, + "y_min": 0, + "x_max": 7, + "y_max": 24, + "encoding": 1 + }, + { + "char": 93, + "bitmap_byte_count": 14, + "bitmap_offset": 1267, + "char_width": 8, + "x_min": 1, + "y_min": 0, + "x_max": 6, + "y_max": 24, + "encoding": 1 + }, + { + "char": 94, + "bitmap_byte_count": 9, + "bitmap_offset": 1281, + "char_width": 11, + "x_min": 1, + "y_min": 0, + "x_max": 10, + "y_max": 8, + "encoding": 0 + }, + { + "char": 95, + "bitmap_byte_count": 5, + "bitmap_offset": 1290, + "char_width": 12, + "x_min": 0, + "y_min": 16, + "x_max": 9, + "y_max": 20, + "encoding": 0 + }, + { + "char": 96, + "bitmap_byte_count": 3, + "bitmap_offset": 1295, + "char_width": 11, + "x_min": 5, + "y_min": 0, + "x_max": 8, + "y_max": 8, + "encoding": 0 + }, + { + "char": 97, + "bitmap_byte_count": 20, + "bitmap_offset": 1298, + "char_width": 13, + "x_min": 1, + "y_min": 4, + "x_max": 11, + "y_max": 20, + "encoding": 0 + }, + { + "char": 98, + "bitmap_byte_count": 21, + "bitmap_offset": 1318, + "char_width": 14, + "x_min": 2, + "y_min": 0, + "x_max": 13, + "y_max": 20, + "encoding": 1 + }, + { + "char": 99, + "bitmap_byte_count": 21, + "bitmap_offset": 1339, + "char_width": 13, + "x_min": 1, + "y_min": 4, + "x_max": 12, + "y_max": 20, + "encoding": 1 + }, + { + "char": 100, + "bitmap_byte_count": 21, + "bitmap_offset": 1360, + "char_width": 14, + "x_min": 1, + "y_min": 0, + "x_max": 12, + "y_max": 20, + "encoding": 1 + }, + { + "char": 101, + "bitmap_byte_count": 22, + "bitmap_offset": 1381, + "char_width": 13, + "x_min": 1, + "y_min": 4, + "x_max": 12, + "y_max": 20, + "encoding": 0 + }, + { + "char": 102, + "bitmap_byte_count": 12, + "bitmap_offset": 1403, + "char_width": 8, + "x_min": 1, + "y_min": 0, + "x_max": 7, + "y_max": 20, + "encoding": 1 + }, + { + "char": 103, + "bitmap_byte_count": 28, + "bitmap_offset": 1415, + "char_width": 14, + "x_min": 1, + "y_min": 4, + "x_max": 12, + "y_max": 24, + "encoding": 0 + }, + { + "char": 104, + "bitmap_byte_count": 18, + "bitmap_offset": 1443, + "char_width": 14, + "x_min": 2, + "y_min": 0, + "x_max": 12, + "y_max": 20, + "encoding": 1 + }, + { + "char": 105, + "bitmap_byte_count": 5, + "bitmap_offset": 1461, + "char_width": 6, + "x_min": 2, + "y_min": 0, + "x_max": 4, + "y_max": 20, + "encoding": 0 + }, + { + "char": 106, + "bitmap_byte_count": 10, + "bitmap_offset": 1466, + "char_width": 6, + "x_min": 0, + "y_min": 0, + "x_max": 4, + "y_max": 24, + "encoding": 1 + }, + { + "char": 107, + "bitmap_byte_count": 20, + "bitmap_offset": 1476, + "char_width": 13, + "x_min": 2, + "y_min": 0, + "x_max": 12, + "y_max": 20, + "encoding": 1 + }, + { + "char": 108, + "bitmap_byte_count": 9, + "bitmap_offset": 1496, + "char_width": 7, + "x_min": 2, + "y_min": 0, + "x_max": 6, + "y_max": 20, + "encoding": 1 + }, + { + "char": 109, + "bitmap_byte_count": 21, + "bitmap_offset": 1505, + "char_width": 22, + "x_min": 2, + "y_min": 4, + "x_max": 20, + "y_max": 20, + "encoding": 1 + }, + { + "char": 110, + "bitmap_byte_count": 12, + "bitmap_offset": 1526, + "char_width": 13, + "x_min": 2, + "y_min": 4, + "x_max": 12, + "y_max": 20, + "encoding": 1 + }, + { + "char": 111, + "bitmap_byte_count": 21, + "bitmap_offset": 1538, + "char_width": 14, + "x_min": 1, + "y_min": 4, + "x_max": 13, + "y_max": 20, + "encoding": 1 + }, + { + "char": 112, + "bitmap_byte_count": 21, + "bitmap_offset": 1559, + "char_width": 14, + "x_min": 2, + "y_min": 4, + "x_max": 13, + "y_max": 24, + "encoding": 1 + }, + { + "char": 113, + "bitmap_byte_count": 21, + "bitmap_offset": 1580, + "char_width": 14, + "x_min": 1, + "y_min": 4, + "x_max": 12, + "y_max": 24, + "encoding": 1 + }, + { + "char": 114, + "bitmap_byte_count": 9, + "bitmap_offset": 1601, + "char_width": 10, + "x_min": 2, + "y_min": 4, + "x_max": 9, + "y_max": 20, + "encoding": 1 + }, + { + "char": 115, + "bitmap_byte_count": 20, + "bitmap_offset": 1610, + "char_width": 12, + "x_min": 1, + "y_min": 4, + "x_max": 11, + "y_max": 20, + "encoding": 0 + }, + { + "char": 116, + "bitmap_byte_count": 11, + "bitmap_offset": 1630, + "char_width": 8, + "x_min": 1, + "y_min": 0, + "x_max": 7, + "y_max": 20, + "encoding": 1 + }, + { + "char": 117, + "bitmap_byte_count": 12, + "bitmap_offset": 1641, + "char_width": 13, + "x_min": 2, + "y_min": 4, + "x_max": 12, + "y_max": 20, + "encoding": 1 + }, + { + "char": 118, + "bitmap_byte_count": 12, + "bitmap_offset": 1653, + "char_width": 13, + "x_min": 1, + "y_min": 4, + "x_max": 12, + "y_max": 20, + "encoding": 1 + }, + { + "char": 119, + "bitmap_byte_count": 18, + "bitmap_offset": 1665, + "char_width": 19, + "x_min": 1, + "y_min": 4, + "x_max": 18, + "y_max": 20, + "encoding": 1 + }, + { + "char": 120, + "bitmap_byte_count": 19, + "bitmap_offset": 1683, + "char_width": 12, + "x_min": 1, + "y_min": 4, + "x_max": 11, + "y_max": 20, + "encoding": 1 + }, + { + "char": 121, + "bitmap_byte_count": 21, + "bitmap_offset": 1702, + "char_width": 13, + "x_min": 1, + "y_min": 4, + "x_max": 12, + "y_max": 24, + "encoding": 1 + }, + { + "char": 122, + "bitmap_byte_count": 20, + "bitmap_offset": 1723, + "char_width": 12, + "x_min": 1, + "y_min": 4, + "x_max": 11, + "y_max": 20, + "encoding": 0 + }, + { + "char": 123, + "bitmap_byte_count": 14, + "bitmap_offset": 1743, + "char_width": 7, + "x_min": 1, + "y_min": 0, + "x_max": 7, + "y_max": 24, + "encoding": 1 + }, + { + "char": 124, + "bitmap_byte_count": 5, + "bitmap_offset": 1757, + "char_width": 8, + "x_min": 3, + "y_min": 0, + "x_max": 5, + "y_max": 24, + "encoding": 1 + }, + { + "char": 125, + "bitmap_byte_count": 14, + "bitmap_offset": 1762, + "char_width": 8, + "x_min": 1, + "y_min": 0, + "x_max": 7, + "y_max": 24, + "encoding": 1 + }, + { + "char": 126, + "bitmap_byte_count": 11, + "bitmap_offset": 1776, + "char_width": 15, + "x_min": 2, + "y_min": 8, + "x_max": 13, + "y_max": 16, + "encoding": 0 + } + ], + "nbgl_font": { + "font_id": 4, + "bpp": 1, + "char_height": 24, + "baseline_height": 19, + "line_height": 32, + "char_kerning": 0, + "first_char": 32, + "last_char": 126 + } + } +] diff --git a/lib_nbgl/fonts/nbgl_font_inter_semibold_24.json b/lib_nbgl/fonts/nbgl_font_inter_semibold_24.json new file mode 100644 index 000000000..7cf559b5b --- /dev/null +++ b/lib_nbgl/fonts/nbgl_font_inter_semibold_24.json @@ -0,0 +1,1062 @@ +[ + { + "bitmap": "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", + "nbgl_font_character": [ + { + "char": 32, + "bitmap_byte_count": 0, + "bitmap_offset": 0, + "char_width": 6, + "x_min": 0, + "y_min": 0, + "x_max": 0, + "y_max": 0, + "encoding": 0 + }, + { + "char": 33, + "bitmap_byte_count": 37, + "bitmap_offset": 0, + "char_width": 7, + "x_min": 1, + "y_min": 0, + "x_max": 6, + "y_max": 20, + "encoding": 1 + }, + { + "char": 34, + "bitmap_byte_count": 19, + "bitmap_offset": 37, + "char_width": 10, + "x_min": 1, + "y_min": 0, + "x_max": 9, + "y_max": 8, + "encoding": 1 + }, + { + "char": 35, + "bitmap_byte_count": 110, + "bitmap_offset": 56, + "char_width": 15, + "x_min": 0, + "y_min": 0, + "x_max": 15, + "y_max": 20, + "encoding": 1 + }, + { + "char": 36, + "bitmap_byte_count": 141, + "bitmap_offset": 166, + "char_width": 16, + "x_min": 1, + "y_min": 0, + "x_max": 15, + "y_max": 24, + "encoding": 1 + }, + { + "char": 37, + "bitmap_byte_count": 136, + "bitmap_offset": 307, + "char_width": 20, + "x_min": 2, + "y_min": 0, + "x_max": 19, + "y_max": 20, + "encoding": 1 + }, + { + "char": 38, + "bitmap_byte_count": 120, + "bitmap_offset": 443, + "char_width": 16, + "x_min": 1, + "y_min": 0, + "x_max": 16, + "y_max": 20, + "encoding": 1 + }, + { + "char": 39, + "bitmap_byte_count": 10, + "bitmap_offset": 563, + "char_width": 5, + "x_min": 1, + "y_min": 0, + "x_max": 4, + "y_max": 8, + "encoding": 1 + }, + { + "char": 40, + "bitmap_byte_count": 50, + "bitmap_offset": 573, + "char_width": 9, + "x_min": 2, + "y_min": 0, + "x_max": 9, + "y_max": 24, + "encoding": 1 + }, + { + "char": 41, + "bitmap_byte_count": 45, + "bitmap_offset": 623, + "char_width": 9, + "x_min": 1, + "y_min": 0, + "x_max": 8, + "y_max": 24, + "encoding": 1 + }, + { + "char": 42, + "bitmap_byte_count": 52, + "bitmap_offset": 668, + "char_width": 13, + "x_min": 1, + "y_min": 0, + "x_max": 12, + "y_max": 12, + "encoding": 1 + }, + { + "char": 43, + "bitmap_byte_count": 55, + "bitmap_offset": 720, + "char_width": 16, + "x_min": 2, + "y_min": 4, + "x_max": 14, + "y_max": 20, + "encoding": 1 + }, + { + "char": 44, + "bitmap_byte_count": 17, + "bitmap_offset": 775, + "char_width": 7, + "x_min": 1, + "y_min": 16, + "x_max": 6, + "y_max": 24, + "encoding": 1 + }, + { + "char": 45, + "bitmap_byte_count": 28, + "bitmap_offset": 792, + "char_width": 11, + "x_min": 1, + "y_min": 8, + "x_max": 10, + "y_max": 16, + "encoding": 1 + }, + { + "char": 46, + "bitmap_byte_count": 19, + "bitmap_offset": 820, + "char_width": 7, + "x_min": 1, + "y_min": 12, + "x_max": 6, + "y_max": 20, + "encoding": 1 + }, + { + "char": 47, + "bitmap_byte_count": 44, + "bitmap_offset": 839, + "char_width": 9, + "x_min": 0, + "y_min": 0, + "x_max": 9, + "y_max": 24, + "encoding": 1 + }, + { + "char": 48, + "bitmap_byte_count": 103, + "bitmap_offset": 883, + "char_width": 16, + "x_min": 1, + "y_min": 0, + "x_max": 15, + "y_max": 20, + "encoding": 1 + }, + { + "char": 49, + "bitmap_byte_count": 37, + "bitmap_offset": 986, + "char_width": 12, + "x_min": 1, + "y_min": 0, + "x_max": 9, + "y_max": 20, + "encoding": 1 + }, + { + "char": 50, + "bitmap_byte_count": 107, + "bitmap_offset": 1023, + "char_width": 15, + "x_min": 1, + "y_min": 0, + "x_max": 14, + "y_max": 20, + "encoding": 1 + }, + { + "char": 51, + "bitmap_byte_count": 117, + "bitmap_offset": 1130, + "char_width": 16, + "x_min": 1, + "y_min": 0, + "x_max": 15, + "y_max": 20, + "encoding": 1 + }, + { + "char": 52, + "bitmap_byte_count": 82, + "bitmap_offset": 1247, + "char_width": 16, + "x_min": 1, + "y_min": 0, + "x_max": 15, + "y_max": 20, + "encoding": 1 + }, + { + "char": 53, + "bitmap_byte_count": 116, + "bitmap_offset": 1329, + "char_width": 15, + "x_min": 1, + "y_min": 0, + "x_max": 14, + "y_max": 20, + "encoding": 1 + }, + { + "char": 54, + "bitmap_byte_count": 121, + "bitmap_offset": 1445, + "char_width": 16, + "x_min": 1, + "y_min": 0, + "x_max": 15, + "y_max": 20, + "encoding": 1 + }, + { + "char": 55, + "bitmap_byte_count": 82, + "bitmap_offset": 1566, + "char_width": 14, + "x_min": 1, + "y_min": 0, + "x_max": 13, + "y_max": 20, + "encoding": 1 + }, + { + "char": 56, + "bitmap_byte_count": 122, + "bitmap_offset": 1648, + "char_width": 16, + "x_min": 1, + "y_min": 0, + "x_max": 15, + "y_max": 20, + "encoding": 1 + }, + { + "char": 57, + "bitmap_byte_count": 118, + "bitmap_offset": 1770, + "char_width": 16, + "x_min": 1, + "y_min": 0, + "x_max": 15, + "y_max": 20, + "encoding": 1 + }, + { + "char": 58, + "bitmap_byte_count": 35, + "bitmap_offset": 1888, + "char_width": 7, + "x_min": 1, + "y_min": 4, + "x_max": 6, + "y_max": 20, + "encoding": 1 + }, + { + "char": 59, + "bitmap_byte_count": 34, + "bitmap_offset": 1923, + "char_width": 7, + "x_min": 1, + "y_min": 4, + "x_max": 6, + "y_max": 24, + "encoding": 1 + }, + { + "char": 60, + "bitmap_byte_count": 75, + "bitmap_offset": 1957, + "char_width": 16, + "x_min": 2, + "y_min": 4, + "x_max": 14, + "y_max": 20, + "encoding": 1 + }, + { + "char": 61, + "bitmap_byte_count": 72, + "bitmap_offset": 2032, + "char_width": 16, + "x_min": 2, + "y_min": 8, + "x_max": 14, + "y_max": 20, + "encoding": 0 + }, + { + "char": 62, + "bitmap_byte_count": 77, + "bitmap_offset": 2104, + "char_width": 16, + "x_min": 2, + "y_min": 4, + "x_max": 14, + "y_max": 20, + "encoding": 1 + }, + { + "char": 63, + "bitmap_byte_count": 73, + "bitmap_offset": 2181, + "char_width": 13, + "x_min": 1, + "y_min": 0, + "x_max": 12, + "y_max": 20, + "encoding": 1 + }, + { + "char": 64, + "bitmap_byte_count": 226, + "bitmap_offset": 2254, + "char_width": 24, + "x_min": 1, + "y_min": 0, + "x_max": 23, + "y_max": 24, + "encoding": 1 + }, + { + "char": 65, + "bitmap_byte_count": 93, + "bitmap_offset": 2480, + "char_width": 17, + "x_min": 0, + "y_min": 0, + "x_max": 17, + "y_max": 20, + "encoding": 1 + }, + { + "char": 66, + "bitmap_byte_count": 118, + "bitmap_offset": 2573, + "char_width": 16, + "x_min": 1, + "y_min": 0, + "x_max": 15, + "y_max": 20, + "encoding": 1 + }, + { + "char": 67, + "bitmap_byte_count": 118, + "bitmap_offset": 2691, + "char_width": 18, + "x_min": 1, + "y_min": 0, + "x_max": 17, + "y_max": 20, + "encoding": 1 + }, + { + "char": 68, + "bitmap_byte_count": 98, + "bitmap_offset": 2809, + "char_width": 17, + "x_min": 1, + "y_min": 0, + "x_max": 17, + "y_max": 20, + "encoding": 1 + }, + { + "char": 69, + "bitmap_byte_count": 105, + "bitmap_offset": 2907, + "char_width": 15, + "x_min": 1, + "y_min": 0, + "x_max": 14, + "y_max": 20, + "encoding": 1 + }, + { + "char": 70, + "bitmap_byte_count": 77, + "bitmap_offset": 3012, + "char_width": 14, + "x_min": 1, + "y_min": 0, + "x_max": 13, + "y_max": 20, + "encoding": 1 + }, + { + "char": 71, + "bitmap_byte_count": 133, + "bitmap_offset": 3089, + "char_width": 18, + "x_min": 1, + "y_min": 0, + "x_max": 17, + "y_max": 20, + "encoding": 1 + }, + { + "char": 72, + "bitmap_byte_count": 64, + "bitmap_offset": 3222, + "char_width": 18, + "x_min": 1, + "y_min": 0, + "x_max": 17, + "y_max": 20, + "encoding": 1 + }, + { + "char": 73, + "bitmap_byte_count": 65, + "bitmap_offset": 3286, + "char_width": 11, + "x_min": 0, + "y_min": 0, + "x_max": 11, + "y_max": 20, + "encoding": 1 + }, + { + "char": 74, + "bitmap_byte_count": 54, + "bitmap_offset": 3351, + "char_width": 13, + "x_min": 0, + "y_min": 0, + "x_max": 12, + "y_max": 20, + "encoding": 1 + }, + { + "char": 75, + "bitmap_byte_count": 90, + "bitmap_offset": 3405, + "char_width": 16, + "x_min": 1, + "y_min": 0, + "x_max": 16, + "y_max": 20, + "encoding": 1 + }, + { + "char": 76, + "bitmap_byte_count": 45, + "bitmap_offset": 3495, + "char_width": 14, + "x_min": 1, + "y_min": 0, + "x_max": 13, + "y_max": 20, + "encoding": 1 + }, + { + "char": 77, + "bitmap_byte_count": 101, + "bitmap_offset": 3540, + "char_width": 22, + "x_min": 1, + "y_min": 0, + "x_max": 20, + "y_max": 20, + "encoding": 1 + }, + { + "char": 78, + "bitmap_byte_count": 75, + "bitmap_offset": 3641, + "char_width": 18, + "x_min": 1, + "y_min": 0, + "x_max": 17, + "y_max": 20, + "encoding": 1 + }, + { + "char": 79, + "bitmap_byte_count": 118, + "bitmap_offset": 3716, + "char_width": 19, + "x_min": 1, + "y_min": 0, + "x_max": 18, + "y_max": 20, + "encoding": 1 + }, + { + "char": 80, + "bitmap_byte_count": 85, + "bitmap_offset": 3834, + "char_width": 15, + "x_min": 1, + "y_min": 0, + "x_max": 15, + "y_max": 20, + "encoding": 1 + }, + { + "char": 81, + "bitmap_byte_count": 135, + "bitmap_offset": 3919, + "char_width": 19, + "x_min": 1, + "y_min": 0, + "x_max": 18, + "y_max": 24, + "encoding": 1 + }, + { + "char": 82, + "bitmap_byte_count": 102, + "bitmap_offset": 4054, + "char_width": 16, + "x_min": 1, + "y_min": 0, + "x_max": 15, + "y_max": 20, + "encoding": 1 + }, + { + "char": 83, + "bitmap_byte_count": 134, + "bitmap_offset": 4156, + "char_width": 16, + "x_min": 1, + "y_min": 0, + "x_max": 15, + "y_max": 20, + "encoding": 1 + }, + { + "char": 84, + "bitmap_byte_count": 63, + "bitmap_offset": 4290, + "char_width": 16, + "x_min": 1, + "y_min": 0, + "x_max": 15, + "y_max": 20, + "encoding": 1 + }, + { + "char": 85, + "bitmap_byte_count": 74, + "bitmap_offset": 4353, + "char_width": 18, + "x_min": 1, + "y_min": 0, + "x_max": 16, + "y_max": 20, + "encoding": 1 + }, + { + "char": 86, + "bitmap_byte_count": 81, + "bitmap_offset": 4427, + "char_width": 17, + "x_min": 0, + "y_min": 0, + "x_max": 17, + "y_max": 20, + "encoding": 1 + }, + { + "char": 87, + "bitmap_byte_count": 127, + "bitmap_offset": 4508, + "char_width": 24, + "x_min": 0, + "y_min": 0, + "x_max": 24, + "y_max": 20, + "encoding": 1 + }, + { + "char": 88, + "bitmap_byte_count": 107, + "bitmap_offset": 4635, + "char_width": 17, + "x_min": 0, + "y_min": 0, + "x_max": 16, + "y_max": 20, + "encoding": 1 + }, + { + "char": 89, + "bitmap_byte_count": 75, + "bitmap_offset": 4742, + "char_width": 17, + "x_min": 0, + "y_min": 0, + "x_max": 17, + "y_max": 20, + "encoding": 1 + }, + { + "char": 90, + "bitmap_byte_count": 120, + "bitmap_offset": 4817, + "char_width": 16, + "x_min": 1, + "y_min": 0, + "x_max": 15, + "y_max": 20, + "encoding": 1 + }, + { + "char": 91, + "bitmap_byte_count": 41, + "bitmap_offset": 4937, + "char_width": 9, + "x_min": 2, + "y_min": 0, + "x_max": 9, + "y_max": 24, + "encoding": 1 + }, + { + "char": 92, + "bitmap_byte_count": 45, + "bitmap_offset": 4978, + "char_width": 9, + "x_min": 0, + "y_min": 0, + "x_max": 9, + "y_max": 24, + "encoding": 1 + }, + { + "char": 93, + "bitmap_byte_count": 41, + "bitmap_offset": 5023, + "char_width": 9, + "x_min": 0, + "y_min": 0, + "x_max": 7, + "y_max": 24, + "encoding": 1 + }, + { + "char": 94, + "bitmap_byte_count": 46, + "bitmap_offset": 5064, + "char_width": 12, + "x_min": 1, + "y_min": 0, + "x_max": 11, + "y_max": 12, + "encoding": 1 + }, + { + "char": 95, + "bitmap_byte_count": 33, + "bitmap_offset": 5110, + "char_width": 11, + "x_min": 0, + "y_min": 16, + "x_max": 11, + "y_max": 24, + "encoding": 1 + }, + { + "char": 96, + "bitmap_byte_count": 17, + "bitmap_offset": 5143, + "char_width": 12, + "x_min": 3, + "y_min": 0, + "x_max": 9, + "y_max": 8, + "encoding": 1 + }, + { + "char": 97, + "bitmap_byte_count": 93, + "bitmap_offset": 5160, + "char_width": 14, + "x_min": 1, + "y_min": 4, + "x_max": 13, + "y_max": 20, + "encoding": 1 + }, + { + "char": 98, + "bitmap_byte_count": 84, + "bitmap_offset": 5253, + "char_width": 15, + "x_min": 1, + "y_min": 0, + "x_max": 15, + "y_max": 20, + "encoding": 1 + }, + { + "char": 99, + "bitmap_byte_count": 87, + "bitmap_offset": 5337, + "char_width": 14, + "x_min": 1, + "y_min": 4, + "x_max": 13, + "y_max": 20, + "encoding": 1 + }, + { + "char": 100, + "bitmap_byte_count": 87, + "bitmap_offset": 5424, + "char_width": 15, + "x_min": 1, + "y_min": 0, + "x_max": 14, + "y_max": 20, + "encoding": 1 + }, + { + "char": 101, + "bitmap_byte_count": 103, + "bitmap_offset": 5511, + "char_width": 14, + "x_min": 1, + "y_min": 4, + "x_max": 14, + "y_max": 20, + "encoding": 1 + }, + { + "char": 102, + "bitmap_byte_count": 52, + "bitmap_offset": 5614, + "char_width": 9, + "x_min": 0, + "y_min": 0, + "x_max": 9, + "y_max": 20, + "encoding": 1 + }, + { + "char": 103, + "bitmap_byte_count": 112, + "bitmap_offset": 5666, + "char_width": 15, + "x_min": 1, + "y_min": 4, + "x_max": 14, + "y_max": 24, + "encoding": 1 + }, + { + "char": 104, + "bitmap_byte_count": 58, + "bitmap_offset": 5778, + "char_width": 15, + "x_min": 1, + "y_min": 0, + "x_max": 14, + "y_max": 20, + "encoding": 1 + }, + { + "char": 105, + "bitmap_byte_count": 26, + "bitmap_offset": 5836, + "char_width": 6, + "x_min": 1, + "y_min": 0, + "x_max": 5, + "y_max": 20, + "encoding": 1 + }, + { + "char": 106, + "bitmap_byte_count": 37, + "bitmap_offset": 5862, + "char_width": 6, + "x_min": 0, + "y_min": 0, + "x_max": 6, + "y_max": 24, + "encoding": 1 + }, + { + "char": 107, + "bitmap_byte_count": 72, + "bitmap_offset": 5899, + "char_width": 14, + "x_min": 1, + "y_min": 0, + "x_max": 14, + "y_max": 20, + "encoding": 1 + }, + { + "char": 108, + "bitmap_byte_count": 30, + "bitmap_offset": 5971, + "char_width": 7, + "x_min": 1, + "y_min": 0, + "x_max": 7, + "y_max": 20, + "encoding": 1 + }, + { + "char": 109, + "bitmap_byte_count": 75, + "bitmap_offset": 6001, + "char_width": 22, + "x_min": 1, + "y_min": 4, + "x_max": 20, + "y_max": 20, + "encoding": 1 + }, + { + "char": 110, + "bitmap_byte_count": 48, + "bitmap_offset": 6076, + "char_width": 15, + "x_min": 1, + "y_min": 4, + "x_max": 14, + "y_max": 20, + "encoding": 1 + }, + { + "char": 111, + "bitmap_byte_count": 85, + "bitmap_offset": 6124, + "char_width": 15, + "x_min": 1, + "y_min": 4, + "x_max": 14, + "y_max": 20, + "encoding": 1 + }, + { + "char": 112, + "bitmap_byte_count": 85, + "bitmap_offset": 6209, + "char_width": 15, + "x_min": 1, + "y_min": 4, + "x_max": 14, + "y_max": 24, + "encoding": 1 + }, + { + "char": 113, + "bitmap_byte_count": 86, + "bitmap_offset": 6294, + "char_width": 15, + "x_min": 1, + "y_min": 4, + "x_max": 14, + "y_max": 24, + "encoding": 1 + }, + { + "char": 114, + "bitmap_byte_count": 31, + "bitmap_offset": 6380, + "char_width": 10, + "x_min": 1, + "y_min": 4, + "x_max": 9, + "y_max": 20, + "encoding": 1 + }, + { + "char": 115, + "bitmap_byte_count": 95, + "bitmap_offset": 6411, + "char_width": 13, + "x_min": 1, + "y_min": 4, + "x_max": 13, + "y_max": 20, + "encoding": 1 + }, + { + "char": 116, + "bitmap_byte_count": 50, + "bitmap_offset": 6506, + "char_width": 9, + "x_min": 0, + "y_min": 0, + "x_max": 9, + "y_max": 20, + "encoding": 1 + }, + { + "char": 117, + "bitmap_byte_count": 45, + "bitmap_offset": 6556, + "char_width": 15, + "x_min": 1, + "y_min": 4, + "x_max": 13, + "y_max": 20, + "encoding": 1 + }, + { + "char": 118, + "bitmap_byte_count": 55, + "bitmap_offset": 6601, + "char_width": 14, + "x_min": 0, + "y_min": 4, + "x_max": 14, + "y_max": 20, + "encoding": 1 + }, + { + "char": 119, + "bitmap_byte_count": 90, + "bitmap_offset": 6656, + "char_width": 20, + "x_min": 0, + "y_min": 4, + "x_max": 20, + "y_max": 20, + "encoding": 1 + }, + { + "char": 120, + "bitmap_byte_count": 72, + "bitmap_offset": 6746, + "char_width": 14, + "x_min": 1, + "y_min": 4, + "x_max": 13, + "y_max": 20, + "encoding": 1 + }, + { + "char": 121, + "bitmap_byte_count": 74, + "bitmap_offset": 6818, + "char_width": 14, + "x_min": 0, + "y_min": 4, + "x_max": 14, + "y_max": 24, + "encoding": 1 + }, + { + "char": 122, + "bitmap_byte_count": 78, + "bitmap_offset": 6892, + "char_width": 13, + "x_min": 1, + "y_min": 4, + "x_max": 13, + "y_max": 20, + "encoding": 1 + }, + { + "char": 123, + "bitmap_byte_count": 65, + "bitmap_offset": 6970, + "char_width": 9, + "x_min": 0, + "y_min": 0, + "x_max": 9, + "y_max": 24, + "encoding": 1 + }, + { + "char": 124, + "bitmap_byte_count": 16, + "bitmap_offset": 7035, + "char_width": 9, + "x_min": 2, + "y_min": 0, + "x_max": 6, + "y_max": 24, + "encoding": 1 + }, + { + "char": 125, + "bitmap_byte_count": 63, + "bitmap_offset": 7051, + "char_width": 9, + "x_min": 0, + "y_min": 0, + "x_max": 9, + "y_max": 24, + "encoding": 1 + }, + { + "char": 126, + "bitmap_byte_count": 51, + "bitmap_offset": 7114, + "char_width": 16, + "x_min": 1, + "y_min": 8, + "x_max": 15, + "y_max": 16, + "encoding": 1 + } + ], + "nbgl_font": { + "font_id": 1, + "bpp": 4, + "char_height": 24, + "baseline_height": 19, + "line_height": 32, + "char_kerning": 0, + "first_char": 32, + "last_char": 126 + } + } +] diff --git a/lib_nbgl/fonts/nbgl_font_inter_semibold_24_1bpp.json b/lib_nbgl/fonts/nbgl_font_inter_semibold_24_1bpp.json new file mode 100644 index 000000000..936b85c06 --- /dev/null +++ b/lib_nbgl/fonts/nbgl_font_inter_semibold_24_1bpp.json @@ -0,0 +1,1062 @@ +[ + { + "bitmap": "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", + "nbgl_font_character": [ + { + "char": 32, + "bitmap_byte_count": 10, + "bitmap_offset": 0, + "char_width": 6, + "x_min": 0, + "y_min": 0, + "x_max": 6, + "y_max": 24, + "encoding": 1 + }, + { + "char": 33, + "bitmap_byte_count": 13, + "bitmap_offset": 10, + "char_width": 7, + "x_min": 0, + "y_min": 0, + "x_max": 7, + "y_max": 24, + "encoding": 1 + }, + { + "char": 34, + "bitmap_byte_count": 16, + "bitmap_offset": 23, + "char_width": 9, + "x_min": 0, + "y_min": 0, + "x_max": 9, + "y_max": 24, + "encoding": 1 + }, + { + "char": 35, + "bitmap_byte_count": 34, + "bitmap_offset": 39, + "char_width": 16, + "x_min": 0, + "y_min": 0, + "x_max": 16, + "y_max": 24, + "encoding": 1 + }, + { + "char": 36, + "bitmap_byte_count": 38, + "bitmap_offset": 73, + "char_width": 16, + "x_min": 0, + "y_min": 0, + "x_max": 16, + "y_max": 24, + "encoding": 1 + }, + { + "char": 37, + "bitmap_byte_count": 43, + "bitmap_offset": 111, + "char_width": 19, + "x_min": 0, + "y_min": 0, + "x_max": 19, + "y_max": 24, + "encoding": 1 + }, + { + "char": 38, + "bitmap_byte_count": 37, + "bitmap_offset": 154, + "char_width": 16, + "x_min": 0, + "y_min": 0, + "x_max": 16, + "y_max": 24, + "encoding": 1 + }, + { + "char": 39, + "bitmap_byte_count": 9, + "bitmap_offset": 191, + "char_width": 5, + "x_min": 0, + "y_min": 0, + "x_max": 5, + "y_max": 24, + "encoding": 1 + }, + { + "char": 40, + "bitmap_byte_count": 16, + "bitmap_offset": 200, + "char_width": 9, + "x_min": 0, + "y_min": 0, + "x_max": 9, + "y_max": 24, + "encoding": 1 + }, + { + "char": 41, + "bitmap_byte_count": 16, + "bitmap_offset": 216, + "char_width": 9, + "x_min": 0, + "y_min": 0, + "x_max": 9, + "y_max": 24, + "encoding": 1 + }, + { + "char": 42, + "bitmap_byte_count": 24, + "bitmap_offset": 232, + "char_width": 12, + "x_min": 0, + "y_min": 0, + "x_max": 12, + "y_max": 24, + "encoding": 1 + }, + { + "char": 43, + "bitmap_byte_count": 26, + "bitmap_offset": 256, + "char_width": 15, + "x_min": 0, + "y_min": 0, + "x_max": 15, + "y_max": 24, + "encoding": 1 + }, + { + "char": 44, + "bitmap_byte_count": 15, + "bitmap_offset": 282, + "char_width": 8, + "x_min": 0, + "y_min": 0, + "x_max": 8, + "y_max": 24, + "encoding": 1 + }, + { + "char": 45, + "bitmap_byte_count": 21, + "bitmap_offset": 297, + "char_width": 11, + "x_min": 0, + "y_min": 0, + "x_max": 11, + "y_max": 24, + "encoding": 1 + }, + { + "char": 46, + "bitmap_byte_count": 13, + "bitmap_offset": 318, + "char_width": 7, + "x_min": 0, + "y_min": 0, + "x_max": 7, + "y_max": 24, + "encoding": 1 + }, + { + "char": 47, + "bitmap_byte_count": 17, + "bitmap_offset": 331, + "char_width": 9, + "x_min": 0, + "y_min": 0, + "x_max": 9, + "y_max": 24, + "encoding": 1 + }, + { + "char": 48, + "bitmap_byte_count": 24, + "bitmap_offset": 348, + "char_width": 15, + "x_min": 0, + "y_min": 0, + "x_max": 15, + "y_max": 24, + "encoding": 1 + }, + { + "char": 49, + "bitmap_byte_count": 20, + "bitmap_offset": 372, + "char_width": 11, + "x_min": 0, + "y_min": 0, + "x_max": 11, + "y_max": 24, + "encoding": 1 + }, + { + "char": 50, + "bitmap_byte_count": 31, + "bitmap_offset": 392, + "char_width": 14, + "x_min": 0, + "y_min": 0, + "x_max": 14, + "y_max": 24, + "encoding": 1 + }, + { + "char": 51, + "bitmap_byte_count": 33, + "bitmap_offset": 423, + "char_width": 15, + "x_min": 0, + "y_min": 0, + "x_max": 15, + "y_max": 24, + "encoding": 1 + }, + { + "char": 52, + "bitmap_byte_count": 30, + "bitmap_offset": 456, + "char_width": 15, + "x_min": 0, + "y_min": 0, + "x_max": 15, + "y_max": 24, + "encoding": 1 + }, + { + "char": 53, + "bitmap_byte_count": 36, + "bitmap_offset": 486, + "char_width": 15, + "x_min": 0, + "y_min": 0, + "x_max": 15, + "y_max": 24, + "encoding": 1 + }, + { + "char": 54, + "bitmap_byte_count": 34, + "bitmap_offset": 522, + "char_width": 15, + "x_min": 0, + "y_min": 0, + "x_max": 15, + "y_max": 24, + "encoding": 1 + }, + { + "char": 55, + "bitmap_byte_count": 26, + "bitmap_offset": 556, + "char_width": 14, + "x_min": 0, + "y_min": 0, + "x_max": 14, + "y_max": 24, + "encoding": 1 + }, + { + "char": 56, + "bitmap_byte_count": 35, + "bitmap_offset": 582, + "char_width": 15, + "x_min": 0, + "y_min": 0, + "x_max": 15, + "y_max": 24, + "encoding": 1 + }, + { + "char": 57, + "bitmap_byte_count": 34, + "bitmap_offset": 617, + "char_width": 15, + "x_min": 0, + "y_min": 0, + "x_max": 15, + "y_max": 24, + "encoding": 1 + }, + { + "char": 58, + "bitmap_byte_count": 13, + "bitmap_offset": 651, + "char_width": 7, + "x_min": 0, + "y_min": 0, + "x_max": 7, + "y_max": 24, + "encoding": 1 + }, + { + "char": 59, + "bitmap_byte_count": 13, + "bitmap_offset": 664, + "char_width": 7, + "x_min": 0, + "y_min": 0, + "x_max": 7, + "y_max": 24, + "encoding": 1 + }, + { + "char": 60, + "bitmap_byte_count": 31, + "bitmap_offset": 677, + "char_width": 15, + "x_min": 0, + "y_min": 0, + "x_max": 15, + "y_max": 24, + "encoding": 1 + }, + { + "char": 61, + "bitmap_byte_count": 39, + "bitmap_offset": 708, + "char_width": 15, + "x_min": 0, + "y_min": 0, + "x_max": 15, + "y_max": 24, + "encoding": 1 + }, + { + "char": 62, + "bitmap_byte_count": 31, + "bitmap_offset": 747, + "char_width": 15, + "x_min": 0, + "y_min": 0, + "x_max": 15, + "y_max": 24, + "encoding": 1 + }, + { + "char": 63, + "bitmap_byte_count": 27, + "bitmap_offset": 778, + "char_width": 13, + "x_min": 0, + "y_min": 0, + "x_max": 13, + "y_max": 24, + "encoding": 1 + }, + { + "char": 64, + "bitmap_byte_count": 60, + "bitmap_offset": 805, + "char_width": 24, + "x_min": 0, + "y_min": 0, + "x_max": 24, + "y_max": 24, + "encoding": 1 + }, + { + "char": 65, + "bitmap_byte_count": 30, + "bitmap_offset": 865, + "char_width": 17, + "x_min": 0, + "y_min": 0, + "x_max": 17, + "y_max": 24, + "encoding": 1 + }, + { + "char": 66, + "bitmap_byte_count": 34, + "bitmap_offset": 895, + "char_width": 15, + "x_min": 0, + "y_min": 0, + "x_max": 15, + "y_max": 24, + "encoding": 1 + }, + { + "char": 67, + "bitmap_byte_count": 31, + "bitmap_offset": 929, + "char_width": 17, + "x_min": 0, + "y_min": 0, + "x_max": 17, + "y_max": 24, + "encoding": 1 + }, + { + "char": 68, + "bitmap_byte_count": 30, + "bitmap_offset": 960, + "char_width": 17, + "x_min": 0, + "y_min": 0, + "x_max": 17, + "y_max": 24, + "encoding": 1 + }, + { + "char": 69, + "bitmap_byte_count": 34, + "bitmap_offset": 990, + "char_width": 14, + "x_min": 0, + "y_min": 0, + "x_max": 14, + "y_max": 24, + "encoding": 1 + }, + { + "char": 70, + "bitmap_byte_count": 25, + "bitmap_offset": 1024, + "char_width": 13, + "x_min": 0, + "y_min": 0, + "x_max": 13, + "y_max": 24, + "encoding": 1 + }, + { + "char": 71, + "bitmap_byte_count": 36, + "bitmap_offset": 1049, + "char_width": 17, + "x_min": 0, + "y_min": 0, + "x_max": 17, + "y_max": 24, + "encoding": 1 + }, + { + "char": 72, + "bitmap_byte_count": 32, + "bitmap_offset": 1085, + "char_width": 17, + "x_min": 0, + "y_min": 0, + "x_max": 17, + "y_max": 24, + "encoding": 1 + }, + { + "char": 73, + "bitmap_byte_count": 25, + "bitmap_offset": 1117, + "char_width": 13, + "x_min": 0, + "y_min": 0, + "x_max": 13, + "y_max": 24, + "encoding": 1 + }, + { + "char": 74, + "bitmap_byte_count": 25, + "bitmap_offset": 1142, + "char_width": 13, + "x_min": 0, + "y_min": 0, + "x_max": 13, + "y_max": 24, + "encoding": 1 + }, + { + "char": 75, + "bitmap_byte_count": 30, + "bitmap_offset": 1167, + "char_width": 16, + "x_min": 0, + "y_min": 0, + "x_max": 16, + "y_max": 24, + "encoding": 1 + }, + { + "char": 76, + "bitmap_byte_count": 25, + "bitmap_offset": 1197, + "char_width": 13, + "x_min": 0, + "y_min": 0, + "x_max": 13, + "y_max": 24, + "encoding": 1 + }, + { + "char": 77, + "bitmap_byte_count": 38, + "bitmap_offset": 1222, + "char_width": 21, + "x_min": 0, + "y_min": 0, + "x_max": 21, + "y_max": 24, + "encoding": 1 + }, + { + "char": 78, + "bitmap_byte_count": 34, + "bitmap_offset": 1260, + "char_width": 17, + "x_min": 0, + "y_min": 0, + "x_max": 17, + "y_max": 24, + "encoding": 1 + }, + { + "char": 79, + "bitmap_byte_count": 33, + "bitmap_offset": 1294, + "char_width": 18, + "x_min": 0, + "y_min": 0, + "x_max": 18, + "y_max": 24, + "encoding": 1 + }, + { + "char": 80, + "bitmap_byte_count": 28, + "bitmap_offset": 1327, + "char_width": 15, + "x_min": 0, + "y_min": 0, + "x_max": 15, + "y_max": 24, + "encoding": 1 + }, + { + "char": 81, + "bitmap_byte_count": 38, + "bitmap_offset": 1355, + "char_width": 18, + "x_min": 0, + "y_min": 0, + "x_max": 18, + "y_max": 24, + "encoding": 1 + }, + { + "char": 82, + "bitmap_byte_count": 29, + "bitmap_offset": 1393, + "char_width": 15, + "x_min": 0, + "y_min": 0, + "x_max": 15, + "y_max": 24, + "encoding": 1 + }, + { + "char": 83, + "bitmap_byte_count": 40, + "bitmap_offset": 1422, + "char_width": 17, + "x_min": 0, + "y_min": 0, + "x_max": 17, + "y_max": 24, + "encoding": 1 + }, + { + "char": 84, + "bitmap_byte_count": 29, + "bitmap_offset": 1462, + "char_width": 15, + "x_min": 0, + "y_min": 0, + "x_max": 15, + "y_max": 24, + "encoding": 1 + }, + { + "char": 85, + "bitmap_byte_count": 29, + "bitmap_offset": 1491, + "char_width": 17, + "x_min": 0, + "y_min": 0, + "x_max": 17, + "y_max": 24, + "encoding": 1 + }, + { + "char": 86, + "bitmap_byte_count": 28, + "bitmap_offset": 1520, + "char_width": 17, + "x_min": 0, + "y_min": 0, + "x_max": 17, + "y_max": 24, + "encoding": 1 + }, + { + "char": 87, + "bitmap_byte_count": 38, + "bitmap_offset": 1548, + "char_width": 23, + "x_min": 0, + "y_min": 0, + "x_max": 23, + "y_max": 24, + "encoding": 1 + }, + { + "char": 88, + "bitmap_byte_count": 30, + "bitmap_offset": 1586, + "char_width": 16, + "x_min": 0, + "y_min": 0, + "x_max": 16, + "y_max": 24, + "encoding": 1 + }, + { + "char": 89, + "bitmap_byte_count": 30, + "bitmap_offset": 1616, + "char_width": 17, + "x_min": 0, + "y_min": 0, + "x_max": 17, + "y_max": 24, + "encoding": 1 + }, + { + "char": 90, + "bitmap_byte_count": 32, + "bitmap_offset": 1646, + "char_width": 15, + "x_min": 0, + "y_min": 0, + "x_max": 15, + "y_max": 24, + "encoding": 1 + }, + { + "char": 91, + "bitmap_byte_count": 21, + "bitmap_offset": 1678, + "char_width": 10, + "x_min": 0, + "y_min": 0, + "x_max": 10, + "y_max": 24, + "encoding": 1 + }, + { + "char": 92, + "bitmap_byte_count": 16, + "bitmap_offset": 1699, + "char_width": 10, + "x_min": 0, + "y_min": 0, + "x_max": 10, + "y_max": 24, + "encoding": 1 + }, + { + "char": 93, + "bitmap_byte_count": 20, + "bitmap_offset": 1715, + "char_width": 9, + "x_min": 0, + "y_min": 0, + "x_max": 9, + "y_max": 24, + "encoding": 1 + }, + { + "char": 94, + "bitmap_byte_count": 24, + "bitmap_offset": 1735, + "char_width": 12, + "x_min": 0, + "y_min": 0, + "x_max": 12, + "y_max": 24, + "encoding": 1 + }, + { + "char": 95, + "bitmap_byte_count": 24, + "bitmap_offset": 1759, + "char_width": 12, + "x_min": 0, + "y_min": 0, + "x_max": 12, + "y_max": 24, + "encoding": 1 + }, + { + "char": 96, + "bitmap_byte_count": 19, + "bitmap_offset": 1783, + "char_width": 11, + "x_min": 0, + "y_min": 0, + "x_max": 11, + "y_max": 24, + "encoding": 1 + }, + { + "char": 97, + "bitmap_byte_count": 29, + "bitmap_offset": 1802, + "char_width": 13, + "x_min": 0, + "y_min": 0, + "x_max": 13, + "y_max": 24, + "encoding": 1 + }, + { + "char": 98, + "bitmap_byte_count": 26, + "bitmap_offset": 1831, + "char_width": 15, + "x_min": 0, + "y_min": 0, + "x_max": 15, + "y_max": 24, + "encoding": 1 + }, + { + "char": 99, + "bitmap_byte_count": 25, + "bitmap_offset": 1857, + "char_width": 13, + "x_min": 0, + "y_min": 0, + "x_max": 13, + "y_max": 24, + "encoding": 1 + }, + { + "char": 100, + "bitmap_byte_count": 28, + "bitmap_offset": 1882, + "char_width": 15, + "x_min": 0, + "y_min": 0, + "x_max": 15, + "y_max": 24, + "encoding": 1 + }, + { + "char": 101, + "bitmap_byte_count": 33, + "bitmap_offset": 1910, + "char_width": 14, + "x_min": 0, + "y_min": 0, + "x_max": 14, + "y_max": 24, + "encoding": 1 + }, + { + "char": 102, + "bitmap_byte_count": 20, + "bitmap_offset": 1943, + "char_width": 9, + "x_min": 0, + "y_min": 0, + "x_max": 9, + "y_max": 24, + "encoding": 1 + }, + { + "char": 103, + "bitmap_byte_count": 32, + "bitmap_offset": 1963, + "char_width": 14, + "x_min": 0, + "y_min": 0, + "x_max": 14, + "y_max": 24, + "encoding": 1 + }, + { + "char": 104, + "bitmap_byte_count": 25, + "bitmap_offset": 1995, + "char_width": 14, + "x_min": 0, + "y_min": 0, + "x_max": 14, + "y_max": 24, + "encoding": 1 + }, + { + "char": 105, + "bitmap_byte_count": 13, + "bitmap_offset": 2020, + "char_width": 7, + "x_min": 0, + "y_min": 0, + "x_max": 7, + "y_max": 24, + "encoding": 1 + }, + { + "char": 106, + "bitmap_byte_count": 16, + "bitmap_offset": 2033, + "char_width": 7, + "x_min": 0, + "y_min": 0, + "x_max": 7, + "y_max": 24, + "encoding": 1 + }, + { + "char": 107, + "bitmap_byte_count": 27, + "bitmap_offset": 2049, + "char_width": 14, + "x_min": 0, + "y_min": 0, + "x_max": 14, + "y_max": 24, + "encoding": 1 + }, + { + "char": 108, + "bitmap_byte_count": 17, + "bitmap_offset": 2076, + "char_width": 9, + "x_min": 0, + "y_min": 0, + "x_max": 9, + "y_max": 24, + "encoding": 1 + }, + { + "char": 109, + "bitmap_byte_count": 36, + "bitmap_offset": 2093, + "char_width": 23, + "x_min": 0, + "y_min": 0, + "x_max": 23, + "y_max": 24, + "encoding": 1 + }, + { + "char": 110, + "bitmap_byte_count": 22, + "bitmap_offset": 2129, + "char_width": 14, + "x_min": 0, + "y_min": 0, + "x_max": 14, + "y_max": 24, + "encoding": 1 + }, + { + "char": 111, + "bitmap_byte_count": 25, + "bitmap_offset": 2151, + "char_width": 14, + "x_min": 0, + "y_min": 0, + "x_max": 14, + "y_max": 24, + "encoding": 1 + }, + { + "char": 112, + "bitmap_byte_count": 25, + "bitmap_offset": 2176, + "char_width": 14, + "x_min": 0, + "y_min": 0, + "x_max": 14, + "y_max": 24, + "encoding": 1 + }, + { + "char": 113, + "bitmap_byte_count": 24, + "bitmap_offset": 2201, + "char_width": 14, + "x_min": 0, + "y_min": 0, + "x_max": 14, + "y_max": 24, + "encoding": 1 + }, + { + "char": 114, + "bitmap_byte_count": 17, + "bitmap_offset": 2225, + "char_width": 10, + "x_min": 0, + "y_min": 0, + "x_max": 10, + "y_max": 24, + "encoding": 1 + }, + { + "char": 115, + "bitmap_byte_count": 31, + "bitmap_offset": 2242, + "char_width": 13, + "x_min": 0, + "y_min": 0, + "x_max": 13, + "y_max": 24, + "encoding": 1 + }, + { + "char": 116, + "bitmap_byte_count": 15, + "bitmap_offset": 2273, + "char_width": 9, + "x_min": 0, + "y_min": 0, + "x_max": 9, + "y_max": 24, + "encoding": 1 + }, + { + "char": 117, + "bitmap_byte_count": 23, + "bitmap_offset": 2288, + "char_width": 15, + "x_min": 0, + "y_min": 0, + "x_max": 15, + "y_max": 24, + "encoding": 1 + }, + { + "char": 118, + "bitmap_byte_count": 22, + "bitmap_offset": 2311, + "char_width": 13, + "x_min": 0, + "y_min": 0, + "x_max": 13, + "y_max": 24, + "encoding": 1 + }, + { + "char": 119, + "bitmap_byte_count": 37, + "bitmap_offset": 2333, + "char_width": 21, + "x_min": 0, + "y_min": 0, + "x_max": 21, + "y_max": 24, + "encoding": 1 + }, + { + "char": 120, + "bitmap_byte_count": 23, + "bitmap_offset": 2370, + "char_width": 13, + "x_min": 0, + "y_min": 0, + "x_max": 13, + "y_max": 24, + "encoding": 1 + }, + { + "char": 121, + "bitmap_byte_count": 23, + "bitmap_offset": 2393, + "char_width": 13, + "x_min": 0, + "y_min": 0, + "x_max": 13, + "y_max": 24, + "encoding": 1 + }, + { + "char": 122, + "bitmap_byte_count": 26, + "bitmap_offset": 2416, + "char_width": 13, + "x_min": 0, + "y_min": 0, + "x_max": 13, + "y_max": 24, + "encoding": 1 + }, + { + "char": 123, + "bitmap_byte_count": 18, + "bitmap_offset": 2442, + "char_width": 9, + "x_min": 0, + "y_min": 0, + "x_max": 9, + "y_max": 24, + "encoding": 1 + }, + { + "char": 124, + "bitmap_byte_count": 13, + "bitmap_offset": 2460, + "char_width": 8, + "x_min": 0, + "y_min": 0, + "x_max": 8, + "y_max": 24, + "encoding": 1 + }, + { + "char": 125, + "bitmap_byte_count": 18, + "bitmap_offset": 2473, + "char_width": 9, + "x_min": 0, + "y_min": 0, + "x_max": 9, + "y_max": 24, + "encoding": 1 + }, + { + "char": 126, + "bitmap_byte_count": 31, + "bitmap_offset": 2491, + "char_width": 16, + "x_min": 0, + "y_min": 0, + "x_max": 16, + "y_max": 24, + "encoding": 1 + } + ], + "nbgl_font": { + "font_id": 5, + "bpp": 1, + "char_height": 24, + "baseline_height": 19, + "line_height": 32, + "char_kerning": 0, + "first_char": 32, + "last_char": 126 + } + } +] diff --git a/lib_nbgl/src/nbgl_draw.c b/lib_nbgl/src/nbgl_draw.c index 27b53c668..5a488229d 100644 --- a/lib_nbgl/src/nbgl_draw.c +++ b/lib_nbgl/src/nbgl_draw.c @@ -467,15 +467,13 @@ void nbgl_drawText(const nbgl_area_t *area, const char* text, uint16_t textLen, rectArea.height = (char_y_max - char_y_min); rectArea.width = (char_x_max -char_x_min); - if (char_byte_cnt) { - switch(encoding) { - case 0: - nbgl_frontDrawImage(&rectArea, char_buffer, NO_TRANSFORMATION, fontColor); - break; - case 1: - nbgl_frontDrawImageRle(&rectArea, char_buffer, char_byte_cnt, fontColor); - break; - } + // If char_byte_cnt = 0, call nbgl_frontDrawImageRle to let speculos notice + // a space character was 'displayed' + if (!char_byte_cnt || encoding == 1) { + nbgl_frontDrawImageRle( + &rectArea, char_buffer, char_byte_cnt, fontColor); + } else { + nbgl_frontDrawImage(&rectArea, char_buffer, NO_TRANSFORMATION, fontColor); } x+=char_width; } diff --git a/lib_nbgl/tools/ttf2inc.py b/lib_nbgl/tools/ttf2inc.py index 5434f0470..7603f235c 100755 --- a/lib_nbgl/tools/ttf2inc.py +++ b/lib_nbgl/tools/ttf2inc.py @@ -889,10 +889,7 @@ def main(args): inc_filename = change_ext(inc_filename, ".inc") # Build the corresponding .json file, if we need to - if ttf.unicode_needed: - inc_json = change_ext(inc_filename, ".json") - else: - inc_json = None + inc_json = change_ext(inc_filename, ".json") if args.suffix: suffix = args.suffix @@ -953,15 +950,15 @@ def main(args): # Write the array containing information about characters: if ttf.unicode_needed: typedef = "nbgl_font_unicode_character_t" + ttf_info_dictionary["nbgl_font_unicode_character"] = [] else: typedef = "nbgl_font_character_t" + ttf_info_dictionary["nbgl_font_character"] = [] inc.write( f"\n __attribute__ ((section(\"._nbgl_fonts_\"))) const {typedef} characters" f"{ttf.basename.upper()}{suffix}[{len(char_info)}] = {{\n") - ttf_info_dictionary["nbgl_font_unicode_character"] = [] - for char, info in sorted(char_info.items()): width = info["width"] size = info["size"] @@ -988,6 +985,17 @@ def main(args): inc.write(f" {{ 0x{ord(char):06X}, {size:3}, {offset:4}, {width:3}, " f"{x_min}, {y_min}, {x_max}, {y_max}, {encoding} }}, //unicode {unicode}\n") else: + ttf_info_dictionary["nbgl_font_character"].append({ + "char": ord(char), + "bitmap_byte_count": size, + "bitmap_offset": offset, + "char_width": width, + "x_min": x_min, + "y_min": y_min, + "x_max": x_max, + "y_max": y_max, + "encoding": encoding + }) # We'll use bitfieds to store x_min x_max y_min y_max # => we need to change a little bit the meaning: # - y_min = Y offset in pixels*4 (ie 3=>12) @@ -1078,6 +1086,16 @@ def main(args): } else: typedef = "nbgl_font_t" + ttf_info_dictionary["nbgl_font"] = { + "font_id": ttf.get_font_id(), + "bpp": ttf.bpp, + "char_height": ttf.font_size, + "baseline_height": baseline, + "line_height": ttf.line_size, + "char_kerning": 0, + "first_char": first_char, + "last_char" : last_char + } inc.write( f"\n __attribute__ ((section(\"._nbgl_fonts_\"))) const {typedef} font{ttf.basename.upper()}{suffix} = {{\n") inc.write(f" {bitmap_len}, // bitmap len\n") @@ -1094,29 +1112,27 @@ def main(args): inc.write(f" bitmap{ttf.basename.upper()}\n") inc.write("};\n") - # Do we need to generate a JSON file with unicode related info? - if ttf.unicode_needed: - ttf_info_list.append(ttf_info_dictionary) - with open(inc_json, "w") as json_file: - json.dump(ttf_info_list, json_file) - # Be sure there is a newline at the end of the file - json_file.write("\n") - - if args.test_align != None: - string_width = 0 - for char, info in sorted(char_info.items()): - string_width+=info['width'] - img = Image.new('1', (string_width, ttf.font_size), color='black') - current_width = 0 - for char, info in sorted(char_info.items()): - img.paste(info['img'], (current_width, 0)) - current_width += info['width'] - draw = ImageDraw.Draw(img) - shape = [(0,args.test_align), (string_width, args.test_align)] - draw.line(shape, fill='white',width=0) - - img.show() + # Generate a JSON file with all font related info? + ttf_info_list.append(ttf_info_dictionary) + with open(inc_json, "w") as json_file: + json.dump(ttf_info_list, json_file, indent=2) + # Be sure there is a newline at the end of the file + json_file.write("\n") + + if args.test_align != None: + string_width = 0 + for char, info in sorted(char_info.items()): + string_width+=info['width'] + img = Image.new('1', (string_width, ttf.font_size), color='black') + current_width = 0 + for char, info in sorted(char_info.items()): + img.paste(info['img'], (current_width, 0)) + current_width += info['width'] + draw = ImageDraw.Draw(img) + shape = [(0,args.test_align), (string_width, args.test_align)] + draw.line(shape, fill='white',width=0) + img.show() return 0