MathML转换成图片方法
1. MathML介绍
MathML是什么就不解释了,请参考:
1. IBM:https://www.ibm.com/developerworks/cn/xml/x-mathml3/
2.Wiki百科:http://zh.wikipedia.org/zh/%E6%95%B0%E5%AD%A6%E7%BD%AE%E6%A0%87%E8%AF%AD%E8%A8%80
2.需求最近在翻译《High Performance Browser Networking》时,里面有很多的公式采用的是MathML编辑的,但是CSDN这个编辑器不支持MathML,因此复杂的公式无法在博客中展现,研究了一下,发现有一个开源工具jeuclid可以支持将mathML公式转换成各种格式的图片,且支持多种配置,使用起来比较方便。
比如下面这个公式(因为CSDN不支持MathML,只好采用截图)

其对应的MathML描述应该是:
usage: mml2xxx <source file(s)> <target file/directory> [options]source is the path to the source file (MathML or ODF format)target is the path to the target file / directoryIf multiple source files are given, target must be a directory-antiAlias <boolean> anti-alias mode [default: true]-antiAliasMinSize <float> minimum font size for which anti-aliasis turned on [default: 10.0]-backgroundColor <color> default background color(mathbackground)-debug <boolean> debug mode - if on, elements will haveborders drawn around them [default:false]-display <BLOCK|INLINE> display style [default: BLOCK]-fontsDoublestruck <list> list of font families for Double-Struck[default: MSBM10, Mathematica7, CaslonOpen Face, Caslon Openface, CloisterOpen Face, Academy Engraved LET,Colonna MT, Imprint MT Shadow]-fontsFraktur <list> list of font families for Fraktur[default: EUFM10, Mathematica6,FetteFraktur, Fette Fraktur, EuclidFraktur, Lucida Blackletter, BlackmoorLET]-fontSize <float> font size used for the output(mathsize) [default: 12.0]-fontsMonospaced <list> list of font families for Monospaced[default: Andale Mono, Courier, CourierMono, Courier New, Lucida SansTypewriter, DejaVu Sans Mono,DejaVuSansMono, Bitstream Vera SansMono, Luxi Mono, FreeMono, monospaced]-fontsSansSerif <list> list of font families for Sans-Serif[default: Verdana, Helvetica, Arial,Arial Unicode MS, Lucida Sans Unicode,Lucida Sans, Lucida Grande, DejaVuSans, DejaVuSans, Bitstream Vera Sans,Luxi Sans, FreeSans, sansserif]-fontsScript <list> list of font families for Script[default: EUSM10, cmsy10, Math5,Mathematica5, Savoye LET, Brush ScriptMT, Zapfino, Apple Chancery, EdwardianScript ITC, Lucida Handwriting,Monotype Corsiva, Santa Fe LET]-fontsSerif <list> list of font families for Serif[default: Constantina, Cambria, Times,Times New Roman, Lucida Bright, DejaVuSerif, DejaVuSerif, Bitstream VeraSerif, Luxi Serif, FreeSerif, serif]-foregroundColor <color> default foreground color (mathcolor)[default: black]-mfracKeepScriptLevel <boolean> if true, <mfrac> element will NEVERincrease children's scriptlevel (inviolation of the spec) [default: false]-outFileType <arg> output file mime type [default: derivedfrom the target file's extention];available values are:application/postscript image/x-pngapplication/x-shockwave-flashimage/x-portable-pixmapimage/vnd.wap.wbmp image/x-gifimage/svg+xml image/jpeg image/pngimage/x-raw image/gif image/bmpimage/x-emf application/pdf-scriptLevel <integer> script level [default: 0]-scriptMinSize <float> font size to be used for smallestscript [default: 8.0]-scriptSizeMult <float> script size multiplier [default: 0.71]Example: mml2xxx a.mml a.png -backgroundColor white将上面的MathML保存成一个XML文件(文件后缀名其实可以任意),执行脚本
mml2xxx.bat 1.xml 1.png -fontSize 36.0 -backgroundColor gray
可以得到如下图片
效果还不错,更多的效果,等待你自己去发现。