Commit Graph

1858 Commits

Author SHA1 Message Date
Behdad Esfahbod
0e3361464b Fix bug with not setting Unicode props of the first character
Fixes Mongolian shaping issue:
https://bugs.freedesktop.org/show_bug.cgi?id=45695
2012-04-12 10:06:52 -04:00
Behdad Esfahbod
f9746b600a Minor 2012-04-12 09:59:26 -04:00
Behdad Esfahbod
7470b0ff80 Add Mongolian test case 2012-04-12 09:44:27 -04:00
Behdad Esfahbod
c65662b71e Fix left-matra positioning in Indic
Fixes 200 failures out of previous 4290 cases in the OO.o Indic
dictionary (of ~16000 entries).
2012-04-12 09:31:55 -04:00
Behdad Esfahbod
6d16403bfa Adjust TODO 2012-04-11 22:04:42 -04:00
Behdad Esfahbod
029a82d81d [hangul] Apply *jmo features to all Hangul chars
This is what old HB does.  Morever, fixes rendering with Win8 malgun
font.  The Win7 version doesn't compose with either Uniscribe nor HB,
but Win8 version works as expected, like Uniscribe, with this change.

Lets call Hangul done for now.
2012-04-11 22:00:46 -04:00
Behdad Esfahbod
3baae2440d Update TODO 2012-04-11 21:54:37 -04:00
Behdad Esfahbod
a4976447cd Add Hangul test 2012-04-11 17:48:40 -04:00
Behdad Esfahbod
e95d912b3b Fix diff tool 2012-04-11 17:33:02 -04:00
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