Cosimo Lupo
25aad9041d
minor: fix doctest failing on latest pypy
...
Expected:
[-0.0, -0.0, -0.0]
Got:
[0.0, 0.0, 0.0]
2017-07-24 16:47:07 +01:00
Cosimo Lupo
8ca53c6a17
[name] fix bcp46 language tag for Mac langID=9: 'si' -> 'sl'
...
Fixes #1013
2017-07-24 13:03:38 +01:00
Cosimo Lupo
c0d672ba70
[subset] return value from _DehintingT2Decompiler.op_hintmask
...
The `_SimpleT2Decompiler.execute` method expects that handlers for
hintmask/cntrmask operators return a tuple of (hintMaskBytes, index).
The index value is used to skip to the next token following the
hintmask bytes.
However, the `_DehintingT2Decompiler.op_hintmask` method was returning
None, thus the hintmask bytes were evaluated as the following token
instead of being consumed as such; but since in legacy python 2
`isinstance(token, basestring)` is True for both operators and
hintmask bytes, the latter might sometimes be wrongly interpreted
as operators!
For example, the hintmask bits '0110111101110010', encoded as a
bytes string `'\x6f\x72'` was being confused for the unimplemented
`'or'` operator...
Fixes #1006
2017-07-20 21:45:30 +01:00
Cosimo Lupo
72baa5a7d5
[cffLib/psCharStrings] remove cffCtx, pass down isCFF2
...
* Removed `CFFContext`
* Added `isCFF2` argument to CFFFontSet.decompile/compile, used from
respective ttLib classes
* Index classes get a `isCFF2` argument in constructor (used for
decompiling); must be True/False if `file` argument is not None;
it is stored as self._isCFF2 to support lazy loading
* Removed `TopDictData` class; reuse same `TopDictIndexCompiler` for
both CFF and CFF2
* `CFFWriter` and all `*Compiler` classes get an `isCFF2` argument;
defaults to the parent compiler's `isCFF2` attribute
* Removed `size` argument from `produceItem` method as unused and
useless (`len(data)` is the same)
* psCharStrings: removed useless ByteCodeBase class
* A reference to the TopDict's VarStoreData is passed down to all
the FontDicts' PrivateDict, so it can be used to get the number of
regions while decompiling blend and vsindex operators
See dicussion:
https://github.com/fonttools/fonttools/pull/968#issuecomment-309920007
2017-07-19 18:18:58 +01:00
Miguel Sousa
12b7c60a68
[feaLib] Cap nameID value to the maximum defined by OT spec
...
a9d260bfa2 (commitcomment-23115168)
2017-07-15 16:44:17 -07:00
Miguel Sousa
a9d260bfa2
[feaLib] Enable setting nameIDs greater than 255
...
Fixes #1003
2017-07-15 08:21:09 -07:00
Behdad Esfahbod
8dc5340b1d
[varLib] Minor; Remove nonexistent attribute name from ignore list
2017-07-14 09:12:04 +01:00
Miguel Sousa
4a8c1511ec
[otData] Label AxisNameID as NameID
2017-07-14 00:08:52 -07:00
Miguel Sousa
9aa3247603
[ttLib] Support CFF2 in getGlyphSet()
2017-07-13 01:13:46 -07:00
Miguel Sousa
dbf78fe930
[psCharStrings] Fix assert
2017-07-12 22:50:06 -07:00
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
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
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
Cosimo Lupo
41fb1ba1bc
Merge pull request #975 from googlei18n/master
...
[varLib.interpolate_layout] Allow disabling avar mapping
2017-05-24 10:07:08 +01:00
Cosimo Lupo
a4861a16cc
use logging.warning() instead of deprecated logging.warn()
...
functionality is identical, the latter is deprecated:
https://docs.python.org/3/library/logging.html#logging.Logger.warning
2017-05-24 09:49:37 +01:00
Khaled Hosny
61670fc652
Use logging module for these warnings
...
Not sure if warnings module was used intentionally here, but the
messages looked odd compared to other FontTools messages.
2017-05-24 10:00:55 +02:00
Behdad Esfahbod
c96f83cc30
[varLib.interpolate_layout] Allow disabling avar mapping
...
See https://github.com/fonttools/fonttools/issues/950#issuecomment-303641054
2017-05-24 00:26:35 -07:00
Behdad Esfahbod
dbc54a2429
[varLib.models] Mark VariationModel.interpolateFromDeltasAndScalars static
...
This correctly reflects that all we need to interpolate is deltas and
scalars.
2017-05-23 01:01:07 -07:00