Behdad Esfahbod
8659c63608
Hand-code bsearch in the hot inner loop.
...
Saves another 3 / 4 percent with Amiri.
2013-04-19 14:36:32 -04:00
Behdad Esfahbod
9c5a9ee967
[OTLayout] Rename process() to dispatch()
2013-03-09 01:55:04 -05:00
Behdad Esfahbod
05d5d3cd63
Fix "comparison between signed and unsigned" warnings
...
Patch from Jonathan Kew.
2013-02-25 23:57:51 -05:00
Behdad Esfahbod
07a52b6211
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.
2013-02-25 19:09:57 -05:00
Behdad Esfahbod
27589620ba
[OTLayout] Remove unused code
2013-02-15 11:47:09 -05:00
Behdad Esfahbod
e95e031b56
[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"
2013-01-08 16:17:06 -06:00
Behdad Esfahbod
e77b442574
[OTLayout] Fix tracing
2012-12-17 18:42:59 -05:00
Behdad Esfahbod
9b54562d63
[OTLayout] Towards correct FeatureParams handling
2012-12-17 13:55:36 -05:00
Behdad Esfahbod
bd61bc13ea
[OTLayout] Add UINT24 type
2012-12-11 16:01:07 -05:00
Behdad Esfahbod
0beb66e3a6
Fix warnings
2012-12-05 19:14:28 -05:00
Behdad Esfahbod
2c53bd3c3e
[OTLayout] Start porting sanitize() to process()
2012-11-23 17:29:05 -05:00
Behdad Esfahbod
be218c688c
Pass this object to trace macros
2012-11-23 15:32:14 -05:00
Behdad Esfahbod
902cc8aca0
[OTLayout] Start unbreaking tracing
2012-11-23 15:23:30 -05:00
Behdad Esfahbod
dabe698fcb
Minor
2012-11-23 14:21:35 -05:00
Behdad Esfahbod
81822528ef
Minor
2012-11-23 13:27:16 -05:00
Behdad Esfahbod
7d52e6601f
Whitespace
2012-11-16 18:49:54 -08:00
Behdad Esfahbod
fd0de881f4
Avoid C++ undefined behavior
...
https://bugzilla.mozilla.org/show_bug.cgi?id=810823
2012-11-15 10:48:50 -08:00
Behdad Esfahbod
811eefe225
Return NULL, not false
...
Oh well...
2012-09-10 09:56:27 -04:00
Behdad Esfahbod
fabd3113a9
[OT] Port Arabic fallback shaping to synthetic GSUB
...
All of init/medi/fina/isol and rlig implemented.
Let there be dragons... ⻯
2012-09-06 00:51:44 -04:00
Behdad Esfahbod
715e03bc21
Minor
2012-09-04 20:10:17 -04:00
Behdad Esfahbod
a930c68e9c
[OT] More serialize. Implements all basic GSUB subtables
2012-09-04 19:16:09 -04:00
Behdad Esfahbod
1f07e3382a
[OT] Implement serialize() for MultiSubst
2012-09-03 23:28:34 -04:00
Behdad Esfahbod
4912030dfb
Minor
2012-09-03 21:00:48 -04:00
Behdad Esfahbod
4b312fb288
[OT] Remove serialize alignment
...
Will reintroduce in a different way when we actually need it.
2012-09-01 21:56:06 -04:00
Behdad Esfahbod
c61be03d6d
[OT] A bit more serialize
2012-09-01 21:49:44 -04:00
Behdad Esfahbod
abcc5ac1fd
[OT] Improve serialize syntax
...
For some definition of improvement...
2012-09-01 21:30:17 -04:00
Behdad Esfahbod
bc5be24014
[OT] Restart work on serialize()
2012-09-01 21:25:20 -04:00
Behdad Esfahbod
9f2348de58
[OT] Add serialize() for Coverage
2012-08-29 21:08:59 -04:00
Behdad Esfahbod
e901b954c6
[OT] Start adding serialize() API
2012-08-29 20:26:08 -04:00
Behdad Esfahbod
7c8e844d92
Use namespace for OpenType tables
...
Avoids USHORT, SHORT, ULONG, LONG clashes with Windows API.
2012-08-28 17:57:49 -04:00
Behdad Esfahbod
70416de298
Minor
2012-06-09 00:56:41 -04:00
Behdad Esfahbod
99159e52a3
Use linear search for small counts
...
I see about 8% speedup with long strings with DejaVu Sans.
2012-06-09 00:50:40 -04:00
Behdad Esfahbod
0bb0f5d419
Add note re _NullPool
2012-06-07 17:42:48 -04:00
Behdad Esfahbod
a00a63b5ef
Add macros to check that types are POD
2012-06-06 03:07:01 -04:00
Behdad Esfahbod
cf26e88a5a
Finish off debug output beautification
2012-05-11 03:16:57 +02:00
Behdad Esfahbod
0ab8c86217
Annotate SANITIZE return values
...
More to come, for APPLY, CLOSURE, etc.
2012-05-11 02:11:52 +02:00
Behdad Esfahbod
1e08830b4f
Beautify debug output
2012-05-11 00:43:57 +02:00
Behdad Esfahbod
6f45538017
More massaging trace messaging
2012-05-10 23:24:43 +02:00
Behdad Esfahbod
208109703c
Better trace message support infrastructure
...
We have varargs in the trace interface now. To be used soon...
2012-05-10 23:06:58 +02:00
Behdad Esfahbod
ae9877dea6
Add hhea-table support
2011-08-17 15:00:10 +02:00
Behdad Esfahbod
d7bf473ef2
Minor
2011-08-05 19:59:02 -04:00
Behdad Esfahbod
c605bbbb6d
Remove C++ guards from source files
...
Where causing issues for people with MSVC.
2011-08-04 20:00:53 -04:00
Behdad Esfahbod
f60271c0c2
Add mingw32 support
...
With these changes, on Ubuntu I can do:
./configure --host=i586-mingw32msvc && make
2011-08-02 10:00:55 -04:00
Behdad Esfahbod
cc06c243d8
Streamline debugging infrastructure even more
2011-07-25 20:34:17 -04:00
Behdad Esfahbod
43ff203d8e
Use variadic macros for debugging
...
Looks *so* much nicer!
2011-07-25 17:35:24 -04:00
Behdad Esfahbod
decd4e3e16
Add sugar syntax for debug messages
...
Buffer debugging coming soon.
2011-07-25 16:47:02 -04:00
Behdad Esfahbod
31f18abecb
Minor compiler warning fixes
2011-06-15 09:49:58 -04:00
Behdad Esfahbod
b9452bfc16
Fix compiler warnings with -pedantic
2011-06-14 14:47:07 -04:00
Behdad Esfahbod
4f28fbdd80
Fix TTC header handling
...
Also change the Version type to avoid similar bugs in the future.
Reported by Grigori Goronzy.
2011-05-31 12:33:11 -04:00
Behdad Esfahbod
4101ca7dbb
Plug more leaks
...
All good now.
2011-05-11 14:30:56 -04:00