File indexing completed on 2025-01-17 09:56:13
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019
0020
0021
0022
0023
0024
0025
0026
0027 #ifndef _UNILBRK_H
0028 #define _UNILBRK_H
0029
0030
0031 #include <stddef.h>
0032
0033 #include "unitypes.h"
0034
0035
0036 #include <unistring/localcharset.h>
0037
0038
0039 #ifdef __cplusplus
0040 extern "C" {
0041 #endif
0042
0043
0044
0045
0046
0047
0048
0049
0050 enum
0051 {
0052 UC_BREAK_UNDEFINED,
0053 UC_BREAK_PROHIBITED,
0054 UC_BREAK_POSSIBLE,
0055 UC_BREAK_MANDATORY,
0056 UC_BREAK_HYPHENATION,
0057 UC_BREAK_CR_BEFORE_LF
0058 };
0059
0060
0061
0062
0063
0064
0065
0066
0067
0068
0069
0070
0071 extern void
0072 u8_possible_linebreaks (const uint8_t *s, size_t n,
0073 const char *encoding, char *_UC_RESTRICT p);
0074 extern void
0075 u8_possible_linebreaks_v2 (const uint8_t *s, size_t n,
0076 const char *encoding, char *_UC_RESTRICT p);
0077 #define u8_possible_linebreaks u8_possible_linebreaks_v2
0078
0079 extern void
0080 u16_possible_linebreaks (const uint16_t *s, size_t n,
0081 const char *encoding, char *_UC_RESTRICT p);
0082 extern void
0083 u16_possible_linebreaks_v2 (const uint16_t *s, size_t n,
0084 const char *encoding, char *_UC_RESTRICT p);
0085 #define u16_possible_linebreaks u16_possible_linebreaks_v2
0086
0087 extern void
0088 u32_possible_linebreaks (const uint32_t *s, size_t n,
0089 const char *encoding, char *_UC_RESTRICT p);
0090 extern void
0091 u32_possible_linebreaks_v2 (const uint32_t *s, size_t n,
0092 const char *encoding, char *_UC_RESTRICT p);
0093 #define u32_possible_linebreaks u32_possible_linebreaks_v2
0094
0095 extern void
0096 ulc_possible_linebreaks (const char *s, size_t n,
0097 const char *encoding, char *_UC_RESTRICT p);
0098 extern void
0099 ulc_possible_linebreaks_v2 (const char *s, size_t n,
0100 const char *encoding, char *_UC_RESTRICT p);
0101 #define ulc_possible_linebreaks ulc_possible_linebreaks_v2
0102
0103
0104
0105
0106
0107
0108
0109
0110
0111
0112
0113
0114 extern int
0115 u8_width_linebreaks (const uint8_t *s, size_t n, int width,
0116 int start_column, int at_end_columns,
0117 const char *o, const char *encoding,
0118 char *_UC_RESTRICT p);
0119 extern int
0120 u8_width_linebreaks_v2 (const uint8_t *s, size_t n, int width,
0121 int start_column, int at_end_columns,
0122 const char *o, const char *encoding,
0123 char *_UC_RESTRICT p);
0124 #define u8_width_linebreaks u8_width_linebreaks_v2
0125
0126 extern int
0127 u16_width_linebreaks (const uint16_t *s, size_t n, int width,
0128 int start_column, int at_end_columns,
0129 const char *o, const char *encoding,
0130 char *_UC_RESTRICT p);
0131 extern int
0132 u16_width_linebreaks_v2 (const uint16_t *s, size_t n, int width,
0133 int start_column, int at_end_columns,
0134 const char *o, const char *encoding,
0135 char *_UC_RESTRICT p);
0136 #define u16_width_linebreaks u16_width_linebreaks_v2
0137
0138 extern int
0139 u32_width_linebreaks (const uint32_t *s, size_t n, int width,
0140 int start_column, int at_end_columns,
0141 const char *o, const char *encoding,
0142 char *_UC_RESTRICT p);
0143 extern int
0144 u32_width_linebreaks_v2 (const uint32_t *s, size_t n, int width,
0145 int start_column, int at_end_columns,
0146 const char *o, const char *encoding,
0147 char *_UC_RESTRICT p);
0148 #define u32_width_linebreaks u32_width_linebreaks_v2
0149
0150 extern int
0151 ulc_width_linebreaks (const char *s, size_t n, int width,
0152 int start_column, int at_end_columns,
0153 const char *o, const char *encoding,
0154 char *_UC_RESTRICT p);
0155 extern int
0156 ulc_width_linebreaks_v2 (const char *s, size_t n, int width,
0157 int start_column, int at_end_columns,
0158 const char *o, const char *encoding,
0159 char *_UC_RESTRICT p);
0160 #define ulc_width_linebreaks ulc_width_linebreaks_v2
0161
0162
0163 #ifdef __cplusplus
0164 }
0165 #endif
0166
0167
0168 #endif