Presentation is loading. Please wait.

Presentation is loading. Please wait.

Development of PostScript Procedures for Transformations of Digital Typography Ph. D. Sc. Klaudio Pap, Ph. D. Sc. Vilko Žiljak Faculty of Graphic Arts,

Similar presentations


Presentation on theme: "Development of PostScript Procedures for Transformations of Digital Typography Ph. D. Sc. Klaudio Pap, Ph. D. Sc. Vilko Žiljak Faculty of Graphic Arts,"— Presentation transcript:

1 Development of PostScript Procedures for Transformations of Digital Typography Ph. D. Sc. Klaudio Pap, Ph. D. Sc. Vilko Žiljak Faculty of Graphic Arts, Zagreb, Croatia ICTVC Conference, 2007, Thessaloniki

2 Aim to develop designer programmatical modules which has not existed in conventional graphic programs to develop designer programmatical modules which has not existed in conventional graphic programs researching of digital typography transformations which are based on the development of PostScript procedures researching of digital typography transformations which are based on the development of PostScript procedures new possibilities of designing original typographic solutions new possibilities of designing original typographic solutions

3 Em-Square transformations Em-Square transformations according to transformation array (matrix) Em-Square transformations according to transformation array (matrix) Transformation matrix Transformation matrix [a b c d t x t y ] defines linear transformation of the coordinated pair (x,y) into (x’,y’) as follows: x’=ax+cy+t x y’=bx+dy+t y

4 Em-Square transformations By means of transformation matrix also are defined PostScript commands: translate, scale, rotate, scalefont: By means of transformation matrix also are defined PostScript commands: translate, scale, rotate, scalefont: 10 20 translate => [1 0 0 1 10 20] x’=x+10 y’=y+20 x’=x+10 y’=y+20 24 scale=> [2 0 0 4 0 0] x’=2x y’=4y x’=2x y’=4y 45 rotate => [cos(45) sin(45) -sin(45) cos(45) 0 0 ] x’=cos(45)x-sin(45)y y’=sin(45)x+cos(45)y x’=cos(45)x-sin(45)y y’=sin(45)x+cos(45)y 30 scalefont=> [30 0 0 30 0 0] makefont x’=30x y’=30y x’=30x y’=30y

5 Em-Square transformations Transformation of the font is executed by transforming the coordinated system of each character bounding box (Em-Square), while existing coordinated system stays intact Transformation of the font is executed by transforming the coordinated system of each character bounding box (Em-Square), while existing coordinated system stays intact m a k e f o n t PostScript command provides forming new deformated (transformated) fonts: m a k e f o n t PostScript command provides forming new deformated (transformated) fonts: /fontname findfont [a b c d t x t y ] makefont setfont Beginning of the new letter is defined by the movement of the s h o w command

6 Custom PostScript Typographic Procedures k s h o w command enables the execution of the program procedure between every string character, as follows: k s h o w command enables the execution of the program procedure between every string character, as follows: {proc} string kshow 1. The first string character is drawn, and the current position is moved for the amount of a letter width; 2. Decimal number of ASCII of the first letter is set to stack, afterwards comes the second letter; 3. The procedure {proc} is executed; 4. Second letter is being printed… Procedure is not loaded before the first letter is shown. If the number of characters in the string is n, k s h o w command loads procedure n-1 time

7 Simple Program modules with combination Em-Square and custom functions In our simple examples we use m a k e f o n t command in combination with k s h o w command In our simple examples we use m a k e f o n t command in combination with k s h o w command m a k e f o n t is used for Em-Square transformation m a k e f o n t is used for Em-Square transformation k s h o w is used for loading procedure n-1 time for n string characters and showing of characters k s h o w is used for loading procedure n-1 time for n string characters and showing of characters

