FileFontSource

FileFontSource(string)

Ctor.

public FileFontSource(string filePath)
ParametroTipoDescrizione
filePathStringPercorso del file del carattere.

Esempi

Mostra come utilizzare un file di font nel file system locale come origine di font.

FileFontSource fileFontSource = new FileFontSource(MyDir + "Alte DIN 1451 Mittelschrift.ttf", 0);

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

Assert.AreEqual(MyDir + "Alte DIN 1451 Mittelschrift.ttf", fileFontSource.FilePath);
Assert.AreEqual(FontSourceType.FontFile, fileFontSource.Type);
Assert.AreEqual(0, fileFontSource.Priority);

Guarda anche


FileFontSource(string, int)

Ctor.

public FileFontSource(string filePath, int priority)
ParametroTipoDescrizione
filePathStringPercorso del file del carattere.
priorityInt32Priorità della fonte del carattere. Vedi ilPriority descrizione della proprietà per ulteriori informazioni.

Esempi

Mostra come utilizzare un file di font nel file system locale come origine di font.

FileFontSource fileFontSource = new FileFontSource(MyDir + "Alte DIN 1451 Mittelschrift.ttf", 0);

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

Assert.AreEqual(MyDir + "Alte DIN 1451 Mittelschrift.ttf", fileFontSource.FilePath);
Assert.AreEqual(FontSourceType.FontFile, fileFontSource.Type);
Assert.AreEqual(0, fileFontSource.Priority);

Guarda anche


FileFontSource(string, int, string)

Ctor.

public FileFontSource(string filePath, int priority, string cacheKey)
ParametroTipoDescrizione
filePathStringPercorso del file del carattere.
priorityInt32Priorità della fonte del carattere. Vedi ilPriority descrizione della proprietà per ulteriori informazioni.
cacheKeyStringLa chiave di questa origine nella cache. VedereCacheKey descrizione della proprietà per ulteriori informazioni.

Esempi

Mostra come velocizzare il processo di inizializzazione della cache dei caratteri.

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>
/// Carica i dati dei caratteri solo quando richiesto invece di archiviarli nella memoria
/// per l'intera durata dell'oggetto "FontSettings".
/// </summary>
private class SearchCacheStream : StreamFontSource
{
    public SearchCacheStream(string cacheKey):base(0, cacheKey)
    {
    }

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

Guarda anche