MemoryFontSource

MemoryFontSource(byte[])

الممثل.

public MemoryFontSource(byte[] fontData)
معامليكتبوصف
fontDataByte[]بيانات الخط الثنائي.

أمثلة

يوضح كيفية استخدام مصفوفة بايت مع البيانات من ملف خط كمصدر خط.

byte[] fontBytes = File.ReadAllBytes(MyDir + "Alte DIN 1451 Mittelschrift.ttf");
MemoryFontSource memoryFontSource = new MemoryFontSource(fontBytes, 0);

Document doc = new Document();
doc.FontSettings = new FontSettings();
doc.FontSettings.SetFontsSources(new FontSourceBase[] {memoryFontSource});

Assert.AreEqual(FontSourceType.MemoryFont, memoryFontSource.Type);
Assert.AreEqual(0, memoryFontSource.Priority);

أنظر أيضا


MemoryFontSource(byte[], int)

الممثل.

public MemoryFontSource(byte[] fontData, int priority)
معامليكتبوصف
fontDataByte[]بيانات الخط الثنائي.
priorityInt32أولوية مصدر الخط. انظرPriority وصف العقار لمزيد من المعلومات.

أمثلة

يوضح كيفية استخدام مصفوفة بايت مع البيانات من ملف خط كمصدر خط.

byte[] fontBytes = File.ReadAllBytes(MyDir + "Alte DIN 1451 Mittelschrift.ttf");
MemoryFontSource memoryFontSource = new MemoryFontSource(fontBytes, 0);

Document doc = new Document();
doc.FontSettings = new FontSettings();
doc.FontSettings.SetFontsSources(new FontSourceBase[] {memoryFontSource});

Assert.AreEqual(FontSourceType.MemoryFont, memoryFontSource.Type);
Assert.AreEqual(0, memoryFontSource.Priority);

أنظر أيضا


MemoryFontSource(byte[], int, string)

الممثل.

public MemoryFontSource(byte[] fontData, int priority, string cacheKey)
معامليكتبوصف
fontDataByte[]بيانات الخط الثنائي.
priorityInt32أولوية مصدر الخط. انظرPriority وصف العقار لمزيد من المعلومات.
cacheKeyStringمفتاح هذا المصدر في ذاكرة التخزين المؤقت. يرىCacheKey وصف العقار لمزيد من المعلومات.

أمثلة

يوضح كيفية تسريع عملية تهيئة ذاكرة التخزين المؤقت للخط.

public void LoadFontSearchCache()
{
    const string cacheKey1 = "Arvo";
    const string cacheKey2 = "Arvo-Bold";
    FontSettings parsedFonts = new FontSettings();
    FontSettings loadedCache = new FontSettings();

    parsedFonts.SetFontsSources(new FontSourceBase[]
    {
        new FileFontSource(FontsDir + "Arvo-Regular.ttf", 0, cacheKey1),
        new FileFontSource(FontsDir + "Arvo-Bold.ttf", 0, cacheKey2)
    });

    using (MemoryStream cacheStream = new MemoryStream())
    {
        parsedFonts.SaveSearchCache(cacheStream);
        loadedCache.SetFontsSources(new FontSourceBase[]
        {
            new SearchCacheStream(cacheKey1),                    
            new MemoryFontSource(File.ReadAllBytes(FontsDir + "Arvo-Bold.ttf"), 0, cacheKey2)
        }, cacheStream);
    }

    Assert.AreEqual(parsedFonts.GetFontsSources().Length, loadedCache.GetFontsSources().Length);
}

/// <summary>
/// قم بتحميل بيانات الخط فقط عند الحاجة إليها بدلاً من تخزينها في الذاكرة
/// طوال عمر كائن "FontSettings".
/// </summary>
private class SearchCacheStream : StreamFontSource
{
    public SearchCacheStream(string cacheKey):base(0, cacheKey)
    {
    }

    public override Stream OpenFontDataStream()
    {
        return File.OpenRead(FontsDir + "Arvo-Regular.ttf");
    }
}

أنظر أيضا