【Aspose.Cells for .Net】 外字を埋め込むと、他フォントにも外字が適用されてしまう

@wbys,

PDF文書ありがとうございます。 既存のチケット「CELLSNET-52343」でデータベースに記録しました。 すぐに調査します。

ところで、違いがある場合は、最新バージョンの Aspose.Cells for .NET v22.11 を使用してみてください。

Aspose.Cells for .NET v22.11 に更新しましたが、症状は改善しませんでした。

@wbys

この投稿で共有したフォント MSPGothicEUDC.TTE があなたの側で使用されていることを確認してください。

私は自分の側でフォントをテストします。フォントが出力 PDF ファイルに埋め込まれていることがわかります。

CELLSNET-52343_Cs.pdf (25.9 KB)
Screenshot_font.png (69.5 KB)

この MSPGothicEUDC.TTE を、テスト用パソコンにセットアップする手順を共有していただけますか。

前回のテストでは、MSPGothicEUDC.TTE を上書きしただけで、
eudcedit.exeでの書体(MSゴシック、MS Pゴシック)への関連付け、
及び、レジストリーの設定は変更しませんでした。

今回のテストは、eudcedit.exeで書体への関連付けを解除した後、
/gaiji/ フォルダへMSPGothicEUDC.TTEを配置しました。
その後、eudcedit.exeで書体への関連付けを行うと、
「ファイルは外字フォントではありません」とエラーが発生します。

共有していただいた CELLSNET-52343_Cs.pdf で、
MS Gothic、MS Pゴシックで、外字が正常に表示している事を確認しました。

MS P明朝、HG正楷書体-PRO、HG教科書体 に、
外字が表示されていなければ、私が期待している結果です。

@wbys

ツール fonttools で共有された「EUDC.TTE」ファイル(実際にはTTFフォントファイルです)から作成します。 fonttools をインストールすると、コマンドでツール ttx を使用できます。

  1. EDUC.TTEEDUC.ttx ファイルにダンプします。
ttx EUDC.TTE
  1. 「Family name(nameID=“1”)」、「Full name(nameID=“4”)」、および「PostScript name(nameID=“6”)」を「MSPGothicEUDC」に変更します (参照: font table name を参照)。
  2. EDUC.ttxMSPGothicEUDC.TTE にダンプします。
ttx -o MSPGothicEUDC.TTE EUDC.ttx

フォント MSPGothicEUDC.TTE に何か変更があったためかもしれません。
ただし、Aspose.Cells はレジスタ内の EDUC 構成を読み取ったり使用したりしません。 おそらく、レジスタ内の EDUC 構成は Microsoft Excel によって使用されます。

@wbys

Aspose.Cells では、フォント ファイルがロードされている場合 (たとえば、API FontConfigs.SetFontFolder によって設定)、フォントが変更され、他のフォントの代替フォントとして使用されるようになります (指定されたフォントが表示できない場合)。 テキスト。)

つまり、Aspose.Cells には、フォント ファイルを特定のフォントだけに使用でき、他のフォントには使用できないことを保証するメカニズムがありません。
FontConfigs.SetFontSubstitutes で設定されたフォント名を優先的に選択します。

承知しました。
Aspose.Cells の処理方式が理解できましたので、
アプリケーション側で別の回避策を取る事にします。

本件ご支援いただきありがとうございました。

@wbys

ご不明な点がございましたら、お気軽にお問い合わせください。