Log

Author Commit Date CI Message
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 5b7f3897 2011-04-27T15:10:12 GNOME Bug 612402 - (hb-arm) HarfBuzz compilation fix for arm With gcc on arm, request 8-bit structure alignment.
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 eb5796f5 2011-04-27T12:14:53 [TODO] Add hb-view items
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 04744e73 2011-04-20T17:24:03 [TODO] Remove done items
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 fb6291d9 2011-04-20T03:15:31 [test] Add test for headers included from C and C++
Behdad Esfahbod 107a5058 2011-04-20T03:04:56 [test] Add todo items
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 1fd73b59 2011-04-20T02:56:39 [test] Rename test-types to test-common
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 5dd4609f 2011-04-15T19:16:34 [TODO] Add new item
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 7f5bdc80 2011-04-15T18:34:55 [TODO] Remove done items
Behdad Esfahbod 5814dfa3 2011-04-15T14:41:04 Cosmetic
Behdad Esfahbod cfbfeb88 2011-04-15T12:40:40 [TODO] Remove done items
Behdad Esfahbod 3cbdf70e 2011-04-15T12:32:06 Make hb_language_t typesafe
Behdad Esfahbod 2f2f448a 2011-04-15T11:45:14 [test] Add more TODO items
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 7dea908c 2011-04-13T01:35:58 [test] Add todo items
Behdad Esfahbod 07cbaac0 2011-04-13T01:11:19 [TODO] Add item re script iso15924 functions
Behdad Esfahbod d0f53fdb 2011-04-13T01:09:09 [test] Test hb-buffer.h
Behdad Esfahbod 72d89404 2011-04-13T01:07:42 [TODO] Add item re hb_buffer_reset()
Behdad Esfahbod 5015c12d 2011-04-13T01:06:02 [TODO] Add item re hb_buffer_resize()
Behdad Esfahbod 9329ec92 2011-04-13T00:06:23 [TODO] Add API item
Behdad Esfahbod 4744379e 2011-04-11T19:47:33 Minor
Behdad Esfahbod 9385caa8 2011-04-11T19:43:51 [test] Actually hook up hb_script_t tests I really shall find a way to automate the test enumeration. Otherwise it's too easy to add a test and wrongly hook it up. Did it twice today.
Behdad Esfahbod 8e4bb3ca 2011-04-11T17:55:58 Fold hb-language.[ch] into hb-common.[ch]
Behdad Esfahbod 09125576 2011-04-11T17:49:33 [test] Test hb_language_t
Behdad Esfahbod 316b7a1a 2011-04-11T17:49:10 Make hb_language_from_string("") return NULL language
Behdad Esfahbod db60c96f 2011-04-11T16:17:02 [teset] Test hb_script_t
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 02f6e62d 2011-04-11T13:27:21 Build fix
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 9faa9800 2011-04-11T12:46:49 Add an in-tree test suite Uses the glib testing framework. Wrote unit tests for hb-common.h types.
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 bbdeff59 2011-04-07T16:05:07 Add test directory
Behdad Esfahbod 4accc92a 2011-04-07T15:53:26 Update TODO items
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