src/hb-unicode.cc

Branch


Log

Author Commit Date CI Message
Behdad Esfahbod c4c64628 2023-01-12T13:58:46 [unicode] Adjust error message
Behdad Esfahbod dd88dae8 2022-11-19T15:22:39 [unicode] Simplify set_funcs a bit more
Behdad Esfahbod 2d8ff3bc 2022-11-19T15:23:44 [unicode] Destroy user_data in set_funcs fail paths This is what the font_funcs / draw_funcs do.
Behdad Esfahbod 527823cc 2022-11-19T15:19:08 [unicode] Destroy user_data in set_funcs fail paths This is what the font_funcs / draw_funcs do.
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.
Behdad Esfahbod f78a2509 2022-06-05T00:55:35 [gi] Remove Xconstructor annotations
Behdad Esfahbod 2337f0d0 2021-07-08T10:58:50 Internally use hb_malloc/.../hb_free instead of malloc/.../free Redefining those stock names as macros was conflicting with gcc 10 headers. Fixes https://github.com/harfbuzz/harfbuzz/issues/3044
Khaled Hosny 9936490c 2020-12-31T00:19:29 [docs] Invalid use of "optional" annotation It is valid only for out and inout parameters. Fixes https://github.com/harfbuzz/harfbuzz/issues/1787
Khaled Hosny 3f7ffd1b 2020-12-30T23:46:13 [docs] Complete hb-unicode docs a bit
Khaled Hosny a8e72ee7 2020-12-30T23:08:40 [docs] Use %true and %false consistently
Khaled Hosny 22468c8a 2020-12-24T22:38:06 [docs] Give destroy callbacks have (optional) annotation
Khaled Hosny f88e845f 2020-12-24T21:28:37 [docs] Minor fixes
Khaled Hosny cc7b3a1a 2020-09-26T10:22:39 [Docs] Address review comments
Nathan Willis 5b43eb5a 2019-04-22T19:16:48 [Docs] Add GTK-Dod comments to hb-unicode.
Ebrahim Byagowi 2dda6dd7 2020-04-20T14:12:45 minor, tweak spacing turn 8 spaces to tab, add space before Null/Crap
Ebrahim Byagowi 0558413f 2019-10-01T13:49:55 Minor, tweak spaces
Behdad Esfahbod 25e2562f 2019-07-17T09:35:56 [amalgam] Fix redundant-declaration warning/error
Dominik Röttsches 2e7021da 2019-07-08T10:19:49 Revert "Minor" - revert moving extern "C" definitions in-function This reverts commit 62e60322cb9e18b3ee75f1b4a2a6d3069f587407 since it breaks building HarfBuzz as part of Chromium. Fixes https://github.com/harfbuzz/harfbuzz/issues/1821.
Behdad Esfahbod 62e60322 2019-07-02T16:07:03 Minor
Behdad Esfahbod ceb4c212 2019-07-02T16:02:13 [amalgam] Fix UCD issue This actually makes it build now! Part https://github.com/harfbuzz/harfbuzz/issues/1809 Keeping open to add tests, CI, etc.
Behdad Esfahbod cd65305b 2019-06-26T14:57:48 [config] Don't disable emoji sequences in HB_TINY It makes sense to disable this code these if editing is not needed. However, this is also necessary to correctly display emoji sequences in right-to-left direction. For that reason, don't auto-disable it.
Behdad Esfahbod 7298716a 2019-06-26T14:51:17 [config] Compile out modified combining-class if HB_NO_OT_SHAPE Part of https://github.com/harfbuzz/harfbuzz/issues/1652
Behdad Esfahbod 1cdd0fa6 2019-06-26T14:49:15 [emoji] Port generator to packtab
Behdad Esfahbod 5130c90a 2019-06-26T14:29:39 [config] Add HB_NO_EMOJI Part of https://github.com/harfbuzz/harfbuzz/issues/1652
Behdad Esfahbod 65392b73 2019-05-22T16:21:21 [ucdn] Replace UCDN with a new UCD implementation UCDN was ~120kb of data. New implementatoin is 69kb in default builds, and 49kb if built with HB_OPTIMIZE_SIZE or __OPTIMIZE_SIZE__. The latter automatically enabled if built with -Os or -Oz. There's room to shave off another 10kb or 20kb. That will follow later. Fixes https://github.com/harfbuzz/harfbuzz/issues/1652
Behdad Esfahbod fca27860 2019-05-11T00:37:01 [config] Make HB_DISABLE_DEPRECATED actually compile Part of https://github.com/harfbuzz/harfbuzz/issues/1652
Behdad Esfahbod b111b3de 2019-04-10T15:38:15 Don't use any default unicode funcs if HB_NO_UNICODE_FUNCS is defined Part of https://github.com/harfbuzz/harfbuzz/issues/1652
Ebrahim Byagowi e4120085 2018-12-17T21:31:01 Remove redundant void from C++ sources (#1486)
Behdad Esfahbod 5570c87f 2018-11-03T14:51:38 Port objects to use header.writable instead of immutable Saves 4 or 8 bytes per object on 64bit archs.
Behdad Esfahbod 4ef671f2 2018-10-29T22:46:19 [unicode] Fix a long-standing double-declaration warning
Behdad Esfahbod cf5fa57f 2018-10-27T04:50:38 [docs] Change section titles again I think I like the uniform "hb-*" more.
Behdad Esfahbod 5dd86aa3 2018-10-27T04:28:40 [docs] Rename section titles to object names More useful.
Behdad Esfahbod 00cf4e5e 2018-10-27T04:07:33 [docs] Fill in some sections
Behdad Esfahbod 69f5da06 2018-10-23T20:30:40 [name] More It assumes all names are encoded in UTF16-BE. Other than that, and not listing languages correctly, it's *supposed* to work.
Behdad Esfahbod 314b1af7 2018-10-20T16:49:16 [docs] Fix warning Fixes https://github.com/harfbuzz/harfbuzz/issues/1260
Behdad Esfahbod 1e8f195b 2018-10-03T17:46:48 [emoji] Add emoji Extended_Pictographic table and function Part of https://github.com/harfbuzz/harfbuzz/issues/1159 .
Behdad Esfahbod 90a0f9fa 2018-09-26T15:03:07 Make TSan happy with make_immutable()
Behdad Esfahbod c77ae408 2018-08-25T22:36:36 Rename hb-*private.hh to hb-*.hh Sorry for the noise, downstream custom builders. Please adjust.
Behdad Esfahbod 3506672c 2018-08-06T06:17:48 Port _nil objects to Null() machinery Finally, unified!
Ebrahim Byagowi 24b8b9b2 2018-04-23T19:03:57 Resolve clang's used-but-marked-unused warnings
Behdad Esfahbod dbdbfe3d 2017-10-15T12:11:08 Use nullptr instead of NULL
Behdad Esfahbod 53543f8b 2017-01-05T20:12:32 Ship UCDN and use it by default So we are not relying on version of Unicode data in glib... Fixes https://github.com/behdad/harfbuzz/issues/386 Fixes https://github.com/behdad/harfbuzz/issues/388
Behdad Esfahbod b8811429 2015-09-03T15:53:22 Fix Since tags Fixes https://github.com/behdad/harfbuzz/issues/103
Behdad Esfahbod 9ae156b7 2015-07-05T22:43:17 Fix pragma usage https://bugs.freedesktop.org/show_bug.cgi?id=91228 Commit cdcdfe61b97a0a48ccf834b6d924d187da9609be changed two `#pragma message` to `#pragma error` in hb-unicode.cc, however MSVC uses #error, just like the #else branch. `#pragma error` is an unknown pragma so MSVC does not fail the build because of it, which I believe was the intention of that commit. If it's meant to be an #error, then the #ifdef for _MSC_VER can be removed entirely.
Sascha Brawer 01c3a885 2015-06-01T13:22:01 Fix "Since:" tags Based on data from http://upstream-tracker.org/versions/harfbuzz.html Resolves #103
Behdad Esfahbod cdcdfe61 2015-04-08T13:25:04 Err, instead of warn, if mutex / atomic / unicode funcs are missing Hopefully this results in fewer badly built HarfBuzz integrations.
Behdad Esfahbod b91904a4 2015-01-06T15:43:14 [bindings] Replace deprecated allow-none with optional and nullable
Behdad Esfahbod 3f310dc0 2014-07-22T16:26:27 Disallow changing settings on immutable face Ouch!
Behdad Esfahbod 09732cc6 2014-03-19T12:00:17 Remove dead warning
Behdad Esfahbod af1aa362 2014-03-14T15:52:47 If HAVE_ICU_BUILTIN is defined, use hb-icu Unicode callbacks Useful for Android / Chrome / etc when ICU is built in the same library as harfbuzz itself.
Behdad Esfahbod 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.
Behdad Esfahbod 288f2899 2013-09-06T15:40:22 [docs/introspection] More annotations
Behdad Esfahbod d9afa111 2013-05-28T15:27:40 Build hb-icu into libharfbuzz-icu.so
Behdad Esfahbod 3f33f0d1 2012-10-02T16:03:18 Import UCDN into source tree https://github.com/grigorig/ucdn
Behdad Esfahbod d5045a5f 2012-08-11T21:26:25 [ICU] Use new normalizer2 compose/decompose API It's considerably faster than the fallback implementation we had previously!
Behdad Esfahbod 56c9e7c0 2012-08-09T21:12:30 Fill out combining class resetting for fallback shaping Thai/Lao/Tibetan
Behdad Esfahbod 21756934 2012-08-08T01:20:45 [OT] Implement fallback positioning Implemented for Arabic, Hebrew, and generic marks. Activated if no GPOS table present.
Behdad Esfahbod 6adf417b 2012-08-01T18:07:42 Use a lookup table for modified_combining_class
Behdad Esfahbod 208f70f0 2012-08-01T17:13:10 Inline Unicode callbacks internally
Behdad Esfahbod 7470315a 2012-08-01T17:01:59 Move unicode accessors around
Behdad Esfahbod 21fdcee0 2012-08-01T16:23:44 Add hb_unicode_combining_class_t
Behdad Esfahbod 378d279b 2012-07-31T21:36:16 Implement Unicode compatibility decompositions Based on patch from Philip Withnall. https://bugs.freedesktop.org/show_bug.cgi?id=41095
Behdad Esfahbod 7afb1440 2012-07-30T13:54:46 [Indic] Recategorize Telugu length marks Fixes 8 more Telugu tests. Failures at 15 (0.00154548%).
Behdad Esfahbod 42848453 2012-07-23T13:52:07 [Thai] Reorder U+0E3A THAI VOWEL SIGN PHINTHU Uniscribe reorders U+0E3A to be after U+0E38 and U+0E39. We do that by modifying the ccc for U+0E3A. Fixes the two remaining Thai failures (see previous commit).
Behdad Esfahbod 4c450c70 2012-07-20T18:13:04 [Indic] Recompose Bengali Ya,Nukta This is a bunch of hacks for now. Improves Bengali a bit.
Behdad Esfahbod 2e193b24 2012-07-20T14:02:35 [Indic] Don't split U+0AC9 Althought IndicMatraCategory.txt classifies it as Top_And_Right matra, it does not have Unicode decomposition, and Uniscribe does not do anything special about it either. Gujarati failures down from 0.672% to 0.0130966%.
Behdad Esfahbod 8c973ebf 2012-07-19T13:25:08 [Indic] Implement per-script matra positioning Following what the spec says. Brings down Telugu failures from 40% to 3.75%, and Kannada failures from 44% to 10%. Does NOT affect other scripts' test results.
Behdad Esfahbod b01d9b3d 2012-07-19T11:25:49 [Indic] Disallow decomposition of a couple characters This is a hack for now. Will be fixed when we do complex-shaper-driven normalization properly. The results with or without decomposition are the same, but Uniscribe does not normalize, so this matches better.
Behdad Esfahbod 91cade75 2012-07-18T16:50:41 [Indic/Unicode] Decompose Sinhala split matras the way Uniscribe likes Makes no visual difference. Fixes most of the failures. Down from 15% to 1.3%!
Behdad Esfahbod d487fff2 2012-07-16T13:25:17 Split matras without a Unicode decomposition This is a hack for now, to get us going with Khmer. This will be refactored properly later to move the complex logic into complex shapers.
Behdad Esfahbod 0594a244 2012-06-05T20:35:40 Cleanup TRUE/FALSE vs true/false
Behdad Esfahbod be4560a3 2012-06-05T18:14:03 Undo default unicode-funcs to avoid static initializer again
Behdad Esfahbod f06ab8a4 2012-06-05T12:31:51 Better hide nil objects and make them const
Behdad Esfahbod bb09f0ec 2012-04-24T16:02:12 Minor
Behdad Esfahbod 2db2a566 2012-04-05T16:40:37 Move code around
Behdad Esfahbod 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.
Behdad Esfahbod c605bbbb 2011-08-04T20:00:53 Remove C++ guards from source files Where causing issues for people with MSVC.
Behdad Esfahbod ffd4a436 2011-07-20T22:30:29 Add tests for compose()/decompose() Adjust glib fallback implementation. The tests are not hooked up for ICU yet.
Behdad Esfahbod 22fdc667 2011-07-20T21:51:37 [glib] Add compose() and decompose() implementations with fallback
Behdad Esfahbod c4641723 2011-07-07T23:47:19 [API] Add compose() and decompose() unicode funcs, rename other ones Add compose() and decompose() unicode funcs. These implement pair-wise canonical composition/decomposition. The glib/icu implementations are lacking for now. We are adding API for this to glib, but I cannot find any useful API in ICU. May end of implementing these in-house. Changed all unicode_funcs callback names to remove the "_get" part. Eg, hb_unicode_get_script_func_t is now hb_unicode_script_func_t, and hb_unicode_get_script() is hb_unicode_script() now.
Behdad Esfahbod 891c4755 2011-07-07T23:19:27 Humm, undo some shuffling In preparation for adding more advanced unicode funcs.
Behdad Esfahbod 4b6317c4 2011-07-07T23:14:42 More code shuffling
Behdad Esfahbod 80a6833b 2011-05-11T18:14:44 [API] Add hb_*_get_empty() for all objects
Behdad Esfahbod 7aa12ebd 2011-05-11T11:55:11 [unicode] Simplify method setting
Behdad Esfahbod 56eb5ad6 2011-05-04T19:27:37 Move code around Mutex (and Windows.h by extension) are fairly isolated now.
Behdad Esfahbod c784c67a 2011-05-02T15:59:57 [unicode] Make _get_parent() return _nil object instead of NULL
Behdad Esfahbod 5fa849b7 2011-04-27T21:46:01 [API] Add _set/get_user_data() for all objects
Behdad Esfahbod 47e71d96 2011-04-27T16:38:03 [object] Remove unnecessary use of macros
Behdad Esfahbod d4bee9f8 2011-04-27T09:24:37 [API] Add hb_unicode_funcs_get_default()
Behdad Esfahbod 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.
Behdad Esfahbod 2409d5f8 2011-04-21T17:14:28 Update Copyright headers
Behdad Esfahbod c57d454a 2011-04-20T18:50:27 Rename all private sources and headers to C++ files So we can liberally use the simple features of C++ that parts of the codebase is already using.
Behdad Esfahbod 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!
Behdad Esfahbod fb194b87 2011-04-20T02:00:47 unicode: Cleanup implementation