系统字型名称在每个平台的取得方式不尽相同,以下示范如何在 iOS 取得系统内所有字型的名称:

uses
// 加入下面二个 uses 文件
iOSapi.UIKit,
iOSapi.Foundation,

开一个新工程,放一个按钮 TButton 及 TMemo,在按钮事件内加入下面代码:

procedure TForm1.Button1Click(Sender: TObject);
var i: Integer;
FontNames: NSArray;
begin
FontNames := TUIFont.OCClass.familyNames;
for i:= to FontNames.count - do
Memo1.Lines.Add(i.ToString + # + UTF8ToString(TNSString.Wrap(FontNames.objectAtIndex(i)).UTF8String));
end;

运行结果:

XE7 iOS 取得系统字型名称-LMLPHP

其它平台做法:

  1. Windows
  2. MacOS
    https://delphiscience.wordpress.com/2012/11/20/getting-system-fonts-list-in-firemonkey-the-new-tplatformextensions-class/
  3. Android (下列讨论区内,取得 /system/fonts 目录内字型档方式)
    http://stackoverflow.com/questions/3532397/how-to-retrieve-a-list-of-available-installed-fonts-in-android

XE7 iOS 取得系统字型名称-LMLPHP

/system/fonts
04-29 04:12