Behdad Esfahbod
f3159ba514
Micro-optimize hb_language_from_string()
...
As measured / improved by Benson Limketkai.
2015-09-29 14:34:56 +01:00
Behdad Esfahbod
b8811429b6
Fix Since tags
...
Fixes https://github.com/behdad/harfbuzz/issues/103
2015-09-03 15:53:22 +04:30
Behdad Esfahbod
64a2726e2c
Add Unicode 8.0 scripts
...
Based on https://bugzilla.mozilla.org/show_bug.cgi?id=1183209
2015-07-15 01:36:39 +01:00
Behdad Esfahbod
351f68f4e0
[bindings] Fix hb_language_get_default() and hb_ot_tag_to_language()
...
Part of https://github.com/behdad/harfbuzz/issues/91
2015-06-12 17:46:06 -07:00
Sascha Brawer
01c3a88543
Fix "Since:" tags
...
Based on data from http://upstream-tracker.org/versions/harfbuzz.html
Resolves #103
2015-06-01 13:25:27 +02:00
Khaled Hosny
04f89e8f7d
[bindings] Fix ownership of returned hb_language_t
...
It should not be freed by the caller.
2015-04-10 18:17:02 +02:00
Behdad Esfahbod
f3b170bdd9
Minor
2015-04-08 16:26:24 -07:00
Khaled Hosny
a394bb6670
[bindings] Fix *_from_string functions
...
Without the element-type they will be getting garbage, at least with
Python.
2015-03-22 20:29:10 +02:00
Konstantin Ritt
675956aca0
Do not leak hb_language_t on hb_language_item_t destruction
2015-01-27 10:06:56 -08:00
Chris Peterson
fb85d618f5
Add #ifdef HB_USE_ATEXIT to fix -Wunused-function warnings
2015-01-04 19:31:10 -08:00
Chris Peterson
d1897a98d8
Fix hb_atomic_ptr_cmpexch -Wunused-value warnings
2015-01-03 19:46:19 -08:00
Behdad Esfahbod
38fb30d742
Use atexit() only if it's safe to call from shared library
...
Apparently they are not (advertised as?) safe on BSD systems.
We ignore the case of static libraries.
Whitelisted on glibc, Android, and MSVC / mingw.
https://bugs.freedesktop.org/show_bug.cgi?id=82246
2014-08-06 13:34:49 -04:00
Behdad Esfahbod
7627100f42
Mark unsigned integer literals with the u suffix
...
Simplifies hb_in_range() calls as the type can be inferred.
The rest is obsessiveness, I admit.
2014-07-11 16:22:13 -04:00
Behdad Esfahbod
2b051c6057
Rename HB_VERSION_CHECK and hb_version_check to "atleast"
...
HB_VERSION_CHECK's comparison was originally written wrongly
by mistake. When API tests were written, they were also written
wrongly to pass given the wrong implementation... Sigh.
Given the purpose of this API, there's no point in fixing it
without renaming it. As such, rename.
API changes:
HB_VERSION_CHECK -> HB_VERSION_ATLEAST
hb_version_check -> hb_version_atleast
2014-06-20 14:09:57 -04:00
Behdad Esfahbod
a4a7899cd9
[unicode7] Mark right-to-left scripts
2014-06-18 12:22:45 -04:00
Behdad Esfahbod
dac86026a6
Fix some cppcheck warnings
...
Bug 77800 - cppcheck reports
2014-06-03 17:57:00 -04:00
jfkthame
0082dbeae6
wrap definition of free_langs() with HAVE_ATEXIT
...
...to avoid an unused function warning; see mozilla bug https://bugzilla.mozilla.org/show_bug.cgi?id=984081 .
2014-03-16 13:40:33 -07:00
Behdad Esfahbod
2a8c49ade0
Remove unnecessary includes
2013-12-11 20:24:20 -05:00
Behdad Esfahbod
48360ec03b
Bug 68990 - test-common fails on i686-linux
...
Fix use-after-end-of-scope.
2013-09-26 16:48:42 -04:00
Behdad Esfahbod
70303cf23b
[docs/introspection] Some more annotations
2013-09-06 17:38:25 -04:00
Behdad Esfahbod
cd361c3cbe
Minor change to hb_language_t
...
Let me know if this breaks anyone's anything.
2013-09-06 17:16:25 -04:00
Behdad Esfahbod
7235f33f9e
Fix misc warnings reported by cppcheck
...
https://bugs.freedesktop.org/show_bug.cgi?id=65544
2013-06-10 15:08:49 -04:00
Behdad Esfahbod
bab02d339f
Rename HB_OT_INDIC_OPTIONS env var to HB_OPTIONS
...
The Myanmar shaper now respects the uniscribe-bug-compatibility
option too.
2013-02-12 15:26:45 -05:00
Behdad Esfahbod
e9171af55c
Bug 60053 - hb-common.cc:181:6: warning: ‘void free_langs()’ defined but not used
2013-01-29 22:45:00 -05:00
Behdad Esfahbod
7babfe5a79
Move object mutext into the user-data array
...
We are not using it for anything lse it seems.
2012-12-04 00:35:54 +02:00
Behdad Esfahbod
e30ebd2794
Add hb_feature_to/from_string()
2012-09-06 22:09:06 -04:00
Behdad Esfahbod
7e7d245b33
Make default_language threadsafe
2012-08-08 15:23:48 -04:00
Behdad Esfahbod
1bc1cb3603
Make source more digestable for gobject-introspection
2012-06-16 15:21:55 -04:00
Behdad Esfahbod
04aed572f1
Make hb-ft static-initializer free
2012-06-05 18:45:36 -04:00
Behdad Esfahbod
093171ccec
Implement lock-free hb_language_t
...
Another static-initialization down. One more to go.
2012-06-05 18:00:45 -04:00
Behdad Esfahbod
0e253e97af
Add a mutex to object header
...
Removes one more static-initialization. A few more to go.
2012-06-05 15:54:43 -04:00
Behdad Esfahbod
4bf90f6483
Make HB_DIRECTION_INVALID be zero
...
This changes all the HB_DIRECTION_* enum member values, but is
nicer, in preparation for making hb_segment_properties_t public.
2012-04-12 17:38:23 -04:00
Behdad Esfahbod
cad3821f3d
More sorting by Unicode version
...
This is the most convenient way to browse scripts.
2012-03-07 17:13:25 -05:00
Behdad Esfahbod
fa2673c1ee
More Unicode script age annotation, and a couple more RTL scripts
...
Cross-checked with Mark Davis's spreadsheet at http://goo.gl/x9ilM
2012-03-07 15:52:02 -05:00
Behdad Esfahbod
50e810cd0e
Lydian and Kharoshthi are right-to-left
2012-03-07 12:49:08 -05:00
Behdad Esfahbod
4c9fe88d30
[API] Make all _from_string() functions take a len parameter
...
Can be -1 for NUL-terminated string. This is useful for passing parts
of a larger string to a function without having to copy or modify the
string first.
Affected functions:
hb_tag_t hb_tag_from_string()
hb_direction_from_string()
hb_language_from_string()
hb_script_from_string()
2011-08-26 09:22:12 +02:00
Behdad Esfahbod
33ccc77902
[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.
2011-08-09 00:43:24 +02:00
Behdad Esfahbod
c62a8f10f3
Free all static memory upon exit
2011-08-05 19:59:02 -04:00
Behdad Esfahbod
c605bbbb6d
Remove C++ guards from source files
...
Where causing issues for people with MSVC.
2011-08-04 20:00:53 -04:00
Behdad Esfahbod
1a64f6e19a
[API] Add HB_LANGUAGE_INVALID
2011-05-13 22:55:32 -04:00
Behdad Esfahbod
389a7c9e67
Remove hb_static_threadsafe_set_t
2011-05-11 22:21:38 -04:00
Behdad Esfahbod
45bfa99034
Fix set implementation to be truly threadsafe even with destroy() callbacks
...
The test/object test is passing again, instead of deadlocking.
2011-05-10 19:15:49 -04:00
Behdad Esfahbod
08611d5194
Add note re deadlocks
2011-05-06 16:28:10 -04:00
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
2011-05-06 00:05:08 -04:00
Behdad Esfahbod
c78f448558
[API] Add version macros and functions
...
Step version up to 0.5.0.
Also, fix to pass "make distcheck"
2011-05-05 21:31:04 -04:00
Behdad Esfahbod
46df682851
Make user_data access threadsafe
...
For now, by taking a global user_data mutex.
2011-05-05 15:33:19 -04:00
Behdad Esfahbod
218e67b9ee
Shrink code
2011-05-05 15:28:37 -04:00
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.
2011-05-05 15:14:04 -04:00
Behdad Esfahbod
b45f32ee4e
Use hb_array_t for hb_language_t mapping
2011-05-05 15:00:43 -04:00
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.
2011-05-03 00:49:06 -04:00