PDFium Delphi Component Docs

Função ResolvePdfUaEffectiveLanguage

Unidade: PDFium
Resolve a linguagem natural efetiva de uma posição de conteúdo por meio da cascata de declarações da 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 aplica a cascata de linguagem da ISO 14289 a uma posição de conteúdo e preenche Resolution com a declaração vencedora

Quando HasMarkedContentLanguage é True, o valor /Lang do marked-content vence e Resolution.Source é pulsMarkedContent

Caso contrário, o elemento em ElementIndex e seus ancestrais são percorridos por meio de ParentIndex até que um deles carregue um Language não vazio; Resolution.Source então é pulsStructure e StructureElementIndex registra o elemento declarante

Quando nenhum elemento de estrutura declara uma linguagem, um CatalogLanguage não vazio se aplica com Source pulsCatalog

Cada candidato é validado com IsPdfUaLanguageTagValid e o resultado é armazenado em Resolution.DeclarationValid

A função retorna Resolution.IsCovered, que é True apenas quando uma declaração foi encontrada e é uma tag bem formada

Quando não existe candidato, Resolution mantém Source pulsNone com um Language vazio e o resultado é False

Remarks

Example

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

See Also

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