mirror of
https://github.com/uutils/coreutils
synced 2024-12-15 15:52:42 +00:00
8be67f7d4d
fmt: - Implemented Knuth-Plass optimal linebreaking strategy. - Added commandline switch -q for "quick" (greedy) split mode that does not use Knuth-Plass. - Right now, Knuth-Plass runs about half as fast. It also uses more memory. - Updated fmt to use char_width (see below) instead of assuming each character width is 1. - Use i64 for demerits instead of int in K-P, since int is pointer sized and will only be 32 bits on some architectures. - incremented version number - Incorporated improvements suggested by huonw and Arcterus. - K-P uses indices of linebreaks vector instead of raw pointers. This gets rid of a lot of allocation of boxes and improves safety to boot. - Added a support module for computing displayed widths of unicode strings based on Markus Kuhn's free implementation at http://www.cl.cam.ac.uk/~mgk25/ucs/wcwidth.c - This is in `charwidth.rs`, but this is a temporary measure until the Char trait implements .width(). I am submitting a PR for this soon, and the code in charwidth() is what's generated libcore. closes #223 |
||
---|---|---|
.. | ||
charwidth.rs | ||
fmt.rs | ||
linebreak.rs | ||
parasplit.rs |