Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Reid G.C.Thinking in PostScript.1990.pdf
Скачиваний:
17
Добавлен:
23.08.2013
Размер:
846.44 Кб
Скачать

Example 13.11: Converting Arbitrary Data to Strings

% /scratch 128 string def /printobject { %def

dup 128 string cvs dup (--nostringval--) eq { %ifelse pop type 24 string cvs

}{ %else

exch pop

}ifelse

}bind def

FontDirectory printobject

StandardEncoding printobject

CONCLUDING THOUGHTS

In this chapter, you’ve learned about data and instructions and how they can be converted from one to the other. You’ve also seen how various data types can be converted into other data types. These techniques will come in handy in the next chapter as you begin using files.

EXERCISES

1.Take the following code segment and rewrite it so that all the data are on the operand stack and all the instructions are inside a procedure. Since the example has two sets of data, please call your procedure twice, once with each set of data.

100 200 moveto 0.5 setgray /Times-Roman findfont 96 scalefont setfont

(G) show

143 171 moveto 0.7 setgray /Times-Roman findfont 96 scalefont setfont

(R) show

2.Write a procedure called cvhex that will turn an integer into a hexadecimal string and leave that string on the operand stack.

3.Write a procedure called tabshow that shows a string of text in the current font, but treats tab characters specially by moving the current point to the right by some fixed amount. (HINT: the ASCII code for a tab is 9.)

Chapter 13: PROGRAM DATA AND INSTRUCTIONS

165

166

Chapter 13: PROGRAM DATA AND INSTRUCTIONS

Chapter 14

Using Files and

Input/Output Techniques

Opening a file to read or write data is one of the most fundamental operations a program can perform. The PostScript language has good support for file operations, although some conceptual understanding of files is required to understand how to use these operators effectively.

File Objects

A file is always represented by a file object in a program. This is even true in other languages, such as C, where a file descriptor is used in all file references once you have opened the file. There is a bona fide PostScript object for file objects, and all of the file-related PostScript operators require the use of it. The file operator and the currentfile operator provide the two standard ways to obtain a file object.

167