summaryrefslogtreecommitdiff
path: root/nuklear_ui/font.c
diff options
context:
space:
mode:
Diffstat (limited to 'nuklear_ui/font.c')
-rw-r--r--nuklear_ui/font.c26
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;
+}