עודכן לאחרונה: 20 פברואר, 2025

כותרת - PostScript: הסבר ברור

מהו PostScript?

PostScript (PS) הוא שפת תיאור דפים (PDL) שפותחה על ידי Adobe Systems בשנת 1982. היא משמשת בעיקר בהוצאה לאור שולחנית, הדפסה ועיצוב גרפי לתיאור כיצד טקסט ותמונות צריכים להיות מוצגים בדף.

PostScript: תכונות ויישומים

הסבר על PostScript (PS)

PostScript (PS) הוא גם שפת תיאור דפים (PDL) וגם שפת תכנות שהיא דינמית טיפוס ומבוססת מחסנית. הנה מה שזה אומר:

1. מהי שפת תיאור דפים (PDL)?

שפת תיאור דפים מגדירה כיצד גרפיקה וטקסט מופיעים בדף מודפס או במסך. PostScript משמש במדפסות, תוכנות הוצאה לאור, והטיפוגרפיה הדיגיטלית להצגת גופנים, תמונות ופריסות בדיוק.

2. מהי שפת תכנות מבוססת מחסנית?

PostScript משתמשת במחסנית לעיבוד פקודות, כלומר היא פועלת לפי עיקרון אחרון נכנס, ראשון יוצא (LIFO). לדוגמה, כדי לחבר שני מספרים ב‑PostScript, דוחפים אותם למחסנית ואז קוראים למפעיל לעיבוד:

10 20 add

זה דוחף את 10 ו‑20 למחסנית, לאחר מכן פקודת add מוציאה אותם ומדחיפה את התוצאה (30) חזרה למחסנית.

3. טיפוס דינמי

PostScript אינה דורשת הגדרות טיפוס מפורשות. משתנים יכולים להכיל סוגים שונים (מספרים, מחרוזות, מערכים וכו’) ללא טיפוסים מוגדרים מראש.

4. שימושי PostScript

PostScript משמש בעיקר להוצאה לאור שולחנית והוצאה לאור אלקטרונית, כלומר הוא מסייע ביצירה והדפסה של מסמכים באיכות גבוהה עם שליטה מדויקת בגופנים, פריסה וגרפיקה.

5. שפה שלמה בטורינג

היותה שלמה בטורינג משמעותה ש‑PostScript יכולה, בתיאוריה, לבצע כל חישוב עם מספיק זיכרון וזמן. זה אומר שניתן להשתמש בה למשימות תכנות כלליות, לא רק להדפסה.

6. היסטוריה ופיתוח

  • פותחה על ידי Adobe Systems בין 1982 ל‑1984.
  • נוצרה על ידי John Warnock, Charles Geschke, Doug Brotz, Ed Taft, ו‑Bill Paxton.
  • הגרסה האחרונה, PostScript 3, שוחררה ב‑1997 והוסיפה ביצועים משופרים, ניהול צבעים, וכיווץ תמונות.

היסטוריית PostScript

המקורות של PostScript נעים לשנת 1976, כאשר John Gaffney בחברת Evans & Sutherland פיתח רעיונות לשפת תיאור דפים בזמן שעבד על מסד נתונים גרפי. באותו זמן, Xerox PARC פיתחה מדפסות לייזר ונזקקה לתקן להגדרת תמונות דף. הם יצרו תחילה את Press format, שהתפתח לאחר מכן ל‑Interpress בשנת 1978, שפותח על ידי John Gaffney ו‑Martin Newell.

ההתפתחות וההשפעה של PostScript

ב‑1982, John Warnock ו‑Chuck Geschke עזבו את Xerox PARC והקימו יחד Adobe Systems, שם הם, יחד עם Doug Brotz, Ed Taft, ו‑Bill Paxton, פיתחו את PostScript כחלופה פשוטה יותר ל‑Interpress. היא שוחררה באופן מסחרי ב‑1984.

תפקיד Apple בהצלחת PostScript

