[API] Changes to main shape API
authorBehdad Esfahbod <behdad@behdad.org>
Fri, 5 Aug 2011 02:31:05 +0000 (22:31 -0400)
committerBehdad Esfahbod <behdad@behdad.org>
Fri, 5 Aug 2011 02:38:09 +0000 (22:38 -0400)
commit02aeca985b570763342c35e99af90025bfa088d5
tree24c0f79dea21fa825d364dce10be7ce965dd3cc0
parent57692adf1294a6db4627d0de7c671e4aa01d2a8f
[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.
17 files changed:
TODO
configure.ac
src/Makefile.am
src/hb-buffer-private.hh
src/hb-buffer.cc
src/hb-buffer.h
src/hb-fallback-shape-private.hh [new file with mode: 0644]
src/hb-fallback-shape.cc [new file with mode: 0644]
src/hb-ot-shape.cc
src/hb-ot-shape.h
src/hb-shape.cc
src/hb-shape.h
src/hb-uniscribe-shape.cc
src/hb-uniscribe.h
src/hb-view.cc
src/test.cc
test/test-shape.c