6

次の方法でフォント/グリフを作成しようとしています。

  • ビットマップ画像を撮る
  • 自動トレースを使用したSVGの作成(Linuxの場合)
  • python-fontforge(glyph.importOutlines(svgfile))を使用してアウトラインをグリフとしてインポートする

これは、結果のグリフが反転していることを除いて、正常に機能します(画像を参照)。これをどのように防ぐことができるか、SVGまたはグリフをどのように反転させることができるか、またはそのようなものはありますか?

ソースビットマップ: ソースビットマップ

自動トレースSVG: ここに画像の説明を入力してください

結果のフォント: ここに画像の説明を入力してください

4

4 に答える 4

14

自動トレースの代わりにpotraceを使用するだけでこれを解決しました。

参考までに、次の手順を実行します。

ビットマップをsvgに変換する(Linuxコマンドライン):

potrace -s sourceimg.bmp

svgをグリフとして使用する(python):

import fontforge
font = fontforge.open('blank.sfd')
glyph = font.createMappedChar('A')
glyph.importOutlines('sourceimg.svg')
font.generate('testfont.ttf')

これで、Webサイトで使用するための以下の結果が得られました。

css:

@font-face
{
font-family: testfont;
src: url('testfont.ttf');
}

html:

<span style="font-family:testfont; font-weight:normal; color:green;">A</span>
<span style="font-family:testfont; font-weight:bold; color:green;">A</span>

ここに画像の説明を入力してください

于 2012-10-07T11:12:40.190 に答える
1

パスを逆にすることもできますが、fontforgeにそれを実行できるオプションがあるかどうかはわかりませんが、inkscapeを使用して逆にすることができます([パス]> [逆])。

于 2012-10-05T14:28:15.103 に答える
0

あなたのグリフは手描きのようです。数十または数百のグリフを含む完全なTTFフォントを作成する場合は、たとえば次のことを検討してください。手描きフォントの生成に使用したScanahand 。テンプレートを使用して、文字を描画(または貼り付け)して、正しい垂直位置に配置します。水平位置(および間隔)は、少なくとも[A-Za-z]で自動的に計算されます(将来的には他の文字も計算される可能性があります)。

しかし、無料またはオープンソースのツールを使用し、すべて(間隔など)をほぼ完全に制御できるため、ソリューションに感謝します。そして、potraceとfontforgeの最も優れた点は、オンザフライで実行したり、オンラインフォント作成サービスを作成したりできることです。PotraceはAS3に移植され(動作します、私はテストしました)、現在はJS(https://github.com/antimatter15/js-potraceまたはhttps://github.com/dunvi/potrace-js)にも移植されているため、リアルタイムプレビューウィンドウを作成することもできます。これは、potraceパラメーターが変更されたときにベクトル化の結果がどのように変化するかを示します。

于 2012-10-20T01:22:37.233 に答える
0

Autotraceを使用してこれを行うことに興味がある場合は、背景が白い画像のAutotrace SVGの最初の子が、白い背景を定義するパスであるためです。インポートする前にSVGの最初の子を削除する小さなプログラムを作成することで問題を解決しましたが、グリフを編集してFontForgeで長方形を削除することもできます。

于 2020-05-24T00:18:02.957 に答える