91 Commits

Author SHA1 Message Date
Claudio Matsuoka
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
Lorenzo Gatti
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
Claudio Matsuoka
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
Claudio Matsuoka
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
Claudio Matsuoka
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
Claudio Matsuoka
8e06d0b41b Merge pull request from ncopa/master
Fix build with musl libc
2014-06-03 11:22:15 -03:00
Natanael Copa
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
Patrick Gillespie
3c3b5596a5 Add Kannada ttha character to Standard font
Add support for unicode character . 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
Claudio Matsuoka
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
Jonathan McCrohan
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
Claudio Matsuoka
2f9dc32353 Update Changelog
Signed-off-by: Claudio Matsuoka <cmatsuoka@gmail.com>
2012-05-31 12:50:42 -03:00
Claudio Matsuoka
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
Claudio Matsuoka
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
Claudio Matsuoka
3cd070553d Update changelog, version number and release date
Signed-off-by: Claudio Matsuoka <cmatsuoka@gmail.com>
2012-05-30 10:57:47 -03:00
Jonathan McCrohan
24b935eb59 Fix chkfont coredump on invalid input
Based on patch submitted by Kenneth Davies <kshrub@yahoo.com>
submitted in Debian bug . 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
Claudio Matsuoka
e0e63ca90a Revert JIS0201 map file
Revert JIS0201 map file to the file added by Micah Cowan in commit
6866db6fce7951cc5e82a1dc7cc5e749b08f88e1

Signed-off-by: Claudio Matsuoka <cmatsuoka@gmail.com>
2012-05-29 15:42:06 -03:00
Claudio Matsuoka
66402840d6 Add uskata and jis0201 regression tests 2012-05-29 15:41:29 -03:00
Claudio Matsuoka
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
Jonathan McCrohan
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
Claudio Matsuoka
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
Claudio Matsuoka
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
Claudio Matsuoka
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
Claudio Matsuoka
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
Claudio Matsuoka
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
Claudio Matsuoka
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
Claudio Matsuoka
a4e31b1efc Merge branch 'master' of github.com:cmatsuoka/figlet 2011-01-25 21:06:18 -02:00
Claudio Matsuoka
cced2251fd Update version in Makefile
Signed-off-by: Claudio Matsuoka <cmatsuoka@gmail.com>
2011-01-25 21:00:35 -02:00
Claudio Matsuoka
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
Claudio Matsuoka
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
Claudio Matsuoka
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
Claudio Matsuoka
46c29d49b1 Add test log and tarballs to .gitignore
Signed-off-by: Claudio Matsuoka <cmatsuoka@gmail.com>
2011-01-25 20:56:14 -02:00
Claudio Matsuoka
cc12eefd64 Minor text updates and fixes
Signed-off-by: Claudio Matsuoka <cmatsuoka@gmail.com>
2011-01-25 20:56:14 -02:00
Claudio Matsuoka
c326ecac38 Reduce make dist output noise
Signed-off-by: Claudio Matsuoka <cmatsuoka@gmail.com>
2011-01-25 20:56:14 -02:00
Claudio Matsuoka
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
Claudio Matsuoka
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
Claudio Matsuoka
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
Claudio Matsuoka
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
Claudio Matsuoka
f4f94eacd4 Update version number and changelog
Signed-off-by: Claudio Matsuoka <cmatsuoka@gmail.com>
2011-01-25 20:56:14 -02:00
Wolfram Sang
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
Claudio Matsuoka
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
Claudio Matsuoka
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
Claudio Matsuoka
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
Claudio Matsuoka
7a1e298a59 Add test log and tarballs to .gitignore
Signed-off-by: Claudio Matsuoka <cmatsuoka@gmail.com>
2011-01-25 00:24:01 -02:00
Claudio Matsuoka
80d6cb8308 Minor text updates and fixes
Signed-off-by: Claudio Matsuoka <cmatsuoka@gmail.com>
2011-01-25 00:22:06 -02:00
Claudio Matsuoka
7a0bfdc8b7 Reduce make dist output noise
Signed-off-by: Claudio Matsuoka <cmatsuoka@gmail.com>
2011-01-24 23:15:21 -02:00
Claudio Matsuoka
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
Claudio Matsuoka
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
Claudio Matsuoka
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
Claudio Matsuoka
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
Claudio Matsuoka
8ce91d7e80 Update version number and changelog
Signed-off-by: Claudio Matsuoka <cmatsuoka@gmail.com>
2011-01-24 17:39:09 -02:00