version 1.1.1.1, 2012/05/29 09:29:43
|
version 1.1.1.2, 2021/03/17 13:38:46
|
Line 1
|
Line 1
|
/* Display width functions. |
/* Display width functions. |
Copyright (C) 2001-2002, 2005, 2007, 2009-2011 Free Software Foundation, | Copyright (C) 2001-2002, 2005, 2007, 2009-2019 Free Software Foundation, |
Inc. |
Inc. |
|
|
This program is free software: you can redistribute it and/or modify it |
This program is free software: you can redistribute it and/or modify it |
Line 13
|
Line 13
|
General Public License for more details. |
General Public License for more details. |
|
|
You should have received a copy of the GNU General Public License |
You should have received a copy of the GNU General Public License |
along with this program. If not, see <http://www.gnu.org/licenses/>. */ | along with this program. If not, see <https://www.gnu.org/licenses/>. */ |
|
|
#ifndef _UNIWIDTH_H |
#ifndef _UNIWIDTH_H |
#define _UNIWIDTH_H |
#define _UNIWIDTH_H |
Line 38 extern "C" {
|
Line 38 extern "C" {
|
|
|
/* Determine number of column positions required for UC. */ |
/* Determine number of column positions required for UC. */ |
extern int |
extern int |
uc_width (ucs4_t uc, const char *encoding); | uc_width (ucs4_t uc, const char *encoding) |
| _UC_ATTRIBUTE_PURE; |
|
|
/* Determine number of column positions required for first N units |
/* Determine number of column positions required for first N units |
(or fewer if S ends before this) in S. */ |
(or fewer if S ends before this) in S. */ |
extern int |
extern int |
u8_width (const uint8_t *s, size_t n, const char *encoding); | u8_width (const uint8_t *s, size_t n, const char *encoding) |
| _UC_ATTRIBUTE_PURE; |
extern int |
extern int |
u16_width (const uint16_t *s, size_t n, const char *encoding); | u16_width (const uint16_t *s, size_t n, const char *encoding) |
| _UC_ATTRIBUTE_PURE; |
extern int |
extern int |
u32_width (const uint32_t *s, size_t n, const char *encoding); | u32_width (const uint32_t *s, size_t n, const char *encoding) |
| _UC_ATTRIBUTE_PURE; |
|
|
/* Determine number of column positions required for S. */ |
/* Determine number of column positions required for S. */ |
extern int |
extern int |
u8_strwidth (const uint8_t *s, const char *encoding); | u8_strwidth (const uint8_t *s, const char *encoding) |
| _UC_ATTRIBUTE_PURE; |
extern int |
extern int |
u16_strwidth (const uint16_t *s, const char *encoding); | u16_strwidth (const uint16_t *s, const char *encoding) |
| _UC_ATTRIBUTE_PURE; |
extern int |
extern int |
u32_strwidth (const uint32_t *s, const char *encoding); | u32_strwidth (const uint32_t *s, const char *encoding) |
| _UC_ATTRIBUTE_PURE; |
|
|
|
|
#ifdef __cplusplus |
#ifdef __cplusplus |