Matrisen och sidan forts.



Relevanta dokument
Exempel add 2 div Stackens successiva utseende med toppen åt höger:

Metapost. /default/texmf/doc/metapost/base> och i Knuths Metafont-bok. IPLab, Nada, KTH Staffan Romberger

Objektorienterad programmering D2

Lathund för att arbeta med pdf

Laborationer i kursmomentet Datoranvändning E1. Laboration nr 5: Mer om FrameMaker

Hjälpmedel för kompilatorkonstruktion, DVB004

Guide för pdf-formulär

Skapa en pdf-fil med hög kvalitet, lämpad för tryckning Skapa pdf-filen i en PC med Windows Skapa pdf-filen i en Mac

Föreläsning 6: Introduktion av listor

19. Skriva ut statistik

Datorlära 3 Octave Workspace ovh mijlö Skriva text på skärmen Värdesiffror Variabler och typer Strängar Makro Vektorer

UMEÅ UNIVERSITET Datavetenskap. Praktiska uppgifter. Metoder och verktyg för datavetare Ht07

För att skriva data till skärmen ( konsolen) används objektet System.out tillsammans med metoden println eller print.

Grundläggande programmering med C# 7,5 högskolepoäng

Objektorienterad programmering

Att lyckas med utskrifter

Svar och arbeta vidare med Student 2008

Programmeringsuppgifter 1

Tentaupplägg denna gång

Handicom. Symbol for Windows. Blisseditor. Version 3.4

Tentamen OOP

Tentaupplägg denna gång

Programmering för språkteknologer II, HT2014. Rum

Vektorgeometri för gymnasister

varandra. Vi börjar med att behandla en linjes ekvation med hjälp av figur 7 och dess bildtext.

Introduktion till programmering. Standardfunktioner. Vad används datorer till? Standardfunktioner. Föreläsning 2. Prelude. $ ghci...

Tentamen Grundläggande programmering

Introduk+on +ll programmering i JavaScript

TDDC74 Programmering, abstraktion och modellering DUGGA 2

Tecken. char. char ch = A ; sizeof(char) = 1 byte (ej 16-bitars tecken som i Java) char namn[]= "Nils"; // längd = 5 bytes

Grunderna i SQL del 1

DOPmatematik. Ett dataprogram för lärare. som undervisar i matematik. (Lågstadiet) Mellanstadiet. Högstadiet. Gymnasiet. Vuxenutbildning.

Tentamen TEN1 HI

Sätt att skriva ut binärträd

Datatyper och kontrollstrukturer. Skansholm: Kapitel 2) De åtta primitiva typerna. Typ Innehåll Defaultvärde Storlek

Repetition av filer Grundkurs i programmering med Python

Inledande programmering med C# (1DV402) 27+15=42 1 (22)

Föreläsningsanteckningar, Introduktion till datavetenskap HT S4 Datastrukturer. Tobias Wrigstad

Programmering A. Johan Eliasson

Fiery Print Controller MX-PEX1/MX-PEX2. Skriva ut från Mac OS

Påminnelse: en datatyp för bilder. Programmering. En datatyp för bilder. Spegelbild. hh.se/db2004

Adobe. InDesign CS2. Grundkurs.

OOP Objekt-orienterad programmering

UMEÅ UNIVERSITET Datavetenskap. Praktiska uppgifter. Metoder och verktyg för datavetare Ht04

Introduktion till algoritmer - Lektion 3 Matematikgymnasiet, Läsåret Lektion 3

16 Programmering TI -86 F1 F2 F3 F4 F5 M1 M2 M3 M4 M5

CD-ORD Hjälp CD-ORD 8. Elevdata AB

Svenska fonetiska tecken med Word och Unicode

a), c), e) och g) är olikheter. Av dem har c) och g) sanningsvärdet 1.

Övningar Dag 2 En första klass

Funktioner och grafritning i Matlab

ClaroRead Plus Mac Manual. Artikel.nr

Enklast att skriva variabelnamn utan ; innehåll och variabelnamn skrivs ut

Snabbhjälp. SkanRead 3.1

PIM Skriva

Exempel på listor (klassen ArrayList). Ett exempel med fält. Avbildning är en speciell typ av lista HashMap.

Grunderna i stegkodsprogrammering

Introduktion till programmering SMD180. Föreläsning 2: Variabler, uttryck och satser

Lösningar till tentauppgifterna sätts ut på kurssidan på nätet idag kl 19. Omtentamen i Programmering C, 5p, fristående, kväll,

Affina avbildningar och vektorgrafik

Introduktion till integrering av Schenkers e-tjänster. Version 2.0

