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