|
b85800f9
|
2012-08-31T18:12:01
|
|
[Indic] Implement dotted-circle insertion for broken clusters
No panic, we reeally insert dotted circle when it's absolutely broken.
Fixes most of the dotted-circle cases against Uniscribe. (for Devanagari
fixes 80% of them, for Khmer 70%; the rest look like Uniscribe being
really bogus...)
I had to make a decision. Apparently Uniscribe adds one dotted circle
to each broken character. I tried that, but that goes wrong easily with
split matras. So I made it add only one dotted circle to an entire
broken syllable tail. As in: "if there was a dotted circle here, this
would have formed a correct cluster." That works better for split
stuff, and I like it more.
|
|
1be368e9
|
2012-08-31T16:29:17
|
|
Minor
|
|
965c280d
|
2012-08-29T13:59:16
|
|
Add HB_BUFFER_ASSERT_VAR
To be used in places we access buffer vars...
|
|
d5045a5f
|
2012-08-11T21:26:25
|
|
[ICU] Use new normalizer2 compose/decompose API
It's considerably faster than the fallback implementation we had
previously!
|
|
208f70f0
|
2012-08-01T17:13:10
|
|
Inline Unicode callbacks internally
|
|
69cc492d
|
2012-07-31T14:51:36
|
|
[buffer] Minor
|
|
ea278d38
|
2012-07-27T02:12:28
|
|
Partially switch ot shaper to shape_plan
|
|
47ef931f
|
2012-07-19T20:52:44
|
|
[buffer] Make sure out_info = info during GPOS
|
|
39b17837
|
2012-07-17T17:09:29
|
|
Add hb_buffer_normalize_glyphs() and hb-shape --normalize-glyphs
This reorders glyphs within the cluster to a nominal order. This should
have no visible effect on the output, but helps with testing, for
getting the same hb-shape output for visually-equal glyphs for each
cluster.
|
|
e085fcf7
|
2012-06-08T21:45:00
|
|
Remove unused buffer->replace_glyphs_be16
|
|
fe3dabc0
|
2012-06-08T20:56:05
|
|
Minor
|
|
e88e1442
|
2012-06-08T20:55:21
|
|
Use merge_clusters instead of open-coding
|
|
e51d2b6e
|
2012-06-08T20:33:27
|
|
Extend into main buffer if extension hit end of out-buffer merging clusters
|
|
5ced012d
|
2012-06-08T20:31:32
|
|
Extend end when merging clusters in out-buffer
|
|
72c0a187
|
2012-06-08T20:30:03
|
|
Extend clusters backward in out-buffer
|
|
cd589149
|
2012-06-08T20:27:53
|
|
Extend clusters backwards, into the out-buffer too
|
|
cafa6f37
|
2012-06-08T20:17:10
|
|
When merging clusters, extend the end
|
|
2a3d911f
|
2012-06-07T17:31:46
|
|
Fix alignment-requirement missmatch
Detected by clang and lots of cmdline options.
|
|
0594a244
|
2012-06-05T20:35:40
|
|
Cleanup TRUE/FALSE vs true/false
|
|
e1ac38f8
|
2012-06-05T20:31:49
|
|
Fix inert buffer set_length() with zero
Oops!
|
|
be4560a3
|
2012-06-05T18:14:03
|
|
Undo default unicode-funcs to avoid static initializer again
|
|
f06ab8a4
|
2012-06-05T12:31:51
|
|
Better hide nil objects and make them const
|
|
8e3715f8
|
2012-04-23T22:18:54
|
|
Minor
|
|
3b26f96e
|
2012-04-10T10:52:07
|
|
Add Thai shaper that does SARA AM decomposition / reordering
That's not in the OpenType spec, but it's what MS and Adobe do.
|
|
d4cc4471
|
2012-04-07T21:52:28
|
|
Move code around, in prep for Thai/Lao shaper
|
|
c521e793
|
2012-01-18T21:51:05
|
|
Fix OOB in replace_glyph()
Patch from Kenichi Ishibashi.
|
|
9ebe8c02
|
2011-08-26T09:29:42
|
|
Add buffer->replace_glyphs()
|
|
e6c09cdf
|
2011-08-17T19:07:59
|
|
Remove the pre_allocate argument from hb_buffer_create()
For two reasons:
1. User can always call hb_buffer_pre_allocate() themselves, and
2. Now we do a pre_alloc in add_utfX anyway, so the total number of
reallocs is limited to a small number (~3) anyway. This just makes the
API cleaner.
|
|
4e9ff1dd
|
2011-08-15T16:21:22
|
|
Pre-allocate buffers when adding string
We do a conservative estimate of the number of characters, but still,
this limits the number of buffer reallocs to a small constant.
|
|
33ccc779
|
2011-08-09T00:43:24
|
|
[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.
|
|
944b2ba1
|
2011-08-09T00:23:58
|
|
[buffer] Make API take signed int length
Since we already switched to accepting -1 as 'zero-terminated'.
|
|
144cd49a
|
2011-08-07T00:51:50
|
|
[buffer] Accept -1 for text_length and item_length
A -1 text_length means: zero-terminated string.
A -1 item_length means: to the end of string.
|
|
02aeca98
|
2011-08-04T22:31:05
|
|
[API] Changes to main shape API
hb_shape() now accepts a shaper_options and a shaper_list argument.
Both can be set to NULL to emulate previous API. And in most situations
they are expected to be set to NULL.
hb_shape() also returns a boolean for now. If shaper_list is NULL, the
return value can be ignored.
shaper_options is ignored for now, but otherwise it should be a
NULL-terminated list of strings.
shaper_list is a NULL-terminated list of strings. Currently recognized
strings are "ot" for native OpenType Layout implementation, "uniscribe"
for the Uniscribe backend, and "fallback" for the non-complex backend
(that will be implemented shortly). The fallback backend never fails.
The env var HB_SHAPER_LIST is also parsed and honored. It's a
colon-separated list of shaper names. The fallback shaper is invoked if
none of the env-listed shapers succeed.
New API hb_buffer_guess_properties() added.
|
|
c605bbbb
|
2011-08-04T20:00:53
|
|
Remove C++ guards from source files
Where causing issues for people with MSVC.
|
|
e62df436
|
2011-08-03T17:38:54
|
|
Add internal hb_buffer_t::get_scratch_buffer()
|
|
b65c0602
|
2011-07-28T16:48:43
|
|
Formalize buffer var allocations
|
|
a9ad3d34
|
2011-07-28T15:42:18
|
|
Move more code around
Buffer var allocation coming into shape
|
|
3a81b1db
|
2011-07-25T16:30:32
|
|
Minor, fix leak from my previous refactorings
|
|
f4a579bc
|
2011-07-25T16:20:16
|
|
Add internal API for buffer var allocation
|
|
468e9cb2
|
2011-07-22T11:28:07
|
|
Move buffer methods into the object
|
|
9111b21e
|
2011-07-21T00:58:29
|
|
Add _hb_buffer_output_glyph() and _hb_buffer_skip_glyph()
|
|
dd89d958
|
2011-07-21T00:28:57
|
|
Fix cluster calculation for non-LTR text
|
|
2e18c6db
|
2011-07-06T16:05:45
|
|
Fix reverse_range() position loop
Mozilla Bug 669175 - Slow rendering of text sometimes in this case,
using direction: rtl
|
|
80a6833b
|
2011-05-11T18:14:44
|
|
[API] Add hb_*_get_empty() for all objects
|
|
3935af1c
|
2011-05-05T16:09:45
|
|
[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.
|
|
e87867cb
|
2011-05-02T19:35:05
|
|
[buffer] Fail in _create() if we cannot pre-allocate the requested size
|
|
243673d6
|
2011-04-28T19:37:51
|
|
[test/buffer] Add more extensive UTF-8 test data from glib
|
|
080a0eb7
|
2011-04-28T16:01:01
|
|
Add _hb_unsigned_int_mul_overflows
|
|
32640428
|
2011-04-28T14:24:16
|
|
[test/buffer] Test pre_allocate() and allocation_successful()
|
|
e0db4b86
|
2011-04-28T12:56:49
|
|
[buffer] More error handling
Should be all set now.
|
|
5fa849b7
|
2011-04-27T21:46:01
|
|
[API] Add _set/get_user_data() for all objects
|
|
47e71d96
|
2011-04-27T16:38:03
|
|
[object] Remove unnecessary use of macros
|
|
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()
|
|
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.
|
|
2409d5f8
|
2011-04-21T17:14:28
|
|
Update Copyright headers
|
|
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!
|
|
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.
|
|
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).
|
|
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.
|
|
c910bec8
|
2011-04-13T15:49:06
|
|
Add hb_buffer_reset() and hb_buffer_set_length()
|
|
69ea23cb
|
2011-04-13T15:02:40
|
|
Minor
|
|
b5dd44e2
|
2011-02-28T10:13:52
|
|
Fix possible overflow
|
|
cc1a8a93
|
2011-01-06T14:58:52
|
|
Fix ChanContext backtrack matching with GPOS
Reported on mailing list by Keith Stribley and Khaled Hosny.
|
|
1c318302
|
2011-01-06T14:44:14
|
|
Remove unused realloc
We always allocate and grow str and pos together.
|
|
98370e89
|
2010-10-27T17:39:01
|
|
WIP removing external synthesized GDEF support and implementing it internally
|
|
870e2d6e
|
2010-10-27T17:37:20
|
|
Remove unused function
|
|
dbf56b1d
|
2010-10-27T17:06:12
|
|
More lig-id cleanup
|
|
f6a23a0b
|
2010-10-27T17:01:03
|
|
More removal of lig-id code from buffer
|
|
dd2ffd28
|
2010-10-27T16:57:01
|
|
Minor renaming
|
|
fe263272
|
2010-10-27T16:51:02
|
|
Move setting lig_id/component out of buffer and to the gsub code
|
|
37ab8771
|
2010-10-27T15:38:06
|
|
Remove comment
|
|
88474c6f
|
2010-10-27T14:42:15
|
|
Get rid of the OpenType-specific internal buffer representation
Add variant integers to buffer item types. More cleanup coming.
|
|
bd7378b2
|
2010-10-13T18:33:16
|
|
Massage mask setting a bit more
Still finding the exact correct way the masks should be set.
|
|
961f9baa
|
2010-10-13T17:17:00
|
|
Oops, actually set global mask
|
|
3506b2e7
|
2010-10-13T15:38:52
|
|
Return early if mask is 0
|
|
5c1c8c9c
|
2010-10-13T15:36:38
|
|
Make sure feature values don't leak out of their mask
|
|
57ac0ecb
|
2010-10-12T17:07:02
|
|
Merge clearing masks and setting global masks
|
|
34db6f03
|
2010-10-07T01:21:19
|
|
Add XXX note
|
|
4e4ef24e
|
2010-07-23T17:22:11
|
|
Towards separating bit allocation from shaping
|
|
acdba3f9
|
2010-07-23T15:11:18
|
|
Prefer C linkage
|
|
81c5e872
|
2010-05-28T18:31:16
|
|
Allow disabling default features
Patch from Jonathan Kew
|
|
2163afbf
|
2010-05-27T14:04:15
|
|
Add note about UTF-8 decoder
|
|
1ce7b87c
|
2010-05-21T17:31:45
|
|
Cleanup bitmask allocation
|
|
009aad56
|
2010-05-20T14:00:57
|
|
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.
|
|
3567b87c
|
2010-05-14T23:28:44
|
|
Add an inline version of hb_buffer_ensure()
|
|
a6a79df5
|
2010-05-14T23:20:16
|
|
Handle malloc failture in the buffer
|
|
910a33fe
|
2010-05-14T22:13:38
|
|
Update buffer docs
|
|
36b73c80
|
2010-05-14T22:10:39
|
|
Shortening buffer accessors: rename buffer->in_pos to buffer->i
|
|
29427c5c
|
2010-05-14T22:08:22
|
|
Shortening buffer accessors: rename buffer->out_length to buffer->out_len
|
|
6960350b
|
2010-05-14T22:07:46
|
|
Shortening buffer accessors: rename buffer->in_length to buffer->len
|
|
1b621823
|
2010-05-14T22:05:53
|
|
Shortening buffer accessors: rename buffer->positions to buffer->pos
|
|
9d5e26df
|
2010-05-14T22:03:11
|
|
Shortening buffer accessors: rename buffer->out_string to buffer->out_info
|
|
7e7007a1
|
2010-05-14T22:02:37
|
|
Shortening buffer accessors: rename buffer->in_string to buffer->info
|
|
8e6b6bb2
|
2010-05-14T21:58:22
|
|
Merge buffer->out_pos and buffer->out_length
|
|
1d5e7801
|
2010-05-12T23:43:00
|
|
Add a few other buffer methods
|