CPF/CPF.Mac/Mac/CoreText/CTFontDescriptorAttributeKey.cs

92 lines
3.2 KiB
C#
Raw Normal View History

2023-11-21 23:05:03 +08:00
using CPF.Mac.Foundation;
using CPF.Mac.ObjCRuntime;
using System;
namespace CPF.Mac.CoreText
{
[Since(3, 2)]
public static class CTFontDescriptorAttributeKey
{
public static readonly NSString Url;
public static readonly NSString Name;
public static readonly NSString DisplayName;
public static readonly NSString FamilyName;
public static readonly NSString StyleName;
public static readonly NSString Traits;
public static readonly NSString Variation;
public static readonly NSString Size;
public static readonly NSString Matrix;
public static readonly NSString CascadeList;
public static readonly NSString CharacterSet;
public static readonly NSString Languages;
public static readonly NSString BaselineAdjust;
public static readonly NSString MacintoshEncodings;
public static readonly NSString Features;
public static readonly NSString FeatureSettings;
public static readonly NSString FixedAdvance;
public static readonly NSString FontOrientation;
public static readonly NSString FontFormat;
public static readonly NSString RegistrationScope;
public static readonly NSString Priority;
public static readonly NSString Enabled;
static CTFontDescriptorAttributeKey()
{
IntPtr intPtr = Dlfcn.dlopen("/System/Library/Frameworks/ApplicationServices.framework/Frameworks/CoreText.framework/CoreText", 0);
if (!(intPtr == IntPtr.Zero))
{
try
{
Url = Dlfcn.GetStringConstant(intPtr, "kCTFontURLAttribute");
Name = Dlfcn.GetStringConstant(intPtr, "kCTFontNameAttribute");
DisplayName = Dlfcn.GetStringConstant(intPtr, "kCTFontDisplayNameAttribute");
FamilyName = Dlfcn.GetStringConstant(intPtr, "kCTFontFamilyNameAttribute");
StyleName = Dlfcn.GetStringConstant(intPtr, "kCTFontStyleNameAttribute");
Traits = Dlfcn.GetStringConstant(intPtr, "kCTFontTraitsAttribute");
Variation = Dlfcn.GetStringConstant(intPtr, "kCTFontVariationAttribute");
Size = Dlfcn.GetStringConstant(intPtr, "kCTFontSizeAttribute");
Matrix = Dlfcn.GetStringConstant(intPtr, "kCTFontMatrixAttribute");
CascadeList = Dlfcn.GetStringConstant(intPtr, "kCTFontCascadeListAttribute");
CharacterSet = Dlfcn.GetStringConstant(intPtr, "kCTFontCharacterSetAttribute");
Languages = Dlfcn.GetStringConstant(intPtr, "kCTFontLanguagesAttribute");
BaselineAdjust = Dlfcn.GetStringConstant(intPtr, "kCTFontBaselineAdjustAttribute");
MacintoshEncodings = Dlfcn.GetStringConstant(intPtr, "kCTFontMacintoshEncodingsAttribute");
Features = Dlfcn.GetStringConstant(intPtr, "kCTFontFeaturesAttribute");
FeatureSettings = Dlfcn.GetStringConstant(intPtr, "kCTFontFeatureSettingsAttribute");
FixedAdvance = Dlfcn.GetStringConstant(intPtr, "kCTFontFixedAdvanceAttribute");
FontOrientation = Dlfcn.GetStringConstant(intPtr, "kCTFontOrientationAttribute");
FontFormat = Dlfcn.GetStringConstant(intPtr, "kCTFontFormatAttribute");
RegistrationScope = Dlfcn.GetStringConstant(intPtr, "kCTFontRegistrationScopeAttribute");
Priority = Dlfcn.GetStringConstant(intPtr, "kCTFontPriorityAttribute");
Enabled = Dlfcn.GetStringConstant(intPtr, "kCTFontEnabledAttribute");
}
finally
{
Dlfcn.dlclose(intPtr);
}
}
}
}
}