CTFontDescriptor WithFeature(FontFeatureGroup featureGroup, int featureSelector) { using (NSNumber t = new NSNumber((int)featureGroup), f = new NSNumber(featureSelector)) { return(CreateDescriptor(CTFontDescriptorCreateCopyWithFeature(handle, t.Handle, f.Handle))); } }
CTFontDescriptor WithFeature (FontFeatureGroup featureGroup, int featureSelector) { using (NSNumber t = new NSNumber ((int) featureGroup), f = new NSNumber (featureSelector)) { return CreateDescriptor (CTFontDescriptorCreateCopyWithFeature (handle, t.Handle, f.Handle)); } }
internal UIFontFeature(NSDictionary dict) { dictionary = dict; NSNumber v = dict [UIFontDescriptor.UIFontFeatureTypeIdentifierKey] as NSNumber; fontFeature = (FontFeatureGroup)(v == null ? -1 : v.Int32Value); v = dict [UIFontDescriptor.UIFontFeatureSelectorIdentifierKey] as NSNumber; int n = v == null ? 0 : v.Int32Value; switch (fontFeature) { case FontFeatureGroup.AllTypographicFeatures: fontFeatureValue = (CTFontFeatureAllTypographicFeatures.Selector)n; break; case FontFeatureGroup.Ligatures: fontFeatureValue = (CTFontFeatureLigatures.Selector)n; break; case FontFeatureGroup.CursiveConnection: fontFeatureValue = (CTFontFeatureCursiveConnection.Selector)n; break; case FontFeatureGroup.LetterCase: fontFeatureValue = (CTFontFeatureLetterCase.Selector)n; break; case FontFeatureGroup.VerticalSubstitution: fontFeatureValue = (CTFontFeatureVerticalSubstitutionConnection.Selector)n; break; case FontFeatureGroup.LinguisticRearrangement: fontFeatureValue = (CTFontFeatureLinguisticRearrangementConnection.Selector)n; break; case FontFeatureGroup.NumberSpacing: fontFeatureValue = (CTFontFeatureNumberSpacing.Selector)n; break; case FontFeatureGroup.SmartSwash: fontFeatureValue = (CTFontFeatureSmartSwash.Selector)n; break; case FontFeatureGroup.Diacritics: fontFeatureValue = (CTFontFeatureDiacritics.Selector)n; break; case FontFeatureGroup.VerticalPosition: fontFeatureValue = (CTFontFeatureVerticalPosition.Selector)n; break; case FontFeatureGroup.Fractions: fontFeatureValue = (CTFontFeatureFractions.Selector)n; break; case FontFeatureGroup.OverlappingCharacters: fontFeatureValue = (CTFontFeatureOverlappingCharacters.Selector)n; break; case FontFeatureGroup.TypographicExtras: fontFeatureValue = (CTFontFeatureTypographicExtras.Selector)n; break; case FontFeatureGroup.MathematicalExtras: fontFeatureValue = (CTFontFeatureMathematicalExtras.Selector)n; break; case FontFeatureGroup.OrnamentSets: fontFeatureValue = (CTFontFeatureOrnamentSets.Selector)n; break; case FontFeatureGroup.CharacterAlternatives: fontFeatureValue = (CTFontFeatureCharacterAlternatives.Selector)n; break; case FontFeatureGroup.DesignComplexity: fontFeatureValue = (CTFontFeatureDesignComplexity.Selector)n; break; case FontFeatureGroup.StyleOptions: fontFeatureValue = (CTFontFeatureStyleOptions.Selector)n; break; case FontFeatureGroup.CharacterShape: fontFeatureValue = (CTFontFeatureCharacterShape.Selector)n; break; case FontFeatureGroup.NumberCase: fontFeatureValue = (CTFontFeatureNumberCase.Selector)n; break; case FontFeatureGroup.TextSpacing: fontFeatureValue = (CTFontFeatureTextSpacing.Selector)n; break; case FontFeatureGroup.Transliteration: fontFeatureValue = (CTFontFeatureTransliteration.Selector)n; break; case FontFeatureGroup.Annotation: fontFeatureValue = (CTFontFeatureAnnotation.Selector)n; break; case FontFeatureGroup.KanaSpacing: fontFeatureValue = (CTFontFeatureKanaSpacing.Selector)n; break; case FontFeatureGroup.IdeographicSpacing: fontFeatureValue = (CTFontFeatureIdeographicSpacing.Selector)n; break; case FontFeatureGroup.UnicodeDecomposition: fontFeatureValue = (CTFontFeatureUnicodeDecomposition.Selector)n; break; case FontFeatureGroup.RubyKana: fontFeatureValue = (CTFontFeatureRubyKana.Selector)n; break; case FontFeatureGroup.CJKSymbolAlternatives: fontFeatureValue = (CTFontFeatureCJKSymbolAlternatives.Selector)n; break; case FontFeatureGroup.IdeographicAlternatives: fontFeatureValue = (CTFontFeatureIdeographicAlternatives.Selector)n; break; case FontFeatureGroup.CJKVerticalRomanPlacement: fontFeatureValue = (CTFontFeatureCJKVerticalRomanPlacement.Selector)n; break; case FontFeatureGroup.ItalicCJKRoman: fontFeatureValue = (CTFontFeatureItalicCJKRoman.Selector)n; break; case FontFeatureGroup.CaseSensitiveLayout: fontFeatureValue = (CTFontFeatureCaseSensitiveLayout.Selector)n; break; case FontFeatureGroup.AlternateKana: fontFeatureValue = (CTFontFeatureAlternateKana.Selector)n; break; case FontFeatureGroup.StylisticAlternatives: fontFeatureValue = (CTFontFeatureStylisticAlternatives.Selector)n; break; case FontFeatureGroup.ContextualAlternates: fontFeatureValue = (CTFontFeatureContextualAlternates.Selector)n; break; case FontFeatureGroup.LowerCase: fontFeatureValue = (CTFontFeatureLowerCase.Selector)n; break; case FontFeatureGroup.UpperCase: fontFeatureValue = (CTFontFeatureUpperCase.Selector)n; break; case FontFeatureGroup.CJKRomanSpacing: fontFeatureValue = (CTFontFeatureCJKRomanSpacing.Selector)n; break; } if (v == null) { fontFeatureValue = "InvalidKeyFound"; } }
// internal ctor UIFontFeature(FontFeatureGroup fontFeature, int fontFeatureSelector, object value) { this.dictionary = NSDictionary.FromObjectsAndKeys(new NSObject [] { new NSNumber((int)fontFeature), new NSNumber(fontFeatureSelector) }, keys); this.fontFeature = fontFeature; this.fontFeatureValue = value; }
// internal ctor UIFontFeature(FontFeatureGroup fontFeature, int fontFeatureSelector, object value) { this.dictionary = NSDictionary.FromObjectsAndKeys (new NSObject [] { new NSNumber ((int)fontFeature), new NSNumber (fontFeatureSelector) }, keys); this.fontFeature = fontFeature; this.fontFeatureValue = value; }
internal UIFontFeature(NSDictionary dict) { dictionary = dict; NSNumber v = dict [UIFontDescriptor.UIFontFeatureTypeIdentifierKey] as NSNumber; fontFeature = (FontFeatureGroup) (v == null ? -1 : v.Int32Value); v = dict [UIFontDescriptor.UIFontFeatureSelectorIdentifierKey] as NSNumber; int n = v == null ? 0 : v.Int32Value; switch (fontFeature){ case FontFeatureGroup.AllTypographicFeatures: fontFeatureValue = (CTFontFeatureAllTypographicFeatures.Selector) n; break; case FontFeatureGroup.Ligatures: fontFeatureValue = (CTFontFeatureLigatures.Selector) n; break; case FontFeatureGroup.CursiveConnection: fontFeatureValue = (CTFontFeatureCursiveConnection.Selector) n; break; case FontFeatureGroup.LetterCase: fontFeatureValue = (CTFontFeatureLetterCase.Selector) n; break; case FontFeatureGroup.VerticalSubstitution: fontFeatureValue = (CTFontFeatureVerticalSubstitutionConnection.Selector) n; break; case FontFeatureGroup.LinguisticRearrangement: fontFeatureValue = (CTFontFeatureLinguisticRearrangementConnection.Selector) n; break; case FontFeatureGroup.NumberSpacing: fontFeatureValue = (CTFontFeatureNumberSpacing.Selector) n; break; case FontFeatureGroup.SmartSwash: fontFeatureValue = (CTFontFeatureSmartSwash.Selector) n; break; case FontFeatureGroup.Diacritics: fontFeatureValue = (CTFontFeatureDiacritics.Selector) n; break; case FontFeatureGroup.VerticalPosition: fontFeatureValue = (CTFontFeatureVerticalPosition.Selector) n; break; case FontFeatureGroup.Fractions: fontFeatureValue = (CTFontFeatureFractions.Selector) n; break; case FontFeatureGroup.OverlappingCharacters: fontFeatureValue = (CTFontFeatureOverlappingCharacters.Selector) n; break; case FontFeatureGroup.TypographicExtras: fontFeatureValue = (CTFontFeatureTypographicExtras.Selector) n; break; case FontFeatureGroup.MathematicalExtras: fontFeatureValue = (CTFontFeatureMathematicalExtras.Selector) n; break; case FontFeatureGroup.OrnamentSets: fontFeatureValue = (CTFontFeatureOrnamentSets.Selector) n; break; case FontFeatureGroup.CharacterAlternatives: fontFeatureValue = (CTFontFeatureCharacterAlternatives.Selector) n; break; case FontFeatureGroup.DesignComplexity: fontFeatureValue = (CTFontFeatureDesignComplexity.Selector) n; break; case FontFeatureGroup.StyleOptions: fontFeatureValue = (CTFontFeatureStyleOptions.Selector) n; break; case FontFeatureGroup.CharacterShape: fontFeatureValue = (CTFontFeatureCharacterShape.Selector) n; break; case FontFeatureGroup.NumberCase: fontFeatureValue = (CTFontFeatureNumberCase.Selector) n; break; case FontFeatureGroup.TextSpacing: fontFeatureValue = (CTFontFeatureTextSpacing.Selector) n; break; case FontFeatureGroup.Transliteration: fontFeatureValue = (CTFontFeatureTransliteration.Selector) n; break; case FontFeatureGroup.Annotation: fontFeatureValue = (CTFontFeatureAnnotation.Selector) n; break; case FontFeatureGroup.KanaSpacing: fontFeatureValue = (CTFontFeatureKanaSpacing.Selector) n; break; case FontFeatureGroup.IdeographicSpacing: fontFeatureValue = (CTFontFeatureIdeographicSpacing.Selector) n; break; case FontFeatureGroup.UnicodeDecomposition: fontFeatureValue = (CTFontFeatureUnicodeDecomposition.Selector) n; break; case FontFeatureGroup.RubyKana: fontFeatureValue = (CTFontFeatureRubyKana.Selector) n; break; case FontFeatureGroup.CJKSymbolAlternatives: fontFeatureValue = (CTFontFeatureCJKSymbolAlternatives.Selector) n; break; case FontFeatureGroup.IdeographicAlternatives: fontFeatureValue = (CTFontFeatureIdeographicAlternatives.Selector) n; break; case FontFeatureGroup.CJKVerticalRomanPlacement: fontFeatureValue = (CTFontFeatureCJKVerticalRomanPlacement.Selector) n; break; case FontFeatureGroup.ItalicCJKRoman: fontFeatureValue = (CTFontFeatureItalicCJKRoman.Selector) n; break; case FontFeatureGroup.CaseSensitiveLayout: fontFeatureValue = (CTFontFeatureCaseSensitiveLayout.Selector) n; break; case FontFeatureGroup.AlternateKana: fontFeatureValue = (CTFontFeatureAlternateKana.Selector) n; break; case FontFeatureGroup.StylisticAlternatives: fontFeatureValue = (CTFontFeatureStylisticAlternatives.Selector) n; break; case FontFeatureGroup.ContextualAlternates: fontFeatureValue = (CTFontFeatureContextualAlternates.Selector) n; break; case FontFeatureGroup.LowerCase: fontFeatureValue = (CTFontFeatureLowerCase.Selector) n; break; case FontFeatureGroup.UpperCase: fontFeatureValue = (CTFontFeatureUpperCase.Selector) n; break; case FontFeatureGroup.CJKRomanSpacing: fontFeatureValue = (CTFontFeatureCJKRomanSpacing.Selector) n; break; } if (v == null) fontFeatureValue = "InvalidKeyFound"; }