|
@@ -0,0 +1,37 @@
|
|
|
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
|
+From: Samuel Attard <[email protected]>
|
|
|
+Date: Tue, 17 Nov 2020 16:59:28 -0800
|
|
|
+Subject: use public APIs to determine if a font is a system font in MAS build
|
|
|
+
|
|
|
+CTFontDescriptorIsSystemUIFont is a private API, we're using an _interesting_ technique in the MAS build to determine if the font is a system font by checking if it's kCTFontPriorityAttribute is set to system priority.
|
|
|
+
|
|
|
+diff --git a/ui/gfx/platform_font_mac.mm b/ui/gfx/platform_font_mac.mm
|
|
|
+index fc6047806e3511f60b58a669fdf628e1a48eb05b..bcc29ac87cfc965eb4c3f06d959605d2cb259770 100644
|
|
|
+--- a/ui/gfx/platform_font_mac.mm
|
|
|
++++ b/ui/gfx/platform_font_mac.mm
|
|
|
+@@ -25,9 +25,11 @@
|
|
|
+
|
|
|
+ using Weight = Font::Weight;
|
|
|
+
|
|
|
++#if !defined(MAS_BUILD)
|
|
|
+ extern "C" {
|
|
|
+ bool CTFontDescriptorIsSystemUIFont(CTFontDescriptorRef);
|
|
|
+ }
|
|
|
++#endif
|
|
|
+
|
|
|
+ namespace {
|
|
|
+
|
|
|
+@@ -269,7 +271,13 @@ NSInteger ToNSFontManagerWeight(Weight weight) {
|
|
|
+ // TODO(avi, etienneb): Figure out this font stuff.
|
|
|
+ base::ScopedCFTypeRef<CTFontDescriptorRef> descriptor(
|
|
|
+ CTFontCopyFontDescriptor(font));
|
|
|
++#if defined(MAS_BUILD)
|
|
|
++ CFNumberRef priority = (CFNumberRef)CTFontDescriptorCopyAttribute(descriptor.get(), (CFStringRef)kCTFontPriorityAttribute);
|
|
|
++ SInt64 v;
|
|
|
++ if (CFNumberGetValue(priority, kCFNumberSInt64Type, &v) && v == kCTFontPrioritySystem) {
|
|
|
++#else
|
|
|
+ if (CTFontDescriptorIsSystemUIFont(descriptor.get())) {
|
|
|
++#endif
|
|
|
+ // Assume it's the standard system font. The fact that this much is known is
|
|
|
+ // enough.
|
|
|
+ return PlatformFontMac::SystemFontType::kGeneral;
|