Log

Author Commit Date CI Message
Behdad Esfahbod 74467b79 2018-07-25T14:30:07 Fix compile
Behdad Esfahbod bf90f353 2018-07-24T18:00:14 [coretext] Add note
Garret Rieger fb58cb4b 2018-07-25T13:39:17 [subset] Only used reachable lookups for gsub closure.
Behdad Esfahbod c38bd402 2018-07-24T09:43:27 [closure] Separate in and out glyphs Fixes https://github.com/harfbuzz/harfbuzz/issues/1107
Garret Rieger 85646fda 2018-07-23T15:37:18 [subset] Limit the iterations of the closure algorithm. Prevents O(n^2) run times.
Behdad Esfahbod 94759d4c 2018-07-23T15:01:39 Fix visibility on mingw32 Should fix bots again.
Behdad Esfahbod 61eddbd8 2018-07-23T14:44:10 Fix infinite loop in loading num_glyphs within sanitizer
Behdad Esfahbod e22a48ac 2018-07-23T13:24:26 One more visibility trick Should fix Windows build again.
Behdad Esfahbod e57a638b 2018-07-23T12:00:02 One more
Behdad Esfahbod 36ed163f 2018-07-23T11:57:45 Remove unnecessary OT:: namespace specifiers
Behdad Esfahbod c6bc7c38 2018-07-23T11:46:46 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.
Behdad Esfahbod 9401829d 2018-07-22T22:50:58 Remove Sanitizer<>
Behdad Esfahbod 8e3e4127 2018-07-22T22:49:26 Port rest of code away from Sanitizer<>
Behdad Esfahbod d6a8f640 2018-07-22T22:47:19 Port dump-emoji away from Sanitizer<>
Behdad Esfahbod 14f78d2b 2018-07-22T22:45:26 .
Behdad Esfahbod 4547051f 2018-07-22T22:44:22 Minor
Behdad Esfahbod 740ae27d 2018-07-22T22:40:56 Port sbix off of Sanitizer<>
Behdad Esfahbod 9583e007 2018-07-22T22:40:32 Port more off of Sanitizer<>
Behdad Esfahbod e7737b41 2018-07-22T22:24:31 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); }
David Corbett 62fa7cd1 2018-04-13T18:45:37 Order Chakma split vowels in accordance with NFC Fixes #1105.
Ebrahim Byagowi 0c1b287b 2018-07-21T21:14:48 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.
Ebrahim Byagowi 93b65d9f 2018-07-17T23:29:16 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.
Ebrahim Byagowi d5cd47a6 2018-07-17T22:32:37 Remove AAT's gcid/fmtx (#1099) We are not going to use them, at least in the foreseeable future
Behdad Esfahbod 1e9e344b 2018-07-17T19:17:59 Fix hb_face_count() sanitize referencing
Behdad Esfahbod a8cc0b59 2018-07-17T19:09:03 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.
Behdad Esfahbod be707384 2018-07-17T18:45:25 Move sanitizer code around a bit
Behdad Esfahbod db5d430e 2018-07-17T18:14:45 [aat] Update for blob changes Also, uncomment code again, just "if (0)" it out, so it doesn't get stale again.
Behdad Esfahbod 68310a65 2018-07-17T13:20:40 1.8.4
Behdad Esfahbod 04b7b81b 2018-07-17T10:57:01 Reland "Implement C++11-style GCC builtin atomic ops" Fixed the crasher in it.
Behdad Esfahbod 019d18e9 2018-07-17T10:59:19 Minor
Behdad Esfahbod 3edef5a1 2018-07-17T10:50:01 Revert "Implement C++11-style GCC builtin atomic ops" This reverts commit 21fa170f0bfb0109c506ed17f5aff8b062564ffa. Is crashing. Oops.
Behdad Esfahbod 21fa170f 2018-07-16T17:58:02 Implement C++11-style GCC builtin atomic ops Hopefully fixes bots.
Behdad Esfahbod 804b59cf 2018-07-16T15:44:58 Relax C++11 atomic ops memory order to acquire-release
Behdad Esfahbod bda24240 2018-07-16T15:41:09 Implement C++11 <atomic> operations Fixes https://github.com/harfbuzz/harfbuzz/issues/345
Cosimo Lupo 52441122 2018-07-16T14:42:43 Merge pull request #1094 from anthrotype/fix-appveyor-msys2 appveyor.yml: try updating msys2 to fix failing mingw-w64-x86_64 build
Cosimo Lupo 269eb456 2018-07-16T14:14:42 appveyor.yml: try only updating msys2 core, not the rest of the packages maybe it'll get a bit faster
Cosimo Lupo 3ab52c6c 2018-07-16T12:57:27 appveyor.yml: pass --needed option to pacman so it won't attempt reinstalling packages which are already installed
Cosimo Lupo 5631d70d 2018-07-16T12:41:59 appveyor.yml: try updating msys2 to fix failing mingw-w64-x86_64 build https://github.com/harfbuzz/harfbuzz/pull/1093#issuecomment-405201903 https://ci.appveyor.com/project/harfbuzz/harfbuzz/build/job/ky7lao1ii1bi7ew4#L71
Behdad Esfahbod 2aae617a 2018-07-11T17:27:23 Move _hb_alignof later again It uses constexpr...
Behdad Esfahbod f3a74c16 2018-07-11T17:23:53 Make hb_vector_t 8 bytes smaller
Behdad Esfahbod 44999f8b 2018-07-11T17:00:59 Align NullPool and CrapPool to HB_VECTOR_SIZE
Behdad Esfahbod 20a318d0 2018-07-11T17:00:13 Fix return type of alignof() fallback
Behdad Esfahbod 58cb4d9f 2018-07-11T16:44:21 Minor
Behdad Esfahbod 7796857c 2018-07-11T15:27:37 Minor
Behdad Esfahbod 2b76767b 2018-07-11T15:27:13 1.8.3
Behdad Esfahbod 718dfd41 2018-07-10T16:34:31 Fix shift
Behdad Esfahbod 25aa411a 2018-07-10T16:05:03 Put back include dependencies
Behdad Esfahbod 491d93bf 2018-07-10T16:03:31 Move more stuff from hb-private.hh to hb-dsalgs.hh
Behdad Esfahbod f4777656 2018-07-10T15:49:05 Move more stuff to hb-dsalgs.hh
Behdad Esfahbod be7f664f 2018-07-10T15:23:08 Move hb_bytes_t to hb-dsalgs.hh
Behdad Esfahbod 7a00f7eb 2018-07-10T14:42:10 Remove hb_auto_array_t
Behdad Esfahbod be458eb0 2018-07-10T14:41:04 Include more basic internal headers from hb-private.hh
Behdad Esfahbod bddeb2b1 2018-07-10T14:12:37 Minor renamings of internal inline functions
Behdad Esfahbod d652ef29 2018-07-10T14:05:00 Move hb_vector_t and hb_lockable_set_t to hb-dsalgs.hh
Behdad Esfahbod 9e53b083 2018-07-10T14:03:58 Move hb_stable_sort to hb-dsalgs.hh Also, include hb-dsalgs.hh from end of hb-pricate.hh
Behdad Esfahbod 39f11d8e 2018-07-10T14:01:39 Minor
Behdad Esfahbod 763f878c 2018-07-10T13:47:41 Fix syntax Oops.
Behdad Esfahbod 83ea2771 2018-07-10T13:17:27 Add posix_memalign() fallback
Behdad Esfahbod 292c100d 2018-07-10T13:16:52 Always compile (but not use) alignof() and round() fallback codes Catches compile-errors in them better.
Behdad Esfahbod 27c5317d 2018-07-10T13:03:42 Fix alignof impl
Behdad Esfahbod bca83618 2018-07-10T12:58:13 Add fallback implementation for constexpr and alignof
Behdad Esfahbod 7cb47d0f 2018-07-10T12:51:29 Minor
Cosimo Lupo bf9e9676 2018-07-09T20:24:22 Merge pull request #1091 from anthrotype/fix-gen-def-py gen-def.py: pass headers as arguments so that msys2 can convert posix paths
Cosimo Lupo 53f73409 2018-07-09T18:54:23 CMakeLists.txt: don't pass header args as single space-separated string let python's parse command-line args as usual
Cosimo Lupo 83d2233a 2018-07-09T18:48:20 CMakeLists.txt: pass headers as arguments to gen-def.py; call using PYTHON_EXECUTABLE
Cosimo Lupo ccdd1565 2018-07-09T18:26:44 src/Makefile.am: pass headers to gen-def.py as arguments, not env vars
Cosimo Lupo e3a931ef 2018-07-09T18:11:29 gen-def.py: pass headers as arguments so that msys2 can convert posix paths When one is not using the msys2 python, the header files that are passed in as environment variable cannot be found. https://ci.appveyor.com/project/fonttools/ttfautohint-py/build/1.0.65/job/rkremny4jjid9nl2#L803 This is because msys2 shell and make use POSIX paths (e.g. /c/Users/clupo/...) whereas non-msys2 python.exe uses native Windows paths (e.g. C:\Users\clupo\...). Msys2 will automatically convert command line arguments (but not environment variables) from POSIX to Windows paths when calling a native win32 executable, so we pass the header paths as arguments instead of environment variables. This way the gen-def.py script can support both mingw python running in an MSYS2 shell, and native win32 python.
David Corbett 46d8f0d5 2018-07-06T15:47:03 Do not enforce a native direction of LTR for Runic Fixes #481
David Corbett 936dadc6 2018-07-07T11:08:17 Regenerate the USE table for Grantha and Bhaiksuki (#1090) Completes #1037 and fixes #1035.
Behdad Esfahbod 1ebaa090 2018-07-05T14:04:13 Disable vectorization Disable vectorization for now. To correctly use them, we should use posix_memalign() to allocate them. Otherwise, can cause misaligned access. https://bugs.chromium.org/p/chromium/issues/detail?id=860184
Behdad Esfahbod 18a06f8a 2018-07-05T14:03:48 Fix warning ../../src/hb-ot-layout-gsubgpos-private.hh:391:18: warning: missed loop optimization, the loop counter may overflow [-Wunsafe-loop-optimizations]
Behdad Esfahbod 058708a6 2018-07-05T13:16:00 Allow disabling vector_size use
Ebrahim Byagowi d8a7dedc 2018-07-04T15:33:39 Use CreateFileW explicitly and pass wchar_t to it (#1087)
Behdad Esfahbod 9940504e 2018-07-03T14:29:25 [indic] Adjust left-matra repositioning and Halant,ZWJ sequence From the new code (first paragraph is from the OT Devanagari spec.): /* o Reorder matras: * * If a pre-base matra character had been reordered before applying basic * features, the glyph can be moved closer to the main consonant based on * whether half-forms had been formed. Actual position for the matra is * defined as “after last standalone halant glyph, after initial matra * position and before the main consonant”. If ZWJ or ZWNJ follow this * halant, position is moved after it. * * IMPLEMENTATION NOTES: * * It looks like the last sentence is wrong. Testing, with Windows 7 Uniscribe * and Devanagari shows that the behavior is best described as: * * "If ZWJ follows this halant, matra is NOT repositioned after this halant. * If ZWNJ follows this halant, position is moved after it." * * Test case, with Adobe Devanagari or Nirmala UI: * * U+091F,U+094D,U+200C,U+092F,U+093F * (Matra moves to the middle, after ZWNJ.) * * U+091F,U+094D,U+200D,U+092F,U+093F * (Matra does NOT move, stays to the left.) Fixes https://github.com/harfbuzz/harfbuzz/issues/1070 Test case added with Adobe Devanagari.
Behdad Esfahbod 2cb075fe 2018-07-03T13:04:05 Fix unused function '_hb_mapped_file_destroy' if no mmap
Behdad Esfahbod 343e8c69 2018-07-03T12:43:59 1.8.2
Behdad Esfahbod 29e7879b 2018-07-03T12:38:21 Disable .dfont code for now The get_table imple was wrong, as table offsets in a dfont are relative to the resource. We were treating them as relative to the big blob itself. To be fixed. Part of https://github.com/harfbuzz/harfbuzz/pull/1085
Ebrahim Byagowi 32348a43 2018-07-01T15:32:43 Fix trak table apply logic In collaboration with Behdad
Ebrahim Byagowi 225b92b7 2018-07-01T14:32:00 Support dfont font files (#949)
Ebrahim Byagowi 5d8cafcf 2018-07-01T01:54:14 Improve nommap naming and use C style comments on create_from_file (#1084)
Behdad Esfahbod d3c0980a 2018-06-30T15:59:25 Adjust MarkBasePos heuristic in presence of MultipleSubst From the issue: "In this font, the virama,ya first forms a ligature, then decomposes back to virama,ya. This causes those two to be marked parts of a MultipleSubst sequence. When attaching the matra, we look for the first of the MultipleSubst sequence because that's where we attach to (because of eg #740). In this case, the first glyph in the MultipleSubst sequence is a mark, so we skip it and attach to the base char before it." Font in question is Nirmala UI from Windows 10. Test sequence: U+0926,U+094D,U+092F,U+0941 Fixes https://github.com/harfbuzz/harfbuzz/issues/1020
Behdad Esfahbod 8b9cbe3b 2018-06-30T12:28:03 [indic] Tweak for old-spec Bengali and halant-ya-halant Fixes https://github.com/harfbuzz/harfbuzz/issues/1073
punchcutter 9541c9da 2018-06-24T22:54:57 Rebase and update USE overrides for Bhaiksuki Gap Fillers and Grantha Anusvara
Behdad Esfahbod 7b8dfac5 2018-06-30T09:16:54 [khmer] Fix infinite-loop in cluster merging Indic shaper already had this check. We removed it when forking Khmer shaper by mistake. Fixes https://bugzilla.mozilla.org/show_bug.cgi?id=1464623
Ebrahim Byagowi 25970a93 2018-06-28T14:32:36 armcc compatibility, don't use EINTR if doesn't exist Fixes #1081
Ebrahim Byagowi 8a51f91b 2018-06-28T13:22:21 Minor on hb_blob_create_from_file, reuse ferror result Oops
Ebrahim Byagowi 71971800 2018-06-27T18:14:52 [ci] Don't fail on apt update and revive clang-O3-O0
Ebrahim Byagowi 7b4099f3 2018-06-27T16:54:44 Minor, rename blob to data on blob_from_file
Ebrahim Byagowi fa090ed4 2018-06-27T14:13:26 Minor touches on hb_blob_create_from_file (#1079) * Handle EINTR on fallback reader * Increase fallback reader limitation size limitation to 2 << 28 * Ensure _O_BINARY does exist if MMAP is used on Windows (maybe superfluous but makes me more confident)
Behdad Esfahbod 01dff1ea 2018-06-26T18:00:58 Make round() fallback portable to systems that do have round() Makes compiling without HAVE_ROUND on systems that do have it work.
Ebrahim Byagowi 7db2e9ea 2018-06-26T10:46:10 Minor on hb_blob_create_from_file Add one more "unlikely" annotation and use explicit nullptr check for more consistency.
Garret Rieger 4f875346 2018-06-22T15:29:34 [subset] Add fuzzer test case that caused a timeout to the corpus.
Ebrahim Byagowi 35ce8f31 2018-06-25T22:23:43 Unify our pipe reader with the fallback reader (#1068) And assign one bot to use the path always using NOMMAPFILEREADER token. It's limited to 200mb so no more fun with using /dev/zero on hb-view!
Ebrahim Byagowi f57804a8 2018-06-25T18:45:49 Resolve ttx absolute path before use (#1075)
Ebrahim Byagowi 159ddb87 2018-06-24T23:09:16 Treat - just as /dev/stdin and remove one extra file reader (#1065)
Behdad Esfahbod b2a18791 2018-06-23T10:32:28 In Coverage iterator, bail out if table smells In particular, if CoverageFormat2 has unsorted ranges, bail out. Otherwise, 64k ranges of each 64k glyphs can DoS closure() method. We can do the same for CoverageFormat1, but that one does not expose the quadratic behavior, so, fine.
Ebrahim Byagowi 941f2b85 2018-06-18T20:35:40 Support pipe and friends on hb_blob_create_from_file (#1061) With this hb-view/hb-shape support pipes and possibly socket and named pipe also, anything fails just on mmap. We can later do the same for Windows also. This however reveals two issues, the fact most of our bots don't have HAVE_MMAP and using this instead the other fread/fopen reader can make failure on CI. I should look at them separately this change however is very low risk I believe.
Ebrahim Byagowi d0c2889d 2018-06-18T19:59:33 Revert file blob sanitization and index checking (#1062) As https://github.com/harfbuzz/harfbuzz/pull/1059#issuecomment-397912812 we like to still work with blobs that harfbuzz itself can't handle directly that are failing sanitization currently apparently.
Ebrahim Byagowi c53697d3 2018-06-17T17:04:55 Verbose fail when something is wrong with hb-shape/hb-view input font file (#1059) This checks if the blob isn't empty and uses `hb_face_count` to see if the font file passes the simple font file sanitization so can detect if the input is actually a font and checks also whether input font-index is out of range.
Ebrahim Byagowi aa0c5df4 2018-06-17T16:49:34 Fix reading fonts from stdin (#1060) We were passing the font path directly to freetype so rendering was broken when we are getting the font from stdin. This fixes it by using FT_New_Memory_Face instead. This fixes: * build/util/hb-view /dev/stdin text < font.ttf * build/util/hb-view - text < font.ttf * cat font.ttf | build/util/hb-view - text but doesn't work on * cat font.ttf | build/util/hb-view /dev/stdin text which I will try to fix separately.