SetStructElemLang

Tagged PDF & Barrierefreiheit

Beschreibung

Legt den Eintrag /Lang auf dem Strukturelement fest, das derzeit auf dem Tag-Stapel aufgebaut wird. Das Sprach-Tag überschreibt die Sprache auf Dokumentebene für dieses Element und alle seine Nachfolger, sodass gemischtsprachige Dokumente für jeden Inhaltsabschnitt die richtige natürliche Sprache deklarieren können.

Syntax

Delphi

Function TPDFlib.SetStructElemLang(Const Lang: WideString): Integer;

ActiveX

Function PDFlib::SetStructElemLang(Lang As String) As Long

DLL

int DLSetStructElemLang(int InstanceID, const wchar_t * Lang);

Parameter

LangEine BCP-47-Sprach-Tag-Zeichenfolge, etwa en-US, fr, de-CH oder zh-Hant-TW. Übergeben Sie eine leere Zeichenfolge, um einen zuvor gesetzten Wert zu löschen und die Sprache auf Dokumentebene zu erben.

Rückgabewert

Gibt bei Erfolg 1 oder 0 zurück, wenn derzeit kein Strukturelement geöffnet oder kein Dokument ausgewählt ist

Anmerkungen

Rufen Sie diese Funktion unmittelbar nach BeginTag oder BeginTagEx auf, während sich das Zielelement oben im Tag-Stack befindet. Dies entspricht der Übergabe eines nicht leeren Arguments Lang an BeginTagEx, kann jedoch praktischer sein, wenn die Sprache unabhängig vom Elementtyp bestimmt wird

Der Eintrag /Lang auf Elementebene ist in ISO 32000-1 §14.9.2 definiert. Er gilt für das Strukturelement und durch Vererbung für alle untergeordneten Elemente, die kein eigenes /Lang deklarieren. Screenreader verwenden diesen Eintrag, um beim Vorlesen des Dokuments die passende Sprachausgabestimme oder Sprachengine auszuwählen.

PDF/UA-1 (ISO 14289-1 §7.3) verlangt, dass alle Inhalte in natürlicher Sprache gekennzeichnet sind. Das mit SetDocumentLanguage oder SetPDFUAMode auf Dokumentebene festgelegte /Lang deckt die Hauptsprache ab; SetStructElemLang gilt für Abschnitte, deren Sprache von der Hauptsprache abweicht

Beispiel

// A French phrase embedded in an English document
PDFlib.SetPDFUAMode('en-US');
// ... English content
PDFlib.BeginTag('P', '', '');
PDFlib.SetStructElemLang('fr');
PDFlib.TextOut(x, y, 'Bonjour le monde');
PDFlib.EndTag;

Siehe auch

BeginTagEx, SetDocumentLanguage, SetPDFUAMode, SetStructElemActualText, GetPDFUADiagnostics