النواة المحمولة في Linux
النواة المحمولة تجمع نموذج الكائنات القائم ومحلل الكائنات البسيط ومساعدات Direct File I/O ومفسر تدفقات المحتوى ومساعدات قيم PDF وكاتب xref والمقطورة وخلفية Flate وأوليات AES إلى برامج Linux أصلية بـ Free Pascal
HPDFPlatform provides real POSIX mapped files and positional reads, temporary-file creation, worker synchronization, and operating-system random bytes; the Windows adapter preserves the existing native file and mapping behavior
نطاق القبول
Tests/Linux/Run-PortableCoreTests.sh builds a native x86_64 ELF console executable, clears desktop display variables, checks for GUI library dependencies, and runs eight groups of regressions with a timeout
الفحوص تغطي مراتب المحلل والمراجع غير المباشرة وقيم PDF غير المتغيرة ومرشحات التدفقات والنوافذ المقيدة وإزاحات الملفات المتفرقة فوق 4 GiB وتدفقات فائض غير متزامنة مضغوطة وأجوبة Flate وAES المعروفة وهاشات ملفات MD5 وIVs عشوائية من نظام التشغيل وتسلسل xref كلاسيكي صالحًا وعدادات صفحات Direct File والبحث عن الكائنات ومواضع نص ومحارف تدفقات المحتوى
ملف الاختبار ذو الصفحة الواحدة المولد يكتبه الكاتب القائم ويقرأ مستقلةً عبر مساعدات Direct File المشتركة؛ وفحوص المحتوى تستخدم حل الهوية Latin-1 القائم وحل خطوط الصفحة مع اختلافات ترميز وعروض صريحة معًا
بيانات الخطوط وفك ترميز النص
HPDFFontData separates the existing glyph-name, encoding, and sfnt CMap decoding from GDI; Windows embedded glyph rendering and the existing HPDFTextExtraction decoder use the same implementation
THPDFTrueTypeData exposes supported CMap lookup, reverse glyph-to-Unicode mapping, and hmtx horizontal advances for a single-font sfnt image
HPDFBaseFontMetrics uses تقدمات الخطوط القياسية القانونية لاسمي Helvetica/Times/Courier الاثني عشر الدقيقين والمحارف المفكوكة المدعومة، وتحتفظ باحتياط GDI في Windows وFontconfig في Linux للخطوط الأخرى، وتحفظ العروض الصريحة لـ PDF
عقود مساعدات المنصة والخطوط
THPDFPlatformHandle is a signed native-width handle and HPDFInvalidFileHandle is -1; HPDFOpenReadOnlyFile and HPDFCloseFile manage read handles, while HPDFFileSize and HPDFReadFileAt use Int64 positions and callers must handle short reads
HPDFMappingGranularity supplies the required offset alignment; HPDFCreateReadOnlyMapping returns zero on failure, HPDFMapReadOnly maps the requested range, and HPDFUnmapReadOnly / HPDFCloseMapping release the view and mapping
HPDFCreateTemporaryFile exclusively creates a file whose path and cleanup belong to the caller; HPDFInitializeLock / HPDFDeleteLock manage native critical sections
THPDFPlatformEvent aliases TEvent; HPDFCreateEvent, HPDFWaitEvent, HPDFSignalEvent, and HPDFResetEvent manage synchronization, and the caller frees events after the worker stops
HPDFSecureRandomBytes fills the requested buffer from the operating system or raises an exception
HPDFGlyphNameToUnicode, HPDFUnicodeToGlyphName, HPDFStdEncGlyphName, HPDFMacExpertEncGlyphName, and HPDFBaseEncToUnicode retain existing name and encoding behavior; HPDFBaseFontFamilyToken removes subset and style suffixes, while HPDFIsStandardTextFont recognizes Helvetica, Times, and Courier aliases
HPDFMeasureBaseFontWidths uses canonical supported standard-font advances before Windows GDI or Linux Fontconfig and shared sfnt horizontal metrics; THPDFTrueTypeData و THPDFUnicodeByGID يزودان واجهة API لبيانات الخطوط المشتركة
أنواع Direct File المشتركة
HPDFDirectFileTypes owns the existing THPDFKeyType, THPDFProtection, THPDFProtectOptions, THPDFDirectXrefEntry, THPDFDirectObjectSource, and THPDFDirectFileState definitions
This separation lets HPDFDirectFileIO use the same records and permission types without importing the component and GUI implementation
HPDFDoc retains aliases and enum-value constants under the original names; enum ordinals and record layouts are unchanged
تهيئة برامج Linux
Native Free Pascal programs must place cthreads first in the uses list before using worker threads; the portable-core test also loads cwstring to supply the Unicode conversion manager
Use FPC 3.2.2 or newer with its FCL and paszlib units, a C runtime, Fontconfig with installed TrueType fonts, and the file, ldd, and timeout tools; FPC_EXE and HPDF_LINUX_OUTPUT select the compiler and isolated output directory
الحد الأدنى لإصدار FPC المدعوم هو 3.3.1 على كل الأنظمة؛ وقبول التسجيل الجديد يوثّق بناء المترجم وهوية المصدر الفعليتين، بينما تبقى نتائج المترجمات الأقدم دليلًا تاريخيًا
الهجرة المتبقية
API المستندات headless الأصلي يحمل رسومًا بيانية كلاسيكية وتدفقات xref وهجينة وكائنات مضغوطة، ويحل موارد الصفحات والـ Form، ويستخرج نص Unicode، ويحرر حقول AcroForm المدعومة، ويستورد صفحات، وينشر مراجعات تزايدية ببايتات مصدر محفوظة
This stage does not expose THotPDF on Linux: the واجهة المستندات الأصلية headless تحمل الآن الرسوم البيانية الكلاسيكية وxref-stream وhybrid والكائنات المضغوطة وتحل موارد الصفحات وForms وتستخرج نص Unicode وتحرر قيم نص AcroForm؛ وملفها يشمل الآن Standard AES-256 وCMS/CAdES متدفقًا بـ OpenSSL ونشر توقيع تزايديًا زائد تصيير PNG أصليًا بـ Cairo/FreeType ومظاهر عادية قائمة؛ وتوليد مظاهر TrueType أحادية السطر من Unicode بمعاملات مفحوص أيضًا؛ ومعالجات التشفير القديمة وOCR وC ABI في Linux تتطلب تكاملًا منفصلًا
تدفقات العمل الأصلية للمستندات توفر استيراد HTML ونص صفحات مرئيًا وغير مرئي وOCR حقيقيًا بـ Tesseract وتحويل PDF/A-4 نقطيًا؛ واستيرادات الصفحات وتحويل الأرشيف النصي/المتجهي المتحقق منه يحفظ الموارد الأصلية، وإصلاح الخطوط الأرشيفي الصريح يضيف تضمينًا بديلًا محدود السقف
See Tests/Linux/Readme.en-us.md for the platform adapter contracts, Direct File type ownership, exact regression boundaries, Windows smoke runner, and remaining acceptance stages
المستند headless يقبل الآن ملف Standard AES-256 R5/R6 المحدود بحدود الموصوف في الصنف THPDFHeadlessAES256Security، بما يشمل صلاحيات owner/user والكائنات المضغوطة وحفظ النماذج التزايدي المشفر
راجع التصيير الأصلي بـ Cairo و النشر الذري للتوقيع الأصلي لتبعيات بيئة التشغيل والمحتوى المدعوم والميزانيات والصلاحيات وهوية المصدر وعقود الإخراج
توليد مظاهر النماذج من Unicode يحفظ المراجعات الأصلية وأمن AES ويصير في الذاكرة وبعد إعادة التحميل ويرفض صراحةً سياسات حقول أو تشكيل غير مدعومة
تدفقات عمل التوقيع الأصلية تتضمن هويات PEM/PFX وحقول توقيع منشأة حديثًا ومظاهر مرئية وتصديقًا؛ ونقل الطوابع الزمنية الصريح والثقة وأدلة الإبطال المتحقق منها يحفظ متطلباته التشفيرية والنشرية الموثقة
حدود القدرات المتبقية
ملف أمان المستندات headless يدعم Standard AES-256 R5/R6؛ ومعالجات الأمان الأخرى تبقى خارج ذلك الملف بدلًا من أن تصبح مدعومة عبر محوّل النواة المحمولة
rendering التعليقات الأوسع وCSS/layout الـ rich-text العام ورسوم أعمال وموارد FDF الكاملة وتوافق XFA الديناميكي العام تبقى نشطة في خطة إكمال القدرات؛ وتكاملات native المنفَّذة أعلاه متاحة باستقلال عن ذلك العمل المتبقي