Use space indendation in SDL_fribidi sources

This commit is contained in:
Anonymous Maarten
2025-10-04 19:34:53 +02:00
parent 0f9d032885
commit f69981cbfb
2 changed files with 72 additions and 72 deletions

View File

@@ -35,54 +35,54 @@ SDL_ELF_NOTE_DLOPEN(
#endif #endif
SDL_FriBidi *SDL_FriBidi_Create(void) { SDL_FriBidi *SDL_FriBidi_Create(void) {
SDL_FriBidi *fribidi; SDL_FriBidi *fribidi;
fribidi = (SDL_FriBidi *)SDL_malloc(sizeof(SDL_FriBidi)); fribidi = (SDL_FriBidi *)SDL_malloc(sizeof(SDL_FriBidi));
if (!fribidi) { if (!fribidi) {
return NULL; return NULL;
} }
#ifdef SDL_FRIBIDI_DYNAMIC #ifdef SDL_FRIBIDI_DYNAMIC
#define SDL_FRIBIDI_LOAD_SYM(x, n, t) x = ((t)SDL_LoadFunction(fribidi->lib, n)); if (!x) { SDL_UnloadObject(fribidi->lib); SDL_free(fribidi); return NULL; } #define SDL_FRIBIDI_LOAD_SYM(x, n, t) x = ((t)SDL_LoadFunction(fribidi->lib, n)); if (!x) { SDL_UnloadObject(fribidi->lib); SDL_free(fribidi); return NULL; }
fribidi->lib = SDL_LoadObject(SDL_FRIBIDI_DYNAMIC); fribidi->lib = SDL_LoadObject(SDL_FRIBIDI_DYNAMIC);
if (!fribidi->lib) { if (!fribidi->lib) {
SDL_free(fribidi); SDL_free(fribidi);
return NULL; return NULL;
} }
SDL_FRIBIDI_LOAD_SYM(fribidi->unicode_to_charset, "fribidi_unicode_to_charset", SDL_FriBidiUnicodeToCharset); SDL_FRIBIDI_LOAD_SYM(fribidi->unicode_to_charset, "fribidi_unicode_to_charset", SDL_FriBidiUnicodeToCharset);
SDL_FRIBIDI_LOAD_SYM(fribidi->charset_to_unicode, "fribidi_charset_to_unicode", SDL_FriBidiCharsetToUnicode); SDL_FRIBIDI_LOAD_SYM(fribidi->charset_to_unicode, "fribidi_charset_to_unicode", SDL_FriBidiCharsetToUnicode);
SDL_FRIBIDI_LOAD_SYM(fribidi->get_bidi_types, "fribidi_get_bidi_types", SDL_FriBidiGetBidiTypes); SDL_FRIBIDI_LOAD_SYM(fribidi->get_bidi_types, "fribidi_get_bidi_types", SDL_FriBidiGetBidiTypes);
SDL_FRIBIDI_LOAD_SYM(fribidi->get_par_direction, "fribidi_get_par_direction", SDL_FriBidiGetParDirection); SDL_FRIBIDI_LOAD_SYM(fribidi->get_par_direction, "fribidi_get_par_direction", SDL_FriBidiGetParDirection);
SDL_FRIBIDI_LOAD_SYM(fribidi->get_par_embedding_levels, "fribidi_get_par_embedding_levels", SDL_FriBidiGetParEmbeddingLevels); SDL_FRIBIDI_LOAD_SYM(fribidi->get_par_embedding_levels, "fribidi_get_par_embedding_levels", SDL_FriBidiGetParEmbeddingLevels);
SDL_FRIBIDI_LOAD_SYM(fribidi->get_joining_types, "fribidi_get_joining_types", SDL_FriBidiGetJoiningTypes); SDL_FRIBIDI_LOAD_SYM(fribidi->get_joining_types, "fribidi_get_joining_types", SDL_FriBidiGetJoiningTypes);
SDL_FRIBIDI_LOAD_SYM(fribidi->join_arabic, "fribidi_join_arabic", SDL_FriBidiJoinArabic); SDL_FRIBIDI_LOAD_SYM(fribidi->join_arabic, "fribidi_join_arabic", SDL_FriBidiJoinArabic);
SDL_FRIBIDI_LOAD_SYM(fribidi->shape, "fribidi_shape", SDL_FriBidiShape); SDL_FRIBIDI_LOAD_SYM(fribidi->shape, "fribidi_shape", SDL_FriBidiShape);
SDL_FRIBIDI_LOAD_SYM(fribidi->reorder_line, "fribidi_reorder_line", SDL_FriBidiReorderLine); SDL_FRIBIDI_LOAD_SYM(fribidi->reorder_line, "fribidi_reorder_line", SDL_FriBidiReorderLine);
#else #else
fribidi->unicode_to_charset = fribidi_unicode_to_charset; fribidi->unicode_to_charset = fribidi_unicode_to_charset;
fribidi->charset_to_unicode = fribidi_charset_to_unicode; fribidi->charset_to_unicode = fribidi_charset_to_unicode;
fribidi->get_bidi_types = fribidi_get_bidi_types; fribidi->get_bidi_types = fribidi_get_bidi_types;
fribidi->get_par_direction = fribidi_get_par_direction; fribidi->get_par_direction = fribidi_get_par_direction;
fribidi->get_par_embedding_levels = fribidi_get_par_embedding_levels; fribidi->get_par_embedding_levels = fribidi_get_par_embedding_levels;
fribidi->get_joining_types = fribidi_get_joining_types; fribidi->get_joining_types = fribidi_get_joining_types;
fribidi->join_arabic = fribidi_join_arabic; fribidi->join_arabic = fribidi_join_arabic;
fribidi->shape = fribidi_shape; fribidi->shape = fribidi_shape;
fribidi->reorder_line = fribidi_reorder_line; fribidi->reorder_line = fribidi_reorder_line;
#endif #endif
return fribidi; return fribidi;
} }
char *SDL_FriBidi_Process(SDL_FriBidi *fribidi, char *utf8, ssize_t utf8_len, bool shaping, FriBidiParType *out_par_type) { char *SDL_FriBidi_Process(SDL_FriBidi *fribidi, char *utf8, ssize_t utf8_len, bool shaping, FriBidiParType *out_par_type) {
FriBidiCharType *types; FriBidiCharType *types;
FriBidiLevel *levels; FriBidiLevel *levels;
FriBidiArabicProp *props; FriBidiArabicProp *props;
FriBidiChar *str; FriBidiChar *str;
char *result; char *result;
FriBidiStrIndex len; FriBidiStrIndex len;
FriBidiLevel max_level; FriBidiLevel max_level;
FriBidiLevel start; FriBidiLevel start;
FriBidiLevel end; FriBidiLevel end;
FriBidiParType direction; FriBidiParType direction;
@@ -94,10 +94,10 @@ char *SDL_FriBidi_Process(SDL_FriBidi *fribidi, char *utf8, ssize_t utf8_len, bo
return NULL; return NULL;
} }
/* Convert to UTF32 */ /* Convert to UTF32 */
if (utf8_len < 0) { if (utf8_len < 0) {
utf8_len = SDL_strlen(utf8); utf8_len = SDL_strlen(utf8);
} }
str = SDL_calloc(SDL_utf8strnlen(utf8, utf8_len), sizeof(FriBidiChar)); str = SDL_calloc(SDL_utf8strnlen(utf8, utf8_len), sizeof(FriBidiChar));
len = fribidi->charset_to_unicode(FRIBIDI_CHAR_SET_UTF8, utf8, utf8_len, str); len = fribidi->charset_to_unicode(FRIBIDI_CHAR_SET_UTF8, utf8, utf8_len, str);
@@ -109,17 +109,17 @@ char *SDL_FriBidi_Process(SDL_FriBidi *fribidi, char *utf8, ssize_t utf8_len, bo
levels = SDL_calloc(len + 1, sizeof(FriBidiLevel)); levels = SDL_calloc(len + 1, sizeof(FriBidiLevel));
types = SDL_calloc(len + 1, sizeof(FriBidiCharType)); types = SDL_calloc(len + 1, sizeof(FriBidiCharType));
/* Shape */ /* Shape */
fribidi->get_bidi_types(str, len, types); fribidi->get_bidi_types(str, len, types);
str_direction = fribidi->get_par_direction(types, len); str_direction = fribidi->get_par_direction(types, len);
max_level = fribidi->get_par_embedding_levels(types, len, &direction, levels); max_level = fribidi->get_par_embedding_levels(types, len, &direction, levels);
if (shaping) { if (shaping) {
fribidi->get_joining_types(str, len, props); fribidi->get_joining_types(str, len, props);
fribidi->join_arabic(types, len, levels, props); fribidi->join_arabic(types, len, levels, props);
fribidi->shape(FRIBIDI_FLAGS_DEFAULT | FRIBIDI_FLAGS_ARABIC, levels, len, props, str); fribidi->shape(FRIBIDI_FLAGS_DEFAULT | FRIBIDI_FLAGS_ARABIC, levels, len, props, str);
} }
/* BIDI */ /* BIDI */
for (end = 0, start = 0; end < len; end++) { for (end = 0, start = 0; end < len; end++) {
if (str[end] == '\n' || str[end] == '\r' || str[end] == '\f' || str[end] == '\v' || end == len - 1) { if (str[end] == '\n' || str[end] == '\r' || str[end] == '\f' || str[end] == '\v' || end == len - 1) {
max_level = fribidi->reorder_line(FRIBIDI_FLAGS_DEFAULT | FRIBIDI_FLAGS_ARABIC, types, end - start + 1, start, direction, levels, str, NULL); max_level = fribidi->reorder_line(FRIBIDI_FLAGS_DEFAULT | FRIBIDI_FLAGS_ARABIC, types, end - start + 1, start, direction, levels, str, NULL);
@@ -127,10 +127,10 @@ char *SDL_FriBidi_Process(SDL_FriBidi *fribidi, char *utf8, ssize_t utf8_len, bo
} }
} }
/* Silence warning */ /* Silence warning */
(void)max_level; (void)max_level;
/* Remove fillers */ /* Remove fillers */
for (i = 0, c = 0; i < len; i++) { for (i = 0, c = 0; i < len; i++) {
if (str[i] != FRIBIDI_CHAR_FILL) { if (str[i] != FRIBIDI_CHAR_FILL) {
str[c++] = str[i]; str[c++] = str[i];
@@ -138,32 +138,32 @@ char *SDL_FriBidi_Process(SDL_FriBidi *fribidi, char *utf8, ssize_t utf8_len, bo
} }
len = c; len = c;
/* Convert back to UTF8 */ /* Convert back to UTF8 */
result = SDL_malloc(len * 4 + 1); result = SDL_malloc(len * 4 + 1);
fribidi->unicode_to_charset(FRIBIDI_CHAR_SET_UTF8, str, len, result); fribidi->unicode_to_charset(FRIBIDI_CHAR_SET_UTF8, str, len, result);
/* Cleanup */ /* Cleanup */
SDL_free(levels); SDL_free(levels);
SDL_free(props); SDL_free(props);
SDL_free(types); SDL_free(types);
/* Return */ /* Return */
if (out_par_type) { if (out_par_type) {
*out_par_type = str_direction; *out_par_type = str_direction;
} }
return result; return result;
} }
void SDL_FriBidi_Destroy(SDL_FriBidi *fribidi) { void SDL_FriBidi_Destroy(SDL_FriBidi *fribidi) {
if (!fribidi) { if (!fribidi) {
return; return;
} }
#ifdef SDL_FRIBIDI_DYNAMIC #ifdef SDL_FRIBIDI_DYNAMIC
SDL_UnloadObject(fribidi->lib); SDL_UnloadObject(fribidi->lib);
#endif #endif
SDL_free(fribidi); SDL_free(fribidi);
} }
#endif #endif

View File

@@ -31,23 +31,23 @@ typedef FriBidiStrIndex (*SDL_FriBidiUnicodeToCharset)(FriBidiCharSet, const Fri
typedef FriBidiStrIndex (*SDL_FriBidiCharsetToUnicode)(FriBidiCharSet, const char *, FriBidiStrIndex, FriBidiChar *); typedef FriBidiStrIndex (*SDL_FriBidiCharsetToUnicode)(FriBidiCharSet, const char *, FriBidiStrIndex, FriBidiChar *);
typedef void (*SDL_FriBidiGetBidiTypes)(const FriBidiChar *, const FriBidiStrIndex, FriBidiCharType *); typedef void (*SDL_FriBidiGetBidiTypes)(const FriBidiChar *, const FriBidiStrIndex, FriBidiCharType *);
typedef FriBidiParType (*SDL_FriBidiGetParDirection)(const FriBidiCharType *, const FriBidiStrIndex); typedef FriBidiParType (*SDL_FriBidiGetParDirection)(const FriBidiCharType *, const FriBidiStrIndex);
typedef FriBidiLevel (*SDL_FriBidiGetParEmbeddingLevels)(const FriBidiCharType *, const FriBidiStrIndex, FriBidiParType *, FriBidiLevel *); typedef FriBidiLevel (*SDL_FriBidiGetParEmbeddingLevels)(const FriBidiCharType *, const FriBidiStrIndex, FriBidiParType *, FriBidiLevel *);
typedef void (*SDL_FriBidiGetJoiningTypes)(const FriBidiChar *, const FriBidiStrIndex, FriBidiJoiningType *); typedef void (*SDL_FriBidiGetJoiningTypes)(const FriBidiChar *, const FriBidiStrIndex, FriBidiJoiningType *);
typedef void (*SDL_FriBidiJoinArabic)(const FriBidiCharType *, const FriBidiStrIndex, const FriBidiLevel *, FriBidiArabicProp *); typedef void (*SDL_FriBidiJoinArabic)(const FriBidiCharType *, const FriBidiStrIndex, const FriBidiLevel *, FriBidiArabicProp *);
typedef void (*SDL_FriBidiShape)(FriBidiFlags flags, const FriBidiLevel *, const FriBidiStrIndex, FriBidiArabicProp *, FriBidiChar *str); typedef void (*SDL_FriBidiShape)(FriBidiFlags flags, const FriBidiLevel *, const FriBidiStrIndex, FriBidiArabicProp *, FriBidiChar *str);
typedef FriBidiLevel (*SDL_FriBidiReorderLine)(FriBidiFlags flags, const FriBidiCharType *, const FriBidiStrIndex, const FriBidiStrIndex, const FriBidiParType, FriBidiLevel *, FriBidiChar *, FriBidiStrIndex *); typedef FriBidiLevel (*SDL_FriBidiReorderLine)(FriBidiFlags flags, const FriBidiCharType *, const FriBidiStrIndex, const FriBidiStrIndex, const FriBidiParType, FriBidiLevel *, FriBidiChar *, FriBidiStrIndex *);
typedef struct SDL_FriBidi { typedef struct SDL_FriBidi {
SDL_SharedObject *lib; SDL_SharedObject *lib;
SDL_FriBidiUnicodeToCharset unicode_to_charset; SDL_FriBidiUnicodeToCharset unicode_to_charset;
SDL_FriBidiCharsetToUnicode charset_to_unicode; SDL_FriBidiCharsetToUnicode charset_to_unicode;
SDL_FriBidiGetBidiTypes get_bidi_types; SDL_FriBidiGetBidiTypes get_bidi_types;
SDL_FriBidiGetParDirection get_par_direction; SDL_FriBidiGetParDirection get_par_direction;
SDL_FriBidiGetParEmbeddingLevels get_par_embedding_levels; SDL_FriBidiGetParEmbeddingLevels get_par_embedding_levels;
SDL_FriBidiGetJoiningTypes get_joining_types; SDL_FriBidiGetJoiningTypes get_joining_types;
SDL_FriBidiJoinArabic join_arabic; SDL_FriBidiJoinArabic join_arabic;
SDL_FriBidiShape shape; SDL_FriBidiShape shape;
SDL_FriBidiReorderLine reorder_line; SDL_FriBidiReorderLine reorder_line;
} SDL_FriBidi; } SDL_FriBidi;
extern SDL_FriBidi *SDL_FriBidi_Create(void); extern SDL_FriBidi *SDL_FriBidi_Create(void);