Behdad Esfahbod
ade1972557
Remove CFF Index.count member
...
Clean up. len(index) should be used instead.
2014-06-16 15:35:15 -04:00
Behdad Esfahbod
149a6700a1
[subset] Minor
2014-06-16 15:33:53 -04:00
Behdad Esfahbod
f1d5c85c3f
Ignore "reserved" post table format 2.0 indices
...
Fixes https://github.com/behdad/fonttools/issues/124
2014-06-13 13:18:22 -04:00
Behdad Esfahbod
3c89b298c3
Disallow empty glyph name decoded from post table
...
But preserve it...
For example, with this font:
https://code.google.com/p/googlefontdirectory/source/browse/ofl/phetsarath/Phetsarath-Regular.ttf
we now get:
...
<GlyphID id="136" name="uni0EDD.am"/>
<GlyphID id="137" name="uni0EB3.right"/>
<GlyphID id="138" name="glyph00138"/>
<GlyphID id="139" name="glyph00139"/>
<GlyphID id="140" name="glyph00140"/>
...
<GlyphID id="161" name="glyph00161"/>
</GlyphOrder>
...
<post>
<formatType value="2.0"/>
<italicAngle value="0.0"/>
<underlinePosition value="-217"/>
<underlineThickness value="150"/>
<isFixedPitch value="0"/>
<minMemType42 value="0"/>
<maxMemType42 value="0"/>
<minMemType1 value="0"/>
<maxMemType1 value="0"/>
<psNames>
<!-- This file uses unique glyph names based on the information
found in the 'post' table. Since these names might not be unique,
we have to invent artificial names in case of clashes. In order to
be able to retain the original information, we need a name to
ps name mapping for those cases where they differ. That's what
you see below.
-->
<psName name="glyph00107" psName=""/>
<psName name="glyph00138" psName=""/>
<psName name="glyph00139" psName=""/>
...
<psName name="glyph00161" psName=""/>
</psNames>
Part of https://github.com/behdad/fonttools/issues/124
2014-06-13 13:10:16 -04:00
Behdad Esfahbod
4d6be6b7d2
Don't use has_key in post table; that's gone in python3
...
Raised here: https://github.com/behdad/fonttools/issues/124
2014-06-13 12:47:58 -04:00
Behdad Esfahbod
b7367012e4
Add __contains__ to cffLib
2014-06-13 12:47:55 -04:00
Behdad Esfahbod
69ef79b5da
Err if post table format 2 indices get to the reserved range
2014-06-13 12:47:50 -04:00
Behdad Esfahbod
5a721d07c0
git-ignore *.pyc
2014-06-06 11:45:44 -04:00
Behdad Esfahbod
cf2f85e4e2
[subset] Add TODO
2014-06-05 20:39:38 -04:00
Behdad Esfahbod
d15afe9231
[subset] Fix pruning of empty rulesets in (Chain)ContextFormat1
...
Similar to 98b60757ab9bb0aaa3c1f136e5a837a1b73d22ed and the
recent commits for Format2.
2014-06-05 20:19:38 -04:00
Behdad Esfahbod
a7cd151e14
[subset] Actually prune empty subrulesets in (Chain)ContextFormat2
2014-06-05 18:28:21 -04:00
Behdad Esfahbod
26cb08062d
[subset] More fixing of (Chain)ContextFormat2
...
This is follow up to 98b60757ab9bb0aaa3c1f136e5a837a1b73d22ed
Looks like this lookup type is a curse to stay with us. Sigh...
2014-06-05 18:24:53 -04:00
Behdad Esfahbod
d65b587708
Minor
2014-06-05 17:58:15 -04:00
Behdad Esfahbod
ced737e249
Allow ligatures with one component only
2014-06-05 17:03:31 -04:00
Behdad Esfahbod
a47d226662
Apply fixes from 'hhea' to 'vhea'
...
Maybe they should be merged...
2014-06-02 18:31:52 -04:00
Behdad Esfahbod
9f23ee4cc8
Change cmap-based duplicate-name resolution from n^2 to linear time
...
Similar to 85be2e0a9773acec3c6d14c345b1fd94ab3aa5c3, though much
harder to hit.
2014-06-02 18:09:47 -04:00
Behdad Esfahbod
4ff0d4b192
Fix post table glyph name dedup logic for edge case
...
This is a followup fix to 85be2e0a9773acec3c6d14c345b1fd94ab3aa5c3
Before this change, if some glyph names had a "#-number" suffix in
the post table, we could generate duplicate glyph names. Fix that,
even though "#" is NOT a valid character in PS glyph names.
2014-06-02 18:03:35 -04:00
Behdad Esfahbod
62dd7b2a0e
Refactor getSearchRange()
2014-05-27 16:01:47 -04:00
Behdad Esfahbod
9fed95216a
Fix rangeShift calculations for count=0 in sfnt, cmap, and kern
2014-05-27 15:54:04 -04:00
Behdad Esfahbod
ec5f5150e2
Simplify cmap subtable format 4 idDelta code
2014-05-21 19:14:22 -04:00
Behdad Esfahbod
e7fb216ad8
Fix cmap subtable format 4 compiling
...
Was failing all these years, if a idDelta value happened to be
exactly -0x8000...
Test case: roundtripping MTLmr3m.ttf.
2014-05-21 19:14:03 -04:00
Behdad Esfahbod
4c777d3465
Typo
2014-05-21 17:57:14 -04:00
Behdad Esfahbod
3012076942
Minor
2014-05-19 12:43:37 -06:00
Behdad Esfahbod
ebde5454e5
Merge pull request #103 from olivierberten/post4
...
'post' format 4.0 support
2014-05-15 15:36:03 -06:00
Behdad Esfahbod
487b15fd94
Add a few __delitem__ implementations
2014-05-14 13:51:10 -06:00
Behdad Esfahbod
37b7bad5b1
Micro-optimize hmtx/vmtx loading
2014-05-14 00:30:02 -04:00
Behdad Esfahbod
d56eebfa96
Use .extend() syntax instead of += for sets
2014-05-14 00:22:14 -04:00
Behdad Esfahbod
470d610eb2
Further micro-optimize cmap subtable format 4 loading
2014-05-14 00:12:03 -04:00
Behdad Esfahbod
2db5eca0df
Micro-optimize cmap subtable format 4 loading
2014-05-14 00:08:15 -04:00
Behdad Esfahbod
0d182bfb80
Speed up cmap format 4 loading
...
From quadratic to linear. Sigh.
2014-05-14 00:00:47 -04:00
Behdad Esfahbod
3e19354bf5
[subset] Unbreak after e898881ed12d7ce96948f2905d725847c76bc9e8
2014-05-13 21:08:51 -04:00
Behdad Esfahbod
11631b4917
[subset] Fix PairPos subsetting
...
Ouch!
Fixes https://github.com/behdad/fonttools/pull/118
2014-05-13 14:31:42 -04:00
Behdad Esfahbod
e898881ed1
[subset] Implement format14 variation selectors
2014-05-09 17:48:02 -04:00
Behdad Esfahbod
da223b8fa8
Minor optimization
2014-05-09 17:05:32 -04:00
Behdad Esfahbod
f09164a0de
[subset] Don't recalculate "modified" timestamp
...
To recalculate (which was the default before), use --recalc-timestamp
Fixes https://github.com/behdad/fonttools/issues/115
2014-05-01 15:16:14 -07:00
Behdad Esfahbod
497863a190
Allow disabling 'head' table modified-timestamp recalculation
...
Part of:
https://github.com/behdad/fonttools/issues/115
https://github.com/behdad/fonttools/issues/46
2014-05-01 15:13:22 -07:00
Behdad Esfahbod
14f13a993e
[merge] Remove Python 2.7 dict comprehension syntax
...
Hopefully 2.6-happy again.
2014-04-02 18:54:53 -07:00
Behdad Esfahbod
8fec68796d
[merge] Map duplicate glyphs using synthesized GSUB 'locl' tables
2014-03-28 17:41:01 -07:00
Behdad Esfahbod
d0903e3bb3
.
2014-03-28 16:39:49 -07:00
Behdad Esfahbod
2772d8496e
[merge] Minor
2014-03-28 15:37:18 -07:00
Behdad Esfahbod
4bb028e44f
Fix identifierToTag for Python 3
2014-03-28 15:18:14 -07:00
Behdad Esfahbod
59a2c05137
[merge] Minor
2014-03-28 15:13:10 -07:00
Behdad Esfahbod
0884507c0e
[merge] Minor
2014-03-28 15:02:40 -07:00
Behdad Esfahbod
201a681821
[merge] Minor
2014-03-28 14:58:12 -07:00
Behdad Esfahbod
0e235becc5
[merge] Comment
2014-03-28 14:56:27 -07:00
Behdad Esfahbod
7765421ab7
[merge] Allow merging OS/2 tables of different versions
2014-03-28 14:48:09 -07:00
Behdad Esfahbod
82c54638e3
[merge] Install merged dict on object
2014-03-28 14:41:53 -07:00
Behdad Esfahbod
0d5fcf498c
[merge] Rename
2014-03-28 14:39:31 -07:00
Behdad Esfahbod
50d6c7298a
Minor
2014-03-28 14:32:24 -07:00
Behdad Esfahbod
5a5d0affff
[merge] Support missing GSUB/GPOS/etc
...
This is a hack for now. Will clean up in upcoming commits.
2014-03-28 14:11:38 -07:00