Behdad Esfahbod [Wed, 9 May 2012 11:23:27 +0000 (13:23 +0200)]
[indic] Keep the syllable modifier marks to the right
Shaping failures on Hindi Wikipedia go down from 25% to 14%!
Behdad Esfahbod [Wed, 9 May 2012 10:37:27 +0000 (12:37 +0200)]
Minor
Behdad Esfahbod [Wed, 9 May 2012 10:03:09 +0000 (12:03 +0200)]
Minor
Behdad Esfahbod [Wed, 9 May 2012 09:43:43 +0000 (11:43 +0200)]
[indic] Better Reph matching
Behdad Esfahbod [Wed, 9 May 2012 09:38:31 +0000 (11:38 +0200)]
Minor
Behdad Esfahbod [Wed, 9 May 2012 09:07:18 +0000 (11:07 +0200)]
[indic] Apply Indic features in order
Behdad Esfahbod [Wed, 9 May 2012 09:06:47 +0000 (11:06 +0200)]
[indic] Apply rakaar forms
Fixes 10% of the failures against all of Hindi Wikipedia!
Behdad Esfahbod [Wed, 9 May 2012 07:54:54 +0000 (09:54 +0200)]
Add hb-diff-ngrams
Behdad Esfahbod [Wed, 9 May 2012 06:57:29 +0000 (08:57 +0200)]
Add N-gram generator
Behdad Esfahbod [Wed, 9 May 2012 06:16:15 +0000 (08:16 +0200)]
Use groupby()
Behdad Esfahbod [Wed, 9 May 2012 05:45:17 +0000 (07:45 +0200)]
Add hb-diff-stat
Behdad Esfahbod [Wed, 9 May 2012 05:30:07 +0000 (07:30 +0200)]
Make hb-diff-filter-failtures retain all test info for failed tests
Behdad Esfahbod [Tue, 8 May 2012 21:41:41 +0000 (23:41 +0200)]
Add hb-diff-colorize
Accepts --format=html now.
Behdad Esfahbod [Tue, 8 May 2012 20:44:21 +0000 (22:44 +0200)]
Cleanup diff
Doesn't do --color anymore. That will go into a new hb-diff-colorize
tool.
Behdad Esfahbod [Tue, 8 May 2012 17:38:49 +0000 (19:38 +0200)]
Make hb-diff faster
Behdad Esfahbod [Tue, 8 May 2012 16:55:29 +0000 (18:55 +0200)]
More tests
Behdad Esfahbod [Sat, 5 May 2012 20:38:20 +0000 (22:38 +0200)]
Fix warning and build issues
As reported by Jonathan Kew on the list.
Behdad Esfahbod [Wed, 25 Apr 2012 04:14:46 +0000 (00:14 -0400)]
Minor
Behdad Esfahbod [Tue, 24 Apr 2012 20:56:37 +0000 (16:56 -0400)]
Add hb_ot_shape_glyphs_closure()
Experimental API for now.
Behdad Esfahbod [Tue, 24 Apr 2012 20:02:12 +0000 (16:02 -0400)]
Minor
Behdad Esfahbod [Tue, 24 Apr 2012 20:01:30 +0000 (16:01 -0400)]
Minor
Behdad Esfahbod [Tue, 24 Apr 2012 20:00:50 +0000 (16:00 -0400)]
Add test caes for a minority language using Bengali
U+0985 BENGALI LETTER A followed by U+09D7 BENGALI AU LENGTH MARK.
According to Bobby de Vos on the mailing list, this results in a dotted
circle with most shaping engines, but is a legitimate sequence in this
minority language.
We reached the consensus on the list to NOT implement dotted-circle
in HarfBuzz.
Behdad Esfahbod [Tue, 24 Apr 2012 18:21:15 +0000 (14:21 -0400)]
Add a few more set operations
TODO: Tests for hb_set_t.
Behdad Esfahbod [Tue, 24 Apr 2012 03:03:12 +0000 (23:03 -0400)]
Make closure() return void
Behdad Esfahbod [Tue, 24 Apr 2012 02:41:09 +0000 (22:41 -0400)]
Add hb_set_t
Behdad Esfahbod [Tue, 24 Apr 2012 02:26:13 +0000 (22:26 -0400)]
Update copyright headers
Behdad Esfahbod [Tue, 24 Apr 2012 02:23:17 +0000 (22:23 -0400)]
Rename hb_glyph_map_t to hb_set_t
Behdad Esfahbod [Tue, 24 Apr 2012 02:20:14 +0000 (22:20 -0400)]
Improve clustering
Behdad Esfahbod [Tue, 24 Apr 2012 02:18:54 +0000 (22:18 -0400)]
Minor
Behdad Esfahbod [Mon, 23 Apr 2012 21:21:14 +0000 (17:21 -0400)]
Add map->substitute_closure()
Behdad Esfahbod [Mon, 23 Apr 2012 20:54:58 +0000 (16:54 -0400)]
Implement closure() for Context and ChainContext lookups
Behdad Esfahbod [Mon, 23 Apr 2012 19:28:35 +0000 (15:28 -0400)]
Flesh out closure() for GSUB
The GSUBGPOS part still missing.
Behdad Esfahbod [Mon, 23 Apr 2012 18:21:33 +0000 (14:21 -0400)]
Fix Coverage iters
Behdad Esfahbod [Mon, 23 Apr 2012 17:20:52 +0000 (13:20 -0400)]
Minor
Behdad Esfahbod [Mon, 23 Apr 2012 17:17:09 +0000 (13:17 -0400)]
Minor refactoring
Behdad Esfahbod [Mon, 23 Apr 2012 17:04:38 +0000 (13:04 -0400)]
Add "closure" operation stubs to GSUB
Filling in.
Behdad Esfahbod [Mon, 23 Apr 2012 17:02:14 +0000 (13:02 -0400)]
Add Coverage iterators
Behdad Esfahbod [Fri, 20 Apr 2012 02:34:06 +0000 (22:34 -0400)]
Add Indic inspection tool
Behdad Esfahbod [Fri, 20 Apr 2012 02:28:25 +0000 (22:28 -0400)]
Minor matra renumbering
Should have no visible effect.
Behdad Esfahbod [Fri, 20 Apr 2012 02:21:38 +0000 (22:21 -0400)]
Add GSUB "would_apply" API
To be used in the Indic shaper later. Unused for now.
Behdad Esfahbod [Tue, 17 Apr 2012 17:42:30 +0000 (13:42 -0400)]
Minor
Behdad Esfahbod [Tue, 17 Apr 2012 16:37:19 +0000 (12:37 -0400)]
Make font immutable in hb_shape()
Behdad Esfahbod [Tue, 17 Apr 2012 15:44:49 +0000 (11:44 -0400)]
Minor note re Graphite
Behdad Esfahbod [Tue, 17 Apr 2012 15:39:48 +0000 (11:39 -0400)]
Fix leak in graphite
Behdad Esfahbod [Tue, 17 Apr 2012 14:28:21 +0000 (10:28 -0400)]
Add another Thai test
Behdad Esfahbod [Tue, 17 Apr 2012 01:05:51 +0000 (21:05 -0400)]
Fix ragel regexp in vowel-based syllable
As reported by datao zhang on the mailing list.
Behdad Esfahbod [Tue, 17 Apr 2012 01:05:11 +0000 (21:05 -0400)]
Rewrite ragel expression to better match the one on MS spec
https://www.microsoft.com/typography/otfntdev/devanot/shaping.aspx
Behdad Esfahbod [Mon, 16 Apr 2012 22:08:20 +0000 (18:08 -0400)]
Add --utf8-clusters
Also fix cairo cluster generation.
Behdad Esfahbod [Mon, 16 Apr 2012 20:04:07 +0000 (16:04 -0400)]
Always use cairo_show_text_glyphs()
Better catches cluster errors.
Behdad Esfahbod [Mon, 16 Apr 2012 20:00:36 +0000 (16:00 -0400)]
Make page progression be right to left for vertical text
Behdad Esfahbod [Mon, 16 Apr 2012 19:55:13 +0000 (15:55 -0400)]
Apply 'liga' for vertical writing mode too
Apparently that's what Kazuraki uses to form vertical ligatures,
which suggests that it's what Adobe does.
Behdad Esfahbod [Mon, 16 Apr 2012 19:54:26 +0000 (15:54 -0400)]
Add Japanese test data from Adobe's Kazuraki font ligatures
Behdad Esfahbod [Sun, 15 Apr 2012 18:12:13 +0000 (14:12 -0400)]
Add comment
Behdad Esfahbod [Sun, 15 Apr 2012 00:47:14 +0000 (20:47 -0400)]
Minor
Behdad Esfahbod [Sun, 15 Apr 2012 00:23:58 +0000 (20:23 -0400)]
Move code around
Behdad Esfahbod [Sat, 14 Apr 2012 23:40:18 +0000 (19:40 -0400)]
Minor
Behdad Esfahbod [Sat, 14 Apr 2012 23:23:17 +0000 (19:23 -0400)]
Add assert
Behdad Esfahbod [Sat, 14 Apr 2012 23:19:26 +0000 (19:19 -0400)]
Add HB_DIRECTION_IS_VALID
Behdad Esfahbod [Sat, 14 Apr 2012 22:51:50 +0000 (18:51 -0400)]
Remove public enum names again
As was reported to me, glib-mkenum does not understand named enums,
so remove for now.
Behdad Esfahbod [Sat, 14 Apr 2012 22:47:07 +0000 (18:47 -0400)]
Minor
Behdad Esfahbod [Thu, 12 Apr 2012 21:38:23 +0000 (17:38 -0400)]
Make HB_DIRECTION_INVALID be zero
This changes all the HB_DIRECTION_* enum member values, but is
nicer, in preparation for making hb_segment_properties_t public.
Behdad Esfahbod [Thu, 12 Apr 2012 21:38:02 +0000 (17:38 -0400)]
Minor
Behdad Esfahbod [Thu, 12 Apr 2012 19:50:40 +0000 (15:50 -0400)]
Fix hb-view surface size calc for vertical text
For some reason it doesn't quite work with IranianNastaliq, but
that looks like a font issue.
Behdad Esfahbod [Thu, 12 Apr 2012 18:53:53 +0000 (14:53 -0400)]
Hide backend-specific shape functions
Also remove shaper_options argument to hb_shape_full(). That was
unused and for "future". Let it go.
More shaper API coming in preparation for plan/planned API.
Behdad Esfahbod [Thu, 12 Apr 2012 17:23:59 +0000 (13:23 -0400)]
Add names to enums
gdb was showing <anonymous enum> instead of useful stuff, so name
all our enums.
Behdad Esfahbod [Thu, 12 Apr 2012 17:17:44 +0000 (13:17 -0400)]
Make it an error to include non-top-level headers
Users should #include <hb.h> (or hb-ft.h, hb-glib.h, etc), but
never things like hb-shape.h directly. This makes it easier to
refactor headers later on without breaking compatibility.
Behdad Esfahbod [Thu, 12 Apr 2012 16:29:10 +0000 (12:29 -0400)]
Minor
Behdad Esfahbod [Thu, 12 Apr 2012 14:06:52 +0000 (10:06 -0400)]
Fix bug with not setting Unicode props of the first character
Fixes Mongolian shaping issue:
https://bugs.freedesktop.org/show_bug.cgi?id=45695
Behdad Esfahbod [Thu, 12 Apr 2012 13:59:26 +0000 (09:59 -0400)]
Minor
Behdad Esfahbod [Thu, 12 Apr 2012 13:44:27 +0000 (09:44 -0400)]
Add Mongolian test case
Behdad Esfahbod [Thu, 12 Apr 2012 13:31:55 +0000 (09:31 -0400)]
Fix left-matra positioning in Indic
Fixes 200 failures out of previous 4290 cases in the OO.o Indic
dictionary (of ~16000 entries).
Behdad Esfahbod [Thu, 12 Apr 2012 02:04:42 +0000 (22:04 -0400)]
Adjust TODO
Behdad Esfahbod [Thu, 12 Apr 2012 02:00:46 +0000 (22:00 -0400)]
[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.
Behdad Esfahbod [Thu, 12 Apr 2012 01:54:37 +0000 (21:54 -0400)]
Update TODO
Behdad Esfahbod [Wed, 11 Apr 2012 21:48:40 +0000 (17:48 -0400)]
Add Hangul test
Behdad Esfahbod [Wed, 11 Apr 2012 21:33:02 +0000 (17:33 -0400)]
Fix diff tool
Behdad Esfahbod [Wed, 11 Apr 2012 21:11:05 +0000 (17:11 -0400)]
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...
Behdad Esfahbod [Wed, 11 Apr 2012 18:37:53 +0000 (14:37 -0400)]
Fix shape to presentation forms font check
As reported by Jonathan Kew on the list.
Behdad Esfahbod [Wed, 11 Apr 2012 18:19:55 +0000 (14:19 -0400)]
Fix build with some compilers
As reported by Jonathan Kew on the list.
Behdad Esfahbod [Tue, 10 Apr 2012 22:02:20 +0000 (18:02 -0400)]
In Arabic fallback shaping, check that the font has glyph for new char
Behdad Esfahbod [Tue, 10 Apr 2012 21:22:14 +0000 (17:22 -0400)]
Minor
Behdad Esfahbod [Tue, 10 Apr 2012 21:20:05 +0000 (17:20 -0400)]
Implement Arabic fallback shaping mandatory ligatures
Behdad Esfahbod [Tue, 10 Apr 2012 20:44:38 +0000 (16:44 -0400)]
Do Arabic fallback shaping
Behdad Esfahbod [Tue, 10 Apr 2012 20:25:08 +0000 (16:25 -0400)]
Generate fallback Arabic shaping table
Not hooked up yet.
Behdad Esfahbod [Tue, 10 Apr 2012 14:52:07 +0000 (10:52 -0400)]
Add Thai shaper that does SARA AM decomposition / reordering
That's not in the OpenType spec, but it's what MS and Adobe do.
Behdad Esfahbod [Tue, 10 Apr 2012 14:52:03 +0000 (10:52 -0400)]
Minor
Behdad Esfahbod [Tue, 10 Apr 2012 14:47:33 +0000 (10:47 -0400)]
Add Thai test case for SARA AM decomposition
Behdad Esfahbod [Sun, 8 Apr 2012 02:07:23 +0000 (22:07 -0400)]
Move around
Behdad Esfahbod [Sun, 8 Apr 2012 01:52:28 +0000 (21:52 -0400)]
Move code around, in prep for Thai/Lao shaper
Behdad Esfahbod [Sat, 7 Apr 2012 19:06:55 +0000 (15:06 -0400)]
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?
Behdad Esfahbod [Sat, 7 Apr 2012 18:57:21 +0000 (14:57 -0400)]
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.
Behdad Esfahbod [Sat, 7 Apr 2012 18:51:17 +0000 (14:51 -0400)]
Bring normalization algorithm closer to the spec
No logical difference so far.
Behdad Esfahbod [Sat, 7 Apr 2012 18:49:13 +0000 (14:49 -0400)]
Flip logic around
Behdad Esfahbod [Thu, 5 Apr 2012 21:27:23 +0000 (17:27 -0400)]
Add Hangul test case
Composed, and decomposed, of the same text.
Behdad Esfahbod [Thu, 5 Apr 2012 21:25:19 +0000 (17:25 -0400)]
Add normalize mode
In preparation for Hangul shaper.
Behdad Esfahbod [Thu, 5 Apr 2012 20:46:46 +0000 (16:46 -0400)]
More moving code around
Behdad Esfahbod [Thu, 5 Apr 2012 20:40:37 +0000 (16:40 -0400)]
Move code around
Behdad Esfahbod [Wed, 7 Mar 2012 22:13:25 +0000 (17:13 -0500)]
More sorting by Unicode version
This is the most convenient way to browse scripts.
Behdad Esfahbod [Wed, 7 Mar 2012 21:51:29 +0000 (16:51 -0500)]
Minor
Behdad Esfahbod [Wed, 7 Mar 2012 20:52:02 +0000 (15:52 -0500)]
More Unicode script age annotation, and a couple more RTL scripts
Cross-checked with Mark Davis's spreadsheet at http://goo.gl/x9ilM