Commit Graph

322 Commits

Author SHA1 Message Date
Behdad Esfahbod b0a6e58bb3 s/script-punjabi/script-gurmukhi/ 2012-06-04 10:21:22 -04:00
Behdad Esfahbod 4efdffec09 Minor Malayalam test case
From https://bugs.freedesktop.org/show_bug.cgi?id=45166
2012-05-28 10:45:50 -04:00
Behdad Esfahbod dfff5b3021 Add Myanmar test case 2012-05-28 10:45:50 -04:00
Behdad Esfahbod ff3524c21a Add Arabic diacritics tests 2012-05-23 21:50:43 -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 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 5b16de97bc [Indic] Add tests for dottedcircle 2012-05-11 19:55:42 +02:00
Behdad Esfahbod c071b99f15 [Indic] Add test for Left Matra with Halant
Uniscribe doesn't move the Halant, we do.  And do a broken job of it now.
2012-05-11 16:22:46 +02:00
Behdad Esfahbod b20c9ebaf5 [Indic] Add test for matra group
The spec says: "[{M}+[N]+[H]]", and that's what Uniscribe implements.
We instead do: "{M+[N]+[H]}", which means we allow Nukta and Halant
after all Matras, not just the last one.  It makes more sense.
2012-05-10 18:31:17 +02:00
Behdad Esfahbod 61a58e26a5 [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.
2012-05-10 14:43:53 +02:00
Behdad Esfahbod 3943293a99 [Indic] Add joiner test cases for Devanagari 2012-05-09 15:27:56 +02:00
Behdad Esfahbod 2214a03900 Add hb-diff-ngrams 2012-05-09 09:54:54 +02:00
Behdad Esfahbod 178e6dce01 Add N-gram generator 2012-05-09 08:57:29 +02:00
Behdad Esfahbod 98669ceb77 Use groupby() 2012-05-09 08:16:15 +02:00
Behdad Esfahbod c438a14b62 Add hb-diff-stat 2012-05-09 07:45:17 +02:00
Behdad Esfahbod 1058d031e2 Make hb-diff-filter-failtures retain all test info for failed tests 2012-05-09 07:35:28 +02:00
Behdad Esfahbod f1eb008cc7 Add hb-diff-colorize
Accepts --format=html now.
2012-05-09 00:01:50 +02:00
Behdad Esfahbod 9155e4ffe0 Cleanup diff
Doesn't do --color anymore.  That will go into a new hb-diff-colorize
tool.
2012-05-08 22:44:21 +02:00
Behdad Esfahbod 7d22135b4c Make hb-diff faster 2012-05-08 19:38:49 +02:00
Behdad Esfahbod a93e238e05 More tests 2012-05-08 18:55:29 +02:00
Behdad Esfahbod 585b107cde 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.
2012-04-24 16:00:50 -04:00
Behdad Esfahbod 0290bbf861 Add another Thai test 2012-04-17 10:28:21 -04:00
Behdad Esfahbod 4d85252bda Add Japanese test data from Adobe's Kazuraki font ligatures 2012-04-16 15:54:26 -04:00
Behdad Esfahbod fe28b997fb Add HB_DIRECTION_IS_VALID 2012-04-14 19:19:26 -04:00
Behdad Esfahbod 4bf90f6483 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.
2012-04-12 17:38:23 -04:00
Behdad Esfahbod f9746b600a Minor 2012-04-12 09:59:26 -04:00
Behdad Esfahbod 7470b0ff80 Add Mongolian test case 2012-04-12 09:44:27 -04:00
Behdad Esfahbod a4976447cd Add Hangul test 2012-04-11 17:48:40 -04:00
Behdad Esfahbod e95d912b3b Fix diff tool 2012-04-11 17:33:02 -04:00
Behdad Esfahbod e099dd6592 Add Thai test case for SARA AM decomposition 2012-04-10 10:47:33 -04:00
Behdad Esfahbod 4450dc9354 Move around 2012-04-07 22:07:23 -04:00
Behdad Esfahbod aaa25d5f45 Add Hangul test case
Composed, and decomposed, of the same text.
2012-04-05 17:27:23 -04:00
Behdad Esfahbod 406044986a Add Hebrew diacritics test cases
From:
https://bugzilla.mozilla.org/show_bug.cgi?id=662055
2012-03-06 20:24:31 -05:00
Behdad Esfahbod 7a70ca78e0 Add test case from https://bugzilla.mozilla.org/show_bug.cgi?id=714067 2012-02-21 11:31:47 -05:00
Behdad Esfahbod 1a5a91dc0d Add a few more tests 2012-01-22 19:58:23 -05:00
Behdad Esfahbod 1795f3a222 Add a couple Thai test cases from Thep 2012-01-22 19:29:45 -05:00
Behdad Esfahbod ec3f506682 Add Devanagari test from Tom Hacohen 2012-01-22 19:10:55 -05:00
Behdad Esfahbod 71be4ca3dd Also ignore "ChangeLog" in manifests 2012-01-22 16:26:49 -05:00
Behdad Esfahbod 3c9a39ecd6 Remove newline 2012-01-22 16:21:19 -05:00
Behdad Esfahbod e4ccbfe276 Allow --color=html in hb-diff
Not that useful right now as we don't escape < and >.  Perhaps
another tool can be added to convert the ANSI output to HTML.
2012-01-22 16:07:32 -05:00
Behdad Esfahbod 8f80f93491 More shoveling around 2012-01-21 20:03:25 -05:00
Behdad Esfahbod c78c6e9844 Cleanup 2012-01-21 19:55:16 -05:00
Behdad Esfahbod ab94a9c542 Distribute testing tools 2012-01-21 19:43:58 -05:00
Behdad Esfahbod 3e86feb54c Speed up colorless diff 2012-01-21 19:40:30 -05:00
Behdad Esfahbod 1e58df6034 Cleanup manifest code 2012-01-21 19:37:31 -05:00
Behdad Esfahbod 956d552e10 Port hb-manifest-update to Python 2012-01-21 19:31:51 -05:00
Behdad Esfahbod 3a34e9e351 Ignore Broken Pipe errors 2012-01-21 19:15:41 -05:00
Behdad Esfahbod f22089ac24 Misc fixes 2012-01-20 21:22:14 -05:00
Behdad Esfahbod 96968bfae5 Port hb-manifest-read to Python 2012-01-20 21:16:34 -05:00
Behdad Esfahbod a59ed46fa4 Add final residues from test-shape-complex 2012-01-20 20:56:32 -05:00
Behdad Esfahbod 820e0ed318 Add Punjabi tests from test-shape-complex also 2012-01-20 20:51:52 -05:00
Behdad Esfahbod a7d71c1057 Add Tamil test data from Muguntharaj Subramanian 2012-01-20 20:50:09 -05:00
Behdad Esfahbod 5992a9941e Import test data from late test-shape-complex 2012-01-20 20:48:14 -05:00
Behdad Esfahbod 46ac456477 Fix Unicode encoding issue 2012-01-20 19:32:17 -05:00
Behdad Esfahbod ad34e39a4a Make test tools interactive
By bypassing readlines() buffering.
2012-01-20 18:40:25 -05:00
Behdad Esfahbod 91540a7d97 Move most testing logic into hb_test_tools.py
The actual utils are one-liners now.
2012-01-20 18:28:10 -05:00
Behdad Esfahbod 66aa080033 Remove test-shape-complex
New shaping testsuite and framework coming.
2012-01-20 17:36:10 -05:00
Behdad Esfahbod ed459bfb63 Add hb-unicode-encode 2012-01-20 17:24:05 -05:00
Behdad Esfahbod b12c4d4361 Add hb-diff-filter-failures 2012-01-20 17:17:44 -05:00
Behdad Esfahbod d4bffbc55b Move 2012-01-20 17:16:35 -05:00
Behdad Esfahbod 45f640c98d Minor 2012-01-20 14:24:21 -05:00
Behdad Esfahbod 47ca766a9c Minor 2012-01-20 14:21:53 -05:00
Behdad Esfahbod 8f1db07894 [test/shaping] Add some Indic test data for the new test suite
Imported from UTRRS.
2012-01-20 14:00:44 -05:00
Behdad Esfahbod 11267aef36 Fix 2012-01-20 13:57:14 -05:00
Behdad Esfahbod 4e84ce48d5 Move hb-diff to test/shaping/ 2012-01-20 13:51:22 -05:00
Behdad Esfahbod f868e1b84d Add hb-unicode-decode 2012-01-20 13:50:05 -05:00
Behdad Esfahbod 9ab23ef474 Minor 2012-01-20 13:49:56 -05:00
Behdad Esfahbod c8d81db033 Recognize more characters 2012-01-20 13:39:27 -05:00
Behdad Esfahbod 0016d4662d [test] Make hb-unicode-prettyname take a --stdin option 2012-01-20 13:31:59 -05:00
Behdad Esfahbod ad8c6446f2 [test/shaping] Add hb-unicode-prettyname 2012-01-20 13:27:40 -05:00
Behdad Esfahbod e900869b0f [test/shaping] Add hb-read-manifest 2012-01-19 20:28:15 -05:00
Behdad Esfahbod a211cd3ffc Ignore AUTHORS also 2012-01-19 20:27:53 -05:00
Behdad Esfahbod 36fe87d1b4 More Indic tests from Pravin 2012-01-19 16:55:26 -05:00
Behdad Esfahbod a33e46cf7d [test/shaping] Add hb-update-manifests 2012-01-19 15:44:55 -05:00
Behdad Esfahbod d4de562adf Start adding new shaping test suite together 2012-01-19 15:21:04 -05:00
Behdad Esfahbod 4d6dafd47f Rename test/ to test/api/ 2012-01-19 14:52:02 -05:00
Behdad Esfahbod 8d2781d692 [test] Add two Indic test cases from Bernard Massot 2012-01-19 11:36:39 -05:00
Behdad Esfahbod 055fb24d03 Add test for bug in ICU decompose
As reported by Kenichi Ishibashi on 2011-10-28.
2012-01-18 22:11:31 -05:00
Behdad Esfahbod a17554bfd5 Make test-c.c actually use hb
This will make sure we test that C code can actually link to the
library.
2011-09-28 16:57:34 -04:00
Behdad Esfahbod 738d096a06 Pass through unknown ISO 639-3 language tags to OpenType engine
In hb_ot_tag_from_language(), if first component of an unknown
language is three letters long, use it directly as OpenType language
tag (after case conversion and padding).
2011-09-02 13:31:19 -04:00
Behdad Esfahbod 4c9fe88d30 [API] Make all _from_string() functions take a len parameter
Can be -1 for NUL-terminated string.  This is useful for passing parts
of a larger string to a function without having to copy or modify the
string first.

Affected functions:

	hb_tag_t hb_tag_from_string()
	hb_direction_from_string()
	hb_language_from_string()
	hb_script_from_string()
2011-08-26 09:22:12 +02:00
Behdad Esfahbod e6c09cdf43 Remove the pre_allocate argument from hb_buffer_create()
For two reasons:

1. User can always call hb_buffer_pre_allocate() themselves, and

2. Now we do a pre_alloc in add_utfX anyway, so the total number of
reallocs is limited to a small number (~3) anyway.  This just makes the
API cleaner.
2011-08-19 19:20:26 +02:00
Behdad Esfahbod 217cc81cd9 [test/shape-complex] Print cluster and position info in --verbose 2011-08-09 14:00:44 +02:00
Behdad Esfahbod 708403e7f3 Fix warnings with old glib 2011-08-09 13:52:36 +02:00
Behdad Esfahbod 38b2118724 [API] Add hb_ft_font_set_funcs(), remove hb_ft_get_font_funcs()
Remove hb_ft_get_font_funcs() as it cannot be used by the user anyway.

Add hb_ft_font_set_funcs().  Which will make the font internally use
FreeType.  That is, no need for the font to have created using the
hb-ft API.  Just create using hb_face_create()/hb_font_create() and
then call this on the font (after having set font scale).  This
internally creates an FT_Face and attached to the font.
2011-08-09 11:10:32 +02:00
Behdad Esfahbod c0975e1231 Fix build again 2011-08-09 00:46:18 +02:00
Behdad Esfahbod 33ccc77902 [API] Make set_user_data() functions take a replace parameter
We need this to set data on objects safely without worrying that some
other thread unsets it by setting it at the same time.
2011-08-09 00:43:24 +02:00
Behdad Esfahbod 458c89a856 Minor 2011-08-09 00:19:19 +02:00
Behdad Esfahbod f1f848e2e4 Fix build 2011-08-08 23:41:06 +02:00
Behdad Esfahbod 206e329345 [test] test-object is not FreeType-specific, move it to the right place 2011-08-07 01:10:55 -04:00
Behdad Esfahbod 9da554504e Add hb_shape_list_shapers() 2011-08-05 19:59:02 -04:00
Behdad Esfahbod 3ca6c4ecc2 Change hb_shape() API back to what it was, add hb_shape_full()
I disliked changing hb_shape() API, and disliked the fact that it was
returning a bool now.  So, reverted.  Added new API for the extra
functionality.
2011-08-05 17:22:19 -04:00
Behdad Esfahbod 02aeca985b [API] Changes to main shape API
hb_shape() now accepts a shaper_options and a shaper_list argument.
Both can be set to NULL to emulate previous API.  And in most situations
they are expected to be set to NULL.

hb_shape() also returns a boolean for now.  If shaper_list is NULL, the
return value can be ignored.

shaper_options is ignored for now, but otherwise it should be a
NULL-terminated list of strings.

shaper_list is a NULL-terminated list of strings.  Currently recognized
strings are "ot" for native OpenType Layout implementation, "uniscribe"
for the Uniscribe backend, and "fallback" for the non-complex backend
(that will be implemented shortly).  The fallback backend never fails.

The env var HB_SHAPER_LIST is also parsed and honored.  It's a
colon-separated list of shaper names.  The fallback shaper is invoked if
none of the env-listed shapers succeed.

New API hb_buffer_guess_properties() added.
2011-08-04 22:38:09 -04:00
Behdad Esfahbod 0530ca9a18 Fix out-of-tree build 2011-08-04 01:42:59 -04:00
Behdad Esfahbod 199abbd0f1 Minor 2011-08-02 13:59:47 -04:00
Behdad Esfahbod 4f052b93c0 Fix build with glib but not freetype 2011-08-02 13:44:24 -04:00
Behdad Esfahbod c21be799da Minor 2011-08-02 12:05:49 -04:00
Behdad Esfahbod 07cedd81f4 Minor 2011-07-30 21:16:51 -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 1a1b501315 Minor 2011-07-29 16:36:46 -04:00
Behdad Esfahbod dd5546de15 Minor 2011-07-29 16:27:31 -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 ad903e66b1 s/COMBINING_MARK/SPACING_MARK/ here too. Oops! 2011-07-21 10:17:22 -04:00
Behdad Esfahbod 498e1a9be6 [icu] Implement compose()/decompose() 2011-07-20 23:19:49 -04:00
Behdad Esfahbod ffd4a436f7 Add tests for compose()/decompose()
Adjust glib fallback implementation.

The tests are not hooked up for ICU yet.
2011-07-20 22:31:23 -04:00
Behdad Esfahbod 23db8d5c92 [test] Work around glib <= 2.30 API 2011-07-12 12:02:26 -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 fc551edbf2 Add todo
I'm too lazy to fix the tests now.
2011-07-07 16:09: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 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 31f18abecb Minor compiler warning fixes 2011-06-15 09:49:58 -04:00
Behdad Esfahbod 75ba4073ca [test] Rename valgrind-log to log-vaglring.txt 2011-05-27 04:14:42 -04:00
Behdad Esfahbod 654f88fbc9 [test-common] Test hb_direction_to_string()
Caught by "make check-symbols".
2011-05-27 03:40:04 -04:00
Behdad Esfahbod 18bced134f [test] Rename test-symbols to check-symbols
Shows undocumented symbols.
2011-05-27 03:40:04 -04:00
Behdad Esfahbod 0e482ec6ba [test/unicode] Fix double-free
Caught by "make check-valgrind".
2011-05-27 03:40:04 -04:00
Behdad Esfahbod 28b1bac541 [test] Switch to automake-based test-runner
Adds check-valgrind among other modes.  We do not run under gtester by
default anymore.
2011-05-27 03:40:04 -04:00
Behdad Esfahbod adbc97ddde [test] Add test-symbols that checks API symbol text coverage
We're not at 100% coverage yet, so do not enable the test by default.
2011-05-27 03:40:03 -04:00
Behdad Esfahbod 9313b9aa66 [test/version] Test hb-version.h 2011-05-27 03:40:03 -04:00
Behdad Esfahbod 5bf56ea056 [TODO] Add item 2011-05-25 14:44:08 -04:00
Behdad Esfahbod 2d8ebcb9d0 [API] One last font-funcs API change
Now that vertical text works correctly, I'm doing a last round
modification of the font-funcs API to simplify.  Expect no more
changes around here.
2011-05-25 11:27:33 -04:00
Behdad Esfahbod d31691296f [test] Update to API changes 2011-05-25 11:01:32 -04:00
Behdad Esfahbod 744970af4d [API] Add support for vertical text
Design not final yet, and in fact I'm going to change it immediately,
but this is an standalone change for itself.
2011-05-17 17:12:34 -04:00
Behdad Esfahbod 5be7d047f6 Check for mmap()
Apparently there exist systems with mprotect(), but not mmap()?
2011-05-17 15:56:31 -04:00
Behdad Esfahbod 4053f3f788 Cosmetic 2011-05-16 17:03:27 -04:00
Behdad Esfahbod a0359485c9 Minor 2011-05-16 15:07:48 -04:00
Behdad Esfahbod 92de53ea45 [test/buffer] Add more tests for nil buffer 2011-05-16 12:24:56 -04:00
Behdad Esfahbod 065fb38c9a [test/ot-tag] More tests 2011-05-13 23:04:46 -04:00
Behdad Esfahbod 1a64f6e19a [API] Add HB_LANGUAGE_INVALID 2011-05-13 22:55:32 -04:00
Behdad Esfahbod 40b5c2e86c [test/test-ot-tag] Test hb-ot-tag.h, fix many bugs
I'm in awe with how many bugs this test revealed.  All fixed.
2011-05-13 22:46:36 -04:00
Behdad Esfahbod 7fc5a30cb4 [API] Add hb_face_make/is_immutable() 2011-05-12 17:48:20 -04:00
Behdad Esfahbod 0fd8c2f1be [API] Make get_glyph() callback return a boolean
We need to know whether the glyph exists, so we can fallback to
composing / decomposing.  Assuming that glyph==0 means "doesn't exist"
wouldn't work for applications like Pango that want to use different
"doesn't exist" glyph codes for different characters.  An explicit
return value fixes that.
2011-05-12 15:14:13 -04:00
Behdad Esfahbod 8e07f93ab4 [test/shape] Check shape output 2011-05-12 14:27:44 -04:00
Behdad Esfahbod 23d2432219 [test] Add test-shape.c. Oops 2011-05-12 10:53:57 -04:00
Behdad Esfahbod c098c3acc8 [test/blob] Use MAP_ANON instead of MAP_ANONYMOUS
More portable.
2011-05-12 10:49:30 -04:00
Behdad Esfahbod 8329eb7c6c [test/shape] Add simplest test for hb_shape() 2011-05-12 01:39:17 -04:00
Behdad Esfahbod f2c1dd4f74 [test/font] Test font_funcs subclassing 2011-05-12 00:46:53 -04:00
Behdad Esfahbod 14f1e81b77 [test/font] Test empty funcs 2011-05-12 00:18:28 -04:00
Behdad Esfahbod 2ca0b5ae1e [test/font] Test more 2011-05-12 00:04:48 -04:00
Behdad Esfahbod 7033518f75 [API] Pass face to get_table() 2011-05-11 23:31:15 -04:00
Behdad Esfahbod ea93e7b27c [test/font] More tests 2011-05-11 23:22:55 -04:00
Behdad Esfahbod cdb153175f [test/font] More tests 2011-05-11 23:12:58 -04:00
Behdad Esfahbod 74d9fa3d9a [test/font] More get_empty() tests 2011-05-11 23:07:47 -04:00