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
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
- Rewrote sorting function, it was really quite buggy.
- Added reorderFontTables() functions, which reorders the
tables in a font at the sfnt level.
- TTFont.save() will now by default rewrite the font in the
optimized order. This is done through a temp file since
our dependency checking logic gets in the way of writing
the tables in a predefined order directly (if table A depends
on B, table B will always be compiled and written first, so
this prevents A from showing up in the file before B).
sfnt.py:
- removed closeStream option from SFNTWriter.close(); it's better
done by the caller (TTFont).
git-svn-id: svn://svn.code.sf.net/p/fonttools/code/trunk@475 4cde692c-a291-49d1-8350-778aa11640f8
objects, _TTGlyphSet doesn't cache them, so setting .width in .draw()
is confusing to say the least.
git-svn-id: svn://svn.code.sf.net/p/fonttools/code/trunk@430 4cde692c-a291-49d1-8350-778aa11640f8
GlyphSet. A GlyphSet is simply a dict-like object mapping glyph names
to glyphs. The glyphs in a GlyphSet have a .draw(pen) method and a
.width attribute. This provides a generic interface for drawing glyphs
or extracting outlines, and works both for CFF-based fonts and TT fonts.
See also fontTools.pens.basePen for a description of what makes a Pen
a Pen.
git-svn-id: svn://svn.code.sf.net/p/fonttools/code/trunk@420 4cde692c-a291-49d1-8350-778aa11640f8
TODO: need to fix table dependency order to complete this.
(Read: would you mind posting a bug report regarding this?)
git-svn-id: svn://svn.code.sf.net/p/fonttools/code/trunk@406 4cde692c-a291-49d1-8350-778aa11640f8
If the cmap parser was the one to cause _getGlyphNamesFromCmap() to be
called, no unicode cmap was found as it was just starting to get
loaded. This resulted in different glyph names, depending on when
the cmap parser was invoked.
Also added a bunch of comment describing what this method does.
git-svn-id: svn://svn.code.sf.net/p/fonttools/code/trunk@204 4cde692c-a291-49d1-8350-778aa11640f8
- use expat instead of xmlproc
- minor fixes here and there
Fixed bug in hmtx/vmtx code that only occured if all advances were equal.
FontTools now officially requires Python 2.0 or up, due to exapt and unicode.
git-svn-id: svn://svn.code.sf.net/p/fonttools/code/trunk@179 4cde692c-a291-49d1-8350-778aa11640f8
- changed TTFOnt.saveXML + splitTables<>0 behavior: now expects a path to a directory
git-svn-id: svn://svn.code.sf.net/p/fonttools/code/trunk@40 4cde692c-a291-49d1-8350-778aa11640f8