ב‑1983, Steve Jobs ראה את הפוטנציאל של PostScript עבור ה‑Macintosh ורכש רישיון ממנו מ‑Adobe בתשלום של 1.5 מיליון דולר, ועוד 2.5 מיליון דולר עבור 20% ממניות Adobe. הוא גם ניסה, ללא הצלחה, לרכוש את Adobe. Apple ו‑Adobe עבדו יחד כדי לייעל את PostScript עבור מדפסת LaserWriter של Apple—שושקה ב‑1985—ששיחקה תפקיד מרכזי ב‑מהפכת ההוצאה לאור השולחנית.

הפריצה של Adobe ב‑רינדור גופנים וההינטינג הפכה את PostScript לשימושית גם במדפסות לייזר של Canon ברזולוציה של 300‑dpi. Adobe לא רישמה פטנט על טכנולוגיה זו כדי לשמור עליה כסוד מסחרי.

הירידה והמורשת של PostScript

ב‑שנות ה‑80 וה‑90, PostScript היה בשימוש נרחב במדפסות לייזר, אך דרישות העיבוד הגבוהות והזיכרון הפכו אותו ליקר. כאשר המדפסות הפכו לזולות יותר והמחשבים חזקים יותר, פתרונות מבוססי תוכנה החליפו את העיבוד החומרתי של PostScript. עד 2001, רוב המדפסות הזולות הפסיקו לתמוך ב‑PostScript לטובת טכנולוגיית דיו ורינדור תוכנה.

עם זאת, PostScript עדיין משמשת במדפסות מקצועיות גבוהות, שבהן היא מעבירה את הרינדור מהמחשב למדפסת, משפרת ביצועים. בנוסף, PDF (פורמט מסמך נייד)—צאצא ישיר של PostScript—הפך לסטנדרט להפצת מסמכים אלקטרוניים.

רמות PostScript

PostScript התפתחה דרך רמות שונות, שכל אחת משפרת תפקוד, ביצועים ויעילות. קיימות שלוש רמות מרכזיות:

התפתחות רמות PostScript

1. PostScript Level 1 (1984)

הגרסה המקורית של PostScript (Level 1, שוחררה ב‑1984) אפשרה למשתמשים לשלוט בדיוק בפריסת הדף עם טקסט, גרפיקה, ותמונות, והייתה בשימוש במדפסות לייזר מוקדמות. עם זאת, היא הייתה מוגבלת לגווני אפור, עיבדה גרפיקה מורכבת לאט, וייצרה קבצים גדולים עקב חוסר בכיווץ תמונות.

  • הגרסה המקורית, שוחררה על ידי Adobe ב‑1984.
  • סיפקה תיאורי דף בלתי תלויי מכשיר עבור טקסט, גרפיקה ותמונות.
  • אפשרה שליטה מדויקת בטיפוגרפיה ובפריסה.
  • הייתה בשימוש במדפסות PostScript הראשונות, כולל Apple LaserWriter.
  • מגבלות:
    • חסרה תמיכה בצבע (רק גווני אפור).
    • עיבוד איטי בגרפיקה מורכבת.
    • אין כיווץ תמונות מובנה, מה שמוביל לקבצים גדולים.

2. PostScript Level 2 (1991)

הגרסה PostScript Level 2 (1991) שיפרה את הביצועים, הוסיפה הדפסת צבע, כיווץ קבצים, שיפרה גופנים, והאיצה את עיבוד הגרפיקה המורכבת.

  • שיפרה ביצועים ויעילות זיכרון.
  • הוסיפה תמיכה בהדפסת צבע (CMYK וצבעי ספוט).
  • הציגה כיווץ נתונים להפחתת גודל הקבצים.
  • אפשרה ניהול גופנים משופר (גופני Type 1 ו‑Type 3).
  • הציגה Pattern, Forms, ו‑Composite Fonts לשיפור רינדור הטקסט.
  • עיבוד מהיר יותר של גרפיקה מורכבת בהשוואה ל‑Level 1.

3. PostScript 3 (1997)

