Commit Graph

92 Commits

Author SHA1 Message Date
9a50c1795b Also test for MacOS X to include Unix headers
MacOS X doesn't define unix or __unix__, so also check for __APPLE__ to
include unistd.h (needed by getopt()).

Signed-off-by: Claudio Matsuoka <cmatsuoka@gmail.com>
2015-05-11 08:18:12 -03:00
a2e8c76114 Add regression test for right-to-left smushing with JavE font
Signed-off-by: Claudio Matsuoka <cmatsuoka@gmail.com>
2015-05-10 18:26:43 -03:00
58eec2948f Fix memory corruption with invalid smush amount
https://github.com/cmatsuoka/figlet/issues/4
lorenzogatti commented on Oct 28, 2014:

Another case of buffer overrun in the same function, again for right to left
layout: smushing away more characters that are contained in the outputline[]
buffers, with STRCAT being passed an invalid pointer (past the end of an
outputline[] buffer).

How is it possible to smush more characters than the length of the buffer? A
single character can be wider than the current line, but smushamt() doesn't
limit the amount of smushing to the length of the current line. Enormous
amounts of smushing are possible with space-rich fonts, such as the Obanner
collection.

Fixed in smushamt() by limiting the range of the result.

Test case:

$ figlet -f obanner132.flf -R -x -o -p -w 77 "Banner, o Banner"

--

Original fix by Lorenzo Gatti, reworked by Claudio Matsuoka.

Signed-off-by: Claudio Matsuoka <cmatsuoka@gmail.com>
2015-05-10 18:25:58 -03:00
89693cb2ab Initialize uninitialized string
Local string buffer was being operated without proper initialization, causing
wcslen() to operate on invalid values.

Signed-off-by: Claudio Matsuoka <cmatsuoka@gmail.com>
2015-05-10 18:25:16 -03:00
ab98e5ea0b Test script cleanup
Auto-increment the test number instead of passing it as a parameter.

Signed-off-by: Claudio Matsuoka <cmatsuoka@gmail.com>
2015-05-10 18:25:16 -03:00
95e3dc5430 Adjust compiler flags for modern gcc
The gcc compiler has unused value warnings enabled by default, so add
-Wno-unused-value flag to reduce noise in the compiler output.

Signed-off-by: Claudio Matsuoka <cmatsuoka@gmail.com>
2015-05-10 18:25:16 -03:00
8e06d0b41b Merge pull request #3 from ncopa/master
Fix build with musl libc
2014-06-03 11:22:15 -03:00
88428a728e Fix build with musl libc
Avoid using the glibc internal macros __BEGIN/__END_DECLS.

Signed-off-by: Natanael Copa <ncopa@alpinelinux.org>
2014-06-03 10:59:57 +00:00
3c3b5596a5 Add Kannada ttha character to Standard font
Add support for unicode character #3232. This character is of note because
it's commonly used to create the "look of disapproval" ASCII Art face: ಠ_ಠ.
You can see a FIGlet look of disapproval here:
   _____)      _____)
  /_ ___/     /_ ___/
  / _ \       / _ \
 | (_) |     | (_) |
  \___/ _____ \___/
       |_____|

Signed-off-by: Claudio Matsuoka <cmatsuoka@gmail.com>
2012-06-12 09:59:17 -03:00
1c1293b3e3 Make test script a bit more portable
Replaced mktemp which can be different/absent in some systems with
static filenames which should be good enough for our tests.

Signed-off-by: Claudio Matsuoka <cmatsuoka@gmail.com>
2012-06-03 13:36:38 -03:00
3851863336 run-tests.sh: Use Octal sequence for printf
Hex sequence is not POSIX compliant, causing run-tests.sh to fail on
systems with Debian Almquist shell as the default shell.

Signed-off-by: Jonathan McCrohan <jmccrohan@gmail.com>
Signed-off-by: Claudio Matsuoka <cmatsuoka@gmail.com>
2012-06-01 09:20:17 -03:00
2f9dc32353 Update Changelog
Signed-off-by: Claudio Matsuoka <cmatsuoka@gmail.com>
2012-05-31 12:50:42 -03:00
0bae10173e Use SUS-compliant script for test
Use printf instead of echo -n in order to have a Single Unix Specification
compliant script and work in MacOS X 10.5.

