SetStructElemWritingMode
Структурований PDF, Доступність
Опис
Задає атрибут /WritingMode (власник Layout) на структурному елементі, відкритому на стеці тегів. Режим письма оголошує головний напрямок письма тексту всередині елемента та впливає на те, як асистивні технології тлумачать порядок читання. Еквівалент виклику AddTagAttribute з Owner=Layout, Name=WritingMode і назвою режиму як значенням
Синтаксис
Delphi
Function TPDFlib.SetStructElemWritingMode(Const WritingMode: WideString): Integer;
ActiveX
Function PDFlib::SetStructElemWritingMode(WritingMode As String) As Long
DLL
int DLSetStructElemWritingMode(int InstanceID, const wchar_t * WritingMode);
Параметри
| WritingMode | Напрямок письма для елемента. Має бути одним із таких значень з урахуванням регістру: LrTb — зліва праворуч, зверху вниз (типово; латиниця, кирилиця, грецька та більшість систем письма) RlTb — справа ліворуч, зверху вниз (арабська, іврит) TbRl — зверху вниз, справа ліворуч (традиційний вертикальний CJK-текст) |
|---|
Повернуте значення
Повертає 1 в разі успіху. Повертає 0, якщо жоден документ не відкрито або на стеці тегів зараз немає відкритого тега
Примітки
Викличте цю функцію після BeginTag чи BeginTagEx і перед EndTag. Атрибут /WritingMode визначено в ISO 32000-1 §14.8.5.4.2 (Layout attribute owner, Таблиця 340)
Коли документ використовує послідовний напрямок письма по всьому тексту, не обов'язково встановлювати /WritingMode на кожному елементі — типовий LrTb застосовується, коли атрибут відсутній. Встановлюйте атрибут явно на блочних елементах, чий напрямок письма відрізняється від навколишнього вмісту, наприклад на івритовій цитаті, вбудованій в англійський абзац
PDF/UA-1 (ISO 14289-1 §7.2) вимагає, щоб природна мова кожного фрагмента тексту визначалася однозначно. /WritingMode доповнює атрибут /Lang (SetStructElemLang): /Lang оголошує, якою мовою промовляється, а /WritingMode — фізичний напрямок письма, який асистивна технологія має використовувати для подання
Приклад
// Arabic paragraph — right-to-left writing direction
PDFlib.BeginTagEx('P', '', '', 'ar-SA');
PDFlib.SetStructElemWritingMode('RlTb');
PDFlib.DrawText('...Arabic text...', 450, 700);
PDFlib.EndTag;
// Vertical CJK heading
PDFlib.BeginTagEx('H1', '', '', 'zh-TW');
PDFlib.SetStructElemWritingMode('TbRl');
PDFlib.DrawText('...CJK vertical text...', 500, 700);
PDFlib.EndTag;Див. також
SetStructElemBBox, SetStructElemLang, AddTagAttribute, BeginTag, EndTag