3049 Commits

Author SHA1 Message Date
Cosimo Lupo
93e19e36bf cffLib: whitespace, removed unused variables, and other PEP8 fixes 2017-07-10 10:47:20 +01:00
Cosimo Lupo
83d983545f cffLib: use @property getter/setter for isCFF2 2017-07-10 10:47:20 +01:00
Jens Kutilek
ebbbccae4c For SinglePos format 2, calculate ValueFormat from a list of value records 2017-07-06 10:38:36 +02:00
Jens Kutilek
68e9fcec59 Recalculate ValueFormat when merging SInglePos 2017-07-05 19:06:41 +02:00
Rob McKaughan
efabd5b049 Move assert outside of if at the bottom of _add_MVAR() per Behdad. 2017-06-22 15:15:58 -07:00
ReadRoberts
386f16a233 Fix formatting for init function. 2017-06-20 16:23:52 -07:00
ReadRoberts
1a6c2fe191 Delete recursive setting of self.cffCtx.isCFF2; this is not needed, since this field is now gets its value from self.major, which is already set. 2017-06-20 16:23:52 -07:00
ReadRoberts
38cde93a1c psCharStrings.py. Fix bug: allow T1 charstrings to not have private attribute. 2017-06-20 16:23:52 -07:00
ReadRoberts
7acfe1f6a8 Fix bug in changing class API’s while doing work to remove global state. Needed to make ‘private’ argument to SimpleT2Decompiler __init__() be optional. It is not needed by CFF decompilation. 2017-06-20 16:23:52 -07:00
ReadRoberts
133fe84012 Fix bug in compiling FDSelect: wasn’t passing cffCtx to class initializer. 2017-06-20 16:23:52 -07:00
ReadRoberts
af23a781e4 Removed global state from cffLib.py; introduced instance-specific context class instead. Also deprecated maxstack operator, per OpenType spec update 1.8.1, as this simplified some of the context passing logic. Still not thoroughly tested; convertCFFToCFF2() function has not yet been updated to work with new logic. 2017-06-20 16:23:52 -07:00
ReadRoberts
8e723e48db Eliminated duplicate or unused functions from TopDictIndex 2017-06-20 16:23:52 -07:00
ReadRoberts
a1760781f6 Folded CFF2 classes into CFF classes. Removed:
TopDictData; folded into TopDictIndex
Working towards using one set of classes for both CFF2 and CFF data.
2017-06-20 16:23:52 -07:00
ReadRoberts
d6dd5e26ac Delete the TopDict2 class definition, now that it is no longer used. 2017-06-20 16:23:52 -07:00
ReadRoberts
73e1128498 Folded CFF2 classes into CFF classes. Removed:
TopDict2
Working towards using one set of classes for both CFF2 and CFF data.
2017-06-20 16:23:52 -07:00
ReadRoberts
c3504de397 Folded CFF2 classes into CFF classes. Removed:
PrivateDict2
Working towards using one set of classes for both CFF2 and CFF data.
2017-06-20 16:23:52 -07:00
ReadRoberts
ee6fdaea43 cffLib. TopDict2 still need specific order list for operators that is different than TopDict. 2017-06-20 16:23:52 -07:00
ReadRoberts
d6cb880513 Revert "Folded CFF2 classes into CFF classes. Removed:"
This reverts commit ff14e2361b8fcbb8fd753b7ef5f02a74ad004dc7.
2017-06-20 16:23:52 -07:00
ReadRoberts
cf77e143c5 Folded CFF2 classes into CFF classes. Removed:
TopDict2
PrivateDict2
Working towards using one set of classes for both CFF2 and CFF data.
2017-06-20 16:23:52 -07:00
ReadRoberts
1c53437e39 Folded CFF2 classes into CFF classes. Removed:
TopDict2Decompiler
PrivateDict2Decompiler
PrivateDict2Compiler
Working towards using one set of classes for both CFF2 and CFF data.
2017-06-20 16:23:52 -07:00
ReadRoberts
c33ae5c96a Folded CFF2 classes into CFF classes. Removed:
SimpleCFF2DEcompiler
CFF2CharString
GlobalSubrsIndex2
SubrsIndex2
CharstringIndex2
Working towards using one set of classes for both CFF2 and CFF data.
2017-06-20 16:23:52 -07:00
ReadRoberts
5fb2688567 psCharstring.py. Added CFF2 specific operators to t2Operators list, removed cff2Operators list. Working towards using one set of classes for both CFF2 and CFF data. 2017-06-20 16:23:52 -07:00
ReadRoberts
88e72e2c56 psCharstrings.py. Fold CFF2CharString() logic into T2Charstring(). Working towards using one set of classes for both CFF2 and CFF data. 2017-06-20 16:23:52 -07:00
ReadRoberts
dee5cfee2f remove duplicated logic in C_F_F_2.py by subclassing from C_F_F_.py. 2017-06-20 16:23:52 -07:00
Rob McKaughan
ae451052b8 Changed 'if len(records) > 0' to 'if records' in _add_MVAR() 2017-06-20 15:30:28 -07:00
Rob McKaughan
7ed4c43395 Do not emit MVAR if there are no entries in the variation store 2017-06-20 15:01:23 -07:00
justvanrossum
a72f26e5a4 Added missing default for UnderlinePosition. Closes #983. 2017-06-09 06:55:02 +02:00
justvanrossum
a785f72367 Applying the super useful padding of short table tags such as 'CFF' to the '-x' option, too. 2017-06-07 11:47:11 +02:00
Behdad Esfahbod
7fa1ce1ca7 [varLib] Finish optimal IUP DP, however!
This slows down the DP by factor of 8 or so!  So, going to replace this last
brute-force step with something else.
2017-05-31 20:29:00 -04:00
Behdad Esfahbod
bd5fa12520 [varLib] A bit more refactoring towards optimal IUP 2017-05-31 20:12:59 -04:00
Behdad Esfahbod
05b1bed63b [varLib] Towards truly optimal IUP DP solution wrt circularity 2017-05-31 19:58:12 -04:00
Behdad Esfahbod
4a27f60d35 [varLib] More refactoring 2017-05-31 19:22:48 -04:00
Behdad Esfahbod
5ee58772cf [varLib] Improve IUP DP
Previously, it was always encoding first and last point.  Now it only always
encodes last point.  Soon resolving that too.  Shows another 0.5% savings in
gvar table size with Noto Sans Arabic.
2017-05-31 19:14:17 -04:00
Behdad Esfahbod
0b8c9e3a0c Revert "[varLib] Flip IUP DP to go back-to-front"
This reverts commit 3e35441c805b03d6d6eea5b24ce44f555c5fad56.

