summaryrefslogtreecommitdiff
path: root/src/hb-buffer-private.hh
AgeCommit message (Collapse)AuthorFilesLines
2013-05-02MinorBehdad Esfahbod1-0/+2
2013-02-27[buffer] Implement buffer deserialization for format=textBehdad Esfahbod1-1/+2
Using a ragel machine.
2012-11-15Rename hb_buffer_guess_properties() to hb_buffer_guess_segment_properties()Behdad Esfahbod1-1/+1
2012-11-15Bunch of independent changes (ouch)Behdad Esfahbod1-37/+0
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.)
2012-11-13API change: Remove "mask" from hb_buffer_add()Behdad Esfahbod1-1/+0
I don't expect anybody using hb_buffer_add(), so this shouldn't break anyone's code.
2012-11-13Add buffer flagsBehdad Esfahbod1-0/+1
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/...
2012-11-13Add hb_buffer_clear()Behdad Esfahbod1-0/+1
Which is like _reset(), but does NOT clear unicode-funcs.
2012-10-29[OT] Fix ReverseChainingSubstBehdad Esfahbod1-0/+1
We should make it clear that we don't want output buffer in this case, otherwise buffer->backtrack_len() would be wrong.
2012-09-25[buffer] Save pre/post textual contextBehdad Esfahbod1-1/+12
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.
2012-09-06Add hb_buffer_[sg]et_content_typeBehdad Esfahbod1-0/+2
And hb_buffer_content_type_t and enum values.
2012-08-31[Indic] Implement dotted-circle insertion for broken clustersBehdad Esfahbod1-0/+1
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.
2012-08-31MinorBehdad Esfahbod1-1/+15
2012-08-29Add HB_BUFFER_ASSERT_VARBehdad Esfahbod1-0/+3
To be used in places we access buffer vars...
2012-08-08Fix castBehdad Esfahbod1-4/+6
https://bugs.freedesktop.org/show_bug.cgi?id=53233
2012-07-31[buffer] MinorBehdad Esfahbod1-1/+2
2012-07-27Implement shape_plan cachingBehdad Esfahbod1-0/+30
Should give us some performance boost.
2012-07-27Partially switch ot shaper to shape_planBehdad Esfahbod1-0/+1
2012-07-18Leave one extra item at the end of buffer allocationBehdad Esfahbod1-1/+1
Just in case, for the times we do out-of-bounds access. jk
2012-06-16Make source more digestable for gobject-introspectionBehdad Esfahbod1-2/+2
2012-06-08Remove unused buffer->replace_glyphs_be16Behdad Esfahbod1-3/+0
2012-06-07Fix alignment-requirement missmatchBehdad Esfahbod1-1/+1
Detected by clang and lots of cmdline options.
2012-06-06Add ASSERT_POD for most objectsBehdad Esfahbod1-0/+2
2012-06-05Cleanup TRUE/FALSE vs true/falseBehdad Esfahbod1-1/+1
2012-05-13Add accessort to buffer for current info, current pos, and prev infoBehdad Esfahbod1-0/+9
2012-04-23MinorBehdad Esfahbod1-1/+1
2012-04-07Move code around, in prep for Thai/Lao shaperBehdad Esfahbod1-0/+5
2011-08-26Add buffer->replace_glyphs()Behdad Esfahbod1-0/+3
2011-08-04[API] Changes to main shape APIBehdad Esfahbod1-0/+1
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.
2011-08-04Remove C++ guards from source filesBehdad Esfahbod1-2/+0
Where causing issues for people with MSVC.
2011-08-03Add internal hb_buffer_t::get_scratch_buffer()Behdad Esfahbod1-0/+2
2011-07-28Formalize buffer var allocationsBehdad Esfahbod1-16/+9
2011-07-28Move more code aroundBehdad Esfahbod1-0/+1
Buffer var allocation coming into shape
2011-07-25Add internal API for buffer var allocationBehdad Esfahbod1-2/+23
2011-07-22Move buffer methods into the objectBehdad Esfahbod1-66/+44
2011-07-21Add _hb_buffer_output_glyph() and _hb_buffer_skip_glyph()Behdad Esfahbod1-0/+10
2011-06-15Minor compiler warning fixesBehdad Esfahbod1-4/+4
2011-04-28[buffer] More error handlingBehdad Esfahbod1-1/+1
Should be all set now.
2011-04-21Add hb_object_header_t which is the common part of all objectsBehdad Esfahbod1-4/+5
Makes way for adding arbitrary user_data support.
2011-04-21Update Copyright headersBehdad Esfahbod1-2/+2
2011-04-20Rename all private sources and headers to C++ filesBehdad Esfahbod1-1/+1
So we can liberally use the simple features of C++ that parts of the codebase is already using.
2011-04-20unicode: Cleanup implementationBehdad Esfahbod1-1/+1
2011-04-15Change buffer default properties to invalidBehdad Esfahbod1-6/+3
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).
2011-04-15Remove hb_buffer_clear_positions(), add hb_ot_layout_position_start()Behdad Esfahbod1-1/+5
2011-01-06Fix ChanContext backtrack matching with GPOSBehdad Esfahbod1-2/+3
Reported on mailing list by Keith Stribley and Khaled Hosny.
2010-11-02WIP removing external synthesized GDEF support and implementing it internallyBehdad Esfahbod1-4/+0
2010-11-02Remove unused functionBehdad Esfahbod1-10/+0
2010-11-02More cleanupBehdad Esfahbod1-4/+1
2010-11-02More lig-id cleanupBehdad Esfahbod1-2/+2
2010-11-02Minor renamingBehdad Esfahbod1-21/+20
2010-11-02Move setting lig_id/component out of buffer and to the gsub codeBehdad Esfahbod1-21/+9