C#でのTrueTypeまたはType1フォントのラテン記号サポートを確認してください

ラテン文字記号は、マーク、記号、または単語の形式の文字です。フォントは、一連のプロパティを使用して、文字/記号をデジタルまたは印刷可能な形式で表示する方法を定義します。フォントファイルには、フォントに関するデザインやその他の情報が含まれています。場合によっては、特定のフォントがラテン記号をサポートしているかどうかを確認する必要があります。この記事では、C#でのTrueTypeまたはType1フォントに対するラテン記号のサポートを確認する方法を学習します。

この記事では、次のトピックについて説明します。

  1. フォントでのラテン記号のサポートを検出するためのC#API
  2. C#を使用してTrueTypeフォントのラテン記号を検出する
  3. C#を使用してType1フォントのラテン記号を検出する

フォントでのラテン記号のサポートを検出するためのC#API

フォントでサポートされているラテン記号を検出するには、Aspose.Font for .NETAPIを使用します。 サポートされているフォントタイプから情報を読み込んだり、保存したり、抽出したりできます。 APIのDLLをダウンロードするか、NuGetを使用してインストールしてください。

PM> Install-Package Aspose.Font

C#を使用してTrueTypeフォントのラテン記号を検出する

以下の手順に従って、TrueTypeフォントのラテン記号を検出できます。

  1. まず、FontFileDefinitionクラスを使用してフォントファイルをロードします。
  2. 次に、FontType(TTF)とFontFileDefinitionオブジェクトを引数として、FontDefinitionクラスオブジェクトを初期化します。
  3. 次に、FontDefinitionオブジェクトを引数としてFont.Open()メソッドを呼び出し、TtfFontクラスオブジェクトを初期化します。
  4. その後、さまざまなコードをループして、GlyphIDにデコードします。
  5. 最後に、ラテン記号がサポートされているかどうかグリフIDを確認します。

次のコードサンプルは、特定のTrueTypeフォントがC#でラテン記号をサポートしているかどうかを検出する方法を示しています。

// このコード例は、特定のTrueTypeフォントがラテン記号をサポートしているかどうかを検出する方法を示しています。
// TTFファイルパス
string fontPath = @"D:\Files\font\Montserrat-Regular.ttf";

// フォントファイルをロードします
FontFileDefinition fontFileDefinition = new FontFileDefinition("ttf", new FileSystemStreamSource(fontPath));

// フォント定義オブジェクト
FontDefinition fd = new FontDefinition(FontType.TTF, fontFileDefinition);

// フォントを開く
TtfFont font = (TtfFont)Font.Open(fd);

var latinText = true;

// ラテン記号のサポートを確認してください
for (uint code = 65; code < 123; code++)
{
    GlyphId gid = font.Encoding.DecodeToGid(code);
    if (gid == null || gid == GlyphUInt32Id.NotDefId)
    {
        latinText = false;
    }
}

if (latinText)
{
    Console.WriteLine("Font {0} supports latin symbols.", font.FontName);
}
else
{
    Console.WriteLine("Latin symbols are not supported by font {0}.", font.FontName);
}

C#を使用してType1フォントのラテン記号を検出する

以下の手順に従って、Type1フォントのラテン記号を検出することもできます。

  1. まず、FontFileDefinitionクラスを使用してフォントファイルをロードします。
  2. 次に、FontDefinitionクラスオブジェクトを、FontType(Type1)とFontFileDefinitionオブジェクトを引数として初期化します。
  3. 次に、FontDefinitionオブジェクトを引数としてFont.Open()メソッドを呼び出し、Type1Fontクラスオブジェクトを初期化します。
  4. その後、さまざまなコードをループして、GlyphIDにデコードします。
  5. 最後に、ラテン記号がサポートされているかどうかグリフIDを確認します。

次のコードサンプルは、特定のType1フォントがC#でラテン記号をサポートしているかどうかを検出する方法を示しています。

// このコード例は、特定のType1フォントがラテン記号をサポートしているかどうかを検出する方法を示しています。
// Type1フォントファイルパス
string fontPath = @"D:\Files\font\courier.pfb";

// フォントファイルをロードします
FontFileDefinition fontFileDefinition = new FontFileDefinition("pfb", new FileSystemStreamSource(fontPath));

// フォント定義オブジェクト
FontDefinition fd = new FontDefinition(FontType.Type1, fontFileDefinition);

// フォントを開く
Type1Font font = (Type1Font)Font.Open(fd);

var latinText = true;

// ラテン記号のサポートを確認してください
for (uint code = 65; code < 123; code++)
{
    GlyphId gid = font.Encoding.DecodeToGid(code);
    if (gid == null || gid == GlyphUInt32Id.NotDefId)
    {
        latinText = false;
    }
}

if (latinText)
{
    Console.WriteLine("Font {0} supports latin symbols.", font.FontName);
}
else
{
    Console.WriteLine("Latin symbols are not supported by font {0}.", font.FontName);
}

無料ライセンスを取得する

無料の一時ライセンスを取得して、評価の制限なしにライブラリを試すことができます。

結論

この記事では、特定のTrueTypeまたはType1フォントがC#でラテン記号をサポートしているかどうかを判断する方法を学びました。さらに、ドキュメントを使用して、Aspose.Font for.NET APIの詳細を学ぶことができます。あいまいな点がありましたら、フォーラムまでお気軽にお問い合わせください。

関連項目