Commit Graph

65 Commits

Author SHA1 Message Date
Andrew Murray
ca3ad49de3 Fixed bug when checking FreeType2 version if it is not installed 2021-04-29 23:10:08 +10:00
Eric Soroos
ba65f0b08e Fix Memory DOS in ImageFont
* A corrupt or specially crafted TTF font could have font metrics that
  lead to unreasonably large sizes when rendering text in
  font. ImageFont.py did not check the image size before allocating
  memory for it.
* Found with oss-fuzz
* This dates from the PIL fork
2021-04-01 17:17:27 +03:00
Andrew Murray
043d8dac0b Do not require packaging just for a DeprecationWarning 2020-12-18 23:42:16 +11:00
Hugo van Kemenade
27bf17009c Deprecate FreeType 2.7, to be removed in Pillow 9 (2022-01-02) 2020-12-17 10:28:06 +02:00
Andrew Murray
4f0b9185a3 Fixed link formatting 2020-11-14 08:41:44 +11:00
nulano
d7a08cbd15 add color support to new text measuring functions 2020-10-12 16:05:19 +01:00
nulano
90e8255ba4 Merge remote-tracking branch 'upstream/master' into anchor-part3
# Conflicts:
#	Tests/test_imagefontctl.py
2020-10-12 15:50:45 +01:00
nulano
067a254366
Apply suggestions from code review
Co-authored-by: Hugo van Kemenade <hugovk@users.noreply.github.com>
2020-10-11 21:55:32 +02:00
nulano
9b5931f212
typo
Co-authored-by: Andrew Murray <3112309+radarhere@users.noreply.github.com>
2020-10-09 16:43:10 +02:00
nulano
c80f123923 document ImageDraw.textlength and ImageDraw.textbbox 2020-10-09 01:43:23 +01:00
nulano
395aa946a9 add getbbox and getlength, with tests
Squashed commits:

[ec9ec31b] add tests for invalid anchor
(cherry picked from commit 9e50a6a47f79876ee56942152047f03fff03c49b)

[386a9170] fix lint and docs
(cherry picked from commit 2d0d5282fcfc3ee332a41e60b865ee766445cc3d)

[29f5d4c9] restore and document previous getsize behaviour
see discussion in issue 4789
(cherry picked from commit 9fbc94571ce0ed42fdd11e99f343a1613c9dc6d3)

[0ffd51a0] add getbbox and getlength, with tests
(cherry picked from commit c5f63737476a998c81e589e5819d21ca69bb7b46)
2020-10-09 00:56:58 +01:00
nulano
82a28d12e2 add support for fonts with COLR data 2020-10-07 05:29:10 +01:00
nulano
a9b8dcba7d write anchor docs
(cherry picked from commit dcaee36941e6cb5e6f93186b6f819fb74887e0d3)
2020-09-22 14:58:17 +02:00
nulano
e6d4c2ce8f implement text anchor for truetype fonts
(cherry picked from commit bac9025918ccf944bac77addc130f33cf9d74701)
2020-09-19 15:17:45 +02:00
Hugo van Kemenade
93d011efb5
Merge pull request #4910 from nulano/anchor-part1 2020-09-19 13:41:15 +03:00
nulano
a501ba9308 update link in comment 2020-09-11 01:14:00 +02:00
nulano
54e067779b fix and add tests
(cherry picked from commit 0b711f10d0490863976699c051f2027b6799d501) (+1 squashed commits)

Squashed commits:

