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