Behdad Esfahbod
6c2227640b
Add HB_DISALLOW_COPY_AND_ASSIGN
2018-05-25 16:21:27 -07:00
Behdad Esfahbod
7f7b1370d3
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.
2018-05-24 14:09:04 -07:00
Behdad Esfahbod
31c4236d96
Underflow protection in hb_vector_t
2018-05-24 13:53:02 -07:00
Behdad Esfahbod
f83e992c8b
Mark CrapPool thread_local
...
Not sure if I like to keep it. For now, aim for correctness.
2018-05-24 13:53:02 -07:00
Behdad Esfahbod
5d80129891
Add CrapPool
...
Common Regoin for Access Protection. Like the NullPool, but writable.
2018-05-24 13:53:02 -07:00
Behdad Esfahbod
673b764de0
Move code around
2018-05-24 13:53:02 -07:00
Behdad Esfahbod
65aeabd622
Add hb_vector_t::push(const Type &v)
...
Makes for cleaner code.
2018-05-24 13:53:02 -07:00
Behdad Esfahbod
6c818c5516
Actually enable vectorized operations
...
Fixup for previous commit. Was accidentally turned off.
2018-05-22 22:00:05 -07:00
Behdad Esfahbod
f56a250b04
Another try at smart vectorization
...
Make clang happy. Also, don't use anonymous union.
2018-05-22 21:36:07 -07:00
Behdad Esfahbod
b995b501ef
Try enabling vectorization smartly
...
We'll see if this sticks to the bots.
2018-05-22 21:06:22 -07:00
Behdad Esfahbod
191c4edc54
Reinstante DEFINE_NULL_DATA
...
Seems like I messed up; buffer overrun got reported.
2018-05-09 15:31:57 -07:00
Behdad Esfahbod
63f57f4dab
Mark more unsized array's as arrayZ
2018-05-08 16:56:11 -07:00
Behdad Esfahbod
abc12f7b81
Move null pool to hb-private
2018-05-08 02:23:36 -07:00
Behdad Esfahbod
08e280fd84
Rename hb_string_t to hb_bytes_t
2018-05-08 01:57:27 -07:00
Behdad Esfahbod
bd021a6720
Minor
2018-05-08 01:50:30 -07:00
Behdad Esfahbod
5c3112aec8
s/hb_prealloced_array_t/hb_vector_t/g
...
Part of https://github.com/harfbuzz/harfbuzz/issues/1017
2018-05-01 19:07:04 -04:00
Behdad Esfahbod
4a01eb1234
Add hb_auto_t
...
Part of https://github.com/harfbuzz/harfbuzz/issues/1017
2018-05-01 19:05:58 -04:00
Behdad Esfahbod
a60ba7964e
s/finish/fini
...
For consistency.
2018-05-01 19:01:25 -04:00
Tor Andersson
8f4c12308a
Reinstate support for Visual Studio 2005
2018-04-13 23:01:54 +04:30
Ebrahim Byagowi
632713babb
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.
2018-04-12 14:17:03 +04:30
Ebrahim Byagowi
f24b0b9728
Update the links and revive the dead ones
2018-04-12 13:44:32 +04:30
Behdad Esfahbod
c14b24fcd0
Add HB_NO_ATEXIT
2018-03-26 10:44:54 -07:00
Behdad Esfahbod
ebccd01974
More ULL fixes
...
Fixes https://github.com/harfbuzz/harfbuzz/issues/901
2018-03-24 17:51:55 -07:00
Behdad Esfahbod
7ec3ba21f0
Define uint64_t constants with ULL suffix
...
Fixes https://github.com/harfbuzz/harfbuzz/issues/901
2018-03-24 14:12:12 -07:00
Chun-wei Fan
19256bef9d
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.
2018-03-23 15:52:33 -07:00
Behdad Esfahbod
86a0ac284f
Revert "hb-private.hh: Add fallback implementation for round()"
...
This reverts commit b9dcbb1f83
.
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.
2018-03-15 07:47:02 -07:00
Chun-wei Fan
b9dcbb1f83
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.
2018-03-13 20:17:52 +08:00
Behdad Esfahbod
97a7110215
Fix BitScanForward() usage
...
Should fix Win64 bot.
2018-02-18 10:50:24 -08:00
Behdad Esfahbod
cd11107bb4
Another bitops fallback fix
...
I'm confident that all bugs are hashed out now.
2018-02-16 18:28:58 -08:00
Behdad Esfahbod
4e517ecb6b
Another bitops fallback impl fix
2018-02-16 18:20:12 -08:00
Behdad Esfahbod
6a91a2eb04
Fix wide bitops implemenetation
2018-02-16 17:49:41 -08:00
Behdad Esfahbod
6d5c0bf8b1
Fix bitops fallback impl
2018-02-16 17:33:26 -08:00
Behdad Esfahbod
82eb1dac16
Flesh out other bit ops some more for 128bit as well
2018-02-16 16:52:09 -08:00
Behdad Esfahbod
864a2dddae
Clean up bit functions
...
Compile all code-paths possible, to better catch errors.
Also enable MSVC ones on mingw which seems to support them.
2018-02-16 16:09:38 -08:00
Behdad Esfahbod
978ace6fbb
Improve _hb_popcount()
...
Support 128bit type.
2018-02-16 16:08:45 -08:00
Arkady Shapkin
d37310ac5d
Remove checking macros __OPTIMIZE__ for MSVC
...
Visual C++ compiler doesn't define macros __OPTIMIZE__ when optimizations enabled
2018-02-16 12:40:11 -08:00
Ebrahim Byagowi
139c9928f6
Fix hb-private.hh compile issue
2018-02-16 13:27:26 +03:30
Arkady Shapkin
6c10328eb8
Use _BitScanForward and _BitScanReverse on MSVC
2018-02-15 14:31:25 -08:00
Behdad Esfahbod
90d1c740c3
Add MSVC to no-visibility list
2018-02-11 19:08:59 -08:00
Behdad Esfahbod
0db6c6f214
Add Sun compiler to no-visibility as well
...
Fixes https://github.com/harfbuzz/harfbuzz/pull/776
2018-02-11 18:29:01 -08:00
Behdad Esfahbod
cd32177a32
Try at fixing multiple-definition of NullPool
...
If we don't have visibility, make NullPool static.
2018-02-11 19:36:00 -06:00
Behdad Esfahbod
af274507c4
Minor
2018-02-10 13:25:49 -06:00
Behdad Esfahbod
570d523761
[subset] Merge remote-tracking branch 'googlefonts/master'
2018-02-10 13:24:22 -06:00
Rod Sheeter
4816064c0e
add missing return
2018-02-09 17:14:37 -08:00
Behdad Esfahbod
8cef3a6199
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
2018-02-09 16:04:23 -06:00
Rod Sheeter
59c658c8d5
capture codepoints sorted so we can use them for cmap later. one day we will have a map
2018-02-08 19:22:47 -08:00
Behdad Esfahbod
931f8b7eb5
Fix another thinko
2018-02-07 21:42:03 -06:00
Behdad Esfahbod
c479a59988
[subset] Assemble font
2018-02-07 21:26:04 -06:00
Behdad Esfahbod
b87cbe2bec
Try fixing build for platforms that have no visibility attributes
2018-02-07 14:11:26 -05:00
Behdad Esfahbod
6804b61d2e
[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.
2018-02-07 13:47:35 -05:00