mirror of
https://github.com/microsoft/vcpkg.git
synced 2024-12-27 10:38:22 +08:00
44 lines
1.9 KiB
Diff
44 lines
1.9 KiB
Diff
|
diff --git a/src/hb-coretext.cc b/src/hb-coretext.cc
|
||
|
index 5f383064c4..6ccc1b0a2b 100644
|
||
|
--- a/src/hb-coretext.cc
|
||
|
+++ b/src/hb-coretext.cc
|
||
|
@@ -897,7 +897,7 @@ _hb_coretext_shape (hb_shape_plan_t *shape_plan,
|
||
|
DEBUG_MSG (CORETEXT, nullptr, "Num runs: %d", num_runs);
|
||
|
|
||
|
buffer->len = 0;
|
||
|
- uint32_t status_and = ~0, status_or = 0;
|
||
|
+ uint32_t status_or = 0;
|
||
|
CGFloat advances_so_far = 0;
|
||
|
/* For right-to-left runs, CoreText returns the glyphs positioned such that
|
||
|
* any trailing whitespace is to the left of (0,0). Adjust coordinate system
|
||
|
@@ -918,7 +918,6 @@ _hb_coretext_shape (hb_shape_plan_t *shape_plan,
|
||
|
CTRunRef run = static_cast<CTRunRef>(CFArrayGetValueAtIndex (glyph_runs, i));
|
||
|
CTRunStatus run_status = CTRunGetStatus (run);
|
||
|
status_or |= run_status;
|
||
|
- status_and &= run_status;
|
||
|
DEBUG_MSG (CORETEXT, run, "CTRunStatus: %x", run_status);
|
||
|
CGFloat run_advance = CTRunGetTypographicBounds (run, range_all, nullptr, nullptr, nullptr);
|
||
|
if (HB_DIRECTION_IS_VERTICAL (buffer->props.direction))
|
||
|
@@ -1140,21 +1139,6 @@ _hb_coretext_shape (hb_shape_plan_t *shape_plan,
|
||
|
buffer->len += num_glyphs;
|
||
|
}
|
||
|
|
||
|
- /* Mac OS 10.6 doesn't have kCTTypesetterOptionForcedEmbeddingLevel,
|
||
|
- * or if it does, it doesn't respect it. So we get runs with wrong
|
||
|
- * directions. As such, disable the assert... It wouldn't crash, but
|
||
|
- * cursoring will be off...
|
||
|
- *
|
||
|
- * https://crbug.com/419769
|
||
|
- */
|
||
|
- if (false)
|
||
|
- {
|
||
|
- /* Make sure all runs had the expected direction. */
|
||
|
- HB_UNUSED bool backward = HB_DIRECTION_IS_BACKWARD (buffer->props.direction);
|
||
|
- assert (bool (status_and & kCTRunStatusRightToLeft) == backward);
|
||
|
- assert (bool (status_or & kCTRunStatusRightToLeft) == backward);
|
||
|
- }
|
||
|
-
|
||
|
buffer->clear_positions ();
|
||
|
|
||
|
unsigned int count = buffer->len;
|