]>
git.saurik.com Git - apple/icu.git/blob - icuSources/layout/OpenTypeUtilities.h
3 * (C) Copyright IBM Corp. 1998-2013 - All Rights Reserved
7 #ifndef __OPENTYPEUTILITIES_H
8 #define __OPENTYPEUTILITIES_H
16 #include "OpenTypeTables.h"
20 class OpenTypeUtilities
/* not : public UObject because all methods are static */ {
22 static le_int8
highBit(le_int32 value
);
23 static Offset
getTagOffset(LETag tag
, const LEReferenceToArrayOf
<TagAndOffsetRecord
> &records
, LEErrorCode
&success
);
24 static le_int32
getGlyphRangeIndex(TTGlyphID glyphID
, const GlyphRangeRecord
*records
, le_int32 recordCount
) {
25 LEErrorCode success
= LE_NO_ERROR
;
26 LETableReference
recordRef0((const le_uint8
*)records
);
27 LEReferenceToArrayOf
<GlyphRangeRecord
> recordRef(recordRef0
, success
, (size_t)0, recordCount
);
28 return getGlyphRangeIndex(glyphID
, recordRef
, success
);
30 static le_int32
getGlyphRangeIndex(TTGlyphID glyphID
, const LEReferenceToArrayOf
<GlyphRangeRecord
> &records
, LEErrorCode
&success
);
31 static le_int32
search(le_uint16 value
, const le_uint16 array
[], le_int32 count
);
32 static le_int32
search(le_uint32 value
, const le_uint32 array
[], le_int32 count
);
33 static void sort(le_uint16
*array
, le_int32 count
);
36 OpenTypeUtilities() {} // private - forbid instantiation