|
8659c636
|
2013-04-19T14:33:17
|
|
Hand-code bsearch in the hot inner loop.
Saves another 3 / 4 percent with Amiri.
|
|
9c5a9ee9
|
2013-03-09T01:55:04
|
|
[OTLayout] Rename process() to dispatch()
|
|
05d5d3cd
|
2013-02-25T23:57:51
|
|
Fix "comparison between signed and unsigned" warnings
Patch from Jonathan Kew.
|
|
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.
|
|
27589620
|
2013-02-15T11:47:09
|
|
[OTLayout] Remove unused code
|
|
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"
|
|
e77b4425
|
2012-12-17T18:42:59
|
|
[OTLayout] Fix tracing
|
|
9b54562d
|
2012-12-17T13:55:36
|
|
[OTLayout] Towards correct FeatureParams handling
|
|
bd61bc13
|
2012-12-11T16:00:43
|
|
[OTLayout] Add UINT24 type
|
|
0beb66e3
|
2012-12-05T18:46:04
|
|
Fix warnings
|
|
2c53bd3c
|
2012-11-23T17:29:05
|
|
[OTLayout] Start porting sanitize() to process()
|
|
be218c68
|
2012-11-23T15:32:14
|
|
Pass this object to trace macros
|
|
902cc8ac
|
2012-11-23T15:06:59
|
|
[OTLayout] Start unbreaking tracing
|
|
dabe698f
|
2012-11-23T14:21:35
|
|
Minor
|
|
81822528
|
2012-11-23T13:27:16
|
|
Minor
|
|
7d52e660
|
2012-11-16T18:49:54
|
|
Whitespace
|
|
fd0de881
|
2012-11-15T10:47:14
|
|
Avoid C++ undefined behavior
https://bugzilla.mozilla.org/show_bug.cgi?id=810823
|
|
811eefe2
|
2012-09-10T09:56:27
|
|
Return NULL, not false
Oh well...
|
|
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... ⻯
|
|
715e03bc
|
2012-09-04T20:10:17
|
|
Minor
|
|
a930c68e
|
2012-09-04T18:17:57
|
|
[OT] More serialize. Implements all basic GSUB subtables
|
|
1f07e338
|
2012-09-03T23:28:34
|
|
[OT] Implement serialize() for MultiSubst
|
|
4912030d
|
2012-09-03T20:58:03
|
|
Minor
|
|
4b312fb2
|
2012-09-01T21:56:06
|
|
[OT] Remove serialize alignment
Will reintroduce in a different way when we actually need it.
|
|
c61be03d
|
2012-09-01T21:43:38
|
|
[OT] A bit more serialize
|
|
abcc5ac1
|
2012-09-01T21:30:17
|
|
[OT] Improve serialize syntax
For some definition of improvement...
|
|
bc5be240
|
2012-09-01T20:48:22
|
|
[OT] Restart work on serialize()
|
|
9f2348de
|
2012-08-29T21:08:59
|
|
[OT] Add serialize() for Coverage
|
|
e901b954
|
2012-08-29T20:26:08
|
|
[OT] Start adding serialize() API
|
|
7c8e844d
|
2012-08-28T17:57:49
|
|
Use namespace for OpenType tables
Avoids USHORT, SHORT, ULONG, LONG clashes with Windows API.
|
|
70416de2
|
2012-06-09T00:56:41
|
|
Minor
|
|
99159e52
|
2012-06-09T00:50:40
|
|
Use linear search for small counts
I see about 8% speedup with long strings with DejaVu Sans.
|
|
0bb0f5d4
|
2012-06-07T17:42:48
|
|
Add note re _NullPool
|
|
a00a63b5
|
2012-06-06T03:07:01
|
|
Add macros to check that types are POD
|
|
cf26e88a
|
2012-05-11T03:16:57
|
|
Finish off debug output beautification
|
|
0ab8c862
|
2012-05-11T01:25:34
|
|
Annotate SANITIZE return values
More to come, for APPLY, CLOSURE, etc.
|
|
1e08830b
|
2012-05-11T00:16:40
|
|
Beautify debug output
|
|
6f455380
|
2012-05-10T23:24:43
|
|
More massaging trace messaging
|
|
20810970
|
2012-05-10T23:06:58
|
|
Better trace message support infrastructure
We have varargs in the trace interface now. To be used soon...
|
|
ae9877de
|
2011-08-17T14:43:45
|
|
Add hhea-table support
|
|
d7bf473e
|
2011-08-05T18:18:21
|
|
Minor
|
|
c605bbbb
|
2011-08-04T20:00:53
|
|
Remove C++ guards from source files
Where causing issues for people with MSVC.
|
|
f60271c0
|
2011-08-02T09:56:30
|
|
Add mingw32 support
With these changes, on Ubuntu I can do:
./configure --host=i586-mingw32msvc && make
|
|
cc06c243
|
2011-07-25T20:25:44
|
|
Streamline debugging infrastructure even more
|
|
43ff203d
|
2011-07-25T17:35:24
|
|
Use variadic macros for debugging
Looks *so* much nicer!
|
|
decd4e3e
|
2011-07-25T16:47:02
|
|
Add sugar syntax for debug messages
Buffer debugging coming soon.
|
|
31f18abe
|
2011-06-15T09:49:58
|
|
Minor compiler warning fixes
|
|
b9452bfc
|
2011-06-14T14:47:07
|
|
Fix compiler warnings with -pedantic
|
|
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.
|
|
4101ca7d
|
2011-05-11T14:30:56
|
|
Plug more leaks
All good now.
|
|
1c9f8717
|
2011-05-06T22:28:26
|
|
[API] Simplify blob API, remove lock
|
|
4911062d
|
2011-05-02T19:36:39
|
|
[API] Rename hb_blob_create_empty() to hb_blob_get_empty()
|
|
080a0eb7
|
2011-04-28T16:01:01
|
|
Add _hb_unsigned_int_mul_overflows
|
|
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.
|
|
2409d5f8
|
2011-04-21T17:14:28
|
|
Update Copyright headers
|
|
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.
|
|
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.
|
|
11e3ec44
|
2010-11-03T15:11:04
|
|
Fix a few more "unreachable code" warnings
|
|
993d1e78
|
2010-10-12T11:17:30
|
|
Fix missing negation in unreachable code!
Mozilla bug #603346
|
|
8f08c327
|
2010-10-08T19:43:48
|
|
Minor cleanup
|
|
7f97d2cd
|
2010-10-01T18:58:50
|
|
Pedantic
|
|
4e573715
|
2010-09-28T16:23:58
|
|
Improve cmp function parameter namings and casts
No semantic change.
|
|
acdba3f9
|
2010-07-23T15:11:18
|
|
Prefer C linkage
|
|
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.
|
|
4f801bd6
|
2010-07-21T16:37:01
|
|
Mozilla bug 580233 - check for zero-length record in hb sanitizer.
Patch / report by Jonathan Kew.
|
|
17e9ff93
|
2010-07-15T11:21:34
|
|
Fix 64bit issues with debug prints
|
|
fd56ae49
|
2010-07-08T00:53:40
|
|
Don't bother sorting, it's a safe font error if the array is not sorted
|
|
cc8a4abe
|
2010-07-08T00:40:04
|
|
Use bsearch where applicable
|
|
0f0cd9d3
|
2010-06-09T06:32:56
|
|
Fix header tags
|
|
280af1bd
|
2010-05-20T18:33:35
|
|
Let hb_face_get_table() return NULL if table not found
|
|
cf5585cf
|
2010-05-19T12:03:35
|
|
Add 'head' table
|
|
e29caf3f
|
2010-05-19T11:47:17
|
|
Add LONGDATETIME
|
|
d7cfb3b2
|
2010-05-13T14:18:49
|
|
s/\<context\>/c/g
|
|
f6796358
|
2010-05-13T13:34:17
|
|
Don't use variable-length-arrays
|
|
75651b20
|
2010-05-10T23:44:51
|
|
Fix warnings
|
|
4c20d8c0
|
2010-05-10T23:27:54
|
|
Sprinkle a few strategic likely()'s
Shrinks the code size by some 2% even.
|
|
f7adc5e9
|
2010-05-10T22:41:50
|
|
Shrink NullPool now that we have accurate size tracking
|
|
b5db4f1e
|
2010-05-10T22:22:22
|
|
Clean up NO_INDEX
|
|
458ecbb6
|
2010-05-10T21:11:35
|
|
Fix tracing order
|
|
48146e56
|
2010-05-10T20:07:56
|
|
Don't fail sanitize on NULL data
|
|
d2c2ca8f
|
2010-05-10T19:58:25
|
|
Fix comment
|
|
b435ab7e
|
2010-05-10T19:51:57
|
|
Fix accessing tables from NULL pointer
|
|
fd671e02
|
2010-05-10T19:02:32
|
|
Remove unused macro
|
|
0eb9fc6e
|
2010-05-10T19:01:17
|
|
Change DEFINE_SIZE_VAR to DEFINE_SIZE_ARRAY
|
|
596e471a
|
2010-05-10T18:47:48
|
|
Cleanup DEFINE_SIZE_VAR2
|
|
33afa4e2
|
2010-05-10T18:35:02
|
|
Minor
|
|
b961518b
|
2010-05-10T18:20:54
|
|
Simplify array access
|
|
54842374
|
2010-05-10T18:13:32
|
|
Fix check_struct to check min_size instead of sizeof
|
|
ed07422c
|
2010-05-10T18:08:46
|
|
Further cleanup of sizeof
|
|
a82ef7a8
|
2010-05-10T17:55:03
|
|
Remove CastP completely
|
|
40cbefe8
|
2010-05-10T17:47:22
|
|
Remove unnecessary casts
|
|
09766b1e
|
2010-05-10T17:36:03
|
|
Make StructAtOffset take a pointer
Is safer.
|
|
bea34c7c
|
2010-05-10T17:28:16
|
|
Further cleanup of DEFINE_SIZE
|
|
0abcc3b4
|
2010-05-10T17:04:20
|
|
Cleanup
|
|
b3651231
|
2010-05-10T16:57:29
|
|
Remove ASSERT_SIZE in favor of the safer DEFINE_SIZE_STATIC
|
|
569da92b
|
2010-05-10T16:38:32
|
|
Cleanup ASSERT_SIZE_VAR
|
|
65f46b00
|
2010-05-06T19:35:19
|
|
Simplify DEFINE_NULL_DATA
Using ::min_size.
|
|
e45d3f86
|
2010-05-06T19:33:31
|
|
Start cleaning up get_size()
So we know when the size is static and when dynamic.
|
|
b1576176
|
2010-05-06T14:48:27
|
|
Remove the last of SANITIZE macros: SANITIZE_SELF
|
|
4f252fed
|
2010-05-06T13:30:23
|
|
Remove SANITIZE macro
|