xref: /freebsd/contrib/ncurses/man/legacy_coding.3x (revision 96190b4fef3b4a0cc3ca0606b0c4e3e69a5e6717)
***************************************************************************
Copyright 2020-2023,2024 Thomas E. Dickey *
Copyright 2005-2016,2017 Free Software Foundation, Inc. *
*
Permission is hereby granted, free of charge, to any person obtaining a *
copy of this software and associated documentation files (the *
"Software"), to deal in the Software without restriction, including *
without limitation the rights to use, copy, modify, merge, publish, *
distribute, distribute with modifications, sublicense, and/or sell *
copies of the Software, and to permit persons to whom the Software is *
furnished to do so, subject to the following conditions: *
*
The above copyright notice and this permission notice shall be included *
in all copies or substantial portions of the Software. *
*
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS *
OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF *
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. *
IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, *
DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR *
OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR *
THE USE OR OTHER DEALINGS IN THE SOFTWARE. *
*
Except as contained in this notice, the name(s) of the above copyright *
holders shall not be used in advertising or otherwise to promote the *
sale, use or other dealings in this Software without prior written *
authorization. *
***************************************************************************

Author: Thomas E. Dickey

$Id: legacy_coding.3x,v 1.28 2024/04/20 19:13:50 tom Exp $
legacy_coding 3X 2024-04-20 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
NAME
\%use_legacy_coding - override curses locale encoding checks
SYNOPSIS
#include <curses.h>

int use_legacy_coding(int level);

DESCRIPTION
\%use_legacy_coding is an extension to the curses library. It allows the caller to change the result of \%unctrl(3X), suppressing \%isprint(3)-based checks within the library that would normally cause nonprinting characters to be rendered in visible form. The alteration affects only eight-bit characters.

The level parameter controls the result.

5 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.

RETURN VALUE
If the screen has not been initialized, or the level parameter is out of range, \%use_legacy_coding returns ERR . Otherwise, it returns the previous level: 0 , 1 , or 2 .
PORTABILITY
\%use_legacy_coding is specific to \%ncurses . It was not supported on Version 7, BSD or System V implementations. Applications employing \%ncurses extensions should condition their use on the visibility of the \%NCURSES_VERSION preprocessor macro.
AUTHORS
Thomas Dickey (to support \%lynx(1)'s font-switching feature).
SEE ALSO
\%unctrl(3X)