SetStructElemWritingMode
ملف PDF ذو بنية، إمكانية الوصول
الوصف
يضبط خاصية /WritingMode (مالك خصائص التخطيط) على عنصر البنية المفتوح حاليًا على رصة الوسوم. يعلن وضع الكتابة اتجاه الكتابة الرئيس للنص داخل العنصر ويؤثر في كيفية تفسير تقنيات المساعدة لترتيب القراءة. وتكافئ استدعاء 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 (بنوع وسم TH) وقبل EndTag. وتُعرَّف خاصية /Scope في ISO 32000-1 §14.8.5.7.2 (مالك خصائص الجداول)
عندما يستخدم المستند اتجاه كتابة متسقًا في كله، لا يلزم ضبط /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