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 |