12.1.1 HII Database and Package Lists

The HII database is built dynamically as the system boots. A UEFI Driver is required to register lists of HII packages into the HII Database. A package list is a list of packages providing different types of binary data. The data types supported include font, string, image, keyboard, and forms data.
Note: The package could also contain some keyboard data but keyboard layouts are typically outside the scope of a driver (and typically up to the platform to determine). For example, keyboard data could represent the French keyboard, a simplified set of Hiragana and Katakana characters for a Japanese keyboard, and so on. The Unicode values of keyboard data are mapped to the characters of each supported language and displayed to the screen.
The goal of the package is to create a single form with multiple sets of strings. For example, the goal for fonts is to create a single form with multiple sets of strings, each set for a different supported language. The sets of strings are published to the HII database, which also contains the strings, fonts, and characters from other drivers. The setup browser can then access the HII Database to display the forms in the appropriate language and font.
In general, data in a package is not modified after it is registered. For example, data that probably won't change during configuration include the questions that are presented to a user, the layout of the forms, the font list, and so on.