Ebrahim Byagowi
76c4873e8c
Support branch prediction helpers on clang compiles ( #491 )
2017-06-02 13:23:10 -04:00
Behdad Esfahbod
7dba30639a
Handle allocation failure in hb-language code
2017-06-01 11:44:42 -04:00
Sebastian Rasmussen
92e2c4baaf
Avoid using strdup inside library. ( #488 )
...
If an application provides a malloc replacement through
hb_malloc_impl() it is important that it is used to allocate
everything, but the use of strdup() circumvents this and
causes system malloc() to be called instead. This pairs
badly with the custom hb_free_impl() being called later.
2017-05-29 10:53:30 -07:00
Khaled Hosny
06cfe3f736
Do not skip TAG characters in glyph substitution ( #487 )
...
Hide them like Mongolian Free Variation Selectors instead.
Fixes https://github.com/behdad/harfbuzz/issues/463
2017-05-17 11:32:47 -07:00
Behdad Esfahbod
1817221620
Minor
2017-05-16 14:26:28 -07:00
mhosken
74b99ef224
Fix graphite2 rtl conversion ( #475 )
2017-04-20 11:13:22 -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
William Hua
5ecf96e3a2
Use absolute paths of ragel generated headers ( #467 )
...
https://github.com/behdad/harfbuzz/issues/455
2017-04-16 22:33:42 -07:00
jfkthame
c04c1fe86e
Blacklist GDEF table in additional Tahoma versions. ( #459 )
...
There are more broken versions of Tahoma out there on various Windows releases,
so we need to add them to our blacklist to avoid broken rendering.
See https://bugzilla.mozilla.org/show_bug.cgi?id=1279925 for details.
2017-04-11 14:29:13 -07:00
ebraminio
adfd4ae1cf
[cmake] Improve third party libraries support ( #461 )
2017-04-11 23:18:18 +04:30
Behdad Esfahbod
a4471d0c2c
Move list of ragel sources to Makefile.sources as well
2017-04-05 15:42:11 +02:00
ebraminio
d2acaf6d72
Split ragel generated files lists and remove hardcoded rl files lists ( #453 )
2017-04-05 11:21:23 +02:00
jfkthame
740fdbcd0e
avoid UBSan warning in get_stage_lookups ( #450 )
...
See https://bugzilla.mozilla.org/show_bug.cgi?id=1336600
2017-04-03 13:22:39 +02:00
Behdad Esfahbod
edcf6344bc
Blacklist more versions of Padauk
...
Patch from Phil Race.
2017-03-24 10:24:52 -07:00
Khaled Hosny
91570a1eeb
Just always use strtod here
2017-03-22 23:07:20 +02:00
Chun-wei Fan
539571c1a9
src/hb-common.cc: Fix build on older Visual Studio
...
Visual Studio only supported strtof() from Visual Studio 2013 onwards, so
use strtod() instead to do the operation, which should do the same thing,
sans going to a double, not a float.
2017-03-22 23:03:49 +02:00
Behdad Esfahbod
47e7a1800f
Revert "Fix Context lookup application when moving back after a glyph delete"
...
This reverts commit b9b005f3a4
.
This introduced invalid access cases. Revert until I fix correctly.
2017-03-10 13:23:02 -08:00
Behdad Esfahbod
3c080a7a0a
Fix buffer serialize of empty buffer
...
Ouch!
2017-03-07 18:13:28 -08:00
Behdad Esfahbod
9ac9af725c
Add TODO item
2017-03-05 13:51:01 -08:00
Behdad Esfahbod
5aec2fb8d0
Remove TODO item that is not going to happen
2017-03-02 11:46:33 -08:00
Behdad Esfahbod
b9b005f3a4
Fix Context lookup application when moving back after a glyph delete
...
This was broken forever, since days that we did not allow moving
tape backwards. Works now. Reported by Doug Felt.
2017-03-01 14:27:23 -08:00
Behdad Esfahbod
85630996b8
Fix buffer-overrun with Bengali reph positioning code
...
This has no security implications whatsoever since we always keep
and extra element at the end of buffer, just in case.
Discovered by oss-fuzz
CC https://github.com/behdad/harfbuzz/issues/139
Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=660
2017-02-25 13:32:20 -08:00
Dominik Röttsches
a657f23ca3
Blacklist another instance of Padauk ( #419 )
...
In https://crbug.com/681813 another instance of Padauk was identified
triggering collapsed glyphs. Blacklist this version by patching
hb-ot-layout.cc to print out gdef, gsub, and gpos table length, then
adding those to the list of blacklisted versions.
2017-02-20 13:52:07 -06:00
jfkthame
44f7d6ecde
Guard against underflow when adjusting length ( #421 )
...
* Guard against underflow when adjusting length
With the fuzz-testcase in mozilla bug 1295299, we end up with a recursed lookup that removes 3 items, when `match_positions[idx]` is 0, which results in (unsigned) `end` wrapping to a huge value.
Making `end` a signed int is probably the simplest route to a fix.
Fixes https://bugzilla.mozilla.org/show_bug.cgi?id=1295299 .
* Add testcase for #421 .
2017-02-16 19:03:24 -08:00
jfkthame
45766b673f
[indic] Add support for Grantha marks that may be used in Tamil to th… ( #401 )
...
* [indic] Add support for Grantha marks that may be used in Tamil to the Indic table.
See https://bugzilla.mozilla.org/show_bug.cgi?id=1331339 .
Testcase: U+0BA4,U+0BC6,U+1133c,U+0BAA,U+1133c,U+0BC6,U+1133c
* [indic] Add test for Grantha nukta that is allowed in Tamil by ScriptExtensions.txt
2017-02-16 09:40:21 -08:00
Behdad Esfahbod
d4bb52b9fd
Unbreak hb-coretext build
2017-02-09 14:13:25 -08:00
Behdad Esfahbod
c8dfed8e1e
Merge pull request #357 from khaledhosny/graphite-scale
...
[graphite] Fix shaping with varying font sizes
2017-02-08 14:36:18 -08:00
Behdad Esfahbod
7c47474f20
Set LC_ALL instead of LANG when creating harfbuzz.def
...
Hopefully fixes Travis faliure?
https://github.com/behdad/harfbuzz/pull/413#issuecomment-278481882
https://travis-ci.org/khaledhosny/harfbuzz/jobs/199785332#L1065
2017-02-08 14:33:28 -08:00
Philip Withnall
ffde3c9f9e
hb-font: Fix a potentially undefined use of memcmp() ( #413 )
...
While it’s fine to call memcmp(x, 0, 0) in practice, the C99 standard
explicitly says that this is not allowed: even if the length is zero,
the pointer arguments must be valid.
http://stackoverflow.com/a/16363034
Coverity ID: 141178
Signed-off-by: Philip Withnall <withnall@endlessm.com>
2017-02-08 13:56:57 -08:00
Behdad Esfahbod
73c6dcbb45
Silence Coverity warning
...
Fixes https://github.com/behdad/harfbuzz/issues/408
2017-02-07 16:53:21 -08:00
Behdad Esfahbod
466b3e58bd
Shuffle things around a bit
2017-02-03 16:57:15 -08:00
Behdad Esfahbod
fc8189b639
Minor
2017-02-03 16:17:08 -08:00
Behdad Esfahbod
d3d3691806
Add dirty-state tracking to hb_face_t
2017-02-03 15:42:03 -08:00
Behdad Esfahbod
2171f48b4b
Add dirty-state tracking to hb_font_t
2017-02-03 10:58:09 -08:00
Behdad Esfahbod
95808bad2c
Add new API hb_font_set_face()
...
For completeness.
2017-02-03 10:39:40 -08:00
jfkthame
4ec19319ab
Add Win10 Anniversary Update version of Tahoma to GDEF blacklist. ( #412 )
2017-02-02 10:48:23 -08:00
Behdad Esfahbod
1dd630a7f2
Minor
...
Fixes https://github.com/behdad/harfbuzz/issues/411
2017-02-01 11:57:21 -08:00
Behdad Esfahbod
e888f642db
Route Adlam through Arabic shaper
...
Fixes joined Adlam rendering.
Fixes https://github.com/googlei18n/noto-fonts/issues/828
2017-01-26 14:50:14 -08:00
jfkthame
72c754873c
Add Win7 version of himalaya.ttf to the GDEF table blacklist. ( #407 )
2017-01-26 14:35:41 -08:00
Behdad Esfahbod
22af28a3f1
[var] Implement MVAR table
...
Unhooked. Untested.
2017-01-23 23:42:53 -08:00
Behdad Esfahbod
67a191164d
[var] Whitespace
2017-01-23 23:21:30 -08:00
Behdad Esfahbod
79e8e27ffd
[var] Hook up advance variations to hb-ot-font
...
Yay, works!
2017-01-23 17:57:27 -08:00
Behdad Esfahbod
6074340371
[var] Fix bug in HVAR/VVAR impl
2017-01-23 17:55:16 -08:00
Behdad Esfahbod
bd3b11d926
[var] Prepare for hooking up advance variations to hb-ot-font
2017-01-23 17:37:19 -08:00
Behdad Esfahbod
a4fca9f005
[var] Implement DeltaSetIndexMap and advance delta fetching
...
Not hooked up to hb-ot-font yet.
2017-01-23 12:25:40 -08:00
Behdad Esfahbod
7b399f73ef
[var] Start adding HVAR/VVAR
2017-01-23 11:41:43 -08:00
Behdad Esfahbod
b732c53eb5
Add LArrayOf<>
2017-01-22 20:31:53 -08:00
Behdad Esfahbod
5e156fa5ed
Add LOffsetTo<>
2017-01-22 20:28:56 -08:00
Behdad Esfahbod
d6bdbbca30
[var] Remove HB_OT_TAG_fvar/avar
...
We're not going to define public macros for tags for tables.
There's little use to those and they are implementation detail.
2017-01-22 20:16:51 -08:00
Behdad Esfahbod
a11d9a0466
Minor
2017-01-22 20:11:57 -08:00
Behdad Esfahbod
7a860f656e
[var] Add macros for standard axes
2017-01-22 19:52:09 -08:00
Behdad Esfahbod
a484e237b1
[var] Implement 'avar' table mapping
...
Untested!
2017-01-22 19:41:33 -08:00
Behdad Esfahbod
5ec96d30ca
[var] Adjust API in prep for 'avar' implementation
...
The 'avar' table does not allow random access to axis maps,
so change API to avoid quadratic-time implementation.
Removed -hb_ot_var_normalize_axis_value(), added
+hb_ot_var_normalize_variations() and
+hb_ot_var_normalize_coords() instead.
2017-01-22 18:52:00 -08:00
Behdad Esfahbod
8a577aaa0d
[var] Stub implementation of avar table
2017-01-22 18:22:40 -08:00
Behdad Esfahbod
7647a05a0b
Minor
2017-01-22 17:47:49 -08:00
Behdad Esfahbod
d2f249e745
Stub out doc comments for new symbols
2017-01-22 17:42:33 -08:00
Behdad Esfahbod
5dfd341f51
Minor
2017-01-22 16:55:40 -08:00
Behdad Esfahbod
825e40407d
[hb-ft] Remove use of variable-length array
...
Hopefully also fixes build failure on msvc.
2017-01-22 16:41:45 -08:00
Behdad Esfahbod
47ee34e847
[var] Hook up variations to FreeType face
...
hb-view correctly renders variations with ft font-funcs now.
hb-ot-font needs HVAR implementation.
2017-01-21 18:10:08 -08:00
Behdad Esfahbod
bb1e19268f
[var] Rename var_coord to variation
...
Looks much better.
2017-01-21 17:42:50 -08:00
Behdad Esfahbod
64fe92bf2d
[var] Remove use of variable-length arrays
2017-01-21 15:36:35 -08:00
Behdad Esfahbod
2491134b38
[var] Add hb_font_set_var_coords()
2017-01-21 15:21:50 -08:00
Behdad Esfahbod
113393efec
Remove a few unused includes
2017-01-21 15:12:03 -08:00
Behdad Esfahbod
2d40923ca9
Minor
2017-01-21 15:06:15 -08:00
Behdad Esfahbod
8b2a580470
[var] Add hb_font_set_var_coords_design()
2017-01-21 15:05:00 -08:00
Behdad Esfahbod
0dcc7b49a8
[var] Minor lifecycle adjustment
2017-01-21 14:50:22 -08:00
Behdad Esfahbod
bf0d3a665b
[var] Add hb_font_get_var_coords_normalized()
2017-01-21 14:48:46 -08:00
Behdad Esfahbod
b3c0714b4b
[var] Add hb_var_coord_t and parsing routines
2017-01-20 20:30:03 -08:00
Behdad Esfahbod
72364103bc
Move code around
2017-01-20 20:16:53 -08:00
Behdad Esfahbod
785982bf83
[var] Flesh out some more
2017-01-20 20:05:45 -08:00
Behdad Esfahbod
422c0c36c8
[var] Flesh out a bit
2017-01-20 19:14:54 -08:00
Behdad Esfahbod
b8376b1090
Minor
2017-01-20 18:19:28 -08:00
Behdad Esfahbod
f2e73d37e7
[var] Remove over-optimization
2017-01-20 17:42:18 -08:00
Behdad Esfahbod
469926cc45
[var] Change double to float in API
2017-01-20 17:40:46 -08:00
Behdad Esfahbod
55d42fd667
Start adding hb-ot-var.h and implementation
...
Supports enumerating variation axes, normalizing values, etc.
2017-01-19 19:35:48 -08:00
Behdad Esfahbod
272b511532
Minor
2017-01-19 19:33:07 -08:00
Khaled Hosny
2452543fdd
[ot] Fix automatic fraction for RTL scripts ( #405 )
...
The numbers for right-to-left scripts are processed also from right to
left, so the order of applying “numr” and “dnom” features should be
reversed in such case.
Fixes https://github.com/behdad/harfbuzz/issues/395
2017-01-18 12:48:13 -08:00
Sascha Brawer
1337428e4f
Update language tags to OpenType 1.8.1 ( #403 )
...
Resolves https://github.com/behdad/harfbuzz/issues/324
2017-01-18 04:51:02 -08:00
Behdad Esfahbod
784d1180de
Fix build with clang
2017-01-11 11:58:13 -08:00
Behdad Esfahbod
1f810daf16
Port math table to hb_lazy_table_loader_t
2017-01-09 23:50:56 -08:00
Behdad Esfahbod
ebbcc11122
Add hb_lazy_table_loader_t
2017-01-09 22:47:47 -08:00
Behdad Esfahbod
1af9d924a4
Move lazy-loader to more generic place
2017-01-09 22:22:37 -08:00
Behdad Esfahbod
ac274331c2
In lazy-loading, remember allocation failure
2017-01-09 22:20:38 -08:00
Behdad Esfahbod
29fb0cb727
Minor
2017-01-09 21:18:55 -08:00
Behdad Esfahbod
93ef684b9b
Rename hb-ot-layout-math-table.hh to hb-ot-math-table.hh
2017-01-09 21:11:00 -08:00
Behdad Esfahbod
3b5263b0e9
Typo
2017-01-09 15:49:08 -08:00
Behdad Esfahbod
00adf9c8a4
Minor
...
Should be enough to get -hangul.cc out of SOURCES in Firefox build:
https://dxr.mozilla.org/mozilla-central/source/gfx/harfbuzz/src/moz.build
No one else should care!
2017-01-09 00:00:49 -08:00
Behdad Esfahbod
7cf9952e7f
[USE] Remove non-canonical decompositions
...
We have had added this in Indic shaper to assist shaping these scripts.
In Universal Shaping Engine however, it is up to font designer to
decompose them. Hence moving them from Indic shaper to USE was
wrong.
Fixup for f6ba63b2e8
Part of fixing https://github.com/behdad/harfbuzz/issues/387
2017-01-08 23:55:54 -08:00
Khaled Hosny
b435c7c46a
[graphite] Stop creating unused gr_face
...
It is unused after previous commit, hb_graphite2_font_get_gr_font()
makes no sense now so deprecating it.
2017-01-07 01:57:28 +02:00
Khaled Hosny
1b00a3b048
[graphite] Fix shaping with varying font sizes
...
Shape using design units and scale the output.
See https://bugs.documentfoundation.org/show_bug.cgi?id=103403#c7
2017-01-07 01:57:28 +02:00
Behdad Esfahbod
53543f8b3e
Ship UCDN and use it by default
...
So we are not relying on version of Unicode data in glib...
Fixes https://github.com/behdad/harfbuzz/issues/386
Fixes https://github.com/behdad/harfbuzz/issues/388
2017-01-05 20:12:32 -08:00
Frédéric Wang
ae00af4a47
Move math-specific code from hb-ot-layout to hb-ot-math #235 ( #384 )
2017-01-02 23:55:09 -05:00
Behdad Esfahbod
6cff753941
Remove Tibetan decomposition rules from Indic shaper
...
The decomposition is very obscure and unlikely to help
any fonts. Just remove it since Uniscribe probably doesn't
do this either.
Fixes https://github.com/behdad/harfbuzz/issues/382
2016-12-28 13:47:13 -05:00
Behdad Esfahbod
f6ba63b2e8
Port decompositions from Indic to USE shaper
...
Part of https://github.com/behdad/harfbuzz/issues/382
2016-12-28 13:45:32 -05:00
Behdad Esfahbod
e678b537f7
[indic] Remove Chakma decomposition rule from Indic shaper
...
This is now added to USE:
https://github.com/behdad/harfbuzz/pull/383
See:
https://github.com/behdad/harfbuzz/issues/381
https://github.com/behdad/harfbuzz/issues/382
2016-12-28 13:40:55 -05:00
jfkthame
49ba698124
[use] Special-case Chakma split-vowel decomp in the USE shaper. ( #383 )
2016-12-28 13:00:51 -05:00
Behdad Esfahbod
c4ca49d55b
Revert "[indic] Remove redundant Chakma decomposition rule"
...
This reverts commit 805f76fc00
.
Need to investigate why having this rule (with the reversed order)
fixes decomposition as reported by punchcutter:
https://github.com/behdad/harfbuzz/issues/381#issuecomment-269237796
2016-12-26 14:52:08 -05:00
Behdad Esfahbod
805f76fc00
[indic] Remove redundant Chakma decomposition rule
...
This was not used BTW since Chakma doesn't go through Indic shaper
anymore.
See:
https://github.com/behdad/harfbuzz/issues/381
https://github.com/behdad/harfbuzz/issues/382
2016-12-26 14:12:39 -05:00
Behdad Esfahbod
3cc48a46b5
[indix] Comment
2016-12-26 13:16:56 -05:00
nvelinov
7d1c5d8281
Compilation Error for ASSERT_STATIC on Some Compilers ( #380 )
...
* this pointer in type definitions is not interpreted as a constant.
This rule is not enforced strictly by all compilers, but the Green Hills Software compiler will regard this as an error.
* Merging branches for the DEFINE_SIZE_UNION macro
Adding check for the existence of static_size field in the tested member.
2016-12-23 19:46:37 -06:00