Michiharu Ariza [Thu, 31 Jan 2019 20:54:36 +0000 (12:54 -0800)]
Merge branch 'master' into cff-more-arrayof-fixes
Behdad Esfahbod [Wed, 30 Jan 2019 23:36:57 +0000 (18:36 -0500)]
Merge pull request #1567 from googlefonts/fuzzer
[subset] Update the subset fuzzer to get options to use from test case.
Garret Rieger [Wed, 30 Jan 2019 23:23:19 +0000 (15:23 -0800)]
[subset] Update the subset fuzzer to determine which options to use based on data in the fuzzing test case.
Add support for toggling retain_gids.
Behdad Esfahbod [Wed, 30 Jan 2019 23:10:23 +0000 (15:10 -0800)]
[configure] Fix up
Behdad Esfahbod [Wed, 30 Jan 2019 23:06:22 +0000 (15:06 -0800)]
[configure] Print compiler version info in report
Behdad Esfahbod [Wed, 30 Jan 2019 22:17:59 +0000 (17:17 -0500)]
Merge pull request #1564 from googlefonts/retain_gids
[subset] Add --retain-gids option to the subsetter.
Behdad Esfahbod [Wed, 30 Jan 2019 21:54:15 +0000 (13:54 -0800)]
2.3.1
Garret Rieger [Tue, 29 Jan 2019 02:12:19 +0000 (18:12 -0800)]
[subset] Add expected files for retain-gids integration tests.
Garret Rieger [Tue, 29 Jan 2019 02:10:56 +0000 (18:10 -0800)]
[subset] For retain gids don't truncate glyphs past the highest requested subset glyph.
Garret Rieger [Tue, 29 Jan 2019 01:43:42 +0000 (17:43 -0800)]
[subset] Add retain-gids option to hb-subset executable.
Garret Rieger [Tue, 29 Jan 2019 01:43:11 +0000 (17:43 -0800)]
[subset] Add some subsetting integration tests covering retain gids.
Garret Rieger [Tue, 29 Jan 2019 01:05:04 +0000 (17:05 -0800)]
[subset] A few small fixes for the new subset plan api.
Garret Rieger [Tue, 29 Jan 2019 00:59:15 +0000 (16:59 -0800)]
[subset] Update hb-subset-plan.cc to match hb-subset-plan.hh.
Garret Rieger [Tue, 29 Jan 2019 00:53:01 +0000 (16:53 -0800)]
[subset] Update hb-subset-glyf.cc to use new hb-subset-plan API.
Garret Rieger [Tue, 29 Jan 2019 00:51:27 +0000 (16:51 -0800)]
[subset] Update gsub to use glyphset() method of subset plan.
Garret Rieger [Tue, 29 Jan 2019 00:50:56 +0000 (16:50 -0800)]
[subset] Correct maxp num glyph's to use new subset plan method.
Garret Rieger [Tue, 29 Jan 2019 00:50:20 +0000 (16:50 -0800)]
[subset] Re-add glyphs array to subset plan, with new name 'glyphs_deprecated'. Switch CFF subsetting to use it.
Garret Rieger [Tue, 29 Jan 2019 00:15:06 +0000 (16:15 -0800)]
Re-implement HMTX/VMTX subsetting. Update it to support glyph renumbering and simplify the implementation.
Garret Rieger [Sat, 26 Jan 2019 02:04:41 +0000 (18:04 -0800)]
Update hb-ot-vorg-table and hb-ot-layout-common to use the updated subset plan api.
Garret Rieger [Sat, 26 Jan 2019 02:03:47 +0000 (18:03 -0800)]
Remove glyph array from subset plan, make num_glyphs and glyphset private.
Garret Rieger [Sat, 19 Jan 2019 02:33:21 +0000 (18:33 -0800)]
[subset] Fix hdmx subsetting when retain gids is enabled.
Garret Rieger [Sat, 19 Jan 2019 01:49:35 +0000 (17:49 -0800)]
[subset] Compute num_glyphs during subset plan construction.
Update maxp to use the correct num glyphs.
Garret Rieger [Sat, 19 Jan 2019 01:36:32 +0000 (17:36 -0800)]
[subset] Add unit test for glyf subsetting and retain gids.
Garret Rieger [Sat, 19 Jan 2019 00:41:08 +0000 (16:41 -0800)]
[subset] fix failure to init instruction ranges values for an invalid glyph.
Garret Rieger [Fri, 18 Jan 2019 23:11:26 +0000 (15:11 -0800)]
[subset] Do some refactoring in hb-subset-glyf.cc.
- Extract code out into helper methods in several places.
- Bundle loca address, size and is short into a struct.
Garret Rieger [Fri, 18 Jan 2019 02:55:56 +0000 (18:55 -0800)]
Add retain_gids option to subset input. Update glyf and loca handling to respect retain_gids.
Michiharu Ariza [Tue, 29 Jan 2019 20:19:57 +0000 (12:19 -0800)]
Merge branch 'master' into cff-more-arrayof-fixes
Behdad Esfahbod [Tue, 29 Jan 2019 01:47:58 +0000 (20:47 -0500)]
[CI] Peg CircleCI badge link to master branch
[skip ci]
Behdad Esfahbod [Tue, 29 Jan 2019 01:43:43 +0000 (20:43 -0500)]
[ci] Peg build status badges to master branch
[skip ci]
Behdad Esfahbod [Tue, 29 Jan 2019 01:38:15 +0000 (20:38 -0500)]
Switch README / README.md
[skip ci]
Behdad Esfahbod [Mon, 28 Jan 2019 19:15:18 +0000 (14:15 -0500)]
[uniscribe] Whitelist function type cast
Behdad Esfahbod [Mon, 28 Jan 2019 19:12:41 +0000 (14:12 -0500)]
Fix sign comparison error
Behdad Esfahbod [Mon, 28 Jan 2019 19:09:59 +0000 (14:09 -0500)]
Fix warning
c:\projects\harfbuzz\src\hb-ot-color-cbdt-table.hh(59): warning C4146: unary minus operator applied to unsigned type, result still unsigned [C:\projects\harfbuzz\build\harfbuzz.vcxproj]
Behdad Esfahbod [Mon, 28 Jan 2019 19:09:45 +0000 (14:09 -0500)]
[pragma] Silence MSVC unknown-pragma warning
Behdad Esfahbod [Sat, 26 Jan 2019 13:04:51 +0000 (14:04 +0100)]
Fix -Wcast-function-type warnings in util/ with gcc 4.8
Behdad Esfahbod [Fri, 25 Jan 2019 15:11:45 +0000 (16:11 +0100)]
Fix mac test
Behdad Esfahbod [Fri, 25 Jan 2019 15:08:25 +0000 (16:08 +0100)]
More static constexpr
Behdad Esfahbod [Fri, 25 Jan 2019 14:11:47 +0000 (15:11 +0100)]
[AAT] Add test for recent Ligature stack fix, using Zapfino on Mac
Michiharu Ariza [Thu, 24 Jan 2019 21:19:18 +0000 (13:19 -0800)]
Merge branch 'master' into cff-more-arrayof-fixes
Behdad Esfahbod [Thu, 24 Jan 2019 17:16:17 +0000 (18:16 +0100)]
[AAT] Minor sign
Behdad Esfahbod [Thu, 24 Jan 2019 17:12:25 +0000 (18:12 +0100)]
[AAT] Use a ring buffer for ligature stack
I think Apple does very similarly, but probably with a stack size of 16.
We do it with a stack size that is currently set to 64.
Fixes https://github.com/harfbuzz/harfbuzz/issues/1531
Behdad Esfahbod [Thu, 24 Jan 2019 17:06:17 +0000 (18:06 +0100)]
Whitespace
Behdad Esfahbod [Thu, 24 Jan 2019 17:01:07 +0000 (18:01 +0100)]
[AAT] Handle transition errors during machine operation
Before we used to give up. Now, just ignore error and continue processing.
Fixes https://github.com/harfbuzz/harfbuzz/issues/1531
Michiharu Ariza [Thu, 24 Jan 2019 16:53:28 +0000 (08:53 -0800)]
Merge branch 'master' into cff-more-arrayof-fixes
Behdad Esfahbod [Thu, 24 Jan 2019 16:23:11 +0000 (17:23 +0100)]
[AAT] Ignore machine errors and continue
Behdad Esfahbod [Thu, 24 Jan 2019 16:21:41 +0000 (17:21 +0100)]
[AAT] Minor
Behdad Esfahbod [Thu, 24 Jan 2019 16:17:00 +0000 (17:17 +0100)]
[AAT] Handle out-of-bounds classes
Behdad Esfahbod [Thu, 24 Jan 2019 16:10:12 +0000 (17:10 +0100)]
[AAT] Minor
Behdad Esfahbod [Thu, 24 Jan 2019 16:06:16 +0000 (17:06 +0100)]
[AAT] Minor
Behdad Esfahbod [Thu, 24 Jan 2019 15:29:09 +0000 (16:29 +0100)]
More pragma control
Fixes https://bugs.chromium.org/p/chromium/issues/detail?id=924848
Behdad Esfahbod [Thu, 24 Jan 2019 15:12:52 +0000 (16:12 +0100)]
Comment
Behdad Esfahbod [Thu, 24 Jan 2019 15:11:05 +0000 (16:11 +0100)]
Fix test
Behdad Esfahbod [Thu, 24 Jan 2019 15:08:33 +0000 (16:08 +0100)]
Form cluster for Emoji sub-region tag sequences
Fixes https://github.com/harfbuzz/harfbuzz/issues/1556
Behdad Esfahbod [Thu, 24 Jan 2019 11:50:38 +0000 (12:50 +0100)]
Fix macos tests with previous commit
Behdad Esfahbod [Thu, 24 Jan 2019 11:08:23 +0000 (12:08 +0100)]
Adjust mark offsets when zeroing from fallback mark positioning code
Adjust tests.
Fixes https://github.com/harfbuzz/harfbuzz/issues/1532
Michiharu Ariza [Wed, 23 Jan 2019 22:05:42 +0000 (14:05 -0800)]
Merge branch 'master' into cff-more-arrayof-fixes
Michiharu Ariza [Wed, 23 Jan 2019 22:04:29 +0000 (14:04 -0800)]
more rewriting with ArrayOf<>
CFF1 Encoding0, Encoding1, CFF1SuppEncData
Behdad Esfahbod [Wed, 23 Jan 2019 19:53:57 +0000 (20:53 +0100)]
[AAT] In InsertionChain, set mark to previous-position if inserting
Fixes MORX-31
Behdad Esfahbod [Wed, 23 Jan 2019 19:45:18 +0000 (20:45 +0100)]
[AAT] Re-enable tests MORX-31 and MORX-41
Behdad Esfahbod [Wed, 23 Jan 2019 19:36:07 +0000 (20:36 +0100)]
[AAT] Remove mark_set from InsertionChain
Behdad Esfahbod [Wed, 23 Jan 2019 19:30:48 +0000 (20:30 +0100)]
[test/text-rendering-tests] Update from upstream
Behdad Esfahbod [Tue, 22 Jan 2019 15:36:00 +0000 (16:36 +0100)]
More of previous
Behdad Esfahbod [Tue, 22 Jan 2019 15:30:07 +0000 (16:30 +0100)]
Fix sign-compare error resulted from promoting unsigned integers to signed larger ints
Clang and gcc know not to warn in these cases, but not nonmainstream compilers
Behdad Esfahbod [Tue, 22 Jan 2019 11:55:29 +0000 (12:55 +0100)]
Cast HB_UNTAG results to uint8_t
Behdad Esfahbod [Tue, 22 Jan 2019 11:52:23 +0000 (12:52 +0100)]
More -Wcast-error fix
Behdad Esfahbod [Tue, 22 Jan 2019 11:45:40 +0000 (12:45 +0100)]
Better fix for -Wcast-align errors
Behdad Esfahbod [Tue, 22 Jan 2019 11:43:12 +0000 (12:43 +0100)]
More -Wcast-error fixes
Behdad Esfahbod [Tue, 22 Jan 2019 11:40:18 +0000 (12:40 +0100)]
pragma GCC diagnostic error "-Wsign-compare"
Behdad Esfahbod [Tue, 22 Jan 2019 11:34:05 +0000 (12:34 +0100)]
Fix cast-align error
If compiler doesn't inline StructAtOffset, this was an error since we
only disable cast-align at call-site. So, move the cast out.
../src/hb-machinery.hh: In instantiation of 'const Type& StructAtOffset(const void*, unsigned int) [with Type = unsigned int]':
../src/hb-font.cc:146:85: required from here
../src/hb-machinery.hh:63:12: error: cast from 'const char*' to 'const unsigned int*' increases required alignment of target type [-Werror=cast-align]
{ return * reinterpret_cast<const Type*> ((const char *) P + offset); }
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/hb-machinery.hh: In instantiation of 'Type& StructAtOffset(void*, unsigned int) [with Type = unsigned int]':
../src/hb-font.cc:147:79: required from here
../src/hb-machinery.hh:66:12: error: cast from 'char*' to 'unsigned int*' increases required alignment of target type [-Werror=cast-align]
{ return * reinterpret_cast<Type*> ((char *) P + offset); }
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Behdad Esfahbod [Tue, 22 Jan 2019 11:29:05 +0000 (12:29 +0100)]
[CI] Remove gcc 4.2 bots
We don't support that version anymore.
Behdad Esfahbod [Tue, 22 Jan 2019 11:15:23 +0000 (12:15 +0100)]
Convert all other enum class consts to static constexpr
Fixes https://github.com/harfbuzz/harfbuzz/issues/1553
Behdad Esfahbod [Tue, 22 Jan 2019 11:11:24 +0000 (12:11 +0100)]
Convert unsigned enum class consts to static constexpr
Part of https://github.com/harfbuzz/harfbuzz/issues/1553
Behdad Esfahbod [Tue, 22 Jan 2019 11:08:57 +0000 (12:08 +0100)]
Convert tag enum class consts to static constexpr
Part of https://github.com/harfbuzz/harfbuzz/issues/1553
Behdad Esfahbod [Tue, 22 Jan 2019 11:07:43 +0000 (12:07 +0100)]
Convert boolean enum class consts to static constexpr
Part of https://github.com/harfbuzz/harfbuzz/issues/1553
Behdad Esfahbod [Tue, 22 Jan 2019 11:05:35 +0000 (12:05 +0100)]
Make some enum constants unsigned
Behdad Esfahbod [Tue, 22 Jan 2019 11:02:06 +0000 (12:02 +0100)]
Whitespace
Behdad Esfahbod [Tue, 22 Jan 2019 11:00:44 +0000 (12:00 +0100)]
pragma GCC diagnostic error "-Wvla"
Alfie John [Tue, 22 Jan 2019 08:58:36 +0000 (19:58 +1100)]
Fix grammar
Alfie John [Tue, 22 Jan 2019 00:03:02 +0000 (00:03 +0000)]
Grammar fix
Behdad Esfahbod [Mon, 21 Jan 2019 01:09:10 +0000 (20:09 -0500)]
Remove wrongly added files
Behdad Esfahbod [Mon, 21 Jan 2019 00:51:08 +0000 (19:51 -0500)]
Use enum for class constant
Behdad Esfahbod [Mon, 21 Jan 2019 00:49:59 +0000 (19:49 -0500)]
[CFF] Use enum for tableTag
Behdad Esfahbod [Mon, 21 Jan 2019 00:47:52 +0000 (19:47 -0500)]
Use static constexpr for large class constants
Khaled Hosny [Mon, 21 Jan 2019 14:44:48 +0000 (16:44 +0200)]
Regular spaces will do
Alfie John [Mon, 21 Jan 2019 05:00:01 +0000 (05:00 +0000)]
Adding leading space for code example
Alfie John [Mon, 21 Jan 2019 04:54:27 +0000 (04:54 +0000)]
Fix description of example
Alfie John [Mon, 21 Jan 2019 04:47:05 +0000 (04:47 +0000)]
Added option to build docs to docs
Behdad Esfahbod [Sat, 19 Jan 2019 14:20:46 +0000 (09:20 -0500)]
Fix sign compare warnings
../../third_party/harfbuzz-ng/src/src/hb-map.hh(56,45): warning: comparison of integers of different signs: 'const hb_codepoint_t' (aka 'const unsigned int') and 'hb_map_t::(anonymous enum at ../../third_party/harfbuzz-ng/src/src/hb-map.hh:169:3)' [-Wsign-compare]
bool is_unused () const { return key == INVALID; }
Behdad Esfahbod [Sat, 19 Jan 2019 14:18:03 +0000 (09:18 -0500)]
Fix warning
warning: '_WIN64' is not defined, evaluates to 0 [-Wundef]
Ebrahim Byagowi [Sat, 19 Jan 2019 13:00:07 +0000 (16:30 +0330)]
[dwrite] Fix delete-non-virtual-dtor warning (#1550)
Behdad Esfahbod [Fri, 18 Jan 2019 19:59:18 +0000 (14:59 -0500)]
Remove TRACE_COLLECT_GLYPHS
Behdad Esfahbod [Fri, 18 Jan 2019 19:53:54 +0000 (14:53 -0500)]
[pragma] Only add if GCC or clang
Behdad Esfahbod [Fri, 18 Jan 2019 18:45:33 +0000 (13:45 -0500)]
[directwrite] More fix
Ebrahim Byagowi [Fri, 18 Jan 2019 18:25:21 +0000 (21:55 +0330)]
[dwrite] Try to fix delete-non-virtual-dtor warnings
Fixes #1548 hopefully
Behdad Esfahbod [Fri, 18 Jan 2019 17:53:06 +0000 (12:53 -0500)]
Remove tracing from closure
Behdad Esfahbod [Fri, 18 Jan 2019 17:48:01 +0000 (12:48 -0500)]
Fix -Wundef errors with __GNUC__
Fixes https://github.com/harfbuzz/harfbuzz/issues/1549
Michiharu Ariza [Fri, 18 Jan 2019 17:43:51 +0000 (09:43 -0800)]
init interp_env_t::hintmask_size
fixes issue #1547
Behdad Esfahbod [Fri, 18 Jan 2019 17:23:02 +0000 (12:23 -0500)]
[pragma] Enable error -Wdelete-non-virtual-dtor
Currently fails directwrite backend.
Behdad Esfahbod [Fri, 18 Jan 2019 17:22:07 +0000 (12:22 -0500)]
[directwrite] Fix error
hb-directwrite.cc: In constructor 'TextAnalysis::TextAnalysis(const wchar_t*, uint32_t, const wchar_t*, DWRITE_READING_DIRECTION)':
hb-directwrite.cc:489:18: error: 'TextAnalysis::mText' will be initialized after [-Werror=reorder]
const wchar_t* mText;
^~~~~
hb-directwrite.cc:488:12: error: 'uint32_t TextAnalysis::mTextLength' [-Werror=reorder]
uint32_t mTextLength;
^~~~~~~~~~~
hb-directwrite.cc:282:3: error: when initialized here [-Werror=reorder]
TextAnalysis (const wchar_t* text, uint32_t textLength,
^~~~~~~~~~~~
hb-directwrite.cc: In function 'hb_bool_t _hb_directwrite_shape_full(hb_shape_plan_t*, hb_font_t*, hb_buffer_t*, const hb_feature_t*, unsigned int, float)':
Behdad Esfahbod [Fri, 18 Jan 2019 15:08:23 +0000 (10:08 -0500)]
[pragma] More cast-align whitelist