@nativescript-community/text 1.6.19 → 1.6.20
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.js
CHANGED
|
@@ -52,6 +52,7 @@ function spanToNativeString(span, parent, parentView, maxFontSize, index = -1, d
|
|
|
52
52
|
if (text && textTransform != null && textTransform !== 'none') {
|
|
53
53
|
text = getTransformedText(text, textTransform);
|
|
54
54
|
}
|
|
55
|
+
let lineHeightFactor = density;
|
|
55
56
|
if (!density) {
|
|
56
57
|
// if (!FONT_SIZE_FACTOR) {
|
|
57
58
|
// FONT_SIZE_FACTOR = com.nativescript.text.Font.getFontSizeFactor(Utils.android.getApplicationContext()) / Screen.mainScreen.scale;
|
|
@@ -62,6 +63,9 @@ function spanToNativeString(span, parent, parentView, maxFontSize, index = -1, d
|
|
|
62
63
|
// console.log('text FONT_SIZE_FACTOR', FONT_SIZE_FACTOR, Screen.mainScreen.scale)
|
|
63
64
|
verticalTextAlignment = span.verticalAlignment || parent?.verticalAlignment;
|
|
64
65
|
}
|
|
66
|
+
if (density === 1) {
|
|
67
|
+
lineHeightFactor = com.nativescript.text.Font.getFontSizeFactor(Utils.android.getApplicationContext());
|
|
68
|
+
}
|
|
65
69
|
let backgroundColor = span.backgroundColor || parent?.backgroundColor;
|
|
66
70
|
if (backgroundColor && !(backgroundColor instanceof Color)) {
|
|
67
71
|
backgroundColor = new Color(backgroundColor);
|
|
@@ -90,7 +94,7 @@ function spanToNativeString(span, parent, parentView, maxFontSize, index = -1, d
|
|
|
90
94
|
relativeSize: span.relativeSize,
|
|
91
95
|
verticalTextAlignment,
|
|
92
96
|
linkColor: aLinkColor,
|
|
93
|
-
lineHeight: lineHeight !== undefined ? lineHeight *
|
|
97
|
+
lineHeight: lineHeight !== undefined ? lineHeight * lineHeightFactor : undefined,
|
|
94
98
|
letterSpacing: letterSpacing !== undefined ? letterSpacing * density : undefined,
|
|
95
99
|
color: color ? color.android : undefined,
|
|
96
100
|
disableLinkDecoration: (span.linkDecoration && span.linkDecoration !== 'underline') || parentView?.['linkUnderline'] === false,
|
package/index.android.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.android.js","sourceRoot":"","sources":["../../src/text/index.android.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"index.android.js","sourceRoot":"","sources":["../../src/text/index.android.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.6.
|
|
3
|
+
"version": "1.6.20",
|
|
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": "b181658dc1ad1df249c02d5be994b286be0c52ff"
|
|
41
41
|
}
|
|
@@ -508,7 +508,7 @@ public class Font {
|
|
|
508
508
|
// Log.d(TAG, "fromHtml: " + ((System.nanoTime() - startTime)/1000000) + "ms");
|
|
509
509
|
return converter.spannable();
|
|
510
510
|
} catch (Exception e) {
|
|
511
|
-
e
|
|
511
|
+
Log.e(TAG, "errro parsing html " + html, e);
|
|
512
512
|
}
|
|
513
513
|
return html;
|
|
514
514
|
}
|
|
@@ -518,10 +518,7 @@ public class Font {
|
|
|
518
518
|
}
|
|
519
519
|
private static float FONT_SIZE_FACTOR = -1;
|
|
520
520
|
public static float getFontSizeFactor(Context context) {
|
|
521
|
-
|
|
522
|
-
FONT_SIZE_FACTOR = android.util.TypedValue.applyDimension(
|
|
521
|
+
return android.util.TypedValue.applyDimension(
|
|
523
522
|
android.util.TypedValue.COMPLEX_UNIT_SP, 1, context.getResources().getDisplayMetrics());
|
|
524
|
-
}
|
|
525
|
-
return FONT_SIZE_FACTOR;
|
|
526
523
|
}
|
|
527
524
|
}
|
|
@@ -9,14 +9,18 @@ package com.nativescript.text;
|
|
|
9
9
|
|
|
10
10
|
import android.graphics.Paint;
|
|
11
11
|
import android.text.style.LineHeightSpan;
|
|
12
|
+
import android.util.Log;
|
|
12
13
|
|
|
13
14
|
public class HeightSpan implements LineHeightSpan {
|
|
14
15
|
private final int mHeight;
|
|
15
16
|
|
|
16
17
|
public HeightSpan(float height) {
|
|
18
|
+
Log.d("JS", "HeightSpan " + height);
|
|
17
19
|
this.mHeight = (int) Math.ceil(height);
|
|
18
20
|
}
|
|
19
|
-
|
|
21
|
+
public int getHeight() {
|
|
22
|
+
return mHeight;
|
|
23
|
+
}
|
|
20
24
|
@Override
|
|
21
25
|
public void chooseHeight(
|
|
22
26
|
CharSequence text, int start, int end, int spanstartv, int v, Paint.FontMetricsInt fm) {
|
|
@@ -25,31 +29,55 @@ public class HeightSpan implements LineHeightSpan {
|
|
|
25
29
|
// The general solution is that if there's not enough height to show the full line height, we
|
|
26
30
|
// will prioritize in this order: descent, ascent, bottom, top
|
|
27
31
|
|
|
28
|
-
if (fm.descent > mHeight) {
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
} else if (-fm.ascent + fm.descent > mHeight) {
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
} else if (-fm.ascent + fm.bottom > mHeight) {
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
} else if (-fm.top + fm.bottom > mHeight) {
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
} else {
|
|
44
|
-
|
|
45
|
-
|
|
32
|
+
// if (fm.descent > mHeight) {
|
|
33
|
+
// // Show as much descent as possible
|
|
34
|
+
// fm.bottom = fm.descent = Math.min(mHeight, fm.descent);
|
|
35
|
+
// fm.top = fm.ascent = 0;
|
|
36
|
+
// } else if (-fm.ascent + fm.descent > mHeight) {
|
|
37
|
+
// // Show all descent, and as much ascent as possible
|
|
38
|
+
// fm.bottom = fm.descent;
|
|
39
|
+
// fm.top = fm.ascent = -mHeight + fm.descent;
|
|
40
|
+
// } else if (-fm.ascent + fm.bottom > mHeight) {
|
|
41
|
+
// // Show all ascent, descent, as much bottom as possible
|
|
42
|
+
// fm.top = fm.ascent;
|
|
43
|
+
// fm.bottom = fm.ascent + mHeight;
|
|
44
|
+
// } else if (-fm.top + fm.bottom > mHeight) {
|
|
45
|
+
// // Show all ascent, descent, bottom, as much top as possible
|
|
46
|
+
// fm.top = fm.bottom - mHeight;
|
|
47
|
+
// } else {
|
|
48
|
+
// // Show proportionally additional ascent / top & descent / bottom
|
|
49
|
+
// final int additional = mHeight - (-fm.top + fm.bottom);
|
|
46
50
|
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
51
|
+
// // Round up for the negative values and down for the positive values (arbitrary choice)
|
|
52
|
+
// // So that bottom - top equals additional even if it's an odd number.
|
|
53
|
+
// fm.top -= Math.ceil(additional / 2.0f);
|
|
54
|
+
// fm.bottom += Math.floor(additional / 2.0f);
|
|
55
|
+
// fm.ascent = fm.top;
|
|
56
|
+
// fm.descent = fm.bottom;
|
|
57
|
+
// }
|
|
58
|
+
final int originHeight = fm.descent - fm.ascent;
|
|
59
|
+
// If original height is not positive, do nothing.
|
|
60
|
+
if (originHeight <= 0) {
|
|
61
|
+
return;
|
|
62
|
+
}
|
|
63
|
+
final int diff = mHeight - originHeight;
|
|
64
|
+
if (diff == 0) {
|
|
65
|
+
return;
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
if (diff > 0) {
|
|
69
|
+
// Expand line: keep glyphs at the top, add extra space below.
|
|
70
|
+
fm.bottom += diff;
|
|
71
|
+
fm.descent += diff;
|
|
72
|
+
} else {
|
|
73
|
+
// Shrink line: remove space proportionally from top and bottom (center content).
|
|
74
|
+
int reduce = -diff;
|
|
75
|
+
int reduceTop = (int) Math.ceil(reduce / 2.0f);
|
|
76
|
+
int reduceBottom = reduce - reduceTop;
|
|
77
|
+
fm.top += reduceTop;
|
|
78
|
+
fm.ascent += reduceTop;
|
|
79
|
+
fm.bottom -= reduceBottom;
|
|
80
|
+
fm.descent -= reduceBottom;
|
|
53
81
|
}
|
|
54
82
|
}
|
|
55
|
-
}
|
|
83
|
+
}
|
|
@@ -92,7 +92,7 @@ class NSTextUtils: NSObject {
|
|
|
92
92
|
class func computeBaseLineOffset(align:String!, fontAscent:Float, fontDescent:Float, fontBottom:Float, fontTop:Float, fontSize:Float, maxFontSize:Float) -> Float {
|
|
93
93
|
var result:Float = 0
|
|
94
94
|
if (align == "top") {
|
|
95
|
-
result = -maxFontSize - fontBottom - fontTop
|
|
95
|
+
result = -maxFontSize - fontBottom - fontTop - (fontAscent - fontDescent) / 2
|
|
96
96
|
} else if (align == "bottom") {
|
|
97
97
|
result = fontBottom
|
|
98
98
|
} else if (align == "text-top") {
|
|
@@ -249,7 +249,9 @@ class NSTextUtils: NSObject {
|
|
|
249
249
|
|
|
250
250
|
}
|
|
251
251
|
let verticalTextAlignment:String! = spanDetails.object(forKey: "verticalTextAlignment") as? String
|
|
252
|
+
var realVerticalTextAlignment:String! = nil
|
|
252
253
|
if (verticalTextAlignment != nil) && (iosFont != nil) && !(verticalTextAlignment == "initial") && !(verticalTextAlignment == "stretch") {
|
|
254
|
+
realVerticalTextAlignment = verticalTextAlignment
|
|
253
255
|
let fontSize:NSNumber! = fontSize != nil ? fontSize : NSNumber(value: Float(iosFont.pointSize))
|
|
254
256
|
let ctFont:CTFont = iosFont
|
|
255
257
|
let ascent:CGFloat = CTFontGetAscent(ctFont)
|
|
@@ -293,6 +295,21 @@ class NSTextUtils: NSObject {
|
|
|
293
295
|
}
|
|
294
296
|
paragraphStyle.maximumLineHeight = fLineHeight
|
|
295
297
|
paragraphStyle.minimumLineHeight = fLineHeight
|
|
298
|
+
if (iosFont != nil){
|
|
299
|
+
let ctFont: CTFont = iosFont
|
|
300
|
+
let ascent = CTFontGetAscent(ctFont)
|
|
301
|
+
let descent = CTFontGetDescent(ctFont)
|
|
302
|
+
let fontSize:NSNumber! = fontSize != nil ? fontSize : NSNumber(value: Float(iosFont.pointSize))
|
|
303
|
+
let baseOffset = -computeBaseLineOffset(align: realVerticalTextAlignment != nil ? realVerticalTextAlignment : "top",
|
|
304
|
+
fontAscent: -Float(ascent),
|
|
305
|
+
fontDescent: Float(descent),
|
|
306
|
+
fontBottom: -Float(iosFont.descender),
|
|
307
|
+
fontTop: -Float(iosFont.ascender),
|
|
308
|
+
fontSize: fontSize.floatValue,
|
|
309
|
+
maxFontSize: Float(fLineHeight))
|
|
310
|
+
attributes.setObject(baseOffset, forKey:NSAttributedString.Key.baselineOffset as NSCopying as NSCopying)
|
|
311
|
+
|
|
312
|
+
}
|
|
296
313
|
}
|
|
297
314
|
attributes.setObject(paragraphStyle, forKey:NSAttributedString.Key.paragraphStyle as NSCopying as NSCopying)
|
|
298
315
|
}
|