cset(3I)
NAME
cset, csetlen, csetcol, csetno, wcsetno − get information on EUC codesets
SYNOPSIS
#include <euc.h>
int csetlen(int codeset);
int csetcol(int codeset);
int csetno(unsigned char c);
#include <widec.h>
int wcsetno(wchar_t pc);
MT-LEVEL
MT-Safe with exceptions
DESCRIPTION
Both csetlen() and csetcol() take a code set number codeset, which must be 0, 1, 2, or 3. csetlen() returns the number of bytes needed to represent a character of the given Extended Unix Code (EUC) code set, excluding the single-shift characters SS2 and SS3 for codesets 2 and 3. csetcol() returns the number of columns a character in the given EUC code set would take on the display.
csetno() is a macro that returns a codeset number (0, 1, 2, or 3) for the EUC character whose first byte is c. For example,
#include<euc.h>
...
x+=csetcol(csetno(c));
increments a counter “x” (such as the cursor position) by the width of the character whose first byte is c.
wcsetno() is a macro that returns a codeset number (0, 1, 2, or 3) for the given process code character pc. For example,
#include<euc.h>
#include<widec.h>
...
x+=csetcol(wcsetno(pc));
increments a counter “x” (such as the cursor position) by the width of the Process Code character pc.
SEE ALSO
NOTES
cset, csetlen, csetcol, csetno and wcsetno can be used safely in a multi-thread application, as long as setlocale(3C) is not being called to change the locale.
SunOS 5.5/SPARC — Last change: 22 Jan 1993