| Index: third_party/harfbuzz-ng/src/hb-fallback-shape.cc
|
| diff --git a/third_party/harfbuzz-ng/src/hb-fallback-shape.cc b/third_party/harfbuzz-ng/src/hb-fallback-shape.cc
|
| index 1a1fcfbda1eabf6bcac0362e92d019fff6001f47..ea54bb8e0f08956e1e0fe50774c31781d259292c 100644
|
| --- a/third_party/harfbuzz-ng/src/hb-fallback-shape.cc
|
| +++ b/third_party/harfbuzz-ng/src/hb-fallback-shape.cc
|
| @@ -95,8 +95,19 @@ _hb_fallback_shape (hb_shape_plan_t *shape_plan HB_UNUSED,
|
| const hb_feature_t *features HB_UNUSED,
|
| unsigned int num_features HB_UNUSED)
|
| {
|
| + /* TODO
|
| + *
|
| + * - Apply fallback kern.
|
| + * - Handle Variation Selectors?
|
| + * - Apply normalization?
|
| + *
|
| + * This will make the fallback shaper into a dumb "TrueType"
|
| + * shaper which many people unfortunately still request.
|
| + */
|
| +
|
| + bool has_space;
|
| hb_codepoint_t space;
|
| - font->get_glyph (' ', 0, &space);
|
| + has_space = font->get_glyph (' ', 0, &space);
|
|
|
| buffer->clear_positions ();
|
|
|
| @@ -104,7 +115,7 @@ _hb_fallback_shape (hb_shape_plan_t *shape_plan HB_UNUSED,
|
|
|
| for (unsigned int i = 0; i < count; i++)
|
| {
|
| - if (buffer->unicode->is_default_ignorable (buffer->info[i].codepoint)) {
|
| + if (has_space && buffer->unicode->is_default_ignorable (buffer->info[i].codepoint)) {
|
| buffer->info[i].codepoint = space;
|
| buffer->pos[i].x_advance = 0;
|
| buffer->pos[i].y_advance = 0;
|
|
|