[9d4e6c17] fix tests
2020-09-09 02:12:21 +02:00
Hugo van Kemenade
e0eec1eb56 Merge branch 'master' into rm-3.5 2020-09-01 20:16:46 +03:00
nulano
d36850e037 fix docs typos 2020-08-11 02:14:13 +02:00
Hugo van Kemenade
e42aec8c90 Update Black target to py36 2020-07-27 17:02:10 +03:00
Andrew Murray
4ae694cd7b
Merge pull request #4712 from cool-RR/2020-06-12-raise-from
Fix exception causes all over the codebase
2020-06-28 15:22:05 +10:00
Hugo van Kemenade
390b34c231
Merge pull request #4664 from nulano/ft-getsize-mode 2020-06-21 18:53:03 +03:00
Ram Rachum
2f0d430807 Fix exception causes all over the codebase 2020-06-21 13:21:25 +03:00
nulano
097104278b add docs for features module 2020-06-13 04:28:02 +02:00
nulano
9fbd35fe87 use mode for getsize 2020-06-01 22:18:38 +02:00
Hugo
dda6145fce Since Python 3.3 IOError and WindowsError have been merged into OSError 2020-04-10 12:57:29 +03:00
Andrew Murray
dd8b0de666 Close excusively opened images 2020-02-18 20:49:05 +11:00
Andrew Murray
6cd99fc3cf
Merge branch 'master' into rm-2.7 2019-10-08 18:57:27 +11:00
Jon Dufresne
64032061c0 Move several imports to the top-level of the file
This better follows PEP 8 style guide:

https://www.python.org/dev/peps/pep-0008/#imports

> Imports are always put at the top of the file, just after any module
> comments and docstrings, and before module globals and constants.

This also avoids duplicate import code within the same file.
2019-10-07 06:28:36 -07:00
Hugo
538d9e2e5d Upgrade Python syntax with pyupgrade --py3-plus 2019-10-07 14:30:59 +03:00
Hugo
af770a6c55 Drop support for EOL Python 2.7 2019-10-07 14:30:59 +03:00
Andrew Murray
da39d40342
Merge pull request #3978 from radarhere/stroke
Added text stroking
2019-09-06 19:14:49 +10:00
Hugo van Kemenade
e980d023db
Merge pull request #3969 from radarhere/encoding
Documented more encoding values
2019-09-04 16:51:13 +03:00
Andrew Murray
86c64aafd2 Formatted text [ci skip] 2019-08-12 20:43:32 +10:00
Andrew Murray
eb0a61a47e
Simplified text [ci skip]
Co-Authored-By: Hugo van Kemenade <hugovk@users.noreply.github.com>
2019-08-12 20:42:27 +10:00
Andrew Murray
b307fb4808 Noted a Windows limit on opening fonts [ci skip] 2019-08-12 20:19:49 +10:00
Andrew Murray
8fb437d37f Improved ImageFont documentation [ci skip] 2019-08-12 20:04:18 +10:00
Andrew Murray
f93a5d0972 Added text stroking 2019-07-29 06:40:03 +10:00
Andrew Murray
dfed1424d1 Improved ImageFont documentation 2019-07-25 20:04:45 +10:00
Andrew Murray
c76369ce87 Explain that encoding does not alter text 2019-07-16 19:28:54 +10:00
Andrew Murray
0427170db5 Documented more encoding values 2019-07-15 19:04:35 +10:00
Jon Dufresne
d50445ff30 Introduce isort to automate import ordering and formatting
Similar to the recent adoption of Black. isort is a Python utility to
sort imports alphabetically and automatically separate into sections. By
using isort, contributors can quickly and automatically conform to the
projects style without thinking. Just let the tool do it.

Uses the configuration recommended by the Black to avoid conflicts of
style.

Rewrite TestImageQt.test_deprecated to no rely on import order.
2019-07-06 16:11:35 -07:00
Andrew Murray
7bb16de81c Fixed crash when loading non-font bytes 2019-06-23 11:53:01 +10:00
Andrew Murray
da16b7ec45 Added variation font support 2019-06-19 20:27:49 +10:00
Hugo
2334040f56
Merge pull request #3860 from olt/non-ascii-quotes
Replace non-ascii quotes from docstring
2019-06-19 12:03:14 +03:00
Hugo
cab7231e2a Format with Black 2019-06-11 11:42:05 +03:00
Hugo
53a7e35004 Format with Black 2019-06-10 18:22:46 +03:00
Oliver Tonnhofer
26b71998d2 Replace non-ascii quotes from docstring [ci skip] 2019-05-24 12:09:14 +02:00
Andrew Murray
69b733d5f1 Changed if to elif 2019-05-04 23:05:07 +10:00
Andrew Murray
568fc2def8 Simplified code 2019-05-04 23:05:07 +10:00