Analyzing your prompt, please hold on...
An error occurred while retrieving the results. Please refresh the page and try again.
Aspose.Words では、ドキュメントを固定ページ形式 (PDF や XPS など) にレンダリングするなど、さまざまなタスクに TrueType フォントが必要です。Aspose.Words がドキュメントをレンダリングする場合、結果のドキュメントに TrueType フォントの埋め込みとサブセット埋め込みを実行する必要があります。これは、一般的な PDF や XPS 形式を含むドキュメント生成時の通常の方法です。これにより、どの閲覧者に対してもドキュメントが同じように見えるようになります。さらに、XPS 仕様では、フォントを常にドキュメントに埋め込む必要があります。
Aspose.Wordsが文字を正確に測定し、関連するフォントを正常に埋め込むには、次の条件を満たす必要があります:
ドキュメント内のフォントは、TrueTypeフォント(物理フォント)エンティティとは異なるファミリ名、スタイル、サイズ、色などのエンティティを表します。 Aspose.Wordsは、処理のある段階で文書内のフォントを物理フォントに解決します。 これにより、特定のタスク、最も一般的にはレイアウト構築中にテキストサイズを計算し、固定ページ形式に埋め込む/サブセットするタスクが可能に 同様に、HTMLの読み込み中のフォントの解決や置換、一部のフロー形式への埋め込み/サブセット化など、あまり一般的ではない多くのタスクが有効にな
使用可能なフォント操作メカニズムはすべてFontSettingsクラスに含まれています。 このクラスは、以下で説明するように、定義されたフォントソース内のフォントの取得と、フォント置換プロセスを担当します。
フォントはいくつかのステップで解析されます:
Aspose.Wordsは、文書内で初めてフォントを検出すると、各フォントソースにあるフォントファイルから、フォントのフルネーム、ファミリ名、バージョン、スタイルなどの基本的なフォント情報を取得しようとします。 すべてのフォントが取得された後、Aspose.Wordsはこれらの詳細を使用して、必要なフォントデータまたは要求されたフォントの適切な置換を検索します。
上記の手順は時間がかかるため、最初の起動時のアプリケーションのパフォーマンスに悪影響を与える可能性があります。 ただし、FontSettingsの各インスタンスには独自のキャッシュがあり、後続のドキュメントの処理時間を短縮することができます。 たとえば、異なるドキュメント間でFontSettingsクラスのインスタンスを共有することができ、ドキュメントの読み込みを高速化できます。 次の例は、これを示しています:
FontSettingsが明示的に定義されていない場合、Aspose.WordsはデフォルトのFontSettingsインスタンスを使用します。 このインスタンスは、ドキュメント間でも自動的に共有され、次のように抽出できます:
Java
FontSettings fontSettings = FontSettings.getDefaultInstance();
すべての処理文書が同じフォント設定を必要とすることが確実な場合は、デフォルトのFontSettingsインスタンスを設定して利用することをお勧めします。 すべてのドキュメントに同じフォントソースを使用する必要があるとします。 この場合、次のようにデフォルトのインスタンスを修正できます:
文書内のテキストは、Arial、Times New Roman、Verdanaなどのさまざまなフォントで書式設定できます。 Aspose.Wordsがドキュメントをレンダリングするとき、ドキュメントで指定されているフォントを選択しようとします。
ただし、正確なフォントが見つからず、代わりにAspose.Wordsが同様のフォントに置き換える必要がある状況があります。 Aspose.Wordsは、次のプロセスに従ってフォントを選択します:
FontConfigユーティリティを使用してOSフォント設定が利用可能な場合は適用を試みます。 この非Windows機能は、FontConfig互換のOSで使用する必要があります。 ほとんどすべてのUnixベースのOSには、システム全体のフォント構成、カスタマイズ、アプリケーションへのアクセスを提供するように設計されたFontConfigライ それ以外の場合は、このライブラリをユーザーが簡単にインストールできます。FontConfigユーティリティは無効になっています。 次のようにして有効にできます: fontSettings.getSubstitutionSettings().getFontConfigSubstitution()().setEnabled(true);
<TableSubstitutionSettings xmlns="Aspose.Words">
<SubstitutesTable>
<Item OriginalFont="Arabic Transparent" SubstituteFonts="Arial" />
…
</SubstitutesTable>
</TableSubstitutionSettings>
fontSettings.getSubstitutionSettings().getTableSubstitution().load("Table.xml");
fontSettings.getSubstitutionSettings().getTableSubstitution().save("MyTable.xml");
fontSettings.getSubstitutionSettings().getTableSubstitution().setEnabled(false);
FontInfoCollection fontInfos = doc.getFontInfos();
fontSettings.getSubstitutionSettings().getFontInfoSubstitution().setEnabled(false);
FontInfo置換も失敗した場合に適用されます。 このルールもデフォルトで有効になっています。 この規則に従って、Aspose.WordsはDefaultFontNameプロパティで指定された既定のフォントを使用しようとします。 ユーザーが独自のデフォルトフォントを選択していない場合は、「Times New Roman」がデフォルトフォントとして使用されます。 このルールは、以下に示すように無効にすることができます: fontSettings.getSubstitutionSettings().getDefaultFontSubstitution().setEnabled(false);
fontSettings.getSubstitutionSettings().getDefaultFontSubstitution().getDefaultFontName();
fontSettings.getSubstitutionSettings().getDefaultFontSubstitution().setDefaultFontName("Arial");
ドキュメントのレイアウトが変更された理由や、一部のフォントが期待どおりに表示されない理由が不明な場合があります。 このような場合、IWarningCallbackインターフェイスによって実装されたフォント置換警告メッセージが救助に来ます。 これらにはFontSubstitution警告タイプと標準の説明テキスト形式"Font'
Aspose.Wordsには、フォント置換とフォントフォールバックという二つの異なるメカニズムが使用されています。 フォント置換は、上記のセクションで説明したように、文書で指定されたフォントがフォントソース間で見つからなかった場合に使用されます。 フォントフォールバックメカニズムは、フォントが解決されたときに使用されますが、特定の文字が含まれていません。 この場合、Aspose.Wordsはその文字にフォールバックフォントのいずれかを使用しようとします。
利用可能なフォントをスキャンしてフォールバック設定を自動的に構築するBuildAutomaticメソッドがあります。 このメソッドは最適ではないフォールバック設定を生成する可能性があるため、FontFallbackSettingsクラスのプロパティを使用してフォントフォールバックの動作を制 このクラスは、フォントフォールバックメカニズムの設定を指定します。 次のようにFontFallbackSettingsクラスのインスタンスを取得できます:
Java
FontFallbackSettings settings = fontSettings.getFallbackSettings();
Table substitution ruleと同様に、このメカニズムは構成にXMLテーブルを使用します。 これらのXMLテーブルは、次の方法でロードおよび保存できます:
Java
fontSettings.getFallbackSettings().load("MyNewFallbackTable.xml");
fontSettings.getFallbackSettings().save("Current_FallbackTable.xml");
Aspose.Wordsリリースには、MsOfficeFallbackSetting.xmlとNotoFallbackSetting.xmlの二つのテーブルが含まれています。
MsOfficeFallbackSettingテーブルは、Microsoft Wordで使用される戦略と同様の文字範囲の置換戦略を定義します。 したがって、この戦略ではMicrosoftOfficeフォントのインストールが必要です。 MsOfficeFallbackSettingは、次の方法を使用してアクティブにすることができます:
.Java
fontSettings.getFallbackSettings().loadMsOfficeFallbackSettings();
NotoFallbackSettingテーブルは、特にGoogle Notoフォントで使用するために作成されます(次のセクションのGoogle Notoフォント設定の詳細を参照)。:
Java
fontSettings.getFallbackSettings().loadNotoFallbackSettings();
次のコード例は、XMLファイルからフォントフォールバック設定を読み込む方法を示しています:
上記のコード例では、次のXMLファイルが使用されています:
<FontFallbackSettings xmlns="Aspose.Words">
<FallbackTable>
<!-- Fallback table consists of the rules. Each rule defines the fallback fonts which Aspose.Words should use for specified Unicode ranges and base fonts. Rules are checked one by one and the first applicable fallback font is used. If none of the rules are applicable then ".notdef" glyph (missing glyph) from the base font will be used. -->
<!-- This rule defines that "Vijaya" fallback font should be used for "U+0B80..U+0BFF Tamil" Unicode block. -->
<Rule Ranges="0B80-0BFF" FallbackFonts="Vijaya"/>
<!-- This rule defines that "Segoe UI Emoji" and "Segoe UI Symbol" fallback fonts should be used for "U+1F300..U+1F5FF Miscellaneous Symbols and Pictographs", "U+1F600..U+1F64F Emoticons" Unicode blocks. If "Segoe UI Emoji" font does not contains the glyph for the requested Unicode code point then "Segoe UI Symbol" will be checked. -->
<Rule Ranges="1F300-1F64F" FallbackFonts="Segoe UI Emoji, Segoe UI Symbol"/>
<!-- This rule defines that "Arial" fallback font should be used for "U+2000..U+206F General Punctuation", "U+2070..U+209F Superscripts and Subscripts" Unicode blocks and specific "U+20B9 INDIAN RUPEE SIGN" code point. -->
<Rule Ranges="2000-206F, 2070-209F, 20B9" FallbackFonts="Arial" />
<!-- These rules defines that for "U+3040..U+309F Hiragana" Unicode block "MS Gothic" fallback font should be used if base font is "Times New Roman" and "MS Mincho" fallback font for all other base fonts. -->
<Rule Ranges="3040-309F" FallbackFonts="MS Gothic" BaseFonts="Times New Roman"/>
<Rule Ranges="3040-309F" FallbackFonts="MS Mincho"/>
<!-- This rule defines that "Arial Unicode MS" fallback font should be used if applicable fallback font was not found by previous rules. -->
<Rule FallbackFonts="Arial Unicode MS"/>
</FallbackTable>
</FontFallbackSettings>Aspose.Wordsは、Google Notoフォントの事前定義されたフォントフォールバック設定を提供します。 これらはSILOpen Font Licenseの下でライセンスされたフリーフォントで、Google NotoFontsからダウンロードできます。 FontFallbackSettingsクラスはLoadNotoFallbackSettingsメソッドを提供します。 以下のコード例に示すように、Google Notoフォントを使用する事前定義済みのフォールバック設定が読み込まれます:
Aspose.Wordsはファイルシステム上のTrueTypeフォントを自動的に検索しようとします。 通常、Aspose.Wordsのデフォルトの動作に依存してTrueTypeフォントを見つけることができますが、TrueTypeフォントを含む独自のフォルダを指定する必要がある場合があり ザ- TrueTypeフォントの場所を指定します このトピックでは、Aspose.Wordsがフォントを検索する方法と場所、および独自のフォントの場所を指定する方法について説明します。
次の表に示すように、Aspose.WordsとMicrosoft Wordのフォント形式の処理にはいくつかの違いがあります:
| Microsoft Word | Aspose.Words | |
|---|---|---|
| TrueTypeフォントとOpenTypeフォントとTrueTypeアウトライン | サポートされています。 | サポートされています。 |
| OpenTypeフォントとPostScriptアウトライン | ほとんどのシナリオでサポートされています。 PDFやXPSなどの固定ページ形式への埋め込みはサポートされていません。 テキストはビットマップイメージに置き換えられます。 | 固定ページ形式への埋め込みなど、ほとんどのシナリオでサポートされています。 |
| OpenTypeフォントのバリエーション | 名前付きインスタンスのみがサポートされます。 連続バリエーションはサポートされていません。 | 既定のインスタンスのみでサポートされます。 名前付きインスタンスと連続バリエーションはサポートされていません。 |
| Type1フォント | 2013年以前のWindowsバージョンとMacOS バージョンでサポートされています。 2013年以降のWindowsバージョンではサポートが中止されました。 | サポートされていません。 |
Analyzing your prompt, please hold on...
An error occurred while retrieving the results. Please refresh the page and try again.