C# 使用System.Drawing.Font时Mac中的Mono System.Argument异常
我正在尝试从C#(Mono)中的系统字体创建一个新字体 该代码在Windows中正常工作,但在Mac中运行时出现参数异常-C# 使用System.Drawing.Font时Mac中的Mono System.Argument异常,c#,.net,macos,fonts,mono,C#,.net,Macos,Fonts,Mono,我正在尝试从C#(Mono)中的系统字体创建一个新字体 该代码在Windows中正常工作,但在Mac中运行时出现参数异常-无法找到请求的字体系列 我认为默认字体可能丢失了,所以我尝试使用Helvtica。默认情况下,它安装在Mac上 System.Drawing.Font myfont=new System.Drawing.Font("Helvetica",10f); 仍然是相同的例外,默认字体为Microsoft Sans Serif size 8.25 您提到的异常是从中抛出的,这意味
无法找到请求的字体系列
我认为默认字体可能丢失了,所以我尝试使用Helvtica。默认情况下,它安装在Mac上
System.Drawing.Font myfont=new System.Drawing.Font("Helvetica",10f);
仍然是相同的例外,默认字体为Microsoft Sans Serif size 8.25
您提到的异常是从中抛出的,这意味着您很可能使用Mono 2.0或Mono的类似旧分支,后者使用基于GDI的FontFamilies实现,而不是CoreText实现
您是否安装了xquartz?fontconfig的输出是什么?相关的错误报告是,它建议升级到Mono的3.0.12或更高版本
总之,升级您的Mono版本或安装xquartz,并确保作为FreeType一部分的fontconfig配置能够根据中的注释检测到您想要使用的字体。非常感谢您给出的明确答案,更新到Mono 3.0.12后让我检查一下,我想我已经在Mac上安装了2.0版本。我的家用电脑的互联网连接现在已经断开了。我刚刚将Mono更新为3.0,现在代码运行得很好。没有引发异常。你认为使用GDI+在Mono中绘图是个坏主意吗?这不是个坏主意,它只需要正确配置fontconfig并安装xquartz。我计划将Mono运行时环境与我的应用程序结合起来。我不想要求用户单独安装东西。这会有任何问题吗?不使用较新版本的Mono。如果您使用的是旧版本,则还需要结合xquartz,并具有一个自动脚本,以确保fontconfig配置正确
System.Drawing.Font myfont=new System.Drawing.Font("Helvetica",10f);