SetStructElemLang

Tagged PDF & Accessibility

Описание

Записывает /Lang в элемент структуры, который сейчас строится на стеке тегов. Языковой тег перекрывает язык уровня документа для этого элемента и всех потомков, что позволяет разноязычным документам объявлять правильный естественный язык для каждого фрагмента содержимого

Синтаксис

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);

Параметры

LangСтрока с тегом языка BCP 47, например en-US, fr, de-CH или zh-Hant-TW; пустая строка сбрасывает ранее заданное значение и возвращает язык уровня документа

Возвращаемое значение

Returns 1 on success, 0 if no structure element is currently open or no document is selected.

Примечания

Вызывайте сразу после BeginTag или BeginTagEx, пока целевой элемент на вершине стека тегов. Эквивалентно непустому аргументу Lang в BeginTagEx, но удобнее, когда язык определяется отдельно от типа элемента

The element-level /Lang entry is defined in ISO 32000-1 §14.9.2. It applies to the structure element and, by inheritance, to all child elements that do not themselves declare a /Lang. Screen readers use this entry to select the appropriate text-to-speech voice or language engine when reading the document aloud.

PDF/UA-1 (ISO 14289-1 §7.3) requires that all natural language content be identified. The document-level /Lang set by SetDocumentLanguage or SetPDFUAMode covers the primary language; SetStructElemLang covers sections whose language differs from the primary.

Пример

// 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;

См. также

BeginTagEx, SetDocumentLanguage, SetPDFUAMode, SetStructElemActualText, GetPDFUADiagnostics