Type1フォントをTrueTypeに変換 | Java APIソリューション

概要

この記事では、Java を使用して Type1 フォントを TTF に変換する方法 について説明します。以下のトピックを取り上げます。

Type 1フォントとPostScriptでの使用について

1980年代にAdobeが開発したType 1フォントは、デジタルタイポグラフィ、特にデスクトップパブリッシングやグラフィックデザインの分野で重要な構成要素です。これらのフォントは、高品質なレンダリングと、印刷業界に革命をもたらしたPostScriptページ記述言語との互換性で広く知られています。

Type 1フォントとは?

Type 1フォントは、スケーラブルで高解像度のテキストレンダリングを可能にするベクターベースのフォント形式です。Type 1フォントは、フォントのベクターアウトラインを含むアウトラインファイル(拡張子.PFB)と、文字幅やカーニングデータなどのフォントメトリック情報を提供するメトリックファイル(拡張子.AFM)の2つの主要ファイルで構成されています。アウトラインとメトリックを分離することで、フォントデータの効率的な保存と操作が可能になります。 ただし、.PFBファイルは.AFMファイルなしでも使用できます。

Type 1フォントの利点

PostScriptのType 1フォント

Type 1フォントは、高品質なテキストのレンダリングに必要な情報を提供するため、PostScriptに不可欠な要素です。PostScriptファイルが処理される際、テキスト表示の指示は対応するType 1フォントファイルにリンクされます。

PostScript文書では、Type 1フォントを参照するコマンドを使用してテキストが定義されます。例えば、コマンドは使用するフォント、サイズ、テキストの位置を指定できます。PostScriptインタープリタはType 1フォントファイルの情報を使用して、レーザープリンタやイメージセッターなどの出力デバイス上でテキストを正確にレンダリングします。

JavaでType 1フォントをTrueTypeに変換する方法

特定のType1フォントを変換するには、そのフォントを含むファイルにそのフォントのみが含まれていて、他に何も含まれていない必要があります。これは、フォントのみを含むPFBファイルまたはPSファイルです。変換に必要なのはそれだけです。

つまり、JavaでType1フォントをTrueTypeに変換するには、以下の2つの手順だけです

  1. 新しい PsDocumentオブジェクトを作成します。
  2. 静的メソッド convertType1FontToTTFを使用して、入力されたType1フォントをTTFに変換します。

Type1 フォントから TTF への変換機能は、弊社の Type1 Converter Web アプリケーションでオンラインで確認できます。

Java で Type1 フォントを TTF フォントに変換する

次の Java コードスニペットでは、Type1 フォントを TrueType フォントに変換しています。

1// Convert Type1 font from "*.ps", ".pfa" or ".pfb" file.
2
3//Create ne PsDocument object
4PsDocument doc = new PsDocument();
5
6//Convert Type1 font from the file 'Type1_Arial_Bold.ps' to TTF font in DataDir folder.
7//Exstension of file can be ".pfa", ".pfb", ".ps" or something else. The main thing is that there is a font Type1 inside.
8doc.convertType1FontToTTF(getDataDir() + "Type1_Arial_Bold.ps", getOutputDir());

.NET および C++ の Type1 フォントから TTF への変換方法をご覧ください。

Convert Type1 font web application を使用すると、Type1 フォントから TTF への変換をオンラインで評価できます。Type1 フォントを TTF に変換し、数秒で結果をダウンロードできます。

サンプルとデータファイルは GitHub からダウンロードできます。