Museum

Home

Lab Overview

Retrotechnology Articles

⇒ Online Manual

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

setlocale(3C)

euclen(3I)

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

setlocale(3C), euclen(3I)

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

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026