---
name: "iswideogram_l"
section: "3"
platform: "freebsd"
package: "base"
version: "16.0-CURRENT-20261027-61c70dc16a79"
release: "FreeBSD 16.0-CURRENT (2026-10-27)"
platforms: ["freebsd"]
url: "https://new.carta.tech/iswalnum_l"
---

# iswideogram\_l(3)

wide character classification utilities

Part of [iswalnum\_l(3)](/iswalnum_l/3.md).

## NAME

**iswalnum\_l**, **iswalpha\_l**, **iswcntrl\_l**, **iswctype\_l**, **iswdigit\_l**, **iswgraph\_l**, **iswlower\_l**, **iswprint\_l**, **iswpunct\_l**, **iswspace\_l**, **iswupper\_l**, **iswxdigit\_l**, **towlower\_l**, **towupper\_l**, **wctype\_l**, **iswblank\_l**, **iswhexnumber\_l**, **iswideogram\_l**, **iswnumber\_l**, **iswphonogram\_l**, **iswrune\_l**, **iswspecial\_l**, **nextwctype\_l**, **towctrans\_l**, **wctrans\_l** – wide character classification utilities

## LIBRARY

Standard C Library (libc, -lc)

## SYNOPSIS

**#include \<wctype.h\>**

*int*\

**iswalnum\_l**(*wint\_t wc*, *locale\_t loc*);

*int*\

**iswalpha\_l**(*wint\_t wc*, *locale\_t loc*);

*int*\

**iswcntrl\_l**(*wint\_t wc*, *locale\_t loc*);

*int*\

**iswctype\_l**(*wint\_t wc*, *locale\_t loc*);

*int*\

**iswdigit\_l**(*wint\_t wc*, *locale\_t loc*);

*int*\

**iswgraph\_l**(*wint\_t wc*, *locale\_t loc*);

*int*\

**iswlower\_l**(*wint\_t wc*, *locale\_t loc*);

*int*\

**iswprint\_l**(*wint\_t wc*, *locale\_t loc*);

*int*\

**iswpunct\_l**(*wint\_t wc*, *locale\_t loc*);

*int*\

**iswspace\_l**(*wint\_t wc*, *locale\_t loc*);

*int*\

**iswupper\_l**(*wint\_t wc*, *locale\_t loc*);

*int*\

**iswxdigit\_l**(*wint\_t wc*, *locale\_t loc*);

*wint\_t*\

**towlower\_l**(*wint\_t wc*, *locale\_t loc*);

*wint\_t*\

**towupper\_l**(*wint\_t wc*, *locale\_t loc*);

*wctype\_t*\

**wctype\_l**(*wint\_t wc*, *locale\_t loc*);

*int*\

**iswblank\_l**(*wint\_t wc*, *locale\_t loc*);

*int*\

**iswhexnumber\_l**(*wint\_t wc*, *locale\_t loc*);

*int*\

**iswideogram\_l**(*wint\_t wc*, *locale\_t loc*);

*int*\

**iswnumber\_l**(*wint\_t wc*, *locale\_t loc*);

*int*\

**iswphonogram\_l**(*wint\_t wc*, *locale\_t loc*);

*int*\

**iswrune\_l**(*wint\_t wc*, *locale\_t loc*);

*int*\

**iswspecial\_l**(*wint\_t wc*, *locale\_t loc*);

*wint\_t*\

**nextwctype\_l**(*wint\_t wc*, *locale\_t loc*);

*wint\_t*\

**towctrans\_l**(*wint\_t wc*, *wctrans\_t*, *locale\_t loc*);

*wctrans\_t*\

**wctrans\_l**(*const char \**, *locale\_t loc*);

## DESCRIPTION

The above functions are character classification utility functions, for use with wide characters (*wchar\_t* or *wint\_t*) in the locale *loc*. They behave in the same way as the versions without the \_l suffix, but use the specified locale rather than the global or per-thread locale. These functions may be implemented as inline functions in ⟨wctype.h⟩ and as functions in the C library. See the specific manual pages for more information.

## RETURN VALUES

These functions return the same things as their non-locale versions. If the locale is invalid, their behaviors are undefined.

## SEE ALSO

[iswalnum(3)](/iswalnum/3.md), [iswalpha(3)](/iswalpha/3.md), [iswblank(3)](/iswblank/3.md), [iswcntrl(3)](/iswcntrl/3.md), [iswctype(3)](/iswctype/3.md), [iswdigit(3)](/iswdigit/3.md), [iswgraph(3)](/iswgraph/3.md), [iswhexnumber(3)](/iswhexnumber/3.md), [iswideogram(3)](/iswideogram/3.md), [iswlower(3)](/iswlower/3.md), [iswnumber(3)](/iswnumber/3.md), [iswphonogram(3)](/iswphonogram/3.md), [iswprint(3)](/iswprint/3.md), [iswpunct(3)](/iswpunct/3.md), [iswrune(3)](/iswrune/3.md), [iswspace(3)](/iswspace/3.md), [iswspecial(3)](/iswspecial/3.md), [iswupper(3)](/iswupper/3.md), [iswxdigit(3)](/iswxdigit/3.md), [nextwctype(3)](/nextwctype/3.md), [towctrans(3)](/towctrans/3.md), [towlower(3)](/towlower/3.md), [towupper(3)](/towupper/3.md), [wctrans(3)](/wctrans/3.md), [wctype(3)](/wctype/3.md)

## STANDARDS

These functions conform to IEEE Std 1003.1-2008 (“POSIX.1”), except for **iswascii\_l**(), **iswhexnumber\_l**(), **iswideogram\_l**(), **iswphonogram\_l**(), **iswrune\_l**(), **iswspecial\_l**() and **nextwctype\_l**() which are FreeBSD extensions.
