platform/upstream/libHarfBuzzSharp.git
7 years agoMerge commit 'bfe0faf1a2d39302129a7202994456afd96694ca'
Behdad Esfahbod [Sun, 22 Oct 2017 21:06:00 +0000 (17:06 -0400)]
Merge commit 'bfe0faf1a2d39302129a7202994456afd96694ca'

7 years ago[docs] Deprecate hb_set_invert()
Behdad Esfahbod [Sun, 22 Oct 2017 19:54:50 +0000 (15:54 -0400)]
[docs] Deprecate hb_set_invert()

7 years agoMerge pull request #572 from fanc999/master.msvc
ebraminio [Sat, 21 Oct 2017 06:49:55 +0000 (10:19 +0330)]
Merge pull request #572 from fanc999/master.msvc

builds: Support HarfBuzz-GObject and introspection in CMake builds

7 years agoAnother try at fixing build bots
Behdad Esfahbod [Fri, 20 Oct 2017 17:57:43 +0000 (13:57 -0400)]
Another try at fixing build bots

hb-ot-shape.cc:287:18: error: comparison of constant 32 with expression of type 'hb_unicode_general_category_t' is always true [-Werror,-Wtautological-constant-out-of-range-compare]

7 years agoRemove FLAG_SAFE()
Behdad Esfahbod [Thu, 19 Oct 2017 18:39:52 +0000 (11:39 -0700)]
Remove FLAG_SAFE()

No flag is safe, over time... See previous commit.

7 years ago[myanmar] Fix unsafe usage of FLAG_SAFE()
Behdad Esfahbod [Thu, 19 Oct 2017 18:35:51 +0000 (11:35 -0700)]
[myanmar] Fix unsafe usage of FLAG_SAFE()

The commit f559c633073f63b9d87cb2440048b4413cfa1c05 caused
"undefined-shift" errors in Myanmar shaper as we changed the
numeric value of type D from 19 to 32 there, making the
"FLAG_SAFE (info.myanmar_category())" wrong.

Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=3546

7 years agoCMake builds: Support introspection builds
Chun-wei Fan [Thu, 19 Oct 2017 10:36:32 +0000 (18:36 +0800)]
CMake builds: Support introspection builds

This adds support for introspection builds on Windows that is enabled by
the HB_HAVE_INTROSPECTION option, which will also enable HB_HAVE_GOBJECT
(and so HB_HAVE_GLIB) as they are required for introspection.

In order for this to work one must ensure that the Python installation
listed in PYTHON_EXECUTABLE is the same Python release series that was
used to build _giscanner.pyd (the Python module that is used by
g-ir-scanner), with the same architecture.  PKG_CONFIG_PATH and PATH
must be set correctly if $(PREFIX)\bin and/or $(PREFIX)\lib\pkgconfig
are not in the standard PATH and PKG_CONFIG_PATH, which is actually
in-line with the *NIX builds.

7 years agoCMake: Support building HarfBuzz-GObject
Chun-wei Fan [Wed, 18 Oct 2017 07:43:57 +0000 (15:43 +0800)]
CMake: Support building HarfBuzz-GObject

This adds support to the CMake build files to support building
HarfBuzz-GObject, which is actually a little bit complicated,
as we need to:

-Run glib-mkenums, which is a Python (for newer GLib/GObject) or PERL
 (for older, pre 2.53.4, GLib/GObject) script.  This matters more for
 Visual Studio builds as shebang lines are not supported, so we need to
 test-run it with PERL or Python to determine which is the correct
 interpretor to use.

-Next, we need to replace strings in the sources that we obtain from
 running glib-mkenums.  So, the solution here is to use a small utility
 CMake script for our purposes here, to maintain maximum compatibility.

-Ensure that things do work in the Visual Studio IDE builds.

7 years agoCMake builds: Fix builds
Chun-wei Fan [Wed, 18 Oct 2017 14:27:28 +0000 (22:27 +0800)]
CMake builds: Fix builds

Include the fallback sources in the build, and update
src/Makefile.sources so that it can be read by the CMake build files.

Fix a typo in the DirectWrite configure option so that we can properly
enable DirectWrite builds.

