النواة المحمولة في 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 المنفَّذة أعلاه متاحة باستقلال عن ذلك العمل المتبقي