I decided to look into this a bit myself. It seems like the acs_map characters originate with the stock VT100, and are documented in the technical manual. The latest version of that PDF is in the bitsavers archive. There are a few mirrors of it around. For example: http://bitsavers.informatik.uni-stuttgart.de/pdf/dec/terminal/vt100/EK-VT100-TM-003_VT100_Technical_Manual_Jul82.pdf
The character ROM contents is on pages 128 and 129 of the PDF, so you can see what they available characters look like*. I believe the mapping for the acs_map is on page 391 - Table A-5. To me, it looks like the acs_map is supposed to cover the mode where the "mostly graphics characters" from the front part of the ROM replace the "mostly lower-case" ascii range. acs might be a bit of a misnomer - because they call it the alternate graphics set. There is also the possibility of having and alternate character set ROM, and I think this is what A_ALTCHARSET is meant for. I haven't found a good reference for what those are supposed to look like beyond that NCURSES reference, but it doesn't seem to be important to the core pdcurses code. I even went so far as to get the VT100 charset ROM images from archive.org, and it's contents match the PDF. Unfortunately, I haven't found a ROM image yet containing the ALTCHARSET characters from the NCURSES table yet. -Frank *The rendering of the charrom contents doesn't exactly represent the way the characters look on screen. The dot_stretch circuit section (which is described a few pages before the table) shows how the characters were formed by making the each dot stretch for two horizontal pixels. On Sun, Apr 12, 2015 at 10:35 AM, <wmcbr...@gmail.com> wrote: > The ACS_ characters are for box drawing, mainly. The division > into “main” and “alternate” character sets is just for historical reasons, > like a lot of things in curses. On an old VT100 terminal, you'd send a > special code to switch between the modes. So now, when you want curses to > draw the upper left corner of a box -- on any terminal -- you can just > addch ACS_ULCORNER, instead of worrying about the terminal-specific way to > get that. And yes, this whole thing is semi-obsolete in the Unicode era. > But as an implementer, you still need to make that map, so old code will > work. > > I hope this helps. I must admit I'm not entirely sure what you're asking > for. > > *From:* anatoly techtonik <techto...@gmail.com> > *Sent:* Sunday, April 12, 2015 4:35 AM > *To:* pdcurses-l@lightlink.com > > To make it more clear, I am trying to decouple the logic in port > implementation from C semantics to understand how PDCurses work, and so far > the mapping of ACS_ macros and its purpose is not very clear. The guide say > what should be done in ports, but it is still not clear why it is needed > and what should happen between PDCurses and Operating System. >