class ACharSetItem : public ADataItem
This is a wrapper class to the character set data found in a_csXXX.h files {XXX}={num, eng, geo} which are Number/Symbol, English, and Georgian character sets.
The macro SET_CHARSET is used to set this object to the character set data in one of the include files. By simply including the header file in a_cset.h and duplicating some code in ACharSetList::cslInitialize, any number of character sets can be used.
Method Description
int csetIsValid
(
   void
) public
A very basic test to verify that the data assigned is not missing or the values are completely incorrect.
Returns: Nothing
class ACharSetList : public AList
This object is contained in ACharSetMatrix. This is a list object that contains characters sets that are #included at the head of a_cset.h. This object enables itself to support any number of character sets and upon a call to cslInitialize it attaches these sets to the list.
Method Description
int cslGetMaxLineHeight (
   void
) public
Access method to the maximum height of all the loaded character sets.
Returns: Nothing.
int cslGetMaxCharWidth (
   void
) public
Access method to the maximum character width of all the loaded character sets.
Returns: Nothing.
void cslInitialize
(
   const char *pccFontOrder
) public
The core function for initializing this list for the known character sets. Each character set has a CSET_TYPE_XXX, and it denotes the search order during display. Hence if {pccFontOrder}="EN" then English set is searched first, the the number set. The BYTEARRAY_MAP_XXX is the string that represents the map of known characters in set. See any of the a_csXXX.h files for the structure of these sets.

Returns: Nothing.
BYTE *cslGetArrayInCharSet
(
   char cGet,
   ACharSetItem *&pcsiCurrent,
   const char
*pccSets=NULL
) public
Retrieves the pointer to the array that represents character {cGet} in the BYTEARRAY_MAP_XXX for the current sets that were initialized. {pccSets} is used to specify which fonts to used from those already initialized.

Returns: A pointer to a BYTE array for the specified character. NULL if not found.
ACharSetItem *cslGetSetFromType
(
   char cType
) public
Once the set is initialized, if you specify CSET_TYPE_XXX as {cType}, the ACharSetItem associated with it is returned.

Returns: A pointer to the ACharSetItem object stored in the list. NULL if not found.
class AChar : public ABitMatrix
This object is based on ABitMatrix and contains a single character that will be used for blitting into ACharSetMatrix. It adds additional methods for handling the height, width and baseline properties directly specified in the character set.
Method Description
void charSet
(
   BYTE *pbChar,
   int iArraySize,
   int iSX,
   int iSY
) public
Given a BYTE array to the character and it's size, this object is constructed as ABitMatrix-type that is easily blittable into another ABitMatrix.
Returns: Nothing.
int charGetBitWidth
(
   void
) public
Gets the width of this object.

Returns: Nothing.
int charGetBitHeight
(
   void
) public
Gets the height of this object.

Returns: Nothing.
int charGetBitBaseline
(
   void
) public
Gets the baseline of this object.

Returns: Nothing.
class ACharSetMatrix : public ABitMatrix
This is the main object used for generating X11 bitmap with a character set. It contains a list object that contains character sets. This object also adds text output wrappers and an ability to get the output text's extent useful for formatting. A structure TEXTOUT is used for extended formatting of the text.
Method Description
void csmUnformattedTextToCanvas
(
   const char *pccString,
   int iiWidthInChars=-1,
   int iNumberOfLines=-1,
   int iLineWrap=0x0
) public
Accepts a string with newlines and outputs it unformatted to the canvas at (0,0). If {iWidthInChars} and {iNumberOfLines} are specified the canvas is resized. The canvas is always cleared. For custom output without clearing or at a custom location use csmTextOut and csmTextOutExt. This function is a high level output function. {iLineWrap} will wrap long lines if non-zero.
Returns: Nothing.
int csmTextOut
(
   const char *pccOut,
   int iLength=-1,
   int iPX=0x0,
   int iPY=0x0,
   int iLineHeight=-1,
   int iBaseline=-1
) public
Basic method for generating output from a NULL terminated character string {pccOutput} of {iLength}. Output's top-left corner is {iPX, iPY} and constrained to a line height of {iLineHeight} and a character baseline of {iBaseline}.
Returns: Non-zero if no errors were encountered.
int csmTextOutEx
(
   TEXTOUT& tOut
) public
Advanced method for generating output. TEXTOUT structure contains the output formatting characteristics.
Returns: Non-zero if no errors were encountered.
int csmGetTextExtent
(
   const char *pccOut,
   int iLength=-1
) public
Simple method for getting the width of the character string given by {pccOut} of {iLength}. Useful when determining if a string will fit into this object without clipping. Usually done before csmTextOut is called.
Returns: A width in bits.
int csmGetTextExtent
(
   TEXTOUT &tOut
) public
Advanced method for getting the width of the character string given by {TEXTOUT}. Useful when determining if a string and format specified will fit into this object without clipping. Usually done before csmTextOut is called.
Returns: A width in bits.