platform/upstream/libHarfBuzzSharp.git
8 years agoMerge pull request #164 from fanc999/msvc.build
Behdad Esfahbod [Wed, 10 Feb 2016 04:11:36 +0000 (11:11 +0700)]
Merge pull request #164 from fanc999/msvc.build

Enable Build of HarfBuzz under Visual Studio using NMake Makefiles

8 years ago[README] Add ABI Tracker link
Behdad Esfahbod [Wed, 10 Feb 2016 04:10:08 +0000 (11:10 +0700)]
[README] Add ABI Tracker link

8 years agoMSVC builds: Add support to build DirectWrite shaping backend
Chun-wei Fan [Wed, 9 Dec 2015 06:57:15 +0000 (14:57 +0800)]
MSVC builds: Add support to build DirectWrite shaping backend

Add into the NMake Makefiles to build the DirectWrite shaping backend,
but as PR #134 mentions, this is considered to be in an experimental state,
so don't include this in the build by default for now.  This is most probably
going to replace the Uniscribe backend eventually, since DirectWrite is meant
to be Uniscribe's replacement, and is needed for Windows Store apps if a
system shaping API is to be used.

8 years agobuild: Build the DirectWrite sources if requested
Chun-wei Fan [Wed, 3 Feb 2016 10:31:23 +0000 (18:31 +0800)]
build: Build the DirectWrite sources if requested

