Commit Graph

5822 Commits

Author SHA1 Message Date
Behdad Esfahbod 252632c477 [uniscribe] Fix use of deprecated API 2018-11-05 14:33:41 -05:00
Behdad Esfahbod bb380ec183 [cmap] Make null accelerator safe
Fixes https://github.com/harfbuzz/harfbuzz/issues/1146
2018-11-05 13:47:30 -05:00
Behdad Esfahbod f6fc5574d3 Add pointer magic operators to hb_atomic_ptr_t 2018-11-05 13:23:54 -05:00
Behdad Esfahbod f6e7cb51b1 Fix const-confusion in hb_array_t as well 2018-11-05 13:23:07 -05:00
Behdad Esfahbod 0da22fb0ad [null] Tweak hb_nonnull_ptr_t some more 2018-11-05 13:20:06 -05:00
Behdad Esfahbod 03348ce005 Minor 2018-11-05 12:59:32 -05:00
Behdad Esfahbod b605db2f65 [aat] Clean up ankr table include mess 2018-11-04 12:58:02 -05:00
Behdad Esfahbod 17335a8161 Clean up buffer->swap_buffers() calls
That function checks for buffer->successful already.  No need
to check at call site.
2018-11-04 02:25:07 -05:00
Behdad Esfahbod 4eb52460c8 Fix >> 2018-11-03 21:45:39 -04:00
Behdad Esfahbod ae9ad1076e Fix "Warning: extra ";" ignored." 2018-11-03 21:41:50 -04:00
Behdad Esfahbod d0163afb7b Revert "Add operator char * to the naked array types as well"
This reverts commit db889c182e.

Was resulting in ambigious overloads...
2018-11-03 21:38:30 -04:00
Behdad Esfahbod c8f94a1ca6 Minor 2018-11-03 21:08:13 -04:00
Behdad Esfahbod 0b0b38ec1e Fix null accelerator's
Fixes all except for cmap.  To be done separately.

