1556 Commits

Author SHA1 Message Date
Behdad Esfahbod
58d7416124 Add support for loading WOFF file format 2013-08-19 14:16:49 -04:00
Behdad Esfahbod
183afe6408 Optimize Coverage.postRead() 2013-08-19 14:16:07 -04:00
Behdad Esfahbod
12fd2ea9dc Turn "too much glyph data" into a warning
Some tools generate 4 bytes of padding where 0 is needed...
It's recoverable, so make it a warning.
2013-08-19 14:16:07 -04:00
Behdad Esfahbod
7d2c10ec74 Allow toXML() to be called on individual tables
Was hitting a missing attribute since disassembleInstructions was
being set by saveXML() only.
2013-08-19 14:16:06 -04:00
Behdad Esfahbod
85be2e0a97 Change duplicate-name resolution from n^2 to linear time
For a font with thousands of glyphs with the same name (like ipagp.ttf)
this was taking 9 seconds to complete.  Less than a millisecond now!
2013-08-19 14:16:06 -04:00
Behdad Esfahbod
26549ce298 Warn about excess data in kern table instead of aborting 2013-08-19 14:16:06 -04:00
Matt Fontaine
65499c1042 Minor improvement to TableStack
Push/pop on the end side, which should be faster.
2013-08-19 14:16:06 -04:00
Behdad Esfahbod
50d9a44e58 Add support for Microsoft COLR/CPAL layered color glyphs 2013-08-19 14:16:06 -04:00
Matt Fontaine
b9ba775413 Add support for Google CBLC/CBDT color bitmaps 2013-08-19 14:15:58 -04:00
Matt Fontaine
c33b0a22ef Add support for standard EBLC/EBDT embedded bitmaps 2013-08-19 14:15:46 -04:00
pabs3
3ac875aa1d Fix consistency of space/tab usage.
Reference: http://docs.python.org/reference/lexical_analysis.html#indentation

git-svn-id: svn://svn.code.sf.net/p/fonttools/code/trunk@613 4cde692c-a291-49d1-8350-778aa11640f8
2013-06-12 05:04:24 +00:00
jvr
e0ddc58fc2 Georg Seifert: fix bug with Apple's kern table format
git-svn-id: svn://svn.code.sf.net/p/fonttools/code/trunk@612 4cde692c-a291-49d1-8350-778aa11640f8
2012-11-10 17:58:30 +00:00
jvr
91bca42442 merging fixes & changes from delft-sprint-2012
git-svn-id: svn://svn.code.sf.net/p/fonttools/code/trunk@611 4cde692c-a291-49d1-8350-778aa11640f8
2012-10-18 12:49:22 +00:00
pabs3
3de0e58f29 Fix bug in last commit
git-svn-id: svn://svn.code.sf.net/p/fonttools/code/trunk@587 4cde692c-a291-49d1-8350-778aa11640f8
2011-02-13 07:28:42 +00:00
pabs3
d3d7250fc3 Be more thorough when working around font bugs in the hmtx table
https://bugs.launchpad.net/ubuntu/+source/fonttools/+bug/223884

git-svn-id: svn://svn.code.sf.net/p/fonttools/code/trunk@586 4cde692c-a291-49d1-8350-778aa11640f8
2011-02-13 07:01:11 +00:00
pabs3
d5721376f2 Be more thorough when working around font bugs in the loca/glyf tables
https://bugs.launchpad.net/ubuntu/+source/fonttools/+bug/223884

git-svn-id: svn://svn.code.sf.net/p/fonttools/code/trunk@585 4cde692c-a291-49d1-8350-778aa11640f8
2011-02-13 06:27:09 +00:00
pabs3
df16db5bb8 Be more thorough when working around font bugs in the OS/2 table
https://bugs.launchpad.net/ubuntu/+source/fonttools/+bug/223884

git-svn-id: svn://svn.code.sf.net/p/fonttools/code/trunk@584 4cde692c-a291-49d1-8350-778aa11640f8
2011-02-13 06:25:21 +00:00
pabs3
98caac29f3 Long-format loca tables are unsigned not signed.
git-svn-id: svn://svn.code.sf.net/p/fonttools/code/trunk@583 4cde692c-a291-49d1-8350-778aa11640f8
2011-02-13 06:24:19 +00:00
pabs3
1344bc9b62 Fix typos: 'neccesary' should be 'necessary'.
git-svn-id: svn://svn.code.sf.net/p/fonttools/code/trunk@581 4cde692c-a291-49d1-8350-778aa11640f8
2010-01-09 09:12:11 +00:00
pabs3
17012aabbb Fix some broken assertions in the cmap format 1 code.
Shame on Gentoo for not forwarding the patch upstream.

