XE7 iOS 取得系统字型名称

系统字型名称在每个平台的取得方式不尽相同,以下示范如何在 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:=0 to FontNames.count - 1 do
         Memo1.Lines.Add(i.ToString + #9 + UTF8ToString(TNSString.Wrap(FontNames.objectAtIndex(i)).UTF8String));
end;

运行结果:

 

其它平台做法:

  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

/system/fonts
posted @ 2015-03-22 19:25  龟山Aone  阅读(688)  评论(1编辑  收藏  举报