Behdad Esfahbod
93ef20a83b
Replace most uses of is_inert with is_immutable
2018-11-03 15:03:06 -04:00
Behdad Esfahbod
a4f4f5ba5f
[docs] Fix titles here as well
2018-10-28 08:23:36 -07:00
Behdad Esfahbod
5dd86aa33b
[docs] Rename section titles to object names
...
More useful.
2018-10-27 04:47:41 -07:00
Behdad Esfahbod
00cf4e5eb6
[docs] Fill in some sections
2018-10-27 04:47:41 -07:00
Behdad Esfahbod
39bd07aed5
Fix bunch of unused parameter warnings
...
Show up with gcc -O0.
There's a few more but those are functions that need to be filled in.
Maybe this is a lost battle...
2018-10-26 21:22:26 -07:00
Bruce Mitchener
8d1e479d1d
Use bool literals instead of 0/1.
2018-10-19 18:05:46 +02:00
Behdad Esfahbod
c77ae40852
Rename hb-*private.hh to hb-*.hh
...
Sorry for the noise, downstream custom builders. Please adjust.
2018-08-25 22:36:36 -07:00
Behdad Esfahbod
1f7380944d
[atomic] Add hb_atomic_ptr_t<> and port all uses
...
Found and fixed a couple bugs.
Found a couple multithreading issues. Marked them with "XXX-MT-bug".
2018-08-09 00:27:01 -07:00
Behdad Esfahbod
3506672ce9
Port _nil objects to Null() machinery
...
Finally, unified!
2018-08-06 06:17:48 -07:00
Behdad Esfahbod
be458eb059
Include more basic internal headers from hb-private.hh
2018-07-10 14:41:04 +02:00
Behdad Esfahbod
40ec3bbb55
Consolidate debug stuff into hb-debug.hh
...
Part of fixing https://github.com/behdad/harfbuzz/pull/605
2017-11-03 17:18:17 -04:00
Behdad Esfahbod
dbdbfe3d7b
Use nullptr instead of NULL
2017-10-15 12:11:08 +02:00
jfkthame
19e77e01bc
[shape-plan] Don't look for a cached plan if variation coords are specified. Fixes #549 . ( #550 )
...
This is a temporary hack just to avoid incorrect shaping results, pending proper support
for caching shape-plans with variation coordinates.
2017-10-02 08:08:49 -04:00
Behdad Esfahbod
68af14d5cc
Protect against div-by-zero in CBDT extent code
...
Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=1452#c5
CC https://github.com/behdad/harfbuzz/issues/139
2017-08-09 17:09:21 -07:00
Chris Peterson
aacca37590
Fix clang -Wcomma warnings ( #471 ) ( #472 )
...
clang's new -Wcomma compiler option warns about possible misuse of the
comma operator such as between two statements.
hb-common.cc:190:9 [-Wcomma] possible misuse of comma operator here
hb-ot-layout-gsubgpos-private.hh:345:30 [-Wcomma] possible misuse of
comma operator here
hb-shape-plan.cc:438:26 [-Wcomma] possible misuse of comma operator here
2017-04-17 23:25:24 -07:00
Behdad Esfahbod
466b3e58bd
Shuffle things around a bit
2017-02-03 16:57:15 -08:00
Behdad Esfahbod
72ada4f0c6
[GX] Hook up feature variations
...
Shape-plan caching is not implemented.
2016-12-16 19:06:26 -06:00
Khaled Hosny
3d976d20f1
Show the shaper name in the debug message ( #306 )
2016-08-27 16:38:42 +03:00
Behdad Esfahbod
a5efaac4ff
Replace a couple of malloc()s with calloc()
2015-10-02 08:02:29 +01:00
Behdad Esfahbod
26ba4d1e1f
Fix segfault with empty buffer in hb_shape_plan_execute()
...
Move the empty-buffer check from hb_shape_full() to hb_shape_plan_execute().
Reported by Simon Cozens.
2015-10-02 07:25:52 +01:00
Sascha Brawer
01c3a88543
Fix "Since:" tags
...
Based on data from http://upstream-tracker.org/versions/harfbuzz.html
Resolves #103
2015-06-01 13:25:27 +02:00
Behdad Esfahbod
eb0bf3ae66
Relax inert checks
...
Previously, when creating an object from inert inputs (eg:
"hb_font_create(hb_face_get_empty())") we returned the inert
empty object. This is not helpful as there are legitimate
usecases to do that.
We now never return the inert object unless allocation failed.
Tests are revised to reflect.
2015-04-09 19:16:57 -07:00
Behdad Esfahbod
30eed75de2
[shape-plan] Fix typo!
...
The only effect is, if shaper_list was not NULL and no shaper was found,
we now don't insert anything into cache and return earlier.
2014-08-12 17:15:09 -04:00
Behdad Esfahbod
dc9aba6fc5
[shape-plan] Better debug messages
2014-08-12 17:14:36 -04:00
Behdad Esfahbod
e956c65bf7
[shape-plan] Simplify macro
2014-08-12 17:06:50 -04:00
Behdad Esfahbod
8d5eebc0c6
[shape-plan] Fix shape-plan caching with more than one requested shaper
...
Wasn't breaking out of loop, ouch!
http://www.mail-archive.com/debian-bugs-dist@lists.debian.org/msg1246370.html
2014-08-12 17:06:50 -04:00
Behdad Esfahbod
bc3d0dc601
[shape-plan] Add debug tracing
2014-08-12 17:06:50 -04:00
Behdad Esfahbod
dac86026a6
Fix some cppcheck warnings
...
Bug 77800 - cppcheck reports
2014-06-03 17:57:00 -04:00
Behdad Esfahbod
f47b921954
Fix unsafe shape_plan->face dependency
2013-12-02 05:57:27 -05:00
Jonathan Kew
ca8d96c8ba
cache shape plans even if (global) user features are set
2013-12-02 05:22:00 -05:00
Behdad Esfahbod
8ffa528f28
Add note about unsafe shape_plan->face
...
Will fix by removing shape_plan->face completely.
2013-12-02 05:17:14 -05:00
Behdad Esfahbod
085d4291a9
[introspection] Disable constructors for now
...
Since our types are not associated with their methods, marking
constructors makes them inaccessible from bindings. Undo for now.
2013-09-12 17:14:33 -04:00
Behdad Esfahbod
288f289997
[docs/introspection] More annotations
2013-09-06 17:30:54 -04:00
Behdad Esfahbod
7abddbb47a
Add assertions for a couple programmer errors
2013-02-15 07:46:57 -05:00
Behdad Esfahbod
7c5b7fe686
Fix hb_shape_plan_get_shaper()
2012-11-22 16:33:46 -05:00
Behdad Esfahbod
f9edd5d56b
Implement hb_shape_plan_get_shaper()
...
Untested.
2012-11-16 13:23:37 -08:00
Behdad Esfahbod
f30641038b
Bunch of independent changes (ouch)
...
API additions:
hb_segment_properties_t
HB_SEGMENT_PROPERTIES_DEFAULT
hb_segment_properties_equal()
hb_segment_properties_hash()
hb_buffer_set_segment_properties()
hb_buffer_get_segment_properties()
hb_ot_layout_glyph_class_t
hb_shape_plan_t
hb_shape_plan_create()
hb_shape_plan_create_cached()
hb_shape_plan_get_empty()
hb_shape_plan_reference()
hb_shape_plan_destroy()
hb_shape_plan_set_user_data()
hb_shape_plan_get_user_data()
hb_shape_plan_execute()
hb_ot_shape_plan_collect_lookups()
API changes:
Rename hb_ot_layout_feature_get_lookup_indexes() to
hb_ot_layout_feature_get_lookups().
New header file:
hb-shape-plan.h
And a bunch of prototyped but not implemented stuff. Coming soon.
(Tests fail because of the prototypes right now.)
2012-11-15 18:48:10 -08:00
Behdad Esfahbod
4c8ac4f47e
Misc minor fixes
2012-08-08 17:44:19 -04:00
Behdad Esfahbod
801298b590
Fix cast
...
https://bugs.freedesktop.org/show_bug.cgi?id=53233
2012-08-08 14:26:36 -04:00
Behdad Esfahbod
46ee108ef8
Fix leak
2012-08-03 18:21:13 -07:00
Behdad Esfahbod
5393e3a62b
[OT] Minor refactoring
2012-08-02 09:24:35 -04:00
Behdad Esfahbod
ef6e9cec33
Fixup bb0e4ba3e9
2012-07-29 21:35:22 -04:00
Behdad Esfahbod
bb0e4ba3e9
Minor
2012-07-29 17:34:14 -04:00
Behdad Esfahbod
2f87cebe10
Implement shape_plan caching
...
Should give us some performance boost.
2012-07-27 04:20:39 -04:00
Behdad Esfahbod
e9eb9503e9
Add default_shaper_list to shape_plan
2012-07-27 03:16:22 -04:00
Behdad Esfahbod
3b7c4e2706
Don't fail choosing shaper on planning failure
...
Shapers have a chance to reject a font in face shaper_data creation.
No need to allow failing during planning.
2012-07-27 03:12:23 -04:00
Behdad Esfahbod
cfe9882610
Add hb_ot_layout_ensure() and hb_uniscribe_font_ensure()
2012-07-27 03:06:30 -04:00
Behdad Esfahbod
c5b668fb92
Choose one shaper per plan
2012-07-27 02:49:39 -04:00
Behdad Esfahbod
ea278d3895
Partially switch ot shaper to shape_plan
2012-07-27 02:12:28 -04:00
Behdad Esfahbod
c32c096a42
Switch to shape_plan
...
Not optimized yet. Eats babies. And no shaper uses the shape_plan.
2012-07-27 01:13:53 -04:00