フォントをロード、読み取り、描画するための無料 C# .NET ライブラリ
TrueType、CFF、Woff、Woff2 など、さまざまなタイプのフォントをロード、読み取り、描画するためのオープンソース C# .NET ライブラリです。
プログラムでフォントを扱う際、ソフトウェア開発者はさまざまなフォント関連操作を処理できる堅牢なツールやライブラリを必要とすることが多いです。そのような強力なオープンソースライブラリの一つで、開発者の間で人気を集めているのが SixLabors Fonts ライブラリです。Fonts は、C# アプリケーション内でさまざまな種類のフォントを扱うための包括的な機能を提供する非常に有用なオープンソースの C# .NET ライブラリです。Six Labors チームによって開発されたこの Fonts ライブラリは、フォント処理のタスクを簡素化し、開発者がプログラムで書体を扱いやすくすることを目的としています。ユーザーがフォントをロード、レンダリング、測定、または操作する必要があるかどうかにかかわらず、Fonts ライブラリはこれらすべての操作に対してクリーンで直感的な API を提供します。
オープンソースの Fonts ライブラリは、フォントの操作とカスタマイズのためのさまざまな機能を提供し、ソフトウェア開発者がアプリケーション内でユニークで視覚的に魅力的なテキスト要素を作成できるようにします。ライブラリには、パス、ストリーム、または埋め込みリソースなどさまざまなソースからフォントをロードする機能、高品質なグリフレンダリング機能、正確なテキストレイアウトと配置、Unicode テキストの処理、フォントをコレクションに整理する機能など、重要な機能が多数含まれています。
.NET Standard 上に構築された Fonts ライブラリは、.NET Core、.NET Framework、Xamarin、Mono など、複数のプラットフォームやフレームワークと互換性があります。ライブラリはシンプルで直感的な API を提供し、すべてのスキルレベルの開発者が利用しやすくなっています。デスクトップアプリケーション、ウェブサービス、モバイルアプリのいずれを構築する場合でも、Fonts ライブラリはフォント管理のあらゆるニーズに対する堅実な基盤を提供します。ぜひお試しください、オープンソースの Fonts ライブラリでアプリケーションにクリエイティブなフォントの世界を解き放ちましょう。
フォント入門
Fonts をインストールする推奨方法は NuGet を使用することです。スムーズなインストールのために、以下のコマンドをご利用ください。
NuGet でフォントをインストールする
PM > Install-Package SixLabors.Fonts –PreRelease
また、手動でインストールすることもできます。最新のリリースファイルは GitHub リポジトリから直接ダウンロードしてください。
C# アプリ内でフォントの詳細を読み込む&取得する
オープンソースの Fonts ライブラリは、ソフトウェア開発者がさまざまな種類のフォントを読み込み、C# アプリケーション内でその詳細情報をすべて表示できるようにします。ライブラリは、ファイルパス、ストリーム、埋め込みリソースなど、さまざまなソースからフォントを読み込むことをサポートしています。この柔軟性により、開発者はフォントの読み込みをアプリケーションにシームレスに統合できます。ライブラリは TrueType フォント、CFF1 アウトラインを持つ OpenType フォント、Woff、Woff2 などの取り扱いをサポートしています。以下の例は、C# コマンドを使用して TTF フォントの説明を取得する方法を示しています。
C# API を使用してフォントの説明を読む方法は?
FontDescription description = null;
using(var fs = File.OpenRead("Font.ttf")){
description = FontDescription.Load(fs); // once it has loaded the data the stream is no longer required and can be disposed of
}
string name = description.FontName(CultureInfo.InvariantCulture);
C# によるフォントコレクションのサポート
オープンソースライブラリ Fonts は、ソフトウェア開発者がフォントをコレクションとして整理できるようにし、異なるフォントファミリーやスタイル間の管理と切り替えを容易にします。数行のコードだけで、開発者はカスタムフォントコレクションを作成できます。このライブラリは、先進的な OpenType 機能であるグリフ置換 (GSUB) とグリフ位置決め (GPOS) のサポートも提供しています。以下の例は、開発者が C# アプリケーション内でフォントコレクションを扱う方法を示しています。
C# コードで sFont コレクションを操作する方法は?
using SixLabors.Fonts;
FontCollection collection = new();
collection.Add("path/to/font.ttf");
collection.Add("path/to/font2.ttf");
collection.Add("path/to/emojiFont.ttf");
collection.AddCollection("path/to/font.ttc");
if(collection.TryFind("Font Name", out FontFamily family))
if(collection.TryFind("Emoji Font Name", out FontFamily emojiFamily))
{
// family will not be null here
Font font = family.CreateFont(12, FontStyle.Italic);
// TextOptions provides comprehensive customization options support
TextOptions options = new(font)
{
// Will be used if a particular code point doesn't exist in the font passed into the constructor. (e.g. emoji)
FallbackFontFamilies = new [] { emojiFamily }
};
FontRectangle rect = TextMeasurer.Measure("Text to measure", options);
}