OCaml图形包中Graphics.set_font的参数是什么?

OCaml图形包中Graphics.set_font的参数是什么?,ocaml,Ocaml,我正在尝试使用Ocaml图形包。我想为我的聊天服务器应用程序创建一个GUI。我的代码是: let window = Graphics.open_graph ""; Graphics.set_window_title "caml-chat"; Graphics.set_font "ubuntu"; Graphics.set_text_size 12; Graphics.draw_string "hello!" 但是,Graphics.set\u font“ubuntu”不起作用。文档中说字符串参

我正在尝试使用Ocaml图形包。我想为我的聊天服务器应用程序创建一个GUI。我的代码是:

let window = Graphics.open_graph "";
Graphics.set_window_title "caml-chat";
Graphics.set_font "ubuntu";
Graphics.set_text_size 12;
Graphics.draw_string "hello!"
但是,
Graphics.set\u font“ubuntu”
不起作用。文档中说字符串参数依赖于系统,但是我找不到更多的信息。我只在问题的答案中提到了这一点,但并没有起作用


有人知道关于设置字体的其他信息吗?(或者可以为我指出一个简单的图形库,并提供更好的文档?

虽然您没有指定您的系统,但我会假设它是Linux(我怀疑Windows是否有
ubuntu
字体)

在Linux上,
set\u font
函数将参数传递给X库的函数。您可以使用
fc list
xfontsel
实用程序查询系统上可用的字体,或直接调用
XListFonts
功能

比如说,

fc-list | cut -d: -f2 | sort -u

将为您提供字体系列列表,您可以将其传递到
set\u font
函数。有些线路每条线路有多个族,用逗号(
)分隔。还有更多选项,您可以指定各种样式、尺寸等,但这都超出了范围。您可以通过fontconfig指南了解有关字体子系统的更多信息。例如,[此处],在“字体名称”部分,您可以找到有关如何构造字体名称的说明。

仍然无法帮助您准确了解函数需要什么。“/usr/share/font/truetype/noto/notosansnabatean Regular.ttf”或“noto Sans nabatean”或“noto Sans nabatean:style=Regular”或?!它实际上不在问题的范围之内,基本上,set_font是一个薄包装器,用于相应的操作系统字体子系统。您可以在此处阅读有关fontconfig系统的更多信息:有关说明和示例列表,请参阅“字体名称”部分。我不是字体方面的专家,我也不明白为什么它如此复杂,所以当我需要它时,我只需要第二个字段(字段由
)作为字体名称,它可以工作,例如,“Bitstream Vera Sans Mono”。