Behdad Esfahbod
326b5ebf57
Poison freed objects such that double-free is detected
...
Previously we were setting refcount of freed objects to the inert value, which
was harmful because it caused further destroy()s of the freed object to NOT
call free() and hence hide the bug. Indeed, after eb0bf3ae66
test-object
was double-free'ing objects and this was never caught on Linux. It only was
caught as crashing on Mac.
Now we poison refcount upon freeing and check that it's valid whenever reading
it. Makes test-object fail now.
2015-08-30 17:29:21 +01:00
Behdad Esfahbod
6578575cc8
[GPOS] Fix cursive connection with mix of RTL and non-RTL lookups
...
See thread "Issue with cursive attachment" started by Khaled.
Turned out fixing this wasn't as bad as I had assumed. I like the
new code better; we now have a theoretical model of cursive
connections that is easier to reason about.
2015-08-25 20:29:36 +01:00
Behdad Esfahbod
58f2a73fb9
[GPOS] Rewrite cursive attachment slightly differently
...
In anticipation for upcoming fix for bug reported by
Khaled in thread "Issue with cursive attachment".
2015-08-25 18:58:24 +01:00
Behdad Esfahbod
fdd1770e00
Add API/cmdline to show glyph extents when serializing buffer
...
New API: HB_BUFFER_SERIALIZE_FLAG_GLYPH_EXTENTS
hb-shape now accepts --show-extents.
Patch from Simon Cozens.
2015-08-24 13:49:55 +01:00
Behdad Esfahbod
2cee5b68a0
[ot-font] Fix short-offset calculation
2015-08-24 13:45:12 +01:00
Behdad Esfahbod
b50fcfa829
[ot-font] Implement glyph_extents() for TrueType fonts
...
This brings ot-fonts into almost-complete shape and mostly in par with
ft font.
2015-08-23 14:42:20 +01:00
Behdad Esfahbod
0299b45000
Make BYTE a real type
2015-08-21 12:44:36 +01:00
Behdad Esfahbod
ed6962c795
[coretext] Use i32 instead of u32 as well
...
Shouldn't cause *any* functional changes, but is more correct.
2015-08-20 15:39:53 +01:00
Behdad Esfahbod
163c435f18
[uniscribe] Fix negative offsets
...
Ouch!
2015-08-20 15:39:06 +01:00
Behdad Esfahbod
958c268fa3
[coretext] Add TODO item
2015-08-19 13:22:12 +01:00
Behdad Esfahbod
7c5bee09d9
[uniscribe] Fix font scale handling
...
By default shape at upem (or ppem), and scale results.
Similar to work done in CoreText backend, but using upem as default.
2015-08-19 13:20:31 +01:00
Behdad Esfahbod
902e74a098
Commented-out code to print buffer before each lookup
...
To be turned into a useful HB_DEBUG_SHAPE infrastructure...
2015-08-18 18:55:03 +01:00
Behdad Esfahbod
75504a5048
Allow serializing buffer with output-buffer being used
...
Ie, don't call get_positions() if positions are not
requested for serialization.
2015-08-18 18:47:02 +01:00
Behdad Esfahbod
e47b772a56
[ot] Change buffer content type right after we map to glyphs
...
Needed for upcoming debug output changes.
2015-08-18 18:42:47 +01:00
Behdad Esfahbod
ddd6bf12f1
Don't declare dependency on freetype in harfbuzz.pc
...
See comments.
2015-08-18 15:55:09 +01:00
Behdad Esfahbod
2c8b3b2e53
[debug] Print lookup index in debug-apply output
2015-08-18 14:36:43 +01:00
Behdad Esfahbod
50ad7788ee
[coretext] Remove assert that kicks in on Mac OS 10.6
...
http://crbug.com/419769
2015-08-18 10:22:16 +01:00
Behdad Esfahbod
2b646fa07f
Remove unused function
2015-08-17 16:03:28 +02:00
Behdad Esfahbod
539a610e2e
Add Libs.private and Requires.private to harfbuzz.pc
...
Fixes https://bugs.freedesktop.org/show_bug.cgi?id=64501
2015-08-11 12:58:49 +02:00
jfkthame
c7dfe316f8
Don't rely on .cluster in _hb_ot_shape_normalize()
...
Fixes https://github.com/behdad/harfbuzz/pull/124
2015-08-09 18:26:27 +02:00
jfkthame
9099e48e29
Don't rely on .cluster field in fallback_position
...
Fixes tests/cluster.
Fixes https://github.com/behdad/harfbuzz/pull/123
2015-08-08 18:03:38 +02:00
Behdad Esfahbod
bd22a5cfae
Bug 91559 - HarfBuzz 1.0.1: Inconsistent DLL files specified/created...
...
Fixes https://bugs.freedesktop.org/show_bug.cgi?id=91559
2015-08-07 11:13:27 +02:00
Behdad Esfahbod
f1c20e1ba5
[USE] Fix out-of-bounds static array access
2015-07-27 12:16:02 +02:00
Behdad Esfahbod
260442346a
1.0.0
2015-07-26 23:39:10 +02:00
Behdad Esfahbod
df6cb84449
Merge branch 'use'
2015-07-26 19:40:55 +02:00
Behdad Esfahbod
23e56e088a
Fix broken sentence
2015-07-25 17:38:21 +02:00
Grigori Goronzy
91a2e5d287
Update UCDN to upstream commit 8af93f30
...
This adds support for Unicode 8.0 and fixes a bug with wrong properties
for ranges of codepoints.
2015-07-25 17:32:16 +02:00
Behdad Esfahbod
0f98fe88f4
[ot] Search globally for 'vert' feature if not found in specified script/lang
...
Fixes https://github.com/behdad/harfbuzz/issues/63
2015-07-23 11:52:11 +01:00
Behdad Esfahbod
f327aacfa1
[ot] Minor
2015-07-23 11:32:59 +01:00
Behdad Esfahbod
d78463c801
Minor debug output fix
2015-07-23 10:11:35 +01:00
Behdad Esfahbod
d99f50bde0
Add missing TRACE_RETURN
2015-07-23 10:08:48 +01:00
Behdad Esfahbod
2dc8e3f470
[ot] Add missing return!
2015-07-23 10:07:21 +01:00
Behdad Esfahbod
8cfbc304ee
Fix hide-default-ignorables after f0010dfd01
...
We can't delete things before hb_ot_layout_position_finish(). So,
just zero the advance before it, and remove later.
2015-07-22 18:41:10 +01:00
Behdad Esfahbod
2dbd3d29d6
Fix hide-ignorables if font doesn't have space glyph
...
Was broken by 82b521aeb7
, as we have
positioning data by then and can't use the output buffer. Ouch!
2015-07-22 18:29:47 +01:00
Behdad Esfahbod
4ba796b26e
Refactor _hb_glyph_info_is_default_ignorable()
2015-07-22 17:41:31 +01:00
Behdad Esfahbod
f0010dfd01
[ot] Hide default-ignorables before finishing off positioning
...
For example, fixes the following sequence with Arial XP:
628 25cc 651 25cc 64e 3a 20 628 651 34f 64e
628 25cc 64e 25cc 651 3a 20 628 64e 34f 651
Discovered as part of:
https://bugs.freedesktop.org/show_bug.cgi?id=85873
2015-07-22 17:36:23 +01:00
Behdad Esfahbod
376d587f36
Implement more granular cluster-merging
...
TODO: Documentation.
Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=71445
2015-07-22 16:51:12 +01:00
Behdad Esfahbod
a60e2cfa39
[ot] Don't rely on cluster numbers for ensure_native_direction()
2015-07-22 15:49:08 +01:00
Behdad Esfahbod
701112dad9
[ot] Simplify form_clusters()
2015-07-22 15:42:20 +01:00
Behdad Esfahbod
7b8b63adc5
[ot] Don't mirror character if font doesn't support mirrored character!
2015-07-22 15:24:26 +01:00
Behdad Esfahbod
97d7c3a100
[graphite2] Fix bunch of stuff
...
Based on patch from Martin Hosken, with review from Jonathan and I.
2015-07-22 14:28:25 +01:00
Behdad Esfahbod
ea7f8414e3
[graphite2] Enlarge buffer for output glyphs!
2015-07-22 13:53:45 +01:00
Behdad Esfahbod
9cd59db1af
[USE] Implement topographical features for non-Arabic-joining scripts
...
This works per-syllable as per the spec, but we think it should be per
spacing/base/??? glyph instead.
2015-07-22 13:31:07 +01:00
Behdad Esfahbod
ecb0b24ef3
Use foreach_cluster in Indic shaper
2015-07-22 12:02:09 +01:00
Behdad Esfahbod
56f71ff988
Use foreach_syllable in Myanmar shaper
2015-07-22 11:58:11 +01:00
Behdad Esfahbod
ac596511a8
Add foreach_syllable
...
Use it in USE.
2015-07-22 11:54:02 +01:00
Behdad Esfahbod
8ba9e68968
[USE] Do Arabic-like shaping
2015-07-22 11:17:34 +01:00
Behdad Esfahbod
9daf2dfb6b
Add hb-ot-shape-complex-arabic-private.hh
2015-07-22 10:49:13 +01:00
Behdad Esfahbod
a51a661fe1
[USE] Only reorder the first component of a split left mark
2015-07-21 18:24:21 +01:00
Behdad Esfahbod
a08a278b15
[USE] Don't compose split matras
...
Same logic as in Indic shaper.
2015-07-21 18:09:40 +01:00