9492 Commits

Author SHA1 Message Date
Simon Cozens
f887389d59
[docs] Fully document the cmap table (#2454)
* Fully document the cmap table

* Try not to completely break cmap handling while writing docs, Simon
2021-12-02 15:32:03 +00:00
Simon Cozens
0f03e6529a
[docs] Fix sphinx warnings (#2453)
* Add default auto doc options

* Ensure all references are unique

* Use anonymous links to avoid duplicate references

* Remove default options, fix wrong module name

* Don’t index repeated class

* Remove repeated classes included through automodule

* Fix warnings

* We don’t use our own static directory

* Correctly format XML in docs

* Fix indentation

* Fix overline

* Bring TOC to top

* Fix definition list

* Offset definition lists and examples

* Fix erroneous markup

* Fix markup

* Already included in automodule

* Fix args markup

* Correct markup for example

* Don’t reindex repeated module

* Correct XML code block markup

* Fix markup errors, change example to doctest

* Correct list markup

* Make ttx docstring both valid RST and valid help output

* Various other boring markup fixes

* Fix example indenting

* Make docstring valid RST and valid help output

* Mock import for reportlab

* It’s ok if manual links don’t appear in toctrees

* Oops typo, I guess doctests are useful
2021-12-02 15:31:49 +00:00
Khaled Hosny
445108f735
Merge pull request #2458 from fonttools/pyup-scheduled-update-2021-11-29
Scheduled weekly dependency update for week 48
2021-11-29 18:34:08 +02:00
pyup-bot
9f6b827a53 Update scipy from 1.7.2 to 1.7.3 2021-11-29 16:06:09 +00:00
pyup-bot
e475b4adcc Update reportlab from 3.6.2 to 3.6.3 2021-11-29 16:06:09 +00:00
pyup-bot
ea7b1a4a9e Update sphinx from 4.3.0 to 4.3.1 2021-11-29 16:06:08 +00:00
Cosimo Lupo
180bb18673 colorLib.unbuilder: fix CLI by deleting no longer existing parameter 2021-11-25 15:01:19 +00:00
Khaled Hosny
5f65d7229a
Merge pull request #2456 from fonttools/pyup-scheduled-update-2021-11-22
Scheduled weekly dependency update for week 47
2021-11-25 16:45:58 +02:00
pyup-bot
22f170af8b Update fs from 2.4.13 to 2.4.14 2021-11-22 16:06:05 +00:00
pyup-bot
2b8f493f32 Update sphinx from 4.2.0 to 4.3.0 2021-11-22 16:06:04 +00:00
Khaled Hosny
6cd8bcbcd0 [skip ci] Minor formatting 2021-11-22 02:33:39 +02:00
Khaled Hosny
bc6f748ee4 Bump version: 4.28.2 → 4.28.3.dev0 2021-11-22 02:18:37 +02:00
Khaled Hosny
5b62a8846f Release 4.28.2 2021-11-22 02:18:37 +02:00
Khaled Hosny
0a7164a452
Merge pull request #2447 from fonttools/merge-cff-rebased
Merge CFF rebased
2021-11-19 14:20:26 +02:00
Khaled Hosny
1fa579f6b8 [merge] Add CFF merging integration test 2021-11-18 22:14:41 +02:00
Khaled Hosny
40f82a8515 [merge] Support --output-file 2021-11-18 22:09:02 +02:00
Khaled Hosny
c20a63a166 [merge] Move test to its own dir 2021-11-18 21:27:01 +02:00
Khaled Hosny
10c05b8eed [merge] Remove subroutines debug code
We are not doing anything about subroutines (and there shouldn’t be any
since the tables are desubroutinized), so this code is just making it
look noisy.
2021-11-18 16:39:41 +02:00
Khaled Hosny
d7c3a967cf [merge] Support non-indexed CharStrings 2021-11-18 16:37:09 +02:00
Khaled Hosny
18236ca91d
Merge pull request #2440 from dscorbett/dedupe-buildCoverage
[otlLib] Remove duplicates when building coverage
2021-11-18 15:36:37 +02:00
Simon Cozens
e0dc30aa2d
[docs] Improve documentation for fontTools.ttLib.ttFont (#2442) 2021-11-18 13:06:02 +00:00
Simon Cozens
af9dfc94e7
Forbid empty classes (take 2) (#2446) 2021-11-18 11:31:49 +00:00
Simon Cozens
00f37ea6b6
[docs] Split table docs into individual pages (#2444) 2021-11-18 09:01:27 +00:00
Khaled Hosny
753a841de6 [merge] Minor and comment 2021-11-17 21:03:52 +02:00
Khaled Hosny
6acf76996e [merge] Don’t process CFF before all other tables
I don’t know why this code was there, but my tests make no difference
with or without it.
2021-11-17 21:03:52 +02:00
Khaled Hosny
a53ded3b31 [merge] Don’t create TTFont then throw it away
The font is opened later, so use that.
2021-11-17 21:03:52 +02:00
Khaled Hosny
5299a3cb83 [merge] Simplify renaming CFF CharStrings 2021-11-17 21:03:52 +02:00
Khaled Hosny
8e9ab24c11 [cffLib] Move desubroutinize from subset module to CFFFontSet
This way we can use it from both subset and merge modules.
2021-11-17 21:03:49 +02:00
Cosimo Lupo
e5e69852ed merge: various cleanups (WIP) 2021-11-17 21:03:12 +02:00
Cosimo Lupo
a75e01204d Revert "Revert "Merge pull request #1289 from BlackFoundry/master""
This reverts commit 6deeb70acbe8f75dba29f1ea8c8d2cd6842bcbdc.
2021-11-17 21:03:12 +02:00
Cosimo Lupo
f15ed2dab0
Merge pull request #2448 from verbosus/checksum-comment
Removed comment about missing “start” optional argument to `calcChecksum`
2021-11-16 17:25:57 +00:00
Cosimo Lupo
9abfc00b71
Merge pull request #2452 from fonttools/subset-svg
Add support for subsetting OT-SVG table
2021-11-16 17:14:04 +00:00
Cosimo Lupo
247fa84b98 only rename glyph element ids when clash actually occurs 2021-11-16 14:28:14 +00:00
Cosimo Lupo
155ff60797 use any([<list comprehension>]) to avoid short-circuit function with side effect 2021-11-16 14:06:24 +00:00
Cosimo Lupo
dbcb9d6cee parametrize test_subset_single_glyph_per_svg, as per review 2021-11-16 14:06:24 +00:00
Cosimo Lupo
07455790b1 simplify ranges() generator 2021-11-16 14:06:24 +00:00
Cosimo Lupo
66ec30c073 subset/svg: decorate xpath with lru_cache 2021-11-16 14:06:24 +00:00
Cosimo Lupo
d45da5df4c factor out method to resolve href targets as per review 2021-11-16 12:27:12 +00:00
Cosimo Lupo
27e4052380 encode bytes before fromstring; decode to str after tostring
when decompiled from binary, the SVG.docList contains (unicode) strings, decoded as UTF-8. lxml fromstring accepts either bytes or str, but when given str with the xml header declaring an explicit encoding, it rejects them (since the header is lying). So we encode to bytes before calling fromstring in case the SVG contains an explicit encoding (UTF-8 is the only one allowed anyway). When serializing to XML with tostring, we similarly decode to str as UTF-8. Not only to match SVG decompile (which gives us str), but if we didn't do that, then attempting to dump to XML would fail, because XMLWriter.writecdata expects str, not bytes.
2021-11-15 19:06:38 +00:00
Cosimo Lupo
1d19cc6e23 add comment for reason not to short-circuit with any() 2021-11-15 18:17:19 +00:00
Cosimo Lupo
12ed8b752c simplify and do el.attrib.get('id') as per review 2021-11-15 17:46:42 +00:00
Cosimo Lupo
92470ea361 rename parmeter ids => retained_ids for clarity as per review 2021-11-15 17:41:42 +00:00
Cosimo Lupo
863c9de57c subset/svg_test: test more complex document with cross-references 2021-11-15 17:08:55 +00:00
Cosimo Lupo
a7216ae766 subset: drop svg doc if subsetted to empty 2021-11-15 17:08:55 +00:00
Cosimo Lupo
d1f2481fa0 fix invalid escape sequence in GID_RE pattern 2021-11-15 17:08:55 +00:00
Cosimo Lupo
361544ffe2 bump lxml==4.6.4 version to latest 2021-11-15 17:08:55 +00:00
Cosimo Lupo
a79106d09a add simple subset/svg_test.py 2021-11-15 17:08:55 +00:00
Cosimo Lupo
a4df567718 subset/svg: support resolving cross-references and pruning elements
With this I can finally follow xlink:href and url(#...) sort of
references within the SVG doc and subset the elements accordingly so
that only those that are reachable from the initial set of glyph
elements are kept.
2021-11-15 16:07:18 +00:00
Cosimo Lupo
05e6d577cd subset: add --pretty-svg option to enable lxml pretty_print
False (more compact) by default
2021-11-15 16:07:18 +00:00
Cosimo Lupo
0dc2be3e78 require lxml to subset SVG
support for namespaces and xpath is insufficient in built-in ElementTree; supporting both lxml and ElementTree is too complicated, let's simply require lxml to be able to subset SVG for now
2021-11-15 16:07:18 +00:00