23

私のプログラム(win32、Delphi)は、テーブルのいくつかの列に特別な文字を表示する必要があります。そのために、これらの列に特別なフォントを使用します。クライアントからフォントを入手しました。.FONフォントです。画面上ではうまく機能しますが、何かを印刷するために使用したいときにすぐに問題が発生することがよくあります。

問題を回避するために、この.FONフォントをTrueTypeフォント(.TTF)に変換したいと思います。フォントの縮尺が良くなくてもかまいません。元のフォントのデフォルトサイズと同じサイズで画面上で使用した場合、まったく同じように見えるはずです。誰かがそれをする方法を知っていますか?

(ソースコードソリューションは必要ありません。フォントは変更されません。それを行うためのツールがあれば十分です)

編集:理想的なのは、元のフォントの各ピクセルがベクトルの黒い正方形に変換されるTrueTypeフォントを取得することです(手動でいくつかの文字を再描画してテストしましたが、希望どおりに機能します)。

編集2、使用した解決策:FontForge + Autotraceを使用して手動で修正することで、ビットマップフォントのピクセルの輪郭に沿ったベクターフォントを取得することができました。このベクターフォントは、元のフォントよりも多少拡大縮小され、印刷の問題を解決します。詳細については、承認された投稿を参照してください。

しかし、誰かが完全に自動化されたソリューションを知っているかどうか、私はまだ興味があります。

4

11 に答える 11

15

FontForge + Autotraceを使用してから、手動でいくつかの修正を行います。

最初に Autotrace を Fontforge に統合します。 FontForge でのビットマップの自動トレースを参照してください。Win32 バージョンの FontForge を使用できなかったので、次のようにしました。

  1. Portable Ubuntu Tresをダウンロードして解凍し、起動します。これは、Windows で動作する特別な Linux バージョンです。
  2. [システム] -> [管理] -> [アプリケーションの追加と削除] を選択し、FontForge を検索してインストールします (管理者パスワードは 123456 です)。FontForge バージョン 20090622 をインストールしました。
  3. http://autotrace.sourceforge.net/index.html#downloadから autotrace-0.31.1.tar.gz をダウンロードし、Portable Ubuntu のホーム ディレクトリにコピーします。
  4. Portable Ubuntu で、[Applications] -> [Accessories] -> [Terminal] を選択して、autotrace をコンパイルおよびインストールします。

    sudo bash  (password is 123456)
    gunzip autotrace-0.31.1.tar.gz
    tar xf autotrace-0.31.1.tar
    cd autotrace-0.31.1
    ./configure
    make
    make install
    

次に、フォントを変換します。

  1. Portable Ubuntu で FontForge を起動し、.FON フォントを開きます。
  2. フォントを .BDF フォントとして保存します (.FON ファイルを背景としてロードしてもうまくいかなかったので、最初にフォントを変換する必要がありました): [ファイル] -> [フォントを生成] を選択し、フォーマットとして BDF を選択します。
  3. 新しいフォントを作成し、BDF フォントを背景フォントとしてインポートします: [ファイル] -> [インポート] を選択し、[背景として] を選択することを忘れないでください。
  4. すべての文字を選択し、Shift キーを押しながら自動トレースを開始すると、自動トレースのパラメータを入力できます。次のパラメーターを使用して、ピクセルの輪郭の認識を改善しましたが、完璧なパラメーターが見つかりませんでした。

    -corner-surround=1 -line-threshold=10
    
  5. 主に「曲線ポイントの追加」機能を使用して、文字を手動で修正します。View->Show->Almost Horizo​​ntal/Vertical Lines を有効にすると、作業がはるかに簡単になります。
  6. TrueType フォントを生成します: File->Generate Fonts を選択し、フォーマットとして TrueType を選択します。
于 2010-09-21T09:23:41.373 に答える
11

この質問は古いことは知っていますが、それだけの価値があるため、 PixFont を使用して古い .fon を .ttf に簡単に変換できまし。私はそれを管理者として実行しました (インストールなし - 古い学校の実行可能ファイルが配置されています)。元の .fon にはいくつかの正しいグリフがありませんでしたが、適切な TTF を生成しました。