Signed-off-by: Claudio Matsuoka <cmatsuoka@gmail.com>
2012-05-31 11:53:59 -03:00
10833cb76f Add missing files to distribution package
Jonathan McCrohan reported missing files in 2.2.3 and 2.2.4 distribution
package, namely figmagic (containing patterns for /etc/magic) and
getopt.c (to add CLI parameter support for non-Unix platforms).

Signed-off-by: Claudio Matsuoka <cmatsuoka@gmail.com>
2012-05-31 11:05:10 -03:00
3cd070553d Update changelog, version number and release date
Signed-off-by: Claudio Matsuoka <cmatsuoka@gmail.com>
2012-05-30 10:57:47 -03:00
24b935eb59 Fix chkfont coredump on invalid input
Based on patch submitted by Kenneth Davies <kshrub@yahoo.com>
submitted in Debian bug #300735. Decrufted to provide double free()
fix, with minimal changes to FIGlet coding styles.

Bug-Debian: http://bugs.debian.org/300735

Signed-off-by: Jonathan McCrohan <jmccrohan@gmail.com>
Signed-off-by: Claudio Matsuoka <cmatsuoka@gmail.com>
2012-05-30 09:56:58 -03:00
e0e63ca90a Revert JIS0201 map file
Revert JIS0201 map file to the file added by Micah Cowan in commit
6866db6fce

Signed-off-by: Claudio Matsuoka <cmatsuoka@gmail.com>
2012-05-29 15:42:06 -03:00
66402840d6 Add uskata and jis0201 regression tests 2012-05-29 15:41:29 -03:00
b5269745dd Fix banner placement in test script
Test banner was being print before setting the fonts directory, which
make it fail if FIGlet is not already installed on the system.

Signed-off-by: Claudio Matsuoka <cmatsuoka@gmail.com>
2012-05-29 15:23:13 -03:00
7781d151a1 Properly escape minus signs in figlist.6
As found by Debian lintian checker:
hyphen-used-as-minus-sign

Signed-off-by: Jonathan McCrohan <jmccrohan@gmail.com>
Signed-off-by: Claudio Matsuoka <cmatsuoka@gmail.com>
2012-05-29 14:13:45 -03:00
681f931b38 Update ISO8859 map files
Jonathan McCrohan of Debian reported that FIGlet still contained non-
distributable files fonts/8859-*.flc which had the following notice:
"Unicode, Inc. specifically excludes the right to re-distribute this
file directly to third parties or other organizations whether for
profit or not".

John Cowan informed that "Those should simply be replaced by the verbatim
contents of the corresponding files at
http://www.unicode.org/Public/MAPPINGS/ISO8859 .

In addition, the jis0201.flc file should be replaced likewise by
the verbatim contents of
http://www.unicode.org/Public/MAPPINGS/OBSOLETE/EASTASIA/JIS/JIS0201.TXT ."

This commit replaces files with licensing problems with those listed
by John Cowan.

Signed-off-by: Claudio Matsuoka <cmatsuoka@gmail.com>
2012-05-29 14:08:34 -03:00
bddc3decc4 Add test to list all existing control files
Signed-off-by: Claudio Matsuoka <cmatsuoka@gmail.com>
2011-01-26 00:00:47 -02:00
e88224d519 Figlist changed to check for local figlet
Same change made to showfigfonts, figlist can now use the local figlet
executable instead of the system executable.

Signed-off-by: Claudio Matsuoka <cmatsuoka@gmail.com>
2011-01-25 23:56:09 -02:00
eeaa125de6 Add environment variable FIGLET_FONTDIR
Environment variable FIGLET_FONTDIR can be used to set the path to search
for font files. This variable is used in the test script when FIGlet is
installed on a staging directory.

Signed-off-by: Claudio Matsuoka <cmatsuoka@gmail.com>
2011-01-25 23:44:08 -02:00
e91b35b234 Add parameter to test script to specify font dir
This way we can run tests when installing in a staging dir.

Signed-off-by: Claudio Matsuoka <cmatsuoka@gmail.com>
2011-01-25 22:57:11 -02:00
adcddcd38e Set font dir when checking the dist package
Make sure the binary built from the distribution package uses a local
font directory to run tests.

Signed-off-by: Claudio Matsuoka <cmatsuoka@gmail.com>
2011-01-25 21:23:36 -02:00
a4e31b1efc Merge branch 'master' of github.com:cmatsuoka/figlet 2011-01-25 21:06:18 -02:00
cced2251fd Update version in Makefile
Signed-off-by: Claudio Matsuoka <cmatsuoka@gmail.com>
2011-01-25 21:00:35 -02:00
6c3db7930d Prevent compatibility problems in test script
Linefeed characters are printed differently depending of the shell
used as /bin/sh. Use an extra echo to prevent output problems.

