/* Control codes (used internally when rendering a label, i.e. a user-specified text string). The header file is #include'd by g_cntrlify.c, and g_alabel_her.c (which renders labels in Hershey fonts), and by the generic renderer g_alabel.c. */ /* the order of these must agree with the order in g_cntrlify.h */ #define C_BEGIN_SUPERSCRIPT 0 #define C_END_SUPERSCRIPT 1 #define C_BEGIN_SUBSCRIPT 2 #define C_END_SUBSCRIPT 3 #define C_PUSH_LOCATION 4 #define C_POP_LOCATION 5 #define C_RIGHT_ONE_EM 6 #define C_RIGHT_HALF_EM 7 #define C_RIGHT_QUARTER_EM 8 #define C_RIGHT_SIXTH_EM 9 #define C_RIGHT_EIGHTH_EM 10 #define C_RIGHT_TWELFTH_EM 11 #define C_LEFT_ONE_EM 12 #define C_LEFT_HALF_EM 13 #define C_LEFT_QUARTER_EM 14 #define C_LEFT_SIXTH_EM 15 #define C_LEFT_EIGHTH_EM 16 #define C_LEFT_TWELFTH_EM 17 #define C_RIGHT_RADICAL_SHIFT 254 /* for \rn in PS and PCL fonts */ #define C_LEFT_RADICAL_SHIFT 255 #define PS_RADICAL_WIDTH 0.515 /* shifts to make radical, radicalex line up */ #define PCL_RADICAL_WIDTH 0.080 #define RADICALEX 96 /* flags in each unsigned short in a `controlified' text string (mutually exclusive) */ #define CONTROL_CODE 0x8000 #define RAW_HERSHEY_GLYPH 0x4000 #define RAW_ORIENTAL_HERSHEY_GLYPH 0x2000 /* masks for extracting, from an unsigned short in a controlified text string, (1) the font, if none of the above flags is set, or (2) the raw glyph number, if either of the latter two flags is set */ #define ONE_BYTE 0xff #define FONT_SHIFT 8 #define FONT_SPEC (ONE_BYTE << FONT_SHIFT) #define GLYPH_SPEC 0x1fff