1047 Commits

Author SHA1 Message Date
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
Olivier Berten
ec8dccb731 More array instead of pack 2014-01-28 23:45:39 +01:00
Behdad Esfahbod
ff2dd56f86 Make unicode.py py23-compatible 2014-01-28 16:42:24 -05:00
Olivier Berten
149b9f97e3 use array instead of unpack 2014-01-28 20:59:10 +01:00
Olivier Berten
4a73f8b4e9 'post' format 4.0 support 2014-01-28 14:37:15 +01: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
Behdad Esfahbod
398770d51c [merge] Map GSUB/GPOS feature / lookup indices properly 2013-12-19 15:30:24 -05:00
Behdad Esfahbod
c68c0ff12f [merge] Minor 2013-12-19 14:25:17 -05:00
Behdad Esfahbod
2642934116 [merge] Add GSUB/GPOS
Doesn't renumber features / lookups yet.
2013-12-19 11:53:47 -05:00
Behdad Esfahbod
9c5e2ce1b6 Add a get() method to TTFont ala dict.get() 2013-12-19 11:38:56 -05:00
Behdad Esfahbod
12dd547c01 [merge] Port GDEF to mergeMap
There's some code duplication in mergeObjects that I'll refactor
later.
2013-12-19 05:58:57 -05:00
Behdad Esfahbod
92fd566577 [merge] Use NotImplemented as a singleton meaning "doesn't have"
And cleanup recalculate, so we don't accidentally mess something
that is NOT recalculated.
2013-12-19 05:27:53 -05:00
Behdad Esfahbod
6baf26ea74 [merge] Rename 2013-12-19 04:49:07 -05:00
Behdad Esfahbod
3b36f55adf [merge] Move tables out of merger object 2013-12-19 04:45:17 -05:00
Behdad Esfahbod
9e6adb6bd6 [merge] Move to per-class mergeMap 2013-12-19 04:37:48 -05:00
Behdad Esfahbod
db2410a2f1 [merge] Minor 2013-12-19 03:42:35 -05:00
Behdad Esfahbod
49028b3ba7 [merge] Minor cleanup 2013-12-18 17:36:18 -05:00
Roozbeh Pournader
e219c6c76f [merge] Update 'head', 'hhea', 'OS/2', and 'post' tables with new logic. 2013-12-18 17:25:37 -05:00
Roozbeh Pournader
47bee9cfbd [merge] Created new infrastructure for table merging logic 2013-12-18 17:22:19 -05:00
Behdad Esfahbod
f63e80e3fc [merge] py23 2013-12-18 17:14:26 -05:00
Behdad Esfahbod
fc1d0525b6 Merge branch 'merge' 2013-12-18 17:09:45 -05:00
Behdad Esfahbod
ee6340f475 Only track one parent per Writer
We were not using the extra parents anyway.
2013-12-17 06:31:37 -05:00
Behdad Esfahbod
ab0ca1bd6b Minor simplification 2013-12-17 06:19:15 -05:00
Behdad Esfahbod
6188b5b5f0 Remove unused variable 2013-12-17 06:11:41 -05:00
Behdad Esfahbod
dea08f2ba1 Minor optimization 2013-12-17 06:04:28 -05:00
Behdad Esfahbod
45ed572e31 [subset] Fix up from recent changes 2013-12-17 06:01:08 -05:00