Every presentation space has a current character mode, which determines the extent to which a font can be affected by the attributes defined in CHARBUNDLE. The mode affects compatibility issues that are invisible to both the user and the programmer. The following table describes the character modes and their influences on the current font.
An application selects a character mode using GpiSetCharMode. When a mode is selected, it applies to any font (including the system font) used while the mode is current. The character mode takes effect when you draw character strings; it has no effect at the time you define a logical font.
Character Mode Effects on Character Attributes
┌──────────┬────────────────────────────┬──────────────────────┐ │Character │If Image Font... │If Outline Font... │ │Mode │ │ │ ├──────────┼────────────────────────────┼──────────────────────┤ │CM_MODE1 │Ignores all current │Affected by all │ │ │character attributes, except│current character │ │ │character direction. │attributes. │ ├──────────┼────────────────────────────┼──────────────────────┤ │CM_MODE2 │Uses the character shear, │Affected by all │ │ │box, angle, and direction │current character │ │ │attributes to position the │attributes. │ │ │character cell, but the │ │ │ │characters themselves are │ │ │ │not sheared, rotated, │ │ │ │scaled, or reversed. │ │ ├──────────┼────────────────────────────┼──────────────────────┤ │CM_MODE3 │Raises an error if you try │Affected by all │ │ │to draw a character string. │current character │ │ │Note: Any font used when │attributes. │ │ │the current character mode │ │ │ │is CM_MODE3 must be an │ │ │ │outline font. │ │ └──────────┴────────────────────────────┴──────────────────────┘
The default character mode (CM_DEFAULT) is identical to CM_MODE1.