Expanding Wide Characters.

View: New views
5 Messages — Rating Filter:   Alert me  

Expanding Wide Characters.

by Ben Duncan-5 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Tom, could you please explain to me how one would go about expanding the WACS
character set using the WACS code set macros.

Lets say i want to add the UTF x2327 (X in a rectangle box) or
UTF x2504 (triple dash) to the WACS definations, how would I go about
that, or am I totally missing the point of Wide versus UTF.

Thanks ...


--
Ben Duncan - Business Network Solutions, Inc. 336 Elton Road  Jackson MS, 39212
"Never attribute to malice, that which can be adequately explained by stupidity"
        - Hanlon's Razor


_______________________________________________
Bug-ncurses mailing list
Bug-ncurses@...
http://lists.gnu.org/mailman/listinfo/bug-ncurses

Re: Expanding Wide Characters.

by Thomas Dickey-2 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

On Tue, Oct 06, 2009 at 10:44:19AM -0500, Ben Duncan wrote:
> Tom, could you please explain to me how one would go about expanding
> the WACS character set using the WACS code set macros.
>
> Lets say i want to add the UTF x2327 (X in a rectangle box) or
> UTF x2504 (triple dash) to the WACS definations, how would I go about
> that, or am I totally missing the point of Wide versus UTF.

I used those in test/ncurses.c in the 'F' test.

They're cchar_t, so you can use them in these functions for example:

extern NCURSES_EXPORT(int) add_wch (const cchar_t *); /* generated:WIDEC */
extern NCURSES_EXPORT(int) border_set (const cchar_t*,const cchar_t*,const cchar_t*,const cchar_t*,const cchar_t*,const cchar_t*,const cchar_t*,const cchar_t*); /* generated:WIDEC */
extern NCURSES_EXPORT(int) box_set (WINDOW *, const cchar_t *, const cchar_t *); /* generated:WIDEC */
extern NCURSES_EXPORT(int) hline_set (const cchar_t *, int); /* generated:WIDEC */
extern NCURSES_EXPORT(int) vline_set (const cchar_t *, int); /* generated:WIDEC */
extern NCURSES_EXPORT(int) whline_set (WINDOW *, const cchar_t *, int); /* implemented */
extern NCURSES_EXPORT(int) wvline_set (WINDOW *, const cchar_t *, int); /* implemented */

I only implemented WACS_xxx symbols for thick/double-lines for the usual
reasons: it's experimental, and only useful with Unicode.

(there's a link to current source on
http://invisible-island.net/ncurses - I've not done a rollup patch for
some time since merging Juergen's changes is still not done...)

--
Thomas E. Dickey <dickey@...>
http://invisible-island.net
ftp://invisible-island.net


_______________________________________________
Bug-ncurses mailing list
Bug-ncurses@...
http://lists.gnu.org/mailman/listinfo/bug-ncurses

signature.asc (204 bytes) Download Attachment

Re: Expanding Wide Characters.

by Ben Duncan-5 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Thanks. The project i am working is depending on on nice looking UNICODE
glyphs and 256 colors, which I am sure will break a lot of things, but at least
give the WEB based applications a run for their money.

Anyway, just wrote a python script that generated a header file that list
1200 of the unicode drawing characters (dingbats, arrows, boxes, etc).

Already got "Window" like colorization figured out. I guess I will
break down and wright a series of UTF based functions for boxes, lines,
display's etc.

The idea is to create some libraries built on top of nCurses that allow one
to program nice looking business applications using a standard set and
portable functions.

The libraries will be libappmenu, libappscreen, libapputil and feature
a API that can be used in Python, Perl, PHP.

Hope this explains why all the questions.

Thomas Dickey wrote:
> On Tue, Oct 06, 2009 at 10:44:19AM -0500, Ben Duncan wrote:
>> Tom, could you please explain to me how one would go about expanding
>> the WACS character set using the WACS code set macros.
>>
<SNIP>
>
> I only implemented WACS_xxx symbols for thick/double-lines for the usual
> reasons: it's experimental, and only useful with Unicode.
>
> (there's a link to current source on
> http://invisible-island.net/ncurses - I've not done a rollup patch for
> some time since merging Juergen's changes is still not done...)
>


--
Ben Duncan - Business Network Solutions, Inc. 336 Elton Road  Jackson MS, 39212
"Never attribute to malice, that which can be adequately explained by stupidity"
        - Hanlon's Razor


_______________________________________________
Bug-ncurses mailing list
Bug-ncurses@...
http://lists.gnu.org/mailman/listinfo/bug-ncurses

Re: Expanding Wide Characters.

by Sadrul Habib Chowdhury :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

* Ben Duncan had this to say on [07 Oct 2009, 07:55:17 -0500]:
[snip]
> The idea is to create some libraries built on top of nCurses that allow one
> to program nice looking business applications using a standard set and
> portable functions.
>

You may be interested in libgnt, an event-based ncurses toolkit. It has
built-in widgets like buttons, boxes, textboxes, comboboxes, menus etc.
You can take a look at the Finch instant messenger (http://pidgin.im),
which uses libgnt. There's also a python binding for it at
http://code.google.com/p/python-gnt/ (git repo at
http://repo.or.cz/w/python-gnt.git). There are some example applications
in the 'example/' subdirectory.

There's also a bunch of screenshots at http://pidgin.im/~sadrul/ss/
(libgnt creates the html dumps)

The library makes heavy use of glib/gobjects, though, which might be too
high a requirement for your project.

Cheers,
Sadrul



_______________________________________________
Bug-ncurses mailing list
Bug-ncurses@...
http://lists.gnu.org/mailman/listinfo/bug-ncurses

Re: Expanding Wide Characters.

by Ben Duncan-5 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Thanks Sadrul, probably be using some of it. My idea is very similar to yours,
but I am hoping my library will be used more for accounting applications
than anything else.

Sadrul Habib Chowdhury wrote:

> * Ben Duncan had this to say on [07 Oct 2009, 07:55:17 -0500]:
> [snip]
>> The idea is to create some libraries built on top of nCurses that allow one
>> to program nice looking business applications using a standard set and
>> portable functions.
>>
>
> You may be interested in libgnt, an event-based ncurses toolkit. It has
> built-in widgets like buttons, boxes, textboxes, comboboxes, menus etc.
> You can take a look at the Finch instant messenger (http://pidgin.im),
> which uses libgnt. There's also a python binding for it at
> http://code.google.com/p/python-gnt/ (git repo at
> http://repo.or.cz/w/python-gnt.git). There are some example applications
> in the 'example/' subdirectory.
>
> There's also a bunch of screenshots at http://pidgin.im/~sadrul/ss/
> (libgnt creates the html dumps)
>
> The library makes heavy use of glib/gobjects, though, which might be too
> high a requirement for your project.
>
> Cheers,
> Sadrul
>
>


--
Ben Duncan - Business Network Solutions, Inc. 336 Elton Road  Jackson MS, 39212
"Never attribute to malice, that which can be adequately explained by stupidity"
        - Hanlon's Razor


_______________________________________________
Bug-ncurses mailing list
Bug-ncurses@...
http://lists.gnu.org/mailman/listinfo/bug-ncurses