function PdfLibraryConfigurationSupportError(const Configuration: TPdfLibraryConfiguration; SkiaBuild, FontationsBuild: Boolean): string;
| Configuration | TPdfLibraryConfiguration. الإعدادات المراد فحصها |
| SkiaBuild | Boolean. القيمة True لبنية PDFium تدعم Skia، أي أنها تُصدِّر FPDF_RenderPageSkia |
| FontationsBuild | Boolean. القيمة True لبنية PDFium بخلفية خطوط Fontations |
string: سلسلة فارغة عندما تكون الإعدادات مدعومة، وإلا فوصف للإعداد غير المدعومتوقف التهيئة الأصلية في PDFium العمليةَ بأكملها عندما تتلقى renderer أو خلفية خطوط لا تحويها البنية؛ فهي لا تعيد خطأ
لهذا ينفّذ LoadLibrary هذا الفحص بعد ربط الـ exports وقبل التهيئة الأصلية: prpSkia يستلزم بنية بـ Skia، و pfbpFontations يستلزم بنية بـ Fontations. وعندما يفشل الفحص يفرّغ LoadLibrary المكتبة، ويترك الإعدادات غير مختومة، ويرفع EPdfError، فيستطيع التطبيق بعدها استدعاء ConfigurePdfLibrary بإعدادات أخرى وإعادة المحاولة
يُكتشَف دعم Skia من الـ export باسم FPDF_RenderPageSkia. أما Fontations فلا تُصدِّر PDFium له أي شيء، فيبحث LoadLibrary عن crates خطوط Rust التي تربطها هذه الخلفية داخل ملف المكتبة؛ وملف المكتبة غير القابل للقراءة يُعامَل كأنه لا يدعمها
مكتبتا pdfium.dll و pdfium.v8.dll المضمَّنتان بنيتان بـ Skia من دون Fontations
prpDefault و prpAgg و pfbpDefault و pfbpFreeType تقبلها كل البِنىConfig := GetPdfLibraryConfiguration;
Config.Renderer := prpSkia;
ConfigurePdfLibrary(Config);
try
LoadLibrary;
except
on E: EPdfError do
begin
Config.Renderer := prpDefault;
ConfigurePdfLibrary(Config);
LoadLibrary;
end;
end;