[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[libcaca] experimental ncurses driver patch: dynamic color changes/palette simulation, and support for some non-UTF-8 locales under glibc
- To: libcaca@lists.zoy.org
- Subject: [libcaca] experimental ncurses driver patch: dynamic color changes/palette simulation, and support for some non-UTF-8 locales under glibc
- From: "Ben Wiley Sittler" <bsittler@gmail.com>
- Date: Mon, 4 Feb 2008 20:14:22 -0800
- Delivered-to: list-libcaca@zoy.org
- Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:message-id:date:from:to:subject:mime-version:content-type; bh=8incFN3AjIgvptks5mqLkvagRBwaXYLj3tu/IZpw2GM=; b=b8Oh8DRG2EB5ospLsaU6wyGZuNV+lNNxXE0jML6vOsoTy6ithpCOa43G7Kc0kF72+dALoaX4SSw0FuoJFLjk0wHoqvGJIAoUIGtxgRvaguKH21yRvSOt5N7dZSMItXrzViB73b1Kxb8YBuhZPr+JDdjWnA9xp5VAQTjCWh4fkRQ=
- Domainkey-signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=message-id:date:from:to:subject:mime-version:content-type; b=VW7sV1sjLH8gbut/jaeCaiszJH5PjMNBz4rFynnkbMyPs/+xfcr5JkWca38jJ3C93WshnV2YzZRVz7LwP0dAqe0OKsRxSIYTAdDQgyiEUjRMN+/JOchehUYLxMEIp8ctZmbU+AKdB4oAfJVSrF0EbsBYusAD/Jqi3akm02/Fsew=
- Reply-to: libcaca@lists.zoy.org
- Sender: libcaca-bounce@lists.zoy.org
I've made an experimental patch to the ncurses driver to:
(a) use dynamic color changes ["xterm-256color", "linux", and similar
terminals]/palette simulation["screen-256color" and similar] to
approximate the cucul palette more accurately (which improves the
performance of dithers and other "truecolor" operations, although it
does not provide actual truecolor support due to 256-color-pair
limitation in ncurses), and
(b) support some non-UTF-8 locales under glibc by using wchar_t output
routines (ncursesw only)
http://zoehep.xent.com/~bsittler/caca-256color.diff.txt
future: find some way to work around bugs in experimental ncurses "ABI
6" which is supposed to provide >256 color pair support, but i have
not made it work yet.
Also, with some kind of palette optimisation (I haven't read the
S/Lang driver code yet) this could be changed to dynamically change
the palette/color pair allocation to always keep the "best" 256 color
pairs visible for the canvas being rendered. Maybe sam's study will
help with that?
Anyhow, I would love to hear your feedback.
-ben
p.s. I updated the a few minutes ago at the same URL. if you fetched
it before, re-fetch for a less buggy version.
Attachment:
caca-256color.diff
Description: Binary data