|
a11db0b9
|
2020-04-23T15:32:43
|
|
Merge branch 'master' into usermanual-integration
|
|
3e1a2632
|
2019-12-12T15:48:27
|
|
[unscribe] fix leak issue
with no user_data provided, `free` will be called with `(0)` thus silently having a leak
|
|
a0b4ac4d
|
2019-08-24T17:57:14
|
|
Turn 8 spaces to tab across the project
According to the current code style of the project
|
|
eb8bd2f7
|
2019-07-16T22:27:01
|
|
Add hb_gdi_face_create API
Based on Konstantin Ritt work posted on mailing list
|
|
1f943885
|
2019-07-16T11:24:29
|
|
[usp] define atfree callback only if used
|
|
8fe15485
|
2019-06-26T13:49:42
|
|
[config] Add HB_NO_OT_TAG
Part of https://github.com/harfbuzz/harfbuzz/issues/1652
|
|
10bac21b
|
2019-06-18T15:15:06
|
|
[coretext/uniscribe/directwrite] Remove extra semicolons
Fixes https://github.com/harfbuzz/harfbuzz/pull/1783
|
|
aa3450ca
|
2019-06-17T22:41:49
|
|
[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.
|
|
d5e5f378
|
2019-06-05T22:20:03
|
|
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.
|
|
27222253
|
2019-05-20T17:36:18
|
|
[Docs] Add gtk-doc comments to hb-uniscribe.
|
|
68e12e68
|
2019-05-13T17:28:59
|
|
Fix more semi-colon issues
|
|
2fb3a832
|
2019-05-10T18:40:29
|
|
[vector] Simplify arrayZ
Was turned into function when we had static ones and wanted to be
move-safe... Not the case anymore.
|
|
41248cce
|
2019-05-07T20:54:31
|
|
Remove MIN/MAX in favor of hb_min/hb_max
|
|
95df00ae
|
2019-04-12T17:50:03
|
|
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++
|
|
b986c6a3
|
2019-03-29T20:17:46
|
|
[C++11] Remove IntType::set() in favor of operator=
|
|
9a1df82e
|
2019-01-28T14:15:18
|
|
[uniscribe] Whitelist function type cast
|
|
4d3c8f96
|
2019-01-17T19:58:54
|
|
[uniscribe] More warnings
|
|
6a5d2b21
|
2019-01-17T19:57:17
|
|
[uniscribe] Fix warnings
|
|
474a1205
|
2018-12-21T18:46:51
|
|
[array/vector] Rename len to length
|
|
69d232ea
|
2018-12-21T15:08:06
|
|
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]
|
|
e4120085
|
2018-12-17T21:31:01
|
|
Remove redundant void from C++ sources (#1486)
|
|
b2ebaa9a
|
2018-12-16T22:38:10
|
|
Remove redundant 'inline' from methods (#1483)
|
|
27a6b0a2
|
2018-11-29T16:29:30
|
|
Fix build for realz
|
|
e2af4dd1
|
2018-11-29T16:03:15
|
|
[uniscribe] Fix build
|
|
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
|
|
ce5da0f3
|
2018-11-16T02:29:13
|
|
[shaper] Rewrite shaper data code to be more template-driven than macro-driven
|
|
f521a28b
|
2018-11-11T21:32:01
|
|
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.
|
|
1beacdde
|
2018-11-11T16:35:28
|
|
Minor
|
|
252632c4
|
2018-11-05T14:33:41
|
|
[uniscribe] Fix use of deprecated API
|
|
3a4e5dd4
|
2018-10-29T18:05:25
|
|
Remove a few unnecessary hb_auto_t<>'s
See a85641446c30247c4e948263f0f8c1147ed4efb9
|
|
04981ee0
|
2018-10-27T04:40:43
|
|
[docs] More
|
|
46072b7c
|
2018-10-27T04:21:20
|
|
[ot] Fold hb-ot-tag.h into hb-ot-layout.h
|
|
955aa56b
|
2018-10-25T16:50:38
|
|
[vector] Make it act more like pointer
Add pointer cast operator and plus operator.
|
|
0816a549
|
2018-10-06T02:40:57
|
|
[uniscribe/coretext] Fix for previous change
|
|
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.
|
|
4e626278
|
2018-09-16T18:09:36
|
|
Enforce single-param static_assert() only
So we don't accidentally break it again.
|
|
96471fe8
|
2018-09-11T01:39:23
|
|
[uniscribe] Fix build
|
|
c77ae408
|
2018-08-25T22:36:36
|
|
Rename hb-*private.hh to hb-*.hh
Sorry for the noise, downstream custom builders. Please adjust.
|
|
9bbd1cdf
|
2018-08-12T18:20:53
|
|
[uniscribe] Use lazy loader
Fixes https://github.com/harfbuzz/harfbuzz/issues/1129
|
|
747d2564
|
2018-08-12T17:32:10
|
|
[lazy] Port more
|
|
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".
|
|
d4d1bf81
|
2018-08-02T02:04:02
|
|
Fix for recent rename
|
|
91126aa1
|
2018-08-02T02:03:13
|
|
[uniscribe] Update for recent changes
|
|
ed7b2e58
|
2018-08-01T23:59:09
|
|
Remove OT namespace from hb-machinery-private.hh
|
|
3d22aefe
|
2018-08-01T18:03:32
|
|
Rename
|
|
e7737b41
|
2018-07-22T22:24:31
|
|
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); }
|
|
be458eb0
|
2018-07-10T14:41:04
|
|
Include more basic internal headers from hb-private.hh
|
|
f7515769
|
2018-06-01T17:48:37
|
|
[vector] Use Crap pool in push() as well
|
|
65aeabd6
|
2018-05-23T16:15:28
|
|
Add hb_vector_t::push(const Type &v)
Makes for cleaner code.
|
|
93bdf9b2
|
2018-05-09T23:24:17
|
|
Use arrayZ on hb-coretext and hb-uniscribe and fix macOS/Win bots (#1024)
Following to 63f57f4
|
|
37b95612
|
2018-05-01T19:09:00
|
|
Remove hb_auto_array_t
Part of https://github.com/harfbuzz/harfbuzz/issues/1017
|
|
70d36543
|
2018-03-30T05:00:28
|
|
Make atexit callbacks threadsafe (#930)
|
|
48baf7e3
|
2018-03-28T13:38:51
|
|
[uniscribe] Fixup for previous commit
Fixes https://github.com/harfbuzz/harfbuzz/issues/934
|
|
b17e1a40
|
2018-03-28T10:44:52
|
|
[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
|
|
21646cc4
|
2018-02-16T12:08:55
|
|
Do not mark the first glyph as unsafe to break
Fixes #791.
|
|
470fe5b6
|
2018-01-09T15:48:51
|
|
[aat] Implement Lookup table
Untested, but compiles.
|
|
e4da3802
|
2017-11-10T17:14:27
|
|
[coretext/uniscribe/directwrite/graphite/fallback] Update for unsafe-to-break
Fixes https://github.com/behdad/harfbuzz/issues/615
We'll see which bots I broke.
|
|
40ec3bbb
|
2017-11-03T16:57:30
|
|
Consolidate debug stuff into hb-debug.hh
Part of fixing https://github.com/behdad/harfbuzz/pull/605
|
|
2c439210
|
2017-11-01T18:13:35
|
|
[uniscribe] Fix a couple of VS warnings
|
|
98acdde3
|
2017-10-31T11:17:43
|
|
[coretext/uniscribe] Fix build
https://travis-ci.org/behdad/harfbuzz/jobs/295039536#L3468
https://ci.appveyor.com/project/behdad/harfbuzz/build/1.0.697/job/dr1ujlntxafeqbej#L142
|
|
dbdbfe3d
|
2017-10-15T12:11:08
|
|
Use nullptr instead of NULL
|
|
c3448e8d
|
2017-10-15T12:02:00
|
|
Use static_assert instead of custom ASSERT_STATIC
|
|
239119a6
|
2017-08-13T15:08:34
|
|
[unsafe-to-break] Mark all positions as unsafe in alternative shapers
|
|
466b3e58
|
2017-02-03T16:43:25
|
|
Shuffle things around a bit
|
|
72ada4f0
|
2016-09-10T03:57:24
|
|
[GX] Hook up feature variations
Shape-plan caching is not implemented.
|
|
33317310
|
2016-08-08T17:24:04
|
|
Fix sign of shift operators
This one:
map->mask = (1 << (next_bit + bits_needed)) - (1 << next_bit);
before the fix, the shift was done as an int, causing overflow
if it ever got to 1 << 31. Sprinkle 'u's around.
Fixes https://bugs.chromium.org/p/chromium/issues/detail?id=634805
|
|
e6d5e4c3
|
2016-01-06T12:29:50
|
|
[uniscribe] Fix negative advance
This happens with at least one test font I have.
|
|
eaf1e93e
|
2015-12-17T16:57:47
|
|
[uniscribe] Handle E_NOT_SUFFICIENT_BUFFER as well as E_OUTOFMEMORY
On Windows 10 we are seeing that other error message...
Test sequence: U+0995,U+-9CD,U+09B0
With Nirmala shipped on Windows 10, this failed to form the below form.
Works now.
Reported by Sairus.
|
|
163c435f
|
2015-08-20T15:39:06
|
|
[uniscribe] Fix negative offsets
Ouch!
|
|
7c5bee09
|
2015-08-19T13:20:31
|
|
[uniscribe] Fix font scale handling
By default shape at upem (or ppem), and scale results.
Similar to work done in CoreText backend, but using upem as default.
|
|
666b42f7
|
2014-10-14T21:24:59
|
|
Move macros around
Fixes https://bugs.freedesktop.org/show_bug.cgi?id=84491
|
|
15c633dd
|
2014-08-11T13:42:42
|
|
Minor
|
|
92aeee3f
|
2014-08-10T17:42:19
|
|
Minor
|
|
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
|
|
d7c850f8
|
2014-08-02T17:46:38
|
|
[uniscribe] Minor
|
|
db308280
|
2014-07-19T16:32:04
|
|
[win] Consolidate windows.h include tips and tricks
|
|
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.
|
|
fb8cc86f
|
2014-06-19T15:30:18
|
|
Rename sort() to qsort()
In an effort to make the algorithm used clear.
|
|
62cb28df
|
2014-01-20T14:23:08
|
|
fixup for 64-bit windows build
|
|
3216e44f
|
2013-12-23T14:39:23
|
|
[uniscribe] Fix scratch-buffer accounting
|
|
68c372ed
|
2013-11-13T14:44:01
|
|
More scratch-buffer cleanup
|
|
16f175cb
|
2013-11-12T17:22:49
|
|
Fix scratch-buffer alignment warnings
|
|
757a7a90
|
2013-08-28T12:35:13
|
|
[uniscribe] Fixed build with wide chars
https://github.com/blinkseb/harfbuzz/commit/f65dafa4138e1fb4395bf646fa33bb01a86a7e9a
|
|
3409fb1c
|
2013-08-21T17:22:21
|
|
[uniscribe] Ask Uniscribe to return shaping results in logical order
See discussion on the list in the thread "Arabic presentation forms
and the uniscribe backend".
Based on patch from Jonathan Kew.
|
|
1d05fdd0
|
2013-08-20T13:22:21
|
|
[uniscribe] Print run info
|
|
3613696b
|
2013-08-12T00:33:28
|
|
[coretext] Fully support user features
Based on patch from Jonathan Kew and data from Apple.
It's not working correctly though, and I suspect I'm hitting a bug in
CoreText. When I do this:
hb-shape /Library/Fonts/Zapfino.ttf ZapfinoZapfino --shaper coretext \
--features=-liga
I expect both ligatures to turn off, but only the second one does:
[Z_a_p_f_i_n_o=0+2333|Z=7+395|a=8+285|p_f=9+433|i=11+181|n=12+261|o=13+250]
whereas if I disable 'dlig' instead of 'liga', both are turned off.
Smells...
Doesn't resolve conflicting feature settings.
|
|
9a175914
|
2013-08-07T17:26:13
|
|
[uniscribe] Support feature ranges
As Khaled pointed out, right now setting any features, turns kern
and possibly other features off.
|
|
38d5c58d
|
2013-08-06T14:45:36
|
|
[uniscribe] Half-support user features
Turning features on globally works now.
|
|
8b427c78
|
2013-07-22T10:57:05
|
|
[uniscribe] Sanitize font file
|
|
12ff69df
|
2013-07-22T10:52:12
|
|
[uniscribe] Handle TTC when renaming font
|
|
bdeea605
|
2013-07-21T16:22:10
|
|
[uniscribe] Move name generation into separate function
|
|
05bad3b8
|
2013-07-21T17:05:02
|
|
[uniscribe] Use OT::* types
|
|
73f947e2
|
2013-07-21T16:16:35
|
|
[uniscribe] Use blob to pass data around
|
|
8ac2e88d
|
2013-07-21T16:06:49
|
|
[uniscribe] Use unique font name
When installing per-process fonts using AddFontMemResourceEx(),
if a font with the same family name is already installed, sometimes
that one gets used. Which is problematic for us. As such, we
now mangle the font to install a new 'name' table with a unique
name, which we then use to choose the font.
Patch from Jonathan Kew.
|
|
29b596ac
|
2013-07-08T08:37:15
|
|
[uniscribe] Fix buffer allocation
Email from Jonathan Kew:
My cygwin build kept aborting on certain test words when run with the
uniscribe backend. Turned out this was caused by a bug in the allocation
of scratch buffers in hb-uniscribe.cc.
Commit 2a17f9568d9724e045d2c1d660e007f3acd747d9 introduced a new line
ALLOCATE_ARRAY (SCRIPT_VISATTR, vis_attr, glyphs_size);
but it failed to account for this in the computation of glyphs_size
(the number of glyphs for which scratch buffer space is available),
with the result that the vis_clusters array ends up overrunning the
end of the scratch buffer and clobbering the beginning of the buffer's
info[].
AFAICS, the vis_attr array is not actually used, so the simple fix is
to remove the line that allocates it. (If/when we -do- need to use
vis_attr for something, we'll need to add another term to the earlier
calculation of glyphs_size.)
With this patch, the uniscribe backend runs reliably again.
JK
|
|
93a04b8b
|
2013-06-03T17:49:37
|
|
hb-uniscribe.cc: Re-enable build under Visual Studio
-Declare hinstLib at the top of block
-Fix the definitions of the typedefs of ScriptItemizeOpenType,
ScriptShapeOpenType and ScriptPlaceOpenType
|
|
2a17f956
|
2013-05-28T13:10:51
|
|
Bug 55494 - ScriptItemizeOpenType doesn't exists under Windows XP
Fallback to older API if OpenType variants are not available.
|
|
0ae6dbf1
|
2012-12-09T18:37:38
|
|
Minor
|
|
3fe5c159
|
2012-12-09T18:20:19
|
|
Remove excess return
Oops!
|
|
7c8e844d
|
2012-08-28T17:57:49
|
|
Use namespace for OpenType tables
Avoids USHORT, SHORT, ULONG, LONG clashes with Windows API.
|