作成日: 2025/06/24 最終更新日: 2026/03/26
文書種別
制限事項
発生環境
Windows 10
Windows 11
状況
詳細
TextBoxなどのFontプロパティに Noto Sans JP を設定しているレポートをWindows環境で描画すると、以下の例外が発生します。
System.Exception: カバレッジテーブルに 24 個のグリフが含まれています。必要な個数は 0 です。
また、デザイナでフォントを設定した時点で、コントロールの内部に例外が表示されます。
本現象はWindows Updateによって以下のファイルがインストールされた環境でのみ再現します。
- NotoSansJP-VF.ttf
Windows環境にインストールされているフォントファイルの名前は以下のコマンドで確認できます。
cd C:\Windows\Fonts dir /b noto*
なお、本現象は Noto Serif JP フォントでは再現しません。
本現象は DioDocs for PDF の以下の不具合に起因しています。
Windows環境でNoto Sans JPフォントを使用すると例外が発生する
この不具合はDioDocsのV8J SP1(8.1.3)で修正されました。
ActiveReports for .NET 18.0J はDioDocsのV7Jに依存しているため、修正が反映されません。
そのため、本現象は ActiveReports for .NET 18.0J では制限事項となります。
回避方法
本現象は ActiveReports for .NET 20.0J では発生しません。
20.0JはDioDocsのV8Jに依存しています。
※18.0Jでの回避方法
セクションレポートの場合、CompatibilityMode=GDIでは例外が発生しません。
他のレポート形式の場合、Google Fontsから取得したフォントファイルをFontResolverクラスで参照する方法で回避できます。
Noto Sans JPのみを置き換えて、他のフォントはWindows環境のものを使用する場合、FontResolverを以下のように実装します。
static FontResolver()
{
// システム標準のFontsフォルダを登録
_fonts.RegisterDirectory(Environment.GetFolderPath(Environment.SpecialFolder.Fonts));
// NotoSansJP-VF.ttf を除外
_fonts.Remove(_fonts.FindFileName("NotoSansJP-VF.ttf"));
// NotoSansJP-Regular.ttf を配置したフォルダを登録
_fonts.RegisterDirectory(Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Fonts"));
}