07/11/27 10:55:20 6/xOa7N/.net
>142の問題。 単なる杞憂なのかそれとも・・。
URLリンク(sourceforge.jp)
IPAゴシックとMSゴシックの比較画像です。
URLリンク(sourceforge.jp)
インストールされている全フォントの EMサイズの取得方法です。
EMサイズに対する、アセントとディセントの取得方法は解りません。
function EnumProc(ELF: PEnumLogFont; NTM: PNewTextMetric;
FontType: Integer; Param: Longint): Integer; stdcall;
begin
Form1.Memo1.Lines.Add(Format('%22s: SizeEM=%4d; CellHeight=%4d; AvgWidth=%4d', [
ELF.elfFullName, NTM.ntmSizeEM, NTM.ntmCellHeight, NTM.ntmAvgWidth]));
Result := 1;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
EnumFontFamilies(Canvas.Handle, nil, @EnumProc, 0);
end;
Arial: SizeEM=2048; CellHeight=2288; AvgWidth= 904
MS ゴシック: SizeEM= 256; CellHeight= 256; AvgWidth= 128
MS 明朝: SizeEM= 256; CellHeight= 256; AvgWidth= 128
IPAゴシック: SizeEM=1000; CellHeight=1076; AvgWidth= 500
IPA明朝: SizeEM=1000; CellHeight=1102; AvgWidth= 500
MS ゴシックのファイル名は MSGOTHIC.ttc で、この ttc は
TrueTypeCollectionの事で、複数のフォントが入ってるらしい。
他の書体も作るなら、リアルタイムで他の書体の完成図を小さく表示しておくのもいいかもしれません。