Behdad Esfahbod
970e092dc2
Remove extra semicolon
2011-06-14 14:35:44 -04:00
Behdad Esfahbod
8142680802
Cosmetic
2011-06-13 16:12:56 -04:00
Behdad Esfahbod
902ab866f2
GNOME Bug 652227 - Unconditional use of stdint.h
2011-06-10 23:08:54 -04:00
Behdad Esfahbod
20503ccd57
More Indic data shuffling
2011-06-07 17:02:48 -04:00
Behdad Esfahbod
63b177e45c
Minor
2011-06-07 15:51:40 -04:00
Behdad Esfahbod
b9ddbd5593
[Indic] Start an Indic shaper
...
Nothing functional in there yet.
So far, we're parsing IndicSyllabicCategory.txt and IndicMatraCategory.txt
fils from Unicode Character Database and store them in an array to be used
by the shaper. Also hooked up the shaper, but it does not do anything
right now.
2011-06-02 17:43:12 -04:00
Behdad Esfahbod
697a65c5f5
Minor
2011-06-01 23:15:48 -04:00
Behdad Esfahbod
9de1481f2b
Update to ArabicShaping-6.1.0d2.txt
2011-06-01 20:45:14 -04:00
Behdad Esfahbod
9d49433efb
Minor rename
2011-06-01 18:10:10 -04:00
Behdad Esfahbod
89a2bc9ba6
[Vertical] Apply vertical features
...
We apply all of vert, vrt2, vkrn, valt, and vpal.
2011-05-31 15:18:13 -04:00
Behdad Esfahbod
0c6a9767c8
[hb-view] Add --face-index to choose a face in a TrueType Collection
2011-05-31 12:59:17 -04:00
Behdad Esfahbod
4f28fbdd80
Fix TTC header handling
...
Also change the Version type to avoid similar bugs in the future.
Reported by Grigori Goronzy.
2011-05-31 12:33:11 -04:00
Behdad Esfahbod
21deab2bdc
Fixed inifinite loop introduced in 7403e055cd
...
k is the index, not j.
Reported by Tom Hacohen.
2011-05-30 11:08:40 -04:00
Behdad Esfahbod
51881a61ca
Shrink code size
2011-05-27 18:15:56 -04:00
Behdad Esfahbod
90645fb24b
[OT] Separate map_builder from the actual map
...
Respectively, separate planner from the actual plan.
2011-05-27 18:13:31 -04:00
Behdad Esfahbod
5560a19e2b
Minor
2011-05-27 17:49:16 -04:00
Behdad Esfahbod
5bc18195d5
Add check-includes.sh
2011-05-27 15:58:54 -04:00
Behdad Esfahbod
376dafa6ed
Hide internal symbols
2011-05-27 03:40:04 -04:00
Behdad Esfahbod
329c15714b
Add libtool versioning
...
The versioning is automatic. For now, soname-major is 0. With
the 1.0.0 release it will jump to 1 and stay there forever.
2011-05-25 16:07:07 -04:00
Behdad Esfahbod
2d8ebcb9d0
[API] One last font-funcs API change
...
Now that vertical text works correctly, I'm doing a last round
modification of the font-funcs API to simplify. Expect no more
changes around here.
2011-05-25 11:27:33 -04:00
Behdad Esfahbod
7403e055cd
[Vertical] fix vertical gpos
...
Wow, it took me a few days to find the right fix!
We now set the advance for attached marks to zero, but we
do this in the _finish() state of gpos, so it shouldn't
regress with fonts like DejaVuSansMono that explicitly
decrease the mark advance width to set it to zero.
2011-05-25 10:52:15 -04:00
Behdad Esfahbod
3b0bb855e0
[Vertical] GPOS x/y advance adjustments only apply in hori/vert respectively
2011-05-20 15:59:59 -04:00
Behdad Esfahbod
cc2086d67c
[Vertical] Fix GPOS y-advance direction
2011-05-19 19:19:50 -04:00
Behdad Esfahbod
67d51ff961
[Vertical] Do fallback origin calculation
2011-05-19 19:08:57 -04:00
Behdad Esfahbod
60fbb36096
[Vertical] GPOS is always done with horizontal origin
2011-05-19 18:46:15 -04:00
Behdad Esfahbod
8b38faeede
More vertical
...
Starting to get there, but not without yet another round of changes.
I think I know wheere to go now.
2011-05-19 13:08:00 -04:00
Behdad Esfahbod
e609aeb1e2
[hb-view] Add --annotate
...
Currently it only marks glyph origins.
2011-05-18 10:17:02 -04:00
Behdad Esfahbod
b8d76dd74e
Vertical: Adjust origin in glyph_extents() and glyph_contour_point()
...
The base for vertical is almost ready now.
2011-05-17 23:31:00 -04:00
Behdad Esfahbod
190981851f
Cosmetic
2011-05-17 23:27:22 -04:00
Behdad Esfahbod
2c3f51a11c
Minor
2011-05-17 23:23:27 -04:00
Behdad Esfahbod
7e2c85de30
[API] Vertical support, take 2
...
I like this API *much* better. Implementation still incomplete, but
horizontal works.
2011-05-17 17:55:03 -04:00
Behdad Esfahbod
744970af4d
[API] Add support for vertical text
...
Design not final yet, and in fact I'm going to change it immediately,
but this is an standalone change for itself.
2011-05-17 17:12:34 -04:00
Behdad Esfahbod
4053f3f788
Cosmetic
2011-05-16 17:03:27 -04:00
Behdad Esfahbod
56d12e0356
Remove unnecessary TODO item
2011-05-16 16:01:58 -04:00
Behdad Esfahbod
1883af3796
[hb-view] Start work on vertical support
2011-05-16 15:18:16 -04:00
Behdad Esfahbod
9aa6f96af5
[hb-view] No need to allocate an extra glyph item at the end
2011-05-16 15:08:31 -04:00
Behdad Esfahbod
1a64f6e19a
[API] Add HB_LANGUAGE_INVALID
2011-05-13 22:55:32 -04:00
Behdad Esfahbod
40b5c2e86c
[test/test-ot-tag] Test hb-ot-tag.h, fix many bugs
...
I'm in awe with how many bugs this test revealed. All fixed.
2011-05-13 22:46:36 -04:00
Behdad Esfahbod
7fc5a30cb4
[API] Add hb_face_make/is_immutable()
2011-05-12 17:48:20 -04:00
Behdad Esfahbod
20c8b908dd
Finish off previous change
2011-05-12 15:19:33 -04:00
Behdad Esfahbod
0fd8c2f1be
[API] Make get_glyph() callback return a boolean
...
We need to know whether the glyph exists, so we can fallback to
composing / decomposing. Assuming that glyph==0 means "doesn't exist"
wouldn't work for applications like Pango that want to use different
"doesn't exist" glyph codes for different characters. An explicit
return value fixes that.
2011-05-12 15:14:13 -04:00
Behdad Esfahbod
805af72405
Rename get_kernings() arguments from first/second_glyph to left/right_glyph
...
Makes it clear that kerning is in visual order.
2011-05-12 12:39:40 -04:00
Behdad Esfahbod
df077fadd7
[object] Make object inert during destruction
...
Such that user_data and other finalizers cannot resurrect object
2011-05-12 01:19:39 -04:00
Behdad Esfahbod
52df150efe
Fix font subclass chainup
...
Test passing now.
2011-05-12 00:46:57 -04:00
Behdad Esfahbod
7033518f75
[API] Pass face to get_table()
2011-05-11 23:31:15 -04:00
Behdad Esfahbod
b467827806
[API] Remove const from font user_data
2011-05-11 23:25:28 -04:00
Behdad Esfahbod
9a14688e40
[API] Rename hb_face_create_for_data() to hb_face_create()
2011-05-11 22:49:29 -04:00
Behdad Esfahbod
46d6a21cc8
[API] Add hb_ot_layout_substitute_start/finish()
2011-05-11 22:33:13 -04:00
Behdad Esfahbod
c84d15f52e
Remove unused hb_set_t
2011-05-11 22:23:15 -04:00
Behdad Esfahbod
389a7c9e67
Remove hb_static_threadsafe_set_t
2011-05-11 22:21:38 -04:00
Behdad Esfahbod
e06d4eda7b
Use constructor/destructor for hb_ot_shape_plan_t
2011-05-11 22:18:31 -04:00
Behdad Esfahbod
daa446f184
Fix compile with no mutex available
2011-05-11 21:31:25 -04:00
Behdad Esfahbod
1e56c476c1
Free static mutex'es
2011-05-11 21:28:01 -04:00
Behdad Esfahbod
831886a9b4
Streamline mutex stuff
2011-05-11 21:27:52 -04:00
Behdad Esfahbod
438c4eee35
Remove unused hb_mutex_trylock()
2011-05-11 21:14:34 -04:00
Behdad Esfahbod
80a6833b03
[API] Add hb_*_get_empty() for all objects
2011-05-11 18:21:58 -04:00
Behdad Esfahbod
d3b30be378
[API] Add HB_UNTAG()
...
Useful in C API only.
2011-05-11 18:06:12 -04:00
Behdad Esfahbod
3cc6e9dcb4
Minor
2011-05-11 18:02:48 -04:00
Behdad Esfahbod
4101ca7dbb
Plug more leaks
...
All good now.
2011-05-11 14:30:56 -04:00
Behdad Esfahbod
6a7ac79e26
Plug leaks
2011-05-11 14:19:18 -04:00
Behdad Esfahbod
7aa12ebdff
[unicode] Simplify method setting
2011-05-11 11:55:11 -04:00
Behdad Esfahbod
d5bfd02721
Minor
2011-05-11 11:48:28 -04:00
Behdad Esfahbod
6a4e7e1372
Add maxp table
...
Not used for anything right now. Will use to get num_glyphs in the future.
2011-05-11 10:31:33 -04:00
Behdad Esfahbod
a513dbcf73
[API] Change signature of get_contour_point and get_kerning ffuncs
...
get_contour_point now takes glyph id before point_index.
get_kerning now takes a vector to fill-in.
2011-05-11 00:38:22 -04:00
Behdad Esfahbod
63d646fb29
[font] Do user-space conversion when chaining up to parent font
2011-05-11 00:15:37 -04:00
Behdad Esfahbod
b6f902a1a9
Minor
2011-05-11 00:04:15 -04:00
Behdad Esfahbod
abcfe9b59b
Remove hb_ot_layout_context_t, simplify code
2011-05-11 00:02:02 -04:00
Behdad Esfahbod
1ded6d8bbf
Make default font-funcs chain-up to the parent
2011-05-10 20:50:06 -04:00
Behdad Esfahbod
b9d975b931
[API] Pass down closure user_data to font funcs
2011-05-10 20:41:13 -04:00
Behdad Esfahbod
446df9cdb1
Whitespace
2011-05-10 20:14:44 -04:00
Behdad Esfahbod
686c2d165d
[API] Remove font_funcs func getter functions
2011-05-10 20:04:26 -04:00
Behdad Esfahbod
defc45be6d
[API] Add hb_font_create_sub_font() and hb_font_get_parent()
...
Not quite useful just yet.
2011-05-10 20:02:49 -04:00
Behdad Esfahbod
11bb8fe7b3
[font] Fix internal sign of x/y_scale
...
Should have been done as part of da97541988
2011-05-10 19:57:00 -04:00
Behdad Esfahbod
85e6218e33
[API] Remove broken-by-design hb_font_unset_funcs()
2011-05-10 19:40:44 -04:00
Behdad Esfahbod
74f1d896f2
Add hb_font_make/is_immutable()
2011-05-10 19:39:32 -04:00
Behdad Esfahbod
8c7a100a4d
Fix build without mutex
2011-05-10 19:21:07 -04:00
Behdad Esfahbod
19d3035c40
Remove duplicate atomic_int implementation
2011-05-10 19:18:12 -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
1c9f8717eb
[API] Simplify blob API, remove lock
2011-05-06 22:59:42 -04:00
Behdad Esfahbod
a0f337a1cc
Remove unused hb_blob_try_writable_inplace()
2011-05-06 19:20:52 -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
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.
2011-05-05 16:09:45 -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
d37486d87b
Add hb_threadsafe_set_t
2011-05-05 15:07:54 -04:00
Behdad Esfahbod
b45f32ee4e
Use hb_array_t for hb_language_t mapping
2011-05-05 15:00:43 -04:00
Behdad Esfahbod
21d2c92fdf
Move code around
2011-05-05 14:47:53 -04:00
Behdad Esfahbod
265ac614ea
Replace fixed-size lookup_maps array with hb_array_t
2011-05-05 14:38:16 -04:00
Behdad Esfahbod
6843569d2c
Replace fixed-size feature_maps array with hb_array_t
2011-05-05 14:30:51 -04:00
Behdad Esfahbod
44b0a4d2fc
Replace fixed-size feature_infos array with hb_array_t
2011-05-05 13:42:19 -04:00
Behdad Esfahbod
b214ec3ac0
Minor
2011-05-05 13:24:07 -04:00
Behdad Esfahbod
811482bd65
Replace hb_map_t with hb_set_t which is more intuitive and flexible
2011-05-05 13:21:04 -04:00
Behdad Esfahbod
478a42536f
Make array/map implementation more generic
2011-05-05 12:39:51 -04:00
Behdad Esfahbod
b81bd42951
Make hb_mutex_*() macros take a pointer
...
More intuitive.
2011-05-05 00:21:16 -04:00
Behdad Esfahbod
a4b1900913
Add hb_static_mutex_t
2011-05-05 00:17:43 -04:00
Behdad Esfahbod
56eb5ad6f9
Move code around
...
Mutex (and Windows.h by extension) are fairly isolated now.
2011-05-04 19:27:37 -04:00
Behdad Esfahbod
d292885893
[ft] Fix font->face handling
...
Don't use _cached()
2011-05-03 01:03:53 -04:00