|
66c6a48b
|
2014-04-14T15:55:42
|
|
Add HB_NO_MERGE_CLUSTERS
Disables any cluster-merging. Added for testing purposes while
we investigate what kind of API to add for this.
|
|
02c6c8cd
|
2013-11-15T13:05:38
|
|
Set buffer content type to INVALID in hb_buffer_set_length(0)
Previously we were only setting this in hb_buffer_clear_contents(),
but set_length(0) is a valid way to reinitialize buffer to use with
new text.
|
|
061cb464
|
2013-11-13T14:50:25
|
|
Use long alignment for scratch buffer
Fixes last of scratch alignment warnings in hb-coretext.
|
|
68c372ed
|
2013-11-13T14:44:01
|
|
More scratch-buffer cleanup
|
|
16f175cb
|
2013-11-12T17:22:49
|
|
Fix scratch-buffer alignment warnings
|
|
da72042c
|
2013-10-17T12:01:50
|
|
[otlayout] Fix up recent Context matching change
Commit 6b65a76b40522a4f57a6fedcbdfc5a4d736f1d3c. "end" was becoming
negative. Was trigerred by Lohit-Kannada 2.5.3 and the sequence:
U+0CB0,U+200D,U+0CBE,U+0CB7,U+0CCD,U+0C9F,U+0CCD,U+0CB0,U+0C97,U+0CB3
Two glyphs were being duplicated.
|
|
6b65a76b
|
2013-10-14T18:51:39
|
|
[otlayout] Fix (Chain)Context recursion!
Previously we only supported recursive sublookups with
ascending indices. We were also not correctly handling
non-1-to-1 recursed lookups.
Fix all that!
Fixes the three tests in test/shaping/tests/context-matching.tests,
which were derived from NotoSansBengali and NotoSansDevanagari
among others.
|
|
085d4291
|
2013-09-12T17:14:33
|
|
[introspection] Disable constructors for now
Since our types are not associated with their methods, marking
constructors makes them inaccessible from bindings. Undo for now.
|
|
288f2899
|
2013-09-06T15:40:22
|
|
[docs/introspection] More annotations
|
|
c44b8183
|
2013-09-06T15:13:16
|
|
Whitespace
|
|
5f512017
|
2013-09-04T18:28:39
|
|
[docs] Document a few symbols
|
|
4dc798de
|
2013-08-26T20:39:00
|
|
Add hb-deprecated.h, and rename a couple enum values
Add deprecated alias for old name.
|
|
6c15ddfe
|
2013-04-30T11:34:00
|
|
Renamed DEBUG to something else
Some infrastructures use DEBUG as a generic symbol.
|
|
847794e9
|
2013-02-27T17:59:28
|
|
[buffer] Implement buffer deserialization for format=text
Using a ragel machine.
|
|
d3e14aaf
|
2013-02-27T11:06:36
|
|
[buffer] Move buffer serialization code to a new file
|
|
1172dc73
|
2013-01-07T16:46:37
|
|
Rename hb_buffer_clear() to hb_buffer_clear_contents()
The previous name was clashing with harfbuzz.old. There are systems
that need to link both...
Clash-free now again.
|
|
f4abcbfc
|
2012-12-21T16:48:51
|
|
Minor
|
|
8465a05a
|
2012-11-30T08:46:43
|
|
Fix hb_buffer_guess_segment_properties() for empty buffer
Was causing assertion failure in shape_plan().
|
|
3f82f8ff
|
2012-11-15T18:45:31
|
|
Rename hb_buffer_guess_properties() to hb_buffer_guess_segment_properties()
|
|
f3064103
|
2012-11-15T18:39:46
|
|
Bunch of independent changes (ouch)
API additions:
hb_segment_properties_t
HB_SEGMENT_PROPERTIES_DEFAULT
hb_segment_properties_equal()
hb_segment_properties_hash()
hb_buffer_set_segment_properties()
hb_buffer_get_segment_properties()
hb_ot_layout_glyph_class_t
hb_shape_plan_t
hb_shape_plan_create()
hb_shape_plan_create_cached()
hb_shape_plan_get_empty()
hb_shape_plan_reference()
hb_shape_plan_destroy()
hb_shape_plan_set_user_data()
hb_shape_plan_get_user_data()
hb_shape_plan_execute()
hb_ot_shape_plan_collect_lookups()
API changes:
Rename hb_ot_layout_feature_get_lookup_indexes() to
hb_ot_layout_feature_get_lookups().
New header file:
hb-shape-plan.h
And a bunch of prototyped but not implemented stuff. Coming soon.
(Tests fail because of the prototypes right now.)
|
|
c54599ad
|
2012-11-15T16:14:23
|
|
Minor
|
|
072ae7a9
|
2012-11-15T13:14:12
|
|
Add hb_buffer_serialize_list_formats()
|
|
f9edf167
|
2012-11-15T12:14:09
|
|
Add buffer serialization / deserialization API
Two output formats for now: TEXT, and JSON. For example:
hb-shape --output-format=json
Deserialization API is added, but not implemented yet.
|
|
66ac2ff3
|
2012-11-13T16:26:32
|
|
API change: Remove "mask" from hb_buffer_add()
I don't expect anybody using hb_buffer_add(), so this shouldn't break
anyone's code.
|
|
0c7df222
|
2012-11-13T14:42:35
|
|
Add buffer flags
New API:
hb_buffer_flags_t
HB_BUFFER_FLAGS_DEFAULT
HB_BUFFER_FLAG_BOT
HB_BUFFER_FLAG_EOT
HB_BUFFER_FLAG_PRESERVE_DEFAULT_IGNORABLES
hb_buffer_set_flags()
hb_buffer_get_flags()
We use the BOT flag to decide whether to insert dottedcircle if the
first char in the buffer is a combining mark.
The PRESERVE_DEFAULT_IGNORABLES flag prevents removal of characters like
ZWNJ/ZWJ/...
|
|
82ecaff7
|
2012-11-13T13:57:52
|
|
Add hb_buffer_clear()
Which is like _reset(), but does NOT clear unicode-funcs.
|
|
da70111a
|
2012-10-31T13:45:30
|
|
Don't clear buffer pre-context if no new context is being provided
Patch from Jonathan Kew.
Part of fixing:
Mozilla Bug 801410 - avoid inserting dotted-circle for run-initial
Unicode combining characters in "simple" scripts such as Latin
https://bugzilla.mozilla.org/show_bug.cgi?id=801410
|
|
0bc7a384
|
2012-10-29T22:02:45
|
|
[OT] Fix ReverseChainingSubst
We should make it clear that we don't want output buffer in this case,
otherwise buffer->backtrack_len() would be wrong.
|
|
38b015e5
|
2012-10-28T20:11:47
|
|
Fix hb_buffer_set_length(buffer, 0)
Was causing invalid realloc()s.
|
|
05207a79
|
2012-09-25T17:44:53
|
|
[buffer] Save pre/post textual context
To be used for a variety of purposes. We save up to five characters
in each direction. No public API changes, everything is taken care
of already. All clients need to do is to call hb_buffer_add_utf* with
the full text + segment info (or at least some context) instead of
just passing in the segment.
Various operations (hb_buffer_reset, hb_buffer_set_length,
hb_buffer_add*) automatically reset the relevant contexts.
|
|
1f66c3c1
|
2012-09-25T11:42:16
|
|
Add hb_utf_strlen()
Speeds up UTF-8 parsing by calling strlen().
|
|
7f19ae7b
|
2012-09-25T11:22:28
|
|
[buffer] Templatize UTF handling
Also move UTF routines into a separate file, to be reused from shapers
that need it.
|
|
0e0a4da9
|
2012-09-25T11:09:04
|
|
[buffer] Towards template'izing different UTF adders
|
|
7d372806
|
2012-09-25T11:04:41
|
|
Minor
|
|
96fdc04e
|
2012-09-06T22:26:16
|
|
Add hb_buffer_[sg]et_content_type
And hb_buffer_content_type_t and enum values.
|
|
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()
|