Commit Graph

4433 Commits

Author SHA1 Message Date
Chun-wei Fan d7b6636e5e build: Support Visual Studio builds using NMake
This adds a set of NMake Makefiles that can be used to build HarfBuzz, from
the standard basic build building the minimal HarfBuzz DLL (consisting
of OpenType, fallback and Uniscribe support only), to a full fledged build
consisting of GLib and FreeType support, as well as building the utilities,
the test programs in src/ and test/api, and HarfBuzz-ICU and
HarfBuzz-GObject, and up to building the introspection files.  This means a
flexible build mechanism is supported here, so anything that is supported
for a Windows build (code-wise), should all be supported by this build
system.

As in an earlier commit, the source listings are shared with the autotools
builds with the various Makefile.sources in src/, src/hb-ucdn and util/, and
this set of NMake Makefiles will transform these lists into the form they
want.

In the current form, all the test programs in test/api pass, and this has
been checked successfully with 'make -j8 distcheck'.
2016-02-03 18:14:30 +08:00
Chun-wei Fan 5c3e7260bc MSVC builds: Add a pre-configured config.h(.win32) template
This adds a pre-configured config.h template that can be used for Visual
Studio builds, where autotools is not normally available.  This has the
configs that are suitable for Visual Studio builds, as well as all the
features used for Windows builds enabled (HAVE_OT, HAVE_FALLBACK and
HAVE_UNISCRIBE).

Note that the optional features are not enabled here, they are enabled by
/D's (or -D's) in the NMake Makefiles as requested.
2016-02-03 18:14:30 +08:00
Chun-wei Fan 35ded3af74 build: Move source listings into separate Makefile snippets
This moves all the source listings in src/Makefile.am,
src/hb-ucdn/Makefile.am and util/Makefile.am into separate Makefile
snippets, so that they may be shared between different Makefile-based
build systems, such as NMake for Visual Studio.
2016-02-03 18:14:29 +08:00
Behdad Esfahbod b894a85ad1 Fix more hangs in case of buffer allocation errors
Hopefully
fixes https://github.com/behdad/harfbuzz/issues/214
2016-02-02 16:39:19 +08:00
Behdad Esfahbod b693992ea1 Merge pull request #222 from n8willis/master
Add usermanual chapter on cluster levels
2016-02-02 12:33:32 +08:00
n8willis 498574e6c1 Update Makefile.am 2016-01-28 12:21:32 -06:00
n8willis e12fc66699 Added initial usermanual chapter on cluster levels. 2016-01-28 12:14:12 -06:00
Behdad Esfahbod 9a6a33ccbe Merge pull request #216 from mhosken/master
Refactor graphite2 to make ovleraps into negative width spaces
2016-01-18 12:47:18 +01:00
Martin Hosken 146fe252c3 Refactor graphite2 to make ovleraps into negative width spaces 2016-01-16 17:24:00 -06:00
Behdad Esfahbod d05b783322 Fix compiler warning
Fixes https://github.com/behdad/harfbuzz/issues/212
2016-01-12 16:17:21 +00:00
Behdad Esfahbod d163dc18e6 Minor 2016-01-12 13:05:01 +00:00
Behdad Esfahbod 505b7d4732 [fuzzing] Fuzz input text
Very rudimentary right now, but will get kcc's bot going.

From
https://github.com/behdad/harfbuzz/issues/139#issuecomment-163580783
2016-01-11 18:31:04 +00:00
Behdad Esfahbod 3e704521f6 [OT] Get list of lookup subtables once and loop through them
This speeds up shaping the Amiri font by over 15%.

This was primarily needed for my work on OpenType GX, since
we will be collecting only sublookups that are "active" for
current font instance; but it's a nice boost in general as
well.

We might, in the future, collect subtables in the lookup_accel.
That would also allow us to do a per-subtbale set-digest, which
should speed things up some more, specially for ContextChainFormat3
lookups...  Amiri, for example, contains one lookup with 53
subtables!
2016-01-11 17:38:41 +00:00
Behdad Esfahbod 11441291bb 1.1.3 2016-01-11 13:16:35 +00:00
Behdad Esfahbod 97624d9244 [docs] Minor fixes. 2016-01-11 12:58:45 +00:00
Behdad Esfahbod a39ff95fce [coretext] Speed up CoreText font fallback
Fixes https://code.google.com/p/chromium/issues/detail?id=547912
2016-01-11 12:28:37 +00:00
Behdad Esfahbod 5afebbdcb2 Add Homebrew build instructions 2016-01-07 22:53:59 +00:00
Behdad Esfahbod e8a27d7947 Don't build hb-fuzzer in "make", only "make check" 2016-01-07 22:52:16 +00:00
Behdad Esfahbod 25671466d2 Add 9 reserved entries to hb_font_extents_t
Might add italic-angle, underline/strikethrough-position/thickness
in the future.  Do this before new struct goes into a release.
2016-01-07 19:13:47 +00:00
Behdad Esfahbod e6d5e4c310 [uniscribe] Fix negative advance
This happens with at least one test font I have.
2016-01-06 12:29:50 +00:00
Behdad Esfahbod 99d3495576 [test] Add test text for Kaithi 2016-01-06 12:21:54 +00:00
Behdad Esfahbod 53c47c8582 Increase sanitize edit count from 8 to 32
See previous commit.
2016-01-05 13:26:20 +00:00
Behdad Esfahbod da2fcfdc51 Don't count fixing-up FeatureParams offset as error
The font Garamond Premier Pro Caption (and possibly many other
Adobe fonts), have many FeatureParamsSize tables with the old
wrong offset.  We handle fixing those up, but they were still
contributing to edit_count, and when I reduced HB_SANITIZE_MAX_EDIT
from 100 to 8 in 14c2de3218, these
fonts were now getting GPOS dropped and hence kerning disabled.

