« フレッツv6オプションのv6ネームを使ってipip 接続する | メイン | ボンネットをエア抜き+軽量FRPに替えました »

2023年4月 6日

フォントファイルからフォント名を取得する >>WindowsOS 

フォントのファイル名がなんなのかわからない命名になってるのが多かったりするので、どうにかせんとなーと。
Truetype fontcollectionとかいう本に入ってるのだと、TT0131M_.TTF, TT0802M_.TTF なんてなってます。
モリサワの新しいのとかもわけわかめです。わかめがしげりすぎです。

さてGetFontResourceInfoW使うとか、FreeType 使うとか悩みましたが、Windows環境だったらばShell.Applicationの GetDetailsOf で取るのが簡単でした。

ファイルを右クリックのプロパティで取れる値ですね。

以下はVBA雑コード。Recordsetにデータぶち込むようにしてからテキストファイルにコピーするなどしたあとにバッチでリネームとか。paramが空だと取れる種類がとれます。ファイルタイプとかフォルダで取れる項目が違いますので、適宜おしらべください。ファイルの書き出しパラメータ間違ってないかプロパティで調べてリスト作るのも応用できますわね。

Dim Varpath As Variant
Dim m_shell As Object
Dim target As Object
Dim itm As Object
Dim file As Object
Dim i As Variant

Varpath = "f:\Font2"
Set m_shell = CreateObject("Shell.Application")
Set target = m_shell.Namespace(Varpath)

'With CreateObject("Shell.Application").Namespace(Varpath)
' For i = 0 To 154
' Debug.Print "i: " & i & " " + target.GetDetailsOf(EMPTYPARAM, i)
' Next
' Exit Sub
'End With

For Each file In target.Items
Debug.Print file.Name
Debug.Print target.GetDetailsOf(target.ParseName(file.Name), 21)
Next
MsgBox "end"

----ここまで
ファイル名の対応
TT0131M_.TTF Broadway BT
TT0802M_.TTF Broadway Engraved BT

GetDetailsOf の iColumn引数を取ってみたいちぶ

