Lines Matching refs:ucs4
32 # include "ucs4.h"
36 * DESCRIPTION: return the number of ucs4 chars represented by a latin1 string
84 * DESCRIPTION: duplicate and decode a latin1 string into ucs4
88 id3_ucs4_t *ucs4;
90 ucs4 = malloc((id3_latin1_length(latin1) + 1) * sizeof(*ucs4));
91 if (ucs4)
92 id3_latin1_decode(latin1, ucs4);
94 return release(ucs4);
99 * DESCRIPTION: decode a (single) latin1 char into a single ucs4 char
102 id3_ucs4_t *ucs4)
104 *ucs4 = *latin1;
111 * DESCRIPTION: encode a single ucs4 char into a (single) latin1 char
113 id3_length_t id3_latin1_encodechar(id3_latin1_t *latin1, id3_ucs4_t ucs4)
115 *latin1 = ucs4;
116 if (ucs4 > 0x000000ffL)
124 * DESCRIPTION: decode a complete latin1 string into a ucs4 string
126 void id3_latin1_decode(id3_latin1_t const *latin1, id3_ucs4_t *ucs4)
129 latin1 += id3_latin1_decodechar(latin1, ucs4);
130 while (*ucs4++);
135 * DESCRIPTION: encode a complete ucs4 string into a latin1 string
137 void id3_latin1_encode(id3_latin1_t *latin1, id3_ucs4_t const *ucs4)
140 latin1 += id3_latin1_encodechar(latin1, *ucs4);
141 while (*ucs4++);
167 * DESCRIPTION: serialize a ucs4 string using latin1 encoding
169 id3_length_t id3_latin1_serialize(id3_byte_t **ptr, id3_ucs4_t const *ucs4,
175 while (*ucs4) {
176 switch (id3_latin1_encodechar(out = latin1, *ucs4++)) {
190 * DESCRIPTION: deserialize a ucs4 string using latin1 encoding
196 id3_ucs4_t *ucs4;
210 ucs4 = malloc((id3_latin1_length(latin1) + 1) * sizeof(*ucs4));
211 if (ucs4)
212 id3_latin1_decode(latin1, ucs4);
216 return ucs4;