مُصيِّر Cairo الأصلي على Linux
HPDFHeadlessCairoDevice يصيّر صفحة PDF محمَّلة إلى PNG بـ RGB باستخدام أسطح صور Cairo وFreeType، دون خادم عرض أو قارئ PDF
زوّد مشهدًا مستعارًا مسلسلًا من THPDFHeadlessDocument.GetRenderAccess(PageIndex) وأبقِ ذلك المستند محمَّلًا ودون تغيير حتى يعود التصيير
Document := THPDFHeadlessDocument.Create;
try
Document.LoadFromFile('input.pdf');
Options := THPDFHeadlessRenderOptions.Default;
Info := HPDFRenderHeadlessPagePNGFile(
Document.GetRenderAccess(0), 'page.png', Options);
finally
Document.Free;
end;
اعتماديات runtime
Linux الأصلي يستخدم libcairo.so.2 وlibfreetype.so.6 واعتمادية Fontconfig لمزوّد الخطوط القياسية؛ ثبّت خطوطًا مناسبة لاستبدال Helvetica وTimes وCourier
HOTPDF_CAIRO_LIBRARY وHOTPDF_FREETYPE_LIBRARY يمكنهما انتقاء مسارات مكتبات متوافقة صريحةً قبل أول تصيير؛ والوحدات الناجحة تبقى محمَّلة لأن مخازن الخطوط الأصلية قد تحفظ callbacks إهلاك
على الـ host إبقاء شيفرة الملف التنفيذي أو DLL أو الحزمة الخاصة به لـ HotPDF محمَّلة بينما يمكن لتلك المخازن الأصلية حفظ callbacks إهلاك خطوط HotPDF; وإفراغ وحدة host باستقلالية عن عمر المخزن يبقى خارج هذا الملف
Windows يستخدم libcairo-2.dll وlibfreetype-6.dll متوافقتين عبر الجسر نفسه؛ والثنائيات لـ runtime وترخيصها يزوّدها التطبيق
الألوان ICCBased تحمّل إضافيًا liblcms2.so.2; وJPEG يستخدم libturbojpeg.so.0 وJPEG 2000 يستخدم libopenjp2.so.7 متوافقًا مع OpenJPEG 2.5; وتلك الاعتماديات تُحمَّل فقط للمدخلات المقابلة
HOTPDF_LCMS_LIBRARY وHOTPDF_TURBOJPEG_LIBRARY وHOTPDF_OPENJPEG_LIBRARY تتجاوز تلك المسارات؛ وافتراضيات Windows هي lcms2.dll وturbojpeg.dll وopenjp2.dll
ملف التصيير
المحتوى المدعوم يشمل بناء وتصبغ المسارات وقواعد التعبئة nonzero وeven-odd والقص وحالة رسومات متداخلة وتحويلات CTM وأسلوب الخط وألوان DeviceGray/RGB/CMYK وalpha عاديًا وForm XObjects متكررة بمواردها وMatrix وBBox الخاصة
عروض الخطوط يمكن أن تكون صفرية: خطوط PDF شعرية المطلوبة بـ 0 w أو ExtGState LW=0 تستخدم stroke بكسلًا واحدًا في فضاء الجهاز؛ والعروض السالبة تُرفض
ExtGState D ومعامل d في مسار المحتوى تتشاركان تحقق dash محدودًا السقف: أنماط فارغة صلبة وتكرار بطول فردي ومدخلات بطول صفري وأطوال كسرية وطور موقعة مدعومة
نمط dash يقبل على الأكثر 256 طولًا منتهيًا غير سالبًا حتى 1e9 مع طول موجب واحد على الأقل عندما يكون غير فارغ وطورًا منتهيًا بقيمة مطلقة حتى 1e9; وكل عنصر يستهلك عمل عمليات وتخزين مؤقت يدخل في قبول بايتات العمل
مصفوفات المعامِلات تقبل تعليقات PDF، بما يشمل مصفوفات dash عددية ومصفوفات نص TJ; والقيم المعجمية المشوهة والأقواس الختامية المفقودة تحفظها الماسح المشترك ويرفضها المُصيِّر بدلًا من اختفائها بصمت
النص الأفقي يستخدم مفسّر المحارف الرسومية المشترك لمصفوفات النص والعروض الصريحة في PDF وإزاحات Helvetica/Times/Courier المقننة وتباعد المحارف والكلمات والمقياس الأفقي وتعديلات TJ
برامج الخطوط المضمّنة المدعومة تستخدم FreeType بمعرّفات محارف رسومية محلولة؛ وخرائط Unicode إلى ToUnicode تبقى متاحة عبر واجهة نص المستند، بينما تعتمد أشكال raster الخطوط القياسية على المقابلات المثبتة
النص المركب يدعم Identity-H وIdentity-V ومسارات CMap لترميز مضمّن صريحةً وخرائط UniJIS وUniGB وUniCNS وUniKS المدمجة بـ UCS2/UTF16 أفقيًا وعموديًا؛ ولا يُشترط تثبيت موارد CMap منفصلة
تصبغ المحارف الرسومية عموديًا يكرّم متجهَي التموضع DW2/W2 الافتراضي والصريح وصعود النص والمقياس الأفقي ومصفوفتَي النص والرسومات وإزاحة TJ; وخرائط UTF-16 تقبل رموز محارف تكميلية
كل أوضاع تصيير النص الثمانية مدعومة، بما يشمل مخططات fill/stroke/خفي عموديًا متراكمةً في القص عند ET; ومسارات CMap للترميز المضمّن تحفظ WMode وخرائط CID غير المطابقة
عمليات التعبئة والرسم المدمجة الشفافة تستخدم دمج knockout للكائن كي لا يتسرب التعبء المتداخل عبر الـ stroke; وإجراءات محارف Type3 الرسومية تنفّذ مواردها ومصفوفات خطوطها المحدودة السقف الخاصة
الصور تقبل عينات 1/2/4/8/16-بت ومصفوفات Decode وstencil وأقنعة صريحة ومفتاح لون وsoft mask وأقنعة بأحجام مختلفة واسترداد Matte؛ وInterpolate غائبة تستخدم عينات أقرب جار وtrue تنتقي عينات bilinear
مسارات JPX تقبل مكونات مصدر موقعة أو غير موقعة حتى 26 بت، بما يشمل دقة مختلطة وsubsampling وعتامة صريحة، وتقنّن إلى عينات 8 أو 16 بت محدودة السقف؛ وBitsPerComponent في قاموس الصورة ومدخلات Decode غير stencil تُتجاهلان لصور JPX كما يتطلب ملف صور PDF
لوحات مفهرسة وتحويلات ICCBased صالحة من ملف إلى sRGB مدعومة للصور وألوان المسارات؛ وDeviceCMYK بلا ملف يحفظ التحويل الجهازي البسيط
تحويلات ICCBased تقبل تواقيع ملفات Gray وRGB وCMYK وLab وXYZ وتتحقق صرامةً من عدد المكونات المعلن ونطاقات المكونات
معامِلات ملفات Lab تستخدم إحداثيات L a b فيزيائيةً بنطاقات افتراضية [0 100 -128 127 -128 127]; ومعامِلات XYZ تستخدم إحداثيات X Y Z فيزيائيةً بنطاق غير موقَّع افتراضي 1.15 بقيمة [0 65535/32768] لكل مكوّن
مدخلات ملفات XYZ امتداد توافق أصلي ولا تعني مطابقة PDF أرشيفيةً؛ وملفات مصدر Lab وXYZ لا تنتقي فضاء مزج شفافية مدعومًا
Range لمسار ICC يتطلب قيمتين مرتبتين منتهيتين لكل مكوّن وتحدد سقف معامِلات الألوان؛ وافتراضات Decode للصور الخام وقيم بحث Indexed تستخدم نطاقات المكونات تلك
CalGray وCalRGB وLab يدعمان المسارات والنص والصور وأساس اللوحات المفهرسة؛ والمعاملات تُتحقق صرامةً ومدخلات Matrix لـ CalRGB تتبع ترتيب أعمدة PDF ومكونات Lab وافتراضات Decode للصور تستخدم النطاقات المعلنة
ألوان CIE تستخدم تكييفًا لونيًا بـ Bradford ومخرج sRGB نسبيًا؛ وميتاداتا BlackPoint تُتحقق، بينما تعويض نقطة سوداء إضافيًا وسياسات حالة نية التصيير تبقيان امتدادين منفصلين
ألوان مركبة بـ Separation وDeviceN تحفظ من مكوّن tint واحد إلى اثنين وثلاثين للمسارات وأساس Indexed والصور المعبأة؛ والألوان البديلة جهازيًا أو CIE تستخدم دوال tint من sampled وأسيًا وstitching وآلة حاسبة محدودة السقف
مصادر ألوان بديلة بـ ICCBased بقيمة Lab/XYZ وCalGray/CalRGB/Lab تحفظ إحداثياتها الفيزيائية عبر transform tint قبل التحويل إلى مجموعة شفافية مدعومة
دوال tint من عينات متعددة الأبعاد تدعم interpolation خطيًا ومكعبيًا وDomain وEncode وDecode وRange مخرجات وأعماق عينات معبأة حتى 32 بت؛ وتقييم cubic يمدد التقليد الأصلي بالأربعة عُقد scalar عبر ضربات tensor مع fallback خطي لأبعاد قصيرة وعمل وإلغاء محدودَي السقف
انظر دوال الألوان من العينات الأصلية لاتفاقيات الinterpolation والأدلة المنفصلة للصيغ والقرّاء
Separation بقيمة None وفضاءات DeviceN محتوية على colorants بقيمة None فقط لا تسهمان لونًا ولا شكل knockout؛ والمكونات المختلطة None ما زال تصل transform tint البديلة
Separation بقيمة All تطبق tint على كل colorant مخرج متاح، مستخدمةً مخرج صفحة RGB محايدًا محفظةً كل مكوّن عملي داخل مجموعات CMYK
مجموعات CMYK تتلقى قيم tint بديلة رباعية المكونات أصليةً قبل المزج؛ وألواح spot separation وانتقاء NChannel لعمليات/colorants ومحاكاة تلميحات المزج تبقى امتدادات منفصلة
callback الصورة النهائية يحفظ فك تشفير المستند والفلاتر السابقة للمسار قبل فك JPEG وJPEG 2000 وCCITT أو JBIG2 أصليًا؛ وJBIG2 يدعم النص بالحساب وHuffman وMMR والقواميس العالمية المشتركة
JPEG 2000 يدعم مكونات مسبوخة وممثلة بالعينات وإعلانات لون وعينات استنتجًا وملفات ICC مضمّنة وتجاوزات فضاء لون صريحة وعتامة منفصلة أو مرتبطة عبر SMaskInData; وقيم مكوناته تقنّن إلى ثمانية أو ستة عشر بت وتُتجاهل مصفوفة Decode لصورتها
ملفات ICC مضمّنة أو صريحة بقيمة Lab/XYZ تستخدم نطاقات مكونات فيزيائية؛ والعتامة المرتبطة تُزال من العينات المخزنة المقننة قبل تطبيق تخطيط الإحداثيات الفيزيائية محفظةً قنوات إزاحة Lab
SMask لحالة الرسومات يدعم مجموعات Alpha وLuminosity وألوان backdrop ومصفوفات Forms واستعادة حالات محفوظة ودوال transfer بـ sampled وأسيًا وstitching وآلة حاسبة محدودة السقف؛ وsoft mask الصورة الخاصة يتجاوز soft mask حالة الرسومات
كل أوضاع مزج PDF القياسية الستة عشر مدعومة؛ ومجموعات Form والصفحات تدعم دمجًا معزولًا وغير معزول وknoutout للكائنات وفضاءات مزج DeviceGray وDeviceRGB وDeviceCMYK وCalGray وCalRGB أو ICCBased بمكوّن واحد أو ثلاثة أو أربعة
المجموعات المُعيَّرة تحفظ قيم مكوناتها الأصلية حتى حد المجموعة وتقبل ألوان مصدر جهازية أو Lab عبر تحويلات معيّرة معكوسة؛ وLab بذاتها ليست فضاء مزج صالحًا
أقنعة Luminosity المُعيَّرة تحفظ إحداثيات مجموعتها وتقيّم CIE XYZ-Y، بما يشمل عتامة المجموعة وألوان backdrop قبل تطبيق دالة transfer
دمج knockout يبقي الشكل الهندسي للكائن منفصلًا عن عتامة soft mask؛ وفتحات stencil تحفظ الكائنات السابقة بينما مسار مقنّع يستبدلها عبر هندسته المصبوغة كاملةً
مجموعات knockout المتداخلة تحفظ اتحاد أشكالها الهندسية للأبناء، بما يشمل كائنات عتامتها صفرية؛ ومجموعات الأبناء غير المعزولة تستخدم backdrop ابتدائيًا لمجموعة knockout المحيطة
مجموعات CMYK تحفظ مكوّنات CMY وblack التكميلية في مستويات صور منفصلة محدودة السقف وتحول النتيجة المدمجة عند حدود المجموعات؛ وأوضاع المزج غير القابلة للفصل تحفظ أو تستبدل الأسود وفق الوضع المنتقى
المجموعات غير المعزولة تصيّر جولة عتامة إضافية محدودة السقف وتزيل إسهام backdrop الابتدائي وتطبق alpha المجموعة الواردة ووضع مزجها مرة واحدة؛ ومجموعات شفافية الصفحات تستخدم سطحًا معزولًا قبل الدمج على خلفية الصفحة
Form غير معزول يرث فضاء المزج المحيط؛ ومدخل CS لمجموعة صريح لا يحوّل الـ backdrop الابتدائي إلى فضاء آخر
مظاهر التعليقات العادية القائمة تُلائم من BBox المحوَّل إلى Rect؛ وRenderAnnotations=false تحذف المظاهر في أي من الاستخدامين
Usage تقصّر افتراضيًا إلى hruView التي تتخطى تعليقات Hidden وNoView وأنواع التعليقات المجهولة الموسومة Invisible; وأنواع تعليقات ISO 32000 القياسية، بما يشمل RichMedia وProjection في PDF 2.0 بمظاهر عادية مدعومة تبقى مرئية عندما يُضبط Invisible فقط
قبول RichMedia وProjection يغطي مظاهر عادية ساكنة قائمة بأصول وسائط صالحة أو مشهد 3D افتراضيًا مرتبطًا؛ وتشغيل الوسائط وتفعيل 3D التفاعلي خارج هذا المسار النقطي
hruPrint تصبغ فقط تعليقات موسومة Print بمسح Hidden; وInvisible تكبح أنواع التعليقات المجهولة في أي من الاستخدامين وNoView لا تكبح الطباعة وNoZoom لا يغيّر حجم مظهر الطباعة
عند غياب مظهر عادي، يصيَّر metadata التعليق المدعوم عبر مظهر مؤقت؛ انظر إسقاط التعليقات الأصلي البديل للهندسة وFreeText بـ Unicode وأيقونات ساكنة والحدود المتبقية
لمخرج view، يزيل NoZoom للتعليق مقياس التصيير من حجم المظهر محفظًا UserUnit; وNoRotate يبقي المظهر الملائم معترلًا عبر دوران الصفحة في أي من الاستخدامين، وكلاهما يحفظ مرساة Rect أعلى-يسار المحوَّلة وقص الصفحة
تعليقات النص بمظاهر عادية قائمة تسلك سلوك NoZoom وNoRotate في مخرج view بغض النظر عن أعلامها الصريحة؛ ومخرج الطباعة يحفظ سلوك NoRotate لديها متجاهلًا NoZoom
الاستخدام يتحكم في الظهور النقطي الساكن وهندسة التعليقات؛ وأعلام التفاعل فقط لا تنشئ سلوك تمرير أو تحرير، وcallback إذن الاستخراج القائمة تبقى مطلوبة دون منح إذن طباعة
محتوى اختياري في المخرج الساكن
التصيير يستهلك تهيئة OCProperties/D الافتراضية للكتالوج ويهيئ حالات المجموعات من BaseState ويطبق تجاوزات ON وOFF ويستخدم قيم Intent المطابقة عند تحديد الظهور
قواميس العضوية تدعم AnyOn وAllOn وAnyOff وAllOff; وتعبيرات VE التكرارية تدعم And وOr وNot بمعامل واحد، مع أسبقية VE على السياسة الأبسط
مراجع المجموعات null وغير المتاحة والمتقادمة بلا أثر عضوية؛ والمجموعات خارج مقاصد التهيئة لا تتحكم في الظهور، والعضوية أو التعبير بلا مجموعات سارية يترك المحتوى مرئيًا
محتوى /OC مشارًا متداخلًا وXObjects للصور وForms والتعليقات تحترم الحالة الناتجة؛ والمقاطع المشاركة الخفية ما زال تحدّث الألوان والمصفوفات والقص وموضع النص، بينما يمكن تخطي XObjects كاملةً وتعليقات خفية
قواميس خصائص المحتوى المشار العادية تبقى قابلة للاستخدام، بما يشمل قيمًا مضمّنة متداخلة؛ ومصفوفات المحتوى تحفظ حالة المحتوى المشار عبر مساراتها المكوّنة، ومسارات الأبناء تحفظ تداخل المحتوى المشار الخاص بها
الرسترة المستقلة للشكل النهائي تستخدم التهيئة الافتراضية في كلا وضعي view وprint دون تطبيق توصيات استخدام AS التفاعلية تلقائيًا، كما في المقطع 8.11.4.5 من ISO 32000-1:2008; وViewerState الصريحة تفعّل توصيات View وPrint وExport وZoom وLanguage وUser بانتقاء يدوي مستمر وحالة حدث مؤقتة
خصائص optional-content المفقودة أو كتالوج مستعار بقيمة nil يتركان هياكل optional-content بلا أثر ظهور؛ والعضويات الحية المشوهة ودورات التعبيرات وحدود العمل أو الذاكرة أو التكرار المهيأة تفشل قبل نشر PNG
مصفوفات مظاهر أفقية وأصول BBox غير صفرية تحفظ ملاءمتها العادية تحت هذه الأعلام؛ ومقياس تصيير صغير جدًا يمكنه جعل مصفوفة الصفحة الابتدائية لـ Cairo غير قابلة للانعكاس عدديًا
الصفحة المصيَّرة تستخدم تقاطع MediaBox/CropBox وصناديق صفحات موروثة وRotate ربع دورة وUserUnit للصفحة؛ والمقياس 1 ينتج بكسلًا واحدًا لكل نقطة صفحة فعالة بأبعاد سطح مقرّبة صعودًا
معامل sh يصبغ تظليلات داليةً وأفقيًا وشعاعيًا (ShadingTypes 1–3) بنطاقين مدخلين ومصفوفات تظليل وانتقاء دائرة شعاعية ونقاط نهاية Extend وBBox وقص مسارات قائمة
دوال الألوان المدعومة ومصفوفات الدوال scalar تحوّل عبر ألوان مصدر جهازية ومعيّرة وICC بقيمة Lab/XYZ وSeparation/DeviceN؛ وعتامة التعبئة الحالية وأوضاع المزيج وsoft masks لحالة الرسومات وknockout مجموعات الشفافية تسري على التظليل الناتج
المسار الحالي واللون محفوظان؛ وBackground للتظليل يتجاهله sh وAntiAlias تلميح جهاز بأخذ عينات لون مراكز البكسلات
مدخلات ExtGState غير المدعومة ومعامِلات المحتوى غير المدعومة تبقيان خارج هذا الملف
تظليلات شبكات المثلثات
ShadingTypes بقيمة 4 و5 تصبغان شبكات مثلثات Gouraud حرة ومرقّعة بإعادة استخدام الحواف وهندسة lattice اعتباطية وسجلات رؤوس محاذاة للبايتات ودقة إحداثيات حتى 32 بت ودقة مكونات حتى 16 بت
مكونات الرؤوس تُستوفى في مراكز بكسلات الجهاز قبل تحويل الألوان؛ ودالة بمدخل واحد أو مصفوفة دوال مكونات اختيارية تقيّم المعامل المستوفى، بما يشمل فضاءات ألوان معيّرة وICC وخاصة
مصادر Indexed تقرب المؤشرات المستوفاة إلى أقرب مدخل لوحة؛ وسلاسل البحث السداسية العشرية تفك مرة واحدة بفراغات وأرقام مختلطة الحالة وحشو nibble ختامي فردي، بينما تحفظ سلاسل البحث الحرفية بايتاتها المفكوكة
التحويلات الحالية والقص وBBox وعتامة التعبئة ووضع المزج وsoft masks وcolorants غير مصبوغة وknockout المجموعة تسري على الشبكة المكتملة؛ وبايتات المسار المحفوظة وسطح الصفحة المؤقت وصفّا lattice ينضمان إلى قبول ذاكرة العمل
تحليل الرؤوس ورسترة المثلثات والدوال تتشارك عمليات تراكمية واستقصاء إلغاء؛ والسجلات المشوهة أو المقطوعة وصفوف lattice الناقصة تفشل قبل نشر المخرجات
قبول مركزًا يفحص معادلات barycentric مغلقةً ومخرجات MuPDF وPoppler منفصلة؛ وسجلات الإثبات تبقي فشل قارئ المصدر منفصلًا لحشو الرؤوس وبتات الأعلام غير المستخدمة وشفافية الشبكة وتستخدم معادلات قارئ بديلة صريحة للألوان غير المصبوغة وقيم Indexed المقننة
شبكات Coons وأطقم tensor
ShadingTypes بقيمة 6 و7 تصبغان حدود Coons المكعبة وشبكات تحكم tensor بإعادة استخدام الحافة السابقة وسجلات محاذاة للبايتات ودلالات أعلام بتين سفليين ونفس دققتي الإحداثيات والمكونات كشبكات المثلثات
مكونات الزوايا تُستوفى bilinearly في معاملات الـ patch قبل الدوال الاختيارية وتحويل الألوان؛ وحدود Coons تُرفع إلى شبكة Bernstein bicubic مكافئة تستمد حدود مشتقاتها الثانية التجزئات بخطأ هندسي لمخرج بكسل بحد أقصى 0.125
عكس كثيرات الحدود يدق معاملات البكسل؛ والتغطية المطوية تختار أكبر معامل v ثم أكبر معامل u عند تساوي v، بينما الـ patches اللاحقة تستبدل ألوانًا سابقة قبل أن يتلقى التظليل المكتمل شفافية الكائن
مؤلف الشبكات المشترك يطبق القص وBBox وأنماط التظليل وcolorants غير مصبوغة وعتامة ومزجًا وsoft masks وknockout المجموعة؛ وصفّا تجزئة ومصفوفات معامل وترتيب لكل بكسل ينضمون إلى قبول بايتات العمل النشط
تحليل نقاط التحكم والتجزئة والرسترة ودوال الألوان تتشارك حدود العمليات والإلغاء؛ والقبول المركز يستخدم معادلات Coons وtensor مستقلة وجذورًا مكعبة لـ patches مطوية مع تسجيل فشل قارئ المصدر منفصلًا عن تحقق معادلات RGB العادية للصفحات
حالة النص الموروثة
مسارات أبناء Form وType3 وpattern ترث كائن الخط السارئ وحجم الخط وتباعد المحارف والكلمات والمقياس الأفقي والتباعد ووضع التصيير والصعود من حالة رسوماتهما الابتدائية؛ والمورد الابن بنفس اسم الخط لا يستبدل خطًا موروثًا حتى ينتقيه Tf محليًا
حالة الرسومات المحفوظة تستعيد معاملات النص، ومعاملتا TD والاقتباس المزدوج تحفظان تغييرات التباعد والتباعد لمسارات أبناء لاحقة؛ وكل ابن يبدأ بمصفوفات النص الخاصة به
مظاهر التعليقات المستقلة تبدأ بمعاملات نص افتراضية دون حفظ حالة النص الختامية لمحتوى الصفحة
نص Type3 في وضع التصيير 3 لا يسهم برسومات محارف مرئية؛ وإثبات Type3 للنص المتداخل يبقي انحراف معاملات MuPDF الافتراضية منفصلًا عن معادلات الحالة الموروثة بينما تتبع Poppler المعاملات الموروثة في تلك المصادفات
أنماط tiling والتظليل
فضاءات ألوان pattern تدعم أنماط tiling ملونة وغير ملونة وTilingType بقيم 1–3 وأنماط تظليل وPatternMatrix وBBox لخلية وتباعد موجبًا أو سالبًا وانتقاء نمط واستعادة حالة محفوظة وتصبغ fill أو stroke
الأنماط غير الملونة تحصل على مكوناتها من فضاء لون أساسي مدعوم ويمكنها تصبغ stencils للصور؛ وتغييرات الألوان الصريحة والصور الملونة والتظليلات المباشرة داخل تعريف غير ملون محتوى PDF غير صالح ويُرفض عبر Forms المتداخلة وإجراءات Type3 كذلك
الأنماط المنتقاة تحفظ فضاء الإحداثيات الافتراضي لمسار المحتوى الذي حل تعريفها؛ ومعاملات cm اللاحقة ونمط موروث مستخدمًا داخل Form لا يستبدلان ذلك الأصل
التعريفات تبدأ بحالة رسومات أولية مدعومة للوالد ومعاملات شفافية افتراضية؛ وتعريفات tiling تشكل مجموعة غير معزولة وغير knockout، بينما تعريفات التظليل تستخدم knockout للكائن
خلايا tiling شفافة ومتداخلة تُقيَّم مقابل backdrop الحالي؛ وalpha الكائن الوارد ووضع مزجه يسريان مرة واحدة عند تصبغ النمط المكتمل، بما يشمل أنماطًا متداخلة ونصًا وstrokes وأقنعة صور
ExtGState لنمط التظليل يزوّد معاملات التظليل المدعومة، بما يشمل العتامة وsoft masks; وBackground تصبغ قبل التظليل وBBox تقص كل إسهام وNone غير المصبوغ لا يسهم لونًا ولا شكلًا
تقييم النمط يقبل سطحَي صفحة ومحتوى خلية مفكوكًا ويحدد سقفًا لتعداد الخلايا المرئية بالقص الحالي ويستقصي الإلغاء أثناء تصيير الخلايا وإزالة إسهام backdrop
مصادفات مركزة تقارن معادلات إحداثيات وألوان ودمج مغلقةً ببكسلات أصلية ومخرج قارئ مستقل؛ وملفات الإثبات تبقي فروق القراء لأصول أنماط Form الموروثة وعتامة ExtGState لنمط التظليل وألوان None غير المصبوغة، مع صفحات معادلات متجهة عادية منفصلة لتلك الحالات
خطوط CFF مفاتيحها CID
خطوط CIDFontType0 المضمّنة تحل CIDs حقيقيةً من CFF في حاويات مستقلة وOpenType، بما يشمل خرائط غير مطابقة وCID بقيمة 65535 وخرائط Encoding مضمّنة وأصول W2 عمودية ومخططات محوَّلة وقص النص
وجوه CFF المستقلة تُحمَّل بـ CID والوجوه المغلقة بـ SFNT تُحمَّل بفهرس محرف رسومي مدمج؛ والجسر يستخدم تخطيط وجه FreeType الصحيح لـ Linux LP64 وWindows LLP64
رمز محرف غير مُخطط أو CID مطلوب غائب يستشير notdefchar وnotdefrange للرمز الأصلي ثم يستخدم محرف CID 0 الرسومي الإلزامي إذا كان البديل غائبًا؛ والنطاقات لها أهداف CID ثابتة ومدخلات المحارف تتقدم أسبقيةً وبقية المحارف الموجودة تحفظ CID المطلوب
قبول مركزًا يستخدم خطوط مضلعات معلنةً ومعادلات أصول لـ 28 مصدرًا صالحًا مع مقارنات MuPDF وPoppler منفصلة وصفحات معادلات RGB عادية
ملفات الإثبات تبقي فروق قارئ المصدر لانتقاء محارف OpenType مفاتيحها CID وsubstitutions notdef مفقودة؛ والبديل للحذف يقاس منفصلًا ولا يستبدل معادلة المصدر الأصلية الإلزامية
السقوف والإلغاء
ترميزات Type0 المدمجة الدقيقة تغطي كل 200 اسم ترميز مضمّنًا: Identity-H وIdentity-V وستة عشر خريطة UCS2 وUTF16 و182 خريطة قديمة إضافية وUnicode بتجاوزات محارف عمودية مسطّحة
معامِلات مختلطة من بايت واحد إلى أربعة تستخدم حدود فضاء شيفرة لكل بايت واسترداد شيفرة غير صالحة بأطول بادئة؛ وفك UTF8 وUTF32 والترميز المعاكس يحفظ scalars تكميلية وبايتات أصفار رائدة مهمة
مسارات Encoding وToUnicode تحل usecmap للجسد وأسماء UseCMap أو مسارات القاموس بأسبقية القاموس وتجاوزات محارف ونطاقات وتسلسلات Unicode وnotdef محلية
كل CMap ابن يحفظ وضع كتابته الخاص وافتراضيها أفقي عند إغفال WMode; والوضع العمودي الصريح ينتقي خرائط موروثة وقياسات الخط العمودية
وراثة CMap تستخدم حدود عمق متداخلًا محليًا للخيوط دون تغيير تخطيط THPDFCMapBounds; والدورات والآباء المشوهون والعمق الزائد يفشلون قبل نشر المخرجات وكتل finally تستعيد الحدود بعد الإلغاء أو الاستثناءات
إثبات مركزًا يحفظ فشل مصادر UTF8 وUTF32 المسنّاة في قارئ مستقل بلا تلك الجداول المدمجة ويتحقق من مرافق الخرائط المضمّنة منفصلًا ويسجل فروق نص المصدر عندما تختارت رموز متعددة نفس CID
Tests/Linux/Run-HeadlessLegacyCMapAcceptance.sh يبني ويختبر فواصل ترميز دقيقة وPDFs مصدر مختلطة العروض وتصييرًا متداخلًا وعزل خيوط واسترداد إلغاء على Linux الأصلي
Tests/Linux/Run-HeadlessLegacyCMapWindowsAcceptance.py تشغّل ملفات تنفيذية أصلية مطابقة على Windows وتسجل hashes للمصدر والثنائي وPNG والتشخيص ثم تنقل التقاطات ثابتة إلى تخزين Linux الأصلي لفحص MuPDF وPoppler منفصلين
الخرائط المعبأة تحفظ hashes مواردها وإشعارات إعادة التوزيع كاملةً؛ واحتفظ بـ ترخيص بيانات CMap مع توزيعات المصدر والثنائي
escapes سداسية عشرية في قيم أسماء PDF ومعامِلات أسماء المحتوى تفك مرة واحدة قبل حل الخطوط وفضاءات الألوان وأوضاع المزج والموارد؛ ورمز hash الحرفي الناتج عن الفك يبقى جزءًا من الاسم الدلالي
مفكك الخطوط المشترك يطبق هذه الدلالات على قيم قواميس الخطوط والترميزات المسنّاة وأسماء محارف Differences وCIDToGIDMap دون تحويل كائنات مستعارة أو فك قيم سلاسل
أسماء المُصيِّر المهربة تستخدم فكًا خطيًا وقبول بايتات عمل مؤقتة وحدود عمليات تراكمية واستقصاء إلغاء؛ والقبول المركز يقارن بايتات PNG أصلية مكافئة ونصًا إضافة إلى مخرج MuPDF وPoppler مستقلين
عمل رسترة التظليل ودوال الألوان تتشاركان حدود عمليات تراكمية واستقصاء إلغاء؛ والسطح المؤقت ومخزن إحداثيات دقيق لـ 8,192 لونًا محوَّلًا كحد أقصى ينضمان إلى قبول بايتات العمل النشط
قبول التظليل المركز يستخدم معادلات هندسة/دالة/لون مغلقةً وصفحات معادلات متجهة منفصلة محفظًا فروق قارئ المصدر لقص BBox وهندسة منحطّة وتحويل ألوان وأسماء colorants خاصة وtessellation knockout
Options تحدد سقوف بكسلات السطح والمخازن المُدارة النشطة والبايتات المفكوكة التراكمية وبايتات PNG المرمَّزة وعمل tokens والمعامِلات والعمق التكراري أو لحالة الرسومات
فك الخطوط يستخدم أذونات قبول متحفظة: 32 MiB سعة عابرة و64 ضعف حجم مسار الخط المفكوك و128 ضعف خانات مصفوفات مفحوصة تكراريًا وضعفي تقدير المفكك المحفوظ في التجميع النشط
جداول CID تقبل 65,536 مدخلًا محفوظًا؛ ويحدّ التعداد charstrings حقيقيةً وتنضم مصفوفات notdef إلى محاسبة النسخ العميق للمفكك والبايتات المحفوظة
تحليل CMap وبحث notdef تتشاركان حدود مدخلات متداخلة محلية للخيوط واستقصاء عمل؛ ونطاقات المُصيِّر تتشارك حدود tokens وعمليات تراكمية والمسوح المعجمية الطويلة تستقصي على الأكثر كل 256 بايت
المفسّر يحجز أيضًا سعة تسلسل Unicode لكل محرف رسومي من بايتات معامِلات الإدخال وأطول خريطة ToUnicode قبل إنشاء سجلات المحارف الرسومية كي لا تتجاوز الخرائط الطويلة المتكررة قبول ذاكرة العمل
ميزانية ذاكرة عمل صغيرة يمكنها رفض خط بسيط حتى عندما كان تخصيصه النهائي سيتسع؛ وهذه الفحوص تغطي المخازن المُدارة وأسطح الصور بالمعالج، بينما Cairo ومخازن Fontconfig وFreeType وRSS العملية الكلي خارج المحاسبة
أسطح الشفافية وsoft mask وbackdrop وعتامة وknoutout الكائن ينضمون إلى ميزانية الأسطح النشطة؛ ودوال transfer تتشارك ميزانية العمليات التراكمية ومرمّزات ICC والصور تستخدم قبولًا متحفظًا ومفكك JBIG2 الأصلي يحدد سقف تخصيص bitmap/سياق تراكميًا ويستقصي الإلغاء أثناء الفك
تجوال CMY التكميلي والأسود والأشكال الهندسية تتشارك حدود العمليات والفك والإلغاء التراكمية؛ والملفات المستخدمة لنفس المسار المحلول تتشاركان transform متحققًا منه وحجز قبول نشطًا واحدًا حتى انتهاء تصيير الصفحة
مسارات الدوال المحفوظة وتقييم الدوال وسجلات حالة الرسومات ينضمون إلى قبول بايتات العمل؛ ودوال tint التكرارية والinterpolation متعددة الأبعاد وتعليمات الآلة الحاسبة تتشارك حدود العمليات والإلغاء
token الإلغاء المستعار يُستقصى أثناء الفك المحدود السقف والتوكينزة والمعامِلات واستدعاءات محلل المحارف وصفوف الصور والتكرار وترميز PNG وقبل النشر؛ ومستدعي مالك عمره
المُصيِّر يفحص إذن الاستخراج عبر سياسة المستند المستعارة ويحفظ قيم كائنات المصدر وبايتاتها
ملكية المخرجات
HPDFRenderHeadlessPagePNG تكمل التصيير وترميز PNG سريًا قبل الكتابة إلى مسار مملوك للمستدعي؛ وفشل I/O للمسار النهائي يمكنه حفظ بايتات مقبولة مسبقًا
HPDFRenderHeadlessPagePNGFile تفحص هوية المصدر وتنشئ حصريًا ملف staging في مجلد الهدف وتفرغه وتفحص الهوية والإلغاء مجددًا ثم تستبدل الوجهة ذريًا
النشر على Windows يستخدم على الأكثر ثماني محاولات استبدال ذرية وسبع انتظارات بـ 1 و2 و4 و8 و16 و16 و16 مللي ثانية ويعيد المحاولة فقط لأخطاء رفض الوصول وانتهاك المشاركة وانتهاك القفل؛ والإلغاء يُفحص قبل كل محاولة وعلى جانبي كل انتظار
نشر Windows الفاشل يبلّغ عن رمز خطأ Windows الأخير الملتقط عبر EHPDFHeadlessRenderError; والإلغاء يحفظ تشخيص الإلغاء للمُصيِّر ولا مسار يحذف الوجهة القائمة ولا يرجع إلى نسخ غير ذري
فشل التصيير أو الميزانية أو الإلغاء أو staging يحفظ وجهة قائمة ويزيل ملفات staging غير المنشورة المملوكة؛ وaliases مسارات المصدر وhardlink تُرفض
القبول
قبول runtime على Windows يستخدم ملفات تنفيذية تزامنية أصلية مطابقة وغلق استيراد DLL محمولًا معزولًا مثبتًا بـ SHA-256; وعملية WSL منفصلة تجري فحوص بكسل وصيغة وهندسة مستقلة بـ MuPDF وPoppler مقابل ملفات PNG المنتجة على Windows
مقابلات الخطوط القياسية على Windows تستخدم وجوه GDI صريحةً في Cairo لنص Unicode ومخططات حقيقية، بما يشمل القص وأوضاع fill-and-stroke; والخطوط المضمّنة تحفظ خرائط محارفها الرسومية في FreeType
استدعاءات OpenJPEG تستخدم ABI بقيمة stdcall على Windows وexports مزينةً بـ Win32، بينما callbacks المسارات والرسائل تحفظ اتفاق callback بلغة C
Tests/Linux/Run-HeadlessCairoAcceptance.sh تُجري بناءات ELF أصلية طازجة وتمسح DISPLAY وWAYLAND_DISPLAY وترفض مكتبات سطح مكتب مرتبطة مباشرةً وتشغّل عرافات pypdf/MuPDF مستقلة
المصادفات تمارس الخطوط القياسية وTrueType بـ Unicode وType3 وكل أوضاع تصيير النص والمزج وalpha وknockout ومجموعات شفافية RGB وعمق عينات وDecode وأقنعة صور وMatte وألوان Indexed وICC ومرمّزات نهائية وسلاسل فلاتر مشفرة بـ AES وهندسة صفحات وتحويلات تعليقات وميزانيات وإلغاءً وحفظ مصدر ومخرجًا ذريًا
انظر THPDFHeadlessRenderResult للعدّادات وEHPDFHeadlessRenderError لمعالجة الأخطاء