הגרסה PostScript 3 (1997) הייתה עדכון משמעותי עם רינדור מהיר יותר, צבע משופר, תמיכה בהדפסה ברזולוציה גבוהה מאוד, גופנים משופרים, והשפעות גרפיות משופרות. למרות שהיא פחות נפוצה היום, היא עדיין משמשת בחלק מההדפסה המקצועית הגבוהה.

  • שדרוג משמעותי עם רינדור יעיל יותר.
  • ניהול צבע משופר עם פרופילי ICC.
  • תמיכה משופרת בהדפסה ברזולוציה גבוהה (מעל 2400 dpi).
  • ניהול גופנים טוב יותר, כולל תמיכה ב‑Multiple Master fonts.
  • אפקטים של שקיפות והצללה משופרים (רינדור גרפי טוב יותר).
  • הוחלפה בעבודות מבוססות PDF בפרסום מודרני אך עדיין משמשת במדפסות מקצועיות גבוהות.

PostScript בהדפסה

לפני PostScript:

  • המדפסות הראשוניות הדפיסו רק תווים טקסטואליים, בדרך כלל בASCII, עם גליפים קבועים (למשל, מקשי מכונת כתיבה, רצועות מתכת, או לוחות אופטיים).
  • מדפסות נקודות-מטריצה הציגו גופנים ניתנים לבחירה והעלאת גליפים מותאמים, יחד עם גרפיקה רסטרית בסיסית באמצעות רצפי escape, אך דרשו מנהלי התקן ספציפיים לכל דגם מדפסת.
  • גרפיקה וקטורית טופלה על ידי פלטרים (למשל, מבוססי HPGL), אך אלו היו איטיים, יקרים, ומוגבלים לגרפיקה.

הדפסת PostScript:

  • מדפסות לייזר שילבו את היתרונות של מדפסות נקודות-מטריצה ופלטרים, והאפשרו טקסט וגרפיקה באיכות גבוהה באותה עמוד.
  • PostScript איחדה את שליטת ההדפסה עם שפה יחידה, בלתי תלויה במכשיר, שפעלה על פני מדפסות ותוכנות שונות.
  • בשונה משפות שליטה מסורתיות, PostScript היא שפת תכנות מלאה, המאפשרת רינדור מדויק של המסמך.
  • רסטריזציה בזמן אמת: PostScript מגדירה את כל המרכיבים (כולל טקסט) באמצעות קווים ישרים ועקומות בייזר, מה שמאפשר הגדלה, סיבוב והמרות חלקות.
  • מפרשי PostScript, הנקראים Raster Image Processors (RIPs), ממירים את ההוראות לנקודות הדרושות לתוצר הסופי.

טיפול בגופני PostScript

מערכת הגופנים של PostScript משתמשת בצורות גרפיות בסיסיות ליצירת גליפים ניתנים להרחבה, מה שמאפשר שינוי גודל הגופנים ללא אובדן איכות. ה‑hinting של הגופנים משמש כדי להבטיח שגופנים יישארו ברורים וקריאים גם בגודל קטן או ברזולוציה נמוכה. גופני PostScript נשמרים במגוון פורמטים מיוחדים של “Type”, שכל אחד מציע יכולות שונות.

התפתחות גופני PostScript

מערכת גופני PostScript

  • משתמשת בפרימיטיבים גרפיים כדי להגדיר גליפים ניתנים להרחבה.
  • ה‑hinting של הגופנים מבטיח רינדור באיכות גבוהה, גם ברזולוציות נמוכות.
  • גופנים נשמרו בפורמטים מיוחדים של Type עם יכולות שונות.

סוגי גופני PostScript

PostScript הציעה פורמטים שונים של גופנים. גופני Type 1 האיכותיים של Adobe נרשמו בתחילה, בעוד גופני Type 3, שחסרה בהם ה‑hinting הסטנדרטי, שימשו אחרים. פורמטים Type 2 ו‑CFF הקטינו את גודל הקבצים וסללו את הדרך ל‑OpenType. גופני CID-Keyed תמכו במערכות תווים אסיאתיות גדולות ויכלו להשתמש במבני Type 1 או Type 2.

  • Type 1 Font (T1):

    • פורמט גופן קנייני דחוס ומוצפן של Adobe.
    • משמש לגופנים באיכות גבוהה עם hinting.
    • Adobe רישמה בתחילה את טכנולוגיית Type 1 בתשלום.
  • Type 3 Font (T3):

    • אפשרה את כל תכונות PostScript אך חסרה hinting סטנדרטי.
    • שימשה על ידי אלו שלא יכלו לרשום את טכנולוגיית Type 1.
  • Type 2 Font (T2) & Compact Font Format (CFF):

    • הקטינה את גודל קובץ הגופן ליעילות.
    • הפכה לבסיס של גופני OpenType.
  • CID-Keyed Fonts:

    • עוצבה עבור מערכות תווים אסיאתיות (CJK) עם מרחבי קידוד גדולים.
    • יכולה להשתמש בType 1 או Type 2 למבנים שונים של גופנים.