HÖGSKOLAN I KALMAR Institutionen för teknik Erik Loxbo LABORATION I PLC-TEKNIK SEKVENSSTYRNING AV TRANSPORTBAND SIMATIC S7 - GRAPH

Med CW DoorDesign registreras all beslagning på dörren. För att hantera låsning och låsning mot dörr se manualen för CW KeyDesign.

UPPGIFT 2 KVADRATVANDRING

Omtenta, Programmeringsteknisk översiktskurs, VT06

Föreläsning 2 Objektorienterad programmering DD1332. Typomvandling

Din manual SHARP MX-M260

Hantera informationspaket i system för bevarande

I högskolans nätverk hittar du programmet PowerPoint genom Startmenyn, Huvudmeny XP, Kontorsprogram, Microsoft Office, Microsoft PowerPoint.

Vem är vem på kursen. Objektorienterad programvaruutveckling GU (DIT011) Kursbok Cay Horstmann: Big Java 3rd edition.

Redovisa i e-möten via Adobe Connect

Problem: BOW Bowling. Regler för Bowling. swedish. BOI 2015, dag 1. Tillgängligt minne: 256 MB

Partiklars rörelser i elektromagnetiska fält

Föreläsning 3.1: Datastrukturer, en översikt

Survey&Report steg för steg: Skapa rapport

CdsComXL. Excel-tillägg för hantering och analys av CDS-data. ComXL-020/S, Stråk Stråk Stråk Stråk

Möteshandlingar via ipad

Programmeringsteknik med C och Matlab

Sockets: server. with Ada.Command_Line; use Ada.Command_Line; with Ada.Exceptions; use Ada.Exceptions; with Ada.Text_IO; use Ada.

WordRead Plus för Mac

Webb: Tel: Utbildning i EpiServer för Konstfack.

Hämta hem 2005 års installationspaket från Skatteverkets hemsida:

Föreläsning 4: Poster

Tentamen DE12, IMIT12, SYST12, ITEK11 (även öppen för övriga)

RödGrön-spelet Av: Jonas Hall. Högstadiet. Tid: minuter beroende på variant Material: TI-82/83/84 samt tärningar

6 Rekursion. 6.1 Rekursionens fyra principer. 6.2 Några vanliga användningsområden för rekursion. Problem löses genom:

Programmering, grundkurs, 8.0 hp, Elektro, KTH, hösten 2010

1 Skapa Tabell Skapa Relationer Redigera Relationer Redigera Fält i Tabell Lägga till Poster i Tabell...

Rita med ritstift. Raka banor Klicka med Ristiftet vid varje hörn.

Design och underhåll av databaser

Introduktion till Matlab

Kapitel 15: Data/Matrix Editor

Mattestegens matematik

Trädportalen.se. Användarhandledning för rapportsystemet för skyddsvärda träd

Adobe Acrobat 7.0. Få jobbet gjort med kraftfulla intelligenta dokument

Rolladministration i PaletteArena 5.3

Översikt 732G11 PROGRAMMERING 1. Personal. Kursens mål. Litteratur. Kursens innehåll

ALEPH ver. 16 Sökning

Övningsuppgift 8. ArchiCAD 16. Eget Bibliotek ! Med kopieringsrätt för Peder Skrivares skola, Varberg

AB2.1: Grundläggande begrepp av vektoranalys

Transkript:

Postscript Postscript är ett»sidbeskrivningsspråk». Vissa operationer påverkar»aktuell sida», en bitkarta. När en sida är färdig sänder operatorn showpage sidan till tryckverket och aktuell sida återställs. Postscript är text som lätt kan överföras mellan program och datorer och också kan läsas av människor. Postscript-programmet interpreteras normalt av en dator i eller vid utskriftsutrustningen. Postscript Language: Reference Manual second edition (Addison & Wesley) 1990. Definition av den nya utvidgade versionen av Postscript

Postscript forts. Postscript har en lång historia med rötter från Ivan Sutherland vid Evans and Sutherland via John Warnock och John Gaffney vid The ES Design System. John W flyttade till Xerox PARC 1978 och skapade där tillsammans med Martin Newell och Chuck Geschke JAM (John and Martin?) 1981. De gjorde sedan drivrutiner till många av Xerox laserskrivare. Steg mot enhetsoberoende gjordes med Press 1982 och med Interpress 1985. Interpress hade ungefär samma funktioner som tidig Postscript men binär lagring. Xerox ville inte släppa Interpress fritt. John W, Chuck G bildade tillsammans med Dough Brotz Adobe 1984 och skapade där Postscript.

Postscript forts. Ett viktigt steg är att Apple baserade sina laserskrivare på Postscript Idag använder nästan alla laserskrivare och fotosättare samt många skärmhanterare PS.

