AddBidiMarks

TxtSaveOptions.AddBidiMarks property

يحدد ما إذا كان سيتم إضافة علامات ثنائية الاتجاه قبل كل تشغيل BiDi عند التصدير بتنسيق نص عادي.

القيمة الافتراضية هيخطأ شنيع.

public bool AddBidiMarks { get; set; }

أمثلة

يوضح كيفية إدراج حرف Unicode “علامة من اليمين إلى اليسار” (U+200F) قبل كل تشغيل ثنائي الاتجاه في النص.

Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);

builder.Writeln("Hello world!");
builder.ParagraphFormat.Bidi = true;
builder.Writeln("שלום עולם!");
builder.Writeln("مرحبا بالعالم!");

// قم بإنشاء كائن "TxtSaveOptions"، والذي يمكننا تمريره إلى طريقة "حفظ" المستند
// لتعديل كيفية حفظ المستند إلى نص عادي.
TxtSaveOptions saveOptions = new TxtSaveOptions { Encoding = System.Text.Encoding.Unicode};

// اضبط خاصية "AddBidiMarks" على "true" لإضافة علامات قبل التشغيل
// بنص من اليمين إلى اليسار للإشارة إلى الحقيقة.
// اضبط خاصية "AddBidiMarks" على "خطأ" لكتابة كل شيء من اليسار إلى اليمين
// ومن اليمين إلى اليسار بشكل متساوٍ دون أي شيء يشير إلى أي منهما.
saveOptions.AddBidiMarks = addBidiMarks;

doc.Save(ArtifactsDir + "TxtSaveOptions.AddBidiMarks.txt", saveOptions);

string docText = System.Text.Encoding.Unicode.GetString(File.ReadAllBytes(ArtifactsDir + "TxtSaveOptions.AddBidiMarks.txt"));

if (addBidiMarks)
{
    Assert.AreEqual("\uFEFFHello world!‎\r\nשלום עולם!‏\r\nمرحبا بالعالم!‏\r\n\r\n", docText);
    Assert.True(docText.Contains("\u200f"));
}
else
{
    Assert.AreEqual("\uFEFFHello world!\r\nשלום עולם!\r\nمرحبا بالعالم!\r\n\r\n", docText);
    Assert.False(docText.Contains("\u200f"));
}

أنظر أيضا