ملاحظة لاحقة
بوست سكريبت ( PS ) هي لغة وصف صفحات ولغة برمجة ديناميكية تعتمد على بنية المكدس . تُستخدم بشكل شائع في مجال النشر الإلكتروني والنشر المكتبي ، ولكن نظرًا لكونها لغة برمجة كاملة تورينج ، يمكن استخدامها لأغراض أخرى عديدة. طُوّرت بوست سكريبت في شركة أدوبي سيستمز على يد جون وارنوك ، وتشارلز غيشكي ، ودوغ بروتز، وإد تافت، وبيل باكستون بين عامي 1982 و1984. أُصدرت أحدث نسخة منها، بوست سكريبت 3، في عام 1997.
تاريخ
بدأت مفاهيم لغة PostScript في عام 1976 على يد جون غافني في شركة إيفانز آند ساذرلاند ، [ 2 ] [ 3 ] [ 4 ] وهي شركة متخصصة في رسومات الحاسوب . في ذلك الوقت، كان غافني وجون وارنوك يعملان على تطوير مترجم لقاعدة بيانات رسومات ثلاثية الأبعاد ضخمة لميناء نيويورك .
في الوقت نفسه، كان باحثون في مركز أبحاث زيروكس بارك قد طوروا أول طابعة ليزرية ، وأدركوا الحاجة إلى وسيلة موحدة لتحديد صور الصفحات. في عامي 1975 و1976، طور بوب سبرول وويليام نيومان تنسيق "بريس"، الذي استُخدم لاحقًا في نظام زيروكس ستار لتشغيل طابعات الليزر. إلا أن "بريس"، كونه تنسيق بيانات وليس لغة برمجة، افتقر إلى المرونة، فقام مركز أبحاث بارك بمشروع "إنتربريس" لإنشاء بديل له.
في عام 1978، قام جون غافني ومارتن نيويل، اللذان كانا يعملان آنذاك في مركز أبحاث زيروكس بارك، بكتابة لغة J & M أو JaM [ 2 ] [ 5 ] (اختصارًا لـ "جون ومارتن")، والتي استُخدمت في تصميم الدوائر المتكاملة واسعة النطاق (VLSI ) ودراسة طباعة الحروف والرسومات. وقد تطور هذا العمل لاحقًا وتوسع ليصبح لغة إنتربريس.
غادر وارنوك مع تشاك غيشكي وأسس شركة أدوبي سيستمز في ديسمبر 1982. وقاموا مع دوغ بروتز وإد تافت وبيل باكستون بإنشاء لغة أبسط، تشبه لغة إنتربريس، تسمى بوست سكريبت، والتي تم طرحها في السوق في عام 1984.
في غضون ذلك، في ربيع عام ١٩٨٣، زار ستيف جوبز شركة أدوبي، وانبهر بإمكانيات لغة PostScript، لا سيما لجهاز ماكنتوش الجديد الذي كان يطوره في شركة آبل . [ ٦ ] مما أثار استياء جون سكولي ، أن جوبز حصل على ترخيص تقنية PostScript من أدوبي مقابل دفعة مقدمة قدرها ١.٥ مليون دولار أمريكي من عائدات PostScript، بالإضافة إلى ٢.٥ مليون دولار أمريكي مقابل ٢٠٪ من أسهم أدوبي. [ ٧ ] وخلال سلسلة من الاجتماعات في عام ١٩٨٣، عرض جوبز مرارًا وتكرارًا على آبل شراء أدوبي بالكامل، لكن المؤسسين رفضوا عرضه مرارًا. [ ٧ ] وفي ديسمبر ١٩٨٣، وقّعت الشركتان أخيرًا على اتفاقية ترخيص PostScript، واضطرت أدوبي إلى تحويل تركيزها فورًا من أجهزة الطباعة المتطورة عالية الدقة إلى طابعة الليزر Apple LaserWriter الموجهة للمستهلكين. [ ٨ ]
في ذلك الوقت، كان يُنظر إلى محرك الطباعة الليزرية من كانون بدقة 300 نقطة في البوصة، والمُستخدم في طابعات LaserWriter، على أنه كافٍ فقط لطباعة النسخ التجريبية (أي للمسودات الأولية للمواد التي تُرسل نسخها النهائية إلى أجهزة احترافية عالية الدقة)، لكن ستيف جوبز طرح على أدوبي تحديًا يتمثل في جعل لغة PostScript تُنتج مخرجات عالية الجودة على جهاز منخفض الدقة (والذي سيكون بالنسبة لمعظم المستهلكين جهاز الطباعة الوحيد لديهم). [ 9 ] واستجابةً لذلك، حلّ وارنوك وبروتز ما يُسمى بـ"مشكلة المظهر" المتمثلة في جعل عرض ساق الأحرف يتناسب بشكل صحيح مع جميع الدقات. [ 10 ] وكان هذا الإنجاز بالغ الأهمية لدرجة أن أدوبي لم تُسجّل براءة اختراع لهذه التقنية، حرصًا منها على إبقاء تفاصيلها سريةً باعتبارها سرًا تجاريًا . [ 10 ] بعد سنوات عديدة، كشف وارنوك عن السر التجاري في محاضرة ألقاها عام 2010، وفي عام 2022، أصدرت أدوبي علنًا نسخة مبكرة من شفرة المصدر الأصلية لـ PostScript من فبراير 1984. [ 11 ] عمل باكستون على العديد من التحسينات الأخرى ذات الصلة، مثل تلميح الخطوط . [ 10 ] حدث هذا العمل بعد فبراير 1984، مما يعني أن تحسينات باكستون لم تُدرج في إصدار شفرة المصدر، ولا تزال محمية كأسرار تجارية. [ 11 ] كانت أدوبي مسؤولة أيضًا عن نقل PostScript إلى شريحة Motorola 68000 من Canon . [ 10 ]
أعلنت شركتا آبل وأدوبي عن طابعة LaserWriter في اجتماع المساهمين السنوي لشركة آبل بتاريخ 23 يناير 1985. [ 12 ] وكانت أول طابعة تُشحن مزودة بلغة PostScript، مما أدى إلى ثورة النشر المكتبي (DTP) في منتصف ثمانينيات القرن العشرين. [ 13 ] بلغت نسبة حقوق استخدام PostScript الأصلية 5% من سعر البيع لكل طابعة ليزر مباعة، أي ما يعادل 350 دولارًا من سعر LaserWriter الأصلي البالغ 6995 دولارًا، وقد شكلت هذه الحقوق معظم دخل أدوبي خلال سنواتها الأولى. [ 14 ] (أعادت آبل لاحقًا التفاوض على العقد لدفع رسوم ترخيص بناءً على حجم الطابعات المشحونة). [ 14 ] جعل الجمع بين المزايا التقنية والتوافر الواسع النطاق لغة PostScript الخيار الأمثل لإخراج الرسومات في تطبيقات الطباعة. وكان مُفسِّر لغة PostScript (يُشار إليه أحيانًا باسم RIP، اختصارًا لـ Raster Image Processor) مكونًا شائعًا في طابعات الليزر خلال ثمانينيات وتسعينيات القرن العشرين.
مع ذلك، كانت تكلفة التنفيذ باهظة؛ إذ كانت الحواسيب تُخرج شفرة PS خامة تُفسّرها الطابعة إلى صورة نقطية بدقة الطباعة الأصلية. تطلّب هذا معالجات دقيقة عالية الأداء وذاكرة كبيرة . استخدمت طابعة LaserWriter معالج Motorola 68000 بسرعة 12 ميجاهرتز ، ما جعلها أسرع من أي حاسوب Macintosh مُلحق بها. [ 15 ] بحلول عام 1987، تراوحت تكلفة ترخيص PS والخطوط من Adobe بين 400 و900 دولار أمريكي لكل طابعة. [ 16 ] عندما تجاوزت تكلفة محركات طابعات الليزر نفسها ألف دولار، أصبحت التكلفة الإضافية لـ PS هامشية. ولكن مع انخفاض أسعار آليات الطابعات، أصبحت تكلفة تطبيق PS جزءًا كبيرًا جدًا من التكلفة الإجمالية للطابعة. إضافةً إلى ذلك، مع ازدياد قوة الحواسيب المكتبية خلال التسعينيات مقارنةً بالطابعات الملحقة بها، لم يعد من المنطقي تحميل الطابعة ذات الموارد المحدودة مهمة تحويل الصورة إلى صورة نقطية. بحلول عام 2001، لم تعد معظم طابعات الفئة الاقتصادية تدعم لغة PostScript بشكل مدمج، ويعود ذلك في الغالب إلى المنافسة المتزايدة من طابعات نفث الحبر الأرخص ثمناً التي لا تدعم PostScript، بالإضافة إلى ظهور طرق برمجية جديدة لعرض صور PostScript على أجهزة الكمبيوتر، مما جعلها مناسبة لأي طابعة. وتُعدّ PDF ، وهي لغة مشتقة من PostScript، إحدى هذه الطرق، وقد حلت إلى حد كبير محل PostScript كمعيار فعلي لتوزيع المستندات الإلكترونية.
في الطابعات المتطورة، لا تزال معالجات PostScript شائعة، ويمكن أن يقلل استخدامها بشكل كبير من عمل وحدة المعالجة المركزية المتضمن في طباعة المستندات، ونقل عمل عرض صور PostScript من الكمبيوتر إلى الطابعة.
المستوى الأول من PostScript
تم طرح الإصدار الأول من لغة PostScript في السوق عام 1984. وأضيفت كلمة Level 1 عند طرح Level 2. [ 17 ]
المستوى الثاني من PostScript
تم تقديم PostScript المستوى 2 في عام 1991، وتضمن العديد من التحسينات: تحسين السرعة والموثوقية، ودعم فصل الصور داخل معالجة الصور النقطية (RIP)، وفك ضغط الصور (على سبيل المثال، يمكن عرض صور JPEG بواسطة برنامج PostScript)، ودعم الخطوط المركبة ، وآلية النموذج لتخزين المحتوى القابل لإعادة الاستخدام مؤقتًا. [ 17 ]
بوست سكريبت 3
جاء PostScript 3 (أسقطت Adobe مصطلح "المستوى" لصالح الترقيم البسيط) في نهاية عام 1997، وقدم إلى جانب العديد من الإصدارات الجديدة القائمة على القاموس للمشغلين الأقدم، معالجة أفضل للألوان وفلاتر جديدة (تسمح بالضغط/فك الضغط داخل البرنامج، وتقسيم البرنامج إلى أجزاء، ومعالجة متقدمة للأخطاء).
كان لـ PostScript 3 أهمية بالغة من حيث استبدال أنظمة الطباعة الإلكترونية الملونة الاحتكارية الموجودة آنذاك، والتي كانت تُستخدم على نطاق واسع في إنتاج المجلات، وذلك من خلال تقديم عمليات تظليل سلسة تصل إلى 4096 درجة من درجات الرمادي (بدلاً من 256 درجة متوفرة في PostScript Level 2)، بالإضافة إلى DeviceN، وهو فضاء لوني يسمح بإضافة ألوان حبر إضافية (تُسمى ألوان موضعية ) إلى صفحات الألوان المركبة. [ 17 ] [ 18 ]
يُستخدم في الطباعة
قبل ما بعد الملاحظة
قبل ظهور تقنيتي Interpress و PostScript، كانت الطابعات مصممة لطباعة الأحرف بناءً على النص المدخل - عادةً بتنسيق ASCII. كانت هناك عدة تقنيات لهذه المهمة، لكن معظمها كان يشترك في صعوبة تغيير الرموز ، لأنها كانت تُطبع على مفاتيح الآلة الكاتبة ، أو أشرطة معدنية، أو صفائح بصرية.
تغير هذا الوضع إلى حد ما مع ازدياد شعبية طابعات المصفوفة النقطية . كانت الأحرف في هذه الأنظمة تُرسَم كسلسلة من النقاط، وفقًا لجدول الخطوط الموجود داخل الطابعة. ومع تطورها، بدأت طابعات المصفوفة النقطية تتضمن العديد من الخطوط المدمجة التي يمكن للمستخدم الاختيار من بينها، كما سمحت بعض الطرازات للمستخدمين بتحميل رموزهم الرسومية المخصصة إلى الطابعة.
أتاحت طابعات المصفوفة النقطية إمكانية طباعة الرسومات النقطية . [ 19 ] كان الحاسوب يفسر هذه الرسومات ويرسلها كسلسلة من النقاط إلى الطابعة باستخدام سلسلة من تسلسلات الهروب . وقد اختلفت لغات التحكم هذه من طابعة إلى أخرى، مما استلزم من مطوري البرامج إنشاء العديد من برامج التشغيل .
اقتصرت طباعة الرسومات المتجهة على أجهزة متخصصة تُسمى الراسمات . كانت جميع الراسمات تقريبًا تستخدم لغة أوامر مشتركة، هي HPGL ، لكن استخدامها كان محدودًا لأي شيء آخر غير طباعة الرسومات. إضافةً إلى ذلك، كانت هذه الراسمات باهظة الثمن وبطيئة، وبالتالي نادرة.
طباعة بوست سكريبت
تجمع طابعات الليزر بين أفضل ميزات كل من الطابعات والراسمات. فمثل الراسمات، توفر طابعات الليزر رسومات خطية عالية الجودة، ومثل طابعات المصفوفة النقطية، فهي قادرة على إنتاج صفحات من النصوص والرسومات النقطية. وعلى عكس الطابعات والراسمات، تتيح طابعة الليزر إمكانية وضع رسومات ونصوص عالية الجودة على نفس الصفحة. وقد مكّنت لغة PostScript من الاستفادة الكاملة من هذه الخصائص من خلال توفير لغة تحكم واحدة يمكن استخدامها على أي نوع من الطابعات.
تجاوزت لغة PostScript كونها لغة تحكم تقليدية للطابعات، لتصبح لغة برمجة مستقلة تمامًا. تستطيع العديد من التطبيقات تحويل المستند إلى برنامج PostScript، والذي ينتج عنه المستند الأصلي عند تنفيذه. يمكن إرسال هذا البرنامج إلى مترجم في الطابعة، ما يؤدي إلى طباعة المستند، أو إلى مترجم داخل تطبيق آخر، لعرض المستند على الشاشة. ولأن البرنامج المستندي يبقى نفسه بغض النظر عن وجهته، يُطلق عليه اسم " مستقل عن الجهاز ".
تتميز لغة PostScript بقدرتها على تنفيذ عملية تحويل الصور إلى صور نقطية فورية، حيث يتم تحديد كل شيء، حتى النصوص، باستخدام الخطوط المستقيمة ومنحنيات بيزير المكعبة (التي كانت مقتصرة سابقًا على تطبيقات التصميم بمساعدة الحاسوب CAD )، مما يسمح بتغيير الحجم والتدوير والتحويلات الأخرى بشكل تعسفي. عند تفسير برنامج PostScript، يقوم المفسر بتحويل هذه التعليمات إلى النقاط اللازمة لتكوين المخرجات. لهذا السبب، تُسمى مفسرات PostScript أحيانًا بمعالجات الصور النقطية PostScript ، أو اختصارًا RIPs.
معالجة الخطوط
لا تقل تعقيدًا عن لغة PostScript نفسها فيما يتعلق بمعالجة الخطوط . يستخدم نظام الخطوط عناصر الرسومات الأساسية في PostScript لرسم الأحرف الرسومية كمنحنيات، والتي يمكن عرضها بأي دقة . وقد استلزم هذا النهج مراعاة عدد من المشكلات الطباعية .
إحدى المشكلات هي أن الخطوط لا تتناسب أبعادها خطيًا مع الأحجام الصغيرة، فتصبح ملامح الأحرف كبيرة جدًا أو صغيرة جدًا بشكل غير متناسب، ما يُفقدها مظهرها الجذاب. وقد تغلّبت لغة PostScript على هذه المشكلة من خلال تضمين ميزة تلميح الخطوط ، حيث تُقدّم معلومات إضافية في نطاقات أفقية أو رأسية للمساعدة في تحديد ملامح كل حرف التي يحتاجها برنامج تحويل الصور النقطية للحفاظ عليها. وكانت النتيجة خطوطًا ذات مظهر أفضل بكثير حتى عند الدقة المنخفضة. وكان يُعتقد سابقًا أن هذه المهمة تتطلب خطوطًا نقطية مُعدّلة يدويًا.
في ذلك الوقت، كانت تقنية تضمين هذه التلميحات في الخطوط محمية بعناية، وكانت الخطوط المُلمَّحة تُضغط وتُشفَّر فيما أسمته أدوبي " خط النوع 1" (المعروف أيضًا باسم خط PostScript النوع 1 ، أو PS1 ، أو T1، أو Adobe النوع 1 ). كان النوع 1 في جوهره تبسيطًا لنظام PostScript لتخزين معلومات المخطط التفصيلي فقط، بدلًا من كونه لغة كاملة (يشبه PDF ذلك في هذا الصدد). ثم كانت أدوبي تبيع تراخيص تقنية النوع 1 لمن يرغب في إضافة تلميحات إلى خطوطه الخاصة. أما من لم يحصل على ترخيص التقنية، فكان عليه استخدام خط النوع 3 (المعروف أيضًا باسم خط PostScript النوع 3 ، أو PS3، أو T3 ). سمحت خطوط النوع 3 بكل تعقيدات لغة PostScript، ولكن دون اتباع النهج الموحد للتلميحات.
صُمم تنسيق الخط Type 2 للاستخدام مع سلاسل الأحرف بتنسيق Compact Font Format (CFF)، وتم تطبيقه لتقليل حجم ملف الخط الإجمالي. أصبح تنسيق CFF/Type2 لاحقًا أساسًا للتعامل مع مخططات PostScript في خطوط OpenType .
تم تصميم تنسيق الخطوط المُفهرسة بـ CID أيضًا لحل مشاكل خطوط OCF/Type 0، وذلك لمعالجة ترميز اللغات الآسيوية المعقدة ( الصينية واليابانية والكورية ) ومشاكل مجموعات الأحرف الكبيرة جدًا. يمكن استخدام تنسيق الخطوط المُفهرسة بـ CID مع تنسيق الخطوط Type 1 للخطوط القياسية المُفهرسة بـ CID، أو مع Type 2 لخطوط OpenType المُفهرسة بـ CID.
لمنافسة نظام أدوبي، صممت آبل نظامها الخاص، ترو تايب ، حوالي عام ١٩٩١. ومباشرةً بعد الإعلان عن ترو تايب، نشرت أدوبي مواصفات تنسيق خط تايب ١. أضافت أدوات البيع بالتجزئة، مثل ألتسيس فونتوغرافر (الذي استحوذت عليه ماكروميديا في يناير ١٩٩٥، وتملكه فونت لاب منذ مايو ٢٠٠٥)، إمكانية إنشاء خطوط تايب ١. ومنذ ذلك الحين، تم إصدار العديد من خطوط تايب ١ المجانية؛ على سبيل المثال، الخطوط المستخدمة مع نظام تنضيد النصوص TeX متوفرة بهذا التنسيق.
في أوائل التسعينيات، كانت هناك العديد من الأنظمة الأخرى لتخزين الخطوط القائمة على المخططات، والتي طورتها شركتا Bitstream و Metafont على سبيل المثال، ولكن لم يتضمن أي منها حلاً للطباعة للأغراض العامة، وبالتالي لم يتم استخدامها على نطاق واسع.
في أواخر التسعينيات، انضمت أدوبي إلى مايكروسوفت في تطوير OpenType ، وهو في الأساس مجموعة وظيفية موسعة من تنسيقي Type 1 وTrueType. عند الطباعة على جهاز إخراج PostScript، تُحذف الأجزاء غير الضرورية من خط OpenType، وما يُرسله برنامج التشغيل إلى الجهاز هو نفسه ما يُرسله لخط TrueType أو Type 1، وذلك بحسب نوع الخطوط الخارجية الموجودة في خط OpenType.
دعمت شركة أدوبي خطوط Type 1 في منتجاتها حتى يناير 2023، عندما أزالت الدعم بالكامل لصالح خطوط OpenType. [ 20 ]
تطبيقات أخرى
استخدمت كل من طابعات الكمبيوتر وأجهزة الطباعة المتطورة مثل Linotronic لغة PostScript. [ 21 ] في ثمانينيات القرن الماضي، كانت شركة Adobe تجني معظم إيراداتها من رسوم ترخيص التطبيقات، المعروفة باسم معالج الصور النقطية ( RIP) . ومع ظهور عدد من المنصات الجديدة القائمة على معالجات RISC في منتصف ثمانينيات القرن الماضي، وجد البعض أن دعم Adobe لهذه الأجهزة الجديدة غير كافٍ.
أدى هذا، بالإضافة إلى مسائل التكلفة، إلى شيوع استخدام تطبيقات PostScript من قِبل جهات خارجية، لا سيما في الطابعات منخفضة التكلفة (حيث كانت رسوم الترخيص هي العائق الرئيسي) أو في معدات الطباعة المتطورة (حيث تطلب السعي وراء السرعة دعم منصات جديدة أسرع مما تستطيع Adobe توفيره). في مرحلة ما، رخصت مايكروسوفت لشركة Apple برنامج TrueImage ، وهو مترجم متوافق مع PostScript كانت قد اشترته، ورخصت Apple بدورها لمايكروسوفت تنسيق خطوطها الجديد، TrueType . في النهاية، توصلت Apple إلى اتفاق مع Adobe ورخصت استخدام PostScript الأصلي لطابعاتها، لكن TrueType أصبح تقنية الخطوط الخارجية القياسية لكل من Windows وMacintosh.
تُستخدم اليوم على نطاق واسع برامج الترجمة المتوافقة مع لغة PostScript من جهات خارجية في الطابعات والأجهزة الطرفية متعددة الوظائف. على سبيل المثال، يُعد برنامج الترجمة IPS PS3 [ 22 ] من شركة CSR plc ، المعروف سابقًا باسم PhoenixPage، برنامجًا قياسيًا في العديد من الطابعات والأجهزة الطرفية متعددة الوظائف، بما في ذلك تلك التي طورتها شركة Hewlett-Packard والتي تُباع تحت خطي إنتاج LaserJet وColor LaserJet. تشمل حلول PostScript الأخرى من جهات خارجية التي يستخدمها مصنّعو الطابعات والأجهزة الطرفية متعددة الوظائف برنامج Jaws [ 23 ] وبرنامج Harlequin RIP، وكلاهما من إنتاج شركة Global Graphics . يتوفر إصدار مجاني من البرنامج ، مع العديد من التطبيقات الأخرى، وهو Ghostscript . تُدرج العديد من برامج الترجمة المتوافقة في موسوعة الطباعة غير الموثقة [ 24 ] .
بعض طابعات الليزر الأساسية منخفضة التكلفة لا تدعم لغة PostScript، بل تأتي مزودة ببرامج تشغيل تقوم ببساطة بتحويل تنسيقات الرسومات الأصلية للمنصة إلى صور نقطية بدلاً من تحويلها إلى PostScript أولاً. عند الحاجة إلى دعم PostScript لمثل هذه الطابعة، يمكن استخدام Ghostscript. كما يوجد عدد من مترجمات PostScript التجارية، مثل T-Script من شركة TeleType أو BR-Script3 من شركة Brother .
يُستخدم كنظام عرض
حققت لغة PostScript نجاحًا تجاريًا بفضل واجهة المستخدم الرسومية (GUI)، التي أتاحت للمصممين تصميم الصفحات مباشرةً لطباعتها على طابعات الليزر. مع ذلك، كانت أنظمة الرسومات الخاصة بواجهات المستخدم الرسومية أقل تطورًا من PostScript؛ فبرنامج QuickDraw من Apple ، على سبيل المثال، لم يدعم سوى الخطوط والأقواس الأساسية، ولم يدعم منحنيات B-spline المعقدة وخيارات تعبئة المناطق المتقدمة التي توفرها PostScript. وللاستفادة الكاملة من طباعة PostScript، كان على التطبيقات على أجهزة الكمبيوتر إعادة تنفيذ هذه الميزات باستخدام نظام الرسومات الخاص بالمنصة. وقد أدى ذلك إلى العديد من المشكلات، حيث لم يتطابق تصميم الشاشة تمامًا مع الناتج المطبوع، نظرًا لاختلافات تنفيذ هذه الميزات.
مع ازدياد قوة الحوسبة، أصبح من الممكن استضافة نظام PostScript داخل الحاسوب بدلاً من الطابعة. أدى ذلك إلى التطور الطبيعي لنظام PostScript من نظام طباعة إلى نظام يُمكن استخدامه أيضاً كلغة رسومات خاصة بالحاسوب. وقد وفّر هذا النهج مزايا عديدة؛ إذ لم يقتصر الأمر على منع اختلاف المخرجات بين الشاشة والطابعة، بل وفّر أيضاً نظام رسومات قوي للحاسوب، وسمح للطابعات بأن تكون بسيطة في وقت كانت فيه تكلفة محركات الليزر في انخفاض. في بيئة الإنتاج، كان استخدام PostScript كنظام عرض يعني أن الحاسوب المضيف قادر على عرض صور منخفضة الدقة على الشاشة، وصور عالية الدقة على الطابعة، أو ببساطة إرسال كود PostScript إلى طابعة ذكية للطباعة الخارجية.
مع ذلك، كُتبت لغة PostScript مع وضع الطباعة في الاعتبار، وتضمنت العديد من الخصائص التي جعلتها غير مناسبة للاستخدام المباشر في أنظمة العرض التفاعلية. على وجه الخصوص، اعتمدت PS على فكرة تجميع أوامر PS حتى showpageيتم رؤية الأمر المطلوب، وعندها تُفسَّر جميع الأوامر المقروءة حتى تلك النقطة وتُخرَج. في نظام تفاعلي، كان هذا الأمر غير مناسب بشكل واضح، كما أن PS لم تكن تتضمن أي نوع من التفاعلية؛ فعلى سبيل المثال، من الواضح أن دعم اكتشاف النقرات لتفاعل الماوس لم يكن مُجديًا عند استخدام PS على طابعة.
عندما غادر ستيف جوبز شركة آبل وأسس شركة NeXT ، عرض على شركة أدوبي فكرة استخدام لغة PostScript كنظام عرض لأجهزة الكمبيوتر الجديدة الخاصة به. وكانت النتيجة برنامج Display PostScript ، أو DPS. أضاف DPS وظائف أساسية لتحسين الأداء من خلال تحويل العديد من عمليات البحث عن السلاسل النصية إلى أعداد صحيحة 32 بت، ودعم الإخراج المباشر مع كل أمر، وإضافة وظائف تسمح لواجهة المستخدم الرسومية بفحص الرسم التخطيطي. بالإضافة إلى ذلك، تم توفير مجموعة من "الروابط" للسماح باستدعاء كود PostScript مباشرةً من لغة البرمجة C. استخدمت NeXT هذه الروابط في نظام NeXTStep الخاص بها لتوفير نظام رسومات كائني التوجه . على الرغم من أن DPS كُتب بالتعاون مع NeXT، إلا أن أدوبي باعته تجاريًا، وكان ميزة شائعة في معظم محطات عمل Unix في التسعينيات.
اتخذت شركة صن مايكروسيستمز نهجًا مختلفًا، فابتكرت نظام NeWS . فبدلًا من مفهوم DPS الذي يسمح لنظام PS بالتفاعل مع برامج C، وسّع NeWS نطاق PS ليصبح لغةً مناسبةً لتشغيل واجهة المستخدم الرسومية الكاملة للحاسوب. أضافت صن عددًا من الأوامر الجديدة للمؤقتات، والتحكم بالماوس، والمقاطعات، وأنظمة أخرى ضرورية للتفاعل، كما أضافت هياكل بيانات وعناصر لغوية لجعله نظامًا كائني التوجه بالكامل داخليًا. كُتبت ثلاث واجهات مستخدم رسومية كاملة بلغة NeWS ووُفرت لفترة من الزمن على محطات عمل الشركة. مع ذلك، أدت الجهود المستمرة لتوحيد نظام X11 إلى طرحه واستخدامه على نطاق واسع في أنظمة صن، ولم يُصبح NeWS شائع الاستخدام.
تنسيق المستندات المحمولة
يشترك كل من PDF وPostScript في نفس نموذج التصوير، ويمكن تحويل كلا التنسيقين إلى بعضهما البعض في الغالب. مع ذلك، يفتقر PostScript، وهو التنسيق الأقدم، إلى الشفافية: إذ أن نموذج الكائنات الأصلي فيه يرسم بشكل معتم تمامًا. باستثناء ذلك، ينتج كلا التنسيقين نفس النتيجة عند الطباعة. لكن PDF يفتقر إلى إطار لغة البرمجة العامة للأغراض العامة الموجود في لغة PostScript. يُعد مستند PDF بنية بيانات ثابتة مصممة للوصول الفعال، ويتضمن معلومات تنقل مناسبة للعرض التفاعلي. [ 25 ] : 9
اللغة
PostScript هي لغة برمجة كاملة تورينج ، تنتمي إلى مجموعة لغات البرمجة التجميعية . وهي لغة تفسيرية تعتمد على المكدس ، تشبه لغة Forth ، وتتميز بتصنيف ديناميكي ، وهياكل بيانات مستوحاة من تلك الموجودة في لغة Lisp ، وذاكرة ذات نطاق محدد ، ومنذ المستوى الثاني من اللغة، خاصية جمع البيانات المهملة . يستخدم بناء جملة اللغة تدوينًا بولنديًا معكوسًا ، مما يجعل ترتيب العمليات واضحًا لا لبس فيه، ولكن قراءة البرنامج تتطلب بعض الممارسة، لأنه يجب على المستخدم تذكر تخطيط المكدس . تأخذ معظم المعاملات (ما تسميه لغات أخرى بالدوال ) وسائطها من المكدس، وتضع نتائجها عليه. أما القيم الحرفية (مثل الأرقام) فتضع نسخة منها على المكدس. يمكن بناء هياكل بيانات متطورة على أنواع المصفوفات والقواميس ، ولكن لا يمكن تعريفها لنظام الأنواع ، الذي يراها جميعًا كمصفوفات وقواميس فقط، لذا فإن أي نظام تصنيف إضافي يُطبق على هذه "الأنواع" المُعرّفة من قِبل المستخدم يُترك للبرنامج الذي يُنفذها.
تُستخدم علامة النسبة المئوية "%" لإضافة التعليقات في برامج PostScript. وكقاعدة عامة، يجب أن يبدأ كل برنامج PostScript بالعلامات "%!PS" كتوجيه للمفسر حتى تتمكن جميع الأجهزة من تفسيره بشكل صحيح على أنه PostScript.
تُقسّم برامج PostScript عادةً إلى جزأين، يُطلق عليهما عادةً المقدمة والنص البرمجي . تحتوي المقدمة على الإجراءات ويكتبها المبرمج. أما النص البرمجي فيُمرر البيانات إلى تلك الإجراءات. وغالبًا ما يُولّد النص البرمجي تلقائيًا باستخدام لغة برمجة أخرى غير PostScript. [ 26 ]
"مرحبا بالعالم"
قد يبدو برنامج "Hello World" ، وهو الطريقة المعتادة لعرض مثال صغير لبرنامج كامل بلغة معينة، على النحو التالي في لغة PostScript (المستوى 2):
%!PS /Courier % اسم الخط المطلوب 20 selectfont % اختر الحجم بالنقاط وحدد % الخط الحالي 72 500 moveto % ضع النقطة الحالية عند % الإحداثيات 72، 500 (نقطة الأصل في % الزاوية السفلية اليسرى من الصفحة) (Hello world!) show % ارسم النص بين قوسين showpage % اطبع كل شيء على الصفحةأو إذا كان جهاز الإخراج يحتوي على وحدة تحكم
%!PS (مرحباً بالعالم!) =وحدات الطول
يستخدم PostScript النقطة كوحدة قياس للطول. ولكن، على عكس بعض الإصدارات الأخرى للنقطة، يستخدم PostScript بالضبط 72 نقطة في البوصة. وبالتالي:
- النقطة الواحدة = ١/٧٢ بوصة = ٢٥.٤ / ٧٢ ملم = ١٢٧/٣٦٠ ملم = ٣٥٢.٧٧٧ … ميكرومتر
على سبيل المثال، لرسم خط عمودي بطول 4 سم، يكفي كتابة ما يلي:
0 0 moveto 0 113.385827 rlineto strokeبشكل أكثر وضوحًا وسلاسة، يمكن استخدام الصيغة المكافئة التالية، والتي توضح تعريفًا بسيطًا للإجراء واستخدام المعاملات الرياضية mulو div:
/سم { 72 mul 2.54 div } def % 1 بوصة = 2.54 سم بالضبط 0 0 moveto 0 4 سم rlineto stroke(من الناحية الفنية، تحتوي معظم الطابعات على هامش غير قابل للطباعة ضمنيًا حول الحدود المادية للورقة، ويتم معايرة إحداثيات 0 0 إلى زاويتها، [ 25 ] : القسم 4.3.1، لذلك قد تضطر إلى استخدام نقطة بداية مختلفة لرؤية شيء ما بالفعل.)
تستخدم معظم تطبيقات PostScript أعدادًا حقيقية أحادية الدقة [ 25 ] : الملحق ب (24 بت مانتيسا)، لذلك ليس من المنطقي استخدام أكثر من 9 أرقام عشرية لتحديد عدد حقيقي، وقد يؤدي إجراء العمليات الحسابية إلى أخطاء تقريب غير مقبولة.
برمجة
البرامج التي يمكن استخدامها لعرض مستندات PostScript:
انظر أيضاً
- Adobe StandardEncoding (مجموعة أحرف PostScript)
- اتفاقيات هيكلة المستندات
- ملف EPS ( Encapsulated PostScript )
- فورث (لغة برمجة)
- خطوط بوست سكريبت
- وصف طابعة PostScript (PPD)
- لغة أوامر الطابعة (PCL)
مراجع
- ↑ بيري، تي إس (مايو 1988). ""طباعة أي شيء باستخدام لغة PostScript: دراسة حالة". مجلة IEEE Spectrum ، المجلد 25 ، العدد 5، الصفحات 42-46 . doi : 10.1109/6.4550 . S2CID 33376390 .
- 1 2 رايلي، إدوين (2003). معالم بارزة في علوم الحاسوب وتكنولوجيا المعلومات . مجموعة غرينوود للنشر. ص 206. ISBN 9781573565219.
- ↑ بيترسون، جيه كيه (28 يونيو 2018). قاموس مصور للألياف البصرية . مجموعة تايلور وفرانسيس. رقم ISBN 9781138455757.
- ↑ نغوين، بينه (2004). قاموس لينكس (الطبعة 0.16 ). بينه نغوين. مؤرشف من الأصل في 24 فبراير 2021. تم الاطلاع عليه في 28 سبتمبر 2019 .
- ↑ بيانكوزي، فيديريكو؛ واردن، شين (2009). "الفصل 16. بوست سكريبت". عقول البرمجة الرئيسية . أورايلي ميديا، إنك. ISBN 9780596515171.
- ↑ بيفنر، باميلا (2003). داخل ثورة النشر: قصة أدوبي . بيركلي: دار بيتشبيت للنشر. ص 33. ISBN 0-321-11564-3.
- 1 2 بفيفنر، باميلا (2003). داخل ثورة النشر: قصة أدوبي . بيركلي: دار بيتشبيت للنشر. ص 34. ISBN 0-321-11564-3.
- ↑ بيفنر، باميلا (2003). داخل ثورة النشر: قصة أدوبي . بيركلي: دار بيتشبيت للنشر. ص 35. ISBN 0-321-11564-3.
- ↑ بيفنر، باميلا (2003). داخل ثورة النشر: قصة أدوبي . بيركلي: دار بيتشبيت للنشر. ص 36. ISBN 0-321-11564-3.
- 1 2 3 4 بفيفنر، باميلا (2003). داخل ثورة النشر: قصة أدوبي . بيركلي: دار بيتشبيت للنشر. ص 37. ISBN 0-321-11564-3.
- 1 2 بروك، ديفيد (1 ديسمبر 2022). "بوستسكريبت: مطبعة رقمية" . مدونة متحف تاريخ الحاسوب.
- ↑ بيفنر، باميلا (2003). داخل ثورة النشر: قصة أدوبي . بيركلي: دار بيتشبيت للنشر. ص 47. ISBN 0-321-11564-3.
- ↑ بيفنر، باميلا (2003). داخل ثورة النشر: قصة أدوبي . بيركلي: دار بيتشبيت للنشر. ص 48. ISBN 0-321-11564-3.
- 1 2 بفيفنر، باميلا (2003). داخل ثورة النشر: قصة أدوبي . بيركلي: دار بيتشبيت للنشر. ص 69. ISBN 0-321-11564-3.
- ↑ بيفنر، باميلا (2003). داخل ثورة النشر: قصة أدوبي . بيركلي: دار بيتشبيت للنشر. ص 53. ISBN 0-321-11564-3.
- ↑ بورنيل، جيري (ديسمبر 1987). "لعبة الصدفة القديمة" . بايت . المجلد 12، العدد 14. الصفحات 199-212 . تم الاطلاع عليه في 28 أبريل 2026 .
- 1 2 3 "الاختلافات بين مستويات Adobe PostScript 1 و2 و3" . ThoughtCo . تم الاطلاع عليه بتاريخ 4 مارس 2025 .
- ↑ "معلومات عامة عن PostScript 3" . أدوبي . 4 يونيو 2002. مؤرشف من الأصل في 24 يونيو 2003. تم الاطلاع عليه في 27 أبريل 2026 .
- ↑ "رسومات المصفوفة النقطية" . www.ibm.com . تم الاطلاع عليه بتاريخ 4 مارس 2025 .
- ↑ "انتهاء دعم خطوط PostScript Type 1" . أدوبي . تم الاطلاع عليه في 2 مارس 2024 .
- ↑ نيوديكر، توم (16 سبتمبر 1985). "برنامج بيج ميكر يُكرّس كل جهوده للنشر" . إنفوورلد . المجلد 7، العدد 37. الصفحات 41-42 . تاريخ الاسترجاع: 12 سبتمبر 2025 .
- ↑ IPS PS3 ، CSR، مؤرشف من الأصل بتاريخ 2012-06-07 ، تم استرجاعه بتاريخ 2026-04-27
- ↑ الفك المفترس ، رسومات عالمية، مؤرشفة من الأصل بتاريخ 2013-02-08 ، تم استرجاعها بتاريخ 2026-04-27
- ↑ "لغات وصف الصفحة: Postscript"، التنسيقات ، الطباعة غير الموثقة، مؤرشف من الأصل (ويكي) بتاريخ 2017-11-05 ، تم استرجاعه بتاريخ 2009-12-15
- 1 2 3 شركة أدوبي سيستمز (1999). مرجع لغة بوست سكريبت (ملف PDF) ( الطبعة الثالثة). ريدينغ، ماساتشوستس: أديسون ويسلي. ISBN 0-201-37922-8OCLC 40543937. مؤرشف (PDF) من الأصل بتاريخ 24-10-2022 . تم الاطلاع عليه بتاريخ 14-08-2022 .
- ↑ دليل مرجع لغة PostScript من شركة Adobe Systems Inc. ، الطبعة الثانية، الملحق G، اصطلاحات هيكلة المستندات - الإصدار 3.0 . Addison Wesley، 1990، ص 611.
للمزيد من القراءة
- شركة أدوبي سيستمز (فبراير 1999) [1985]. دليل مرجعي للغة بوست سكريبت (ملف PDF) (الطبعة الأولى، الإصدار الثالث). شركة أديسون ويسلي للنشر . رقم ISBN 0-201-37922-8تم الاطلاع عليه بتاريخ 14 يوليو 2023 .(ملاحظة: هذا الكتاب ( PLR3 ) بالإضافة إلى الملحق (PDF) ، مؤرشف من النسخة الأصلية (PDF) بتاريخ 2016-03-05 ، تم استرجاعه بتاريخ 2006-04-29)( يُعتبر العمل الذي يُعرّف PostScript 3 بحكم الأمر الواقع، ويُطلق عليه بشكل غير رسمي اسم "الكتاب الأحمر" بسبب غلافه الأحمر.)
- شركة أدوبي سيستمز (1990) [1985]. دليل مرجعي للغة بوست سكريبت ( الطبعة الثانية). شركة أديسون ويسلي للنشر .(ملاحظة: يغطي هذا الإصدار ( PLR2 ) مستوى PostScript 2 ويحتوي أيضًا على وصف لـ Display PostScript، والذي لم يعد يتم مناقشته في الإصدار الثالث.)
- شركة أدوبي سيستمز (1985). دليل مرجعي للغة بوست سكريبت ( الطبعة الأولى). شركة أديسون ويسلي للنشر .(ملاحظة: يغطي هذا الإصدار ( PLR1 ) المستوى 1 من PostScript.)
- غيشكي، تشارلز (1986) [1985]. مقدمة. دليل لغة بوست سكريبت وكتاب طبخ . من إنتاج شركة أدوبي سيستمز (الطبعة 27، أغسطس 1998، الطبعة الأولى). شركة أديسون ويسلي للنشر . ISBN 0-201-10179-39-780201-101799 . تم الاطلاع عليه بتاريخ 27-02-2017 .(ملاحظة: يُطلق على هذا النص التمهيدي اسم "الكتاب الأزرق" بشكل غير رسمي بسبب غلافه الأزرق.)
- تصميم برنامج بلغة PostScript . أنظمة أدوبي . مؤرشف من النسخة الأصلية (ملف مضغوط) بتاريخ 13-06-2011.(ملاحظة: يُطلق على هذا الكتاب اسم "الكتاب الأخضر" بشكل غير رسمي بسبب غلافه الأخضر.)
- تنسيق الخط من النوع 1 (ملف PDF) ، أدوبي، مؤرشف من الملف الأصلي (ملف PDF) بتاريخ 21-03-2015(ملاحظة: يُطلق على هذا الكتاب اسم "الكتاب الأسود" بشكل غير رسمي بسبب غلافه الأسود.)
- مقارنة بين PostScript وPDF ، من إنتاج Adobe، مؤرشف من الأصل بتاريخ 13 أبريل 2016(ملاحظة: مقارنة تمهيدية رسمية بين PS و EPS و PDF.)
- دليل تمهيدي لـ PostScript ، التكرار الذيل
- كاسلمان، ويليام "بيل". الرسوم التوضيحية الرياضية: دليل الهندسة و PostScript (PDF) .
- ريد، جلين (1990). التفكير بلغة بوست سكريبت (ملف PDF) . كولورادو، الولايات المتحدة الأمريكية: أديسون-ويسلي .(ملاحظة: يتوفر شرح مفصل عبر الإنترنت من قِبل المؤلف.)
روابط خارجية
- ملاحظة لاحقة
- شركة أدوبي
- الطباعة الحاسوبية
- لغات البرمجة التي تم إنشاؤها عام 1982
- لغات البرمجة التجميعية
- الوسائط الرقمية
- الطباعة الرقمية
- لغات البرمجة ذات الكتابة الديناميكية
- تنسيقات ملفات مستندات Office
- التنسيقات المفتوحة
- لغات وصف الصفحة
- تقنية الطباعة
- الآلات الافتراضية القائمة على المكدس
- لغات البرمجة الموجهة نحو المكدس
- الاتصالات التقنية
- الرسومات المتجهة
