FontSettings.SetFontReplacements

FontSettings.SetFontReplacements method

Imposta l’elenco di sostituzione dei caratteri. Se il carattere non è consentito, verrà trovata la sostituzione. Il primo carattere nell’elenco verrà utilizzato per primo. Se anche questo viene limitato, verrà selezionato il font successivo dall’elenco. Se il font non ha sostituzioni o tutte le sostituzioni non sono consentite, verrà utilizzato il primo font consentito dall’elenco dei font consentiti. Se non ci sono font consentiti e disponibili, la libreria lo farà prova a utilizzare il carattere predefinito del sistema anche se non è consentito.

public static void SetFontReplacements(string fontToReplace, string[] fontNames)
ParametroTipoDescrizione
fontToReplaceStringIl carattere da sostituire.
fontNamesString[]I nomi dei caratteri sostitutivi in ordine di somiglianza.

Eccezioni

eccezionecondizione
ArgumentExceptionLa lunghezza di Font Array e Font Differences Array devono essere uguali

Esempi

Il codice seguente illustra la possibilità di limitare a livello di codice l’utilizzo dei tipi di carattere.

[C#]

string srcFile = "fonts_com_updated.psd";
string output = "etalon_fonts_com_updated.psd.png";

try
{
    var fontList = new string[] { "Courier New", "Webdings", "Bookman Old Style" };
    FontSettings.SetAllowedFonts(fontList);

    var myriadReplacement = new string[] { "Courier New", "Webdings", "Bookman Old Style" };
    var calibriReplacement = new string[] { "Webdings", "Courier New", "Bookman Old Style" };
    var arialReplacement = new string[] { "Bookman Old Style", "Courier New", "Webdings" };
    var timesReplacement = new string[] { "Arial", "NotExistedFont", "Courier New" };

    FontSettings.SetFontReplacements("MyriadPro-Regular", myriadReplacement);
    FontSettings.SetFontReplacements("Calibri", calibriReplacement);
    FontSettings.SetFontReplacements("Arial", arialReplacement);
    FontSettings.SetFontReplacements("Times New Roman", timesReplacement);

    using (PsdImage image = (PsdImage)Image.Load(srcFile))
    {
        image.Save(output, new PngOptions() { ColorType = PngColorType.TruecolorWithAlpha });
    }
}
finally
{
    FontSettings.SetAllowedFonts(null);
    FontSettings.ClearFontReplacements();
}

Guarda anche