
Skeleton-TracingとPIX2PIXで生成された実験的なFang Songスタイルのチャイニーズフォント。CWTEXFangsongに基づいたグリフを使用しています。フォントは、垂直タイプセット用に最適化されています。以下はサンプルです:


フォントには、主に伝統的な中国語用の約13,000のグリフが含まれています。
自分のプロジェクトの1つのフォントを作成しました。フォントは確かに完璧ではありませんが、それにもかかわらず、多くの挿入機能があります。したがって、フォントファイルとそれを生成するために使用されるプログラムを共有しています。
dist/tkfangsong.ttfでフォントを直接ダウンロードします。
フォントの名前は剔骨仿宋(thek-kwot-fang-songです。これを作成したアルゴリズムが「デボン」に似ているため)。 SILオープンフォントライセンスの下でライセンスされています。著者を称賛したい場合は、私の名前黃令東/黄令东、またはローマ化「リンドンハン」を使用することがあります。
フォントは、Cwtexfangsongのエレガントな形に基づいて構築され、古いWoodblockプリントの本の美学を思い起こさせる手作りのルックアンドフィールを追加します。
フォントは、元のcwtexfangsongと比較してより広い割合であり、仕上げストロークを強調するためにさらに底に向かって広がります。 「質量の中心」も下に移動します。

右上には、スケルトンをゆがめるために使用されるベース関数の視覚化があります。
グリフの高さは、垂直方向の複雑さに基づいてさらに微調整され、SOBELオペレーターで計算され、各ピクセル行の最大値を取得します。

多くのフォントは、水平型のタイプセット用に最適化されているため、垂直に配置すると、質量の中心が左右にシフトし、ギザギザの外観が得られます。このフォントは、(画像のモーメントを介して)重心を計算してそれらを調整することにより、問題を解決しようとします。

フォントには豊富なテクスチャがあります。それらのいくつかは、PIX2PIXネットワークによって生成されたアーティファクトです。その他は、微調整されたノイズが非常に追加されています。

自動化されたプロセスとして、常に最適な結果が得られるとは限らないことに注意してください。一部のキャラクターは、醜く見えることになるか、特定のストロークに間違った触角運動を使用することになります。いくつかのカリグラファーの場合、一部のストロークは彼らの好みに「弱い」ように見えるかもしれません。
内側軸(スケルトン)は、元のフォントのグリフのラスターレンダリングごとに計算されます。 (結果のハーシーフォントは./dist/cwfs64j.hf.txtにあります)

画像のペア:元のレンダリングとスケルトンは、トレーニングのためにPIX2PIXに送信されます。 PIX2PIXは、対応を学習し、スケルトンをグリフに回すことができるようになります。
新しいスケルトンは、私の(疑わしい)味に応じてオリジナルを反転させることによって生成されます。

すべての新しいスケルトンは、新しいグリフを取得するために訓練されたネットワークに供給されます。新しいグリフの構造はゆがんでいますが、ストロークの重量と形状は依然として合法に見えます。
いくつかの後処理が適用され、Potraceを使用してグリフを再構築します。最後に、FontForgeはTTFファイルを作成するために使用されます。
フォントを使用するには、こちらからダウンロードすることができることに注意してください。このセクションは、結果をゼロから再現するためのものです。
フォントの構築に使用されるスクリプトは、 workflow/フォルダーに含まれています。フォントを作成することは非常に複雑なプロセスであることに注意してください(特にニューラルネットのトレーニングの一部)。また、システム/フォルダーの構成に適合するためにスクリプトを変更する必要がある場合もありますが、ここにいくつかの大まかな手順があります。
skel.py > CWFS64.HF.TXTを実行し、 join.py > CWFS64J.HF.TXT実行しますpairs.py CWFS64J.HF.TXT読み取り、作成するフォルダーへの出力を読み取ります。warp.py > CWFS64W3.HF.TXTを実行します。 pairs.py変更して読み取り、以前のような出力フォルダーを作成します。 pairs.pyを実行します。retouched/ 。refine.pyを変更して画像とレタッチされた画像フォルダーから読み取り、出力フォルダーをfine/作成し、スクリプトを実行します。trace_all.py実行します。forgefont.pyを実行して、前のステップで生成されたSVGからTTFを作成します。preview.py > index.htmlでグリフをプレビューするか、 preview_hf.py > index.htmlでスケルトンをプレビューすることもできます。すべてのグリフを含むPDFはここにあります。このフォントが悪くない場合は、歴史的な書体のより本物の複製であるQiji-Fontを楽しむこともできます。