Analyzing your prompt, please hold on...
An error occurred while retrieving the results. Please refresh the page and try again.
Aspose.Words memerlukan font TrueType untuk berbagai tugas, termasuk merender dokumen ke format halaman tetap, misalnya, PDF atau XPS. Saat Aspose.Words merender dokumen, dokumen perlu melakukan penyematan dan penyematan subset font TrueType ke dalam dokumen yang dihasilkan, yang merupakan praktik normal selama pembuatan dokumen, termasuk format PDF atau XPS yang populer. Ini memastikan bahwa dokumen akan tampak sama di semua penampil. Selain itu, spesifikasi XPS mengharuskan font untuk selalu disematkan dalam dokumen.
Untuk memastikan Aspose.Words mengukur karakter secara akurat dan berhasil menyematkan font yang relevan, persyaratan berikut harus dipenuhi:
Perhatikan bahwa font dalam dokumen mewakili entitas, seperti nama keluarga, gaya, ukuran, warna, yang berbeda dari entitas TrueType font (font fisik). Aspose.Words menyelesaikan font dalam dokumen menjadi font fisik pada beberapa tahap pemrosesan. Hal ini memungkinkan tugas-tugas tertentu, paling umum tugas menghitung ukuran teks selama konstruksi tata letak dan menyematkan / mensubset ke format halaman tetap. Sejumlah tugas lain yang kurang populer, seperti penyelesaian dan penggantian font saat memuat HTML atau menyematkan / mensubset ke beberapa format alur, juga diaktifkan.
Semua mekanisme manipulasi font yang tersedia terdapat dalam kelas FontSettings. Kelas ini bertanggung jawab untuk mengambil font dalam sumber font yang ditentukan serta untuk proses Penggantian Font, seperti yang dijelaskan di bawah ini.
Font diuraikan dalam beberapa langkah:
Saat Aspose.Words menemukan font dalam dokumen untuk pertama kalinya, ia mencoba mendapatkan informasi font dasar, seperti nama lengkap font, nama keluarga, versi, gaya, dari file font yang terletak di setiap sumber font. Setelah semua font diambil, Aspose.Words menggunakan detail ini untuk menemukan data font yang diperlukan atau pengganti yang sesuai untuk font yang diminta.
Karena prosedur yang dijelaskan di atas memakan waktu, prosedur ini dapat berdampak negatif pada kinerja aplikasi pada peluncuran pertamanya. Namun, setiap instance FontSettings memiliki cache sendiri, yang dapat mengurangi waktu pemrosesan dokumen berikutnya. Misalnya, Anda dapat membagikan instance kelas FontSettings di antara dokumen yang berbeda, yang memungkinkan Anda mempercepat pemuatan dokumen. Contoh berikut menunjukkan hal ini:
Dalam kasus ketika FontSettings tidak didefinisikan secara eksplisit, Aspose.Words menggunakan instance FontSettings default. Instance ini juga dibagikan secara otomatis di antara dokumen, dan dapat diekstraksi sebagai berikut:
Java
FontSettings fontSettings = FontSettings.getDefaultInstance();
Jika Anda yakin bahwa semua dokumen pemrosesan memerlukan pengaturan font yang sama, maka disarankan untuk menyiapkan dan menggunakan instance FontSettings default. Misalkan Anda perlu menggunakan sumber font yang sama untuk semua dokumen Anda. Dalam hal ini, Anda cukup mengubah instance default sebagai berikut:
Teks dalam dokumen dapat diformat dengan berbagai font, seperti Arial, Times New Roman, Verdana, dan lainnya. Saat Aspose.Words merender dokumen, ia mencoba memilih font yang ditentukan dalam dokumen.
Namun, ada situasi ketika font yang tepat tidak dapat ditemukan dan Aspose.Words harus menggantinya dengan font yang serupa. Aspose.Words memilih font sesuai dengan proses berikut:
FontConfig. Fitur Non - Windows ini harus digunakan dengan FontConfig yang kompatibel dengan OS. Hampir semua OS berbasis Unix sudah memiliki pustaka FontConfig yang dirancang untuk menyediakan konfigurasi font di seluruh sistem, penyesuaian, dan akses ke aplikasi. Jika tidak, pustaka ini dapat dengan mudah diinstal oleh pengguna.FontConfig dinonaktifkan. Anda dapat mengaktifkannya sebagai berikut: 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 juga gagal. Aturan ini juga diaktifkan secara default. Menurut aturan ini, Aspose.Words akan mencoba menggunakan font default yang ditentukan dalam properti DefaultFontName. Jika pengguna belum memilih font defaultnya sendiri, maka “Times New Roman” akan digunakan sebagai font default. Aturan ini dapat dinonaktifkan seperti yang ditunjukkan di bawah ini: fontSettings.getSubstitutionSettings().getDefaultFontSubstitution().setEnabled(false);
fontSettings.getSubstitutionSettings().getDefaultFontSubstitution().getDefaultFontName();
fontSettings.getSubstitutionSettings().getDefaultFontSubstitution().setDefaultFontName("Arial");
Terkadang, mungkin tidak jelas mengapa tata letak dokumen berubah, atau mengapa beberapa font tidak terlihat seperti yang diharapkan. Dalam kasus seperti itu, pesan peringatan penggantian font yang diterapkan oleh antarmuka IWarningCallback datang untuk menyelamatkan. Mereka memiliki tipe peringatan FontSubstitution dan format teks deskripsi standar, " Font ‘
Ada dua mekanisme berbeda yang digunakan dalam Aspose.Words - Substitusi font dan fallback Font. Penggantian font digunakan ketika font yang ditentukan dalam dokumen tidak dapat ditemukan di antara sumber font seperti yang dijelaskan di bagian di atas. Mekanisme fallback Font digunakan saat font diselesaikan, tetapi tidak berisi karakter tertentu. Dalam hal ini, Aspose.Words mencoba menggunakan salah satu font fallback untuk karakter tersebut.
Ada metode BuildAutomatic yang secara otomatis membuat pengaturan mundur dengan memindai font yang tersedia. Karena metode ini dapat menghasilkan pengaturan fallback yang tidak optimal, Anda dapat mengontrol perilaku fallback font dengan menggunakan properti kelas FontFallbackSettings. Kelas ini menentukan pengaturan mekanisme fallback font. Anda bisa mendapatkan instance dari kelas FontFallbackSettings sebagai berikut:
Java
FontFallbackSettings settings = fontSettings.getFallbackSettings();
Sama halnya dengan Table substitution rule, mekanisme ini menggunakan tabel XML untuk konfigurasi. Tabel XML ini dapat dimuat dan disimpan dengan metode berikut:
Java
fontSettings.getFallbackSettings().load("MyNewFallbackTable.xml");
fontSettings.getFallbackSettings().save("Current_FallbackTable.xml");
Rilis Aspose.Words mencakup dua tabel: MsOfficeFallbackSetting.xml dan NotoFallbackSetting.xml.
Tabel MsOfficeFallbackSetting mendefinisikan strategi penggantian untuk rentang karakter, yang mirip dengan strategi yang digunakan oleh Microsoft Word. Dengan demikian, strategi tersebut memerlukan pemasangan Microsoft font Office. MsOfficeFallbackSetting dapat diaktifkan menggunakan metode berikut:
.Java
fontSettings.getFallbackSettings().loadMsOfficeFallbackSettings();
Tabel NotoFallbackSetting dibuat khusus untuk digunakan dengan font Google Noto (lihat selengkapnya tentang pengaturan font Google Noto di bagian selanjutnya) dan dapat diaktifkan sebagai berikut:
Java
fontSettings.getFallbackSettings().loadNotoFallbackSettings();
Contoh kode berikut menunjukkan cara memuat pengaturan fallback font dari file XML:
Dalam contoh kode di atas, file XML berikut digunakan:
<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 menyediakan pengaturan fallback font yang telah ditentukan sebelumnya untuk Google Noto font. Ini adalah font gratis yang dilisensikan di bawah SIL Open Font License, yang dapat diunduh dari Google Noto Font. Kelas FontFallbackSettings menyediakan metode LoadNotoFallbackSettings. Ini memuat pengaturan fallback yang telah ditentukan sebelumnya, yang menggunakan font Google Noto seperti yang ditunjukkan pada contoh kode di bawah ini:
Aspose.Words mencoba menemukan TrueType font pada sistem file secara otomatis. Biasanya, Anda dapat mengandalkan perilaku default Aspose.Words untuk menemukan font TrueType, tetapi terkadang Anda perlu menentukan folder Anda sendiri yang berisi font TrueType. The Tentang Lokasi Font TrueType topik menjelaskan bagaimana dan di mana Aspose.Words mencari font, serta cara menentukan lokasi font Anda sendiri.
Ada beberapa perbedaan dalam pemrosesan format font di Aspose.Words dan Microsoft Word seperti yang ditunjukkan pada tabel di bawah ini:
| Microsoft Word | Aspose.Words | |
|---|---|---|
| Font TrueType dan font OpenType dengan garis besar TrueType | Didukung. | Didukung. |
| OpenType fonta dengan garis luar PostScript | Didukung untuk sebagian besar skenario. Menyematkan ke format halaman tetap seperti PDF dan XPS tidak didukung. Teks diganti dengan gambar bitmap. | Didukung untuk sebagian besar skenario, termasuk menyematkan ke format halaman tetap. |
| OpenType Variasi Fonta | Hanya instans bernama yang didukung. Variasi berkelanjutan tidak didukung. | Didukung untuk satu-satunya instans default. Instans bernama dan variasi berkelanjutan tidak didukung. |
| Type1 fonta | Didukung pada versi Windows sebelum 2013 dan pada versi MacOS. Dukungan dihentikan pada versi Windows mulai tahun 2013. | Tidak didukung. |
Analyzing your prompt, please hold on...
An error occurred while retrieving the results. Please refresh the page and try again.