Behdad Esfahbod
a7f15959b5
Shuffle
2017-11-14 20:02:24 -08:00
Behdad Esfahbod
a85d7ead04
[ot] Move hb_ot_face_metrics_accelerator_t
2017-11-14 20:00:34 -08:00
Behdad Esfahbod
f00a94e1ec
Adjust privacy for recent changes
2017-11-14 19:54:48 -08:00
Behdad Esfahbod
7e2839c438
[ot] Move hb_ot_face_glyf_accelerator_t
2017-11-14 19:52:29 -08:00
Behdad Esfahbod
c4e18e54dc
[ot] Move hb_ot_face_cbdt_accelerator_t
2017-11-14 19:52:26 -08:00
Behdad Esfahbod
9b04b0384f
[ot] Fold hb_ot_face_post_accelerator_t
2017-11-14 19:31:50 -08:00
Behdad Esfahbod
702d86ba6b
[ot] Fold hb_ot_face_kern_accelerator_t
2017-11-14 19:25:51 -08:00
Behdad Esfahbod
909de95a11
Minor build fix
2017-11-14 16:22:52 -08:00
Behdad Esfahbod
e5930722d4
Fix invalid buffer access in OOM times
...
Hopefully fully fixes
https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=1856
2017-11-14 15:47:55 -08:00
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
Behdad Esfahbod
f8a0ec50e2
[set] Add fallback implementation of int-vector type
2017-10-15 16:10:35 -04:00
Behdad Esfahbod
deed4a48d1
Faster hb_set_t
...
Fixes https://github.com/behdad/harfbuzz/pull/23
2017-10-15 16:45:33 -03:00
Behdad Esfahbod
1d3971200b
Deprecate hb_set_invert()
2017-10-15 16:28:34 -03:00
Behdad Esfahbod
5e74044b6b
Add bfind() to prealloaced_array_t
2017-10-15 16:28:34 -03:00
Behdad Esfahbod
db5f7ef189
Inline another bsearch()
2017-10-15 16:28:34 -03:00
Behdad Esfahbod
6fb4ac73f9
Add popcount for 64bit ints
2017-10-15 16:00:09 +02:00
Behdad Esfahbod
473b17af4d
Remove unused hb_cache_t
2017-10-15 14:11:09 +02:00
Behdad Esfahbod
a433e60a43
Remove unused hb_frozen_set_t
2017-10-15 14:09:46 +02:00
Behdad Esfahbod
826a1daf2f
Move set-digests into their own header file
2017-10-15 14:09:05 +02:00
Behdad Esfahbod
3c13e153fe
Try fixing AppVeyor bots
2017-10-15 14:02:58 +02:00
Behdad Esfahbod
7e3015a315
Fix warnings
2017-10-15 12:13:19 +02:00
Behdad Esfahbod
dbdbfe3d7b
Use nullptr instead of NULL
2017-10-15 12:11:08 +02:00
Behdad Esfahbod
fbb937b680
Don't use NULL in public headers
2017-10-15 12:04:16 +02:00
Behdad Esfahbod
c3448e8d21
Use static_assert instead of custom ASSERT_STATIC
2017-10-15 12:02:00 +02:00
Behdad Esfahbod
76dcbf8b23
Add polyfill for static_assert and nullptr
...
Also fix hb_assert_constant_t.
2017-10-15 11:24:35 +02:00
Behdad Esfahbod
81e2b9b8a9
Never skip over CGJ
...
We might want to tweak this some more. For now, never skipping over
it is better behavior than always skipping.
Part of https://github.com/behdad/harfbuzz/issues/554
2017-10-15 10:49:06 +02:00
Behdad Esfahbod
74f1b88e37
[ucdn] Fix compiler warnings
2017-10-13 11:01:55 +02:00
Behdad Esfahbod
c2cf68dbdf
[coretext] Fix build
2017-10-13 10:30:19 +02:00
Behdad Esfahbod
95883fc5d4
[coretext] Pass correct font size to CoreText
...
CoreText "point"s are not typographic points, but CSS pixels. Ie.
they are 96 per inch, not 72 per inch.
2017-10-13 10:22:20 +02:00
Behdad Esfahbod
4f9a83ec21
Merge remote-tracking branch 'origin/master'
2017-10-12 14:08:58 +02:00
Behdad Esfahbod
fa48ccbe12
[indic] Special-case Kannada Ra,H,ZWJ sequence
...
Fixes https://github.com/behdad/harfbuzz/issues/435
2017-10-12 14:07:37 +02:00
n8willis
40b05d7b77
Replacing 'cluster' with 'syllable' when comments describe certain Indic shaping behavior ( #563 )
...
* Clarified wording of syllable/cluster behavior in Uniscribe in final_reordering; changed one other probable typo.
* Additional syllable/cluster swap in comments for final reordering and for initial-reordering matra decomposition.
2017-10-12 13:48:48 +02:00
Behdad Esfahbod
8923033eb2
[coretext] Use fabs() to silence compiler warning
2017-10-12 12:02:04 +02:00
Dominik Röttsches
dd4b321b4a
[coretext] Activate tracking for system fonts
...
Another attempt at fully fixing
https://github.com/behdad/harfbuzz/issues/360
2017-10-12 11:54:17 +02:00
Behdad Esfahbod
6a2cbc6ef5
[coretext] Use fabsf() instead of abs()
...
Fixes bots.
Link libharfbuzz.so with -lm. Surprising that we survived without
it so far!
2017-10-12 10:46:09 +02:00
Behdad Esfahbod
4e4781319b
[ft] Add hb_ft_font_changed()
...
When the font size or variations settings on underlying FT_Face change,
one can call hb_ft_font_changed() and continue using hb_font created using
hb_ft_font_create().
Fixes https://github.com/behdad/harfbuzz/issues/559
New API:
hb_ft_font_changed()
2017-10-12 10:33:16 +02:00
Behdad Esfahbod
94b3cafc3a
Add hb_face_get_table_tags()
...
New API:
hb_face_get_table_tags()
Fixes https://github.com/behdad/harfbuzz/issues/560
2017-10-11 17:22:44 +02:00
Behdad Esfahbod
e1b6d92302
Remove cast of functions to (hb_destroy_func_t)
...
Fixes https://github.com/behdad/harfbuzz/issues/474
2017-10-11 15:51:31 +02:00
Behdad Esfahbod
717fcb51dd
[coretext] Minor
2017-10-11 15:38:21 +02:00
Behdad Esfahbod
374bb48d90
Change ptem API to make 0 mean unset
2017-10-11 15:37:50 +02:00
Behdad Esfahbod
06c14225b2
[coretext] Minor
2017-10-11 15:29:53 +02:00
Behdad Esfahbod
a4b46212c5
[coretext] Adjust font size check for 0
2017-10-11 15:29:22 +02:00
Behdad Esfahbod
269cf1ca82
Correctly initialize ptem
2017-10-11 15:24:22 +02:00
Behdad Esfahbod
84686bf4c7
[coretext-aat] Also pass through CoreText if font has kerx table
...
SFNSText has kerx table which apparently is applied.
2017-10-11 15:02:48 +02:00
Behdad Esfahbod
296d0134c9
[coretext] Change default point size to 12
2017-10-11 14:09:30 +02:00
Dominik Röttsches
a5ebe1d4ae
[coretext] Recreate CTFont if pt size changed
...
Attempt at fixing #360
2017-10-11 13:33:05 +02:00
Dominik Röttsches
db7a73ce07
[coretext] Fix build
2017-10-11 13:24:48 +02:00
Behdad Esfahbod
f334130756
[coretext] Another try
2017-10-11 13:17:46 +02:00
Behdad Esfahbod
a8e466c3c1
[coretext] Move CT_Font to font data
...
Towards implementing optical sizing. Untested; won't compile.
https://github.com/behdad/harfbuzz/issues/360
2017-10-11 13:05:59 +02:00
Behdad Esfahbod
f9b4c6570a
[coretext] Move font size to a macro
2017-10-11 12:51:25 +02:00
Behdad Esfahbod
8d450dd188
Infrastructure for creating CTFont with correct font size
...
https://github.com/behdad/harfbuzz/issues/360
2017-10-11 12:43:46 +02:00
Behdad Esfahbod
16d02a58cf
[coretext] Change default font size from 36 to 18
2017-10-11 12:28:06 +02:00
Behdad Esfahbod
c0c2dbc871
Remove dirty tracking
...
Turns out I don't need this to resolve CoreText optical sizing
issue after all.
https://github.com/behdad/harfbuzz/issues/360
2017-10-11 12:23:35 +02:00
Behdad Esfahbod
b57f18da70
Add hb_font_[sg]et_ptem() to set/get point size on font
...
New API:
hb_font_set_ptem()
hb_font_get_ptem()
Needed for hb-coretext optical sizing:
https://github.com/behdad/harfbuzz/issues/360
2017-10-11 11:47:47 +02:00
Behdad Esfahbod
3f9370d9e5
Fix TODO item
2017-10-11 11:34:53 +02:00
Behdad Esfahbod
5f50f8837f
[arabic] Fix cluster merging
2017-10-07 13:17:33 +02:00
Behdad Esfahbod
c2545b9215
Add check for HB_EXTERNs
...
https://github.com/behdad/harfbuzz/pull/555
2017-10-07 12:57:30 +02:00
fanc999
48a9406839
Fix build of HarfBuzz tools and HarfBuzz-GObject on Visual Studio ( #555 )
...
* hb-buffer.h: Mark hb_buffer_diff() for export
This will fix the tools builds on Visual Studio, as the symbol is used
by the tools.
* build: Adapt NMake Makefiles for GLib 2.53.4 or later
glib-mkenums was ported from a PERL script to a Python script, so we
need to update how we generate the enum sources for HarfBuzz-GObject in
the NMake builds. Let this be known in the build documentation for MSVC
builds.
One of the problems with the underlying cmd.exe that the NMake Makefiles
run on is that shebang lines are not recognized, so we need to to test
run the script with Python and see whether it succeeded by outputing a
source file that is larger than 0 in file size (since running the PERL
version of the script will clearly fail and cause an empty file to be
created).
If it succeeds, we then run a small Python utility script that makes the
necessary string replacements, and we are done. If that fails, then we
run the glib-mkenums script with PERL, and do the replacements with the
PERL one-liners as we did before.
We need to make replace.py use latin-1 encoding when using Python 3.x to
cope with the copyright sign that is in the generated enum sources.
2017-10-07 12:57:14 +02:00
Behdad Esfahbod
c9e2cf6f55
[ot] Remove 'mal' and 'gle' lang tags
...
Fixes https://github.com/behdad/harfbuzz/issues/477
2017-10-04 16:59:22 +02:00
Behdad Esfahbod
621c49cb86
Improve performance of ligature component matching
...
This O(N^2) was introduced in 8b2c94c43f
.
Make it O(N).
2017-10-04 15:06:48 +02:00
Behdad Esfahbod
ab8d70ec70
[arabic] Implement Unicode Arabic Mark Ordering Algorithm UTR#53
...
Fixes https://github.com/behdad/harfbuzz/issues/509
2017-10-04 14:47:10 +02:00
Behdad Esfahbod
b6fe0ab636
Add info_cc() convenience macro
2017-10-04 13:37:08 +02:00
Behdad Esfahbod
7f9e7f8689
Adjust normalizer for out-of-order marks
...
We are going to implement Unicode Arabic Mark Ordering Algorithm:
http://www.unicode.org/reports/tr53/tr53-1.pdf
which will reorder marks out of their sorted ccc order. Adjust
normalizer to stop combining as soon as dangerous ordering is
detected.
2017-10-04 13:20:33 +02:00
Behdad Esfahbod
a252ad61f0
Minor
2017-10-04 13:07:08 +02:00
Behdad Esfahbod
4c05a405ac
Revert "Treat HAMZA ABOVE similar to SHADD for sorting purposes"
...
This reverts commit 5a33057576
.
Proper fix coming soon.
2017-10-04 13:06:51 +02:00
Behdad Esfahbod
d695cacbf4
Shorthand format controls should not be ignored
...
Fixes https://github.com/behdad/harfbuzz/issues/503
2017-10-04 11:33:47 +02:00
Behdad Esfahbod
50e95229d7
Add Chinantec language tags
...
Fixes https://github.com/behdad/harfbuzz/issues/516
2017-10-04 11:28:04 +02:00
Behdad Esfahbod
9786fcd8fd
Fix GPOS v_origin ordering
...
This should affect mark attachment in vertical text. I have no font to test,
but this sounds the right order.
Noticed while debugging https://github.com/behdad/harfbuzz/issues/532
2017-10-03 17:22:43 +02:00
Behdad Esfahbod
63db692fa9
[indic] Fix shaping of U+0AFB GUJARATI SIGN SHADDA
...
Fixes https://github.com/behdad/harfbuzz/issues/552
2017-10-03 16:00:18 +02:00
Behdad Esfahbod
f559c63307
[indic] Implement Consonent_With_Stacker
...
Fixes https://github.com/behdad/harfbuzz/issues/528
2017-10-03 15:20:07 +02:00
Behdad Esfahbod
e07669fc43
[use] Implement Consonant_With_Stacker
...
Related to https://github.com/behdad/harfbuzz/issues/528
2017-10-03 14:57:14 +02:00
Behdad Esfahbod
5d98de1f38
Tweak mark-base attachment
...
Apparently a base glyph can also become an attached component of a
ligature if the ligature-forming lookup used IgnoreBase. This was
being confused with a non-first component of a MultipleSubst and
hence not matched for mark-attachment. Tweak test to fix.
Fixes https://github.com/behdad/harfbuzz/issues/543
2017-10-03 13:49:40 +02:00
Behdad Esfahbod
c44657a05d
Tweak input matching some more
...
Followup to 8b2c94c43f
Allow matching sequences of marks attached to different ligatures,
as supposedly the base of the subsequent marks were already jumped
over.
2017-10-03 13:14:17 +02:00
Behdad Esfahbod
8b2c94c43f
Tweak ligature component matching for ligature formation
...
If two marks want to ligate and they belong to different components of the
same ligature glyph, and said ligature glyph is to be ignored according to
mark-filtering rules, then allow.
Example Burmese senquence:
U+1004,U+103A,U+1039,U+101B,U+103D,U+102D
Test font provided by Norbert Lindenberg.
Fixes https://github.com/behdad/harfbuzz/issues/545
2017-10-02 20:03:35 +02:00
Behdad Esfahbod
71c0a1429d
[indic] Fix shaping of U+0A51
...
Mark it as matra below to allow the sequence U+0A15, U+0A51, U+0A47.
Oh well...
Fixes https://github.com/behdad/harfbuzz/issues/524
2017-10-02 18:57:03 +02:00
Behdad Esfahbod
6eb8950e62
[ucdn] Oops!
2017-10-02 18:30:05 +02:00
Behdad Esfahbod
cbec0cd65e
Remove some really old cruft
2017-10-02 18:26:52 +02:00
Behdad Esfahbod
b3dff7720c
[ucdn] Update README
2017-10-02 18:22:51 +02:00
Behdad Esfahbod
57c55ef834
[ot] Improve shaper selection heuristic
2017-10-02 18:21:27 +02:00
Behdad Esfahbod
5680ef884c
[use] Hack to fix shaping of U+1A7F
...
Fixes https://github.com/behdad/harfbuzz/issues/525
2017-10-02 18:20:51 +02:00
Behdad Esfahbod
0faa16a253
[ucdn] Update to Unicode 10
...
Update to commit c000ebf79c095a7d58cf90090bde5715592c4834
plus this bug-fix: https://github.com/grigorig/ucdn/issues/18
2017-10-02 17:15:46 +02:00
Behdad Esfahbod
ea535a1dfa
[use] Update to Unicode 10
2017-10-02 17:02:39 +02:00
Behdad Esfahbod
29c244aff6
Minor
2017-10-02 16:36:21 +02:00
Behdad Esfahbod
1535f8c672
Add Unicode 10 scripts
2017-10-02 16:12:18 +02:00
Behdad Esfahbod
bdbe974f52
[indic] Update table to Unicode 10
2017-10-02 10:00:31 -04:00
Behdad Esfahbod
819cc36049
[indic] Move manual code out of generated table
2017-10-02 09:03:16 -04:00
Behdad Esfahbod
da4866f717
[arabic] Update table to Unicode 10 data
2017-10-02 08:57:06 -04:00
Behdad Esfahbod
1a0a356a0f
[indic] Categorize U+0980 BENGALI ANJI as placeholder
...
Fixes https://github.com/behdad/harfbuzz/issues/538
2017-10-02 08:49:23 -04: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
mhosken
66128d3cfb
Fix missing xscale in rtl graphite unpacking ( #541 )
...
* Fix missing xscale in rtl graphite unpacking
* Oops didn't need to mess with yscale
2017-09-26 14:29:45 -04:00
Behdad Esfahbod
3ca69c8c32
Use strtod_l() to correctly parse decimal numbers in French & other locales
...
Test with, eg.:
$ LC_ALL=fr_FR.utf-8 ./hb-view NotoSansArabic-VF.ttf بهداد --variations wght=1.2
2017-09-14 20:50:35 -04:00
Behdad Esfahbod
d03f11f246
Fix buffer_diff for empty buffers
...
If buffers are empty, content type should be ignored.
This fixes last of the failing tests: fuzzed.tests. Green again!
2017-09-04 20:14:13 -07:00
Behdad Esfahbod
7cc348041d
[unsafe-to-break] Fix unsafe-to-break for cluster-level=1
...
Fixes tests/shaping/tests/cluster.tests
2017-09-04 20:06:21 -07:00
Behdad Esfahbod
06cb162cd7
[indic] Treat Consonant_With_Stacker as consonant
...
Fixes https://github.com/behdad/harfbuzz/issues/528
"Kannada JIHVAMULIYA and UPADHMANIYA insert dotted circles"
2017-09-01 10:34:56 -07:00
Behdad Esfahbod
c449d2d8c9
[unsafe-to-break] Mark during fraction-slash formation
...
Fixes tests/automatic-fractions.tests
2017-08-30 17:28:22 -07:00
Behdad Esfahbod
099472e08b
hb_buffer_diff() tweak
...
I like to have a mode where CONTAINS_NOTDEF and CONTAINS_DOTTEDCIRCLE are not
returned. Abused a value of -1 for that. hb-shape now uses it. Fixes two
of the six tests failing with --verify in test/shaping/run-tests.sh.
2017-08-30 16:45:06 -07:00
Behdad Esfahbod
224d20e4e1
[docs] Minor
2017-08-23 14:49:10 -07:00
Behdad Esfahbod
b2dd0c1c32
Add hb_glyph_info_get_glyph_flags()
...
New API.
2017-08-23 13:12:54 -07:00
Behdad Esfahbod
3e8f4f1452
Rename HB_BUFFER_DIFF_FLAG_MASK_MISMATCH to HB_BUFFER_DIFF_FLAG_GLYPH_FLAGS_MISMATCH
2017-08-22 17:56:25 -07:00
Behdad Esfahbod
8820ba29df
Fix warning about "may be used uninitialized"
2017-08-15 17:12:21 -07:00
Emil A Eklund (eae)
91770e1c56
Fix signed/unsigned warning ( #522 )
...
Change hb_buffer_diff to explicitly cast result of abs to unsigned when
comparing with position_fuzz to avoid unsafe signed/unsigned comparions
warnings on windows.
2017-08-15 16:25:18 -07:00
Behdad Esfahbod
587f15ece3
Minor
2017-08-14 15:23:10 -07:00
Behdad Esfahbod
338e61ad1b
Fix typo
2017-08-14 12:36:38 -07:00
Jonathan Kew
331d66c7fe
Add function to compare two buffers
...
Based on patch from Jonathan Kew.
Needs more cleaning up and documentation.
New API:
hb_buffer_diff_flags_t
hb_buffer_diff()
2017-08-14 11:44:12 -07:00
Behdad Esfahbod
219af509ef
[graphite2] Fix warning
2017-08-13 15:10:26 -07:00
Behdad Esfahbod
239119a631
[unsafe-to-break] Mark all positions as unsafe in alternative shapers
2017-08-13 15:08:34 -07:00
Behdad Esfahbod
05fabbd03e
[unsafe-to-break] Towards verifying unsafe-to-break in --verify
...
We break and shape fragments and reconstruct shape result from them.
Remains to compare to original buffer. Going to add some buffer
comparison API and use here, instead of open-coding.
2017-08-11 20:00:55 -07:00
Behdad Esfahbod
6ce25f57c6
Fix hb_buffer_append()
...
Ouch!
2017-08-11 19:31:05 -07:00
Behdad Esfahbod
1c17c2bde5
[unsafe-to-break] Copy flag to all glyphs in a cluster
...
Makes consumption easier.
2017-08-11 19:06:07 -07:00
Behdad Esfahbod
ec104e5912
[unsafe-to-break] Mark unsafe is cluster merging is disabled
...
We were relying on cluster merges not requiring unsafe flagging because
they get merged. If cluster level requests no merging, then we flag
unsafe when merge would have happened.
2017-08-11 18:24:27 -07:00
Behdad Esfahbod
39a9749430
New API: hb_buffer_append()
2017-08-11 15:52:06 -07:00
Behdad Esfahbod
14a639ea59
[unsafe-to-break] Fix Use-of-uninitialized-value in unsafe_to_break_set_mask
...
Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=3011
2017-08-11 11:30:39 -07:00
Behdad Esfahbod
e43aad5552
[unsafe-to-break] Flag in Thai PUA shaping
2017-08-10 20:54:15 -07:00
Behdad Esfahbod
eae009602b
[unsafe-to-break] Flag in Hangul shaper
2017-08-10 20:50:48 -07:00
Behdad Esfahbod
b65aa1cd47
[unsafe-to-break] Flag during mark attachment
2017-08-10 20:32:02 -07:00
Behdad Esfahbod
882ebdadd6
[unsafe-to-break] Flag during cursive positioning
2017-08-10 20:23:17 -07:00
Behdad Esfahbod
2d158ca376
[unsafe-to-break] Flag during kerning
2017-08-10 20:20:30 -07:00
Behdad Esfahbod
a7c4972cce
[unsafe-to-break] Flag during fallback positioning
2017-08-10 20:16:15 -07:00
Behdad Esfahbod
e2a2b5b229
[unsafe-to-break] Be careful with flag propagation when merging clusters
2017-08-10 20:11:35 -07:00
Behdad Esfahbod
f2868c2008
Set mask to 0, instead of 1, by default
...
This shouldn't matter.
2017-08-10 20:10:53 -07:00
Behdad Esfahbod
9e005c5d86
[unsafe-to-break] Mark Indic-like clusters as unsafe-to-break
2017-08-10 20:10:53 -07:00
Behdad Esfahbod
5287ccc935
[unsafe-to-break] Allocate public bits from 0
2017-08-10 15:02:34 -07:00
Behdad Esfahbod
91ce0c45d6
[safe-to-break] Fix logic when there is no out-buffer
2017-08-10 15:02:34 -07:00
Behdad Esfahbod
a043c99f77
[unsafe-to-break] Simplify logic
...
Always use the algorithm for non-monotone case. It's more robust.
2017-08-10 15:02:34 -07:00
Behdad Esfahbod
40bd7e9a1c
[unsafe-to-break] Add UNSAFE_TO_BREAK flag
...
Not all shapers code is updated to set this properly.
GSUB and Arabic shaper are updated.
GPOS and other shapers are NOT.
Fixes https://github.com/behdad/harfbuzz/issues/224
2017-08-10 15:02:28 -07:00
Behdad Esfahbod
ac8c4e56d8
[ft] Fix theoretical leak
2017-08-09 22:05:08 -07:00
Behdad Esfahbod
5a33057576
Treat HAMZA ABOVE similar to SHADD for sorting purposes
...
Part of https://github.com/behdad/harfbuzz/issues/509
2017-08-09 17:23:28 -07: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
Behdad Esfahbod
5dc30451b8
Two fixes to avar mapping
...
1. Handle segment with two entries correctly,
2. Fix rounding math. Ouch!
Fixes https://github.com/behdad/harfbuzz/issues/521
2017-08-07 21:37:07 -07:00
Behdad Esfahbod
dc2c418e39
[check-defs/symbols.sh] Drop empty-symbol lines
...
Fixes https://github.com/behdad/harfbuzz/issues/510
2017-08-03 12:34:15 +01:00
Ebrahim Byagowi
65f64d1400
Unbreak arm-none-eabi build again ( #514 )
2017-07-19 02:42:53 +04:30
Behdad Esfahbod
c1432bce3c
[arabic] Adjust feature order again
...
Fixes https://github.com/behdad/harfbuzz/issues/505
2017-07-14 17:35:17 +01:00
Cosimo Lupo
9813be3d12
[coretext] Allow to disable kern ( #508 )
...
* Minor
* [coretext] Fix leak
* [coretext] Do not reset num_features
* [coretext] allow to disable kern; re-enabling doesn't seem to be working
2017-07-14 17:11:46 +01:00
Behdad Esfahbod
9dd29c681e
[use] Allow up to two medial-below letters
...
Fixes https://github.com/behdad/harfbuzz/issues/376
2017-07-14 17:01:27 +01:00
Behdad Esfahbod
216b003c91
[use] Fix shaping of U+AA29 CHAM VOWEL SIGN AA
...
Part of https://github.com/behdad/harfbuzz/issues/376
Also see https://github.com/roozbehp/unicode-data/issues/6
Test added, using NotoSansCham built from Noto Phase III sources.
2017-07-14 16:38:51 +01:00
Behdad Esfahbod
f1cd7ca893
[indic] Add github URL
2017-07-14 15:59:40 +01:00
Behdad Esfahbod
3cc84f45b9
[indic] Fix https://github.com/behdad/harfbuzz/issues/478
2017-07-14 15:50:22 +01:00
Behdad Esfahbod
e359a4b8f5
[indic] Disable automatic ZWNJ handling for Indic features
...
Fixes https://github.com/behdad/harfbuzz/issues/294
Also fixes a bunch of other Indic issues. Test results after:
BENGALI: 353725 out of 354188 tests passed. 463 failed (0.130722%)
DEVANAGARI: 707307 out of 707394 tests passed. 87 failed (0.0122987%)
GUJARATI: 366355 out of 366457 tests passed. 102 failed (0.0278341%)
GURMUKHI: 60732 out of 60747 tests passed. 15 failed (0.0246926%)
KANNADA: 951201 out of 951913 tests passed. 712 failed (0.0747968%)
KHMER: 299071 out of 299124 tests passed. 53 failed (0.0177184%)
MALAYALAM: 1048136 out of 1048334 tests passed. 198 failed (0.0188871%)
ORIYA: 42320 out of 42329 tests passed. 9 failed (0.021262%)
SINHALA: 271662 out of 271847 tests passed. 185 failed (0.068053%)
TAMIL: 1091754 out of 1091754 tests passed. 0 failed (0%)
TELUGU: 970555 out of 970573 tests passed. 18 failed (0.00185457%)
Before:
BENGALI: 353725 out of 354188 tests passed. 463 failed (0.130722%)
DEVANAGARI: 707307 out of 707394 tests passed. 87 failed (0.0122987%)
GUJARATI: 366349 out of 366457 tests passed. 108 failed (0.0294714%)
GURMUKHI: 60732 out of 60747 tests passed. 15 failed (0.0246926%)
KANNADA: 951190 out of 951913 tests passed. 723 failed (0.0759523%)
KHMER: 299070 out of 299124 tests passed. 54 failed (0.0180527%)
MALAYALAM: 1048136 out of 1048334 tests passed. 198 failed (0.0188871%)
ORIYA: 42320 out of 42329 tests passed. 9 failed (0.021262%)
SINHALA: 271662 out of 271847 tests passed. 185 failed (0.068053%)
TAMIL: 1091753 out of 1091754 tests passed. 1 failed (9.15957e-05%)
TELUGU: 970555 out of 970573 tests passed. 18 failed (0.00185457%)
2017-07-14 14:22:52 +01:00
Behdad Esfahbod
cdf1fd0627
[indic] Add infrastructure to disable ZWNJ-skipping in context-matching
...
Not used yet.
2017-07-14 12:43:34 +01:00
Dominik Schlösser
4e21ec5469
Fix for reordering of Tibetan vowel u ( #443 )
...
* Undone change for Tibetan vowel u
* removed comment on reordering that became invalid with roll-back
* Support for Dzongkha contractions with multiple vowel-signs
* Removed non-functional and unnecessary defines for HB_MODIFIED_COMBINING_CLASS_CCC138,140
2017-07-14 12:14:23 +01:00
Ebrahim Byagowi
3b0e47ca00
Fix arm-none-eabi build ( fixes #451 ) ( #496 )
2017-06-19 14:47:09 +04:30
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