الخلاصة

  • منح RFC 2083 كل حرف في نوع جزء PNG ذي أربعة بايتات خاصية مستقلة: حرج أو مساعد، عام أو خاص، محجوز، وغير آمن أو آمن للنسخ.
  • كان البت الرابع قاعدة للمحرر لا شهادة حقيقة. بعد تغيير بيانات الصورة الحرجة يجب إسقاط الجزء المساعد المجهول غير الآمن، بينما يمكن حفظ الجزء الموسوم بالنسخ الآمن.
  • بقاء الجزء وتطابق CRC يثبتان حيازة محدودة للبايتات، لا فرادة الاسم الخاص أو صلاحية المعنى أو المؤلف أو الإذن أو الخصوصية أو دقة ادعاء الصورة.

يغير محرر لوحة الألوان ويعيد كتابة IDAT، ثم يجد نوعاً لا يعرفه بين الأجزاء المعتادة. يستطيع قراءة الطول وتجاوز البيانات وفحص CRC، لكنه لا يعرف إن كانت الحمولة مخططاً بيانياً أو معايرة أو حقوقاً أو حالة لسير عمل خاص. ومع ذلك عليه أن يقرر إن كانت هذه البايتات تنتمي إلى الناتج الجديد.

لم يطلب RFC 2083 من البرامج القديمة فهم كل امتداد مستقبلي. أنشأ مساراً صريحاً للتعامل مع الجهل. يتكون كل جزء من طول ونوع بأربعة بايتات وبيانات وCRC. تُحصر بايتات النوع في أحرف ASCII، لكن التنفيذ يعاملها قيماً ثنائية ثابتة. الاختبار الصحيح يقرأ البت 5 في كل بايت ولا يعتمد على تحويل حالة الأحرف بحسب اللغة.

أربعة أحرف تفصل أربع مسؤوليات

الحرف الأول يميز critical من ancillary. الحرف الكبير يعني أن نوعاً حرجاً مجهولاً قد يحمل ما يلزم لفهم الصورة، فلا يجوز لمفكك الترميز ادعاء النجاح. الحرف الصغير يسمح بتجاهل جزء مساعد مجهول والاستمرار في العرض. «مساعد» لا يعني عديم القيمة؛ قد تكون الحقوق أو المعايرة أو الموقع مهمة للقرار البشري من دون أن تلزم لاستخراج البكسلات.

الحرف الثاني يفصل الاسم العام عن الخاص. إنها قاعدة مساحة أسماء وليست مصادقة. تحمي التعيينات العامة المستقبلية من الشكل الخاص، لكنها لا تمنع مؤسستين من استعمال الاسم الخاص نفسه لمعنيين مختلفين. لذلك أوصى RFC بوضع تعريف إضافي داخل بيانات الجزء الخاص.

الحرف الثالث محجوز. فرض الإصدار 1.0 أن يكون كبيراً، لكنه طلب من مفككات الترميز القديمة ألا تفشل لمجرد رؤية حرف صغير، فقد تعطيه مواصفة لاحقة معنى.

الحرف الرابع للمحرر: الصغير safe-to-copy والكبير unsafe-to-copy. المثال bLOb مساعد وعام والبت المحجوز فيه صفر وآمن للنسخ. أما TEXT وText فهما نوعان ثنائيان مختلفان.

آمن للنسخ لا يعني جديراً بالتصديق

يمكن نسخ جزء مساعد مجهول موسوم بالأمان بعد تعديل واسع. وإذا كان غير آمن وأضاف البرنامج أجزاء حرجة أو حذفها أو عدلها أو أعاد ترتيبها، فلا يجوز نسخه إلى الناتج. وإذا تغيرت أجزاء مساعدة فقط، يمكن حفظه.

يعلن مؤلف الامتداد تبعية بياناته، ويعرف المحرر ما غيره. وتفرض القاعدة حدوداً على التصميم: يجوز لجزء مساعد الاعتماد على جزء حرج، لكن لا ينبغي أن يعتمد على جزء مساعد آخر. ولا يمكن لبت واحد تمثيل تبعية إلى كل مجرى البيانات.

تحافظ الطبعة الثالثة من PNG لدى W3C على هذا الفصل وتدقق ترتيب الأجزاء. لا يجوز نقل جزء مجهول غير آمن بالنسبة إلى الأجزاء الحرجة، وحتى الجزء الآمن لا يستطيع عبور حد IDAT بحرية. safe-to-copy لم تعن قط safe-to-move.

أغلق CRC سؤال البايتات لا سؤال المعنى

يغطي CRC نوع الجزء وبياناته ويساعد على اكتشاف التلف العرضي. واقترح RFC أن يخزن جزء خاص CRC الخاص بـPLTE كي يكشف تغير لوحة يعتمد عليها.

لا يصادق التطابق على الكاتب ولا يحل تضارب الأسماء الخاصة. ولا يثبت أن معايرة قديمة ما زالت تصف البكسلات المحررة. وإعادة حساب CRC بعد التعديل تثبت فقط اتساق البايتات الجديدة مع خوارزمية الفحص.

يظهر الحد نفسه في الخصوصية. تشير الطبعة الثالثة إلى أدوات أخفت البكسلات بالشفافية أو غيرت الأبعاد من دون إزالة بيانات قابلة للاسترجاع، وإلى GPS الممكن في eXIf. المظهر النظيف لا يثبت الحذف. وبت النسخ الآمن ليس تصنيف خصوصية؛ إنه إعلان تبعية إلى البيانات الحرجة.

توافق حسب الميزة بدلاً من رقم إصدار شامل

تعمد RFC 2083 ألا يضع رقم إصدار عاماً. كان الرقم المرتفع سيجعل قارئاً قديماً يرفض ملفاً لا يستخدم ميزة حرجة مجهولة، كما أنه لا يصف الامتدادات الخاصة.

يمكن تجاهل ميزة مساعدة مجهولة، بينما توقف الميزة الحرجة المجهولة المعالجة. يتحدد التوافق بما يوجد فعلاً في الملف. وما زالت وثيقة W3C عن امتدادات PNG تسجل الأجزاء العامة الإضافية منفصلة. التسجيل والتعرف والفهم حالات مختلفة.

يوفر نص Lu Heng اللاحق عن المواصفة الأولية الدنيا والقرار المستقبلي المحلي عدسة رجعية نافعة: سمحت قواعد مشتركة رفيعة للبرامج العاملة بالقبول أو التجاهل أو الرفض محلياً. وليس هذا ادعاء بتأثير نص 2026 في تصميم 1997.

ويساعد الفصل بين طبقات الواقع والسلطة الرمزية على تسمية الدليل. البت وفئة التعديل وفعل النسخ أو الإسقاط أمور قابلة للتنفيذ. أما «رسمي» و«صحيح» و«مصرح» و«موثوق» فتحتاج أدلة أخرى.

ينبغي أن يحفظ تدقيق التحويل بصمة الإدخال وقائمة الأجزاء المرتبة وبايتات النوع والخصائص الأربع ونتائج CRC والأنواع التي يعرفها المحرر والتغييرات الحرجة والمساعدة وقرار كل جزء مجهول وترتيب الناتج وبصمته. وإذا دعمت البيانات الوصفية ادعاء عاماً، لزم أيضاً مخططها ومالك مساحة اسمها ومصدرها وسبب استمرار صلاحيتها.

لم يصادق الحرف الرابع على البيانات. بل عيّن صاحب القرار.

المصادر