Behdad Esfahbod
034ed355de
Fix bytes/unicode detection
...
https://github.com/behdad/fonttools/pull/233
2015-04-15 10:44:39 -07:00
Behdad Esfahbod
73031d5a63
Allow overriding python for running tests, as well choosing tests
...
The first arg to run-tests.sh is used as a regex to narrow down
tests to run. We should extend this to consider all args as
regexes.
Eg:
./run-tests.sh xml
2015-04-14 19:19:05 -07:00
Behdad Esfahbod
80758953ff
Allow running test suite without git checkout
...
Should I prefer the git-grep if .git/ is available?
2015-04-14 19:11:25 -07:00
Behdad Esfahbod
8b0152f0a1
Fix XMLWriter to take sinks that accept both bytes() and unicodes()
...
Fix xmlWriter_test with python3 as well.
2015-04-14 19:07:34 -07:00
Sascha Brawer
2ac42ad3ec
Support unittests in addition to doctests
...
The Python libraries come with two ways of writing unittests:
module unittest, and module doctest. In some cases, unittest
is more natural (less cumbersome) than doctest.
Wrote tests on xmlWriter for illustration.
2015-04-14 17:52:17 -07:00
Sascha Brawer
dc8a66956a
Support 'ltag' table for IETF BCP-47 language tags
...
Resolves #226
2015-04-14 17:50:42 -07:00
Behdad Esfahbod
7c9ab300c2
Add standard imports to all python sources
...
Previously, the trivial files didn't have them.
2015-04-14 17:26:59 -07:00
Behdad Esfahbod
9db2ace931
Fix ttProgram test for Python3
2015-04-14 13:25:19 -07:00
Behdad Esfahbod
2702a5b879
Hook up ttProgram tests to doctest
2015-04-14 11:51:03 -07:00
Behdad Esfahbod
5cd4e51450
Update MetaTools/buildTableList.py for recent changes
2015-04-14 00:17:52 -07:00
Behdad Esfahbod
60f13a55df
Merge pull request #225 from sansplomb/master
...
sorted vTables
2015-04-11 23:58:06 -07:00
sansplomb
a18416076c
sorted vTables
2015-04-10 16:31:41 +02:00
Behdad Esfahbod
64a5103a77
Merge pull request #212 from vitalyvolkov/master
...
Handle the exception of IndexError when list item access is out of range
2015-04-08 14:33:23 -07:00
Behdad Esfahbod
f1ec43cefa
[TravisCI] Test on pypy and pypy3 as well
2015-04-07 19:12:08 -07:00
Behdad Esfahbod
a38c3f577a
Try fixing TravisCI build
2015-04-07 19:09:37 -07:00
Behdad Esfahbod
c0e7bb859f
Add test to make sure supported table entries are added to git
...
Catches the vase where support for a table is added, but the .py
file is not added to git (like happened for feat and fvar tables).
2015-04-07 18:27:23 -07:00
Behdad Esfahbod
da900f656c
Run module tests as modules
2015-04-07 18:27:23 -07:00
Behdad Esfahbod
f7861e5e58
Add a minimal Makefile that calls setup.py
2015-04-07 18:27:23 -07:00
Behdad Esfahbod
2aac2f0eeb
Actually add the fvar table. Ouch!
2015-04-07 18:02:04 -07:00
Behdad Esfahbod
81750849fc
Allow setting name entries to Unicode strings
...
Just convert to bytes if needed when compiling table.
2015-04-07 17:58:11 -07:00
Behdad Esfahbod
e3f531783a
Don't modify name table object when compiling
2015-04-07 17:56:51 -07:00
Behdad Esfahbod
4458f363e3
[ttx] Write out name table entries as Unicode when possible
...
https://github.com/behdad/fonttools/issues/54
There's a new attribute named unicode that can choose whether the
text in the XML entry is to be interpretted as Unicode, or as the
target encoding.
2015-04-07 17:52:51 -07:00
Behdad Esfahbod
98aee5f11a
Add getEncoding() to name table entries
2015-04-03 10:07:57 -07:00
Behdad Esfahbod
24264cb7f8
[subset] Fix chaos handling to be more inclusive
...
If a contextual lookup recurses twice on the same index, that index
most be marked chaotic for the second recursion.
Also, when a non-1-to-1 recursion happens, only mark glyph locations
after current to be chaotic, not everything.
I believe this fixes a bug that before we were not inclusive enough.
Now we might have introduced more false positives, but we are at least
correct.
2015-04-01 18:51:52 -07:00
Behdad Esfahbod
2a7007df7b
[subset] Indent
2015-04-01 18:22:51 -07:00
Behdad Esfahbod
9ab1d2f968
[subset] Minor
2015-04-01 18:18:56 -07:00
Behdad Esfahbod
13d48da3a9
[subset] Avoid duplicate recursions in closure_glyphs() for contextuals
...
Speeds up NotoNastaliqUrdu from 50s to 1.8s.
2015-04-01 18:15:01 -07:00
Behdad Esfahbod
4a3dcd589e
[subset] Whitespace
2015-04-01 17:51:54 -07:00
Behdad Esfahbod
22ffbba4b7
[subset] Further narrow down cur_glyphs in recursive contextuals
...
Improves NotoNastaliqDraft closure_glyphs() time from 60s to 50s.
This was originally introduced in 1d4fa13b4. I'm fairly confident
new code is correct.
2015-04-01 17:45:55 -07:00
Behdad Esfahbod
c4d0400004
[subset] Speed up closure_glyphs() a bit
...
Was taking nine minutes on NotoNastaliqUrdu font.
With these changes it takes only(1) one minute now.
More coming.
2015-04-01 17:34:38 -07:00
Behdad Esfahbod
56cc4c151b
Merge pull request #223 from anthrotype/woff_checksum
...
[sfnt] fix WOFF checksum adjustment calculation
2015-04-01 10:58:35 -07:00
Cosimo Lupo
4c4c65fac0
[sfnt] fix WOFF checksum adjustment calculation
...
Use 'origLength' and 'origChecksum', instead of 'length' and
'checksum', to calculate the checksum adjustment of WOFF.
2015-04-01 10:25:06 +01:00
Behdad Esfahbod
0bf67b50bd
[glyf] Implement optimal glyph outline packing; disabled by default
...
Dynamic-Programming-based algorithm. Previously we had a greedy
algorithm only.
Unfortunately the savings are truly negligible. In the order of ~20
bytes for each of the Roboto faces, less so for Noto fonts. Even on
a 20MB font, it produced less than 100 bytes saving compared to our
greedy packing. Either I made a huge mistake, or this is so not worth
it. Anyway, the code is there, but disabled.
2015-03-30 16:47:49 -07:00
Behdad Esfahbod
4e616d2f7f
Accept MS Symbol cmap tables as Unicode-compatible
...
Apparently these days these tables are used to encode symbols in
PUA, so they are still Unicode-compatible...
This follows a similar change in fontconfig.
2015-03-30 16:47:48 -07:00
Behdad Esfahbod
cd1bc34f89
Simplify glyf packing a bit more
2015-03-30 16:47:48 -07:00
Behdad Esfahbod
c72058623b
Minor
2015-03-30 16:47:48 -07:00
Behdad Esfahbod
630284e31a
Minor
2015-03-30 16:47:48 -07:00
Behdad Esfahbod
0679a7691d
Move glyf coordinate delta packing into new function
2015-03-30 16:47:47 -07:00
Behdad Esfahbod
a40b20d0e0
Minor shuffling of glyf compression code
2015-03-30 16:47:47 -07:00
Behdad Esfahbod
a9632a376b
Merge pull request #219 from anthrotype/bytesjoin
...
[_n_a_m_e] fix "can't concat bytes to str" error in python 3
2015-03-20 12:42:53 -07:00
Cosimo Lupo
743e990b5c
[_n_a_m_e] fix "can't concat bytes to str" error in py3
2015-03-19 18:11:19 +00:00
Behdad Esfahbod
c511745b2e
Work around a Jython bug:
...
>>> import array; array.array("f", array.array("b", [1,2,3]))
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: can only extend with array of same kind
>>> import array; array.array("f", list(array.array("b", [1,2,3])))
array('f', [1.0, 2.0, 3.0])
2015-03-17 15:32:57 -07:00
Behdad Esfahbod
b9ac90a8f9
[GX] Add 'fvar' table support
...
I might change the table format in the future, but it's functional now.
2015-03-11 15:29:35 -07:00
Behdad Esfahbod
61cda14c1b
Actually add _f_e_a_t.py
...
Ouch!
2015-03-11 12:31:44 -07:00
Behdad Esfahbod
467a0369e4
Fix test on Python 2.6
2015-03-03 16:05:25 -08:00
Behdad Esfahbod
1296c7457e
Make tests pass with Python3
...
In python3, str(float) is noisy. Always format floats using "%g".
2015-03-03 15:54:37 -08:00
Behdad Esfahbod
e5b78aa212
Fix run-tests.sh to run on dash
...
$(()) is more portable than let, who knew...
2015-03-03 11:31:22 -08:00
Behdad Esfahbod
e02b9ea05b
Fix tests to return failures
2015-03-03 10:47:40 -08:00
Behdad Esfahbod
47cd66e43b
Make run-tests.sh call doctest module directly
...
This makes it fail correctly. Also, run doctest in verbose mode.
2015-03-03 10:47:20 -08:00
Behdad Esfahbod
f439e7b07d
Really fix test runner this time
...
Still doesn't work as we don't return failure from the Python fails
if doctests fail. But the test runner script is correct now.
2015-03-03 10:39:55 -08:00