SetStructElemWritingMode

标记 PDF、可访问性

描述

在当前于标记栈中打开的结构元素上设置 /WritingMode 属性(布局属性所有者)。书写模式声明元素内文本的主要书写方向,并影响辅助技术解释阅读顺序的方式。等同于调用 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(布局属性所有者,表 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