8 [k j 0 k 0 0 ] makefont x’=kx y’=jx+ky 200 300 moveto /j 140 def /jkorak -10 def /k 70 def /FSTimesRom findfont [k j 0 k 0 0 ] makefont setfont /H 0 def 1 18 div /Hkorak exch def 0 1 0.8 sethsbcolor { pop pop /FSTimesRom findfont [k j 0 k 0 0 ] makefont setfont /H H Hkorak add def /j j jkorak add def H 1 0.8 sethsbcolor } (Thessaloniki, 2007 Typography) kshow

9 [k 0 j k 0 0 ] makefont x’=kx+jy y’=jy 200 300 moveto /j 130 def /jkorak -10 def /k 70 def /FSTimesRom findfont [k 0 j k 0 0 ] makefont setfont /H 0 def 1 18 div /Hkorak exch def 0 1 0.8 sethsbcolor { pop pop /FSTimesRom findfont [k 0 j k 0 0 ] makefont setfont /H H Hkorak add def /j j jkorak add def H 1 0.8 sethsbcolor } ( Thessaloniki, 2007 Typography) kshow

10 [k j j k 0 0 ] makefont x’=kx+jy y’=jx+ky 20 300 moveto /j 140 def /jkorak -10 def /k 70 def /FSTimesRom findfont [k j j k 0 0 ] makefont setfont /H 0 def 1 18 div /Hkorak exch def 0 1 0.8 sethsbcolor { pop pop /FSTimesRom findfont [k j j k 0 0 ] makefont setfont /H H Hkorak add def /j j jkorak add def H 1 0.8 sethsbcolor } ( Thessaloniki, 2007 Typography) kshow

11 Complex Program module with combination Em-Square and custom function in our complex program we use hybrid method of m a k e f o n t command in combination with k s h o w command in our complex program we use hybrid method of m a k e f o n t command in combination with k s h o w command one control switch variable sklopka is implemented in k s h o w procedure for switching 3 different transformation matrices depending of j value one control switch variable sklopka is implemented in k s h o w procedure for switching 3 different transformation matrices depending of j value j value is changed in interval [130,-130] with step -10 starting from 130. When j is less or equal of -130 then j is reset on 130 j value is changed in interval [130,-130] with step -10 starting from 130. When j is less or equal of -130 then j is reset on 130

12 200 100 moveto /j 130 def /jkorak -10 def /minj j neg def /maxj j def /k 70 def /m j def /n 0 def /sklopka 1 def /FSTimesRom findfont [k m n k 0 0 ] makefont setfont /H 0 def 1 18 div /Hkorak exch def 0 1 0.8 sethsbcolor { pop pop /FSTimesRom findfont [k m n k 0 0 ] makefont setfont -10 rotate /H H Hkorak add def H 1 0.8 sethsbcolor sklopka 1 eq {/m j def /n 0 def j 50 lt {/sklopka 2 def} if} if sklopka 2 eq {/m 0 def /n j def j 0 lt {/sklopka 3 def} if} if sklopka 3 eq {/m j def /n j def j minj le {/sklopka 1 def /j maxj def } if} if /j j jkorak add def } ( Thessaloniki, 2007 Digital Typography) kshow

13 Conclusion Procedures are interpreted by PostScript interpreter for the given output resolution so their processing is on fastest possibly speed. Procedures are interpreted by PostScript interpreter for the given output resolution so their processing is on fastest possibly speed. Procedures which are prepared in encapsulated format can be integrate with conventional vector graphics. Procedures which are prepared in encapsulated format can be integrate with conventional vector graphics. This work gives the contribution to the development of digital typography and typographic design through new native PostScript procedures and new possibilities of designing original typographic solutions This work gives the contribution to the development of digital typography and typographic design through new native PostScript procedures and new possibilities of designing original typographic solutions


Download ppt "Development of PostScript Procedures for Transformations of Digital Typography Ph. D. Sc. Klaudio Pap, Ph. D. Sc. Vilko Žiljak Faculty of Graphic Arts,"

Similar presentations


Ads by Google