前提・実現したいこと
C#で納品書作成システム(.PDF)を作っています。
XGraphics.DrawStringでサロゲートペア(????)を表示したい。
現状、出力すると□×が表示されます。
該当のソースコード
C#
1 // 指定したPDFドキュメントを編集する 2 PdfDocument editPDF = PdfReader.Open(@"../Template/InvoiceTemplate.pdf", PdfDocumentOpenMode.Modify); 3 4 if (GlobalFontSettings.FontResolver == null) 5 { 6 // フォントリゾルバーのグローバル登録 7 GlobalFontSettings.FontResolver = new FileFontResolver(); 8 } 9 10 // 描画するためにXGraphicsオブジェクトを取得 11 XGraphics gfx = XGraphics.FromPdfPage(editPDF.Pages[0]); 12 13 // テキストを描画 14 Encoding.RegisterProvider(CodePagesEncodingProvider.Instance); 15 16 // 特殊文字 17 XFont 特殊文字フォント = new XFont("NotoSansJP", 20, XFontStyle.Regular); 18 gfx.DrawString("????", 特殊文字フォント, XBrushes.Black, new XRect(10, 10, editPDF.Pages[0].Width, editPDF.Pages[0].Height), XStringFormats.CenterLeft);
試したこと
テキストでは表示されることを確認。
フォントはサロゲートペア対応のNotoSansJPを使用。
補足情報(FW/ツールのバージョンなど)
.Netフレームワーク4.7
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/12/13 08:20
2021/12/13 08:26
2021/12/13 08:38
2021/12/13 08:41
2021/12/13 08:43
2021/12/13 08:52
2021/12/13 08:56
2021/12/14 01:14
2021/12/14 01:15
2021/12/14 01:58