Manipulasi Font dan Masalah Kinerja

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.

Menguraikan Font yang Diselesaikan

Font diuraikan dalam beberapa langkah:

  1. Mendapatkan info untuk font, menyelesaikan dari semua font yang tersedia.
  2. Mengurai font yang diselesaikan untuk mendapatkan mesin terbang dan metrik yang tersedia (horizontal dan vertikal).
  3. Mengurai font yang diselesaikan untuk disematkan dan disubset.

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.

Masalah Kinerja saat mengganti font

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:

C++

System::SharedPtr<FontSettings> fontSettings = System::MakeObject<FontSettings>()->get_DefaultInstance();

Menggunakan Instance FontSettings Default

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: