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