Fix, by not counting edits made towareds offset fix-up.  I'll
also increase edit count again, in the next commit.
2016-01-05 13:23:45 +00:00
Behdad Esfahbod d0adc80965 Check magicNumber in head table during sanitize 2016-01-02 13:25:36 +00:00
Behdad Esfahbod 3a48c77670 Merge pull request #208 from khaledhosny/travis-trusty
[travis] Try building on Trusty
2016-01-02 00:59:14 +00:00
Khaled Hosny 4b4948d360 [travis] Try building on Trusty
Trusty has gtk-doc 1.20 which has better markdown support which should
fix some of the brokenness in the newly added documentation. The build
seems to be as fast as the current container-based build on Precise.
2016-01-02 01:16:13 +04:00
Behdad Esfahbod 9230911fac [travis] Only run coveralls if testing behdad/harfbuzz
Fixes failures in others' forks, like:
https://travis-ci.org/khaledhosny/harfbuzz/jobs/99719710#L3912
2016-01-01 19:06:43 +00:00
Behdad Esfahbod 6f66f05757 Merge pull request #207 from khaledhosny/docs-4
[docs] More buffers documentation
2016-01-01 16:44:01 +00:00
Khaled Hosny 9ab9f974d4 [docs] More buffers documentation 2016-01-01 20:38:21 +04:00
Behdad Esfahbod bfdf684f79 Merge pull request #205 from khaledhosny/more-docs
More docs
2015-12-30 22:20:14 +01:00
Behdad Esfahbod d7ed6f50b4 Merge pull request #206 from nico/patch-3
Remove unused HB_SHAPER_DATA_ENSURE_DECLARE lines.
2015-12-30 22:20:00 +01:00
Nico Weber a7f0e25daf Remove unused HB_SHAPER_DATA_ENSURE_DECLARE lines.
The coretext_aat shaper delegates to the regular coretext_..._ensure() functions, so coretext_aat_..._ensure() functions defined by these macros are unused. The compiler warns about them, which in turn can confuse people to think that the coretext_aat_..._ensure() functions weren't called by accident.
2015-12-30 16:05:52 -05:00
Khaled Hosny 85c2443b73 [docs] Reduce gtkdoc-check errors
Now it is just reporting one error about “503 undocumented or incomplete
symbols”, that will be the easy part I guess.
2015-12-30 22:57:04 +04:00
Khaled Hosny 9cffe329f1 [docs] Typo 2015-12-30 22:50:08 +04:00
Behdad Esfahbod b758e5ea22 Merge pull request #203 from nico/patch-1
Remove unused `retry:` label.
2015-12-30 16:44:19 +01:00
Behdad Esfahbod 266bfa3772 [docs] Minor 2015-12-30 16:25:48 +01:00
Behdad Esfahbod d08035f8f1 [docs] Fix up build, really 2015-12-30 16:15:36 +01:00
Behdad Esfahbod 0d45c3cf63 [docs] Turn bash tracing on 2015-12-30 16:09:39 +01:00
Behdad Esfahbod 33b2d981a0 [docs] Another try, not sure why the bot isn't building 2015-12-30 15:56:56 +01:00
Behdad Esfahbod f3a051149b [docs] Shuffling code around in deploy-docs.sh
Temporarily makes it rebuild docs on every change again.
2015-12-30 15:45:43 +01:00
Behdad Esfahbod 8f31d0a94b Merge pull request #202 from khaledhosny/doc-fixes
Doc fixes
2015-12-30 15:13:37 +01:00
Khaled Hosny fb192c263e [docs] A bit more buffers documentation 2015-12-30 17:59:01 +04:00
Khaled Hosny 8ab797c5b8 [docs] A bit more buffers documentation 2015-12-30 17:59:01 +04:00
Khaled Hosny f18d2226b6 [docs] Some documentation on buffers
Some of it (create, reference, destroy) are adapted from Cairo docs.
2015-12-30 17:59:01 +04:00
Khaled Hosny d7bf9d05c5 [docs] Fix comment syntax
To lower the number of gtk-doc warnings.
2015-12-30 17:58:53 +04:00
Nico Weber 8b1224f0ee Remove unused `retry:` label.
Fixes a -Wunused-label warning when building harfbuzz with clang -Wall.
2015-12-28 21:31:28 -05:00
Khaled Hosny 1f5559293f [docs] Ignore the new HB_EXTERN decoration
Otherwise, almost all API functions are not extracted.
2015-12-29 02:31:39 +04:00
Khaled Hosny 9d280cf49f Fix previous commit 2015-12-26 06:45:51 +04:00
Khaled Hosny b789199f10 [travis] Build docs only on tagged revisions
Lets see if it works…
2015-12-26 06:35:08 +04:00
Behdad Esfahbod e5b90c08a4 [travis] Remove secure var
I've set up a secure var for behdad/harfbuzz through Travis web interface, no need
to set the var here.
2015-12-25 18:41:41 +01:00