[OTLayout] Move code around
This commit is contained in:
parent
9c5a9ee967
commit
ee5464d17f
|
@ -1434,22 +1434,6 @@ struct PosLookup : Lookup
|
||||||
inline const PosLookupSubTable& get_subtable (unsigned int i) const
|
inline const PosLookupSubTable& get_subtable (unsigned int i) const
|
||||||
{ return this+CastR<OffsetArrayOf<PosLookupSubTable> > (subTable)[i]; }
|
{ return this+CastR<OffsetArrayOf<PosLookupSubTable> > (subTable)[i]; }
|
||||||
|
|
||||||
template <typename context_t>
|
|
||||||
inline typename context_t::return_t dispatch (context_t *c) const
|
|
||||||
{
|
|
||||||
TRACE_DISPATCH (this);
|
|
||||||
unsigned int lookup_type = get_type ();
|
|
||||||
unsigned int count = get_subtable_count ();
|
|
||||||
for (unsigned int i = 0; i < count; i++) {
|
|
||||||
typename context_t::return_t r = get_subtable (i).dispatch (c, lookup_type);
|
|
||||||
if (c->stop_sublookup_iteration (r))
|
|
||||||
return TRACE_RETURN (r);
|
|
||||||
}
|
|
||||||
return TRACE_RETURN (c->default_return_value ());
|
|
||||||
}
|
|
||||||
template <typename context_t>
|
|
||||||
static inline typename context_t::return_t dispatch_recurse_func (context_t *c, unsigned int lookup_index);
|
|
||||||
|
|
||||||
inline hb_collect_glyphs_context_t::return_t collect_glyphs_lookup (hb_collect_glyphs_context_t *c) const
|
inline hb_collect_glyphs_context_t::return_t collect_glyphs_lookup (hb_collect_glyphs_context_t *c) const
|
||||||
{
|
{
|
||||||
TRACE_COLLECT_GLYPHS (this);
|
TRACE_COLLECT_GLYPHS (this);
|
||||||
|
@ -1507,6 +1491,23 @@ struct PosLookup : Lookup
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
template <typename context_t>
|
||||||
|
static inline typename context_t::return_t dispatch_recurse_func (context_t *c, unsigned int lookup_index);
|
||||||
|
|
||||||
|
template <typename context_t>
|
||||||
|
inline typename context_t::return_t dispatch (context_t *c) const
|
||||||
|
{
|
||||||
|
TRACE_DISPATCH (this);
|
||||||
|
unsigned int lookup_type = get_type ();
|
||||||
|
unsigned int count = get_subtable_count ();
|
||||||
|
for (unsigned int i = 0; i < count; i++) {
|
||||||
|
typename context_t::return_t r = get_subtable (i).dispatch (c, lookup_type);
|
||||||
|
if (c->stop_sublookup_iteration (r))
|
||||||
|
return TRACE_RETURN (r);
|
||||||
|
}
|
||||||
|
return TRACE_RETURN (c->default_return_value ());
|
||||||
|
}
|
||||||
|
|
||||||
inline bool sanitize (hb_sanitize_context_t *c) {
|
inline bool sanitize (hb_sanitize_context_t *c) {
|
||||||
TRACE_SANITIZE (this);
|
TRACE_SANITIZE (this);
|
||||||
if (unlikely (!Lookup::sanitize (c))) return TRACE_RETURN (false);
|
if (unlikely (!Lookup::sanitize (c))) return TRACE_RETURN (false);
|
||||||
|
|
|
@ -192,17 +192,6 @@ struct SingleSubstFormat2
|
||||||
|
|
||||||
struct SingleSubst
|
struct SingleSubst
|
||||||
{
|
{
|
||||||
template <typename context_t>
|
|
||||||
inline typename context_t::return_t dispatch (context_t *c) const
|
|
||||||
{
|
|
||||||
TRACE_DISPATCH (this);
|
|
||||||
switch (u.format) {
|
|
||||||
case 1: return TRACE_RETURN (c->dispatch (u.format1));
|
|
||||||
case 2: return TRACE_RETURN (c->dispatch (u.format2));
|
|
||||||
default:return TRACE_RETURN (c->default_return_value ());
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
inline bool serialize (hb_serialize_context_t *c,
|
inline bool serialize (hb_serialize_context_t *c,
|
||||||
Supplier<GlyphID> &glyphs,
|
Supplier<GlyphID> &glyphs,
|
||||||
Supplier<GlyphID> &substitutes,
|
Supplier<GlyphID> &substitutes,
|
||||||
|
@ -230,6 +219,17 @@ struct SingleSubst
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
template <typename context_t>
|
||||||
|
inline typename context_t::return_t dispatch (context_t *c) const
|
||||||
|
{
|
||||||
|
TRACE_DISPATCH (this);
|
||||||
|
switch (u.format) {
|
||||||
|
case 1: return TRACE_RETURN (c->dispatch (u.format1));
|
||||||
|
case 2: return TRACE_RETURN (c->dispatch (u.format2));
|
||||||
|
default:return TRACE_RETURN (c->default_return_value ());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
inline bool sanitize (hb_sanitize_context_t *c) {
|
inline bool sanitize (hb_sanitize_context_t *c) {
|
||||||
TRACE_SANITIZE (this);
|
TRACE_SANITIZE (this);
|
||||||
if (!u.format.sanitize (c)) return TRACE_RETURN (false);
|
if (!u.format.sanitize (c)) return TRACE_RETURN (false);
|
||||||
|
@ -385,16 +385,6 @@ struct MultipleSubstFormat1
|
||||||
|
|
||||||
struct MultipleSubst
|
struct MultipleSubst
|
||||||
{
|
{
|
||||||
template <typename context_t>
|
|
||||||
inline typename context_t::return_t dispatch (context_t *c) const
|
|
||||||
{
|
|
||||||
TRACE_DISPATCH (this);
|
|
||||||
switch (u.format) {
|
|
||||||
case 1: return TRACE_RETURN (c->dispatch (u.format1));
|
|
||||||
default:return TRACE_RETURN (c->default_return_value ());
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
inline bool serialize (hb_serialize_context_t *c,
|
inline bool serialize (hb_serialize_context_t *c,
|
||||||
Supplier<GlyphID> &glyphs,
|
Supplier<GlyphID> &glyphs,
|
||||||
Supplier<unsigned int> &substitute_len_list,
|
Supplier<unsigned int> &substitute_len_list,
|
||||||
|
@ -411,6 +401,16 @@ struct MultipleSubst
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
template <typename context_t>
|
||||||
|
inline typename context_t::return_t dispatch (context_t *c) const
|
||||||
|
{
|
||||||
|
TRACE_DISPATCH (this);
|
||||||
|
switch (u.format) {
|
||||||
|
case 1: return TRACE_RETURN (c->dispatch (u.format1));
|
||||||
|
default:return TRACE_RETURN (c->default_return_value ());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
inline bool sanitize (hb_sanitize_context_t *c) {
|
inline bool sanitize (hb_sanitize_context_t *c) {
|
||||||
TRACE_SANITIZE (this);
|
TRACE_SANITIZE (this);
|
||||||
if (!u.format.sanitize (c)) return TRACE_RETURN (false);
|
if (!u.format.sanitize (c)) return TRACE_RETURN (false);
|
||||||
|
@ -536,16 +536,6 @@ struct AlternateSubstFormat1
|
||||||
|
|
||||||
struct AlternateSubst
|
struct AlternateSubst
|
||||||
{
|
{
|
||||||
template <typename context_t>
|
|
||||||
inline typename context_t::return_t dispatch (context_t *c) const
|
|
||||||
{
|
|
||||||
TRACE_DISPATCH (this);
|
|
||||||
switch (u.format) {
|
|
||||||
case 1: return TRACE_RETURN (c->dispatch (u.format1));
|
|
||||||
default:return TRACE_RETURN (c->default_return_value ());
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
inline bool serialize (hb_serialize_context_t *c,
|
inline bool serialize (hb_serialize_context_t *c,
|
||||||
Supplier<GlyphID> &glyphs,
|
Supplier<GlyphID> &glyphs,
|
||||||
Supplier<unsigned int> &alternate_len_list,
|
Supplier<unsigned int> &alternate_len_list,
|
||||||
|
@ -562,6 +552,16 @@ struct AlternateSubst
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
template <typename context_t>
|
||||||
|
inline typename context_t::return_t dispatch (context_t *c) const
|
||||||
|
{
|
||||||
|
TRACE_DISPATCH (this);
|
||||||
|
switch (u.format) {
|
||||||
|
case 1: return TRACE_RETURN (c->dispatch (u.format1));
|
||||||
|
default:return TRACE_RETURN (c->default_return_value ());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
inline bool sanitize (hb_sanitize_context_t *c) {
|
inline bool sanitize (hb_sanitize_context_t *c) {
|
||||||
TRACE_SANITIZE (this);
|
TRACE_SANITIZE (this);
|
||||||
if (!u.format.sanitize (c)) return TRACE_RETURN (false);
|
if (!u.format.sanitize (c)) return TRACE_RETURN (false);
|
||||||
|
@ -841,16 +841,6 @@ struct LigatureSubstFormat1
|
||||||
|
|
||||||
struct LigatureSubst
|
struct LigatureSubst
|
||||||
{
|
{
|
||||||
template <typename context_t>
|
|
||||||
inline typename context_t::return_t dispatch (context_t *c) const
|
|
||||||
{
|
|
||||||
TRACE_DISPATCH (this);
|
|
||||||
switch (u.format) {
|
|
||||||
case 1: return TRACE_RETURN (c->dispatch (u.format1));
|
|
||||||
default:return TRACE_RETURN (c->default_return_value ());
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
inline bool serialize (hb_serialize_context_t *c,
|
inline bool serialize (hb_serialize_context_t *c,
|
||||||
Supplier<GlyphID> &first_glyphs,
|
Supplier<GlyphID> &first_glyphs,
|
||||||
Supplier<unsigned int> &ligature_per_first_glyph_count_list,
|
Supplier<unsigned int> &ligature_per_first_glyph_count_list,
|
||||||
|
@ -870,6 +860,16 @@ struct LigatureSubst
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
template <typename context_t>
|
||||||
|
inline typename context_t::return_t dispatch (context_t *c) const
|
||||||
|
{
|
||||||
|
TRACE_DISPATCH (this);
|
||||||
|
switch (u.format) {
|
||||||
|
case 1: return TRACE_RETURN (c->dispatch (u.format1));
|
||||||
|
default:return TRACE_RETURN (c->default_return_value ());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
inline bool sanitize (hb_sanitize_context_t *c) {
|
inline bool sanitize (hb_sanitize_context_t *c) {
|
||||||
TRACE_SANITIZE (this);
|
TRACE_SANITIZE (this);
|
||||||
if (!u.format.sanitize (c)) return TRACE_RETURN (false);
|
if (!u.format.sanitize (c)) return TRACE_RETURN (false);
|
||||||
|
@ -1138,22 +1138,6 @@ struct SubstLookup : Lookup
|
||||||
return lookup_type_is_reverse (type);
|
return lookup_type_is_reverse (type);
|
||||||
}
|
}
|
||||||
|
|
||||||
template <typename context_t>
|
|
||||||
inline typename context_t::return_t dispatch (context_t *c) const
|
|
||||||
{
|
|
||||||
TRACE_DISPATCH (this);
|
|
||||||
unsigned int lookup_type = get_type ();
|
|
||||||
unsigned int count = get_subtable_count ();
|
|
||||||
for (unsigned int i = 0; i < count; i++) {
|
|
||||||
typename context_t::return_t r = get_subtable (i).dispatch (c, lookup_type);
|
|
||||||
if (c->stop_sublookup_iteration (r))
|
|
||||||
return TRACE_RETURN (r);
|
|
||||||
}
|
|
||||||
return TRACE_RETURN (c->default_return_value ());
|
|
||||||
}
|
|
||||||
template <typename context_t>
|
|
||||||
static inline typename context_t::return_t dispatch_recurse_func (context_t *c, unsigned int lookup_index);
|
|
||||||
|
|
||||||
inline hb_closure_context_t::return_t closure (hb_closure_context_t *c) const
|
inline hb_closure_context_t::return_t closure (hb_closure_context_t *c) const
|
||||||
{
|
{
|
||||||
TRACE_CLOSURE (this);
|
TRACE_CLOSURE (this);
|
||||||
|
@ -1305,6 +1289,23 @@ struct SubstLookup : Lookup
|
||||||
ligatures_list, component_count_list, component_list));
|
ligatures_list, component_count_list, component_list));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
template <typename context_t>
|
||||||
|
static inline typename context_t::return_t dispatch_recurse_func (context_t *c, unsigned int lookup_index);
|
||||||
|
|
||||||
|
template <typename context_t>
|
||||||
|
inline typename context_t::return_t dispatch (context_t *c) const
|
||||||
|
{
|
||||||
|
TRACE_DISPATCH (this);
|
||||||
|
unsigned int lookup_type = get_type ();
|
||||||
|
unsigned int count = get_subtable_count ();
|
||||||
|
for (unsigned int i = 0; i < count; i++) {
|
||||||
|
typename context_t::return_t r = get_subtable (i).dispatch (c, lookup_type);
|
||||||
|
if (c->stop_sublookup_iteration (r))
|
||||||
|
return TRACE_RETURN (r);
|
||||||
|
}
|
||||||
|
return TRACE_RETURN (c->default_return_value ());
|
||||||
|
}
|
||||||
|
|
||||||
inline bool sanitize (hb_sanitize_context_t *c)
|
inline bool sanitize (hb_sanitize_context_t *c)
|
||||||
{
|
{
|
||||||
TRACE_SANITIZE (this);
|
TRACE_SANITIZE (this);
|
||||||
|
|
Loading…
Reference in New Issue