Analyzing your prompt, please hold on...
An error occurred while retrieving the results. Please refresh the page and try again.
يتطلب Aspose.Words خطوط TrueType لمجموعة متنوعة من المهام، بما في ذلك عرض المستندات إلى تنسيقات الصفحات الثابتة، على سبيل المثال، PDF أو XPS. عندما يعرض Aspose.Words مستندًا، فإنه يحتاج إلى إجراء التضمين وتضمين المجموعة الفرعية لخطوط TrueType في المستند الناتج، وهي ممارسة عادية أثناء إنشاء المستند، بما في ذلك تنسيقات PDF أو XPS الشائعة. وهذا يضمن أن المستند سيظهر بنفس الشكل لأي عارض. علاوة على ذلك، تتطلب مواصفات XPS تضمين الخطوط دائمًا في المستند.
للتأكد من أن Aspose.Words يقيس الأحرف بدقة ويدمج الخطوط ذات الصلة بنجاح، يجب استيفاء الشروط التالية:
لاحظ أن الخط الموجود في المستند يمثل كيانًا، مثل اسم العائلة والنمط والحجم واللون، والذي يختلف عن كيان خط TrueType (الخط المادي). يقوم Aspose.Words بتحليل الخط الموجود في المستند إلى خط فعلي في مرحلة ما من المعالجة. يؤدي ذلك إلى تمكين مهام معينة، والأكثر شيوعًا هي مهمة حساب حجم النص أثناء إنشاء التخطيط والتضمين/الإعداد الفرعي لتنسيقات الصفحات الثابتة. يتم أيضًا تمكين عدد من المهام الأخرى الأقل شيوعًا، مثل تحليل الخطوط واستبدالها أثناء تحميل HTML أو التضمين/الإعداد الفرعي لبعض تنسيقات التدفق.
جميع آليات معالجة الخطوط المتوفرة موجودة في فئة FontSettings. هذه الفئة مسؤولة عن جلب الخطوط ضمن مصادر الخطوط المحددة بالإضافة إلى عملية استبدال الخط، كما هو موضح أدناه.
يتم تحليل الخطوط في عدة خطوات:
عندما يواجه Aspose.Words خطًا في المستند لأول مرة، فإنه يحاول الحصول على معلومات الخط الأساسية، مثل الاسم الكامل للخط، واسم العائلة، والإصدار، والنمط، من ملفات الخطوط الموجودة في كل مصدر خط. بعد استرداد جميع الخطوط، يستخدم Aspose.Words هذه التفاصيل للعثور على بيانات الخط المطلوبة أو البديل المناسب للخط المطلوب.
نظرًا لأن الإجراء الموضح أعلاه يستغرق وقتًا طويلاً، فقد يؤثر سلبًا على أداء التطبيق عند تشغيله لأول مرة. ومع ذلك، فإن كل مثيل لـ FontSettings له ذاكرة تخزين مؤقت خاصة به، مما قد يقلل من وقت معالجة المستندات اللاحقة. على سبيل المثال، يمكنك مشاركة مثيل لفئة FontSettings بين مستندات مختلفة، مما يسمح لك بتسريع تحميل المستندات. يوضح المثال التالي هذا:
في حالة عدم تعريف FontSettings بشكل صريح، يستخدم Aspose.Words مثيل FontSettings الافتراضي. تتم أيضًا مشاركة هذا المثيل تلقائيًا بين المستندات، ويمكن استخراجه على النحو التالي:
إذا كنت متأكدًا من أن جميع مستندات المعالجة تتطلب نفس إعدادات الخط، فمن المستحسن إعداد مثيل FontSettings الافتراضي واستخدامه. لنفترض أنك بحاجة إلى استخدام نفس مصادر الخطوط لجميع مستنداتك. في هذه الحالة، يمكنك فقط تعديل المثيل الافتراضي كما يلي:
يمكن تنسيق النص الموجود في المستند باستخدام خطوط مختلفة، مثل Arial وTimes New Roman وVerdana وغيرها. عندما يعرض Aspose.Words مستندًا، فإنه يحاول تحديد الخطوط المحددة في المستند.
ومع ذلك، هناك حالات لا يمكن فيها العثور على الخط الدقيق ويجب على Aspose.Words استبداله بخط مماثل بدلاً من ذلك. يقوم Aspose.Words بتحديد الخط وفقًا للعملية التالية:
FontConfig مصممة لتوفير تكوين الخطوط على مستوى النظام وتخصيصها والوصول إلى التطبيقات. بخلاف ذلك، يمكن للمستخدم تثبيت هذه المكتبة بسهولة.
يعرف Aspose.Words كيفية الاستعلام عن البيانات وتفسير نتائج FontConfig لأغراضه الخاصة. بشكل افتراضي، يتم تعطيل الأداة المساعدة FontConfig. يمكنك تمكينه على النحو التالي:fontSettings.substitution_settings.font_config_substitution.enabled = TrueFontConfig.<TableSubstitutionSettings xmlns="Aspose.Words">
<SubstitutesTable>
<Item OriginalFont="Arabic Transparent" SubstituteFonts="Arial" />
…
</SubstitutesTable>
</TableSubstitutionSettings>fontSettings.substitution_settings.table_substitution.load("Table.xml")fontSettings.substitution_settings.table_substitution.enabled = FalsefontInfos = doc.font_infosfontSettings.substitution_settings.font_info_substitution.enabled = FalseFontInfo أيضًا. يتم تمكين هذه القاعدة أيضًا بشكل افتراضي. طبقاً لهذه القاعدة، سيحاول Aspose.Words استخدام الخط الافتراضي المحدد في خاصية default_font_name. إذا لم يقم المستخدم باختيار الخط الافتراضي الخاص به، فسيتم استخدام “Times New Roman” كخط افتراضي. يمكن تعطيل هذه القاعدة كما هو موضح أدناه:fontSettings.substitution_settings.default_font_substitution.enabled = FalsefontSettings.substitution_settings.default_font_substitution.default_font_namefontSettings.substitution_settings.default_font_substitution.default_font_name = "Arial"إذا كان FontInfo متاحًا، فستقوم قاعدة استبدال FontInfo دائمًا بحل الخط وتجاوز قاعدة الخط الافتراضية. إذا كنت تريد استخدام قاعدة الخط الافتراضية، فيجب عليك تعطيل قاعدة استبدال FontInfo. لاحظ أن قاعدة استبدال FontConfig ستحل مشكلة الخط في معظم الحالات، وبالتالي تتجاوز كافة القواعد الأخرى.
هناك آليتان مختلفتان مستخدمتان في Aspose.Words - استبدال الخط والخط الاحتياطي. يتم استخدام استبدال الخط عندما لا يمكن العثور على الخط المحدد في المستند بين مصادر الخطوط كما هو موضح في الأقسام أعلاه. يتم استخدام آلية الخط الاحتياطي عند حل الخط، لكنه لا يحتوي على حرف محدد. في هذه الحالة، يحاول Aspose.Words استخدام أحد الخطوط الاحتياطية للشخصية.
توجد طريقة build_automatic تقوم تلقائيًا بإنشاء الإعدادات الاحتياطية عن طريق فحص الخطوط المتاحة. نظرًا لأن هذه الطريقة قد تنتج إعدادًا احتياطيًا غير مثالي، فيمكنك التحكم في سلوك الخط الاحتياطي باستخدام خصائص فئة FontFallbackSettings. تحدد هذه الفئة إعدادات آلية الرجوع للخط. يمكنك الحصول على مثيل لفئة FontFallbackSettings كما يلي:
settings = fontSettings.fallback_settingsعلى غرار قاعدة استبدال الجدول، تستخدم هذه الآلية جداول XML للتكوين. يمكن تحميل جداول XML هذه وحفظها بالطرق التالية:
fontSettings.fallback_settings.load("MyNewFallbackTable.xml")
fontSettings.fallback_settings.save("Current_FallbackTable.xml")يتضمن إصدار Aspose.Words جدولين: MsOfficeFallbackSetting.xml وNotoFallbackSetting.xml.
يحدد جدول MsOfficeFallbackSetting استراتيجية بديلة لمجموعة من الأحرف، وهي مشابهة للاستراتيجية المستخدمة بواسطة Microsoft Word. وبالتالي، تتطلب الإستراتيجية تثبيت خطوط Microsoft Office. يمكن تفعيل MsOfficeFallbackSetting باستخدام الطريقة التالية:
fontSettings.fallback_settings.load_ms_office_fallback_settings()تم إنشاء جدول NotoFallbackSetting خصيصًا للاستخدام مع خطوط Google Noto (راجع المزيد حول إعدادات خطوط Google Noto في القسم التالي) ويمكن تمكينه على النحو التالي:
fontSettings.fallback_settings.load_noto_fallback_settings()يوضح مثال التعليمات البرمجية التالي كيفية تحميل إعدادات الخط الاحتياطي من ملف 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. هذه خطوط مجانية مرخصة بموجب ترخيص SIL Open Font، ويمكن تنزيلها من Google Noto Fonts. توفر فئة FontFallbackSettings طريقة load_noto_fallback_settings. يقوم بتحميل الإعدادات الاحتياطية المحددة مسبقًا، والتي تستخدم خطوط Google Noto كما هو موضح في مثال التعليمات البرمجية أدناه:
يحاول Aspose.Words العثور على خطوط TrueType على نظام الملفات تلقائيًا. عادةً، يمكنك الاعتماد على السلوك الافتراضي لـ Aspose.Words للعثور على خطوط TrueType، ولكن في بعض الأحيان تحتاج إلى تحديد المجلدات الخاصة بك التي تحتوي على خطوط TrueType. يصف موضوع تحديد موقع خطوط تروتايب كيف وأين يبحث Aspose.Words عن الخطوط، بالإضافة إلى كيفية تحديد مواقع الخطوط الخاصة بك.
توجد بعض الاختلافات في معالجة تنسيقات الخطوط في Aspose.Words وMicrosoft Word كما هو موضح في الجدول أدناه:
| Microsoft Word | Aspose.Words | |
|---|---|---|
| خطوط TrueType وخطوط OpenType مع مخططات TrueType | أيد. | أيد. |
| خطوط OpenType مع مخططات PostScript | مدعومة لمعظم السيناريوهات. التضمين في تنسيقات الصفحات الثابتة مثل PDF وXPS غير مدعوم. يتم استبدال النص بصور نقطية. | مدعوم لمعظم السيناريوهات، بما في ذلك التضمين في تنسيقات الصفحات الثابتة. |
| اختلافات الخط OpenType | يتم دعم المثيلات المسماة فقط. الاختلافات المستمرة غير مدعومة. | مدعوم للمثيل الافتراضي فقط. لا يتم دعم المثيلات المسماة والاختلافات المستمرة. |
| الخطوط من النوع 1 | مدعوم في إصدارات Windows قبل عام 2013 وفي إصدارات MacOS. تم إسقاط الدعم عن إصدارات Windows بدءًا من عام 2013. | غير معتمد. |
Analyzing your prompt, please hold on...
An error occurred while retrieving the results. Please refresh the page and try again.