Font creation - questions


I want to create my own fonts.

What MCU/Processor/Board and compiler are you using?

STM32F769NI / STM32F769I-DISCO / Atollic TrueStudio

What do you want to achieve?

I didn’t find the answer in the forum. The link was also not the answer.
I have two questions for fonts:

  1. kisvegabor when you preparing the lv_font_roboto_28 font, did you create special characters such as LV_SYMBOL_LEFT yourself and add it to the lv_font_roboto_28.c file? Definition of LV_SYMBOL_LEFT: “\xef\x81\x94” according to UTF-8 conversion tool points to Hex code point F053 and so private use area (in FontForge is the same).
    When I converted the font calibri.ttf (Online TTF to C Array Unicode Font Converter), adding the special characters ĄąŚśŻżŹźĆćĘęŃńÓ󣳧±µ and setting the font pol_znak_28.c (LV_FONT_DECLARE(pol_znak_28); ) as basic in my styles I lost special characters like LV_SYMBOL_LEFT.
    with lv_font_roboto_28.c
    with my font
    I assume that all symbols must be declared in the font file and special characters (e.g. two or three bytes) must be declared in accordance with the definition #define LV_SYMBOL_LEFT “\ xef \ x81 \ x93” which corresponds to the file lv_font_roboto_28.c with the character /* U+F053""*/ (line 2464). After such a declaration, we can use the symbol, e.g. lv_label_set_text (btnStartLabel, LV_SYMBOL_OK); - do i understand correctly?
  2. How to add special characters to a font file already created (e.g. µ to the lv_font_roboto_28.c file) or a new file like /* U+F053""*/ ? When I do it like in the picture below,

    the characters are added to the font. He refers to them through declarations, e.g. for µ: #define MY_SYM_MICRO “\xC2\xB5”. But reading the pressed character on the keyboard “µ/m” reads the additional symbol µ/m”.
const char* ta_txt = lv_label_get_text(ext_ta->label);
const char* txt = lv_btnm_get_active_btn_text(kb);

Where can the problem be?

The symbols are added to the font by using the online font converter, and adding a second font to the list of fonts to be converted. The result is a single file that contains both the symbols and regular letters.

Thank you for your response. Earlier I read the information from the link but probably not entirely with understanding. After your reply, I read it again, and in FontForge I looked at the font FontAwesome.ttf and everything became clear.