Commit Graph

2049 Commits

Author SHA1 Message Date
Behdad Esfahbod 41ae674f68 Don't create hb_apply_context_t per glyph!
I couldn't measure significant performance gains out of this; maybe
about 5% (with one million Malayalam strings).  Still, not bad.
But reminds me that optimizing this codebase without profiling first
is simply not going to work.  Oh well...
2012-04-11 17:13:50 -04:00
Behdad Esfahbod 4a1e02ef79 Fix shape to presentation forms font check
As reported by Jonathan Kew on the list.
2012-04-11 14:37:53 -04:00
Behdad Esfahbod 6062f5f014 Fix build with some compilers
As reported by Jonathan Kew on the list.
2012-04-11 14:19:55 -04:00
Behdad Esfahbod acd88e659f In Arabic fallback shaping, check that the font has glyph for new char 2012-04-10 18:02:20 -04:00
Behdad Esfahbod 7752aa73e7 Minor 2012-04-10 17:22:14 -04:00
Behdad Esfahbod 939c010211 Implement Arabic fallback shaping mandatory ligatures 2012-04-10 17:20:05 -04:00
Behdad Esfahbod b7d04eb606 Do Arabic fallback shaping 2012-04-10 16:44:38 -04:00
Behdad Esfahbod ae4a2b9365 Generate fallback Arabic shaping table
Not hooked up yet.
2012-04-10 16:25:08 -04:00
Behdad Esfahbod 3b26f96ebe Add Thai shaper that does SARA AM decomposition / reordering
That's not in the OpenType spec, but it's what MS and Adobe do.
2012-04-10 10:52:07 -04:00
Behdad Esfahbod 0b6d2ac6a1 Minor 2012-04-10 10:52:03 -04:00
Behdad Esfahbod e099dd6592 Add Thai test case for SARA AM decomposition 2012-04-10 10:47:33 -04:00
Behdad Esfahbod 4450dc9354 Move around 2012-04-07 22:07:23 -04:00
Behdad Esfahbod d4cc44716c Move code around, in prep for Thai/Lao shaper 2012-04-07 21:52:28 -04:00
Behdad Esfahbod c9a841f445 Add simple Hangul shaper that recomposes Jamo when feasible
Previously, we were NOT actually recomposing Hangul Jamo.  We do now.
The two lines in:

test/shaping/texts/in-tree/shaper-default/script-hangul/misc/misc.txt

Now render the same with the UnDotum.ttf font.  Previously the second
linle was rendering boxes.

We can also start applying OpenType Jamo features later.  At this time,
I have no idea how the 'ljmo', 'vjmo', 'tjmo' features are supposed to
work.  Maybe someone can explain them to me?
2012-04-07 15:06:55 -04:00
Behdad Esfahbod 9683184553 Implement normalization mode HB_OT_SHAPE_NORMALIZATION_MODE_COMPOSED_FULL
In this mode we try composing CCC=0 with CCC=0 characters.  Useful for
Hangul.
2012-04-07 15:06:47 -04:00
Behdad Esfahbod bec2ac4fde Bring normalization algorithm closer to the spec
No logical difference so far.
2012-04-07 14:51:17 -04:00
Behdad Esfahbod e02d925786 Flip logic around 2012-04-07 14:49:13 -04:00
Behdad Esfahbod aaa25d5f45 Add Hangul test case
Composed, and decomposed, of the same text.
2012-04-05 17:27:23 -04:00
Behdad Esfahbod 11138ccff7 Add normalize mode
In preparation for Hangul shaper.
2012-04-05 17:25:19 -04:00
Behdad Esfahbod 6769f21d57 More moving code around 2012-04-05 16:46:46 -04:00
Behdad Esfahbod 2db2a56682 Move code around 2012-04-05 16:40:37 -04:00
Behdad Esfahbod cad3821f3d More sorting by Unicode version
This is the most convenient way to browse scripts.
2012-03-07 17:13:25 -05:00
Behdad Esfahbod 317b9504d7 Minor 2012-03-07 16:51:29 -05:00
Behdad Esfahbod fa2673c1ee More Unicode script age annotation, and a couple more RTL scripts
Cross-checked with Mark Davis's spreadsheet at http://goo.gl/x9ilM
2012-03-07 15:52:02 -05:00
Behdad Esfahbod 6d4016f1ba Make src tests pass again 2012-03-07 15:33:14 -05:00
Behdad Esfahbod 7da435f08c Separate Unicode 3.1 and Unicode 3.2 additions 2012-03-07 15:20:20 -05:00
Behdad Esfahbod f91136cb52 Route three Unicode 6.1 scripts through Indic shaper 2012-03-07 12:56:22 -05:00
Behdad Esfahbod f32c0012ad Add Unicode 6.1.0 scripts 2012-03-07 12:53:34 -05:00
Behdad Esfahbod 50e810cd0e Lydian and Kharoshthi are right-to-left 2012-03-07 12:49:08 -05:00
Behdad Esfahbod a52835635e Whitespace 2012-03-07 12:38:39 -05:00
Behdad Esfahbod 183224684a Use generic shaper for Buhid
As requested by Jonathan Kew.

