summaryrefslogtreecommitdiff
path: root/Build/source/libs/harfbuzz/harfbuzz-src/src/hb-ot-layout-private.hh
diff options
context:
space:
mode:
authorAkira Kakuto <kakuto@fuk.kindai.ac.jp>2018-01-31 01:11:59 +0000
committerAkira Kakuto <kakuto@fuk.kindai.ac.jp>2018-01-31 01:11:59 +0000
commitc3f11193fa94d266d32f36ebd008d478fa2671e0 (patch)
tree3b13b901d86aa7c323cb407835ac8cb9397cd364 /Build/source/libs/harfbuzz/harfbuzz-src/src/hb-ot-layout-private.hh
parentf223ad48afe014b1314fd294f0e099232f46b63e (diff)
harfbuzz 1.7.5
git-svn-id: svn://tug.org/texlive/trunk@46498 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Build/source/libs/harfbuzz/harfbuzz-src/src/hb-ot-layout-private.hh')
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-src/src/hb-ot-layout-private.hh20
1 files changed, 17 insertions, 3 deletions
diff --git a/Build/source/libs/harfbuzz/harfbuzz-src/src/hb-ot-layout-private.hh b/Build/source/libs/harfbuzz/harfbuzz-src/src/hb-ot-layout-private.hh
index 0f0926f8906..60119629cf5 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-src/src/hb-ot-layout-private.hh
+++ b/Build/source/libs/harfbuzz/harfbuzz-src/src/hb-ot-layout-private.hh
@@ -90,12 +90,12 @@ hb_ot_layout_substitute_start (hb_font_t *font,
struct hb_ot_layout_lookup_accelerator_t;
namespace OT {
- struct hb_apply_context_t;
+ struct hb_ot_apply_context_t;
struct SubstLookup;
}
HB_INTERNAL void
-hb_ot_layout_substitute_lookup (OT::hb_apply_context_t *c,
+hb_ot_layout_substitute_lookup (OT::hb_ot_apply_context_t *c,
const OT::SubstLookup &lookup,
const hb_ot_layout_lookup_accelerator_t &accel);
@@ -130,6 +130,10 @@ namespace OT {
struct avar;
}
+namespace AAT {
+ struct morx;
+}
+
struct hb_ot_layout_lookup_accelerator_t
{
template <typename TLookup>
@@ -165,6 +169,7 @@ struct hb_ot_layout_t
OT::hb_lazy_table_loader_t<struct OT::MATH> math;
OT::hb_lazy_table_loader_t<struct OT::fvar> fvar;
OT::hb_lazy_table_loader_t<struct OT::avar> avar;
+ OT::hb_lazy_table_loader_t<struct AAT::morx> morx;
unsigned int gsub_lookup_count;
unsigned int gpos_lookup_count;
@@ -280,7 +285,11 @@ _hb_glyph_info_set_unicode_props (hb_glyph_info_t *info, hb_buffer_t *buffer)
else if (unlikely (hb_in_range (u, 0xE0020u, 0xE007Fu))) props |= UPROPS_MASK_HIDDEN;
/* COMBINING GRAPHEME JOINER should not be skipped; at least some times.
* https://github.com/harfbuzz/harfbuzz/issues/554 */
- else if (unlikely (u == 0x034Fu)) props |= UPROPS_MASK_HIDDEN;
+ else if (unlikely (u == 0x034Fu))
+ {
+ buffer->scratch_flags |= HB_BUFFER_SCRATCH_FLAG_HAS_CGJ;
+ props |= UPROPS_MASK_HIDDEN;
+ }
}
else if (unlikely (HB_UNICODE_GENERAL_CATEGORY_IS_NON_ENCLOSING_MARK_OR_MODIFIER_SYMBOL (gen_cat)))
{
@@ -388,6 +397,11 @@ _hb_glyph_info_is_default_ignorable_and_not_hidden (const hb_glyph_info_t *info)
== UPROPS_MASK_IGNORABLE) &&
!_hb_glyph_info_ligated (info);
}
+static inline void
+_hb_glyph_info_unhide (hb_glyph_info_t *info)
+{
+ info->unicode_props() &= ~ UPROPS_MASK_HIDDEN;
+}
static inline bool
_hb_glyph_info_is_unicode_format (const hb_glyph_info_t *info)