src


Log

Author Commit Date CI Message
Ebrahim Byagowi ea8e7841 2020-06-30T12:54:29 [fvar] Improve naming
Ebrahim Byagowi 0f8dda2c 2020-06-30T10:53:12 [fvar] Move shared axis filling values into a new method
Ebrahim Byagowi 98c42b3b 2020-06-30T10:48:36 [fvar] Make AxisRecord fields protected
Ebrahim Byagowi 5de07b8a 2020-06-30T11:08:42 [fvar] Move normalize logic where it is actually filled
Behdad Esfahbod 7ee3194f 2020-06-28T15:41:44 [meta] Remove wrong comment
Behdad Esfahbod 26b9670d 2020-06-28T14:52:15 [ft] Better handle allocation failures Fixes https://github.com/harfbuzz/harfbuzz/issues/2513
Behdad Esfahbod 26111a11 2020-06-28T02:59:47 [dagger] Minor cleanup using hb_enumerate
Ebrahim Byagowi 08d57d9e 2020-06-28T13:13:25 Add hb_array_t::lfind
Behdad Esfahbod a7838407 2020-06-27T22:23:59 Always round up Fixes https://github.com/harfbuzz/harfbuzz/issues/2496
Sebastian Rasmussen 2267da4e 2020-06-28T11:18:16 [ft] Do not deference ft_font if it is nullptr (#2502)
Sebastian Rasmussen a373e161 2020-06-28T11:09:45 [ot-shape] Free shape plan maps upon error creating data (#2497)
Sebastian Rasmussen dbf9896e 2020-06-28T10:57:34 [ft] Handle nullptr when destroying freetype font (#2494)
Ebrahim Byagowi 76ba619d 2020-06-23T20:49:43 Fix autotools's harfbuzz.cc build How this works? gen-harfbuzzcc.py operates at its own source path (see its 7th line) and that is reliable when used both on meson and autotools. Just like 19ecabed, weirdly this didn't come up sooner, guess it has something to do with timestamps. Fortunately whole harfbuzz.cc just doesn't matter for packagers but we can tag a release only for this if needed.
Sebastian Rasmussen 12a9d572 2020-06-24T03:25:43 [face] Destroy blob if face closure can not be created (#2490) This fixes issue #2489.
Ebrahim Byagowi 53b0a183 2020-06-22T18:04:01 Remove concept of stable/unstable from build tools We never practiced the concept of stable and unstable releases, let's remove the code and always use the stable scheme.
Ebrahim Byagowi e4203c14 2020-06-22T05:03:27 2.6.8
Ebrahim Byagowi e541fb47 2020-06-21T09:49:48 minor, replace single hb_apply daggers with foreach
Ebrahim Byagowi 8bca9a42 2020-06-21T09:18:12 [fvar] minor
Ebrahim Byagowi 4e37c48e 2020-06-20T23:57:45 [fvar] Remove get_axis_info and get_axis_deprecated
Ebrahim Byagowi 61c240f3 2020-06-20T13:24:32 [fvar] Push _axis_info fill logic deeper
Ebrahim Byagowi 82ec9ef2 2020-06-21T01:36:16 [fvar] minor simplification
Ebrahim Byagowi 47a0fbec 2020-06-21T02:34:59 [meson] Mark longer tests with slow So one can skip them easily by `meson test -Cbuild --no-suite slow`
Ebrahim Byagowi b2d0dba5 2020-06-20T12:07:42 [cpal] Port to dagger
Ebrahim Byagowi 25cf6874 2020-06-20T01:36:50 Use dagger in OffsetTable::get_table_tags (#2477)
Ebrahim Byagowi dce4353f 2020-06-20T01:24:41 Merge pull request #2476 from ebraminio/cv-get-chars [layout] Use dagger in hb_ot_layout_feature_get_characters
Ebrahim Byagowi 89a2c46e 2020-06-20T00:31:46 [math] Use dagger (#2478) * [math] Use dagger * [ot-math] Address Behdad's review
Ebrahim Byagowi d38eb49f 2020-06-19T23:40:42 Move the iteration logic to FeatureParamsCharacterVariants Hopefully I can make members protected also.
Ebrahim Byagowi 9b3d4f45 2020-06-19T23:33:07 Use dagger in hb_ot_layout_feature_get_characters The way it used to work was a bit nonidiomatic but the replacment is idiomatic way of iterating used elsewhere. The new code just doesn't check nullability of "characters", which isn't what we do anywhere else.
Ebrahim Byagowi 63422c4c 2020-06-19T23:24:04 [ot-layout] simplify
Ebrahim Byagowi 407bba3e 2020-06-19T23:12:42 minor move FeatureParamsCharacterVariants::sanitize method right above members
Ebrahim Byagowi f1488152 2020-06-19T23:07:28 [doc] Remove the not needed comment All the other similar iterating API are like this and don't have such comment, written at the time I wasn't familiar enough with the way such API are shaped.
Behdad Esfahbod 1535440b 2020-06-19T08:30:59 [dispatch] Fix debug builds
Ebrahim Byagowi bb9a40da 2020-06-19T19:22:47 [lcar] Use dagger
Behdad Esfahbod 6fbb59ab 2020-06-18T15:12:37 Use daggers in a few get_array functions As I review https://github.com/harfbuzz/harfbuzz/pull/2471
Ebrahim Byagowi a512ca8e 2020-06-19T10:46:12 Merge pull request #2473 from harfbuzz/gsub-alternate fixes #673
Behdad Esfahbod 70d6696c 2020-06-18T17:09:39 [dispatch] Don't require debug_depth for untraced objects
Behdad Esfahbod 5bc4cedd 2020-06-18T17:04:35 Rename
Behdad Esfahbod dc492d7c 2020-06-18T17:03:05 [dispatch] Comment
Behdad Esfahbod 25aec026 2020-06-18T16:58:01 [dispatch] Default return type to hb_empty_t
Behdad Esfahbod 8d0a90ac 2020-06-18T16:53:54 [dispatch] Default debug level to 0
Behdad Esfahbod d7d8604e 2020-06-18T16:51:01 Remove excessive trace routes
Behdad Esfahbod e47a2ab8 2020-06-18T16:48:07 Remove unused dispatcher names
Behdad Esfahbod b2a1accc 2020-06-18T16:41:31 Simplify get_glyph_alternates() dispatcher Trying to make it **very simple** to add a specialized dispatcher for one API to be routed to just a few objects (one in this case).
Behdad Esfahbod ffe8d3f3 2020-06-18T16:31:39 Use dispatch for get_glyph_alternates_t First time we do this in a way that if target object doesn't have the matching function we basically "ignore". Risky but I feel like is the right decision for this case. I'm going to put back the template varargs and use those, which would make the dispatcher be just that: "dispatcher", and wouldn't need to carry the call context. That would be a refreshing change I think.
Behdad Esfahbod bedf4171 2020-06-18T15:49:01 Push get_glyph_alternates() work all the way down
Behdad Esfahbod 5bede338 2020-06-18T15:25:19 Whitespace
Behdad Esfahbod e13aaaaa 2020-06-18T15:22:54 Move API to right place in header
Behdad Esfahbod 26514ad7 2020-06-18T15:22:07 Fix API comment
Ebrahim Byagowi 1bac8582 2020-06-18T22:56:07 [layout] Rename _get_alternates to _get_glyph_alternates
Behdad Esfahbod 9ef9ac37 2020-06-17T17:41:15 [gpos] Break cycle-of-2 when cursive attaching Fix thinko this time around. Fixes https://github.com/harfbuzz/harfbuzz/issues/2469
Ebrahim Byagowi d3c16979 2020-06-18T08:37:21 [layout] move alternate buffer iteration logic to AlternateSet
Ebrahim Byagowi 1348a2c8 2020-06-16T21:05:16 [layout] hb_ot_layout_lookup_get_alternates, a new API An API to retrieve one-to-one alternates from a given GSUB lookup index.
Behdad Esfahbod 3fe71957 2020-06-17T17:51:08 Revert "[gpos] Break cycle-of-2 when cursive attaching" This reverts commit 7090707de67e660ae626ecf774f6af8a63a692ab.
Behdad Esfahbod 7090707d 2020-06-17T17:41:15 [gpos] Break cycle-of-2 when cursive attaching Fixes https://github.com/harfbuzz/harfbuzz/issues/2469
Behdad Esfahbod e5de3918 2020-06-17T16:54:23 [indic] Add comment https://github.com/harfbuzz/harfbuzz/issues/2298#issuecomment-615318654
Behdad Esfahbod 41ef75f6 2020-06-17T16:29:09 [gsub] Don't substitute in ReverseChainSingleSubstFormat1 if missing substitute Fixes https://github.com/harfbuzz/harfbuzz/issues/2467
Behdad Esfahbod e7c79e16 2020-06-17T15:32:40 Merge pull request #2287 from simoncozens/instrumentation Add messages for GPOS/GSUB (take 2)
Simon Cozens fe926970 2020-06-16T09:12:44 Reformat messages again Messages can be: start/end table XXXX start/end lookup NNNN start/end subtable NNNN (for kerx/kern) start/end chainsubtable NNNN (for morx)
Ebrahim Byagowi cccdaf45 2020-06-12T11:15:37 [docs] minor revealed now that we turned gobject/gir build to 'auto'
Ebrahim Byagowi 4e7cb7e2 2020-06-12T01:38:16 minor, fix lists sorting
Qunxin Liu 973c47f6 2020-06-11T11:27:57 [subset] Move 2 experimental public api methods to be private methods in GSUB/GPOS. 2 methods are: hb_ot_layout_closure_lookups and hb_ot_layout_closure_features
Nirbheek Chauhan b88f1096 2020-06-09T20:06:50 meson: Export symbols for a DLL when not building statically `default_library` might be 'both', in which case we will fail to link when building with MSVC.
Khaled Hosny 5c8900ef 2020-06-08T02:29:04 [coretext] Properly check for macOS 10.10 Fixes https://github.com/harfbuzz/harfbuzz/issues/2452
Ebrahim Byagowi 0151da23 2020-06-06T01:48:23 [meson] Remove with_libstdcxx build option This was done in #770 but no indication of anyone is using it, let's remove it from our meson port and we can just don't care about it in autotools port after the migration to meson.
Behdad Esfahbod 56719474 2020-06-05T12:57:23 s/blacklist/blocklist/g
Christoph Reiter 03bd6ead 2020-06-03T23:52:10 [meson] Only pass required dependencies to everything Instead of passing dependencies as required we used one giant shared dependency list containing all dependencies for every library/executable. While this kinda works, the specified deps are also used for generating the pkg-config files and this leads to lots of Requires.private and Libs.private entries which aren't really needed. This removes the "deps" array and replaces it with a few smaller ones and makes sure the public libraries only get passed the dependencies actually needed. Fixes #2441
Ebrahim Byagowi 759df465 2020-06-04T15:49:54 [style] Hide behind HB_EXPERIMENTAL_API compile flag
Ebrahim Byagowi d54de568 2020-04-21T16:33:50 [style] Adopt with meson
Ebrahim Byagowi de0ec5f4 2020-02-08T14:09:09 [style] give ptem value when asked for opsz ptem, used for AAT's tracking/`trak` table is equivalent to opsz of variable fonts. For variable AAT fonts, such as SFNS, ideally variable axis of the hb_font_t should be set and equivalent to ptem, https://crbug.com/1005969#c37
Ebrahim Byagowi 22037499 2019-08-04T11:31:31 [style] New experimental API, hb_style_get_value Searches variation axes of a hb_font_t object for a specific axis first, if not set, then tries to get default style values from different tables of the font.
Ebrahim Byagowi d67553d1 2020-06-04T12:31:57 [meson] fix with_libstdcxx effect oops
Ebrahim Byagowi 029ecf32 2020-06-04T03:31:15 [meson] Fix gen-hb-version.py run It gets complicated apparently when executed in the dist process, let's use raw names now that we are operating in the script folder anyway.
Ebrahim Byagowi 870304df 2020-06-04T03:19:53 [meson] Remove amalgam build option Fixes #2444
Ebrahim Byagowi b8320340 2020-06-03T23:40:57 [meson] fix gen script input matters more when harfbuzz is a subproject
Ebrahim Byagowi 50d3f531 2020-06-03T17:59:41 Use output names in update-unicode-tables.make
Ebrahim Byagowi fb46a32e 2020-06-03T12:54:26 2.6.7
Ebrahim Byagowi 23091864 2020-06-02T21:52:57 Move unicode tables update script to its own make file Also downloads things needed for unicode tables generators
Ebrahim Byagowi 19ecabed 2020-06-02T20:01:03 minor, fix hb-version.h generation for out-of-tree builds
Ebrahim Byagowi 9737170b 2020-06-02T19:18:35 minor fixes on src gen scripts
Ebrahim Byagowi a9d13463 2020-05-30T14:17:56 [meson] Categorize tests using `suite: [...]` So one can run a category of interested tests like meson test -Cbuild --suite aots --suite src --print-errorlogs Intead issuing particular tests which also is possible like meson test -Cbuild test-shape --print-errorlogs
Ebrahim Byagowi 7250adee 2020-05-29T12:34:30 [tests] Port check scripts to python
Qunxin Liu 3c5bdd9b 2020-02-18T10:02:19 [subset] GDEF AttachList subsetting support
Ebrahim Byagowi 368ca306 2020-05-29T00:42:32 minor on python scripts * remove not needed imports * remove semicolons
Ebrahim Byagowi ad87155f 2020-05-29T00:11:19 minor, use py3's open(encoding=)
Ebrahim Byagowi 7554f618 2020-05-28T22:51:29 minor, use sys.exit print shorthand
Ebrahim Byagowi 08f1d95a 2020-05-28T15:01:15 minor, move scripts manuals to __doc__
Qunxin Liu 593e58c8 2020-05-20T18:00:25 [subset] ChainContext subsetting fix: add lookup index remapping
Ebrahim Byagowi e3af529e 2020-05-23T22:13:32 [meson] update generated headers only when the result is different This way it won't ruin incremental builds. We need a better way to declare source altering tasks https://github.com/mesonbuild/meson/issues/7156 yet this is good enough despite being not idiomatic. It is however not that smooth yet as the change may is detected on the next meson run. One of course can issue ./gen-ragel-artifacts.py manually for better experience before running meson.
Ebrahim Byagowi 1fbb7883 2020-05-23T12:38:07 [gdef] minor, use dagger in ligature carets fetch
Qunxin Liu d7c012a0 2020-02-26T13:11:42 [subset] GDEF Variation Store: step 2 do subset based on variation indices collected in step 1
Qunxin Liu 8200e48f 2020-02-26T13:11:42 [subset] GDEF Variation Store: step 1 closure device variation indexes, create old->new variation idx mapping and store them in subset-plan
Ebrahim Byagowi d2e3a048 2020-05-21T21:48:01 [meson] Fix fix_get_types.py shabang, minor format
Ebrahim Byagowi 887aa021 2020-05-21T20:02:47 [meson] Use find_program for locating python script Apparently that is the simplest and supported way of finding python scripts.
Ebrahim Byagowi d9177a59 2020-05-21T19:34:56 [meson] Use a c linker for on Windows also Using a C linker was limited to non-Windows as 20a840c7, let's revisit this while transition to meson. Packagers easily override that via the option and use a C++ linker if needed.
Ebrahim Byagowi cc53fd15 2020-05-21T19:33:18 [meson] Normalize options names As https://github.com/harfbuzz/harfbuzz/pull/2412#discussion_r426275027
Ebrahim Byagowi a9e8328a 2020-05-21T16:28:24 [meson] Add build configuration summary just like autotools
Ebrahim Byagowi f7562672 2020-05-21T17:01:04 [meson] Use / instead join_paths We need some of the very recent features of meson, let's use the new features also
Ebrahim Byagowi f9b31dda 2020-05-21T08:37:44 [build] State encoding explicitly for hb-version.h.in As https://circleci.com/gh/harfbuzz/harfbuzz/140481 Traceback (most recent call last): File "./gen-hb-version.py", line 14, in <module> output_file.write (input_file.read () File "/usr/lib/python3.4/encodings/ascii.py", line 26, in decode return codecs.ascii_decode(input, self.errors)[0] UnicodeDecodeError: 'ascii' codec can't decode byte 0xc2 in position 16: ordinal not in range(128)
Ebrahim Byagowi a79d0e40 2020-05-21T07:32:58 [subset] minor, use a better type in iteration In file included from hb-ot-face.cc:34: In file included from ./hb-ot-kern-table.hh:30: In file included from ./hb-aat-layout-kerx-table.hh:31: In file included from ./hb-kern.hh:32: In file included from ./hb-ot-layout-gpos-table.hh:32: ./hb-ot-layout-gsubgpos.hh:1878:63: error: loop variable '_' binds to a temporary value produced by a range of type 'decltype((hb_forward<hb_filter_iter_factory_t<hb_map_t &, const (anonymous struct at ./hb-algs.hh:331:1) &>>(rhs)(hb_forward<hb_zip_iter_t<hb_iota_iter_t<unsigned int, unsigned int>, hb_array_t<const OT::OffsetTo<OT::RuleSet, OT::IntType<unsigned short, 2>, true>>>>(lhs))))' (aka 'hb_filter_iter_t<hb_zip_iter_t<hb_iota_iter_t<unsigned int, unsigned int>, hb_array_t<const OT::OffsetTo<OT::RuleSet, OT::IntType<unsigned short, 2>, true>>>, hb_map_t &, const (anonymous struct at ./hb-algs.hh:331:1) &>') [-Werror,-Wrange-loop-bind-reference] for (const hb_pair_t<unsigned, const OffsetTo<RuleSet>&>& _ : + hb_enumerate (ruleSet) ^ ./hb-ot-layout-gsubgpos.hh:1878:10: note: use non-reference type 'hb_pair_t<unsigned int, const OffsetTo<OT::RuleSet> &>' for (const hb_pair_t<unsigned, const OffsetTo<RuleSet>&>& _ : + hb_enumerate (ruleSet) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Ebrahim Byagowi c68ab4b5 2020-05-21T00:25:17 Fix _get_ligature_caret's oob read issue AAT::Lookup has no other way to detect whether it is returned from a real and sanitized font data or from a null pool, this checks if the table has been recognized valid by sanitizer by checking table's major version which is zero if returned from a null pool and non-zero if is from a sanitized font data, it is expected the other calls of the table (unlikely to have more calls however) also do a similar version check before calling the lookups used on the table.