Embedded Intel® Core™ Processors
Communicate Intel® Core™ Hardware, Software, Firmware, Graphics Concerns
1270 Discussions

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

NBodu1
Novice
2,767 Views

Hello

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 https://yadi.sk/i/quf2Gd003JbZez 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:

https://yadi.sk/i/mgh_-dBH3JbYtp https://yadi.sk/i/mgh_-dBH3JbYtp

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

0 Kudos
1 Solution
CarlosAM_INTEL
Moderator
1,672 Views

Hello, DarkTiger:

Thank you for contacting Intel Embedded Community.

The information that may help you is stated as a reference at the https://github.com/ARM-software/edk2/blob/master/EdkCompatibilityPkg/Compatibility/FrameworkHiiOnUefiHiiThunk/Fonts.c edk2 Fonts.c at master thread.

It is important as a reference as well that the EDK2 consultations should be addressed to the channels listed at the https://github.com/tianocore/tianocore.github.io/wiki/Contact-Us Contact Us website.

We hope that this information is useful to you.

Best regards,

Carlos_A.

View solution in original post

0 Kudos
2 Replies
CarlosAM_INTEL
Moderator
1,673 Views

Hello, DarkTiger:

Thank you for contacting Intel Embedded Community.

The information that may help you is stated as a reference at the https://github.com/ARM-software/edk2/blob/master/EdkCompatibilityPkg/Compatibility/FrameworkHiiOnUefiHiiThunk/Fonts.c edk2 Fonts.c at master thread.

It is important as a reference as well that the EDK2 consultations should be addressed to the channels listed at the https://github.com/tianocore/tianocore.github.io/wiki/Contact-Us Contact Us website.

We hope that this information is useful to you.

Best regards,

Carlos_A.

0 Kudos
NBodu1
Novice
1,672 Views

Hello Carlos

Thank you for the answer.

Unfortunately, it's slightly not an answer I need. https://github.com/ARM-software/edk2/blob/master/EdkCompatibilityPkg/Compatibility/FrameworkHiiOnUefiHiiThunk/Fonts.c edk2 Fonts.c at master contains functions that extract bitmaps from "installed" font's glyphs and copy them to the display buffer to output.

However, I need to create new glyphs which doesn't exist even as bitmaps yet.

Ok, I'll try to ask edk2-devel.

With best regards,

Nikolay

0 Kudos
Reply