Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
openSUSE:Maintenance:5475
harfbuzz.openSUSE_13.2_Update
harfbuzz-record-lookup-index.patch
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File harfbuzz-record-lookup-index.patch of Package harfbuzz.openSUSE_13.2_Update
From 2c8b3b2e5312c9858584f568b1528c57e5bb8a10 Mon Sep 17 00:00:00 2001 From: Behdad Esfahbod <behdad@behdad.org> Date: Tue, 18 Aug 2015 14:36:43 +0100 Subject: [PATCH] [debug] Print lookup index in debug-apply output Backported by Mike Gorse <mgorse@suse.com> --- diff -ur harfbuzz-0.9.27.orig/src/hb-ot-layout.cc harfbuzz-0.9.27/src/hb-ot-layout.cc --- harfbuzz-0.9.27.orig/src/hb-ot-layout.cc 2016-07-26 11:07:00.202733981 -0500 +++ harfbuzz-0.9.27/src/hb-ot-layout.cc 2016-07-28 05:59:09.423208477 -0500 @@ -830,7 +830,7 @@ if (unlikely (!buffer->len || !c->lookup_mask)) return false; - c->set_lookup (lookup); + c->set_lookup_props (lookup.get_props ()); if (likely (!lookup.is_reverse ())) { @@ -894,6 +894,7 @@ for (; i < stage->last_lookup; i++) { unsigned int lookup_index = lookups[table_index][i].index; + c.set_lookup_index (lookup_index); c.set_lookup_mask (lookups[table_index][i].mask); c.set_auto_zwj (lookups[table_index][i].auto_zwj); apply_string<Proxy> (&c, diff -ur harfbuzz-0.9.27.orig/src/hb-ot-layout-gpos-table.hh harfbuzz-0.9.27/src/hb-ot-layout-gpos-table.hh --- harfbuzz-0.9.27.orig/src/hb-ot-layout-gpos-table.hh 2016-07-21 21:16:09.393362629 -0500 +++ harfbuzz-0.9.27/src/hb-ot-layout-gpos-table.hh 2016-07-28 06:01:16.643207994 -0500 @@ -1620,8 +1620,11 @@ const GPOS &gpos = *(hb_ot_layout_from_face (c->face)->gpos); const PosLookup &l = gpos.get_lookup (lookup_index); unsigned int saved_lookup_props = c->lookup_props; - c->set_lookup (l); + unsigned int saved_lookup_index = c->lookup_index; + c->set_lookup_index (lookup_index); + c->set_lookup_props (l.get_props ()); bool ret = l.apply_once (c); + c->set_lookup_index (saved_lookup_index); c->lookup_props = saved_lookup_props; return ret; } diff -ur harfbuzz-0.9.27.orig/src/hb-ot-layout-gsubgpos-private.hh harfbuzz-0.9.27/src/hb-ot-layout-gsubgpos-private.hh --- harfbuzz-0.9.27.orig/src/hb-ot-layout-gsubgpos-private.hh 2016-07-28 05:56:12.919209148 -0500 +++ harfbuzz-0.9.27/src/hb-ot-layout-gsubgpos-private.hh 2016-07-28 06:06:02.371206908 -0500 @@ -237,7 +237,8 @@ #define TRACE_APPLY(this) \ hb_auto_trace_t<HB_DEBUG_APPLY, bool> trace \ (&c->debug_depth, c->get_name (), this, HB_FUNC, \ - "idx %d codepoint %u", c->buffer->idx, c->buffer->cur().codepoint); + "idx %d gid %u lookup %d", \ + c->buffer->idx, c->buffer->cur().codepoint, (int) c->lookup_index); struct hb_apply_context_t { @@ -272,6 +273,7 @@ unsigned int lookup_props; const GDEF &gdef; bool has_glyph_classes; + unsigned int lookup_index; unsigned int debug_depth; @@ -288,6 +290,7 @@ lookup_props (0), gdef (*hb_ot_layout_from_face (face)->gdef), has_glyph_classes (gdef.has_glyph_classes ()), + lookup_index ((unsigned int) -1), debug_depth (0) {} inline void set_lookup_mask (hb_mask_t mask) { lookup_mask = mask; } @@ -295,6 +298,7 @@ inline void set_recurse_func (recurse_func_t func) { recurse_func = func; } inline void set_lookup_props (unsigned int lookup_props_) { lookup_props = lookup_props_; } inline void set_lookup (const Lookup &l) { lookup_props = l.get_props (); } + inline void set_lookup_index (unsigned int lookup_index_) { lookup_index = lookup_index_; } struct matcher_t { diff -ur harfbuzz-0.9.27.orig/src/hb-ot-layout-gsub-table.hh harfbuzz-0.9.27/src/hb-ot-layout-gsub-table.hh --- harfbuzz-0.9.27.orig/src/hb-ot-layout-gsub-table.hh 2013-11-20 13:18:31.718614915 -0600 +++ harfbuzz-0.9.27/src/hb-ot-layout-gsub-table.hh 2016-07-28 06:03:35.107207467 -0500 @@ -1359,8 +1359,11 @@ const GSUB &gsub = *(hb_ot_layout_from_face (c->face)->gsub); const SubstLookup &l = gsub.get_lookup (lookup_index); unsigned int saved_lookup_props = c->lookup_props; - c->set_lookup (l); + unsigned int saved_lookup_index = c->lookup_index; + c->set_lookup_index (lookup_index); + c->set_lookup_props (l.get_props ()); bool ret = l.apply_once (c); + c->set_lookup_index (saved_lookup_index); c->lookup_props = saved_lookup_props; return ret; }
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor