PSD中设置本地已有的字体仍旧报错,提示“Font name cant be NULL, empty, or whitespace.”

我们设置字体信息时,报错,字体确定是在本地已经正确安装了

设置字体的代码是
第一种设置方法是portion.Style.FontName = FontSettings.GetAdobeFontName(“Cabin Bold Italic”)
第二种设置方法是portion.Style.FontName = FontSettings.GetAdobeFontName(“Cabin”);

报错内容是Font name cant be NULL, empty, or whitespace.

以下是我们的字体安装的文件信息
Cabin.zip (50.0 KB)

@zyyxiage
您能否另外提供输入文件。另请提供操作系统信息、所用库的Aspose.PSD版本和.NET版本

我们已在内部问题跟踪系统中打开以下新票证,并将根据 Free Support Policies 中提到的条款提供修复。

Issue ID(s): PSDNET-2123

如果您需要优先支持,以及直接联系我们的付费支持管理团队,您可以获取 Paid Support Services

操作系统:windows server 2016
所用库的Aspose.PSD版本:aspose.psd 24.7.0.0
.NET版本:.net 4.6.1

以下是我们使用的psd文件
T427019_16个_0626测试 非全覆盖.zip (307.9 KB)

还有,我们传入的参数是Arial字体,但是返回的是 ArialMT
ea5a99b8b5135c7ea48a9b0123e58e62.png (4.6 KB)

@zyyxiage 我已经更新了创建的任务。调查结束后我会给你回短信

@zyyxiage
您提供了一个字体文件,其中包含“Cabin Bold Italic”字体。
此字体的名称为“Cabin”。
要正确获取“Cabin”字体的 Adob​​e 字体名称,您需要使用下一行代码:

string adobeFontNameOfCabinBoldItalic = FontSettings.GetAdobeFontName("Cabin");

如果您的系统上未安装此字体,您可以手动添加它,然后通过下一行代码获取 Adob​​e 字体名称:

string dir = Environment.GetFolderPath(Environment.SpecialFolder.Desktop);
string fontsDir = Path.Combine(dir, "Fonts");

//手动添加字体
List<string> fontFolders = new List<string>(FontSettings.GetFontsFolders());
fontFolders.Add(fontsDir);
FontSettings.SetFontsFolders(fontFolders.ToArray(), true);

string adobeFontNameOfCabinBoldItalic = FontSettings.GetAdobeFontName("Cabin");