Matrisen och sidan Postscript-dokumentet beskriver en följd sidor i form av ett program. Programmet interpreteras och ger upphov till sidbeskrivningar i form av (bit-)matriser som styr ett tryckverk (xerografiskt eller fotografiskt). Detta är relativt enkelt om hela matrisen kan lagras. (Ett uppslag 500 mm 700 mm i 2 500 punkter per tum i fyra färger kräver 1,7 Gbyte.) eller om interpreteringen kan göras i utskriftens hastighet. Annars görs utskriften i»band» och stoppas och startas däremellan med risk för synliga skarvar.

Matrisen och sidan forts. Dokumentet passerar många stadier: tillämpningen har internt format tillämpningen skapar systemanpassat format (QuickDraw) drivrutinen skapar ett Postscript-dokument Postscript-dokumentet köas och kanske också transformeras (sortering, utskjutning o.d.) Postscript-programmet interpreteras och ger någon intern struktur av kommandon som ska påverka matrisen (ev. sorterade) en matris genereras matrisen ger upphov till styrsignaler till tryckverket den tryckta sidan kommer ut

Postscript-programmering När behöver man kunna Postscript? Engångsjobb för speciella effekter Manuell modifiering av programgenererad Postscript Postscript-transformerare Drivrutin (översättare från någon representation till Postscript) Postscript-interpretator

Begrepp i Postscript Aktuell sida trycks med showpage. De flesta geometriska former konstrueras i två steg: Först beskriver man konturer (path) Konturer kan målas med angiven pensel och färg Figur kan fyllas med angiven färg Konturer byggs av räta linjer, cirkelbågar och kubiska splines Färg kan vara gråton eller kulör Tvåtonsbilder, gråtonsbilder och färgbilder kan överföras Beskrivning av former underlättas av att man lätt kan ändra koordinatsystemet.

begrepp i Postscript forts. Initialt är origo i nedre vänstra hörnet, x åt höger, enheten 1/72 inch Koordinatsystemet kan flyttas, skalas, vridas och skjuvas (med transformationsmatris för»homogena koordinater») Postscript är stackorienterat. Operander läggs på stacken. Operatorer tar argument från stacken och lägger resultat på stacken samt har ev. bieffekter. Datatyper integer, real, boolean, array, string, name, dictionary, operator, file, mark, null, save, fontid

begrepp i Postscript forts. 40 60 add 2 div Stackens successeiva utseende: 40 40 60 100 100 2 50 /average {add 2 div} def 40 60 average average average {add 2 div} Operatorn def gör att proceduren {add 2 div} lagras under namnet average i aktuell symboltabell

begrepp i Postscript forts. Med x y på stacken ger 180 mul cos exch 180 mul cos add 2 div 0,5(cos(180x)+cos(180y)) /box{ 0 1 rlineto 1 0 rlineto 0 1 rlineto closepath} def 72 72 scale 2 4.5 moveto box 3 73 div setlinewidth stroke 5.5 2 moveto box fill showpage dx dy rlineto closepath x y moveto num setlinewidth stroke fill showpage name value def

Text i Postscript Ett teckensnitt är en symboltabell (dictionary) som bl.a. innehåller en procedur för varje tecken en kodningstabell (encoding vector) som avbildar från 0..255 till namn på en»glyfprocedur» metrikinformation Teckensnitt av typ 1 är kodade, alltid konturer, effektiva typ 3, användardefinierade med glyfprocedurer av godtyckligt slag typ 0, sammansatta av tecken ur andra teckensnitt Grundstorleken är 1 enhet

