web-dev-qa-db-ja.com

埋め込まれたbase64エンコードフォントをフォントファイルに変換できますか?

@ font-faceルールがあり、次のようになります。

@font-face{
    font-family:'F';
src:url("") format("embedded-opentype"),
url(data:application/x-font-woff;charset=utf-8;base64,d09GRgABAA ... ETC... ETC

これをフォントファイルに変換できますか?

ありがとう!

21
mauriblint

Base64でエンコードされた部分をコピーして変換します。それには多くの方法があります。

Linux

base64 -d base64_encoded_font.txt > font.woff

Mac OS X

openssl base64 -d -in base64_encoded_font.txt -out font.woff

ウィンドウ

http://www.motobit.com/util/base64-decoder-encoder.asp に移動して、テキストを貼り付けます。 「Base64文字列からデータをデコード(base64デコード)」および「バイナリファイルにエクスポート」を選択します。

42
mcrumley

@mcrumleyの答えは正しいですが、それを理解できないか、コマンドラインが怖い人のために、私は別の方法を持っています。

私はちょうどあなたの質問をグーグルで検索し、- http://base64converter.com/ を見つけました。これにより、base64ファイルを元の形式に変換/デコード(およびエンコード)できます。これまではbase64画像のエンコードとデコードに使用していましたが、これがフォントを使った最初の試みでした。テストとして、ランダムなWebページのcssファイルで見つけた埋め込まれたbase64フォント情報を差し込みました。エントリ全体は必要ありません。CSS情報を省略してください。そうしないと、変換が失敗します。

  1. (例)base64の前にあるこの情報を削除します。

    @font-face{font-family:"Example";src:url(data:application/x-font-woff;base64,
    
  2. これを最後から削除します。

    ;font-weight:400;font-style:normal}
    
  3. Base64でエンコードされたデータが残っているので、それを[入力]フィールドに貼り付け、出力に[デコード]を選択してボタンを押します。 download.binというファイルが作成されます。クリックしてダウンロードします。次に、ファイル拡張子をbinからwoffに変更します(フォントファイルの種類は異なる場合がありますが、CSSに表示されます)。 .woffファイルを開くことができ、変換は完全に機能しました。すべてのアウトラインが保存されただけでなく、グリフ名、OpenType機能、カーニングなども保存されました。

もちろん、ウェブフォントをリッピングするために使用される他の方法と同様に、出力されるグリフの数は、問題のページで使用されているものに限定される可能性があります。

woffファイルが必要なものでない場合は、woffを選択した形式に変換するためのオンラインツールがたくさんあります。または、オフラインツールが必要な場合は、この質問と私が受け取った回答を確認してください。

変更Pythonディレクトリ内のすべての「WOFF」ファイルをバッチ変換するスクリプト

4
Moscarda