Emulation of the setstrokeadjust Operator
|
|
- Cathleen George
- 5 years ago
- Views:
Transcription
1 Emulation of the setstrokeadjust Operator Adobe Developer Support Technical Note # March 1992 Adobe Systems Incorporated Adobe Developer Technologies 345 Park Avenue San Jose, CA PN LPS5111
2 Copyright by Adobe Systems Incorporated. All rights reserved. No part of this publication may be reproduced, stored in a retrieval system, or transmitted, in any form or by any means, electronic, mechanical, photocopying, recording, or otherwise, without the prior written consent of the publisher. Any software referred to herein is furnished under license and may only be used or copied in accordance with the terms of such license. PostScript, the PostScript logo, Display PostScript, and the Adobe logo are trademarks of Adobe Systems Incorporated which may be registered in certain jurisdictions. Other brand or product names are the trademarks or registered trademarks of their respective holders. This publication and the information herein is furnished AS IS, is subject to change without notice, and should not be construed as a commitment by Adobe Systems Incorporated. Adobe Systems Incorporated assumes no responsibility or liability for any errors or inaccuracies, makes no warranty of any kind (express, implied or statutory) with respect to this publication, and expressly disclaims any and all warranties of merchantability, fitness for particular purposes and noninfringement of third party rights.
3 Contents Emulation of the setstrokeadjust Operator 5 1 Introduction 5 2 Device Space and Stroke Adjustment 5 The Problem 5 A Solution 7 Level 2 Automatic Stroke Adjustment 9 3 Emulating Automatic Stroke Adjustment for Level 1 9 Installing Emulations 9 Saving VM 10 Naming Possibly Emulated Operators 11 The Emulations 11 Using The Emulations 16 4 Performance 17 Stroke Adjusting Absolute Versus Relative Operators 17 Stroke Adjusting Using Rectangles 18 5 Summary 19 Appendix A: Spreadsheet Program Examples 21 Appendix B: Changes Since Earlier Versions 25 Index 27 iii
4 iv Contents (31 Mar 92)
5 Emulation of the setstrokeadjust Operator 1 Introduction PostScript Level 2 makes many new features available to applications programmers. One new feature is the ability to do stroke adjustment automatically without any degradation of performance. Stroke adjustment makes a major improvement in the appearance of a large class of documents. Many applications already implement stroke adjustment for use on Level 1 systems. Providing automatic stroke adjustment in a way that does not require an application to know whether it is using this feature on a Level 2 system or an emulation on a Level 1 system, is quite straightforward. 2 Device Space and Stroke Adjustment 2.1 The Problem Lines that have the same width specified in a PostScript language program might be rendered in device space at two different widths. Any pixel partly or completely included in the width of a line in device space is considered part of the line. Because paths may fall on arbitrary locations within pixel boundaries, the number of pixels turned on when stroking a line of a given width can vary by one pixel, depending on where in device space relative to pixel boundaries the line happens to fall. Figure 1 Mapping of s to device space in user space in user space in user space in user space path path path path in device space in device space in device space in device space 5
6 Figure 1 shows a line with a user space width of less than a pixel being rendered as both one pixel and two pixels wide in device space. A line with a user space width that amounts to one and some fraction of a pixel wide in device space can be rendered as either two or three pixels wide, and so on. This one pixel difference in is readily detected by eye at 300 dpi and can be seen when comparing even relatively wide lines. The consistency problem is apparent in stroking curved lines as well as straight ones. Figures 2 and 3 demonstrate this problem with a common application of straight lines: imaging spreadsheets. Figure 2 A spreadsheet drawn without stroke adjustment 6 Emulation of the setstrokeadjust Operator (31 Mar 92)
7 Figure 3 A spreadsheet drawn with stroke adjustment Demonstration programs for stroke adjusted spreadsheet examples are included in Appendix A. 2.2 A Solution User space paths can be coerced to fall at consistent locations within device space pixel boundaries, guaranteeing a consistent appearance for lines of a similar width. This can be done by converting user space coordinates to device space coordinates, adjusting the location relative to pixel boundaries, and then converting back to user space for use in path construction. Figure 4 Stroke adjustment 2 Device Space and Stroke Adjustment 7
8 A desirable position within the pixel is one quarter pixel over and up from the bottom left corner. Adjustment can be made by subtracting one quarter pixel from the device space coordinate value, rounding to the nearest whole pixel, and adding one quarter pixel. Why adjust to one quarter? Placing the path off center within the pixel makes it possible for the device space to grow one pixel at a time as the specified increases. Placing the path along the pixel boundary forces all s to use an even number of pixels and to grow two pixels at a time. Centering the path within the pixel forces all s to use an odd number of pixels and also to grow two pixels at a time. Figure 5 Positioning of path coordinates within pixels in user space in user space in user space path path path in device space in device space in device space in user space in user space in user space path path path in device space in device space in device space Rounded to pixel boundary: Rounded to.25 pixel: even/odd Rounded to midpoint: odd pixel even pixel widths pixel widths widths The uniform appearance of lines with similar widths is sometimes achieved at the expense of causing the spaces between the lines, which may have been of uniform width, to vary instead. This variation is normally much less noticeable than a variation in the width of the lines themselves. Note A more complete explanation of the mapping of a user space path to device space pixels can be found in Programming the Display PostScript System with NeXTstep, Chapter 3, The Coordinate System. 8 Emulation of the setstrokeadjust Operator (31 Mar 92)
9 2.3 Level 2 Automatic Stroke Adjustment Both PostScript Level 2 systems and Display PostScript systems are able to perform an automatic adjustment to paths that causes them to be rendered at uniform widths. This automatic stroke adjustment can be turned on and off with the setstrokeadjust operator. Stroke adjusted paths are actually rendered slightly faster on Level 2 systems than non-stroke adjusted paths, so that you might want to stroke adjust paths for performance reasons alone, even when the improved appearance is not a consideration. Language level compatibility strategies are discussed in Appendix D of the PostScript Language Reference Manual, Second Edition, and in Technical Note #5110, Supporting PostScript Level 2 Functionality. One highly recommended way to achieve language level compatibility involves including a procedure set in the prolog that installs the desired extended features where available, and emulations where not, into an interface layer providing uniform access to the features. This method is fully portable. It makes the feature available whether or not a particular interpreter provides it and allows the Level 1/Level 2 issue to remain transparent to the application, thus lessening the complexity of its code. Automatic stroke adjustment is a feature readily provided using this compatibility technique. 3 Emulating Automatic Stroke Adjustment for Level 1 Level 1 emulations of Level 2 features should be defined and installed as a function of whether or not the desired features exist on the target interpreter. If this is known in advance, only the procedure set intended for that system must be downloaded. If not (as when sending to a spooler or saving to a disk file), both sets must be included, and the installation decision must be made on the interpreter side. 3.1 Installing Emulations The following are recommendations for determining which procedure set to install. Use where rather than known when checking for the existence of PostScript language operators, because it is more general and does not require the hard coding of a dictionary name. Use known when checking for application-defined procedures to avoid possible name confusion with other applications or additional extensions to the PostScript language. It should refer to the application s own dictionary. Use the languagelevel operator when all required Level 2 operator emulations are to be installed as a group. languagelevel is found only on Level 2 and must be used in conjunction with where. 3 Emulating Automatic Stroke Adjustment for Level 1 9
10 /languagelevel where {pop languagelevel} {1} ifelse 2 lt { %use emulations }{ %load existing operators } ifelse This is not an appropriate method to use when the desired Level 2 features may also exist as extensions to Level 1 as, for example, automatic stroke adjustment does on Display PostScript systems. Use where to test for the presence of a tell-tale operator when a related group of Level 2 operators might be present as extensions to Level 1 systems. Automatic stroke adjustment is available on both Level 2 and Display PostScript systems. A Display PostScript system can be either Level 1 or Level 2. A Level 1 Display PostScript system has automatic stroke adjustment, but does not have the languagelevel operator. The emulation examples shown below test for the presence of the setstrokeadjust operator, rather than for languagelevel. Note Some indications of which language extensions are available on which implementations can be found in Appendix A of the PostScript Language Reference Manual, Second Edition. PostScript printer description (PPD) files indicate exactly which extensions are available on a specific printer in human-readable, machine-parseable form. PPD files and their use are discussed in Technical Notes #5003, PostScript Printer Description Files Specification, Version 4.0, and #5117, Supporting Device Features. 3.2 Saving VM The following examples used a somewhat more sophisticated approach for installing a procedure set into the interface layer than the method described in section 3.1. Instead, the test is used to set a Boolean, Level2 DPS, which is used with save and restore pairs to avoid occupying memory with unused procedure sets. Some 240 bytes are saved on Level 1 by doing a save/restore bracket around the Level 2 procedure set for the smaller absolute set of example code. As more sets of feature emulation procedures come to be used by applications, strategies to avoid filling up VM with unused definitions play a larger role in providing more room for procedures doing useful work. 10 Emulation of the setstrokeadjust Operator (31 Mar 92)
11 3.3 Naming Possibly Emulated Operators As shown in section 3.4, an interface layer using short names bound conditionally either to emulations or to PostScript language operators can be defined, which in turn can be used to output a page description that will execute on any interpreter. The usual reason to use short names is to reduce the length of the program being sent to the device because this can often make a noticeable improvement in speed. It is also important not to give an emulation the same name as an operator to avoid letting an embedded program assume that a PostScript language operator is available when it is not. This is especially critical when an operator has been only partially emulated and might not behave the way the embedded program expects. There is a discussion on this topic in Appendix D of the PostScript Language Reference Manual, Second Edition. 3.4 The Emulations To approximate the adjustment done automatically by Level 2, it is necessary to perform the following operations for each coordinate of the path to be adjusted. 1. Convert the user space coordinates to device space. 2. Round the coordinates to the one quarter pixel location as described previously. 3. Convert the rounded coordinates back to user space and use for the path construction. 3 Emulating Automatic Stroke Adjustment for Level 1 11
12 The procedure set in Example 1 performs this sort of stroke adjusted path construction for absolute path construction operators. %%BeginProlog % Example 1 % automatic stroke adjustment already available? /Level2 DPS /setstrokeadjust where {pop true} {false} ifelse def Level2 DPS not {save} if % remove procset if not needed Level2 DPS { %%BeginResource: procset Adobe_SpecialGraphics_Level2 DPS /Mt /moveto load def /Lt /lineto load def /Ct /curveto load def /Rt /rectstroke load def /GRinit {} def /SA /setstrokeadjust load def %%EndResource } if Level2 DPS not {restore} if Level2 DPS {save} if % remove procset from VM if not needed Level2 DPS not { %%BeginResource: procset Adobe_SpecialGraphics_L /GRdict 5 dict def GRdict begin /Mt /moveto load def /Lt /lineto load def /Ct /curveto load def /Rt { % x y w h Rt - rectangle 4-2 roll moveto % bottom left hand corner dup 0 exch rlineto % to upper left exch 0 rlineto % to upper right neg 0 exch rlineto % to lower right closepath /SA { % true, false SA - setstrokeadjust {mark countdictstack 2 sub {currentdict GRdict eq {SAdict begin exit} {currentdict end} ifelse} repeat counttomark {begin} repeat pop} {mark countdictstack 2 sub {currentdict SAdict eq {end exit} {currentdict end} ifelse} repeat counttomark {begin} repeat pop } ifelse end % GRdict /GRinit { % put GRdict on dictionary stack under userdict countdictstack array dictstack cleardictstack dup 0 GRdict put {begin} forall 12 Emulation of the setstrokeadjust Operator (31 Mar 92)
13 /SAdict 5 dict def SAdict begin % snap user space location to device space pixel /snaptopixel { % x y snaptopixel sx sy transform.25 sub round.25 add exch.25 sub round.25 add exch itransform /Mt { % x y MT - moveto snaptopixel moveto /Lt { % x y LT - lineto snaptopixel lineto /Ct { % x y CT - curveto snaptopixel curveto % note control points are not snapped /Rt { % x y w h Rt - rectangle 4-2 roll Mt % bottom left hand corner dtransform round exch round exch idtransform % round h and w dup 0 exch rlineto % to upper left exch 0 rlineto % to upper right neg 0 exch rlineto % to lower right closepath end % SAdict %%EndResource } if Level2 DPS {restore} if... other procset definitions... %%EndProlog Example 1 deals only with absolute path construction operators. A more general emulation that includes relative path operators can also be defined at the cost of having to maintain some location context from operator to operator. Performing a relative move from an altered location rather than from the originally specified location can result in landing in a different pixel than the one actually indicated by the path. Performing a series of relative path operations, without correcting the location differences caused by rounding, results in a noticeable accumulated error. 3 Emulating Automatic Stroke Adjustment for Level 1 13
14 The code in Example 2 includes emulations for the relative path operators and avoids this incorrect behavior. %%BeginProlog % Example 2 /Level2 DPS /setstrokeadjust where {pop true} {false} ifelse def Level2 DPS not {save} if Level2 DPS { %%BeginResource: procset Adobe_SpecialGraphicsRel_Level2DPS /Mt /moveto load def /Lt /lineto load def /Ct /curveto load def /RM /rmoveto load def /RL /rlineto load def /RC /rcurveto load def /Rt /rectstroke load def /GRinit {} def /SA /setstrokeadjust load def %%EndResource } if Level2 DPS not {restore} if Level2 DPS {save} if Level2 DPS not { %%BeginResource: procset Adobe_SpecialGraphicsRel_L /GRdict 8 dict def GRdict begin /Mt /moveto load def /Lt /lineto load def /Ct /curveto load def /RM /rmoveto load def /RL /rlineto load def /RC /rcurveto load def /Rt { % x y w h Rt - rectangle 4-2 roll moveto % bottom left hand corner dup 0 exch rlineto % to upper left exch 0 rlineto % to upper right neg 0 exch rlineto % to lower right closepath /SA { % true, false SA - setstrokeadjust {mark countdictstack 2 sub {currentdict GRdict eq {SAdict begin exit} {currentdict end} ifelse} repeat counttomark {begin} repeat pop} {mark countdictstack 2 sub {currentdict SAdict eq {end exit} {currentdict end} ifelse} repeat counttomark {begin} repeat pop } ifelse end % GRdict 14 Emulation of the setstrokeadjust Operator (31 Mar 92)
15 /GRinit { % put GRdict on dictionary stack under userdict countdictstack array dictstack cleardictstack dup 0 GRdict put {begin} forall /SAdict 9 dict def SAdict begin % snap user space location to device space pixel /snaptopixel { % x y snaptopixel sx sy transform.25 sub round.25 add exch.25 sub round.25 add exch itransform % save absolute user space location for next relative operator /savelocation { % x y savelocation x y 2 copy /uy exch def /ux exch def /Mt { % x y MT - moveto savelocation snaptopixel moveto /Lt { % x y LT - lineto savelocation snaptopixel lineto /Ct { % x1 y1 x2 y2 x3 y3 CT - curveto savelocation snaptopixel curveto % note control points are not snapped /RM { % dx dy RM - rmoveto exch ux add exch uy add % convert dx dy to user space absolute savelocation snaptopixel moveto /RL { % dx dy RL - rlineto exch ux add exch uy add savelocation snaptopixel lineto /RC { % x1 y1 x2 y2 x3 y3 RC - rcurveto 3 { 6 1 roll ux add 6 1 roll uy add } repeat savelocation snaptopixel curveto % note control points are not snapped /Rt { % x y w h Rt - rectangle 4-2 roll Mt % bottom left hand corner dtransform round exch round exch idtransform % round h and w dup 0 exch rlineto % to upper left exch 0 rlineto % to upper right neg 0 exch rlineto % to lower right closepath end % SAdict %%EndResource } if Level2 DPS {restore} if... other procset definitions... %%EndProlog 3 Emulating Automatic Stroke Adjustment for Level 1 15
16 The control points of the curveto and rcurveto operator emulations are not coerced to one quarter pixel, although the endpoints are. Coercing the control points nearly triples the work being done, for no real gain in appearance. The one exception is when the curve is actually a straight line (where the endpoints and control points are colinear). It might be necessary to reposition the control points to get the right thing to happen. Since it is not efficient to use curveto to render a straight line at the best of times, it is preferable to keep curveto emulations simple and use a line operator for lines. Two letter procedure names are used for procedures to be invoked by our hypothetical driver. Longer, more readable names are for definitions used only within the prolog. 3.5 Using The Emulations Before the automatic stroke adjustment emulations can be used, the special graphics dictionary must be installed. To do this, call GRinit in the document setup section. Once this is done, an application can use the stroke adjustment interface layer for all stroked paths. The interface operators, SA (setstrokeadjust), Mt (moveto), Lt (lineto), and so on, work as their counterparts do. A typical use might be: %%BeginSetup GRinit... some other setup code here... %%EndSetup true SA % set stroke adjustment Mt Lt... and so on... An application might also place true SA in the setup section and then use the procedure set definitions for every stroked path in the document. This is an acceptable basic approach. Given that Level 2 systems run faster with stroke adjustment set, it will probably be common on Level 2 to do this whether or not the adjustment is considered necessary to the appearance of the output. The default value for SA on both Level 1 and Level 2 printers is false (stroke adjustment not enabled). For more on the setstrokeadjust operator, see section and page 512 of the PostScript Language Reference Manual, Second Edition. Using the stroke adjusted emulations provides the stroke adjusting on Level 1 systems (other than Display PostScript systems), not the setstrokeadjust operator. The interface operators for stroking paths must be used to produce the same appearance on both Level 1 and Level 2 systems. Note The font handling mechanism performs the stroke adjustment positioning automatically for fonts on all PostScript interpreters. As a result, the moveto operator used to set the current point before a show operation does not need to be stroke adjusted. 16 Emulation of the setstrokeadjust Operator (31 Mar 92)
17 4 Performance As has been mentioned previously, using automatic stroke adjustment for paths on Level 2 is somewhat faster than not stroke adjusting paths. Optimizing stroke adjustment on Level 2 is not an issue. Improving the speed of stroke adjustment on Level 1 is an a topic worthy of discussion. A fully general emulation of automatic stroke adjustment, used with no attempts to exploit known regularities in an application s output, can in the worst case increase the time it takes to render a path by three and a half to four times. Real gains are possible here when the special needs of particular applications are considered. The result of applying different approaches to the task of drawing the spreadsheet graphic (shown earlier) appear in Table 1. Table 1 Times (in milliseconds) for drawing the spreadsheet 20 times Relative Absolute Rectangle Procedure set procedures procedures procedures absolute plus relative absolute only no stroke adjust Stroke Adjusting Absolute Versus Relative Operators In the two procedure set examples given previously for automatic stroke adjustment emulation, Example 1 provides emulations for absolute operators only, while Example 2 includes both absolute (moveto, lineto, curveto) and relative (rmoveto, rlineto, rcurveto) operators. In Example 2, not only do the absolute path operators have to save some state for the relative operators, but the relative operators must get that information and update it before using it. The relative operators are more expensive to use by about 9 percent than their absolute cousins in Example 2. This figure does not include the use of the rcurveto emulation. When only absolute path operations are to be stroke adjusted, as in the Example 1 emulations, it is unnecessary to update and save state information about location for the relative operators. Using the Example 1 absolute procedures is more efficient than using the Example 2 absolute procedures, resulting in an additional savings of about 12 percent. 4 Performance 17
18 Which emulation set to use depends on the known demands of a particular application. In some cases, the convenience of the relative operators may be worth their additional cost. In general, the absolute operator only procedure set of Example 1 offers the most performance. 4.2 Stroke Adjusting Using Rectangles Further savings are possible if an application can cast its graphics output in the form of rectangles. Using rectangles whenever possible is especially advantageous when performing stroke adjustment. Only one point needs full stroke adjustment, plus one distance vector rounded in device space, as opposed to the four full stroke adjustments required for an equivalent figure. A stroke adjusted rectangle is less than 50% slower than a non-stroke adjusted rectangle. Stroke adjusted rectangles become especially cheap when compared to drawing with no rectangle procedure: less than 25% slower than the non-stroke adjusted, no-rectangle procedure approach. The size of the advantage varies depending on the printer and communications channel. See Technical Note #5126, PostScript Language Code Optimization: Rectangles, for a timing study examining rectangle drawing. Though drawing the spreadsheet as a series of rectangles rather than as two sets of parallel lines requires enough extra work (many more path operations) that there appears to be a disadvantage shown in the non-stroke adjusted times, using them is still cheaper by some 40 percent when stroke adjusting. Stroke adjusted rectangle procedures are included in both the absolute and absolute plus relative procedure sets above and were used in the spreadsheet drawing time example. Both the procedure set definitions of Rt load the rectstroke operator on Level 2 systems. Neither of the corresponding stroke adjusting emulations is a complete emulation of the Level 2 operator. For more information on emulating Level 2 rectangle operators, see Technical Note #5123, Emulation of the rectclip, rectfill, and rectstroke Operators. 18 Emulation of the setstrokeadjust Operator (31 Mar 92)
19 5 Summary The location of a path within a pixel can cause lines with the same to have a different width in pixels. This can cause unattractive results when a grid or other symmetrical group of lines is drawn on lower resolution devices. PostScript Level 2 and Display PostScript systems can adjust the path location automatically to produce lines with a uniform pixel width. This adjustment may be turned on and off with the setstrokeadjust operator, and actually increases the speed of path operators. For applications to take advantage of automatic stroke adjustment without losing Level 1 compatibility, it is necessary to install emulations that perform stroke adjustment when automatic stroke adjustment is not available. The performance cost of stroke adjusting a path on Level 1 systems varies from one and one half to three and one half times not doing so. The benefits of using the emulations are a uniform appearance on Level 1 or Level 2, and the preservation of device and resolution independence. 5 Summary 19
20 20 Emulation of the setstrokeadjust Operator (31 Mar 92)
21 Appendix A: Spreadsheet Program Examples A stroke adjusted spreadsheet drawn with two sets of parallel lines: %!PS-Adobe-3.0 %%Title: Spreadsheet drawn using Mt Lt %%Creator: RH %%CreationDate: March 20, 1991 %%EndComments %%BeginProlog % automatic stroke adjustment already available? /Level2 DPS /setstrokeadjust where {pop true} {false} ifelse def Level2 DPS not { save } if % remove procset if not needed Level2 DPS % def interface for Level 2 { %%BeginResource: procset Adobe_SpecialGraphics_L2DPS /GRinit {} def /Mt /moveto load def /Lt /lineto load def /Ct /curveto load def /Rt /rectstroke load def /SA /setstrokeadjust load def %%EndResource } if Level2 DPS not { restore } if Level2 DPS { save }if % remove procset from VM if not % needed Level2 DPS not { % emulations are needed %%BeginResource: procset Adobe_SpecialGraphics_L /GRdict 5 dict def GRdict begin /Mt /moveto load def /Lt /lineto load def /Ct /curveto load def /Rt { % x y w h Rt - basic rectangle 4-2 roll moveto % bottom left hand corner dup 0 exch rlineto % to upper left exch 0 rlineto % to upper right neg 0 exch rlineto % to lower right closepath /SA { % true,false SA - enable/disable stroke adjustment { mark countdictstack 2 sub {currentdict GRdict eq {SAdict begin exit} 21
22 {currentdict end} ifelse} repeat counttomark {begin} repeat pop} { mark countdictstack 2 sub {currentdict SAdict eq {end exit} {currentdict end} ifelse } repeat counttomark {begin} repeat pop } ifelse end % GRdict /GRinit { % put GRdict on stack under userdict countdictstack array dictstack cleardictstack dup 0 GRdict put { begin} forall /SAdict 10 dict def SAdict begin % snap user space location to device space pixel /snaptopixel { % x y snaptopixel sx sy transform.25 sub round.25 add exch.25 sub round.25 add exch itransform /Mt { % x y Mt - moveto snaptopixel moveto /Lt { % x y Lt - lineto snaptopixel lineto /Ct { % x1 y1 x2 y2 x3 y3 Ct - curveto snaptopixel curveto % note control points are not snapped /Rt { % x y w h Rt - basic rectangle 4-2 roll Mt % bottom left hand corner dtransform round exch round exch idtransform dup 0 exch rlineto % to upper left exch 0 rlineto % to upper right neg 0 exch rlineto % to lower right closepath end % SAdict %%EndResource } if Level2 DPS { restore }if %%EndProlog %%BeginSetup GRinit true SA.001 setlinewidth %%EndSetup Mt Lt % longways lines Mt Lt Mt Lt Mt Lt Mt Lt Mt Lt 22 Appendix A: Spreadsheet Program Examples (31 Mar 92)
23 Mt Lt Mt Lt Mt Lt Mt Lt Mt Lt Mt Lt Mt Lt Mt Lt Mt Lt Mt Lt Mt Lt Mt Lt Mt Lt Mt Lt Mt Lt Mt Lt Mt Lt Mt Lt Mt Lt Mt Lt Mt Lt Mt Lt Mt Lt Mt Lt Mt Lt Mt Lt Mt Lt Mt Lt Mt Lt % shortways lines Mt Lt Mt Lt Mt Lt Mt Lt Mt Lt Mt Lt Mt Lt Mt Lt Mt Lt stroke showpage 23
24 A stroke adjusted spreadsheet drawn with rectangles: %!PS-Adobe-3.0 %%Title: Spreadsheet drawn using Rt %%Creator: RH %%CreationDate: March 20, 1991 %%EndComments %%BeginProlog... the same prologue here and the same setup... %%EndSetup Rt % longways rectangles Rt Rt Rt Rt Rt Rt Rt Rt Rt Rt Rt Rt Rt Rt Rt Rt Rt % shortways rectangles Rt Rt Rt stroke showpage 24 Appendix A: Spreadsheet Program Examples (31 Mar 92)
25 Appendix B: Changes Since Earlier Versions Changes since May 3, 1991 version Document was reformatted in the new document layout and minor editorial changes were made. 25
26 26 Appendix B: Changes Since Earlier Versions (31 Mar 92)
27 Index A, B automatic stroke adjustment absolute path operations 12 13, 17 absolute versus relative operators 17 emulating for Level emulations 16 interface layer 16 Level 2 9 performance rectangles 18 relative path operations without losing Level 1 compatibility 19 C, D curveto 16 E, F emulated operators naming 11 emulations when to install 9 G, H, I, J GRinit 16 K known 9 L, M, N, O languagelevel 9, 10 P, Q path construction operators absolute 12 R rcurveto 16, 17 rectangles 18 rectstroke 18 restore 10 S, T, U, V save 10 setstrokeadjust emulation of 5 19 emulations samples font handling mechanism 16 language level compatibility strategies 9 mapping user space path to device space pixels 8 spreadsheet with stroke adjustment 7 spreadsheet without stroke adjustment 6 VM saving 10 stroke adjustment device space and 5 9 W, X, Y, Z where 9, 10 27
28 28 Index (31 Mar 92)
Font Switching Optimizations
Font Switching Optimizations Adobe Developer Support Technical Note #5048 31 March 1992 Adobe Systems Incorporated Adobe Developer Technologies 345 Park Avenue San Jose, CA 95110 http://partners.adobe.com/
More informationSupporting Level 2 Functionality
Supporting Level 2 Functionality Adobe Developer Support Technical Note #5110 31 March 1992 Adobe Systems Incorporated Adobe Developer Technologies 345 Park Avenue San Jose, CA 95110 http://partners.adobe.com/
More informationLevel 2 Compatibility: The setscreen and currentscreen Operators
Level 2 Compatibility: The setscreen and currentscreen Operators Adobe Developer Support Technical Note #5119 31 March 1992 Adobe Systems Incorporated Adobe Developer Technologies 345 Park Avenue San Jose,
More informationSimple Text Setting Calculations for PostScript Language Drivers
Simple Text Setting Calculations for PostScript Language Drivers Adobe Developer Support Technical Note #5041 31 March 1992 Adobe Systems Incorporated Adobe Developer Technologies 345 Park Avenue San Jose,
More informationEmulation of the execform Operator
Emulation of the execform Operator Adobe Developer Support Technical Note #5113 31 March 1992 Adobe Systems Incorporated Adobe Developer Technologies 345 Park Avenue San Jose, CA 95110 http://partners.adobe.com/
More informationUsing save Outside the Server Loop
Using save Outside the Server Loop Adobe Developer Support Technical Note #5129 14 February 1992 Adobe Systems Incorporated Adobe Developer Technologies 345 Park Avenue San Jose, CA 95110 http://partners.adobe.com/
More informationTiming Techniques. Adobe Developer Support. Technical Note # March Adobe Systems Incorporated
Timing Techniques Adobe Developer Support Technical Note #5120 31 March 1992 Adobe Systems Incorporated Adobe Developer Technologies 345 Park Avenue San Jose, CA 95110 http://partners.adobe.com/ PN LPS5120
More informationThe StemSnap Hint Operator for Type 1 Font Programs
The StemSnap Hint Operator for Type 1 Font Programs Adobe Developer Support Technical Note #5049 31 March 1992 Adobe Systems Incorporated Corporate Headquarters 1585 Charleston Road PO Box 7900 Mountain
More informationSupporting Device Features
Supporting Device Features Adobe Developer Support Technical Note #5117 31 March 1992 Adobe Systems Incorporated Adobe Developer Technologies 345 Park Avenue San Jose, CA 95110 http://partners.adobe.com/
More informationSupporting Data Compression in PostScript Level 2 and the filter Operator
Supporting Data Compression in PostScript Level 2 and the filter Operator Adobe Developer Support Technical Note #5115 31 March 1992 Adobe Systems Incorporated Adobe Developer Technologies 345 Park Avenue
More informationAcrobat Widths-Only CIDFont Tutorial ADOBE SYSTEMS INCORPORATED
bbc Acrobat Widths-Only CIDFont Tutorial Technical Note #5412 ADOBE SYSTEMS INCORPORATED Corporate Headquarters 345 Park Avenue San Jose, CA 95110-2704 (408) 536-6000 http://partners.adobe.com April 12,
More informationHello world. 2. Stack-based Programming. Oscar Nierstrasz
2. Stack-based Programming Oscar Nierstrasz /Times-Roman findfont % look up Times Roman font 18 scalefont % scale it to 18 points setfont % set this to be the current font 100 500 moveto % go to coordinate
More informationPostscript Intro. References. What is Postscript? Hello World! in Ghostscript. CSE 413, Autumn 2005 Programming Languages. Page description language
References Postscript Intro CSE 413, Autumn 2005 Programming Languages http://www.cs.washington.edu/education/courses/413/05au/ Postscript Language Reference, Adobe Postscript Language Tutorial and Cookbook,
More informationCID-Keyed Font Technology Overview
CID-Keyed Font Technology Overview Adobe Developer Support Technical Note #5092 12 September 1994 Adobe Systems Incorporated Adobe Developer Technologies 345 Park Avenue San Jose, CA 95110 http://partners.adobe.com/
More informationDrawing polygons: loops and arrays
CHAPTER 5 Drawing polygons: loops and arrays repeat:1 We begin by learning how to draw regular polygons, and then look at arbitrary polygons. Both will use loops, and the second will require learning about
More informationWHAT. %!PS-Adobe-3.0. structure and code requirements. DSC = comments + In This Issue
In This Issue Volume 4, Number 7 p. 1 p. 2 How to Reach Us p. 1 3 PostScript Language Technology Column p. 1 4 Adobe Acrobat Column You may have seen many PostScript language files that begin with %! or.
More informationPrinter Systems-Based Separations
Printer Systems-Based Separations Adobe Developers Association 9 October 1997 Technical Note #5606 LanguageLevel 3 Corporate Headquarters 345 Park Avenue San Jose, CA 95110-2704 (408) 536-6000 Eastern
More informationImproving Image Performance by Using Color Lookup Tables
Improving Image Performance by Using Color Lookup Tables Adobe Developer Support Technical Note #5121 31 March 1992 Adobe Systems Incorporated Adobe Developer Technologies 345 Park Avenue San Jose, CA
More informationColor Separation Conventions for PostScript Language Programs
Color Separation Conventions for PostScript Language Programs Adobe Developer Support Technical Note #5044 24 May 1996 Adobe Systems Incorporated Adobe Developer Technologies 345 Park Avenue San Jose,
More informationReader. PDF Writer. PostScript File. Distiller. Control whether or not the Save File As dialog box is displayed.
In This Issue Integrating with the Acrobat File-Creation Products Volume 3, Number 11 p 1 Integrating with the Acrobat File-Creation Products The previous two articles in this series described Adobe Acrobat
More informationInformatique Graphique. Traitement de l'information et automatisation. Traitement de l'information et automatisation
Un programme mystérieux Informatique Graphique Professeur: Victor Ostromoukhov Page 1 Page 2 Un programme mystérieux Traitement de l'information et automatisation Page 3 Page 4 Traitement de l'information
More informationReferences. Topic #15: Postscript Intro. What is Postscript? Hello World! in Ghostscript. Page Description Language. Hello World!
References Topic #15: Postscript Intro CSE 413, Autumn 2004 Programming Languages http://www.cs.washington.edu/education/courses/413/04au/ Postscript Language Reference, Adobe Postscript Language Tutorial
More informationAdobe Serial and Parallel Communications Protocols Specification
Adobe Serial and Parallel Communications Protocols Specification Adobe Developer Support 20 November 1992 Adobe Systems Incorporated Adobe Developer Technologies 345 Park Avenue San Jose, CA 95110 http://partners.adobe.com/
More informationDrawing curves automatically: procedures as arguments
CHAPTER 7 Drawing curves automatically: procedures as arguments moveto lineto stroke fill clip The process of drawing curves by programming each one specially is too complicated to be done easily. In this
More informationDrawing polygons: loops and arrays
CHAPTER 5 Drawing polygons: loops and arrays Webeginbylearninghowtodrawregularpolygons,andthenlookatarbitrarypolygons.Bothwilluseloops, and the second will require learning about arrays. There are several
More informationPostscript Control Flow
Postscript Control Flow CSE 413, Autumn 2005 Programming Languages http://www.cs.washington.edu/education/courses/413/05au/ Variables Postscript uses dictionaries to associate a name with an object value»
More informationA Short Introduction to PostScript
A Short Introduction to PostScript Peter Fischer, ZITI, Uni Heidelberg 1 What is PostScript? Postscript is a language to describe graphic objects (& text) It is a vector format Shapes, characters,.. are
More informationThe Adobe-CNS1-6 Character Collection
Adobe Enterprise & Developer Support Adobe Technical Note # bc The Adobe-CNS- Character Collection Introduction The purpose of this document is to define and describe the Adobe-CNS- character collection,
More informationProject 1 Using Lex and Yacc for Higher Level Abstraction CISC 471 Compiler Design
Project 1 Using Lex and Yacc for Higher Level Abstraction CISC 471 Compiler Design This is an individual assignment, other than the partner for deliverable D5. You may discuss your ideas with others, but
More informationPostScript Printer Description File Format Specification
R POSTSCRIPT Software From Adobe PostScript Printer Description File Format Specification Adobe Developer Support Version 4.3 9 February 1996 Adobe Systems Incorporated Adobe Developer Technologies 345
More informationPackage epsdice a scalable dice font
Package epsdice a scalable dice font 2007/02/15 Version 2.1 Thomas Heim (thomas.heim@unibas.ch) 1 Introduction Dice fonts are already available in metafont format. (I should know, I wrote one myself: dice3d.mf.)
More informationEverything You Wanted to Know About Adobe Acrobat Annotation Handlers But Were Afraid to Ask
In This Issue About Adobe Acrobat Annotation Handlers But Were Afraid to Ask Volume 5, Number 5 p. 1 Everything You Wanted to Know About Adobe Acrobat Annotation Handlers But Were Afraid to Ask p. 2 How
More informationText and Graphics. Postcript is a Page Description Language! Paths
Postcript is a Page Description Language! Text and Graphics CSE 413, Autumn 2005 Programming Languages http://www.cs.washington.edu/education/courses/413/05au/ In the previous lectures I talked mostly
More informationPostScript Language Document Structuring Conventions Specification
PostScript Language Document Structuring Conventions Specification Adobe Developer Support Version 3.0 25 September 1992 Adobe Systems Incorporated Adobe Developer Technologies 345 Park Avenue San Jose,
More informationUser s Guide to Creating PDFs for the Sony Reader
User s Guide to Creating PDFs for the Sony Reader 1 Table of Contents I. Introduction Portable Document Format PDF Creation Software Sony Reader screen dimensions and specifications Font recommendations
More informationEmulation of the makepattern and setpattern Operators
Emulation of the makepattern and setpattern Operators Adobe Developer Support Technical Note #5112 31 March 1992 Adobe Systems Incorporated Adobe Developer Technologies 345 Park Avenue San Jose, CA 95110
More informationThe Acrobat Exchange. In This Issue
In This Issue The Acrobat Exchange Plug-In API Volume 3, Number 9 p. 1 The Acrobat Exchange Plug-In API p. 2 How to Reach Us p. 5 Questions and Answers Version 2.0 of the Adobe Acrobat products are here!
More informationHP DesignJet 3500CP Printing Guide for Windows
HP DesignJet 3500CP Printing Guide for Windows Adobe, Adobe Illustrator, Adobe Type Manager, ATM, PageMaker,and PostScript are trademarks of Adobe Systems Incorporated or its subsidiaries and may be registered
More informationTips for Working with the New PostScript Printer Driver for Macintosh
Tips for Working with the New PostScript Printer Driver for Macintosh Adobe Developer Support Technical Note #5134 2 April 1993 Adobe Systems Incorporated Adobe Developer Technologies 345 Park Avenue San
More informationPhotofont Start 2.0. for Macintosh and Windows. User Manual
Photofont Start 2.0 for Macintosh and Windows User Manual PhotoFont Start Copyright 1992-2007 by Fontlab, Ltd. All rights reserved. No part of this publication may be reproduced, stored in a retrieval
More informationFontLab. TECHNICAL NOTE #002 (Mac) Keyboard shortcuts. Copyright 2001 FontLab Ltd. THE DIGITAL TYPE DESIGN TOOLKIT
FontLab THE DIGITAL TYPE DESIGN TOOLKIT TECHNICAL NOTE #002 (Mac) Keyboard shortcuts Copyright 2001 FontLab Ltd. Copyright 1992-2001 by FontLab, Ltd. All rights reserved. No part of this publication may
More information0Harlequin RIP. Named Color Databases. Technical Note Hqn039 June 2001
0Harlequin RIP Named Color Databases Technical Note Hqn039 June 2001 1 Introduction The Harlequin RIP uses named color databases for various purposes including recombination, or interception and color
More informationA Short Introduction to PDF
A Short Introduction to PDF Peter Fischer, ZITI, Uni Heidelberg 1 pdf vs. Postscript pdf describes graphics, text & document structure It uses vector graphics, very similar to postscript Some differences
More informationRecording Output Intentions for Color Critical Workflows ADOBE SYSTEMS INCORPORATED
bbc Recording Output Intentions for Color Critical Workflows Technical Note #5413 Version : 1.0 ADOBE SYSTEMS INCORPORATED Corporate Headquarters 345 Park Avenue San Jose, CA 95110-2704 (408) 536-6000
More informationDisplay PostScript System
Display PostScript System Adobe Systems Incorporated Display PostScript Toolkit for X 15 April 1993 Adobe Systems Incorporated Adobe Developer Technologies 345 Park Avenue San Jose, CA 95110 http://partners.adobe.com/
More informationRoadmap for tonight. What are Bezier curves (mathematically)? Programming Bezier curves (very high level view).
Roadmap for tonight Some background. What are Bezier curves (mathematically)? Characteristics of Bezier curves. Demo. Programming Bezier curves (very high level view). Why Bezier curves? Bezier curves
More informationAdobe. Type Manager 4.1. User Guide
Adobe Type Manager 4.1 User Guide 1999 Adobe Systems Incorporated. All rights reserved. Adobe Type Manager 4.1 User Guide for Windows This manual, as well as the software described in it, is furnished
More informationPostScript Internals Graphics II Spring 1999
PostScript Internals 15-463 Graphics II Spring 1999 Background PostScript raster image processor for Mac All Level 1 features Some support for color and multi-bit devices Undergrad independent study: MacRIP
More informationSDK White Paper. HLSL Blood Shader Gravity Maps
SDK White Paper HLSL Blood Shader Gravity Maps WP-01389-001_v01 July 2004 Preface Gravity Maps With the arrival of programmable pixel shaders, it has become possible to render the world around us in a
More informationWhite Paper. Denoising. February 2007 WP _v01
White Paper Denoising February 2007 WP-03020-001_v01 White Paper Document Change History Version Date Responsible Reason for Change _v01 AK, TS Initial release Go to sdkfeedback@nvidia.com to provide feedback
More informationFont information interchange -- Part 3: Glyph shape representation Amendment 2: Additional Shape Representation Technology for Open Font Format
ISO/IEC JTC1/SC34/WG2 N0292 PDAM Text of ISO/IEC 9541-3, Font information interchange - Part 3: Glyph shape representation - Amendment 2: Additional Shape Representation Technology for Open Font Format
More informationKIMOTO K I M O S E T T E R R I P. Kimosetter RIP User Guide 1. Revised: February 2015 U SER GUID E (FOR W INDOWS 7 )
KIMOTO K I M O S E T T E R R I P U SER GUID E (FOR W INDOWS 7 ) Revised: February 2015 Kimosetter RIP User Guide 1 COPYRIGHT AND TRADEMARKS Kimosetter RIP User Guide Copyright Notices for the Software
More informationConversion SDK v11 32-bit and 64-bit
Conversion SDK v11 32-bit and 64-bit API Reference PDF SDK for Developers Copyright 1995-2016 Visual Integrity LLC/Square One bv. All rights reserved. NOTICE: All information contained herein is the property
More informationPaths. "arc" (elliptical or circular arc), and. Paths are described using the following data attributes:
Paths Paths are described using the following data attributes: "moveto" (set a new current point), "lineto" (draw a straight line), "arc" (elliptical or circular arc), and "closepath" (close the current
More informationUsing the printer with Windows 3.1
Using the printer with Windows 3.1 The following procedure automatically installs the Adobe PS3 printer driver and PostScript printer description files (PPDs) required by some applications. The Adobe PS3
More informationEvaluation of postfix
Postfix Infix notation: Operator appears between operands: 2 + 3 5 3 + 6 9 Implied precedence: 2 + 3 * 4 2 + (3 * 4 ), not (2 + 3 ) * 4 Prefix notation: Operator precedes operands: + 2 3 5 + 2 * 3 5 (+
More informationMatlab Plots in Microsoft Word
Matlab Plots in Microsoft Word Peter Kabal Department of Electrical & Computer Engineering McGill University March 2000 http://www.tsp.ece.mcgill.ca Matlab Plots in Microsoft Word 1 Matlab Plots in Microsoft
More informationComputer Graphics. Chapter 4 Attributes of Graphics Primitives. Somsak Walairacht, Computer Engineering, KMITL 1
Computer Graphics Chapter 4 Attributes of Graphics Primitives Somsak Walairacht, Computer Engineering, KMITL 1 Outline OpenGL State Variables Point Attributes Line Attributes Fill-Area Attributes Scan-Line
More informationFirePoint 8. Setup & Quick Tour
FirePoint 8 Setup & Quick Tour Records Management System Copyright (C), 2006 End2End, Inc. End2End, Inc. 6366 Commerce Blvd #330 Rohnert Park, CA 94928 PLEASE READ THIS LICENSE AND DISCLAIMER OF WARRANTY
More informationInformatik Image Markup
Informatik Image Markup Version 7.50 User Guide May 12, 2010 Please visit www.informatik.com for the latest version of the software. 1 Table of Contents General...3 Open an Image File...3 Lines...4 Arrows...4
More informationINKSCAPE BASICS. 125 S. Prospect Avenue, Elmhurst, IL (630) elmhurstpubliclibrary.org. Create, Make, and Build
INKSCAPE BASICS Inkscape is a free, open-source vector graphics editor. It can be used to create or edit vector graphics like illustrations, diagrams, line arts, charts, logos and more. Inkscape uses Scalable
More informationComputer Graphics. Attributes of Graphics Primitives. Somsak Walairacht, Computer Engineering, KMITL 1
Computer Graphics Chapter 4 Attributes of Graphics Primitives Somsak Walairacht, Computer Engineering, KMITL 1 Outline OpenGL State Variables Point Attributes t Line Attributes Fill-Area Attributes Scan-Line
More informationAcrobat Exchange Interapplication Communication
In This Issue Acrobat Exchange Interapplication Communication Volume 3, Number 10 p. 1 Acrobat Exchange Interapplication Communicaition p. 2 How to Reach Us p. 5 Questions and Answers Last month s article
More information2D rendering takes a photo of the 2D scene with a virtual camera that selects an axis aligned rectangle from the scene. The photograph is placed into
2D rendering takes a photo of the 2D scene with a virtual camera that selects an axis aligned rectangle from the scene. The photograph is placed into the viewport of the current application window. A pixel
More informationThank you very much for purchasing this product.
Quick Start Guide Thank you very much for purchasing this product. To ensure correct and safe usage with a full understanding of this product's performance, please be sure to read through this manual completely
More informationDisplay PostScript System
Display PostScript System Adobe Systems Incorporated pswrap Reference Manual 15 April 1993 Adobe Systems Incorporated Adobe Developer Technologies 345 Park Avenue San Jose, CA 95110 http://partners.adobe.com/
More informationWhite Paper. Solid Wireframe. February 2007 WP _v01
White Paper Solid Wireframe February 2007 WP-03014-001_v01 White Paper Document Change History Version Date Responsible Reason for Change _v01 SG, TS Initial release Go to sdkfeedback@nvidia.com to provide
More informationAdobe Photoshop Sh S.K. Sublania and Sh. Naresh Chand
Adobe Photoshop Sh S.K. Sublania and Sh. Naresh Chand Photoshop is the software for image processing. With this you can manipulate your pictures, either scanned or otherwise inserted to a great extant.
More informationBox It Up (A Graphical Look)
. Name Date A c t i v i t y 1 0 Box It Up (A Graphical Look) The Problem Ms. Hawkins, the physical sciences teacher at Hinthe Middle School, needs several open-topped boxes for storing laboratory materials.
More informationDK2. Handel-C code optimization
DK2 Handel-C code optimization Celoxica, the Celoxica logo and Handel-C are trademarks of Celoxica Limited. All other products or services mentioned herein may be trademarks of their respective owners.
More informationQuick Reference Manual
Quick Reference Manual 100-100578 Trademarks XANTÉ is a registered trademark of XANTÉ CORPORATION. Adobe ; Adobe PageMaker ; Adobe PostScript, the PostScript, and Adobe logos are registered trademarks
More informationUniface Printing A White Paper by Debbra Mullen
Uniface Printing A White Paper by Debbra Mullen Page 1 Understanding the Process Printing in Uniface is comprised of five elements: the device tables, the printer attribute models stored in the PRATT table,
More informationCHAPTER 1 COPYRIGHTED MATERIAL. Getting to Know AutoCAD. Opening a new drawing. Getting familiar with the AutoCAD and AutoCAD LT Graphics windows
CHAPTER 1 Getting to Know AutoCAD Opening a new drawing Getting familiar with the AutoCAD and AutoCAD LT Graphics windows Modifying the display Displaying and arranging toolbars COPYRIGHTED MATERIAL 2
More informationSage Financial Reporter User's Guide
Sage 300 2017 Financial Reporter User's Guide This is a publication of Sage Software, Inc. Copyright 2016. Sage Software, Inc. All rights reserved. Sage, the Sage logos, and the Sage product and service
More informationx10data Smart Client 6.5 for Windows Mobile Installation Guide
x10data Smart Client 6.5 for Windows Mobile Installation Guide Copyright Copyright 2009 Automated Data Capture (ADC) Technologies, Incorporated. All rights reserved. Complying with all applicable copyright
More informationCorelDRAW X7. Kogent Learning Solutions Inc. Authored by: Published by:
CorelDRAW X7 Authored by: Kogent Learning Solutions Inc. Published by: Copyright by 2014 Dreamtech Press, 19-A, Ansari Road, Daryaganj, New Delhi-110002 This book may not be duplicated in any way without
More informationAdobe Acrobat Reader Help
Adobe Acrobat Reader Help This help file contains the basic information you need to open, navigate, and print PDF files using Adobe Acrobat Reader. If you need more help, you can download and install the
More informationWeb-Friendly Sites. Planning & Design 1
Planning & Design 1 This tutorial presents useful tips and tricks to help you achieve a more Web-friendly design and make your sites more efficient. The following topics are discussed: How Z-order and
More informationLet s Make a Front Panel using FrontCAD
Let s Make a Front Panel using FrontCAD By Jim Patchell FrontCad is meant to be a simple, easy to use CAD program for creating front panel designs and artwork. It is a free, open source program, with the
More informationDisclaimer; No Warranty Copyright Trademarks
Disclaimer; No Warranty THIS INFORMATION AND ALL OTHER DOCUMENTATION (IN PRINTED OR ELECTRONIC FORM) ARE PROVIDED FOR REFERENCE PURPOSES ONLY. WHILE EFFORTS WERE MADE TO VERIFY THE COMPLETENESS AND ACCURACY
More informationPersonalizing CA Clarity PPM User Guide. Release
Personalizing CA Clarity PPM User Guide Release 13.2.00 This Documentation, which includes embedded help systems and electronically distributed materials, (hereinafter referred to as the Documentation
More informationIMAGE STUDIO LITE. Tutorial Guide Featuring Image Studio Analysis Software Version 3.1
IMAGE STUDIO LITE Tutorial Guide Featuring Image Studio Analysis Software Version 3.1 Notice The information contained in this document is subject to change without notice. LI-COR MAKES NO WARRANTY OF
More informationOverview: Printing MFworks Documents
Overview: Printing MFworks Documents The Layout Window Printing Printing to Disk Overview: Printing MFworks Documents MFworks is designed to print to any standard Windows compatible printer this includes
More informationSage Fixed Assets Reporting. User Guide
Sage Fixed Assets Reporting User Guide This is a publication of Sage Software, Inc. Copyright 2016 Sage Software, Inc. All rights reserved. Sage, the Sage logos, and the Sage product and service names
More informationAppleScript Finder Guide. English Dialect
AppleScript Finder Guide English Dialect Apple Computer, Inc. 1994 Apple Computer, Inc. All rights reserved. No part of this publication or the software described in it may be reproduced, stored in a retrieval
More informationGraphical Analysis. Figure 1. Copyright c 1997 by Awi Federgruen. All rights reserved.
Graphical Analysis For problems with 2 variables, we can represent each solution as a point in the plane. The Shelby Shelving model (see the readings book or pp.68-69 of the text) is repeated below for
More information(Refer Slide Time: 00:02:02)
Computer Graphics Prof. Sukhendu Das Dept. of Computer Science and Engineering Indian Institute of Technology, Madras Lecture - 20 Clipping: Lines and Polygons Hello and welcome everybody to the lecture
More informationDataFlash and Serial Flash BGA Package. Design Note. DataFlash and Serial Flash BGA Package. Introduction
DataFlash and Serial Flash BGA Package Introduction Adesto Technologies, DataFlash (AT45DB) and Serial Flash Devices (AT25DF) have been offered for sale in different Ball Grid Array (BGA) package options.
More informationSDK White Paper. Vertex Lighting Achieving fast lighting results
SDK White Paper Vertex Lighting Achieving fast lighting results WP-01400-001-v01 July 2004 Abstract Vertex Lighting Vertex lighting is not as accurate as per-pixel lighting. However, it has the advantage
More informationKimosetter RIP. User Guide (for Windows) Kimosetter RIP User Guide. Revised: July, 2007
Kimosetter RIP User Guide (for Windows) Revised: July, 2007 1 Copyright and Trademarks (Win version) July, 2007 The Copyright Notices for the Software and Documentation: Copyright Lucid Dream Software,
More informationHistogram calculation in OpenCL. Victor Podlozhnyuk
Histogram calculation in OpenCL Victor Podlozhnyuk vpodlozhnyuk@nvidia.com Document Change History Version Date Responsible Reason for Change 1.0 06/15/2007 Victor Podlozhnyuk First draft of histogram256
More informationHow to Split PDF files with AutoSplit
How to Split PDF files with AutoSplit An introduction to PDF document splitting and page extraction Table of Contents What software do I need?... 2 What splitting methods are available?... 2 What documents
More informationData Representation From 0s and 1s to images CPSC 101
Data Representation From 0s and 1s to images CPSC 101 Learning Goals After the Data Representation: Images unit, you will be able to: Recognize and translate between binary and decimal numbers Define bit,
More informationGetting Started with Transparency
Getting Started with Transparency Using Adobe Creative Suite 2 Software 1 Introduction to transparency 3 Creating transparency effects 4 Saving, exporting, and printing files with transparency 7 Transparency-related
More informationWARNING for Autumn 2004:
CSE 413 Programming Languages Autumn 2003 Max Points 50 Closed book, closed notes, no electronics. Do your own work! WARNING for Autumn 2004 Last year s exam did not cover Scheme and Java, but this year
More informationLenovo RAID Introduction Reference Information
Lenovo RAID Introduction Reference Information Using a Redundant Array of Independent Disks (RAID) to store data remains one of the most common and cost-efficient methods to increase server's storage performance,
More informationReport Designer Report Types Table Report Multi-Column Report Label Report Parameterized Report Cross-Tab Report Drill-Down Report Chart with Static
Table of Contents Report Designer Report Types Table Report Multi-Column Report Label Report Parameterized Report Cross-Tab Report Drill-Down Report Chart with Static Series Chart with Dynamic Series Master-Detail
More informationDolphin PartMaster Wire EDM
Dolphin PartMaster Wire EDM Copyright 2000-2017 Dolphin CADCAM Systems Ltd. This document is copyrighted and all rights are reserved. This document may not, in whole or in part, be copied or reproduced
More informationChapter 8: Implementation- Clipping and Rasterization
Chapter 8: Implementation- Clipping and Rasterization Clipping Fundamentals Cohen-Sutherland Parametric Polygons Circles and Curves Text Basic Concepts: The purpose of clipping is to remove objects or
More informationanatomy cap height x-height baseline descender ligature finial terminal ascender spine small capital uppercase counter cross bar lowercase
Type Anatomy anatomy cap height x-height baseline stem bowl serif descender ligature ascender finial terminal ascender spine uppercase small capital cross bar counter lowercase 36 thinking with type cap
More information