FontSettings.SetFontReplacements

FontSettings.SetFontReplacements method

フォント置換リストを設定します。フォントが許可されていない場合は、代替が検出されます。 リストの最初の 1 つのフォントが最初に使用されます。それも制限されている場合は、リストから次のフォントが選択されます. フォントに置換がないか、すべての置換が許可されていない場合は、許可されたフォントリストから最初に許可されたフォントが使用されます. 許可された使用可能なフォントがない場合、ライブラリは許可されていない場合でも、システムのデフォルト フォントを使用してみてください。

public static void SetFontReplacements(string fontToReplace, string[] fontNames)
パラメータタイプ説明
fontToReplaceString置き換えるフォント。
fontNamesString[]類似した順に置換フォント名。

例外

例外調子
ArgumentExceptionフォント配列とフォント差分配列の長さは等しくなければなりません

次のコードは、 を使用してプログラムでフォントを制限する機能を示しています。

[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();
}

関連項目