Ebrahim Byagowi [Fri, 30 Mar 2018 17:55:35 +0000 (22:25 +0430)]
Minor build related changes
Ebrahim Byagowi [Fri, 30 Mar 2018 17:27:10 +0000 (21:57 +0430)]
[aat] Implement gcid table parsing (#944)
Ebrahim Byagowi [Fri, 30 Mar 2018 15:06:00 +0000 (19:36 +0430)]
[aat] Implement bsln table parsing (#943)
Ebrahim Byagowi [Fri, 30 Mar 2018 00:30:28 +0000 (05:00 +0430)]
Make atexit callbacks threadsafe (#930)
Ebrahim Byagowi [Fri, 30 Mar 2018 00:28:47 +0000 (04:58 +0430)]
[graphite] Make get_table threadsafe (#931)
Ebrahim Byagowi [Thu, 29 Mar 2018 17:30:41 +0000 (22:00 +0430)]
Make gen-* scripts LC_ALL=C compatible (#942)
Ebrahim Byagowi [Thu, 29 Mar 2018 16:52:47 +0000 (21:22 +0430)]
Actual py3 compatibility making on gen-* scripts (#941)
Ebrahim Byagowi [Thu, 29 Mar 2018 08:18:47 +0000 (12:48 +0430)]
Make more gen-* scripts py3 compatible (#940)
Ebrahim Byagowi [Wed, 28 Mar 2018 23:52:53 +0000 (04:22 +0430)]
Add README.wine.md and touch some other docs (#939)
Behdad Esfahbod [Wed, 28 Mar 2018 22:33:51 +0000 (15:33 -0700)]
[atexit] Make hb_languate_item_t *langs freeing threadsafe
Part of https://github.com/harfbuzz/harfbuzz/issues/923
Behdad Esfahbod [Wed, 28 Mar 2018 21:06:58 +0000 (14:06 -0700)]
Fix one UBSan warning
Fixes https://github.com/harfbuzz/harfbuzz/issues/935
Behdad Esfahbod [Wed, 28 Mar 2018 20:38:51 +0000 (13:38 -0700)]
[uniscribe] Fixup for previous commit
Fixes https://github.com/harfbuzz/harfbuzz/issues/934
Behdad Esfahbod [Wed, 28 Mar 2018 17:44:52 +0000 (10:44 -0700)]
[uniscribe] Fix assertion fail in checksum calc
Program: Z:\Users\ebrahim\Desktop\harfbuzz\winbuild\util\.libs\hb-shape.exe
File: ../../src/hb-open-type-private.hh, Line 769
Expression: 0 == (Length & 3)
abnormal program termination
Ebrahim Byagowi [Wed, 28 Mar 2018 14:38:19 +0000 (19:08 +0430)]
Make gen-use-table.py py3 compatible (#932)
Garret Rieger [Tue, 27 Mar 2018 17:42:19 +0000 (10:42 -0700)]
[subset] fix infinite loop bug in looping through tables for subsetting.
Ebrahim Byagowi [Tue, 27 Mar 2018 12:27:09 +0000 (16:57 +0430)]
Implement an internal emojis dumper tool (#909)
Later to be expanded to a more general tool but for now it only supports CBDT, SVG and CBDT.
Ebrahim Byagowi [Tue, 27 Mar 2018 09:29:56 +0000 (13:59 +0430)]
[ci] Fix coverage build fail (#925)
Garret Rieger [Tue, 27 Mar 2018 02:56:56 +0000 (20:56 -0600)]
[subset] Couple of fixes for fuzzer discovered issues. (#924)
* [subset] sanitize individual DeviceRecord's as part of hdmx sanitization.
* [subset] Fix out of bounds read with non-two byte align glyphs.
* [subset] Just use size_device_record >= DeviceRecord::min_size.
* [subset] Add TODO.
* [subset] Re-order checks in hdmx sanitize.
Behdad Esfahbod [Tue, 27 Mar 2018 02:55:22 +0000 (19:55 -0700)]
[hdmx] Minor
Behdad Esfahbod [Tue, 27 Mar 2018 02:55:16 +0000 (19:55 -0700)]
Minor
Behdad Esfahbod [Mon, 26 Mar 2018 22:09:54 +0000 (15:09 -0700)]
Fix previous commit
Automake has this stupid behavior where if your Makefile.am has
syntactic error, it can get to a state that make succeeds but just
ignores broken Makefile.am. Ouch.
Behdad Esfahbod [Mon, 26 Mar 2018 21:26:45 +0000 (14:26 -0700)]
Try fixing linking again
Before 1.7.5, we were setting -fno-exceptions etc on CXXFLAGS. In 1.7.6
we set it as CPPFLAGS. Try fixing. Also, I'm fairly sure it's safe to
set these unconditionally.
Fixes https://github.com/harfbuzz/harfbuzz/issues/880 (or so I hope)
Behdad Esfahbod [Mon, 26 Mar 2018 21:09:29 +0000 (14:09 -0700)]
Add HB_SUBSET_BUILTIN
Fixes https://github.com/harfbuzz/harfbuzz/issues/865
Behdad Esfahbod [Mon, 26 Mar 2018 17:44:54 +0000 (10:44 -0700)]
Add HB_NO_ATEXIT
Ebrahim Byagowi [Mon, 26 Mar 2018 08:58:26 +0000 (13:28 +0430)]
[aat] Unprefix not essentially layout tables (#921)
David Corbett [Mon, 26 Mar 2018 00:50:41 +0000 (20:50 -0400)]
Allow trailing non-numeric chars in --unicodes
Behdad Esfahbod [Mon, 26 Mar 2018 08:14:07 +0000 (01:14 -0700)]
[aat/ltag] Whitespace
Ebrahim Byagowi [Mon, 26 Mar 2018 07:34:30 +0000 (12:04 +0430)]
[aat/ltag] Implement the table parsing (#911)
Ebrahim Byagowi [Sun, 25 Mar 2018 19:26:02 +0000 (23:56 +0430)]
[aat/fmtx] Implement the table parsing (#910)
Ebrahim Byagowi [Sun, 25 Mar 2018 14:15:50 +0000 (18:45 +0430)]
[ci] Add a build only apple-gcc-4.2 i686 bot
Ebrahim Byagowi [Sun, 25 Mar 2018 13:49:23 +0000 (18:19 +0430)]
[dwrite] minor
Behdad Esfahbod [Sun, 25 Mar 2018 00:51:55 +0000 (17:51 -0700)]
More ULL fixes
Fixes https://github.com/harfbuzz/harfbuzz/issues/901
Behdad Esfahbod [Sat, 24 Mar 2018 21:12:12 +0000 (14:12 -0700)]
Define uint64_t constants with ULL suffix
Fixes https://github.com/harfbuzz/harfbuzz/issues/901
Chun-wei Fan [Mon, 12 Mar 2018 05:33:03 +0000 (13:33 +0800)]
hb-private.hh: Add fallback implementation for round()
For pre-C99 compilers that do not support round(), we need to have a
simplistic implementation for it, when it is not detected during build
configuration, either via CMake or autotools, by using floor() and
ceil(), which are provided in the pre-C99 compilers.
Please see discussion at commit 86a0ac2 for more details for re-adding
this patch.
Nikolaus Waxweiler [Fri, 23 Mar 2018 19:38:11 +0000 (19:38 +0000)]
Policy 0063 must be enabled to have hidden inline visibility... (#900)
...on static builds.
Ebrahim Byagowi [Fri, 23 Mar 2018 14:07:01 +0000 (18:37 +0430)]
Fix llvm-gcc-4.2 compile issue and add a macOS bot to test it (#899)
Ebrahim Byagowi [Thu, 22 Mar 2018 11:34:38 +0000 (16:04 +0430)]
[dwrite] Replace rest of 'malloc/free's with 'new/delete' (#897)
Garret Rieger [Wed, 21 Mar 2018 00:36:52 +0000 (17:36 -0700)]
[subset] Check for the Null table and not nullptr to detect failure to find a table in glyf accelerator.
Garret Rieger [Wed, 21 Mar 2018 00:28:47 +0000 (17:28 -0700)]
[subset] Fix to debug message.
Garret Rieger [Tue, 20 Mar 2018 23:55:42 +0000 (16:55 -0700)]
[subset] don't use pointers returned from push after array has resized in hb-subset-glyf.cc
Garret Rieger [Tue, 20 Mar 2018 23:31:21 +0000 (16:31 -0700)]
[subset] Fixed out of bounds read when subsetting hdmx.
Garret Rieger [Tue, 20 Mar 2018 20:00:49 +0000 (13:00 -0700)]
[subset] Disable glyf accelerator_t methods if it didn't successfully init.
Garret Rieger [Tue, 20 Mar 2018 18:21:06 +0000 (11:21 -0700)]
[subset] Fix infinite loop in there are more then 32 tables.
Garret Rieger [Tue, 20 Mar 2018 01:39:22 +0000 (18:39 -0700)]
[subset] Add a fix for segfault in hmtx/vmtx subsetting code.
Garret Rieger [Tue, 20 Mar 2018 00:47:57 +0000 (17:47 -0700)]
[subset] Add a test demonstrating a seg fault while subsetting hmtx.
Garret Rieger [Fri, 16 Mar 2018 17:20:21 +0000 (10:20 -0700)]
[subset] Restore subset to hb-subset-fuzzer.
Ebrahim Byagowi [Mon, 19 Mar 2018 08:49:42 +0000 (12:19 +0330)]
[dwrite] Use new again and enable the build on msys2 bots (#890)
Ebrahim Byagowi [Fri, 16 Mar 2018 21:35:03 +0000 (01:05 +0330)]
Appropriate fix for msys2 bot fail on gen-def.py (#894)
Ebrahim Byagowi [Fri, 16 Mar 2018 19:15:09 +0000 (22:45 +0330)]
Do feature test before adding -Bsymbolic-functions, autotools part (#892)
Joel Winarske [Fri, 16 Mar 2018 19:14:27 +0000 (12:14 -0700)]
Do feature test before adding -Bsymbolic-functions, cmake part (#889)
Ebrahim Byagowi [Fri, 16 Mar 2018 19:09:58 +0000 (22:39 +0330)]
[cmake] Don't hide symbols by default (#891)
But keep use of cmake idiomatic way of making inlines hidden
Garret Rieger [Fri, 16 Mar 2018 01:27:01 +0000 (18:27 -0700)]
[subset] Test not linking libharfbuzz-subset-fuzzing into hb-subset-fuzzer.
Garret Rieger [Fri, 16 Mar 2018 01:06:15 +0000 (18:06 -0700)]
[subset] Test hb-shape-fuzzer in run-subset-fuzzer-tests.
Garret Rieger [Fri, 16 Mar 2018 01:04:54 +0000 (18:04 -0700)]
[subset] make libharfbuzz-subset-fuzzing.la depend on lib target.
Garret Rieger [Thu, 15 Mar 2018 23:31:38 +0000 (16:31 -0700)]
[subset] %d -> %zu
Garret Rieger [Thu, 15 Mar 2018 23:14:01 +0000 (16:14 -0700)]
[subset] Add some more logging to hb-subset-fuzzer.
Garret Rieger [Thu, 15 Mar 2018 23:12:00 +0000 (16:12 -0700)]
[subset] Fix run-shape-fuzzer-tests.py. It was generating incorrect paths for input fonts.
Garret Rieger [Thu, 15 Mar 2018 22:41:08 +0000 (15:41 -0700)]
[subset] Add more verbose output for subset fuzzer test.
Garret Rieger [Thu, 15 Mar 2018 20:04:31 +0000 (13:04 -0700)]
[subset] Rename hb-fuzzer -> hb-shape-fuzzer.
Garret Rieger [Thu, 15 Mar 2018 02:58:15 +0000 (19:58 -0700)]
[subset] Add rub-subset-fuzzer-tests.py to dist files.
Garret Rieger [Thu, 15 Mar 2018 02:15:33 +0000 (19:15 -0700)]
[subset] Add a test runner for hb-subset-fuzzer and cmake build config.
Garret Rieger [Tue, 13 Mar 2018 01:04:34 +0000 (18:04 -0700)]
[subset] Fix fuzzing build for hb-subset-fuzzer.
Garret Rieger [Mon, 12 Mar 2018 23:33:47 +0000 (16:33 -0700)]
[subset] Add missing destroy of subsetting result in subset fuzzer.
Garret Rieger [Mon, 12 Mar 2018 23:08:16 +0000 (16:08 -0700)]
[subset] First pass at setting up a fuzzing program for hb-subset.
Behdad Esfahbod [Thu, 15 Mar 2018 20:23:27 +0000 (13:23 -0700)]
[util] Remove line buffering
Something weird seems to be going on. Just kill it.
Fixes https://github.com/harfbuzz/harfbuzz/issues/888
Behdad Esfahbod [Thu, 15 Mar 2018 16:05:22 +0000 (09:05 -0700)]
Remove extra stdbool includes
They are handled in our common header.
Behdad Esfahbod [Wed, 14 Mar 2018 15:31:53 +0000 (16:31 +0100)]
Add NameID
Behdad Esfahbod [Wed, 14 Mar 2018 15:26:33 +0000 (16:26 +0100)]
[color/COLR] Simplify
Behdad Esfahbod [Wed, 14 Mar 2018 15:18:42 +0000 (16:18 +0100)]
[color/COLR] Clean up
Behdad Esfahbod [Wed, 14 Mar 2018 15:08:12 +0000 (16:08 +0100)]
[color/COLR] Fix bad sanitize
Bad bad bad bad code. Don't do that. If compiler's not happy, understand why.
Behdad Esfahbod [Wed, 14 Mar 2018 15:03:01 +0000 (16:03 +0100)]
[color/COLR] Clean up
Behdad Esfahbod [Wed, 14 Mar 2018 14:52:53 +0000 (15:52 +0100)]
[color/cbdt] Clean up
Behdad Esfahbod [Wed, 14 Mar 2018 14:51:33 +0000 (15:51 +0100)]
Revert "hb-private.hh: Add fallback implementation for round()"
This reverts commit
b9dcbb1f8312d8606b230f75594d40b7d4087004.
This is gross. Should be only done if a specific macro is defined. Not the other way
around. This fails my build as autotools companions where not added anyway.
Ebrahim Byagowi [Thu, 15 Mar 2018 08:10:52 +0000 (11:40 +0330)]
Merge pull request #886 from madig/only-export-visible-symbols
CMake: hide symbols by default on non-MSVC, define export attribute
Nikolaus Waxweiler [Wed, 14 Mar 2018 10:29:24 +0000 (10:29 +0000)]
Enable implicit symbol hiding for all libraries, static and shared
This covers all built libraries now and both static and shared builds.
Ebrahim Byagowi [Wed, 14 Mar 2018 07:34:28 +0000 (11:04 +0330)]
[dwrite] GCC/mingw/msys2 compatibility (#884)
Ebrahim Byagowi [Wed, 14 Mar 2018 06:26:31 +0000 (09:56 +0330)]
[ci] Trying to fix gen-def issue on appveyor (#885)
Nikolaus Waxweiler [Wed, 14 Mar 2018 00:50:32 +0000 (00:50 +0000)]
CMake: hide symbols by default on non-MSVC, define export attribute
This change makes sure that non-MSVC builds using CMake properly hide
non-exported functions.
Ebrahim Byagowi [Tue, 13 Mar 2018 23:24:07 +0000 (02:54 +0330)]
Merge pull request #877 from fanc999/master.msvc
Fix CMake builds on Windows, MSVC in particular
Chun-wei Fan [Mon, 12 Mar 2018 08:43:53 +0000 (16:43 +0800)]
CMake: Fix utility program installation
Put in the utility program that was missed in installation by replacing
the one that was duplicated.
Chun-wei Fan [Mon, 12 Mar 2018 08:23:57 +0000 (16:23 +0800)]
CMake: Fix introspection on Windows
The list of source files to pass to g-ir-scanner is becoming too
long for Windows, as Windows imposes a 8192-character limit for command
lines, so we need to first transform that list into a listings file, and
then use the --filelist option for g-ir-scanner to build the
introspection files.
Chun-wei Fan [Mon, 12 Mar 2018 05:48:55 +0000 (13:48 +0800)]
test/api: Fix building subset tests
Include stdbool.h in hb-setset-test.h instead of in the individual
sources, if it is found; otherwise use a simplistic fallback for it if
it is not found.
Also declare variables at the top of the block, to build on pre-C99
compiliers.
Chun-wei Fan [Mon, 12 Mar 2018 05:38:01 +0000 (13:38 +0800)]
CMake: Fix running tests on Windows
For the API tests, output the test programs at $(TOP_BUILDDIR) so that
the freshly-built DLLs will be available for the test programs. For
those that are run through the Python wrapper scripts, use
${PYTHON_EXECUTABLE} instead of plain 'python' in case the Python
interpreter is not in the PATH.
Chun-wei Fan [Mon, 12 Mar 2018 05:33:03 +0000 (13:33 +0800)]
hb-private.hh: Add fallback implementation for round()
Add a simplistic round() implementation for our purposes, used when the
compiler does not support round() directly.
Chun-wei Fan [Mon, 12 Mar 2018 05:27:38 +0000 (13:27 +0800)]
configure.ac/CMake: Check for round() and stdbool.h
Not all the compilers that HarfBuzz is buildable on supports round() and
has the header stdbool.h, so we check for them and define HAVE_ROUND and
HAVE_STDBOOL_H repsectively in our CFLAGS so that we include them only
when they are found, or use fallback implementations when necessary.
Also include FindPythonInterp earlier as we need PYTHON_EXECUTABLE to be
set for running the tests.
Ebrahim Byagowi [Mon, 12 Mar 2018 10:30:11 +0000 (14:00 +0330)]
[ot-color/SVG] Minor (#878)
Behdad Esfahbod [Sun, 11 Mar 2018 19:38:40 +0000 (20:38 +0100)]
[sbix] Clean up
Ebrahim Byagowi [Sat, 10 Mar 2018 07:43:52 +0000 (11:13 +0330)]
[ot-color] SVG table implementation (#874)
Ebrahim Byagowi [Sat, 10 Mar 2018 07:37:56 +0000 (11:07 +0330)]
[ot-color] sbix table implementation (#870)
Ebrahim Byagowi [Fri, 9 Mar 2018 21:14:36 +0000 (00:44 +0330)]
[dev-run] minor
Garret Rieger [Fri, 9 Mar 2018 19:06:52 +0000 (12:06 -0700)]
Merge pull request #872 from googlefonts/drop-tables
[subset] Drop the same tables by default as fontTools does.
Ebrahim Byagowi [Fri, 9 Mar 2018 12:13:03 +0000 (15:43 +0330)]
Make subset test runner compatible with py3
Fixes #873
Ebrahim Byagowi [Fri, 9 Mar 2018 11:55:59 +0000 (15:25 +0330)]
[ci] Enable subset tests on ArchLinux to test
This makes ArchLinux bots fail, a starting point to #873
Garret Rieger [Fri, 9 Mar 2018 00:30:36 +0000 (16:30 -0800)]
[subset] Drop the same tables by default as fontTools does.
Garret Rieger [Thu, 8 Mar 2018 22:50:25 +0000 (15:50 -0700)]
Merge pull request #871 from googlefonts/mplus
[subset] Add a Japanese font to the subset integration tests.
Garret Rieger [Wed, 7 Mar 2018 20:37:03 +0000 (12:37 -0800)]
[subset] Drop cmap 12, platform 0 tables from Mplus1p expected files.
Garret Rieger [Wed, 7 Mar 2018 01:47:40 +0000 (17:47 -0800)]
[subset] Fix deadlock waiting for process output in subset test runner.
Garret Rieger [Tue, 6 Mar 2018 23:43:08 +0000 (15:43 -0800)]
[subset] add some extra logging to subset run-tests.py.
Garret Rieger [Fri, 2 Mar 2018 02:20:00 +0000 (18:20 -0800)]
[subset] Add japanese font file to subset integration tests.
Garret Rieger [Thu, 8 Mar 2018 21:41:59 +0000 (14:41 -0700)]
Merge pull request #868 from googlefonts/post
[subset] Drop glyph names from post when subsetting.