Behdad Esfahbod [Tue, 2 Oct 2018 16:20:16 +0000 (18:20 +0200)]
[khmer] Remove unused khmer_position()
Behdad Esfahbod [Tue, 2 Oct 2018 15:49:06 +0000 (17:49 +0200)]
[indic/use] Factor common expressions in ragel machine
No machine change.
Behdad Esfahbod [Tue, 2 Oct 2018 15:46:27 +0000 (17:46 +0200)]
[indic] Minor flip grammar around
No behavior change.
Behdad Esfahbod [Tue, 2 Oct 2018 15:16:01 +0000 (17:16 +0200)]
[indic] Add some confusable sequences from Unicode Standard
Behdad Esfahbod [Tue, 2 Oct 2018 15:04:05 +0000 (17:04 +0200)]
[ragel] Use ts/te (token-start / token-end) instead of manual tracking
Behdad Esfahbod [Tue, 2 Oct 2018 14:05:26 +0000 (16:05 +0200)]
Treat a base+mark... ligature as base, not ligature
Fixes https://github.com/harfbuzz/harfbuzz/issues/746
Behdad Esfahbod [Tue, 2 Oct 2018 13:02:16 +0000 (15:02 +0200)]
Move code around
Behdad Esfahbod [Tue, 2 Oct 2018 12:48:39 +0000 (14:48 +0200)]
Minor
Behdad Esfahbod [Tue, 2 Oct 2018 12:45:09 +0000 (14:45 +0200)]
Minor
Behdad Esfahbod [Tue, 2 Oct 2018 12:40:14 +0000 (14:40 +0200)]
Disable joiner-skipping when looking back for base to attach mark to
Fixes https://github.com/harfbuzz/harfbuzz/issues/1189
Behdad Esfahbod [Tue, 2 Oct 2018 12:34:29 +0000 (14:34 +0200)]
[arabic] Use manual-zwj instead of flipping joiners
Behdad Esfahbod [Tue, 2 Oct 2018 12:17:42 +0000 (14:17 +0200)]
Minor
Behdad Esfahbod [Tue, 2 Oct 2018 11:27:11 +0000 (13:27 +0200)]
Minor
Behdad Esfahbod [Tue, 2 Oct 2018 11:24:40 +0000 (13:24 +0200)]
Move things
Behdad Esfahbod [Tue, 2 Oct 2018 11:13:47 +0000 (13:13 +0200)]
Rename
Behdad Esfahbod [Tue, 2 Oct 2018 11:11:18 +0000 (13:11 +0200)]
Minor include cleanup
Behdad Esfahbod [Tue, 2 Oct 2018 11:04:05 +0000 (13:04 +0200)]
Shuffle code around
Ebrahim Byagowi [Tue, 2 Oct 2018 07:37:06 +0000 (11:07 +0330)]
Minor, fix -Weverthing bot warnings (#1210)
Khaled Hosny [Tue, 2 Oct 2018 06:25:29 +0000 (08:25 +0200)]
Skip BOM in the Python sample file
Fixes https://github.com/harfbuzz/harfbuzz/issues/1208
HinTak [Tue, 2 Oct 2018 05:43:06 +0000 (06:43 +0100)]
Missing "out" indicator (#1209)
Missing "out" indicator. Affect gobject introspection.
Ebrahim Byagowi [Mon, 1 Oct 2018 23:50:48 +0000 (03:20 +0330)]
[circleci] Remove some of the not needed flags
Ebrahim Byagowi [Mon, 1 Oct 2018 20:46:08 +0000 (00:16 +0330)]
[circleci] Fix "msan" and "everything" bots (#1205)
Behdad Esfahbod [Mon, 1 Oct 2018 18:05:00 +0000 (20:05 +0200)]
[indic] Remove Consonant_Medial from grammar and code
The only Indic CM is U+0A75 GURMUKHI SIGN YAKASH, which Uniscribe doesn't treat
specially, and font designers design for that. So, do the same.
Behdad Esfahbod [Mon, 1 Oct 2018 17:35:48 +0000 (19:35 +0200)]
[khmer] Add mark-ordering tests
Fixes https://github.com/harfbuzz/harfbuzz/issues/667
Behdad Esfahbod [Mon, 1 Oct 2018 17:09:58 +0000 (19:09 +0200)]
[khmer] Rewrite grammar completely
Based on experimenting with Uniscribe to extract grammar and categories.
Failures down from 44 to 35:
KHMER: 299089 out of 299124 tests passed. 35 failed (0.0117008%)
We still don't enforce the one-matra rule pre-decomposition, but enforce
an order and one-matra-per-position post-decomposition.
https://github.com/harfbuzz/harfbuzz/issues/667
Behdad Esfahbod [Mon, 1 Oct 2018 14:59:48 +0000 (16:59 +0200)]
[khmer] Remove unused code
Behdad Esfahbod [Mon, 1 Oct 2018 13:31:50 +0000 (15:31 +0200)]
[test] Try import unicodedata2 as unicodedata
Behdad Esfahbod [Mon, 1 Oct 2018 13:01:04 +0000 (15:01 +0200)]
[use] Disable automatic ZWJ for 'akhn' feature
Fixes https://github.com/harfbuzz/harfbuzz/issues/746
Behdad Esfahbod [Mon, 1 Oct 2018 10:45:06 +0000 (12:45 +0200)]
[use] Change categories for Left_And_* matras
These are only relevant to Sinhala, because they decompose in other
cases. The USE spec categorizes them all as VPst. No idea why we
weren't following that before.
Behdad Esfahbod [Mon, 1 Oct 2018 10:55:57 +0000 (12:55 +0200)]
Unbreak bots
Behdad Esfahbod [Mon, 1 Oct 2018 10:10:00 +0000 (12:10 +0200)]
[morx] Break out if buffer gets into error
Was getting stuck not making progress somehow.
Behdad Esfahbod [Mon, 1 Oct 2018 09:34:20 +0000 (11:34 +0200)]
[cache] Fix cache coherency corner-case
If key_bits+value_bits-cache_bits==32 then -1 is ambiguous...
Ebrahim Byagowi [Mon, 1 Oct 2018 06:10:29 +0000 (09:40 +0330)]
[circleci] Couple of fixes (#1200)
* Raise error on warnings on -everything
* Enable fontconfig to two bots
* Fix msan bot now that all of its real complain are gone
Behdad Esfahbod [Sun, 30 Sep 2018 18:02:30 +0000 (20:02 +0200)]
[msan] Disable icu explicitly
Behdad Esfahbod [Sun, 30 Sep 2018 16:35:12 +0000 (18:35 +0200)]
[msan] Remove uninstrumented libraries
Behdad Esfahbod [Sun, 30 Sep 2018 16:26:45 +0000 (18:26 +0200)]
Correct fix for glib-mkenum warning
Behdad Esfahbod [Sun, 30 Sep 2018 16:25:58 +0000 (18:25 +0200)]
Revert "Fix glib-mkenum warning"
This reverts commit
247756a7d89008ee6a7d1171dc07ba22454c6034.
Was wrong. Right fix coming.
Behdad Esfahbod [Sun, 30 Sep 2018 16:23:34 +0000 (18:23 +0200)]
Move _POSIX_SOURCE to hb.hh
Behdad Esfahbod [Sun, 30 Sep 2018 16:19:54 +0000 (18:19 +0200)]
Change _HB_SCRIPT_MAX_VALUE from 0xFFFFFFFF to 0x7FFFFFFF
Fixes https://github.com/harfbuzz/harfbuzz/issues/504
Behdad Esfahbod [Sun, 30 Sep 2018 16:14:50 +0000 (18:14 +0200)]
[test] Fix -Wunused-parameter warnings
Behdad Esfahbod [Sun, 30 Sep 2018 16:01:20 +0000 (18:01 +0200)]
More warning fixes
Behdad Esfahbod [Sun, 30 Sep 2018 15:48:55 +0000 (17:48 +0200)]
Fix bug introduced in
9b0b40b3c1ac8155c80ed5dc976228f4d3ec7e1f
Also discovered by msan bot.
Behdad Esfahbod [Sun, 30 Sep 2018 11:10:54 +0000 (13:10 +0200)]
Fix glib-mkenum warning
GEN hb-gobject-enums.h
WARNING: Failed to parse "/*< private >*/" in ../../src/hb-buffer.h
Ebrahim Byagowi [Sun, 30 Sep 2018 14:14:15 +0000 (17:44 +0330)]
[circleci] Pass freetype compile flags to right place
Ebrahim Byagowi [Sun, 30 Sep 2018 14:00:42 +0000 (17:30 +0330)]
[circleci] Use an instrumented freetype on msan bot
Ebrahim Byagowi [Sun, 30 Sep 2018 13:01:28 +0000 (16:31 +0330)]
[circleci] Another on fixing msan
Ebrahim Byagowi [Sun, 30 Sep 2018 11:16:56 +0000 (14:46 +0330)]
[circleci] minor
Ebrahim Byagowi [Sun, 30 Sep 2018 11:15:43 +0000 (14:45 +0330)]
[circleci] Try to fix msan bot
Behdad Esfahbod [Sun, 30 Sep 2018 10:23:01 +0000 (12:23 +0200)]
[util] Remove unneeded virtual
clang warning:
../../util/options.hh:72:13: warning: destination for this 'memset' call is a pointer to dynamic class
'option_parser_t'; vtable pointer will be overwritten [-Wdynamic-class-memaccess]
memset (this, 0, sizeof (*this));
~~~~~~ ^
../../util/options.hh:72:13: note: explicitly cast the pointer to silence this warning
memset (this, 0, sizeof (*this));
^
(void*)
Behdad Esfahbod [Sun, 30 Sep 2018 10:06:26 +0000 (06:06 -0400)]
[util] Fix more non-virtual-destructor warnings
Behdad Esfahbod [Sun, 30 Sep 2018 09:54:47 +0000 (05:54 -0400)]
Minor
Behdad Esfahbod [Sun, 30 Sep 2018 09:49:08 +0000 (05:49 -0400)]
[util] Use HB_FALLTHROUGH
Sure, gcc knows to warn about this as well:
../../util/options.cc:175:17: warning: this statement may fall through [-Wimplicit-fallthrough=]
case 1: m.r = m.t;
~~~~^~~~~
../../util/options.cc:176:5: note: here
case 2: m.b = m.t;
^~~~
But HOLY SMOKES, look at clang -Weverything bot message:
options.cc:176:5: warning: unannotated fall-through between switch labels [-Wimplicit-fallthrough]
case 2: m.b = m.t;
^
options.cc:176:5: note: insert 'HB_FALLTHROUGH;' to silence this warning
case 2: m.b = m.t;
^
HB_FALLTHROUGH;
Right, it's telling me to insert "HB_FALLTHROUGH;" there!!!!!!!!!
Behdad Esfahbod [Sun, 30 Sep 2018 09:47:36 +0000 (05:47 -0400)]
[util] Mark var static
From clang -Weverything bot:
options.cc:39:3: warning: no previous extern declaration for non-static variable 'supported_font_funcs' [-Wmissing-variable-declarations]
Behdad Esfahbod [Sun, 30 Sep 2018 09:46:20 +0000 (05:46 -0400)]
[util] Add empty virtual destructor to option_group_t
From clang -Weverything bot:
./options.hh:57:8: warning: 'option_group_t' has virtual functions but non-virtual destructor [-Wnon-virtual-dtor]
struct option_group_t
^
Behdad Esfahbod [Sun, 30 Sep 2018 09:43:22 +0000 (05:43 -0400)]
[indic/khmer] Remove use of global constructors
Alternative woul have been to resurrect F_COMBINE that I removed in
70136a78cb9eda244767f8e8a3d30d0f3c569d01
But this does it for now. I'm not sure why check-static-inits.sh didn't
catch this before. Clang -Weverything bot did:
CXX libharfbuzz_la-hb-ot-shape-complex-indic.lo
hb-ot-shape-complex-indic.cc:99:1: warning: declaration requires a global constructor [-Wglobal-constructors]
indic_features[] =
^
1 warning generated.
CXX libharfbuzz_la-hb-ot-shape-complex-khmer.lo
hb-ot-shape-complex-khmer.cc:36:1: warning: declaration requires a global constructor [-Wglobal-constructors]
khmer_features[] =
^
1 warning generated.
Behdad Esfahbod [Sun, 30 Sep 2018 09:34:30 +0000 (05:34 -0400)]
Tweak HB_TAG and HB_UNTAG
uint32_t was getting promoted to signed int, which is not what we wanted...
Wow, clang has become good at generating warnings...
../../src/hb-common.h:349:29: warning: signed shift result (0xFF000000) sets the sign bit of the shift expression's type ('int') and becomes negative [-Wshift-sign-overflow]
_HB_SCRIPT_MAX_VALUE = HB_TAG_MAX, /*< skip >*/
^~~~~~~~~~
../../src/hb-common.h:93:20: note: expanded from macro 'HB_TAG_MAX'
define HB_TAG_MAX HB_TAG(0xff,0xff,0xff,0xff)
^~~~~~~~~~~~~~~~~~~~~~~~~~~
../../src/hb-common.h:89:57: note: expanded from macro 'HB_TAG'
define HB_TAG(c1,c2,c3,c4) ((hb_tag_t)((((uint8_t)(c1))<<24)|(((uint8_t)(c2))<<16)|(((uint8_t)(c3))<<8)|((uint8_t)(c4))))
~~~~~~~~~~~~~~~^ ~~
../../src/hb-common.h:349:3: warning: ISO C restricts enumerator values to range of 'int' (
4294967295 is too large) [-Wpedantic]
_HB_SCRIPT_MAX_VALUE = HB_TAG_MAX, /*< skip >*/
^ ~~~~~~~~~~
Behdad Esfahbod [Sun, 30 Sep 2018 09:27:39 +0000 (05:27 -0400)]
[font] Make *_advance() fallback to *_advances
And remove redundant implementations.
Behdad Esfahbod [Sun, 30 Sep 2018 07:54:40 +0000 (03:54 -0400)]
Use buffer scratch_flags to remember if we had any joiners
Behdad Esfahbod [Sun, 30 Sep 2018 07:49:52 +0000 (03:49 -0400)]
Document setlocale() threadsafety issue
"Fixes" //github.com/harfbuzz/harfbuzz/issues/1191
Ebrahim Byagowi [Sat, 29 Sep 2018 20:45:25 +0000 (00:15 +0330)]
[ci] Build glib and freetype and enable msan bot (#1198)
Ebrahim Byagowi [Sat, 29 Sep 2018 06:49:54 +0000 (10:19 +0330)]
Minor on test-multithread, align the actual and expected results
Ebrahim Byagowi [Sat, 29 Sep 2018 06:46:14 +0000 (10:16 +0330)]
[circleci] Add -Wno-reserved-id-macro to clang-everything
Behdad Esfahbod [Sat, 29 Sep 2018 00:53:07 +0000 (20:53 -0400)]
[test-multithread] Disable FreeType funcs
Behdad Esfahbod [Fri, 28 Sep 2018 15:16:18 +0000 (11:16 -0400)]
Fix fallback kerning to check for current glyph's mask
Ebrahim Byagowi [Fri, 28 Sep 2018 23:40:13 +0000 (03:10 +0330)]
[circleci] Improve clang-everything bot log, more to come
#1196
Ebrahim Byagowi [Fri, 28 Sep 2018 22:41:05 +0000 (02:11 +0330)]
[ci] Another try on mingw bot
Ebrahim Byagowi [Fri, 28 Sep 2018 22:27:50 +0000 (01:57 +0330)]
[ci] Another try on fixing mingw bots
Per https://github.com/Alexpux/MSYS2-packages/issues/163#issuecomment-
73555971
Ebrahim Byagowi [Fri, 28 Sep 2018 17:23:48 +0000 (20:53 +0330)]
[tests] Don't try to get glyph names on failures
As it may cause a race unrelated to the issue actually happened
Ebrahim Byagowi [Fri, 28 Sep 2018 17:17:21 +0000 (20:47 +0330)]
[ci] Trying to fix mingw bot
As https://github.com/Alexpux/MSYS2-packages/issues/702
Behdad Esfahbod [Fri, 28 Sep 2018 15:06:49 +0000 (11:06 -0400)]
Fix pthread fail for real
Using a hack...
Behdad Esfahbod [Fri, 28 Sep 2018 14:55:28 +0000 (10:55 -0400)]
Fix bot fails
Behdad Esfahbod [Fri, 28 Sep 2018 14:14:23 +0000 (10:14 -0400)]
[morx] Remove mark_set from Insertion
text-rendering-tests test MORX-32 shows that for Insertion, an unset mark is treated
as mark set at 0. This is unlike the Reordering lookup where un unset mark performs
nothing.
Fixes MORX-32.
Behdad Esfahbod [Fri, 28 Sep 2018 14:00:07 +0000 (10:00 -0400)]
[morx] unsafe-to-break in Insertion
Makes MORX-29, MORX-30, MORX-31 pass.
Behdad Esfahbod [Fri, 28 Sep 2018 13:51:35 +0000 (09:51 -0400)]
[test/text-rendering-tests] Update from upstream
Behdad Esfahbod [Fri, 28 Sep 2018 13:47:45 +0000 (09:47 -0400)]
Fix ubsan bot
Behdad Esfahbod [Fri, 28 Sep 2018 13:13:14 +0000 (09:13 -0400)]
More atomic tuneup
Behdad Esfahbod [Fri, 28 Sep 2018 12:45:57 +0000 (08:45 -0400)]
[test-multithread] Install ot funcs before filling ref buffer
Behdad Esfahbod [Fri, 28 Sep 2018 12:43:37 +0000 (08:43 -0400)]
[test-multithread] Take num-threads and num-iters from command-line
Behdad Esfahbod [Fri, 28 Sep 2018 12:33:26 +0000 (08:33 -0400)]
Minor
Ebrahim Byagowi [Fri, 28 Sep 2018 12:43:01 +0000 (16:13 +0330)]
test-multithread, check the results on every iteration (#1194)
Ebrahim Byagowi [Fri, 28 Sep 2018 12:31:15 +0000 (16:01 +0330)]
Make test-multithread pass the tsan bot test (#1193)
Behdad Esfahbod [Thu, 27 Sep 2018 21:23:24 +0000 (17:23 -0400)]
More atomic fixup
Behdad Esfahbod [Thu, 27 Sep 2018 21:20:26 +0000 (17:20 -0400)]
Fixup atomics from recent change
Behdad Esfahbod [Thu, 27 Sep 2018 20:54:23 +0000 (16:54 -0400)]
[cache] Use atomic writes in clear()
To help TSan.
Volker Krause [Thu, 27 Sep 2018 14:33:49 +0000 (16:33 +0200)]
Fix infinite loop when walking up the directory hierarchy (#1183)
A single find_package(harfbuzz) line in user code resulted in this loop
getting stuck when _harfbuzz_libdir_iter became "/".
Ebrahim Byagowi [Thu, 27 Sep 2018 08:23:17 +0000 (11:53 +0330)]
Use clang for compiling freetype for tsan bot
Behdad Esfahbod [Wed, 26 Sep 2018 22:42:37 +0000 (18:42 -0400)]
[arabic] Do the joiner-flipping only for rlig feature
See comment.
Behdad Esfahbod [Wed, 26 Sep 2018 20:40:23 +0000 (16:40 -0400)]
[ft] Make TSan happy
Behdad Esfahbod [Wed, 26 Sep 2018 20:37:18 +0000 (16:37 -0400)]
Add more atomic intrinsics
Behdad Esfahbod [Wed, 26 Sep 2018 20:29:35 +0000 (16:29 -0400)]
Rename test
Ebrahim Byagowi [Wed, 26 Sep 2018 20:38:06 +0000 (00:08 +0330)]
[ci] Compile freetype on tsan and put sanitizer flags on correct places (#1188)
Ebrahim Byagowi [Wed, 26 Sep 2018 20:02:45 +0000 (23:32 +0330)]
Test freetype funcs on test-multithread (#1187)
Ebrahim Byagowi [Wed, 26 Sep 2018 19:23:02 +0000 (22:53 +0330)]
Minor, remove the no longer needed comment on test-multithread
Behdad Esfahbod [Wed, 26 Sep 2018 19:03:07 +0000 (15:03 -0400)]
Make TSan happy with make_immutable()
Behdad Esfahbod [Wed, 26 Sep 2018 19:02:21 +0000 (15:02 -0400)]
Fix test-multithread and increase num_threads to 30
What were you thinking? ;)
Ebrahim Byagowi [Wed, 26 Sep 2018 17:20:51 +0000 (20:50 +0330)]
Add a multithreaded test (#1184)
Behdad Esfahbod [Wed, 26 Sep 2018 16:13:47 +0000 (12:13 -0400)]
[hb-view] Change subpixel bits from 8 to 6
To match FreeType units, such that FreeType gets correct size from us.
This matters more now that we allow setting --ft-load-flags.
Behdad Esfahbod [Tue, 25 Sep 2018 16:47:37 +0000 (12:47 -0400)]
Fix iOS build
Fixes https://github.com/harfbuzz/harfbuzz/pull/1179
Ebrahim Byagowi [Tue, 25 Sep 2018 05:54:35 +0000 (09:24 +0330)]
[circle] Add an obsessive clang bot (#1178)
Behdad Esfahbod [Mon, 24 Sep 2018 23:43:01 +0000 (19:43 -0400)]
Disable msan bot again
Fixes https://github.com/harfbuzz/harfbuzz/issues/1175