2016年7月9日土曜日

PC GIMP ファイルから使われているフォントを調べる

ご存知でしたか?。
GIMP を開かなくても、.xcf ファイルの中で、どんなフォントが使われているのか 分かる って。
いやぁ、検索して見るもんです。
眼から鱗! の 方法 で、分かっちゃうのですよね。


別投稿のシリーズで、GIMP のフォントを何とかしようと試みているのですが、
その時の問題は、 以前使ったフォントを、何かの拍子に、GIMP から外してしまった場合。

文字自体は画像としてもレンダリングされて保存されていますから、文字の移動等は問題なく行えますが、
文字そのものを変更する訳にはいきません。
使ったフォントが無くなっている訳ですから。
保存されているファイルで、どんなフォントが使われているかが分かれば、 外したものを復活させて、また、編集出来るのですが。


その 目から鱗 の方法は、
何と! ... 。

テキスト用のエディタで、 .xcf を 開く !   です。

そんな、無茶なぁ~ !!!。
と、思いますでしょ、 そこの あなた。

無謀ですよね、 画像ファイルを テキストエディタで開くなんて ... 。  が、 極、普通の感覚。
想像すらしていなかった 対処方法 です。


こちらの リンク から、貴重な情報を戴きました。  感謝です。
    http://www.gimpusers.com/forums/gimp-user/13674-problem-script-fu-gimp-text-layer-get-text

重要な箇所 を 抜粋・引用 して置きます。  お名前は敬称略させて戴きます。.
You can access it using sed/grep or some such tool. Opening the xcf file in a text editor, even after an autocrop, the text information remains in the following format:

(text "test text") (font "Sans")
(font-size 18.000000)
(font-size-unit pixels)
(hinting yes)
(antialias yes)
(language "en-us")
(base-direction ltr)
(color (color-rgb 0.000000 0.000000 0.000000)) (justify left)
(box-mode dynamic)
(box-unit pixels)

Reply(Answer) by  Rob Antonishen



具体的な 結果 を。
                Windows の メモ帳 等 で .xcf を 開いた処です。
                メモ帳は 改行を上手にハンドリングしないので、 LF のみの改行が扱えるエディタが お勧め。


gimp xcf file   €  ・               B・ B・                        G  
gimp-comment       Created with GIMP    gimp-image-grid      (style solid)
(fgcolor (color-rgba 0.000000 0.000000 0.000000 1.000000))
(bgcolor (color-rgba 1.000000 1.000000 1.000000 1.000000))
(xspacing 10.000000)
(yspacing 10.000000)
(spacing-unit inches)
(xoffset 0.000000)
(yoffset 0.000000)
(offset-unit inches)
           ツ  ロ      ト  ネ   ;  %;           r         Test-YuGothic                                             
                             
                j   「                           gimp-text-layer      (text "Test-YuGothic")
(font "Yu Gothic")
(font-size 18.000000)
(font-size-unit pixels)
(antialias yes)
(language "ja-jp")
(base-direction ltr)
(color (color-rgb 0.000000 0.000000 0.000000))
(justify left)
(box-mode dynamic)
(box-unit pixels)
(hinting yes)
           ・      r        カ  マ       r     ハ  u              € ( x ・僴 。ァ ・ 「X ・・ ・・
  ・ タ\ ・ワr カ・ ・ ・ タ\ ・  ?・
... 以下、省略

ちょっと、複雑なケース。  markup で複数フォントを記録。  詳細に関しては、後日、別投稿に纏めます。.
gimp xcf file   ,   d                B・ B・                        G  
gimp-comment       Created with GIMP    gimp-image-grid      (style solid)
(fgcolor (color-rgba 0.000000 0.000000 0.000000 1.000000))
(bgcolor (color-rgba 1.000000 1.000000 1.000000 1.000000))
(xspacing 10.000000)
(yspacing 10.000000)
(spacing-unit inches)
(xoffset 0.000000)
(yoffset 0.000000)
(offset-unit inches)
           イ                          SansSerifImpact                                                    
                             
                D   (                        q   gimp-text-layer      U(markup "<markup>Sans<span font=\"Serif\">Serif</span><span font=\"Impact Condensed\">Impact</span></markup>")
(font "Sans")
(font-size 18.000000)
(font-size-unit pixels)
(antialias yes)
(language "ja-jp")
(base-direction ltr)
(color (color-rgb 0.000000 0.000000 0.000000))
(justify left)
(box-mode dynamic)
(box-unit pixels)
(hinting yes)
           ・                    ・             ・    €  €  €  B ・昶顗ヤ妲 5 7・ " ゚黽. 「,
,iヘ   ・
... 以下、省略


Copy & Paste なので、 画像部分やバイナリ部分は 勿論 文字化け しています。  ブラウザとアプリの絡み。.
でも、 テキスト レイヤー は 文字列で 保存されていて、 各種の情報が読み取れます。


尚、 GIMP 上で、 回転 等の 操作 を行うと、 テキスト レイヤー から 画像レイヤー へ 自動変換されますが、
内部的には、テキストだった時の情報を保持していて、 文字列やフォント名やサイズ等が分かる様です。

但し、 文字情報の破棄 を実行してしまうと、 保存後には、嘗ての情報は消去された 純粋な画像のみになってしまいます。


そして、 この例では、 冒頭に テキスト レイヤー があるので、直ぐに、それと分かりますが、
実際には、延々と続いた後ろの方に ある 場合が多いのかも知れません。



GIMP に入れた フォント を、出し入れしない なら、 こんな事は考えずに済むのですが ... 。


そうそう、 くれぐれも、 こんな方法があるからと言って、 エディタで文字の編集なんて考えないで下さいよ!。
どうなっても知りませんからね!。
言いましたよ!。


そのうち、 Visual Basic で ファイルに格納されたフォント情報を取得するもの を書いて見ようかと思っています。
涼しくなったらね。 .



0 件のコメント:

コメントを投稿