2022-10-03 1.07 (Phil M Perry)
lib/Text/KnuthPlass.xs, lib/Text/KnuthPlass.pm, t/01-nodes.t
Fix mishandling of line length array in XS code (was only looking at first
two elements). Remove elements as used, and return to application.
examples/text/KP.pl (new), examples/text/Flatland.pl (new),
examples/text/Triangle.pl (new), MANIFEST, tools/3_examples.pl
Add more examples, this time for text file (.txt) output (constant width).
examples/PDF/Flatland.pl (new), examples/PDF/Triangle.pl (new),
examples/PDF/KP.pl, MANIFEST, tools/3_examples.pl
Add more examples of PDF document creation, and update KP example.
lib/Text/KnuthPlass.pm, lib/Text/KnuthPlass.xs, examples/*, t/01-nodes.t
Pass paragraph indentation (or negative outdent amount) to KP algorithm, so
can start even the first line of paragraph at same x value every time.
Allow per-paragraph setting of indentation via typeset() method and the new
line_lengths() method. For compatibility with older applications, the
default indentation is 0.
lib/Text/KnuthPlass.pm, README.md
Add flag to ignore XS code (whether or not successfully installed) and just
run pure Perl. This is good for debugging, watching paint dry, or torturing
your users! In other words, pure Perl is quite slow.
lib/Text/KnuthPlass.pm
Add flag for minimum 3 letter suffix in hyphenation (not sure Text::Hyphen
is obeying it).
META.json, MANIFEST add META.json
examples/PDF/KP.pl sample put all three texts on one page
LICENSE, MANIFEST add separate LICENSE file
META.yml add minimum Perl version (5.8.1)
examples/PDF/KP.pl, examples/resources/, tools/3_examples.pl, MANIFEST,
README.md
Move PDF examples to own subdirectory, leaving room in examples/ for
other language examples (such as plain text). Common resources directory.
tools/*.pl, lib/Text/KnuthPlass.pm
Change "my $LAST_UPDATE" to "our $LAST_UPDATE" so info available to a
program.
README.md, lib/Text/KnuthPlass.pm
2022 copyright
lib/Text/KnuthPlass.xs
Fix compiler warnings (#8).
In examples, change lead() to leading() per PDF::API2 and PDF::Builder.
Update build process to ensure that all human-readable files are "unix"
format and not MS-DOS (CRLF) format on line-ends. Some non-CPAN packagers
are complaining about the mixed line-end formats.
2021-02-12 1.06 (Phil M Perry)
lib/Text/KnuthPlass.pm, lib/Text/KnuthPlass.xs
Minor fix to properly index line length list on longer paragraphs.
Build.PL
Add resources for repository and bugtracker (point to GitHub).
tools/pod2cpanhtml.pl, INFO/kp.html, MANIFEST, .github/workflows/test.yml
Let's see if Continuous Integration is any happier with this HTML produced
by a more up-to-date tool. No, but try excluding kp.html from lint.
README.md, INFO/kp.html, lib/Text/KnuthPlass.pm, MANIFEST
2021 copyright. NOT archiving Changes, yet. kp.html moved to INFO/.
MANIFEST, kp.html, RoadMap, .gitignore, lib/Text/KnuthPlass.pm
Ship documentation (POD) kp.html (also on GitHub).
Roadmap/discussions/thoughts (RoadMap) in public on GitHub (Read-Only).
2020-12-29 1.05 (Phil M Perry)
examples/KP.pl
Fix superfluous hyphen when splitting at an existing hyphen. It is not clear
whether this is the best practice, or that it would be better to handle
this "upstream" in KnuthPlass.pm. Also, other hyphens and dashes do not
seem to be well handled.
META.yml, README.md
Clean up support-related email addresses and pages.
README.md remove example code (is still found in examples/KP.pl) to
shorten this file to a reasonable length.
META.yml
Add repository (GitHub) and bugtracker (GitHub) entries. Want to cut over
to GitHub because RT ticket system is going away in March.
t/02-javascript.t
Got another floating point failure (long double or quadmath), so went
ahead and rounded the rest of the floating point constants in that test.
2020-12-10 1.04 (Phil M Perry)
Makefile.PL removed, Build.PL, META.yml, MANIFEST, README.md
Revert to use of Build.PL.
2020-12-09 1.03 (Phil M Perry)
Makefile.PL, Build.PL, MANIFEST
Change build process to use Makefile.PL instead of Build.PL
t/02-javascript.t
Fix failing t-tests due to use of long-double or quadmath libraries (more
precision than the t-test was providing). There are still many failures
of this test on every Solaris box, but at the moment I have no way to
try to debug on that platform (I will be looking for volunteers to help
out with this).
lib/Text/KnuthPlass.xs
Fix failing Windows t-tests where libraries already contained an _unlink
module (rename to _unlinkKP).
Build.PL, README.md, MANIFEST
Change authorship statement, write a much more complete README
(with markdown).
t/00-load.t, t/02-javascript.t, t/pod-coverage.t, t/pod.t,
lib/Text/KnuthPlass.pm
Fix Perl Critic complaints. Currently ignoring "multiple package
declarations" in KnuthPlass.pm, might in the future split up the file.
Move pod and pod-coverage to "author testing only".
tools/1_pc.pl, tools/2_t-tests.pl, tools/3_examples.pl, MANIFEST,
examples/KP.pl
Add some tools for testing and illustrating usage.
2011-03-17 Simon Cozens <simon@simon-cozens.org>
* lib/Text/KnuthPlass.pm: 1.02 release removes unnecessary dependencies.
* t/02-javascript.t: Remove dependency on JSON::Syck
* t/01-nodes.t: De-5.10.0-ify.
* lib/Text/KnuthPlass.pm: Oop.
* Changes: This is 1.01.
* t/04-regression.t: Compare against Perl.
* lib/Text/KnuthPlass.pm, lib/Text/KnuthPlass.xs: Another refactoring to
speed up.
2011-03-16 Simon Cozens <simon@simon-cozens.org>
* lib/Text/KnuthPlass.pm: Make debugging output debugging-only.
* META.yml: This should be autogenerated, not under VC.
* Makefile.PL: We're using Build.
* t/03-center.t: Blah
* lib/Text/KnuthPlass.xs: Speed up array access, fix another leak.
2011-03-15 Simon Cozens <simon@simon-cozens.org>
* MANIFEST, META.yml, lib/Text/KnuthPlass.pm, lib/Text/KnuthPlass.xs: I'm
calling this 1.0 because it doesn't leak loads of memory now.
* lib/Text/KnuthPlass.xs: Rewrite to avoid most memory leaks.
2011-03-13 Simon Cozens <simon@simon-cozens.org>
* lib/Text/KnuthPlass.xs: Hopefully get rid of other leak too.
* lib/Text/KnuthPlass.xs: Fix (hopefully) drop_node leak.
2011-02-23 Simon Cozens <simon@simon-cozens.org>
* lib/Text/KnuthPlass.pm: Prevent a segfault!
2011-02-11 Simon Cozens <simon@simon-cozens.org>
* Build.PL, Changes, lib/Text/KnuthPlass.pm, ppport.h: OK, this is 0.04
really.
* MANIFEST: Don't know how that got left out.
* Build, Build.PL, MANIFEST, lib/Text/KnuthPlass.pm, lib/Text/KnuthPlass.xs,
lib/Text/typemap, t/01-nodes.t, t/02-javascript.t, t/03-center.t: Add an XS
version, call it 0.04
2011-02-09 Simon Cozens <simon@simon-cozens.org>
* Changes, lib/Text/KnuthPlass.pm: Oh, and "center" is (silently)
implemented, too. Save that for another time. This is 0.03
* lib/Text/KnuthPlass.pm, t/01-nodes.t, t/02-javascript.t, t/03-center.t:
Many, many corrections to the algorithm after studying the Javascript more.
2011-02-08 Simon Cozens <simon@simon-cozens.org>
* MANIFEST, t/01-nodes.t: Oops, forgot these.
* lib/Text/KnuthPlass.pm: Demodernify, up the version number.
* Build, Build.PL, lib/Text/KnuthPlass.pm: DeMoosify for speed and sanity.
* lib/Text/KnuthPlass.pm: Add flexibility by passing on more arguments.
* lib/Text/KnuthPlass.pm: 1 em is a capital M, not a small m.
2011-02-08 Simon Cozens <simon@cpan.org>
* Build.PL, Changes, MANIFEST, META.yml, Makefile.PL, README,
lib/Text/KnuthPlass.pm, t/00-load.t, t/pod-coverage.t, t/pod.t: initial
import of Text::KnuthPlass 0.01 from CPAN git-cpan-module:
Text::KnuthPlass git-cpan-version: 0.01 git-cpan-authorid: SIMON