Behdad Esfahbod
fcd6c338ff
Fix more compiler warnings
2017-11-14 15:04:19 -08:00
Behdad Esfahbod
7fdf16b2ce
Fix compiler warning
2017-11-14 15:04:19 -08:00
David Corbett
87f0ad183c
Allow U+20F0 in USE clusters
2017-11-14 15:04:10 -08:00
Behdad Esfahbod
93f7c1652a
Revert "[glib/ucdn/icu/ft/ot] Make returned funcs inert"
...
This reverts commit 5daf3bd449
.
If other atexit callbacks try to destruct the objects we destruct
in atexit callbacks, bad things will happen.
I'll come up with some other way to catch premature destruction
of HB-owned objects.
Fixes https://github.com/behdad/harfbuzz/issues/618
2017-11-14 10:59:54 -08:00
Behdad Esfahbod
c48475f33a
Whitespace
2017-11-13 20:26:29 -08:00
Behdad Esfahbod
83d6802736
Clean up GlyphID
...
After 4a27c17ea0
we do not need
the special GlyphID.cmp(hb_codepoint_t), so just make GlyphID
a typedef.
Fixes https://github.com/behdad/harfbuzz/issues/612
2017-11-13 20:25:02 -08:00
Behdad Esfahbod
7f39f57614
Implement strtod_l() on MSVC
...
Patch from Jean Ghali on mailing list.
2017-11-13 15:04:13 -08:00
Behdad Esfahbod
e4da380200
[coretext/uniscribe/directwrite/graphite/fallback] Update for unsafe-to-break
...
Fixes https://github.com/behdad/harfbuzz/issues/615
We'll see which bots I broke.
2017-11-10 17:14:27 -08:00
Martin Hosken
4de03a1585
Fix graphite intergration reordered clusters problem
2017-11-10 16:24:06 -08:00
Behdad Esfahbod
8eed9cb11e
[kern] Fix invalid memory access if offset is zero
...
If offset is zero, we return Null() object. Wasn't prepared for that.
Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=4088
2017-11-09 18:09:40 -08:00
Behdad Esfahbod
c4f4c0a2fa
Fix indexing in unsafe-to-break marking for 'stch' feature
...
Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=4099
2017-11-08 17:04:31 -08:00
David Corbett
5a9cba9744
Mark non-initial left matras as unsafe to break
2017-11-08 19:12:10 -05:00
Behdad Esfahbod
a615030683
[kern] Implement format-2 kern subtable
2017-11-06 15:40:07 -05:00
Behdad Esfahbod
82a38d1f7a
[kern] Allow subtables longer than 64kb
...
Apparently calibri.ttf does this:
https://github.com/fonttools/fonttools/pull/1094#discussion_r148933791
2017-11-06 15:28:24 -05:00
Behdad Esfahbod
625ae08fce
[kern] Towards implementing format-2
2017-11-06 15:06:30 -05:00
David Corbett
74e82adaea
Mark glyphs involved in 'stch' as unsafe to break
2017-11-06 15:06:23 -05:00
Behdad Esfahbod
5aad819433
Simplify tracing code when tracing is disabled
...
Fixes https://github.com/behdad/harfbuzz/pull/605
2017-11-03 17:18:17 -04: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
384862d7ee
Remove NO_COPY()
2017-11-03 17:18:17 -04:00
Unknown
97145df249
Trivial typos
...
Found using `codespell -i 3 -w -I '../harf-whitelist.txt'`
whereas the whitelist contents were:
```
beng
iff
pres
ot
te
teh
```
2017-11-03 15:31:21 +02:00
Behdad Esfahbod
4b3278ef8d
[ot] Hook up horizontal kerning to kern table
...
Seems to work. Yay!
Still to do: run kerning if GPOS doesn't have 'kern' feature.
2017-11-01 19:41:29 -06:00
Behdad Esfahbod
77acc1106e
[kern] More...
...
Almost there.
2017-11-01 19:40:51 -06:00
Behdad Esfahbod
49c0f35580
[kern] See if this helps with making VS bot happy
2017-11-01 18:16:07 -06:00
Behdad Esfahbod
2c439210c9
[uniscribe] Fix a couple of VS warnings
2017-11-01 18:13:35 -06:00
Behdad Esfahbod
4c43a23bf4
[kern] Implement Format0
2017-11-01 18:12:26 -06:00
Behdad Esfahbod
ac3d937c6c
[kern] Implement some more
2017-11-01 17:54:56 -06:00
Behdad Esfahbod
2a16f647ae
[kern] Start implementing kern table
...
Pushing this out early to catch bot errors since I'm using template tricks
we were not using in HarfBuzz before.
2017-11-01 17:32:34 -06:00
ebraminio
102f5ead49
Enable PSVita (arm-none-eabi) compile again and add it to CI ( #594 )
2017-11-01 02:10:18 -07:00
Behdad Esfahbod
92bb508642
[indic] Use mutable for virama_glyph
2017-10-31 22:58:03 -06:00
Behdad Esfahbod
6c04dcb28d
Use bsearch() for large SFNT table directories
2017-10-31 20:11:00 -06:00
Behdad Esfahbod
b0e33da02d
Add BinSearchArrayOf<>
2017-10-31 20:05:37 -06:00
Behdad Esfahbod
aca378f51e
Sanitize (Headless)ArrayOf()::len to ensure it doesn't use offsets
2017-10-31 18:11:10 -06:00
Behdad Esfahbod
5f04711314
Fix HeadlessArrayOf::sanitize_shallow()
2017-10-31 18:10:40 -06:00
Behdad Esfahbod
7ce9f397d1
Rename hb-sort-r.hh -> hb-dsalgs.hh
2017-10-31 16:54:31 -06:00
Behdad Esfahbod
8eaff980fc
Remove HB_TAG_CHAR4
2017-10-31 16:54:31 -06:00
David Corbett
d016c5bdb9
Categorize Grantha candrabindu for use in Tamil
2017-10-31 16:54:23 -06:00
Behdad Esfahbod
0feff4ba7b
Simplify hb-sort-r.hh
...
See https://github.com/behdad/harfbuzz/pull/592
2017-10-31 14:02:54 -06:00
Behdad Esfahbod
c290ba5b7d
Define _GNU_SOURCE
...
Might help with https://github.com/behdad/harfbuzz/pull/592
Ie. bringing in qsort_r() prototype always.
2017-10-31 13:18:21 -06:00
Behdad Esfahbod
98acdde3c6
[coretext/uniscribe] Fix build
...
https://travis-ci.org/behdad/harfbuzz/jobs/295039536#L3468
https://ci.appveyor.com/project/behdad/harfbuzz/build/1.0.697/job/dr1ujlntxafeqbej#L142
2017-10-31 11:17:43 -06:00
Behdad Esfahbod
ec86cc5e55
Fix Windows build
...
(And prevent it from happening in the future.)
2017-10-30 14:11:59 -06:00
Behdad Esfahbod
e35a763c07
[post] Implement glyph_from_name()
...
This concludes https://github.com/behdad/harfbuzz/pull/568
2017-10-30 13:15:05 -06:00
Behdad Esfahbod
6c738f353e
Make string-array return hb_string_t
2017-10-30 12:21:44 -06:00
Behdad Esfahbod
e1a37f3db4
Add hb_string_t
2017-10-30 11:42:28 -06:00
Behdad Esfahbod
21ac567858
Fix tests
2017-10-30 09:48:09 -06:00
Behdad Esfahbod
0f8b5aa1bc
[post] Minor; towards implementing get_glyph_from_name()
2017-10-30 09:46:36 -06:00
Behdad Esfahbod
977679f229
Add hb_bsearch_r()
2017-10-29 17:33:32 -06:00
Behdad Esfahbod
0712e915b4
Remove hb_compare_func_t
2017-10-29 17:01:47 -06:00
Behdad Esfahbod
538da7496d
Add hb-sort-r, a portable qsort_r() replacement
2017-10-29 16:38:58 -06:00
Behdad Esfahbod
923a8f520a
Fix up 5de83fab94
2017-10-29 15:00:54 -06:00
Behdad Esfahbod
b98c7c3f1f
[post] Minor
2017-10-29 14:52:52 -06:00
Behdad Esfahbod
5de83fab94
[ot] Speed up get_glyph_name()
...
get_glyph_from_name() coming soon.
2017-10-28 19:54:04 -06:00
Behdad Esfahbod
feadee079e
[post] Refactor a bit, use our data types
2017-10-28 16:58:56 -06:00
Behdad Esfahbod
5014c60afa
More nullptr fix
...
Fixes https://github.com/behdad/harfbuzz/issues/585
2017-10-28 12:00:49 -06:00
Behdad Esfahbod
5daf3bd449
[glib/ucdn/icu/ft/ot] Make returned funcs inert
...
Such that client cannot accidentally destroy them, even though that
will be a bug in their code...
2017-10-27 16:37:11 -06:00
Behdad Esfahbod
bfa7f37a73
Fix previous commit
...
Oops.
2017-10-27 16:03:51 -06:00
Behdad Esfahbod
8864864b62
[glib/icu/ucdn] Make the funcs object allocated on demand
2017-10-27 15:26:45 -06:00
Behdad Esfahbod
af3f72f9eb
Correctly mark NullPool const
...
Saves some more code size as well!
2017-10-27 15:14:44 -06:00
Behdad Esfahbod
51f4d4d5cd
Reduce prealloced number of user-data items from 2 to 1
...
Even 1 is too many but putting 0 breaks compile. Saves 3k in .so
2017-10-27 15:09:22 -06:00
Behdad Esfahbod
3205de7906
Make the NullPool HB_INTERNAL shared
...
Saves 2k of .bss section.
2017-10-27 15:01:40 -06:00
Behdad Esfahbod
7036f1d22c
[ot] Remove shaper name
...
In ten years we never used them...
2017-10-27 14:42:59 -06:00
Behdad Esfahbod
4a27c17ea0
Fix IntType.cmp() to avoid narrowing down integer types
...
Fixes https://github.com/behdad/harfbuzz/issues/571
2017-10-27 14:29:12 -06:00
Behdad Esfahbod
62e312ead8
Use NULL instead of polyfill, if nullptr is not available
...
Part of fixing https://github.com/behdad/harfbuzz/issues/585
2017-10-27 09:29:20 -06:00
Behdad Esfahbod
17f40b7cad
Include hb-private.hh more consistently
...
Part of fixing https://github.com/behdad/harfbuzz/issues/585
2017-10-27 09:22:42 -06:00
Behdad Esfahbod
42d518513c
Towards compiling with pre-C++11 compilers and nullptr fallback
...
https://github.com/behdad/harfbuzz/issues/585
2017-10-27 00:25:11 -06:00
Behdad Esfahbod
0e9256984e
[post] Make format1 names array avoid relocations
2017-10-26 20:34:04 -06:00
Behdad Esfahbod
2a74968044
Add hb-string-array.hh
...
Used to build static string arrays that use no relocation.
2017-10-26 20:32:16 -06:00
Behdad Esfahbod
6f08b12bc3
Minor
2017-10-26 18:23:03 -06:00
Jonathan Kew
dfd234a97d
[set] Fix page_map[] indexing in backward loop.
...
Fixes https://github.com/behdad/harfbuzz/issues/579 .
2017-10-26 12:33:05 -05:00
Jonathan Kew
d511cfb557
[set] Bugfix for hb_set_next
2017-10-26 12:30:52 -05:00
Behdad Esfahbod
92bac64bd2
[post] Oops!
...
https://ci.appveyor.com/project/behdad/harfbuzz/build/1.0.668/job/ikfj8peowgrp059t
2017-10-25 18:22:47 -06:00
Behdad Esfahbod
543bd58d7a
[post] Touch up and fixes
...
The get_glyph_from_name() is incorrect; needs fixing.
2017-10-25 18:01:03 -06:00
Khaled Hosny
d9e166f74c
[ot-font] Implement hb_ot_get_glyph_from_name
2017-10-25 19:29:51 -04:00
Khaled Hosny
9d4d2fb9af
[ot-font] Implement hb_ot_get_glyph_name
...
Turns out we already have support for “post” table, it just needed to be
activated and put in use.
2017-10-25 19:29:51 -04:00
Behdad Esfahbod
33ca3b67bf
Check for headers in builddir first, in check-*.sh
...
Fixes https://bugs.freedesktop.org/show_bug.cgi?id=103346
2017-10-25 12:09:11 -04:00
Behdad Esfahbod
9ac2e5c6c0
check-externs.sh: Make output more verbose
...
Trying to figure out why this is failing on some Debian bots:
https://bugs.freedesktop.org/show_bug.cgi?id=103346
Maybe I should check for GNU grep specifically now that I'm using -n as well.
2017-10-24 10:06:25 -04:00
Behdad Esfahbod
30a591e3ce
[set] Rewrite another way :P
2017-10-23 14:29:20 -04:00
Behdad Esfahbod
8170801d78
[set] Fix crash
...
Ouch! That's what happens when one plays with increment/decrement operators!
Fixes https://github.com/behdad/harfbuzz/issues/578
2017-10-23 14:29:14 -04:00
Behdad Esfahbod
2ee710e02f
Minor
2017-10-23 08:37:48 -04:00
Behdad Esfahbod
dd33e4e96b
[set] Don't use major()
...
Fixes https://github.com/behdad/harfbuzz/issues/577
2017-10-23 08:36:40 -04:00
Behdad Esfahbod
d0f0ff85b9
[set] Don't use PAGE_SIZE
...
Fixes https://github.com/behdad/harfbuzz/issues/576
2017-10-23 08:34:30 -04:00
Behdad Esfahbod
ce97945440
[icu] Fix error check
2017-10-22 18:23:38 -04:00
Behdad Esfahbod
8b9d9b71b0
Fix set initialization issues
2017-10-22 17:48:06 -04:00
Behdad Esfahbod
ced86da7dd
Another try at fixing mingw32 build bot fail
2017-10-22 17:06:10 -04:00
ebraminio
d45a2138d9
Merge pull request #572 from fanc999/master.msvc
...
builds: Support HarfBuzz-GObject and introspection in CMake builds
2017-10-21 10:19:55 +03:30
Behdad Esfahbod
d8adaa97fb
Another try at fixing build bots
...
hb-ot-shape.cc:287:18: error: comparison of constant 32 with expression of type 'hb_unicode_general_category_t' is always true [-Werror,-Wtautological-constant-out-of-range-compare]
2017-10-20 13:57:43 -04:00
Behdad Esfahbod
6058f98825
Remove FLAG_SAFE()
...
No flag is safe, over time... See previous commit.
2017-10-19 11:39:52 -07:00
Behdad Esfahbod
7c561dacc3
[myanmar] Fix unsafe usage of FLAG_SAFE()
...
The commit f559c63307
caused
"undefined-shift" errors in Myanmar shaper as we changed the
numeric value of type D from 19 to 32 there, making the
"FLAG_SAFE (info.myanmar_category())" wrong.
Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=3546
2017-10-19 11:35:51 -07:00
Chun-wei Fan
162575f2c6
CMake builds: Fix builds
...
Include the fallback sources in the build, and update
src/Makefile.sources so that it can be read by the CMake build files.
Fix a typo in the DirectWrite configure option so that we can properly
enable DirectWrite builds.
Also, when building the utility program, install them as well.
2017-10-18 22:48:18 +08:00
Behdad Esfahbod
d6f612fac8
[bsearch] Micro-optimization
2017-10-17 16:32:12 -07:00
Fredrik Roubert
41b1984be9
Switch from ICU deprecated unorm_normalize to unorm2_normalize. ( #569 )
...
The new unorm2_normalize has been public API since ICU 4.4, while
the old unorm_normalize has been deprecated since ICU 56.
Now, beginning with ICU 60, unorm_normalize will also be annotated
U_DEPRECATED and trigger the compiler -Wdeprecated-declarations warning.
2017-10-17 15:06:31 -07:00
Behdad Esfahbod
ba8b569607
Try fixing build on VC
...
c:\projects\harfbuzz\src\hb-set-private.hh(151): error C2327: 'hb_set_t::page_t::v': is not a type name, static, or enumerator [C:\projects\harfbuzz\build\harfbuzz.vcxproj]
2017-10-17 11:16:36 -07:00
Behdad Esfahbod
80cc0a7e3e
[coretext] Fix build
...
error: static_assert expression is not an integral constant expression
2017-10-17 11:14:48 -07:00
Behdad Esfahbod
a11249ee93
[set] Fix merge logic
2017-10-16 01:33:32 -04:00
Behdad Esfahbod
ab8f327eb4
Ouch.
2017-10-15 18:21:35 -04:00
Behdad Esfahbod
bb9917913f
[set] Disable vectorization
...
Fixes clang "non-const reference cannot bind to vector element" error.
2017-10-15 18:20:25 -04:00
Behdad Esfahbod
221ce6c18f
Fix bots
2017-10-15 17:58:58 -04:00
Behdad Esfahbod
0cf7d957b7
[set] Remove TODO items not worth pursuing
2017-10-15 17:01:31 -04:00
Behdad Esfahbod
10d43658e7
[set] Speed up intersects()
2017-10-15 16:56:05 -04:00
Behdad Esfahbod
56ef4e0c52
Simplify hb_prealloced_array_t initialization
2017-10-15 16:38:29 -04:00
Behdad Esfahbod
7737e87ac4
Properly detect vector_size attribute and use fallback otherwise
2017-10-15 16:21:03 -04:00