Signed-off-by: Claudio Matsuoka <cmatsuoka@gmail.com>
2011-01-25 20:56:14 -02:00
0d2908b98c Don't use unitialized variable fontpath
Font path operations moved to FIGopen(), error messages changed to
use fontname.

Signed-off-by: Claudio Matsuoka <cmatsuoka@gmail.com>
2011-01-25 20:56:14 -02:00
8e9b51e5c5 Change test target to check and add vercheck
Signed-off-by: Claudio Matsuoka <cmatsuoka@gmail.com>
2011-01-25 20:56:14 -02:00
46c29d49b1 Add test log and tarballs to .gitignore
Signed-off-by: Claudio Matsuoka <cmatsuoka@gmail.com>
2011-01-25 20:56:14 -02:00
cc12eefd64 Minor text updates and fixes
Signed-off-by: Claudio Matsuoka <cmatsuoka@gmail.com>
2011-01-25 20:56:14 -02:00
c326ecac38 Reduce make dist output noise
Signed-off-by: Claudio Matsuoka <cmatsuoka@gmail.com>
2011-01-25 20:56:14 -02:00
c25f7af7f2 Add version check to Makefile dist target
Show version info in serveral files including README, FAQ and manual
pages when building the distribution package, to ensure consistency.
Output is like:

Infocode: 20204
Version: 2.2.4, date: 26 January 2011
README: release 2.2.4, 26 January 2011
FAQ: The latest version of FIGlet is 2.2.4
.TH CHKFONT 6 "26 January 2011" "v2.2.4"
.TH FIGLET 6 "26 January 2011" "v2.2.4"
.TH FIGLIST 6 "26 January 2011" "v2.2.4"
.TH SHOWFIGFONTS 6 "26 January 2011" "v2.2.4"

Signed-off-by: Claudio Matsuoka <cmatsuoka@gmail.com>
2011-01-25 20:56:14 -02:00
cfc670794f Add extra regression tests
The following tests have been added:

test 017: tlf2 kerning flush-right mode
test 018: tlf2 overlap centered mode
test 019: tlf2 full-width flush-left right-to-left mode
test 020: specify font directory
test 021: paragraph mode long line output
test 022: short line output
test 023: kerning paragraph centered mode (small)

Signed-off-by: Claudio Matsuoka <cmatsuoka@gmail.com>
2011-01-25 20:56:14 -02:00
5a5d97a100 Fix kerning with UCS4 characters
Use outchr as the ouput character type (instead of char) when computing
kerning, to prevent corruption with tlf2 fonts

Signed-off-by: Claudio Matsuoka <cmatsuoka@gmail.com>
2011-01-25 20:56:14 -02:00
71409f90b4 Add regression tests to distribution package
Add test target to the Makefile, and also automatically run tests
in the dist target. Current test results:

Run tests in /home/claudio/figlet/figlet
 _____       _                     _ _
|_   _|__ __| |_   _ _ ___ ____  _| | |_ ___
  | |/ -_|_-<  _| | '_/ -_|_-< || | |  _(_-<
  |_|\___/__/\__| |_| \___/__/\_,_|_|\__/__/

Run test 001: showfigfonts output... pass
Run test 002: text rendering in all fonts... pass
Run test 003: long text rendering... pass
Run test 004: left-to-right text... pass
Run test 005: right-to-left text... pass
Run test 006: flush-left justification... pass
Run test 007: flush-right justification... pass
Run test 008: center justification... pass
Run test 009: kerning mode... pass
Run test 010: full width mode... pass
Run test 011: overlap mode... pass
Run test 012: TLF font rendering... pass
Run test 013: kerning flush-left right-to-left mode... pass
Run test 014: kerning centered right-to-left mode (slant)... pass
Run test 015: full-width flush-right right-to-left mode... pass
Run test 016: overlap flush-right mode (big)... pass

 All tests passed.

Signed-off-by: Claudio Matsuoka <cmatsuoka@gmail.com>
2011-01-25 20:56:14 -02:00
f4f94eacd4 Update version number and changelog
Signed-off-by: Claudio Matsuoka <cmatsuoka@gmail.com>
2011-01-25 20:56:14 -02:00
934c450250 Makefile: add helpers for cross-compilation
Do not hardcode '/usr/local' but allow it to be overriden from the
outside. Also disable the second DEFAULTFONTDIR by default. While here,
remove some whitespace characters.

