Index: icu46/source/test/letest/cmaps.h |
=================================================================== |
--- icu46/source/test/letest/cmaps.h (revision 0) |
+++ icu46/source/test/letest/cmaps.h (revision 0) |
@@ -0,0 +1,85 @@ |
+/*************************************************************************** |
+* |
+* Copyright (C) 1998-2006, International Business Machines |
+* Corporation and others. All Rights Reserved. |
+* |
+************************************************************************/ |
+ |
+ |
+#ifndef __CMAPS_H |
+#define __CMAPS_H |
+ |
+#include "layout/LETypes.h" |
+#include "letest.h" |
+#include "sfnt.h" |
+ |
+class CMAPMapper |
+{ |
+public: |
+ virtual LEGlyphID unicodeToGlyph(LEUnicode32 unicode32) const = 0; |
+ |
+ virtual ~CMAPMapper(); |
+ |
+ static CMAPMapper *createUnicodeMapper(const CMAPTable *cmap); |
+ |
+protected: |
+ CMAPMapper(const CMAPTable *cmap); |
+ |
+ CMAPMapper() {}; |
+ |
+private: |
+ const CMAPTable *fcmap; |
+}; |
+ |
+class CMAPFormat4Mapper : public CMAPMapper |
+{ |
+public: |
+ CMAPFormat4Mapper(const CMAPTable *cmap, const CMAPFormat4Encoding *header); |
+ |
+ virtual ~CMAPFormat4Mapper(); |
+ |
+ virtual LEGlyphID unicodeToGlyph(LEUnicode32 unicode32) const; |
+ |
+protected: |
+ CMAPFormat4Mapper() {}; |
+ |
+private: |
+ le_uint16 fEntrySelector; |
+ le_uint16 fRangeShift; |
+ const le_uint16 *fEndCodes; |
+ const le_uint16 *fStartCodes; |
+ const le_uint16 *fIdDelta; |
+ const le_uint16 *fIdRangeOffset; |
+}; |
+ |
+class CMAPGroupMapper : public CMAPMapper |
+{ |
+public: |
+ CMAPGroupMapper(const CMAPTable *cmap, const CMAPGroup *groups, le_uint32 nGroups); |
+ |
+ virtual ~CMAPGroupMapper(); |
+ |
+ virtual LEGlyphID unicodeToGlyph(LEUnicode32 unicode32) const; |
+ |
+protected: |
+ CMAPGroupMapper() {}; |
+ |
+private: |
+ le_int32 fPower; |
+ le_int32 fRangeOffset; |
+ const CMAPGroup *fGroups; |
+}; |
+ |
+inline CMAPMapper::CMAPMapper(const CMAPTable *cmap) |
+ : fcmap(cmap) |
+{ |
+ // nothing else to do |
+} |
+ |
+inline CMAPMapper::~CMAPMapper() |
+{ |
+ DELETE_ARRAY(fcmap); |
+} |
+ |
+#endif |
+ |
Property changes on: icu46/source/test/letest/cmaps.h |
___________________________________________________________________ |
Added: svn:eol-style |
+ LF |