Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1375)

Side by Side Diff: third_party/harfbuzz-ng/src/hb-shape-plan.cc

Issue 396393005: Roll HarfBuzz to 0.9.32 (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fix for include order presubmit issue Created 6 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « third_party/harfbuzz-ng/src/hb-private.hh ('k') | third_party/harfbuzz-ng/src/hb-ucdn.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 /* 1 /*
2 * Copyright © 2012 Google, Inc. 2 * Copyright © 2012 Google, Inc.
3 * 3 *
4 * This is part of HarfBuzz, a text shaping library. 4 * This is part of HarfBuzz, a text shaping library.
5 * 5 *
6 * Permission is hereby granted, without written agreement and without 6 * Permission is hereby granted, without written agreement and without
7 * license or royalty fees, to use, copy, modify, and distribute this 7 * license or royalty fees, to use, copy, modify, and distribute this
8 * software and its documentation for any purpose, provided that the 8 * software and its documentation for any purpose, provided that the
9 * above copyright notice and the following two paragraphs appear in 9 * above copyright notice and the following two paragraphs appear in
10 * all copies of this software. 10 * all copies of this software.
(...skipping 86 matching lines...) Expand 10 before | Expand all | Expand 10 after
97 * 97 *
98 * Since: 1.0 98 * Since: 1.0
99 **/ 99 **/
100 hb_shape_plan_t * 100 hb_shape_plan_t *
101 hb_shape_plan_create (hb_face_t *face, 101 hb_shape_plan_create (hb_face_t *face,
102 const hb_segment_properties_t *props, 102 const hb_segment_properties_t *props,
103 const hb_feature_t *user_features, 103 const hb_feature_t *user_features,
104 unsigned int num_user_features, 104 unsigned int num_user_features,
105 const char * const *shaper_list) 105 const char * const *shaper_list)
106 { 106 {
107 assert (props->direction != HB_DIRECTION_INVALID);
108
109 hb_shape_plan_t *shape_plan; 107 hb_shape_plan_t *shape_plan;
110 hb_feature_t *features = NULL; 108 hb_feature_t *features = NULL;
111 109
112 if (unlikely (!face)) 110 if (unlikely (!face))
113 face = hb_face_get_empty (); 111 face = hb_face_get_empty ();
114 if (unlikely (!props || hb_object_is_inert (face))) 112 if (unlikely (!props || hb_object_is_inert (face)))
115 return hb_shape_plan_get_empty (); 113 return hb_shape_plan_get_empty ();
116 if (num_user_features && !(features = (hb_feature_t *) malloc (num_user_featur es * sizeof (hb_feature_t)))) 114 if (num_user_features && !(features = (hb_feature_t *) malloc (num_user_featur es * sizeof (hb_feature_t))))
117 return hb_shape_plan_get_empty (); 115 return hb_shape_plan_get_empty ();
118 if (!(shape_plan = hb_object_create<hb_shape_plan_t> ())) { 116 if (!(shape_plan = hb_object_create<hb_shape_plan_t> ())) {
119 free (features); 117 free (features);
120 return hb_shape_plan_get_empty (); 118 return hb_shape_plan_get_empty ();
121 } 119 }
122 120
121 assert (props->direction != HB_DIRECTION_INVALID);
122
123 hb_face_make_immutable (face); 123 hb_face_make_immutable (face);
124 shape_plan->default_shaper_list = shaper_list == NULL; 124 shape_plan->default_shaper_list = shaper_list == NULL;
125 shape_plan->face_unsafe = face; 125 shape_plan->face_unsafe = face;
126 shape_plan->props = *props; 126 shape_plan->props = *props;
127 shape_plan->num_user_features = num_user_features; 127 shape_plan->num_user_features = num_user_features;
128 shape_plan->user_features = features; 128 shape_plan->user_features = features;
129 if (num_user_features) 129 if (num_user_features)
130 memcpy (features, user_features, num_user_features * sizeof (hb_feature_t)); 130 memcpy (features, user_features, num_user_features * sizeof (hb_feature_t));
131 131
132 hb_shape_plan_plan (shape_plan, user_features, num_user_features, shaper_list) ; 132 hb_shape_plan_plan (shape_plan, user_features, num_user_features, shaper_list) ;
(...skipping 321 matching lines...) Expand 10 before | Expand all | Expand 10 after
454 * 454 *
455 * Return value: (transfer none): 455 * Return value: (transfer none):
456 * 456 *
457 * Since: 1.0 457 * Since: 1.0
458 **/ 458 **/
459 const char * 459 const char *
460 hb_shape_plan_get_shaper (hb_shape_plan_t *shape_plan) 460 hb_shape_plan_get_shaper (hb_shape_plan_t *shape_plan)
461 { 461 {
462 return shape_plan->shaper_name; 462 return shape_plan->shaper_name;
463 } 463 }
OLDNEW
« no previous file with comments | « third_party/harfbuzz-ng/src/hb-private.hh ('k') | third_party/harfbuzz-ng/src/hb-ucdn.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698