diff options
author | bruvzg <7645683+bruvzg@users.noreply.github.com> | 2022-03-31 13:03:43 +0300 |
---|---|---|
committer | bruvzg <7645683+bruvzg@users.noreply.github.com> | 2022-03-31 13:03:43 +0300 |
commit | 56544d80138cddd3a2e7ae8506f440af4c48f36d (patch) | |
tree | 79c01d07018973bf445ac68942eb74d57632fe3e /thirdparty/harfbuzz/src/OT/Layout/GSUB/ReverseChainSingleSubst.hh | |
parent | fc4e9d6299593794489a0271bebf2c528aadcc74 (diff) |
HarfBuzz: Update to version 4.2.0
Diffstat (limited to 'thirdparty/harfbuzz/src/OT/Layout/GSUB/ReverseChainSingleSubst.hh')
-rw-r--r-- | thirdparty/harfbuzz/src/OT/Layout/GSUB/ReverseChainSingleSubst.hh | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/thirdparty/harfbuzz/src/OT/Layout/GSUB/ReverseChainSingleSubst.hh b/thirdparty/harfbuzz/src/OT/Layout/GSUB/ReverseChainSingleSubst.hh new file mode 100644 index 0000000000..435d80fd31 --- /dev/null +++ b/thirdparty/harfbuzz/src/OT/Layout/GSUB/ReverseChainSingleSubst.hh @@ -0,0 +1,36 @@ +#ifndef OT_LAYOUT_GSUB_REVERSECHAINSINGLESUBST_HH +#define OT_LAYOUT_GSUB_REVERSECHAINSINGLESUBST_HH + +#include "Common.hh" +#include "ReverseChainSingleSubstFormat1.hh" + +namespace OT { +namespace Layout { +namespace GSUB { + +struct ReverseChainSingleSubst +{ + protected: + union { + HBUINT16 format; /* Format identifier */ + ReverseChainSingleSubstFormat1 format1; + } u; + + public: + template <typename context_t, typename ...Ts> + typename context_t::return_t dispatch (context_t *c, Ts&&... ds) const + { + TRACE_DISPATCH (this, u.format); + if (unlikely (!c->may_dispatch (this, &u.format))) return_trace (c->no_dispatch_return_value ()); + switch (u.format) { + case 1: return_trace (c->dispatch (u.format1, std::forward<Ts> (ds)...)); + default:return_trace (c->default_return_value ()); + } + } +}; + +} +} +} + +#endif /* HB_OT_LAYOUT_GSUB_REVERSECHAINSINGLESUBST_HH */ |