src/hb-buffer.h

Branch


Log

Author Commit Date CI Message
Khaled Hosny ea6a172f 2025-03-24T00:33:53 11.0.0
Khaled Hosny 885eef8e 2025-03-10T10:33:36 [buffer/doc] Add docs for the new cluster level macros
Behdad Esfahbod 1531be8a 2025-03-10T01:02:11 [buffer] Add docs for the new cluster level
Behdad Esfahbod 75187186 2025-02-12T11:39:14 [buffer] Add HB_BUFFER_CLUSTER_LEVEL_GRAPHEMES https://github.com/harfbuzz/harfbuzz/discussions/5026#discussioncomment-12168668
Behdad Esfahbod a003890e 2024-09-21T11:30:56 [buffer] Add hb_buffer_[sg]et_not_found_variation_selector_glyph() Unused.
Behdad Esfahbod f1ac867d 2024-03-14T13:30:21 [buffer] Add API for random state Fixes https://github.com/harfbuzz/harfbuzz/issues/4620 New API: +hb_buffer_set_random_state() +hb_buffer_get_random_state()
Bruce Mitchener f380a328 2023-08-25T14:01:01 Fix some typos.
Behdad Esfahbod 07f2d8d5 2023-01-04T15:42:56 Comment
Behdad Esfahbod ba9b2053 2022-08-01T12:42:05 [ft] Try working around fonts with transform set Fixes https://github.com/harfbuzz/harfbuzz/issues/3772
Khaled Hosny f1f2be77 2022-07-31T15:46:25 5.1.0
Behdad Esfahbod 0a31cfb2 2022-07-30T14:32:58 [buffer] Fix produce-tatweel enum value
Behdad Esfahbod f43dadb8 2022-07-30T10:23:03 Rename kashida -> tatweel
Behdad Esfahbod 73c3ac91 2022-07-30T10:21:34 Document kashida stuff
Behdad Esfahbod d277addb 2022-07-30T10:10:21 [buffer] Add HB_BUFFER_FLAG_PRODUCE_SAFE_TO_INSERT_KASHIDA
Behdad Esfahbod 915e12cc 2022-07-29T13:55:39 Prototype glyph flag safe-to-kashida Fixes https://github.com/harfbuzz/harfbuzz/issues/3721
Behdad Esfahbod 1945b400 2022-07-25T10:45:55 [cpluscplus] Wrap hb-subset types as well Also changes signature of get_user_data of hb.h types to take const object. This is safe.
Khaled Hosny 98e90cc6 2022-06-30T08:43:57 [docs] Reduce warnings Use markdown syntax for inline code blocks instead of %true, %false, and %NULL.
Khaled Hosny 8537d681 2022-06-27T20:51:16 4.4.0
Behdad Esfahbod 55b911d8 2022-06-01T08:13:06 [buffer] Mark getter functions as taking const buffer Fixes https://github.com/harfbuzz/harfbuzz/issues/2873
Behdad Esfahbod ab143e85 2022-05-31T06:00:41 [buffer] Add HB_BUFFER_FLAG_DEFINED and HB_BUFFER_SERIALIZE_FLAG_DEFINED New API: + HB_BUFFER_FLAG_DEFINED + HB_BUFFER_SERIALIZE_FLAG_DEFINED
luz paz cf3a0f7a 2022-03-01T19:55:58 Fixed various misc. typos Found via `codespell -q 3 -S ./perf/texts -L actualy,als,ba,beng,clen,crasher,dependant,eachother,fo,gir,inout,ist,nd,ned,ot,pres,ro,statics,te,teh,timne`
Khaled Hosny 8d1b000a 2022-03-01T21:27:32 4.0.0
Khaled Hosny 1b5a2e08 2022-02-25T04:22:33 [doc] Various fixes to newly added documentation
Behdad Esfahbod 56f11ec9 2022-02-18T14:08:43 [buffer] Add HB_BUFFER_FLAG_PRODUCE_UNSAFE_TO_CONCAT Fixes https://github.com/harfbuzz/harfbuzz/issues/3454
Khaled Hosny 0a129961 2022-02-13T00:30:50 3.4.0
Behdad Esfahbod b263371b 2022-02-12T15:06:47 Merge pull request #3398 from harfbuzz/buffer-verify Add HB_BUFFER_FLAG_VERIFY
Khaled Hosny 98da3306 2022-01-31T18:12:01 3.3.0
Behdad Esfahbod 3972e0a8 2022-01-29T08:22:19 [buffer] Whitespace
Behdad Esfahbod 476a6377 2022-01-28T15:05:10 [buffer] Document HB_BUFFER_FLAG_VERIFY
Behdad Esfahbod 61823838 2022-01-28T13:45:25 [buffer] Add HB_BUFFER_FLAG_VERIFY Move buffer verification code inside the library, from util/. Part of https://github.com/harfbuzz/harfbuzz/issues/3010
Behdad Esfahbod 7c704d89 2022-01-28T12:38:32 [buffer] Make hb_buffer_append() take a const argument
Khaled Hosny fa29006b 2022-01-27T01:57:45 [doc] Fix generation of hb_glyph_flags_t docs GTK-Doc does not like the empty lines here, and interprets everything after the first empty line as the description of the enum itself not a specific member and the generated text makes no sense. Removing the empty lines makes the text harder to read (both in source and HTML), but at least it is correctly organized.
Behdad Esfahbod 540af548 2022-01-25T09:10:56 [unsafe-to-concat] Clarify documentation as per feedback Fixes https://github.com/harfbuzz/harfbuzz/pull/3297#discussion_r754395825
Behdad Esfahbod 3122c2cd 2021-12-04T19:50:33 [buffer] Add HB_GLYPH_FLAG_UNSAFE_TO_CONCAT Fixes https://github.com/harfbuzz/harfbuzz/issues/1463
Behdad Esfahbod 52f5711e 2022-01-03T11:57:42 [buffer] Add hb_buffer_create_similar() Fixes https://github.com/harfbuzz/harfbuzz/issues/1555
Behdad Esfahbod 6a669928 2022-01-03T11:21:29 Add hb_segment_properties_overlay() New API: + hb_segment_properties_overlay()
Behdad Esfahbod da500568 2021-10-26T08:02:29 [API] Add hb_buffer_[sg]et_not_found_glyph() and --not-found-glyph Instead of using gid=0 when a character is not found in the font, client can now set a custom value. This is useful for shaper-driven font fallback and to differentiate that from .notdef glyph. Fixes https://github.com/harfbuzz/harfbuzz/issues/1360
Khaled Hosny 7b9e23f2 2021-02-10T23:37:43 [introspection] Fix g-ir-scanner syntax errors Fixes https://github.com/harfbuzz/harfbuzz/issues/2851
Khaled Hosny 2fdab788 2020-12-30T23:44:30 [docs] Complete hb-buffer docs a bit
Nathan Willis e8de26e1 2019-04-21T20:31:54 [docs] Add gtkdoc comments to hb-buffer
Khaled Hosny b8b13018 2020-12-23T00:22:56 [docs] Make gtk-doc find these typedef’s
Behdad Esfahbod 3232e6f2 2020-10-15T00:20:17 [buffer] Add hb_buffer_has_positions() Fixes https://github.com/harfbuzz/harfbuzz/issues/2716
Simon Cozens 3d3c87e7 2020-09-21T14:35:05 Put the flags back in and serialize clusters. Note that now JSON glyph buffers and Unicode buffers look very similar, except for the g/u property difference.
Simon Cozens c03a2001 2020-09-18T14:19:17 Deserialization routines for Unicode buffers
Simon Cozens 58bcc1ce 2020-09-17T16:29:40 Serialize Unicode buffers
Ebrahim Byagowi 2dda6dd7 2020-04-20T14:12:45 minor, tweak spacing turn 8 spaces to tab, add space before Null/Crap
Ebrahim Byagowi a0b4ac4d 2019-08-24T17:57:14 Turn 8 spaces to tab across the project According to the current code style of the project
Behdad Esfahbod 3f845892 2019-03-28T21:21:26 2.4.0
Eric Muller a8635691 2019-02-09T02:55:27 Add a flag to hb_buffer_t to prevent the insertion of dotted circles on incorrect character sequences. Current behavior unchanged if this flag is not set (and it isn't by default).
Khaled Hosny 56164f75 2019-03-12T01:09:27 [doc] Add placeholder since version for new flag
Behdad Esfahbod d6fc1d49 2019-03-28T21:21:26 2.4.0
Khaled Hosny c2442c90 2019-03-12T01:09:27 [doc] Add placeholder since version for new flag
Eric Muller 30d7c40f 2019-02-09T02:55:27 Add a flag to hb_buffer_t to prevent the insertion of dotted circles on incorrect character sequences. Current behavior unchanged if this flag is not set (and it isn't by default).
Behdad Esfahbod 1a2eb108 2018-11-19T12:36:56 [ot-var] Add hb_ot_var_axis_get_flags() Part of https://github.com/harfbuzz/harfbuzz/issues/1241 New API: +hb_ot_var_axis_flags_t +hb_ot_var_axis_get_flags
Behdad Esfahbod 1e39833b 2018-10-20T16:56:06 [docs] Minor
Behdad Esfahbod e42cd58c 2018-10-07T20:46:11 Rename invisible_codepoint to invisible_glyph in API 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
Behdad Esfahbod 71b65eb2 2018-10-07T18:41:52 Add API for setting invisible-codepoint 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
Behdad Esfahbod ad1c190e 2018-09-30T18:26:45 Correct fix for glib-mkenum warning
Behdad Esfahbod 1dd1e56b 2018-09-30T18:25:58 Revert "Fix glib-mkenum warning" This reverts commit 247756a7d89008ee6a7d1171dc07ba22454c6034. Was wrong. Right fix coming.
Behdad Esfahbod 247756a7 2018-09-30T13:10:54 Fix glib-mkenum warning GEN hb-gobject-enums.h WARNING: Failed to parse "/*< private >*/" in ../../src/hb-buffer.h
Behdad Esfahbod 55bae682 2018-09-24T10:43:06 [docs] A few improvements If we wrote just this much every day...
Behdad Esfahbod a981d798 2018-02-10T15:17:28 Fix more build issues Hopefully most bots come back with this...
Behdad Esfahbod d45f240e 2018-02-09T15:51:45 Typo
Behdad Esfahbod 3b7aa651 2018-02-09T15:43:20 [docs] Improve UNSAFE_TO_BREAK docs
bungeman 671f0a77 2018-02-01T13:31:25 Documentation for HB_GLYPH_FLAG_UNSAFE_TO_BREAK. 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.
Bruce Mitchener 19a93fcf 2018-01-21T20:40:34 Fix typos.
Khaled Hosny 0b22da95 2018-01-10T07:12:07 Improve HB_BUFFER_SERIALIZE_FLAG_NO_ADVANCES docs Add the note about absolute glyph positions from the commit message.
Behdad Esfahbod 3b1e97f3 2018-01-10T03:35:20 Add HB_BUFFER_FLAG_REMOVE_DEFAULT_IGNORABLES New API: HB_BUFFER_FLAG_REMOVE_DEFAULT_IGNORABLES hb-shape / hb-view --remove-default-ignorables One more text-rendering-tests test passing. Eleven failing.
Behdad Esfahbod 71fd6325 2018-01-10T02:20:14 Add option to buffer serialization to not output glyph advances When advances are not printed, glyph offsets reflect absolute glyph positions. New API: HB_BUFFER_SERIALIZE_FLAG_NO_ADVANCES hb-shape --no-advances
Behdad Esfahbod fbb937b6 2017-10-15T12:04:16 Don't use NULL in public headers
fanc999 48a94068 2017-10-07T18:57:14 Fix build of HarfBuzz tools and HarfBuzz-GObject on Visual Studio (#555) * 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.
Behdad Esfahbod d03f11f2 2017-09-04T20:14:13 Fix buffer_diff for empty buffers If buffers are empty, content type should be ignored. This fixes last of the failing tests: fuzzed.tests. Green again!
Behdad Esfahbod b2dd0c1c 2017-08-23T13:12:54 Add hb_glyph_info_get_glyph_flags() New API.
Behdad Esfahbod 3e8f4f14 2017-08-22T17:56:25 Rename HB_BUFFER_DIFF_FLAG_MASK_MISMATCH to HB_BUFFER_DIFF_FLAG_GLYPH_FLAGS_MISMATCH
Behdad Esfahbod 338e61ad 2017-08-14T12:36:38 Fix typo
Jonathan Kew 331d66c7 2014-07-19T23:09:09 Add function to compare two buffers Based on patch from Jonathan Kew. Needs more cleaning up and documentation. New API: hb_buffer_diff_flags_t hb_buffer_diff()
Behdad Esfahbod 39a97494 2017-08-11T15:52:06 New API: hb_buffer_append()
Behdad Esfahbod 5287ccc9 2017-08-10T14:25:53 [unsafe-to-break] Allocate public bits from 0
Behdad Esfahbod 40bd7e9a 2016-05-02T14:47:45 [unsafe-to-break] Add UNSAFE_TO_BREAK flag 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
Behdad Esfahbod 97624d92 2016-01-11T12:58:45 [docs] Minor fixes.
Khaled Hosny 9ab9f974 2016-01-01T20:38:21 [docs] More buffers documentation
Khaled Hosny fb192c26 2015-12-30T15:05:50 [docs] A bit more buffers documentation
Khaled Hosny 8ab797c5 2015-12-29T17:42:16 [docs] A bit more buffers documentation
Behdad Esfahbod 0475ef2f 2015-12-18T18:17:07 [buffer] Add debugging, aka, message, API 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.
Chun-wei Fan 835bbdc7 2015-11-19T18:34:12 Public headers: Decorate public symbols with HB_EXTERN 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+.
Behdad Esfahbod b8811429 2015-09-03T15:53:22 Fix Since tags Fixes https://github.com/behdad/harfbuzz/issues/103
Behdad Esfahbod fdd1770e 2015-08-24T13:49:55 Add API/cmdline to show glyph extents when serializing buffer New API: HB_BUFFER_SERIALIZE_FLAG_GLYPH_EXTENTS hb-shape now accepts --show-extents. Patch from Simon Cozens.
Behdad Esfahbod 376d587f 2015-07-22T16:51:12 Implement more granular cluster-merging TODO: Documentation. Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=71445
Behdad Esfahbod 81bedda5 2015-04-30T13:04:16 New API: hb_buffer_reverse_range()
Behdad Esfahbod 61820bc4 2015-01-26T14:25:52 [API] Add hb_buffer_add_latin1() 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!
Behdad Esfahbod 976c8f45 2014-07-16T15:34:20 New API: hb_buffer_[sg]et_replacement_codepoint() 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()
Behdad Esfahbod bcba8b45 2014-07-16T14:59:04 New API hb_buffer_add_codepoints() 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.
Behdad Esfahbod 11fb16cb 2013-10-17T20:57:57 Use unsigned enums for mask types
Behdad Esfahbod 4dc798de 2013-08-26T20:39:00 Add hb-deprecated.h, and rename a couple enum values Add deprecated alias for old name.
Behdad Esfahbod 847794e9 2013-02-27T17:59:28 [buffer] Implement buffer deserialization for format=text Using a ragel machine.
Behdad Esfahbod e54dd263 2013-02-27T13:01:02 [buffer] Start implementing buffer deserialization
Behdad Esfahbod bcc8f32b 2013-02-27T12:02:42 [buffer] Minor
Behdad Esfahbod 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.
Behdad Esfahbod 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.)
Behdad Esfahbod 3f82f8ff 2012-11-15T18:45:31 Rename hb_buffer_guess_properties() to hb_buffer_guess_segment_properties()