Commit Graph

1591 Commits

Author SHA1 Message Date
Behdad Esfahbod
22989c5ffc Distribute hb-ot-shape-complex-indic-machine.rl 2011-07-12 11:54:58 -04:00
Behdad Esfahbod
f6fd3780e1 Let shapers decide when to apply ccmp and locl
Instead of always applying those two features before the complex shaper,
let the complex shaper decide whether they should be applied first.

Also add stub for Indic's final_reordering().
2011-07-08 00:22:40 -04:00
Behdad Esfahbod
c4641723fb [API] Add compose() and decompose() unicode funcs, rename other ones
Add compose() and decompose() unicode funcs.  These implement
pair-wise canonical composition/decomposition.

The glib/icu implementations are lacking for now.  We are adding
API for this to glib, but I cannot find any useful API in ICU.
May end of implementing these in-house.

Changed all unicode_funcs callback names to remove the "_get" part.
Eg, hb_unicode_get_script_func_t is now hb_unicode_script_func_t,
and hb_unicode_get_script() is hb_unicode_script() now.
2011-07-08 00:09:31 -04:00
Behdad Esfahbod
d05dded167 More code generation through preprocessor 2011-07-07 23:43:47 -04:00
Behdad Esfahbod
891c4755ba Humm, undo some shuffling
In preparation for adding more advanced unicode funcs.
2011-07-07 23:27:27 -04:00
Behdad Esfahbod
4b6317c4f4 More code shuffling 2011-07-07 23:14:42 -04:00
Behdad Esfahbod
3361c9a323 Minor 2011-07-07 22:35:17 -04:00
Behdad Esfahbod
76f76812ac Shuffle code around, remove shape_plan from complex shapers 2011-07-07 22:25:25 -04:00
Behdad Esfahbod
e88bff9b4d Minor, use function typedefs 2011-07-07 22:03:02 -04:00
Behdad Esfahbod
359dcaa0d3 Update copyright headers 2011-07-07 21:55:05 -04:00
Behdad Esfahbod
d8d0c480c8 Refactor some code common to GSUB and GPOS 2011-07-07 21:22:08 -04:00
Behdad Esfahbod
b70c96dbe4 Enable applying GSUB/GPOS features in multiple segments
Fixes https://bugzilla.mozilla.org/show_bug.cgi?id=644184
among others.