Also, when building the utility program, install them as well.

7 years ago[bsearch] Micro-optimization
Behdad Esfahbod [Tue, 17 Oct 2017 23:32:12 +0000 (16:32 -0700)]
[bsearch] Micro-optimization

7 years agoSwitch from ICU deprecated unorm_normalize to unorm2_normalize. (#569)
Fredrik Roubert [Tue, 17 Oct 2017 22:06:31 +0000 (15:06 -0700)]
Switch from ICU deprecated unorm_normalize to unorm2_normalize. (#569)

The new unorm2_normalize has been public API since ICU 4.4, while
the old unorm_normalize has been deprecated since ICU 56.

Now, beginning with ICU 60, unorm_normalize will also be annotated
U_DEPRECATED and trigger the compiler -Wdeprecated-declarations warning.

7 years agoUpdate docs symbols
Behdad Esfahbod [Tue, 17 Oct 2017 19:00:34 +0000 (12:00 -0700)]
Update docs symbols

7 years agoTry fixing build on VC
Behdad Esfahbod [Tue, 17 Oct 2017 18:16:36 +0000 (11:16 -0700)]
Try fixing build on VC

c:\projects\harfbuzz\src\hb-set-private.hh(151): error C2327: 'hb_set_t::page_t::v': is not a type name, static, or enumerator [C:\projects\harfbuzz\build\harfbuzz.vcxproj]

7 years ago[coretext] Fix build
Behdad Esfahbod [Tue, 17 Oct 2017 18:14:48 +0000 (11:14 -0700)]
[coretext] Fix build

error: static_assert expression is not an integral constant expression

7 years ago[set] Fix merge logic
Behdad Esfahbod [Mon, 16 Oct 2017 05:33:32 +0000 (01:33 -0400)]
[set] Fix merge logic

7 years agoOuch.
Behdad Esfahbod [Sun, 15 Oct 2017 22:21:35 +0000 (18:21 -0400)]
Ouch.

7 years ago[set] Disable vectorization
Behdad Esfahbod [Sun, 15 Oct 2017 22:20:25 +0000 (18:20 -0400)]
[set] Disable vectorization

Fixes clang "non-const reference cannot bind to vector element" error.

7 years agoFix bots
Behdad Esfahbod [Sun, 15 Oct 2017 21:58:58 +0000 (17:58 -0400)]
Fix bots

7 years ago[set] Remove TODO items not worth pursuing
Behdad Esfahbod [Sun, 15 Oct 2017 21:01:31 +0000 (17:01 -0400)]
[set] Remove TODO items not worth pursuing

7 years ago[set] Speed up intersects()
Behdad Esfahbod [Sun, 15 Oct 2017 20:56:05 +0000 (16:56 -0400)]
[set] Speed up intersects()

7 years agoSimplify hb_prealloced_array_t initialization
Behdad Esfahbod [Sun, 15 Oct 2017 20:38:29 +0000 (16:38 -0400)]
Simplify hb_prealloced_array_t initialization

7 years agoProperly detect vector_size attribute and use fallback otherwise
Behdad Esfahbod [Sun, 15 Oct 2017 20:21:03 +0000 (16:21 -0400)]
Properly detect vector_size attribute and use fallback otherwise

7 years ago[set] Add fallback implementation of int-vector type
Behdad Esfahbod [Sun, 15 Oct 2017 20:10:35 +0000 (16:10 -0400)]
[set] Add fallback implementation of int-vector type

7 years agoFaster hb_set_t
Behdad Esfahbod [Sun, 15 Oct 2017 14:53:09 +0000 (16:53 +0200)]
Faster hb_set_t

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

7 years agoDeprecate hb_set_invert()
Behdad Esfahbod [Sun, 15 Oct 2017 14:15:24 +0000 (16:15 +0200)]
Deprecate hb_set_invert()

7 years agoAdd bfind() to prealloaced_array_t
Behdad Esfahbod [Sun, 15 Oct 2017 14:15:06 +0000 (16:15 +0200)]
Add bfind() to prealloaced_array_t

7 years agoInline another bsearch()
Behdad Esfahbod [Sun, 15 Oct 2017 14:00:22 +0000 (16:00 +0200)]
Inline another bsearch()

7 years agoAdd popcount for 64bit ints
Behdad Esfahbod [Sun, 15 Oct 2017 14:00:09 +0000 (16:00 +0200)]
Add popcount for 64bit ints

7 years agoRemove unused hb_cache_t
Behdad Esfahbod [Sun, 15 Oct 2017 12:10:34 +0000 (14:10 +0200)]
Remove unused hb_cache_t

7 years agoRemove unused hb_frozen_set_t
Behdad Esfahbod [Sun, 15 Oct 2017 12:09:46 +0000 (14:09 +0200)]
Remove unused hb_frozen_set_t

7 years agoMove set-digests into their own header file
Behdad Esfahbod [Sun, 15 Oct 2017 12:09:05 +0000 (14:09 +0200)]
Move set-digests into their own header file

7 years agoTry fixing AppVeyor bots
Behdad Esfahbod [Sun, 15 Oct 2017 12:02:58 +0000 (14:02 +0200)]
Try fixing AppVeyor bots

7 years agoFix warnings
Behdad Esfahbod [Sun, 15 Oct 2017 10:13:19 +0000 (12:13 +0200)]
Fix warnings

7 years agoUse C++11
Behdad Esfahbod [Sun, 15 Oct 2017 10:12:10 +0000 (12:12 +0200)]
Use C++11

7 years agoUse nullptr instead of NULL
Behdad Esfahbod [Sun, 15 Oct 2017 10:11:08 +0000 (12:11 +0200)]
Use nullptr instead of NULL

7 years agoDon't use NULL in public headers
Behdad Esfahbod [Sun, 15 Oct 2017 10:04:16 +0000 (12:04 +0200)]
Don't use NULL in public headers

7 years agoUse static_assert instead of custom ASSERT_STATIC
Behdad Esfahbod [Sun, 15 Oct 2017 10:02:00 +0000 (12:02 +0200)]
Use static_assert instead of custom ASSERT_STATIC

7 years agoAdd polyfill for static_assert and nullptr
Behdad Esfahbod [Sun, 15 Oct 2017 09:24:35 +0000 (11:24 +0200)]
Add polyfill for static_assert and nullptr

Also fix hb_assert_constant_t.

7 years ago[util] Include hb-private.hh
Behdad Esfahbod [Sun, 15 Oct 2017 08:55:32 +0000 (10:55 +0200)]
[util] Include hb-private.hh

Simplifies compatibility issues by centralizing all boilerplate code
in hb-private.hh.

7 years agoNever skip over CGJ
Behdad Esfahbod [Sun, 15 Oct 2017 08:48:19 +0000 (10:48 +0200)]
Never skip over CGJ

We might want to tweak this some more.  For now, never skipping over
it is better behavior than always skipping.

Part of https://github.com/behdad/harfbuzz/issues/554

7 years ago1.6.0
Behdad Esfahbod [Fri, 13 Oct 2017 14:30:33 +0000 (16:30 +0200)]
1.6.0

7 years ago[ucdn] Fix compiler warnings
Behdad Esfahbod [Fri, 13 Oct 2017 09:01:55 +0000 (11:01 +0200)]
[ucdn] Fix compiler warnings

7 years ago[coretext] Fix build
Behdad Esfahbod [Fri, 13 Oct 2017 08:30:19 +0000 (10:30 +0200)]
[coretext] Fix build

7 years ago[coretext] Pass correct font size to CoreText
Behdad Esfahbod [Fri, 13 Oct 2017 08:21:07 +0000 (10:21 +0200)]
[coretext] Pass correct font size to CoreText

CoreText "point"s are not typographic points, but CSS pixels.  Ie.
they are 96 per inch, not 72 per inch.

7 years agoMerge remote-tracking branch 'origin/master'
Behdad Esfahbod [Thu, 12 Oct 2017 12:08:58 +0000 (14:08 +0200)]
Merge remote-tracking branch 'origin/master'

7 years ago[indic] Special-case Kannada Ra,H,ZWJ sequence
Behdad Esfahbod [Thu, 12 Oct 2017 12:07:37 +0000 (14:07 +0200)]
[indic] Special-case Kannada Ra,H,ZWJ sequence

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

7 years agoReplacing 'cluster' with 'syllable' when comments describe certain Indic shaping...
n8willis [Thu, 12 Oct 2017 11:48:48 +0000 (12:48 +0100)]
Replacing 'cluster' with 'syllable' when comments describe certain Indic shaping behavior (#563)

* Clarified wording of syllable/cluster behavior in Uniscribe in final_reordering; changed one other probable typo.

* Additional syllable/cluster swap in comments for final reordering and for initial-reordering matra decomposition.

7 years agoMinor BUILD.md fix (#565)
ebraminio [Thu, 12 Oct 2017 11:45:49 +0000 (15:15 +0330)]
Minor BUILD.md fix (#565)

7 years ago[coretext] Use fabs() to silence compiler warning
Behdad Esfahbod [Thu, 12 Oct 2017 10:01:48 +0000 (12:01 +0200)]
[coretext] Use fabs() to silence compiler warning

7 years ago[coretext] Activate tracking for system fonts
Dominik Röttsches [Thu, 12 Oct 2017 09:49:37 +0000 (11:49 +0200)]
[coretext] Activate tracking for system fonts

Another attempt at fully fixing
https://github.com/behdad/harfbuzz/issues/360

7 years agoCMakelists.txt fix for Freetype builds (#564)
Khaled Hosny [Thu, 12 Oct 2017 09:05:08 +0000 (12:05 +0300)]
CMakelists.txt fix for Freetype builds (#564)

Instead of searching for freetype using pkg-config, use the FindFreetype
feature of CMake. This allows for better integration with other projects
that make use of CMake.

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

7 years ago[coretext] Use fabsf() instead of abs()
Behdad Esfahbod [Thu, 12 Oct 2017 08:46:09 +0000 (10:46 +0200)]
[coretext] Use fabsf() instead of abs()

Fixes bots.

Link libharfbuzz.so with -lm.  Surprising that we survived without
it so far!

7 years agoRemove nmake port of harfbuzz (#562)
ebraminio [Thu, 12 Oct 2017 08:41:47 +0000 (12:11 +0330)]
Remove nmake port of harfbuzz (#562)

7 years ago[ft] Add hb_ft_font_changed()
Behdad Esfahbod [Thu, 12 Oct 2017 08:33:16 +0000 (10:33 +0200)]
[ft] Add hb_ft_font_changed()

When the font size or variations settings on underlying FT_Face change,
one can call hb_ft_font_changed() and continue using hb_font created using
hb_ft_font_create().

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

New API:
hb_ft_font_changed()

7 years agoAdd hb_face_get_table_tags()
Behdad Esfahbod [Wed, 11 Oct 2017 15:22:44 +0000 (17:22 +0200)]
Add hb_face_get_table_tags()

New API:
hb_face_get_table_tags()

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

7 years agoRemove cast of functions to (hb_destroy_func_t)
Behdad Esfahbod [Wed, 11 Oct 2017 13:51:31 +0000 (15:51 +0200)]
Remove cast of functions to (hb_destroy_func_t)

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

7 years ago[coretext] Minor
Behdad Esfahbod [Wed, 11 Oct 2017 13:38:21 +0000 (15:38 +0200)]
[coretext] Minor

7 years agoChange ptem API to make 0 mean unset
Behdad Esfahbod [Wed, 11 Oct 2017 13:37:50 +0000 (15:37 +0200)]
Change ptem API to make 0 mean unset

7 years ago[coretext] Minor
Behdad Esfahbod [Wed, 11 Oct 2017 13:29:53 +0000 (15:29 +0200)]
[coretext] Minor

7 years ago[coretext] Adjust font size check for 0
Behdad Esfahbod [Wed, 11 Oct 2017 13:29:22 +0000 (15:29 +0200)]
[coretext] Adjust font size check for 0

7 years agoCorrectly initialize ptem
Behdad Esfahbod [Wed, 11 Oct 2017 13:24:22 +0000 (15:24 +0200)]
Correctly initialize ptem

7 years ago[coretext-aat] Also pass through CoreText if font has kerx table
Behdad Esfahbod [Wed, 11 Oct 2017 13:02:48 +0000 (15:02 +0200)]
[coretext-aat] Also pass through CoreText if font has kerx table

SFNSText has kerx table which apparently is applied.

7 years ago[coretext] Change default point size to 12
Behdad Esfahbod [Wed, 11 Oct 2017 12:09:30 +0000 (14:09 +0200)]
[coretext] Change default point size to 12

7 years agoMerge branch 'coretext-optical-sizing'
Behdad Esfahbod [Wed, 11 Oct 2017 11:35:32 +0000 (13:35 +0200)]
Merge branch 'coretext-optical-sizing'

Should fix https://github.com/behdad/harfbuzz/issues/360

7 years ago[coretext] Recreate CTFont if pt size changed
Dominik Röttsches [Wed, 11 Oct 2017 11:32:38 +0000 (13:32 +0200)]
[coretext] Recreate CTFont if pt size changed

Attempt at fixing #360

7 years ago[coretext] Fix build
Dominik Röttsches [Wed, 11 Oct 2017 11:24:39 +0000 (13:24 +0200)]
[coretext] Fix build

7 years ago[coretext] Another try
Behdad Esfahbod [Wed, 11 Oct 2017 11:17:46 +0000 (13:17 +0200)]
[coretext] Another try

7 years ago[coretext] Move CT_Font to font data
Behdad Esfahbod [Wed, 11 Oct 2017 11:05:59 +0000 (13:05 +0200)]
[coretext] Move CT_Font to font data

Towards implementing optical sizing.  Untested; won't compile.

https://github.com/behdad/harfbuzz/issues/360

7 years ago[coretext] Move font size to a macro
Behdad Esfahbod [Wed, 11 Oct 2017 10:51:25 +0000 (12:51 +0200)]
[coretext] Move font size to a macro

7 years agoInfrastructure for creating CTFont with correct font size
Behdad Esfahbod [Wed, 11 Oct 2017 10:43:46 +0000 (12:43 +0200)]
Infrastructure for creating CTFont with correct font size

https://github.com/behdad/harfbuzz/issues/360

7 years ago[coretext] Change default font size from 36 to 18
Behdad Esfahbod [Wed, 11 Oct 2017 10:28:06 +0000 (12:28 +0200)]
[coretext] Change default font size from 36 to 18

7 years agoRemove dirty tracking
Behdad Esfahbod [Wed, 11 Oct 2017 10:23:35 +0000 (12:23 +0200)]
Remove dirty tracking

Turns out I don't need this to resolve CoreText optical sizing
issue after all.

https://github.com/behdad/harfbuzz/issues/360

7 years agoAdd hb_font_[sg]et_ptem() to set/get point size on font
Behdad Esfahbod [Wed, 11 Oct 2017 09:47:47 +0000 (11:47 +0200)]
Add hb_font_[sg]et_ptem() to set/get point size on font

New API:
hb_font_set_ptem()
hb_font_get_ptem()

Needed for hb-coretext optical sizing:
https://github.com/behdad/harfbuzz/issues/360

7 years agoFix TODO item
Behdad Esfahbod [Wed, 11 Oct 2017 09:34:53 +0000 (11:34 +0200)]
Fix TODO item

7 years ago[arabic] Fix cluster merging
Behdad Esfahbod [Sat, 7 Oct 2017 11:17:33 +0000 (13:17 +0200)]
[arabic] Fix cluster merging

7 years agoAdd check for HB_EXTERNs
Behdad Esfahbod [Sat, 7 Oct 2017 10:56:53 +0000 (12:56 +0200)]
Add check for HB_EXTERNs

https://github.com/behdad/harfbuzz/pull/555

7 years agoFix build of HarfBuzz tools and HarfBuzz-GObject on Visual Studio (#555)
fanc999 [Sat, 7 Oct 2017 10:57:14 +0000 (18:57 +0800)]
Fix build of HarfBuzz tools and HarfBuzz-GObject on Visual Studio (#555)

* hb-buffer.h: Mark hb_buffer_diff() for export

This will fix the tools builds on Visual Studio, as the symbol is used
by the tools.

* build: Adapt NMake Makefiles for GLib 2.53.4 or later

glib-mkenums was ported from a PERL script to a Python script, so we
need to update how we generate the enum sources for HarfBuzz-GObject in
the NMake builds.  Let this be known in the build documentation for MSVC
builds.

One of the problems with the underlying cmd.exe that the NMake Makefiles
run on is that shebang lines are not recognized, so we need to to test
run the script with Python and see whether it succeeded by outputing a
source file that is larger than 0 in file size (since running the PERL
version of the script will clearly fail and cause an empty file to be
created).

If it succeeds, we then run a small Python utility script that makes the
necessary string replacements, and we are done.  If that fails, then we
run the glib-mkenums script with PERL, and do the replacements with the
PERL one-liners as we did before.

We need to make replace.py use latin-1 encoding when using Python 3.x to
cope with the copyright sign that is in the generated enum sources.

7 years ago[ot] Remove 'mal' and 'gle' lang tags
Behdad Esfahbod [Wed, 4 Oct 2017 14:59:22 +0000 (16:59 +0200)]
[ot] Remove 'mal' and 'gle' lang tags

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

7 years agoImprove performance of ligature component matching
Behdad Esfahbod [Wed, 4 Oct 2017 13:06:48 +0000 (15:06 +0200)]
Improve performance of ligature component matching

This O(N^2) was introduced in 8b2c94c43fd335b944d5e5487265706b8e0f9041.
Make it O(N).

7 years ago[arabic] Implement Unicode Arabic Mark Ordering Algorithm UTR#53
Behdad Esfahbod [Wed, 4 Oct 2017 12:47:10 +0000 (14:47 +0200)]
[arabic] Implement Unicode Arabic Mark Ordering Algorithm UTR#53

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

7 years agoAdd info_cc() convenience macro
Behdad Esfahbod [Wed, 4 Oct 2017 11:37:08 +0000 (13:37 +0200)]
Add info_cc() convenience macro

7 years agoAdjust normalizer for out-of-order marks
Behdad Esfahbod [Wed, 4 Oct 2017 11:20:33 +0000 (13:20 +0200)]
Adjust normalizer for out-of-order marks

We are going to implement Unicode Arabic Mark Ordering Algorithm:

  http://www.unicode.org/reports/tr53/tr53-1.pdf

which will reorder marks out of their sorted ccc order.  Adjust
normalizer to stop combining as soon as dangerous ordering is
detected.

7 years agoMinor
Behdad Esfahbod [Wed, 4 Oct 2017 11:07:08 +0000 (13:07 +0200)]
Minor

7 years agoRevert "Treat HAMZA ABOVE similar to SHADD for sorting purposes"
Behdad Esfahbod [Wed, 4 Oct 2017 11:06:51 +0000 (13:06 +0200)]
Revert "Treat HAMZA ABOVE similar to SHADD for sorting purposes"

This reverts commit 5a330575768f5a213072230b9ec8faabac9c5737.

Proper fix coming soon.

7 years agoShorthand format controls should not be ignored
Behdad Esfahbod [Wed, 4 Oct 2017 09:33:47 +0000 (11:33 +0200)]
Shorthand format controls should not be ignored

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

7 years agoAdd Chinantec language tags
Behdad Esfahbod [Wed, 4 Oct 2017 09:28:04 +0000 (11:28 +0200)]
Add Chinantec language tags

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

7 years agoFix GPOS v_origin ordering
Behdad Esfahbod [Tue, 3 Oct 2017 15:22:43 +0000 (17:22 +0200)]
Fix GPOS v_origin ordering

This should affect mark attachment in vertical text.  I have no font to test,
but this sounds the right order.

Noticed while debugging https://github.com/behdad/harfbuzz/issues/532

7 years ago[indic] Fix shaping of U+0AFB GUJARATI SIGN SHADDA
Behdad Esfahbod [Tue, 3 Oct 2017 14:00:18 +0000 (16:00 +0200)]
[indic] Fix shaping of U+0AFB GUJARATI SIGN SHADDA

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

7 years ago[indic] Implement Consonent_With_Stacker
Behdad Esfahbod [Tue, 3 Oct 2017 13:20:07 +0000 (15:20 +0200)]
[indic] Implement Consonent_With_Stacker

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

7 years ago[use] Implement Consonant_With_Stacker
Behdad Esfahbod [Tue, 3 Oct 2017 12:57:14 +0000 (14:57 +0200)]
[use] Implement Consonant_With_Stacker

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

7 years agoTest Consonant_With_Stacker in Kannada (#530)
David Corbett [Tue, 3 Oct 2017 12:07:02 +0000 (08:07 -0400)]
Test Consonant_With_Stacker in Kannada (#530)

7 years agoTweak mark-base attachment
Behdad Esfahbod [Tue, 3 Oct 2017 11:46:25 +0000 (13:46 +0200)]
Tweak mark-base attachment

Apparently a base glyph can also become an attached component of a
ligature if the ligature-forming lookup used IgnoreBase.  This was
being confused with a non-first component of a MultipleSubst and
hence not matched for mark-attachment.  Tweak test to fix.

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

7 years agoMerge commit 'c44657a05d565ec5f2c32ac15d4ecfbee00ac5f7'
Behdad Esfahbod [Tue, 3 Oct 2017 11:25:44 +0000 (13:25 +0200)]
Merge commit 'c44657a05d565ec5f2c32ac15d4ecfbee00ac5f7'

7 years agoMinor
Behdad Esfahbod [Tue, 3 Oct 2017 11:23:31 +0000 (13:23 +0200)]
Minor

7 years agoMake bots happy
Behdad Esfahbod [Tue, 3 Oct 2017 11:22:07 +0000 (13:22 +0200)]
Make bots happy

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

7 years agoTweak input matching some more
Behdad Esfahbod [Tue, 3 Oct 2017 11:14:17 +0000 (13:14 +0200)]
Tweak input matching some more

Followup to 8b2c94c43fd335b944d5e5487265706b8e0f9041

Allow matching sequences of marks attached to different ligatures,
as supposedly the base of the subsequent marks were already jumped
over.

7 years agoPrint test-suite.log when CI builds fail
Khaled Hosny [Mon, 2 Oct 2017 20:36:14 +0000 (22:36 +0200)]
Print test-suite.log when CI builds fail

7 years agoAdd test for U+0A51
Behdad Esfahbod [Mon, 2 Oct 2017 18:28:56 +0000 (20:28 +0200)]
Add test for U+0A51

New Indic numbers are:

BENGALI: 353725 out of 354188 tests passed. 463 failed (0.130722%)
DEVANAGARI: 707307 out of 707394 tests passed. 87 failed (0.0122987%)
GUJARATI: 366355 out of 366457 tests passed. 102 failed (0.0278341%)
GURMUKHI: 60729 out of 60747 tests passed. 18 failed (0.0296311%)
KANNADA: 951201 out of 951913 tests passed. 712 failed (0.0747968%)
KHMER: 299071 out of 299124 tests passed. 53 failed (0.0177184%)
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: 1091754 out of 1091754 tests passed. 0 failed (0%)
TELUGU: 970555 out of 970573 tests passed. 18 failed (0.00185457%)

Before 71c0a1429db7c7e7e32507be248c9457e1cbfc7d GURMUKHI used to be at 15,
because Uniscribe seems to allow this character standalone, but that looks
wrong.

7 years agoTweak ligature component matching for ligature formation
Behdad Esfahbod [Mon, 2 Oct 2017 18:02:45 +0000 (20:02 +0200)]
Tweak ligature component matching for ligature formation

If two marks want to ligate and they belong to different components of the
same ligature glyph, and said ligature glyph is to be ignored according to
mark-filtering rules, then allow.

Example Burmese senquence:

  U+1004,U+103A,U+1039,U+101B,U+103D,U+102D

Test font provided by Norbert Lindenberg.

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

7 years ago[indic] Fix shaping of U+0A51
Behdad Esfahbod [Mon, 2 Oct 2017 16:56:10 +0000 (18:56 +0200)]
[indic] Fix shaping of U+0A51

Mark it as matra below to allow the sequence U+0A15, U+0A51, U+0A47.
Oh well...

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