Commit Graph

3191 Commits

Author SHA1 Message Date
Behdad Esfahbod ed2f1363a3 Fix substitution glyph class propagation
The old code was doing nothing.

Still got to find an example font+string that makes this matter, but
need this for fixing synthetic GDEF anyway.
2012-05-22 22:12:22 -04:00
Behdad Esfahbod a6de53664d Add CJK Compatibility Ideographs tests
From:
http://people.mozilla.org/~jdaggett/tests/cjkcompat.html
2012-05-18 15:04:35 -04:00
Behdad Esfahbod 20fdb0f41d Add a lock-free cache type for int->int functions
To be used for cmap and advance caching if desired.
2012-05-17 22:04:45 -04:00
Behdad Esfahbod bd908b4f10 Implement hb_atomic_int_set() for OS X 2012-05-17 22:02:08 -04:00
Behdad Esfahbod 022a05ae90 Minor 2012-05-17 21:53:24 -04:00
Behdad Esfahbod 22afd66a30 Add hb_atomic_int_set() again 2012-05-17 21:23:49 -04:00
Behdad Esfahbod 4aa7258cb1 Fix type conflicts on Windows without glib 2012-05-17 21:01:04 -04:00
Behdad Esfahbod f039e79d54 Don't use min/max as function names
They can be macros on some systems.  Eg. mingw32.
2012-05-17 20:55:12 -04:00
Behdad Esfahbod 34961e3198 Prefer native atomic/mutex ops to glib's 2012-05-17 20:50:38 -04:00
Behdad Esfahbod ec3ba4b96f Move atomic ops into their own header 2012-05-17 20:30:46 -04:00
Behdad Esfahbod de0878395b Update TODO 2012-05-17 20:15:49 -04:00
Behdad Esfahbod c87b317f0e [util] Add hb-ot-shape-closure tool
Computes all the glyphs that may be generated given a font and
set of Unicode characters.

The order of the Unicode characters is irrelevant.

Sample output:

behdad:util 0$ ./hb-ot-shape-closure Doulos\ SIL\ Regular.ttf f
f f_f

behdad:util 0$ ./hb-ot-shape-closure Doulos\ SIL\ Regular.ttf i
i

behdad:util 0$ ./hb-ot-shape-closure Doulos\ SIL\ Regular.ttf fi
f f_i f_f_i f_f i

behdad:util 0$ ./hb-ot-shape-closure DroidNaskh-Regular.ttf ب
uni0628 uni0628.init uni0628.medi uni0628.fina

behdad:util 0$ ./hb-ot-shape-closure DroidNaskh-Regular.ttf ا
uni0627 uni0627.fina

behdad:util 0$ ./hb-ot-shape-closure DroidNaskh-Regular.ttf با
uni0627 uni0627.fina uni0628 uni0628.init uni0628.medi uni0628.fina