git-svn-id: svn://svn.code.sf.net/p/fonttools/code/trunk@577 4cde692c-a291-49d1-8350-778aa11640f8
2009-11-08 15:55:53 +00:00
pabs3
86368e7ac0 Raising strings is deprecated in Python 2.5, raise an exception instead.
git-svn-id: svn://svn.code.sf.net/p/fonttools/code/trunk@569 4cde692c-a291-49d1-8350-778aa11640f8
2009-11-08 06:39:37 +00:00
pabs3
0e2aecec53 Fix some warnings due to signedness and 64-bitness issues
git-svn-id: svn://svn.code.sf.net/p/fonttools/code/trunk@568 4cde692c-a291-49d1-8350-778aa11640f8
2009-03-24 09:42:15 +00:00
pabs3
e70bb8af70 Remove old .cvsignore file
git-svn-id: svn://svn.code.sf.net/p/fonttools/code/trunk@566 4cde692c-a291-49d1-8350-778aa11640f8
2009-03-23 07:11:54 +00:00
pabs3
7e91e776c9 Apply remainder of #1675210: add support for TrueType Collection (TTC) files.
git-svn-id: svn://svn.code.sf.net/p/fonttools/code/trunk@564 4cde692c-a291-49d1-8350-778aa11640f8
2009-02-22 08:55:00 +00:00
jvr
d67cf25974 don't use 'as' as a name, it's a keyword in Python >= 2.6
git-svn-id: svn://svn.code.sf.net/p/fonttools/code/trunk@563 4cde692c-a291-49d1-8350-778aa11640f8
2008-09-16 14:14:44 +00:00
jvr
c63ac64007 fixed buglet that caused the last table in the font not to be padded to a 4-byte boundary (the spec is a little vague about this, but I believe it's needed, also, Suitcase may complain...)
git-svn-id: svn://svn.code.sf.net/p/fonttools/code/trunk@562 4cde692c-a291-49d1-8350-778aa11640f8
2008-06-17 20:41:15 +00:00
jvr
a220bf3567 a different fix for [1296026]: just comment out the offending assert
git-svn-id: svn://svn.code.sf.net/p/fonttools/code/trunk@557 4cde692c-a291-49d1-8350-778aa11640f8
2008-05-17 08:52:33 +00:00
jvr
03e02adeb4 back out 'fix', as this solution isn't portable
git-svn-id: svn://svn.code.sf.net/p/fonttools/code/trunk@556 4cde692c-a291-49d1-8350-778aa11640f8
2008-05-17 08:44:06 +00:00
jvr
0cb8a08d89 cmap format 1 support, contributed by rroberts
git-svn-id: svn://svn.code.sf.net/p/fonttools/code/trunk@554 4cde692c-a291-49d1-8350-778aa11640f8
2008-05-16 15:07:09 +00:00
pabs3
14654b2a88 Apply 1296026: fix tracebacks in some timezones
git-svn-id: svn://svn.code.sf.net/p/fonttools/code/trunk@551 4cde692c-a291-49d1-8350-778aa11640f8
2008-05-16 07:17:26 +00:00
jvr
e5b245fd07 added refactoring note
git-svn-id: svn://svn.code.sf.net/p/fonttools/code/trunk@548 4cde692c-a291-49d1-8350-778aa11640f8
2008-03-09 21:43:19 +00:00
jvr
ce47e0d978 minor fix: one zero too many in assert
git-svn-id: svn://svn.code.sf.net/p/fonttools/code/trunk@547 4cde692c-a291-49d1-8350-778aa11640f8
2008-03-09 20:48:45 +00:00
jvr
1c73452692 fixed some comment typos
git-svn-id: svn://svn.code.sf.net/p/fonttools/code/trunk@545 4cde692c-a291-49d1-8350-778aa11640f8
2008-03-09 20:13:16 +00:00
jvr
cd75d570d4 don't crash on empty VORG table (reported by Werner Lemberg)
git-svn-id: svn://svn.code.sf.net/p/fonttools/code/trunk@544 4cde692c-a291-49d1-8350-778aa11640f8
2008-03-09 08:58:36 +00:00
jvr
1ebda677eb squash 2 bugs related to the numpy conversion
git-svn-id: svn://svn.code.sf.net/p/fonttools/code/trunk@543 4cde692c-a291-49d1-8350-778aa11640f8
2008-03-08 20:29:30 +00:00
jvr
28afd331e1 initialize data to empty string instead of list
git-svn-id: svn://svn.code.sf.net/p/fonttools/code/trunk@539 4cde692c-a291-49d1-8350-778aa11640f8
2008-03-04 15:34:54 +00:00
jvr
91ff4fdfda ar.typecode() doesn't exist in numpy, but then again, this was overkill
git-svn-id: svn://svn.code.sf.net/p/fonttools/code/trunk@538 4cde692c-a291-49d1-8350-778aa11640f8
2008-03-04 15:34:22 +00:00
jvr
1b7d54fedc converted usage of Numeric to numpy
git-svn-id: svn://svn.code.sf.net/p/fonttools/code/trunk@537 4cde692c-a291-49d1-8350-778aa11640f8
2008-03-04 15:25:27 +00:00
jvr
f5e9825454 note this file is deprecated
git-svn-id: svn://svn.code.sf.net/p/fonttools/code/trunk@536 4cde692c-a291-49d1-8350-778aa11640f8
2008-03-04 15:04:09 +00:00
jvr
ccaf0376d6 removed some redundant imports
git-svn-id: svn://svn.code.sf.net/p/fonttools/code/trunk@535 4cde692c-a291-49d1-8350-778aa11640f8
2008-03-04 15:02:45 +00:00
jvr
b018bf7120 the gasp portion of patch 1675210: support for ClearType
git-svn-id: svn://svn.code.sf.net/p/fonttools/code/trunk@529 4cde692c-a291-49d1-8350-778aa11640f8
2008-03-01 16:43:24 +00:00
jvr
212ea14706 fixed oversight in sys.byteorder transition
git-svn-id: svn://svn.code.sf.net/p/fonttools/code/trunk@528 4cde692c-a291-49d1-8350-778aa11640f8
2008-03-01 15:31:01 +00:00
jvr
9be387c94f Use sys.byteorder, getting rid of ttLib.endian
git-svn-id: svn://svn.code.sf.net/p/fonttools/code/trunk@527 4cde692c-a291-49d1-8350-778aa11640f8
2008-03-01 11:43:01 +00:00
jvr
2545f16b54 Make a hidden feature accessible: optionally ignore decompilation errors,
falling back to DefaultTable, retaining the binary data. It's a bit
dangerous to enable this by default, since it can lead to hiding other
errors or bugs (in the font or fonttools itself).


git-svn-id: svn://svn.code.sf.net/p/fonttools/code/trunk@524 4cde692c-a291-49d1-8350-778aa11640f8
2008-03-01 09:30:17 +00:00
jvr
2db352c748 - skip subtables of length zero
- minor tweak in cmap 4 logic
contributed by rroberts


git-svn-id: svn://svn.code.sf.net/p/fonttools/code/trunk@523 4cde692c-a291-49d1-8350-778aa11640f8
2008-02-29 14:43:49 +00:00
jvr
8633195104 fixed problem with private VTT table, found by Peter Bilak
git-svn-id: svn://svn.code.sf.net/p/fonttools/code/trunk@522 4cde692c-a291-49d1-8350-778aa11640f8
2008-02-19 18:49:14 +00:00
pabs3
9728601b44 Fix 1762552: traceback on amd64 with DejaVuSans.ttf
git-svn-id: svn://svn.code.sf.net/p/fonttools/code/trunk@514 4cde692c-a291-49d1-8350-778aa11640f8
2007-11-14 07:06:39 +00:00
jvr
4acb76de2e added 'support' for OS/2 version 4: can anyone verify this is correct? I can't seem to find an OS/2 v4 spec...
git-svn-id: svn://svn.code.sf.net/p/fonttools/code/trunk@513 4cde692c-a291-49d1-8350-778aa11640f8
2007-10-22 09:31:02 +00:00
jvr
823f8cd15f Misc patches from rroberts:
fontTools/ttx.py
  # support virtual GIDs, support handling some GSUB offset overflows.

fontTools/ttlib/__init__.py
# 1) make getReverseGlyphMap  a public function; I find a reverse map
to often be useful
# 2) support virtual glyphs, e.g. references to GID's that are not in the font.
# Added the TTFont argument allowVID (default 0) to turn this off and on;
# added the arg requireReal ( default 0) so as to get the obvious
default behaviour when
# allowVID is 0 or 1, but to allow requiring a true GID when allowVID is 1.

fontTools/ttlib/tables/otBase.py
fontTools/ttlib/tables/otConverters.py
fontTools/ttlib/tables/otData.py
fontTools/ttlib/tables/otTables.py
# 1) speed optimization
# - collapse for loops
# - do not decompile extension lookups until a record is requested
from within the lookup.
# 2) handling offset overflows
# 3) support of extension lookups
# 4) Fixed FetauresParam converter class def so as to survive a font
that has this offset non-NULL.
# This fixes a stack dump.
# The data will now just get ignored


git-svn-id: svn://svn.code.sf.net/p/fonttools/code/trunk@511 4cde692c-a291-49d1-8350-778aa11640f8
2006-10-21 14:12:38 +00:00
jvr
d299b55d14 patches from rroberts:
# 1) Switched to using Numeric module arrays rather than array modules arrays,
#  because of a memory leak in array.array when handling elements > 1 byte.
# 2) speed optimizations:
# -  For loops are collapsed when possible
# - the data for a subtable is parsed only if a mapping value is requested
# - if two subtables share the same data offset, then on
decompilation, they will
# share the same cmap dict, and not get decompiled twice. Same for compiling.
# - as before, two tables with the same contents will get compiled to a single
# data block in the font.
# 3) added  (self.platformID, self.platEncID) == (3, 10) to the list
of subtables that
# get Unicode comments.
# 4) allow item reference by GID as well as by name. I did this when
experimenting to see if using GID references only would speed the
compile; it didn't but it seemed useful enough to leave in.
# 5) Fixed compile to/from XML: for cmap type unknown ( aka cmap
format 10, in practice.)


git-svn-id: svn://svn.code.sf.net/p/fonttools/code/trunk@510 4cde692c-a291-49d1-8350-778aa11640f8
2006-10-21 13:54:30 +00:00