Ändern Sie die Schriftart nur für die spezifischen Unicode-Zeichen, während Sie auf PDF speichern
Einige Unicode-Zeichen können von der benutzerdefinierten Schriftart nicht angezeigt werden. Ein solches Unicode-Zeichen istNicht brechender Bindestrich (U+2011) und seine Unicode-Nummer ist 8209. Dieses Zeichen kann nicht mit dargestellt werdenTimes New Roman , aber es kann mit anderen Schriftarten wie angezeigt werdenArial Unicode-MS.
Wenn ein solches Zeichen in einem Wort oder Satz in einer bestimmten Schriftart wie Times New Roman vorkommt, ändert Aspose.Cells die Schriftart des gesamten Worts oder Satzes in eine Schriftart, die dieses Zeichen wie Arial Unicode für MS anzeigen könnte.
Dies ist jedoch für einige Benutzer ein unerwünschtes Verhalten, und sie möchten nur, dass die Schriftart des spezifischen Zeichens geändert werden muss, anstatt die Schriftart des gesamten Worts oder Satzes zu ändern.
Um dieses Problem zu lösen, bietet Aspose.CellsPdfSaveOptions.setFontSubstitutionCharGranularity() Eigenschaft, die gesetzt werden sollwahr so dass nur die Schriftart des bestimmten nicht darstellbaren Zeichens geändert wird und die Schriftart für den Rest des Wortes oder Satzes gleich bleibt.
Beispiel
Der folgende Screenshot vergleicht die beiden Ausgabe-PDFs, die durch den unten stehenden Beispielcode generiert wurden. Einer wurde ohne Einstellung generiertPdfSaveOptions.setFontSubstitutionCharGranularity() Eigenschaft und die andere wurde nach dem Festlegen der generiertPdfSaveOptions.setFontSubstitutionCharGranularity() Eigentum zuwahr. Wie Sie im ersten PDF sehen können, hat sich die Schriftart des gesamten Satzes aufgrund von Non-Breaking Hyphen von Times New Roman zu Arial Unicode MS geändert. Während sich in der zweiten PDF nur die Schriftart von Non-Breaking Hyphen geändert hat.