@nativescript-community/text 1.5.13 → 1.5.15
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/index.android.d.ts +2 -0
- package/index.android.js.map +1 -1
- package/index.ios.d.ts +17 -2
- package/index.ios.js +84 -201
- package/index.ios.js.map +1 -1
- package/package.json +2 -2
- package/platforms/ios/build.xcconfig +1 -0
- package/platforms/ios/src/Info.plist +0 -0
- package/platforms/ios/src/NSTextModule.h +1 -0
- package/platforms/ios/src/NSTextUtils.h +4 -0
- package/platforms/ios/src/NSTextUtils.mm +203 -0
- package/platforms/ios/src/module.modulemap +5 -0
package/index.android.d.ts
CHANGED
@@ -25,6 +25,8 @@ export declare function createNativeAttributedString(data: {
|
|
25
25
|
lineHeight?: number;
|
26
26
|
lineBreak?: number;
|
27
27
|
relativeSize?: number;
|
28
|
+
linkColor?: string | Color;
|
29
|
+
linkDecoration?: string;
|
28
30
|
textAlignment?: number | CoreTypes.TextAlignmentType;
|
29
31
|
} | FormattedString | ObjectSpans, parent?: ViewBase, autoFontSizeEnabled?: boolean, fontSizeRatio?: number): any;
|
30
32
|
export declare function createSpannable(span: any, parentView: any, parent?: any, maxFontSize?: number): any;
|
package/index.android.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.android.js","sourceRoot":"../src/","sources":["index.android.ts"],"names":[],"mappings":"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"}
|
1
|
+
{"version":3,"file":"index.android.js","sourceRoot":"../src/","sources":["index.android.ts"],"names":[],"mappings":"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"}
|
package/index.ios.d.ts
CHANGED
@@ -10,5 +10,20 @@ export declare function createNativeAttributedString(data: {
|
|
10
10
|
letterSpacing?: number;
|
11
11
|
lineHeight?: number;
|
12
12
|
textAlignment?: NSTextAlignment | CoreTypes.TextAlignmentType;
|
13
|
-
} | FormattedString | ObjectSpans, parent: ViewBase, autoFontSizeEnabled?: boolean, fontSizeRatio?: number):
|
14
|
-
export declare function
|
13
|
+
} | FormattedString | ObjectSpans, parent: ViewBase, autoFontSizeEnabled?: boolean, fontSizeRatio?: number): any;
|
14
|
+
export declare function createSpannableDetails(span: any, index: any, parentView: any, parent?: any, maxFontSize?: any, autoFontSizeEnabled?: boolean, fontSizeRatio?: number): {
|
15
|
+
text: any;
|
16
|
+
tapIndex: any;
|
17
|
+
autoFontSizeEnabled: boolean;
|
18
|
+
iosFont: any;
|
19
|
+
realFontSize: any;
|
20
|
+
fontSize: any;
|
21
|
+
realMaxFontSize: number;
|
22
|
+
backgroundColor: any;
|
23
|
+
color: any;
|
24
|
+
textDecoration: any;
|
25
|
+
letterSpacing: any;
|
26
|
+
lineHeight: any;
|
27
|
+
verticalTextAlignment: any;
|
28
|
+
textAlignment: any;
|
29
|
+
};
|
package/index.ios.js
CHANGED
@@ -1,17 +1,10 @@
|
|
1
1
|
import { Color, CoreTypes, Font, FormattedString, ViewBase, fontInternalProperty } from '@nativescript/core';
|
2
2
|
import { getTransformedText } from '@nativescript/core/ui/text-base';
|
3
|
-
import {
|
3
|
+
import { getMaxFontSize, textAlignmentConverter } from './index-common';
|
4
4
|
import { LightFormattedString } from './index.android';
|
5
5
|
export * from './index-common';
|
6
|
-
// let iOSUseDTCoreText = false;
|
7
|
-
// export function enableIOSDTCoreText() {
|
8
|
-
// iOSUseDTCoreText = true;
|
9
|
-
// }
|
10
|
-
// export function usingIOSDTCoreText() {
|
11
|
-
// return iOSUseDTCoreText;
|
12
|
-
// }
|
13
6
|
export function init() { }
|
14
|
-
function _createNativeAttributedString({ text, familyName = '-apple-system', fontSize, fontWeight, letterSpacing, lineHeight, lineBreak, color, textAlignment, autoFontSizeEnabled = false, fontSizeRatio = 1 }) {
|
7
|
+
function _createNativeAttributedString({ text, familyName = '-apple-system', fontSize, fontWeight, letterSpacing, lineHeight, lineBreak, linkColor, linkDecoration, color, textAlignment, autoFontSizeEnabled = false, fontSizeRatio = 1, useCustomLinkTag }) {
|
15
8
|
const trueFontFamily = familyName
|
16
9
|
? familyName
|
17
10
|
.replace(/'/g, '')
|
@@ -20,117 +13,67 @@ function _createNativeAttributedString({ text, familyName = '-apple-system', fon
|
|
20
13
|
.join(',')
|
21
14
|
: null;
|
22
15
|
// if (iOSUseDTCoreText) {
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
[NSCharacterEncodingDocumentAttribute]: NSUTF8StringEncoding
|
50
|
-
}, null);
|
51
|
-
// }
|
52
|
-
if (lineBreak) {
|
53
|
-
const paragraphStyle = NSMutableParagraphStyle.alloc().init();
|
54
|
-
paragraphStyle.lineBreakMode = lineBreak;
|
55
|
-
const dict = new Map();
|
56
|
-
dict.set(NSParagraphStyleAttributeName, paragraphStyle);
|
57
|
-
attrText.addAttributesRange({
|
58
|
-
[NSParagraphStyleAttributeName]: paragraphStyle
|
59
|
-
}, {
|
60
|
-
location: 0,
|
61
|
-
length: attrText.length
|
62
|
-
});
|
63
|
-
}
|
64
|
-
if (autoFontSizeEnabled) {
|
65
|
-
// if (autoFontSizeEnabled || iOSUseDTCoreText) {
|
66
|
-
attrText.enumerateAttributesInRangeOptionsUsingBlock({ location: 0, length: attrText.length }, 0, (attributes, range, stop) => {
|
67
|
-
if (!!attributes.valueForKey('DTGUID')) {
|
68
|
-
// We need to remove this attribute or links are not colored right
|
69
|
-
//
|
70
|
-
// @see https://github.com/Cocoanetics/DTCoreText/issues/792
|
71
|
-
attrText.removeAttributeRange('CTForegroundColorFromContext', range);
|
72
|
-
}
|
73
|
-
const font = attributes.valueForKey(NSFontAttributeName);
|
74
|
-
if (!!font) {
|
75
|
-
attrText.addAttributeValueRange('OriginalFontSize', font.pointSize, range);
|
76
|
-
}
|
77
|
-
});
|
78
|
-
}
|
79
|
-
// TODO: letterSpacing should be applied per Span.
|
80
|
-
if (letterSpacing !== undefined && letterSpacing !== 0) {
|
81
|
-
attrText.addAttributeValueRange(NSKernAttributeName, letterSpacing * fontSize, { location: 0, length: attrText.length });
|
82
|
-
}
|
83
|
-
if (lineHeight !== undefined) {
|
84
|
-
if (lineHeight === 0) {
|
85
|
-
lineHeight = 0.00001;
|
86
|
-
}
|
87
|
-
const paragraphStyle = NSMutableParagraphStyle.alloc().init();
|
88
|
-
paragraphStyle.minimumLineHeight = lineHeight;
|
89
|
-
paragraphStyle.maximumLineHeight = lineHeight;
|
90
|
-
// make sure a possible previously set text alignment setting is not lost when line height is specified
|
91
|
-
paragraphStyle.alignment = textAlignment;
|
92
|
-
// if (this.nativeTextViewProtected instanceof UILabel) {
|
93
|
-
// // make sure a possible previously set line break mode is not lost when line height is specified
|
94
|
-
// paragraphStyle.lineBreakMode = this.nativeTextViewProtected.lineBreakMode;
|
95
|
-
// }
|
96
|
-
attrText.addAttributeValueRange(NSParagraphStyleAttributeName, paragraphStyle, { location: 0, length: attrText.length });
|
97
|
-
}
|
98
|
-
else if (textAlignment !== undefined) {
|
99
|
-
const paragraphStyle = NSMutableParagraphStyle.alloc().init();
|
100
|
-
paragraphStyle.alignment = textAlignment;
|
101
|
-
attrText.addAttributeValueRange(NSParagraphStyleAttributeName, paragraphStyle, { location: 0, length: attrText.length });
|
102
|
-
}
|
103
|
-
return attrText;
|
16
|
+
let style = '';
|
17
|
+
if (linkColor || linkDecoration) {
|
18
|
+
style =
|
19
|
+
'<style>' +
|
20
|
+
`a, a:link, a:visited { ${linkColor ? `color:${(linkColor instanceof Color ? linkColor : new Color(linkColor)).hex} !important;` : ''} text-decoration: ${linkDecoration || 'none'}; }` +
|
21
|
+
'</style>';
|
22
|
+
}
|
23
|
+
const htmlString = style +
|
24
|
+
(color || familyName || fontSize || fontWeight
|
25
|
+
? `<span style=" ${color ? `color: ${color};` : ''} ${trueFontFamily ? `font-family:${trueFontFamily};` : ''}${fontSize ? `font-size: ${fontSize * fontSizeRatio}px;` : ''}${fontWeight ? `font-weight: ${fontWeight};` : ''}">${text}</span>`
|
26
|
+
: text);
|
27
|
+
return NSTextUtils.createNativeHTMLAttributedString({
|
28
|
+
htmlString,
|
29
|
+
fontSize,
|
30
|
+
fontWeight,
|
31
|
+
letterSpacing,
|
32
|
+
lineHeight,
|
33
|
+
lineBreak,
|
34
|
+
linkColor,
|
35
|
+
linkDecoration,
|
36
|
+
color,
|
37
|
+
textAlignment,
|
38
|
+
autoFontSizeEnabled,
|
39
|
+
fontSizeRatio,
|
40
|
+
useCustomLinkTag
|
41
|
+
});
|
104
42
|
}
|
105
43
|
export function createNativeAttributedString(data, parent, autoFontSizeEnabled = false, fontSizeRatio = 1) {
|
106
44
|
if (data instanceof FormattedString || data instanceof LightFormattedString || data.hasOwnProperty('spans')) {
|
107
|
-
const ssb = NSMutableAttributedString.new();
|
45
|
+
// const ssb = NSMutableAttributedString.new();
|
108
46
|
const maxFontSize = getMaxFontSize(data);
|
109
47
|
const _spanRanges = [];
|
110
|
-
let spanStart = 0;
|
48
|
+
// let spanStart = 0;
|
111
49
|
let hasLink = false;
|
112
|
-
|
113
|
-
|
114
|
-
|
115
|
-
|
116
|
-
|
117
|
-
|
118
|
-
|
119
|
-
|
120
|
-
|
121
|
-
});
|
122
|
-
spanStart += res.length;
|
123
|
-
ssb.appendAttributedString(res);
|
50
|
+
const details = [];
|
51
|
+
data['spans'].forEach((s, index) => {
|
52
|
+
const spanDetails = createSpannableDetails(s, index, parent, undefined, maxFontSize, autoFontSizeEnabled, fontSizeRatio);
|
53
|
+
// const length = spanDetails.text.length;
|
54
|
+
details.push(spanDetails);
|
55
|
+
// const res = createSpannable(s, parent, undefined, maxFontSize, autoFontSizeEnabled, fontSizeRatio);
|
56
|
+
// if (res) {
|
57
|
+
if (s._tappable) {
|
58
|
+
hasLink = true;
|
124
59
|
}
|
60
|
+
// _spanRanges.push({
|
61
|
+
// location: spanStart,
|
62
|
+
// length
|
63
|
+
// });
|
64
|
+
// spanStart += length;
|
65
|
+
// ssb.appendAttributedString(res);
|
66
|
+
// }
|
125
67
|
});
|
126
68
|
if (parent) {
|
127
69
|
parent['nativeTextViewProtected'].selectable = parent['selectable'] === true || hasLink;
|
128
70
|
if (parent._setTappableState) {
|
129
71
|
parent._setTappableState(hasLink);
|
130
72
|
}
|
131
|
-
parent['_spanRanges'] = _spanRanges;
|
73
|
+
// parent['_spanRanges'] = _spanRanges;
|
132
74
|
}
|
133
|
-
return
|
75
|
+
return NSTextUtils.createNativeAttributedString({ details });
|
76
|
+
// return ssb;
|
134
77
|
}
|
135
78
|
if (data.textAlignment && typeof data.textAlignment === 'string') {
|
136
79
|
data.textAlignment = textAlignmentConverter(data.textAlignment);
|
@@ -142,14 +85,25 @@ export function createNativeAttributedString(data, parent, autoFontSizeEnabled =
|
|
142
85
|
data['fontSizeRatio'] = fontSizeRatio;
|
143
86
|
return _createNativeAttributedString(data);
|
144
87
|
}
|
145
|
-
export function
|
88
|
+
export function createSpannableDetails(span, index, parentView, parent, maxFontSize, autoFontSizeEnabled = false, fontSizeRatio = 1) {
|
146
89
|
let text = span.text;
|
147
90
|
if (!text || (span.visibility && span.visibility !== 'visible')) {
|
148
91
|
return null;
|
149
92
|
}
|
150
|
-
|
93
|
+
if (!(text instanceof NSAttributedString)) {
|
94
|
+
if (!(typeof text === 'string')) {
|
95
|
+
text = text.toString();
|
96
|
+
}
|
97
|
+
if (text.indexOf('\n') !== -1) {
|
98
|
+
text = text.replace(/\\n/g, '\u{2029}');
|
99
|
+
}
|
100
|
+
const textTransform = span.textTransform || (parent && parent.textTransform);
|
101
|
+
if (textTransform) {
|
102
|
+
text = getTransformedText(text, textTransform);
|
103
|
+
}
|
104
|
+
}
|
151
105
|
const fontFamily = span.fontFamily;
|
152
|
-
|
106
|
+
const fontSize = span.fontSize;
|
153
107
|
let realFontSize = fontSize || (parent && parent.fontSize) || (parentView && parentView.fontSize);
|
154
108
|
if (span.relativeSize) {
|
155
109
|
realFontSize = ((parent && parent.fontSize) || (parentView && parentView.fontSize)) * span.relativeSize;
|
@@ -157,107 +111,36 @@ export function createSpannable(span, parentView, parent, maxFontSize, autoFontS
|
|
157
111
|
const realMaxFontSize = Math.max(maxFontSize, realFontSize || 0);
|
158
112
|
const fontWeight = span.fontWeight;
|
159
113
|
const fontstyle = span.fontStyle;
|
160
|
-
const
|
114
|
+
const textColor = span.color || (parent && parent.color) || (parentView && !(parentView.nativeView instanceof UIButton) && parentView.color);
|
161
115
|
const backgroundcolor = span.backgroundColor || (parent && parent.backgroundColor);
|
162
|
-
const
|
116
|
+
const textDecoration = span.textDecoration || (parent && parent.textDecoration);
|
163
117
|
const letterSpacing = span.letterSpacing || (parent && parent.letterSpacing);
|
164
|
-
|
118
|
+
const lineHeight = span.lineHeight || (parent && parent.lineHeight);
|
165
119
|
const textAlignment = span.textAlignment || (parent && parent.textAlignment) || (parentView && parentView.textAlignment);
|
166
120
|
const verticalTextAlignment = span.verticalAlignment || parent?.verticalAlignment;
|
167
|
-
// We CANT use parent verticalTextAlignment. Else it would break line height
|
168
|
-
// for multiple line text you want centered in the View
|
169
|
-
// if (!verticalTextAlignment || verticalTextAlignment === 'stretch') {
|
170
|
-
// verticalTextAlignment = grandParent?.verticalTextAlignment;
|
171
|
-
// }
|
172
121
|
let iosFont;
|
173
122
|
if ((fontWeight && fontWeight !== 'normal') || fontstyle || fontFamily || realFontSize || fontSizeRatio !== 1) {
|
174
123
|
const font = new Font(fontFamily || (parent && parent.fontFamily) || (parentView && parentView.fontFamily), realFontSize * fontSizeRatio, fontstyle || (parent && parent.fontStyle) || (parentView && parentView.fontStyle), fontWeight || (parent && parent.fontWeight) || (parentView && parentView.fontWeight));
|
175
124
|
iosFont = font.getUIFont(UIFont.systemFontOfSize(realFontSize));
|
176
|
-
attrDict[NSFontAttributeName] = iosFont;
|
177
|
-
if (autoFontSizeEnabled) {
|
178
|
-
attrDict['OriginalFontSize'] = realFontSize;
|
179
|
-
}
|
180
|
-
}
|
181
|
-
if (verticalTextAlignment && verticalTextAlignment !== 'initial' && verticalTextAlignment !== 'stretch') {
|
182
|
-
if (!iosFont) {
|
183
|
-
iosFont = parentView[fontInternalProperty.getDefault]();
|
184
|
-
fontSize = iosFont.pointSize;
|
185
|
-
}
|
186
|
-
const ascent = CTFontGetAscent(iosFont);
|
187
|
-
const descent = CTFontGetDescent(iosFont);
|
188
|
-
attrDict[NSBaselineOffsetAttributeName] = -computeBaseLineOffset(verticalTextAlignment, -ascent, descent, -iosFont.descender, -iosFont.ascender, fontSize, realMaxFontSize);
|
189
|
-
}
|
190
|
-
if (span._tappable) {
|
191
|
-
attrDict[NSLinkAttributeName] = text;
|
192
|
-
}
|
193
|
-
if (textcolor) {
|
194
|
-
const color = !textcolor || textcolor instanceof Color ? textcolor : new Color(textcolor);
|
195
|
-
if (color) {
|
196
|
-
attrDict[NSForegroundColorAttributeName] = color.ios;
|
197
|
-
}
|
198
|
-
}
|
199
|
-
if (backgroundcolor) {
|
200
|
-
const color = !backgroundcolor || backgroundcolor instanceof Color ? backgroundcolor : new Color(backgroundcolor);
|
201
|
-
if (color) {
|
202
|
-
attrDict[NSBackgroundColorAttributeName] = color.ios;
|
203
|
-
}
|
204
|
-
}
|
205
|
-
if (letterSpacing) {
|
206
|
-
attrDict[NSKernAttributeName] = letterSpacing * iosFont.pointSize;
|
207
|
-
}
|
208
|
-
let paragraphStyle;
|
209
|
-
if (lineHeight !== undefined || textAlignment) {
|
210
|
-
paragraphStyle = NSMutableParagraphStyle.alloc().init();
|
211
|
-
switch (textAlignment) {
|
212
|
-
case 'middle':
|
213
|
-
case 'center':
|
214
|
-
paragraphStyle.alignment = 1 /* NSTextAlignment.Center */;
|
215
|
-
break;
|
216
|
-
case 'right':
|
217
|
-
paragraphStyle.alignment = 2 /* NSTextAlignment.Right */;
|
218
|
-
break;
|
219
|
-
default:
|
220
|
-
paragraphStyle.alignment = 0 /* NSTextAlignment.Left */;
|
221
|
-
break;
|
222
|
-
}
|
223
|
-
if (lineHeight !== undefined) {
|
224
|
-
if (lineHeight === 0) {
|
225
|
-
lineHeight = 0.00001;
|
226
|
-
}
|
227
|
-
paragraphStyle.maximumLineHeight = lineHeight;
|
228
|
-
paragraphStyle.minimumLineHeight = lineHeight;
|
229
|
-
}
|
230
|
-
}
|
231
|
-
if (paragraphStyle) {
|
232
|
-
attrDict[NSParagraphStyleAttributeName] = paragraphStyle;
|
233
|
-
}
|
234
|
-
if (textDecorations) {
|
235
|
-
const underline = textDecorations.indexOf('underline') !== -1;
|
236
|
-
if (underline) {
|
237
|
-
attrDict[NSUnderlineStyleAttributeName] = underline;
|
238
|
-
}
|
239
|
-
const strikethrough = textDecorations.indexOf('line-through') !== -1;
|
240
|
-
if (strikethrough) {
|
241
|
-
attrDict[NSStrikethroughStyleAttributeName] = strikethrough;
|
242
|
-
}
|
243
|
-
}
|
244
|
-
if (!(text instanceof NSAttributedString)) {
|
245
|
-
if (!(typeof text === 'string')) {
|
246
|
-
text = text.toString();
|
247
|
-
}
|
248
|
-
if (text.indexOf('\n') !== -1) {
|
249
|
-
text = text.replace(/\\n/g, '\u{2029}');
|
250
|
-
}
|
251
|
-
const textTransform = span.textTransform || (parent && parent.textTransform);
|
252
|
-
if (textTransform) {
|
253
|
-
text = getTransformedText(text, textTransform);
|
254
|
-
}
|
255
|
-
return NSMutableAttributedString.alloc().initWithStringAttributes(text, attrDict);
|
256
125
|
}
|
257
126
|
else {
|
258
|
-
|
259
|
-
|
260
|
-
|
261
|
-
|
127
|
+
iosFont = parentView[fontInternalProperty.getDefault]();
|
128
|
+
}
|
129
|
+
return {
|
130
|
+
text,
|
131
|
+
tapIndex: span._tappable ? index : undefined,
|
132
|
+
autoFontSizeEnabled,
|
133
|
+
iosFont,
|
134
|
+
realFontSize,
|
135
|
+
fontSize: fontSize || iosFont.pointSize,
|
136
|
+
realMaxFontSize,
|
137
|
+
backgroundColor: backgroundcolor ? (backgroundcolor instanceof Color ? backgroundcolor.ios : new Color(backgroundcolor).ios) : null,
|
138
|
+
color: textColor ? (textColor instanceof Color ? textColor.ios : new Color(textColor).ios) : null,
|
139
|
+
textDecoration,
|
140
|
+
letterSpacing,
|
141
|
+
lineHeight,
|
142
|
+
verticalTextAlignment,
|
143
|
+
textAlignment
|
144
|
+
};
|
262
145
|
}
|
263
146
|
//# sourceMappingURL=index.ios.js.map
|
package/index.ios.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.ios.js","sourceRoot":"../src/","sources":["index.ios.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,eAAe,EAAE,QAAQ,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC7G,OAAO,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AACrE,OAAO,EAAe,
|
1
|
+
{"version":3,"file":"index.ios.js","sourceRoot":"../src/","sources":["index.ios.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@nativescript-community/text",
|
3
|
-
"version": "1.5.
|
3
|
+
"version": "1.5.15",
|
4
4
|
"description": "Expands the capabilities of NativeScript's text property.",
|
5
5
|
"main": "./index",
|
6
6
|
"sideEffects": false,
|
@@ -37,5 +37,5 @@
|
|
37
37
|
},
|
38
38
|
"license": "Apache-2.0",
|
39
39
|
"readmeFilename": "README.md",
|
40
|
-
"gitHead": "
|
40
|
+
"gitHead": "ad1bb071c3bd848603dfdd729b3f0516c0bd988d"
|
41
41
|
}
|
@@ -0,0 +1 @@
|
|
1
|
+
OTHER_LDFLAGS=$(inherited) -framework CoreText
|
Binary file
|
@@ -0,0 +1 @@
|
|
1
|
+
#import "NSTextUtils.h"
|
@@ -0,0 +1,203 @@
|
|
1
|
+
#import "NSTextUtils.h"
|
2
|
+
#import <CoreText/CoreText.h>
|
3
|
+
|
4
|
+
@implementation NSTextUtils
|
5
|
+
CGFloat computeBaseLineOffset(NSString *align, CGFloat fontAscent, CGFloat fontDescent, CGFloat fontBottom, CGFloat fontTop, CGFloat fontSize, CGFloat maxFontSize) {
|
6
|
+
CGFloat result = 0;
|
7
|
+
if ([align isEqualToString:@"top"]) {
|
8
|
+
result = -maxFontSize - fontBottom - fontTop;
|
9
|
+
} else if ([align isEqualToString:@"bottom"]) {
|
10
|
+
result = fontBottom;
|
11
|
+
} else if ([align isEqualToString:@"text-top"]) {
|
12
|
+
result = -maxFontSize - fontDescent - fontAscent;
|
13
|
+
} else if ([align isEqualToString:@"text-bottom"]) {
|
14
|
+
result = fontBottom - fontDescent;
|
15
|
+
} else if ([align isEqualToString:@"middle"] || [align isEqualToString:@"center"]) {
|
16
|
+
result = (fontAscent - fontDescent) / 2 - fontAscent - maxFontSize / 2;
|
17
|
+
} else if ([align isEqualToString:@"super"]) {
|
18
|
+
result = -(maxFontSize - fontSize);
|
19
|
+
} else if ([align isEqualToString:@"sub"]) {
|
20
|
+
result = 0;
|
21
|
+
}
|
22
|
+
return result;
|
23
|
+
}
|
24
|
+
|
25
|
+
+(NSMutableAttributedString*)createNativeHTMLAttributedString:(NSDictionary*)data {
|
26
|
+
// if (!attributedString) {
|
27
|
+
// NSData* data = [nsString dataUsingEncoding: NSUnicodeStringEncoding allowLossyConversion: YES];
|
28
|
+
// attributedString = [[NSMutableAttributedString alloc] initWithHTML:data
|
29
|
+
// }
|
30
|
+
NSString* htmlString = [data objectForKey:@"htmlString"];
|
31
|
+
NSDictionary *dic = @{NSDocumentTypeDocumentAttribute: NSHTMLTextDocumentType,
|
32
|
+
NSCharacterEncodingDocumentOption: @(NSUTF8StringEncoding)};
|
33
|
+
NSMutableAttributedString* attrText = [[NSMutableAttributedString alloc] initWithData:[htmlString dataUsingEncoding:NSUnicodeStringEncoding] options:dic documentAttributes:nil error:nil];
|
34
|
+
|
35
|
+
NSRange fullRange = NSMakeRange(0, [attrText length]);
|
36
|
+
UIColor* linkColor = [data objectForKey:@"linkColor"];
|
37
|
+
NSNumber* useCustomLinkTag = [data objectForKey:@"useCustomLinkTag"];
|
38
|
+
if (linkColor || [useCustomLinkTag boolValue]) {
|
39
|
+
// if linkColor is used for non UITextView we cant use NSLinkAttributeName
|
40
|
+
// as it will force the rendered color
|
41
|
+
[attrText enumerateAttribute:NSLinkAttributeName inRange:fullRange options:0 usingBlock:^(id _Nullable value, NSRange range, BOOL * _Nonnull stop) {
|
42
|
+
if (value) {
|
43
|
+
NSMutableDictionary* attributes = [[NSMutableDictionary alloc] initWithDictionary:[attrText attributesAtIndex:range.location longestEffectiveRange:nil inRange:range ]];
|
44
|
+
NSString* sValue = nil;
|
45
|
+
if ([value isKindOfClass:[NSURL class]]) {
|
46
|
+
sValue = [(NSURL*)value absoluteString];
|
47
|
+
} else {
|
48
|
+
sValue = value;
|
49
|
+
}
|
50
|
+
if ([sValue hasPrefix:@"applewebdata://"]) {
|
51
|
+
NSRange range = [sValue rangeOfString:@"/" options:NSBackwardsSearch];
|
52
|
+
[attributes setObject:[sValue substringFromIndex:range.location+1] forKey:@"CustomLinkAttribute"];
|
53
|
+
|
54
|
+
} else {
|
55
|
+
[attributes setObject:sValue forKey:@"CustomLinkAttribute"];
|
56
|
+
}
|
57
|
+
[attributes removeObjectForKey:NSLinkAttributeName];
|
58
|
+
[attrText setAttributes:attributes range:range];
|
59
|
+
}
|
60
|
+
}];
|
61
|
+
}
|
62
|
+
// }
|
63
|
+
NSNumber* autoFontSizeEnabled = [data objectForKey:@"autoFontSizeEnabled"];
|
64
|
+
if ([autoFontSizeEnabled boolValue]) {
|
65
|
+
[attrText enumerateAttribute:NSFontAttributeName inRange:fullRange options:0 usingBlock:^(UIFont* _Nullable value, NSRange range, BOOL * _Nonnull stop) {
|
66
|
+
if (value) {
|
67
|
+
[attrText addAttribute:@"OriginalFontSize" value:[NSNumber numberWithFloat:[value pointSize]] range:range];
|
68
|
+
}
|
69
|
+
}];
|
70
|
+
}
|
71
|
+
|
72
|
+
NSNumber* letterSpacing = [data objectForKey:@"letterSpacing"];
|
73
|
+
NSNumber* fontSize = [data objectForKey:@"fontSize"];
|
74
|
+
if (letterSpacing && letterSpacing.floatValue != 0) {
|
75
|
+
[attrText addAttribute:NSKernAttributeName value:[NSNumber numberWithFloat:letterSpacing.floatValue * fontSize.floatValue] range:fullRange];
|
76
|
+
}
|
77
|
+
__block NSMutableParagraphStyle* paragraphStyle = nil;
|
78
|
+
NSNumber* textAlignment = [data objectForKey:@"textAlignment"];
|
79
|
+
void (^createParagraphStyle)(void) = ^{
|
80
|
+
if (!paragraphStyle) {
|
81
|
+
paragraphStyle = [[NSMutableParagraphStyle alloc] init];
|
82
|
+
if (textAlignment) {
|
83
|
+
paragraphStyle.alignment = (NSTextAlignment)textAlignment.integerValue;
|
84
|
+
|
85
|
+
}
|
86
|
+
}
|
87
|
+
};
|
88
|
+
if (textAlignment) {
|
89
|
+
createParagraphStyle();
|
90
|
+
}
|
91
|
+
NSNumber* lineBreak = [data objectForKey:@"lineBreak"];
|
92
|
+
if (lineBreak) {
|
93
|
+
|
94
|
+
createParagraphStyle();
|
95
|
+
// make sure a possible previously set line break mode is not lost when line height is specified
|
96
|
+
paragraphStyle.lineBreakMode = (NSLineBreakMode)lineBreak.integerValue;
|
97
|
+
}
|
98
|
+
NSNumber* lineHeight = [data objectForKey:@"lineHeight"];
|
99
|
+
if (lineHeight) {
|
100
|
+
createParagraphStyle();
|
101
|
+
CGFloat fLineHeight = [lineHeight floatValue];
|
102
|
+
if (fLineHeight == 0.0) {
|
103
|
+
fLineHeight = 0.00001;
|
104
|
+
}
|
105
|
+
paragraphStyle.minimumLineHeight = fLineHeight;
|
106
|
+
paragraphStyle.maximumLineHeight = fLineHeight;
|
107
|
+
// make sure a possible previously set text alignment setting is not lost when line height is specified
|
108
|
+
// if (this.nativeTextViewProtected instanceof UILabel) {
|
109
|
+
// paragraphStyle.lineBreakMode = this.nativeTextViewProtected.lineBreakMode;
|
110
|
+
// }
|
111
|
+
}
|
112
|
+
if (paragraphStyle) {
|
113
|
+
[attrText addAttribute:NSParagraphStyleAttributeName value:paragraphStyle range:fullRange];
|
114
|
+
}
|
115
|
+
return attrText;
|
116
|
+
}
|
117
|
+
|
118
|
+
+(NSMutableAttributedString*)createNativeAttributedString:(NSDictionary*)data {
|
119
|
+
NSMutableAttributedString* result = [[NSMutableAttributedString alloc] init];
|
120
|
+
for (id spanDetails in [data objectForKey:@"details"]){
|
121
|
+
NSMutableDictionary* attributes = [[NSMutableDictionary alloc] init];
|
122
|
+
UIFont* iosFont = [spanDetails objectForKey:@"iosFont"];
|
123
|
+
if (iosFont) {
|
124
|
+
[attributes setObject:iosFont forKey:NSFontAttributeName];
|
125
|
+
}
|
126
|
+
NSNumber* autoFontSizeEnabled = [spanDetails objectForKey:@"autoFontSizeEnabled"];
|
127
|
+
if ([autoFontSizeEnabled boolValue]) {
|
128
|
+
[attributes setObject:[spanDetails objectForKey:@"realFontSize"] forKey:@"OriginalFontSize"];
|
129
|
+
|
130
|
+
}
|
131
|
+
NSString* verticalTextAlignment = [spanDetails objectForKey:@"verticalTextAlignment"];
|
132
|
+
if (verticalTextAlignment && iosFont && ![verticalTextAlignment isEqualToString:@"initial"] && ![verticalTextAlignment isEqualToString:@"stretch"]) {
|
133
|
+
NSNumber* fontSize = [spanDetails objectForKey:@"fontSize"];
|
134
|
+
CTFontRef ctFont = (__bridge CTFontRef)iosFont;
|
135
|
+
CGFloat ascent = CTFontGetAscent(ctFont);
|
136
|
+
CGFloat descent = CTFontGetDescent(ctFont);
|
137
|
+
NSNumber* realMaxFontSize = [spanDetails objectForKey:@"realMaxFontSize"];
|
138
|
+
[attributes setObject:[NSNumber numberWithFloat:-computeBaseLineOffset(verticalTextAlignment, -ascent, descent, -iosFont.descender, -iosFont.ascender, [fontSize floatValue], [realMaxFontSize floatValue])] forKey:NSBaselineOffsetAttributeName];
|
139
|
+
}
|
140
|
+
UIColor* color = [spanDetails objectForKey:@"color"];
|
141
|
+
if (color) {
|
142
|
+
[attributes setObject:color forKey:NSForegroundColorAttributeName];
|
143
|
+
|
144
|
+
}
|
145
|
+
UIColor* backgroundColor = [spanDetails objectForKey:@"backgroundColor"];
|
146
|
+
if (backgroundColor) {
|
147
|
+
[attributes setObject:backgroundColor forKey:NSBackgroundColorAttributeName];
|
148
|
+
}
|
149
|
+
NSNumber* letterSpacing = [spanDetails objectForKey:@"letterSpacing"];
|
150
|
+
if (iosFont && letterSpacing) {
|
151
|
+
[attributes setObject:[NSNumber numberWithFloat:(letterSpacing.floatValue * iosFont.pointSize)] forKey:NSKernAttributeName];
|
152
|
+
}
|
153
|
+
|
154
|
+
NSNumber* tapIndex = [spanDetails objectForKey:@"tapIndex"];
|
155
|
+
if (tapIndex) {
|
156
|
+
[attributes setObject:tapIndex forKey:@"CustomLinkAttribute"];
|
157
|
+
}
|
158
|
+
NSNumber* lineHeight = [spanDetails objectForKey:@"lineHeight"];
|
159
|
+
NSString* textAlignment = [spanDetails objectForKey:@"textAlignment"];
|
160
|
+
if (lineHeight || textAlignment) {
|
161
|
+
NSMutableParagraphStyle* paragraphStyle = [[NSMutableParagraphStyle alloc] init];
|
162
|
+
if ([textAlignment isEqualToString:@"middle"] || [textAlignment isEqualToString:@"center"]) {
|
163
|
+
paragraphStyle.alignment = NSTextAlignmentCenter;
|
164
|
+
} else if ([textAlignment isEqualToString:@"right"]) {
|
165
|
+
paragraphStyle.alignment = NSTextAlignmentRight;
|
166
|
+
} else {
|
167
|
+
paragraphStyle.alignment = NSTextAlignmentLeft;
|
168
|
+
}
|
169
|
+
if (lineHeight) {
|
170
|
+
CGFloat fLineHeight = [lineHeight floatValue];
|
171
|
+
if (fLineHeight == 0.0) {
|
172
|
+
fLineHeight = 0.00001;
|
173
|
+
}
|
174
|
+
paragraphStyle.maximumLineHeight = fLineHeight;
|
175
|
+
paragraphStyle.minimumLineHeight = fLineHeight;
|
176
|
+
}
|
177
|
+
[attributes setObject:paragraphStyle forKey:NSParagraphStyleAttributeName];
|
178
|
+
}
|
179
|
+
NSString* textDecoration = [spanDetails objectForKey:@"textDecoration"];
|
180
|
+
if (textDecoration) {
|
181
|
+
BOOL underline = [textDecoration containsString:@"underline" ];
|
182
|
+
if (underline) {
|
183
|
+
[attributes setObject:[NSNumber numberWithBool:underline] forKey:NSUnderlineStyleAttributeName];
|
184
|
+
}
|
185
|
+
BOOL strikethrough = [textDecoration containsString:@"line-through" ];
|
186
|
+
if (strikethrough) {
|
187
|
+
[attributes setObject:[NSNumber numberWithBool:strikethrough] forKey:NSStrikethroughStyleAttributeName];
|
188
|
+
}
|
189
|
+
}
|
190
|
+
id text = [spanDetails objectForKey:@"text"];
|
191
|
+
if (!([text isKindOfClass:[NSAttributedString class]])) {
|
192
|
+
[result appendAttributedString:[[NSMutableAttributedString alloc] initWithString:text attributes:attributes]];
|
193
|
+
}
|
194
|
+
else {
|
195
|
+
NSMutableAttributedString* resultSpan = [[NSMutableAttributedString alloc] initWithAttributedString:text];
|
196
|
+
[resultSpan setAttributes:attributes range:NSMakeRange(0, [text length])];
|
197
|
+
[result appendAttributedString:resultSpan];
|
198
|
+
|
199
|
+
}
|
200
|
+
}
|
201
|
+
return result;
|
202
|
+
}
|
203
|
+
@end
|