Commit Graph

60 Commits (master)

Author SHA1 Message Date
Mike Frysinger 0f9dd9627a use current macOS naming style consistently 2021-10-30 13:49:21 -04:00
Mike Frysinger dbc310fca7 cleanup Windows CRLF line endlings 2021-09-11 12:48:02 -04:00
Pierre Joye ef7de619a3 Fix #128, min libjpeg and jpeg-turbo supported 2021-09-02 11:04:33 +07:00
Pierre Joye f6ee6fb79d Docs for CI 2021-09-01 09:44:30 +07:00
Pierre Joye 284a2c6cae rare case, but let other not waste time trying to fix it 2021-08-27 05:03:58 +07:00
Pierre Joye a70f4c3851 add a section about using vcpkg to install the dependencies on windows (or other) 2021-08-24 18:42:58 +07:00
Pierre Joye 0f262115c3 +not 2021-08-21 07:57:10 +07:00
Pierre Joye f61c7e87fd Add docs build using cmake 2021-08-20 11:23:33 +07:00
Pierre Joye 3f78e131a4 fix title 2021-08-20 08:21:43 +07:00
Pierre Joye 57823caf70 update menu 2021-08-20 07:18:12 +07:00
Mike Frysinger bf36fa539b use https://libgd.org 2021-07-05 23:59:35 -04:00
Mike Frysinger 27da3a23e7 getver: rewrite from perl to shell+awk #535
People are more familiar with shell than perl at this point.
Fixes #535.
2021-04-24 22:48:24 -04:00
Mike Frysinger ef2b468a2d docs: strip trailing whitespace in generated files 2021-04-21 00:42:05 -04:00
Ben Morss f2aa2836ed
AVIF support (#671)
Demand for AVIF support on the web is growing, as the word gets out
about this new file format which allows higher-quality encoding at
smaller sizes.  Core contributors to major open-source CMSs are
interested in auto-generating AVIF images! They've been simply
waiting for support to appear in libgd.

This PR aims to meet the growing demand, and to help bring smaller,
more beautiful images to more of the web - to sites created by
experienced developers and CMS users alike.

This PR adds support by incorporating libavif in addition to the
existing libheif support.  It's generally felt that libavif has
more complete support for the AVIF format. libavif is also used
by the Chromium project and squoosh.app.

In this PR, I've endeavored to incorporate the latest research into
best practices for AVIF encoding - not just for default quantizer
values, but also an algorithm for determining the number of
horizontal tiles, vertical tiles, and threads.

Fixes #557.
2021-03-03 21:35:56 -05:00
Martin Reboredo 39c4644fa0
HEIF support through libheif (#670)
With the adoption of AVIF by Firefox and Chromium based browsers (still
in experimental phase), the newer incorporation of HEIF by Canon and Sony 
in their cameras and the newer support of both of them in modern software 
like ImageMagick, GIMP and Krita, `gd` haven't seen any endorsement for
the formats up until this PR.

Reading and writing is done by `libheif`, with functionality for chroma 
subsampling (for now `4:2:0`, `4:2:2` and `4:4:4`), quality (with new
`200` for lossless) and compression (whether `HEVC` or `AV1`) selection. 

This was tested with `libheif` version `1.11.0` in my Solus machine.

Also, fixes both #395 and #557.
2021-03-02 12:32:03 -05:00
Mike Frysinger 76db9d7c71 naturaldocs: fix program error from shell fixes
My previous changes to fix up shellcheck warnings broke this slightly
by not actually displaying the program name.  Add some debugging info
to help triage issues in here in the future.
2021-02-20 03:23:01 -05:00
Mike Frysinger c75db8d082 scripts: clean up various shellcheck warnings
Should hopefully not break anything :).
2021-02-08 18:10:51 -05:00
Ondřej Surý 1d679baadf Add http://keepachangelog.com/ based changelog for 2.2.4 (MarkDown based) 2020-03-22 21:40:02 +08:00
wilson chen de68959bb2
docs/README.CMAKE: add some options 2020-03-13 23:38:23 +08:00
willson-chen ce38651a9f README.TESTING: Update source download url and bug report url 2019-09-28 05:36:21 -04:00
Peter Kokot 0691a6c194 Remove mention of HAVE_STDARG_H
In the docs there is a minor mention of the unused HAVE_STDARG_H symbol
which is not used in libgd anymore. The <stdarg.h> header is part of C89
standard headers anyway and can be included unconditionally.
2018-09-08 03:17:37 -04:00
Peter Kokot 1e7f93922f Remove HAVE_ERRNO_H
The `<errno.h>` header file is part of the standard C89 headers [1] and
on older systems there needed to be also a manual check if header is
present.

Since libgd requires at least C89 or greater, the `HAVE_ERRNO_H`
symbol defined by Autoconf in configure.ac [2], and Cmake build system
files can be removed and simplifed.

Refs:
[1] https://port70.net/~nsz/c/c89/c89-draft.html#4.1.3
[2] https://git.savannah.gnu.org/cgit/autoconf.git/tree/lib/autoconf/headers.m4
2018-09-05 01:39:49 -04:00
Mike Frysinger 96d68e3614 docs: use UTF-8 encoding for README.JPN
This file is encoded as ISO-2022-JP.  Convert to the more common and
modern UTF-8.
2018-09-04 21:29:46 -04:00
Mike Frysinger fd06f7f83c clean up trailing whitespace/newlines
This is preparation for adding some linting checks for new commits from
people.  Shouldn't be any functional changes here (tests still pass!).
2018-06-21 22:47:42 -04:00
Galik 3385b9aebf Truetype font drawing functions now take `const` strings (#400)
The following API functions now accept the font names and the text to be
printed as `const char*` rater than `char*`. This makes the functions
much more `C++` friendly.

gdImageStringFT();
gdImageStringTTF();
gdImageStringFTEx();

Other functions/types affected:

typeed struct fontkey_t;

any2eucjp();
gdTcl_UtfToUniChar();
DetectKanjiCode();
do_convert();
do_check_and_conv();
2017-07-29 11:24:32 -04:00
Christoph M. Becker 3e8b5c5ee2 Test and document some filter functions 2016-09-27 13:34:18 +02:00
Christoph M. Becker 4143073c88 Improve documentation of built-in fonts and their handling 2016-08-14 17:31:54 +02:00
Christoph M. Becker 9a3bd7077e Group the supported image formats in the menu of the docs
To do so we have to add Menu.txt to the project, but we can ignore
Languages.txt and Topics.txt, at least for now.
2016-08-14 16:11:05 +02:00
Christoph M. Becker 5fccc3c4b7 Resolve #282: COPYING vs. docs/naturaldocs/license.txt
Basically, docs/naturaldocs/license.txt is a duplicate of COPYING, which
is going to be used only by Natural Docs. We remove the file and generate
it on the fly instead; also we adjust COPYING to make it easier to obtain
a pleasing result without sacrificing COPYING's readability.

The diff is best viewed with whitespace changes ignored.
2016-08-04 02:11:13 +02:00
Christoph M. Becker 8b428fd859 Sync COPYING and docs/naturaldocs/license.txt 2016-08-03 16:48:15 +02:00
Christoph M. Becker 6bc15ce699 Use more common web-style paragraphs for the docs
See <http://www.naturaldocs.org/styles.html#WebStyleParagraphs>.
2016-08-03 16:29:33 +02:00
Remi Collet 611142cc39 document about test failure on non x86 arch, see #278 2016-07-26 11:04:58 +02:00
Mike Frysinger 1586f16bc2 docs: fix some typos 2016-07-22 00:31:15 +05:30
Pierre Joye 62ecc651e7 fix #242, add a note to readme.testing 2016-07-20 16:32:01 +07:00
Christoph M. Becker cf33db2565 Don't forget to `make` 2016-07-14 13:35:32 +02:00
Mike Frysinger 046290cd9e travis: update comments and add git status check
Want to make sure we don't forget to update .gitignore files!
2016-06-10 14:45:48 -04:00
Mike Frysinger e6bf7714d7 docs: clean up a bit and support `NaturalDocs`
Some installs use `NaturalDocs` instead of `naturaldocs`,
so add support for either form.
2016-05-18 03:23:28 -04:00
Mike Frysinger 8bdfede0a4 cmake: document the common build/install steps #179 2016-05-03 02:28:16 -04:00
Wangkun 917fa11bfb fix CMake error when ENABLE_WEBP 2015-05-07 17:48:37 +08:00
Chris Reuter 275ac17bcc Started importing the old manual into Naturaldocs comments.
This changeset imports documention for gdImage to gdImagePng*() into
Natural Docs.  Documention is based on the text of the original
manual, version 2.0.36 but adapted to better suit the format.
Subsequent changesets will introduce docs for subsequent manual
entries.

naturaldocs, when present, is invoked by bootstrap.sh.  The completed
manual will be in docs/naturaldocs/html/index.html.  It can also be
explicitly invoked by running docs/naturaldocs/run_docs.sh.

This change also removed docs/naturaldocs/project/Menu.txt, since it
currently contains no non-generated content and is prone to introduce
noise into the changeset.
2014-01-07 15:29:06 -05:00
Chris Reuter c9d2f89597 Added gdImageFile(), gdImageCreateFromFile() and gdSupportsFileType().
These are convenience functions which load or save image data to a
file.  They are roughly equivalent to opening a file handle with
fopen() and calling gdImageCreateFrom*() or gdImage*() on the FILE
pointer.  However, these functions identify the input or output format
from the filename suffix and call the appropriate read or write
function accordingly.

gdSupportsFileType() can be used to test if a specific file format
is supported.

Most scripting interfaces already do something like this but now
there's support for doing it from C as well.

This change also adds test cases for the code and naturaldocs
documentation.
2013-12-16 17:27:34 -05:00
Chris Reuter 6febd903b6 Added a new Gaussian blur function.
gdImageCopyGaussianBlurred() returns a blurred copy of its argument.
Blurring is done in two passes to take advantage of the Gaussian
function's separability for.  This makes the algorithm much faster
than single-pass implementations, especially for larger radii.

This change also adds documentation for the new function and the
existing blur (gdImageGaussianBlur()).
2013-12-10 19:17:28 -05:00
Chris Reuter 3c1202e5bb Added beginnings of an updated manual
This changeset adds scripts and frontmatter for a user manual
for LibGD.  The manual is written using naturaldoc.  That is, the
actual manual (minus some front-matter taken from the manual for
version 2.0.36) is generated from specially-formatted comments in
the source code.

bootstrap.sh has been modified to also trigger generation of the
manual.
2013-11-18 18:21:27 -05:00
Ondřej Surý dfea0940ae Add INSTALL notes for Solaris conflicting iconv.h headers (fixes #76) 2013-06-28 08:23:25 +02:00
Marcin Wojdyr 7584de7638 remove unused docs/Makefile.am 2013-05-10 20:29:46 +01:00
Takeshi Abe 13c81767a1 We have moved to git 2013-04-24 09:38:57 +09:00
Pierre Joye d7be0f8f5d add CMakeLists.txt 2013-04-23 20:05:03 +02:00
Pierre Joye 088a0ddf6e add tiff 2013-04-12 00:57:57 +02:00
Ondřej Surý ac6222f945 Merge outstanding autotools changes 2013-04-08 09:12:06 +02:00
Takeshi Abe 2995810ffd remove obsolete README file for libjpeg 2013-02-21 23:11:23 +09:00