src/hb-open-type-private.hh


Log

Author Commit Date CI Message
Behdad Esfahbod 8659c636 2013-04-19T14:33:17 Hand-code bsearch in the hot inner loop. Saves another 3 / 4 percent with Amiri.
Behdad Esfahbod 9c5a9ee9 2013-03-09T01:55:04 [OTLayout] Rename process() to dispatch()
Behdad Esfahbod 05d5d3cd 2013-02-25T23:57:51 Fix "comparison between signed and unsigned" warnings Patch from Jonathan Kew.
Behdad Esfahbod 07a52b62 2013-02-25T19:09:57 Give up sanitizing after 100 edit requests Such fonts are *definitely* really broken. Give up. Limits time spent in sanitize for extremely / deliberately broken fonts. For example, two fonts with these md5sum / names: 9343f0a1b8c84b8123e7d201cae62ffd.ttf eb8c978547f09d368fc204194fb34688.ttf were spending over a second in sanitize! Not anymore.
Behdad Esfahbod 27589620 2013-02-15T11:47:09 [OTLayout] Remove unused code
Behdad Esfahbod e95e031b 2013-01-08T16:15:46 [GPOS] If an Anchor offset is NULL, return false If in a MarkPos table, a base has no anchor for a particular mark class, return NULL such that the subsequent subtables get a chance at it. Test case: hb-shape ./EBGaramond12-Regular.otf ἂ --features="ss20","smcp"
Behdad Esfahbod e77b4425 2012-12-17T18:42:59 [OTLayout] Fix tracing
Behdad Esfahbod 9b54562d 2012-12-17T13:55:36 [OTLayout] Towards correct FeatureParams handling
Behdad Esfahbod bd61bc13 2012-12-11T16:00:43 [OTLayout] Add UINT24 type
Behdad Esfahbod 0beb66e3 2012-12-05T18:46:04 Fix warnings
Behdad Esfahbod 2c53bd3c 2012-11-23T17:29:05 [OTLayout] Start porting sanitize() to process()
Behdad Esfahbod be218c68 2012-11-23T15:32:14 Pass this object to trace macros
Behdad Esfahbod 902cc8ac 2012-11-23T15:06:59 [OTLayout] Start unbreaking tracing
Behdad Esfahbod dabe698f 2012-11-23T14:21:35 Minor
Behdad Esfahbod 81822528 2012-11-23T13:27:16 Minor
Behdad Esfahbod 7d52e660 2012-11-16T18:49:54 Whitespace
Behdad Esfahbod fd0de881 2012-11-15T10:47:14 Avoid C++ undefined behavior https://bugzilla.mozilla.org/show_bug.cgi?id=810823
Behdad Esfahbod 811eefe2 2012-09-10T09:56:27 Return NULL, not false Oh well...
Behdad Esfahbod fabd3113 2012-09-05T22:19:28 [OT] Port Arabic fallback shaping to synthetic GSUB All of init/medi/fina/isol and rlig implemented. Let there be dragons... ⻯
Behdad Esfahbod 715e03bc 2012-09-04T20:10:17 Minor
Behdad Esfahbod a930c68e 2012-09-04T18:17:57 [OT] More serialize. Implements all basic GSUB subtables
Behdad Esfahbod 1f07e338 2012-09-03T23:28:34 [OT] Implement serialize() for MultiSubst
Behdad Esfahbod 4912030d 2012-09-03T20:58:03 Minor
Behdad Esfahbod 4b312fb2 2012-09-01T21:56:06 [OT] Remove serialize alignment Will reintroduce in a different way when we actually need it.
Behdad Esfahbod c61be03d 2012-09-01T21:43:38 [OT] A bit more serialize
Behdad Esfahbod abcc5ac1 2012-09-01T21:30:17 [OT] Improve serialize syntax For some definition of improvement...
Behdad Esfahbod bc5be240 2012-09-01T20:48:22 [OT] Restart work on serialize()
Behdad Esfahbod 9f2348de 2012-08-29T21:08:59 [OT] Add serialize() for Coverage
Behdad Esfahbod e901b954 2012-08-29T20:26:08 [OT] Start adding serialize() API
Behdad Esfahbod 7c8e844d 2012-08-28T17:57:49 Use namespace for OpenType tables Avoids USHORT, SHORT, ULONG, LONG clashes with Windows API.
Behdad Esfahbod 70416de2 2012-06-09T00:56:41 Minor
Behdad Esfahbod 99159e52 2012-06-09T00:50:40 Use linear search for small counts I see about 8% speedup with long strings with DejaVu Sans.
Behdad Esfahbod 0bb0f5d4 2012-06-07T17:42:48 Add note re _NullPool
Behdad Esfahbod a00a63b5 2012-06-06T03:07:01 Add macros to check that types are POD
Behdad Esfahbod cf26e88a 2012-05-11T03:16:57 Finish off debug output beautification
Behdad Esfahbod 0ab8c862 2012-05-11T01:25:34 Annotate SANITIZE return values More to come, for APPLY, CLOSURE, etc.
Behdad Esfahbod 1e08830b 2012-05-11T00:16:40 Beautify debug output
Behdad Esfahbod 6f455380 2012-05-10T23:24:43 More massaging trace messaging
Behdad Esfahbod 20810970 2012-05-10T23:06:58 Better trace message support infrastructure We have varargs in the trace interface now. To be used soon...
Behdad Esfahbod ae9877de 2011-08-17T14:43:45 Add hhea-table support
Behdad Esfahbod d7bf473e 2011-08-05T18:18:21 Minor
Behdad Esfahbod c605bbbb 2011-08-04T20:00:53 Remove C++ guards from source files Where causing issues for people with MSVC.
Behdad Esfahbod f60271c0 2011-08-02T09:56:30 Add mingw32 support With these changes, on Ubuntu I can do: ./configure --host=i586-mingw32msvc && make
Behdad Esfahbod cc06c243 2011-07-25T20:25:44 Streamline debugging infrastructure even more
Behdad Esfahbod 43ff203d 2011-07-25T17:35:24 Use variadic macros for debugging Looks *so* much nicer!
Behdad Esfahbod decd4e3e 2011-07-25T16:47:02 Add sugar syntax for debug messages Buffer debugging coming soon.
Behdad Esfahbod 31f18abe 2011-06-15T09:49:58 Minor compiler warning fixes
Behdad Esfahbod b9452bfc 2011-06-14T14:47:07 Fix compiler warnings with -pedantic
Behdad Esfahbod 4f28fbdd 2011-05-31T12:33:11 Fix TTC header handling Also change the Version type to avoid similar bugs in the future. Reported by Grigori Goronzy.
Behdad Esfahbod 4101ca7d 2011-05-11T14:30:56 Plug more leaks All good now.
Behdad Esfahbod 1c9f8717 2011-05-06T22:28:26 [API] Simplify blob API, remove lock
Behdad Esfahbod 4911062d 2011-05-02T19:36:39 [API] Rename hb_blob_create_empty() to hb_blob_get_empty()
Behdad Esfahbod 080a0eb7 2011-04-28T16:01:01 Add _hb_unsigned_int_mul_overflows
Behdad Esfahbod 153142da 2011-04-27T01:49:03 Replace simple macros with inline functions for better type safety Now that we use C++ for all source code, lets benefit from it! The hb_be_int16/32_get/put/eq() macros grow code size if replaced with inline functions, so leave them as is.
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 9417c1c0 2011-04-20T17:21:23 [API] Make hb_face_reference_table() return empty blob instead of NULL The idea here is that: - Like pretty much all other API in harfbuzz, user does not have to check for NULL. - In any caller code, the case of missing table should be handled exactly the same way that a too-short table is handled. Turning a non-existent talbe into a table of size 0 makes the user code safer.
Behdad Esfahbod 11e3ec44 2010-11-03T15:11:04 Fix a few more "unreachable code" warnings
Behdad Esfahbod 993d1e78 2010-10-12T11:17:30 Fix missing negation in unreachable code! Mozilla bug #603346
Behdad Esfahbod 8f08c327 2010-10-08T19:43:48 Minor cleanup
Behdad Esfahbod 7f97d2cd 2010-10-01T18:58:50 Pedantic
Behdad Esfahbod 4e573715 2010-09-28T16:23:58 Improve cmp function parameter namings and casts No semantic change.
Behdad Esfahbod acdba3f9 2010-07-23T15:11:18 Prefer C linkage
Behdad Esfahbod 81408cd5 2010-07-23T14:46:57 Don't use "operator =" Some compilers don't like operator = defined on members of union members either. Reported by Ginn Chen for Sun Studio compilers.
Behdad Esfahbod 4f801bd6 2010-07-21T16:37:01 Mozilla bug 580233 - check for zero-length record in hb sanitizer. Patch / report by Jonathan Kew.
Behdad Esfahbod 17e9ff93 2010-07-15T11:21:34 Fix 64bit issues with debug prints
Behdad Esfahbod fd56ae49 2010-07-08T00:53:40 Don't bother sorting, it's a safe font error if the array is not sorted
Behdad Esfahbod cc8a4abe 2010-07-08T00:40:04 Use bsearch where applicable
Behdad Esfahbod 0f0cd9d3 2010-06-09T06:32:56 Fix header tags
Behdad Esfahbod 280af1bd 2010-05-20T18:33:35 Let hb_face_get_table() return NULL if table not found
Behdad Esfahbod cf5585cf 2010-05-19T12:03:35 Add 'head' table
Behdad Esfahbod e29caf3f 2010-05-19T11:47:17 Add LONGDATETIME
Behdad Esfahbod d7cfb3b2 2010-05-13T14:18:49 s/\<context\>/c/g
Behdad Esfahbod f6796358 2010-05-13T13:34:17 Don't use variable-length-arrays
Behdad Esfahbod 75651b20 2010-05-10T23:44:51 Fix warnings
Behdad Esfahbod 4c20d8c0 2010-05-10T23:27:54 Sprinkle a few strategic likely()'s Shrinks the code size by some 2% even.
Behdad Esfahbod f7adc5e9 2010-05-10T22:41:50 Shrink NullPool now that we have accurate size tracking
Behdad Esfahbod b5db4f1e 2010-05-10T22:22:22 Clean up NO_INDEX
Behdad Esfahbod 458ecbb6 2010-05-10T21:11:35 Fix tracing order
Behdad Esfahbod 48146e56 2010-05-10T20:07:56 Don't fail sanitize on NULL data
Behdad Esfahbod d2c2ca8f 2010-05-10T19:58:25 Fix comment
Behdad Esfahbod b435ab7e 2010-05-10T19:51:57 Fix accessing tables from NULL pointer
Behdad Esfahbod fd671e02 2010-05-10T19:02:32 Remove unused macro
Behdad Esfahbod 0eb9fc6e 2010-05-10T19:01:17 Change DEFINE_SIZE_VAR to DEFINE_SIZE_ARRAY
Behdad Esfahbod 596e471a 2010-05-10T18:47:48 Cleanup DEFINE_SIZE_VAR2
Behdad Esfahbod 33afa4e2 2010-05-10T18:35:02 Minor
Behdad Esfahbod b961518b 2010-05-10T18:20:54 Simplify array access
Behdad Esfahbod 54842374 2010-05-10T18:13:32 Fix check_struct to check min_size instead of sizeof
Behdad Esfahbod ed07422c 2010-05-10T18:08:46 Further cleanup of sizeof
Behdad Esfahbod a82ef7a8 2010-05-10T17:55:03 Remove CastP completely
Behdad Esfahbod 40cbefe8 2010-05-10T17:47:22 Remove unnecessary casts
Behdad Esfahbod 09766b1e 2010-05-10T17:36:03 Make StructAtOffset take a pointer Is safer.
Behdad Esfahbod bea34c7c 2010-05-10T17:28:16 Further cleanup of DEFINE_SIZE
Behdad Esfahbod 0abcc3b4 2010-05-10T17:04:20 Cleanup
Behdad Esfahbod b3651231 2010-05-10T16:57:29 Remove ASSERT_SIZE in favor of the safer DEFINE_SIZE_STATIC
Behdad Esfahbod 569da92b 2010-05-10T16:38:32 Cleanup ASSERT_SIZE_VAR
Behdad Esfahbod 65f46b00 2010-05-06T19:35:19 Simplify DEFINE_NULL_DATA Using ::min_size.
Behdad Esfahbod e45d3f86 2010-05-06T19:33:31 Start cleaning up get_size() So we know when the size is static and when dynamic.
Behdad Esfahbod b1576176 2010-05-06T14:48:27 Remove the last of SANITIZE macros: SANITIZE_SELF
Behdad Esfahbod 4f252fed 2010-05-06T13:30:23 Remove SANITIZE macro