@nativescript-community/text 1.5.14 → 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 -200
- 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,116 +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 (autoFontSizeEnabled) {
|
53
|
-
// if (autoFontSizeEnabled || iOSUseDTCoreText) {
|
54
|
-
attrText.enumerateAttributesInRangeOptionsUsingBlock({ location: 0, length: attrText.length }, 0, (attributes, range, stop) => {
|
55
|
-
if (!!attributes.valueForKey('DTGUID')) {
|
56
|
-
// We need to remove this attribute or links are not colored right
|
57
|
-
//
|
58
|
-
// @see https://github.com/Cocoanetics/DTCoreText/issues/792
|
59
|
-
attrText.removeAttributeRange('CTForegroundColorFromContext', range);
|
60
|
-
}
|
61
|
-
const font = attributes.valueForKey(NSFontAttributeName);
|
62
|
-
if (!!font) {
|
63
|
-
attrText.addAttributeValueRange('OriginalFontSize', font.pointSize, range);
|
64
|
-
}
|
65
|
-
});
|
66
|
-
}
|
67
|
-
// TODO: letterSpacing should be applied per Span.
|
68
|
-
if (letterSpacing !== undefined && letterSpacing !== 0) {
|
69
|
-
attrText.addAttributeValueRange(NSKernAttributeName, letterSpacing * fontSize, { location: 0, length: attrText.length });
|
70
|
-
}
|
71
|
-
let paragraphStyle;
|
72
|
-
const createParagraphStyle = () => {
|
73
|
-
if (!paragraphStyle) {
|
74
|
-
paragraphStyle = NSMutableParagraphStyle.alloc().init();
|
75
|
-
}
|
76
|
-
};
|
77
|
-
if (lineBreak) {
|
78
|
-
createParagraphStyle();
|
79
|
-
// make sure a possible previously set line break mode is not lost when line height is specified
|
80
|
-
paragraphStyle.lineBreakMode = lineBreak;
|
81
|
-
}
|
82
|
-
if (lineHeight !== undefined) {
|
83
|
-
if (lineHeight === 0) {
|
84
|
-
lineHeight = 0.00001;
|
85
|
-
}
|
86
|
-
createParagraphStyle();
|
87
|
-
paragraphStyle.minimumLineHeight = lineHeight;
|
88
|
-
paragraphStyle.maximumLineHeight = lineHeight;
|
89
|
-
// make sure a possible previously set text alignment setting is not lost when line height is specified
|
90
|
-
paragraphStyle.alignment = textAlignment;
|
91
|
-
// if (this.nativeTextViewProtected instanceof UILabel) {
|
92
|
-
// paragraphStyle.lineBreakMode = this.nativeTextViewProtected.lineBreakMode;
|
93
|
-
// }
|
94
|
-
}
|
95
|
-
else if (textAlignment !== undefined) {
|
96
|
-
createParagraphStyle();
|
97
|
-
paragraphStyle.alignment = textAlignment;
|
98
|
-
}
|
99
|
-
if (paragraphStyle) {
|
100
|
-
attrText.addAttributeValueRange(NSParagraphStyleAttributeName, paragraphStyle, { location: 0, length: attrText.length });
|
101
|
-
}
|
102
|
-
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
|
+
});
|
103
42
|
}
|
104
43
|
export function createNativeAttributedString(data, parent, autoFontSizeEnabled = false, fontSizeRatio = 1) {
|
105
44
|
if (data instanceof FormattedString || data instanceof LightFormattedString || data.hasOwnProperty('spans')) {
|
106
|
-
const ssb = NSMutableAttributedString.new();
|
45
|
+
// const ssb = NSMutableAttributedString.new();
|
107
46
|
const maxFontSize = getMaxFontSize(data);
|
108
47
|
const _spanRanges = [];
|
109
|
-
let spanStart = 0;
|
48
|
+
// let spanStart = 0;
|
110
49
|
let hasLink = false;
|
111
|
-
|
112
|
-
|
113
|
-
|
114
|
-
|
115
|
-
|
116
|
-
|
117
|
-
|
118
|
-
|
119
|
-
|
120
|
-
});
|
121
|
-
spanStart += res.length;
|
122
|
-
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;
|
123
59
|
}
|
60
|
+
// _spanRanges.push({
|
61
|
+
// location: spanStart,
|
62
|
+
// length
|
63
|
+
// });
|
64
|
+
// spanStart += length;
|
65
|
+
// ssb.appendAttributedString(res);
|
66
|
+
// }
|
124
67
|
});
|
125
68
|
if (parent) {
|
126
69
|
parent['nativeTextViewProtected'].selectable = parent['selectable'] === true || hasLink;
|
127
70
|
if (parent._setTappableState) {
|
128
71
|
parent._setTappableState(hasLink);
|
129
72
|
}
|
130
|
-
parent['_spanRanges'] = _spanRanges;
|
73
|
+
// parent['_spanRanges'] = _spanRanges;
|
131
74
|
}
|
132
|
-
return
|
75
|
+
return NSTextUtils.createNativeAttributedString({ details });
|
76
|
+
// return ssb;
|
133
77
|
}
|
134
78
|
if (data.textAlignment && typeof data.textAlignment === 'string') {
|
135
79
|
data.textAlignment = textAlignmentConverter(data.textAlignment);
|
@@ -141,14 +85,25 @@ export function createNativeAttributedString(data, parent, autoFontSizeEnabled =
|
|
141
85
|
data['fontSizeRatio'] = fontSizeRatio;
|
142
86
|
return _createNativeAttributedString(data);
|
143
87
|
}
|
144
|
-
export function
|
88
|
+
export function createSpannableDetails(span, index, parentView, parent, maxFontSize, autoFontSizeEnabled = false, fontSizeRatio = 1) {
|
145
89
|
let text = span.text;
|
146
90
|
if (!text || (span.visibility && span.visibility !== 'visible')) {
|
147
91
|
return null;
|
148
92
|
}
|
149
|
-
|
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
|
+
}
|
150
105
|
const fontFamily = span.fontFamily;
|
151
|
-
|
106
|
+
const fontSize = span.fontSize;
|
152
107
|
let realFontSize = fontSize || (parent && parent.fontSize) || (parentView && parentView.fontSize);
|
153
108
|
if (span.relativeSize) {
|
154
109
|
realFontSize = ((parent && parent.fontSize) || (parentView && parentView.fontSize)) * span.relativeSize;
|
@@ -156,107 +111,36 @@ export function createSpannable(span, parentView, parent, maxFontSize, autoFontS
|
|
156
111
|
const realMaxFontSize = Math.max(maxFontSize, realFontSize || 0);
|
157
112
|
const fontWeight = span.fontWeight;
|
158
113
|
const fontstyle = span.fontStyle;
|
159
|
-
const
|
114
|
+
const textColor = span.color || (parent && parent.color) || (parentView && !(parentView.nativeView instanceof UIButton) && parentView.color);
|
160
115
|
const backgroundcolor = span.backgroundColor || (parent && parent.backgroundColor);
|
161
|
-
const
|
116
|
+
const textDecoration = span.textDecoration || (parent && parent.textDecoration);
|
162
117
|
const letterSpacing = span.letterSpacing || (parent && parent.letterSpacing);
|
163
|
-
|
118
|
+
const lineHeight = span.lineHeight || (parent && parent.lineHeight);
|
164
119
|
const textAlignment = span.textAlignment || (parent && parent.textAlignment) || (parentView && parentView.textAlignment);
|
165
120
|
const verticalTextAlignment = span.verticalAlignment || parent?.verticalAlignment;
|
166
|
-
// We CANT use parent verticalTextAlignment. Else it would break line height
|
167
|
-
// for multiple line text you want centered in the View
|
168
|
-
// if (!verticalTextAlignment || verticalTextAlignment === 'stretch') {
|
169
|
-
// verticalTextAlignment = grandParent?.verticalTextAlignment;
|
170
|
-
// }
|
171
121
|
let iosFont;
|
172
122
|
if ((fontWeight && fontWeight !== 'normal') || fontstyle || fontFamily || realFontSize || fontSizeRatio !== 1) {
|
173
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));
|
174
124
|
iosFont = font.getUIFont(UIFont.systemFontOfSize(realFontSize));
|
175
|
-
attrDict[NSFontAttributeName] = iosFont;
|
176
|
-
if (autoFontSizeEnabled) {
|
177
|
-
attrDict['OriginalFontSize'] = realFontSize;
|
178
|
-
}
|
179
|
-
}
|
180
|
-
if (verticalTextAlignment && verticalTextAlignment !== 'initial' && verticalTextAlignment !== 'stretch') {
|
181
|
-
if (!iosFont) {
|
182
|
-
iosFont = parentView[fontInternalProperty.getDefault]();
|
183
|
-
fontSize = iosFont.pointSize;
|
184
|
-
}
|
185
|
-
const ascent = CTFontGetAscent(iosFont);
|
186
|
-
const descent = CTFontGetDescent(iosFont);
|
187
|
-
attrDict[NSBaselineOffsetAttributeName] = -computeBaseLineOffset(verticalTextAlignment, -ascent, descent, -iosFont.descender, -iosFont.ascender, fontSize, realMaxFontSize);
|
188
|
-
}
|
189
|
-
if (span._tappable) {
|
190
|
-
attrDict[NSLinkAttributeName] = text;
|
191
|
-
}
|
192
|
-
if (textcolor) {
|
193
|
-
const color = !textcolor || textcolor instanceof Color ? textcolor : new Color(textcolor);
|
194
|
-
if (color) {
|
195
|
-
attrDict[NSForegroundColorAttributeName] = color.ios;
|
196
|
-
}
|
197
|
-
}
|
198
|
-
if (backgroundcolor) {
|
199
|
-
const color = !backgroundcolor || backgroundcolor instanceof Color ? backgroundcolor : new Color(backgroundcolor);
|
200
|
-
if (color) {
|
201
|
-
attrDict[NSBackgroundColorAttributeName] = color.ios;
|
202
|
-
}
|
203
|
-
}
|
204
|
-
if (letterSpacing) {
|
205
|
-
attrDict[NSKernAttributeName] = letterSpacing * iosFont.pointSize;
|
206
|
-
}
|
207
|
-
let paragraphStyle;
|
208
|
-
if (lineHeight !== undefined || textAlignment) {
|
209
|
-
paragraphStyle = NSMutableParagraphStyle.alloc().init();
|
210
|
-
switch (textAlignment) {
|
211
|
-
case 'middle':
|
212
|
-
case 'center':
|
213
|
-
paragraphStyle.alignment = 1 /* NSTextAlignment.Center */;
|
214
|
-
break;
|
215
|
-
case 'right':
|
216
|
-
paragraphStyle.alignment = 2 /* NSTextAlignment.Right */;
|
217
|
-
break;
|
218
|
-
default:
|
219
|
-
paragraphStyle.alignment = 0 /* NSTextAlignment.Left */;
|
220
|
-
break;
|
221
|
-
}
|
222
|
-
if (lineHeight !== undefined) {
|
223
|
-
if (lineHeight === 0) {
|
224
|
-
lineHeight = 0.00001;
|
225
|
-
}
|
226
|
-
paragraphStyle.maximumLineHeight = lineHeight;
|
227
|
-
paragraphStyle.minimumLineHeight = lineHeight;
|
228
|
-
}
|
229
|
-
}
|
230
|
-
if (paragraphStyle) {
|
231
|
-
attrDict[NSParagraphStyleAttributeName] = paragraphStyle;
|
232
|
-
}
|
233
|
-
if (textDecorations) {
|
234
|
-
const underline = textDecorations.indexOf('underline') !== -1;
|
235
|
-
if (underline) {
|
236
|
-
attrDict[NSUnderlineStyleAttributeName] = underline;
|
237
|
-
}
|
238
|
-
const strikethrough = textDecorations.indexOf('line-through') !== -1;
|
239
|
-
if (strikethrough) {
|
240
|
-
attrDict[NSStrikethroughStyleAttributeName] = strikethrough;
|
241
|
-
}
|
242
|
-
}
|
243
|
-
if (!(text instanceof NSAttributedString)) {
|
244
|
-
if (!(typeof text === 'string')) {
|
245
|
-
text = text.toString();
|
246
|
-
}
|
247
|
-
if (text.indexOf('\n') !== -1) {
|
248
|
-
text = text.replace(/\\n/g, '\u{2029}');
|
249
|
-
}
|
250
|
-
const textTransform = span.textTransform || (parent && parent.textTransform);
|
251
|
-
if (textTransform) {
|
252
|
-
text = getTransformedText(text, textTransform);
|
253
|
-
}
|
254
|
-
return NSMutableAttributedString.alloc().initWithStringAttributes(text, attrDict);
|
255
125
|
}
|
256
126
|
else {
|
257
|
-
|
258
|
-
|
259
|
-
|
260
|
-
|
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
|
+
};
|
261
145
|
}
|
262
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
|