@@ -2042,17 +2042,20 @@ MathJax.Hub = {
2042
2042
2043
2043
setRenderer : function ( renderer , type ) {
2044
2044
if ( ! renderer ) return ;
2045
- if ( ! MathJax . OutputJax [ renderer ] ) {
2045
+ var JAX = MathJax . OutputJax [ renderer ] ;
2046
+ if ( ! JAX ) {
2047
+ MathJax . OutputJax [ renderer ] = MathJax . OutputJax ( { id : "unknown" , version :"1.0.0" , isUnknown : true } ) ;
2046
2048
this . config . menuSettings . renderer = "" ;
2047
2049
var file = "[MathJax]/jax/output/" + renderer + "/config.js" ;
2048
2050
return MathJax . Ajax . Require ( file , [ "setRenderer" , this , renderer , type ] ) ;
2049
2051
} else {
2050
2052
this . config . menuSettings . renderer = renderer ;
2051
2053
if ( type == null ) { type = "jax/mml" }
2054
+ if ( JAX . isUnknown ) JAX . Register ( type ) ;
2052
2055
var jax = this . outputJax ;
2053
2056
if ( jax [ type ] && jax [ type ] . length ) {
2054
2057
if ( renderer !== jax [ type ] [ 0 ] . id ) {
2055
- jax [ type ] . unshift ( MathJax . OutputJax [ renderer ] ) ;
2058
+ jax [ type ] . unshift ( JAX ) ;
2056
2059
return this . signal . Post ( [ "Renderer Selected" , renderer ] ) ;
2057
2060
}
2058
2061
}
@@ -2971,6 +2974,7 @@ MathJax.Hub.Startup = {
2971
2974
load = AJAX . Require ( file ) ;
2972
2975
return load ;
2973
2976
} ,
2977
+ Process : function ( state ) { throw Error ( this . id + " output jax failed to load properly" ) } ,
2974
2978
Register : function ( mimetype ) {
2975
2979
var jax = HUB . outputJax ;
2976
2980
if ( ! jax [ mimetype ] ) { jax [ mimetype ] = [ ] }
0 commit comments