PDFium Delphi Component Docs

ResolvePdfUaEffectiveLanguage función

Unidad: PDFium
Resuelve el lenguaje natural efectivo de una posición de contenido mediante la cascada de declaraciones de 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 la cascada de lenguajes de ISO 14289 a una posición de contenido y llena Resolution con la declaración ganadora

Cuando HasMarkedContentLanguage es True, gana el valor /Lang del marked-content y Resolution.Source es pulsMarkedContent

De lo contrario, se recorren el elemento en ElementIndex y sus ancestros a través de ParentIndex hasta que uno tenga un Language no vacío; Resolution.Source es entonces pulsStructure y StructureElementIndex registra el elemento declarante

Cuando ningún elemento de estructura declara un lenguaje, se aplica un CatalogLanguage no vacío con Source pulsCatalog

Cada candidato se valida con IsPdfUaLanguageTagValid y el resultado se guarda en Resolution.DeclarationValid

La función devuelve Resolution.IsCovered, que es True solo cuando se encontró una declaración y esta es una etiqueta bien formada

Cuando no existe ningún candidato, Resolution conserva Source pulsNone con un Language vacío y el resultado es False

Remarks

Example

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

See Also

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