Michiharu Ariza [Wed, 5 Dec 2018 19:25:29 +0000 (11:25 -0800)]
Merge branch 'master' into cff-fixbcd
Michiharu Ariza [Wed, 5 Dec 2018 19:18:16 +0000 (11:18 -0800)]
fixed a bug with fractional part in a negative value
Ebrahim Byagowi [Wed, 5 Dec 2018 11:53:41 +0000 (15:23 +0330)]
[os2] Make newer table fields accessible (#1452)
Ebrahim Byagowi [Wed, 5 Dec 2018 10:47:37 +0000 (14:17 +0330)]
[fdsc] Implement the table parsing
Related to https://github.com/harfbuzz/harfbuzz/issues/1337
May used in addition to an API related to STAT.
Lots of Apple fonts have it.
Ebrahim Byagowi [Wed, 5 Dec 2018 10:21:14 +0000 (13:51 +0330)]
[gasp] Implement the table parsing
May or may not be used in https://github.com/harfbuzz/harfbuzz/pull/1432
Ebrahim Byagowi [Wed, 5 Dec 2018 09:55:18 +0000 (13:25 +0330)]
Merge pull request #1449 from harfbuzz/cff-fixcharset
[CFF] fix for oss-fuzz 11657: Charset overrun
Ebrahim Byagowi [Wed, 5 Dec 2018 09:53:23 +0000 (13:23 +0330)]
Merge pull request #1448 from harfbuzz/cff-leak
[CFF] fix leak: oss-fuzz 11662
Michiharu Ariza [Wed, 5 Dec 2018 08:36:11 +0000 (00:36 -0800)]
fix unsigned long const
Michiharu Ariza [Wed, 5 Dec 2018 08:26:03 +0000 (00:26 -0800)]
fix signed/unsigned comparison
Michiharu Ariza [Wed, 5 Dec 2018 07:58:26 +0000 (23:58 -0800)]
use sized int types in parse_bcd
Michiharu Ariza [Wed, 5 Dec 2018 07:23:23 +0000 (23:23 -0800)]
refix
Michiharu Ariza [Wed, 5 Dec 2018 07:18:28 +0000 (23:18 -0800)]
fix bug
Michiharu Ariza [Wed, 5 Dec 2018 06:40:07 +0000 (22:40 -0800)]
fix typo
Michiharu Ariza [Wed, 5 Dec 2018 06:30:33 +0000 (22:30 -0800)]
include float.h
Michiharu Ariza [Wed, 5 Dec 2018 06:24:38 +0000 (22:24 -0800)]
check overflow & clamp
Michiharu Ariza [Wed, 5 Dec 2018 05:32:34 +0000 (21:32 -0800)]
[CFF] fix oss-fuzz issue 11670: NULL dereference (#1450)
* guard against no subr access
* code tweak
* add minimized testcase for oss-fuzz 11670 (Null deference)
Michiharu Ariza [Tue, 4 Dec 2018 22:17:03 +0000 (14:17 -0800)]
added minimized testcase for oss-fuzz issue 11657
Michiharu Ariza [Tue, 4 Dec 2018 21:51:26 +0000 (13:51 -0800)]
fix oss-fuzz 11657: buffer overrun
Check overrun in Charset1_2::get_glyph
Ebrahim Byagowi [Tue, 4 Dec 2018 20:12:13 +0000 (23:42 +0330)]
Reuse hb_aat_layout_has_* logic in coretext-aat detection logic (#1442)
Michiharu Ariza [Tue, 4 Dec 2018 19:01:26 +0000 (11:01 -0800)]
Merge branch 'master' into cff-leak
Michiharu Ariza [Tue, 4 Dec 2018 18:39:17 +0000 (10:39 -0800)]
add unlikely to error handling
Michiharu Ariza [Tue, 4 Dec 2018 18:30:35 +0000 (10:30 -0800)]
added minimized test case for oss-fuzz issue 11662
Michiharu Ariza [Tue, 4 Dec 2018 18:22:35 +0000 (10:22 -0800)]
more leak fixes
Ebrahim Byagowi [Tue, 4 Dec 2018 18:00:07 +0000 (21:30 +0330)]
Merge pull request #1444 from harfbuzz/cff-assert
removed assert, fixes https://github.com/harfbuzz/harfbuzz/issues/1443
Michiharu Ariza [Tue, 4 Dec 2018 17:58:48 +0000 (09:58 -0800)]
fix attempt for oss-fuzz 11662 leak
Michiharu Ariza [Tue, 4 Dec 2018 17:24:07 +0000 (09:24 -0800)]
removed assert
Behdad Esfahbod [Tue, 4 Dec 2018 09:14:13 +0000 (04:14 -0500)]
Merge pull request #1441 from harfbuzz/cff-doublenum
use double as CFF Number implementation
Michiharu Ariza [Tue, 4 Dec 2018 00:59:41 +0000 (16:59 -0800)]
more double changes
Michiharu Ariza [Tue, 4 Dec 2018 00:18:10 +0000 (16:18 -0800)]
added minimized test cases
Michiharu Ariza [Tue, 4 Dec 2018 00:06:58 +0000 (16:06 -0800)]
additional precision made a difference in extents test
Michiharu Ariza [Mon, 3 Dec 2018 23:32:42 +0000 (15:32 -0800)]
more double changes
Michiharu Ariza [Mon, 3 Dec 2018 22:48:46 +0000 (14:48 -0800)]
Number to use double for all types
Behdad Esfahbod [Mon, 3 Dec 2018 19:30:51 +0000 (14:30 -0500)]
Merge pull request #1439 from ebraminio/tracking
[aat] Expose hb_aat_layout_has_tracking API
Ebrahim Byagowi [Mon, 3 Dec 2018 18:34:48 +0000 (22:04 +0330)]
[aat] Expose hb_aat_layout_has_tracking API
Behdad Esfahbod [Mon, 3 Dec 2018 15:41:37 +0000 (10:41 -0500)]
[aat] Expose a couple APIs
New API:
+hb_aat_layout_has_substitution()
+hb_aat_layout_has_positioning()
Behdad Esfahbod [Sun, 2 Dec 2018 17:38:53 +0000 (12:38 -0500)]
[aat] Fix division sign fallout
Happened after
11d2f49af8f53340134c844173f4d8655b00dea3
since now nClasses is unsigned int...
Behdad Esfahbod [Sun, 2 Dec 2018 01:04:45 +0000 (20:04 -0500)]
Add casts to hb_array_t<>
Behdad Esfahbod [Sun, 2 Dec 2018 00:34:18 +0000 (19:34 -0500)]
Simplify build source list
Behdad Esfahbod [Sun, 2 Dec 2018 00:28:17 +0000 (19:28 -0500)]
Minor
Behdad Esfahbod [Sat, 1 Dec 2018 18:12:21 +0000 (13:12 -0500)]
New approach to change BigEndian casts to be int-sized
Fixes spurious warnings like:
Fixes https://github.com/harfbuzz/harfbuzz/issues/1436
Behdad Esfahbod [Sat, 1 Dec 2018 18:03:52 +0000 (13:03 -0500)]
Change hb_assert_unsigned_t<> to hb_is_signed<>
Behdad Esfahbod [Sat, 1 Dec 2018 05:14:48 +0000 (00:14 -0500)]
Revert "Change BigEndian casts to be int-sized"
This reverts commit
eb5ddd32bf4e458ca0af8d5784f8fd46485ad225.
Broke tests, badly. To be investigated and reenabled.
Behdad Esfahbod [Sat, 1 Dec 2018 05:04:29 +0000 (00:04 -0500)]
Minor
Behdad Esfahbod [Sat, 1 Dec 2018 05:03:01 +0000 (00:03 -0500)]
Change BigEndian casts to be int-sized
Fixes spurious warnings like:
Fixes https://github.com/harfbuzz/harfbuzz/issues/1436
Behdad Esfahbod [Sat, 1 Dec 2018 04:38:24 +0000 (23:38 -0500)]
Fix more warning
Behdad Esfahbod [Sat, 1 Dec 2018 04:20:50 +0000 (23:20 -0500)]
Fix warning
Behdad Esfahbod [Sat, 1 Dec 2018 04:04:59 +0000 (23:04 -0500)]
[CFF] Change spaces to tabs
Behdad Esfahbod [Sat, 1 Dec 2018 03:54:57 +0000 (22:54 -0500)]
[CFF] Whitespace
Behdad Esfahbod [Sat, 1 Dec 2018 03:54:20 +0000 (22:54 -0500)]
Minor
Behdad Esfahbod [Sat, 1 Dec 2018 03:43:22 +0000 (22:43 -0500)]
Remove generated files that were accidentally added by CFF2 branch
Behdad Esfahbod [Sat, 1 Dec 2018 03:40:54 +0000 (22:40 -0500)]
Merge pull request #1113 from harfbuzz/cff-subset
CFF/CFF2 subsetter
Bruce Mitchener [Sat, 1 Dec 2018 03:22:49 +0000 (10:22 +0700)]
Use nullptr instead of 0/NULL. (#1435)
* Use nullptr instead of 0/NULL.
* Update test-name-table.cc
Michiharu Ariza [Sat, 1 Dec 2018 02:58:14 +0000 (18:58 -0800)]
undo 0u
Michiharu Ariza [Sat, 1 Dec 2018 02:47:34 +0000 (18:47 -0800)]
Merge branch 'master' into cff-subset
Behdad Esfahbod [Sat, 1 Dec 2018 02:36:35 +0000 (21:36 -0500)]
Merge pull request #1433 from harfbuzz/overload-overload
Fix ambiguous overload errors with old compilers
Behdad Esfahbod [Sat, 1 Dec 2018 01:45:40 +0000 (20:45 -0500)]
Revert ugly fixes
Now that we have
6daf45e0, revert cryptic hacks...
This reverts commit
abd81ed4f5cbc5a94171747909bc6b77551cb929.
This reverts commit
9c6921c08c905a0cf45ba0182134e6ff910fac51.
This reverts commit
d39760cabfe4007cefdfc45231e85e93fababac2.
This reverts commit
fedd8e6c176dea85194693399e50243eb1c117c4.
Fixes https://github.com/harfbuzz/harfbuzz/issues/1374
Behdad Esfahbod [Sat, 1 Dec 2018 00:57:12 +0000 (19:57 -0500)]
Make operator [] take signed int
The built-in operator takes signed int. So, match it, such that
the built-in is never a better or equally-good match to our operator.
Fixes "ambiguous overload" errors from gcc 4.2 and VS 2008.
See https://github.com/harfbuzz/harfbuzz/issues/1374
Michiharu Ariza [Sat, 1 Dec 2018 00:59:41 +0000 (16:59 -0800)]
redo fixes
Michiharu Ariza [Sat, 1 Dec 2018 00:50:46 +0000 (16:50 -0800)]
yet another
Michiharu Ariza [Sat, 1 Dec 2018 00:31:01 +0000 (16:31 -0800)]
some more
Michiharu Ariza [Sat, 1 Dec 2018 00:07:08 +0000 (16:07 -0800)]
fix another pesky gcc error
Michiharu Ariza [Fri, 30 Nov 2018 23:15:31 +0000 (15:15 -0800)]
silence picky gcc errors
Michiharu Ariza [Fri, 30 Nov 2018 23:00:52 +0000 (15:00 -0800)]
Merge branch 'master' into cff-subset
Behdad Esfahbod [Fri, 30 Nov 2018 21:50:30 +0000 (16:50 -0500)]
One more.........
I wonder if there's something better to do about these :(.
In file included from hb-ot-color.cc:31:
hb-ot-color-cpal-table.hh: In member function 'unsigned int OT::CPAL::get_size() const':
hb-ot-color-cpal-table.hh:118: error: ISO C++ says that these are ambiguous, even though the worst conversion for the first is better than the worst conversion for the second:
Behdad Esfahbod [Fri, 30 Nov 2018 21:04:52 +0000 (16:04 -0500)]
One more....
hb-ot-vorg-table.hh:96: error: ISO C++ says that these are ambiguous, even though the worst conversion for the first is better than the worst conversion for the second:
hb-vector.hh:87: note: candidate 1: const Type& hb_vector_t<Type, PreallocedCount>::operator[](unsigned int) const [with Type = OT::VertOriginMetric, unsigned int PreallocedCount = 8u]
hb-ot-vorg-table.hh:96: note: candidate 2: operator[](const T*, int) <built-in>
Behdad Esfahbod [Fri, 30 Nov 2018 20:55:30 +0000 (15:55 -0500)]
One more...
Sigh.
hb-ot-kern-table.hh: In member function 'int OT::KernSubTableFormat3<KernSubTableHeader>::get_kerning(hb_codepoint_t, hb_codepoint_t) const':
hb-ot-kern-table.hh:59: error: ambiguous overload for 'operator[]' in 'kernValue[kernIndex[i]]'
hb-ot-kern-table.hh:59: note: candidates are: operator[](T*, int) <built-in>
hb-dsalgs.hh:574: note: Type& hb_array_t<Type>::operator[](unsigned int) const [with Type = const OT::IntType<short int, 2u>]
Behdad Esfahbod [Fri, 30 Nov 2018 20:16:57 +0000 (15:16 -0500)]
More...
hb-ot-layout-gsubgpos.hh:1707: error: ISO C++ says that these are ambiguous, even though the worst conversion for the first is better than the worst conversion for the second:
...
Behdad Esfahbod [Fri, 30 Nov 2018 17:52:21 +0000 (12:52 -0500)]
More weird fixes
In file included from hb-ot-name.cc:29:
hb-ot-name-table.hh: In member function 'unsigned int OT::name::get_size() const':
hb-ot-name-table.hh:157: error: ISO C++ says that these are ambiguous, even though the worst conversion for the first is better than the worst conversion for the second:
hb-open-type.hh:354: note: candidate 1: const Type& OT::UnsizedArrayOf<Type>::operator[](unsigned int) const [with Type = OT::NameRecord]
hb-ot-name-table.hh:157: note: candidate 2: operator[](const T*, int) <built-in>
hb-ot-name-table.hh: In member function 'void OT::name::accelerator_t::init(hb_face_t*)':
hb-ot-name-table.hh:196: error: ISO C++ says that these are ambiguous, even though the worst conversion for the first is better than the worst conversion for the second:
hb-dsalgs.hh:574: note: candidate 1: Type& hb_array_t<Type>::operator[](unsigned int) const [with Type = const OT::NameRecord]
hb-ot-name-table.hh:196: note: candidate 2: operator[](T*, int) <built-in>
hb-ot-name-table.hh:197: error: ISO C++ says that these are ambiguous, even though the worst conversion for the first is better than the worst conversion for the second:
hb-dsalgs.hh:574: note: candidate 1: Type& hb_array_t<Type>::operator[](unsigned int) const [with Type = const OT::NameRecord]
hb-ot-name-table.hh:197: note: candidate 2: operator[](T*, int) <built-in>
hb-ot-name-table.hh:198: error: ISO C++ says that these are ambiguous, even though the worst conversion for the first is better than the worst conversion for the second:
hb-dsalgs.hh:574: note: candidate 1: Type& hb_array_t<Type>::operator[](unsigned int) const [with Type = const OT::NameRecord]
hb-ot-name-table.hh:198: note: candidate 2: operator[](T*, int) <built-in>
make[4]: *** [libharfbuzz_la-hb-ot-name.lo] Error 1
make[3]: *** [all-recursive] Error 1
Behdad Esfahbod [Fri, 30 Nov 2018 16:53:30 +0000 (11:53 -0500)]
Behdad Esfahbod [Fri, 30 Nov 2018 16:51:26 +0000 (11:51 -0500)]
Umm. Cryptic, yes
In file included from hb-face.cc:35:
hb-ot-cmap-table.hh: In member function 'void OT::CmapSubtableFormat4::_compiles_assertion_on_line_388() const':
hb-ot-cmap-table.hh:388: error: ISO C++ says that these are ambiguous, even though the worst conversion for the first is better than the worst conversion for the second:
hb-open-type.hh:354: note: candidate 1: const Type& OT::UnsizedArrayOf<Type>::operator[](unsigned int) const [with Type = OT::IntType<short unsigned int, 2u>]
hb-ot-cmap-table.hh:388: note: candidate 2: operator[](const T*, int) <built-in>
hb-ot-cmap-table.hh: In member function 'void OT::CmapSubtableFormat4::_instance_assertion_on_line_388() const':
hb-ot-cmap-table.hh:388: error: ISO C++ says that these are ambiguous, even though the worst conversion for the first is better than the worst conversion for the second:
hb-open-type.hh:354: note: candidate 1: const Type& OT::UnsizedArrayOf<Type>::operator[](unsigned int) const [with Type = OT::IntType<short unsigned int, 2u>]
hb-ot-cmap-table.hh:388: note: candidate 2: operator[](const T*, int) <built-in>
hb-face.cc: In function 'hb_blob_t* _hb_face_builder_data_reference_blob(hb_face_builder_data_t*)':
hb-face.cc:650: error: ISO C++ says that these are ambiguous, even though the worst conversion for the first is better than the worst conversion for the second:
hb-vector.hh:81: note: candidate 1: Type& hb_vector_t<Type, PreallocedCount>::operator[](unsigned int) [with Type = hb_face_builder_data_t::table_entry_t, unsigned int PreallocedCount = 32u]
hb-face.cc:650: note: candidate 2: operator[](T*, int) <built-in>
hb-face.cc:650: error: ISO C++ says that these are ambiguous, even though the worst conversion for the first is better than the worst conversion for the second:
hb-vector.hh:81: note: candidate 1: Type& hb_vector_t<Type, PreallocedCount>::operator[](unsigned int) [with Type = hb_face_builder_data_t::table_entry_t, unsigned int PreallocedCount = 32u]
hb-face.cc:650: note: candidate 2: operator[](const T*, int) <built-in>
hb-face.cc:651: error: ISO C++ says that these are ambiguous, even though the worst conversion for the first is better than the worst conversion for the second:
hb-vector.hh:81: note: candidate 1: Type& hb_vector_t<Type, PreallocedCount>::operator[](unsigned int) [with Type = hb_face_builder_data_t::table_entry_t, unsigned int PreallocedCount = 32u]
hb-face.cc:651: note: candidate 2: operator[](T*, int) <built-in>
hb-face.cc:651: error: ISO C++ says that these are ambiguous, even though the worst conversion for the first is better than the worst conversion for the second:
hb-vector.hh:81: note: candidate 1: Type& hb_vector_t<Type, PreallocedCount>::operator[](unsigned int) [with Type = hb_face_builder_data_t::table_entry_t, unsigned int PreallocedCount = 32u]
hb-face.cc:651: note: candidate 2: operator[](const T*, int) <built-in>
Behdad Esfahbod [Fri, 30 Nov 2018 16:51:26 +0000 (11:51 -0500)]
Umm. Cryptic, yes
hb-face.cc:650: error: ISO C++ says that these are ambiguous, even though the worst conversion for the first is better than the worst conversion for the second:
hb-vector.hh:81: note: candidate 1: Type& hb_vector_t<Type, PreallocedCount>::operator[](unsigned int) [with Type = hb_face_builder_data_t::table_entry_t, unsigned int PreallocedCount = 32u]
hb-face.cc:650: note: candidate 2: operator[](T*, int) <built-in>
Behdad Esfahbod [Fri, 30 Nov 2018 16:31:39 +0000 (11:31 -0500)]
Fix a few more sizeof(vector[0]) errors with weird compilers
Behdad Esfahbod [Fri, 30 Nov 2018 06:11:04 +0000 (01:11 -0500)]
Fix build for realz
Behdad Esfahbod [Fri, 30 Nov 2018 05:44:40 +0000 (00:44 -0500)]
Fix build
Behdad Esfahbod [Fri, 30 Nov 2018 05:38:08 +0000 (00:38 -0500)]
[post] Rename v2 to v2X
Behdad Esfahbod [Fri, 30 Nov 2018 05:32:12 +0000 (00:32 -0500)]
Move things
Behdad Esfahbod [Thu, 29 Nov 2018 21:29:30 +0000 (16:29 -0500)]
Fix build for realz
Behdad Esfahbod [Thu, 29 Nov 2018 21:03:15 +0000 (16:03 -0500)]
[uniscribe] Fix build
Ebrahim Byagowi [Thu, 29 Nov 2018 20:36:40 +0000 (00:06 +0330)]
[test][aat] Remove extra --shaper ot
As run-tests.py already adds it
Ebrahim Byagowi [Thu, 29 Nov 2018 20:27:50 +0000 (23:57 +0330)]
[ci] Re-enable llvm-gcc-4.2 bots (#1429)
Ebrahim Byagowi [Thu, 29 Nov 2018 20:17:20 +0000 (23:47 +0330)]
Limit __builtin_bswap16 to GCC >= 5 as it was implemented on 4.8
Behdad Esfahbod [Thu, 29 Nov 2018 20:07:44 +0000 (15:07 -0500)]
[coretext] Fix compile
Fingers crossed.
Behdad Esfahbod [Thu, 29 Nov 2018 20:04:34 +0000 (15:04 -0500)]
Convert "static const hb_tag_t" constants to enum
Behdad Esfahbod [Thu, 29 Nov 2018 20:01:10 +0000 (15:01 -0500)]
Convert misc "static const" constants to enum
Behdad Esfahbod [Thu, 29 Nov 2018 19:53:43 +0000 (14:53 -0500)]
Convert "static const bool" constants to anonymous enum
Behdad Esfahbod [Thu, 29 Nov 2018 19:34:44 +0000 (14:34 -0500)]
[vector] Make pointer cast explicit
Too bad this doesn't help MSVC 2008 build, as explicit operators are
C++11.
Behdad Esfahbod [Thu, 29 Nov 2018 19:28:44 +0000 (14:28 -0500)]
Hand-hold older compilers
Behdad Esfahbod [Thu, 29 Nov 2018 17:39:52 +0000 (12:39 -0500)]
[test/text-rendering-tests] Update from upstream
Behdad Esfahbod [Thu, 29 Nov 2018 17:32:47 +0000 (12:32 -0500)]
Make shaper's override_features() override user features as well
The override_features is used to override features that are normally
discretionary features, but in a specific shaper are for various
reasons desired to be bolted on or off, because they've been used
for inherent shaping. As such, it makes sense that they also
override user features. Ie. if user turned 'liga' on, we don't
want Khmer shaping to become broken... Or turn 'clig' off...
Fixes https://github.com/harfbuzz/harfbuzz/issues/1310
Behdad Esfahbod [Thu, 29 Nov 2018 17:30:14 +0000 (12:30 -0500)]
[khmer] Move 'clig' to overrides
Prerequisite for https://github.com/harfbuzz/harfbuzz/issues/1310
Behdad Esfahbod [Thu, 29 Nov 2018 17:18:14 +0000 (12:18 -0500)]
Fix "typename outside template" issues
Nothing an extra template class wouldn't fix...
Fixes https://github.com/harfbuzz/harfbuzz/issues/1419
Behdad Esfahbod [Thu, 29 Nov 2018 16:53:53 +0000 (11:53 -0500)]
2.2.0
Behdad Esfahbod [Thu, 29 Nov 2018 16:34:22 +0000 (11:34 -0500)]
[icu] Minor
Behdad Esfahbod [Thu, 29 Nov 2018 15:39:18 +0000 (10:39 -0500)]
Merge pull request #1418 from gvictor/replace_icu_deprecated
Replace @Deprecated ICU API - USCRIPT_CODE_LIMIT
Ebrahim Byagowi [Thu, 29 Nov 2018 08:06:05 +0000 (11:36 +0330)]
[test][aat.kern] More (#1427)
Michiharu Ariza [Thu, 29 Nov 2018 01:06:11 +0000 (17:06 -0800)]
workaround for issue #1417
Michiharu Ariza [Thu, 29 Nov 2018 00:27:45 +0000 (16:27 -0800)]
Merge branch 'master' into cff-subset
Behdad Esfahbod [Wed, 28 Nov 2018 22:21:57 +0000 (17:21 -0500)]
Merge pull request #1425 from mbutterick/patch-1
update simple shaping example (closes #298)
Matthew Butterick [Wed, 28 Nov 2018 21:46:12 +0000 (13:46 -0800)]
update simple shaping example (closes #298)
add call to `FT_Set_Char_Size`, otherwise default size remains at `0`, and glyph positions come back as `0` too
Ebrahim Byagowi [Wed, 28 Nov 2018 21:25:05 +0000 (00:55 +0330)]
[test][aat] Update expectency
It is not visually noticeable but apparently affected by kern format2 correct implementation.
I should've checked CoreText result which can't as CircleCI outage.