Managing the Control Value Table

The Control Value Table stores information that is accessed by the indirect instructions. Values can be written to the CVT in FUnits or pixel units as proves convenient. Values read from the CVT are always in pixels (F26Dot6 ). This table, unlike the Storage Area, is initialized by the font and is automatically scaled.

Write Control Value Table in Pixel units

WCVTP[ ]

Code Range

0x44

Pops

value: number in pixels (F26Dot6 fixed point number)

location: Control Value Table location (ULONG)

Pushes

Sets

Control Value Table entry


Pops a location and a value from the stack and puts that value in the specified location in the Control Value Table. This instruction assumes the value is in pixels and not in FUnits.

Write Control Value Table in FUnits

WCVTF[ ]

Code Range

0x70

Pops

value: number in FUnits (ULONG)

location: Control Value Table location (ULONG)

Pushes

Sets

Control Value Table entry


Pops a location and a value from the stack and puts the specified value in the specified address in the Control Value Table. This instruction assumes the value is expressed in FUnits and not pixels. The value is scaled before being written to the table.

Read Control Value Table

RCVT[ ]

Code Range

0x45

Pops

location: CVT entry number (ULONG)

Pushes

value: CVT value (F26Dot6)

Gets

Control Value Table entry


Pops a location from the stack and pushes the value in the location specified in the Control Value Table onto the stack.