Behdad Esfahbod
f6b668edf5
Refactor font loading
2013-08-13 12:23:02 -04:00
Behdad Esfahbod
033dfcdf26
Make closure_glyphs() inplace
2013-08-13 11:40:50 -04:00
Behdad Esfahbod
aeacc15839
If recursed lookups may have non-1to1 lookups go into chaos mode
...
We don't know what may happen, so don't narrow down glyphset
based on fixed-position assumptions.
This corrects flaw introduced in previous commit. All good now.
2013-08-12 20:24:33 -04:00
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