Behdad Esfahbod
21582e9f6c
[subset] Minor TODO items
2013-09-12 16:47:52 -04:00
Khaled Hosny
0e37f89e70
Letovers from pyftfontview → pyftinspect rename
...
Fixes “setup.py install”.
2013-09-12 11:13:39 +02:00
Behdad Esfahbod
9953685818
[subset] Fix CFF hint stripping
...
Stupid mistake. Seems to work now.
2013-09-12 00:23:11 -04:00
Behdad Esfahbod
010c5f9136
[subset] Minor verbose output improvement
2013-09-10 20:54:46 -04:00
Behdad Esfahbod
285d7b81d3
[subset] Fixup CFF hint stripping
...
Two things:
1. Put back glyph width after stripping hints,
2. Ignore what I believe is broken fonts.
I still see glyph width messup. Debugging.
2013-09-10 20:30:47 -04:00
Behdad Esfahbod
2be33d9383
[subset] Allow specifying '*' to choose all glyphs
...
Useful for testing if nothing else.
2013-09-10 19:28:59 -04:00
Behdad Esfahbod
84763140a0
[subset] Adjust state transition after hintmask
2013-09-10 19:00:48 -04:00
Behdad Esfahbod
e06220767f
[subset] Drop hints from CFF if not needed
...
It's a tricky algorithm, but I think I got the design right.
Bugs optional...
2013-09-10 18:37:54 -04:00
Behdad Esfahbod
cebcf17ba7
Rename pyftfontview to pyftinspect
...
Makes more sense.
2013-09-06 18:23:13 -04:00
Behdad Esfahbod
fbb9fc1b47
[subset] Remove _NonrecursingT2Decompiler
...
First, it was wrong because not recursing has implications in hintmasks.
Second, it wasn't needed, because all _used subroutines were already
decompiled anyway.
Fixes this test:
$ pyftsubset SemplicitaPro-Light.otf three
2013-09-05 19:01:39 -04:00
Behdad Esfahbod
9316a90e32
Fixup from numpy removal
2013-09-04 13:50:38 -04:00
Behdad Esfahbod
2058dcfb68
More GlyphCoordinates fixup
...
I'm sure it's correct this time, though I couldn't reproduce the latest
issue Dave was hitting.
2013-09-04 10:49:21 -04:00
Behdad Esfahbod
e9ea5a0a10
Really fix GlyphCoordinates this time
...
Argh. I should stop committing without proper time to test first.
https://github.com/behdad/fonttools/issues/4
2013-09-04 10:39:51 -04:00
Behdad Esfahbod
c195a6b6bd
Fixup import
...
https://github.com/behdad/fonttools/issues/6
2013-09-04 10:35:10 -04: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
Behdad Esfahbod
583ce6356d
Minor
2013-09-04 09:56:51 -04:00
Behnam Esfahbod
f7e0c6719a
Show the length of tables in bytes, like `ttx -l'
...
But not formatting the numbers, as we don't have any locale set
2013-09-03 21:58:26 -07:00
Behnam Esfahbod
31547e0e7b
Handle fontTools.ttLib.TTLibError errors
2013-09-03 21:00:06 -07:00
Behnam Esfahbod
1a281ee532
fontView: Use relative imports and shorter namespaces
2013-09-03 20:56:24 -07:00
Behnam Esfahbod
25fc268acb
fontView: Set column titles and disable sorting
...
Also handle some KeyError exceptions
2013-09-03 20:27:14 -07:00
Behdad Esfahbod
ac10d81ac8
Fix misc pychecker warnings
2013-09-03 18:31:59 -04:00
Behdad Esfahbod
22849901ac
[fontView] Fix glyph expanding
2013-09-03 18:26:29 -04:00
Behdad Esfahbod
7adbdd6242
Fix Subsetting CFFs without subroutines
...
https://github.com/behdad/fonttools/issues/1
Based on patch from Jens Kutilek.
2013-09-03 16:23:27 -04:00
Behdad Esfahbod
cbcaccf2f8
[subset] Fixup previous commits for fonts that do have FDSelect
...
Oops!
2013-08-30 16:21:38 -04:00
Behdad Esfahbod
83f1f5c438
[subset] Fix CFF subsetting of fonts with no FDSelectors
2013-08-30 16:20:08 -04:00
Behdad Esfahbod
b69400fe60
Merge pyotlss, rename it to pyftsubset
...
Adds module fontTools.subset
2013-08-29 18:43:56 -04:00
Behdad Esfahbod
1158118857
Merge pyfontview, rename it to pyftfontview
...
Adds module fontTools.fontView
2013-08-29 18:36:38 -04: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
f09f1d4064
Raise exceptions on unimplemented T2CharString operators
2013-08-19 14:16:07 -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