https://invisible-island.net/ncurses/man/
legacy_coding(3x) Library calls legacy_coding(3x)
use_legacy_coding - override curses locale encoding checks
#include <curses.h> int use_legacy_coding(int level);
use_legacy_coding, an ncurses extension to the curses library, permits customiztion of unctrl(3x) behavior, suppressing isprint(3)-based checks within the library that would normally cause nonprinting characters to be rendered in visible form. The alteration affects only byte-wide characters with the most significant bit set. The level parameter controls the result. 0 The library functions normally, rendering nonprinting characters as described in unctrl(3x), 1 the library ignores isprint for codes in the range 160-255. 2 the library ignores isprint for codes in the range 128-255. It also modifies the output of unctrl(3x), showing codes in the range 128-159 as is.
If the curses screen has not been initialized, or the level parameter is out of range, use_legacy_coding returns ERR. Otherwise, it returns the previous level.
use_legacy_coding is an ncurses extension.
Applications employing ncurses extensions should condition their use on the visibility of the NCURSES_VERSION preprocessor macro.
ncurses 5.6 (2006) introduced use_legacy_coding to support lynx(1)'s font-switching feature.
Thomas Dickey
unctrl(3x) ncurses 6.5 2024-09-14 legacy_coding(3x)