Commit Graph

2183 Commits

Author SHA1 Message Date
Behdad Esfahbod 36a4fe037d Fix charset conversion 2011-08-10 21:54:22 +02:00
Behdad Esfahbod 25c4830593 [util] Add hb-shape --shapers
If the specified shapers fail, hb-shape will fail immediately
2011-08-10 16:28:38 +02:00
Behdad Esfahbod 0501573ded Fix const correctness in the API 2011-08-10 16:25:56 +02:00
Behdad Esfahbod a21add6c0d Reformat 2011-08-10 16:07:49 +02:00
Behdad Esfahbod 8df90c8118 [util] Port hb-view to GOption 2011-08-10 16:03:29 +02:00
Behdad Esfahbod 511a136f0c Move hb-view into util/ 2011-08-09 15:03:00 +02:00
Behdad Esfahbod d753ac78da [uniscribe] Remove zerowidth glyphs from output 2011-08-09 14:03:12 +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 ddd247b0c5 Minor 2011-08-09 11:44:42 +02:00
Behdad Esfahbod 1b8196c986 Add fallback shaper 2011-08-09 11:37:46 +02:00
Behdad Esfahbod 13a601fe99 [FT] Don't make font immutable 2011-08-09 11:36:54 +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 255f176fdc Minor 2011-08-09 08:35:07 +02:00
Behdad Esfahbod a9057eb3f3 [uniscribe] Unbreak 2011-08-09 00:47:55 +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 944b2ba1ce [buffer] Make API take signed int length
Since we already switched to accepting -1 as 'zero-terminated'.
2011-08-09 00:23:58 +02:00
Behdad Esfahbod de1e1cf9bc [FT] Adapt to new face API 2011-08-09 00:19:38 +02:00
Behdad Esfahbod 458c89a856 Minor 2011-08-09 00:19:19 +02:00
Behdad Esfahbod bf3eef540f [uniscribe] Cleanup backend 2011-08-09 00:14:22 +02:00
Behdad Esfahbod f1f848e2e4 Fix build 2011-08-08 23:41:06 +02:00
Behdad Esfahbod 3897335c76 [API] Sort out get_blob API
hb_face_get_blob() renamed to hb_face_reference_blob(), returns a
reference now.

hb_face_[sg]et_index() added.

hb_face_set_upem() added.
2011-08-08 23:37:41 +02:00
Behdad Esfahbod e715784be3 Rename get_table to reference_table in all API 2011-08-08 21:43:06 +02:00
Behdad Esfahbod 670c873499 Fix shaper ordering logic 2011-08-08 21:36:24 +02:00
Behdad Esfahbod cc797e0d53 Minor 2011-08-08 03:50:38 +02:00
Behdad Esfahbod 826e22732d [uniscribe] Fix blob lifecycles 2011-08-07 03:53:42 -04:00
Behdad Esfahbod ff199ba356 Fix shaper_list manipulation, aaaaaaaaaaaaargh 2011-08-07 03:43:46 -04: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 577326b86a [uniscribe] Fix cluster calculation 2011-08-07 01:04:40 -04:00
Behdad Esfahbod f6d83b2dcf Minor 2011-08-07 00:59:58 -04:00
Behdad Esfahbod 2eb474afb4 [uniscribe] Fix shaper
It's kinda working finally!
2011-08-07 00:59:38 -04:00
Behdad Esfahbod f22e661147 [glib] Protect against invalid characters 2011-08-07 00:59:12 -04:00
Behdad Esfahbod 144cd49a0e [buffer] Accept -1 for text_length and item_length
A -1 text_length means: zero-terminated string.
A -1 item_length means: to the end of string.
2011-08-07 00:51:50 -04:00
Behdad Esfahbod e9c71fab30 Fix name-table lookup
Oops!
2011-08-07 00:01:04 -04:00
Behdad Esfahbod 3fd2b5bece [uniscribe] Use font size directly 2011-08-06 22:59:54 -04:00
Behdad Esfahbod 892eb2e462 [uniscribe] Make font selection work
Not tested yet.
2011-08-06 22:32:07 -04:00
Behdad Esfahbod b492299eb3 Start implementing the 'name' table 2011-08-05 20:34:50 -04:00
Behdad Esfahbod 4538efacca Skip tests by returning 77
automake test runner understands this.
2011-08-05 20:11:06 -04:00
Behdad Esfahbod 54eb65538d Fix check on OS X sh 2011-08-05 20:09:25 -04:00
Behdad Esfahbod 9da554504e Add hb_shape_list_shapers() 2011-08-05 19:59:02 -04:00
Behdad Esfahbod d7bf473ef2 Minor 2011-08-05 19:59:02 -04:00
Behdad Esfahbod c62a8f10f3 Free all static memory upon exit 2011-08-05 19:59:02 -04:00
Behdad Esfahbod c4d63ef744 Fix env parsing code
Also changed the separator to comma instead of colon.
2011-08-05 19:59:02 -04:00
Behdad Esfahbod 3931837beb 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 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 57692adf12 Make test.cc do something more useful
Hardcoded to the uniscribe backend for now.  Will fix soon.
2011-08-04 20:49:16 -04:00
Behdad Esfahbod c605bbbb6d Remove C++ guards from source files
Where causing issues for people with MSVC.
2011-08-04 20:00:53 -04:00
Behdad Esfahbod 8336186a52 Zero map objects 2011-08-04 19:49:05 -04:00