Behdad Esfahbod [Wed, 13 Feb 2013 16:22:42 +0000 (11:22 -0500)]
[OTLayout] Minor refactoring
Behdad Esfahbod [Wed, 13 Feb 2013 16:13:06 +0000 (11:13 -0500)]
[OTLayout] Remove bogus caching of glyph property
Behdad Esfahbod [Wed, 13 Feb 2013 16:02:54 +0000 (11:02 -0500)]
Remember ZWNJ
To be used in upcoming changes.
Behdad Esfahbod [Wed, 13 Feb 2013 14:38:40 +0000 (09:38 -0500)]
Indent
Behdad Esfahbod [Wed, 13 Feb 2013 14:26:55 +0000 (09:26 -0500)]
[Indic] Improve base finding in final_reordering
Fixes 5 Malayalam failures!
MALAYALAM: 1048016 out of 1048334 tests passed. 318 failed (0.0303338%)
Behdad Esfahbod [Wed, 13 Feb 2013 13:29:21 +0000 (08:29 -0500)]
Add more dot-reph tests
Behdad Esfahbod [Wed, 13 Feb 2013 12:32:46 +0000 (07:32 -0500)]
[Indic] Track base position when reordering things
Ouch, how did things ever work without this?! The added test that has a
dot-reph as well as a pre-base reordering Ra perfectly demonstrates the
bug (tested with Nirmala font from Win8 for example). Testing suggests
that Win8 shaper has the *exact* same bug / behavior that we used to
have. Odd.
Behdad Esfahbod [Wed, 13 Feb 2013 10:59:06 +0000 (05:59 -0500)]
[SEA] Don't zero any mark advances
Keep the logic simple, easier to explain to font developers.
Behdad Esfahbod [Wed, 13 Feb 2013 10:57:24 +0000 (05:57 -0500)]
Further adjust mark advance zeroing
This is a followup to
568000274c8edb5f41bc4f876ce21fcc8bdaeed8.
Looks like in the Latin shaper, Uniscribe zeroes all Unicode NSM
advances *after* GPOS, not before. Match that.
Can be tested using DejaVu Sans Mono, since that font has GPOS
rules to zero the mark advances on its own.
Behdad Esfahbod [Tue, 12 Feb 2013 23:17:39 +0000 (18:17 -0500)]
[Indic] Fix Eyelash Ra with old Devanagari spec
Behdad Esfahbod [Tue, 12 Feb 2013 23:17:12 +0000 (18:17 -0500)]
[tests] Add tests for Devanagary Eyelash Ra
Currently broken with Sanskrit 2003 font.
Behdad Esfahbod [Tue, 12 Feb 2013 22:57:49 +0000 (17:57 -0500)]
[Indic] Apply 'blwf' before 'half'
This reverts
167b625d988b74572d6b2f646c285b666b650d49. It didn't
matter before, but that's going to change with next commit.
Behdad Esfahbod [Tue, 12 Feb 2013 23:01:21 +0000 (18:01 -0500)]
[Indic] Apply 'vatu' before 'cjct'
This essentially reverts
1d6846db9ebf84561bb30a4e48c6c43184914099,
but that commit is from way back when. We should be better
following the spec order now again.
Behdad Esfahbod [Tue, 12 Feb 2013 21:29:25 +0000 (16:29 -0500)]
Didn't mean to push this out
Ouch!
Behdad Esfahbod [Tue, 12 Feb 2013 21:13:56 +0000 (16:13 -0500)]
[Myanmar] Use master Indic table for syllable data
Behdad Esfahbod [Tue, 12 Feb 2013 20:45:59 +0000 (15:45 -0500)]
[tests] Add Cham sample
Behdad Esfahbod [Tue, 12 Feb 2013 20:35:32 +0000 (15:35 -0500)]
Improve checks for setmode()
As reported by Jonathan, OS X has setmode() that is something other
than what setmode() is on Win32. So, limit invocation to Windows
platforms only.
Behdad Esfahbod [Tue, 12 Feb 2013 20:31:58 +0000 (15:31 -0500)]
Improve check for Windows platforms
Instead of checking for compiler, check for platform.
Behdad Esfahbod [Tue, 12 Feb 2013 20:28:21 +0000 (15:28 -0500)]
[SEA] Treat Consonant_Final like Consonant_Medial
Behdad Esfahbod [Tue, 12 Feb 2013 20:26:45 +0000 (15:26 -0500)]
Rename HB_OT_INDIC_OPTIONS env var to HB_OPTIONS
The Myanmar shaper now respects the uniscribe-bug-compatibility
option too.
Behdad Esfahbod [Tue, 12 Feb 2013 17:14:10 +0000 (12:14 -0500)]
Add South-East Asian shaper
Handles Tai Tham, Cham, and New Tai Lue for now.
Behdad Esfahbod [Tue, 12 Feb 2013 15:33:58 +0000 (10:33 -0500)]
Minor test reshufflings
Behdad Esfahbod [Tue, 12 Feb 2013 15:31:14 +0000 (10:31 -0500)]
[Indic] Make sure New Tai Lue works!
Behdad Esfahbod [Tue, 12 Feb 2013 14:44:57 +0000 (09:44 -0500)]
Adjust mark advance-width zeroing logic for Myanmar
Before, we were zeroing advance width of attached marks for
non-Indic scripts, and not doing it for Indic.
We have now three different behaviors, which seem to better
reflect what Uniscribe is doing:
- For Indic, no explicit zeroing happens whatsoever, which
is the same as before,
- For Myanmar, zero advance width of glyphs marked as marks
*in GDEF*, and do that *before* applying GPOS. This seems
to be what the new Win8 Myanmar shaper does,
- For everything else, zero advance width of glyphs that are
from General_Category=Mn Unicode characters, and do so
before applying GPOS. This seems to be what Uniscribe does
for Latin at least.
With these changes, positioning of all tests matches for Myanmar,
except for the glitch in Uniscribe not applying 'mark'. See preivous
commit.
Behdad Esfahbod [Tue, 12 Feb 2013 14:44:35 +0000 (09:44 -0500)]
[Myanmar] Add note re Uniscribe NOT applying 'mark'
Behdad Esfahbod [Mon, 11 Feb 2013 22:02:17 +0000 (17:02 -0500)]
Minor
Behdad Esfahbod [Mon, 11 Feb 2013 21:16:16 +0000 (16:16 -0500)]
[Myanmar] Fix handling of Punctuation and Symbol types
Testing with "clusters" now on par with testing without them. 15
failures both.
Behdad Esfahbod [Mon, 11 Feb 2013 21:06:02 +0000 (16:06 -0500)]
[Myanmar] Fixup handling of joiners and GB characters
Behdad Esfahbod [Mon, 11 Feb 2013 19:27:02 +0000 (14:27 -0500)]
[Myanmar] Prevent reordering between Asat and Dot below
Implemented as a hack for now. Myanmar failures down from 23 to 15.
MYANMAR: 1123868 out of 1123883 tests passed. 15 failed (0.
00133466%)
The remaining 15 cases are all where the syllable is wrong according to
the OpenType spec. We insert dottedcircle. Uniscribe fails to do that,
but it also fails to reorder the prebase-reordering medial-Ra. So it
gets it wrong.
Behdad Esfahbod [Mon, 11 Feb 2013 19:24:03 +0000 (14:24 -0500)]
Shuffle test data around
Behdad Esfahbod [Mon, 11 Feb 2013 18:36:23 +0000 (13:36 -0500)]
Add Win8-style Myanmar shaper
Myanmar failures down from 51% to 0.
00204648%!
MYANMAR: 1123860 out of 1123883 tests passed. 23 failed (0.
00204648%)
Behdad Esfahbod [Mon, 11 Feb 2013 19:17:54 +0000 (14:17 -0500)]
Minor
Behdad Esfahbod [Mon, 11 Feb 2013 18:27:17 +0000 (13:27 -0500)]
[OTLayout] Respect lookup-flags skipping over non-mark glyphs
Before, when matching ligatures, we never skipping over base / liga
glyphs even if that was what the LookupFlags asked for.
Fixed now. We carefully reviewed all instances of this, and tested with
Amiri as well as some Indic scripts, and are confident that this should
NOT break anyone's fonts. It's also how Uniscribe does it, from what
we can tell.
Behdad Esfahbod [Mon, 11 Feb 2013 18:14:15 +0000 (13:14 -0500)]
[OTLayout] s/mark_skipping/skipping/
In aticipation of upcoming changes.
Behdad Esfahbod [Mon, 11 Feb 2013 11:58:27 +0000 (06:58 -0500)]
[Indic] Fix bug introduced in
8b217f5ac54aa0dcbba2dd6d59aa89dde33e56c2
Was breaking reph formation logic when the Ra is the only consonant.
Devanagari regression fixed. Down to 57 failures again. Ouch.
Behdad Esfahbod [Mon, 11 Feb 2013 11:50:17 +0000 (06:50 -0500)]
Improve normalization heuristic
Before, for most scripts, we were not trying to recompose two characters
if the second one had ccc=0. That fails for Myanmar where U+1026
decomposes to U+1025,U+102E, both of which have ccc=0. However, we do
want to try to recompose those. We now check whether the second is a
mark, using general category instead.
At the same time, remove optimization that was conflicting with this.
[Let the Ngapi hackfest begin!]
Behdad Esfahbod [Thu, 7 Feb 2013 04:45:27 +0000 (23:45 -0500)]
Revert "Include config.h.in in tree"
This reverts commit
01013a0f5c58d5d54a37e5b4d6692e0bbd4baf80.
Conflicts:
config.h.in
Same argument as previous commit.
Behdad Esfahbod [Thu, 7 Feb 2013 04:43:27 +0000 (23:43 -0500)]
Revert "[Indic] Import ragel-generated Indic machine in git"
This reverts commit
fab7a71f110ed646745d54b23284537c50058c21.
Conflicts:
src/hb-ot-shape-complex-indic-machine.hh
Keeping that generated file in-tree causes problems with processes like
tinderbox that automatically fetch and build harfbuzz. It's harder to
bootstrap harfbuzz now (as was previously), but I'm willing to give this
another chance and see how it goes.
Behdad Esfahbod [Wed, 6 Feb 2013 20:29:07 +0000 (15:29 -0500)]
Don't use $(ENV)
As reported by Peter Breitenlohner:
I think this is a very bad idea because ENV is used to specify a startup
file to be read by some/all shells.
Behdad Esfahbod [Tue, 5 Feb 2013 04:31:24 +0000 (23:31 -0500)]
Add color-tests automake option
Behdad Esfahbod [Tue, 5 Feb 2013 04:28:22 +0000 (23:28 -0500)]
Bug 60035 - intermittent make install failure on hb-version.h
Behdad Esfahbod [Tue, 5 Feb 2013 04:24:16 +0000 (23:24 -0500)]
Bug 59637 - check-exported-symbols.sh & check-internal-symbols.sh fail on mips/mipsel
Behdad Esfahbod [Tue, 5 Feb 2013 04:06:50 +0000 (23:06 -0500)]
Merge check-internal-symbols.sh and check-exported-symbols.sh
Behdad Esfahbod [Fri, 1 Feb 2013 00:27:36 +0000 (19:27 -0500)]
Really fix setmode this time
Thanks to Khaled for spotting it.
Behdad Esfahbod [Thu, 31 Jan 2013 23:37:10 +0000 (18:37 -0500)]
Fixup previous commit
Now, it looks like this breaks Cygwin again. Have to figure out what's
going on.
Behdad Esfahbod [Thu, 31 Jan 2013 23:18:05 +0000 (18:18 -0500)]
Use setmode() instead of _setmode()
Looks like Cygwin / MSVC declare it that way, and it still works on
MinGW32 cross.
Behdad Esfahbod [Wed, 30 Jan 2013 03:45:00 +0000 (22:45 -0500)]
Bug 60053 - hb-common.cc:181:6: warning: ‘void free_langs()’ defined but not used
Behdad Esfahbod [Fri, 18 Jan 2013 23:10:47 +0000 (17:10 -0600)]
0.9.12
Behdad Esfahbod [Thu, 17 Jan 2013 04:07:50 +0000 (22:07 -0600)]
Minor
Behdad Esfahbod [Mon, 14 Jan 2013 19:51:46 +0000 (13:51 -0600)]
Minor
Behdad Esfahbod [Mon, 14 Jan 2013 06:33:58 +0000 (00:33 -0600)]
Fix build with Sun compiler
Behdad Esfahbod [Mon, 14 Jan 2013 06:32:12 +0000 (00:32 -0600)]
Revert "Minor"
This reverts commit
0a492357016bc9a614d2a726f2006c10af68ca58.
Enables code on more compilers.
Behdad Esfahbod [Mon, 14 Jan 2013 06:27:21 +0000 (00:27 -0600)]
Fix linking with non-gcc compilers
Behdad Esfahbod [Mon, 14 Jan 2013 06:26:43 +0000 (00:26 -0600)]
Fix residuals from fontconfig changes
Behdad Esfahbod [Thu, 10 Jan 2013 15:06:34 +0000 (09:06 -0600)]
0.9.11
Behdad Esfahbod [Thu, 10 Jan 2013 07:17:59 +0000 (01:17 -0600)]
Add atomic ops for Solaris
Based on fontconfig patch from Raimund Steger.
Behdad Esfahbod [Thu, 10 Jan 2013 06:03:36 +0000 (00:03 -0600)]
Fix crasher during multi-thread shaper data creation
Sample crash:
0 _hb_graphite2_shaper_face_data_destroy (data=0xffffffffffffffff)
at ../../src/hb-graphite2.cc:129
1 0x00007ffff4271d7d in hb_graphite2_shaper_face_data_ensure (
face=<optimized out>) at ../../src/hb-shaper-list.hh:35
2 hb_shape_plan_plan (shaper_list=<optimized out>, num_user_features=0,
user_features=0x0, shape_plan=0xf7b490) at ../../src/hb-shaper-list.hh:35
3 hb_shape_plan_create (face=<optimized out>, props=<optimized out>,
user_features=0x0, num_user_features=0, shaper_list=<optimized out>)
at ../../src/hb-shape-plan.cc:108
4 0x00007ffff4272c93 in hb_shape_plan_create_cached (face=0x10cf2b0,
props=0x11980d8, user_features=0x0, num_user_features=<optimized out>,
shaper_list=0x0) at ../../src/hb-shape-plan.cc:283
Behdad Esfahbod [Wed, 9 Jan 2013 00:09:46 +0000 (18:09 -0600)]
[Indic] In old-spec shaping, don't move viramas around if seq ends with one
For example: u0c9a u0ccd u0c9a u0ccd with Lohit. See:
https://bugs.freedesktop.org/show_bug.cgi?id=59118
Behdad Esfahbod [Tue, 8 Jan 2013 22:15:46 +0000 (16:15 -0600)]
[GPOS] If an Anchor offset is NULL, return false
If in a MarkPos table, a base has no anchor for a particular mark class,
return NULL such that the subsequent subtables get a chance at it.
Test case:
hb-shape ./EBGaramond12-Regular.otf ἂ --features="ss20","smcp"
Behdad Esfahbod [Mon, 7 Jan 2013 23:34:24 +0000 (17:34 -0600)]
Bug 58638 - Building fails with ICU due to not passing required flags
Behdad Esfahbod [Mon, 7 Jan 2013 22:46:37 +0000 (16:46 -0600)]
Rename hb_buffer_clear() to hb_buffer_clear_contents()
The previous name was clashing with harfbuzz.old. There are systems
that need to link both...
Clash-free now again.
Behdad Esfahbod [Fri, 4 Jan 2013 07:25:27 +0000 (01:25 -0600)]
Remove a few unnecessary const's
Apparently helps with MSVC compilation.
Behdad Esfahbod [Thu, 3 Jan 2013 06:14:24 +0000 (00:14 -0600)]
0.9.10
Behdad Esfahbod [Thu, 3 Jan 2013 06:07:16 +0000 (00:07 -0600)]
[OTLayout] Always collect default language system in collect_lookups
Not sure if this is the most desired behavior. It's the most easily
defined though.
Behdad Esfahbod [Thu, 3 Jan 2013 06:04:40 +0000 (00:04 -0600)]
[OTLayout] Fix feature iteration in collect_lookups
Previous logic was just wrong.
Behdad Esfahbod [Thu, 3 Jan 2013 06:00:23 +0000 (00:00 -0600)]
[OTLayout] Whitespace
Behdad Esfahbod [Thu, 3 Jan 2013 05:57:36 +0000 (23:57 -0600)]
[OTLayout] Handle required_feature_index in collect_lookups
Behdad Esfahbod [Thu, 3 Jan 2013 05:36:37 +0000 (23:36 -0600)]
[OTLayout] Fix various introspection issues with ClassDef's
As reported by Jonathan Kew.
Behdad Esfahbod [Thu, 3 Jan 2013 05:22:54 +0000 (23:22 -0600)]
[tests] Finish test-set.c
All passing now.
Behdad Esfahbod [Thu, 3 Jan 2013 05:02:59 +0000 (23:02 -0600)]
Protect sets in-error from further modication
Fixes test-set.c
Behdad Esfahbod [Thu, 3 Jan 2013 04:50:36 +0000 (22:50 -0600)]
[tests] Start adding tests for hb-set.h
Fails now. Fixing.
Behdad Esfahbod [Thu, 3 Jan 2013 04:49:58 +0000 (22:49 -0600)]
[tests] Add set object to test-object.c
Behdad Esfahbod [Wed, 2 Jan 2013 23:41:27 +0000 (17:41 -0600)]
Minor
Behdad Esfahbod [Sat, 22 Dec 2012 00:41:04 +0000 (19:41 -0500)]
[Indic] Insert dottedcircle after a lone Malayalam dot-reph
Behdad Esfahbod [Fri, 21 Dec 2012 21:54:22 +0000 (16:54 -0500)]
Remove TODO that I don't intend to fix
Behdad Esfahbod [Fri, 21 Dec 2012 21:51:15 +0000 (16:51 -0500)]
Minor
Behdad Esfahbod [Fri, 21 Dec 2012 21:48:51 +0000 (16:48 -0500)]
Minor
Behdad Esfahbod [Fri, 21 Dec 2012 21:48:47 +0000 (16:48 -0500)]
Minor
Behdad Esfahbod [Fri, 21 Dec 2012 21:46:53 +0000 (16:46 -0500)]
[util] List supported output formats in --help output
Behdad Esfahbod [Fri, 21 Dec 2012 21:35:28 +0000 (16:35 -0500)]
[util] List supported output formats in hb-view
Behdad Esfahbod [Fri, 21 Dec 2012 21:01:52 +0000 (16:01 -0500)]
[util] Default to "text" output format in hb-shape
If you say:
hb-shape font.ttf text --output-file out.txt
This was previously failing:
Unknown output format `txt'; supported formats are: TEXT / JSON
Now we simply fallback to TEXT if no explicit format was requested.
Behdad Esfahbod [Fri, 21 Dec 2012 20:48:32 +0000 (15:48 -0500)]
[Indic] Reorder Malayalam dot-reph to after base
Test sequence is simple: U+0D4E,U+0D15. The doth-reph should be
reordered to after the Ka.
https://bugzilla.redhat.com/show_bug.cgi?id=799565
Behdad Esfahbod [Fri, 21 Dec 2012 20:35:03 +0000 (15:35 -0500)]
Minor
Behdad Esfahbod [Fri, 21 Dec 2012 16:54:50 +0000 (11:54 -0500)]
Add Android.mk
Behdad Esfahbod [Thu, 20 Dec 2012 06:02:36 +0000 (01:02 -0500)]
Add build confirmation notice to configure
Behdad Esfahbod [Wed, 19 Dec 2012 20:23:02 +0000 (15:23 -0500)]
[TODO] Remove done items
Behdad Esfahbod [Wed, 19 Dec 2012 18:00:16 +0000 (13:00 -0500)]
Bug 58498 - Tests fail with gold linker on ARM
Behdad Esfahbod [Wed, 19 Dec 2012 01:39:40 +0000 (20:39 -0500)]
Use C++ linker if ICU is disabled
Bug 54948 - Undefined symbols: "operator delete(void*)" "operator
new(unsigned long)" "___cxa_pure_virtual"
Behdad Esfahbod [Tue, 18 Dec 2012 04:29:15 +0000 (23:29 -0500)]
[OTLayout] Limit alternate-location FeatureParams to 'size' feature
Behdad Esfahbod [Tue, 18 Dec 2012 04:21:05 +0000 (23:21 -0500)]
[OTLayout] Fix 'size' featureParams implementation
Looks at alternate location now.
Behdad Esfahbod [Mon, 17 Dec 2012 23:42:59 +0000 (18:42 -0500)]
[OTLayout] Fix tracing
Behdad Esfahbod [Mon, 17 Dec 2012 18:55:36 +0000 (13:55 -0500)]
[OTLayout] Towards correct FeatureParams handling
Behdad Esfahbod [Fri, 14 Dec 2012 22:48:23 +0000 (17:48 -0500)]
[OTLayout] Wire tag and list start all the way to Feature
To fix FeatureParam issues. No actual fix yet, just plumbing.
Behdad Esfahbod [Wed, 12 Dec 2012 16:38:49 +0000 (11:38 -0500)]
[OTLayout] More 'size' feature sanity checking
We still don't look for the old incorrect place of the featureParams.
I'll wait till someone actually complains about it...
Behdad Esfahbod [Tue, 11 Dec 2012 21:01:31 +0000 (16:01 -0500)]
[OTLayout] Add FeatureParamsCharacterVariants struct
No API yet.
Behdad Esfahbod [Tue, 11 Dec 2012 21:00:43 +0000 (16:00 -0500)]
[OTLayout] Add UINT24 type
Behdad Esfahbod [Tue, 11 Dec 2012 19:31:13 +0000 (14:31 -0500)]
Make test-size-params write size in points
Behdad Esfahbod [Tue, 11 Dec 2012 19:30:57 +0000 (14:30 -0500)]
[OTLayout] Make hb_ot_layout_get_size_params() do some checks
Behdad Esfahbod [Tue, 11 Dec 2012 19:17:01 +0000 (14:17 -0500)]
[OTLayout] Change hb_ot_layout_get_params() API
And add implementation for StylisticSet UINameID. No API yet.
Behdad Esfahbod [Mon, 10 Dec 2012 22:44:22 +0000 (17:44 -0500)]
[uniscribe] Enable Uniscribe backend only if it has ScriptShapeOpenType()
Bug 55494 - ScriptItemizeOpenType doesn't exists under Windows XP