Behdad Esfahbod
8fe15485cb
[config] Add HB_NO_OT_TAG
...
Part of https://github.com/harfbuzz/harfbuzz/issues/1652
2019-06-26 13:49:42 -07:00
Behdad Esfahbod
10bac21bb5
[coretext/uniscribe/directwrite] Remove extra semicolons
...
Fixes https://github.com/harfbuzz/harfbuzz/pull/1783
2019-06-18 15:15:06 -07:00
Behdad Esfahbod
aa3450cac1
[config] Don't compile disabled features
...
This makes it possible to include all .cc files into build, even if not
building CoreText, Uniscribe, etc.
This was mostly to help custom builders. But also means that we can
include all files in our own build system. Not sure if we should.
Definitely simplifies things, but slightly only.
2019-06-17 22:41:49 -07:00
Eli Zaretskii
d5e5f37832
This makes minor changes to allow building HarfBuzz with
...
mingw.org's MinGW.
src/hb-algs.hh: Don't compile _BitScanForward and _BitScanReverse
for GCC >= 4. mingw.org's MinGW doesn't have these functions.
src/hb-atomic.hh: MemoryBarrier does exist in mingw.org's MinGW,
but it is not a macro, it is an inline function. __MINGW32_VERSION
is a macro that exists only in mingw.org's MinGW, so conditioning
on it should not affect MinGW64, where MemoryBarrier is a macro.
src/hb-uniscribe.cc: Define E_NOT_SUFFICIENT_BUFFER if it is not
defined (mingw.org's MinGW doesn't).
src/hb.hh: Don't include intrin.h for mingw.org's MinGW, since that
header is not available; instead, include windows.h. Conditioned
on __MINGW32_VERSION to avoid affecting MinGW64.
2019-06-05 14:37:51 -07:00
Behdad Esfahbod
68e12e68f8
Fix more semi-colon issues
2019-05-13 17:28:59 -07:00
Behdad Esfahbod
2fb3a8327a
[vector] Simplify arrayZ
...
Was turned into function when we had static ones and wanted to be
move-safe... Not the case anymore.
2019-05-10 18:43:48 -07:00
Behdad Esfahbod
41248cce0e
Remove MIN/MAX in favor of hb_min/hb_max
2019-05-07 20:54:31 -07:00
Behdad Esfahbod
95df00aec1
Hide a few static methods
...
Looks like static methods that do not get inlined end up exported.
We have a lot more. Need to protect all at some point. Wish there
was an easier way, like the visibility flag we pass that automatically
hides all inline methods.
Was exposed by check-symbols.sh when compiling on OS X 10.14 with:
$ make CPPFLAGS=-Oz CXXFLAGS=-flto=thin LDFLAGS=-lc++
2019-04-12 17:51:14 -04:00
Behdad Esfahbod
b986c6a321
[C++11] Remove IntType::set() in favor of operator=
2019-03-29 20:21:21 -07:00
Behdad Esfahbod
9a1df82e3f
[uniscribe] Whitelist function type cast
2019-01-28 14:15:18 -05:00
Behdad Esfahbod
4d3c8f9685
[uniscribe] More warnings
2019-01-17 19:58:54 -05:00
Behdad Esfahbod
6a5d2b21d8
[uniscribe] Fix warnings
2019-01-17 19:57:17 -05:00
Behdad Esfahbod
474a12058d
[array/vector] Rename len to length
2018-12-21 18:53:01 -05:00
Behdad Esfahbod
69d232eaea
Fix bot
...
C:\projects\harfbuzz\src\hb-uniscribe.cc(709): error C2666: 'hb_vector_t<OPENTYPE_FEATURE_RECORD,8>::operator +': 3 overloads have similar conversions [C:\projects\harfbuzz\build\harfbuzz.vcxproj]
2018-12-21 15:08:06 -05:00
Ebrahim Byagowi
e412008599
Remove redundant void from C++ sources ( #1486 )
2018-12-17 13:01:01 -05:00
Ebrahim Byagowi
b2ebaa9afa
Remove redundant 'inline' from methods ( #1483 )
2018-12-16 14:08:10 -05:00
Behdad Esfahbod
27a6b0a2f7
Fix build for realz
2018-11-29 16:29:30 -05:00
Behdad Esfahbod
e2af4dd1ec
[uniscribe] Fix build
2018-11-29 16:03:24 -05:00
Behdad Esfahbod
b89c7fd3dc
Allow defining HB_USE_ATEXIT to 0
...
That's better use of that value than requiring extra macro HB_NO_ATEXIT
2018-11-21 12:32:48 -05:00
Behdad Esfahbod
ce5da0f36a
[shaper] Rewrite shaper data code to be more template-driven than macro-driven
2018-11-16 02:52:20 -05:00
Behdad Esfahbod
f521a28b4a
Embed hb_ot_shape_plan_t into hb_shape_plan_t
...
No other shaper will need shape_plan_data, by definition. So, remove
abstraction layer and always create hb_ot_shape_plan_t as part of
hb_shape_plan_t.
2018-11-11 21:54:10 -05:00
Behdad Esfahbod
1beacdded9
Minor
2018-11-11 16:35:28 -05:00
Behdad Esfahbod
252632c477
[uniscribe] Fix use of deprecated API
2018-11-05 14:33:41 -05:00
Behdad Esfahbod
3a4e5dd425
Remove a few unnecessary hb_auto_t<>'s
...
See a85641446c30247c4e948263f0f8c1147ed4efb9
2018-10-29 22:27:20 -07:00
Behdad Esfahbod
04981ee05d
[docs] More
2018-10-27 04:47:41 -07:00
Behdad Esfahbod
46072b7cb5
[ot] Fold hb-ot-tag.h into hb-ot-layout.h
2018-10-27 04:47:41 -07:00
Behdad Esfahbod
955aa56b11
[vector] Make it act more like pointer
...
Add pointer cast operator and plus operator.
2018-10-25 16:50:38 -07:00
Behdad Esfahbod
0816a54978
[uniscribe/coretext] Fix for previous change
2018-10-06 02:40:57 +02:00
Behdad Esfahbod
606bf57430
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 94bfea0ce6
.
This reverts commit 4e62627831
.
2018-09-16 19:34:39 +02:00
Behdad Esfahbod
4e62627831
Enforce single-param static_assert() only
...
So we don't accidentally break it again.
2018-09-16 18:09:36 +02:00
Behdad Esfahbod
96471fe859
[uniscribe] Fix build
2018-09-11 01:39:23 +02:00
Behdad Esfahbod
c77ae40852
Rename hb-*private.hh to hb-*.hh
...
Sorry for the noise, downstream custom builders. Please adjust.
2018-08-25 22:36:36 -07:00
Behdad Esfahbod
9bbd1cdf06
[uniscribe] Use lazy loader
...
Fixes https://github.com/harfbuzz/harfbuzz/issues/1129
2018-08-12 18:20:53 -07:00
Behdad Esfahbod
747d2564e6
[lazy] Port more
2018-08-12 17:32:10 -07:00
Behdad Esfahbod
1f7380944d
[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".
2018-08-09 00:27:01 -07:00
Behdad Esfahbod
d4d1bf8177
Fix for recent rename
2018-08-02 02:04:02 -07:00
Behdad Esfahbod
91126aa11a
[uniscribe] Update for recent changes
2018-08-02 02:03:13 -07:00
Behdad Esfahbod
ed7b2e58fc
Remove OT namespace from hb-machinery-private.hh
2018-08-02 00:08:08 -07:00
Behdad Esfahbod
3d22aefede
Rename
2018-08-01 18:03:32 -07:00
Behdad Esfahbod
e7737b41d7
Add sanitizer reference_table, also fix clang build
...
Clang is being really peculiar. Fix with:
- inline hb_blob_t *sanitize (hb_blob_t *blob) { return c->sanitize<Type> (blob); }
+ inline hb_blob_t *sanitize (hb_blob_t *blob) { return c[0].template/*clang idiosyncrasy*/sanitize_blob<Type> (blob); }
2018-07-22 22:24:31 -07:00
Behdad Esfahbod
be458eb059
Include more basic internal headers from hb-private.hh
2018-07-10 14:41:04 +02:00
Behdad Esfahbod
f7515769fd
[vector] Use Crap pool in push() as well
2018-06-01 17:48:37 -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
Ebrahim Byagowi
93bdf9b2df
Use arrayZ on hb-coretext and hb-uniscribe and fix macOS/Win bots ( #1024 )
...
Following to 63f57f4
2018-05-09 23:24:17 +04:30
Behdad Esfahbod
37b95612d4
Remove hb_auto_array_t
...
Part of https://github.com/harfbuzz/harfbuzz/issues/1017
2018-05-01 19:09:00 -04:00
Ebrahim Byagowi
70d36543aa
Make atexit callbacks threadsafe ( #930 )
2018-03-29 17:30:28 -07:00
Behdad Esfahbod
48baf7e389
[uniscribe] Fixup for previous commit
...
Fixes https://github.com/harfbuzz/harfbuzz/issues/934
2018-03-28 13:38:51 -07:00
Behdad Esfahbod
b17e1a4088
[uniscribe] Fix assertion fail in checksum calc
...
Program: Z:\Users\ebrahim\Desktop\harfbuzz\winbuild\util\.libs\hb-shape.exe
File: ../../src/hb-open-type-private.hh, Line 769
Expression: 0 == (Length & 3)
abnormal program termination
2018-03-28 10:45:26 -07:00
David Corbett
21646cc4a6
Do not mark the first glyph as unsafe to break
...
Fixes #791 .
2018-02-17 13:35:34 -08:00
Behdad Esfahbod
470fe5b603
[aat] Implement Lookup table
...
Untested, but compiles.
2018-01-10 02:50:49 +01:00