我试图用C#(Mono)中的系统字体创建一个新字体。
System.Drawing.Font myfont=System.Drawing.SystemFonts.DefaultFont
代码在Windows中正常运行但是在Mac上运行时我得到一个参数异常 - The Requested font family Could not be found
我认为默认字体可能会丢失,所以我尝试使用Helvtica。默认情况下安装在Mac上
System.Drawing.Font myfont=new System.Drawing.Font("Helvetica",10f);
仍然是同样的例外
答案 0 :(得分:2)
根据SystemFonts.cs,默认字体为Microsoft Sans Serif size 8.25。
你提到的异常是从gdipFunctions.cs抛出的,这意味着你很可能使用Mono 2.0或Mono的类似旧分支,它使用基于GDI的FontFamilies实现而不是CoreText实现。
您是否安装了xquartz以及fontconfig的输出是什么,相关的错误报告是FontFamilyNotFound exception from bundled Xamarin.Mac app on OS X 10.7,建议升级到3.0.12或更高版本的Mono版本。
总之,要么升级您的Mono版本,要么安装xquartz并确保作为FreeType的一部分的fontconfig配置能够根据the release notes中的注释检测您要使用的字体。