Commit Graph

1500 Commits

Author SHA1 Message Date
Behdad Esfahbod
ba7e85c104 Cosmetic 2011-07-30 21:11:53 -04:00
Behdad Esfahbod
f5bc2725cb [Indic] For old-style Indic tables, move Halant around
In old-style Indic OT standards, the post-base Halants are moved after
their base.  Emulate that by moving first post-base Halant to
post-last-consonant.

Brings test-shape-complex failures down from 88 to 54.  Getting there!
2011-07-30 21:08:10 -04:00
Behdad Esfahbod
c47a31fb47 [OT] Save chosen script tag 2011-07-30 20:57:01 -04:00
Behdad Esfahbod
3a9b14dfdf Minor 2011-07-30 20:23:55 -04:00
Behdad Esfahbod
8613193bbf [test] Fix problem with N'ko test direction
Old HarfBuzz test suite always shaped as left-to-right and hence had wrong
0x14db, direction expected glyphstring for N'ko.  Doh!

Failures down from 92 to 88.
2011-07-30 20:21:40 -04:00
Behdad Esfahbod
fd06bf5611 [Indic] Handle initial Ra+Halant in scripts that support Reph
Brings test-shape-complex failures down from 104 to 92.  Way to go!
2011-07-30 20:14:44 -04:00
Behdad Esfahbod
ee58f3bc75 Minor 2011-07-30 19:15:53 -04:00
Behdad Esfahbod
352372ae5e [Indic] Categorize Ra in scripts that have Reph
Is the categorization correct?  I don't know.
2011-07-30 19:04:02 -04:00
Behdad Esfahbod
45d6f29f15 [Indic] Reorder matras
Number of failing shape-complex tests goes from 125 down to 94.

Next: Add Ra handling and it's fair to say we kinda support Indic :).
2011-07-30 14:44:30 -04:00
Behdad Esfahbod
911bf32aca Bug 39686 - Add '-no-undefined' to libharfbuzz LDFLAGS 2011-07-30 11:16:00 -04:00
Behdad Esfahbod
8f0b64fb69 Minor 2011-07-29 17:02:48 -04:00
Behdad Esfahbod
743807a3ce [Indic] Apply Indic features
Find the base consonant and apply basic Indic features accordingly.
Nothing complete, but does something for now.  Specifically:
no Ra handling right now, and no ZWJ/ZWNJ.

Number of failing shape-complex tests goes from 174 down to 125.

