2077 Commits

Author SHA1 Message Date
Dave Crossland
c7e0cf4754 Merge http://github.com/behdad/fonttools 2013-09-04 15:20:38 +01:00
Behdad Esfahbod
71d76fa1b8 Fix GlyphCoordinates
It's embarrassing that I failed to test ttx completely.

https://github.com/behdad/fonttools/issues/4
2013-09-04 10:14:44 -04:00
Dave Crossland
d7efd5692c Make parsing XML quiet 2013-09-04 14:51:16 +01:00
Dave Crossland
85af40e7d8 Adding quiet mode to xmlImport 2013-09-04 13:30:21 +01:00
Behdad Esfahbod
562400ea10 Update table list for SVG 2013-08-29 16:15:14 -04:00
Behdad Esfahbod
ddcca79308 Add 'SVG ' table implementation from Read Roberts (Adobe) 2013-08-28 17:25:16 -04:00
Behdad Esfahbod
c4af3964fb Revert "Make GlyphOrder object iterable"
This reverts commit e4a670cc7da93d3a12ba23d8cfefdeb0ec7be01f.

As Read Roberts wrote to me:

"you changed the definition of the GlyphOrder class to take a ttFont as
the argument for the __init__ function, rather than just the
tag, as before, I think so that the glyph order is defined when the
table is instantiated, rather than only when to/fromXML() is called

The problem with this is that the ttx.py compile function passes in a tag,
so compiling a font from an ttx file fails here, and in
xmlImport.startElementHandler(). I discovered this because a number of my
scripts use the same logic. What is the reason for this change? I have no
problem with changing the several FDK scripts that build a new TTF font
from scratch, to pass in the ttFont rather than a tag, but wanted to be
sure that this was necessary. The main issues are that when reading in an
entire TTX file, the table has to be instantiated before the data can be
provided, and the GylphOrder initialization is then different than  for
all the other tables"""

As such revert.  This means that GlyphOrder is again non-iterable.  Will
have to fix in some other way later.
2013-08-28 17:12:12 -04:00
Behdad Esfahbod
4b3df49b5b Fix XML encoding
1. Write out using utf-8 encoding.  Shouldn't matter really since
we don't generate non-ASCII data,

2. When parsing, DON'T override the file's encoding!
2013-08-20 15:29:19 -04:00
Behdad Esfahbod
d8b32bf6e2 Minor import cleanup 2013-08-19 15:27:14 -04:00
Behdad Esfahbod
e4a670cc7d Make GlyphOrder object iterable 2013-08-19 14:17:11 -04:00
Behdad Esfahbod
96b321c8ae Fix comparison to arbitrary objects 2013-08-19 14:17:11 -04:00
Behdad Esfahbod
843ffd8c79 Port glyf coordinates from numpy to custom type 2013-08-19 14:17:11 -04:00
Behdad Esfahbod
4f033683ca Port glyf transform from numpy to lists 2013-08-19 14:17:11 -04:00
Behdad Esfahbod
bca6e99d1c Port glyf flags from numpy to array module 2013-08-19 14:17:11 -04:00
Behdad Esfahbod
b1a7f87c2f Port GPKG table from numpy to array module 2013-08-19 14:17:11 -04:00
Behdad Esfahbod
8da8242d61 Port cmap table from numpy to array module 2013-08-19 14:17:10 -04:00
Behdad Esfahbod
fd647bf353 Port loca table from numpy to array module 2013-08-19 14:17:10 -04:00
Behdad Esfahbod
035bc7da23 Port hmtx table from numpy to array module 2013-08-19 14:17:10 -04:00
Behdad Esfahbod
4ffd404449 Fix decompiling GPKG on 64bit systems
array.array("L") reads 64bit ints, not 32bit.  Use "I" instead.
2013-08-19 14:17:10 -04:00
Behdad Esfahbod
400e9539fd Improve import handling
For example trying to run fontTools on Jython or PyPy fails
because they don't have a numpy module.  However, the error
is caught by the getTableModule() and instead DefaultTable
used for tables that use numpy in their implementation.  Fix
that.
2013-08-19 14:17:10 -04:00
Behdad Esfahbod
b0dc6dfc8b Add support for saving WOFF file format 2013-08-19 14:17:02 -04:00
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