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 برمی‌گرداند. اگر سندی باز نباشد یا در حال حاضر هیچ tagای روی tag stack باز نباشد، 0 برمی‌گرداند

ملاحظات

این تابع را بعد از BeginTag یا BeginTagEx و قبل از EndTag فراخوانی کنید. ویژگی /WritingMode در ISO 32000-1 §14.8.5.4.2 (مالک ویژگی Layout، جدول 340) تعریف شده است

وقتی سند در سراسر محتوا از جهت نوشتاری یکسانی استفاده می‌کند، لازم نیست /WritingMode روی هر عنصر تنظیم شود — در نبود این ویژگی، LrTb پیش‌فرض اعمال می‌شود. برای عناصر در سطح block که جهت نوشتارشان با محتوای اطراف فرق دارد، ویژگی را صریح تنظیم کنید؛ مثلاً برای نقل‌قول عبری که در یک پاراگراف انگلیسی جاسازی شده است

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