i: 0 名前
i: 1 サイズ
i: 2 項目の種類
i: 3 更新日時
i: 4 作成日時
i: 5 アクセス日時
i: 6 属性
i: 7 オフラインの状態
i: 8 利用可能性
i: 9 認識された種類
i: 10 所有者
i: 11 分類
i: 12 撮影日時
i: 13 参加アーティスト
i: 14 アルバム
i: 15 年
i: 16 ジャンル
i: 17 指揮者
i: 18 タグ
i: 19 評価
i: 20 作成者
i: 21 タイトル
i: 22 件名
i: 23 分類項目
i: 24 コメント
i: 25 著作権
i: 26 トラック番号
i: 27 長さ
i: 28 ビット レート
i: 29 保護
i: 30 カメラのモデル
i: 31 大きさ
i: 32 カメラの製造元
i: 33 会社
i: 34 ファイルの説明
i: 35 マスター キーワード
i: 36 マスター キーワード
i: 37
i: 38
i: 39
i: 40
i: 41
i: 42 プログラム名
i: 43 継続時間
i: 44 オンライン
i: 45 再帰
i: 46 場所
i: 47 任意出席者アドレス
i: 48 任意出席者
i: 49 開催者住所
i: 50 開催者名
i: 51 アラーム時刻
i: 52 必須出席者アドレス
i: 53 必須出席者
i: 54 リソース
i: 55 会議の状態
i: 56 空き時間情報
i: 57 合計サイズ
i: 58 アカウント名
i: 59
i: 60 進捗状況
i: 61 コンピューター
i: 62 記念日
i: 63 秘書の名前
i: 64 秘書の電話
i: 65 誕生日
i: 66 住所 (会社)
i: 67 市 (会社)
i: 68 国/地域 (会社)
i: 69 私書箱 (会社)
i: 70 郵便番号 (会社)
i: 71 都道府県 (会社)
i: 72 番地 (会社)
i: 73 FAX 番号 (会社)
i: 74 会社のホーム ページ
i: 75 会社電話
i: 76 コールバック番号
i: 77 自動車電話
i: 78 子供
i: 79 会社代表電話
i: 80 部署
i: 81 電子メール アドレス
i: 82 電子メール2
i: 83 電子メール3
i: 84 電子メールの一覧
i: 85 電子メール表示名
i: 86 表題2
i: 87 名
i: 88 氏名
i: 89 性別
i: 90 名2
i: 91 趣味
i: 92 住所 (自宅)
i: 93 市 (自宅)
i: 94 国/地域 (自宅)
i: 95 私書箱 (自宅)
i: 96 郵便番号 (自宅)
i: 97 都道府県 (自宅)
i: 98 番地 (自宅)
i: 99 自宅 FAX
i: 100 自宅電話
i: 101 IM アドレス
i: 102 イニシャル
i: 103 役職
i: 104 ラベル
i: 105 姓
i: 106 住所 (郵送先)
i: 107 ミドル ネーム
i: 108 携帯電話
i: 109 ニックネーム
i: 110 勤務先所在地
i: 111 住所 (その他)
i: 112 ほかの市区町村
i: 113 他の国/地域
i: 114 他の私書箱
i: 115 他の郵便番号
i: 116 他の都道府県
i: 117 他の番地
i: 118 ポケットベル
i: 119 肩書き
i: 120 市区町村 (郵送先)
i: 121 国/地域
i: 122 私書箱 (郵送先)
i: 123 郵便番号 (郵送先)
i: 124 都道府県
i: 125 番地 (郵送先)
i: 126 プライマリ電子メール
i: 127 通常の電話
i: 128 職業
i: 129 配偶者
i: 130 サフィックス
i: 131 TTY/TTD 電話
i: 132 テレックス
i: 133 Web ページ
i: 134 内容の状態
i: 135 内容の種類
i: 136 取得日時
i: 137 アーカイブ日時
i: 138 完了日
i: 139 デバイス カテゴリ
i: 140 接続済み
i: 141 探索方法
i: 142 フレンドリ名
i: 143 ローカル コンピューター
i: 144 製造元
i: 145 モデル
i: 146 ペアリング済み
i: 147 クラス
i: 148 状態
i: 149 状態
i: 150 クライアント ID
i: 151 共同作成者
i: 152 コンテンツの作成日時
i: 153 前回印刷日
i: 154 前回保存日時
i: 155 事業部
i: 156 ドキュメント ID
i: 157 ページ数
i: 158 スライド
i: 159 総編集時間
i: 160 単語数
i: 161 期限
i: 162 終了日
i: 163 ファイル数
i: 164 ファイル拡張子
i: 165 ファイル名
i: 166 ファイル バージョン
i: 167 フラグの色
i: 168 フラグの状態
i: 169 空き領域
i: 170
i: 171
i: 172 グループ
i: 173 共有の種類
i: 174 ビットの深さ
i: 175 水平方向の解像度
i: 176 幅
i: 177 垂直方向の解像度
i: 178 高さ
i: 179 重要度
i: 180 添付
i: 181 削除
i: 182 暗号化の状態
i: 183 フラグの有無
i: 184 終了済
i: 185 未完了
i: 186 開封の状態
i: 187 共有
i: 188 製作者
i: 189 日付時刻
i: 190 フォルダー名
i: 191 ファイルの場所
i: 192 フォルダー
i: 193 参加者
i: 194 パス
i: 195 場所ごと
i: 196 種類
i: 197 連絡先の名
i: 198 履歴の種類
i: 199 言語
i: 200 最終表示日
i: 201 説明
i: 202 リンクの状態
i: 203 リンク先
i: 204 URL
i: 205
i: 206
i: 207
i: 208 メディアの作成日時
i: 209 リリース日
i: 210 エンコード方式
i: 211 エピソード番号
i: 212 プロデューサー
i: 213 発行元
i: 214 シーズン番号
i: 215 サブタイトル
i: 216 ユーザー Web URL
i: 217 作者
i: 218
i: 219 添付ファイル
i: 220 BCC アドレス
i: 221 BCC
i: 222 CC アドレス
i: 223 CC
i: 224 会話 ID
i: 225 受信日時
i: 226 送信日時
i: 227 送信元アドレス
i: 228 差出人
i: 229 添付ファイルの有無
i: 230 送信者アドレス
i: 231 送信者名
i: 232 ストア
i: 233 送信先アドレス
i: 234 To do タイトル
i: 235 宛先
i: 236 経費情報
i: 237 アルバムのアーティスト
i: 238 アルバム アーティストで並べ替え
i: 239 アルバム ID
i: 240 アルバムで並べ替え
i: 241 参加アーティストで並べ替え
i: 242 ビート数/分
i: 243 作曲者
i: 244 作曲者で並べ替え
i: 245 ディスク
i: 246 イニシャル キー
i: 247 コンパイルの一部
i: 248 雰囲気
i: 249 セットのパート
i: 250 期間
i: 251 色
i: 252 保護者による制限
i: 253 保護者による制限の理由
i: 254 使用領域
i: 255 EXIF バージョン
i: 256 イベント
i: 257 露出補正
i: 258 露出プログラム
i: 259 露出時間
i: 260 絞り値
i: 261 フラッシュ モード
i: 262 焦点距離
i: 263 35mm 焦点距離
i: 264 ISO 速度
i: 265 レンズ メーカー
i: 266 レンズ モデル
i: 267 光源
i: 268 最大絞り
i: 269 測光モード
i: 270 向き
i: 271 人物
i: 272 プログラムのモード
i: 273 彩度
i: 274 対象の距離
i: 275 ホワイト バランス
i: 276 優先度
i: 277 プロジェクト
i: 278 チャンネル番号
i: 279 この回のタイトル
i: 280 字幕
i: 281 再放映
i: 282 SAP
i: 283 放送日
i: 284 プログラムの説明
i: 285 記録時間
i: 286 ステーション コール サイン
i: 287 局名
i: 288 概要
i: 289 抜粋
i: 290 自動要約
i: 291 関連度
i: 292 ファイルの所有権
i: 293 秘密度
i: 294 共有ユーザー
i: 295 共有状態
i: 296
i: 297 製品名
i: 298 製品バージョン
i: 299 サポートのリンク
i: 300 ソース
i: 301 開始日
i: 302 共有中
i: 303 可用性の状態
i: 304 状態
i: 305 課金情報
i: 306 完了
i: 307 仕事の所有者
i: 308 タイトルで並べ替え
i: 309 総ファイル サイズ
i: 310 商標
i: 311 ビデオ圧縮
i: 312 ディレクター
i: 313 データ速度
i: 314 フレーム高
i: 315 フレーム率
i: 316 フレーム幅
i: 317 球形
i: 318 ステレオ
i: 319 ビデオの向き
i: 320 総ビット レート

twitterこの記事をTwitterでみんなに教える。

投稿者 debizoh : 2023年4月 6日 01:22



トラックバック

現在、この記事はトラックバックを受け付けておりません。


コメント

この記事へコメントを投稿する。

コメントは管理人が承認後に掲載されます。




保存しますか?



画像の中に見える文字を入力してください。