This adds to the autotools build system so that the (experimental)
DirectWrite support for HarfBuzz is built (and dist'ed).

8 years agobuild: Support Visual Studio builds using NMake
Chun-wei Fan [Tue, 3 Nov 2015 11:00:42 +0000 (19:00 +0800)]
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'.

8 years agoMSVC builds: Add a pre-configured config.h(.win32) template
Chun-wei Fan [Tue, 3 Nov 2015 10:52:46 +0000 (18:52 +0800)]
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.

8 years agobuild: Move source listings into separate Makefile snippets
Chun-wei Fan [Tue, 3 Nov 2015 08:56:27 +0000 (16:56 +0800)]
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.

8 years agoFix more hangs in case of buffer allocation errors
Behdad Esfahbod [Tue, 2 Feb 2016 08:39:19 +0000 (16:39 +0800)]
Fix more hangs in case of buffer allocation errors

Hopefully
fixes https://github.com/behdad/harfbuzz/issues/214

8 years agoMerge pull request #222 from n8willis/master
Behdad Esfahbod [Tue, 2 Feb 2016 04:33:32 +0000 (12:33 +0800)]
Merge pull request #222 from n8willis/master

Add usermanual chapter on cluster levels

8 years agoUpdate Makefile.am
n8willis [Thu, 28 Jan 2016 18:21:32 +0000 (12:21 -0600)]
Update Makefile.am

8 years agoAdded initial usermanual chapter on cluster levels.
n8willis [Thu, 28 Jan 2016 18:14:12 +0000 (12:14 -0600)]
Added initial usermanual chapter on cluster levels.

8 years agoMerge pull request #216 from mhosken/master
Behdad Esfahbod [Mon, 18 Jan 2016 11:47:18 +0000 (12:47 +0100)]
Merge pull request #216 from mhosken/master

Refactor graphite2 to make ovleraps into negative width spaces

8 years agoRefactor graphite2 to make ovleraps into negative width spaces
Martin Hosken [Sat, 16 Jan 2016 23:24:00 +0000 (17:24 -0600)]
Refactor graphite2 to make ovleraps into negative width spaces

8 years agoFix compiler warning
Behdad Esfahbod [Tue, 12 Jan 2016 16:17:21 +0000 (16:17 +0000)]
Fix compiler warning

Fixes https://github.com/behdad/harfbuzz/issues/212

8 years agoMinor
Behdad Esfahbod [Tue, 12 Jan 2016 13:05:01 +0000 (13:05 +0000)]
Minor

8 years ago[fuzzing] Fuzz input text
Behdad Esfahbod [Mon, 11 Jan 2016 18:31:04 +0000 (18:31 +0000)]
[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

8 years ago[OT] Get list of lookup subtables once and loop through them
Behdad Esfahbod [Mon, 11 Jan 2016 17:38:41 +0000 (17:38 +0000)]
[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!

8 years ago1.1.3
Behdad Esfahbod [Mon, 11 Jan 2016 13:16:35 +0000 (13:16 +0000)]
1.1.3

8 years ago[docs] Minor fixes.
Behdad Esfahbod [Mon, 11 Jan 2016 12:58:45 +0000 (12:58 +0000)]
[docs] Minor fixes.

8 years ago[coretext] Speed up CoreText font fallback
Behdad Esfahbod [Mon, 11 Jan 2016 12:28:37 +0000 (12:28 +0000)]
[coretext] Speed up CoreText font fallback

Fixes https://code.google.com/p/chromium/issues/detail?id=547912

8 years agoAdd Homebrew build instructions
Behdad Esfahbod [Thu, 7 Jan 2016 22:53:59 +0000 (22:53 +0000)]
Add Homebrew build instructions

8 years agoDon't build hb-fuzzer in "make", only "make check"
Behdad Esfahbod [Thu, 7 Jan 2016 22:52:16 +0000 (22:52 +0000)]
Don't build hb-fuzzer in "make", only "make check"

8 years agoAdd 9 reserved entries to hb_font_extents_t
Behdad Esfahbod [Thu, 7 Jan 2016 19:11:41 +0000 (19:11 +0000)]
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.

8 years ago[uniscribe] Fix negative advance
Behdad Esfahbod [Wed, 6 Jan 2016 12:29:50 +0000 (12:29 +0000)]
[uniscribe] Fix negative advance

This happens with at least one test font I have.

8 years ago[test] Add test text for Kaithi
Behdad Esfahbod [Wed, 6 Jan 2016 12:20:47 +0000 (12:20 +0000)]
[test] Add test text for Kaithi

8 years agoIncrease sanitize edit count from 8 to 32
Behdad Esfahbod [Tue, 5 Jan 2016 13:26:20 +0000 (13:26 +0000)]
Increase sanitize edit count from 8 to 32

See previous commit.

8 years agoDon't count fixing-up FeatureParams offset as error
Behdad Esfahbod [Tue, 5 Jan 2016 13:23:45 +0000 (13:23 +0000)]
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 14c2de321826c36037adde859ccca3e2011325a9, 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.

8 years agoCheck magicNumber in head table during sanitize
Behdad Esfahbod [Sat, 2 Jan 2016 13:25:18 +0000 (13:25 +0000)]
Check magicNumber in head table during sanitize

8 years agoMerge pull request #208 from khaledhosny/travis-trusty
Behdad Esfahbod [Sat, 2 Jan 2016 00:59:14 +0000 (00:59 +0000)]
Merge pull request #208 from khaledhosny/travis-trusty

[travis] Try building on Trusty

8 years ago[travis] Try building on Trusty
Khaled Hosny [Fri, 1 Jan 2016 20:36:19 +0000 (00:36 +0400)]
[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.

8 years ago[travis] Only run coveralls if testing behdad/harfbuzz
Behdad Esfahbod [Fri, 1 Jan 2016 19:06:43 +0000 (19:06 +0000)]
[travis] Only run coveralls if testing behdad/harfbuzz

Fixes failures in others' forks, like:
https://travis-ci.org/khaledhosny/harfbuzz/jobs/99719710#L3912

8 years agoMerge pull request #207 from khaledhosny/docs-4
Behdad Esfahbod [Fri, 1 Jan 2016 16:44:01 +0000 (16:44 +0000)]
Merge pull request #207 from khaledhosny/docs-4

[docs] More buffers documentation

8 years ago[docs] More buffers documentation
Khaled Hosny [Fri, 1 Jan 2016 16:38:21 +0000 (20:38 +0400)]
[docs] More buffers documentation

8 years agoMerge pull request #205 from khaledhosny/more-docs
Behdad Esfahbod [Wed, 30 Dec 2015 21:20:14 +0000 (22:20 +0100)]
Merge pull request #205 from khaledhosny/more-docs

More docs

8 years agoMerge pull request #206 from nico/patch-3
Behdad Esfahbod [Wed, 30 Dec 2015 21:20:00 +0000 (22:20 +0100)]
Merge pull request #206 from nico/patch-3

Remove unused HB_SHAPER_DATA_ENSURE_DECLARE lines.

8 years agoRemove unused HB_SHAPER_DATA_ENSURE_DECLARE lines.
Nico Weber [Wed, 30 Dec 2015 21:05:52 +0000 (16:05 -0500)]
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.

8 years ago[docs] Reduce gtkdoc-check errors
Khaled Hosny [Wed, 30 Dec 2015 18:57:04 +0000 (22:57 +0400)]
[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.

8 years ago[docs] Typo
Khaled Hosny [Wed, 30 Dec 2015 18:50:08 +0000 (22:50 +0400)]
[docs] Typo

8 years agoMerge pull request #203 from nico/patch-1
Behdad Esfahbod [Wed, 30 Dec 2015 15:44:19 +0000 (16:44 +0100)]
Merge pull request #203 from nico/patch-1

Remove unused `retry:` label.

8 years ago[docs] Minor
Behdad Esfahbod [Wed, 30 Dec 2015 15:25:48 +0000 (16:25 +0100)]
[docs] Minor

8 years ago[docs] Fix up build, really
Behdad Esfahbod [Wed, 30 Dec 2015 15:15:36 +0000 (16:15 +0100)]
[docs] Fix up build, really

8 years ago[docs] Turn bash tracing on
Behdad Esfahbod [Wed, 30 Dec 2015 15:09:39 +0000 (16:09 +0100)]
[docs] Turn bash tracing on

8 years ago[docs] Another try, not sure why the bot isn't building
Behdad Esfahbod [Wed, 30 Dec 2015 14:56:56 +0000 (15:56 +0100)]
[docs] Another try, not sure why the bot isn't building

8 years ago[docs] Shuffling code around in deploy-docs.sh
Behdad Esfahbod [Wed, 30 Dec 2015 14:45:43 +0000 (15:45 +0100)]
[docs] Shuffling code around in deploy-docs.sh

Temporarily makes it rebuild docs on every change again.

8 years agoMerge pull request #202 from khaledhosny/doc-fixes
Behdad Esfahbod [Wed, 30 Dec 2015 14:13:37 +0000 (15:13 +0100)]
Merge pull request #202 from khaledhosny/doc-fixes

Doc fixes

8 years ago[docs] A bit more buffers documentation
Khaled Hosny [Wed, 30 Dec 2015 11:05:50 +0000 (15:05 +0400)]
[docs] A bit more buffers documentation

8 years ago[docs] A bit more buffers documentation
Khaled Hosny [Tue, 29 Dec 2015 13:42:16 +0000 (17:42 +0400)]
[docs] A bit more buffers documentation

8 years ago[docs] Some documentation on buffers
Khaled Hosny [Tue, 29 Dec 2015 11:21:20 +0000 (15:21 +0400)]
[docs] Some documentation on buffers

Some of it (create, reference, destroy) are adapted from Cairo docs.

8 years ago[docs] Fix comment syntax
Khaled Hosny [Mon, 28 Dec 2015 22:23:24 +0000 (02:23 +0400)]
[docs] Fix comment syntax

To lower the number of gtk-doc warnings.

8 years agoRemove unused `retry:` label.
Nico Weber [Tue, 29 Dec 2015 02:31:28 +0000 (21:31 -0500)]
Remove unused `retry:` label.

Fixes a -Wunused-label warning when building harfbuzz with clang -Wall.

8 years ago[docs] Ignore the new HB_EXTERN decoration
Khaled Hosny [Mon, 28 Dec 2015 22:15:21 +0000 (02:15 +0400)]
[docs] Ignore the new HB_EXTERN decoration

Otherwise, almost all API functions are not extracted.

8 years agoFix previous commit
Khaled Hosny [Sat, 26 Dec 2015 02:45:51 +0000 (06:45 +0400)]
Fix previous commit

8 years ago[travis] Build docs only on tagged revisions
Khaled Hosny [Sat, 26 Dec 2015 02:35:08 +0000 (06:35 +0400)]
[travis] Build docs only on tagged revisions

Lets see if it works…

8 years ago[travis] Remove secure var
Behdad Esfahbod [Fri, 25 Dec 2015 17:41:41 +0000 (18:41 +0100)]
[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.

8 years agoMerge pull request #199 from behdad/travis-docs
Behdad Esfahbod [Fri, 25 Dec 2015 17:21:08 +0000 (18:21 +0100)]
Merge pull request #199 from behdad/travis-docs

Deploy docs to gh-pages branch from Travis builds

8 years agoFix flaky test
Behdad Esfahbod [Fri, 25 Dec 2015 17:18:23 +0000 (18:18 +0100)]
Fix flaky test

This test font had a upem of 769, which results in rounding-related errors with
the FreeType font funcs.  Change the upem to 1024 to fix that.

Fixes https://github.com/behdad/harfbuzz/issues/201

8 years ago[tests] Add --reference, for re-recording tests
Behdad Esfahbod [Fri, 25 Dec 2015 17:18:02 +0000 (18:18 +0100)]
[tests] Add --reference, for re-recording tests

8 years agoMove more docs from FreeDesktop page
Khaled Hosny [Tue, 22 Dec 2015 21:29:48 +0000 (01:29 +0400)]
Move more docs from FreeDesktop page

8 years agoRename user manual files
Khaled Hosny [Tue, 22 Dec 2015 20:33:41 +0000 (00:33 +0400)]
Rename user manual files

Use chapter ids instead of numbers, so that we can reorder them,
introduce new ones etc. without the numbers becoming out of date.

8 years agoIntro from freedesktop.org/wiki/Software/HarfBuzz/
Khaled Hosny [Tue, 22 Dec 2015 20:26:20 +0000 (00:26 +0400)]
Intro from freedesktop.org/wiki/Software/HarfBuzz/

8 years agoDeploy docs to gh-pages branch from Travis builds
Khaled Hosny [Mon, 14 Dec 2015 19:33:51 +0000 (23:33 +0400)]
Deploy docs to gh-pages branch from Travis builds

Build docs in Travis and push them to the gh-pages branch, which makes
them available at http://behdad.github.io/harfbuzz/

8 years ago[layout] Collect coverage glyphs in PairPos
Behdad Esfahbod [Wed, 23 Dec 2015 13:50:53 +0000 (14:50 +0100)]
[layout] Collect coverage glyphs in PairPos

Apparently class=0 is used for ClassDef1.  See:
https://github.com/adobe-type-tools/afdko/issues/90

8 years ago[python] Hook up sample debugger
Behdad Esfahbod [Fri, 18 Dec 2015 19:53:40 +0000 (19:53 +0000)]
[python] Hook up sample debugger

8 years ago[buffer] Add debugging, aka, message, API
Behdad Esfahbod [Fri, 18 Dec 2015 18:17:07 +0000 (18:17 +0000)]
[buffer] Add debugging, aka, message, API

Currently just announces lookup applications.  Message-API *will* change.
hb-shape / hb-view are updated to print-out messages to stder if --debug
is specified.

8 years agoDon't deserialize positions if buffer has no positions
Behdad Esfahbod [Fri, 18 Dec 2015 17:30:18 +0000 (17:30 +0000)]
Don't deserialize positions if buffer has no positions

8 years ago[use] Only set syllable-based topographical features if not Arabic-joining
Behdad Esfahbod [Fri, 18 Dec 2015 13:54:06 +0000 (13:54 +0000)]
[use] Only set syllable-based topographical features if not Arabic-joining

8 years ago[indic] Followup fix for Malayalam context matching
Behdad Esfahbod [Fri, 18 Dec 2015 13:47:16 +0000 (13:47 +0000)]
[indic] Followup fix for Malayalam context matching

We regeressed Malayalam in 508cc3d3cfcfb0383df0fe795cc28db4e0fd5729
This brings down the failures to 198 (from 750).

BENGALI: 353725 out of 354188 tests passed. 463 failed (0.130722%)
DEVANAGARI: 707307 out of 707394 tests passed. 87 failed (0.0122987%)
GUJARATI: 366349 out of 366457 tests passed. 108 failed (0.0294714%)
GURMUKHI: 60732 out of 60747 tests passed. 15 failed (0.0246926%)
KANNADA: 951190 out of 951913 tests passed. 723 failed (0.0759523%)
KHMER: 299070 out of 299124 tests passed. 54 failed (0.0180527%)
MALAYALAM: 1048136 out of 1048334 tests passed. 198 failed (0.0188871%)
ORIYA: 42320 out of 42329 tests passed. 9 failed (0.021262%)
SINHALA: 271662 out of 271847 tests passed. 185 failed (0.068053%)
TAMIL: 1091753 out of 1091754 tests passed. 1 failed (9.15957e-05%)
TELUGU: 970555 out of 970573 tests passed. 18 failed (0.00185457%)
MYANMAR: 1123865 out of 1123883 tests passed. 18 failed (0.00160159%)

8 years ago[indic] Update data tables to Unicode 8.0
Behdad Esfahbod [Fri, 18 Dec 2015 11:05:11 +0000 (11:05 +0000)]
[indic] Update data tables to Unicode 8.0

Test stats remain unchanged, except for Malayalam, which we investigate:

BENGALI: 353725 out of 354188 tests passed. 463 failed (0.130722%)
DEVANAGARI: 707307 out of 707394 tests passed. 87 failed (0.0122987%)
GUJARATI: 366349 out of 366457 tests passed. 108 failed (0.0294714%)
GURMUKHI: 60732 out of 60747 tests passed. 15 failed (0.0246926%)
KANNADA: 951190 out of 951913 tests passed. 723 failed (0.0759523%)
KHMER: 299070 out of 299124 tests passed. 54 failed (0.0180527%)
MALAYALAM: 1047584 out of 1048334 tests passed. 750 failed (0.0715421%)
ORIYA: 42320 out of 42329 tests passed. 9 failed (0.021262%)
SINHALA: 271662 out of 271847 tests passed. 185 failed (0.068053%)
TAMIL: 1091753 out of 1091754 tests passed. 1 failed (9.15957e-05%)
TELUGU: 970555 out of 970573 tests passed. 18 failed (0.00185457%)

Myanmar, compared to Windows 10 mmrtext.ttf:

MYANMAR: 1123865 out of 1123883 tests passed. 18 failed (0.00160159%)

8 years agoRemove HB_OT_SHAPE_ZERO_WIDTH_MARKS_DEFAULT
Behdad Esfahbod [Thu, 17 Dec 2015 17:47:35 +0000 (17:47 +0000)]
Remove HB_OT_SHAPE_ZERO_WIDTH_MARKS_DEFAULT

The DEFAULT naming wasn't helpful, so just remove it.

8 years ago[indic] Allow context when matching for Malayalam new-spec
Behdad Esfahbod [Thu, 17 Dec 2015 17:31:17 +0000 (17:31 +0000)]
[indic] Allow context when matching for Malayalam new-spec

Test sequence:
U+0995,U+09CD,U+09B0

With Nirmala shipped on Windows 10, this failed to form the below form.
Works now.

Reported by Sairus.

8 years ago[uniscribe] Handle E_NOT_SUFFICIENT_BUFFER as well as E_OUTOFMEMORY
Behdad Esfahbod [Thu, 17 Dec 2015 16:57:47 +0000 (16:57 +0000)]
[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.

8 years ago[util] Use O_BINARY instead of _O_BINARY
Behdad Esfahbod [Thu, 17 Dec 2015 16:28:38 +0000 (16:28 +0000)]
[util] Use O_BINARY instead of _O_BINARY

The latter doesn't seem to be available in Cygwin.  I'm surprised it
compiled before...

8 years agoFix ligature component of a mark happening after a ligature within a ligature!
Behdad Esfahbod [Thu, 17 Dec 2015 15:23:09 +0000 (15:23 +0000)]
Fix ligature component of a mark happening after a ligature within a ligature!

Say, if we are ligating "A B_C m D", then previously 'm' was being
attached to 'B' in the combined A_B_C_D ligature.  Now we attach it
to 'C'.  No test for this though :(.

8 years agoImprove ligature-component handling
Behdad Esfahbod [Thu, 17 Dec 2015 15:21:14 +0000 (15:21 +0000)]
Improve ligature-component handling

We use three bits for lig_id these days, so we finally got a report of
two separate ligatures with the same lig_id happening adjacent to each
other, and then the component-handling code was breaking things.
Protect against that by ignoring same-lig-id but lig-comp=0 glyphs after
a new ligature.

Fixes https://github.com/behdad/harfbuzz/issues/198

8 years ago[use] Fix halant detection
Behdad Esfahbod [Thu, 17 Dec 2015 11:59:15 +0000 (11:59 +0000)]
[use] Fix halant detection

Before, we were just checking the use_category().  This detects as
halant a ligature that had the halant as first glyph (as seen in
NotoSansBalinese.)  Change that to use the is_ligated() glyph prop
bit.  The font is forming this ligature in ccmp, which is before
the rphf / pref tests.  So we need to make sure the "ligated" bit
survives those tests.  Since those only check the "substituted" bit,
we now only clear that bit for them and "ligated" survives.

Fixes https://github.com/behdad/harfbuzz/issues/180

8 years ago[arabic] Use glyph advance width in apply_stch() instead of extents
Behdad Esfahbod [Thu, 17 Dec 2015 11:04:33 +0000 (11:04 +0000)]
[arabic] Use glyph advance width in apply_stch() instead of extents

That seems to be what Windows is doing, and makes more sense.

8 years agoFix Since: tags for new API
Behdad Esfahbod [Wed, 16 Dec 2015 16:08:36 +0000 (17:08 +0100)]
Fix Since: tags for new API

https://github.com/behdad/harfbuzz/commit/e1d4d0f1dbd8518b5672245c05d73f22a9ed03ea#commitcomment-15006653

8 years agoMerge pull request #196 from srl295/aix
Behdad Esfahbod [Mon, 14 Dec 2015 13:19:03 +0000 (14:19 +0100)]
Merge pull request #196 from srl295/aix

AIX fixes

8 years agoAIX fixes
Steven R. Loomis [Fri, 11 Dec 2015 18:21:27 +0000 (10:21 -0800)]
AIX fixes

- use '-w' instead of '\<...\>' for check-header-guards
  grep manpage says these are the same

- put '-q' first in the grep options

- move VAR into hb-private.hh

- hb-font-private.hh - use [VAR] instead of [] for variable array

8 years agoLimit use of AIX intrinsics to IBM's compiler
Behdad Esfahbod [Thu, 10 Dec 2015 16:44:19 +0000 (17:44 +0100)]
Limit use of AIX intrinsics to IBM's compiler

8 years agoMerge branch 'font-extents'
Behdad Esfahbod [Thu, 10 Dec 2015 15:56:07 +0000 (16:56 +0100)]
Merge branch 'font-extents'

Fixes https://github.com/behdad/harfbuzz/pull/165

8 years ago[util] Port hb-view to use font metrics from HarfBuzz instead of cairo
Behdad Esfahbod [Thu, 10 Dec 2015 15:55:16 +0000 (16:55 +0100)]
[util] Port hb-view to use font metrics from HarfBuzz instead of cairo

8 years ago[ft] Use ftface->size->metrics for font extent info
Behdad Esfahbod [Thu, 10 Dec 2015 15:38:29 +0000 (16:38 +0100)]
[ft] Use ftface->size->metrics for font extent info

8 years ago[ot-font] Respect OS/2 fsSelection USE_TYPO_METRICS bit
Behdad Esfahbod [Thu, 10 Dec 2015 15:37:49 +0000 (16:37 +0100)]
[ot-font] Respect OS/2 fsSelection USE_TYPO_METRICS bit

8 years agoAdd atomic ops for AIX
Behdad Esfahbod [Thu, 10 Dec 2015 14:54:42 +0000 (15:54 +0100)]
Add atomic ops for AIX

Patch from Volker Simonis.

8 years agoRemove final pause from Arabic shaper
Behdad Esfahbod [Mon, 7 Dec 2015 20:38:47 +0000 (21:38 +0100)]
Remove final pause from Arabic shaper

Back in the old days, we used to apply 'calt' and 'cswh' in Arabic shaper,
with a pause in between.  Then we disabled the 'cswh' because Microsoft
disabled it, but forgot to remove the unnecessary pause.  Do that now.

This has the benefit that it fixes shaping with monbaiti from Windows 10.
In that version of that font, the lookups from 'calt' are duplicated in
'rclt', and Mongolian was changed to go through Universal Shaping Engine.
We still use the Arabic shaper for Mongolian.  With a pause after 'calt',
we were applying the duplicate lookups from 'calt' and 'rclt' twice.  It
happened to be the case that these lookups were NOT idempotent.  So we
were getting wrong shaping.  See thread "Windows 10 monbaiti.ttf upgrade
(5.01 -> 5.51) caused loss of diacritical marks when shaped with harfbuz"
on the mailing list.  This fixes that.

8 years agoMerge pull request #192 from behdad/jfkthame-stch
Behdad Esfahbod [Mon, 7 Dec 2015 09:44:08 +0000 (10:44 +0100)]
Merge pull request #192 from behdad/jfkthame-stch

[issue 191] Make apply_stch() give a more precise fit

8 years agoFix undefined behavior in cmp function
Behdad Esfahbod [Mon, 7 Dec 2015 09:34:47 +0000 (10:34 +0100)]
Fix undefined behavior in cmp function

Fixes https://bugs.freedesktop.org/show_bug.cgi?id=93274

8 years agoFix sorting order of ot_languages array
Behdad Esfahbod [Mon, 7 Dec 2015 09:30:43 +0000 (10:30 +0100)]
Fix sorting order of ot_languages array

Looks like the original sort was wrongly done.
Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=93275

8 years agoAdd test to make sure ot-languages array is sorted
Behdad Esfahbod [Mon, 7 Dec 2015 09:28:46 +0000 (10:28 +0100)]
Add test to make sure ot-languages array is sorted

Currently fails.  Part of
https://bugs.freedesktop.org/show_bug.cgi?id=93275

8 years agoMerge pull request #134 from ebraminio/dwrite
Behdad Esfahbod [Mon, 7 Dec 2015 08:34:58 +0000 (09:34 +0100)]
Merge pull request #134 from ebraminio/dwrite

Add working but less prefect DirectWrite backend

8 years agoMake apply_stch() give a more precise fit
jfkthame [Sat, 5 Dec 2015 17:47:37 +0000 (17:47 +0000)]
Make apply_stch() give a more precise fit

This aims to make Syriac Abbr Mark sizing more accurate when repeating segments are used, by adding an extra repeat and tightening up the spacing slightly rather than leaving a shortfall corresponding to a partial repeat-width.

8 years agosrc/test.cc: wrong field printed
Behdad Esfahbod [Tue, 1 Dec 2015 00:53:21 +0000 (16:53 -0800)]
src/test.cc: wrong field printed

Fixes https://github.com/behdad/harfbuzz/issues/188
Fixes https://bugs.freedesktop.org/show_bug.cgi?id=93182

8 years agoGet font ascender and descender metrics from OS/2 table.
Simon Cozens [Mon, 26 Oct 2015 07:23:22 +0000 (16:23 +0900)]
Get font ascender and descender metrics from OS/2 table.

8 years agoParse the OS/2 table.
Simon Cozens [Mon, 26 Oct 2015 07:22:38 +0000 (16:22 +0900)]
Parse the OS/2 table.

8 years ago1.1.2
Behdad Esfahbod [Fri, 27 Nov 2015 00:35:43 +0000 (19:35 -0500)]
1.1.2

8 years agoFix a few docs blocks
Behdad Esfahbod [Fri, 27 Nov 2015 00:30:37 +0000 (19:30 -0500)]
Fix a few docs blocks

8 years ago[introspection] Make scanner happy with HB_EXTERN
Behdad Esfahbod [Fri, 27 Nov 2015 00:26:26 +0000 (19:26 -0500)]
[introspection] Make scanner happy with HB_EXTERN

8 years agoUse C-style casts instead of compare to 0, to convert hb_bool_t to bool
Behdad Esfahbod [Fri, 27 Nov 2015 00:22:22 +0000 (19:22 -0500)]
Use C-style casts instead of compare to 0, to convert hb_bool_t to bool

8 years agoFix vertical GPOS
Behdad Esfahbod [Thu, 26 Nov 2015 23:48:42 +0000 (18:48 -0500)]
Fix vertical GPOS

This was brorken earlier, though, it's really hard to notice it.
Unlike the glyph_h_origin(), an unset glyph_v_origin() does NOT
mean that the vertical origin is at 0,0.

Related to https://github.com/behdad/harfbuzz/issues/187