src/hb.hh


Log

Author Commit Date CI Message
Behdad Esfahbod 42ae468a 2019-05-13T23:43:45 [config] Add NDEBUG and HB_NDEBUG Part of https://github.com/harfbuzz/harfbuzz/issues/1652
Behdad Esfahbod e98f0ddd 2019-05-13T13:53:06 Fix extra semi-colon
Behdad Esfahbod e6582de1 2019-05-10T23:53:38 Add hb-config.hh
Behdad Esfahbod 227d85e1 2019-05-10T23:15:58 Minor
Behdad Esfahbod c2c9d204 2019-05-07T23:13:38 Fix double-promotion warnings Make it an error.
Behdad Esfahbod 45f5e562 2019-05-07T00:33:32 Warn on -Wdeprecated
Ebrahim Byagowi e261dc3a 2019-05-07T01:24:55 Ignore -Wc++11-compat as we require C++11 actually pollutes gcc bots logs https://circleci.com/gh/harfbuzz/harfbuzz/85395
Cody Planteen 72e3eba8 2019-05-02T13:03:15 Add configuration option HB_NO_GETENV to disable use of getenv()
Behdad Esfahbod 22da1231 2019-04-24T10:53:16 [map] Fix TODO
Behdad Esfahbod a3fcb9a3 2019-04-16T10:45:20 [meta] Add HB_AUTO_RETURN_EXPR, HB_VOID_RETURN_EXPR, hb_priority, hb_has(), hb_get() The first three based on range-v3.
Behdad Esfahbod 02d864aa 2019-04-15T15:39:03 Add HB_FUNCOBJ() Fixes https://github.com/harfbuzz/harfbuzz/issues/1651
Behdad Esfahbod b52c0e54 2019-04-11T11:20:10 Use injected class name to simplify macros
Behdad Esfahbod baf1e790 2019-04-11T11:18:04 [C++11] Use deleted methods
Behdad Esfahbod 824fd342 2019-04-11T11:16:01 Rename a few macros
Behdad Esfahbod 17f0cfa7 2019-03-31T21:34:19 Move BEInt to hb.hh I knows...
Behdad Esfahbod eca466e6 2019-03-29T15:59:04 Err. Fixup C++11 polyfill removal Fixes 1d75db19fb5df139b9648ff3f5e6184a5c554345
Behdad Esfahbod 3f36c89f 2019-03-29T15:22:46 Inline explicit_operator macro Now that we require C++11, no need to macro.
Behdad Esfahbod 1d75db19 2019-03-29T15:20:34 Remove C++<11 polyfill Leaving hb-atomic.hh as is since harmless and other projects might copy from that file.
Behdad Esfahbod bdd5a9c4 2019-03-28T21:58:07 Add hb_hash() I don't like the hb_remove_reference() hack, but necessary.
Behdad Esfahbod a030ce4f 2019-03-28T21:26:50 Merge branch 'master' into iter
Behdad Esfahbod 8665b9b0 2019-03-28T11:11:52 Comment
Egor Pugin cf040c0f 2019-03-28T19:06:12 Disable unwanted C++ definitions for MSVC. MSVC does not set __cplusplus to the latest standard and also it does not like redefining some keywords.
Behdad Esfahbod e75b2203 2019-01-28T21:26:23 Move hb_addressof() to hb-meta.hh
Behdad Esfahbod 073fa4ac 2019-01-28T14:35:41 Merge branch 'master' into iter
Behdad Esfahbod 51b58488 2019-01-28T14:09:45 [pragma] Silence MSVC unknown-pragma warning
Behdad Esfahbod f35e7eab 2019-01-26T22:50:00 pragma GCC diagnostic error "-Winjected-class-name" See 6b6783e1588ebe5772a1edc19552219e9d931bda
Behdad Esfahbod 50935335 2019-01-26T22:47:35 [iter] Use hb_declval() instead of Null() to get instance I had used Null to make one of the bots happy before. Not going to bend to such demands anymore..
Behdad Esfahbod ac90f17c 2019-01-26T14:05:39 Merge branch 'master' into iter
Behdad Esfahbod 60022ecc 2019-01-26T14:04:51 Fix -Wcast-function-type warnings in util/ with gcc 4.8
Behdad Esfahbod 090fe56d 2019-01-25T15:34:03 Merge branch 'master' into iter
Behdad Esfahbod f60282c5 2019-01-24T16:29:09 More pragma control Fixes https://bugs.chromium.org/p/chromium/issues/detail?id=924848
Behdad Esfahbod 90772725 2019-01-22T12:40:18 pragma GCC diagnostic error "-Wsign-compare"
Behdad Esfahbod c81f02fd 2019-01-22T12:00:44 pragma GCC diagnostic error "-Wvla"
Behdad Esfahbod 6e3ad650 2019-01-09T09:05:01 Rename hb-dsalgs to hb-algs
Behdad Esfahbod f64ea8fc 2018-12-30T18:49:34 [meta] Move code around
Behdad Esfahbod 8c6cbbdf 2018-12-28T14:29:09 [iter/meta] Add hb_is_iterable
Behdad Esfahbod e76a3cae 2018-12-27T17:23:12 Add hb-meta.hh for meta-programming
Behdad Esfahbod 2790aad2 2018-12-26T18:58:42 [iter] Add operator ->
Behdad Esfahbod f13b6786 2019-01-18T14:53:54 [pragma] Only add if GCC or clang
Behdad Esfahbod d9f6be3a 2019-01-18T12:48:01 Fix -Wundef errors with __GNUC__ Fixes https://github.com/harfbuzz/harfbuzz/issues/1549
Behdad Esfahbod 9b4e51b2 2019-01-18T12:23:02 [pragma] Enable error -Wdelete-non-virtual-dtor Currently fails directwrite backend.
Behdad Esfahbod a25174a5 2019-01-18T09:59:36 [pragma] GCC diagnostic error "-Wreorder"
Behdad Esfahbod 46600905 2019-01-18T09:53:16 [pragma] GCC diagnostic warning "-Wmaybe-uninitialized"
Behdad Esfahbod 7a634d7d 2019-01-18T09:49:14 [pragma] Massage more
Behdad Esfahbod 16e5ba85 2019-01-18T09:46:17 [pragma] More
Behdad Esfahbod 2bd530d5 2019-01-18T09:28:22 [pragma] Reorg again https://github.com/harfbuzz/harfbuzz/issues/1546
Behdad Esfahbod c04272fa 2019-01-18T08:49:45 [pragma] GCC diagnostic ignored "-Wunknown-warning-option" Try at fixing https://github.com/harfbuzz/harfbuzz/issues/1546
Behdad Esfahbod a77bd6bb 2019-01-17T19:33:41 [pragma] GCC diagnostic ignored "-Wclass-memaccess"
Behdad Esfahbod 436c7b29 2019-01-17T19:03:33 [pragma] ignored -Wunsafe-loop-optimizations // TODO fix
Behdad Esfahbod e3b3181e 2019-01-17T19:02:06 [pragma] error -Wclass-memaccess
Behdad Esfahbod 1a6b97a4 2019-01-17T18:55:03 [pragma] More
Behdad Esfahbod 06e80916 2019-01-17T18:47:32 [pragma] More
Behdad Esfahbod 1077e40b 2019-01-17T18:36:10 [pragma] Flesh out more
Behdad Esfahbod 14a560a2 2019-01-17T17:42:44 [pragma GCC] Ignore -Wtype-limits
Behdad Esfahbod 3f2daae6 2019-01-17T15:27:31 More GCC pragmas
Behdad Esfahbod d6c5473e 2019-01-17T15:22:46 Rename macro
Behdad Esfahbod a9946b7c 2019-01-17T15:22:28 Add more GCC warning pragmas
Behdad Esfahbod 868b0c0c 2019-01-17T15:08:36 Move -Wcast-align to hb.hh
Behdad Esfahbod 9f6172d6 2019-01-14T20:45:31 Move _POSIX_SOURCE definition Fixes https://github.com/harfbuzz/harfbuzz/issues/1308
Behdad Esfahbod d092fb27 2018-12-30T01:53:03 Ouch! Fix build on C++<11
Behdad Esfahbod 357a0a7a 2018-12-27T18:29:23 Fix build on C++ < 11
Behdad Esfahbod fa333e34 2018-12-27T17:56:22 [vector] Remove static_array Was good idea, but with C++ types with constructor/destructor, was getting in the way as compiler was destructing those items where it was not desired. Since C++ does not allow zero-sized arrays, just remove it...
Behdad Esfahbod d25a2f14 2018-12-23T20:19:52 Fix a few warnings
Behdad Esfahbod 865deeb3 2018-12-21T17:35:58 Adjust internal header dependencies
Behdad Esfahbod f419cef4 2018-12-21T17:22:09 [iter] Include from hb.hh
Behdad Esfahbod 49334f9b 2018-12-17T18:27:36 Enable system extensions in hb.hh Fixes https://github.com/harfbuzz/harfbuzz/issues/1491
Behdad Esfahbod 483f2491 2018-12-17T17:56:10 Remove define GNU_SOURCE Not needed. We get it in our config.h automatically thanks to AC_USE_SYSTEM_EXTENSIONS. Let's see whose build it breaks... If we end up putting it back, we should add other things from that macro and remove the macro.
Behdad Esfahbod 87ff65ae 2018-12-17T17:19:42 Fix more warnings
Ebrahim Byagowi e4120085 2018-12-17T21:31:01 Remove redundant void from C++ sources (#1486)
Behdad Esfahbod 01d06e34 2018-12-16T14:27:43 Minor change to explicit_operator aesthetics
Behdad Esfahbod b206133d 2018-11-23T14:05:11 [aat] Move contents of hb-aat.h to hb-aat-layout.h Since it was pages and pages...
Ebrahim Byagowi a8726cb4 2018-11-17T14:23:11 [feat] Use bsearch
Behdad Esfahbod f99abcc3 2018-11-24T00:22:21 Add template-function convenience macros
Behdad Esfahbod 3d2b98ef 2018-11-23T10:45:44 Minor
Behdad Esfahbod a2d6c107 2018-11-22T22:40:57 Minor tweak to FLAG64
Behdad Esfahbod 8280459e 2018-11-22T22:39:12 Merge pull request #1291 from harfbuzz/use-reordering [use] Fix reordering
Behdad Esfahbod b89c7fd3 2018-11-21T12:32:48 Allow defining HB_USE_ATEXIT to 0 That's better use of that value than requiring extra macro HB_NO_ATEXIT
David Corbett 3c7792ca 2018-10-20T15:02:26 [use] Fix reordering Fixes #1235.
Ken Brown eee5b5ed 2018-11-12T21:05:39 Don't use Win32 API on Cygwin Cygwin is a Posix platform to the extent possible. It should use the Posix API except in special circumstances.
Behdad Esfahbod ae9ad107 2018-11-03T21:41:50 Fix "Warning: extra ";" ignored."
Ebrahim Byagowi f7a08cd4 2018-10-30T11:29:09 Fix extra semicolon issues and test that on CI (#1330)
Behdad Esfahbod 67a22f37 2018-10-29T17:37:41 [set/map/vector] Make constructable, but not copy or assignable Disable copy/assign on them, as they shouldn't. Make constructor / destructor call init_shallow/fini_shallow, and make those idempotent. So, these three can be constructed on stack now and no init/fini call is needed. As such, hb_auto_t<> is not needed anymore. I'll remove that separately.
Behdad Esfahbod ea0e51d1 2018-10-29T16:00:23 Add HB_NO_CREATE_COPY_ASSIGN
Behdad Esfahbod 14b353c1 2018-10-29T15:29:13 One more iteration
Behdad Esfahbod c7c5df9f 2018-10-29T15:16:52 Try fixing older bots Older C++ doesn't allow struct-with-constructor in union.
Behdad Esfahbod 35d410f2 2018-10-29T14:45:44 Remove ASSERT_POD Newer compilers / language allows structs with constructor in union. So, this was not actually testing anything. Indeed, the recent change in DISALLOW_COPY *is* making some of our types non-POD. That broke some bots. Just remove this since it wasn't doing much, and I'd rather have DISALLOW_COPY.
Behdad Esfahbod a256a92b 2018-10-29T11:25:35 Make Array types uncopyable-unassignable Finally! Catches hard-to-find errors like this: - const SortedArrayOf<SVGDocumentIndexEntry> docs = this+svgDocEntries; + const SortedArrayOf<SVGDocumentIndexEntry> &docs = this+svgDocEntries; We implement this for our array types. This, in turn, trickles down into all types that embed the arrays. So, as long as we define all open-ended structs in terms of Array types (all can be done using UnsizedArrayOf), this achieves the goal of making uncopyable all structs that are variable-sized. Yay!
Behdad Esfahbod 07386ea4 2018-10-22T21:18:27 Remove const and references when binding Null() Fixes https://github.com/harfbuzz/harfbuzz/issues/1299 Removes anomaly I was seeing in cpal table trying to use implicit Null(NameID).
Behdad Esfahbod 62376a7d 2018-10-14T15:20:50 Ignore signed-integer-overflow while kerning Fixes https://github.com/harfbuzz/harfbuzz/issues/1247
Behdad Esfahbod bdb53ca2 2018-10-11T20:20:00 [myanmar] Implement Zawgyi shaper Enabled if script tag 'Qaag' is passed to HarfBuzz. Disables mark advance-zeroing and fallback mark-positioning. Fixes https://github.com/harfbuzz/harfbuzz/issues/1162
Behdad Esfahbod 1e8fdd28 2018-10-10T16:32:35 Remove HAVE_OT We never tested compiling without it. Just kill it. We always build our own shaper.
Chun-wei Fan 8e4ad1d7 2018-07-25T18:12:34 builds: Fix and clean up MSVC DLL builds Instead of passing a CFLAG/CXXFLAG to define HB_EXTERN, define it directly in src/hb.hh as __declspec(dllexport) extern when we are building HarfBuzz as DLLs on Visual Studio. Define HB_INTERNAL as nothing without defining HB_NO_VISIBILITY when building HarfBuzz as DLLs to avoid linker errors on Visual Studio builds. Also "install" harfbuzz-subset.dll into $(PREFIX)\bin as the hb-subset utility will depend on that DLL at runtime, when HarfBuzz is built as DLLs. Since it consists of private APIs that are subject to change, we do not install its headers nor .lib file.
Behdad Esfahbod 3f08750f 2018-09-30T18:23:34 Move _POSIX_SOURCE to hb.hh
Matt Oliver 24dd6c1a 2018-09-23T18:08:30 src/hb-blob.cc: Fix mmap functionality with UWP.
Behdad Esfahbod 606bf574 2018-09-16T19:33:48 Revert forcing use of single-parameter static_assert() Some clang versions define static_assert as a macro apparently, so we cannot redefine it... This reverts commit 94bfea0ce6a7b4d5641c198d50751748a353df11. This reverts commit 4e62627831e7457ed60ff87712570065b14b200a.
Behdad Esfahbod 4e626278 2018-09-16T18:09:36 Enforce single-param static_assert() only So we don't accidentally break it again.
Behdad Esfahbod c77ae408 2018-08-25T22:36:36 Rename hb-*private.hh to hb-*.hh Sorry for the noise, downstream custom builders. Please adjust.