I am trying to understand how the LVGL font file works.
Here is an example font file: https://github.com/lvgl/lvgl/blob/master/src/font/lv_font_montserrat_20.c
The following makes sense to me so far:
- glyph_bitmap array has uncompressed glyph data for every character
- glyph_dsc array has dimension/offset info for each character, and its member .bitmap_index gives an offset in gylph_bitmap for the glyph data
- cmaps provides a mapping between unicode characters and an index in glyph_dsc
However, I cannot for the life of me figure out what the array “unicode_list_1” is supposed to be (it is assigned to the .unicode_list member in the cmap struct). It appears to provide a list of unicode characters, but in the example file I linked, the data in this array makes no sense to me. The first nonzero entry in unicode_list_1 is 0x1f72. What is this? Is this a unicode character code? If yes, why don’t I see U+1f72 anywhere in the glyph_data comments?
Any help would be much appreciated