1100 Commits

Author SHA1 Message Date
Behdad Esfahbod
849d25c95d Improve subsetting of Context formats
When recursing for closure, just pass down glyphs that could have
actually matched the rule.

This can result in wrong results if the recursed lookup is NOT
one-to-one.  Fix coming.

In the mean time, test with NotoSansDevanagari-Bold.ttf and
chars uni91f,uni94d,uni930 to see the difference.
2013-08-12 19:25:44 -04:00
Behdad Esfahbod
6c11b894f3 Minor 2013-08-12 15:41:30 -04:00
Behdad Esfahbod
93e2636887 Minor 2013-08-09 14:22:48 -04:00
Behdad Esfahbod
2ac36300d0 Minor 2013-08-08 23:49:00 -04:00
Behdad Esfahbod
1d4fa13b4b When closing over GSUB narrow down the set for current glyph
This allows partial closing of recursed lookups.

Test with updated Win8 calibrili and glyphs for text "dan".
2013-08-08 23:16:19 -04:00
Behdad Esfahbod
1437426d69 When subsetting GSUB drop rules generating glyphs we don't want
Right now this is unused since we always fully close over any
lookup.  But as we want to move to selectively NOT close parts
of lookups, this will be needed.
2013-08-08 22:26:49 -04:00
Behdad Esfahbod
f549784245 Print gids as well as names 2013-08-08 21:57:02 -04:00
Behdad Esfahbod
9ae5d28d46 Support "U+XXXX" format as input 2013-08-08 21:18:17 -04:00
Behdad Esfahbod
a1e0f13fd6 Really fix ClassDef routines around class==0 this time 2013-08-08 21:12:45 -04:00
Behdad Esfahbod
e10803eca2 Fix [Chain]Context Format2 handling
Test with NotoSansDevanagari-Bold, glyphset "uni093F" as well as
"uni093F uni0925".
2013-08-08 21:09:27 -04:00
Behdad Esfahbod
dd6fc84f35 Never reuse class=0 in ClassDef
That means "not found".
2013-08-06 11:16:41 -04:00
Behdad Esfahbod
0befd6ba0b Handle class=0 glyphs in a ClassDef correctly
As reported by cibu.  Fixed in HarfBuzz also.
2013-08-05 22:47:14 -04:00
Behdad Esfahbod
f36b5a9dd6 Add more Arabic features 2013-08-04 16:54:46 -04:00
Behdad Esfahbod
756af49e6e Minor 2013-08-01 12:05:26 -04:00
Behdad Esfahbod
98259f2668 More shuffling 2013-07-31 20:16:24 -04:00
Behdad Esfahbod
618c086e19 Minor 2013-07-31 20:11:17 -04:00
Behdad Esfahbod
2fb90e266d More shuffle around 2013-07-31 20:04:08 -04:00
Behdad Esfahbod
e7f5a8900f Minor 2013-07-31 19:58:59 -04:00
Behdad Esfahbod
c4eb3db746 Only include cmap entries for requested unicodes/glyphs
And not the closed ones.
2013-07-31 19:56:19 -04:00
Behdad Esfahbod
a6dbb7ae2a More refactoring 2013-07-31 19:53:57 -04:00
Behdad Esfahbod
8c8ff45c72 More shuffling 2013-07-31 19:48:17 -04:00
Behdad Esfahbod
6df089a500 Move code around 2013-07-31 19:27:14 -04:00
Behdad Esfahbod
cb1cb5d73f minor 2013-07-31 18:29:43 -04:00
Behdad Esfahbod
97e17b8c98 Wire up options to commandline 2013-07-31 16:28:02 -04:00
Behdad Esfahbod
063a2dbf33 More shuffling around 2013-07-31 15:22:02 -04:00
Behdad Esfahbod
df3d757e87 More refactoring 2013-07-31 15:03:43 -04:00
Behdad Esfahbod
88264a665c More refactoring 2013-07-31 14:45:13 -04:00
Behdad Esfahbod
254442ba19 More 2013-07-31 14:20:13 -04:00
Behdad Esfahbod
3d513b7ada Start adding Subsetter object 2013-07-31 14:11:40 -04:00
Behdad Esfahbod
327dcc3db9 Minor rename 2013-07-31 13:50:51 -04:00
Behdad Esfahbod
2d9a09679b Minor 2013-07-31 13:33:31 -04:00
Behdad Esfahbod
75e7ecfda9 Minor 2013-07-29 12:05:15 -04:00
Behdad Esfahbod
e86b798684 Load glyph names if we need them for looking up requested glyphs 2013-07-25 18:34:22 -04:00
Behdad Esfahbod
3684f4b13e Avoid loading glyph names if we'll be dropping them 2013-07-24 19:36:39 -04:00
Behdad Esfahbod
b3ee60c0b3 Minor 2013-07-24 19:22:59 -04:00
Behdad Esfahbod
d83bb6cabe Minor 2013-07-24 19:20:04 -04:00
Behdad Esfahbod
afae8326d6 Protect against out-of-range lookup indices
Need to do the same for feature_indices and other things too...
2013-07-24 18:57:06 -04:00
Behdad Esfahbod
d4e33a7d83 Drop unknown kern subtables 2013-07-24 18:51:05 -04:00
Behdad Esfahbod
8c4f7cc759 Minor 2013-07-24 17:58:29 -04:00
Behdad Esfahbod
0fb6988b2b Minor 2013-07-24 17:25:35 -04:00
Behdad Esfahbod
6ec8854ee3 Implement Glyph.dropInstructionsFast()
Now we can do everything without loading the glyphs.
2013-07-24 16:53:17 -04:00
Behdad Esfahbod
8e11c6d7ab Don't recalculate font-wide bounding box
Doing some requires loading all glyphs...
2013-07-24 16:53:17 -04:00
Behdad Esfahbod
4cf7a80fa1 Implement Glyph.getComponentsFast() that works without loading glyph
We still end up loading glyphs if pruning hinting.  And even if
we don't do that, rebuilding the maxp table loads all glyphs.
Working on those.
2013-07-24 16:08:35 -04:00
Behdad Esfahbod
c0d59590de Never touch DefaultTable 2013-07-24 14:46:15 -04:00
Behdad Esfahbod
fa3bc5e4a2 Support PyPy
Doesn't run though.
2013-07-24 14:37:58 -04:00
Behdad Esfahbod
af2117f941 Fix Ligature subsetting 2013-07-24 13:43:44 -04:00
Behdad Esfahbod
8c486d85ce Minor 2013-07-24 13:34:47 -04:00
Behdad Esfahbod
de71dca0e8 Prune tables before glyph closure 2013-07-24 12:40:54 -04:00
Behdad Esfahbod
e3f20735ff Minor 2013-07-24 11:26:43 -04:00
Behdad Esfahbod
44fc6f6c8e Minor 2013-07-24 11:24:58 -04:00