The DP is cleaner to work out front-to-back.
Will achieve the same effect by flipping the lists in a later commit.
2017-05-31 19:11:30 -04:00
Behdad Esfahbod
28ce62b782 [varLib] Refactor DP code into functions 2017-05-31 19:06:42 -04:00
Behdad Esfahbod
7db5868dba [varLib] Minor 2017-05-31 19:00:33 -04:00
Cosimo Lupo
bc3a2d7daa
Bump version: 3.13.1 → 3.13.2.dev0 2017-05-30 11:07:38 +01:00
Cosimo Lupo
6f0ed70059
Release 3.13.1 2017-05-30 11:07:37 +01:00
Cosimo Lupo
12b90f073e [feaLib] don't de-duplicate lookups
keep original lookup order and preserve the feature file's semantics

Fixes https://github.com/fonttools/fonttools/issues/448
2017-05-30 11:45:03 +02:00
Behdad Esfahbod
c79c27a841 [varLib] Add commentary of IUP DP mechanism 2017-05-29 16:13:46 -04:00
Behdad Esfahbod
3e35441c80 [varLib] Flip IUP DP to go back-to-front
Saves a few bytes (really, a few!).
2017-05-29 16:03:42 -04:00
Behdad Esfahbod
eeb13bba88 [varLib] Prepare IUP DP code to go back-to-front
That would produce smaller point numbers, which sometimes, results in
smaller encoding.
2017-05-29 15:59:29 -04:00
Behdad Esfahbod
c87c592d9e [varLib] Minor IUP renaming
Same functionality
2017-05-29 15:29:20 -04:00
Behdad Esfahbod
db8d0eeb5f [varLib] Speed up IUP optimization DP by 7.5x! 2017-05-29 15:06:55 -04:00
Behdad Esfahbod
2e80784ca7 [varLib] Use geometric distance for tolerance calculations 2017-05-28 23:45:36 -07:00
Behdad Esfahbod
1d148b10c5 [varLib] Start implementing optimal IUP solution
Not optimal right now, since first and last point are always included.
Also rather slow.  Takes about 12s for NotoSansArabic, and saves just
one percent in gvar size with a tolerance of 0.5 font units.
2017-05-28 23:45:36 -07:00
Khaled Hosny
0f1de0873f [feaLib] Unused class member
ClassPairPosSubtableBuilder.coverage_ is unused since
c64019b3c6b27a5b7f649171d87fd65762651f88.
2017-05-28 17:27:26 +02:00
Cosimo Lupo
9785e0e92d
Bump version: 3.13.0 → 3.13.1.dev0 2017-05-24 11:56:18 +01:00
Cosimo Lupo
6fc7671360
Release 3.13.0 2017-05-24 11:52:11 +01:00
Cosimo Lupo
fd3cd6f367 Merge pull request #969 from fonttools/varlib-iup
Varlib iup
2017-05-24 11:44:59 +01:00