Update contrib.
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);