Behdad Esfahbod
37dbb77c67
Make varLib module callable
2016-10-13 15:43:19 -07:00
Behdad Esfahbod
4158b54244
Make subset module callable
2016-10-13 15:42:14 -07:00
Behdad Esfahbod
b39772b256
[varLib] Fix interpolate_layout for non-similar SinglePos
...
Has to be ported to varfont merger as well.
2016-10-12 16:11:20 -07:00
Behdad Esfahbod
b9c38af1ff
Disable HVAR generation until I fix it
...
https://github.com/fonttools/fonttools/issues/705
2016-10-12 13:30:52 -07:00
Cosimo Lupo
850293a30a
Merge pull request #700 from fonttools/versioneer+bumpversion
...
version
2016-10-12 11:57:10 +01:00
Sascha Brawer
f5b31db578
[fvar] Omit optional PostScript name when missing; improve tests
...
If a named instance has a PostScript name, the name is now printed as
a comment into the XML dump. Also, unit tests on `fvar` are now
exercising all code paths, both with and without PostScript names.
2016-10-12 10:58:41 +02:00
Behdad Esfahbod
12d4f277d7
[varLib.merger] Towards supporting merging individual attributes
2016-10-11 20:39:22 -07:00
Cosimo Lupo
3acacb592d
fontTools: use versioneer to get_versions(); if fails, print warning and fall back to latest known tag
2016-10-12 00:49:57 +01:00
Cosimo Lupo
48b566dc09
check-in auto-generated versioneer.py and _version.py files
2016-10-11 19:01:34 +01:00
James Godfrey-Kittle
5606f47c03
Merge pull request #691 from jamesgk/varlib-usability
...
varLib usability stuff
2016-10-10 15:20:03 -07:00
Cosimo Lupo
b1fae3fe32
ttx/ttLib: use from fontTools import version
as before
2016-10-10 15:26:04 +01:00
Cosimo Lupo
7223536d7d
fontTools.__init__: restore fontTools.version for backward compatiblity
...
See https://github.com/fonttools/fonttools/issues/697#issuecomment-252622588
2016-10-10 15:20:07 +01:00
Cosimo Lupo
6b152f57ae
generate 'version.py' file with plain version string instead of using pkg_resources to read version from package metadata
...
See https://github.com/fonttools/fonttools/issues/697#issuecomment-252621005
2016-10-10 15:06:11 +01:00
Cosimo Lupo
c719da5bca
[sstruct/xmlWriter]: issue a deprecation warning when the two top-level modules are imported
...
Part of #696
(These are a actually `UserWarning` instead of `DeprecationWarning`, as the latter are normally muted)
2016-10-08 17:21:36 +01:00
James Godfrey-Kittle
1e8e17e753
[varLib] Define an interpolate_layout method
2016-10-06 17:33:07 -07:00
James Godfrey-Kittle
6f6106ef6c
[varLib] Rename interpolate-layout to be loadable
2016-10-06 17:32:37 -07:00
Behdad Esfahbod
b5d7eb8fd4
[varLib] Show failure path when merging fails
2016-10-05 17:03:48 -07:00
Cosimo Lupo
53dce87b03
Merge pull request #688 from fonttools/fix-varlib-names
...
Fix varlib names
2016-10-05 19:23:10 +01:00
James Godfrey-Kittle
0682e77370
Merge pull request #690 from jamesgk/area-pen
...
Allow single-point open contours in area pen
2016-10-04 18:05:43 -07:00
Behdad Esfahbod
87e07bc4c4
[varLib] Add kerning merger for interpolate-layout.py
2016-10-04 17:46:22 -07:00
James Godfrey-Kittle
c732ffce8e
[areaPen] Add test for endPath
2016-10-04 17:33:16 -07:00
James Godfrey-Kittle
238e8cbc52
Typo
2016-10-04 17:32:49 -07:00
James Godfrey-Kittle
870b7ce92a
Allow single-point open contours in area pen
...
Sometimes an anchor is drawn as a moveTo followed by an endPath, for
that case it makes sense just to ignore and count the area as zero.
2016-10-04 16:27:09 -07:00
Cosimo Lupo
79d755a837
[varLib] use both Macintosh and Windows names for fvar names; use addName method from _n_a_m_e.NameRecord; use unicode_literals
...
We must coerce name strings with `tounicode` because, on Python 2, the ElementTree library that we use to parse the designspace's XML will return ASCII-encoded `bytes` (PY2 `str`) whenever it can; and only returns `unicode` (PY3 `str`) when strings can't be encoded as ASCII... :(
However the `addName` method requires unicode strings (it wouldn't be able to encode them with multiple platform-specific encodings otherwise).
So we decode bytes as ASCII before passing them to addName.
2016-10-04 17:08:29 +01:00
Cosimo Lupo
726bf65160
[_n_a_m_e_test] add tests for addName method; test that warning is logged from setName if input is bytes
2016-10-04 17:08:29 +01:00
Cosimo Lupo
3feddad5c6
[name] add addName
(from varLib); in setName
, issue warning if string is not unicode; add makeName
(from _n_a_m_e_test)
...
previously (only on Python 2), the following line was silently coercing to Unicode using default 'ascii' encoding, whenever the input string was a `bytes` string (same as `str` in PY2):
namerecord.string = string.encode(namerecord.getEncoding())
On Python 3, the line above would crash, since bytes objects don't have an `encode` method (and rightly so).
`setName` should now accept both Unicode or bytes, but will issue a warning if the latter are used.
2016-10-04 17:04:35 +01:00
Cosimo Lupo
ab395ff0e2
move CapturingLogHandler class from subset to loggingTools module
2016-10-04 14:31:30 +01:00
Cosimo Lupo
2bbc62d371
sfnt.py: drop WOFFDirectoryEntry.zlibCompressionLevel
; use global ZLIB_COMPRESSION_LEVEL
instead
...
Fixes https://github.com/fonttools/fonttools/issues/686
2016-10-02 12:42:54 +01:00
moyogo
62894667f6
feaLib: fix code to use hex version instead of float
2016-09-29 20:43:50 +01:00
Cosimo Lupo
95c1a3e2f7
C_F_F_test.py: load test CFF xml/binary data from external files
2016-09-28 18:13:11 +01:00
Cosimo Lupo
e0a10698aa
[ttLib] must cast 'sfntVersion' to native string type (bytes on py2, str on py3) to normalize repr() output
2016-09-28 18:08:08 +01:00
Cosimo Lupo
674ceac0ce
ttLib/tables/testdata: add C_F_F_.bin and C_F_F_.ttx for CFF table rountrip tests
2016-09-28 17:59:23 +01:00
Behdad Esfahbod
f9672ba7e1
Try fixing up Windows bot failure
2016-09-28 15:16:25 +02:00
Behdad Esfahbod
3ec06df194
Fix failing tests
2016-09-27 19:53:58 +02:00
ReadRoberts
5b479716bc
Fix bugs in cffLib.py. 1) In the last commit, I added logic to use a CFF predefined charset when possible. This is not allowed In CID fonts. Added a test to NOT do this when font is CD. 2) Added exception handler when reading FontDict XML to skip unknown fields. In previous versions, all the default key/value pairs for the TopDict were (incorrectly) written to FDArray FontDicts. New logic does not do that, but also should not fail when it sees any of these key/value pairs. 3) Changed the expected txt files for some of the subset tests. For the CID example, this meant removing the unnecessary key/value pairs from the FDArray FontDicts. For all, it meant adding the major.minor CFF version fields.
2016-09-27 19:49:41 +02:00
ReadRoberts
99394d90bb
Fix bug in processing charset info. When predefined charset is specified in an OTF CFF ( TopDict.charset < 2),, the charset was always filled with the entire predefined charset, instead of charset[:nGlyphs]. Also added logic to write a predefined charset code instead of a custom charset when that is possible: this was not happening before.
2016-09-27 19:49:41 +02:00
ReadRoberts
1677c9e33d
Add unit test file for CFF. Uses a small test font to decompile from the data to XML, and back to the data.
2016-09-27 19:49:41 +02:00
ReadRoberts
edbee6e4cb
Write major/minor fields to XML. Now that we have CFF2, it is worth being explicit about this
2016-09-27 19:49:41 +02:00
ReadRoberts
3063def35b
Fixed writing FDArray FontDict structures for CID-keyed CFF fonts. Old logic was reading/writing using TopDict methods, and items like the CIDFontName and Encoding were getting written to XML, and back into the compiled FontDict data. Fixed by defining a list of operators supported in FontDict objects, which is a subset of the TopDict operators, and referencing these in the FontDict object methods.
2016-09-27 19:49:41 +02:00
ReadRoberts
8dc4edceda
Fix bug in writing an empty INDEX table. This is supposed to contain only the two-bye count field. Code was also writing the final sentinel offset in the offset list, even though there were no items. This is harmless, but adds a couple useless bytes. Also fixed the calculation of the offset size in the CFF header. Again harmless, since this value isn't used anywhere, but makes it harder to compare CFF's built by different tools.
2016-09-27 19:49:41 +02:00
Behdad Esfahbod
fb22f64ab1
[varLib] Add TODO item
2016-09-27 19:49:41 +02:00
Behdad Esfahbod
e8117f6443
[varLib] Merge same-structured kerning lookups
...
Code from Read Roberts.
2016-09-27 19:49:41 +02:00
Behdad Esfahbod
e9ab61c5b5
[GX] Fix FeatureVariations
2016-09-27 19:49:41 +02:00
Behdad Esfahbod
2f38f4a05a
[GX] Fix typo
2016-09-27 19:49:41 +02:00
Behdad Esfahbod
caa353d5dd
[varStore] Generate variation for Anchors and store in GDEF
...
Finally! Phew...
2016-09-27 19:49:41 +02:00
Behdad Esfahbod
cfd7bfbb2c
[varLib] Start creating variations for GPOS using Merger
2016-09-27 19:49:41 +02:00
Behdad Esfahbod
8e46c6a121
[varLib] Err if gvar tuples have unknown location axes
2016-09-27 19:49:41 +02:00
Behdad Esfahbod
60e8bab524
[varLib] Unbreak gvar generation
...
Was completely broken by 15dd7181b47b8c8225b6054c6bb257fab91eea1c as master location
tags were mismatched with fvar. Too bad gvar was silently ignoring that. Fix coming.
2016-09-27 19:49:41 +02:00
Behdad Esfahbod
e713f75930
[varLib] Add gvar only if base font has glyf table
2016-09-27 19:49:41 +02:00
Behdad Esfahbod
0546a4296b
[varLib] Fix typo
2016-09-27 19:49:41 +02:00