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 Sent: Sunday, April 12, 2015 4:35 AM To: email@example.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.