]>
git.saurik.com Git - apple/icu.git/blob - icuSources/test/letest/cmaps.h
1 /***************************************************************************
3 * Copyright (C) 1998-2003, International Business Machines
4 * Corporation and others. All Rights Reserved.
6 ************************************************************************/
18 virtual LEGlyphID
unicodeToGlyph(LEUnicode32 unicode32
) const = 0;
20 virtual ~CMAPMapper();
22 static CMAPMapper
*createUnicodeMapper(const CMAPTable
*cmap
);
25 CMAPMapper(const CMAPTable
*cmap
);
30 const CMAPTable
*fcmap
;
33 class CMAPFormat4Mapper
: public CMAPMapper
36 CMAPFormat4Mapper(const CMAPTable
*cmap
, const CMAPFormat4Encoding
*header
);
38 virtual ~CMAPFormat4Mapper();
40 virtual LEGlyphID
unicodeToGlyph(LEUnicode32 unicode32
) const;
43 CMAPFormat4Mapper() {};
46 le_uint16 fEntrySelector
;
47 le_uint16 fRangeShift
;
48 const le_uint16
*fEndCodes
;
49 const le_uint16
*fStartCodes
;
50 const le_uint16
*fIdDelta
;
51 const le_uint16
*fIdRangeOffset
;
54 class CMAPGroupMapper
: public CMAPMapper
57 CMAPGroupMapper(const CMAPTable
*cmap
, const CMAPGroup
*groups
, le_uint32 nGroups
);
59 virtual ~CMAPGroupMapper();
61 virtual LEGlyphID
unicodeToGlyph(LEUnicode32 unicode32
) const;
68 le_int32 fRangeOffset
;
69 const CMAPGroup
*fGroups
;
72 inline CMAPMapper::CMAPMapper(const CMAPTable
*cmap
)
78 inline CMAPMapper::~CMAPMapper()
80 LE_DELETE_ARRAY(fcmap
);