התפתחות פורמט הגופנים

אפל יצרה גופני TrueType כדי להתחרות בגופני גופנים של Adobe. זה גרם ל‑Adobe לשתף כיצד הגופנים שלהם פועלים. מאוחר יותר, Adobe ו‑Microsoft הצטרפו יחד כדי ליצור גופני OpenType, ששילבו את הטוב משניהם והפכו לפורמט הגופנים הסטנדרטי שבו אנו משתמשים היום.

  • TrueType (1991):

    • פותחה על ידי Apple כמתחרה למערכת של Adobe.
    • הכריחה את Adobe לפרסם את המפרט של Type 1 לשימוש ציבורי.
  • OpenType (Late 1990s):

    • פותחה במשותף על ידי Adobe ו‑Microsoft.
    • איחדה את הפונקציונליות של Type 1 ו‑TrueType.
    • הפכה לסטנדרט התעשייה לגופנים מודרניים.

סיום התמיכה ב‑Type 1

Adobe סיימה באופן רשמי תמיכה בגופני Type 1 בינואר 2023 לטובת OpenType.

פורמט מסמך נייד (PDF) ו‑PostScript

PDF מול PostScript

PDF ו‑PostScript הם שני פורמטים של מסמכים שמייצרים פלט מודפס זהה מכיוון שהם משתמשים באותו מערכת גרפית בסיסית. ההבדל המרכזי נמצא במבנה שלהם: PostScript היא שפת תכנות מלאה, המאפשרת פעולות דינמיות, בעוד ש‑PDF הוא פורמט יותר ממוקד, סטטי, שנועד לצפייה וניווט יעילים. למרות ההבדלים, ניתן להמיר קבצים בין שני הפורמטים.

הבנת PostScript ו‑PDF
  • מודל הדמיה דומה – גם PDF וגם PostScript משתמשים באותו מערכת גרפית, מה שמבטיח פלט מודפס זהה.
  • מה ההבדל?
    • PostScript היא שפת תכנות שלמה בטורינג המסוגלת לפעולות דינמיות.
    • PDF הוא מבנה נתונים סטטי, מותאם לגישה וניווט יעילים, מה שהופך אותו לטוב יותר לצפייה אינטראקטיבית.
  • המרה הדדית – ניתן להמיר PDF ל‑PostScript, ולהפך.

שפת PostScript

PostScript היא שפת תכנות מבוססת מחסנית עם טיפוס דינמי, דומה ל‑Forth אך עם מבני נתונים בסגנון Lisp. היא משתמשת ברשומה הפולנית הפוכה (Reverse Polish Notation), הדורשת ניהול זיכרון קפדני. PostScript משתמשת במערכים ומילונים, מטפלת בטיפוס בזמן ריצה, וכוללת איסוף זבל. תגובות מתחילות ב-"%", ותוכניות בדרך כלל מתחילות ב-"%!PS".

  • שלמה בטורינג & מבוססת מחסנית – דומה ל‑Forth, אך עם טיפוס דינמי ומבני נתונים בסגנון Lisp.
  • רשומה פולנית הפוכה (RPN) – אופרטורים פועלים על מחסנית, דורשים ניהול קפדני.
  • ניהול זיכרון
    • משתמשת בזיכרון תחום.
    • הוצגה איסוף זבל ב‑PostScript Level 2.
  • מבני נתונים
    • משתמשת במערכים ומילונים.
    • אין הצהרות טיפוס פורמליות — הטיפוס מנוהל בזמן ריצה.
  • תגובות & מבנה תוכנית
    • % מציין תגובה.
    • תוכניות בדרך כלל מתחילות ב‑"!%PS" לציון פורמט PostScript.

