[HB] More cleanup
This commit is contained in:
parent
20cc86b359
commit
cc6c644ff2
|
@ -82,7 +82,7 @@ struct LangSys
|
||||||
inline const unsigned int get_feature_index (unsigned int i) const { return featureIndex[i]; }
|
inline const unsigned int get_feature_index (unsigned int i) const { return featureIndex[i]; }
|
||||||
inline unsigned int get_feature_count (void) const { return featureIndex.len; }
|
inline unsigned int get_feature_count (void) const { return featureIndex.len; }
|
||||||
|
|
||||||
inline const bool has_required_feature (void) const { return reqFeatureIndex != 0xffff; }
|
inline bool has_required_feature (void) const { return reqFeatureIndex != 0xffff; }
|
||||||
inline int get_required_feature_index (void) const
|
inline int get_required_feature_index (void) const
|
||||||
{
|
{
|
||||||
if (reqFeatureIndex == 0xffff)
|
if (reqFeatureIndex == 0xffff)
|
||||||
|
@ -114,7 +114,7 @@ struct Script
|
||||||
// LONGTERMTODO bsearch
|
// LONGTERMTODO bsearch
|
||||||
DEFINE_TAG_FIND_INTERFACE (LangSys, lang_sys); /* find_lang_sys_index (), get_lang_sys_by_tag (tag) */
|
DEFINE_TAG_FIND_INTERFACE (LangSys, lang_sys); /* find_lang_sys_index (), get_lang_sys_by_tag (tag) */
|
||||||
|
|
||||||
inline const bool has_default_lang_sys (void) const { return defaultLangSys != 0; }
|
inline bool has_default_lang_sys (void) const { return defaultLangSys != 0; }
|
||||||
inline const LangSys& get_default_lang_sys (void) const { return this+defaultLangSys; }
|
inline const LangSys& get_default_lang_sys (void) const { return this+defaultLangSys; }
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
|
|
@ -108,17 +108,17 @@
|
||||||
inline const Tag& get_##name##_tag (unsigned int i) const { return (this+name##List).get_tag (i); }
|
inline const Tag& get_##name##_tag (unsigned int i) const { return (this+name##List).get_tag (i); }
|
||||||
|
|
||||||
#define DEFINE_TAG_FIND_INTERFACE(Type, name) \
|
#define DEFINE_TAG_FIND_INTERFACE(Type, name) \
|
||||||
inline bool find_##name##_index (hb_tag_t tag, unsigned int *name##_index) const { \
|
inline bool find_##name##_index (hb_tag_t tag, unsigned int *index) const { \
|
||||||
const Tag t = tag; \
|
const Tag t = tag; \
|
||||||
for (unsigned int i = 0; i < get_##name##_count (); i++) \
|
for (unsigned int i = 0; i < get_##name##_count (); i++) \
|
||||||
{ \
|
{ \
|
||||||
if (t == get_##name##_tag (i)) \
|
if (t == get_##name##_tag (i)) \
|
||||||
{ \
|
{ \
|
||||||
if (name##_index) *name##_index = i; \
|
if (index) *index = i; \
|
||||||
return true; \
|
return true; \
|
||||||
} \
|
} \
|
||||||
} \
|
} \
|
||||||
if (name##_index) *name##_index = NO_INDEX; \
|
if (index) *index = NO_INDEX; \
|
||||||
return false; \
|
return false; \
|
||||||
} \
|
} \
|
||||||
inline const Type& get_##name##_by_tag (hb_tag_t tag) const \
|
inline const Type& get_##name##_by_tag (hb_tag_t tag) const \
|
||||||
|
@ -150,10 +150,11 @@ struct Null
|
||||||
|
|
||||||
/* Specializaiton for arbitrary-content arbitrary-sized Null objects. */
|
/* Specializaiton for arbitrary-content arbitrary-sized Null objects. */
|
||||||
#define DEFINE_NULL_DATA(Type, size, data) \
|
#define DEFINE_NULL_DATA(Type, size, data) \
|
||||||
|
static const char _Null##Type[size] = data; \
|
||||||
template <> \
|
template <> \
|
||||||
struct Null <Type> \
|
struct Null <Type> \
|
||||||
{ \
|
{ \
|
||||||
static inline const Type &get () { static const char bytes[size] = data; return (const Type&) *bytes; /* XXX */ } \
|
static inline const Type &get () { return (const Type&) *_Null##Type; } \
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Accessor macro. */
|
/* Accessor macro. */
|
||||||
|
|
Loading…
Reference in New Issue