summaryrefslogtreecommitdiff
path: root/src/hb-buffer.h
AgeCommit message (Collapse)AuthorFilesLines
2018-10-07Rename invisible_codepoint to invisible_glyph in APIBehdad Esfahbod1-3/+3
Deleted recently added API: hb_buffer_set_invisible_codepoint() hb_buffer_get_invisible_codepoint() hb-shape / hb-view --invisible-codepoint New API: hb_buffer_set_invisible_glyph() hb_buffer_get_invisible_glyph() hb-shape / hb-view --invisible-glyph Fixes https://github.com/harfbuzz/harfbuzz/issues/1216
2018-10-07Add API for setting invisible-codepointBehdad Esfahbod1-0/+7
Fixes https://github.com/harfbuzz/harfbuzz/issues/1216 New API: hb_buffer_set_invisible_codepoint() hb_buffer_get_invisible_codepoint() hb-shape / hb-view --invisible-codepoint
2018-09-30Correct fix for glib-mkenum warningBehdad Esfahbod1-2/+1
2018-09-30Revert "Fix glib-mkenum warning"Behdad Esfahbod1-0/+2
This reverts commit 247756a7d89008ee6a7d1171dc07ba22454c6034. Was wrong. Right fix coming.
2018-09-30Fix glib-mkenum warningBehdad Esfahbod1-2/+0
GEN hb-gobject-enums.h WARNING: Failed to parse "/*< private >*/" in ../../src/hb-buffer.h
2018-09-24[docs] A few improvementsBehdad Esfahbod1-5/+15
If we wrote just this much every day...
2018-02-10Fix more build issuesBehdad Esfahbod1-1/+0
Hopefully most bots come back with this...
2018-02-09TypoBehdad Esfahbod1-1/+1
2018-02-09[docs] Improve UNSAFE_TO_BREAK docsBehdad Esfahbod1-2/+15
2018-02-09Documentation for HB_GLYPH_FLAG_UNSAFE_TO_BREAK.bungeman1-0/+6
HB_GLYPH_FLAG_UNSAFE_TO_BREAK means that the glyph with this flag is somehow affected by the previous logical glyph (the previous index in the buffer if ltr and the next index if the buffer is rtl). If these two glyphs are separated by a break (line or otherwise) then the underlying text should be re-shaped on both sides up to corresponding position in the text of some glyph not marked with this flag.
2018-01-21Fix typos.Bruce Mitchener1-2/+2
2018-01-10Improve HB_BUFFER_SERIALIZE_FLAG_NO_ADVANCES docsKhaled Hosny1-1/+2
Add the note about absolute glyph positions from the commit message.
2018-01-10Add HB_BUFFER_FLAG_REMOVE_DEFAULT_IGNORABLESBehdad Esfahbod1-4/+13
New API: HB_BUFFER_FLAG_REMOVE_DEFAULT_IGNORABLES hb-shape / hb-view --remove-default-ignorables One more text-rendering-tests test passing. Eleven failing.
2018-01-10Add option to buffer serialization to not output glyph advancesBehdad Esfahbod1-1/+4
When advances are not printed, glyph offsets reflect absolute glyph positions. New API: HB_BUFFER_SERIALIZE_FLAG_NO_ADVANCES hb-shape --no-advances
2017-10-15Don't use NULL in public headersBehdad Esfahbod1-2/+2
2017-10-07Fix build of HarfBuzz tools and HarfBuzz-GObject on Visual Studio (#555)fanc9991-1/+1
* hb-buffer.h: Mark hb_buffer_diff() for export This will fix the tools builds on Visual Studio, as the symbol is used by the tools. * build: Adapt NMake Makefiles for GLib 2.53.4 or later glib-mkenums was ported from a PERL script to a Python script, so we need to update how we generate the enum sources for HarfBuzz-GObject in the NMake builds. Let this be known in the build documentation for MSVC builds. One of the problems with the underlying cmd.exe that the NMake Makefiles run on is that shebang lines are not recognized, so we need to to test run the script with Python and see whether it succeeded by outputing a source file that is larger than 0 in file size (since running the PERL version of the script will clearly fail and cause an empty file to be created). If it succeeds, we then run a small Python utility script that makes the necessary string replacements, and we are done. If that fails, then we run the glib-mkenums script with PERL, and do the replacements with the PERL one-liners as we did before. We need to make replace.py use latin-1 encoding when using Python 3.x to cope with the copyright sign that is in the generated enum sources.
2017-09-04Fix buffer_diff for empty buffersBehdad Esfahbod1-2/+2
If buffers are empty, content type should be ignored. This fixes last of the failing tests: fuzzed.tests. Green again!
2017-08-23Add hb_glyph_info_get_glyph_flags()Behdad Esfahbod1-1/+8
New API.
2017-08-22Rename HB_BUFFER_DIFF_FLAG_MASK_MISMATCH to ↵Behdad Esfahbod1-1/+1
HB_BUFFER_DIFF_FLAG_GLYPH_FLAGS_MISMATCH
2017-08-14Fix typoBehdad Esfahbod1-1/+1
2017-08-14Add function to compare two buffersJonathan Kew1-0/+39
Based on patch from Jonathan Kew. Needs more cleaning up and documentation. New API: hb_buffer_diff_flags_t hb_buffer_diff()
2017-08-11New API: hb_buffer_append()Behdad Esfahbod1-0/+6
2017-08-10[unsafe-to-break] Allocate public bits from 0Behdad Esfahbod1-2/+3
2017-08-10[unsafe-to-break] Add UNSAFE_TO_BREAK flagBehdad Esfahbod1-2/+8
Not all shapers code is updated to set this properly. GSUB and Arabic shaper are updated. GPOS and other shapers are NOT. Fixes https://github.com/behdad/harfbuzz/issues/224
2016-01-11[docs] Minor fixes.Behdad Esfahbod1-13/+13
2016-01-01[docs] More buffers documentationKhaled Hosny1-28/+50
2015-12-30[docs] A bit more buffers documentationKhaled Hosny1-2/+54
2015-12-30[docs] A bit more buffers documentationKhaled Hosny1-1/+6
2015-12-18[buffer] Add debugging, aka, message, APIBehdad Esfahbod1-0/+15
Currently just announces lookup applications. Message-API *will* change. hb-shape / hb-view are updated to print-out messages to stder if --debug is specified.
2015-11-23Public headers: Decorate public symbols with HB_EXTERNChun-wei Fan1-50/+50
This prepares the headers for exporting symbols using visibility attributes or __declspec(dllexport), so that we do not need to maintain symbols listing files, as this is what was and is done in GLib and GTK+.
2015-09-03Fix Since tagsBehdad Esfahbod1-0/+9
Fixes https://github.com/behdad/harfbuzz/issues/103
2015-08-24Add API/cmdline to show glyph extents when serializing bufferBehdad Esfahbod1-1/+2
New API: HB_BUFFER_SERIALIZE_FLAG_GLYPH_EXTENTS hb-shape now accepts --show-extents. Patch from Simon Cozens.
2015-07-22Implement more granular cluster-mergingBehdad Esfahbod1-0/+12
TODO: Documentation. Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=71445
2015-04-30New API: hb_buffer_reverse_range()Behdad Esfahbod1-0/+4
2015-01-26[API] Add hb_buffer_add_latin1()Behdad Esfahbod1-0/+8
This is by no ways to promote non-Unicode encodings. This is an entry point that takes Unicode codepoints that happen to all be the first 256 characters and hence fit in 8bit strings. This is useful eg in Chrome where strings that can fit in 8bit are implemented that way, and this avoids copying into UTF-8 or UTF-16. Perhaps we should rename this to hb_buffer_add_codepoints8(). I'm also curious if anyone would be really interested in hb_buffer_add_codepoints16(). Please discuss!
2014-07-16New API: hb_buffer_[sg]et_replacement_codepoint()Behdad Esfahbod1-1/+14
With this change, we now by default replace broken UTF-8/16/32 bits with U+FFFD. This can be changed by calling new API on the buffer. Previously the replacement value used to be (hb_codepoint_t)-1. Note that hb_buffer_clear_contents() does NOT reset the replacement character. See discussion here: https://github.com/behdad/harfbuzz/commit/6f13b6d62daae4989e3cc2fe4b168e5c59650964 New API: hb_buffer_set_replacement_codepoint() hb_buffer_get_replacement_codepoint()
2014-07-16New API hb_buffer_add_codepoints()Behdad Esfahbod1-0/+8
Like hb_buffer_add_utf32, but doesn't do any Unicode validation. This is like what hb_buffer_add_utf32 used to be until a couple commits ago.
2013-10-18Use unsigned enums for mask typesBehdad Esfahbod1-8/+8
2013-08-27Add hb-deprecated.h, and rename a couple enum valuesBehdad Esfahbod1-4/+4
Add deprecated alias for old name.
2013-02-27[buffer] Implement buffer deserialization for format=textBehdad Esfahbod1-1/+1
Using a ragel machine.
2013-02-27[buffer] Start implementing buffer deserializationBehdad Esfahbod1-1/+1
2013-02-27[buffer] MinorBehdad Esfahbod1-2/+2
2013-01-07Rename hb_buffer_clear() to hb_buffer_clear_contents()Behdad Esfahbod1-1/+1
The previous name was clashing with harfbuzz.old. There are systems that need to link both... Clash-free now again.
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-5/+42
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-15MinorBehdad Esfahbod1-5/+3
2012-11-15Add hb_buffer_serialize_list_formats()Behdad Esfahbod1-0/+3
2012-11-15Add buffer serialization / deserialization APIBehdad Esfahbod1-0/+42
Two output formats for now: TEXT, and JSON. For example: hb-shape --output-format=json Deserialization API is added, but not implemented yet.
2012-11-13MinorBehdad Esfahbod1-12/+14
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.