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. يتم أيضا مشاركة هذا المثيل تلقائيا بين المستندات، ويمكن استخراجه على النحو التالي:
Java
FontSettings fontSettings = FontSettings.getDefaultInstance();
إذا كنت متأكدا من أن جميع مستندات المعالجة تتطلب نفس إعدادات الخط، فمن المستحسن إعداد المثيل الافتراضي FontSettings واستخدامه. لنفترض أنك بحاجة إلى استخدام نفس مصادر الخطوط لجميع مستنداتك. في هذه الحالة، يمكنك فقط تعديل المثيل الافتراضي على النحو التالي:
يمكن تنسيق نص في مستند بخطوط مختلفة، مثل أريال، تايمز نيو رومان، فيردانا، وغيرها. عند عرض Aspose.Words مستندا، فإنه يحاول تحديد الخطوط المحددة في المستند.
ومع ذلك، هناك حالات لا يمكن فيها العثور على الخط الدقيق و Aspose.Words يجب استبداله بخط مشابه بدلا من ذلك. Aspose.Words يحدد الخط وفقا للعملية التالية:
FontConfig. يجب استخدام هذه الميزة غيرWindows مع FontConfig متوافق OS. تقريبا أي يونكس على أساس OS لديها بالفعل مكتبة FontConfig التي تم تصميمها لتوفير تكوين الخط على مستوى النظام، والتخصيص، والوصول إلى التطبيقات. خلاف ذلك، يمكن للمستخدم تثبيت هذه المكتبة بسهولة.FontConfig. يمكنك تمكينه على النحو التالي: 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 أيضا. يتم تمكين هذه القاعدة أيضا بشكل افتراضي. وفقا لهذه القاعدة، سيحاول Aspose.Words استخدام الخط الافتراضي المحدد في الخاصية DefaultFontName. إذا لم يختار المستخدم الخط الافتراضي الخاص به، فسيتم استخدام" تايمز نيو رومان " كخط افتراضي. يمكن تعطيل هذه القاعدة كما هو موضح أدناه: fontSettings.getSubstitutionSettings().getDefaultFontSubstitution().setEnabled(false);
fontSettings.getSubstitutionSettings().getDefaultFontSubstitution().getDefaultFontName();
fontSettings.getSubstitutionSettings().getDefaultFontSubstitution().setDefaultFontName("Arial");
في بعض الأحيان، قد يكون من غير الواضح سبب تغيير تخطيط المستند، أو سبب عدم ظهور بعض الخطوط كما هو متوقع. في مثل هذه الحالات، تأتي رسائل تحذيرات استبدال الخط التي تنفذها واجهة IWarningCallback للإنقاذ. لديهم نوع التحذير FontSubstitution وتنسيق نص الوصف القياسي، " لم يتم العثور على الخط ‘
هناك آليتان مختلفتان تستخدمان في Aspose.Words - استبدال الخط واحتياطي الخط. يتم استخدام استبدال الخط عندما يتعذر العثور على الخط المحدد في المستند بين مصادر الخط كما هو موضح في الأقسام أعلاه. يتم استخدام آلية احتياطي الخط عند حل الخط، ولكنها لا تحتوي على حرف معين. في هذه الحالة، Aspose.Words يحاول استخدام أحد الخطوط الاحتياطية للحرف.
هناك طريقة BuildAutomatic تقوم تلقائيا بإنشاء الإعدادات الاحتياطية عن طريق مسح الخطوط المتاحة ضوئيا. نظرا لأن هذه الطريقة قد تنتج إعدادا احتياطيا غير مثالي، يمكنك التحكم في السلوك الاحتياطي للخط باستخدام خصائص فئة FontFallbackSettings. تحدد هذه الفئة إعدادات آلية تراجع الخط. يمكنك الحصول على مثيل من فئة FontFallbackSettings على النحو التالي:
Java
FontFallbackSettings settings = fontSettings.getFallbackSettings();
على غرار Table substitution rule، تستخدم هذه الآلية XML جداول للتكوين. يمكن تحميل هذه الجداول XML وحفظها بالطرق التالية:
Java
fontSettings.getFallbackSettings().load("MyNewFallbackTable.xml");
fontSettings.getFallbackSettings().save("Current_FallbackTable.xml");
يتضمن الإصدار Aspose.Words جدولين: MsOfficeFallbackSetting.xml و NotoFallbackSetting.xml.
يحدد الجدول MsOfficeFallbackSetting استراتيجية استبدال لمجموعة من الأحرف، والتي تشبه الإستراتيجية المستخدمة بواسطة Microsoft Word. وبالتالي، تتطلب الاستراتيجية تثبيت Microsoft خطوط المكتب. MsOfficeFallbackSetting يمكن تفعيلها باستخدام الطريقة التالية:
.Java
fontSettings.getFallbackSettings().loadMsOfficeFallbackSettings();
يتم إنشاء الجدول NotoFallbackSetting خصيصا للاستخدام مع Google Noto الخطوط (انظر المزيد حول Google Noto إعدادات الخط في القسم التالي) ويمكن تمكينه على النحو التالي:
Java
fontSettings.getFallbackSettings().loadNotoFallbackSettings();
يوضح مثال التعليمات البرمجية التالية كيفية تحميل إعدادات الخط الاحتياطي من ملف 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 رخصة فتح الخط، والتي يمكن تنزيلها من Google Noto الخطوط. توفر فئة FontFallbackSettings طريقة LoadNotoFallbackSettings. يقوم بتحميل الإعدادات الاحتياطية المحددة مسبقا، والتي تستخدم Google Noto الخطوط كما هو موضح في مثال الكود أدناه:
Aspose.Words محاولات للعثور على TrueType الخطوط على نظام الملفات تلقائيا. عادة، يمكنك الاعتماد على السلوك الافتراضي Aspose.Words للعثور على TrueType الخطوط، ولكن في بعض الأحيان تحتاج إلى تحديد المجلدات الخاصة بك التي تحتوي على 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.