Behdad Esfahbod [Thu, 10 May 2012 13:28:27 +0000 (15:28 +0200)]
[Indic] Don't clear the mask for Reph
This was removing the mandatory global 1 bit in the mask and hence
disabling GPOS for Reph!
Behdad Esfahbod [Thu, 10 May 2012 12:48:25 +0000 (14:48 +0200)]
[Indic] Improve Left Matra repositioning
Move its dependents too.
Behdad Esfahbod [Thu, 10 May 2012 12:43:53 +0000 (14:43 +0200)]
[Indic] Add tricky reordering test cases
In the case of Consonant,LeftMatra,Halant, Uniscribe leaves the Halant
where it is, but we want to move it with the Matra as that makes more
logical sense.
Behdad Esfahbod [Thu, 10 May 2012 11:45:52 +0000 (13:45 +0200)]
[Indic] Do Reph repositioning in final reordering like the spec says
This introduced a failure, which we tracked down to a test case like this:
U+092E,U+094B,U+094D,U+0930
The final character is a Ra that should be put in a syllable of it's
own. And we do. But it will interact with the Halant before it. So
now we finally are convinced that we have to limit features to syllable
boundaries. That's coming after lunch!
Behdad Esfahbod [Thu, 10 May 2012 11:09:08 +0000 (13:09 +0200)]
Minor
Behdad Esfahbod [Thu, 10 May 2012 10:53:53 +0000 (12:53 +0200)]
[Indic] Reorder left matras to be closer to base
Behdad Esfahbod [Thu, 10 May 2012 10:20:21 +0000 (12:20 +0200)]
[Indic] Treat the standalone cluster case reusing the consonant logic
Behdad Esfahbod [Thu, 10 May 2012 10:17:16 +0000 (12:17 +0200)]
[Indic] Minor
Behdad Esfahbod [Thu, 10 May 2012 10:07:33 +0000 (12:07 +0200)]
[Indic] Handle Vowel syllables
Reusing the consonant logic!
Behdad Esfahbod [Thu, 10 May 2012 09:41:51 +0000 (11:41 +0200)]
[Indic] Simplify Reph logic
Behdad Esfahbod [Thu, 10 May 2012 09:37:42 +0000 (11:37 +0200)]
[Indic] Don't form Reph is Ra is the only consonant in the syllable
Behdad Esfahbod [Thu, 10 May 2012 09:32:52 +0000 (11:32 +0200)]
[Indic] Increase max syllable length
20 was way too low, one could hit a syllable with 7ish consonants with it.
Behdad Esfahbod [Thu, 10 May 2012 09:31:20 +0000 (11:31 +0200)]
[Indic] Adjust base after sorting
Behdad Esfahbod [Thu, 10 May 2012 08:51:38 +0000 (10:51 +0200)]
[Indic] Don't return for long syllables. Just not sort.
Behdad Esfahbod [Wed, 9 May 2012 17:10:07 +0000 (19:10 +0200)]
Fix Uniscribe clusters with multiple items
Behdad Esfahbod [Wed, 9 May 2012 16:57:37 +0000 (18:57 +0200)]
[Indic] Don't give up syllable parsing upon junk
Behdad Esfahbod [Wed, 9 May 2012 15:56:03 +0000 (17:56 +0200)]
[Indic] Towards multi-cluster syllables and final reordering
Behdad Esfahbod [Wed, 9 May 2012 15:53:13 +0000 (17:53 +0200)]
Combine lig_id and lig_comp into one byte, to free up one for Indic
Behdad Esfahbod [Wed, 9 May 2012 15:40:00 +0000 (17:40 +0200)]
Minor
Behdad Esfahbod [Wed, 9 May 2012 15:24:39 +0000 (17:24 +0200)]
[Indic] Make room for more reordering positions
Behdad Esfahbod [Wed, 9 May 2012 13:56:35 +0000 (15:56 +0200)]
[Indic] Improve matra vs consonant ordering
Another 1.5% down.
Behdad Esfahbod [Wed, 9 May 2012 13:41:51 +0000 (15:41 +0200)]
[Indic] Categorize Anudatta
Behdad Esfahbod [Wed, 9 May 2012 13:27:56 +0000 (15:27 +0200)]
[Indic] Add joiner test cases for Devanagari
Behdad Esfahbod [Wed, 9 May 2012 13:21:13 +0000 (15:21 +0200)]
[Indic] Make sure Reph jumps over all matras to the right
Another 12 thousand failures gone! (78 to go)
Behdad Esfahbod [Wed, 9 May 2012 13:04:58 +0000 (15:04 +0200)]
[Indic] Keep Vedic signs at the right too
Behdad Esfahbod [Wed, 9 May 2012 13:04:13 +0000 (15:04 +0200)]
Replace zerowidth invisible chars with a zero-advance space glyph
Like Uniscribe does.
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