VoiceMan
Public Types | Public Member Functions
Lang Class Reference

The abstract interface for all language objects. More...

Inheritance diagram for Lang:
EngLang RusLang

List of all members.

Public Types

enum  CharType { UpCase = 0, LowCase = 1, Other = 2 }

Public Member Functions

virtual bool equalChars (wchar_t c1, wchar_t c2) const =0
 Checks if specified characters are represent same letter.
virtual void expandNumbers (std::wstring &str, bool singleDigits) const =0
 Replaces numbers with their word representation.
virtual std::wstring getAllChars () const =0
 Returns all characters of this language alphabet (in all cases)
virtual CharType getCharType (wchar_t c) const =0
 Returns type of specified character.
virtual void markCapitals (const std::wstring &text, BoolVector &marks) const =0
 Marks letters to speak separately (usual acronims)
virtual std::wstring separate (const std::wstring &text) const =0
 Inserts additional spaces to better words processing.
virtual wchar_t toLower (wchar_t ch) const =0
 Returns lower case of the specified character.
virtual std::wstring toLower (const std::wstring &str) const =0
 Returns lower case of the specified string.
virtual wchar_t toUpper (wchar_t ch) const =0
 Returns upper case of the specified character.
virtual std::wstring toUpper (const std::wstring &str) const =0
 Returns upper case of the specified string.
virtual ~Lang ()
 The destructor.

Detailed Description

Language objects are used to provide all language-specific information and unify all language operations. VoiceMan server has associated language object for all portions of text.Usually these objects are used to get set of characters, translate digits into words representation, perform case insensitive characters comparing and for some others.

See also:
LangManager EngLang RusLang

Member Function Documentation

virtual bool Lang::equalChars ( wchar_t  c1,
wchar_t  c2 
) const [pure virtual]

Almost in every language each letter can be represented in different cases and different characters are used. This method checks, if specified characters are represent the same letter.

Parameters:
[in]c1The first character to compare
[in]c2The second character to compare
Returns:
Non-zero if provided characters are the same letters or zero otherwise

Implemented in RusLang, and EngLang.

virtual void Lang::expandNumbers ( std::wstring &  str,
bool  singleDigits 
) const [pure virtual]

This method replaces all digits by their words representation with the rules of some language. Single digits mode replaces just each digit with corresponding word.

Parameters:
[in/out]str The string to process
[in]singleDigitsProcess each digit as separate number

Implemented in RusLang, and EngLang.

virtual std::wstring Lang::getAllChars ( ) const [pure virtual]

This method allows you to enumerate all characters used in corresponding language.

Returns:
All characters of language

Implemented in RusLang, and EngLang.

virtual CharType Lang::getCharType ( wchar_t  c) const [pure virtual]

This method allows you to get class of specified character. It returns one of the following values: Lang::UpCase, Lang::LowCase or Lang::Other.

Parameters:
[in]cThe character to get type of
Returns:
Type of specified character (Lang::UpCase, Lang::LowCase or Lang::Other)

Implemented in RusLang, and EngLang.

virtual void Lang::markCapitals ( const std::wstring &  text,
BoolVector &  marks 
) const [pure virtual]

This method marks characters to speak phonetically . Usually some heuristic or predefined table are used.

Parameters:
[in]textThe string to process
[out]marksThe boolean vector to save marks

Implemented in RusLang, and EngLang.

virtual std::wstring Lang::separate ( const std::wstring &  text) const [pure virtual]

This method inserts additional spaces to split words to avoid using capital letters in the middle of the words. If capital letter are used in the middle of the word this method will insert space before it. It is useful for Hungarian notation.

Parameters:
[in]textThe string to process
Returns:
The string with splitted words

Implemented in RusLang, and EngLang.

virtual wchar_t Lang::toLower ( wchar_t  ch) const [pure virtual]

This method adjusts provided character to lower case.

Parameters:
[in]chThe character to return lower case of
Returns:
The lower case of provided character

Implemented in RusLang, and EngLang.

virtual std::wstring Lang::toLower ( const std::wstring &  str) const [pure virtual]

This method adjusts characters of provided string to lower case.

Parameters:
[in]strThe string to return lower case of
Returns:
The lower case of provided string

Implemented in RusLang, and EngLang.

virtual wchar_t Lang::toUpper ( wchar_t  ch) const [pure virtual]

This method adjusts provided character to upper case.

Parameters:
[in]chThe character to return upper case of
Returns:
The upper case of provided character

Implemented in RusLang, and EngLang.

virtual std::wstring Lang::toUpper ( const std::wstring &  str) const [pure virtual]

This method adjusts characters of provided string to upper case.

Parameters:
[in]strThe string to return upper case of
Returns:
The upper case of provided string

Implemented in RusLang, and EngLang.