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