@@ -31,7 +31,7 @@ var path = require('path');
3131var url = require ( 'url' ) ;
3232var fmt = require ( 'util' ) . format ;
3333var jsdom = require ( "jsdom" ) . jsdom ;
34- var exec = require ( 'child_process' ) . exec ;
34+ var execFile = require ( 'child_process' ) . execFile ;
3535var speech = require ( 'speech-rule-engine' ) ;
3636var os = require ( 'os' ) ;
3737
@@ -664,7 +664,7 @@ function MakeIMG() {
664664function MakePNG ( ) {
665665 if ( data . renderer === "PNG" ) {
666666 var synch = MathJax . Callback ( function ( ) { } ) ; // for synchronization with MathJax
667- var batikCommand = fmt ( "java -jar %s -dpi %d '%s.svg'" , BatikRasterizerPath , data . dpi , tmpfile ) ;
667+ var batikCommands = [ ' -jar' , BatikRasterizerPath , ' -dpi' , data . dpi , tmpfile + '.svg' ] ;
668668 var tmpSVG = tmpfile + ".svg" , tmpPNG = tmpfile + ".png" ;
669669 var nodes = document . getElementsByClassName ( "MathJax_SVG" ) ;
670670 var check = function ( err ) { if ( err ) { AddError ( err . message ) ; return true } }
@@ -682,7 +682,7 @@ function MakePNG() {
682682 ] . join ( "\n" ) ;
683683 fs . writeFile ( tmpSVG , svg , function ( err ) {
684684 if ( check ( err ) ) return PNG ( i - 1 ) ;
685- exec ( batikCommand , function ( err , stdout , stderr ) {
685+ execFile ( 'java' , batikCommands , function ( err , stdout , stderr ) {
686686 if ( check ( err ) ) { fs . unlinkSync ( tmpSVG ) ; return PNG ( i - 1 ) }
687687 fs . readFile ( tmpPNG , null , function ( err , buffer ) {
688688 if ( ! check ( err ) ) {
0 commit comments