874 Commits

Author SHA1 Message Date
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
Behdad Esfahbod
d0a31f5a43 Make tag parameter to table constructor optional
If not provided, extract from class name.
2014-03-28 14:04:01 -07:00
Behdad Esfahbod
b8039e2653 [merge] Rename 2014-03-28 13:54:37 -07:00
Behdad Esfahbod
477dad1ee8 [merge] Improve assert 2014-03-28 13:52:48 -07:00
Behdad Esfahbod
11580c55bb Minor 2014-03-13 17:34:35 -07:00
Behdad Esfahbod
9f6ccad666 [subset] Correctly handle subsetting non-Unicode cmap subtables 2014-03-12 12:35:35 -07:00
Behdad Esfahbod
a08b1b1d20 [subset] Use NameRecord.isUnicode() 2014-03-12 12:33:40 -07:00
Behdad Esfahbod
77ccf45eb0 Add NameRecord.isUnicode() 2014-03-12 12:32:27 -07:00
Behdad Esfahbod
2007a491e3 [subset] Use CmapSubtable.isUnicode()/isSymbol()
Fixes https://github.com/behdad/fonttools/issues/111
2014-03-12 12:27:11 -07:00
Behdad Esfahbod
f480c7cf21 [merge] Use CmapSubtable.isUnicode() 2014-03-12 12:18:47 -07:00
Behdad Esfahbod
0f74e80d59 Add isUnicode() and isSymbol() to cmap subtables 2014-03-12 12:17:33 -07:00
Behdad Esfahbod
319643ade2 Fix up regression in promoting lookups to extensions
Was broken by 6ed2eb409231a7fe3e0c2a135f9a89796206f639

Fixes https://github.com/behdad/fonttools/issues/110
2014-02-20 16:31:15 -05:00
Behdad Esfahbod
5080331251 [merge] Map recursive lookups
Fixes https://github.com/behdad/fonttools/issues/109
2014-02-10 18:14:37 -05:00
Behdad Esfahbod
e3d7d71b7a Allow setting 'raw' attrs on XML for tables to be loaded from hex
Previously one had to set the 'ERROR' attribute.  Accept raw also.
So, for example one can say:

  <cmap raw="1">
    <!-- Hand-coded format13 table mapping all Unicode
         characters to .notdef glyph. -->
    <hexdata>
      0000 0001 <!-- version numTables -->
        0000 0006 <!-- platformID encodingID -->
        0000000C  <!-- offset -->
          000D 0000 <!-- format reserved -->
          0000001C  <!-- length -->
          00000000  <!-- language -->
          00000001  <!-- nGroups -->
            00000001  <!-- startCharCode -->
            0010FFFE  <!-- endCharCode -->
            00000001  <!-- glyphID -->
    </hexdata>
  </cmap>
2014-01-31 18:06:24 -05:00
Behdad Esfahbod
6338375bd8 Allow loading zero-length tables
Fixes https://github.com/behdad/fonttools/issues/106
2014-01-30 16:48:11 -05:00
Behdad Esfahbod
ff2dd56f86 Make unicode.py py23-compatible 2014-01-28 16:42:24 -05:00
Behdad Esfahbod
27c71f9f60 Retain hinting for first font
Part of https://github.com/behdad/fonttools/issues/95
2014-01-27 21:01:45 -05:00
Behdad Esfahbod
a36c74e8b8 Add logic for keeping PUSHB/PUSHW distinction
And avoid merging consequent pushes.  No option to control this
externally right now, but the logic is there.

Part of https://github.com/behdad/fonttools/issues/92
2014-01-19 17:30:19 +08:00
Behdad Esfahbod
fea81ee2b3 Use Python's unicodedata.name() in fontTools.unicode
This removes our internal copy of Unicode names database!

Adds new API fontTools.unicode.setUnicodeData() that can be
called with a filename or file object corresponding to a
UnicodeData.txt file, which will consequently used for Unicode
character name mapping.  This is useful for using newer Unicode
database than the one that comes with the builtin Python module.

This also changes behavior such that control characters, Hangul
syllables, Han chars, etc, get no name with custom
UnicodeData.txt.  We may revisit this though.

Filed https://github.com/behdad/fonttools/issues/82 to add
option to ttx to pass custom UnicodeData.txt.

Fixes https://github.com/behdad/fonttools/issues/81
2014-01-15 23:38:08 +08:00
Behdad Esfahbod
1ae29591ef from __future__ import absolute_import
Such that our Python 2 is closer to Python 3.

Part of https://github.com/behdad/fonttools/issues/77
2014-01-14 15:07:50 +08:00
Behdad Esfahbod
f5d123be5e Use ast.literal_eval to implement safeEval
Fixes https://github.com/behdad/fonttools/issues/75
2014-01-14 14:59:12 +08:00
Behdad Esfahbod
972af5af63 [merge] Sort script records 2013-12-31 18:16:36 +08:00
Behdad Esfahbod
233663207d [merge] Minor 2013-12-31 18:12:53 +08:00
Roozbeh Pournader
642eaf135d Properly merge head.flags and OS/2.fsType
Also install the merge script.
2013-12-22 15:33:25 -05:00
Behdad Esfahbod
95f795f40a Move offset overflow fixing logic where it belongs 2013-12-20 21:52:28 -05:00
Behdad Esfahbod
35e3c7270d Minor 2013-12-20 21:34:09 -05:00
Behdad Esfahbod
b76d6ff14a [merge] Remove BaseTable.__hash__ need 2013-12-20 20:24:27 -05:00
Roozbeh Pournader
7a27214fcb Added merging tables for 'name' and 'gasp'. 2013-12-20 20:13:55 -05:00