الخلاصة

  • شملت «شبه نسخة البايتات» في RFC 2159 تعيين المعاملات وقلب ترتيب البتات وحشو الصفحة وصنع حد من ست علامات EOL.
  • اعتمد الرجوع بلا فقد على حدود الصفحات وعلامات EOL النهائية وبتات DCS غير المسماة؛ ولم يكن تطابق بصمة الجسم دليلاً كافياً على استعادة جسم الفاكس نفسه.
  • لم يثبت الرجوع البنيوي الصحيح أن المستقبل يدعم الترميز أو الدقة أو العرض، ولا أن الصورة المعروضة دقيقة وقابلة للاستخدام.

كلمة «تقريباً» كانت وصفاً للخوارزمية

نُشرت RFC 2159 في يناير 1998 لتحديد طريقة حمل بيانات سبق ترميزها كفاكس من المجموعة الثالثة داخل MIME، وربطها بتمثيل X.400. لم تقدّم image/g3fax كصيغة صور عامة للإنترنت. كان الهدف أضيق: نقل تمثيل فاكس قائم بين نظامين مع الاحتفاظ بما يلزم لإعادة بنائه.

تكوّن الجسم من ثلاث حالات: أعلام تحدد طريقة الترميز، وبنية تقسم البتات إلى صفحات، وبتات صورة T.4 لكل صفحة. انتقلت الأعلام إلى معاملات MIME، وتحول تسلسل BIT STRING في X.400 إلى جسم متصل يفصل بين صفحاته نمط خاص، بينما اتبعت بتات الصفحة اتفاقاً آخر للترتيب داخل البايت.

عرّفت RFC 1494 النسخ الحقيقي للبايت بأنه نقل بلا تحويل. أما G3Fax فحمل منذ ذلك الحين وصف nearly. لم يكن على البوابة فك ضغط الصورة وإعادة ضغطها، لكنها كانت مضطرة إلى إعادة بناء الوعاء.

القيمة الافتراضية جزء من المعنى

شملت معاملات MIME طول الصفحة وعرضها، والترميز الأحادي أو الثنائي أو غير المضغوط، والدقة الخشنة أو الدقيقة، وعدد الصفحات، وDevice Control String بترميز Base64. عند غيابها تصبح القيم A4 وA4 وترميزاً أحادياً ودقة خشنة. الصمت إذن يختار قيمة.

اختلفت أرقام بتات الخيارات بين T.30 وX.400 لأن كلاً منهما يعد من طرف مختلف للثمانية. كان على البوابة تعيين المعنى لا نسخ الرقم. وهذه عملية منفصلة عن قلب البتات داخل كل بايت من بيانات الصفحة لاحقاً.

إذا ظهر بت لا يملك خياراً مسمى، قالت RFC إنه ينبغي إرسال معامل DCS. لكنها حذرت أيضاً من أن التشغيل البيني غير مضمون مع هذه NonBasicParameters. حفظ البت يحفظ الدليل، لكنه لا ينشئ القدرة لدى المستقبل.

كان على البوابة أن تصنع حد الصفحة

مثّل X.400 كل صفحة بعنصر BIT STRING في تسلسل ASN.1. احتاج MIME إلى جسم واحد، فاختارت RFC 2159 ست علامات EOL متتالية حداً للصفحة. تتألف كل EOL من أحد عشر صفراً ثم واحد، ويجب أن تبدأ المجموعة على حد بايت، لذلك تضاف أصفار حشو عند الحاجة.

النمط هو 00 10 01 00 10 01 00 10 01، ويقول النص إنه لا يظهر داخل الصورة. أمكن العثور على الصفحات من دون عرضها، لكن موضع الحد والمحاذاة وعدد بتات الحشو أصبحت أدلة يجب حفظها. تدفق واحد بلا فواصل لا يثبت تسلسل الصفحات الأصلي.

من X.400 إلى MIME، تزال علامات EOL النهائية، ويُعدل ترتيب البتات بحيث يكون أعلى بت في البايت الأول هو أول بت G3Fax، ثم يُستكمل البايت وتضاف ست EOL وتوصل الصفحات. وفي العودة يُقسم الجسم عند الحدود، وتُحفظ علامات EOL النهائية، وتُقلب بتات كل بايت، ثم يعاد تسلسل ASN.1.

كان الاحتفاظ بعلامات EOL تغييراً صريحاً عن RFC 1494، التي أمرت بإزالتها مع الحشو في مسار العودة. بقي الوصف العام نفسه، لكن قاعدة الاستعادة تغيرت.

لا تعرف البصمة معنى ترتيب البتات

إذا بقيت بصمة جسم MIME ثابتة في قفزة بريدية، فهذا دليل على استمرار تلك الثمانيات خلالها. لكنه لا يثبت أن البوابة السابقة اختارت ترتيب البتات الصحيح. قد تختلف بايتات BIT STRING المعبأة عن MIME في تحويل صحيح لأن القلب مقصود.

تسجل المقارنة السليمة طول البتات المهمة لكل صفحة، وعدد بتات ASN.1 غير المستخدمة، وقاعدة الترتيب، وعدد الأصفار المضافة، ومواضع الحدود. وفي العودة يجب استعادة الصفحات والبتات المهمة والمعاملات وDCS.

تقدم RFC 2157 المعيار: equivalence مجموع تعيينين يقدمان معاً تحويلاً بلا فقد. إخراج جسم صالح في اتجاه واحد يثبت سهماً واحداً فقط.

قابلية العكس لا تعني قابلية العرض

فصل دليل RFC بين البنية والاستعمال. من دون fineResolution يكون ارتفاع البكسل ضعف عرضه. وُصفت بعض الأطوال والدقة الدقيقة بأنها أسهل دعماً من عرض B4 أو A3. كما قد تفشل أجهزة إذا لم يتضمن خط المسح العدد المعلن تماماً من البكسلات، مثل حذف البياض الأيمن.

يمكن للبوابة استعادة الصفحات والخيارات بينما يفتقر فاك الترميز إلى النمط. وقد يقبل البيانات ويشوّه الهندسة. صفحة تبدو معقولة قد تكون مقصوصة. قبول الصياغة وإعادة البناء والأبعاد والمظهر والقراءة وقائع منفصلة.

لا يزال سجل IANA يدرج image/g3fax، وتربطه جداول MIME/X.400 التاريخية بـg3-facsimile. يثبت السجل اسماً عاماً، لا تنفيذ منتج أو قدرة مستقبل.

يبدأ الاختبار القابل للدفاع بمعاملات X.400 وDCS والصفحات وأطوال البتات المهمة وبصماتها وإصدار البوابة. ويحفظ في MIME المعاملات والحشو ومواضع الحدود. ثم يقارن المسار العكسي التسلسل المستعاد. بعد ذلك فقط تُختبر الأنماط والبكسلات والأبعاد والعرض.

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

كانت nearly في RFC 2159 قائمة بما يقع خارج النسخ. من دون الخيارات والصفحات والترتيب والحشو وقدرة المستقبل، قد تبقى البايتات سليمة ولا يعود منها الفاكس الأصلي.

المصادر