function ResolvePdfUaEffectiveLanguage(const CatalogLanguage: WString;
const Elements: TPdfStructureElements; ElementIndex: Integer;
const MarkedContentLanguage: WString; HasMarkedContentLanguage: Boolean;
out Resolution: TPdfUaLanguageResolution): Boolean
| CatalogLanguage | WString |
| Elements | TPdfStructureElements |
| ElementIndex | Integer |
| MarkedContentLanguage | WString |
| HasMarkedContentLanguage | Boolean |
| Resolution | TPdfUaLanguageResolution |
BooleanResolvePdfUaEffectiveLanguage past de ISO 14289-taalcascade toe op één inhoudspositie en vult Resolution met de winnende declaratie
Wanneer HasMarkedContentLanguage True is, wint de marked-content-waarde /Lang en is Resolution.Source pulsMarkedContent
Anders worden het element op ElementIndex en zijn voorouders via ParentIndex doorlopen totdat één ervan een niet-lege Language draagt; Resolution.Source is dan pulsStructure en StructureElementIndex legt het declarerende element vast
Wanneer geen structurelement een taal declareert, geldt een niet-lege CatalogLanguage met Source pulsCatalog
Elke kandidaat wordt gevalideerd met IsPdfUaLanguageTagValid en de uitkomst wordt opgeslagen in Resolution.DeclarationValid
De functie geeft Resolution.IsCovered terug, die alleen True is wanneer een declaratie is gevonden en het een goed gevormde tag is
Wanneer er geen kandidaat bestaat, houdt Resolution Source pulsNone aan met een lege Language en is het resultaat False
Covered := ResolvePdfUaEffectiveLanguage(Pdf.Language, Elements, I, '', False, Resolution);