[repacker] remove temporary visibility overrides in gsubgpos.

This commit is contained in:
Garret Rieger 2022-07-22 22:49:40 +00:00
parent ffb0f7936f
commit e6dda54c88
2 changed files with 23 additions and 9 deletions

View File

@ -55,6 +55,17 @@ struct make_extension_context_t
HB_INTERNAL unsigned num_non_ext_subtables ();
};
template<typename T>
struct ExtensionFormat1 : public OT::ExtensionFormat1<T>
{
void reset(unsigned type)
{
this->format = 1;
this->extensionLookupType = type;
this->extensionOffset = 0;
}
};
struct Lookup : public OT::Lookup
{
unsigned number_of_subtables () const
@ -114,11 +125,9 @@ struct Lookup : public OT::Lookup
if (!c.buffer.resize (c.buffer.length + extension_size))
return false;
OT::ExtensionFormat1<OT::Layout::GSUB_impl::ExtensionSubst>* extension =
(OT::ExtensionFormat1<OT::Layout::GSUB_impl::ExtensionSubst>*) &c.buffer[start];
extension->format = 1;
extension->extensionLookupType = type;
extension->extensionOffset = 0;
ExtensionFormat1<OT::Layout::GSUB_impl::ExtensionSubst>* extension =
(ExtensionFormat1<OT::Layout::GSUB_impl::ExtensionSubst>*) &c.buffer[start];
extension->reset (type);
unsigned ext_index = c.graph.new_node (&c.buffer.arrayZ[start],
&c.buffer.arrayZ[end]);
@ -189,9 +198,9 @@ struct GSTAR : public OT::GSUBGPOS
const void* get_lookup_list_field_offset () const
{
switch (u.version.major) {
case 1: return &(u.version1.lookupList);
case 1: return u.version1.get_lookup_list_offset ();
#ifndef HB_NO_BORING_EXPANSION
case 2: return &(u.version2.lookupList);
case 2: return u.version2.get_lookup_list_offset ();
#endif
default: return 0;
}

View File

@ -3850,7 +3850,7 @@ struct ExtensionFormat1
return_trace (dest_offset.serialize_subset (c, src_offset, this, get_type ()));
}
public: // TODO
protected:
HBUINT16 format; /* Format identifier. Set to 1. */
HBUINT16 extensionLookupType; /* Lookup type of subtable referenced
* by ExtensionOffset (i.e. the
@ -3988,7 +3988,7 @@ struct GSUBGPOSVersion1_2
{
friend struct GSUBGPOS;
public: // TODO
protected:
FixedVersion<>version; /* Version of the GSUB/GPOS table--initially set
* to 0x00010000u */
typename Types:: template OffsetTo<ScriptList>
@ -4011,6 +4011,11 @@ struct GSUBGPOSVersion1_2
(version.to_int () >= 0x00010001u ? featureVars.static_size : 0);
}
const typename Types::template OffsetTo<LookupList<Types>>* get_lookup_list_offset () const
{
return &lookupList;
}
template <typename TLookup>
bool sanitize (hb_sanitize_context_t *c) const
{