اللون والملفات التعريفية، ولماذا أحمرك ليس أحمري
Spec: ISO 32000-2, §8.6ISO 32000-2 §8.6Spec: ISO 15930, PDF/XISO 15930 PDF/X
لمحة سريعة
قسم بعنوان «لمحة سريعة»اللون في ملف PDF ليس إحساسًا ثابتًا. إنه تعليمة، وما إذا كانت تلك التعليمة ستُنتج الأحمر نفسه على حاسوبك المحمول، وعلى الهاتف، وعلى مطبعة، يعتمد كليًّا على كيفية وصف اللون. تتناول هذه الصفحة الفرق بين لون لا يفعل سوى إخبار الجهاز بما يجب فعله، ولون يقول كيف ينبغي أن يبدو فعلًا.
لماذا يهمّ هذا
قسم بعنوان «لماذا يهمّ هذا»اختر أحمر علامة تجارية. عيّنه مرة واحدة. الآن انظر إليه على شاشة مكتبية رخيصة، ثم على هاتف OLED في غرفة ساطعة، ثم في نسخة مسحوبة من مطبعة أوفست. ثلاثة ألوان حمراء. أحيانًا ثلاثة ألوان حمراء مختلفة بوضوح. لم يغيّر أحد الرقم؛ ولم يكن الرقم قطّ هو القصة كاملة.
بالنسبة إلى مستند عابر، هذا أمر لا يستحق الاكتراث. أمّا بالنسبة إلى شعار، أو ملصق خاضع للتنظيم، أو صورة فوتوغرافية في كتالوج، أو سجلّ يُراد له أن يبقى لعقود، فاللون المنحرف عيب. والكلفة ليست مجرّدة: إنها إعادة طباعة، أو نموذج مرفوض، أو أرشيف لم تعد صفحاته تطابق الأصول. والحل ليس رقمًا أفضل. إنه قول الحقيقة بشأن ما يعنيه الرقم.
النسخة المختصرة
قسم بعنوان «النسخة المختصرة»- اللون المعتمد على الجهاز يسمّي لونًا بقيم التحكم التي يتلقّاها الجهاز، فتكون النتيجة هي ما يصنعه ذلك الجهاز منها
(Spec: ISO 32000-2, §8.6.4ISO 32000-2 §8.6.4). إنّ
DeviceRGBوDeviceCMYKوDeviceGrayهي فضاءات ألوان معتمدة على الجهاز. الأرقام نفسها، وعتاد مختلف، ولون مختلف. - اللون المُعاير القائم على ICC يربط تلك الأرقام بمرجع مقيس مستقل عن الجهاز عبر ملف تعريفي مضمَّن (Spec: ISO 32000-2, §8.6.5.5ISO 32000-2 §8.6.5.5). يحمل المستند الآن من المعلومات ما يكفي لإعادة إنتاج اللون المقصود، لا مجرّد وصفة من قيم التحكم.
- ملف ICC التعريفي هو ذلك التخطيط المقيس: كيف ترتبط أرقام جهاز ما — أو أرقام فضاء لون قياسي أو حالة إخراج — باللون الذي تدركه عين الإنسان، مُثبَّتًا في فضاء وصل مستقل عن الجهاز.
- نيّة التصيير هي السياسة المتّبعة عندما يقع لون خارج نطاق متناول جهاز ما، إذ لا يستطيع أي جهاز إظهار كل لون.
- نيّة الإخراج هي إعلان المستند، مسبقًا، عن حالة الإخراج التي أُعدّ من أجلها (Spec: ISO 32000-2, §14.11.5ISO 32000-2 §14.11.5). تعتمد عليها مسارات العمل ذات الدرجة الطباعية (PDF/X) والأرشيفية (PDF/A).
كيف يتعامل NextPDF مع الأمر
قسم بعنوان «كيف يتعامل NextPDF مع الأمر»ابدأ بالنسخة الصادقة من المشكلة. إنّ DeviceRGB لا يحتوي على لون. إنه يحتوي على ثلاثة أرقام بين 0 و1 وافتراض غير منطوق به بأنّ شاشةً ما ستحوّلها إلى ضوء. شاشتان لهما إضاءة خلفية مختلفة، ولوحات مختلفة، ومعايرة مختلفة، ستحوّلان الأرقام الثلاثة نفسها إلى ضوء مختلف على نحو مرئي. هذا ليس خللًا في PDF. إنه ما يعنيه “اللون المعتمد على الجهاز”، والمواصفة صريحة في ذلك: تُعرَّف فضاءات الألوان المعتمدة على الجهاز بالقيم التي يتلقّاها الجهاز، لا بمظهر مطلق (Spec: ISO 32000-2, §8.6.4ISO 32000-2 §8.6.4).
يسدّ اللون المُعاير تلك الفجوة بإضافة مرجع. ملف ICC التعريفي هو ناتج توصيف جهاز أو فضاء لون — شاشة، أو طابعة، أو مطبعة، أو فضاء قياسي مثل sRGB — وتسجيل كيف ترتبط أرقامه الخام باللون في فضاء وصل مستقل عن الجهاز يقارب رؤية الإنسان. ضمّن ذلك الملف التعريفي، فتكفّ الأرقام عن أن تكون لهجة خاصة؛ وتصبح تصريحًا مثبَّتًا في شيء يمكن للجميع الاتفاق عليه. وهذا هو بالضبط ما يحمله فضاء لون قائم على ICC (Spec: ISO 32000-2, §8.6.5.5ISO 32000-2 §8.6.5.5): اللون، إضافةً إلى التخطيط المقيس الذي يقول ما يعنيه.
ثمة عقبة ثانية لا مفرّ منها. مجموعة الألوان التي تستطيع مطبعة طباعتها ليست المجموعة التي يستطيع هاتف عرضها، ولا أيٌّ منهما المجموعة الكاملة التي تستطيع عين الإنسان رؤيتها. عندما يقع لون خارج ما يستطيع جهاز مستهدَف إعادة إنتاجه، يجب اتخاذ خيار ما: اقتطاعه إلى أقرب لون يمكن بلوغه، أو إزاحة نطاق كامل من الألوان معًا كي تبقى علاقاتها سليمة. ذلك الخيار هو نيّة التصيير — سياسة مقصودة، تُختار للمهمّة، لا حادثة تقريب. كثيرًا ما تتطلّب صورة فوتوغرافية وشعار شركة نيّتين مختلفتين، لأنّ إحداهما تعنى بالتدرّجات السلسة، والآخر يعنى بمطابقة عيّنة لون محدّدة بدقّة.
أخيرًا، المستند المتّجه إلى وجهة محدّدة يمكنه أن يقول ذلك. نيّة الإخراج هي إعلان الملف عن حالة الإخراج التي أُعدّ من أجلها — وهي عادةً ملف ICC تعريفي وجهة مضمَّن يسمّي حالة طباعة أو جهازًا (Spec: ISO 32000-2, §14.11.5ISO 32000-2 §14.11.5). إنه الفرق بين تسليم طابعة ملفًا، وتسليمها ملفًا يقول “بُنيتُ من أجل هذه المطبعة.” تجعلها ملفات تبادل الطباعة إلزامية: يلزم أن يحمل ملف PDF/X (عائلة ISO 15930) نيّة إخراج (Spec: ISO 15930, PDF/XISO 15930 PDF/X)، وتعتمد PDF/A على الآلية نفسها كي تبقى الألوان المعتمدة على الجهاز في ملف مؤرشَف قابلةً للتفسير في المستقبل البعيد، بعد زمن طويل من زوال البيئة الأصلية.
- Name the colourChoose a colour space. DeviceRGB/CMYK/Gray name control values; an ICC-based space anchors them to a device-independent reference (ISO 32000-2 §8.6).
- Anchor it (optional but decisive)Embed an ICC profile so the numbers carry their measured meaning, not just a device recipe (ISO 32000-2 §8.6.5.5).
- Reconcile to the deviceA rendering intent decides what happens to colours the target device cannot reproduce — clip the nearest, or shift the range to preserve relationships.
- Declare the destinationAn output intent states the output condition the document was prepared for, as PDF/X and PDF/A workflows require (ISO 32000-2 §14.11.5).
مهمّة NextPDF في هذه السلسلة هي أن يكون مطابقًا للمواصفات: أن يكتب فضاءات الألوان، والملفات التعريفية المضمَّنة، ونوايا الإخراج بالطريقة التي يعرّفها بها التنسيق، كي تقرأ أداة لاحقة — مُعالج تصيير الطابعة (RIP)، أو مُصدِّق أرشيفي، أو عارض — ما قُصِد بالضبط. إنه ينتج التصريحات؛ ولا يتظاهر بأنه الجهاز.
مثال عملي
قسم بعنوان «مثال عملي»يرسم الشكل أدناه القرار، لا واجهة برمجية محدّدة. والمقصود أنّ الوجهة مُعلَنة، لا مخمَّنة.
<?php
declare(strict_types=1);
use NextPDF\Contracts\PdfDocumentInterface;
/** * Prepare a print-bound document that declares its intended output condition. * * The colour numbers alone do not fix the appearance. Declaring the output * intent — the print condition the file was built for — is what lets a press * interpret those numbers faithfully (ISO 32000-2 §14.11.5). * * @param PdfDocumentInterface $doc A composed document. * @param string $iccProfileBytes The destination ICC profile for the * target print condition. * * @return string The document bytes, carrying a declared output intent. */function prepareForPress( PdfDocumentInterface $doc, string $iccProfileBytes,): string { // Declare the output condition explicitly. The document now states the // device/print condition it was prepared for, instead of leaving its // device colours open to interpretation. $doc->setOutputIntent( identifier: 'Custom press condition', iccProfile: $iccProfileBytes, );
return $doc->output();}لم تتغيّر الألوان. ما تغيّر هو أنّ الملف يقول الآن كيف كان يُراد لها أن تبدو، وهو الشيء الوحيد الذي يستطيع مطبعة أو مُصدِّق التصرّف بناءً عليه.
مفهوم خاطئ شائع
قسم بعنوان «مفهوم خاطئ شائع»“إنها قيمة ست عشرية نفسها، إذًا إنه اللون نفسه.” قيمة الست عشري مجموعة من قيم التحكم المعتمدة على الجهاز. من دون ملف تعريفي أو نيّة إخراج، إنها وصفة من دون مطبخ محدّد — سيكون مذاقها مختلفًا في كل مطبخ. يمكن لملفين أن يحملا أرقام RGB متطابقة ويكونا بصدق لونين مختلفين، لأنّ أحدهما يعلن السياق الذي يمنح الأرقام معنى، والآخر يترك ذلك للصدفة.
فخّ ثانٍ: افتراض أنّ DeviceCMYK يعني تلقائيًا “جاهز للطباعة.” إنه لا يعني ذلك. CMYK لا يزال لونًا معتمدًا على الجهاز؛ إنه مصاغ على هيئة المطبعة، لكنه ليس مُعايرًا حتى يسمّي ملف تعريفي أو نيّة إخراج حالة المطبعة الفعلية.
الحدود والنطاق
قسم بعنوان «الحدود والنطاق»ينتج NextPDF لونًا مطابقًا للمواصفات: يكتب فضاءات الألوان المعتمدة على الجهاز والقائمة على ICC ويعلن نوايا الإخراج لمسارات عمل من نمط PDF/X ولمسارات PDF/A، بالطريقة التي يعرّفها بها التنسيق. ذلك هو الشطر المُنتِج من المهمّة، وهو الشطر الذي يستطيع مستند امتلاكه.
ما ليس عليه NextPDF هو أنه نظام تدقيق ألوان. إنه لا يقيس شاشتك، ولا يحاكي مطبعة على الشاشة، ولا يصادق على أنّ النتيجة المطبوعة تطابق عيّنة لون مقصودة ضمن حدّ تسامح. تلك أمور تخصّ سلسلة تدقيق مُدارة الألوان والأشخاص الذين يديرونها. يجعل المحرّك الملف يقول الشيء الصحيح؛ أمّا ما إذا كان الجهاز النهائي سيحترمه فيُقرَّر لاحقًا، بفعل الجهاز، وملفات ICC التعريفية المعنيّة، و — في حالة PDF/X وPDF/A — مُصدِّق، لا المُنتِج.
مستندات ذات صلة
قسم بعنوان «مستندات ذات صلة»- ما هو ملف PDF فعلًا — نموذج الكائنات الذي تعيش فيه فضاءات الألوان ونوايا الإخراج هذه.
- الأرشفة وPDF/A — لماذا يستند الحفظ طويل الأمد إلى اللون المستقل عن الجهاز ونوايا الإخراج.
- مشهد المعايير — أين تقع ISO 32000-2 وPDF/X (ISO 15930) وPDF/A (ISO 19005) بعضها من بعض.
- PDF 2.0: ما الذي تغيّر — كيف تؤطّر إصدارة التنسيق الحالية اللون والمطابقة.
مسرد المصطلحات
قسم بعنوان «مسرد المصطلحات»- فضاء لون معتمد على الجهاز — لون يُسمّى بقيم التحكم التي يتلقّاها
جهاز (
DeviceRGBوDeviceCMYKوDeviceGray)؛ ويعتمد المظهر على الجهاز المُفسِّر (ISO 32000-2 §8.6.4). - اللون المُعاير / القائم على ICC — لون مثبَّت في مرجع مستقل عن الجهاز عبر ملف ICC تعريفي مضمَّن، كي يكون المظهر المقصود قابلًا لإعادة الإنتاج عبر الأجهزة (ISO 32000-2 §8.6.5.5).
- ملف ICC التعريفي — تخطيط مقيس بين أرقام جهاز محدّد ومرجع مستقل عن الجهاز يقارب رؤية الإنسان.
- نيّة التصيير — سياسة التعامل مع الألوان التي لا يستطيع جهاز مستهدَف إعادة إنتاجها: اقتطاع إلى أقرب لون يمكن بلوغه، أو إزاحة نطاق للحفاظ على علاقات الألوان.
- نيّة الإخراج — إعلان المستند عن حالة الإخراج التي أُعدّ من أجلها، عادةً عبر ملف ICC تعريفي وجهة مضمَّن (ISO 32000-2 §14.11.5)؛ وهي مطلوبة في PDF/X ومستخدَمة في PDF/A.
- PDF/X — عائلة ملف تبادل الطباعة ISO 15930 في PDF؛ يجب أن يحمل ملف PDF/X نيّة إخراج تسمّي حالة الطباعة المستهدَفة.