Part of https://github.com/harfbuzz/harfbuzz/issues/1146
2018-11-03 16:16:31 -04:00
Behdad Esfahbod db889c182e Add operator char * to the naked array types as well 2018-11-03 16:04:19 -04:00
Behdad Esfahbod d6fdae310f Add operator char * to hb_nonnull_ptr_t 2018-11-03 16:02:03 -04:00
Behdad Esfahbod 7430ff604a Template casts in hb_nonnull_ptr_t 2018-11-03 15:59:13 -04:00
Behdad Esfahbod da408fce98 [blob] Allow null parent in create_sub_blob()
Like font and unicode.
2018-11-03 15:49:37 -04:00
Behdad Esfahbod fb0f30f55a Add hb_nonnull_ptr_t
Towards fixing https://github.com/harfbuzz/harfbuzz/issues/1146
2018-11-03 15:41:32 -04:00
Behdad Esfahbod 8d98c51d13 [kern] Third try fix access violation in Format3
Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=11245
2018-11-03 15:14:57 -04:00
Behdad Esfahbod f074da8c2b [kern] Really fix access violation in Format3
Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=11245
2018-11-03 15:07:39 -04:00
Behdad Esfahbod 93ef20a83b Replace most uses of is_inert with is_immutable 2018-11-03 15:03:06 -04:00
Behdad Esfahbod 0589787ff5 [kern] Fix access violation in Format3
Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=11245
2018-11-03 14:59:40 -04:00
Behdad Esfahbod 5570c87f21 Port objects to use header.writable instead of immutable
Saves 4 or 8 bytes per object on 64bit archs.
2018-11-03 14:59:40 -04:00
Behdad Esfahbod ee351a38ec [object] Add "writable" 2018-11-03 14:59:40 -04:00
Ebrahim Byagowi b8a78ce201
[BASE] Improvements (#1347) 2018-11-03 22:28:30 +03:30
Khaled Hosny 2c68f34bdd [os2] Capitalize table tag and struct
Other tables follow the case of the OT tag, except this one.
2018-11-02 17:17:54 -04:00
Behdad Esfahbod 8034d1dda0 [kern] Implement Format1
Also, implement backwards kerning for Format1 in kern and kerx.

Fixes https://github.com/harfbuzz/harfbuzz/issues/1350
2018-11-02 14:48:04 -04:00
Behdad Esfahbod 46b3885c1a [kern] Set subtable on sanitizer 2018-11-02 14:43:38 -04:00
Behdad Esfahbod 74c7a2c6c8 [kern] Respect more flags 2018-11-02 14:26:04 -04:00
Behdad Esfahbod 9f880bad0d [kern] Minor
We like check_struct() more.
2018-11-02 13:57:41 -04:00
Behdad Esfahbod 04b82b181d Remove pointer cast operators from ArrayOf<>
ArrayOf<>, unlike UnsizedArrayOf<>, has data before the array.
This was confusing.  Remove.
2018-11-02 13:47:33 -04:00
Behdad Esfahbod f1df441bed [kern] Comment 2018-11-02 13:26:15 -04:00
Behdad Esfahbod 095f5add0b [kern] Push apply loop to each subtable 2018-11-02 13:23:54 -04:00
Behdad Esfahbod 949dad89a8 [kern] Remove accelerator
It wasn't doing anything.
2018-11-02 12:47:55 -04:00
Behdad Esfahbod 0382b7184a Use as_array in more places 2018-11-02 12:23:26 -04:00
Behdad Esfahbod 91de9dfcf3 Fix &array_of<> 2018-11-02 12:16:51 -04:00
Behdad Esfahbod 9b7cb13794 Fixup 2018-11-02 12:00:55 -04:00
Behdad Esfahbod 6e06fe162e [kern] Implement Format3
Untested.
2018-11-02 11:56:55 -04:00
Behdad Esfahbod c6ef5dbd5c Add cast operators to hb_array_t 2018-11-02 11:51:21 -04:00
Behdad Esfahbod 72462eb765 Add UnsizedArrayOf::as_array() instead of hb_array() template 2018-11-02 11:46:42 -04:00
Behdad Esfahbod 1cf075ecb6 Add get_size to UnsizedArrayOf 2018-11-02 11:38:00 -04:00
Behdad Esfahbod a4a7a62389 [kern] Add buffer message 2018-11-02 11:16:43 -04:00
Behdad Esfahbod de96e5c81c [Crap] Avoid operator= 2018-11-01 18:14:41 -04:00
Behdad Esfahbod f9353bd68c [aat] Rely on vector auto initialization 2018-11-01 18:05:22 -04:00
Behdad Esfahbod 5a18d97b35 [aat] Remove unused forward declaration 2018-11-01 18:01:26 -04:00
Behdad Esfahbod 07ec792212 Warning fix 2018-11-01 10:31:19 -04:00
Ebrahim Byagowi c32280b30f
[ot-layout] minor 2018-11-01 15:31:14 +03:30
Behdad Esfahbod 52a00cd87f [aat] Implement 'aalt' mapping
Fixes https://github.com/harfbuzz/harfbuzz/issues/1160
2018-10-31 19:06:08 -07:00
Behdad Esfahbod 6e3ea269fa [aat] Add 'afrc' feature mapping
https://github.com/harfbuzz/harfbuzz/issues/1342#issuecomment-434829028
2018-10-31 19:00:11 -07:00
Behdad Esfahbod 40b19fd469 [aat] Fallback to old style "Letter Case" small caps
Fixes https://github.com/harfbuzz/harfbuzz/issues/1342
2018-10-31 18:51:45 -07:00
Behdad Esfahbod cf203af8a3 Implement space fallback in vertical direction
Fixes https://github.com/harfbuzz/harfbuzz/issues/1343
2018-10-31 18:27:09 -07:00
Behdad Esfahbod e01250230b [hmtx/vmtx] Fix a crasher 2018-10-31 18:14:00 -07:00
Behdad Esfahbod 36e90ef56e [mort] Massage some more 2018-10-31 15:09:09 -07:00
Behdad Esfahbod cbaff4ef19 [mort] Some more 2018-10-31 15:06:12 -07:00
Behdad Esfahbod 3087046d31 [mort] Refactor offset-to-index mapping 2018-10-31 14:59:14 -07:00
Behdad Esfahbod b9db610add Minor 2018-10-31 14:22:31 -07:00
Behdad Esfahbod 995bf6c6f8 [sbix] Rely on blob->as<> checking size against Type::min_size 2018-10-31 13:21:33 -07:00
Behdad Esfahbod 4d4e526b5c Improve blob->as<>
It's true that blob->as<> should only be called on null or sanitized
data.  But this change is safe, so keep it.
2018-10-31 13:19:42 -07:00
Behdad Esfahbod 5854d3fa25 [set] Warning fix with gcc 8.1
https://github.com/harfbuzz/harfbuzz/pull/1334
2018-10-31 10:42:49 -07:00
Ebrahim Byagowi 850a7af3a4
[ot-color-test] Remove the non-working exact strike size storing (#1339) 2018-10-31 14:20:23 +03:30
Ebrahim Byagowi 2e639c47c9
[aat] Fix older compilers by not referencing enum directly (#1340) 2018-10-31 14:20:14 +03:30
Ebrahim Byagowi 642c9dcf1b
[aat] Minor, remove extra semicolons 2018-10-31 14:02:37 +03:30
Behdad Esfahbod c962d5e714 [mort] Make ligatures work
./hb-shape Apple_Chancery_10_12.ttf  "Th th ll te to tr fr fu fj"
[T_h=0+2308|space=2+569|t_h=3+1687|space=5+569|l_l=6+1108|space=8+569|t_e=9+1408|space=11+569|t_o=12+1531|space=14+569|t_r=15+1385|space=17+569|f_r=18+1432|space=20+569|f_u=21+1733|space=23+569|f_j=24+1098]

Part of https://github.com/harfbuzz/harfbuzz/issues/1331
2018-10-31 01:18:21 -07:00
Behdad Esfahbod c077989600 [mort] More Ligature work 2018-10-31 00:36:03 -07:00
Behdad Esfahbod 431c6e496b [mort] Some Ligature work 2018-10-31 00:15:00 -07:00
Behdad Esfahbod 28b68cffe4 [mort] Implement / adjust Contextual substitution 2018-10-30 23:54:29 -07:00
Behdad Esfahbod 11dbf0f129 [mort] More fixes] 2018-10-30 21:49:59 -07:00
Behdad Esfahbod e1552af95b [maxp] Minor 2018-10-30 21:09:05 -07:00
Behdad Esfahbod 0cf282a32e [mort] Grind some more 2018-10-30 20:52:12 -07:00
Behdad Esfahbod 90667b31bc [mort] Hook up more 2018-10-30 20:15:28 -07:00
Behdad Esfahbod 9346b1f158 [morx] Remove stale comment 2018-10-30 20:04:13 -07:00
Behdad Esfahbod f864ef215e [mort] More massaging towards mort 2018-10-30 19:42:21 -07:00
Behdad Esfahbod 2d9467340b [mort] Fix version check in sanitize 2018-10-30 19:33:42 -07:00
Behdad Esfahbod c2527a1bc2 [mort] Make it compile / hook it up
Untested.
2018-10-30 19:26:39 -07:00
Behdad Esfahbod 933babdc07 [mort] Fixup on previous commit 2018-10-30 19:22:43 -07:00
Ebrahim Byagowi b053cabacd [mort] Bring back mort generalizations
Started by reverting https://github.com/harfbuzz/harfbuzz/commit/1f1c85a5

Just a starting point, if we agree even mort can come back.
2018-10-30 19:18:06 -07:00
Behdad Esfahbod 5cd544a621 Fix build
Fixes https://github.com/harfbuzz/harfbuzz/issues/1338
2018-10-30 19:16:00 -07:00
Behdad Esfahbod 1019391046 2.1.0 2018-10-30 15:52:26 -07:00
Behdad Esfahbod bfd549daaa Fix everything-bot 2018-10-30 14:47:27 -07:00
Garret Rieger 0e1ad5a075 [subset] Limit the number of scripts and langsys' that should be checked when collecting features. 2018-10-30 14:15:58 -07:00
Behdad Esfahbod a7aba99baa [name] Rename hb_name_id_t to hb_ot_name_id_t
https://github.com/harfbuzz/harfbuzz/pull/1254
2018-10-30 14:04:09 -07:00
Simon Tooke 881e1054bc fix various GCC function pointer warnings 2018-10-30 13:17:54 -07:00
Behdad Esfahbod dc9bd29fea [CBDT] Implement Format18 get_extens
Part of https://github.com/harfbuzz/harfbuzz/issues/1327
2018-10-30 13:16:07 -07:00
Behdad Esfahbod a2a7422aaf [CBDT] Bound checks in reference_png 2018-10-30 13:14:56 -07:00
Khaled Hosny 0af3d176a6 [sbix] Fix memory leak in early return
Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=11210
2018-10-30 17:05:28 +02:00
Behdad Esfahbod 138f9e0f25 Minor 2018-10-30 01:31:13 -07:00
Ebrahim Byagowi f7a08cd41d
Fix extra semicolon issues and test that on CI (#1330) 2018-10-30 11:29:09 +03:30
Behdad Esfahbod 7e998d193a Fix spurious warning re uninitialized use 2018-10-30 00:52:22 -07:00
Behdad Esfahbod b186274362 [set/map] Fix uninitialized memory
I keep forgetting that primitive types are NOT initialized during construction. :|
2018-10-29 23:21:14 -07:00
Behdad Esfahbod 4ef671f25f [unicode] Fix a long-standing double-declaration warning 2018-10-29 22:46:19 -07:00
Behdad Esfahbod 166ae8b0aa Remove now unused hb_auto_t<> 2018-10-29 22:40:37 -07:00
Behdad Esfahbod 56e0fd345c Remove last use of hb_auto_t<> 2018-10-29 22:35:44 -07:00
Behdad Esfahbod ca5e5a4979 Port Coverage::Iter off hb_auto_t<> 2018-10-29 22:30:21 -07:00
Behdad Esfahbod 3a4e5dd425 Remove a few unnecessary hb_auto_t<>'s
See a85641446c30247c4e948263f0f8c1147ed4efb9
2018-10-29 22:27:20 -07:00
Behdad Esfahbod 67a22f377d [set/map/vector] Make constructable, but not copy or assignable
Disable copy/assign on them, as they shouldn't.

Make constructor / destructor call init_shallow/fini_shallow,
and make those idempotent.  So, these three can be constructed
on stack now and no init/fini call is needed.  As such,
hb_auto_t<> is not needed anymore.  I'll remove that separately.
2018-10-29 22:23:22 -07:00
Behdad Esfahbod ea0e51d1b1 Add HB_NO_CREATE_COPY_ASSIGN 2018-10-29 16:00:23 -07:00
Behdad Esfahbod 5b563640b2 Remove HB_DISALLOW_COPY_AND_ASSIGN from hb_ot_shape_planner_t
It was arbitrary that this struct had it and not dozens of others.
2018-10-29 15:58:44 -07:00
Behdad Esfahbod 14b353c185 One more iteration 2018-10-29 15:29:13 -07:00
Behdad Esfahbod c7c5df9ffd Try fixing older bots
Older C++ doesn't allow struct-with-constructor in union.
2018-10-29 15:16:52 -07:00
Behdad Esfahbod be87959a67 [cmap] Minor 2018-10-29 15:16:38 -07:00