home *** CD-ROM | disk | FTP | other *** search
- /*
- *****************************************************************************************
- * *
- * COPYRIGHT: *
- * (C) Copyright Taligent, Inc., 1997 *
- * (C) Copyright International Business Machines Corporation, 1997-1999 *
- * Licensed Material - Program-Property of IBM - All Rights Reserved. *
- * US Government Users Restricted Rights - Use, duplication, or disclosure *
- * restricted by GSA ADP Schedule Contract with IBM Corp. *
- * *
- *****************************************************************************************
- *
- * File UNICDCM.H
- *
- * UnicodeClassMapping maps characters to state change inputs for WordBreakTable.
- *
- * @package Text and International
- * @category Text Scanning
- *
- * Modification History:
- *
- * Date Name Description
- * 02/18/97 aliu Converted from OpenClass.
- * 05/06/97 aliu Made SpecialMapping an array of objects instead of pointers,
- * to help out non-compliant compilers.
- *****************************************************************************************
- */
-
- #ifndef UNICDCM_H
- #define UNICDCM_H
-
- #include "spclmap.h"
- #include "unicode.h"
-
- /**
- * This class maps characters to state change inputs for
- * WordBreakTable. If the character appears in the exception list,
- * the mapping there is retuned, otherwise the mapping returned by
- * IUnicode::type is returned.
- *
- * Note in this implementation characters from 0x0040 to 0x009f always use the
- * mapping returned by IUnicode::type and never the exception list.
- */
- class UnicodeClassMapping {
- public:
- // For convenience
- typedef TextBoundaryData::Type Type;
-
- /**
- * Create a mapping given a mapping from categories and a list
- * of exceptions. Both the mapping list and exceptionChars list must
- * be sorted in ascending order.
- */
- UnicodeClassMapping(Type* mappedValue,
- int32_t mappedValue_length,
- const SpecialMapping* exceptionChars,
- int32_t exceptionChars_length,
- const bool_t* hasException,
- Type* asiiValues );
-
- /**
- * Map a character to a state change input for WordBreakTable.
- * @param ch the character to map.
- * @return the mapped value.
- */
- Type mappedChar(UChar ch) const;
-
- private:
- const bool_t *fHasException;
- const Type* fMappedValue;
- const int32_t fMappedValue_length;
- const SpecialMapping* fExceptionChars;
- const int32_t fExceptionChars_length;
- const Type* fAsciiValues;
- };
-
- #endif // _UNICDCM
- //eof
-