PDFium Delphi Component Docs

ConfigureSystemFontProvider الإجراء

الوحدة: PDFium

الصياغة

procedure ConfigureSystemFontProvider(const Provider: IPdfSystemFontProvider; const Policy: TPdfSystemFontPolicy);

الوصف

تثبِّت معيِّن خطوط على مستوى العملية عبر واجهة استدعاء خطوط النظام الأصلية في PDFium

استدعِها قبل أول LoadLibrary أو قبل فتح أي مستند TPdf

يؤدي استدعاؤها أثناء تحميل PDFium إلى رفع EPdfError حتى لا تعيش مقابض الخطوط الأصلية أبدًا بعد تهيئة موفِّرها

عقد الموفِّر

يستقبل IPdfSystemFontProvider.ResolveFont المحرف المطلوب، والوزن، وحالة الخط المائل، ومجموعة المحارف، وعائلة المسافات

أعِد True مع اسم محرف، ومصفوفة بايتات TrueType كاملة، أو TrueType Collection، أو OpenType، ومجموعة محارف، وفهرس TTC اختياري

قد يعمل الموفِّر على خيوط عمل PDFium ويجب أن يكون آمنًا للخيوط

تُحتَوى الاستثناءات عند حدود الاستدعاء الأصلي وتُحسب كاستجابات موفِّر فاشلة

السياسة والتخزين المؤقت

يسمح TPdfSystemFontPolicy.Default بالخط البديل الأصلي واستبدال المحارف، ويقصر كل خط مُزوَّد على 64 MiB، ويحتفظ بما يصل إلى 32 نتيجة طلب في ذاكرة LRU محدودة

عيِّن AllowDefaultFallback إلى False عندما يجب أن يتخذ التطبيق كل قرار خاص بخط مفقود

عيِّن AllowFaceSubstitution إلى False لرفض استجابة يختلف اسم محرفها عن الاسم المطلوب

تعطِّل القيمة صفر في MaxCacheEntries التخزين المؤقت للطلبات

يستطيع ConfigureSystemFontCacheGovernor إضافةً إلى ذلك إخضاع بايتات الخطوط المحتجزة لميزانية مشتركة عبر المخازن المؤقتة

الإحصاءات

يعيد GetSystemFontProviderStatistics لقطة TPdfSystemFontStatistics تغطي Configured و Installed و MapRequests و CacheHits و ProviderHits و DefaultFallbackHits و RejectedProviderResponses و FailedRequests و FontDataRequests و ActiveHandles و CachedFonts و CachedFontBytes و CacheEvictions

من الآمن الاستعلام عن اللقطة أثناء تصيير PDFium

ClearSystemFontProvider

استدعِ UnloadLibrary قبل ClearSystemFontProvider

يعيد المسح ضبط الموفِّر والسياسة والذاكرة المؤقتة والإحصاءات

يؤدي استدعاؤها أثناء بقاء PDFium محمَّلًا إلى رفع EPdfError

مثال

var
  Policy: TPdfSystemFontPolicy;
begin
  UnloadLibrary;
  Policy := TPdfSystemFontPolicy.Default;
  Policy.AllowDefaultFallback := False;
  ConfigureSystemFontProvider(MyFontProvider, Policy);
  LoadLibrary;
end;

انظر أيضًا

ConfigureSystemFontCacheGovernor, FPdfCache, LoadLibrary, UnloadLibrary, AddCidType2Text