%!PS-Adobe 3.0 (Zeichensatz_-_WINDOWS-1252.ps) run % Zeichensatz, mit Umlauten und Sonderzeichen, importieren %------------------------------------------------------------------------------% %%% wichtige Einstellungen für die richtige Skalierung (Basisdefinitionen) /dpi {127} def % Auflösung in DPI (z.B.: 127, 381, 254, 508) /x-a4 {210} def % Seitenbreite in mm (A4 = 210 mm) /y-a4 {297} def % Seitenhöhe in mm (A4 = 297 mm) %/massstab {1} def % Maßstab (1:1) /massstab {2} def % Maßstab (1:2) %/massstab {3} def % Maßstab (1:3) %==============================================================================% %%% Anfang - weitere Definitionen /mm {massstab mul} def % Millimeter berechnen % Rand auf dem A4-Blatt definieren - mein Drucker kann nur den Bereich innerhalb dieses Rahmens drucken /p-rand-links {10 mm} def % Abstand: linker Rand /p-rand-unten {13 mm} def % Abstand: unterer Rand /p-rand-rechts {x-a4 mm p-rand-links sub} def % Position: rechter Rand /p-rand-oben {y-a4 mm p-rand-unten sub} def % Position: oberer Rand % Position der Legende /legende-links {p-rand-links 106 mm add} def /legende-unten {p-rand-unten 2 mm add} def /Helvetica-iso1252 findfont % Schriftart einstellen 4 mm scalefont setfont % Schriftgröße: 4 mm /zeile {4 mm mul} def % Zeilenhoehe: 4 mm 0 setgray % Schrift- bzw. Linienfarbe (0=schwarz / 0.5=grau / 1=weiß) %%% Ende - weitere Definitionen %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%% Seitengröße festlegen % Skalierung der Skizze - Seitenformat, bei gegebener Auflösung in Pixel, berechnen /a4x {x-a4 dpi mul 25.4 div} def /a4y {y-a4 dpi mul 25.4 div} def << /PageSize [ a4x a4y ] >> setpagedevice % braucht zwingend, z.B.: "gs -dPSFitPage -g1050x1485 -r127" dpi 25.4 div massstab div dup scale % damit alles automatisch im richtien Maßstab angezeit wird %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%% Beginn der Zeichnung newpath % Ränder bzw. Rahmen zeichnen .3 mm setlinewidth % Linienbreite: 0,3 mm p-rand-links p-rand-unten moveto % Rahmen in Millimeter: X:Y unten links p-rand-links p-rand-oben lineto % Rahmen in Millimeter: linker Rand p-rand-rechts p-rand-oben lineto % Rahmen in Millimeter: oberer Rand p-rand-rechts p-rand-unten lineto % Rahmen in Millimeter: rechter Rand p-rand-links p-rand-unten lineto % Rahmen in Millimeter: unterer Rand %------------------------------------------------------------------------------% %%% Umlaute & Sonderzeichen legende-links p-rand-oben moveto 0 1 zeile neg rmoveto (Umlaute: Ää Öö Üü) show % Umlaute legende-links p-rand-oben moveto 0 2 zeile neg rmoveto (Sonderzeichen: & ß € µ é è ¹ ² ³ ¼ ½) show % Sonderzeichen closepath % diese Zeichnung beenden stroke % alle aufgeführten Zeichenkomandos jetzt ausführen %==============================================================================% newpath % neue Zeichnung beginnen % Kreis zeichnen - mit Millimeterangeben, dann skaliert die Größe NICHT mit dem Maßstab 150 mm 210 mm moveto % zur 3-Uhr-Position vom Kreis gehen 100 mm 210 mm 50 mm 0 360 arc % einen Vollkreis, links rum zeichnen % 3-Uhr-Position des Kreises: 150 mm von links und 210 mm von unten % Mittelpunkt des Kreises: 100 mm von links und 210 mm von unten % Radius vom Kreis: 50 mm % Startposition, um den Kreis zu zeichnen: 0° % Kreisbogen, der gezeichnet werden soll: 360° (links rum) closepath % diese Zeichnung beenden %------------------------------------------------------------------------------% %%% Füllen - Anfang gsave % Grafic-Save (sichern) 0.5 setgray % Füllfarbe festlegen fill % geschlossenes Objekt, in dieser Zeichnung, ausfüllen grestore % Grafic-Restore (zurückholen) %4 setlinewidth %0.75 setgray %%% Füllen - Ende %------------------------------------------------------------------------------% stroke % alle aufgeführten Zeichenkomandos jetzt ausführen %==============================================================================% newpath % neue Zeichnung beginnen .2 setlinewidth % Linienbreite % Viereck zeichnen - ohne Millimeterangeben, dann skaliert die Größe mit dem Maßstab 100 100 moveto % gehe zum Startpunkt 0 50 rlineto % zeichne eine Linie nach oben 50 0 rlineto % zeichne eine Linie nach rechts 0 -50 rlineto % zeichne eine Linie nach unten -50 0 rlineto % zeichne eine Linie nach links closepath % diese Zeichnung beenden %------------------------------------------------------------------------------% %%% Füllen - Anfang % Viereck ausfüllen gsave % Grafic-Save (sichern) 0.75 setgray % Füllfarbe festlegen fill % geschlossenes Objekt, in dieser Zeichnung, ausfüllen grestore % Grafic-Restore (zurückholen) %%% Füllen - Ende %------------------------------------------------------------------------------% stroke % alle aufgeführten Zeichenkomandos jetzt ausführen %==============================================================================% newpath % neue Zeichnung beginnen .1 setlinewidth % Linienbreite % 3 ineinander liegende Kreise zeichnen - ohne Millimeterangeben, dann skaliert die Größe mit dem Maßstab % 1. Kreis - größter, ganz außen 125 100 moveto % zur 3-Uhr-Position vom Kreis gehen 100 100 25 0 360 arc % einen Vollkreis, links rum zeichnen % 2. Kreis - mittlerer, in der Mitte 124.5 100 moveto % zur 3-Uhr-Position vom Kreis gehen 100 100 24.5 0 360 arc % einen Vollkreis, links rum zeichnen % 3. Kreis - kleinster, innen 124 100 moveto % zur 3-Uhr-Position vom Kreis gehen 100 100 24 0 360 arc % einen Vollkreis, links rum zeichnen %------------------------------------------------------------------------------% %%% Legende legende-links legende-unten moveto % in Millimeter 0 1 zeile rmoveto (Maßstab: 1:) show massstab 2 string cvs show % "2 string" bedutet, dass in "massstab" ein String mit 2 Zeichen st eckt (das kann auch größer angegeben werden) %%% Auflösung legende-links legende-unten moveto (A4 / ) show dpi 8 string cvs show ( dpi / ) show a4x 8 string cvs show ( x ) show a4y 8 string cvs show closepath % diese Zeichnung beenden stroke % alle aufgeführten Zeichenkomandos jetzt ausführen %==============================================================================% newpath % neue Zeichnung beginnen %------------------------------------------------------------------------------% %%% 1. Maßlinien, die immmer im Maßstab 1:1 sind und nicht skalieren p-rand-rechts 48 mm sub p-rand-unten 7 mm add moveto currentpoint /y-start-1 exch def /x-start-1 exch def %(X: ) show %x-start-1 8 string cvs show %( / Y: ) show %y-start-1 8 string cvs show /Counter y-start-1 def /Inc 10 mm def % mit "mm"-Angabe, damit es nicht skaliert /Max p-rand-oben Inc 3 mul sub def { x-start-1 Counter moveto 2 mm 0 rlineto Counter massstab div 8 string cvs show % Counter muß durch massstab dividiert werden, damit die Millimeterangaben auch stimmen ( mm) show x-start-1 Counter moveto 0 10 mm rlineto /Counter Counter Inc add def Counter Max ge { exit } if } loop %------------------------------------------------------------------------------% %%% 2. Maßlinien, die sich dem Maßstab anpassen und skalieren, sowie die Länge dem Maßstab anpassen x-start-1 21 mm add p-rand-unten 7 mm add moveto currentpoint /y-start-2 exch def /x-start-2 exch def %(X: ) show %x-start-2 8 string cvs show %( / Y: ) show %y-start-2 8 string cvs show /Counter y-start-2 def /Inc 10 def % ohne "mm"-Angabe, damit es skaliert /Max p-rand-oben Inc 3 mul sub def { x-start-2 Counter moveto 2 mm 0 rlineto Counter 8 string cvs show ( mm) show x-start-2 Counter moveto 0 10 rlineto /Counter Counter Inc add def Counter Max ge { exit } if } loop %------------------------------------------------------------------------------% closepath % diese Zeichnung beenden stroke % alle aufgeführten Zeichenkomandos jetzt ausführen %%% Ende der Zeichnung %------------------------------------------------------------------------------% showpage % Ausgabe der fertigen Seite