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