text i Postscript forts. /smallfont /Times-Roman findfont 9 scalefont def /medfont /Times-Roman findfont 12 scalefont def /bigfont /Times-Roman findfont 18 scalefont def 228 204 moveto bigfont setfont (Architecture) show 228 174 moveto medfont setfont (In the sense in which Architecture) show 228 160 moveto (is an art name findfont dict dict faktor scalefont dict dict setfont string show proc string kshow

text i Postscript forts. Att skapa ett teckensnitt med önskad kodningstabell % skapa en symboltabell som är lika stor % som Helveticas och gör den aktuell /Helvetica findfont dup length dict % i varje element i Helveticas % symboltabell begin % kopiera varje element utom det med % nyckel=fid {1 index /FID ne {def} {pop pop} ifelse} forall % låt Encoding få önskad kodning som värde /Encoding ISOLatin1Encoding def % kopiera aktuell symboltabell till % stacken currentdict % tag bort aktuell symboltabell end /Helvetica-ISOLatin1 exch definefont pop x dup x x length dict dict dict begin dict proc forall key value proc bool true-proc false-proc ifelse currentdict dict end

Litteraler»Litteraler» är skrivsätt för värden. Tecknen ( ) < > [ ] { } / % är specialtecken. Tal 12-98 +17 -.002-1. 0.0 123.6e10 1E-5 8#1777 Vektor [ 123 /abc (xyz) ] Procedur {add 2 div} Symboltabell << \Type \Font \Subtype \Type1 \BaseFont \Helvetica >>

Syntax för strängar string == "(" ch * ")". ch=="\n" "\r" "\t" "\b" "\f" "\\" "\(" "\)" "\" '0 3 oktala siffror' "\" 'radbyte' "\" 'annat tecken' 'tecken utom \'. Sträng i sedecimal form (bas 16) <901fA>

Strukturkonventioner Postscript-dokument bör följa»konventioner för strukturering av Postscript-dokument» (DSC version 3.0). Konventionen innebär att man lägger in rader som inleds med %% och således är kommentarer för interpretatorn men som ger viktig information till program som ska hantera Postscript-dokument. EPSF använder dessa funktioner för att beskriva objekt som kan fogas in i Postscriptdokument. En EPSF (encapsulated Postscript file) ska inledas med: %!PS-Adobe-3.0 EPSF-3.0 %%BoundingBox: llx lly urx ury där ll betyder»lower left» och ur betyder»upper right». Koordinaterna bestämmer klippning och relationen mellan EPS-objektets koordinatsystem och omgivningen. En EPS-fil innehåller ofta en lågupplöst bild att visa på skärmen.

EPSF exempel %!PS-Adobe-3.0 EPSF-3.0 %%BoundingBox: 5 5 105 105 10 setlinewidth 55 10 moveto 45 45 rlineto -45 45 rlineto -45-45 rlineto closepath stroke som bl.a. kan infogas i ett MSWord-dokument:

Exempel på DSC %!PS-Adobe-3.0 %%Pages: 1 %%DocumentFonts: Helvetica CMEX10 %%+ CMMI10 CMR10 CMR7 CMSY7 %%Orientation: Portrait %%Requirements: fold(z-fold) %%Page: i 1 %%BeginPageSetup %%EndPageSetup %%PageTrailer %%EOF

Mer om Postscript På lektionerna gick vi igenom några exempel på programmering i Postscript och detta exempel på att rita en snögubbe. %!PS-Adobe-3.0 EPSF-3.0 %%BoundingBox: 250 330 340 470 /circle {1 1 moveto 0 1 1 0 360 arc} def % Rita en cirkel och förbered för % nästa med 0,2 radie överlapp % och 0,8 så stor /segment {circle gsave 1 setgray fill grestore stroke 0 1.8 translate 0.8 dup scale} def % Ögat är en punkt ritad med bred pensel /eye {0.5 1.5 moveto 0 0 rlineto 0.2 setlinewidth 1 setlinecap stroke} def % Näsan är en fylld triangel /nose {0.9 0.9 moveto 2 1 lineto 0.9 1.1 lineto closepath fill} def /snowman {0 setlinewidth segment segment circle gsave 1 setgray fill grestore stroke nose eye} def % Välj skala så att enheten blir 1 cm % Placera snögubben mitt på % ett A4-papper. Linjebredden skalas % med koordinatsystemet men bredd 0 % tolkas som minsta möjliga synliga % bredd 72 2.54 div dup scale 10 12 translate snowman

Postscript och PDF Elektronisk utgivning och dokumentutbyte via dator Dokumentfångst Dokumentlagring Dokumentöverföring Dokumentpresentation

Dokumentlagring Bild skapad med bildläsare och ev. OCR (automatisk teckenigenkänning) Enbart text Standardiserat dokumentformat (internationell standard eller de factostandard) Företagsspecifikt format Dokumentöverföring Post Datorpostbilaga Fildelning Internet

Dokumentpresentation Webbläsare Ordbehandlare Acrobat Papper

PDF Portable document format,»kompilerad Postscript» Saknar Postscripts programmerbarhet Innehåller anteckningar, länkar, index, frimärksbilder m.m. Flera viktiga delar i Acrobat Reader (läsare) ATM (Adobe type manager) Distiller (Postscript till PDF) Exchange (redigerare för PDF) PDFwriter (»skrivardrivrutin») PDFviewer (webbläsartillägg) Capture (OCR) Catalog (sökordssammanställning)

PDF forts. dokument drivrutin Acrobat PDFWriter Netscape PDFviewer utskrift PS-fil PDF-fil Acrobat Distiller Acrobat Exchange Acrobat Reader

PDF visad med Exchange

Exchange forts.

PDF i Navigator