مسائل مربوط به دستکاری فونت و عملکرد

تمام مکانیسم های دستکاری فونت موجود در کلاس FontSettings وجود دارد. این کلاس مسئول گرفتن فونت ها در منابع فونت تعریف شده و همچنین برای فرآیند جایگزینی فونت است، همانطور که در زیر توضیح داده شده است.

تجزیه فونت های حل شده

فونت ها در چند مرحله تجزیه می شوند:

  1. به دست آوردن اطلاعات برای فونت، حل از تمام فونت های موجود.
  2. تجزیه فونت های حل شده برای دریافت گلیف ها و معیارهای موجود (افقی و عمودی).
  3. تجزیه فونت های حل شده برای جاسازی و زیر تنظیم.

هنگامی که Aspose.Words برای اولین بار با یک فونت در سند روبرو می شود، سعی می کند اطلاعات اساسی فونت مانند نام کامل فونت، نام خانوادگی، نسخه، سبک را از فایل های فونت واقع در هر منبع فونت بدست آورد. پس از بازیابی تمام فونت ها، Aspose.Words از این جزئیات برای پیدا کردن داده های فونت مورد نیاز یا جایگزینی مناسب برای فونت درخواست شده استفاده می کند.

مشکل عملکرد هنگام تعویض فونت ها

از آنجا که روش توصیف شده در بالا وقت گیر است، ممکن است بر عملکرد برنامه در اولین راه اندازی آن تأثیر منفی بگذارد. با این حال، هر نمونه از FontSettings حافظه پنهان خود را دارد که می تواند زمان پردازش اسناد بعدی را کاهش دهد. به عنوان مثال، می توانید نمونه ای از کلاس FontSettings را بین اسناد مختلف به اشتراک بگذارید، که به شما امکان می دهد بارگیری اسناد را تسریع کنید. مثال زیر این را نشان می دهد:

در صورتی که FontSettings به طور صریح تعریف نشده باشد، Aspose.Words از نمونه پیش فرض FontSettings استفاده می کند. این نمونه نیز به طور خودکار بین اسناد به اشتراک گذاشته می شود و می تواند به شرح زیر استخراج شود:

C++

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

با استفاده از نمونه پیش فرض FontSettings

اگر مطمئن هستید که تمام اسناد پردازش نیاز به تنظیمات فونت یکسان دارند، توصیه می شود که نمونه پیش فرض FontSettings را تنظیم و استفاده کنید. فرض کنید که شما نیاز به استفاده از همان منابع فونت برای تمام اسناد خود را. در این مورد، شما فقط می توانید نمونه پیش فرض را به شرح زیر تغییر دهید: