# پیکربندی جایگزینی قلم در ارائه‌ها بر روی اندروید

> در Aspose.Slides برای اندروید، با استفاده از جاوا، جایگزینی بهینه قلم را هنگام تبدیل ارائه‌های PowerPoint و OpenDocument به سایر فرمت‌های فایل فعال کنید.

Source: https://docs.aspose.com/slides/fa/androidjava/font-substitution/
Updated: 2026-06-13

## **مرور کلی**

جایگزینی قلم به Aspose.Slides امکان استفاده از قلم دیگری را می‌دهد وقتی قلم اصلی ارائه در طول رندر یا تبدیل در دسترس نیست. می‌توانید با استفاده از روش `getSubstitutions` از واسط `IFontsManager` بررسی کنید کدام قلم‌ها جایگزین شده‌اند.

Aspose.Slides همچنین به شما اجازه می‌دهد قوانین جایگزینی قلم را تعریف کنید. به عنوان مثال می‌توانید مشخص کنید که یک قلم غیرقابل دسترسی باید با قلم دیگری که در دسترس است جایگزین شود و سپس این قوانین را از طریق مدیر قلم ارائه اعمال کنید.

## **تنظیم قوانین جایگزینی قلم**

Aspose.Slides به شما امکان می‌دهد قوانین برای قلم‌ها تنظیم کنید که تعیین می‌کند در شرایط خاص چه کاری باید انجام شود (به عنوان مثال، وقتی قلم قابل دسترسی نیست) به این شکل:

1. ارائه مورد نظر را بارگذاری کنید.
2. قلمی که قرار است جایگزین شود را بارگذاری کنید.
3. قلم جدید را بارگذاری کنید.
4. یک قانون برای جایگزینی اضافه کنید.
5. قانون را به مجموعه قوانین جایگزینی قلم ارائه اضافه کنید.
6. تصویر اسلاید را تولید کنید تا اثر را مشاهده کنید.

این کد Java فرآیند جایگزینی قلم را نشان می‌دهد:

```java
// بارگذاری یک ارائه
Presentation pres = new Presentation("Fonts.pptx");
try {
    // بارگذاری قلم منبعی که جایگزین خواهد شد
    IFontData sourceFont = new FontData("SomeRareFont");
    
    // بارگذاری قلم جدید
    IFontData destFont = new FontData("Arial");
    
    // افزودن یک قانون قلم برای جایگزینی قلم
    IFontSubstRule fontSubstRule = new FontSubstRule(sourceFont, destFont, FontSubstCondition.WhenInaccessible);
    
    // افزودن قانون به مجموعه قوانین جایگزینی قلم
    IFontSubstRuleCollection fontSubstRuleCollection = new FontSubstRuleCollection();
    fontSubstRuleCollection.add(fontSubstRule);
    
    // افزودن مجموعه قوانین قلم به فهرست قوانین
    pres.getFontsManager().setFontSubstRuleList(fontSubstRuleCollection);
    
    // قلم Arial به جای SomeRareFont استفاده خواهد شد وقتی قلم دوم در دسترس نیست
    IImage slideImage = pres.getSlides().get_Item(0).getImage(1f, 1f);
    
    // ذخیره تصویر بر روی دیسک با فرمت JPEG
    try {
          slideImage.save("Thumbnail_out.jpg", ImageFormat.Jpeg);
    } finally {
         if (slideImage != null) slideImage.dispose();
    }
} finally {
    if (pres != null) pres.dispose();
}
```

{{%  alert title="NOTE"  color="warning"   %}} 

ممکن است مایل باشید به [**Font Replacement**](/slides/fa/androidjava/font-replacement/) نگاه کنید.

{{% /alert %}}

## **محدودیت‌ها برای قلم‌های معادلات ریاضی**

قوانین جایگزینی قلم در فرآیند استاندارد انتخاب قلم که در طول رندر و تبدیل استفاده می‌شود شرکت می‌کنند. این قوانین برای سناریوهای متنی معمول مناسب هستند، جایی که Aspose.Slides می‌تواند قلم غیرقابل دسترسی را با قلم دیگری که در دسترس است طبق قانون پیکربندی‌شده جایگزین کند.

با این حال، معادلات ریاضی Office محدودیت مهمی دارند. اگر معادله‌ای با **Cambria Math** ساخته شده باشد، Aspose.Slides ممکن است هنوز به قلم اصلی **Cambria Math** برای محاسبه و رندر صحیح چیدمان معادله نیاز داشته باشد. به همین دلیل، جایگزینی **Cambria Math** با قلم ریاضی دیگری مثل **STIX Two Math** برای رندر معادله پشتیبانی نمی‌شود و ممکن است همچنان استثنایی نشان دهد که **Cambria Math** مورد نیاز است.

برای تبدیل موفق این ارائه‌ها، اطمینان حاصل کنید که **Cambria Math** در زمان اجرا برای Aspose.Slides در دسترس باشد. می‌توانید این قلم را در سیستم‌عامل نصب کنید یا به عنوان یک [external font](/slides/fa/androidjava/custom-font/) فراهم کنید تا در فرآیند عادی انتخاب قلم در طول رندر و تبدیل شرکت کند.

این محدودیت مخصوص رندر معادله است. قوانین استاندارد جایگزینی قلم که در بالا توصیف شد همچنان برای متن معمولی ارائه اعمال می‌شود وقتی قلم اصلی در دسترس نیست.

## **سوالات متداول**

**تفاوت جایگزینی قلم و جایگزینی (substitution) قلم چیست؟**

[Replacement](/slides/fa/androidjava/font-replacement/) یک بازنویسی اجباری یک قلم با قلم دیگر در تمام ارائه است. Substitution قانونی است که تحت شرایط خاصی فعال می‌شود، مثلاً وقتی قلم اصلی در دسترس نیست و سپس یک قلم جایگزین تعیین‌شده استفاده می‌شود.

**چه موقع دقیقاً قوانین جایگزینی (substitution) اعمال می‌شوند؟**

قوانین در توالی استاندارد [font selection](/slides/fa/androidjava/font-selection-sequence/) که در هنگام بارگذاری، رندر و تبدیل ارزیابی می‌شود، شرکت می‌کنند؛ اگر قلم انتخاب‌شده در دسترس نباشد، جایگزینی یا substitution اعمال می‌شود.

**هنگامی که نه جایگزینی (replacement) نه جایگزینی (substitution) پیکربندی شده باشد و قلم در سیستم موجود نباشد، رفتار پیش‌فرض چیست؟**

کتابخانه سعی می‌کند نزدیک‌ترین قلم در دسترس سیستم را انتخاب کند، مشابه رفتار PowerPoint.

**آیا می‌توانم قلم‌های خارجی سفارشی را در زمان اجرا اضافه کنم تا از substitution جلوگیری شود؟**

بله. می‌توانید در زمان اجرا [add external fonts](/slides/fa/androidjava/custom-font/) را اضافه کنید تا کتابخانه آن‌ها را برای انتخاب و رندر، از جمله برای تبدیل‌های بعدی در نظر بگیرد.

**آیا Aspose هیچ قلمی را همراه کتابخانه توزیع می‌کند؟**

خیر. Aspose هیچ قلمی، چه تجاری و چه رایگان، توزیع نمی‌کند؛ شما قلم‌ها را به اختیار و مسئولیت خود اضافه و استفاده می‌کنید.

**آیا در رفتار substitution بین Windows، Linux و macOS تفاوتی وجود دارد؟**

بله. کشف قلم از پوشه‌های قلم سیستم‌عامل آغاز می‌شود. مجموعه قلم‌های پیش‌فرض در دسترس و مسیرهای جستجو در بین پلتفرم‌ها متفاوت است که بر دسترسی و نیاز به substitution تأثیر می‌گذارد.

**چگونه باید محیط را آماده کنم تا جایگزینی (substitution) ناخواسته در تبدیل‌های دسته‌ای به حداقل برسد؟**

مجموعه قلم‌ها را بین ماشین‌ها یا کانتینرها همگام کنید، [add the external fonts](/slides/fa/androidjava/custom-font/) مورد نیاز برای اسناد خروجی را اضافه کنید، و هنگام امکان [embed fonts](/slides/fa/androidjava/embedded-font/) را در ارائه‌ها بکار بگیرید تا قلم‌های انتخابی در طول رندر در دسترس باشند.