Signed-off-by: Wolfram Sang <w.sang@pengutronix.de>
2011-01-25 20:54:53 -02:00
258ec82455 Prevent compatibility problems in test script
Linefeed characters are printed differently depending of the shell
used as /bin/sh. Use an extra echo to prevent output problems.

Signed-off-by: Claudio Matsuoka <cmatsuoka@gmail.com>
2011-01-25 13:33:02 -02:00
09a6706817 Don't use unitialized variable fontpath
Font path operations moved to FIGopen(), error messages changed to
use fontname.

Signed-off-by: Claudio Matsuoka <cmatsuoka@gmail.com>
2011-01-25 13:31:59 -02:00
7fa94ad4aa Change test target to check and add vercheck
Signed-off-by: Claudio Matsuoka <cmatsuoka@gmail.com>
2011-01-25 10:06:55 -02:00
7a1e298a59 Add test log and tarballs to .gitignore
Signed-off-by: Claudio Matsuoka <cmatsuoka@gmail.com>
2011-01-25 00:24:01 -02:00
80d6cb8308 Minor text updates and fixes
Signed-off-by: Claudio Matsuoka <cmatsuoka@gmail.com>
2011-01-25 00:22:06 -02:00
7a0bfdc8b7 Reduce make dist output noise
Signed-off-by: Claudio Matsuoka <cmatsuoka@gmail.com>
2011-01-24 23:15:21 -02:00
767b892a5e Add version check to Makefile dist target
Show version info in serveral files including README, FAQ and manual
pages when building the distribution package, to ensure consistency.
Output is like:

Infocode: 20204
Version: 2.2.4, date: 26 January 2011
README: release 2.2.4, 26 January 2011
FAQ: The latest version of FIGlet is 2.2.4
.TH CHKFONT 6 "26 January 2011" "v2.2.4"
.TH FIGLET 6 "26 January 2011" "v2.2.4"
.TH FIGLIST 6 "26 January 2011" "v2.2.4"
.TH SHOWFIGFONTS 6 "26 January 2011" "v2.2.4"

Signed-off-by: Claudio Matsuoka <cmatsuoka@gmail.com>
2011-01-24 23:10:51 -02:00
58215c5648 Add extra regression tests
The following tests have been added:

test 017: tlf2 kerning flush-right mode
test 018: tlf2 overlap centered mode
test 019: tlf2 full-width flush-left right-to-left mode
test 020: specify font directory
test 021: paragraph mode long line output
test 022: short line output
test 023: kerning paragraph centered mode (small)

Signed-off-by: Claudio Matsuoka <cmatsuoka@gmail.com>
2011-01-24 22:45:06 -02:00
08796056ab Fix kerning with UCS4 characters
Use outchr as the ouput character type (instead of char) when computing
kerning, to prevent corruption with tlf2 fonts

Signed-off-by: Claudio Matsuoka <cmatsuoka@gmail.com>
2011-01-24 22:41:36 -02:00
6dc0a00468 Add regression tests to distribution package
Add test target to the Makefile, and also automatically run tests
in the dist target. Current test results:

Run tests in /home/claudio/figlet/figlet
 _____       _                     _ _
|_   _|__ __| |_   _ _ ___ ____  _| | |_ ___
  | |/ -_|_-<  _| | '_/ -_|_-< || | |  _(_-<
  |_|\___/__/\__| |_| \___/__/\_,_|_|\__/__/

Run test 001: showfigfonts output... pass
Run test 002: text rendering in all fonts... pass
Run test 003: long text rendering... pass
Run test 004: left-to-right text... pass
Run test 005: right-to-left text... pass
Run test 006: flush-left justification... pass
Run test 007: flush-right justification... pass
Run test 008: center justification... pass
Run test 009: kerning mode... pass
Run test 010: full width mode... pass
Run test 011: overlap mode... pass
Run test 012: TLF font rendering... pass
Run test 013: kerning flush-left right-to-left mode... pass
Run test 014: kerning centered right-to-left mode (slant)... pass
Run test 015: full-width flush-right right-to-left mode... pass
Run test 016: overlap flush-right mode (big)... pass

 All tests passed.

Signed-off-by: Claudio Matsuoka <cmatsuoka@gmail.com>
2011-01-24 19:10:23 -02:00