master ohmu/fastfetch-openbsd / src / detection / font / font_apple.m
ohmu  ·  2026-10-15
 1#include "common/font.h"
 2#include "common/io.h"
 3#include "font.h"
 4
 5#import <AppKit/NSFont.h>
 6
 7static void generateString(FFFontResult* font)
 8{
 9    if(font->fonts[0].length > 0)
10    {
11        ffStrbufAppend(&font->display, &font->fonts[0]);
12        ffStrbufAppendS(&font->display, " [System]");
13        if(font->fonts[1].length > 0)
14            ffStrbufAppendS(&font->display, ", ");
15    }
16
17    if(font->fonts[1].length > 0)
18    {
19        ffStrbufAppend(&font->display, &font->fonts[1]);
20        ffStrbufAppendS(&font->display, " [User]");
21    }
22}
23
24const char* ffDetectFontImpl(FFFontResult* result)
25{
26    ffStrbufAppendS(&result->fonts[0], [NSFont systemFontOfSize:12].familyName.UTF8String);
27    ffStrbufAppendS(&result->fonts[1], [NSFont userFontOfSize:12].familyName.UTF8String);
28    #ifdef MAC_OS_X_VERSION_10_15
29    ffStrbufAppendS(&result->fonts[2], [NSFont monospacedSystemFontOfSize:12 weight:400].familyName.UTF8String);
30    #else
31    ffStrbufAppendS(&result->fonts[2], "");
32    #endif
33    ffStrbufAppendS(&result->fonts[3], [NSFont userFixedPitchFontOfSize:12].familyName.UTF8String);
34    generateString(result);
35
36    return nullptr;
37}