Shapers now can request segmented feature application by calling
add_gsub_pause() or add_gpos_pause().  They can also provide a
callback to be called at the pause.  Currently the Arabic shaper
uses pauses to enforce certain feature application.  The Indic
shaper can use the same facility to pause and do reordering in the
callback.
2011-07-07 21:12:15 -04:00
Behdad Esfahbod
f6d7a9bb4c Shuffle code around 2011-07-07 16:20:35 -04:00
Behdad Esfahbod
fc551edbf2 Add todo
I'm too lazy to fix the tests now.
2011-07-07 16:09:38 -04:00
Behdad Esfahbod
2e18c6dbdf Fix reverse_range() position loop
Mozilla Bug 669175 - Slow rendering of text sometimes in this case,
using direction: rtl
2011-07-06 16:05:45 -04:00
Behdad Esfahbod
fa2befa46f Minor 2011-07-04 17:18:57 -04:00
Behdad Esfahbod
d69d5ceaa0 [Indic] Well, at least finding syllables works now :)
Still not much there.
2011-07-04 12:56:38 -04:00
Behdad Esfahbod
253a57fb5a [test-shape-complex] Remove the greek tests
They are outdated with respect to the DejaVu Sans I'm using.
We need to add font version checking to the tests.
2011-06-28 17:26:03 -04:00
Behdad Esfahbod
afa74bf904 [test-shape-complex] Print out expected and actual glyphstrings upon failure
One has to run the test with --verbose to see that right now.
2011-06-28 17:25:17 -04:00
Behdad Esfahbod
42d453b023 [test] Name tests after their input string 2011-06-28 16:59:16 -04:00
Behdad Esfahbod
2741316978 Minor
Towards a better test runner.
2011-06-28 16:21:31 -04:00
Behdad Esfahbod
cc674cbf7f Minor 2011-06-28 16:17:16 -04:00
Behdad Esfahbod
20d8a3982a [test] Remove disabled code
We'd add normalization and decomposition tests later.
2011-06-28 16:16:53 -04:00
Behdad Esfahbod
9704f0ca6c [test] Restructure shape test data a bit 2011-06-28 16:15:46 -04:00
Behdad Esfahbod
4ec30aec30 [Indic] Optimize Indic table storage 2011-06-28 14:13:38 -04:00
Behdad Esfahbod
c4a59de6d8 [Indic] Generate a single data table instead of multiple ones 2011-06-28 14:03:29 -04:00
Behdad Esfahbod
a346e923a9 [test] Add Indic tests from harfbuzz.old
Needs fonts to be put in test/fonts.  Tests are skipped otherwise.
Run with --verbose for details.  Working on improving the test runner
to make it easier to make sense of what's going on.
2011-06-28 12:49:18 -04:00
Behdad Esfahbod
8fdba506f0 [Indic] Define indic_position_t 2011-06-24 20:45:55 -04:00
Behdad Esfahbod
65988a145b [Indic] Add a table of consonant positions
Copied form HarfBuzz.old Indic data.  These are below and post
consonants.  This is temporary.  Read the comment in the patch.
2011-06-24 19:05:52 -04:00
Behdad Esfahbod
c7fe56a1d5 [Indic] Some of the basic features are global; Mark them so 2011-06-24 19:05:34 -04:00
Behdad Esfahbod
867361c3ad [indic] Add syllable recognition state machine
Using an incredible tool called Ragel.
2011-06-17 18:35:46 -04:00
Behdad Esfahbod
422e08dbb8 Better categorize Indic character classes
Matches OT types now.
2011-06-15 17:22:48 -04:00
Behdad Esfahbod
31f18abecb Minor compiler warning fixes 2011-06-15 09:49:58 -04:00
Behdad Esfahbod
e3693b72f0 Change a couple strstr() to strchr() 2011-06-15 09:33:52 -04:00
Behdad Esfahbod
b9452bfc16 Fix compiler warnings with -pedantic 2011-06-14 14:47:07 -04:00
Behdad Esfahbod
970e092dc2 Remove extra semicolon 2011-06-14 14:35:44 -04:00
Behdad Esfahbod
8142680802 Cosmetic 2011-06-13 16:12:56 -04:00
Behdad Esfahbod
902ab866f2 GNOME Bug 652227 - Unconditional use of stdint.h 2011-06-10 23:08:54 -04:00
Behdad Esfahbod
20503ccd57 More Indic data shuffling 2011-06-07 17:02:48 -04:00
Behdad Esfahbod
63b177e45c Minor 2011-06-07 15:51:40 -04:00
Behdad Esfahbod
b9ddbd5593 [Indic] Start an Indic shaper
Nothing functional in there yet.

So far, we're parsing IndicSyllabicCategory.txt and IndicMatraCategory.txt
fils from Unicode Character Database and store them in an array to be used
by the shaper.  Also hooked up the shaper, but it does not do anything
right now.
2011-06-02 17:43:12 -04:00
Behdad Esfahbod
697a65c5f5 Minor 2011-06-01 23:15:48 -04:00
Behdad Esfahbod
9de1481f2b Update to ArabicShaping-6.1.0d2.txt 2011-06-01 20:45:14 -04:00
Behdad Esfahbod
9d49433efb Minor rename 2011-06-01 18:10:10 -04:00
Behdad Esfahbod
0eafce56ee [TODO] New items 2011-06-01 12:45:34 -04:00
Behdad Esfahbod
89a2bc9ba6 [Vertical] Apply vertical features
We apply all of vert, vrt2, vkrn, valt, and vpal.
2011-05-31 15:18:13 -04:00
Behdad Esfahbod
0c6a9767c8 [hb-view] Add --face-index to choose a face in a TrueType Collection 2011-05-31 12:59:17 -04:00
Behdad Esfahbod
4f28fbdd80 Fix TTC header handling
Also change the Version type to avoid similar bugs in the future.

Reported by Grigori Goronzy.
2011-05-31 12:33:11 -04:00
Behdad Esfahbod
21deab2bdc Fixed inifinite loop introduced in 7403e055cd
k is the index, not j.

Reported by Tom Hacohen.
2011-05-30 11:08:40 -04:00
Behdad Esfahbod
51881a61ca Shrink code size 2011-05-27 18:15:56 -04:00