[HB] More reference cast simplification
This commit is contained in:
parent
eb0dfc830e
commit
6b54c5d044
|
@ -551,10 +551,10 @@ struct ReverseChainSingleSubstFormat1 {
|
|||
if (HB_LIKELY (index == NOT_COVERED))
|
||||
return false;
|
||||
|
||||
const OffsetArrayOf<Coverage> &lookahead = * (const OffsetArrayOf<Coverage> *)
|
||||
((const char *) &backtrack + backtrack.get_size ());
|
||||
const ArrayOf<GlyphID> &substitute = * (const ArrayOf<GlyphID> *)
|
||||
((const char *) &lookahead + lookahead.get_size ());
|
||||
const OffsetArrayOf<Coverage> &lookahead = (const OffsetArrayOf<Coverage>&)
|
||||
*((const char *) &backtrack + backtrack.get_size ());
|
||||
const ArrayOf<GlyphID> &substitute = (const ArrayOf<GlyphID>&)
|
||||
*((const char *) &lookahead + lookahead.get_size ());
|
||||
|
||||
if (match_backtrack (APPLY_ARG,
|
||||
backtrack.len, (USHORT *) backtrack.array,
|
||||
|
|
|
@ -61,12 +61,12 @@ static inline bool match_glyph (hb_codepoint_t glyph_id, const USHORT &value, ch
|
|||
}
|
||||
|
||||
static inline bool match_class (hb_codepoint_t glyph_id, const USHORT &value, char *data) {
|
||||
const ClassDef &class_def = * (const ClassDef *) data;
|
||||
const ClassDef &class_def = (const ClassDef &)*data;
|
||||
return class_def.get_class (glyph_id) == value;
|
||||
}
|
||||
|
||||
static inline bool match_coverage (hb_codepoint_t glyph_id, const USHORT &value, char *data) {
|
||||
const OffsetTo<Coverage> &coverage = * (const OffsetTo<Coverage> *) &value;
|
||||
const OffsetTo<Coverage> &coverage = (const OffsetTo<Coverage>&)value;
|
||||
return (data+coverage) (glyph_id) != NOT_COVERED;
|
||||
}
|
||||
|
||||
|
@ -457,12 +457,12 @@ struct ChainRule {
|
|||
|
||||
private:
|
||||
inline bool apply (APPLY_ARG_DEF, ChainContextLookupContext &context) const {
|
||||
const HeadlessArrayOf<USHORT> &input = * (const HeadlessArrayOf<USHORT> *)
|
||||
((const char *) &backtrack + backtrack.get_size ());
|
||||
const ArrayOf<USHORT> &lookahead = * (const ArrayOf<USHORT> *)
|
||||
((const char *) &input + input.get_size ());
|
||||
const ArrayOf<LookupRecord> &lookup = * (const ArrayOf<LookupRecord> *)
|
||||
((const char *) &lookahead + lookahead.get_size ());
|
||||
const HeadlessArrayOf<USHORT> &input = (const HeadlessArrayOf<USHORT>&)
|
||||
*((const char *) &backtrack + backtrack.get_size ());
|
||||
const ArrayOf<USHORT> &lookahead = (const ArrayOf<USHORT>&)
|
||||
*((const char *) &input + input.get_size ());
|
||||
const ArrayOf<LookupRecord> &lookup = (const ArrayOf<LookupRecord>&)
|
||||
*((const char *) &lookahead + lookahead.get_size ());
|
||||
return chain_context_lookup (APPLY_ARG,
|
||||
backtrack.len, backtrack.array,
|
||||
input.len, input.array + 1,
|
||||
|
@ -602,17 +602,17 @@ struct ChainContextFormat3 {
|
|||
|
||||
inline bool apply (APPLY_ARG_DEF, apply_lookup_func_t apply_func) const {
|
||||
|
||||
const OffsetArrayOf<Coverage> &input = * (const OffsetArrayOf<Coverage> *)
|
||||
((const char *) &backtrack + backtrack.get_size ());
|
||||
const OffsetArrayOf<Coverage> &input = (const OffsetArrayOf<Coverage>&)
|
||||
*((const char *) &backtrack + backtrack.get_size ());
|
||||
|
||||
unsigned int index = (this+input[0]) (IN_CURGLYPH ());
|
||||
if (HB_LIKELY (index == NOT_COVERED))
|
||||
return false;
|
||||
|
||||
const OffsetArrayOf<Coverage> &lookahead = * (const OffsetArrayOf<Coverage> *)
|
||||
((const char *) &input + input.get_size ());
|
||||
const ArrayOf<LookupRecord> &lookup = * (const ArrayOf<LookupRecord> *)
|
||||
((const char *) &lookahead + lookahead.get_size ());
|
||||
const OffsetArrayOf<Coverage> &lookahead = (const OffsetArrayOf<Coverage>&)
|
||||
*((const char *) &input + input.get_size ());
|
||||
const ArrayOf<LookupRecord> &lookup = (const ArrayOf<LookupRecord>&)
|
||||
*((const char *) &lookahead + lookahead.get_size ());
|
||||
struct ChainContextLookupContext context = {
|
||||
{match_coverage, apply_func},
|
||||
{(char *) this, (char *) this, (char *) this}
|
||||
|
|
|
@ -300,7 +300,7 @@ struct OffsetTo : Offset {
|
|||
inline const Type& operator() (const void *base) const {
|
||||
unsigned int offset = *this;
|
||||
if (HB_UNLIKELY (!offset)) return Null(Type);
|
||||
return * (const Type *) ((const char *) base + offset);
|
||||
return (const Type&)*((const char *) base + offset);
|
||||
}
|
||||
};
|
||||
template <typename Base, typename Type>
|
||||
|
|
Loading…
Reference in New Issue