我怎么知道 TFont 名称是否真正受支持?

How do I know if a TFont Name is truly supported?

当我将 TRichEdit 控件的 TFont Name 属性 设置为 "Courier" 时,字体变为 Courier。

Edit->Font->Name  = "Courier";

如果我想使用一种我不确定系统是否支持它的字体(例如,在较旧的 OS 上)怎么办? 据我目前所知,如果我为 TFont 属性 分配一个 'unknown' 名称,实际字体不会改变,系统会处理它并坚持使用以前的字体,但是我如何以编程方式检查它?

我想知道字体是否真的改变了(因为字体可用/已安装)?

或者我是否需要查询 Screen->Fonts 以查明名称是否在列表中?

仅供参考:使用 Borland C++ Builder (2009),但我确定也与 Delphi 相关。

TScreen::Fonts 表示一个 TStrings 列表,其中包含系统中安装的字体的名称(实际名称而不是文件名)。

使用其 IndexOf() 方法来测试您的字体是否存在:

if (Screen->Fonts->IndexOf("Courier") != -1)
{
    ShowMessage("Font installed");
}