Behdad Esfahbod [Sun, 15 Oct 2017 21:01:31 +0000 (17:01 -0400)]
[set] Remove TODO items not worth pursuing
Behdad Esfahbod [Sun, 15 Oct 2017 20:56:05 +0000 (16:56 -0400)]
[set] Speed up intersects()
Behdad Esfahbod [Sun, 15 Oct 2017 20:38:29 +0000 (16:38 -0400)]
Simplify hb_prealloced_array_t initialization
Behdad Esfahbod [Sun, 15 Oct 2017 20:21:03 +0000 (16:21 -0400)]
Properly detect vector_size attribute and use fallback otherwise
Behdad Esfahbod [Sun, 15 Oct 2017 20:10:35 +0000 (16:10 -0400)]
[set] Add fallback implementation of int-vector type
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
Behdad Esfahbod [Sun, 15 Oct 2017 14:15:24 +0000 (16:15 +0200)]
Deprecate hb_set_invert()
Behdad Esfahbod [Sun, 15 Oct 2017 14:15:06 +0000 (16:15 +0200)]
Add bfind() to prealloaced_array_t
Behdad Esfahbod [Sun, 15 Oct 2017 14:00:22 +0000 (16:00 +0200)]
Inline another bsearch()
Behdad Esfahbod [Sun, 15 Oct 2017 14:00:09 +0000 (16:00 +0200)]
Add popcount for 64bit ints
Behdad Esfahbod [Sun, 15 Oct 2017 12:10:34 +0000 (14:10 +0200)]
Remove unused hb_cache_t
Behdad Esfahbod [Sun, 15 Oct 2017 12:09:46 +0000 (14:09 +0200)]
Remove unused hb_frozen_set_t
Behdad Esfahbod [Sun, 15 Oct 2017 12:09:05 +0000 (14:09 +0200)]
Move set-digests into their own header file
Behdad Esfahbod [Sun, 15 Oct 2017 12:02:58 +0000 (14:02 +0200)]
Try fixing AppVeyor bots
Behdad Esfahbod [Sun, 15 Oct 2017 10:13:19 +0000 (12:13 +0200)]
Fix warnings
Behdad Esfahbod [Sun, 15 Oct 2017 10:12:10 +0000 (12:12 +0200)]
Use C++11
Behdad Esfahbod [Sun, 15 Oct 2017 10:11:08 +0000 (12:11 +0200)]
Use nullptr instead of NULL
Behdad Esfahbod [Sun, 15 Oct 2017 10:04:16 +0000 (12:04 +0200)]
Don't use NULL in public headers
Behdad Esfahbod [Sun, 15 Oct 2017 10:02:00 +0000 (12:02 +0200)]
Use static_assert instead of custom ASSERT_STATIC
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.
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.
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
Behdad Esfahbod [Fri, 13 Oct 2017 14:30:33 +0000 (16:30 +0200)]
1.6.0
Behdad Esfahbod [Fri, 13 Oct 2017 09:01:55 +0000 (11:01 +0200)]
[ucdn] Fix compiler warnings
Behdad Esfahbod [Fri, 13 Oct 2017 08:30:19 +0000 (10:30 +0200)]
[coretext] Fix build
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.
Behdad Esfahbod [Thu, 12 Oct 2017 12:08:58 +0000 (14:08 +0200)]
Merge remote-tracking branch 'origin/master'
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
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.
ebraminio [Thu, 12 Oct 2017 11:45:49 +0000 (15:15 +0330)]
Minor BUILD.md fix (#565)
Behdad Esfahbod [Thu, 12 Oct 2017 10:01:48 +0000 (12:01 +0200)]
[coretext] Use fabs() to silence compiler warning
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
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
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!
ebraminio [Thu, 12 Oct 2017 08:41:47 +0000 (12:11 +0330)]
Remove nmake port of harfbuzz (#562)
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()
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
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
Behdad Esfahbod [Wed, 11 Oct 2017 13:38:21 +0000 (15:38 +0200)]
[coretext] Minor
Behdad Esfahbod [Wed, 11 Oct 2017 13:37:50 +0000 (15:37 +0200)]
Change ptem API to make 0 mean unset
Behdad Esfahbod [Wed, 11 Oct 2017 13:29:53 +0000 (15:29 +0200)]
[coretext] Minor
Behdad Esfahbod [Wed, 11 Oct 2017 13:29:22 +0000 (15:29 +0200)]
[coretext] Adjust font size check for 0
Behdad Esfahbod [Wed, 11 Oct 2017 13:24:22 +0000 (15:24 +0200)]
Correctly initialize ptem
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.
Behdad Esfahbod [Wed, 11 Oct 2017 12:09:30 +0000 (14:09 +0200)]
[coretext] Change default point size to 12
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
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
Dominik Röttsches [Wed, 11 Oct 2017 11:24:39 +0000 (13:24 +0200)]
[coretext] Fix build
Behdad Esfahbod [Wed, 11 Oct 2017 11:17:46 +0000 (13:17 +0200)]
[coretext] Another try
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
Behdad Esfahbod [Wed, 11 Oct 2017 10:51:25 +0000 (12:51 +0200)]
[coretext] Move font size to a macro
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
Behdad Esfahbod [Wed, 11 Oct 2017 10:28:06 +0000 (12:28 +0200)]
[coretext] Change default font size from 36 to 18
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
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
Behdad Esfahbod [Wed, 11 Oct 2017 09:34:53 +0000 (11:34 +0200)]
Fix TODO item
Behdad Esfahbod [Sat, 7 Oct 2017 11:17:33 +0000 (13:17 +0200)]
[arabic] Fix cluster merging
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
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.
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
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).
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
Behdad Esfahbod [Wed, 4 Oct 2017 11:37:08 +0000 (13:37 +0200)]
Add info_cc() convenience macro
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.
Behdad Esfahbod [Wed, 4 Oct 2017 11:07:08 +0000 (13:07 +0200)]
Minor
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.
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
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
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
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
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
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
David Corbett [Tue, 3 Oct 2017 12:07:02 +0000 (08:07 -0400)]
Test Consonant_With_Stacker in Kannada (#530)
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
Behdad Esfahbod [Tue, 3 Oct 2017 11:25:44 +0000 (13:25 +0200)]
Behdad Esfahbod [Tue, 3 Oct 2017 11:23:31 +0000 (13:23 +0200)]
Minor
Behdad Esfahbod [Tue, 3 Oct 2017 11:22:07 +0000 (13:22 +0200)]
Make bots happy
Fixes https://github.com/behdad/harfbuzz/issues/551
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.
Khaled Hosny [Mon, 2 Oct 2017 20:36:14 +0000 (22:36 +0200)]
Print test-suite.log when CI builds fail
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.
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
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
Behdad Esfahbod [Mon, 2 Oct 2017 16:30:05 +0000 (18:30 +0200)]
[ucdn] Oops!
Behdad Esfahbod [Mon, 2 Oct 2017 16:26:52 +0000 (18:26 +0200)]
Remove some really old cruft
Behdad Esfahbod [Mon, 2 Oct 2017 16:22:51 +0000 (18:22 +0200)]
[ucdn] Update README
Behdad Esfahbod [Mon, 2 Oct 2017 16:21:27 +0000 (18:21 +0200)]
[ot] Improve shaper selection heuristic
Behdad Esfahbod [Mon, 2 Oct 2017 16:20:51 +0000 (18:20 +0200)]
[use] Hack to fix shaping of U+1A7F
Fixes https://github.com/behdad/harfbuzz/issues/525
Behdad Esfahbod [Mon, 2 Oct 2017 15:15:46 +0000 (17:15 +0200)]
[ucdn] Update to Unicode 10
Update to commit
c000ebf79c095a7d58cf90090bde5715592c4834
plus this bug-fix: https://github.com/grigorig/ucdn/issues/18
Behdad Esfahbod [Mon, 2 Oct 2017 15:02:39 +0000 (17:02 +0200)]
[use] Update to Unicode 10
Behdad Esfahbod [Mon, 2 Oct 2017 14:36:21 +0000 (16:36 +0200)]
Minor
Behdad Esfahbod [Mon, 2 Oct 2017 14:12:18 +0000 (16:12 +0200)]
Add Unicode 10 scripts
Behdad Esfahbod [Mon, 2 Oct 2017 14:00:31 +0000 (10:00 -0400)]
[indic] Update table to Unicode 10
Behdad Esfahbod [Mon, 2 Oct 2017 13:19:15 +0000 (09:19 -0400)]
[indic] Add test for
1a0a356a0f2b2932581e4fd0437c01c058f4f6d1
https://github.com/behdad/harfbuzz/issues/538
Behdad Esfahbod [Mon, 2 Oct 2017 13:03:16 +0000 (09:03 -0400)]
[indic] Move manual code out of generated table
Behdad Esfahbod [Mon, 2 Oct 2017 12:57:06 +0000 (08:57 -0400)]
[arabic] Update table to Unicode 10 data
Behdad Esfahbod [Mon, 2 Oct 2017 12:49:23 +0000 (08:49 -0400)]
[indic] Categorize U+0980 BENGALI ANJI as placeholder
Fixes https://github.com/behdad/harfbuzz/issues/538
jfkthame [Mon, 2 Oct 2017 12:08:49 +0000 (13:08 +0100)]
[shape-plan] Don't look for a cached plan if variation coords are specified. Fixes #549. (#550)
This is a temporary hack just to avoid incorrect shaping results, pending proper support
for caching shape-plans with variation coordinates.
Behdad Esfahbod [Sun, 1 Oct 2017 16:06:00 +0000 (12:06 -0400)]
Add RELEASING.md to dist
ebraminio [Sun, 1 Oct 2017 16:05:24 +0000 (19:35 +0330)]
Add release checklist (#529)
mhosken [Tue, 26 Sep 2017 18:29:45 +0000 (01:29 +0700)]
Fix missing xscale in rtl graphite unpacking (#541)
* Fix missing xscale in rtl graphite unpacking
* Oops didn't need to mess with yscale