איך משתמשים ב‑PostScript

  • בדרך כלל נוצר על ידי תוכנה, ולא נכתב ידנית.
  • ניתן להשתמש בו כשפת תכנות מלאה לאוטומציה.
  • מתורגמת על ידי מדפסות (RIPs) או צופים על המסך.

דוגמה לקובץ PostScript פשוט

הנה דוגמה פשוטה לקובץ PostScript (.ps) שמדפיס “Hello, World!” על דף:

%!PS
/Times-Roman findfont 24 scalefont setfont
100 700 moveto
(Hello, World!) show
showpage

הסבר:

  1. %!PS → מזהה את הקובץ כמסמך PostScript.
  2. /Times-Roman findfont 24 scalefont setfont → בוחר את הגופן Times-Roman בגודל 24.
  3. 100 700 moveto → מזיז את הסמן לקואורדינטות (100, 700) על הדף.
  4. (Hello, World!) show → מדפיס “Hello, World!” במיקום שצוין.
  5. showpage → מודיע למדפסת להדפיס את העמוד.

ניתן לשמור זאת כ‑hello.ps ולפתוח אותו עם צופה PostScript (למשל, GSview, Ghostscript) או לשלוח אותו ל‑מדפסת PostScript.

כותרת - Hello.ps לאחר רינדור

רשימת תוכנות להצגת PostScript

צופי ופרשני PostScript

  1. Ghostscript (Open-source) – מפרש פופולרי ל‑PostScript ול‑PDF.
  2. GSview – ממשק גרפי ל‑Ghostscript.
  3. MuPDF – צופה קל משקל התומך ב‑PostScript וב‑PDF.
  4. Xpdf – צופה PDF קוד פתוח עם תמיכה חלקית ב‑PostScript.
  5. Evince – צופה מסמכים של GNOME שיכול לטפל בקבצי PostScript.
  6. Okular – צופה מסמכים של KDE עם תמיכה ב‑PostScript.
  7. Apple Preview – צופה מובנה ב‑macOS התומך ב‑PostScript וב‑PDF.

מדפסות ו‑Rasterizers של PostScript

  1. Adobe Acrobat Distiller – ממיר PostScript ל‑PDF באיכות גבוהה.
  2. CUPS (Common Unix Printing System) – מנהל הדפסה של PostScript ב‑Unix/Linux.
  3. PPR (Printer Production Release) – תורד (spooler) ו‑renderer של PostScript.

תוכנות גרפיקה וקטורית ו‑DTP

  1. Adobe Illustrator – יכול לפתוח ולערוך קבצי PostScript.
  2. CorelDRAW – תומך ב‑PostScript לגרפיקה וקטורית.
  3. Scribus – תוכנת הוצאה לאור שולחנית קוד פתוח עם תמיכה ב‑PostScript.
  4. Inkscape – יכול לייבא/לייצא PostScript (דרך Ghostscript).

כלי שורת פקודה והמרה

  1. ps2pdf (חלק מ‑Ghostscript) – ממיר PostScript ל‑PDF.
  2. pstopdf (כלי שורת פקודה של macOS) – ממיר PostScript ל‑PDF.
  3. ImageMagick – יכול לרנדר קבצי PostScript לתמונות.

שאלות נפוצות

שאלה 1 - מהם קבצי PS וכיצד פותחים אותם?

תשובה:

PS הוא קיצור של PostScript — קובץ של שפת תיאור דפים המשמש בעיקר למטרות הדפסה. קבצי PS נועדו להכין גרפיקה דיגיטלית וטקסט להדפסה באיכות גבוהה. ניתן לשלוח קובץ PS ישירות למדפסת ללא פתיחה באפליקציה ספציפית. עם זאת, קבצי PS אינם גמישים במיוחד, מכיוון שיש רק כמה תוכנות שיכולות לפתוח אותם ישירות.

מאחר ש‑PS הוא פורמט ישן, רבים בוחרים להמיר קבצי PS ל‑PDF, שהינם קלים יותר לצפייה ושיתוף בין מכשירים שונים.