MemoryFontSource

MemoryFontSource(byte[])

Director.

public MemoryFontSource(byte[] fontData)
ParámetroEscribeDescripción
fontDataByte[]Datos de fuente binaria.

Ejemplos

Muestra cómo utilizar una matriz de bytes con datos de un archivo de fuente como fuente de fuente.

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);

Ver también


MemoryFontSource(byte[], int)

Director.

public MemoryFontSource(byte[] fontData, int priority)
ParámetroEscribeDescripción
fontDataByte[]Datos de fuente binaria.
priorityInt32Prioridad de fuente de fuente. Ver elPriority descripción de la propiedad para más información.

Ejemplos

Muestra cómo utilizar una matriz de bytes con datos de un archivo de fuente como fuente de fuente.

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);

Ver también


MemoryFontSource(byte[], int, string)

Director.

public MemoryFontSource(byte[] fontData, int priority, string cacheKey)
ParámetroEscribeDescripción
fontDataByte[]Datos de fuente binaria.
priorityInt32Prioridad de fuente de fuente. Ver elPriority descripción de la propiedad para más información.
cacheKeyStringLa clave de esta fuente en el caché. VerCacheKey descripción de la propiedad para más información.

Ejemplos

Muestra cómo acelerar el proceso de inicialización de la caché de fuentes.

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>
/// Carga los datos de la fuente solo cuando sea necesario en lugar de almacenarlos en la memoria
/// durante toda la vida útil del objeto "FontSettings".
/// </summary>
private class SearchCacheStream : StreamFontSource
{
    public SearchCacheStream(string cacheKey):base(0, cacheKey)
    {
    }

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

Ver también