Supplied Rich Text Font Fallback
اضبط THPDFHeadlessTextAppearanceOptions.FallbackFontFamilies إلى True لحل محارف rich-text الرسومية المفقودة من العائلات المقدَّمة إلى HPDFBuildHeadlessRichTextFamilyAppearance أو SetRichTextFieldValueWithFamilies
الافتراضي False، محفظًا الانتقاء الصارم لكل عائلة ونمط مؤلَّفَين؛ وباني النص أحادي الخط لا يبحث في عائلات أخرى
Options:= THPDFHeadlessTextAppearanceOptions.Default;
Options.FallbackFontFamilies:= True;
Document.SetRichTextFieldValueWithFamilies(FieldIndex, Runs, Families, Options);
الانتقاء والتشكيل
المحلل يستخدم حدود المحارف الكاملة الممتدة وفق Unicode 17 عبر مسارات أنماط مؤلَّفة متجاورة ودرزات مسارات فارغة داخل كل فقرة؛ وقرار العائلة لا يقسم أبدًا زوج surrogate أو مقطع تجميع أو مقطع variation أو عنقود joiner
عندما يزوّد أول مسار متأثر FontFamilyCandidates، يترجّح ترتيبها المعلن ويجب أن يغطي كل مرشح مهيأ كل جزء منسق من المحرف الكامل؛ وإذا لم يتأهل أحد، تسري قواعد fallback العائلة المنتقاة والمصفوفة المقدَّمة أدناه
إذا غطت البرامج المنتقاة المحرف الكامل، تبقى عائلاتها المؤلفة قيد الاستخدام؛ وإلا يحاول المحلل أولًا عائلة أول مسار متأثر، ثم العائلات المقدَّمة بترتيب المصفوفة، منتقيًا عائلة واحدة تغطي كل جزء منسق من المحرف الكامل بالبرنامج الفعلي المطابق من regular أو bold أو italic أو bold-italic
برامج الأنماط المفقودة تُتخطى بوصفها مرشحين، بينما ينتج البرنامج المشوه الذي يجب فحصه خطأ خط غير صالح مكتوب النوع؛ وعناصر تحكم التخطيط والتشكيل لا تتطلب محارف cmap مرئية؛ والمحرف الذي لا تغطيه أي عائلة مقدَّمة ينتج haMissingGlyph
التشكيل السياقي القائم وترتيب bidi ومواضع العلامات عبر الأنماط والالتفاف وفواصل الفقرات الصريحة ودوران widgets تسري على مسارات المظهر المحلولة
القيم والمعاملات
مسارات fallback موجودة فقط أثناء تهيئة المظهر؛ ومسارات المستدعي تبقى دون تغيير والمستند يخزن قيمة plain الأصلية وعلامة rich المؤلفة في V وRV
أحجام النقاط المكتوبة النوع ومكوّنات RGB تمر مباشرة إلى تخطيط المظهر دون إعادة بنائهما من قيمة rich المسلسلة، وتمثيلها النصي المقنّن له دقته الخاصة
استيرادات FDF وXFDF المدركة للعائلات تقبل نفس الخيار وتحفظ عقود المصدر غير القابل للتغيير والتواقيع والأمان وno-op الدلالية والنشر القائمة لديها
السقوف والاعتماديات
حد MaxFontBytes التراكمي يعد كل برنامج عائلة/نمط مفحوصًا خلال fallback، بما يشمل المرشحين الصالحين غير المضمّنين في النهاية؛ والمظهر يضمّن الأنماط المنتقاة فقط
ميزانيات إدخال UTF-16 والمحارف الرسومية والكائنات والبايتات القائمة تبقى سارية، والحل قد ينتج على الأكثر 4096 مسارًا منسقًا؛ والإلغاء يُفحص أثناء انتقاء الخطوط وتغطية scalars وكذلك أثناء التخطيط والنشر
التشكيل المعقد يحفظ اعتماديات HarfBuzz وFriBidi القائمة؛ وfallback يستخدم بايتات خطوط مقدَّمة فقط، بلا اكتشاف خطوط نظام ضمنيًا ولا aliases عامة ولا خطوط منزَّلة ولا أوراق أنماط منزَّلة؛ وقوائم مرشحي الخطوط المرتبة الصريحة تحفظ ترتيب عائلات CSS المضمّن المدعوم
واجهات العائلات الأصلية تكشف هذا الخيار؛ وJSON المسمّى بالعائلات على Linux يقبل نفس علم الاشتيار ويهيئ برامج مرشحين فعلية؛ وتحميل fallback الـ callbacks على Windows يبقى عملًا منفصلًا
القبول
ستة أهداف ترجمة أصلية كل منها يُنجز 199 فحصًا على 30 PDF محفوظًا و1098 فحصًا مستقلًا للقيم والخطوط المضمّنة والمحارف الرسومية والتشكيل والدقة والأسطر والبكسلات المرئية؛ وبرامج الخطوط subset وكاملةً الفعلية تغطي الأنماط الأربعة كلها وعلامات تجميع عبر الأنماط ووصل العربية والعبرية وjoiners تكميلية ومرشحي عائلات مرتبين وAES R5/R6 وFDF/XFDF وميزانيات مكتوبة النوع وثمانية نقاط فحص إلغاء منتقاة بما فيها الفحص النهائي
واجهات C++Builder طازجة تترجم كلا المعماريتين؛ ودليل المحارف الرسومية المفقودة المنشور الحقيقي وإثبات المحرف الرسومي الفعلي الناجح primary/fallback/primary لـ widget يُحفظان منفصلين