Fix for issue #452: Fl::get_font_name failure on OS-X.
This commit is contained in:
parent
617dc2ce12
commit
fb7469c85c
@ -317,12 +317,14 @@ double Fl_Quartz_Graphics_Driver::width(unsigned int wc) {
|
||||
#if MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_5
|
||||
static void set_fontname_CoreText(Fl_Fontdesc *f) {
|
||||
CFStringRef cfname = CFStringCreateWithCString(NULL, f->name, kCFStringEncodingUTF8);
|
||||
CTFontRef ctfont = CTFontCreateWithName(cfname, 0, NULL);
|
||||
CFRelease(cfname);
|
||||
cfname = CTFontCopyFullName(ctfont);
|
||||
CFRelease(ctfont);
|
||||
CFStringGetCString(cfname, f->fontname, ENDOFBUFFER, kCFStringEncodingUTF8);
|
||||
CFRelease(cfname);
|
||||
CTFontRef ctfont = cfname ? CTFontCreateWithName(cfname, 0, NULL) : NULL;
|
||||
if (cfname) CFRelease(cfname);
|
||||
if (ctfont) {
|
||||
cfname = CTFontCopyFullName(ctfont);
|
||||
CFRelease(ctfont);
|
||||
CFStringGetCString(cfname, f->fontname, ENDOFBUFFER, kCFStringEncodingUTF8);
|
||||
CFRelease(cfname);
|
||||
} else strlcpy(f->fontname, f->name, ENDOFBUFFER);
|
||||
}
|
||||
#endif
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user