PDFium Delphi Component Docs

ResolvePdfUaEffectiveLanguage Fonction

Module: PDFium
Résout la langue naturelle effective d’une position de contenu via la cascade de déclarations ISO 14289

Syntax

function ResolvePdfUaEffectiveLanguage(const CatalogLanguage: WString;
  const Elements: TPdfStructureElements; ElementIndex: Integer;
  const MarkedContentLanguage: WString; HasMarkedContentLanguage: Boolean;
  out Resolution: TPdfUaLanguageResolution): Boolean;

Parameters

CatalogLanguageWString
ElementsTPdfStructureElements
ElementIndexInteger
MarkedContentLanguageWString
HasMarkedContentLanguageBoolean
ResolutionTPdfUaLanguageResolution

Return Value

Boolean

Description

ResolvePdfUaEffectiveLanguage applique la cascade de langues ISO 14289 à une position de contenu et renseigne Resolution avec la déclaration retenue

Lorsque HasMarkedContentLanguage vaut True, la valeur /Lang du contenu marqué l’emporte et Resolution.Source vaut pulsMarkedContent

Sinon, l’élément situé à ElementIndex et ses ancêtres sont parcourus via ParentIndex jusqu’à ce que l’un d’eux porte une Language non vide ; Resolution.Source vaut alors pulsStructure et StructureElementIndex mémorise l’élément déclarant

Lorsqu’aucun élément de structure ne déclare de langue, une CatalogLanguage non vide s’applique avec Source pulsCatalog

Chaque candidat est validé avec IsPdfUaLanguageTagValid et le résultat est stocké dans Resolution.DeclarationValid

La fonction renvoie Resolution.IsCovered, qui ne vaut True que lorsqu’une déclaration a été trouvée et qu’il s’agit d’une balise bien formée

Lorsqu’il n’existe aucun candidat, Resolution conserve Source pulsNone avec une Language vide et le résultat est False

Remarks

Example

Covered := ResolvePdfUaEffectiveLanguage(Pdf.Language, Elements, I, '', False, Resolution);

See Also

IsPdfUaLanguageTagValid, TPdf.InspectPdfUaLanguageCoverage, TPdf.Language, TPdf.StructureElements