diff options
Diffstat (limited to 'nuklear_ui/font.c')
-rw-r--r-- | nuklear_ui/font.c | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/nuklear_ui/font.c b/nuklear_ui/font.c new file mode 100644 index 0000000..6dd3232 --- /dev/null +++ b/nuklear_ui/font.c @@ -0,0 +1,26 @@ +#include <stdio.h> +#include <stdlib.h> + +char *default_font_path(void) +{ + FILE *fc_pipe = popen("fc-match -f '%{file}'", "r"); + if (!fc_pipe) { + return NULL; + } + size_t buf_size = 128; + char *buffer = NULL; + size_t total = 0, read = 0; + do { + total += read; + buf_size *= 2; + buffer = realloc(buffer, buf_size); + if (!buffer) { + return NULL; + } + read = fread(buffer, 1, buf_size - total, fc_pipe); + } while (read == (buf_size - total)); + total += read; + buffer[total] = 0; + + return buffer; +} |