2 Replies Latest reply on Jun 2, 2017 4:06 PM by DarkTiger

    Heed a help with Glyphs in EDK2: Font localization steps & utilities

    DarkTiger Green Belt



      I added new languages in MdeModulePks/Application/UiApp example from EDK2 and I got a problem with strings output. Using Nt32Pkg emulator with Win 7.


      My problem is: when I add Russian language, I also add new string on that language to existing token, but I can't see that string shown on screen.

      Specifically, I can see English part of the string only.  I mean, if I write the first half of the string on English and the second  half on Russian, I can see only English half of the string on BIOS screen.


      Here is my problem on the screenshot:


      I didn't added corresponding Russian strings to any other tokens, so for them displaying "!" instead is ok. If I switch back to English or French, correct strings are shown again.


      The problem is, as it was suggested in edk2-devel forum, that default font in EDK2 have only several glyphs sets for limited number of languages (French and German, at least). This way, if I need have Russian glyphs on screen, I have to either add my own glyphs to existing glyphs set in file "LaffStd.c" or create my own font package with required glyphs and install it then.


      My questions are:


      1. Is there any manual describing a process of creating new font package (or adding to existing glyph set)? I suppose I'm not the first developer that tries to add new locale in HII form. But I didn't find any appropriate document about it.

      2. Is there some utility that can extract glyphs from existing free fonts to some intermediate file? And some utility that I can use then for adding these glyphs from the intermediate file to existing glyph set (or font package)? I doubth if anyone who need to add new locale had to draw glyph bitmaps manually, pixel-by-pixel.


      With best regards,

      Nikolay Bodunov