Main Page   Namespace List   Class Hierarchy   Compound List   File List   Compound Members   File Members  

AmharicEngine Class Reference

finite state machine that converts to Amharic. More...

#include <AmharicEngine.h>

Inheritance diagram for AmharicEngine:

BasicEngine List of all members.

Public Methods

 AmharicEngine ()
const PWCHAR convertASCII (const WCHAR& incoming)
 calls IdentifyChar which will actually handle the conversion.

bool isForceBackspace ()
 returns the state of ForceBackspace.

void setForceBackspace (bool fB)
 sets the ForceBackspace private member.


Private Types

enum  AmharicStateType {
  _BRq = 1,
  _BRk,
  _BRg,
  _BRl,
  _BRm,
  _BRr,
  _BRn,
  _BRh,
  _BRS,
  _BRs,
  _BR,
  _BRsW,
  _h,
  _H,
  _HW,
  _l,
  _lW,
  _m,
  _mW,
  _r,
  _rW,
  _b,
  _bW,
  _w,
  _x,
  _xW,
  _s,
  _sW,
  _sc,
  _v,
  _vW,
  _q,
  _Q,
  _qW,
  _QW,
  _c,
  _cW,
  _t,
  _tW,
  _n,
  _nW,
  _pc,
  _N,
  _NW,
  _hW,
  _k,
  _kW,
  _K,
  _KW,
  _e,
  _z,
  _zW,
  _y,
  _yW,
  _d,
  _dW,
  _j,
  _ps,
  _jW,
  _g,
  _f,
  _fW,
  _p,
  _pW,
  _Z,
  _ZW,
  _D,
  _DW,
  _gW,
  _G,
  _GW,
  _T,
  _TW,
  _C,
  _CW,
  _X,
  _P,
  _PW,
  _S,
  _SW,
  _mY,
  _rY,
  _fY
}
 defines Amharic syllables of for enum Amharic { syllablename = 0xUnicodevalue, ...}; These are states of the current buffer. Notice they all start with _, to distinguish them from Unicode chars. More...


Private Methods

void IdentifyChar (WCHAR incoming)
 private utility functions THIS IS THE MAIN FUNCTION, setting ToSend based on incoming.

void toLowercase (WCHAR& ch)
 Why is this a member? Because it's selectively converting to lower case only those chars that may be in the SERA scheme for Amharic text.

void numberConvertor ()
 converts ASCII numbers to Amharic & appends to ToSend.

bool isHundred (PWCHAR str)
 specifically identifies the Geez meto (100) character.

bool isTenThousand (PWCHAR str)
 specifically identifies the Geez 10,000 character.

const WCHAR ones (const WCHAR& num)
 returns appropiate Amharic one's character.

const WCHAR tens (const WCHAR& num)
 returns appropiate Amharic ten's character.


Private Attributes

bool ForceBackspace
 whether or not we will be backspacing to erase the previous character.


Detailed Description

finite state machine that converts to Amharic.

The AmharicEngine contains the language specific information necessary to convert from ASCII character codes to Amharic. It utilizes a finite state machine to make this determination. It also contains an algorithm for converting Roman numbers to the Amharic number scheme.


Member Enumeration Documentation

enum AmharicStateType [private]
 

Enumeration values:
_BRq  
_BRk  
_BRg  
_BRl  
_BRm  
_BRr  
_BRn  
_BRh  
_BRS  
_BRs  
_BR  
_BRsW  
_h  
_H  
_HW  
_l  
_lW  
_m  
_mW  
_r  
_rW  
_b  
_bW  
_w  
_x  
_xW  
_s  
_sW  
_sc  
_v  
_vW  
_q  
_Q  
_qW  
_QW  
_c  
_cW  
_t  
_tW  
_n  
_nW  
_pc  
_N  
_NW  
_hW  
_k  
_kW  
_K  
_KW  
_e  
_z  
_zW  
_y  
_yW  
_d  
_dW  
_j  
_ps  
_jW  
_g  
_f  
_fW  
_p  
_pW  
_Z  
_ZW  
_D  
_DW  
_gW  
_G  
_GW  
_T  
_TW  
_C  
_CW  
_X  
_P  
_PW  
_S  
_SW  
_mY  
_rY  
_fY  


Constructor & Destructor Documentation

AmharicEngine ( )
 


Member Function Documentation

void IdentifyChar ( WCHAR incoming ) [private]
 

const PWCHAR convertASCII ( const WCHAR & incoming )
 

bool isForceBackspace ( ) [inline]
 

bool isHundred ( PWCHAR str ) [private]
 

bool isTenThousand ( PWCHAR str ) [private]
 

void numberConvertor ( ) [private]
 

const WCHAR ones ( const WCHAR & num ) [private]
 

void setForceBackspace ( bool fB ) [inline]
 

const WCHAR tens ( const WCHAR & num ) [private]
 

void toLowercase ( WCHAR & ch ) [private]
 


Member Data Documentation

bool ForceBackspace [private]
 


The documentation for this class was generated from the following files:
Generated at Tue Jan 30 17:03:28 2001 for UniGeez by doxygen1.2.1 written by Dimitri van Heesch, © 1997-2000