Next: reorder matras.
2011-07-29 16:46:09 -04:00
Behdad Esfahbod
1a1b501315 Minor 2011-07-29 16:36:46 -04:00
Behdad Esfahbod
dd5546de15 Minor 2011-07-29 16:27:31 -04:00
Behdad Esfahbod
9f9bcceca6 Register buffer vars in Indic shaper 2011-07-28 17:07:50 -04:00
Behdad Esfahbod
be09bf6b79 Oops. This should have gone into the previous commit 2011-07-28 17:03:43 -04:00
Behdad Esfahbod
b65c06025d Formalize buffer var allocations 2011-07-28 16:49:29 -04:00
Behdad Esfahbod
a9ad3d3460 Move more code around
Buffer var allocation coming into shape
2011-07-28 15:42:18 -04:00
Behdad Esfahbod
cc06c243d8 Streamline debugging infrastructure even more 2011-07-25 20:34:17 -04:00
Behdad Esfahbod
43ff203d8e Use variadic macros for debugging
Looks *so* much nicer!
2011-07-25 17:35:24 -04:00
Behdad Esfahbod
decd4e3e16 Add sugar syntax for debug messages
Buffer debugging coming soon.
2011-07-25 16:47:02 -04:00
Behdad Esfahbod
3a81b1db89 Minor, fix leak from my previous refactorings 2011-07-25 16:30:32 -04:00
Behdad Esfahbod
f4a579bc42 Add internal API for buffer var allocation 2011-07-25 16:26:05 -04:00
Behdad Esfahbod
651e8dd79e Start cleaning up buffer var allocation
I've messed up a lot of stuff recently, different parts of the
shaping process are stumbling on eachother's toes because
manually tracking what's in which buffer var is hard.  I'm
going to add some internal API to track those such that mistakes
are discovered as soon as they are introduced.
2011-07-25 14:54:08 -04:00
Behdad Esfahbod
c86f932015 Move code around 2011-07-25 00:44:50 -04:00
Behdad Esfahbod
18c42850c9 Shrink space used for ligature ids
This frees 16bits in the glyph_info struct during the ot_layout process.
We can use the freed space in the shapers now.
2011-07-25 00:43:39 -04:00
Behdad Esfahbod
d8787493c9 Minor 2011-07-25 00:36:01 -04:00
Behdad Esfahbod
c311d85208 Keep Unicode props updated as we go so we avoid a scan later 2011-07-23 23:43:54 -04:00
Behdad Esfahbod
5389ff4dbc Implement the Unicode Canonical Composition algorithm
Fallback normalization is complete and working now!
2011-07-22 20:22:49 -04:00
Behdad Esfahbod
dcdc51cdc0 Handle singleton decompositions 2011-07-22 17:14:46 -04:00
Behdad Esfahbod
34c22f8168 Implement Unicode Canonical Reordering Algorithm 2011-07-22 17:04:20 -04:00
Behdad Esfahbod
4ff0d2d9df Decomposition works now! 2011-07-22 16:15:32 -04:00
Behdad Esfahbod
468e9cb25c Move buffer methods into the object 2011-07-22 14:49:14 -04:00
Behdad Esfahbod
45412523dc More normalization kick 2011-07-22 11:07:05 -04:00
Behdad Esfahbod
63c0ef4a07 Fix decompose() implementations to work with non-starter non-composables
Add tests.
2011-07-21 20:58:42 -04:00
Behdad Esfahbod
5d90a342e3 Document normalization design 2011-07-21 15:25:01 -04:00
Behdad Esfahbod
02cdf743c2 Add prefer_decomposed() complex-shaper callback
This allows the Indic shaper to request decomposed characters.  This will
handle split matra for free.  Other shapers prefer precomposed
characters.
2011-07-21 12:23:12 -04:00
Behdad Esfahbod
d6b9c6d200 More kicking 2011-07-21 12:16:45 -04:00
Behdad Esfahbod
192445aef2 Remove intermittent_glyph()
Lets not worry about performance for now...
2011-07-21 12:13:04 -04:00
Behdad Esfahbod
d63adfc7d0 No need to handle variation-selectors seperately, they are GC=Mn 2011-07-21 11:48:57 -04:00
Behdad Esfahbod
aa7264123a Only form clusters if we are reversing
This produces more accurate cluster mappings.  Cluster mappings are
minimal now.  Combining marks get their own cluster value most of
the time.
2011-07-21 11:34:59 -04:00
Behdad Esfahbod
5c6f5982d7 Towards normalization 2011-07-21 11:31:08 -04:00
Behdad Esfahbod
ad903e66b1 s/COMBINING_MARK/SPACING_MARK/ here too. Oops! 2011-07-21 10:17:22 -04:00
Behdad Esfahbod
cf7f43ec33 Remove stale comment 2011-07-21 01:12:26 -04:00
Behdad Esfahbod
54d1a0d2b2 Form clusters before ensuring native direciton
This is essential as ensure_native_direction uses cluster info that
is set by form_clusters().
2011-07-21 01:11:09 -04:00
Behdad Esfahbod
9111b21ef9 Add _hb_buffer_output_glyph() and _hb_buffer_skip_glyph() 2011-07-21 00:59:15 -04:00
Behdad Esfahbod
655586fe5e Towards normalization 2011-07-21 00:52:42 -04:00
Behdad Esfahbod
49741c8633 Include variation-selectors in cluster calculation 2011-07-21 00:35:37 -04:00
Behdad Esfahbod
dd89d958c1 Fix cluster calculation for non-LTR text 2011-07-21 00:28:57 -04:00
Behdad Esfahbod
4a68684654 When forming clusters, participate all mark types 2011-07-21 00:14:01 -04:00