そして、それは無料ではありませんが、29 ドルで、特に非常に高価な商用製品と比較すると、ほぼ無料です。

于 2011-12-02T01:21:37.190 に答える
6

FontForge (Windows 用) をコンパイルしたくない場合は、ここからダウンロードしてください: http://www.mpetroff.net/software/fontforge-windows/

そのビルドは autotrace の代わりに potrace を使用します。変換中のフォント (vgasys.fon) で取得した最適なパラメーターは次のとおりです。

--turdsize 0 --opttolerance 0 --unit 1 --longcurve --gamma 0 --blacklevel 0 --cleartext

フォントの見栄えを良くするために (ポイントを追加したり削除したりして)、依然として何時間もの手作業が必要でした。

于 2012-05-08T14:58:23.547 に答える
5

FontForgeを使用して、対応する TrueType フォントを生成することができました。適切なサイズで使用すると、元のフォントとまったく同じ文字が得られます。元のフォントを size=11 で使用したため、まだいくつかのオプションを微調整する必要があるかもしれません。新しいフォントは size=10.5 でのみ適切に機能しますが、これは Delphi では使用できません。フォントは、他のすべてのサイズで本当にひどいように見えます。

  1. FontForge に .FON フォントをロードする
  2. [ファイル] -> [フォントの生成] を選択します
  3. タイプとして「(偽) MS ビットマップのみ sfnt (ttf)」を選択し、ファイル名を入力して「保存」をクリックします。

どうやら、ビットマップ フォントを truetype-font に保存する可能性を利用しているようです。結果のフォントには、ビットマップ フォントで発生した問題はありませんが、プリンターで完全に空白になるため、問題は解決しません。

FontForgeについてのメモ: FontForge の Windows バージョン (cygwin ベース) をインストールできませんでした。その代わりに、Windows で動作する Linux バージョンであるPortable Ubuntu Tresをインストールしました。インストールは簡単です。ファイルを解凍し、exe を起動します。次に、[システム] -> [管理] -> [アプリケーションの追加と削除] を選択し、FontForge を検索してインストールします (管理者パスワードは 123456 です)。FontForge バージョン 20090622 をインストールしました。

于 2010-09-20T14:38:16.840 に答える
2

Microsoft のコマンド ライン ツール SBIT32を使用する可能性があります。FontForgeを使用して .FON ファイルを .BDF ファイルに変換するのは簡単です。ただし、メトリクス ファイル (.MET) を作成する必要があります。ビットマップ フォントが埋め込まれた TrueType フォントが得られると思うので試しませんでした。FontForge を使用してそのようなフォントを直接生成することも可能です(「(偽の) MS ビットマップのみ sfnt (ttf)」と入力します)。 ->フォントの生成)。

于 2010-09-20T14:45:10.897 に答える
1

製品の説明によると、BitFonter 3.0はそれができるようです:

" FontLab Studio および TypeTool との統合により、Type 1、TrueType、および OpenType フォントとの間でビットマップおよびビットマップ フォントを強力に変換します。 "

ただし、フォントを 1 つだけ変換するのに 999 米ドルは少し高くなります。

于 2010-09-20T10:18:22.940 に答える
1

私が取り組んでいるプロジェクトで使用するこれらのフォントを探していることに気づきました。他の回答で述べたように、すべてのグリフを手動で編集することを考えて、私は検索を続けました。.ttf最終的に、元のフォントといくつかの新しいバリアントを含むサイトに出くわしました. いくつかのグリフが再マップされても構わない (それらはすべてまだ存在している) 場合、これは良い代替手段です: Oldschool PC Fonts。私にとっての追加ボーナスとして、これらは拡張されたラテン語、ギリシャ語、キリル文字、ヘブライ語のスクリプトに加えて、追加のグリフと Unicode シンボルを多数サポートしています。

于 2016-11-06T12:16:16.487 に答える
0

単純な無料ツールでそれを達成できる可能性は低いです。http://www.fontlab.comにはそれを行うためのツールがありますが、非常に高価です。

于 2010-09-20T10:42:27.753 に答える