behdad:util 0$ ./hb-ot-shape-closure DroidNaskh-Regular.ttf با --no-glyph-names
5 6 133 134 135 136
2012-05-15 23:53:18 -04:00
Behdad Esfahbod 45675e589e [util] Refactor to accommodate for upcoming new tool 2012-05-15 23:10:39 -04:00
Behdad Esfahbod 1d6846db9e [Indic] Apply vatu feature after cjct
Testing with old Deva spec this reduces failures.
Test sequence: U+0915,U+094D,U+0930.
2012-05-13 18:09:29 +02:00
Behdad Esfahbod 8caf5dcd66 Minor 2012-05-13 17:10:18 +02:00
Behdad Esfahbod 617f4ac46f Refactor 2012-05-13 16:48:03 +02:00
Behdad Esfahbod 5e4e21fce4 Revert "[Indic] Refactoring"
This reverts commit 0831061efb.
2012-05-13 16:46:08 +02:00
Behdad Esfahbod 3f18236a03 Fix more warnings 2012-05-13 16:20:10 +02:00
Behdad Esfahbod 9f377ed321 Fix more unused-var warnings 2012-05-13 16:13:44 +02:00
Behdad Esfahbod d993e72331 Fix hb_face_set_index() 2012-05-13 16:04:36 +02:00
Behdad Esfahbod 93345edcbe Fix warnings 2012-05-13 16:01:08 +02:00
Behdad Esfahbod eace47b173 Minor 2012-05-13 15:54:43 +02:00
Behdad Esfahbod 99c2695759 Add accessort to buffer for current info, current pos, and prev info 2012-05-13 15:45:18 +02:00
Behdad Esfahbod 6736f3c5b0 Minor 2012-05-13 15:21:06 +02:00
Behdad Esfahbod 5df809b655 [GSUB/GPOS] Remove context_length
The spec doesn't say contextual matching should be done this way,
and AOTS doesn't do it either.  It was inherited from old HarfBuzz.
Remove it.
2012-05-13 15:17:51 +02:00
Behdad Esfahbod 28b9d502bb Minor 2012-05-13 15:04:00 +02:00
Behdad Esfahbod 50f630c17c Remove ioctl checks
Ended up not using terminal size after all.
2012-05-13 13:03:44 +02:00
Behdad Esfahbod db0de7cd61 [util] Set ansi color only on color change 2012-05-13 13:02:38 +02:00
Behdad Esfahbod 912c5ff80a Reduce default margin 2012-05-13 12:51:02 +02:00
Behdad Esfahbod 52e7b1424a [util] Make hb-view print out Unicode art if stdout is a terminal 2012-05-13 07:55:00 +02:00
Behdad Esfahbod 8b2753ce2b Minor 2012-05-13 00:54:07 +02:00
Behdad Esfahbod 30874b4819 [util] Make tools default to stdin if no text is provided
One less argument to type in typical testing workflow!
2012-05-12 15:54:27 +02:00
Behdad Esfahbod 2097951110 [util] Change default font size of hb-view to 256
Most common usecase of hb-view is to test rendering of short words for
testing / inspection.  Not having to type "--font-size 150" each time
isn't such a bad idea...
2012-05-12 15:41:48 +02:00
Behdad Esfahbod 737dded2e0 Fix compiler warnings 2012-05-12 15:40:11 +02:00
Behdad Esfahbod f538fcb538 [test] Make tool usage easier by not requiring "--stdin"
Just default to it.  Added "--help" instead to get usage.
2012-05-12 15:34:40 +02:00
Behdad Esfahbod a3273e30bb [Indic] Add more Malayalam tests 2012-05-12 13:34:18 +02:00
Behdad Esfahbod 7f852b644b Fix compiler warnings 2012-05-11 23:10:31 +02:00
Behdad Esfahbod f7e8dcfd4f [Indic] Unbreak Devanagari
And this, concludes the HarfBuzz Massala Hackfest.

I like to specially thank Jonathan Kew for doing all the decription and
letting me get commit points.
2012-05-11 22:01:33 +02:00
Behdad Esfahbod 6a091df9b4 [Indic] Disambiguate sub vs post vs above matras
Bengali is at *just* above 5% now.
2012-05-11 21:42:27 +02:00
Behdad Esfahbod 9d0d319a4a [Indic] Position Bengali Reph before matras 2012-05-11 21:36:32 +02:00
Behdad Esfahbod f893672511 [Indic] Start categorizing Reph per script 2012-05-11 21:10:03 +02:00
Behdad Esfahbod a913b024d8 [Indic] Apply 'init' feature for Bengali
Error down from 20% to 7%.
2012-05-11 20:59:26 +02:00
Behdad Esfahbod eed903b164 [Indic] Refactor for the arrival of 'init' feature
Yep, on Bengali now!
2012-05-11 20:50:53 +02:00
Behdad Esfahbod 18c06e189b [Indic] Add Uniscribe bug feature for dotted circle
For dotted-circle independent clusters, Uniscribe does no Reph shaping
for the exact sequence Ra+Halant+25CC.  Which also is the only possible
sequence with 25CC at the end.
2012-05-11 20:02:14 +02:00
Behdad Esfahbod 5b16de97bc [Indic] Add tests for dottedcircle 2012-05-11 19:55:42 +02:00
Behdad Esfahbod 0831061efb [Indic] Refactoring 2012-05-11 19:07:58 +02:00
Behdad Esfahbod 7ea58db311 Minor 2012-05-11 18:58:57 +02:00
Behdad Esfahbod 9c09928989 [Indic] Allow multiple Consonants in Vowel/NBSP syllables
Uniscribe allows multiple Halant+Consonant after a Vowel.
Tests:
↦       * U+0905,U+094D,U+092B,U+094D,930,94d,930
2012-05-11 18:46:35 +02:00
Behdad Esfahbod 8c0aa486f3 [Indic] Allow two Nuktas per consonant
Uniscribe allows up to two nuktas per consonant and one per matra. It does so
indepent of whether the consonant already has a nukta in it.  Tests:

        * U+0916,U+093C,U+0941
        * U+0959,U+093C,U+0941
        * U+0916,U+093C,U+093C,U+0941
        * U+0959,U+093C,U+093C,U+0941
        * U+0916,U+093C,U+093C,U+093C,U+0941
        * U+0959,U+093C,U+093C,U+093C,U+0941
        * 915,93c,93c,,94d,U+0916,U+093C,U+093C,U+093e,93c,93c
2012-05-11 18:13:42 +02:00
Behdad Esfahbod 3399a06e70 [Indic] Fix U+0952 and similar classification to match Uniscribe
See comments.
2012-05-11 17:54:26 +02:00