@@ -60,15 +60,15 @@ MathJax.Hub.Register.StartupHook("CommonHTML Jax Ready",function () {
60
60
var img = CHTML . addElement ( node , "img" , {
61
61
isMathJax :true , src :values . src , alt :values . alt , title :values . alt
62
62
} ) ;
63
- var w = bbox . img . img . width / CHTML . em , h = bbox . img . img . height / CHTML . em ;
64
- if ( values . width !== "" ) img . style . width = CHTML . Em ( this . CHTMLlength2em ( values . width , w ) ) ;
65
- if ( values . height !== "" ) img . style . height = CHTML . Em ( this . CHTMLlength2em ( values . height , h ) ) ;
66
- //
67
- // Warning: causes page reflows
68
- //
69
- bbox . w = bbox . r = img . offsetWidth / CHTML . em ; bbox . h = bbox . t = img . offsetHeight / CHTML . em ;
63
+ var w = values . width , h = values . height ;
64
+ var W = bbox . img . img . width / CHTML . em , H = bbox . img . img . height / CHTML . em ;
65
+ var WW = W , HH = H ;
66
+ if ( w !== "" ) { W = this . CHTMLlength2em ( w , WW ) ; H = ( WW ? W / WW * HH : 0 ) }
67
+ if ( h !== "" ) { H = this . CHTMLlength2em ( h , HH ) ; if ( w === "" ) W = ( HH ? H / HH * WW : 0 ) }
68
+ img . style . width = CHTML . Em ( W ) ; bbox . w = bbox . r = W ;
69
+ img . style . height = CHTML . Em ( H ) ; bbox . h = bbox . t = H ;
70
70
if ( values . valign ) {
71
- bbox . d = bbox . b = - this . CHTMLlength2em ( values . valign , h ) ;
71
+ bbox . d = bbox . b = - this . CHTMLlength2em ( values . valign , HH ) ;
72
72
img . style . verticalAlign = CHTML . Em ( - bbox . d ) ;
73
73
bbox . h -= bbox . d ; bbox . t = bbox . h ;
74
74
}
0 commit comments