Table of Contents - GitHub Pages
Transcript of Table of Contents - GitHub Pages
TABLEOFCONTENTSEDKIIMulti-String.UNIFileFormatSpecification
1Introduction
1.1RelatedInformation
1.2Terms
1.3Conventionsusedinthisdocument
2UnicodeStringsFileFormat
2.1CommonEBNF
3HIIStringPacks
3.1Examplefile
4Redacted
5FontSupport
5.1#font
5.2#fontdef
5.3#stringExtensions
Tables
Table1.uniFileFontEscapeCharacters
EDKIIMulti-String.UNIFileFormatSpecification
2Revision1.40
EDKIIMulti-String.UNIFileFormatSpecificationRevision1.40
12/01/202005:53:14
AcknowledgementsRedistributionanduseinsource(originaldocumentform)and'compiled'forms(convertedtoPDF,epub,HTMLandotherformats)withorwithoutmodification,arepermittedprovidedthatthefollowingconditionsaremet:
1. Redistributionsofsourcecode(originaldocumentform)mustretaintheabovecopyrightnotice,thislistofconditionsandthefollowingdisclaimerasthefirstlinesofthisfileunmodified.
2. Redistributionsincompiledform(transformedtootherDTDs,convertedtoPDF,epub,HTMLandotherformats)mustreproducetheabovecopyrightnotice,thislistofconditionsandthefollowingdisclaimerinthedocumentationand/orothermaterialsprovidedwiththedistribution.
THISDOCUMENTATIONISPROVIDEDBYTIANOCOREPROJECT"ASIS"ANDANYEXPRESSORIMPLIEDWARRANTIES,INCLUDING,BUTNOTLIMITEDTO,THEIMPLIEDWARRANTIESOFMERCHANTABILITYANDFITNESSFORAPARTICULARPURPOSEAREDISCLAIMED.INNOEVENTSHALLTIANOCOREPROJECTBELIABLEFORANYDIRECT,INDIRECT,INCIDENTAL,SPECIAL,EXEMPLARY,ORCONSEQUENTIALDAMAGES(INCLUDING,BUTNOTLIMITEDTO,PROCUREMENTOFSUBSTITUTEGOODSORSERVICES;LOSSOFUSE,DATA,ORPROFITS;ORBUSINESSINTERRUPTION)HOWEVERCAUSEDANDONANYTHEORYOFLIABILITY,WHETHERINCONTRACT,STRICTLIABILITY,ORTORT(INCLUDINGNEGLIGENCEOROTHERWISE)ARISINGINANYWAYOUTOFTHEUSEOFTHISDOCUMENTATION,EVENIFADVISEDOFTHEPOSSIBILITYOFSUCHDAMAGE.
Copyright(c)2016-2017,IntelCorporation.Allrightsreserved.
RevisionHistory
Revision Description Date
1.0 InitialRelease. February2014
1.1 UpdatedEBNFtofollowsyntaxspecifiedinEBNFbytheANTLRproject. August2014
AddedcontentrelatedtoEDKIIMeta-DataUnicodefiles.
Restructureddocument.
RemovedsecurityandCformatGUIDdefinitions,notrequiredforHIIorotherUNIfiles.
Removedinvalidescapecodesequences.
1.2 Addedoptionalfontformatting September2014
1.2ErrataA Correctmisspellingof:STR_PROPERTIES_MODULE_NAME April2015
1.3 Added:Syntaxfornon-asciicharactersinsidequotedstrings. March2016
EDKIIMulti-String.UNIFileFormatSpecificationEDKIIMulti-String.UNIFileFormatSpecification
3Revision1.40
1.4 ConverttoGitBookformat April2017
#506UNISpec:CleanupRelatedInformationsection
#507UNISpec:Clarifythat.unifilesmaybeUTF-8withoutaBOM
EDKIIMulti-String.UNIFileFormatSpecificationEDKIIMulti-String.UNIFileFormatSpecification
4Revision1.40
1INTRODUCTIONThisdocumentdescribesfileformatforUnicodestringfiles.ThisfileformatsupportsmultiplelayoutsandformatsintheUnicodefile.Thisversatilityallowsstringstobegroupedeitherbylanguageorbystringidentifier.
1.1RelatedInformationThefollowingpublicationsandsourcesofinformationmaybeusefultoyouorarereferredtobythisspecification:
UnifiedExtensibleFirmwareInterfaceSpecification,http://www.uefi.org.
http://www.tianocore.org/docs/EDK_II_Documents.html
EDKIIBuildSpecification,Intel,2016.EDKIIDECFileSpecification,Intel,2016.EDKIIINFFileSpecification,Intel,2016.EDKIIDSCFileSpecification,Intel,2016.EDKIIFDFFileSpecification,Intel,2016.EDKIIExpressionSyntaxSpecification,Intel,2015.EDKIICCodingStandardsSpecification,Intel,2015.
1.2TermsThefollowingtermsareusedthroughoutthisdocumenttodescribevaryingaspectsofinputlocalization:
BDS
FrameworkBootDeviceSelectionphase.
BNF
BNFisanacronymfor"BackusNaurForm."JohnBackusandPeterNaurintroducedforthefirsttimeaformalnotationtodescribethesyntaxofagivenlanguage.
Component
Anexecutableimage.Componentsdefinedinthisspecificationsupportoneofthedefinedmoduletypes.
DXESAL
FrameworkDriverExecutionEnvironmentphase.AspecialclassofDXEmodulethatproducesSALRuntimeServices.DXESALmodulesdifferfromDXERuntimemodulesinthattheDXERuntimemodulessupportVirtualmodeOScallsatOSruntimeandDXESALmodulessupportintermixingVirtualorPhysicalmodeOScalls.
DXESMM
AspecialclassofDXEmodulethatisloadedintotheSystemManagementModememory.
DXERuntime
SpecialclassofDXEmodulethatprovidesRuntimeServices
1IntroductionEDKIIMulti-String.UNIFileFormatSpecification
5Revision1.40
EFI
GenerictermthatreferstooneoftheversionsoftheEFIspecification:EFI1.02,EFI1.10,orUEFI2.0.
EFI1.10Specification
IntelCorporationpublishedtheExtensibleFirmwareInterfaceSpecification.InteldonatedtheEFIspecificationtotheUnifiedEFIForum,andtheUEFInowownsfutureupdatesoftheEFIspecification.SeeUEFISpecifications.
Foundation
ThesetofcodeandinterfacesthatglueimplementationsofEFItogether.
Framework
Intel(R)PlatformInnovationFrameworkforEFIconsistsoftheFoundation,plusothermodularcomponentsthatcharacterizetheportabilitysurfaceformodularcomponentsdesignedtoworkonanyimplementationoftheTianoarchitecture.
GUID
GloballyUniqueIdentifier.A128-bitvalueusedtonameentitiesuniquely.AnindividualwithoutthehelpofacentralizedauthoritycangenerateauniqueGUID.Thisallowsthegenerationofnamesthatwillneverconflict,evenamongmultiple,unrelatedparties.
HII
HumanInterfaceInfrastructure.Thisgenerallyreferstothedatabasethatcontainsstring,font,andIFRinformationalongwithotherpiecesthatuseoneofthedatabasecomponents.
IFR
InternalFormsRepresentation.Thisisthebinaryencodingthatisusedfortherepresentationofuserinterfacepages.
LibraryClass
AlibraryclassdefinestheAPIorinterfacesetforalibrary.Theconsumerofthelibraryiscodedtothelibraryclassdefinition.Libraryclassesaredefinedviaalibraryclass.hfilethatispublishedbyapackage.SeetheEDK2.0ModuleDevelopmentEnvironmentLibrarySpecificationforalistoflibrariesdefinedinthispackage.
LibraryInstance
Animplementationofoneormorelibraryclasses.SeetheEDK2.0ModuleDevelopmentEnvironmentLibrarySpecificationforalistoflibrarydefinedinthispackage.
Module
Amoduleiseitheranexecutableimageoralibraryinstance.Foralistofmoduletypessupportedbythispackage,seemoduletype.
ModuleType
Alllibrariesandcomponentsbelongtooneofthefollowingmoduletypes:BASE,SEC,PEI_CORE,PEIM,DXE_CORE,DXE_DRIVER,DXE_RUNTIME_DRIVER,DXE_SMM_DRIVER,DXE_SAL_DRIVER,UEFI_DRIVER,orUEFI_APPLICATION.Thesedefinitionsprovideaframeworkthatisconsistentwithasimilarsetofrequirements.AmodulethatisofmoduletypeBASE,dependsonlyonheadersandlibrariesprovidedintheMDE,whileamodulethatisofmoduletypeDXE_DRIVERdependsoncommonDXEcomponents.Foradefinitionofthevariousmoduletypes,seemoduletype.
ModuleSurfaceArea(MSA)
1IntroductionEDKIIMulti-String.UNIFileFormatSpecification
6Revision1.40
TheMSAisanXMLdescriptionofhowthemoduleiscoded.TheMSAcontainsinformationaboutthedifferentconstructionoptionsforthemodule.AfterthemoduleisconstructedtheMSAcandescribetheinteroperabilityrequirementsofamodule.
Package
Apackageisacontainer.Itcanholdacollectionoffilesforanygivensetofmodules.Packagesmaybedescribedasoneofthefollowingtypesofmodules:
Sourcemodules,containingallsourcefilesanddescriptionsofamodule
Binarymodules,containingEFISectionsoraFrameworkFileSystemandadescriptionfilespecifictolinkingandbinaryeditingoffeaturesandattributesspecifiedinaPlatformConfigurationDatabase(PCD,)
Mixedmodules,withbothbinaryandsourcemodules
Multiplemodulescanbecombinedintoapackage,andmultiplepackagescanbecombinedintoasinglepackage.
Protocol
AnAPInamedbyaGUIDasdefinedbytheEFIspecification.
PCD
PlatformConfigurationDatabase.
PEI
Pre-EFIInitializationPhase.
PPI
APEIM-to-PEIMInterfacethatisnamedbyaGUIDasdefinedbythePEICIS.
SAL
SystemAbstractionLayer.AfirmwareinterfacespecificationusedonIntel(R)Itanium(R)Processorbasedsystems.
RuntimeServices
Interfacesthatprovideaccesstounderlyingplatform-specifichardwarethatmightbeusefulduringOSruntime,suchastimeanddateservices.TheseservicesbecomeactiveduringthebootprocessbutalsopersistaftertheOSloaderterminatesbootservices.
SEC
SecurityPhaseisthecodeintheFrameworkthatcontainstheprocessorresetvectorandlaunchesPEI.ThisphaseisseparatefromPEIbecausesomesecurityschemesrequireownershipoftheresetvector.
UEFIApplication
AnapplicationthatfollowstheUEFIspecification.TheonlydifferencebetweenaUEFIapplicationandaUEFIdriveristhatanapplicationisunloadedfrommemorywhenitexitsregardlessofreturnstatus,whileadriverthatreturnsasuccessfulreturnstatusisnotunloadedwhenitsentrypointexits.
UEFIDriver
AdriverthatfollowstheUEFIspecification.
UEFISpecificationVersion2.0
1IntroductionEDKIIMulti-String.UNIFileFormatSpecification
7Revision1.40
CurrentversionoftheEFIspecificationreleasedbytheUnifiedEFIForum.ThisspecificationbuildsontheEFI1.10specificationandtransfersownershipoftheEFIspecificationfromInteltoanon-profit,industrytradeorganization.
UnifiedEFIForum
Anon-profitcollaborativetradeorganizationformedtopromoteandmanagetheUEFIstandard.Formoreinformation,seehttp://www.uefi.org
1.3ConventionsusedinthisdocumentThisdocumentusesthetypographicandillustrativeconventionsdescribedbelow.
1.3.1Pseudo-codeconventionsPseudocodeispresentedtodescribealgorithmsinamoreconciseform.Noneofthealgorithmsinthisdocumentareintendedtobecompileddirectly.Thecodeispresentedatalevelcorrespondingtothesurroundingtext.
Indescribingvariables,alistisanunorderedcollectionofhomogeneousobjects.Aqueueisanorderedlistofhomogeneousobjects.Unlessotherwisenoted,theorderingisassumedtobeFirstInFirstOut(FIFO).
PseudocodeispresentedinaC-likeformat,usingCconventionswhereappropriate.Thecodingstyle,particularlytheindentationstyle,isusedforreadabilityanddoesnotnecessarilycomplywithanimplementationoftheExtensibleFirmwareInterfaceSpecification.
1.3.2TypographicconventionsThisdocumentusesthetypographicandillustrativeconventionsdescribedbelow:
Convention Description
Plaintext Thenormaltexttypefaceisusedforthevastmajorityofthedescriptivetextinaspecification.
Plaintext(blue)
Anyplaintextthatisunderlinedandinblueindicatesanactivelinktothecross-reference.Clickonthewordtofollowthehyperlink.USEONLYIFYOUMAKEANACTUALCROSS-REFERENCELINK.
BoldIntext,aBoldtypefaceidentifiesaprocessorregistername.Inotherinstances,aBoldtypefacecanbeusedasarunningheadwithinaparagraph.orasadefinitionheading(GlossTerm)
Italic Intext,anItalictypefacecanbeusedasemphasistointroduceanewtermortoindicateamanualorspecificationname.
Monospace
Computercode,examplecodesegments,andallprototypecodesegmentsuseaBOLDMonospacetypefacewithadarkredcolor.Thesecodelistingsnormallyappearinoneormoreseparateparagraphs,thoughwordsorsegmentscanalsobeembeddedinanormaltextparagraph.
Monospace
(blue)
WordsinaMonospacetypefacethatisunderlinedandinblueindicateanactivehyperlinktothecodedefinitionforthatfunctionortypedefinition.Clickonthewordtofollowthehyperlink.USEONLYIFYOUMAKEANACTUALHYPERLINK.
ItalicBold Incodeorintext,wordsinItalicMonospaceindicateplaceholdernamesforvariableinformationthatmustbesupplied(i.e.,arguments).
1IntroductionEDKIIMulti-String.UNIFileFormatSpecification
8Revision1.40
1IntroductionEDKIIMulti-String.UNIFileFormatSpecification
9Revision1.40
2UNICODESTRINGSFILEFORMATEDKIIUnicodefilesareusedformappingtokennamestolocalizedstringsthatareidentifiedbyanRFC4646languagecode.TheformatforstoringEDKIIUnicodefilesondiskisUTF-8(withoutaBOMcharacter)orUTF-16LE(withaBOMcharacter).ThecharactercontentmustbeUCS-2.
Stringsendsaredeterminedbythefirstofthefollowingitemsfound:
acontrolcharacteracommenttheendofthefileablankline
Commentsmayappearanywherewithinthestringfile.
AllUTF-16LEfilesmustbeginwithaUnicodeBOMcharacter.AllUTF-8filesmustnotbeginwithaUnicodeBOMcharacter.
NOTE:PleasemakesureyouselectaneditorthatsupportsUCS-2charactersthatcanbestoredineitheraUTF-8(withoutaBOMcharacter)oraUTF-16LEfile(withaBOMcharacter).
2.1CommonEBNFThefollowingEBNFusesquoted(doublequotes)encapsulatedcharacterstorepresentUCS-2stringliterals.Inthefollowingdefinitions,thesemi-colonisusedtodenoteacomment.
<US>::=""
<Letter>::={(\u0041-\u005A)};CharactersA-Z
{(\u0061-\u007A)};Charactersa-z
<Digit>::=(\u0030-\u0039);Characters0-9
<MS>::=<US>+
<ME>::={<MS>}{<EOL>}
<CommentLine>::="//"<US>*<PCHars><EOL>
<BlankLine>::=<EOL>
<Chars>::=(\u0001-\uF6FF)
<PChars>::={(\u0020-\uF6FF)}{<OpChar>}
<OpChars>::="\x"[{<Letter>}{<Digit>}]{4}"\"
<VChars>::=(\u0021-\uF6FF)
<UnicodeLines>::=<Token><ME>
[<Ldef>[<String><ME>]+]+
<Ldef>::=<CtrlChar>"language"<MS><LangCode><ME>
<HexDigit>::={<Digit>}
{(\u0041-\u0046)};CharactersA-F
{(\u0061-\u0066)};Charactersa-f
<CtrlChar>::=<US>*"#"
<Token>::=<CtrlChar>"string"<MS><Identifier>
<Identifier>::=<Letter>[{<Letter>}{<Digit>}{<UN>}]*
<LangCode>::=<RFC4646>
<RFC4646>::=<Letter>{2,8}[<ShortExt><LongExt>*]
<ShortExt>::="-"[{<Letter>}{<Digit>}]{1,8}
<LongExt>::="-"[{<Letter>}{<Digit>}]{1,}
<UDblQuote>::=\u0022;DoubleQuoteCharacter,"
<String>::=<UDblQuote><SContent>*<UDblQuote>
<SContent>::={<PChars>}{<Attributes>}
<Attributes>::="\"{"narrow"}{"wide"}{<UDblQuote>}
{"n"}{"r"}{"t"}{"nbr"}{"\"}{"'"}
2UnicodeStringsFileFormatEDKIIMulti-String.UNIFileFormatSpecification
10Revision1.40
2.1.1DefinitionsLanguageCodes
ThelanguagecodemustbeavalidRFC4646languagecode.
EscChar
Inordertoincludesomestandardcharacters,suchasthe"\"back-slashcharacterwithinastring,thecharactermustbeprefixedwiththeescapecharacter.Charactersthatmayrequireaprefixedescapecharacterincludethefollowing,backslash"\"character,single-quote"'"character,double-quote'"'characterandtheforwardslash"/"character.Thebackslashalwaysrequirestheescapecharacter.
Token
Thetoken(strongidentifier)mayonlycontainnumbers,upperandlowercaseletters,underscorecharacter,anddashcharacter.
Include
Anincludelineisusedtoparseanotherfile,alsocompliantwiththisspecification,asifitwasinthefile.Thetokensshouldnotoverlapbetweenthefileforthesamelanguage.
2UnicodeStringsFileFormatEDKIIMulti-String.UNIFileFormatSpecification
11Revision1.40
3HIISTRINGPACKSUnicodefilesusedforcreatingHIIStringPackshavethefollowingformat:
<StringFileFormat>::=<CommentLine>*
<LanguageDefs>
<Content>+
ThefollowingEBNFdescribescontentisspecifictotheUnicodefilesusedforgeneratingHIIStringPacks.
<Content>::={<CommentLine>}{<BlankLine>}
{<UnicodeLines>}{<ControlRefactor>}
{<LanguageDefs>}{<SecurityLines>}
{<IncludeLines>}
AdditionalDefinitionsusedforUnicodefilesusedtocreateHIIStringPacks.
<LanguageDefs>::=<CtrlChar>"langdef"<MS><LangCode><MS>
<LangDesc><EOL>
<LangDesc>::=<UDblQuote><Chars><UDblQuote>
<IncludeLines>::=<CtrlChar>"include"<UniFile><EOL>
<UniFile>::=<UDblQuote><UniFilename><UDblQuote>
<UniFilename>::=<FilenameChars><MoreFNameChars>*{".uni"}{".UNI"}
<FilenameChars>::={<Letter>}{<Digit>}
<MoreFNameChars>::={<Letter>}{<Digit>}{"_"}
<CtrlChar>::="/"
<ControlRefactor>::=<CtrlChar>"="<NewCtrlChar><EOL>
<NewCtrlChar>::=(0x0021-0xF6FF)
NOTE:UnicodefilesthatareusedforgeneratingHIIStringPacksaretheonlytypeofUnicodefilethatallowsforrefactoringthecontrolcharacter(providingbackwardcompatibility),<CtrlChar>.
3.1Examplefile
//
//CpuI/OStrings
//
//Copyright(c)2006,IntelCorporation.Allrightsreserved.<BR>
//
//Thisprogramandtheaccompanyingmaterialsarelicensedandmade
//availableunderthetermsandconditionsoftheBSDLicensewhich
//accompaniesthisdistribution.Thefulltextofthelicensemay
//befoundat:
//http://opensource.org/licenses/bsd-license.php
//
//THEPROGRAMISDISTRIBUTEDUNDERTHEBSDLICENSEONAN"ASIS"BASIS,
//WITHOUTWARRANTIESORREPRESENTATIONSOFANYKIND,EITHEREXPRESS
//ORIMPLIED.
//
/=#
#langdefen-US"English,US"
#langdeffr-FR"Français"
#stringSTR_PROCESSOR_VERSION
#languageen-US"NT32EmulatedProcessor"
3HIIStringPacksEDKIIMulti-String.UNIFileFormatSpecification
12Revision1.40
#languagefr-FR"ProcesseurÉmuléparNT32"
3HIIStringPacksEDKIIMulti-String.UNIFileFormatSpecification
13Revision1.40
4REDACTEDFormerly"Meta-DataUNIFiles".Thischapterintentionallyremoved.
4RedactedEDKIIMulti-String.UNIFileFormatSpecification
14Revision1.40
5FONTSUPPORTThischapterdefinestheoptionalattributesandentriesinEDKIIUnicodefilestosupportfontselection.
SyntaxThefollowingsectionsdescribeextensionstothe.uniformat.
Theextensionsaddsupportforfontsintothe.uniformatbyintroducingthe#fontdefand#fontcommands,extendingthe#stringcommandandaddingnewescapecharactersintothestrings.
FontsEverystringisassociatedwithafont.Eachfonthasafontidentifier,afontname,asize(inpixelheight)andastyle(normal,bold,etc.).Bydefault,stringswillbeassociatedwiththefontidentifiersysdefault.Usuallythisisassociatedwiththefontsysdefault,19,normal(thestandardUEFIfont).
Thedefaultfontassociatedwithstringscanbechangedfromsysdefaulttoanotherfontidentifierusingthe#fontcommand.Allstringsafterthe#fontcommandwillusethespecifiedfontidentifier.
Stringscanuseadifferent#fontidentifierbyusingthefontattributeofthe#stringcommand(beforethefirst#languageattribute).Astringinaspecificlanguagecanuseadifferentfontidentifierbyusingthe#fontattributeafterthelanguageattribute.
Characterswithinastringcanuseadifferentfontidentifier,adifferentfontsizeoradifferentfontstylebyusingthe\fescapesequencesdescribedbelow.TheseescapecharactersextendthosedescribedintheEDK2BuildSpecification.
Table1.uniFileFontEscapeCharacters
FontControlCharacter Description
\" Insertadouble-quote.
\\ Insertasinglebackslash.
\br Breakingcode.
\f!identifier! Selectthefontidentifierforthecharacterswhichfollow.
\fb Togglethecurrentboldstyleforcharactersthatfollowinthecurrentstring.
\fd Togglethecurrentdouble-underlinestyle.Ifthecurrentstyleisunderline,thestylebecomesdouble-underline.
\fe Togglethecurrentembossstyleforthecharactersthatfollow.
\fh!integer! Selectthefontsize(inpixels)forthecharactersthatfollow.
\fi Togglethecurrentitalicstyleforthecharactersthatfollowinthecurrentstring.
\fs Togglethecurrentshadowstyleforthecharactersthatfollowinthecurrentstring.
\fu Togglethecurrentunderlinestyleforthecharactersthatfollowinthecurrentstring.
\n Insertacarriage-returnandline-feed.
\narrow Displaythefollowingcharactersas"narrow"characters.
\nbr Non-breakingcode.
5FontSupportEDKIIMulti-String.UNIFileFormatSpecification
15Revision1.40
\nbr Non-breakingcode.
\r Insertacarriage-return.
\wide Displaythefollowingcharactersas"wide"characters
Fontidentifiersarecreatedbyusingthe#fontdef.
5.1#fontSetthedefaultfonttousewithallsubsequent#strings.
Syntax"#font"<MS>font-identifier
Attributesfont-identifier
Cstyleidentifierassociatedwiththefont.
5.2#fontdefAssociatedafontidentifierwithaspecificfontfamily,sizeandstyle.
Syntax
"#fontdef"<MS>_font-identifier_<MS><FontOptions><EOL>
<FontOptions>::=font-name<MS>font-size[<MS>font-style-list]
font-style-list::=<UDblQuote>[fs-entries]<UDblQuote>
fs-entries::=font-style["|"font-style]*
font-style::={"bold"}{"italic"}{"underline"}{"dblunder"}
{"shadow"}{"emboss"}{"normal"}
font-size::=(1-9)(0-9)*
Attributesfont-identifier
C-styleidentifier.
font-name
Quotedstringthatspecifiesafontfamilyname.Forexample,"Arial"or"TimesNewRoman"
font-size
Unsignedintegerthatspecifiestheheightofthefontcharactercell,inpixels.Forexample,theUEFIstandardfontissize19becausethecellis19pixelshigh.
font-style
Quotedstringthatcontainszeroormorekeywordsthatspecifythefontstyle,separatedbya"|".If"normal"isused,thenitmaynotbecombinedwithanyotherfontstyle.Ifthereisnofontstylespecified,then"normal"isassumed.
5FontSupportEDKIIMulti-String.UNIFileFormatSpecification
16Revision1.40
5.3#stringExtensionsTheEDKIIbuildcommandisresponsibleforparsingthe.unifilesspecifiedinINFfiles'[Sources]sections.ThetoolusespythonobjectstoconvertthesyntaxintheHIIstringfilestobytearraysintheAutoGen.cfileforeachmodule.
RefertotheEDKIIBuildSpecificationfordetailsontheprocessofcreatingthebytearrays.
Syntax
<UnicodeLines>::="#string"<MS><Identifier><ME>
[<FontId>]
[<LangLine>]+
<LangLine>::="#language"<MS>lang-code<ME><FontString>
<FontString>::=[<FontId>][<strings>]+
<FontId>::=["#font"<MS>font-identifier><ME>]
<strings>::=<String><ME>
[Extensionto#stringcommandintheEDK2BuildSpecification]Thefontattributespecifiesthedefaultfontthatwillbeusedforthecharactersinstring.If#fontisnotspecified,thenthedefaultfontidentifierwillbeused.
Ifthe#fontattributeappearsbeforethefirst#languageidentifier,thenitappliestoallcharactersforalllanguages.Ifthe#fontattributeappearsaftera#languageidentifier,itappliesonlytothestringcharactersinthatlanguage.Itispermissiblefor#fonttoappearinmorethanoneplace,inwhichcasethelanguage-specificfontidentifierwillhavepriority.
DescriptionThe#fontdefcommandintroducesafontidentifierandassociatesitwithafontofaparticularfamily,sizeandstyle.Ifthefontidentifierhasbeenpreviouslydefined,thenthenewdefinitionisignored.
5FontSupportEDKIIMulti-String.UNIFileFormatSpecification
17Revision1.40