First Commit
This commit is contained in:
commit
ae0fab9400
424 files changed
+71006
No files matched your search
@@ -0,0 +1,31 @@
|
||||
// 3 november 2017
|
||||
#import "uipriv_darwin.h"
|
||||
|
||||
// functions and constants FROM THE DEPTHS BELOW!
|
||||
// note: for constants, dlsym() returns the address of the constant itself, as if we had done &constantName
|
||||
// we also provide default values just in case
|
||||
|
||||
// these values come from 10.12.6
|
||||
CFStringRef uiprivUNDOC_kCTFontPreferredSubFamilyNameKey = CFSTR("CTFontPreferredSubFamilyName");
|
||||
CFStringRef uiprivUNDOC_kCTFontPreferredFamilyNameKey = CFSTR("CTFontPreferredFamilyName");
|
||||
|
||||
// note that we treat any error as "the symbols aren't there" (and don't care if dlclose() failed)
|
||||
void uiprivLoadUndocumented(void)
|
||||
{
|
||||
void *handle;
|
||||
CFStringRef *str;
|
||||
|
||||
// dlsym() walks the dependency chain, so opening the current process should be sufficient
|
||||
handle = dlopen(NULL, RTLD_LAZY);
|
||||
if (handle == NULL)
|
||||
return;
|
||||
#define GET(var, fn) *((void **) (&var)) = dlsym(handle, #fn)
|
||||
GET(str, kCTFontPreferredSubFamilyNameKey);
|
||||
NSLog(@"get %p", str);
|
||||
if (str != NULL)
|
||||
uiprivUNDOC_kCTFontPreferredSubFamilyNameKey = *str;
|
||||
GET(str, kCTFontPreferredFamilyNameKey);
|
||||
if (str != NULL)
|
||||
uiprivUNDOC_kCTFontPreferredFamilyNameKey = *str;
|
||||
dlclose(handle);
|
||||
}
|
||||
Reference in new issue
Block a user