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));
			}
		}
Beispiel #3
0
        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";
            }
        }
Beispiel #4
0
 // 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;
 }
Beispiel #5
0
 // 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;
 }
Beispiel #6
0
        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";
        }