SetupDesignGuide.pdf - Firmware Encoding Index
SetupDesignGuide.pdf - Firmware Encoding Index
SetupDesignGuide.pdf - Firmware Encoding Index
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
Setup Design Guide<br />
DRAFT<br />
// of a printable name of the language for use when prompting the<br />
// user. The language printed is to be the primary language.<br />
//<br />
//<br />
// String attributes<br />
//<br />
#define LANG_RIGHT_TO_LEFT 0x00000001<br />
LANG_RIGHT_TO_LEFT: If on, the language is intended to be printed right to left. The default (off)<br />
is to print left to right.<br />
//<br />
// StringPointers Are relative offsets from the beginning of the<br />
// package to each corresponding string. This<br />
// list of pointers will be null-terminated.<br />
//<br />
typedef struct {<br />
EFI_HII_PACK_HEADER Header;<br />
RELOFST LanguageNameString;<br />
RELOFST PrintableLanguageName;<br />
UINT32 Attributes;<br />
RELOFST StringsPointers[1];<br />
STRING Strings[1];<br />
} EFI_HII_STRING_PACK;<br />
//<br />
// Glyph Attributes<br />
//<br />
#define GLYPH_NON_SPACING 1<br />
#define GLYPH_NON_BREAKING 2<br />
Unicode defines several non-spacing characters which are generally used to implement uncommon<br />
accents, etc (as in Vietnamese). The idea is to ‘or’ the non-spacing character over the succeeding<br />
character.<br />
typedef struct {<br />
CHAR16<br />
UnicodeWeight;<br />
UINT8<br />
Attributes;<br />
UINT8<br />
GlyphCol1[19];<br />
} EFI_NARROW_GLYPH;<br />
typedef struct {<br />
CHAR16 UnicodeWeight;<br />
UINT8<br />
Attributes;<br />
UINT8<br />
GlyphCol1[19], GlyphCol2[19];<br />
UINT8<br />
Pad[3];<br />
} EFI_WIDE_GLYPH;<br />
49