1#import "RNSVGTextProperties.h" 2 3#pragma mark - RNSVGAlignmentBaseline 4 5NSString *RNSVGAlignmentBaselineToString(enum RNSVGAlignmentBaseline fw) 6{ 7 return RNSVGAlignmentBaselineStrings[fw]; 8} 9 10enum RNSVGAlignmentBaseline RNSVGAlignmentBaselineFromString(NSString *s) 11{ 12 if ([s length] == 0) { 13 return RNSVGAlignmentBaselineDEFAULT; 14 } 15 const NSUInteger l = sizeof(RNSVGAlignmentBaselineStrings) / sizeof(NSString *); 16 for (NSUInteger i = 0; i < l; i++) { 17 if ([s isEqualToString:RNSVGAlignmentBaselineStrings[i]]) { 18 return (RNSVGAlignmentBaseline)i; 19 } 20 } 21 return RNSVGAlignmentBaselineDEFAULT; 22} 23 24#pragma mark - RNSVGFontStyle 25 26NSString *RNSVGFontStyleToString(enum RNSVGFontStyle fw) 27{ 28 return RNSVGFontStyleStrings[fw]; 29} 30 31enum RNSVGFontStyle RNSVGFontStyleFromString(NSString *s) 32{ 33 if ([s length] == 0) { 34 return RNSVGFontStyleDEFAULT; 35 } 36 const NSUInteger l = sizeof(RNSVGFontStyleStrings) / sizeof(NSString *); 37 for (NSUInteger i = 0; i < l; i++) { 38 if ([s isEqualToString:RNSVGFontStyleStrings[i]]) { 39 return (RNSVGFontStyle)i; 40 } 41 } 42 return RNSVGFontStyleDEFAULT; 43} 44 45#pragma mark - RNSVGFontVariantLigatures 46 47NSString *RNSVGFontVariantLigaturesToString(enum RNSVGFontVariantLigatures fw) 48{ 49 return RNSVGFontVariantLigaturesStrings[fw]; 50} 51 52enum RNSVGFontVariantLigatures RNSVGFontVariantLigaturesFromString(NSString *s) 53{ 54 if ([s length] == 0) { 55 return RNSVGFontVariantLigaturesDEFAULT; 56 } 57 const NSUInteger l = sizeof(RNSVGFontVariantLigaturesStrings) / sizeof(NSString *); 58 for (NSUInteger i = 0; i < l; i++) { 59 if ([s isEqualToString:RNSVGFontVariantLigaturesStrings[i]]) { 60 return (RNSVGFontVariantLigatures)i; 61 } 62 } 63 return RNSVGFontVariantLigaturesDEFAULT; 64} 65 66#pragma mark - RNSVGFontWeight 67 68NSString *RNSVGFontWeightToString(enum RNSVGFontWeight fw) 69{ 70 return RNSVGFontWeightStrings[fw]; 71} 72 73NSInteger RNSVGFontWeightFromString(NSString *s) 74{ 75 if ([s length] == 0) { 76 return -1; 77 } 78 const NSInteger l = sizeof(RNSVGFontWeightStrings) / sizeof(NSString *); 79 for (NSInteger i = 0; i < l; i++) { 80 if ([s isEqualToString:RNSVGFontWeightStrings[i]]) { 81 return i; 82 } 83 } 84 return -1; 85} 86 87#pragma mark - RNSVGTextAnchor 88 89NSString *RNSVGTextAnchorToString(enum RNSVGTextAnchor fw) 90{ 91 return RNSVGTextAnchorStrings[fw]; 92} 93 94enum RNSVGTextAnchor RNSVGTextAnchorFromString(NSString *s) 95{ 96 if ([s length] == 0) { 97 return RNSVGTextAnchorDEFAULT; 98 } 99 const NSUInteger l = sizeof(RNSVGTextAnchorStrings) / sizeof(NSString *); 100 for (NSUInteger i = 0; i < l; i++) { 101 if ([s isEqualToString:RNSVGTextAnchorStrings[i]]) { 102 return (RNSVGTextAnchor)i; 103 } 104 } 105 return RNSVGTextAnchorDEFAULT; 106} 107 108#pragma mark - RNSVGTextDecoration 109 110NSString *RNSVGTextDecorationToString(enum RNSVGTextDecoration fw) 111{ 112 return RNSVGTextDecorationStrings[fw]; 113} 114 115enum RNSVGTextDecoration RNSVGTextDecorationFromString(NSString *s) 116{ 117 if ([s length] == 0) { 118 return RNSVGTextDecorationDEFAULT; 119 } 120 const NSUInteger l = sizeof(RNSVGTextDecorationStrings) / sizeof(NSString *); 121 for (NSUInteger i = 0; i < l; i++) { 122 if ([s isEqualToString:RNSVGTextDecorationStrings[i]]) { 123 return (RNSVGTextDecoration)i; 124 } 125 } 126 return RNSVGTextDecorationDEFAULT; 127} 128 129#pragma mark - RNSVGTextLengthAdjust 130 131NSString *RNSVGTextLengthAdjustToString(enum RNSVGTextLengthAdjust fw) 132{ 133 return RNSVGTextLengthAdjustStrings[fw]; 134} 135 136enum RNSVGTextLengthAdjust RNSVGTextLengthAdjustFromString(NSString *s) 137{ 138 if ([s length] == 0) { 139 return RNSVGTextLengthAdjustDEFAULT; 140 } 141 const NSUInteger l = sizeof(RNSVGTextLengthAdjustStrings) / sizeof(NSString *); 142 for (NSUInteger i = 0; i < l; i++) { 143 if ([s isEqualToString:RNSVGTextLengthAdjustStrings[i]]) { 144 return (RNSVGTextLengthAdjust)i; 145 } 146 } 147 return RNSVGTextLengthAdjustDEFAULT; 148} 149 150#pragma mark - RNSVGTextPathMethod 151 152NSString *RNSVGTextPathMethodToString(enum RNSVGTextPathMethod fw) 153{ 154 return RNSVGTextPathMethodStrings[fw]; 155} 156 157enum RNSVGTextPathMethod RNSVGTextPathMethodFromString(NSString *s) 158{ 159 if ([s length] == 0) { 160 return RNSVGTextPathMethodDEFAULT; 161 } 162 const NSUInteger l = sizeof(RNSVGTextPathMethodStrings) / sizeof(NSString *); 163 for (NSUInteger i = 0; i < l; i++) { 164 if ([s isEqualToString:RNSVGTextPathMethodStrings[i]]) { 165 return (RNSVGTextPathMethod)i; 166 } 167 } 168 return RNSVGTextPathMethodDEFAULT; 169} 170 171#pragma mark - RNSVGTextPathMidLine 172 173NSString *RNSVGTextPathMidLineToString(enum RNSVGTextPathMidLine fw) 174{ 175 return RNSVGTextPathMidLineStrings[fw]; 176} 177 178enum RNSVGTextPathMidLine RNSVGTextPathMidLineFromString(NSString *s) 179{ 180 if ([s length] == 0) { 181 return RNSVGTextPathMidLineDEFAULT; 182 } 183 const NSUInteger l = sizeof(RNSVGTextPathMidLineStrings) / sizeof(NSString *); 184 for (NSUInteger i = 0; i < l; i++) { 185 if ([s isEqualToString:RNSVGTextPathMidLineStrings[i]]) { 186 return (RNSVGTextPathMidLine)i; 187 } 188 } 189 return RNSVGTextPathMidLineDEFAULT; 190} 191 192#pragma mark - RNSVGTextPathSide 193 194NSString *RNSVGTextPathSideToString(enum RNSVGTextPathSide fw) 195{ 196 return RNSVGTextPathSideStrings[fw]; 197} 198 199enum RNSVGTextPathSide RNSVGTextPathSideFromString(NSString *s) 200{ 201 if ([s length] == 0) { 202 return RNSVGTextPathSideDEFAULT; 203 } 204 const NSUInteger l = sizeof(RNSVGTextPathSideStrings) / sizeof(NSString *); 205 for (NSUInteger i = 0; i < l; i++) { 206 if ([s isEqualToString:RNSVGTextPathSideStrings[i]]) { 207 return (RNSVGTextPathSide)i; 208 } 209 } 210 return RNSVGTextPathSideDEFAULT; 211} 212 213#pragma mark - RNSVGTextPathSpacing 214 215NSString *RNSVGTextPathSpacingToString(enum RNSVGTextPathSpacing fw) 216{ 217 return RNSVGTextPathSpacingStrings[fw]; 218} 219 220enum RNSVGTextPathSpacing RNSVGTextPathSpacingFromString(NSString *s) 221{ 222 if ([s length] == 0) { 223 return RNSVGTextPathSpacingDEFAULT; 224 } 225 const NSUInteger l = sizeof(RNSVGTextPathSpacingStrings) / sizeof(NSString *); 226 for (NSUInteger i = 0; i < l; i++) { 227 if ([s isEqualToString:RNSVGTextPathSpacingStrings[i]]) { 228 return (RNSVGTextPathSpacing)i; 229 } 230 } 231 return RNSVGTextPathSpacingDEFAULT; 232} 233