[HarfBuzz] harfbuzz: Branch 'master' - 2 commits
Behdad Esfahbod
behdad at kemper.freedesktop.org
Mon Nov 12 03:34:52 UTC 2018
src/hb-shape-plan.cc | 33 +++++++++++++++------------------
1 file changed, 15 insertions(+), 18 deletions(-)
New commits:
commit 77bd0a6458a9169df59f6be667a8eb79bd353dc9
Author: Behdad Esfahbod <behdad at behdad.org>
Date: Sun Nov 11 22:08:48 2018 -0500
Add variation coords to shape_plan proposal
This is the root cause of bug worked around in 19e77e01bc13f44138e1d50533327d314dd0a018.
Still no shape plan caching for variations though.
diff --git a/src/hb-shape-plan.cc b/src/hb-shape-plan.cc
index d4288046..2a2e0e39 100644
--- a/src/hb-shape-plan.cc
+++ b/src/hb-shape-plan.cc
@@ -481,6 +481,8 @@ hb_shape_plan_create_cached2 (hb_face_t *face,
shaper_list,
user_features,
num_user_features,
+ coords,
+ num_coords,
nullptr
};
commit 9c767d075d0be85227b8dc146061de9bd24f3fec
Author: Behdad Esfahbod <behdad at behdad.org>
Date: Sun Nov 11 22:03:15 2018 -0500
Minor
diff --git a/src/hb-shape-plan.cc b/src/hb-shape-plan.cc
index 5579ded7..d4288046 100644
--- a/src/hb-shape-plan.cc
+++ b/src/hb-shape-plan.cc
@@ -146,27 +146,21 @@ hb_shape_plan_create2 (hb_face_t *face,
hb_feature_t *features = nullptr;
int *coords = nullptr;
- if (unlikely (!face))
- face = hb_face_get_empty ();
if (unlikely (!props))
- return hb_shape_plan_get_empty ();
+ goto bail;
if (num_user_features && !(features = (hb_feature_t *) calloc (num_user_features, sizeof (hb_feature_t))))
- return hb_shape_plan_get_empty ();
+ goto bail;
if (num_coords && !(coords = (int *) calloc (num_coords, sizeof (int))))
- {
- free (features);
- return hb_shape_plan_get_empty ();
- }
+ goto bail;
if (!(shape_plan = hb_object_create<hb_shape_plan_t> ()))
- {
- free (coords);
- free (features);
- return hb_shape_plan_get_empty ();
- }
+ goto bail;
assert (props->direction != HB_DIRECTION_INVALID);
+ if (unlikely (!face))
+ face = hb_face_get_empty ();
hb_face_make_immutable (face);
+
shape_plan->custom_shaper_list = shaper_list;
shape_plan->face_unsafe = face;
shape_plan->props = *props;
@@ -189,13 +183,14 @@ hb_shape_plan_create2 (hb_face_t *face,
num_user_features,
coords,
num_coords)))
- {
- free (coords);
- free (features);
- return hb_shape_plan_get_empty ();
- }
+ goto bail;
return shape_plan;
+
+bail:
+ free (coords);
+ free (features);
+ return hb_shape_plan_get_empty ();
}
/**
More information about the HarfBuzz
mailing list