Behdad Esfahbod
5bd1e95236
Speedup Device table delta computation for common cases
2010-09-22 16:46:18 -04:00
Behdad Esfahbod
ed4acbde9c
Fix NULL dereference
...
Reported by Jonathan Kew. Face table handling needs to be redone
anyway, but fix this for now.
2010-08-16 14:36:27 -04:00
Behdad Esfahbod
258305c2a5
[GPOS] Fix div-by-zero
...
Patch by Jonathan Kew. Mozilla bug #465728 .
2010-08-13 14:10:02 -04:00
Behdad Esfahbod
2422c4b96d
Add TODO
2010-08-13 14:00:34 -04:00
Behdad Esfahbod
27f0b092a1
Logically separate feature allocation from application
2010-07-23 17:35:54 -04:00
Behdad Esfahbod
6cf63132dc
Minor
2010-07-23 17:32:26 -04:00
Behdad Esfahbod
4e4ef24e46
Towards separating bit allocation from shaping
2010-07-23 17:22:11 -04:00
Behdad Esfahbod
acdba3f90b
Prefer C linkage
2010-07-23 15:39:27 -04:00
Behdad Esfahbod
cc6d52279d
De-C++ where possible
...
Helps with avoiding many "extern C" declarations in source files.
2010-07-23 15:00:13 -04:00
Behdad Esfahbod
0dd200d28f
Header dep cleanup
2010-07-23 14:56:29 -04:00
Behdad Esfahbod
fb0d252462
dos2unix
2010-07-23 14:54:22 -04:00
Behdad Esfahbod
81408cd51c
Don't use "operator ="
...
Some compilers don't like operator = defined on members of union members
either. Reported by Ginn Chen for Sun Studio compilers.
2010-07-23 14:46:57 -04:00
Behdad Esfahbod
4f801bd658
Mozilla bug 580233 - check for zero-length record in hb sanitizer.
...
Patch / report by Jonathan Kew.
2010-07-21 16:37:01 -04:00
Behdad Esfahbod
17e9ff938b
Fix 64bit issues with debug prints
2010-07-15 11:21:34 -07:00
Behdad Esfahbod
fd56ae4963
Don't bother sorting, it's a safe font error if the array is not sorted
2010-07-08 00:53:40 -04:00
Behdad Esfahbod
cc8a4abea6
Use bsearch where applicable
2010-07-08 00:40:04 -04:00
Behdad Esfahbod
2f418f5709
Remove useless TODO
2010-07-07 22:07:40 -04:00
Behdad Esfahbod
da8edbb622
Fix header
2010-06-09 07:15:39 -04:00
Behdad Esfahbod
d05d13df02
Add a test for header preprocessor guards
2010-06-09 07:15:03 -04:00
Behdad Esfahbod
0f0cd9d361
Fix header tags
2010-06-09 06:32:56 -04:00
Behdad Esfahbod
f2a1b411b1
Followup fix for variation-selectors
...
Patch from Jonathan Kew
2010-06-03 11:37:51 -04:00
Behdad Esfahbod
a224b4d502
Fix skipping variation-selectors
2010-06-02 22:31:41 -04:00
Behdad Esfahbod
81a77b115d
Make feature sorting stable
2010-06-01 23:03:54 -04:00
Behdad Esfahbod
fdc322a820
Minor
2010-05-28 20:55:52 -04:00
Behdad Esfahbod
f062ec6bb2
Further simplify mask allocator
2010-05-28 20:54:43 -04:00
Behdad Esfahbod
8af45fda47
Fix global feature handling
2010-05-28 20:41:20 -04:00
Behdad Esfahbod
e04685ee7b
Simplify mask allocation
2010-05-28 20:37:06 -04:00
Behdad Esfahbod
0e235d0fc9
Towards a mask allocator
2010-05-28 20:27:30 -04:00
Behdad Esfahbod
81c5e8724b
Allow disabling default features
...
Patch from Jonathan Kew
2010-05-28 18:31:16 -04:00
Behdad Esfahbod
2163afbf35
Add note about UTF-8 decoder
2010-05-27 14:04:15 -04:00
Behdad Esfahbod
226faa58f4
Fix loop
2010-05-27 11:42:34 -04:00
Martin Hosken
56bef5680c
Fixes to Python and Graphite from Martin
2010-05-27 11:41:47 -04:00
Behdad Esfahbod
b485da0b71
Disable Graphite as it crashes all over the place...
2010-05-27 11:39:19 -04:00
Behdad Esfahbod
93ac709b1f
Cypriot is RTL
2010-05-26 16:22:00 -04:00
Behdad Esfahbod
15c7379c16
Revert "Merge remote branch 'martin/master'"
...
This reverts commit 80af2812fb
, reversing
changes made to c442672ec2
.
2010-05-26 10:48:10 -04:00
Behdad Esfahbod
80af2812fb
Merge remote branch 'martin/master'
2010-05-24 18:14:24 +01:00
Behdad Esfahbod
c442672ec2
Fix struct initializers
2010-05-24 18:02:32 +01:00
Behdad Esfahbod
f5ac9de259
Minor
2010-05-24 18:01:09 +01:00
Behdad Esfahbod
f97bf4f812
Make sure we initialize all callbacks upon creation
...
Also fixes issue with unicode callbacks never being set really.
2010-05-24 17:50:19 +01:00
Behdad Esfahbod
bf36a1074a
Move all callback functions in a vtable structs
2010-05-24 17:46:21 +01:00
Martin Hosken
3109a86add
hb-graphite now no longer has -ve advances within clusters. Fix infinite loop in tag_to_script(). python fixed to use tag_to_script and allow hbtestfont to be passed font files, where fontconfig knows about them.
2010-05-24 13:25:37 +01:00
Martin Hosken
72631c9d06
Merge branch 'master' of git://git.freedesktop.org/~behdad/harfbuzz-ng
2010-05-22 09:38:02 +01:00
Martin Hosken
1432ab15c1
Add graphical output to hbtestfont
2010-05-22 00:56:40 +01:00
Behdad Esfahbod
bbc7a99d01
Move mirroring around a bit
2010-05-21 18:25:08 +01:00
Behdad Esfahbod
bd0987386b
Add a few more standard features
2010-05-21 18:06:35 +01:00
Behdad Esfahbod
75f3469ca6
Add note
2010-05-21 17:59:04 +01:00
Behdad Esfahbod
1094a294f6
Add rtlm
2010-05-21 17:58:20 +01:00
Behdad Esfahbod
074ea78749
Add ltra, ltrm, and rtla features
2010-05-21 17:53:10 +01:00
Behdad Esfahbod
1ce7b87c4d
Cleanup bitmask allocation
2010-05-21 17:31:45 +01:00
Behdad Esfahbod
dd22a8f7bf
Add note
2010-05-21 16:43:17 +01:00
Martin Hosken
cbd1d6a63a
Rename Grxxx to HbGrxxx
2010-05-21 15:16:43 +01:00
Martin Hosken
0375bdd202
Rename classes from Grxxx to HbGrxxx
2010-05-21 15:13:26 +01:00
Behdad Esfahbod
a5a72e004b
Add hb-ot-shape.h, oops.
2010-05-21 15:12:52 +01:00
Behdad Esfahbod
aa62a402a7
Fix Makefile to install hb-ot-shape.h
2010-05-21 14:42:11 +01:00
Behdad Esfahbod
9722b8f005
Simple renames
2010-05-21 14:37:47 +01:00
Behdad Esfahbod
02f28550d7
Graphite also forces us to link to libstdc++ currently
2010-05-21 14:37:28 +01:00
Behdad Esfahbod
ca663bb23c
Move main shaper code into hb_ot_shape()
2010-05-21 14:34:23 +01:00
Behdad Esfahbod
7acd232d36
Fix test failing
2010-05-21 14:20:48 +01:00
Behdad Esfahbod
dd47924d88
Fix warnings
2010-05-21 14:18:08 +01:00
Behdad Esfahbod
305ba86715
Import Graphite shaping backend by Martin Hosken
2010-05-21 14:15:39 +01:00
Behdad Esfahbod
83f34677bc
Add hb_tag_from_string()
2010-05-21 13:43:49 +01:00
Behdad Esfahbod
4a9a5c0b06
Don't allocate bits for features not available
2010-05-21 13:33:46 +01:00
Behdad Esfahbod
e53d77142a
Speed up feature mask setting
...
Patch from Jonathan Kew.
2010-05-21 13:32:38 +01:00
Behdad Esfahbod
4fa67f34ec
Add Unicode 5.2 scripts
2010-05-21 13:29:12 +01:00
Behdad Esfahbod
ee1b322100
Fix feature mask setting
2010-05-21 12:55:57 +01:00
Behdad Esfahbod
b490fa3433
Add hb_ot_tag_to_script()
2010-05-21 11:15:07 +01:00
Behdad Esfahbod
280af1bddb
Let hb_face_get_table() return NULL if table not found
2010-05-20 18:33:35 +01:00
Behdad Esfahbod
1cdbfd944e
Fix alternate, again
2010-05-20 17:47:28 +01:00
Behdad Esfahbod
fdca3d5160
Fix alternate off-by-one
2010-05-20 17:46:20 +01:00
Behdad Esfahbod
b634beb39e
Fix delta scale, again...
2010-05-20 17:44:52 +01:00
Behdad Esfahbod
40335d4533
Remove unused operator
2010-05-20 17:35:14 +01:00
Behdad Esfahbod
f7acd8df51
Do alternate glyph selection!
...
Kinda hand-wavy right now. Not tested.
2010-05-20 17:26:35 +01:00
Behdad Esfahbod
750a229455
get_table() is allowed to return NULL. Use that to simplify code
2010-05-20 16:23:27 +01:00
Behdad Esfahbod
99d9ef785f
Write hb_face_create_for_data() in terms of hb_face_create_for_tables()
...
Fixes lack of head_table initialization in create_for_tables() also.
2010-05-20 15:47:49 +01:00
Behdad Esfahbod
6774463883
Apply user features to ranges!
2010-05-20 15:41:20 +01:00
Behdad Esfahbod
9b60233385
Add _hb_bit_storage()
2010-05-20 15:31:12 +01:00
Behdad Esfahbod
6b1b957f6d
Add lookup_map
2010-05-20 15:14:44 +01:00
Behdad Esfahbod
60010a0c4d
Update always-apply mask from 0xFFFF to 1
...
We plan to use the first bit to be always on.
2010-05-20 14:05:02 +01:00
Behdad Esfahbod
009aad5678
Invert the mask logic
...
Before, the mask in the buffer was inverted. That is, a 0 bit meant
feature should be applied and 1 meant not applied, whereas in the
lookups, the logic was positive.
Now both are in sync. When calling hb_buffer_add_glyph() manually,
the mask should be 1 instead of 0.
2010-05-20 14:00:57 +01:00
Behdad Esfahbod
7f411dbfd9
Apply user features
...
No ranges yet
2010-05-20 13:40:18 +01:00
Behdad Esfahbod
0db299ccad
Change hb_feature_t to keep tag/int instead of string
2010-05-20 13:30:09 +01:00
Behdad Esfahbod
0a4399ca22
Fix scale issues
...
hb_font_set_scale() now sets the value to be used to represent a unit
pixel. For example, if rendering a 10px font with a 26.6 representation,
you would set scale to (10 << 6). For 10px in 16.16 you would set it to
(10 << 16). This space should be the same space that the get_glyph_metrics
and get_kerning callbacks work in.
2010-05-19 15:45:06 -04:00
Behdad Esfahbod
cf5585cfa6
Add 'head' table
2010-05-19 12:03:35 -04:00
Behdad Esfahbod
e29caf3f94
Add LONGDATETIME
2010-05-19 11:47:17 -04:00
Behdad Esfahbod
f415755fdf
Minor
2010-05-17 15:14:14 -04:00
Behdad Esfahbod
73af7756dc
Indent
2010-05-14 23:38:08 -04:00
Behdad Esfahbod
3567b87cce
Add an inline version of hb_buffer_ensure()
2010-05-14 23:28:44 -04:00
Behdad Esfahbod
a6a79df5fe
Handle malloc failture in the buffer
2010-05-14 23:20:16 -04:00
Behdad Esfahbod
ca54a12658
Minor
2010-05-14 22:25:42 -04:00
Behdad Esfahbod
910a33fe84
Update buffer docs
2010-05-14 22:13:38 -04:00
Behdad Esfahbod
36b73c80df
Shortening buffer accessors: rename buffer->in_pos to buffer->i
2010-05-14 22:10:39 -04:00
Behdad Esfahbod
29427c5c51
Shortening buffer accessors: rename buffer->out_length to buffer->out_len
2010-05-14 22:08:22 -04:00
Behdad Esfahbod
6960350be9
Shortening buffer accessors: rename buffer->in_length to buffer->len
2010-05-14 22:07:46 -04:00
Behdad Esfahbod
1b621823f3
Shortening buffer accessors: rename buffer->positions to buffer->pos
2010-05-14 22:05:53 -04:00
Behdad Esfahbod
9d5e26df08
Shortening buffer accessors: rename buffer->out_string to buffer->out_info
2010-05-14 22:03:11 -04:00
Behdad Esfahbod
7e7007a1c9
Shortening buffer accessors: rename buffer->in_string to buffer->info
2010-05-14 22:02:37 -04:00
Behdad Esfahbod
8e6b6bb293
Merge buffer->out_pos and buffer->out_length
2010-05-14 21:58:22 -04:00
Behdad Esfahbod
22f668eb9a
Remove the unused BUFFER macro
2010-05-14 21:41:04 -04:00
Behdad Esfahbod
7e53ebe478
Remove the IN_CURGLYPH() macro
2010-05-14 21:38:46 -04:00
Behdad Esfahbod
d784da1923
Remove the IN_CURINFO() macro
2010-05-14 21:37:18 -04:00