Commit Graph

6178 Commits

Author SHA1 Message Date
Michiharu Ariza b2ff582c8c Implemented hb_subset_cff2
Added serialize functions to CFF2 structs
Fixed issues & bugs & code cleanup
Now subsetting CFF2 table outputs something
2018-08-01 11:30:38 -07:00
Michiharu Ariza 8782f80cce fixed FDSelect0::sanitize 2018-07-30 15:27:20 -07:00
Michiharu Ariza 9c4cadaef0 Added sanitize functions & calls
Added sanitize functions to FDSelect
Added satnitize calls for FDSelect, VariationStore, FDArray, TopDict
2018-07-30 14:28:40 -07:00
Michiharu Ariza 161b642ec5 Merge branch 'master' into cff-subset 2018-07-30 12:22:09 -07:00
Garret Rieger 5edf454aa6 [subset] During lookup collection remember the features we've already processed. 2018-07-27 17:29:00 -07:00
Behdad Esfahbod 42c183f803 Minor 2018-07-27 14:55:29 -07:00
Behdad Esfahbod ecab6604e5 [serialize] Allocate for markFilteringSet 2018-07-27 14:54:15 -07:00
Behdad Esfahbod 7f08818c44 Minor 2018-07-27 14:54:15 -07:00
prrace 2e25d8f491 Fix unlikely leaks 2018-07-27 14:54:08 -07:00
Behdad Esfahbod 3c2842cbcf Add hb-iter-private.hh
Unused so far.
2018-07-25 17:07:17 -07:00
Behdad Esfahbod 92b1e025c6 Move some code from hb-open-type-private.hh to hb-machinery-private.hh 2018-07-25 16:58:47 -07:00
Behdad Esfahbod 6b11fea997 [closure] Allocate out set on the stack 2018-07-25 16:01:37 -07:00
Behdad Esfahbod 74467b7901 Fix compile 2018-07-25 14:30:07 -07:00
Behdad Esfahbod bf90f35302 [coretext] Add note 2018-07-25 13:57:24 -07:00
Garret Rieger fb58cb4b5c [subset] Only used reachable lookups for gsub closure. 2018-07-25 13:56:58 -07:00
Behdad Esfahbod c38bd4025f [closure] Separate in and out glyphs
Fixes https://github.com/harfbuzz/harfbuzz/issues/1107
2018-07-24 13:47:32 -07:00
Garret Rieger 85646fdadb [subset] Limit the iterations of the closure algorithm.
Prevents O(n^2) run times.
2018-07-23 16:01:57 -07:00
Behdad Esfahbod 94759d4cf8 Fix visibility on mingw32
Should fix bots again.
2018-07-23 15:08:32 -07:00
Behdad Esfahbod 61eddbd8ef Fix infinite loop in loading num_glyphs within sanitizer 2018-07-23 14:44:10 -07:00
Behdad Esfahbod e22a48ac95 One more visibility trick
Should fix Windows build again.
2018-07-23 13:24:26 -07:00
Behdad Esfahbod e57a638bde One more 2018-07-23 12:00:02 -07:00
Behdad Esfahbod 36ed163fdd Remove unnecessary OT:: namespace specifiers 2018-07-23 11:57:45 -07:00
Behdad Esfahbod c6bc7c3831 Set num glyphs on sanitizer reference_table()
Move out-of-class definitions of two methods to hb-static so they
are accessible in libharfbuzz-subset.
2018-07-23 11:46:46 -07:00
Behdad Esfahbod 9401829d4e Remove Sanitizer<> 2018-07-22 22:50:58 -07:00
Behdad Esfahbod 8e3e41272b Port rest of code away from Sanitizer<> 2018-07-22 22:49:26 -07:00
Behdad Esfahbod d6a8f64045 Port dump-emoji away from Sanitizer<> 2018-07-22 22:47:19 -07:00
Behdad Esfahbod 14f78d2b3b . 2018-07-22 22:45:26 -07:00
Behdad Esfahbod 4547051f48 Minor 2018-07-22 22:44:22 -07:00
Behdad Esfahbod 740ae27d5c Port sbix off of Sanitizer<> 2018-07-22 22:43:25 -07:00
Behdad Esfahbod 9583e0077d Port more off of Sanitizer<> 2018-07-22 22:43:25 -07:00
Behdad Esfahbod e7737b41d7 Add sanitizer reference_table, also fix clang build
Clang is being really peculiar.  Fix with:

