Bruce Mitchener
8a0952db7e
atomics: Favor compiler primitives over macOS APIs. ( #676 )
...
In macOS 10.12, the `OSMemoryBarrier` and related APIs were deprecated
in favor of using `std::atomic`. On the way to supporting `std::atomic`,
we can favor using the "Intel primitives" which are also available on
macOS.
2018-01-04 15:10:10 +03:30
Ebrahim Byagowi
5ed26fc5bd
[cmake] Run src/ tests ( #675 )
2018-01-04 10:11:34 +03:30
Behdad Esfahbod
f8daeef4c4
[use] Simplify more
2018-01-03 14:27:34 +00:00
Behdad Esfahbod
877d15e73c
[use] Simplify
...
Fixes https://github.com/harfbuzz/harfbuzz/pull/661
2018-01-03 14:24:44 +00:00
Behdad Esfahbod
308f419215
[use] Fix Brahmi Number Joiner 1107F
...
Fixes https://github.com/harfbuzz/harfbuzz/pull/660
2018-01-03 14:22:07 +00:00
Bruce Mitchener
85ec6d3443
Fix typos.
2018-01-02 13:26:44 -05:00
David Corbett
7bfdf1a941
Forbid Batak killers after vowel signs
2017-12-24 14:21:22 -08:00
Behdad Esfahbod
72ecaae0ad
[use] Allow ZWJ before/after Halant
...
https://github.com/harfbuzz/harfbuzz/issues/542#issuecomment-353169729
2017-12-24 16:05:07 -05:00
Behdad Esfahbod
bc92245b68
Minor
2017-12-24 15:54:58 -05:00
Volker H. Simonis
a9432bde7e
HarfBuzz 1.7.1 and later don't compile on AIX with xlC ( #655 )
2017-12-19 20:22:24 -05:00
Behdad Esfahbod
2fe5f885b6
[set] Handle nil set in add_range() / add_sorted_array()
...
Fixes https://github.com/harfbuzz/harfbuzz/issues/657
2017-12-19 14:48:26 -05:00
Behdad Esfahbod
1245395a60
[coretext] In hb_coretext_font_create() set ptem
...
Otherwise setting the CTFont was ineffective as it would have been
recreated anyway unless font size was set to 18 CSS points.
2017-12-17 12:33:08 -05:00
Behdad Esfahbod
493a005d95
[set] In add_sorted_array(), bail if data is not sorted
2017-12-16 11:49:39 -05:00
Behdad Esfahbod
a7bd6d7a4c
[collect_glyphs] Bail if input data looks like garbage
...
Specificaly, when a range or sorted array has unexpected order, we take that as
font data being garbage and bail out. This fixes significant slowdown on a bad
version of Chandas font which has a 600KB GPOS with garbage inside.
Later on, I like to add a maximum-work counter for collect_glyphs to protect
against malicious fonts as well.
Fixes https://bugs.chromium.org/p/chromium/issues/detail?id=794896
2017-12-16 11:39:32 -05:00
Behdad Esfahbod
1ce7d6e215
[set] Optimize add_array() / add_sorted_array()
...
Does page lookup as needed.
2017-12-16 11:39:11 -05:00
Behdad Esfahbod
71e6adf1e2
[collect_glyphs] handle ClassDef better
2017-12-16 11:07:37 -05:00
Behdad Esfahbod
87cc5a65cb
[collect_glyphs] In PairPosFornat2 do not collect classDef1
...
The coverage already covered that.
2017-12-16 06:18:07 -08:00
Behdad Esfahbod
81f27df4d9
More work towards improving collect_glyphs() against bad input
...
The three "XXXXX"'s should be switched to false. Doing that separately for ease
of bisecting...
2017-12-16 06:12:06 -08:00
Behdad Esfahbod
5d02572034
[set] Add add_sorted_array()
...
Not optimized to use sortedness yet. Also start putting in place infra
to faster reject bad data.
A version of Chandas.ttf found on some Chrome bots has 660kb of GPOS,
mostly junk. That is causing 48 million of set->add() calls in
collect_glyphs(), which is insane.
In the upcoming commits, I'll be speeding that up by optimizing
add_sorted_array(), while also reducing work by rejecting out-of-sort
arrays quickly and propagate the rejection.
Part of https://bugs.chromium.org/p/chromium/issues/detail?id=794896
2017-12-14 19:35:47 -08:00
Behdad Esfahbod
9d6511a734
[set] Reduce number of preallocated pages from 8 to 1
...
Now that pagesize is 8192, this feels better.
2017-12-14 19:07:17 -08:00
Behdad Esfahbod
ae2e2b068e
Fix partial tracing debug builds
2017-12-14 19:07:17 -08:00
Behdad Esfahbod
9daa88cd79
Minor
2017-12-14 19:07:17 -08:00
Behdad Esfahbod
f424a34223
[set] Change pagesize from 512 bits to 8192 bits
...
Fixes perf regression on some heavy fonts in Chrome's FT+HB
interaction.
See:
https://bugs.chromium.org/p/chromium/issues/detail?id=782220
More work to be done:
https://bugs.chromium.org/p/chromium/issues/detail?id=794896
2017-12-14 13:30:38 -08:00
Behdad Esfahbod
0fe62c1f33
[set] Add add_array()
...
To be used to optimize adding a whole bunch of (sorted) items at the same time,
as in CoverageFormat1.
2017-12-14 10:39:00 -08:00
Behdad Esfahbod
03b7a221f7
[debug] Use %p to print pointers
...
Fixes https://github.com/harfbuzz/harfbuzz/issues/640
2017-12-05 13:13:58 -08:00
Nathan Willis
0dc03ef757
Indic: always hyphenate pre-base-reordering, for clarity.
2017-12-05 11:29:43 -08:00
Behdad Esfahbod
be59f3cbf4
Silence unused-variables warning on MSVC
...
Fixes https://github.com/harfbuzz/harfbuzz/issues/635
2017-12-05 09:01:28 -08:00
David Corbett
80c1b01f05
Allow digits in language system tags
2017-12-05 08:56:41 -08:00
David Corbett
85bb89a88b
Fix string matching in parse_bool
2017-12-04 13:10:16 -08:00
Olivier Blin
0fd89dc61c
[hb-ft] Fix build when Multiple Master font support is disabled in freetype
...
FT_Set_Var_Blend_Coordinates() is not available when "Multiple Master
font interface" is disabled in freetype's modules.cfg
2017-12-04 10:52:06 -08:00
Behdad Esfahbod
eeb26d21d4
[set] Actually commit fixes mentioned in previous commit!
2017-12-02 15:22:04 -08:00
Behdad Esfahbod
0744149cda
[set] Protect against bad input in hb_set_add_range()
2017-12-02 15:06:15 -08:00
Behdad Esfahbod
d5e29303db
[coretext] Add hb_coretext_font_create()
...
Fixes https://github.com/harfbuzz/harfbuzz/issues/628
New API:
hb_coretext_font_create()
2017-12-02 14:52:57 -08:00
Behdad Esfahbod
9d0194b3a8
[set] Optimize add_range() some more
...
It's as good as it gets, and seems to be on par with previous set implementation
in my benchmark.
Would be great if someone can double-check my bitops.
2017-12-01 13:56:06 -08:00
Behdad Esfahbod
438c325a25
[set] Optimize add_range()
...
With new set implementation, this became really costy. Optimize it.
There's more to be done, but this shaves off most of the fat.
Part of fixing https://bugs.chromium.org/p/chromium/issues/detail?id=782220
2017-12-01 13:34:14 -08:00
Behdad Esfahbod
be9e307a88
[ot] Ensure layout in hb_ot_layout_table_get_lookup_count()
2017-12-01 12:37:05 -08:00
Behdad Esfahbod
16fba5b215
[ot] Fix Extension type recurse to disallow recursing to another Extension
...
Particularly hazardous if the second layer mixes forward and backward lookups.
Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=4336
2017-11-29 16:08:11 -08:00
David Corbett
9f259769a6
Categorize U+A8B4 as Consonant_Medial
2017-11-21 13:48:32 -08:00
Behdad Esfahbod
8d55340593
Fix fallback positioning of double diacritic marks
...
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=787284
2017-11-20 19:43:22 -08:00
David Corbett
87d74605f5
Categorize U+0C80 as Consonant_Placeholder
2017-11-20 13:10:28 -08:00
ebraminio
7c6937e7c7
Move all references of old url to the new address ( #622 )
2017-11-20 14:49:22 -05:00
Behdad Esfahbod
baf7779d2d
Limit how much recursion GSUB/GPOS does
...
This only counts recursions right now. Good start.
Hopefully...
Fixes https://github.com/behdad/harfbuzz/issues/429
2017-11-14 21:55:37 -08:00
Behdad Esfahbod
173dab6300
Minor move
2017-11-14 21:27:24 -08:00
Behdad Esfahbod
c6173a392c
Add Offset16 and Offset32
2017-11-14 21:09:03 -08:00
Behdad Esfahbod
6f335ed1e5
Replace USHORT/SHORT/ULONG/etc with UINT16/INT16/UINT32/etc
2017-11-14 21:06:07 -08:00
Behdad Esfahbod
a130ee6df5
Remove a couple of unused consts
2017-11-14 20:30:03 -08:00
Behdad Esfahbod
e20e47eaa1
[glyf] Try fixing undefined-behavior
...
Might fix https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=1463
2017-11-14 20:25:29 -08:00
Behdad Esfahbod
7b40876a58
[ot] Remove unneeded TODO item
...
Looks like hb-ot-font is complete after all!
CFF font names and CFF glyph metrics don't work though...
2017-11-14 20:22:05 -08:00
Behdad Esfahbod
eab4feb5e2
[hmtx] Use curiously recurring template pattern
...
https://en.wikipedia.org/wiki/Curiously_recurring_template_pattern
2017-11-14 20:17:15 -08:00
Behdad Esfahbod
977ddff1f1
[ot] Move hb_ot_face_cmap_accelerator_t
2017-11-14 20:06:19 -08:00
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