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