SetStructElemWritingMode

Tagged PDF, נגישות

תיאור

מגדיר את המאפיין /WritingMode (בעלים מאפיין Layout) על ה-structure element הפתוח כרגע על מחסנית התגים. מצב הכתיבה מכריז על כיוון הכתיבה העיקרי של הטקסט בתוך האלמנט ומשפיע על איך טכנולוגיה מסייעת מפרשת את סדר הקריאה. שווה ערך לקריאה ל-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, Table 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