Семь уроков по PostScript


Кодирование шрифта - часть 6


 

строка cvn à имя

 

Пример.

Синтаксис: (abc) cvn à

/abc

 

cvx – конвертирование в исполняемую форму. Делает литеральный объект что-либо из вершины стека операндов исполняемым. Возможность выполнить динамически создаваемую процедуру.

Синтаксис:

что-либо cvx à что-либо

 

Логические операторы в PostScript работают как с целыми числами, так и с логическими. В первом случае операция выполняется над операндом поразрядно. Имеется четыре основных логических операции: and, or, not и xor (из которых, как известно, можно построить все остальные булевские функции). Для краткости ниже дан пример только для xor.

 

xor – если оба операнда логические величины, то в стеке возвращается результат операции “исключающее ИЛИ”, если операнды – типа integer, в стек помещается результат поразрядной операции xor над их двоичным представлением.

 

Синтаксис:

bool1 bool2 xor à bool3

int1 int2 xor à int3

 

Пример.

true false xor à true

 

Операторы сравнения

 

ge – больше или равно.

 

Синтаксис:

число1 число2 ge à результат_сравнения

строка1 строка2 ge à

результат_сравнения

 

извлекает два объекта из стека операндов и помещает в него значение true, если первый операнд больше или равен второму. Строки сравниваются посимвольно.

Пример.

8.2   8.1 ge à

true

Аналогично работают и другие операторы сравнения:

gt – больше чем

eq – равно

ne – не равно

le – меньше равно

lt – меньше чем.

 

bitshift -- логический сдвиг числа. Сдвигает двоичное представление целого числа integer1 влево на shift разрядов, если shift положительно, или вправо, если отрицательно. Возвращает результат integer2. Биты исходящие теряются, а входящие -- обнуляются. Оба операнда должны быть целыми числами.

 

Синтаксис: integer1 shift bitshift à

integer2

 

Пример.

5 4 bitshift à

80

144 -3 bitshift à

56

 

Генерация случайных чисел




- Начало -  - Назад -  - Вперед -