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(レイアウト属性所有者、表 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