SetStructElemLangA

Структурированный PDF и доступность

Описание

Завершающая A обозначает точку входа DLL типа ANSI (char); интерфейс ActiveX/COM предоставляет только форму Unicode. Поведение идентично SetStructElemLang, а строковые аргументы интерпретируются с использованием текущей кодовой страницы SetAnsiMode

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

Синтаксис

Delphi

Function DLSetStructElemLangA(InstanceID: Integer; Lang: PAnsiChar): Integer;

DLL

int DLSetStructElemLangA(int InstanceID, const char * Lang);

Параметры

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

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

Возвращает 1 при успехе, 0 если открытый структурный элемент отсутствует или документ не выбран.

Примечания

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

Запись /Lang на уровне элемента определена в ISO 32000-1 §14.9.2. Она относится к структурному элементу и по наследству — ко всем дочерним элементам, не объявляющим собственный /Lang. Программы чтения с экрана используют эту запись, чтобы выбрать подходящий голос синтеза речи или языковой движок при чтении документа вслух.

PDF/UA-1 (ISO 14289-1 §7.3) требует идентификации всего содержимого на естественном языке. /Lang уровня документа, задаваемый SetDocumentLanguage или SetPDFUAMode, покрывает основной язык; SetStructElemLang покрывает разделы, чей язык отличается от основного.

Пример

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