src/hb-private.hh


Log

Author Commit Date CI Message
Behdad Esfahbod 4ca211bc 2018-06-01T17:18:57 Fix hb_vector_size_t
Behdad Esfahbod a7dd90f5 2018-06-01T16:07:55 Revert "Remove HB_DISALLOW_COPY_AND_ASSIGN" This reverts commit ff92de766bf775bfdd3a01bda94de699180ff86a. Revert that and remove ASSERT_POD. Let's see which bots are unhappy with this configuration...
Behdad Esfahbod 7b50bf52 2018-05-31T20:20:17 Use NullPool for _hb_set_nil and _hb_map_nil
Behdad Esfahbod 353f4d2e 2018-05-31T19:52:16 Fix a whitespace inconsistency Null() and Crap() are only places that there's no space before '('...
Behdad Esfahbod d600e844 2018-05-30T16:25:46 Add CrapOrNull
Behdad Esfahbod ff92de76 2018-05-29T18:48:45 Remove HB_DISALLOW_COPY_AND_ASSIGN llvm-gcc-4.2 bot had this problem: hb-private.hh:812: error: initializer specified for non-virtual method 'void hb_vector_t<Type, StaticSize>::operator=(const hb_vector_t<Type, StaticSize>&) [with Type = hb_user_data_array_t::hb_user_data_item_t, unsigned int StaticSize = 1u]' Removing the delete didn't work with a constructor. So, remove constructor. Just disallow assignment. Still better than nothing.
Behdad Esfahbod efbab6ba 2018-05-29T18:21:55 Disable use of thread_local Clang build was failing with: /usr/bin/ld: .libs/libharfbuzz_la-hb-blob.o: relocation R_X86_64_PC32 against undefined hidden symbol `_ZTH12_hb_CrapPool' can not be used when making a shared object Instead of fighting it, just disable use of it.
Behdad Esfahbod 6c222764 2018-05-25T16:21:27 Add HB_DISALLOW_COPY_AND_ASSIGN
Behdad Esfahbod 7f7b1370 2018-05-24T14:09:04 Fix Uniscribe build If a pointer type was passed to Null(), reinterpret_cast<> was complaining about qualifiers being removed. Turns out I need the const on the other side of "Type" to fix that. Also remove unused const from NullPool type.
Behdad Esfahbod 31c4236d 2018-05-24T13:38:46 Underflow protection in hb_vector_t
Behdad Esfahbod f83e992c 2018-05-24T11:46:57 Mark CrapPool thread_local Not sure if I like to keep it. For now, aim for correctness.
Behdad Esfahbod 5d801298 2018-05-24T11:33:15 Add CrapPool Common Regoin for Access Protection. Like the NullPool, but writable.
Behdad Esfahbod 673b764d 2018-05-23T20:12:23 Move code around
Behdad Esfahbod 65aeabd6 2018-05-23T16:15:28 Add hb_vector_t::push(const Type &v) Makes for cleaner code.
Behdad Esfahbod 6c818c55 2018-05-22T22:00:05 Actually enable vectorized operations Fixup for previous commit. Was accidentally turned off.
Behdad Esfahbod f56a250b 2018-05-22T21:36:07 Another try at smart vectorization Make clang happy. Also, don't use anonymous union.
Behdad Esfahbod b995b501 2018-05-22T21:06:22 Try enabling vectorization smartly We'll see if this sticks to the bots.
Behdad Esfahbod 191c4edc 2018-05-09T15:27:17 Reinstante DEFINE_NULL_DATA Seems like I messed up; buffer overrun got reported.
Behdad Esfahbod 63f57f4d 2018-05-08T16:56:11 Mark more unsized array's as arrayZ
Behdad Esfahbod abc12f7b 2018-05-08T02:23:36 Move null pool to hb-private
Behdad Esfahbod 08e280fd 2018-05-08T01:57:27 Rename hb_string_t to hb_bytes_t
Behdad Esfahbod bd021a67 2018-05-08T01:50:30 Minor
Behdad Esfahbod 5c3112ae 2018-05-01T19:07:04 s/hb_prealloced_array_t/hb_vector_t/g Part of https://github.com/harfbuzz/harfbuzz/issues/1017
Behdad Esfahbod 4a01eb12 2018-05-01T19:05:58 Add hb_auto_t Part of https://github.com/harfbuzz/harfbuzz/issues/1017
Behdad Esfahbod a60ba796 2018-05-01T19:01:25 s/finish/fini For consistency.
Tor Andersson 8f4c1230 2018-04-13T23:01:54 Reinstate support for Visual Studio 2005
Ebrahim Byagowi 632713ba 2018-04-12T14:17:03 Always enable atexit on Android (#971) Obviously one can use a newer NDK for building an updated HarfBuzz instead that now pretty old version however I am concerned if that version checking is working with clang that is used with the newer NDK versions.
Ebrahim Byagowi f24b0b97 2018-04-12T13:40:45 Update the links and revive the dead ones
Behdad Esfahbod c14b24fc 2018-03-26T10:44:54 Add HB_NO_ATEXIT
Behdad Esfahbod ebccd019 2018-03-24T17:51:55 More ULL fixes Fixes https://github.com/harfbuzz/harfbuzz/issues/901
Behdad Esfahbod 7ec3ba21 2018-03-24T14:12:12 Define uint64_t constants with ULL suffix Fixes https://github.com/harfbuzz/harfbuzz/issues/901
Chun-wei Fan 19256bef 2018-03-12T13:33:03 hb-private.hh: Add fallback implementation for round() For pre-C99 compilers that do not support round(), we need to have a simplistic implementation for it, when it is not detected during build configuration, either via CMake or autotools, by using floor() and ceil(), which are provided in the pre-C99 compilers. Please see discussion at commit 86a0ac2 for more details for re-adding this patch.
Behdad Esfahbod 86a0ac28 2018-03-14T15:51:33 Revert "hb-private.hh: Add fallback implementation for round()" This reverts commit b9dcbb1f8312d8606b230f75594d40b7d4087004. This is gross. Should be only done if a specific macro is defined. Not the other way around. This fails my build as autotools companions where not added anyway.
Chun-wei Fan b9dcbb1f 2018-03-12T13:33:03 hb-private.hh: Add fallback implementation for round() Add a simplistic round() implementation for our purposes, used when the compiler does not support round() directly.
Behdad Esfahbod 97a71102 2018-02-18T10:50:24 Fix BitScanForward() usage Should fix Win64 bot.
Behdad Esfahbod cd11107b 2018-02-16T18:28:58 Another bitops fallback fix I'm confident that all bugs are hashed out now.
Behdad Esfahbod 4e517ecb 2018-02-16T18:20:12 Another bitops fallback impl fix
Behdad Esfahbod 6a91a2eb 2018-02-16T17:49:41 Fix wide bitops implemenetation
Behdad Esfahbod 6d5c0bf8 2018-02-16T17:33:26 Fix bitops fallback impl
Behdad Esfahbod 82eb1dac 2018-02-16T16:52:09 Flesh out other bit ops some more for 128bit as well
Behdad Esfahbod 864a2ddd 2018-02-16T14:21:40 Clean up bit functions Compile all code-paths possible, to better catch errors. Also enable MSVC ones on mingw which seems to support them.
Behdad Esfahbod 978ace6f 2018-02-16T16:06:17 Improve _hb_popcount() Support 128bit type.
Arkady Shapkin d37310ac 2018-02-16T21:45:08 Remove checking macros __OPTIMIZE__ for MSVC Visual C++ compiler doesn't define macros __OPTIMIZE__ when optimizations enabled
Ebrahim Byagowi 139c9928 2018-02-16T13:27:26 Fix hb-private.hh compile issue
Arkady Shapkin 6c10328e 2018-02-15T23:17:46 Use _BitScanForward and _BitScanReverse on MSVC
Behdad Esfahbod 90d1c740 2018-02-11T19:08:59 Add MSVC to no-visibility list
Behdad Esfahbod 0db6c6f2 2018-02-11T18:28:10 Add Sun compiler to no-visibility as well Fixes https://github.com/harfbuzz/harfbuzz/pull/776
Behdad Esfahbod cd32177a 2018-02-11T19:34:05 Try at fixing multiple-definition of NullPool If we don't have visibility, make NullPool static.
Behdad Esfahbod af274507 2018-02-10T13:25:49 Minor
Behdad Esfahbod 570d5237 2018-02-10T13:24:22 [subset] Merge remote-tracking branch 'googlefonts/master'
Rod Sheeter 4816064c 2018-02-09T17:14:37 add missing return
Behdad Esfahbod 8cef3a61 2018-02-09T16:04:23 Try fixing build with Sun Studio Trying to fix: https://circleci.com/gh/harfbuzz/harfbuzz/6635 Also part of: https://github.com/harfbuzz/harfbuzz/issues/630
Rod Sheeter 59c658c8 2018-02-08T19:22:47 capture codepoints sorted so we can use them for cmap later. one day we will have a map
Behdad Esfahbod 931f8b7e 2018-02-07T21:42:03 Fix another thinko
Behdad Esfahbod c479a599 2018-02-07T21:13:10 [subset] Assemble font
Behdad Esfahbod b87cbe2b 2018-02-07T14:11:26 Try fixing build for platforms that have no visibility attributes
Behdad Esfahbod 6804b61d 2018-02-07T13:47:35 [subset] Add hb_subset_face It's a hb_face_t that has add_table() and in the future knows how to compile itself into a font blob.
Behdad Esfahbod f41b9213 2018-02-05T19:51:09 Fix fallthrough compiler warning with gcc >= 7 Fixes https://github.com/harfbuzz/harfbuzz/issues/755
Bruce Mitchener e8859fca 2018-02-04T01:26:57 Enable use of atexit() on macOS and related platforms. The atexit() man page indicates that this is expected to behave in the expected way on unloading of shared libraries.
Behdad Esfahbod ca42d961 2018-01-11T09:15:34 [aat] Implement RearrangementSubtable
Ebrahim Byagowi 5dbbd0fd 2018-01-11T12:33:22 Move the #define of _GNU_SOURCE to the top of hb-private.hh (#697) This fixes the build on Cygwin.
Behdad Esfahbod 7cdd6ab0 2018-01-10T04:33:08 Round, instead of floor, when applying variations Hoping this would fix remaining text-rendering-tests failures, but so far no luck.
Behdad Esfahbod be59f3cb 2017-12-05T09:01:28 Silence unused-variables warning on MSVC Fixes https://github.com/harfbuzz/harfbuzz/issues/635
ebraminio 7c6937e7 2017-11-20T14:49:22 Move all references of old url to the new address (#622)
Behdad Esfahbod 40ec3bbb 2017-11-03T16:57:30 Consolidate debug stuff into hb-debug.hh Part of fixing https://github.com/behdad/harfbuzz/pull/605
Behdad Esfahbod 384862d7 2017-11-03T16:31:47 Remove NO_COPY()
Behdad Esfahbod 8eaff980 2017-10-31T15:30:06 Remove HB_TAG_CHAR4
Behdad Esfahbod c290ba5b 2017-10-31T13:18:21 Define _GNU_SOURCE Might help with https://github.com/behdad/harfbuzz/pull/592 Ie. bringing in qsort_r() prototype always.
Behdad Esfahbod e35a763c 2017-10-30T13:15:05 [post] Implement glyph_from_name() This concludes https://github.com/behdad/harfbuzz/pull/568
Behdad Esfahbod e1a37f3d 2017-10-30T11:42:28 Add hb_string_t
Behdad Esfahbod 0712e915 2017-10-29T17:01:47 Remove hb_compare_func_t
Behdad Esfahbod 51f4d4d5 2017-10-27T15:09:22 Reduce prealloced number of user-data items from 2 to 1 Even 1 is too many but putting 0 breaks compile. Saves 3k in .so
Behdad Esfahbod 62e312ea 2017-10-27T09:29:20 Use NULL instead of polyfill, if nullptr is not available Part of fixing https://github.com/behdad/harfbuzz/issues/585
Behdad Esfahbod 2a749680 2017-10-26T19:48:33 Add hb-string-array.hh Used to build static string arrays that use no relocation.
Behdad Esfahbod 6f08b12b 2017-10-26T18:23:03 Minor
Behdad Esfahbod 2ee710e0 2017-10-23T08:37:48 Minor
Behdad Esfahbod ced86da7 2017-10-22T17:03:36 Another try at fixing mingw32 build bot fail
Behdad Esfahbod 3ee15a60 2017-10-22T17:03:36 Another try at fixing mingw32 build bot fail
Behdad Esfahbod d8adaa97 2017-10-20T13:57:43 Another try at fixing build bots hb-ot-shape.cc:287:18: error: comparison of constant 32 with expression of type 'hb_unicode_general_category_t' is always true [-Werror,-Wtautological-constant-out-of-range-compare]
Behdad Esfahbod 6058f988 2017-10-19T11:39:52 Remove FLAG_SAFE() No flag is safe, over time... See previous commit.
Behdad Esfahbod 221ce6c1 2017-10-15T17:58:58 Fix bots
Behdad Esfahbod 56ef4e0c 2017-10-15T16:38:29 Simplify hb_prealloced_array_t initialization
Behdad Esfahbod 7737e87a 2017-10-15T16:21:03 Properly detect vector_size attribute and use fallback otherwise
Behdad Esfahbod deed4a48 2017-10-15T16:53:09 Faster hb_set_t Fixes https://github.com/behdad/harfbuzz/pull/23
Behdad Esfahbod 5e74044b 2017-10-15T16:15:06 Add bfind() to prealloaced_array_t
Behdad Esfahbod db5f7ef1 2017-10-15T16:00:22 Inline another bsearch()
Behdad Esfahbod 6fb4ac73 2017-10-15T16:00:09 Add popcount for 64bit ints
Behdad Esfahbod 3c13e153 2017-10-15T14:02:58 Try fixing AppVeyor bots
Behdad Esfahbod dbdbfe3d 2017-10-15T12:11:08 Use nullptr instead of NULL
Behdad Esfahbod c3448e8d 2017-10-15T12:02:00 Use static_assert instead of custom ASSERT_STATIC
Behdad Esfahbod 76dcbf8b 2017-10-15T11:24:35 Add polyfill for static_assert and nullptr Also fix hb_assert_constant_t.
Ebrahim Byagowi 76c4873e 2017-06-02T21:53:10 Support branch prediction helpers on clang compiles (#491)
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.
Behdad Esfahbod df98ce5f 2016-12-21T19:27:30 Improve debug output with really deep nesting
Steve Lhomme 0b8f3ab0 2016-07-11T21:57:26 clang in MSVC mode doesn't like when we redefine __attribute__ (#283)
Konstantin Ritt 5069062d 2016-04-26T12:02:26 Unbreak build on Windows CE 0475ef2f97e3035a2eea9a0f96031331e07e8e29 broke the build by using vsnprintf(), which is not defined on Windows CE
Behdad Esfahbod 91dd1156 2016-02-25T13:56:47 Add HB_NDEBUG API changes: - If NDEBUG is defined, define HB_NDEBUG - Disable costlier sanity checks if HB_NDEBUG is defined. In 1.2.3 introduced some code to disable costly sanity checks if NDEBUG is defined. NDEBUG, however, disables all assert()s as well. With HB_NDEBUG, one can disable costlier checks but keep assert()s. I'll probably add a way to define HB_NDEBUG automatically in release tarballs. But for now, production systems that do NOT define NDEBUG, are encouraged to define HB_NDEBUG for our build.
Steven R. Loomis a13b023d 2015-12-11T10:21:27 AIX fixes - use '-w' instead of '\<...\>' for check-header-guards grep manpage says these are the same - put '-q' first in the grep options - move VAR into hb-private.hh - hb-font-private.hh - use [VAR] instead of [] for variable array
Behdad Esfahbod 766963ad 2015-11-24T15:38:43 Merge pull request #114 from ThePhD/vc++-fixes Fix all VC++ warnings and errors
Behdad Esfahbod 1dc32ea4 2015-11-20T13:24:19 Whitespace