Commit Graph

1986 Commits

Author SHA1 Message Date
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
Behdad Esfahbod
11aa3ef18d [Indic] Treat U+0951..U+0954 all similar to U+0952 2012-05-11 17:30:48 +02:00
Behdad Esfahbod
5f131d3226 [GSUB/GPOS/Indic] Apply GSUB/GPOS within syllables only
This does not apply to the context matchings.

This regresses tests right now.  And we are not sure whether this is
the right thing to do for GPOS.  But we'll figure out.
2012-05-11 17:29:40 +02:00
Behdad Esfahbod
8fd83aaf6e [GSUB/GPOS] Fix wrong buffer access in backward skippy mask matching 2012-05-11 17:18:37 +02:00
Behdad Esfahbod
ff24d1081a [Indic] Don't use syllable serial value 0 2012-05-11 17:07:08 +02:00
Behdad Esfahbod
892eb78782 [Indic] Implement Uniscribe Reph+Matra+Halant bug feature 2012-05-11 16:54:40 +02:00