Behdad Esfahbod
446df9cdb1
Whitespace
14 years ago
Behdad Esfahbod
686c2d165d
[API] Remove font_funcs func getter functions
14 years ago
Behdad Esfahbod
defc45be6d
[API] Add hb_font_create_sub_font() and hb_font_get_parent()
...
Not quite useful just yet.
14 years ago
Behdad Esfahbod
11bb8fe7b3
[font] Fix internal sign of x/y_scale
...
Should have been done as part of da97541988
14 years ago
Behdad Esfahbod
85e6218e33
[API] Remove broken-by-design hb_font_unset_funcs()
14 years ago
Behdad Esfahbod
74f1d896f2
Add hb_font_make/is_immutable()
14 years ago
Behdad Esfahbod
8c7a100a4d
Fix build without mutex
14 years ago
Behdad Esfahbod
19d3035c40
Remove duplicate atomic_int implementation
14 years ago
Behdad Esfahbod
45bfa99034
Fix set implementation to be truly threadsafe even with destroy() callbacks
...
The test/object test is passing again, instead of deadlocking.
14 years ago
Behdad Esfahbod
1c9f8717eb
[API] Simplify blob API, remove lock
14 years ago
Behdad Esfahbod
a0f337a1cc
Remove unused hb_blob_try_writable_inplace()
14 years ago
Behdad Esfahbod
08611d5194
Add note re deadlocks
14 years ago
Behdad Esfahbod
34fb5521a5
[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
14 years ago
Behdad Esfahbod
c78f448558
[API] Add version macros and functions
...
Step version up to 0.5.0.
Also, fix to pass "make distcheck"
14 years ago
Behdad Esfahbod
3935af1c0d
[buffer] Remove wrong optimization
...
While the cluster fields of the glyph string are usually sorted, they
wouldn't be in special cases (for example for non-native direction).
Blindly using bsearch is plain wrong. If we want to reintroduce this
optimization we have to make sure we know the buffer clusters are
monotonic and in which direction. Not sure it's worth it though.
14 years ago
Behdad Esfahbod
46df682851
Make user_data access threadsafe
...
For now, by taking a global user_data mutex.
14 years ago
Behdad Esfahbod
218e67b9ee
Shrink code
14 years ago
Behdad Esfahbod
b8d6183ebc
Use threadsafe set implementation for hb_language lookups
...
Note that the static variable has to be a global static, as gcc
implements local statics differently and that would require linking
to libstdc++, which we don't want.
14 years ago
Behdad Esfahbod
d37486d87b
Add hb_threadsafe_set_t
14 years ago
Behdad Esfahbod
b45f32ee4e
Use hb_array_t for hb_language_t mapping
14 years ago
Behdad Esfahbod
21d2c92fdf
Move code around
14 years ago
Behdad Esfahbod
265ac614ea
Replace fixed-size lookup_maps array with hb_array_t
14 years ago
Behdad Esfahbod
6843569d2c
Replace fixed-size feature_maps array with hb_array_t
14 years ago
Behdad Esfahbod
44b0a4d2fc
Replace fixed-size feature_infos array with hb_array_t
14 years ago
Behdad Esfahbod
b214ec3ac0
Minor
14 years ago
Behdad Esfahbod
811482bd65
Replace hb_map_t with hb_set_t which is more intuitive and flexible
14 years ago
Behdad Esfahbod
478a42536f
Make array/map implementation more generic
14 years ago
Behdad Esfahbod
b81bd42951
Make hb_mutex_*() macros take a pointer
...
More intuitive.
14 years ago
Behdad Esfahbod
a4b1900913
Add hb_static_mutex_t
14 years ago
Behdad Esfahbod
56eb5ad6f9
Move code around
...
Mutex (and Windows.h by extension) are fairly isolated now.
14 years ago
Behdad Esfahbod
d292885893
[ft] Fix font->face handling
...
Don't use _cached()
14 years ago
Behdad Esfahbod
2000179487
Move Win32 thread-safety stuff to hb-object-private.h
...
The Win32 definitions for LONG, ULONG, etc conflicts with
hb-open-type.h. Avoid that by making sure hb-object-private.h
and hb-open-type.h are not included in the same compilation unit.
14 years ago
Behdad Esfahbod
266b34418c
Refactor to keep hb-object-private.h and hb-open-type.h separate
...
Needed to be able to include <Windows.h> from hb-object-private.h.
14 years ago
Behdad Esfahbod
d4141a44b9
[blob] Implement sub_blob() in terms of create()
...
Fixes problem with uninitialized sub_blob->mutex among other things.
Reported by Bradley Grainger.
14 years ago
Behdad Esfahbod
fc52e9e44c
Implement win32 thread-safety stuff
...
Patch from Bradley Grainger.
14 years ago
Behdad Esfahbod
f55272ecde
Add hb_mutex_free() and use it
...
Based on patch by Bradley Grainger.
14 years ago
Behdad Esfahbod
8d5186484b
Cosmetic
14 years ago
Behdad Esfahbod
72657e4ce7
[API] Make hb_font_create() take a face and reference it
14 years ago
Behdad Esfahbod
cec6611c5c
Protect NULL in a couple places
14 years ago
Behdad Esfahbod
5a5030366e
Fix bug in array growth implementation
...
With this, test/object is now passing. Yay!
14 years ago
Behdad Esfahbod
16123e1070
Fix bug in map implementation
14 years ago
Behdad Esfahbod
1cd5969f25
[object] Fix bug in get_user_data() implementation
14 years ago
Behdad Esfahbod
4911062d5b
[API] Rename hb_blob_create_empty() to hb_blob_get_empty()
14 years ago
Behdad Esfahbod
1ab1d3e38c
[face] Return nil face if blob is inert
14 years ago
Behdad Esfahbod
e87867cb88
[buffer] Fail in _create() if we cannot pre-allocate the requested size
14 years ago
Behdad Esfahbod
c784c67a28
[unicode] Make _get_parent() return _nil object instead of NULL
14 years ago
Behdad Esfahbod
03034acb8a
[icu] Make sure we return script UNKNOWN instead of INVALID
14 years ago
Behdad Esfahbod
d02985ec5a
ISO 15924 fixes
...
Update to http://unicode.org/iso15924
Fixes some of the test failures in test-unicode with ICU. Still
one more to fix before the test passes.
14 years ago
Behdad Esfahbod
6af9cff5e1
[test/unicode] Use text fixture instead of static variables
14 years ago
Behdad Esfahbod
243673d601
[test/buffer] Add more extensive UTF-8 test data from glib
14 years ago