src/hb-shape.cc


Log

Author Commit Date CI Message
Behdad Esfahbod bd26b4d2 2012-07-26T22:05:39 Minor
Behdad Esfahbod 027857d0 2012-07-26T17:34:25 Start adding a unified shaper access infrastructure Add global shape_plan. Unused so far.
Behdad Esfahbod 8fe4c740 2012-07-24T21:05:12 [hb-old] Add HarfBuzz.old shaper Choose using shaper name "old".
Jonathan Kew aa6d8498 2012-07-24T15:52:32 [CoreText] Add basic Core Text backend for comparison with our native shaping Does not attempt to handle clusters in a Uniscribe- or HarfBuzz-compatible way; just returns the original string indexes that CT maintains. These may even be out-of-order in the case of reordrant glyphs.
Behdad Esfahbod 97aa0b73 2012-07-24T15:02:34 Minor const correctness shuffling
Behdad Esfahbod 6095de16 2012-06-07T15:48:18 Fix clang warning with NO_MT path
Behdad Esfahbod 0594a244 2012-06-05T20:35:40 Cleanup TRUE/FALSE vs true/false
Behdad Esfahbod f64b2ebf 2012-06-05T19:23:29 Remove last static initializer We're free! Lazy or immediate...
Behdad Esfahbod a5e40542 2012-04-17T12:37:19 Make font immutable in hb_shape()
Behdad Esfahbod 6bd9b479 2012-04-12T14:53:53 Hide backend-specific shape functions Also remove shaper_options argument to hb_shape_full(). That was unused and for "future". Let it go. More shaper API coming in preparation for plan/planned API.
Behdad Esfahbod cd2b9010 2011-08-24T01:47:25 [graphite] Minor
Behdad Esfahbod 1f49cf32 2011-08-24T01:29:25 Add graphite2 integration from Martin Hosken To be modified, a lot.
Behdad Esfahbod 0501573d 2011-08-10T16:25:56 Fix const correctness in the API
Behdad Esfahbod 33ccc779 2011-08-09T00:43:24 [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.
Behdad Esfahbod 670c8734 2011-08-08T21:36:24 Fix shaper ordering logic
Behdad Esfahbod cc797e0d 2011-08-08T03:49:30 Minor
Behdad Esfahbod ff199ba3 2011-08-07T03:43:46 Fix shaper_list manipulation, aaaaaaaaaaaaargh
Behdad Esfahbod 9da55450 2011-08-05T19:48:49 Add hb_shape_list_shapers()
Behdad Esfahbod c62a8f10 2011-08-05T18:02:30 Free all static memory upon exit
Behdad Esfahbod c4d63ef7 2011-08-05T17:54:25 Fix env parsing code Also changed the separator to comma instead of colon.
Behdad Esfahbod 3ca6c4ec 2011-08-05T17:22:19 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.
Behdad Esfahbod 02aeca98 2011-08-04T22:31:05 [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.
Behdad Esfahbod c605bbbb 2011-08-04T20:00:53 Remove C++ guards from source files Where causing issues for people with MSVC.
Behdad Esfahbod c4641723 2011-07-07T23:47:19 [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.
Behdad Esfahbod 891c4755 2011-07-07T23:19:27 Humm, undo some shuffling In preparation for adding more advanced unicode funcs.
Behdad Esfahbod 1a64f6e1 2011-05-13T22:55:32 [API] Add HB_LANGUAGE_INVALID
Behdad Esfahbod 34fb5521 2011-05-06T00:04:28 [API] Add hb_language_get_default() It uses locale information to detect default language. It's used by hb_shape() whenever language is not set on the buffer. Not sure how to properly test it in the test suite. Tested by observing that with DejaVu Sans we select the proper local glyph version for U+431 under Serbian locale. See http://www.pango.org/ScriptGallery
Behdad Esfahbod 72657e4c 2011-05-02T20:46:32 [API] Make hb_font_create() take a face and reference it
Behdad Esfahbod 2409d5f8 2011-04-21T17:14:28 Update Copyright headers
Behdad Esfahbod c57d454a 2011-04-20T18:50:27 Rename all private sources and headers to C++ files So we can liberally use the simple features of C++ that parts of the codebase is already using.
Behdad Esfahbod c035812f 2011-04-20T17:03:00 [API] Rename hb_face_get_table() to hb_face_reference_table() That correctly reflects the reference ownership transfer happening.
Behdad Esfahbod fb194b87 2011-04-20T02:00:47 unicode: Cleanup implementation
Ryan Lortie 2fd0c577 2011-04-20T00:19:20 [API] unicode: rework virtual functions for subclassing Unicode data providers can now be subclassed, including support for chain-up. The interface should now be nicely bindable, as well. Also fix glib unicode funcs that where broken after hb_script_t changes. Nicely caught by the test-unicode.c added in this commit.
Behdad Esfahbod 62879eeb 2011-04-18T23:40:21 [API] Use ISO 15924 tags for hb_script_t This simplifies the code, reduces static data, and makes the design more extensible to future additions of new scripts.
Behdad Esfahbod 5814dfa3 2011-04-15T14:41:04 Cosmetic
Behdad Esfahbod 3286fc0e 2011-03-16T14:53:32 Let hb_shape() guess script and direction... - Rename HB_SCRIPT_INVALID_CODE to HB_SCRIPT_INVALID - Add HB_DIRECTION_INVALID - Make hb_script_get_horizontal_direction() public - Make hb_shape() guess script from buffer text (first non-common non-inherit script) if buffer script is set to HB_SCRIPT_INVALID (this is NOT the default.) - Make hb_shape() guess direction from buffer script if buffer direction is set to HB_DIRECTION_INVALID (this is NOT the default.) - Make hb-view.c set INVALID script and direction on the buffer. The above changes are meant to make hb-view fairly useful for uni-script uni-direction text. The guessing behavior however is NOT the default of hb_shape() and must be asked for explicitly. This is intended, because the guess is not a suitable substitute to full-fledged bidi and script segmentation. It's just a testing tool.
Behdad Esfahbod acdba3f9 2010-07-23T15:11:18 Prefer C linkage
Behdad Esfahbod b485da0b 2010-05-27T11:39:19 Disable Graphite as it crashes all over the place...
Behdad Esfahbod 15c7379c 2010-05-26T10:48:10 Revert "Merge remote branch 'martin/master'" This reverts commit 80af2812fb3b231ddcb4608ec13c6038a681c818, reversing changes made to c442672ec2fb83ed41f3994b3aa4f92a097664ab.
Martin Hosken 1432ab15 2010-05-22T00:56:40 Add graphical output to hbtestfont
Behdad Esfahbod ca663bb2 2010-05-21T14:34:23 Move main shaper code into hb_ot_shape()
Behdad Esfahbod 305ba867 2010-05-21T14:02:20 Import Graphite shaping backend by Martin Hosken
Behdad Esfahbod ca54a126 2010-05-14T22:25:42 Minor
Behdad Esfahbod 36b73c80 2010-05-14T22:10:39 Shortening buffer accessors: rename buffer->in_pos to buffer->i
Behdad Esfahbod 6960350b 2010-05-14T22:07:46 Shortening buffer accessors: rename buffer->in_length to buffer->len
Behdad Esfahbod 1b621823 2010-05-14T22:05:53 Shortening buffer accessors: rename buffer->positions to buffer->pos
Behdad Esfahbod 7e7007a1 2010-05-14T22:02:37 Shortening buffer accessors: rename buffer->in_string to buffer->info
Behdad Esfahbod 7e53ebe4 2010-05-14T21:38:13 Remove the IN_CURGLYPH() macro
Behdad Esfahbod 281f59b4 2010-05-14T21:34:22 Remove IN_INFO() and IN_NEXTGLYPH() macros
Behdad Esfahbod 6e489cdf 2010-05-14T21:07:35 Remove the IN_GLYPH() macro
Behdad Esfahbod 01feb74c 2010-05-14T21:00:08 Remove the IN_CLUSTER() macro
Behdad Esfahbod 3109375b 2010-05-14T19:55:27 Remove POSITION() and CURPOSITION() macros
Behdad Esfahbod 22da7fd9 2010-05-12T18:23:21 Rename a few files to be C++ sources In anticipation for buffer revamp coming.