-  inline hb_blob_t *sanitize (hb_blob_t *blob) { return c->sanitize<Type> (blob); }
+  inline hb_blob_t *sanitize (hb_blob_t *blob) { return c[0].template/*clang idiosyncrasy*/sanitize_blob<Type> (blob); }
2018-07-22 22:24:31 -07:00
David Corbett 62fa7cd1cc Order Chakma split vowels in accordance with NFC
Fixes #1105.
2018-07-22 19:47:21 -07:00
Ebrahim Byagowi 0c1b287b72
Add a new API, hb_ot_layout_get_feature_name_ids (#976)
This new API returns cvXX and ssXX related NameId, things like
featUiLabelNameId, featUiTooltipTextNameId, sampleTextNameId, ... of cvXX
and UINameId of ssXX, in a unified way.

However HarfBuzz currently doesn't expose an API for retrieving the actual
information associated with NameId from the `name` table and that should be
done separately.
2018-07-21 21:14:48 +04:30
Michiharu Ariza 3a61c3e935 first push of CFF/CFF2 work
Index, Dict structs
hooked up to hb-subset (takes CFF2, outputs empty CFF2)
2018-07-18 14:17:52 -07:00
Ebrahim Byagowi 93b65d9fe3
Remove dump-fon (#1100)
It had interesting stuffs like EXE parsing and
big-endian parsers but added in an attempt to find
a solution for #681 which later found not related.
2018-07-17 23:29:16 +04:30
Ebrahim Byagowi d5cd47a69c
Remove AAT's gcid/fmtx (#1099)
We are not going to use them, at least in the foreseeable future
2018-07-17 22:32:37 +04:30
Behdad Esfahbod 1e9e344b2b Fix hb_face_count() sanitize referencing 2018-07-17 19:17:59 +02:00
Behdad Esfahbod a8cc0b5907 Remove TODO that is not gonna be done
Previously the idea was to cache sanitize results externally (think,
in Fontconfig) and avoid resanitizing every time.  That's, not a good
idea.
2018-07-17 19:09:03 +02:00
Behdad Esfahbod be70738400 Move sanitizer code around a bit 2018-07-17 18:51:59 +02:00
Behdad Esfahbod db5d430eff [aat] Update for blob changes
Also, uncomment code again, just "if (0)" it out, so it doesn't get stale again.
2018-07-17 18:14:45 +02:00
Behdad Esfahbod 68310a65cb 1.8.4 2018-07-17 13:20:40 +02:00
Behdad Esfahbod 04b7b81bcb Reland "Implement C++11-style GCC builtin atomic ops"
Fixed the crasher in it.
2018-07-17 11:02:38 +02:00
Behdad Esfahbod 019d18e9ae Minor 2018-07-17 11:00:24 +02:00
Behdad Esfahbod 3edef5a19b Revert "Implement C++11-style GCC builtin atomic ops"
This reverts commit 21fa170f0b.

Is crashing.  Oops.
2018-07-17 10:50:01 +02:00
Behdad Esfahbod 21fa170f0b Implement C++11-style GCC builtin atomic ops
Hopefully fixes bots.
2018-07-16 17:58:02 +02:00
Behdad Esfahbod 804b59cf49 Relax C++11 atomic ops memory order to acquire-release 2018-07-16 15:45:22 +02:00
Behdad Esfahbod bda242409f Implement C++11 <atomic> operations
Fixes https://github.com/harfbuzz/harfbuzz/issues/345
2018-07-16 15:45:22 +02:00
Cosimo Lupo 5244112240
Merge pull request #1094 from anthrotype/fix-appveyor-msys2
appveyor.yml: try updating msys2 to fix failing mingw-w64-x86_64 build
2018-07-16 14:42:43 +02:00
Cosimo Lupo 269eb45650
appveyor.yml: try only updating msys2 core, not the rest of the packages
maybe it'll get a bit faster
2018-07-16 14:14:42 +02:00
Cosimo Lupo 3ab52c6cb5
appveyor.yml: pass --needed option to pacman
so it won't attempt reinstalling packages which are already installed
2018-07-16 12:57:27 +02:00