Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 使用System.Drawing.Font时Mac中的Mono System.Argument异常_C#_.net_Macos_Fonts_Mono - Fatal编程技术网

C# 使用System.Drawing.Font时Mac中的Mono System.Argument异常

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 您提到的异常是从中抛出的,这意味

我正在尝试从C#(Mono)中的系统字体创建一个新字体

该代码在Windows中正常工作,但在Mac中运行时出现参数异常-
无法找到请求的字体系列

我认为默认字体可能丢失了,所以我尝试使用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);