|
29c67d3f
|
2011-04-27T21:22:32
|
|
Add initial implementation of user_data to objects
|
|
47e71d96
|
2011-04-27T16:38:03
|
|
[object] Remove unnecessary use of macros
|
|
8be1420f
|
2011-04-27T16:14:04
|
|
[blob] Use HB_FUNC instead of __FUNCTION__
|
|
ae008b90
|
2011-04-27T16:12:12
|
|
[object] Add tracing support back in
|
|
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.
|
|
39a840ae
|
2011-04-27T14:48:19
|
|
[API] Add hb_direction_from/to_string()
And hb-view --direction argument.
|
|
f1425a54
|
2011-04-27T12:15:06
|
|
Rename hb-view.c and test.c to .cc files
|
|
eb5796f5
|
2011-04-27T12:14:53
|
|
[TODO] Add hb-view items
|
|
65e0063e
|
2011-04-27T09:33:58
|
|
Make buffer size growth start from 32 instead of 8
|
|
d4bee9f8
|
2011-04-27T09:24:37
|
|
[API] Add hb_unicode_funcs_get_default()
|
|
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.
|
|
40a9b815
|
2011-04-27T01:48:56
|
|
Add TODO item
|
|
ebdc8346
|
2011-04-27T01:41:24
|
|
Don't return in void function
Would have been nice if gcc had warned...
|
|
ec6f9c2f
|
2011-04-21T18:35:58
|
|
Further simplify object handling
|
|
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.
|
|
a9f24c80
|
2011-04-21T17:18:22
|
|
Move hb_reference_count_t to hb-private.h
|
|
2409d5f8
|
2011-04-21T17:14:28
|
|
Update Copyright headers
|
|
08da7a38
|
2011-04-21T16:59:10
|
|
[hb-view] Accept numbers in feature tag name
Reported by Adam Twardoch.
|
|
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).
|
|
dcb7026f
|
2011-04-21T16:34:22
|
|
Add ASSERT_STATIC_EXPR macro
Unused right now.
|
|
3e8bdbf9
|
2011-04-21T16:16:21
|
|
Cleanup hb_refrence_count_t
|
|
783a7d69
|
2011-04-21T16:03:59
|
|
[TODO] Remove finished items
|
|
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 :-).
|
|
4d559cdd
|
2011-04-21T14:58:23
|
|
[icu] Remove big script switch(), rely on reverse-lookup
|
|
d18431b4
|
2011-04-20T18:59:10
|
|
Move hb_reference_count_t from macros to inline methods
|
|
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.
|
|
f19f4f9b
|
2011-04-20T18:25:56
|
|
Rename hb-blob.c to hb-blob.cc in preparation of more changes
|
|
04744e73
|
2011-04-20T17:24:03
|
|
[TODO] Remove done items
|
|
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.
|
|
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.
|
|
2d7b61a4
|
2011-04-20T16:40:56
|
|
[TODO] Remove done items
|
|
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!
|
|
440a76b6
|
2011-04-20T14:20:00
|
|
[OT] Fix script to ot-script-tag conversion
|
|
a3036a3e
|
2011-04-20T14:13:23
|
|
Minor
|
|
fb6291d9
|
2011-04-20T03:15:31
|
|
[test] Add test for headers included from C and C++
|
|
107a5058
|
2011-04-20T03:04:56
|
|
[test] Add todo items
|
|
5668189c
|
2011-04-20T03:03:32
|
|
[API] font: move user_data before destroy()
This is the common convention for language binding tools.
|
|
e5847f75
|
2011-04-20T02:59:28
|
|
[API] blob: move user_data before destroy()
This is the common convention for language binding tools.
|
|
1fd73b59
|
2011-04-20T02:56:39
|
|
[test] Rename test-types to test-common
|
|
f144a8ea
|
2011-04-20T02:54:42
|
|
[icu] Add two-way script conversion functions
Also optimizes the common-direction script lookup.
|
|
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.
|
|
5c8c1b68
|
2011-04-20T02:29:22
|
|
Remove verbose comments
|
|
fb194b87
|
2011-04-20T02:00:47
|
|
unicode: Cleanup implementation
|
|
ecfb7738
|
2011-04-20T01:34:51
|
|
Cosmetic
|
|
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.
|
|
f85faee9
|
2011-04-19T00:38:01
|
|
[API] Rename hb_buffer_add_glyph() to hb_buffer_add()
|
|
aab0de50
|
2011-04-19T00:32:19
|
|
[API] Add hb_buffer_allocation_successful()
Returns the error status of the buffer.
|
|
02a534b2
|
2011-04-15T18:34:45
|
|
[API] Rename hb_buffer_ensure() to hb_buffer_pre_allocate()
The new name is self-documenting.
|
|
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.
|
|
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.
|
|
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).
|
|
00bec2c9
|
2011-04-15T19:16:54
|
|
Move enum types to hb-common.h
|
|
5dd4609f
|
2011-04-15T19:16:34
|
|
[TODO] Add new item
|
|
b54cd07b
|
2011-04-15T19:12:01
|
|
Mark internal buffer variables private
|
|
0e8d35c0
|
2011-04-15T19:07:10
|
|
Add hb_script_from_string()
|
|
8f0d7e0c
|
2011-04-15T18:59:56
|
|
Remove hb_buffer_clear_positions(), add hb_ot_layout_position_start()
|
|
2fc56edf
|
2011-04-15T18:35:08
|
|
[API] Remove hb_buffer_clear()
One should use hb_buffer_reset() really.
|
|
7f5bdc80
|
2011-04-15T18:34:55
|
|
[TODO] Remove done items
|
|
5814dfa3
|
2011-04-15T14:41:04
|
|
Cosmetic
|
|
cfbfeb88
|
2011-04-15T12:40:40
|
|
[TODO] Remove done items
|
|
3cbdf70e
|
2011-04-15T12:32:06
|
|
Make hb_language_t typesafe
|
|
2f2f448a
|
2011-04-15T11:45:14
|
|
[test] Add more TODO items
|
|
c910bec8
|
2011-04-13T15:49:06
|
|
Add hb_buffer_reset() and hb_buffer_set_length()
|
|
69ea23cb
|
2011-04-13T15:02:40
|
|
Minor
|
|
7dea908c
|
2011-04-13T01:35:58
|
|
[test] Add todo items
|
|
07cbaac0
|
2011-04-13T01:11:19
|
|
[TODO] Add item re script iso15924 functions
|
|
d0f53fdb
|
2011-04-13T01:09:09
|
|
[test] Test hb-buffer.h
|
|
72d89404
|
2011-04-13T01:07:42
|
|
[TODO] Add item re hb_buffer_reset()
|
|
5015c12d
|
2011-04-13T01:06:02
|
|
[TODO] Add item re hb_buffer_resize()
|
|
9329ec92
|
2011-04-13T00:06:23
|
|
[TODO] Add API item
|
|
4744379e
|
2011-04-11T19:47:33
|
|
Minor
|
|
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.
|
|
8e4bb3ca
|
2011-04-11T17:55:58
|
|
Fold hb-language.[ch] into hb-common.[ch]
|
|
09125576
|
2011-04-11T17:49:33
|
|
[test] Test hb_language_t
|
|
316b7a1a
|
2011-04-11T17:49:10
|
|
Make hb_language_from_string("") return NULL language
|
|
db60c96f
|
2011-04-11T16:17:02
|
|
[teset] Test hb_script_t
|
|
99b74760
|
2011-04-11T15:47:40
|
|
Rename hb_category_t to hb_unicode_general_category_t
|
|
4188096a
|
2011-04-11T14:58:28
|
|
Make HB_TAG_CHAR4 private
It's just sugar.
|
|
7ff7401c
|
2011-04-11T13:27:30
|
|
Make hb_tag_from_string(NULL) return HB_TAG_NONE
|
|
02f6e62d
|
2011-04-11T13:27:21
|
|
Build fix
|
|
db5227c4
|
2011-04-11T13:16:08
|
|
Move macros around
|
|
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.
|
|
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.
|
|
d77b7620
|
2011-04-11T12:29:52
|
|
Add few more paratheses to the HB_TAG macro
Never hurts.
|
|
b13640de
|
2011-04-11T12:29:31
|
|
A few more ASSERTs
|
|
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.
|
|
6fd5364b
|
2011-04-11T11:47:14
|
|
Assert int types
|
|
bbdeff59
|
2011-04-07T16:05:07
|
|
Add test directory
|
|
4accc92a
|
2011-04-07T15:53:26
|
|
Update TODO items
|
|
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.
|
|
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?
|
|
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
|
|
ccc6745a
|
2011-04-04T14:49:50
|
|
[hb-view] Use cached hb-ft face creation
Avoids recreating the face the second time we call draw().
|
|
1b4a2cc0
|
2011-04-04T14:45:28
|
|
[hb-view] Add --debug
Frees all allocated memory before exiting. Useful for valgrind run.
|
|
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.
|
|
f48ff19b
|
2011-04-01T14:19:10
|
|
Sort options for clarity
|
|
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.
|
|
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.
|
|
b7b29684
|
2011-03-02T01:01:03
|
|
[hb-view] Handle write_to_png errors
|
|
c2cb98c8
|
2011-03-01T23:18:09
|
|
[hb-view] Link with -lm
|