TKE_Text_Font
Opcode
| ASCII |
F |
| Hexadecimal |
46 |
| Decimal |
70 |
Operands
Byte mask, Byte value, [Byte mask_high, Byte value_high]
[Word mask_high2, Word value_high2]
[Byte names_length], [(names_length)xByte names],
[Float size, Byte size_units],
[Float size_tolerance, Byte tolerance_units],
[Byte transforms], [Float rotation], [Float slant], [Float width_scale],
[Float extra_space, Byte extra_space_units], [Float line_spacing],
[Float greeking_limit, Byte greeking_limit_units],
[Byte greeking_mode],
[Byte renderer]
| mask |
bitmask of options. |
| value |
bitmask indicating which options are set on. |
| mask_high |
if high bit is set in the first mask
byte, this set of bits is added to mask. |
| value_high |
if high bit is set in the first mask
byte, this set of bits is added to value. |
| mask_high2 |
if high bit is set in the second mask
byte, this set of bits is added to mask. |
| value_high2 |
if high bit is set in the second mask
byte, this set of bits is added to value. |
| names_length |
length of names string |
| names |
one or more font names to attempt to use |
| size |
desired size of text |
| size_units |
enumeration describing how size is interpreted |
| size_tolerance |
indicates acceptable size difference for fixed-size
bitmap fonts |
| tolerance_units |
enumeration describing how tolerance is interpreted |
| transforms |
enumeration indicating how text string is
affected by modelling matrix |
| rotation |
rotation of characters relative to the horizontal
(in degrees). value of -1 indicates characters are rotated to lie along
the text path |
| slant |
amount of slant applied to characters (in
degrees) |
| width_scale |
horizontal scaling applied to the entire text
string |
| extra_space |
additional space added between characters |
| extra_space_units |
enumeration describing how extra space is
interpreted |
| line_spacing |
distance between baseline of multi-line strings,
as a multiple of the font height |
| greeking_limit |
limit below which text may be replaced by
simple geometry |
| greeking_limit_units |
enumeration describing how greeking limit
is interpreted |
| greeking_mode |
enumeration describing to handle text below
the greeking limit |
| renderer |
enumeration describing limitation on font
type |
Notes
Text attributes which are set on the currently open segment. These
attributes are applied to any text that lies in this part of the segment
tree.
Mask/Value bits:
| 00000001 |
Names |
| 00000002 |
Size |
| 00000004 |
Size Tolerance |
| 00000008 |
Transforms |
| 00000010 |
Rotation |
| 00000020 |
Slant |
| 00000040 |
Width_Scale |
| 00000080 |
second byte required |
| 00000100 |
Extra Space |
| 00000200 |
Line Spacing |
| 00000400 |
Outline preferred |
| 00000800 |
Underline preferred |
| 00001000 |
Strikethrough preferred |
| 00002000 |
Overline preferred |
| 00004000 |
Force non-proportional spacing |
| 00008000 |
second word required |
| 00010000 |
Greeking Limit |
| 00020000 |
Fill Edges |
| 00040000 |
Bold desired |
| 00080000 |
Italic desired |
| 00100000 |
Renderer specified |
| 00200000 |
Greeking Mode specified |
Size Units options:
| 0 |
Object space size |
| 1 |
Screen space size |
| 2 |
Window space size |
| 3 |
Points |
| 4 |
Pixels |
| 5 |
Percentage (only used for Size Tolerance) |
Transform options:
| 0 |
Only position of each character is transformed |
| 1 |
Entire character glyphs are transformed |
Greeking Mode options:
| 0 |
Greeked text is not drawn |
| 1 |
Greeked text is replaced with a simple grid
of lines |
| 2 |
Greeked text is replaced with a halftone
filled box |
Renderer options:
| 0 |
Use any available fonts |
| 1 |
Limit choices to driver-specific fonts |
| 2 |
Limit choices to Truetype (or similar, such as
Type1) fonts |
| 3 |
Limit choices to Defined (stroked) fonts |