@@ -46,7 +46,8 @@ export default class HTML extends PureComponent {
46
46
ptSize : PropTypes . number . isRequired ,
47
47
baseFontStyle : PropTypes . object . isRequired ,
48
48
textSelectable : PropTypes . bool ,
49
- renderersProps : PropTypes . object
49
+ renderersProps : PropTypes . object ,
50
+ allowFontScaling : PropTypes . bool
50
51
}
51
52
52
53
static defaultProps = {
@@ -62,7 +63,8 @@ export default class HTML extends PureComponent {
62
63
baseFontStyle : { fontSize : 14 } ,
63
64
tagsStyles : { } ,
64
65
classesStyles : { } ,
65
- textSelectable : false
66
+ textSelectable : false ,
67
+ allowFontScaling : true
66
68
}
67
69
68
70
constructor ( props ) {
@@ -382,7 +384,18 @@ export default class HTML extends PureComponent {
382
384
* @memberof HTML
383
385
*/
384
386
renderRNElements ( RNElements , parentWrapper = 'root' , parentIndex = 0 , props = this . props ) {
385
- const { tagsStyles, classesStyles, emSize, ptSize, ignoredStyles, allowedStyles, baseFontStyle } = props ;
387
+ const {
388
+ allowFontScaling,
389
+ allowedStyles,
390
+ baseFontStyle,
391
+ classesStyles,
392
+ emSize,
393
+ ignoredStyles,
394
+ ptSize,
395
+ tagsStyles,
396
+ textSelectable
397
+ } = props ;
398
+
386
399
return RNElements && RNElements . length ? RNElements . map ( ( element , index ) => {
387
400
const { attribs, data, tagName, parentTag, children, nodeIndex, wrapper } = element ;
388
401
const Wrapper = wrapper === 'Text' ? Text : View ;
@@ -430,6 +443,7 @@ export default class HTML extends PureComponent {
430
443
const classStyles = _getElementClassStyles ( attribs , classesStyles ) ;
431
444
const textElement = data ?
432
445
< Text
446
+ allowFontScaling = { allowFontScaling }
433
447
style = { computeTextStyles (
434
448
element ,
435
449
{
@@ -457,7 +471,8 @@ export default class HTML extends PureComponent {
457
471
458
472
const renderersProps = { } ;
459
473
if ( Wrapper === Text ) {
460
- renderersProps . selectable = this . props . textSelectable ;
474
+ renderersProps . allowFontScaling = allowFontScaling ;
475
+ renderersProps . selectable = textSelectable ;
461
476
}
462
477
return (
463
478
< Wrapper key = { key } style = { style } { ...renderersProps } >
@@ -469,7 +484,7 @@ export default class HTML extends PureComponent {
469
484
}
470
485
471
486
render ( ) {
472
- const { customWrapper, remoteLoadingView, remoteErrorView } = this . props ;
487
+ const { allowFontScaling , customWrapper, remoteLoadingView, remoteErrorView } = this . props ;
473
488
const { RNNodes, loadingRemoteURL, errorLoadingRemoteURL } = this . state ;
474
489
if ( ! RNNodes && ! loadingRemoteURL ) {
475
490
return false ;
@@ -486,7 +501,7 @@ export default class HTML extends PureComponent {
486
501
remoteErrorView ( this . props , this . state ) :
487
502
(
488
503
< View style = { { flex : 1 , alignItems : 'center' } } >
489
- < Text style = { { fontStyle : 'italic' , fontSize : 16 } } > Could not load { this . props . uri } </ Text >
504
+ < Text allowFontScaling = { allowFontScaling } style = { { fontStyle : 'italic' , fontSize : 16 } } > Could not load { this . props . uri } </ Text >
490
505
</ View >
491
506
) ;
492
507
}
0 commit comments