PDFium Component Docs

ResolvePdfUaEffectiveLanguage funkcja

Unit: PDFium
Rozwiązuje efektywny język naturalny jednej pozycji treści poprzez kaskadę deklaracji 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 stosuje kaskadę językową ISO 14289 do jednej pozycji treści i wypełnia Resolution zwycięską deklaracją

Gdy HasMarkedContentLanguage ma wartość True, wygrywa wartość /Lang z marked-content, a Resolution.Source przyjmuje pulsMarkedContent

W przeciwnym razie przechodzimy od elementu o indeksie ElementIndex w górę przez ParentIndex kolejnych przodków, aż któryś przeniesie niepuste Language; wówczas Resolution.Source przyjmuje pulsStructure, a StructureElementIndex zapamiętuje element deklarujący

Gdy żaden element struktury nie deklaruje języka, stosuje się niepuste CatalogLanguage ze Source równym pulsCatalog

Każdy kandydat jest walidowany przez IsPdfUaLanguageTagValid, a wynik trafia do Resolution.DeclarationValid

Funkcja zwraca Resolution.IsCovered, które ma wartość True tylko wtedy, gdy znaleziono deklarację i jest to poprawnie zbudowany tag

Gdy nie ma żadnego kandydata, Resolution zachowuje Source równe pulsNone z pustym Language, a wynik to False

Remarks

Example

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

See Also

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