Ben Wiley Sittler
e8756c7c46
do not split a fullwidth character in the middle. yes, in some
degenerate cases this will lead to incorrectly-displayed tables. i
don't yet have a solution.
pirms 16 gadiem
Ben Wiley Sittler
567ae29030
do not expand tabs here. instead, importers need to understand '\t'
and fill the canvas up to the tab stop with it. once that works,
support will be added here (treating it as space.) also, fewer columns
are now generated. apparently generating a minimal number of them
fixes a bunch of the table-layout bugs.
pirms 16 gadiem
Ben Wiley Sittler
afcad730a8
some unicode characters could overflow the buffer; handle more control
characters and non-unicode codepoints when generating HTML.
pirms 16 gadiem
Ben Wiley Sittler
f4b036ef09
optimization: when the canvas is only a single line, we can always
optimize by merging cells
pirms 16 gadiem
Ben Wiley Sittler
86a512cf34
work around table layout bugs by ensuring that if there are multiple
cells on any row of the table then the very first row does not use the
cell-merging optimization; this appears to fix the last of the table
layout bugs seen in truecolor.php; also fix the foreground and
background color bugs seen in truecolor.php.
pirms 16 gadiem
Ben Wiley Sittler
ef3b597946
add a <table summary="..." /> attribute so screenreader software does not
get hopelessly lost.
pirms 16 gadiem
Ben Wiley Sittler
cb49816e2e
use a single table cell for adjacent attribute runs provided the background color will be the same; this allows us to avoid special stylesheets for our example programs
pirms 16 gadiem
Ben Wiley Sittler
8cc4c277b3
output valid XHTML (it's valid HTML3 too); note that this drops the COLS=... attribute on the table, but that had previously been calculated incorrectly anyhow so i doubt it mattered
pirms 16 gadiem
Ben Wiley Sittler
e6e8418523
fix table border, colors, and quoting of <, ", ', and > in html3 output
pirms 16 gadiem
Ben Wiley Sittler
7273a9dbf2
correctly account for tabs in html3 export
pirms 16 gadiem
Sam Hocevar
e1562a8d46
libcaca: move codecs and import/export functions into subdirectories.
pirms 16 gadiem
Sam Hocevar
319cc69db3
Continue the libcaca/libcucul merge. Source and binary compatibility
are almost there.
pirms 16 gadiem
Sam Hocevar
f61816ceb7
Starting refactoring to get rid of libcucul. The initial reason for the
split is rendered moot by the plugin system: when enabled, binaries do
not link directly with libX11 or libGL. I hope this is a step towards
more consisteny and clarity.
pirms 16 gadiem
Sam Hocevar
4ea785f818
* Remove all unsigned ints from exported functions. Signed arithmetic is
far better for error checking.
pirms 16 gadiem
Sam Hocevar
ec68a634cf
* Get rid of the last long types in the API.
* Use size_t and ssize_t where appropriate.
pirms 16 gadiem
Sam Hocevar
f44b5e11fa
* Changed most "unsigned char" variables into "uint8_t", including in
prototypes. As they are equivalent, this does not break the ABI.
pirms 16 gadiem
Sam Hocevar
99b5396e8e
* Remove #include <stdint.h> etc. from "common.h". Instead, make sure that
<cucul.h> will provide the C99 types, even if libcaca has been installed.
* Rename what's left of "common.h" to "stubs.h".
* Remove all references to erroneous <inttypes.h> from source files.
pirms 16 gadiem
Sam Hocevar
b8d3f71ae8
* Fix canvas export for the caca format. We now export all frames.
* Fix the sprite import/export example.
pirms 17 gadiem
Sam Hocevar
ac91d59360
* Add a French BBCode exporter, for use on http://libcaca.skyrock.com/ for
instance.
pirms 17 gadiem
Sam Hocevar
9c72677ccf
* Add cucul_get_version() and caca_get_version() and updated C++ bindings
accordingly.
* The C++ test example no longer needs "config.h".
pirms 17 gadiem
Sam Hocevar
b519d05bce
* Export cucul_attr_to_rgb12_bg(), cucul_attr_to_rgb12_fg() and
cucul_attr_to_argb64() (previously _cucul_attr_to_rgb12bg,
_cucul_attr_to_rgb12fg and _cucul_attr_to_argb4) in the official
libcucul API.
* Cleanup complete: libcaca no longer depends on "cucul_internals.h".
pirms 17 gadiem
Sam Hocevar
2149829bdf
* Added as many "const" qualifiers as possible to the public API.
pirms 17 gadiem
Sam Hocevar
9597783308
* Bwarf, typo in the no warranty clause.
pirms 18 gadiem
Sam Hocevar
33058757da
* Add a no warranty clause to the code.
pirms 18 gadiem
Sam Hocevar
f1f00897c5
* Fix shadowing declarations.
pirms 18 gadiem
Sam Hocevar
55765045c8
* Support for CUCUL_DEFAULT and CUCUL_TRANSPARENT in the HTML exporters.
* Updated export test accordingly.
pirms 18 gadiem
Sam Hocevar
51936f585c
* Got rid of HAVE_ERRNO_H ifdefs by defining seterrno()/geterrno() functions.
* More debugging information in the import/export and font functions.
pirms 18 gadiem
Sam Hocevar
18f1f68be7
* Add a debug() function and a --enable-debug configure flag.
pirms 18 gadiem
Sam Hocevar
40aa3b7933
* Documentation updates. Moved the canvas and font format definitions to
the Doxygen documentation.
pirms 18 gadiem
Sam Hocevar
aa3e191ccd
* Documentation fixes and TODO updates.
pirms 18 gadiem
Sam Hocevar
f61bed2bdb
* Add cursor and handle support to canvases. Unused yet.
pirms 18 gadiem
Sam Hocevar
25d0366fe6
* Get rid of _cucul_attr_to_ansi4[fb]g() and replace all calls with
the now official cucul_attr_to_ansi_[fb]g().
pirms 18 gadiem
Sam Hocevar
391bc8b493
* Renamed cucul_export() to cucul_export_memory(), paves the way for a
cucul_export_file() but I'm not sure yet this is a good idea.
* Use the new import/export API in libcaca.
pirms 18 gadiem
Sam Hocevar
17f272c4c4
* Deprecate buffer management. We're back to standard void* memory areas.
pirms 18 gadiem
Sam Hocevar
98ee92b2d0
* Updated the caca export format so that it supports multiple frames.
* Updated the caca importer to reflect that; only one frame is read at the
moment.
* Added an "utf8cr" export format for UTF-8 + CRLF exports.
* Updated cacaserver to reflect file format changes.
pirms 18 gadiem
Sam Hocevar
019938c9ae
* Changed cucul_set_attr() so that only setting the style does not change
the colour.
pirms 18 gadiem
Sam Hocevar
111447fe27
* Blink/Underline/Bold/Italics support in the HTML exporters.
* Underline support in the X11 driver.
pirms 18 gadiem
Sam Hocevar
142a830571
* Fix IRC and term transparency (again).
pirms 18 gadiem
Sam Hocevar
0b37a307dd
* Get rid of cucul_set_attr_ansi() and cucul_set_attr_argb and merge the
functionality into cucul_set_attr().
* Add cucul_ansi_to_attr() and cucul_argb_to_attr().
* Rename CUCUL_COLOR_* to CUCUL_*.
pirms 18 gadiem
Sam Hocevar
86301dd48c
* Use the LSB of alpha and blue components to encode additional flags such
as bold or underline. No higher level support for these yet, but at
least everything is consistent.
* Created cucul_set_attr_ansi() and cucul_set_attr_argb() which are bound
to replace cucul_set_color() and cucul_set_truecolor().
pirms 18 gadiem
Sam Hocevar
b8641f0435
* Put at least one space in empty IRC lines otherwise most clients won't
output them.
pirms 18 gadiem
Sam Hocevar
89bbe6b93e
* Support export of zero-sized canvases.
pirms 18 gadiem
Sam Hocevar
5f9d557f2f
* Do not output \r in the UTF-8 exporter.
pirms 18 gadiem
Sam Hocevar
df13e2a2e1
* Updated documentation of fullwidth-aware functions.
* Fullwidth support in all exporters.
pirms 18 gadiem
Sam Hocevar
d0370af6d3
* Fixed a bug in the IRC exporter that could break the output when there
were commas in the canvas.
pirms 18 gadiem
Sam Hocevar
78c6fc2e6e
* Support transparency in the colour UTF-8 exporter.
pirms 18 gadiem
Sam Hocevar
23afd54c7c
* Fix enumeration layout in the manpage documentation.
pirms 18 gadiem
Sam Hocevar
a984440ecc
* Handle transparency in the IRC export.
pirms 18 gadiem
Sam Hocevar
1372caac6c
* Really export IRC as UTF-8, as advertised in the documentation.
pirms 18 gadiem
Sam Hocevar
a2e45e47da
* Fix warnings in a few exporters. Do not assume %d accepts uint32_t without
an explicit cast.
pirms 18 gadiem