5

バックグラウンド

次の fontforge スクリプトを使用して、Google Noto Sans JPフォントを からに変換しようとしています。.otf.ttf

#!/usr/bin/env fontforge

Open($1)
CIDFlatten()
Generate($1:r + ".ttf")
Close()

を呼び出すOpen.otf、不足しているグリフがたくさんあるというエラーが大量に表示されます。

No glyph with unicode U+07d22 in font
No glyph with unicode U+07d2f in font
No glyph with unicode U+07da0 in font
...

私のスクリプトは を に変換し.otfます.ttfが、確かに、フォントをロードすると、これらの文字はレンダリングされません (次のようになります: [X])。

そこで、ギャップを埋めて、欠落しているスロットに同一のグリフをコピーしたいと思います。

問題

そこで、次のスクリプトを実行して、欠落しているグリフの 1つ ( U+7d22 ) を同一のもの ( U+f96a )に置き換えてみます。

#!/usr/bin/env fontforge

Open($1)
CIDFlatten()

Select(0uf96a)
Copy()
Select(0u7d22)
Paste()
SelectNone()

Generate($1:r + ".ttf")
Close()

しかし、fontforge は存在しない文字 U+7d22 の選択に失敗します:

Select: Character not found: U+7D22

グリフを持たないコードポイントにグリフをコピーする方法を知っている人はいますか?

言い換えれば、このフォントのギャップを埋める方法を知っている人はいますか?

4

1 に答える 1