We need to devise a better mechanism to choose which scripts to
pass through the Indic shaper.  Moreover, currently we are storing
data for some scripts in the Indic shaper that are not even going
through that shaper.  Need to find a better way...
2012-03-07 12:21:28 -05:00
Behdad Esfahbod cdc8b491a8 Update Indic table to Unicode 6.1 data 2012-03-07 12:08:33 -05:00
Behdad Esfahbod e3b2e077f5 Typo 2012-03-07 10:21:24 -05:00
Behdad Esfahbod c346671b6b Minor doc fixes 2012-03-06 20:47:50 -05:00
Behdad Esfahbod 406044986a Add Hebrew diacritics test cases
From:
https://bugzilla.mozilla.org/show_bug.cgi?id=662055
2012-03-06 20:24:31 -05:00
Behdad Esfahbod 461b9b6347 Fix cluster formation in Indic
Makes number of failures against Uniscribe with hi_IN dictionary from
OO.o to go down from 6334 to 4290.  Not bad for a one-line change!

Mozilla Bug 729626 - ASAN: heap-buffer-overflow HTML
2012-03-01 18:11:19 -08:00
Behdad Esfahbod bc71ad4973 Fix atomic-int op on Apple
The OSAtomicAdd32Barrier operator returns the new value, we want the
old value.
2012-03-01 17:30:29 -08:00
Behdad Esfahbod a1970d9afc Add support for atomic int and mutex on Apple systems
So, apparently there's no atomic int 'get' method on Apple.  You have to
add(0) to get.  And that's not const-friendly.  So switch inert-object
checking to a non-atomic get.  This, however, is safe, and a negligible
performance boost too.
2012-02-24 16:19:52 -05:00
Behdad Esfahbod 8004429102 Remove unused hb_atomic_int_set()
Apparently it can't be implemented on OS X.  We weren't using it anyway.
2012-02-24 16:19:52 -05:00
Behdad Esfahbod 45227c10e4 Add hb-warning.cc. Oops! 2012-02-23 19:47:43 -05:00
Behdad Esfahbod bd7ff1dec5 Allow disabling multi-threaded support
By defining HB_NO_MT.

Also, only warn once per missing MT feature support.

Mozilla Bug 666661 - gfx/harfbuzz/src/hb-prive.h - compiler warnings on mac
2012-02-23 15:06:16 -05:00
Behdad Esfahbod 634c9e3423 Minor 2012-02-22 16:43:21 -05:00
Behdad Esfahbod 514b6f8866 Followup: Reorder Hebrew combining classes for better rendering
Patch from Jonathan Kew.

Bug 662055 - advanced Hebrew diacritics are shown correctly only in
particular order.
2012-02-22 16:34:37 -05:00
Behdad Esfahbod 6e78607ea7 Reorder Hebrew combining classes for better rendering
Patch from Jonathan Kew.

Bug 662055 - advanced Hebrew diacritics are shown correctly only in particular order
2012-02-22 16:31:15 -05:00
Behdad Esfahbod 7a70ca78e0 Add test case from https://bugzilla.mozilla.org/show_bug.cgi?id=714067 2012-02-21 11:31:47 -05:00
Behdad Esfahbod f51e167436 Minor error handling 2012-01-30 09:48:33 -05:00
Behdad Esfahbod bee74efbde Update git.mk to new upstream 2012-01-27 02:23:22 -05:00
Behdad Esfahbod 134aa7bc7e Make checks more OS X friendly 2012-01-27 02:23:22 -05:00
Behdad Esfahbod 6152199368 Fix check-header-guards on OS X 2012-01-27 02:23:22 -05:00
Behdad Esfahbod c62e41b6aa Minor 2012-01-27 02:20:58 -05:00