src/hb-common.cc


Log

Author Commit Date CI Message
Behdad Esfahbod c77ae408 2018-08-25T22:36:36 Rename hb-*private.hh to hb-*.hh Sorry for the noise, downstream custom builders. Please adjust.
Emil A Eklund 22defe09 2018-08-14T14:47:20 Add guard around free_static_C_locale Add HB_USE_ATEXIT guard around free_static_C_locale missed by previous commit.
Behdad Esfahbod 6750ec69 2018-08-12T17:42:16 [lazy] Use for C_locale
Martin Hosken 39607dc9 2018-08-09T15:16:32 Support _ in feature ids
Behdad Esfahbod 1f738094 2018-08-09T00:22:37 [atomic] Add hb_atomic_ptr_t<> and port all uses Found and fixed a couple bugs. Found a couple multithreading issues. Marked them with "XXX-MT-bug".
Behdad Esfahbod 4bc16aca 2018-07-31T21:05:51 [atomic] Add get_relaxed / set_relaxed To help TSan and be more "correct".
Behdad Esfahbod e22a48ac 2018-07-23T13:24:26 One more visibility trick Should fix Windows build again.
Behdad Esfahbod be458eb0 2018-07-10T14:41:04 Include more basic internal headers from hb-private.hh
David Corbett 46d8f0d5 2018-07-06T15:47:03 Do not enforce a native direction of LTR for Runic Fixes #481
Behdad Esfahbod 060e6b4a 2018-06-05T17:31:46 Update to Unicode 11.0.0 UCDN is not updated yet.
Behdad Esfahbod f673cfbd 2018-05-07T13:58:32 Support scripts that are written both LTR and RTL Right now only Old Italic is marked as such. Fixes https://github.com/harfbuzz/harfbuzz/issues/1000
Behdad Esfahbod a60ba796 2018-05-01T19:01:25 s/finish/fini For consistency.
Ebrahim Byagowi f24b0b97 2018-04-12T13:40:45 Update the links and revive the dead ones
Ebrahim Byagowi 70d36543 2018-03-30T05:00:28 Make atexit callbacks threadsafe (#930)
Behdad Esfahbod 5aa2c6e1 2018-03-28T15:33:51 [atexit] Make hb_languate_item_t *langs freeing threadsafe Part of https://github.com/harfbuzz/harfbuzz/issues/923
Bruce Mitchener 90218fa9 2018-01-31T20:44:45 Fix typos.
Cosimo Lupo c8f2a4f5 2018-01-18T22:49:40 hb-common.cc: Hatran script is right-to-left (#714) "Hatran is written from right to left horizontally" http://www.unicode.org/L2/L2012/12312-n4324-hatran.pdf This ancient script was added with Unicode 8.0. Also this spreadsheet (referenced in an inline comment in the source code) has it as RTL: http://goo.gl/x9ilM
David Corbett 85bb89a8 2017-12-04T15:15:27 Fix string matching in parse_bool
Behdad Esfahbod 7f39f576 2017-11-13T15:04:13 Implement strtod_l() on MSVC Patch from Jean Ghali on mailing list.
Behdad Esfahbod 8eaff980 2017-10-31T15:30:06 Remove HB_TAG_CHAR4
Behdad Esfahbod dbdbfe3d 2017-10-15T12:11:08 Use nullptr instead of NULL
Behdad Esfahbod 3ca69c8c 2017-09-14T20:50:35 Use strtod_l() to correctly parse decimal numbers in French & other locales Test with, eg.: $ LC_ALL=fr_FR.utf-8 ./hb-view NotoSansArabic-VF.ttf بهداد --variations wght=1.2
Ebrahim Byagowi 3b0e47ca 2017-06-19T14:47:09 Fix arm-none-eabi build (fixes #451) (#496)
Behdad Esfahbod 7dba3063 2017-06-01T11:44:42 Handle allocation failure in hb-language code
Sebastian Rasmussen 92e2c4ba 2017-05-29T12:53:30 Avoid using strdup inside library. (#488) If an application provides a malloc replacement through hb_malloc_impl() it is important that it is used to allocate everything, but the use of strdup() circumvents this and causes system malloc() to be called instead. This pairs badly with the custom hb_free_impl() being called later.
Chris Peterson aacca375 2017-04-17T23:25:24 Fix clang -Wcomma warnings (#471) (#472) clang's new -Wcomma compiler option warns about possible misuse of the comma operator such as between two statements. hb-common.cc:190:9 [-Wcomma] possible misuse of comma operator here hb-ot-layout-gsubgpos-private.hh:345:30 [-Wcomma] possible misuse of comma operator here hb-shape-plan.cc:438:26 [-Wcomma] possible misuse of comma operator here
Khaled Hosny 91570a1e 2017-03-22T23:07:15 Just always use strtod here
Chun-wei Fan 539571c1 2017-02-24T17:58:25 src/hb-common.cc: Fix build on older Visual Studio Visual Studio only supported strtof() from Visual Studio 2013 onwards, so use strtod() instead to do the operation, which should do the same thing, sans going to a double, not a float.
Behdad Esfahbod d2f249e7 2017-01-22T17:42:33 Stub out doc comments for new symbols
Behdad Esfahbod bb1e1926 2017-01-21T17:41:37 [var] Rename var_coord to variation Looks much better.
Behdad Esfahbod b3c0714b 2017-01-20T20:30:03 [var] Add hb_var_coord_t and parsing routines
Behdad Esfahbod 72364103 2017-01-20T20:16:53 Move code around
Khaled Hosny e4d451ee 2016-07-02T00:04:57 [introspection] Fix hb_tag_from_string annotation
Behdad Esfahbod 691086f1 2016-05-06T12:08:18 Add Unicode 9 beta scripts These are frozen, so good time to add.
Behdad Esfahbod 80c8855c 2016-02-12T12:50:17 Minor
Khaled Hosny 8ab797c5 2015-12-29T17:42:16 [docs] A bit more buffers documentation
Behdad Esfahbod ea512f71 2015-11-26T19:22:22 Use C-style casts instead of compare to 0, to convert hb_bool_t to bool
Behdad Esfahbod 766963ad 2015-11-24T15:38:43 Merge pull request #114 from ThePhD/vc++-fixes Fix all VC++ warnings and errors
Behdad Esfahbod f3159ba5 2015-09-29T14:34:56 Micro-optimize hb_language_from_string() As measured / improved by Benson Limketkai.
Behdad Esfahbod b8811429 2015-09-03T15:53:22 Fix Since tags Fixes https://github.com/behdad/harfbuzz/issues/103
ThePhD 5c99cf93 2015-08-14T01:02:00 Merge branch 'master' into vc++-fixes
Behdad Esfahbod 64a2726e 2015-07-15T01:36:39 Add Unicode 8.0 scripts Based on https://bugzilla.mozilla.org/show_bug.cgi?id=1183209
ThePhD e0a828ec 2015-06-23T09:07:17 Back to using regular `strdup`, with an `hb-private.hh` fix that special-cases VC++'s definition and usage of the words
ThePhD 8e545d59 2015-06-22T22:29:04 Fix all VC++ warnings and errors in the current commit's builds.
Behdad Esfahbod 351f68f4 2015-06-12T17:46:06 [bindings] Fix hb_language_get_default() and hb_ot_tag_to_language() Part of https://github.com/behdad/harfbuzz/issues/91
Sascha Brawer 01c3a885 2015-06-01T13:22:01 Fix "Since:" tags Based on data from http://upstream-tracker.org/versions/harfbuzz.html Resolves #103
Khaled Hosny 04f89e8f 2015-04-10T17:49:01 [bindings] Fix ownership of returned hb_language_t It should not be freed by the caller.
Behdad Esfahbod f3b170bd 2015-04-08T16:26:24 Minor
Khaled Hosny a394bb66 2015-03-22T20:29:10 [bindings] Fix *_from_string functions Without the element-type they will be getting garbage, at least with Python.
Konstantin Ritt 675956ac 2015-01-27T11:23:07 Do not leak hb_language_t on hb_language_item_t destruction
Chris Peterson fb85d618 2015-01-04T19:31:10 Add #ifdef HB_USE_ATEXIT to fix -Wunused-function warnings
Chris Peterson d1897a98 2015-01-03T19:46:19 Fix hb_atomic_ptr_cmpexch -Wunused-value warnings
Behdad Esfahbod 38fb30d7 2014-08-06T13:34:49 Use atexit() only if it's safe to call from shared library Apparently they are not (advertised as?) safe on BSD systems. We ignore the case of static libraries. Whitelisted on glibc, Android, and MSVC / mingw. https://bugs.freedesktop.org/show_bug.cgi?id=82246
Behdad Esfahbod 7627100f 2014-07-11T14:54:42 Mark unsigned integer literals with the u suffix Simplifies hb_in_range() calls as the type can be inferred. The rest is obsessiveness, I admit.
Behdad Esfahbod 2b051c60 2014-06-20T14:09:57 Rename HB_VERSION_CHECK and hb_version_check to "atleast" HB_VERSION_CHECK's comparison was originally written wrongly by mistake. When API tests were written, they were also written wrongly to pass given the wrong implementation... Sigh. Given the purpose of this API, there's no point in fixing it without renaming it. As such, rename. API changes: HB_VERSION_CHECK -> HB_VERSION_ATLEAST hb_version_check -> hb_version_atleast
Behdad Esfahbod a4a7899c 2014-04-28T15:06:42 [unicode7] Mark right-to-left scripts
Behdad Esfahbod dac86026 2014-06-03T17:57:00 Fix some cppcheck warnings Bug 77800 - cppcheck reports
jfkthame 0082dbea 2014-03-16T08:25:17 wrap definition of free_langs() with HAVE_ATEXIT ...to avoid an unused function warning; see mozilla bug https://bugzilla.mozilla.org/show_bug.cgi?id=984081.
Behdad Esfahbod 2a8c49ad 2013-12-11T20:22:28 Remove unnecessary includes
Behdad Esfahbod 48360ec0 2013-09-26T16:48:42 Bug 68990 - test-common fails on i686-linux Fix use-after-end-of-scope.
Behdad Esfahbod 70303cf2 2013-09-06T17:35:57 [docs/introspection] Some more annotations
Behdad Esfahbod cd361c3c 2013-09-06T16:20:21 Minor change to hb_language_t Let me know if this breaks anyone's anything.
Behdad Esfahbod 7235f33f 2013-06-10T14:39:51 Fix misc warnings reported by cppcheck https://bugs.freedesktop.org/show_bug.cgi?id=65544
Behdad Esfahbod bab02d33 2013-02-12T15:26:45 Rename HB_OT_INDIC_OPTIONS env var to HB_OPTIONS The Myanmar shaper now respects the uniscribe-bug-compatibility option too.
Behdad Esfahbod e9171af5 2013-01-29T22:45:00 Bug 60053 - hb-common.cc:181:6: warning: ‘void free_langs()’ defined but not used
Behdad Esfahbod 7babfe5a 2012-12-04T00:35:54 Move object mutext into the user-data array We are not using it for anything lse it seems.
Behdad Esfahbod e30ebd27 2012-09-06T22:09:06 Add hb_feature_to/from_string()
Behdad Esfahbod 7e7d245b 2012-08-08T15:23:48 Make default_language threadsafe
Behdad Esfahbod 1bc1cb36 2012-06-16T15:21:55 Make source more digestable for gobject-introspection
Behdad Esfahbod 04aed572 2012-06-05T18:30:19 Make hb-ft static-initializer free
Behdad Esfahbod 093171cc 2012-06-05T18:00:45 Implement lock-free hb_language_t Another static-initialization down. One more to go.
Behdad Esfahbod 0e253e97 2012-06-05T15:37:19 Add a mutex to object header Removes one more static-initialization. A few more to go.
Behdad Esfahbod 4bf90f64 2012-04-12T17:38:23 Make HB_DIRECTION_INVALID be zero This changes all the HB_DIRECTION_* enum member values, but is nicer, in preparation for making hb_segment_properties_t public.
Behdad Esfahbod cad3821f 2012-03-07T17:13:25 More sorting by Unicode version This is the most convenient way to browse scripts.
Behdad Esfahbod fa2673c1 2012-03-07T15:52:02 More Unicode script age annotation, and a couple more RTL scripts Cross-checked with Mark Davis's spreadsheet at http://goo.gl/x9ilM
Behdad Esfahbod 50e810cd 2012-03-07T12:49:08 Lydian and Kharoshthi are right-to-left
Behdad Esfahbod 4c9fe88d 2011-08-26T09:18:53 [API] Make all _from_string() functions take a len parameter Can be -1 for NUL-terminated string. This is useful for passing parts of a larger string to a function without having to copy or modify the string first. Affected functions: hb_tag_t hb_tag_from_string() hb_direction_from_string() hb_language_from_string() hb_script_from_string()
Behdad Esfahbod 33ccc779 2011-08-09T00:43:24 [API] Make set_user_data() functions take a replace parameter We need this to set data on objects safely without worrying that some other thread unsets it by setting it at the same time.
Behdad Esfahbod c62a8f10 2011-08-05T18:02:30 Free all static memory upon exit
Behdad Esfahbod c605bbbb 2011-08-04T20:00:53 Remove C++ guards from source files Where causing issues for people with MSVC.
Behdad Esfahbod 1a64f6e1 2011-05-13T22:55:32 [API] Add HB_LANGUAGE_INVALID
Behdad Esfahbod 389a7c9e 2011-05-11T22:21:38 Remove hb_static_threadsafe_set_t
Behdad Esfahbod 45bfa990 2011-05-10T19:12:49 Fix set implementation to be truly threadsafe even with destroy() callbacks The test/object test is passing again, instead of deadlocking.
Behdad Esfahbod 08611d51 2011-05-06T16:28:10 Add note re deadlocks
Behdad Esfahbod 34fb5521 2011-05-06T00:04:28 [API] Add hb_language_get_default() It uses locale information to detect default language. It's used by hb_shape() whenever language is not set on the buffer. Not sure how to properly test it in the test suite. Tested by observing that with DejaVu Sans we select the proper local glyph version for U+431 under Serbian locale. See http://www.pango.org/ScriptGallery
Behdad Esfahbod c78f4485 2011-05-05T21:31:04 [API] Add version macros and functions Step version up to 0.5.0. Also, fix to pass "make distcheck"
Behdad Esfahbod 46df6828 2011-05-05T15:33:19 Make user_data access threadsafe For now, by taking a global user_data mutex.
Behdad Esfahbod 218e67b9 2011-05-05T15:28:37 Shrink code
Behdad Esfahbod b8d6183e 2011-05-05T15:14:04 Use threadsafe set implementation for hb_language lookups Note that the static variable has to be a global static, as gcc implements local statics differently and that would require linking to libstdc++, which we don't want.
Behdad Esfahbod b45f32ee 2011-05-05T15:00:43 Use hb_array_t for hb_language_t mapping
Behdad Esfahbod 20001794 2011-05-03T00:49:06 Move Win32 thread-safety stuff to hb-object-private.h The Win32 definitions for LONG, ULONG, etc conflicts with hb-open-type.h. Avoid that by making sure hb-object-private.h and hb-open-type.h are not included in the same compilation unit.
Behdad Esfahbod fc52e9e4 2011-05-03T00:09:16 Implement win32 thread-safety stuff Patch from Bradley Grainger.
Behdad Esfahbod d02985ec 2011-05-02T12:35:14 ISO 15924 fixes Update to http://unicode.org/iso15924 Fixes some of the test failures in test-unicode with ICU. Still one more to fix before the test passes.
Behdad Esfahbod 39a840ae 2011-04-27T14:48:19 [API] Add hb_direction_from/to_string() And hb-view --direction argument.
Behdad Esfahbod 2409d5f8 2011-04-21T17:14:28 Update Copyright headers
Behdad Esfahbod c57d454a 2011-04-20T18:50:27 Rename all private sources and headers to C++ files So we can liberally use the simple features of C++ that parts of the codebase is already using.