src


Log

Author Commit Date CI Message
Behdad Esfahbod 080a0eb7 2011-04-28T16:01:01 Add _hb_unsigned_int_mul_overflows
Behdad Esfahbod 32640428 2011-04-28T14:24:16 [test/buffer] Test pre_allocate() and allocation_successful()
Behdad Esfahbod 123aa04f 2011-04-28T12:58:28 Fix possible but improbable overflow in hb_array_t
Behdad Esfahbod e0db4b86 2011-04-28T12:56:49 [buffer] More error handling Should be all set now.
Behdad Esfahbod 5fa849b7 2011-04-27T21:46:01 [API] Add _set/get_user_data() for all objects
Behdad Esfahbod 852e08ec 2011-04-27T21:45:51 Move code around
Behdad Esfahbod 29c67d3f 2011-04-27T21:22:32 Add initial implementation of user_data to objects
Behdad Esfahbod 47e71d96 2011-04-27T16:38:03 [object] Remove unnecessary use of macros
Behdad Esfahbod 8be1420f 2011-04-27T16:14:04 [blob] Use HB_FUNC instead of __FUNCTION__
Behdad Esfahbod ae008b90 2011-04-27T16:12:12 [object] Add tracing support back in
Behdad Esfahbod 39a840ae 2011-04-27T14:48:19 [API] Add hb_direction_from/to_string() And hb-view --direction argument.
Behdad Esfahbod f1425a54 2011-04-27T12:15:06 Rename hb-view.c and test.c to .cc files
Behdad Esfahbod 65e0063e 2011-04-27T09:33:58 Make buffer size growth start from 32 instead of 8
Behdad Esfahbod d4bee9f8 2011-04-27T09:24:37 [API] Add hb_unicode_funcs_get_default()
Behdad Esfahbod 153142da 2011-04-27T01:49:03 Replace simple macros with inline functions for better type safety Now that we use C++ for all source code, lets benefit from it! The hb_be_int16/32_get/put/eq() macros grow code size if replaced with inline functions, so leave them as is.
Behdad Esfahbod 40a9b815 2011-04-27T01:48:56 Add TODO item
Behdad Esfahbod ebdc8346 2011-04-27T01:41:24 Don't return in void function Would have been nice if gcc had warned...
Behdad Esfahbod ec6f9c2f 2011-04-21T18:35:58 Further simplify object handling
Behdad Esfahbod fca368c4 2011-04-21T18:24:02 Add hb_object_header_t which is the common part of all objects Makes way for adding arbitrary user_data support.
Behdad Esfahbod a9f24c80 2011-04-21T17:18:22 Move hb_reference_count_t to hb-private.h
Behdad Esfahbod 2409d5f8 2011-04-21T17:14:28 Update Copyright headers
Behdad Esfahbod 08da7a38 2011-04-21T16:59:10 [hb-view] Accept numbers in feature tag name Reported by Adam Twardoch.
Behdad Esfahbod 24229eb1 2011-04-21T16:55:17 Remove obsolete comment Talking to Ryan Lortie, he thinks my comment doesn't make sense. So I'm making the getter const. Note that g_atomic_int_get() casts that away itself, so we don't need to worry about that (which kinda makes me uncomfortable actually).
Behdad Esfahbod dcb7026f 2011-04-21T16:34:22 Add ASSERT_STATIC_EXPR macro Unused right now.
Behdad Esfahbod 3e8bdbf9 2011-04-21T16:16:21 Cleanup hb_refrence_count_t
Behdad Esfahbod 783a7d69 2011-04-21T16:03:59 [TODO] Remove finished items
Behdad Esfahbod da975419 2011-04-21T15:08:01 [API] Allow negative font x_scale/y_scale I was reconsidering whether y should grow down, since all three/four times I've used this API I was tricked and got that wrong in my use. So I was very inclined to make y grow down instead of up. However, considering that the font space has y up and it would be very confusing for callbacks to work against that, I decided that what I really want is for the user to be able to set y_scale to a negative number to imply that user-space y grows down. Changing x_scale/y_scale from unsigned int to int allows that, and I've made pango to use that instead of negating glyph y_offset later. hb-ft however still has y group up. I *guess* that's how FreeType works? I'm not sure, FreeType docs don't make this clear... I'm happy with the resolution :-).
Behdad Esfahbod 4d559cdd 2011-04-21T14:58:23 [icu] Remove big script switch(), rely on reverse-lookup
Behdad Esfahbod d18431b4 2011-04-20T18:59:10 Move hb_reference_count_t from macros to inline methods
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 f19f4f9b 2011-04-20T18:25:56 Rename hb-blob.c to hb-blob.cc in preparation of more changes
Behdad Esfahbod 9417c1c0 2011-04-20T17:21:23 [API] Make hb_face_reference_table() return empty blob instead of NULL The idea here is that: - Like pretty much all other API in harfbuzz, user does not have to check for NULL. - In any caller code, the case of missing table should be handled exactly the same way that a too-short table is handled. Turning a non-existent talbe into a table of size 0 makes the user code safer.
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 2d7b61a4 2011-04-20T16:40:56 [TODO] Remove done items
Behdad Esfahbod af029337 2011-04-20T15:49:31 [API] Remove hb_*_get_reference_count() This was a bizzare piece of API that I inherited from cairo. It has been wrong adding them to cairo in the first place. Remove them before someone uses them!
Behdad Esfahbod 440a76b6 2011-04-20T14:20:00 [OT] Fix script to ot-script-tag conversion
Behdad Esfahbod a3036a3e 2011-04-20T14:13:23 Minor
Behdad Esfahbod 5668189c 2011-04-20T03:03:32 [API] font: move user_data before destroy() This is the common convention for language binding tools.
Behdad Esfahbod e5847f75 2011-04-20T02:59:28 [API] blob: move user_data before destroy() This is the common convention for language binding tools.
Behdad Esfahbod f144a8ea 2011-04-20T02:54:42 [icu] Add two-way script conversion functions Also optimizes the common-direction script lookup.
Behdad Esfahbod 0809aadd 2011-04-20T02:44:29 [glib] Add two-way script conversion functions Also optimizes the common-direction script lookup to be an array lookup.
Behdad Esfahbod 5c8c1b68 2011-04-20T02:29:22 Remove verbose comments
Behdad Esfahbod fb194b87 2011-04-20T02:00:47 unicode: Cleanup implementation
Behdad Esfahbod ecfb7738 2011-04-20T01:34:51 Cosmetic
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 f85faee9 2011-04-19T00:38:01 [API] Rename hb_buffer_add_glyph() to hb_buffer_add()
Behdad Esfahbod aab0de50 2011-04-19T00:32:19 [API] Add hb_buffer_allocation_successful() Returns the error status of the buffer.
Ryan Lortie 02a534b2 2011-04-15T18:34:45 [API] Rename hb_buffer_ensure() to hb_buffer_pre_allocate() The new name is self-documenting.
Ryan Lortie 70566bef 2011-04-15T18:32:36 [API} hb_buffer_get_glyph_{infos,positions}: Add length out parameter Return the length, whenever we return an array. Makes it easier on the language bindings.
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 c0af193c 2011-04-15T19:26:24 Change buffer default properties to invalid This includes HB_DIRECTION_INVALID and HB_SCRIPT_INVALID. The INVALID will cause a "guess whatever from the text" in hb_shape(). While it's not ideal, it works better than the previous defaults at least (HB_DIRECTION_LTR and HB_SCRIPT_COMMON).
Behdad Esfahbod 00bec2c9 2011-04-15T19:16:54 Move enum types to hb-common.h
Behdad Esfahbod b54cd07b 2011-04-15T19:12:01 Mark internal buffer variables private
Behdad Esfahbod 0e8d35c0 2011-04-15T19:07:10 Add hb_script_from_string()
Behdad Esfahbod 8f0d7e0c 2011-04-15T18:59:56 Remove hb_buffer_clear_positions(), add hb_ot_layout_position_start()
Behdad Esfahbod 2fc56edf 2011-04-15T18:35:08 [API] Remove hb_buffer_clear() One should use hb_buffer_reset() really.
Behdad Esfahbod 5814dfa3 2011-04-15T14:41:04 Cosmetic
Behdad Esfahbod 3cbdf70e 2011-04-15T12:32:06 Make hb_language_t typesafe
Behdad Esfahbod c910bec8 2011-04-13T15:49:06 Add hb_buffer_reset() and hb_buffer_set_length()
Behdad Esfahbod 69ea23cb 2011-04-13T15:02:40 Minor
Behdad Esfahbod 8e4bb3ca 2011-04-11T17:55:58 Fold hb-language.[ch] into hb-common.[ch]
Behdad Esfahbod 316b7a1a 2011-04-11T17:49:10 Make hb_language_from_string("") return NULL language
Behdad Esfahbod 99b74760 2011-04-11T15:47:40 Rename hb_category_t to hb_unicode_general_category_t
Behdad Esfahbod 4188096a 2011-04-11T14:58:28 Make HB_TAG_CHAR4 private It's just sugar.
Behdad Esfahbod 7ff7401c 2011-04-11T13:27:30 Make hb_tag_from_string(NULL) return HB_TAG_NONE
Behdad Esfahbod db5227c4 2011-04-11T13:16:08 Move macros around
Behdad Esfahbod 07233581 2011-04-11T13:12:37 Rename HB_TAG_STR() to HB_TAG_CHAR4() The problem with HB_TAG_STR() was that it expected a string of size 4 exactly, and unlike hb_tag_from_string() it doesn't pad the tag with space characters. So, the new name is more appropriate.
Behdad Esfahbod d77b7620 2011-04-11T12:29:52 Add few more paratheses to the HB_TAG macro Never hurts.
Behdad Esfahbod b13640de 2011-04-11T12:29:31 A few more ASSERTs
Behdad Esfahbod ae9eeaff 2011-04-11T11:49:08 Remove warning message from public header file Since we now assert thos in hb-private.h, the int types cannot be wrong. (Except for when someone else includes hb-common.h in a very broken configuration, but that's not our problem!) Plus, we don't use inline in the public headers, so remove that too.
Behdad Esfahbod 6fd5364b 2011-04-11T11:47:14 Assert int types
Behdad Esfahbod a71b9c85 2011-04-06T14:04:56 Disable 'cswh' by default except for Arabic shaper That better matches OpenType spec. Note that we enable it for all Arabic-shaper scripts. Ie. we enable it by default for Syriac too, but the SyriacOT spec does not require it. I think this is a more useful compromise than special-casing for Arabic script alone.
Behdad Esfahbod cab6f65b 2011-04-04T15:36:51 [hb-view] setlocale (LC_ALL, "") For now we don't use anything from the locale, but we should default to using $LANG, etc, if --language is not specified. Right?
Behdad Esfahbod fb9ca1bf 2011-04-04T14:50:09 [hb-view] Rewrite --features parsing, with range support The --features parsing handles errors now. More importantly, it allos limiting individual features to specific byte ranges. The format is Python-esque. Here is how it all works: Syntax: Value: Start: End: Setting value: "kern" 1 0 ∞ # Turn feature on "+kern" 1 0 ∞ # Turn feature off "-kern" 0 0 ∞ # Turn feature off "kern=0" 0 0 ∞ # Turn feature off "kern=1" 1 0 ∞ # Turn feature on "kern=2" 2 0 ∞ # Choose 2nd alternate Setting index: "kern[]" 1 0 ∞ # Turn feature on "kern[:]" 1 0 ∞ # Turn feature on "kern[5:]" 1 5 ∞ # Turn feature on, partial "kern[:5]" 1 0 5 # Turn feature on, partial "kern[3:5]" 1 3 5 # Turn feature on, range "kern[3]" 1 3 3+1 # Turn feature on, single char Mixing it all: "kern[3:5]=0" 1 3 5 # Turn feature off for range
Behdad Esfahbod ccc6745a 2011-04-04T14:49:50 [hb-view] Use cached hb-ft face creation Avoids recreating the face the second time we call draw().
Behdad Esfahbod 1b4a2cc0 2011-04-04T14:45:28 [hb-view] Add --debug Frees all allocated memory before exiting. Useful for valgrind run.
Behdad Esfahbod b2da26d1 2011-04-01T15:48:43 [hb-view] Support --features Accepts values like: --features="-mkmk,aalt=2,calt=1,+cswh" A minus sign means "=0", a plus sign means "=1". Default is "=1". A minus sign overrides an explicit value.
Behdad Esfahbod f48ff19b 2011-04-01T14:19:10 Sort options for clarity
Behdad Esfahbod 5d91c3d5 2011-03-16T17:36:32 Add script to/from ISO 15924 tag support Also adds --script support to hb-view. If a script tag is not known to us, we pass the ISO 15924 tag around. Right now, the OT layer ignores that, but we can fix it to blindly convert that to an OT script tag.
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 b7b29684 2011-03-02T01:01:03 [hb-view] Handle write_to_png errors
Behdad Esfahbod c2cb98c8 2011-03-01T23:18:09 [hb-view] Link with -lm
Behdad Esfahbod b5dd44e2 2011-02-28T10:13:52 Fix possible overflow
Behdad Esfahbod a4b781e9 2011-02-23T12:47:56 Default background color shall either be white or transparent Definitely not black!
Behdad Esfahbod 5353bf43 2011-02-22T18:06:19 Add initial hb-view tool Currently doesn't handle script or direction.
Bradley Grainger 82438c6a 2011-02-15T18:37:29 Fix #pragma message for MSVC. __LOC__ was renamed to _HB__LOC__ in cd7555 but the corresponding change wasn't made in hb-private.h.
Behdad Esfahbod ba9ab8d6 2011-01-10T07:45:41 Fix language extension matching
Behdad Esfahbod 7bbe14be 2011-01-09T22:29:14 Fix 'make distcheck'
Behdad Esfahbod cc1a8a93 2011-01-06T14:58:52 Fix ChanContext backtrack matching with GPOS Reported on mailing list by Keith Stribley and Khaled Hosny.
Behdad Esfahbod 1c318302 2011-01-06T14:44:14 Remove unused realloc We always allocate and grow str and pos together.
Behdad Esfahbod 756f794a 2010-12-26T20:52:40 Remove Graphite backend It was unmaintained and the code has to be replaced to use the new grphite-ng code base.
Behdad Esfahbod f3d9d987 2010-12-22T01:39:29 Docs
Behdad Esfahbod d86a5b3c 2010-12-21T18:36:25 Bug 32274 - classic mongolian shaper Add support for classic Mongolian script to the Arabic shaper. Still work to be done around U+180E MONGOLIAN VOWEL SEPARATOR as it should not be included in the final glyph stream the same way that ZWNJ, etc should not appear in the final glyph stream. But the joining part should be done. There remains the question of how should the U+18A9 MONGOLIAN LETTER ALI GALI DAGALGA be handled as it has General Category NSM but a letter nonetheless. For now, our generic logic makes this a joining T instead of joining D as other Mongolian letters are.
Behdad Esfahbod b0e7378f 2010-12-21T14:19:32 Reroute Mandaic shaping through the Arabic shaper We added Mandaic joining data to the Arabic shaper a while ago, but were not actually using the Arabic shaper for Mandaic. Fixed.
Behdad Esfahbod 88e7f374 2010-12-21T14:18:24 Annotate the Arabic joining table with block information
Behdad Esfahbod 1482a39e 2010-12-17T20:15:05 Rename remaining metrics uses to extents
Behdad Esfahbod 22c53765 2010-12-14T23:51:29 Rename TableDirectory to TableRecord as per OpenType 1.6
Behdad Esfahbod 33e8b861 2010-12-13T15:54:56 Update 'head' table to OpenType 1.6
Behdad Esfahbod b7683335 2010-12-13T14:22:35 Disallow ligature substitutions replacing one glyph
Behdad Esfahbod 7eb87511 2010-12-13T14:13:35 Mozilla Bug 618592 - freeze on typekit Fix apply_lookup() for zero-input broken fonts.