« [Font]NameiD | トップページ | [Font]postscript名を取得する(python利用) »

[python3]フォント情報をHTMLで表示する

ダウンロード - fontinfo2htmlpy.zip


↑試す時はダウンロードして実行してください
セットアップ用のscriptを同封しています

#!/usr/bin/env python3
#coding: utf-8
import sys
import os
from fontTools.ttLib import TTFont
from fontTools.ttLib import TTCollection

#font_path = "/System/Library/Fonts/Supplemental/Arial Bold.ttf"
#font_path = "/System/Library/Fonts/ヒラギノ明朝 ProN.ttc"
font_path = sys.argv[1]

"""
NameID
NameID 内容 備考
0 著作権 Copyright notice
1 フォントファミリ Font Family name
2 サブファミリ Font Subfamily name
3 識別子 Unique font identifi
4 フォント名 Full font name
5 バージョン Version string
6 PostScript名 Postscript name
7 商標 Trademark
8 メーカー名 Manufacturer Name
9 デザイナー Designer
10 説明 Description
11 URL URL
12 デザイナーURL URL Designer
13 ライセンス License Description
14 ライセンスURL License Info URL
15 未使用
16 タイポファミリ名 Preferred Family
17 タイポサブファミリ名 Preferred Subfamily
18 Mac用のメニュー表示  
19 サンプルテキスト  
20 PostScriptCID find PostScriptCIDフォント名
21 WWS ファミリ名 weight width slope※
22 WWS サブファミリー名 weight width slope
23 CPALL Color Palette Light カラーフォント用
24 CPALD Color Palette Dark カラーフォント用
25 PostScriptバリエーション名 Multiple Master用


###LanguageID
Win 0x0411: 'ja',
Mac 11: 'ja',
0 1033 英語 0=English; 1033=United States;
11 1041 日本語 11=日本語 1041=日本
##EncodinglD
0 Roman;
1 Unicode
###Platform ID
0 Unicode Indicates Unicode version.
1 Macintosh QuickDraw Script Manager code.
2 (reserved; do not use)
3 Microsoft Microsoft encoding.

https://developer.apple.com/fonts/TrueType-Reference-Manual/RM06/Chap6name.html/nfunction
"""

def ttc_func(font_path):
font_collection = TTCollection(font_path)
str_join_text = ""
str_join_text = str_join_text + (" \t" + str(font_path))
  for item_font in font_collection.fonts:
font_dic = item_font["name"].names
str_join_text = str_join_text + "\n" + str("-\t-" )
    for item in font_dic:
name_id = str(item.nameID)
item_value = str(item)
str_join_text = (str_join_text + "\n" + name_id + '\t' + item_value)

print(str_join_text)


def ttf_func(font_path):
font_single = TTFont(font_path)
font_dic = font_single["name"].names
  for item in font_dic:
name_id = str(item.nameID)
item_value = str(item)
str_join_text = ''.join(name_id + '\t' + item_value)
print(str_join_text)

#######
_, extension = os.path.splitext(font_path)
extension_lower = extension.lower()
if extension_lower == ".ttc":
ttc_func(font_path)
elif extension_lower == ".otc":
ttc_func(font_path)
elif extension_lower == ".otf":
ttf_func(font_path)
elif extension_lower == ".ttf":
ttf_func(font_path)

|

« [Font]NameiD | トップページ | [Font]postscript名を取得する(python利用) »

AppleScript Python」カテゴリの記事

AppleScript Fonts」カテゴリの記事