誰かが.svgファイルをフォントファイルに変換するのを手伝ってくれますか?またはその場でそれを行う方法はありますか?
ここで、スタックオーバーフローに関する2つの関連する答えを見つけました。
残念ながら、どちらもcoding答えではありません。これは私が本当に望んでいたものです(スクリプト化された変換用のコマンドラインユーティリティ、またはおそらく誰かが使用するAPIそのようなことを書くことができます)。
それでも、私はこれらの2つの答えを組み合わせることで、探していたものを手に入れました。
(この手順はオプションの場合があります。) フリーソフトウェアプログラム InkScape でSVGを開きます。既存のSVGをコピーし、FontForge Glyphテンプレートから新しいプロジェクトを作成します。そのテンプレートに貼り付けて、外観、サイズ、および位置を標準化し、1文字につき1ファイル(「グリフ」)としてPLAIN SVGとして保存します。
次に、フリーソフトウェアプログラム FontForge を直接使用するか(最初の回答で指示されているように、 ベクターソフトウェアでアイコンフォントを作成する )、またはフリーソフトウェアを使用します。 IcoMoon オンラインサービス(2番目の回答、 svgをttf に変換するツールで指示されているとおり)。後者をやりました。
IcoMoonはかなり簡単なツールです。ページの上部にある紫色のアイコンのインポートボタンをクリックして、各カスタムSVGグリフをインポートします。次に、セットの設定で「情報を見る」をクリックして、セットに名前を付けてメタデータを指定できるようにします。 「編集」ツール(鉛筆アイコン)を使用し、各グリフをクリックして、サイズと間隔を適切に調整します。
完了したら、フォントに使用するすべてのグリフを選択し、ページの下部にある[フォントの生成]ボタンを押します。結果の画面で、各グリフをUnicode文字にマップできます。右側では、文字を入力または貼り付けることができます。左側では、16進コードを入力できます。 GNOME Character Map (Linuxの場合)または Windows Character Map または Mac OS Character Palette のようなプログラムは、グリフに適切なコードを見つけるのに役立ちます。
次に、画面上部の[設定]ボタン(または右下の歯車)を押して、新しいフォントの名前とメタデータを確定し、右下の[ダウンロード]を押します。 Fontname.Zipファイルを取得します。このファイルには、使用方法の提案とフォントファイル自体が含まれています。
サイズと間隔を正しく設定するのは本当に難しいことがわかりました(文字を作成していました)。私はIcoMoonで繰り返し、フォントをインストールし、自分の文字を類似のフォントの文字と比較しました(ワードプロセッサを使用)。サイズ変更は簡単にできましたが、間隔はそれほど簡単ではありませんでした(そして、 ligatures または kerning !をいじることもありませんでした!)。一部のシステムでは、新しいフォントをインストールした後にフォントキャッシュをフラッシュする必要があることを忘れないでください(Linuxではfc-cache
from Fontconfig )
フォントを検証することもできます。 Font Squirrel は、それを可能にするオンラインサービスであり、修正と使用のヒントを提供します。 IcoMoonはすでにこれを行っていると思うので、おそらくそれはFontForgeの作成にのみ役立つでしょう。
SVGファイルをアップロードし、それらをアイコンフォントを作成するためのアイコンとして使用できる複数のオンラインツールがあります。個人的には、Icomoon Appを好みます。
Icomoonアプリでは、次の各操作を実行できます。
他の人が書いたように、svgシェイプをFontForgeにインポートすることが可能であり、一部のフォントデザイナーはこの方法で動作します。
ただし、シェイプ(アウトライン)は現代のスマートフォントの一部にすぎないため、それだけでは不十分です。また、メタデータ、カーニング、ヒントなどにも取り組む必要があります。これは間違いなく面白くなく、ハードですが、必要なものです。一方、フォントデザイナーになるのは、通常、エゴに報いる芸術的な描画などです。
それが、svgフォントがフォーマットとして追いつかない理由の1つです。テキストをレンダリングするのに役立つほど多くの部分が欠落しています。
SVGtoFont を試すこともできます。すべての一般的なフォント形式(woff、woff2、ttf、eot)、css(SASS&LESS)、デモHTMLファイルを提供します。