From a36b0e04d8ff03365bfc80d307d4e5cf06a16709 Mon Sep 17 00:00:00 2001 From: Brion Vibber Date: Tue, 6 Dec 2011 01:17:35 +0000 Subject: [PATCH] Initial experimental import of MathJax source into Math extension as a client-side rendering supplement to the PNG rendering. * Pulled in MathJax 1.1 (minus the 112 megabytes of PNG "fonts") * Pulled in some of bits for initialization This doesn't currently override PNG images, but does replace the text-form if you configure it. --- Math.hooks.php | 8 +- Math.php | 30 + README | 9 + .../MathJax-custom/extensions/TeX/texvc.js | 92 + modules/MathJax-custom/extensions/wiki2jax.js | 128 + modules/MathJax/LICENSE | 202 ++ modules/MathJax/MathJax.js | 2096 +++++++++++++++ modules/MathJax/README-branch.txt | 1 + modules/MathJax/README.md | 52 + modules/MathJax/config/Accessible-full.js | 30 + modules/MathJax/config/Accessible.js | 30 + modules/MathJax/config/MML_HTMLorMML-full.js | 21 + modules/MathJax/config/MML_HTMLorMML.js | 21 + modules/MathJax/config/MMLorHTML.js | 101 + .../config/TeX-AMS-MML_HTMLorMML-full.js | 21 + .../MathJax/config/TeX-AMS-MML_HTMLorMML.js | 21 + modules/MathJax/config/TeX-AMS_HTML-full.js | 20 + modules/MathJax/config/TeX-AMS_HTML.js | 20 + modules/MathJax/config/default.js | 606 +++++ modules/MathJax/config/local/local.js | 37 + modules/MathJax/extensions/FontWarnings.js | 286 ++ modules/MathJax/extensions/MathMenu.js | 794 ++++++ modules/MathJax/extensions/MathZoom.js | 409 +++ modules/MathJax/extensions/TeX/AMSmath.js | 394 +++ modules/MathJax/extensions/TeX/AMSsymbols.js | 390 +++ modules/MathJax/extensions/TeX/HTML.js | 96 + modules/MathJax/extensions/TeX/autobold.js | 45 + modules/MathJax/extensions/TeX/boldsymbol.js | 110 + modules/MathJax/extensions/TeX/mathchoice.js | 67 + modules/MathJax/extensions/TeX/newcommand.js | 190 ++ modules/MathJax/extensions/TeX/noErrors.js | 222 ++ modules/MathJax/extensions/TeX/noUndefined.js | 65 + modules/MathJax/extensions/TeX/unicode.js | 132 + modules/MathJax/extensions/TeX/verb.js | 55 + modules/MathJax/extensions/jsMath2jax.js | 95 + modules/MathJax/extensions/mml2jax.js | 190 ++ modules/MathJax/extensions/tex2jax.js | 269 ++ modules/MathJax/extensions/toMathML.js | 149 ++ modules/MathJax/extensions/v1.0-warning.js | 92 + .../HTML-CSS/TeX/eot/MathJax_AMS-Regular.eot | Bin 0 -> 60356 bytes .../TeX/eot/MathJax_Caligraphic-Bold.eot | Bin 0 -> 12476 bytes .../TeX/eot/MathJax_Caligraphic-Regular.eot | Bin 0 -> 12340 bytes .../HTML-CSS/TeX/eot/MathJax_Fraktur-Bold.eot | Bin 0 -> 26120 bytes .../TeX/eot/MathJax_Fraktur-Regular.eot | Bin 0 -> 25512 bytes .../HTML-CSS/TeX/eot/MathJax_Main-Bold.eot | Bin 0 -> 48572 bytes .../HTML-CSS/TeX/eot/MathJax_Main-Italic.eot | Bin 0 -> 28836 bytes .../HTML-CSS/TeX/eot/MathJax_Main-Regular.eot | Bin 0 -> 49684 bytes .../TeX/eot/MathJax_Math-BoldItalic.eot | Bin 0 -> 26330 bytes .../HTML-CSS/TeX/eot/MathJax_Math-Italic.eot | Bin 0 -> 26776 bytes .../HTML-CSS/TeX/eot/MathJax_Math-Regular.eot | Bin 0 -> 26712 bytes .../TeX/eot/MathJax_SansSerif-Bold.eot | Bin 0 -> 21936 bytes .../TeX/eot/MathJax_SansSerif-Italic.eot | Bin 0 -> 19428 bytes .../TeX/eot/MathJax_SansSerif-Regular.eot | Bin 0 -> 16660 bytes .../TeX/eot/MathJax_Script-Regular.eot | Bin 0 -> 14604 bytes .../TeX/eot/MathJax_Size1-Regular.eot | Bin 0 -> 10372 bytes .../TeX/eot/MathJax_Size2-Regular.eot | Bin 0 -> 9676 bytes .../TeX/eot/MathJax_Size3-Regular.eot | Bin 0 -> 5728 bytes .../TeX/eot/MathJax_Size4-Regular.eot | Bin 0 -> 8484 bytes .../TeX/eot/MathJax_Typewriter-Regular.eot | Bin 0 -> 24664 bytes .../TeX/eot/MathJax_WinIE6-Regular.eot | Bin 0 -> 29692 bytes .../HTML-CSS/TeX/otf/MathJax_AMS-Regular.otf | Bin 0 -> 58528 bytes .../TeX/otf/MathJax_Caligraphic-Bold.otf | Bin 0 -> 12348 bytes .../TeX/otf/MathJax_Caligraphic-Regular.otf | Bin 0 -> 12024 bytes .../HTML-CSS/TeX/otf/MathJax_Fraktur-Bold.otf | Bin 0 -> 26896 bytes .../TeX/otf/MathJax_Fraktur-Regular.otf | Bin 0 -> 25872 bytes .../HTML-CSS/TeX/otf/MathJax_Main-Bold.otf | Bin 0 -> 46808 bytes .../HTML-CSS/TeX/otf/MathJax_Main-Italic.otf | Bin 0 -> 28152 bytes .../HTML-CSS/TeX/otf/MathJax_Main-Regular.otf | Bin 0 -> 47652 bytes .../TeX/otf/MathJax_Math-BoldItalic.otf | Bin 0 -> 27096 bytes .../HTML-CSS/TeX/otf/MathJax_Math-Italic.otf | Bin 0 -> 26388 bytes .../HTML-CSS/TeX/otf/MathJax_Math-Regular.otf | Bin 0 -> 26332 bytes .../TeX/otf/MathJax_SansSerif-Bold.otf | Bin 0 -> 22160 bytes .../TeX/otf/MathJax_SansSerif-Italic.otf | Bin 0 -> 18576 bytes .../TeX/otf/MathJax_SansSerif-Regular.otf | Bin 0 -> 15924 bytes .../TeX/otf/MathJax_Script-Regular.otf | Bin 0 -> 14620 bytes .../TeX/otf/MathJax_Size1-Regular.otf | Bin 0 -> 8248 bytes .../TeX/otf/MathJax_Size2-Regular.otf | Bin 0 -> 7604 bytes .../TeX/otf/MathJax_Size3-Regular.otf | Bin 0 -> 4712 bytes .../TeX/otf/MathJax_Size4-Regular.otf | Bin 0 -> 7364 bytes .../TeX/otf/MathJax_Typewriter-Regular.otf | Bin 0 -> 24184 bytes .../TeX/otf/MathJax_WinChrome-Regular.otf | Bin 0 -> 4408 bytes .../TeX/otf/MathJax_WinIE6-Regular.otf | Bin 0 -> 28096 bytes .../HTML-CSS/TeX/svg/MathJax_AMS-Regular.svg | 765 ++++++ .../TeX/svg/MathJax_Caligraphic-Bold.svg | 136 + .../TeX/svg/MathJax_Caligraphic-Regular.svg | 134 + .../HTML-CSS/TeX/svg/MathJax_Fraktur-Bold.svg | 319 +++ .../TeX/svg/MathJax_Fraktur-Regular.svg | 309 +++ .../HTML-CSS/TeX/svg/MathJax_Main-Bold.svg | 656 +++++ .../HTML-CSS/TeX/svg/MathJax_Main-Italic.svg | 374 +++ .../HTML-CSS/TeX/svg/MathJax_Main-Regular.svg | 659 +++++ .../TeX/svg/MathJax_Math-BoldItalic.svg | 331 +++ .../HTML-CSS/TeX/svg/MathJax_Math-Italic.svg | 331 +++ .../HTML-CSS/TeX/svg/MathJax_Math-Regular.svg | 330 +++ .../TeX/svg/MathJax_SansSerif-Bold.svg | 280 ++ .../TeX/svg/MathJax_SansSerif-Italic.svg | 245 ++ .../TeX/svg/MathJax_SansSerif-Regular.svg | 211 ++ .../TeX/svg/MathJax_Script-Regular.svg | 160 ++ .../TeX/svg/MathJax_Size1-Regular.svg | 110 + .../TeX/svg/MathJax_Size2-Regular.svg | 109 + .../TeX/svg/MathJax_Size3-Regular.svg | 49 + .../TeX/svg/MathJax_Size4-Regular.svg | 102 + .../TeX/svg/MathJax_Typewriter-Regular.svg | 322 +++ .../TeX/svg/MathJax_WinChrome-Regular.svg | 39 + modules/MathJax/jax/element/mml/jax.js | 1554 +++++++++++ .../MathJax/jax/element/mml/optable/Arrows.js | 122 + .../jax/element/mml/optable/BasicLatin.js | 58 + .../element/mml/optable/CombDiacritMarks.js | 35 + .../mml/optable/CombDiactForSymbols.js | 35 + .../jax/element/mml/optable/Dingbats.js | 35 + .../element/mml/optable/GeneralPunctuation.js | 40 + .../element/mml/optable/GeometricShapes.js | 66 + .../jax/element/mml/optable/GreekAndCoptic.js | 35 + .../element/mml/optable/Latin1Supplement.js | 37 + .../element/mml/optable/LetterlikeSymbols.js | 39 + .../jax/element/mml/optable/MathOperators.js | 228 ++ .../element/mml/optable/MiscMathSymbolsA.js | 38 + .../element/mml/optable/MiscMathSymbolsB.js | 167 ++ .../jax/element/mml/optable/MiscTechnical.js | 38 + .../element/mml/optable/SpacingModLetters.js | 36 + .../element/mml/optable/SuppMathOperators.js | 289 +++ .../mml/optable/SupplementalArrowsB.js | 162 ++ modules/MathJax/jax/input/MathML/config.js | 38 + .../MathJax/jax/input/MathML/entities/a.js | 90 + .../MathJax/jax/input/MathML/entities/b.js | 116 + .../MathJax/jax/input/MathML/entities/c.js | 114 + .../MathJax/jax/input/MathML/entities/d.js | 112 + .../MathJax/jax/input/MathML/entities/e.js | 92 + .../MathJax/jax/input/MathML/entities/f.js | 60 + .../MathJax/jax/input/MathML/entities/fr.js | 79 + .../MathJax/jax/input/MathML/entities/g.js | 83 + .../MathJax/jax/input/MathML/entities/h.js | 52 + .../MathJax/jax/input/MathML/entities/i.js | 86 + .../MathJax/jax/input/MathML/entities/j.js | 35 + .../MathJax/jax/input/MathML/entities/k.js | 37 + .../MathJax/jax/input/MathML/entities/l.js | 179 ++ .../MathJax/jax/input/MathML/entities/m.js | 61 + .../MathJax/jax/input/MathML/entities/n.js | 220 ++ .../MathJax/jax/input/MathML/entities/o.js | 90 + .../MathJax/jax/input/MathML/entities/opf.js | 79 + .../MathJax/jax/input/MathML/entities/p.js | 84 + .../MathJax/jax/input/MathML/entities/q.js | 35 + .../MathJax/jax/input/MathML/entities/r.js | 138 + .../MathJax/jax/input/MathML/entities/s.js | 170 ++ .../MathJax/jax/input/MathML/entities/scr.js | 79 + .../MathJax/jax/input/MathML/entities/t.js | 86 + .../MathJax/jax/input/MathML/entities/u.js | 92 + .../MathJax/jax/input/MathML/entities/v.js | 73 + .../MathJax/jax/input/MathML/entities/w.js | 35 + .../MathJax/jax/input/MathML/entities/x.js | 47 + .../MathJax/jax/input/MathML/entities/y.js | 41 + .../MathJax/jax/input/MathML/entities/z.js | 42 + modules/MathJax/jax/input/MathML/jax.js | 619 +++++ modules/MathJax/jax/input/TeX/config.js | 39 + modules/MathJax/jax/input/TeX/jax.js | 1760 +++++++++++++ .../HTML-CSS/autoload/annotation-xml.js | 58 + .../jax/output/HTML-CSS/autoload/maction.js | 202 ++ .../jax/output/HTML-CSS/autoload/menclose.js | 273 ++ .../jax/output/HTML-CSS/autoload/mglyph.js | 109 + .../output/HTML-CSS/autoload/mmultiscripts.js | 145 ++ .../jax/output/HTML-CSS/autoload/ms.js | 53 + .../jax/output/HTML-CSS/autoload/mtable.js | 438 ++++ .../jax/output/HTML-CSS/autoload/multiline.js | 96 + modules/MathJax/jax/output/HTML-CSS/blank.gif | Bin 0 -> 43 bytes modules/MathJax/jax/output/HTML-CSS/config.js | 143 + .../STIX/General/Bold/AlphaPresentForms.js | 32 + .../fonts/STIX/General/Bold/Arrows.js | 109 + .../fonts/STIX/General/Bold/BoldFraktur.js | 79 + .../fonts/STIX/General/Bold/BoxDrawing.js | 67 + .../STIX/General/Bold/CombDiacritMarks.js | 98 + .../STIX/General/Bold/CombDiactForSymbols.js | 49 + .../STIX/General/Bold/ControlPictures.js | 28 + .../STIX/General/Bold/CurrencySymbols.js | 31 + .../fonts/STIX/General/Bold/Cyrillic.js | 129 + .../STIX/General/Bold/EnclosedAlphanum.js | 89 + .../STIX/General/Bold/GeneralPunctuation.js | 67 + .../STIX/General/Bold/GeometricShapes.js | 33 + .../fonts/STIX/General/Bold/GreekAndCoptic.js | 109 + .../fonts/STIX/General/Bold/GreekBold.js | 85 + .../fonts/STIX/General/Bold/GreekSSBold.js | 85 + .../fonts/STIX/General/Bold/IPAExtensions.js | 116 + .../STIX/General/Bold/Latin1Supplement.js | 123 + .../fonts/STIX/General/Bold/LatinExtendedA.js | 155 ++ .../General/Bold/LatinExtendedAdditional.js | 35 + .../fonts/STIX/General/Bold/LatinExtendedB.js | 59 + .../STIX/General/Bold/LetterlikeSymbols.js | 70 + .../HTML-CSS/fonts/STIX/General/Bold/Main.js | 172 ++ .../fonts/STIX/General/Bold/MathBold.js | 89 + .../fonts/STIX/General/Bold/MathOperators.js | 260 ++ .../fonts/STIX/General/Bold/MathSSBold.js | 89 + .../STIX/General/Bold/MiscMathSymbolsA.js | 31 + .../STIX/General/Bold/MiscMathSymbolsB.js | 37 + .../fonts/STIX/General/Bold/MiscSymbols.js | 30 + .../fonts/STIX/General/Bold/MiscTechnical.js | 42 + .../fonts/STIX/General/Bold/NumberForms.js | 39 + .../STIX/General/Bold/PhoneticExtensions.js | 30 + .../STIX/General/Bold/SpacingModLetters.js | 87 + .../STIX/General/Bold/SuperAndSubscripts.js | 28 + .../STIX/General/Bold/SuppMathOperators.js | 84 + .../General/BoldItalic/AlphaPresentForms.js | 32 + .../STIX/General/BoldItalic/BasicLatin.js | 122 + .../STIX/General/BoldItalic/BoxDrawing.js | 67 + .../General/BoldItalic/CombDiactForSymbols.js | 28 + .../General/BoldItalic/ControlPictures.js | 28 + .../General/BoldItalic/CurrencySymbols.js | 31 + .../fonts/STIX/General/BoldItalic/Cyrillic.js | 129 + .../General/BoldItalic/EnclosedAlphanum.js | 89 + .../General/BoldItalic/GeneralPunctuation.js | 50 + .../STIX/General/BoldItalic/GreekAndCoptic.js | 119 + .../General/BoldItalic/GreekBoldItalic.js | 85 + .../General/BoldItalic/GreekSSBoldItalic.js | 85 + .../STIX/General/BoldItalic/IPAExtensions.js | 116 + .../General/BoldItalic/Latin1Supplement.js | 123 + .../STIX/General/BoldItalic/LatinExtendedA.js | 155 ++ .../BoldItalic/LatinExtendedAdditional.js | 35 + .../STIX/General/BoldItalic/LatinExtendedB.js | 59 + .../General/BoldItalic/LetterlikeSymbols.js | 56 + .../fonts/STIX/General/BoldItalic/Main.js | 56 + .../STIX/General/BoldItalic/MathBoldItalic.js | 79 + .../STIX/General/BoldItalic/MathBoldScript.js | 79 + .../STIX/General/BoldItalic/MathOperators.js | 29 + .../General/BoldItalic/MathSSItalicBold.js | 79 + .../General/BoldItalic/SpacingModLetters.js | 54 + .../STIX/General/Italic/AlphaPresentForms.js | 32 + .../fonts/STIX/General/Italic/BoxDrawing.js | 67 + .../General/Italic/CombDiactForSymbols.js | 47 + .../STIX/General/Italic/ControlPictures.js | 28 + .../STIX/General/Italic/CurrencySymbols.js | 31 + .../fonts/STIX/General/Italic/Cyrillic.js | 129 + .../STIX/General/Italic/EnclosedAlphanum.js | 89 + .../STIX/General/Italic/GeneralPunctuation.js | 50 + .../STIX/General/Italic/GreekAndCoptic.js | 78 + .../fonts/STIX/General/Italic/GreekItalic.js | 85 + .../STIX/General/Italic/IPAExtensions.js | 116 + .../STIX/General/Italic/Latin1Supplement.js | 123 + .../STIX/General/Italic/LatinExtendedA.js | 154 ++ .../General/Italic/LatinExtendedAdditional.js | 35 + .../STIX/General/Italic/LatinExtendedB.js | 58 + .../STIX/General/Italic/LetterlikeSymbols.js | 56 + .../fonts/STIX/General/Italic/Main.js | 192 ++ .../fonts/STIX/General/Italic/MathItalic.js | 78 + .../STIX/General/Italic/MathOperators.js | 29 + .../fonts/STIX/General/Italic/MathSSItalic.js | 79 + .../fonts/STIX/General/Italic/MathScript.js | 68 + .../STIX/General/Italic/SpacingModLetters.js | 54 + .../HTML-CSS/fonts/STIX/General/Italic/ij.js | 29 + .../STIX/General/Regular/AlphaPresentForms.js | 32 + .../fonts/STIX/General/Regular/Arrows.js | 106 + .../fonts/STIX/General/Regular/BBBold.js | 82 + .../STIX/General/Regular/BlockElements.js | 35 + .../fonts/STIX/General/Regular/BoldFraktur.js | 79 + .../fonts/STIX/General/Regular/BoxDrawing.js | 72 + .../fonts/STIX/General/Regular/CJK.js | 29 + .../STIX/General/Regular/CombDiacritMarks.js | 86 + .../General/Regular/CombDiactForSymbols.js | 50 + .../STIX/General/Regular/ControlPictures.js | 28 + .../STIX/General/Regular/CurrencySymbols.js | 31 + .../fonts/STIX/General/Regular/Cyrillic.js | 129 + .../fonts/STIX/General/Regular/Dingbats.js | 57 + .../STIX/General/Regular/EnclosedAlphanum.js | 89 + .../fonts/STIX/General/Regular/Fraktur.js | 74 + .../General/Regular/GeneralPunctuation.js | 68 + .../STIX/General/Regular/GeometricShapes.js | 118 + .../STIX/General/Regular/GreekAndCoptic.js | 109 + .../fonts/STIX/General/Regular/GreekBold.js | 85 + .../STIX/General/Regular/GreekBoldItalic.js | 85 + .../fonts/STIX/General/Regular/GreekItalic.js | 85 + .../fonts/STIX/General/Regular/GreekSSBold.js | 85 + .../STIX/General/Regular/GreekSSBoldItalic.js | 85 + .../fonts/STIX/General/Regular/Hiragana.js | 28 + .../STIX/General/Regular/IPAExtensions.js | 118 + .../STIX/General/Regular/Latin1Supplement.js | 115 + .../STIX/General/Regular/LatinExtendedA.js | 154 ++ .../Regular/LatinExtendedAdditional.js | 35 + .../STIX/General/Regular/LatinExtendedB.js | 63 + .../STIX/General/Regular/LatinExtendedD.js | 28 + .../STIX/General/Regular/LetterlikeSymbols.js | 83 + .../fonts/STIX/General/Regular/Main.js | 380 +++ .../fonts/STIX/General/Regular/MathBold.js | 89 + .../STIX/General/Regular/MathBoldItalic.js | 79 + .../STIX/General/Regular/MathBoldScript.js | 79 + .../fonts/STIX/General/Regular/MathItalic.js | 78 + .../STIX/General/Regular/MathOperators.js | 207 ++ .../fonts/STIX/General/Regular/MathSS.js | 89 + .../fonts/STIX/General/Regular/MathSSBold.js | 90 + .../STIX/General/Regular/MathSSItalic.js | 79 + .../STIX/General/Regular/MathSSItalicBold.js | 79 + .../fonts/STIX/General/Regular/MathScript.js | 68 + .../fonts/STIX/General/Regular/MathTT.js | 88 + .../STIX/General/Regular/MiscMathSymbolsA.js | 66 + .../STIX/General/Regular/MiscMathSymbolsB.js | 154 ++ .../fonts/STIX/General/Regular/MiscSymbols.js | 74 + .../General/Regular/MiscSymbolsAndArrows.js | 91 + .../STIX/General/Regular/MiscTechnical.js | 80 + .../fonts/STIX/General/Regular/NumberForms.js | 39 + .../General/Regular/PhoneticExtensions.js | 36 + .../STIX/General/Regular/SpacingModLetters.js | 79 + .../fonts/STIX/General/Regular/Specials.js | 28 + .../General/Regular/SuperAndSubscripts.js | 28 + .../STIX/General/Regular/SuppMathOperators.js | 271 ++ .../General/Regular/SupplementalArrowsA.js | 35 + .../General/Regular/SupplementalArrowsB.js | 155 ++ .../HTML-CSS/fonts/STIX/General/Regular/ij.js | 29 + .../fonts/STIX/IntegralsD/Bold/All.js | 55 + .../fonts/STIX/IntegralsD/Regular/All.js | 54 + .../fonts/STIX/IntegralsD/Regular/Main.js | 36 + .../fonts/STIX/IntegralsSm/Bold/All.js | 55 + .../fonts/STIX/IntegralsSm/Regular/All.js | 54 + .../fonts/STIX/IntegralsSm/Regular/Main.js | 36 + .../fonts/STIX/IntegralsUp/Bold/All.js | 55 + .../fonts/STIX/IntegralsUp/Regular/All.js | 54 + .../fonts/STIX/IntegralsUp/Regular/Main.js | 36 + .../fonts/STIX/IntegralsUpD/Bold/All.js | 55 + .../fonts/STIX/IntegralsUpD/Regular/All.js | 54 + .../fonts/STIX/IntegralsUpD/Regular/Main.js | 36 + .../fonts/STIX/IntegralsUpSm/Bold/All.js | 55 + .../fonts/STIX/IntegralsUpSm/Regular/All.js | 54 + .../fonts/STIX/IntegralsUpSm/Regular/Main.js | 36 + .../fonts/STIX/NonUnicode/Bold/All.js | 29 + .../fonts/STIX/NonUnicode/Bold/Main.js | 35 + .../fonts/STIX/NonUnicode/Bold/PrivateUse.js | 182 ++ .../fonts/STIX/NonUnicode/BoldItalic/All.js | 29 + .../fonts/STIX/NonUnicode/BoldItalic/Main.js | 36 + .../STIX/NonUnicode/BoldItalic/PrivateUse.js | 215 ++ .../fonts/STIX/NonUnicode/Italic/All.js | 29 + .../fonts/STIX/NonUnicode/Italic/Main.js | 60 + .../STIX/NonUnicode/Italic/PrivateUse.js | 242 ++ .../fonts/STIX/NonUnicode/Regular/All.js | 29 + .../fonts/STIX/NonUnicode/Regular/Main.js | 57 + .../STIX/NonUnicode/Regular/PrivateUse.js | 387 +++ .../fonts/STIX/SizeFiveSym/Regular/All.js | 51 + .../fonts/STIX/SizeFiveSym/Regular/Main.js | 43 + .../fonts/STIX/SizeFourSym/Bold/Main.js | 46 + .../fonts/STIX/SizeFourSym/Regular/All.js | 63 + .../fonts/STIX/SizeFourSym/Regular/Main.js | 62 + .../fonts/STIX/SizeOneSym/Bold/All.js | 28 + .../fonts/STIX/SizeOneSym/Bold/Main.js | 52 + .../fonts/STIX/SizeOneSym/Regular/All.js | 77 + .../fonts/STIX/SizeOneSym/Regular/Main.js | 105 + .../fonts/STIX/SizeThreeSym/Bold/Main.js | 46 + .../fonts/STIX/SizeThreeSym/Regular/All.js | 63 + .../fonts/STIX/SizeThreeSym/Regular/Main.js | 62 + .../fonts/STIX/SizeTwoSym/Bold/Main.js | 46 + .../fonts/STIX/SizeTwoSym/Regular/All.js | 64 + .../fonts/STIX/SizeTwoSym/Regular/Main.js | 63 + .../HTML-CSS/fonts/STIX/Variants/Bold/All.js | 60 + .../HTML-CSS/fonts/STIX/Variants/Bold/Main.js | 44 + .../fonts/STIX/Variants/Regular/All.js | 120 + .../fonts/STIX/Variants/Regular/Main.js | 49 + .../HTML-CSS/fonts/STIX/fontdata-beta.js | 373 +++ .../output/HTML-CSS/fonts/STIX/fontdata.js | 1427 ++++++++++ .../HTML-CSS/fonts/TeX/AMS/Regular/Arrows.js | 65 + .../HTML-CSS/fonts/TeX/AMS/Regular/BBBold.js | 55 + .../fonts/TeX/AMS/Regular/BoxDrawing.js | 33 + .../fonts/TeX/AMS/Regular/CombDiacritMarks.js | 29 + .../fonts/TeX/AMS/Regular/Dingbats.js | 29 + .../fonts/TeX/AMS/Regular/EnclosedAlphanum.js | 28 + .../TeX/AMS/Regular/GeneralPunctuation.js | 28 + .../fonts/TeX/AMS/Regular/GeometricShapes.js | 36 + .../fonts/TeX/AMS/Regular/GreekAndCoptic.js | 29 + .../fonts/TeX/AMS/Regular/Latin1Supplement.js | 31 + .../fonts/TeX/AMS/Regular/LatinExtendedA.js | 28 + .../TeX/AMS/Regular/LetterlikeSymbols.js | 34 + .../HTML-CSS/fonts/TeX/AMS/Regular/Main.js | 52 + .../fonts/TeX/AMS/Regular/MathOperators.js | 138 + .../fonts/TeX/AMS/Regular/MiscMathSymbolsB.js | 28 + .../fonts/TeX/AMS/Regular/MiscSymbols.js | 28 + .../fonts/TeX/AMS/Regular/MiscTechnical.js | 29 + .../HTML-CSS/fonts/TeX/AMS/Regular/PUA.js | 43 + .../TeX/AMS/Regular/SpacingModLetters.js | 29 + .../TeX/AMS/Regular/SuppMathOperators.js | 50 + .../fonts/TeX/Caligraphic/Bold/Main.js | 97 + .../fonts/TeX/Caligraphic/Regular/Main.js | 96 + .../fonts/TeX/Fraktur/Bold/BasicLatin.js | 109 + .../HTML-CSS/fonts/TeX/Fraktur/Bold/Main.js | 37 + .../HTML-CSS/fonts/TeX/Fraktur/Bold/Other.js | 30 + .../HTML-CSS/fonts/TeX/Fraktur/Bold/PUA.js | 34 + .../fonts/TeX/Fraktur/Regular/BasicLatin.js | 109 + .../fonts/TeX/Fraktur/Regular/Main.js | 36 + .../fonts/TeX/Fraktur/Regular/Other.js | 30 + .../HTML-CSS/fonts/TeX/Fraktur/Regular/PUA.js | 35 + .../HTML-CSS/fonts/TeX/Greek/Bold/Main.js | 44 + .../fonts/TeX/Greek/BoldItalic/Main.js | 111 + .../HTML-CSS/fonts/TeX/Greek/Italic/Main.js | 110 + .../HTML-CSS/fonts/TeX/Greek/Regular/Main.js | 43 + .../HTML-CSS/fonts/TeX/Main/Bold/Arrows.js | 51 + .../fonts/TeX/Main/Bold/CombDiacritMarks.js | 39 + .../TeX/Main/Bold/CombDiactForSymbols.js | 28 + .../fonts/TeX/Main/Bold/GeneralPunctuation.js | 44 + .../fonts/TeX/Main/Bold/GeometricShapes.js | 32 + .../fonts/TeX/Main/Bold/Latin1Supplement.js | 36 + .../fonts/TeX/Main/Bold/LatinExtendedA.js | 28 + .../fonts/TeX/Main/Bold/LatinExtendedB.js | 28 + .../fonts/TeX/Main/Bold/LetterlikeSymbols.js | 33 + .../HTML-CSS/fonts/TeX/Main/Bold/Main.js | 162 ++ .../fonts/TeX/Main/Bold/MathOperators.js | 94 + .../fonts/TeX/Main/Bold/MiscMathSymbolsA.js | 29 + .../fonts/TeX/Main/Bold/MiscSymbols.js | 34 + .../fonts/TeX/Main/Bold/MiscTechnical.js | 33 + .../fonts/TeX/Main/Bold/SpacingModLetters.js | 36 + .../fonts/TeX/Main/Bold/SuppMathOperators.js | 30 + .../TeX/Main/Bold/SupplementalArrowsA.js | 34 + .../fonts/TeX/Main/Italic/CombDiacritMarks.js | 38 + .../TeX/Main/Italic/GeneralPunctuation.js | 33 + .../fonts/TeX/Main/Italic/Latin1Supplement.js | 28 + .../TeX/Main/Italic/LetterlikeSymbols.js | 28 + .../HTML-CSS/fonts/TeX/Main/Italic/Main.js | 138 + .../TeX/Main/Regular/CombDiacritMarks.js | 39 + .../fonts/TeX/Main/Regular/GeometricShapes.js | 32 + .../HTML-CSS/fonts/TeX/Main/Regular/Main.js | 305 +++ .../fonts/TeX/Main/Regular/MiscSymbols.js | 34 + .../TeX/Main/Regular/SpacingModLetters.js | 28 + .../fonts/TeX/Math/BoldItalic/Main.js | 206 ++ .../HTML-CSS/fonts/TeX/Math/Italic/Main.js | 205 ++ .../fonts/TeX/SansSerif/Bold/BasicLatin.js | 115 + .../TeX/SansSerif/Bold/CombDiacritMarks.js | 38 + .../HTML-CSS/fonts/TeX/SansSerif/Bold/Main.js | 37 + .../fonts/TeX/SansSerif/Bold/Other.js | 47 + .../fonts/TeX/SansSerif/Italic/BasicLatin.js | 115 + .../TeX/SansSerif/Italic/CombDiacritMarks.js | 38 + .../fonts/TeX/SansSerif/Italic/Main.js | 37 + .../fonts/TeX/SansSerif/Italic/Other.js | 47 + .../fonts/TeX/SansSerif/Regular/BasicLatin.js | 115 + .../TeX/SansSerif/Regular/CombDiacritMarks.js | 38 + .../fonts/TeX/SansSerif/Regular/Main.js | 36 + .../fonts/TeX/SansSerif/Regular/Other.js | 47 + .../fonts/TeX/Script/Regular/BasicLatin.js | 54 + .../HTML-CSS/fonts/TeX/Script/Regular/Main.js | 63 + .../fonts/TeX/Script/Regular/Other.js | 28 + .../HTML-CSS/fonts/TeX/Size1/Regular/Main.js | 75 + .../HTML-CSS/fonts/TeX/Size2/Regular/Main.js | 67 + .../HTML-CSS/fonts/TeX/Size3/Regular/Main.js | 51 + .../HTML-CSS/fonts/TeX/Size4/Regular/Main.js | 78 + .../TeX/Typewriter/Regular/BasicLatin.js | 123 + .../Typewriter/Regular/CombDiacritMarks.js | 36 + .../fonts/TeX/Typewriter/Regular/Main.js | 36 + .../fonts/TeX/Typewriter/Regular/Other.js | 44 + .../fonts/TeX/WinChrome/Regular/Main.js | 44 + .../HTML-CSS/fonts/TeX/WinIE6/Regular/AMS.js | 56 + .../HTML-CSS/fonts/TeX/WinIE6/Regular/Bold.js | 82 + .../HTML-CSS/fonts/TeX/WinIE6/Regular/Main.js | 112 + .../jax/output/HTML-CSS/fonts/TeX/fontdata.js | 1767 +++++++++++++ .../MathJax/jax/output/HTML-CSS/imageFonts.js | 196 ++ modules/MathJax/jax/output/HTML-CSS/jax.js | 2300 +++++++++++++++++ .../MathJax/jax/output/NativeMML/config.js | 48 + modules/MathJax/jax/output/NativeMML/jax.js | 512 ++++ modules/TeX-AMS-texvc_HTML.js | 288 +++ modules/ext.math.mathjax.enabler.js | 86 + 447 files changed, 49590 insertions(+), 5 deletions(-) create mode 100644 README create mode 100644 modules/MathJax-custom/extensions/TeX/texvc.js create mode 100644 modules/MathJax-custom/extensions/wiki2jax.js create mode 100644 modules/MathJax/LICENSE create mode 100644 modules/MathJax/MathJax.js create mode 100644 modules/MathJax/README-branch.txt create mode 100644 modules/MathJax/README.md create mode 100644 modules/MathJax/config/Accessible-full.js create mode 100644 modules/MathJax/config/Accessible.js create mode 100644 modules/MathJax/config/MML_HTMLorMML-full.js create mode 100644 modules/MathJax/config/MML_HTMLorMML.js create mode 100644 modules/MathJax/config/MMLorHTML.js create mode 100644 modules/MathJax/config/TeX-AMS-MML_HTMLorMML-full.js create mode 100644 modules/MathJax/config/TeX-AMS-MML_HTMLorMML.js create mode 100644 modules/MathJax/config/TeX-AMS_HTML-full.js create mode 100644 modules/MathJax/config/TeX-AMS_HTML.js create mode 100644 modules/MathJax/config/default.js create mode 100644 modules/MathJax/config/local/local.js create mode 100644 modules/MathJax/extensions/FontWarnings.js create mode 100644 modules/MathJax/extensions/MathMenu.js create mode 100644 modules/MathJax/extensions/MathZoom.js create mode 100644 modules/MathJax/extensions/TeX/AMSmath.js create mode 100644 modules/MathJax/extensions/TeX/AMSsymbols.js create mode 100644 modules/MathJax/extensions/TeX/HTML.js create mode 100644 modules/MathJax/extensions/TeX/autobold.js create mode 100644 modules/MathJax/extensions/TeX/boldsymbol.js create mode 100644 modules/MathJax/extensions/TeX/mathchoice.js create mode 100644 modules/MathJax/extensions/TeX/newcommand.js create mode 100644 modules/MathJax/extensions/TeX/noErrors.js create mode 100644 modules/MathJax/extensions/TeX/noUndefined.js create mode 100644 modules/MathJax/extensions/TeX/unicode.js create mode 100644 modules/MathJax/extensions/TeX/verb.js create mode 100644 modules/MathJax/extensions/jsMath2jax.js create mode 100644 modules/MathJax/extensions/mml2jax.js create mode 100644 modules/MathJax/extensions/tex2jax.js create mode 100644 modules/MathJax/extensions/toMathML.js create mode 100644 modules/MathJax/extensions/v1.0-warning.js create mode 100644 modules/MathJax/fonts/HTML-CSS/TeX/eot/MathJax_AMS-Regular.eot create mode 100644 modules/MathJax/fonts/HTML-CSS/TeX/eot/MathJax_Caligraphic-Bold.eot create mode 100644 modules/MathJax/fonts/HTML-CSS/TeX/eot/MathJax_Caligraphic-Regular.eot create mode 100644 modules/MathJax/fonts/HTML-CSS/TeX/eot/MathJax_Fraktur-Bold.eot create mode 100644 modules/MathJax/fonts/HTML-CSS/TeX/eot/MathJax_Fraktur-Regular.eot create mode 100644 modules/MathJax/fonts/HTML-CSS/TeX/eot/MathJax_Main-Bold.eot create mode 100644 modules/MathJax/fonts/HTML-CSS/TeX/eot/MathJax_Main-Italic.eot create mode 100644 modules/MathJax/fonts/HTML-CSS/TeX/eot/MathJax_Main-Regular.eot create mode 100644 modules/MathJax/fonts/HTML-CSS/TeX/eot/MathJax_Math-BoldItalic.eot create mode 100644 modules/MathJax/fonts/HTML-CSS/TeX/eot/MathJax_Math-Italic.eot create mode 100644 modules/MathJax/fonts/HTML-CSS/TeX/eot/MathJax_Math-Regular.eot create mode 100644 modules/MathJax/fonts/HTML-CSS/TeX/eot/MathJax_SansSerif-Bold.eot create mode 100644 modules/MathJax/fonts/HTML-CSS/TeX/eot/MathJax_SansSerif-Italic.eot create mode 100644 modules/MathJax/fonts/HTML-CSS/TeX/eot/MathJax_SansSerif-Regular.eot create mode 100644 modules/MathJax/fonts/HTML-CSS/TeX/eot/MathJax_Script-Regular.eot create mode 100644 modules/MathJax/fonts/HTML-CSS/TeX/eot/MathJax_Size1-Regular.eot create mode 100644 modules/MathJax/fonts/HTML-CSS/TeX/eot/MathJax_Size2-Regular.eot create mode 100644 modules/MathJax/fonts/HTML-CSS/TeX/eot/MathJax_Size3-Regular.eot create mode 100644 modules/MathJax/fonts/HTML-CSS/TeX/eot/MathJax_Size4-Regular.eot create mode 100644 modules/MathJax/fonts/HTML-CSS/TeX/eot/MathJax_Typewriter-Regular.eot create mode 100644 modules/MathJax/fonts/HTML-CSS/TeX/eot/MathJax_WinIE6-Regular.eot create mode 100644 modules/MathJax/fonts/HTML-CSS/TeX/otf/MathJax_AMS-Regular.otf create mode 100644 modules/MathJax/fonts/HTML-CSS/TeX/otf/MathJax_Caligraphic-Bold.otf create mode 100644 modules/MathJax/fonts/HTML-CSS/TeX/otf/MathJax_Caligraphic-Regular.otf create mode 100644 modules/MathJax/fonts/HTML-CSS/TeX/otf/MathJax_Fraktur-Bold.otf create mode 100644 modules/MathJax/fonts/HTML-CSS/TeX/otf/MathJax_Fraktur-Regular.otf create mode 100644 modules/MathJax/fonts/HTML-CSS/TeX/otf/MathJax_Main-Bold.otf create mode 100644 modules/MathJax/fonts/HTML-CSS/TeX/otf/MathJax_Main-Italic.otf create mode 100644 modules/MathJax/fonts/HTML-CSS/TeX/otf/MathJax_Main-Regular.otf create mode 100644 modules/MathJax/fonts/HTML-CSS/TeX/otf/MathJax_Math-BoldItalic.otf create mode 100644 modules/MathJax/fonts/HTML-CSS/TeX/otf/MathJax_Math-Italic.otf create mode 100644 modules/MathJax/fonts/HTML-CSS/TeX/otf/MathJax_Math-Regular.otf create mode 100644 modules/MathJax/fonts/HTML-CSS/TeX/otf/MathJax_SansSerif-Bold.otf create mode 100644 modules/MathJax/fonts/HTML-CSS/TeX/otf/MathJax_SansSerif-Italic.otf create mode 100644 modules/MathJax/fonts/HTML-CSS/TeX/otf/MathJax_SansSerif-Regular.otf create mode 100644 modules/MathJax/fonts/HTML-CSS/TeX/otf/MathJax_Script-Regular.otf create mode 100644 modules/MathJax/fonts/HTML-CSS/TeX/otf/MathJax_Size1-Regular.otf create mode 100644 modules/MathJax/fonts/HTML-CSS/TeX/otf/MathJax_Size2-Regular.otf create mode 100644 modules/MathJax/fonts/HTML-CSS/TeX/otf/MathJax_Size3-Regular.otf create mode 100644 modules/MathJax/fonts/HTML-CSS/TeX/otf/MathJax_Size4-Regular.otf create mode 100644 modules/MathJax/fonts/HTML-CSS/TeX/otf/MathJax_Typewriter-Regular.otf create mode 100644 modules/MathJax/fonts/HTML-CSS/TeX/otf/MathJax_WinChrome-Regular.otf create mode 100644 modules/MathJax/fonts/HTML-CSS/TeX/otf/MathJax_WinIE6-Regular.otf create mode 100644 modules/MathJax/fonts/HTML-CSS/TeX/svg/MathJax_AMS-Regular.svg create mode 100644 modules/MathJax/fonts/HTML-CSS/TeX/svg/MathJax_Caligraphic-Bold.svg create mode 100644 modules/MathJax/fonts/HTML-CSS/TeX/svg/MathJax_Caligraphic-Regular.svg create mode 100644 modules/MathJax/fonts/HTML-CSS/TeX/svg/MathJax_Fraktur-Bold.svg create mode 100644 modules/MathJax/fonts/HTML-CSS/TeX/svg/MathJax_Fraktur-Regular.svg create mode 100644 modules/MathJax/fonts/HTML-CSS/TeX/svg/MathJax_Main-Bold.svg create mode 100644 modules/MathJax/fonts/HTML-CSS/TeX/svg/MathJax_Main-Italic.svg create mode 100644 modules/MathJax/fonts/HTML-CSS/TeX/svg/MathJax_Main-Regular.svg create mode 100644 modules/MathJax/fonts/HTML-CSS/TeX/svg/MathJax_Math-BoldItalic.svg create mode 100644 modules/MathJax/fonts/HTML-CSS/TeX/svg/MathJax_Math-Italic.svg create mode 100644 modules/MathJax/fonts/HTML-CSS/TeX/svg/MathJax_Math-Regular.svg create mode 100644 modules/MathJax/fonts/HTML-CSS/TeX/svg/MathJax_SansSerif-Bold.svg create mode 100644 modules/MathJax/fonts/HTML-CSS/TeX/svg/MathJax_SansSerif-Italic.svg create mode 100644 modules/MathJax/fonts/HTML-CSS/TeX/svg/MathJax_SansSerif-Regular.svg create mode 100644 modules/MathJax/fonts/HTML-CSS/TeX/svg/MathJax_Script-Regular.svg create mode 100644 modules/MathJax/fonts/HTML-CSS/TeX/svg/MathJax_Size1-Regular.svg create mode 100644 modules/MathJax/fonts/HTML-CSS/TeX/svg/MathJax_Size2-Regular.svg create mode 100644 modules/MathJax/fonts/HTML-CSS/TeX/svg/MathJax_Size3-Regular.svg create mode 100644 modules/MathJax/fonts/HTML-CSS/TeX/svg/MathJax_Size4-Regular.svg create mode 100644 modules/MathJax/fonts/HTML-CSS/TeX/svg/MathJax_Typewriter-Regular.svg create mode 100644 modules/MathJax/fonts/HTML-CSS/TeX/svg/MathJax_WinChrome-Regular.svg create mode 100644 modules/MathJax/jax/element/mml/jax.js create mode 100644 modules/MathJax/jax/element/mml/optable/Arrows.js create mode 100644 modules/MathJax/jax/element/mml/optable/BasicLatin.js create mode 100644 modules/MathJax/jax/element/mml/optable/CombDiacritMarks.js create mode 100644 modules/MathJax/jax/element/mml/optable/CombDiactForSymbols.js create mode 100644 modules/MathJax/jax/element/mml/optable/Dingbats.js create mode 100644 modules/MathJax/jax/element/mml/optable/GeneralPunctuation.js create mode 100644 modules/MathJax/jax/element/mml/optable/GeometricShapes.js create mode 100644 modules/MathJax/jax/element/mml/optable/GreekAndCoptic.js create mode 100644 modules/MathJax/jax/element/mml/optable/Latin1Supplement.js create mode 100644 modules/MathJax/jax/element/mml/optable/LetterlikeSymbols.js create mode 100644 modules/MathJax/jax/element/mml/optable/MathOperators.js create mode 100644 modules/MathJax/jax/element/mml/optable/MiscMathSymbolsA.js create mode 100644 modules/MathJax/jax/element/mml/optable/MiscMathSymbolsB.js create mode 100644 modules/MathJax/jax/element/mml/optable/MiscTechnical.js create mode 100644 modules/MathJax/jax/element/mml/optable/SpacingModLetters.js create mode 100644 modules/MathJax/jax/element/mml/optable/SuppMathOperators.js create mode 100644 modules/MathJax/jax/element/mml/optable/SupplementalArrowsB.js create mode 100644 modules/MathJax/jax/input/MathML/config.js create mode 100644 modules/MathJax/jax/input/MathML/entities/a.js create mode 100644 modules/MathJax/jax/input/MathML/entities/b.js create mode 100644 modules/MathJax/jax/input/MathML/entities/c.js create mode 100644 modules/MathJax/jax/input/MathML/entities/d.js create mode 100644 modules/MathJax/jax/input/MathML/entities/e.js create mode 100644 modules/MathJax/jax/input/MathML/entities/f.js create mode 100644 modules/MathJax/jax/input/MathML/entities/fr.js create mode 100644 modules/MathJax/jax/input/MathML/entities/g.js create mode 100644 modules/MathJax/jax/input/MathML/entities/h.js create mode 100644 modules/MathJax/jax/input/MathML/entities/i.js create mode 100644 modules/MathJax/jax/input/MathML/entities/j.js create mode 100644 modules/MathJax/jax/input/MathML/entities/k.js create mode 100644 modules/MathJax/jax/input/MathML/entities/l.js create mode 100644 modules/MathJax/jax/input/MathML/entities/m.js create mode 100644 modules/MathJax/jax/input/MathML/entities/n.js create mode 100644 modules/MathJax/jax/input/MathML/entities/o.js create mode 100644 modules/MathJax/jax/input/MathML/entities/opf.js create mode 100644 modules/MathJax/jax/input/MathML/entities/p.js create mode 100644 modules/MathJax/jax/input/MathML/entities/q.js create mode 100644 modules/MathJax/jax/input/MathML/entities/r.js create mode 100644 modules/MathJax/jax/input/MathML/entities/s.js create mode 100644 modules/MathJax/jax/input/MathML/entities/scr.js create mode 100644 modules/MathJax/jax/input/MathML/entities/t.js create mode 100644 modules/MathJax/jax/input/MathML/entities/u.js create mode 100644 modules/MathJax/jax/input/MathML/entities/v.js create mode 100644 modules/MathJax/jax/input/MathML/entities/w.js create mode 100644 modules/MathJax/jax/input/MathML/entities/x.js create mode 100644 modules/MathJax/jax/input/MathML/entities/y.js create mode 100644 modules/MathJax/jax/input/MathML/entities/z.js create mode 100644 modules/MathJax/jax/input/MathML/jax.js create mode 100644 modules/MathJax/jax/input/TeX/config.js create mode 100644 modules/MathJax/jax/input/TeX/jax.js create mode 100644 modules/MathJax/jax/output/HTML-CSS/autoload/annotation-xml.js create mode 100644 modules/MathJax/jax/output/HTML-CSS/autoload/maction.js create mode 100644 modules/MathJax/jax/output/HTML-CSS/autoload/menclose.js create mode 100644 modules/MathJax/jax/output/HTML-CSS/autoload/mglyph.js create mode 100644 modules/MathJax/jax/output/HTML-CSS/autoload/mmultiscripts.js create mode 100644 modules/MathJax/jax/output/HTML-CSS/autoload/ms.js create mode 100644 modules/MathJax/jax/output/HTML-CSS/autoload/mtable.js create mode 100644 modules/MathJax/jax/output/HTML-CSS/autoload/multiline.js create mode 100644 modules/MathJax/jax/output/HTML-CSS/blank.gif create mode 100644 modules/MathJax/jax/output/HTML-CSS/config.js create mode 100644 modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/AlphaPresentForms.js create mode 100644 modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/Arrows.js create mode 100644 modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/BoldFraktur.js create mode 100644 modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/BoxDrawing.js create mode 100644 modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/CombDiacritMarks.js create mode 100644 modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/CombDiactForSymbols.js create mode 100644 modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/ControlPictures.js create mode 100644 modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/CurrencySymbols.js create mode 100644 modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/Cyrillic.js create mode 100644 modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/EnclosedAlphanum.js create mode 100644 modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/GeneralPunctuation.js create mode 100644 modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/GeometricShapes.js create mode 100644 modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/GreekAndCoptic.js create mode 100644 modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/GreekBold.js create mode 100644 modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/GreekSSBold.js create mode 100644 modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/IPAExtensions.js create mode 100644 modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/Latin1Supplement.js create mode 100644 modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/LatinExtendedA.js create mode 100644 modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/LatinExtendedAdditional.js create mode 100644 modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/LatinExtendedB.js create mode 100644 modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/LetterlikeSymbols.js create mode 100644 modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/Main.js create mode 100644 modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/MathBold.js create mode 100644 modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/MathOperators.js create mode 100644 modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/MathSSBold.js create mode 100644 modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/MiscMathSymbolsA.js create mode 100644 modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/MiscMathSymbolsB.js create mode 100644 modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/MiscSymbols.js create mode 100644 modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/MiscTechnical.js create mode 100644 modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/NumberForms.js create mode 100644 modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/PhoneticExtensions.js create mode 100644 modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/SpacingModLetters.js create mode 100644 modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/SuperAndSubscripts.js create mode 100644 modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/SuppMathOperators.js create mode 100644 modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/BoldItalic/AlphaPresentForms.js create mode 100644 modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/BoldItalic/BasicLatin.js create mode 100644 modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/BoldItalic/BoxDrawing.js create mode 100644 modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/BoldItalic/CombDiactForSymbols.js create mode 100644 modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/BoldItalic/ControlPictures.js create mode 100644 modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/BoldItalic/CurrencySymbols.js create mode 100644 modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/BoldItalic/Cyrillic.js create mode 100644 modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/BoldItalic/EnclosedAlphanum.js create mode 100644 modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/BoldItalic/GeneralPunctuation.js create mode 100644 modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/BoldItalic/GreekAndCoptic.js create mode 100644 modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/BoldItalic/GreekBoldItalic.js create mode 100644 modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/BoldItalic/GreekSSBoldItalic.js create mode 100644 modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/BoldItalic/IPAExtensions.js create mode 100644 modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/BoldItalic/Latin1Supplement.js create mode 100644 modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/BoldItalic/LatinExtendedA.js create mode 100644 modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/BoldItalic/LatinExtendedAdditional.js create mode 100644 modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/BoldItalic/LatinExtendedB.js create mode 100644 modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/BoldItalic/LetterlikeSymbols.js create mode 100644 modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/BoldItalic/Main.js create mode 100644 modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/BoldItalic/MathBoldItalic.js create mode 100644 modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/BoldItalic/MathBoldScript.js create mode 100644 modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/BoldItalic/MathOperators.js create mode 100644 modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/BoldItalic/MathSSItalicBold.js create mode 100644 modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/BoldItalic/SpacingModLetters.js create mode 100644 modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Italic/AlphaPresentForms.js create mode 100644 modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Italic/BoxDrawing.js create mode 100644 modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Italic/CombDiactForSymbols.js create mode 100644 modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Italic/ControlPictures.js create mode 100644 modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Italic/CurrencySymbols.js create mode 100644 modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Italic/Cyrillic.js create mode 100644 modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Italic/EnclosedAlphanum.js create mode 100644 modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Italic/GeneralPunctuation.js create mode 100644 modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Italic/GreekAndCoptic.js create mode 100644 modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Italic/GreekItalic.js create mode 100644 modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Italic/IPAExtensions.js create mode 100644 modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Italic/Latin1Supplement.js create mode 100644 modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Italic/LatinExtendedA.js create mode 100644 modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Italic/LatinExtendedAdditional.js create mode 100644 modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Italic/LatinExtendedB.js create mode 100644 modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Italic/LetterlikeSymbols.js create mode 100644 modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Italic/Main.js create mode 100644 modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Italic/MathItalic.js create mode 100644 modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Italic/MathOperators.js create mode 100644 modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Italic/MathSSItalic.js create mode 100644 modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Italic/MathScript.js create mode 100644 modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Italic/SpacingModLetters.js create mode 100644 modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Italic/ij.js create mode 100644 modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/AlphaPresentForms.js create mode 100644 modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/Arrows.js create mode 100644 modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/BBBold.js create mode 100644 modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/BlockElements.js create mode 100644 modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/BoldFraktur.js create mode 100644 modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/BoxDrawing.js create mode 100644 modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/CJK.js create mode 100644 modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/CombDiacritMarks.js create mode 100644 modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/CombDiactForSymbols.js create mode 100644 modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/ControlPictures.js create mode 100644 modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/CurrencySymbols.js create mode 100644 modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/Cyrillic.js create mode 100644 modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/Dingbats.js create mode 100644 modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/EnclosedAlphanum.js create mode 100644 modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/Fraktur.js create mode 100644 modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/GeneralPunctuation.js create mode 100644 modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/GeometricShapes.js create mode 100644 modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/GreekAndCoptic.js create mode 100644 modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/GreekBold.js create mode 100644 modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/GreekBoldItalic.js create mode 100644 modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/GreekItalic.js create mode 100644 modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/GreekSSBold.js create mode 100644 modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/GreekSSBoldItalic.js create mode 100644 modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/Hiragana.js create mode 100644 modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/IPAExtensions.js create mode 100644 modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/Latin1Supplement.js create mode 100644 modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/LatinExtendedA.js create mode 100644 modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/LatinExtendedAdditional.js create mode 100644 modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/LatinExtendedB.js create mode 100644 modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/LatinExtendedD.js create mode 100644 modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/LetterlikeSymbols.js create mode 100644 modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/Main.js create mode 100644 modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/MathBold.js create mode 100644 modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/MathBoldItalic.js create mode 100644 modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/MathBoldScript.js create mode 100644 modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/MathItalic.js create mode 100644 modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/MathOperators.js create mode 100644 modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/MathSS.js create mode 100644 modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/MathSSBold.js create mode 100644 modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/MathSSItalic.js create mode 100644 modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/MathSSItalicBold.js create mode 100644 modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/MathScript.js create mode 100644 modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/MathTT.js create mode 100644 modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/MiscMathSymbolsA.js create mode 100644 modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/MiscMathSymbolsB.js create mode 100644 modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/MiscSymbols.js create mode 100644 modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/MiscSymbolsAndArrows.js create mode 100644 modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/MiscTechnical.js create mode 100644 modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/NumberForms.js create mode 100644 modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/PhoneticExtensions.js create mode 100644 modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/SpacingModLetters.js create mode 100644 modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/Specials.js create mode 100644 modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/SuperAndSubscripts.js create mode 100644 modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/SuppMathOperators.js create mode 100644 modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/SupplementalArrowsA.js create mode 100644 modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/SupplementalArrowsB.js create mode 100644 modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/ij.js create mode 100644 modules/MathJax/jax/output/HTML-CSS/fonts/STIX/IntegralsD/Bold/All.js create mode 100644 modules/MathJax/jax/output/HTML-CSS/fonts/STIX/IntegralsD/Regular/All.js create mode 100644 modules/MathJax/jax/output/HTML-CSS/fonts/STIX/IntegralsD/Regular/Main.js create mode 100644 modules/MathJax/jax/output/HTML-CSS/fonts/STIX/IntegralsSm/Bold/All.js create mode 100644 modules/MathJax/jax/output/HTML-CSS/fonts/STIX/IntegralsSm/Regular/All.js create mode 100644 modules/MathJax/jax/output/HTML-CSS/fonts/STIX/IntegralsSm/Regular/Main.js create mode 100644 modules/MathJax/jax/output/HTML-CSS/fonts/STIX/IntegralsUp/Bold/All.js create mode 100644 modules/MathJax/jax/output/HTML-CSS/fonts/STIX/IntegralsUp/Regular/All.js create mode 100644 modules/MathJax/jax/output/HTML-CSS/fonts/STIX/IntegralsUp/Regular/Main.js create mode 100644 modules/MathJax/jax/output/HTML-CSS/fonts/STIX/IntegralsUpD/Bold/All.js create mode 100644 modules/MathJax/jax/output/HTML-CSS/fonts/STIX/IntegralsUpD/Regular/All.js create mode 100644 modules/MathJax/jax/output/HTML-CSS/fonts/STIX/IntegralsUpD/Regular/Main.js create mode 100644 modules/MathJax/jax/output/HTML-CSS/fonts/STIX/IntegralsUpSm/Bold/All.js create mode 100644 modules/MathJax/jax/output/HTML-CSS/fonts/STIX/IntegralsUpSm/Regular/All.js create mode 100644 modules/MathJax/jax/output/HTML-CSS/fonts/STIX/IntegralsUpSm/Regular/Main.js create mode 100644 modules/MathJax/jax/output/HTML-CSS/fonts/STIX/NonUnicode/Bold/All.js create mode 100644 modules/MathJax/jax/output/HTML-CSS/fonts/STIX/NonUnicode/Bold/Main.js create mode 100644 modules/MathJax/jax/output/HTML-CSS/fonts/STIX/NonUnicode/Bold/PrivateUse.js create mode 100644 modules/MathJax/jax/output/HTML-CSS/fonts/STIX/NonUnicode/BoldItalic/All.js create mode 100644 modules/MathJax/jax/output/HTML-CSS/fonts/STIX/NonUnicode/BoldItalic/Main.js create mode 100644 modules/MathJax/jax/output/HTML-CSS/fonts/STIX/NonUnicode/BoldItalic/PrivateUse.js create mode 100644 modules/MathJax/jax/output/HTML-CSS/fonts/STIX/NonUnicode/Italic/All.js create mode 100644 modules/MathJax/jax/output/HTML-CSS/fonts/STIX/NonUnicode/Italic/Main.js create mode 100644 modules/MathJax/jax/output/HTML-CSS/fonts/STIX/NonUnicode/Italic/PrivateUse.js create mode 100644 modules/MathJax/jax/output/HTML-CSS/fonts/STIX/NonUnicode/Regular/All.js create mode 100644 modules/MathJax/jax/output/HTML-CSS/fonts/STIX/NonUnicode/Regular/Main.js create mode 100644 modules/MathJax/jax/output/HTML-CSS/fonts/STIX/NonUnicode/Regular/PrivateUse.js create mode 100644 modules/MathJax/jax/output/HTML-CSS/fonts/STIX/SizeFiveSym/Regular/All.js create mode 100644 modules/MathJax/jax/output/HTML-CSS/fonts/STIX/SizeFiveSym/Regular/Main.js create mode 100644 modules/MathJax/jax/output/HTML-CSS/fonts/STIX/SizeFourSym/Bold/Main.js create mode 100644 modules/MathJax/jax/output/HTML-CSS/fonts/STIX/SizeFourSym/Regular/All.js create mode 100644 modules/MathJax/jax/output/HTML-CSS/fonts/STIX/SizeFourSym/Regular/Main.js create mode 100644 modules/MathJax/jax/output/HTML-CSS/fonts/STIX/SizeOneSym/Bold/All.js create mode 100644 modules/MathJax/jax/output/HTML-CSS/fonts/STIX/SizeOneSym/Bold/Main.js create mode 100644 modules/MathJax/jax/output/HTML-CSS/fonts/STIX/SizeOneSym/Regular/All.js create mode 100644 modules/MathJax/jax/output/HTML-CSS/fonts/STIX/SizeOneSym/Regular/Main.js create mode 100644 modules/MathJax/jax/output/HTML-CSS/fonts/STIX/SizeThreeSym/Bold/Main.js create mode 100644 modules/MathJax/jax/output/HTML-CSS/fonts/STIX/SizeThreeSym/Regular/All.js create mode 100644 modules/MathJax/jax/output/HTML-CSS/fonts/STIX/SizeThreeSym/Regular/Main.js create mode 100644 modules/MathJax/jax/output/HTML-CSS/fonts/STIX/SizeTwoSym/Bold/Main.js create mode 100644 modules/MathJax/jax/output/HTML-CSS/fonts/STIX/SizeTwoSym/Regular/All.js create mode 100644 modules/MathJax/jax/output/HTML-CSS/fonts/STIX/SizeTwoSym/Regular/Main.js create mode 100644 modules/MathJax/jax/output/HTML-CSS/fonts/STIX/Variants/Bold/All.js create mode 100644 modules/MathJax/jax/output/HTML-CSS/fonts/STIX/Variants/Bold/Main.js create mode 100644 modules/MathJax/jax/output/HTML-CSS/fonts/STIX/Variants/Regular/All.js create mode 100644 modules/MathJax/jax/output/HTML-CSS/fonts/STIX/Variants/Regular/Main.js create mode 100644 modules/MathJax/jax/output/HTML-CSS/fonts/STIX/fontdata-beta.js create mode 100644 modules/MathJax/jax/output/HTML-CSS/fonts/STIX/fontdata.js create mode 100644 modules/MathJax/jax/output/HTML-CSS/fonts/TeX/AMS/Regular/Arrows.js create mode 100644 modules/MathJax/jax/output/HTML-CSS/fonts/TeX/AMS/Regular/BBBold.js create mode 100644 modules/MathJax/jax/output/HTML-CSS/fonts/TeX/AMS/Regular/BoxDrawing.js create mode 100644 modules/MathJax/jax/output/HTML-CSS/fonts/TeX/AMS/Regular/CombDiacritMarks.js create mode 100644 modules/MathJax/jax/output/HTML-CSS/fonts/TeX/AMS/Regular/Dingbats.js create mode 100644 modules/MathJax/jax/output/HTML-CSS/fonts/TeX/AMS/Regular/EnclosedAlphanum.js create mode 100644 modules/MathJax/jax/output/HTML-CSS/fonts/TeX/AMS/Regular/GeneralPunctuation.js create mode 100644 modules/MathJax/jax/output/HTML-CSS/fonts/TeX/AMS/Regular/GeometricShapes.js create mode 100644 modules/MathJax/jax/output/HTML-CSS/fonts/TeX/AMS/Regular/GreekAndCoptic.js create mode 100644 modules/MathJax/jax/output/HTML-CSS/fonts/TeX/AMS/Regular/Latin1Supplement.js create mode 100644 modules/MathJax/jax/output/HTML-CSS/fonts/TeX/AMS/Regular/LatinExtendedA.js create mode 100644 modules/MathJax/jax/output/HTML-CSS/fonts/TeX/AMS/Regular/LetterlikeSymbols.js create mode 100644 modules/MathJax/jax/output/HTML-CSS/fonts/TeX/AMS/Regular/Main.js create mode 100644 modules/MathJax/jax/output/HTML-CSS/fonts/TeX/AMS/Regular/MathOperators.js create mode 100644 modules/MathJax/jax/output/HTML-CSS/fonts/TeX/AMS/Regular/MiscMathSymbolsB.js create mode 100644 modules/MathJax/jax/output/HTML-CSS/fonts/TeX/AMS/Regular/MiscSymbols.js create mode 100644 modules/MathJax/jax/output/HTML-CSS/fonts/TeX/AMS/Regular/MiscTechnical.js create mode 100644 modules/MathJax/jax/output/HTML-CSS/fonts/TeX/AMS/Regular/PUA.js create mode 100644 modules/MathJax/jax/output/HTML-CSS/fonts/TeX/AMS/Regular/SpacingModLetters.js create mode 100644 modules/MathJax/jax/output/HTML-CSS/fonts/TeX/AMS/Regular/SuppMathOperators.js create mode 100644 modules/MathJax/jax/output/HTML-CSS/fonts/TeX/Caligraphic/Bold/Main.js create mode 100644 modules/MathJax/jax/output/HTML-CSS/fonts/TeX/Caligraphic/Regular/Main.js create mode 100644 modules/MathJax/jax/output/HTML-CSS/fonts/TeX/Fraktur/Bold/BasicLatin.js create mode 100644 modules/MathJax/jax/output/HTML-CSS/fonts/TeX/Fraktur/Bold/Main.js create mode 100644 modules/MathJax/jax/output/HTML-CSS/fonts/TeX/Fraktur/Bold/Other.js create mode 100644 modules/MathJax/jax/output/HTML-CSS/fonts/TeX/Fraktur/Bold/PUA.js create mode 100644 modules/MathJax/jax/output/HTML-CSS/fonts/TeX/Fraktur/Regular/BasicLatin.js create mode 100644 modules/MathJax/jax/output/HTML-CSS/fonts/TeX/Fraktur/Regular/Main.js create mode 100644 modules/MathJax/jax/output/HTML-CSS/fonts/TeX/Fraktur/Regular/Other.js create mode 100644 modules/MathJax/jax/output/HTML-CSS/fonts/TeX/Fraktur/Regular/PUA.js create mode 100644 modules/MathJax/jax/output/HTML-CSS/fonts/TeX/Greek/Bold/Main.js create mode 100644 modules/MathJax/jax/output/HTML-CSS/fonts/TeX/Greek/BoldItalic/Main.js create mode 100644 modules/MathJax/jax/output/HTML-CSS/fonts/TeX/Greek/Italic/Main.js create mode 100644 modules/MathJax/jax/output/HTML-CSS/fonts/TeX/Greek/Regular/Main.js create mode 100644 modules/MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Bold/Arrows.js create mode 100644 modules/MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Bold/CombDiacritMarks.js create mode 100644 modules/MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Bold/CombDiactForSymbols.js create mode 100644 modules/MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Bold/GeneralPunctuation.js create mode 100644 modules/MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Bold/GeometricShapes.js create mode 100644 modules/MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Bold/Latin1Supplement.js create mode 100644 modules/MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Bold/LatinExtendedA.js create mode 100644 modules/MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Bold/LatinExtendedB.js create mode 100644 modules/MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Bold/LetterlikeSymbols.js create mode 100644 modules/MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Bold/Main.js create mode 100644 modules/MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Bold/MathOperators.js create mode 100644 modules/MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Bold/MiscMathSymbolsA.js create mode 100644 modules/MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Bold/MiscSymbols.js create mode 100644 modules/MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Bold/MiscTechnical.js create mode 100644 modules/MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Bold/SpacingModLetters.js create mode 100644 modules/MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Bold/SuppMathOperators.js create mode 100644 modules/MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Bold/SupplementalArrowsA.js create mode 100644 modules/MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Italic/CombDiacritMarks.js create mode 100644 modules/MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Italic/GeneralPunctuation.js create mode 100644 modules/MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Italic/Latin1Supplement.js create mode 100644 modules/MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Italic/LetterlikeSymbols.js create mode 100644 modules/MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Italic/Main.js create mode 100644 modules/MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Regular/CombDiacritMarks.js create mode 100644 modules/MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Regular/GeometricShapes.js create mode 100644 modules/MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Regular/Main.js create mode 100644 modules/MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Regular/MiscSymbols.js create mode 100644 modules/MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Regular/SpacingModLetters.js create mode 100644 modules/MathJax/jax/output/HTML-CSS/fonts/TeX/Math/BoldItalic/Main.js create mode 100644 modules/MathJax/jax/output/HTML-CSS/fonts/TeX/Math/Italic/Main.js create mode 100644 modules/MathJax/jax/output/HTML-CSS/fonts/TeX/SansSerif/Bold/BasicLatin.js create mode 100644 modules/MathJax/jax/output/HTML-CSS/fonts/TeX/SansSerif/Bold/CombDiacritMarks.js create mode 100644 modules/MathJax/jax/output/HTML-CSS/fonts/TeX/SansSerif/Bold/Main.js create mode 100644 modules/MathJax/jax/output/HTML-CSS/fonts/TeX/SansSerif/Bold/Other.js create mode 100644 modules/MathJax/jax/output/HTML-CSS/fonts/TeX/SansSerif/Italic/BasicLatin.js create mode 100644 modules/MathJax/jax/output/HTML-CSS/fonts/TeX/SansSerif/Italic/CombDiacritMarks.js create mode 100644 modules/MathJax/jax/output/HTML-CSS/fonts/TeX/SansSerif/Italic/Main.js create mode 100644 modules/MathJax/jax/output/HTML-CSS/fonts/TeX/SansSerif/Italic/Other.js create mode 100644 modules/MathJax/jax/output/HTML-CSS/fonts/TeX/SansSerif/Regular/BasicLatin.js create mode 100644 modules/MathJax/jax/output/HTML-CSS/fonts/TeX/SansSerif/Regular/CombDiacritMarks.js create mode 100644 modules/MathJax/jax/output/HTML-CSS/fonts/TeX/SansSerif/Regular/Main.js create mode 100644 modules/MathJax/jax/output/HTML-CSS/fonts/TeX/SansSerif/Regular/Other.js create mode 100644 modules/MathJax/jax/output/HTML-CSS/fonts/TeX/Script/Regular/BasicLatin.js create mode 100644 modules/MathJax/jax/output/HTML-CSS/fonts/TeX/Script/Regular/Main.js create mode 100644 modules/MathJax/jax/output/HTML-CSS/fonts/TeX/Script/Regular/Other.js create mode 100644 modules/MathJax/jax/output/HTML-CSS/fonts/TeX/Size1/Regular/Main.js create mode 100644 modules/MathJax/jax/output/HTML-CSS/fonts/TeX/Size2/Regular/Main.js create mode 100644 modules/MathJax/jax/output/HTML-CSS/fonts/TeX/Size3/Regular/Main.js create mode 100644 modules/MathJax/jax/output/HTML-CSS/fonts/TeX/Size4/Regular/Main.js create mode 100644 modules/MathJax/jax/output/HTML-CSS/fonts/TeX/Typewriter/Regular/BasicLatin.js create mode 100644 modules/MathJax/jax/output/HTML-CSS/fonts/TeX/Typewriter/Regular/CombDiacritMarks.js create mode 100644 modules/MathJax/jax/output/HTML-CSS/fonts/TeX/Typewriter/Regular/Main.js create mode 100644 modules/MathJax/jax/output/HTML-CSS/fonts/TeX/Typewriter/Regular/Other.js create mode 100644 modules/MathJax/jax/output/HTML-CSS/fonts/TeX/WinChrome/Regular/Main.js create mode 100644 modules/MathJax/jax/output/HTML-CSS/fonts/TeX/WinIE6/Regular/AMS.js create mode 100644 modules/MathJax/jax/output/HTML-CSS/fonts/TeX/WinIE6/Regular/Bold.js create mode 100644 modules/MathJax/jax/output/HTML-CSS/fonts/TeX/WinIE6/Regular/Main.js create mode 100644 modules/MathJax/jax/output/HTML-CSS/fonts/TeX/fontdata.js create mode 100644 modules/MathJax/jax/output/HTML-CSS/imageFonts.js create mode 100644 modules/MathJax/jax/output/HTML-CSS/jax.js create mode 100644 modules/MathJax/jax/output/NativeMML/config.js create mode 100644 modules/MathJax/jax/output/NativeMML/jax.js create mode 100644 modules/TeX-AMS-texvc_HTML.js create mode 100644 modules/ext.math.mathjax.enabler.js diff --git a/Math.hooks.php b/Math.hooks.php index 61636d3..a56828e 100644 --- a/Math.hooks.php +++ b/Math.hooks.php @@ -49,11 +49,8 @@ class MathHooks { if ( $wgUseMathJax ) { self::addMathJax( $parser ); - $output = Html::rawElement('noscript', null, $renderedMath ) . - Html::element( 'script', array( 'type' => 'math/tex' ), $content ); - } else { - $output = $renderedMath; } + $output = $renderedMath; return $wgContLang->armourMath( $output ); } @@ -161,6 +158,7 @@ class MathHooks { //$script = Html::element( 'script', array( 'type' => 'text/x-mathjax-config' ), $config ); $html = Html::element( 'script', array( 'src' => $wgMathJaxUrl ) ); - $parser->getOutput()->addHeadItem( $html, 'mathjax' ); + //$parser->getOutput()->addHeadItem( $html, 'mathjax' ); + $parser->getOutput()->addModules( array( 'ext.math.mathjax.enabler' ) ); } } diff --git a/Math.php b/Math.php index 4b45792..7d84e79 100644 --- a/Math.php +++ b/Math.php @@ -116,3 +116,33 @@ $wgAutoloadClasses['MathRenderer'] = $dir . 'Math.body.php'; $wgExtensionMessagesFiles['Math'] = $dir . 'Math.i18n.php'; $wgParserTestFiles[] = $dir . 'mathParserTests.txt'; + +$moduleTemplate = array( + 'localBasePath' => dirname( __FILE__ ) . '/modules', + 'remoteExtPath' => 'Math/modules', +); + +$wgResourceModules['ext.math.mathjax'] = array( + 'scripts' => array( + 'MathJax/MathJax.js', + 'MathJax/jax/input/TeX/config.js', + 'MathJax/jax/output/HTML-CSS/config.js', + 'MathJax/jax/element/mml/jax.js', + 'MathJax/extensions/TeX/noErrors.js', + 'MathJax/extensions/TeX/noUndefined.js', + 'MathJax/jax/input/TeX/jax.js', + 'MathJax/extensions/TeX/AMSmath.js', + 'MathJax/extensions/TeX/AMSsymbols.js', + 'MathJax/extensions/TeX/boldsymbol.js', + 'MathJax/extensions/TeX/mathchoice.js', + 'MathJax/jax/output/HTML-CSS/jax.js', + 'MathJax/jax/output/HTML-CSS/autoload/mtable.js', + 'MathJax-custom/extensions/wiki2jax.js', + 'MathJax-custom/extensions/TeX/texvc.js' + ), + 'group' => 'ext.math.mathjax', +) + $moduleTemplate; + +$wgResourceModules['ext.math.mathjax.enabler'] = array( + 'scripts' => 'ext.math.mathjax.enabler.js', +) + $moduleTemplate; diff --git a/README b/README new file mode 100644 index 0000000..f7c6493 --- /dev/null +++ b/README @@ -0,0 +1,9 @@ +This version (for MediaWiki 1.19) has some changes since previous versions: + +* rendering options have been reduced to just 'Always PNG' and 'Leave it as TeX' +** all other rendering options will merge to PNG. +* initial experimental support for integrating MathJax client-side rendering + +See the README in the math subdirectory for more info on setting up the +low-level conversion tools. + diff --git a/modules/MathJax-custom/extensions/TeX/texvc.js b/modules/MathJax-custom/extensions/TeX/texvc.js new file mode 100644 index 0000000..2e5343f --- /dev/null +++ b/modules/MathJax-custom/extensions/TeX/texvc.js @@ -0,0 +1,92 @@ +/** + * From https://en.wikipedia.org/wiki/User:Nageh/mathJax/config/TeX-AMS-texvc_HTML.js + */ + +MathJax.Extension.wiki2jax = { + version: "1.0", + + config: { + element: null, // The ID of the element to be processed + // (defaults to full document) + + preview: "TeX" // Set to "none" to prevent preview strings from being inserted + // or to an array that specifies an HTML snippet to use for + // the preview. + }, + + PreProcess: function (element) { + if (!this.configured) { + MathJax.Hub.Insert(this.config,(MathJax.Hub.config.wiki2jax||{})); + if (this.config.Augment) {MathJax.Hub.Insert(this,this.config.Augment)} + if (typeof(this.config.previewTeX) !== "undefined" && !this.config.previewTeX) + {this.config.preview = "none"} // backward compatibility for previewTeX parameter + this.previewClass = MathJax.Hub.config.preRemoveClass; + this.configured = true; + } + var span, i; + if ((!element || element == document.body) && mathJax.span) { // dirty hack + span = mathJax.span; + i = mathJax.spanIndex; + } + else { + if (typeof(element) === "string") {element = document.getElementById(element)} + if (!element) {element = this.config.element || document.body} + span = element.getElementsByTagName("span"); + i = span.length-1; + } + for (; i >= 0; i--) + if (span[i].className === "tex") this.ConvertMath(span[i]) + }, + + ConvertMath: function (node) { + var parent = node.parentNode, + mode = parent.tagName === "DD" && parent.firstChild === parent.lastChild ? "; mode=display" : "", + tex = node.innerHTML.substring(node.innerHTML[0]=='$',node.innerHTML.length-(node.innerHTML[node.innerHTML.length-1]=='$')); + + tex = tex.replace(/</g,"<").replace(/>/g,">").replace(/&/g,"&").replace(/ /g," "); + tex = tex.replace(/\\iiint([^!]*)!\\!\\!\\!\\!.*\\subset\\!\\supset/g,"\\iiint$1mkern-2.5em\\subset\\!\\supset").replace(/\\iint([^!]*)!\\!\\!\\!\\!\\!\\!\\!\\!\\!\\!(.*)\\subset\\!\\supset/g,"\\iint$1mkern-1.65em$2\\subset\\!\\!\\supset").replace(/\\int\\!\\!\\!(\\!)+\\int\\!\\!\\!(\\!)+\\int([^!]*)!\\!\\!\\!\\!.*\\bigcirc(\\,)*/g,"\\iiint$3mkern-2.5em\\subset\\!\\supset").replace(/\\int\\!\\!\\!(\\!)+\\int([^!]*)!\\!\\!\\!\\!\\!\\!\\!\\!(.*)\\bigcirc(\\,)*/g,"\\iint$2mkern-1.65em$3\\subset\\!\\!\\supset"); + if (mode === "") { + tex = tex.replace(/ *\\scriptstyle(\W)/g,"\\textstyle$1").replace(/ *\\scriptscriptstyle(\W)/g,"\\scriptstyle$1"); + if (parent.firstChild === node) tex = "\\displaystyle "+tex; + } + + var i; + while ((i = tex.search(/\\color{/)) != -1) { + var braces = 0; + for (i += 6; i < tex.length; i++) { + if (tex[i] == '{') braces++; + else if (tex[i] == '}') { + if (braces-- == 0) + break; + } + } + tex = (tex.substring(0, i) + "}" + tex.substring(i, tex.length)).replace(/\\color{(\w*)}/, "\\textcolor{$1}{"); + } + + var script = document.createElement("script"); + script.type = "math/tex" + mode; + if (MathJax.Hub.Browser.isMSIE) {script.text = tex} + else {script.appendChild(document.createTextNode(tex))} + + if (node.nextSibling) {parent.insertBefore(script,node.nextSibling)} + else {parent.appendChild(script)} + if (this.config.preview !== "none") {this.createPreview(node)} + parent.removeChild(node); + }, + + createPreview: function (node) { + var preview; + if (this.config.preview === "TeX") {preview = [this.filterTeX(node.innerHTML)]} + else if (this.config.preview instanceof Array) {preview = this.config.preview} + if (preview) { + preview = MathJax.HTML.Element("span",{className: MathJax.Hub.config.preRemoveClass},preview); + node.parentNode.insertBefore(preview,node); + } + }, + + filterTeX: function (tex) {return tex} + +}; + +MathJax.Hub.Register.PreProcessor(["PreProcess",MathJax.Extension.wiki2jax]); +MathJax.Ajax.loadComplete("[MathJax]/extensions/wiki2jax.js"); diff --git a/modules/MathJax-custom/extensions/wiki2jax.js b/modules/MathJax-custom/extensions/wiki2jax.js new file mode 100644 index 0000000..56c98f7 --- /dev/null +++ b/modules/MathJax-custom/extensions/wiki2jax.js @@ -0,0 +1,128 @@ +/** + * From https://en.wikipedia.org/wiki/User:Nageh/mathJax/config/TeX-AMS-texvc_HTML.js + */ + +MathJax.Hub.Register.StartupHook("TeX Jax Ready",function () { + var VERSION = "1.0"; + + var MML = MathJax.ElementJax.mml; + + MathJax.Hub.Insert(MathJax.InputJax.TeX.Definitions,{ + + mathchar0mi: { + // Lowercase Greek letters + thetasym: '03B8', // theta + koppa: '03DF', + stigma: '03DB', + coppa: '03D9', // archaic koppa + + // Ord symbols + C: ['0043',{mathvariant: MML.VARIANT.DOUBLESTRUCK}], + cnums: ['0043',{mathvariant: MML.VARIANT.DOUBLESTRUCK}], + Complex: ['0043',{mathvariant: MML.VARIANT.DOUBLESTRUCK}], + N: ['004E',{mathvariant: MML.VARIANT.DOUBLESTRUCK}], + natnums: ['004E',{mathvariant: MML.VARIANT.DOUBLESTRUCK}], + R: ['0052',{mathvariant: MML.VARIANT.DOUBLESTRUCK}], + reals: ['0052',{mathvariant: MML.VARIANT.DOUBLESTRUCK}], + Reals: ['0052',{mathvariant: MML.VARIANT.DOUBLESTRUCK}], + Z: ['005A',{mathvariant: MML.VARIANT.DOUBLESTRUCK}], + sect: '00A7', // S + P: '00B6', + alef: ['2135',{mathvariant: MML.VARIANT.NORMAL}], // aleph + alefsym: ['2135',{mathvariant: MML.VARIANT.NORMAL}], // aleph + weierp: ['2118',{mathvariant: MML.VARIANT.NORMAL}], // wp + real: ['211C',{mathvariant: MML.VARIANT.NORMAL}], // Re + part: ['2202',{mathvariant: MML.VARIANT.NORMAL}], // partial + infin: ['221E',{mathvariant: MML.VARIANT.NORMAL}], // infty + empty: ['2205',{mathvariant: MML.VARIANT.NORMAL}], // emptyset + O: ['2205',{mathvariant: MML.VARIANT.NORMAL}], // emptyset (but should probably be Swedish O) + ang: ['2220',{mathvariant: MML.VARIANT.NORMAL}], // angle + exist: ['2203',{mathvariant: MML.VARIANT.NORMAL}], // exists + clubs: ['2663',{mathvariant: MML.VARIANT.NORMAL}], // clubsuit + diamonds: ['2662',{mathvariant: MML.VARIANT.NORMAL}], // diamondsuit + hearts: ['2661',{mathvariant: MML.VARIANT.NORMAL}], // heartsuit + spades: ['2660',{mathvariant: MML.VARIANT.NORMAL}], // spadesuit + textvisiblespace: '2423' + }, + + mathchar0mo: { + // Binary operators + and: '2227', // land + or: '2228', // lor + bull: '2219', // bullet + plusmn: '00B1', // pm + sdot: '22C5', // cdot + + // Binary relations + sup: '2283', // supset + sub: '2282', // subset + supe: '2287', // supseteq + sube: '2286', // subseteq + isin: '2208', // in + + hAar: '21D4', // Leftrightarrow [sic] + hArr: '21D4', // Leftrightarrow + Harr: '21D4', // Leftrightarrow + Lrarr: '21D4', // Leftrightarrow + lrArr: '21D4', // Leftrightarrow + lArr: '21D0', // Leftarrow + Larr: '21D0', // Leftarrow + rArr: '21D2', // Rightarrow + Rarr: '21D2', // Rightarrow + harr: '2194', // leftrightarrow + lrarr: '2194', // leftrightarrow + larr: '2190', // leftarrow + gets: '2190', // leftarrow + rarr: '2192', // rightarrow + + // big ops + oiint: ['222F',{texClass: MML.TEXCLASS.OP}], // not part of texvc but nice to have + oiiint: ['2230',{texClass: MML.TEXCLASS.OP}] + }, + + mathchar7: { + // Uppercase Greek letters + Alpha: '0391', + Beta: '0392', + Epsilon: '0395', + Zeta: '0396', + Eta: '0397', + Iota: '0399', + Kappa: '039A', + Mu: '039C', + Nu: '039D', + Omicron: '039F', + Rho: '03A1', + Tau: '03A4', + Chi: '03A7', + + Koppa: '03DE', + Stigma: '03DA', + Coppa: '03D8', // archaic Koppa + }, + + delimiter: { + '\\uarr': '2191', // uparrow + '\\darr': '2193', // downarrow + '\\Uarr': '21D1', // Uparrow + '\\uArr': '21D1', // Uparrow + '\\Darr': '21D3', // Downarrow + '\\dArr': '21D3', // Downarrow + '\\rang': '27E9', // rangle + '\\lang': '27E8' // langle + }, + + macros: { + sgn: ['NamedOp',0], + textcolor: ['Macro','\\color{#1}',1], + bold: ['Macro','{\\boldsymbol #1}',1] // boldsymbol + } + + }); +}); + +MathJax.Hub.Register.StartupHook("HTML-CSS Jax Ready",function () { + MathJax.Hub.Startup.signal.Post("TeX texvc Ready"); +}); + +MathJax.Ajax.loadComplete("[MathJax]/extensions/TeX/texvc.js"); diff --git a/modules/MathJax/LICENSE b/modules/MathJax/LICENSE new file mode 100644 index 0000000..d645695 --- /dev/null +++ b/modules/MathJax/LICENSE @@ -0,0 +1,202 @@ + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/modules/MathJax/MathJax.js b/modules/MathJax/MathJax.js new file mode 100644 index 0000000..6bb55f8 --- /dev/null +++ b/modules/MathJax/MathJax.js @@ -0,0 +1,2096 @@ +/************************************************************* + * + * MathJax.js + * + * The main support code for the MathJax Hub, including the + * Ajax, Callback, Messaging, and Object-Oriented Programming + * libraries, as well as the base Jax classes, and startup + * processing code. + * + * --------------------------------------------------------------------- + * + * Copyright (c) 2009-2011 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +if (document.getElementById && document.childNodes && document.createElement) { + +if (!window.MathJax) {window.MathJax= {}} +if (!MathJax.Hub) { // skip if already loaded + +MathJax.version = "1.1a"; +MathJax.fileversion = "1.1.7"; + +/**********************************************************/ + +(function (BASENAME) { + var BASE = window[BASENAME]; + if (!BASE) {BASE = window[BASENAME] = {}} + + var PROTO = []; // a static object used to indicate when a prototype is being created + var OBJECT = function (def) { + var obj = def.constructor; if (!obj) {obj = new Function("")} + for (var id in def) {if (id !== 'constructor' && def.hasOwnProperty(id)) {obj[id] = def[id]}} + return obj; + }; + var CONSTRUCTOR = function () { + return new Function ("return arguments.callee.Init.call(this,arguments)"); + }; + // + // Test for Safari 2.x bug (can't replace prototype for result of new Function()). + // (We don't use this version for everyone since it is a closure and we don't need that). + // + var BUGTEST = CONSTRUCTOR(); BUGTEST.prototype = {bug_test: 1}; + if (!BUGTEST.prototype.bug_test) { + CONSTRUCTOR = function () { + return function () {return arguments.callee.Init.call(this,arguments)}; + }; + }; + + BASE.Object = OBJECT({ + constructor: CONSTRUCTOR(), + + Subclass: function (def,classdef) { + var obj = CONSTRUCTOR(); + obj.SUPER = this; obj.Init = this.Init; + obj.Subclass = this.Subclass; obj.Augment = this.Augment; + obj.protoFunction = this.protoFunction; + obj.can = this.can; obj.has = this.has; obj.isa = this.isa; + obj.prototype = new this(PROTO); + obj.prototype.constructor = obj; // the real constructor + obj.Augment(def,classdef); + return obj; + }, + + Init: function (args) { + var obj = this; + if (args.length === 1 && args[0] === PROTO) {return obj} + if (!(obj instanceof args.callee)) {obj = new args.callee(PROTO)} + return obj.Init.apply(obj,args) || obj; + }, + + Augment: function (def,classdef) { + var id; + if (def != null) { + for (id in def) {if (def.hasOwnProperty(id)) {this.protoFunction(id,def[id])}} + // MSIE doesn't list toString even if it is not native so handle it separately + if (def.toString !== this.prototype.toString && def.toString !== {}.toString) + {this.protoFunction('toString',def.toString)} + } + if (classdef != null) { + for (id in classdef) {if (classdef.hasOwnProperty(id)) {this[id] = classdef[id]}} + } + return this; + }, + + protoFunction: function (id,def) { + this.prototype[id] = def; + if (typeof def === "function") {def.SUPER = this.SUPER.prototype} + }, + + prototype: { + Init: function () {}, + SUPER: function (fn) {return fn.callee.SUPER}, + can: function (method) {return typeof(this[method]) === "function"}, + has: function (property) {return typeof(this[property]) !== "undefined"}, + isa: function (obj) {return (obj instanceof Object) && (this instanceof obj)} + }, + + can: function (method) {return this.prototype.can.call(this,method)}, + has: function (property) {return this.prototype.has.call(this,property)}, + isa: function (obj) { + var constructor = this; + while (constructor) { + if (constructor === obj) {return true} else {constructor = constructor.SUPER} + } + return false; + }, + + + SimpleSUPER: OBJECT({ + constructor: function (def) {return this.SimpleSUPER.define(def)}, + + define: function (src) { + var dst = {}; + if (src != null) { + for (var id in src) {if (src.hasOwnProperty(id)) {this.protoFunction(id,src[id])}} + // MSIE doesn't list toString even if it is not native so handle it separately + if (src.toString !== this.prototype.toString && src.toString !== {}.toString) + {this.protoFunction('toString',src.toString)} + } + return dst; + }, + + wrap: function (id,f) { + if (typeof(f) === 'function' && f.toString().match(/\.\s*SUPER\s*\(/)) { + var fn = new Function(this.wrapper); + fn.label = id; fn.original = f; f = fn; + fn.toString = this.stringify; + } + return f; + }, + + wrapper: function () { + var fn = arguments.callee; + this.SUPER = fn.SUPER[fn.label]; + try {var result = fn.original.apply(this,arguments)} + catch (err) {delete this.SUPER; throw err} + delete this.SUPER; + return result; + }.toString().replace(/^\s*function \(\)\s*\{\s*/i,"").replace(/\s*\}\s*$/i,""), + + toString: function () { + return this.original.toString.apply(this.original,arguments); + } + }) + }); + +})("MathJax"); + +/**********************************************************/ + +/* + * Create a callback function from various forms of data: + * + * MathJax.Callback(fn) -- callback to a function + * + * MathJax.Callback([fn]) -- callback to function + * MathJax.Callback([fn,data...]) + * -- callback to function with given data as arguments + * MathJax.Callback([object,fn]) + * -- call fn with object as "this" + * MathJax.Callback([object,fn,data...]) + * -- call fn with object as "this" and data as arguments + * MathJax.Callback(["method",object]) + * -- call method of object wth object as "this" + * MathJax.Callback(["method",object,data...]) + * -- as above, but with data as arguments to method + * + * MathJax.Callback({hook: fn, data: [...], object: this}) + * -- give function, data, and object to act as "this" explicitly + * + * MathJax.Callback("code") -- callback that compiles and executes a string + * + * MathJax.Callback([...],i) + * -- use slice of array starting at i and interpret + * result as above. (Used for passing "arguments" array + * and trimming initial arguments, if any.) + */ + +/* + * MathJax.Callback.After([...],cb1,cb2,...) + * -- make a callback that isn't called until all the other + * ones are called first. I.e., wait for a union of + * callbacks to occur before making the given callback. + */ + +/* + * MathJax.Callback.Queue([callback,...]) + * -- make a synchronized queue of commands that process + * sequentially, waiting for those that return uncalled + * callbacks. + */ + +/* + * MathJax.Callback.Signal(name) + * -- finds or creates a names signal, to which listeners + * can be attached and are signaled by messages posted + * to the signal. Responses can be asynchronous. + */ + +(function (BASENAME) { + var BASE = window[BASENAME]; + if (!BASE) {BASE = window[BASENAME] = {}} + // + // Create a callback from an associative array + // + var CALLBACK = function (data) { + var cb = new Function("return arguments.callee.execute.apply(arguments.callee,arguments)"); + for (var id in CALLBACK.prototype) { + if (CALLBACK.prototype.hasOwnProperty(id)) { + if (typeof(data[id]) !== 'undefined') {cb[id] = data[id]} + else {cb[id] = CALLBACK.prototype[id]} + } + } + cb.toString = CALLBACK.prototype.toString; + return cb; + }; + CALLBACK.prototype = { + isCallback: true, + hook: function () {}, + data: [], + object: window, + execute: function () { + if (!this.called || this.autoReset) { + this.called = !this.autoReset; + return this.hook.apply(this.object,this.data.concat([].slice.call(arguments,0))); + } + }, + reset: function () {delete this.called}, + toString: function () {return this.hook.toString.apply(this.hook,arguments)} + }; + var ISCALLBACK = function (f) { + return (typeof(f) === "function" && f.isCallback); + } + // + // Evaluate a string in global context + // + var EVAL = function (code) {return eval.call(window,code)} + EVAL("var __TeSt_VaR__ = 1"); // check if it works in global context + if (window.__TeSt_VaR__) { + try { delete window.__TeSt_VaR__; } // NOTE IE9 throws when in IE7 mode + catch (error) { window.__TeSt_VaR__ = null; } + } else { + if (window.execScript) { + // IE + EVAL = function (code) { + BASE.__code = code; + code = "try {"+BASENAME+".__result = eval("+BASENAME+".__code)} catch(err) {"+BASENAME+".__result = err}"; + window.execScript(code); + var result = BASE.__result; delete BASE.__result; delete BASE.__code; + if (result instanceof Error) {throw result} + return result; + } + } else { + // Safari2 + EVAL = function (code) { + BASE.__code = code; + code = "try {"+BASENAME+".__result = eval("+BASENAME+".__code)} catch(err) {"+BASENAME+".__result = err}"; + var head = (document.getElementsByTagName("head"))[0]; if (!head) {head = document.body} + var script = document.createElement("script"); + script.appendChild(document.createTextNode(code)); + head.appendChild(script); head.removeChild(script); + var result = BASE.__result; delete BASE.__result; delete BASE.__code; + if (result instanceof Error) {throw result} + return result; + } + } + } + // + // Create a callback from various types of data + // + var USING = function (args,i) { + if (arguments.length > 1) { + if (arguments.length === 2 && !(typeof arguments[0] === 'function') && + arguments[0] instanceof Object && typeof arguments[1] === 'number') + {args = [].slice.call(args,i)} + else {args = [].slice.call(arguments,0)} + } + if (args instanceof Array && args.length === 1) {args = args[0]} + if (typeof args === 'function') { + if (args.execute === CALLBACK.prototype.execute) {return args} + return CALLBACK({hook: args}); + } else if (args instanceof Array) { + if (typeof(args[0]) === 'string' && args[1] instanceof Object && + typeof args[1][args[0]] === 'function') { + return CALLBACK({hook: args[1][args[0]], object: args[1], data: args.slice(2)}); + } else if (typeof args[0] === 'function') { + return CALLBACK({hook: args[0], data: args.slice(1)}); + } else if (typeof args[1] === 'function') { + return CALLBACK({hook: args[1], object: args[0], data: args.slice(2)}); + } + } else if (typeof(args) === 'string') { + return CALLBACK({hook: EVAL, data: [args]}); + } else if (args instanceof Object) { + return CALLBACK(args); + } else if (typeof(args) === 'undefined') { + return CALLBACK({}); + } + throw Error("Can't make callback from given data"); + }; + + // + // Wait for a given time to elapse and then perform the callback + // + var DELAY = function (time,callback) { + callback = USING(callback); + callback.timeout = setTimeout(callback,time); + return callback; + }; + + // + // Callback used by AFTER, QUEUE, and SIGNAL to check if calls have completed + // + var WAITFOR = function (callback,signal) { + callback = USING(callback); + if (!callback.called) {WAITSIGNAL(callback,signal); signal.pending++} + }; + var WAITEXECUTE = function () { + var signals = this.signal; delete this.signal; + this.execute = this.oldExecute; delete this.oldExecute; + var result = this.execute.apply(this,arguments); + if (ISCALLBACK(result) && !result.called) {WAITSIGNAL(result,signals)} else { + for (var i = 0, m = signals.length; i < m; i++) { + signals[i].pending--; + if (signals[i].pending <= 0) {signals[i].call()} + } + } + }; + var WAITSIGNAL = function (callback,signals) { + if (!(signals instanceof Array)) {signals = [signals]} + if (!callback.signal) { + callback.oldExecute = callback.execute; + callback.execute = WAITEXECUTE; + callback.signal = signals; + } else if (signals.length === 1) {callback.signal.push(signals[0])} + else {callback.signal = callback.signal.concat(signals)} + }; + + // + // Create a callback that is called when a collection of other callbacks have + // all been executed. If the callback gets called immediately (i.e., the + // others are all already called), check if it returns another callback + // and return that instead. + // + var AFTER = function (callback) { + callback = USING(callback); + callback.pending = 0; + for (var i = 1, m = arguments.length; i < m; i++) + {if (arguments[i]) {WAITFOR(arguments[i],callback)}} + if (callback.pending === 0) { + var result = callback(); + if (ISCALLBACK(result)) {callback = result} + } + return callback; + }; + + // + // Run an array of callbacks passing them the given data. + // If any return callbacks, return a callback that will be + // executed when they all have completed. + // + var HOOKS = function (hooks,data,reset) { + if (!hooks) {return null} + if (!(hooks instanceof Array)) {hooks = [hooks]} + if (!(data instanceof Array)) {data = (data == null ? [] : [data])} + var callbacks = [{}]; + for (var i = 0, m = hooks.length; i < m; i++) { + if (reset) {hooks[i].reset()} + var result = hooks[i].apply(window,data); + if (ISCALLBACK(result) && !result.called) {callbacks.push(result)} + } + if (callbacks.length === 1) {return null} + if (callbacks.length === 2) {return callbacks[1]} + return AFTER.apply({},callbacks); + }; + + // + // Command queue that performs commands in order, waiting when + // necessary for commands to complete asynchronousely + // + var QUEUE = BASE.Object.Subclass({ + // + // Create the queue and push any commands that are specified + // + Init: function () { + this.pending = 0; this.running = 0; + this.queue = []; + this.Push.apply(this,arguments); + }, + // + // Add commands to the queue and run them. Adding a callback object + // (rather than a callback specification) queues a wait for that callback. + // Return the final callback for synchronization purposes. + // + Push: function () { + var callback; + for (var i = 0, m = arguments.length; i < m; i++) { + callback = USING(arguments[i]); + if (callback === arguments[i] && !callback.called) + {callback = USING(["wait",this,callback])} + this.queue.push(callback); + } + if (!this.running && !this.pending) {this.Process()} + return callback; + }, + // + // Process the command queue if we aren't waiting on another command + // + Process: function (queue) { + while (!this.running && !this.pending && this.queue.length) { + var callback = this.queue[0]; + queue = this.queue.slice(1); this.queue = []; + this.Suspend(); var result = callback(); this.Resume(); + if (queue.length) {this.queue = queue.concat(this.queue)} + if (ISCALLBACK(result) && !result.called) {WAITFOR(result,this)} + } + }, + // + // Suspend/Resume command processing on this queue + // + Suspend: function () {this.running++}, + Resume: function () {if (this.running) {this.running--}}, + // + // Used by WAITFOR to restart the queue when an action completes + // + call: function () {this.Process.apply(this,arguments)}, + wait: function (callback) {return callback} + }); + + // + // Create a named signal that listeners can attach to, to be signaled by + // postings made to the signal. Posts are queued if they occur while one + // is already in process. + // + var SIGNAL = QUEUE.Subclass({ + Init: function (name) { + QUEUE.prototype.Init.call(this); + this.name = name; + this.posted = []; // the messages posted so far + this.listeners = []; // those with interest in this signal + }, + // + // Post a message to the signal listeners, with callback for when complete + // + Post: function (message,callback,forget) { + callback = USING(callback); + if (this.posting || this.pending) { + this.Push(["Post",this,message,callback,forget]); + } else { + this.callback = callback; callback.reset(); + if (!forget) {this.posted.push(message)} + this.Suspend(); this.posting = 1; + for (var i = 0, m = this.listeners.length; i < m; i++) { + this.listeners[i].reset(); + var result = (this.listeners[i])(message); + if (ISCALLBACK(result) && !result.called) {WAITFOR(result,this)} + } + this.Resume(); delete this.posting; + if (!this.pending) {this.call()} + } + return callback; + }, + // + // Clear the post history (so new listeners won't get old messages) + // + Clear: function (callback) { + callback = USING(callback); + if (this.posting || this.pending) { + callback = this.Push(["Clear",this,callback]); + } else { + this.posted = []; + callback(); + } + return callback; + }, + // + // Call the callback (all replies are in) and process the command queue + // + call: function () {this.callback(this); this.Process()}, + + // + // A listener calls this to register intrest in the signal (so it will be called + // when posts occur). If ignorePast is 1, it will not be sent the post history. + // + Interest: function (callback,ignorePast) { + callback = USING(callback); + this.listeners[this.listeners.length] = callback; + if (!ignorePast) { + for (var i = 0, m = this.posted.length; i < m; i++) { + callback.reset(); + var result = callback(this.posted[i]); + if (ISCALLBACK(result) && i === this.posted.length-1) {WAITFOR(result,this)} + } + } + return callback; + }, + // + // A listener calls this to remove itself from a signal + // + NoInterest: function (callback) { + for (var i = 0, m = this.listeners.length; i < m; i++) { + if (this.listeners[i] === callback) {this.listeners.splice(i,1); return} + } + }, + + // + // Hook a callback to a particular message on this signal + // + MessageHook: function (msg,callback) { + callback = USING(callback); + if (!this.hooks) {this.hooks = {}; this.Interest(["ExecuteHooks",this])} + if (!this.hooks[msg]) {this.hooks[msg] = []} + this.hooks[msg].push(callback); + for (var i = 0, m = this.posted.length; i < m; i++) + {if (this.posted[i] == msg) {callback.reset(); callback(this.posted[i])}} + return callback; + }, + // + // Execute the message hooks for the given message + // + ExecuteHooks: function (msg,more) { + var type = ((msg instanceof Array) ? msg[0] : msg); + return HOOKS(this.hooks[type],[msg],true); + } + + },{ + signals: {}, // the named signals + find: function (name) { + if (!SIGNAL.signals[name]) {SIGNAL.signals[name] = new SIGNAL(name)} + return SIGNAL.signals[name]; + } + }); + + // + // The main entry-points + // + BASE.Callback = BASE.CallBack = USING; + BASE.Callback.Delay = DELAY; + BASE.Callback.After = AFTER; + BASE.Callback.Queue = QUEUE; + BASE.Callback.Signal = SIGNAL.find; + BASE.Callback.ExecuteHooks = HOOKS; +})("MathJax"); + +/**********************************************************/ + +(function (BASENAME) { + var BASE = window[BASENAME]; + if (!BASE) {BASE = window[BASENAME] = {}} + + var isSafari2 = (navigator.vendor === "Apple Computer, Inc." && + typeof navigator.vendorSub === "undefined"); + var sheets = 0; // used by Safari2 + + // + // Update sheets count and look up the head object + // + var HEAD = function (head) { + if (document.styleSheets && document.styleSheets.length > sheets) + {sheets = document.styleSheets.length} + if (!head) { + head = (document.getElementsByTagName("head"))[0]; + if (!head) {head = document.body} + } + return head; + }; + + // + // Remove scripts that are completed so they don't clutter up the HEAD. + // This runs via setTimeout since IE7 can't remove the script while it is running. + // + var SCRIPTS = []; // stores scripts to be removed after a delay + var REMOVESCRIPTS = function () { + for (var i = 0, m = SCRIPTS.length; i < m; i++) {BASE.Ajax.head.removeChild(SCRIPTS[i])} + SCRIPTS = []; + }; + + BASE.Ajax = { + loaded: {}, // files already loaded + loading: {}, // files currently in process of loading + loadHooks: {}, // hooks to call when files are loaded + timeout: 15*1000, // timeout for loading of files (15 seconds) + styleDelay: 1, // delay to use before styles are available + config: {root: ""}, // URL of root directory to load from + + STATUS: { + OK: 1, // file is loading or did load OK + ERROR: -1 // file timed out during load + }, + + rootPattern: new RegExp("^\\["+BASENAME+"\\]"), + + // + // Return a complete URL to a file (replacing the root pattern) + // + fileURL: function (file) {return file.replace(this.rootPattern,this.config.root)}, + + // + // Load a file if it hasn't been already. + // Make sure the file URL is "safe"? + // + Require: function (file,callback) { + callback = BASE.Callback(callback); var type; + if (file instanceof Object) {for (var i in file) {}; type = i.toUpperCase(); file = file[i]} + else {type = file.split(/\./).pop().toUpperCase()} + file = this.fileURL(file); + // FIXME: check that URL is OK + if (this.loaded[file]) { + callback(this.loaded[file]); + } else { + var FILE = {}; FILE[type] = file; + this.Load(FILE,callback); + } + return callback; + }, + + // + // Load a file regardless of where it is and whether it has + // already been loaded. + // + Load: function (file,callback) { + callback = BASE.Callback(callback); var type; + if (file instanceof Object) {for (var i in file) {}; type = i.toUpperCase(); file = file[i]} + else {type = file.split(/\./).pop().toUpperCase()} + file = this.fileURL(file); + if (this.loading[file]) { + if (!this.loadHooks[file]) {this.loadHooks[file] = []} + this.loadHooks[file].push(callback); + } else { + this.head = HEAD(this.head); + if (this.loader[type]) {this.loader[type].call(this,file,callback)} + else {throw Error("Can't load files of type "+type)} + } + return callback; + }, + + // + // Register a load hook for a particular file (it will be called when + // loadComplete() is called for that file) + // + LoadHook: function (file,callback) { + callback = BASE.Callback(callback); + if (file instanceof Object) {for (var i in file) {file = file[i]}} + file = this.fileURL(file); + if (this.loaded[file]) { + callback(this.loaded[file]); + } else { + if (!this.loadHooks[file]) {this.loadHooks[file] = []} + this.loadHooks[file].push(callback); + } + return callback; + }, + + // + // Used when files are combined in a preloading configuration file + // + Preloading: function () { + for (var i = 0, m = arguments.length; i < m; i++) { + var file = this.fileURL(arguments[i]); + if (!this.loading[file]) {this.loading[file] = {preloaded: true}} + } + }, + + // + // Code used to load the various types of files + // (JS for JavaScript, CSS for style sheets) + // + loader: { + // + // Create a SCRIPT tag to load the file + // + JS: function (file,callback) { + var script = document.createElement("script"); + var timeout = BASE.Callback(["loadTimeout",this,file]); + this.loading[file] = { + callback: callback, + message: BASE.Message.File(file), + timeout: setTimeout(timeout,this.timeout), + status: this.STATUS.OK, + script: script + }; + script.onerror = timeout; // doesn't work in IE and no apparent substitute + script.type = "text/javascript"; + script.src = file; + this.head.appendChild(script); + }, + // + // Create a LINK tag to load the style sheet + // + CSS: function (file,callback) { + var link = document.createElement("link"); + link.rel = "stylesheet"; link.type = "text/css"; link.href = file; + this.loading[file] = { + callback: callback, + message: BASE.Message.File(file), + status: this.STATUS.OK + }; + this.head.appendChild(link); + this.timer.create.call(this,[this.timer.file,file],link); + } + }, + + // + // Timing code for checking when style sheets are available. + // + timer: { + // + // Create the timing callback and start the timing loop. + // We use a delay because some browsers need it to allow the styles + // to be processed. + // + create: function (callback,node) { + callback = BASE.Callback(callback); + if (node.nodeName === "STYLE" && node.styleSheet && + typeof(node.styleSheet.cssText) !== 'undefined') { + callback(this.STATUS.OK); // MSIE processes style immediately, but doesn't set its styleSheet! + } else if (window.chrome && typeof(window.sessionStorage) !== "undefined" && + node.nodeName === "STYLE") { + callback(this.STATUS.OK); // Same for Chrome 5 (beta), Grrr. + } else if (isSafari2) { + this.timer.start(this,[this.timer.checkSafari2,sheets++,callback],this.styleDelay); + } else { + this.timer.start(this,[this.timer.checkLength,node,callback],this.styleDelay); + } + return callback; + }, + // + // Start the timer for the given callback checker + // + start: function (AJAX,check,delay,timeout) { + check = BASE.Callback(check); + check.execute = this.execute; check.time = this.time; + check.STATUS = AJAX.STATUS; check.timeout = timeout || AJAX.timeout; + check.delay = check.total = 0; + setTimeout(check,delay); + }, + // + // Increment the time total, increase the delay + // and test if we are past the timeout time. + // + time: function (callback) { + this.total += this.delay; + this.delay = Math.floor(this.delay * 1.05 + 5); + if (this.total >= this.timeout) {callback(this.STATUS.ERROR); return 1} + return 0; + }, + // + // For JS file loads, call the proper routine according to status + // + file: function (file,status) { + if (status < 0) {BASE.Ajax.loadTimeout(file)} else {BASE.Ajax.loadComplete(file)} + }, + // + // Call the hook with the required data + // + execute: function () {this.hook.call(this.object,this,this.data[0],this.data[1])}, + // + // Safari2 doesn't set the link's stylesheet, so we need to look in the + // document.styleSheets array for the new sheet when it is created + // + checkSafari2: function (check,length,callback) { + if (check.time(callback)) return; + if (document.styleSheets.length > length && + document.styleSheets[length].cssRules && + document.styleSheets[length].cssRules.length) + {callback(check.STATUS.OK)} else {setTimeout(check,check.delay)} + }, + // + // Look for the stylesheets rules and check when they are defined + // and no longer of length zero. (This assumes there actually ARE + // some rules in the stylesheet.) + // + checkLength: function (check,node,callback) { + if (check.time(callback)) return; + var isStyle = 0; var sheet = (node.sheet || node.styleSheet); + try {if ((sheet.cssRules||sheet.rules||[]).length > 0) {isStyle = 1}} catch(err) { + if (err.message.match(/protected variable|restricted URI/)) {isStyle = 1} + else if (err.message.match(/Security error/)) { + // Firefox3 gives "Security error" for missing files, so + // can't distinguish that from OK files on remote servers. + // or OK files in different directory from local files. + isStyle = 1; // just say it is OK (can't really tell) + } + } + if (isStyle) { + // Opera 9.6 requires this setTimeout + setTimeout(BASE.Callback([callback,check.STATUS.OK]),0); + } else { + setTimeout(check,check.delay); + } + } + }, + + // + // JavaScript code must call this when they are completely initialized + // (this allows them to perform asynchronous actions before indicating + // that they are complete). + // + loadComplete: function (file) { + file = this.fileURL(file); + var loading = this.loading[file]; + if (loading && !loading.preloaded) { + BASE.Message.Clear(loading.message); + clearTimeout(loading.timeout); + if (loading.script) { + if (SCRIPTS.length === 0) {setTimeout(REMOVESCRIPTS,0)} + SCRIPTS.push(loading.script); + } + this.loaded[file] = loading.status; delete this.loading[file]; + if (!this.loadHooks[file]) {this.loadHooks[file] = []} + this.loadHooks[file].push(loading.callback); + } else { + this.loaded[file] = this.STATUS.OK; + loading = {status: this.STATUS.OK} + } + BASE.Callback.ExecuteHooks(this.loadHooks[file],loading.status); + }, + + // + // If a file fails to load within the timeout period (or the onerror handler + // is called), this routine runs to signal the error condition. + // + loadTimeout: function (file) { + if (this.loading[file].timeout) {clearTimeout(this.loading[file].timeout)} + this.loading[file].status = this.STATUS.ERROR; + this.loadError(file); + this.loadComplete(file); + }, + + // + // The default error hook for file load failures + // + loadError: function (file) {BASE.Message.Set("File failed to load: "+file,null,2000)}, + + // + // Defines a style sheet from a hash of style declarations (key:value pairs + // where the key is the style selector and the value is a hash of CSS attributes + // and values). + // + Styles: function (styles,callback) { + var styleString = this.StyleString(styles); + if (styleString === "") { + callback = BASE.Callback(callback); + callback(); + } else { + var style = document.createElement("style"); style.type = "text/css"; + this.head = HEAD(this.head); + this.head.appendChild(style); + if (style.styleSheet && typeof(style.styleSheet.cssText) !== 'undefined') { + style.styleSheet.cssText = styleString; + } else { + style.appendChild(document.createTextNode(styleString)); + } + callback = this.timer.create.call(this,callback,style); + } + return callback; + }, + + // + // Create a stylesheet string from a style declaration object + // + StyleString: function (styles) { + if (typeof(styles) === 'string') {return styles} + var string = "", id, style; + for (id in styles) {if (styles.hasOwnProperty(id)) { + if (typeof styles[id] === 'string') { + string += id + " {"+styles[id]+"}\n"; + } else if (styles[id] instanceof Array) { + for (var i = 0; i < styles[id].length; i++) { + style = {}; style[id] = styles[id][i]; + string += this.StyleString(style); + } + } else if (id.substr(0,6) === '@media') { + string += id + " {"+this.StyleString(styles[id])+"}\n"; + } else if (styles[id] != null) { + style = []; + for (var name in styles[id]) {if (styles[id].hasOwnProperty(name)) { + if (styles[id][name] != null) + {style[style.length] = name + ': ' + styles[id][name]} + }} + string += id +" {"+style.join('; ')+"}\n"; + } + }} + return string; + } + }; + +})("MathJax"); + +/**********************************************************/ + +MathJax.HTML = { + // + // Create an HTML element with given attributes and content. + // The def parameter is an (optional) object containing key:value pairs + // of the attributes and their values, and contents is an (optional) + // array of strings to be inserted as text, or arrays of the form + // [type,def,contents] that describes an HTML element to be inserted + // into the current element. Thus the contents can describe a complete + // HTML snippet of arbitrary complexity. E.g.: + // + // MathJax.HTML.Element("span",{id:"mySpan",style{"font-style":"italic"}},[ + // "(See the ",["a",{href:"http://www.mathjax.org"},["MathJax home page"]], + // " for more details.)"]); + // + Element: function (type,def,contents) { + var obj = document.createElement(type); + if (def) { + if (def.style) { + var style = def.style; def.style = {}; + for (var id in style) {if (style.hasOwnProperty(id)) + {def.style[id.replace(/-([a-z])/g,this.ucMatch)] = style[id]}} + } + MathJax.Hub.Insert(obj,def); + } + if (contents) { + for (var i = 0; i < contents.length; i++) { + if (contents[i] instanceof Array) { + obj.appendChild(this.Element(contents[i][0],contents[i][1],contents[i][2])); + } else { + obj.appendChild(document.createTextNode(contents[i])); + } + } + } + return obj; + }, + ucMatch: function (match,c) {return c.toUpperCase()}, + addElement: function (span,type,def,contents) {return span.appendChild(this.Element(type,def,contents))}, + TextNode: function (text) {return document.createTextNode(text)}, + addText: function (span,text) {return span.appendChild(this.TextNode(text))}, + + // + // Set the text of a script + // + setScript: function (script,text) { + if (this.setScriptBug) {script.text = text} else { + while (script.firstChild) {script.removeChild(script.firstChild)} + this.addText(script,text); + } + }, + + // + // Manage cookies + // + Cookie: { + prefix: "mjx", + expires: 365, + + // + // Save an object as a named cookie + // + Set: function (name,def) { + var keys = []; + if (def) { + for (var id in def) {if (def.hasOwnProperty(id)) { + keys.push(id+":"+def[id].toString().replace(/&/g,"&&")); + }} + } + var cookie = this.prefix+"."+name+"="+escape(keys.join('&;')); + if (this.expires) { + var time = new Date(); time.setDate(time.getDate() + this.expires); + cookie += '; expires='+time.toGMTString(); + } + document.cookie = cookie+"; path=/"; + }, + + // + // Get the contents of a named cookie and incorporate + // it into the given object (or return a fresh one) + // + Get: function (name,obj) { + if (!obj) {obj = {}} + var pattern = new RegExp("(?:^|;\\s*)"+this.prefix+"\\."+name+"=([^;]*)(?:;|$)"); + var match = pattern.exec(document.cookie); + if (match && match[1] !== "") { + var keys = unescape(match[1]).split('&;'); + for (var i = 0, m = keys.length; i < m; i++) { + match = keys[i].match(/([^:]+):(.*)/); + var value = match[2].replace(/&&/g,'&'); + if (value === "true") {value = true} else if (value === "false") {value = false} + else if (value.match(/^-?(\d+(\.\d+)?|\.\d+)$/)) {value = parseFloat(value)} + obj[match[1]] = value; + } + } + return obj; + } + } +}; + +/**********************************************************/ + +MathJax.Message = { + ready: false, // used to tell when the styles are available + log: [{}], current: null, + textNodeBug: (navigator.vendor === "Apple Computer, Inc." && + typeof navigator.vendorSub === "undefined") || + (window.hasOwnProperty && window.hasOwnProperty("konqueror")), // Konqueror displays some gibberish with text.nodeValue = "..." + + styles: { + "#MathJax_Message": { + position: "fixed", left: "1px", bottom: "2px", + 'background-color': "#E6E6E6", border: "1px solid #959595", + margin: "0px", padding: "2px 8px", + 'z-index': "102", color: "black", 'font-size': "80%", + width: "auto", 'white-space': "nowrap" + }, + + "#MathJax_MSIE_Frame": { + position: "absolute", + top:0, left: 0, width: "0px", 'z-index': 101, + border: "0px", margin: "0px", padding: "0px" + } + }, + + browsers: { + MSIE: function (browser) { + MathJax.Hub.config.styles["#MathJax_Message"].position = "absolute"; + MathJax.Message.quirks = (document.compatMode === "BackCompat"); + }, + Chrome: function (browser) { + MathJax.Hub.config.styles["#MathJax_Message"].bottom = "1.5em"; + MathJax.Hub.config.styles["#MathJax_Message"].left = "1em"; + } + }, + + Init: function (styles) { + if (styles) {this.ready = true} + if (!document.body || !this.ready) {return false} + // + // ASCIIMathML replaces the entire page with a copy of itself (@#!#%@!!) + // so check that this.div is still part of the page, otherwise look up + // the copy and use that. + // + if (this.div && this.div.parentNode == null) { + this.div = document.getElementById("MathJax_Message"); + if (this.div) {this.text = this.div.firstChild} + } + if (!this.div) { + var frame = document.body; + if (MathJax.Hub.Browser.isMSIE) { + frame = this.frame = this.addDiv(document.body); frame.removeAttribute("id"); + frame.style.position = "absolute"; + frame.style.border = frame.style.margin = frame.style.padding = "0px"; + frame.style.zIndex = "101"; frame.style.height = "0px"; + frame = this.addDiv(frame); + frame.id = "MathJax_MSIE_Frame"; + window.attachEvent("onscroll",this.MoveFrame); + window.attachEvent("onresize",this.MoveFrame); + this.MoveFrame(); + } + this.div = this.addDiv(frame); this.div.style.display = "none"; + this.text = this.div.appendChild(document.createTextNode("")); + } + return true; + }, + + addDiv: function (parent) { + var div = document.createElement("div"); + div.id = "MathJax_Message"; + if (parent.firstChild) {parent.insertBefore(div,parent.firstChild)} + else {parent.appendChild(div)} + return div; + }, + + MoveFrame: function () { + var body = (MathJax.Message.quirks ? document.body : document.documentElement); + var frame = MathJax.Message.frame; + frame.style.left = body.scrollLeft + 'px'; + frame.style.top = body.scrollTop + 'px'; + frame.style.width = body.clientWidth + 'px'; + frame = frame.firstChild; + frame.style.height = body.clientHeight + 'px'; + }, + + filterText: function (text,n) { + if (MathJax.Hub.config.messageStyle === "simple") { + if (text.match(/^Loading /)) { + if (!this.loading) {this.loading = "Loading "} + text = this.loading; this.loading += "."; + } else if (text.match(/^Processing /)) { + if (!this.processing) {this.processing = "Processing "} + text = this.processing; this.processing += "."; + } + } + return text; + }, + + Set: function (text,n,clearDelay) { + if (this.timer) {clearTimeout(this.timer); delete this.timeout} + if (n == null) {n = this.log.length; this.log[n] = {}} + this.log[n].text = text; this.log[n].filteredText = text = this.filterText(text,n); + if (typeof(this.log[n].next) === "undefined") { + this.log[n].next = this.current; + if (this.current != null) {this.log[this.current].prev = n} + this.current = n; + } + if (this.current === n && MathJax.Hub.config.messageStyle !== "none") { + if (this.Init()) { + if (this.textNodeBug) {this.div.innerHTML = text} else {this.text.nodeValue = text} + this.div.style.display = ""; + if (this.status) {window.status = ""; delete this.status} + } else { + window.status = text; + this.status = true; + } + } + if (clearDelay) {setTimeout(MathJax.Callback(["Clear",this,n]),clearDelay)} + return n; + }, + + Clear: function (n,delay) { + if (this.log[n].prev != null) {this.log[this.log[n].prev].next = this.log[n].next} + if (this.log[n].next != null) {this.log[this.log[n].next].prev = this.log[n].prev} + if (this.current === n) { + this.current = this.log[n].next; + if (this.text) { + if (this.div.parentNode == null) {this.Init()} // see ASCIIMathML comments above + if (this.current == null) { + if (this.timer) {clearTimeout(this.timer)} + this.timer = setTimeout(MathJax.Callback(["Remove",this]),(delay||600)); + } else if (MathJax.Hub.config.messageStyle !== "none") { + if (this.textNodeBug) {this.div.innerHTML = this.log[this.current].filteredText} + else {this.text.nodeValue = this.log[this.current].filteredText} + } + if (this.status) {window.status = ""; delete this.status} + } else if (this.status) { + window.status = (this.current == null ? "" : this.log[this.current].text); + } + } + delete this.log[n].next; delete this.log[n].prev; + delete this.log[n].filteredText; + }, + + Remove: function () { + // FIXME: do a fade out or something else interesting? + this.text.nodeValue = ""; + this.div.style.display = "none"; + }, + + File: function (file) { + var root = MathJax.Ajax.config.root; + if (file.substr(0,root.length) === root) {file = "[MathJax]"+file.substr(root.length)} + return this.Set("Loading "+file); + }, + + Log: function () { + var strings = []; + for (var i = 1, m = this.log.length; i < m; i++) {strings[i] = this.log[i].text} + return strings.join("\n"); + } + +}; + +/**********************************************************/ + +MathJax.Hub = { + config: { + root: "", + config: [], // list of configuration files to load + styleSheets: [], // list of CSS files to load + styles: {}, // styles to generate in-line + jax: [], // list of input and output jax to load + extensions: [], // list of extensions to load + preJax: null, // pattern to remove from before math script tag + postJax: null, // pattern to remove from after math script tag + displayAlign: 'center', // how to align displayed equations (left, center, right) + displayIndent: '0', // indentation for displayed equations (when not centered) + preRemoveClass: 'MathJax_Preview', // class of objects to remove preceeding math script + showProcessingMessages: true, // display "Processing math: nn%" messages or not + messageStyle: "normal", // set to "none" or "simple" (for "Loading..." and "Processing...") + delayStartupUntil: "none", // set to "onload" to delay setup until the onload handler runs + // set to "configured" to delay startup until MathJax.Hub.Configured() is called + // set to a Callback to wait for before continuing with the startup + skipStartupTypeset: false, // set to true to skip PreProcess and Process during startup + "v1.0-compatible": true, // set to false to prevent loading of default configuration file + elements: [], // array of elements to process when none is given explicitly + + preProcessors: [], // list of callbacks for preprocessing (initialized by extensions) + inputJax: {}, // mime-type mapped to input jax (by registration) + outputJax: {order:{}}, // mime-type mapped to output jax list (by registration) + + menuSettings: { + //format: "MathML", // the Show Source format (set in MathMenu.js) + zoom: "None", // when to do MathZoom + CTRL: false, // require CTRL for MathZoom? + ALT: false, // require Alt or Option? + CMD: false, // require CMD? + Shift: false, // require Shift? + zscale: "200%", // the scaling factor for MathZoom + renderer: "", // set when Jax are loaded + font: "Auto", // what font HTML-CSS should use + context: "MathJax" // or "Browser" for pass-through to browser menu + }, + + errorSettings: { + message: ["[Math Processing Error]"], // HTML snippet structure for message to use + style: {color: "#CC0000", "font-style":"italic"} // style for message + } + }, + + processUpdateTime: 250, // time between screen updates when processing math (milliseconds) + + signal: MathJax.Callback.Signal("Hub"), // Signal used for Hub events + + Config: function (def) { + this.Insert(this.config,def); + if (this.config.Augment) {this.Augment(this.config.Augment)} + }, + CombineConfig: function (name,def) { + var config = this.config, id, parent; name = name.split(/\./); + for (var i = 0, m = name.length; i < m; i++) { + id = name[i]; if (!config[id]) {config[id] = {}} + parent = config; config = config[id]; + } + parent[id] = config = this.Insert(def,config); + return config; + }, + + Register: { + PreProcessor: function (callback) {MathJax.Hub.config.preProcessors.push(MathJax.Callback(callback))}, + MessageHook: function () {return MathJax.Hub.signal.MessageHook.apply(MathJax.Hub.signal,arguments)}, + StartupHook: function () {return MathJax.Hub.Startup.signal.MessageHook.apply(MathJax.Hub.Startup.signal,arguments)}, + LoadHook: function () {return MathJax.Ajax.LoadHook.apply(MathJax.Ajax,arguments)} + }, + + getAllJax: function (element) { + var jax = [], scripts = this.elementScripts(element); + for (var i = 0, m = scripts.length; i < m; i++) { + if (scripts[i].MathJax && scripts[i].MathJax.elementJax) + {jax.push(scripts[i].MathJax.elementJax)} + } + return jax; + }, + + getJaxByType: function (type,element) { + var jax = [], scripts = this.elementScripts(element); + for (var i = 0, m = scripts.length; i < m; i++) { + if (scripts[i].MathJax && scripts[i].MathJax.elementJax && + scripts[i].MathJax.elementJax.mimeType === type) + {jax.push(scripts[i].MathJax.elementJax)} + } + return jax; + }, + + getJaxByInputType: function (type,element) { + var jax = [], scripts = this.elementScripts(element); + for (var i = 0, m = scripts.length; i < m; i++) { + if (scripts[i].MathJax && scripts[i].MathJax.elementJax && + scripts[i].type && scripts[i].type.replace(/ *;(.|\s)*/,"") === type) + {jax.push(scripts[i].MathJax.elementJax)} + } + return jax; + }, + + getJaxFor: function (element) { + if (typeof(element) === 'string') {element = document.getElementById(element)} + if (element && element.MathJax) {return element.MathJax.elementJax} + // FIXME: also check for results of outputJax + return null; + }, + + isJax: function (element) { + if (typeof(element) === 'string') {element = document.getElementById(element)} + if (element && element.tagName != null && element.tagName.toLowerCase() === 'script') { + if (element.MathJax) + {return (element.MathJax.state === MathJax.ElementJax.STATE.PROCESSED ? 1 : -1)} + if (element.type && this.config.inputJax[element.type.replace(/ *;(.|\s)*/,"")]) {return -1} + } + // FIXME: check for results of outputJax + return 0; + }, + + Queue: function () { + return this.queue.Push.apply(this.queue,arguments); + }, + + Typeset: function (element,callback) { + if (!MathJax.isReady) return null; + var ec = this.elementCallback(element,callback); + var queue = MathJax.Callback.Queue(); + for (var i = 0, m = ec.elements.length; i < m; i++) { + if (ec.elements[i]) { + queue.Push( + ["PreProcess",this,ec.elements[i]], + ["Process",this,ec.elements[i]] + ); + } + } + return queue.Push(ec.callback); + }, + + PreProcess: function (element,callback) { + var ec = this.elementCallback(element,callback); + var queue = MathJax.Callback.Queue(); + for (var i = 0, m = ec.elements.length; i < m; i++) { + if (ec.elements[i]) { + queue.Push( + ["Post",this.signal,["Begin PreProcess",ec.elements[i]]], + ["ExecuteHooks",MathJax.Callback, + (arguments.callee.disabled ? [] : this.config.preProcessors), ec.elements[i], true], + ["Post",this.signal,["End PreProcess",ec.elements[i]]] + ); + } + } + return queue.Push(ec.callback); + }, + + Process: function (element,callback) {return this.takeAction("Process",element,callback)}, + Update: function (element,callback) {return this.takeAction("Update",element,callback)}, + Reprocess: function (element,callback) {return this.takeAction("Reprocess",element,callback)}, + + takeAction: function (action,element,callback) { + var ec = this.elementCallback(element,callback); + var queue = MathJax.Callback.Queue(["Clear",this.signal]); + for (var i = 0, m = ec.elements.length; i < m; i++) { + if (ec.elements[i]) { + var scripts = []; // filled in by prepareScripts + queue.Push( + ["Post",this.signal,["Begin "+action,ec.elements[i]]], + ["Post",this.signal,["Begin Math",ec.elements[i]]], + ["prepareScripts",this,action,ec.elements[i],scripts], + ["processScripts",this,scripts], + ["Post",this.signal,["End Math",ec.elements[i]]], + ["Post",this.signal,["End "+action,ec.elements[i]]] + ); + } + } + return queue.Push(ec.callback); + }, + + scriptAction: { + Process: function (script) {}, + Update: function (script) { + var jax = script.MathJax.elementJax; + // FIXME: Have intputJax determine if things have changed? + if (jax && jax.originalText === (script.text == "" ? script.innerHTML : script.text)) + {script.MathJax.state = jax.STATE.PROCESSED} else + {jax.outputJax.Remove(jax); script.MathJax.state = jax.STATE.UPDATE} + }, + Reprocess: function (script) { + var jax = script.MathJax.elementJax; + if (jax) {jax.outputJax.Remove(jax); script.MathJax.state = jax.STATE.UPDATE} + } + }, + + prepareScripts: function (action,element,math) { + if (arguments.callee.disabled) return; + var scripts = this.elementScripts(element); + var STATE = MathJax.ElementJax.STATE; + for (var i = 0, m = scripts.length; i < m; i++) { + var script = scripts[i]; + if (script.type && this.config.inputJax[script.type.replace(/ *;(.|\n)*/,"")]) { + if (script.MathJax && script.MathJax.state !== STATE.PENDING) + {this.scriptAction[action](script)} + if (!script.MathJax) {script.MathJax = {state: STATE.PENDING}} + if (script.MathJax.state !== STATE.PROCESSED) {math.push(script)} + } + } + }, + + checkScriptSiblings: function (script) { + if (script.MathJax && script.MathJax.checked) return; + var config = this.config; + var pre = script.previousSibling; + if (pre && pre.nodeName == "#text") { + var preJax,postJax; + var post = script.nextSibling; + if (post && post.nodeName != "#text") {post = null} + if (config.preJax) { + if (typeof(config.preJax) === "string") {config.preJax = new RegExp(config.preJax+"$")} + preJax = pre.nodeValue.match(config.preJax); + } + if (config.postJax && post) { + if (typeof(config.postJax) === "string") {config.postJax = new RegExp("^"+config.postJax)} + postJax = post.nodeValue.match(config.postJax); + } + if (preJax && (!config.postJax || postJax)) { + pre.nodeValue = pre.nodeValue.replace + (config.preJax,(preJax.length > 1? preJax[1] : "")); + pre = null; + } + if (postJax && (!config.preJax || preJax)) { + post.nodeValue = post.nodeValue.replace + (config.postJax,(postJax.length > 1? postJax[1] : "")); + } + if (pre && !pre.nodeValue.match(/\S/)) {pre = pre.previousSibling} + } + if (config.preRemoveClass && pre && pre.className == config.preRemoveClass) { + try {pre.innerHTML = ""} catch (err) {} + pre.style.display = "none"; + } + if (script.MathJax) {script.MathJax.checked = 1} + }, + + processScripts: function (scripts,start,n) { + if (arguments.callee.disabled) {return null} + var result, STATE = MathJax.ElementJax.STATE; + var inputJax = this.config.inputJax, outputJax = this.config.outputJax; + try { + if (!start) {start = new Date().getTime()} + var i = 0, script, prev; + while (i < scripts.length) { + script = scripts[i]; if (!script) {i++; continue} + prev = script.previousSibling; + if (prev && prev.className === "MathJax_Error") {prev.parentNode.removeChild(prev)} + var type = script.type.replace(/ *;(.|\s)*/,""); + if (!script.MathJax || script.MathJax.state === STATE.PROCESSED) {i++; continue}; + if (!script.MathJax.elementJax || script.MathJax.state === STATE.UPDATE) { + this.checkScriptSiblings(script); + result = inputJax[type].Process(script); + if (typeof result === 'function') { + if (result.called) continue; // go back and call Process() again + this.RestartAfter(result); + } + result.Attach(script,inputJax[type]); + script.MathJax.state = STATE.OUTPUT; + } + var jax = script.MathJax.elementJax; + if (!outputJax[jax.mimeType]) { + script.MathJax.state = STATE.UPDATE; + throw Error("No output jax registered for "+jax.mimeType); + } + jax.outputJax = outputJax[jax.mimeType][0]; + result = jax.outputJax.Process(script); + if (typeof result === 'function') { + if (result.called) continue; // go back and call Process() again + this.RestartAfter(result); + } + script.MathJax.state = STATE.PROCESSED; + this.signal.Post(["New Math",jax.inputID]); // FIXME: wait for this? (i.e., restart if returns uncalled callback) + i++; + if (new Date().getTime() - start > this.processUpdateTime && i < scripts.length) + {start = 0; this.RestartAfter(MathJax.Callback.Delay(1))} + } + } catch (err) { + if (!err.restart) { + if (!this.config.errorSettings.message) {throw err} + this.formatError(script,err); i++; + } + if (!n) {n = 0}; var m = Math.floor((n+i)/(n+scripts.length)*100); n += i; + if (this.config.showProcessingMessages) {MathJax.Message.Set("Processing math: "+m+"%",0)} + return MathJax.Callback.After(["processScripts",this,scripts.slice(i),start,n],err.restart); + } + if ((n || scripts.length) && this.config.showProcessingMessages) { + MathJax.Message.Set("Processing Math: 100%",0); + MathJax.Message.Clear(0); + } + return null; + }, + formatError: function (script,err) { + var error = MathJax.HTML.Element("span",{className:"MathJax_Error"},this.config.errorSettings.message); + script.parentNode.insertBefore(error,script); + this.lastError = err; + }, + + RestartAfter: function (callback) { + throw this.Insert(Error("restart"),{restart: MathJax.Callback(callback)}); + }, + + elementCallback: function (element,callback) { + if (callback == null && (element instanceof Array || typeof element === 'function')) + {try {MathJax.Callback(element); callback = element; element = null} catch(e) {}} + if (element == null) {element = this.config.elements || []} + if (!(element instanceof Array)) {element = [element]} + element = [].concat(element); // make a copy so the original isn't changed + for (var i = 0, m = element.length; i < m; i++) + {if (typeof(element[i]) === 'string') {element[i] = document.getElementById(element[i])}} + if (element.length == 0) {element.push(document.body)} + if (!callback) {callback = {}} + return {elements: element, callback: callback}; + }, + + elementScripts: function (element) { + if (typeof(element) === 'string') {element = document.getElementById(element)} + if (element == null) {element = document.body} + if (element.tagName != null && element.tagName.toLowerCase() === "script") {return [element]} + return element.getElementsByTagName("script"); + }, + + Insert: function (dst,src) { + for (var id in src) {if (src.hasOwnProperty(id)) { + // allow for concatenation of arrays? + if (typeof src[id] === 'object' && !(src[id] instanceof Array) && + (typeof dst[id] === 'object' || typeof dst[id] === 'function')) { + this.Insert(dst[id],src[id]); + } else { + dst[id] = src[id]; + } + }} + return dst; + } +}; +MathJax.Hub.Insert(MathJax.Hub.config.styles,MathJax.Message.styles); +MathJax.Hub.Insert(MathJax.Hub.config.styles,{".MathJax_Error":MathJax.Hub.config.errorSettings.style}); + +// +// Storage area for preprocessors and extensions +// (should these be classes?) +// +MathJax.Extension = {}; + +// +// Hub Startup code +// +MathJax.Hub.Configured = MathJax.Callback({}); // called when configuration is complete +MathJax.Hub.Startup = { + script: "", // the startup script from the SCRIPT call that loads MathJax.js + queue: MathJax.Callback.Queue(), // Queue used for startup actions + signal: MathJax.Callback.Signal("Startup"), // Signal used for startup events + params: {}, + + // + // Load the configuration files + // + Config: function () { + this.queue.Push(["Post",this.signal,"Begin Config"]); + // + // Check for user cookie configuration + // + var user = MathJax.HTML.Cookie.Get("user"); + if (user.URL || user.Config) { + if (confirm( + "MathJax has found a user-configuration cookie that includes code to be run. " + + "Do you want to run it?\n\n"+ + "(You should press Cancel unless you set up the cookie yourself.)" + )) { + if (user.URL) {this.queue.Push(["Require",MathJax.Ajax,user.URL])} + if (user.Config) {this.queue.Push(new Function(user.Config))} + } else {MathJax.HTML.Cookie.Set("user",{})} + } + // + // Run the config files, if any are given in the parameter list + // + if (this.params.config) { + var files = this.params.config.split(/,/); + for (var i = 0, m = files.length; i < m; i++) { + if (!files[i].match(/\.js$/)) {files[i] += ".js"} + this.queue.Push(["Require",MathJax.Ajax,this.URL("config",files[i])]); + } + } + // + // Run the deprecated configuration script, if any (ignoring return value) + // Wait for the startup delay signal + // Run the mathjax-config blocks + // Handle the default configuration (v1.0 compatible) + // Load the files in the configuration's config array + // + if (this.script.match(/\S/)) {this.queue.Push(this.script+";\n1;")} + this.queue.Push( + ["ConfigDelay",this], + ["ConfigBlocks",this], + ["ConfigDefault",this], + [function (THIS) {return THIS.loadArray(MathJax.Hub.config.config,"config",null,true)},this], + ["Post",this.signal,"End Config"] + ); + }, + // + // Return the delay callback + // + ConfigDelay: function () { + var delay = this.params.delayStartupUntil || MathJax.Hub.config.delayStartupUntil; + if (delay === "onload") {return this.onload} + if (delay === "configured") {return MathJax.Hub.Configured} + return delay; + }, + // + // Run the scipts of type=text/x-mathajx-config + // + ConfigBlocks: function () { + var scripts = document.getElementsByTagName("script"); + var last = null, queue = MathJax.Callback.Queue(); + for (var i = 0, m = scripts.length; i < m; i++) { + var type = String(scripts[i].type).replace(/ /g,""); + if (type.match(/^text\/x-mathjax-config(;.*)?$/) && !type.match(/;executed=true/)) { + scripts[i].type += ";executed=true"; + last = queue.Push(scripts[i].innerHTML+";\n1;"); + } + } + return last; + }, + // + // Check for v1.0 no-configuration and put up a warning message. + // + ConfigDefault: function () { + var CONFIG = MathJax.Hub.config; + if (CONFIG["v1.0-compatible"] && CONFIG.jax.length === 0) + {return MathJax.Ajax.Require(this.URL("extensions","v1.0-warning.js"))} + }, + + // + // Read cookie and set up menu defaults + // (adjust the jax to accommodate renderer preferences) + // + Cookie: function () { + return this.queue.Push( + ["Post",this.signal,"Begin Cookie"], + ["Get",MathJax.HTML.Cookie,"menu",MathJax.Hub.config.menuSettings], + [function (config) { + var renderer = config.menuSettings.renderer, jax = config.jax; + if (renderer) { + var name = "output/"+renderer; jax.sort(); + for (var i = 0, m = jax.length; i < m; i++) { + if (jax[i].substr(0,7) === "output/") break; + } + if (i == m-1) {jax.pop()} else { + while (i < m) {if (jax[i] === name) {jax.splice(i,1); break}; i++} + } + jax.unshift(name); + } + },MathJax.Hub.config], + ["Post",this.signal,"End Cookie"] + ); + }, + // + // Setup stylesheets and extra styles + // + Styles: function () { + return this.queue.Push( + ["Post",this.signal,"Begin Styles"], + ["loadArray",this,MathJax.Hub.config.styleSheets,"config"], + ["Styles",MathJax.Ajax,MathJax.Hub.config.styles], + ["Post",this.signal,"End Styles"] + ); + }, + // + // Load the input and output jax + // + Jax: function () { + var config = MathJax.Hub.config; + // Save the order of the output jax since they are loading asynchronously + for (var i = 0, m = config.jax.length, k = 0; i < m; i++) { + if (config.jax[i].substr(0,7) === "output/") + {config.outputJax.order[config.jax[i].substr(7)] = k; k++} + } + var queue = MathJax.Callback.Queue(); + return queue.Push( + ["Post",this.signal,"Begin Jax"], + ["loadArray",this,config.jax,"jax","config.js"], + ["Post",this.signal,"End Jax"] + ); + }, + // + // Load the extensions + // + Extensions: function () { + var queue = MathJax.Callback.Queue(); + return queue.Push( + ["Post",this.signal,"Begin Extensions"], + ["loadArray",this,MathJax.Hub.config.extensions,"extensions"], + ["Post",this.signal,"End Extensions"] + ); + }, + + // + // Initialize the Message system + // + Message: function () { + MathJax.Message.Init(true); + }, + + // + // Set the math menu renderer, if it isn't already + // (this must come after the jax are loaded) + // + Menu: function () { + var menu = MathJax.Hub.config.menuSettings, jax = MathJax.Hub.config.outputJax, registered; + for (var id in jax) {if (jax.hasOwnProperty(id)) { + if (jax[id].length) {registered = jax[id]; break} + }} + if (registered && registered.length) { + if (menu.renderer && menu.renderer !== registered[0].id) + {registered.unshift(MathJax.OutputJax[menu.renderer])} + menu.renderer = registered[0].id; + } + }, + + // + // Setup the onload callback + // + onLoad: function (when) { + var onload = this.onload = + MathJax.Callback(function () {MathJax.Hub.Startup.signal.Post("onLoad")}); + if (window.addEventListener) {window.addEventListener("load",onload,false)} + else if (window.attachEvent) {window.attachEvent("onload",onload)} + else {window.onload = onload} + return onload; + }, + + // + // Perform the initial typesetting (or skip if configuration says to) + // + Typeset: function (element,callback) { + if (MathJax.Hub.config.skipStartupTypeset) {return function () {}} + return this.queue.Push( + ["Post",this.signal,"Begin Typeset"], + ["Typeset",MathJax.Hub,element,callback], + ["Post",this.signal,"End Typeset"] + ); + }, + + // + // Create a URL in the MathJax hierarchy + // + URL: function (dir,name) { + if (!name.match(/^([a-z]+:\/\/|\[|\/)/)) {name = "[MathJax]/"+dir+"/"+name} + return name; + }, + + // + // Load an array of files, waiting for all of them + // to be loaded before going on + // + loadArray: function (files,dir,name,synchronous) { + if (files) { + if (!(files instanceof Array)) {files = [files]} + if (files.length) { + var queue = MathJax.Callback.Queue(), callback = {}, file; + for (var i = 0, m = files.length; i < m; i++) { + file = this.URL(dir,files[i]); + if (name) {file += "/" + name} + if (synchronous) {queue.Push(["Require",MathJax.Ajax,file,callback])} + else {queue.Push(MathJax.Ajax.Require(file,callback))} + } + return queue.Push({}); // wait for everything to finish + } + } + return null; + } + +}; + + +/**********************************************************/ + +(function (BASENAME) { + var BASE = window[BASENAME], ROOT = "["+BASENAME+"]"; + var HUB = BASE.Hub, AJAX = BASE.Ajax, CALLBACK = BASE.Callback; + + var JAX = MathJax.Object.Subclass({ + JAXFILE: "jax.js", + require: null, // array of files to load before jax.js is complete + config: {}, + // + // Make a subclass and return an instance of it. + // (FIXME: should we replace config with a copy of the constructor's + // config? Otherwise all subclasses share the same config structure.) + // + Init: function (def,cdef) { + if (arguments.length === 0) {return this} + return (this.constructor.Subclass(def,cdef))(); + }, + // + // Augment by merging with class definition (not replacing) + // + Augment: function (def,cdef) { + var cObject = this.constructor, ndef = {}; + if (def != null) { + for (var id in def) {if (def.hasOwnProperty(id)) { + if (typeof def[id] === "function") + {cObject.protoFunction(id,def[id])} else {ndef[id] = def[id]} + }} + // MSIE doesn't list toString even if it is not native so handle it separately + if (def.toString !== cObject.prototype.toString && def.toString !== {}.toString) + {cObject.protoFunction('toString',def.toString)} + } + HUB.Insert(cObject.prototype,ndef); + cObject.Augment(null,cdef); + return this; + }, + Process: function (element) { + var load = AJAX.Require(this.directory+"/"+this.JAXFILE); + if (!load.called) {this.constructor.prototype.Process = function (element) {return load}} + return load; + }, + Translate: function (element) { + throw Error(this.directory+"/"+this.JAXFILE+" failed to redefine the Translate() method"); + }, + Register: function (mimetype) {}, + Config: function () { + this.config = HUB.CombineConfig(this.id,this.config); + if (this.config.Augment) {this.Augment(this.config.Augment)} + }, + Startup: function () {}, + loadComplete: function (file) { + if (file === "config.js") { + AJAX.loadComplete(this.directory+"/"+file); + } else { + var queue = CALLBACK.Queue(); + queue.Push( + HUB.Register.StartupHook("End Config",{}), // wait until config complete + ["Post",HUB.Startup.signal,this.id+" Jax Config"], + ["Config",this], + ["Post",HUB.Startup.signal,this.id+" Jax Require"], + // Config may set the required and extensions array, + // so use functions to delay making the reference until needed + [function (THIS) {return MathJax.Hub.Startup.loadArray(THIS.require,this.directory)},this], + [function (config,id) {return MathJax.Hub.Startup.loadArray(config.extensions,"extensions/"+id)},this.config||{},this.id], + ["Post",HUB.Startup.signal,this.id+" Jax Startup"], + ["Startup",this], + ["Post",HUB.Startup.signal,this.id+" Jax Ready"], + [function (THIS) {THIS.Process = THIS.Translate},this.constructor.prototype], + ["loadComplete",AJAX,this.directory+"/"+file] + ); + } + } + },{ + id: "unknown", + version: "1.1", + directory: ROOT+"/jax", + extensionDir: ROOT+"/extensions" + }); + + /***********************************/ + + BASE.InputJax = JAX.Subclass({ + elementJax: "mml", // the element jax to load for this input jax + Process: function (element) { + var queue = CALLBACK.Queue(); + // Load any needed element jax + var jax = this.elementJax; if (!(jax instanceof Array)) {jax = [jax]} + for (var i = 0, m = jax.length; i < m; i++) { + var file = BASE.ElementJax.directory+"/"+jax[i]+"/"+this.JAXFILE; + if (!this.require) {this.require = []} + else if (!(this.require instanceof Array)) {this.require = [this.require]}; + this.require.push(file); // so Startup will wait for it to be loaded + queue.Push(AJAX.Require(file)); + } + // Load the input jax + var load = queue.Push(AJAX.Require(this.directory+"/"+this.JAXFILE)); + if (!load.called) {this.constructor.prototype.Process = function () {return load}} + // Load the associated output jax + jax = HUB.config.outputJax["jax/"+jax[0]]; + if (jax) {queue.Push(AJAX.Require(jax[0].directory+"/"+this.JAXFILE))} + return queue.Push({}); + }, + Register: function (mimetype) { + if (!HUB.config.inputJax) {HUB.config.inputJax = {}} + HUB.config.inputJax[mimetype] = this; + } + },{ + version: "1.1", + directory: JAX.directory+"/input", + extensionDir: JAX.extensionDir + }); + + /***********************************/ + + BASE.OutputJax = JAX.Subclass({ + Register: function (mimetype) { + var jax = HUB.config.outputJax; + if (!jax[mimetype]) {jax[mimetype] = []} + // If the output jax is earlier in the original configuration list, put it first here + if (jax[mimetype].length && (this.id === HUB.config.menuSettings.renderer || + (jax.order[this.id]||0) < (jax.order[jax[mimetype][0].id]||0))) + {jax[mimetype].unshift(this)} else {jax[mimetype].push(this)} + // Make sure the element jax is loaded before Startup is called + if (!this.require) {this.require = []} + else if (!(this.require instanceof Array)) {this.require = [this.require]}; + this.require.push(BASE.ElementJax.directory+"/"+(mimetype.split(/\//)[1])+"/"+this.JAXFILE); + }, + Remove: function (jax) {} + },{ + version: "1.1", + directory: JAX.directory+"/output", + extensionDir: JAX.extensionDir, + fontDir: ROOT+(BASE.isPacked?"":"/..")+"/fonts" + }); + + /***********************************/ + + BASE.ElementJax = JAX.Subclass({ + // make a subclass, not an instance + Init: function (def,cdef) {return this.constructor.Subclass(def,cdef)}, + + inputJax: null, + outputJax: null, + inputID: null, + originalText: "", + mimeType: "", + + Text: function (text,callback) { + var script = this.SourceElement(); + BASE.HTML.setScript(script,text); + script.MathJax.state = this.STATE.UPDATE; + return HUB.Update(script,callback); + }, + Reprocess: function (callback) { + var script = this.SourceElement(); + script.MathJax.state = this.STATE.UPDATE; + return HUB.Reprocess(script,callback); + }, + Update: function (callback) { + var script = this.SourceElement(); + script.MathJax.state = this.STATE.OUTPUT; + return HUB.Process(script,callback); + }, + Remove: function () { + this.outputJax.Remove(this); + HUB.signal.Post(["Remove Math",this.inputID]); // wait for this to finish? + this.Detach(); + }, + + SourceElement: function () {return document.getElementById(this.inputID)}, + + Attach: function (script,inputJax) { + var jax = script.MathJax.elementJax; + if (script.MathJax.state === this.STATE.UPDATE) { + jax.Clone(this); + } else { + jax = script.MathJax.elementJax = this; + if (script.id) {this.inputID = script.id} + else {script.id = this.inputID = BASE.ElementJax.GetID(); this.newID = 1} + } + jax.originalText = (script.text == "" ? script.innerHTML : script.text); + jax.inputJax = inputJax; + if (jax.root) {jax.root.inputID = jax.inputID} + }, + Detach: function () { + var script = this.SourceElement(); if (!script) return; + try {delete script.MathJax} catch(err) {script.MathJax = null} + if (this.newID) {script.id = ""} + }, + Clone: function (jax) { + var id; + for (id in this) { + if (!this.hasOwnProperty(id)) continue; + if (typeof(jax[id]) === 'undefined' && id !== 'newID') {delete this[id]} + } + for (id in jax) { + if (!this.hasOwnProperty(id)) continue; + if (typeof(this[id]) === 'undefined' || (this[id] !== jax[id] && id !== 'inputID')) + {this[id] = jax[id]} + } + } + },{ + version: "1.1", + directory: JAX.directory+"/element", + extensionDir: JAX.extensionDir, + ID: 0, // jax counter (for IDs) + STATE: { + PENDING: 1, // script is identified as math but not yet processed + PROCESSED: 2, // script has been processed + UPDATE: 3, // elementJax should be updated + OUTPUT: 4 // output should be updated (input is OK) + }, + + GetID: function () {this.ID++; return "MathJax-Element-"+this.ID}, + Subclass: function () { + var obj = JAX.Subclass.apply(this,arguments); + obj.loadComplete = this.prototype.loadComplete; + return obj; + } + }); + BASE.ElementJax.prototype.STATE = BASE.ElementJax.STATE; + +})("MathJax"); + +/**********************************************************/ + +(function (BASENAME) { + var BASE = window[BASENAME]; + if (!BASE) {BASE = window[BASENAME] = {}} + + var HUB = BASE.Hub; var STARTUP = HUB.Startup; var CONFIG = HUB.config; + var HEAD = document.getElementsByTagName("head")[0]; + if (!HEAD) {HEAD = document.childNodes[0]}; + var scripts = (document.documentElement || document).getElementsByTagName("script"); + var namePattern = new RegExp("(^|/)"+BASENAME+"\\.js(\\?.*)?$"); + for (var i = scripts.length-1; i >= 0; i--) { + if (scripts[i].src.match(namePattern)) { + STARTUP.script = scripts[i].innerHTML; + if (RegExp.$2) { + var params = RegExp.$2.substr(1).split(/\&/); + for (var j = 0, m = params.length; j < m; j++) { + var KV = params[j].match(/(.*)=(.*)/); + if (KV) {STARTUP.params[unescape(KV[1])] = unescape(KV[2])} + } + } + CONFIG.root = scripts[i].src.replace(/(^|\/)[^\/]*(\?.*)?$/,''); + break; + } + } + BASE.Ajax.config = CONFIG; + + var BROWSERS = { + isMac: (navigator.platform.substr(0,3) === "Mac"), + isPC: (navigator.platform.substr(0,3) === "Win"), + isMSIE: (window.ActiveXObject != null && window.clipboardData != null), + isFirefox: (window.netscape != null && document.ATTRIBUTE_NODE != null && !window.opera), + isSafari: (navigator.userAgent.match(/ (Apple)?WebKit\//) != null && !window.chrome), + isChrome: (window.chrome != null && window.chrome.loadTimes != null), + isOpera: (window.opera != null && window.opera.version != null), + isKonqueror: (window.hasOwnProperty && window.hasOwnProperty("konqueror") && navigator.vendor == "KDE"), + versionAtLeast: function (v) { + var bv = (this.version).split('.'); v = (new String(v)).split('.'); + for (var i = 0, m = v.length; i < m; i++) + {if (bv[i] != v[i]) {return parseInt(bv[i]||"0") >= parseInt(v[i])}} + return true; + }, + Select: function (choices) { + var browser = choices[HUB.Browser]; + if (browser) {return browser(HUB.Browser)} + return null; + } + }; + + var AGENT = navigator.userAgent + .replace(/^Mozilla\/(\d+\.)+\d+ /,"") // remove initial Mozilla, which is never right + .replace(/[a-z][-a-z0-9._: ]+\/\d+[^ ]*-[^ ]*\.([a-z][a-z])?\d+ /i,"") // remove linux version + .replace(/Gentoo |Ubuntu\/(\d+\.)*\d+ (\([^)]*\) )?/,""); // special case for these + + HUB.Browser = HUB.Insert(HUB.Insert(new String("Unknown"),{version: "0.0"}),BROWSERS); + for (var browser in BROWSERS) {if (BROWSERS.hasOwnProperty(browser)) { + if (BROWSERS[browser] && browser.substr(0,2) === "is") { + browser = browser.slice(2); + if (browser === "Mac" || browser === "PC") continue; + HUB.Browser = HUB.Insert(new String(browser),BROWSERS); + var VERSION = new RegExp( + ".*(Version)/((?:\\d+\\.)+\\d+)|" + // for Safari and Opera10 + ".*("+browser+")"+(browser == "MSIE" ? " " : "/")+"((?:\\d+\\.)*\\d+)|"+ // for one of the main browser + "(?:^|\\(| )([a-z][-a-z0-9._: ]+|(?:Apple)?WebKit)/((?:\\d+\\.)+\\d+)"); // for unrecognized browser + var MATCH = VERSION.exec(AGENT) || ["","","","unknown","0.0"]; + HUB.Browser.name = (MATCH[1] == "Version" ? browser : (MATCH[3] || MATCH[5])); + HUB.Browser.version = MATCH[2] || MATCH[4] || MATCH[6]; + break; + } + }}; + + // + // Initial browser-specific info (e.g., touch up version or name) + // + HUB.Browser.Select({ + Safari: function (browser) { + var v = parseInt((String(browser.version).split("."))[0]); + if (v > 85) {browser.webkit = browser.version} + if (v >= 533) {browser.version = "5.0"} + else if (v >= 526) {browser.version = "4.0"} + else if (v >= 525) {browser.version = "3.1"} + else if (v > 500) {browser.version = "3.0"} + else if (v > 400) {browser.version = "2.0"} + else if (v > 85) {browser.version = "1.0"} + }, + Firefox: function (browser) { + if (browser.version === "0.0" && navigator.product === "Gecko" && navigator.productSub) { + var date = navigator.productSub.substr(0,8); + if (date >= "20090630") {browser.version = "3.5"} + else if (date >= "20080617") {browser.version = "3.0"} + else if (date >= "20061024") {browser.version = "2.0"} + } + }, + Opera: function (browser) {browser.version = opera.version()}, + MSIE: function (browser) { + browser.isIE9 = !!(document.documentMode && (window.performance || window.msPerformance)); + MathJax.HTML.setScriptBug = !browser.isIE9 || document.documentMode < 9; + } + }); + HUB.Browser.Select(MathJax.Message.browsers); + + HUB.queue = BASE.Callback.Queue(); + HUB.queue.Push( + ["Post",STARTUP.signal,"Begin"], + ["Config",STARTUP], + ["Cookie",STARTUP], + ["Styles",STARTUP], + ["Message",STARTUP], + function () { + // Do Jax and Extensions in parallel, but wait for them all to complete + var queue = BASE.Callback.Queue( + STARTUP.Jax(), + STARTUP.Extensions() + ); + return queue.Push({}); + }, + ["Menu",STARTUP], + STARTUP.onLoad(), + function () {MathJax.isReady = true}, // indicates that MathJax is ready to process math + ["Typeset",STARTUP], + ["Post",STARTUP.signal,"End"] + ); + +})("MathJax"); + +}} + +/**********************************************************/ diff --git a/modules/MathJax/README-branch.txt b/modules/MathJax/README-branch.txt new file mode 100644 index 0000000..321fcf2 --- /dev/null +++ b/modules/MathJax/README-branch.txt @@ -0,0 +1 @@ +This is release branch v1.1 of MathJax. diff --git a/modules/MathJax/README.md b/modules/MathJax/README.md new file mode 100644 index 0000000..eee7fca --- /dev/null +++ b/modules/MathJax/README.md @@ -0,0 +1,52 @@ +# MathJax + +## Beautiful math in all browsers + +MathJax is an open-source JavaScript display engine for LaTeX and MathML +that works in all modern browsers. It was designed with the goal of +consolidating the recent advances in web technologies into a single, +definitive, math-on-the-web platform supporting the major browsers and +operating systems. It requires no setup on the part of the user (no +plugins to download or software to install), so the page author can write +web documents that include mathematics and be confident that users will be +able to view it naturally and easily. Simply include MathJax and some +mathematics in a web page, and MathJax does the rest. + +Some of the main features of MathJax include: + +- High-quality display of LaTeX and MathML math notation in HTML pages + +- Supported in most browsers with no plug-ins, extra fonts, or special + setup for the reader + +- Easy for authors, flexible for publishers, extensible for developers + +- Supports math accessibility, cut-and-paste interoperability and other + advanced functionality + +- Powerful API for integration with other web applications + +See for additional details. + + +## Installation and Usage + +The MathJax installation and usage documentation is available in the +`docs/html` directory of the MathJax distribution (see +`docs/html/index.html` for the starting point). The documents are also +available on the MathJax web site on line at . + + +## Community + +The main MathJax website is , and it includes +announcements and other important information. MathJax is maintained and +distributed on GitHub at . A user forum +for asking questions and getting assistance is hosted at Google, and the +bug tracker is hosted at GitHub: + +Bug tracker: +MathJax-Users Group: + +Before reporting a bug, please check that it has not already been reported. +Also, please use the bug tracker for reporting bugs rather than the help forum. diff --git a/modules/MathJax/config/Accessible-full.js b/modules/MathJax/config/Accessible-full.js new file mode 100644 index 0000000..ff9f55b --- /dev/null +++ b/modules/MathJax/config/Accessible-full.js @@ -0,0 +1,30 @@ +/* + * /MathJax/unpacked/config/Accessible-full.js + * + * Copyright (c) 2010-11 Design Science, Inc. + * + * Part of the MathJax library. + * See http://www.mathjax.org for details. + * + * Licensed under the Apache License, Version 2.0; + * you may not use this file except in compliance with the License. + * + * http://www.apache.org/licenses/LICENSE-2.0 + */ + +MathJax.Hub.Config({ + config: ["MMLorHTML.js"], + extensions: ["tex2jax.js","mml2jax.js","MathZoom.js","MathMenu.js","toMathML.js","TeX/noErrors.js","TeX/noUndefined.js","TeX/AMSmath.js","TeX/AMSsymbols.js"], + jax: ["input/TeX","input/MathML","output/HTML-CSS","output/NativeMML"], + NativeMML: { + showMathMenuMSIE: false + }, + menuSettings: { + zoom: "Double-Click" + }, + errorSettings: { + message: ["[Math Error]"] + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/config/Accessible-full.js"); diff --git a/modules/MathJax/config/Accessible.js b/modules/MathJax/config/Accessible.js new file mode 100644 index 0000000..e8a5296 --- /dev/null +++ b/modules/MathJax/config/Accessible.js @@ -0,0 +1,30 @@ +/* + * /MathJax/unpacked/config/Accessible.js + * + * Copyright (c) 2010-11 Design Science, Inc. + * + * Part of the MathJax library. + * See http://www.mathjax.org for details. + * + * Licensed under the Apache License, Version 2.0; + * you may not use this file except in compliance with the License. + * + * http://www.apache.org/licenses/LICENSE-2.0 + */ + +MathJax.Hub.Config({ + config: ["MMLorHTML.js"], + extensions: ["tex2jax.js","mml2jax.js","MathZoom.js","MathMenu.js","toMathML.js","TeX/noErrors.js","TeX/noUndefined.js","TeX/AMSmath.js","TeX/AMSsymbols.js"], + jax: ["input/TeX","input/MathML","output/HTML-CSS","output/NativeMML"], + NativeMML: { + showMathMenuMSIE: false + }, + menuSettings: { + zoom: "Double-Click" + }, + errorSettings: { + message: ["[Math Error]"] + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/config/Accessible.js"); diff --git a/modules/MathJax/config/MML_HTMLorMML-full.js b/modules/MathJax/config/MML_HTMLorMML-full.js new file mode 100644 index 0000000..41cd5c4 --- /dev/null +++ b/modules/MathJax/config/MML_HTMLorMML-full.js @@ -0,0 +1,21 @@ +/* + * /MathJax/unpacked/config/MML_HTMLorMML-full.js + * + * Copyright (c) 2010-11 Design Science, Inc. + * + * Part of the MathJax library. + * See http://www.mathjax.org for details. + * + * Licensed under the Apache License, Version 2.0; + * you may not use this file except in compliance with the License. + * + * http://www.apache.org/licenses/LICENSE-2.0 + */ + +MathJax.Hub.Config({ + config: ["MMLorHTML.js"], + extensions: ["mml2jax.js","MathZoom.js","MathMenu.js","toMathML.js"], + jax: ["input/MathML","output/HTML-CSS","output/NativeMML"] +}); + +MathJax.Ajax.loadComplete("[MathJax]/config/MML_HTMLorMML-full.js"); diff --git a/modules/MathJax/config/MML_HTMLorMML.js b/modules/MathJax/config/MML_HTMLorMML.js new file mode 100644 index 0000000..2cf3c10 --- /dev/null +++ b/modules/MathJax/config/MML_HTMLorMML.js @@ -0,0 +1,21 @@ +/* + * /MathJax/unpacked/config/MML_HTMLorMML.js + * + * Copyright (c) 2010-11 Design Science, Inc. + * + * Part of the MathJax library. + * See http://www.mathjax.org for details. + * + * Licensed under the Apache License, Version 2.0; + * you may not use this file except in compliance with the License. + * + * http://www.apache.org/licenses/LICENSE-2.0 + */ + +MathJax.Hub.Config({ + config: ["MMLorHTML.js"], + extensions: ["mml2jax.js","MathZoom.js","MathMenu.js","toMathML.js"], + jax: ["input/MathML","output/HTML-CSS","output/NativeMML"] +}); + +MathJax.Ajax.loadComplete("[MathJax]/config/MML_HTMLorMML.js"); diff --git a/modules/MathJax/config/MMLorHTML.js b/modules/MathJax/config/MMLorHTML.js new file mode 100644 index 0000000..f2bccf1 --- /dev/null +++ b/modules/MathJax/config/MMLorHTML.js @@ -0,0 +1,101 @@ +/************************************************************* + * + * MathJax/config/MMLorHTML.js + * + * Chooses between the NativeMML and HTML-CSS output jax depending + * on the capabilities of the browser and configuration settings + * of the page. + * + * This file should be added to the config array when configuring + * MathJax. Note that if you include this, you should NOT include + * an output jax in the jax array (it will be added for you by + * this file). + * + * You can specify the preferred output jax on a global or + * browser-by-browser basis. To specify it globally, use + * + * MathJax.Hub.Config({ + * MMLorHTML: {prefer: "MML"} // or "HTML" + * }); + * + * To specify on a browser-by-borwser basis, use + * + * MathJax.Hub.Config({ + * MMLorHTML: {prefer: { + * MSIE: "MML", + * Firefox: "MML", + * Opera: "HTML", + * other: "HTML" + * }} + * }); + * + * --------------------------------------------------------------------- + * + * Copyright (c) 2010-2011 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +(function (HUB) { + var VERSION = "1.1.1"; + + var CONFIG = MathJax.Hub.CombineConfig("MMLorHTML",{ + prefer: {MSIE:"MML", Firefox:"MML", Opera:"HTML", other:"HTML"} + }); + + var MINBROWSERVERSION = { + Firefox: 3.0, + Opera: 9.52, + MSIE: 6.0, + Chrome: 0.3, + Safari: 2.0, + Konqueror: 4.0 + }; + + var canUseHTML = (HUB.Browser.version === "0.0" || + HUB.Browser.versionAtLeast(MINBROWSERVERSION[HUB.Browser]||0.0)); + + var MathPlayer = false; + if (!HUB.Browser.isIE9) // this crashes IE9 RC, so skip it for now + {try {new ActiveXObject("MathPlayer.Factory.1"); MathPlayer = true} catch(err) {}} + + var canUseMML = (HUB.Browser.isFirefox && HUB.Browser.versionAtLeast("1.5")) || + (HUB.Browser.isMSIE && MathPlayer) || + (HUB.Browser.isOpera && HUB.Browser.versionAtLeast("9.52")); + + HUB.Register.StartupHook("End Config",function () { + var prefer = (CONFIG.prefer && typeof(CONFIG.prefer) === "object" ? + CONFIG.prefer[MathJax.Hub.Browser]||CONFIG.prefer.other||"HTML" : + CONFIG.prefer); + + if (canUseHTML || canUseMML) { + if (canUseMML && (prefer === "MML" || !canUseHTML)) { + if (MathJax.OutputJax.NativeMML) {MathJax.OutputJax.NativeMML.Register("jax/mml")} + else {HUB.config.jax.unshift("output/NativeMML")} + HUB.Startup.signal.Post("NativeMML output selected"); + } else { + if (MathJax.OutputJax["HTML-CSS"]) {MathJax.OutputJax["HTML-CSS"].Register("jax/mml")} + else {HUB.config.jax.unshift("output/HTML-CSS")} + HUB.Startup.signal.Post("HTML-CSS output selected"); + } + } else { + HUB.PreProcess.disabled = true; + HUB.prepareScripts.disabled = true; + MathJax.Message.Set("Your browser does not support MathJax",null,4000); + HUB.Startup.signal.Post("MathJax not supported"); + } + }); + +})(MathJax.Hub); + +MathJax.Ajax.loadComplete("[MathJax]/config/MMLorHTML.js"); diff --git a/modules/MathJax/config/TeX-AMS-MML_HTMLorMML-full.js b/modules/MathJax/config/TeX-AMS-MML_HTMLorMML-full.js new file mode 100644 index 0000000..a094b67 --- /dev/null +++ b/modules/MathJax/config/TeX-AMS-MML_HTMLorMML-full.js @@ -0,0 +1,21 @@ +/* + * /MathJax/unpacked/config/TeX-AMS-MML_HTMLorMML-full.js + * + * Copyright (c) 2010-11 Design Science, Inc. + * + * Part of the MathJax library. + * See http://www.mathjax.org for details. + * + * Licensed under the Apache License, Version 2.0; + * you may not use this file except in compliance with the License. + * + * http://www.apache.org/licenses/LICENSE-2.0 + */ + +MathJax.Hub.Config({ + config: ["MMLorHTML.js"], + extensions: ["tex2jax.js","mml2jax.js","MathZoom.js","MathMenu.js","toMathML.js","TeX/noErrors.js","TeX/noUndefined.js","TeX/AMSmath.js","TeX/AMSsymbols.js"], + jax: ["input/TeX","input/MathML","output/HTML-CSS","output/NativeMML"] +}); + +MathJax.Ajax.loadComplete("[MathJax]/config/TeX-AMS-MML_HTMLorMML-full.js"); diff --git a/modules/MathJax/config/TeX-AMS-MML_HTMLorMML.js b/modules/MathJax/config/TeX-AMS-MML_HTMLorMML.js new file mode 100644 index 0000000..237dd01 --- /dev/null +++ b/modules/MathJax/config/TeX-AMS-MML_HTMLorMML.js @@ -0,0 +1,21 @@ +/* + * /MathJax/unpacked/config/TeX-AMS-MML_HTMLorMML.js + * + * Copyright (c) 2010-11 Design Science, Inc. + * + * Part of the MathJax library. + * See http://www.mathjax.org for details. + * + * Licensed under the Apache License, Version 2.0; + * you may not use this file except in compliance with the License. + * + * http://www.apache.org/licenses/LICENSE-2.0 + */ + +MathJax.Hub.Config({ + config: ["MMLorHTML.js"], + extensions: ["tex2jax.js","mml2jax.js","MathZoom.js","MathMenu.js","toMathML.js","TeX/noErrors.js","TeX/noUndefined.js","TeX/AMSmath.js","TeX/AMSsymbols.js"], + jax: ["input/TeX","input/MathML","output/HTML-CSS","output/NativeMML"] +}); + +MathJax.Ajax.loadComplete("[MathJax]/config/TeX-AMS-MML_HTMLorMML.js"); diff --git a/modules/MathJax/config/TeX-AMS_HTML-full.js b/modules/MathJax/config/TeX-AMS_HTML-full.js new file mode 100644 index 0000000..835a573 --- /dev/null +++ b/modules/MathJax/config/TeX-AMS_HTML-full.js @@ -0,0 +1,20 @@ +/* + * /MathJax/unpacked/config/TeX-AMS_HTML-full.js + * + * Copyright (c) 2010-11 Design Science, Inc. + * + * Part of the MathJax library. + * See http://www.mathjax.org for details. + * + * Licensed under the Apache License, Version 2.0; + * you may not use this file except in compliance with the License. + * + * http://www.apache.org/licenses/LICENSE-2.0 + */ + +MathJax.Hub.Config({ + extensions: ["tex2jax.js","MathZoom.js","MathMenu.js","toMathML.js","TeX/noErrors.js","TeX/noUndefined.js","TeX/AMSmath.js","TeX/AMSsymbols.js"], + jax: ["input/TeX","output/HTML-CSS"] +}); + +MathJax.Ajax.loadComplete("[MathJax]/config/TeX-AMS_HTML-full.js"); diff --git a/modules/MathJax/config/TeX-AMS_HTML.js b/modules/MathJax/config/TeX-AMS_HTML.js new file mode 100644 index 0000000..8b0ee80 --- /dev/null +++ b/modules/MathJax/config/TeX-AMS_HTML.js @@ -0,0 +1,20 @@ +/* + * /MathJax/unpacked/config/TeX-AMS_HTML.js + * + * Copyright (c) 2010-11 Design Science, Inc. + * + * Part of the MathJax library. + * See http://www.mathjax.org for details. + * + * Licensed under the Apache License, Version 2.0; + * you may not use this file except in compliance with the License. + * + * http://www.apache.org/licenses/LICENSE-2.0 + */ + +MathJax.Hub.Config({ + extensions: ["tex2jax.js","MathZoom.js","MathMenu.js","toMathML.js","TeX/noErrors.js","TeX/noUndefined.js","TeX/AMSmath.js","TeX/AMSsymbols.js"], + jax: ["input/TeX","output/HTML-CSS"] +}); + +MathJax.Ajax.loadComplete("[MathJax]/config/TeX-AMS_HTML.js"); diff --git a/modules/MathJax/config/default.js b/modules/MathJax/config/default.js new file mode 100644 index 0000000..e77e94c --- /dev/null +++ b/modules/MathJax/config/default.js @@ -0,0 +1,606 @@ +/************************************************************* + * + * MathJax/config/default.js + * + * This configuration file is loaded when you load MathJax + * via + * + * Use it to customize the MathJax settings. See comments below. + * + * --------------------------------------------------------------------- + * + * Copyright (c) 2009-2011 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + + +/* + * This file lists most, but not all, of the options that can be set for + * MathJax and its various components. Some additional options are + * available, however, and are listed in the various links at: + * + * http://www.mathjax.org/resources/docs/?configuration.html#configuration-options-by-component + * + * You can add these to the configuration object below if you + * want to change them from their default values. + */ + +MathJax.Hub.Config({ + + // + // A comma-separated list of configuration files to load + // when MathJax starts up. E.g., to define local macros, etc. + // The default directory is the MathJax/config directory. + // + // Example: config: ["local/local.js"], + // Example: config: ["local/local.js","MMLtoHTML.js"], + // + config: [], + + // + // A comma-separated list of CSS stylesheet files to be loaded + // when MathJax starts up. The default directory is the + // MathJax/config directory. + // + // Example: styleSheets: ["MathJax.css"], + // + styleSheets: [], + + // + // Styles to be defined dynamically at startup time. + // + // Example: + // styles: { + // ".MathJax .merror": { + // color: "blue", + // "background-color": "green" + // } + // }, + // + styles: {}, + + // + // A comma-separated list of input and output jax to initialize at startup. + // Their main code is loaded only when they are actually used, so it is not + // inefficient to include jax that may not actually be used on the page. These + // are found in the MathJax/jax directory. + // + jax: ["input/TeX","output/HTML-CSS"], + + // + // A comma-separated list of extensions to load at startup. The default + // directory is MathJax/extensions. + // + // Example: extensions: ["tex2jax.js","TeX/AMSmath.js","TeX/AMSsymbols.js"], + // + extensions: ["tex2jax.js"], + + // + // Patterns to remove from before and after math script tags. If you are not + // using one of the preprocessors (e.g., tex2jax), you need to insert something + // extra into your HTML file in order to avoid a bug in Internet Explorer. IE + // removes spaces from the DOM that it thinks are redundent, and since a SCRIPT + // tag usually doesn't add content to the page, if there is a space before and after + // a MathJax SCRIPT tag, IE will remove the first space. When MathJax inserts + // the typeset mathematics, this means there will be no space before it and the + // preceeding text. In order to avoid this, you should include some "guard characters" + // before or after the math SCRIPT tag; define the patterns you want to use below. + // Note that these are used as regular expressions, so you will need to quote + // special characters. Furthermore, since they are javascript strings, you must + // quote javascript special characters as well. So to obtain a backslash, you must + // use \\ (doubled for javascript). For example, "\\[" is the pattern \[ in the + // regular expression. That means that if you want an actual backslash in your + // guard characters, you need to use "\\\\" in order to get \\ in the regular + // expression, and \ in the actual text. If both preJax and postJax are defined, + // both must be present in order to be removed. + // + // See also the preRemoveClass comments below. + // + // Example: + // preJax: "\\\\\\\\", // makes a double backslash the preJax text + // or + // preJax: "\\[\\[", // jax scripts must be enclosed in double brackets + // postJax: "\\]\\]", + // + preJax: null, + postJax: null, + + // + // The CSS class for a math preview to be removed preceeding a MathJax + // SCRIPT tag. If the tag just before the MathJax SCRIPT tag is of this + // class, its contents are removed when MathJax processes the SCRIPT + // tag. This allows you to include a math preview in a form that will + // be displayed prior to MathJax performing its typesetting. It also + // avoids the Internet Explorer space-removal bug, and can be used in + // place of preJax and postJax if that is more convenient. + // + // For example + // + // [math] + // + // would display "[math]" in place of the math until MathJax is able to typeset it. + // + preRemoveClass: "MathJax_Preview", + + // + // This value controls whether the "Processing Math: nn%" message are displayed + // in the lower left-hand corner. Set to "false" to prevent those messages (though + // file loading and other messages will still be shown). + // + showProcessingMessages: true, + + // + // This value controls the verbosity of the messages in the lower left-hand corner. + // Set it to "none" to eliminate all messages, or set it to "simple" to show + // "Loading..." and "Processing..." rather than showing the full file name and the + // percentage of the mathematics processed. + // + messageStyle: "normal", + + // + // These two parameters control the alignment and shifting of displayed equations. + // The first can be "left", "center", or "right", and determines the alignment of + // displayed equations. When the alignment is not "center", the second determines + // an indentation from the left or right side for the displayed equations. + // + displayAlign: "center", + displayIndent: "0em", + + // + // Normally MathJax will perform its starup commands (loading of + // configuration, styles, jax, and so on) as soon as it can. If you + // expect to be doing additional configuration on the page, however, you + // may want to have it wait until the page's onload hander is called. If so, + // set this to "onload". + // + delayStartupUntil: "none", + + // + // Normally MathJax will typeset the mathematics on the page as soon as + // the page is loaded. If you want to delay that process, in which case + // you will need to call MathJax.Hub.Typeset() yourself by hand, set + // this value to true. + // + skipStartupTypeset: false, + + // + // A list of element ID's that are the ones to process for mathematics + // when any of the Hub typesetting calls (Typeset, Process, Update, etc) + // are called with no element specified. This lets you restrict the + // processing to particular containers rather than scanning the entire + // document for mathematics. If none are supplied, the entire document + // is processed. + // + elements: [], + + //============================================================================ + // + // These parameters control the tex2jax preprocessor (when you have included + // "tex2jax.js" in the extensions list above). + // + tex2jax: { + + // + // The delimiters that surround in-line math expressions. The first in each + // pair is the initial delimiter and the second is the terminal delimiter. + // Comment out any that you don't want, but be sure there is no extra + // comma at the end of the last item in the list -- some browsers won't + // be able to handle that. + // + inlineMath: [ +// ['$','$'], // uncomment this for standard TeX math delimiters + ['\\(','\\)'] + ], + + // + // The delimiters that surround displayed math expressions. The first in each + // pair is the initial delimiter and the second is the terminal delimiter. + // Comment out any that you don't want, but be sure there is no extra + // comma at the end of the last item in the list -- some browsers won't + // be able to handle that. + // + displayMath: [ + ['$$','$$'], + ['\\[','\\]'] + ], + + // + // This array lists the names of the tags whose contents should not be + // processed by tex2jax (other than to look for ignore/process classes + // as listed below). You can add to (or remove from) this list to prevent + // MathJax from processing mathematics in specific contexts. + // + skipTags: ["script","noscript","style","textarea","pre","code"], + + // + // This is the class name used to mark elements whose contents should + // not be processed by tex2jax (other than to look for the + // processClass pattern below). Note that this is a regular + // expression, and so you need to be sure to quote any regexp special + // characters. The pattern is automatically preceeded by '(^| )(' and + // followed by ')( |$)', so your pattern will have to match full words + // in the class name. Assigning an element this class name will + // prevent `tex2jax` from processing its contents. + // + ignoreClass: "tex2jax_ignore", + + // + // This is the class name used to mark elements whose contents SHOULD + // be processed by tex2jax. This is used to turn on processing within + // tags that have been marked as ignored or skipped above. Note that + // this is a regular expression, and so you need to be sure to quote + // any regexp special characters. The pattern is automatically + // preceeded by '(^| )(' and followed by ')( |$)', so your pattern + // will have to match full words in the class name. Use this to + // restart processing within an element that has been marked as + // ignored above. + // + processClass: "tex2jax_process", + + // + // Set to "true" to allow \$ to produce a dollar without starting in-line + // math mode. If you uncomment the ['$','$'] line above, you should change + // this to true so that you can insert plain dollar signs into your documents + // + processEscapes: false, + + // + // Controls whether tex2jax processes LaTeX environments outside of math + // mode. Set to "false" to prevent processing of environments except within + // math mode. + // + processEnvironments: true, + + // + // Controls whether tex2jax inserts MathJax_Preview spans to make a + // preview available, and what preview to use, when it locates in-line + // and display mathetics on the page. The default is "TeX", which + // means use the TeX code as the preview (until it is processed by + // MathJax). Set to "none" to prevent the previews from being + // inserted (the math will simply disappear until it is typeset). Set + // to an array containing the description of an HTML snippet in order + // to use the same preview for all equations on the page (e.g., you + // could have it say "[math]" or load an image). + // + // E.g., preview: ["[math]"], + // or preview: [["img",{src: "http://myserver.com/images/mypic.jpg"}]] + // + preview: "TeX" + + }, + + //============================================================================ + // + // These parameters control the mml2jax preprocessor (when you have included + // "mml2jax.js" in the extensions list above). + // + mml2jax: { + + // + // Controls whether mml2jax inserts MathJax_Preview spans to make a + // preview available, and what preview to use, whrn it locates + // mathematics on the page. The default is "alttext", which means use + // the tag's alttext attribute as the preview (until it is + // processed by MathJax), if the tag has one. Set to "none" to + // prevent the previews from being inserted (the math will simply + // disappear until it is typeset). Set to an array containing the + // description of an HTML snippet in order to use the same preview for + // all equations on the page (e.g., you could have it say "[math]" or + // load an image). + // + // E.g., preview: ["[math]"], + // or preview: [["img",{src: "http://myserver.com/images/mypic.jpg"}]] + // + preview: "alttext" + + }, + + //============================================================================ + // + // These parameters control the jsMath2jax preprocessor (when you have included + // "jsMath2jax.js" in the extensions list above). + // + jsMath2jax: { + + // + // Controls whether jsMath2jax inserts MathJax_Preview spans to make a + // preview available, and what preview to use, when it locates + // mathematics on the page. The default is "TeX", which means use the + // TeX code as the preview (until it is processed by MathJax). Set to + // "none" to prevent the previews from being inserted (the math will + // simply disappear until it is typeset). Set to an array containing + // the description of an HTML snippet in order to use the same preview + // for all equations on the page (e.g., you could have it say "[math]" + // or load an image). + // + // E.g., preview: ["[math]"], + // or preview: [["img",{src: "http://myserver.com/images/mypic.jpg"}]] + // + preview: "TeX" + + }, + + //============================================================================ + // + // These parameters control the TeX input jax. + // + TeX: { + + // + // This specifies the side on which \tag{} macros will place the tags. + // Set to "left" to place on the left-hand side. + // + TagSide: "right", + + // + // This is the amound of indentation (from right or left) for the tags. + // + TagIndent: ".8em", + + // + // This is the width to use for the multline environment + // + MultLineWidth: "85%", + + // + // List of macros to define. These are of the form + // name: value + // where 'value' is the replacement text for the macro \name. + // The 'value' can also be [value,n] where 'value' is the replacement + // text and 'n' is the number of parameters for the macro. + // Note that backslashes must be doubled in the replacement string. + // + // E.g., + // + // Macros: { + // RR: '{\\bf R}', + // bold: ['{\\bf #1}', 1] + // } + // + Macros: {} + + }, + + //============================================================================ + // + // These parameters control the MathML inupt jax. + // + MathML: { + // + // This specifies whether to use TeX spacing or MathML spacing when the + // HTML-CSS output jax is used. + // + useMathMLspacing: false + }, + + //============================================================================ + // + // These parameters control the HTML-CSS output jax. + // + "HTML-CSS": { + + // + // This controls the global scaling of mathematics as compared to the + // surrounding text. Values between 100 and 133 are usually good choices. + // + scale: 100, + + // + // This is a list of the fonts to look for on a user's computer in + // preference to using MathJax's web-based fonts. These must + // correspond to directories available in the jax/output/HTML-CSS/fonts + // directory, where MathJax stores data about the characters available + // in the fonts. Set this to ["TeX"], for example, to prevent the + // use of the STIX fonts, or set it to an empty list, [], if + // you want to force MathJax to use web-based or image fonts. + // + availableFonts: ["STIX","TeX"], + + // + // This is the preferred font to use when more than one of those + // listed above is available. + // + preferredFont: "TeX", + + // + // This is the web-based font to use when none of the fonts listed + // above are available on the user's computer. Note that currently + // only the TeX font is available in a web-based form. Set this to + // + // webFont: null, + // + // if you want to prevent the use of web-based fonts. + // + webFont: "TeX", + + // + // This is the font to use for image fallback mode (when none of the + // fonts listed above are available and the browser doesn't support + // web-fonts via the @font-face CSS directive). Note that currently + // only the TeX font is available as an image font. Set this to + // + // imageFont: null, + // + // if you want to prevent the use of image fonts (e.g., you have not + // installed the image fonts on your server). In this case, only + // browsers that support web-based fonts will be able to view your pages + // without having the fonts installed on the client computer. The browsers + // that support web-based fonts include: IE6 and later, Chrome, Safari3.1 + // and above, Firefox3.5 and later, and Opera10 and later. Note that + // Firefox3.0 is NOT on this list, so without image fonts, FF3.0 users + // will be required to to download and install either the STIX fonts or the + // MathJax TeX fonts. + // + imageFont: "TeX", + + // + // This is the font-family CSS value used for characters that are not + // in the selected font (e.g., for web-based fonts, this is where to + // look for characters not included in the MathJax_* fonts). IE will + // stop looking after the first font that exists on the system (even + // if it doesn't contain the needed character), so order these carefully. + // + undefinedFamily: "STIXGeneral,'Arial Unicode MS',serif", + + // + // This controls whether the MathJax contextual menu will be available + // on the mathematics in the page. If true, then right-clicking (on + // the PC) or control-clicking (on the Mac) will produce a MathJax + // menu that allows you to get the source of the mathematics in + // various formats, change the size of the mathematics relative to the + // surrounding text, and get information about MathJax. + // + // Set this to false to disable the menu. When true, the MathMenu + // items below configure the actions of the menu. + // + showMathMenu: true, + + // + // This allows you to define or modify the styles used to display + // various math elements created by MathJax. + // + // Example: + // styles: { + // ".MathJax_Preview": { + // "font-size": "80%", // preview uses a smaller font + // color: "red" // and is in red + // } + // } + // + styles: {}, + + // + // Configuration for tooltips + // (see also the #MathJax_Tooltip CSS in MathJax/jax/output/HTML-CSS/config.js, + // which can be overriden using the styles values above). + // + tooltip: { + delayPost: 600, // milliseconds delay before tooltip is posted after mouseover + delayClear: 600, // milliseconds delay before tooltip is cleared after mouseout + offsetX: 10, offsetY: 5 // pixels to offset tooltip from mouse position + } + }, + + //============================================================================ + // + // These parameters control the NativeMML output jax. + // + NativeMML: { + + // + // This controls the global scaling of mathematics as compared to the + // surrounding text. Values between 100 and 133 are usually good choices. + // + scale: 100, + + // + // This controls whether the MathJax contextual menu will be available + // on the mathematics in the page. If true, then right-clicking (on + // the PC) or control-clicking (on the Mac) will produce a MathJax + // menu that allows you to get the source of the mathematics in + // various formats, change the size of the mathematics relative to the + // surrounding text, and get information about MathJax. + // + // Set this to false to disable the menu. When true, the MathMenu + // items below configure the actions of the menu. + // + // There is a separate setting for MSIE, since the code to handle that + // is a bit delicate; if it turns out to have unexpected consequences, + // you can turn it off without turing off other browser support. + // + showMathMenu: true, + showMathMenuMSIE: true, + + // + // This allows you to define or modify the styles used to display + // various math elements created by MathJax. + // + // Example: + // styles: { + // ".MathJax_MathML": { + // color: "red" // MathML is in red + // } + // } + // + styles: {} + }, + + //============================================================================ + // + // These parameters control the contextual menus that are available on the + // mathematics within the page (provided the showMathMenu value is true above). + // + MathMenu: { + // + // This is the hover delay for the display of submenus in the + // contextual menu. When the mouse is still over a submenu label for + // this long, the menu will appear. (The menu also will appear if you + // click on the label.) It is in milliseconds. + // + delay: 400, + + // + // This is the URL for the MathJax Help menu item. + // + helpURL: "http://www.mathjax.org/help/user/", + + // + // These control whether the "Math Renderer", "Font Preferences", + // and "Contextual Menu" submenus will be displayed or not. + // + showRenderer: true, + showFontMenu: false, + showContext: false, + + // + // These are the settings for the Show Source window. The initial + // width and height will be reset after the source is shown in an + // attempt to make the window fit the output better. + // + windowSettings: { + status: "no", toolbar: "no", locationbar: "no", menubar: "no", + directories: "no", personalbar: "no", resizable: "yes", scrollbars: "yes", + width: 100, height: 50 + }, + + // + // This allows you to change the CSS that controls the menu + // appearance. See the extensions/MathMenu.js file for details + // of the default settings. + // + styles: {} + + }, + + //============================================================================ + // + // These parameters control the MMLorHTML configuration file. + // NOTE: if you add MMLorHTML.js to the config array above, + // you must REMOVE the output jax from the jax array. + // + MMLorHTML: { + // + // The output jax that is to be preferred when both are possible + // (set to "MML" for native MathML, "HTML" for MathJax's HTML-CSS output jax). + // + prefer: { + MSIE: "MML", + Firefox: "MML", + Opera: "HTML", + other: "HTML" + } + } +}); + +MathJax.Ajax.loadComplete("[MathJax]/config/default.js"); diff --git a/modules/MathJax/config/local/local.js b/modules/MathJax/config/local/local.js new file mode 100644 index 0000000..7bf733c --- /dev/null +++ b/modules/MathJax/config/local/local.js @@ -0,0 +1,37 @@ +/************************************************************* + * + * MathJax/config/local/local.js + * + * Include changes and configuration local to your installation + * in this file. For example, common macros can be defined here + * (see below). To use this file, add "local/local.js" to the + * config array in MathJax.js or your MathJax.Hub.Config() call. + * + * --------------------------------------------------------------------- + * + * Copyright (c) 2009 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + + +MathJax.Hub.Register.StartupHook("TeX Jax Ready",function () { + var TEX = MathJax.InputJax.TeX; + + // place macros here. E.g.: + // TEX.Macro("R","{\\bf R}"); + // TEX.Macro("op","\\mathop{\\rm #1}",1); // a macro with 1 parameter + +}); + +MathJax.Ajax.loadComplete("[MathJax]/config/local/local.js"); diff --git a/modules/MathJax/extensions/FontWarnings.js b/modules/MathJax/extensions/FontWarnings.js new file mode 100644 index 0000000..a4608e1 --- /dev/null +++ b/modules/MathJax/extensions/FontWarnings.js @@ -0,0 +1,286 @@ +/************************************************************* + * + * MathJax/extensions/FontWarnings.js + * + * Implements a font warning message window that appears when + * the image fonts, no fonts, or web fonts are used, informing + * the user where to download the fonts, or to update to a more + * modern browser. The window will fade out automatically after + * a time, and the user can dismiss it by a close box. + * + * To include font warning messages, add "FontWarnings.js" to the + * extensions array in your MathJax configuration. + * + * You can customize the warning messages in a number of ways. Use the + * FontWarnings section of the configuration to specify any of the items + * shown in the CONFIG variable below. These include + * + * messageStyle the style to apply to the warning box that is + * displayed when MathJax uses one of its fallback + * methods. + * + * removeAfter the amount of time to show the warning message (in ms) + * fadeoutTime how long the message should take to fade out + * fadeoutSteps how many separate steps to use during the fade out + * (set to 0 to use no fadeout and simply remove the window) + * + * Messages stores the descriptions of the messages to use for the + * various warnings (webFonts, imageFonts, and noFonts). + * These are arrays of strings to be inserted into the window, + * or identifiers within brackets, which refer to the HTML + * snippets in the HTML section described below. To disable a + * specific message, set its value to null (see example below). + * + * HTML stores snippets of HTML descriptions for various + * common parts of the error messages. These include + * the closeBox, the message about web fonts being available + * in modern browser, and messages about downloadable fonts. + * The STIX and TeX font messages are used when only one + * of these is in the availableFonts list. The data for these + * are arrays of either strings to include or a description of + * an HTML item enclosed in square brackets. That description + * has (up to) three parts: the name of the tag to be included, + * a list (enclosed in braces) of attributes and their values + * to be set on the tag (optional), and an array of the contents + * of the tag (optional). See the definitions below for examples. + * + * For example, + * + * MathJax.Hub.Config({ + * ... + * extensions: ["FontWarnings.js"], + * FontWarnings: { + * removeAfter: 20*1000, // 20 seconds + * messageStyle: { + * border: "2px solid black", + * padding: "2em" + * }, + * Message: { + * webFont: null // no webfont messages (only image and no fonts) + * } + * } + * }); + * + * would extend the time the message is displayed from 12 seconds to 20, + * and changes the border to a solid black one, with 2em of padding + * rather than the default of 1em. + * + * --------------------------------------------------------------------- + * + * Copyright (c) 2010-2011 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +(function (HUB,HTML) { + var VERSION = "1.1"; + + var CONFIG = HUB.CombineConfig("FontWarnings",{ + // + // The CSS for the message window + // + messageStyle: { + position:"fixed", bottom:"4em", left:"3em", width:"40em", + border: "3px solid #880000", "background-color": "#E0E0E0", + padding: "1em", "font-size":"small", "white-space":"normal", + + "border-radius": ".75em", // Opera 10.5 and IE9 + "-webkit-border-radius": ".75em", // Safari and Chrome + "-moz-border-radius": ".75em", // Firefox + "-khtml-border-radius": ".75em", // Konqueror + + "box-shadow": "4px 4px 10px #AAAAAA", // Opera 10.5 and IE9 + "-webkit-box-shadow": "4px 4px 10px #AAAAAA", // Safari 3 and Chrome + "-moz-box-shadow": "4px 4px 10px #AAAAAA", // Forefox 3.5 + "-khtml-box-shadow": "4px 4px 10px #AAAAAA", // Konqueror + filter: "progid:DXImageTransform.Microsoft.dropshadow(OffX=3, OffY=3, Color='gray', Positive='true')" // IE + }, + + // + // The messages for the various situations + // + Message: { + webFont: [ + ["closeBox"], + "MathJax is using web-based fonts to display the mathematics ", + "on this page. These take time to download, so the page would", + "render faster if you installed math fonts directly in your ", + "system's font folder.", + ["fonts"] + ], + + imageFonts: [ + ["closeBox"], + "MathJax is using its image fonts rather than local or web-based fonts. ", + "This will render slower than usual, and the mathematics may not print ", + "at the full resolution of your printer.", + ["fonts"], + ["webfonts"] + ], + + noFonts: [ + ["closeBox"], + "MathJax is unable to locate a font to use to display ", + "its mathematics, and image fonts are not available, so it ", + "is falling back on generic unicode characters in hopes that ", + "your browser will be able to display them. Some characters ", + "may not show up properly, or possibly not at all.", + ["fonts"], + ["webfonts"] + ] + }, + + // + // HTML objects that can be referred to in the message definitions + // + HTML: { + // + // The definition of the close box + // + closeBox: [[ + "div",{ + style: { + position:"absolute", overflow:"hidden", top:".1em", right:".1em", + border: "1px outset", width:"1em", height:"1em", + "text-align": "center", cursor: "pointer", + "background-color": "#EEEEEE", color:"#606060", + + "border-radius": ".5em", // Opera 10.5 + "-webkit-border-radius": ".5em", // Safari and Chrome + "-moz-border-radius": ".5em", // Firefox + "-khtml-border-radius": ".5em" // Konqueror + }, + onclick: function () { + if (DATA.div && DATA.fade === 0) + {if (DATA.timer) {clearTimeout(DATA.timer)}; DATA.div.style.display = "none"} + } + }, + [["span",{style:{position:"relative", bottom:".2em"}},["x"]]] + ]], + + webfonts: [ + ["p"], + "Most modern browsers allow for fonts to be downloaded over the web. ", + "Updating to a more recent version of your browser (or changing browsers) ", + "could improve the quality of the mathematics on this page." + ], + + fonts: [ + ["p"], + "MathJax can use either the ", + ["a",{href:"http://www.stixfonts.org/",target:"_blank"},"STIX fonts"], + " or the ", + ["a",{href:"http://www.mathjax.org/help/fonts/",target:"_blank"},["MathJax TeX fonts"]], + ". Download and install either one to improve your MathJax experience." + ], + + STIXfonts: [ + ["p"], + "This page is designed to use the ", + ["a",{href:"http://www.stixfonts.org/",target:"_blank"},"STIX fonts"], + ". Download and install those fonts to improve your MathJax experience." + ], + + TeXfonts: [ + ["p"], + "This page is designed to use the ", + ["a",{href:"http://www.mathjax.org/help/fonts/",target:"_blank"},["MathJax TeX fonts"]], + ". Download and install those fonts to improve your MathJax experience." + ] + + }, + + removeAfter: 12*1000, // time to show message (in ms) + fadeoutSteps: 10, // fade-out steps + fadeoutTime: 1.5*1000 // fadeout over this amount of time (in ms) + + }); + if (MathJax.Hub.Browser.isIE9 && document.documentMode >= 9) + {delete CONFIG.messageStyle.filter} + + // + // Data for the window + // + var DATA = { + div: null, // the message window, when displayed + fade: 0 // number of fade-out steps so far + }; + + // + // Create the message window and start the fade-out timer + // + var CREATEMESSAGE = function (data) { + if (DATA.div) return; + var HTMLCSS = MathJax.OutputJax["HTML-CSS"], frame = document.body; + if (HUB.Browser.isMSIE) { + if (CONFIG.messageStyle.position === "fixed") { + MathJax.Message.Init(); // make sure MathJax_MSIE_frame exists + frame = document.getElementById("MathJax_MSIE_Frame"); + CONFIG.messageStyle.position = "absolute"; + } + } else {delete CONFIG.messageStyle.filter} + CONFIG.messageStyle.maxWidth = (document.body.clientWidth-75) + "px"; + var i = 0; while (i < data.length) { + if (data[i] instanceof Array && CONFIG.HTML[data[i][0]]) + {data.splice.apply(data,[i,1].concat(CONFIG.HTML[data[i][0]]))} else {i++} + } + DATA.div = HTMLCSS.addElement(frame,"div",{id:"MathJax_FontWarning",style:CONFIG.messageStyle},data); + if (CONFIG.removeAfter) { + HUB.Register.StartupHook("End",function () + {DATA.timer = setTimeout(FADEOUT,CONFIG.removeAfter)}); + } + HTML.Cookie.Set("fontWarn",{warned:true}); + }; + + // + // Set the opacity based on the number of steps taken so far + // and remove the window when it gets to 0 + // + var FADEOUT = function () { + DATA.fade++; if (DATA.timer) {delete DATA.timer} + if (DATA.fade < CONFIG.fadeoutSteps) { + var opacity = 1 - DATA.fade/CONFIG.fadeoutSteps; + DATA.div.style.opacity = opacity; + DATA.div.style.filter = "alpha(opacity="+Math.floor(100*opacity)+")"; + setTimeout(FADEOUT,CONFIG.fadeoutTime/CONFIG.fadeoutSteps); + } else { + DATA.div.style.display = "none"; + } + }; + + // + // Check that we haven't already issued a warning + // + if (!HTML.Cookie.Get("fontWarn").warned) { + // + // Hook into the Startup signal and look for font warning messages. + // When one comes, issue the correct message. + // + HUB.Startup.signal.Interest(function (message) { + if (message.match(/HTML-CSS Jax - /) && !DATA.div) { + var HTMLCSS = MathJax.OutputJax["HTML-CSS"], FONTS = HTMLCSS.config.availableFonts, MSG; + var localFonts = (FONTS && FONTS.length); + if (!localFonts) {CONFIG.HTML.fonts = [""]} + else if (FONTS.length === 1) {CONFIG.HTML.fonts = CONFIG.HTML[FONTS[0]+"fonts"]} + if (HTMLCSS.allowWebFonts) {CONFIG.HTML.webfonts = [""]} + if (message.match(/- Web-Font/)) {if (localFonts) {MSG = "webFont"}} + else if (message.match(/- using image fonts/)) {MSG = "imageFonts"} + else if (message.match(/- no valid font/)) {MSG = "noFonts"} + if (MSG && CONFIG.Message[MSG]) {CREATEMESSAGE(CONFIG.Message[MSG])} + } + }); + } + +})(MathJax.Hub,MathJax.HTML); + +MathJax.Ajax.loadComplete("[MathJax]/extensions/FontWarnings.js"); diff --git a/modules/MathJax/extensions/MathMenu.js b/modules/MathJax/extensions/MathMenu.js new file mode 100644 index 0000000..11189a2 --- /dev/null +++ b/modules/MathJax/extensions/MathMenu.js @@ -0,0 +1,794 @@ +/************************************************************* + * + * MathJax/extensions/MathMenu.js + * + * Implements a right-mouse (or CTRL-click) menu over mathematics + * elements that gives the user the ability to copy the source, + * change the math size, and zoom settings. + * + * --------------------------------------------------------------------- + * + * Copyright (c) 2010-2011 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +(function (HUB,HTML,AJAX) { + var VERSION = "1.1.4"; + + MathJax.Extension.MathMenu = {version: VERSION}; + + var isPC = HUB.Browser.isPC, isMSIE = HUB.Browser.isMSIE; + var ROUND = (isPC ? null : "5px"); + + var CONFIG = HUB.CombineConfig("MathMenu",{ + delay: 150, // the delay for submenus + helpURL: "http://www.mathjax.org/help/user/", // the URL for the "MathJax Help" menu + + showRenderer: true, // show the "Math Renderer" menu? + showFontMenu: false, // show the "Font Preference" menu? + showContext: false, // show the "Context Menu" menu? + + windowSettings: { // for source window + status: "no", toolbar: "no", locationbar: "no", menubar: "no", + directories: "no", personalbar: "no", resizable: "yes", scrollbars: "yes", + width: 100, height: 50 + }, + + styles: { + "#MathJax_About": { + position:"fixed", left:"50%", width:"auto", "text-align":"center", + border:"3px outset", padding:"1em 2em", "background-color":"#DDDDDD", color:"black", + cursor: "default", "font-family":"message-box", "font-size":"120%", + "font-style":"normal", "text-indent":0, "text-transform":"none", + "line-height":"normal", "letter-spacing":"normal", "word-spacing":"normal", + "word-wrap":"normal", "white-space":"nowrap", "float":"none", "z-index":201, + + "border-radius": "15px", // Opera 10.5 and IE9 + "-webkit-border-radius": "15px", // Safari and Chrome + "-moz-border-radius": "15px", // Firefox + "-khtml-border-radius": "15px", // Konqueror + + "box-shadow":"0px 10px 20px #808080", // Opera 10.5 and IE9 + "-webkit-box-shadow":"0px 10px 20px #808080", // Safari 3 and Chrome + "-moz-box-shadow":"0px 10px 20px #808080", // Forefox 3.5 + "-khtml-box-shadow":"0px 10px 20px #808080", // Konqueror + filter: "progid:DXImageTransform.Microsoft.dropshadow(OffX=2, OffY=2, Color='gray', Positive='true')" // IE + }, + + ".MathJax_Menu": { + position:"absolute", "background-color":"white", color:"black", + width:"auto", padding:(isPC ? "2px" : "5px 0px"), + border:"1px solid #CCCCCC", margin:0, cursor:"default", + font: "menu", "text-align":"left", "text-indent":0, "text-transform":"none", + "line-height":"normal", "letter-spacing":"normal", "word-spacing":"normal", + "word-wrap":"normal", "white-space":"nowrap", "float":"none", "z-index":201, + + "border-radius": ROUND, // Opera 10.5 and IE9 + "-webkit-border-radius": ROUND, // Safari and Chrome + "-moz-border-radius": ROUND, // Firefox + "-khtml-border-radius": ROUND, // Konqueror + + "box-shadow":"0px 10px 20px #808080", // Opera 10.5 and IE9 + "-webkit-box-shadow":"0px 10px 20px #808080", // Safari 3 and Chrome + "-moz-box-shadow":"0px 10px 20px #808080", // Forefox 3.5 + "-khtml-box-shadow":"0px 10px 20px #808080", // Konqueror + filter: "progid:DXImageTransform.Microsoft.dropshadow(OffX=2, OffY=2, Color='gray', Positive='true')" // IE + }, + + ".MathJax_MenuItem": { + padding: (isPC ? "2px 2em" : "1px 2em"), + background:"transparent" + }, + + ".MathJax_MenuTitle": { + "background-color":"#CCCCCC", + margin: (isPC ? "-1px -1px 1px -1px" : "-5px 0 0 0"), + "text-align":"center", "font-style":"italic", "font-size":"80%", color:"#444444", + padding:"2px 0", overflow:"hidden" + }, + + ".MathJax_MenuArrow": { + position:"absolute", right:".5em", color:"#666666", + "font-family": (isMSIE ? "'Arial unicode MS'" : null) + }, + ".MathJax_MenuActive .MathJax_MenuArrow": {color:"white"}, + + ".MathJax_MenuCheck": { + position:"absolute", left:".7em", + "font-family": (isMSIE ? "'Arial unicode MS'" : null) + }, + + ".MathJax_MenuRadioCheck": { + position:"absolute", left: (isPC ? "1em" : ".7em") + }, + + ".MathJax_MenuLabel": { + padding: (isPC ? "2px 2em 4px 1.33em" : "1px 2em 3px 1.33em"), + "font-style":"italic" + }, + + ".MathJax_MenuRule": { + "border-top": (isPC ? "1px solid #CCCCCC" : "1px solid #DDDDDD"), + margin: (isPC ? "4px 1px 0px" : "4px 3px") + }, + + ".MathJax_MenuDisabled": { + color:"GrayText" + }, + + ".MathJax_MenuActive": { + "background-color": (isPC ? "Highlight" : "#606872"), + color: (isPC ? "HighlightText" : "white") + } + } + }); + + /*************************************************************/ + /* + * Cancel event's default action (try everything we can) + */ + var FALSE = function (event) { + if (!event) {event = window.event} + if (event) { + if (event.preventDefault) {event.preventDefault()} + if (event.stopPropagation) {event.stopPropagation()} + event.cancelBubble = true; + event.returnValue = false; + } + return false; + }; + + /*************************************************************/ + /* + * The main menu class + */ + var MENU = MathJax.Menu = MathJax.Object.Subclass({ + version: VERSION, + items: [], + posted: false, + title: null, + margin: 5, + + Init: function (def) {this.items = [].slice.call(arguments,0)}, + With: function (def) {if (def) {HUB.Insert(this,def)}; return this}, + + /* + * Display the menu + */ + Post: function (event,parent) { + if (!event) {event = window.event}; + var title = (!this.title ? null : [["div",{className: "MathJax_MenuTitle"},[this.title]]]); + var div = document.getElementById("MathJax_MenuFrame"); + if (!div) {div = MENU.Background(this)} + var menu = HTML.addElement(div,"div",{ + onmouseup: MENU.Mouseup, ondblclick: this.False, + ondragstart: this.False, onselectstart: this.False, oncontextmenu: this.False, + menuItem: this, className: "MathJax_Menu" + },title); + + for (var i = 0, m = this.items.length; i < m; i++) {this.items[i].Create(menu)} + this.posted = true; + + menu.style.width = (menu.offsetWidth+2) + "px"; + var x = event.pageX, y = event.pageY; + if (!x && !y) { + x = event.clientX + document.body.scrollLeft + document.documentElement.scrollLeft; + y = event.clientY + document.body.scrollTop + document.documentElement.scrollTop; + } + if (!parent) { + if (x + menu.offsetWidth > document.body.offsetWidth - this.margin) + {x = document.body.offsetWidth - menu.offsetWidth - this.margin} + MENU.skipUp = true; + } else { + var side = "left", mw = parent.offsetWidth; + x = parent.offsetWidth - 2; y = 0; + while (parent && parent !== div) { + x += parent.offsetLeft; y += parent.offsetTop; + parent = parent.parentNode; + } + if (x + menu.offsetWidth > document.body.offsetWidth - this.margin) + {side = "right"; x = Math.max(this.margin,x - mw - menu.offsetWidth + 6)} + if (!isPC) { + // in case these ever get implemented + menu.style["borderRadiusTop"+side] = 0; // Opera 10.5 + menu.style["WebkitBorderRadiusTop"+side] = 0; // Safari and Chrome + menu.style["MozBorderRadiusTop"+side] = 0; // Firefox + menu.style["KhtmlBorderRadiusTop"+side] = 0; // Konqueror + } + } + + menu.style.left = x+"px"; menu.style.top = y+"px"; + + if (document.selection && document.selection.empty) {document.selection.empty()} + return this.False(event); + }, + + /* + * Remove the menu from the screen + */ + Remove: function (event,menu) { + var div = document.getElementById("MathJax_MenuFrame"); + if (div) { + div.parentNode.removeChild(div); + if (this.msieBackgroundBug) {detachEvent("onresize",MENU.Resize)} + } + }, + Mouseup: function (event,menu) { + if (MENU.skipUp) {delete MENU.skipUp} else {this.Remove(event,menu)} + }, + + False: FALSE + },{ + config: CONFIG, + + div: null, // the DOM elements for the menu and submenus + + Remove: function (event) {MENU.Event(event,this,"Remove")}, + Mouseover: function (event) {MENU.Event(event,this,"Mouseover")}, + Mouseout: function (event) {MENU.Event(event,this,"Mouseout")}, + Mousedown: function (event) {MENU.Event(event,this,"Mousedown")}, + Mouseup: function (event) {MENU.Event(event,this,"Mouseup")}, + Mousemove: function (event) {MENU.Event(event,this,"Mousemove")}, + Event: function (event,menu,type) { + if (!event) {event = window.event} + var item = menu.menuItem; + if (item && item[type]) {return item[type](event,menu)} + return null; + }, + + /* + * Style for the background DIV + */ + BGSTYLE: { + position:"absolute", left:0, top:0, "z-index":200, + width:"100%", height:"100%", border:0, padding:0, margin:0 + }, + + Background: function (menu) { + var div = HTML.addElement(document.body,"div",{style:this.BGSTYLE, id:"MathJax_MenuFrame"}, + [["div",{style: this.BGSTYLE, menuItem: menu, onmousedown: this.Remove}]]); + var bg = div.firstChild; + if (menu.msieBackgroundBug) { + // MSIE doesn't allow transparent background to be hit boxes, so + // fake it using opacity with solid background color + bg.style.backgroundColor = "white"; bg.style.filter = "alpha(opacity=0)"; + // MSIE can't do fixed position, so use a full-sized background + // and an onresize handler to update it (stupid, but necessary) + div.width = div.height = 0; this.Resize(); + attachEvent("onresize",this.Resize); + } else { + // otherwise, use a fixed position DIV to cover the viewport + bg.style.position = "fixed"; + } + return div; + }, + Resize: function () {setTimeout(MENU.SetWH,0)}, + SetWH: function () { + var bg = document.getElementById("MathJax_MenuFrame"); + if (bg) { + bg = bg.firstChild; + bg.style.width = bg.style.height = "1px"; // so scrollWidth/Height will be right below + bg.style.width = document.body.scrollWidth + "px"; + bg.style.height = document.body.scrollHeight + "px"; + } + }, + + saveCookie: function () {HTML.Cookie.Set("menu",this.cookie)}, + getCookie: function () {this.cookie = HTML.Cookie.Get("menu")} + + }); + + /*************************************************************/ + /* + * The menu item root subclass + */ + var ITEM = MENU.ITEM = MathJax.Object.Subclass({ + name: "", // the menu item's label + + Create: function (menu) { + if (!this.hidden) { + var def = { + onmouseover: MENU.Mouseover, onmouseout: MENU.Mouseout, + onmouseup: MENU.Mouseup, onmousedown: this.False, + ondragstart: this.False, onselectstart: this.False, onselectend: this.False, + className: "MathJax_MenuItem", menuItem: this + }; + if (this.disabled) {def.className += " MathJax_MenuDisabled"} + HTML.addElement(menu,"div",def,this.Label(def,menu)); + } + }, + + Mouseover: function (event,menu) { + if (!this.disabled) {this.Activate(menu)} + if (!this.menu || !this.menu.posted) { + var menus = document.getElementById("MathJax_MenuFrame").childNodes, + items = menu.parentNode.childNodes; + for (var i = 0, m = items.length; i < m; i++) { + var item = items[i].menuItem; + if (item && item.menu && item.menu.posted) {item.Deactivate(items[i])} + } + m = menus.length-1; + while (m >= 0 && menu.parentNode.menuItem !== menus[m].menuItem) { + menus[m].menuItem.posted = false; + menus[m].parentNode.removeChild(menus[m]); + m--; + } + if (this.Timer) {this.Timer(event,menu)} + } + }, + Mouseout: function (event,menu) { + if (!this.menu || !this.menu.posted) {this.Deactivate(menu)} + if (this.timer) {clearTimeout(this.timer); delete this.timer} + }, + Mouseup: function (event,menu) {return this.Remove(event,menu)}, + + Remove: function (event,menu) { + menu = menu.parentNode.menuItem; + return menu.Remove(event,menu); + }, + + Activate: function (menu) {this.Deactivate(menu); menu.className += " MathJax_MenuActive"}, + Deactivate: function (menu) {menu.className = menu.className.replace(/ MathJax_MenuActive/,"")}, + + With: function (def) {if (def) {HUB.Insert(this,def)}; return this}, + False: FALSE + }); + + /*************************************************************/ + /* + * A menu item that performs a command when selected + */ + MENU.ITEM.COMMAND = MENU.ITEM.Subclass({ + action: function () {}, + + Init: function (name,action,def) { + this.name = name; this.action = action; + this.With(def); + }, + Label: function (def,menu) {return [this.name]}, + Mouseup: function (event,menu) { + if (!this.disabled) {this.Remove(event,menu); this.action.call(this,event)} + return this.False(event); + } + }); + + /*************************************************************/ + /* + * A menu item that posts a submenu + */ + MENU.ITEM.SUBMENU = MENU.ITEM.Subclass({ + menu: null, // the submenu + marker: (isPC && !HUB.Browser.isSafari ? "\u25B6" : "\u25B8"), // the menu arrow + + Init: function (name,def) { + this.name = name; var i = 1; + if (!(def instanceof MENU.ITEM)) {this.With(def), i++} + this.menu = MENU.apply(MENU,[].slice.call(arguments,i)); + }, + Label: function (def,menu) { + def.onmousemove = MENU.Mousemove; this.menu.posted = false; + return [this.name+" ",["span",{className:"MathJax_MenuArrow"},[this.marker]]]; + }, + Timer: function (event,menu) { + if (this.timer) {clearTimeout(this.timer)} + event = {clientX: event.clientX, clientY: event.clientY}; // MSIE can't pass the event below + this.timer = setTimeout(MathJax.Callback(["Mouseup",this,event,menu]),CONFIG.delay); + }, + Mouseup: function (event,menu) { + if (!this.disabled) { + if (!this.menu.posted) { + if (this.timer) {clearTimeout(this.timer); delete this.timer} + this.menu.Post(event,menu); + } else { + var menus = document.getElementById("MathJax_MenuFrame").childNodes, + m = menus.length-1; + while (m >= 0) { + var child = menus[m]; + child.menuItem.posted = false; + child.parentNode.removeChild(child); + if (child.menuItem === this.menu) {break}; + m--; + } + } + } + return this.False(event); + } + }); + + /*************************************************************/ + /* + * A menu item that is one of several radio buttons + */ + MENU.ITEM.RADIO = MENU.ITEM.Subclass({ + variable: null, // the variable name + marker: (isPC ? "\u25CF" : "\u2713"), // the checkmark + + Init: function (name,variable,def) { + this.name = name; this.variable = variable; this.With(def); + if (this.value == null) {this.value = this.name} + }, + Label: function (def,menu) { + var span = {className:"MathJax_MenuRadioCheck"}; + if (CONFIG.settings[this.variable] !== this.value) {span = {style:{display:"none"}}} + return [["span",span,[this.marker]]," "+this.name]; + }, + Mouseup: function (event,menu) { + if (!this.disabled) { + var child = menu.parentNode.childNodes; + for (var i = 0, m = child.length; i < m; i++) { + var item = child[i].menuItem; + if (item && item.variable === this.variable) + {child[i].firstChild.style.display = "none"} + } + menu.firstChild.display = ""; + CONFIG.settings[this.variable] = this.value; + MENU.cookie[this.variable] = CONFIG.settings[this.variable]; MENU.saveCookie(); + if (this.action) {this.action.call(MENU)} + } + this.Remove(event,menu); + return this.False(event); + } + }); + + /*************************************************************/ + /* + * A menu item that is checkable + */ + MENU.ITEM.CHECKBOX = MENU.ITEM.Subclass({ + variable: null, // the variable name + marker: "\u2713", // the checkmark + + Init: function (name,variable,def) { + this.name = name; this.variable = variable; this.With(def); + }, + Label: function (def,menu) { + var span = {className:"MathJax_MenuCheck"}; + if (!CONFIG.settings[this.variable]) {span = {style:{display:"none"}}} + return [["span",span,[this.marker]]," "+this.name]; + }, + Mouseup: function (event,menu) { + if (!this.disabled) { + menu.firstChild.display = (CONFIG.settings[this.variable] ? "none" : ""); + CONFIG.settings[this.variable] = !CONFIG.settings[this.variable]; + MENU.cookie[this.variable] = CONFIG.settings[this.variable]; MENU.saveCookie(); + if (this.action) {this.action.call(MENU)} + } + this.Remove(event,menu); + return this.False(event); + } + }); + + /*************************************************************/ + /* + * A menu item that is a label + */ + MENU.ITEM.LABEL = MENU.ITEM.Subclass({ + Init: function (name,def) {this.name = name; this.With(def)}, + Label: function (def,menu) { + delete def.onmouseover, delete def.onmouseout; delete def.onmousedown; + def.className += " MathJax_MenuLabel"; + return [this.name]; + } + }); + + /*************************************************************/ + /* + * A rule in a menu + */ + MENU.ITEM.RULE = MENU.ITEM.Subclass({ + Label: function (def,menu) { + delete def.onmouseover, delete def.onmouseout; delete def.onmousedown; + def.className += " MathJax_MenuRule"; + return null; + } + }); + + /*************************************************************/ + /*************************************************************/ + + /* + * Handle the ABOUT box + */ + MENU.About = function () { + var HTMLCSS = MathJax.OutputJax["HTML-CSS"] || {fontInUse: ""}; + var local = (HTMLCSS.webFonts ? "" : "local "), web = (HTMLCSS.webFonts ? " web" : ""); + var font = (HTMLCSS.imgFonts ? "Image" : local+HTMLCSS.fontInUse+web) + " fonts"; + var jax = ["MathJax.js v"+MathJax.fileversion,["br"]]; + jax.push(["div",{style:{"border-top":"groove 2px",margin:".25em 0"}}]); + MENU.About.GetJax(jax,MathJax.InputJax,"Input Jax"); + MENU.About.GetJax(jax,MathJax.OutputJax,"Output Jax"); + MENU.About.GetJax(jax,MathJax.ElementJax,"Element Jax"); + jax.push(["div",{style:{"border-top":"groove 2px",margin:".25em 0"}}]); + MENU.About.GetJax(jax,MathJax.Extension,"Extension",true); + jax.push(["div",{style:{"border-top":"groove 2px",margin:".25em 0"}}],["center",{},[ + HUB.Browser + " v"+HUB.Browser.version + + (HTMLCSS.webFonts ? " \u2014 "+HTMLCSS.allowWebFonts+" fonts" : "") + ]]); + MENU.About.div = MENU.Background(MENU.About); + var about = MathJax.HTML.addElement(MENU.About.div,"div",{ + id: "MathJax_About", onclick: MENU.About.Remove + },[ + ["b",{style:{fontSize:"120%"}},["MathJax"]]," v"+MathJax.version,["br"], + "using "+font,["br"],["br"], + ["span",{style:{ + display:"inline-block", "text-align":"left", "font-size":"80%", + "background-color":"#E4E4E4", padding:".4em .6em", border:"1px inset" + }},jax],["br"],["br"], + ["a",{href:"http://www.mathjax.org/"},["www.mathjax.org"]] + ]); + var doc = (document.documentElement||{}); + var H = window.innerHeight || doc.clientHeight || doc.scrollHeight || 0; + if (MENU.prototype.msieAboutBug) { + about.style.width = "20em"; about.style.position = "absolute"; + about.style.left = Math.floor((document.documentElement.scrollWidth - about.offsetWidth)/2)+"px"; + about.style.top = (Math.floor((H-about.offsetHeight)/3)+document.body.scrollTop)+"px"; + } else { + about.style.marginLeft = Math.floor(-about.offsetWidth/2)+"px"; + about.style.top = Math.floor((H-about.offsetHeight)/3)+"px"; + } + }; + MENU.About.Remove = function (event) { + if (MENU.About.div) {document.body.removeChild(MENU.About.div); delete MENU.About.div} + }; + MENU.About.GetJax = function (jax,JAX,type,noTypeCheck) { + for (var id in JAX) {if (JAX.hasOwnProperty(id) && JAX[id]) { + if ((noTypeCheck && JAX[id].version) || (JAX[id].isa && JAX[id].isa(JAX))) + {jax.push((JAX[id].id||id)+" "+type+" v"+JAX[id].version,["br"])} + }} + return jax; + }; + + + /* + * Handle the MathJax HELP menu + */ + MENU.Help = function () { + window.open(CONFIG.helpURL,"MathJaxHelp"); + }; + + /* + * Handle showing of element's source + */ + MENU.ShowSource = function (event) { + if (!event) {event = window.event} + var EVENT = {screenX:event.screenX, screenY:event.screenY}; + if (!MENU.jax) return; + if (CONFIG.settings.format === "MathML") { + var MML = MathJax.ElementJax.mml; + if (MML && typeof(MML.mbase.prototype.toMathML) !== "undefined") { + // toMathML() can call MathJax.Hub.RestartAfter, so trap errors and check + try {MENU.ShowSource.Text(MENU.jax.root.toMathML(),event)} catch (err) { + if (!err.restart) {throw err} + MathJax.Callback.After([this,arguments.callee,EVENT]); + } + } else if (!AJAX.loadingToMathML) { + AJAX.loadingToMathML = true; + MENU.ShowSource.Window(event); // WeBKit needs to open window on click event + MathJax.Callback.Queue( + AJAX.Require("[MathJax]/extensions/toMathML.js"), + function () {delete AJAX.loadingToMathML}, + [this,arguments.callee,EVENT] // call this function again + ); + return; + } + } else { + if (MENU.jax.originalText == null) {alert("No TeX form available"); return} + MENU.ShowSource.Text(MENU.jax.originalText,event); + } + }; + MENU.ShowSource.Window = function (event) { + if (!MENU.ShowSource.w) { + var def = [], DEF = CONFIG.windowSettings; + for (var id in DEF) {if (DEF.hasOwnProperty(id)) {def.push(id+"="+DEF[id])}} + MENU.ShowSource.w = window.open("","_blank",def.join(",")); + } + return MENU.ShowSource.w; + }; + MENU.ShowSource.Text = function (text,event) { + var w = MENU.ShowSource.Window(event); + text = text.replace(/^\s*/,"").replace(/\s*$/,""); + text = text.replace(/&/g,"&").replace(//g,">"); + w.document.open(); + w.document.write("MathJax Equation Source"); + w.document.write("
"+text+"
"); + w.document.write(""); w.document.close(); + var table = w.document.body.firstChild; + var H = (w.outerHeight-w.innerHeight)||30, W = (w.outerWidth-w.innerWidth)||30; + W = Math.min(Math.floor(.5*screen.width),table.offsetWidth+W+25); + H = Math.min(Math.floor(.5*screen.height),table.offsetHeight+H+25); + w.resizeTo(W,H); + if (event && event.screenX != null) { + var x = Math.max(0,Math.min(event.screenX-Math.floor(W/2), screen.width-W-20)), + y = Math.max(0,Math.min(event.screenY-Math.floor(H/2), screen.height-H-20)); + w.moveTo(x,y); + } + delete MENU.ShowSource.w; + }; + + /* + * Handle rescaling all the math + */ + MENU.Scale = function () { + var HTMLCSS = MathJax.OutputJax["HTML-CSS"], nMML = MathJax.OutputJax.NativeMML; + var SCALE = (HTMLCSS ? HTMLCSS.config.scale : nMML.config.scale); + var scale = prompt("Scale all mathematics (compared to surrounding text) by",SCALE+"%"); + if (scale) { + if (scale.match(/^\s*\d+\s*%?\s*$/)) { + scale = parseInt(scale); + if (scale) { + if (scale !== SCALE) { + if (HTMLCSS) {HTMLCSS.config.scale = scale} + if (nMML) {nMML.config.scale = scale} + MENU.cookie.scale = scale; + MENU.saveCookie(); HUB.Reprocess(); + } + } else {alert("The scale should not be zero")} + } else {alert("The scale should be a perentage (e.g., 120%)")} + } + }; + + /* + * Handle loading the zoom code + */ + MENU.Zoom = function () { + if (!MathJax.Extension.MathZoom) {AJAX.Require("[MathJax]/extensions/MathZoom.js")} + }; + + /* + * Handle changing the renderer + */ + MENU.Renderer = function () { + var jax = HUB.config.outputJax["jax/mml"]; + if (jax[0] !== CONFIG.settings.renderer) { + MathJax.Callback.Queue( + ["Require",AJAX,"[MathJax]/jax/output/"+CONFIG.settings.renderer+"/config.js"], + ["Post",HUB.Startup.signal,CONFIG.settings.renderer+" output selected"], + [function () { + var JAX = MathJax.OutputJax[CONFIG.settings.renderer]; + for (var i = 0, m = jax.length; i < m; i++) + {if (jax[i] === JAX) {jax.splice(i,1); break}} + jax.unshift(JAX); + }], + ["Reprocess",HUB] + ); + } + }; + + /* + * Handle setting the HTMLCSS fonts + */ + MENU.Font = function () { + var HTMLCSS = MathJax.OutputJax["HTML-CSS"]; if (!HTMLCSS) return; + document.location.reload(); + }; + + /*************************************************************/ + /*************************************************************/ + + HUB.Browser.Select({ + MSIE: function (browser) { + var quirks = (document.compatMode === "BackCompat"); + var isIE8 = browser.versionAtLeast("8.0") && document.documentMode > 7; + MENU.Augment({ + margin: 20, + msieBackgroundBug: (quirks || !isIE8), + msieAboutBug: quirks + }); + if (document.documentMode >= 9) { + delete CONFIG.styles["#MathJax_About"].filter; + delete CONFIG.styles[".MathJax_Menu"].filter; + } + } + }); + + /*************************************************************/ + + HUB.Register.StartupHook("End Config",function () { + + /* + * Get the menu settings from the HUB (which includes the + * data from the cookie already), and add the format, if + * it wasn't set in the cookie. + */ + CONFIG.settings = HUB.config.menuSettings; + if (!CONFIG.settings.format) + {CONFIG.settings.format = (MathJax.InputJax.TeX ? "Original" : "MathML")} + if (typeof(CONFIG.settings.showRenderer) !== "undefined") {CONFIG.showRenderer = CONFIG.settings.showRenderer} + if (typeof(CONFIG.settings.showFontMenu) !== "undefined") {CONFIG.showFontMenu = CONFIG.settings.showFontMenu} + if (typeof(CONFIG.settings.showContext) !== "undefined") {CONFIG.showContext = CONFIG.settings.showContext} + MENU.getCookie(); + + /* + * The main menu + */ + MENU.menu = MENU( + ITEM.COMMAND("Show Source",MENU.ShowSource), + ITEM.SUBMENU("Format", + ITEM.RADIO("MathML", "format"), + ITEM.RADIO("Original", "format", {value: "Original"}) + ), + ITEM.RULE(), + ITEM.SUBMENU("Settings", + ITEM.SUBMENU("Zoom Trigger", + ITEM.RADIO("Hover", "zoom", {action: MENU.Zoom}), + ITEM.RADIO("Click", "zoom", {action: MENU.Zoom}), + ITEM.RADIO("Double-Click", "zoom", {action: MENU.Zoom}), + ITEM.RADIO("No Zoom", "zoom", {value: "None"}), + ITEM.RULE(), + ITEM.LABEL("Trigger Requires:"), + ITEM.CHECKBOX((HUB.Browser.isMac ? "Option" : "Alt"), "ALT"), + ITEM.CHECKBOX("Command", "CMD", {hidden: !HUB.Browser.isMac}), + ITEM.CHECKBOX("Control", "CTRL", {hidden: HUB.Browser.isMac}), + ITEM.CHECKBOX("Shift", "Shift") + ), + ITEM.SUBMENU("Zoom Factor", + ITEM.RADIO("125%", "zscale"), + ITEM.RADIO("133%", "zscale"), + ITEM.RADIO("150%", "zscale"), + ITEM.RADIO("175%", "zscale"), + ITEM.RADIO("200%", "zscale"), + ITEM.RADIO("250%", "zscale"), + ITEM.RADIO("300%", "zscale"), + ITEM.RADIO("400%", "zscale") + ), + ITEM.RULE(), + ITEM.SUBMENU("Math Renderer", {hidden:!CONFIG.showRenderer}, + ITEM.RADIO("HTML-CSS", "renderer", {action: MENU.Renderer}), + ITEM.RADIO("MathML", "renderer", {action: MENU.Renderer, value:"NativeMML"}) + ), + ITEM.SUBMENU("Font Preference", {hidden:!CONFIG.showFontMenu}, + ITEM.LABEL("For HTML-CSS:"), + ITEM.RADIO("Auto", "font", {action: MENU.Font}), + ITEM.RULE(), + ITEM.RADIO("TeX (local)", "font", {action: MENU.Font}), + ITEM.RADIO("TeX (web)", "font", {action: MENU.Font}), + ITEM.RADIO("TeX (image)", "font", {action: MENU.Font}), + ITEM.RULE(), + ITEM.RADIO("STIX (local)", "font", {action: MENU.Font}) + ), + ITEM.SUBMENU("Contextual Menu", {hidden:!CONFIG.showContext}, + ITEM.RADIO("MathJax", "context"), + ITEM.RADIO("Browser", "context") + ), + ITEM.COMMAND("Scale All Math ...",MENU.Scale) + ), + ITEM.RULE(), + ITEM.COMMAND("About MathJax",MENU.About), + ITEM.COMMAND("MathJax Help",MENU.Help) + ); + + }); + + MENU.showRenderer = function (show) { + MENU.cookie.showRenderer = CONFIG.showRenderer = show; MENU.saveCookie(); + MENU.menu.items[3].menu.item[3].hidden = !show; + }; + MENU.showFontMenu = function (show) { + MENU.cookie.showFontMenu = CONFIG.showFontMenu = show; MENU.saveCookie(); + MENU.menu.items[3].menu.items[4].hidden = !show + }; + MENU.showContext = function (show) { + MENU.cookie.showContext = CONFIG.showContext = show; MENU.saveCookie(); + MENU.menu.items[3].menu.items[5].hidden = !show + }; + + /*************************************************************/ + + MathJax.Callback.Queue( + ["Styles",AJAX,CONFIG.styles], + ["Post",HUB.Startup.signal,"MathMenu Ready"], + ["loadComplete",AJAX,"[MathJax]/extensions/MathMenu.js"] + ); + +})(MathJax.Hub,MathJax.HTML,MathJax.Ajax); diff --git a/modules/MathJax/extensions/MathZoom.js b/modules/MathJax/extensions/MathZoom.js new file mode 100644 index 0000000..90d3aeb --- /dev/null +++ b/modules/MathJax/extensions/MathZoom.js @@ -0,0 +1,409 @@ +/************************************************************* + * + * MathJax/extensions/MathZoom.js + * + * Implements the zoom feature for enlarging math expressions. It is + * loaded automatically when the Zoom menu selection changes from "None". + * + * --------------------------------------------------------------------- + * + * Copyright (c) 2010-2011 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +(function (HUB,HTML,AJAX,HTMLCSS,nMML) { + var VERSION = "1.1"; + + var CONFIG = HUB.CombineConfig("MathZoom",{ + delay: 400, // mouse must be still this long (milliseconds) + + styles: { + // + // The styles for the MathZoom display box + // + "#MathJax_Zoom": { + position:"absolute", "background-color":"#F0F0F0", overflow:"auto", + display:"block", "z-index":301, padding:".5em", border:"1px solid black", margin:0, + "font-family":"serif", "font-size":"85%", "font-weight":"normal", + "font-style":"normal", "text-align":"left", "text-indent":0, "text-transform":"none", + "line-height":"normal", "letter-spacing":"normal", "word-spacing":"normal", + "word-wrap":"normal", "white-space":"nowrap", "float":"none", + "box-shadow":"5px 5px 15px #AAAAAA", // Opera 10.5 and IE9 + "-webkit-box-shadow":"5px 5px 15px #AAAAAA", // Safari 3 and Chrome + "-moz-box-shadow":"5px 5px 15px #AAAAAA", // Forefox 3.5 + "-khtml-box-shadow":"5px 5px 15px #AAAAAA", // Konqueror + filter: "progid:DXImageTransform.Microsoft.dropshadow(OffX=2, OffY=2, Color='gray', Positive='true')" // IE + }, + + // + // The styles for the hidden overlay (should not need to be adjusted by the page author) + // + "#MathJax_ZoomOverlay": { + position:"absolute", left:0, top:0, "z-index":300, display:"inline-block", + width:"100%", height:"100%", border:0, padding:0, margin:0, + "background-color":"white", opacity:0, filter:"alpha(opacity=0)" + } + } + }); + + /*************************************************************/ + /* + * Cancel event's default action (try everything we can) + */ + var FALSE = function (event) { + if (!event) {event = window.event} + if (event) { + if (event.preventDefault) {event.preventDefault()} + if (event.stopPropagation) {event.stopPropagation()} + event.cancelBubble = true; + event.returnValue = false; + } + return false; + }; + + /*************************************************************/ + + var ZOOM = MathJax.Extension.MathZoom = { + version: VERSION, + settings: HUB.config.menuSettings, + + // + // Used to override HTMLCSS or nMML method of the same name + // + HandleEvent: function (event,type,math) { + if (!event) {event = window.event} + if (ZOOM.settings.CTRL && !event.ctrlKey) return true; + if (ZOOM.settings.ALT && !event.altKey) return true; + if (ZOOM.settings.CMD && !event.metaKey) return true; + if (ZOOM.settings.Shift && !event.shiftKey) return true; + return ZOOM[type](event,math); + }, + + // + // Zoom on click + // + Click: function (event,math) { + if (this.settings.zoom === "Click") {return this.Zoom(math,event)} + }, + + // + // Zoom on double click + // + DblClick: function (event,math) { + if (this.settings.zoom === "Double-Click") {return this.Zoom(math,event)} + }, + + // + // Zoom on hover + // + Mouseover: function (event,math) { + if (this.settings.zoom === "Hover") { + ZOOM.oldMouseOver = math.onmouseover; + math.onmouseover = null; + math.onmousemove = this.Mousemove; + math.onmouseout = this.Mouseout; + return ZOOM.Timer(event,math); + } + }, + Mouseout: function (event) { + this.onmouseover = ZOOM.oldMouseOver; delete ZOOM.oldMouseOver; + this.onmousemove = this.onmouseout = null; + ZOOM.ClearTimer(); + return FALSE(event); + }, + Mousemove: function (event) { + return ZOOM.Timer(event||window.event,this); + }, + Timer: function (event,math) { + this.ClearTimer(); + this.timer = setTimeout(MathJax.Callback(["Zoom",this,math,{}]),CONFIG.delay); + return FALSE(event); + }, + ClearTimer: function () { + if (this.timer) {clearTimeout(this.timer); delete this.timer} + }, + + // + // Handle the actual zooming + // + Zoom: function (math,event) { + this.ClearTimer(); this.Remove(); + + // + // Find the jax and its type + // + var parent = math.parentNode; + if (parent.className === "MathJax_MathContainer") {parent = parent.parentNode} + if (parent.parentNode.className === "MathJax_MathContainer") {parent = parent.parentNode.parentNode} + var script = (String(parent.className).match(/^MathJax_(MathML|Display)$/) ? parent : math).nextSibling; + var jax = HUB.getJaxFor(script), root = jax.root; + var JAX = (HTMLCSS && jax.outputJax.isa(HTMLCSS.constructor) ? "HTMLCSS" : + (nMML && jax.outputJax.isa(nMML.constructor) ? "MathML" : null)); + if (!JAX) return; // FIXME: report an error? + + // + // Create the DOM elements for the zoom box + // + var Mw = Math.floor(.85*document.body.clientWidth), + Mh = Math.floor(.85*document.body.clientHeight); + var div = HTML.Element( + "span",{ + style: {position:"relative", display:"inline-block", height:0, width:0}, + id:"MathJax_ZoomFrame" + },[ + ["span",{id:"MathJax_ZoomOverlay", onmousedown:this.Remove}], + ["span",{ + id:"MathJax_Zoom", onclick: this.Remove, + style:{ + visibility:"hidden", fontSize:this.settings.zscale, + "max-width":Mw+"px", "max-height":Mh+"px" + } + },[["span"]]] + ] + ); + var zoom = div.lastChild, span = zoom.firstChild, overlay = div.firstChild; + math.parentNode.insertBefore(div,math); + + // + // Display the zoomed math + // + if (this.msieZIndexBug) { + // MSIE doesn't do z-index properly, so move the div to the document.body, + // and use an empty span as a tracker for the usual position + var tracker = HTML.Element("img",{ + src:"about:blank", id:"MathJax_ZoomTracker", + style:{width:0, height:0, position:"relative"} + }); + document.body.appendChild(div); + div.style.position = "absolute"; + div.style.zIndex = CONFIG.styles["#MathJax_ZoomOverlay"]["z-index"]; + div = tracker; + } + var bbox = (this["Zoom"+JAX])(root,span,math); + if (this.msiePositionBug) { + if (this.msieIE8Bug) { + // IE8 gets height completely wrong + span.style.position = "absolute"; zoom.style.height = span.offsetHeight; span.style.position = ""; + if (zoom.offsetHeight <= Mh && zoom.offsetWidth <= Mw) {zoom.style.overflow = "visible"} + } + if (this.msieWidthBug) {zoom.style.width = Math.min(Mw,bbox.w)} + else if (bbox.w > Mw) {zoom.style.width = Mw} + if (zoom.offsetHeight > Mh) {zoom.style.Height = Mh+"px"} // IE doesn't do max-height? + if (math.nextSibling) {math.parentNode.insertBefore(div,math.nextSibling)} + else {parent.appendChild(div)} // needs to be after to be above? + } else if (this.operaPositionBug) { + zoom.style.width = Math.min(Mw,span.offsetWidth)+"px"; // gets width as 0? + } + this.Position(zoom,bbox,(JAX === "MathML" && parent.nodeName.toLowerCase() === "div")); + zoom.style.visibility = ""; + + // + // Add event handlers + // + if (this.settings.zoom === "Hover") {overlay.onmouseover = this.Remove} + if (window.addEventListener) {addEventListener("resize",this.Resize,false)} + else if (window.attachEvent) {attachEvent("onresize",this.Resize)} + else {this.onresize = window.onresize; window.onresize = this.Resize} + + + // + // Canel further actions + // + return FALSE(event); + }, + + // + // Handle the jax-specific output + // + ZoomHTMLCSS: function (root,span,math) { + span.className = "MathJax"; + HTMLCSS.idPostfix = "-zoom"; + HTMLCSS.getScales(span,span); + root.toHTML(span,span); + var bbox = root.HTMLspanElement().bbox; + HTMLCSS.idPostfix = ""; + if (bbox.width && bbox.width !== "100%") { + // Handle full-width displayed equations + // FIXME: this is a hack for now + var Mw = Math.floor(.85*document.body.clientWidth); + span.style.width = Mw+"px"; span.style.display="inline-block"; + var id = (root.id||"MathJax-Span-"+root.spanID)+"-zoom"; + var child = document.getElementById(id).firstChild; + while (child && child.style.width !== bbox.width) {child = child.nextSibling} + if (child) {child.style.width = "100%"} + } + span.appendChild(this.topImg); var top = this.topImg.offsetTop; span.removeChild(this.topImg); + var W = (this.msieWidthBug ? HTMLCSS.getW(math)*HTMLCSS.em : math.offsetWidth); + return {w:bbox.w*HTMLCSS.em, Y:-top, W:W}; + }, + ZoomMathML: function (root,span,math) { + root.toNativeMML(span,span); var top; + span.appendChild(this.topImg); top = this.topImg.offsetTop; span.removeChild(this.topImg); + var W = (this.ffMMLwidthBug ? math.parentNode : math).offsetWidth; + return {w:span.offsetWidth, Y:-top, W:W} + }, + + // + // Set the position of the zoom box and overlay + // + Position: function (zoom,bbox,MMLdisplay) { + var XY = this.Resize(), x = XY.x, y = XY.y, W = bbox.W; + if (this.msiePositionBug) {W = -W} + if (MMLdisplay && this.ffMMLcenterBug) {W = 0} + var dx = -Math.floor((zoom.offsetWidth-W)/2), dy = bbox.Y; + zoom.style.left = Math.max(dx,20-x)+"px"; zoom.style.top = Math.max(dy,20-y)+"px"; + }, + + // + // Handle resizing of overlay while zoom is displayed + // + Resize: function (event) { + if (ZOOM.onresize) {ZOOM.onresize(event)} + var x = 0, y = 0, + div = document.getElementById("MathJax_ZoomFrame"), + overlay = document.getElementById("MathJax_ZoomOverlay"); + var obj = (ZOOM.msieZIndexBug ? document.getElementById("MathJax_ZoomTracker") : div); + if (ZOOM.operaPositionBug) {div.style.border = "1px solid"} // to get vertical position right + if (obj.offsetParent) { + do {x += obj.offsetLeft; y += obj.offsetTop} while (obj = obj.offsetParent); + } + if (ZOOM.operaPositionBug) {div.style.border = ""} + if (ZOOM.msieZIndexBug) {div.style.left = x+"px"; div.style.top = y+"px"} + overlay.style.left = (-x)+"px"; overlay.style.top = (-y)+"px"; + if (ZOOM.msiePositionBug) {setTimeout(ZOOM.SetWH,0)} else {ZOOM.SetWH()} + return {x:x, y:y}; + }, + SetWH: function () { + var overlay = document.getElementById("MathJax_ZoomOverlay"); + overlay.style.width = overlay.style.height = "1px"; // so scrollWidth/Height will be right below + overlay.style.width = document.body.scrollWidth + "px"; + overlay.style.height = document.body.scrollHeight + "px"; + }, + + // + // Remove zoom display and event handlers + // + Remove: function (event) { + var div = document.getElementById("MathJax_ZoomFrame"); + if (div) { + div.parentNode.removeChild(div); + div = document.getElementById("MathJax_ZoomTracker"); + if (div) {div.parentNode.removeChild(div)} + if (ZOOM.operaRefreshBug) { + // force a redisplay of the page + // (Opera doesn't refresh properly after the zoom is removed) + var overlay = HTML.addElement(document.body,"div",{ + style:{position:"fixed", left:0, top:0, width:"100%", height:"100%", + backgroundColor:"white", opacity:0}, + id: "MathJax_OperaDiv" + }); + document.body.removeChild(overlay); + } + if (window.removeEventListener) {removeEventListener("resize",ZOOM.Resize,false)} + else if (window.detachEvent) {detachEvent("onresize",ZOOM.Resize)} + else {window.onresize = ZOOM.onresize; delete ZOOM.onresize} + } + return FALSE(event); + } + + }; + + // + // Hook into the HTML-CSS and NativeMML event handling + // + HUB.Register.StartupHook("HTML-CSS Jax Ready",function () { + HTMLCSS = MathJax.OutputJax["HTML-CSS"]; + HTMLCSS.Augment({HandleEvent: ZOOM.HandleEvent}); + }); + HUB.Register.StartupHook("NativeMML Jax Ready", function () { + nMML = MathJax.OutputJax.NativeMML; + nMML.Augment({ + HandleEvent: ZOOM.HandleEvent, + MSIEmouseup: function (event,math,span) { + if (this.trapUp) {delete this.trapUp; return true} + if (this.MSIEzoomKeys(event)) {return true} + return false; + }, + MSIEclick: function (event,math,span) { + if (this.trapClick) {delete this.trapClick; return true} + if (!this.MSIEzoomKeys(event)) return false; + if (!this.settings.zoom.match(/Click/)) return false; + return (ZOOM.Click(event,math) === false); + }, + MSIEdblclick: function (event,math,span) { + if (!this.MSIEzoomKeys(event)) return false; + return (ZOOM.DblClick(event,math) === false); + }, + MSIEmouseover: function (event,math,span) { + if (this.settings.zoom !== "Hover") {return false} + ZOOM.Timer(event,math); return true; + }, + MSIEmouseout: function (event,math,span) { + if (this.settings.zoom !== "Hover") {return false} + ZOOM.ClearTimer(); return true; + }, + MSIEmousemove: function (event,math,span) { + if (this.settings.zoom !== "Hover") {return false} + ZOOM.Timer(event,math); return true; + }, + MSIEzoomKeys: function (event) { + if (this.settings.CTRL && !event.ctrlKey) return false; + if (this.settings.CMD && !event.metaKey) return false; + if (this.settings.ALT && !event.altKey) return false; + if (this.settings.Shift && !event.shiftKey) return false; + return true; + } + }); + }); + + /*************************************************************/ + + HUB.Browser.Select({ + MSIE: function (browser) { + var quirks = (document.compatMode === "BackCompat"); + var isIE8 = browser.versionAtLeast("8.0") && document.documentMode > 7; + ZOOM.msiePositionBug = true; + ZOOM.msieWidthBug = !quirks; + ZOOM.msieIE8Bug = isIE8; + ZOOM.msieZIndexBug = !isIE8; + ZOOM.msieInlineBlockAlignBug = (!isIE8 || quirks); + if (document.documentMode >= 9) {delete CONFIG.styles["#MathJax_Zoom"].filter} + }, + + Opera: function (browser) { + ZOOM.operaPositionBug = true; + ZOOM.operaRefreshBug = true; + }, + + Firefox: function (browser) { + ZOOM.ffMMLwidthBug = true; + ZOOM.ffMMLcenterBug = true; + } + }); + + ZOOM.topImg = (ZOOM.msieInlineBlockAlignBug ? + HTML.Element("img",{style:{width:0,height:0},src:"about:blank"}) : + HTML.Element("span",{style:{width:0,height:0,display:"inline-block"}}) + ); + if (ZOOM.operaPositionBug) {ZOOM.topImg.style.border="1px solid"} + + /*************************************************************/ + + MathJax.Callback.Queue( + ["Styles",AJAX,CONFIG.styles], + ["Post",HUB.Startup.signal,"MathZoom Ready"], + ["loadComplete",AJAX,"[MathJax]/extensions/MathZoom.js"] + ); + +})(MathJax.Hub,MathJax.HTML,MathJax.Ajax,MathJax.OutputJax["HTML-CSS"],MathJax.OutputJax.NativeMML); diff --git a/modules/MathJax/extensions/TeX/AMSmath.js b/modules/MathJax/extensions/TeX/AMSmath.js new file mode 100644 index 0000000..c8f2ca0 --- /dev/null +++ b/modules/MathJax/extensions/TeX/AMSmath.js @@ -0,0 +1,394 @@ +/************************************************************* + * + * MathJax/extensions/TeX/AMSmath.js + * + * Implements AMS math environments and macros. + * + * --------------------------------------------------------------------- + * + * Copyright (c) 2009 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +MathJax.Hub.Register.StartupHook("TeX Jax Ready",function () { + var VERSION = "1.1"; + + var MML = MathJax.ElementJax.mml; + var TEX = MathJax.InputJax.TeX; + var TEXDEF = TEX.Definitions; + var STACKITEM = TEX.Stack.Item; + + var COLS = function (W) {return W.join("em ") + "em"}; + + MathJax.Hub.Insert(TEXDEF,{ + macros: { + mathring: ['Accent','2DA'], // or 0x30A + + nobreakspace: 'Tilde', + negmedspace: ['Spacer',MML.LENGTH.NEGATIVEMEDIUMMATHSPACE], + negthickspace: ['Spacer',MML.LENGTH.NEGATIVETHICKMATHSPACE], + + intI: ['Macro','\\mathchoice{\\!}{}{}{}\\!\\!\\int'], +// iint: ['MultiIntegral','\\int\\intI'], // now in core TeX input jax +// iiint: ['MultiIntegral','\\int\\intI\\intI'], // now in core TeX input jax + iiiint: ['MultiIntegral','\\int\\intI\\intI\\intI'], + idotsint: ['MultiIntegral','\\int\\cdots\\int'], + + dddot: ['Macro','\\mathop{#1}\\limits^{\\textstyle \\mathord{.}\\mathord{.}\\mathord{.}}',1], + ddddot: ['Macro','\\mathop{#1}\\limits^{\\textstyle \\mathord{.}\\mathord{.}\\mathord{.}\\mathord{.}}',1], + + sideset: ['Macro','\\mathop{\\mathop{\\rlap{\\phantom{#3}}}\\nolimits#1\\!\\mathop{#3}\\nolimits#2}',3], + + boxed: ['Macro','\\fbox{$\\displaystyle{#1}$}',1], + + tag: 'HandleTag', + notag: 'HandleNoTag', + + substack: ['Macro','\\begin{subarray}{c}#1\\end{subarray}',1], + + injlim: ['Macro','\\mathop{\\rm inj\\,lim}'], + projlim: ['Macro','\\mathop{\\rm proj\\,lim}'], + varliminf: ['Macro','\\mathop{\\underline{\\rm lim}}'], + varlimsup: ['Macro','\\mathop{\\overline{\\rm lim}}'], + varinjlim: ['Macro','\\mathop{\\underrightarrow{\\rm lim\\Rule{-1pt}{0pt}{1pt}}\\Rule{0pt}{0pt}{.45em}}'], + varprojlim: ['Macro','\\mathop{\\underleftarrow{\\rm lim\\Rule{-1pt}{0pt}{1pt}}\\Rule{0pt}{0pt}{.45em}}'], + + DeclareMathOperator: 'HandleDeclareOp', + operatorname: 'HandleOperatorName', + + genfrac: 'Genfrac', + frac: ['Genfrac',"","","",""], + tfrac: ['Genfrac',"","","",1], + dfrac: ['Genfrac',"","","",0], + binom: ['Genfrac',"(",")","0em",""], + tbinom: ['Genfrac',"(",")","0em",1], + dbinom: ['Genfrac',"(",")","0em",0], + + cfrac: 'CFrac', + + shoveleft: ['HandleShove',MML.ALIGN.LEFT], + shoveright: ['HandleShove',MML.ALIGN.RIGHT], + + xrightarrow: ['xArrow',0x2192,5,6], + xleftarrow: ['xArrow',0x2190,7,3] + }, + + environment: { + align: ['AMSarray',null,true,true, 'rlrlrlrlrlrl',COLS([5/18,2,5/18,2,5/18,2,5/18,2,5/18,2,5/18])], + 'align*': ['AMSarray',null,false,true, 'rlrlrlrlrlrl',COLS([5/18,2,5/18,2,5/18,2,5/18,2,5/18,2,5/18])], + multline: ['Multline',null,true], + 'multline*': ['Multline',null,false], + split: ['AMSarray',null,false,false,'rl',COLS([5/18])], + gather: ['AMSarray',null,true,true, 'c'], + 'gather*': ['AMSarray',null,false,true, 'c'], + + alignat: ['AlignAt',null,true,true], + 'alignat*': ['AlignAt',null,false,true], + alignedat: ['AlignAt',null,false,false], + + aligned: ['Array',null,null,null,'rlrlrlrlrlrl',COLS([5/18,2,5/18,2,5/18,2,5/18,2,5/18,2,5/18]),".5em",'D'], + gathered: ['Array',null,null,null,'c',null,".5em",'D'], + + subarray: ['Array',null,null,null,null,COLS([0,0,0,0]),"0.1em",'S',1], + smallmatrix: ['Array',null,null,null,'c',COLS([1/3]),".2em",'S',1] + }, + + delimiter: { + '\\lvert': ['2223',{texClass:MML.TEXCLASS.OPEN}], + '\\rvert': ['2223',{texClass:MML.TEXCLASS.CLOSE}], + '\\lVert': ['2225',{texClass:MML.TEXCLASS.OPEN}], + '\\rVert': ['2225',{texClass:MML.TEXCLASS.CLOSE}] + } + }); + + + TEX.Parse.Augment({ + + /* + * Add the tag to the environment to be added to the table row later + */ + HandleTag: function (name) { + var arg = this.trimSpaces(this.GetArgument(name)); + if (arg === "*") {arg = this.GetArgument(name)} else {arg = "("+arg+")"} + if (this.stack.global.notag) + {TEX.Error(name+" not allowed in "+this.stack.global.notag+" environment")} + if (this.stack.global.tag) {TEX.Error("Multiple "+name)} + this.stack.global.tag = MML.mtd.apply(MML,this.InternalMath(arg)); + }, + HandleNoTag: function (name) { + if (this.stack.global.tag) {delete this.stack.global.tag} + }, + + /* + * Handle \DeclareMathOperator + */ + HandleDeclareOp: function (name) { + var limits = ""; + var cs = this.trimSpaces(this.GetArgument(name)); + if (cs == "*") { + limits = "\\limits"; + cs = this.trimSpaces(this.GetArgument(name)); + } + if (cs.charAt(0) == "\\") {cs = cs.substr(1)} + var op = this.GetArgument(name); + op = op.replace(/\*/g,'\\text{*}').replace(/-/g,'\\text{-}'); + TEX.Definitions.macros[cs] = ['Macro','\\mathop{\\rm '+op+'}'+limits]; + }, + + HandleOperatorName: function (name) { + var limits = "\\nolimits"; + var op = this.trimSpaces(this.GetArgument(name)); + if (op == "*") { + limits = "\\limits"; + op = this.trimSpaces(this.GetArgument(name)); + } + op = op.replace(/\*/g,'\\text{*}').replace(/-/g,'\\text{-}'); + this.string = '\\mathop{\\rm '+op+'}'+limits+" "+this.string.slice(this.i); + this.i = 0; + }, + + /* + * Record presence of \shoveleft and \shoveright + */ + HandleShove: function (name,shove) { + var top = this.stack.Top(); + if (top.type !== "multline" || top.data.length) {TEX.Error(name+" must come at the beginning of the line")} + top.data.shove = shove; + }, + + /* + * Handle \cfrac + */ + CFrac: function (name) { + var lr = this.trimSpaces(this.GetBrackets(name)), + num = this.GetArgument(name), + den = this.GetArgument(name); + var frac = MML.mfrac(TEX.Parse('\\strut\\textstyle{'+num+'}',this.stack.env).mml(), + TEX.Parse('\\strut\\textstyle{'+den+'}',this.stack.env).mml()); + lr = ({l:MML.ALIGN.LEFT, r:MML.ALIGN.RIGHT,"":""})[lr]; + if (lr == null) {TEX.Error("Illegal alignment specified in "+name)} + if (lr) {frac.numalign = frac.denomalign = lr} + this.Push(frac); + }, + + /* + * Implement AMS generalized fraction + */ + Genfrac: function (name,left,right,thick,style) { + if (left == null) {left = this.GetDelimiterArg(name)} else {left = this.convertDelimiter(left)} + if (right == null) {right = this.GetDelimiterArg(name)} else {right = this.convertDelimiter(right)} + if (thick == null) {thick = this.GetArgument(name)} + if (style == null) {style = this.trimSpaces(this.GetArgument(name))} + var num = this.ParseArg(name); + var den = this.ParseArg(name); + var frac = MML.mfrac(num,den); + if (thick !== "") {frac.linethickness = thick} + if (left || right) {frac = MML.mfenced(frac).With({open: left, close: right})} + if (style !== "") { + var STYLE = (["D","T","S","SS"])[style]; + if (STYLE == null) {TEX.Error("Bad math style for "+name)} + frac = MML.mstyle(frac); + if (STYLE === "D") {frac.displaystyle = true; frac.scriptlevel = 0} + else {frac.displaystyle = false; frac.scriptlevel = style - 1} + } + + this.Push(frac); + }, + + /* + * Implements multline environment (mostly handled through STACKITEM below) + */ + Multline: function (begin,numbered) { + this.Push(begin); + return STACKITEM.multline().With({ + arraydef: { + displaystyle: true, + rowspacing: ".5em", + width: TEX.config.MultLineWidth, columnwidth:"100%", + side: TEX.config.TagSide, + minlabelspacing: TEX.config.TagIndent + } + }); + }, + + /* + * Handle AMS aligned environments + */ + AMSarray: function (begin,numbered,taggable,align,spacing) { + this.Push(begin); + align = align.replace(/[^clr]/g,'').split('').join(' '); + align = align.replace(/l/g,'left').replace(/r/g,'right').replace(/c/g,'center'); + return STACKITEM.AMSarray(begin.name,numbered,taggable,this.stack).With({ + arraydef: { + displaystyle: true, + rowspacing: ".5em", + columnalign: align, + columnspacing: (spacing||"1em"), + rowspacing: "3pt", + side: TEX.config.TagSide, + minlabelspacing: TEX.config.TagIndent + } + }); + }, + + AlignAt: function (begin,numbered,taggable) { + var n = this.GetArgument("\\begin{"+begin.name+"}"); + if (n.match(/[^0-9]/)) {TEX.Error("Argument to \\begin{"+begin.name+"} must me a positive integer")} + align = ""; spacing = []; + while (n > 0) {align += "rl"; spacing.push("0em 0em"); n--} + spacing = spacing.join(" "); + if (taggable) {return this.AMSarray(begin,numbered,taggable,align,spacing)} + return this.Array(begin,null,null,align,spacing,".5em",'D'); + }, + + /* + * Handle multiple integrals (make a mathop if followed by limits) + */ + MultiIntegral: function (name,integral) { + var next = this.GetNext(); + if (next === "\\") { + var i = this.i; next = this.GetArgument(name); this.i = i; + if (next === "\\limits") { + if (name === "\\idotsint") {integral = "\\!\\!\\mathop{\\,\\,"+integral+"}"} + else {integral = "\\!\\!\\!\\mathop{\\,\\,\\,"+integral+"}"} + } + } + this.string = integral + " " + this.string.slice(this.i); + this.i = 0; + }, + + xArrow: function (name,chr,l,r) { + var def = {width: "+"+(l+r)+"mu", lspace: l+"mu"}; + var bot = this.GetBrackets(name), + top = this.ParseArg(name); + var arrow = MML.mo(MML.chars(String.fromCharCode(chr))).With({ + stretchy: true, texClass: MML.TEXCLASS.REL + }); + var mml = MML.munderover(arrow); + mml.SetData(mml.over,MML.mpadded(top).With(def).With({voffset:".15em"})); + if (bot) { + bot = TEX.Parse(bot,this.stack.env).mml() + mml.SetData(mml.under,MML.mpadded(bot).With(def).With({voffset:"-.24em"})); + } + this.Push(mml); + }, + + /* + * Get a delimiter or empty argument + */ + GetDelimiterArg: function (name) { + var c = this.trimSpaces(this.GetArgument(name)); + if (c == "") {return null} + if (!TEXDEF.delimiter[c]) {TEX.Error("Missing or unrecognized delimiter for "+name)} + return this.convertDelimiter(c); + } + }); + + /* + * Implement multline environment via a STACKITEM + */ + STACKITEM.multline = STACKITEM.array.Subclass({ + type: "multline", + EndEntry: function () { + var mtd = MML.mtd.apply(MML,this.data); + if (this.data.shove) {mtd.columnalign = this.data.shove} + this.row.push(mtd); + this.data = []; + }, + EndRow: function () { + if (this.row.length != 1) {TEX.Error("multline rows must have exactly one column")} + this.table.push(this.row); this.row = []; + }, + EndTable: function () { + this.SUPER(arguments).EndTable.call(this); + if (this.table.length) { + var m = this.table.length-1, i; + if (!this.table[0][0].columnalign) {this.table[0][0].columnalign = MML.ALIGN.LEFT} + if (!this.table[m][0].columnalign) {this.table[m][0].columnalign = MML.ALIGN.RIGHT} + var mtr = MML.mtr; + if (this.global.tag) { + this.table[0] = [this.global.tag].concat(this.table[0]); + delete this.global.tag; mtr = MML.mlabeledtr; + } + this.table[0] = mtr.apply(MML,this.table[0]); + for (i = 1, m = this.table.length; i < m; i++) + {this.table[i] = MML.mtr.apply(MML,this.table[i])} + } + } + }); + + STACKITEM.AMSarray = STACKITEM.array.Subclass({ + type: "AMSarray", + Init: function (name,numbered,taggable,stack) { + this.SUPER(arguments).Init.apply(this); + this.numbered = numbered; + this.save_notag = stack.global.notag; + stack.global.notag = (taggable ? null : name); + }, + EndRow: function () { + var mtr = MML.mtr; + if (this.global.tag) { + this.row = [this.global.tag].concat(this.row); + mtr = MML.mlabeledtr; + delete this.global.tag; + } + this.table.push(mtr.apply(MML,this.row)); this.row = []; + }, + EndTable: function () { + this.SUPER(arguments).EndTable.call(this); + this.global.notag = this.save_notag; + } + }); + + // + // Look for \tag on a formula and make an mtable to include it + // + STACKITEM.start.Augment({ + oldCheckItem: STACKITEM.start.prototype.checkItem, + checkItem: function (item) { + if (item.type === "stop") { + var mml = this.mmlData(); + if (this.global.tag) { + var row = [this.global.tag,MML.mtd(mml)]; delete this.global.tag; + var def = { + side: TEX.config.TagSide, + minlabelspacing: TEX.config.TagIndent, + columnalign: mml.displayAlign + }; + if (mml.displayAlign === MML.INDENTALIGN.LEFT) { + def.width = "100%"; + if (mml.displayIndent && !String(mml.displayIndent).match(/^0+(\.0*)?($|[a-z%])/)) { + def.columnwidth = mml.displayIndent + " fit"; def.columnspacing = "0" + row = [row[0],MML.mtd(),row[1]]; + } + } else if (mml.displayAlign === MML.INDENTALIGN.RIGHT) { + def.width = "100%"; + if (mml.displayIndent && !String(mml.displayIndent).match(/^0+(\.0*)?($|[a-z%])/)) { + def.columnwidth = "fit "+mml.displayIndent; def.columnspacing = "0" + row[2] = MML.mtd(); + } + } + mml = MML.mtable(MML.mlabeledtr.apply(MML,row)).With(def); + } + return STACKITEM.mml(mml); + } + return this.SUPER(arguments).checkItem.call(this,item); + } + }); + + MathJax.Hub.Startup.signal.Post("TeX AMSmath Ready"); + +}); + +MathJax.Ajax.loadComplete("[MathJax]/extensions/TeX/AMSmath.js"); diff --git a/modules/MathJax/extensions/TeX/AMSsymbols.js b/modules/MathJax/extensions/TeX/AMSsymbols.js new file mode 100644 index 0000000..c3efe45 --- /dev/null +++ b/modules/MathJax/extensions/TeX/AMSsymbols.js @@ -0,0 +1,390 @@ +/************************************************************* + * + * MathJax/extensions/TeX/AMSsymbols.js + * + * Implements macros for accessing the AMS symbol fonts. + * + * --------------------------------------------------------------------- + * + * Copyright (c) 2009-2011 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +MathJax.Hub.Register.StartupHook("TeX Jax Ready",function () { + var VERSION = "1.1.2"; + + var MML = MathJax.ElementJax.mml; + + MathJax.Hub.Insert(MathJax.InputJax.TeX.Definitions,{ + + mathchar0mi: { + // Lowercase Greek letters + digamma: '03DD', + varkappa: '03F0', + + // Uppercase Greek letters + varGamma: ['0393',{mathvariant: MML.VARIANT.ITALIC}], + varDelta: ['0394',{mathvariant: MML.VARIANT.ITALIC}], + varTheta: ['0398',{mathvariant: MML.VARIANT.ITALIC}], + varLambda: ['039B',{mathvariant: MML.VARIANT.ITALIC}], + varXi: ['039E',{mathvariant: MML.VARIANT.ITALIC}], + varPi: ['03A0',{mathvariant: MML.VARIANT.ITALIC}], + varSigma: ['03A3',{mathvariant: MML.VARIANT.ITALIC}], + varUpsilon: ['03A5',{mathvariant: MML.VARIANT.ITALIC}], + varPhi: ['03A6',{mathvariant: MML.VARIANT.ITALIC}], + varPsi: ['03A8',{mathvariant: MML.VARIANT.ITALIC}], + varOmega: ['03A9',{mathvariant: MML.VARIANT.ITALIC}], + + // Hebrew letters + beth: '2136', + gimel: '2137', + daleth: '2138', + + // Miscellaneous symbols +// hbar: '0127', // in MathJax_Main + backprime: ['2035',{variantForm: true}], + hslash: ['210F',{variantForm: true}], + varnothing: ['2205',{variantForm: true}], + blacktriangle: '25B2', + triangledown: '25BD', + blacktriangledown: '25BC', + square: '25A1', + Box: '25A1', + blacksquare: '25A0', + lozenge: '25CA', + Diamond: '25CA', + blacklozenge: '29EB', + circledS: ['24C8',{mathvariant: MML.VARIANT.NORMAL}], + bigstar: '2605', +// angle: '2220', // in MathJax_Main + sphericalangle: '2222', + measuredangle: '2221', + nexists: '2204', + complement: '2201', + mho: '2127', + eth: ['00F0',{mathvariant: MML.VARIANT.NORMAL}], + Finv: '2132', + diagup: '2571', + Game: '2141', + diagdown: '2572', + Bbbk: ['006B',{mathvariant: MML.VARIANT.DOUBLESTRUCK}], + + yen: '00A5', + circledR: '00AE', + checkmark: '2713', + maltese: '2720' + }, + + mathchar0mo: { + // Binary operators + dotplus: '2214', + ltimes: '22C9', + smallsetminus: ['2216',{variantForm: true}], + rtimes: '22CA', + Cap: '22D2', + doublecap: '22D2', + leftthreetimes: '22CB', + Cup: '22D3', + doublecup: '22D3', + rightthreetimes: '22CC', + barwedge: '22BC', + curlywedge: '22CF', + veebar: '22BB', + curlyvee: '22CE', + doublebarwedge: '2A5E', + boxminus: '229F', + circleddash: '229D', + boxtimes: '22A0', + circledast: '229B', + boxdot: '22A1', + circledcirc: '229A', + boxplus: '229E', + centerdot: '22C5', + divideontimes: '22C7', + intercal: '22BA', + + // Binary relations + leqq: '2266', + geqq: '2267', + leqslant: '2A7D', + geqslant: '2A7E', + eqslantless: '2A95', + eqslantgtr: '2A96', + lesssim: '2272', + gtrsim: '2273', + lessapprox: '2A85', + gtrapprox: '2A86', + approxeq: '224A', + lessdot: '22D6', + gtrdot: '22D7', + lll: '22D8', + llless: '22D8', + ggg: '22D9', + gggtr: '22D9', + lessgtr: '2276', + gtrless: '2277', + lesseqgtr: '22DA', + gtreqless: '22DB', + lesseqqgtr: '2A8B', + gtreqqless: '2A8C', + doteqdot: '2251', + Doteq: '2251', + eqcirc: '2256', + risingdotseq: '2253', + circeq: '2257', + fallingdotseq: '2252', + triangleq: '225C', + backsim: '223D', + thicksim: ['223C',{variantForm: true}], + backsimeq: '22CD', + thickapprox: '2248', + subseteqq: '2AC5', + supseteqq: '2AC6', + Subset: '22D0', + Supset: '22D1', + sqsubset: '228F', + sqsupset: '2290', + preccurlyeq: '227C', + succcurlyeq: '227D', + curlyeqprec: '22DE', + curlyeqsucc: '22DF', + precsim: '227E', + succsim: '227F', + precapprox: '2AB7', + succapprox: '2AB8', + vartriangleleft: '22B2', + lhd: '22B2', + vartriangleright: '22B3', + rhd: '22B3', + trianglelefteq: '22B4', + unlhd: '22B4', + trianglerighteq: '22B5', + unrhd: '22B5', + vDash: '22A8', + Vdash: '22A9', + Vvdash: '22AA', + smallsmile: '2323', + shortmid: ['2223',{variantForm: true}], + smallfrown: '2322', + shortparallel: ['2225',{variantForm: true}], + bumpeq: '224F', + between: '226C', + Bumpeq: '224E', + pitchfork: '22D4', + varpropto: '221D', + backepsilon: '220D', + blacktriangleleft: '25C0', + blacktriangleright: '25B6', + therefore: '2234', + because: '2235', + eqsim: '2242', + vartriangle: ['25B3',{variantForm: true}], + Join: '22C8', + + // Negated relations + nless: '226E', + ngtr: '226F', + nleq: '2270', + ngeq: '2271', + nleqslant: ['2A87',{variantForm: true}], + ngeqslant: ['2A88',{variantForm: true}], + nleqq: ['2270',{variantForm: true}], + ngeqq: ['2271',{variantForm: true}], + lneq: '2A87', + gneq: '2A88', + lneqq: '2268', + gneqq: '2269', + lvertneqq: ['2268',{variantForm: true}], + gvertneqq: ['2269',{variantForm: true}], + lnsim: '22E6', + gnsim: '22E7', + lnapprox: '2A89', + gnapprox: '2A8A', + nprec: '2280', + nsucc: '2281', + npreceq: ['22E0',{variantForm: true}], + nsucceq: ['22E1',{variantForm: true}], + precneqq: '2AB5', + succneqq: '2AB6', + precnsim: '22E8', + succnsim: '22E9', + precnapprox: '2AB9', + succnapprox: '2ABA', + nsim: '2241', + ncong: '2246', + nshortmid: ['2224',{variantForm: true}], + nshortparallel: ['2226',{variantForm: true}], + nmid: '2224', + nparallel: '2226', + nvdash: '22AC', + nvDash: '22AD', + nVdash: '22AE', + nVDash: '22AF', + ntriangleleft: '22EA', + ntriangleright: '22EB', + ntrianglelefteq: '22EC', + ntrianglerighteq: '22ED', + nsubseteq: '2288', + nsupseteq: '2289', + nsubseteqq: ['2288',{variantForm: true}], + nsupseteqq: ['2289',{variantForm: true}], + subsetneq: '228A', + supsetneq: '228B', + varsubsetneq: ['228A',{variantForm: true}], + varsupsetneq: ['228B',{variantForm: true}], + subsetneqq: '2ACB', + supsetneqq: '2ACC', + varsubsetneqq: ['2ACB',{variantForm: true}], + varsupsetneqq: ['2ACC',{variantForm: true}], + + + // Arrows + leftleftarrows: '21C7', + rightrightarrows: '21C9', + leftrightarrows: '21C6', + rightleftarrows: '21C4', + Lleftarrow: '21DA', + Rrightarrow: '21DB', + twoheadleftarrow: '219E', + twoheadrightarrow: '21A0', + leftarrowtail: '21A2', + rightarrowtail: '21A3', + looparrowleft: '21AB', + looparrowright: '21AC', + leftrightharpoons: '21CB', + rightleftharpoons: ['21CC',{variantForm: true}], + curvearrowleft: '21B6', + curvearrowright: '21B7', + circlearrowleft: '21BA', + circlearrowright: '21BB', + Lsh: '21B0', + Rsh: '21B1', + upuparrows: '21C8', + downdownarrows: '21CA', + upharpoonleft: '21BF', + upharpoonright: '21BE', + downharpoonleft: '21C3', + restriction: '21BE', + multimap: '22B8', + downharpoonright: '21C2', + leftrightsquigarrow: '21AD', + rightsquigarrow: '21DD', + leadsto: '21DD', + dashrightarrow: '21E2', + dashleftarrow: '21E0', + + // Negated arrows + nleftarrow: '219A', + nrightarrow: '219B', + nLeftarrow: '21CD', + nRightarrow: '21CF', + nleftrightarrow: '21AE', + nLeftrightarrow: '21CE' + }, + + delimiter: { + // corners + "\\ulcorner": '250C', + "\\urcorner": '2510', + "\\llcorner": '2514', + "\\lrcorner": '2518' + }, + + macros: { + implies: ['Macro','\\;\\Longrightarrow\\;'], + impliedby: ['Macro','\\;\\Longleftarrow\\;'] + } + + }); + + var REL = MML.mo.OPTYPES.REL; + + MathJax.Hub.Insert(MML.mo.prototype,{ + OPTABLE: { + infix: { + '\u2322': REL, // smallfrown + '\u2323': REL, // smallsmile + '\u25B3': REL, // vartriangle + '\uE006': REL, // nshortmid + '\uE007': REL, // nshortparallel + '\uE00C': REL, // lvertneqq + '\uE00D': REL, // gvertneqq + '\uE00E': REL, // ngeqq + '\uE00F': REL, // ngeqslant + '\uE010': REL, // nleqslant + '\uE011': REL, // nleqq + '\uE016': REL, // nsubseteqq + '\uE017': REL, // varsubsetneqq + '\uE018': REL, // nsupseteqq + '\uE019': REL, // varsupsetneqq + '\uE01A': REL, // varsubsetneq + '\uE01B': REL, // varsupsetneq + '\uE04B': REL, // npreceq + '\uE04F': REL // nsucceq + } + } + }); + +// if (MathJax.Hub.Browser.isMSIE) { +// MathJax.InputJax.TeX.Definitions.mathchar0mi.digamma = ['03DD',{variantForm: true}]; +// MathJax.InputJax.TeX.Definitions.mathchar0mi.varkappa = ['03F0',{variantForm: true}]; +// } +}); + +MathJax.Hub.Register.StartupHook("HTML-CSS Jax Ready",function () { + var HTMLCSS = MathJax.OutputJax["HTML-CSS"]; + var VARIANT = HTMLCSS.FONTDATA.VARIANT; + if (HTMLCSS.fontInUse === "TeX") { + VARIANT["-TeX-variant"] = { + fonts: ["MathJax_AMS","MathJax_Main","MathJax_Size1"], + remap: {0x2268: 0xE00C, 0x2269: 0xE00D, 0x2270: 0xE011, 0x2271: 0xE00E, + 0x2A87: 0xE010, 0x2A88: 0xE00F, 0x2224: 0xE006, 0x2226: 0xE007, + 0x2288: 0xE016, 0x2289: 0xE018, 0x228A: 0xE01A, 0x228B: 0xE01B, + 0x2ACB: 0xE017, 0x2ACC: 0xE019, 0x03DC: 0xE008, 0x03F0: 0xE009} + }; + if (HTMLCSS.msieIE6) { + MathJax.Hub.Insert(VARIANT["-TeX-variant"].remap,{ + 0x2190:[0xE2C1,"-WinIE6"], 0x2192:[0xE2C0,"-WinIE6"], + 0x2223:[0xE2C2,"-WinIE6"], 0x2225:[0xE2C3,"-WinIE6"], + 0x223C:[0xE2C4,"-WinIE6"], 0x25B3:[0xE2D3,"-WinIE6"] + }); + } + } + if (HTMLCSS.fontInUse === "STIX") { + MathJax.Hub.Register.StartupHook("TeX Jax Ready",function () { + var TEXDEF = MathJax.InputJax.TeX.Definitions; + TEXDEF.mathchar0mi.varnothing = '2205'; + TEXDEF.mathchar0mi.hslash = '210F'; + TEXDEF.mathchar0mi.blacktriangle = '25B4'; + TEXDEF.mathchar0mi.blacktriangledown = '25BE'; + TEXDEF.mathchar0mi.square = '25FB'; + TEXDEF.mathchar0mi.blacksquare = '25FC'; + TEXDEF.mathchar0mi.vartriangle = ['25B3',{mathsize:"71%"}]; + TEXDEF.mathchar0mi.triangledown = ['25BD',{mathsize:"71%"}]; + TEXDEF.mathchar0mo.blacktriangleleft = '25C2'; + TEXDEF.mathchar0mo.blacktriangleright = '25B8'; + TEXDEF.mathchar0mo.smallsetminus = '2216'; + MathJax.Hub.Insert(VARIANT["-STIX-variant"],{ + remap: {0x2A87: 0xE010, 0x2A88: 0xE00F, 0x2270: 0xE011, 0x2271: 0xE00E, + 0x22E0: 0xE04B, 0x22E1: 0xE04F, 0x2288: 0xE016, 0x2289: 0xE018} + }); + }); + } + + MathJax.Hub.Startup.signal.Post("TeX AMSsymbols Ready"); + +}); + + +MathJax.Ajax.loadComplete("[MathJax]/extensions/TeX/AMSsymbols.js"); diff --git a/modules/MathJax/extensions/TeX/HTML.js b/modules/MathJax/extensions/TeX/HTML.js new file mode 100644 index 0000000..801dd7c --- /dev/null +++ b/modules/MathJax/extensions/TeX/HTML.js @@ -0,0 +1,96 @@ +/************************************************************* + * + * MathJax/extensions/TeX/HTML.js + * + * Implements the \href, \class, \style, \cssId macros. + * + * --------------------------------------------------------------------- + * + * Copyright (c) 2010 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +MathJax.Hub.Register.StartupHook("TeX Jax Ready",function () { + var VERSION = "1.1"; + + var TEX = MathJax.InputJax.TeX; + var TEXDEF = TEX.Definitions; + + TEXDEF.macros.href = 'HREF_attribute'; + TEXDEF.macros["class"] = 'CLASS_attribute'; + TEXDEF.macros.style = 'STYLE_attribute'; + TEXDEF.macros.cssId = 'ID_attribute'; + + TEX.Parse.Augment({ + + // + // Implements \href{url}{math} + // + HREF_attribute: function (name) { + var url = this.GetArgument(name), + arg = this.GetArgumentMML(name); + this.Push(arg.With({href:url})); + }, + + // + // Implements \class{name}{math} + // + CLASS_attribute: function (name) { + var CLASS = this.GetArgument(name), + arg = this.GetArgumentMML(name); + if (arg["class"] != null) {CLASS = arg["class"] + " " + CLASS} + this.Push(arg.With({"class":CLASS})); + }, + + // + // Implements \style{style-string}{math} + // + STYLE_attribute: function (name) { + var style = this.GetArgument(name), + arg = this.GetArgumentMML(name); + // check that it looks like a style string + if (arg.style != null) { + if (style.charAt(style.length-1) !== ";") {style += ";"} + style = arg.style + " " + style; + } + this.Push(arg.With({style: style})); + }, + + // + // Implements \cssId{id}{math} + // + ID_attribute: function (name) { + var ID = this.GetArgument(name), + arg = this.GetArgumentMML(name); + this.Push(arg.With({id:ID})); + }, + + // + // returns an argument that is a single MathML element + // (in an mrow if necessary) + // + GetArgumentMML: function (name) { + var arg = this.ParseArg(name); + if (arg.inferred && arg.data.length == 1) + {arg = arg.data[0]} else {delete arg.inferred} + return arg; + } + + }); + + MathJax.Hub.Startup.signal.Post("TeX HTML Ready"); + +}); + +MathJax.Ajax.loadComplete("[MathJax]/extensions/TeX/HTML.js"); diff --git a/modules/MathJax/extensions/TeX/autobold.js b/modules/MathJax/extensions/TeX/autobold.js new file mode 100644 index 0000000..c78802f --- /dev/null +++ b/modules/MathJax/extensions/TeX/autobold.js @@ -0,0 +1,45 @@ +/************************************************************* + * + * MathJax/extensions/TeX/autobold.js + * + * Adds \boldsymbol around mathematics that appears in a section + * of an HTML page that is in bold. + * + * Copyright (c) 2009 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +MathJax.Hub.Register.StartupHook("TeX Jax Ready",function () { + var VERSION = "1.1"; + + var TEX = MathJax.InputJax.TeX; + var oldPrefilter = TEX.prefilterMath; + + TEX.prefilterMath = function (math,displaystyle,script) { + var span = script.parentNode.insertBefore(document.createElement("span"),script); + span.visibility = "hidden"; + span.style.fontFamily = "Times, serif"; + span.appendChild(document.createTextNode("ABCXYZabcxyz")); + var W = span.offsetWidth; + span.style.fontWeight = "bold"; + if (span.offsetWidth == W) {math = "\\bf {"+math+"}"} + span.parentNode.removeChild(span); + return oldPrefilter.call(TEX,math,displaystyle,script); + }; + + MathJax.Hub.Startup.signal.Post("TeX autobold Ready"); + +}); + +MathJax.Ajax.loadComplete("[MathJax]/extensions/TeX/autobold.js"); diff --git a/modules/MathJax/extensions/TeX/boldsymbol.js b/modules/MathJax/extensions/TeX/boldsymbol.js new file mode 100644 index 0000000..efd8a53 --- /dev/null +++ b/modules/MathJax/extensions/TeX/boldsymbol.js @@ -0,0 +1,110 @@ +/************************************************************* + * + * MathJax/extensions/TeX/boldsymbol.js + * + * Implements the \boldsymbol{...} command to make bold + * versions of all math characters (not just variables). + * + * --------------------------------------------------------------------- + * + * Copyright (c) 2009 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +MathJax.Hub.Register.StartupHook("TeX Jax Ready",function () { + var VERSION = "1.1"; + + var MML = MathJax.ElementJax.mml; + var TEX = MathJax.InputJax.TeX; + var TEXDEF = TEX.Definitions; + + var BOLDVARIANT = {}; + BOLDVARIANT[MML.VARIANT.NORMAL] = MML.VARIANT.BOLD; + BOLDVARIANT[MML.VARIANT.ITALIC] = MML.VARIANT.BOLDITALIC; + BOLDVARIANT[MML.VARIANT.FRAKTUR] = MML.VARIANT.BOLDFRAKTUR; + BOLDVARIANT[MML.VARIANT.SCRIPT] = MML.VARIANT.BOLDSCRIPT; + BOLDVARIANT[MML.VARIANT.SANSSERIF] = MML.VARIANT.BOLDSANSSERIF; + BOLDVARIANT["-tex-caligraphic"] = "-tex-caligraphic-bold"; + BOLDVARIANT["-tex-oldstyle"] = "-tex-oldstyle-bold"; + + TEXDEF.macros.boldsymbol = 'Boldsymbol'; + + TEX.Parse.Augment({ + mmlToken: function (token) { + if (this.stack.env.boldsymbol) { + var variant = token.Get("mathvariant"); + if (variant == null) {token.mathvariant = MML.VARIANT.BOLD} + else {token.mathvariant = (BOLDVARIANT[variant]||variant)} + } + return token; + }, + + Boldsymbol: function (name) { + var boldsymbol = this.stack.env.boldsymbol, + font = this.stack.env.font; + this.stack.env.boldsymbol = true; + this.stack.env.font = null; + var mml = this.ParseArg(name); + this.stack.env.font = font; + this.stack.env.boldsymbol = boldsymbol; + this.Push(mml); + } + }); + +}); + +MathJax.Hub.Register.StartupHook("HTML-CSS Jax Ready",function () { + var HTMLCSS = MathJax.OutputJax["HTML-CSS"]; + var FONTS = HTMLCSS.FONTDATA.FONTS; + var VARIANT = HTMLCSS.FONTDATA.VARIANT; + + if (HTMLCSS.fontInUse === "TeX") { + FONTS["MathJax_Caligraphic-bold"] = "Caligraphic/Bold/Main.js"; + + VARIANT["-tex-caligraphic-bold"] = + {fonts:["MathJax_Caligraphic-bold","MathJax_Main-bold","MathJax_Main","MathJax_Math","MathJax_Size1"], + offsetA: 0x41, variantA: "bold-italic"}; + VARIANT["-tex-oldstyle-bold"] = + {fonts:["MathJax_Caligraphic-bold","MathJax_Main-bold","MathJax_Main","MathJax_Math","MathJax_Size1"]}; + + if (HTMLCSS.msieCheckGreek && HTMLCSS.Font.testFont({ + family:"MathJax_Greek", weight:"bold", style:"italic", testString: HTMLCSS.msieCheckGreek + })) { + VARIANT["bold-italic"].offsetG = 0x391; VARIANT["bold-italic"].variantG = "-Greek-Bold-Italic"; + VARIANT["-Greek-Bold-Italic"] = {fonts:["MathJax_Greek-bold-italic"]}; + FONTS["MathJax_Greek-bold-italic"] = "Greek/BoldItalic/Main.js"; + } + + if (MathJax.Hub.Browser.isChrome && !MathJax.Hub.Browser.versionAtLeast("5.0")) { + VARIANT["-tex-caligraphic-bold"].remap = {0x54: [0xE2F0,"-WinChrome"]}; + } + + } else if (HTMLCSS.fontInUse === "STIX") { + VARIANT["-tex-caligraphic-bold"] = { + fonts:["STIXGeneral-bold-italic","STIXNonUnicode-bold-italic","STIXNonUnicode","STIXGeneral","STIXSizeOneSym"], + offsetA: 0xE247, noLowerCase: 1 + }; + VARIANT["-tex-oldstyle-bold"] = { + fonts:["STIXGeneral-bold","STIXNonUnicode-bold","STIXGeneral","STIXSizeOneSym"], offsetN: 0xE263, + remap: {0xE264: 0xE267, 0xE265: 0xE26B, 0xE266: 0xE26F, 0xE267: 0xE273, + 0xE268: 0xE277, 0xE269: 0xE27B, 0xE26A: 0xE27F, 0xE26B: 0xE283, + 0xE26C: 0xE287} + }; + } + + MathJax.Hub.Startup.signal.Post("TeX boldsymbol Ready"); + +}); + +MathJax.Ajax.loadComplete("[MathJax]/extensions/TeX/boldsymbol.js"); diff --git a/modules/MathJax/extensions/TeX/mathchoice.js b/modules/MathJax/extensions/TeX/mathchoice.js new file mode 100644 index 0000000..cb8c294 --- /dev/null +++ b/modules/MathJax/extensions/TeX/mathchoice.js @@ -0,0 +1,67 @@ +/************************************************************* + * + * MathJax/extensions/TeX/mathchoice.js + * + * Implements the \mathchoice macro (rarely used) + * + * --------------------------------------------------------------------- + * + * Copyright (c) 2009 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +MathJax.Hub.Register.StartupHook("TeX Jax Ready",function () { + var VERSION = "1.1"; + + var MML = MathJax.ElementJax.mml; + var TEX = MathJax.InputJax.TeX; + var TEXDEF = TEX.Definitions; + + TEXDEF.macros.mathchoice = 'MathChoice'; + + TEX.Parse.Augment({ + + MathChoice: function (name) { + var D = this.ParseArg(name), + T = this.ParseArg(name), + S = this.ParseArg(name), + SS = this.ParseArg(name); + this.Push(MML.TeXmathchoice(D,T,S,SS)); + } + + }); + + MML.TeXmathchoice = MML.mbase.Subclass({ + type: "TeXmathchoice", + choice: function () { + var values = this.getValues("displaystyle","scriptlevel"); + if (values.scriptlevel > 0) {return Math.min(3,values.scriptlevel + 1)} + return (values.displaystyle ? 0 : 1); + }, + setTeXclass: function (prev) {return this.Core().setTeXclass(prev)}, + isSpacelike: function () {return this.Core().isSpacelike()}, + isEmbellished: function () {return this.Core().isEmbellished()}, + Core: function () {return this.data[this.choice()]}, + toHTML: function (span) { + span = this.HTMLcreateSpan(span); + span.bbox = this.Core().toHTML(span).bbox; + return span; + } + }); + + MathJax.Hub.Startup.signal.Post("TeX mathchoice Ready"); + +}); + +MathJax.Ajax.loadComplete("[MathJax]/extensions/TeX/mathchoice.js"); diff --git a/modules/MathJax/extensions/TeX/newcommand.js b/modules/MathJax/extensions/TeX/newcommand.js new file mode 100644 index 0000000..168e550 --- /dev/null +++ b/modules/MathJax/extensions/TeX/newcommand.js @@ -0,0 +1,190 @@ +/************************************************************* + * + * MathJax/extensions/TeX/newcommand.js + * + * Implements the \newcommand, \newenvironment and \def + * macros, and is loaded automatically when needed. + * + * --------------------------------------------------------------------- + * + * Copyright (c) 2009 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +MathJax.Hub.Register.StartupHook("TeX Jax Ready",function () { + var VERSION = "1.1"; + + var TEX = MathJax.InputJax.TeX; + var TEXDEF = TEX.Definitions; + + MathJax.Hub.Insert(TEXDEF,{ + macros: { + newcommand: 'NewCommand', + renewcommand: 'NewCommand', + newenvironment: 'NewEnvironment', + def: 'MacroDef' + } + }) + + TEX.Parse.Augment({ + + /* + * Implement \newcommand{\name}[n]{...} + */ + NewCommand: function (name) { + var cs = this.trimSpaces(this.GetArgument(name)), + n = this.trimSpaces(this.GetBrackets(name)), + def = this.GetArgument(name); + if (n === '') {n = null} + if (cs.charAt(0) === "\\") {cs = cs.substr(1)} + if (!cs.match(/^(.|[a-z]+)$/i)) {TEX.Error("Illegal control sequence name for "+name)} + if (n != null && !n.match(/^[0-9]+$/)) {TEX.Error("Illegal number of parameters specified in "+name)} + TEXDEF.macros[cs] = ['Macro',def,n]; + }, + + /* + * Implement \newenvironment{name}[n]{begincmd}{endcmd} + */ + NewEnvironment: function (name) { + var env = this.trimSpaces(this.GetArgument(name)), + n = this.trimSpaces(this.GetBrackets(name)), + bdef = this.GetArgument(name), + edef = this.GetArgument(name); + if (n === '') {n = null} + if (n != null && !n.match(/^[0-9]+$/)) {TEX.Error("Illegal number of parameters specified in "+name)} + TEXDEF.environment[env] = ['BeginEnv','EndEnv',bdef,edef,n]; + }, + + /* + * Implement \def command + */ + MacroDef: function (name) { + var cs = this.GetCSname(name), + params = this.GetTemplate(name,"\\"+cs), + def = this.GetArgument(name); + if (!(params instanceof Array)) {TEXDEF.macros[cs] = ['Macro',def,params]} + else {TEXDEF.macros[cs] = ['MacroWithTemplate',def,params[0],params[1]]} + }, + + /* + * Get a CS name or give an error + */ + GetCSname: function (cmd) { + var c = this.GetNext(); + if (c !== "\\") {TEX.Error("\\ must be followed by a control sequence")} + var cs = this.trimSpaces(this.GetArgument(cmd)); + return cs.substr(1); + }, + + /* + * Get a \def parameter template + */ + GetTemplate: function (cmd,cs) { + var c, params = [], n = 0; + c = this.GetNext(); var i = this.i; + while (this.i < this.string.length) { + c = this.GetNext(); + if (c === '#') { + if (i !== this.i) {params[n] = this.string.substr(i,this.i-i)} + c = this.string.charAt(++this.i); + if (!c.match(/^[1-9]$/)) {TEX.Error("Illegal use of # in template for "+cs)} + if (parseInt(c) != ++n) {TEX.Error("Parameters for "+cs+" must be numbered sequentially")} + i = this.i+1; + } else if (c === '{') { + if (i !== this.i) {params[n] = this.string.substr(i,this.i-i)} + if (params.length > 0) {return [n,params]} else {return n} + } + this.i++; + } + TEX.Error("Missing replacement string for definition of "+cmd); + }, + + /* + * Process a macro with a parameter template + */ + MacroWithTemplate: function (name,text,n,params) { + if (n) { + var args = []; this.GetNext(); + if (params[0] && !this.MatchParam(params[0])) + {TEX.Error("Use of "+name+" doesn't match its definition")} + for (var i = 0; i < n; i++) {args.push(this.GetParameter(name,params[i+1]))} + text = this.SubstituteArgs(args,text); + } + this.string = this.AddArgs(text,this.string.slice(this.i)); + this.i = 0; + if (++this.macroCount > TEX.config.MAXMACROS) + {TEX.Error("MathJax maximum macro substitution count exceeded; is there a recursive macro call?")} + }, + + /* + * Process a user-defined environment + */ + BeginEnv: function (begin,bdef,edef,n) { + if (n) { + var args = []; + for (var i = 0; i < n; i++) {args.push(this.GetArgument("\\begin{"+name+"}"))} + bdef = this.SubstituteArgs(args,bdef); + edef = this.SubstituteArgs(args,edef); + } + begin.edef = edef; + this.string = this.AddArgs(bdef,this.string.slice(this.i)); this.i = 0; + return begin; + }, + EndEnv: function (begin,row) { + this.string = this.AddArgs(begin.edef,this.string.slice(this.i)); this.i = 0 + return row; + }, + + /* + * Find a single parameter delimited by a trailing template + */ + GetParameter: function (name,param) { + if (param == null) {return this.GetArgument(name)} + var i = this.i, j = 0, hasBraces = 0; + while (this.i < this.string.length) { + if (this.string.charAt(this.i) === '{') { + if (this.i === i) {hasBraces = 1} + this.GetArgument(name); j = this.i - i; + } else if (this.MatchParam(param)) { + if (hasBraces) {i++; j -= 2} + return this.string.substr(i,j); + } else { + this.i++; j++; hasBraces = 0; + } + } + TEX.Error("Runaway argument for "+name+"?"); + }, + + /* + * Check if a template is at the current location. + * (The match must be exact, with no spacing differences. TeX is + * a little more forgiving than this about spaces after macro names) + */ + MatchParam: function (param) { + if (this.string.substr(this.i,param.length) !== param) {return 0} + this.i += param.length; + return 1; + } + + }); + + TEX.Environment = function (name) { + TEXDEF.environment[name] = ['BeginEnv','EndEnv'].concat([].slice.call(arguments,1)); + } + + MathJax.Hub.Startup.signal.Post("TeX newcommand Ready"); + +}); + +MathJax.Ajax.loadComplete("[MathJax]/extensions/TeX/newcommand.js"); diff --git a/modules/MathJax/extensions/TeX/noErrors.js b/modules/MathJax/extensions/TeX/noErrors.js new file mode 100644 index 0000000..a405158 --- /dev/null +++ b/modules/MathJax/extensions/TeX/noErrors.js @@ -0,0 +1,222 @@ +/************************************************************* + * + * MathJax/extensions/TeX/noErrors.js + * + * Prevents the TeX error messages from being displayed and shows the + * original TeX code instead. You can configure whether the dollar signs + * are shown or not for in-line math, and whether to put all the TeX on + * one line or use multiple-lines. + * + * To configure this extension, use + * + * MathJax.Hub.Config({ + * TeX: { + * noErrors: { + * inlineDelimiters: ["",""], // or ["$","$"] or ["\\(","\\)"] + * multiLine: true, // false for TeX on all one line + * style: { + * "font-family": "serif", + * "font-size": "80%", + * "color": "black", + * "border": "1px solid" + * // add any additional CSS styles that you want + * // (be sure there is no extra comma at the end of the last item) + * } + * } + * } + * }); + * + * Display-style math is always shown in multi-line format, and without + * delimiters, as it will already be set off in its own centered + * paragraph, like standard display mathematics. + * + * The default settings place the invalid TeX in a multi-line box with a + * black border. If you want it to look as though the TeX is just part of + * the paragraph, use + * + * MathJax.Hub.Config({ + * TeX: { + * noErrors: { + * inlineDelimiters: ["$","$"], // or ["",""] or ["\\(","\\)"] + * multiLine: false, + * style: { + * "font-size": "normal", + * "border": "" + * } + * } + * } + * }); + * + * You may also wish to set the font family, as the default is "serif" + * + * --------------------------------------------------------------------- + * + * Copyright (c) 2009 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +(function () { + var VERSION = "1.1"; + + var CONFIG = MathJax.Hub.CombineConfig("TeX.noErrors",{ + multiLine: true, + inlineDelimiters: ["",""], // or use ["$","$"] or ["\\(","\\)"] + style: { + "font-family": "serif", + "font-size": "80%", + "text-align": "left", + "color": "black", + "padding": "1px 3px", + "border": "1px solid" + } + }); + + var NBSP = "\u00A0"; + + // + // The configuration defaults, augmented by the user settings + // + MathJax.Extension["TeX/noErrors"] = { + version: VERSION, + config: CONFIG + }; + + MathJax.Hub.Register.StartupHook("TeX Jax Ready",function () { + MathJax.InputJax.TeX.Augment({ + // + // Make error messages be the original TeX code + // Mark them as errors and multi-line or not, and for + // multi-line TeX, make spaces non-breakable (to get formatting right) + // + formatError: function (err,math,displaystyle,script) { + var delim = CONFIG.inlineDelimiters; + var multiLine = (displaystyle || CONFIG.multiLine); + if (!displaystyle) {math = delim[0] + math + delim[1]} + if (multiLine) {math = math.replace(/ /g,NBSP)} else {math = math.replace(/\n/g," ")} + return MathJax.ElementJax.mml.merror(math).With({isError:true, multiLine: multiLine}); + } + }); + }); + + MathJax.Hub.Register.StartupHook("HTML-CSS Jax Config",function () { + MathJax.Hub.Config({ + "HTML-CSS": { + styles: { + ".MathJax .merror": MathJax.Hub.Insert({ + "font-style": null, + "background-color": null, + "vertical-align": (MathJax.Hub.Browser.isMSIE && CONFIG.multiLine ? "-2px" : "") + },CONFIG.style) + } + } + }); + }); + +})(); + +MathJax.Hub.Register.StartupHook("HTML-CSS Jax Ready",function () { + var MML = MathJax.ElementJax.mml; + var HTMLCSS = MathJax.OutputJax["HTML-CSS"]; + + // + // Override math toHTML routine so that error messages + // don't have the clipping and other unneeded overhead + // + var math_toHTML = MML.math.prototype.toHTML; + MML.math.Augment({ + toHTML: function (span,node) { + if (this.data[0] && this.data[0].data[0] && this.data[0].data[0].isError) { + return this.data[0].data[0].toHTML(span); + } + return math_toHTML.call(this,span,node); + } + }); + + // + // Override merror toHTML routine so that it puts out the + // TeX code in an inline-block with line breaks as in the original + // + MML.merror.Augment({ + toHTML: function (span) { + if (!this.isError) {return MML.mbase.prototype.toHTML.call(this,span)} + span = this.HTMLcreateSpan(span); + if (this.multiLine) {span.style.display = "inline-block"} + var text = this.data[0].data[0].data.join("").split(/\n/); + for (var i = 0, m = text.length; i < m; i++) { + HTMLCSS.addText(span,text[i]); + if (i !== m-1) {HTMLCSS.addElement(span,"br")} + } + var HD = HTMLCSS.getHD(span.parentNode), W = HTMLCSS.getW(span.parentNode); + if (m > 1) { + var H = (HD.h + HD.d)/2, x = HTMLCSS.TeX.x_height/2; + var scale = HTMLCSS.config.styles[".MathJax .merror"]["font-size"]; + if (scale && scale.match(/%/)) {x *= parseInt(scale)/100} + span.parentNode.style.verticalAlign = HTMLCSS.Em(HD.d+(x-H)); + HD.h = x + H; HD.d = H - x; + } + span.bbox = {h: HD.h, d: HD.d, w: W, lw: 0, rw: W}; + return span; + } + }); + + MathJax.Hub.Startup.signal.Post("TeX noErrors Ready"); +}); + +MathJax.Hub.Register.StartupHook("NativeMML Jax Ready",function () { + var MML = MathJax.ElementJax.mml; + var CONFIG = MathJax.Extension["TeX/noErrors"].config; + + // + // Override math toNativeMML routine so that error messages + // don't get placed inside math tags. + // + var math_toNativeMML = MML.math.prototype.toNativeMML; + MML.math.Augment({ + toNativeMML: function (span) { + if (this.data[0] && this.data[0].data[0] && this.data[0].data[0].isError) { + return this.data[0].data[0].toNativeMML(span); + } + return math_toNativeMML.call(this,span); + } + }); + + // + // Override merror toNativeMML routine so that it puts out the + // TeX code in an inline-block with line breaks as in the original + // + MML.merror.Augment({ + toNativeMML: function (span) { + if (!this.isError) {return MML.mbase.prototype.toNativeMML.call(this,span)} + span = span.appendChild(document.createElement("span")); + var text = this.data[0].data[0].data.join("").split(/\n/); + for (var i = 0, m = text.length; i < m; i++) { + span.appendChild(document.createTextNode(text[i])); + if (i !== m-1) {span.appendChild(document.createElement("br"))} + } + if (this.multiLine) { + span.style.display = "inline-block"; + if (m > 1) {span.style.verticalAlign = "middle"} + } + for (var id in CONFIG.style) {if (CONFIG.style.hasOwnProperty(id)) { + var ID = id.replace(/-./g,function (c) {return c.charAt(1).toUpperCase()}); + span.style[ID] = CONFIG.style[id]; + }} + return span; + } + }); + + MathJax.Hub.Startup.signal.Post("TeX noErrors Ready"); +}); + +MathJax.Ajax.loadComplete("[MathJax]/extensions/TeX/noErrors.js"); diff --git a/modules/MathJax/extensions/TeX/noUndefined.js b/modules/MathJax/extensions/TeX/noUndefined.js new file mode 100644 index 0000000..5d1757c --- /dev/null +++ b/modules/MathJax/extensions/TeX/noUndefined.js @@ -0,0 +1,65 @@ +/************************************************************* + * + * MathJax/extensions/TeX/noUndefined.js + * + * This causes undefined control sequences to be shown as their macro + * names rather than producing an error message. So $X_{\xxx}$ would + * display as an X with a subscript consiting of the text "\xxx". + * + * To configure this extension, use for example + * + * MathJax.Hub.Config({ + * TeX: { + * noUndefined: { + * attributes: { + * mathcolor: "red", + * mathbackground: "#FFEEEE", + * mathsize: "90%" + * } + * } + * } + * }); + * + * --------------------------------------------------------------------- + * + * Copyright (c) 2010 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +// +// The configuration defaults, augmented by the user settings +// +MathJax.Extension["TeX/noUndefined"] = { + version: "1.1", + config: MathJax.Hub.CombineConfig("TeX.noUndefined",{ + attributes: { + mathcolor: "red" + } + }) +}; + +MathJax.Hub.Register.StartupHook("TeX Jax Ready",function () { + var CONFIG = MathJax.Extension["TeX/noUndefined"].config; + var MML = MathJax.ElementJax.mml; + + MathJax.InputJax.TeX.Parse.Augment({ + csUndefined: function (name) { + this.Push(MML.mtext(name).With(CONFIG.attributes)); + } + }); + + MathJax.Hub.Startup.signal.Post("TeX noUndefined Ready"); +}); + +MathJax.Ajax.loadComplete("[MathJax]/extensions/TeX/noUndefined.js"); diff --git a/modules/MathJax/extensions/TeX/unicode.js b/modules/MathJax/extensions/TeX/unicode.js new file mode 100644 index 0000000..93135ae --- /dev/null +++ b/modules/MathJax/extensions/TeX/unicode.js @@ -0,0 +1,132 @@ +/************************************************************* + * + * MathJax/extensions/TeX/unicode.js + * + * Implements the \unicode extension to TeX to allow arbitrary unicode + * code points to be entered into the TeX file. You can specify + * the height and depth of the character (the width is determined by + * the browser), and the default font from which to take the character. + * + * Examples: + * \unicode{65} % the character 'A' + * \unicode{x41} % the character 'A' + * \unicode[.55,0.05]{x22D6} % less-than with dot, with height .55 and depth 0.05 + * \unicode[.55,0.05][Geramond]{x22D6} % same taken from Geramond font + * \unicode[Garamond]{x22D6} % same, but with default height, depth of .8,.2 + * + * Once a size and font are provided for a given conde point, they need + * not be specified again in subsequent \unicode calls for that character. + * Note that a font list can be given, but Internet Explorer has a buggy + * implementation of font-family where it only looks in the first + * available font and if the glyph is not in that, it does not look at + * later fonts, but goes directly to the default font as set in the + * Internet-Options/Font panel. For this reason, the default font list is + * "STIXGeneral,'Arial Unicode MS'", so if the user has STIX fonts, the + * symbol will be taken from that (almost all the symbols are in + * STIXGeneral), otherwise Arial Unicode MS is tried. + * + * To configure the default font list, use + * + * MathJax.Hub.Config({ + * TeX: { + * unicode: { + * fonts: "STIXGeneral,'Arial Unicode MS'" + * } + * } + * }); + * + * The result of \unicode will have TeX class ORD (i.e., it will act like a + * variable). Use \mathbin, \mathrel, etc, to specify a different class. + * + * --------------------------------------------------------------------- + * + * Copyright (c) 2009 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +// +// The configuration defaults, augmented by the user settings +// +MathJax.Extension["TeX/unicode"] = { + version: "1.1", + unicode: {}, + config: MathJax.Hub.CombineConfig("TeX.unicode",{ + fonts: "STIXGeneral,'Arial Unicode MS'" + }) +}; + +MathJax.Hub.Register.StartupHook("TeX Jax Ready",function () { + var TEX = MathJax.InputJax.TeX; + var MML = MathJax.ElementJax.mml; + var FONTS = MathJax.Extension["TeX/unicode"].config.fonts; + var UNICODE = MathJax.Extension["TeX/unicode"].unicode; + + // + // Add \unicode macro + // + TEX.Definitions.macros.unicode = 'Unicode'; + // + // Implementation of \unicode in parser + // + TEX.Parse.Augment({ + Unicode: function(name) { + var HD = this.GetBrackets(name), font; + if (HD) { + HD = HD.replace(/ /g,""); + if (HD.match(/^(\d+(\.\d*)?|\.\d+),(\d+(\.\d*)?|\.\d+)$/)) + {HD = HD.split(/,/); font = this.GetBrackets(name)} else {font = HD; HD = null} + } + var n = this.trimSpaces(this.GetArgument(name)), + N = parseInt(n.match(/^x/) ? "0"+n : n); + UNICODE[N] = [800,200,500,0,500,{isUnknown:true, isUnicode:true, font:FONTS}]; + if (HD) { + UNICODE[N][0] = Math.floor(HD[0]*1000); + UNICODE[N][1] = Math.floor(HD[1]*1000); + } + var variant = this.stack.env.font, def = {}; + if (font) { + def.fontfamily = font; + if (variant) { + if (variant.match(/bold/)) {def.fontweight = "bold"} + if (variant.match(/italic/)) {def.fontstyle = "italic"} + } + UNICODE[N][5].font = font+","+FONTS + } else if (variant) {def.mathvariant = variant} + this.Push(MML.mtext(MML.entity("#"+n)).With(def)); + } + }); + +}); + +MathJax.Hub.Register.StartupHook("HTML-CSS Jax Ready",function () { + var HTMLCSS = MathJax.OutputJax["HTML-CSS"]; + var UNICODE = MathJax.Extension["TeX/unicode"].unicode; + + // + // Override lookupChar to add unicode character to font + // + var save_lookupChar = HTMLCSS.lookupChar; + HTMLCSS.Augment({ + lookupChar: function (variant,n) { + var font = save_lookupChar.call(this,variant,n); + if (font[n][5] && font[n][5].isUnknown && UNICODE[n]) {font[n] = UNICODE[n]} + return font; + } + }); + + MathJax.Hub.Startup.signal.Post("TeX unicode Ready"); + +}); + +MathJax.Ajax.loadComplete("[MathJax]/extensions/TeX/unicode.js"); diff --git a/modules/MathJax/extensions/TeX/verb.js b/modules/MathJax/extensions/TeX/verb.js new file mode 100644 index 0000000..4154752 --- /dev/null +++ b/modules/MathJax/extensions/TeX/verb.js @@ -0,0 +1,55 @@ +/************************************************************* + * + * MathJax/extensions/TeX/verb.js + * + * Implements the \verb|...| command for including text verbatim + * (with no processing of macros or special characters). + * + * --------------------------------------------------------------------- + * + * Copyright (c) 2009 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +MathJax.Hub.Register.StartupHook("TeX Jax Ready",function () { + var VERSION = "1.1"; + + var MML = MathJax.ElementJax.mml; + var TEX = MathJax.InputJax.TeX; + var TEXDEF = TEX.Definitions; + + TEXDEF.macros.verb = 'Verb'; + + TEX.Parse.Augment({ + + /* + * Implement \verb|...| + */ + Verb: function (name) { + var c = this.GetNext(); var start = ++this.i; + if (c == "" ) {TEX.Error(name+" requires an argument")} + while (this.i < this.string.length && this.string.charAt(this.i) != c) {this.i++} + if (this.i == this.string.length) + {TEX.Error("Can't find closing delimiter for "+name)} + var text = this.string.slice(start,this.i); this.i++; + this.Push(MML.mtext(text).With({mathvariant:MML.VARIANT.MONOSPACE})); + } + + }); + + MathJax.Hub.Startup.signal.Post("TeX verb Ready"); + +}); + +MathJax.Ajax.loadComplete("[MathJax]/extensions/TeX/verb.js"); diff --git a/modules/MathJax/extensions/jsMath2jax.js b/modules/MathJax/extensions/jsMath2jax.js new file mode 100644 index 0000000..b4eb1a1 --- /dev/null +++ b/modules/MathJax/extensions/jsMath2jax.js @@ -0,0 +1,95 @@ +/************************************************************* + * + * MathJax/extensions/jsMath2jax.js + * + * Implements a jsMath to Jax preprocessor that locates jsMath-style + * ... and
...
tags + * and replaces them with SCRIPT tags for processing by MathJax. + * (Note: use the tex2jax preprocessor to convert TeX delimiters or + * custom delimiters to MathJax SCRIPT tags. This preprocessor is + * only for the SPAN and DIV form of jsMath delimiters). + * + * To use this preprocessor, include "jsMath2jax.js" in the extensions + * array in your config/MathJax.js file, or the MathJax.Hub.Config() call + * in your HTML document. + * + * --------------------------------------------------------------------- + * + * Copyright (c) 2010-2011 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +MathJax.Extension.jsMath2jax = { + version: "1.1.1", + + config: { + preview: "TeX" // Set to "none" to prevent preview strings from being inserted + // or to an array that specifies an HTML snippet to use for + // the preview. + }, + + PreProcess: function (element) { + if (!this.configured) { + this.config = MathJax.Hub.CombineConfig("jsMath2jax",this.config); + if (this.config.Augment) {MathJax.Hub.Insert(this,this.config.Augment)} + if (typeof(this.config.previewTeX) !== "undefined" && !this.config.previewTeX) + {this.config.preview = "none"} // backward compatibility for previewTeX parameter + this.previewClass = MathJax.Hub.config.preRemoveClass; + this.configured = true; + } + if (typeof(element) === "string") {element = document.getElementById(element)} + if (!element) {element = document.body} + var span = element.getElementsByTagName("span"), i; + for (i = span.length-1; i >= 0; i--) + {if (String(span[i].className).match(/(^| )math( |$)/)) {this.ConvertMath(span[i],"")}} + var div = element.getElementsByTagName("div"); + for (i = div.length-1; i >= 0; i--) + {if (String(div[i].className).match(/(^| )math( |$)/)) {this.ConvertMath(div[i],"; mode=display")}} + }, + + ConvertMath: function (node,mode) { + if (node.getElementsByTagName("script").length === 0) { + var parent = node.parentNode, + script = this.createMathTag(mode,node.innerHTML); + if (node.nextSibling) {parent.insertBefore(script,node.nextSibling)} + else {parent.appendChild(script)} + if (this.config.preview !== "none") {this.createPreview(node)} + parent.removeChild(node); + } + }, + + createPreview: function (node) { + var preview; + if (this.config.preview === "TeX") {preview = [this.filterTeX(node.innerHTML)]} + else if (this.config.preview instanceof Array) {preview = this.config.preview} + if (preview) { + preview = MathJax.HTML.Element("span",{className: MathJax.Hub.config.preRemoveClass},preview); + node.parentNode.insertBefore(preview,node); + } + }, + + createMathTag: function (mode,tex) { + tex = tex.replace(/</g,"<").replace(/>/g,">").replace(/&/g,"&"); + var script = document.createElement("script"); + script.type = "math/tex" + mode; + MathJax.HTML.setScript(script,tex); + return script; + }, + + filterTeX: function (tex) {return tex} + +}; + +MathJax.Hub.Register.PreProcessor(["PreProcess",MathJax.Extension.jsMath2jax]); +MathJax.Ajax.loadComplete("[MathJax]/extensions/jsMath2jax.js"); diff --git a/modules/MathJax/extensions/mml2jax.js b/modules/MathJax/extensions/mml2jax.js new file mode 100644 index 0000000..d7c2af4 --- /dev/null +++ b/modules/MathJax/extensions/mml2jax.js @@ -0,0 +1,190 @@ +/************************************************************* + * + * MathJax/extensions/mml2jax.js + * + * Implements the MathML to Jax preprocessor that locates nodes + * within the text of a document and replaces them with SCRIPT tags + * for processing by MathJax. + * + * --------------------------------------------------------------------- + * + * Copyright (c) 2010-2011 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +MathJax.Extension.mml2jax = { + version: "1.1.2", + config: { + preview: "alttext" // Use the element's alttext as the + // preview. Set to "none" for no preview, + // or set to an array specifying an HTML snippet + // to use a fixed preview for all math + + }, + MMLnamespace: "http://www.w3.org/1998/Math/MathML", + + PreProcess: function (element) { + if (!this.configured) { + this.config = MathJax.Hub.CombineConfig("mml2jax",this.config); + if (this.config.Augment) {MathJax.Hub.Insert(this,this.config.Augment)} + this.InitBrowser(); + this.configured = true; + } + if (typeof(element) === "string") {element = document.getElementById(element)} + if (!element) {element = document.body} + // + // Handle all math tags with no namespaces + // + this.ProcessMathArray(element.getElementsByTagName("math")); + // + // Handle math with namespaces in XHTML + // + if (element.getElementsByTagNameNS) + {this.ProcessMathArray(element.getElementsByTagNameNS(this.MMLnamespace,"math"))} + // + // Handle math with namespaces in HTML + // + var html = document.getElementsByTagName("html")[0]; + if (html) { + for (var i = 0, m = html.attributes.length; i < m; i++) { + var attr = html.attributes[i]; + if (attr.nodeName.substr(0,6) === "xmlns:" && attr.nodeValue === this.MMLnamespace) + {this.ProcessMathArray(element.getElementsByTagName(attr.nodeName.substr(6)+":math"))} + } + } + }, + + ProcessMathArray: function (math) { + var i; + if (math.length) { + if (this.MathTagBug) { + for (i = math.length-1; i >= 0; i--) { + if (math[i].nodeName === "MATH") {this.ProcessMathFlattened(math[i])} + else {this.ProcessMath(math[i])} + } + } else { + for (i = math.length-1; i >= 0; i--) {this.ProcessMath(math[i])} + } + } + }, + + ProcessMath: function (math) { + var parent = math.parentNode; + var script = document.createElement("script"); + script.type = "math/mml"; + parent.insertBefore(script,math); + if (this.AttributeBug) { + var html = this.OuterHTML(math); + if (this.CleanupHTML) { + html = html.replace(/<\?import .*?>/i,"").replace(/<\?xml:namespace .*?\/>/i,""); + html = html.replace(/ /g," "); + } + MathJax.HTML.setScript(script,html); parent.removeChild(math); + } else { + var span = MathJax.HTML.Element("span"); span.appendChild(math); + MathJax.HTML.setScript(script,span.innerHTML); + } + if (this.config.preview !== "none") {this.createPreview(math,script)} + }, + + ProcessMathFlattened: function (math) { + var parent = math.parentNode; + var script = document.createElement("script"); + script.type = "math/mml"; + parent.insertBefore(script,math); + var mml = "", node, MATH = math; + while (math && math.nodeName !== "/MATH") { + node = math; math = math.nextSibling; + mml += this.NodeHTML(node); + node.parentNode.removeChild(node); + } + if (math && math.nodeName === "/MATH") {math.parentNode.removeChild(math)} + script.text = mml + ""; + if (this.config.preview !== "none") {this.createPreview(MATH,script)} + }, + + NodeHTML: function (node) { + var html, i, m; + if (node.nodeName === "#text") { + html = this.quoteHTML(node.nodeValue); + } else if (node.nodeName === "#comment") { + html = "" + } else { + // In IE, outerHTML doesn't properly quote attributes, so quote them by hand + // In Opera, HTML special characters aren't quoted in attributes, so quote them + html = "<"+node.nodeName.toLowerCase(); + for (i = 0, m = node.attributes.length; i < m; i++) { + var attribute = node.attributes[i]; + if (attribute.specified) { + // Opera 11.5 beta turns xmlns into xmlns:xmlns, so put it back (*** check after 11.5 is out ***) + html += " "+attribute.nodeName.toLowerCase().replace(/xmlns:xmlns/,"xmlns")+"="; + var value = attribute.nodeValue; // IE < 8 doesn't properly set style by setAttributes + if (value == null && attribute.nodeName === "style" && node.style) {value = node.style.cssText} + html += '"'+this.quoteHTML(value)+'"'; + } + } + html += ">"; + // Handle internal HTML (possibly due to annotation or missing ) + if (node.outerHTML != null && node.outerHTML.match(/(.<\/[A-Z]+>|\/>)$/)) { + for (i = 0, m = node.childNodes.length; i < m; i++) + {html += this.OuterHTML(node.childNodes[i])} + html += ""; + } + } + return html; + }, + OuterHTML: function (node) { + if (node.nodeName.charAt(0) === "#") {return this.NodeHTML(node)} + if (!this.AttributeBug) {return node.outerHTML} + var html = this.NodeHTML(node); + for (var i = 0, m = node.childNodes.length; i < m; i++) + {html += this.OuterHTML(node.childNodes[i]);} + html += ""; + return html; + }, + quoteHTML: function (string) { + if (string == null) {string = ""} + return string.replace(/&/g,"&").replace(//g,">").replace(/"/g,"""); + }, + + createPreview: function (math,script) { + var preview; + if (this.config.preview === "alttext") { + var text = math.getAttribute("alttext"); + if (text != null) {preview = [this.filterText(text)]} + } else if (this.config.preview instanceof Array) {preview = this.config.preview} + if (preview) { + preview = MathJax.HTML.Element("span",{className:MathJax.Hub.config.preRemoveClass},preview); + script.parentNode.insertBefore(preview,script); + } + }, + + filterText: function (text) {return text}, + + InitBrowser: function () { + var test = MathJax.HTML.Element("span",{id:"<", className: "mathjax", innerHTML: "x"}); + var html = test.outerHTML || ""; + this.AttributeBug = html !== "" && !( + html.match(/id="<"/) && // "<" should convert to "<" + html.match(/class="mathjax"/) && // IE leaves out quotes + html.match(/<\/math>/) // Opera 9 drops tags after self-closing tags + ); + this.MathTagBug = test.childNodes.length > 1; // IE < 9 flattens unknown tags + this.CleanupHTML = MathJax.Hub.Browser.isMSIE; // remove namespace and other added tags + } + +}; + +MathJax.Hub.Register.PreProcessor(["PreProcess",MathJax.Extension.mml2jax]); +MathJax.Ajax.loadComplete("[MathJax]/extensions/mml2jax.js"); diff --git a/modules/MathJax/extensions/tex2jax.js b/modules/MathJax/extensions/tex2jax.js new file mode 100644 index 0000000..fd58a91 --- /dev/null +++ b/modules/MathJax/extensions/tex2jax.js @@ -0,0 +1,269 @@ +/************************************************************* + * + * MathJax/extensions/tex2jax.js + * + * Implements the TeX to Jax preprocessor that locates TeX code + * within the text of a document and replaces it with SCRIPT tags + * for processing by MathJax. + * + * --------------------------------------------------------------------- + * + * Copyright (c) 2009-2011 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +MathJax.Extension.tex2jax = { + version: "1.1.3", + config: { + inlineMath: [ // The start/stop pairs for in-line math +// ['$','$'], // (comment out any you don't want, or add your own, but + ['\\(','\\)'] // be sure that you don't have an extra comma at the end) + ], + + displayMath: [ // The start/stop pairs for display math + ['$$','$$'], // (comment out any you don't want, or add your own, but + ['\\[','\\]'] // be sure that you don't have an extra comma at the end) + ], + + skipTags: ["script","noscript","style","textarea","pre","code"], + // The names of the tags whose contents will not be + // scanned for math delimiters + + ignoreClass: "tex2jax_ignore", // the class name of elements whose contents should + // NOT be processed by tex2jax. Note that this + // is a regular expression, so be sure to quote any + // regexp special characters + + processClass: "tex2jax_process", // the class name of elements whose contents SHOULD + // be processed when they appear inside ones that + // are ignored. Note that this is a regular expression, + // so be sure to quote any regexp special characters + + processEscapes: false, // set to true to allow \$ to produce a dollar without + // starting in-line math mode + + processEnvironments: true, // set to true to process \begin{xxx}...\end{xxx} outside + // of math mode, false to prevent that + + preview: "TeX" // set to "none" to not insert MathJax_Preview spans + // or set to an array specifying an HTML snippet + // to use the same preview for every equation. + + }, + + PreProcess: function (element) { + if (!this.configured) { + this.config = MathJax.Hub.CombineConfig("tex2jax",this.config); + if (this.config.Augment) {MathJax.Hub.Insert(this,this.config.Augment)} + if (typeof(this.config.previewTeX) !== "undefined" && !this.config.previewTeX) + {this.config.preview = "none"} // backward compatibility for previewTeX parameter + this.configured = true; + } + if (typeof(element) === "string") {element = document.getElementById(element)} + if (!element) {element = document.body} + this.createPatterns(); + this.scanElement(element,element.nextSibling); + }, + + createPatterns: function () { + var starts = [], i, m, config = this.config; + this.match = {}; + for (i = 0, m = config.inlineMath.length; i < m; i++) { + starts.push(this.patternQuote(config.inlineMath[i][0])); + this.match[config.inlineMath[i][0]] = { + mode: "", + end: config.inlineMath[i][1], + pattern: this.endPattern(config.inlineMath[i][1]) + }; + } + for (i = 0, m = config.displayMath.length; i < m; i++) { + starts.push(this.patternQuote(config.displayMath[i][0])); + this.match[config.displayMath[i][0]] = { + mode: "; mode=display", + end: config.displayMath[i][1], + pattern: this.endPattern(config.displayMath[i][1]) + }; + } + this.start = new RegExp( + starts.sort(this.sortLength).join("|") + + (config.processEnvironments ? "|\\\\begin\\{([^}]*)\\}" : "") + + (config.processEscapes ? "|\\\\*\\\\\\\$" : ""), "g" + ); + this.skipTags = new RegExp("^("+config.skipTags.join("|")+")$","i"); + this.ignoreClass = new RegExp("(^| )("+config.ignoreClass+")( |$)"); + this.processClass = new RegExp("(^| )("+config.processClass+")( |$)"); + }, + + patternQuote: function (s) {return s.replace(/([\^$(){}+*?\-|\[\]\:\\])/g,'\\$1')}, + + endPattern: function (end) { + return new RegExp(this.patternQuote(end)+"|\\\\.","g"); + }, + + sortLength: function (a,b) { + if (a.length !== b.length) {return b.length - a.length} + return (a == b ? 0 : (a < b ? -1 : 1)); + }, + + scanElement: function (element,stop,ignore) { + var cname, tname, ignoreChild; + while (element && element != stop) { + if (element.nodeName.toLowerCase() === '#text') { + if (!ignore) {element = this.scanText(element)} + } else { + cname = (typeof(element.className) === "undefined" ? "" : element.className); + tname = (typeof(element.tagName) === "undefined" ? "" : element.tagName); + if (typeof(cname) !== "string") {cname = String(cname)} // jsxgraph uses non-string class names! + if (element.firstChild && !cname.match(/(^| )MathJax/) && !this.skipTags.exec(tname)) { + ignoreChild = (ignore || this.ignoreClass.exec(cname)) && !this.processClass.exec(cname); + this.scanElement(element.firstChild,stop,ignoreChild); + } + } + if (element) {element = element.nextSibling} + } + }, + + scanText: function (element) { + if (element.nodeValue.replace(/\s+/,'') == '') {return element} + var match, prev; + this.search = {start: true}; + this.pattern = this.start; + while (element) { + this.pattern.lastIndex = 0; + while (element && element.nodeName.toLowerCase() === '#text' && + (match = this.pattern.exec(element.nodeValue))) { + if (this.search.start) {element = this.startMatch(match,element)} + else {element = this.endMatch(match,element)} + } + if (this.search.matched) {element = this.encloseMath(element)} + if (element) { + do {prev = element; element = element.nextSibling} + while (element && (element.nodeName.toLowerCase() === 'br' || + element.nodeName.toLowerCase() === '#comment')); + if (!element || element.nodeName !== '#text') {return prev} + } + } + return element; + }, + + startMatch: function (match,element) { + var delim = this.match[match[0]]; + if (delim != null) { // a start delimiter + this.search = { + end: delim.end, mode: delim.mode, + open: element, olen: match[0].length, opos: this.pattern.lastIndex - match[0].length + }; + this.switchPattern(delim.pattern); + } else if (match[0].substr(0,6) === "\\begin") { // \begin{...} + this.search = { + end: "\\end{"+match[1]+"}", mode: "; mode=display", + open: element, olen: 0, opos: this.pattern.lastIndex - match[0].length, + isBeginEnd: true + }; + this.switchPattern(this.endPattern(this.search.end)); + } else { // escaped dollar signs + // put $ in a span so it doesn't get processed again + // split off backslashes so they don't get removed later + var slashes = match[0].substr(0,match[0].length-1), n, span; + if (slashes.length % 2 === 0) {span = [slashes.replace(/\\\\/g,"\\")]; n = 1} + else {span = [slashes.substr(1).replace(/\\\\/g,"\\"),"$"]; n = 0} + span = MathJax.HTML.Element("span",null,span); + var text = MathJax.HTML.TextNode(element.nodeValue.substr(0,match.index)); + element.nodeValue = element.nodeValue.substr(match.index + match[0].length - n); + element.parentNode.insertBefore(span,element); + element.parentNode.insertBefore(text,span); + this.pattern.lastIndex = n; + } + return element; + }, + + endMatch: function (match,element) { + if (match[0] == this.search.end) { + this.search.close = element; + this.search.cpos = this.pattern.lastIndex; + this.search.clen = (this.search.isBeginEnd ? 0 : match[0].length); + this.search.matched = true; + element = this.encloseMath(element); + this.switchPattern(this.start); + } + return element; + }, + + switchPattern: function (pattern) { + pattern.lastIndex = this.pattern.lastIndex; + this.pattern = pattern; + this.search.start = (pattern === this.start); + }, + + encloseMath: function (element) { + var search = this.search, close = search.close, CLOSE, math; + if (search.cpos === close.length) {close = close.nextSibling} + else {close = close.splitText(search.cpos)} + if (!close) {CLOSE = close = MathJax.HTML.addText(search.close.parentNode,"")} + search.close = close; + math = (search.opos ? search.open.splitText(search.opos) : search.open); + while (math.nextSibling && math.nextSibling !== close) { + if (math.nextSibling.nodeValue !== null) { + if (math.nextSibling.nodeName === "#comment") { + math.nodeValue += math.nextSibling.nodeValue.replace(/^\[CDATA\[((.|\n|\r)*)\]\]$/,"$1"); + } else { + math.nodeValue += math.nextSibling.nodeValue; + } + } else if (this.msieNewlineBug) { + math.nodeValue += (math.nextSibling.nodeName.toLowerCase() === "br" ? "\n" : " "); + } else { + math.nodeValue += " "; + } + math.parentNode.removeChild(math.nextSibling); + } + var TeX = math.nodeValue.substr(search.olen,math.nodeValue.length-search.olen-search.clen); + math.parentNode.removeChild(math); + if (this.config.preview !== "none") {this.createPreview(search.mode,TeX)} + math = this.createMathTag(search.mode,TeX); + this.search = {}; this.pattern.lastIndex = 0; + if (CLOSE) {CLOSE.parentNode.removeChild(CLOSE)} + return math; + }, + + insertNode: function (node) { + var search = this.search; + search.close.parentNode.insertBefore(node,search.close); + }, + + createPreview: function (mode,tex) { + var preview; + if (this.config.preview === "TeX") {preview = [this.filterTeX(tex)]} + else if (this.config.preview instanceof Array) {preview = this.config.preview} + if (preview) { + preview = MathJax.HTML.Element("span",{className:MathJax.Hub.config.preRemoveClass},preview); + this.insertNode(preview); + } + }, + + createMathTag: function (mode,tex) { + var script = document.createElement("script"); + script.type = "math/tex" + mode; + MathJax.HTML.setScript(script,tex); + this.insertNode(script); + return script; + }, + + filterTeX: function (tex) {return tex}, + + msieNewlineBug: (MathJax.Hub.Browser.isMSIE && document.documentMode < 9) + +}; + +MathJax.Hub.Register.PreProcessor(["PreProcess",MathJax.Extension.tex2jax]); +MathJax.Ajax.loadComplete("[MathJax]/extensions/tex2jax.js"); diff --git a/modules/MathJax/extensions/toMathML.js b/modules/MathJax/extensions/toMathML.js new file mode 100644 index 0000000..1bee6c3 --- /dev/null +++ b/modules/MathJax/extensions/toMathML.js @@ -0,0 +1,149 @@ +/************************************************************* + * + * MathJax/extensions/toMathML.js + * + * Implements a toMathML() method for the mml Element Jax that returns + * a MathML string from a given math expression. + * + * --------------------------------------------------------------------- + * + * Copyright (c) 2010-2011 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +MathJax.Hub.Register.LoadHook("[MathJax]/jax/element/mml/jax.js",function () { + var VERSION = "1.1.1"; + + var MML = MathJax.ElementJax.mml; + + MML.mbase.Augment({ + + toMathML: function (space) { + var inferred = (this.inferred && this.parent.inferRow); + if (space == null) {space = ""} + var tag = this.type, attr = this.MathMLattributes(); + if (tag === "mspace") {return space + "<"+tag+attr+" />"} + var data = []; var SPACE = (this.isToken ? "" : space+(inferred ? "" : " ")); + for (var i = 0, m = this.data.length; i < m; i++) { + if (this.data[i]) {data.push(this.data[i].toMathML(SPACE))} + else if (!this.isToken) {data.push(SPACE+"")} + } + if (this.isToken) {return space + "<"+tag+attr+">"+data.join("")+""} + if (inferred) {return data.join("\n")} + if (data.length === 0 || (data.length === 1 && data[0] === "")) + {return space + "<"+tag+attr+" />"} + return space + "<"+tag+attr+">\n"+data.join("\n")+"\n"+ space +""; + }, + + MathMLattributes: function () { + var attr = [], defaults = this.defaults; + var copy = this.copyAttributes, + skip = this.skipAttributes; + + if (this.type === "math") {attr.push('xmlns="http://www.w3.org/1998/Math/MathML"')} + if (this.type === "mstyle") {defaults = MML.math.prototype.defaults} + for (var id in defaults) {if (!skip[id] && defaults.hasOwnProperty(id)) { + var force = (id === "open" || id === "close"); + if (this[id] != null && (force || this[id] !== defaults[id])) { + var value = this[id]; delete this[id]; + if (force || this.Get(id) !== value) + {attr.push(id+'="'+this.quoteHTML(value)+'"')} + this[id] = value; + } + }} + for (var i = 0, m = copy.length; i < m; i++) { + if (this[copy[i]] != null) {attr.push(copy[i]+'="'+this.quoteHTML(this[copy[i]])+'"')} + } + if (attr.length) {return " "+attr.join(" ")} else {return ""} + }, + copyAttributes: [ + "fontfamily","fontsize","fontweight","fontstyle", + "color","background", + "id","class","href","style" + ], + skipAttributes: {texClass: 1, useHeight: 1, texprimestyle: 1}, + + quoteHTML: function (string) { + string = String(string).split(""); + for (var i = 0, m = string.length; i < m; i++) { + var n = string[i].charCodeAt(0); + if (n < 0x20 || n > 0x7E) { + string[i] = "&#x"+n.toString(16).toUpperCase()+";"; + } else { + var c = {'&':'&', '<':'<', '>':'>', '"':'"'}[string[i]]; + if (c) {string[i] = c} + } + } + return string.join(""); + } + }); + + MML.msubsup.Augment({ + toMathML: function (space) { + var tag = this.type; + if (this.data[this.sup] == null) {tag = "msub"} + if (this.data[this.sub] == null) {tag = "msup"} + var attr = this.MathMLattributes(); + delete this.data[0].inferred; + var data = []; + for (var i = 0, m = this.data.length; i < m; i++) + {if (this.data[i]) {data.push(this.data[i].toMathML(space+" "))}} + return space + "<"+tag+attr+">\n" + data.join("\n") + "\n" + space + ""; + } + }); + + MML.munderover.Augment({ + toMathML: function (space) { + var tag = this.type; + if (this.data[this.under] == null) {tag = "mover"} + if (this.data[this.over] == null) {tag = "munder"} + var attr = this.MathMLattributes(); + delete this.data[0].inferred; + var data = []; + for (var i = 0, m = this.data.length; i < m; i++) + {if (this.data[i]) {data.push(this.data[i].toMathML(space+" "))}} + return space + "<"+tag+attr+">\n" + data.join("\n") + "\n" + space + ""; + } + }); + + MML.TeXAtom.Augment({ + toMathML: function (space) { + // FIXME: Handle spacing using mpadded? + return space+"\n"+this.data[0].toMathML(space+" ")+"\n"+space+""; + } + }); + + MML.chars.Augment({ + toMathML: function (space) {return (space||"") + this.quoteHTML(this.toString())} + }); + + MML.entity.Augment({ + toMathML: function (space) {return (space||"") + "&"+this.data[0]+";"} + }); + + MML.xml.Augment({ + toMathML: function (space) {return (space||"") + this.toString()} + }); + + MathJax.Hub.Register.StartupHook("TeX mathchoice Ready",function () { + MML.TeXmathchoice.Augment({ + toMathML: function (space) {return this.Core().toMathML(space)} + }); + }); + + MathJax.Hub.Startup.signal.Post("toMathML Ready"); + +}); + +MathJax.Ajax.loadComplete("[MathJax]/extensions/toMathML.js"); diff --git a/modules/MathJax/extensions/v1.0-warning.js b/modules/MathJax/extensions/v1.0-warning.js new file mode 100644 index 0000000..3879df1 --- /dev/null +++ b/modules/MathJax/extensions/v1.0-warning.js @@ -0,0 +1,92 @@ +/************************************************************* + * + * MathJax/extension/v1.0-warning.js + * + * This extension file is loaded when no jax are configured + * as a backward-compatible measure to help people convert to the + * new configuration process. + * + * --------------------------------------------------------------------- + * + * Copyright (c) 2011 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +(function (HUB,HTML) { + var VERSION = "1.1"; + + var CONFIG = { + style: { + position:"fixed", bottom:"4em", left:"3em", width:"40em", + border: "3px solid #880000", "background-color": "#E0E0E0", + padding: "1em", "font-size":"small", "white-space":"normal", + + "border-radius": ".75em", // Opera 10.5 and IE9 + "-webkit-border-radius": ".75em", // Safari and Chrome + "-moz-border-radius": ".75em", // Firefox + "-khtml-border-radius": ".75em", // Konqueror + + "box-shadow": "4px 4px 10px #AAAAAA", // Opera 10.5 and IE9 + "-webkit-box-shadow": "4px 4px 10px #AAAAAA", // Safari 3 and Chrome + "-moz-box-shadow": "4px 4px 10px #AAAAAA", // Forefox 3.5 + "-khtml-box-shadow": "4px 4px 10px #AAAAAA", // Konqueror + filter: "progid:DXImageTransform.Microsoft.dropshadow(OffX=3, OffY=3, Color='gray', Positive='true')" // IE + } + }; + if (HUB.Browser.isIE9 && document.documentMode >= 9) {delete CONFIG.style.filter} + + var DIV; + + HUB.Register.StartupHook("onLoad",function () { + var frame = document.body; + if (HUB.Browser.isMSIE) { + MathJax.Message.Init(); // make sure MathJax_MSIE_frame exists + frame = document.getElementById("MathJax_MSIE_frame") || frame; // in IE8 and 9 it may not anyway + CONFIG.style.position = "absolute"; + } else {delete CONFIG.style.filter} + CONFIG.style.maxWidth = (document.body.clientWidth-75) + "px"; + DIV = HTML.addElement(frame,"div",{id:"MathJax_ConfigWarning",style:CONFIG.style},[ + [ + "div",{ + style: { + position:"absolute", overflow:"hidden", top:".1em", right:".1em", + border: "1px outset", width:"1em", height:"1em", + "text-align": "center", cursor: "pointer", + "background-color": "#EEEEEE", color:"#606060", + + "border-radius": ".5em", // Opera 10.5 + "-webkit-border-radius": ".5em", // Safari and Chrome + "-moz-border-radius": ".5em", // Firefox + "-khtml-border-radius": ".5em" // Konqueror + }, + onclick: function () {DIV.style.display = "none"} + }, + [["span",{style:{position:"relative", bottom:".2em"}},["x"]]] + ], + "MathJax no longer loads a default configuration file; " + + "you must specify such files explicitly. " + + "This page seems to use the older default ",["code",{},["config/MathJax.js"]], + " file, and so needs to be updated. This is explained further at", + ["p",{style:{"text-align":"center"}},[ + ["a", + {href:"http://www.mathjax.org/help/configuration"}, + ["http://www.mathjax.org/help/configuration"] + ] + ]] + ]); + }); + +})(MathJax.Hub,MathJax.HTML); + +MathJax.Ajax.loadComplete("[MathJax]/extensions/v1.0-warning.js"); diff --git a/modules/MathJax/fonts/HTML-CSS/TeX/eot/MathJax_AMS-Regular.eot b/modules/MathJax/fonts/HTML-CSS/TeX/eot/MathJax_AMS-Regular.eot new file mode 100644 index 0000000000000000000000000000000000000000..6d8ab3cca4ef590ab0e962a3ecc7a7fa97c53cb6 GIT binary patch literal 60356 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 literal 0 HcmV?d00001 diff --git a/modules/MathJax/fonts/HTML-CSS/TeX/eot/MathJax_Caligraphic-Bold.eot b/modules/MathJax/fonts/HTML-CSS/TeX/eot/MathJax_Caligraphic-Bold.eot new file mode 100644 index 0000000000000000000000000000000000000000..86ce034c25ea34649ea04ac0b188b2462b929045 GIT binary patch literal 12476 zcmch7dvqLEndiN?-c{YzRn^tq)lXHwyQO}qTWY-@mSxGZEL(m?N*vp=En9MIS+V6u zAX$PT!7(I(fw0+OX36HTvqQpRl)#yVff-;J7zQT8@XCSNz``)u!_Ef6VHkFX1J-`G zs%4uY>PxT9(mqctAvB=p3}1 zfN~HWM2paV0ou-?6?j1>s=yba+Up#zeA{U77>2I~KP*BM6Z>c8UJ?Hpq3Rc)Ha0oF zZ34|B9`64T?(NfQ9bfq9Pd)@=@#}DZ=h=lTt9TM! zg!U!4w^tUB?k|4gK4_z&9d%>@ zqVOJlWcY}0@Sl;w(D$If`f2v_o7at(H_F@;vmN@1H=#hqx9`Rxx|2J$@$!wYa8u4m z^pVZKl2cPc_aerrB5+SYnYTI;@@M3ehyyuYhbuzwaIg5gs1rN*5?fLvdhWtciZ7-+&j zg>MPyquKz_w7#*HkPbl&NE*cetD|uBI2vGqyFPR$dg|4UjSZ-^!4S5<-7n$x`x{^1 zcwyt3=1LzLH~%nTnhr((9O*g|cJJLv_w~2cAeQ3=QIZwUrY);JO*i~zAQ-a3k!UQQ zXtR^4bS9h2-~QPDhjQWn@g3`^w2u7K>+Q31>pL#ZucP#cwa$0U4b3}s56s(NU&sE6 zRbIy>`|s909p!aWn%+CNEj^zsuQR1(%U&OyolCBd&X?EO5`8q8PQGF8+tC;1qtI{e zm(d^2N7Ko5u48U};?lg+Fh39DaV77eJIm{Q>A4iX25+~o9Xb?UM=*>~dM@Ksjoz#h zONMUuRmlk6w4~_PTfUg|bVX z7S)pQ5~XB+)nUg|va9Pt$Dujfo=i_HoVMre6UW>kXg@D~GrZcqZckpHSV&*Ducw{Y zrPtBkx%E-#3H;I5u8%I#8+b-_-Zb>0l}twM7q5dD;Grp??Ldn*pbxtFN@@GW*2~lO z-1NR^avjglT?dAy($~}W^{MOW1xg8JhyGG}G^z#z)Sy!aXudeO*|$XXgf^pN1B*^bs_QN5{tS^v5)aH_k8Zd;lo7ukW2p9|P*s zV^O%^^cYBfbno2rU}sy8k3ElV43~BL_YF21@Ht3vz*zxj=N9JI&5jKStoSAHWOc`f z8OZ${L{DKBU&4Pw2FX+8UzjE4MRphaO|H&8$(#IjK@^@AW$}{4ORF*~UzLBX98-Sc zd5<^fz2yCoI;?)dx8(bdwg#WKYVXmW0z!#1{uf99JdJ=*LvQH$hMum!_e8x;0>AuU zb^ILkscgJTH2l{P=R3gfr*hq0&7S4}u7`r5V8CQ@>6D;i!Q=xbt*Q4wYj;l_LaWNngEx>4L^%b!*?r`*F&$lw^sm>f0kJ zwN_J8k?newEhVYFV>AmtKf*7dZiM`UxY^aLH+vfJx&}}Z$L_Dmr&GBU{Taetl*;a| zG%uu7+<_~27Q`nI>rGQ0L1W3_AS(-M@ZN)~AyrVA!2v918O;*2GJ~)30?)84&haw) znNJhm&+8sSJUSm>$-jRu!(hxpR0o z*Nnh&?7b(dzT~XkUcyAeg;XTw@57!-rl&2fYo>~cr6?GyVO=1cD7=s38A2FY53=mG zA={VC3+c0A&_mJVgT9#rVsP9fvSPB zK^cKY%2f*n>C|(b`SCofF724PC+M*g10LUjf>p9twj6k~g4=VMQrsi3jFj)*<`+ZW zuvX2n0+#HQr>Kj`_A`+QHK%qD+DB zzyXRa5DIV(SoiBp=vy)?akb8eA7VkMEZ)O1fEJaHFmRj8v$D+QbGbaD2wvmP%tCnE zODliQihfDu$y*8Z2?a&`4#HrN(5s5{x!5xv>GU8lyhY2?siX39*l7s)SfO&T9Uw!C;|2HqcWa zdg9)@hAR2=81W=H!bohc7Ua7$pU0>k$cvIM1R}+l^H1*Iy-UR}M0|vc>`)1NnM;Ht zN4G3q7^n><3*s>7Od<>;GGXjZ#t$5|vV97tFdsT}fMAA?##n001n~AMQOSEyJ4^x) z&ZR-Hz?=`a?8Gr22TIgPTH>de6mogm(RDSAdJ`;*vI@TD36nLI(zqT3v4$G$M+f@H zyDJmhd+*({{SiGU+?yH9h=HsX^p<#5wz?P(iR)fKnn3o*Y`a}r@{vS*r2pj1iAXRr z{hi0=PI_=;F_Fne^I!E7$y+)(mN7he%xbC{zOci=6h@<t2KzY;y(=e2!px*RFU<4FPRG`$2!M|hRW+;J~t{k{gN9=9j&zelV3DyJsE4YeN zv>`~;YiEk($r(L53Fc`f5}t5JugVgGKfE$4id}a1-ekGnTQdS}0>S$y_ttpA#1CV!vx}6yN<5(01rMLTajaYw za$zwqg*ZM^8X5$Xc5zi908hw?VFna(Vin~=pf&+ssT*i@Y{+rH)J*}C6kgQ61>R5X zo2rd+njiy|RmYGj_{Tfu0YRxyu0Lm)4CW$vfAsL69aFqp3bh8~VeRltvG+gqv7D6) zXbcA-f-aN=Q0;(<>5F{z!?CJ z0zTa%NUT)~D_S|eEtTw3C5wO8yUe=>bJ#MX(|0N?#`{M)2g;EV-GhVv7*^i=@vn;> zSqc<+3^HS458n9H|X%hodY3>S^T&g(B@lg#a=Dl@1fy&;b2z#xPgEn?4^}8vp<@ zuskca3&CtmO};7Zt?r6;EyQ9Ce<+`gc`A`Yh+%@oNT}v{L^AY{LRf*h=K;-MNDN@^ z?TWOcZql)9CX-m9P8wv9J@IY=(rBXTsE31pvNJu}y)#fTxAGfU4r zYk2}jEFp|Dg25ce5K8Xy5$sEh-ZjIs#WT|*k>Gw6N4)~W_yQ#+LuF!ayh83EpF+bR zliOm#rrCnkx_AcGAt$538ce!{Vi()gbyB>LV$@&kKYC0smM<~BsYhQSK!KM{_%b|~ zQH-&O$jVrX2qb@ec)LcnR7Zz8J3rx9LY3^0gs+}Sn3qp|DuA(IRQ!Jb4mFen(-rh; znD=ES?|6ghzo)Oz4O4J}OmI9Goop7eqy{B*7>^KYSdf>2I_Qt1HHS_Iy}<@c?U8=c zxGM{BHy?m91Y)Yrdwh)CYqQe47w7gFJj;6fBOW$Hyv2^@{2TFjBs@uQqujIl%(vuu z(thI?oK8e*LE`@8($26)PeYm({49Ax$wWjB6IE`acd4V^_HM0 z%1O^=!_8RN{AOEvu>8n4FJfyXV965XcB2Jeu@o(m?+aT2|E~5RD|JSEiJ4MT#0UF| z-3im5NJQgZ@7$%N%JB&y`uJT#Lj^*&w$m?!$}8$Na(}Kpd%gNGksI#G~VcYGaS!yM8HwdLcF*y%RZ@ghGeft z&-d?Qe*O!;8X)3Wn<2?ZJLWLsPl!06Vo95f8{Eg`MyBnaE=~)o-6<&(?u97@Lx&AUq>85g=+9kEo)z8K2mu%YkTV zOgeQ^Dm5a+d$cdu@!9XQo=`MnZ0YUq$d#pzx&2ZlVc>t#SutpKCXx)6MZs&P1RRSs z&pbB^KE22ojF{U-!!=<&S|F+jyFT^KA&(p=NCIG>d*db#xu}FxEO&(aT^^mt* zRYgxdtSUhvUC6iV#_${N*xj3)0b|grjnJF8AX^{ceOt^YxtAAY!51CTHCN!U5#=x#q=-98K+woUaKU5(tt{@|F zCS7g_bu!&eRZ#^xRt;_-4be51rw@Wxb=E&Nr(ZqIW1*V#uwb?3gfF zigJ+-@=TQRzw=OpSA%W2jvWdiVr={4bA!a-vi?|aLNSQX@5x+f&k9Cur{&ZA=?Eke zb%`V(W#G3m62pqdvBhg2-D`%*L>JU&KYZ$l>J8m^C?H6KdkN8B5kQnguk>u=b zUB+Imx5&sonFpm$q}zOQqVed_I5=9~Oc`{gxd{2zs~{hk7lby&;9?m}ocb{Uf~#k$ zd%DKcK@%?e@nM=`wSh0V=^7l@2o7K*$jS*-F+-}awzKP#-urjwz5IMGNVK<4O6k7+SE`z~r0arU1Qj!LSF`ioca6;Q7}ttnZ@8&3 zel}uzywQa}I8pXs69RUmUt`3+Lmuq)6EO-rp|k?g^waEd zGJPkZBAW>kjm;|K@&}Bz9DNgj;R6@%y1IO>N;MCkG-TDeTq($jp^R6K4vq#`EN)Aw z5<5JVWbslS&-N2W4Dh}f1RoM9hNFaKAPea&2ZMge&!+`Bh$DYCH(&HhBF7swyISJ- z%*4c2aNpe`Yv%R{K^A5T?|uIVB5bH4X+QphZ5SU+`t4e1194NskYOb_D2_j&S z^xsv8L{yCXCiBViY_VWv4Bop9Jgg@*+6}tI!bDnOd9~R-a)4!$TLvZ-HI5Yx?HZ7Z;fN)n-xY(I5f29O&4wG<=Vf+Nk!BtrfCCaAK&iFYdQQEoaWmxTvAKO2DwKPc7a|aT3 zvw7r$T{=TVQH{4H26mlbRW{c)bC@$fe39nf8-L2|0$<)h(=Dqu{LS=h<=rE=?$|>s zvUkwg1N>t!a9(p|D3pXC{1asu94ff>WE?*1q z1`*3`J-qG{+MS%`%Ek)wh->4{oQM(&-lw&~>Zk}H4GIL-z{fK_+?oP`nr_XDTe%$I zm#UpAy(dE%1~=CV$`A=dFjef0gc7skwRk|Am=8CuonDDV86R7)_Mgg@?@ny(>hO4` zPmV=6(8*NV)l*yiPq5C_A7K~W} zOS}uy-2-pDV_fIK*dIKyXUF`E)e$o}js)W(BSt!jDDlj$o`{UGn2$*^)_KvNhrp*? z-g8>;9=Q^UE)8nx_-@!-b#uB`nQs6FR&OGpn@*-(>ve^7GnB*p5mxpcgLk9_THiE( z>J=RC?nZyt)Scg(0&~Qbr-<1c{1Y+dil4(8x8E=Q+ld;J?FmopI-JgEBJsBOE_ek` zTZk>#qFBmTN*3Xx{f`X?q-->hD(ad~(gF;~j<+6YGrIdO1u+TCq;=o8uJd86;DC%_ zh4t5FbFyK?byzj(@7!91e1EXQPb;J?2NOaqRO@BD+340;i!Oxg0&h|w3O#L^s$sB< z`ROkniUpm$O^m`Y@B0d1>`urW>NFV!({SUx>nz>HZz>JCs@!rJt)$2embA^uo;K5j z)+WKtDFg`bOA#XbBCxC{Wc&8@ms6_Zx9^$AW)vc*JA3C2AI(<OYIc7Jr!>{$*I2=;@|Km;m4sy`!X4RAJe~&``GUorv9js! zviw1qEU*R_@`4xjh*~NV^lPftUdwe1t`@qnuM%%W;!{xw5l$@q1oIK{w`k;6o;!lG zt`Bq+p5jw!0eEbO-IkV11bC%rqCesUSO;?yaYG@-JUOt{M*>o!jh8J_9M}fo5Q8`O zhi%{S&IYm4vS4gYSwu>ieVrWVeOcr%Bljfy_-}Mxni)yMA~tNy5F?uIgjqZO?3cvZ ziJ%zDGJa9tKK{KIB(K+_@shtF!|pf4xSzo;Jp*>I?^m)v7v|1H9lQip9js1lCNeIJ z%@8o@BnQBi8x$OGv1v7Q3IqNzY$jJai7^zH>>gE$n3k5?^~ruVtSG+i(NGc=O0qtf z*%ZQ2zd1CP9%H!3-+w3)8ZrIVqEFC#W|b5SZ!l5ja8G{H+WzmlQ*F(N5$bw*RT_>) zLwP;4-Pir*_Y93_iYI^#Z@^3>ajzNdKK2t&+o8%(&)GxOfMLpE*Y3j`A7Oalx69=h zv_O+Inx;{mIjiQ>*FlMz{H7crx1$c8fAWB%Mc8fHBVY(#&6a{!i^mK%<$cHb@g;3%L~yola3D>%Ishw^Or9ktSHTn`Mo79 zPQZa0iYK6t{bQi-2+&8jlPGOKMZjINqg#kT8;waO-PC~3uaFHljhl%(=*daYsEG-L zV$YqPbZfLG7oI6}77yzzVFV9<>1eyKBLj0|EXeHLNtXC7HC2JZ=}1U2Ql4s^D4o0i zaNHxqJ^`x^J5i^P@75pitA|rq#&717aagWIC%$k&<K?FRr8b^`q*i2LE5v6e z6_U0>u=O;0QQ*kK@rK^Pv|5X9PDFRW1>$ls=g5qL2AnjY z&V7h__7URR0*FcAr>x+vJ1w)T7!Q~IkV$8~%N38TGcr*X9{Cm9@WV(Cz;W9MZg*__S9z-jwQOM?eLKxfK2cZ(M-ce zK0C7-qN{!Bc&ta`l)~=tph{>@MN=cI=Ym-9^0F3X$vgaz2UCahQVzt$ZPzkaFwVMQKd(jP+Yn4?L;rd%;4f(kTT4fy$YP}Ema!(}80ab1p z=Dz4{tuld=W1nr688}Dr)mE8BH8>yV_UBL#KiMktQ2)tR*^7TcgjQKaT^!pgYbeJZ zXq9y&a_@qDsdJEH-Uo*@>5mUb*$IkI)(%<`%83#&`ZuPZJhk(*Zp=dpo)IIK%j6MM3@#q6rCtTfC+L>@Z!p!;Yuc(^7`%M>a^);o;^~De6|jrpVoAQdytZWTUA(Y( z{?g(Jn_7&$3l28FmaSA|dH>S#1-H|_b0^m>FPvYrq2kQ)@x_%3@c6}*6N~5VwWURS z-_%Zf_v+$`+j*zkp=94?1r>L&*0c7)rG@1)3&+kZ+73kv_QaMw_QG1fytKBq+Fz|+ zIDUS4b?rjs!txnPdUf{%@K3$oZ!NU{+kmeRm*_Rj@z=Z=T?2RiHs0c#`*Uw@|1H4{ zJ*Uk;{4!Ah&TEH|g~BL;qHqd1gR&4)@?eBTIJeUQW>y9ORKXi|!gvjsXLO?`oGa-C zKi`iAz*L7|<&A+@%?TG*mTR>wHG17PF)`k{Zfjj993mL!e6t2KwGA3qpiYIa<+RcB h;|#nL({uYRK4=g0mp9h`JH3AXU+Zvo%{{yRe*iuo%w_-p literal 0 HcmV?d00001 diff --git a/modules/MathJax/fonts/HTML-CSS/TeX/eot/MathJax_Caligraphic-Regular.eot b/modules/MathJax/fonts/HTML-CSS/TeX/eot/MathJax_Caligraphic-Regular.eot new file mode 100644 index 0000000000000000000000000000000000000000..4d0cc8daf5a56dac858b43a66c139c24cb566d19 GIT binary patch literal 12340 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 literal 0 HcmV?d00001 diff --git a/modules/MathJax/fonts/HTML-CSS/TeX/eot/MathJax_Fraktur-Bold.eot b/modules/MathJax/fonts/HTML-CSS/TeX/eot/MathJax_Fraktur-Bold.eot new file mode 100644 index 0000000000000000000000000000000000000000..2f194a137856f263c09764b89ed3ce7aa681b4fb GIT binary patch literal 26120 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 M4bM+fdGx*@KXFbym;e9( literal 0 HcmV?d00001 diff --git a/modules/MathJax/fonts/HTML-CSS/TeX/eot/MathJax_Fraktur-Regular.eot b/modules/MathJax/fonts/HTML-CSS/TeX/eot/MathJax_Fraktur-Regular.eot new file mode 100644 index 0000000000000000000000000000000000000000..c4bcbd8c6ace6b9402fec2ee36e3867ce1d99c2e GIT binary patch literal 25512 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 SFR}}M;~#s-OpN|t4gU*`bmj2? literal 0 HcmV?d00001 diff --git a/modules/MathJax/fonts/HTML-CSS/TeX/eot/MathJax_Main-Bold.eot b/modules/MathJax/fonts/HTML-CSS/TeX/eot/MathJax_Main-Bold.eot new file mode 100644 index 0000000000000000000000000000000000000000..99ac10d83e063a8d82d861c1c3dc1d9996917d78 GIT binary patch literal 48572 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 WnEuMo>HCGh#n#dHOK%td;Qs^RW)Fq{ literal 0 HcmV?d00001 diff --git a/modules/MathJax/fonts/HTML-CSS/TeX/eot/MathJax_Main-Italic.eot b/modules/MathJax/fonts/HTML-CSS/TeX/eot/MathJax_Main-Italic.eot new file mode 100644 index 0000000000000000000000000000000000000000..9942105dc7d301a41d68b55e20798f9c922a614a GIT binary patch literal 28836 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 !)qX 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 NQCyO~|4!K}{|%0Q{uclM literal 0 HcmV?d00001 diff --git a/modules/MathJax/fonts/HTML-CSS/TeX/eot/MathJax_Math-BoldItalic.eot b/modules/MathJax/fonts/HTML-CSS/TeX/eot/MathJax_Math-BoldItalic.eot new file mode 100644 index 0000000000000000000000000000000000000000..f5c9471f8b5bd0fbac0cf52f8b7e7e46edfcd0cf GIT binary patch literal 26330 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�Gr$qi}VpFBV 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 literal 0 HcmV?d00001 diff --git a/modules/MathJax/fonts/HTML-CSS/TeX/eot/MathJax_Math-Regular.eot b/modules/MathJax/fonts/HTML-CSS/TeX/eot/MathJax_Math-Regular.eot new file mode 100644 index 0000000000000000000000000000000000000000..1a1317251fca1be7b821e430a5976551a366a119 GIT binary patch literal 26712 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 U)zZq3`T6PJXR!gi{Eeso4a|)j?*IS* literal 0 HcmV?d00001 diff --git a/modules/MathJax/fonts/HTML-CSS/TeX/eot/MathJax_SansSerif-Regular.eot b/modules/MathJax/fonts/HTML-CSS/TeX/eot/MathJax_SansSerif-Regular.eot new file mode 100644 index 0000000000000000000000000000000000000000..d9b9a4116c687233c418501e1446ee44dfaaa885 GIT binary patch literal 16660 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 Q5$WIlHYy?t>ih8j4;N+`O8@`> literal 0 HcmV?d00001 diff --git a/modules/MathJax/fonts/HTML-CSS/TeX/eot/MathJax_Script-Regular.eot b/modules/MathJax/fonts/HTML-CSS/TeX/eot/MathJax_Script-Regular.eot new file mode 100644 index 0000000000000000000000000000000000000000..38470446a9b0af701aa64a626960b50cf2b9b4ff GIT binary patch literal 14604 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 literal 0 HcmV?d00001 diff --git a/modules/MathJax/fonts/HTML-CSS/TeX/eot/MathJax_Size1-Regular.eot b/modules/MathJax/fonts/HTML-CSS/TeX/eot/MathJax_Size1-Regular.eot new file mode 100644 index 0000000000000000000000000000000000000000..489521129beb1eaeea0ccab463fb22e3faafe7e4 GIT binary patch literal 10372 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 I;O~?FU%{l{>Hq)$ literal 0 HcmV?d00001 diff --git a/modules/MathJax/fonts/HTML-CSS/TeX/eot/MathJax_WinIE6-Regular.eot b/modules/MathJax/fonts/HTML-CSS/TeX/eot/MathJax_WinIE6-Regular.eot new file mode 100644 index 0000000000000000000000000000000000000000..9ca11decbafc0574c67fb5e54aad4695edfb30db GIT binary patch literal 29692 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 zË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 literal 0 HcmV?d00001 diff --git a/modules/MathJax/fonts/HTML-CSS/TeX/otf/MathJax_Caligraphic-Bold.otf b/modules/MathJax/fonts/HTML-CSS/TeX/otf/MathJax_Caligraphic-Bold.otf new file mode 100644 index 0000000000000000000000000000000000000000..c916b80eed18e5a183e552bfef45a950725059c0 GIT binary patch literal 12348 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

mVbOv_D5bDqv@uQM4f@>%cuQ-r)3+B$ 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 literal 0 HcmV?d00001 diff --git a/modules/MathJax/fonts/HTML-CSS/TeX/otf/MathJax_Fraktur-Regular.otf b/modules/MathJax/fonts/HTML-CSS/TeX/otf/MathJax_Fraktur-Regular.otf new file mode 100644 index 0000000000000000000000000000000000000000..453a6ebb82293926499e03ef00845f01d191dbe1 GIT binary patch literal 25872 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

S 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 literal 0 HcmV?d00001 diff --git a/modules/MathJax/fonts/HTML-CSS/TeX/otf/MathJax_Math-BoldItalic.otf b/modules/MathJax/fonts/HTML-CSS/TeX/otf/MathJax_Math-BoldItalic.otf new file mode 100644 index 0000000000000000000000000000000000000000..166e1931d5c18ab6f5775f7d8bfb1e1278acc136 GIT binary patch literal 27096 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 z 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 literal 0 HcmV?d00001 diff --git a/modules/MathJax/fonts/HTML-CSS/TeX/otf/MathJax_SansSerif-Bold.otf b/modules/MathJax/fonts/HTML-CSS/TeX/otf/MathJax_SansSerif-Bold.otf new file mode 100644 index 0000000000000000000000000000000000000000..1e4c683ef05a04002a658094fc7cf99a0f0b91cd GIT binary patch literal 22160 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 H-q!yIN$IOO literal 0 HcmV?d00001 diff --git a/modules/MathJax/fonts/HTML-CSS/TeX/otf/MathJax_SansSerif-Italic.otf b/modules/MathJax/fonts/HTML-CSS/TeX/otf/MathJax_SansSerif-Italic.otf new file mode 100644 index 0000000000000000000000000000000000000000..b0162896d70cc2aca9121d1462696b31685cb7e6 GIT binary patch literal 18576 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 literal 0 HcmV?d00001 diff --git a/modules/MathJax/fonts/HTML-CSS/TeX/otf/MathJax_SansSerif-Regular.otf b/modules/MathJax/fonts/HTML-CSS/TeX/otf/MathJax_SansSerif-Regular.otf new file mode 100644 index 0000000000000000000000000000000000000000..e69092709f5ab084bb4c72ff8d37c102f7cd0d92 GIT binary patch literal 15924 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 LiK!wK|6l)KzKCZ; literal 0 HcmV?d00001 diff --git a/modules/MathJax/fonts/HTML-CSS/TeX/otf/MathJax_Size2-Regular.otf b/modules/MathJax/fonts/HTML-CSS/TeX/otf/MathJax_Size2-Regular.otf new file mode 100644 index 0000000000000000000000000000000000000000..270739b82a4c3897739b98f6b2963a13cc988a28 GIT binary patch literal 7604 zcmbt333wD$(yue=NhgsI&~ecnV7LUbn1rC5iXbEgMNt!wpVN?pB$8y3$%NeZWMnL`A|EL`CTy@2Q+Od?Rf z*RfwmIE9puy!PjN*ABh!I})h6iY?^)w-Y|O0o}K{JN-`Z3R8jjD6M$m81+i_0a>A* z>Av-Pq2CD)r@_9#=VU@~2tJ9A>H*G4ctk`WWfsyP2`1ONJr#UB zzCJR6%peSwGK6gL;y%QWoblo+ zGJ(^0abKe0lDs%i0=arGuEzE^y!a3zt1f!+AaW<~>&1h~5PpsqA4dH6|3VMoeEm_k zoM)6i-58}eBqi!1Lc?{lbwAPI z?jI!n8ytUy!!p#;;8{*ZcO98ZLa~r#iH58ceY$RHC|3UeQvN*?D@OdSMpj(qK9b|P zLrI#~hR=9x80xjdTy&)=BmikrJQmh@Ry)fx^NsjSKzTQ8rz4Ny*ffvretq7d$Sr`x zqPL{r+TA=l24${CDLEeBP&{CeA{C+Hpy^0IC@~xH1jG$UqxhXd8-vcf7~v8O2!-}$ z&WnG-L0O|;ww{95Qu`Ni1NO}Z~9Cnq!wqwJZu+)#A;xs#^^ zaZa-B|b4d3kPPW zCnOql#^gj@%%a7*B^in7gT#vm38v_7a`n(bX5O*7xQ%fssd4L46LlV4;&f5-pU}k_ zX9px3jTy7U!m{EGDH+DB(5#eHMd`35Q8@GeXu19w!(aEp-?}e(_I71|$E54s{ohe` zU{BrGlbb`(;J#>V9fnF6SxpK^5!vkXiqD5C)!1QU?;IOC_T0F@iJyn~g!qQ2djo*pMmyc$A0wEal@$-oB#7YCjjunkB9&-6$3hxZ5mg>-EoICzd+Ab%qL+;DC*Hz7McB|Ln7xB{ky zM;KF56B6U~Y3ni!`h@IwBQ{4wObySjxp7z7Ik zL8J#PP&h_JESNe7A_l=U1xyQ{IS6JAg875sK?Tf+^z_Y$^z_XS_i&jX?%^^&+{0yl z_&o~c{P5`rBBP=du?Q5g2%`R-!^SV#;wO!d=?!Udsfsx{^s@jGj7jc(T;^3|4QC<6 zq=d6_Rh-BHCvi5;&N(LF8xY#(xJ$fY4y*abK#N1o(P;-xxyI}MR{vJmx2ca8>I z-I0Dl>_X5!8hu42zubSD1{|VP(!{3FnNw+ICOv9;Q#=Zn;X~PyJZfTWnPav)4pRt6?_G5?7m|GuhFp zER#)PGlfc1rAZWpQoGnXs!2^p(tvO1+_QAm9(t>b4h4EI(CPU!IGGNQr7OqNd2A&0 z7mC#dW+)jQL>=$*xA%_Gs^5l9u&KPZSgL?BOI4-S+CN6y8wv$bSXa>` z3PIEQM|Nq|9bFtXcB!ZlN7I5X7L83bx{DR4k!A0y!>V3$Kd*rn9IXCttKCv#vYVg~ zN=u|7$<(XU_J%krZI$(w8fb$0I@okG-{oDZmcEZPG+NucmPIe81zJBph4J_FAe!aH z{@-bu{lEoK>d2{0Ysqb1xm$m*?3hs1AW{=A(gvx}+;05eIWNt6UMQ)qxATq8=USR; zUfOf^MC+fN?P8%s8w80~+UoiGV>=EW-`&={v!%VZ!2tj+0h%kTi-0c$i)ay7=VuhB z=Py~Gu)1h@rBT`}GM6B-%BoV{T4*h)EY6NyzGBgaVvA^1)D*twW1@oy4YS~ zFA{8}5;OA>bBUX)jqUR;E~dh|MhoDSg(jR%|Hxxn_0D4)-G7y;URKe-zUvyus&%$h zyrzFGws`?spip8PCDx*hcjh)^HRgBCq5e;UC~PQRw=pv}Ha=~AL6p^CbH`c@MGGE@ zeMDbSQQ?Fv$d$x45E?;(Cg*|X18qCoPw(CRLemLn2b2M|0}X@srJ9;oo4j`7uai>KI+$U{#?h0Ak?4HvaF@`>b-E}LPY~T0zBO(w!%p( z9aH{A)(0z}&F{$X%-&*XH8ksmnxcciS2kpyN&ZlHg8tt9CGhT#Fs`jt0$RIo!#-7C zk=D0ZV}c5^)hxJcwY>*eLhpJWAS+X!BHYD>Y|niCeag9m`136FD4XFZ5gOIa;IuiN z0^Qvg$W!R;-1RkXymh9!QV@bH{om}@3i126v(&fuZtAO|bNcf%W6`@d-_#@DLw#}U z^Htyt3VG}8NY>~21u{Aj$)_T@?q}q(QyHVk?0xZ&yyj5v5s%;thvc;f&)=YZ-q4x0 zKF5$W%D(vMvRC049C)sC*X|>`-rm`>^^;d<ME-( z&BY=JX%)s|ND`jeYTUWMZR@^KmJ4yGBEf>URZK9Y8?w`r*Q7?KO*G72!r*BZE0nJ- z13tXsftBkPr?1Ul2a8~lEAH929cvG!9W`dM8Benk1M^$Y9^4R?oGg@k_O~u;0Fmsw%Ay%R$*-iY4T}da3Uoy9eP0$IQQj@c-<&7if z&hOmPxTk(I2u`)7~svngH`DNt=RhCfJ z#*nwbPzpn7JVUvmw5`ff(UMo62kDTT30Xo=@6~JE+3wyW-74ADw@AZO<&)y4N8YpG zk#YHKlvo0ZqWfN8p8^{qSscdA`M99a?s9erk^|^4pl<^`1$2^B-#{mSNi}rhnWL@~ zb;p4kfzD!co7m%08L&yfP6@!?1~yExIJ4V5Y&N?boeGyBKtB~_ixg)%kV^xisn4W~ z!u)gh?ha`vkHeFBl`f|TaR_#FQQy<_)srd=MXQGP_xJNP z#kHmeXoiMHu~~o`_K>`gpG?bV)2F}&(uee^ZdxwThvZ18;iabX#(XFOi^)_hu>O8G zAJp~fQTqC6^06M( zZ8N=^?(e@t!*-~dJ_geP*zMbGjfZI?T|yVr!c*I-_c%A(1e=-;w`#sF?vDTHQ95Gc zCoH6u%~2%c!9$DzrXR(2$j8;yBJY4Yu@03Qu4OTrN{MIch6x8E-eh<5+)G39=p3erqC3>RS`j18no(6^db)T;e%z0%^GMnw`3p<}?lAIkx&xDt{v3#-2Nz!J zdr(<*t?z+u)lCcjeQD47PabP2-I{}XxktF~aF3Ah;6d8j-qP^th41%&S6eI9;Z7p7 zsc$S^FfN`#$%|0XR@zeHDrzrl#kKz${toYLy7cTjO}jb{w?5mlWyf9{2z?PHn)a+V z{ie)Qq1z|GxIv2+Z^(|zOE1XMCshH8mG6)hv3T+~J59oz{!2K))hQc`XDo|IpIAO< z?p(-0Yfr3;cy{LL?55SbaWj$R-^nASQA+5^|I>}pN5Ac+-`xm6`6+) z`aOt>z*${VTezvTUD>|s>sqQC!36xget0rm`81$%f1gBs(j+BC??Foj zK5a>;SY5cLFu8C^nvj%NTfjTZ?G=E7o%S00u9hRMyBf~6@2`6u+VF0yI&9un@lK}j zVnL&2Yvu0pZI-=2)$rM&&yNXvTPs?4bDgyo&wF6DnyecN*5qv{jm=3ce;Ci%xlm$@ zb7s~q*d|1GuG=&Nguq`si#)r3`?;;}wVc>=rt`Bavigs7&)ag?7J66Xt8JeP|Kh0e z%O{O2$S%z*zGv|o7QK#53v~x9VLKPP?@4F(<&HCs`IpCtK+%jD4)dJkwupyo5}KzS znsGkr(hSNyLH!DzGuOjzxB{=YzV*Ct?f82aPkg?utL0Sf1*sACOEUg}{S>p9=(Kcf z{HZ4m^Q62}nE%AGQZ{)K)3CdiuFhXkz5Wy-s?& ziw-;c^~YcQ`CaOBhz4%G*mMal0VRg-S9C9=W0@cIW#iry=I@!?es5hVMp+i5fxarw zDg>hE5&T+3@THV;DW1sT`$>HL<*5KO|7LubB zg+_ICfDL|CbmMC}_XywXWTsO1tz-ta>wTt>8NTo*mjVDd4R;2&T- t$?%CMOZh9v!&`39b5rmY4;K6spj@68mVdmy?<1x1N^isx1uEY*{||N{R`dV> literal 0 HcmV?d00001 diff --git a/modules/MathJax/fonts/HTML-CSS/TeX/otf/MathJax_Size3-Regular.otf b/modules/MathJax/fonts/HTML-CSS/TeX/otf/MathJax_Size3-Regular.otf new file mode 100644 index 0000000000000000000000000000000000000000..f3ab7337e2fe0db50b119a9778e93e4951c723b7 GIT binary patch literal 4712 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 literal 0 HcmV?d00001 diff --git a/modules/MathJax/fonts/HTML-CSS/TeX/otf/MathJax_WinChrome-Regular.otf b/modules/MathJax/fonts/HTML-CSS/TeX/otf/MathJax_WinChrome-Regular.otf new file mode 100644 index 0000000000000000000000000000000000000000..71bd7c02c4119c1ff9ed102f7239e91ec287a7e0 GIT binary patch literal 4408 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 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/modules/MathJax/fonts/HTML-CSS/TeX/svg/MathJax_Caligraphic-Bold.svg b/modules/MathJax/fonts/HTML-CSS/TeX/svg/MathJax_Caligraphic-Bold.svg new file mode 100644 index 0000000..edd4a15 --- /dev/null +++ b/modules/MathJax/fonts/HTML-CSS/TeX/svg/MathJax_Caligraphic-Bold.svg @@ -0,0 +1,136 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/modules/MathJax/fonts/HTML-CSS/TeX/svg/MathJax_Caligraphic-Regular.svg b/modules/MathJax/fonts/HTML-CSS/TeX/svg/MathJax_Caligraphic-Regular.svg new file mode 100644 index 0000000..e54a72c --- /dev/null +++ b/modules/MathJax/fonts/HTML-CSS/TeX/svg/MathJax_Caligraphic-Regular.svg @@ -0,0 +1,134 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/modules/MathJax/fonts/HTML-CSS/TeX/svg/MathJax_Fraktur-Bold.svg b/modules/MathJax/fonts/HTML-CSS/TeX/svg/MathJax_Fraktur-Bold.svg new file mode 100644 index 0000000..d1c469b --- /dev/null +++ b/modules/MathJax/fonts/HTML-CSS/TeX/svg/MathJax_Fraktur-Bold.svg @@ -0,0 +1,319 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/modules/MathJax/fonts/HTML-CSS/TeX/svg/MathJax_Fraktur-Regular.svg b/modules/MathJax/fonts/HTML-CSS/TeX/svg/MathJax_Fraktur-Regular.svg new file mode 100644 index 0000000..1cbd94f --- /dev/null +++ b/modules/MathJax/fonts/HTML-CSS/TeX/svg/MathJax_Fraktur-Regular.svg @@ -0,0 +1,309 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/modules/MathJax/fonts/HTML-CSS/TeX/svg/MathJax_Main-Bold.svg b/modules/MathJax/fonts/HTML-CSS/TeX/svg/MathJax_Main-Bold.svg new file mode 100644 index 0000000..7579531 --- /dev/null +++ b/modules/MathJax/fonts/HTML-CSS/TeX/svg/MathJax_Main-Bold.svg @@ -0,0 +1,656 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/modules/MathJax/fonts/HTML-CSS/TeX/svg/MathJax_Main-Italic.svg b/modules/MathJax/fonts/HTML-CSS/TeX/svg/MathJax_Main-Italic.svg new file mode 100644 index 0000000..93849a8 --- /dev/null +++ b/modules/MathJax/fonts/HTML-CSS/TeX/svg/MathJax_Main-Italic.svg @@ -0,0 +1,374 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/modules/MathJax/fonts/HTML-CSS/TeX/svg/MathJax_Main-Regular.svg b/modules/MathJax/fonts/HTML-CSS/TeX/svg/MathJax_Main-Regular.svg new file mode 100644 index 0000000..9c257bb --- /dev/null +++ b/modules/MathJax/fonts/HTML-CSS/TeX/svg/MathJax_Main-Regular.svg @@ -0,0 +1,659 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/modules/MathJax/fonts/HTML-CSS/TeX/svg/MathJax_Math-BoldItalic.svg b/modules/MathJax/fonts/HTML-CSS/TeX/svg/MathJax_Math-BoldItalic.svg new file mode 100644 index 0000000..6a10532 --- /dev/null +++ b/modules/MathJax/fonts/HTML-CSS/TeX/svg/MathJax_Math-BoldItalic.svg @@ -0,0 +1,331 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/modules/MathJax/fonts/HTML-CSS/TeX/svg/MathJax_Math-Italic.svg b/modules/MathJax/fonts/HTML-CSS/TeX/svg/MathJax_Math-Italic.svg new file mode 100644 index 0000000..4741efd --- /dev/null +++ b/modules/MathJax/fonts/HTML-CSS/TeX/svg/MathJax_Math-Italic.svg @@ -0,0 +1,331 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/modules/MathJax/fonts/HTML-CSS/TeX/svg/MathJax_Math-Regular.svg b/modules/MathJax/fonts/HTML-CSS/TeX/svg/MathJax_Math-Regular.svg new file mode 100644 index 0000000..e05eeed --- /dev/null +++ b/modules/MathJax/fonts/HTML-CSS/TeX/svg/MathJax_Math-Regular.svg @@ -0,0 +1,330 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/modules/MathJax/fonts/HTML-CSS/TeX/svg/MathJax_SansSerif-Bold.svg b/modules/MathJax/fonts/HTML-CSS/TeX/svg/MathJax_SansSerif-Bold.svg new file mode 100644 index 0000000..fc549da --- /dev/null +++ b/modules/MathJax/fonts/HTML-CSS/TeX/svg/MathJax_SansSerif-Bold.svg @@ -0,0 +1,280 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/modules/MathJax/fonts/HTML-CSS/TeX/svg/MathJax_SansSerif-Italic.svg b/modules/MathJax/fonts/HTML-CSS/TeX/svg/MathJax_SansSerif-Italic.svg new file mode 100644 index 0000000..782aa1b --- /dev/null +++ b/modules/MathJax/fonts/HTML-CSS/TeX/svg/MathJax_SansSerif-Italic.svg @@ -0,0 +1,245 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/modules/MathJax/fonts/HTML-CSS/TeX/svg/MathJax_SansSerif-Regular.svg b/modules/MathJax/fonts/HTML-CSS/TeX/svg/MathJax_SansSerif-Regular.svg new file mode 100644 index 0000000..17cf6f1 --- /dev/null +++ b/modules/MathJax/fonts/HTML-CSS/TeX/svg/MathJax_SansSerif-Regular.svg @@ -0,0 +1,211 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/modules/MathJax/fonts/HTML-CSS/TeX/svg/MathJax_Script-Regular.svg b/modules/MathJax/fonts/HTML-CSS/TeX/svg/MathJax_Script-Regular.svg new file mode 100644 index 0000000..d83a7bc --- /dev/null +++ b/modules/MathJax/fonts/HTML-CSS/TeX/svg/MathJax_Script-Regular.svg @@ -0,0 +1,160 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/modules/MathJax/fonts/HTML-CSS/TeX/svg/MathJax_Size1-Regular.svg b/modules/MathJax/fonts/HTML-CSS/TeX/svg/MathJax_Size1-Regular.svg new file mode 100644 index 0000000..6634725 --- /dev/null +++ b/modules/MathJax/fonts/HTML-CSS/TeX/svg/MathJax_Size1-Regular.svg @@ -0,0 +1,110 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/modules/MathJax/fonts/HTML-CSS/TeX/svg/MathJax_Size2-Regular.svg b/modules/MathJax/fonts/HTML-CSS/TeX/svg/MathJax_Size2-Regular.svg new file mode 100644 index 0000000..d3148ab --- /dev/null +++ b/modules/MathJax/fonts/HTML-CSS/TeX/svg/MathJax_Size2-Regular.svg @@ -0,0 +1,109 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/modules/MathJax/fonts/HTML-CSS/TeX/svg/MathJax_Size3-Regular.svg b/modules/MathJax/fonts/HTML-CSS/TeX/svg/MathJax_Size3-Regular.svg new file mode 100644 index 0000000..a33e4ce --- /dev/null +++ b/modules/MathJax/fonts/HTML-CSS/TeX/svg/MathJax_Size3-Regular.svg @@ -0,0 +1,49 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/modules/MathJax/fonts/HTML-CSS/TeX/svg/MathJax_Size4-Regular.svg b/modules/MathJax/fonts/HTML-CSS/TeX/svg/MathJax_Size4-Regular.svg new file mode 100644 index 0000000..081f4a2 --- /dev/null +++ b/modules/MathJax/fonts/HTML-CSS/TeX/svg/MathJax_Size4-Regular.svg @@ -0,0 +1,102 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/modules/MathJax/fonts/HTML-CSS/TeX/svg/MathJax_Typewriter-Regular.svg b/modules/MathJax/fonts/HTML-CSS/TeX/svg/MathJax_Typewriter-Regular.svg new file mode 100644 index 0000000..deb15f0 --- /dev/null +++ b/modules/MathJax/fonts/HTML-CSS/TeX/svg/MathJax_Typewriter-Regular.svg @@ -0,0 +1,322 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/modules/MathJax/fonts/HTML-CSS/TeX/svg/MathJax_WinChrome-Regular.svg b/modules/MathJax/fonts/HTML-CSS/TeX/svg/MathJax_WinChrome-Regular.svg new file mode 100644 index 0000000..1669056 --- /dev/null +++ b/modules/MathJax/fonts/HTML-CSS/TeX/svg/MathJax_WinChrome-Regular.svg @@ -0,0 +1,39 @@ + + + + + + + + + + + + + + + + + + + + diff --git a/modules/MathJax/jax/element/mml/jax.js b/modules/MathJax/jax/element/mml/jax.js new file mode 100644 index 0000000..b951f55 --- /dev/null +++ b/modules/MathJax/jax/element/mml/jax.js @@ -0,0 +1,1554 @@ +/************************************************************* + * + * MathJax/jax/element/mml/jax.js + * + * Implements the MML ElementJax that holds the internal represetation + * of the mathematics on the page. Various InputJax will produce this + * format, and the OutputJax will display it in various formats. + * + * --------------------------------------------------------------------- + * + * Copyright (c) 2009-2011 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +MathJax.ElementJax.mml = MathJax.ElementJax({ + mimeType: "jax/mml" +},{ + id: "mml", + version: "1.1.1", + directory: MathJax.ElementJax.directory + "/mml", + extensionDir: MathJax.ElementJax.extensionDir + "/mml", + optableDir: MathJax.ElementJax.directory + "/mml/optable" +}); + +MathJax.ElementJax.mml.Augment({ + Init: function () { + if (arguments.length === 1 && arguments[0].type === "math") {this.root = arguments[0]} + else {this.root = MathJax.ElementJax.mml.math.apply(this,arguments)} + if (this.root.mode) { + if (!this.root.display && this.root.mode === "display") {this.root.display = "block"} + delete this.root.mode; + } + } +},{ + INHERIT: "_inherit_", + AUTO: "_auto_", + SIZE: { + INFINITY: "infinity", + SMALL: "small", + NORMAL: "normal", + BIG: "big" + }, + COLOR: { + TRANSPARENT: "transparent" + }, + VARIANT: { + NORMAL: "normal", + BOLD: "bold", + ITALIC: "italic", + BOLDITALIC: "bold-italic", + DOUBLESTRUCK: "double-struck", + FRAKTUR: "fraktur", + BOLDFRAKTUR: "bold-fraktur", + SCRIPT: "script", + BOLDSCRIPT: "bold-script", + SANSSERIF: "sans-serif", + BOLDSANSSERIF: "bold-sans-serif", + SANSSERIFITALIC: "sans-serif-italic", + SANSSERIFBOLDITALIC: "sans-serif-bold-italic", + MONOSPACE: "monospace", + INITIAL: "inital", + TAILED: "tailed", + LOOPED: "looped", + STRETCHED: "stretched", + CALIGRAPHIC: "-tex-caligraphic", + OLDSTYLE: "-tex-oldstyle" + }, + FORM: { + PREFIX: "prefix", + INFIX: "infix", + POSTFIX: "postfix" + }, + LINEBREAK: { + AUTO: "auto", + NEWLINE: "newline", + NOBREAK: "nobreak", + GOODBREAK: "goodbreak", + BADBREAK: "badbreak" + }, + LINEBREAKSTYLE: { + BEFORE: "before", + AFTER: "after", + DUPLICATE: "duplicate", + INFIXLINBREAKSTYLE: "infixlinebreakstyle" + }, + INDENTALIGN: { + LEFT: "left", + CENTER: "center", + RIGHT: "right", + AUTO: "auto", + ID: "id", + INDENTALIGN: "indentalign" + }, + INDENTSHIFT: { + INDENTSHIFT: "indentshift" + }, + LINETHICKNESS: { + THIN: "thin", + MEDIUM: "medium", + THICK: "thick" + }, + NOTATION: { + LONGDIV: "longdiv", + ACTUARIAL: "actuarial", + RADICAL: "radical", + BOX: "box", + ROUNDEDBOX: "roundedbox", + CIRCLE: "circle", + LEFT: "left", + RIGHT: "right", + TOP: "top", + BOTTOM: "bottom", + UPDIAGONALSTRIKE: "updiagonalstrike", + DOWNDIAGONALSTRIKE: "downdiagonalstrike", + VERTICALSTRIKE: "verticalstrike", + HORIZONTALSTRIKE: "horizontalstrike", + MADRUWB: "madruwb" + }, + ALIGN: { + TOP: "top", + BOTTOM: "bottom", + CENTER: "center", + BASELINE: "baseline", + AXIS: "axis", + LEFT: "left", + RIGHT: "right" + }, + LINES: { + NONE: "none", + SOLID: "solid", + DASHED: "dashed" + }, + SIDE: { + LEFT: "left", + RIGHT: "right", + LEFTOVERLAP: "leftoverlap", + RIGHTOVERLAP: "rightoverlap" + }, + WIDTH: { + AUTO: "auto", + FIT: "fit" + }, + ACTIONTYPE: { + TOGGLE: "toggle", + STATUSLINE: "statusline", + TOOLTIP: "tooltip", + INPUT: "input" + }, + LENGTH: { + VERYVERYTHINMATHSPACE: "veryverythinmathspace", + VERYTHINMATHSPACE: "verythinmathspace", + THINMATHSPACE: "thinmathspace", + MEDIUMMATHSPACE: "mediummathspace", + THICKMATHSPACE: "thickmathspace", + VERYTHICKMATHSPACE: "verythickmathspace", + VERYVERYTHICKMATHSPACE: "veryverythickmathspace", + NEGATIVEVERYVERYTHINMATHSPACE: "negativeveryverythinmathspace", + NEGATIVEVERYTHINMATHSPACE: "negativeverythinmathspace", + NEGATIVETHINMATHSPACE: "negativethinmathspace", + NEGATIVEMEDIUMMATHSPACE: "negativemediummathspace", + NEGATIVETHICKMATHSPACE: "negativethickmathspace", + NEGATIVEVERYTHICKMATHSPACE: "negativeverythickmathspace", + NEGATIVEVERYVERYTHICKMATHSPACE: "negativeveryverythickmathspace" + }, + OVERFLOW: { + LINBREAK: "linebreak", + SCROLL: "scroll", + ELIDE: "elide", + TRUNCATE: "truncate", + SCALE: "scale" + }, + UNIT: { + EM: "em", + EX: "ex", + PX: "px", + IN: "in", + CM: "cm", + MM: "mm", + PT: "pt", + PC: "pc" + }, + TEXCLASS: { + ORD: 0, + OP: 1, + BIN: 2, + REL: 3, + OPEN: 4, + CLOSE: 5, + PUNCT: 6, + INNER: 7, + VCENTER: 8, + NONE: -1 + }, + PLANE1: String.fromCharCode(0xD835) +}); + +(function (MML) { + var FALSE = false; var TRUE = true; + + MML.mbase = MathJax.Object.Subclass({ + type: "base", isToken: FALSE, + defaults: { + mathbackground: MML.INHERIT, + mathcolor: MML.INHERIT + }, + noInherit: {}, + + Init: function () { + this.data = []; + if (this.inferRow && !(arguments.length === 1 && arguments[0].inferred)) + {this.Append(MML.mrow().With({inferred: TRUE}))} + this.Append.apply(this,arguments); + }, + With: function (def) { + for (var id in def) {if (def.hasOwnProperty(id)) {this[id] = def[id]}} + return this; + }, + Append: function () { + if (this.inferRow && this.data.length) { + this.data[0].Append.apply(this.data[0],arguments); + } else { + for (var i = 0, m = arguments.length; i < m; i++) + {this.SetData(this.data.length,arguments[i])} + } + }, + SetData: function (i,item) { + if (item != null) { + if (!(item instanceof MML.mbase)) + {item = (this.isToken ? MML.chars(item) : MML.mtext(item))} + item.parent = this; + item.setInherit(this.inheritFromMe ? this : this.inherit); + } + this.data[i] = item; + }, + Parent: function () { + var parent = this.parent; + while (parent && parent.inferred) {parent = parent.parent} + return parent; + }, + Get: function (name,nodefault) { + if (typeof(this[name]) !== "undefined") {return this[name]} + // FIXME: should cache these values and get from cache + // (clear cache when appended to a new object?) + var parent = this.Parent(); + if (parent && parent["adjustChild_"+name] != null) + {return (parent["adjustChild_"+name])(parent.childPosition(this))} + var obj = this.inherit; var root = obj; + while (obj) { + if (typeof(obj[name]) !== "undefined") { + var noInherit = obj.noInherit[this.type]; + if (!(noInherit && noInherit[name])) {return obj[name]} + } + root = obj; obj = obj.inherit; + } + if (!nodefault) { + if (this.defaults[name] === MML.AUTO) {return this.autoDefault(name)} + if (this.defaults[name] !== MML.INHERIT && this.defaults[name] != null) + {return this.defaults[name]} + if (root) {return root.defaults[name]} + } + return null; + }, + hasValue: function (name) {return (this.Get(name,true) != null)}, + getValues: function () { + var values = {}; + for (var i = 0, m = arguments.length; i < m; i++) + {values[arguments[i]] = this.Get(arguments[i])} + return values; + }, + adjustChild_scriptlevel: function (i) {return this.Get("scriptlevel")}, // always inherit from parent + adjustChild_displaystyle: function (i) {return this.Get("displaystyle")}, // always inherit from parent + adjustChild_texprimestyle: function (i) {return this.Get("texprimestyle")}, // always inherit from parent + childPosition: function (child) { + if (child.parent.inferred) {child = child.parent} + for (var i = 0, m = this.data.length; i < m; i++) {if (this.data[i] === child) {return i}} + return null; + }, + setInherit: function (obj) { + if (obj !== this.inherit && this.inherit == null) { + this.inherit = obj; + for (var i = 0, m = this.data.length; i < m; i++) { + if (this.data[i] && this.data[i].setInherit) {this.data[i].setInherit(obj)} + } + } + }, + setTeXclass: function (prev) { + this.getPrevClass(prev); + return (typeof(this.texClass) !== "undefined" ? this : prev); + }, + getPrevClass: function (prev) { + if (prev) { + this.prevClass = prev.Get("texClass"); + this.prevLevel = prev.Get("scriptlevel"); + } + }, + updateTeXclass: function (core) { + if (core) { + this.prevClass = core.prevClass; delete core.prevClass; + this.prevLevel = core.prevLevel; delete core.prevLevel; + this.texClass = core.Get("texClass"); + } + }, + texSpacing: function () { + var prev = (this.prevClass != null ? this.prevClass : MML.TEXCLASS.NONE); + var tex = (this.Get("texClass") || MML.TEXCLASS.ORD); + if (prev === MML.TEXCLASS.NONE || tex === MML.TEXCLASS.NONE) {return ""} + if (prev === MML.TEXCLASS.VCENTER) {prev = MML.TEXCLASS.ORD} + if (tex === MML.TEXCLASS.VCENTER) {tex = MML.TEXCLASS.ORD} + var space = this.TEXSPACE[prev][tex]; + if (this.prevLevel > 0 && this.Get("scriptlevel") > 0 && space >= 0) {return ""} + return this.TEXSPACELENGTH[Math.abs(space)]; + }, + TEXSPACELENGTH:[ + "", + MML.LENGTH.THINMATHSPACE, + MML.LENGTH.MEDIUMMATHSPACE, + MML.LENGTH.THICKMATHSPACE + ], + // See TeXBook Chapter 18 (p. 170) + TEXSPACE: [ + [ 0,-1, 2, 3, 0, 0, 0, 1], // ORD + [-1,-1, 0, 3, 0, 0, 0, 1], // OP + [ 2, 2, 0, 0, 2, 0, 0, 2], // BIN + [ 3, 3, 0, 0, 3, 0, 0, 3], // REL + [ 0, 0, 0, 0, 0, 0, 0, 0], // OPEN + [ 0,-1, 2, 3, 0, 0, 0, 1], // CLOSE + [ 1, 1, 0, 1, 1, 1, 1, 1], // PUNCT + [ 1,-1, 2, 3, 1, 0, 1, 1] // INNER + ], + autoDefault: function (name) {return ""}, + isSpacelike: function () {return FALSE}, + isEmbellished: function () {return FALSE}, + Core: function () {return this}, + CoreMO: function () {return this}, + lineBreak: function () { + if (this.isEmbellished()) {return this.CoreMO().lineBreak()} else {return "none"} + }, + array: function () {if (this.inferred) {return this.data} else {return [this]}}, + toString: function () {return this.type+"("+this.data.join(",")+")"} + },{ + childrenSpacelike: function () { + for (var i = 0; i < this.data.length; i++) { + if (!this.data[i].isSpacelike()) {return FALSE} + } + return TRUE; + }, + childEmbellished: function () { + return (this.data[0] && this.data[0].isEmbellished()); + }, + childCore: function () {return this.data[0]}, + childCoreMO: function () {return (this.data[0] ? this.data[0].CoreMO() : null)}, + setChildTeXclass: function (prev) { + if (this.data[0]) { + prev = this.data[0].setTeXclass(prev); + this.updateTeXclass(this.data[0]); + } + return prev; + }, + setBaseTeXclasses: function (prev) { + this.getPrevClass(prev); this.texClass = null; + if (this.isEmbellished()) { + prev = this.data[0].setTeXclass(prev); + this.updateTeXclass(this.Core()); + } else {if (this.data[0]) {this.data[0].setTeXclass()}; prev = this} + for (var i = 1, m = this.data.length; i < m; i++) + {if (this.data[i]) {this.data[i].setTeXclass()}} + return prev; + }, + setSeparateTeXclasses: function (prev) { + this.getPrevClass(prev); + for (var i = 0, m = this.data.length; i < m; i++) + {if (this.data[i]) {this.data[i].setTeXclass()}} + if (this.isEmbellished()) {this.updateTeXclass(this.Core())} + return this; + } + }); + + MML.mi = MML.mbase.Subclass({ + type: "mi", isToken: TRUE, + texClass: MML.TEXCLASS.ORD, + defaults: { + mathvariant: MML.AUTO, + mathsize: MML.INHERIT, + mathbackground: MML.INHERIT, + mathcolor: MML.INHERIT + }, + autoDefault: function (name) { + if (name === "mathvariant") { + var mi = (this.data[0]||"").toString(); + return (mi.length === 1 || (mi.length === 2 && mi.charCodeAt(0) === this.PLANE1) ? + MML.VARIANT.ITALIC : MML.VARIANT.NORMAL); + } + return ""; + } + }); + + MML.mn = MML.mbase.Subclass({ + type: "mn", isToken: TRUE, + texClass: MML.TEXCLASS.ORD, + defaults: { + mathvariant: MML.INHERIT, + mathsize: MML.INHERIT, + mathbackground: MML.INHERIT, + mathcolor: MML.INHERIT + } + }); + + MML.mo = MML.mbase.Subclass({ + type: "mo", isToken: TRUE, + defaults: { + mathvariant: MML.INHERIT, + mathsize: MML.INHERIT, + mathbackground: MML.INHERIT, + mathcolor: MML.INHERIT, + form: MML.AUTO, + fence: MML.AUTO, + separator: MML.AUTO, + lspace: MML.AUTO, + rspace: MML.AUTO, + stretchy: MML.AUTO, + symmetric: MML.AUTO, + maxsize: MML.AUTO, + minsize: MML.AUTO, + largeop: MML.AUTO, + movablelimits: MML.AUTO, + accent: MML.AUTO, + linebreak: MML.LINEBREAK.AUTO, + lineleading: MML.INHERIT, + linebreakstyle: MML.AUTO, + linebreakmultchar: MML.INHERIT, + indentalign: MML.INHERIT, + indentshift: MML.INHERIT, + indenttarget: MML.INHERIT, + indentalignfirst: MML.INHERIT, + indentshiftfirst: MML.INHERIT, + indentalignlast: MML.INHERIT, + indentshiftlast: MML.INHERIT, + texClass: MML.AUTO + }, + defaultDef: { + form: MML.FORM.INFIX, + fence: FALSE, + separator: FALSE, + lspace: MML.LENGTH.THICKMATHSPACE, + rspace: MML.LENGTH.THICKMATHSPACE, + stretchy: FALSE, + symmetric: TRUE, + maxsize: MML.SIZE.INFINITY, + minsize: '0em', //'1em', + largeop: FALSE, + movablelimits: FALSE, + accent: FALSE, + linebreak: MML.LINEBREAK.AUTO, + lineleading: "1ex", + linebreakstyle: "before", + indentalign: MML.INDENTALIGN.AUTO, + indentshift: "0", + indenttarget: "", + indentalignfirst: MML.INDENTALIGN.INDENTALIGN, + indentshiftfirst: MML.INDENTSHIFT.INDENTSHIFT, + indentalignlast: MML.INDENTALIGN.INDENTALIGN, + indentshiftlast: MML.INDENTSHIFT.INDENTSHIFT, + texClass: MML.TEXCLASS.REL // for MML, but TeX sets ORD explicitly + }, + SPACE_ATTR: {lspace: 0x01, rspace: 0x02, form: 0x04}, + useMMLspacing: 0x07, + autoDefault: function (name,nodefault) { + var def = this.def; + if (!def) { + if (name === "form") {this.useMMLspacing &= ~this.SPACE_ATTR.form; return this.getForm()} + var mo = this.data.join(""); + var forms = [this.Get("form"),MML.FORM.INFIX,MML.FORM.POSTFIX,MML.FORM.PREFIX]; + for (var i = 0, m = forms.length; i < m; i++) { + var data = this.OPTABLE[forms[i]][mo]; + if (data) {def = this.makeDef(data); break} + } + if (!def) {def = this.CheckRange(mo)} + if (!def && nodefault) {def = {}} else { + if (!def) {def = MathJax.Hub.Insert({},this.defaultDef)} + def.form = forms[0]; + this.def = def; + } + } + this.useMMLspacing &= ~(this.SPACE_ATTR[name] || 0); + if (def[name] != null) {return def[name]} + else if (!nodefault) {return this.defaultDef[name]} + return ""; + }, + CheckRange: function (mo) { + var n = mo.charCodeAt(0); + if (mo.charAt(0) === MML.PLANE1) {n = mo.charCodeAt(1) + 0x1D400 - 0xDC00} + for (var i = 0, m = this.RANGES.length; i < m && this.RANGES[i][0] <= n; i++) { + if (n <= this.RANGES[i][1]) { + if (this.RANGES[i][3]) { + var file = MML.optableDir+"/"+this.RANGES[i][3]+".js"; + this.RANGES[i][3] = null; + MathJax.Hub.RestartAfter(MathJax.Ajax.Require(file)); + } + var data = (["ORD","OP","BIN","REL","OPEN","CLOSE","PUNCT","INNER"])[this.RANGES[i][2]]; + data = this.OPTABLE.infix[mo] = MML.mo.OPTYPES[data === "BIN" ? "BIN3" : data]; + return this.makeDef(data); + } + } + return null; + }, + makeDef: function (data) { + if (data[2] == null) {data[2] = this.defaultDef.texClass} + if (!data[3]) {data[3] = {}} + var def = MathJax.Hub.Insert({},data[3]); + def.lspace = this.SPACE[data[0]]; def.rspace = this.SPACE[data[1]]; + def.texClass = data[2]; + return def; + }, + getForm: function () { + var core = this, parent = this.parent, Parent = this.Parent(); + while (Parent && Parent.isEmbellished()) + {core = parent; parent = Parent.parent; Parent = Parent.Parent()} + if (parent && parent.type === "mrow" && parent.NonSpaceLength() !== 1) { + if (parent.FirstNonSpace() === core) {return MML.FORM.PREFIX} + if (parent.LastNonSpace() === core) {return MML.FORM.POSTFIX} + } + return MML.FORM.INFIX; + }, + isEmbellished: function () {return TRUE}, + lineBreak: function () { + var values = this.getValues("linebreak","linebreakstyle"); + if (values.linebreak === MML.LINEBREAK.NEWLINE) { + if (values.linebreakstyle === MML.LINEBREAKSTYLE.INFIXLINEBREAKSTYLE) + {values.linebreakstyle = this.Get("infixlinebreakstyle")} + return values.linebreakstyle; + } + return "none"; + }, + setTeXclass: function (prev) { + this.getValues("lspace","rspace"); // sets useMMLspacing + if (this.useMMLspacing) {this.texClass = MML.TEXCLASS.NONE; return this} + this.texClass = this.Get("texClass"); + if (prev) {this.prevClass = prev.texClass || MML.TEXCLASS.ORD; this.prevLevel = prev.Get("scriptlevel")} + else {this.prevClass = MML.TEXCLASS.NONE} + if (this.texClass === MML.TEXCLASS.BIN && + (this.prevClass === MML.TEXCLASS.NONE || + this.prevClass === MML.TEXCLASS.BIN || + this.prevClass === MML.TEXCLASS.OP || + this.prevClass === MML.TEXCLASS.REL || + this.prevClass === MML.TEXCLASS.OPEN || + this.prevClass === MML.TEXCLASS.PUNCT)) { + this.texClass = MML.TEXCLASS.ORD; + } else if (this.prevClass === MML.TEXCLASS.BIN && + (this.texClass === MML.TEXCLASS.REL || + this.texClass === MML.TEXCLASS.CLOSE || + this.texClass === MML.TEXCLASS.PUNCT)) { + prev.texClass = this.prevClass = MML.TEXCLASS.ORD; + } + return this; + } + }); + + MML.mtext = MML.mbase.Subclass({ + type: "mtext", isToken: TRUE, + isSpacelike: function () {return TRUE}, + texClass: MML.TEXCLASS.ORD, + defaults: { + mathvariant: MML.INHERIT, + mathsize: MML.INHERIT, + mathbackground: MML.INHERIT, + mathcolor: MML.INHERIT + } + }); + + MML.mspace = MML.mbase.Subclass({ + type: "mspace", isToken: TRUE, + isSpacelike: function () {return TRUE}, + defaults: { + mathbackground: MML.INHERIT, + mathcolor: MML.INHERIT, + width: "0em", + height: "0ex", + depth: "0ex", + linebreak: MML.LINEBREAK.AUTO + }, + lineBreak: function () { + return (this.Get("linebreak") === MML.LINEBREAK.NEWLINE ? + MML.LINEBREAKSTYLE.AFTER : "none"); + } + }); + + MML.ms = MML.mbase.Subclass({ + type: "ms", isToken: TRUE, + texClass: MML.TEXCLASS.ORD, + defaults: { + mathvariant: MML.INHERIT, + mathsize: MML.INHERIT, + mathbackground: MML.INHERIT, + mathcolor: MML.INHERIT, + lquote: '"', + rquote: '"' + } + }); + + MML.mglyph = MML.mbase.Subclass({ + type: "mglyph", isToken: TRUE, + texClass: MML.TEXCLASS.ORD, + defaults: { + mathbackground: MML.INHERIT, + mathcolor: MML.INHERIT, + alt: "", + src: "", + width: MML.AUTO, + height: MML.AUTO, + valign: "0em" + } + }); + + MML.mrow = MML.mbase.Subclass({ + type: "mrow", + isSpacelike: MML.mbase.childrenSpacelike, + inferred: FALSE, + isEmbellished: function () { + var isEmbellished = FALSE; + for (var i = 0, m = this.data.length; i < m; i++) { + if (this.data[i] == null) continue; + if (this.data[i].isEmbellished()) { + if (isEmbellished) {return FALSE} + isEmbellished = TRUE; this.core = i; + } else if (!this.data[i].isSpacelike()) {return FALSE} + } + return isEmbellished; + }, + NonSpaceLength: function () { + var n = 0; + for (var i = 0, m = this.data.length; i < m; i++) + {if (this.data[i] && !this.data[i].isSpacelike()) {n++}} + return n; + }, + FirstNonSpace: function () { + for (var i = 0, m = this.data.length; i < m; i++) + {if (this.data[i] && !this.data[i].isSpacelike()) {return this.data[i]}} + return null; + }, + LastNonSpace: function () { + for (var i = this.data.length-1; i >= 0; i--) + {if (this.data[0] && !this.data[i].isSpacelike()) {return this.data[i]}} + return null; + }, + Core: function () { + if (!(this.isEmbellished()) || typeof(this.core) === "undefined") {return this} + return this.data[this.core]; + }, + CoreMO: function () { + if (!(this.isEmbellished()) || typeof(this.core) === "undefined") {return this} + return this.data[this.core].CoreMO(); + }, + toString: function () { + if (this.inferred) {return '[' + this.data.join(',') + ']'} + return this.SUPER(arguments).toString.call(this); + }, + setTeXclass: function (prev) { + for (var i = 0, m = this.data.length; i < m; i++) + {if (this.data[i]) {prev = this.data[i].setTeXclass(prev)}} + if (this.data[0]) {this.updateTeXclass(this.data[0])} + return prev; + } + }); + + MML.mfrac = MML.mbase.Subclass({ + type: "mfrac", num: 0, den: 1, + texClass: MML.TEXCLASS.INNER, + isEmbellished: MML.mbase.childEmbellished, + Core: MML.mbase.childCore, + CoreMO: MML.mbase.childCoreMO, + defaults: { + mathbackground: MML.INHERIT, + mathcolor: MML.INHERIT, + linethickness: MML.LINETHICKNESS.MEDIUM, + numalign: MML.ALIGN.CENTER, + denomalign: MML.ALIGN.CENTER, + bevelled: FALSE + }, + adjustChild_displaystyle: function (n) {return FALSE}, + adjustChild_scriptlevel: function (n) { + var level = this.Get("scriptlevel"); + if (!this.Get("displaystyle") || level > 0) {level++} + return level; + }, + adjustChild_texprimestyle: function (n) { + if (n == this.den) {return true} + return this.Get("texprimestyle"); + }, + setTeXclass: MML.mbase.setSeparateTeXclasses + }); + + MML.msqrt = MML.mbase.Subclass({ + type: "msqrt", + inferRow: TRUE, + texClass: MML.TEXCLASS.ORD, + setTeXclass: MML.mbase.setSeparateTeXclasses, + adjustChild_texprimestyle: function (n) {return TRUE} + }); + + MML.mroot = MML.mbase.Subclass({ + type: "mroot", + texClass: MML.TEXCLASS.ORD, + adjustChild_displaystyle: function (n) { + if (n === 1) {return FALSE} + return this.Get("displaystyle"); + }, + adjustChild_scriptlevel: function (n) { + var level = this.Get("scriptlevel"); + if (n === 1) {level += 2} + return level; + }, + adjustChild_texprimestyle: function (n) { + if (n === 0) {return TRUE}; + return this.Get("texprimestyle"); + }, + setTeXclass: MML.mbase.setSeparateTeXclasses + }); + + MML.mstyle = MML.mbase.Subclass({ + type: "mstyle", + isSpacelike: MML.mbase.childrenSpacelike, + isEmbellished: MML.mbase.childEmbellished, + Core: MML.mbase.childCore, + CoreMO: MML.mbase.childCoreMO, + inferRow: TRUE, + defaults: { + scriptlevel: MML.INHERIT, + displaystyle: MML.INHERIT, + scriptsizemultiplier: Math.sqrt(1/2), + scriptminsize: "8pt", + mathbackground: MML.INHERIT, + mathcolor: MML.INHERIT, + infixlinebreakstyle: MML.LINEBREAKSTYLE.BEFORE, + decimalseparator: "." + }, + adjustChild_scriptlevel: function (n) { + var level = this.scriptlevel; + if (level == null) { + level = this.Get("scriptlevel"); + } else if (String(level).match(/^ *[-+]/)) { + delete this.scriptlevel; + var LEVEL = this.Get("scriptlevel"); + this.scriptlevel = level; + level = LEVEL + parseInt(level); + } + return level; + }, + inheritFromMe: TRUE, + noInherit: { + mpadded: {width: TRUE, height: TRUE, depth: TRUE, lspace: TRUE, voffset: TRUE}, + mtable: {width: TRUE, height: TRUE, depth: TRUE, align: TRUE} + }, + setTeXclass: MML.mbase.setChildTeXclass + }); + + MML.merror = MML.mbase.Subclass({ + type: "merror", + inferRow: TRUE, + texClass: MML.TEXCLASS.ORD + }); + + MML.mpadded = MML.mbase.Subclass({ + type: "mpadded", + inferRow: TRUE, + isSpacelike: MML.mbase.childrenSpacelike, + isEmbellished: MML.mbase.childEmbellished, + Core: MML.mbase.childCore, + CoreMO: MML.mbase.childCoreMO, + defaults: { + mathbackground: MML.INHERIT, + mathcolor: MML.INHERIT, + width: "", + height: "", + depth: "", + lspace: 0, + voffset: 0 + }, + setTeXclass: MML.mbase.setChildTeXclass + }); + + MML.mphantom = MML.mbase.Subclass({ + type: "mphantom", + texClass: MML.TEXCLASS.ORD, + inferRow: TRUE, + isSpacelike: MML.mbase.childrenSpacelike, + isEmbellished: MML.mbase.childEmbellished, + Core: MML.mbase.childCore, + CoreMO: MML.mbase.childCoreMO, + setTeXclass: MML.mbase.setChildTeXclass + }); + + MML.mfenced = MML.mbase.Subclass({ + type: "mfenced", + defaults: { + mathbackground: MML.INHERIT, + mathcolor: MML.INHERIT, + open: '(', + close: ')', + separators: ',' + }, + texClass: MML.TEXCLASS.OPEN, + setTeXclass: function (prev) { + this.getPrevClass(prev); + var values = this.getValues("open","close","separators"); + values.open = values.open.replace(/[ \t\n\r]/g,""); + values.close = values.close.replace(/[ \t\n\r]/g,""); + values.separators = values.separators.replace(/[ \t\n\r]/g,""); + // create a fake node for the open item + if (values.open !== "") { + this.SetData("open",MML.mo(values.open).With({stretchy:true, texClass:MML.TEXCLASS.OPEN})); + prev = this.data.open.setTeXclass(prev); + } + // get the separators + if (values.separators !== "") { + while (values.separators.length < this.data.length) + {values.separators += values.separators.charAt(values.separators.length-1)} + } + // handle the first item, if any + if (this.data[0]) {prev = this.data[0].setTeXclass(prev)} + // add fake nodes for separators and handle the following item + for (var i = 1, m = this.data.length; i < m; i++) { + if (this.data[i]) { + if (values.separators !== "") { + this.SetData("sep"+i,MML.mo(values.separators.charAt(i-1))); + prev = this.data["sep"+i].setTeXclass(prev); + } + prev = this.data[i].setTeXclass(prev); + } + } + // create fake node for the close item + if (values.close !== "") { + this.SetData("close",MML.mo(values.close).With({stretchy:true, texClass:MML.TEXCLASS.CLOSE})); + prev = this.data.close.setTeXclass(prev); + } + // get the data from the open item + this.updateTeXclass(this.data.open); + return prev; + } + }); + + MML.menclose = MML.mbase.Subclass({ + type: "menclose", + inferRow: TRUE, + defaults: { + mathbackground: MML.INHERIT, + mathcolor: MML.INHERIT, + notation: MML.NOTATION.LONGDIV, + texClass: MML.TEXCLASS.ORD + }, + setTeXclass: MML.mbase.setSeparateTeXclasses + }); + + MML.msubsup = MML.mbase.Subclass({ + type: "msubsup", base: 0, sub: 1, sup: 2, + isEmbellished: MML.mbase.childEmbellished, + Core: MML.mbase.childCore, + CoreMO: MML.mbase.childCoreMO, + defaults: { + mathbackground: MML.INHERIT, + mathcolor: MML.INHERIT, + subscriptshift: "", + superscriptshift: "", + texClass: MML.AUTO + }, + autoDefault: function (name) { + if (name === "texClass") + {return (this.isEmbellished() ? this.CoreMO().Get(name) : MML.TEXCLASS.ORD)} + return 0; + }, + adjustChild_displaystyle: function (n) { + if (n > 0) {return FALSE} + return this.Get("displaystyle"); + }, + adjustChild_scriptlevel: function (n) { + var level = this.Get("scriptlevel"); + if (n > 0) {level++} + return level; + }, + adjustChild_texprimestyle: function (n) { + if (n === this.sub) {return TRUE} + return this.Get("texprimestyle"); + }, + setTeXclass: MML.mbase.setBaseTeXclasses + }); + + MML.msub = MML.msubsup.Subclass({type: "msub"}); + MML.msup = MML.msubsup.Subclass({type: "msup", sub:2, sup:1}); + MML.mmultiscripts = MML.msubsup.Subclass({ + type: "mmultiscripts", + adjustChild_texprimestyle: function (n) { + if (n % 2 === 1) {return TRUE} + return this.Get("texprimestyle"); + } + }); + MML.mprescripts = MML.mbase.Subclass({type: "mprescripts"}); + MML.none = MML.mbase.Subclass({type: "none"}); + + MML.munderover = MML.mbase.Subclass({ + type: "munderover", + base: 0, under: 1, over: 2, sub: 1, sup: 2, + ACCENTS: ["", "accentunder", "accent"], + isEmbellished: MML.mbase.childEmbellished, + Core: MML.mbase.childCore, + CoreMO: MML.mbase.childCoreMO, + defaults: { + mathbackground: MML.INHERIT, + mathcolor: MML.INHERIT, + accent: MML.AUTO, + accentunder: MML.AUTO, + align: MML.ALIGN.CENTER, + texClass: MML.AUTO, + subscriptshift: "", // when converted to msubsup by moveablelimits + superscriptshift: "" // when converted to msubsup by moveablelimits + }, + autoDefault: function (name) { + if (name === "texClass") + {return (this.isEmbellished() ? this.CoreMO().Get(name) : MML.TEXCLASS.ORD)} + if (name === "accent" && this.data[this.over]) {return this.data[this.over].CoreMO().Get("accent")} + if (name === "accentunder" && this.data[this.under]) {return this.data[this.under].CoreMO().Get("accent")} + return FALSE; + }, + adjustChild_displaystyle: function (n) { + if (n > 0) {return FALSE} + return this.Get("displaystyle"); + }, + adjustChild_scriptlevel: function (n) { + var level = this.Get("scriptlevel"); + if (n == this.under && !this.Get("accentunder")) {level++} + if (n == this.over && !this.Get("accent")) {level++} + return level; + }, + adjustChild_texprimestyle: function (n) { + if (n === this.base && this.data[this.over]) {return TRUE} + return this.Get("texprimestyle"); + }, + setTeXclass: MML.mbase.setBaseTeXclasses + }); + + MML.munder = MML.munderover.Subclass({type: "munder"}); + MML.mover = MML.munderover.Subclass({ + type: "mover", over: 1, under: 2, sup: 1, sub: 2, + ACCENTS: ["", "accent", "accentunder"] + }); + + MML.mtable = MML.mbase.Subclass({ + type: "mtable", + defaults: { + mathbackground: MML.INHERIT, + mathcolor: MML.INHERIT, + align: MML.ALIGN.AXIS, + rowalign: MML.ALIGN.BASELINE, + columnalign: MML.ALIGN.CENTER, + groupalign: "{left}", + alignmentscope: TRUE, + columnwidth: MML.WIDTH.AUTO, + width: MML.WIDTH.AUTO, + rowspacing: "1ex", + columnspacing: ".8em", + rowlines: MML.LINES.NONE, + columnlines: MML.LINES.NONE, + frame: MML.LINES.NONE, + framespacing: "0.4em 0.5ex", + equalrows: FALSE, + equalcolumns: FALSE, + displaystyle: FALSE, + side: MML.SIDE.RIGHT, + minlabelspacing: "0.8em", + texClass: MML.TEXCLASS.ORD, + useHeight: 1 + }, + inheritFromMe: TRUE, + noInherit: { + mtable: { + align: TRUE, rowalign: TRUE, columnalign: TRUE, groupalign: TRUE, + alignmentscope: TRUE, columnwidth: TRUE, width: TRUE, rowspacing: TRUE, + columnspacing: TRUE, rowlines: TRUE, columnlines: TRUE, frame: TRUE, + framespacing: TRUE, equalrows: TRUE, equalcolumns: TRUE, + side: TRUE, minlabelspacing: TRUE, texClass: TRUE, useHeight: 1 + } + }, + Append: function () { + for (var i = 0, m = arguments.length; i < m; i++) { + if (!((arguments[i] instanceof MML.mtr) || + (arguments[i] instanceof MML.mlabeledtr))) {arguments[i] = MML.mtd(arguments[i])} + } + this.SUPER(arguments).Append.apply(this,arguments); + }, + setTeXclass: MML.mbase.setSeparateTeXclasses + }); + + MML.mtr = MML.mbase.Subclass({ + type: "mtr", + defaults: { + mathbackground: MML.INHERIT, + mathcolor: MML.INHERIT, + rowalign: MML.INHERIT, + columnalign: MML.INHERIT, + groupalign: MML.INHERIT + }, + inheritFromMe: TRUE, + noInherit: { + mrow: {rowalign: TRUE, columnalign: TRUE, groupalign: TRUE}, + mtable: {rowalign: TRUE, columnalign: TRUE, groupalign: TRUE} + }, + Append: function () { + for (var i = 0, m = arguments.length; i < m; i++) { + if (!(arguments[i] instanceof MML.mtd)) {arguments[i] = MML.mtd(arguments[i])} + } + this.SUPER(arguments).Append.apply(this,arguments); + }, + setTeXclass: MML.mbase.setSeparateTeXclasses + }); + + MML.mtd = MML.mbase.Subclass({ + type: "mtd", + inferRow: TRUE, + isEmbellished: MML.mbase.childEmbellished, + Core: MML.mbase.childCore, + CoreMO: MML.mbase.childCoreMO, + defaults: { + mathbackground: MML.INHERIT, + mathcolor: MML.INHERIT, + rowspan: 1, + columnspan: 1, + rowalign: MML.INHERIT, + columnalign: MML.INHERIT, + groupalign: MML.INHERIT + }, + setTeXclass: MML.mbase.setSeparateTeXclasses + }); + + MML.maligngroup = MML.mbase.Subclass({ + type: "malign", + isSpacelike: function () {return TRUE}, + defaults: { + mathbackground: MML.INHERIT, + mathcolor: MML.INHERIT, + groupalign: MML.INHERIT + }, + inheritFromMe: TRUE, + noInherit: { + mrow: {groupalign: TRUE}, + mtable: {groupalign: TRUE} + } + }); + + MML.malignmark = MML.mbase.Subclass({ + type: "malignmark", + defaults: { + mathbackground: MML.INHERIT, + mathcolor: MML.INHERIT, + edge: MML.SIDE.LEFT + }, + isSpacelike: function () {return TRUE} + }); + + MML.mlabeledtr = MML.mtr.Subclass({ + type: "mlabeledtr" + }); + + MML.maction = MML.mbase.Subclass({ + type: "maction", + defaults: { + mathbackground: MML.INHERIT, + mathcolor: MML.INHERIT, + actiontype: MML.ACTIONTYPE.TOGGLE, + selection: 1 + }, + selected: function () {return this.data[this.Get("selection")-1] || MML.NULL}, + isEmbellished: function () {return this.selected().isEmbellished()}, + isSpacelike: function () {return this.selected().isSpacelike()}, + Core: function () {return this.selected().Core()}, + CoreMO: function () {return this.selected().CoreMO()}, + setTeXclass: function (prev) {return this.selected().setTeXclass(prev)} + }); + + MML.semantics = MML.mbase.Subclass({ + type: "semantics", + isEmbellished: MML.mbase.childEmbellished, + Core: MML.mbase.childCore, + CoreMO: MML.mbase.childCoreMO, + defaults: { + definitionURL: null, + encoding: null + }, + setTeXclass: MML.mbase.setChildTeXclass + }); + MML.annotation = MML.mbase.Subclass({ + type: "annotation", isToken: TRUE, + defaults: { + definitionURL: null, + encoding: null, + cd: "mathmlkeys", + name: "", + src: null + } + }); + MML["annotation-xml"] = MML.mbase.Subclass({ + type: "annotation-xml", + defaults: { + definitionURL: null, + encoding: null, + cd: "mathmlkeys", + name: "", + src: null + } + }); + + MML.math = MML.mstyle.Subclass({ + type: "math", + defaults: { + mathvariant: MML.VARIANT.NORMAL, + mathsize: MML.SIZE.NORMAL, + mathcolor: "", // should be "black", but allow it to inherit from surrounding text + mathbackground: MML.COLOR.TRANSPARENT, + scriptlevel: 0, + displaystyle: MML.AUTO, + display: "inline", + maxwidth: "", + overflow: MML.OVERFLOW.LINEBREAK, + altimg: "", + 'altimg-width': "", + 'altimg-height': "", + 'altimg-valign': "", + alttext: "", + cdgroup: "", + scriptsizemultiplier: Math.sqrt(1/2), + scriptminsize: "8px", // should be 8pt, but that's too big + infixlinebreakstyle: MML.LINEBREAKSTYLE.BEFORE, + lineleading: "1ex", + indentshift: "auto", // use user configuration + indentalign: MML.INDENTALIGN.AUTO, + indentalignfirst: MML.INDENTALIGN.INDENTALIGN, + indentshiftfirst: MML.INDENTSHIFT.INDENTSHIFT, + decimalseparator: ".", + texprimestyle: FALSE // is it in TeX's C' style? + }, + autoDefault: function (name) { + if (name === "displaystyle") {return this.Get("display") === "block"} + return ""; + }, + setTeXclass: MML.mbase.setChildTeXclass + }); + + MML.chars = MML.mbase.Subclass({ + type: "chars", + Append: function () {this.data.push.apply(this.data,arguments)}, + value: function () {return this.data.join("")}, + toString: function () {return this.data.join("")} + }); + + MML.entity = MML.mbase.Subclass({ + type: "entity", + Append: function () {this.data.push.apply(this.data,arguments)}, + value: function () { + if (this.data[0].substr(0,2) === "#x") {return parseInt(this.data[0].substr(2),16)} + else if (this.data[0].substr(0,1) === "#") {return parseInt(this.data[0].substr(1))} + else {return 0} // FIXME: look up named entities from table + }, + toString: function () { + var n = this.value(); + if (n <= 0xFFFF) {return String.fromCharCode(n)} + return this.PLANE1 + String.fromCharCode(n-0x1D400+0xDC00); + } + }); + + MML.xml = MML.mbase.Subclass({ + type: "xml", + Init: function () { + this.div = document.createElement("div"); + return this.SUPER(arguments).Init.apply(this,arguments); + }, + Append: function () { + for (var i = 0, m = arguments.length; i < m; i++) { + var node = this.Import(arguments[i]); + this.data.push(node); + this.div.appendChild(node); + } + }, + Import: function (node) { + if (document.importNode) {return document.importNode(node,true)} + // + // IE < 9 doesn't have importNode, so fake it. + // + var nNode, i, m; + if (node.nodeType === 1) { // ELEMENT_NODE + nNode = document.createElement(node.nodeName); + if (node.className) {nNode.className=iNode.className} + for (i = 0, m = node.attributes.length; i < m; i++) { + var attribute = node.attributes[i]; + if (attribute.specified && attribute.nodeValue != null && attribute.nodeValue != '') + {nNode.setAttribute(attribute.nodeName,attribute.nodeValue)} + if (attribute.nodeName === "style") {nNode.style.cssText = attribute.nodeValue} + } + if (node.className) {nNode.className = node.className} + } else if (node.nodeType === 3 || node.nodeType === 4) { // TEXT_NODE or CDATA_SECTION_NODE + nNode = document.createTextNode(node.nodeValue); + } else if (node.nodeType === 8) { // COMMENT_NODE + nNode = document.createComment(node.nodeValue); + } else { + return document.createTextNode(''); + } + for (i = 0, m = node.childNodes.length; i < m; i++) + {nNode.appendChild(this.Import(node.childNodes[i]))} + return nNode; + }, + value: function () {return this.div}, + toString: function () {return this.div.innerHTML} + }); + + MML.TeXAtom = MML.mbase.Subclass({ + type: "texatom", + inferRow: TRUE, + texClass: MML.TEXCLASS.ORD, + setTeXclass: function (prev) { + this.getPrevClass(prev); + this.data[0].setTeXclass(); + return this; + } + }); + + MML.NULL = MML.mbase().With({type:"null"}); + + var TEXCLASS = MML.TEXCLASS; + + var MO = { + ORD: [0,0,TEXCLASS.ORD], + ORD11: [1,1,TEXCLASS.ORD], + ORD21: [2,1,TEXCLASS.ORD], + ORD02: [0,2,TEXCLASS.ORD], + ORD55: [5,5,TEXCLASS.ORD], + OP: [1,2,TEXCLASS.OP,{largeop: true, movablelimits: true, symmetric: true}], + OPFIXED: [1,2,TEXCLASS.OP,{largeop: true, movablelimits: true}], + INTEGRAL: [0,1,TEXCLASS.OP,{largeop: true, symmetric: true}], + INTEGRAL2: [1,2,TEXCLASS.OP,{largeop: true, symmetric: true}], + BIN3: [3,3,TEXCLASS.BIN], + BIN4: [4,4,TEXCLASS.BIN], + BIN01: [0,1,TEXCLASS.BIN], + TALLBIN: [4,4,TEXCLASS.BIN,{stretchy: true}], + BINOP: [4,4,TEXCLASS.BIN,{largeop: true, movablelimits: true}], + REL: [5,5,TEXCLASS.REL], + REL1: [1,1,TEXCLASS.REL,{stretchy: true}], + REL4: [4,4,TEXCLASS.REL], + WIDEREL: [5,5,TEXCLASS.REL,{stretchy: true}], + RELACCENT: [5,5,TEXCLASS.REL,{accent: true, stretchy: true}], + OPEN: [0,0,TEXCLASS.OPEN,{fence: true, stretchy: true, symmetric: true}], + CLOSE: [0,0,TEXCLASS.CLOSE,{fence: true, stretchy: true, symmetric: true}], + INNER: [0,0,TEXCLASS.INNER], + PUNCT: [0,3,TEXCLASS.PUNCT], + ACCENT: [0,0,TEXCLASS.ORD,{accent: true}], + WIDEACCENT: [0,0,TEXCLASS.ORD,{accent: true, stretchy: true}] + }; + + MML.mo.Augment({ + SPACE: [ + '0em', + '0.1111em', + '0.1667em', + '0.2222em', + '0.2667em', + '0.3333em' + ], + RANGES: [ + [0x20,0x7F,TEXCLASS.REL,"BasicLatin"], + [0xA0,0xFF,TEXCLASS.ORD,"Latin1Supplement"], + [0x100,0x17F,TEXCLASS.ORD], + [0x180,0x24F,TEXCLASS.ORD], + [0x2B0,0x2FF,TEXCLASS.ORD,"SpacingModLetters"], + [0x300,0x36F,TEXCLASS.ORD,"CombDiacritMarks"], + [0x370,0x3FF,TEXCLASS.ORD,"GreekAndCoptic"], + [0x1E00,0x1EFF,TEXCLASS.ORD], + [0x2000,0x206F,TEXCLASS.PUNCT,"GeneralPunctuation"], + [0x2070,0x209F,TEXCLASS.ORD], + [0x20A0,0x20CF,TEXCLASS.ORD], + [0x20D0,0x20FF,TEXCLASS.ORD,"CombDiactForSymbols"], + [0x2100,0x214F,TEXCLASS.ORD,"LetterlikeSymbols"], + [0x2150,0x218F,TEXCLASS.ORD], + [0x2190,0x21FF,TEXCLASS.REL,"Arrows"], + [0x2200,0x22FF,TEXCLASS.BIN,"MathOperators"], + [0x2300,0x23FF,TEXCLASS.ORD,"MiscTechnical"], + [0x2460,0x24FF,TEXCLASS.ORD], + [0x25A0,0x25FF,TEXCLASS.ORD,"GeometricShapes"], + [0x2700,0x27BF,TEXCLASS.ORD,"Dingbats"], + [0x27C0,0x27EF,TEXCLASS.ORD,"MiscMathSymbolsA"], + [0x2900,0x297F,TEXCLASS.REL,"SupplementalArrowsB"], + [0x2980,0x29FF,TEXCLASS.ORD,"MiscMathSymbolsB"], + [0x2A00,0x2AFF,TEXCLASS.BIN,"SuppMathOperators"], + [0x2B00,0x2BFF,TEXCLASS.ORD], + [0x1D400,0x1D7FF,TEXCLASS.ORD] + ], + OPTABLE: { + prefix: { + '\u2111': MO.ORD11, // black-letter capital i + '\u2113': MO.ORD11, // script small l + '\u211C': MO.ORD11, // black-letter capital r + '\u2200': MO.ORD21, // for all + '\u2202': MO.ORD21, // partial differential + '\u2203': MO.ORD21, // there exists + '\u2207': MO.ORD21, // nabla + '\u220F': MO.OP, // n-ary product + '\u2210': MO.OP, // n-ary coproduct + '\u2211': MO.OP, // n-ary summation + '\u2212': MO.BIN01, // minus sign + '\u2213': MO.BIN01, // minus-or-plus sign + '\u221A': [1,1,TEXCLASS.ORD,{stretchy: true}], // square root + '\u2220': MO.ORD, // angle + '\u222B': MO.INTEGRAL, // integral + '\u222E': MO.INTEGRAL, // contour integral + '\u22C0': MO.OP, // n-ary logical and + '\u22C1': MO.OP, // n-ary logical or + '\u22C2': MO.OP, // n-ary intersection + '\u22C3': MO.OP, // n-ary union + '\u2308': MO.OPEN, // left ceiling + '\u230A': MO.OPEN, // left floor + '\u27E8': MO.OPEN, // mathematical left angle bracket + '\u2A00': MO.OP, // n-ary circled dot operator + '\u2A01': MO.OP, // n-ary circled plus operator + '\u2A02': MO.OP, // n-ary circled times operator + '\u2A04': MO.OP, // n-ary union operator with plus + '\u2A06': MO.OP, // n-ary square union operator + '\u00AC': MO.ORD21, // not sign + '\u00B1': MO.BIN01, // plus-minus sign + '(': MO.OPEN, // left parenthesis + '+': MO.BIN01, // plus sign + '-': MO.BIN01, // hyphen-minus + '[': MO.OPEN, // left square bracket + '{': MO.OPEN, // left curly bracket + '|': MO.OPEN // vertical line + }, + postfix: { + '!': [1,0,TEXCLASS.CLOSE], // exclamation mark + '&': MO.ORD, // ampersand + '\u2032': MO.ORD02, // prime + '\u203E': MO.WIDEACCENT, // overline + '\u2309': MO.CLOSE, // right ceiling + '\u230B': MO.CLOSE, // right floor + '\u23DE': MO.WIDEACCENT, // top curly bracket + '\u23DF': MO.WIDEACCENT, // bottom curly bracket + '\u266D': MO.ORD02, // music flat sign + '\u266E': MO.ORD02, // music natural sign + '\u266F': MO.ORD02, // music sharp sign + '\u27E9': MO.CLOSE, // mathematical right angle bracket + '\u02C6': MO.WIDEACCENT, // modifier letter circumflex accent + '\u02C7': MO.WIDEACCENT, // caron + '\u02D8': MO.ACCENT, // breve + '\u02D9': MO.ACCENT, // dot above + '\u02DC': MO.WIDEACCENT, // small tilde + '\u0302': MO.ACCENT, // combining circumflex accent + '\u00A8': MO.ACCENT, // diaeresis + '\u00AF': MO.WIDEACCENT, // macron + ')': MO.CLOSE, // right parenthesis + ']': MO.CLOSE, // right square bracket + '^': MO.WIDEACCENT, // circumflex accent + '_': MO.WIDEACCENT, // low line + '`': MO.ACCENT, // grave accent + '|': MO.CLOSE, // vertical line + '}': MO.CLOSE, // right curly bracket + '~': MO.WIDEACCENT // tilde + }, + infix: { + '%': [3,3,TEXCLASS.ORD], // percent sign + '\u2022': MO.BIN4, // bullet + '\u2026': MO.INNER, // horizontal ellipsis + '\u2044': MO.TALLBIN, // fraction slash + '\u2061': MO.ORD, // function application + '\u2062': MO.ORD, // invisible times + '\u2063': [0,0,TEXCLASS.ORD,{separator: true}], // invisible separator + '\u2064': MO.ORD, // invisible plus + '\u2190': MO.RELACCENT, // leftwards arrow + '\u2191': MO.WIDEREL, // upwards arrow + '\u2192': MO.RELACCENT, // rightwards arrow + '\u2193': MO.WIDEREL, // downwards arrow + '\u2194': MO.RELACCENT, // left right arrow + '\u2195': MO.WIDEREL, // up down arrow + '\u2196': MO.WIDEREL, // north west arrow + '\u2197': MO.WIDEREL, // north east arrow + '\u2198': MO.WIDEREL, // south east arrow + '\u2199': MO.WIDEREL, // south west arrow + '\u21A6': MO.WIDEREL, // rightwards arrow from bar + '\u21A9': MO.WIDEREL, // leftwards arrow with hook + '\u21AA': MO.WIDEREL, // rightwards arrow with hook + '\u21BC': MO.RELACCENT, // leftwards harpoon with barb upwards + '\u21BD': MO.WIDEREL, // leftwards harpoon with barb downwards + '\u21C0': MO.RELACCENT, // rightwards harpoon with barb upwards + '\u21C1': MO.WIDEREL, // rightwards harpoon with barb downwards + '\u21CC': MO.WIDEREL, // rightwards harpoon over leftwards harpoon + '\u21D0': MO.WIDEREL, // leftwards double arrow + '\u21D1': MO.WIDEREL, // upwards double arrow + '\u21D2': MO.WIDEREL, // rightwards double arrow + '\u21D3': MO.WIDEREL, // downwards double arrow + '\u21D4': MO.WIDEREL, // left right double arrow + '\u21D5': MO.WIDEREL, // up down double arrow + '\u2208': MO.REL, // element of + '\u2209': MO.REL, // not an element of + '\u220B': MO.REL, // contains as member + '\u2212': MO.BIN4, // minus sign + '\u2213': MO.BIN4, // minus-or-plus sign + '\u2215': MO.TALLBIN, // division slash + '\u2216': MO.BIN4, // set minus + '\u2217': MO.BIN4, // asterisk operator + '\u2218': MO.BIN4, // ring operator + '\u2219': MO.BIN4, // bullet operator + '\u221D': MO.REL, // proportional to + '\u2223': MO.REL, // divides + '\u2225': MO.REL, // parallel to + '\u2227': MO.BIN4, // logical and + '\u2228': MO.BIN4, // logical or + '\u2229': MO.BIN4, // intersection + '\u222A': MO.BIN4, // union + '\u223C': MO.REL, // tilde operator + '\u2240': MO.BIN4, // wreath product + '\u2243': MO.REL, // asymptotically equal to + '\u2245': MO.REL, // approximately equal to + '\u2248': MO.REL, // almost equal to + '\u224D': MO.REL, // equivalent to + '\u2250': MO.REL, // approaches the limit + '\u2260': MO.REL, // not equal to + '\u2261': MO.REL, // identical to + '\u2264': MO.REL, // less-than or equal to + '\u2265': MO.REL, // greater-than or equal to + '\u226A': MO.REL, // much less-than + '\u226B': MO.REL, // much greater-than + '\u227A': MO.REL, // precedes + '\u227B': MO.REL, // succeeds + '\u2282': MO.REL, // subset of + '\u2283': MO.REL, // superset of + '\u2286': MO.REL, // subset of or equal to + '\u2287': MO.REL, // superset of or equal to + '\u228E': MO.BIN4, // multiset union + '\u2291': MO.REL, // square image of or equal to + '\u2292': MO.REL, // square original of or equal to + '\u2293': MO.BIN4, // square cap + '\u2294': MO.BIN4, // square cup + '\u2295': MO.BIN4, // circled plus + '\u2296': MO.BIN4, // circled minus + '\u2297': MO.BIN4, // circled times + '\u2298': MO.BIN4, // circled division slash + '\u2299': MO.BIN4, // circled dot operator + '\u22A2': MO.REL, // right tack + '\u22A3': MO.REL, // left tack + '\u22A4': MO.ORD55, // down tack + '\u22A5': MO.REL, // up tack + '\u22A8': MO.REL, // true + '\u22C4': MO.BIN4, // diamond operator + '\u22C5': MO.BIN4, // dot operator + '\u22C6': MO.BIN4, // star operator + '\u22C8': MO.REL, // bowtie + '\u22EE': MO.ORD55, // vertical ellipsis + '\u22EF': MO.INNER, // midline horizontal ellipsis + '\u22F1': [5,5,TEXCLASS.INNER], // down right diagonal ellipsis + '\u2500': [0,0,TEXCLASS.ORD,{stretchy: true}], // box drawings light horizontal + '\u25B3': MO.BIN4, // white up-pointing triangle + '\u25B5': MO.BIN4, // white up-pointing small triangle + '\u25B9': MO.BIN4, // white right-pointing small triangle + '\u25BD': MO.BIN4, // white down-pointing triangle + '\u25BF': MO.BIN4, // white down-pointing small triangle + '\u25C3': MO.BIN4, // white left-pointing small triangle + '\u2758': [4,4,TEXCLASS.REL,{fence: true, stretchy: true, symmetric: true}], // light vertical bar + '\u27F5': MO.REL1, // long leftwards arrow + '\u27F6': MO.REL1, // long rightwards arrow + '\u27F7': MO.REL1, // long left right arrow + '\u27F8': MO.REL1, // long leftwards double arrow + '\u27F9': MO.REL1, // long rightwards double arrow + '\u27FA': MO.REL1, // long left right double arrow + '\u2A2F': MO.BIN4, // vector or cross product + '\u2A3F': MO.BIN4, // amalgamation or coproduct + '\u2AAF': MO.REL, // precedes above single-line equals sign + '\u2AB0': MO.REL, // succeeds above single-line equals sign + '\u00B1': MO.BIN4, // plus-minus sign + '\u00B7': MO.BIN4, // middle dot + '\u00D7': MO.BIN4, // multiplication sign + '\u00F7': MO.BIN4, // division sign + '*': MO.BIN3, // asterisk + '+': MO.BIN4, // plus sign + ',': [0,3,TEXCLASS.PUNCT,{separator: true}], // comma + '-': MO.BIN4, // hyphen-minus + '.': [3,3,TEXCLASS.ORD], // full stop + '/': MO.ORD11, // solidus + ':': [1,2,TEXCLASS.REL], // colon + ';': [0,3,TEXCLASS.PUNCT,{separator: true}], // semicolon + '<': MO.REL, // less-than sign + '=': MO.REL, // equals sign + '>': MO.REL, // greater-than sign + '?': [1,1,TEXCLASS.CLOSE], // question mark + '\\': MO.ORD, // reverse solidus + '_': MO.ORD11, // low line + '|': [2,2,TEXCLASS.ORD,{fence: true, stretchy: true, symmetric: true}], // vertical line + '#': MO.ORD, // # + '$': MO.ORD, // $ + '\u002E': [0,3,TEXCLASS.PUNCT,{separator: true}], // \ldotp + '\u02B9': MO.ORD, // prime + '\u02C9': MO.ACCENT, // \bar + '\u02CA': MO.ACCENT, // \acute + '\u02CB': MO.ACCENT, // \grave + '\u0300': MO.ACCENT, // \grave + '\u0301': MO.ACCENT, // \acute + '\u0303': MO.WIDEACCENT, // \tilde + '\u0304': MO.ACCENT, // \bar + '\u0306': MO.ACCENT, // \breve + '\u0307': MO.ACCENT, // \dot + '\u0308': MO.ACCENT, // \ddot + '\u030C': MO.ACCENT, // \check + '\u0332': MO.WIDEACCENT, // horizontal line + '\u0338': MO.REL4, // \not + '\u2015': [0,0,TEXCLASS.ORD,{stretchy: true}], // horizontal line + '\u2017': [0,0,TEXCLASS.ORD,{stretchy: true}], // horizontal line + '\u2020': MO.BIN3, // \dagger + '\u2021': MO.BIN3, // \ddagger + '\u20D7': MO.ACCENT, // \vec + '\u2118': MO.ORD, // \wp + '\u2205': MO.ORD, // \emptyset + '\u221E': MO.ORD, // \infty + '\u2305': MO.BIN3, // barwedge + '\u2306': MO.BIN3, // doublebarwedge + '\u2322': MO.REL4, // \frown + '\u2323': MO.REL4, // \smile + '\u2329': MO.OPEN, // langle + '\u232A': MO.CLOSE, // rangle + '\u23AA': MO.ORD, // \bracevert + '\u23AF': [0,0,TEXCLASS.ORD,{stretchy: true}], // \underline + '\u23B0': MO.OPEN, // \lmoustache + '\u23B1': MO.CLOSE, // \rmoustache + '\u25EF': MO.BIN3, // \bigcirc + '\u2660': MO.ORD, // \spadesuit + '\u2661': MO.ORD, // \heartsuit + '\u2662': MO.ORD, // \diamondsuit + '\u2663': MO.ORD, // \clubsuit + '\u27EE': MO.OPEN, // \lgroup + '\u27EF': MO.CLOSE, // \rgroup + '\u27FC': MO.REL4, // \longmapsto + '\u3008': MO.OPEN, // langle + '\u3009': MO.CLOSE, // rangle + '\uFE37': MO.WIDEACCENT, // horizontal brace down + '\uFE38': MO.WIDEACCENT // horizontal brace up + } + } + },{ + OPTYPES: MO + }); + +})(MathJax.ElementJax.mml); + +MathJax.ElementJax.mml.loadComplete("jax.js"); diff --git a/modules/MathJax/jax/element/mml/optable/Arrows.js b/modules/MathJax/jax/element/mml/optable/Arrows.js new file mode 100644 index 0000000..c148da4 --- /dev/null +++ b/modules/MathJax/jax/element/mml/optable/Arrows.js @@ -0,0 +1,122 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/optable/Arrows.js + * + * Copyright (c) 2010 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +(function (MML) { + var MO = MML.mo.OPTYPES; + var TEXCLASS = MML.TEXCLASS; + + MathJax.Hub.Insert(MML.mo.prototype,{ + OPTABLE: { + infix: { + '\u219A': MO.REL, // leftwards arrow with stroke + '\u219B': MO.REL, // rightwards arrow with stroke + '\u219C': MO.WIDEREL, // leftwards wave arrow + '\u219D': MO.WIDEREL, // rightwards wave arrow + '\u219E': MO.WIDEREL, // leftwards two headed arrow + '\u219F': MO.WIDEREL, // upwards two headed arrow + '\u21A0': MO.WIDEREL, // rightwards two headed arrow + '\u21A1': MO.WIDEREL, // downwards two headed arrow + '\u21A2': MO.WIDEREL, // leftwards arrow with tail + '\u21A3': MO.WIDEREL, // rightwards arrow with tail + '\u21A4': MO.WIDEREL, // leftwards arrow from bar + '\u21A5': MO.WIDEREL, // upwards arrow from bar + '\u21A7': MO.WIDEREL, // downwards arrow from bar + '\u21A8': MO.WIDEREL, // up down arrow with base + '\u21AB': MO.WIDEREL, // leftwards arrow with loop + '\u21AC': MO.WIDEREL, // rightwards arrow with loop + '\u21AD': MO.WIDEREL, // left right wave arrow + '\u21AE': MO.REL, // left right arrow with stroke + '\u21AF': MO.WIDEREL, // downwards zigzag arrow + '\u21B0': MO.WIDEREL, // upwards arrow with tip leftwards + '\u21B1': MO.WIDEREL, // upwards arrow with tip rightwards + '\u21B2': MO.WIDEREL, // downwards arrow with tip leftwards + '\u21B3': MO.WIDEREL, // downwards arrow with tip rightwards + '\u21B4': MO.WIDEREL, // rightwards arrow with corner downwards + '\u21B5': MO.WIDEREL, // downwards arrow with corner leftwards + '\u21B6': MO.REL, // anticlockwise top semicircle arrow + '\u21B7': MO.REL, // clockwise top semicircle arrow + '\u21B8': MO.REL, // north west arrow to long bar + '\u21B9': MO.WIDEREL, // leftwards arrow to bar over rightwards arrow to bar + '\u21BA': MO.REL, // anticlockwise open circle arrow + '\u21BB': MO.REL, // clockwise open circle arrow + '\u21BE': MO.WIDEREL, // upwards harpoon with barb rightwards + '\u21BF': MO.WIDEREL, // upwards harpoon with barb leftwards + '\u21C2': MO.WIDEREL, // downwards harpoon with barb rightwards + '\u21C3': MO.WIDEREL, // downwards harpoon with barb leftwards + '\u21C4': MO.WIDEREL, // rightwards arrow over leftwards arrow + '\u21C5': MO.WIDEREL, // upwards arrow leftwards of downwards arrow + '\u21C6': MO.WIDEREL, // leftwards arrow over rightwards arrow + '\u21C7': MO.WIDEREL, // leftwards paired arrows + '\u21C8': MO.WIDEREL, // upwards paired arrows + '\u21C9': MO.WIDEREL, // rightwards paired arrows + '\u21CA': MO.WIDEREL, // downwards paired arrows + '\u21CB': MO.WIDEREL, // leftwards harpoon over rightwards harpoon + '\u21CD': MO.REL, // leftwards double arrow with stroke + '\u21CE': MO.REL, // left right double arrow with stroke + '\u21CF': MO.REL, // rightwards double arrow with stroke + '\u21D6': MO.WIDEREL, // north west double arrow + '\u21D7': MO.WIDEREL, // north east double arrow + '\u21D8': MO.WIDEREL, // south east double arrow + '\u21D9': MO.WIDEREL, // south west double arrow + '\u21DA': MO.WIDEREL, // leftwards triple arrow + '\u21DB': MO.WIDEREL, // rightwards triple arrow + '\u21DC': MO.WIDEREL, // leftwards squiggle arrow + '\u21DD': MO.WIDEREL, // rightwards squiggle arrow + '\u21DE': MO.REL, // upwards arrow with double stroke + '\u21DF': MO.REL, // downwards arrow with double stroke + '\u21E0': MO.WIDEREL, // leftwards dashed arrow + '\u21E1': MO.WIDEREL, // upwards dashed arrow + '\u21E2': MO.WIDEREL, // rightwards dashed arrow + '\u21E3': MO.WIDEREL, // downwards dashed arrow + '\u21E4': MO.WIDEREL, // leftwards arrow to bar + '\u21E5': MO.WIDEREL, // rightwards arrow to bar + '\u21E6': MO.WIDEREL, // leftwards white arrow + '\u21E7': MO.WIDEREL, // upwards white arrow + '\u21E8': MO.WIDEREL, // rightwards white arrow + '\u21E9': MO.WIDEREL, // downwards white arrow + '\u21EA': MO.WIDEREL, // upwards white arrow from bar + '\u21EB': MO.WIDEREL, // upwards white arrow on pedestal + '\u21EC': MO.WIDEREL, // upwards white arrow on pedestal with horizontal bar + '\u21ED': MO.WIDEREL, // upwards white arrow on pedestal with vertical bar + '\u21EE': MO.WIDEREL, // upwards white double arrow + '\u21EF': MO.WIDEREL, // upwards white double arrow on pedestal + '\u21F0': MO.WIDEREL, // rightwards white arrow from wall + '\u21F1': MO.REL, // north west arrow to corner + '\u21F2': MO.REL, // south east arrow to corner + '\u21F3': MO.WIDEREL, // up down white arrow + '\u21F4': MO.REL, // right arrow with small circle + '\u21F5': MO.WIDEREL, // downwards arrow leftwards of upwards arrow + '\u21F6': MO.WIDEREL, // three rightwards arrows + '\u21F7': MO.REL, // leftwards arrow with vertical stroke + '\u21F8': MO.REL, // rightwards arrow with vertical stroke + '\u21F9': MO.REL, // left right arrow with vertical stroke + '\u21FA': MO.REL, // leftwards arrow with double vertical stroke + '\u21FB': MO.REL, // rightwards arrow with double vertical stroke + '\u21FC': MO.REL, // left right arrow with double vertical stroke + '\u21FD': MO.WIDEREL, // leftwards open-headed arrow + '\u21FE': MO.WIDEREL, // rightwards open-headed arrow + '\u21FF': MO.WIDEREL // left right open-headed arrow + } + } + }); + + MathJax.Ajax.loadComplete(MML.optableDir+"/Arrows.js"); + +})(MathJax.ElementJax.mml); diff --git a/modules/MathJax/jax/element/mml/optable/BasicLatin.js b/modules/MathJax/jax/element/mml/optable/BasicLatin.js new file mode 100644 index 0000000..fd47f2b --- /dev/null +++ b/modules/MathJax/jax/element/mml/optable/BasicLatin.js @@ -0,0 +1,58 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/optable/BasicLatin.js + * + * Copyright (c) 2010 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +(function (MML) { + var MO = MML.mo.OPTYPES; + var TEXCLASS = MML.TEXCLASS; + + MathJax.Hub.Insert(MML.mo.prototype,{ + OPTABLE: { + postfix: { + '!!': [1,0,TEXCLASS.BIN], // multiple character operator: !! + '\'': MO.ACCENT, // apostrophe + '++': [0,0,TEXCLASS.BIN], // multiple character operator: ++ + '--': [0,0,TEXCLASS.BIN], // multiple character operator: -- + '..': [0,0,TEXCLASS.BIN], // multiple character operator: .. + '...': MO.ORD // multiple character operator: ... + }, + infix: { + '!=': MO.BIN4, // multiple character operator: != + '&&': MO.BIN4, // multiple character operator: && + '**': [1,1,TEXCLASS.BIN], // multiple character operator: ** + '*=': MO.BIN4, // multiple character operator: *= + '+=': MO.BIN4, // multiple character operator: += + '-=': MO.BIN4, // multiple character operator: -= + '->': MO.BIN4, // multiple character operator: -> + '//': MO.BIN4, // multiple character operator: // + '/=': MO.BIN4, // multiple character operator: /= + ':=': MO.BIN4, // multiple character operator: := + '<=': MO.BIN4, // multiple character operator: <= + '<>': [1,1,TEXCLASS.BIN], // multiple character operator: <> + '==': MO.BIN4, // multiple character operator: == + '>=': MO.BIN4, // multiple character operator: >= + '@': MO.ORD11, // commercial at + '||': MO.BIN3 // multiple character operator: || + } + } + }); + + MathJax.Ajax.loadComplete(MML.optableDir+"/BasicLatin.js"); + +})(MathJax.ElementJax.mml); diff --git a/modules/MathJax/jax/element/mml/optable/CombDiacritMarks.js b/modules/MathJax/jax/element/mml/optable/CombDiacritMarks.js new file mode 100644 index 0000000..a4675c4 --- /dev/null +++ b/modules/MathJax/jax/element/mml/optable/CombDiacritMarks.js @@ -0,0 +1,35 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/optable/CombDiacritMarks.js + * + * Copyright (c) 2010 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +(function (MML) { + var MO = MML.mo.OPTYPES; + var TEXCLASS = MML.TEXCLASS; + + MathJax.Hub.Insert(MML.mo.prototype,{ + OPTABLE: { + postfix: { + '\u0311': MO.ACCENT // combining inverted breve + } + } + }); + + MathJax.Ajax.loadComplete(MML.optableDir+"/CombDiacritMarks.js"); + +})(MathJax.ElementJax.mml); diff --git a/modules/MathJax/jax/element/mml/optable/CombDiactForSymbols.js b/modules/MathJax/jax/element/mml/optable/CombDiactForSymbols.js new file mode 100644 index 0000000..66bf3e6 --- /dev/null +++ b/modules/MathJax/jax/element/mml/optable/CombDiactForSymbols.js @@ -0,0 +1,35 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/optable/CombDiactForSymbols.js + * + * Copyright (c) 2010 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +(function (MML) { + var MO = MML.mo.OPTYPES; + var TEXCLASS = MML.TEXCLASS; + + MathJax.Hub.Insert(MML.mo.prototype,{ + OPTABLE: { + postfix: { + '\u20DB': MO.ACCENT // combining three dots above + } + } + }); + + MathJax.Ajax.loadComplete(MML.optableDir+"/CombDiactForSymbols.js"); + +})(MathJax.ElementJax.mml); diff --git a/modules/MathJax/jax/element/mml/optable/Dingbats.js b/modules/MathJax/jax/element/mml/optable/Dingbats.js new file mode 100644 index 0000000..2e4d46d --- /dev/null +++ b/modules/MathJax/jax/element/mml/optable/Dingbats.js @@ -0,0 +1,35 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/optable/Dingbats.js + * + * Copyright (c) 2010 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +(function (MML) { + var MO = MML.mo.OPTYPES; + var TEXCLASS = MML.TEXCLASS; + + MathJax.Hub.Insert(MML.mo.prototype,{ + OPTABLE: { + infix: { + '\u2713': MO.WIDEACCENT // check mark + } + } + }); + + MathJax.Ajax.loadComplete(MML.optableDir+"/Dingbats.js"); + +})(MathJax.ElementJax.mml); diff --git a/modules/MathJax/jax/element/mml/optable/GeneralPunctuation.js b/modules/MathJax/jax/element/mml/optable/GeneralPunctuation.js new file mode 100644 index 0000000..636950c --- /dev/null +++ b/modules/MathJax/jax/element/mml/optable/GeneralPunctuation.js @@ -0,0 +1,40 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/optable/GeneralPunctuation.js + * + * Copyright (c) 2010 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +(function (MML) { + var MO = MML.mo.OPTYPES; + var TEXCLASS = MML.TEXCLASS; + + MathJax.Hub.Insert(MML.mo.prototype,{ + OPTABLE: { + prefix: { + '\u2018': [0,0,TEXCLASS.OPEN,{fence: true}], // left single quotation mark + '\u201C': [0,0,TEXCLASS.OPEN,{fence: true}] // left double quotation mark + }, + postfix: { + '\u2019': [0,0,TEXCLASS.CLOSE,{fence: true}], // right single quotation mark + '\u201D': [0,0,TEXCLASS.CLOSE,{fence: true}] // right double quotation mark + } + } + }); + + MathJax.Ajax.loadComplete(MML.optableDir+"/GeneralPunctuation.js"); + +})(MathJax.ElementJax.mml); diff --git a/modules/MathJax/jax/element/mml/optable/GeometricShapes.js b/modules/MathJax/jax/element/mml/optable/GeometricShapes.js new file mode 100644 index 0000000..4f373d0 --- /dev/null +++ b/modules/MathJax/jax/element/mml/optable/GeometricShapes.js @@ -0,0 +1,66 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/optable/GeometricShapes.js + * + * Copyright (c) 2010 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +(function (MML) { + var MO = MML.mo.OPTYPES; + var TEXCLASS = MML.TEXCLASS; + + MathJax.Hub.Insert(MML.mo.prototype,{ + OPTABLE: { + infix: { + '\u25A0': MO.BIN3, // black square + '\u25A1': MO.BIN3, // white square + '\u25AA': MO.BIN3, // black small square + '\u25AB': MO.BIN3, // white small square + '\u25AD': MO.BIN3, // white rectangle + '\u25AE': MO.BIN3, // black vertical rectangle + '\u25AF': MO.BIN3, // white vertical rectangle + '\u25B0': MO.BIN3, // black parallelogram + '\u25B1': MO.BIN3, // white parallelogram + '\u25B2': MO.BIN4, // black up-pointing triangle + '\u25B4': MO.BIN4, // black up-pointing small triangle + '\u25B6': MO.BIN4, // black right-pointing triangle + '\u25B7': MO.BIN4, // white right-pointing triangle + '\u25B8': MO.BIN4, // black right-pointing small triangle + '\u25BC': MO.BIN4, // black down-pointing triangle + '\u25BE': MO.BIN4, // black down-pointing small triangle + '\u25C0': MO.BIN4, // black left-pointing triangle + '\u25C1': MO.BIN4, // white left-pointing triangle + '\u25C2': MO.BIN4, // black left-pointing small triangle + '\u25C4': MO.BIN4, // black left-pointing pointer + '\u25C5': MO.BIN4, // white left-pointing pointer + '\u25C6': MO.BIN4, // black diamond + '\u25C7': MO.BIN4, // white diamond + '\u25C8': MO.BIN4, // white diamond containing black small diamond + '\u25C9': MO.BIN4, // fisheye + '\u25CC': MO.BIN4, // dotted circle + '\u25CD': MO.BIN4, // circle with vertical fill + '\u25CE': MO.BIN4, // bullseye + '\u25CF': MO.BIN4, // black circle + '\u25D6': MO.BIN4, // left half black circle + '\u25D7': MO.BIN4, // right half black circle + '\u25E6': MO.BIN4 // white bullet + } + } + }); + + MathJax.Ajax.loadComplete(MML.optableDir+"/GeometricShapes.js"); + +})(MathJax.ElementJax.mml); diff --git a/modules/MathJax/jax/element/mml/optable/GreekAndCoptic.js b/modules/MathJax/jax/element/mml/optable/GreekAndCoptic.js new file mode 100644 index 0000000..9c36401 --- /dev/null +++ b/modules/MathJax/jax/element/mml/optable/GreekAndCoptic.js @@ -0,0 +1,35 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/optable/GreekAndCoptic.js + * + * Copyright (c) 2010 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +(function (MML) { + var MO = MML.mo.OPTYPES; + var TEXCLASS = MML.TEXCLASS; + + MathJax.Hub.Insert(MML.mo.prototype,{ + OPTABLE: { + prefix: { + '\u03C3': MO.ORD11 // greek small letter sigma + } + } + }); + + MathJax.Ajax.loadComplete(MML.optableDir+"/GreekAndCoptic.js"); + +})(MathJax.ElementJax.mml); diff --git a/modules/MathJax/jax/element/mml/optable/Latin1Supplement.js b/modules/MathJax/jax/element/mml/optable/Latin1Supplement.js new file mode 100644 index 0000000..2f426e7 --- /dev/null +++ b/modules/MathJax/jax/element/mml/optable/Latin1Supplement.js @@ -0,0 +1,37 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/optable/Latin1Supplement.js + * + * Copyright (c) 2010 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +(function (MML) { + var MO = MML.mo.OPTYPES; + var TEXCLASS = MML.TEXCLASS; + + MathJax.Hub.Insert(MML.mo.prototype,{ + OPTABLE: { + postfix: { + '\u00B0': MO.ORD, // degree sign + '\u00B4': MO.ACCENT, // acute accent + '\u00B8': MO.ACCENT // cedilla + } + } + }); + + MathJax.Ajax.loadComplete(MML.optableDir+"/Latin1Supplement.js"); + +})(MathJax.ElementJax.mml); diff --git a/modules/MathJax/jax/element/mml/optable/LetterlikeSymbols.js b/modules/MathJax/jax/element/mml/optable/LetterlikeSymbols.js new file mode 100644 index 0000000..36514ab --- /dev/null +++ b/modules/MathJax/jax/element/mml/optable/LetterlikeSymbols.js @@ -0,0 +1,39 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/optable/LetterlikeSymbols.js + * + * Copyright (c) 2010 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +(function (MML) { + var MO = MML.mo.OPTYPES; + var TEXCLASS = MML.TEXCLASS; + + MathJax.Hub.Insert(MML.mo.prototype,{ + OPTABLE: { + prefix: { + '\u2145': MO.ORD21, // double-struck italic capital d + '\u2146': [2,0,TEXCLASS.ORD], // double-struck italic small d + '\u2147': MO.ORD, // double-struck italic small e + '\u2148': MO.ORD, // double-struck italic small i + '\u2149': MO.ORD // double-struck italic small j + } + } + }); + + MathJax.Ajax.loadComplete(MML.optableDir+"/LetterlikeSymbols.js"); + +})(MathJax.ElementJax.mml); diff --git a/modules/MathJax/jax/element/mml/optable/MathOperators.js b/modules/MathJax/jax/element/mml/optable/MathOperators.js new file mode 100644 index 0000000..9e4cf15 --- /dev/null +++ b/modules/MathJax/jax/element/mml/optable/MathOperators.js @@ -0,0 +1,228 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/optable/MathOperators.js + * + * Copyright (c) 2010 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +(function (MML) { + var MO = MML.mo.OPTYPES; + var TEXCLASS = MML.TEXCLASS; + + MathJax.Hub.Insert(MML.mo.prototype,{ + OPTABLE: { + prefix: { + '\u2204': MO.ORD21, // there does not exist + '\u221B': MO.ORD11, // cube root + '\u221C': MO.ORD11, // fourth root + '\u2221': MO.ORD, // measured angle + '\u2222': MO.ORD, // spherical angle + '\u222C': MO.INTEGRAL, // double integral + '\u222D': MO.INTEGRAL, // triple integral + '\u222F': MO.INTEGRAL, // surface integral + '\u2230': MO.INTEGRAL, // volume integral + '\u2231': MO.INTEGRAL, // clockwise integral + '\u2232': MO.INTEGRAL, // clockwise contour integral + '\u2233': MO.INTEGRAL // anticlockwise contour integral + }, + infix: { + '\u2201': [1,2,TEXCLASS.ORD], // complement + '\u2206': MO.BIN3, // increment + '\u220A': MO.REL, // small element of + '\u220C': MO.REL, // does not contain as member + '\u220D': MO.REL, // small contains as member + '\u220E': MO.BIN3, // end of proof + '\u2214': MO.BIN4, // dot plus + '\u221F': MO.REL, // right angle + '\u2224': MO.REL, // does not divide + '\u2226': MO.REL, // not parallel to + '\u2234': MO.REL, // therefore + '\u2235': MO.REL, // because + '\u2236': MO.REL, // ratio + '\u2237': MO.REL, // proportion + '\u2238': MO.BIN4, // dot minus + '\u2239': MO.REL, // excess + '\u223A': MO.BIN4, // geometric proportion + '\u223B': MO.REL, // homothetic + '\u223D': MO.REL, // reversed tilde + '\u223D\u0331': MO.BIN3, // reversed tilde with underline + '\u223E': MO.REL, // inverted lazy s + '\u223F': MO.BIN3, // sine wave + '\u2241': MO.REL, // not tilde + '\u2242': MO.REL, // minus tilde + '\u2242\u0338': MO.BIN4, // minus tilde with slash + '\u2244': MO.REL, // not asymptotically equal to + '\u2246': MO.REL, // approximately but not actually equal to + '\u2247': MO.REL, // neither approximately nor actually equal to + '\u2249': MO.REL, // not almost equal to + '\u224A': MO.REL, // almost equal or equal to + '\u224B': MO.REL, // triple tilde + '\u224C': MO.REL, // all equal to + '\u224E': MO.REL, // geometrically equivalent to + '\u224E\u0338': MO.BIN4, // geometrically equivalent to with slash + '\u224F': MO.REL, // difference between + '\u224F\u0338': MO.BIN4, // difference between with slash + '\u2251': MO.REL, // geometrically equal to + '\u2252': MO.REL, // approximately equal to or the image of + '\u2253': MO.REL, // image of or approximately equal to + '\u2254': MO.REL, // colon equals + '\u2255': MO.REL, // equals colon + '\u2256': MO.REL, // ring in equal to + '\u2257': MO.REL, // ring equal to + '\u2258': MO.REL, // corresponds to + '\u2259': MO.REL, // estimates + '\u225A': MO.REL, // equiangular to + '\u225C': MO.REL, // delta equal to + '\u225D': MO.REL, // equal to by definition + '\u225E': MO.REL, // measured by + '\u225F': MO.REL, // questioned equal to + '\u2262': MO.REL, // not identical to + '\u2263': MO.REL, // strictly equivalent to + '\u2266': MO.REL, // less-than over equal to + '\u2266\u0338': MO.BIN4, // less-than over equal to with slash + '\u2267': MO.REL, // greater-than over equal to + '\u2268': MO.REL, // less-than but not equal to + '\u2269': MO.REL, // greater-than but not equal to + '\u226A\u0338': MO.BIN4, // much less than with slash + '\u226B\u0338': MO.BIN4, // much greater than with slash + '\u226C': MO.REL, // between + '\u226D': MO.REL, // not equivalent to + '\u226E': MO.REL, // not less-than + '\u226F': MO.REL, // not greater-than + '\u2270': MO.REL, // neither less-than nor equal to + '\u2271': MO.REL, // neither greater-than nor equal to + '\u2272': MO.REL, // less-than or equivalent to + '\u2273': MO.REL, // greater-than or equivalent to + '\u2274': MO.REL, // neither less-than nor equivalent to + '\u2275': MO.REL, // neither greater-than nor equivalent to + '\u2276': MO.REL, // less-than or greater-than + '\u2277': MO.REL, // greater-than or less-than + '\u2278': MO.REL, // neither less-than nor greater-than + '\u2279': MO.REL, // neither greater-than nor less-than + '\u227C': MO.REL, // precedes or equal to + '\u227D': MO.REL, // succeeds or equal to + '\u227E': MO.REL, // precedes or equivalent to + '\u227F': MO.REL, // succeeds or equivalent to + '\u227F\u0338': MO.BIN4, // succeeds or equivalent to with slash + '\u2280': MO.REL, // does not precede + '\u2281': MO.REL, // does not succeed + '\u2282\u20D2': MO.BIN4, // subset of with vertical line + '\u2283\u20D2': MO.BIN4, // superset of with vertical line + '\u2284': MO.REL, // not a subset of + '\u2285': MO.REL, // not a superset of + '\u2288': MO.REL, // neither a subset of nor equal to + '\u2289': MO.REL, // neither a superset of nor equal to + '\u228A': MO.REL, // subset of with not equal to + '\u228B': MO.REL, // superset of with not equal to + '\u228C': MO.BIN4, // multiset + '\u228D': MO.BIN4, // multiset multiplication + '\u228F': MO.REL, // square image of + '\u228F\u0338': MO.BIN4, // square image of with slash + '\u2290': MO.REL, // square original of + '\u2290\u0338': MO.BIN4, // square original of with slash + '\u229A': MO.BIN4, // circled ring operator + '\u229B': MO.BIN4, // circled asterisk operator + '\u229C': MO.BIN4, // circled equals + '\u229D': MO.BIN4, // circled dash + '\u229E': MO.BIN4, // squared plus + '\u229F': MO.BIN4, // squared minus + '\u22A0': MO.BIN4, // squared times + '\u22A1': MO.BIN4, // squared dot operator + '\u22A6': MO.REL, // assertion + '\u22A7': MO.REL, // models + '\u22A9': MO.REL, // forces + '\u22AA': MO.REL, // triple vertical bar right turnstile + '\u22AB': MO.REL, // double vertical bar double right turnstile + '\u22AC': MO.REL, // does not prove + '\u22AD': MO.REL, // not true + '\u22AE': MO.REL, // does not force + '\u22AF': MO.REL, // negated double vertical bar double right turnstile + '\u22B0': MO.REL, // precedes under relation + '\u22B1': MO.REL, // succeeds under relation + '\u22B2': MO.REL, // normal subgroup of + '\u22B3': MO.REL, // contains as normal subgroup + '\u22B4': MO.REL, // normal subgroup of or equal to + '\u22B5': MO.REL, // contains as normal subgroup or equal to + '\u22B6': MO.REL, // original of + '\u22B7': MO.REL, // image of + '\u22B8': MO.REL, // multimap + '\u22B9': MO.REL, // hermitian conjugate matrix + '\u22BA': MO.BIN4, // intercalate + '\u22BB': MO.BIN4, // xor + '\u22BC': MO.BIN4, // nand + '\u22BD': MO.BIN4, // nor + '\u22BE': MO.BIN3, // right angle with arc + '\u22BF': MO.BIN3, // right triangle + '\u22C7': MO.BIN4, // division times + '\u22C9': MO.BIN4, // left normal factor semidirect product + '\u22CA': MO.BIN4, // right normal factor semidirect product + '\u22CB': MO.BIN4, // left semidirect product + '\u22CC': MO.BIN4, // right semidirect product + '\u22CD': MO.REL, // reversed tilde equals + '\u22CE': MO.BIN4, // curly logical or + '\u22CF': MO.BIN4, // curly logical and + '\u22D0': MO.REL, // double subset + '\u22D1': MO.REL, // double superset + '\u22D2': MO.BIN4, // double intersection + '\u22D3': MO.BIN4, // double union + '\u22D4': MO.REL, // pitchfork + '\u22D5': MO.REL, // equal and parallel to + '\u22D6': MO.REL, // less-than with dot + '\u22D7': MO.REL, // greater-than with dot + '\u22D8': MO.REL, // very much less-than + '\u22D9': MO.REL, // very much greater-than + '\u22DA': MO.REL, // less-than equal to or greater-than + '\u22DB': MO.REL, // greater-than equal to or less-than + '\u22DC': MO.REL, // equal to or less-than + '\u22DD': MO.REL, // equal to or greater-than + '\u22DE': MO.REL, // equal to or precedes + '\u22DF': MO.REL, // equal to or succeeds + '\u22E0': MO.REL, // does not precede or equal + '\u22E1': MO.REL, // does not succeed or equal + '\u22E2': MO.REL, // not square image of or equal to + '\u22E3': MO.REL, // not square original of or equal to + '\u22E4': MO.REL, // square image of or not equal to + '\u22E5': MO.REL, // square original of or not equal to + '\u22E6': MO.REL, // less-than but not equivalent to + '\u22E7': MO.REL, // greater-than but not equivalent to + '\u22E8': MO.REL, // precedes but not equivalent to + '\u22E9': MO.REL, // succeeds but not equivalent to + '\u22EA': MO.REL, // not normal subgroup of + '\u22EB': MO.REL, // does not contain as normal subgroup + '\u22EC': MO.REL, // not normal subgroup of or equal to + '\u22ED': MO.REL, // does not contain as normal subgroup or equal + '\u22F0': MO.REL, // up right diagonal ellipsis + '\u22F2': MO.REL, // element of with long horizontal stroke + '\u22F3': MO.REL, // element of with vertical bar at end of horizontal stroke + '\u22F4': MO.REL, // small element of with vertical bar at end of horizontal stroke + '\u22F5': MO.REL, // element of with dot above + '\u22F6': MO.REL, // element of with overbar + '\u22F7': MO.REL, // small element of with overbar + '\u22F8': MO.REL, // element of with underbar + '\u22F9': MO.REL, // element of with two horizontal strokes + '\u22FA': MO.REL, // contains with long horizontal stroke + '\u22FB': MO.REL, // contains with vertical bar at end of horizontal stroke + '\u22FC': MO.REL, // small contains with vertical bar at end of horizontal stroke + '\u22FD': MO.REL, // contains with overbar + '\u22FE': MO.REL, // small contains with overbar + '\u22FF': MO.REL // z notation bag membership + } + } + }); + + MathJax.Ajax.loadComplete(MML.optableDir+"/MathOperators.js"); + +})(MathJax.ElementJax.mml); diff --git a/modules/MathJax/jax/element/mml/optable/MiscMathSymbolsA.js b/modules/MathJax/jax/element/mml/optable/MiscMathSymbolsA.js new file mode 100644 index 0000000..a8091a2 --- /dev/null +++ b/modules/MathJax/jax/element/mml/optable/MiscMathSymbolsA.js @@ -0,0 +1,38 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/optable/MiscMathSymbolsA.js + * + * Copyright (c) 2010 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +(function (MML) { + var MO = MML.mo.OPTYPES; + var TEXCLASS = MML.TEXCLASS; + + MathJax.Hub.Insert(MML.mo.prototype,{ + OPTABLE: { + prefix: { + '\u27E6': MO.OPEN // mathematical left white square bracket + }, + postfix: { + '\u27E7': MO.CLOSE // mathematical right white square bracket + } + } + }); + + MathJax.Ajax.loadComplete(MML.optableDir+"/MiscMathSymbolsA.js"); + +})(MathJax.ElementJax.mml); diff --git a/modules/MathJax/jax/element/mml/optable/MiscMathSymbolsB.js b/modules/MathJax/jax/element/mml/optable/MiscMathSymbolsB.js new file mode 100644 index 0000000..7c6453b --- /dev/null +++ b/modules/MathJax/jax/element/mml/optable/MiscMathSymbolsB.js @@ -0,0 +1,167 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/optable/MiscMathSymbolsB.js + * + * Copyright (c) 2010 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +(function (MML) { + var MO = MML.mo.OPTYPES; + var TEXCLASS = MML.TEXCLASS; + + MathJax.Hub.Insert(MML.mo.prototype,{ + OPTABLE: { + prefix: { + '\u2983': MO.OPEN, // left white curly bracket + '\u2985': MO.OPEN, // left white parenthesis + '\u2987': MO.OPEN, // z notation left image bracket + '\u2989': MO.OPEN, // z notation left binding bracket + '\u298B': MO.OPEN, // left square bracket with underbar + '\u298D': MO.OPEN, // left square bracket with tick in top corner + '\u298F': MO.OPEN, // left square bracket with tick in bottom corner + '\u2991': MO.OPEN, // left angle bracket with dot + '\u2993': MO.OPEN, // left arc less-than bracket + '\u2995': MO.OPEN, // double left arc greater-than bracket + '\u2997': MO.OPEN, // left black tortoise shell bracket + '\u29FC': MO.OPEN // left-pointing curved angle bracket + }, + postfix: { + '\u2984': MO.CLOSE, // right white curly bracket + '\u2986': MO.CLOSE, // right white parenthesis + '\u2988': MO.CLOSE, // z notation right image bracket + '\u298A': MO.CLOSE, // z notation right binding bracket + '\u298C': MO.CLOSE, // right square bracket with underbar + '\u298E': MO.CLOSE, // right square bracket with tick in bottom corner + '\u2990': MO.CLOSE, // right square bracket with tick in top corner + '\u2992': MO.CLOSE, // right angle bracket with dot + '\u2994': MO.CLOSE, // right arc greater-than bracket + '\u2996': MO.CLOSE, // double right arc less-than bracket + '\u2998': MO.CLOSE, // right black tortoise shell bracket + '\u29FD': MO.CLOSE // right-pointing curved angle bracket + }, + infix: { + '\u2980': MO.ORD, // triple vertical bar delimiter + '\u2981': MO.BIN3, // z notation spot + '\u2982': MO.BIN3, // z notation type colon + '\u2999': MO.BIN3, // dotted fence + '\u299A': MO.BIN3, // vertical zigzag line + '\u299B': MO.BIN3, // measured angle opening left + '\u299C': MO.BIN3, // right angle variant with square + '\u299D': MO.BIN3, // measured right angle with dot + '\u299E': MO.BIN3, // angle with s inside + '\u299F': MO.BIN3, // acute angle + '\u29A0': MO.BIN3, // spherical angle opening left + '\u29A1': MO.BIN3, // spherical angle opening up + '\u29A2': MO.BIN3, // turned angle + '\u29A3': MO.BIN3, // reversed angle + '\u29A4': MO.BIN3, // angle with underbar + '\u29A5': MO.BIN3, // reversed angle with underbar + '\u29A6': MO.BIN3, // oblique angle opening up + '\u29A7': MO.BIN3, // oblique angle opening down + '\u29A8': MO.BIN3, // measured angle with open arm ending in arrow pointing up and right + '\u29A9': MO.BIN3, // measured angle with open arm ending in arrow pointing up and left + '\u29AA': MO.BIN3, // measured angle with open arm ending in arrow pointing down and right + '\u29AB': MO.BIN3, // measured angle with open arm ending in arrow pointing down and left + '\u29AC': MO.BIN3, // measured angle with open arm ending in arrow pointing right and up + '\u29AD': MO.BIN3, // measured angle with open arm ending in arrow pointing left and up + '\u29AE': MO.BIN3, // measured angle with open arm ending in arrow pointing right and down + '\u29AF': MO.BIN3, // measured angle with open arm ending in arrow pointing left and down + '\u29B0': MO.BIN3, // reversed empty set + '\u29B1': MO.BIN3, // empty set with overbar + '\u29B2': MO.BIN3, // empty set with small circle above + '\u29B3': MO.BIN3, // empty set with right arrow above + '\u29B4': MO.BIN3, // empty set with left arrow above + '\u29B5': MO.BIN3, // circle with horizontal bar + '\u29B6': MO.BIN4, // circled vertical bar + '\u29B7': MO.BIN4, // circled parallel + '\u29B8': MO.BIN4, // circled reverse solidus + '\u29B9': MO.BIN4, // circled perpendicular + '\u29BA': MO.BIN4, // circle divided by horizontal bar and top half divided by vertical bar + '\u29BB': MO.BIN4, // circle with superimposed x + '\u29BC': MO.BIN4, // circled anticlockwise-rotated division sign + '\u29BD': MO.BIN4, // up arrow through circle + '\u29BE': MO.BIN4, // circled white bullet + '\u29BF': MO.BIN4, // circled bullet + '\u29C0': MO.REL, // circled less-than + '\u29C1': MO.REL, // circled greater-than + '\u29C2': MO.BIN3, // circle with small circle to the right + '\u29C3': MO.BIN3, // circle with two horizontal strokes to the right + '\u29C4': MO.BIN4, // squared rising diagonal slash + '\u29C5': MO.BIN4, // squared falling diagonal slash + '\u29C6': MO.BIN4, // squared asterisk + '\u29C7': MO.BIN4, // squared small circle + '\u29C8': MO.BIN4, // squared square + '\u29C9': MO.BIN3, // two joined squares + '\u29CA': MO.BIN3, // triangle with dot above + '\u29CB': MO.BIN3, // triangle with underbar + '\u29CC': MO.BIN3, // s in triangle + '\u29CD': MO.BIN3, // triangle with serifs at bottom + '\u29CE': MO.REL, // right triangle above left triangle + '\u29CF': MO.REL, // left triangle beside vertical bar + '\u29CF\u0338': MO.BIN4, // left triangle beside vertical bar with slash + '\u29D0': MO.REL, // vertical bar beside right triangle + '\u29D0\u0338': MO.BIN4, // vertical bar beside right triangle with slash + '\u29D1': MO.REL, // bowtie with left half black + '\u29D2': MO.REL, // bowtie with right half black + '\u29D3': MO.REL, // black bowtie + '\u29D4': MO.REL, // times with left half black + '\u29D5': MO.REL, // times with right half black + '\u29D6': MO.BIN4, // white hourglass + '\u29D7': MO.BIN4, // black hourglass + '\u29D8': MO.BIN3, // left wiggly fence + '\u29D9': MO.BIN3, // right wiggly fence + '\u29DB': MO.BIN3, // right double wiggly fence + '\u29DC': MO.BIN3, // incomplete infinity + '\u29DD': MO.BIN3, // tie over infinity + '\u29DE': MO.REL, // infinity negated with vertical bar + '\u29DF': MO.BIN3, // double-ended multimap + '\u29E0': MO.BIN3, // square with contoured outline + '\u29E1': MO.REL, // increases as + '\u29E2': MO.BIN4, // shuffle product + '\u29E3': MO.REL, // equals sign and slanted parallel + '\u29E4': MO.REL, // equals sign and slanted parallel with tilde above + '\u29E5': MO.REL, // identical to and slanted parallel + '\u29E6': MO.REL, // gleich stark + '\u29E7': MO.BIN3, // thermodynamic + '\u29E8': MO.BIN3, // down-pointing triangle with left half black + '\u29E9': MO.BIN3, // down-pointing triangle with right half black + '\u29EA': MO.BIN3, // black diamond with down arrow + '\u29EB': MO.BIN3, // black lozenge + '\u29EC': MO.BIN3, // white circle with down arrow + '\u29ED': MO.BIN3, // black circle with down arrow + '\u29EE': MO.BIN3, // error-barred white square + '\u29EF': MO.BIN3, // error-barred black square + '\u29F0': MO.BIN3, // error-barred white diamond + '\u29F1': MO.BIN3, // error-barred black diamond + '\u29F2': MO.BIN3, // error-barred white circle + '\u29F3': MO.BIN3, // error-barred black circle + '\u29F4': MO.REL, // rule-delayed + '\u29F5': MO.BIN4, // reverse solidus operator + '\u29F6': MO.BIN4, // solidus with overbar + '\u29F7': MO.BIN4, // reverse solidus with horizontal stroke + '\u29F8': MO.BIN3, // big solidus + '\u29F9': MO.BIN3, // big reverse solidus + '\u29FA': MO.BIN3, // double plus + '\u29FB': MO.BIN3, // triple plus + '\u29FE': MO.BIN4, // tiny + '\u29FF': MO.BIN4 // miny + } + } + }); + + MathJax.Ajax.loadComplete(MML.optableDir+"/MiscMathSymbolsB.js"); + +})(MathJax.ElementJax.mml); diff --git a/modules/MathJax/jax/element/mml/optable/MiscTechnical.js b/modules/MathJax/jax/element/mml/optable/MiscTechnical.js new file mode 100644 index 0000000..85b1dbf --- /dev/null +++ b/modules/MathJax/jax/element/mml/optable/MiscTechnical.js @@ -0,0 +1,38 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/optable/MiscTechnical.js + * + * Copyright (c) 2010 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +(function (MML) { + var MO = MML.mo.OPTYPES; + var TEXCLASS = MML.TEXCLASS; + + MathJax.Hub.Insert(MML.mo.prototype,{ + OPTABLE: { + postfix: { + '\u23B4': MO.WIDEACCENT, // top square bracket + '\u23B5': MO.WIDEACCENT, // bottom square bracket + '\u23DC': MO.WIDEACCENT, // top parenthesis + '\u23DD': MO.WIDEACCENT // bottom parenthesis + } + } + }); + + MathJax.Ajax.loadComplete(MML.optableDir+"/MiscTechnical.js"); + +})(MathJax.ElementJax.mml); diff --git a/modules/MathJax/jax/element/mml/optable/SpacingModLetters.js b/modules/MathJax/jax/element/mml/optable/SpacingModLetters.js new file mode 100644 index 0000000..45687ea --- /dev/null +++ b/modules/MathJax/jax/element/mml/optable/SpacingModLetters.js @@ -0,0 +1,36 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/optable/SpacingModLetters.js + * + * Copyright (c) 2010 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +(function (MML) { + var MO = MML.mo.OPTYPES; + var TEXCLASS = MML.TEXCLASS; + + MathJax.Hub.Insert(MML.mo.prototype,{ + OPTABLE: { + postfix: { + '\u02DA': MO.ACCENT, // ring above + '\u02DD': MO.ACCENT // double acute accent + } + } + }); + + MathJax.Ajax.loadComplete(MML.optableDir+"/SpacingModLetters.js"); + +})(MathJax.ElementJax.mml); diff --git a/modules/MathJax/jax/element/mml/optable/SuppMathOperators.js b/modules/MathJax/jax/element/mml/optable/SuppMathOperators.js new file mode 100644 index 0000000..eccb0d8 --- /dev/null +++ b/modules/MathJax/jax/element/mml/optable/SuppMathOperators.js @@ -0,0 +1,289 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/optable/SuppMathOperators.js + * + * Copyright (c) 2010 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +(function (MML) { + var MO = MML.mo.OPTYPES; + var TEXCLASS = MML.TEXCLASS; + + MathJax.Hub.Insert(MML.mo.prototype,{ + OPTABLE: { + prefix: { + '\u2A03': MO.OP, // n-ary union operator with dot + '\u2A05': MO.OP, // n-ary square intersection operator + '\u2A07': MO.OP, // two logical and operator + '\u2A08': MO.OP, // two logical or operator + '\u2A09': MO.OP, // n-ary times operator + '\u2A0A': MO.OP, // modulo two sum + '\u2A0B': MO.INTEGRAL2, // summation with integral + '\u2A0C': MO.INTEGRAL, // quadruple integral operator + '\u2A0D': MO.INTEGRAL2, // finite part integral + '\u2A0E': MO.INTEGRAL2, // integral with double stroke + '\u2A0F': MO.INTEGRAL2, // integral average with slash + '\u2A10': MO.OP, // circulation function + '\u2A11': MO.OP, // anticlockwise integration + '\u2A12': MO.OP, // line integration with rectangular path around pole + '\u2A13': MO.OP, // line integration with semicircular path around pole + '\u2A14': MO.OP, // line integration not including the pole + '\u2A15': MO.INTEGRAL2, // integral around a point operator + '\u2A16': MO.INTEGRAL2, // quaternion integral operator + '\u2A17': MO.INTEGRAL2, // integral with leftwards arrow with hook + '\u2A18': MO.INTEGRAL2, // integral with times sign + '\u2A19': MO.INTEGRAL2, // integral with intersection + '\u2A1A': MO.INTEGRAL2, // integral with union + '\u2A1B': MO.INTEGRAL2, // integral with overbar + '\u2A1C': MO.INTEGRAL2, // integral with underbar + '\u2AFC': MO.OP, // large triple vertical bar operator + '\u2AFF': MO.OP // n-ary white vertical bar + }, + infix: { + '\u2A1D': MO.BIN3, // join + '\u2A1E': MO.BIN3, // large left triangle operator + '\u2A1F': MO.BIN3, // z notation schema composition + '\u2A20': MO.BIN3, // z notation schema piping + '\u2A21': MO.BIN3, // z notation schema projection + '\u2A22': MO.BIN4, // plus sign with small circle above + '\u2A23': MO.BIN4, // plus sign with circumflex accent above + '\u2A24': MO.BIN4, // plus sign with tilde above + '\u2A25': MO.BIN4, // plus sign with dot below + '\u2A26': MO.BIN4, // plus sign with tilde below + '\u2A27': MO.BIN4, // plus sign with subscript two + '\u2A28': MO.BIN4, // plus sign with black triangle + '\u2A29': MO.BIN4, // minus sign with comma above + '\u2A2A': MO.BIN4, // minus sign with dot below + '\u2A2B': MO.BIN4, // minus sign with falling dots + '\u2A2C': MO.BIN4, // minus sign with rising dots + '\u2A2D': MO.BIN4, // plus sign in left half circle + '\u2A2E': MO.BIN4, // plus sign in right half circle + '\u2A30': MO.BIN4, // multiplication sign with dot above + '\u2A31': MO.BIN4, // multiplication sign with underbar + '\u2A32': MO.BIN4, // semidirect product with bottom closed + '\u2A33': MO.BIN4, // smash product + '\u2A34': MO.BIN4, // multiplication sign in left half circle + '\u2A35': MO.BIN4, // multiplication sign in right half circle + '\u2A36': MO.BIN4, // circled multiplication sign with circumflex accent + '\u2A37': MO.BIN4, // multiplication sign in double circle + '\u2A38': MO.BIN4, // circled division sign + '\u2A39': MO.BIN4, // plus sign in triangle + '\u2A3A': MO.BIN4, // minus sign in triangle + '\u2A3B': MO.BIN4, // multiplication sign in triangle + '\u2A3C': MO.BIN4, // interior product + '\u2A3D': MO.BIN4, // righthand interior product + '\u2A3E': MO.BIN4, // z notation relational composition + '\u2A40': MO.BIN4, // intersection with dot + '\u2A41': MO.BIN4, // union with minus sign + '\u2A42': MO.BIN4, // union with overbar + '\u2A43': MO.BIN4, // intersection with overbar + '\u2A44': MO.BIN4, // intersection with logical and + '\u2A45': MO.BIN4, // union with logical or + '\u2A46': MO.BIN4, // union above intersection + '\u2A47': MO.BIN4, // intersection above union + '\u2A48': MO.BIN4, // union above bar above intersection + '\u2A49': MO.BIN4, // intersection above bar above union + '\u2A4A': MO.BIN4, // union beside and joined with union + '\u2A4B': MO.BIN4, // intersection beside and joined with intersection + '\u2A4C': MO.BIN4, // closed union with serifs + '\u2A4D': MO.BIN4, // closed intersection with serifs + '\u2A4E': MO.BIN4, // double square intersection + '\u2A4F': MO.BIN4, // double square union + '\u2A50': MO.BIN4, // closed union with serifs and smash product + '\u2A51': MO.BIN4, // logical and with dot above + '\u2A52': MO.BIN4, // logical or with dot above + '\u2A53': MO.BIN4, // double logical and + '\u2A54': MO.BIN4, // double logical or + '\u2A55': MO.BIN4, // two intersecting logical and + '\u2A56': MO.BIN4, // two intersecting logical or + '\u2A57': MO.BIN4, // sloping large or + '\u2A58': MO.BIN4, // sloping large and + '\u2A59': MO.REL, // logical or overlapping logical and + '\u2A5A': MO.BIN4, // logical and with middle stem + '\u2A5B': MO.BIN4, // logical or with middle stem + '\u2A5C': MO.BIN4, // logical and with horizontal dash + '\u2A5D': MO.BIN4, // logical or with horizontal dash + '\u2A5E': MO.BIN4, // logical and with double overbar + '\u2A5F': MO.BIN4, // logical and with underbar + '\u2A60': MO.BIN4, // logical and with double underbar + '\u2A61': MO.BIN4, // small vee with underbar + '\u2A62': MO.BIN4, // logical or with double overbar + '\u2A63': MO.BIN4, // logical or with double underbar + '\u2A64': MO.BIN4, // z notation domain antirestriction + '\u2A65': MO.BIN4, // z notation range antirestriction + '\u2A66': MO.REL, // equals sign with dot below + '\u2A67': MO.REL, // identical with dot above + '\u2A68': MO.REL, // triple horizontal bar with double vertical stroke + '\u2A69': MO.REL, // triple horizontal bar with triple vertical stroke + '\u2A6A': MO.REL, // tilde operator with dot above + '\u2A6B': MO.REL, // tilde operator with rising dots + '\u2A6C': MO.REL, // similar minus similar + '\u2A6D': MO.REL, // congruent with dot above + '\u2A6E': MO.REL, // equals with asterisk + '\u2A6F': MO.REL, // almost equal to with circumflex accent + '\u2A70': MO.REL, // approximately equal or equal to + '\u2A71': MO.BIN4, // equals sign above plus sign + '\u2A72': MO.BIN4, // plus sign above equals sign + '\u2A73': MO.REL, // equals sign above tilde operator + '\u2A74': MO.REL, // double colon equal + '\u2A75': MO.REL, // two consecutive equals signs + '\u2A76': MO.REL, // three consecutive equals signs + '\u2A77': MO.REL, // equals sign with two dots above and two dots below + '\u2A78': MO.REL, // equivalent with four dots above + '\u2A79': MO.REL, // less-than with circle inside + '\u2A7A': MO.REL, // greater-than with circle inside + '\u2A7B': MO.REL, // less-than with question mark above + '\u2A7C': MO.REL, // greater-than with question mark above + '\u2A7D': MO.REL, // less-than or slanted equal to + '\u2A7D\u0338': MO.BIN4, // less-than or slanted equal to with slash + '\u2A7E': MO.REL, // greater-than or slanted equal to + '\u2A7E\u0338': MO.BIN4, // greater-than or slanted equal to with slash + '\u2A7F': MO.REL, // less-than or slanted equal to with dot inside + '\u2A80': MO.REL, // greater-than or slanted equal to with dot inside + '\u2A81': MO.REL, // less-than or slanted equal to with dot above + '\u2A82': MO.REL, // greater-than or slanted equal to with dot above + '\u2A83': MO.REL, // less-than or slanted equal to with dot above right + '\u2A84': MO.REL, // greater-than or slanted equal to with dot above left + '\u2A85': MO.REL, // less-than or approximate + '\u2A86': MO.REL, // greater-than or approximate + '\u2A87': MO.REL, // less-than and single-line not equal to + '\u2A88': MO.REL, // greater-than and single-line not equal to + '\u2A89': MO.REL, // less-than and not approximate + '\u2A8A': MO.REL, // greater-than and not approximate + '\u2A8B': MO.REL, // less-than above double-line equal above greater-than + '\u2A8C': MO.REL, // greater-than above double-line equal above less-than + '\u2A8D': MO.REL, // less-than above similar or equal + '\u2A8E': MO.REL, // greater-than above similar or equal + '\u2A8F': MO.REL, // less-than above similar above greater-than + '\u2A90': MO.REL, // greater-than above similar above less-than + '\u2A91': MO.REL, // less-than above greater-than above double-line equal + '\u2A92': MO.REL, // greater-than above less-than above double-line equal + '\u2A93': MO.REL, // less-than above slanted equal above greater-than above slanted equal + '\u2A94': MO.REL, // greater-than above slanted equal above less-than above slanted equal + '\u2A95': MO.REL, // slanted equal to or less-than + '\u2A96': MO.REL, // slanted equal to or greater-than + '\u2A97': MO.REL, // slanted equal to or less-than with dot inside + '\u2A98': MO.REL, // slanted equal to or greater-than with dot inside + '\u2A99': MO.REL, // double-line equal to or less-than + '\u2A9A': MO.REL, // double-line equal to or greater-than + '\u2A9B': MO.REL, // double-line slanted equal to or less-than + '\u2A9C': MO.REL, // double-line slanted equal to or greater-than + '\u2A9D': MO.REL, // similar or less-than + '\u2A9E': MO.REL, // similar or greater-than + '\u2A9F': MO.REL, // similar above less-than above equals sign + '\u2AA0': MO.REL, // similar above greater-than above equals sign + '\u2AA1': MO.REL, // double nested less-than + '\u2AA1\u0338': MO.BIN4, // double nested less-than with slash + '\u2AA2': MO.REL, // double nested greater-than + '\u2AA2\u0338': MO.BIN4, // double nested greater-than with slash + '\u2AA3': MO.REL, // double nested less-than with underbar + '\u2AA4': MO.REL, // greater-than overlapping less-than + '\u2AA5': MO.REL, // greater-than beside less-than + '\u2AA6': MO.REL, // less-than closed by curve + '\u2AA7': MO.REL, // greater-than closed by curve + '\u2AA8': MO.REL, // less-than closed by curve above slanted equal + '\u2AA9': MO.REL, // greater-than closed by curve above slanted equal + '\u2AAA': MO.REL, // smaller than + '\u2AAB': MO.REL, // larger than + '\u2AAC': MO.REL, // smaller than or equal to + '\u2AAD': MO.REL, // larger than or equal to + '\u2AAE': MO.REL, // equals sign with bumpy above + '\u2AAF\u0338': MO.BIN4, // precedes above single-line equals sign with slash + '\u2AB0\u0338': MO.BIN4, // succeeds above single-line equals sign with slash + '\u2AB1': MO.REL, // precedes above single-line not equal to + '\u2AB2': MO.REL, // succeeds above single-line not equal to + '\u2AB3': MO.REL, // precedes above equals sign + '\u2AB4': MO.REL, // succeeds above equals sign + '\u2AB5': MO.REL, // precedes above not equal to + '\u2AB6': MO.REL, // succeeds above not equal to + '\u2AB7': MO.REL, // precedes above almost equal to + '\u2AB8': MO.REL, // succeeds above almost equal to + '\u2AB9': MO.REL, // precedes above not almost equal to + '\u2ABA': MO.REL, // succeeds above not almost equal to + '\u2ABB': MO.REL, // double precedes + '\u2ABC': MO.REL, // double succeeds + '\u2ABD': MO.REL, // subset with dot + '\u2ABE': MO.REL, // superset with dot + '\u2ABF': MO.REL, // subset with plus sign below + '\u2AC0': MO.REL, // superset with plus sign below + '\u2AC1': MO.REL, // subset with multiplication sign below + '\u2AC2': MO.REL, // superset with multiplication sign below + '\u2AC3': MO.REL, // subset of or equal to with dot above + '\u2AC4': MO.REL, // superset of or equal to with dot above + '\u2AC5': MO.REL, // subset of above equals sign + '\u2AC6': MO.REL, // superset of above equals sign + '\u2AC7': MO.REL, // subset of above tilde operator + '\u2AC8': MO.REL, // superset of above tilde operator + '\u2AC9': MO.REL, // subset of above almost equal to + '\u2ACA': MO.REL, // superset of above almost equal to + '\u2ACB': MO.REL, // subset of above not equal to + '\u2ACC': MO.REL, // superset of above not equal to + '\u2ACD': MO.REL, // square left open box operator + '\u2ACE': MO.REL, // square right open box operator + '\u2ACF': MO.REL, // closed subset + '\u2AD0': MO.REL, // closed superset + '\u2AD1': MO.REL, // closed subset or equal to + '\u2AD2': MO.REL, // closed superset or equal to + '\u2AD3': MO.REL, // subset above superset + '\u2AD4': MO.REL, // superset above subset + '\u2AD5': MO.REL, // subset above subset + '\u2AD6': MO.REL, // superset above superset + '\u2AD7': MO.REL, // superset beside subset + '\u2AD8': MO.REL, // superset beside and joined by dash with subset + '\u2AD9': MO.REL, // element of opening downwards + '\u2ADA': MO.REL, // pitchfork with tee top + '\u2ADB': MO.REL, // transversal intersection + '\u2ADC': MO.REL, // forking + '\u2ADD': MO.REL, // nonforking + '\u2ADE': MO.REL, // short left tack + '\u2ADF': MO.REL, // short down tack + '\u2AE0': MO.REL, // short up tack + '\u2AE1': MO.REL, // perpendicular with s + '\u2AE2': MO.REL, // vertical bar triple right turnstile + '\u2AE3': MO.REL, // double vertical bar left turnstile + '\u2AE4': MO.REL, // vertical bar double left turnstile + '\u2AE5': MO.REL, // double vertical bar double left turnstile + '\u2AE6': MO.REL, // long dash from left member of double vertical + '\u2AE7': MO.REL, // short down tack with overbar + '\u2AE8': MO.REL, // short up tack with underbar + '\u2AE9': MO.REL, // short up tack above short down tack + '\u2AEA': MO.REL, // double down tack + '\u2AEB': MO.REL, // double up tack + '\u2AEC': MO.REL, // double stroke not sign + '\u2AED': MO.REL, // reversed double stroke not sign + '\u2AEE': MO.REL, // does not divide with reversed negation slash + '\u2AEF': MO.REL, // vertical line with circle above + '\u2AF0': MO.REL, // vertical line with circle below + '\u2AF1': MO.REL, // down tack with circle below + '\u2AF2': MO.REL, // parallel with horizontal stroke + '\u2AF3': MO.REL, // parallel with tilde operator + '\u2AF4': MO.BIN4, // triple vertical bar binary relation + '\u2AF5': MO.BIN4, // triple vertical bar with horizontal stroke + '\u2AF6': MO.BIN4, // triple colon operator + '\u2AF7': MO.REL, // triple nested less-than + '\u2AF8': MO.REL, // triple nested greater-than + '\u2AF9': MO.REL, // double-line slanted less-than or equal to + '\u2AFA': MO.REL, // double-line slanted greater-than or equal to + '\u2AFB': MO.BIN4, // triple solidus binary relation + '\u2AFD': MO.BIN4, // double solidus operator + '\u2AFE': MO.BIN3 // white vertical bar + } + } + }); + + MathJax.Ajax.loadComplete(MML.optableDir+"/SuppMathOperators.js"); + +})(MathJax.ElementJax.mml); diff --git a/modules/MathJax/jax/element/mml/optable/SupplementalArrowsB.js b/modules/MathJax/jax/element/mml/optable/SupplementalArrowsB.js new file mode 100644 index 0000000..9ae961d --- /dev/null +++ b/modules/MathJax/jax/element/mml/optable/SupplementalArrowsB.js @@ -0,0 +1,162 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/optable/SupplementalArrowsB.js + * + * Copyright (c) 2010 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +(function (MML) { + var MO = MML.mo.OPTYPES; + var TEXCLASS = MML.TEXCLASS; + + MathJax.Hub.Insert(MML.mo.prototype,{ + OPTABLE: { + infix: { + '\u2900': MO.REL, // rightwards two-headed arrow with vertical stroke + '\u2901': MO.REL, // rightwards two-headed arrow with double vertical stroke + '\u2902': MO.REL, // leftwards double arrow with vertical stroke + '\u2903': MO.REL, // rightwards double arrow with vertical stroke + '\u2904': MO.REL, // left right double arrow with vertical stroke + '\u2905': MO.REL, // rightwards two-headed arrow from bar + '\u2906': MO.REL, // leftwards double arrow from bar + '\u2907': MO.REL, // rightwards double arrow from bar + '\u2908': MO.REL, // downwards arrow with horizontal stroke + '\u2909': MO.REL, // upwards arrow with horizontal stroke + '\u290A': MO.WIDEREL, // upwards triple arrow + '\u290B': MO.WIDEREL, // downwards triple arrow + '\u290C': MO.WIDEREL, // leftwards double dash arrow + '\u290D': MO.WIDEREL, // rightwards double dash arrow + '\u290E': MO.WIDEREL, // leftwards triple dash arrow + '\u290F': MO.WIDEREL, // rightwards triple dash arrow + '\u2910': MO.WIDEREL, // rightwards two-headed triple dash arrow + '\u2911': MO.REL, // rightwards arrow with dotted stem + '\u2912': MO.WIDEREL, // upwards arrow to bar + '\u2913': MO.WIDEREL, // downwards arrow to bar + '\u2914': MO.REL, // rightwards arrow with tail with vertical stroke + '\u2915': MO.REL, // rightwards arrow with tail with double vertical stroke + '\u2916': MO.REL, // rightwards two-headed arrow with tail + '\u2917': MO.REL, // rightwards two-headed arrow with tail with vertical stroke + '\u2918': MO.REL, // rightwards two-headed arrow with tail with double vertical stroke + '\u2919': MO.REL, // leftwards arrow-tail + '\u291A': MO.REL, // rightwards arrow-tail + '\u291B': MO.REL, // leftwards double arrow-tail + '\u291C': MO.REL, // rightwards double arrow-tail + '\u291D': MO.REL, // leftwards arrow to black diamond + '\u291E': MO.REL, // rightwards arrow to black diamond + '\u291F': MO.REL, // leftwards arrow from bar to black diamond + '\u2920': MO.REL, // rightwards arrow from bar to black diamond + '\u2921': MO.WIDEREL, // north west and south east arrow + '\u2922': MO.WIDEREL, // north east and south west arrow + '\u2923': MO.REL, // north west arrow with hook + '\u2924': MO.REL, // north east arrow with hook + '\u2925': MO.REL, // south east arrow with hook + '\u2926': MO.REL, // south west arrow with hook + '\u2927': MO.REL, // north west arrow and north east arrow + '\u2928': MO.REL, // north east arrow and south east arrow + '\u2929': MO.REL, // south east arrow and south west arrow + '\u292A': MO.REL, // south west arrow and north west arrow + '\u292B': MO.REL, // rising diagonal crossing falling diagonal + '\u292C': MO.REL, // falling diagonal crossing rising diagonal + '\u292D': MO.REL, // south east arrow crossing north east arrow + '\u292E': MO.REL, // north east arrow crossing south east arrow + '\u292F': MO.REL, // falling diagonal crossing north east arrow + '\u2930': MO.REL, // rising diagonal crossing south east arrow + '\u2931': MO.REL, // north east arrow crossing north west arrow + '\u2932': MO.REL, // north west arrow crossing north east arrow + '\u2933': MO.REL, // wave arrow pointing directly right + '\u2934': MO.REL, // arrow pointing rightwards then curving upwards + '\u2935': MO.REL, // arrow pointing rightwards then curving downwards + '\u2936': MO.REL, // arrow pointing downwards then curving leftwards + '\u2937': MO.REL, // arrow pointing downwards then curving rightwards + '\u2938': MO.REL, // right-side arc clockwise arrow + '\u2939': MO.REL, // left-side arc anticlockwise arrow + '\u293A': MO.REL, // top arc anticlockwise arrow + '\u293B': MO.REL, // bottom arc anticlockwise arrow + '\u293C': MO.REL, // top arc clockwise arrow with minus + '\u293D': MO.REL, // top arc anticlockwise arrow with plus + '\u293E': MO.REL, // lower right semicircular clockwise arrow + '\u293F': MO.REL, // lower left semicircular anticlockwise arrow + '\u2940': MO.REL, // anticlockwise closed circle arrow + '\u2941': MO.REL, // clockwise closed circle arrow + '\u2942': MO.REL, // rightwards arrow above short leftwards arrow + '\u2943': MO.REL, // leftwards arrow above short rightwards arrow + '\u2944': MO.REL, // short rightwards arrow above leftwards arrow + '\u2945': MO.REL, // rightwards arrow with plus below + '\u2946': MO.REL, // leftwards arrow with plus below + '\u2947': MO.REL, // rightwards arrow through x + '\u2948': MO.REL, // left right arrow through small circle + '\u2949': MO.REL, // upwards two-headed arrow from small circle + '\u294A': MO.REL, // left barb up right barb down harpoon + '\u294B': MO.REL, // left barb down right barb up harpoon + '\u294C': MO.REL, // up barb right down barb left harpoon + '\u294D': MO.REL, // up barb left down barb right harpoon + '\u294E': MO.RELACCENT, // left barb up right barb up harpoon + '\u294F': MO.WIDEREL, // up barb right down barb right harpoon + '\u2950': MO.WIDEREL, // left barb down right barb down harpoon + '\u2951': MO.WIDEREL, // up barb left down barb left harpoon + '\u2952': MO.WIDEREL, // leftwards harpoon with barb up to bar + '\u2953': MO.WIDEREL, // rightwards harpoon with barb up to bar + '\u2954': MO.WIDEREL, // upwards harpoon with barb right to bar + '\u2955': MO.WIDEREL, // downwards harpoon with barb right to bar + '\u2956': MO.WIDEREL, // leftwards harpoon with barb down to bar + '\u2957': MO.WIDEREL, // rightwards harpoon with barb down to bar + '\u2958': MO.WIDEREL, // upwards harpoon with barb left to bar + '\u2959': MO.WIDEREL, // downwards harpoon with barb left to bar + '\u295A': MO.WIDEREL, // leftwards harpoon with barb up from bar + '\u295B': MO.WIDEREL, // rightwards harpoon with barb up from bar + '\u295C': MO.WIDEREL, // upwards harpoon with barb right from bar + '\u295D': MO.WIDEREL, // downwards harpoon with barb right from bar + '\u295E': MO.WIDEREL, // leftwards harpoon with barb down from bar + '\u295F': MO.WIDEREL, // rightwards harpoon with barb down from bar + '\u2960': MO.WIDEREL, // upwards harpoon with barb left from bar + '\u2961': MO.WIDEREL, // downwards harpoon with barb left from bar + '\u2962': MO.REL, // leftwards harpoon with barb up above leftwards harpoon with barb down + '\u2963': MO.REL, // upwards harpoon with barb left beside upwards harpoon with barb right + '\u2964': MO.REL, // rightwards harpoon with barb up above rightwards harpoon with barb down + '\u2965': MO.REL, // downwards harpoon with barb left beside downwards harpoon with barb right + '\u2966': MO.REL, // leftwards harpoon with barb up above rightwards harpoon with barb up + '\u2967': MO.REL, // leftwards harpoon with barb down above rightwards harpoon with barb down + '\u2968': MO.REL, // rightwards harpoon with barb up above leftwards harpoon with barb up + '\u2969': MO.REL, // rightwards harpoon with barb down above leftwards harpoon with barb down + '\u296A': MO.REL, // leftwards harpoon with barb up above long dash + '\u296B': MO.REL, // leftwards harpoon with barb down below long dash + '\u296C': MO.REL, // rightwards harpoon with barb up above long dash + '\u296D': MO.REL, // rightwards harpoon with barb down below long dash + '\u296E': MO.WIDEREL, // upwards harpoon with barb left beside downwards harpoon with barb right + '\u296F': MO.WIDEREL, // downwards harpoon with barb left beside upwards harpoon with barb right + '\u2970': MO.REL, // right double arrow with rounded head + '\u2971': MO.REL, // equals sign above rightwards arrow + '\u2972': MO.REL, // tilde operator above rightwards arrow + '\u2973': MO.REL, // leftwards arrow above tilde operator + '\u2974': MO.REL, // rightwards arrow above tilde operator + '\u2975': MO.REL, // rightwards arrow above almost equal to + '\u2976': MO.REL, // less-than above leftwards arrow + '\u2977': MO.REL, // leftwards arrow through less-than + '\u2978': MO.REL, // greater-than above rightwards arrow + '\u2979': MO.REL, // subset above rightwards arrow + '\u297A': MO.REL, // leftwards arrow through subset + '\u297B': MO.REL, // superset above leftwards arrow + '\u297C': MO.REL, // left fish tail + '\u297D': MO.REL, // right fish tail + '\u297E': MO.REL, // up fish tail + '\u297F': MO.REL // down fish tail + } + } + }); + + MathJax.Ajax.loadComplete(MML.optableDir+"/SupplementalArrowsB.js"); + +})(MathJax.ElementJax.mml); diff --git a/modules/MathJax/jax/input/MathML/config.js b/modules/MathJax/jax/input/MathML/config.js new file mode 100644 index 0000000..20c844d --- /dev/null +++ b/modules/MathJax/jax/input/MathML/config.js @@ -0,0 +1,38 @@ +/************************************************************* + * + * MathJax/jax/input/MathML/config.js + * + * Initializes the MathML InputJax (the main definition is in + * MathJax/jax/input/MathML/jax.js, which is loaded when needed). + * + * --------------------------------------------------------------------- + * + * Copyright (c) 2009-2011 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +MathJax.InputJax.MathML = MathJax.InputJax({ + id: "MathML", + version: "1.1.4", + directory: MathJax.InputJax.directory + "/MathML", + extensionDir: MathJax.InputJax.extensionDir + "/MathML", + entityDir: MathJax.InputJax.directory + "/MathML/entities", + + config: { + useMathMLspacing: false // false means use TeX spacing, true means MML spacing + } +}); +MathJax.InputJax.MathML.Register("math/mml"); + +MathJax.InputJax.MathML.loadComplete("config.js"); diff --git a/modules/MathJax/jax/input/MathML/entities/a.js b/modules/MathJax/jax/input/MathML/entities/a.js new file mode 100644 index 0000000..3b14cdc --- /dev/null +++ b/modules/MathJax/jax/input/MathML/entities/a.js @@ -0,0 +1,90 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/entities/a.js + * + * Copyright (c) 2010 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +(function (MATHML) { + MathJax.Hub.Insert(MATHML.Parse.Entity,{ + 'AElig': '\u00C6', + 'AMP': '\u0026', + 'Aacute': '\u00C1', + 'Abreve': '\u0102', + 'Acirc': '\u00C2', + 'Acy': '\u0410', + 'Agrave': '\u00C0', + 'Alpha': '\u0391', + 'Amacr': '\u0100', + 'And': '\u2A53', + 'Aogon': '\u0104', + 'Aring': '\u00C5', + 'Assign': '\u2254', + 'Atilde': '\u00C3', + 'Auml': '\u00C4', + 'aacute': '\u00E1', + 'abreve': '\u0103', + 'ac': '\u223E', + 'acE': '\u223E\u0333', + 'acd': '\u223F', + 'acirc': '\u00E2', + 'acy': '\u0430', + 'aelig': '\u00E6', + 'af': '\u2061', + 'agrave': '\u00E0', + 'alefsym': '\u2135', + 'amacr': '\u0101', + 'amp': '\u0026', + 'andand': '\u2A55', + 'andd': '\u2A5C', + 'andslope': '\u2A58', + 'andv': '\u2A5A', + 'ange': '\u29A4', + 'angle': '\u2220', + 'angmsdaa': '\u29A8', + 'angmsdab': '\u29A9', + 'angmsdac': '\u29AA', + 'angmsdad': '\u29AB', + 'angmsdae': '\u29AC', + 'angmsdaf': '\u29AD', + 'angmsdag': '\u29AE', + 'angmsdah': '\u29AF', + 'angrt': '\u221F', + 'angrtvb': '\u22BE', + 'angrtvbd': '\u299D', + 'angst': '\u00C5', + 'angzarr': '\u237C', + 'aogon': '\u0105', + 'ap': '\u2248', + 'apE': '\u2A70', + 'apacir': '\u2A6F', + 'apid': '\u224B', + 'apos': '\u0027', + 'approx': '\u2248', + 'approxeq': '\u224A', + 'aring': '\u00E5', + 'ast': '\u002A', + 'asymp': '\u2248', + 'asympeq': '\u224D', + 'atilde': '\u00E3', + 'auml': '\u00E4', + 'awconint': '\u2233', + 'awint': '\u2A11' + }); + + MathJax.Ajax.loadComplete(MATHML.entityDir+"/a.js"); + +})(MathJax.InputJax.MathML); diff --git a/modules/MathJax/jax/input/MathML/entities/b.js b/modules/MathJax/jax/input/MathML/entities/b.js new file mode 100644 index 0000000..c7c1040 --- /dev/null +++ b/modules/MathJax/jax/input/MathML/entities/b.js @@ -0,0 +1,116 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/entities/b.js + * + * Copyright (c) 2010 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +(function (MATHML) { + MathJax.Hub.Insert(MATHML.Parse.Entity,{ + 'Barv': '\u2AE7', + 'Barwed': '\u2306', + 'Bcy': '\u0411', + 'Bernoullis': '\u212C', + 'Beta': '\u0392', + 'Bumpeq': '\u224E', + 'bNot': '\u2AED', + 'backcong': '\u224C', + 'backepsilon': '\u03F6', + 'barvee': '\u22BD', + 'barwed': '\u2305', + 'barwedge': '\u2305', + 'bbrk': '\u23B5', + 'bbrktbrk': '\u23B6', + 'bcong': '\u224C', + 'bcy': '\u0431', + 'bdquo': '\u201E', + 'becaus': '\u2235', + 'because': '\u2235', + 'bemptyv': '\u29B0', + 'bepsi': '\u03F6', + 'bernou': '\u212C', + 'bigcap': '\u22C2', + 'bigcup': '\u22C3', + 'bigvee': '\u22C1', + 'bigwedge': '\u22C0', + 'bkarow': '\u290D', + 'blacksquare': '\u25AA', + 'blacktriangleright': '\u25B8', + 'blank': '\u2423', + 'blk12': '\u2592', + 'blk14': '\u2591', + 'blk34': '\u2593', + 'block': '\u2588', + 'bne': '\u003D\u20E5', + 'bnequiv': '\u2261\u20E5', + 'bnot': '\u2310', + 'bot': '\u22A5', + 'bottom': '\u22A5', + 'boxDL': '\u2557', + 'boxDR': '\u2554', + 'boxDl': '\u2556', + 'boxDr': '\u2553', + 'boxH': '\u2550', + 'boxHD': '\u2566', + 'boxHU': '\u2569', + 'boxHd': '\u2564', + 'boxHu': '\u2567', + 'boxUL': '\u255D', + 'boxUR': '\u255A', + 'boxUl': '\u255C', + 'boxUr': '\u2559', + 'boxV': '\u2551', + 'boxVH': '\u256C', + 'boxVL': '\u2563', + 'boxVR': '\u2560', + 'boxVh': '\u256B', + 'boxVl': '\u2562', + 'boxVr': '\u255F', + 'boxbox': '\u29C9', + 'boxdL': '\u2555', + 'boxdR': '\u2552', + 'boxh': '\u2500', + 'boxhD': '\u2565', + 'boxhU': '\u2568', + 'boxhd': '\u252C', + 'boxhu': '\u2534', + 'boxuL': '\u255B', + 'boxuR': '\u2558', + 'boxv': '\u2502', + 'boxvH': '\u256A', + 'boxvL': '\u2561', + 'boxvR': '\u255E', + 'boxvh': '\u253C', + 'boxvl': '\u2524', + 'boxvr': '\u251C', + 'bprime': '\u2035', + 'breve': '\u02D8', + 'brvbar': '\u00A6', + 'bsemi': '\u204F', + 'bsim': '\u223D', + 'bsime': '\u22CD', + 'bsolb': '\u29C5', + 'bsolhsub': '\u27C8', + 'bullet': '\u2022', + 'bump': '\u224E', + 'bumpE': '\u2AAE', + 'bumpe': '\u224F', + 'bumpeq': '\u224F' + }); + + MathJax.Ajax.loadComplete(MATHML.entityDir+"/b.js"); + +})(MathJax.InputJax.MathML); diff --git a/modules/MathJax/jax/input/MathML/entities/c.js b/modules/MathJax/jax/input/MathML/entities/c.js new file mode 100644 index 0000000..197140b --- /dev/null +++ b/modules/MathJax/jax/input/MathML/entities/c.js @@ -0,0 +1,114 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/entities/c.js + * + * Copyright (c) 2010 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +(function (MATHML) { + MathJax.Hub.Insert(MATHML.Parse.Entity,{ + 'CHcy': '\u0427', + 'COPY': '\u00A9', + 'Cacute': '\u0106', + 'CapitalDifferentialD': '\u2145', + 'Cayleys': '\u212D', + 'Ccaron': '\u010C', + 'Ccedil': '\u00C7', + 'Ccirc': '\u0108', + 'Cconint': '\u2230', + 'Cdot': '\u010A', + 'Cedilla': '\u00B8', + 'Chi': '\u03A7', + 'ClockwiseContourIntegral': '\u2232', + 'CloseCurlyDoubleQuote': '\u201D', + 'CloseCurlyQuote': '\u2019', + 'Colon': '\u2237', + 'Colone': '\u2A74', + 'Conint': '\u222F', + 'CounterClockwiseContourIntegral': '\u2233', + 'cacute': '\u0107', + 'capand': '\u2A44', + 'capbrcup': '\u2A49', + 'capcap': '\u2A4B', + 'capcup': '\u2A47', + 'capdot': '\u2A40', + 'caps': '\u2229\uFE00', + 'caret': '\u2041', + 'caron': '\u02C7', + 'ccaps': '\u2A4D', + 'ccaron': '\u010D', + 'ccedil': '\u00E7', + 'ccirc': '\u0109', + 'ccups': '\u2A4C', + 'ccupssm': '\u2A50', + 'cdot': '\u010B', + 'cedil': '\u00B8', + 'cemptyv': '\u29B2', + 'cent': '\u00A2', + 'centerdot': '\u00B7', + 'chcy': '\u0447', + 'checkmark': '\u2713', + 'cir': '\u25CB', + 'cirE': '\u29C3', + 'cire': '\u2257', + 'cirfnint': '\u2A10', + 'cirmid': '\u2AEF', + 'cirscir': '\u29C2', + 'clubsuit': '\u2663', + 'colone': '\u2254', + 'coloneq': '\u2254', + 'comma': '\u002C', + 'commat': '\u0040', + 'compfn': '\u2218', + 'complement': '\u2201', + 'complexes': '\u2102', + 'cong': '\u2245', + 'congdot': '\u2A6D', + 'conint': '\u222E', + 'coprod': '\u2210', + 'copy': '\u00A9', + 'copysr': '\u2117', + 'crarr': '\u21B5', + 'cross': '\u2717', + 'csub': '\u2ACF', + 'csube': '\u2AD1', + 'csup': '\u2AD0', + 'csupe': '\u2AD2', + 'cudarrl': '\u2938', + 'cudarrr': '\u2935', + 'cularrp': '\u293D', + 'cupbrcap': '\u2A48', + 'cupcap': '\u2A46', + 'cupcup': '\u2A4A', + 'cupdot': '\u228D', + 'cupor': '\u2A45', + 'cups': '\u222A\uFE00', + 'curarrm': '\u293C', + 'curlyeqprec': '\u22DE', + 'curlyeqsucc': '\u22DF', + 'curren': '\u00A4', + 'curvearrowleft': '\u21B6', + 'curvearrowright': '\u21B7', + 'cuvee': '\u22CE', + 'cuwed': '\u22CF', + 'cwconint': '\u2232', + 'cwint': '\u2231', + 'cylcty': '\u232D' + }); + + MathJax.Ajax.loadComplete(MATHML.entityDir+"/c.js"); + +})(MathJax.InputJax.MathML); diff --git a/modules/MathJax/jax/input/MathML/entities/d.js b/modules/MathJax/jax/input/MathML/entities/d.js new file mode 100644 index 0000000..1722dfb --- /dev/null +++ b/modules/MathJax/jax/input/MathML/entities/d.js @@ -0,0 +1,112 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/entities/d.js + * + * Copyright (c) 2010 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +(function (MATHML) { + MathJax.Hub.Insert(MATHML.Parse.Entity,{ + 'DD': '\u2145', + 'DDotrahd': '\u2911', + 'DJcy': '\u0402', + 'DScy': '\u0405', + 'DZcy': '\u040F', + 'Darr': '\u21A1', + 'Dashv': '\u2AE4', + 'Dcaron': '\u010E', + 'Dcy': '\u0414', + 'DiacriticalAcute': '\u00B4', + 'DiacriticalDot': '\u02D9', + 'DiacriticalDoubleAcute': '\u02DD', + 'DiacriticalGrave': '\u0060', + 'DiacriticalTilde': '\u02DC', + 'Dot': '\u00A8', + 'DotDot': '\u20DC', + 'DoubleContourIntegral': '\u222F', + 'DoubleDownArrow': '\u21D3', + 'DoubleLeftArrow': '\u21D0', + 'DoubleLeftRightArrow': '\u21D4', + 'DoubleLeftTee': '\u2AE4', + 'DoubleLongLeftArrow': '\u27F8', + 'DoubleLongLeftRightArrow': '\u27FA', + 'DoubleLongRightArrow': '\u27F9', + 'DoubleRightArrow': '\u21D2', + 'DoubleUpArrow': '\u21D1', + 'DoubleUpDownArrow': '\u21D5', + 'DownArrowBar': '\u2913', + 'DownArrowUpArrow': '\u21F5', + 'DownBreve': '\u0311', + 'DownLeftRightVector': '\u2950', + 'DownLeftTeeVector': '\u295E', + 'DownLeftVectorBar': '\u2956', + 'DownRightTeeVector': '\u295F', + 'DownRightVectorBar': '\u2957', + 'DownTeeArrow': '\u21A7', + 'Dstrok': '\u0110', + 'dArr': '\u21D3', + 'dHar': '\u2965', + 'darr': '\u2193', + 'dash': '\u2010', + 'dashv': '\u22A3', + 'dbkarow': '\u290F', + 'dblac': '\u02DD', + 'dcaron': '\u010F', + 'dcy': '\u0434', + 'dd': '\u2146', + 'ddagger': '\u2021', + 'ddotseq': '\u2A77', + 'demptyv': '\u29B1', + 'dfisht': '\u297F', + 'dharl': '\u21C3', + 'dharr': '\u21C2', + 'diam': '\u22C4', + 'diamond': '\u22C4', + 'diamondsuit': '\u2666', + 'diams': '\u2666', + 'die': '\u00A8', + 'disin': '\u22F2', + 'divide': '\u00F7', + 'divonx': '\u22C7', + 'djcy': '\u0452', + 'dlcorn': '\u231E', + 'dlcrop': '\u230D', + 'dollar': '\u0024', + 'doteq': '\u2250', + 'dotminus': '\u2238', + 'doublebarwedge': '\u2306', + 'downarrow': '\u2193', + 'downdownarrows': '\u21CA', + 'downharpoonleft': '\u21C3', + 'downharpoonright': '\u21C2', + 'drbkarow': '\u2910', + 'drcorn': '\u231F', + 'drcrop': '\u230C', + 'dscy': '\u0455', + 'dsol': '\u29F6', + 'dstrok': '\u0111', + 'dtri': '\u25BF', + 'dtrif': '\u25BE', + 'duarr': '\u21F5', + 'duhar': '\u296F', + 'dwangle': '\u29A6', + 'dzcy': '\u045F', + 'dzigrarr': '\u27FF' + }); + + MathJax.Ajax.loadComplete(MATHML.entityDir+"/d.js"); + +})(MathJax.InputJax.MathML); diff --git a/modules/MathJax/jax/input/MathML/entities/e.js b/modules/MathJax/jax/input/MathML/entities/e.js new file mode 100644 index 0000000..45475f1 --- /dev/null +++ b/modules/MathJax/jax/input/MathML/entities/e.js @@ -0,0 +1,92 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/entities/e.js + * + * Copyright (c) 2010 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +(function (MATHML) { + MathJax.Hub.Insert(MATHML.Parse.Entity,{ + 'ENG': '\u014A', + 'ETH': '\u00D0', + 'Eacute': '\u00C9', + 'Ecaron': '\u011A', + 'Ecirc': '\u00CA', + 'Ecy': '\u042D', + 'Edot': '\u0116', + 'Egrave': '\u00C8', + 'Emacr': '\u0112', + 'EmptySmallSquare': '\u25FB', + 'EmptyVerySmallSquare': '\u25AB', + 'Eogon': '\u0118', + 'Epsilon': '\u0395', + 'Equal': '\u2A75', + 'Esim': '\u2A73', + 'Eta': '\u0397', + 'Euml': '\u00CB', + 'eDDot': '\u2A77', + 'eDot': '\u2251', + 'eacute': '\u00E9', + 'easter': '\u2A6E', + 'ecaron': '\u011B', + 'ecirc': '\u00EA', + 'ecolon': '\u2255', + 'ecy': '\u044D', + 'edot': '\u0117', + 'ee': '\u2147', + 'eg': '\u2A9A', + 'egrave': '\u00E8', + 'egsdot': '\u2A98', + 'el': '\u2A99', + 'elinters': '\u23E7', + 'elsdot': '\u2A97', + 'emacr': '\u0113', + 'emptyset': '\u2205', + 'emptyv': '\u2205', + 'emsp': '\u2003', + 'emsp13': '\u2004', + 'emsp14': '\u2005', + 'eng': '\u014B', + 'ensp': '\u2002', + 'eogon': '\u0119', + 'epar': '\u22D5', + 'eparsl': '\u29E3', + 'eplus': '\u2A71', + 'epsilon': '\u03B5', + 'eqcirc': '\u2256', + 'eqcolon': '\u2255', + 'eqsim': '\u2242', + 'eqslantgtr': '\u2A96', + 'eqslantless': '\u2A95', + 'equals': '\u003D', + 'equest': '\u225F', + 'equiv': '\u2261', + 'equivDD': '\u2A78', + 'eqvparsl': '\u29E5', + 'erarr': '\u2971', + 'esdot': '\u2250', + 'esim': '\u2242', + 'euml': '\u00EB', + 'euro': '\u20AC', + 'excl': '\u0021', + 'exist': '\u2203', + 'expectation': '\u2130', + 'exponentiale': '\u2147' + }); + + MathJax.Ajax.loadComplete(MATHML.entityDir+"/e.js"); + +})(MathJax.InputJax.MathML); diff --git a/modules/MathJax/jax/input/MathML/entities/f.js b/modules/MathJax/jax/input/MathML/entities/f.js new file mode 100644 index 0000000..5d5348a --- /dev/null +++ b/modules/MathJax/jax/input/MathML/entities/f.js @@ -0,0 +1,60 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/entities/f.js + * + * Copyright (c) 2010 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +(function (MATHML) { + MathJax.Hub.Insert(MATHML.Parse.Entity,{ + 'Fcy': '\u0424', + 'FilledSmallSquare': '\u25FC', + 'Fouriertrf': '\u2131', + 'fallingdotseq': '\u2252', + 'fcy': '\u0444', + 'female': '\u2640', + 'ffilig': '\uFB03', + 'fflig': '\uFB00', + 'ffllig': '\uFB04', + 'filig': '\uFB01', + 'fjlig': '\u0066\u006A', + 'fllig': '\uFB02', + 'fltns': '\u25B1', + 'fnof': '\u0192', + 'forall': '\u2200', + 'forkv': '\u2AD9', + 'fpartint': '\u2A0D', + 'frac12': '\u00BD', + 'frac13': '\u2153', + 'frac14': '\u00BC', + 'frac15': '\u2155', + 'frac16': '\u2159', + 'frac18': '\u215B', + 'frac23': '\u2154', + 'frac25': '\u2156', + 'frac34': '\u00BE', + 'frac35': '\u2157', + 'frac38': '\u215C', + 'frac45': '\u2158', + 'frac56': '\u215A', + 'frac58': '\u215D', + 'frac78': '\u215E', + 'frasl': '\u2044' + }); + + MathJax.Ajax.loadComplete(MATHML.entityDir+"/f.js"); + +})(MathJax.InputJax.MathML); diff --git a/modules/MathJax/jax/input/MathML/entities/fr.js b/modules/MathJax/jax/input/MathML/entities/fr.js new file mode 100644 index 0000000..d6b2e12 --- /dev/null +++ b/modules/MathJax/jax/input/MathML/entities/fr.js @@ -0,0 +1,79 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/entities/fr.js + * + * Copyright (c) 2010 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +(function (MATHML) { + MathJax.Hub.Insert(MATHML.Parse.Entity,{ + 'Afr': '\uD835\uDD04', + 'Bfr': '\uD835\uDD05', + 'Cfr': '\u212D', + 'Dfr': '\uD835\uDD07', + 'Efr': '\uD835\uDD08', + 'Ffr': '\uD835\uDD09', + 'Gfr': '\uD835\uDD0A', + 'Hfr': '\u210C', + 'Ifr': '\u2111', + 'Jfr': '\uD835\uDD0D', + 'Kfr': '\uD835\uDD0E', + 'Lfr': '\uD835\uDD0F', + 'Mfr': '\uD835\uDD10', + 'Nfr': '\uD835\uDD11', + 'Ofr': '\uD835\uDD12', + 'Pfr': '\uD835\uDD13', + 'Qfr': '\uD835\uDD14', + 'Rfr': '\u211C', + 'Sfr': '\uD835\uDD16', + 'Tfr': '\uD835\uDD17', + 'Ufr': '\uD835\uDD18', + 'Vfr': '\uD835\uDD19', + 'Wfr': '\uD835\uDD1A', + 'Xfr': '\uD835\uDD1B', + 'Yfr': '\uD835\uDD1C', + 'Zfr': '\u2128', + 'afr': '\uD835\uDD1E', + 'bfr': '\uD835\uDD1F', + 'cfr': '\uD835\uDD20', + 'dfr': '\uD835\uDD21', + 'efr': '\uD835\uDD22', + 'ffr': '\uD835\uDD23', + 'gfr': '\uD835\uDD24', + 'hfr': '\uD835\uDD25', + 'ifr': '\uD835\uDD26', + 'jfr': '\uD835\uDD27', + 'kfr': '\uD835\uDD28', + 'lfr': '\uD835\uDD29', + 'mfr': '\uD835\uDD2A', + 'nfr': '\uD835\uDD2B', + 'ofr': '\uD835\uDD2C', + 'pfr': '\uD835\uDD2D', + 'qfr': '\uD835\uDD2E', + 'rfr': '\uD835\uDD2F', + 'sfr': '\uD835\uDD30', + 'tfr': '\uD835\uDD31', + 'ufr': '\uD835\uDD32', + 'vfr': '\uD835\uDD33', + 'wfr': '\uD835\uDD34', + 'xfr': '\uD835\uDD35', + 'yfr': '\uD835\uDD36', + 'zfr': '\uD835\uDD37' + }); + + MathJax.Ajax.loadComplete(MATHML.entityDir+"/fr.js"); + +})(MathJax.InputJax.MathML); diff --git a/modules/MathJax/jax/input/MathML/entities/g.js b/modules/MathJax/jax/input/MathML/entities/g.js new file mode 100644 index 0000000..dad288e --- /dev/null +++ b/modules/MathJax/jax/input/MathML/entities/g.js @@ -0,0 +1,83 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/entities/g.js + * + * Copyright (c) 2010 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +(function (MATHML) { + MathJax.Hub.Insert(MATHML.Parse.Entity,{ + 'GJcy': '\u0403', + 'GT': '\u003E', + 'Gammad': '\u03DC', + 'Gbreve': '\u011E', + 'Gcedil': '\u0122', + 'Gcirc': '\u011C', + 'Gcy': '\u0413', + 'Gdot': '\u0120', + 'GreaterGreater': '\u2AA2', + 'Gt': '\u226B', + 'gE': '\u2267', + 'gacute': '\u01F5', + 'gammad': '\u03DD', + 'gbreve': '\u011F', + 'gcirc': '\u011D', + 'gcy': '\u0433', + 'gdot': '\u0121', + 'ge': '\u2265', + 'gel': '\u22DB', + 'geq': '\u2265', + 'geqq': '\u2267', + 'geqslant': '\u2A7E', + 'ges': '\u2A7E', + 'gescc': '\u2AA9', + 'gesdot': '\u2A80', + 'gesdoto': '\u2A82', + 'gesdotol': '\u2A84', + 'gesl': '\u22DB\uFE00', + 'gesles': '\u2A94', + 'gg': '\u226B', + 'ggg': '\u22D9', + 'gjcy': '\u0453', + 'gl': '\u2277', + 'glE': '\u2A92', + 'gla': '\u2AA5', + 'glj': '\u2AA4', + 'gnapprox': '\u2A8A', + 'gneq': '\u2A88', + 'gneqq': '\u2269', + 'grave': '\u0060', + 'gsim': '\u2273', + 'gsime': '\u2A8E', + 'gsiml': '\u2A90', + 'gtcc': '\u2AA7', + 'gtcir': '\u2A7A', + 'gtlPar': '\u2995', + 'gtquest': '\u2A7C', + 'gtrapprox': '\u2A86', + 'gtrarr': '\u2978', + 'gtrdot': '\u22D7', + 'gtreqless': '\u22DB', + 'gtreqqless': '\u2A8C', + 'gtrless': '\u2277', + 'gtrsim': '\u2273', + 'gvertneqq': '\u2269\uFE00', + 'gvnE': '\u2269\uFE00' + }); + + MathJax.Ajax.loadComplete(MATHML.entityDir+"/g.js"); + +})(MathJax.InputJax.MathML); diff --git a/modules/MathJax/jax/input/MathML/entities/h.js b/modules/MathJax/jax/input/MathML/entities/h.js new file mode 100644 index 0000000..bf1ad4f --- /dev/null +++ b/modules/MathJax/jax/input/MathML/entities/h.js @@ -0,0 +1,52 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/entities/h.js + * + * Copyright (c) 2010 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +(function (MATHML) { + MathJax.Hub.Insert(MATHML.Parse.Entity,{ + 'HARDcy': '\u042A', + 'Hcirc': '\u0124', + 'HilbertSpace': '\u210B', + 'HorizontalLine': '\u2500', + 'Hstrok': '\u0126', + 'hArr': '\u21D4', + 'hairsp': '\u200A', + 'half': '\u00BD', + 'hamilt': '\u210B', + 'hardcy': '\u044A', + 'harr': '\u2194', + 'harrcir': '\u2948', + 'hcirc': '\u0125', + 'hearts': '\u2665', + 'heartsuit': '\u2665', + 'hercon': '\u22B9', + 'hksearow': '\u2925', + 'hkswarow': '\u2926', + 'hoarr': '\u21FF', + 'homtht': '\u223B', + 'horbar': '\u2015', + 'hslash': '\u210F', + 'hstrok': '\u0127', + 'hybull': '\u2043', + 'hyphen': '\u2010' + }); + + MathJax.Ajax.loadComplete(MATHML.entityDir+"/h.js"); + +})(MathJax.InputJax.MathML); diff --git a/modules/MathJax/jax/input/MathML/entities/i.js b/modules/MathJax/jax/input/MathML/entities/i.js new file mode 100644 index 0000000..059928b --- /dev/null +++ b/modules/MathJax/jax/input/MathML/entities/i.js @@ -0,0 +1,86 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/entities/i.js + * + * Copyright (c) 2010 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +(function (MATHML) { + MathJax.Hub.Insert(MATHML.Parse.Entity,{ + 'IEcy': '\u0415', + 'IJlig': '\u0132', + 'IOcy': '\u0401', + 'Iacute': '\u00CD', + 'Icirc': '\u00CE', + 'Icy': '\u0418', + 'Idot': '\u0130', + 'Igrave': '\u00CC', + 'Imacr': '\u012A', + 'Implies': '\u21D2', + 'Int': '\u222C', + 'Iogon': '\u012E', + 'Iota': '\u0399', + 'Itilde': '\u0128', + 'Iukcy': '\u0406', + 'Iuml': '\u00CF', + 'iacute': '\u00ED', + 'ic': '\u2063', + 'icirc': '\u00EE', + 'icy': '\u0438', + 'iecy': '\u0435', + 'iexcl': '\u00A1', + 'iff': '\u21D4', + 'igrave': '\u00EC', + 'ii': '\u2148', + 'iiiint': '\u2A0C', + 'iiint': '\u222D', + 'iinfin': '\u29DC', + 'iiota': '\u2129', + 'ijlig': '\u0133', + 'imacr': '\u012B', + 'image': '\u2111', + 'imagline': '\u2110', + 'imagpart': '\u2111', + 'imof': '\u22B7', + 'imped': '\u01B5', + 'in': '\u2208', + 'incare': '\u2105', + 'infintie': '\u29DD', + 'inodot': '\u0131', + 'int': '\u222B', + 'integers': '\u2124', + 'intercal': '\u22BA', + 'intlarhk': '\u2A17', + 'intprod': '\u2A3C', + 'iocy': '\u0451', + 'iogon': '\u012F', + 'iprod': '\u2A3C', + 'iquest': '\u00BF', + 'isin': '\u2208', + 'isinE': '\u22F9', + 'isindot': '\u22F5', + 'isins': '\u22F4', + 'isinsv': '\u22F3', + 'isinv': '\u2208', + 'it': '\u2062', + 'itilde': '\u0129', + 'iukcy': '\u0456', + 'iuml': '\u00EF' + }); + + MathJax.Ajax.loadComplete(MATHML.entityDir+"/i.js"); + +})(MathJax.InputJax.MathML); diff --git a/modules/MathJax/jax/input/MathML/entities/j.js b/modules/MathJax/jax/input/MathML/entities/j.js new file mode 100644 index 0000000..5147e2d --- /dev/null +++ b/modules/MathJax/jax/input/MathML/entities/j.js @@ -0,0 +1,35 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/entities/j.js + * + * Copyright (c) 2010 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +(function (MATHML) { + MathJax.Hub.Insert(MATHML.Parse.Entity,{ + 'Jcirc': '\u0134', + 'Jcy': '\u0419', + 'Jsercy': '\u0408', + 'Jukcy': '\u0404', + 'jcirc': '\u0135', + 'jcy': '\u0439', + 'jsercy': '\u0458', + 'jukcy': '\u0454' + }); + + MathJax.Ajax.loadComplete(MATHML.entityDir+"/j.js"); + +})(MathJax.InputJax.MathML); diff --git a/modules/MathJax/jax/input/MathML/entities/k.js b/modules/MathJax/jax/input/MathML/entities/k.js new file mode 100644 index 0000000..2342a8c --- /dev/null +++ b/modules/MathJax/jax/input/MathML/entities/k.js @@ -0,0 +1,37 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/entities/k.js + * + * Copyright (c) 2010 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +(function (MATHML) { + MathJax.Hub.Insert(MATHML.Parse.Entity,{ + 'KHcy': '\u0425', + 'KJcy': '\u040C', + 'Kappa': '\u039A', + 'Kcedil': '\u0136', + 'Kcy': '\u041A', + 'kcedil': '\u0137', + 'kcy': '\u043A', + 'kgreen': '\u0138', + 'khcy': '\u0445', + 'kjcy': '\u045C' + }); + + MathJax.Ajax.loadComplete(MATHML.entityDir+"/k.js"); + +})(MathJax.InputJax.MathML); diff --git a/modules/MathJax/jax/input/MathML/entities/l.js b/modules/MathJax/jax/input/MathML/entities/l.js new file mode 100644 index 0000000..2615de2 --- /dev/null +++ b/modules/MathJax/jax/input/MathML/entities/l.js @@ -0,0 +1,179 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/entities/l.js + * + * Copyright (c) 2010 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +(function (MATHML) { + MathJax.Hub.Insert(MATHML.Parse.Entity,{ + 'LJcy': '\u0409', + 'LT': '\u003C', + 'Lacute': '\u0139', + 'Lang': '\u27EA', + 'Laplacetrf': '\u2112', + 'Lcaron': '\u013D', + 'Lcedil': '\u013B', + 'Lcy': '\u041B', + 'LeftArrowBar': '\u21E4', + 'LeftDoubleBracket': '\u27E6', + 'LeftDownTeeVector': '\u2961', + 'LeftDownVectorBar': '\u2959', + 'LeftRightVector': '\u294E', + 'LeftTeeArrow': '\u21A4', + 'LeftTeeVector': '\u295A', + 'LeftTriangleBar': '\u29CF', + 'LeftUpDownVector': '\u2951', + 'LeftUpTeeVector': '\u2960', + 'LeftUpVectorBar': '\u2958', + 'LeftVectorBar': '\u2952', + 'LessLess': '\u2AA1', + 'Lmidot': '\u013F', + 'LowerLeftArrow': '\u2199', + 'LowerRightArrow': '\u2198', + 'Lstrok': '\u0141', + 'Lt': '\u226A', + 'lAarr': '\u21DA', + 'lArr': '\u21D0', + 'lAtail': '\u291B', + 'lBarr': '\u290E', + 'lE': '\u2266', + 'lHar': '\u2962', + 'lacute': '\u013A', + 'laemptyv': '\u29B4', + 'lagran': '\u2112', + 'lang': '\u27E8', + 'langd': '\u2991', + 'langle': '\u27E8', + 'laquo': '\u00AB', + 'larr': '\u2190', + 'larrb': '\u21E4', + 'larrbfs': '\u291F', + 'larrfs': '\u291D', + 'larrhk': '\u21A9', + 'larrpl': '\u2939', + 'larrsim': '\u2973', + 'lat': '\u2AAB', + 'latail': '\u2919', + 'late': '\u2AAD', + 'lates': '\u2AAD\uFE00', + 'lbarr': '\u290C', + 'lbbrk': '\u2772', + 'lbrke': '\u298B', + 'lbrksld': '\u298F', + 'lbrkslu': '\u298D', + 'lcaron': '\u013E', + 'lcedil': '\u013C', + 'lceil': '\u2308', + 'lcub': '\u007B', + 'lcy': '\u043B', + 'ldca': '\u2936', + 'ldquo': '\u201C', + 'ldquor': '\u201E', + 'ldrdhar': '\u2967', + 'ldrushar': '\u294B', + 'ldsh': '\u21B2', + 'leftarrow': '\u2190', + 'leftarrowtail': '\u21A2', + 'leftharpoondown': '\u21BD', + 'leftharpoonup': '\u21BC', + 'leftrightarrow': '\u2194', + 'leftrightarrows': '\u21C6', + 'leftrightharpoons': '\u21CB', + 'leftrightsquigarrow': '\u21AD', + 'leg': '\u22DA', + 'leq': '\u2264', + 'leqq': '\u2266', + 'leqslant': '\u2A7D', + 'les': '\u2A7D', + 'lescc': '\u2AA8', + 'lesdot': '\u2A7F', + 'lesdoto': '\u2A81', + 'lesdotor': '\u2A83', + 'lesg': '\u22DA\uFE00', + 'lesges': '\u2A93', + 'lessapprox': '\u2A85', + 'lesseqgtr': '\u22DA', + 'lesseqqgtr': '\u2A8B', + 'lessgtr': '\u2276', + 'lesssim': '\u2272', + 'lfisht': '\u297C', + 'lfloor': '\u230A', + 'lg': '\u2276', + 'lgE': '\u2A91', + 'lhard': '\u21BD', + 'lharu': '\u21BC', + 'lharul': '\u296A', + 'lhblk': '\u2584', + 'ljcy': '\u0459', + 'll': '\u226A', + 'llarr': '\u21C7', + 'llcorner': '\u231E', + 'llhard': '\u296B', + 'lltri': '\u25FA', + 'lmidot': '\u0140', + 'lmoustache': '\u23B0', + 'lnapprox': '\u2A89', + 'lneq': '\u2A87', + 'lneqq': '\u2268', + 'loang': '\u27EC', + 'loarr': '\u21FD', + 'lobrk': '\u27E6', + 'longleftarrow': '\u27F5', + 'longleftrightarrow': '\u27F7', + 'longrightarrow': '\u27F6', + 'looparrowleft': '\u21AB', + 'lopar': '\u2985', + 'loplus': '\u2A2D', + 'lotimes': '\u2A34', + 'lowbar': '\u005F', + 'lozenge': '\u25CA', + 'lozf': '\u29EB', + 'lpar': '\u0028', + 'lparlt': '\u2993', + 'lrarr': '\u21C6', + 'lrcorner': '\u231F', + 'lrhar': '\u21CB', + 'lrhard': '\u296D', + 'lrm': '\u200E', + 'lrtri': '\u22BF', + 'lsaquo': '\u2039', + 'lsh': '\u21B0', + 'lsim': '\u2272', + 'lsime': '\u2A8D', + 'lsimg': '\u2A8F', + 'lsqb': '\u005B', + 'lsquo': '\u2018', + 'lsquor': '\u201A', + 'lstrok': '\u0142', + 'ltcc': '\u2AA6', + 'ltcir': '\u2A79', + 'ltdot': '\u22D6', + 'lthree': '\u22CB', + 'ltlarr': '\u2976', + 'ltquest': '\u2A7B', + 'ltrPar': '\u2996', + 'ltrie': '\u22B4', + 'ltrif': '\u25C2', + 'lurdshar': '\u294A', + 'luruhar': '\u2966', + 'lvertneqq': '\u2268\uFE00', + 'lvnE': '\u2268\uFE00' + }); + + MathJax.Ajax.loadComplete(MATHML.entityDir+"/l.js"); + +})(MathJax.InputJax.MathML); diff --git a/modules/MathJax/jax/input/MathML/entities/m.js b/modules/MathJax/jax/input/MathML/entities/m.js new file mode 100644 index 0000000..4a5ed5e --- /dev/null +++ b/modules/MathJax/jax/input/MathML/entities/m.js @@ -0,0 +1,61 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/entities/m.js + * + * Copyright (c) 2010 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +(function (MATHML) { + MathJax.Hub.Insert(MATHML.Parse.Entity,{ + 'Map': '\u2905', + 'Mcy': '\u041C', + 'MediumSpace': '\u205F', + 'Mellintrf': '\u2133', + 'Mu': '\u039C', + 'mDDot': '\u223A', + 'male': '\u2642', + 'maltese': '\u2720', + 'map': '\u21A6', + 'mapsto': '\u21A6', + 'mapstodown': '\u21A7', + 'mapstoleft': '\u21A4', + 'mapstoup': '\u21A5', + 'marker': '\u25AE', + 'mcomma': '\u2A29', + 'mcy': '\u043C', + 'mdash': '\u2014', + 'measuredangle': '\u2221', + 'micro': '\u00B5', + 'mid': '\u2223', + 'midast': '\u002A', + 'midcir': '\u2AF0', + 'middot': '\u00B7', + 'minus': '\u2212', + 'minusb': '\u229F', + 'minusd': '\u2238', + 'minusdu': '\u2A2A', + 'mlcp': '\u2ADB', + 'mldr': '\u2026', + 'mnplus': '\u2213', + 'models': '\u22A7', + 'mp': '\u2213', + 'mstpos': '\u223E', + 'mumap': '\u22B8' + }); + + MathJax.Ajax.loadComplete(MATHML.entityDir+"/m.js"); + +})(MathJax.InputJax.MathML); diff --git a/modules/MathJax/jax/input/MathML/entities/n.js b/modules/MathJax/jax/input/MathML/entities/n.js new file mode 100644 index 0000000..4649549 --- /dev/null +++ b/modules/MathJax/jax/input/MathML/entities/n.js @@ -0,0 +1,220 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/entities/n.js + * + * Copyright (c) 2010 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +(function (MATHML) { + MathJax.Hub.Insert(MATHML.Parse.Entity,{ + 'NJcy': '\u040A', + 'Nacute': '\u0143', + 'Ncaron': '\u0147', + 'Ncedil': '\u0145', + 'Ncy': '\u041D', + 'NegativeMediumSpace': '\u200B', + 'NegativeThickSpace': '\u200B', + 'NegativeThinSpace': '\u200B', + 'NegativeVeryThinSpace': '\u200B', + 'NewLine': '\u000A', + 'NoBreak': '\u2060', + 'NonBreakingSpace': '\u00A0', + 'Not': '\u2AEC', + 'NotCongruent': '\u2262', + 'NotCupCap': '\u226D', + 'NotEqualTilde': '\u2242\u0338', + 'NotGreaterFullEqual': '\u2267\u0338', + 'NotGreaterGreater': '\u226B\u0338', + 'NotGreaterLess': '\u2279', + 'NotGreaterSlantEqual': '\u2A7E\u0338', + 'NotGreaterTilde': '\u2275', + 'NotHumpDownHump': '\u224E\u0338', + 'NotHumpEqual': '\u224F\u0338', + 'NotLeftTriangleBar': '\u29CF\u0338', + 'NotLessGreater': '\u2278', + 'NotLessLess': '\u226A\u0338', + 'NotLessSlantEqual': '\u2A7D\u0338', + 'NotLessTilde': '\u2274', + 'NotNestedGreaterGreater': '\u2AA2\u0338', + 'NotNestedLessLess': '\u2AA1\u0338', + 'NotPrecedesEqual': '\u2AAF\u0338', + 'NotReverseElement': '\u220C', + 'NotRightTriangleBar': '\u29D0\u0338', + 'NotSquareSubset': '\u228F\u0338', + 'NotSquareSubsetEqual': '\u22E2', + 'NotSquareSuperset': '\u2290\u0338', + 'NotSquareSupersetEqual': '\u22E3', + 'NotSubset': '\u2282\u20D2', + 'NotSucceedsEqual': '\u2AB0\u0338', + 'NotSucceedsTilde': '\u227F\u0338', + 'NotSuperset': '\u2283\u20D2', + 'NotTildeEqual': '\u2244', + 'NotTildeFullEqual': '\u2247', + 'NotTildeTilde': '\u2249', + 'Ntilde': '\u00D1', + 'Nu': '\u039D', + 'nGg': '\u22D9\u0338', + 'nGt': '\u226B\u20D2', + 'nGtv': '\u226B\u0338', + 'nLl': '\u22D8\u0338', + 'nLt': '\u226A\u20D2', + 'nLtv': '\u226A\u0338', + 'nabla': '\u2207', + 'nacute': '\u0144', + 'nang': '\u2220\u20D2', + 'nap': '\u2249', + 'napE': '\u2A70\u0338', + 'napid': '\u224B\u0338', + 'napos': '\u0149', + 'napprox': '\u2249', + 'natural': '\u266E', + 'naturals': '\u2115', + 'nbsp': '\u00A0', + 'nbump': '\u224E\u0338', + 'nbumpe': '\u224F\u0338', + 'ncap': '\u2A43', + 'ncaron': '\u0148', + 'ncedil': '\u0146', + 'ncong': '\u2247', + 'ncongdot': '\u2A6D\u0338', + 'ncup': '\u2A42', + 'ncy': '\u043D', + 'ndash': '\u2013', + 'ne': '\u2260', + 'neArr': '\u21D7', + 'nearhk': '\u2924', + 'nearrow': '\u2197', + 'nedot': '\u2250\u0338', + 'nequiv': '\u2262', + 'nesear': '\u2928', + 'nesim': '\u2242\u0338', + 'nexist': '\u2204', + 'nexists': '\u2204', + 'ngE': '\u2267\u0338', + 'nge': '\u2271', + 'ngeq': '\u2271', + 'ngeqq': '\u2267\u0338', + 'ngeqslant': '\u2A7E\u0338', + 'nges': '\u2A7E\u0338', + 'ngsim': '\u2275', + 'ngt': '\u226F', + 'ngtr': '\u226F', + 'nhArr': '\u21CE', + 'nhpar': '\u2AF2', + 'ni': '\u220B', + 'nis': '\u22FC', + 'nisd': '\u22FA', + 'niv': '\u220B', + 'njcy': '\u045A', + 'nlArr': '\u21CD', + 'nlE': '\u2266\u0338', + 'nldr': '\u2025', + 'nle': '\u2270', + 'nleftarrow': '\u219A', + 'nleftrightarrow': '\u21AE', + 'nleq': '\u2270', + 'nleqq': '\u2266\u0338', + 'nleqslant': '\u2A7D\u0338', + 'nles': '\u2A7D\u0338', + 'nless': '\u226E', + 'nlsim': '\u2274', + 'nlt': '\u226E', + 'nltri': '\u22EA', + 'nltrie': '\u22EC', + 'nmid': '\u2224', + 'notin': '\u2209', + 'notinE': '\u22F9\u0338', + 'notindot': '\u22F5\u0338', + 'notinva': '\u2209', + 'notinvb': '\u22F7', + 'notinvc': '\u22F6', + 'notni': '\u220C', + 'notniva': '\u220C', + 'notnivb': '\u22FE', + 'notnivc': '\u22FD', + 'npar': '\u2226', + 'nparallel': '\u2226', + 'nparsl': '\u2AFD\u20E5', + 'npart': '\u2202\u0338', + 'npolint': '\u2A14', + 'npr': '\u2280', + 'nprcue': '\u22E0', + 'npre': '\u2AAF\u0338', + 'nprec': '\u2280', + 'npreceq': '\u2AAF\u0338', + 'nrArr': '\u21CF', + 'nrarrc': '\u2933\u0338', + 'nrarrw': '\u219D\u0338', + 'nrightarrow': '\u219B', + 'nrtri': '\u22EB', + 'nrtrie': '\u22ED', + 'nsc': '\u2281', + 'nsccue': '\u22E1', + 'nsce': '\u2AB0\u0338', + 'nshortmid': '\u2224', + 'nshortparallel': '\u2226', + 'nsim': '\u2241', + 'nsime': '\u2244', + 'nsimeq': '\u2244', + 'nsmid': '\u2224', + 'nspar': '\u2226', + 'nsqsube': '\u22E2', + 'nsqsupe': '\u22E3', + 'nsub': '\u2284', + 'nsubE': '\u2AC5\u0338', + 'nsube': '\u2288', + 'nsubset': '\u2282\u20D2', + 'nsubseteq': '\u2288', + 'nsubseteqq': '\u2AC5\u0338', + 'nsucc': '\u2281', + 'nsucceq': '\u2AB0\u0338', + 'nsup': '\u2285', + 'nsupE': '\u2AC6\u0338', + 'nsupe': '\u2289', + 'nsupset': '\u2283\u20D2', + 'nsupseteq': '\u2289', + 'nsupseteqq': '\u2AC6\u0338', + 'ntgl': '\u2279', + 'ntilde': '\u00F1', + 'ntlg': '\u2278', + 'ntriangleleft': '\u22EA', + 'ntrianglelefteq': '\u22EC', + 'ntriangleright': '\u22EB', + 'ntrianglerighteq': '\u22ED', + 'num': '\u0023', + 'numero': '\u2116', + 'numsp': '\u2007', + 'nvHarr': '\u2904', + 'nvap': '\u224D\u20D2', + 'nvge': '\u2265\u20D2', + 'nvgt': '\u003E\u20D2', + 'nvinfin': '\u29DE', + 'nvlArr': '\u2902', + 'nvle': '\u2264\u20D2', + 'nvlt': '\u003C\u20D2', + 'nvltrie': '\u22B4\u20D2', + 'nvrArr': '\u2903', + 'nvrtrie': '\u22B5\u20D2', + 'nvsim': '\u223C\u20D2', + 'nwArr': '\u21D6', + 'nwarhk': '\u2923', + 'nwarrow': '\u2196', + 'nwnear': '\u2927' + }); + + MathJax.Ajax.loadComplete(MATHML.entityDir+"/n.js"); + +})(MathJax.InputJax.MathML); diff --git a/modules/MathJax/jax/input/MathML/entities/o.js b/modules/MathJax/jax/input/MathML/entities/o.js new file mode 100644 index 0000000..d15a960 --- /dev/null +++ b/modules/MathJax/jax/input/MathML/entities/o.js @@ -0,0 +1,90 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/entities/o.js + * + * Copyright (c) 2010 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +(function (MATHML) { + MathJax.Hub.Insert(MATHML.Parse.Entity,{ + 'OElig': '\u0152', + 'Oacute': '\u00D3', + 'Ocirc': '\u00D4', + 'Ocy': '\u041E', + 'Odblac': '\u0150', + 'Ograve': '\u00D2', + 'Omacr': '\u014C', + 'Omicron': '\u039F', + 'OpenCurlyDoubleQuote': '\u201C', + 'OpenCurlyQuote': '\u2018', + 'Or': '\u2A54', + 'Oslash': '\u00D8', + 'Otilde': '\u00D5', + 'Otimes': '\u2A37', + 'Ouml': '\u00D6', + 'OverBracket': '\u23B4', + 'OverParenthesis': '\u23DC', + 'oS': '\u24C8', + 'oacute': '\u00F3', + 'oast': '\u229B', + 'ocir': '\u229A', + 'ocirc': '\u00F4', + 'ocy': '\u043E', + 'odash': '\u229D', + 'odblac': '\u0151', + 'odiv': '\u2A38', + 'odot': '\u2299', + 'odsold': '\u29BC', + 'oelig': '\u0153', + 'ofcir': '\u29BF', + 'ogon': '\u02DB', + 'ograve': '\u00F2', + 'ogt': '\u29C1', + 'ohbar': '\u29B5', + 'ohm': '\u03A9', + 'oint': '\u222E', + 'olarr': '\u21BA', + 'olcir': '\u29BE', + 'olcross': '\u29BB', + 'oline': '\u203E', + 'olt': '\u29C0', + 'omacr': '\u014D', + 'omid': '\u29B6', + 'ominus': '\u2296', + 'opar': '\u29B7', + 'operp': '\u29B9', + 'oplus': '\u2295', + 'orarr': '\u21BB', + 'ord': '\u2A5D', + 'order': '\u2134', + 'orderof': '\u2134', + 'ordf': '\u00AA', + 'ordm': '\u00BA', + 'origof': '\u22B6', + 'oror': '\u2A56', + 'orslope': '\u2A57', + 'orv': '\u2A5B', + 'oslash': '\u00F8', + 'otilde': '\u00F5', + 'otimes': '\u2297', + 'otimesas': '\u2A36', + 'ouml': '\u00F6', + 'ovbar': '\u233D' + }); + + MathJax.Ajax.loadComplete(MATHML.entityDir+"/o.js"); + +})(MathJax.InputJax.MathML); diff --git a/modules/MathJax/jax/input/MathML/entities/opf.js b/modules/MathJax/jax/input/MathML/entities/opf.js new file mode 100644 index 0000000..cc8c552 --- /dev/null +++ b/modules/MathJax/jax/input/MathML/entities/opf.js @@ -0,0 +1,79 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/entities/opf.js + * + * Copyright (c) 2010 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +(function (MATHML) { + MathJax.Hub.Insert(MATHML.Parse.Entity,{ + 'Aopf': '\uD835\uDD38', + 'Bopf': '\uD835\uDD39', + 'Copf': '\u2102', + 'Dopf': '\uD835\uDD3B', + 'Eopf': '\uD835\uDD3C', + 'Fopf': '\uD835\uDD3D', + 'Gopf': '\uD835\uDD3E', + 'Hopf': '\u210D', + 'Iopf': '\uD835\uDD40', + 'Jopf': '\uD835\uDD41', + 'Kopf': '\uD835\uDD42', + 'Lopf': '\uD835\uDD43', + 'Mopf': '\uD835\uDD44', + 'Nopf': '\u2115', + 'Oopf': '\uD835\uDD46', + 'Popf': '\u2119', + 'Qopf': '\u211A', + 'Ropf': '\u211D', + 'Sopf': '\uD835\uDD4A', + 'Topf': '\uD835\uDD4B', + 'Uopf': '\uD835\uDD4C', + 'Vopf': '\uD835\uDD4D', + 'Wopf': '\uD835\uDD4E', + 'Xopf': '\uD835\uDD4F', + 'Yopf': '\uD835\uDD50', + 'Zopf': '\u2124', + 'aopf': '\uD835\uDD52', + 'bopf': '\uD835\uDD53', + 'copf': '\uD835\uDD54', + 'dopf': '\uD835\uDD55', + 'eopf': '\uD835\uDD56', + 'fopf': '\uD835\uDD57', + 'gopf': '\uD835\uDD58', + 'hopf': '\uD835\uDD59', + 'iopf': '\uD835\uDD5A', + 'jopf': '\uD835\uDD5B', + 'kopf': '\uD835\uDD5C', + 'lopf': '\uD835\uDD5D', + 'mopf': '\uD835\uDD5E', + 'nopf': '\uD835\uDD5F', + 'oopf': '\uD835\uDD60', + 'popf': '\uD835\uDD61', + 'qopf': '\uD835\uDD62', + 'ropf': '\uD835\uDD63', + 'sopf': '\uD835\uDD64', + 'topf': '\uD835\uDD65', + 'uopf': '\uD835\uDD66', + 'vopf': '\uD835\uDD67', + 'wopf': '\uD835\uDD68', + 'xopf': '\uD835\uDD69', + 'yopf': '\uD835\uDD6A', + 'zopf': '\uD835\uDD6B' + }); + + MathJax.Ajax.loadComplete(MATHML.entityDir+"/opf.js"); + +})(MathJax.InputJax.MathML); diff --git a/modules/MathJax/jax/input/MathML/entities/p.js b/modules/MathJax/jax/input/MathML/entities/p.js new file mode 100644 index 0000000..e8ee2c3 --- /dev/null +++ b/modules/MathJax/jax/input/MathML/entities/p.js @@ -0,0 +1,84 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/entities/p.js + * + * Copyright (c) 2010 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +(function (MATHML) { + MathJax.Hub.Insert(MATHML.Parse.Entity,{ + 'Pcy': '\u041F', + 'Poincareplane': '\u210C', + 'Pr': '\u2ABB', + 'Prime': '\u2033', + 'Proportion': '\u2237', + 'par': '\u2225', + 'para': '\u00B6', + 'parallel': '\u2225', + 'parsim': '\u2AF3', + 'parsl': '\u2AFD', + 'part': '\u2202', + 'pcy': '\u043F', + 'percnt': '\u0025', + 'permil': '\u2030', + 'perp': '\u22A5', + 'pertenk': '\u2031', + 'phmmat': '\u2133', + 'phone': '\u260E', + 'pitchfork': '\u22D4', + 'planck': '\u210F', + 'planckh': '\u210E', + 'plankv': '\u210F', + 'plus': '\u002B', + 'plusacir': '\u2A23', + 'plusb': '\u229E', + 'pluscir': '\u2A22', + 'plusdo': '\u2214', + 'plusdu': '\u2A25', + 'pluse': '\u2A72', + 'plusmn': '\u00B1', + 'plussim': '\u2A26', + 'plustwo': '\u2A27', + 'pm': '\u00B1', + 'pointint': '\u2A15', + 'pound': '\u00A3', + 'pr': '\u227A', + 'prE': '\u2AB3', + 'prcue': '\u227C', + 'pre': '\u2AAF', + 'prec': '\u227A', + 'precapprox': '\u2AB7', + 'preccurlyeq': '\u227C', + 'preceq': '\u2AAF', + 'precsim': '\u227E', + 'primes': '\u2119', + 'prnE': '\u2AB5', + 'prnap': '\u2AB9', + 'prnsim': '\u22E8', + 'prod': '\u220F', + 'profalar': '\u232E', + 'profline': '\u2312', + 'profsurf': '\u2313', + 'prop': '\u221D', + 'propto': '\u221D', + 'prsim': '\u227E', + 'prurel': '\u22B0', + 'puncsp': '\u2008' + }); + + MathJax.Ajax.loadComplete(MATHML.entityDir+"/p.js"); + +})(MathJax.InputJax.MathML); diff --git a/modules/MathJax/jax/input/MathML/entities/q.js b/modules/MathJax/jax/input/MathML/entities/q.js new file mode 100644 index 0000000..e2773ea --- /dev/null +++ b/modules/MathJax/jax/input/MathML/entities/q.js @@ -0,0 +1,35 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/entities/q.js + * + * Copyright (c) 2010 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +(function (MATHML) { + MathJax.Hub.Insert(MATHML.Parse.Entity,{ + 'QUOT': '\u0022', + 'qint': '\u2A0C', + 'qprime': '\u2057', + 'quaternions': '\u210D', + 'quatint': '\u2A16', + 'quest': '\u003F', + 'questeq': '\u225F', + 'quot': '\u0022' + }); + + MathJax.Ajax.loadComplete(MATHML.entityDir+"/q.js"); + +})(MathJax.InputJax.MathML); diff --git a/modules/MathJax/jax/input/MathML/entities/r.js b/modules/MathJax/jax/input/MathML/entities/r.js new file mode 100644 index 0000000..9a25327 --- /dev/null +++ b/modules/MathJax/jax/input/MathML/entities/r.js @@ -0,0 +1,138 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/entities/r.js + * + * Copyright (c) 2010 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +(function (MATHML) { + MathJax.Hub.Insert(MATHML.Parse.Entity,{ + 'RBarr': '\u2910', + 'REG': '\u00AE', + 'Racute': '\u0154', + 'Rang': '\u27EB', + 'Rarrtl': '\u2916', + 'Rcaron': '\u0158', + 'Rcedil': '\u0156', + 'Rcy': '\u0420', + 'ReverseElement': '\u220B', + 'ReverseUpEquilibrium': '\u296F', + 'Rho': '\u03A1', + 'RightArrowBar': '\u21E5', + 'RightDoubleBracket': '\u27E7', + 'RightDownTeeVector': '\u295D', + 'RightDownVectorBar': '\u2955', + 'RightTeeVector': '\u295B', + 'RightTriangleBar': '\u29D0', + 'RightUpDownVector': '\u294F', + 'RightUpTeeVector': '\u295C', + 'RightUpVectorBar': '\u2954', + 'RightVectorBar': '\u2953', + 'RoundImplies': '\u2970', + 'RuleDelayed': '\u29F4', + 'rAarr': '\u21DB', + 'rArr': '\u21D2', + 'rAtail': '\u291C', + 'rBarr': '\u290F', + 'rHar': '\u2964', + 'race': '\u223D\u0331', + 'racute': '\u0155', + 'radic': '\u221A', + 'raemptyv': '\u29B3', + 'rang': '\u27E9', + 'rangd': '\u2992', + 'range': '\u29A5', + 'rangle': '\u27E9', + 'raquo': '\u00BB', + 'rarr': '\u2192', + 'rarrap': '\u2975', + 'rarrb': '\u21E5', + 'rarrbfs': '\u2920', + 'rarrc': '\u2933', + 'rarrfs': '\u291E', + 'rarrhk': '\u21AA', + 'rarrlp': '\u21AC', + 'rarrpl': '\u2945', + 'rarrsim': '\u2974', + 'rarrw': '\u219D', + 'ratail': '\u291A', + 'ratio': '\u2236', + 'rationals': '\u211A', + 'rbarr': '\u290D', + 'rbbrk': '\u2773', + 'rbrke': '\u298C', + 'rbrksld': '\u298E', + 'rbrkslu': '\u2990', + 'rcaron': '\u0159', + 'rcedil': '\u0157', + 'rceil': '\u2309', + 'rcub': '\u007D', + 'rcy': '\u0440', + 'rdca': '\u2937', + 'rdldhar': '\u2969', + 'rdquo': '\u201D', + 'rdquor': '\u201D', + 'rdsh': '\u21B3', + 'real': '\u211C', + 'realine': '\u211B', + 'realpart': '\u211C', + 'reals': '\u211D', + 'rect': '\u25AD', + 'reg': '\u00AE', + 'rfisht': '\u297D', + 'rfloor': '\u230B', + 'rhard': '\u21C1', + 'rharu': '\u21C0', + 'rharul': '\u296C', + 'rightarrow': '\u2192', + 'rightarrowtail': '\u21A3', + 'rightharpoondown': '\u21C1', + 'rightharpoonup': '\u21C0', + 'rightleftarrows': '\u21C4', + 'rightleftharpoons': '\u21CC', + 'rightsquigarrow': '\u219D', + 'risingdotseq': '\u2253', + 'rlarr': '\u21C4', + 'rlhar': '\u21CC', + 'rlm': '\u200F', + 'rmoustache': '\u23B1', + 'rnmid': '\u2AEE', + 'roang': '\u27ED', + 'roarr': '\u21FE', + 'robrk': '\u27E7', + 'ropar': '\u2986', + 'roplus': '\u2A2E', + 'rotimes': '\u2A35', + 'rpar': '\u0029', + 'rpargt': '\u2994', + 'rppolint': '\u2A12', + 'rrarr': '\u21C9', + 'rsaquo': '\u203A', + 'rsh': '\u21B1', + 'rsqb': '\u005D', + 'rsquo': '\u2019', + 'rsquor': '\u2019', + 'rthree': '\u22CC', + 'rtrie': '\u22B5', + 'rtrif': '\u25B8', + 'rtriltri': '\u29CE', + 'ruluhar': '\u2968', + 'rx': '\u211E' + }); + + MathJax.Ajax.loadComplete(MATHML.entityDir+"/r.js"); + +})(MathJax.InputJax.MathML); diff --git a/modules/MathJax/jax/input/MathML/entities/s.js b/modules/MathJax/jax/input/MathML/entities/s.js new file mode 100644 index 0000000..8c26da8 --- /dev/null +++ b/modules/MathJax/jax/input/MathML/entities/s.js @@ -0,0 +1,170 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/entities/s.js + * + * Copyright (c) 2010 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +(function (MATHML) { + MathJax.Hub.Insert(MATHML.Parse.Entity,{ + 'SHCHcy': '\u0429', + 'SHcy': '\u0428', + 'SOFTcy': '\u042C', + 'Sacute': '\u015A', + 'Sc': '\u2ABC', + 'Scaron': '\u0160', + 'Scedil': '\u015E', + 'Scirc': '\u015C', + 'Scy': '\u0421', + 'ShortDownArrow': '\u2193', + 'ShortLeftArrow': '\u2190', + 'ShortRightArrow': '\u2192', + 'ShortUpArrow': '\u2191', + 'Sub': '\u22D0', + 'Sup': '\u22D1', + 'sacute': '\u015B', + 'sbquo': '\u201A', + 'sc': '\u227B', + 'scE': '\u2AB4', + 'scaron': '\u0161', + 'sccue': '\u227D', + 'sce': '\u2AB0', + 'scedil': '\u015F', + 'scirc': '\u015D', + 'scpolint': '\u2A13', + 'scsim': '\u227F', + 'scy': '\u0441', + 'sdotb': '\u22A1', + 'sdote': '\u2A66', + 'seArr': '\u21D8', + 'searhk': '\u2925', + 'searrow': '\u2198', + 'semi': '\u003B', + 'seswar': '\u2929', + 'setminus': '\u2216', + 'setmn': '\u2216', + 'sext': '\u2736', + 'sfrown': '\u2322', + 'shchcy': '\u0449', + 'shcy': '\u0448', + 'shortmid': '\u2223', + 'shortparallel': '\u2225', + 'shy': '\u00AD', + 'sigmaf': '\u03C2', + 'sim': '\u223C', + 'simdot': '\u2A6A', + 'sime': '\u2243', + 'simeq': '\u2243', + 'simg': '\u2A9E', + 'simgE': '\u2AA0', + 'siml': '\u2A9D', + 'simlE': '\u2A9F', + 'simplus': '\u2A24', + 'simrarr': '\u2972', + 'slarr': '\u2190', + 'smallsetminus': '\u2216', + 'smashp': '\u2A33', + 'smeparsl': '\u29E4', + 'smid': '\u2223', + 'smt': '\u2AAA', + 'smte': '\u2AAC', + 'smtes': '\u2AAC\uFE00', + 'softcy': '\u044C', + 'sol': '\u002F', + 'solb': '\u29C4', + 'solbar': '\u233F', + 'spadesuit': '\u2660', + 'spar': '\u2225', + 'sqcap': '\u2293', + 'sqcaps': '\u2293\uFE00', + 'sqcup': '\u2294', + 'sqcups': '\u2294\uFE00', + 'sqsub': '\u228F', + 'sqsube': '\u2291', + 'sqsubset': '\u228F', + 'sqsubseteq': '\u2291', + 'sqsup': '\u2290', + 'sqsupe': '\u2292', + 'sqsupset': '\u2290', + 'sqsupseteq': '\u2292', + 'squ': '\u25A1', + 'square': '\u25A1', + 'squarf': '\u25AA', + 'squf': '\u25AA', + 'srarr': '\u2192', + 'ssetmn': '\u2216', + 'ssmile': '\u2323', + 'sstarf': '\u22C6', + 'star': '\u2606', + 'starf': '\u2605', + 'straightepsilon': '\u03F5', + 'straightphi': '\u03D5', + 'strns': '\u00AF', + 'subdot': '\u2ABD', + 'sube': '\u2286', + 'subedot': '\u2AC3', + 'submult': '\u2AC1', + 'subplus': '\u2ABF', + 'subrarr': '\u2979', + 'subset': '\u2282', + 'subseteq': '\u2286', + 'subseteqq': '\u2AC5', + 'subsetneq': '\u228A', + 'subsetneqq': '\u2ACB', + 'subsim': '\u2AC7', + 'subsub': '\u2AD5', + 'subsup': '\u2AD3', + 'succ': '\u227B', + 'succapprox': '\u2AB8', + 'succcurlyeq': '\u227D', + 'succeq': '\u2AB0', + 'succnapprox': '\u2ABA', + 'succneqq': '\u2AB6', + 'succnsim': '\u22E9', + 'succsim': '\u227F', + 'sum': '\u2211', + 'sung': '\u266A', + 'sup': '\u2283', + 'sup1': '\u00B9', + 'sup2': '\u00B2', + 'sup3': '\u00B3', + 'supdot': '\u2ABE', + 'supdsub': '\u2AD8', + 'supe': '\u2287', + 'supedot': '\u2AC4', + 'suphsol': '\u27C9', + 'suphsub': '\u2AD7', + 'suplarr': '\u297B', + 'supmult': '\u2AC2', + 'supplus': '\u2AC0', + 'supset': '\u2283', + 'supseteq': '\u2287', + 'supseteqq': '\u2AC6', + 'supsetneq': '\u228B', + 'supsetneqq': '\u2ACC', + 'supsim': '\u2AC8', + 'supsub': '\u2AD4', + 'supsup': '\u2AD6', + 'swArr': '\u21D9', + 'swarhk': '\u2926', + 'swarrow': '\u2199', + 'swnwar': '\u292A', + 'szlig': '\u00DF' + }); + + MathJax.Ajax.loadComplete(MATHML.entityDir+"/s.js"); + +})(MathJax.InputJax.MathML); diff --git a/modules/MathJax/jax/input/MathML/entities/scr.js b/modules/MathJax/jax/input/MathML/entities/scr.js new file mode 100644 index 0000000..062968b --- /dev/null +++ b/modules/MathJax/jax/input/MathML/entities/scr.js @@ -0,0 +1,79 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/entities/scr.js + * + * Copyright (c) 2010 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +(function (MATHML) { + MathJax.Hub.Insert(MATHML.Parse.Entity,{ + 'Ascr': '\uD835\uDC9C', + 'Bscr': '\u212C', + 'Cscr': '\uD835\uDC9E', + 'Dscr': '\uD835\uDC9F', + 'Escr': '\u2130', + 'Fscr': '\u2131', + 'Gscr': '\uD835\uDCA2', + 'Hscr': '\u210B', + 'Iscr': '\u2110', + 'Jscr': '\uD835\uDCA5', + 'Kscr': '\uD835\uDCA6', + 'Lscr': '\u2112', + 'Mscr': '\u2133', + 'Nscr': '\uD835\uDCA9', + 'Oscr': '\uD835\uDCAA', + 'Pscr': '\uD835\uDCAB', + 'Qscr': '\uD835\uDCAC', + 'Rscr': '\u211B', + 'Sscr': '\uD835\uDCAE', + 'Tscr': '\uD835\uDCAF', + 'Uscr': '\uD835\uDCB0', + 'Vscr': '\uD835\uDCB1', + 'Wscr': '\uD835\uDCB2', + 'Xscr': '\uD835\uDCB3', + 'Yscr': '\uD835\uDCB4', + 'Zscr': '\uD835\uDCB5', + 'ascr': '\uD835\uDCB6', + 'bscr': '\uD835\uDCB7', + 'cscr': '\uD835\uDCB8', + 'dscr': '\uD835\uDCB9', + 'escr': '\u212F', + 'fscr': '\uD835\uDCBB', + 'gscr': '\u210A', + 'hscr': '\uD835\uDCBD', + 'iscr': '\uD835\uDCBE', + 'jscr': '\uD835\uDCBF', + 'kscr': '\uD835\uDCC0', + 'lscr': '\uD835\uDCC1', + 'mscr': '\uD835\uDCC2', + 'nscr': '\uD835\uDCC3', + 'oscr': '\u2134', + 'pscr': '\uD835\uDCC5', + 'qscr': '\uD835\uDCC6', + 'rscr': '\uD835\uDCC7', + 'sscr': '\uD835\uDCC8', + 'tscr': '\uD835\uDCC9', + 'uscr': '\uD835\uDCCA', + 'vscr': '\uD835\uDCCB', + 'wscr': '\uD835\uDCCC', + 'xscr': '\uD835\uDCCD', + 'yscr': '\uD835\uDCCE', + 'zscr': '\uD835\uDCCF' + }); + + MathJax.Ajax.loadComplete(MATHML.entityDir+"/scr.js"); + +})(MathJax.InputJax.MathML); diff --git a/modules/MathJax/jax/input/MathML/entities/t.js b/modules/MathJax/jax/input/MathML/entities/t.js new file mode 100644 index 0000000..8b2746e --- /dev/null +++ b/modules/MathJax/jax/input/MathML/entities/t.js @@ -0,0 +1,86 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/entities/t.js + * + * Copyright (c) 2010 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +(function (MATHML) { + MathJax.Hub.Insert(MATHML.Parse.Entity,{ + 'THORN': '\u00DE', + 'TRADE': '\u2122', + 'TSHcy': '\u040B', + 'TScy': '\u0426', + 'Tab': '\u0009', + 'Tau': '\u03A4', + 'Tcaron': '\u0164', + 'Tcedil': '\u0162', + 'Tcy': '\u0422', + 'ThickSpace': '\u205F\u200A', + 'ThinSpace': '\u2009', + 'TripleDot': '\u20DB', + 'Tstrok': '\u0166', + 'target': '\u2316', + 'tbrk': '\u23B4', + 'tcaron': '\u0165', + 'tcedil': '\u0163', + 'tcy': '\u0442', + 'tdot': '\u20DB', + 'telrec': '\u2315', + 'there4': '\u2234', + 'therefore': '\u2234', + 'thetasym': '\u03D1', + 'thickapprox': '\u2248', + 'thicksim': '\u223C', + 'thinsp': '\u2009', + 'thkap': '\u2248', + 'thksim': '\u223C', + 'thorn': '\u00FE', + 'timesb': '\u22A0', + 'timesbar': '\u2A31', + 'timesd': '\u2A30', + 'tint': '\u222D', + 'toea': '\u2928', + 'top': '\u22A4', + 'topbot': '\u2336', + 'topcir': '\u2AF1', + 'topfork': '\u2ADA', + 'tosa': '\u2929', + 'tprime': '\u2034', + 'trade': '\u2122', + 'triangledown': '\u25BF', + 'triangleleft': '\u25C3', + 'trianglelefteq': '\u22B4', + 'triangleright': '\u25B9', + 'trianglerighteq': '\u22B5', + 'tridot': '\u25EC', + 'trie': '\u225C', + 'triminus': '\u2A3A', + 'triplus': '\u2A39', + 'trisb': '\u29CD', + 'tritime': '\u2A3B', + 'trpezium': '\u23E2', + 'tscy': '\u0446', + 'tshcy': '\u045B', + 'tstrok': '\u0167', + 'twixt': '\u226C', + 'twoheadleftarrow': '\u219E', + 'twoheadrightarrow': '\u21A0' + }); + + MathJax.Ajax.loadComplete(MATHML.entityDir+"/t.js"); + +})(MathJax.InputJax.MathML); diff --git a/modules/MathJax/jax/input/MathML/entities/u.js b/modules/MathJax/jax/input/MathML/entities/u.js new file mode 100644 index 0000000..e4c9f38 --- /dev/null +++ b/modules/MathJax/jax/input/MathML/entities/u.js @@ -0,0 +1,92 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/entities/u.js + * + * Copyright (c) 2010 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +(function (MATHML) { + MathJax.Hub.Insert(MATHML.Parse.Entity,{ + 'Uacute': '\u00DA', + 'Uarr': '\u219F', + 'Uarrocir': '\u2949', + 'Ubrcy': '\u040E', + 'Ubreve': '\u016C', + 'Ucirc': '\u00DB', + 'Ucy': '\u0423', + 'Udblac': '\u0170', + 'Ugrave': '\u00D9', + 'Umacr': '\u016A', + 'UnderBracket': '\u23B5', + 'UnderParenthesis': '\u23DD', + 'Uogon': '\u0172', + 'UpArrowBar': '\u2912', + 'UpArrowDownArrow': '\u21C5', + 'UpEquilibrium': '\u296E', + 'UpTeeArrow': '\u21A5', + 'UpperLeftArrow': '\u2196', + 'UpperRightArrow': '\u2197', + 'Upsi': '\u03D2', + 'Uring': '\u016E', + 'Utilde': '\u0168', + 'Uuml': '\u00DC', + 'uArr': '\u21D1', + 'uHar': '\u2963', + 'uacute': '\u00FA', + 'uarr': '\u2191', + 'ubrcy': '\u045E', + 'ubreve': '\u016D', + 'ucirc': '\u00FB', + 'ucy': '\u0443', + 'udarr': '\u21C5', + 'udblac': '\u0171', + 'udhar': '\u296E', + 'ufisht': '\u297E', + 'ugrave': '\u00F9', + 'uharl': '\u21BF', + 'uharr': '\u21BE', + 'uhblk': '\u2580', + 'ulcorn': '\u231C', + 'ulcorner': '\u231C', + 'ulcrop': '\u230F', + 'ultri': '\u25F8', + 'umacr': '\u016B', + 'uml': '\u00A8', + 'uogon': '\u0173', + 'uparrow': '\u2191', + 'updownarrow': '\u2195', + 'upharpoonleft': '\u21BF', + 'upharpoonright': '\u21BE', + 'uplus': '\u228E', + 'upsih': '\u03D2', + 'upsilon': '\u03C5', + 'urcorn': '\u231D', + 'urcorner': '\u231D', + 'urcrop': '\u230E', + 'uring': '\u016F', + 'urtri': '\u25F9', + 'utdot': '\u22F0', + 'utilde': '\u0169', + 'utri': '\u25B5', + 'utrif': '\u25B4', + 'uuarr': '\u21C8', + 'uuml': '\u00FC', + 'uwangle': '\u29A7' + }); + + MathJax.Ajax.loadComplete(MATHML.entityDir+"/u.js"); + +})(MathJax.InputJax.MathML); diff --git a/modules/MathJax/jax/input/MathML/entities/v.js b/modules/MathJax/jax/input/MathML/entities/v.js new file mode 100644 index 0000000..b76e16d --- /dev/null +++ b/modules/MathJax/jax/input/MathML/entities/v.js @@ -0,0 +1,73 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/entities/v.js + * + * Copyright (c) 2010 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +(function (MATHML) { + MathJax.Hub.Insert(MATHML.Parse.Entity,{ + 'VDash': '\u22AB', + 'Vbar': '\u2AEB', + 'Vcy': '\u0412', + 'Vdashl': '\u2AE6', + 'Verbar': '\u2016', + 'Vert': '\u2016', + 'VerticalLine': '\u007C', + 'VerticalSeparator': '\u2758', + 'VeryThinSpace': '\u200A', + 'vArr': '\u21D5', + 'vBar': '\u2AE8', + 'vBarv': '\u2AE9', + 'vDash': '\u22A8', + 'vangrt': '\u299C', + 'varepsilon': '\u03F5', + 'varkappa': '\u03F0', + 'varnothing': '\u2205', + 'varphi': '\u03D5', + 'varpi': '\u03D6', + 'varpropto': '\u221D', + 'varr': '\u2195', + 'varrho': '\u03F1', + 'varsigma': '\u03C2', + 'varsubsetneq': '\u228A\uFE00', + 'varsubsetneqq': '\u2ACB\uFE00', + 'varsupsetneq': '\u228B\uFE00', + 'varsupsetneqq': '\u2ACC\uFE00', + 'vartheta': '\u03D1', + 'vartriangleleft': '\u22B2', + 'vartriangleright': '\u22B3', + 'vcy': '\u0432', + 'vdash': '\u22A2', + 'vee': '\u2228', + 'veeeq': '\u225A', + 'verbar': '\u007C', + 'vert': '\u007C', + 'vltri': '\u22B2', + 'vnsub': '\u2282\u20D2', + 'vnsup': '\u2283\u20D2', + 'vprop': '\u221D', + 'vrtri': '\u22B3', + 'vsubnE': '\u2ACB\uFE00', + 'vsubne': '\u228A\uFE00', + 'vsupnE': '\u2ACC\uFE00', + 'vsupne': '\u228B\uFE00', + 'vzigzag': '\u299A' + }); + + MathJax.Ajax.loadComplete(MATHML.entityDir+"/v.js"); + +})(MathJax.InputJax.MathML); diff --git a/modules/MathJax/jax/input/MathML/entities/w.js b/modules/MathJax/jax/input/MathML/entities/w.js new file mode 100644 index 0000000..73186ee --- /dev/null +++ b/modules/MathJax/jax/input/MathML/entities/w.js @@ -0,0 +1,35 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/entities/w.js + * + * Copyright (c) 2010 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +(function (MATHML) { + MathJax.Hub.Insert(MATHML.Parse.Entity,{ + 'Wcirc': '\u0174', + 'wcirc': '\u0175', + 'wedbar': '\u2A5F', + 'wedge': '\u2227', + 'wedgeq': '\u2259', + 'wp': '\u2118', + 'wr': '\u2240', + 'wreath': '\u2240' + }); + + MathJax.Ajax.loadComplete(MATHML.entityDir+"/w.js"); + +})(MathJax.InputJax.MathML); diff --git a/modules/MathJax/jax/input/MathML/entities/x.js b/modules/MathJax/jax/input/MathML/entities/x.js new file mode 100644 index 0000000..f6bb122 --- /dev/null +++ b/modules/MathJax/jax/input/MathML/entities/x.js @@ -0,0 +1,47 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/entities/x.js + * + * Copyright (c) 2010 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +(function (MATHML) { + MathJax.Hub.Insert(MATHML.Parse.Entity,{ + 'xcap': '\u22C2', + 'xcirc': '\u25EF', + 'xcup': '\u22C3', + 'xdtri': '\u25BD', + 'xhArr': '\u27FA', + 'xharr': '\u27F7', + 'xlArr': '\u27F8', + 'xlarr': '\u27F5', + 'xmap': '\u27FC', + 'xnis': '\u22FB', + 'xodot': '\u2A00', + 'xoplus': '\u2A01', + 'xotime': '\u2A02', + 'xrArr': '\u27F9', + 'xrarr': '\u27F6', + 'xsqcup': '\u2A06', + 'xuplus': '\u2A04', + 'xutri': '\u25B3', + 'xvee': '\u22C1', + 'xwedge': '\u22C0' + }); + + MathJax.Ajax.loadComplete(MATHML.entityDir+"/x.js"); + +})(MathJax.InputJax.MathML); diff --git a/modules/MathJax/jax/input/MathML/entities/y.js b/modules/MathJax/jax/input/MathML/entities/y.js new file mode 100644 index 0000000..913d61d --- /dev/null +++ b/modules/MathJax/jax/input/MathML/entities/y.js @@ -0,0 +1,41 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/entities/y.js + * + * Copyright (c) 2010 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +(function (MATHML) { + MathJax.Hub.Insert(MATHML.Parse.Entity,{ + 'YAcy': '\u042F', + 'YIcy': '\u0407', + 'YUcy': '\u042E', + 'Yacute': '\u00DD', + 'Ycirc': '\u0176', + 'Ycy': '\u042B', + 'Yuml': '\u0178', + 'yacute': '\u00FD', + 'yacy': '\u044F', + 'ycirc': '\u0177', + 'ycy': '\u044B', + 'yicy': '\u0457', + 'yucy': '\u044E', + 'yuml': '\u00FF' + }); + + MathJax.Ajax.loadComplete(MATHML.entityDir+"/y.js"); + +})(MathJax.InputJax.MathML); diff --git a/modules/MathJax/jax/input/MathML/entities/z.js b/modules/MathJax/jax/input/MathML/entities/z.js new file mode 100644 index 0000000..385b9ff --- /dev/null +++ b/modules/MathJax/jax/input/MathML/entities/z.js @@ -0,0 +1,42 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/entities/z.js + * + * Copyright (c) 2010 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +(function (MATHML) { + MathJax.Hub.Insert(MATHML.Parse.Entity,{ + 'ZHcy': '\u0416', + 'Zacute': '\u0179', + 'Zcaron': '\u017D', + 'Zcy': '\u0417', + 'Zdot': '\u017B', + 'ZeroWidthSpace': '\u200B', + 'Zeta': '\u0396', + 'zacute': '\u017A', + 'zcaron': '\u017E', + 'zcy': '\u0437', + 'zdot': '\u017C', + 'zeetrf': '\u2128', + 'zhcy': '\u0436', + 'zwj': '\u200D', + 'zwnj': '\u200C' + }); + + MathJax.Ajax.loadComplete(MATHML.entityDir+"/z.js"); + +})(MathJax.InputJax.MathML); diff --git a/modules/MathJax/jax/input/MathML/jax.js b/modules/MathJax/jax/input/MathML/jax.js new file mode 100644 index 0000000..e1f8367 --- /dev/null +++ b/modules/MathJax/jax/input/MathML/jax.js @@ -0,0 +1,619 @@ +/************************************************************* + * + * MathJax/jax/input/MathML/jax.js + * + * Implements the MathML InputJax that reads mathematics in + * MathML format and converts it to the MML ElementJax + * internal format. + * + * --------------------------------------------------------------------- + * + * Copyright (c) 2010-2011 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + + */ + +(function (MATHML,BROWSER) { + var MML; + + MATHML.Parse = MathJax.Object.Subclass({ + + Init: function (string) {this.Parse(string)}, + + // + // Parse the MathML and check for errors + // + Parse: function (math) { + var doc; + if (typeof math !== "string") {doc = math.parentNode} else { + if (math.match(/^<[a-z]+:/i) && !math.match(/^<[^<>]* xmlns:/)) + {math = math.replace(/^<([a-z]+)(:math)/i,'<$1$2 xmlns:$1="http://www.w3.org/1998/Math/MathML"')} + math = math.replace(/^\s*(?:\/\/)?\s*$/,"$2"); + math = math.replace(/&([a-z][a-z0-9]*);/ig,this.replaceEntity); + doc = MATHML.ParseXML(math); if (doc == null) {MATHML.Error("Error parsing MathML")} + } + var err = doc.getElementsByTagName("parsererror")[0]; + if (err) MATHML.Error("Error parsing MathML: "+err.textContent.replace(/This page.*?errors:|XML Parsing Error: |Below is a rendering of the page.*/g,"")); + if (doc.childNodes.length !== 1) MATHML.Error("MathML must be formed by a single element"); + if (doc.firstChild.nodeName.toLowerCase() === "html") { + var h1 = doc.getElementsByTagName("h1")[0]; + if (h1 && h1.textContent === "XML parsing error" && h1.nextSibling) + MATHML.Error("Error parsing MathML: "+String(h1.nextSibling.nodeValue).replace(/fatal parsing error: /,"")); + } + if (doc.firstChild.nodeName.toLowerCase().replace(/^[a-z]+:/,"") !== "math") + MATHML.Error("MathML must be formed by a element, not <"+doc.firstChild.nodeName+">"); + this.mml = this.MakeMML(doc.firstChild); + }, + + // + // Convert the MathML structure to the MathJax Element jax structure + // + MakeMML: function (node) { + var type = node.nodeName.toLowerCase().replace(/^[a-z]+:/,""); + if (!(MML[type] && MML[type].isa && MML[type].isa(MML.mbase))) + {return MML.merror("Unknown node type: "+type)} + var mml = MML[type](), i, m, name, value; + for (i = 0, m = node.attributes.length; i < m; i++) { + name = node.attributes[i].name; + if (name == "xlink:href") {name = "href"} + if (name.match(/:/)) continue; + value = node.attributes[i].value; + if (value.toLowerCase() === "true") {value = true} + else if (value.toLowerCase() === "false") {value = false} + mml[name] = value; + } + for (i = 0, m = node.childNodes.length; i < m; i++) { + var child = node.childNodes[i]; + if (child.nodeName === "#comment") continue; + if (child.nodeName === "#text") { + if (mml.isToken && !mml.mmlSelfClosing) { + var text = this.trimSpace(child.nodeValue); + if (mml.isa(MML.mo) && text.length === 1 && this.Remap[text.charAt(0)]) + {text = this.Remap[text.charAt(0)]} + text = text.replace(/&([a-z][a-z0-9]*);/ig,this.replaceEntity); + mml.Append(MML.chars(text)); + } else if (child.nodeValue.match(/\S/)) { + MATHML.Error("Unexpected text node: '"+child.nodeValue+"'"); + } + } else if (mml.type === "annotation-xml") { + mml.Append(MML.xml(child)); + } else { + var cmml = this.MakeMML(child); mml.Append(cmml); + if (cmml.mmlSelfClosing && cmml.data.length) + {mml.Append.apply(mml,cmml.data); cmml.data = []} + } + } + if (MATHML.config.useMathMLspacing) {mml.useMMLspacing = 0x08} + return mml; + }, + + trimSpace: function (string) { + return string.replace(/^[ \t\n\r]+/,"") // initial whitespace + .replace(/[ \t\n\r]+$/,"") // trailing whitespace + .replace(/[ \t\n\r][ \t\n\r]+/g," "); // internal multiple whitespace + }, + + replaceEntity: function (match,entity) { + if (entity.match(/^(lt|amp|quot)$/)) {return match} // these mess up attribute parsing + if (MATHML.Parse.Entity[entity]) {return MATHML.Parse.Entity[entity]} + var file = entity.charAt(0).toLowerCase(); + var font = entity.match(/^[a-zA-Z](fr|scr|opf)$/); + if (font) {file = font[1]} + if (!MATHML.Parse.loaded[file]) { + MATHML.Parse.loaded[file] = true; + MathJax.Hub.RestartAfter(MathJax.Ajax.Require(MATHML.entityDir+"/"+file+".js")); + } + return match; + }, + + Remap: { + '\u0027': '\u2032', // ' + '\u002A': '\u2217', // * + '\u002D': '\u2212' // - + } + }, { + loaded: [] + }); + + /************************************************************************/ + + MATHML.Augment({ + Translate: function (script) { + if (!this.ParseXML) {this.ParseXML = this.createParser()} + var mml, math; + if (script.firstChild && + script.firstChild.nodeName.toLowerCase().replace(/^[a-z]+:/,"") === "math") { + math = this.prefilterMathML(script.firstChild); + } else { + math = script.innerHTML.replace(/^\s+/,"").replace(/\s+$/,""); + if (BROWSER.isMSIE) {math = math.replace(/( )+$/,"")} + else if (BROWSER.isKonqueror) + {math = math.replace(/</g,"<").replace(/>/g,">").replace(/&/g,"&")} + math = this.prefilterMath(math,script); + } + try { + mml = MATHML.Parse(math).mml; + } catch(err) { + if (!err.mathmlError) {throw err} + mml = this.formatError(err,math,script); + } + return MML(mml); + }, + prefilterMath: function (math,script) {return math}, + prefilterMathML: function (math) {return math}, + formatError: function (err,math,script) { + return MML.merror(err.message.replace(/\n.*/,"")); + }, + Error: function (message) { + throw MathJax.Hub.Insert(Error(message),{mathmlError: true}); + }, + // + // Parsers for various forms (DOMParser, Windows ActiveX object, other) + // + parseDOM: function (string) {return this.parser.parseFromString(string,"text/xml")}, + parseMS: function (string) {return (this.parser.loadXML(string) ? this.parser : null)}, + parseDIV: function (string) { + this.div.innerHTML = string.replace(/<([a-z]+)([^>]*)\/>/g,"<$1$2>"); + return this.div; + }, + parseError: function (string) {return null}, + // + // Create the parser using a DOMParser, or other fallback method + // + createParser: function () { + if (window.DOMParser) { + this.parser = new DOMParser(); + return(this.parseDOM); + } else if (window.ActiveXObject) { + var xml = ["MSXML2.DOMDocument.6.0","MSXML2.DOMDocument.5.0","MSXML2.DOMDocument.4.0", + "MSXML2.DOMDocument.3.0","MSXML2.DOMDocument.2.0","Microsoft.XMLDOM"]; + for (var i = 0, m = xml.length; i < m && !this.parser; i++) + {try {this.parser = new ActiveXObject(xml[i])} catch (err) {}} + if (!this.parser) { + alert("MathJax can't create an XML parser for MathML. Check that\n"+ + "the 'Script ActiveX controls marked safe for scripting' security\n"+ + "setting is enabled (use the Internet Options item in the Tools\n"+ + "menu, and select the Security panel, then press the Custom Level\n"+ + "button to check this).\n\n"+ + "MathML equations will not be able to be processed by MathJax."); + return(this.parseError); + } + this.parser.async = false; + return(this.parseMS); + } + this.div = MathJax.Hub.Insert(document.createElement("div"),{ + style:{visibility:"hidden", overflow:"hidden", height:"1px", + position:"absolute", top:0} + }); + if (!document.body.firstChild) {document.body.appendChild(this.div)} + else {document.body.insertBefore(this.div,document.body.firstChild)} + return(this.parseDIV); + }, + // + // Initialize the parser object (whichever type is used) + // + Startup: function () { + MML = MathJax.ElementJax.mml; + MML.mspace.Augment({mmlSelfClosing: true}); + MML.none.Augment({mmlSelfClosing: true}); + MML.mprescripts.Augment({mmlSelfClossing:true}); + } + }); + + MATHML.Parse.Entity = { + ApplyFunction: '\u2061', + Backslash: '\u2216', + Because: '\u2235', + Breve: '\u02D8', + Cap: '\u22D2', + CenterDot: '\u00B7', + CircleDot: '\u2299', + CircleMinus: '\u2296', + CirclePlus: '\u2295', + CircleTimes: '\u2297', + Congruent: '\u2261', + ContourIntegral: '\u222E', + Coproduct: '\u2210', + Cross: '\u2A2F', + Cup: '\u22D3', + CupCap: '\u224D', + Dagger: '\u2021', + Del: '\u2207', + Delta: '\u0394', + Diamond: '\u22C4', + DifferentialD: '\u2146', + DotEqual: '\u2250', + DoubleDot: '\u00A8', + DoubleRightTee: '\u22A8', + DoubleVerticalBar: '\u2225', + DownArrow: '\u2193', + DownLeftVector: '\u21BD', + DownRightVector: '\u21C1', + DownTee: '\u22A4', + Downarrow: '\u21D3', + Element: '\u2208', + EqualTilde: '\u2242', + Equilibrium: '\u21CC', + Exists: '\u2203', + ExponentialE: '\u2147', + FilledVerySmallSquare: '\u25AA', + ForAll: '\u2200', + Gamma: '\u0393', + Gg: '\u22D9', + GreaterEqual: '\u2265', + GreaterEqualLess: '\u22DB', + GreaterFullEqual: '\u2267', + GreaterLess: '\u2277', + GreaterSlantEqual: '\u2A7E', + GreaterTilde: '\u2273', + Hacek: '\u02C7', + Hat: '\u005E', + HumpDownHump: '\u224E', + HumpEqual: '\u224F', + Im: '\u2111', + ImaginaryI: '\u2148', + Integral: '\u222B', + Intersection: '\u22C2', + InvisibleComma: '\u2063', + InvisibleTimes: '\u2062', + Lambda: '\u039B', + Larr: '\u219E', + LeftAngleBracket: '\u27E8', + LeftArrow: '\u2190', + LeftArrowRightArrow: '\u21C6', + LeftCeiling: '\u2308', + LeftDownVector: '\u21C3', + LeftFloor: '\u230A', + LeftRightArrow: '\u2194', + LeftTee: '\u22A3', + LeftTriangle: '\u22B2', + LeftTriangleEqual: '\u22B4', + LeftUpVector: '\u21BF', + LeftVector: '\u21BC', + Leftarrow: '\u21D0', + Leftrightarrow: '\u21D4', + LessEqualGreater: '\u22DA', + LessFullEqual: '\u2266', + LessGreater: '\u2276', + LessSlantEqual: '\u2A7D', + LessTilde: '\u2272', + Ll: '\u22D8', + Lleftarrow: '\u21DA', + LongLeftArrow: '\u27F5', + LongLeftRightArrow: '\u27F7', + LongRightArrow: '\u27F6', + Longleftarrow: '\u27F8', + Longleftrightarrow: '\u27FA', + Longrightarrow: '\u27F9', + Lsh: '\u21B0', + MinusPlus: '\u2213', + NestedGreaterGreater: '\u226B', + NestedLessLess: '\u226A', + NotDoubleVerticalBar: '\u2226', + NotElement: '\u2209', + NotEqual: '\u2260', + NotExists: '\u2204', + NotGreater: '\u226F', + NotGreaterEqual: '\u2271', + NotLeftTriangle: '\u22EA', + NotLeftTriangleEqual: '\u22EC', + NotLess: '\u226E', + NotLessEqual: '\u2270', + NotPrecedes: '\u2280', + NotPrecedesSlantEqual: '\u22E0', + NotRightTriangle: '\u22EB', + NotRightTriangleEqual: '\u22ED', + NotSubsetEqual: '\u2288', + NotSucceeds: '\u2281', + NotSucceedsSlantEqual: '\u22E1', + NotSupersetEqual: '\u2289', + NotTilde: '\u2241', + NotVerticalBar: '\u2224', + Omega: '\u03A9', + OverBar: '\u203E', + OverBrace: '\u23DE', + PartialD: '\u2202', + Phi: '\u03A6', + Pi: '\u03A0', + PlusMinus: '\u00B1', + Precedes: '\u227A', + PrecedesEqual: '\u2AAF', + PrecedesSlantEqual: '\u227C', + PrecedesTilde: '\u227E', + Product: '\u220F', + Proportional: '\u221D', + Psi: '\u03A8', + Rarr: '\u21A0', + Re: '\u211C', + ReverseEquilibrium: '\u21CB', + RightAngleBracket: '\u27E9', + RightArrow: '\u2192', + RightArrowLeftArrow: '\u21C4', + RightCeiling: '\u2309', + RightDownVector: '\u21C2', + RightFloor: '\u230B', + RightTee: '\u22A2', + RightTeeArrow: '\u21A6', + RightTriangle: '\u22B3', + RightTriangleEqual: '\u22B5', + RightUpVector: '\u21BE', + RightVector: '\u21C0', + Rightarrow: '\u21D2', + Rrightarrow: '\u21DB', + Rsh: '\u21B1', + Sigma: '\u03A3', + SmallCircle: '\u2218', + Sqrt: '\u221A', + Square: '\u25A1', + SquareIntersection: '\u2293', + SquareSubset: '\u228F', + SquareSubsetEqual: '\u2291', + SquareSuperset: '\u2290', + SquareSupersetEqual: '\u2292', + SquareUnion: '\u2294', + Star: '\u22C6', + Subset: '\u22D0', + SubsetEqual: '\u2286', + Succeeds: '\u227B', + SucceedsEqual: '\u2AB0', + SucceedsSlantEqual: '\u227D', + SucceedsTilde: '\u227F', + SuchThat: '\u220B', + Sum: '\u2211', + Superset: '\u2283', + SupersetEqual: '\u2287', + Supset: '\u22D1', + Therefore: '\u2234', + Theta: '\u0398', + Tilde: '\u223C', + TildeEqual: '\u2243', + TildeFullEqual: '\u2245', + TildeTilde: '\u2248', + UnderBar: '\u005F', + UnderBrace: '\u23DF', + Union: '\u22C3', + UnionPlus: '\u228E', + UpArrow: '\u2191', + UpDownArrow: '\u2195', + UpTee: '\u22A5', + Uparrow: '\u21D1', + Updownarrow: '\u21D5', + Upsilon: '\u03A5', + Vdash: '\u22A9', + Vee: '\u22C1', + VerticalBar: '\u2223', + VerticalTilde: '\u2240', + Vvdash: '\u22AA', + Wedge: '\u22C0', + Xi: '\u039E', + acute: '\u00B4', + aleph: '\u2135', + alpha: '\u03B1', + amalg: '\u2A3F', + and: '\u2227', + ang: '\u2220', + angmsd: '\u2221', + angsph: '\u2222', + ape: '\u224A', + backprime: '\u2035', + backsim: '\u223D', + backsimeq: '\u22CD', + beta: '\u03B2', + beth: '\u2136', + between: '\u226C', + bigcirc: '\u25EF', + bigodot: '\u2A00', + bigoplus: '\u2A01', + bigotimes: '\u2A02', + bigsqcup: '\u2A06', + bigstar: '\u2605', + bigtriangledown: '\u25BD', + bigtriangleup: '\u25B3', + biguplus: '\u2A04', + blacklozenge: '\u29EB', + blacktriangle: '\u25B4', + blacktriangledown: '\u25BE', + blacktriangleleft: '\u25C2', + bowtie: '\u22C8', + boxdl: '\u2510', + boxdr: '\u250C', + boxminus: '\u229F', + boxplus: '\u229E', + boxtimes: '\u22A0', + boxul: '\u2518', + boxur: '\u2514', + bsol: '\u005C', + bull: '\u2022', + cap: '\u2229', + check: '\u2713', + chi: '\u03C7', + circ: '\u02C6', + circeq: '\u2257', + circlearrowleft: '\u21BA', + circlearrowright: '\u21BB', + circledR: '\u00AE', + circledS: '\u24C8', + circledast: '\u229B', + circledcirc: '\u229A', + circleddash: '\u229D', + clubs: '\u2663', + colon: '\u003A', + comp: '\u2201', + ctdot: '\u22EF', + cuepr: '\u22DE', + cuesc: '\u22DF', + cularr: '\u21B6', + cup: '\u222A', + curarr: '\u21B7', + curlyvee: '\u22CE', + curlywedge: '\u22CF', + dagger: '\u2020', + daleth: '\u2138', + ddarr: '\u21CA', + deg: '\u00B0', + delta: '\u03B4', + digamma: '\u03DD', + div: '\u00F7', + divideontimes: '\u22C7', + dot: '\u02D9', + doteqdot: '\u2251', + dotplus: '\u2214', + dotsquare: '\u22A1', + dtdot: '\u22F1', + ecir: '\u2256', + efDot: '\u2252', + egs: '\u2A96', + ell: '\u2113', + els: '\u2A95', + empty: '\u2205', + epsi: '\u03B5', + epsiv: '\u03F5', + erDot: '\u2253', + eta: '\u03B7', + eth: '\u00F0', + flat: '\u266D', + fork: '\u22D4', + frown: '\u2322', + gEl: '\u2A8C', + gamma: '\u03B3', + gap: '\u2A86', + gimel: '\u2137', + gnE: '\u2269', + gnap: '\u2A8A', + gne: '\u2A88', + gnsim: '\u22E7', + gt: '\u003E', + gtdot: '\u22D7', + harrw: '\u21AD', + hbar: '\u210F', + hellip: '\u2026', + hookleftarrow: '\u21A9', + hookrightarrow: '\u21AA', + imath: '\u0131', + infin: '\u221E', + intcal: '\u22BA', + iota: '\u03B9', + jmath: '\u0237', + kappa: '\u03BA', + kappav: '\u03F0', + lEg: '\u2A8B', + lambda: '\u03BB', + lap: '\u2A85', + larrlp: '\u21AB', + larrtl: '\u21A2', + lbrace: '\u007B', + lbrack: '\u005B', + le: '\u2264', + leftleftarrows: '\u21C7', + leftthreetimes: '\u22CB', + lessdot: '\u22D6', + lmoust: '\u23B0', + lnE: '\u2268', + lnap: '\u2A89', + lne: '\u2A87', + lnsim: '\u22E6', + longmapsto: '\u27FC', + looparrowright: '\u21AC', + lowast: '\u2217', + loz: '\u25CA', + lt: '\u003C', + ltimes: '\u22C9', + ltri: '\u25C3', + macr: '\u00AF', + malt: '\u2720', + mho: '\u2127', + mu: '\u03BC', + multimap: '\u22B8', + nLeftarrow: '\u21CD', + nLeftrightarrow: '\u21CE', + nRightarrow: '\u21CF', + nVDash: '\u22AF', + nVdash: '\u22AE', + natur: '\u266E', + nearr: '\u2197', + nharr: '\u21AE', + nlarr: '\u219A', + not: '\u00AC', + nrarr: '\u219B', + nu: '\u03BD', + nvDash: '\u22AD', + nvdash: '\u22AC', + nwarr: '\u2196', + omega: '\u03C9', + omicron: '\u03BF', + or: '\u2228', + osol: '\u2298', + period: '\u002E', + phi: '\u03C6', + phiv: '\u03D5', + pi: '\u03C0', + piv: '\u03D6', + prap: '\u2AB7', + precnapprox: '\u2AB9', + precneqq: '\u2AB5', + precnsim: '\u22E8', + prime: '\u2032', + psi: '\u03C8', + rarrtl: '\u21A3', + rbrace: '\u007D', + rbrack: '\u005D', + rho: '\u03C1', + rhov: '\u03F1', + rightrightarrows: '\u21C9', + rightthreetimes: '\u22CC', + ring: '\u02DA', + rmoust: '\u23B1', + rtimes: '\u22CA', + rtri: '\u25B9', + scap: '\u2AB8', + scnE: '\u2AB6', + scnap: '\u2ABA', + scnsim: '\u22E9', + sdot: '\u22C5', + searr: '\u2198', + sect: '\u00A7', + sharp: '\u266F', + sigma: '\u03C3', + sigmav: '\u03C2', + simne: '\u2246', + smile: '\u2323', + spades: '\u2660', + sub: '\u2282', + subE: '\u2AC5', + subnE: '\u2ACB', + subne: '\u228A', + supE: '\u2AC6', + supnE: '\u2ACC', + supne: '\u228B', + swarr: '\u2199', + tau: '\u03C4', + theta: '\u03B8', + thetav: '\u03D1', + tilde: '\u02DC', + times: '\u00D7', + triangle: '\u25B5', + triangleq: '\u225C', + upsi: '\u03C5', + upuparrows: '\u21C8', + veebar: '\u22BB', + vellip: '\u22EE', + weierp: '\u2118', + xi: '\u03BE', + yen: '\u00A5', + zeta: '\u03B6', + zigrarr: '\u21DD' + }; + + MATHML.loadComplete("jax.js"); + +})(MathJax.InputJax.MathML,MathJax.Hub.Browser); diff --git a/modules/MathJax/jax/input/TeX/config.js b/modules/MathJax/jax/input/TeX/config.js new file mode 100644 index 0000000..7fb9d92 --- /dev/null +++ b/modules/MathJax/jax/input/TeX/config.js @@ -0,0 +1,39 @@ +/************************************************************* + * + * MathJax/jax/input/TeX/config.js + * + * Initializes the TeX InputJax (the main definition is in + * MathJax/jax/input/TeX/jax.js, which is loaded when needed). + * + * --------------------------------------------------------------------- + * + * Copyright (c) 2009-2011 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +MathJax.InputJax.TeX = MathJax.InputJax({ + id: "TeX", + version: "1.1.1", + directory: MathJax.InputJax.directory + "/TeX", + extensionDir: MathJax.InputJax.extensionDir + "/TeX", + + config: { + TagSide: "right", + TagIndent: "0.8em", + MultLineWidth: "85%" + } +}); +MathJax.InputJax.TeX.Register("math/tex"); + +MathJax.InputJax.TeX.loadComplete("config.js"); diff --git a/modules/MathJax/jax/input/TeX/jax.js b/modules/MathJax/jax/input/TeX/jax.js new file mode 100644 index 0000000..32e7630 --- /dev/null +++ b/modules/MathJax/jax/input/TeX/jax.js @@ -0,0 +1,1760 @@ +/************************************************************* + * + * MathJax/jax/input/TeX/jax.js + * + * Implements the TeX InputJax that reads mathematics in + * TeX and LaTeX format and converts it to the MML ElementJax + * internal format. + * + * --------------------------------------------------------------------- + * + * Copyright (c) 2009-2011 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +(function (TEX) { + var TRUE = true, FALSE = false, MML, NBSP = String.fromCharCode(0xA0); + + var STACK = MathJax.Object.Subclass({ + Init: function (env) { + this.global = {}; + this.data = [STACKITEM.start().With({global: this.global})]; + if (env) {this.data[0].env = env} + this.env = this.data[0].env; + }, + Push: function () { + var i, m, item, top; + for (i = 0, m = arguments.length; i < m; i++) { + item = arguments[i]; + if (item instanceof MML.mbase) {item = STACKITEM.mml(item)} + item.global = this.global; + top = (this.data.length ? this.Top().checkItem(item) : TRUE); + if (top instanceof Array) {this.Pop(); this.Push.apply(this,top)} + else if (top instanceof STACKITEM) {this.Pop(); this.Push(top)} + else if (top) { + this.data.push(item); + if (item.env) { + for (var id in this.env) + {if (this.env.hasOwnProperty(id)) {item.env[id] = this.env[id]}} + this.env = item.env; + } else {item.env = this.env} + } + } + }, + Pop: function () { + var item = this.data.pop(); if (!item.isOpen) {delete item.env} + this.env = (this.data.length ? this.Top().env : {}); + return item; + }, + Top: function (n) { + if (n == null) {n = 1} + if (this.data.length < n) {return null} + return this.data[this.data.length-n]; + }, + Prev: function (noPop) { + var top = this.Top(); + if (noPop) {return top.data[top.data.length-1]} + else {return top.Pop()} + }, + toString: function () {return "stack[\n "+this.data.join("\n ")+"\n]"} + }); + + var STACKITEM = STACK.Item = MathJax.Object.Subclass({ + type: "base", + closeError: "Extra close brace or missing open brace", + rightError: "Missing \\left or extra \\right", + Init: function () { + if (this.isOpen) {this.env = {}} + this.data = []; + this.Push.apply(this,arguments); + }, + Push: function () {this.data.push.apply(this.data,arguments)}, + Pop: function () {return this.data.pop()}, + mmlData: function (inferred,forceRow) { + if (inferred == null) {inferred = TRUE} + if (this.data.length === 1 && !forceRow) {return this.data[0]} + return MML.mrow.apply(MML,this.data).With((inferred ? {inferred: TRUE}: {})); + }, + checkItem: function (item) { + if (item.type === "over" && this.isOpen) {item.num = this.mmlData(FALSE); this.data = []} + if (item.type === "cell" && this.isOpen) {TEX.Error("Misplaced "+item.name)} + if (item.isClose && this[item.type+"Error"]) {TEX.Error(this[item.type+"Error"])} + if (!item.isNotStack) {return TRUE} + this.Push(item.data[0]); return FALSE; + }, + With: function (def) { + for (var id in def) {if (def.hasOwnProperty(id)) {this[id] = def[id]}} + return this; + }, + toString: function () {return this.type+"["+this.data.join("; ")+"]"} + }); + + STACKITEM.start = STACKITEM.Subclass({ + type: "start", isOpen: TRUE, + checkItem: function (item) { + if (item.type === "stop") {return STACKITEM.mml(this.mmlData())} + return this.SUPER(arguments).checkItem.call(this,item); + } + }); + + STACKITEM.stop = STACKITEM.Subclass({ + type: "stop", isClose: TRUE + }); + + STACKITEM.open = STACKITEM.Subclass({ + type: "open", isOpen: TRUE, + stopError: "Extra open brace or missing close brace", + checkItem: function (item) { + if (item.type === "close") { + var mml = this.mmlData(); // this.mmlData(TRUE,TRUE); // force row + return STACKITEM.mml(MML.TeXAtom(mml)); // TeXAtom make it an ORD to prevent spacing (FIXME: should be another way) + } + return this.SUPER(arguments).checkItem.call(this,item); + } + }); + + STACKITEM.close = STACKITEM.Subclass({ + type: "close", isClose: TRUE + }); + + STACKITEM.subsup = STACKITEM.Subclass({ + type: "subsup", + stopError: "Missing superscript or subscript argument", + checkItem: function (item) { + var script = ["","subscript","superscript"][this.position]; + if (item.type === "open" || item.type === "left") {return TRUE} + if (item.type === "mml") { + this.data[0].SetData(this.position,item.data[0]); + return STACKITEM.mml(this.data[0]); + } + if (this.SUPER(arguments).checkItem.call(this,item)) + {TEX.Error("Missing open brace for "+script)} + }, + Pop: function () {} + }); + + STACKITEM.over = STACKITEM.Subclass({ + type: "over", isClose: TRUE, name: "\\over", + checkItem: function (item,stack) { + if (item.type === "over") {TEX.Error("Ambiguous use of "+item.name)} + if (item.isClose) { + var mml = MML.mfrac(this.num,this.mmlData(FALSE)); + if (this.thickness != null) {mml.linethickness = this.thickness} + if (this.open || this.close) { + mml.texClass = MML.TEXCLASS.INNER; + mml.texWithDelims = TRUE; + mml = MML.mfenced(mml).With({open: this.open, close: this.close}); + } + return [STACKITEM.mml(mml), item]; + } + return this.SUPER(arguments).checkItem.call(this,item); + }, + toString: function () {return "over["+this.num+" / "+this.data.join("; ")+"]"} + }); + + STACKITEM.left = STACKITEM.Subclass({ + type: "left", isOpen: TRUE, delim: '(', + stopError: "Extra \\left or missing \\right", + checkItem: function (item) { + if (item.type === "right") { + var mml = MML.mfenced(this.data.length === 1 ? this.data[0] : MML.mrow.apply(MML,this.data)); + return STACKITEM.mml(mml.With({open: this.delim, close: item.delim})); + } + return this.SUPER(arguments).checkItem.call(this,item); + } + }); + + STACKITEM.right = STACKITEM.Subclass({ + type: "right", isClose: TRUE, delim: ')' + }); + + STACKITEM.begin = STACKITEM.Subclass({ + type: "begin", isOpen: TRUE, + checkItem: function (item) { + if (item.type === "end") { + if (item.name !== this.name) + {TEX.Error("\\begin{"+this.name+"} ended with \\end{"+item.name+"}")} + if (!this.end) {return STACKITEM.mml(this.mmlData())} + return this.parse[this.end].call(this.parse,this,this.data); + } + if (item.type === "stop") {TEX.Error("Missing \\end{"+this.name+"}")} + return this.SUPER(arguments).checkItem.call(this,item); + } + }); + + STACKITEM.end = STACKITEM.Subclass({ + type: "end", isClose: TRUE + }); + + STACKITEM.style = STACKITEM.Subclass({ + type: "style", + checkItem: function (item) { + if (!item.isClose) {return this.SUPER(arguments).checkItem.call(this,item)} + var mml = MML.mstyle.apply(MML,this.data).With(this.styles); + return [STACKITEM.mml(mml),item]; + } + }); + + STACKITEM.position = STACKITEM.Subclass({ + type: "position", + checkItem: function (item) { + if (item.isClose) {TEX.Error("Missing box for "+this.name)} + if (item.isNotStack) { + var mml = item.mmlData(); + switch (this.move) { + case 'vertical': + mml = MML.mpadded(mml).With({height: this.dh, depth: this.dd, voffset: this.dh}); + return [STACKITEM.mml(mml)]; + case 'horizontal': + return [STACKITEM.mml(this.left),item,STACKITEM.mml(this.right)]; + } + } + return this.SUPER(arguments).checkItem.call(this,item); + } + }); + + STACKITEM.array = STACKITEM.Subclass({ + type: "array", isOpen: TRUE, arraydef: {}, + Init: function () { + this.table = []; this.row = []; this.env = {}; + this.SUPER(arguments).Init.apply(this,arguments); + }, + checkItem: function (item) { + if (item.isClose && item.type !== "over") { + if (item.isEntry) {this.EndEntry(); this.clearEnv(); return FALSE} + if (item.isCR) {this.EndEntry(); this.EndRow(); this.clearEnv(); return FALSE} + this.EndTable(); this.clearEnv(); + var mml = MML.mtable.apply(MML,this.table).With(this.arraydef); + if (this.open || this.close) { + mml = MML.mfenced(mml).With({open: this.open, close: this.close}); + } + mml = STACKITEM.mml(mml); + if (this.requireClose) { + if (item.type === 'close') {return mml} + TEX.Error("Missing close brace"); + } + return [mml,item]; + } + return this.SUPER(arguments).checkItem.call(this,item); + }, + EndEntry: function () {this.row.push(MML.mtd.apply(MML,this.data)); this.data = []}, + EndRow: function () {this.table.push(MML.mtr.apply(MML,this.row)); this.row = []}, + EndTable: function () { + if (this.data.length || this.row.length) {this.EndEntry(); this.EndRow()} + this.checkLines(); + }, + checkLines: function () { + if (this.arraydef.rowlines) { + var lines = this.arraydef.rowlines.split(/ /); + if (lines.length === this.table.length) { + this.arraydef.frame = lines.pop(); + this.arraydef.rowlines = lines.join(' '); + } else if (lines.length < this.table.length -1) { + this.arraydef.rowlines += " none"; + } + } + }, + clearEnv: function () { + for (var id in this.env) {if (this.env.hasOwnProperty(id)) {delete this.env[id]}} + } + }); + + STACKITEM.cell = STACKITEM.Subclass({ + type: "cell", isClose: TRUE + }); + + STACKITEM.mml = STACKITEM.Subclass({ + type: "mml", isNotStack: TRUE, + Push: function () { + // embellished are type ORD in TeX (but not MML) so wrap them in TeXAtom + for (var i = 0, m = arguments.length; i < m; i++) { + if (arguments[i].type !== "mo" && arguments[i].isEmbellished()) + {arguments[i] = MML.TeXAtom(arguments[i]).With({isEmbellishedWrapper: TRUE})} + } + this.data.push.apply(this.data,arguments); + }, + Add: function () {this.data.push.apply(this.data,arguments); return this} + }); + + + var TEXDEF = {}; + var STARTUP = function () { + MML = MathJax.ElementJax.mml; + MathJax.Hub.Insert(TEXDEF,{ + + // patterns for letters and numbers + letter: /[a-z]/i, + digit: /[0-9.]/, + number: /^(?:[0-9]+(?:\{,\}[0-9]{3})*(?:\.[0-9]*)*|\.[0-9]+)/, + + special: { + '\\': 'ControlSequence', + '{': 'Open', + '}': 'Close', + '~': 'Tilde', + '^': 'Superscript', + '_': 'Subscript', + ' ': 'Space', + "\t": 'Space', + "\r": 'Space', + "\n": 'Space', + "'": 'Prime', + '%': 'Comment', + '&': 'Entry', + '#': 'Hash', + '\u2019': 'Prime' + }, + + remap: { + '-': '2212', + '*': '2217' + }, + + mathchar0mi: { + // Lower-case greek + alpha: '03B1', + beta: '03B2', + gamma: '03B3', + delta: '03B4', + epsilon: '03F5', + zeta: '03B6', + eta: '03B7', + theta: '03B8', + iota: '03B9', + kappa: '03BA', + lambda: '03BB', + mu: '03BC', + nu: '03BD', + xi: '03BE', + omicron: '03BF', // added for completeness + pi: '03C0', + rho: '03C1', + sigma: '03C3', + tau: '03C4', + upsilon: '03C5', + phi: '03D5', + chi: '03C7', + psi: '03C8', + omega: '03C9', + varepsilon: '03B5', + vartheta: '03D1', + varpi: '03D6', + varrho: '03F1', + varsigma: '03C2', + varphi: '03C6', + + // Ord symbols + S: '00A7', + aleph: ['2135',{mathvariant: MML.VARIANT.NORMAL}], + hbar: '210F', + imath: '0131', + jmath: '0237', + ell: '2113', + wp: ['2118',{mathvariant: MML.VARIANT.NORMAL}], + Re: ['211C',{mathvariant: MML.VARIANT.NORMAL}], + Im: ['2111',{mathvariant: MML.VARIANT.NORMAL}], + partial: ['2202',{mathvariant: MML.VARIANT.NORMAL}], + infty: ['221E',{mathvariant: MML.VARIANT.NORMAL}], + prime: ['2032',{mathvariant: MML.VARIANT.NORMAL}], + emptyset: ['2205',{mathvariant: MML.VARIANT.NORMAL}], + nabla: ['2207',{mathvariant: MML.VARIANT.NORMAL}], + top: ['22A4',{mathvariant: MML.VARIANT.NORMAL}], + bot: ['22A5',{mathvariant: MML.VARIANT.NORMAL}], + angle: ['2220',{mathvariant: MML.VARIANT.NORMAL}], + triangle: ['25B3',{mathvariant: MML.VARIANT.NORMAL}], + backslash: ['2216',{mathvariant: MML.VARIANT.NORMAL}], + forall: ['2200',{mathvariant: MML.VARIANT.NORMAL}], + exists: ['2203',{mathvariant: MML.VARIANT.NORMAL}], + neg: ['00AC',{mathvariant: MML.VARIANT.NORMAL}], + lnot: ['00AC',{mathvariant: MML.VARIANT.NORMAL}], + flat: ['266D',{mathvariant: MML.VARIANT.NORMAL}], + natural: ['266E',{mathvariant: MML.VARIANT.NORMAL}], + sharp: ['266F',{mathvariant: MML.VARIANT.NORMAL}], + clubsuit: ['2663',{mathvariant: MML.VARIANT.NORMAL}], + diamondsuit: ['2662',{mathvariant: MML.VARIANT.NORMAL}], + heartsuit: ['2661',{mathvariant: MML.VARIANT.NORMAL}], + spadesuit: ['2660',{mathvariant: MML.VARIANT.NORMAL}] + }, + + mathchar0mo: { + surd: '221A', + + // big ops + coprod: ['2210',{texClass: MML.TEXCLASS.OP, movesupsub:TRUE}], + bigvee: ['22C1',{texClass: MML.TEXCLASS.OP, movesupsub:TRUE}], + bigwedge: ['22C0',{texClass: MML.TEXCLASS.OP, movesupsub:TRUE}], + biguplus: ['2A04',{texClass: MML.TEXCLASS.OP, movesupsub:TRUE}], + bigcap: ['22C2',{texClass: MML.TEXCLASS.OP, movesupsub:TRUE}], + bigcup: ['22C3',{texClass: MML.TEXCLASS.OP, movesupsub:TRUE}], + 'int': ['222B',{texClass: MML.TEXCLASS.OP}], + intop: ['222B',{texClass: MML.TEXCLASS.OP, movesupsub:TRUE, movablelimits:TRUE}], + iint: ['222C',{texClass: MML.TEXCLASS.OP}], + iiint: ['222D',{texClass: MML.TEXCLASS.OP}], + prod: ['220F',{texClass: MML.TEXCLASS.OP, movesupsub:TRUE}], + sum: ['2211',{texClass: MML.TEXCLASS.OP, movesupsub:TRUE}], + bigotimes: ['2A02',{texClass: MML.TEXCLASS.OP, movesupsub:TRUE}], + bigoplus: ['2A01',{texClass: MML.TEXCLASS.OP, movesupsub:TRUE}], + bigodot: ['2A00',{texClass: MML.TEXCLASS.OP, movesupsub:TRUE}], + oint: ['222E',{texClass: MML.TEXCLASS.OP}], + bigsqcup: ['2A06',{texClass: MML.TEXCLASS.OP, movesupsub:TRUE}], + smallint: ['222B',{largeop:FALSE}], + + // binary operations + triangleleft: '25C3', + triangleright: '25B9', + bigtriangleup: '25B3', + bigtriangledown: '25BD', + wedge: '2227', + land: '2227', + vee: '2228', + lor: '2228', + cap: '2229', + cup: '222A', + ddagger: '2021', + dagger: '2020', + sqcap: '2293', + sqcup: '2294', + uplus: '228E', + amalg: '2A3F', + diamond: '22C4', + bullet: '2219', + wr: '2240', + div: '00F7', + odot: ['2299',{largeop: FALSE}], + oslash: ['2298',{largeop: FALSE}], + otimes: ['2297',{largeop: FALSE}], + ominus: ['2296',{largeop: FALSE}], + oplus: ['2295',{largeop: FALSE}], + mp: '2213', + pm: '00B1', + circ: '2218', + bigcirc: '25EF', + setminus: '2216', + cdot: '22C5', + ast: '2217', + times: '00D7', + star: '22C6', + + // Relations + propto: '221D', + sqsubseteq: '2291', + sqsupseteq: '2292', + parallel: '2225', + mid: '2223', + dashv: '22A3', + vdash: '22A2', + leq: '2264', + le: '2264', + geq: '2265', + ge: '2265', + lt: '003C', + gt: '003E', + succ: '227B', + prec: '227A', + approx: '2248', + succeq: '2AB0', // or '227C', + preceq: '2AAF', // or '227D', + supset: '2283', + subset: '2282', + supseteq: '2287', + subseteq: '2286', + 'in': '2208', + ni: '220B', + notin: '2209', + owns: '220B', + gg: '226B', + ll: '226A', + sim: '223C', + simeq: '2243', + perp: '22A5', + equiv: '2261', + asymp: '224D', + smile: '2323', + frown: '2322', + ne: '2260', + neq: '2260', + cong: '2245', + doteq: '2250', + bowtie: '22C8', + models: '22A8', + + notChar: '0338', + + + // Arrows + Leftrightarrow: '21D4', + Leftarrow: '21D0', + Rightarrow: '21D2', + leftrightarrow: '2194', + leftarrow: '2190', + gets: '2190', + rightarrow: '2192', + to: '2192', + mapsto: '21A6', + leftharpoonup: '21BC', + leftharpoondown: '21BD', + rightharpoonup: '21C0', + rightharpoondown: '21C1', + nearrow: '2197', + searrow: '2198', + nwarrow: '2196', + swarrow: '2199', + rightleftharpoons: '21CC', + hookrightarrow: '21AA', + hookleftarrow: '21A9', + longleftarrow: '27F5', + Longleftarrow: '27F8', + longrightarrow: '27F6', + Longrightarrow: '27F9', + Longleftrightarrow: '27FA', + longleftrightarrow: '27F7', + longmapsto: '27FC', + + + // Misc. + ldots: '2026', + cdots: '22EF', + vdots: '22EE', + ddots: '22F1', + dots: '2026', // should be more complex than this + dotsc: '2026', // dots with commas + dotsb: '22EF', // dots with binary ops and relations + dotsm: '22EF', // dots with multiplication + dotsi: '22EF', // dots with integrals + dotso: '2026', // other dots + + ldotp: ['002E', {texClass: MML.TEXCLASS.PUNCT}], + cdotp: ['22C5', {texClass: MML.TEXCLASS.PUNCT}], + colon: ['003A', {texClass: MML.TEXCLASS.PUNCT}] + }, + + mathchar7: { + Gamma: '0393', + Delta: '0394', + Theta: '0398', + Lambda: '039B', + Xi: '039E', + Pi: '03A0', + Sigma: '03A3', + Upsilon: '03A5', + Phi: '03A6', + Psi: '03A8', + Omega: '03A9', + + '_': '005F', + '#': '0023', + '$': '0024', + '%': '0025', + '&': '0026', + And: '0026' + }, + + delimiter: { + '(': '(', + ')': ')', + '[': '[', + ']': ']', + '<': '27E8', + '>': '27E9', + '\\lt': '27E8', + '\\gt': '27E9', + '/': '/', + '|': ['|',{texClass:MML.TEXCLASS.ORD}], + '.': '', + '\\\\': '\\', + '\\lmoustache': '23B0', // non-standard + '\\rmoustache': '23B1', // non-standard + '\\lgroup': '27EE', // non-standard + '\\rgroup': '27EF', // non-standard + '\\arrowvert': '23D0', + '\\Arrowvert': '2016', + '\\bracevert': '23AA', // non-standard + '\\Vert': ['2225',{texClass:MML.TEXCLASS.ORD}], + '\\|': ['2225',{texClass:MML.TEXCLASS.ORD}], + '\\vert': ['|',{texClass:MML.TEXCLASS.ORD}], + '\\uparrow': '2191', + '\\downarrow': '2193', + '\\updownarrow': '2195', + '\\Uparrow': '21D1', + '\\Downarrow': '21D3', + '\\Updownarrow': '21D5', + '\\backslash': '\\', + '\\rangle': '27E9', + '\\langle': '27E8', + '\\rbrace': '}', + '\\lbrace': '{', + '\\}': '}', + '\\{': '{', + '\\rceil': '2309', + '\\lceil': '2308', + '\\rfloor': '230B', + '\\lfloor': '230A', + '\\lbrack': '[', + '\\rbrack': ']' + }, + + macros: { + displaystyle: ['SetStyle','D',TRUE,0], + textstyle: ['SetStyle','T',FALSE,0], + scriptstyle: ['SetStyle','S',FALSE,1], + scriptscriptstyle: ['SetStyle','SS',FALSE,2], + + rm: ['SetFont',MML.VARIANT.NORMAL], + mit: ['SetFont',MML.VARIANT.ITALIC], + oldstyle: ['SetFont',MML.VARIANT.OLDSTYLE], + cal: ['SetFont',MML.VARIANT.CALIGRAPHIC], + it: ['SetFont',MML.VARIANT.ITALIC], // may need special handling + bf: ['SetFont',MML.VARIANT.BOLD], + bbFont: ['SetFont',MML.VARIANT.DOUBLESTRUCK], + scr: ['SetFont',MML.VARIANT.SCRIPT], + frak: ['SetFont',MML.VARIANT.FRAKTUR], + sf: ['SetFont',MML.VARIANT.SANSSERIF], + tt: ['SetFont',MML.VARIANT.MONOSPACE], + +// font: + + tiny: ['SetSize',0.5], + Tiny: ['SetSize',0.6], // non-standard + scriptsize: ['SetSize',0.7], + small: ['SetSize',0.85], + normalsize: ['SetSize',1.0], + large: ['SetSize',1.2], + Large: ['SetSize',1.44], + LARGE: ['SetSize',1.73], + huge: ['SetSize',2.07], + Huge: ['SetSize',2.49], + + arcsin: ['NamedOp',0], + arccos: ['NamedOp',0], + arctan: ['NamedOp',0], + arg: ['NamedOp',0], + cos: ['NamedOp',0], + cosh: ['NamedOp',0], + cot: ['NamedOp',0], + coth: ['NamedOp',0], + csc: ['NamedOp',0], + deg: ['NamedOp',0], + det: 'NamedOp', + dim: ['NamedOp',0], + exp: ['NamedOp',0], + gcd: 'NamedOp', + hom: ['NamedOp',0], + inf: 'NamedOp', + ker: ['NamedOp',0], + lg: ['NamedOp',0], + lim: 'NamedOp', + liminf: ['NamedOp',null,'lim inf'], + limsup: ['NamedOp',null,'lim sup'], + ln: ['NamedOp',0], + log: ['NamedOp',0], + max: 'NamedOp', + min: 'NamedOp', + Pr: 'NamedOp', + sec: ['NamedOp',0], + sin: ['NamedOp',0], + sinh: ['NamedOp',0], + sup: 'NamedOp', + tan: ['NamedOp',0], + tanh: ['NamedOp',0], + + limits: ['Limits',1], + nolimits: ['Limits',0], + + overline: ['UnderOver','203E'], + underline: ['UnderOver','005F'], + overbrace: ['UnderOver','23DE',1], + underbrace: ['UnderOver','23DF',1], + overrightarrow: ['UnderOver','2192'], + underrightarrow: ['UnderOver','2192'], + overleftarrow: ['UnderOver','2190'], + underleftarrow: ['UnderOver','2190'], + overleftrightarrow: ['UnderOver','2194'], + underleftrightarrow: ['UnderOver','2194'], + + overset: 'Overset', + underset: 'Underset', + stackrel: ['Macro','\\mathrel{\\mathop{#2}\\limits^{#1}}',2], + + over: 'Over', + overwithdelims: 'Over', + atop: 'Over', + atopwithdelims: 'Over', + above: 'Over', + abovewithdelims: 'Over', + brace: ['Over','{','}'], + brack: ['Over','[',']'], + choose: ['Over','(',')'], + + frac: 'Frac', + sqrt: 'Sqrt', + root: 'Root', + uproot: ['MoveRoot','upRoot'], + leftroot: ['MoveRoot','leftRoot'], + + left: 'LeftRight', + right: 'LeftRight', + + llap: 'Lap', + rlap: 'Lap', + raise: 'RaiseLower', + lower: 'RaiseLower', + moveleft: 'MoveLeftRight', + moveright: 'MoveLeftRight', + + ',': ['Spacer',MML.LENGTH.THINMATHSPACE], + ':': ['Spacer',MML.LENGTH.THINMATHSPACE], // for LaTeX + '>': ['Spacer',MML.LENGTH.MEDIUMMATHSPACE], + ';': ['Spacer',MML.LENGTH.THICKMATHSPACE], + '!': ['Spacer',MML.LENGTH.NEGATIVETHINMATHSPACE], + enspace: ['Spacer',".5em"], + quad: ['Spacer',"1em"], + qquad: ['Spacer',"2em"], + thinspace: ['Spacer',MML.LENGTH.THINMATHSPACE], + negthinspace: ['Spacer',MML.LENGTH.NEGATIVETHINMATHSPACE], + + hskip: 'Hskip', + hspace: 'Hskip', + kern: 'Hskip', + mskip: 'Hskip', + mspace: 'Hskip', + mkern: 'Hskip', + Rule: ['Rule'], + Space: ['Rule','blank'], + + big: ['MakeBig',MML.TEXCLASS.ORD,0.85], + Big: ['MakeBig',MML.TEXCLASS.ORD,1.15], + bigg: ['MakeBig',MML.TEXCLASS.ORD,1.45], + Bigg: ['MakeBig',MML.TEXCLASS.ORD,1.75], + bigl: ['MakeBig',MML.TEXCLASS.OPEN,0.85], + Bigl: ['MakeBig',MML.TEXCLASS.OPEN,1.15], + biggl: ['MakeBig',MML.TEXCLASS.OPEN,1.45], + Biggl: ['MakeBig',MML.TEXCLASS.OPEN,1.75], + bigr: ['MakeBig',MML.TEXCLASS.CLOSE,0.85], + Bigr: ['MakeBig',MML.TEXCLASS.CLOSE,1.15], + biggr: ['MakeBig',MML.TEXCLASS.CLOSE,1.45], + Biggr: ['MakeBig',MML.TEXCLASS.CLOSE,1.75], + bigm: ['MakeBig',MML.TEXCLASS.REL,0.85], + Bigm: ['MakeBig',MML.TEXCLASS.REL,1.15], + biggm: ['MakeBig',MML.TEXCLASS.REL,1.45], + Biggm: ['MakeBig',MML.TEXCLASS.REL,1.75], + + mathord: ['TeXAtom',MML.TEXCLASS.ORD], + mathop: ['TeXAtom',MML.TEXCLASS.OP], + mathopen: ['TeXAtom',MML.TEXCLASS.OPEN], + mathclose: ['TeXAtom',MML.TEXCLASS.CLOSE], + mathbin: ['TeXAtom',MML.TEXCLASS.BIN], + mathrel: ['TeXAtom',MML.TEXCLASS.REL], + mathpunct: ['TeXAtom',MML.TEXCLASS.PUNCT], + mathinner: ['TeXAtom',MML.TEXCLASS.INNER], + + vcenter: ['TeXAtom',MML.TEXCLASS.VCENTER], + + mathchoice: ['Extension','mathchoice'], + buildrel: 'BuildRel', + + hbox: ['HBox',0], + text: 'HBox', + mbox: ['HBox',0], + fbox: 'FBox', + + strut: 'Strut', + mathstrut: ['Macro','\\vphantom{(}'], + phantom: 'Phantom', + vphantom: ['Phantom',1,0], + hphantom: ['Phantom',0,1], + smash: 'Smash', + + acute: ['Accent', "02CA"], // or 0301 + grave: ['Accent', "02CB"], // or 0300 + ddot: ['Accent', "00A8"], // or 0308 + tilde: ['Accent', "02DC"], // or 0303 + bar: ['Accent', "02C9"], // or 0304 + breve: ['Accent', "02D8"], // or 0306 + check: ['Accent', "02C7"], // or 030C + hat: ['Accent', "02C6"], // or 0302 + vec: ['Accent', "20D7"], + dot: ['Accent', "02D9"], // or 0307 + widetilde: ['Accent', "02DC",1], // or 0303 + widehat: ['Accent', "02C6",1], // or 0302 + + matrix: 'Matrix', + array: 'Matrix', + pmatrix: ['Matrix','(',')'], + cases: ['Matrix','{','',"left left",null,".1em"], + eqalign: ['Matrix',null,null,"right left",MML.LENGTH.THICKMATHSPACE,".5em",'D'], + displaylines: ['Matrix',null,null,"center",null,".5em",'D'], + cr: 'Cr', + '\\': 'Cr', + newline: 'Cr', + hline: ['HLine','solid'], + hdashline: ['HLine','dashed'], +// noalign: 'HandleNoAlign', + eqalignno: ['Matrix',null,null,"right left right",MML.LENGTH.THICKMATHSPACE+" 3em",".5em",'D'], + leqalignno: ['Matrix',null,null,"right left right",MML.LENGTH.THICKMATHSPACE+" 3em",".5em",'D'], + + // TeX substitution macros + bmod: ['Macro','\\mathbin{\\rm mod}'], + pmod: ['Macro','\\pod{{\\rm mod}\\kern 6mu #1}',1], + mod: ['Macro','\\mathchoice{\\kern18mu}{\\kern12mu}{\\kern12mu}{\\kern12mu}{\\rm mod}\\,\\,#1',1], + pod: ['Macro','\\mathchoice{\\kern18mu}{\\kern8mu}{\\kern8mu}{\\kern8mu}(#1)',1], + iff: ['Macro','\\;\\Longleftrightarrow\\;'], + skew: ['Macro','{{#2{#3\\mkern#1mu}\\mkern-#1mu}{}}',3], + mathcal: ['Macro','{\\cal #1}',1], + mathscr: ['Macro','{\\scr #1}',1], + mathrm: ['Macro','{\\rm #1}',1], + mathbf: ['Macro','{\\bf #1}',1], + mathbb: ['Macro','{\\bbFont #1}',1], + Bbb: ['Macro','{\\bbFont #1}',1], + mathit: ['Macro','{\\it #1}',1], + mathfrak: ['Macro','{\\frak #1}',1], + mathsf: ['Macro','{\\sf #1}',1], + mathtt: ['Macro','{\\tt #1}',1], + textrm: ['Macro','\\mathord{\\rm\\text{#1}}',1], + textit: ['Macro','\\mathord{\\it{\\text{#1}}}',1], + textbf: ['Macro','\\mathord{\\bf{\\text{#1}}}',1], + pmb: ['Macro','\\rlap{#1}\\kern1px{#1}',1], + TeX: ['Macro','T\\kern-.14em\\lower.5ex{E}\\kern-.115em X'], + LaTeX: ['Macro','L\\kern-.325em\\raise.21em{\\scriptstyle{A}}\\kern-.17em\\TeX'], + not: ['Macro','\\mathrel{\\rlap{\\kern.5em\\notChar}}'], + ' ': ['Macro','\\text{ }'], + space: 'Tilde', + + + // LaTeX + begin: 'Begin', + end: 'End', + + newcommand: ['Extension','newcommand'], + renewcommand: ['Extension','newcommand'], + newenvironment: ['Extension','newcommand'], + def: ['Extension','newcommand'], + + verb: ['Extension','verb'], + + boldsymbol: ['Extension','boldsymbol'], + + tag: ['Extension','AMSmath'], + notag: ['Extension','AMSmath'], + label: ['Macro','',1], // not implemented yet + nonumber: ['Macro',''], // not implemented yet + + // Extensions to TeX + unicode: ['Extension','unicode'], + color: 'Color', + + href: ['Extension','HTML'], + 'class': ['Extension','HTML'], + style: ['Extension','HTML'], + cssId: ['Extension','HTML'], +// bbox: ['Extension','bbox'], + + require: 'Require' + + }, + + environment: { + array: ['Array'], + matrix: ['Array',null,null,null,'c'], + pmatrix: ['Array',null,'(',')','c'], + bmatrix: ['Array',null,'[',']','c'], + Bmatrix: ['Array',null,'\\{','\\}','c'], + vmatrix: ['Array',null,'\\vert','\\vert','c'], + Vmatrix: ['Array',null,'\\Vert','\\Vert','c'], + cases: ['Array',null,'\\{','.','ll',null,".1em"], + eqnarray: ['Array',null,null,null,'rcl',MML.LENGTH.THICKMATHSPACE,".5em",'D'], + 'eqnarray*': ['Array',null,null,null,'rcl',MML.LENGTH.THICKMATHSPACE,".5em",'D'], + + equation: [null,'Equation'], + 'equation*': [null,'Equation'], + + align: ['ExtensionEnv',null,'AMSmath'], + 'align*': ['ExtensionEnv',null,'AMSmath'], + aligned: ['ExtensionEnv',null,'AMSmath'], + multline: ['ExtensionEnv',null,'AMSmath'], + 'multline*': ['ExtensionEnv',null,'AMSmath'], + split: ['ExtensionEnv',null,'AMSmath'], + gather: ['ExtensionEnv',null,'AMSmath'], + 'gather*': ['ExtensionEnv',null,'AMSmath'], + gathered: ['ExtensionEnv',null,'AMSmath'], + alignat: ['ExtensionEnv',null,'AMSmath'], + 'alignat*': ['ExtensionEnv',null,'AMSmath'], + alignedat: ['ExtensionEnv',null,'AMSmath'] + }, + + p_height: 1.2 / .85 // cmex10 height plus depth over .85 + + }); + + // + // Add macros defined in the configuration + // + if (this.config.Macros) { + var MACROS = this.config.Macros; + for (var id in MACROS) {if (MACROS.hasOwnProperty(id)) { + if (typeof(MACROS[id]) === "string") {TEXDEF.macros[id] = ['Macro',MACROS[id]]} + else {TEXDEF.macros[id] = ["Macro"].concat(MACROS[id])} + }} + } + }; + + /************************************************************************/ + /* + * The TeX Parser + */ + + var PARSE = MathJax.Object.Subclass({ + Init: function (string,env) { + this.string = string; this.i = 0; this.macroCount = 0; + var ENV; if (env) {ENV = {}; for (var id in env) {if (env.hasOwnProperty(id)) {ENV[id] = env[id]}}} + this.stack = TEX.Stack(ENV); + this.Parse(); + this.Push(STACKITEM.stop()); + }, + Parse: function () { + var c; + while (this.i < this.string.length) { + c = this.string.charAt(this.i++); + if (TEXDEF.special[c]) {this[TEXDEF.special[c]](c)} + else if (TEXDEF.letter.test(c)) {this.Variable(c)} + else if (TEXDEF.digit.test(c)) {this.Number(c)} + else {this.Other(c)} + } + }, + Push: function () {this.stack.Push.apply(this.stack,arguments)}, + mml: function () { + if (this.stack.Top().type !== "mml") {return null} + return this.stack.Top().data[0]; + }, + mmlToken: function (token) {return token}, // used by boldsymbol extension + + /************************************************************************/ + /* + * Handle various token classes + */ + + /* + * Lookup a control-sequence and process it + */ + ControlSequence: function (c) { + var name = this.GetCS(), mchar, def; + if (TEXDEF.macros[name]) { // javascript macro + var macro = TEXDEF.macros[name]; + if (!(macro instanceof Array)) {macro = [macro]} + var fn = macro[0]; if (!(fn instanceof Function)) {fn = this[fn]} + fn.apply(this,["\\"+name].concat(macro.slice(1))); + } else if (TEXDEF.mathchar0mi[name]) { // normal mathchar (mi) + mchar = TEXDEF.mathchar0mi[name]; def = {mathvariant: MML.VARIANT.ITALIC}; + if (mchar instanceof Array) {def = mchar[1]; mchar = mchar[0]} + this.Push(this.mmlToken(MML.mi(MML.entity("#x"+mchar)).With(def))); + } else if (TEXDEF.mathchar0mo[name]) { // normal mathchar (mo) + mchar = TEXDEF.mathchar0mo[name]; def = {stretchy: FALSE}; + if (mchar instanceof Array) {def = mchar[1]; def.stretchy = FALSE; mchar = mchar[0]} + this.Push(this.mmlToken(MML.mo(MML.entity("#x"+mchar)).With(def))); + } else if (TEXDEF.mathchar7[name]) { // mathchar in current family + mchar = TEXDEF.mathchar7[name]; def = {mathvariant: MML.VARIANT.NORMAL}; + if (mchar instanceof Array) {def = mchar[1]; mchar = mchar[0]} + if (this.stack.env.font) {def.mathvariant = this.stack.env.font} + this.Push(this.mmlToken(MML.mi(MML.entity("#x"+mchar)).With(def))); + } else if (TEXDEF.delimiter["\\"+name] != null) { // delimiter + var delim = TEXDEF.delimiter["\\"+name]; def = {}; + if (delim instanceof Array) {def = delim[1]; delim = delim[0]} + if (delim.length === 4) {delim = MML.entity('#x'+delim)} else {delim = MML.chars(delim)} + this.Push(this.mmlToken(MML.mo(delim).With({fence: FALSE, stretchy: FALSE}).With(def))); + } else { // error + this.csUndefined("\\"+name); + } + }, + csUndefined: function (name) { + TEX.Error("Undefined control sequence "+name); + }, + + /* + * Handle a variable (a single letter) + */ + Variable: function (c) { + var def = {}; if (this.stack.env.font) {def.mathvariant = this.stack.env.font} + this.Push(this.mmlToken(MML.mi(MML.chars(c)).With(def))); + }, + + /* + * Determine the extent of a number (pattern may need work) + */ + Number: function (c) { + var mml, n = this.string.slice(this.i-1).match(TEXDEF.number); + if (n) {mml = MML.mn(n[0].replace(/[{}]/g,"")); this.i += n[0].length - 1} + else {mml = MML.mo(MML.chars(c))} + if (this.stack.env.font) {mml.mathvariant = this.stack.env.font} + this.Push(this.mmlToken(mml)); + }, + + /* + * Handle { and } + */ + Open: function (c) {this.Push(STACKITEM.open())}, + Close: function (c) {this.Push(STACKITEM.close())}, + + /* + * Handle tilde and spaces + */ + Tilde: function (c) {this.Push(MML.mtext(MML.chars(NBSP)))}, + Space: function (c) {}, + + /* + * Handle ^, _, and ' + */ + Superscript: function (c) { + var position, base = this.stack.Prev(); if (!base) {base = MML.mi("")} + if (base.isEmbellishedWrapper) {base = base.data[0].data[0]} + if (base.type === "msubsup") { + if (base.data[base.sup]) { + if (!base.data[base.sup].isPrime) {TEX.Error("Double exponent: use braces to clarify")} + base = MML.msubsup(base,null,null); + } + position = base.sup; + } else if (base.movesupsub) { + if (base.type !== "munderover" || base.data[base.over]) + {base = MML.munderover(base,null,null).With({movesupsub:TRUE})} + position = base.over; + } else { + base = MML.msubsup(base,null,null); + position = base.sup; + } + this.Push(STACKITEM.subsup(base).With({position: position})); + }, + Subscript: function (c) { + var position, base = this.stack.Prev(); if (!base) {base = MML.mi("")} + if (base.isEmbellishedWrapper) {base = base.data[0].data[0]} + if (base.type === "msubsup") { + if (base.data[base.sub]) {TEX.Error("Double subscripts: use braces to clarify")} + position = base.sub; + } else if (base.movesupsub) { + if (base.type !== "munderover" || base.data[base.under]) + {base = MML.munderover(base,null,null).With({movesupsub:TRUE})} + position = base.under; + } else { + base = MML.msubsup(base,null,null); + position = base.sub; + } + this.Push(STACKITEM.subsup(base).With({position: position})); + }, + PRIME: String.fromCharCode(0x2032), SMARTQUOTE: String.fromCharCode(0x2019), + Prime: function (c) { + var base = this.stack.Prev(); if (!base) {base = MML.mi()} + if (base.type === "msubsup" && base.data[base.sup]) + {TEX.Error("Prime causes double exponent: use braces to clarify")} + var sup = ""; this.i--; + do {sup += this.PRIME; this.i++, c = this.GetNext()} + while (c === "'" || c === this.SMARTQUOTE); + sup = this.mmlToken(MML.mo(MML.chars(sup)).With({isPrime: TRUE, variantForm: TEX.isSTIX})); + this.Push(MML.msubsup(base,null,sup)); + }, + + /* + * Handle comments + */ + Comment: function (c) { + while (this.i < this.string.length && this.string.charAt(this.i) != "\n") {this.i++} + }, + + /* + * Handle hash marks outside of definitions + */ + Hash: function (c) { + TEX.Error("You can't use 'macro parameter character #' in math mode"); + }, + + /* + * Handle other characters (as elements) + */ + Other: function (c) { + var def = {stretchy: false}, mo; + if (this.stack.env.font) {def.mathvariant = this.stack.env.font} + if (TEXDEF.remap[c]) { + c = TEXDEF.remap[c]; + if (c instanceof Array) {def = c[1]; c = c[0]} + mo = MML.mo(MML.entity('#x'+c)); + } else { + mo = MML.mo(c); + } + if (mo.autoDefault("texClass",true) == "") {mo = MML.TeXAtom(mo)} + this.Push(this.mmlToken(mo.With(def))); + }, + + /************************************************************************/ + /* + * Macros + */ + + SetFont: function (name,font) {this.stack.env.font = font}, + SetStyle: function (name,texStyle,style,level) { + this.stack.env.style = texStyle; this.stack.env.level = level; + this.Push(STACKITEM.style().With({styles: {displaystyle: style, scriptlevel: level}})); + }, + SetSize: function (name,size) { + this.stack.env.size = size; + this.Push(STACKITEM.style().With({styles: {mathsize: size+"em"}})); // convert to absolute? + }, + + Color: function (name) { + var color = this.GetArgument(name); + var old = this.stack.env.color; this.stack.env.color = color; + var math = this.ParseArg(name); + if (old) {this.stack.env.color} else {delete this.stack.env.color} + this.Push(MML.mstyle(math).With({mathcolor: color})); + }, + + Spacer: function (name,space) { + this.Push(MML.mspace().With({width: space, mathsize: MML.SIZE.NORMAL, scriptlevel:1})); + }, + + LeftRight: function (name) { + this.Push(STACKITEM[name.substr(1)]().With({delim: this.GetDelimiter(name)})); + }, + + NamedOp: function (name,limits,id) { + var underover = (limits != null && limits === 0 ? FALSE : TRUE); + if (!id) {id = name.substr(1)}; limits = ((limits || limits == null) ? TRUE : FALSE); + id = id.replace(/ /,String.fromCharCode(0x2006)); + var mml = MML.mo(id).With({ + movablelimits: limits, + movesupsub: underover, + form: MML.FORM.PREFIX, + texClass: MML.TEXCLASS.OP + }); + mml.useMMLspacing &= ~mml.SPACE_ATTR.form; // don't count this explicit form setting + this.Push(this.mmlToken(mml)); + }, + Limits: function (name,limits) { + var op = this.stack.Prev("nopop"); + if (op.texClass !== MML.TEXCLASS.OP) {TEX.Error(name+" is allowed only on operators")} + op.movesupsub = (limits ? TRUE : FALSE); + op.movablelimits = FALSE; + }, + + Over: function (name,open,close) { + var mml = STACKITEM.over().With({name: name}); + if (open || close) { + mml.open = open; mml.close = close; + } else if (name.match(/withdelims$/)) { + mml.open = this.GetDelimiter(name); + mml.close = this.GetDelimiter(name); + } + if (name.match(/^\\above/)) {mml.thickness = this.GetDimen(name)} + else if (name.match(/^\\atop/) || open || close) {mml.thickness = 0} + this.Push(mml); + }, + + Frac: function (name) { + var num = this.ParseArg(name); + var den = this.ParseArg(name); + this.Push(MML.mfrac(num,den)); + }, + + Sqrt: function (name) { + var n = this.GetBrackets(name), mml = this.ParseArg(name); + if (n == "") {mml = MML.msqrt.apply(MML,mml.array())} + else {mml = MML.mroot(mml,this.parseRoot(n))} + this.Push(mml); + }, + Root: function (name) { + var n = this.GetUpTo(name,"\\of"); + var arg = this.ParseArg(name); + this.Push(MML.mroot(arg,this.parseRoot(n))); + }, + parseRoot: function (n) { + var env = this.stack.env, inRoot = env.inRoot; env.inRoot = true; + var parser = TEX.Parse(n,env); n = parser.mml(); var global = parser.stack.global; + if (global.leftRoot || global.upRoot) { + n = MML.mpadded(n); + if (global.leftRoot) {n.width = global.leftRoot} + if (global.upRoot) {n.voffset = global.upRoot; n.height = global.upRoot} + } + env.inRoot = inRoot; + return n; + }, + MoveRoot: function (name,id) { + if (!this.stack.env.inRoot) TEX.Error(name+" can appear only within a root"); + if (this.stack.global[id]) TEX.Error("Multiple use of "+name); + var n = this.GetArgument(name); + if (!n.match(/-?[0-9]+/)) TEX.Error("The argument to "+name+" must be an integer"); + n = (n/15)+"em"; + if (n.substr(0,1) !== "-") {n = "+"+n} + this.stack.global[id] = n; + }, + + Accent: function (name,accent,stretchy) { + var c = this.ParseArg(name); + var def = {accent: true}; if (this.stack.env.font) {def.mathvariant = this.stack.env.font} + var mml = this.mmlToken(MML.mo(MML.entity("#x"+accent)).With(def)); + mml.stretchy = (stretchy ? TRUE : FALSE); + this.Push(MML.munderover(c,null,mml).With({accent: TRUE})); + }, + + UnderOver: function (name,c,stack) { + var pos = {o: "over", u: "under"}[name.charAt(1)]; + var base = this.ParseArg(name); + if (base.Get("movablelimits")) {base.movablelimits = false} + var mml = MML.munderover(base,null,null); + if (stack) {mml.movesupsub = TRUE} + mml.data[mml[pos]] = + this.mmlToken(MML.mo(MML.entity("#x"+c)).With({stretchy: TRUE, accent: (pos == "under")})); + this.Push(mml); + }, + + Overset: function (name) { + var top = this.ParseArg(name), base = this.ParseArg(name); + this.Push(MML.munderover(base,null,top)); + }, + Underset: function (name) { + var bot = this.ParseArg(name), base = this.ParseArg(name); + this.Push(MML.munderover(base,bot,null)); + }, + + TeXAtom: function (name,mclass) { + var def = {texClass: mclass}, mml; + if (mclass == MML.TEXCLASS.OP) { + def.movesupsub = def.movablelimits = TRUE; + var arg = this.GetArgument(name); + var match = arg.match(/^\s*\\rm\s+([a-zA-Z0-9 ]+)$/); + if (match) { + mml = this.mmlToken(MML.mo(match[1]).With({ + movablelimits: TRUE, movesupsub: TRUE, + mathvariant: MML.VARIANT.NORMAL, + form: MML.FORM.PREFIX, + texClass: MML.TEXCLASS.OP + })); + mml.useMMLspacing &= ~mml.SPACE_ATTR.form; // don't count this explicit form setting + } else {mml = MML.TeXAtom(TEX.Parse(arg,this.stack.env).mml()).With(def)} + } else {mml = MML.TeXAtom(this.ParseArg(name)).With(def)} + this.Push(mml); + }, + + Strut: function (name) { + this.Push(MML.mpadded(MML.mrow()).With({height: "8.6pt", depth: "3pt", width: 0})); + }, + + Phantom: function (name,v,h) { + var box = MML.mphantom(this.ParseArg(name)); + if (v || h) { + box = MML.mpadded(box); + if (h) {box.height = box.depth = 0} + if (v) {box.width = 0} + } + this.Push(box); + }, + + Smash: function (name) { + var bt = this.trimSpaces(this.GetBrackets(name)); + var smash = MML.mpadded(this.ParseArg(name)); + switch (bt) { + case "b": smash.depth = 0; break; + case "t": smash.height = 0; break; + default: smash.height = smash.depth = 0; + } + this.Push(smash); + }, + + Lap: function (name) { + var mml = MML.mpadded(this.ParseArg(name)).With({width: 0}); + if (name === "\\llap") {mml.lspace = "-1 width"} + this.Push(mml); + }, + + RaiseLower: function (name) { + var h = this.GetDimen(name); + var item = STACKITEM.position().With({name: name, move: 'vertical'}); + if (h.charAt(0) === '-') {h = h.slice(1); name = {raise: "\\lower", lower: "\\raise"}[name.substr(1)]} + if (name === "\\lower") {item.dh = '-'+h; item.dd = '+'+h} else {item.dh = '+'+h; item.dd = '-'+h} + this.Push(item); + }, + + MoveLeftRight: function (name) { + var h = this.GetDimen(name); + var nh = (h.charAt(0) === '-' ? h.slice(1) : '-'+h); + if (name === "\\moveleft") {var tmp = h; h = nh; nh = tmp} + this.Push(STACKITEM.position().With({ + name: name, move: 'horizontal', + left: MML.mspace().With({width: h, mathsize: MML.SIZE.NORMAL, scriptlevel:1}), + right: MML.mspace().With({width: nh, mathsize: MML.SIZE.NORMAL, scriptlevel:1}) + })); + }, + + Hskip: function (name) { + this.Push(MML.mspace().With({ + width: this.GetDimen(name), mathsize: MML.SIZE.NORMAL, scriptlevel:0 + })); + }, + + Rule: function (name,style) { + var w = this.GetDimen(name), + h = this.GetDimen(name), + d = this.GetDimen(name); + var mml, def = {width:w, height:h, depth:d}; + if (style !== 'blank') { + mml = MML.mpadded(MML.mrow()).With(def); + if (parseFloat(w) && parseFloat(h)+parseFloat(d)) + {mml = MML.mstyle(mml).With({mathbackground:(this.stack.env.color || "black")})} + } else { + mml = MML.mspace().With(def); + } + this.Push(mml); + }, + + MakeBig: function (name,mclass,size) { + size *= TEXDEF.p_height; + size = String(size).replace(/(\.\d\d\d).+/,'$1')+"em"; + var delim = this.GetDelimiter(name); + this.Push(MML.TeXAtom(MML.mo(delim).With({ + minsize: size, maxsize: size, scriptlevel: 0, + fence: TRUE, stretchy: TRUE, symmetric: TRUE + })).With({texClass: mclass})); + }, + + BuildRel: function (name) { + var top = this.ParseUpTo(name,"\\over"); + var bot = this.ParseArg(name); + this.Push(MML.TeXAtom(MML.munderover(bot,null,top)).With({mclass: MML.TEXCLASS.REL})); + }, + + HBox: function (name,style) { + this.Push.apply(this,this.InternalMath(this.GetArgument(name),style)); + }, + + FBox: function (name) { + this.Push(MML.menclose.apply(MML,this.InternalMath(this.GetArgument(name))).With({notation:"box"})); + }, + + Require: function (name) { + var file = this.GetArgument(name); // @@@ FIXME: check for OK URL + this.Extension(null,file); + }, + + Extension: function (name,file,array) { + if (name && !typeof(name) === "string") {name = name.name} + file = TEX.extensionDir+"/"+file; + if (!file.match(/\.js$/)) {file += ".js"} + if (!MathJax.Ajax.loaded[MathJax.Ajax.fileURL(file)]) { + if (name != null) {delete TEXDEF[array || 'macros'][name.replace(/^\\/,"")]} + MathJax.Hub.RestartAfter(MathJax.Ajax.Require(file)); + } + }, + + Macro: function (name,macro,argcount) { + if (argcount) { + var args = []; + for (var i = 0; i < argcount; i++) {args.push(this.GetArgument(name))} + macro = this.SubstituteArgs(args,macro); + } + this.string = this.AddArgs(macro,this.string.slice(this.i)); + this.i = 0; + if (++this.macroCount > TEX.config.MAXMACROS) + {TEX.Error("MathJax maximum macro substitution count exceeded; is there a recursive macro call?")} + }, + + Matrix: function (name,open,close,align,spacing,vspacing,style) { + var c = this.GetNext(); if (c === "") {TEX.Error("Missing argument for "+name)} + if (c === "{") {this.i++} else {this.string = c+"}"+this.string.slice(this.i+1); this.i = 0} + var array = STACKITEM.array().With({ + requireClose: TRUE, + arraydef: { + rowspacing: (vspacing||"4pt"), + columnspacing: (spacing||"1em") + } + }); + if (open || close) {array.open = open; array.close = close} + if (style === "D") {array.arraydef.displaystyle = TRUE} + if (align != null) {array.arraydef.columnalign = align} + this.Push(array); + }, + + Entry: function (name) { + this.Push(STACKITEM.cell().With({isEntry: TRUE, name: name})); + }, + + Cr: function (name) { + this.Push(STACKITEM.cell().With({isCR: TRUE, name: name})); + }, + + HLine: function (name,style) { + if (style == null) {style = "solid"} + var top = this.stack.Top(); + if (top.type !== "array" || top.data.length) {TEX.Error("Misplaced "+name)} + if (top.table.length == 0) { + top.arraydef.frame = style; + } else { + var lines = (top.arraydef.rowlines ? top.arraydef.rowlines.split(/ /) : []); + while (lines.length < top.table.length) {lines.push("none")} + lines[top.table.length-1] = style; + top.arraydef.rowlines = lines.join(' '); + } + }, + + /************************************************************************/ + /* + * LaTeX environments + */ + + Begin: function (name) { + var env = this.GetArgument(name); + if (env.match(/[^a-z*]/i)) {TEX.Error('Invalid environment name "'+env+'"')} + if (!TEXDEF.environment[env]) {TEX.Error('Unknown environment "'+env+'"')} + if (++this.macroCount > TEX.config.MAXMACROS) + {TEX.Error("MathJax maximum substitution count exceeded; is there a recursive latex environment?")} + var cmd = TEXDEF.environment[env]; if (!(cmd instanceof Array)) {cmd = [cmd]} + var mml = STACKITEM.begin().With({name: env, end: cmd[1], parse:this}); + if (cmd[0] && this[cmd[0]]) {mml = this[cmd[0]].apply(this,[mml].concat(cmd.slice(2)))} + this.Push(mml); + }, + End: function (name) { + this.Push(STACKITEM.end().With({name: this.GetArgument(name)})); + }, + + Equation: function (begin,row) {return row}, + + ExtensionEnv: function (begin,file) {this.Extension(begin.name,file,"environment")}, + + Array: function (begin,open,close,align,spacing,vspacing,style,raggedHeight) { + if (!align) {align = this.GetArgument("\\begin{"+begin.name+"}")} + var lines = ("c"+align).replace(/[^clr|:]/g,'').replace(/[^|:]([|:])+/g,'$1'); + align = align.replace(/[^clr]/g,'').split('').join(' '); + align = align.replace(/l/g,'left').replace(/r/g,'right').replace(/c/g,'center'); + var array = STACKITEM.array().With({ + arraydef: { + columnalign: align, + columnspacing: (spacing||"1em"), + rowspacing: (vspacing||"4pt") + } + }); + if (lines.match(/[|:]/)) { + var frame = (lines.charAt(0)+lines.charAt(lines.length-1)).replace(/[^|:]/g,""); + if (frame !== "") { + array.arraydef.frame = {'|':'solid', ':':'dashed'}[frame.charAt(0)]; + array.arraydef.framespacing = ".5em .5ex" + } + lines = lines.substr(1,lines.length-2); + array.arraydef.columnlines = + lines.split('').join(' ').replace(/[^|: ]/g,'none').replace(/\|/g,'solid').replace(/:/g,'dashed'); + } + if (open) {array.open = this.convertDelimiter(open)} + if (close) {array.close = this.convertDelimiter(close)} + if (style === "D") {array.arraydef.displaystyle = TRUE} + if (style === "S") {array.arraydef.scriptlevel = 1} // FIXME: should use mstyle? + if (raggedHeight) {array.arraydef.useHeight = FALSE} + this.Push(begin); + return array; + }, + + /************************************************************************/ + /* + * String handling routines + */ + + /* + * Convert delimiter to character + */ + convertDelimiter: function (c) { + if (c) {c = TEXDEF.delimiter[c]} + if (c == null) {return null} + if (c instanceof Array) {c = c[0]} + if (c.length === 4) {c = String.fromCharCode(parseInt(c,16))} + return c; + }, + + /* + * Trim spaces from a string + */ + trimSpaces: function (text) { + if (typeof(text) != 'string') {return text} + return text.replace(/^\s+|\s+$/g,''); + }, + + /* + * Check if the next character is a space + */ + nextIsSpace: function () { + return this.string.charAt(this.i).match(/[ \n\r\t]/); + }, + + /* + * Get the next non-space character + */ + GetNext: function () { + while (this.nextIsSpace()) {this.i++} + return this.string.charAt(this.i); + }, + + /* + * Get and return a control-sequence name + */ + GetCS: function () { + var CS = this.string.slice(this.i).match(/^([a-z]+|.) ?/i); + if (CS) {this.i += CS[1].length; return CS[1]} else {this.i++; return " "} + }, + + /* + * Get and return a TeX argument (either a single character or control sequence, + * or the contents of the next set of braces). + */ + GetArgument: function (name,noneOK) { + switch (this.GetNext()) { + case "": + if (!noneOK) {TEX.Error("Missing argument for "+name)} + return null; + case '}': + if (!noneOK) {TEX.Error("Extra close brace or missing open brace")} + return null; + case '\\': + this.i++; return "\\"+this.GetCS(); + case '{': + var j = ++this.i, parens = 1; + while (this.i < this.string.length) { + switch (this.string.charAt(this.i++)) { + case '\\': this.i++; break; + case '{': parens++; break; + case '}': + if (parens == 0) {TEX.Error("Extra close brace")} + if (--parens == 0) {return this.string.slice(j,this.i-1)} + break; + } + } + TEX.Error("Missing close brace"); + break; + } + return this.string.charAt(this.i++); + }, + + /* + * Get an optional LaTeX argument in brackets + */ + GetBrackets: function (name) { + if (this.GetNext() != '[') {return ''}; + var j = ++this.i, parens = 0; + while (this.i < this.string.length) { + switch (this.string.charAt(this.i++)) { + case '{': parens++; break; + case '\\': this.i++; break; + case '}': + if (parens-- <= 0) {TEX.Error("Extra close brace while looking for ']'")} + break; + case ']': + if (parens == 0) {return this.string.slice(j,this.i-1)} + break; + } + } + TEX.Error("Couldn't find closing ']' for argument to "+name); + }, + + /* + * Get the name of a delimiter (check it in the delimiter list). + */ + GetDelimiter: function (name) { + while (this.nextIsSpace()) {this.i++} + var c = this.string.charAt(this.i); + if (this.i < this.string.length) { + this.i++; if (c == "\\") {c += this.GetCS(name)} + if (TEXDEF.delimiter[c] != null) {return this.convertDelimiter(c)} + } + TEX.Error("Missing or unrecognized delimiter for "+name); + }, + + /* + * Get a dimension (including its units). + */ + GetDimen: function (name) { + var dimen; + if (this.nextIsSpace()) {this.i++} + if (this.string.charAt(this.i) == '{') { + dimen = this.GetArgument(name); + if (dimen.match(/^\s*([-+]?(\.\d+|\d+(\.\d*)?))\s*(pt|em|ex|mu|px|mm|cm|in|pc)\s*$/)) + {return dimen.replace(/ /g,"")} + } else { + dimen = this.string.slice(this.i); + var match = dimen.match(/^\s*(([-+]?(\.\d+|\d+(\.\d*)?))\s*(pt|em|ex|mu|px|mm|cm|in|pc)) ?/); + if (match) { + this.i += match[0].length; + return match[1].replace(/ /g,""); + } + } + TEX.Error("Missing dimension or its units for "+name); + }, + + /* + * Get everything up to the given control sequence (token) + */ + GetUpTo: function (name,token) { + while (this.nextIsSpace()) {this.i++} + var j = this.i, k, c, parens = 0; + while (this.i < this.string.length) { + k = this.i; c = this.string.charAt(this.i++); + switch (c) { + case '\\': c += this.GetCS(); break; + case '{': parens++; break; + case '}': + if (parens == 0) {TEX.Error("Extra close brace while looking for "+token)} + parens--; + break; + } + if (parens == 0 && c == token) {return this.string.slice(j,k)} + } + TEX.Error("Couldn't find "+token+" for "+name); + }, + + /* + * Parse various substrings + */ + ParseArg: function (name) {return TEX.Parse(this.GetArgument(name),this.stack.env).mml()}, + ParseUpTo: function (name,token) {return TEX.Parse(this.GetUpTo(name,token),this.stack.env).mml()}, + + /* + * Break up a string into text and math blocks + * @@@ FIXME: skip over braced groups? @@@ + * @@@ FIXME: pass environment to TEX.Parse? @@@ + */ + InternalMath: function (text,level) { + var def = {displaystyle: FALSE}; if (level != null) {def.scriptlevel = level} + if (this.stack.env.font) {def.mathvariant = this.stack.env.font} + if (!text.match(/\$|\\\(/)) {return [this.InternalText(text,def)]} + var i = 0, k = 0, c, match = ''; + var mml = []; + while (i < text.length) { + c = text.charAt(i++); + if (c === '$') { + if (match === '$') { + mml.push(MML.TeXAtom(TEX.Parse(text.slice(k,i-1)).mml().With(def))); + match = ''; k = i; + } else if (match === '') { + if (k < i-1) {mml.push(this.InternalText(text.slice(k,i-1),def))} + match = '$'; k = i; + } + } else if (c === '\\') { + c = text.charAt(i++); + if (c === '(' && match === '') { + if (k < i-2) {mml.push(this.InternalText(text.slice(k,i-2),def))} + match = ')'; k = i; + } else if (c === ')' && match === ')') { + mml.push(MML.TeXAtom(TEX.Parse(text.slice(k,i-2)).mml().With(def))); + match = ''; k = i; + } + } + } + if (match !== '') {TEX.Error("Math not terminated in text box")} + if (k < text.length) {mml.push(this.InternalText(text.slice(k),def))} + return mml; + }, + InternalText: function (text,def) { + text = text.replace(/^\s+/,NBSP).replace(/\s+$/,NBSP); + return MML.mtext(MML.chars(text)).With(def); + }, + + /* + * Replace macro paramters with their values + */ + SubstituteArgs: function (args,string) { + var text = ''; var newstring = ''; var c; var i = 0; + while (i < string.length) { + c = string.charAt(i++); + if (c === "\\") {text += c + string.charAt(i++)} + else if (c === '#') { + c = string.charAt(i++); + if (c === '#') {text += c} else { + if (!c.match(/[1-9]/) || c > args.length) + {TEX.Error("Illegal macro parameter reference")} + newstring = this.AddArgs(this.AddArgs(newstring,text),args[c-1]); + text = ''; + } + } else {text += c} + } + return this.AddArgs(newstring,text); + }, + + /* + * Make sure that macros are followed by a space if their names + * could accidentally be continued into the following text. + */ + AddArgs: function (s1,s2) { + if (s2.match(/^[a-z]/i) && s1.match(/(^|[^\\])(\\\\)*\\[a-z]+$/i)) {s1 += ' '} + if (s1.length + s2.length > TEX.config.MAXBUFFER) + {TEX.Error("MathJax internal buffer size exceeded; is there a recursive macro call?")} + return s1+s2; + } + + }); + + /************************************************************************/ + + TEX.Augment({ + Stack: STACK, Parse: PARSE, Definitions: TEXDEF, Startup: STARTUP, + + config: { + MAXMACROS: 10000, // maximum number of macro substitutions per equation + MAXBUFFER: 5*1024 // maximum size of TeX string to process + }, + + Translate: function (script) { + var mml, math = script.innerHTML.replace(/^\s+/,"").replace(/\s+$/,""); + if (MathJax.Hub.Browser.isKonqueror) + {math = math.replace(/</g,"<").replace(/>/g,">").replace(/&/g,"&")} + var displaystyle = + (script.type.replace(/\n/g," ").match(/(;|\s|\n)mode\s*=\s*display(;|\s|\n|$)/) != null); + math = TEX.prefilterMath(math,displaystyle,script); + try { + mml = TEX.Parse(math).mml(); +// mml = MML.semantics(mml,MML.annotation(math).With({encoding:"application:x-tex"})); + } catch(err) { + if (!err.texError) {throw err} + mml = this.formatError(err,math,displaystyle,script); + } + if (mml.inferred) {mml = MML.apply(MathJax.ElementJax,mml.data)} else {mml = MML(mml)} + if (displaystyle) {mml.root.display = "block"} + return this.postfilterMath(mml,displaystyle,script); + }, + prefilterMath: function (math,displaystyle,script) { + // avoid parsing super- and subscript numbers as a unit + return math.replace(/([_^]\s*\d)([0-9.,])/g,"$1 $2"); + }, + postfilterMath: function (math,displaystyle,script) { + this.combineRelations(math.root); + return math; + }, + formatError: function (err,math,displaystyle,script) { + return MML.merror(err.message.replace(/\n.*/,"")); + }, + Error: function (message) { + throw MathJax.Hub.Insert(Error(message),{texError: TRUE}); + }, + Macro: function (name,def,argn) { + TEXDEF.macros[name] = ['Macro'].concat([].slice.call(arguments,1)); + }, + + combineRelations: function (mml) { + for (var i = 0, m = mml.data.length; i < m; i++) { + if (mml.data[i]) { + if (mml.isa(MML.mrow)) { + while (i+1 < m && mml.data[i+1] && + mml.data[i].isa(MML.mo) && mml.data[i+1].isa(MML.mo) && + mml.data[i].Get("texClass") === MML.TEXCLASS.REL && + mml.data[i+1].Get("texClass") === MML.TEXCLASS.REL) { + mml.data[i].Append.apply(mml.data[i],mml.data[i+1].data); + mml.data.splice(i+1,1); m--; + } + } + if (!mml.data[i].isToken) {this.combineRelations(mml.data[i])} + } + } + } + }); + + TEX.loadComplete("jax.js"); + +})(MathJax.InputJax.TeX); diff --git a/modules/MathJax/jax/output/HTML-CSS/autoload/annotation-xml.js b/modules/MathJax/jax/output/HTML-CSS/autoload/annotation-xml.js new file mode 100644 index 0000000..2014707 --- /dev/null +++ b/modules/MathJax/jax/output/HTML-CSS/autoload/annotation-xml.js @@ -0,0 +1,58 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/autoload/annotation-xm;l.js + * + * Implements the HTML-CSS output for elements. + * + * --------------------------------------------------------------------- + * + * Copyright (c) 2011 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +MathJax.Hub.Register.StartupHook("HTML-CSS Jax Ready",function () { + var VERSION = "1.1"; + var MML = MathJax.ElementJax.mml, + HTMLCSS = MathJax.OutputJax["HTML-CSS"]; + + MML["annotation-xml"].Augment({ + toHTML: function (span) { + span = this.HTMLhandleSize(this.HTMLcreateSpan(span)); + var encoding = this.Get("encoding"); + for (var i = 0, m = this.data.length; i < m; i++) + {this.data[i].toHTML(span,encoding)} + this.HTMLhandleSpace(span); + this.HTMLhandleColor(span); + return span; + }, + HTMLgetScale: function () { + return this.SUPER(arguments).HTMLgetScale.call(this) * (100/HTMLCSS.scale) + } + }); + + MML.xml.Augment({ + toHTML: function (span,encoding) { + for (var i = 0, m = this.data.length; i < m; i++) + {span.appendChild(this.data[i].cloneNode(true))} + span.bbox.w = HTMLCSS.getW(span); span.bbox.rw = span.bbox.w; + var HD = HTMLCSS.getHD(span); + span.bbox.h = HD.h; span.bbox.d = HD.d; + } + }); + + MathJax.Hub.Startup.signal.Post("HTML-CSS annotation-xml Ready"); + MathJax.Ajax.loadComplete(HTMLCSS.autoloadDir+"/annotation-xml.js"); + +}); + diff --git a/modules/MathJax/jax/output/HTML-CSS/autoload/maction.js b/modules/MathJax/jax/output/HTML-CSS/autoload/maction.js new file mode 100644 index 0000000..b33be10 --- /dev/null +++ b/modules/MathJax/jax/output/HTML-CSS/autoload/maction.js @@ -0,0 +1,202 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/autoload/maction.js + * + * Implements the HTML-CSS output for elements. + * + * --------------------------------------------------------------------- + * + * Copyright (c) 2010-2011 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +MathJax.Hub.Register.StartupHook("HTML-CSS Jax Ready",function () { + var VERSION = "1.1.2"; + var MML = MathJax.ElementJax.mml, + HTMLCSS = MathJax.OutputJax["HTML-CSS"]; + + var currentTip, hover, clear; + + // + // Add configuration for tooltips + // + var CONFIG = HTMLCSS.config.tooltip = MathJax.Hub.Insert({ + delayPost: 600, delayClear: 600, + offsetX: 10, offsetY: 5 + },HTMLCSS.config.tooltip||{}); + + + MML.maction.Augment({ + HTMLtooltip: HTMLCSS.addElement(document.body,"div",{id:"MathJax_Tooltip"}), + + toHTML: function (span,HW,D) { + span = this.HTMLhandleSize(this.HTMLcreateSpan(span)); span.bbox = null; + var values = this.getValues("actiontype","selection"), frame; + var selected = this.data[values.selection-1]; + if (selected) { + HTMLCSS.Measured(selected.toHTML(span),span); + if (D != null) {HTMLCSS.Remeasured(selected.HTMLstretchV(span,HW,D),span)} + else if (HW != null) {HTMLCSS.Remeasured(selected.HTMLstretchH(span,HW),span)} + if (HTMLCSS.msieHitBoxBug) { + // margin-left doesn't work on inline-block elements in IE, so put it in a SPAN + var box = HTMLCSS.addElement(span,"span"); + frame = HTMLCSS.createFrame(box,span.bbox.h,span.bbox.d,span.bbox.w,0,"none"); + span.insertBefore(box,span.firstChild); // move below the content + box.style.marginRight = HTMLCSS.Em(-span.bbox.w); + if (HTMLCSS.msieInlineBlockAlignBug) + {frame.style.verticalAlign = HTMLCSS.Em(HTMLCSS.getHD(span).d-span.bbox.d)} + } else { + frame = HTMLCSS.createFrame(span,span.bbox.h,span.bbox.d,span.bbox.w,0,"none"); + span.insertBefore(frame,span.firstChild); // move below the content + frame.style.marginRight = HTMLCSS.Em(-span.bbox.w); + } + frame.className = "MathJax_HitBox"; + frame.id = "MathJax-HitBox-"+this.spanID; + + if (this.HTMLaction[values.actiontype]) + {this.HTMLaction[values.actiontype].call(this,span,frame,values.selection)} + } + this.HTMLhandleSpace(span); + this.HTMLhandleColor(span); + return span; + }, + HTMLstretchH: MML.mbase.HTMLstretchH, + HTMLstretchV: MML.mbase.HTMLstretchV, + + // + // Implementations for the various actions + // + HTMLaction: { + toggle: function (span,frame,selection) { + this.selection = selection; + frame.onclick = span.childNodes[1].onclick = MathJax.Callback(["HTMLclick",this]); + frame.style.cursor = span.childNodes[1].style.cursor="pointer"; + }, + + statusline: function (span,frame,selection) { + frame.onmouseover = span.childNodes[1].onmouseover = MathJax.Callback(["HTMLsetStatus",this]); + frame.onmouseout = span.childNodes[1].onmouseout = MathJax.Callback(["HTMLclearStatus",this]); + frame.onmouseover.autoReset = frame.onmouseout.autoReset = true; + }, + + tooltip: function(span,frame,selection) { + if (this.data[1] && this.data[1].isToken) { + frame.title = frame.alt = span.childNodes[1].title = + span.childNodes[1].alt = this.data[1].data.join(""); + } else { + frame.onmouseover = span.childNodes[1].onmouseover = MathJax.Callback(["HTMLtooltipOver",this]); + frame.onmouseout = span.childNodes[1].onmouseout = MathJax.Callback(["HTMLtooltipOut",this]); + frame.onmouseover.autoReset = frame.onmouseout.autoReset = true; + } + } + }, + + // + // Handle a click on the maction element + // (remove the original rendering and rerender) + // + HTMLclick: function (event) { + this.selection++; + if (this.selection > this.data.length) {this.selection = 1} + var math = this; while (math.type !== "math") {math = math.inherit} + MathJax.Hub.getJaxFor(math.inputID).Update(); + if (!event) {event = window.event} + if (event.preventDefault) {event.preventDefault()} + if (event.stopPropagation) {event.stopPropagation()} + event.cancelBubble = true; + event.returnValue = false; + return false; + }, + + // + // Set/Clear the window status message + // + HTMLsetStatus: function (event) { + // FIXME: Do something better with non-token elements + window.status = + ((this.data[1] && this.data[1].isToken) ? + this.data[1].data.join("") : this.data[1].toString()); + }, + HTMLclearStatus: function (event) {window.status = ""}, + + // + // Handle tooltips + // + HTMLtooltipOver: function (event) { + if (!event) {event = window.event} + if (clear) {clearTimeout(clear); clear = null} + if (hover) {clearTimeout(hover)} + var x = event.pageX; var y = event.pageY; + if (x == null) { + x = event.clientX + document.body.scrollLeft + document.documentElement.scrollLeft; + y = event.clientY + document.body.scrollTop + document.documentElement.scrollTop; + } + var callback = MathJax.Callback(["HTMLtooltipPost",this,x+CONFIG.offsetX,y+CONFIG.offsetY]) + hover = setTimeout(callback,CONFIG.delayPost); + }, + HTMLtooltipOut: function (event) { + if (hover) {clearTimeout(hover); hover = null} + if (clear) {clearTimeout(clear)} + var callback = MathJax.Callback(["HTMLtooltipClear",this,80]); + clear = setTimeout(callback,CONFIG.delayClear); + }, + HTMLtooltipPost: function (x,y) { + hover = null; if (clear) {clearTimeout(clear); clear = null} + var tip = this.HTMLtooltip; + tip.style.display = "block"; tip.style.opacity = ""; + tip.style.filter = HTMLCSS.config.styles["#MathJax_Tooltip"].filter; + if (this === currentTip) return; + tip.style.left = x+"px"; tip.style.top = y+"px"; + tip.innerHTML = ''; + HTMLCSS.getScales(tip.firstChild,tip.firstChild); + var stack = HTMLCSS.createStack(tip.firstChild.firstChild); + var box = HTMLCSS.createBox(stack); + try {HTMLCSS.Measured(this.data[1].toHTML(box),box)} catch(err) { + if (!err.restart) {throw err} + tip.style.display = "none"; + MathJax.Callback.After(["HTMLtooltipPost",this,x,y],err.restart); + } + HTMLCSS.placeBox(box,0,0); + HTMLCSS.createRule(tip.firstChild.firstChild,box.bbox.h,box.bbox.d,0); + currentTip = this; + }, + HTMLtooltipClear: function (n) { + var tip = this.HTMLtooltip; + if (n <= 0) { + tip.style.display = "none"; + tip.style.opacity = tip.style.filter = ""; + clear = null; + } else { + tip.style.opacity = n/100; + tip.style.filter = "alpha(opacity="+n+")"; + clear = setTimeout(MathJax.Callback(["HTMLtooltipClear",this,n-20]),50); + } + } + }); + + // + // Do browser-specific setup + // + MathJax.Hub.Browser.Select({ + MSIE: function (browser) { + HTMLCSS.msieHitBoxBug = true; + } + }); + + + MathJax.Hub.Startup.signal.Post("HTML-CSS maction Ready"); + MathJax.Ajax.loadComplete(HTMLCSS.autoloadDir+"/maction.js"); + +}); + diff --git a/modules/MathJax/jax/output/HTML-CSS/autoload/menclose.js b/modules/MathJax/jax/output/HTML-CSS/autoload/menclose.js new file mode 100644 index 0000000..7fb3dc9 --- /dev/null +++ b/modules/MathJax/jax/output/HTML-CSS/autoload/menclose.js @@ -0,0 +1,273 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/autoload/menclose.js + * + * Implements the HTML-CSS output for elements. + * + * --------------------------------------------------------------------- + * + * Copyright (c) 2010-2011 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +MathJax.Hub.Register.StartupHook("HTML-CSS Jax Ready",function () { + var VERSION = "1.1.1"; + var MML = MathJax.ElementJax.mml, + HTMLCSS = MathJax.OutputJax["HTML-CSS"]; + + var SVGNS = "http://www.w3.org/2000/svg"; + var VMLNS = "urn:schemas-microsoft-com:vml"; + var vmlns = "mjxvml"; + + MML.menclose.Augment({ + toHTML: function (span) { + var values = this.getValues("notation","thickness","padding","mathcolor","color"); + if (values.color && !this.mathcolor) {values.mathcolor = values.color} + if (values.thickness == null) {values.thickness = ".075em"} + if (values.padding == null) {values.padding = ".2em"} + var p = HTMLCSS.length2em(values.padding); + var t = HTMLCSS.length2em(values.thickness); + var SOLID = HTMLCSS.Em(t)+" solid"; + + span = this.HTMLcreateSpan(span); + var stack = HTMLCSS.createStack(span); + var base = HTMLCSS.createBox(stack); + this.HTMLmeasureChild(0,base); + var H = base.bbox.h+p+t, D = base.bbox.d+p+t, W = base.bbox.w+2*(p+t); + var frame = HTMLCSS.createFrame(stack,H+D,0,W,t,"none"); + frame.id = "MathJax-frame-"+this.spanID; + HTMLCSS.addBox(stack,frame); stack.insertBefore(frame,base); // move base to above background + var notation = values.notation.split(/ /); + var T = 0, B = 0, R = 0, L = 0, dx = 0, dy = 0; var svg, vml; + if (!values.mathcolor) {values.mathcolor = "black"} else {span.style.color = values.mathcolor} + + for (var i = 0, m = notation.length; i < m; i++) { + switch (notation[i]) { + case MML.NOTATION.BOX: + frame.style.border = SOLID; if (!HTMLCSS.msieBorderWidthBug) {T = B = L = R = t} + break; + + case MML.NOTATION.ROUNDEDBOX: + if (HTMLCSS.useVML) { + if (!vml) {vml = this.HTMLvml(stack,H,D,W,t,values.mathcolor)} + // roundrect.arcsize can't be set in IE8 standards mode, so use a path + var r = Math.floor(1000*Math.min(W,H+D)-2*t); + var w = Math.floor(4000*(W-2*t)), h = Math.floor(4000*(H+D-2*t)); + this.HTMLvmlElement(vml,"shape",{ + style: {width:this.HTMLpx(W-2*t),height:this.HTMLpx(H+D-2*t), + left:this.HTMLpx(t,.5),top:this.HTMLpx(t,.5)}, + path: "m "+r+",0 qx 0,"+r+" l 0,"+(h-r)+" qy "+r+","+h+" "+ + "l "+(w-r)+","+h+" qx "+w+","+(h-r)+" l "+w+","+r+" qy "+(w-r)+",0 x e", + coordsize: w+","+h + }); + } else { + if (!svg) {svg = this.HTMLsvg(stack,H,D,W,t,values.mathcolor)} + this.HTMLsvgElement(svg.firstChild,"rect",{ + x:1, y:1, width:this.HTMLpx(W-t)-1, + height:this.HTMLpx(H+D-t)-1, rx:this.HTMLpx(Math.min(H+D,W)/4) + }); + } + break; + + case MML.NOTATION.CIRCLE: + if (HTMLCSS.useVML) { + if (!vml) {vml = this.HTMLvml(stack,H,D,W,t,values.mathcolor)} + this.HTMLvmlElement(vml,"oval",{ + style: {width:this.HTMLpx(W-2*t),height:this.HTMLpx(H+D-2*t), + left:this.HTMLpx(t,.5),top:this.HTMLpx(t,.5)} + }); + } else { + if (!svg) {svg = this.HTMLsvg(stack,H,D,W,t,values.mathcolor)} + this.HTMLsvgElement(svg.firstChild,"ellipse",{ + rx:this.HTMLpx(W/2-t), ry:this.HTMLpx((H+D)/2-t), + cx:this.HTMLpx(W/2), cy:this.HTMLpx((H+D)/2) + }); + } + break; + + case MML.NOTATION.LEFT: + frame.style.borderLeft = SOLID; if (!HTMLCSS.msieBorderWidthBug) {L = t} + break; + + case MML.NOTATION.ACTUARIAL: + frame.style.borderTop = SOLID; if (!HTMLCSS.msieBorderWidthBug) {T = t; frame.bbox.w += p-t} + case MML.NOTATION.RIGHT: + frame.style.borderRight = SOLID; if (!HTMLCSS.msieBorderWidthBug) {R = t} + break; + + case MML.NOTATION.VERTICALSTRIKE: + var vline = HTMLCSS.createRule(stack,H+D-t/2,0,t); + HTMLCSS.addBox(stack,vline); HTMLCSS.placeBox(vline,p+t+base.bbox.w/2,-D,true); + break; + + case MML.NOTATION.TOP: + frame.style.borderTop = SOLID; if (!HTMLCSS.msieBorderWidthBug) {T = t} + break; + + case MML.NOTATION.BOTTOM: + frame.style.borderBottom = SOLID; if (!HTMLCSS.msieBorderWidthBug) {B = t} + break; + + case MML.NOTATION.HORIZONTALSTRIKE: + var hline = HTMLCSS.createRule(stack,t,0,W-t/2); + HTMLCSS.addBox(stack,hline); HTMLCSS.placeBox(hline,0,(H+D)/2-D,true); + break; + + case MML.NOTATION.UPDIAGONALSTRIKE: + if (HTMLCSS.useVML) { + if (!vml) {vml = this.HTMLvml(stack,H,D,W,t,values.mathcolor)} + this.HTMLvmlElement(vml,"line",{from: "0,"+this.HTMLpx(H+D-t), to: this.HTMLpx(W)+",0"}); + } else { + if (!svg) {svg = this.HTMLsvg(stack,H,D,W,t,values.mathcolor)} + this.HTMLsvgElement(svg.firstChild,"line",{ + x1:1, y1:this.HTMLpx(H+D-t), x2:this.HTMLpx(W-t), y2:this.HTMLpx(t) + }); + } + break; + + case MML.NOTATION.DOWNDIAGONALSTRIKE: + if (HTMLCSS.useVML) { + if (!vml) {vml = this.HTMLvml(stack,H,D,W,t,values.mathcolor)} + this.HTMLvmlElement(vml,"line",{from: "0,0", to: this.HTMLpx(W)+","+this.HTMLpx(H+D-t)}); + } else { + if (!svg) {svg = this.HTMLsvg(stack,H,D,W,t,values.mathcolor)} + this.HTMLsvgElement(svg.firstChild,"line",{ + x1:1, y1:this.HTMLpx(t), x2:this.HTMLpx(W-t), y2:this.HTMLpx(H+D-t) + }); + } + break; + + case MML.NOTATION.MADRUWB: + frame.style.borderBottom = SOLID; + frame.style.borderRight = SOLID; if (!HTMLCSS.msieBorderWidthBug) {B = R = t} + break; + + case MML.NOTATION.RADICAL: + if (HTMLCSS.useVML) { + if (!vml) {vml = this.HTMLvml(stack,H,D,W,t,values.mathcolor)} + this.HTMLvmlElement(vml,"shape",{ + style: {width:this.HTMLpx(W), height:this.HTMLpx(H+D)}, + path: "m "+this.HTMLpt(t/2,.6*(H+D))+" l "+this.HTMLpt(p,H+D-t)+" "+ + this.HTMLpt(2*p,t/2)+" "+this.HTMLpt(W,t/2)+" e", + coordsize: this.HTMLpt(W,H+D) + }); + dx = p; + } else { + if (!svg) {svg = this.HTMLsvg(stack,H,D,W,t,values.mathcolor)} + this.HTMLsvgElement(svg.firstChild,"path",{ + d: "M 1,"+this.HTMLpx(.6*(H+D)) + + " L "+this.HTMLpx(p)+","+this.HTMLpx(H+D) + + " L "+this.HTMLpx(2*p)+",1 L "+this.HTMLpx(W)+",1" + }); + HTMLCSS.placeBox(svg.parentNode,0,p/2-D,true); + dx = p; dy = t; + } + break; + + case MML.NOTATION.LONGDIV: + if (HTMLCSS.useVML) { + if (!vml) {vml = this.HTMLvml(stack,H,D,W,t,values.mathcolor)} + this.HTMLvmlElement(vml,"line",{from: "0,"+this.HTMLpx(t/2), to: this.HTMLpx(W-t)+","+this.HTMLpx(t/2)}); + this.HTMLvmlElement(vml,"arc",{ + style: {width:this.HTMLpx(2*p),height:this.HTMLpx(H+D-2*t), + left:this.HTMLpx(-p),top:this.HTMLpx(t)}, + startangle:"10", endangle:"170" + }); + dx = p; + } else { + if (!svg) {svg = this.HTMLsvg(stack,H,D,W,t,values.mathcolor)} + this.HTMLsvgElement(svg.firstChild,"path",{ + d: "M "+this.HTMLpx(W)+",1 L 1,1 "+ + "a"+this.HTMLpx(p)+","+this.HTMLpx((H+D)/2-t)+" 0 0,1 1,"+this.HTMLpx(H+D-2*t) + }); + HTMLCSS.placeBox(svg.parentNode,0,t-D,true); + dx = p; dy = t; + } + break; + } + } + frame.style.width = HTMLCSS.Em(W-L-R); frame.style.height = HTMLCSS.Em(H+D-T-B); + HTMLCSS.placeBox(frame,0,dy-D,true); + HTMLCSS.placeBox(base,dx+p+t,0); + this.HTMLhandleSpace(span); + this.HTMLhandleColor(span); + return span; + }, + + HTMLpx: function (n) {return (n*HTMLCSS.em)}, + HTMLpt: function (x,y) {return Math.floor(1000*x)+','+Math.floor(1000*y)}, + + HTMLhandleColor: function (span) { + var frame = document.getElementById("MathJax-frame-"+this.spanID); + if (frame) { + // mathcolor is handled in toHTML above + var values = this.getValues("mathbackground","background"); + if (this.style && span.style.backgroundColor) {values.mathbackground = span.style.backgroundColor} + if (values.background && !this.mathbackground) {values.mathbackground = values.background} + if (values.mathbackground && values.mathbackground !== MML.COLOR.TRANSPARENT) + {frame.style.backgroundColor = values.mathbackground} + } else {this.SUPER(arguments).HTMLhandleColor.call(this,span)} + }, + + HTMLsvg: function (stack,H,D,W,t,color) { + var svg = document.createElementNS(SVGNS,"svg"); + if (svg.style) {svg.style.width = HTMLCSS.Em(W); svg.style.height = HTMLCSS.Em(H+D)} + var scale = HTMLCSS.createBox(stack); scale.appendChild(svg); + HTMLCSS.placeBox(scale,0,-D,true); + this.HTMLsvgElement(svg,"g",{fill:"none", stroke:color, "stroke-width":t*HTMLCSS.em}); + return svg; + }, + HTMLsvgElement: function (svg,type,def) { + var obj = document.createElementNS(SVGNS,type); + if (def) {for (var id in def) {if (def.hasOwnProperty(id)) {obj.setAttributeNS(null,id,def[id].toString())}}} + svg.appendChild(obj); + return obj; + }, + HTMLvml: function (stack,H,D,W,t,color) { + var vml = HTMLCSS.createFrame(stack,H+D,0,W,0,"none"); + HTMLCSS.addBox(stack,vml); HTMLCSS.placeBox(vml,0,-D,true); + this.constructor.VMLcolor = color; this.constructor.VMLthickness = this.HTMLpx(t); + return vml; + }, + HTMLvmlElement: function (vml,type,def) { + var obj = HTMLCSS.addElement(vml,vmlns+":"+type); + obj.style.position = "absolute"; obj.style.left = obj.style.top = 0; + MathJax.Hub.Insert(obj,def); // IE8 needs to do this after obj is added to the page + if (!def.fillcolor) {obj.fillcolor = "none"} + if (!def.strokecolor) {obj.strokecolor = this.constructor.VMLcolor} + if (!def.strokeweight) {obj.strokeweight =this.constructor.VMLthickness} + } + }); + + MathJax.Hub.Browser.Select({ + MSIE: function (browser) { + MML.menclose.Augment({HTMLpx: function (n,d) {return (n*HTMLCSS.em+(d||0))+"px"}}); + HTMLCSS.useVML = true; + if (!document.namespaces[vmlns]) { + if (document.documentMode && document.documentMode >= 8) { + document.namespaces.add(vmlns,VMLNS,"#default#VML"); + } else { + document.namespaces.add(vmlns,VMLNS); + document.createStyleSheet().addRule(vmlns+"\\: *","{behavior: url(#default#VML)}"); + } + } + } + }); + + + MathJax.Hub.Startup.signal.Post("HTML-CSS menclose Ready"); + MathJax.Ajax.loadComplete(HTMLCSS.autoloadDir+"/menclose.js"); + +}); + diff --git a/modules/MathJax/jax/output/HTML-CSS/autoload/mglyph.js b/modules/MathJax/jax/output/HTML-CSS/autoload/mglyph.js new file mode 100644 index 0000000..8c45c3d --- /dev/null +++ b/modules/MathJax/jax/output/HTML-CSS/autoload/mglyph.js @@ -0,0 +1,109 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/autoload/mglyph.js + * + * Implements the HTML-CSS output for elements. + * + * --------------------------------------------------------------------- + * + * Copyright (c) 2010-2011 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +MathJax.Hub.Register.StartupHook("HTML-CSS Jax Ready",function () { + var VERSION = "1.1"; + var MML = MathJax.ElementJax.mml, + HTMLCSS = MathJax.OutputJax["HTML-CSS"]; + + MML.mglyph.Augment({ + toHTML: function (span,variant) { + var SPAN = span, values = this.getValues("src","width","height","valign","alt"), err; + span = this.HTMLcreateSpan(span); + if (values.src === "") { + var index = this.Get("index"); + if (index) { + variant = this.HTMLgetVariant(); var font = variant.defaultFont; + if (font) { + font.noStyleChar = true; font.testString = String.fromCharCode(index) + 'ABCabc'; + if (HTMLCSS.Font.testFont(font)) { + this.HTMLhandleVariant(span,variant,String.fromCharCode(index)); + } else { + if (values.alt === "") {values.alt = "Bad font: "+font.family} + err = MML.merror(values.alt).With({mathsize:"75%"}); + this.Append(err); err.toHTML(span); this.data.pop(); + span.bbox = err.HTMLspanElement().bbox; + } + } + } + } else { + if (!this.img) {this.img = MML.mglyph.GLYPH[values.src]} + if (!this.img) { + this.img = MML.mglyph.GLYPH[values.src] = {img: new Image(), status: "pending"}; + var img = this.img.img; + img.onload = MathJax.Callback(["HTMLimgLoaded",this]); + img.onerror = MathJax.Callback(["HTMLimgError",this]); + img.src = values.src; + MathJax.Hub.RestartAfter(img.onload); + } + if (this.img.status !== "OK") { + err = MML.merror("Bad mglyph: "+values.src).With({mathsize:"75%"}); + this.Append(err); err.toHTML(span); this.data.pop(); + span.bbox = err.HTMLspanElement().bbox; + } else { + img = HTMLCSS.addElement(span,"img",{src:values.src, alt:values.alt, title:values.alt}); + if (values.width) { + if (String(values.width).match(/^\s*-?\d+\s*$/)) {values.width += "px"} + img.style.width = HTMLCSS.Em(HTMLCSS.length2em(values.width,this.img.img.width/HTMLCSS.em)); + } + if (values.height) { + if (String(values.height).match(/^\s*-?\d+\s*$/)) {values.height += "px"} + img.style.height = HTMLCSS.Em(HTMLCSS.length2em(values.height,this.img.img.height/HTMLCSS.em)); + } + span.bbox.w = span.bbox.rw = img.offsetWidth/HTMLCSS.em; + span.bbox.h = img.offsetHeight/HTMLCSS.em; + if (values.valign) { + if (String(values.valign).match(/^\s*-?\d+\s*$/)) {values.valign += "px"} + span.bbox.d = -HTMLCSS.length2em(values.valign,this.img.img.height/HTMLCSS.em); + img.style.verticalAlign = HTMLCSS.Em(-span.bbox.d); + span.bbox.h -= span.bbox.d; + } + } + } + if (!SPAN.bbox) { + SPAN.bbox = {w: span.bbox.w, h: span.bbox.h, d: span.bbox.d, + rw: span.bbox.rw, lw: span.bbox.lw}; + } else if (span.bbox) { + SPAN.bbox.w += span.bbox.w; + if (SPAN.bbox.w > SPAN.bbox.rw) {SPAN.bbox.rw = SPAN.bbox.w} + if (span.bbox.h > SPAN.bbox.h) {SPAN.bbox.h = span.bbox.h} + if (span.bbox.d > SPAN.bbox.d) {SPAN.bbox.d = span.bbox.d} + } + this.HTMLhandleSpace(span); + this.HTMLhandleColor(span); + return span; + }, + HTMLimgLoaded: function (event,status) { + if (typeof(event) === "string") {status = event} + this.img.status = (status || "OK") + }, + HTMLimgError: function () {this.img.img.onload("error")} + },{ + GLYPH: {} // global list of all loaded glyphs + }); + + MathJax.Hub.Startup.signal.Post("HTML-CSS mglyph Ready"); + MathJax.Ajax.loadComplete(HTMLCSS.autoloadDir+"/mglyph.js"); + +}); + diff --git a/modules/MathJax/jax/output/HTML-CSS/autoload/mmultiscripts.js b/modules/MathJax/jax/output/HTML-CSS/autoload/mmultiscripts.js new file mode 100644 index 0000000..6db75fc --- /dev/null +++ b/modules/MathJax/jax/output/HTML-CSS/autoload/mmultiscripts.js @@ -0,0 +1,145 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/autoload/mmultiscripts.js + * + * Implements the HTML-CSS output for elements. + * + * --------------------------------------------------------------------- + * + * Copyright (c) 2010-2011 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +MathJax.Hub.Register.StartupHook("HTML-CSS Jax Ready",function () { + var VERSION = "1.1"; + var MML = MathJax.ElementJax.mml, + HTMLCSS = MathJax.OutputJax["HTML-CSS"]; + + MML.mmultiscripts.Augment({ + toHTML: function (span,HW,D) { + span = this.HTMLcreateSpan(span); var scale = this.HTMLgetScale(); + var stack = HTMLCSS.createStack(span), values; + var base = HTMLCSS.createBox(stack); + this.HTMLmeasureChild(this.base,base); + if (this.data[this.base]) { + if (D != null) {HTMLCSS.Remeasured(this.data[this.base].HTMLstretchV(base,HW,D),base)} + else if (HW != null) {HTMLCSS.Remeasured(this.data[this.base].HTMLstretchH(base,HW),base)} + } + var x_height = HTMLCSS.TeX.x_height * scale, + s = HTMLCSS.TeX.scriptspace * scale * .75; // FIXME: .75 can be removed when IC is right? + + var BOX = this.HTMLgetScripts(stack,s); + var sub = BOX[0], sup = BOX[1], presub = BOX[2], presup = BOX[3]; + + var sscale = (this.data[1]||this).HTMLgetScale(); + var q = HTMLCSS.TeX.sup_drop * sscale, r = HTMLCSS.TeX.sub_drop * sscale; + var u = base.bbox.h - q, v = base.bbox.d + r, delta = 0, p; + if (base.bbox.ic) {delta = base.bbox.ic} + if (this.data[this.base] && + (this.data[this.base].type === "mi" || this.data[this.base].type === "mo")) { + if (this.data[this.base].data.join("").length === 1 && base.bbox.scale === 1 && + !this.data[this.base].Get("largeop")) {u = v = 0} + } + var min = this.getValues("subscriptshift","superscriptshift"); + min.subscriptshift = (min.subscriptshift === "" ? 0 : HTMLCSS.length2em(min.subscriptshift)); + min.superscriptshift = (min.superscriptshift === "" ? 0 : HTMLCSS.length2em(min.superscriptshift)); + + var dx = 0; + if (presub) {dx = presub.bbox.w+delta} else if (presup) {dx = presup.bbox.w-delta} + if (dx < 0) {dx = 0}; + HTMLCSS.placeBox(base,dx,0); + + if (!sup && !presup) { + v = Math.max(v,HTMLCSS.TeX.sub1*scale,min.subscriptshift); + if (sub) {v = Math.max(v,sub.bbox.h-(4/5)*x_height)} + if (presub) {v = Math.max(v,presub.bbox.h-(4/5)*x_height)} + if (sub) {HTMLCSS.placeBox(sub,dx+base.bbox.w+s-delta,-v)} + if (presub) {HTMLCSS.placeBox(presub,0,-v)} + } else { + if (!sub && !presub) { + values = this.getValues("displaystyle","texprimestyle"); + p = HTMLCSS.TeX[(values.displaystyle ? "sup1" : (values.texprimestyle ? "sup3" : "sup2"))]; + u = Math.max(u,p*scale,min.superscriptshift); + if (sup) {u = Math.max(u,sup.bbox.d+(1/4)*x_height)} + if (presup) {u = Math.max(u,presup.bbox.d+(1/4)*x_height)} + if (sup) {HTMLCSS.placeBox(sup,dx+base.bbox.w+s,u)} + if (presup) {HTMLCSS.placeBox(presup,0,u)} + } else { + v = Math.max(v,HTMLCSS.TeX.sub2*scale); + var t = HTMLCSS.TeX.rule_thickness * scale; + var h = (sub||presub).bbox.h, d = (sup||presup).bbox.d; + if (presub) {h = Math.max(h,presub.bbox.h)} + if (presup) {d = Math.max(d,presup.bbox.d)} + if ((u - d) - (h - v) < 3*t) { + v = 3*t - u + d + h; q = (4/5)*x_height - (u - d); + if (q > 0) {u += q; v -= q} + } + u = Math.max(u,min.superscriptshift); v = Math.max(v,min.subscriptshift); + if (sup) {HTMLCSS.placeBox(sup,dx+base.bbox.w+s,u)} + if (presup) {HTMLCSS.placeBox(presup,dx+delta-presup.bbox.w,u)} + if (sub) {HTMLCSS.placeBox(sub,dx+base.bbox.w+s-delta,-v)} + if (presub) {HTMLCSS.placeBox(presub,dx-presub.bbox.w,-v)} + } + } + this.HTMLhandleSpace(span); + this.HTMLhandleColor(span); + return span; + }, + HTMLgetScripts: function (stack,s) { + var sup, sub, BOX = []; + var i = 1, m = this.data.length, W = 0; + for (var k = 0; k < 4; k += 2) { + while (i < m && this.data[i].type !== "mprescripts") { + for (var j = k; j < k+2; j++) { + if (this.data[i] && this.data[i].type !== "none") { + if (!BOX[j]) { + BOX[j] = HTMLCSS.createBox(stack); BOX[j].bbox = this.HTMLemptyBBox({}); + if (W) {HTMLCSS.createBlank(BOX[j],W); BOX[j].bbox.w = BOX[j].bbox.rw = W} + } + this.data[i].toHTML(BOX[j]); this.HTMLcombineBBoxes(this.data[i],BOX[j].bbox); + } + i++; + } + sub = BOX[k]; sup = BOX[k+1]; + if (sub && sup) { + if (sub.bbox.w < sup.bbox.w) { + HTMLCSS.createBlank(sub,sup.bbox.w-sub.bbox.w); + sub.bbox.w = sup.bbox.w; sub.bbox.rw = Math.max(sub.bbox.w,sub.bbox.rw); + } else if (sub.bbox.w > sup.bbox.w) { + HTMLCSS.createBlank(sup,sub.bbox.w-sup.bbox.w); + sup.bbox.w = sub.bbox.w; sup.bbox.rw = Math.max(sup.bbox.w,sup.bbox.rw); + } + } + if (sub) {W = sub.bbox.w} else if (sup) {W = sup.bbox.w} + } + i++; W = 0; + } + for (j = 0; j < 4; j++) { + if (BOX[j]) { + BOX[j].bbox.w += s; + BOX[j].bbox.rw = Math.max(BOX[j].bbox.w,BOX[j].bbox.rw); + this.HTMLcleanBBox(BOX[j].bbox); + } + } + return BOX; + }, + HTMLstretchH: MML.mbase.HTMLstretchH, + HTMLstretchV: MML.mbase.HTMLstretchV + }); + + MathJax.Hub.Startup.signal.Post("HTML-CSS mmultiscripts Ready"); + MathJax.Ajax.loadComplete(HTMLCSS.autoloadDir+"/mmultiscripts.js"); + +}); + diff --git a/modules/MathJax/jax/output/HTML-CSS/autoload/ms.js b/modules/MathJax/jax/output/HTML-CSS/autoload/ms.js new file mode 100644 index 0000000..224fa0c --- /dev/null +++ b/modules/MathJax/jax/output/HTML-CSS/autoload/ms.js @@ -0,0 +1,53 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/autoload/ms.js + * + * Implements the HTML-CSS output for elements. + * + * --------------------------------------------------------------------- + * + * Copyright (c) 2010-2011 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +MathJax.Hub.Register.StartupHook("HTML-CSS Jax Ready",function () { + var VERSION = "1.1"; + var MML = MathJax.ElementJax.mml, + HTMLCSS = MathJax.OutputJax["HTML-CSS"]; + + MML.ms.Augment({ + toHTML: function (span) { + span = this.HTMLhandleSize(this.HTMLcreateSpan(span)); + var values = this.getValues("lquote","rquote"); + var text = this.data.join(""); // FIXME: handle mglyph? + var pattern = []; + if (values.lquote.length === 1) {pattern.push(this.HTMLquoteRegExp(values.lquote))} + if (values.rquote.length === 1) {pattern.push(this.HTMLquoteRegExp(values.rquote))} + if (pattern.length) {text = text.replace(RegExp("("+pattern.join("|")+")","g"),"\\$1")} + this.HTMLhandleVariant(span,this.HTMLgetVariant(),values.lquote+text+values.rquote); + this.HTMLhandleSpace(span); + this.HTMLhandleColor(span); + return span; + }, + HTMLquoteRegExp: function (string) { + return string.replace(/([.*+?|{}()\[\]\\])/g,"\\$1"); + } + }); + MML.ms.prototype.defaults.fontfamily = 'monospace'; + + MathJax.Hub.Startup.signal.Post("HTML-CSS ms Ready"); + MathJax.Ajax.loadComplete(HTMLCSS.autoloadDir+"/ms.js"); + +}); + diff --git a/modules/MathJax/jax/output/HTML-CSS/autoload/mtable.js b/modules/MathJax/jax/output/HTML-CSS/autoload/mtable.js new file mode 100644 index 0000000..8424f33 --- /dev/null +++ b/modules/MathJax/jax/output/HTML-CSS/autoload/mtable.js @@ -0,0 +1,438 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/autoload/mtable.js + * + * Implements the HTML-CSS output for elements. + * + * --------------------------------------------------------------------- + * + * Copyright (c) 2010-2011 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +MathJax.Hub.Register.StartupHook("HTML-CSS Jax Ready",function () { + var VERSION = "1.1"; + var MML = MathJax.ElementJax.mml, + HTMLCSS = MathJax.OutputJax["HTML-CSS"]; + + MML.mtable.Augment({ + toHTML: function (span) { + span = this.HTMLcreateSpan(span); + if (this.data.length === 0) {return span} + var values = this.getValues("columnalign","rowalign","columnspacing","rowspacing", + "columnwidth","equalcolumns","equalrows", + "columnlines","rowlines","frame","framespacing", + "align","useHeight","width","side","minlabelspacing"); + var hasRelativeWidth = values.width.match(/%$/); + var stack = HTMLCSS.createStack(span); + var scale = this.HTMLgetScale(); var LABEL = -1; + + var H = [], D = [], W = [], A = [], C = [], i, j, J = -1, m, M, s, row; + var LHD = HTMLCSS.FONTDATA.baselineskip * scale * values.useHeight, + LH = HTMLCSS.FONTDATA.lineH * scale, LD = HTMLCSS.FONTDATA.lineD * scale; + + // + // Create cells and measure columns and rows + // + for (i = 0, m = this.data.length; i < m; i++) { + row = this.data[i]; s = (row.type === "mlabeledtr" ? LABEL : 0); + A[i] = []; H[i] = D[i] = 0; + for (j = s, M = row.data.length + s; j < M; j++) { + if (W[j] == null) { + if (j > J) {J = j} + C[j] = HTMLCSS.createStack(HTMLCSS.createBox(stack)); + W[j] = -HTMLCSS.BIGDIMEN; + } + A[i][j] = HTMLCSS.createBox(C[j]); + HTMLCSS.Measured(row.data[j-s].toHTML(A[i][j]),A[i][j]); + if (row.data[j-s].isMultiline) {A[i][j].style.width = "100%"} + if (A[i][j].bbox.h > H[i]) {H[i] = A[i][j].bbox.h} + if (A[i][j].bbox.d > D[i]) {D[i] = A[i][j].bbox.d} + if (A[i][j].bbox.w > W[j]) {W[j] = A[i][j].bbox.w} + } + } + if (H[0]+D[0]) {H[0] = Math.max(H[0],LH)} + if (H[A.length-1]+D[A.length-1]) {D[A.length-1] = Math.max(D[A.length-1],LD)} + + // + // Determine spacing and alignment + // + var CSPACE = values.columnspacing.split(/ /), + RSPACE = values.rowspacing.split(/ /), + CALIGN = values.columnalign.split(/ /), + RALIGN = values.rowalign.split(/ /), + CLINES = values.columnlines.split(/ /), + RLINES = values.rowlines.split(/ /), + CWIDTH = values.columnwidth.split(/ /), + RCALIGN = []; + for (i = 0, m = CSPACE.length; i < m; i++) {CSPACE[i] = HTMLCSS.length2em(CSPACE[i])} + for (i = 0, m = RSPACE.length; i < m; i++) {RSPACE[i] = HTMLCSS.length2em(RSPACE[i])} + while (CSPACE.length < J) {CSPACE.push(CSPACE[CSPACE.length-1])} + while (CALIGN.length <= J) {CALIGN.push(CALIGN[CALIGN.length-1])} + while (CLINES.length < J) {CLINES.push(CLINES[CLINES.length-1])} + while (CWIDTH.length <= J) {CWIDTH.push(CWIDTH[CWIDTH.length-1])} + while (RSPACE.length < A.length) {RSPACE.push(RSPACE[RSPACE.length-1])} + while (RALIGN.length <= A.length) {RALIGN.push(RALIGN[RALIGN.length-1])} + while (RLINES.length < A.length) {RLINES.push(RLINES[RLINES.length-1])} + if (C[LABEL]) { + CALIGN[LABEL] = (values.side.substr(0,1) === "l" ? "left" : "right"); + CSPACE[LABEL] = -W[LABEL]; + } + // + // Override row data + // + for (i = 0, m = A.length; i < m; i++) { + row = this.data[i]; RCALIGN[i] = []; + if (row.rowalign) {RALIGN[i] = row.rowalign} + if (row.columnalign) { + RCALIGN[i] = row.columnalign.split(/ /); + while (RCALIGN[i].length <= J) {RCALIGN[i].push(RCALIGN[i][RCALIGN[i].length-1])} + } + } + + // FIXME: do background colors for entire cell (include half the intercolumn space?) + + // + // Determine array total height + // + var HD = H[0] + D[A.length-1]; + for (i = 0, m = A.length-1; i < m; i++) {HD += Math.max((H[i]+D[i] ? LHD : 0),D[i]+H[i+1]+RSPACE[i])} + // + // Determine frame and line sizes + // + var fx = 0, fy = 0, fW, fH = HD; + if (values.frame !== "none" || + (values.columnlines+values.rowlines).match(/solid|dashed/)) { + fx = HTMLCSS.length2em(values.framespacing.split(/[, ]+/)[0]); + fy = HTMLCSS.length2em(values.framespacing.split(/[, ]+/)[1]); + fH = HD + 2*fy; // fW waits until stack.bbox.w is determined + } + // + // Compute alignment + // + var Y, fY; + if (String(values.align).match(/^\d+$/)) { + // FIXME: do row-based alignment + Y = HD/2 + HTMLCSS.TeX.axis_height*scale - H[0]; + fY = -(HD/2 + fy); + } else { + Y = ({ + top: -(H[0] + fy), + bottom: HD + fy - H[0], + center: HD/2 - H[0], + baseline: HD/2 - H[0], + axis: HD/2 + HTMLCSS.TeX.axis_height*scale - H[0] + })[values.align]; + fY = ({ + top: -(HD + 2*fy), + bottom: 0, + center: -(HD/2 + fy), + baseline: -(HD/2 + fy), + axis: HTMLCSS.TeX.axis_height*scale - HD/2 - fy + })[values.align]; + } + + var WW, WP = 0, Wt = 0, Wp = 0, p = 0, f = 0, P = [], F = [], Wf = 1; + // + if (values.equalcolumns && values.width !== "auto") { + // + // Handle equalcolumns for percent-width and fixed-width tables + // + if (hasRelativeWidth) { + // Set widths to percentages + WW = (100/(J+1)).toFixed(2).replace(/\.?0+$/,"")+"%"; + for (i = 0, m = Math.min(J+1,CWIDTH.length); i < m; i++) {CWIDTH[i] = WW} + // Get total column spacing + WW = 0; WP = 1; f = J+1; + for (i = 0, m = Math.min(J+1,CSPACE.length); i < m; i++) {WW += CSPACE[i]} + } else { + // Get total width minus column spacing + WW = HTMLCSS.length2em(values.width); + for (i = 0, m = Math.min(J+1,CSPACE.length); i < m; i++) {WW -= CSPACE[i]} + // Determine individual column widths + WW /= J+1; + for (i = 0, m = Math.min(J+1,CWIDTH.length); i < m; i++) {W[i] = WW} + } + } else { + // + // Get column widths for fit and percentage columns + // + // Calculate the natural widths and percentage widths, + // while keeping track of the fit and percentage columns + for(i = 0, m = Math.min(J+1,CWIDTH.length); i < m; i++) { + if (CWIDTH[i] === "auto") {Wt += W[i]} + else if (CWIDTH[i] === "fit") {F[f] = i; f++; Wt += W[i]} + else if (CWIDTH[i].match(/%$/)) + {P[p] = i; p++; Wp += W[i]; WP += HTMLCSS.length2em(CWIDTH[i],1)} + else {W[i] = HTMLCSS.length2em(CWIDTH[i]); Wt += W[i]} + } + if (hasRelativeWidth) { + // Get separation width and check percentages + WW = 0; for (i = 0, m = Math.min(J,CSPACE.length); i < m; i++) {WW += CSPACE[i]} + if (WP > .98) {Wf = .98/WP; WP = .98} + } else { + // Get the full width (excluding inter-column spacing) + if (values.width === "auto") { + if (WP > .98) {Wf = Wp/(Wt+Wp); WW = Wt + Wp} else {WW = Wt / (1-WP)} + } else { + WW = HTMLCSS.length2em(values.width); + for (i = 0, m = Math.min(J+1,CSPACE.length); i < m; i++) {WW -= CSPACE[i]} + } + // Determine the relative column widths + for (i = 0, m = P.length; i < m; i++) { + W[P[i]] = HTMLCSS.length2em(CWIDTH[P[i]],WW*Wf); Wt += W[P[i]]; + } + // Stretch fit columns, if any, otherwise stretch (or shrink) everything + if (Math.abs(WW - Wt) > .01) { + if (f && WW > Wt) { + WW = (WW - Wt) / f; for (i = 0, m = F.length; i < m; i++) {W[F[i]] += WW} + } else {WW = WW/Wt; for (j = 0; j <= J; j++) {W[j] *= WW}} + } + // + // Handle equal columns + // + if (values.equalcolumns) { + var Wm = Math.max.apply(Math,W); + for (j = 0; j <= J; j++) {W[j] = Wm} + } + } + } + // + // Handle equal heights + // + if (values.equalrows) { + // FIXME: should really be based on row align (below is for baseline) + var Hm = Math.max.apply(Math,H), Dm = Math.max.apply(Math,D); + for (i = 0, m = A.length; i < m; i++) + {s = ((Hm + Dm) - (H[i] + D[i])) / 2; H[i] += s; D[i] += s} + } + + // + // Lay out array columns + // + var y = Y, dy, line, align; s = (C[LABEL] ? LABEL : 0); + for (j = s; j <= J; j++) { + for (i = 0, m = A.length; i < m; i++) { + if (A[i][j]) { + s = (this.data[i].type === "mlabeledtr" ? LABEL : 0); + var cell = this.data[i].data[j-s]; + if (cell.HTMLcanStretch("Horizontal")) { + A[i][j].bbox = cell.HTMLstretchH(C[j],W[j]).bbox + } else if (cell.HTMLcanStretch("Vertical")) { + var mo = cell.CoreMO(); + var symmetric = mo.symmetric; mo.symmetric = false; + A[i][j].bbox = cell.HTMLstretchV(C[j],H[i],D[i]).bbox; + mo.symmetric = symmetric; + } + align = cell.rowalign||this.data[i].rowalign||RALIGN[i]; + dy = ({top: H[i] - A[i][j].bbox.h, + bottom: A[i][j].bbox.d - D[i], + center: ((H[i]-D[i]) - (A[i][j].bbox.h-A[i][j].bbox.d))/2, + baseline: 0, axis: 0})[align]; // FIXME: handle axis better? + align = (cell.columnalign||RCALIGN[i][j]||CALIGN[j]) + HTMLCSS.alignBox(A[i][j],align,y+dy); + } + if (i < A.length-1) {y -= Math.max((H[i]+D[i] ? LHD : 0),D[i]+H[i+1]+RSPACE[i])} + } + y = Y; + } + + // + // Set column widths and placement + // + if (hasRelativeWidth) { + // + // Remove column spacing to get width available for columns + // + var box = HTMLCSS.createBox(stack); box.style.left = box.style.top = 0; + box.style.right = HTMLCSS.Em(WW+2*fx); box.style.display = "inline-block"; + box.style.height = "0px"; + if (HTMLCSS.msieRelativeWidthBug) { + box = HTMLCSS.createBox(box); box.style.position = "relative"; + box.style.height = "1em"; box.style.width = "100%"; box.bbox = stack.bbox; + } + // + // wp = remaining width (%) divided by the number of columns it is split over + // wm = remaining width (fixed) divided by the number of columns it is split over + // + var xp = 0, xf = fx, wp, wm; + if (f) {wp = 100*(1-WP)/f, wm = Wt/f} else {wp = 100*(1-WP)/(J+1); wm = Wt/(J+1)} + for (j = 0; j <= J; j++) { + HTMLCSS.placeBox(C[j].parentNode,0,0); // sets the bbox + // + // Convert original column to the innermost span in the mobile column + // + C[j].style.position = "relative"; + C[j].style.left = HTMLCSS.Em(xf); + C[j].style.width = "100%"; + C[j].parentNode.parentNode.removeChild(C[j].parentNode); + var Cj = HTMLCSS.createBox(box); HTMLCSS.addBox(Cj,C[j]); C[j] = Cj; + var CjStyle = Cj.style; CjStyle.display = "inline-block"; CjStyle.left = xp + "%"; + // + // Set width/position based on the type of column + // + if (CWIDTH[j].match(/%$/)) { + var pp = parseFloat(CWIDTH[j]) * Wf; + if (f === 0) { + CjStyle.width = (wp + pp) + "%"; xp += wp + pp; + Cj = HTMLCSS.createBox(Cj); HTMLCSS.addBox(Cj,C[j].firstChild); + Cj.style.left = 0; Cj.style.right = HTMLCSS.Em(wm); xf -= wm; + } else { + CjStyle.width = pp + "%"; xp += pp; + } + } else if (CWIDTH[j] === "fit" || f === 0) { + CjStyle.width = wp + "%"; + Cj = HTMLCSS.createBox(Cj); HTMLCSS.addBox(Cj,C[j].firstChild); + Cj.style.left = 0; Cj.style.right = HTMLCSS.Em(wm-W[j]); + xf += W[j] - wm; xp += wp; + } else { + CjStyle.width = HTMLCSS.Em(W[j]); xf += W[j]; + } + if (HTMLCSS.msieRelativeWidthBug) { + HTMLCSS.addText(Cj.firstChild,HTMLCSS.NBSP); // gets correct baseline + Cj.firstChild.style.position = "relative"; + } + xf += CSPACE[j]; + // + // Add column lines + // + if (CLINES[j] !== "none" && j < J && j !== LABEL) { + line = HTMLCSS.createBox(box); line.style.left = xp+"%"; + line = HTMLCSS.createRule(line,fH,0,1.25/HTMLCSS.em); line.style.position = "absolute"; + line.bbox = {h:fH, d:0, w:0, rw:1.25/HTMLCSS.em, lw:0}; + line.parentNode.bbox = stack.bbox; // make sure stack size is updated + HTMLCSS.placeBox(line,xf-CSPACE[j]/2,fY,true); line.style.borderStyle = CLINES[j]; + } + } + } else { + // + // Set the column box widths and place them + // + var x = fx; + for (j = 0; j <= J; j++) { + if (!C[j].bbox.width) {HTMLCSS.setStackWidth(C[j],W[j])} + if (CWIDTH[j] !== "auto" && CWIDTH[j] !== "fit") + {C[j].bbox.width = W[j]; C[j].bbox.isFixed = true} + HTMLCSS.placeBox(C[j].parentNode,x,0); x += W[j] + CSPACE[j]; + // + // Add column lines + // + if (CLINES[j] !== "none" && j < J && j !== LABEL) { + line = HTMLCSS.createRule(stack,fH,0,1.25/HTMLCSS.em); HTMLCSS.addBox(stack,line); + line.bbox = {h:fH, d:0, w:0, rw:1.25/HTMLCSS.em, lw:0}; + HTMLCSS.placeBox(line,x-CSPACE[j]/2,fY,true); line.style.borderStyle = CLINES[j]; + } + } + } + + // + // Add frame + // + fW = stack.bbox.w + fx; var frame; + if (values.frame !== "none") { + frame = HTMLCSS.createFrame(stack,fH,0,fW,1.25/HTMLCSS.em,values.frame); + HTMLCSS.addBox(stack,frame); HTMLCSS.placeBox(frame,0,fY,true); + if (hasRelativeWidth) {frame.style.width = "100%"} + } + // + // Add row lines + // + y = Y; + for (i = 0, m = A.length-1; i < m; i++) { + dy = Math.max(LHD,D[i]+H[i+1]+RSPACE[i]); + if (RLINES[i] !== "none") { + line = HTMLCSS.createRule(stack,1.25/HTMLCSS.em,0,fW); HTMLCSS.addBox(stack,line); + line.bbox = {h:1.25/HTMLCSS.em, d:0, w:fW, rw:fW, lw:0}; + HTMLCSS.placeBox(line,0,y - D[i] - (dy-D[i]-H[i+1])/2,true); + if (RLINES[i] === "dashed" || hasRelativeWidth) { + line.style.borderTop = line.style.height+" "+RLINES[i]; line.style.height = 0; + line.style.width = line.style.borderLeftWidth; line.style.borderLeft = ""; + if (hasRelativeWidth) {line.style.width = "100%"} + } + } + y -= dy; + } + // + // Set relative width + // + if (hasRelativeWidth) {span.bbox.width = values.width; stack.style.width = "100%"} + // + // Place the labels, if any + // + if (C[LABEL]) { + var indent = this.getValues("indentalignfirst","indentshiftfirst","indentalign","indentshift"); + if (indent.indentalignfirst !== MML.INDENTALIGN.INDENTALIGN) {indent.indentalign = indent.indentalignfirst} + if (indent.indentalign === MML.INDENTALIGN.AUTO) {indent.indentalign = this.displayAlign} + if (indent.indentshiftfirst !== MML.INDENTSHIFT.INDENTSHIFT) {indent.indentshift = indent.indentshiftfirst} + if (indent.indentshift === "auto") {indent.indentshift = this.displayIndent} + var eqn = HTMLCSS.createStack(span,false,"100%"); + HTMLCSS.addBox(eqn,stack); HTMLCSS.alignBox(stack,indent.indentalign,0); + if (indent.indentshift && indent.indentalign !== MML.INDENTALIGN.CENTER) { + stack.style[{left:"Left",right:"Right"}[indent.indentalign]] = + HTMLCSS.Em(HTMLCSS.length2em(indent.indentshift)); + } + C[LABEL].parentNode.parentNode.removeChild(C[LABEL].parentNode); + HTMLCSS.addBox(eqn,C[LABEL]); HTMLCSS.alignBox(C[LABEL],CALIGN[LABEL],0); + if (HTMLCSS.msieRelativeWidthBug) {stack.style.top = C[LABEL].style.top = ""} + if (hasRelativeWidth) {stack.style.width = values.width; span.bbox.width = "100%"} + C[LABEL].style.marginRight = C[LABEL].style.marginLeft = + HTMLCSS.Em(HTMLCSS.length2em(values.minlabelspacing)); + } + // + // Finish the table + // + if (!hasRelativeWidth) {this.HTMLhandleSpace(span)} + var color = this.HTMLhandleColor(span); + // + // Handle relative-sized background color + // + if (color && hasRelativeWidth) { + if (!frame) { + frame = HTMLCSS.createFrame(stack,fH,0,fW,0,"none"); + HTMLCSS.addBox(stack,frame); HTMLCSS.placeBox(frame,0,fY,true); + frame.style.width = "100%"; + } + frame.style.backgroundColor = color.style.backgroundColor; + frame.parentNode.insertBefore(frame,frame.parentNode.firstChild); + color.parentNode.removeChild(color); + } + return span; + }, + HTMLhandleSpace: function (span) { + span.style.paddingLeft = span.style.paddingRight = ".1667em"; + } + }); + + MML.mtd.Augment({ + toHTML: function (span,HW,D) { + span = this.HTMLcreateSpan(span); + if (this.data[0]) { + var box = HTMLCSS.Measured(this.data[0].toHTML(span),span); + if (D != null) {HTMLCSS.Remeasured(this.data[0].HTMLstretchV(span,HW,D),span)} + else if (HW != null) {HTMLCSS.Remeasured(this.data[0].HTMLstretchH(span,HW),span)} + span.bbox = box.bbox; + } + this.HTMLhandleSpace(span); + this.HTMLhandleColor(span); + return span; + }, + HTMLstretchH: MML.mbase.HTMLstretchH, + HTMLstretchV: MML.mbase.HTMLstretchV + }); + + MathJax.Hub.Startup.signal.Post("HTML-CSS mtable Ready"); + MathJax.Ajax.loadComplete(HTMLCSS.autoloadDir+"/mtable.js"); + +}); + diff --git a/modules/MathJax/jax/output/HTML-CSS/autoload/multiline.js b/modules/MathJax/jax/output/HTML-CSS/autoload/multiline.js new file mode 100644 index 0000000..96fa625 --- /dev/null +++ b/modules/MathJax/jax/output/HTML-CSS/autoload/multiline.js @@ -0,0 +1,96 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/autoload/multiline.js + * + * Implements the HTML-CSS output 's that contain line breaks. + * + * --------------------------------------------------------------------- + * + * Copyright (c) 2010-2011 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +MathJax.Hub.Register.StartupHook("HTML-CSS Jax Ready",function () { + var VERSION = "1.1"; + var MML = MathJax.ElementJax.mml, + HTMLCSS = MathJax.OutputJax["HTML-CSS"]; + + MML.mbase.Augment({ + toHTMLmultiline: function (span,split) { + span = this.HTMLcreateSpan(span); if (!this.type !== "mrow") {span = this.HTMLhandleSize(span)} + var stack = HTMLCSS.createStack(span); + var box = [], stretchy = [], H = -HTMLCSS.BIGDIMEN, D = -HTMLCSS.BIGDIMEN, i, j, m, M; + for (j = 0, M = split.length-1; j < M; j++) { + box[j] = HTMLCSS.createBox(stack); + for (i = split[j][0], m = split[j+1][0]; i < m; i++) + {if (this.data[i]) {this.data[i].toHTML(box[j])}} + // remove inter-object spacing + if (this.data[split[j][0]]) {this.data[split[j][0]].HTMLspanElement().style.paddingLeft = ""} + if (this.data[split[j][m-1]]) {this.data[split[j][m-1]].HTMLspanElement().style.paddingRight = ""} + // + stretchy[j] = this.HTMLcomputeBBox(box[j],null,split[j][0],split[j+1][0]); + if (box[j].bbox.h > H) {H = box[j].bbox.h} + if (box[j].bbox.d > D) {D = box[j].bbox.d} + } + var y = 0, scale = this.HTMLgetScale(), LHD = HTMLCSS.FONTDATA.baselineskip * scale; + var parent = this, first; + while (parent.inferred || (parent.parent && parent.parent.type === "mrow" && + parent.parent.data.length === 1)) {parent = parent.parent} + var isTop = (parent.type === "math" || parent.type === "mtd"); parent.isMultiline = true; + for (j = 0, M = split.length-1; j < M; j++) { + for (i = 0, m = stretchy[j].length; i < m; i++) {stretchy[j][i].HTMLstretchV(box[j],H,D)} + if (stretchy[j].length) {this.HTMLcomputeBBox(box[j],true,split[j][0],split[j+1][0])} + var values = split[j][1].getValues("indentalign","indentshift"); + values.lineleading = HTMLCSS.length2em(split[j+1][1].Get("lineleading"),.5); + // handle first/last special cases + if (j === 0) { + first = split[j+1][1].getValues("indentalignfirst","indentshiftfirst"); + values.ALIGN = first.indentalignfirst; values.SHIFT = first.indentshiftfirst; + } else if (j === M-1) { + first = split[j][1].getValues("indentalignlast","indentshiftlast"); + values.ALIGN = first.indentalignlast; values.SHIFT = first.indentshiftlast; + } + if (values.ALIGN && values.ALIGN !== MML.INDENTALIGN.INDENTALIGN) + {values.indentalign = values.ALIGN} + if (values.SHIFT && values.SHIFT !== MML.INDENTSHIFT.INDENTSHIFT) + {values.indentshift = values.SHIFT} + // + if (values.indentalign == MML.INDENTALIGN.AUTO) + {values.indentalign = (isTop ? this.displayAlign : MML.INDENTALIGN.LEFT)} + if (values.indentshift === "auto" || values.indentshift === "") + {values.indentshift = (isTop ? this.displayIndent : "0")} + values.indentshift = HTMLCSS.length2em(values.indentshift,0); + if (values.indentshift && values.indentalign !== MML.INDENTALIGN.CENTER) { + HTMLCSS.createBlank(box[j],values.indentshift,(values.indentalign !== MML.INDENTALIGN.RIGHT)); + box[j].bbox.w += values.indentshift; box[j].bbox.rw += values.indentshift; + } + HTMLCSS.alignBox(box[j],values.indentalign,y); + if (j < M-1) {y -= Math.max(LHD,box[j].bbox.d + box[j+1].bbox.h + values.lineleading)} + } + if (isTop) { + stack.style.width = "100%"; + if (parent.type === "math") {span.bbox.width = "100%"} + } + this.HTMLhandleSpace(span); + this.HTMLhandleColor(span); + span.bbox.isMultiline = true; + return span; + } + }); + + MathJax.Hub.Startup.signal.Post("HTML-CSS multiline Ready"); + MathJax.Ajax.loadComplete(HTMLCSS.autoloadDir+"/multiline.js"); + +}); + diff --git a/modules/MathJax/jax/output/HTML-CSS/blank.gif b/modules/MathJax/jax/output/HTML-CSS/blank.gif new file mode 100644 index 0000000000000000000000000000000000000000..8b27096e0ededd2581cf70db01b4d269b906c767 GIT binary patch literal 43 scmZ?wbhEHbWMp7u_`qQJ|Nnmm1_s5SEQ~;kK?g*DWEhy3To@Uw0o@4)ng9R* literal 0 HcmV?d00001 diff --git a/modules/MathJax/jax/output/HTML-CSS/config.js b/modules/MathJax/jax/output/HTML-CSS/config.js new file mode 100644 index 0000000..ccfb67b --- /dev/null +++ b/modules/MathJax/jax/output/HTML-CSS/config.js @@ -0,0 +1,143 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/config.js + * + * Initializes the HTML-CCS OutputJax (the main definition is in + * MathJax/jax/input/HTML-CSS/jax.js, which is loaded when needed). + * + * --------------------------------------------------------------------- + * + * Copyright (c) 2009-2011 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +MathJax.OutputJax["HTML-CSS"] = MathJax.OutputJax({ + id: "HTML-CSS", + version: "1.1.5", + directory: MathJax.OutputJax.directory + "/HTML-CSS", + extensionDir: MathJax.OutputJax.extensionDir + "/HTML-CSS", + autoloadDir: MathJax.OutputJax.directory + "/HTML-CSS/autoload", + fontDir: MathJax.OutputJax.directory + "/HTML-CSS/fonts", // font name added later + webfontDir: MathJax.OutputJax.fontDir + "/HTML-CSS", // font name added later + + config: { + scale: 100, minScaleAdjust: 50, + availableFonts: ["STIX","TeX"], + preferredFont: "TeX", + webFont: "TeX", + imageFont: "TeX", + undefinedFamily: "STIXGeneral,'Arial Unicode MS',serif", + + showMathMenu: true, + + styles: { + ".MathJax_Display": { + "text-align": "center", + margin: "1em 0em" + }, + + ".MathJax .merror": { + "background-color": "#FFFF88", + color: "#CC0000", + border: "1px solid #CC0000", + padding: "1px 3px", + "font-family": "serif", + "font-style": "normal", + "font-size": "90%" + }, + + ".MathJax_Preview": {color: "#888888"}, + + "#MathJax_Tooltip": { + "background-color": "InfoBackground", color: "InfoText", + border: "1px solid black", + "box-shadow": "2px 2px 5px #AAAAAA", // Opera 10.5 + "-webkit-box-shadow": "2px 2px 5px #AAAAAA", // Safari 3 and Chrome + "-moz-box-shadow": "2px 2px 5px #AAAAAA", // Forefox 3.5 + "-khtml-box-shadow": "2px 2px 5px #AAAAAA", // Konqueror + filter: "progid:DXImageTransform.Microsoft.dropshadow(OffX=2, OffY=2, Color='gray', Positive='true')", // IE + padding: "3px 4px" + } + } + + } +}); +if (MathJax.Hub.Browser.isMSIE && document.documentMode >= 9) + {delete MathJax.OutputJax["HTML-CSS"].config.styles["#MathJax_Tooltip"].filter} + +if (!MathJax.Hub.config.delayJaxRegistration) + {MathJax.OutputJax["HTML-CSS"].Register("jax/mml")} + +MathJax.Hub.Register.StartupHook("End Config",[function (HUB,HTMLCSS) { + var CONFIG = HUB.Insert({ + + // + // The minimum versions that HTML-CSS supports + // + minBrowserVersion: { + Firefox: 3.0, + Opera: 9.52, + MSIE: 6.0, + Chrome: 0.3, + Safari: 2.0, + Konqueror: 4.0 + }, + + // + // For unsupported browsers, put back these delimiters for the preview + // + inlineMathDelimiters: ['$','$'], // or ["",""] or ["\\(","\\)"] + displayMathDelimiters: ['$$','$$'], // or ["",""] or ["\\[","\\]"] + // + // For displayed math, insert
for \n? + // + multilineDisplay: true, + + // + // The function to call to display the math for unsupported browsers + // + minBrowserTranslate: function (script) { + var MJ = HUB.getJaxFor(script), text = ["[Math]"], delim; + var span = document.createElement("span",{className: "MathJax_Preview"}); + if (MJ.inputJax.id === "TeX") { + if (MJ.root.Get("displaystyle")) { + delim = CONFIG.displayMathDelimiters; + text = [delim[0]+MJ.originalText+delim[1]]; + if (CONFIG.multilineDisplay) text = text[0].split(/\n/); + } else { + delim = CONFIG.inlineMathDelimiters; + text = [delim[0]+MJ.originalText.replace(/^\s+/,"").replace(/\s+$/,"")+delim[1]]; + } + } + for (var i = 0, m = text.length; i < m; i++) { + span.appendChild(document.createTextNode(text[i])); + if (i < m-1) {span.appendChild(document.createElement("br"))} + } + script.parentNode.insertBefore(span,script); + } + + },(HUB.config["HTML-CSS"]||{})); + + if (HUB.Browser.version !== "0.0" && + !HUB.Browser.versionAtLeast(CONFIG.minBrowserVersion[HUB.Browser]||0.0)) { + HTMLCSS.Translate = CONFIG.minBrowserTranslate; + HUB.Config({showProcessingMessages: false}); + MathJax.Message.Set("Your browser does not support MathJax",null,4000); + HUB.Startup.signal.Post("MathJax not supported"); + } + +},MathJax.Hub,MathJax.OutputJax["HTML-CSS"]]); + + +MathJax.OutputJax["HTML-CSS"].loadComplete("config.js"); diff --git a/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/AlphaPresentForms.js b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/AlphaPresentForms.js new file mode 100644 index 0000000..d94ac11 --- /dev/null +++ b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/AlphaPresentForms.js @@ -0,0 +1,32 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/AlphaPresentForms.js + * + * Copyright (c) 2009-2010 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax['HTML-CSS'].FONTDATA.FONTS['STIXGeneral-bold'], + { + 0xFB00: [691,0,610,15,666], // LATIN SMALL LIGATURE FF + 0xFB01: [691,0,556,14,536], // LATIN SMALL LIGATURE FI + 0xFB02: [691,0,556,15,535], // LATIN SMALL LIGATURE FL + 0xFB03: [691,0,833,15,813], // LATIN SMALL LIGATURE FFI + 0xFB04: [691,0,833,15,812] // LATIN SMALL LIGATURE FFL + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax["HTML-CSS"].fontDir + "/General/Bold/AlphaPresentForms.js"); diff --git a/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/Arrows.js b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/Arrows.js new file mode 100644 index 0000000..1c2b68b --- /dev/null +++ b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/Arrows.js @@ -0,0 +1,109 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/Arrows.js + * + * Copyright (c) 2009-2010 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax['HTML-CSS'].FONTDATA.FONTS['STIXGeneral-bold'], + { + 0x2190: [451,-55,977,68,909], // LEFTWARDS ARROW + 0x2191: [676,170,584,94,490], // UPWARDS ARROW + 0x2192: [451,-55,977,68,909], // RIGHTWARDS ARROW + 0x2193: [676,170,584,94,490], // DOWNWARDS ARROW + 0x2194: [451,-55,977,30,948], // LEFT RIGHT ARROW + 0x2195: [736,230,584,94,490], // UP DOWN ARROW + 0x2196: [676,170,977,68,911], // NORTH WEST ARROW + 0x2197: [676,170,977,68,911], // NORTH EAST ARROW + 0x2198: [676,170,977,68,911], // SOUTH EAST ARROW + 0x2199: [676,170,977,68,911], // SOUTH WEST ARROW + 0x219A: [451,-55,977,68,909], // LEFTWARDS ARROW WITH STROKE + 0x219B: [451,-55,977,68,909], // RIGHTWARDS ARROW WITH STROKE + 0x219C: [462,-72,956,66,890], // LEFTWARDS WAVE ARROW + 0x219D: [462,-72,956,66,890], // RIGHTWARDS WAVE ARROW + 0x219E: [451,-55,977,68,909], // LEFTWARDS TWO HEADED ARROW + 0x219F: [676,165,568,86,482], // UPWARDS TWO HEADED ARROW + 0x21A0: [451,-55,977,68,909], // RIGHTWARDS TWO HEADED ARROW + 0x21A1: [676,165,568,86,482], // DOWNWARDS TWO HEADED ARROW + 0x21A2: [451,-55,977,68,909], // LEFTWARDS ARROW WITH TAIL + 0x21A3: [451,-55,977,68,909], // RIGHTWARDS ARROW WITH TAIL + 0x21A4: [451,-55,977,68,909], // LEFTWARDS ARROW FROM BAR + 0x21A5: [676,165,584,94,490], // UPWARDS ARROW FROM BAR + 0x21A6: [451,-55,977,68,909], // RIGHTWARDS ARROW FROM BAR + 0x21A7: [676,165,584,94,490], // DOWNWARDS ARROW FROM BAR + 0x21A8: [732,196,584,94,490], // UP DOWN ARROW WITH BASE + 0x21A9: [539,-55,966,66,900], // LEFTWARDS ARROW WITH HOOK + 0x21AA: [539,-55,966,66,900], // RIGHTWARDS ARROW WITH HOOK + 0x21AB: [540,6,966,66,900], // LEFTWARDS ARROW WITH LOOP + 0x21AC: [540,6,966,66,900], // RIGHTWARDS ARROW WITH LOOP + 0x21AD: [451,-55,1297,55,1242], // LEFT RIGHT WAVE ARROW + 0x21AE: [451,-55,977,30,948], // LEFT RIGHT ARROW WITH STROKE + 0x21AF: [683,154,562,68,494], // DOWNWARDS ZIGZAG ARROW + 0x21B0: [686,170,584,45,503], // UPWARDS ARROW WITH TIP LEFTWARDS + 0x21B1: [686,170,584,81,539], // UPWARDS ARROW WITH TIP RIGHTWARDS + 0x21B2: [686,170,584,45,503], // DOWNWARDS ARROW WITH TIP LEFTWARDS + 0x21B3: [686,170,584,81,539], // DOWNWARDS ARROW WITH TIP RIGHTWARDS + 0x21B4: [686,162,960,66,894], // RIGHTWARDS ARROW WITH CORNER DOWNWARDS + 0x21B5: [686,171,960,56,904], // DOWNWARDS ARROW WITH CORNER LEFTWARDS + 0x21B6: [524,0,971,66,905], // ANTICLOCKWISE TOP SEMICIRCLE ARROW + 0x21B7: [524,0,971,66,905], // CLOCKWISE TOP SEMICIRCLE ARROW + 0x21B8: [768,170,977,68,911], // NORTH WEST ARROW TO LONG BAR + 0x21B9: [618,114,977,68,909], // LEFTWARDS ARROW TO BAR OVER RIGHTWARDS ARROW TO BAR + 0x21BA: [693,127,974,105,869], // ANTICLOCKWISE OPEN CIRCLE ARROW + 0x21BB: [693,127,974,105,869], // CLOCKWISE OPEN CIRCLE ARROW + 0x21BC: [501,-209,977,66,910], // LEFTWARDS HARPOON WITH BARB UPWARDS + 0x21BD: [297,-5,977,65,909], // LEFTWARDS HARPOON WITH BARB DOWNWARDS + 0x21BE: [694,162,552,239,481], // UPWARDS HARPOON WITH BARB RIGHTWARDS + 0x21BF: [694,162,352,71,313], // UPWARDS HARPOON WITH BARB LEFTWARDS + 0x21C0: [501,-209,977,66,910], // RIGHTWARDS HARPOON WITH BARB UPWARDS + 0x21C1: [297,-5,977,66,910], // RIGHTWARDS HARPOON WITH BARB DOWNWARDS + 0x21C2: [694,162,552,239,481], // DOWNWARDS HARPOON WITH BARB RIGHTWARDS + 0x21C3: [694,162,552,71,313], // DOWNWARDS HARPOON WITH BARB LEFTWARDS + 0x21C4: [618,114,977,68,909], // RIGHTWARDS ARROW OVER LEFTWARDS ARROW + 0x21C5: [676,165,864,66,798], // UPWARDS ARROW LEFTWARDS OF DOWNWARDS ARROW + 0x21C6: [618,114,977,68,909], // LEFTWARDS ARROW OVER RIGHTWARDS ARROW + 0x21C7: [618,114,977,68,909], // LEFTWARDS PAIRED ARROWS + 0x21C8: [676,165,864,66,798], // UPWARDS PAIRED ARROWS + 0x21C9: [618,114,977,68,909], // RIGHTWARDS PAIRED ARROWS + 0x21CA: [676,165,864,66,798], // DOWNWARDS PAIRED ARROWS + 0x21CB: [571,21,977,66,910], // LEFTWARDS HARPOON OVER RIGHTWARDS HARPOON + 0x21CC: [571,21,977,66,910], // RIGHTWARDS HARPOON OVER LEFTWARDS HARPOON + 0x21CD: [570,64,977,68,909], // LEFTWARDS DOUBLE ARROW WITH STROKE + 0x21CE: [570,64,1240,50,1190], // LEFT RIGHT DOUBLE ARROW WITH STROKE + 0x21CF: [570,64,977,68,909], // RIGHTWARDS DOUBLE ARROW WITH STROKE + 0x21D0: [570,64,977,68,909], // LEFTWARDS DOUBLE ARROW + 0x21D1: [676,170,714,40,674], // UPWARDS DOUBLE ARROW + 0x21D2: [570,64,977,68,909], // RIGHTWARDS DOUBLE ARROW + 0x21D3: [676,170,714,40,674], // DOWNWARDS DOUBLE ARROW + 0x21D4: [570,64,1240,50,1190], // LEFT RIGHT DOUBLE ARROW + 0x21D5: [736,230,714,40,674], // UP DOWN DOUBLE ARROW + 0x21D6: [662,156,926,54,872], // NORTH WEST DOUBLE ARROW + 0x21D7: [662,156,926,54,872], // NORTH EAST DOUBLE ARROW + 0x21D8: [662,156,926,54,872], // SOUTH EAST DOUBLE ARROW + 0x21D9: [662,156,926,54,872], // SOUTH WEST DOUBLE ARROW + 0x21DC: [451,-55,977,62,914], // LEFTWARDS SQUIGGLE ARROW + 0x21DD: [451,-55,977,62,914], // RIGHTWARDS SQUIGGLE ARROW + 0x21E6: [551,45,926,60,866], // LEFTWARDS WHITE ARROW + 0x21E7: [662,156,685,45,641], // UPWARDS WHITE ARROW + 0x21E8: [551,45,926,60,866], // RIGHTWARDS WHITE ARROW + 0x21E9: [662,156,685,45,641], // DOWNWARDS WHITE ARROW + 0x21EA: [705,201,685,45,641], // UPWARDS WHITE ARROW FROM BAR + 0x21F5: [676,165,864,66,798] // DOWNWARDS ARROW LEFTWARDS OF UPWARDS ARROW + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax["HTML-CSS"].fontDir + "/General/Bold/Arrows.js"); diff --git a/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/BoldFraktur.js b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/BoldFraktur.js new file mode 100644 index 0000000..b69cd2a --- /dev/null +++ b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/BoldFraktur.js @@ -0,0 +1,79 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/BoldFraktur.js + * + * Copyright (c) 2009-2010 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax['HTML-CSS'].FONTDATA.FONTS['STIXGeneral-bold'], + { + 0x1D56C: [701,25,856,50,805], // MATHEMATICAL BOLD FRAKTUR CAPITAL A + 0x1D56D: [701,19,849,50,794], // MATHEMATICAL BOLD FRAKTUR CAPITAL B + 0x1D56E: [701,19,773,54,731], // MATHEMATICAL BOLD FRAKTUR CAPITAL C + 0x1D56F: [701,19,891,54,836], // MATHEMATICAL BOLD FRAKTUR CAPITAL D + 0x1D570: [701,19,788,54,731], // MATHEMATICAL BOLD FRAKTUR CAPITAL E + 0x1D571: [701,205,803,54,748], // MATHEMATICAL BOLD FRAKTUR CAPITAL F + 0x1D572: [701,19,833,54,781], // MATHEMATICAL BOLD FRAKTUR CAPITAL G + 0x1D573: [701,205,843,42,795], // MATHEMATICAL BOLD FRAKTUR CAPITAL H + 0x1D574: [701,25,790,54,735], // MATHEMATICAL BOLD FRAKTUR CAPITAL I + 0x1D575: [701,205,803,54,748], // MATHEMATICAL BOLD FRAKTUR CAPITAL J + 0x1D576: [701,25,864,42,814], // MATHEMATICAL BOLD FRAKTUR CAPITAL K + 0x1D577: [701,25,699,51,645], // MATHEMATICAL BOLD FRAKTUR CAPITAL L + 0x1D578: [701,25,1133,50,1081], // MATHEMATICAL BOLD FRAKTUR CAPITAL M + 0x1D579: [701,25,862,50,810], // MATHEMATICAL BOLD FRAKTUR CAPITAL N + 0x1D57A: [701,19,909,54,854], // MATHEMATICAL BOLD FRAKTUR CAPITAL O + 0x1D57B: [701,205,850,50,795], // MATHEMATICAL BOLD FRAKTUR CAPITAL P + 0x1D57C: [701,59,930,54,902], // MATHEMATICAL BOLD FRAKTUR CAPITAL Q + 0x1D57D: [701,25,884,50,841], // MATHEMATICAL BOLD FRAKTUR CAPITAL R + 0x1D57E: [701,19,852,54,802], // MATHEMATICAL BOLD FRAKTUR CAPITAL S + 0x1D57F: [701,25,793,54,740], // MATHEMATICAL BOLD FRAKTUR CAPITAL T + 0x1D580: [701,25,860,54,809], // MATHEMATICAL BOLD FRAKTUR CAPITAL U + 0x1D581: [701,19,855,50,800], // MATHEMATICAL BOLD FRAKTUR CAPITAL V + 0x1D582: [701,19,1121,50,1066], // MATHEMATICAL BOLD FRAKTUR CAPITAL W + 0x1D583: [701,25,819,50,775], // MATHEMATICAL BOLD FRAKTUR CAPITAL X + 0x1D584: [701,205,837,50,782], // MATHEMATICAL BOLD FRAKTUR CAPITAL Y + 0x1D585: [701,195,755,44,703], // MATHEMATICAL BOLD FRAKTUR CAPITAL Z + 0x1D586: [475,24,600,55,545], // MATHEMATICAL BOLD FRAKTUR SMALL A + 0x1D587: [695,24,559,45,504], // MATHEMATICAL BOLD FRAKTUR SMALL B + 0x1D588: [475,24,464,55,412], // MATHEMATICAL BOLD FRAKTUR SMALL C + 0x1D589: [694,25,557,48,502], // MATHEMATICAL BOLD FRAKTUR SMALL D + 0x1D58A: [475,24,476,55,427], // MATHEMATICAL BOLD FRAKTUR SMALL E + 0x1D58B: [700,214,370,33,352], // MATHEMATICAL BOLD FRAKTUR SMALL F + 0x1D58C: [475,219,566,55,506], // MATHEMATICAL BOLD FRAKTUR SMALL G + 0x1D58D: [695,219,576,45,516], // MATHEMATICAL BOLD FRAKTUR SMALL H + 0x1D58E: [697,24,429,35,379], // MATHEMATICAL BOLD FRAKTUR SMALL I + 0x1D58F: [697,219,389,40,337], // MATHEMATICAL BOLD FRAKTUR SMALL J + 0x1D590: [695,24,456,48,402], // MATHEMATICAL BOLD FRAKTUR SMALL K + 0x1D591: [695,24,433,45,379], // MATHEMATICAL BOLD FRAKTUR SMALL L + 0x1D592: [475,24,984,40,932], // MATHEMATICAL BOLD FRAKTUR SMALL M + 0x1D593: [475,24,696,40,644], // MATHEMATICAL BOLD FRAKTUR SMALL N + 0x1D594: [475,24,554,45,499], // MATHEMATICAL BOLD FRAKTUR SMALL O + 0x1D595: [593,219,640,36,585], // MATHEMATICAL BOLD FRAKTUR SMALL P + 0x1D596: [475,219,574,55,522], // MATHEMATICAL BOLD FRAKTUR SMALL Q + 0x1D597: [475,24,525,40,493], // MATHEMATICAL BOLD FRAKTUR SMALL R + 0x1D598: [643,31,557,52,505], // MATHEMATICAL BOLD FRAKTUR SMALL S + 0x1D599: [656,23,438,45,378], // MATHEMATICAL BOLD FRAKTUR SMALL T + 0x1D59A: [475,24,681,35,629], // MATHEMATICAL BOLD FRAKTUR SMALL U + 0x1D59B: [593,24,573,55,526], // MATHEMATICAL BOLD FRAKTUR SMALL V + 0x1D59C: [593,24,850,55,795], // MATHEMATICAL BOLD FRAKTUR SMALL W + 0x1D59D: [475,209,521,50,489], // MATHEMATICAL BOLD FRAKTUR SMALL X + 0x1D59E: [593,219,596,55,536], // MATHEMATICAL BOLD FRAKTUR SMALL Y + 0x1D59F: [475,219,484,36,437] // MATHEMATICAL BOLD FRAKTUR SMALL Z + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax["HTML-CSS"].fontDir + "/General/Bold/BoldFraktur.js"); diff --git a/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/BoxDrawing.js b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/BoxDrawing.js new file mode 100644 index 0000000..0d47564 --- /dev/null +++ b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/BoxDrawing.js @@ -0,0 +1,67 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/BoxDrawing.js + * + * Copyright (c) 2009-2010 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax['HTML-CSS'].FONTDATA.FONTS['STIXGeneral-bold'], + { + 0x2500: [340,-267,708,-11,719], // BOX DRAWINGS LIGHT HORIZONTAL + 0x2502: [910,303,696,312,385], // BOX DRAWINGS LIGHT VERTICAL + 0x250C: [340,303,708,318,720], // BOX DRAWINGS LIGHT DOWN AND RIGHT + 0x2510: [340,303,708,-11,390], // BOX DRAWINGS LIGHT DOWN AND LEFT + 0x2514: [910,-267,708,318,720], // BOX DRAWINGS LIGHT UP AND RIGHT + 0x2518: [910,-267,708,-11,390], // BOX DRAWINGS LIGHT UP AND LEFT + 0x251C: [910,303,708,318,720], // BOX DRAWINGS LIGHT VERTICAL AND RIGHT + 0x2524: [910,303,708,-11,390], // BOX DRAWINGS LIGHT VERTICAL AND LEFT + 0x252C: [340,303,708,-11,719], // BOX DRAWINGS LIGHT DOWN AND HORIZONTAL + 0x2534: [910,-267,708,-11,719], // BOX DRAWINGS LIGHT UP AND HORIZONTAL + 0x253C: [910,303,708,-11,719], // BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL + 0x2550: [433,-174,708,-11,719], // BOX DRAWINGS DOUBLE HORIZONTAL + 0x2551: [910,303,708,225,484], // BOX DRAWINGS DOUBLE VERTICAL + 0x2552: [433,303,708,318,720], // BOX DRAWINGS DOWN SINGLE AND RIGHT DOUBLE + 0x2553: [340,303,708,225,720], // BOX DRAWINGS DOWN DOUBLE AND RIGHT SINGLE + 0x2554: [433,303,708,225,719], // BOX DRAWINGS DOUBLE DOWN AND RIGHT + 0x2555: [433,303,708,-11,390], // BOX DRAWINGS DOWN SINGLE AND LEFT DOUBLE + 0x2556: [340,303,708,-11,483], // BOX DRAWINGS DOWN DOUBLE AND LEFT SINGLE + 0x2557: [433,303,708,-11,483], // BOX DRAWINGS DOUBLE DOWN AND LEFT + 0x2558: [910,-174,708,318,720], // BOX DRAWINGS UP SINGLE AND RIGHT DOUBLE + 0x2559: [910,-267,708,225,720], // BOX DRAWINGS UP DOUBLE AND RIGHT SINGLE + 0x255A: [910,-174,708,225,719], // BOX DRAWINGS DOUBLE UP AND RIGHT + 0x255B: [910,-174,708,-11,390], // BOX DRAWINGS UP SINGLE AND LEFT DOUBLE + 0x255C: [910,-267,708,-11,483], // BOX DRAWINGS UP DOUBLE AND LEFT SINGLE + 0x255D: [910,-174,708,-11,483], // BOX DRAWINGS DOUBLE UP AND LEFT + 0x255E: [910,303,708,318,720], // BOX DRAWINGS VERTICAL SINGLE AND RIGHT DOUBLE + 0x255F: [910,303,708,225,720], // BOX DRAWINGS VERTICAL DOUBLE AND RIGHT SINGLE + 0x2560: [910,303,708,225,720], // BOX DRAWINGS DOUBLE VERTICAL AND RIGHT + 0x2561: [910,303,708,-11,390], // BOX DRAWINGS VERTICAL SINGLE AND LEFT DOUBLE + 0x2562: [910,303,708,-11,483], // BOX DRAWINGS VERTICAL DOUBLE AND LEFT SINGLE + 0x2563: [910,303,708,-11,483], // BOX DRAWINGS DOUBLE VERTICAL AND LEFT + 0x2564: [433,303,708,-11,719], // BOX DRAWINGS DOWN SINGLE AND HORIZONTAL DOUBLE + 0x2565: [340,303,708,-11,719], // BOX DRAWINGS DOWN DOUBLE AND HORIZONTAL SINGLE + 0x2566: [433,303,708,-11,719], // BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL + 0x2567: [910,-174,708,-11,719], // BOX DRAWINGS UP SINGLE AND HORIZONTAL DOUBLE + 0x2568: [910,-267,708,-11,719], // BOX DRAWINGS UP DOUBLE AND HORIZONTAL SINGLE + 0x2569: [910,-174,708,-11,719], // BOX DRAWINGS DOUBLE UP AND HORIZONTAL + 0x256A: [910,303,708,-11,719], // BOX DRAWINGS VERTICAL SINGLE AND HORIZONTAL DOUBLE + 0x256B: [910,303,708,-11,719], // BOX DRAWINGS VERTICAL DOUBLE AND HORIZONTAL SINGLE + 0x256C: [910,303,708,-11,719] // BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax["HTML-CSS"].fontDir + "/General/Bold/BoxDrawing.js"); diff --git a/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/CombDiacritMarks.js b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/CombDiacritMarks.js new file mode 100644 index 0000000..260f706 --- /dev/null +++ b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/CombDiacritMarks.js @@ -0,0 +1,98 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/CombDiacritMarks.js + * + * Copyright (c) 2009-2010 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax['HTML-CSS'].FONTDATA.FONTS['STIXGeneral-bold'], + { + 0x300: [713,-528,0,-369,-131], // COMBINING GRAVE ACCENT + 0x301: [713,-528,0,-369,-131], // COMBINING ACUTE ACCENT + 0x302: [704,-528,0,-418,-81], // COMBINING CIRCUMFLEX ACCENT + 0x303: [674,-547,0,-432,-67], // COMBINING TILDE + 0x304: [637,-565,0,-415,-85], // COMBINING MACRON + 0x305: [838,-788,0,-500,0], // COMBINING OVERLINE + 0x306: [691,-528,0,-401,-98], // COMBINING BREVE + 0x307: [666,-537,0,-314,-185], // COMBINING DOT ABOVE + 0x308: [666,-537,0,-419,-80], // COMBINING DIAERESIS + 0x309: [751,-491,0,-336,-131], // COMBINING HOOK ABOVE + 0x30A: [750,-537,0,-356,-143], // COMBINING RING ABOVE + 0x30B: [713,-528,0,-469,-31], // COMBINING DOUBLE ACUTE ACCENT + 0x30C: [704,-528,0,-418,-81], // COMBINING CARON + 0x30D: [730,-530,0,-277,-211], // COMBINING VERTICAL LINE ABOVE + 0x30E: [730,-530,0,-358,-142], // COMBINING DOUBLE VERTICAL LINE ABOVE + 0x30F: [713,-528,0,-469,-31], // COMBINING DOUBLE GRAVE ACCENT + 0x310: [828,-528,0,-401,-98], // COMBINING CANDRABINDU + 0x311: [691,-528,0,-401,-98], // COMBINING INVERTED BREVE + 0x312: [867,-532,0,-342,-158], // COMBINING TURNED COMMA ABOVE + 0x313: [867,-532,0,-342,-158], // COMBINING COMMA ABOVE + 0x314: [867,-532,0,-342,-158], // COMBINING REVERSED COMMA ABOVE + 0x315: [867,-532,0,-116,68], // COMBINING COMMA ABOVE RIGHT + 0x316: [-70,255,0,-369,-131], // COMBINING GRAVE ACCENT BELOW + 0x317: [-70,255,0,-369,-131], // COMBINING ACUTE ACCENT BELOW + 0x318: [-58,288,0,-425,-223], // COMBINING LEFT TACK BELOW + 0x319: [-58,288,0,-288,-86], // COMBINING RIGHT TACK BELOW + 0x31A: [752,-531,0,-410,-93], // COMBINING LEFT ANGLE ABOVE + 0x31B: [505,-352,0,-62,66], // COMBINING HORN + 0x31C: [-33,313,0,-375,-190], // COMBINING LEFT HALF RING BELOW + 0x31D: [-70,272,0,-365,-135], // COMBINING UP TACK BELOW + 0x31E: [-70,272,0,-365,-135], // COMBINING DOWN TACK BELOW + 0x31F: [-70,287,0,-356,-144], // COMBINING PLUS SIGN BELOW + 0x320: [-140,206,0,-356,-144], // COMBINING MINUS SIGN BELOW + 0x321: [75,287,0,-241,-22], // COMBINING PALATALIZED HOOK BELOW + 0x322: [75,287,0,-94,125], // COMBINING RETROFLEX HOOK BELOW + 0x323: [-109,238,0,-314,-185], // COMBINING DOT BELOW + 0x324: [-109,238,0,-419,-80], // COMBINING DIAERESIS BELOW + 0x325: [-66,279,0,-356,-143], // COMBINING RING BELOW + 0x326: [-88,423,0,-342,-158], // COMBINING COMMA BELOW + 0x327: [0,218,0,-363,-137], // COMBINING CEDILLA + 0x328: [44,173,0,-364,-135], // COMBINING OGONEK + 0x329: [-107,239,0,-277,-222], // COMBINING VERTICAL LINE BELOW + 0x32A: [-86,260,0,-425,-93], // COMBINING BRIDGE BELOW + 0x32B: [-104,242,0,-420,-95], // COMBINING INVERTED DOUBLE ARCH BELOW + 0x32C: [-83,259,0,-418,-81], // COMBINING CARON BELOW + 0x32D: [-85,261,0,-418,-81], // COMBINING CIRCUMFLEX ACCENT BELOW + 0x32E: [-78,241,0,-401,-98], // COMBINING BREVE BELOW + 0x32F: [-78,241,0,-401,-98], // COMBINING INVERTED BREVE BELOW + 0x330: [-108,235,0,-432,-67], // COMBINING TILDE BELOW + 0x331: [-137,209,0,-415,-85], // COMBINING MACRON BELOW + 0x332: [-137,187,0,-500,0], // COMBINING LOW LINE + 0x333: [-137,287,0,-500,0], // COMBINING DOUBLE LOW LINE + 0x334: [316,-189,0,-432,-67], // COMBINING TILDE OVERLAY + 0x335: [282,-224,0,-414,-108], // COMBINING SHORT STROKE OVERLAY + 0x336: [282,-224,0,-510,-10], // COMBINING LONG STROKE OVERLAY + 0x337: [580,74,0,-410,-43], // COMBINING SHORT SOLIDUS OVERLAY + 0x338: [662,156,0,-410,31], // COMBINING LONG SOLIDUS OVERLAY + 0x339: [-33,313,0,-375,-190], // COMBINING RIGHT HALF RING BELOW + 0x33A: [-71,245,0,-425,-93], // COMBINING INVERTED BRIDGE BELOW + 0x33B: [-70,264,0,-353,-167], // COMBINING SQUARE BELOW + 0x33C: [-89,234,0,-410,-109], // COMBINING SEAGULL BELOW + 0x33D: [719,-520,0,-350,-150], // COMBINING X ABOVE + 0x33E: [881,-516,0,-314,-187], // COMBINING VERTICAL TILDE + 0x33F: [938,-788,0,-500,0], // COMBINING DOUBLE OVERLINE + 0x346: [717,-544,0,-410,-107], // COMBINING BRIDGE ABOVE + 0x34C: [837,-547,0,-446,-81], // COMBINING ALMOST EQUAL TO ABOVE + 0x359: [-66,368,0,-359,-89], // COMBINING ASTERISK BELOW + 0x35C: [-79,242,0,-401,300], // COMBINING DOUBLE BREVE BELOW + 0x360: [674,-529,0,-432,398], // COMBINING DOUBLE TILDE + 0x361: [691,-534,0,-403,265], // COMBINING DOUBLE INVERTED BREVE + 0x362: [-54,293,0,-432,377] // COMBINING DOUBLE RIGHTWARDS ARROW BELOW + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax["HTML-CSS"].fontDir + "/General/Bold/CombDiacritMarks.js"); diff --git a/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/CombDiactForSymbols.js b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/CombDiactForSymbols.js new file mode 100644 index 0000000..7a2cd25 --- /dev/null +++ b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/CombDiactForSymbols.js @@ -0,0 +1,49 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/CombDiactForSymbols.js + * + * Copyright (c) 2009-2010 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax['HTML-CSS'].FONTDATA.FONTS['STIXGeneral-bold'], + { + 0x20D0: [846,-637,0,-470,14], // COMBINING LEFT HARPOON ABOVE + 0x20D1: [846,-637,0,-470,14], // COMBINING RIGHT HARPOON ABOVE + 0x20D2: [662,156,0,-298,-223], // COMBINING LONG VERTICAL LINE OVERLAY + 0x20D6: [846,-508,0,-500,-16], // COMBINING LEFT ARROW ABOVE + 0x20D7: [846,-508,0,-470,14], // COMBINING RIGHT ARROW ABOVE + 0x20DB: [666,-537,0,-512,37], // COMBINING THREE DOTS ABOVE + 0x20DC: [666,-537,0,-627,132], // COMBINING FOUR DOTS ABOVE + 0x20DD: [760,254,0,-753,256], // COMBINING ENCLOSING CIRCLE + 0x20E1: [846,-508,0,-515,79], // COMBINING LEFT RIGHT ARROW ABOVE + 0x20E4: [1055,169,0,-998,519], // COMBINING ENCLOSING UPWARD POINTING TRIANGLE + 0x20E5: [662,155,0,-470,12], // COMBINING REVERSE SOLIDUS OVERLAY + 0x20E6: [662,156,0,-390,-111], // COMBINING DOUBLE VERTICAL STROKE OVERLAY + 0x20E7: [760,172,0,-643,200], // COMBINING ANNUITY SYMBOL + 0x20E8: [-109,238,0,-512,37], // COMBINING TRIPLE UNDERDOT + 0x20E9: [717,-544,0,-510,54], // COMBINING WIDE BRIDGE ABOVE + 0x20EA: [441,-65,0,-688,148], // COMBINING LEFTWARDS ARROW OVERLAY + 0x20EB: [775,235,0,-505,208], // COMBINING LONG DOUBLE SOLIDUS OVERLAY + 0x20EC: [-166,375,0,-470,14], // COMBINING RIGHTWARDS HARPOON WITH BARB DOWNWARDS + 0x20ED: [-166,375,0,-470,14], // COMBINING LEFTWARDS HARPOON WITH BARB DOWNWARDS + 0x20EE: [-35,373,0,-490,-6], // COMBINING LEFT ARROW BELOW + 0x20EF: [-35,373,0,-470,14], // COMBINING RIGHT ARROW BELOW + 0x20F0: [845,-543,0,-385,-115] // COMBINING ASTERISK ABOVE + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax["HTML-CSS"].fontDir + "/General/Bold/CombDiactForSymbols.js"); diff --git a/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/ControlPictures.js b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/ControlPictures.js new file mode 100644 index 0000000..15e6a89 --- /dev/null +++ b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/ControlPictures.js @@ -0,0 +1,28 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/ControlPictures.js + * + * Copyright (c) 2009-2010 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax['HTML-CSS'].FONTDATA.FONTS['STIXGeneral-bold'], + { + 0x2423: [31,120,500,40,460] // stix-round space indicator + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax["HTML-CSS"].fontDir + "/General/Bold/ControlPictures.js"); diff --git a/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/CurrencySymbols.js b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/CurrencySymbols.js new file mode 100644 index 0000000..5fda71a --- /dev/null +++ b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/CurrencySymbols.js @@ -0,0 +1,31 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/CurrencySymbols.js + * + * Copyright (c) 2009-2010 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax['HTML-CSS'].FONTDATA.FONTS['STIXGeneral-bold'], + { + 0x20A3: [676,0,611,11,583], // FRENCH FRANC SIGN + 0x20A4: [684,16,500,21,477], // LIRA SIGN + 0x20A7: [676,14,1369,16,1341], // PESETA SIGN + 0x20AC: [672,12,500,29,478] // EURO SIGN + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax["HTML-CSS"].fontDir + "/General/Bold/CurrencySymbols.js"); diff --git a/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/Cyrillic.js b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/Cyrillic.js new file mode 100644 index 0000000..9ff9195 --- /dev/null +++ b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/Cyrillic.js @@ -0,0 +1,129 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/Cyrillic.js + * + * Copyright (c) 2009-2010 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax['HTML-CSS'].FONTDATA.FONTS['STIXGeneral-bold'], + { + 0x401: [916,0,667,16,641], // CYRILLIC CAPITAL LETTER IO + 0x402: [676,97,856,40,809], // CYRILLIC CAPITAL LETTER DJE + 0x403: [963,0,632,20,600], // CYRILLIC CAPITAL LETTER GJE + 0x404: [691,19,685,37,638], // CYRILLIC CAPITAL LETTER UKRAINIAN IE + 0x405: [692,19,556,35,513], // CYRILLIC CAPITAL LETTER DZE + 0x406: [676,0,389,20,370], // CYRILLIC CAPITAL LETTER BYELORUSSIAN-UKRAINIAN I + 0x407: [916,0,389,20,370], // CYRILLIC CAPITAL LETTER YI + 0x408: [676,96,500,3,478], // CYRILLIC CAPITAL LETTER JE + 0x409: [676,18,1005,10,958], // CYRILLIC CAPITAL LETTER LJE + 0x40A: [676,0,1054,21,1007], // CYRILLIC CAPITAL LETTER NJE + 0x40B: [676,0,883,40,868], // CYRILLIC CAPITAL LETTER TSHE + 0x40C: [923,0,759,21,741], // CYRILLIC CAPITAL LETTER KJE + 0x40E: [926,22,722,15,699], // CYRILLIC CAPITAL LETTER SHORT U + 0x40F: [676,176,770,21,753], // CYRILLIC CAPITAL LETTER DZHE + 0x410: [690,0,722,9,689], // CYRILLIC CAPITAL LETTER A + 0x411: [676,0,667,16,619], // CYRILLIC CAPITAL LETTER BE + 0x412: [676,0,667,16,619], // CYRILLIC CAPITAL LETTER VE + 0x413: [676,0,632,20,600], // CYRILLIC CAPITAL LETTER GHE + 0x414: [676,176,715,24,691], // CYRILLIC CAPITAL LETTER DE + 0x415: [676,0,667,16,641], // CYRILLIC CAPITAL LETTER IE + 0x416: [684,0,1130,32,1091], // CYRILLIC CAPITAL LETTER ZHE + 0x417: [691,19,570,22,531], // CYRILLIC CAPITAL LETTER ZE + 0x418: [676,0,778,21,759], // CYRILLIC CAPITAL LETTER I + 0x419: [926,0,778,21,759], // CYRILLIC CAPITAL LETTER SHORT I + 0x41A: [684,0,759,21,741], // CYRILLIC CAPITAL LETTER KA + 0x41B: [676,18,738,10,719], // CYRILLIC CAPITAL LETTER EL + 0x41C: [676,0,944,14,921], // CYRILLIC CAPITAL LETTER EM + 0x41D: [676,0,778,21,759], // CYRILLIC CAPITAL LETTER EN + 0x41E: [691,19,778,35,743], // CYRILLIC CAPITAL LETTER O + 0x41F: [676,0,762,13,751], // CYRILLIC CAPITAL LETTER PE + 0x420: [676,0,611,16,600], // CYRILLIC CAPITAL LETTER ER + 0x421: [691,19,709,36,674], // CYRILLIC CAPITAL LETTER ES + 0x422: [676,0,667,31,636], // CYRILLIC CAPITAL LETTER TE + 0x423: [676,22,722,15,699], // CYRILLIC CAPITAL LETTER U + 0x424: [676,0,850,25,825], // CYRILLIC CAPITAL LETTER EF + 0x425: [676,0,722,16,699], // CYRILLIC CAPITAL LETTER HA + 0x426: [676,176,770,21,753], // CYRILLIC CAPITAL LETTER TSE + 0x427: [676,0,732,7,710], // CYRILLIC CAPITAL LETTER CHE + 0x428: [676,0,1020,21,1001], // CYRILLIC CAPITAL LETTER SHA + 0x429: [676,176,1020,21,1001], // CYRILLIC CAPITAL LETTER SHCHA + 0x42A: [676,0,805,41,757], // CYRILLIC CAPITAL LETTER HARD SIGN + 0x42B: [676,0,1004,16,985], // CYRILLIC CAPITAL LETTER YERU + 0x42C: [676,0,672,19,624], // CYRILLIC CAPITAL LETTER SOFT SIGN + 0x42D: [691,19,685,37,648], // CYRILLIC CAPITAL LETTER E + 0x42E: [691,19,955,21,920], // CYRILLIC CAPITAL LETTER YU + 0x42F: [676,0,736,12,687], // CYRILLIC CAPITAL LETTER YA + 0x430: [473,14,517,42,505], // CYRILLIC SMALL LETTER A + 0x431: [691,14,500,25,476], // CYRILLIC SMALL LETTER BE + 0x432: [461,0,492,21,475], // CYRILLIC SMALL LETTER VE + 0x433: [461,0,451,21,434], // CYRILLIC SMALL LETTER GHE + 0x434: [461,143,541,19,524], // CYRILLIC SMALL LETTER DE + 0x435: [473,14,444,25,427], // CYRILLIC SMALL LETTER IE + 0x436: [467,0,762,14,748], // CYRILLIC SMALL LETTER ZHE + 0x437: [473,17,446,25,420], // CYRILLIC SMALL LETTER ZE + 0x438: [461,0,556,21,543], // CYRILLIC SMALL LETTER I + 0x439: [691,0,556,21,543], // CYRILLIC SMALL LETTER SHORT I + 0x43A: [467,0,556,22,543], // CYRILLIC SMALL LETTER KA + 0x43B: [461,11,546,11,529], // CYRILLIC SMALL LETTER EL + 0x43C: [461,0,657,20,640], // CYRILLIC SMALL LETTER EM + 0x43D: [461,0,560,21,543], // CYRILLIC SMALL LETTER EN + 0x43E: [473,14,500,25,476], // CYRILLIC SMALL LETTER O + 0x43F: [461,0,556,21,543], // CYRILLIC SMALL LETTER PE + 0x440: [473,205,556,19,524], // CYRILLIC SMALL LETTER ER + 0x441: [473,14,444,25,430], // CYRILLIC SMALL LETTER ES + 0x442: [461,0,509,18,493], // CYRILLIC SMALL LETTER TE + 0x443: [461,205,520,16,502], // CYRILLIC SMALL LETTER U + 0x444: [676,205,726,31,693], // CYRILLIC SMALL LETTER EF + 0x445: [461,0,500,12,484], // CYRILLIC SMALL LETTER HA + 0x446: [461,143,556,21,543], // CYRILLIC SMALL LETTER TSE + 0x447: [461,0,559,20,542], // CYRILLIC SMALL LETTER CHE + 0x448: [461,0,841,21,824], // CYRILLIC SMALL LETTER SHA + 0x449: [461,143,841,21,824], // CYRILLIC SMALL LETTER SHCHA + 0x44A: [461,0,607,15,592], // CYRILLIC SMALL LETTER HARD SIGN + 0x44B: [461,0,759,22,741], // CYRILLIC SMALL LETTER YERU + 0x44C: [461,0,498,21,483], // CYRILLIC SMALL LETTER SOFT SIGN + 0x44D: [473,14,453,24,429], // CYRILLIC SMALL LETTER E + 0x44E: [473,14,785,21,761], // CYRILLIC SMALL LETTER YU + 0x44F: [461,0,526,11,509], // CYRILLIC SMALL LETTER YA + 0x451: [666,14,444,25,427], // CYRILLIC SMALL LETTER IO + 0x452: [676,205,556,15,485], // CYRILLIC SMALL LETTER DJE + 0x453: [713,0,451,21,434], // CYRILLIC SMALL LETTER GJE + 0x454: [473,14,453,24,429], // CYRILLIC SMALL LETTER UKRAINIAN IE + 0x455: [473,14,389,25,361], // CYRILLIC SMALL LETTER DZE + 0x456: [691,0,278,15,256], // CYRILLIC SMALL LETTER BYELORUSSIAN-UKRAINIAN I + 0x457: [666,0,278,-30,309], // CYRILLIC SMALL LETTER YI + 0x458: [691,203,333,-57,263], // CYRILLIC SMALL LETTER JE + 0x459: [461,11,760,11,745], // CYRILLIC SMALL LETTER LJE + 0x45A: [461,0,775,21,760], // CYRILLIC SMALL LETTER NJE + 0x45B: [676,0,556,15,534], // CYRILLIC SMALL LETTER TSHE + 0x45C: [713,0,556,22,543], // CYRILLIC SMALL LETTER KJE + 0x45E: [691,205,500,16,502], // CYRILLIC SMALL LETTER SHORT U + 0x45F: [461,143,556,21,543], // CYRILLIC SMALL LETTER DZHE + 0x462: [676,0,793,31,745], // CYRILLIC CAPITAL LETTER YAT + 0x463: [676,0,602,15,587], // CYRILLIC SMALL LETTER YAT + 0x46A: [676,0,1123,30,1088], // CYRILLIC CAPITAL LETTER BIG YUS + 0x46B: [461,0,762,14,748], // CYRILLIC SMALL LETTER BIG YUS + 0x472: [691,19,778,35,743], // CYRILLIC CAPITAL LETTER FITA + 0x473: [473,14,500,25,476], // CYRILLIC SMALL LETTER FITA + 0x474: [691,18,793,16,778], // CYRILLIC CAPITAL LETTER IZHITSA + 0x475: [470,14,559,21,550], // CYRILLIC SMALL LETTER IZHITSA + 0x490: [833,0,626,14,594], // CYRILLIC CAPITAL LETTER GHE WITH UPTURN + 0x491: [602,0,451,21,434] // CYRILLIC SMALL LETTER GHE WITH UPTURN + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax["HTML-CSS"].fontDir + "/General/Bold/Cyrillic.js"); diff --git a/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/EnclosedAlphanum.js b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/EnclosedAlphanum.js new file mode 100644 index 0000000..d167990 --- /dev/null +++ b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/EnclosedAlphanum.js @@ -0,0 +1,89 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/EnclosedAlphanum.js + * + * Copyright (c) 2009-2010 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax['HTML-CSS'].FONTDATA.FONTS['STIXGeneral-bold'], + { + 0x2460: [690,19,695,0,695], // CIRCLED DIGIT ONE + 0x2461: [690,19,695,0,695], // CIRCLED DIGIT TWO + 0x2462: [690,19,695,0,695], // CIRCLED DIGIT THREE + 0x2463: [690,19,695,0,695], // CIRCLED DIGIT FOUR + 0x2464: [690,19,695,0,695], // CIRCLED DIGIT FIVE + 0x2465: [690,19,695,0,695], // CIRCLED DIGIT SIX + 0x2466: [690,19,695,0,695], // CIRCLED DIGIT SEVEN + 0x2467: [690,19,695,0,695], // CIRCLED DIGIT EIGHT + 0x2468: [690,19,695,0,695], // CIRCLED DIGIT NINE + 0x24B6: [690,19,695,0,695], // CIRCLED LATIN CAPITAL LETTER A + 0x24B7: [690,19,695,0,695], // CIRCLED LATIN CAPITAL LETTER B + 0x24B8: [690,19,695,0,695], // CIRCLED LATIN CAPITAL LETTER C + 0x24B9: [690,19,695,0,695], // CIRCLED LATIN CAPITAL LETTER D + 0x24BA: [690,19,695,0,695], // CIRCLED LATIN CAPITAL LETTER E + 0x24BB: [690,19,695,0,695], // CIRCLED LATIN CAPITAL LETTER F + 0x24BC: [690,19,695,0,695], // CIRCLED LATIN CAPITAL LETTER G + 0x24BD: [690,19,695,0,695], // CIRCLED LATIN CAPITAL LETTER H + 0x24BE: [690,19,695,0,695], // CIRCLED LATIN CAPITAL LETTER I + 0x24BF: [690,19,695,0,695], // CIRCLED LATIN CAPITAL LETTER J + 0x24C0: [690,19,695,0,695], // CIRCLED LATIN CAPITAL LETTER K + 0x24C1: [690,19,695,0,695], // CIRCLED LATIN CAPITAL LETTER L + 0x24C2: [690,19,695,0,695], // CIRCLED LATIN CAPITAL LETTER M + 0x24C3: [690,19,695,0,695], // CIRCLED LATIN CAPITAL LETTER N + 0x24C4: [690,19,695,0,695], // CIRCLED LATIN CAPITAL LETTER O + 0x24C5: [690,19,695,0,695], // CIRCLED LATIN CAPITAL LETTER P + 0x24C6: [690,19,695,0,695], // CIRCLED LATIN CAPITAL LETTER Q + 0x24C7: [690,19,695,0,695], // CIRCLED LATIN CAPITAL LETTER R + 0x24C8: [690,19,695,0,695], // CIRCLED LATIN CAPITAL LETTER S + 0x24C9: [690,19,695,0,695], // CIRCLED LATIN CAPITAL LETTER T + 0x24CA: [690,19,695,0,695], // CIRCLED LATIN CAPITAL LETTER U + 0x24CB: [690,19,695,0,695], // CIRCLED LATIN CAPITAL LETTER V + 0x24CC: [690,19,695,0,695], // CIRCLED LATIN CAPITAL LETTER W + 0x24CD: [690,19,695,0,695], // CIRCLED LATIN CAPITAL LETTER X + 0x24CE: [690,19,695,0,695], // CIRCLED LATIN CAPITAL LETTER Y + 0x24CF: [690,19,695,0,695], // CIRCLED LATIN CAPITAL LETTER Z + 0x24D0: [690,19,695,0,695], // CIRCLED LATIN SMALL LETTER A + 0x24D1: [690,19,695,0,695], // CIRCLED LATIN SMALL LETTER B + 0x24D2: [690,19,695,0,695], // CIRCLED LATIN SMALL LETTER C + 0x24D3: [690,19,695,0,695], // CIRCLED LATIN SMALL LETTER D + 0x24D4: [690,19,695,0,695], // CIRCLED LATIN SMALL LETTER E + 0x24D5: [690,19,695,0,695], // CIRCLED LATIN SMALL LETTER F + 0x24D6: [690,19,695,0,695], // CIRCLED LATIN SMALL LETTER G + 0x24D7: [690,19,695,0,695], // CIRCLED LATIN SMALL LETTER H + 0x24D8: [690,19,695,0,695], // CIRCLED LATIN SMALL LETTER I + 0x24D9: [690,19,695,0,695], // CIRCLED LATIN SMALL LETTER J + 0x24DA: [690,19,695,0,695], // CIRCLED LATIN SMALL LETTER K + 0x24DB: [690,19,695,0,695], // CIRCLED LATIN SMALL LETTER L + 0x24DC: [690,19,695,0,695], // CIRCLED LATIN SMALL LETTER M + 0x24DD: [690,19,695,0,695], // CIRCLED LATIN SMALL LETTER N + 0x24DE: [690,19,695,0,695], // CIRCLED LATIN SMALL LETTER O + 0x24DF: [690,19,695,0,695], // CIRCLED LATIN SMALL LETTER P + 0x24E0: [690,19,695,0,695], // CIRCLED LATIN SMALL LETTER Q + 0x24E1: [690,19,695,0,695], // CIRCLED LATIN SMALL LETTER R + 0x24E2: [690,19,695,0,695], // CIRCLED LATIN SMALL LETTER S + 0x24E3: [690,19,695,0,695], // CIRCLED LATIN SMALL LETTER T + 0x24E4: [690,19,695,0,695], // CIRCLED LATIN SMALL LETTER U + 0x24E5: [690,19,695,0,695], // CIRCLED LATIN SMALL LETTER V + 0x24E6: [690,19,695,0,695], // CIRCLED LATIN SMALL LETTER W + 0x24E7: [690,19,695,0,695], // CIRCLED LATIN SMALL LETTER X + 0x24E8: [690,19,695,0,695], // CIRCLED LATIN SMALL LETTER Y + 0x24E9: [690,19,695,0,695], // CIRCLED LATIN SMALL LETTER Z + 0x24EA: [690,19,695,0,695] // CIRCLED DIGIT ZERO + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax["HTML-CSS"].fontDir + "/General/Bold/EnclosedAlphanum.js"); diff --git a/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/GeneralPunctuation.js b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/GeneralPunctuation.js new file mode 100644 index 0000000..1f2c3b6 --- /dev/null +++ b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/GeneralPunctuation.js @@ -0,0 +1,67 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/GeneralPunctuation.js + * + * Copyright (c) 2009-2010 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax['HTML-CSS'].FONTDATA.FONTS['STIXGeneral-bold'], + { + 0x2010: [287,-171,333,44,287], // HYPHEN + 0x2011: [287,-171,333,44,287], // NON-BREAKING HYPHEN + 0x2012: [287,-171,500,0,500], // FIGURE DASH + 0x2013: [271,-181,500,0,500], // EN DASH + 0x2014: [271,-181,1000,0,1000], // EM DASH + 0x2015: [271,-181,2000,0,2000], // HORIZONTAL BAR + 0x2017: [-137,287,520,10,510], // DOUBLE LOW LINE + 0x2018: [691,-356,333,70,254], // LEFT SINGLE QUOTATION MARK + 0x2019: [691,-356,333,79,263], // RIGHT SINGLE QUOTATION MARK + 0x201A: [155,180,333,79,263], // SINGLE LOW-9 QUOTATION MARK + 0x201B: [691,-356,333,79,263], // SINGLE HIGH-REVERSED-9 QUOTATION MARK + 0x201C: [691,-356,500,32,486], // LEFT DOUBLE QUOTATION MARK + 0x201D: [691,-356,500,14,468], // RIGHT DOUBLE QUOTATION MARK + 0x201E: [155,180,500,14,468], // DOUBLE LOW-9 QUOTATION MARK + 0x201F: [691,-356,500,14,468], // DOUBLE HIGH-REVERSED-9 QUOTATION MARK + 0x2020: [691,134,500,47,453], // DAGGER + 0x2021: [691,132,500,45,456], // DOUBLE DAGGER + 0x2022: [462,-42,560,70,490], // BULLET + 0x2025: [156,13,666,82,584], // TWO DOT LEADER + 0x2026: [156,13,1000,82,917], // HORIZONTAL ELLIPSIS + 0x2030: [706,29,1110,61,1049], // PER MILLE SIGN + 0x2031: [706,29,1472,61,1411], // PER TEN THOUSAND SIGN + 0x2032: [713,-438,310,75,235], // PRIME + 0x2033: [713,-438,467,75,392], // DOUBLE PRIME + 0x2034: [713,-438,625,75,550], // TRIPLE PRIME + 0x2035: [713,-438,310,75,235], // REVERSED PRIME + 0x2036: [713,-438,467,75,392], // REVERSED DOUBLE PRIME + 0x2037: [713,-438,625,75,550], // REVERSED TRIPLE PRIME + 0x2038: [117,170,584,91,497], // CARET + 0x2039: [415,-36,333,51,305], // SINGLE LEFT-POINTING ANGLE QUOTATION MARK + 0x203A: [415,-36,333,28,282], // SINGLE RIGHT-POINTING ANGLE QUOTATION MARK + 0x203C: [691,13,625,81,544], // DOUBLE EXCLAMATION MARK + 0x203E: [838,-766,500,0,500], // OVERLINE + 0x2040: [725,-508,798,79,733], // CHARACTER TIE + 0x2044: [688,12,183,-168,345], // FRACTION SLASH + 0x2047: [689,13,947,57,892], // DOUBLE QUESTION MARK + 0x204E: [236,200,500,56,448], // LOW ASTERISK + 0x204F: [472,180,333,67,251], // REVERSED SEMICOLON + 0x2051: [706,200,500,56,448], // TWO ASTERISKS ALIGNED VERTICALLY + 0x2057: [713,-438,783,75,708] // QUADRUPLE PRIME + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax["HTML-CSS"].fontDir + "/General/Bold/GeneralPunctuation.js"); diff --git a/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/GeometricShapes.js b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/GeometricShapes.js new file mode 100644 index 0000000..5c68aec --- /dev/null +++ b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/GeometricShapes.js @@ -0,0 +1,33 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/GeometricShapes.js + * + * Copyright (c) 2009-2010 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax['HTML-CSS'].FONTDATA.FONTS['STIXGeneral-bold'], + { + 0x25B3: [811,127,1145,35,1110], // WHITE UP-POINTING TRIANGLE + 0x25B7: [791,284,1043,70,1008], // WHITE RIGHT-POINTING TRIANGLE + 0x25BD: [811,127,1145,35,1110], // WHITE DOWN-POINTING TRIANGLE + 0x25C1: [791,284,1043,35,973], // WHITE LEFT-POINTING TRIANGLE + 0x25CA: [795,289,790,45,745], // LOZENGE + 0x25EC: [811,127,1145,35,1110] // WHITE UP-POINTING TRIANGLE WITH DOT + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax["HTML-CSS"].fontDir + "/General/Bold/GeometricShapes.js"); diff --git a/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/GreekAndCoptic.js b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/GreekAndCoptic.js new file mode 100644 index 0000000..64e07fc --- /dev/null +++ b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/GreekAndCoptic.js @@ -0,0 +1,109 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/GreekAndCoptic.js + * + * Copyright (c) 2009-2010 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax['HTML-CSS'].FONTDATA.FONTS['STIXGeneral-bold'], + { + 0x37E: [472,180,333,82,266], // GREEK QUESTION MARK + 0x384: [692,-528,300,118,263], // GREEK TONOS + 0x385: [692,-528,390,-2,392], // GREEK DIALYTIKA TONOS + 0x386: [700,0,722,9,689], // GREEK CAPITAL LETTER ALPHA WITH TONOS + 0x387: [472,-303,333,82,251], // GREEK ANO TELEIA + 0x388: [700,0,800,10,791], // GREEK CAPITAL LETTER EPSILON WITH TONOS + 0x389: [700,0,920,10,904], // GREEK CAPITAL LETTER ETA WITH TONOS + 0x38A: [700,0,530,10,516], // GREEK CAPITAL LETTER IOTA WITH TONOS + 0x38C: [700,19,778,10,743], // GREEK CAPITAL LETTER OMICRON WITH TONOS + 0x38E: [700,0,860,10,846], // GREEK CAPITAL LETTER UPSILON WITH TONOS + 0x38F: [700,0,780,10,761], // GREEK CAPITAL LETTER OMEGA WITH TONOS + 0x390: [692,14,390,-2,392], // GREEK SMALL LETTER IOTA WITH DIALYTIKA AND TONOS + 0x391: [690,0,722,9,689], // GREEK CAPITAL LETTER ALPHA + 0x392: [676,0,667,16,619], // GREEK CAPITAL LETTER BETA + 0x395: [676,0,667,16,641], // GREEK CAPITAL LETTER EPSILON + 0x396: [676,0,667,28,634], // GREEK CAPITAL LETTER ZETA + 0x397: [676,0,778,21,759], // GREEK CAPITAL LETTER ETA + 0x399: [676,0,389,20,370], // GREEK CAPITAL LETTER IOTA + 0x39A: [676,0,778,30,769], // GREEK CAPITAL LETTER KAPPA + 0x39C: [676,0,944,14,921], // GREEK CAPITAL LETTER MU + 0x39D: [676,18,722,16,701], // GREEK CAPITAL LETTER NU + 0x39F: [691,19,778,35,743], // GREEK CAPITAL LETTER OMICRON + 0x3A1: [676,0,611,16,600], // GREEK CAPITAL LETTER RHO + 0x3A4: [676,0,667,31,636], // GREEK CAPITAL LETTER TAU + 0x3A7: [676,0,722,16,699], // GREEK CAPITAL LETTER CHI + 0x3AA: [915,0,389,20,370], // GREEK CAPITAL LETTER IOTA WITH DIALYTIKA + 0x3AB: [915,0,703,7,693], // GREEK CAPITAL LETTER UPSILON WITH DIALYTIKA + 0x3AC: [692,14,644,25,618], // GREEK SMALL LETTER ALPHA WITH TONOS + 0x3AD: [692,14,444,28,429], // GREEK SMALL LETTER EPSILON WITH TONOS + 0x3AE: [692,205,585,12,545], // GREEK SMALL LETTER ETA WITH TONOS + 0x3AF: [692,14,326,15,304], // GREEK SMALL LETTER IOTA WITH TONOS + 0x3B0: [692,14,576,12,551], // GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND TONOS + 0x3B1: [473,14,644,25,618], // GREEK SMALL LETTER ALPHA + 0x3B2: [692,205,556,45,524], // GREEK SMALL LETTER BETA + 0x3B3: [473,205,518,12,501], // GREEK SMALL LETTER GAMMA + 0x3B4: [692,14,502,26,477], // GREEK SMALL LETTER DELTA + 0x3B5: [473,14,444,28,429], // GREEK SMALL LETTER EPSILON + 0x3B6: [692,205,459,23,437], // GREEK SMALL LETTER ZETA + 0x3B7: [473,205,585,12,545], // GREEK SMALL LETTER ETA + 0x3B8: [692,14,501,25,476], // GREEK SMALL LETTER THETA + 0x3B9: [461,14,326,15,304], // GREEK SMALL LETTER IOTA + 0x3BA: [473,0,581,21,559], // GREEK SMALL LETTER KAPPA + 0x3BB: [692,18,547,19,527], // GREEK SMALL LETTER LAMDA + 0x3BC: [461,205,610,45,588], // GREEK SMALL LETTER MU + 0x3BD: [473,14,518,15,495], // GREEK SMALL LETTER NU + 0x3BE: [692,205,468,23,439], // GREEK SMALL LETTER XI + 0x3BF: [473,14,500,25,476], // GREEK SMALL LETTER OMICRON + 0x3C0: [461,18,631,20,609], // GREEK SMALL LETTER PI + 0x3C1: [473,205,547,45,515], // GREEK SMALL LETTER RHO + 0x3C2: [473,203,464,23,444], // GREEK SMALL LETTER FINAL SIGMA + 0x3C3: [461,14,568,25,529], // GREEK SMALL LETTER SIGMA + 0x3C4: [461,14,492,18,457], // GREEK SMALL LETTER TAU + 0x3C5: [473,14,576,12,551], // GREEK SMALL LETTER UPSILON + 0x3C6: [473,205,653,24,629], // GREEK SMALL LETTER PHI + 0x3C7: [473,205,612,21,586], // GREEK SMALL LETTER CHI + 0x3C8: [473,205,763,12,751], // GREEK SMALL LETTER PSI + 0x3C9: [473,14,733,26,708], // GREEK SMALL LETTER OMEGA + 0x3CA: [666,14,335,-2,337], // GREEK SMALL LETTER IOTA WITH DIALYTIKA + 0x3CB: [666,14,576,12,551], // GREEK SMALL LETTER UPSILON WITH DIALYTIKA + 0x3CC: [692,14,500,25,476], // GREEK SMALL LETTER OMICRON WITH TONOS + 0x3CD: [692,14,576,12,551], // GREEK SMALL LETTER UPSILON WITH TONOS + 0x3CE: [692,14,733,26,708], // GREEK SMALL LETTER OMEGA WITH TONOS + 0x3D0: [697,10,500,54,462], // GREEK BETA SYMBOL + 0x3D1: [692,14,647,12,620], // GREEK THETA SYMBOL + 0x3D2: [692,0,743,7,733], // GREEK UPSILON WITH HOOK SYMBOL + 0x3D5: [676,205,653,24,629], // GREEK PHI SYMBOL + 0x3D6: [461,14,864,9,851], // GREEK PI SYMBOL + 0x3D8: [691,205,778,35,743], // GREEK LETTER ARCHAIC KOPPA + 0x3D9: [473,205,500,25,476], // GREEK SMALL LETTER ARCHAIC KOPPA + 0x3DA: [691,211,680,45,645], // GREEK LETTER STIGMA + 0x3DB: [503,203,504,23,483], // GREEK SMALL LETTER STIGMA + 0x3DC: [676,0,620,16,593], // GREEK LETTER DIGAMMA + 0x3DD: [461,205,491,45,458], // GREEK SMALL LETTER DIGAMMA + 0x3DE: [797,14,757,35,715], // GREEK LETTER KOPPA + 0x3DF: [692,0,485,29,453], // GREEK SMALL LETTER KOPPA + 0x3E0: [692,205,839,33,801], // GREEK LETTER SAMPI + 0x3E1: [639,205,611,29,583], // GREEK SMALL LETTER SAMPI + 0x3F0: [473,19,563,12,546], // GREEK KAPPA SYMBOL + 0x3F1: [473,205,511,25,486], // GREEK RHO SYMBOL + 0x3F4: [691,19,778,35,743], // GREEK CAPITAL THETA SYMBOL + 0x3F5: [473,14,444,25,430], // GREEK LUNATE EPSILON SYMBOL + 0x3F6: [473,14,444,14,419] // GREEK REVERSED LUNATE EPSILON SYMBOL + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax["HTML-CSS"].fontDir + "/General/Bold/GreekAndCoptic.js"); diff --git a/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/GreekBold.js b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/GreekBold.js new file mode 100644 index 0000000..a9a5119 --- /dev/null +++ b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/GreekBold.js @@ -0,0 +1,85 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/GreekBold.js + * + * Copyright (c) 2009-2010 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax['HTML-CSS'].FONTDATA.FONTS['STIXGeneral-bold'], + { + 0x1D6A8: [690,0,735,9,689], // MATHEMATICAL BOLD CAPITAL ALPHA + 0x1D6A9: [676,0,667,16,619], // MATHEMATICAL BOLD CAPITAL BETA + 0x1D6AA: [676,0,620,16,593], // MATHEMATICAL BOLD CAPITAL GAMMA + 0x1D6AB: [690,0,691,16,656], // MATHEMATICAL BOLD CAPITAL DELTA + 0x1D6AC: [676,0,679,16,641], // MATHEMATICAL BOLD CAPITAL EPSILON + 0x1D6AD: [676,0,693,28,634], // MATHEMATICAL BOLD CAPITAL ZETA + 0x1D6AE: [676,0,810,21,759], // MATHEMATICAL BOLD CAPITAL ETA + 0x1D6AF: [692,18,778,35,743], // MATHEMATICAL BOLD CAPITAL THETA + 0x1D6B0: [676,0,421,20,370], // MATHEMATICAL BOLD CAPITAL IOTA + 0x1D6B1: [676,0,820,30,769], // MATHEMATICAL BOLD CAPITAL KAPPA + 0x1D6B2: [690,0,707,9,674], // MATHEMATICAL BOLD CAPITAL LAMDA + 0x1D6B3: [676,0,972,14,921], // MATHEMATICAL BOLD CAPITAL MU + 0x1D6B4: [676,18,722,16,701], // MATHEMATICAL BOLD CAPITAL NU + 0x1D6B5: [676,0,623,28,595], // MATHEMATICAL BOLD CAPITAL XI + 0x1D6B6: [691,19,778,35,743], // MATHEMATICAL BOLD CAPITAL OMICRON + 0x1D6B7: [676,0,780,21,759], // MATHEMATICAL BOLD CAPITAL PI + 0x1D6B8: [676,0,611,16,600], // MATHEMATICAL BOLD CAPITAL RHO + 0x1D6B9: [692,18,778,35,743], // MATHEMATICAL BOLD CAPITAL THETA SYMBOL + 0x1D6BA: [676,0,665,14,627], // MATHEMATICAL BOLD CAPITAL SIGMA + 0x1D6BB: [676,0,667,31,636], // MATHEMATICAL BOLD CAPITAL TAU + 0x1D6BC: [692,0,722,3,699], // MATHEMATICAL BOLD CAPITAL UPSILON + 0x1D6BD: [676,0,836,18,818], // MATHEMATICAL BOLD CAPITAL PHI + 0x1D6BE: [676,0,747,16,699], // MATHEMATICAL BOLD CAPITAL CHI + 0x1D6BF: [692,0,800,3,785], // MATHEMATICAL BOLD CAPITAL PSI + 0x1D6C0: [692,0,778,35,723], // MATHEMATICAL BOLD CAPITAL OMEGA + 0x1D6C1: [676,14,691,16,656], // MATHEMATICAL BOLD NABLA + 0x1D6C2: [473,14,644,25,618], // MATHEMATICAL BOLD SMALL ALPHA + 0x1D6C3: [692,205,556,45,524], // MATHEMATICAL BOLD SMALL BETA + 0x1D6C4: [473,205,518,12,501], // MATHEMATICAL BOLD SMALL GAMMA + 0x1D6C5: [692,14,502,26,477], // MATHEMATICAL BOLD SMALL DELTA + 0x1D6C6: [473,14,444,28,429], // MATHEMATICAL BOLD SMALL EPSILON + 0x1D6C7: [692,205,459,23,437], // MATHEMATICAL BOLD SMALL ZETA + 0x1D6C8: [473,205,580,12,545], // MATHEMATICAL BOLD SMALL ETA + 0x1D6C9: [692,14,501,25,476], // MATHEMATICAL BOLD SMALL THETA + 0x1D6CA: [461,14,326,15,304], // MATHEMATICAL BOLD SMALL IOTA + 0x1D6CB: [473,0,581,21,559], // MATHEMATICAL BOLD SMALL KAPPA + 0x1D6CC: [692,18,546,19,527], // MATHEMATICAL BOLD SMALL LAMDA + 0x1D6CD: [461,205,610,45,588], // MATHEMATICAL BOLD SMALL MU + 0x1D6CE: [473,14,518,15,495], // MATHEMATICAL BOLD SMALL NU + 0x1D6CF: [692,205,465,23,439], // MATHEMATICAL BOLD SMALL XI + 0x1D6D0: [473,14,500,25,476], // MATHEMATICAL BOLD SMALL OMICRON + 0x1D6D1: [461,18,631,20,609], // MATHEMATICAL BOLD SMALL PI + 0x1D6D2: [473,205,547,45,515], // MATHEMATICAL BOLD SMALL RHO + 0x1D6D3: [473,203,464,23,444], // MATHEMATICAL BOLD SMALL FINAL SIGMA + 0x1D6D4: [461,14,568,25,529], // MATHEMATICAL BOLD SMALL SIGMA + 0x1D6D5: [461,14,492,18,457], // MATHEMATICAL BOLD SMALL TAU + 0x1D6D6: [473,14,576,12,551], // MATHEMATICAL BOLD SMALL UPSILON + 0x1D6D7: [473,205,653,24,629], // MATHEMATICAL BOLD SMALL PHI + 0x1D6D8: [473,205,612,21,586], // MATHEMATICAL BOLD SMALL CHI + 0x1D6D9: [473,205,763,12,751], // MATHEMATICAL BOLD SMALL PSI + 0x1D6DA: [473,14,734,26,708], // MATHEMATICAL BOLD SMALL OMEGA + 0x1D6DB: [707,14,515,25,491], // MATHEMATICAL BOLD PARTIAL DIFFERENTIAL + 0x1D6DC: [473,14,444,25,430], // MATHEMATICAL BOLD EPSILON SYMBOL + 0x1D6DD: [692,14,647,12,620], // MATHEMATICAL BOLD THETA SYMBOL + 0x1D6DE: [473,19,563,12,546], // MATHEMATICAL BOLD KAPPA SYMBOL + 0x1D6DF: [676,205,653,24,629], // MATHEMATICAL BOLD PHI SYMBOL + 0x1D6E0: [473,205,511,25,486], // MATHEMATICAL BOLD RHO SYMBOL + 0x1D6E1: [461,14,864,9,851] // MATHEMATICAL BOLD PI SYMBOL + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax["HTML-CSS"].fontDir + "/General/Bold/GreekBold.js"); diff --git a/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/GreekSSBold.js b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/GreekSSBold.js new file mode 100644 index 0000000..09b85b8 --- /dev/null +++ b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/GreekSSBold.js @@ -0,0 +1,85 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/GreekSSBold.js + * + * Copyright (c) 2009-2010 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax['HTML-CSS'].FONTDATA.FONTS['STIXGeneral-bold'], + { + 0x1D756: [690,0,690,25,665], // MATHEMATICAL SANS-SERIF BOLD CAPITAL ALPHA + 0x1D757: [676,0,636,80,594], // MATHEMATICAL SANS-SERIF BOLD CAPITAL BETA + 0x1D758: [676,0,591,80,569], // MATHEMATICAL SANS-SERIF BOLD CAPITAL GAMMA + 0x1D759: [690,0,720,40,680], // MATHEMATICAL SANS-SERIF BOLD CAPITAL DELTA + 0x1D75A: [676,0,635,80,597], // MATHEMATICAL SANS-SERIF BOLD CAPITAL EPSILON + 0x1D75B: [676,0,653,25,623], // MATHEMATICAL SANS-SERIF BOLD CAPITAL ZETA + 0x1D75C: [676,0,715,80,635], // MATHEMATICAL SANS-SERIF BOLD CAPITAL ETA + 0x1D75D: [691,19,778,35,743], // MATHEMATICAL SANS-SERIF BOLD CAPITAL THETA + 0x1D75E: [676,0,440,65,375], // MATHEMATICAL SANS-SERIF BOLD CAPITAL IOTA + 0x1D75F: [676,0,712,80,707], // MATHEMATICAL SANS-SERIF BOLD CAPITAL KAPPA + 0x1D760: [690,0,706,40,666], // MATHEMATICAL SANS-SERIF BOLD CAPITAL LAMDA + 0x1D761: [676,0,913,80,833], // MATHEMATICAL SANS-SERIF BOLD CAPITAL MU + 0x1D762: [676,18,724,80,644], // MATHEMATICAL SANS-SERIF BOLD CAPITAL NU + 0x1D763: [676,0,640,35,605], // MATHEMATICAL SANS-SERIF BOLD CAPITAL XI + 0x1D764: [692,18,778,35,743], // MATHEMATICAL SANS-SERIF BOLD CAPITAL OMICRON + 0x1D765: [676,0,715,80,635], // MATHEMATICAL SANS-SERIF BOLD CAPITAL PI + 0x1D766: [676,0,581,80,569], // MATHEMATICAL SANS-SERIF BOLD CAPITAL RHO + 0x1D767: [691,19,778,35,743], // MATHEMATICAL SANS-SERIF BOLD CAPITAL THETA SYMBOL + 0x1D768: [676,0,674,28,632], // MATHEMATICAL SANS-SERIF BOLD CAPITAL SIGMA + 0x1D769: [676,0,641,14,627], // MATHEMATICAL SANS-SERIF BOLD CAPITAL TAU + 0x1D76A: [691,0,748,20,728], // MATHEMATICAL SANS-SERIF BOLD CAPITAL UPSILON + 0x1D76B: [676,0,800,25,775], // MATHEMATICAL SANS-SERIF BOLD CAPITAL PHI + 0x1D76C: [676,0,740,40,700], // MATHEMATICAL SANS-SERIF BOLD CAPITAL CHI + 0x1D76D: [691,0,806,15,791], // MATHEMATICAL SANS-SERIF BOLD CAPITAL PSI + 0x1D76E: [691,0,752,32,720], // MATHEMATICAL SANS-SERIF BOLD CAPITAL OMEGA + 0x1D76F: [664,30,735,45,685], // MATHEMATICAL SANS-SERIF BOLD NABLA + 0x1D770: [473,14,662,40,629], // MATHEMATICAL SANS-SERIF BOLD SMALL ALPHA + 0x1D771: [692,205,512,39,487], // MATHEMATICAL SANS-SERIF BOLD SMALL BETA + 0x1D772: [473,205,502,10,477], // MATHEMATICAL SANS-SERIF BOLD SMALL GAMMA + 0x1D773: [692,14,502,25,477], // MATHEMATICAL SANS-SERIF BOLD SMALL DELTA + 0x1D774: [473,14,451,25,434], // MATHEMATICAL SANS-SERIF BOLD SMALL EPSILON + 0x1D775: [692,205,500,28,488], // MATHEMATICAL SANS-SERIF BOLD SMALL ZETA + 0x1D776: [473,205,510,35,474], // MATHEMATICAL SANS-SERIF BOLD SMALL ETA + 0x1D777: [692,14,500,23,477], // MATHEMATICAL SANS-SERIF BOLD SMALL THETA + 0x1D778: [461,14,319,53,296], // MATHEMATICAL SANS-SERIF BOLD SMALL IOTA + 0x1D779: [473,0,527,55,512], // MATHEMATICAL SANS-SERIF BOLD SMALL KAPPA + 0x1D77A: [692,14,554,18,520], // MATHEMATICAL SANS-SERIF BOLD SMALL LAMDA + 0x1D77B: [461,205,550,39,517], // MATHEMATICAL SANS-SERIF BOLD SMALL MU + 0x1D77C: [473,14,492,55,472], // MATHEMATICAL SANS-SERIF BOLD SMALL NU + 0x1D77D: [692,205,501,28,489], // MATHEMATICAL SANS-SERIF BOLD SMALL XI + 0x1D77E: [473,14,501,25,476], // MATHEMATICAL SANS-SERIF BOLD SMALL OMICRON + 0x1D77F: [461,14,594,10,572], // MATHEMATICAL SANS-SERIF BOLD SMALL PI + 0x1D780: [473,205,511,38,486], // MATHEMATICAL SANS-SERIF BOLD SMALL RHO + 0x1D781: [473,205,498,26,486], // MATHEMATICAL SANS-SERIF BOLD SMALL FINAL SIGMA + 0x1D782: [461,14,520,25,552], // MATHEMATICAL SANS-SERIF BOLD SMALL SIGMA + 0x1D783: [461,14,479,6,472], // MATHEMATICAL SANS-SERIF BOLD SMALL TAU + 0x1D784: [473,14,514,35,489], // MATHEMATICAL SANS-SERIF BOLD SMALL UPSILON + 0x1D785: [473,205,634,25,609], // MATHEMATICAL SANS-SERIF BOLD SMALL PHI + 0x1D786: [473,205,573,9,553], // MATHEMATICAL SANS-SERIF BOLD SMALL CHI + 0x1D787: [473,205,680,25,699], // MATHEMATICAL SANS-SERIF BOLD SMALL PSI + 0x1D788: [461,14,740,42,689], // MATHEMATICAL SANS-SERIF BOLD SMALL OMEGA + 0x1D789: [691,14,501,25,476], // MATHEMATICAL SANS-SERIF BOLD PARTIAL DIFFERENTIAL + 0x1D78A: [473,14,462,25,440], // MATHEMATICAL SANS-SERIF BOLD EPSILON SYMBOL + 0x1D78B: [692,14,536,35,522], // MATHEMATICAL SANS-SERIF BOLD THETA SYMBOL + 0x1D78C: [473,14,570,14,554], // MATHEMATICAL SANS-SERIF BOLD KAPPA SYMBOL + 0x1D78D: [692,205,634,25,609], // MATHEMATICAL SANS-SERIF BOLD PHI SYMBOL + 0x1D78E: [473,205,494,25,469], // MATHEMATICAL SANS-SERIF BOLD RHO SYMBOL + 0x1D78F: [461,14,848,6,839] // MATHEMATICAL SANS-SERIF BOLD PI SYMBOL + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax["HTML-CSS"].fontDir + "/General/Bold/GreekSSBold.js"); diff --git a/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/IPAExtensions.js b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/IPAExtensions.js new file mode 100644 index 0000000..faa17d1 --- /dev/null +++ b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/IPAExtensions.js @@ -0,0 +1,116 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/IPAExtensions.js + * + * Copyright (c) 2009-2010 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax['HTML-CSS'].FONTDATA.FONTS['STIXGeneral-bold'], + { + 0x250: [473,14,512,13,476], // ?? + 0x251: [473,14,608,32,594], // ?? + 0x252: [473,14,608,32,594], // ?? + 0x253: [691,14,560,74,523], // ?? + 0x254: [473,14,472,15,420], // ?? + 0x255: [473,161,477,30,445], // ?? + 0x256: [676,233,602,32,660], // ?? + 0x257: [683,14,650,32,660], // ?? + 0x258: [473,14,457,25,427], // ?? + 0x259: [473,14,457,19,421], // ?? + 0x25A: [473,14,688,41,677], // ?? + 0x25B: [475,14,493,25,439], // ?? + 0x25C: [475,14,493,25,439], // ?? + 0x25D: [475,14,683,25,658], // ?? + 0x25E: [475,14,523,25,469], // ?? + 0x25F: [461,203,338,-54,314], // ?? + 0x260: [683,245,627,37,662], // ?? + 0x261: [473,245,571,37,484], // ?? + 0x262: [461,11,590,35,555], // ?? + 0x263: [461,233,532,24,507], // ?? + 0x264: [450,10,514,17,497], // ?? + 0x265: [450,226,550,17,536], // ?? + 0x266: [683,0,550,14,532], // ?? + 0x267: [683,205,556,16,485], // ?? + 0x268: [691,0,292,21,262], // ?? + 0x269: [456,8,366,22,339], // ?? + 0x26A: [461,0,297,26,264], // ?? + 0x26B: [676,0,395,15,380], // ?? + 0x26C: [676,0,446,17,428], // ?? + 0x26D: [676,233,326,15,384], // ?? + 0x26E: [676,236,619,24,603], // ?? + 0x26F: [473,0,828,16,815], // ?? + 0x270: [473,233,859,16,836], // ?? + 0x271: [473,233,847,21,770], // ?? + 0x272: [473,233,625,-57,586], // ?? + 0x273: [473,233,610,21,668], // ?? + 0x274: [461,12,604,34,558], // ?? + 0x275: [473,14,520,34,485], // ?? + 0x276: [461,5,741,28,713], // ?? + 0x277: [477,2,696,42,653], // ?? + 0x278: [685,231,713,45,667], // ?? + 0x279: [463,10,456,35,441], // ?? + 0x27A: [676,10,456,35,441], // ?? + 0x27B: [463,233,506,35,564], // ?? + 0x27C: [473,233,426,10,416], // ?? + 0x27D: [473,233,454,12,418], // ?? + 0x27E: [484,0,359,15,386], // ?? + 0x27F: [484,0,404,10,381], // ?? + 0x280: [464,0,516,21,495], // ?? + 0x281: [464,0,516,21,495], // ?? + 0x282: [473,218,389,25,361], // ?? + 0x283: [683,233,458,-36,406], // ?? + 0x284: [683,233,373,-57,430], // ?? + 0x285: [470,233,396,8,452], // ?? + 0x286: [683,243,399,-16,449], // ?? + 0x287: [513,129,333,19,332], // ?? + 0x288: [630,233,339,19,389], // ?? + 0x289: [461,14,556,9,538], // ?? + 0x28A: [452,8,500,13,487], // ?? + 0x28B: [465,10,534,23,511], // ?? + 0x28C: [475,0,500,21,485], // ?? + 0x28D: [475,0,722,23,707], // ?? + 0x28E: [666,0,500,16,482], // ?? + 0x28F: [464,0,633,46,587], // ?? + 0x290: [461,218,531,21,577], // ?? + 0x291: [461,150,538,21,517], // ?? + 0x292: [450,236,440,8,430], // ?? + 0x293: [450,307,440,8,430], // ?? + 0x294: [683,0,417,55,426], // ?? + 0x295: [683,0,417,55,426], // ?? + 0x296: [669,14,417,55,426], // ?? + 0x297: [473,232,479,72,447], // ?? + 0x298: [680,17,723,13,708], // ?? + 0x299: [464,0,456,15,441], // ?? + 0x29A: [475,14,465,11,455], // ?? + 0x29B: [537,11,600,29,595], // ?? + 0x29C: [464,0,582,21,561], // ?? + 0x29D: [691,233,394,-60,414], // ?? + 0x29E: [461,215,556,22,543], // ?? + 0x29F: [464,0,470,17,440], // ?? + 0x2A0: [582,205,636,34,659], // ?? + 0x2A1: [683,0,500,55,426], // ?? + 0x2A2: [683,0,500,55,426], // ?? + 0x2A3: [676,14,868,25,843], // ?? + 0x2A4: [676,236,810,25,794], // ?? + 0x2A5: [676,164,960,25,933], // ?? + 0x2A6: [630,12,626,19,598], // ?? + 0x2A7: [683,233,540,19,626], // ?? + 0x2A8: [630,12,700,19,690] // ?? + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax["HTML-CSS"].fontDir + "/General/Bold/IPAExtensions.js"); diff --git a/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/Latin1Supplement.js b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/Latin1Supplement.js new file mode 100644 index 0000000..9bb0de5 --- /dev/null +++ b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/Latin1Supplement.js @@ -0,0 +1,123 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/Latin1Supplement.js + * + * Copyright (c) 2009-2010 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax['HTML-CSS'].FONTDATA.FONTS['STIXGeneral-bold'], + { + 0xA0: [0,0,250,0,0], // NO-BREAK SPACE + 0xA1: [501,203,333,82,252], // INVERTED EXCLAMATION MARK + 0xA2: [588,140,500,53,458], // CENT SIGN + 0xA3: [684,16,500,21,477], // POUND SIGN + 0xA4: [542,10,500,-26,526], // CURRENCY SIGN + 0xA5: [676,0,500,-64,547], // YEN SIGN + 0xA6: [691,19,220,66,154], // BROKEN BAR + 0xA7: [691,132,500,57,443], // SECTION SIGN + 0xA8: [666,-537,333,-2,337], // DIAERESIS + 0xA9: [691,19,747,26,721], // COPYRIGHT SIGN + 0xAA: [688,-397,300,-1,301], // FEMININE ORDINAL INDICATOR + 0xAB: [415,-36,500,23,473], // LEFT-POINTING DOUBLE ANGLE QUOTATION MARK + 0xAC: [399,-108,750,65,685], // NOT SIGN + 0xAD: [287,-171,333,44,287], // SOFT HYPHEN + 0xAE: [691,19,747,26,721], // REGISTERED SIGN + 0xAF: [637,-565,333,1,331], // MACRON + 0xB0: [688,-402,400,57,343], // DEGREE SIGN + 0xB1: [518,151,770,65,685], // PLUS-MINUS SIGN + 0xB2: [688,-275,300,0,300], // SUPERSCRIPT TWO + 0xB3: [688,-268,300,3,297], // SUPERSCRIPT THREE + 0xB4: [713,-528,333,86,324], // ACUTE ACCENT + 0xB5: [461,206,556,33,536], // MICRO SIGN + 0xB6: [676,186,639,60,579], // PILCROW SIGN + 0xB7: [417,-248,250,41,210], // MIDDLE DOT + 0xB8: [0,218,333,68,294], // CEDILLA + 0xB9: [688,-275,300,28,273], // SUPERSCRIPT ONE + 0xBA: [688,-397,330,18,312], // MASCULINE ORDINAL INDICATOR + 0xBB: [415,-36,500,27,477], // RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK + 0xBC: [688,12,750,28,743], // VULGAR FRACTION ONE QUARTER + 0xBD: [688,12,750,-7,775], // VULGAR FRACTION ONE HALF + 0xBE: [688,12,750,23,733], // VULGAR FRACTION THREE QUARTERS + 0xBF: [501,201,500,55,443], // INVERTED QUESTION MARK + 0xC0: [963,0,722,9,689], // LATIN CAPITAL LETTER A WITH GRAVE + 0xC1: [963,0,722,9,689], // LATIN CAPITAL LETTER A WITH ACUTE + 0xC2: [954,0,722,9,689], // LATIN CAPITAL LETTER A WITH CIRCUMFLEX + 0xC3: [924,0,722,9,689], // LATIN CAPITAL LETTER A WITH TILDE + 0xC4: [916,0,722,9,689], // LATIN CAPITAL LETTER A WITH DIAERESIS + 0xC5: [1000,0,722,9,689], // LATIN CAPITAL LETTER A WITH RING ABOVE + 0xC6: [676,0,1000,4,951], // LATIN CAPITAL LETTER AE + 0xC7: [691,218,722,49,687], // LATIN CAPITAL LETTER C WITH CEDILLA + 0xC8: [963,0,667,16,641], // LATIN CAPITAL LETTER E WITH GRAVE + 0xC9: [963,0,667,16,641], // LATIN CAPITAL LETTER E WITH ACUTE + 0xCA: [954,0,667,16,641], // LATIN CAPITAL LETTER E WITH CIRCUMFLEX + 0xCB: [916,0,667,16,641], // LATIN CAPITAL LETTER E WITH DIAERESIS + 0xCC: [963,0,389,20,370], // LATIN CAPITAL LETTER I WITH GRAVE + 0xCD: [963,0,389,20,370], // LATIN CAPITAL LETTER I WITH ACUTE + 0xCE: [954,0,389,20,370], // LATIN CAPITAL LETTER I WITH CIRCUMFLEX + 0xCF: [916,0,389,20,370], // LATIN CAPITAL LETTER I WITH DIAERESIS + 0xD0: [676,0,722,6,690], // LATIN CAPITAL LETTER ETH + 0xD1: [924,18,722,16,701], // LATIN CAPITAL LETTER N WITH TILDE + 0xD2: [963,19,778,35,743], // LATIN CAPITAL LETTER O WITH GRAVE + 0xD3: [963,19,778,35,743], // LATIN CAPITAL LETTER O WITH ACUTE + 0xD4: [954,19,778,35,743], // LATIN CAPITAL LETTER O WITH CIRCUMFLEX + 0xD5: [924,19,778,35,743], // LATIN CAPITAL LETTER O WITH TILDE + 0xD6: [916,19,778,35,743], // LATIN CAPITAL LETTER O WITH DIAERESIS + 0xD7: [538,33,702,66,636], // MULTIPLICATION SIGN + 0xD8: [737,74,778,35,743], // LATIN CAPITAL LETTER O WITH STROKE + 0xD9: [963,19,722,16,701], // LATIN CAPITAL LETTER U WITH GRAVE + 0xDA: [963,19,722,16,701], // LATIN CAPITAL LETTER U WITH ACUTE + 0xDB: [954,19,722,16,701], // LATIN CAPITAL LETTER U WITH CIRCUMFLEX + 0xDC: [916,19,722,16,701], // LATIN CAPITAL LETTER U WITH DIAERESIS + 0xDD: [963,0,722,15,699], // LATIN CAPITAL LETTER Y WITH ACUTE + 0xDE: [676,0,611,16,600], // LATIN CAPITAL LETTER THORN + 0xDF: [691,12,556,19,517], // LATIN SMALL LETTER SHARP S + 0xE0: [713,14,500,25,488], // LATIN SMALL LETTER A WITH GRAVE + 0xE1: [713,14,500,25,488], // LATIN SMALL LETTER A WITH ACUTE + 0xE2: [704,14,500,25,488], // LATIN SMALL LETTER A WITH CIRCUMFLEX + 0xE3: [674,14,500,25,488], // LATIN SMALL LETTER A WITH TILDE + 0xE4: [666,14,500,25,488], // LATIN SMALL LETTER A WITH DIAERESIS + 0xE5: [752,14,500,25,488], // LATIN SMALL LETTER A WITH RING ABOVE + 0xE6: [473,14,722,33,694], // LATIN SMALL LETTER AE + 0xE7: [473,218,444,25,430], // LATIN SMALL LETTER C WITH CEDILLA + 0xE8: [713,14,444,25,427], // LATIN SMALL LETTER E WITH GRAVE + 0xE9: [713,14,444,25,427], // LATIN SMALL LETTER E WITH ACUTE + 0xEA: [704,14,444,25,427], // LATIN SMALL LETTER E WITH CIRCUMFLEX + 0xEB: [666,14,444,25,427], // LATIN SMALL LETTER E WITH DIAERESIS + 0xEC: [713,0,278,14,257], // LATIN SMALL LETTER I WITH GRAVE + 0xED: [713,0,278,15,258], // LATIN SMALL LETTER I WITH ACUTE + 0xEE: [704,0,278,-29,308], // LATIN SMALL LETTER I WITH CIRCUMFLEX + 0xEF: [666,0,278,-29,310], // LATIN SMALL LETTER I WITH DIAERESIS + 0xF0: [691,14,500,25,476], // LATIN SMALL LETTER ETH + 0xF1: [674,0,556,21,539], // LATIN SMALL LETTER N WITH TILDE + 0xF2: [713,14,500,25,476], // LATIN SMALL LETTER O WITH GRAVE + 0xF3: [713,14,500,25,476], // LATIN SMALL LETTER O WITH ACUTE + 0xF4: [704,14,500,25,476], // LATIN SMALL LETTER O WITH CIRCUMFLEX + 0xF5: [674,14,500,25,476], // LATIN SMALL LETTER O WITH TILDE + 0xF6: [666,14,500,25,476], // LATIN SMALL LETTER O WITH DIAERESIS + 0xF7: [537,31,570,33,537], // DIVISION SIGN + 0xF8: [549,92,500,25,476], // LATIN SMALL LETTER O WITH STROKE + 0xF9: [713,14,556,16,538], // LATIN SMALL LETTER U WITH GRAVE + 0xFA: [713,14,556,16,538], // LATIN SMALL LETTER U WITH ACUTE + 0xFB: [704,14,556,16,538], // LATIN SMALL LETTER U WITH CIRCUMFLEX + 0xFC: [666,14,556,16,538], // LATIN SMALL LETTER U WITH DIAERESIS + 0xFD: [713,205,500,16,482], // LATIN SMALL LETTER Y WITH ACUTE + 0xFE: [676,205,556,19,524], // LATIN SMALL LETTER THORN + 0xFF: [666,205,500,16,482] // LATIN SMALL LETTER Y WITH DIAERESIS + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax["HTML-CSS"].fontDir + "/General/Bold/Latin1Supplement.js"); diff --git a/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/LatinExtendedA.js b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/LatinExtendedA.js new file mode 100644 index 0000000..2d5d7f0 --- /dev/null +++ b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/LatinExtendedA.js @@ -0,0 +1,155 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/LatinExtendedA.js + * + * Copyright (c) 2009-2010 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax['HTML-CSS'].FONTDATA.FONTS['STIXGeneral-bold'], + { + 0x100: [810,0,722,9,689], // LATIN CAPITAL LETTER A WITH MACRON + 0x101: [600,14,500,25,488], // LATIN SMALL LETTER A WITH MACRON + 0x102: [901,0,722,9,689], // LATIN CAPITAL LETTER A WITH BREVE + 0x103: [691,14,500,25,488], // LATIN SMALL LETTER A WITH BREVE + 0x104: [690,205,722,9,721], // LATIN CAPITAL LETTER A WITH OGONEK + 0x105: [473,205,500,25,569], // LATIN SMALL LETTER A WITH OGONEK + 0x106: [923,19,722,49,687], // LATIN CAPITAL LETTER C WITH ACUTE + 0x107: [713,14,444,25,430], // LATIN SMALL LETTER C WITH ACUTE + 0x108: [914,19,722,49,687], // LATIN CAPITAL LETTER C WITH CIRCUMFLEX + 0x109: [704,14,444,25,430], // LATIN SMALL LETTER C WITH CIRCUMFLEX + 0x10A: [876,19,722,49,687], // LATIN CAPITAL LETTER C WITH DOT ABOVE + 0x10B: [666,14,444,25,430], // LATIN SMALL LETTER C WITH DOT ABOVE + 0x10C: [914,19,722,49,687], // LATIN CAPITAL LETTER C WITH CARON + 0x10D: [704,14,444,25,430], // LATIN SMALL LETTER C WITH CARON + 0x10E: [914,0,722,14,690], // LATIN CAPITAL LETTER D WITH CARON + 0x10F: [709,14,680,25,710], // LATIN SMALL LETTER D WITH CARON + 0x110: [676,0,722,6,690], // LATIN CAPITAL LETTER D WITH STROKE + 0x111: [676,14,556,25,534], // LATIN SMALL LETTER D WITH STROKE + 0x112: [810,0,667,16,641], // LATIN CAPITAL LETTER E WITH MACRON + 0x113: [600,14,444,25,427], // LATIN SMALL LETTER E WITH MACRON + 0x114: [901,0,667,16,641], // LATIN CAPITAL LETTER E WITH BREVE + 0x115: [691,14,444,25,427], // LATIN SMALL LETTER E WITH BREVE + 0x116: [876,0,667,16,641], // LATIN CAPITAL LETTER E WITH DOT ABOVE + 0x117: [666,14,444,25,427], // LATIN SMALL LETTER E WITH DOT ABOVE + 0x118: [676,205,667,16,641], // LATIN CAPITAL LETTER E WITH OGONEK + 0x119: [473,205,444,25,435], // LATIN SMALL LETTER E WITH OGONEK + 0x11A: [914,0,667,16,641], // LATIN CAPITAL LETTER E WITH CARON + 0x11B: [704,14,444,25,427], // LATIN SMALL LETTER E WITH CARON + 0x11C: [914,19,778,37,755], // LATIN CAPITAL LETTER G WITH CIRCUMFLEX + 0x11D: [704,206,500,28,483], // LATIN SMALL LETTER G WITH CIRCUMFLEX + 0x11E: [901,19,778,37,755], // LATIN CAPITAL LETTER G WITH BREVE + 0x11F: [691,206,500,28,483], // LATIN SMALL LETTER G WITH BREVE + 0x120: [876,19,778,37,755], // LATIN CAPITAL LETTER G WITH DOT ABOVE + 0x121: [666,206,500,28,483], // LATIN SMALL LETTER G WITH DOT ABOVE + 0x122: [691,378,778,37,755], // LATIN CAPITAL LETTER G WITH CEDILLA + 0x123: [863,206,500,28,483], // LATIN SMALL LETTER G WITH CEDILLA + 0x124: [914,0,778,21,759], // LATIN CAPITAL LETTER H WITH CIRCUMFLEX + 0x125: [914,0,556,15,534], // LATIN SMALL LETTER H WITH CIRCUMFLEX + 0x126: [676,0,778,21,759], // LATIN CAPITAL LETTER H WITH STROKE + 0x127: [676,0,556,15,534], // LATIN SMALL LETTER H WITH STROKE + 0x128: [884,0,389,14,379], // LATIN CAPITAL LETTER I WITH TILDE + 0x129: [674,0,278,-47,318], // LATIN SMALL LETTER I WITH TILDE + 0x12A: [810,0,389,20,370], // LATIN CAPITAL LETTER I WITH MACRON + 0x12B: [600,0,278,-25,305], // LATIN SMALL LETTER I WITH MACRON + 0x12C: [900,0,389,20,370], // LATIN CAPITAL LETTER I WITH BREVE + 0x12D: [691,0,278,-11,292], // LATIN SMALL LETTER I WITH BREVE + 0x12E: [676,205,389,20,389], // LATIN CAPITAL LETTER I WITH OGONEK + 0x12F: [691,205,278,15,321], // LATIN SMALL LETTER I WITH OGONEK + 0x130: [876,0,389,20,370], // LATIN CAPITAL LETTER I WITH DOT ABOVE + 0x131: [461,0,278,15,256], // LATIN SMALL LETTER DOTLESS I + 0x132: [676,96,838,20,917], // LATIN CAPITAL LIGATURE IJ + 0x133: [691,203,552,15,531], // LATIN SMALL LIGATURE IJ + 0x134: [914,96,500,3,479], // LATIN CAPITAL LETTER J WITH CIRCUMFLEX + 0x135: [704,203,333,-57,335], // LATIN SMALL LETTER J WITH CIRCUMFLEX + 0x136: [676,378,778,30,769], // LATIN CAPITAL LETTER K WITH CEDILLA + 0x137: [676,378,556,22,543], // LATIN SMALL LETTER K WITH CEDILLA + 0x138: [470,0,600,19,627], // LATIN SMALL LETTER KRA + 0x139: [923,0,667,19,638], // LATIN CAPITAL LETTER L WITH ACUTE + 0x13A: [923,0,278,15,260], // LATIN SMALL LETTER L WITH ACUTE + 0x13B: [676,378,667,19,638], // LATIN CAPITAL LETTER L WITH CEDILLA + 0x13C: [676,378,278,15,256], // LATIN SMALL LETTER L WITH CEDILLA + 0x13D: [691,0,667,19,638], // LATIN CAPITAL LETTER L WITH CARON + 0x13E: [709,0,457,15,442], // LATIN SMALL LETTER L WITH CARON + 0x13F: [676,0,667,19,638], // LATIN CAPITAL LETTER L WITH MIDDLE DOT + 0x140: [676,0,414,15,441], // LATIN SMALL LETTER L WITH MIDDLE DOT + 0x141: [676,0,667,18,638], // LATIN CAPITAL LETTER L WITH STROKE + 0x142: [676,0,278,-22,303], // LATIN SMALL LETTER L WITH STROKE + 0x143: [923,18,722,16,701], // LATIN CAPITAL LETTER N WITH ACUTE + 0x144: [713,0,556,21,539], // LATIN SMALL LETTER N WITH ACUTE + 0x145: [676,378,722,16,701], // LATIN CAPITAL LETTER N WITH CEDILLA + 0x146: [473,378,556,21,539], // LATIN SMALL LETTER N WITH CEDILLA + 0x147: [914,18,722,16,701], // LATIN CAPITAL LETTER N WITH CARON + 0x148: [704,0,556,21,539], // LATIN SMALL LETTER N WITH CARON + 0x149: [709,0,705,13,693], // LATIN SMALL LETTER N PRECEDED BY APOSTROPHE + 0x14A: [676,96,732,14,712], // LATIN CAPITAL LETTER ENG + 0x14B: [473,205,556,21,490], // LATIN SMALL LETTER ENG + 0x14C: [810,19,778,35,743], // LATIN CAPITAL LETTER O WITH MACRON + 0x14D: [600,14,500,25,476], // LATIN SMALL LETTER O WITH MACRON + 0x14E: [901,19,778,35,743], // LATIN CAPITAL LETTER O WITH BREVE + 0x14F: [691,14,500,25,476], // LATIN SMALL LETTER O WITH BREVE + 0x150: [923,19,778,35,743], // LATIN CAPITAL LETTER O WITH DOUBLE ACUTE + 0x151: [713,14,500,25,476], // LATIN SMALL LETTER O WITH DOUBLE ACUTE + 0x152: [684,5,1000,22,981], // LATIN CAPITAL LIGATURE OE + 0x153: [473,14,722,22,696], // LATIN SMALL LIGATURE OE + 0x154: [923,0,722,26,716], // LATIN CAPITAL LETTER R WITH ACUTE + 0x155: [713,0,444,28,434], // LATIN SMALL LETTER R WITH ACUTE + 0x156: [676,378,722,26,716], // LATIN CAPITAL LETTER R WITH CEDILLA + 0x157: [473,378,444,28,434], // LATIN SMALL LETTER R WITH CEDILLA + 0x158: [914,0,722,26,716], // LATIN CAPITAL LETTER R WITH CARON + 0x159: [704,0,444,28,434], // LATIN SMALL LETTER R WITH CARON + 0x15A: [923,19,556,35,513], // LATIN CAPITAL LETTER S WITH ACUTE + 0x15B: [713,14,389,25,364], // LATIN SMALL LETTER S WITH ACUTE + 0x15C: [914,19,556,35,513], // LATIN CAPITAL LETTER S WITH CIRCUMFLEX + 0x15D: [704,14,389,22,361], // LATIN SMALL LETTER S WITH CIRCUMFLEX + 0x15E: [692,218,556,35,513], // LATIN CAPITAL LETTER S WITH CEDILLA + 0x15F: [473,218,389,25,361], // LATIN SMALL LETTER S WITH CEDILLA + 0x160: [914,19,556,35,513], // LATIN CAPITAL LETTER S WITH CARON + 0x161: [704,14,389,22,361], // LATIN SMALL LETTER S WITH CARON + 0x162: [676,218,667,31,636], // LATIN CAPITAL LETTER T WITH CEDILLA + 0x163: [630,218,333,19,332], // LATIN SMALL LETTER T WITH CEDILLA + 0x164: [914,0,667,31,636], // LATIN CAPITAL LETTER T WITH CARON + 0x165: [709,12,415,19,445], // LATIN SMALL LETTER T WITH CARON + 0x166: [676,0,667,31,636], // LATIN CAPITAL LETTER T WITH STROKE + 0x167: [630,12,333,17,332], // LATIN SMALL LETTER T WITH STROKE + 0x168: [886,19,722,16,701], // LATIN CAPITAL LETTER U WITH TILDE + 0x169: [674,14,556,16,538], // LATIN SMALL LETTER U WITH TILDE + 0x16A: [810,19,722,16,701], // LATIN CAPITAL LETTER U WITH MACRON + 0x16B: [600,14,556,16,538], // LATIN SMALL LETTER U WITH MACRON + 0x16C: [901,19,722,16,701], // LATIN CAPITAL LETTER U WITH BREVE + 0x16D: [691,14,556,16,538], // LATIN SMALL LETTER U WITH BREVE + 0x16E: [935,19,722,16,701], // LATIN CAPITAL LETTER U WITH RING ABOVE + 0x16F: [740,14,556,16,538], // LATIN SMALL LETTER U WITH RING ABOVE + 0x170: [923,19,722,16,701], // LATIN CAPITAL LETTER U WITH DOUBLE ACUTE + 0x171: [713,14,556,16,538], // LATIN SMALL LETTER U WITH DOUBLE ACUTE + 0x172: [676,205,722,16,701], // LATIN CAPITAL LETTER U WITH OGONEK + 0x173: [461,205,556,16,547], // LATIN SMALL LETTER U WITH OGONEK + 0x174: [914,15,1000,19,981], // LATIN CAPITAL LETTER W WITH CIRCUMFLEX + 0x175: [704,14,722,23,707], // LATIN SMALL LETTER W WITH CIRCUMFLEX + 0x176: [914,0,722,15,699], // LATIN CAPITAL LETTER Y WITH CIRCUMFLEX + 0x177: [704,205,500,16,482], // LATIN SMALL LETTER Y WITH CIRCUMFLEX + 0x178: [876,0,722,15,699], // LATIN CAPITAL LETTER Y WITH DIAERESIS + 0x179: [923,0,667,28,634], // LATIN CAPITAL LETTER Z WITH ACUTE + 0x17A: [713,0,444,21,420], // LATIN SMALL LETTER Z WITH ACUTE + 0x17B: [876,0,667,28,634], // LATIN CAPITAL LETTER Z WITH DOT ABOVE + 0x17C: [666,0,444,21,420], // LATIN SMALL LETTER Z WITH DOT ABOVE + 0x17D: [914,0,667,28,634], // LATIN CAPITAL LETTER Z WITH CARON + 0x17E: [704,0,444,21,420], // LATIN SMALL LETTER Z WITH CARON + 0x17F: [691,0,333,14,389] // LATIN SMALL LETTER LONG S + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax["HTML-CSS"].fontDir + "/General/Bold/LatinExtendedA.js"); diff --git a/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/LatinExtendedAdditional.js b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/LatinExtendedAdditional.js new file mode 100644 index 0000000..571965d --- /dev/null +++ b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/LatinExtendedAdditional.js @@ -0,0 +1,35 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/LatinExtendedAdditional.js + * + * Copyright (c) 2009-2010 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax['HTML-CSS'].FONTDATA.FONTS['STIXGeneral-bold'], + { + 0x1E80: [923,15,1000,19,981], // LATIN CAPITAL LETTER W WITH GRAVE + 0x1E81: [713,14,722,23,707], // LATIN SMALL LETTER W WITH GRAVE + 0x1E82: [923,15,1000,19,981], // LATIN CAPITAL LETTER W WITH ACUTE + 0x1E83: [713,14,722,23,707], // LATIN SMALL LETTER W WITH ACUTE + 0x1E84: [876,15,1000,19,981], // LATIN CAPITAL LETTER W WITH DIAERESIS + 0x1E85: [666,14,722,23,707], // LATIN SMALL LETTER W WITH DIAERESIS + 0x1EF2: [923,0,722,15,699], // LATIN CAPITAL LETTER Y WITH GRAVE + 0x1EF3: [713,205,500,16,482] // LATIN SMALL LETTER Y WITH GRAVE + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax["HTML-CSS"].fontDir + "/General/Bold/LatinExtendedAdditional.js"); diff --git a/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/LatinExtendedB.js b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/LatinExtendedB.js new file mode 100644 index 0000000..fcc10b5 --- /dev/null +++ b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/LatinExtendedB.js @@ -0,0 +1,59 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/LatinExtendedB.js + * + * Copyright (c) 2009-2010 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax['HTML-CSS'].FONTDATA.FONTS['STIXGeneral-bold'], + { + 0x180: [676,14,553,-28,516], // LATIN SMALL LETTER B WITH STROKE + 0x188: [576,14,568,30,574], // LATIN SMALL LETTER C WITH HOOK + 0x190: [686,4,610,38,587], // LATIN CAPITAL LETTER OPEN E + 0x192: [706,155,500,0,498], // LATIN SMALL LETTER F WITH HOOK + 0x195: [676,10,797,14,767], // LATIN SMALL LETTER HV + 0x199: [691,0,533,12,533], // LATIN SMALL LETTER K WITH HOOK + 0x19A: [676,0,291,24,265], // LATIN SMALL LETTER L WITH BAR + 0x19B: [666,0,536,60,526], // LATIN SMALL LETTER LAMBDA WITH STROKE + 0x19E: [473,205,559,21,539], // LATIN SMALL LETTER N WITH LONG RIGHT LEG + 0x1A0: [732,19,778,35,788], // LATIN CAPITAL LETTER O WITH HORN + 0x1A1: [505,14,554,25,576], // LATIN SMALL LETTER O WITH HORN + 0x1A5: [673,205,550,10,515], // LATIN SMALL LETTER P WITH HOOK + 0x1AA: [689,228,446,25,421], // LATIN LETTER REVERSED ESH LOOP + 0x1AB: [630,218,347,18,331], // LATIN SMALL LETTER T WITH PALATAL HOOK + 0x1AD: [691,12,371,19,389], // LATIN SMALL LETTER T WITH HOOK + 0x1AF: [810,19,796,16,836], // LATIN CAPITAL LETTER U WITH HORN + 0x1B0: [596,14,600,16,626], // LATIN SMALL LETTER U WITH HORN + 0x1BA: [450,237,441,9,415], // LATIN SMALL LETTER EZH WITH TAIL + 0x1BB: [688,0,515,27,492], // LATIN LETTER TWO WITH STROKE + 0x1BE: [541,10,527,78,449], // LATIN LETTER INVERTED GLOTTAL STOP WITH STROKE + 0x1C0: [740,0,186,60,126], // LATIN LETTER DENTAL CLICK + 0x1C1: [740,0,313,60,253], // LATIN LETTER LATERAL CLICK + 0x1C2: [740,0,445,39,405], // LATIN LETTER ALVEOLAR CLICK + 0x1C3: [691,13,333,81,251], // LATIN LETTER RETROFLEX CLICK + 0x1F0: [704,203,333,-57,335], // LATIN SMALL LETTER J WITH CARON + 0x1FA: [972,0,722,9,689], // LATIN CAPITAL LETTER A WITH RING ABOVE AND ACUTE + 0x1FB: [923,14,500,25,488], // LATIN SMALL LETTER A WITH RING ABOVE AND ACUTE + 0x1FC: [923,0,1000,4,951], // LATIN CAPITAL LETTER AE WITH ACUTE + 0x1FD: [713,14,722,33,694], // LATIN SMALL LETTER AE WITH ACUTE + 0x1FE: [923,74,778,35,743], // LATIN CAPITAL LETTER O WITH STROKE AND ACUTE + 0x1FF: [713,92,500,25,476], // LATIN SMALL LETTER O WITH STROKE AND ACUTE + 0x237: [461,203,333,-57,260] // LATIN SMALL LETTER DOTLESS J + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax["HTML-CSS"].fontDir + "/General/Bold/LatinExtendedB.js"); diff --git a/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/LetterlikeSymbols.js b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/LetterlikeSymbols.js new file mode 100644 index 0000000..9020c10 --- /dev/null +++ b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/LetterlikeSymbols.js @@ -0,0 +1,70 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/LetterlikeSymbols.js + * + * Copyright (c) 2009-2010 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax['HTML-CSS'].FONTDATA.FONTS['STIXGeneral-bold'], + { + 0x2102: [691,19,727,45,672], // stix-mathematical bold oblique double-struck capital C + 0x2105: [688,12,873,38,835], // CARE OF + 0x2107: [691,19,699,65,662], // EULER CONSTANT + 0x210C: [701,205,843,42,795], // BLACK-LETTER CAPITAL H + 0x210D: [676,0,768,75,693], // stix-mathematical bold oblique double-struck capital H + 0x210E: [685,10,576,50,543], // PLANCK CONSTANT + 0x210F: [685,10,576,50,543], // stix-/hbar - Planck's over 2pi + 0x2111: [701,25,790,54,735], // BLACK-LETTER CAPITAL I + 0x2113: [699,14,500,43,632], // SCRIPT SMALL L + 0x2115: [676,0,738,75,663], // stix-mathematical bold oblique double-struck capital N + 0x2116: [691,18,1093,10,1042], // NUMERO SIGN + 0x2117: [691,19,747,26,721], // SOUND RECORDING COPYRIGHT + 0x2118: [541,219,850,55,822], // SCRIPT CAPITAL P + 0x2119: [676,0,700,75,670], // stix-mathematical bold oblique double-struck capital P + 0x211A: [691,64,797,45,747], // stix-mathematical bold oblique double-struck capital Q + 0x211C: [701,25,884,50,841], // BLACK-LETTER CAPITAL R + 0x211D: [676,0,783,75,758], // stix-mathematical bold oblique double-struck capital R + 0x211E: [676,101,722,26,726], // PRESCRIPTION TAKE + 0x2122: [676,-271,1000,24,977], // TRADE MARK SIGN + 0x2124: [691,0,777,52,727], // stix-mathematical bold oblique double-struck capital Z + 0x2125: [676,205,448,21,424], // OUNCE SIGN + 0x2126: [692,0,758,35,723], // OHM SIGN + 0x2127: [674,18,758,35,723], // INVERTED OHM SIGN + 0x2128: [701,195,755,44,703], // BLACK-LETTER CAPITAL Z + 0x2129: [475,0,312,9,244], // TURNED GREEK SMALL LETTER IOTA + 0x212B: [920,0,722,9,689], // ANGSTROM SIGN + 0x212D: [701,19,773,54,731], // BLACK-LETTER CAPITAL C + 0x2132: [676,0,616,48,546], // TURNED CAPITAL F + 0x2135: [694,34,766,76,690], // ALEF SYMBOL + 0x2136: [694,34,703,60,659], // BET SYMBOL + 0x2137: [694,34,562,71,493], // GIMEL SYMBOL + 0x2138: [694,34,599,40,559], // DALET SYMBOL + 0x213C: [461,11,804,55,759], // DOUBLE-STRUCK SMALL PI + 0x213D: [486,203,646,23,624], // DOUBLE-STRUCK SMALL GAMMA + 0x213E: [676,0,497,75,643], // DOUBLE-STRUCK CAPITAL GAMMA + 0x213F: [676,0,768,75,693], // DOUBLE-STRUCK CAPITAL PI + 0x2140: [773,269,976,36,952], // DOUBLE-STRUCK N-ARY SUMMATION + 0x2145: [676,0,748,75,703], // stix-mathematical bold double-struck capital D + 0x2146: [676,14,643,50,583], // stix-mathematical bold double-struck small letter d + 0x2147: [473,14,573,50,523], // stix-mathematical bold double-struck small letter e + 0x2148: [691,0,330,65,265], // stix-mathematical bold double-struck small letter i + 0x2149: [691,205,371,-20,311], // stix-mathematical bold double-struck small letter j + 0x214B: [690,17,833,61,788] // TURNED AMPERSAND + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax["HTML-CSS"].fontDir + "/General/Bold/LetterlikeSymbols.js"); diff --git a/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/Main.js b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/Main.js new file mode 100644 index 0000000..79f2371 --- /dev/null +++ b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/Main.js @@ -0,0 +1,172 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/Main.js + * + * Copyright (c) 2009-2010 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +MathJax.OutputJax['HTML-CSS'].FONTDATA.FONTS['STIXGeneral-bold'] = { + directory: 'General/Bold', + family: 'STIXGeneral', + weight: 'bold', + Ranges: [ + [0xA0,0xFF,"Latin1Supplement"], + [0x100,0x17F,"LatinExtendedA"], + [0x180,0x24F,"LatinExtendedB"], + [0x250,0x2AF,"IPAExtensions"], + [0x2B0,0x2FF,"SpacingModLetters"], + [0x300,0x36F,"CombDiacritMarks"], + [0x370,0x3FF,"GreekAndCoptic"], + [0x400,0x4FF,"Cyrillic"], + [0x1D00,0x1DBF,"PhoneticExtensions"], + [0x1E00,0x1EFF,"LatinExtendedAdditional"], + [0x2000,0x206F,"GeneralPunctuation"], + [0x2070,0x209F,"SuperAndSubscripts"], + [0x20A0,0x20CF,"CurrencySymbols"], + [0x20D0,0x20FF,"CombDiactForSymbols"], + [0x2100,0x214F,"LetterlikeSymbols"], + [0x2150,0x218F,"NumberForms"], + [0x2190,0x21FF,"Arrows"], + [0x2200,0x22FF,"MathOperators"], + [0x2300,0x23FF,"MiscTechnical"], + [0x2400,0x243F,"ControlPictures"], + [0x2460,0x24FF,"EnclosedAlphanum"], + [0x2500,0x257F,"BoxDrawing"], + [0x25A0,0x25FF,"GeometricShapes"], + [0x2600,0x26FF,"MiscSymbols"], + [0x27C0,0x27EF,"MiscMathSymbolsA"], + [0x2980,0x29FF,"MiscMathSymbolsB"], + [0x2A00,0x2AFF,"SuppMathOperators"], + [0xFB00,0xFB4F,"AlphaPresentForms"], + [0x1D400,0x1D433,"MathBold"], + [0x1D56C,0x1D59F,"BoldFraktur"], + [0x1D5D4,0x1D607,"MathSSBold"], + [0x1D6A8,0x1D6E1,"GreekBold"], + [0x1D756,0x1D78F,"GreekSSBold"], + [0x1D7CE,0x1D7D7,"MathBold"], + [0x1D7EC,0x1D7F6,"MathSSBold"] + ], + 0x20: [0,0,250,0,0], // SPACE + 0x21: [691,13,333,81,251], // EXCLAMATION MARK + 0x22: [691,-404,555,83,472], // QUOTATION MARK + 0x23: [700,0,500,5,495], // NUMBER SIGN + 0x24: [750,99,500,29,472], // DOLLAR SIGN + 0x25: [706,29,749,61,688], // PERCENT SIGN + 0x26: [691,16,833,62,789], // AMPERSAND + 0x27: [691,-404,278,75,204], // APOSTROPHE + 0x28: [694,168,333,46,306], // LEFT PARENTHESIS + 0x29: [694,168,333,27,287], // RIGHT PARENTHESIS + 0x2A: [691,-255,500,56,448], // ASTERISK + 0x2B: [563,57,750,65,685], // PLUS SIGN + 0x2C: [155,180,250,39,223], // COMMA + 0x2D: [287,-171,333,44,287], // HYPHEN-MINUS + 0x2E: [156,13,250,41,210], // FULL STOP + 0x2F: [691,19,278,-24,302], // SOLIDUS + 0x30: [688,13,500,24,476], // DIGIT ZERO + 0x31: [688,0,500,65,441], // DIGIT ONE + 0x32: [688,0,500,17,478], // DIGIT TWO + 0x33: [688,14,500,16,468], // DIGIT THREE + 0x34: [688,0,500,19,476], // DIGIT FOUR + 0x35: [676,8,500,22,470], // DIGIT FIVE + 0x36: [688,13,500,28,475], // DIGIT SIX + 0x37: [676,0,500,17,477], // DIGIT SEVEN + 0x38: [688,13,500,28,472], // DIGIT EIGHT + 0x39: [688,13,500,26,473], // DIGIT NINE + 0x3A: [472,13,333,82,251], // COLON + 0x3B: [472,180,333,82,266], // SEMICOLON + 0x3C: [534,24,750,80,670], // LESS-THAN SIGN + 0x3D: [399,-107,750,68,682], // EQUALS SIGN + 0x3E: [534,24,750,80,670], // GREATER-THAN SIGN + 0x3F: [689,13,500,57,445], // QUESTION MARK + 0x40: [691,19,930,108,822], // COMMERCIAL AT + 0x41: [690,0,722,9,689], // LATIN CAPITAL LETTER A + 0x42: [676,0,667,16,619], // LATIN CAPITAL LETTER B + 0x43: [691,19,722,49,687], // LATIN CAPITAL LETTER C + 0x44: [676,0,722,14,690], // LATIN CAPITAL LETTER D + 0x45: [676,0,667,16,641], // LATIN CAPITAL LETTER E + 0x46: [676,0,611,16,583], // LATIN CAPITAL LETTER F + 0x47: [691,19,778,37,755], // LATIN CAPITAL LETTER G + 0x48: [676,0,778,21,759], // LATIN CAPITAL LETTER H + 0x49: [676,0,389,20,370], // LATIN CAPITAL LETTER I + 0x4A: [676,96,500,3,478], // LATIN CAPITAL LETTER J + 0x4B: [676,0,778,30,769], // LATIN CAPITAL LETTER K + 0x4C: [677,0,667,19,638], // LATIN CAPITAL LETTER L + 0x4D: [676,0,944,14,921], // LATIN CAPITAL LETTER M + 0x4E: [676,18,722,16,701], // LATIN CAPITAL LETTER N + 0x4F: [691,19,778,35,743], // LATIN CAPITAL LETTER O + 0x50: [676,0,611,16,600], // LATIN CAPITAL LETTER P + 0x51: [691,176,778,35,743], // LATIN CAPITAL LETTER Q + 0x52: [676,0,722,26,716], // LATIN CAPITAL LETTER R + 0x53: [692,19,556,35,513], // LATIN CAPITAL LETTER S + 0x54: [676,0,667,31,636], // LATIN CAPITAL LETTER T + 0x55: [676,19,722,16,701], // LATIN CAPITAL LETTER U + 0x56: [676,18,722,16,701], // LATIN CAPITAL LETTER V + 0x57: [676,15,1000,19,981], // LATIN CAPITAL LETTER W + 0x58: [676,0,722,16,699], // LATIN CAPITAL LETTER X + 0x59: [676,0,722,15,699], // LATIN CAPITAL LETTER Y + 0x5A: [676,0,667,28,634], // LATIN CAPITAL LETTER Z + 0x5B: [678,149,333,67,301], // LEFT SQUARE BRACKET + 0x5C: [691,19,278,-25,303], // REVERSE SOLIDUS + 0x5D: [678,149,333,32,266], // RIGHT SQUARE BRACKET + 0x5E: [676,-311,581,73,509], // CIRCUMFLEX ACCENT + 0x5F: [-75,125,500,0,500], // LOW LINE + 0x60: [713,-528,333,8,246], // GRAVE ACCENT + 0x61: [473,14,500,25,488], // LATIN SMALL LETTER A + 0x62: [676,14,556,17,521], // LATIN SMALL LETTER B + 0x63: [473,14,444,25,430], // LATIN SMALL LETTER C + 0x64: [676,14,556,25,534], // LATIN SMALL LETTER D + 0x65: [473,14,444,25,427], // LATIN SMALL LETTER E + 0x66: [691,0,333,14,389], // LATIN SMALL LETTER F + 0x67: [473,206,500,28,483], // LATIN SMALL LETTER G + 0x68: [676,0,556,15,534], // LATIN SMALL LETTER H + 0x69: [691,0,278,15,256], // LATIN SMALL LETTER I + 0x6A: [691,203,333,-57,263], // LATIN SMALL LETTER J + 0x6B: [676,0,556,22,543], // LATIN SMALL LETTER K + 0x6C: [676,0,278,15,256], // LATIN SMALL LETTER L + 0x6D: [473,0,833,15,814], // LATIN SMALL LETTER M + 0x6E: [473,0,556,21,539], // LATIN SMALL LETTER N + 0x6F: [473,14,500,25,476], // LATIN SMALL LETTER O + 0x70: [473,205,556,19,524], // LATIN SMALL LETTER P + 0x71: [473,205,556,34,536], // LATIN SMALL LETTER Q + 0x72: [473,0,444,28,434], // LATIN SMALL LETTER R + 0x73: [473,14,389,25,361], // LATIN SMALL LETTER S + 0x74: [630,12,333,19,332], // LATIN SMALL LETTER T + 0x75: [461,14,556,16,538], // LATIN SMALL LETTER U + 0x76: [461,14,500,21,485], // LATIN SMALL LETTER V + 0x77: [461,14,722,23,707], // LATIN SMALL LETTER W + 0x78: [461,0,500,12,484], // LATIN SMALL LETTER X + 0x79: [461,205,500,16,482], // LATIN SMALL LETTER Y + 0x7A: [461,0,444,21,420], // LATIN SMALL LETTER Z + 0x7B: [698,175,394,22,340], // LEFT CURLY BRACKET + 0x7C: [691,19,220,66,154], // VERTICAL LINE + 0x7D: [698,175,394,54,372], // RIGHT CURLY BRACKET + 0x7E: [333,-173,520,29,491], // TILDE + 0x393: [676,0,620,16,593], // GREEK CAPITAL LETTER GAMMA + 0x394: [690,0,722,33,673], // GREEK CAPITAL LETTER DELTA + 0x398: [692,18,778,35,743], // GREEK CAPITAL LETTER THETA + 0x39B: [690,0,707,9,674], // GREEK CAPITAL LETTER LAMDA + 0x39E: [676,0,647,40,607], // GREEK CAPITAL LETTER XI + 0x3A0: [676,0,778,21,759], // GREEK CAPITAL LETTER PI + 0x3A3: [676,0,671,28,641], // GREEK CAPITAL LETTER SIGMA + 0x3A5: [692,0,703,7,693], // GREEK CAPITAL LETTER UPSILON + 0x3A6: [676,0,836,18,818], // GREEK CAPITAL LETTER PHI + 0x3A8: [692,0,808,15,797], // GREEK CAPITAL LETTER PSI + 0x3A9: [692,0,768,28,740] // GREEK CAPITAL LETTER OMEGA +}; + +MathJax.OutputJax["HTML-CSS"].initFont("STIXGeneral-bold"); + +MathJax.Ajax.loadComplete(MathJax.OutputJax["HTML-CSS"].fontDir + "/General/Bold/Main.js"); diff --git a/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/MathBold.js b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/MathBold.js new file mode 100644 index 0000000..e3782ac --- /dev/null +++ b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/MathBold.js @@ -0,0 +1,89 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/MathBold.js + * + * Copyright (c) 2009-2010 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax['HTML-CSS'].FONTDATA.FONTS['STIXGeneral-bold'], + { + 0x1D400: [690,0,722,9,689], // MATHEMATICAL BOLD CAPITAL A + 0x1D401: [676,0,667,16,619], // MATHEMATICAL BOLD CAPITAL B + 0x1D402: [691,19,722,49,687], // MATHEMATICAL BOLD CAPITAL C + 0x1D403: [676,0,722,14,690], // MATHEMATICAL BOLD CAPITAL D + 0x1D404: [676,0,667,16,641], // MATHEMATICAL BOLD CAPITAL E + 0x1D405: [676,0,611,16,583], // MATHEMATICAL BOLD CAPITAL F + 0x1D406: [691,19,778,37,755], // MATHEMATICAL BOLD CAPITAL G + 0x1D407: [676,0,778,21,759], // MATHEMATICAL BOLD CAPITAL H + 0x1D408: [676,0,389,20,370], // MATHEMATICAL BOLD CAPITAL I + 0x1D409: [676,96,500,3,478], // MATHEMATICAL BOLD CAPITAL J + 0x1D40A: [676,0,778,30,769], // MATHEMATICAL BOLD CAPITAL K + 0x1D40B: [676,0,667,19,638], // MATHEMATICAL BOLD CAPITAL L + 0x1D40C: [676,0,944,14,921], // MATHEMATICAL BOLD CAPITAL M + 0x1D40D: [676,18,722,16,701], // MATHEMATICAL BOLD CAPITAL N + 0x1D40E: [691,19,778,35,743], // MATHEMATICAL BOLD CAPITAL O + 0x1D40F: [676,0,611,16,600], // MATHEMATICAL BOLD CAPITAL P + 0x1D410: [691,176,778,35,743], // MATHEMATICAL BOLD CAPITAL Q + 0x1D411: [676,0,722,26,716], // MATHEMATICAL BOLD CAPITAL R + 0x1D412: [692,19,556,35,513], // MATHEMATICAL BOLD CAPITAL S + 0x1D413: [676,0,667,31,636], // MATHEMATICAL BOLD CAPITAL T + 0x1D414: [676,19,722,16,701], // MATHEMATICAL BOLD CAPITAL U + 0x1D415: [676,18,722,16,701], // MATHEMATICAL BOLD CAPITAL V + 0x1D416: [676,15,1000,19,981], // MATHEMATICAL BOLD CAPITAL W + 0x1D417: [676,0,722,16,699], // MATHEMATICAL BOLD CAPITAL X + 0x1D418: [676,0,722,15,699], // MATHEMATICAL BOLD CAPITAL Y + 0x1D419: [676,0,667,28,634], // MATHEMATICAL BOLD CAPITAL Z + 0x1D41A: [473,14,500,25,488], // MATHEMATICAL BOLD SMALL A + 0x1D41B: [676,14,556,17,521], // MATHEMATICAL BOLD SMALL B + 0x1D41C: [473,14,444,25,430], // MATHEMATICAL BOLD SMALL C + 0x1D41D: [676,14,556,25,534], // MATHEMATICAL BOLD SMALL D + 0x1D41E: [473,14,444,25,427], // MATHEMATICAL BOLD SMALL E + 0x1D41F: [691,0,333,14,389], // MATHEMATICAL BOLD SMALL F + 0x1D420: [473,206,500,28,483], // MATHEMATICAL BOLD SMALL G + 0x1D421: [676,0,556,15,534], // MATHEMATICAL BOLD SMALL H + 0x1D422: [691,0,278,15,256], // MATHEMATICAL BOLD SMALL I + 0x1D423: [691,203,333,-57,263], // MATHEMATICAL BOLD SMALL J + 0x1D424: [676,0,556,22,543], // MATHEMATICAL BOLD SMALL K + 0x1D425: [676,0,278,15,256], // MATHEMATICAL BOLD SMALL L + 0x1D426: [473,0,833,15,814], // MATHEMATICAL BOLD SMALL M + 0x1D427: [473,0,556,21,539], // MATHEMATICAL BOLD SMALL N + 0x1D428: [473,14,500,25,476], // MATHEMATICAL BOLD SMALL O + 0x1D429: [473,205,556,19,524], // MATHEMATICAL BOLD SMALL P + 0x1D42A: [473,205,556,34,536], // MATHEMATICAL BOLD SMALL Q + 0x1D42B: [473,0,444,28,434], // MATHEMATICAL BOLD SMALL R + 0x1D42C: [473,14,389,25,361], // MATHEMATICAL BOLD SMALL S + 0x1D42D: [630,12,333,19,332], // MATHEMATICAL BOLD SMALL T + 0x1D42E: [461,14,556,16,538], // MATHEMATICAL BOLD SMALL U + 0x1D42F: [461,14,500,21,485], // MATHEMATICAL BOLD SMALL V + 0x1D430: [461,14,722,23,707], // MATHEMATICAL BOLD SMALL W + 0x1D431: [461,0,500,12,484], // MATHEMATICAL BOLD SMALL X + 0x1D432: [461,205,500,16,482], // MATHEMATICAL BOLD SMALL Y + 0x1D433: [461,0,444,21,420], // MATHEMATICAL BOLD SMALL Z + 0x1D7CE: [688,13,500,24,476], // MATHEMATICAL BOLD DIGIT ZERO + 0x1D7CF: [688,0,500,65,441], // MATHEMATICAL BOLD DIGIT ONE + 0x1D7D0: [688,0,500,17,478], // MATHEMATICAL BOLD DIGIT TWO + 0x1D7D1: [688,14,500,16,468], // MATHEMATICAL BOLD DIGIT THREE + 0x1D7D2: [688,0,500,19,476], // MATHEMATICAL BOLD DIGIT FOUR + 0x1D7D3: [676,8,500,22,470], // MATHEMATICAL BOLD DIGIT FIVE + 0x1D7D4: [688,13,500,28,475], // MATHEMATICAL BOLD DIGIT SIX + 0x1D7D5: [676,0,500,17,477], // MATHEMATICAL BOLD DIGIT SEVEN + 0x1D7D6: [688,13,500,28,472], // MATHEMATICAL BOLD DIGIT EIGHT + 0x1D7D7: [688,13,500,26,473] // MATHEMATICAL BOLD DIGIT NINE + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax["HTML-CSS"].fontDir + "/General/Bold/MathBold.js"); diff --git a/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/MathOperators.js b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/MathOperators.js new file mode 100644 index 0000000..2930eba --- /dev/null +++ b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/MathOperators.js @@ -0,0 +1,260 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/MathOperators.js + * + * Copyright (c) 2009-2010 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax['HTML-CSS'].FONTDATA.FONTS['STIXGeneral-bold'], + { + 0x2200: [676,0,599,5,594], // FOR ALL + 0x2201: [785,29,539,63,476], // COMPLEMENT + 0x2202: [686,10,559,44,559], // PARTIAL DIFFERENTIAL + 0x2203: [676,0,599,76,523], // THERE EXISTS + 0x2204: [803,127,599,76,523], // THERE DOES NOT EXIST + 0x2205: [594,90,787,50,737], // EMPTY SET + 0x2206: [676,0,681,23,658], // INCREMENT + 0x2207: [676,0,681,23,658], // NABLA + 0x2208: [547,13,750,82,668], // ELEMENT OF + 0x2209: [680,146,750,82,668], // stix-negated (vert) set membership, variant + 0x220A: [499,-35,500,60,440], // SMALL ELEMENT OF + 0x220B: [547,13,750,82,668], // CONTAINS AS MEMBER + 0x220C: [680,146,750,82,668], // stix-negated (vert) contains + 0x220D: [499,-35,500,60,440], // SMALL CONTAINS AS MEMBER + 0x220F: [763,259,1000,37,963], // N-ARY PRODUCT + 0x2210: [763,259,982,28,954], // N-ARY COPRODUCT + 0x2211: [763,259,914,40,873], // N-ARY SUMMATION + 0x2212: [297,-209,750,66,685], // MINUS SIGN + 0x2213: [657,12,770,65,685], // MINUS-OR-PLUS SIGN + 0x2214: [793,57,750,65,685], // DOT PLUS + 0x2215: [732,193,584,78,506], // DIVISION SLASH + 0x2216: [411,-93,452,25,427], // SET MINUS + 0x2217: [502,-34,585,82,503], // ASTERISK OPERATOR + 0x2218: [409,-95,394,40,354], // RING OPERATOR + 0x2219: [473,-59,584,85,499], // BULLET OPERATOR + 0x221A: [946,259,965,130,1016], // SQUARE ROOT + 0x221D: [450,0,772,80,692], // PROPORTIONAL TO + 0x221E: [450,0,964,80,884], // INFINITY + 0x221F: [584,0,685,50,634], // RIGHT ANGLE + 0x2220: [569,0,792,50,708], // ANGLE + 0x2221: [569,74,792,50,708], // MEASURED ANGLE + 0x2222: [534,26,695,27,667], // SPHERICAL ANGLE + 0x2223: [690,189,288,100,188], // DIVIDES + 0x2224: [690,189,411,23,388], // DOES NOT DIVIDE + 0x2225: [690,189,487,100,387], // PARALLEL TO + 0x2226: [690,189,617,23,594], // NOT PARALLEL TO + 0x2227: [536,28,640,52,588], // LOGICAL AND + 0x2228: [536,28,640,52,588], // LOGICAL OR + 0x2229: [541,33,650,66,584], // stix-intersection, serifs + 0x222A: [541,33,650,66,584], // stix-union, serifs + 0x222B: [824,320,553,32,733], // INTEGRAL + 0x222C: [824,320,863,32,1043], // DOUBLE INTEGRAL + 0x222D: [824,320,1174,32,1354], // TRIPLE INTEGRAL + 0x222E: [824,320,591,30,731], // CONTOUR INTEGRAL + 0x222F: [824,320,903,32,1043], // SURFACE INTEGRAL + 0x2230: [824,320,1214,32,1354], // VOLUME INTEGRAL + 0x2231: [824,320,593,32,733], // CLOCKWISE INTEGRAL + 0x2232: [824,320,593,32,733], // CLOCKWISE CONTOUR INTEGRAL + 0x2233: [824,320,593,32,733], // ANTICLOCKWISE CONTOUR INTEGRAL + 0x2234: [575,41,750,66,685], // THEREFORE + 0x2235: [575,41,750,66,685], // BECAUSE + 0x2236: [575,41,554,190,364], // RATIO + 0x2237: [575,41,750,68,683], // PROPORTION + 0x2238: [543,-209,750,66,685], // DOT MINUS + 0x2239: [543,37,750,66,686], // EXCESS + 0x223A: [575,41,750,66,685], // GEOMETRIC PROPORTION + 0x223B: [565,59,750,67,682], // HOMOTHETIC + 0x223C: [374,-132,750,67,682], // TILDE OPERATOR + 0x223D: [374,-132,750,67,682], // REVERSED TILDE + 0x223E: [419,-85,750,68,683], // stix-most positive + 0x223F: [484,-67,750,66,684], // stix-reverse sine wave + 0x2240: [575,40,348,53,295], // WREATH PRODUCT + 0x2241: [444,-62,750,67,682], // stix-not, vert, similar + 0x2242: [463,-45,750,68,683], // MINUS TILDE + 0x2243: [463,-45,750,68,683], // ASYMPTOTICALLY EQUAL TO + 0x2244: [530,54,750,68,683], // stix-not (vert) similar or equal + 0x2245: [568,60,750,68,683], // APPROXIMATELY EQUAL TO + 0x2246: [568,150,750,68,683], // APPROXIMATELY BUT NOT ACTUALLY EQUAL TO + 0x2247: [642,152,750,68,683], // stix-not (vert) similar over two-line equals + 0x2248: [508,-26,750,68,683], // ALMOST EQUAL TO + 0x2249: [583,48,750,68,683], // stix-not, vert, approximate + 0x224A: [568,75,750,68,683], // ALMOST EQUAL OR EQUAL TO + 0x224B: [613,109,750,68,683], // TRIPLE TILDE + 0x224C: [568,60,750,68,683], // stix-all equal to (lazy S over equals) (formerly 224C; that shape changed) + 0x224D: [518,13,750,68,683], // EQUIVALENT TO + 0x224E: [484,-22,750,68,683], // GEOMETRICALLY EQUIVALENT TO + 0x224F: [484,-107,750,68,683], // DIFFERENCE BETWEEN + 0x2250: [667,-107,750,68,682], // APPROACHES THE LIMIT + 0x2251: [667,161,750,68,682], // GEOMETRICALLY EQUAL TO + 0x2252: [667,161,750,68,682], // APPROXIMATELY EQUAL TO OR THE IMAGE OF + 0x2253: [667,161,750,68,682], // IMAGE OF OR APPROXIMATELY EQUAL TO + 0x2254: [483,-50,932,68,864], // COLON EQUALS + 0x2255: [483,-50,932,68,864], // EQUALS COLON + 0x2256: [471,-63,750,68,682], // RING IN EQUAL TO + 0x2257: [809,-107,750,68,682], // RING EQUAL TO + 0x2258: [761,-107,750,68,682], // CORRESPONDS TO + 0x2259: [836,-107,750,68,682], // ESTIMATES + 0x225A: [836,-107,750,68,682], // EQUIANGULAR TO + 0x225B: [841,-107,750,68,682], // STAR EQUALS + 0x225C: [844,-107,750,68,682], // DELTA EQUAL TO + 0x225D: [838,-107,750,55,735], // EQUAL TO BY DEFINITION + 0x225E: [721,-107,750,68,682], // MEASURED BY + 0x225F: [880,-107,750,68,682], // QUESTIONED EQUAL TO + 0x2260: [662,156,750,68,682], // stix-not (vert) equals + 0x2261: [507,-27,750,68,682], // IDENTICAL TO + 0x2262: [688,156,750,68,682], // stix-not (vert) three-line equals + 0x2263: [592,57,750,68,682], // STRICTLY EQUIVALENT TO + 0x2264: [627,121,750,80,670], // LESS-THAN OR EQUAL TO + 0x2265: [627,120,750,80,670], // GREATER-THAN OR EQUAL TO + 0x2266: [729,222,750,80,670], // LESS-THAN OVER EQUAL TO + 0x2267: [729,222,750,80,670], // GREATER-THAN OVER EQUAL TO + 0x2268: [729,294,750,80,670], // stix-less, vert, not double equals + 0x2269: [729,294,750,80,670], // stix-gt, vert, not double equals + 0x226A: [534,24,1000,38,961], // MUCH LESS-THAN + 0x226B: [534,24,1000,38,961], // MUCH GREATER-THAN + 0x226C: [732,193,417,46,371], // BETWEEN + 0x226D: [591,87,750,68,683], // stix-not (vert) asymptotically equal to + 0x226E: [625,115,750,80,670], // stix-not, vert, less-than + 0x226F: [625,115,750,80,670], // stix-not, vert, greater-than + 0x2270: [717,235,750,80,670], // stix-not, vert, less-than-or-equal + 0x2271: [717,235,750,80,670], // stix-not, vert, greater-than-or-equal + 0x2272: [690,182,750,67,682], // stix-less-than or (contour) similar + 0x2273: [690,182,750,67,682], // stix-greater-than or (contour) similar + 0x2274: [780,282,750,67,682], // stix-not, vert, less, similar + 0x2275: [780,282,750,67,682], // stix-not, vert, greater, similar + 0x2276: [734,226,750,80,670], // LESS-THAN OR GREATER-THAN + 0x2277: [734,226,750,80,670], // GREATER-THAN OR LESS-THAN + 0x2278: [824,316,750,80,670], // stix-not, vert, less, greater + 0x2279: [824,316,750,80,670], // stix-not, vert, greater, less + 0x227A: [531,23,750,80,670], // PRECEDES + 0x227B: [531,23,750,80,670], // SUCCEEDS + 0x227C: [645,138,750,80,670], // PRECEDES OR EQUAL TO + 0x227D: [645,138,750,80,670], // SUCCEEDS OR EQUAL TO + 0x227E: [676,169,750,67,682], // PRECEDES OR EQUIVALENT TO + 0x227F: [676,169,750,67,682], // SUCCEEDS OR EQUIVALENT TO + 0x2280: [625,115,750,80,670], // DOES NOT PRECEDE + 0x2281: [625,115,750,80,670], // stix-not (vert) succeeds + 0x2282: [547,13,750,82,668], // SUBSET OF + 0x2283: [547,13,750,82,668], // SUPERSET OF + 0x2284: [680,146,750,82,668], // stix-not subset [vertical negation] + 0x2285: [680,146,750,82,668], // stix-not superset [vertical negation] + 0x2286: [647,101,750,82,668], // SUBSET OF OR EQUAL TO + 0x2287: [647,101,750,82,668], // SUPERSET OF OR EQUAL TO + 0x2288: [747,201,750,82,668], // stix-/nsubseteq N: not (vert) subset, equals + 0x2289: [747,201,750,82,668], // stix-/nsupseteq N: not (vert) superset, equals + 0x228A: [734,200,750,82,668], // stix-subset, not equals, variant + 0x228B: [734,200,750,82,668], // stix-superset, not equals, variant + 0x228C: [541,33,650,66,584], // MULTISET + 0x228D: [541,33,650,66,584], // MULTISET MULTIPLICATION + 0x228E: [541,33,650,66,584], // MULTISET UNION + 0x228F: [532,27,750,87,663], // SQUARE IMAGE OF + 0x2290: [532,27,750,87,663], // SQUARE ORIGINAL OF + 0x2291: [644,93,750,87,663], // SQUARE IMAGE OF OR EQUAL TO + 0x2292: [644,93,750,87,663], // SQUARE ORIGINAL OF OR EQUAL TO + 0x2293: [541,33,650,66,584], // stix-square intersection, serifs + 0x2294: [541,33,650,66,584], // stix-square union, serifs + 0x2295: [634,130,864,50,814], // stix-circled plus (with rim) + 0x2296: [634,130,864,50,814], // CIRCLED MINUS + 0x2297: [634,130,864,50,814], // stix-circled times (with rim) + 0x2298: [634,130,864,50,814], // CIRCLED DIVISION SLASH + 0x2299: [594,90,784,50,734], // CIRCLED DOT OPERATOR + 0x229A: [634,130,842,39,803], // CIRCLED RING OPERATOR + 0x229B: [634,130,864,50,814], // CIRCLED ASTERISK OPERATOR + 0x229C: [634,130,864,50,814], // stix-two horizontal bars in circle + 0x229D: [634,130,864,50,814], // CIRCLED DASH + 0x229E: [661,158,910,45,865], // SQUARED PLUS + 0x229F: [661,158,910,45,865], // SQUARED MINUS + 0x22A0: [661,158,910,45,865], // SQUARED TIMES + 0x22A1: [661,158,910,45,865], // SQUARED DOT OPERATOR + 0x22A2: [676,0,750,91,659], // RIGHT TACK + 0x22A3: [676,0,750,91,659], // LEFT TACK + 0x22A4: [676,0,750,91,659], // DOWN TACK + 0x22A5: [676,0,750,91,659], // UP TACK + 0x22A6: [676,0,555,91,464], // ASSERTION + 0x22A7: [676,0,555,91,464], // MODELS + 0x22A8: [676,0,750,91,659], // TRUE + 0x22A9: [676,0,972,91,882], // FORCES + 0x22AA: [676,0,944,91,856], // TRIPLE VERTICAL BAR RIGHT TURNSTILE + 0x22AB: [676,0,944,91,856], // DOUBLE VERTICAL BAR DOUBLE RIGHT TURNSTILE + 0x22AC: [676,0,913,21,822], // DOES NOT PROVE + 0x22AD: [676,0,912,21,822], // NOT TRUE + 0x22AE: [676,0,1096,21,1024], // DOES NOT FORCE + 0x22AF: [676,0,1104,21,1016], // NEGATED DOUBLE VERTICAL BAR DOUBLE RIGHT TURNSTILE + 0x22B0: [543,38,750,98,652], // PRECEDES UNDER RELATION + 0x22B1: [543,38,750,98,652], // SUCCEEDS UNDER RELATION + 0x22B2: [534,24,750,81,669], // NORMAL SUBGROUP OF + 0x22B3: [534,24,750,81,669], // CONTAINS AS NORMAL SUBGROUP + 0x22B4: [621,113,750,81,669], // NORMAL SUBGROUP OF OR EQUAL TO + 0x22B5: [621,113,750,81,669], // CONTAINS AS NORMAL SUBGROUP OR EQUAL TO + 0x22B6: [436,-96,1216,50,1166], // ORIGINAL OF + 0x22B7: [436,-96,1216,50,1166], // IMAGE OF + 0x22B8: [436,-96,884,50,834], // MULTIMAP + 0x22B9: [563,57,750,65,685], // HERMITIAN CONJUGATE MATRIX + 0x22BA: [461,216,498,74,424], // INTERCALATE + 0x22BB: [536,189,640,52,588], // XOR + 0x22BC: [697,28,640,52,588], // NAND + 0x22BD: [697,28,640,52,588], // NOR + 0x22BE: [630,0,750,60,690], // RIGHT ANGLE WITH ARC + 0x22BF: [662,158,910,45,865], // RIGHT TRIANGLE + 0x22C4: [515,-17,584,43,541], // DIAMOND OPERATOR + 0x22C7: [595,63,750,66,685], // DIVISION TIMES + 0x22C8: [604,72,870,67,803], // BOWTIE + 0x22C9: [604,72,870,57,817], // LEFT NORMAL FACTOR SEMIDIRECT PRODUCT + 0x22CA: [604,72,870,53,813], // RIGHT NORMAL FACTOR SEMIDIRECT PRODUCT + 0x22CB: [604,72,870,97,773], // LEFT SEMIDIRECT PRODUCT + 0x22CC: [604,72,870,97,773], // RIGHT SEMIDIRECT PRODUCT + 0x22CD: [463,-45,750,68,683], // REVERSED TILDE EQUALS + 0x22CE: [536,28,640,41,599], // CURLY LOGICAL OR + 0x22CF: [536,28,640,41,599], // CURLY LOGICAL AND + 0x22D0: [600,67,750,63,687], // DOUBLE SUBSET + 0x22D1: [600,67,750,63,687], // DOUBLE SUPERSET + 0x22D2: [541,33,750,65,685], // DOUBLE INTERSECTION + 0x22D3: [541,33,750,65,685], // DOUBLE UNION + 0x22D4: [643,33,650,66,584], // PITCHFORK + 0x22D5: [690,189,685,48,637], // EQUAL AND PARALLEL TO + 0x22D6: [534,24,750,80,670], // LESS-THAN WITH DOT + 0x22D7: [534,24,750,80,670], // GREATER-THAN WITH DOT + 0x22D8: [534,24,1336,40,1296], // VERY MUCH LESS-THAN + 0x22D9: [534,24,1336,40,1296], // VERY MUCH GREATER-THAN + 0x22DA: [916,408,750,80,670], // stix-less, equal, slanted, greater + 0x22DB: [916,408,750,80,670], // stix-greater, equal, slanted, less + 0x22DC: [627,120,750,80,670], // EQUAL TO OR LESS-THAN + 0x22DD: [627,120,750,80,670], // EQUAL TO OR GREATER-THAN + 0x22DE: [645,138,750,80,670], // EQUAL TO OR PRECEDES + 0x22DF: [645,138,750,80,670], // EQUAL TO OR SUCCEEDS + 0x22E0: [735,199,750,80,670], // stix-not (vert) precedes or contour equals + 0x22E1: [735,199,750,80,670], // stix-not (vert) succeeds or contour equals + 0x22E2: [792,241,750,87,663], // NOT SQUARE IMAGE OF OR EQUAL TO + 0x22E3: [792,241,750,87,663], // NOT SQUARE ORIGINAL OF OR EQUAL TO + 0x22E6: [690,200,750,67,682], // LESS-THAN BUT NOT EQUIVALENT TO + 0x22E7: [690,200,750,67,682], // GREATER-THAN BUT NOT EQUIVALENT TO + 0x22E8: [676,187,750,67,682], // PRECEDES BUT NOT EQUIVALENT TO + 0x22E9: [676,187,750,67,682], // SUCCEEDS BUT NOT EQUIVALENT TO + 0x22EA: [625,115,750,81,669], // NOT NORMAL SUBGROUP OF + 0x22EB: [625,115,750,81,669], // DOES NOT CONTAIN AS NORMAL SUBGROUP + 0x22EC: [711,228,750,81,669], // stix-not, vert, left triangle, equals + 0x22ED: [711,228,750,81,669], // stix-not, vert, right triangle, equals + 0x22EE: [678,174,584,205,375], // VERTICAL ELLIPSIS + 0x22EF: [351,-181,977,62,914], // MIDLINE HORIZONTAL ELLIPSIS + 0x22F0: [579,75,977,162,815], // UP RIGHT DIAGONAL ELLIPSIS + 0x22F1: [579,75,977,162,815], // DOWN RIGHT DIAGONAL ELLIPSIS + 0x22F6: [735,13,750,82,668], // ELEMENT OF WITH OVERBAR + 0x22FD: [735,13,750,82,668] // CONTAINS WITH OVERBAR + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax["HTML-CSS"].fontDir + "/General/Bold/MathOperators.js"); diff --git a/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/MathSSBold.js b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/MathSSBold.js new file mode 100644 index 0000000..04ae647 --- /dev/null +++ b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/MathSSBold.js @@ -0,0 +1,89 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/MathSSBold.js + * + * Copyright (c) 2009-2010 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax['HTML-CSS'].FONTDATA.FONTS['STIXGeneral-bold'], + { + 0x1D5D4: [690,0,690,25,665], // MATHEMATICAL SANS-SERIF BOLD CAPITAL A + 0x1D5D5: [676,0,636,80,594], // MATHEMATICAL SANS-SERIF BOLD CAPITAL B + 0x1D5D6: [691,19,723,49,688], // MATHEMATICAL SANS-SERIF BOLD CAPITAL C + 0x1D5D7: [676,0,709,80,674], // MATHEMATICAL SANS-SERIF BOLD CAPITAL D + 0x1D5D8: [676,0,635,80,597], // MATHEMATICAL SANS-SERIF BOLD CAPITAL E + 0x1D5D9: [676,0,582,80,570], // MATHEMATICAL SANS-SERIF BOLD CAPITAL F + 0x1D5DA: [691,19,746,37,671], // MATHEMATICAL SANS-SERIF BOLD CAPITAL G + 0x1D5DB: [676,0,715,80,635], // MATHEMATICAL SANS-SERIF BOLD CAPITAL H + 0x1D5DC: [676,0,440,65,375], // MATHEMATICAL SANS-SERIF BOLD CAPITAL I + 0x1D5DD: [676,96,481,15,406], // MATHEMATICAL SANS-SERIF BOLD CAPITAL J + 0x1D5DE: [676,0,712,80,707], // MATHEMATICAL SANS-SERIF BOLD CAPITAL K + 0x1D5DF: [676,0,603,80,587], // MATHEMATICAL SANS-SERIF BOLD CAPITAL L + 0x1D5E0: [676,0,913,80,833], // MATHEMATICAL SANS-SERIF BOLD CAPITAL M + 0x1D5E1: [676,18,724,80,644], // MATHEMATICAL SANS-SERIF BOLD CAPITAL N + 0x1D5E2: [692,18,778,35,743], // MATHEMATICAL SANS-SERIF BOLD CAPITAL O + 0x1D5E3: [676,0,581,80,569], // MATHEMATICAL SANS-SERIF BOLD CAPITAL P + 0x1D5E4: [691,176,779,35,754], // MATHEMATICAL SANS-SERIF BOLD CAPITAL Q + 0x1D5E5: [676,0,670,80,657], // MATHEMATICAL SANS-SERIF BOLD CAPITAL R + 0x1D5E6: [691,19,554,35,511], // MATHEMATICAL SANS-SERIF BOLD CAPITAL S + 0x1D5E7: [676,0,641,14,627], // MATHEMATICAL SANS-SERIF BOLD CAPITAL T + 0x1D5E8: [676,19,699,75,624], // MATHEMATICAL SANS-SERIF BOLD CAPITAL U + 0x1D5E9: [676,18,690,25,665], // MATHEMATICAL SANS-SERIF BOLD CAPITAL V + 0x1D5EA: [676,15,997,30,967], // MATHEMATICAL SANS-SERIF BOLD CAPITAL W + 0x1D5EB: [676,0,740,40,700], // MATHEMATICAL SANS-SERIF BOLD CAPITAL X + 0x1D5EC: [676,0,694,20,674], // MATHEMATICAL SANS-SERIF BOLD CAPITAL Y + 0x1D5ED: [676,0,653,25,623], // MATHEMATICAL SANS-SERIF BOLD CAPITAL Z + 0x1D5EE: [473,14,489,23,428], // MATHEMATICAL SANS-SERIF BOLD SMALL A + 0x1D5EF: [676,13,512,55,487], // MATHEMATICAL SANS-SERIF BOLD SMALL B + 0x1D5F0: [473,14,462,25,442], // MATHEMATICAL SANS-SERIF BOLD SMALL C + 0x1D5F1: [676,14,518,25,463], // MATHEMATICAL SANS-SERIF BOLD SMALL D + 0x1D5F2: [473,13,452,25,433], // MATHEMATICAL SANS-SERIF BOLD SMALL E + 0x1D5F3: [691,0,340,14,374], // MATHEMATICAL SANS-SERIF BOLD SMALL F + 0x1D5F4: [473,206,504,28,490], // MATHEMATICAL SANS-SERIF BOLD SMALL G + 0x1D5F5: [676,0,510,55,455], // MATHEMATICAL SANS-SERIF BOLD SMALL H + 0x1D5F6: [688,0,245,50,195], // MATHEMATICAL SANS-SERIF BOLD SMALL I + 0x1D5F7: [688,203,324,-57,269], // MATHEMATICAL SANS-SERIF BOLD SMALL J + 0x1D5F8: [676,0,519,55,506], // MATHEMATICAL SANS-SERIF BOLD SMALL K + 0x1D5F9: [676,0,235,55,180], // MATHEMATICAL SANS-SERIF BOLD SMALL L + 0x1D5FA: [473,0,776,55,721], // MATHEMATICAL SANS-SERIF BOLD SMALL M + 0x1D5FB: [473,0,510,55,455], // MATHEMATICAL SANS-SERIF BOLD SMALL N + 0x1D5FC: [473,14,501,25,476], // MATHEMATICAL SANS-SERIF BOLD SMALL O + 0x1D5FD: [473,205,512,55,487], // MATHEMATICAL SANS-SERIF BOLD SMALL P + 0x1D5FE: [473,205,512,25,457], // MATHEMATICAL SANS-SERIF BOLD SMALL Q + 0x1D5FF: [473,0,411,55,406], // MATHEMATICAL SANS-SERIF BOLD SMALL R + 0x1D600: [473,13,385,25,357], // MATHEMATICAL SANS-SERIF BOLD SMALL S + 0x1D601: [630,12,386,7,371], // MATHEMATICAL SANS-SERIF BOLD SMALL T + 0x1D602: [461,15,518,55,463], // MATHEMATICAL SANS-SERIF BOLD SMALL U + 0x1D603: [461,14,462,15,447], // MATHEMATICAL SANS-SERIF BOLD SMALL V + 0x1D604: [461,14,701,17,684], // MATHEMATICAL SANS-SERIF BOLD SMALL W + 0x1D605: [461,0,506,20,486], // MATHEMATICAL SANS-SERIF BOLD SMALL X + 0x1D606: [461,205,472,18,455], // MATHEMATICAL SANS-SERIF BOLD SMALL Y + 0x1D607: [461,0,441,21,417], // MATHEMATICAL SANS-SERIF BOLD SMALL Z + 0x1D7EC: [688,13,500,24,476], // MATHEMATICAL SANS-SERIF BOLD DIGIT ZERO + 0x1D7ED: [688,0,500,82,334], // MATHEMATICAL SANS-SERIF BOLD DIGIT ONE + 0x1D7EE: [688,0,500,20,474], // MATHEMATICAL SANS-SERIF BOLD DIGIT TWO + 0x1D7EF: [688,13,500,18,479], // MATHEMATICAL SANS-SERIF BOLD DIGIT THREE + 0x1D7F0: [688,0,500,19,484], // MATHEMATICAL SANS-SERIF BOLD DIGIT FOUR + 0x1D7F1: [676,13,500,13,483], // MATHEMATICAL SANS-SERIF BOLD DIGIT FIVE + 0x1D7F2: [688,13,500,26,475], // MATHEMATICAL SANS-SERIF BOLD DIGIT SIX + 0x1D7F3: [676,0,500,35,471], // MATHEMATICAL SANS-SERIF BOLD DIGIT SEVEN + 0x1D7F4: [688,13,500,28,472], // MATHEMATICAL SANS-SERIF BOLD DIGIT EIGHT + 0x1D7F5: [688,13,500,26,475] // MATHEMATICAL SANS-SERIF BOLD DIGIT NINE + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax["HTML-CSS"].fontDir + "/General/Bold/MathSSBold.js"); diff --git a/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/MiscMathSymbolsA.js b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/MiscMathSymbolsA.js new file mode 100644 index 0000000..e4700e7 --- /dev/null +++ b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/MiscMathSymbolsA.js @@ -0,0 +1,31 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/MiscMathSymbolsA.js + * + * Copyright (c) 2009-2010 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax['HTML-CSS'].FONTDATA.FONTS['STIXGeneral-bold'], + { + 0x27C8: [547,13,1025,62,943], // REVERSE SOLIDUS PRECEDING SUBSET + 0x27C9: [547,13,1025,62,943], // SUBSET PRECEDING SOLIDUS + 0x27E8: [732,193,445,69,399], // MATHEMATICAL LEFT ANGLE BRACKET + 0x27E9: [732,193,445,46,376] // MATHEMATICAL RIGHT ANGLE BRACKET + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax["HTML-CSS"].fontDir + "/General/Bold/MiscMathSymbolsA.js"); diff --git a/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/MiscMathSymbolsB.js b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/MiscMathSymbolsB.js new file mode 100644 index 0000000..256ad58 --- /dev/null +++ b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/MiscMathSymbolsB.js @@ -0,0 +1,37 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/MiscMathSymbolsB.js + * + * Copyright (c) 2009-2010 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax['HTML-CSS'].FONTDATA.FONTS['STIXGeneral-bold'], + { + 0x2980: [705,200,675,105,570], // TRIPLE VERTICAL BAR DELIMITER + 0x29B6: [634,130,864,50,814], // CIRCLED VERTICAL BAR + 0x29B7: [634,130,864,50,814], // CIRCLED PARALLEL + 0x29B8: [634,130,864,50,814], // CIRCLED REVERSE SOLIDUS + 0x29C0: [634,130,864,50,814], // CIRCLED LESS-THAN + 0x29C1: [634,130,864,50,814], // CIRCLED GREATER-THAN + 0x29C4: [661,158,910,45,865], // SQUARED RISING DIAGONAL SLASH + 0x29C5: [661,158,910,45,865], // SQUARED FALLING DIAGONAL SLASH + 0x29C6: [661,158,910,45,865], // SQUARED ASTERISK + 0x29C7: [661,158,910,45,865] // SQUARED SMALL CIRCLE + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax["HTML-CSS"].fontDir + "/General/Bold/MiscMathSymbolsB.js"); diff --git a/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/MiscSymbols.js b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/MiscSymbols.js new file mode 100644 index 0000000..c61a8c8 --- /dev/null +++ b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/MiscSymbols.js @@ -0,0 +1,30 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/MiscSymbols.js + * + * Copyright (c) 2009-2010 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax['HTML-CSS'].FONTDATA.FONTS['STIXGeneral-bold'], + { + 0x266D: [740,5,437,86,389], // MUSIC FLAT SIGN + 0x266E: [818,210,490,97,393], // MUSIC NATURAL SIGN + 0x266F: [818,210,490,52,438] // MUSIC SHARP SIGN + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax["HTML-CSS"].fontDir + "/General/Bold/MiscSymbols.js"); diff --git a/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/MiscTechnical.js b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/MiscTechnical.js new file mode 100644 index 0000000..e59cd5f --- /dev/null +++ b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/MiscTechnical.js @@ -0,0 +1,42 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/MiscTechnical.js + * + * Copyright (c) 2009-2010 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax['HTML-CSS'].FONTDATA.FONTS['STIXGeneral-bold'], + { + 0x2302: [774,0,926,55,871], // HOUSE + 0x2308: [731,193,469,164,459], // LEFT CEILING + 0x2309: [731,193,469,10,305], // RIGHT CEILING + 0x230A: [732,193,469,164,459], // LEFT FLOOR + 0x230B: [732,193,469,10,305], // RIGHT FLOOR + 0x2310: [399,-108,750,65,685], // REVERSED NOT SIGN + 0x2319: [399,-108,750,65,685], // TURNED NOT SIGN + 0x2322: [378,-129,1026,37,990], // stix-small down curve + 0x2323: [378,-129,1026,37,990], // stix-small up curve + 0x2329: [732,193,445,69,399], // LEFT-POINTING ANGLE BRACKET + 0x232A: [732,193,445,46,376], // RIGHT-POINTING ANGLE BRACKET + 0x2336: [751,156,926,85,841], // APL FUNCTIONAL SYMBOL I-BEAM + 0x233D: [694,190,924,80,844], // APL FUNCTIONAL SYMBOL CIRCLE STILE + 0x233F: [732,200,728,55,673], // APL FUNCTIONAL SYMBOL SLASH BAR + 0x23AF: [297,-209,315,0,315] // HORIZONTAL LINE EXTENSION + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax["HTML-CSS"].fontDir + "/General/Bold/MiscTechnical.js"); diff --git a/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/NumberForms.js b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/NumberForms.js new file mode 100644 index 0000000..43ac403 --- /dev/null +++ b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/NumberForms.js @@ -0,0 +1,39 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/NumberForms.js + * + * Copyright (c) 2009-2010 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax['HTML-CSS'].FONTDATA.FONTS['STIXGeneral-bold'], + { + 0x2153: [688,12,750,-7,763], // VULGAR FRACTION ONE THIRD + 0x2154: [688,12,750,28,763], // VULGAR FRACTION TWO THIRDS + 0x2155: [688,12,750,-7,775], // VULGAR FRACTION ONE FIFTH + 0x2156: [688,12,750,28,775], // VULGAR FRACTION TWO FIFTHS + 0x2157: [688,12,750,23,775], // VULGAR FRACTION THREE FIFTHS + 0x2158: [688,12,750,22,775], // VULGAR FRACTION FOUR FIFTHS + 0x2159: [688,12,750,-7,758], // VULGAR FRACTION ONE SIXTH + 0x215A: [688,12,750,49,758], // VULGAR FRACTION FIVE SIXTHS + 0x215B: [688,12,750,-7,775], // VULGAR FRACTION ONE EIGHTH + 0x215C: [688,12,750,23,775], // VULGAR FRACTION THREE EIGHTHS + 0x215D: [688,12,750,49,775], // VULGAR FRACTION FIVE EIGHTHS + 0x215E: [688,12,750,30,775] // VULGAR FRACTION SEVEN EIGHTHS + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax["HTML-CSS"].fontDir + "/General/Bold/NumberForms.js"); diff --git a/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/PhoneticExtensions.js b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/PhoneticExtensions.js new file mode 100644 index 0000000..f2e1c0d --- /dev/null +++ b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/PhoneticExtensions.js @@ -0,0 +1,30 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/PhoneticExtensions.js + * + * Copyright (c) 2009-2010 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax['HTML-CSS'].FONTDATA.FONTS['STIXGeneral-bold'], + { + 0x1D00: [475,0,515,9,503], // LATIN LETTER SMALL CAPITAL A + 0x1D07: [461,0,531,20,511], // LATIN LETTER SMALL CAPITAL E + 0x1D1C: [461,19,600,16,584] // LATIN LETTER SMALL CAPITAL U + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax["HTML-CSS"].fontDir + "/General/Bold/PhoneticExtensions.js"); diff --git a/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/SpacingModLetters.js b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/SpacingModLetters.js new file mode 100644 index 0000000..f0a66d2 --- /dev/null +++ b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/SpacingModLetters.js @@ -0,0 +1,87 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/SpacingModLetters.js + * + * Copyright (c) 2009-2010 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax['HTML-CSS'].FONTDATA.FONTS['STIXGeneral-bold'], + { + 0x2B0: [842,-335,378,6,365], // MODIFIER LETTER SMALL H + 0x2B1: [848,-336,378,7,365], // MODIFIER LETTER SMALL H WITH HOOK + 0x2B2: [868,-179,300,25,273], // MODIFIER LETTER SMALL J + 0x2B3: [699,-335,270,12,266], // MODIFIER LETTER SMALL R + 0x2B4: [690,-326,292,10,264], // MODIFIER LETTER SMALL TURNED R + 0x2B5: [690,-163,319,10,342], // MODIFIER LETTER SMALL TURNED R WITH HOOK + 0x2B6: [684,-345,404,20,397], // MODIFIER LETTER SMALL CAPITAL INVERTED R + 0x2B7: [681,-331,550,23,528], // MODIFIER LETTER SMALL W + 0x2B8: [690,-179,380,16,374], // MODIFIER LETTER SMALL Y + 0x2B9: [684,-421,208,30,216], // MODIFIER LETTER PRIME + 0x2BA: [684,-421,356,19,364], // MODIFIER LETTER DOUBLE PRIME + 0x2BB: [685,-350,333,39,223], // MODIFIER LETTER TURNED COMMA + 0x2BC: [686,-351,333,39,223], // MODIFIER LETTER APOSTROPHE + 0x2BD: [686,-351,250,39,223], // MODIFIER LETTER REVERSED COMMA + 0x2BE: [662,-382,334,65,250], // MODIFIER LETTER RIGHT HALF RING + 0x2BF: [662,-382,334,65,250], // MODIFIER LETTER LEFT HALF RING + 0x2C0: [690,-240,353,30,333], // MODIFIER LETTER GLOTTAL STOP + 0x2C1: [690,-240,353,30,333], // MODIFIER LETTER REVERSED GLOTTAL STOP + 0x2C2: [760,-414,317,30,297], // MODIFIER LETTER LEFT ARROWHEAD + 0x2C3: [760,-414,317,30,297], // MODIFIER LETTER RIGHT ARROWHEAD + 0x2C4: [720,-453,317,-14,332], // MODIFIER LETTER UP ARROWHEAD + 0x2C5: [720,-453,317,-14,332], // MODIFIER LETTER DOWN ARROWHEAD + 0x2C6: [704,-528,333,-2,335], // MODIFIER LETTER CIRCUMFLEX ACCENT + 0x2C7: [704,-528,333,-2,335], // CARON + 0x2C8: [720,-455,279,112,167], // MODIFIER LETTER VERTICAL LINE + 0x2C9: [637,-565,370,20,350], // MODIFIER LETTER MACRON + 0x2CA: [713,-528,266,20,258], // MODIFIER LETTER ACUTE ACCENT + 0x2CB: [713,-528,266,20,258], // MODIFIER LETTER GRAVE ACCENT + 0x2CC: [70,195,278,112,167], // MODIFIER LETTER LOW VERTICAL LINE + 0x2CD: [-88,160,370,20,350], // MODIFIER LETTER LOW MACRON + 0x2CE: [-7,192,333,15,253], // MODIFIER LETTER LOW GRAVE ACCENT + 0x2CF: [-7,192,333,80,318], // MODIFIER LETTER LOW ACUTE ACCENT + 0x2D0: [474,-4,333,79,254], // MODIFIER LETTER TRIANGULAR COLON + 0x2D1: [474,-294,333,79,254], // MODIFIER LETTER HALF TRIANGULAR COLON + 0x2D2: [378,-62,333,65,268], // MODIFIER LETTER CENTRED RIGHT HALF RING + 0x2D3: [378,-62,333,65,268], // MODIFIER LETTER CENTRED LEFT HALF RING + 0x2D4: [206,-4,333,51,281], // MODIFIER LETTER UP TACK + 0x2D5: [206,-4,333,51,281], // MODIFIER LETTER DOWN TACK + 0x2D6: [227,-9,334,61,273], // MODIFIER LETTER PLUS SIGN + 0x2D7: [150,-84,334,61,273], // MODIFIER LETTER MINUS SIGN + 0x2D8: [691,-528,333,15,318], // BREVE + 0x2D9: [666,-537,333,102,231], // DOT ABOVE + 0x2DA: [750,-537,333,60,273], // RING ABOVE + 0x2DB: [44,173,333,90,319], // OGONEK + 0x2DC: [674,-547,333,-16,349], // SMALL TILDE + 0x2DD: [713,-528,333,-13,425], // DOUBLE ACUTE ACCENT + 0x2DE: [481,-186,292,0,302], // MODIFIER LETTER RHOTIC HOOK + 0x2DF: [744,-506,260,10,250], // MODIFIER LETTER CROSS ACCENT + 0x2E0: [684,-190,420,10,410], // MODIFIER LETTER SMALL GAMMA + 0x2E1: [842,-335,190,5,186], // MODIFIER LETTER SMALL L + 0x2E2: [695,-320,300,19,278], // MODIFIER LETTER SMALL S + 0x2E3: [690,-335,380,12,376], // MODIFIER LETTER SMALL X + 0x2E4: [855,-335,328,20,323], // MODIFIER LETTER SMALL REVERSED GLOTTAL STOP + 0x2E5: [676,0,405,40,368], // MODIFIER LETTER EXTRA-HIGH TONE BAR + 0x2E6: [676,0,405,40,368], // MODIFIER LETTER HIGH TONE BAR + 0x2E7: [676,0,405,40,368], // MODIFIER LETTER MID TONE BAR + 0x2E8: [676,0,405,40,368], // MODIFIER LETTER LOW TONE BAR + 0x2E9: [676,0,405,40,368], // MODIFIER LETTER EXTRA-LOW TONE BAR + 0x2EC: [70,167,314,5,309], // MODIFIER LETTER VOICING + 0x2ED: [720,-528,395,5,390] // MODIFIER LETTER UNASPIRATED + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax["HTML-CSS"].fontDir + "/General/Bold/SpacingModLetters.js"); diff --git a/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/SuperAndSubscripts.js b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/SuperAndSubscripts.js new file mode 100644 index 0000000..a8cc0a1 --- /dev/null +++ b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/SuperAndSubscripts.js @@ -0,0 +1,28 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/SuperAndSubscripts.js + * + * Copyright (c) 2009-2010 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax['HTML-CSS'].FONTDATA.FONTS['STIXGeneral-bold'], + { + 0x207F: [700,-275,491,15,478] // SUPERSCRIPT LATIN SMALL LETTER N + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax["HTML-CSS"].fontDir + "/General/Bold/SuperAndSubscripts.js"); diff --git a/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/SuppMathOperators.js b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/SuppMathOperators.js new file mode 100644 index 0000000..8c02211 --- /dev/null +++ b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/SuppMathOperators.js @@ -0,0 +1,84 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/SuppMathOperators.js + * + * Copyright (c) 2009-2010 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax['HTML-CSS'].FONTDATA.FONTS['STIXGeneral-bold'], + { + 0x2A0C: [824,320,1484,32,1664], // QUADRUPLE INTEGRAL OPERATOR + 0x2A0D: [824,320,593,32,733], // FINITE PART INTEGRAL + 0x2A0E: [824,320,593,32,733], // INTEGRAL WITH DOUBLE STROKE + 0x2A0F: [824,320,593,32,733], // INTEGRAL AVERAGE WITH SLASH + 0x2A10: [824,320,593,32,733], // CIRCULATION FUNCTION + 0x2A11: [824,320,593,32,733], // ANTICLOCKWISE INTEGRATION + 0x2A12: [824,320,613,32,733], // LINE INTEGRATION WITH RECTANGULAR PATH AROUND POLE + 0x2A13: [824,320,593,32,733], // LINE INTEGRATION WITH SEMICIRCULAR PATH AROUND POLE + 0x2A14: [824,320,675,32,735], // LINE INTEGRATION NOT INCLUDING THE POLE + 0x2A15: [824,320,593,32,733], // INTEGRAL AROUND A POINT OPERATOR + 0x2A16: [824,320,623,32,733], // QUATERNION INTEGRAL OPERATOR + 0x2A17: [824,320,791,32,871], // INTEGRAL WITH LEFTWARDS ARROW WITH HOOK + 0x2A18: [824,320,633,32,733], // INTEGRAL WITH TIMES SIGN + 0x2A19: [824,320,653,32,733], // INTEGRAL WITH INTERSECTION + 0x2A1A: [824,320,653,32,733], // INTEGRAL WITH UNION + 0x2A1B: [959,320,557,32,737], // INTEGRAL WITH OVERBAR + 0x2A1C: [824,455,557,32,737], // INTEGRAL WITH UNDERBAR + 0x2A22: [894,57,750,65,685], // PLUS SIGN WITH SMALL CIRCLE ABOVE + 0x2A23: [736,57,750,65,685], // PLUS SIGN WITH CIRCUMFLEX ACCENT ABOVE + 0x2A24: [746,57,750,65,685], // PLUS SIGN WITH TILDE ABOVE + 0x2A25: [563,287,750,65,685], // PLUS SIGN WITH DOT BELOW + 0x2A26: [563,240,750,65,685], // PLUS SIGN WITH TILDE BELOW + 0x2A27: [563,247,780,65,778], // PLUS SIGN WITH SUBSCRIPT TWO + 0x2A2A: [297,37,750,66,685], // MINUS SIGN WITH DOT BELOW + 0x2A2B: [543,37,750,66,685], // MINUS SIGN WITH FALLING DOTS + 0x2A30: [745,33,702,66,636], // MULTIPLICATION SIGN WITH DOT ABOVE + 0x2A31: [538,191,702,66,636], // MULTIPLICATION SIGN WITH UNDERBAR + 0x2A32: [538,59,702,66,636], // SEMIDIRECT PRODUCT WITH BOTTOM CLOSED + 0x2A3F: [676,0,734,27,707], // AMALGAMATION OR COPRODUCT + 0x2A5E: [887,28,640,52,588], // LOGICAL AND WITH DOUBLE OVERBAR + 0x2A63: [536,379,640,52,588], // LOGICAL OR WITH DOUBLE UNDERBAR + 0x2A66: [399,161,750,68,682], // EQUALS SIGN WITH DOT BELOW + 0x2A67: [775,-27,750,68,682], // IDENTICAL WITH DOT ABOVE + 0x2A6A: [565,-132,750,67,682], // TILDE OPERATOR WITH DOT ABOVE + 0x2A6D: [759,60,750,68,683], // CONGRUENT WITH DOT ABOVE + 0x2A6E: [884,-107,750,68,682], // EQUALS WITH ASTERISK + 0x2A6F: [752,-26,750,68,683], // ALMOST EQUAL TO WITH CIRCUMFLEX ACCENT + 0x2A70: [680,176,750,68,683], // APPROXIMATELY EQUAL OR EQUAL TO + 0x2A71: [665,159,750,65,685], // EQUALS SIGN ABOVE PLUS SIGN + 0x2A72: [665,159,750,65,685], // PLUS SIGN ABOVE EQUALS SIGN + 0x2A73: [568,60,750,67,682], // EQUALS SIGN ABOVE TILDE OPERATOR + 0x2A7D: [648,140,750,80,670], // LESS-THAN OR SLANTED EQUAL TO + 0x2A7E: [648,140,750,80,670], // GREATER-THAN OR SLANTED EQUAL TO + 0x2A87: [646,213,750,80,670], // LESS-THAN AND SINGLE-LINE NOT EQUAL TO + 0x2A88: [646,213,750,80,670], // GREATER-THAN AND SINGLE-LINE NOT EQUAL TO + 0x2A89: [792,305,750,67,682], // LESS-THAN AND NOT APPROXIMATE + 0x2A8A: [792,305,750,67,682], // GREATER-THAN AND NOT APPROXIMATE + 0x2A95: [648,140,750,80,670], // SLANTED EQUAL TO OR LESS-THAN + 0x2A96: [648,140,750,80,670], // SLANTED EQUAL TO OR GREATER-THAN + 0x2A9D: [689,183,750,67,682], // stix-similar (conforming) or less-than + 0x2A9E: [689,183,750,67,682], // SIMILAR OR GREATER-THAN + 0x2AAF: [619,111,750,80,670], // PRECEDES ABOVE SINGLE-LINE EQUALS SIGN + 0x2AB0: [619,111,750,80,670], // SUCCEEDS ABOVE SINGLE-LINE EQUALS SIGN + 0x2ABD: [547,13,750,82,668], // SUBSET WITH DOT + 0x2ABE: [547,13,750,82,668], // SUPERSET WITH DOT + 0x2AC5: [730,222,750,80,670], // SUBSET OF ABOVE EQUALS SIGN + 0x2AC6: [730,222,750,80,670] // SUPERSET OF ABOVE EQUALS SIGN + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax["HTML-CSS"].fontDir + "/General/Bold/SuppMathOperators.js"); diff --git a/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/BoldItalic/AlphaPresentForms.js b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/BoldItalic/AlphaPresentForms.js new file mode 100644 index 0000000..194a77d --- /dev/null +++ b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/BoldItalic/AlphaPresentForms.js @@ -0,0 +1,32 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/fonts/STIX/General/BoldItalic/AlphaPresentForms.js + * + * Copyright (c) 2009-2010 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax['HTML-CSS'].FONTDATA.FONTS['STIXGeneral-bold-italic'], + { + 0xFB00: [698,205,613,-169,726], // LATIN SMALL LIGATURE FF + 0xFB01: [703,205,556,-188,514], // LATIN SMALL LIGATURE FI + 0xFB02: [704,205,556,-186,553], // LATIN SMALL LIGATURE FL + 0xFB03: [703,205,856,-169,814], // LATIN SMALL LIGATURE FFI + 0xFB04: [704,205,854,-169,851] // LATIN SMALL LIGATURE FFL + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax["HTML-CSS"].fontDir + "/General/BoldItalic/AlphaPresentForms.js"); diff --git a/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/BoldItalic/BasicLatin.js b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/BoldItalic/BasicLatin.js new file mode 100644 index 0000000..9f5fea7 --- /dev/null +++ b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/BoldItalic/BasicLatin.js @@ -0,0 +1,122 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/fonts/STIX/General/BoldItalic/BasicLatin.js + * + * Copyright (c) 2009-2010 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax['HTML-CSS'].FONTDATA.FONTS['STIXGeneral-bold-italic'], + { + 0x20: [0,0,250,0,0], // SPACE + 0x21: [684,13,389,67,370], // EXCLAMATION MARK + 0x22: [685,-398,555,136,536], // QUOTATION MARK + 0x23: [700,0,500,-32,532], // NUMBER SIGN + 0x24: [733,100,500,-20,497], // DOLLAR SIGN + 0x25: [706,29,757,80,707], // PERCENT SIGN + 0x26: [682,19,849,76,771], // AMPERSAND + 0x27: [685,-398,278,128,268], // APOSTROPHE + 0x28: [685,179,333,28,344], // LEFT PARENTHESIS + 0x29: [685,179,333,-44,271], // RIGHT PARENTHESIS + 0x2A: [685,-252,500,101,492], // ASTERISK + 0x2B: [506,0,570,33,537], // PLUS SIGN + 0x2C: [134,182,250,-60,144], // COMMA + 0x2D: [282,-166,333,2,271], // HYPHEN-MINUS + 0x2E: [135,13,250,-9,139], // FULL STOP + 0x2F: [685,18,278,-64,342], // SOLIDUS + 0x30: [683,14,500,17,477], // DIGIT ZERO + 0x31: [683,0,500,5,419], // DIGIT ONE + 0x32: [683,0,500,-27,446], // DIGIT TWO + 0x33: [683,13,500,-14,450], // DIGIT THREE + 0x34: [683,0,500,-15,503], // DIGIT FOUR + 0x35: [669,13,500,-11,486], // DIGIT FIVE + 0x36: [679,15,500,23,509], // DIGIT SIX + 0x37: [669,0,500,52,525], // DIGIT SEVEN + 0x38: [683,13,500,3,476], // DIGIT EIGHT + 0x39: [683,10,500,-12,475], // DIGIT NINE + 0x3A: [459,13,333,23,264], // COLON + 0x3B: [459,183,333,-25,264], // SEMICOLON + 0x3C: [518,12,570,31,539], // LESS-THAN SIGN + 0x3D: [399,-107,570,33,537], // EQUALS SIGN + 0x3E: [518,12,570,31,539], // GREATER-THAN SIGN + 0x3F: [684,13,500,79,470], // QUESTION MARK + 0x40: [685,18,939,118,825], // COMMERCIAL AT + 0x41: [683,0,667,-68,593], // LATIN CAPITAL LETTER A + 0x42: [669,0,667,-25,624], // LATIN CAPITAL LETTER B + 0x43: [685,18,667,32,677], // LATIN CAPITAL LETTER C + 0x44: [669,0,722,-46,685], // LATIN CAPITAL LETTER D + 0x45: [669,0,667,-27,653], // LATIN CAPITAL LETTER E + 0x46: [669,0,667,-13,660], // LATIN CAPITAL LETTER F + 0x47: [685,18,722,21,705], // LATIN CAPITAL LETTER G + 0x48: [669,0,778,-24,799], // LATIN CAPITAL LETTER H + 0x49: [669,0,389,-32,406], // LATIN CAPITAL LETTER I + 0x4A: [669,99,500,-46,524], // LATIN CAPITAL LETTER J + 0x4B: [669,0,667,-21,702], // LATIN CAPITAL LETTER K + 0x4C: [669,0,611,-22,590], // LATIN CAPITAL LETTER L + 0x4D: [669,12,889,-29,917], // LATIN CAPITAL LETTER M + 0x4E: [669,15,722,-27,748], // LATIN CAPITAL LETTER N + 0x4F: [685,18,722,27,691], // LATIN CAPITAL LETTER O + 0x50: [669,0,611,-28,613], // LATIN CAPITAL LETTER P + 0x51: [685,208,722,27,691], // LATIN CAPITAL LETTER Q + 0x52: [669,0,667,-28,623], // LATIN CAPITAL LETTER R + 0x53: [685,18,556,2,526], // LATIN CAPITAL LETTER S + 0x54: [669,0,611,49,650], // LATIN CAPITAL LETTER T + 0x55: [669,18,722,67,744], // LATIN CAPITAL LETTER U + 0x56: [669,18,667,66,715], // LATIN CAPITAL LETTER V + 0x57: [669,18,889,64,940], // LATIN CAPITAL LETTER W + 0x58: [669,0,667,-24,694], // LATIN CAPITAL LETTER X + 0x59: [669,0,611,71,659], // LATIN CAPITAL LETTER Y + 0x5A: [669,0,611,-12,589], // LATIN CAPITAL LETTER Z + 0x5B: [674,159,333,-37,362], // LEFT SQUARE BRACKET + 0x5C: [685,18,278,-1,279], // REVERSE SOLIDUS + 0x5D: [674,157,333,-56,343], // RIGHT SQUARE BRACKET + 0x5E: [669,-304,570,67,503], // CIRCUMFLEX ACCENT + 0x5F: [-75,125,500,0,500], // LOW LINE + 0x60: [697,-516,333,85,297], // GRAVE ACCENT + 0x61: [462,14,500,-21,456], // LATIN SMALL LETTER A + 0x62: [699,13,500,-14,444], // LATIN SMALL LETTER B + 0x63: [462,13,444,-5,392], // LATIN SMALL LETTER C + 0x64: [699,13,500,-21,517], // LATIN SMALL LETTER D + 0x65: [462,13,444,5,398], // LATIN SMALL LETTER E + 0x66: [698,205,333,-169,446], // LATIN SMALL LETTER F + 0x67: [462,203,500,-52,477], // LATIN SMALL LETTER G + 0x68: [699,9,556,-13,498], // LATIN SMALL LETTER H + 0x69: [684,9,278,2,262], // LATIN SMALL LETTER I + 0x6A: [685,207,278,-189,279], // LATIN SMALL LETTER J + 0x6B: [699,8,500,-23,483], // LATIN SMALL LETTER K + 0x6C: [699,9,278,2,290], // LATIN SMALL LETTER L + 0x6D: [462,9,778,-14,723], // LATIN SMALL LETTER M + 0x6E: [462,9,556,-6,494], // LATIN SMALL LETTER N + 0x6F: [462,13,500,-3,441], // LATIN SMALL LETTER O + 0x70: [462,205,500,-120,446], // LATIN SMALL LETTER P + 0x71: [462,205,500,1,471], // LATIN SMALL LETTER Q + 0x72: [462,0,389,-21,389], // LATIN SMALL LETTER R + 0x73: [462,13,389,-19,333], // LATIN SMALL LETTER S + 0x74: [594,9,278,-11,281], // LATIN SMALL LETTER T + 0x75: [462,9,556,15,493], // LATIN SMALL LETTER U + 0x76: [462,13,444,15,401], // LATIN SMALL LETTER V + 0x77: [462,13,667,15,614], // LATIN SMALL LETTER W + 0x78: [462,13,500,-45,469], // LATIN SMALL LETTER X + 0x79: [462,205,444,-94,392], // LATIN SMALL LETTER Y + 0x7A: [449,78,389,-43,368], // LATIN SMALL LETTER Z + 0x7B: [686,187,348,4,436], // LEFT CURLY BRACKET + 0x7C: [685,18,220,66,154], // VERTICAL LINE + 0x7D: [686,187,348,-129,303], // RIGHT CURLY BRACKET + 0x7E: [331,-175,570,54,516] // TILDE + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax["HTML-CSS"].fontDir + "/General/BoldItalic/BasicLatin.js"); diff --git a/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/BoldItalic/BoxDrawing.js b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/BoldItalic/BoxDrawing.js new file mode 100644 index 0000000..eccb4d0 --- /dev/null +++ b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/BoldItalic/BoxDrawing.js @@ -0,0 +1,67 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/fonts/STIX/General/BoldItalic/BoxDrawing.js + * + * Copyright (c) 2009-2010 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax['HTML-CSS'].FONTDATA.FONTS['STIXGeneral-bold-italic'], + { + 0x2500: [340,-267,708,-11,719], // BOX DRAWINGS LIGHT HORIZONTAL + 0x2502: [910,303,696,312,385], // BOX DRAWINGS LIGHT VERTICAL + 0x250C: [340,303,708,318,720], // BOX DRAWINGS LIGHT DOWN AND RIGHT + 0x2510: [340,303,708,-11,390], // BOX DRAWINGS LIGHT DOWN AND LEFT + 0x2514: [910,-267,708,318,720], // BOX DRAWINGS LIGHT UP AND RIGHT + 0x2518: [910,-267,708,-11,390], // BOX DRAWINGS LIGHT UP AND LEFT + 0x251C: [910,303,708,318,720], // BOX DRAWINGS LIGHT VERTICAL AND RIGHT + 0x2524: [910,303,708,-11,390], // BOX DRAWINGS LIGHT VERTICAL AND LEFT + 0x252C: [340,303,708,-11,719], // BOX DRAWINGS LIGHT DOWN AND HORIZONTAL + 0x2534: [910,-267,708,-11,719], // BOX DRAWINGS LIGHT UP AND HORIZONTAL + 0x253C: [910,303,708,-11,719], // BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL + 0x2550: [433,-174,708,-11,719], // BOX DRAWINGS DOUBLE HORIZONTAL + 0x2551: [910,303,708,225,484], // BOX DRAWINGS DOUBLE VERTICAL + 0x2552: [433,303,708,318,720], // BOX DRAWINGS DOWN SINGLE AND RIGHT DOUBLE + 0x2553: [340,303,708,225,720], // BOX DRAWINGS DOWN DOUBLE AND RIGHT SINGLE + 0x2554: [433,303,708,225,719], // BOX DRAWINGS DOUBLE DOWN AND RIGHT + 0x2555: [433,303,708,-11,390], // BOX DRAWINGS DOWN SINGLE AND LEFT DOUBLE + 0x2556: [340,303,708,-11,483], // BOX DRAWINGS DOWN DOUBLE AND LEFT SINGLE + 0x2557: [433,303,708,-11,483], // BOX DRAWINGS DOUBLE DOWN AND LEFT + 0x2558: [910,-174,708,318,720], // BOX DRAWINGS UP SINGLE AND RIGHT DOUBLE + 0x2559: [910,-267,708,225,720], // BOX DRAWINGS UP DOUBLE AND RIGHT SINGLE + 0x255A: [910,-174,708,225,719], // BOX DRAWINGS DOUBLE UP AND RIGHT + 0x255B: [910,-174,708,-11,390], // BOX DRAWINGS UP SINGLE AND LEFT DOUBLE + 0x255C: [910,-267,708,-11,483], // BOX DRAWINGS UP DOUBLE AND LEFT SINGLE + 0x255D: [910,-174,708,-11,483], // BOX DRAWINGS DOUBLE UP AND LEFT + 0x255E: [910,303,708,318,720], // BOX DRAWINGS VERTICAL SINGLE AND RIGHT DOUBLE + 0x255F: [910,303,708,225,720], // BOX DRAWINGS VERTICAL DOUBLE AND RIGHT SINGLE + 0x2560: [910,303,708,225,720], // BOX DRAWINGS DOUBLE VERTICAL AND RIGHT + 0x2561: [910,303,708,-11,390], // BOX DRAWINGS VERTICAL SINGLE AND LEFT DOUBLE + 0x2562: [910,303,708,-11,483], // BOX DRAWINGS VERTICAL DOUBLE AND LEFT SINGLE + 0x2563: [910,303,708,-11,483], // BOX DRAWINGS DOUBLE VERTICAL AND LEFT + 0x2564: [433,303,708,-11,719], // BOX DRAWINGS DOWN SINGLE AND HORIZONTAL DOUBLE + 0x2565: [340,303,708,-11,719], // BOX DRAWINGS DOWN DOUBLE AND HORIZONTAL SINGLE + 0x2566: [433,303,708,-11,719], // BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL + 0x2567: [910,-174,708,-11,719], // BOX DRAWINGS UP SINGLE AND HORIZONTAL DOUBLE + 0x2568: [910,-267,708,-11,719], // BOX DRAWINGS UP DOUBLE AND HORIZONTAL SINGLE + 0x2569: [910,-174,708,-11,719], // BOX DRAWINGS DOUBLE UP AND HORIZONTAL + 0x256A: [910,303,708,-11,719], // BOX DRAWINGS VERTICAL SINGLE AND HORIZONTAL DOUBLE + 0x256B: [910,303,708,-11,719], // BOX DRAWINGS VERTICAL DOUBLE AND HORIZONTAL SINGLE + 0x256C: [910,303,708,-11,719] // BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax["HTML-CSS"].fontDir + "/General/BoldItalic/BoxDrawing.js"); diff --git a/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/BoldItalic/CombDiactForSymbols.js b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/BoldItalic/CombDiactForSymbols.js new file mode 100644 index 0000000..11dc36d --- /dev/null +++ b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/BoldItalic/CombDiactForSymbols.js @@ -0,0 +1,28 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/fonts/STIX/General/BoldItalic/CombDiactForSymbols.js + * + * Copyright (c) 2009-2010 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax['HTML-CSS'].FONTDATA.FONTS['STIXGeneral-bold-italic'], + { + 0x20DD: [760,254,0,-753,256] // COMBINING ENCLOSING CIRCLE + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax["HTML-CSS"].fontDir + "/General/BoldItalic/CombDiactForSymbols.js"); diff --git a/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/BoldItalic/ControlPictures.js b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/BoldItalic/ControlPictures.js new file mode 100644 index 0000000..f800445 --- /dev/null +++ b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/BoldItalic/ControlPictures.js @@ -0,0 +1,28 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/fonts/STIX/General/BoldItalic/ControlPictures.js + * + * Copyright (c) 2009-2010 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax['HTML-CSS'].FONTDATA.FONTS['STIXGeneral-bold-italic'], + { + 0x2423: [31,120,500,40,460] // stix-round space indicator + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax["HTML-CSS"].fontDir + "/General/BoldItalic/ControlPictures.js"); diff --git a/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/BoldItalic/CurrencySymbols.js b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/BoldItalic/CurrencySymbols.js new file mode 100644 index 0000000..83b8262 --- /dev/null +++ b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/BoldItalic/CurrencySymbols.js @@ -0,0 +1,31 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/fonts/STIX/General/BoldItalic/CurrencySymbols.js + * + * Copyright (c) 2009-2010 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax['HTML-CSS'].FONTDATA.FONTS['STIXGeneral-bold-italic'], + { + 0x20A3: [669,0,668,-13,661], // FRENCH FRANC SIGN + 0x20A4: [683,12,500,-32,510], // LIRA SIGN + 0x20A7: [669,13,1229,-28,1173], // PESETA SIGN + 0x20AC: [681,17,562,34,546] // EURO SIGN + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax["HTML-CSS"].fontDir + "/General/BoldItalic/CurrencySymbols.js"); diff --git a/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/BoldItalic/Cyrillic.js b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/BoldItalic/Cyrillic.js new file mode 100644 index 0000000..7865cea --- /dev/null +++ b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/BoldItalic/Cyrillic.js @@ -0,0 +1,129 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/fonts/STIX/General/BoldItalic/Cyrillic.js + * + * Copyright (c) 2009-2010 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax['HTML-CSS'].FONTDATA.FONTS['STIXGeneral-bold-italic'], + { + 0x401: [905,0,667,-35,645], // CYRILLIC CAPITAL LETTER IO + 0x402: [669,205,789,80,737], // CYRILLIC CAPITAL LETTER DJE + 0x403: [947,0,604,-32,658], // CYRILLIC CAPITAL LETTER GJE + 0x404: [685,18,657,44,689], // CYRILLIC CAPITAL LETTER UKRAINIAN IE + 0x405: [685,18,556,-22,502], // CYRILLIC CAPITAL LETTER DZE + 0x406: [669,0,389,-32,406], // CYRILLIC CAPITAL LETTER BYELORUSSIAN-UKRAINIAN I + 0x407: [905,0,389,-35,477], // CYRILLIC CAPITAL LETTER YI + 0x408: [669,99,500,-8,562], // CYRILLIC CAPITAL LETTER JE + 0x409: [669,18,954,-59,896], // CYRILLIC CAPITAL LETTER LJE + 0x40A: [669,0,982,-32,924], // CYRILLIC CAPITAL LETTER NJE + 0x40B: [669,0,830,71,757], // CYRILLIC CAPITAL LETTER TSHE + 0x40C: [947,0,678,-35,697], // CYRILLIC CAPITAL LETTER KJE + 0x40E: [951,18,666,99,712], // CYRILLIC CAPITAL LETTER SHORT U + 0x40F: [669,184,778,-33,791], // CYRILLIC CAPITAL LETTER DZHE + 0x410: [683,0,667,-57,604], // CYRILLIC CAPITAL LETTER A + 0x411: [669,0,635,-18,629], // CYRILLIC CAPITAL LETTER BE + 0x412: [669,0,654,-25,624], // CYRILLIC CAPITAL LETTER VE + 0x413: [669,0,604,-32,658], // CYRILLIC CAPITAL LETTER GHE + 0x414: [669,184,696,-115,718], // CYRILLIC CAPITAL LETTER DE + 0x415: [669,0,667,-35,645], // CYRILLIC CAPITAL LETTER IE + 0x416: [678,0,927,-63,969], // CYRILLIC CAPITAL LETTER ZHE + 0x417: [686,18,561,-10,549], // CYRILLIC CAPITAL LETTER ZE + 0x418: [669,0,768,-33,790], // CYRILLIC CAPITAL LETTER I + 0x419: [948,0,768,-33,790], // CYRILLIC CAPITAL LETTER SHORT I + 0x41A: [678,0,678,-35,697], // CYRILLIC CAPITAL LETTER KA + 0x41B: [669,18,742,-59,764], // CYRILLIC CAPITAL LETTER EL + 0x41C: [669,12,890,-34,912], // CYRILLIC CAPITAL LETTER EM + 0x41D: [669,0,769,-32,791], // CYRILLIC CAPITAL LETTER EN + 0x41E: [685,18,722,53,717], // CYRILLIC CAPITAL LETTER O + 0x41F: [669,0,767,-35,789], // CYRILLIC CAPITAL LETTER PE + 0x420: [669,0,590,-30,611], // CYRILLIC CAPITAL LETTER ER + 0x421: [685,18,667,65,710], // CYRILLIC CAPITAL LETTER ES + 0x422: [669,0,611,80,681], // CYRILLIC CAPITAL LETTER TE + 0x423: [669,18,666,99,712], // CYRILLIC CAPITAL LETTER U + 0x424: [669,0,833,72,816], // CYRILLIC CAPITAL LETTER EF + 0x425: [669,0,607,-61,657], // CYRILLIC CAPITAL LETTER HA + 0x426: [669,184,770,-32,792], // CYRILLIC CAPITAL LETTER TSE + 0x427: [669,0,758,120,780], // CYRILLIC CAPITAL LETTER CHE + 0x428: [669,0,960,-33,982], // CYRILLIC CAPITAL LETTER SHA + 0x429: [669,184,960,-33,982], // CYRILLIC CAPITAL LETTER SHCHA + 0x42A: [669,0,780,107,722], // CYRILLIC CAPITAL LETTER HARD SIGN + 0x42B: [669,0,985,-19,1007], // CYRILLIC CAPITAL LETTER YERU + 0x42C: [669,0,636,-19,578], // CYRILLIC CAPITAL LETTER SOFT SIGN + 0x42D: [685,18,671,4,648], // CYRILLIC CAPITAL LETTER E + 0x42E: [685,18,905,-38,871], // CYRILLIC CAPITAL LETTER YU + 0x42F: [669,0,710,-65,732], // CYRILLIC CAPITAL LETTER YA + 0x430: [462,14,527,20,497], // CYRILLIC SMALL LETTER A + 0x431: [685,13,499,32,570], // CYRILLIC SMALL LETTER BE + 0x432: [462,13,482,25,458], // CYRILLIC SMALL LETTER VE + 0x433: [461,14,368,-8,371], // CYRILLIC SMALL LETTER GHE + 0x434: [695,13,496,22,466], // CYRILLIC SMALL LETTER DE + 0x435: [462,13,431,22,415], // CYRILLIC SMALL LETTER IE + 0x436: [462,13,898,-4,890], // CYRILLIC SMALL LETTER ZHE + 0x437: [462,13,400,-11,378], // CYRILLIC SMALL LETTER ZE + 0x438: [462,9,542,34,512], // CYRILLIC SMALL LETTER I + 0x439: [697,9,542,34,514], // CYRILLIC SMALL LETTER SHORT I + 0x43A: [461,8,522,12,527], // CYRILLIC SMALL LETTER KA + 0x43B: [462,11,507,-48,477], // CYRILLIC SMALL LETTER EL + 0x43C: [449,11,667,-48,637], // CYRILLIC SMALL LETTER EM + 0x43D: [462,9,543,13,513], // CYRILLIC SMALL LETTER EN + 0x43E: [462,13,500,24,468], // CYRILLIC SMALL LETTER O + 0x43F: [462,9,543,13,513], // CYRILLIC SMALL LETTER PE + 0x440: [462,205,497,-96,470], // CYRILLIC SMALL LETTER ER + 0x441: [462,13,435,26,423], // CYRILLIC SMALL LETTER ES + 0x442: [462,9,777,10,747], // CYRILLIC SMALL LETTER TE + 0x443: [462,205,447,-94,422], // CYRILLIC SMALL LETTER U + 0x444: [699,205,750,28,717], // CYRILLIC SMALL LETTER EF + 0x445: [462,13,456,-38,511], // CYRILLIC SMALL LETTER HA + 0x446: [462,179,542,34,512], // CYRILLIC SMALL LETTER TSE + 0x447: [462,9,531,48,501], // CYRILLIC SMALL LETTER CHE + 0x448: [462,9,800,36,770], // CYRILLIC SMALL LETTER SHA + 0x449: [462,179,800,36,770], // CYRILLIC SMALL LETTER SHCHA + 0x44A: [462,13,594,29,556], // CYRILLIC SMALL LETTER HARD SIGN + 0x44B: [462,13,754,43,724], // CYRILLIC SMALL LETTER YERU + 0x44C: [462,13,491,43,453], // CYRILLIC SMALL LETTER SOFT SIGN + 0x44D: [462,13,444,-12,405], // CYRILLIC SMALL LETTER E + 0x44E: [462,13,740,12,710], // CYRILLIC SMALL LETTER YU + 0x44F: [449,11,538,2,508], // CYRILLIC SMALL LETTER YA + 0x451: [655,13,434,22,487], // CYRILLIC SMALL LETTER IO + 0x452: [699,205,523,12,490], // CYRILLIC SMALL LETTER DJE + 0x453: [697,14,368,-8,456], // CYRILLIC SMALL LETTER GJE + 0x454: [462,13,415,22,450], // CYRILLIC SMALL LETTER UKRAINIAN IE + 0x455: [462,13,389,0,352], // CYRILLIC SMALL LETTER DZE + 0x456: [684,9,278,20,280], // CYRILLIC SMALL LETTER BYELORUSSIAN-UKRAINIAN I + 0x457: [655,9,278,22,382], // CYRILLIC SMALL LETTER YI + 0x458: [685,207,278,-161,307], // CYRILLIC SMALL LETTER JE + 0x459: [462,13,694,-48,656], // CYRILLIC SMALL LETTER LJE + 0x45A: [462,13,733,12,695], // CYRILLIC SMALL LETTER NJE + 0x45B: [699,9,556,12,515], // CYRILLIC SMALL LETTER TSHE + 0x45C: [697,8,522,12,527], // CYRILLIC SMALL LETTER KJE + 0x45E: [697,205,447,-94,436], // CYRILLIC SMALL LETTER SHORT U + 0x45F: [462,179,538,30,508], // CYRILLIC SMALL LETTER DZHE + 0x462: [669,0,761,62,707], // CYRILLIC CAPITAL LETTER YAT + 0x463: [699,13,569,20,531], // CYRILLIC SMALL LETTER YAT + 0x46A: [669,0,978,-22,918], // CYRILLIC CAPITAL LETTER BIG YUS + 0x46B: [449,13,844,-4,825], // CYRILLIC SMALL LETTER BIG YUS + 0x472: [685,18,722,53,717], // CYRILLIC CAPITAL LETTER FITA + 0x473: [462,13,500,24,468], // CYRILLIC SMALL LETTER FITA + 0x474: [678,18,667,66,750], // CYRILLIC CAPITAL LETTER IZHITSA + 0x475: [462,13,487,15,534], // CYRILLIC SMALL LETTER IZHITSA + 0x490: [834,0,539,-32,641], // CYRILLIC CAPITAL LETTER GHE WITH UPTURN + 0x491: [590,9,360,31,457] // CYRILLIC SMALL LETTER GHE WITH UPTURN + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax["HTML-CSS"].fontDir + "/General/BoldItalic/Cyrillic.js"); diff --git a/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/BoldItalic/EnclosedAlphanum.js b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/BoldItalic/EnclosedAlphanum.js new file mode 100644 index 0000000..83bd01b --- /dev/null +++ b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/BoldItalic/EnclosedAlphanum.js @@ -0,0 +1,89 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/fonts/STIX/General/BoldItalic/EnclosedAlphanum.js + * + * Copyright (c) 2009-2010 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax['HTML-CSS'].FONTDATA.FONTS['STIXGeneral-bold-italic'], + { + 0x2460: [690,19,695,0,695], // CIRCLED DIGIT ONE + 0x2461: [690,19,695,0,695], // CIRCLED DIGIT TWO + 0x2462: [690,19,695,0,695], // CIRCLED DIGIT THREE + 0x2463: [690,19,695,0,695], // CIRCLED DIGIT FOUR + 0x2464: [690,19,695,0,695], // CIRCLED DIGIT FIVE + 0x2465: [690,19,695,0,695], // CIRCLED DIGIT SIX + 0x2466: [690,19,695,0,695], // CIRCLED DIGIT SEVEN + 0x2467: [690,19,695,0,695], // CIRCLED DIGIT EIGHT + 0x2468: [690,19,695,0,695], // CIRCLED DIGIT NINE + 0x24B6: [690,19,695,0,695], // CIRCLED LATIN CAPITAL LETTER A + 0x24B7: [690,19,695,0,695], // CIRCLED LATIN CAPITAL LETTER B + 0x24B8: [690,19,695,0,695], // CIRCLED LATIN CAPITAL LETTER C + 0x24B9: [690,19,695,0,695], // CIRCLED LATIN CAPITAL LETTER D + 0x24BA: [690,19,695,0,695], // CIRCLED LATIN CAPITAL LETTER E + 0x24BB: [690,19,695,0,695], // CIRCLED LATIN CAPITAL LETTER F + 0x24BC: [690,19,695,0,695], // CIRCLED LATIN CAPITAL LETTER G + 0x24BD: [690,19,695,0,695], // CIRCLED LATIN CAPITAL LETTER H + 0x24BE: [690,19,695,0,695], // CIRCLED LATIN CAPITAL LETTER I + 0x24BF: [690,19,695,0,695], // CIRCLED LATIN CAPITAL LETTER J + 0x24C0: [690,19,695,0,695], // CIRCLED LATIN CAPITAL LETTER K + 0x24C1: [690,19,695,0,695], // CIRCLED LATIN CAPITAL LETTER L + 0x24C2: [690,19,695,0,695], // CIRCLED LATIN CAPITAL LETTER M + 0x24C3: [690,19,695,0,695], // CIRCLED LATIN CAPITAL LETTER N + 0x24C4: [690,19,695,0,695], // CIRCLED LATIN CAPITAL LETTER O + 0x24C5: [690,19,695,0,695], // CIRCLED LATIN CAPITAL LETTER P + 0x24C6: [690,19,695,0,695], // CIRCLED LATIN CAPITAL LETTER Q + 0x24C7: [690,19,695,0,695], // CIRCLED LATIN CAPITAL LETTER R + 0x24C8: [690,19,695,0,695], // CIRCLED LATIN CAPITAL LETTER S + 0x24C9: [690,19,695,0,695], // CIRCLED LATIN CAPITAL LETTER T + 0x24CA: [690,19,695,0,695], // CIRCLED LATIN CAPITAL LETTER U + 0x24CB: [690,19,695,0,695], // CIRCLED LATIN CAPITAL LETTER V + 0x24CC: [690,19,695,0,695], // CIRCLED LATIN CAPITAL LETTER W + 0x24CD: [690,19,695,0,695], // CIRCLED LATIN CAPITAL LETTER X + 0x24CE: [690,19,695,0,695], // CIRCLED LATIN CAPITAL LETTER Y + 0x24CF: [690,19,695,0,695], // CIRCLED LATIN CAPITAL LETTER Z + 0x24D0: [690,19,695,0,695], // CIRCLED LATIN SMALL LETTER A + 0x24D1: [690,19,695,0,695], // CIRCLED LATIN SMALL LETTER B + 0x24D2: [690,19,695,0,695], // CIRCLED LATIN SMALL LETTER C + 0x24D3: [690,19,695,0,695], // CIRCLED LATIN SMALL LETTER D + 0x24D4: [690,19,695,0,695], // CIRCLED LATIN SMALL LETTER E + 0x24D5: [690,19,695,0,695], // CIRCLED LATIN SMALL LETTER F + 0x24D6: [690,19,695,0,695], // CIRCLED LATIN SMALL LETTER G + 0x24D7: [690,19,695,0,695], // CIRCLED LATIN SMALL LETTER H + 0x24D8: [690,19,695,0,695], // CIRCLED LATIN SMALL LETTER I + 0x24D9: [690,19,695,0,695], // CIRCLED LATIN SMALL LETTER J + 0x24DA: [690,19,695,0,695], // CIRCLED LATIN SMALL LETTER K + 0x24DB: [690,19,695,0,695], // CIRCLED LATIN SMALL LETTER L + 0x24DC: [690,19,695,0,695], // CIRCLED LATIN SMALL LETTER M + 0x24DD: [690,19,695,0,695], // CIRCLED LATIN SMALL LETTER N + 0x24DE: [690,19,695,0,695], // CIRCLED LATIN SMALL LETTER O + 0x24DF: [690,19,695,0,695], // CIRCLED LATIN SMALL LETTER P + 0x24E0: [690,19,695,0,695], // CIRCLED LATIN SMALL LETTER Q + 0x24E1: [690,19,695,0,695], // CIRCLED LATIN SMALL LETTER R + 0x24E2: [690,19,695,0,695], // CIRCLED LATIN SMALL LETTER S + 0x24E3: [690,19,695,0,695], // CIRCLED LATIN SMALL LETTER T + 0x24E4: [690,19,695,0,695], // CIRCLED LATIN SMALL LETTER U + 0x24E5: [690,19,695,0,695], // CIRCLED LATIN SMALL LETTER V + 0x24E6: [690,19,695,0,695], // CIRCLED LATIN SMALL LETTER W + 0x24E7: [690,19,695,0,695], // CIRCLED LATIN SMALL LETTER X + 0x24E8: [690,19,695,0,695], // CIRCLED LATIN SMALL LETTER Y + 0x24E9: [690,19,695,0,695], // CIRCLED LATIN SMALL LETTER Z + 0x24EA: [690,19,695,0,695] // CIRCLED DIGIT ZERO + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax["HTML-CSS"].fontDir + "/General/BoldItalic/EnclosedAlphanum.js"); diff --git a/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/BoldItalic/GeneralPunctuation.js b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/BoldItalic/GeneralPunctuation.js new file mode 100644 index 0000000..1deda25 --- /dev/null +++ b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/BoldItalic/GeneralPunctuation.js @@ -0,0 +1,50 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/fonts/STIX/General/BoldItalic/GeneralPunctuation.js + * + * Copyright (c) 2009-2010 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax['HTML-CSS'].FONTDATA.FONTS['STIXGeneral-bold-italic'], + { + 0x2010: [282,-166,333,-4,273], // HYPHEN + 0x2011: [282,-166,333,-4,273], // NON-BREAKING HYPHEN + 0x2012: [282,-166,500,-40,477], // FIGURE DASH + 0x2013: [269,-178,500,-40,477], // EN DASH + 0x2014: [269,-178,1000,-40,977], // EM DASH + 0x2018: [685,-369,333,128,332], // LEFT SINGLE QUOTATION MARK + 0x2019: [685,-369,333,98,302], // RIGHT SINGLE QUOTATION MARK + 0x201A: [134,182,333,-5,199], // SINGLE LOW-9 QUOTATION MARK + 0x201B: [685,-369,333,128,302], // SINGLE HIGH-REVERSED-9 QUOTATION MARK + 0x201C: [685,-369,500,53,513], // LEFT DOUBLE QUOTATION MARK + 0x201D: [685,-369,500,53,513], // RIGHT DOUBLE QUOTATION MARK + 0x201E: [134,182,500,-57,403], // DOUBLE LOW-9 QUOTATION MARK + 0x201F: [685,-369,500,92,513], // DOUBLE HIGH-REVERSED-9 QUOTATION MARK + 0x2020: [685,145,500,91,494], // DAGGER + 0x2021: [685,139,500,10,493], // DOUBLE DAGGER + 0x2022: [462,-42,560,70,490], // BULLET + 0x2026: [135,13,1000,40,852], // HORIZONTAL ELLIPSIS + 0x2030: [706,29,1118,80,1068], // PER MILLE SIGN + 0x2031: [706,29,1480,80,1430], // PER TEN THOUSAND SIGN + 0x2039: [415,-32,333,32,303], // SINGLE LEFT-POINTING ANGLE QUOTATION MARK + 0x203A: [415,-32,333,10,281], // SINGLE RIGHT-POINTING ANGLE QUOTATION MARK + 0x203E: [637,-565,500,0,500], // OVERLINE + 0x2044: [688,12,183,-168,345] // FRACTION SLASH + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax["HTML-CSS"].fontDir + "/General/BoldItalic/GeneralPunctuation.js"); diff --git a/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/BoldItalic/GreekAndCoptic.js b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/BoldItalic/GreekAndCoptic.js new file mode 100644 index 0000000..2a7eec4 --- /dev/null +++ b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/BoldItalic/GreekAndCoptic.js @@ -0,0 +1,119 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/fonts/STIX/General/BoldItalic/GreekAndCoptic.js + * + * Copyright (c) 2009-2010 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax['HTML-CSS'].FONTDATA.FONTS['STIXGeneral-bold-italic'], + { + 0x384: [680,-516,300,140,319], // GREEK TONOS + 0x385: [680,-516,380,27,440], // GREEK DIALYTIKA TONOS + 0x386: [693,0,667,-68,593], // GREEK CAPITAL LETTER ALPHA WITH TONOS + 0x387: [459,-311,333,116,264], // GREEK ANO TELEIA + 0x388: [693,0,700,10,748], // GREEK CAPITAL LETTER EPSILON WITH TONOS + 0x389: [693,0,850,9,889], // GREEK CAPITAL LETTER ETA WITH TONOS + 0x38A: [693,0,450,9,503], // GREEK CAPITAL LETTER IOTA WITH TONOS + 0x38C: [693,18,722,11,691], // GREEK CAPITAL LETTER OMICRON WITH TONOS + 0x38E: [693,0,700,8,855], // GREEK CAPITAL LETTER UPSILON WITH TONOS + 0x38F: [693,0,808,25,774], // GREEK CAPITAL LETTER OMEGA WITH TONOS + 0x390: [680,9,278,6,419], // GREEK SMALL LETTER IOTA WITH DIALYTIKA AND TONOS + 0x391: [683,0,667,-68,593], // GREEK CAPITAL LETTER ALPHA + 0x392: [669,0,667,-25,624], // GREEK CAPITAL LETTER BETA + 0x393: [669,0,585,-13,670], // GREEK CAPITAL LETTER GAMMA + 0x394: [683,0,667,-65,549], // GREEK CAPITAL LETTER DELTA + 0x395: [669,0,667,-27,653], // GREEK CAPITAL LETTER EPSILON + 0x396: [669,0,611,-12,589], // GREEK CAPITAL LETTER ZETA + 0x397: [669,0,778,-24,799], // GREEK CAPITAL LETTER ETA + 0x398: [685,18,718,27,691], // GREEK CAPITAL LETTER THETA + 0x399: [669,0,389,-32,406], // GREEK CAPITAL LETTER IOTA + 0x39A: [669,0,667,-21,702], // GREEK CAPITAL LETTER KAPPA + 0x39B: [683,0,655,-68,581], // GREEK CAPITAL LETTER LAMDA + 0x39C: [669,12,889,-29,917], // GREEK CAPITAL LETTER MU + 0x39D: [669,15,722,-27,748], // GREEK CAPITAL LETTER NU + 0x39E: [669,0,746,25,740], // GREEK CAPITAL LETTER XI + 0x39F: [685,18,722,27,691], // GREEK CAPITAL LETTER OMICRON + 0x3A0: [669,0,778,-24,799], // GREEK CAPITAL LETTER PI + 0x3A1: [669,0,611,-28,613], // GREEK CAPITAL LETTER RHO + 0x3A3: [669,0,633,-11,619], // GREEK CAPITAL LETTER SIGMA + 0x3A4: [669,0,611,49,650], // GREEK CAPITAL LETTER TAU + 0x3A5: [685,0,611,21,697], // GREEK CAPITAL LETTER UPSILON + 0x3A6: [669,0,771,26,763], // GREEK CAPITAL LETTER PHI + 0x3A7: [669,0,667,-24,694], // GREEK CAPITAL LETTER CHI + 0x3A8: [685,0,661,17,780], // GREEK CAPITAL LETTER PSI + 0x3A9: [685,0,808,25,774], // GREEK CAPITAL LETTER OMEGA + 0x3AA: [905,0,389,-32,486], // GREEK CAPITAL LETTER IOTA WITH DIALYTIKA + 0x3AB: [905,0,611,21,697], // GREEK CAPITAL LETTER UPSILON WITH DIALYTIKA + 0x3AC: [680,13,576,-3,574], // GREEK SMALL LETTER ALPHA WITH TONOS + 0x3AD: [680,13,454,-5,408], // GREEK SMALL LETTER EPSILON WITH TONOS + 0x3AE: [680,205,488,-7,474], // GREEK SMALL LETTER ETA WITH TONOS + 0x3AF: [680,9,278,2,286], // GREEK SMALL LETTER IOTA WITH TONOS + 0x3B0: [680,13,536,-7,500], // GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND TONOS + 0x3B1: [462,13,576,-3,574], // GREEK SMALL LETTER ALPHA + 0x3B2: [698,205,500,-79,480], // GREEK SMALL LETTER BETA + 0x3B3: [462,204,438,3,461], // GREEK SMALL LETTER GAMMA + 0x3B4: [698,13,496,-3,456], // GREEK SMALL LETTER DELTA + 0x3B5: [462,13,454,-5,408], // GREEK SMALL LETTER EPSILON + 0x3B6: [698,205,415,-5,473], // GREEK SMALL LETTER ZETA + 0x3B7: [462,205,488,-7,474], // GREEK SMALL LETTER ETA + 0x3B8: [698,13,501,-3,488], // GREEK SMALL LETTER THETA + 0x3B9: [462,9,278,2,238], // GREEK SMALL LETTER IOTA + 0x3BA: [462,12,500,-23,504], // GREEK SMALL LETTER KAPPA + 0x3BB: [698,18,484,-34,459], // GREEK SMALL LETTER LAMDA + 0x3BC: [449,205,523,-82,483], // GREEK SMALL LETTER MU + 0x3BD: [462,13,469,-23,441], // GREEK SMALL LETTER NU + 0x3BE: [698,205,415,-5,426], // GREEK SMALL LETTER XI + 0x3BF: [462,13,500,-3,441], // GREEK SMALL LETTER OMICRON + 0x3C0: [449,15,558,-6,570], // GREEK SMALL LETTER PI + 0x3C1: [462,205,495,-81,447], // GREEK SMALL LETTER RHO + 0x3C2: [462,205,415,-5,447], // GREEK SMALL LETTER FINAL SIGMA + 0x3C3: [449,13,499,-3,536], // GREEK SMALL LETTER SIGMA + 0x3C4: [449,9,415,4,455], // GREEK SMALL LETTER TAU + 0x3C5: [462,13,536,-7,477], // GREEK SMALL LETTER UPSILON + 0x3C6: [462,205,678,-3,619], // GREEK SMALL LETTER PHI + 0x3C7: [462,205,404,-136,515], // GREEK SMALL LETTER CHI + 0x3C8: [462,205,652,-5,715], // GREEK SMALL LETTER PSI + 0x3C9: [462,13,735,-3,676], // GREEK SMALL LETTER OMEGA + 0x3CA: [655,9,278,2,351], // GREEK SMALL LETTER IOTA WITH DIALYTIKA + 0x3CB: [655,13,536,-7,477], // GREEK SMALL LETTER UPSILON WITH DIALYTIKA + 0x3CC: [680,13,500,-3,441], // GREEK SMALL LETTER OMICRON WITH TONOS + 0x3CD: [680,13,536,-7,477], // GREEK SMALL LETTER UPSILON WITH TONOS + 0x3CE: [680,13,735,-3,676], // GREEK SMALL LETTER OMEGA WITH TONOS + 0x3D0: [696,12,500,42,479], // GREEK BETA SYMBOL + 0x3D1: [698,13,582,8,589], // GREEK THETA SYMBOL + 0x3D2: [685,0,611,21,696], // GREEK UPSILON WITH HOOK SYMBOL + 0x3D5: [699,205,678,-3,619], // GREEK PHI SYMBOL + 0x3D6: [449,13,828,-2,844], // GREEK PI SYMBOL + 0x3D8: [685,200,722,27,691], // GREEK LETTER ARCHAIC KOPPA + 0x3D9: [462,205,500,-3,441], // GREEK SMALL LETTER ARCHAIC KOPPA + 0x3DA: [685,205,669,32,665], // GREEK LETTER STIGMA + 0x3DB: [492,205,475,-5,509], // GREEK SMALL LETTER STIGMA + 0x3DC: [669,0,667,-13,670], // GREEK LETTER DIGAMMA + 0x3DD: [450,190,525,32,507], // GREEK SMALL LETTER DIGAMMA + 0x3DE: [793,18,757,-7,758], // GREEK LETTER KOPPA + 0x3DF: [698,0,485,16,466], // GREEK SMALL LETTER KOPPA + 0x3E0: [685,205,734,27,710], // GREEK LETTER SAMPI + 0x3E1: [639,205,530,47,467], // GREEK SMALL LETTER SAMPI + 0x3F0: [462,15,569,-50,592], // GREEK KAPPA SYMBOL + 0x3F1: [462,206,517,-12,458], // GREEK RHO SYMBOL + 0x3F4: [685,18,722,27,691], // GREEK CAPITAL THETA SYMBOL + 0x3F5: [463,13,466,-3,429], // GREEK LUNATE EPSILON SYMBOL + 0x3F6: [460,16,486,-5,427] // GREEK REVERSED LUNATE EPSILON SYMBOL + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax["HTML-CSS"].fontDir + "/General/BoldItalic/GreekAndCoptic.js"); diff --git a/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/BoldItalic/GreekBoldItalic.js b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/BoldItalic/GreekBoldItalic.js new file mode 100644 index 0000000..fd6d1aa --- /dev/null +++ b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/BoldItalic/GreekBoldItalic.js @@ -0,0 +1,85 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/fonts/STIX/General/BoldItalic/GreekBoldItalic.js + * + * Copyright (c) 2009-2010 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax['HTML-CSS'].FONTDATA.FONTS['STIXGeneral-bold-italic'], + { + 0x1D71C: [685,0,759,39,724], // MATHEMATICAL BOLD ITALIC CAPITAL ALPHA + 0x1D71D: [669,0,726,42,715], // MATHEMATICAL BOLD ITALIC CAPITAL BETA + 0x1D71E: [669,0,634,42,749], // MATHEMATICAL BOLD ITALIC CAPITAL GAMMA + 0x1D71F: [685,0,632,32,589], // MATHEMATICAL BOLD ITALIC CAPITAL DELTA + 0x1D720: [669,0,732,42,754], // MATHEMATICAL BOLD ITALIC CAPITAL EPSILON + 0x1D721: [669,0,797,66,830], // MATHEMATICAL BOLD ITALIC CAPITAL ZETA + 0x1D722: [669,0,891,42,946], // MATHEMATICAL BOLD ITALIC CAPITAL ETA + 0x1D723: [685,16,783,55,755], // MATHEMATICAL BOLD ITALIC CAPITAL THETA + 0x1D724: [669,0,502,42,557], // MATHEMATICAL BOLD ITALIC CAPITAL IOTA + 0x1D725: [669,0,795,42,839], // MATHEMATICAL BOLD ITALIC CAPITAL KAPPA + 0x1D726: [685,0,759,39,724], // MATHEMATICAL BOLD ITALIC CAPITAL LAMDA + 0x1D727: [669,0,1016,42,1071], // MATHEMATICAL BOLD ITALIC CAPITAL MU + 0x1D728: [669,0,869,42,924], // MATHEMATICAL BOLD ITALIC CAPITAL NU + 0x1D729: [669,0,718,57,757], // MATHEMATICAL BOLD ITALIC CAPITAL XI + 0x1D72A: [685,16,777,55,755], // MATHEMATICAL BOLD ITALIC CAPITAL OMICRON + 0x1D72B: [669,0,887,39,942], // MATHEMATICAL BOLD ITALIC CAPITAL PI + 0x1D72C: [669,0,612,42,733], // MATHEMATICAL BOLD ITALIC CAPITAL RHO + 0x1D72D: [685,16,783,55,755], // MATHEMATICAL BOLD ITALIC CAPITAL THETA SYMBOL + 0x1D72E: [669,0,759,64,787], // MATHEMATICAL BOLD ITALIC CAPITAL SIGMA + 0x1D72F: [669,0,568,28,700], // MATHEMATICAL BOLD ITALIC CAPITAL TAU + 0x1D730: [685,0,589,31,721], // MATHEMATICAL BOLD ITALIC CAPITAL UPSILON + 0x1D731: [669,0,827,28,799], // MATHEMATICAL BOLD ITALIC CAPITAL PHI + 0x1D732: [669,0,808,28,830], // MATHEMATICAL BOLD ITALIC CAPITAL CHI + 0x1D733: [685,0,694,30,781], // MATHEMATICAL BOLD ITALIC CAPITAL PSI + 0x1D734: [685,0,826,57,815], // MATHEMATICAL BOLD ITALIC CAPITAL OMEGA + 0x1D735: [669,16,632,43,600], // MATHEMATICAL BOLD ITALIC NABLA + 0x1D736: [461,12,624,44,630], // MATHEMATICAL BOLD ITALIC SMALL ALPHA + 0x1D737: [685,205,555,28,583], // MATHEMATICAL BOLD ITALIC SMALL BETA + 0x1D738: [462,203,490,44,503], // MATHEMATICAL BOLD ITALIC SMALL GAMMA + 0x1D739: [685,8,538,44,538], // MATHEMATICAL BOLD ITALIC SMALL DELTA + 0x1D73A: [462,10,495,28,451], // MATHEMATICAL BOLD ITALIC SMALL EPSILON + 0x1D73B: [685,203,472,44,522], // MATHEMATICAL BOLD ITALIC SMALL ZETA + 0x1D73C: [462,205,517,33,511], // MATHEMATICAL BOLD ITALIC SMALL ETA + 0x1D73D: [686,11,566,44,555], // MATHEMATICAL BOLD ITALIC SMALL THETA + 0x1D73E: [462,9,318,55,274], // MATHEMATICAL BOLD ITALIC SMALL IOTA + 0x1D73F: [462,0,560,55,577], // MATHEMATICAL BOLD ITALIC SMALL KAPPA + 0x1D740: [685,16,570,55,537], // MATHEMATICAL BOLD ITALIC SMALL LAMDA + 0x1D741: [449,205,636,33,603], // MATHEMATICAL BOLD ITALIC SMALL MU + 0x1D742: [459,10,523,55,534], // MATHEMATICAL BOLD ITALIC SMALL NU + 0x1D743: [685,203,476,28,487], // MATHEMATICAL BOLD ITALIC SMALL XI + 0x1D744: [462,10,561,44,539], // MATHEMATICAL BOLD ITALIC SMALL OMICRON + 0x1D745: [449,13,579,39,590], // MATHEMATICAL BOLD ITALIC SMALL PI + 0x1D746: [462,205,595,33,562], // MATHEMATICAL BOLD ITALIC SMALL RHO + 0x1D747: [462,203,480,39,508], // MATHEMATICAL BOLD ITALIC SMALL FINAL SIGMA + 0x1D748: [449,10,592,44,603], // MATHEMATICAL BOLD ITALIC SMALL SIGMA + 0x1D749: [449,7,469,33,502], // MATHEMATICAL BOLD ITALIC SMALL TAU + 0x1D74A: [462,10,552,33,535], // MATHEMATICAL BOLD ITALIC SMALL UPSILON + 0x1D74B: [462,205,706,55,667], // MATHEMATICAL BOLD ITALIC SMALL PHI + 0x1D74C: [462,204,621,33,676], // MATHEMATICAL BOLD ITALIC SMALL CHI + 0x1D74D: [462,205,701,33,756], // MATHEMATICAL BOLD ITALIC SMALL PSI + 0x1D74E: [462,10,687,22,665], // MATHEMATICAL BOLD ITALIC SMALL OMEGA + 0x1D74F: [686,10,559,44,559], // MATHEMATICAL BOLD ITALIC PARTIAL DIFFERENTIAL + 0x1D750: [461,10,481,44,481], // MATHEMATICAL BOLD ITALIC EPSILON SYMBOL + 0x1D751: [698,13,607,33,584], // MATHEMATICAL BOLD ITALIC THETA SYMBOL + 0x1D752: [462,15,607,-12,630], // MATHEMATICAL BOLD ITALIC KAPPA SYMBOL + 0x1D753: [685,205,683,44,655], // MATHEMATICAL BOLD ITALIC PHI SYMBOL + 0x1D754: [462,205,585,44,563], // MATHEMATICAL BOLD ITALIC RHO SYMBOL + 0x1D755: [449,10,868,33,879] // MATHEMATICAL BOLD ITALIC PI SYMBOL + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax["HTML-CSS"].fontDir + "/General/BoldItalic/GreekBoldItalic.js"); diff --git a/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/BoldItalic/GreekSSBoldItalic.js b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/BoldItalic/GreekSSBoldItalic.js new file mode 100644 index 0000000..dd92db1 --- /dev/null +++ b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/BoldItalic/GreekSSBoldItalic.js @@ -0,0 +1,85 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/fonts/STIX/General/BoldItalic/GreekSSBoldItalic.js + * + * Copyright (c) 2009-2010 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax['HTML-CSS'].FONTDATA.FONTS['STIXGeneral-bold-italic'], + { + 0x1D790: [690,0,690,25,665], // MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL ALPHA + 0x1D791: [676,0,706,60,671], // MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL BETA + 0x1D792: [676,0,602,60,705], // MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL GAMMA + 0x1D793: [690,0,720,40,680], // MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL DELTA + 0x1D794: [676,0,683,60,708], // MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL EPSILON + 0x1D795: [676,0,707,25,769], // MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL ZETA + 0x1D796: [676,0,748,60,783], // MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL ETA + 0x1D797: [691,19,847,90,822], // MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL THETA + 0x1D798: [676,0,435,50,505], // MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL IOTA + 0x1D799: [676,0,712,60,796], // MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL KAPPA + 0x1D79A: [690,0,686,20,646], // MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL LAMDA + 0x1D79B: [676,0,933,60,981], // MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL MU + 0x1D79C: [676,18,744,60,792], // MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL NU + 0x1D79D: [676,0,690,47,737], // MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL XI + 0x1D79E: [692,18,849,90,824], // MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL OMICRON + 0x1D79F: [676,0,745,60,783], // MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL PI + 0x1D7A0: [676,0,581,60,675], // MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL RHO + 0x1D7A1: [691,19,847,90,822], // MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL THETA SYMBOL + 0x1D7A2: [676,0,696,21,748], // MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL SIGMA + 0x1D7A3: [676,0,641,87,715], // MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL TAU + 0x1D7A4: [691,0,671,91,799], // MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL UPSILON + 0x1D7A5: [676,0,835,72,835], // MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL PHI + 0x1D7A6: [676,0,740,20,833], // MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL CHI + 0x1D7A7: [691,0,791,125,901], // MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL PSI + 0x1D7A8: [691,0,816,47,816], // MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL OMEGA + 0x1D7A9: [664,30,780,120,760], // MATHEMATICAL SANS-SERIF BOLD ITALIC NABLA + 0x1D7AA: [473,14,678,47,703], // MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL ALPHA + 0x1D7AB: [692,205,552,-12,581], // MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL BETA + 0x1D7AC: [473,204,525,84,571], // MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL GAMMA + 0x1D7AD: [692,14,507,30,547], // MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL DELTA + 0x1D7AE: [473,14,504,45,508], // MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL EPSILON + 0x1D7AF: [692,205,480,49,539], // MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL ZETA + 0x1D7B0: [473,205,532,38,525], // MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL ETA + 0x1D7B1: [692,14,560,65,553], // MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL THETA + 0x1D7B2: [462,14,325,56,302], // MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL IOTA + 0x1D7B3: [473,0,537,38,582], // MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL KAPPA + 0x1D7B4: [692,14,574,18,540], // MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL LAMDA + 0x1D7B5: [462,205,594,-12,569], // MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL MU + 0x1D7B6: [473,14,525,41,565], // MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL NU + 0x1D7B7: [692,205,481,43,525], // MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL XI + 0x1D7B8: [473,14,543,45,515], // MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL OMICRON + 0x1D7B9: [462,14,632,45,656], // MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL PI + 0x1D7BA: [473,205,560,-33,536], // MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL RHO + 0x1D7BB: [473,205,517,52,554], // MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL FINAL SIGMA + 0x1D7BC: [462,14,614,45,639], // MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL SIGMA + 0x1D7BD: [462,14,523,42,547], // MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL TAU + 0x1D7BE: [473,14,550,61,526], // MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL UPSILON + 0x1D7BF: [473,205,683,55,659], // MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL PHI + 0x1D7C0: [473,205,575,-80,626], // MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL CHI + 0x1D7C1: [473,205,703,75,751], // MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL PSI + 0x1D7C2: [461,14,756,64,732], // MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL OMEGA + 0x1D7C3: [691,14,548,45,539], // MATHEMATICAL SANS-SERIF BOLD ITALIC PARTIAL DIFFERENTIAL + 0x1D7C4: [473,14,468,45,470], // MATHEMATICAL SANS-SERIF BOLD ITALIC EPSILON SYMBOL + 0x1D7C5: [692,14,579,54,579], // MATHEMATICAL SANS-SERIF BOLD ITALIC THETA SYMBOL + 0x1D7C6: [473,10,646,-10,665], // MATHEMATICAL SANS-SERIF BOLD ITALIC KAPPA SYMBOL + 0x1D7C7: [692,205,678,48,654], // MATHEMATICAL SANS-SERIF BOLD ITALIC PHI SYMBOL + 0x1D7C8: [473,205,544,38,520], // MATHEMATICAL SANS-SERIF BOLD ITALIC RHO SYMBOL + 0x1D7C9: [462,14,889,40,912] // MATHEMATICAL SANS-SERIF BOLD ITALIC PI SYMBOL + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax["HTML-CSS"].fontDir + "/General/BoldItalic/GreekSSBoldItalic.js"); diff --git a/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/BoldItalic/IPAExtensions.js b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/BoldItalic/IPAExtensions.js new file mode 100644 index 0000000..f6a37e3 --- /dev/null +++ b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/BoldItalic/IPAExtensions.js @@ -0,0 +1,116 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/fonts/STIX/General/BoldItalic/IPAExtensions.js + * + * Copyright (c) 2009-2010 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax['HTML-CSS'].FONTDATA.FONTS['STIXGeneral-bold-italic'], + { + 0x250: [473,14,512,13,492], // ?? + 0x251: [473,14,612,25,592], // ?? + 0x252: [473,14,612,25,592], // ?? + 0x253: [691,13,500,-14,449], // ?? + 0x254: [462,13,444,-5,392], // ?? + 0x255: [462,157,444,-5,406], // ?? + 0x256: [699,233,500,-21,517], // ?? + 0x257: [683,13,570,-21,653], // ?? + 0x258: [462,13,444,5,421], // ?? + 0x259: [462,13,444,5,398], // ?? + 0x25A: [462,13,626,5,626], // ?? + 0x25B: [475,14,444,5,482], // ?? + 0x25C: [475,14,480,5,469], // ?? + 0x25D: [475,14,689,5,689], // ?? + 0x25E: [475,14,486,7,475], // ?? + 0x25F: [462,207,367,-100,364], // ?? + 0x260: [683,245,720,-52,751], // ?? + 0x261: [472,245,549,-52,520], // ?? + 0x262: [462,11,561,21,544], // ?? + 0x263: [462,234,444,20,400], // ?? + 0x264: [450,10,493,10,488], // ?? + 0x265: [459,249,556,-13,498], // ?? + 0x266: [683,9,556,-13,498], // ?? + 0x267: [683,205,533,-13,475], // ?? + 0x268: [684,9,278,-10,262], // ?? + 0x269: [456,8,253,2,237], // ?? + 0x26A: [462,0,304,-32,321], // ?? + 0x26B: [699,9,320,9,368], // ?? + 0x26C: [699,9,445,17,417], // ?? + 0x26D: [699,233,291,-47,290], // ?? + 0x26E: [699,236,623,2,585], // ?? + 0x26F: [462,9,778,-14,723], // ?? + 0x270: [462,233,778,-14,723], // ?? + 0x271: [462,233,759,-14,704], // ?? + 0x272: [462,233,694,-109,632], // ?? + 0x273: [462,233,505,-6,486], // ?? + 0x274: [462,12,588,-27,614], // ?? + 0x275: [462,13,500,-3,441], // ?? + 0x276: [462,5,749,23,751], // ?? + 0x277: [477,2,685,-3,626], // ?? + 0x278: [685,231,691,-3,632], // ?? + 0x279: [462,0,427,0,410], // ?? + 0x27A: [699,0,493,0,476], // ?? + 0x27B: [462,233,436,0,417], // ?? + 0x27C: [462,233,389,-87,389], // ?? + 0x27D: [462,233,389,-47,389], // ?? + 0x27E: [484,0,360,-21,417], // ?? + 0x27F: [484,0,338,10,292], // ?? + 0x280: [464,0,498,8,515], // ?? + 0x281: [464,0,498,8,597], // ?? + 0x282: [462,218,389,-32,333], // ?? + 0x283: [683,233,424,-104,584], // ?? + 0x284: [683,207,394,-90,576], // ?? + 0x285: [470,233,415,79,344], // ?? + 0x286: [683,243,521,-40,641], // ?? + 0x287: [513,90,310,7,299], // ?? + 0x288: [594,233,311,-60,281], // ?? + 0x289: [462,9,556,-16,514], // ?? + 0x28A: [452,8,500,15,552], // ?? + 0x28B: [462,10,534,18,492], // ?? + 0x28C: [462,13,444,15,401], // ?? + 0x28D: [462,13,667,15,614], // ?? + 0x28E: [667,0,444,16,502], // ?? + 0x28F: [464,0,633,65,606], // ?? + 0x290: [449,218,440,-24,405], // ?? + 0x291: [449,97,411,-24,376], // ?? + 0x292: [450,236,499,-10,558], // ?? + 0x293: [450,307,499,-10,528], // ?? + 0x294: [685,0,530,25,520], // ?? + 0x295: [685,0,530,65,509], // ?? + 0x296: [669,14,487,25,453], // ?? + 0x297: [462,237,479,20,544], // ?? + 0x298: [680,17,723,13,734], // ?? + 0x299: [464,0,493,-10,486], // ?? + 0x29A: [475,14,465,16,504], // ?? + 0x29B: [538,11,580,29,690], // ?? + 0x29C: [464,0,582,21,676], // ?? + 0x29D: [685,233,475,-50,463], // ?? + 0x29E: [457,250,500,22,528], // ?? + 0x29F: [464,0,485,10,468], // ?? + 0x2A0: [582,205,488,1,674], // ?? + 0x2A1: [685,0,530,25,520], // ?? + 0x2A2: [685,0,530,65,507], // ?? + 0x2A3: [699,13,750,-21,735], // ?? + 0x2A4: [699,236,820,-21,813], // ?? + 0x2A5: [699,97,817,-21,743], // ?? + 0x2A6: [594,13,560,-3,524], // ?? + 0x2A7: [683,233,453,-30,670], // ?? + 0x2A8: [594,18,600,-3,618] // ?? + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax["HTML-CSS"].fontDir + "/General/BoldItalic/IPAExtensions.js"); diff --git a/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/BoldItalic/Latin1Supplement.js b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/BoldItalic/Latin1Supplement.js new file mode 100644 index 0000000..db95141 --- /dev/null +++ b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/BoldItalic/Latin1Supplement.js @@ -0,0 +1,123 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/fonts/STIX/General/BoldItalic/Latin1Supplement.js + * + * Copyright (c) 2009-2010 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax['HTML-CSS'].FONTDATA.FONTS['STIXGeneral-bold-italic'], + { + 0xA0: [0,0,250,0,0], // NO-BREAK SPACE + 0xA1: [494,205,389,19,320], // INVERTED EXCLAMATION MARK + 0xA2: [576,143,500,42,439], // CENT SIGN + 0xA3: [683,12,500,-32,510], // POUND SIGN + 0xA4: [542,10,500,-26,526], // CURRENCY SIGN + 0xA5: [669,0,500,33,628], // YEN SIGN + 0xA6: [685,18,220,66,154], // BROKEN BAR + 0xA7: [685,143,500,36,459], // SECTION SIGN + 0xA8: [655,-525,333,55,397], // DIAERESIS + 0xA9: [685,18,747,30,718], // COPYRIGHT SIGN + 0xAA: [685,-399,266,16,330], // FEMININE ORDINAL INDICATOR + 0xAB: [415,-32,500,12,468], // LEFT-POINTING DOUBLE ANGLE QUOTATION MARK + 0xAC: [399,-108,606,51,555], // NOT SIGN + 0xAD: [282,-166,333,2,271], // SOFT HYPHEN + 0xAE: [685,18,747,30,718], // REGISTERED SIGN + 0xAF: [623,-553,333,51,393], // MACRON + 0xB0: [688,-402,400,83,369], // DEGREE SIGN + 0xB1: [568,0,570,33,537], // PLUS-MINUS SIGN + 0xB2: [683,-274,300,2,313], // SUPERSCRIPT TWO + 0xB3: [683,-265,300,17,321], // SUPERSCRIPT THREE + 0xB4: [697,-516,333,139,379], // ACUTE ACCENT + 0xB5: [449,207,576,-60,516], // MICRO SIGN + 0xB6: [669,193,617,60,679], // PILCROW SIGN + 0xB7: [405,-257,250,51,199], // MIDDLE DOT + 0xB8: [5,218,333,-80,156], // CEDILLA + 0xB9: [683,-274,300,30,301], // SUPERSCRIPT ONE + 0xBA: [685,-400,300,56,347], // MASCULINE ORDINAL INDICATOR + 0xBB: [415,-32,500,12,468], // RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK + 0xBC: [683,14,750,7,721], // VULGAR FRACTION ONE QUARTER + 0xBD: [683,14,750,-9,723], // VULGAR FRACTION ONE HALF + 0xBE: [683,14,750,7,726], // VULGAR FRACTION THREE QUARTERS + 0xBF: [492,205,500,30,421], // INVERTED QUESTION MARK + 0xC0: [947,0,667,-68,593], // LATIN CAPITAL LETTER A WITH GRAVE + 0xC1: [947,0,667,-68,593], // LATIN CAPITAL LETTER A WITH ACUTE + 0xC2: [940,0,667,-68,593], // LATIN CAPITAL LETTER A WITH CIRCUMFLEX + 0xC3: [905,0,667,-68,612], // LATIN CAPITAL LETTER A WITH TILDE + 0xC4: [905,0,667,-68,599], // LATIN CAPITAL LETTER A WITH DIAERESIS + 0xC5: [1004,0,667,-68,593], // LATIN CAPITAL LETTER A WITH RING ABOVE + 0xC6: [669,0,944,-64,918], // LATIN CAPITAL LETTER AE + 0xC7: [685,218,667,32,677], // LATIN CAPITAL LETTER C WITH CEDILLA + 0xC8: [947,0,667,-27,653], // LATIN CAPITAL LETTER E WITH GRAVE + 0xC9: [947,0,667,-27,653], // LATIN CAPITAL LETTER E WITH ACUTE + 0xCA: [940,0,667,-27,653], // LATIN CAPITAL LETTER E WITH CIRCUMFLEX + 0xCB: [905,0,667,-27,653], // LATIN CAPITAL LETTER E WITH DIAERESIS + 0xCC: [947,0,389,-32,406], // LATIN CAPITAL LETTER I WITH GRAVE + 0xCD: [947,0,389,-32,440], // LATIN CAPITAL LETTER I WITH ACUTE + 0xCE: [940,0,389,-32,469], // LATIN CAPITAL LETTER I WITH CIRCUMFLEX + 0xCF: [905,0,389,-32,480], // LATIN CAPITAL LETTER I WITH DIAERESIS + 0xD0: [669,0,722,-31,700], // LATIN CAPITAL LETTER ETH + 0xD1: [905,15,722,-27,748], // LATIN CAPITAL LETTER N WITH TILDE + 0xD2: [947,18,722,27,691], // LATIN CAPITAL LETTER O WITH GRAVE + 0xD3: [947,18,722,27,691], // LATIN CAPITAL LETTER O WITH ACUTE + 0xD4: [940,18,722,27,691], // LATIN CAPITAL LETTER O WITH CIRCUMFLEX + 0xD5: [905,18,722,27,691], // LATIN CAPITAL LETTER O WITH TILDE + 0xD6: [905,18,722,27,691], // LATIN CAPITAL LETTER O WITH DIAERESIS + 0xD7: [490,-16,570,48,522], // MULTIPLICATION SIGN + 0xD8: [764,125,722,27,691], // LATIN CAPITAL LETTER O WITH STROKE + 0xD9: [947,18,722,67,744], // LATIN CAPITAL LETTER U WITH GRAVE + 0xDA: [947,18,722,67,744], // LATIN CAPITAL LETTER U WITH ACUTE + 0xDB: [940,18,722,67,744], // LATIN CAPITAL LETTER U WITH CIRCUMFLEX + 0xDC: [905,18,722,67,744], // LATIN CAPITAL LETTER U WITH DIAERESIS + 0xDD: [947,0,611,71,659], // LATIN CAPITAL LETTER Y WITH ACUTE + 0xDE: [669,0,611,-27,573], // LATIN CAPITAL LETTER THORN + 0xDF: [705,200,500,-200,473], // LATIN SMALL LETTER SHARP S + 0xE0: [697,14,500,-21,456], // LATIN SMALL LETTER A WITH GRAVE + 0xE1: [697,14,500,-21,456], // LATIN SMALL LETTER A WITH ACUTE + 0xE2: [690,14,500,-21,475], // LATIN SMALL LETTER A WITH CIRCUMFLEX + 0xE3: [655,14,500,-21,497], // LATIN SMALL LETTER A WITH TILDE + 0xE4: [655,14,500,-21,485], // LATIN SMALL LETTER A WITH DIAERESIS + 0xE5: [756,14,500,-21,456], // LATIN SMALL LETTER A WITH RING ABOVE + 0xE6: [462,13,722,-5,673], // LATIN SMALL LETTER AE + 0xE7: [462,218,444,-24,392], // LATIN SMALL LETTER C WITH CEDILLA + 0xE8: [697,13,444,5,398], // LATIN SMALL LETTER E WITH GRAVE + 0xE9: [697,13,444,5,419], // LATIN SMALL LETTER E WITH ACUTE + 0xEA: [690,13,444,5,462], // LATIN SMALL LETTER E WITH CIRCUMFLEX + 0xEB: [655,13,444,5,470], // LATIN SMALL LETTER E WITH DIAERESIS + 0xEC: [697,9,278,2,294], // LATIN SMALL LETTER I WITH GRAVE + 0xED: [697,9,278,2,310], // LATIN SMALL LETTER I WITH ACUTE + 0xEE: [690,9,278,2,353], // LATIN SMALL LETTER I WITH CIRCUMFLEX + 0xEF: [655,9,278,2,362], // LATIN SMALL LETTER I WITH DIAERESIS + 0xF0: [699,13,500,-3,454], // LATIN SMALL LETTER ETH + 0xF1: [655,9,556,-6,507], // LATIN SMALL LETTER N WITH TILDE + 0xF2: [697,13,500,-3,441], // LATIN SMALL LETTER O WITH GRAVE + 0xF3: [697,13,500,-3,441], // LATIN SMALL LETTER O WITH ACUTE + 0xF4: [690,13,500,-3,462], // LATIN SMALL LETTER O WITH CIRCUMFLEX + 0xF5: [655,13,500,-3,485], // LATIN SMALL LETTER O WITH TILDE + 0xF6: [655,13,500,-3,470], // LATIN SMALL LETTER O WITH DIAERESIS + 0xF7: [535,29,570,33,537], // DIVISION SIGN + 0xF8: [560,119,500,-3,441], // LATIN SMALL LETTER O WITH STROKE + 0xF9: [697,9,556,15,493], // LATIN SMALL LETTER U WITH GRAVE + 0xFA: [697,9,556,15,493], // LATIN SMALL LETTER U WITH ACUTE + 0xFB: [690,9,556,15,493], // LATIN SMALL LETTER U WITH CIRCUMFLEX + 0xFC: [655,9,556,15,493], // LATIN SMALL LETTER U WITH DIAERESIS + 0xFD: [697,205,444,-94,401], // LATIN SMALL LETTER Y WITH ACUTE + 0xFE: [699,205,500,-120,446], // LATIN SMALL LETTER THORN + 0xFF: [655,205,444,-94,460] // LATIN SMALL LETTER Y WITH DIAERESIS + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax["HTML-CSS"].fontDir + "/General/BoldItalic/Latin1Supplement.js"); diff --git a/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/BoldItalic/LatinExtendedA.js b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/BoldItalic/LatinExtendedA.js new file mode 100644 index 0000000..0131f70 --- /dev/null +++ b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/BoldItalic/LatinExtendedA.js @@ -0,0 +1,155 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/fonts/STIX/General/BoldItalic/LatinExtendedA.js + * + * Copyright (c) 2009-2010 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax['HTML-CSS'].FONTDATA.FONTS['STIXGeneral-bold-italic'], + { + 0x100: [793,0,667,-68,593], // LATIN CAPITAL LETTER A WITH MACRON + 0x101: [586,14,500,-21,486], // LATIN SMALL LETTER A WITH MACRON + 0x102: [885,0,667,-68,593], // LATIN CAPITAL LETTER A WITH BREVE + 0x103: [678,14,500,-21,483], // LATIN SMALL LETTER A WITH BREVE + 0x104: [683,173,667,-68,640], // LATIN CAPITAL LETTER A WITH OGONEK + 0x105: [462,173,500,-21,507], // LATIN SMALL LETTER A WITH OGONEK + 0x106: [904,18,667,32,677], // LATIN CAPITAL LETTER C WITH ACUTE + 0x107: [697,13,444,-5,392], // LATIN SMALL LETTER C WITH ACUTE + 0x108: [897,18,667,32,677], // LATIN CAPITAL LETTER C WITH CIRCUMFLEX + 0x109: [690,13,444,-5,415], // LATIN SMALL LETTER C WITH CIRCUMFLEX + 0x10A: [862,18,667,32,677], // LATIN CAPITAL LETTER C WITH DOT ABOVE + 0x10B: [655,13,444,-5,392], // LATIN SMALL LETTER C WITH DOT ABOVE + 0x10C: [897,18,667,32,677], // LATIN CAPITAL LETTER C WITH CARON + 0x10D: [690,13,444,-5,437], // LATIN SMALL LETTER C WITH CARON + 0x10E: [897,0,722,-46,685], // LATIN CAPITAL LETTER D WITH CARON + 0x10F: [710,13,658,-21,726], // LATIN SMALL LETTER D WITH CARON + 0x110: [669,0,722,-31,700], // LATIN CAPITAL LETTER D WITH STROKE + 0x111: [699,13,500,-21,541], // LATIN SMALL LETTER D WITH STROKE + 0x112: [793,0,667,-27,653], // LATIN CAPITAL LETTER E WITH MACRON + 0x113: [586,13,444,5,431], // LATIN SMALL LETTER E WITH MACRON + 0x114: [885,0,667,-27,653], // LATIN CAPITAL LETTER E WITH BREVE + 0x115: [678,13,444,5,478], // LATIN SMALL LETTER E WITH BREVE + 0x116: [862,0,667,-27,653], // LATIN CAPITAL LETTER E WITH DOT ABOVE + 0x117: [655,13,444,5,398], // LATIN SMALL LETTER E WITH DOT ABOVE + 0x118: [669,182,667,-27,653], // LATIN CAPITAL LETTER E WITH OGONEK + 0x119: [462,182,444,5,398], // LATIN SMALL LETTER E WITH OGONEK + 0x11A: [897,0,667,-27,653], // LATIN CAPITAL LETTER E WITH CARON + 0x11B: [690,13,444,5,486], // LATIN SMALL LETTER E WITH CARON + 0x11C: [897,18,722,21,705], // LATIN CAPITAL LETTER G WITH CIRCUMFLEX + 0x11D: [690,203,500,-52,477], // LATIN SMALL LETTER G WITH CIRCUMFLEX + 0x11E: [885,18,722,21,705], // LATIN CAPITAL LETTER G WITH BREVE + 0x11F: [678,203,500,-52,477], // LATIN SMALL LETTER G WITH BREVE + 0x120: [862,18,722,21,705], // LATIN CAPITAL LETTER G WITH DOT ABOVE + 0x121: [655,203,500,-52,477], // LATIN SMALL LETTER G WITH DOT ABOVE + 0x122: [685,359,722,21,705], // LATIN CAPITAL LETTER G WITH CEDILLA + 0x123: [832,203,500,-52,477], // LATIN SMALL LETTER G WITH CEDILLA + 0x124: [897,0,778,-24,799], // LATIN CAPITAL LETTER H WITH CIRCUMFLEX + 0x125: [897,9,556,-13,498], // LATIN SMALL LETTER H WITH CIRCUMFLEX + 0x126: [669,0,778,-24,800], // LATIN CAPITAL LETTER H WITH STROKE + 0x127: [699,9,556,-13,498], // LATIN SMALL LETTER H WITH STROKE + 0x128: [862,0,389,-32,470], // LATIN CAPITAL LETTER I WITH TILDE + 0x129: [655,9,278,-9,350], // LATIN SMALL LETTER I WITH TILDE + 0x12A: [793,0,389,-32,451], // LATIN CAPITAL LETTER I WITH MACRON + 0x12B: [586,9,278,-11,331], // LATIN SMALL LETTER I WITH MACRON + 0x12C: [885,0,389,-32,458], // LATIN CAPITAL LETTER I WITH BREVE + 0x12D: [678,9,278,2,328], // LATIN SMALL LETTER I WITH BREVE + 0x12E: [669,173,389,-32,406], // LATIN CAPITAL LETTER I WITH OGONEK + 0x12F: [684,173,278,2,262], // LATIN SMALL LETTER I WITH OGONEK + 0x130: [862,0,389,-32,406], // LATIN CAPITAL LETTER I WITH DOT ABOVE + 0x131: [462,9,278,2,238], // LATIN SMALL LETTER DOTLESS I + 0x132: [669,99,823,-32,913], // LATIN CAPITAL LIGATURE IJ + 0x133: [685,207,552,2,544], // LATIN SMALL LIGATURE IJ + 0x134: [897,99,500,-46,554], // LATIN CAPITAL LETTER J WITH CIRCUMFLEX + 0x135: [690,207,278,-189,314], // LATIN SMALL LETTER J WITH CIRCUMFLEX + 0x136: [669,359,667,-21,702], // LATIN CAPITAL LETTER K WITH CEDILLA + 0x137: [699,359,500,-23,483], // LATIN SMALL LETTER K WITH CEDILLA + 0x138: [470,0,600,6,689], // LATIN SMALL LETTER KRA + 0x139: [904,0,611,-22,590], // LATIN CAPITAL LETTER L WITH ACUTE + 0x13A: [904,9,278,2,344], // LATIN SMALL LETTER L WITH ACUTE + 0x13B: [669,359,611,-22,590], // LATIN CAPITAL LETTER L WITH CEDILLA + 0x13C: [699,359,278,-62,290], // LATIN SMALL LETTER L WITH CEDILLA + 0x13D: [685,0,611,-22,667], // LATIN CAPITAL LETTER L WITH CARON + 0x13E: [710,9,451,2,499], // LATIN SMALL LETTER L WITH CARON + 0x13F: [669,0,611,-22,590], // LATIN CAPITAL LETTER L WITH MIDDLE DOT + 0x140: [699,9,375,2,382], // LATIN SMALL LETTER L WITH MIDDLE DOT + 0x141: [669,0,611,-22,590], // LATIN CAPITAL LETTER L WITH STROKE + 0x142: [699,9,278,-13,301], // LATIN SMALL LETTER L WITH STROKE + 0x143: [904,15,722,-27,748], // LATIN CAPITAL LETTER N WITH ACUTE + 0x144: [697,9,556,-6,494], // LATIN SMALL LETTER N WITH ACUTE + 0x145: [669,359,722,-27,748], // LATIN CAPITAL LETTER N WITH CEDILLA + 0x146: [462,359,556,-6,494], // LATIN SMALL LETTER N WITH CEDILLA + 0x147: [897,15,722,-27,748], // LATIN CAPITAL LETTER N WITH CARON + 0x148: [690,9,556,-6,506], // LATIN SMALL LETTER N WITH CARON + 0x149: [710,9,700,42,657], // LATIN SMALL LETTER N PRECEDED BY APOSTROPHE + 0x14A: [669,203,722,-46,685], // LATIN CAPITAL LETTER ENG + 0x14B: [462,207,543,-6,474], // LATIN SMALL LETTER ENG + 0x14C: [793,18,722,27,691], // LATIN CAPITAL LETTER O WITH MACRON + 0x14D: [586,13,500,-3,461], // LATIN SMALL LETTER O WITH MACRON + 0x14E: [885,18,722,27,691], // LATIN CAPITAL LETTER O WITH BREVE + 0x14F: [678,13,500,-3,488], // LATIN SMALL LETTER O WITH BREVE + 0x150: [904,18,722,27,700], // LATIN CAPITAL LETTER O WITH DOUBLE ACUTE + 0x151: [697,13,500,-3,519], // LATIN SMALL LETTER O WITH DOUBLE ACUTE + 0x152: [677,8,944,23,946], // LATIN CAPITAL LIGATURE OE + 0x153: [462,13,722,6,674], // LATIN SMALL LIGATURE OE + 0x154: [904,0,667,-28,623], // LATIN CAPITAL LETTER R WITH ACUTE + 0x155: [697,0,389,-21,389], // LATIN SMALL LETTER R WITH ACUTE + 0x156: [669,359,667,-28,623], // LATIN CAPITAL LETTER R WITH CEDILLA + 0x157: [462,359,389,-102,389], // LATIN SMALL LETTER R WITH CEDILLA + 0x158: [897,0,667,-28,623], // LATIN CAPITAL LETTER R WITH CARON + 0x159: [690,0,389,-21,411], // LATIN SMALL LETTER R WITH CARON + 0x15A: [904,18,556,2,526], // LATIN CAPITAL LETTER S WITH ACUTE + 0x15B: [697,13,389,-19,379], // LATIN SMALL LETTER S WITH ACUTE + 0x15C: [897,18,556,2,526], // LATIN CAPITAL LETTER S WITH CIRCUMFLEX + 0x15D: [690,13,389,-19,367], // LATIN SMALL LETTER S WITH CIRCUMFLEX + 0x15E: [685,218,556,2,526], // LATIN CAPITAL LETTER S WITH CEDILLA + 0x15F: [462,218,389,-19,333], // LATIN SMALL LETTER S WITH CEDILLA + 0x160: [897,18,556,2,526], // LATIN CAPITAL LETTER S WITH CARON + 0x161: [690,13,389,-19,411], // LATIN SMALL LETTER S WITH CARON + 0x162: [669,218,611,49,650], // LATIN CAPITAL LETTER T WITH CEDILLA + 0x163: [594,218,278,-75,289], // LATIN SMALL LETTER T WITH CEDILLA + 0x164: [897,0,611,49,650], // LATIN CAPITAL LETTER T WITH CARON + 0x165: [710,9,411,-11,499], // LATIN SMALL LETTER T WITH CARON + 0x166: [669,0,611,49,650], // LATIN CAPITAL LETTER T WITH STROKE + 0x167: [594,9,278,-30,281], // LATIN SMALL LETTER T WITH STROKE + 0x168: [841,18,722,67,744], // LATIN CAPITAL LETTER U WITH TILDE + 0x169: [655,9,556,15,493], // LATIN SMALL LETTER U WITH TILDE + 0x16A: [793,18,722,67,744], // LATIN CAPITAL LETTER U WITH MACRON + 0x16B: [586,9,556,15,493], // LATIN SMALL LETTER U WITH MACRON + 0x16C: [885,18,722,67,744], // LATIN CAPITAL LETTER U WITH BREVE + 0x16D: [678,9,556,15,493], // LATIN SMALL LETTER U WITH BREVE + 0x16E: [921,18,722,67,744], // LATIN CAPITAL LETTER U WITH RING ABOVE + 0x16F: [729,9,556,15,493], // LATIN SMALL LETTER U WITH RING ABOVE + 0x170: [889,18,722,67,744], // LATIN CAPITAL LETTER U WITH DOUBLE ACUTE + 0x171: [697,9,556,15,527], // LATIN SMALL LETTER U WITH DOUBLE ACUTE + 0x172: [669,173,722,67,744], // LATIN CAPITAL LETTER U WITH OGONEK + 0x173: [462,173,556,15,531], // LATIN SMALL LETTER U WITH OGONEK + 0x174: [897,18,889,64,940], // LATIN CAPITAL LETTER W WITH CIRCUMFLEX + 0x175: [690,13,667,15,614], // LATIN SMALL LETTER W WITH CIRCUMFLEX + 0x176: [897,0,611,71,659], // LATIN CAPITAL LETTER Y WITH CIRCUMFLEX + 0x177: [690,205,444,-94,393], // LATIN SMALL LETTER Y WITH CIRCUMFLEX + 0x178: [862,0,611,71,659], // LATIN CAPITAL LETTER Y WITH DIAERESIS + 0x179: [904,0,611,-12,589], // LATIN CAPITAL LETTER Z WITH ACUTE + 0x17A: [697,78,389,-43,379], // LATIN SMALL LETTER Z WITH ACUTE + 0x17B: [862,0,611,-12,589], // LATIN CAPITAL LETTER Z WITH DOT ABOVE + 0x17C: [655,78,389,-43,368], // LATIN SMALL LETTER Z WITH DOT ABOVE + 0x17D: [897,0,611,-12,589], // LATIN CAPITAL LETTER Z WITH CARON + 0x17E: [690,78,389,-43,411], // LATIN SMALL LETTER Z WITH CARON + 0x17F: [691,0,333,14,536] // LATIN SMALL LETTER LONG S + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax["HTML-CSS"].fontDir + "/General/BoldItalic/LatinExtendedA.js"); diff --git a/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/BoldItalic/LatinExtendedAdditional.js b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/BoldItalic/LatinExtendedAdditional.js new file mode 100644 index 0000000..46f4353 --- /dev/null +++ b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/BoldItalic/LatinExtendedAdditional.js @@ -0,0 +1,35 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/fonts/STIX/General/BoldItalic/LatinExtendedAdditional.js + * + * Copyright (c) 2009-2010 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax['HTML-CSS'].FONTDATA.FONTS['STIXGeneral-bold-italic'], + { + 0x1E80: [904,18,889,64,940], // LATIN CAPITAL LETTER W WITH GRAVE + 0x1E81: [697,13,667,15,614], // LATIN SMALL LETTER W WITH GRAVE + 0x1E82: [904,18,889,64,940], // LATIN CAPITAL LETTER W WITH ACUTE + 0x1E83: [697,13,667,15,614], // LATIN SMALL LETTER W WITH ACUTE + 0x1E84: [862,18,889,64,940], // LATIN CAPITAL LETTER W WITH DIAERESIS + 0x1E85: [655,13,667,15,614], // LATIN SMALL LETTER W WITH DIAERESIS + 0x1EF2: [904,0,611,71,659], // LATIN CAPITAL LETTER Y WITH GRAVE + 0x1EF3: [697,205,444,-94,392] // LATIN SMALL LETTER Y WITH GRAVE + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax["HTML-CSS"].fontDir + "/General/BoldItalic/LatinExtendedAdditional.js"); diff --git a/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/BoldItalic/LatinExtendedB.js b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/BoldItalic/LatinExtendedB.js new file mode 100644 index 0000000..a0ff8fd --- /dev/null +++ b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/BoldItalic/LatinExtendedB.js @@ -0,0 +1,59 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/fonts/STIX/General/BoldItalic/LatinExtendedB.js + * + * Copyright (c) 2009-2010 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax['HTML-CSS'].FONTDATA.FONTS['STIXGeneral-bold-italic'], + { + 0x180: [699,13,500,-14,444], // LATIN SMALL LETTER B WITH STROKE + 0x188: [576,13,560,-5,627], // LATIN SMALL LETTER C WITH HOOK + 0x190: [686,4,512,54,676], // LATIN CAPITAL LETTER OPEN E + 0x192: [707,156,500,-87,537], // LATIN SMALL LETTER F WITH HOOK + 0x195: [699,10,735,-13,692], // LATIN SMALL LETTER HV + 0x199: [691,8,500,-23,483], // LATIN SMALL LETTER K WITH HOOK + 0x19A: [699,9,278,2,290], // LATIN SMALL LETTER L WITH BAR + 0x19B: [666,0,480,16,452], // LATIN SMALL LETTER LAMBDA WITH STROKE + 0x19E: [462,205,536,-6,474], // LATIN SMALL LETTER N WITH LONG RIGHT LEG + 0x1A0: [716,18,722,27,806], // LATIN CAPITAL LETTER O WITH HORN + 0x1A1: [507,13,537,24,595], // LATIN SMALL LETTER O WITH HORN + 0x1A5: [673,205,520,-100,466], // LATIN SMALL LETTER P WITH HOOK + 0x1AA: [684,233,400,46,380], // LATIN LETTER REVERSED ESH LOOP + 0x1AB: [594,218,286,-49,289], // LATIN SMALL LETTER T WITH PALATAL HOOK + 0x1AD: [691,9,360,-3,450], // LATIN SMALL LETTER T WITH HOOK + 0x1AF: [803,18,775,67,893], // LATIN CAPITAL LETTER U WITH HORN + 0x1B0: [583,9,556,15,656], // LATIN SMALL LETTER U WITH HORN + 0x1BA: [450,237,496,-52,458], // LATIN SMALL LETTER EZH WITH TAIL + 0x1BB: [683,0,500,-27,469], // LATIN LETTER TWO WITH STROKE + 0x1BE: [541,10,500,37,463], // LATIN LETTER INVERTED GLOTTAL STOP WITH STROKE + 0x1C0: [740,0,208,14,278], // LATIN LETTER DENTAL CLICK + 0x1C1: [740,0,345,14,415], // LATIN LETTER LATERAL CLICK + 0x1C2: [740,0,368,14,438], // LATIN LETTER ALVEOLAR CLICK + 0x1C3: [684,13,300,45,355], // LATIN LETTER RETROFLEX CLICK + 0x1F0: [690,207,350,-104,474], // LATIN SMALL LETTER J WITH CARON + 0x1FA: [972,0,667,-68,593], // LATIN CAPITAL LETTER A WITH RING ABOVE AND ACUTE + 0x1FB: [909,14,500,-21,456], // LATIN SMALL LETTER A WITH RING ABOVE AND ACUTE + 0x1FC: [904,0,944,-64,918], // LATIN CAPITAL LETTER AE WITH ACUTE + 0x1FD: [697,13,722,-5,673], // LATIN SMALL LETTER AE WITH ACUTE + 0x1FE: [904,125,722,27,691], // LATIN CAPITAL LETTER O WITH STROKE AND ACUTE + 0x1FF: [697,119,500,-3,441], // LATIN SMALL LETTER O WITH STROKE AND ACUTE + 0x237: [462,207,278,-189,239] // LATIN SMALL LETTER DOTLESS J + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax["HTML-CSS"].fontDir + "/General/BoldItalic/LatinExtendedB.js"); diff --git a/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/BoldItalic/LetterlikeSymbols.js b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/BoldItalic/LetterlikeSymbols.js new file mode 100644 index 0000000..a5842e1 --- /dev/null +++ b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/BoldItalic/LetterlikeSymbols.js @@ -0,0 +1,56 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/fonts/STIX/General/BoldItalic/LetterlikeSymbols.js + * + * Copyright (c) 2009-2010 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax['HTML-CSS'].FONTDATA.FONTS['STIXGeneral-bold-italic'], + { + 0x2102: [685,14,713,35,704], // stix-mathematical bold oblique double-struck capital C + 0x2105: [683,14,847,52,795], // CARE OF + 0x210A: [462,224,819,27,771], // SCRIPT SMALL G + 0x210B: [699,21,1171,65,1154], // SCRIPT CAPITAL H + 0x210D: [669,0,773,21,808], // stix-mathematical bold oblique double-struck capital H + 0x2110: [699,21,997,47,977], // SCRIPT CAPITAL I + 0x2112: [699,21,1036,40,1015], // SCRIPT CAPITAL L + 0x2113: [699,14,500,43,632], // SCRIPT SMALL L + 0x2115: [669,0,760,27,783], // stix-mathematical bold oblique double-struck capital N + 0x2116: [675,15,1055,24,1031], // NUMERO SIGN + 0x2119: [669,0,497,18,715], // stix-mathematical bold oblique double-struck capital P + 0x211A: [685,74,754,35,734], // stix-mathematical bold oblique double-struck capital Q + 0x211B: [699,21,1048,55,973], // SCRIPT CAPITAL R + 0x211D: [669,0,727,18,718], // stix-mathematical bold oblique double-struck capital R + 0x2122: [676,-271,1000,24,977], // TRADE MARK SIGN + 0x2124: [669,0,807,23,837], // stix-mathematical bold oblique double-struck capital Z + 0x212C: [699,21,1060,55,985], // SCRIPT CAPITAL B + 0x212F: [462,14,726,35,648], // SCRIPT SMALL E + 0x2130: [699,21,826,95,791], // SCRIPT CAPITAL E + 0x2131: [699,21,1042,65,1025], // SCRIPT CAPITAL F + 0x2133: [699,21,1300,60,1245], // SCRIPT CAPITAL M + 0x2134: [462,14,848,35,780], // SCRIPT SMALL O + 0x213C: [449,13,730,32,715], // DOUBLE-STRUCK SMALL PI + 0x213F: [669,0,796,35,821], // DOUBLE-STRUCK CAPITAL PI + 0x2145: [669,0,748,18,733], // stix-mathematical bold double-struck capital D + 0x2146: [699,13,633,45,698], // stix-mathematical bold double-struck small letter d + 0x2147: [462,13,575,45,540], // stix-mathematical bold double-struck small letter e + 0x2148: [669,0,379,40,413], // stix-mathematical bold double-struck small letter i + 0x2149: [669,205,421,-93,455] // stix-mathematical bold double-struck small letter j + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax["HTML-CSS"].fontDir + "/General/BoldItalic/LetterlikeSymbols.js"); diff --git a/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/BoldItalic/Main.js b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/BoldItalic/Main.js new file mode 100644 index 0000000..0a7a82b --- /dev/null +++ b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/BoldItalic/Main.js @@ -0,0 +1,56 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/fonts/STIX/General/BoldItalic/Main.js + * + * Copyright (c) 2009-2010 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +MathJax.OutputJax['HTML-CSS'].FONTDATA.FONTS['STIXGeneral-bold-italic'] = { + directory: 'General/BoldItalic', + family: 'STIXGeneral', + weight: 'bold', + style: 'italic', + Ranges: [ + [0x0,0x7F,"BasicLatin"], + [0xA0,0xFF,"Latin1Supplement"], + [0x100,0x17F,"LatinExtendedA"], + [0x180,0x24F,"LatinExtendedB"], + [0x250,0x2AF,"IPAExtensions"], + [0x2B0,0x2FF,"SpacingModLetters"], + [0x370,0x3FF,"GreekAndCoptic"], + [0x400,0x4FF,"Cyrillic"], + [0x1E00,0x1EFF,"LatinExtendedAdditional"], + [0x2000,0x206F,"GeneralPunctuation"], + [0x20A0,0x20CF,"CurrencySymbols"], + [0x20D0,0x20FF,"CombDiactForSymbols"], + [0x2100,0x214F,"LetterlikeSymbols"], + [0x2200,0x22FF,"MathOperators"], + [0x2400,0x243F,"ControlPictures"], + [0x2460,0x24FF,"EnclosedAlphanum"], + [0x2500,0x257F,"BoxDrawing"], + [0xFB00,0xFB4F,"AlphaPresentForms"], + [0x1D468,0x1D49B,"MathBoldItalic"], + [0x1D4D0,0x1D503,"MathBoldScript"], + [0x1D63C,0x1D66F,"MathSSItalicBold"], + [0x1D71C,0x1D755,"GreekBoldItalic"], + [0x1D790,0x1D7C9,"GreekSSBoldItalic"] + ] + +}; + +MathJax.OutputJax["HTML-CSS"].initFont("STIXGeneral-bold-italic"); + +MathJax.Ajax.loadComplete(MathJax.OutputJax["HTML-CSS"].fontDir + "/General/BoldItalic/Main.js"); diff --git a/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/BoldItalic/MathBoldItalic.js b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/BoldItalic/MathBoldItalic.js new file mode 100644 index 0000000..a3ed8fa --- /dev/null +++ b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/BoldItalic/MathBoldItalic.js @@ -0,0 +1,79 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/fonts/STIX/General/BoldItalic/MathBoldItalic.js + * + * Copyright (c) 2009-2010 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax['HTML-CSS'].FONTDATA.FONTS['STIXGeneral-bold-italic'], + { + 0x1D468: [685,0,759,39,724], // MATHEMATICAL BOLD ITALIC CAPITAL A + 0x1D469: [669,0,726,42,715], // MATHEMATICAL BOLD ITALIC CAPITAL B + 0x1D46A: [685,12,701,55,745], // MATHEMATICAL BOLD ITALIC CAPITAL C + 0x1D46B: [669,0,818,42,790], // MATHEMATICAL BOLD ITALIC CAPITAL D + 0x1D46C: [669,0,732,42,754], // MATHEMATICAL BOLD ITALIC CAPITAL E + 0x1D46D: [669,0,635,44,750], // MATHEMATICAL BOLD ITALIC CAPITAL F + 0x1D46E: [685,12,768,55,768], // MATHEMATICAL BOLD ITALIC CAPITAL G + 0x1D46F: [669,0,891,42,946], // MATHEMATICAL BOLD ITALIC CAPITAL H + 0x1D470: [669,0,502,42,557], // MATHEMATICAL BOLD ITALIC CAPITAL I + 0x1D471: [669,12,558,66,646], // MATHEMATICAL BOLD ITALIC CAPITAL J + 0x1D472: [669,0,795,42,839], // MATHEMATICAL BOLD ITALIC CAPITAL K + 0x1D473: [669,0,744,42,700], // MATHEMATICAL BOLD ITALIC CAPITAL L + 0x1D474: [669,0,1016,42,1071], // MATHEMATICAL BOLD ITALIC CAPITAL M + 0x1D475: [669,0,869,42,924], // MATHEMATICAL BOLD ITALIC CAPITAL N + 0x1D476: [685,16,777,55,755], // MATHEMATICAL BOLD ITALIC CAPITAL O + 0x1D477: [669,0,612,42,733], // MATHEMATICAL BOLD ITALIC CAPITAL P + 0x1D478: [685,154,810,55,756], // MATHEMATICAL BOLD ITALIC CAPITAL Q + 0x1D479: [669,0,801,42,784], // MATHEMATICAL BOLD ITALIC CAPITAL R + 0x1D47A: [685,10,671,55,704], // MATHEMATICAL BOLD ITALIC CAPITAL S + 0x1D47B: [669,0,568,28,700], // MATHEMATICAL BOLD ITALIC CAPITAL T + 0x1D47C: [669,10,733,72,810], // MATHEMATICAL BOLD ITALIC CAPITAL U + 0x1D47D: [669,15,593,66,797], // MATHEMATICAL BOLD ITALIC CAPITAL V + 0x1D47E: [669,17,925,66,1129], // MATHEMATICAL BOLD ITALIC CAPITAL W + 0x1D47F: [669,0,808,28,830], // MATHEMATICAL BOLD ITALIC CAPITAL X + 0x1D480: [669,0,549,39,725], // MATHEMATICAL BOLD ITALIC CAPITAL Y + 0x1D481: [669,0,797,66,830], // MATHEMATICAL BOLD ITALIC CAPITAL Z + 0x1D482: [462,10,581,44,548], // MATHEMATICAL BOLD ITALIC SMALL A + 0x1D483: [685,8,509,50,487], // MATHEMATICAL BOLD ITALIC SMALL B + 0x1D484: [462,10,477,44,460], // MATHEMATICAL BOLD ITALIC SMALL C + 0x1D485: [685,14,595,44,589], // MATHEMATICAL BOLD ITALIC SMALL D + 0x1D486: [462,10,498,44,459], // MATHEMATICAL BOLD ITALIC SMALL E + 0x1D487: [685,207,572,44,632], // MATHEMATICAL BOLD ITALIC SMALL F + 0x1D488: [462,203,527,22,527], // MATHEMATICAL BOLD ITALIC SMALL G + 0x1D489: [685,10,576,50,543], // MATHEMATICAL BOLD ITALIC SMALL H + 0x1D48A: [620,9,357,55,300], // MATHEMATICAL BOLD ITALIC SMALL I + 0x1D48B: [620,207,431,-18,414], // MATHEMATICAL BOLD ITALIC SMALL J + 0x1D48C: [685,11,580,55,563], // MATHEMATICAL BOLD ITALIC SMALL K + 0x1D48D: [685,9,346,50,310], // MATHEMATICAL BOLD ITALIC SMALL L + 0x1D48E: [467,9,760,33,727], // MATHEMATICAL BOLD ITALIC SMALL M + 0x1D48F: [467,10,559,33,526], // MATHEMATICAL BOLD ITALIC SMALL N + 0x1D490: [462,10,561,44,539], // MATHEMATICAL BOLD ITALIC SMALL O + 0x1D491: [469,205,571,-33,554], // MATHEMATICAL BOLD ITALIC SMALL P + 0x1D492: [462,205,526,44,532], // MATHEMATICAL BOLD ITALIC SMALL Q + 0x1D493: [467,0,441,33,424], // MATHEMATICAL BOLD ITALIC SMALL R + 0x1D494: [462,11,474,55,419], // MATHEMATICAL BOLD ITALIC SMALL S + 0x1D495: [592,10,351,44,318], // MATHEMATICAL BOLD ITALIC SMALL T + 0x1D496: [463,10,535,33,502], // MATHEMATICAL BOLD ITALIC SMALL U + 0x1D497: [473,14,554,52,539], // MATHEMATICAL BOLD ITALIC SMALL V + 0x1D498: [473,14,814,52,799], // MATHEMATICAL BOLD ITALIC SMALL W + 0x1D499: [462,8,587,33,543], // MATHEMATICAL BOLD ITALIC SMALL X + 0x1D49A: [462,205,519,35,522], // MATHEMATICAL BOLD ITALIC SMALL Y + 0x1D49B: [462,19,531,35,499] // MATHEMATICAL BOLD ITALIC SMALL Z + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax["HTML-CSS"].fontDir + "/General/BoldItalic/MathBoldItalic.js"); diff --git a/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/BoldItalic/MathBoldScript.js b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/BoldItalic/MathBoldScript.js new file mode 100644 index 0000000..fb7f143 --- /dev/null +++ b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/BoldItalic/MathBoldScript.js @@ -0,0 +1,79 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/fonts/STIX/General/BoldItalic/MathBoldScript.js + * + * Copyright (c) 2009-2010 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax['HTML-CSS'].FONTDATA.FONTS['STIXGeneral-bold-italic'], + { + 0x1D4D0: [699,21,984,50,955], // MATHEMATICAL BOLD SCRIPT CAPITAL A + 0x1D4D1: [699,21,1060,55,985], // MATHEMATICAL BOLD SCRIPT CAPITAL B + 0x1D4D2: [699,21,912,60,877], // MATHEMATICAL BOLD SCRIPT CAPITAL C + 0x1D4D3: [699,21,991,60,906], // MATHEMATICAL BOLD SCRIPT CAPITAL D + 0x1D4D4: [699,21,826,95,791], // MATHEMATICAL BOLD SCRIPT CAPITAL E + 0x1D4D5: [699,21,1042,65,1025], // MATHEMATICAL BOLD SCRIPT CAPITAL F + 0x1D4D6: [699,21,834,82,799], // MATHEMATICAL BOLD SCRIPT CAPITAL G + 0x1D4D7: [699,21,1171,65,1154], // MATHEMATICAL BOLD SCRIPT CAPITAL H + 0x1D4D8: [699,21,997,47,977], // MATHEMATICAL BOLD SCRIPT CAPITAL I + 0x1D4D9: [699,224,906,19,886], // MATHEMATICAL BOLD SCRIPT CAPITAL J + 0x1D4DA: [699,21,1154,45,1130], // MATHEMATICAL BOLD SCRIPT CAPITAL K + 0x1D4DB: [699,21,1036,40,1015], // MATHEMATICAL BOLD SCRIPT CAPITAL L + 0x1D4DC: [699,21,1300,60,1245], // MATHEMATICAL BOLD SCRIPT CAPITAL M + 0x1D4DD: [699,21,1095,60,1078], // MATHEMATICAL BOLD SCRIPT CAPITAL N + 0x1D4DE: [699,21,809,72,749], // MATHEMATICAL BOLD SCRIPT CAPITAL O + 0x1D4DF: [699,21,1025,55,994], // MATHEMATICAL BOLD SCRIPT CAPITAL P + 0x1D4E0: [699,52,809,72,749], // MATHEMATICAL BOLD SCRIPT CAPITAL Q + 0x1D4E1: [699,21,1048,55,973], // MATHEMATICAL BOLD SCRIPT CAPITAL R + 0x1D4E2: [699,21,816,81,781], // MATHEMATICAL BOLD SCRIPT CAPITAL S + 0x1D4E3: [699,21,1030,65,1025], // MATHEMATICAL BOLD SCRIPT CAPITAL T + 0x1D4E4: [699,21,964,60,904], // MATHEMATICAL BOLD SCRIPT CAPITAL U + 0x1D4E5: [699,21,1040,60,1024], // MATHEMATICAL BOLD SCRIPT CAPITAL V + 0x1D4E6: [699,21,1320,60,1306], // MATHEMATICAL BOLD SCRIPT CAPITAL W + 0x1D4E7: [699,21,1033,64,1010], // MATHEMATICAL BOLD SCRIPT CAPITAL X + 0x1D4E8: [699,224,989,60,963], // MATHEMATICAL BOLD SCRIPT CAPITAL Y + 0x1D4E9: [699,21,996,50,976], // MATHEMATICAL BOLD SCRIPT CAPITAL Z + 0x1D4EA: [462,14,942,35,865], // MATHEMATICAL BOLD SCRIPT SMALL A + 0x1D4EB: [699,14,646,60,624], // MATHEMATICAL BOLD SCRIPT SMALL B + 0x1D4EC: [462,14,764,35,683], // MATHEMATICAL BOLD SCRIPT SMALL C + 0x1D4ED: [699,14,949,28,912], // MATHEMATICAL BOLD SCRIPT SMALL D + 0x1D4EE: [462,14,726,35,648], // MATHEMATICAL BOLD SCRIPT SMALL E + 0x1D4EF: [699,205,768,25,749], // MATHEMATICAL BOLD SCRIPT SMALL F + 0x1D4F0: [462,224,819,27,771], // MATHEMATICAL BOLD SCRIPT SMALL G + 0x1D4F1: [699,14,838,55,758], // MATHEMATICAL BOLD SCRIPT SMALL H + 0x1D4F2: [698,14,558,40,534], // MATHEMATICAL BOLD SCRIPT SMALL I + 0x1D4F3: [698,224,840,41,823], // MATHEMATICAL BOLD SCRIPT SMALL J + 0x1D4F4: [699,14,810,55,730], // MATHEMATICAL BOLD SCRIPT SMALL K + 0x1D4F5: [699,14,650,43,632], // MATHEMATICAL BOLD SCRIPT SMALL L + 0x1D4F6: [462,14,1137,45,1057], // MATHEMATICAL BOLD SCRIPT SMALL M + 0x1D4F7: [462,14,851,45,771], // MATHEMATICAL BOLD SCRIPT SMALL N + 0x1D4F8: [462,14,848,35,780], // MATHEMATICAL BOLD SCRIPT SMALL O + 0x1D4F9: [462,205,885,25,770], // MATHEMATICAL BOLD SCRIPT SMALL P + 0x1D4FA: [462,205,913,35,833], // MATHEMATICAL BOLD SCRIPT SMALL Q + 0x1D4FB: [462,0,677,40,648], // MATHEMATICAL BOLD SCRIPT SMALL R + 0x1D4FC: [557,14,562,51,449], // MATHEMATICAL BOLD SCRIPT SMALL S + 0x1D4FD: [669,14,618,47,612], // MATHEMATICAL BOLD SCRIPT SMALL T + 0x1D4FE: [449,14,842,31,762], // MATHEMATICAL BOLD SCRIPT SMALL U + 0x1D4FF: [458,14,732,40,670], // MATHEMATICAL BOLD SCRIPT SMALL V + 0x1D500: [458,14,1012,40,950], // MATHEMATICAL BOLD SCRIPT SMALL W + 0x1D501: [462,14,820,63,740], // MATHEMATICAL BOLD SCRIPT SMALL X + 0x1D502: [449,224,784,40,711], // MATHEMATICAL BOLD SCRIPT SMALL Y + 0x1D503: [493,14,782,61,702] // MATHEMATICAL BOLD SCRIPT SMALL Z + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax["HTML-CSS"].fontDir + "/General/BoldItalic/MathBoldScript.js"); diff --git a/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/BoldItalic/MathOperators.js b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/BoldItalic/MathOperators.js new file mode 100644 index 0000000..09187e1 --- /dev/null +++ b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/BoldItalic/MathOperators.js @@ -0,0 +1,29 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/fonts/STIX/General/BoldItalic/MathOperators.js + * + * Copyright (c) 2009-2010 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax['HTML-CSS'].FONTDATA.FONTS['STIXGeneral-bold-italic'], + { + 0x2202: [686,10,559,44,559], // PARTIAL DIFFERENTIAL + 0x2212: [297,-209,606,51,555] // MINUS SIGN + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax["HTML-CSS"].fontDir + "/General/BoldItalic/MathOperators.js"); diff --git a/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/BoldItalic/MathSSItalicBold.js b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/BoldItalic/MathSSItalicBold.js new file mode 100644 index 0000000..659da3e --- /dev/null +++ b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/BoldItalic/MathSSItalicBold.js @@ -0,0 +1,79 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/fonts/STIX/General/BoldItalic/MathSSItalicBold.js + * + * Copyright (c) 2009-2010 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax['HTML-CSS'].FONTDATA.FONTS['STIXGeneral-bold-italic'], + { + 0x1D63C: [690,0,690,25,665], // MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL A + 0x1D63D: [676,0,636,80,691], // MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL B + 0x1D63E: [691,19,723,119,797], // MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL C + 0x1D63F: [676,0,709,80,772], // MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL D + 0x1D640: [676,0,635,80,728], // MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL E + 0x1D641: [676,0,582,80,725], // MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL F + 0x1D642: [691,19,746,107,785], // MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL G + 0x1D643: [676,0,715,80,803], // MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL H + 0x1D644: [676,0,440,79,534], // MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL I + 0x1D645: [676,96,481,15,574], // MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL J + 0x1D646: [676,0,712,80,816], // MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL K + 0x1D647: [676,0,603,80,612], // MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL L + 0x1D648: [676,0,913,80,1001], // MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL M + 0x1D649: [676,18,724,80,812], // MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL N + 0x1D64A: [692,18,778,106,840], // MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL O + 0x1D64B: [676,0,581,80,695], // MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL P + 0x1D64C: [691,176,779,105,839], // MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL Q + 0x1D64D: [676,0,670,80,698], // MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL R + 0x1D64E: [691,19,554,66,637], // MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL S + 0x1D64F: [676,0,641,157,785], // MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL T + 0x1D650: [676,19,699,123,792], // MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL U + 0x1D651: [676,18,690,193,833], // MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL V + 0x1D652: [676,15,997,198,1135], // MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL W + 0x1D653: [676,0,740,40,853], // MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL X + 0x1D654: [676,0,694,188,842], // MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL Y + 0x1D655: [676,0,653,25,769], // MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL Z + 0x1D656: [473,14,489,48,507], // MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL A + 0x1D657: [676,13,512,51,558], // MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL B + 0x1D658: [473,14,462,71,524], // MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL C + 0x1D659: [676,14,518,69,625], // MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL D + 0x1D65A: [473,13,452,71,492], // MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL E + 0x1D65B: [692,0,340,72,533], // MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL F + 0x1D65C: [473,206,504,2,599], // MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL G + 0x1D65D: [676,0,510,55,542], // MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL H + 0x1D65E: [688,0,245,59,366], // MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL I + 0x1D65F: [688,202,324,-90,440], // MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL J + 0x1D660: [676,0,519,55,599], // MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL K + 0x1D661: [676,0,235,55,348], // MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL L + 0x1D662: [473,0,776,55,809], // MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL M + 0x1D663: [473,0,510,55,542], // MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL N + 0x1D664: [473,14,501,72,542], // MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL O + 0x1D665: [473,205,512,3,559], // MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL P + 0x1D666: [473,205,512,69,574], // MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL Q + 0x1D667: [473,0,411,55,519], // MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL R + 0x1D668: [473,13,385,37,442], // MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL S + 0x1D669: [631,12,386,98,447], // MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL T + 0x1D66A: [462,15,518,81,569], // MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL U + 0x1D66B: [462,14,462,129,561], // MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL V + 0x1D66C: [462,14,701,131,798], // MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL W + 0x1D66D: [462,0,506,20,582], // MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL X + 0x1D66E: [462,204,472,-27,569], // MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL Y + 0x1D66F: [462,0,441,21,530] // MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL Z + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax["HTML-CSS"].fontDir + "/General/BoldItalic/MathSSItalicBold.js"); diff --git a/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/BoldItalic/SpacingModLetters.js b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/BoldItalic/SpacingModLetters.js new file mode 100644 index 0000000..f02ab4a --- /dev/null +++ b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/BoldItalic/SpacingModLetters.js @@ -0,0 +1,54 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/fonts/STIX/General/BoldItalic/SpacingModLetters.js + * + * Copyright (c) 2009-2010 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax['HTML-CSS'].FONTDATA.FONTS['STIXGeneral-bold-italic'], + { + 0x2B0: [852,-328,380,7,365], // MODIFIER LETTER SMALL H + 0x2B1: [841,-329,380,7,365], // MODIFIER LETTER SMALL H WITH HOOK + 0x2B2: [1017,-331,350,24,384], // MODIFIER LETTER SMALL J + 0x2B3: [690,-344,389,21,384], // MODIFIER LETTER SMALL R + 0x2B4: [690,-344,389,2,365], // MODIFIER LETTER SMALL TURNED R + 0x2B5: [690,-171,389,2,371], // MODIFIER LETTER SMALL TURNED R WITH HOOK + 0x2B6: [684,-345,390,5,466], // MODIFIER LETTER SMALL CAPITAL INVERTED R + 0x2B7: [690,-331,450,15,467], // MODIFIER LETTER SMALL W + 0x2B8: [690,-176,350,11,386], // MODIFIER LETTER SMALL Y + 0x2BB: [685,-369,333,128,332], // MODIFIER LETTER TURNED COMMA + 0x2C0: [690,-240,343,-3,323], // MODIFIER LETTER GLOTTAL STOP + 0x2C1: [690,-240,326,20,364], // MODIFIER LETTER REVERSED GLOTTAL STOP + 0x2C6: [690,-516,333,40,367], // MODIFIER LETTER CIRCUMFLEX ACCENT + 0x2C7: [690,-516,333,79,411], // CARON + 0x2D8: [678,-516,333,71,387], // BREVE + 0x2D9: [655,-525,333,163,293], // DOT ABOVE + 0x2DA: [754,-541,333,127,340], // RING ABOVE + 0x2DB: [44,173,333,-40,189], // OGONEK + 0x2DC: [655,-536,333,48,407], // SMALL TILDE + 0x2DD: [697,-516,333,69,498], // DOUBLE ACUTE ACCENT + 0x2E0: [684,-190,379,14,423], // MODIFIER LETTER SMALL GAMMA + 0x2E1: [857,-329,222,2,217], // MODIFIER LETTER SMALL L + 0x2E2: [690,-331,280,8,274], // MODIFIER LETTER SMALL S + 0x2E3: [690,-335,389,3,387], // MODIFIER LETTER SMALL X + 0x2E4: [849,-329,328,9,364], // MODIFIER LETTER SMALL REVERSED GLOTTAL STOP + 0x2EC: [70,167,314,5,309], // MODIFIER LETTER VOICING + 0x2ED: [720,-528,395,5,390] // MODIFIER LETTER UNASPIRATED + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax["HTML-CSS"].fontDir + "/General/BoldItalic/SpacingModLetters.js"); diff --git a/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Italic/AlphaPresentForms.js b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Italic/AlphaPresentForms.js new file mode 100644 index 0000000..505b922 --- /dev/null +++ b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Italic/AlphaPresentForms.js @@ -0,0 +1,32 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/fonts/STIX/General/Italic/AlphaPresentForms.js + * + * Copyright (c) 2009-2010 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax['HTML-CSS'].FONTDATA.FONTS['STIXGeneral-italic'], + { + 0xFB00: [678,207,527,-147,673], // LATIN SMALL LIGATURE FF + 0xFB01: [681,207,500,-141,481], // LATIN SMALL LIGATURE FI + 0xFB02: [682,204,500,-141,518], // LATIN SMALL LIGATURE FL + 0xFB03: [681,207,744,-147,725], // LATIN SMALL LIGATURE FFI + 0xFB04: [682,207,745,-147,763] // LATIN SMALL LIGATURE FFL + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax["HTML-CSS"].fontDir + "/General/Italic/AlphaPresentForms.js"); diff --git a/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Italic/BoxDrawing.js b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Italic/BoxDrawing.js new file mode 100644 index 0000000..c27a42f --- /dev/null +++ b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Italic/BoxDrawing.js @@ -0,0 +1,67 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/fonts/STIX/General/Italic/BoxDrawing.js + * + * Copyright (c) 2009-2010 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax['HTML-CSS'].FONTDATA.FONTS['STIXGeneral-italic'], + { + 0x2500: [340,-267,708,-11,719], // BOX DRAWINGS LIGHT HORIZONTAL + 0x2502: [910,303,708,317,390], // BOX DRAWINGS LIGHT VERTICAL + 0x250C: [340,303,708,317,720], // BOX DRAWINGS LIGHT DOWN AND RIGHT + 0x2510: [340,303,708,-11,390], // BOX DRAWINGS LIGHT DOWN AND LEFT + 0x2514: [910,-267,708,317,720], // BOX DRAWINGS LIGHT UP AND RIGHT + 0x2518: [910,-267,708,-11,390], // BOX DRAWINGS LIGHT UP AND LEFT + 0x251C: [910,303,708,317,719], // BOX DRAWINGS LIGHT VERTICAL AND RIGHT + 0x2524: [910,303,708,-11,390], // BOX DRAWINGS LIGHT VERTICAL AND LEFT + 0x252C: [340,303,708,-11,719], // BOX DRAWINGS LIGHT DOWN AND HORIZONTAL + 0x2534: [910,-267,708,-11,719], // BOX DRAWINGS LIGHT UP AND HORIZONTAL + 0x253C: [910,303,708,-11,719], // BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL + 0x2550: [433,-174,708,-11,719], // BOX DRAWINGS DOUBLE HORIZONTAL + 0x2551: [910,303,708,225,483], // BOX DRAWINGS DOUBLE VERTICAL + 0x2552: [433,303,708,317,720], // BOX DRAWINGS DOWN SINGLE AND RIGHT DOUBLE + 0x2553: [340,303,708,225,720], // BOX DRAWINGS DOWN DOUBLE AND RIGHT SINGLE + 0x2554: [433,303,708,225,719], // BOX DRAWINGS DOUBLE DOWN AND RIGHT + 0x2555: [433,303,708,-11,390], // BOX DRAWINGS DOWN SINGLE AND LEFT DOUBLE + 0x2556: [340,303,708,-11,483], // BOX DRAWINGS DOWN DOUBLE AND LEFT SINGLE + 0x2557: [433,303,708,-11,483], // BOX DRAWINGS DOUBLE DOWN AND LEFT + 0x2558: [910,-174,708,317,720], // BOX DRAWINGS UP SINGLE AND RIGHT DOUBLE + 0x2559: [910,-267,708,225,720], // BOX DRAWINGS UP DOUBLE AND RIGHT SINGLE + 0x255A: [910,-174,708,225,719], // BOX DRAWINGS DOUBLE UP AND RIGHT + 0x255B: [910,-174,708,-11,390], // BOX DRAWINGS UP SINGLE AND LEFT DOUBLE + 0x255C: [910,-267,708,-11,483], // BOX DRAWINGS UP DOUBLE AND LEFT SINGLE + 0x255D: [910,-174,708,-11,483], // BOX DRAWINGS DOUBLE UP AND LEFT + 0x255E: [910,303,708,317,720], // BOX DRAWINGS VERTICAL SINGLE AND RIGHT DOUBLE + 0x255F: [910,303,708,225,720], // BOX DRAWINGS VERTICAL DOUBLE AND RIGHT SINGLE + 0x2560: [910,303,708,225,720], // BOX DRAWINGS DOUBLE VERTICAL AND RIGHT + 0x2561: [910,303,708,-11,390], // BOX DRAWINGS VERTICAL SINGLE AND LEFT DOUBLE + 0x2562: [910,303,708,-11,483], // BOX DRAWINGS VERTICAL DOUBLE AND LEFT SINGLE + 0x2563: [910,303,708,-11,483], // BOX DRAWINGS DOUBLE VERTICAL AND LEFT + 0x2564: [433,303,708,-11,719], // BOX DRAWINGS DOWN SINGLE AND HORIZONTAL DOUBLE + 0x2565: [340,303,708,-11,719], // BOX DRAWINGS DOWN DOUBLE AND HORIZONTAL SINGLE + 0x2566: [433,303,708,-11,719], // BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL + 0x2567: [910,-174,708,-11,719], // BOX DRAWINGS UP SINGLE AND HORIZONTAL DOUBLE + 0x2568: [910,-267,708,-11,719], // BOX DRAWINGS UP DOUBLE AND HORIZONTAL SINGLE + 0x2569: [910,-174,708,-11,719], // BOX DRAWINGS DOUBLE UP AND HORIZONTAL + 0x256A: [910,303,708,-11,719], // BOX DRAWINGS VERTICAL SINGLE AND HORIZONTAL DOUBLE + 0x256B: [910,303,708,-11,719], // BOX DRAWINGS VERTICAL DOUBLE AND HORIZONTAL SINGLE + 0x256C: [910,303,708,-11,719] // BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax["HTML-CSS"].fontDir + "/General/Italic/BoxDrawing.js"); diff --git a/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Italic/CombDiactForSymbols.js b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Italic/CombDiactForSymbols.js new file mode 100644 index 0000000..84021d7 --- /dev/null +++ b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Italic/CombDiactForSymbols.js @@ -0,0 +1,47 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/fonts/STIX/General/Italic/CombDiactForSymbols.js + * + * Copyright (c) 2009-2010 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax['HTML-CSS'].FONTDATA.FONTS['STIXGeneral-italic'], + { + 0x20D0: [760,-627,0,-453,-17], // COMBINING LEFT HARPOON ABOVE + 0x20D1: [760,-627,0,-426,10], // COMBINING RIGHT HARPOON ABOVE + 0x20D2: [662,156,0,-300,-234], // COMBINING LONG VERTICAL LINE OVERLAY + 0x20D6: [760,-548,0,-453,-17], // COMBINING LEFT ARROW ABOVE + 0x20D7: [760,-548,0,-453,-17], // COMBINING RIGHT ARROW ABOVE + 0x20DB: [622,-523,0,-453,44], // COMBINING THREE DOTS ABOVE + 0x20DC: [622,-523,0,-582,114], // COMBINING FOUR DOTS ABOVE + 0x20DD: [725,221,0,-723,223], // COMBINING ENCLOSING CIRCLE + 0x20E1: [760,-548,0,-453,25], // COMBINING LEFT RIGHT ARROW ABOVE + 0x20E4: [1023,155,0,-970,490], // COMBINING ENCLOSING UPWARD POINTING TRIANGLE + 0x20E5: [662,156,0,-430,-24], // COMBINING REVERSE SOLIDUS OVERLAY + 0x20E6: [662,156,0,-351,-86], // COMBINING DOUBLE VERTICAL STROKE OVERLAY + 0x20E7: [725,178,0,-595,221], // COMBINING ANNUITY SYMBOL + 0x20E8: [-119,218,0,-462,35], // COMBINING TRIPLE UNDERDOT + 0x20E9: [681,-538,0,-478,55], // COMBINING WIDE BRIDGE ABOVE + 0x20EA: [419,-87,0,-793,153], // COMBINING LEFTWARDS ARROW OVERLAY + 0x20EC: [681,-548,0,-453,-17], // COMBINING RIGHTWARDS HARPOON WITH BARB DOWNWARDS + 0x20ED: [681,-548,0,-453,-17], // COMBINING LEFTWARDS HARPOON WITH BARB DOWNWARDS + 0x20EE: [-40,252,0,-453,-17], // COMBINING LEFT ARROW BELOW + 0x20EF: [-40,252,0,-453,-17] // COMBINING RIGHT ARROW BELOW + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax["HTML-CSS"].fontDir + "/General/Italic/CombDiactForSymbols.js"); diff --git a/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Italic/ControlPictures.js b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Italic/ControlPictures.js new file mode 100644 index 0000000..b3719f8 --- /dev/null +++ b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Italic/ControlPictures.js @@ -0,0 +1,28 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/fonts/STIX/General/Italic/ControlPictures.js + * + * Copyright (c) 2009-2010 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax['HTML-CSS'].FONTDATA.FONTS['STIXGeneral-italic'], + { + 0x2423: [16,120,500,40,460] // stix-round space indicator + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax["HTML-CSS"].fontDir + "/General/Italic/ControlPictures.js"); diff --git a/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Italic/CurrencySymbols.js b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Italic/CurrencySymbols.js new file mode 100644 index 0000000..04f03de --- /dev/null +++ b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Italic/CurrencySymbols.js @@ -0,0 +1,31 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/fonts/STIX/General/Italic/CurrencySymbols.js + * + * Copyright (c) 2009-2010 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax['HTML-CSS'].FONTDATA.FONTS['STIXGeneral-italic'], + { + 0x20A3: [653,0,611,8,645], // FRENCH FRANC SIGN + 0x20A4: [670,8,500,10,517], // LIRA SIGN + 0x20A7: [653,13,1149,0,1126], // PESETA SIGN + 0x20AC: [664,12,500,16,538] // EURO SIGN + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax["HTML-CSS"].fontDir + "/General/Italic/CurrencySymbols.js"); diff --git a/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Italic/Cyrillic.js b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Italic/Cyrillic.js new file mode 100644 index 0000000..fcb3620 --- /dev/null +++ b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Italic/Cyrillic.js @@ -0,0 +1,129 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/fonts/STIX/General/Italic/Cyrillic.js + * + * Copyright (c) 2009-2010 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax['HTML-CSS'].FONTDATA.FONTS['STIXGeneral-italic'], + { + 0x401: [856,0,611,1,631], // CYRILLIC CAPITAL LETTER IO + 0x402: [653,208,723,70,663], // CYRILLIC CAPITAL LETTER DJE + 0x403: [914,0,569,-36,603], // CYRILLIC CAPITAL LETTER GJE + 0x404: [666,18,657,67,680], // CYRILLIC CAPITAL LETTER UKRAINIAN IE + 0x405: [667,18,500,7,498], // CYRILLIC CAPITAL LETTER DZE + 0x406: [653,0,333,-7,382], // CYRILLIC CAPITAL LETTER BYELORUSSIAN-UKRAINIAN I + 0x407: [856,0,333,-31,433], // CYRILLIC CAPITAL LETTER YI + 0x408: [653,18,444,-34,463], // CYRILLIC CAPITAL LETTER JE + 0x409: [653,16,961,-35,901], // CYRILLIC CAPITAL LETTER LJE + 0x40A: [653,0,966,-28,906], // CYRILLIC CAPITAL LETTER NJE + 0x40B: [653,0,786,70,701], // CYRILLIC CAPITAL LETTER TSHE + 0x40C: [914,0,621,-28,657], // CYRILLIC CAPITAL LETTER KJE + 0x40E: [887,14,656,110,716], // CYRILLIC CAPITAL LETTER SHORT U + 0x40F: [653,179,722,-25,747], // CYRILLIC CAPITAL LETTER DZHE + 0x410: [668,0,611,-49,566], // CYRILLIC CAPITAL LETTER A + 0x411: [653,0,590,-28,603], // CYRILLIC CAPITAL LETTER BE + 0x412: [653,0,597,-23,571], // CYRILLIC CAPITAL LETTER VE + 0x413: [653,0,569,-36,603], // CYRILLIC CAPITAL LETTER GHE + 0x414: [653,179,655,-103,696], // CYRILLIC CAPITAL LETTER DE + 0x415: [653,0,611,1,631], // CYRILLIC CAPITAL LETTER IE + 0x416: [661,0,956,-55,972], // CYRILLIC CAPITAL LETTER ZHE + 0x417: [668,16,564,9,548], // CYRILLIC CAPITAL LETTER ZE + 0x418: [653,0,708,-25,749], // CYRILLIC CAPITAL LETTER I + 0x419: [887,0,708,-25,749], // CYRILLIC CAPITAL LETTER SHORT I + 0x41A: [661,0,621,-28,657], // CYRILLIC CAPITAL LETTER KA + 0x41B: [653,16,699,-35,740], // CYRILLIC CAPITAL LETTER EL + 0x41C: [653,0,814,-33,855], // CYRILLIC CAPITAL LETTER EM + 0x41D: [653,0,708,-26,749], // CYRILLIC CAPITAL LETTER EN + 0x41E: [667,18,712,60,699], // CYRILLIC CAPITAL LETTER O + 0x41F: [653,0,704,-29,745], // CYRILLIC CAPITAL LETTER PE + 0x420: [653,0,568,-24,578], // CYRILLIC CAPITAL LETTER ER + 0x421: [666,18,667,67,690], // CYRILLIC CAPITAL LETTER ES + 0x422: [653,0,556,70,644], // CYRILLIC CAPITAL LETTER TE + 0x423: [653,14,656,110,716], // CYRILLIC CAPITAL LETTER U + 0x424: [653,0,772,73,758], // CYRILLIC CAPITAL LETTER EF + 0x425: [653,0,575,-67,617], // CYRILLIC CAPITAL LETTER HA + 0x426: [653,179,706,-25,747], // CYRILLIC CAPITAL LETTER TSE + 0x427: [653,0,622,54,663], // CYRILLIC CAPITAL LETTER CHE + 0x428: [653,0,936,-14,977], // CYRILLIC CAPITAL LETTER SHA + 0x429: [653,179,936,-14,977], // CYRILLIC CAPITAL LETTER SHCHA + 0x42A: [653,0,695,63,652], // CYRILLIC CAPITAL LETTER HARD SIGN + 0x42B: [653,0,852,-28,893], // CYRILLIC CAPITAL LETTER YERU + 0x42C: [653,0,597,-28,537], // CYRILLIC CAPITAL LETTER SOFT SIGN + 0x42D: [666,18,658,15,636], // CYRILLIC CAPITAL LETTER E + 0x42E: [666,18,877,-32,850], // CYRILLIC CAPITAL LETTER YU + 0x42F: [653,0,635,-49,676], // CYRILLIC CAPITAL LETTER YA + 0x430: [441,11,514,23,482], // CYRILLIC SMALL LETTER A + 0x431: [683,11,498,36,535], // CYRILLIC SMALL LETTER BE + 0x432: [441,11,442,31,423], // CYRILLIC SMALL LETTER VE + 0x433: [441,11,390,1,384], // CYRILLIC SMALL LETTER GHE + 0x434: [683,11,489,30,470], // CYRILLIC SMALL LETTER DE + 0x435: [441,11,440,34,422], // CYRILLIC SMALL LETTER IE + 0x436: [441,11,799,0,791], // CYRILLIC SMALL LETTER ZHE + 0x437: [441,11,376,-18,357], // CYRILLIC SMALL LETTER ZE + 0x438: [441,11,527,29,495], // CYRILLIC SMALL LETTER I + 0x439: [667,11,527,29,495], // CYRILLIC SMALL LETTER SHORT I + 0x43A: [441,11,491,18,485], // CYRILLIC SMALL LETTER KA + 0x43B: [441,12,474,-44,442], // CYRILLIC SMALL LETTER EL + 0x43C: [432,12,633,-45,601], // CYRILLIC SMALL LETTER EM + 0x43D: [441,9,504,20,472], // CYRILLIC SMALL LETTER EN + 0x43E: [441,11,489,29,470], // CYRILLIC SMALL LETTER O + 0x43F: [441,9,511,19,479], // CYRILLIC SMALL LETTER PE + 0x440: [441,205,483,-77,464], // CYRILLIC SMALL LETTER ER + 0x441: [441,11,441,27,422], // CYRILLIC SMALL LETTER ES + 0x442: [441,9,741,17,709], // CYRILLIC SMALL LETTER TE + 0x443: [441,206,421,-61,389], // CYRILLIC SMALL LETTER U + 0x444: [683,205,702,29,677], // CYRILLIC SMALL LETTER EF + 0x445: [441,11,444,-35,439], // CYRILLIC SMALL LETTER HA + 0x446: [441,182,527,29,495], // CYRILLIC SMALL LETTER TSE + 0x447: [441,9,482,42,450], // CYRILLIC SMALL LETTER CHE + 0x448: [441,11,785,31,753], // CYRILLIC SMALL LETTER SHA + 0x449: [441,182,785,31,753], // CYRILLIC SMALL LETTER SHCHA + 0x44A: [441,11,567,12,528], // CYRILLIC SMALL LETTER HARD SIGN + 0x44B: [441,11,689,50,657], // CYRILLIC SMALL LETTER YERU + 0x44C: [441,11,471,50,433], // CYRILLIC SMALL LETTER SOFT SIGN + 0x44D: [441,11,408,7,391], // CYRILLIC SMALL LETTER E + 0x44E: [441,11,674,21,655], // CYRILLIC SMALL LETTER YU + 0x44F: [432,9,481,-25,449], // CYRILLIC SMALL LETTER YA + 0x451: [606,11,440,34,475], // CYRILLIC SMALL LETTER IO + 0x452: [683,208,479,20,448], // CYRILLIC SMALL LETTER DJE + 0x453: [664,11,390,1,455], // CYRILLIC SMALL LETTER GJE + 0x454: [441,11,428,26,441], // CYRILLIC SMALL LETTER UKRAINIAN IE + 0x455: [442,13,389,-9,341], // CYRILLIC SMALL LETTER DZE + 0x456: [654,11,278,43,258], // CYRILLIC SMALL LETTER BYELORUSSIAN-UKRAINIAN I + 0x457: [606,11,278,43,357], // CYRILLIC SMALL LETTER YI + 0x458: [652,207,278,-172,231], // CYRILLIC SMALL LETTER JE + 0x459: [441,12,679,-44,631], // CYRILLIC SMALL LETTER LJE + 0x45A: [441,11,697,21,649], // CYRILLIC SMALL LETTER NJE + 0x45B: [683,9,511,20,479], // CYRILLIC SMALL LETTER TSHE + 0x45C: [664,11,491,18,485], // CYRILLIC SMALL LETTER KJE + 0x45E: [667,206,421,-61,417], // CYRILLIC SMALL LETTER SHORT U + 0x45F: [441,182,527,29,495], // CYRILLIC SMALL LETTER DZHE + 0x462: [653,0,681,19,621], // CYRILLIC CAPITAL LETTER YAT + 0x463: [683,11,542,13,504], // CYRILLIC SMALL LETTER YAT + 0x46A: [653,0,953,-55,893], // CYRILLIC CAPITAL LETTER BIG YUS + 0x46B: [432,11,741,0,686], // CYRILLIC SMALL LETTER BIG YUS + 0x472: [667,18,712,60,699], // CYRILLIC CAPITAL LETTER FITA + 0x473: [441,11,489,29,470], // CYRILLIC SMALL LETTER FITA + 0x474: [662,18,646,76,742], // CYRILLIC CAPITAL LETTER IZHITSA + 0x475: [441,18,464,34,528], // CYRILLIC SMALL LETTER IZHITSA + 0x490: [783,0,524,-30,622], // CYRILLIC CAPITAL LETTER GHE WITH UPTURN + 0x491: [507,11,337,42,404] // CYRILLIC SMALL LETTER GHE WITH UPTURN + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax["HTML-CSS"].fontDir + "/General/Italic/Cyrillic.js"); diff --git a/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Italic/EnclosedAlphanum.js b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Italic/EnclosedAlphanum.js new file mode 100644 index 0000000..6d2afc0 --- /dev/null +++ b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Italic/EnclosedAlphanum.js @@ -0,0 +1,89 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/fonts/STIX/General/Italic/EnclosedAlphanum.js + * + * Copyright (c) 2009-2010 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax['HTML-CSS'].FONTDATA.FONTS['STIXGeneral-italic'], + { + 0x2460: [676,14,684,0,684], // CIRCLED DIGIT ONE + 0x2461: [676,14,684,0,684], // CIRCLED DIGIT TWO + 0x2462: [676,14,684,0,684], // CIRCLED DIGIT THREE + 0x2463: [676,14,684,0,684], // CIRCLED DIGIT FOUR + 0x2464: [676,14,684,0,684], // CIRCLED DIGIT FIVE + 0x2465: [676,14,684,0,684], // CIRCLED DIGIT SIX + 0x2466: [676,14,684,0,684], // CIRCLED DIGIT SEVEN + 0x2467: [676,14,684,0,684], // CIRCLED DIGIT EIGHT + 0x2468: [676,14,684,0,684], // CIRCLED DIGIT NINE + 0x24B6: [676,14,684,0,684], // CIRCLED LATIN CAPITAL LETTER A + 0x24B7: [676,14,684,0,684], // CIRCLED LATIN CAPITAL LETTER B + 0x24B8: [676,14,684,0,684], // CIRCLED LATIN CAPITAL LETTER C + 0x24B9: [676,14,684,0,684], // CIRCLED LATIN CAPITAL LETTER D + 0x24BA: [676,14,684,0,684], // CIRCLED LATIN CAPITAL LETTER E + 0x24BB: [676,14,684,0,684], // CIRCLED LATIN CAPITAL LETTER F + 0x24BC: [676,14,684,0,684], // CIRCLED LATIN CAPITAL LETTER G + 0x24BD: [676,14,684,0,684], // CIRCLED LATIN CAPITAL LETTER H + 0x24BE: [676,14,684,0,684], // CIRCLED LATIN CAPITAL LETTER I + 0x24BF: [676,14,684,0,684], // CIRCLED LATIN CAPITAL LETTER J + 0x24C0: [676,14,684,0,684], // CIRCLED LATIN CAPITAL LETTER K + 0x24C1: [676,14,684,0,684], // CIRCLED LATIN CAPITAL LETTER L + 0x24C2: [676,14,684,0,684], // CIRCLED LATIN CAPITAL LETTER M + 0x24C3: [676,14,684,0,684], // CIRCLED LATIN CAPITAL LETTER N + 0x24C4: [676,14,684,0,684], // CIRCLED LATIN CAPITAL LETTER O + 0x24C5: [676,14,684,0,684], // CIRCLED LATIN CAPITAL LETTER P + 0x24C6: [676,14,684,0,684], // CIRCLED LATIN CAPITAL LETTER Q + 0x24C7: [676,14,684,0,684], // CIRCLED LATIN CAPITAL LETTER R + 0x24C8: [676,14,684,0,684], // CIRCLED LATIN CAPITAL LETTER S + 0x24C9: [676,14,684,0,684], // CIRCLED LATIN CAPITAL LETTER T + 0x24CA: [676,14,684,0,684], // CIRCLED LATIN CAPITAL LETTER U + 0x24CB: [676,14,684,0,684], // CIRCLED LATIN CAPITAL LETTER V + 0x24CC: [676,14,684,0,684], // CIRCLED LATIN CAPITAL LETTER W + 0x24CD: [676,14,684,0,684], // CIRCLED LATIN CAPITAL LETTER X + 0x24CE: [676,14,684,0,684], // CIRCLED LATIN CAPITAL LETTER Y + 0x24CF: [676,14,684,0,684], // CIRCLED LATIN CAPITAL LETTER Z + 0x24D0: [676,14,684,0,684], // CIRCLED LATIN SMALL LETTER A + 0x24D1: [676,14,684,0,684], // CIRCLED LATIN SMALL LETTER B + 0x24D2: [676,14,684,0,684], // CIRCLED LATIN SMALL LETTER C + 0x24D3: [676,14,684,0,684], // CIRCLED LATIN SMALL LETTER D + 0x24D4: [676,14,684,0,684], // CIRCLED LATIN SMALL LETTER E + 0x24D5: [676,14,684,0,684], // CIRCLED LATIN SMALL LETTER F + 0x24D6: [676,14,684,0,684], // CIRCLED LATIN SMALL LETTER G + 0x24D7: [676,14,684,0,684], // CIRCLED LATIN SMALL LETTER H + 0x24D8: [676,14,684,0,684], // CIRCLED LATIN SMALL LETTER I + 0x24D9: [676,14,684,0,684], // CIRCLED LATIN SMALL LETTER J + 0x24DA: [676,14,684,0,684], // CIRCLED LATIN SMALL LETTER K + 0x24DB: [676,14,684,0,684], // CIRCLED LATIN SMALL LETTER L + 0x24DC: [676,14,684,0,684], // CIRCLED LATIN SMALL LETTER M + 0x24DD: [676,14,684,0,684], // CIRCLED LATIN SMALL LETTER N + 0x24DE: [676,14,684,0,684], // CIRCLED LATIN SMALL LETTER O + 0x24DF: [676,14,684,0,684], // CIRCLED LATIN SMALL LETTER P + 0x24E0: [676,14,684,0,684], // CIRCLED LATIN SMALL LETTER Q + 0x24E1: [676,14,684,0,684], // CIRCLED LATIN SMALL LETTER R + 0x24E2: [676,14,684,0,684], // CIRCLED LATIN SMALL LETTER S + 0x24E3: [676,14,684,0,684], // CIRCLED LATIN SMALL LETTER T + 0x24E4: [676,14,684,0,684], // CIRCLED LATIN SMALL LETTER U + 0x24E5: [676,14,684,0,684], // CIRCLED LATIN SMALL LETTER V + 0x24E6: [676,14,684,0,684], // CIRCLED LATIN SMALL LETTER W + 0x24E7: [676,14,684,0,684], // CIRCLED LATIN SMALL LETTER X + 0x24E8: [676,14,684,0,684], // CIRCLED LATIN SMALL LETTER Y + 0x24E9: [676,14,684,0,684], // CIRCLED LATIN SMALL LETTER Z + 0x24EA: [676,14,684,0,684] // CIRCLED DIGIT ZERO + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax["HTML-CSS"].fontDir + "/General/Italic/EnclosedAlphanum.js"); diff --git a/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Italic/GeneralPunctuation.js b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Italic/GeneralPunctuation.js new file mode 100644 index 0000000..800c400 --- /dev/null +++ b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Italic/GeneralPunctuation.js @@ -0,0 +1,50 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/fonts/STIX/General/Italic/GeneralPunctuation.js + * + * Copyright (c) 2009-2010 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax['HTML-CSS'].FONTDATA.FONTS['STIXGeneral-italic'], + { + 0x2010: [257,-191,333,49,282], // HYPHEN + 0x2011: [257,-191,333,49,282], // NON-BREAKING HYPHEN + 0x2012: [258,-192,500,-8,508], // FIGURE DASH + 0x2013: [243,-197,500,-6,505], // EN DASH + 0x2014: [243,-197,889,-6,894], // EM DASH + 0x2018: [666,-436,333,171,310], // LEFT SINGLE QUOTATION MARK + 0x2019: [666,-436,333,151,290], // RIGHT SINGLE QUOTATION MARK + 0x201A: [101,129,333,44,183], // SINGLE LOW-9 QUOTATION MARK + 0x201B: [666,-436,333,169,290], // SINGLE HIGH-REVERSED-9 QUOTATION MARK + 0x201C: [666,-436,556,166,514], // LEFT DOUBLE QUOTATION MARK + 0x201D: [666,-436,556,151,499], // RIGHT DOUBLE QUOTATION MARK + 0x201E: [101,129,556,57,405], // DOUBLE LOW-9 QUOTATION MARK + 0x201F: [666,-436,556,169,499], // DOUBLE HIGH-REVERSED-9 QUOTATION MARK + 0x2020: [666,159,500,101,488], // DAGGER + 0x2021: [666,143,500,22,491], // DOUBLE DAGGER + 0x2022: [444,-59,523,70,455], // BULLET + 0x2026: [100,11,889,57,762], // HORIZONTAL ELLIPSIS + 0x2030: [706,19,1117,80,1067], // PER MILLE SIGN + 0x2031: [706,19,1479,80,1429], // PER TEN THOUSAND SIGN + 0x2039: [403,-37,333,51,281], // SINGLE LEFT-POINTING ANGLE QUOTATION MARK + 0x203A: [403,-37,333,52,282], // SINGLE RIGHT-POINTING ANGLE QUOTATION MARK + 0x203E: [582,-532,500,0,500], // OVERLINE + 0x2044: [676,10,167,-169,337] // FRACTION SLASH + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax["HTML-CSS"].fontDir + "/General/Italic/GeneralPunctuation.js"); diff --git a/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Italic/GreekAndCoptic.js b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Italic/GreekAndCoptic.js new file mode 100644 index 0000000..3d29cc3 --- /dev/null +++ b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Italic/GreekAndCoptic.js @@ -0,0 +1,78 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/fonts/STIX/General/Italic/GreekAndCoptic.js + * + * Copyright (c) 2009-2010 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax['HTML-CSS'].FONTDATA.FONTS['STIXGeneral-italic'], + { + 0x384: [649,-494,289,160,322], // GREEK TONOS + 0x385: [649,-494,333,70,387], // GREEK DIALYTIKA TONOS + 0x386: [678,0,611,-51,564], // GREEK CAPITAL LETTER ALPHA WITH TONOS + 0x387: [441,-330,333,150,261], // GREEK ANO TELEIA + 0x388: [678,0,630,7,679], // GREEK CAPITAL LETTER EPSILON WITH TONOS + 0x389: [678,0,740,4,821], // GREEK CAPITAL LETTER ETA WITH TONOS + 0x38A: [678,0,350,3,429], // GREEK CAPITAL LETTER IOTA WITH TONOS + 0x38C: [678,18,722,58,699], // GREEK CAPITAL LETTER OMICRON WITH TONOS + 0x38E: [678,0,580,8,725], // GREEK CAPITAL LETTER UPSILON WITH TONOS + 0x38F: [678,0,762,-6,739], // GREEK CAPITAL LETTER OMEGA WITH TONOS + 0x390: [649,11,278,49,387], // GREEK SMALL LETTER IOTA WITH DIALYTIKA AND TONOS + 0x391: [668,0,611,-51,564], // GREEK CAPITAL LETTER ALPHA + 0x392: [653,0,611,-8,588], // GREEK CAPITAL LETTER BETA + 0x395: [653,0,611,-1,634], // GREEK CAPITAL LETTER EPSILON + 0x396: [653,0,556,-6,606], // GREEK CAPITAL LETTER ZETA + 0x397: [653,0,722,-8,769], // GREEK CAPITAL LETTER ETA + 0x399: [653,0,333,-8,384], // GREEK CAPITAL LETTER IOTA + 0x39A: [653,0,667,7,722], // GREEK CAPITAL LETTER KAPPA + 0x39C: [653,0,833,-18,872], // GREEK CAPITAL LETTER MU + 0x39D: [653,15,667,-20,727], // GREEK CAPITAL LETTER NU + 0x39F: [667,18,722,60,699], // GREEK CAPITAL LETTER OMICRON + 0x3A1: [653,0,611,0,605], // GREEK CAPITAL LETTER RHO + 0x3A4: [653,0,556,59,633], // GREEK CAPITAL LETTER TAU + 0x3A7: [653,0,611,-29,655], // GREEK CAPITAL LETTER CHI + 0x3AA: [856,0,333,-8,460], // GREEK CAPITAL LETTER IOTA WITH DIALYTIKA + 0x3AB: [856,0,556,78,648], // GREEK CAPITAL LETTER UPSILON WITH DIALYTIKA + 0x3AC: [649,11,552,27,549], // GREEK SMALL LETTER ALPHA WITH TONOS + 0x3AD: [649,11,444,30,425], // GREEK SMALL LETTER EPSILON WITH TONOS + 0x3AE: [649,205,474,14,442], // GREEK SMALL LETTER ETA WITH TONOS + 0x3AF: [649,11,278,49,288], // GREEK SMALL LETTER IOTA WITH TONOS + 0x3B0: [649,10,478,19,446], // GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND TONOS + 0x3CA: [606,11,278,49,359], // GREEK SMALL LETTER IOTA WITH DIALYTIKA + 0x3CB: [606,10,478,19,446], // GREEK SMALL LETTER UPSILON WITH DIALYTIKA + 0x3CC: [649,11,500,27,468], // GREEK SMALL LETTER OMICRON WITH TONOS + 0x3CD: [649,10,478,19,446], // GREEK SMALL LETTER UPSILON WITH TONOS + 0x3CE: [649,11,686,27,654], // GREEK SMALL LETTER OMEGA WITH TONOS + 0x3D0: [694,10,456,45,436], // GREEK BETA SYMBOL + 0x3D2: [668,0,596,78,693], // GREEK UPSILON WITH HOOK SYMBOL + 0x3D8: [667,205,722,60,699], // GREEK LETTER ARCHAIC KOPPA + 0x3D9: [441,205,500,27,468], // GREEK SMALL LETTER ARCHAIC KOPPA + 0x3DA: [666,207,673,55,665], // GREEK LETTER STIGMA + 0x3DB: [458,185,444,30,482], // GREEK SMALL LETTER STIGMA + 0x3DC: [653,0,557,8,645], // GREEK LETTER DIGAMMA + 0x3DD: [433,190,487,32,472], // GREEK SMALL LETTER DIGAMMA + 0x3DE: [773,18,645,19,675], // GREEK LETTER KOPPA + 0x3DF: [683,0,457,31,445], // GREEK SMALL LETTER KOPPA + 0x3E0: [666,207,708,7,668], // GREEK LETTER SAMPI + 0x3E1: [552,210,528,93,448], // GREEK SMALL LETTER SAMPI + 0x3F0: [441,13,533,-16,559], // GREEK KAPPA SYMBOL + 0x3F4: [667,18,722,60,699], // GREEK CAPITAL THETA SYMBOL + 0x3F6: [441,11,444,24,414] // GREEK REVERSED LUNATE EPSILON SYMBOL + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax["HTML-CSS"].fontDir + "/General/Italic/GreekAndCoptic.js"); diff --git a/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Italic/GreekItalic.js b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Italic/GreekItalic.js new file mode 100644 index 0000000..d6106d6 --- /dev/null +++ b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Italic/GreekItalic.js @@ -0,0 +1,85 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/fonts/STIX/General/Italic/GreekItalic.js + * + * Copyright (c) 2009-2010 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax['HTML-CSS'].FONTDATA.FONTS['STIXGeneral-italic'], + { + 0x1D6E2: [667,0,717,35,685], // MATHEMATICAL ITALIC CAPITAL ALPHA + 0x1D6E3: [653,0,696,38,686], // MATHEMATICAL ITALIC CAPITAL BETA + 0x1D6E4: [653,0,616,38,721], // MATHEMATICAL ITALIC CAPITAL GAMMA + 0x1D6E5: [667,0,596,30,556], // MATHEMATICAL ITALIC CAPITAL DELTA + 0x1D6E6: [653,0,714,38,734], // MATHEMATICAL ITALIC CAPITAL EPSILON + 0x1D6E7: [653,0,772,60,802], // MATHEMATICAL ITALIC CAPITAL ZETA + 0x1D6E8: [653,0,873,38,923], // MATHEMATICAL ITALIC CAPITAL ETA + 0x1D6E9: [669,11,737,50,712], // MATHEMATICAL ITALIC CAPITAL THETA + 0x1D6EA: [653,0,480,38,530], // MATHEMATICAL ITALIC CAPITAL IOTA + 0x1D6EB: [653,0,762,38,802], // MATHEMATICAL ITALIC CAPITAL KAPPA + 0x1D6EC: [667,0,718,35,686], // MATHEMATICAL ITALIC CAPITAL LAMDA + 0x1D6ED: [653,0,1005,38,1055], // MATHEMATICAL ITALIC CAPITAL MU + 0x1D6EE: [653,0,851,38,901], // MATHEMATICAL ITALIC CAPITAL NU + 0x1D6EF: [653,0,706,52,741], // MATHEMATICAL ITALIC CAPITAL XI + 0x1D6F0: [669,11,732,50,712], // MATHEMATICAL ITALIC CAPITAL OMICRON + 0x1D6F1: [653,0,873,38,923], // MATHEMATICAL ITALIC CAPITAL PI + 0x1D6F2: [653,0,594,38,704], // MATHEMATICAL ITALIC CAPITAL RHO + 0x1D6F3: [669,11,737,50,712], // MATHEMATICAL ITALIC CAPITAL THETA SYMBOL + 0x1D6F4: [653,0,735,58,760], // MATHEMATICAL ITALIC CAPITAL SIGMA + 0x1D6F5: [653,0,550,25,670], // MATHEMATICAL ITALIC CAPITAL TAU + 0x1D6F6: [668,0,567,28,687], // MATHEMATICAL ITALIC CAPITAL UPSILON + 0x1D6F7: [653,0,772,25,747], // MATHEMATICAL ITALIC CAPITAL PHI + 0x1D6F8: [653,0,790,25,810], // MATHEMATICAL ITALIC CAPITAL CHI + 0x1D6F9: [667,0,670,28,743], // MATHEMATICAL ITALIC CAPITAL PSI + 0x1D6FA: [666,0,800,32,777], // MATHEMATICAL ITALIC CAPITAL OMEGA + 0x1D6FB: [653,15,627,42,600], // MATHEMATICAL ITALIC NABLA + 0x1D6FC: [441,10,524,40,529], // MATHEMATICAL ITALIC SMALL ALPHA + 0x1D6FD: [668,183,493,25,518], // MATHEMATICAL ITALIC SMALL BETA + 0x1D6FE: [441,187,428,35,458], // MATHEMATICAL ITALIC SMALL GAMMA + 0x1D6FF: [668,11,463,40,451], // MATHEMATICAL ITALIC SMALL DELTA + 0x1D700: [441,11,484,25,444], // MATHEMATICAL ITALIC SMALL EPSILON + 0x1D701: [668,183,435,40,480], // MATHEMATICAL ITALIC SMALL ZETA + 0x1D702: [441,183,460,30,455], // MATHEMATICAL ITALIC SMALL ETA + 0x1D703: [668,11,484,40,474], // MATHEMATICAL ITALIC SMALL THETA + 0x1D704: [441,11,267,50,227], // MATHEMATICAL ITALIC SMALL IOTA + 0x1D705: [441,0,534,50,549], // MATHEMATICAL ITALIC SMALL KAPPA + 0x1D706: [668,16,541,50,511], // MATHEMATICAL ITALIC SMALL LAMDA + 0x1D707: [428,183,579,30,549], // MATHEMATICAL ITALIC SMALL MU + 0x1D708: [446,9,452,50,462], // MATHEMATICAL ITALIC SMALL NU + 0x1D709: [668,183,433,25,443], // MATHEMATICAL ITALIC SMALL XI + 0x1D70A: [441,11,458,40,438], // MATHEMATICAL ITALIC SMALL OMICRON + 0x1D70B: [428,13,558,35,568], // MATHEMATICAL ITALIC SMALL PI + 0x1D70C: [441,183,502,30,472], // MATHEMATICAL ITALIC SMALL RHO + 0x1D70D: [490,183,439,35,464], // MATHEMATICAL ITALIC SMALL FINAL SIGMA + 0x1D70E: [428,11,537,40,547], // MATHEMATICAL ITALIC SMALL SIGMA + 0x1D70F: [428,5,442,30,472], // MATHEMATICAL ITALIC SMALL TAU + 0x1D710: [439,11,460,30,445], // MATHEMATICAL ITALIC SMALL UPSILON + 0x1D711: [441,183,666,50,631], // MATHEMATICAL ITALIC SMALL PHI + 0x1D712: [441,202,595,30,645], // MATHEMATICAL ITALIC SMALL CHI + 0x1D713: [441,183,661,30,711], // MATHEMATICAL ITALIC SMALL PSI + 0x1D714: [441,11,681,20,661], // MATHEMATICAL ITALIC SMALL OMEGA + 0x1D715: [668,11,471,40,471], // MATHEMATICAL ITALIC PARTIAL DIFFERENTIAL + 0x1D716: [441,11,430,40,430], // MATHEMATICAL ITALIC EPSILON SYMBOL + 0x1D717: [678,10,554,20,507], // MATHEMATICAL ITALIC THETA SYMBOL + 0x1D718: [441,13,561,12,587], // MATHEMATICAL ITALIC KAPPA SYMBOL + 0x1D719: [668,183,645,40,620], // MATHEMATICAL ITALIC PHI SYMBOL + 0x1D71A: [441,187,509,40,489], // MATHEMATICAL ITALIC RHO SYMBOL + 0x1D71B: [428,11,856,30,866] // MATHEMATICAL ITALIC PI SYMBOL + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax["HTML-CSS"].fontDir + "/General/Italic/GreekItalic.js"); diff --git a/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Italic/IPAExtensions.js b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Italic/IPAExtensions.js new file mode 100644 index 0000000..2bced3b --- /dev/null +++ b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Italic/IPAExtensions.js @@ -0,0 +1,116 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/fonts/STIX/General/Italic/IPAExtensions.js + * + * Copyright (c) 2009-2010 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax['HTML-CSS'].FONTDATA.FONTS['STIXGeneral-italic'], + { + 0x250: [460,10,444,19,421], // ?? + 0x251: [460,10,511,17,487], // ?? + 0x252: [460,10,511,17,487], // ?? + 0x253: [683,11,500,23,488], // ?? + 0x254: [441,11,444,30,425], // ?? + 0x255: [441,160,444,-3,425], // ?? + 0x256: [683,233,500,15,527], // ?? + 0x257: [683,13,500,15,748], // ?? + 0x258: [441,11,444,31,416], // ?? + 0x259: [441,11,444,31,412], // ?? + 0x25A: [441,11,639,31,639], // ?? + 0x25B: [475,14,444,31,467], // ?? + 0x25C: [475,14,480,31,447], // ?? + 0x25D: [475,14,666,31,666], // ?? + 0x25E: [475,14,490,30,458], // ?? + 0x25F: [441,207,357,-100,340], // ?? + 0x260: [683,212,714,8,799], // ?? + 0x261: [482,212,595,8,579], // ?? + 0x262: [441,11,562,52,562], // ?? + 0x263: [441,234,444,15,426], // ?? + 0x264: [450,10,480,4,475], // ?? + 0x265: [450,242,500,19,478], // ?? + 0x266: [683,9,500,19,494], // ?? + 0x267: [683,233,500,-6,494], // ?? + 0x268: [654,11,278,16,264], // ?? + 0x269: [454,10,333,51,266], // ?? + 0x26A: [441,0,247,-8,298], // ?? + 0x26B: [683,11,278,4,331], // ?? + 0x26C: [683,11,375,12,366], // ?? + 0x26D: [683,233,252,8,279], // ?? + 0x26E: [683,233,575,41,537], // ?? + 0x26F: [441,9,722,12,704], // ?? + 0x270: [441,233,722,12,704], // ?? + 0x271: [441,233,690,12,672], // ?? + 0x272: [441,233,606,-110,580], // ?? + 0x273: [441,233,498,14,487], // ?? + 0x274: [441,8,539,-20,599], // ?? + 0x275: [441,11,500,27,468], // ?? + 0x276: [441,6,718,49,738], // ?? + 0x277: [475,4,668,30,638], // ?? + 0x278: [683,233,660,30,630], // ?? + 0x279: [441,0,402,-45,322], // ?? + 0x27A: [683,0,383,-45,384], // ?? + 0x27B: [441,233,353,-45,342], // ?? + 0x27C: [441,233,333,-20,412], // ?? + 0x27D: [441,233,390,24,412], // ?? + 0x27E: [470,0,401,45,424], // ?? + 0x27F: [470,0,338,66,293], // ?? + 0x280: [464,0,475,25,501], // ?? + 0x281: [464,0,475,25,581], // ?? + 0x282: [442,218,389,9,376], // ?? + 0x283: [683,233,415,-110,577], // ?? + 0x284: [683,233,453,-110,595], // ?? + 0x285: [470,233,339,79,355], // ?? + 0x286: [683,243,439,-62,602], // ?? + 0x287: [460,97,330,38,296], // ?? + 0x288: [546,233,278,6,308], // ?? + 0x289: [441,11,500,9,479], // ?? + 0x28A: [450,10,537,49,552], // ?? + 0x28B: [441,10,500,52,475], // ?? + 0x28C: [441,18,444,20,426], // ?? + 0x28D: [441,18,667,15,648], // ?? + 0x28E: [647,0,444,10,460], // ?? + 0x28F: [464,0,633,62,603], // ?? + 0x290: [428,218,405,17,429], // ?? + 0x291: [428,47,393,17,380], // ?? + 0x292: [450,233,413,21,517], // ?? + 0x293: [450,305,457,7,544], // ?? + 0x294: [683,0,500,55,509], // ?? + 0x295: [683,0,500,55,495], // ?? + 0x296: [662,14,393,-25,413], // ?? + 0x297: [441,238,450,24,459], // ?? + 0x298: [679,17,723,22,704], // ?? + 0x299: [464,0,460,19,505], // ?? + 0x29A: [475,14,479,20,470], // ?? + 0x29B: [515,11,570,29,650], // ?? + 0x29C: [464,0,572,25,671], // ?? + 0x29D: [652,233,403,-80,394], // ?? + 0x29E: [439,255,463,26,473], // ?? + 0x29F: [464,0,470,25,473], // ?? + 0x2A0: [582,209,480,25,666], // ?? + 0x2A1: [683,0,500,55,509], // ?? + 0x2A2: [683,0,500,55,495], // ?? + 0x2A3: [683,13,743,15,741], // ?? + 0x2A4: [683,233,743,15,780], // ?? + 0x2A5: [683,47,754,15,741], // ?? + 0x2A6: [546,11,500,38,523], // ?? + 0x2A7: [683,233,517,-32,655], // ?? + 0x2A8: [546,16,632,38,612] // ?? + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax["HTML-CSS"].fontDir + "/General/Italic/IPAExtensions.js"); diff --git a/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Italic/Latin1Supplement.js b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Italic/Latin1Supplement.js new file mode 100644 index 0000000..77ae0a2 --- /dev/null +++ b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Italic/Latin1Supplement.js @@ -0,0 +1,123 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/fonts/STIX/General/Italic/Latin1Supplement.js + * + * Copyright (c) 2009-2010 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax['HTML-CSS'].FONTDATA.FONTS['STIXGeneral-italic'], + { + 0xA0: [0,0,250,0,0], // NO-BREAK SPACE + 0xA1: [474,205,389,59,321], // INVERTED EXCLAMATION MARK + 0xA2: [560,143,500,77,472], // CENT SIGN + 0xA3: [670,8,500,10,517], // POUND SIGN + 0xA4: [534,10,500,-22,522], // CURRENCY SIGN + 0xA5: [653,0,500,28,605], // YEN SIGN + 0xA6: [666,18,275,105,171], // BROKEN BAR + 0xA7: [666,162,500,53,461], // SECTION SIGN + 0xA8: [606,-508,333,107,405], // DIAERESIS + 0xA9: [666,18,760,41,719], // COPYRIGHT SIGN + 0xAA: [676,-406,276,42,352], // FEMININE ORDINAL INDICATOR + 0xAB: [403,-37,500,53,445], // LEFT-POINTING DOUBLE ANGLE QUOTATION MARK + 0xAC: [386,-108,675,86,590], // NOT SIGN + 0xAD: [255,-192,333,49,282], // SOFT HYPHEN + 0xAE: [666,18,760,41,719], // REGISTERED SIGN + 0xAF: [583,-532,333,99,411], // MACRON + 0xB0: [676,-390,400,101,387], // DEGREE SIGN + 0xB1: [568,0,675,86,590], // PLUS-MINUS SIGN + 0xB2: [676,-271,300,33,324], // SUPERSCRIPT TWO + 0xB3: [676,-268,300,43,339], // SUPERSCRIPT THREE + 0xB4: [664,-494,333,180,403], // ACUTE ACCENT + 0xB5: [428,209,500,-30,497], // MICRO SIGN + 0xB6: [653,123,559,60,621], // PILCROW SIGN + 0xB7: [310,-199,250,70,181], // MIDDLE DOT + 0xB8: [0,217,333,-30,182], // CEDILLA + 0xB9: [676,-271,300,43,284], // SUPERSCRIPT ONE + 0xBA: [676,-406,310,67,362], // MASCULINE ORDINAL INDICATOR + 0xBB: [403,-37,500,55,447], // RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK + 0xBC: [676,10,750,33,736], // VULGAR FRACTION ONE QUARTER + 0xBD: [676,10,750,34,749], // VULGAR FRACTION ONE HALF + 0xBE: [676,10,750,23,736], // VULGAR FRACTION THREE QUARTERS + 0xBF: [473,205,500,28,367], // INVERTED QUESTION MARK + 0xC0: [914,0,611,-51,564], // LATIN CAPITAL LETTER A WITH GRAVE + 0xC1: [914,0,611,-51,564], // LATIN CAPITAL LETTER A WITH ACUTE + 0xC2: [911,0,611,-51,564], // LATIN CAPITAL LETTER A WITH CIRCUMFLEX + 0xC3: [874,0,611,-51,572], // LATIN CAPITAL LETTER A WITH TILDE + 0xC4: [856,0,611,-51,564], // LATIN CAPITAL LETTER A WITH DIAERESIS + 0xC5: [957,0,611,-51,564], // LATIN CAPITAL LETTER A WITH RING ABOVE + 0xC6: [653,0,889,-27,911], // LATIN CAPITAL LETTER AE + 0xC7: [666,217,667,66,689], // LATIN CAPITAL LETTER C WITH CEDILLA + 0xC8: [914,0,611,-1,634], // LATIN CAPITAL LETTER E WITH GRAVE + 0xC9: [914,0,611,-1,634], // LATIN CAPITAL LETTER E WITH ACUTE + 0xCA: [911,0,611,-1,634], // LATIN CAPITAL LETTER E WITH CIRCUMFLEX + 0xCB: [856,0,611,-1,634], // LATIN CAPITAL LETTER E WITH DIAERESIS + 0xCC: [914,0,333,-8,398], // LATIN CAPITAL LETTER I WITH GRAVE + 0xCD: [914,0,333,-8,414], // LATIN CAPITAL LETTER I WITH ACUTE + 0xCE: [911,0,333,-8,450], // LATIN CAPITAL LETTER I WITH CIRCUMFLEX + 0xCF: [856,0,333,-8,457], // LATIN CAPITAL LETTER I WITH DIAERESIS + 0xD0: [653,0,722,-8,700], // LATIN CAPITAL LETTER ETH + 0xD1: [874,15,667,-20,727], // LATIN CAPITAL LETTER N WITH TILDE + 0xD2: [914,18,722,60,699], // LATIN CAPITAL LETTER O WITH GRAVE + 0xD3: [914,18,722,60,699], // LATIN CAPITAL LETTER O WITH ACUTE + 0xD4: [911,18,722,60,699], // LATIN CAPITAL LETTER O WITH CIRCUMFLEX + 0xD5: [874,18,722,60,699], // LATIN CAPITAL LETTER O WITH TILDE + 0xD6: [856,18,722,60,699], // LATIN CAPITAL LETTER O WITH DIAERESIS + 0xD7: [497,-8,675,93,582], // MULTIPLICATION SIGN + 0xD8: [722,105,722,60,699], // LATIN CAPITAL LETTER O WITH STROKE + 0xD9: [914,18,722,102,765], // LATIN CAPITAL LETTER U WITH GRAVE + 0xDA: [914,18,722,102,765], // LATIN CAPITAL LETTER U WITH ACUTE + 0xDB: [911,18,722,102,765], // LATIN CAPITAL LETTER U WITH CIRCUMFLEX + 0xDC: [856,18,722,102,765], // LATIN CAPITAL LETTER U WITH DIAERESIS + 0xDD: [914,0,556,78,633], // LATIN CAPITAL LETTER Y WITH ACUTE + 0xDE: [653,0,611,0,569], // LATIN CAPITAL LETTER THORN + 0xDF: [679,207,500,-168,493], // LATIN SMALL LETTER SHARP S + 0xE0: [664,11,501,17,476], // LATIN SMALL LETTER A WITH GRAVE + 0xE1: [664,11,501,17,476], // LATIN SMALL LETTER A WITH ACUTE + 0xE2: [661,11,501,17,497], // LATIN SMALL LETTER A WITH CIRCUMFLEX + 0xE3: [624,11,501,17,521], // LATIN SMALL LETTER A WITH TILDE + 0xE4: [606,11,501,17,503], // LATIN SMALL LETTER A WITH DIAERESIS + 0xE5: [709,11,501,17,476], // LATIN SMALL LETTER A WITH RING ABOVE + 0xE6: [441,11,667,23,640], // LATIN SMALL LETTER AE + 0xE7: [441,217,444,26,425], // LATIN SMALL LETTER C WITH CEDILLA + 0xE8: [664,11,444,31,414], // LATIN SMALL LETTER E WITH GRAVE + 0xE9: [664,11,444,31,431], // LATIN SMALL LETTER E WITH ACUTE + 0xEA: [661,11,444,31,466], // LATIN SMALL LETTER E WITH CIRCUMFLEX + 0xEB: [606,11,444,31,475], // LATIN SMALL LETTER E WITH DIAERESIS + 0xEC: [664,11,278,47,302], // LATIN SMALL LETTER I WITH GRAVE + 0xED: [664,11,278,47,318], // LATIN SMALL LETTER I WITH ACUTE + 0xEE: [661,11,278,47,351], // LATIN SMALL LETTER I WITH CIRCUMFLEX + 0xEF: [606,11,278,47,361], // LATIN SMALL LETTER I WITH DIAERESIS + 0xF0: [683,11,500,27,482], // LATIN SMALL LETTER ETH + 0xF1: [624,9,500,14,488], // LATIN SMALL LETTER N WITH TILDE + 0xF2: [664,11,500,27,468], // LATIN SMALL LETTER O WITH GRAVE + 0xF3: [664,11,500,27,468], // LATIN SMALL LETTER O WITH ACUTE + 0xF4: [661,11,500,27,468], // LATIN SMALL LETTER O WITH CIRCUMFLEX + 0xF5: [624,11,500,27,494], // LATIN SMALL LETTER O WITH TILDE + 0xF6: [606,11,500,27,474], // LATIN SMALL LETTER O WITH DIAERESIS + 0xF7: [517,11,675,86,590], // DIVISION SIGN + 0xF8: [554,135,500,28,469], // LATIN SMALL LETTER O WITH STROKE + 0xF9: [664,11,500,42,475], // LATIN SMALL LETTER U WITH GRAVE + 0xFA: [664,11,500,42,475], // LATIN SMALL LETTER U WITH ACUTE + 0xFB: [661,11,500,42,475], // LATIN SMALL LETTER U WITH CIRCUMFLEX + 0xFC: [606,11,500,42,475], // LATIN SMALL LETTER U WITH DIAERESIS + 0xFD: [664,206,444,-24,426], // LATIN SMALL LETTER Y WITH ACUTE + 0xFE: [683,205,500,-75,469], // LATIN SMALL LETTER THORN + 0xFF: [606,206,444,-24,442] // LATIN SMALL LETTER Y WITH DIAERESIS + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax["HTML-CSS"].fontDir + "/General/Italic/Latin1Supplement.js"); diff --git a/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Italic/LatinExtendedA.js b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Italic/LatinExtendedA.js new file mode 100644 index 0000000..4f75f49 --- /dev/null +++ b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Italic/LatinExtendedA.js @@ -0,0 +1,154 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/fonts/STIX/General/Italic/LatinExtendedA.js + * + * Copyright (c) 2009-2010 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax['HTML-CSS'].FONTDATA.FONTS['STIXGeneral-italic'], + { + 0x100: [757,0,611,-51,564], // LATIN CAPITAL LETTER A WITH MACRON + 0x101: [543,11,501,17,481], // LATIN SMALL LETTER A WITH MACRON + 0x102: [862,0,611,-51,564], // LATIN CAPITAL LETTER A WITH BREVE + 0x103: [650,11,501,17,481], // LATIN SMALL LETTER A WITH BREVE + 0x104: [668,169,611,-51,626], // LATIN CAPITAL LETTER A WITH OGONEK + 0x105: [441,169,501,17,529], // LATIN SMALL LETTER A WITH OGONEK + 0x106: [876,18,667,66,689], // LATIN CAPITAL LETTER C WITH ACUTE + 0x107: [664,11,444,30,431], // LATIN SMALL LETTER C WITH ACUTE + 0x108: [875,18,667,66,689], // LATIN CAPITAL LETTER C WITH CIRCUMFLEX + 0x109: [661,11,444,30,427], // LATIN SMALL LETTER C WITH CIRCUMFLEX + 0x10A: [818,18,667,66,689], // LATIN CAPITAL LETTER C WITH DOT ABOVE + 0x10B: [606,11,444,30,425], // LATIN SMALL LETTER C WITH DOT ABOVE + 0x10C: [875,18,667,66,689], // LATIN CAPITAL LETTER C WITH CARON + 0x10D: [661,11,444,30,473], // LATIN SMALL LETTER C WITH CARON + 0x10E: [875,0,722,-8,700], // LATIN CAPITAL LETTER D WITH CARON + 0x10F: [691,13,609,15,697], // LATIN SMALL LETTER D WITH CARON + 0x110: [653,0,722,-8,700], // LATIN CAPITAL LETTER D WITH STROKE + 0x111: [683,13,500,15,580], // LATIN SMALL LETTER D WITH STROKE + 0x112: [757,0,611,-1,634], // LATIN CAPITAL LETTER E WITH MACRON + 0x113: [542,11,444,31,466], // LATIN SMALL LETTER E WITH MACRON + 0x114: [866,0,611,-1,634], // LATIN CAPITAL LETTER E WITH BREVE + 0x115: [650,11,444,31,471], // LATIN SMALL LETTER E WITH BREVE + 0x116: [818,0,611,-1,634], // LATIN CAPITAL LETTER E WITH DOT ABOVE + 0x117: [606,11,444,31,412], // LATIN SMALL LETTER E WITH DOT ABOVE + 0x118: [653,175,611,-1,634], // LATIN CAPITAL LETTER E WITH OGONEK + 0x119: [441,175,444,31,412], // LATIN SMALL LETTER E WITH OGONEK + 0x11A: [875,0,611,-1,634], // LATIN CAPITAL LETTER E WITH CARON + 0x11B: [661,11,444,31,502], // LATIN SMALL LETTER E WITH CARON + 0x11C: [877,18,722,52,722], // LATIN CAPITAL LETTER G WITH CIRCUMFLEX + 0x11D: [661,206,500,8,471], // LATIN SMALL LETTER G WITH CIRCUMFLEX + 0x11E: [866,18,722,52,722], // LATIN CAPITAL LETTER G WITH BREVE + 0x11F: [650,206,500,8,476], // LATIN SMALL LETTER G WITH BREVE + 0x120: [818,18,722,52,722], // LATIN CAPITAL LETTER G WITH DOT ABOVE + 0x121: [606,206,500,8,471], // LATIN SMALL LETTER G WITH DOT ABOVE + 0x122: [666,267,722,52,722], // LATIN CAPITAL LETTER G WITH CEDILLA + 0x123: [724,206,500,8,471], // LATIN SMALL LETTER G WITH CEDILLA + 0x124: [875,0,722,-8,769], // LATIN CAPITAL LETTER H WITH CIRCUMFLEX + 0x125: [875,9,500,19,478], // LATIN SMALL LETTER H WITH CIRCUMFLEX + 0x126: [653,0,722,-8,769], // LATIN CAPITAL LETTER H WITH STROKE + 0x127: [683,9,500,19,478], // LATIN SMALL LETTER H WITH STROKE + 0x128: [836,0,333,-8,444], // LATIN CAPITAL LETTER I WITH TILDE + 0x129: [624,11,278,30,357], // LATIN SMALL LETTER I WITH TILDE + 0x12A: [757,0,333,-8,439], // LATIN CAPITAL LETTER I WITH MACRON + 0x12B: [543,11,278,29,341], // LATIN SMALL LETTER I WITH MACRON + 0x12C: [866,0,333,-8,448], // LATIN CAPITAL LETTER I WITH BREVE + 0x12D: [650,11,278,46,347], // LATIN SMALL LETTER I WITH BREVE + 0x12E: [653,169,333,-8,384], // LATIN CAPITAL LETTER I WITH OGONEK + 0x12F: [654,169,278,49,303], // LATIN SMALL LETTER I WITH OGONEK + 0x130: [818,0,333,-8,384], // LATIN CAPITAL LETTER I WITH DOT ABOVE + 0x132: [653,18,750,-8,783], // LATIN CAPITAL LIGATURE IJ + 0x133: [654,207,500,49,500], // LATIN SMALL LIGATURE IJ + 0x134: [877,18,444,-6,536], // LATIN CAPITAL LETTER J WITH CIRCUMFLEX + 0x135: [661,207,278,-124,353], // LATIN SMALL LETTER J WITH CIRCUMFLEX + 0x136: [653,267,667,7,722], // LATIN CAPITAL LETTER K WITH CEDILLA + 0x137: [683,267,444,14,461], // LATIN SMALL LETTER K WITH CEDILLA + 0x138: [459,0,542,5,601], // LATIN SMALL LETTER KRA + 0x139: [876,0,556,-8,559], // LATIN CAPITAL LETTER L WITH ACUTE + 0x13A: [876,11,278,41,348], // LATIN SMALL LETTER L WITH ACUTE + 0x13B: [653,267,556,-8,559], // LATIN CAPITAL LETTER L WITH CEDILLA + 0x13C: [683,267,278,7,279], // LATIN SMALL LETTER L WITH CEDILLA + 0x13D: [666,0,556,-8,595], // LATIN CAPITAL LETTER L WITH CARON + 0x13E: [693,11,278,41,448], // LATIN SMALL LETTER L WITH CARON + 0x13F: [653,0,556,-8,559], // LATIN CAPITAL LETTER L WITH MIDDLE DOT + 0x140: [683,11,323,41,386], // LATIN SMALL LETTER L WITH MIDDLE DOT + 0x141: [653,0,556,-8,559], // LATIN CAPITAL LETTER L WITH STROKE + 0x142: [683,11,278,37,307], // LATIN SMALL LETTER L WITH STROKE + 0x143: [876,15,667,-20,727], // LATIN CAPITAL LETTER N WITH ACUTE + 0x144: [664,9,500,14,474], // LATIN SMALL LETTER N WITH ACUTE + 0x145: [653,267,667,-20,727], // LATIN CAPITAL LETTER N WITH CEDILLA + 0x146: [441,267,500,14,474], // LATIN SMALL LETTER N WITH CEDILLA + 0x147: [875,15,667,-20,727], // LATIN CAPITAL LETTER N WITH CARON + 0x148: [661,9,500,14,475], // LATIN SMALL LETTER N WITH CARON + 0x149: [691,9,577,58,540], // LATIN SMALL LETTER N PRECEDED BY APOSTROPHE + 0x14A: [666,18,722,-8,700], // LATIN CAPITAL LETTER ENG + 0x14B: [441,208,500,14,442], // LATIN SMALL LETTER ENG + 0x14C: [757,18,722,60,699], // LATIN CAPITAL LETTER O WITH MACRON + 0x14D: [543,11,500,27,511], // LATIN SMALL LETTER O WITH MACRON + 0x14E: [866,18,722,60,709], // LATIN CAPITAL LETTER O WITH BREVE + 0x14F: [650,11,500,27,533], // LATIN SMALL LETTER O WITH BREVE + 0x150: [876,18,722,60,720], // LATIN CAPITAL LETTER O WITH DOUBLE ACUTE + 0x151: [664,11,500,27,541], // LATIN SMALL LETTER O WITH DOUBLE ACUTE + 0x152: [666,8,944,49,964], // LATIN CAPITAL LIGATURE OE + 0x153: [441,12,667,20,646], // LATIN SMALL LIGATURE OE + 0x154: [876,0,611,-13,588], // LATIN CAPITAL LETTER R WITH ACUTE + 0x155: [664,0,389,45,412], // LATIN SMALL LETTER R WITH ACUTE + 0x156: [653,267,611,-13,588], // LATIN CAPITAL LETTER R WITH CEDILLA + 0x157: [441,267,389,-2,412], // LATIN SMALL LETTER R WITH CEDILLA + 0x158: [875,0,611,-13,588], // LATIN CAPITAL LETTER R WITH CARON + 0x159: [663,0,389,45,426], // LATIN SMALL LETTER R WITH CARON + 0x15A: [876,18,500,17,508], // LATIN CAPITAL LETTER S WITH ACUTE + 0x15B: [664,13,389,16,403], // LATIN SMALL LETTER S WITH ACUTE + 0x15C: [877,18,500,17,508], // LATIN CAPITAL LETTER S WITH CIRCUMFLEX + 0x15D: [661,13,389,16,385], // LATIN SMALL LETTER S WITH CIRCUMFLEX + 0x15E: [667,217,500,17,508], // LATIN CAPITAL LETTER S WITH CEDILLA + 0x15F: [442,217,389,16,366], // LATIN SMALL LETTER S WITH CEDILLA + 0x160: [875,18,500,17,532], // LATIN CAPITAL LETTER S WITH CARON + 0x161: [663,13,389,16,426], // LATIN SMALL LETTER S WITH CARON + 0x162: [653,217,556,59,633], // LATIN CAPITAL LETTER T WITH CEDILLA + 0x163: [546,217,278,-38,296], // LATIN SMALL LETTER T WITH CEDILLA + 0x164: [875,0,556,59,633], // LATIN CAPITAL LETTER T WITH CARON + 0x165: [693,11,278,38,453], // LATIN SMALL LETTER T WITH CARON + 0x166: [653,0,556,59,633], // LATIN CAPITAL LETTER T WITH STROKE + 0x167: [546,11,278,28,296], // LATIN SMALL LETTER T WITH STROKE + 0x168: [836,18,722,102,765], // LATIN CAPITAL LETTER U WITH TILDE + 0x169: [624,11,500,42,475], // LATIN SMALL LETTER U WITH TILDE + 0x16A: [757,18,722,102,765], // LATIN CAPITAL LETTER U WITH MACRON + 0x16B: [543,11,500,42,475], // LATIN SMALL LETTER U WITH MACRON + 0x16C: [866,18,722,102,765], // LATIN CAPITAL LETTER U WITH BREVE + 0x16D: [650,11,500,42,480], // LATIN SMALL LETTER U WITH BREVE + 0x16E: [907,18,722,102,765], // LATIN CAPITAL LETTER U WITH RING ABOVE + 0x16F: [691,11,500,42,475], // LATIN SMALL LETTER U WITH RING ABOVE + 0x170: [876,18,722,102,765], // LATIN CAPITAL LETTER U WITH DOUBLE ACUTE + 0x171: [664,11,500,42,511], // LATIN SMALL LETTER U WITH DOUBLE ACUTE + 0x172: [653,169,722,102,765], // LATIN CAPITAL LETTER U WITH OGONEK + 0x173: [441,169,500,42,538], // LATIN SMALL LETTER U WITH OGONEK + 0x174: [877,18,833,71,906], // LATIN CAPITAL LETTER W WITH CIRCUMFLEX + 0x175: [661,18,667,15,648], // LATIN SMALL LETTER W WITH CIRCUMFLEX + 0x176: [877,0,556,78,633], // LATIN CAPITAL LETTER Y WITH CIRCUMFLEX + 0x177: [661,206,444,-24,426], // LATIN SMALL LETTER Y WITH CIRCUMFLEX + 0x178: [818,0,556,78,633], // LATIN CAPITAL LETTER Y WITH DIAERESIS + 0x179: [876,0,556,-6,606], // LATIN CAPITAL LETTER Z WITH ACUTE + 0x17A: [664,81,389,-2,390], // LATIN SMALL LETTER Z WITH ACUTE + 0x17B: [818,0,556,-6,606], // LATIN CAPITAL LETTER Z WITH DOT ABOVE + 0x17C: [606,81,389,-2,380], // LATIN SMALL LETTER Z WITH DOT ABOVE + 0x17D: [875,0,556,-6,606], // LATIN CAPITAL LETTER Z WITH CARON + 0x17E: [663,81,389,-2,426], // LATIN SMALL LETTER Z WITH CARON + 0x17F: [683,0,383,13,513] // LATIN SMALL LETTER LONG S + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax["HTML-CSS"].fontDir + "/General/Italic/LatinExtendedA.js"); diff --git a/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Italic/LatinExtendedAdditional.js b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Italic/LatinExtendedAdditional.js new file mode 100644 index 0000000..f77339b --- /dev/null +++ b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Italic/LatinExtendedAdditional.js @@ -0,0 +1,35 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/fonts/STIX/General/Italic/LatinExtendedAdditional.js + * + * Copyright (c) 2009-2010 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax['HTML-CSS'].FONTDATA.FONTS['STIXGeneral-italic'], + { + 0x1E80: [880,18,833,71,906], // LATIN CAPITAL LETTER W WITH GRAVE + 0x1E81: [664,18,667,15,648], // LATIN SMALL LETTER W WITH GRAVE + 0x1E82: [876,18,833,71,906], // LATIN CAPITAL LETTER W WITH ACUTE + 0x1E83: [664,18,667,15,648], // LATIN SMALL LETTER W WITH ACUTE + 0x1E84: [818,18,833,71,906], // LATIN CAPITAL LETTER W WITH DIAERESIS + 0x1E85: [606,18,667,15,648], // LATIN SMALL LETTER W WITH DIAERESIS + 0x1EF2: [880,0,556,78,633], // LATIN CAPITAL LETTER Y WITH GRAVE + 0x1EF3: [664,206,444,-24,426] // LATIN SMALL LETTER Y WITH GRAVE + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax["HTML-CSS"].fontDir + "/General/Italic/LatinExtendedAdditional.js"); diff --git a/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Italic/LatinExtendedB.js b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Italic/LatinExtendedB.js new file mode 100644 index 0000000..c72db5a --- /dev/null +++ b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Italic/LatinExtendedB.js @@ -0,0 +1,58 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/fonts/STIX/General/Italic/LatinExtendedB.js + * + * Copyright (c) 2009-2010 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax['HTML-CSS'].FONTDATA.FONTS['STIXGeneral-italic'], + { + 0x180: [683,11,500,23,473], // LATIN SMALL LETTER B WITH STROKE + 0x188: [548,11,500,30,577], // LATIN SMALL LETTER C WITH HOOK + 0x190: [684,6,667,66,671], // LATIN CAPITAL LETTER OPEN E + 0x192: [706,159,472,-62,494], // LATIN SMALL LETTER F WITH HOOK + 0x195: [683,10,672,19,654], // LATIN SMALL LETTER HV + 0x199: [683,11,500,14,490], // LATIN SMALL LETTER K WITH HOOK + 0x19A: [683,11,278,41,279], // LATIN SMALL LETTER L WITH BAR + 0x19B: [668,0,490,30,478], // LATIN SMALL LETTER LAMBDA WITH STROKE + 0x19E: [441,233,500,14,442], // LATIN SMALL LETTER N WITH LONG RIGHT LEG + 0x1A0: [691,18,722,60,783], // LATIN CAPITAL LETTER O WITH HORN + 0x1A1: [467,11,534,27,583], // LATIN SMALL LETTER O WITH HORN + 0x1A5: [669,205,504,-75,472], // LATIN SMALL LETTER P WITH HOOK + 0x1AA: [685,233,340,31,319], // LATIN LETTER REVERSED ESH LOOP + 0x1AB: [546,218,278,-54,296], // LATIN SMALL LETTER T WITH PALATAL HOOK + 0x1AD: [683,11,310,38,452], // LATIN SMALL LETTER T WITH HOOK + 0x1AF: [765,18,754,102,881], // LATIN CAPITAL LETTER U WITH HORN + 0x1B0: [543,11,573,42,607], // LATIN SMALL LETTER U WITH HORN + 0x1BA: [450,234,500,8,462], // LATIN SMALL LETTER EZH WITH TAIL + 0x1BB: [676,0,500,12,500], // LATIN LETTER TWO WITH STROKE + 0x1BE: [539,12,500,47,453], // LATIN LETTER INVERTED GLOTTAL STOP WITH STROKE + 0x1C0: [736,0,170,15,258], // LATIN LETTER DENTAL CLICK + 0x1C1: [736,0,290,15,379], // LATIN LETTER LATERAL CLICK + 0x1C2: [736,0,340,15,429], // LATIN LETTER ALVEOLAR CLICK + 0x1C3: [667,11,333,39,304], // LATIN LETTER RETROFLEX CLICK + 0x1F0: [661,207,278,-124,397], // LATIN SMALL LETTER J WITH CARON + 0x1FA: [950,0,611,-51,564], // LATIN CAPITAL LETTER A WITH RING ABOVE AND ACUTE + 0x1FB: [860,11,501,17,476], // LATIN SMALL LETTER A WITH RING ABOVE AND ACUTE + 0x1FC: [876,0,889,-27,911], // LATIN CAPITAL LETTER AE WITH ACUTE + 0x1FD: [664,11,667,23,640], // LATIN SMALL LETTER AE WITH ACUTE + 0x1FE: [876,105,722,60,699], // LATIN CAPITAL LETTER O WITH STROKE AND ACUTE + 0x1FF: [664,135,500,28,469] // LATIN SMALL LETTER O WITH STROKE AND ACUTE + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax["HTML-CSS"].fontDir + "/General/Italic/LatinExtendedB.js"); diff --git a/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Italic/LetterlikeSymbols.js b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Italic/LetterlikeSymbols.js new file mode 100644 index 0000000..94d91cd --- /dev/null +++ b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Italic/LetterlikeSymbols.js @@ -0,0 +1,56 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/fonts/STIX/General/Italic/LetterlikeSymbols.js + * + * Copyright (c) 2009-2010 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax['HTML-CSS'].FONTDATA.FONTS['STIXGeneral-italic'], + { + 0x2102: [666,18,702,35,702], // stix-mathematical bold oblique double-struck capital C + 0x2105: [676,14,855,47,808], // CARE OF + 0x210A: [441,219,738,30,678], // SCRIPT SMALL G + 0x210B: [687,15,997,53,991], // SCRIPT CAPITAL H + 0x210D: [653,0,732,17,767], // stix-mathematical bold oblique double-struck capital H + 0x210E: [668,11,513,45,483], // PLANCK CONSTANT + 0x2110: [675,15,897,26,888], // SCRIPT CAPITAL I + 0x2112: [687,15,946,33,931], // SCRIPT CAPITAL L + 0x2115: [653,0,727,25,755], // stix-mathematical bold oblique double-struck capital N + 0x2116: [668,15,1046,19,1031], // NUMERO SIGN + 0x2119: [653,0,687,17,686], // stix-mathematical bold oblique double-struck capital P + 0x211A: [666,71,723,35,713], // stix-mathematical bold oblique double-struck capital Q + 0x211B: [687,15,944,34,876], // SCRIPT CAPITAL R + 0x211D: [653,0,687,17,686], // stix-mathematical bold oblique double-struck capital R + 0x2122: [653,-247,980,30,957], // TRADE MARK SIGN + 0x2124: [653,0,754,7,750], // stix-mathematical bold oblique double-struck capital Z + 0x212C: [687,15,950,34,902], // SCRIPT CAPITAL B + 0x212F: [441,11,627,30,554], // SCRIPT SMALL E + 0x2130: [687,15,750,100,734], // SCRIPT CAPITAL E + 0x2131: [680,0,919,43,907], // SCRIPT CAPITAL F + 0x2133: [674,15,1072,38,1056], // SCRIPT CAPITAL M + 0x2134: [441,11,697,30,680], // SCRIPT SMALL O + 0x213C: [428,12,635,40,630], // DOUBLE-STRUCK SMALL PI + 0x213F: [653,0,750,30,780], // DOUBLE-STRUCK CAPITAL PI + 0x2145: [653,0,713,17,703], // stix-mathematical bold double-struck capital D + 0x2146: [683,11,581,40,634], // stix-mathematical bold double-struck small letter d + 0x2147: [441,11,515,40,485], // stix-mathematical bold double-struck small letter e + 0x2148: [653,0,293,27,346], // stix-mathematical bold double-struck small letter i + 0x2149: [653,217,341,-104,394] // stix-mathematical bold double-struck small letter j + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax["HTML-CSS"].fontDir + "/General/Italic/LetterlikeSymbols.js"); diff --git a/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Italic/Main.js b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Italic/Main.js new file mode 100644 index 0000000..6ee9d2d --- /dev/null +++ b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Italic/Main.js @@ -0,0 +1,192 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/fonts/STIX/General/Italic/Main.js + * + * Copyright (c) 2009-2010 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +MathJax.OutputJax['HTML-CSS'].FONTDATA.FONTS['STIXGeneral-italic'] = { + directory: 'General/Italic', + family: 'STIXGeneral', + style: 'italic', + Ranges: [ + [0xA0,0xFF,"Latin1Supplement"], + [0x100,0x17F,"LatinExtendedA"], + [0x180,0x24F,"LatinExtendedB"], + [0x250,0x2AF,"IPAExtensions"], + [0x2B0,0x2FF,"SpacingModLetters"], + [0x370,0x3FF,"GreekAndCoptic"], + [0x400,0x4FF,"Cyrillic"], + [0x1E00,0x1EFF,"LatinExtendedAdditional"], + [0x2000,0x206F,"GeneralPunctuation"], + [0x20A0,0x20CF,"CurrencySymbols"], + [0x20D0,0x20FF,"CombDiactForSymbols"], + [0x2100,0x214F,"LetterlikeSymbols"], + [0x2200,0x22FF,"MathOperators"], + [0x2400,0x243F,"ControlPictures"], + [0x2460,0x24FF,"EnclosedAlphanum"], + [0x2500,0x257F,"BoxDrawing"], + [0xFB00,0xFB4F,"AlphaPresentForms"], + [0x1D434,0x1D467,"MathItalic"], + [0x1D49C,0x1D4CF,"MathScript"], + [0x1D608,0x1D63B,"MathSSItalic"], + [0x1D6A4,0x1D6A5,"ij"], + [0x1D6E2,0x1D71B,"GreekItalic"] + ], + 0x20: [0,0,250,0,0], // SPACE + 0x21: [667,11,333,39,304], // EXCLAMATION MARK + 0x22: [666,-421,420,144,432], // QUOTATION MARK + 0x23: [676,0,501,2,540], // NUMBER SIGN + 0x24: [731,89,500,32,497], // DOLLAR SIGN + 0x25: [706,19,755,80,705], // PERCENT SIGN + 0x26: [666,18,778,76,723], // AMPERSAND + 0x27: [666,-421,214,132,241], // APOSTROPHE + 0x28: [669,181,333,42,315], // LEFT PARENTHESIS + 0x29: [669,180,333,16,289], // RIGHT PARENTHESIS + 0x2A: [666,-255,500,128,492], // ASTERISK + 0x2B: [506,0,675,86,590], // PLUS SIGN + 0x2C: [101,129,250,-5,135], // COMMA + 0x2D: [255,-192,333,49,282], // HYPHEN-MINUS + 0x2E: [100,11,250,27,138], // FULL STOP + 0x2F: [666,18,278,-65,386], // SOLIDUS + 0x30: [676,7,500,32,497], // DIGIT ZERO + 0x31: [676,0,500,50,409], // DIGIT ONE + 0x32: [676,0,500,12,452], // DIGIT TWO + 0x33: [676,7,500,16,465], // DIGIT THREE + 0x34: [676,0,500,1,479], // DIGIT FOUR + 0x35: [666,7,500,15,491], // DIGIT FIVE + 0x36: [686,7,500,30,521], // DIGIT SIX + 0x37: [666,8,500,75,537], // DIGIT SEVEN + 0x38: [676,7,500,30,493], // DIGIT EIGHT + 0x39: [676,17,500,23,492], // DIGIT NINE + 0x3A: [441,11,333,50,261], // COLON + 0x3B: [441,129,333,26,261], // SEMICOLON + 0x3C: [516,10,675,84,592], // LESS-THAN SIGN + 0x3D: [386,-120,675,86,590], // EQUALS SIGN + 0x3E: [516,10,675,84,592], // GREATER-THAN SIGN + 0x3F: [664,12,500,132,472], // QUESTION MARK + 0x40: [666,18,920,118,806], // COMMERCIAL AT + 0x41: [668,0,611,-51,564], // LATIN CAPITAL LETTER A + 0x42: [653,0,611,-8,588], // LATIN CAPITAL LETTER B + 0x43: [666,18,667,66,689], // LATIN CAPITAL LETTER C + 0x44: [653,0,722,-8,700], // LATIN CAPITAL LETTER D + 0x45: [653,0,611,-1,634], // LATIN CAPITAL LETTER E + 0x46: [653,0,611,8,645], // LATIN CAPITAL LETTER F + 0x47: [666,18,722,52,722], // LATIN CAPITAL LETTER G + 0x48: [653,0,722,-8,769], // LATIN CAPITAL LETTER H + 0x49: [653,0,333,-8,384], // LATIN CAPITAL LETTER I + 0x4A: [653,18,444,-6,491], // LATIN CAPITAL LETTER J + 0x4B: [653,0,667,7,722], // LATIN CAPITAL LETTER K + 0x4C: [653,0,556,-8,559], // LATIN CAPITAL LETTER L + 0x4D: [653,0,833,-18,872], // LATIN CAPITAL LETTER M + 0x4E: [653,15,667,-20,727], // LATIN CAPITAL LETTER N + 0x4F: [667,18,722,60,699], // LATIN CAPITAL LETTER O + 0x50: [653,0,611,0,605], // LATIN CAPITAL LETTER P + 0x51: [666,182,722,59,699], // LATIN CAPITAL LETTER Q + 0x52: [653,0,611,-13,588], // LATIN CAPITAL LETTER R + 0x53: [667,18,500,17,508], // LATIN CAPITAL LETTER S + 0x54: [653,0,556,59,633], // LATIN CAPITAL LETTER T + 0x55: [653,18,722,102,765], // LATIN CAPITAL LETTER U + 0x56: [653,18,611,76,688], // LATIN CAPITAL LETTER V + 0x57: [653,18,833,71,906], // LATIN CAPITAL LETTER W + 0x58: [653,0,611,-29,655], // LATIN CAPITAL LETTER X + 0x59: [653,0,556,78,633], // LATIN CAPITAL LETTER Y + 0x5A: [653,0,556,-6,606], // LATIN CAPITAL LETTER Z + 0x5B: [663,153,389,21,391], // LEFT SQUARE BRACKET + 0x5C: [666,18,278,-41,319], // REVERSE SOLIDUS + 0x5D: [663,153,389,12,382], // RIGHT SQUARE BRACKET + 0x5E: [666,-301,422,0,422], // CIRCUMFLEX ACCENT + 0x5F: [-75,125,500,0,500], // LOW LINE + 0x60: [664,-492,333,120,311], // GRAVE ACCENT + 0x61: [441,11,501,17,476], // LATIN SMALL LETTER A + 0x62: [683,11,500,23,473], // LATIN SMALL LETTER B + 0x63: [441,11,444,30,425], // LATIN SMALL LETTER C + 0x64: [683,13,500,15,527], // LATIN SMALL LETTER D + 0x65: [441,11,444,31,412], // LATIN SMALL LETTER E + 0x66: [678,207,278,-147,424], // LATIN SMALL LETTER F + 0x67: [441,206,500,8,471], // LATIN SMALL LETTER G + 0x68: [683,9,500,19,478], // LATIN SMALL LETTER H + 0x69: [654,11,278,49,264], // LATIN SMALL LETTER I + 0x6A: [652,207,278,-124,279], // LATIN SMALL LETTER J + 0x6B: [683,11,444,14,461], // LATIN SMALL LETTER K + 0x6C: [683,11,278,41,279], // LATIN SMALL LETTER L + 0x6D: [441,9,722,12,704], // LATIN SMALL LETTER M + 0x6E: [441,9,500,14,474], // LATIN SMALL LETTER N + 0x6F: [441,11,500,27,468], // LATIN SMALL LETTER O + 0x70: [441,205,504,-75,472], // LATIN SMALL LETTER P + 0x71: [441,209,500,25,484], // LATIN SMALL LETTER Q + 0x72: [441,0,389,45,412], // LATIN SMALL LETTER R + 0x73: [442,13,389,16,366], // LATIN SMALL LETTER S + 0x74: [546,11,278,38,296], // LATIN SMALL LETTER T + 0x75: [441,11,500,42,475], // LATIN SMALL LETTER U + 0x76: [441,18,444,20,426], // LATIN SMALL LETTER V + 0x77: [441,18,667,15,648], // LATIN SMALL LETTER W + 0x78: [441,11,444,-27,447], // LATIN SMALL LETTER X + 0x79: [441,206,444,-24,426], // LATIN SMALL LETTER Y + 0x7A: [428,81,389,-2,380], // LATIN SMALL LETTER Z + 0x7B: [687,177,400,51,407], // LEFT CURLY BRACKET + 0x7C: [666,18,275,105,171], // VERTICAL LINE + 0x7D: [687,177,400,-7,349], // RIGHT CURLY BRACKET + 0x7E: [323,-183,541,40,502], // TILDE + 0x131: [441,11,278,47,235], // LATIN SMALL LETTER DOTLESS I + 0x237: [441,207,278,-124,246], // LATIN SMALL LETTER DOTLESS J + 0x393: [653,0,611,8,645], // GREEK CAPITAL LETTER GAMMA + 0x394: [668,0,611,-32,526], // GREEK CAPITAL LETTER DELTA + 0x398: [667,18,722,60,699], // GREEK CAPITAL LETTER THETA + 0x39B: [668,0,611,-51,564], // GREEK CAPITAL LETTER LAMDA + 0x39E: [653,0,651,-6,680], // GREEK CAPITAL LETTER XI + 0x3A0: [653,0,722,-8,769], // GREEK CAPITAL LETTER PI + 0x3A3: [653,0,620,-6,659], // GREEK CAPITAL LETTER SIGMA + 0x3A5: [668,0,556,78,648], // GREEK CAPITAL LETTER UPSILON + 0x3A6: [653,0,741,50,731], // GREEK CAPITAL LETTER PHI + 0x3A8: [667,0,675,77,778], // GREEK CAPITAL LETTER PSI + 0x3A9: [666,0,762,-6,739], // GREEK CAPITAL LETTER OMEGA + 0x3B1: [441,11,552,27,549], // GREEK SMALL LETTER ALPHA + 0x3B2: [678,205,506,-40,514], // GREEK SMALL LETTER BETA + 0x3B3: [435,206,410,19,438], // GREEK SMALL LETTER GAMMA + 0x3B4: [668,11,460,24,460], // GREEK SMALL LETTER DELTA + 0x3B5: [441,11,444,30,425], // GREEK SMALL LETTER EPSILON + 0x3B6: [683,185,454,30,475], // GREEK SMALL LETTER ZETA + 0x3B7: [441,205,474,14,442], // GREEK SMALL LETTER ETA + 0x3B8: [678,11,480,27,494], // GREEK SMALL LETTER THETA + 0x3B9: [441,11,278,49,235], // GREEK SMALL LETTER IOTA + 0x3BA: [441,13,444,14,465], // GREEK SMALL LETTER KAPPA + 0x3BB: [678,16,458,-12,431], // GREEK SMALL LETTER LAMDA + 0x3BC: [428,205,526,-33,483], // GREEK SMALL LETTER MU + 0x3BD: [441,18,470,20,459], // GREEK SMALL LETTER NU + 0x3BE: [683,185,454,30,446], // GREEK SMALL LETTER XI + 0x3BF: [441,11,500,27,468], // GREEK SMALL LETTER OMICRON + 0x3C0: [428,18,504,19,536], // GREEK SMALL LETTER PI + 0x3C1: [441,205,504,-40,471], // GREEK SMALL LETTER RHO + 0x3C2: [441,185,454,30,453], // GREEK SMALL LETTER FINAL SIGMA + 0x3C3: [428,11,498,27,531], // GREEK SMALL LETTER SIGMA + 0x3C4: [428,11,410,12,426], // GREEK SMALL LETTER TAU + 0x3C5: [441,10,478,19,446], // GREEK SMALL LETTER UPSILON + 0x3C6: [441,205,622,27,590], // GREEK SMALL LETTER PHI + 0x3C7: [441,207,457,-108,498], // GREEK SMALL LETTER CHI + 0x3C8: [441,205,584,15,668], // GREEK SMALL LETTER PSI + 0x3C9: [439,11,686,27,654], // GREEK SMALL LETTER OMEGA + 0x3D1: [678,10,556,19,526], // GREEK THETA SYMBOL + 0x3D5: [683,205,627,27,595], // GREEK PHI SYMBOL + 0x3D6: [428,11,792,17,832], // GREEK PI SYMBOL + 0x3F1: [441,205,516,27,484], // GREEK RHO SYMBOL + 0x3F5: [441,11,444,30,420], // GREEK LUNATE EPSILON SYMBOL + 0x2113: [687,11,579,48,571] // SCRIPT SMALL L +}; + +MathJax.OutputJax["HTML-CSS"].initFont("STIXGeneral-italic"); + +MathJax.Ajax.loadComplete(MathJax.OutputJax["HTML-CSS"].fontDir + "/General/Italic/Main.js"); diff --git a/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Italic/MathItalic.js b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Italic/MathItalic.js new file mode 100644 index 0000000..f3c3ada --- /dev/null +++ b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Italic/MathItalic.js @@ -0,0 +1,78 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/fonts/STIX/General/Italic/MathItalic.js + * + * Copyright (c) 2009-2010 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax['HTML-CSS'].FONTDATA.FONTS['STIXGeneral-italic'], + { + 0x1D434: [667,0,717,35,685], // MATHEMATICAL ITALIC CAPITAL A + 0x1D435: [653,0,696,38,686], // MATHEMATICAL ITALIC CAPITAL B + 0x1D436: [659,12,671,50,711], // MATHEMATICAL ITALIC CAPITAL C + 0x1D437: [653,0,790,38,765], // MATHEMATICAL ITALIC CAPITAL D + 0x1D438: [653,0,714,38,734], // MATHEMATICAL ITALIC CAPITAL E + 0x1D439: [653,0,618,38,723], // MATHEMATICAL ITALIC CAPITAL F + 0x1D43A: [668,12,734,50,734], // MATHEMATICAL ITALIC CAPITAL G + 0x1D43B: [653,0,873,38,923], // MATHEMATICAL ITALIC CAPITAL H + 0x1D43C: [653,0,480,38,530], // MATHEMATICAL ITALIC CAPITAL I + 0x1D43D: [653,12,540,60,620], // MATHEMATICAL ITALIC CAPITAL J + 0x1D43E: [653,0,762,38,802], // MATHEMATICAL ITALIC CAPITAL K + 0x1D43F: [653,0,708,38,668], // MATHEMATICAL ITALIC CAPITAL L + 0x1D440: [653,0,1005,38,1055], // MATHEMATICAL ITALIC CAPITAL M + 0x1D441: [653,0,851,38,901], // MATHEMATICAL ITALIC CAPITAL N + 0x1D442: [669,11,732,50,712], // MATHEMATICAL ITALIC CAPITAL O + 0x1D443: [653,0,594,38,704], // MATHEMATICAL ITALIC CAPITAL P + 0x1D444: [667,152,781,50,731], // MATHEMATICAL ITALIC CAPITAL Q + 0x1D445: [653,0,740,38,725], // MATHEMATICAL ITALIC CAPITAL R + 0x1D446: [668,10,650,50,680], // MATHEMATICAL ITALIC CAPITAL S + 0x1D447: [653,0,550,25,670], // MATHEMATICAL ITALIC CAPITAL T + 0x1D448: [653,13,705,65,775], // MATHEMATICAL ITALIC CAPITAL U + 0x1D449: [653,16,575,60,760], // MATHEMATICAL ITALIC CAPITAL V + 0x1D44A: [653,16,916,60,1101], // MATHEMATICAL ITALIC CAPITAL W + 0x1D44B: [653,0,790,25,810], // MATHEMATICAL ITALIC CAPITAL X + 0x1D44C: [653,0,535,35,695], // MATHEMATICAL ITALIC CAPITAL Y + 0x1D44D: [653,0,772,60,802], // MATHEMATICAL ITALIC CAPITAL Z + 0x1D44E: [441,10,502,40,472], // MATHEMATICAL ITALIC SMALL A + 0x1D44F: [668,11,470,45,450], // MATHEMATICAL ITALIC SMALL B + 0x1D450: [441,11,415,40,400], // MATHEMATICAL ITALIC SMALL C + 0x1D451: [668,12,532,40,527], // MATHEMATICAL ITALIC SMALL D + 0x1D452: [441,11,445,40,410], // MATHEMATICAL ITALIC SMALL E + 0x1D453: [668,187,555,40,615], // MATHEMATICAL ITALIC SMALL F + 0x1D454: [441,187,492,20,492], // MATHEMATICAL ITALIC SMALL G + 0x1D456: [616,11,311,50,257], // MATHEMATICAL ITALIC SMALL I + 0x1D457: [616,187,389,-16,372], // MATHEMATICAL ITALIC SMALL J + 0x1D458: [668,11,542,45,527], // MATHEMATICAL ITALIC SMALL K + 0x1D459: [668,10,318,45,278], // MATHEMATICAL ITALIC SMALL L + 0x1D45A: [441,8,710,30,680], // MATHEMATICAL ITALIC SMALL M + 0x1D45B: [441,8,497,30,467], // MATHEMATICAL ITALIC SMALL N + 0x1D45C: [441,11,458,40,438], // MATHEMATICAL ITALIC SMALL O + 0x1D45D: [441,183,489,-30,474], // MATHEMATICAL ITALIC SMALL P + 0x1D45E: [441,183,458,40,463], // MATHEMATICAL ITALIC SMALL Q + 0x1D45F: [441,0,408,30,393], // MATHEMATICAL ITALIC SMALL R + 0x1D460: [441,11,440,50,390], // MATHEMATICAL ITALIC SMALL S + 0x1D461: [567,9,313,40,283], // MATHEMATICAL ITALIC SMALL T + 0x1D462: [441,9,474,30,444], // MATHEMATICAL ITALIC SMALL U + 0x1D463: [458,9,506,72,479], // MATHEMATICAL ITALIC SMALL V + 0x1D464: [460,9,775,72,748], // MATHEMATICAL ITALIC SMALL W + 0x1D465: [441,9,550,30,510], // MATHEMATICAL ITALIC SMALL X + 0x1D466: [440,183,496,30,496], // MATHEMATICAL ITALIC SMALL Y + 0x1D467: [450,14,499,42,467] // MATHEMATICAL ITALIC SMALL Z + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax["HTML-CSS"].fontDir + "/General/Italic/MathItalic.js"); diff --git a/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Italic/MathOperators.js b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Italic/MathOperators.js new file mode 100644 index 0000000..1b81422 --- /dev/null +++ b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Italic/MathOperators.js @@ -0,0 +1,29 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/fonts/STIX/General/Italic/MathOperators.js + * + * Copyright (c) 2009-2010 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax['HTML-CSS'].FONTDATA.FONTS['STIXGeneral-italic'], + { + 0x2202: [668,11,471,40,471], // PARTIAL DIFFERENTIAL + 0x2212: [286,-220,675,86,590] // MINUS SIGN + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax["HTML-CSS"].fontDir + "/General/Italic/MathOperators.js"); diff --git a/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Italic/MathSSItalic.js b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Italic/MathSSItalic.js new file mode 100644 index 0000000..9424ad6 --- /dev/null +++ b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Italic/MathSSItalic.js @@ -0,0 +1,79 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/fonts/STIX/General/Italic/MathSSItalic.js + * + * Copyright (c) 2009-2010 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax['HTML-CSS'].FONTDATA.FONTS['STIXGeneral-italic'], + { + 0x1D608: [674,0,666,31,635], // MATHEMATICAL SANS-SERIF ITALIC CAPITAL A + 0x1D609: [662,0,604,74,641], // MATHEMATICAL SANS-SERIF ITALIC CAPITAL B + 0x1D60A: [676,14,671,96,755], // MATHEMATICAL SANS-SERIF ITALIC CAPITAL C + 0x1D60B: [662,0,692,74,751], // MATHEMATICAL SANS-SERIF ITALIC CAPITAL D + 0x1D60C: [662,0,583,74,678], // MATHEMATICAL SANS-SERIF ITALIC CAPITAL E + 0x1D60D: [662,0,535,74,679], // MATHEMATICAL SANS-SERIF ITALIC CAPITAL F + 0x1D60E: [676,14,695,97,755], // MATHEMATICAL SANS-SERIF ITALIC CAPITAL G + 0x1D60F: [662,0,658,74,749], // MATHEMATICAL SANS-SERIF ITALIC CAPITAL H + 0x1D610: [662,0,401,59,512], // MATHEMATICAL SANS-SERIF ITALIC CAPITAL I + 0x1D611: [662,14,398,22,470], // MATHEMATICAL SANS-SERIF ITALIC CAPITAL J + 0x1D612: [662,0,634,74,729], // MATHEMATICAL SANS-SERIF ITALIC CAPITAL K + 0x1D613: [662,0,559,74,564], // MATHEMATICAL SANS-SERIF ITALIC CAPITAL L + 0x1D614: [662,0,843,75,933], // MATHEMATICAL SANS-SERIF ITALIC CAPITAL M + 0x1D615: [662,14,675,74,766], // MATHEMATICAL SANS-SERIF ITALIC CAPITAL N + 0x1D616: [676,14,714,99,779], // MATHEMATICAL SANS-SERIF ITALIC CAPITAL O + 0x1D617: [662,0,525,74,638], // MATHEMATICAL SANS-SERIF ITALIC CAPITAL P + 0x1D618: [676,175,716,99,779], // MATHEMATICAL SANS-SERIF ITALIC CAPITAL Q + 0x1D619: [662,0,589,74,639], // MATHEMATICAL SANS-SERIF ITALIC CAPITAL R + 0x1D61A: [676,14,541,62,597], // MATHEMATICAL SANS-SERIF ITALIC CAPITAL S + 0x1D61B: [662,0,608,161,748], // MATHEMATICAL SANS-SERIF ITALIC CAPITAL T + 0x1D61C: [662,14,661,117,757], // MATHEMATICAL SANS-SERIF ITALIC CAPITAL U + 0x1D61D: [662,11,654,196,788], // MATHEMATICAL SANS-SERIF ITALIC CAPITAL V + 0x1D61E: [662,11,921,194,1057], // MATHEMATICAL SANS-SERIF ITALIC CAPITAL W + 0x1D61F: [662,0,700,31,806], // MATHEMATICAL SANS-SERIF ITALIC CAPITAL X + 0x1D620: [662,0,630,186,774], // MATHEMATICAL SANS-SERIF ITALIC CAPITAL Y + 0x1D621: [662,0,637,28,763], // MATHEMATICAL SANS-SERIF ITALIC CAPITAL Z + 0x1D622: [463,10,448,55,467], // MATHEMATICAL SANS-SERIF ITALIC SMALL A + 0x1D623: [684,10,496,74,535], // MATHEMATICAL SANS-SERIF ITALIC SMALL B + 0x1D624: [463,10,456,67,503], // MATHEMATICAL SANS-SERIF ITALIC SMALL C + 0x1D625: [684,11,494,72,600], // MATHEMATICAL SANS-SERIF ITALIC SMALL D + 0x1D626: [463,10,444,69,487], // MATHEMATICAL SANS-SERIF ITALIC SMALL E + 0x1D627: [683,0,336,101,526], // MATHEMATICAL SANS-SERIF ITALIC SMALL F + 0x1D628: [463,216,496,-7,575], // MATHEMATICAL SANS-SERIF ITALIC SMALL G + 0x1D629: [684,0,487,63,510], // MATHEMATICAL SANS-SERIF ITALIC SMALL H + 0x1D62A: [679,0,220,69,325], // MATHEMATICAL SANS-SERIF ITALIC SMALL I + 0x1D62B: [679,216,254,-118,354], // MATHEMATICAL SANS-SERIF ITALIC SMALL J + 0x1D62C: [684,0,453,63,556], // MATHEMATICAL SANS-SERIF ITALIC SMALL K + 0x1D62D: [684,0,205,61,313], // MATHEMATICAL SANS-SERIF ITALIC SMALL L + 0x1D62E: [464,0,756,65,775], // MATHEMATICAL SANS-SERIF ITALIC SMALL M + 0x1D62F: [464,0,487,63,510], // MATHEMATICAL SANS-SERIF ITALIC SMALL N + 0x1D630: [463,10,499,76,536], // MATHEMATICAL SANS-SERIF ITALIC SMALL O + 0x1D631: [464,216,498,14,538], // MATHEMATICAL SANS-SERIF ITALIC SMALL P + 0x1D632: [464,216,498,72,549], // MATHEMATICAL SANS-SERIF ITALIC SMALL Q + 0x1D633: [464,0,336,63,439], // MATHEMATICAL SANS-SERIF ITALIC SMALL R + 0x1D634: [463,10,389,61,432], // MATHEMATICAL SANS-SERIF ITALIC SMALL S + 0x1D635: [580,10,291,96,376], // MATHEMATICAL SANS-SERIF ITALIC SMALL T + 0x1D636: [453,11,491,89,536], // MATHEMATICAL SANS-SERIF ITALIC SMALL U + 0x1D637: [453,14,474,143,555], // MATHEMATICAL SANS-SERIF ITALIC SMALL V + 0x1D638: [453,14,702,140,787], // MATHEMATICAL SANS-SERIF ITALIC SMALL W + 0x1D639: [453,0,482,30,544], // MATHEMATICAL SANS-SERIF ITALIC SMALL X + 0x1D63A: [453,216,484,-19,565], // MATHEMATICAL SANS-SERIF ITALIC SMALL Y + 0x1D63B: [453,0,447,25,517] // MATHEMATICAL SANS-SERIF ITALIC SMALL Z + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax["HTML-CSS"].fontDir + "/General/Italic/MathSSItalic.js"); diff --git a/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Italic/MathScript.js b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Italic/MathScript.js new file mode 100644 index 0000000..3392e33 --- /dev/null +++ b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Italic/MathScript.js @@ -0,0 +1,68 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/fonts/STIX/General/Italic/MathScript.js + * + * Copyright (c) 2009-2010 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax['HTML-CSS'].FONTDATA.FONTS['STIXGeneral-italic'], + { + 0x1D49C: [674,15,855,31,846], // MATHEMATICAL SCRIPT CAPITAL A + 0x1D49E: [687,15,797,37,781], // MATHEMATICAL SCRIPT CAPITAL C + 0x1D49F: [687,15,885,36,818], // MATHEMATICAL SCRIPT CAPITAL D + 0x1D4A2: [687,15,773,83,740], // MATHEMATICAL SCRIPT CAPITAL G + 0x1D4A5: [674,177,802,9,792], // MATHEMATICAL SCRIPT CAPITAL J + 0x1D4A6: [687,15,1009,40,1004], // MATHEMATICAL SCRIPT CAPITAL K + 0x1D4A9: [687,15,970,38,956], // MATHEMATICAL SCRIPT CAPITAL N + 0x1D4AA: [680,15,692,82,663], // MATHEMATICAL SCRIPT CAPITAL O + 0x1D4AB: [687,15,910,38,886], // MATHEMATICAL SCRIPT CAPITAL P + 0x1D4AC: [680,38,692,82,663], // MATHEMATICAL SCRIPT CAPITAL Q + 0x1D4AE: [680,15,743,67,701], // MATHEMATICAL SCRIPT CAPITAL S + 0x1D4AF: [687,15,912,43,907], // MATHEMATICAL SCRIPT CAPITAL T + 0x1D4B0: [687,15,842,36,805], // MATHEMATICAL SCRIPT CAPITAL U + 0x1D4B1: [687,15,932,35,922], // MATHEMATICAL SCRIPT CAPITAL V + 0x1D4B2: [687,15,1078,35,1070], // MATHEMATICAL SCRIPT CAPITAL W + 0x1D4B3: [687,15,891,36,873], // MATHEMATICAL SCRIPT CAPITAL X + 0x1D4B4: [687,226,926,91,916], // MATHEMATICAL SCRIPT CAPITAL Y + 0x1D4B5: [687,15,932,59,912], // MATHEMATICAL SCRIPT CAPITAL Z + 0x1D4B6: [441,11,819,30,758], // MATHEMATICAL SCRIPT SMALL A + 0x1D4B7: [687,12,580,47,559], // MATHEMATICAL SCRIPT SMALL B + 0x1D4B8: [441,11,662,30,589], // MATHEMATICAL SCRIPT SMALL C + 0x1D4B9: [687,11,845,30,827], // MATHEMATICAL SCRIPT SMALL D + 0x1D4BB: [687,209,685,27,673], // MATHEMATICAL SCRIPT SMALL F + 0x1D4BD: [687,11,753,38,690], // MATHEMATICAL SCRIPT SMALL H + 0x1D4BE: [653,11,496,83,484], // MATHEMATICAL SCRIPT SMALL I + 0x1D4BF: [653,219,730,9,718], // MATHEMATICAL SCRIPT SMALL J + 0x1D4C0: [687,11,726,40,666], // MATHEMATICAL SCRIPT SMALL K + 0x1D4C1: [687,11,579,48,571], // MATHEMATICAL SCRIPT SMALL L + 0x1D4C2: [441,11,1038,49,978], // MATHEMATICAL SCRIPT SMALL M + 0x1D4C3: [441,11,761,49,701], // MATHEMATICAL SCRIPT SMALL N + 0x1D4C5: [441,209,773,23,694], // MATHEMATICAL SCRIPT SMALL P + 0x1D4C6: [441,209,780,30,743], // MATHEMATICAL SCRIPT SMALL Q + 0x1D4C7: [444,0,580,48,572], // MATHEMATICAL SCRIPT SMALL R + 0x1D4C8: [531,11,515,62,412], // MATHEMATICAL SCRIPT SMALL S + 0x1D4C9: [658,11,551,30,532], // MATHEMATICAL SCRIPT SMALL T + 0x1D4CA: [424,11,753,30,693], // MATHEMATICAL SCRIPT SMALL U + 0x1D4CB: [441,11,618,30,582], // MATHEMATICAL SCRIPT SMALL V + 0x1D4CC: [441,11,888,30,852], // MATHEMATICAL SCRIPT SMALL W + 0x1D4CD: [441,11,752,65,675], // MATHEMATICAL SCRIPT SMALL X + 0x1D4CE: [424,219,658,30,617], // MATHEMATICAL SCRIPT SMALL Y + 0x1D4CF: [478,11,691,52,617] // MATHEMATICAL SCRIPT SMALL Z + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax["HTML-CSS"].fontDir + "/General/Italic/MathScript.js"); diff --git a/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Italic/SpacingModLetters.js b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Italic/SpacingModLetters.js new file mode 100644 index 0000000..402aa7c --- /dev/null +++ b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Italic/SpacingModLetters.js @@ -0,0 +1,54 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/fonts/STIX/General/Italic/SpacingModLetters.js + * + * Copyright (c) 2009-2010 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax['HTML-CSS'].FONTDATA.FONTS['STIXGeneral-italic'], + { + 0x2B0: [838,-326,378,7,391], // MODIFIER LETTER SMALL H + 0x2B1: [838,-326,378,7,414], // MODIFIER LETTER SMALL H WITH HOOK + 0x2B2: [851,-199,300,44,350], // MODIFIER LETTER SMALL J + 0x2B3: [690,-345,320,2,320], // MODIFIER LETTER SMALL R + 0x2B4: [690,-345,320,0,318], // MODIFIER LETTER SMALL TURNED R + 0x2B5: [690,-163,320,0,335], // MODIFIER LETTER SMALL TURNED R WITH HOOK + 0x2B6: [684,-345,390,6,462], // MODIFIER LETTER SMALL CAPITAL INVERTED R + 0x2B7: [690,-327,500,15,515], // MODIFIER LETTER SMALL W + 0x2B8: [693,-202,330,16,357], // MODIFIER LETTER SMALL Y + 0x2BB: [686,-443,333,79,236], // MODIFIER LETTER TURNED COMMA + 0x2C0: [690,-295,326,30,307], // MODIFIER LETTER GLOTTAL STOP + 0x2C1: [690,-295,326,23,343], // MODIFIER LETTER REVERSED GLOTTAL STOP + 0x2C6: [661,-492,333,91,385], // MODIFIER LETTER CIRCUMFLEX ACCENT + 0x2C7: [661,-492,333,121,426], // CARON + 0x2D8: [650,-492,333,117,418], // BREVE + 0x2D9: [606,-508,333,207,305], // DOT ABOVE + 0x2DA: [707,-508,333,155,355], // RING ABOVE + 0x2DB: [40,169,333,-20,200], // OGONEK + 0x2DC: [624,-517,333,100,427], // SMALL TILDE + 0x2DD: [664,-494,333,93,486], // DOUBLE ACUTE ACCENT + 0x2E0: [684,-218,315,23,335], // MODIFIER LETTER SMALL GAMMA + 0x2E1: [837,-333,220,41,214], // MODIFIER LETTER SMALL L + 0x2E2: [691,-335,300,16,290], // MODIFIER LETTER SMALL S + 0x2E3: [691,-333,380,4,379], // MODIFIER LETTER SMALL X + 0x2E4: [847,-333,318,8,345], // MODIFIER LETTER SMALL REVERSED GLOTTAL STOP + 0x2EC: [70,147,320,15,305], // MODIFIER LETTER VOICING + 0x2ED: [665,-507,405,10,395] // MODIFIER LETTER UNASPIRATED + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax["HTML-CSS"].fontDir + "/General/Italic/SpacingModLetters.js"); diff --git a/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Italic/ij.js b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Italic/ij.js new file mode 100644 index 0000000..59c4a7b --- /dev/null +++ b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Italic/ij.js @@ -0,0 +1,29 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/fonts/STIX/General/Italic/ij.js + * + * Copyright (c) 2009-2010 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax['HTML-CSS'].FONTDATA.FONTS['STIXGeneral-italic'], + { + 0x1D6A4: [441,11,278,47,235], // MATHEMATICAL ITALIC SMALL DOTLESS I + 0x1D6A5: [441,207,278,-124,246] // MATHEMATICAL ITALIC SMALL DOTLESS J + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax["HTML-CSS"].fontDir + "/General/Italic/ij.js"); diff --git a/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/AlphaPresentForms.js b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/AlphaPresentForms.js new file mode 100644 index 0000000..5b3c84d --- /dev/null +++ b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/AlphaPresentForms.js @@ -0,0 +1,32 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/AlphaPresentForms.js + * + * Copyright (c) 2009-2010 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax['HTML-CSS'].FONTDATA.FONTS['STIXGeneral'], + { + 0xFB00: [683,0,605,20,655], // LATIN SMALL LIGATURE FF + 0xFB01: [683,0,558,32,523], // LATIN SMALL LIGATURE FI + 0xFB02: [683,0,556,31,522], // LATIN SMALL LIGATURE FL + 0xFB03: [683,0,832,20,797], // LATIN SMALL LIGATURE FFI + 0xFB04: [683,0,830,20,796] // LATIN SMALL LIGATURE FFL + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax["HTML-CSS"].fontDir + "/General/Regular/AlphaPresentForms.js"); diff --git a/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/Arrows.js b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/Arrows.js new file mode 100644 index 0000000..072b5f0 --- /dev/null +++ b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/Arrows.js @@ -0,0 +1,106 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/Arrows.js + * + * Copyright (c) 2009-2010 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax['HTML-CSS'].FONTDATA.FONTS['STIXGeneral'], + { + 0x219A: [450,-58,926,60,866], // LEFTWARDS ARROW WITH STROKE + 0x219B: [450,-58,926,60,866], // RIGHTWARDS ARROW WITH STROKE + 0x219C: [411,-102,926,70,856], // LEFTWARDS WAVE ARROW + 0x219D: [411,-102,926,70,856], // RIGHTWARDS WAVE ARROW + 0x219E: [449,-58,926,70,856], // LEFTWARDS TWO HEADED ARROW + 0x219F: [662,154,511,60,451], // UPWARDS TWO HEADED ARROW + 0x21A0: [449,-58,926,70,856], // RIGHTWARDS TWO HEADED ARROW + 0x21A1: [662,154,511,60,451], // DOWNWARDS TWO HEADED ARROW + 0x21A2: [449,-58,926,70,856], // LEFTWARDS ARROW WITH TAIL + 0x21A3: [449,-58,926,70,856], // RIGHTWARDS ARROW WITH TAIL + 0x21A4: [450,-57,926,70,857], // LEFTWARDS ARROW FROM BAR + 0x21A5: [662,154,511,60,451], // UPWARDS ARROW FROM BAR + 0x21A7: [662,154,511,59,451], // DOWNWARDS ARROW FROM BAR + 0x21A8: [662,154,511,59,451], // UP DOWN ARROW WITH BASE + 0x21AB: [553,0,926,70,856], // LEFTWARDS ARROW WITH LOOP + 0x21AC: [553,0,926,70,856], // RIGHTWARDS ARROW WITH LOOP + 0x21AD: [449,-58,1200,49,1151], // LEFT RIGHT WAVE ARROW + 0x21AE: [450,-58,926,38,888], // LEFT RIGHT ARROW WITH STROKE + 0x21AF: [662,154,511,60,451], // DOWNWARDS ZIGZAG ARROW + 0x21B0: [662,156,463,30,424], // UPWARDS ARROW WITH TIP LEFTWARDS + 0x21B1: [662,156,463,39,433], // UPWARDS ARROW WITH TIP RIGHTWARDS + 0x21B2: [662,154,463,25,419], // DOWNWARDS ARROW WITH TIP LEFTWARDS + 0x21B3: [662,154,463,39,433], // DOWNWARDS ARROW WITH TIP RIGHTWARDS + 0x21B4: [662,154,926,70,856], // RIGHTWARDS ARROW WITH CORNER DOWNWARDS + 0x21B5: [662,156,926,70,856], // DOWNWARDS ARROW WITH CORNER LEFTWARDS + 0x21B6: [534,0,926,44,882], // ANTICLOCKWISE TOP SEMICIRCLE ARROW + 0x21B7: [534,0,926,44,882], // CLOCKWISE TOP SEMICIRCLE ARROW + 0x21B8: [732,156,926,55,872], // NORTH WEST ARROW TO LONG BAR + 0x21B9: [598,92,926,60,866], // LEFTWARDS ARROW TO BAR OVER RIGHTWARDS ARROW TO BAR + 0x21BA: [686,116,974,116,858], // ANTICLOCKWISE OPEN CIRCLE ARROW + 0x21BB: [686,116,974,116,858], // CLOCKWISE OPEN CIRCLE ARROW + 0x21BE: [662,156,511,222,441], // UPWARDS HARPOON WITH BARB RIGHTWARDS + 0x21BF: [662,156,511,69,288], // UPWARDS HARPOON WITH BARB LEFTWARDS + 0x21C2: [662,156,511,222,441], // DOWNWARDS HARPOON WITH BARB RIGHTWARDS + 0x21C3: [662,156,511,69,288], // DOWNWARDS HARPOON WITH BARB LEFTWARDS + 0x21C4: [598,92,926,71,856], // RIGHTWARDS ARROW OVER LEFTWARDS ARROW + 0x21C5: [662,156,773,31,742], // UPWARDS ARROW LEFTWARDS OF DOWNWARDS ARROW + 0x21C6: [598,92,926,71,856], // LEFTWARDS ARROW OVER RIGHTWARDS ARROW + 0x21C7: [599,92,926,70,856], // LEFTWARDS PAIRED ARROWS + 0x21C8: [662,156,773,41,732], // UPWARDS PAIRED ARROWS + 0x21C9: [599,92,926,70,856], // RIGHTWARDS PAIRED ARROWS + 0x21CA: [662,156,773,41,732], // DOWNWARDS PAIRED ARROWS + 0x21CB: [539,33,926,70,856], // LEFTWARDS HARPOON OVER RIGHTWARDS HARPOON + 0x21CD: [551,45,926,60,866], // LEFTWARDS DOUBLE ARROW WITH STROKE + 0x21CE: [517,10,926,20,906], // LEFT RIGHT DOUBLE ARROW WITH STROKE + 0x21CF: [551,45,926,60,866], // RIGHTWARDS DOUBLE ARROW WITH STROKE + 0x21D6: [662,156,926,55,874], // NORTH WEST DOUBLE ARROW + 0x21D7: [662,156,926,55,874], // NORTH EAST DOUBLE ARROW + 0x21D8: [662,156,926,55,874], // SOUTH EAST DOUBLE ARROW + 0x21D9: [662,156,926,55,874], // SOUTH WEST DOUBLE ARROW + 0x21DA: [644,139,926,46,852], // LEFTWARDS TRIPLE ARROW + 0x21DB: [645,138,926,74,880], // RIGHTWARDS TRIPLE ARROW + 0x21DC: [449,-58,926,60,866], // LEFTWARDS SQUIGGLE ARROW + 0x21DD: [449,-58,926,60,866], // RIGHTWARDS SQUIGGLE ARROW + 0x21DE: [662,156,511,60,451], // UPWARDS ARROW WITH DOUBLE STROKE + 0x21DF: [662,156,511,60,451], // DOWNWARDS ARROW WITH DOUBLE STROKE + 0x21E0: [449,-58,926,60,866], // LEFTWARDS DASHED ARROW + 0x21E1: [662,156,511,60,451], // UPWARDS DASHED ARROW + 0x21E2: [449,-58,926,60,866], // RIGHTWARDS DASHED ARROW + 0x21E3: [662,156,511,60,451], // DOWNWARDS DASHED ARROW + 0x21E4: [450,-58,926,60,866], // LEFTWARDS ARROW TO BAR + 0x21E5: [450,-58,926,60,866], // RIGHTWARDS ARROW TO BAR + 0x21E6: [551,45,926,60,866], // LEFTWARDS WHITE ARROW + 0x21E7: [662,156,685,45,641], // UPWARDS WHITE ARROW + 0x21E8: [551,45,926,60,866], // RIGHTWARDS WHITE ARROW + 0x21E9: [662,156,685,45,641], // DOWNWARDS WHITE ARROW + 0x21EA: [690,184,685,45,641], // UPWARDS WHITE ARROW FROM BAR + 0x21F4: [448,-57,926,70,856], // RIGHT ARROW WITH SMALL CIRCLE + 0x21F5: [662,156,773,31,742], // DOWNWARDS ARROW LEFTWARDS OF UPWARDS ARROW + 0x21F6: [739,232,926,60,866], // THREE RIGHTWARDS ARROWS + 0x21F7: [450,-58,926,60,866], // LEFTWARDS ARROW WITH VERTICAL STROKE + 0x21F8: [450,-58,926,55,861], // RIGHTWARDS ARROW WITH VERTICAL STROKE + 0x21F9: [450,-58,926,48,878], // LEFT RIGHT ARROW WITH VERTICAL STROKE + 0x21FA: [450,-58,926,60,866], // LEFTWARDS ARROW WITH DOUBLE VERTICAL STROKE + 0x21FB: [450,-58,926,60,866], // RIGHTWARDS ARROW WITH DOUBLE VERTICAL STROKE + 0x21FC: [450,-58,926,38,888], // LEFT RIGHT ARROW WITH DOUBLE VERTICAL STROKE + 0x21FD: [449,-57,926,60,866], // LEFTWARDS OPEN-HEADED ARROW + 0x21FE: [449,-57,926,60,866], // RIGHTWARDS OPEN-HEADED ARROW + 0x21FF: [449,-57,926,20,906] // LEFT RIGHT OPEN-HEADED ARROW + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax["HTML-CSS"].fontDir + "/General/Regular/Arrows.js"); diff --git a/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/BBBold.js b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/BBBold.js new file mode 100644 index 0000000..3d0d77c --- /dev/null +++ b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/BBBold.js @@ -0,0 +1,82 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/BBBold.js + * + * Copyright (c) 2009-2010 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax['HTML-CSS'].FONTDATA.FONTS['STIXGeneral'], + { + 0x1D538: [662,0,741,50,691], // MATHEMATICAL DOUBLE-STRUCK CAPITAL A + 0x1D539: [662,0,676,70,626], // MATHEMATICAL DOUBLE-STRUCK CAPITAL B + 0x1D53B: [662,0,722,70,677], // MATHEMATICAL DOUBLE-STRUCK CAPITAL D + 0x1D53C: [662,0,622,70,567], // MATHEMATICAL DOUBLE-STRUCK CAPITAL E + 0x1D53D: [662,0,469,70,567], // MATHEMATICAL DOUBLE-STRUCK CAPITAL F + 0x1D53E: [676,13,706,45,664], // MATHEMATICAL DOUBLE-STRUCK CAPITAL G + 0x1D540: [662,0,322,78,244], // MATHEMATICAL DOUBLE-STRUCK CAPITAL I + 0x1D541: [662,14,560,40,495], // MATHEMATICAL DOUBLE-STRUCK CAPITAL J + 0x1D542: [674,0,735,70,729], // MATHEMATICAL DOUBLE-STRUCK CAPITAL K + 0x1D543: [662,0,591,70,571], // MATHEMATICAL DOUBLE-STRUCK CAPITAL L + 0x1D544: [662,0,855,70,785], // MATHEMATICAL DOUBLE-STRUCK CAPITAL M + 0x1D546: [676,14,760,45,715], // MATHEMATICAL DOUBLE-STRUCK CAPITAL O + 0x1D54A: [676,14,636,35,597], // MATHEMATICAL DOUBLE-STRUCK CAPITAL S + 0x1D54B: [662,0,527,20,622], // MATHEMATICAL DOUBLE-STRUCK CAPITAL T + 0x1D54C: [662,14,698,65,633], // MATHEMATICAL DOUBLE-STRUCK CAPITAL U + 0x1D54D: [662,0,568,12,653], // MATHEMATICAL DOUBLE-STRUCK CAPITAL V + 0x1D54E: [662,0,920,12,949], // MATHEMATICAL DOUBLE-STRUCK CAPITAL W + 0x1D54F: [662,0,768,35,733], // MATHEMATICAL DOUBLE-STRUCK CAPITAL X + 0x1D550: [662,0,563,12,685], // MATHEMATICAL DOUBLE-STRUCK CAPITAL Y + 0x1D552: [460,10,561,45,506], // MATHEMATICAL DOUBLE-STRUCK SMALL A + 0x1D553: [683,10,565,50,524], // MATHEMATICAL DOUBLE-STRUCK SMALL B + 0x1D554: [460,10,520,45,475], // MATHEMATICAL DOUBLE-STRUCK SMALL C + 0x1D555: [683,10,574,45,519], // MATHEMATICAL DOUBLE-STRUCK SMALL D + 0x1D556: [460,10,523,45,478], // MATHEMATICAL DOUBLE-STRUCK SMALL E + 0x1D557: [683,0,368,25,431], // MATHEMATICAL DOUBLE-STRUCK SMALL F + 0x1D558: [460,218,574,45,519], // MATHEMATICAL DOUBLE-STRUCK SMALL G + 0x1D559: [683,0,544,55,489], // MATHEMATICAL DOUBLE-STRUCK SMALL H + 0x1D55A: [683,0,258,55,203], // MATHEMATICAL DOUBLE-STRUCK SMALL I + 0x1D55B: [683,217,305,-15,250], // MATHEMATICAL DOUBLE-STRUCK SMALL J + 0x1D55C: [683,0,551,50,539], // MATHEMATICAL DOUBLE-STRUCK SMALL K + 0x1D55D: [683,0,258,55,203], // MATHEMATICAL DOUBLE-STRUCK SMALL L + 0x1D55E: [460,0,830,55,775], // MATHEMATICAL DOUBLE-STRUCK SMALL M + 0x1D55F: [460,0,544,55,489], // MATHEMATICAL DOUBLE-STRUCK SMALL N + 0x1D560: [458,12,553,45,508], // MATHEMATICAL DOUBLE-STRUCK SMALL O + 0x1D561: [460,218,574,55,529], // MATHEMATICAL DOUBLE-STRUCK SMALL P + 0x1D562: [460,218,574,45,519], // MATHEMATICAL DOUBLE-STRUCK SMALL Q + 0x1D563: [463,0,301,55,407], // MATHEMATICAL DOUBLE-STRUCK SMALL R + 0x1D564: [460,10,519,36,483], // MATHEMATICAL DOUBLE-STRUCK SMALL S + 0x1D565: [633,10,329,20,297], // MATHEMATICAL DOUBLE-STRUCK SMALL T + 0x1D566: [450,10,544,55,489], // MATHEMATICAL DOUBLE-STRUCK SMALL U + 0x1D567: [450,0,443,20,479], // MATHEMATICAL DOUBLE-STRUCK SMALL V + 0x1D568: [450,0,676,20,695], // MATHEMATICAL DOUBLE-STRUCK SMALL W + 0x1D569: [450,0,560,30,530], // MATHEMATICAL DOUBLE-STRUCK SMALL X + 0x1D56A: [450,218,468,20,510], // MATHEMATICAL DOUBLE-STRUCK SMALL Y + 0x1D56B: [450,0,519,43,476], // MATHEMATICAL DOUBLE-STRUCK SMALL Z + 0x1D7D8: [676,14,540,28,512], // MATHEMATICAL DOUBLE-STRUCK DIGIT ZERO + 0x1D7D9: [693,0,540,91,355], // MATHEMATICAL DOUBLE-STRUCK DIGIT ONE + 0x1D7DA: [676,0,547,48,514], // MATHEMATICAL DOUBLE-STRUCK DIGIT TWO + 0x1D7DB: [676,14,540,49,478], // MATHEMATICAL DOUBLE-STRUCK DIGIT THREE + 0x1D7DC: [676,0,540,20,524], // MATHEMATICAL DOUBLE-STRUCK DIGIT FOUR + 0x1D7DD: [662,14,540,35,489], // MATHEMATICAL DOUBLE-STRUCK DIGIT FIVE + 0x1D7DE: [676,14,540,28,512], // MATHEMATICAL DOUBLE-STRUCK DIGIT SIX + 0x1D7DF: [662,0,540,24,511], // MATHEMATICAL DOUBLE-STRUCK DIGIT SEVEN + 0x1D7E0: [676,14,540,28,512], // MATHEMATICAL DOUBLE-STRUCK DIGIT EIGHT + 0x1D7E1: [676,12,540,28,512] // MATHEMATICAL DOUBLE-STRUCK DIGIT NINE + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax["HTML-CSS"].fontDir + "/General/Regular/BBBold.js"); diff --git a/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/BlockElements.js b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/BlockElements.js new file mode 100644 index 0000000..7972c0b --- /dev/null +++ b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/BlockElements.js @@ -0,0 +1,35 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/BlockElements.js + * + * Copyright (c) 2009-2010 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax['HTML-CSS'].FONTDATA.FONTS['STIXGeneral'], + { + 0x2580: [910,-304,1213,0,1213], // UPPER HALF BLOCK + 0x2584: [303,303,1213,0,1213], // LOWER HALF BLOCK + 0x2588: [910,303,1213,0,1213], // FULL BLOCK + 0x258C: [910,303,1212,0,606], // LEFT HALF BLOCK + 0x2590: [910,303,1212,606,1212], // RIGHT HALF BLOCK + 0x2591: [860,258,1200,0,1200], // LIGHT SHADE + 0x2592: [874,273,1200,0,1200], // MEDIUM SHADE + 0x2593: [874,273,1200,0,1200] // DARK SHADE + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax["HTML-CSS"].fontDir + "/General/Regular/BlockElements.js"); diff --git a/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/BoldFraktur.js b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/BoldFraktur.js new file mode 100644 index 0000000..6246764 --- /dev/null +++ b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/BoldFraktur.js @@ -0,0 +1,79 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/BoldFraktur.js + * + * Copyright (c) 2009-2010 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax['HTML-CSS'].FONTDATA.FONTS['STIXGeneral'], + { + 0x1D56C: [701,25,856,50,805], // MATHEMATICAL BOLD FRAKTUR CAPITAL A + 0x1D56D: [701,19,849,50,794], // MATHEMATICAL BOLD FRAKTUR CAPITAL B + 0x1D56E: [701,19,773,54,731], // MATHEMATICAL BOLD FRAKTUR CAPITAL C + 0x1D56F: [701,19,891,54,836], // MATHEMATICAL BOLD FRAKTUR CAPITAL D + 0x1D570: [701,19,788,54,731], // MATHEMATICAL BOLD FRAKTUR CAPITAL E + 0x1D571: [701,205,803,54,748], // MATHEMATICAL BOLD FRAKTUR CAPITAL F + 0x1D572: [701,19,833,54,781], // MATHEMATICAL BOLD FRAKTUR CAPITAL G + 0x1D573: [701,205,843,42,795], // MATHEMATICAL BOLD FRAKTUR CAPITAL H + 0x1D574: [701,25,790,54,735], // MATHEMATICAL BOLD FRAKTUR CAPITAL I + 0x1D575: [701,205,803,54,748], // MATHEMATICAL BOLD FRAKTUR CAPITAL J + 0x1D576: [701,25,864,42,814], // MATHEMATICAL BOLD FRAKTUR CAPITAL K + 0x1D577: [701,25,699,51,645], // MATHEMATICAL BOLD FRAKTUR CAPITAL L + 0x1D578: [701,25,1133,50,1081], // MATHEMATICAL BOLD FRAKTUR CAPITAL M + 0x1D579: [701,25,862,50,810], // MATHEMATICAL BOLD FRAKTUR CAPITAL N + 0x1D57A: [701,19,909,54,854], // MATHEMATICAL BOLD FRAKTUR CAPITAL O + 0x1D57B: [701,205,850,50,795], // MATHEMATICAL BOLD FRAKTUR CAPITAL P + 0x1D57C: [701,59,930,54,902], // MATHEMATICAL BOLD FRAKTUR CAPITAL Q + 0x1D57D: [701,25,884,50,841], // MATHEMATICAL BOLD FRAKTUR CAPITAL R + 0x1D57E: [701,19,852,54,802], // MATHEMATICAL BOLD FRAKTUR CAPITAL S + 0x1D57F: [701,25,793,54,740], // MATHEMATICAL BOLD FRAKTUR CAPITAL T + 0x1D580: [701,25,860,54,809], // MATHEMATICAL BOLD FRAKTUR CAPITAL U + 0x1D581: [701,19,855,50,800], // MATHEMATICAL BOLD FRAKTUR CAPITAL V + 0x1D582: [701,19,1121,50,1066], // MATHEMATICAL BOLD FRAKTUR CAPITAL W + 0x1D583: [701,25,819,50,775], // MATHEMATICAL BOLD FRAKTUR CAPITAL X + 0x1D584: [701,205,837,50,782], // MATHEMATICAL BOLD FRAKTUR CAPITAL Y + 0x1D585: [701,195,755,44,703], // MATHEMATICAL BOLD FRAKTUR CAPITAL Z + 0x1D586: [475,24,600,55,545], // MATHEMATICAL BOLD FRAKTUR SMALL A + 0x1D587: [695,24,559,45,504], // MATHEMATICAL BOLD FRAKTUR SMALL B + 0x1D588: [475,24,464,55,412], // MATHEMATICAL BOLD FRAKTUR SMALL C + 0x1D589: [694,25,557,48,502], // MATHEMATICAL BOLD FRAKTUR SMALL D + 0x1D58A: [475,24,476,55,427], // MATHEMATICAL BOLD FRAKTUR SMALL E + 0x1D58B: [700,214,370,33,352], // MATHEMATICAL BOLD FRAKTUR SMALL F + 0x1D58C: [475,219,566,55,506], // MATHEMATICAL BOLD FRAKTUR SMALL G + 0x1D58D: [695,219,576,45,516], // MATHEMATICAL BOLD FRAKTUR SMALL H + 0x1D58E: [697,24,429,35,379], // MATHEMATICAL BOLD FRAKTUR SMALL I + 0x1D58F: [697,219,389,40,337], // MATHEMATICAL BOLD FRAKTUR SMALL J + 0x1D590: [695,24,456,48,402], // MATHEMATICAL BOLD FRAKTUR SMALL K + 0x1D591: [695,24,433,45,379], // MATHEMATICAL BOLD FRAKTUR SMALL L + 0x1D592: [475,24,984,40,932], // MATHEMATICAL BOLD FRAKTUR SMALL M + 0x1D593: [475,24,696,40,644], // MATHEMATICAL BOLD FRAKTUR SMALL N + 0x1D594: [475,24,554,45,499], // MATHEMATICAL BOLD FRAKTUR SMALL O + 0x1D595: [593,219,640,36,585], // MATHEMATICAL BOLD FRAKTUR SMALL P + 0x1D596: [475,219,574,55,522], // MATHEMATICAL BOLD FRAKTUR SMALL Q + 0x1D597: [475,24,525,40,493], // MATHEMATICAL BOLD FRAKTUR SMALL R + 0x1D598: [643,31,557,52,505], // MATHEMATICAL BOLD FRAKTUR SMALL S + 0x1D599: [656,23,438,45,378], // MATHEMATICAL BOLD FRAKTUR SMALL T + 0x1D59A: [475,24,681,35,629], // MATHEMATICAL BOLD FRAKTUR SMALL U + 0x1D59B: [593,24,573,55,526], // MATHEMATICAL BOLD FRAKTUR SMALL V + 0x1D59C: [593,24,850,55,795], // MATHEMATICAL BOLD FRAKTUR SMALL W + 0x1D59D: [475,209,521,50,489], // MATHEMATICAL BOLD FRAKTUR SMALL X + 0x1D59E: [593,219,596,55,536], // MATHEMATICAL BOLD FRAKTUR SMALL Y + 0x1D59F: [475,219,484,36,437] // MATHEMATICAL BOLD FRAKTUR SMALL Z + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax["HTML-CSS"].fontDir + "/General/Regular/BoldFraktur.js"); diff --git a/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/BoxDrawing.js b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/BoxDrawing.js new file mode 100644 index 0000000..d675eab --- /dev/null +++ b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/BoxDrawing.js @@ -0,0 +1,72 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/BoxDrawing.js + * + * Copyright (c) 2009-2010 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax['HTML-CSS'].FONTDATA.FONTS['STIXGeneral'], + { + 0x2500: [340,-267,708,-11,719], // BOX DRAWINGS LIGHT HORIZONTAL + 0x2502: [910,303,708,317,390], // BOX DRAWINGS LIGHT VERTICAL + 0x2506: [910,303,708,317,390], // BOX DRAWINGS LIGHT TRIPLE DASH VERTICAL + 0x2508: [340,-267,708,-11,719], // BOX DRAWINGS LIGHT QUADRUPLE DASH HORIZONTAL + 0x250A: [910,303,708,317,390], // BOX DRAWINGS LIGHT QUADRUPLE DASH VERTICAL + 0x250C: [340,303,708,317,720], // BOX DRAWINGS LIGHT DOWN AND RIGHT + 0x2510: [340,303,708,-11,390], // BOX DRAWINGS LIGHT DOWN AND LEFT + 0x2514: [910,-267,708,317,720], // BOX DRAWINGS LIGHT UP AND RIGHT + 0x2518: [910,-267,708,-11,390], // BOX DRAWINGS LIGHT UP AND LEFT + 0x251C: [910,303,708,317,719], // BOX DRAWINGS LIGHT VERTICAL AND RIGHT + 0x2524: [910,303,708,-11,390], // BOX DRAWINGS LIGHT VERTICAL AND LEFT + 0x252C: [340,303,708,-11,719], // BOX DRAWINGS LIGHT DOWN AND HORIZONTAL + 0x2534: [910,-267,708,-11,719], // BOX DRAWINGS LIGHT UP AND HORIZONTAL + 0x253C: [910,303,708,-11,719], // BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL + 0x2550: [433,-174,708,-11,719], // BOX DRAWINGS DOUBLE HORIZONTAL + 0x2551: [910,303,708,225,483], // BOX DRAWINGS DOUBLE VERTICAL + 0x2552: [433,303,708,317,720], // BOX DRAWINGS DOWN SINGLE AND RIGHT DOUBLE + 0x2553: [340,303,708,225,720], // BOX DRAWINGS DOWN DOUBLE AND RIGHT SINGLE + 0x2554: [433,303,708,225,719], // BOX DRAWINGS DOUBLE DOWN AND RIGHT + 0x2555: [433,303,708,-11,390], // BOX DRAWINGS DOWN SINGLE AND LEFT DOUBLE + 0x2556: [340,303,708,-11,483], // BOX DRAWINGS DOWN DOUBLE AND LEFT SINGLE + 0x2557: [433,303,708,-11,483], // BOX DRAWINGS DOUBLE DOWN AND LEFT + 0x2558: [910,-174,708,317,720], // BOX DRAWINGS UP SINGLE AND RIGHT DOUBLE + 0x2559: [910,-267,708,225,720], // BOX DRAWINGS UP DOUBLE AND RIGHT SINGLE + 0x255A: [910,-174,708,225,719], // BOX DRAWINGS DOUBLE UP AND RIGHT + 0x255B: [910,-174,708,-11,390], // BOX DRAWINGS UP SINGLE AND LEFT DOUBLE + 0x255C: [910,-267,708,-11,483], // BOX DRAWINGS UP DOUBLE AND LEFT SINGLE + 0x255D: [910,-174,708,-11,483], // BOX DRAWINGS DOUBLE UP AND LEFT + 0x255E: [910,303,708,317,720], // BOX DRAWINGS VERTICAL SINGLE AND RIGHT DOUBLE + 0x255F: [910,303,708,225,720], // BOX DRAWINGS VERTICAL DOUBLE AND RIGHT SINGLE + 0x2560: [910,303,708,225,720], // BOX DRAWINGS DOUBLE VERTICAL AND RIGHT + 0x2561: [910,303,708,-11,390], // BOX DRAWINGS VERTICAL SINGLE AND LEFT DOUBLE + 0x2562: [910,303,708,-11,483], // BOX DRAWINGS VERTICAL DOUBLE AND LEFT SINGLE + 0x2563: [910,303,708,-11,483], // BOX DRAWINGS DOUBLE VERTICAL AND LEFT + 0x2564: [433,303,708,-11,719], // BOX DRAWINGS DOWN SINGLE AND HORIZONTAL DOUBLE + 0x2565: [340,303,708,-11,719], // BOX DRAWINGS DOWN DOUBLE AND HORIZONTAL SINGLE + 0x2566: [433,303,708,-11,719], // BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL + 0x2567: [910,-174,708,-11,719], // BOX DRAWINGS UP SINGLE AND HORIZONTAL DOUBLE + 0x2568: [910,-267,708,-11,719], // BOX DRAWINGS UP DOUBLE AND HORIZONTAL SINGLE + 0x2569: [910,-174,708,-11,719], // BOX DRAWINGS DOUBLE UP AND HORIZONTAL + 0x256A: [910,303,708,-11,719], // BOX DRAWINGS VERTICAL SINGLE AND HORIZONTAL DOUBLE + 0x256B: [910,303,708,-11,719], // BOX DRAWINGS VERTICAL DOUBLE AND HORIZONTAL SINGLE + 0x256C: [910,303,708,-11,719], // BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL + 0x2571: [910,303,708,-15,723], // BOX DRAWINGS LIGHT DIAGONAL UPPER RIGHT TO LOWER LEFT + 0x2572: [910,303,708,-15,723] // BOX DRAWINGS LIGHT DIAGONAL UPPER LEFT TO LOWER RIGHT + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax["HTML-CSS"].fontDir + "/General/Regular/BoxDrawing.js"); diff --git a/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/CJK.js b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/CJK.js new file mode 100644 index 0000000..085e13c --- /dev/null +++ b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/CJK.js @@ -0,0 +1,29 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/CJK.js + * + * Copyright (c) 2009-2010 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax['HTML-CSS'].FONTDATA.FONTS['STIXGeneral'], + { + 0x3012: [662,0,685,10,672], // POSTAL MARK + 0x3030: [417,-93,1412,45,1367] // WAVY DASH + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax["HTML-CSS"].fontDir + "/General/Regular/CJK.js"); diff --git a/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/CombDiacritMarks.js b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/CombDiacritMarks.js new file mode 100644 index 0000000..cac5342 --- /dev/null +++ b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/CombDiacritMarks.js @@ -0,0 +1,86 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/CombDiacritMarks.js + * + * Copyright (c) 2009-2010 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax['HTML-CSS'].FONTDATA.FONTS['STIXGeneral'], + { + 0x305: [820,-770,0,-480,20], // COMBINING OVERLINE + 0x309: [751,-492,0,-307,-118], // COMBINING HOOK ABOVE + 0x30D: [700,-500,0,-250,-195], // COMBINING VERTICAL LINE ABOVE + 0x30E: [700,-500,0,-326,-133], // COMBINING DOUBLE VERTICAL LINE ABOVE + 0x30F: [678,-507,0,-401,-22], // COMBINING DOUBLE GRAVE ACCENT + 0x310: [767,-507,0,-373,-92], // COMBINING CANDRABINDU + 0x311: [664,-507,0,-373,-92], // COMBINING INVERTED BREVE + 0x312: [745,-502,0,-299,-160], // COMBINING TURNED COMMA ABOVE + 0x313: [745,-502,0,-299,-160], // COMBINING COMMA ABOVE + 0x314: [745,-502,0,-299,-160], // COMBINING REVERSED COMMA ABOVE + 0x315: [745,-502,0,-85,54], // COMBINING COMMA ABOVE RIGHT + 0x316: [-53,224,0,-351,-127], // COMBINING GRAVE ACCENT BELOW + 0x317: [-53,224,0,-371,-147], // COMBINING ACUTE ACCENT BELOW + 0x318: [-53,283,0,-397,-210], // COMBINING LEFT TACK BELOW + 0x319: [-53,283,0,-267,-80], // COMBINING RIGHT TACK BELOW + 0x31A: [735,-531,0,-380,-80], // COMBINING LEFT ANGLE ABOVE + 0x31B: [474,-345,0,-44,51], // COMBINING HORN + 0x31C: [-71,266,0,-360,-232], // COMBINING LEFT HALF RING BELOW + 0x31D: [-53,240,0,-345,-115], // COMBINING UP TACK BELOW + 0x31E: [-53,240,0,-345,-115], // COMBINING DOWN TACK BELOW + 0x31F: [-53,250,0,-326,-134], // COMBINING PLUS SIGN BELOW + 0x320: [-124,168,0,-326,-134], // COMBINING MINUS SIGN BELOW + 0x321: [75,287,0,-235,1], // COMBINING PALATALIZED HOOK BELOW + 0x322: [75,287,0,-54,182], // COMBINING RETROFLEX HOOK BELOW + 0x323: [-118,217,0,-280,-181], // COMBINING DOT BELOW + 0x324: [-119,218,0,-379,-81], // COMBINING DIAERESIS BELOW + 0x325: [-69,268,0,-329,-130], // COMBINING RING BELOW + 0x326: [-110,353,0,-299,-160], // COMBINING COMMA BELOW + 0x327: [0,215,0,-334,-125], // COMBINING CEDILLA + 0x328: [0,165,0,-322,-137], // COMBINING OGONEK + 0x329: [-102,234,0,-250,-210], // COMBINING VERTICAL LINE BELOW + 0x32A: [-98,235,0,-385,-73], // COMBINING BRIDGE BELOW + 0x32B: [-110,227,0,-380,-75], // COMBINING INVERTED DOUBLE ARCH BELOW + 0x32C: [-73,240,0,-385,-74], // COMBINING CARON BELOW + 0x32D: [-73,240,0,-385,-74], // COMBINING CIRCUMFLEX ACCENT BELOW + 0x32E: [-68,225,0,-370,-89], // COMBINING BREVE BELOW + 0x32F: [-59,216,0,-370,-89], // COMBINING INVERTED BREVE BELOW + 0x330: [-113,219,0,-395,-65], // COMBINING TILDE BELOW + 0x331: [-141,195,0,-385,-74], // COMBINING MACRON BELOW + 0x332: [-141,191,0,-480,20], // COMBINING LOW LINE + 0x333: [-141,300,0,-480,20], // COMBINING DOUBLE LOW LINE + 0x334: [320,-214,0,-401,-71], // COMBINING TILDE OVERLAY + 0x335: [274,-230,0,-384,-78], // COMBINING SHORT STROKE OVERLAY + 0x336: [274,-230,0,-480,20], // COMBINING LONG STROKE OVERLAY + 0x337: [580,74,0,-380,-41], // COMBINING SHORT SOLIDUS OVERLAY + 0x339: [-71,266,0,-280,-152], // COMBINING RIGHT HALF RING BELOW + 0x33A: [-53,190,0,-385,-73], // COMBINING INVERTED BRIDGE BELOW + 0x33B: [-53,227,0,-313,-147], // COMBINING SQUARE BELOW + 0x33C: [-65,189,0,-380,-79], // COMBINING SEAGULL BELOW + 0x33D: [715,-525,0,-326,-135], // COMBINING X ABOVE + 0x33E: [829,-499,0,-283,-177], // COMBINING VERTICAL TILDE + 0x33F: [928,-770,0,-480,20], // COMBINING DOUBLE OVERLINE + 0x346: [681,-538,0,-350,-68], // COMBINING BRIDGE ABOVE + 0x34C: [777,-532,0,-386,-56], // COMBINING ALMOST EQUAL TO ABOVE + 0x359: [-65,367,0,-357,-87], // COMBINING ASTERISK BELOW + 0x35C: [-76,233,0,-373,295], // COMBINING DOUBLE BREVE BELOW + 0x360: [633,-517,0,-395,365], // COMBINING DOUBLE TILDE + 0x361: [664,-507,0,-373,295], // COMBINING DOUBLE INVERTED BREVE + 0x362: [-65,270,0,-395,355] // COMBINING DOUBLE RIGHTWARDS ARROW BELOW + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax["HTML-CSS"].fontDir + "/General/Regular/CombDiacritMarks.js"); diff --git a/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/CombDiactForSymbols.js b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/CombDiactForSymbols.js new file mode 100644 index 0000000..c25e5fd --- /dev/null +++ b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/CombDiactForSymbols.js @@ -0,0 +1,50 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/CombDiactForSymbols.js + * + * Copyright (c) 2009-2010 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax['HTML-CSS'].FONTDATA.FONTS['STIXGeneral'], + { + 0x20D0: [760,-627,0,-453,-17], // COMBINING LEFT HARPOON ABOVE + 0x20D1: [760,-627,0,-453,-17], // COMBINING RIGHT HARPOON ABOVE + 0x20D2: [662,156,0,-242,-192], // COMBINING LONG VERTICAL LINE OVERLAY + 0x20D6: [760,-548,0,-453,-17], // COMBINING LEFT ARROW ABOVE + 0x20DB: [622,-523,0,-462,35], // COMBINING THREE DOTS ABOVE + 0x20DC: [622,-523,0,-600,96], // COMBINING FOUR DOTS ABOVE + 0x20DD: [725,221,0,-723,223], // COMBINING ENCLOSING CIRCLE + 0x20DE: [780,180,0,-730,230], // COMBINING ENCLOSING SQUARE + 0x20DF: [843,341,0,-840,344], // COMBINING ENCLOSING DIAMOND + 0x20E1: [760,-548,0,-453,25], // COMBINING LEFT RIGHT ARROW ABOVE + 0x20E4: [1023,155,0,-970,490], // COMBINING ENCLOSING UPWARD POINTING TRIANGLE + 0x20E5: [662,156,0,-430,-40], // COMBINING REVERSE SOLIDUS OVERLAY + 0x20E6: [662,156,0,-335,-102], // COMBINING DOUBLE VERTICAL STROKE OVERLAY + 0x20E7: [725,178,0,-650,166], // COMBINING ANNUITY SYMBOL + 0x20E8: [-119,218,0,-462,35], // COMBINING TRIPLE UNDERDOT + 0x20E9: [681,-538,0,-480,53], // COMBINING WIDE BRIDGE ABOVE + 0x20EA: [419,-87,0,-658,118], // COMBINING LEFTWARDS ARROW OVERLAY + 0x20EB: [756,217,0,-448,193], // COMBINING LONG DOUBLE SOLIDUS OVERLAY + 0x20EC: [-119,252,0,-453,-17], // COMBINING RIGHTWARDS HARPOON WITH BARB DOWNWARDS + 0x20ED: [-119,252,0,-453,-17], // COMBINING LEFTWARDS HARPOON WITH BARB DOWNWARDS + 0x20EE: [-40,252,0,-453,-17], // COMBINING LEFT ARROW BELOW + 0x20EF: [-40,252,0,-453,-17], // COMBINING RIGHT ARROW BELOW + 0x20F0: [819,-517,0,-357,-87] // COMBINING ASTERISK ABOVE + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax["HTML-CSS"].fontDir + "/General/Regular/CombDiactForSymbols.js"); diff --git a/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/ControlPictures.js b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/ControlPictures.js new file mode 100644 index 0000000..b738a43 --- /dev/null +++ b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/ControlPictures.js @@ -0,0 +1,28 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/ControlPictures.js + * + * Copyright (c) 2009-2010 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax['HTML-CSS'].FONTDATA.FONTS['STIXGeneral'], + { + 0x2423: [16,120,500,40,460] // stix-round space indicator + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax["HTML-CSS"].fontDir + "/General/Regular/ControlPictures.js"); diff --git a/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/CurrencySymbols.js b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/CurrencySymbols.js new file mode 100644 index 0000000..fb87019 --- /dev/null +++ b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/CurrencySymbols.js @@ -0,0 +1,31 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/CurrencySymbols.js + * + * Copyright (c) 2009-2010 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax['HTML-CSS'].FONTDATA.FONTS['STIXGeneral'], + { + 0x20A3: [662,0,556,11,546], // FRENCH FRANC SIGN + 0x20A4: [676,8,500,12,490], // LIRA SIGN + 0x20A7: [662,10,1182,16,1141], // PESETA SIGN + 0x20AC: [664,12,500,38,462] // EURO SIGN + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax["HTML-CSS"].fontDir + "/General/Regular/CurrencySymbols.js"); diff --git a/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/Cyrillic.js b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/Cyrillic.js new file mode 100644 index 0000000..275025a --- /dev/null +++ b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/Cyrillic.js @@ -0,0 +1,129 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/Cyrillic.js + * + * Copyright (c) 2009-2010 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax['HTML-CSS'].FONTDATA.FONTS['STIXGeneral'], + { + 0x401: [872,0,629,22,607], // CYRILLIC CAPITAL LETTER IO + 0x402: [662,189,756,18,700], // CYRILLIC CAPITAL LETTER DJE + 0x403: [928,0,571,19,544], // CYRILLIC CAPITAL LETTER GJE + 0x404: [676,14,651,38,621], // CYRILLIC CAPITAL LETTER UKRAINIAN IE + 0x405: [676,14,556,62,510], // CYRILLIC CAPITAL LETTER DZE + 0x406: [662,0,333,18,315], // CYRILLIC CAPITAL LETTER BYELORUSSIAN-UKRAINIAN I + 0x407: [872,0,333,25,323], // CYRILLIC CAPITAL LETTER YI + 0x408: [662,14,373,-6,354], // CYRILLIC CAPITAL LETTER JE + 0x409: [662,14,988,10,954], // CYRILLIC CAPITAL LETTER LJE + 0x40A: [662,0,1017,19,983], // CYRILLIC CAPITAL LETTER NJE + 0x40B: [662,0,803,18,786], // CYRILLIC CAPITAL LETTER TSHE + 0x40C: [928,0,690,19,686], // CYRILLIC CAPITAL LETTER KJE + 0x40E: [915,15,711,15,694], // CYRILLIC CAPITAL LETTER SHORT U + 0x40F: [662,153,715,19,696], // CYRILLIC CAPITAL LETTER DZHE + 0x410: [674,0,713,9,701], // CYRILLIC CAPITAL LETTER A + 0x411: [662,0,611,19,577], // CYRILLIC CAPITAL LETTER BE + 0x412: [662,0,651,19,595], // CYRILLIC CAPITAL LETTER VE + 0x413: [662,0,571,19,544], // CYRILLIC CAPITAL LETTER GHE + 0x414: [662,153,665,14,646], // CYRILLIC CAPITAL LETTER DE + 0x415: [662,0,629,22,607], // CYRILLIC CAPITAL LETTER IE + 0x416: [676,0,1021,8,1013], // CYRILLIC CAPITAL LETTER ZHE + 0x417: [676,14,576,28,545], // CYRILLIC CAPITAL LETTER ZE + 0x418: [662,0,723,19,704], // CYRILLIC CAPITAL LETTER I + 0x419: [915,0,723,19,704], // CYRILLIC CAPITAL LETTER SHORT I + 0x41A: [676,0,690,19,686], // CYRILLIC CAPITAL LETTER KA + 0x41B: [662,14,683,9,664], // CYRILLIC CAPITAL LETTER EL + 0x41C: [662,0,893,19,871], // CYRILLIC CAPITAL LETTER EM + 0x41D: [662,0,726,19,704], // CYRILLIC CAPITAL LETTER EN + 0x41E: [676,14,729,36,690], // CYRILLIC CAPITAL LETTER O + 0x41F: [662,0,724,19,705], // CYRILLIC CAPITAL LETTER PE + 0x420: [662,0,571,19,535], // CYRILLIC CAPITAL LETTER ER + 0x421: [676,14,677,36,641], // CYRILLIC CAPITAL LETTER ES + 0x422: [662,0,618,30,592], // CYRILLIC CAPITAL LETTER TE + 0x423: [662,15,711,15,694], // CYRILLIC CAPITAL LETTER U + 0x424: [662,0,769,38,731], // CYRILLIC CAPITAL LETTER EF + 0x425: [662,0,716,9,703], // CYRILLIC CAPITAL LETTER HA + 0x426: [662,153,715,19,696], // CYRILLIC CAPITAL LETTER TSE + 0x427: [662,0,657,3,639], // CYRILLIC CAPITAL LETTER CHE + 0x428: [662,0,994,29,965], // CYRILLIC CAPITAL LETTER SHA + 0x429: [662,153,994,29,965], // CYRILLIC CAPITAL LETTER SHCHA + 0x42A: [662,0,737,13,703], // CYRILLIC CAPITAL LETTER HARD SIGN + 0x42B: [662,0,884,19,865], // CYRILLIC CAPITAL LETTER YERU + 0x42C: [662,0,612,19,578], // CYRILLIC CAPITAL LETTER SOFT SIGN + 0x42D: [676,14,651,30,613], // CYRILLIC CAPITAL LETTER E + 0x42E: [676,14,902,19,863], // CYRILLIC CAPITAL LETTER YU + 0x42F: [662,0,637,3,618], // CYRILLIC CAPITAL LETTER YA + 0x430: [460,10,450,37,446], // CYRILLIC SMALL LETTER A + 0x431: [685,10,507,39,478], // CYRILLIC SMALL LETTER BE + 0x432: [450,0,474,24,438], // CYRILLIC SMALL LETTER VE + 0x433: [450,0,394,17,387], // CYRILLIC SMALL LETTER GHE + 0x434: [450,137,462,14,439], // CYRILLIC SMALL LETTER DE + 0x435: [460,10,466,38,437], // CYRILLIC SMALL LETTER IE + 0x436: [456,0,721,14,707], // CYRILLIC SMALL LETTER ZHE + 0x437: [460,10,390,14,357], // CYRILLIC SMALL LETTER ZE + 0x438: [450,0,525,23,502], // CYRILLIC SMALL LETTER I + 0x439: [704,0,525,23,502], // CYRILLIC SMALL LETTER SHORT I + 0x43A: [456,0,503,23,495], // CYRILLIC SMALL LETTER KA + 0x43B: [450,10,499,8,476], // CYRILLIC SMALL LETTER EL + 0x43C: [450,0,617,23,594], // CYRILLIC SMALL LETTER EM + 0x43D: [450,0,525,23,502], // CYRILLIC SMALL LETTER EN + 0x43E: [460,10,512,35,476], // CYRILLIC SMALL LETTER O + 0x43F: [450,0,525,23,502], // CYRILLIC SMALL LETTER PE + 0x440: [460,217,499,-2,463], // CYRILLIC SMALL LETTER ER + 0x441: [460,10,456,41,428], // CYRILLIC SMALL LETTER ES + 0x442: [450,0,434,8,426], // CYRILLIC SMALL LETTER TE + 0x443: [450,218,491,8,483], // CYRILLIC SMALL LETTER U + 0x444: [662,217,678,43,635], // CYRILLIC SMALL LETTER EF + 0x445: [450,0,489,14,476], // CYRILLIC SMALL LETTER HA + 0x446: [450,137,525,23,502], // CYRILLIC SMALL LETTER TSE + 0x447: [450,0,512,18,489], // CYRILLIC SMALL LETTER CHE + 0x448: [450,0,768,23,745], // CYRILLIC SMALL LETTER SHA + 0x449: [450,137,768,23,745], // CYRILLIC SMALL LETTER SHCHA + 0x44A: [450,0,539,8,507], // CYRILLIC SMALL LETTER HARD SIGN + 0x44B: [450,0,670,23,646], // CYRILLIC SMALL LETTER YERU + 0x44C: [450,0,457,23,425], // CYRILLIC SMALL LETTER SOFT SIGN + 0x44D: [460,10,444,14,410], // CYRILLIC SMALL LETTER E + 0x44E: [460,10,738,23,703], // CYRILLIC SMALL LETTER YU + 0x44F: [450,0,471,4,448], // CYRILLIC SMALL LETTER YA + 0x451: [622,10,466,38,437], // CYRILLIC SMALL LETTER IO + 0x452: [683,218,512,6,439], // CYRILLIC SMALL LETTER DJE + 0x453: [679,0,394,17,387], // CYRILLIC SMALL LETTER GJE + 0x454: [460,10,444,34,430], // CYRILLIC SMALL LETTER UKRAINIAN IE + 0x455: [459,10,389,49,346], // CYRILLIC SMALL LETTER DZE + 0x456: [683,0,278,29,266], // CYRILLIC SMALL LETTER BYELORUSSIAN-UKRAINIAN I + 0x457: [622,0,278,1,299], // CYRILLIC SMALL LETTER YI + 0x458: [683,218,278,-77,187], // CYRILLIC SMALL LETTER JE + 0x459: [450,10,702,8,670], // CYRILLIC SMALL LETTER LJE + 0x45A: [450,0,721,23,689], // CYRILLIC SMALL LETTER NJE + 0x45B: [683,0,512,6,499], // CYRILLIC SMALL LETTER TSHE + 0x45C: [679,0,503,23,495], // CYRILLIC SMALL LETTER KJE + 0x45E: [704,218,491,8,483], // CYRILLIC SMALL LETTER SHORT U + 0x45F: [450,137,518,23,495], // CYRILLIC SMALL LETTER DZHE + 0x462: [662,0,746,26,713], // CYRILLIC CAPITAL LETTER YAT + 0x463: [683,0,539,8,507], // CYRILLIC SMALL LETTER YAT + 0x46A: [662,0,998,6,992], // CYRILLIC CAPITAL LETTER BIG YUS + 0x46B: [450,0,722,14,708], // CYRILLIC SMALL LETTER BIG YUS + 0x472: [676,14,729,36,690], // CYRILLIC CAPITAL LETTER FITA + 0x473: [460,10,512,35,476], // CYRILLIC SMALL LETTER FITA + 0x474: [676,11,766,16,760], // CYRILLIC CAPITAL LETTER IZHITSA + 0x475: [456,14,539,19,532], // CYRILLIC SMALL LETTER IZHITSA + 0x490: [803,0,571,19,544], // CYRILLIC CAPITAL LETTER GHE WITH UPTURN + 0x491: [558,0,394,17,387] // CYRILLIC SMALL LETTER GHE WITH UPTURN + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax["HTML-CSS"].fontDir + "/General/Regular/Cyrillic.js"); diff --git a/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/Dingbats.js b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/Dingbats.js new file mode 100644 index 0000000..900e1dc --- /dev/null +++ b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/Dingbats.js @@ -0,0 +1,57 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/Dingbats.js + * + * Copyright (c) 2009-2010 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax['HTML-CSS'].FONTDATA.FONTS['STIXGeneral'], + { + 0x2702: [612,-82,961,35,905], // BLACK SCISSORS + 0x2709: [555,-138,690,34,638], // ENVELOPE + 0x2713: [707,12,755,34,704], // CHECK MARK + 0x2720: [592,87,767,53,714], // MALTESE CROSS + 0x272A: [613,106,789,35,733], // CIRCLED WHITE STAR + 0x2736: [616,108,695,35,642], // SIX POINTED BLACK STAR + 0x273D: [612,108,682,35,626], // HEAVY TEARDROP-SPOKED ASTERISK + 0x2772: [719,213,488,188,466], // LIGHT LEFT TORTOISE SHELL BRACKET ORNAMENT + 0x2773: [719,213,488,22,300], // LIGHT RIGHT TORTOISE SHELL BRACKET ORNAMENT + 0x2780: [705,14,788,35,733], // DINGBAT CIRCLED SANS-SERIF DIGIT ONE + 0x2781: [705,14,788,35,733], // DINGBAT CIRCLED SANS-SERIF DIGIT TWO + 0x2782: [705,14,788,35,733], // DINGBAT CIRCLED SANS-SERIF DIGIT THREE + 0x2783: [705,14,788,35,733], // DINGBAT CIRCLED SANS-SERIF DIGIT FOUR + 0x2784: [705,14,788,35,733], // DINGBAT CIRCLED SANS-SERIF DIGIT FIVE + 0x2785: [705,14,788,35,733], // DINGBAT CIRCLED SANS-SERIF DIGIT SIX + 0x2786: [705,14,788,35,733], // DINGBAT CIRCLED SANS-SERIF DIGIT SEVEN + 0x2787: [705,14,788,35,733], // DINGBAT CIRCLED SANS-SERIF DIGIT EIGHT + 0x2788: [705,14,788,35,733], // DINGBAT CIRCLED SANS-SERIF DIGIT NINE + 0x2789: [705,14,788,35,733], // DINGBAT CIRCLED SANS-SERIF NUMBER TEN + 0x278A: [705,14,788,35,733], // DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT ONE + 0x278B: [705,14,788,35,733], // DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT TWO + 0x278C: [705,14,788,35,733], // DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT THREE + 0x278D: [705,14,788,35,733], // DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT FOUR + 0x278E: [705,14,788,35,733], // DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT FIVE + 0x278F: [705,14,788,35,733], // DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT SIX + 0x2790: [705,14,788,35,733], // DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT SEVEN + 0x2791: [705,14,788,35,733], // DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT EIGHT + 0x2792: [705,14,788,35,733], // DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT NINE + 0x2793: [705,14,788,35,733], // DINGBAT NEGATIVE CIRCLED SANS-SERIF NUMBER TEN + 0x279B: [433,-70,918,35,861] // DRAFTING POINT RIGHTWARDS ARROW + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax["HTML-CSS"].fontDir + "/General/Regular/Dingbats.js"); diff --git a/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/EnclosedAlphanum.js b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/EnclosedAlphanum.js new file mode 100644 index 0000000..acc9d64 --- /dev/null +++ b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/EnclosedAlphanum.js @@ -0,0 +1,89 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/EnclosedAlphanum.js + * + * Copyright (c) 2009-2010 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax['HTML-CSS'].FONTDATA.FONTS['STIXGeneral'], + { + 0x2460: [676,14,684,0,684], // CIRCLED DIGIT ONE + 0x2461: [676,14,684,0,684], // CIRCLED DIGIT TWO + 0x2462: [676,14,684,0,684], // CIRCLED DIGIT THREE + 0x2463: [676,14,684,0,684], // CIRCLED DIGIT FOUR + 0x2464: [676,14,684,0,684], // CIRCLED DIGIT FIVE + 0x2465: [676,14,684,0,684], // CIRCLED DIGIT SIX + 0x2466: [676,14,684,0,684], // CIRCLED DIGIT SEVEN + 0x2467: [676,14,684,0,684], // CIRCLED DIGIT EIGHT + 0x2468: [676,14,684,0,684], // CIRCLED DIGIT NINE + 0x24B6: [676,14,684,0,684], // CIRCLED LATIN CAPITAL LETTER A + 0x24B7: [676,14,684,0,684], // CIRCLED LATIN CAPITAL LETTER B + 0x24B8: [676,14,684,0,684], // CIRCLED LATIN CAPITAL LETTER C + 0x24B9: [676,14,684,0,684], // CIRCLED LATIN CAPITAL LETTER D + 0x24BA: [676,14,684,0,684], // CIRCLED LATIN CAPITAL LETTER E + 0x24BB: [676,14,684,0,684], // CIRCLED LATIN CAPITAL LETTER F + 0x24BC: [676,14,684,0,684], // CIRCLED LATIN CAPITAL LETTER G + 0x24BD: [676,14,684,0,684], // CIRCLED LATIN CAPITAL LETTER H + 0x24BE: [676,14,684,0,684], // CIRCLED LATIN CAPITAL LETTER I + 0x24BF: [676,14,684,0,684], // CIRCLED LATIN CAPITAL LETTER J + 0x24C0: [676,14,684,0,684], // CIRCLED LATIN CAPITAL LETTER K + 0x24C1: [676,14,684,0,684], // CIRCLED LATIN CAPITAL LETTER L + 0x24C2: [676,14,684,0,684], // CIRCLED LATIN CAPITAL LETTER M + 0x24C3: [676,14,684,0,684], // CIRCLED LATIN CAPITAL LETTER N + 0x24C4: [676,14,684,0,684], // CIRCLED LATIN CAPITAL LETTER O + 0x24C5: [676,14,684,0,684], // CIRCLED LATIN CAPITAL LETTER P + 0x24C6: [676,14,684,0,684], // CIRCLED LATIN CAPITAL LETTER Q + 0x24C7: [676,14,684,0,684], // CIRCLED LATIN CAPITAL LETTER R + 0x24C8: [676,14,684,0,684], // CIRCLED LATIN CAPITAL LETTER S + 0x24C9: [676,14,684,0,684], // CIRCLED LATIN CAPITAL LETTER T + 0x24CA: [676,14,684,0,684], // CIRCLED LATIN CAPITAL LETTER U + 0x24CB: [676,14,684,0,684], // CIRCLED LATIN CAPITAL LETTER V + 0x24CC: [676,14,684,0,684], // CIRCLED LATIN CAPITAL LETTER W + 0x24CD: [676,14,684,0,684], // CIRCLED LATIN CAPITAL LETTER X + 0x24CE: [676,14,684,0,684], // CIRCLED LATIN CAPITAL LETTER Y + 0x24CF: [676,14,684,0,684], // CIRCLED LATIN CAPITAL LETTER Z + 0x24D0: [676,14,684,0,684], // CIRCLED LATIN SMALL LETTER A + 0x24D1: [676,14,684,0,684], // CIRCLED LATIN SMALL LETTER B + 0x24D2: [676,14,684,0,684], // CIRCLED LATIN SMALL LETTER C + 0x24D3: [676,14,684,0,684], // CIRCLED LATIN SMALL LETTER D + 0x24D4: [676,14,684,0,684], // CIRCLED LATIN SMALL LETTER E + 0x24D5: [676,14,684,0,684], // CIRCLED LATIN SMALL LETTER F + 0x24D6: [676,14,684,0,684], // CIRCLED LATIN SMALL LETTER G + 0x24D7: [676,14,684,0,684], // CIRCLED LATIN SMALL LETTER H + 0x24D8: [676,14,684,0,684], // CIRCLED LATIN SMALL LETTER I + 0x24D9: [676,14,684,0,684], // CIRCLED LATIN SMALL LETTER J + 0x24DA: [676,14,684,0,684], // CIRCLED LATIN SMALL LETTER K + 0x24DB: [676,14,684,0,684], // CIRCLED LATIN SMALL LETTER L + 0x24DC: [676,14,684,0,684], // CIRCLED LATIN SMALL LETTER M + 0x24DD: [676,14,684,0,684], // CIRCLED LATIN SMALL LETTER N + 0x24DE: [676,14,684,0,684], // CIRCLED LATIN SMALL LETTER O + 0x24DF: [676,14,684,0,684], // CIRCLED LATIN SMALL LETTER P + 0x24E0: [676,14,684,0,684], // CIRCLED LATIN SMALL LETTER Q + 0x24E1: [676,14,684,0,684], // CIRCLED LATIN SMALL LETTER R + 0x24E2: [676,14,684,0,684], // CIRCLED LATIN SMALL LETTER S + 0x24E3: [676,14,684,0,684], // CIRCLED LATIN SMALL LETTER T + 0x24E4: [676,14,684,0,684], // CIRCLED LATIN SMALL LETTER U + 0x24E5: [676,14,684,0,684], // CIRCLED LATIN SMALL LETTER V + 0x24E6: [676,14,684,0,684], // CIRCLED LATIN SMALL LETTER W + 0x24E7: [676,14,684,0,684], // CIRCLED LATIN SMALL LETTER X + 0x24E8: [676,14,684,0,684], // CIRCLED LATIN SMALL LETTER Y + 0x24E9: [676,14,684,0,684], // CIRCLED LATIN SMALL LETTER Z + 0x24EA: [676,14,684,0,684] // CIRCLED DIGIT ZERO + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax["HTML-CSS"].fontDir + "/General/Regular/EnclosedAlphanum.js"); diff --git a/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/Fraktur.js b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/Fraktur.js new file mode 100644 index 0000000..e285538 --- /dev/null +++ b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/Fraktur.js @@ -0,0 +1,74 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/Fraktur.js + * + * Copyright (c) 2009-2010 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax['HTML-CSS'].FONTDATA.FONTS['STIXGeneral'], + { + 0x1D504: [695,22,785,47,742], // MATHEMATICAL FRAKTUR CAPITAL A + 0x1D505: [704,24,822,48,774], // MATHEMATICAL FRAKTUR CAPITAL B + 0x1D507: [695,24,868,50,817], // MATHEMATICAL FRAKTUR CAPITAL D + 0x1D508: [695,24,729,50,678], // MATHEMATICAL FRAKTUR CAPITAL E + 0x1D509: [695,204,767,50,716], // MATHEMATICAL FRAKTUR CAPITAL F + 0x1D50A: [695,24,806,50,755], // MATHEMATICAL FRAKTUR CAPITAL G + 0x1D50D: [695,204,772,50,721], // MATHEMATICAL FRAKTUR CAPITAL J + 0x1D50E: [695,22,846,50,801], // MATHEMATICAL FRAKTUR CAPITAL K + 0x1D50F: [695,24,669,47,626], // MATHEMATICAL FRAKTUR CAPITAL L + 0x1D510: [695,22,1083,50,1031], // MATHEMATICAL FRAKTUR CAPITAL M + 0x1D511: [695,22,827,50,775], // MATHEMATICAL FRAKTUR CAPITAL N + 0x1D512: [695,24,837,37,786], // MATHEMATICAL FRAKTUR CAPITAL O + 0x1D513: [695,204,823,40,773], // MATHEMATICAL FRAKTUR CAPITAL P + 0x1D514: [695,64,865,37,814], // MATHEMATICAL FRAKTUR CAPITAL Q + 0x1D516: [695,24,856,55,801], // MATHEMATICAL FRAKTUR CAPITAL S + 0x1D517: [695,24,766,47,722], // MATHEMATICAL FRAKTUR CAPITAL T + 0x1D518: [696,22,787,50,744], // MATHEMATICAL FRAKTUR CAPITAL U + 0x1D519: [695,24,831,48,781], // MATHEMATICAL FRAKTUR CAPITAL V + 0x1D51A: [695,24,1075,48,1025], // MATHEMATICAL FRAKTUR CAPITAL W + 0x1D51B: [695,31,763,46,735], // MATHEMATICAL FRAKTUR CAPITAL X + 0x1D51C: [695,204,766,47,714], // MATHEMATICAL FRAKTUR CAPITAL Y + 0x1D51E: [468,18,530,51,479], // MATHEMATICAL FRAKTUR SMALL A + 0x1D51F: [695,18,513,46,462], // MATHEMATICAL FRAKTUR SMALL B + 0x1D520: [468,18,385,57,344], // MATHEMATICAL FRAKTUR SMALL C + 0x1D521: [695,18,506,45,455], // MATHEMATICAL FRAKTUR SMALL D + 0x1D522: [468,18,420,47,379], // MATHEMATICAL FRAKTUR SMALL E + 0x1D523: [694,209,327,27,316], // MATHEMATICAL FRAKTUR SMALL F + 0x1D524: [468,209,499,51,461], // MATHEMATICAL FRAKTUR SMALL G + 0x1D525: [695,209,528,48,476], // MATHEMATICAL FRAKTUR SMALL H + 0x1D526: [694,18,384,42,338], // MATHEMATICAL FRAKTUR SMALL I + 0x1D527: [695,209,345,44,311], // MATHEMATICAL FRAKTUR SMALL J + 0x1D528: [695,18,420,48,368], // MATHEMATICAL FRAKTUR SMALL K + 0x1D529: [695,18,398,46,350], // MATHEMATICAL FRAKTUR SMALL L + 0x1D52A: [468,25,910,59,856], // MATHEMATICAL FRAKTUR SMALL M + 0x1D52B: [468,25,636,60,582], // MATHEMATICAL FRAKTUR SMALL N + 0x1D52C: [468,18,503,50,452], // MATHEMATICAL FRAKTUR SMALL O + 0x1D52D: [586,209,555,38,504], // MATHEMATICAL FRAKTUR SMALL P + 0x1D52E: [468,209,507,51,459], // MATHEMATICAL FRAKTUR SMALL Q + 0x1D52F: [468,18,463,38,426], // MATHEMATICAL FRAKTUR SMALL R + 0x1D530: [623,24,518,49,469], // MATHEMATICAL FRAKTUR SMALL S + 0x1D531: [656,18,374,38,337], // MATHEMATICAL FRAKTUR SMALL T + 0x1D532: [478,18,647,60,593], // MATHEMATICAL FRAKTUR SMALL U + 0x1D533: [586,18,515,47,464], // MATHEMATICAL FRAKTUR SMALL V + 0x1D534: [586,25,759,41,708], // MATHEMATICAL FRAKTUR SMALL W + 0x1D535: [468,189,456,45,406], // MATHEMATICAL FRAKTUR SMALL X + 0x1D536: [586,209,516,48,464], // MATHEMATICAL FRAKTUR SMALL Y + 0x1D537: [468,209,457,43,407] // MATHEMATICAL FRAKTUR SMALL Z + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax["HTML-CSS"].fontDir + "/General/Regular/Fraktur.js"); diff --git a/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/GeneralPunctuation.js b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/GeneralPunctuation.js new file mode 100644 index 0000000..e40fe80 --- /dev/null +++ b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/GeneralPunctuation.js @@ -0,0 +1,68 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/GeneralPunctuation.js + * + * Copyright (c) 2009-2010 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax['HTML-CSS'].FONTDATA.FONTS['STIXGeneral'], + { + 0x2010: [259,-193,333,39,285], // HYPHEN + 0x2011: [257,-194,333,39,285], // NON-BREAKING HYPHEN + 0x2012: [259,-193,500,0,500], // FIGURE DASH + 0x2013: [250,-201,500,0,500], // EN DASH + 0x2014: [250,-201,1000,0,1000], // EM DASH + 0x2015: [250,-201,2000,0,2000], // HORIZONTAL BAR + 0x2016: [690,189,523,129,394], // DOUBLE VERTICAL LINE + 0x2017: [-141,300,500,0,500], // DOUBLE LOW LINE + 0x2018: [676,-433,333,115,254], // LEFT SINGLE QUOTATION MARK + 0x2019: [676,-433,333,79,218], // RIGHT SINGLE QUOTATION MARK + 0x201A: [102,141,333,79,218], // SINGLE LOW-9 QUOTATION MARK + 0x201B: [676,-433,333,79,218], // SINGLE HIGH-REVERSED-9 QUOTATION MARK + 0x201C: [676,-433,444,43,414], // LEFT DOUBLE QUOTATION MARK + 0x201D: [676,-433,444,30,401], // RIGHT DOUBLE QUOTATION MARK + 0x201E: [102,141,444,45,416], // DOUBLE LOW-9 QUOTATION MARK + 0x201F: [676,-433,444,30,401], // DOUBLE HIGH-REVERSED-9 QUOTATION MARK + 0x2022: [444,-59,523,70,455], // BULLET + 0x2025: [100,11,667,111,555], // TWO DOT LEADER + 0x2030: [706,19,1109,61,1048], // PER MILLE SIGN + 0x2031: [706,19,1471,61,1410], // PER TEN THOUSAND SIGN + 0x2033: [678,-401,426,75,351], // DOUBLE PRIME + 0x2034: [678,-401,563,75,488], // TRIPLE PRIME + 0x2035: [678,-402,289,75,214], // REVERSED PRIME + 0x2036: [678,-401,426,75,351], // REVERSED DOUBLE PRIME + 0x2037: [678,-401,563,75,488], // REVERSED TRIPLE PRIME + 0x2038: [102,156,511,59,454], // CARET + 0x2039: [416,-33,333,63,285], // SINGLE LEFT-POINTING ANGLE QUOTATION MARK + 0x203A: [416,-33,333,48,270], // SINGLE RIGHT-POINTING ANGLE QUOTATION MARK + 0x203B: [547,41,685,48,635], // REFERENCE MARK + 0x203C: [676,9,549,130,452], // DOUBLE EXCLAMATION MARK + 0x2040: [709,-512,798,72,726], // CHARACTER TIE + 0x2043: [332,-172,333,39,285], // HYPHEN BULLET + 0x2044: [676,14,167,-168,331], // FRACTION SLASH + 0x2047: [676,8,839,68,809], // DOUBLE QUESTION MARK + 0x204E: [240,171,500,68,433], // LOW ASTERISK + 0x204F: [459,141,278,60,199], // REVERSED SEMICOLON + 0x2050: [691,40,790,55,735], // CLOSE UP + 0x2051: [676,171,501,68,433], // TWO ASTERISKS ALIGNED VERTICALLY + 0x2052: [706,200,471,54,417], // COMMERCIAL MINUS SIGN + 0x2057: [678,-401,710,75,635], // QUADRUPLE PRIME + 0x205F: [0,0,1000,0,0] // MEDIUM MATHEMATICAL SPACE + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax["HTML-CSS"].fontDir + "/General/Regular/GeneralPunctuation.js"); diff --git a/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/GeometricShapes.js b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/GeometricShapes.js new file mode 100644 index 0000000..d5a9f14 --- /dev/null +++ b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/GeometricShapes.js @@ -0,0 +1,118 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/GeometricShapes.js + * + * Copyright (c) 2009-2010 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax['HTML-CSS'].FONTDATA.FONTS['STIXGeneral'], + { + 0x25A0: [662,158,910,45,865], // BLACK SQUARE + 0x25A1: [662,158,910,45,865], // WHITE SQUARE + 0x25A2: [662,158,910,45,865], // WHITE SQUARE WITH ROUNDED CORNERS + 0x25A3: [662,158,910,45,865], // WHITE SQUARE CONTAINING BLACK SMALL SQUARE + 0x25A4: [662,158,910,45,865], // SQUARE WITH HORIZONTAL FILL + 0x25A5: [662,158,910,45,865], // SQUARE WITH VERTICAL FILL + 0x25A6: [662,158,910,45,865], // SQUARE WITH ORTHOGONAL CROSSHATCH FILL + 0x25A7: [662,158,910,45,865], // SQUARE WITH UPPER LEFT TO LOWER RIGHT FILL + 0x25A8: [662,158,910,45,865], // SQUARE WITH UPPER RIGHT TO LOWER LEFT FILL + 0x25A9: [662,158,910,45,865], // SQUARE WITH DIAGONAL CROSSHATCH FILL + 0x25AA: [460,-40,484,32,452], // BLACK SMALL SQUARE + 0x25AB: [460,-40,484,32,452], // WHITE SMALL SQUARE + 0x25AC: [469,11,1020,38,982], // BLACK RECTANGLE + 0x25AD: [469,11,1020,38,982], // WHITE RECTANGLE + 0x25AE: [724,220,560,40,520], // BLACK VERTICAL RECTANGLE + 0x25AF: [724,220,560,40,520], // WHITE VERTICAL RECTANGLE + 0x25B0: [514,11,1140,28,1112], // BLACK PARALLELOGRAM + 0x25B1: [514,11,1140,29,1111], // WHITE PARALLELOGRAM + 0x25B2: [811,127,1145,35,1110], // BLACK UP-POINTING TRIANGLE + 0x25B4: [553,-28,660,27,632], // BLACK UP-POINTING SMALL TRIANGLE + 0x25B5: [553,-28,660,27,632], // WHITE UP-POINTING SMALL TRIANGLE + 0x25B6: [790,285,1043,70,1008], // BLACK RIGHT-POINTING TRIANGLE + 0x25B7: [791,284,1043,70,1008], // WHITE RIGHT-POINTING TRIANGLE + 0x25B8: [556,49,660,80,605], // BLACK RIGHT-POINTING SMALL TRIANGLE + 0x25BA: [555,50,930,65,885], // BLACK RIGHT-POINTING POINTER + 0x25BB: [555,50,930,65,885], // WHITE RIGHT-POINTING POINTER + 0x25BC: [811,127,1145,35,1110], // BLACK DOWN-POINTING TRIANGLE + 0x25BE: [477,48,660,27,632], // BLACK DOWN-POINTING SMALL TRIANGLE + 0x25BF: [477,48,660,27,632], // WHITE DOWN-POINTING SMALL TRIANGLE + 0x25C0: [790,285,1043,35,973], // BLACK LEFT-POINTING TRIANGLE + 0x25C1: [791,284,1043,70,1008], // WHITE LEFT-POINTING TRIANGLE + 0x25C2: [555,50,660,55,580], // BLACK LEFT-POINTING SMALL TRIANGLE + 0x25C4: [555,50,930,45,865], // BLACK LEFT-POINTING POINTER + 0x25C5: [555,50,930,45,865], // WHITE LEFT-POINTING POINTER + 0x25C6: [744,242,1064,39,1025], // BLACK DIAMOND + 0x25C7: [744,242,1064,39,1025], // WHITE DIAMOND + 0x25C8: [744,242,1064,39,1025], // WHITE DIAMOND CONTAINING BLACK SMALL DIAMOND + 0x25C9: [623,119,842,50,792], // FISHEYE + 0x25CA: [795,289,790,45,745], // LOZENGE + 0x25CB: [623,119,842,50,792], // WHITE CIRCLE + 0x25CC: [680,176,910,29,881], // DOTTED CIRCLE + 0x25CD: [680,176,910,27,884], // CIRCLE WITH VERTICAL FILL + 0x25CE: [623,119,842,50,792], // BULLSEYE + 0x25CF: [623,119,842,50,792], // BLACK CIRCLE + 0x25D0: [623,119,842,50,792], // CIRCLE WITH LEFT HALF BLACK + 0x25D1: [623,119,842,50,792], // CIRCLE WITH RIGHT HALF BLACK + 0x25D2: [623,119,842,50,792], // CIRCLE WITH LOWER HALF BLACK + 0x25D3: [623,119,842,50,792], // CIRCLE WITH UPPER HALF BLACK + 0x25D4: [623,119,842,50,792], // CIRCLE WITH UPPER RIGHT QUADRANT BLACK + 0x25D5: [623,119,842,50,792], // CIRCLE WITH ALL BUT UPPER LEFT QUADRANT BLACK + 0x25D6: [680,176,580,66,494], // LEFT HALF BLACK CIRCLE + 0x25D7: [680,176,580,86,514], // RIGHT HALF BLACK CIRCLE + 0x25D8: [662,158,910,45,865], // INVERSE BULLET + 0x25D9: [662,158,910,45,865], // INVERSE WHITE CIRCLE + 0x25DA: [662,-252,910,45,865], // UPPER HALF INVERSE WHITE CIRCLE + 0x25DB: [252,158,910,45,865], // LOWER HALF INVERSE WHITE CIRCLE + 0x25DC: [680,-252,910,27,455], // UPPER LEFT QUADRANT CIRCULAR ARC + 0x25DD: [680,-252,910,455,884], // UPPER RIGHT QUADRANT CIRCULAR ARC + 0x25DE: [252,176,910,455,884], // LOWER RIGHT QUADRANT CIRCULAR ARC + 0x25DF: [252,176,910,26,455], // LOWER LEFT QUADRANT CIRCULAR ARC + 0x25E0: [680,-251,910,27,884], // UPPER HALF CIRCLE + 0x25E1: [252,176,910,27,884], // LOWER HALF CIRCLE + 0x25E2: [662,158,911,45,865], // BLACK LOWER RIGHT TRIANGLE + 0x25E3: [662,158,911,45,865], // BLACK LOWER LEFT TRIANGLE + 0x25E4: [662,158,911,45,865], // BLACK UPPER LEFT TRIANGLE + 0x25E5: [662,158,911,45,865], // BLACK UPPER RIGHT TRIANGLE + 0x25E6: [444,-59,523,70,455], // WHITE BULLET + 0x25E7: [662,157,910,45,865], // SQUARE WITH LEFT HALF BLACK + 0x25E8: [662,157,910,45,865], // SQUARE WITH RIGHT HALF BLACK + 0x25E9: [662,157,910,45,865], // SQUARE WITH UPPER LEFT DIAGONAL HALF BLACK + 0x25EA: [662,157,910,45,865], // SQUARE WITH LOWER RIGHT DIAGONAL HALF BLACK + 0x25EB: [662,157,910,45,865], // WHITE SQUARE WITH VERTICAL BISECTING LINE + 0x25EC: [811,127,1145,35,1110], // WHITE UP-POINTING TRIANGLE WITH DOT + 0x25ED: [811,127,1145,35,1110], // UP-POINTING TRIANGLE WITH LEFT HALF BLACK + 0x25EE: [811,127,1145,35,1110], // UP-POINTING TRIANGLE WITH RIGHT HALF BLACK + 0x25F0: [662,158,910,45,865], // WHITE SQUARE WITH UPPER LEFT QUADRANT + 0x25F1: [662,158,910,45,865], // WHITE SQUARE WITH LOWER LEFT QUADRANT + 0x25F2: [662,158,910,45,865], // WHITE SQUARE WITH LOWER RIGHT QUADRANT + 0x25F3: [662,158,910,45,865], // WHITE SQUARE WITH UPPER RIGHT QUADRANT + 0x25F4: [623,119,842,50,792], // WHITE CIRCLE WITH UPPER LEFT QUADRANT + 0x25F5: [623,119,842,50,792], // WHITE CIRCLE WITH LOWER LEFT QUADRANT + 0x25F6: [623,119,842,50,792], // WHITE CIRCLE WITH LOWER RIGHT QUADRANT + 0x25F7: [623,119,842,50,792], // WHITE CIRCLE WITH UPPER RIGHT QUADRANT + 0x25F8: [662,158,911,45,865], // UPPER LEFT TRIANGLE + 0x25F9: [662,158,911,45,865], // UPPER RIGHT TRIANGLE + 0x25FA: [662,158,911,45,865], // LOWER LEFT TRIANGLE + 0x25FB: [580,76,746,45,701], // WHITE MEDIUM SQUARE + 0x25FC: [580,76,746,45,701], // BLACK MEDIUM SQUARE + 0x25FD: [513,12,601,38,563], // WHITE MEDIUM SMALL SQUARE + 0x25FE: [514,11,601,38,563], // BLACK MEDIUM SMALL SQUARE + 0x25FF: [662,158,911,45,865] // LOWER RIGHT TRIANGLE + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax["HTML-CSS"].fontDir + "/General/Regular/GeometricShapes.js"); diff --git a/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/GreekAndCoptic.js b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/GreekAndCoptic.js new file mode 100644 index 0000000..13d9721 --- /dev/null +++ b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/GreekAndCoptic.js @@ -0,0 +1,109 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/GreekAndCoptic.js + * + * Copyright (c) 2009-2010 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax['HTML-CSS'].FONTDATA.FONTS['STIXGeneral'], + { + 0x37E: [459,141,278,80,219], // GREEK QUESTION MARK + 0x384: [662,-507,277,113,240], // GREEK TONOS + 0x385: [662,-507,333,18,316], // GREEK DIALYTIKA TONOS + 0x386: [683,0,722,15,707], // GREEK CAPITAL LETTER ALPHA WITH TONOS + 0x387: [459,-348,278,81,192], // GREEK ANO TELEIA + 0x388: [683,0,750,8,737], // GREEK CAPITAL LETTER EPSILON WITH TONOS + 0x389: [683,0,850,8,836], // GREEK CAPITAL LETTER ETA WITH TONOS + 0x38A: [683,0,470,8,449], // GREEK CAPITAL LETTER IOTA WITH TONOS + 0x38C: [683,14,722,8,688], // GREEK CAPITAL LETTER OMICRON WITH TONOS + 0x38E: [683,0,840,8,818], // GREEK CAPITAL LETTER UPSILON WITH TONOS + 0x38F: [683,0,744,8,715], // GREEK CAPITAL LETTER OMEGA WITH TONOS + 0x390: [662,10,340,18,316], // GREEK SMALL LETTER IOTA WITH DIALYTIKA AND TONOS + 0x391: [674,0,722,15,707], // GREEK CAPITAL LETTER ALPHA + 0x392: [662,0,667,17,593], // GREEK CAPITAL LETTER BETA + 0x395: [662,0,611,12,597], // GREEK CAPITAL LETTER EPSILON + 0x396: [662,0,612,10,598], // GREEK CAPITAL LETTER ZETA + 0x397: [662,0,722,18,703], // GREEK CAPITAL LETTER ETA + 0x399: [662,0,333,18,315], // GREEK CAPITAL LETTER IOTA + 0x39A: [662,0,731,33,723], // GREEK CAPITAL LETTER KAPPA + 0x39C: [662,0,889,12,864], // GREEK CAPITAL LETTER MU + 0x39D: [662,11,722,12,707], // GREEK CAPITAL LETTER NU + 0x39F: [676,14,722,34,688], // GREEK CAPITAL LETTER OMICRON + 0x3A1: [662,0,557,16,542], // GREEK CAPITAL LETTER RHO + 0x3A4: [662,0,611,17,593], // GREEK CAPITAL LETTER TAU + 0x3A7: [662,0,722,10,704], // GREEK CAPITAL LETTER CHI + 0x3AA: [873,0,333,18,316], // GREEK CAPITAL LETTER IOTA WITH DIALYTIKA + 0x3AB: [873,0,722,29,703], // GREEK CAPITAL LETTER UPSILON WITH DIALYTIKA + 0x3AC: [662,10,543,29,529], // GREEK SMALL LETTER ALPHA WITH TONOS + 0x3AD: [662,10,439,25,407], // GREEK SMALL LETTER EPSILON WITH TONOS + 0x3AE: [662,217,512,10,452], // GREEK SMALL LETTER ETA WITH TONOS + 0x3AF: [662,10,275,20,267], // GREEK SMALL LETTER IOTA WITH TONOS + 0x3B0: [662,10,524,16,494], // GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND TONOS + 0x3B1: [460,10,543,29,529], // GREEK SMALL LETTER ALPHA + 0x3B2: [683,217,496,55,466], // GREEK SMALL LETTER BETA + 0x3B3: [457,218,474,10,444], // GREEK SMALL LETTER GAMMA + 0x3B4: [683,10,500,29,470], // GREEK SMALL LETTER DELTA + 0x3B5: [460,10,439,25,407], // GREEK SMALL LETTER EPSILON + 0x3B6: [683,218,441,35,407], // GREEK SMALL LETTER ZETA + 0x3B7: [460,217,512,10,452], // GREEK SMALL LETTER ETA + 0x3B8: [683,10,496,27,468], // GREEK SMALL LETTER THETA + 0x3B9: [460,10,275,20,267], // GREEK SMALL LETTER IOTA + 0x3BA: [460,0,500,7,503], // GREEK SMALL LETTER KAPPA + 0x3BB: [683,11,497,12,492], // GREEK SMALL LETTER LAMDA + 0x3BC: [450,217,528,55,516], // GREEK SMALL LETTER MU + 0x3BD: [460,14,455,20,443], // GREEK SMALL LETTER NU + 0x3BE: [683,218,441,35,407], // GREEK SMALL LETTER XI + 0x3BF: [460,10,505,35,473], // GREEK SMALL LETTER OMICRON + 0x3C0: [450,14,501,9,482], // GREEK SMALL LETTER PI + 0x3C1: [460,217,496,55,466], // GREEK SMALL LETTER RHO + 0x3C2: [460,218,441,35,432], // GREEK SMALL LETTER FINAL SIGMA + 0x3C3: [450,10,548,29,518], // GREEK SMALL LETTER SIGMA + 0x3C4: [450,10,477,3,442], // GREEK SMALL LETTER TAU + 0x3C5: [460,10,524,16,494], // GREEK SMALL LETTER UPSILON + 0x3C6: [460,217,623,29,593], // GREEK SMALL LETTER PHI + 0x3C7: [460,220,500,11,486], // GREEK SMALL LETTER CHI + 0x3C8: [460,217,694,20,684], // GREEK SMALL LETTER PSI + 0x3C9: [460,10,625,29,595], // GREEK SMALL LETTER OMEGA + 0x3CA: [622,10,340,18,316], // GREEK SMALL LETTER IOTA WITH DIALYTIKA + 0x3CB: [622,10,524,16,494], // GREEK SMALL LETTER UPSILON WITH DIALYTIKA + 0x3CC: [662,10,505,35,473], // GREEK SMALL LETTER OMICRON WITH TONOS + 0x3CD: [662,10,524,16,494], // GREEK SMALL LETTER UPSILON WITH TONOS + 0x3CE: [662,10,625,29,595], // GREEK SMALL LETTER OMEGA WITH TONOS + 0x3D0: [693,10,450,54,411], // GREEK BETA SYMBOL + 0x3D1: [683,10,554,0,544], // GREEK THETA SYMBOL + 0x3D2: [676,0,722,29,698], // GREEK UPSILON WITH HOOK SYMBOL + 0x3D5: [683,217,623,29,593], // GREEK PHI SYMBOL + 0x3D6: [450,10,762,6,726], // GREEK PI SYMBOL + 0x3D8: [676,217,722,34,688], // GREEK LETTER ARCHAIC KOPPA + 0x3D9: [460,217,500,29,470], // GREEK SMALL LETTER ARCHAIC KOPPA + 0x3DA: [676,218,667,28,622], // GREEK LETTER STIGMA + 0x3DB: [490,218,461,35,436], // GREEK SMALL LETTER STIGMA + 0x3DC: [662,0,556,11,546], // GREEK LETTER DIGAMMA + 0x3DD: [450,190,470,80,435], // GREEK SMALL LETTER DIGAMMA + 0x3DE: [797,14,703,13,678], // GREEK LETTER KOPPA + 0x3DF: [662,0,511,64,455], // GREEK SMALL LETTER KOPPA + 0x3E0: [676,218,801,11,767], // GREEK LETTER SAMPI + 0x3E1: [573,216,528,-6,487], // GREEK SMALL LETTER SAMPI + 0x3F0: [460,10,551,42,515], // GREEK KAPPA SYMBOL + 0x3F1: [460,215,500,29,470], // GREEK RHO SYMBOL + 0x3F4: [676,14,722,34,688], // GREEK CAPITAL THETA SYMBOL + 0x3F5: [460,10,439,25,407], // GREEK LUNATE EPSILON SYMBOL + 0x3F6: [460,10,444,32,414] // GREEK REVERSED LUNATE EPSILON SYMBOL + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax["HTML-CSS"].fontDir + "/General/Regular/GreekAndCoptic.js"); diff --git a/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/GreekBold.js b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/GreekBold.js new file mode 100644 index 0000000..4601495 --- /dev/null +++ b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/GreekBold.js @@ -0,0 +1,85 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/GreekBold.js + * + * Copyright (c) 2009-2010 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax['HTML-CSS'].FONTDATA.FONTS['STIXGeneral'], + { + 0x1D6A8: [690,0,735,9,689], // MATHEMATICAL BOLD CAPITAL ALPHA + 0x1D6A9: [676,0,667,16,619], // MATHEMATICAL BOLD CAPITAL BETA + 0x1D6AA: [676,0,620,16,593], // MATHEMATICAL BOLD CAPITAL GAMMA + 0x1D6AB: [690,0,691,16,656], // MATHEMATICAL BOLD CAPITAL DELTA + 0x1D6AC: [676,0,679,16,641], // MATHEMATICAL BOLD CAPITAL EPSILON + 0x1D6AD: [676,0,693,28,634], // MATHEMATICAL BOLD CAPITAL ZETA + 0x1D6AE: [676,0,810,21,759], // MATHEMATICAL BOLD CAPITAL ETA + 0x1D6AF: [692,18,778,35,743], // MATHEMATICAL BOLD CAPITAL THETA + 0x1D6B0: [676,0,421,20,370], // MATHEMATICAL BOLD CAPITAL IOTA + 0x1D6B1: [676,0,820,30,769], // MATHEMATICAL BOLD CAPITAL KAPPA + 0x1D6B2: [690,0,707,9,674], // MATHEMATICAL BOLD CAPITAL LAMDA + 0x1D6B3: [676,0,972,14,921], // MATHEMATICAL BOLD CAPITAL MU + 0x1D6B4: [676,18,722,16,701], // MATHEMATICAL BOLD CAPITAL NU + 0x1D6B5: [676,0,623,28,595], // MATHEMATICAL BOLD CAPITAL XI + 0x1D6B6: [691,19,778,35,743], // MATHEMATICAL BOLD CAPITAL OMICRON + 0x1D6B7: [676,0,780,21,759], // MATHEMATICAL BOLD CAPITAL PI + 0x1D6B8: [676,0,611,16,600], // MATHEMATICAL BOLD CAPITAL RHO + 0x1D6B9: [692,18,778,35,743], // MATHEMATICAL BOLD CAPITAL THETA SYMBOL + 0x1D6BA: [676,0,665,14,627], // MATHEMATICAL BOLD CAPITAL SIGMA + 0x1D6BB: [676,0,667,31,636], // MATHEMATICAL BOLD CAPITAL TAU + 0x1D6BC: [692,0,722,3,699], // MATHEMATICAL BOLD CAPITAL UPSILON + 0x1D6BD: [676,0,836,18,818], // MATHEMATICAL BOLD CAPITAL PHI + 0x1D6BE: [676,0,747,16,699], // MATHEMATICAL BOLD CAPITAL CHI + 0x1D6BF: [692,0,800,3,785], // MATHEMATICAL BOLD CAPITAL PSI + 0x1D6C0: [692,0,778,35,723], // MATHEMATICAL BOLD CAPITAL OMEGA + 0x1D6C1: [676,14,691,16,656], // MATHEMATICAL BOLD NABLA + 0x1D6C2: [473,14,644,25,618], // MATHEMATICAL BOLD SMALL ALPHA + 0x1D6C3: [692,205,556,45,524], // MATHEMATICAL BOLD SMALL BETA + 0x1D6C4: [473,205,518,12,501], // MATHEMATICAL BOLD SMALL GAMMA + 0x1D6C5: [692,14,502,26,477], // MATHEMATICAL BOLD SMALL DELTA + 0x1D6C6: [473,14,444,28,429], // MATHEMATICAL BOLD SMALL EPSILON + 0x1D6C7: [692,205,459,23,437], // MATHEMATICAL BOLD SMALL ZETA + 0x1D6C8: [473,205,580,12,545], // MATHEMATICAL BOLD SMALL ETA + 0x1D6C9: [692,14,501,25,476], // MATHEMATICAL BOLD SMALL THETA + 0x1D6CA: [461,14,326,15,304], // MATHEMATICAL BOLD SMALL IOTA + 0x1D6CB: [473,0,581,21,559], // MATHEMATICAL BOLD SMALL KAPPA + 0x1D6CC: [692,18,546,19,527], // MATHEMATICAL BOLD SMALL LAMDA + 0x1D6CD: [461,205,610,45,588], // MATHEMATICAL BOLD SMALL MU + 0x1D6CE: [473,14,518,15,495], // MATHEMATICAL BOLD SMALL NU + 0x1D6CF: [692,205,465,23,439], // MATHEMATICAL BOLD SMALL XI + 0x1D6D0: [473,14,500,25,476], // MATHEMATICAL BOLD SMALL OMICRON + 0x1D6D1: [461,18,631,20,609], // MATHEMATICAL BOLD SMALL PI + 0x1D6D2: [473,205,547,45,515], // MATHEMATICAL BOLD SMALL RHO + 0x1D6D3: [473,203,464,23,444], // MATHEMATICAL BOLD SMALL FINAL SIGMA + 0x1D6D4: [461,14,568,25,529], // MATHEMATICAL BOLD SMALL SIGMA + 0x1D6D5: [461,14,492,18,457], // MATHEMATICAL BOLD SMALL TAU + 0x1D6D6: [473,14,576,12,551], // MATHEMATICAL BOLD SMALL UPSILON + 0x1D6D7: [473,205,653,24,629], // MATHEMATICAL BOLD SMALL PHI + 0x1D6D8: [473,205,612,21,586], // MATHEMATICAL BOLD SMALL CHI + 0x1D6D9: [473,205,763,12,751], // MATHEMATICAL BOLD SMALL PSI + 0x1D6DA: [473,14,734,26,708], // MATHEMATICAL BOLD SMALL OMEGA + 0x1D6DB: [707,14,515,25,491], // MATHEMATICAL BOLD PARTIAL DIFFERENTIAL + 0x1D6DC: [473,14,444,25,430], // MATHEMATICAL BOLD EPSILON SYMBOL + 0x1D6DD: [692,14,647,12,620], // MATHEMATICAL BOLD THETA SYMBOL + 0x1D6DE: [473,19,563,12,546], // MATHEMATICAL BOLD KAPPA SYMBOL + 0x1D6DF: [676,205,653,24,629], // MATHEMATICAL BOLD PHI SYMBOL + 0x1D6E0: [473,205,511,25,486], // MATHEMATICAL BOLD RHO SYMBOL + 0x1D6E1: [461,14,864,9,851] // MATHEMATICAL BOLD PI SYMBOL + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax["HTML-CSS"].fontDir + "/General/Regular/GreekBold.js"); diff --git a/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/GreekBoldItalic.js b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/GreekBoldItalic.js new file mode 100644 index 0000000..82b0e4c --- /dev/null +++ b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/GreekBoldItalic.js @@ -0,0 +1,85 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/GreekBoldItalic.js + * + * Copyright (c) 2009-2010 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax['HTML-CSS'].FONTDATA.FONTS['STIXGeneral'], + { + 0x1D71C: [685,0,759,39,724], // MATHEMATICAL BOLD ITALIC CAPITAL ALPHA + 0x1D71D: [669,0,726,42,715], // MATHEMATICAL BOLD ITALIC CAPITAL BETA + 0x1D71E: [669,0,634,42,749], // MATHEMATICAL BOLD ITALIC CAPITAL GAMMA + 0x1D71F: [685,0,632,32,589], // MATHEMATICAL BOLD ITALIC CAPITAL DELTA + 0x1D720: [669,0,732,42,754], // MATHEMATICAL BOLD ITALIC CAPITAL EPSILON + 0x1D721: [669,0,797,66,830], // MATHEMATICAL BOLD ITALIC CAPITAL ZETA + 0x1D722: [669,0,891,42,946], // MATHEMATICAL BOLD ITALIC CAPITAL ETA + 0x1D723: [685,16,783,55,755], // MATHEMATICAL BOLD ITALIC CAPITAL THETA + 0x1D724: [669,0,502,42,557], // MATHEMATICAL BOLD ITALIC CAPITAL IOTA + 0x1D725: [669,0,795,42,839], // MATHEMATICAL BOLD ITALIC CAPITAL KAPPA + 0x1D726: [685,0,759,39,724], // MATHEMATICAL BOLD ITALIC CAPITAL LAMDA + 0x1D727: [669,0,1016,42,1071], // MATHEMATICAL BOLD ITALIC CAPITAL MU + 0x1D728: [669,0,869,42,924], // MATHEMATICAL BOLD ITALIC CAPITAL NU + 0x1D729: [669,0,718,57,757], // MATHEMATICAL BOLD ITALIC CAPITAL XI + 0x1D72A: [685,16,777,55,755], // MATHEMATICAL BOLD ITALIC CAPITAL OMICRON + 0x1D72B: [669,0,887,39,942], // MATHEMATICAL BOLD ITALIC CAPITAL PI + 0x1D72C: [669,0,612,42,733], // MATHEMATICAL BOLD ITALIC CAPITAL RHO + 0x1D72D: [685,16,783,55,755], // MATHEMATICAL BOLD ITALIC CAPITAL THETA SYMBOL + 0x1D72E: [669,0,759,64,787], // MATHEMATICAL BOLD ITALIC CAPITAL SIGMA + 0x1D72F: [669,0,568,28,700], // MATHEMATICAL BOLD ITALIC CAPITAL TAU + 0x1D730: [685,0,589,31,721], // MATHEMATICAL BOLD ITALIC CAPITAL UPSILON + 0x1D731: [669,0,827,28,799], // MATHEMATICAL BOLD ITALIC CAPITAL PHI + 0x1D732: [669,0,808,28,830], // MATHEMATICAL BOLD ITALIC CAPITAL CHI + 0x1D733: [685,0,694,30,781], // MATHEMATICAL BOLD ITALIC CAPITAL PSI + 0x1D734: [685,0,826,57,815], // MATHEMATICAL BOLD ITALIC CAPITAL OMEGA + 0x1D735: [669,16,632,43,600], // MATHEMATICAL BOLD ITALIC NABLA + 0x1D736: [461,12,624,44,630], // MATHEMATICAL BOLD ITALIC SMALL ALPHA + 0x1D737: [685,205,555,28,583], // MATHEMATICAL BOLD ITALIC SMALL BETA + 0x1D738: [462,202,490,44,503], // MATHEMATICAL BOLD ITALIC SMALL GAMMA + 0x1D739: [685,8,538,44,538], // MATHEMATICAL BOLD ITALIC SMALL DELTA + 0x1D73A: [462,10,495,28,451], // MATHEMATICAL BOLD ITALIC SMALL EPSILON + 0x1D73B: [685,203,472,44,522], // MATHEMATICAL BOLD ITALIC SMALL ZETA + 0x1D73C: [462,205,517,33,511], // MATHEMATICAL BOLD ITALIC SMALL ETA + 0x1D73D: [686,11,566,44,555], // MATHEMATICAL BOLD ITALIC SMALL THETA + 0x1D73E: [462,9,318,55,274], // MATHEMATICAL BOLD ITALIC SMALL IOTA + 0x1D73F: [462,0,560,55,577], // MATHEMATICAL BOLD ITALIC SMALL KAPPA + 0x1D740: [685,16,570,55,537], // MATHEMATICAL BOLD ITALIC SMALL LAMDA + 0x1D741: [450,205,636,33,603], // MATHEMATICAL BOLD ITALIC SMALL MU + 0x1D742: [459,10,523,55,534], // MATHEMATICAL BOLD ITALIC SMALL NU + 0x1D743: [685,203,476,28,487], // MATHEMATICAL BOLD ITALIC SMALL XI + 0x1D744: [462,10,561,44,539], // MATHEMATICAL BOLD ITALIC SMALL OMICRON + 0x1D745: [450,13,579,39,590], // MATHEMATICAL BOLD ITALIC SMALL PI + 0x1D746: [462,205,595,33,562], // MATHEMATICAL BOLD ITALIC SMALL RHO + 0x1D747: [462,203,480,39,508], // MATHEMATICAL BOLD ITALIC SMALL FINAL SIGMA + 0x1D748: [450,10,592,44,603], // MATHEMATICAL BOLD ITALIC SMALL SIGMA + 0x1D749: [450,7,469,33,502], // MATHEMATICAL BOLD ITALIC SMALL TAU + 0x1D74A: [462,10,552,33,535], // MATHEMATICAL BOLD ITALIC SMALL UPSILON + 0x1D74B: [462,205,706,55,667], // MATHEMATICAL BOLD ITALIC SMALL PHI + 0x1D74C: [462,204,621,33,676], // MATHEMATICAL BOLD ITALIC SMALL CHI + 0x1D74D: [462,205,701,33,756], // MATHEMATICAL BOLD ITALIC SMALL PSI + 0x1D74E: [462,10,687,22,665], // MATHEMATICAL BOLD ITALIC SMALL OMEGA + 0x1D74F: [686,10,559,44,559], // MATHEMATICAL BOLD ITALIC PARTIAL DIFFERENTIAL + 0x1D750: [461,10,481,44,481], // MATHEMATICAL BOLD ITALIC EPSILON SYMBOL + 0x1D751: [698,13,607,33,584], // MATHEMATICAL BOLD ITALIC THETA SYMBOL + 0x1D752: [462,15,607,-12,630], // MATHEMATICAL BOLD ITALIC KAPPA SYMBOL + 0x1D753: [685,205,683,44,655], // MATHEMATICAL BOLD ITALIC PHI SYMBOL + 0x1D754: [462,205,585,44,563], // MATHEMATICAL BOLD ITALIC RHO SYMBOL + 0x1D755: [450,10,868,33,879] // MATHEMATICAL BOLD ITALIC PI SYMBOL + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax["HTML-CSS"].fontDir + "/General/Regular/GreekBoldItalic.js"); diff --git a/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/GreekItalic.js b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/GreekItalic.js new file mode 100644 index 0000000..68ae1a7 --- /dev/null +++ b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/GreekItalic.js @@ -0,0 +1,85 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/GreekItalic.js + * + * Copyright (c) 2009-2010 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax['HTML-CSS'].FONTDATA.FONTS['STIXGeneral'], + { + 0x1D6E2: [667,0,717,35,685], // MATHEMATICAL ITALIC CAPITAL ALPHA + 0x1D6E3: [653,0,696,38,686], // MATHEMATICAL ITALIC CAPITAL BETA + 0x1D6E4: [653,0,616,38,721], // MATHEMATICAL ITALIC CAPITAL GAMMA + 0x1D6E5: [667,0,596,30,556], // MATHEMATICAL ITALIC CAPITAL DELTA + 0x1D6E6: [653,0,714,38,734], // MATHEMATICAL ITALIC CAPITAL EPSILON + 0x1D6E7: [653,0,772,60,802], // MATHEMATICAL ITALIC CAPITAL ZETA + 0x1D6E8: [653,0,873,38,923], // MATHEMATICAL ITALIC CAPITAL ETA + 0x1D6E9: [669,11,737,50,712], // MATHEMATICAL ITALIC CAPITAL THETA + 0x1D6EA: [653,0,480,38,530], // MATHEMATICAL ITALIC CAPITAL IOTA + 0x1D6EB: [653,0,762,38,802], // MATHEMATICAL ITALIC CAPITAL KAPPA + 0x1D6EC: [667,0,718,35,686], // MATHEMATICAL ITALIC CAPITAL LAMDA + 0x1D6ED: [653,0,1005,38,1055], // MATHEMATICAL ITALIC CAPITAL MU + 0x1D6EE: [653,0,851,38,901], // MATHEMATICAL ITALIC CAPITAL NU + 0x1D6EF: [653,0,706,52,741], // MATHEMATICAL ITALIC CAPITAL XI + 0x1D6F0: [669,11,732,50,712], // MATHEMATICAL ITALIC CAPITAL OMICRON + 0x1D6F1: [653,0,873,38,923], // MATHEMATICAL ITALIC CAPITAL PI + 0x1D6F2: [653,0,594,38,704], // MATHEMATICAL ITALIC CAPITAL RHO + 0x1D6F3: [669,11,737,50,712], // MATHEMATICAL ITALIC CAPITAL THETA SYMBOL + 0x1D6F4: [653,0,735,58,760], // MATHEMATICAL ITALIC CAPITAL SIGMA + 0x1D6F5: [653,0,550,25,670], // MATHEMATICAL ITALIC CAPITAL TAU + 0x1D6F6: [668,0,567,28,687], // MATHEMATICAL ITALIC CAPITAL UPSILON + 0x1D6F7: [653,0,772,25,747], // MATHEMATICAL ITALIC CAPITAL PHI + 0x1D6F8: [653,0,790,25,810], // MATHEMATICAL ITALIC CAPITAL CHI + 0x1D6F9: [667,0,670,28,743], // MATHEMATICAL ITALIC CAPITAL PSI + 0x1D6FA: [666,0,800,32,777], // MATHEMATICAL ITALIC CAPITAL OMEGA + 0x1D6FB: [653,15,627,42,600], // MATHEMATICAL ITALIC NABLA + 0x1D6FC: [441,10,524,40,529], // MATHEMATICAL ITALIC SMALL ALPHA + 0x1D6FD: [668,183,493,25,518], // MATHEMATICAL ITALIC SMALL BETA + 0x1D6FE: [441,187,428,35,458], // MATHEMATICAL ITALIC SMALL GAMMA + 0x1D6FF: [668,11,463,40,451], // MATHEMATICAL ITALIC SMALL DELTA + 0x1D700: [441,11,484,25,444], // MATHEMATICAL ITALIC SMALL EPSILON + 0x1D701: [668,183,435,40,480], // MATHEMATICAL ITALIC SMALL ZETA + 0x1D702: [441,183,460,30,455], // MATHEMATICAL ITALIC SMALL ETA + 0x1D703: [668,11,484,40,474], // MATHEMATICAL ITALIC SMALL THETA + 0x1D704: [441,11,267,50,227], // MATHEMATICAL ITALIC SMALL IOTA + 0x1D705: [441,0,534,50,549], // MATHEMATICAL ITALIC SMALL KAPPA + 0x1D706: [668,16,541,50,511], // MATHEMATICAL ITALIC SMALL LAMDA + 0x1D707: [428,183,579,30,549], // MATHEMATICAL ITALIC SMALL MU + 0x1D708: [446,9,452,50,462], // MATHEMATICAL ITALIC SMALL NU + 0x1D709: [668,183,433,25,443], // MATHEMATICAL ITALIC SMALL XI + 0x1D70A: [441,11,458,40,438], // MATHEMATICAL ITALIC SMALL OMICRON + 0x1D70B: [428,13,558,35,568], // MATHEMATICAL ITALIC SMALL PI + 0x1D70C: [441,183,502,30,472], // MATHEMATICAL ITALIC SMALL RHO + 0x1D70D: [490,183,439,35,464], // MATHEMATICAL ITALIC SMALL FINAL SIGMA + 0x1D70E: [428,11,537,40,547], // MATHEMATICAL ITALIC SMALL SIGMA + 0x1D70F: [428,5,442,30,472], // MATHEMATICAL ITALIC SMALL TAU + 0x1D710: [439,11,460,30,445], // MATHEMATICAL ITALIC SMALL UPSILON + 0x1D711: [441,183,666,50,631], // MATHEMATICAL ITALIC SMALL PHI + 0x1D712: [441,202,595,30,645], // MATHEMATICAL ITALIC SMALL CHI + 0x1D713: [441,183,661,30,711], // MATHEMATICAL ITALIC SMALL PSI + 0x1D714: [441,11,681,20,661], // MATHEMATICAL ITALIC SMALL OMEGA + 0x1D715: [668,11,471,40,471], // MATHEMATICAL ITALIC PARTIAL DIFFERENTIAL + 0x1D716: [441,11,430,40,430], // MATHEMATICAL ITALIC EPSILON SYMBOL + 0x1D717: [678,10,554,20,507], // MATHEMATICAL ITALIC THETA SYMBOL + 0x1D718: [441,13,561,12,587], // MATHEMATICAL ITALIC KAPPA SYMBOL + 0x1D719: [668,183,645,40,620], // MATHEMATICAL ITALIC PHI SYMBOL + 0x1D71A: [441,187,509,40,489], // MATHEMATICAL ITALIC RHO SYMBOL + 0x1D71B: [428,11,856,30,866] // MATHEMATICAL ITALIC PI SYMBOL + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax["HTML-CSS"].fontDir + "/General/Regular/GreekItalic.js"); diff --git a/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/GreekSSBold.js b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/GreekSSBold.js new file mode 100644 index 0000000..8307e1c --- /dev/null +++ b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/GreekSSBold.js @@ -0,0 +1,85 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/GreekSSBold.js + * + * Copyright (c) 2009-2010 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax['HTML-CSS'].FONTDATA.FONTS['STIXGeneral'], + { + 0x1D756: [690,0,690,25,665], // MATHEMATICAL SANS-SERIF BOLD CAPITAL ALPHA + 0x1D757: [676,0,636,80,594], // MATHEMATICAL SANS-SERIF BOLD CAPITAL BETA + 0x1D758: [676,0,591,80,569], // MATHEMATICAL SANS-SERIF BOLD CAPITAL GAMMA + 0x1D759: [690,0,720,40,680], // MATHEMATICAL SANS-SERIF BOLD CAPITAL DELTA + 0x1D75A: [676,0,635,80,597], // MATHEMATICAL SANS-SERIF BOLD CAPITAL EPSILON + 0x1D75B: [676,0,653,25,623], // MATHEMATICAL SANS-SERIF BOLD CAPITAL ZETA + 0x1D75C: [676,0,715,80,635], // MATHEMATICAL SANS-SERIF BOLD CAPITAL ETA + 0x1D75D: [691,19,778,35,743], // MATHEMATICAL SANS-SERIF BOLD CAPITAL THETA + 0x1D75E: [676,0,440,65,375], // MATHEMATICAL SANS-SERIF BOLD CAPITAL IOTA + 0x1D75F: [676,0,712,80,707], // MATHEMATICAL SANS-SERIF BOLD CAPITAL KAPPA + 0x1D760: [690,0,706,40,666], // MATHEMATICAL SANS-SERIF BOLD CAPITAL LAMDA + 0x1D761: [676,0,913,80,833], // MATHEMATICAL SANS-SERIF BOLD CAPITAL MU + 0x1D762: [676,18,724,80,644], // MATHEMATICAL SANS-SERIF BOLD CAPITAL NU + 0x1D763: [676,0,640,35,605], // MATHEMATICAL SANS-SERIF BOLD CAPITAL XI + 0x1D764: [692,18,778,35,743], // MATHEMATICAL SANS-SERIF BOLD CAPITAL OMICRON + 0x1D765: [676,0,715,80,635], // MATHEMATICAL SANS-SERIF BOLD CAPITAL PI + 0x1D766: [676,0,581,80,569], // MATHEMATICAL SANS-SERIF BOLD CAPITAL RHO + 0x1D767: [691,19,778,35,743], // MATHEMATICAL SANS-SERIF BOLD CAPITAL THETA SYMBOL + 0x1D768: [676,0,674,28,632], // MATHEMATICAL SANS-SERIF BOLD CAPITAL SIGMA + 0x1D769: [676,0,641,14,627], // MATHEMATICAL SANS-SERIF BOLD CAPITAL TAU + 0x1D76A: [691,0,748,20,728], // MATHEMATICAL SANS-SERIF BOLD CAPITAL UPSILON + 0x1D76B: [676,0,800,25,775], // MATHEMATICAL SANS-SERIF BOLD CAPITAL PHI + 0x1D76C: [676,0,740,40,700], // MATHEMATICAL SANS-SERIF BOLD CAPITAL CHI + 0x1D76D: [691,0,806,15,791], // MATHEMATICAL SANS-SERIF BOLD CAPITAL PSI + 0x1D76E: [691,0,752,32,720], // MATHEMATICAL SANS-SERIF BOLD CAPITAL OMEGA + 0x1D76F: [664,30,735,45,685], // MATHEMATICAL SANS-SERIF BOLD NABLA + 0x1D770: [473,14,662,40,629], // MATHEMATICAL SANS-SERIF BOLD SMALL ALPHA + 0x1D771: [692,205,512,39,487], // MATHEMATICAL SANS-SERIF BOLD SMALL BETA + 0x1D772: [473,205,502,10,477], // MATHEMATICAL SANS-SERIF BOLD SMALL GAMMA + 0x1D773: [692,14,502,25,477], // MATHEMATICAL SANS-SERIF BOLD SMALL DELTA + 0x1D774: [473,14,451,25,434], // MATHEMATICAL SANS-SERIF BOLD SMALL EPSILON + 0x1D775: [692,205,500,28,488], // MATHEMATICAL SANS-SERIF BOLD SMALL ZETA + 0x1D776: [473,205,510,35,474], // MATHEMATICAL SANS-SERIF BOLD SMALL ETA + 0x1D777: [692,14,500,23,477], // MATHEMATICAL SANS-SERIF BOLD SMALL THETA + 0x1D778: [461,14,319,53,296], // MATHEMATICAL SANS-SERIF BOLD SMALL IOTA + 0x1D779: [473,0,527,55,512], // MATHEMATICAL SANS-SERIF BOLD SMALL KAPPA + 0x1D77A: [692,14,554,18,520], // MATHEMATICAL SANS-SERIF BOLD SMALL LAMDA + 0x1D77B: [461,205,550,39,517], // MATHEMATICAL SANS-SERIF BOLD SMALL MU + 0x1D77C: [473,14,492,55,472], // MATHEMATICAL SANS-SERIF BOLD SMALL NU + 0x1D77D: [692,205,501,28,489], // MATHEMATICAL SANS-SERIF BOLD SMALL XI + 0x1D77E: [473,14,501,25,476], // MATHEMATICAL SANS-SERIF BOLD SMALL OMICRON + 0x1D77F: [461,14,594,10,572], // MATHEMATICAL SANS-SERIF BOLD SMALL PI + 0x1D780: [473,205,511,38,486], // MATHEMATICAL SANS-SERIF BOLD SMALL RHO + 0x1D781: [473,205,498,26,486], // MATHEMATICAL SANS-SERIF BOLD SMALL FINAL SIGMA + 0x1D782: [461,14,520,25,552], // MATHEMATICAL SANS-SERIF BOLD SMALL SIGMA + 0x1D783: [461,14,479,6,472], // MATHEMATICAL SANS-SERIF BOLD SMALL TAU + 0x1D784: [473,14,514,35,489], // MATHEMATICAL SANS-SERIF BOLD SMALL UPSILON + 0x1D785: [473,205,634,25,609], // MATHEMATICAL SANS-SERIF BOLD SMALL PHI + 0x1D786: [473,205,573,9,553], // MATHEMATICAL SANS-SERIF BOLD SMALL CHI + 0x1D787: [473,205,680,25,699], // MATHEMATICAL SANS-SERIF BOLD SMALL PSI + 0x1D788: [461,14,740,42,689], // MATHEMATICAL SANS-SERIF BOLD SMALL OMEGA + 0x1D789: [691,14,501,25,476], // MATHEMATICAL SANS-SERIF BOLD PARTIAL DIFFERENTIAL + 0x1D78A: [473,14,462,25,440], // MATHEMATICAL SANS-SERIF BOLD EPSILON SYMBOL + 0x1D78B: [692,14,536,35,522], // MATHEMATICAL SANS-SERIF BOLD THETA SYMBOL + 0x1D78C: [473,14,570,14,554], // MATHEMATICAL SANS-SERIF BOLD KAPPA SYMBOL + 0x1D78D: [692,205,634,25,609], // MATHEMATICAL SANS-SERIF BOLD PHI SYMBOL + 0x1D78E: [473,205,494,25,469], // MATHEMATICAL SANS-SERIF BOLD RHO SYMBOL + 0x1D78F: [461,14,848,6,839] // MATHEMATICAL SANS-SERIF BOLD PI SYMBOL + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax["HTML-CSS"].fontDir + "/General/Regular/GreekSSBold.js"); diff --git a/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/GreekSSBoldItalic.js b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/GreekSSBoldItalic.js new file mode 100644 index 0000000..495d393 --- /dev/null +++ b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/GreekSSBoldItalic.js @@ -0,0 +1,85 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/GreekSSBoldItalic.js + * + * Copyright (c) 2009-2010 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax['HTML-CSS'].FONTDATA.FONTS['STIXGeneral'], + { + 0x1D790: [690,0,690,25,665], // MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL ALPHA + 0x1D791: [676,0,706,60,671], // MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL BETA + 0x1D792: [676,0,602,60,705], // MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL GAMMA + 0x1D793: [690,0,720,40,680], // MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL DELTA + 0x1D794: [676,0,683,60,708], // MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL EPSILON + 0x1D795: [676,0,707,25,769], // MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL ZETA + 0x1D796: [676,0,748,60,783], // MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL ETA + 0x1D797: [691,19,847,90,822], // MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL THETA + 0x1D798: [676,0,435,50,505], // MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL IOTA + 0x1D799: [676,0,712,60,796], // MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL KAPPA + 0x1D79A: [690,0,686,20,646], // MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL LAMDA + 0x1D79B: [676,0,933,60,981], // MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL MU + 0x1D79C: [676,18,744,60,792], // MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL NU + 0x1D79D: [676,0,690,47,737], // MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL XI + 0x1D79E: [692,18,849,90,824], // MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL OMICRON + 0x1D79F: [676,0,745,60,783], // MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL PI + 0x1D7A0: [676,0,581,60,675], // MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL RHO + 0x1D7A1: [691,19,847,90,822], // MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL THETA SYMBOL + 0x1D7A2: [676,0,696,21,748], // MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL SIGMA + 0x1D7A3: [676,0,641,87,715], // MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL TAU + 0x1D7A4: [691,0,671,91,799], // MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL UPSILON + 0x1D7A5: [676,0,835,72,835], // MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL PHI + 0x1D7A6: [676,0,740,20,833], // MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL CHI + 0x1D7A7: [691,0,791,125,901], // MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL PSI + 0x1D7A8: [691,0,816,47,816], // MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL OMEGA + 0x1D7A9: [664,30,780,120,760], // MATHEMATICAL SANS-SERIF BOLD ITALIC NABLA + 0x1D7AA: [473,14,678,47,703], // MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL ALPHA + 0x1D7AB: [692,205,552,-12,581], // MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL BETA + 0x1D7AC: [473,204,525,84,571], // MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL GAMMA + 0x1D7AD: [692,14,507,30,547], // MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL DELTA + 0x1D7AE: [473,14,504,45,508], // MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL EPSILON + 0x1D7AF: [692,205,480,49,539], // MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL ZETA + 0x1D7B0: [473,205,532,38,525], // MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL ETA + 0x1D7B1: [692,14,560,65,553], // MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL THETA + 0x1D7B2: [462,14,325,56,302], // MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL IOTA + 0x1D7B3: [473,0,537,38,582], // MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL KAPPA + 0x1D7B4: [692,14,574,18,540], // MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL LAMDA + 0x1D7B5: [462,205,594,-12,569], // MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL MU + 0x1D7B6: [473,14,525,41,565], // MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL NU + 0x1D7B7: [692,205,481,43,525], // MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL XI + 0x1D7B8: [473,14,543,45,515], // MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL OMICRON + 0x1D7B9: [462,14,632,45,656], // MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL PI + 0x1D7BA: [473,205,560,-33,536], // MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL RHO + 0x1D7BB: [473,205,517,52,554], // MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL FINAL SIGMA + 0x1D7BC: [462,14,614,45,639], // MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL SIGMA + 0x1D7BD: [462,14,523,42,547], // MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL TAU + 0x1D7BE: [473,14,550,61,526], // MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL UPSILON + 0x1D7BF: [473,205,683,55,659], // MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL PHI + 0x1D7C0: [473,205,575,-80,626], // MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL CHI + 0x1D7C1: [473,205,703,75,751], // MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL PSI + 0x1D7C2: [461,14,756,64,732], // MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL OMEGA + 0x1D7C3: [691,14,548,45,539], // MATHEMATICAL SANS-SERIF BOLD ITALIC PARTIAL DIFFERENTIAL + 0x1D7C4: [473,14,468,45,470], // MATHEMATICAL SANS-SERIF BOLD ITALIC EPSILON SYMBOL + 0x1D7C5: [692,14,579,54,579], // MATHEMATICAL SANS-SERIF BOLD ITALIC THETA SYMBOL + 0x1D7C6: [473,10,646,-10,665], // MATHEMATICAL SANS-SERIF BOLD ITALIC KAPPA SYMBOL + 0x1D7C7: [692,205,678,48,654], // MATHEMATICAL SANS-SERIF BOLD ITALIC PHI SYMBOL + 0x1D7C8: [473,205,544,38,520], // MATHEMATICAL SANS-SERIF BOLD ITALIC RHO SYMBOL + 0x1D7C9: [462,14,889,40,912] // MATHEMATICAL SANS-SERIF BOLD ITALIC PI SYMBOL + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax["HTML-CSS"].fontDir + "/General/Regular/GreekSSBoldItalic.js"); diff --git a/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/Hiragana.js b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/Hiragana.js new file mode 100644 index 0000000..1905b14 --- /dev/null +++ b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/Hiragana.js @@ -0,0 +1,28 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/Hiragana.js + * + * Copyright (c) 2009-2010 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax['HTML-CSS'].FONTDATA.FONTS['STIXGeneral'], + { + 0x306E: [661,41,901,37,840] // HIRAGANA LETTER NO + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax["HTML-CSS"].fontDir + "/General/Regular/Hiragana.js"); diff --git a/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/IPAExtensions.js b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/IPAExtensions.js new file mode 100644 index 0000000..6e7da62 --- /dev/null +++ b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/IPAExtensions.js @@ -0,0 +1,118 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/IPAExtensions.js + * + * Copyright (c) 2009-2010 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax['HTML-CSS'].FONTDATA.FONTS['STIXGeneral'], + { + 0x250: [460,10,444,8,413], // ?? + 0x251: [460,10,500,27,491], // ?? + 0x252: [460,10,500,27,491], // ?? + 0x253: [683,10,500,69,468], // ?? + 0x254: [459,11,444,10,397], // ?? + 0x255: [460,160,444,25,417], // ?? + 0x256: [683,233,553,27,599], // ?? + 0x257: [683,10,587,27,602], // ?? + 0x258: [460,10,444,20,419], // ?? + 0x259: [460,10,444,14,413], // ?? + 0x25A: [460,13,657,36,651], // ?? + 0x25B: [475,14,438,20,389], // ?? + 0x25C: [475,14,438,20,389], // ?? + 0x25D: [475,14,623,20,603], // ?? + 0x25E: [475,14,479,20,430], // ?? + 0x25F: [460,218,315,-49,296], // ?? + 0x260: [683,212,594,32,634], // ?? + 0x261: [482,212,537,32,455], // ?? + 0x262: [450,11,570,30,539], // ?? + 0x263: [450,234,500,19,480], // ?? + 0x264: [450,10,500,13,486], // ?? + 0x265: [450,233,500,13,491], // ?? + 0x266: [683,0,500,9,487], // ?? + 0x267: [683,233,481,9,427], // ?? + 0x268: [683,0,278,16,253], // ?? + 0x269: [454,10,333,17,311], // ?? + 0x26A: [450,0,258,21,231], // ?? + 0x26B: [683,0,350,10,340], // ?? + 0x26C: [683,0,375,12,362], // ?? + 0x26D: [683,233,302,10,352], // ?? + 0x26E: [683,233,549,19,538], // ?? + 0x26F: [450,10,778,11,770], // ?? + 0x270: [450,233,803,11,785], // ?? + 0x271: [460,233,778,16,706], // ?? + 0x272: [460,233,529,-70,514], // ?? + 0x273: [460,233,533,16,603], // ?? + 0x274: [450,8,602,29,561], // ?? + 0x275: [460,10,500,29,470], // ?? + 0x276: [450,6,720,23,697], // ?? + 0x277: [475,4,667,37,629], // ?? + 0x278: [683,233,667,40,626], // ?? + 0x279: [450,10,370,30,360], // ?? + 0x27A: [683,10,370,30,364], // ?? + 0x27B: [450,233,418,30,468], // ?? + 0x27C: [460,233,333,5,335], // ?? + 0x27D: [460,233,370,7,339], // ?? + 0x27E: [470,0,315,10,337], // ?? + 0x27F: [470,0,350,5,332], // ?? + 0x280: [464,0,475,21,470], // ?? + 0x281: [464,0,475,21,470], // ?? + 0x282: [458,218,389,50,348], // ?? + 0x283: [683,233,322,-70,372], // ?? + 0x284: [683,218,304,-70,372], // ?? + 0x285: [470,233,400,15,457], // ?? + 0x286: [683,243,437,-23,422], // ?? + 0x287: [460,129,278,16,282], // ?? + 0x288: [579,233,270,13,283], // ?? + 0x289: [450,10,500,9,480], // ?? + 0x28A: [450,10,537,46,490], // ?? + 0x28B: [460,10,500,32,476], // ?? + 0x28C: [464,0,500,-4,454], // ?? + 0x28D: [464,0,722,21,694], // ?? + 0x28E: [668,0,444,-2,459], // ?? + 0x28F: [464,0,587,23,564], // ?? + 0x290: [450,218,528,27,569], // ?? + 0x291: [450,150,507,27,487], // ?? + 0x292: [450,233,413,12,392], // ?? + 0x293: [450,305,431,12,410], // ?? + 0x294: [683,0,450,47,400], // ?? + 0x295: [683,0,450,48,401], // ?? + 0x296: [662,14,450,47,400], // ?? + 0x297: [460,230,450,80,410], // ?? + 0x298: [679,17,723,33,690], // ?? + 0x299: [464,0,460,15,444], // ?? + 0x29A: [475,14,479,20,430], // ?? + 0x29B: [523,11,600,29,583], // ?? + 0x29C: [464,0,572,21,560], // ?? + 0x29D: [683,233,387,-23,412], // ?? + 0x29E: [450,233,519,1,499], // ?? + 0x29F: [464,0,470,21,441], // ?? + 0x2A0: [582,217,600,24,590], // ?? + 0x2A1: [683,0,450,48,401], // ?? + 0x2A2: [683,0,450,48,401], // ?? + 0x2A3: [683,10,802,27,775], // ?? + 0x2A4: [683,233,743,27,722], // ?? + 0x2A5: [683,160,864,27,844], // ?? + 0x2A6: [579,10,536,13,495], // ?? + 0x2A7: [683,233,483,13,540], // ?? + 0x2A8: [579,10,650,13,641], // ?? + 0x2AE: [469,232,619,15,612], // ?? + 0x2AF: [469,233,679,15,729] // ?? + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax["HTML-CSS"].fontDir + "/General/Regular/IPAExtensions.js"); diff --git a/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/Latin1Supplement.js b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/Latin1Supplement.js new file mode 100644 index 0000000..618716c --- /dev/null +++ b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/Latin1Supplement.js @@ -0,0 +1,115 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/Latin1Supplement.js + * + * Copyright (c) 2009-2010 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax['HTML-CSS'].FONTDATA.FONTS['STIXGeneral'], + { + 0xA1: [468,218,330,96,202], // INVERTED EXCLAMATION MARK + 0xA2: [579,138,500,53,448], // CENT SIGN + 0xA3: [676,8,500,12,490], // POUND SIGN + 0xA4: [534,10,500,-22,522], // CURRENCY SIGN + 0xA5: [662,0,500,-53,512], // YEN SIGN + 0xA6: [676,14,200,67,133], // BROKEN BAR + 0xA7: [676,148,500,70,426], // SECTION SIGN + 0xA9: [676,14,760,38,722], // COPYRIGHT SIGN + 0xAA: [676,-394,276,4,270], // FEMININE ORDINAL INDICATOR + 0xAB: [416,-33,500,42,456], // LEFT-POINTING DOUBLE ANGLE QUOTATION MARK + 0xAD: [257,-194,333,39,285], // SOFT HYPHEN + 0xAE: [676,14,760,38,722], // REGISTERED SIGN + 0xB0: [676,-390,400,57,343], // DEGREE SIGN + 0xB2: [676,-270,300,1,296], // SUPERSCRIPT TWO + 0xB3: [676,-262,300,13,291], // SUPERSCRIPT THREE + 0xB4: [678,-507,333,93,317], // ACUTE ACCENT + 0xB5: [450,218,500,36,512], // MICRO SIGN + 0xB6: [662,154,592,60,532], // PILCROW SIGN + 0xB8: [0,215,333,52,261], // CEDILLA + 0xB9: [676,-270,300,57,248], // SUPERSCRIPT ONE + 0xBA: [676,-394,310,6,304], // MASCULINE ORDINAL INDICATOR + 0xBB: [416,-33,500,43,458], // RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK + 0xBC: [676,14,750,42,713], // VULGAR FRACTION ONE QUARTER + 0xBD: [676,14,750,36,741], // VULGAR FRACTION ONE HALF + 0xBE: [676,14,750,13,718], // VULGAR FRACTION THREE QUARTERS + 0xBF: [467,218,444,30,376], // INVERTED QUESTION MARK + 0xC0: [928,0,722,15,707], // LATIN CAPITAL LETTER A WITH GRAVE + 0xC1: [928,0,722,15,707], // LATIN CAPITAL LETTER A WITH ACUTE + 0xC2: [924,0,722,15,707], // LATIN CAPITAL LETTER A WITH CIRCUMFLEX + 0xC3: [888,0,722,15,707], // LATIN CAPITAL LETTER A WITH TILDE + 0xC4: [872,0,722,15,707], // LATIN CAPITAL LETTER A WITH DIAERESIS + 0xC5: [961,0,722,15,707], // LATIN CAPITAL LETTER A WITH RING ABOVE + 0xC6: [662,0,889,0,863], // LATIN CAPITAL LETTER AE + 0xC7: [676,215,667,28,633], // LATIN CAPITAL LETTER C WITH CEDILLA + 0xC8: [928,0,611,12,597], // LATIN CAPITAL LETTER E WITH GRAVE + 0xC9: [928,0,611,12,597], // LATIN CAPITAL LETTER E WITH ACUTE + 0xCA: [924,0,611,12,597], // LATIN CAPITAL LETTER E WITH CIRCUMFLEX + 0xCB: [872,0,611,12,597], // LATIN CAPITAL LETTER E WITH DIAERESIS + 0xCC: [928,0,333,18,315], // LATIN CAPITAL LETTER I WITH GRAVE + 0xCD: [928,0,333,18,315], // LATIN CAPITAL LETTER I WITH ACUTE + 0xCE: [924,0,333,10,321], // LATIN CAPITAL LETTER I WITH CIRCUMFLEX + 0xCF: [872,0,333,17,315], // LATIN CAPITAL LETTER I WITH DIAERESIS + 0xD0: [662,0,722,16,685], // LATIN CAPITAL LETTER ETH + 0xD1: [888,11,722,12,707], // LATIN CAPITAL LETTER N WITH TILDE + 0xD2: [928,14,722,34,688], // LATIN CAPITAL LETTER O WITH GRAVE + 0xD3: [928,14,722,34,688], // LATIN CAPITAL LETTER O WITH ACUTE + 0xD4: [924,14,722,34,688], // LATIN CAPITAL LETTER O WITH CIRCUMFLEX + 0xD5: [888,14,722,34,688], // LATIN CAPITAL LETTER O WITH TILDE + 0xD6: [872,14,722,34,688], // LATIN CAPITAL LETTER O WITH DIAERESIS + 0xD8: [734,80,722,34,688], // LATIN CAPITAL LETTER O WITH STROKE + 0xD9: [928,14,722,14,705], // LATIN CAPITAL LETTER U WITH GRAVE + 0xDA: [928,14,722,14,705], // LATIN CAPITAL LETTER U WITH ACUTE + 0xDB: [924,14,722,14,705], // LATIN CAPITAL LETTER U WITH CIRCUMFLEX + 0xDC: [872,14,722,14,705], // LATIN CAPITAL LETTER U WITH DIAERESIS + 0xDD: [928,0,722,22,703], // LATIN CAPITAL LETTER Y WITH ACUTE + 0xDE: [662,0,556,16,542], // LATIN CAPITAL LETTER THORN + 0xDF: [683,9,500,12,468], // LATIN SMALL LETTER SHARP S + 0xE0: [678,10,444,37,442], // LATIN SMALL LETTER A WITH GRAVE + 0xE1: [678,10,444,37,442], // LATIN SMALL LETTER A WITH ACUTE + 0xE2: [674,10,444,37,442], // LATIN SMALL LETTER A WITH CIRCUMFLEX + 0xE3: [638,10,444,37,442], // LATIN SMALL LETTER A WITH TILDE + 0xE4: [622,10,444,37,442], // LATIN SMALL LETTER A WITH DIAERESIS + 0xE5: [713,10,444,37,442], // LATIN SMALL LETTER A WITH RING ABOVE + 0xE6: [460,7,667,38,632], // LATIN SMALL LETTER AE + 0xE7: [460,215,444,25,412], // LATIN SMALL LETTER C WITH CEDILLA + 0xE8: [678,10,444,25,424], // LATIN SMALL LETTER E WITH GRAVE + 0xE9: [678,10,444,25,424], // LATIN SMALL LETTER E WITH ACUTE + 0xEA: [674,10,444,25,424], // LATIN SMALL LETTER E WITH CIRCUMFLEX + 0xEB: [622,10,444,25,424], // LATIN SMALL LETTER E WITH DIAERESIS + 0xEC: [678,0,278,6,243], // LATIN SMALL LETTER I WITH GRAVE + 0xED: [678,0,278,16,273], // LATIN SMALL LETTER I WITH ACUTE + 0xEE: [674,0,278,-17,294], // LATIN SMALL LETTER I WITH CIRCUMFLEX + 0xEF: [622,0,278,-10,288], // LATIN SMALL LETTER I WITH DIAERESIS + 0xF0: [686,10,500,29,471], // LATIN SMALL LETTER ETH + 0xF1: [638,0,500,16,485], // LATIN SMALL LETTER N WITH TILDE + 0xF2: [678,10,500,29,470], // LATIN SMALL LETTER O WITH GRAVE + 0xF3: [678,10,500,29,470], // LATIN SMALL LETTER O WITH ACUTE + 0xF4: [674,10,500,29,470], // LATIN SMALL LETTER O WITH CIRCUMFLEX + 0xF5: [638,10,500,29,470], // LATIN SMALL LETTER O WITH TILDE + 0xF6: [622,10,500,29,470], // LATIN SMALL LETTER O WITH DIAERESIS + 0xF8: [551,112,500,29,470], // LATIN SMALL LETTER O WITH STROKE + 0xF9: [678,10,500,9,480], // LATIN SMALL LETTER U WITH GRAVE + 0xFA: [678,10,500,9,480], // LATIN SMALL LETTER U WITH ACUTE + 0xFB: [674,10,500,9,480], // LATIN SMALL LETTER U WITH CIRCUMFLEX + 0xFC: [622,10,500,9,480], // LATIN SMALL LETTER U WITH DIAERESIS + 0xFD: [678,218,500,14,475], // LATIN SMALL LETTER Y WITH ACUTE + 0xFE: [683,217,500,5,470], // LATIN SMALL LETTER THORN + 0xFF: [622,218,500,14,475] // LATIN SMALL LETTER Y WITH DIAERESIS + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax["HTML-CSS"].fontDir + "/General/Regular/Latin1Supplement.js"); diff --git a/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/LatinExtendedA.js b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/LatinExtendedA.js new file mode 100644 index 0000000..4b4b9a1 --- /dev/null +++ b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/LatinExtendedA.js @@ -0,0 +1,154 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/LatinExtendedA.js + * + * Copyright (c) 2009-2010 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax['HTML-CSS'].FONTDATA.FONTS['STIXGeneral'], + { + 0x100: [773,0,722,15,707], // LATIN CAPITAL LETTER A WITH MACRON + 0x101: [561,10,444,37,442], // LATIN SMALL LETTER A WITH MACRON + 0x102: [876,0,722,15,707], // LATIN CAPITAL LETTER A WITH BREVE + 0x103: [664,10,444,37,442], // LATIN SMALL LETTER A WITH BREVE + 0x104: [674,165,722,15,707], // LATIN CAPITAL LETTER A WITH OGONEK + 0x105: [460,165,444,37,472], // LATIN SMALL LETTER A WITH OGONEK + 0x106: [890,14,667,28,633], // LATIN CAPITAL LETTER C WITH ACUTE + 0x107: [678,10,444,25,412], // LATIN SMALL LETTER C WITH ACUTE + 0x108: [886,14,667,28,633], // LATIN CAPITAL LETTER C WITH CIRCUMFLEX + 0x109: [674,10,444,25,412], // LATIN SMALL LETTER C WITH CIRCUMFLEX + 0x10A: [834,14,667,28,633], // LATIN CAPITAL LETTER C WITH DOT ABOVE + 0x10B: [622,10,444,25,412], // LATIN SMALL LETTER C WITH DOT ABOVE + 0x10C: [886,14,667,28,633], // LATIN CAPITAL LETTER C WITH CARON + 0x10D: [674,10,444,25,412], // LATIN SMALL LETTER C WITH CARON + 0x10E: [886,0,722,16,685], // LATIN CAPITAL LETTER D WITH CARON + 0x10F: [701,10,586,27,604], // LATIN SMALL LETTER D WITH CARON + 0x110: [662,0,722,16,685], // LATIN CAPITAL LETTER D WITH STROKE + 0x111: [683,10,500,27,507], // LATIN SMALL LETTER D WITH STROKE + 0x112: [773,0,611,12,597], // LATIN CAPITAL LETTER E WITH MACRON + 0x113: [561,10,444,25,424], // LATIN SMALL LETTER E WITH MACRON + 0x114: [876,0,611,12,597], // LATIN CAPITAL LETTER E WITH BREVE + 0x115: [664,10,444,25,424], // LATIN SMALL LETTER E WITH BREVE + 0x116: [834,0,611,12,597], // LATIN CAPITAL LETTER E WITH DOT ABOVE + 0x117: [622,10,444,25,424], // LATIN SMALL LETTER E WITH DOT ABOVE + 0x118: [662,165,611,12,597], // LATIN CAPITAL LETTER E WITH OGONEK + 0x119: [460,165,444,25,424], // LATIN SMALL LETTER E WITH OGONEK + 0x11A: [886,0,611,12,597], // LATIN CAPITAL LETTER E WITH CARON + 0x11B: [674,10,444,25,424], // LATIN SMALL LETTER E WITH CARON + 0x11C: [886,14,722,32,709], // LATIN CAPITAL LETTER G WITH CIRCUMFLEX + 0x11D: [674,218,500,28,470], // LATIN SMALL LETTER G WITH CIRCUMFLEX + 0x11E: [876,14,722,32,709], // LATIN CAPITAL LETTER G WITH BREVE + 0x11F: [664,218,500,28,470], // LATIN SMALL LETTER G WITH BREVE + 0x120: [834,14,722,32,709], // LATIN CAPITAL LETTER G WITH DOT ABOVE + 0x121: [622,218,500,28,470], // LATIN SMALL LETTER G WITH DOT ABOVE + 0x122: [676,280,722,32,709], // LATIN CAPITAL LETTER G WITH CEDILLA + 0x123: [766,218,500,28,470], // LATIN SMALL LETTER G WITH CEDILLA + 0x124: [886,0,722,18,703], // LATIN CAPITAL LETTER H WITH CIRCUMFLEX + 0x125: [886,0,500,9,487], // LATIN SMALL LETTER H WITH CIRCUMFLEX + 0x126: [662,0,723,17,702], // LATIN CAPITAL LETTER H WITH STROKE + 0x127: [683,0,500,8,487], // LATIN SMALL LETTER H WITH STROKE + 0x128: [850,0,333,1,331], // LATIN CAPITAL LETTER I WITH TILDE + 0x129: [638,0,278,-25,305], // LATIN SMALL LETTER I WITH TILDE + 0x12A: [773,0,333,11,322], // LATIN CAPITAL LETTER I WITH MACRON + 0x12B: [561,0,278,-21,290], // LATIN SMALL LETTER I WITH MACRON + 0x12C: [876,0,333,18,315], // LATIN CAPITAL LETTER I WITH BREVE + 0x12D: [664,0,278,-1,280], // LATIN SMALL LETTER I WITH BREVE + 0x12E: [662,165,333,18,315], // LATIN CAPITAL LETTER I WITH OGONEK + 0x12F: [683,165,278,16,277], // LATIN SMALL LETTER I WITH OGONEK + 0x130: [834,0,333,18,315], // LATIN CAPITAL LETTER I WITH DOT ABOVE + 0x132: [662,14,747,18,728], // LATIN CAPITAL LIGATURE IJ + 0x133: [683,218,538,16,454], // LATIN SMALL LIGATURE IJ + 0x134: [886,14,373,-6,367], // LATIN CAPITAL LETTER J WITH CIRCUMFLEX + 0x135: [674,218,278,-70,295], // LATIN SMALL LETTER J WITH CIRCUMFLEX + 0x136: [662,280,722,33,723], // LATIN CAPITAL LETTER K WITH CEDILLA + 0x137: [683,280,500,7,505], // LATIN SMALL LETTER K WITH CEDILLA + 0x138: [459,0,542,5,532], // LATIN SMALL LETTER KRA + 0x139: [890,0,611,12,598], // LATIN CAPITAL LETTER L WITH ACUTE + 0x13A: [890,0,278,19,257], // LATIN SMALL LETTER L WITH ACUTE + 0x13B: [662,280,611,12,598], // LATIN CAPITAL LETTER L WITH CEDILLA + 0x13C: [683,280,278,19,257], // LATIN SMALL LETTER L WITH CEDILLA + 0x13D: [683,0,611,12,598], // LATIN CAPITAL LETTER L WITH CARON + 0x13E: [702,0,381,19,362], // LATIN SMALL LETTER L WITH CARON + 0x13F: [662,0,620,29,615], // LATIN CAPITAL LETTER L WITH MIDDLE DOT + 0x140: [683,0,370,19,354], // LATIN SMALL LETTER L WITH MIDDLE DOT + 0x141: [662,0,611,10,597], // LATIN CAPITAL LETTER L WITH STROKE + 0x142: [683,0,278,19,259], // LATIN SMALL LETTER L WITH STROKE + 0x143: [890,11,722,12,707], // LATIN CAPITAL LETTER N WITH ACUTE + 0x144: [678,0,500,16,485], // LATIN SMALL LETTER N WITH ACUTE + 0x145: [662,280,722,12,707], // LATIN CAPITAL LETTER N WITH CEDILLA + 0x146: [460,280,500,16,485], // LATIN SMALL LETTER N WITH CEDILLA + 0x147: [886,11,722,12,707], // LATIN CAPITAL LETTER N WITH CARON + 0x148: [674,0,500,16,485], // LATIN SMALL LETTER N WITH CARON + 0x149: [702,0,590,20,566], // LATIN SMALL LETTER N PRECEDED BY APOSTROPHE + 0x14A: [678,18,710,16,673], // LATIN CAPITAL LETTER ENG + 0x14B: [460,218,504,16,424], // LATIN SMALL LETTER ENG + 0x14C: [773,14,722,34,688], // LATIN CAPITAL LETTER O WITH MACRON + 0x14D: [561,10,500,29,470], // LATIN SMALL LETTER O WITH MACRON + 0x14E: [876,14,722,34,688], // LATIN CAPITAL LETTER O WITH BREVE + 0x14F: [664,10,500,29,470], // LATIN SMALL LETTER O WITH BREVE + 0x150: [890,14,722,34,688], // LATIN CAPITAL LETTER O WITH DOUBLE ACUTE + 0x151: [678,10,500,29,470], // LATIN SMALL LETTER O WITH DOUBLE ACUTE + 0x152: [668,6,889,30,885], // LATIN CAPITAL LIGATURE OE + 0x153: [460,10,722,30,690], // LATIN SMALL LIGATURE OE + 0x154: [890,0,667,17,660], // LATIN CAPITAL LETTER R WITH ACUTE + 0x155: [678,0,333,5,335], // LATIN SMALL LETTER R WITH ACUTE + 0x156: [662,280,667,17,660], // LATIN CAPITAL LETTER R WITH CEDILLA + 0x157: [460,280,333,5,335], // LATIN SMALL LETTER R WITH CEDILLA + 0x158: [886,0,667,17,660], // LATIN CAPITAL LETTER R WITH CARON + 0x159: [674,0,333,5,335], // LATIN SMALL LETTER R WITH CARON + 0x15A: [890,14,556,43,491], // LATIN CAPITAL LETTER S WITH ACUTE + 0x15B: [678,10,389,51,348], // LATIN SMALL LETTER S WITH ACUTE + 0x15C: [886,14,556,43,491], // LATIN CAPITAL LETTER S WITH CIRCUMFLEX + 0x15D: [674,10,389,40,351], // LATIN SMALL LETTER S WITH CIRCUMFLEX + 0x15E: [676,215,556,43,491], // LATIN CAPITAL LETTER S WITH CEDILLA + 0x15F: [459,215,389,51,348], // LATIN SMALL LETTER S WITH CEDILLA + 0x160: [924,14,556,43,491], // LATIN CAPITAL LETTER S WITH CARON + 0x161: [674,10,389,38,349], // LATIN SMALL LETTER S WITH CARON + 0x162: [662,215,611,17,593], // LATIN CAPITAL LETTER T WITH CEDILLA + 0x163: [579,215,278,13,279], // LATIN SMALL LETTER T WITH CEDILLA + 0x164: [886,0,611,17,593], // LATIN CAPITAL LETTER T WITH CARON + 0x165: [701,10,315,13,333], // LATIN SMALL LETTER T WITH CARON + 0x166: [662,0,613,17,593], // LATIN CAPITAL LETTER T WITH STROKE + 0x167: [584,5,279,11,280], // LATIN SMALL LETTER T WITH STROKE + 0x168: [849,14,722,14,705], // LATIN CAPITAL LETTER U WITH TILDE + 0x169: [638,10,500,9,480], // LATIN SMALL LETTER U WITH TILDE + 0x16A: [773,14,722,14,705], // LATIN CAPITAL LETTER U WITH MACRON + 0x16B: [561,10,500,9,480], // LATIN SMALL LETTER U WITH MACRON + 0x16C: [876,14,722,14,705], // LATIN CAPITAL LETTER U WITH BREVE + 0x16D: [664,10,500,9,480], // LATIN SMALL LETTER U WITH BREVE + 0x16E: [898,14,722,14,705], // LATIN CAPITAL LETTER U WITH RING ABOVE + 0x16F: [711,10,500,9,480], // LATIN SMALL LETTER U WITH RING ABOVE + 0x170: [890,14,722,14,705], // LATIN CAPITAL LETTER U WITH DOUBLE ACUTE + 0x171: [678,10,500,9,480], // LATIN SMALL LETTER U WITH DOUBLE ACUTE + 0x172: [662,165,722,14,705], // LATIN CAPITAL LETTER U WITH OGONEK + 0x173: [450,156,500,9,480], // LATIN SMALL LETTER U WITH OGONEK + 0x174: [886,11,944,5,932], // LATIN CAPITAL LETTER W WITH CIRCUMFLEX + 0x175: [674,14,722,21,694], // LATIN SMALL LETTER W WITH CIRCUMFLEX + 0x176: [886,0,722,22,703], // LATIN CAPITAL LETTER Y WITH CIRCUMFLEX + 0x177: [674,218,500,14,475], // LATIN SMALL LETTER Y WITH CIRCUMFLEX + 0x178: [872,0,722,22,703], // LATIN CAPITAL LETTER Y WITH DIAERESIS + 0x179: [890,0,612,10,598], // LATIN CAPITAL LETTER Z WITH ACUTE + 0x17A: [678,0,444,27,418], // LATIN SMALL LETTER Z WITH ACUTE + 0x17B: [834,0,612,10,598], // LATIN CAPITAL LETTER Z WITH DOT ABOVE + 0x17C: [622,0,444,27,418], // LATIN SMALL LETTER Z WITH DOT ABOVE + 0x17D: [924,0,612,10,598], // LATIN CAPITAL LETTER Z WITH CARON + 0x17E: [674,0,444,27,418], // LATIN SMALL LETTER Z WITH CARON + 0x17F: [683,0,334,20,383] // LATIN SMALL LETTER LONG S + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax["HTML-CSS"].fontDir + "/General/Regular/LatinExtendedA.js"); diff --git a/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/LatinExtendedAdditional.js b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/LatinExtendedAdditional.js new file mode 100644 index 0000000..87aa959 --- /dev/null +++ b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/LatinExtendedAdditional.js @@ -0,0 +1,35 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/LatinExtendedAdditional.js + * + * Copyright (c) 2009-2010 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax['HTML-CSS'].FONTDATA.FONTS['STIXGeneral'], + { + 0x1E80: [890,11,944,5,932], // LATIN CAPITAL LETTER W WITH GRAVE + 0x1E81: [678,14,722,21,694], // LATIN SMALL LETTER W WITH GRAVE + 0x1E82: [890,11,944,5,932], // LATIN CAPITAL LETTER W WITH ACUTE + 0x1E83: [678,14,722,21,694], // LATIN SMALL LETTER W WITH ACUTE + 0x1E84: [834,11,944,5,932], // LATIN CAPITAL LETTER W WITH DIAERESIS + 0x1E85: [622,14,722,21,694], // LATIN SMALL LETTER W WITH DIAERESIS + 0x1EF2: [890,0,722,22,703], // LATIN CAPITAL LETTER Y WITH GRAVE + 0x1EF3: [678,218,500,14,475] // LATIN SMALL LETTER Y WITH GRAVE + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax["HTML-CSS"].fontDir + "/General/Regular/LatinExtendedAdditional.js"); diff --git a/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/LatinExtendedB.js b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/LatinExtendedB.js new file mode 100644 index 0000000..3fb1169 --- /dev/null +++ b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/LatinExtendedB.js @@ -0,0 +1,63 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/LatinExtendedB.js + * + * Copyright (c) 2009-2010 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax['HTML-CSS'].FONTDATA.FONTS['STIXGeneral'], + { + 0x180: [683,10,500,-19,472], // LATIN SMALL LETTER B WITH STROKE + 0x188: [559,10,500,25,511], // LATIN SMALL LETTER C WITH HOOK + 0x190: [684,6,580,33,562], // LATIN CAPITAL LETTER OPEN E + 0x192: [706,159,434,6,426], // LATIN SMALL LETTER F WITH HOOK + 0x195: [683,10,735,9,710], // LATIN SMALL LETTER HV + 0x199: [683,0,500,7,505], // LATIN SMALL LETTER K WITH HOOK + 0x19A: [683,0,278,19,257], // LATIN SMALL LETTER L WITH BAR + 0x19B: [668,0,520,55,516], // LATIN SMALL LETTER LAMBDA WITH STROKE + 0x19E: [460,233,500,16,485], // LATIN SMALL LETTER N WITH LONG RIGHT LEG + 0x1A0: [754,14,722,34,688], // LATIN CAPITAL LETTER O WITH HORN + 0x1A1: [474,10,545,29,531], // LATIN SMALL LETTER O WITH HORN + 0x1A5: [669,217,500,5,470], // LATIN SMALL LETTER P WITH HOOK + 0x1AA: [684,233,432,20,412], // LATIN LETTER REVERSED ESH LOOP + 0x1AB: [579,218,290,13,279], // LATIN SMALL LETTER T WITH PALATAL HOOK + 0x1AD: [683,10,310,14,333], // LATIN SMALL LETTER T WITH HOOK + 0x1AF: [774,14,766,14,810], // LATIN CAPITAL LETTER U WITH HORN + 0x1B0: [561,10,500,9,539], // LATIN SMALL LETTER U WITH HORN + 0x1B5: [662,0,612,10,598], // LATIN CAPITAL LETTER Z WITH STROKE + 0x1BA: [450,234,381,4,360], // LATIN SMALL LETTER EZH WITH TAIL + 0x1BB: [676,0,500,22,482], // LATIN LETTER TWO WITH STROKE + 0x1BE: [539,12,500,73,427], // LATIN LETTER INVERTED GLOTTAL STOP WITH STROKE + 0x1C0: [736,0,160,54,105], // LATIN LETTER DENTAL CLICK + 0x1C1: [736,0,280,54,225], // LATIN LETTER LATERAL CLICK + 0x1C2: [736,0,435,34,400], // LATIN LETTER ALVEOLAR CLICK + 0x1C3: [676,9,333,130,236], // LATIN LETTER RETROFLEX CLICK + 0x1F0: [674,218,278,-70,294], // LATIN SMALL LETTER J WITH CARON + 0x1FA: [938,0,722,15,707], // LATIN CAPITAL LETTER A WITH RING ABOVE AND ACUTE + 0x1FB: [890,10,444,37,442], // LATIN SMALL LETTER A WITH RING ABOVE AND ACUTE + 0x1FC: [890,0,889,0,863], // LATIN CAPITAL LETTER AE WITH ACUTE + 0x1FD: [678,7,667,38,632], // LATIN SMALL LETTER AE WITH ACUTE + 0x1FE: [890,80,722,34,688], // LATIN CAPITAL LETTER O WITH STROKE AND ACUTE + 0x1FF: [678,112,500,29,470], // LATIN SMALL LETTER O WITH STROKE AND ACUTE + 0x221: [683,150,671,27,652], // LATIN SMALL LETTER D WITH CURL + 0x234: [683,150,429,19,410], // LATIN SMALL LETTER L WITH CURL + 0x235: [460,150,672,16,653], // LATIN SMALL LETTER N WITH CURL + 0x236: [580,150,401,13,382] // LATIN SMALL LETTER T WITH CURL + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax["HTML-CSS"].fontDir + "/General/Regular/LatinExtendedB.js"); diff --git a/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/LatinExtendedD.js b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/LatinExtendedD.js new file mode 100644 index 0000000..c7db763 --- /dev/null +++ b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/LatinExtendedD.js @@ -0,0 +1,28 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/LatinExtendedD.js + * + * Copyright (c) 2009-2010 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax['HTML-CSS'].FONTDATA.FONTS['STIXGeneral'], + { + 0xA727: [683,233,481,9,427] // stix-heng (phonetic symbol) + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax["HTML-CSS"].fontDir + "/General/Regular/LatinExtendedD.js"); diff --git a/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/LetterlikeSymbols.js b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/LetterlikeSymbols.js new file mode 100644 index 0000000..d84bcfe --- /dev/null +++ b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/LetterlikeSymbols.js @@ -0,0 +1,83 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/LetterlikeSymbols.js + * + * Copyright (c) 2009-2010 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax['HTML-CSS'].FONTDATA.FONTS['STIXGeneral'], + { + 0x2102: [676,14,705,45,663], // stix-mathematical bold oblique double-struck capital C + 0x2105: [676,14,837,48,795], // CARE OF + 0x2107: [676,14,598,28,561], // EULER CONSTANT + 0x210A: [441,219,738,30,678], // SCRIPT SMALL G + 0x210B: [687,15,997,53,991], // SCRIPT CAPITAL H + 0x210C: [695,204,824,43,773], // BLACK-LETTER CAPITAL H + 0x210D: [662,0,718,70,648], // stix-mathematical bold oblique double-struck capital H + 0x210E: [683,10,577,47,545], // PLANCK CONSTANT + 0x210F: [683,10,579,47,547], // stix-/hbar - Planck's over 2pi + 0x2110: [675,15,897,26,888], // SCRIPT CAPITAL I + 0x2112: [687,15,946,33,931], // SCRIPT CAPITAL L + 0x2113: [687,11,579,48,571], // SCRIPT SMALL L + 0x2115: [662,0,698,70,628], // stix-mathematical bold oblique double-struck capital N + 0x2116: [676,14,1012,7,966], // NUMERO SIGN + 0x2117: [676,14,760,38,722], // SOUND RECORDING COPYRIGHT + 0x2119: [662,0,678,70,628], // stix-mathematical bold oblique double-struck capital P + 0x211A: [676,65,765,45,715], // stix-mathematical bold oblique double-struck capital Q + 0x211B: [687,15,944,34,876], // SCRIPT CAPITAL R + 0x211D: [662,0,747,70,712], // stix-mathematical bold oblique double-struck capital R + 0x211E: [667,101,780,69,763], // PRESCRIPTION TAKE + 0x2122: [662,-256,980,30,957], // TRADE MARK SIGN + 0x2124: [662,0,727,50,677], // stix-mathematical bold oblique double-struck capital Z + 0x2125: [662,218,424,35,391], // OUNCE SIGN + 0x2126: [676,0,744,29,715], // OHM SIGN + 0x2127: [662,14,744,29,715], // INVERTED OHM SIGN + 0x2128: [695,204,726,50,676], // BLACK-LETTER CAPITAL Z + 0x2129: [463,0,360,32,276], // TURNED GREEK SMALL LETTER IOTA + 0x212B: [871,0,722,15,707], // ANGSTROM SIGN + 0x212C: [687,15,950,34,902], // SCRIPT CAPITAL B + 0x212D: [695,24,717,47,675], // BLACK-LETTER CAPITAL C + 0x212E: [676,17,843,35,808], // ESTIMATED SYMBOL + 0x212F: [441,11,627,30,554], // SCRIPT SMALL E + 0x2130: [687,15,750,100,734], // SCRIPT CAPITAL E + 0x2131: [680,0,919,43,907], // SCRIPT CAPITAL F + 0x2132: [662,0,535,13,462], // TURNED CAPITAL F + 0x2133: [674,15,1072,38,1056], // SCRIPT CAPITAL M + 0x2134: [441,11,697,30,680], // SCRIPT SMALL O + 0x2136: [677,19,639,57,572], // BET SYMBOL + 0x2137: [677,19,505,40,463], // GIMEL SYMBOL + 0x2138: [677,19,599,52,495], // DALET SYMBOL + 0x213C: [450,12,673,25,645], // DOUBLE-STRUCK SMALL PI + 0x213D: [460,218,540,0,526], // DOUBLE-STRUCK SMALL GAMMA + 0x213E: [662,0,469,70,567], // DOUBLE-STRUCK CAPITAL GAMMA + 0x213F: [662,0,718,70,648], // DOUBLE-STRUCK CAPITAL PI + 0x2140: [763,259,923,61,882], // DOUBLE-STRUCK N-ARY SUMMATION + 0x2141: [676,14,695,68,668], // TURNED SANS-SERIF CAPITAL G + 0x2142: [662,0,559,13,485], // TURNED SANS-SERIF CAPITAL L + 0x2143: [662,0,559,13,485], // REVERSED SANS-SERIF CAPITAL L + 0x2144: [662,0,630,21,609], // TURNED SANS-SERIF CAPITAL Y + 0x2145: [662,0,722,70,677], // stix-mathematical bold double-struck capital D + 0x2146: [683,10,574,45,519], // stix-mathematical bold double-struck small letter d + 0x2147: [460,10,523,45,478], // stix-mathematical bold double-struck small letter e + 0x2148: [683,0,258,55,203], // stix-mathematical bold double-struck small letter i + 0x2149: [683,217,305,-15,250], // stix-mathematical bold double-struck small letter j + 0x214A: [692,0,664,45,602], // PROPERTY LINE + 0x214B: [676,13,778,28,736] // TURNED AMPERSAND + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax["HTML-CSS"].fontDir + "/General/Regular/LetterlikeSymbols.js"); diff --git a/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/Main.js b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/Main.js new file mode 100644 index 0000000..93500af --- /dev/null +++ b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/Main.js @@ -0,0 +1,380 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/Main.js + * + * Copyright (c) 2009-2010 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +MathJax.OutputJax['HTML-CSS'].FONTDATA.FONTS['STIXGeneral'] = { + directory: 'General/Regular', + family: 'STIXGeneral', + Ranges: [ + [0xA0,0xFF,"Latin1Supplement"], + [0x100,0x17F,"LatinExtendedA"], + [0x180,0x24F,"LatinExtendedB"], + [0x250,0x2AF,"IPAExtensions"], + [0x2B0,0x2FF,"SpacingModLetters"], + [0x300,0x36F,"CombDiacritMarks"], + [0x370,0x3FF,"GreekAndCoptic"], + [0x400,0x4FF,"Cyrillic"], + [0x1D00,0x1DBF,"PhoneticExtensions"], + [0x1E00,0x1EFF,"LatinExtendedAdditional"], + [0x2000,0x206F,"GeneralPunctuation"], + [0x2070,0x209F,"SuperAndSubscripts"], + [0x20A0,0x20CF,"CurrencySymbols"], + [0x20D0,0x20FF,"CombDiactForSymbols"], + [0x2100,0x214F,"LetterlikeSymbols"], + [0x2150,0x218F,"NumberForms"], + [0x2190,0x21FF,"Arrows"], + [0x2200,0x22FF,"MathOperators"], + [0x2300,0x23FF,"MiscTechnical"], + [0x2400,0x243F,"ControlPictures"], + [0x2460,0x24FF,"EnclosedAlphanum"], + [0x2500,0x257F,"BoxDrawing"], + [0x2580,0x259F,"BlockElements"], + [0x25A0,0x25FF,"GeometricShapes"], + [0x2600,0x26FF,"MiscSymbols"], + [0x2700,0x27BF,"Dingbats"], + [0x27C0,0x27EF,"MiscMathSymbolsA"], + [0x27F0,0x27FF,"SupplementalArrowsA"], + [0x2900,0x297F,"SupplementalArrowsB"], + [0x2980,0x29FF,"MiscMathSymbolsB"], + [0x2A00,0x2AFF,"SuppMathOperators"], + [0x2B00,0x2BFF,"MiscSymbolsAndArrows"], + [0x3000,0x303F,"CJK"], + [0x3040,0x309F,"Hiragana"], + [0xA720,0xA7FF,"LatinExtendedD"], + [0xFB00,0xFB4F,"AlphaPresentForms"], + [0xFFF0,0xFFFF,"Specials"], + [0x1D400,0x1D433,"MathBold"], + [0x1D434,0x1D467,"MathItalic"], + [0x1D468,0x1D49B,"MathBoldItalic"], + [0x1D49C,0x1D4CF,"MathScript"], + [0x1D4D0,0x1D503,"MathBoldScript"], + [0x1D504,0x1D537,"Fraktur"], + [0x1D538,0x1D56B,"BBBold"], + [0x1D56C,0x1D59F,"BoldFraktur"], + [0x1D5A0,0x1D5D3,"MathSS"], + [0x1D5D4,0x1D607,"MathSSBold"], + [0x1D608,0x1D63B,"MathSSItalic"], + [0x1D63C,0x1D66F,"MathSSItalicBold"], + [0x1D670,0x1D6A3,"MathTT"], + [0x1D6A4,0x1D6A5,"ij"], + [0x1D6A8,0x1D6E1,"GreekBold"], + [0x1D6E2,0x1D71B,"GreekItalic"], + [0x1D71C,0x1D755,"GreekBoldItalic"], + [0x1D756,0x1D78F,"GreekSSBold"], + [0x1D790,0x1D7C9,"GreekSSBoldItalic"], + [0x1D7CE,0x1D7D7,"MathBold"], + [0x1D7D8,0x1D7E1,"BBBold"], + [0x1D7E2,0x1D7EB,"MathSS"], + [0x1D7EC,0x1D7F6,"MathSSBold"], + [0x1D7F6,0x1D7FF,"MathTT"] + ], + 0x20: [0,0,250,0,0], // SPACE + 0x21: [676,9,333,130,236], // EXCLAMATION MARK + 0x22: [676,-431,408,77,331], // QUOTATION MARK + 0x23: [662,0,500,6,495], // NUMBER SIGN + 0x24: [727,87,500,44,458], // DOLLAR SIGN + 0x25: [706,19,747,61,686], // PERCENT SIGN + 0x26: [676,13,778,42,750], // AMPERSAND + 0x27: [676,-431,180,48,133], // APOSTROPHE + 0x28: [676,177,333,48,304], // LEFT PARENTHESIS + 0x29: [676,177,333,29,285], // RIGHT PARENTHESIS + 0x2A: [676,-265,500,68,433], // ASTERISK + 0x2B: [547,41,685,48,636], // PLUS SIGN + 0x2C: [102,141,250,55,195], // COMMA + 0x2D: [257,-194,333,39,285], // HYPHEN-MINUS + 0x2E: [100,11,250,70,181], // FULL STOP + 0x2F: [676,14,278,-9,287], // SOLIDUS + 0x30: [676,14,500,24,476], // DIGIT ZERO + 0x31: [676,0,500,111,394], // DIGIT ONE + 0x32: [676,0,500,29,474], // DIGIT TWO + 0x33: [676,14,500,41,431], // DIGIT THREE + 0x34: [676,0,500,12,473], // DIGIT FOUR + 0x35: [688,14,500,31,438], // DIGIT FIVE + 0x36: [684,14,500,34,468], // DIGIT SIX + 0x37: [662,8,500,20,449], // DIGIT SEVEN + 0x38: [676,14,500,56,445], // DIGIT EIGHT + 0x39: [676,22,500,30,459], // DIGIT NINE + 0x3A: [459,11,278,81,192], // COLON + 0x3B: [459,141,278,80,219], // SEMICOLON + 0x3C: [534,24,685,56,621], // LESS-THAN SIGN + 0x3D: [386,-120,685,48,637], // EQUALS SIGN + 0x3E: [534,24,685,56,621], // GREATER-THAN SIGN + 0x3F: [676,8,444,68,414], // QUESTION MARK + 0x40: [676,14,921,116,809], // COMMERCIAL AT + 0x41: [674,0,722,15,707], // LATIN CAPITAL LETTER A + 0x42: [662,0,667,17,593], // LATIN CAPITAL LETTER B + 0x43: [676,14,667,28,633], // LATIN CAPITAL LETTER C + 0x44: [662,0,722,16,685], // LATIN CAPITAL LETTER D + 0x45: [662,0,611,12,597], // LATIN CAPITAL LETTER E + 0x46: [662,0,556,11,546], // LATIN CAPITAL LETTER F + 0x47: [676,14,722,32,709], // LATIN CAPITAL LETTER G + 0x48: [662,0,722,18,703], // LATIN CAPITAL LETTER H + 0x49: [662,0,333,18,315], // LATIN CAPITAL LETTER I + 0x4A: [662,14,373,-6,354], // LATIN CAPITAL LETTER J + 0x4B: [662,0,722,33,723], // LATIN CAPITAL LETTER K + 0x4C: [662,0,611,12,598], // LATIN CAPITAL LETTER L + 0x4D: [662,0,889,12,864], // LATIN CAPITAL LETTER M + 0x4E: [662,11,722,12,707], // LATIN CAPITAL LETTER N + 0x4F: [676,14,722,34,688], // LATIN CAPITAL LETTER O + 0x50: [662,0,557,16,542], // LATIN CAPITAL LETTER P + 0x51: [676,177,722,34,701], // LATIN CAPITAL LETTER Q + 0x52: [662,0,667,17,660], // LATIN CAPITAL LETTER R + 0x53: [676,14,556,43,491], // LATIN CAPITAL LETTER S + 0x54: [662,0,611,17,593], // LATIN CAPITAL LETTER T + 0x55: [662,14,722,14,705], // LATIN CAPITAL LETTER U + 0x56: [662,11,722,16,697], // LATIN CAPITAL LETTER V + 0x57: [662,11,944,5,932], // LATIN CAPITAL LETTER W + 0x58: [662,0,722,10,704], // LATIN CAPITAL LETTER X + 0x59: [662,0,722,22,703], // LATIN CAPITAL LETTER Y + 0x5A: [662,0,612,10,598], // LATIN CAPITAL LETTER Z + 0x5B: [662,156,333,88,299], // LEFT SQUARE BRACKET + 0x5C: [676,14,278,-9,287], // REVERSE SOLIDUS + 0x5D: [662,156,333,34,245], // RIGHT SQUARE BRACKET + 0x5E: [662,-297,469,24,446], // CIRCUMFLEX ACCENT + 0x5F: [-75,125,500,0,500], // LOW LINE + 0x60: [678,-507,333,18,242], // GRAVE ACCENT + 0x61: [460,10,444,37,442], // LATIN SMALL LETTER A + 0x62: [683,10,500,3,468], // LATIN SMALL LETTER B + 0x63: [460,10,444,25,412], // LATIN SMALL LETTER C + 0x64: [683,10,500,27,491], // LATIN SMALL LETTER D + 0x65: [460,10,444,25,424], // LATIN SMALL LETTER E + 0x66: [683,0,333,20,383], // LATIN SMALL LETTER F + 0x67: [460,218,500,28,470], // LATIN SMALL LETTER G + 0x68: [683,0,500,9,487], // LATIN SMALL LETTER H + 0x69: [683,0,278,16,253], // LATIN SMALL LETTER I + 0x6A: [683,218,278,-70,194], // LATIN SMALL LETTER J + 0x6B: [683,0,500,7,505], // LATIN SMALL LETTER K + 0x6C: [683,0,278,19,257], // LATIN SMALL LETTER L + 0x6D: [460,0,778,16,775], // LATIN SMALL LETTER M + 0x6E: [460,0,500,16,485], // LATIN SMALL LETTER N + 0x6F: [460,10,500,29,470], // LATIN SMALL LETTER O + 0x70: [460,217,500,5,470], // LATIN SMALL LETTER P + 0x71: [460,217,500,24,488], // LATIN SMALL LETTER Q + 0x72: [460,0,333,5,335], // LATIN SMALL LETTER R + 0x73: [459,10,389,51,348], // LATIN SMALL LETTER S + 0x74: [579,10,278,13,279], // LATIN SMALL LETTER T + 0x75: [450,10,500,9,480], // LATIN SMALL LETTER U + 0x76: [450,14,500,19,477], // LATIN SMALL LETTER V + 0x77: [450,14,722,21,694], // LATIN SMALL LETTER W + 0x78: [450,0,500,17,479], // LATIN SMALL LETTER X + 0x79: [450,218,500,14,475], // LATIN SMALL LETTER Y + 0x7A: [450,0,444,27,418], // LATIN SMALL LETTER Z + 0x7B: [680,181,480,100,350], // LEFT CURLY BRACKET + 0x7C: [676,14,200,67,133], // VERTICAL LINE + 0x7D: [680,181,480,130,380], // RIGHT CURLY BRACKET + 0x7E: [325,-183,541,40,502], // TILDE + 0xA0: [0,0,250,0,0], // NO-BREAK SPACE + 0xA8: [622,-523,333,18,316], // DIAERESIS + 0xAC: [393,-115,600,48,552], // NOT SIGN + 0xAF: [601,-547,333,11,322], // MACRON + 0xB1: [502,87,685,48,637], // PLUS-MINUS SIGN + 0xB7: [310,-199,250,70,181], // MIDDLE DOT + 0xD7: [529,25,640,43,597], // MULTIPLICATION SIGN + 0xF7: [516,10,564,30,534], // DIVISION SIGN + 0x131: [460,0,278,16,253], // LATIN SMALL LETTER DOTLESS I + 0x237: [460,218,278,-70,193], // LATIN SMALL LETTER DOTLESS J + 0x2C6: [674,-507,333,11,322], // MODIFIER LETTER CIRCUMFLEX ACCENT + 0x2C7: [674,-507,333,11,322], // CARON + 0x2C9: [601,-547,334,11,322], // MODIFIER LETTER MACRON + 0x2CA: [679,-509,333,93,320], // MODIFIER LETTER ACUTE ACCENT + 0x2CB: [679,-509,333,22,249], // MODIFIER LETTER GRAVE ACCENT + 0x2D8: [664,-507,335,27,308], // BREVE + 0x2D9: [622,-523,333,118,217], // DOT ABOVE + 0x2DC: [638,-532,333,1,331], // SMALL TILDE + 0x300: [678,-507,0,-371,-147], // COMBINING GRAVE ACCENT + 0x301: [678,-507,0,-371,-147], // COMBINING ACUTE ACCENT + 0x302: [674,-507,0,-386,-75], // COMBINING CIRCUMFLEX ACCENT + 0x303: [638,-532,0,-395,-65], // COMBINING TILDE + 0x304: [601,-547,0,-385,-74], // COMBINING MACRON + 0x306: [664,-507,0,-373,-92], // COMBINING BREVE + 0x307: [622,-523,0,-280,-181], // COMBINING DOT ABOVE + 0x308: [622,-523,0,-379,-81], // COMBINING DIAERESIS + 0x30A: [711,-512,0,-329,-130], // COMBINING RING ABOVE + 0x30B: [678,-507,0,-401,-22], // COMBINING DOUBLE ACUTE ACCENT + 0x30C: [674,-507,0,-385,-74], // COMBINING CARON + 0x338: [662,156,0,-380,31], // COMBINING LONG SOLIDUS OVERLAY + 0x393: [662,0,587,11,577], // GREEK CAPITAL LETTER GAMMA + 0x394: [674,0,722,48,675], // GREEK CAPITAL LETTER DELTA + 0x398: [676,14,722,34,688], // GREEK CAPITAL LETTER THETA + 0x39B: [674,0,702,15,687], // GREEK CAPITAL LETTER LAMDA + 0x39E: [662,0,643,29,614], // GREEK CAPITAL LETTER XI + 0x3A0: [662,0,722,18,703], // GREEK CAPITAL LETTER PI + 0x3A3: [662,0,624,30,600], // GREEK CAPITAL LETTER SIGMA + 0x3A5: [674,0,722,29,703], // GREEK CAPITAL LETTER UPSILON + 0x3A6: [662,0,763,35,728], // GREEK CAPITAL LETTER PHI + 0x3A8: [690,0,746,22,724], // GREEK CAPITAL LETTER PSI + 0x3A9: [676,0,744,29,715], // GREEK CAPITAL LETTER OMEGA + 0x2020: [676,149,500,59,442], // DAGGER + 0x2021: [676,153,500,58,442], // DOUBLE DAGGER + 0x2026: [100,11,1000,111,888], // HORIZONTAL ELLIPSIS + 0x2032: [678,-402,289,75,214], // PRIME + 0x203E: [820,-770,500,0,500], // OVERLINE + 0x20D7: [760,-548,0,-453,-17], // COMBINING RIGHT ARROW ABOVE + 0x2111: [695,34,762,45,711], // BLACK-LETTER CAPITAL I + 0x2118: [547,217,826,52,799], // SCRIPT CAPITAL P + 0x211C: [704,22,874,50,829], // BLACK-LETTER CAPITAL R + 0x2135: [677,13,682,43,634], // ALEF SYMBOL + 0x2190: [449,-58,926,71,857], // LEFTWARDS ARROW + 0x2191: [662,156,511,60,451], // UPWARDS ARROW + 0x2192: [448,-57,926,70,856], // RIGHTWARDS ARROW + 0x2193: [662,156,511,60,451], // DOWNWARDS ARROW + 0x2194: [449,-57,926,38,888], // LEFT RIGHT ARROW + 0x2195: [730,224,511,60,451], // UP DOWN ARROW + 0x2196: [662,156,926,70,856], // NORTH WEST ARROW + 0x2197: [662,156,926,70,856], // NORTH EAST ARROW + 0x2198: [662,156,926,70,856], // SOUTH EAST ARROW + 0x2199: [662,156,926,70,856], // SOUTH WEST ARROW + 0x21A6: [450,-57,926,70,857], // RIGHTWARDS ARROW FROM BAR + 0x21A9: [553,-57,926,70,856], // LEFTWARDS ARROW WITH HOOK + 0x21AA: [553,-57,926,70,856], // RIGHTWARDS ARROW WITH HOOK + 0x21BC: [494,-220,955,54,901], // LEFTWARDS HARPOON WITH BARB UPWARDS + 0x21BD: [286,-12,955,54,901], // LEFTWARDS HARPOON WITH BARB DOWNWARDS + 0x21C0: [494,-220,955,54,901], // RIGHTWARDS HARPOON WITH BARB UPWARDS + 0x21C1: [286,-12,955,54,901], // RIGHTWARDS HARPOON WITH BARB DOWNWARDS + 0x21CC: [539,33,926,70,856], // RIGHTWARDS HARPOON OVER LEFTWARDS HARPOON + 0x21D0: [551,45,926,60,866], // LEFTWARDS DOUBLE ARROW + 0x21D1: [662,156,685,45,641], // UPWARDS DOUBLE ARROW + 0x21D2: [551,45,926,60,866], // RIGHTWARDS DOUBLE ARROW + 0x21D3: [662,156,685,45,641], // DOWNWARDS DOUBLE ARROW + 0x21D4: [517,10,926,20,906], // LEFT RIGHT DOUBLE ARROW + 0x21D5: [730,224,685,45,641], // UP DOWN DOUBLE ARROW + 0x2200: [662,0,560,2,558], // FOR ALL + 0x2202: [668,11,471,40,471], // PARTIAL DIFFERENTIAL + 0x2203: [662,0,560,73,487], // THERE EXISTS + 0x2205: [583,79,762,50,712], // EMPTY SET + 0x2207: [662,12,731,63,667], // NABLA + 0x2208: [531,27,685,60,625], // ELEMENT OF + 0x2209: [662,157,685,60,625], // stix-negated (vert) set membership, variant + 0x220B: [531,27,685,60,625], // CONTAINS AS MEMBER + 0x220F: [763,259,1000,52,948], // N-ARY PRODUCT + 0x2210: [763,259,1000,52,948], // N-ARY COPRODUCT + 0x2211: [763,259,914,58,856], // N-ARY SUMMATION + 0x2212: [286,-220,685,64,621], // MINUS SIGN + 0x2213: [502,87,685,48,637], // MINUS-OR-PLUS SIGN + 0x2215: [710,222,523,46,478], // DIVISION SLASH + 0x2216: [411,-93,428,25,403], // SET MINUS + 0x2217: [471,-33,523,67,457], // ASTERISK OPERATOR + 0x2218: [387,-117,350,40,310], // RING OPERATOR + 0x2219: [387,-117,350,40,310], // BULLET OPERATOR + 0x221A: [973,259,928,112,963], // SQUARE ROOT + 0x221D: [430,0,685,41,643], // PROPORTIONAL TO + 0x221E: [430,0,926,70,854], // INFINITY + 0x2220: [547,0,685,23,643], // ANGLE + 0x2223: [690,189,266,100,166], // DIVIDES + 0x2225: [690,189,523,129,394], // PARALLEL TO + 0x2227: [536,29,620,31,589], // LOGICAL AND + 0x2228: [536,29,620,31,589], // LOGICAL OR + 0x2229: [536,31,620,48,572], // stix-intersection, serifs + 0x222A: [536,31,620,48,572], // stix-union, serifs + 0x222B: [824,320,459,32,639], // INTEGRAL + 0x223C: [362,-148,685,48,637], // TILDE OPERATOR + 0x2240: [547,42,286,35,249], // WREATH PRODUCT + 0x2243: [445,-55,685,48,637], // ASYMPTOTICALLY EQUAL TO + 0x2245: [532,27,685,48,637], // APPROXIMATELY EQUAL TO + 0x2248: [475,-25,685,48,637], // ALMOST EQUAL TO + 0x224D: [498,-8,685,48,637], // EQUIVALENT TO + 0x2250: [611,-120,685,48,637], // APPROACHES THE LIMIT + 0x2260: [662,156,685,48,637], // stix-not (vert) equals + 0x2261: [478,-28,685,48,637], // IDENTICAL TO + 0x2264: [609,103,685,64,629], // LESS-THAN OR EQUAL TO + 0x2265: [609,103,685,64,629], // GREATER-THAN OR EQUAL TO + 0x226A: [532,26,933,25,908], // MUCH LESS-THAN + 0x226B: [532,26,933,25,908], // MUCH GREATER-THAN + 0x227A: [532,26,685,64,621], // PRECEDES + 0x227B: [532,26,685,64,621], // SUCCEEDS + 0x227C: [628,120,685,64,621], // PRECEDES OR EQUAL TO + 0x227D: [629,119,685,64,621], // SUCCEEDS OR EQUAL TO + 0x2282: [531,25,685,64,621], // SUBSET OF + 0x2283: [531,25,685,64,621], // SUPERSET OF + 0x2286: [607,103,685,64,621], // SUBSET OF OR EQUAL TO + 0x2287: [607,103,685,64,621], // SUPERSET OF OR EQUAL TO + 0x228E: [536,31,620,48,572], // MULTISET UNION + 0x2291: [607,103,685,64,621], // SQUARE IMAGE OF OR EQUAL TO + 0x2292: [607,103,685,64,621], // SQUARE ORIGINAL OF OR EQUAL TO + 0x2293: [536,31,620,48,572], // stix-square intersection, serifs + 0x2294: [536,31,620,48,572], // stix-square union, serifs + 0x2295: [623,119,842,50,792], // stix-circled plus (with rim) + 0x2296: [623,119,842,50,792], // CIRCLED MINUS + 0x2297: [623,119,842,50,792], // stix-circled times (with rim) + 0x2298: [623,119,842,50,792], // CIRCLED DIVISION SLASH + 0x2299: [583,79,762,50,712], // CIRCLED DOT OPERATOR + 0x22A2: [662,0,685,64,621], // RIGHT TACK + 0x22A3: [662,0,685,64,621], // LEFT TACK + 0x22A4: [662,0,685,48,637], // DOWN TACK + 0x22A5: [662,0,685,48,637], // UP TACK + 0x22A8: [662,0,685,64,621], // TRUE + 0x22C0: [763,259,924,54,870], // N-ARY LOGICAL AND + 0x22C1: [763,259,924,54,870], // N-ARY LOGICAL OR + 0x22C2: [778,254,924,94,830], // N-ARY INTERSECTION + 0x22C3: [768,264,924,94,830], // N-ARY UNION + 0x22C4: [488,-16,523,26,497], // DIAMOND OPERATOR + 0x22C5: [313,-193,286,83,203], // DOT OPERATOR + 0x22C6: [597,13,700,35,665], // STAR OPERATOR + 0x22C8: [582,80,810,54,756], // BOWTIE + 0x22EE: [606,104,511,192,319], // VERTICAL ELLIPSIS + 0x22EF: [316,-189,926,108,818], // MIDLINE HORIZONTAL ELLIPSIS + 0x22F1: [520,18,926,194,732], // DOWN RIGHT DIAGONAL ELLIPSIS + 0x2308: [713,213,469,188,447], // LEFT CEILING + 0x2309: [713,213,469,27,286], // RIGHT CEILING + 0x230A: [713,213,469,188,447], // LEFT FLOOR + 0x230B: [713,213,469,27,286], // RIGHT FLOOR + 0x2322: [360,-147,1019,54,965], // stix-small down curve + 0x2323: [360,-147,1019,54,965], // stix-small up curve + 0x23AF: [286,-220,315,0,315], // HORIZONTAL LINE EXTENSION + 0x23D0: [405,-101,511,222,288], // VERTICAL LINE EXTENSION (used to extend arrows) + 0x25B3: [811,127,1145,35,1110], // WHITE UP-POINTING TRIANGLE + 0x25B9: [555,50,660,80,605], // WHITE RIGHT-POINTING SMALL TRIANGLE + 0x25BD: [811,127,1145,35,1110], // WHITE DOWN-POINTING TRIANGLE + 0x25C3: [554,51,660,55,580], // WHITE LEFT-POINTING SMALL TRIANGLE + 0x25EF: [785,282,1207,70,1137], // LARGE CIRCLE + 0x2660: [609,99,685,34,651], // BLACK SPADE SUIT + 0x2661: [603,105,685,34,651], // WHITE HEART SUIT + 0x2662: [609,105,685,41,643], // WHITE DIAMOND SUIT + 0x2663: [603,99,685,34,651], // BLACK CLUB SUIT + 0x266D: [768,10,426,57,346], // MUSIC FLAT SIGN + 0x266E: [768,181,426,75,350], // MUSIC NATURAL SIGN + 0x266F: [768,181,426,41,386], // MUSIC SHARP SIGN + 0x27E8: [713,213,400,77,335], // MATHEMATICAL LEFT ANGLE BRACKET + 0x27E9: [713,213,400,65,323], // MATHEMATICAL RIGHT ANGLE BRACKET + 0x27EE: [676,177,233,56,211], // MATHEMATICAL LEFT FLATTENED PARENTHESIS + 0x27EF: [676,177,233,22,177], // MATHEMATICAL RIGHT FLATTENED PARENTHESIS + 0x27F5: [449,-58,1574,55,1519], // LONG LEFTWARDS ARROW + 0x27F6: [449,-57,1574,55,1519], // LONG RIGHTWARDS ARROW + 0x27F7: [449,-57,1574,55,1519], // LONG LEFT RIGHT ARROW + 0x27F8: [551,45,1574,55,1519], // LONG LEFTWARDS DOUBLE ARROW + 0x27F9: [551,45,1574,55,1519], // LONG RIGHTWARDS DOUBLE ARROW + 0x27FA: [517,10,1574,55,1519], // LONG LEFT RIGHT DOUBLE ARROW + 0x27FB: [450,-57,1574,55,1519], // LONG LEFTWARDS ARROW FROM BAR + 0x27FC: [450,-57,1574,55,1519], // LONG RIGHTWARDS ARROW FROM BAR + 0x29F5: [710,222,523,46,478], // REVERSE SOLIDUS OPERATOR + 0x2A00: [763,259,1126,53,1073], // N-ARY CIRCLED DOT OPERATOR + 0x2A01: [763,259,1126,53,1073], // N-ARY CIRCLED PLUS OPERATOR + 0x2A02: [763,259,1126,53,1073], // N-ARY CIRCLED TIMES OPERATOR + 0x2A03: [768,264,924,94,830], // N-ARY UNION OPERATOR WITH DOT + 0x2A04: [768,264,924,94,830], // N-ARY UNION OPERATOR WITH PLUS + 0x2A05: [763,259,924,94,830], // N-ARY SQUARE INTERSECTION OPERATOR + 0x2A06: [763,259,924,94,830], // N-ARY SQUARE UNION OPERATOR + 0x2A3F: [662,0,694,30,664], // AMALGAMATION OR COPRODUCT + 0x2AAF: [609,103,685,64,621], // PRECEDES ABOVE SINGLE-LINE EQUALS SIGN + 0x2AB0: [609,103,685,64,621] // SUCCEEDS ABOVE SINGLE-LINE EQUALS SIGN +}; + +MathJax.OutputJax["HTML-CSS"].initFont("STIXGeneral"); + +MathJax.Ajax.loadComplete(MathJax.OutputJax["HTML-CSS"].fontDir + "/General/Regular/Main.js"); diff --git a/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/MathBold.js b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/MathBold.js new file mode 100644 index 0000000..96c6be8 --- /dev/null +++ b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/MathBold.js @@ -0,0 +1,89 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/MathBold.js + * + * Copyright (c) 2009-2010 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax['HTML-CSS'].FONTDATA.FONTS['STIXGeneral'], + { + 0x1D400: [690,0,722,9,689], // MATHEMATICAL BOLD CAPITAL A + 0x1D401: [676,0,667,16,619], // MATHEMATICAL BOLD CAPITAL B + 0x1D402: [691,19,722,49,687], // MATHEMATICAL BOLD CAPITAL C + 0x1D403: [676,0,722,14,690], // MATHEMATICAL BOLD CAPITAL D + 0x1D404: [676,0,667,16,641], // MATHEMATICAL BOLD CAPITAL E + 0x1D405: [676,0,611,16,583], // MATHEMATICAL BOLD CAPITAL F + 0x1D406: [691,19,778,37,755], // MATHEMATICAL BOLD CAPITAL G + 0x1D407: [676,0,778,21,759], // MATHEMATICAL BOLD CAPITAL H + 0x1D408: [676,0,389,20,370], // MATHEMATICAL BOLD CAPITAL I + 0x1D409: [676,96,500,3,478], // MATHEMATICAL BOLD CAPITAL J + 0x1D40A: [676,0,778,30,769], // MATHEMATICAL BOLD CAPITAL K + 0x1D40B: [676,0,667,19,638], // MATHEMATICAL BOLD CAPITAL L + 0x1D40C: [676,0,944,14,921], // MATHEMATICAL BOLD CAPITAL M + 0x1D40D: [676,18,722,16,701], // MATHEMATICAL BOLD CAPITAL N + 0x1D40E: [691,19,778,35,743], // MATHEMATICAL BOLD CAPITAL O + 0x1D40F: [676,0,611,16,600], // MATHEMATICAL BOLD CAPITAL P + 0x1D410: [691,176,778,35,743], // MATHEMATICAL BOLD CAPITAL Q + 0x1D411: [676,0,722,26,716], // MATHEMATICAL BOLD CAPITAL R + 0x1D412: [692,19,556,35,513], // MATHEMATICAL BOLD CAPITAL S + 0x1D413: [676,0,667,31,636], // MATHEMATICAL BOLD CAPITAL T + 0x1D414: [676,19,722,16,701], // MATHEMATICAL BOLD CAPITAL U + 0x1D415: [676,18,722,16,701], // MATHEMATICAL BOLD CAPITAL V + 0x1D416: [676,15,1000,19,981], // MATHEMATICAL BOLD CAPITAL W + 0x1D417: [676,0,722,16,699], // MATHEMATICAL BOLD CAPITAL X + 0x1D418: [676,0,722,15,699], // MATHEMATICAL BOLD CAPITAL Y + 0x1D419: [676,0,667,28,634], // MATHEMATICAL BOLD CAPITAL Z + 0x1D41A: [473,14,500,25,488], // MATHEMATICAL BOLD SMALL A + 0x1D41B: [676,14,556,17,521], // MATHEMATICAL BOLD SMALL B + 0x1D41C: [473,14,444,25,430], // MATHEMATICAL BOLD SMALL C + 0x1D41D: [676,14,556,25,534], // MATHEMATICAL BOLD SMALL D + 0x1D41E: [473,14,444,25,427], // MATHEMATICAL BOLD SMALL E + 0x1D41F: [691,0,333,14,389], // MATHEMATICAL BOLD SMALL F + 0x1D420: [472,206,500,28,483], // MATHEMATICAL BOLD SMALL G + 0x1D421: [676,0,556,15,534], // MATHEMATICAL BOLD SMALL H + 0x1D422: [691,0,278,15,256], // MATHEMATICAL BOLD SMALL I + 0x1D423: [691,203,333,-57,263], // MATHEMATICAL BOLD SMALL J + 0x1D424: [676,0,556,22,543], // MATHEMATICAL BOLD SMALL K + 0x1D425: [676,0,278,15,256], // MATHEMATICAL BOLD SMALL L + 0x1D426: [473,0,833,15,814], // MATHEMATICAL BOLD SMALL M + 0x1D427: [473,0,556,21,539], // MATHEMATICAL BOLD SMALL N + 0x1D428: [473,14,500,25,476], // MATHEMATICAL BOLD SMALL O + 0x1D429: [473,205,556,19,524], // MATHEMATICAL BOLD SMALL P + 0x1D42A: [473,205,556,34,536], // MATHEMATICAL BOLD SMALL Q + 0x1D42B: [473,0,444,28,434], // MATHEMATICAL BOLD SMALL R + 0x1D42C: [473,14,389,25,361], // MATHEMATICAL BOLD SMALL S + 0x1D42D: [630,12,333,19,332], // MATHEMATICAL BOLD SMALL T + 0x1D42E: [461,14,556,16,538], // MATHEMATICAL BOLD SMALL U + 0x1D42F: [461,14,500,21,485], // MATHEMATICAL BOLD SMALL V + 0x1D430: [461,14,722,23,707], // MATHEMATICAL BOLD SMALL W + 0x1D431: [461,0,500,12,484], // MATHEMATICAL BOLD SMALL X + 0x1D432: [461,205,500,16,482], // MATHEMATICAL BOLD SMALL Y + 0x1D433: [461,0,444,21,420], // MATHEMATICAL BOLD SMALL Z + 0x1D7CE: [688,13,500,24,476], // MATHEMATICAL BOLD DIGIT ZERO + 0x1D7CF: [688,0,500,65,441], // MATHEMATICAL BOLD DIGIT ONE + 0x1D7D0: [688,0,500,17,478], // MATHEMATICAL BOLD DIGIT TWO + 0x1D7D1: [688,14,500,16,468], // MATHEMATICAL BOLD DIGIT THREE + 0x1D7D2: [688,0,500,19,476], // MATHEMATICAL BOLD DIGIT FOUR + 0x1D7D3: [676,8,500,22,470], // MATHEMATICAL BOLD DIGIT FIVE + 0x1D7D4: [688,13,500,28,475], // MATHEMATICAL BOLD DIGIT SIX + 0x1D7D5: [676,0,500,17,477], // MATHEMATICAL BOLD DIGIT SEVEN + 0x1D7D6: [688,13,500,28,472], // MATHEMATICAL BOLD DIGIT EIGHT + 0x1D7D7: [688,13,500,26,473] // MATHEMATICAL BOLD DIGIT NINE + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax["HTML-CSS"].fontDir + "/General/Regular/MathBold.js"); diff --git a/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/MathBoldItalic.js b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/MathBoldItalic.js new file mode 100644 index 0000000..2679710 --- /dev/null +++ b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/MathBoldItalic.js @@ -0,0 +1,79 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/MathBoldItalic.js + * + * Copyright (c) 2009-2010 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax['HTML-CSS'].FONTDATA.FONTS['STIXGeneral'], + { + 0x1D468: [685,0,759,39,724], // MATHEMATICAL BOLD ITALIC CAPITAL A + 0x1D469: [669,0,726,42,715], // MATHEMATICAL BOLD ITALIC CAPITAL B + 0x1D46A: [685,12,701,55,745], // MATHEMATICAL BOLD ITALIC CAPITAL C + 0x1D46B: [669,0,818,42,790], // MATHEMATICAL BOLD ITALIC CAPITAL D + 0x1D46C: [669,0,732,42,754], // MATHEMATICAL BOLD ITALIC CAPITAL E + 0x1D46D: [669,0,635,44,750], // MATHEMATICAL BOLD ITALIC CAPITAL F + 0x1D46E: [685,12,768,55,768], // MATHEMATICAL BOLD ITALIC CAPITAL G + 0x1D46F: [669,0,891,42,946], // MATHEMATICAL BOLD ITALIC CAPITAL H + 0x1D470: [669,0,502,42,557], // MATHEMATICAL BOLD ITALIC CAPITAL I + 0x1D471: [669,12,558,66,646], // MATHEMATICAL BOLD ITALIC CAPITAL J + 0x1D472: [669,0,795,42,839], // MATHEMATICAL BOLD ITALIC CAPITAL K + 0x1D473: [669,0,744,42,700], // MATHEMATICAL BOLD ITALIC CAPITAL L + 0x1D474: [669,0,1016,42,1071], // MATHEMATICAL BOLD ITALIC CAPITAL M + 0x1D475: [669,0,869,42,924], // MATHEMATICAL BOLD ITALIC CAPITAL N + 0x1D476: [685,16,777,55,755], // MATHEMATICAL BOLD ITALIC CAPITAL O + 0x1D477: [669,0,612,42,733], // MATHEMATICAL BOLD ITALIC CAPITAL P + 0x1D478: [685,154,810,55,756], // MATHEMATICAL BOLD ITALIC CAPITAL Q + 0x1D479: [669,0,801,42,784], // MATHEMATICAL BOLD ITALIC CAPITAL R + 0x1D47A: [685,10,671,55,704], // MATHEMATICAL BOLD ITALIC CAPITAL S + 0x1D47B: [669,0,568,28,700], // MATHEMATICAL BOLD ITALIC CAPITAL T + 0x1D47C: [669,10,733,72,810], // MATHEMATICAL BOLD ITALIC CAPITAL U + 0x1D47D: [669,15,593,66,797], // MATHEMATICAL BOLD ITALIC CAPITAL V + 0x1D47E: [669,17,925,66,1129], // MATHEMATICAL BOLD ITALIC CAPITAL W + 0x1D47F: [669,0,808,28,830], // MATHEMATICAL BOLD ITALIC CAPITAL X + 0x1D480: [669,0,549,39,725], // MATHEMATICAL BOLD ITALIC CAPITAL Y + 0x1D481: [669,0,797,66,830], // MATHEMATICAL BOLD ITALIC CAPITAL Z + 0x1D482: [462,10,581,44,548], // MATHEMATICAL BOLD ITALIC SMALL A + 0x1D483: [685,8,509,50,487], // MATHEMATICAL BOLD ITALIC SMALL B + 0x1D484: [462,10,477,44,460], // MATHEMATICAL BOLD ITALIC SMALL C + 0x1D485: [685,14,595,44,589], // MATHEMATICAL BOLD ITALIC SMALL D + 0x1D486: [462,10,498,44,459], // MATHEMATICAL BOLD ITALIC SMALL E + 0x1D487: [685,206,572,44,632], // MATHEMATICAL BOLD ITALIC SMALL F + 0x1D488: [462,203,527,22,527], // MATHEMATICAL BOLD ITALIC SMALL G + 0x1D489: [685,10,576,50,543], // MATHEMATICAL BOLD ITALIC SMALL H + 0x1D48A: [620,9,357,55,300], // MATHEMATICAL BOLD ITALIC SMALL I + 0x1D48B: [620,207,431,-18,414], // MATHEMATICAL BOLD ITALIC SMALL J + 0x1D48C: [686,11,580,55,563], // MATHEMATICAL BOLD ITALIC SMALL K + 0x1D48D: [685,9,346,50,310], // MATHEMATICAL BOLD ITALIC SMALL L + 0x1D48E: [467,9,760,33,727], // MATHEMATICAL BOLD ITALIC SMALL M + 0x1D48F: [467,10,559,33,526], // MATHEMATICAL BOLD ITALIC SMALL N + 0x1D490: [462,10,561,44,539], // MATHEMATICAL BOLD ITALIC SMALL O + 0x1D491: [469,205,571,-33,554], // MATHEMATICAL BOLD ITALIC SMALL P + 0x1D492: [462,205,526,44,532], // MATHEMATICAL BOLD ITALIC SMALL Q + 0x1D493: [467,0,441,33,424], // MATHEMATICAL BOLD ITALIC SMALL R + 0x1D494: [462,11,474,55,419], // MATHEMATICAL BOLD ITALIC SMALL S + 0x1D495: [592,10,351,44,318], // MATHEMATICAL BOLD ITALIC SMALL T + 0x1D496: [463,10,535,33,502], // MATHEMATICAL BOLD ITALIC SMALL U + 0x1D497: [473,14,554,52,539], // MATHEMATICAL BOLD ITALIC SMALL V + 0x1D498: [473,14,814,52,799], // MATHEMATICAL BOLD ITALIC SMALL W + 0x1D499: [462,8,587,33,543], // MATHEMATICAL BOLD ITALIC SMALL X + 0x1D49A: [462,205,519,35,522], // MATHEMATICAL BOLD ITALIC SMALL Y + 0x1D49B: [461,19,531,35,499] // MATHEMATICAL BOLD ITALIC SMALL Z + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax["HTML-CSS"].fontDir + "/General/Regular/MathBoldItalic.js"); diff --git a/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/MathBoldScript.js b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/MathBoldScript.js new file mode 100644 index 0000000..f4067e6 --- /dev/null +++ b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/MathBoldScript.js @@ -0,0 +1,79 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/MathBoldScript.js + * + * Copyright (c) 2009-2010 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax['HTML-CSS'].FONTDATA.FONTS['STIXGeneral'], + { + 0x1D4D0: [699,21,984,50,955], // MATHEMATICAL BOLD SCRIPT CAPITAL A + 0x1D4D1: [699,21,1060,55,985], // MATHEMATICAL BOLD SCRIPT CAPITAL B + 0x1D4D2: [699,21,912,60,877], // MATHEMATICAL BOLD SCRIPT CAPITAL C + 0x1D4D3: [699,21,991,60,906], // MATHEMATICAL BOLD SCRIPT CAPITAL D + 0x1D4D4: [699,21,826,95,791], // MATHEMATICAL BOLD SCRIPT CAPITAL E + 0x1D4D5: [699,21,1042,65,1025], // MATHEMATICAL BOLD SCRIPT CAPITAL F + 0x1D4D6: [699,21,834,82,799], // MATHEMATICAL BOLD SCRIPT CAPITAL G + 0x1D4D7: [699,21,1171,65,1154], // MATHEMATICAL BOLD SCRIPT CAPITAL H + 0x1D4D8: [699,21,997,47,977], // MATHEMATICAL BOLD SCRIPT CAPITAL I + 0x1D4D9: [699,224,906,19,886], // MATHEMATICAL BOLD SCRIPT CAPITAL J + 0x1D4DA: [699,21,1154,45,1130], // MATHEMATICAL BOLD SCRIPT CAPITAL K + 0x1D4DB: [699,21,1036,40,1015], // MATHEMATICAL BOLD SCRIPT CAPITAL L + 0x1D4DC: [699,21,1300,60,1245], // MATHEMATICAL BOLD SCRIPT CAPITAL M + 0x1D4DD: [699,21,1095,60,1078], // MATHEMATICAL BOLD SCRIPT CAPITAL N + 0x1D4DE: [699,21,809,72,749], // MATHEMATICAL BOLD SCRIPT CAPITAL O + 0x1D4DF: [699,21,1025,55,994], // MATHEMATICAL BOLD SCRIPT CAPITAL P + 0x1D4E0: [699,52,809,72,749], // MATHEMATICAL BOLD SCRIPT CAPITAL Q + 0x1D4E1: [699,21,1048,55,973], // MATHEMATICAL BOLD SCRIPT CAPITAL R + 0x1D4E2: [699,21,816,81,781], // MATHEMATICAL BOLD SCRIPT CAPITAL S + 0x1D4E3: [699,21,1030,65,1025], // MATHEMATICAL BOLD SCRIPT CAPITAL T + 0x1D4E4: [699,21,964,60,904], // MATHEMATICAL BOLD SCRIPT CAPITAL U + 0x1D4E5: [699,21,1040,60,1024], // MATHEMATICAL BOLD SCRIPT CAPITAL V + 0x1D4E6: [699,21,1320,60,1306], // MATHEMATICAL BOLD SCRIPT CAPITAL W + 0x1D4E7: [699,21,1033,64,1010], // MATHEMATICAL BOLD SCRIPT CAPITAL X + 0x1D4E8: [699,224,989,60,963], // MATHEMATICAL BOLD SCRIPT CAPITAL Y + 0x1D4E9: [699,21,996,50,976], // MATHEMATICAL BOLD SCRIPT CAPITAL Z + 0x1D4EA: [462,14,942,35,865], // MATHEMATICAL BOLD SCRIPT SMALL A + 0x1D4EB: [699,14,646,60,624], // MATHEMATICAL BOLD SCRIPT SMALL B + 0x1D4EC: [462,14,764,35,683], // MATHEMATICAL BOLD SCRIPT SMALL C + 0x1D4ED: [699,14,949,28,912], // MATHEMATICAL BOLD SCRIPT SMALL D + 0x1D4EE: [462,14,726,35,648], // MATHEMATICAL BOLD SCRIPT SMALL E + 0x1D4EF: [699,205,768,25,749], // MATHEMATICAL BOLD SCRIPT SMALL F + 0x1D4F0: [462,224,819,27,771], // MATHEMATICAL BOLD SCRIPT SMALL G + 0x1D4F1: [699,14,838,55,758], // MATHEMATICAL BOLD SCRIPT SMALL H + 0x1D4F2: [698,14,558,40,534], // MATHEMATICAL BOLD SCRIPT SMALL I + 0x1D4F3: [698,223,840,41,823], // MATHEMATICAL BOLD SCRIPT SMALL J + 0x1D4F4: [699,14,810,55,730], // MATHEMATICAL BOLD SCRIPT SMALL K + 0x1D4F5: [699,14,650,43,632], // MATHEMATICAL BOLD SCRIPT SMALL L + 0x1D4F6: [462,14,1137,45,1057], // MATHEMATICAL BOLD SCRIPT SMALL M + 0x1D4F7: [462,14,851,45,771], // MATHEMATICAL BOLD SCRIPT SMALL N + 0x1D4F8: [462,14,848,35,780], // MATHEMATICAL BOLD SCRIPT SMALL O + 0x1D4F9: [462,205,885,25,770], // MATHEMATICAL BOLD SCRIPT SMALL P + 0x1D4FA: [462,205,913,35,833], // MATHEMATICAL BOLD SCRIPT SMALL Q + 0x1D4FB: [462,0,677,40,648], // MATHEMATICAL BOLD SCRIPT SMALL R + 0x1D4FC: [557,14,562,51,449], // MATHEMATICAL BOLD SCRIPT SMALL S + 0x1D4FD: [669,14,618,47,612], // MATHEMATICAL BOLD SCRIPT SMALL T + 0x1D4FE: [450,14,842,31,762], // MATHEMATICAL BOLD SCRIPT SMALL U + 0x1D4FF: [458,14,732,40,670], // MATHEMATICAL BOLD SCRIPT SMALL V + 0x1D500: [458,14,1012,40,950], // MATHEMATICAL BOLD SCRIPT SMALL W + 0x1D501: [462,14,820,63,740], // MATHEMATICAL BOLD SCRIPT SMALL X + 0x1D502: [450,224,784,40,711], // MATHEMATICAL BOLD SCRIPT SMALL Y + 0x1D503: [493,14,782,61,702] // MATHEMATICAL BOLD SCRIPT SMALL Z + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax["HTML-CSS"].fontDir + "/General/Regular/MathBoldScript.js"); diff --git a/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/MathItalic.js b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/MathItalic.js new file mode 100644 index 0000000..227c300 --- /dev/null +++ b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/MathItalic.js @@ -0,0 +1,78 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/MathItalic.js + * + * Copyright (c) 2009-2010 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax['HTML-CSS'].FONTDATA.FONTS['STIXGeneral'], + { + 0x1D434: [667,0,717,35,685], // MATHEMATICAL ITALIC CAPITAL A + 0x1D435: [653,0,696,38,686], // MATHEMATICAL ITALIC CAPITAL B + 0x1D436: [659,12,671,50,711], // MATHEMATICAL ITALIC CAPITAL C + 0x1D437: [653,0,790,38,765], // MATHEMATICAL ITALIC CAPITAL D + 0x1D438: [653,0,714,38,734], // MATHEMATICAL ITALIC CAPITAL E + 0x1D439: [653,0,618,38,723], // MATHEMATICAL ITALIC CAPITAL F + 0x1D43A: [668,12,734,50,734], // MATHEMATICAL ITALIC CAPITAL G + 0x1D43B: [653,0,873,38,923], // MATHEMATICAL ITALIC CAPITAL H + 0x1D43C: [653,0,480,38,530], // MATHEMATICAL ITALIC CAPITAL I + 0x1D43D: [653,12,540,60,620], // MATHEMATICAL ITALIC CAPITAL J + 0x1D43E: [653,0,762,38,802], // MATHEMATICAL ITALIC CAPITAL K + 0x1D43F: [653,0,708,38,668], // MATHEMATICAL ITALIC CAPITAL L + 0x1D440: [653,0,1005,38,1055], // MATHEMATICAL ITALIC CAPITAL M + 0x1D441: [653,0,851,38,901], // MATHEMATICAL ITALIC CAPITAL N + 0x1D442: [669,11,732,50,712], // MATHEMATICAL ITALIC CAPITAL O + 0x1D443: [653,0,594,38,704], // MATHEMATICAL ITALIC CAPITAL P + 0x1D444: [667,152,781,50,731], // MATHEMATICAL ITALIC CAPITAL Q + 0x1D445: [653,0,740,38,725], // MATHEMATICAL ITALIC CAPITAL R + 0x1D446: [668,10,650,50,680], // MATHEMATICAL ITALIC CAPITAL S + 0x1D447: [653,0,550,25,670], // MATHEMATICAL ITALIC CAPITAL T + 0x1D448: [653,13,705,65,775], // MATHEMATICAL ITALIC CAPITAL U + 0x1D449: [653,16,575,60,760], // MATHEMATICAL ITALIC CAPITAL V + 0x1D44A: [653,16,916,60,1101], // MATHEMATICAL ITALIC CAPITAL W + 0x1D44B: [653,0,790,25,810], // MATHEMATICAL ITALIC CAPITAL X + 0x1D44C: [653,0,535,35,695], // MATHEMATICAL ITALIC CAPITAL Y + 0x1D44D: [653,0,772,60,802], // MATHEMATICAL ITALIC CAPITAL Z + 0x1D44E: [441,10,502,40,472], // MATHEMATICAL ITALIC SMALL A + 0x1D44F: [668,11,470,45,450], // MATHEMATICAL ITALIC SMALL B + 0x1D450: [441,11,415,40,400], // MATHEMATICAL ITALIC SMALL C + 0x1D451: [668,12,532,40,527], // MATHEMATICAL ITALIC SMALL D + 0x1D452: [441,11,445,40,410], // MATHEMATICAL ITALIC SMALL E + 0x1D453: [668,187,555,40,615], // MATHEMATICAL ITALIC SMALL F + 0x1D454: [441,187,492,20,492], // MATHEMATICAL ITALIC SMALL G + 0x1D456: [616,11,311,50,257], // MATHEMATICAL ITALIC SMALL I + 0x1D457: [616,187,389,-16,372], // MATHEMATICAL ITALIC SMALL J + 0x1D458: [668,11,542,45,527], // MATHEMATICAL ITALIC SMALL K + 0x1D459: [668,10,318,45,278], // MATHEMATICAL ITALIC SMALL L + 0x1D45A: [441,8,710,30,680], // MATHEMATICAL ITALIC SMALL M + 0x1D45B: [441,8,497,30,467], // MATHEMATICAL ITALIC SMALL N + 0x1D45C: [441,11,458,40,438], // MATHEMATICAL ITALIC SMALL O + 0x1D45D: [441,183,489,-30,474], // MATHEMATICAL ITALIC SMALL P + 0x1D45E: [441,183,458,40,463], // MATHEMATICAL ITALIC SMALL Q + 0x1D45F: [441,0,408,30,393], // MATHEMATICAL ITALIC SMALL R + 0x1D460: [441,11,440,50,390], // MATHEMATICAL ITALIC SMALL S + 0x1D461: [567,9,313,40,283], // MATHEMATICAL ITALIC SMALL T + 0x1D462: [441,9,474,30,444], // MATHEMATICAL ITALIC SMALL U + 0x1D463: [458,9,506,72,479], // MATHEMATICAL ITALIC SMALL V + 0x1D464: [460,9,775,72,748], // MATHEMATICAL ITALIC SMALL W + 0x1D465: [441,9,550,30,510], // MATHEMATICAL ITALIC SMALL X + 0x1D466: [440,183,496,30,496], // MATHEMATICAL ITALIC SMALL Y + 0x1D467: [450,14,499,42,467] // MATHEMATICAL ITALIC SMALL Z + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax["HTML-CSS"].fontDir + "/General/Regular/MathItalic.js"); diff --git a/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/MathOperators.js b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/MathOperators.js new file mode 100644 index 0000000..6f60fc6 --- /dev/null +++ b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/MathOperators.js @@ -0,0 +1,207 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/MathOperators.js + * + * Copyright (c) 2009-2010 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax['HTML-CSS'].FONTDATA.FONTS['STIXGeneral'], + { + 0x2201: [760,15,463,59,404], // COMPLEMENT + 0x2204: [775,122,560,71,487], // THERE DOES NOT EXIST + 0x2206: [674,0,731,63,665], // INCREMENT + 0x220A: [459,-45,486,64,422], // SMALL ELEMENT OF + 0x220C: [662,157,685,60,625], // stix-negated (vert) contains + 0x220D: [459,-45,486,64,422], // SMALL CONTAINS AS MEMBER + 0x220E: [640,0,545,60,485], // END OF PROOF + 0x2214: [741,41,685,48,636], // DOT PLUS + 0x221B: [973,259,928,112,963], // CUBE ROOT + 0x221C: [973,259,928,112,963], // FOURTH ROOT + 0x221F: [584,0,685,50,634], // RIGHT ANGLE + 0x2221: [547,72,685,22,642], // MEASURED ANGLE + 0x2222: [519,11,685,56,653], // SPHERICAL ANGLE + 0x2224: [690,189,404,23,381], // DOES NOT DIVIDE + 0x2226: [690,189,609,23,586], // NOT PARALLEL TO + 0x222C: [824,320,701,32,881], // DOUBLE INTEGRAL + 0x222D: [824,320,943,32,1123], // TRIPLE INTEGRAL + 0x222E: [824,320,499,32,639], // CONTOUR INTEGRAL + 0x222F: [824,320,741,32,881], // SURFACE INTEGRAL + 0x2230: [824,320,982,32,1122], // VOLUME INTEGRAL + 0x2231: [824,320,499,32,639], // CLOCKWISE INTEGRAL + 0x2232: [824,320,499,32,639], // CLOCKWISE CONTOUR INTEGRAL + 0x2233: [824,320,499,32,639], // ANTICLOCKWISE CONTOUR INTEGRAL + 0x2234: [521,16,620,38,582], // THEREFORE + 0x2235: [521,16,620,38,582], // BECAUSE + 0x2236: [521,13,511,192,319], // RATIO + 0x2237: [521,13,685,82,602], // PROPORTION + 0x2238: [511,-220,685,48,637], // DOT MINUS + 0x2239: [511,5,685,48,637], // EXCESS + 0x223A: [511,5,685,48,637], // GEOMETRIC PROPORTION + 0x223B: [521,13,685,48,637], // HOMOTHETIC + 0x223D: [362,-148,685,48,637], // REVERSED TILDE + 0x223E: [413,-90,685,48,637], // stix-most positive + 0x223F: [467,-39,685,49,637], // stix-reverse sine wave + 0x2241: [424,-88,685,48,637], // stix-not, vert, similar + 0x2242: [445,-55,685,48,637], // MINUS TILDE + 0x2244: [519,35,685,48,637], // stix-not (vert) similar or equal + 0x2246: [604,107,685,47,637], // APPROXIMATELY BUT NOT ACTUALLY EQUAL TO + 0x2247: [647,202,685,48,637], // stix-not (vert) similar over two-line equals + 0x2249: [549,49,685,48,637], // stix-not, vert, approximate + 0x224A: [552,45,685,48,637], // ALMOST EQUAL OR EQUAL TO + 0x224B: [532,26,685,48,638], // TRIPLE TILDE + 0x224C: [532,27,685,48,637], // stix-all equal to (lazy S over equals) (formerly 224C; that shape changed) + 0x224E: [471,-35,685,48,637], // GEOMETRICALLY EQUIVALENT TO + 0x224F: [471,-120,685,48,637], // DIFFERENCE BETWEEN + 0x2251: [611,106,685,48,637], // GEOMETRICALLY EQUAL TO + 0x2252: [611,105,685,48,637], // APPROXIMATELY EQUAL TO OR THE IMAGE OF + 0x2253: [611,106,685,48,637], // IMAGE OF OR APPROXIMATELY EQUAL TO + 0x2254: [417,-89,824,48,776], // COLON EQUALS + 0x2255: [417,-89,824,48,776], // EQUALS COLON + 0x2256: [416,-90,685,48,637], // RING IN EQUAL TO + 0x2257: [752,-120,685,48,637], // RING EQUAL TO + 0x2258: [729,-120,685,48,637], // CORRESPONDS TO + 0x2259: [853,-120,685,48,637], // ESTIMATES + 0x225A: [853,-120,685,48,637], // EQUIANGULAR TO + 0x225B: [756,-120,685,48,637], // STAR EQUALS + 0x225C: [853,-120,685,48,637], // DELTA EQUAL TO + 0x225D: [823,-120,685,7,678], // EQUAL TO BY DEFINITION + 0x225E: [703,-120,685,48,637], // MEASURED BY + 0x225F: [863,-120,685,48,637], // QUESTIONED EQUAL TO + 0x2262: [662,156,685,48,637], // stix-not (vert) three-line equals + 0x2263: [544,38,685,48,637], // STRICTLY EQUIVALENT TO + 0x2266: [718,211,685,57,622], // LESS-THAN OVER EQUAL TO + 0x2267: [718,211,685,57,622], // GREATER-THAN OVER EQUAL TO + 0x2268: [746,260,685,56,621], // stix-less, vert, not double equals + 0x2269: [746,260,685,56,621], // stix-gt, vert, not double equals + 0x226C: [730,224,466,85,381], // BETWEEN + 0x226D: [572,66,685,48,637], // stix-not (vert) asymptotically equal to + 0x226E: [662,156,685,56,621], // stix-not, vert, less-than + 0x226F: [662,156,685,56,621], // stix-not, vert, greater-than + 0x2270: [730,229,685,56,621], // stix-not, vert, less-than-or-equal + 0x2271: [730,229,685,56,622], // stix-not, vert, greater-than-or-equal + 0x2272: [664,164,685,48,637], // stix-less-than or (contour) similar + 0x2273: [664,164,685,48,637], // stix-greater-than or (contour) similar + 0x2274: [731,228,685,48,637], // stix-not, vert, less, similar + 0x2275: [730,229,685,48,637], // stix-not, vert, greater, similar + 0x2276: [705,204,685,56,621], // LESS-THAN OR GREATER-THAN + 0x2277: [705,204,685,56,621], // GREATER-THAN OR LESS-THAN + 0x2278: [750,250,685,48,637], // stix-not, vert, less, greater + 0x2279: [750,250,685,48,637], // stix-not, vert, greater, less + 0x227E: [664,164,685,48,637], // PRECEDES OR EQUIVALENT TO + 0x227F: [664,164,685,48,637], // SUCCEEDS OR EQUIVALENT TO + 0x2280: [662,156,685,64,621], // DOES NOT PRECEDE + 0x2281: [662,156,685,64,621], // stix-not (vert) succeeds + 0x2284: [662,156,685,65,623], // stix-not subset [vertical negation] + 0x2285: [662,156,685,65,623], // stix-not superset [vertical negation] + 0x2288: [730,229,685,64,621], // stix-/nsubseteq N: not (vert) subset, equals + 0x2289: [730,229,685,64,621], // stix-/nsupseteq N: not (vert) superset, equals + 0x228A: [627,216,685,64,621], // stix-subset, not equals, variant + 0x228B: [627,216,685,64,621], // stix-superset, not equals, variant + 0x228C: [536,31,620,48,572], // MULTISET + 0x228D: [536,31,620,48,572], // MULTISET MULTIPLICATION + 0x228F: [531,25,685,64,621], // SQUARE IMAGE OF + 0x2290: [531,25,685,64,621], // SQUARE ORIGINAL OF + 0x229A: [623,119,842,50,792], // CIRCLED RING OPERATOR + 0x229B: [623,119,842,50,792], // CIRCLED ASTERISK OPERATOR + 0x229C: [623,119,842,50,792], // stix-two horizontal bars in circle + 0x229D: [623,119,842,50,792], // CIRCLED DASH + 0x229E: [662,158,910,45,865], // SQUARED PLUS + 0x229F: [662,158,910,45,865], // SQUARED MINUS + 0x22A0: [662,158,910,45,865], // SQUARED TIMES + 0x22A1: [662,157,910,45,865], // SQUARED DOT OPERATOR + 0x22A6: [662,0,497,64,433], // ASSERTION + 0x22A7: [662,0,498,64,434], // MODELS + 0x22A9: [662,0,860,57,814], // FORCES + 0x22AA: [662,0,860,45,815], // TRIPLE VERTICAL BAR RIGHT TURNSTILE + 0x22AB: [662,0,860,57,814], // DOUBLE VERTICAL BAR DOUBLE RIGHT TURNSTILE + 0x22AC: [662,0,786,9,723], // DOES NOT PROVE + 0x22AD: [662,0,786,9,723], // NOT TRUE + 0x22AE: [662,0,968,9,922], // DOES NOT FORCE + 0x22AF: [662,0,968,9,922], // NEGATED DOUBLE VERTICAL BAR DOUBLE RIGHT TURNSTILE + 0x22B0: [551,45,685,64,621], // PRECEDES UNDER RELATION + 0x22B1: [551,45,685,64,621], // SUCCEEDS UNDER RELATION + 0x22B2: [531,25,685,24,631], // NORMAL SUBGROUP OF + 0x22B3: [531,25,685,54,661], // CONTAINS AS NORMAL SUBGROUP + 0x22B4: [607,103,685,24,631], // NORMAL SUBGROUP OF OR EQUAL TO + 0x22B5: [607,103,685,54,661], // CONTAINS AS NORMAL SUBGROUP OR EQUAL TO + 0x22B6: [403,-103,1145,50,1095], // ORIGINAL OF + 0x22B7: [403,-103,1145,50,1095], // IMAGE OF + 0x22B8: [403,-103,849,50,799], // MULTIMAP + 0x22B9: [547,41,685,48,636], // HERMITIAN CONJUGATE MATRIX + 0x22BA: [450,212,480,74,406], // INTERCALATE + 0x22BB: [536,139,620,32,590], // XOR + 0x22BC: [646,29,620,32,590], // NAND + 0x22BD: [646,29,620,32,590], // NOR + 0x22BE: [584,0,685,50,634], // RIGHT ANGLE WITH ARC + 0x22BF: [662,158,911,45,865], // RIGHT TRIANGLE + 0x22C7: [545,38,685,51,634], // DIVISION TIMES + 0x22C9: [582,80,810,93,716], // LEFT NORMAL FACTOR SEMIDIRECT PRODUCT + 0x22CA: [582,80,810,93,716], // RIGHT NORMAL FACTOR SEMIDIRECT PRODUCT + 0x22CB: [582,80,810,74,736], // LEFT SEMIDIRECT PRODUCT + 0x22CC: [582,80,810,74,736], // RIGHT SEMIDIRECT PRODUCT + 0x22CD: [445,-55,685,48,637], // REVERSED TILDE EQUALS + 0x22CE: [532,25,580,31,549], // CURLY LOGICAL OR + 0x22CF: [532,25,580,31,549], // CURLY LOGICAL AND + 0x22D0: [531,25,685,64,621], // DOUBLE SUBSET + 0x22D1: [531,25,685,64,621], // DOUBLE SUPERSET + 0x22D2: [536,31,620,48,572], // DOUBLE INTERSECTION + 0x22D3: [536,31,620,48,572], // DOUBLE UNION + 0x22D4: [631,31,620,48,572], // PITCHFORK + 0x22D5: [690,189,685,48,637], // EQUAL AND PARALLEL TO + 0x22D6: [534,24,685,56,621], // LESS-THAN WITH DOT + 0x22D7: [534,24,685,56,621], // GREATER-THAN WITH DOT + 0x22D8: [534,24,1274,45,1229], // VERY MUCH LESS-THAN + 0x22D9: [534,24,1274,45,1229], // VERY MUCH GREATER-THAN + 0x22DA: [830,324,685,56,621], // stix-less, equal, slanted, greater + 0x22DB: [830,324,685,56,621], // stix-greater, equal, slanted, less + 0x22DC: [607,103,685,64,621], // EQUAL TO OR LESS-THAN + 0x22DD: [607,103,685,64,621], // EQUAL TO OR GREATER-THAN + 0x22DE: [627,121,685,64,621], // EQUAL TO OR PRECEDES + 0x22DF: [627,121,685,64,621], // EQUAL TO OR SUCCEEDS + 0x22E0: [730,229,685,64,621], // stix-not (vert) precedes or contour equals + 0x22E1: [730,229,685,64,621], // stix-not (vert) succeeds or contour equals + 0x22E2: [730,229,685,65,622], // NOT SQUARE IMAGE OF OR EQUAL TO + 0x22E3: [730,229,685,65,622], // NOT SQUARE ORIGINAL OF OR EQUAL TO + 0x22E4: [627,216,685,64,621], // SQUARE IMAGE OF OR NOT EQUAL TO + 0x22E5: [627,216,685,64,621], // SQUARE ORIGINAL OF OR NOT EQUAL TO + 0x22E6: [669,279,685,48,637], // LESS-THAN BUT NOT EQUIVALENT TO + 0x22E7: [669,279,685,48,637], // GREATER-THAN BUT NOT EQUIVALENT TO + 0x22E8: [670,279,685,48,637], // PRECEDES BUT NOT EQUIVALENT TO + 0x22E9: [670,279,685,48,637], // SUCCEEDS BUT NOT EQUIVALENT TO + 0x22EA: [662,156,635,24,581], // NOT NORMAL SUBGROUP OF + 0x22EB: [662,156,635,54,611], // DOES NOT CONTAIN AS NORMAL SUBGROUP + 0x22EC: [730,229,635,24,581], // stix-not, vert, left triangle, equals + 0x22ED: [730,229,635,54,611], // stix-not, vert, right triangle, equals + 0x22F0: [520,18,926,194,732], // UP RIGHT DIAGONAL ELLIPSIS + 0x22F2: [531,27,823,55,763], // ELEMENT OF WITH LONG HORIZONTAL STROKE + 0x22F3: [531,27,685,60,625], // ELEMENT OF WITH VERTICAL BAR AT END OF HORIZONTAL STROKE + 0x22F4: [459,-45,486,62,420], // SMALL ELEMENT OF WITH VERTICAL BAR AT END OF HORIZONTAL STROKE + 0x22F5: [716,27,685,60,625], // ELEMENT OF WITH DOT ABOVE + 0x22F6: [685,27,685,60,625], // ELEMENT OF WITH OVERBAR + 0x22F7: [613,-45,486,62,420], // SMALL ELEMENT OF WITH OVERBAR + 0x22F8: [532,180,685,60,625], // ELEMENT OF WITH UNDERBAR + 0x22F9: [531,27,685,61,625], // ELEMENT OF WITH TWO HORIZONTAL STROKES + 0x22FA: [531,27,823,55,763], // CONTAINS WITH LONG HORIZONTAL STROKE + 0x22FB: [531,27,685,59,624], // CONTAINS WITH VERTICAL BAR AT END OF HORIZONTAL STROKE + 0x22FC: [459,-45,486,62,420], // SMALL CONTAINS WITH VERTICAL BAR AT END OF HORIZONTAL STROKE + 0x22FD: [685,27,685,61,626], // CONTAINS WITH OVERBAR + 0x22FE: [613,-45,486,67,425], // SMALL CONTAINS WITH OVERBAR + 0x22FF: [662,0,560,73,487] // Z NOTATION BAG MEMBERSHIP + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax["HTML-CSS"].fontDir + "/General/Regular/MathOperators.js"); diff --git a/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/MathSS.js b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/MathSS.js new file mode 100644 index 0000000..bd85faf --- /dev/null +++ b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/MathSS.js @@ -0,0 +1,89 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/MathSS.js + * + * Copyright (c) 2009-2010 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax['HTML-CSS'].FONTDATA.FONTS['STIXGeneral'], + { + 0x1D5A0: [674,0,666,31,635], // MATHEMATICAL SANS-SERIF CAPITAL A + 0x1D5A1: [662,0,604,74,547], // MATHEMATICAL SANS-SERIF CAPITAL B + 0x1D5A2: [676,14,671,27,637], // MATHEMATICAL SANS-SERIF CAPITAL C + 0x1D5A3: [662,0,692,74,656], // MATHEMATICAL SANS-SERIF CAPITAL D + 0x1D5A4: [662,0,583,74,540], // MATHEMATICAL SANS-SERIF CAPITAL E + 0x1D5A5: [662,0,535,74,523], // MATHEMATICAL SANS-SERIF CAPITAL F + 0x1D5A6: [676,14,695,27,627], // MATHEMATICAL SANS-SERIF CAPITAL G + 0x1D5A7: [662,0,658,74,584], // MATHEMATICAL SANS-SERIF CAPITAL H + 0x1D5A8: [662,0,401,45,356], // MATHEMATICAL SANS-SERIF CAPITAL I + 0x1D5A9: [662,14,398,12,305], // MATHEMATICAL SANS-SERIF CAPITAL J + 0x1D5AA: [662,0,634,74,630], // MATHEMATICAL SANS-SERIF CAPITAL K + 0x1D5AB: [662,0,559,74,546], // MATHEMATICAL SANS-SERIF CAPITAL L + 0x1D5AC: [662,0,843,75,768], // MATHEMATICAL SANS-SERIF CAPITAL M + 0x1D5AD: [662,14,675,74,601], // MATHEMATICAL SANS-SERIF CAPITAL N + 0x1D5AE: [676,14,714,30,684], // MATHEMATICAL SANS-SERIF CAPITAL O + 0x1D5AF: [662,0,525,74,512], // MATHEMATICAL SANS-SERIF CAPITAL P + 0x1D5B0: [676,175,716,30,691], // MATHEMATICAL SANS-SERIF CAPITAL Q + 0x1D5B1: [662,0,589,74,581], // MATHEMATICAL SANS-SERIF CAPITAL R + 0x1D5B2: [676,14,541,32,481], // MATHEMATICAL SANS-SERIF CAPITAL S + 0x1D5B3: [662,0,608,15,593], // MATHEMATICAL SANS-SERIF CAPITAL T + 0x1D5B4: [662,14,661,69,592], // MATHEMATICAL SANS-SERIF CAPITAL U + 0x1D5B5: [662,11,654,31,623], // MATHEMATICAL SANS-SERIF CAPITAL V + 0x1D5B6: [662,11,921,29,892], // MATHEMATICAL SANS-SERIF CAPITAL W + 0x1D5B7: [662,0,700,31,669], // MATHEMATICAL SANS-SERIF CAPITAL X + 0x1D5B8: [662,0,630,21,609], // MATHEMATICAL SANS-SERIF CAPITAL Y + 0x1D5B9: [662,0,637,28,603], // MATHEMATICAL SANS-SERIF CAPITAL Z + 0x1D5BA: [463,10,448,35,391], // MATHEMATICAL SANS-SERIF SMALL A + 0x1D5BB: [684,10,496,63,466], // MATHEMATICAL SANS-SERIF SMALL B + 0x1D5BC: [463,10,456,23,432], // MATHEMATICAL SANS-SERIF SMALL C + 0x1D5BD: [684,11,494,28,437], // MATHEMATICAL SANS-SERIF SMALL D + 0x1D5BE: [463,10,444,23,428], // MATHEMATICAL SANS-SERIF SMALL E + 0x1D5BF: [683,0,336,20,369], // MATHEMATICAL SANS-SERIF SMALL F + 0x1D5C0: [463,216,496,21,467], // MATHEMATICAL SANS-SERIF SMALL G + 0x1D5C1: [684,0,487,63,424], // MATHEMATICAL SANS-SERIF SMALL H + 0x1D5C2: [679,0,220,64,156], // MATHEMATICAL SANS-SERIF SMALL I + 0x1D5C3: [679,216,254,-74,185], // MATHEMATICAL SANS-SERIF SMALL J + 0x1D5C4: [684,0,453,63,452], // MATHEMATICAL SANS-SERIF SMALL K + 0x1D5C5: [684,0,205,61,144], // MATHEMATICAL SANS-SERIF SMALL L + 0x1D5C6: [464,0,756,65,691], // MATHEMATICAL SANS-SERIF SMALL M + 0x1D5C7: [464,0,487,63,424], // MATHEMATICAL SANS-SERIF SMALL N + 0x1D5C8: [463,10,499,28,471], // MATHEMATICAL SANS-SERIF SMALL O + 0x1D5C9: [464,216,498,67,470], // MATHEMATICAL SANS-SERIF SMALL P + 0x1D5CA: [464,216,498,28,435], // MATHEMATICAL SANS-SERIF SMALL Q + 0x1D5CB: [464,0,336,63,328], // MATHEMATICAL SANS-SERIF SMALL R + 0x1D5CC: [463,10,389,49,350], // MATHEMATICAL SANS-SERIF SMALL S + 0x1D5CD: [580,10,291,1,287], // MATHEMATICAL SANS-SERIF SMALL T + 0x1D5CE: [453,11,491,63,430], // MATHEMATICAL SANS-SERIF SMALL U + 0x1D5CF: [453,14,474,31,443], // MATHEMATICAL SANS-SERIF SMALL V + 0x1D5D0: [453,14,702,28,675], // MATHEMATICAL SANS-SERIF SMALL W + 0x1D5D1: [453,0,482,30,452], // MATHEMATICAL SANS-SERIF SMALL X + 0x1D5D2: [453,216,484,28,453], // MATHEMATICAL SANS-SERIF SMALL Y + 0x1D5D3: [453,0,447,25,417], // MATHEMATICAL SANS-SERIF SMALL Z + 0x1D7E2: [676,14,500,23,477], // MATHEMATICAL SANS-SERIF DIGIT ZERO + 0x1D7E3: [677,0,500,108,302], // MATHEMATICAL SANS-SERIF DIGIT ONE + 0x1D7E4: [676,0,500,35,469], // MATHEMATICAL SANS-SERIF DIGIT TWO + 0x1D7E5: [676,14,500,31,441], // MATHEMATICAL SANS-SERIF DIGIT THREE + 0x1D7E6: [676,0,500,11,489], // MATHEMATICAL SANS-SERIF DIGIT FOUR + 0x1D7E7: [676,14,500,36,458], // MATHEMATICAL SANS-SERIF DIGIT FIVE + 0x1D7E8: [684,14,500,32,470], // MATHEMATICAL SANS-SERIF DIGIT SIX + 0x1D7E9: [662,8,500,38,451], // MATHEMATICAL SANS-SERIF DIGIT SEVEN + 0x1D7EA: [676,14,500,49,447], // MATHEMATICAL SANS-SERIF DIGIT EIGHT + 0x1D7EB: [676,21,500,28,466] // MATHEMATICAL SANS-SERIF DIGIT NINE + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax["HTML-CSS"].fontDir + "/General/Regular/MathSS.js"); diff --git a/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/MathSSBold.js b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/MathSSBold.js new file mode 100644 index 0000000..f125b8d --- /dev/null +++ b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/MathSSBold.js @@ -0,0 +1,90 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/MathSSBold.js + * + * Copyright (c) 2009-2010 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax['HTML-CSS'].FONTDATA.FONTS['STIXGeneral'], + { + 0x1D5D4: [690,0,690,25,665], // MATHEMATICAL SANS-SERIF BOLD CAPITAL A + 0x1D5D5: [676,0,636,80,594], // MATHEMATICAL SANS-SERIF BOLD CAPITAL B + 0x1D5D6: [691,19,723,49,688], // MATHEMATICAL SANS-SERIF BOLD CAPITAL C + 0x1D5D7: [676,0,709,80,674], // MATHEMATICAL SANS-SERIF BOLD CAPITAL D + 0x1D5D8: [676,0,635,80,597], // MATHEMATICAL SANS-SERIF BOLD CAPITAL E + 0x1D5D9: [676,0,582,80,570], // MATHEMATICAL SANS-SERIF BOLD CAPITAL F + 0x1D5DA: [691,19,746,37,671], // MATHEMATICAL SANS-SERIF BOLD CAPITAL G + 0x1D5DB: [676,0,715,80,635], // MATHEMATICAL SANS-SERIF BOLD CAPITAL H + 0x1D5DC: [676,0,440,65,375], // MATHEMATICAL SANS-SERIF BOLD CAPITAL I + 0x1D5DD: [676,96,481,15,406], // MATHEMATICAL SANS-SERIF BOLD CAPITAL J + 0x1D5DE: [676,0,712,80,707], // MATHEMATICAL SANS-SERIF BOLD CAPITAL K + 0x1D5DF: [676,0,603,80,587], // MATHEMATICAL SANS-SERIF BOLD CAPITAL L + 0x1D5E0: [676,0,913,80,833], // MATHEMATICAL SANS-SERIF BOLD CAPITAL M + 0x1D5E1: [676,18,724,80,644], // MATHEMATICAL SANS-SERIF BOLD CAPITAL N + 0x1D5E2: [692,18,778,35,743], // MATHEMATICAL SANS-SERIF BOLD CAPITAL O + 0x1D5E3: [676,0,581,80,569], // MATHEMATICAL SANS-SERIF BOLD CAPITAL P + 0x1D5E4: [691,176,779,35,754], // MATHEMATICAL SANS-SERIF BOLD CAPITAL Q + 0x1D5E5: [676,0,670,80,657], // MATHEMATICAL SANS-SERIF BOLD CAPITAL R + 0x1D5E6: [691,19,554,35,511], // MATHEMATICAL SANS-SERIF BOLD CAPITAL S + 0x1D5E7: [676,0,641,14,627], // MATHEMATICAL SANS-SERIF BOLD CAPITAL T + 0x1D5E8: [676,19,699,75,624], // MATHEMATICAL SANS-SERIF BOLD CAPITAL U + 0x1D5E9: [676,18,690,25,665], // MATHEMATICAL SANS-SERIF BOLD CAPITAL V + 0x1D5EA: [676,15,997,30,967], // MATHEMATICAL SANS-SERIF BOLD CAPITAL W + 0x1D5EB: [676,0,740,40,700], // MATHEMATICAL SANS-SERIF BOLD CAPITAL X + 0x1D5EC: [676,0,694,20,674], // MATHEMATICAL SANS-SERIF BOLD CAPITAL Y + 0x1D5ED: [676,0,653,25,623], // MATHEMATICAL SANS-SERIF BOLD CAPITAL Z + 0x1D5EE: [473,14,489,23,428], // MATHEMATICAL SANS-SERIF BOLD SMALL A + 0x1D5EF: [676,13,512,55,487], // MATHEMATICAL SANS-SERIF BOLD SMALL B + 0x1D5F0: [473,14,462,25,442], // MATHEMATICAL SANS-SERIF BOLD SMALL C + 0x1D5F1: [676,14,518,25,463], // MATHEMATICAL SANS-SERIF BOLD SMALL D + 0x1D5F2: [473,13,452,25,433], // MATHEMATICAL SANS-SERIF BOLD SMALL E + 0x1D5F3: [691,0,340,14,374], // MATHEMATICAL SANS-SERIF BOLD SMALL F + 0x1D5F4: [472,206,504,28,490], // MATHEMATICAL SANS-SERIF BOLD SMALL G + 0x1D5F5: [676,0,510,55,455], // MATHEMATICAL SANS-SERIF BOLD SMALL H + 0x1D5F6: [688,0,245,50,195], // MATHEMATICAL SANS-SERIF BOLD SMALL I + 0x1D5F7: [688,203,324,-57,269], // MATHEMATICAL SANS-SERIF BOLD SMALL J + 0x1D5F8: [676,0,519,55,506], // MATHEMATICAL SANS-SERIF BOLD SMALL K + 0x1D5F9: [676,0,235,55,180], // MATHEMATICAL SANS-SERIF BOLD SMALL L + 0x1D5FA: [473,0,776,55,721], // MATHEMATICAL SANS-SERIF BOLD SMALL M + 0x1D5FB: [473,0,510,55,455], // MATHEMATICAL SANS-SERIF BOLD SMALL N + 0x1D5FC: [473,14,501,25,476], // MATHEMATICAL SANS-SERIF BOLD SMALL O + 0x1D5FD: [473,205,512,55,487], // MATHEMATICAL SANS-SERIF BOLD SMALL P + 0x1D5FE: [473,205,512,25,457], // MATHEMATICAL SANS-SERIF BOLD SMALL Q + 0x1D5FF: [473,0,411,55,406], // MATHEMATICAL SANS-SERIF BOLD SMALL R + 0x1D600: [473,13,385,25,357], // MATHEMATICAL SANS-SERIF BOLD SMALL S + 0x1D601: [630,12,386,7,371], // MATHEMATICAL SANS-SERIF BOLD SMALL T + 0x1D602: [461,15,518,55,463], // MATHEMATICAL SANS-SERIF BOLD SMALL U + 0x1D603: [461,14,462,15,447], // MATHEMATICAL SANS-SERIF BOLD SMALL V + 0x1D604: [461,14,701,17,684], // MATHEMATICAL SANS-SERIF BOLD SMALL W + 0x1D605: [461,0,506,20,486], // MATHEMATICAL SANS-SERIF BOLD SMALL X + 0x1D606: [461,205,472,18,455], // MATHEMATICAL SANS-SERIF BOLD SMALL Y + 0x1D607: [461,0,441,21,417], // MATHEMATICAL SANS-SERIF BOLD SMALL Z + 0x1D7EC: [688,13,500,24,476], // MATHEMATICAL SANS-SERIF BOLD DIGIT ZERO + 0x1D7ED: [688,0,500,82,334], // MATHEMATICAL SANS-SERIF BOLD DIGIT ONE + 0x1D7EE: [688,0,500,20,474], // MATHEMATICAL SANS-SERIF BOLD DIGIT TWO + 0x1D7EF: [688,13,500,18,479], // MATHEMATICAL SANS-SERIF BOLD DIGIT THREE + 0x1D7F0: [688,0,500,19,484], // MATHEMATICAL SANS-SERIF BOLD DIGIT FOUR + 0x1D7F1: [676,13,500,13,483], // MATHEMATICAL SANS-SERIF BOLD DIGIT FIVE + 0x1D7F2: [688,13,500,26,475], // MATHEMATICAL SANS-SERIF BOLD DIGIT SIX + 0x1D7F3: [676,0,500,35,471], // MATHEMATICAL SANS-SERIF BOLD DIGIT SEVEN + 0x1D7F4: [688,13,500,28,472], // MATHEMATICAL SANS-SERIF BOLD DIGIT EIGHT + 0x1D7F5: [688,13,500,26,475], // MATHEMATICAL SANS-SERIF BOLD DIGIT NINE + 0x1D7F6: [681,11,525,55,467] // MATHEMATICAL MONOSPACE DIGIT ZERO + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax["HTML-CSS"].fontDir + "/General/Regular/MathSSBold.js"); diff --git a/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/MathSSItalic.js b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/MathSSItalic.js new file mode 100644 index 0000000..24d46dc --- /dev/null +++ b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/MathSSItalic.js @@ -0,0 +1,79 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/MathSSItalic.js + * + * Copyright (c) 2009-2010 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax['HTML-CSS'].FONTDATA.FONTS['STIXGeneral'], + { + 0x1D608: [674,0,666,31,635], // MATHEMATICAL SANS-SERIF ITALIC CAPITAL A + 0x1D609: [662,0,604,74,641], // MATHEMATICAL SANS-SERIF ITALIC CAPITAL B + 0x1D60A: [676,14,671,96,755], // MATHEMATICAL SANS-SERIF ITALIC CAPITAL C + 0x1D60B: [662,0,692,74,751], // MATHEMATICAL SANS-SERIF ITALIC CAPITAL D + 0x1D60C: [662,0,583,74,678], // MATHEMATICAL SANS-SERIF ITALIC CAPITAL E + 0x1D60D: [662,0,535,74,679], // MATHEMATICAL SANS-SERIF ITALIC CAPITAL F + 0x1D60E: [676,14,695,97,755], // MATHEMATICAL SANS-SERIF ITALIC CAPITAL G + 0x1D60F: [662,0,658,74,749], // MATHEMATICAL SANS-SERIF ITALIC CAPITAL H + 0x1D610: [662,0,401,59,512], // MATHEMATICAL SANS-SERIF ITALIC CAPITAL I + 0x1D611: [662,14,398,22,470], // MATHEMATICAL SANS-SERIF ITALIC CAPITAL J + 0x1D612: [662,0,634,74,729], // MATHEMATICAL SANS-SERIF ITALIC CAPITAL K + 0x1D613: [662,0,559,74,564], // MATHEMATICAL SANS-SERIF ITALIC CAPITAL L + 0x1D614: [662,0,843,75,933], // MATHEMATICAL SANS-SERIF ITALIC CAPITAL M + 0x1D615: [662,14,675,74,766], // MATHEMATICAL SANS-SERIF ITALIC CAPITAL N + 0x1D616: [676,14,714,99,779], // MATHEMATICAL SANS-SERIF ITALIC CAPITAL O + 0x1D617: [662,0,525,74,638], // MATHEMATICAL SANS-SERIF ITALIC CAPITAL P + 0x1D618: [676,175,716,99,779], // MATHEMATICAL SANS-SERIF ITALIC CAPITAL Q + 0x1D619: [662,0,589,74,639], // MATHEMATICAL SANS-SERIF ITALIC CAPITAL R + 0x1D61A: [676,14,541,62,597], // MATHEMATICAL SANS-SERIF ITALIC CAPITAL S + 0x1D61B: [662,0,608,161,748], // MATHEMATICAL SANS-SERIF ITALIC CAPITAL T + 0x1D61C: [662,14,661,117,757], // MATHEMATICAL SANS-SERIF ITALIC CAPITAL U + 0x1D61D: [662,11,654,196,788], // MATHEMATICAL SANS-SERIF ITALIC CAPITAL V + 0x1D61E: [662,11,921,194,1057], // MATHEMATICAL SANS-SERIF ITALIC CAPITAL W + 0x1D61F: [662,0,700,31,806], // MATHEMATICAL SANS-SERIF ITALIC CAPITAL X + 0x1D620: [662,0,630,186,774], // MATHEMATICAL SANS-SERIF ITALIC CAPITAL Y + 0x1D621: [662,0,637,28,763], // MATHEMATICAL SANS-SERIF ITALIC CAPITAL Z + 0x1D622: [463,10,448,55,467], // MATHEMATICAL SANS-SERIF ITALIC SMALL A + 0x1D623: [684,10,496,74,535], // MATHEMATICAL SANS-SERIF ITALIC SMALL B + 0x1D624: [463,10,456,67,503], // MATHEMATICAL SANS-SERIF ITALIC SMALL C + 0x1D625: [684,11,494,72,600], // MATHEMATICAL SANS-SERIF ITALIC SMALL D + 0x1D626: [463,10,444,69,487], // MATHEMATICAL SANS-SERIF ITALIC SMALL E + 0x1D627: [683,0,336,101,526], // MATHEMATICAL SANS-SERIF ITALIC SMALL F + 0x1D628: [463,216,496,-7,575], // MATHEMATICAL SANS-SERIF ITALIC SMALL G + 0x1D629: [684,0,487,63,510], // MATHEMATICAL SANS-SERIF ITALIC SMALL H + 0x1D62A: [679,0,220,69,325], // MATHEMATICAL SANS-SERIF ITALIC SMALL I + 0x1D62B: [679,216,254,-118,354], // MATHEMATICAL SANS-SERIF ITALIC SMALL J + 0x1D62C: [684,0,453,63,556], // MATHEMATICAL SANS-SERIF ITALIC SMALL K + 0x1D62D: [684,0,205,61,313], // MATHEMATICAL SANS-SERIF ITALIC SMALL L + 0x1D62E: [464,0,756,65,775], // MATHEMATICAL SANS-SERIF ITALIC SMALL M + 0x1D62F: [464,0,487,63,510], // MATHEMATICAL SANS-SERIF ITALIC SMALL N + 0x1D630: [463,10,499,76,536], // MATHEMATICAL SANS-SERIF ITALIC SMALL O + 0x1D631: [464,216,498,14,538], // MATHEMATICAL SANS-SERIF ITALIC SMALL P + 0x1D632: [464,216,498,72,549], // MATHEMATICAL SANS-SERIF ITALIC SMALL Q + 0x1D633: [464,0,336,63,439], // MATHEMATICAL SANS-SERIF ITALIC SMALL R + 0x1D634: [463,10,389,61,432], // MATHEMATICAL SANS-SERIF ITALIC SMALL S + 0x1D635: [580,10,291,96,376], // MATHEMATICAL SANS-SERIF ITALIC SMALL T + 0x1D636: [453,11,491,89,536], // MATHEMATICAL SANS-SERIF ITALIC SMALL U + 0x1D637: [453,14,474,143,555], // MATHEMATICAL SANS-SERIF ITALIC SMALL V + 0x1D638: [453,14,702,140,787], // MATHEMATICAL SANS-SERIF ITALIC SMALL W + 0x1D639: [453,0,482,30,544], // MATHEMATICAL SANS-SERIF ITALIC SMALL X + 0x1D63A: [453,216,484,-19,565], // MATHEMATICAL SANS-SERIF ITALIC SMALL Y + 0x1D63B: [453,0,447,25,517] // MATHEMATICAL SANS-SERIF ITALIC SMALL Z + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax["HTML-CSS"].fontDir + "/General/Regular/MathSSItalic.js"); diff --git a/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/MathSSItalicBold.js b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/MathSSItalicBold.js new file mode 100644 index 0000000..8dfcf06 --- /dev/null +++ b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/MathSSItalicBold.js @@ -0,0 +1,79 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/MathSSItalicBold.js + * + * Copyright (c) 2009-2010 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax['HTML-CSS'].FONTDATA.FONTS['STIXGeneral'], + { + 0x1D63C: [690,0,690,25,665], // MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL A + 0x1D63D: [676,0,636,80,691], // MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL B + 0x1D63E: [691,19,723,119,797], // MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL C + 0x1D63F: [676,0,709,80,772], // MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL D + 0x1D640: [676,0,635,80,728], // MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL E + 0x1D641: [676,0,582,80,725], // MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL F + 0x1D642: [691,19,746,107,785], // MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL G + 0x1D643: [676,0,715,80,803], // MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL H + 0x1D644: [676,0,440,79,534], // MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL I + 0x1D645: [676,96,481,15,574], // MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL J + 0x1D646: [676,0,712,80,816], // MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL K + 0x1D647: [676,0,603,80,612], // MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL L + 0x1D648: [676,0,913,80,1001], // MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL M + 0x1D649: [676,18,724,80,812], // MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL N + 0x1D64A: [692,18,778,106,840], // MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL O + 0x1D64B: [676,0,581,80,695], // MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL P + 0x1D64C: [691,176,779,105,839], // MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL Q + 0x1D64D: [676,0,670,80,698], // MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL R + 0x1D64E: [691,19,554,66,637], // MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL S + 0x1D64F: [676,0,641,157,785], // MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL T + 0x1D650: [676,19,699,123,792], // MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL U + 0x1D651: [676,18,690,193,833], // MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL V + 0x1D652: [676,15,997,198,1135], // MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL W + 0x1D653: [676,0,740,40,853], // MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL X + 0x1D654: [676,0,694,188,842], // MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL Y + 0x1D655: [676,0,653,25,769], // MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL Z + 0x1D656: [473,14,489,48,507], // MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL A + 0x1D657: [676,13,512,51,558], // MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL B + 0x1D658: [473,14,462,71,524], // MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL C + 0x1D659: [676,14,518,69,625], // MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL D + 0x1D65A: [473,13,452,71,492], // MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL E + 0x1D65B: [692,0,340,72,533], // MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL F + 0x1D65C: [472,206,504,2,599], // MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL G + 0x1D65D: [676,0,510,55,542], // MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL H + 0x1D65E: [688,0,245,59,366], // MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL I + 0x1D65F: [688,202,324,-90,440], // MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL J + 0x1D660: [676,0,519,55,599], // MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL K + 0x1D661: [676,0,235,55,348], // MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL L + 0x1D662: [473,0,776,55,809], // MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL M + 0x1D663: [473,0,510,55,542], // MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL N + 0x1D664: [473,14,501,72,542], // MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL O + 0x1D665: [473,205,512,3,559], // MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL P + 0x1D666: [473,205,512,69,574], // MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL Q + 0x1D667: [473,0,411,55,519], // MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL R + 0x1D668: [473,13,385,37,442], // MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL S + 0x1D669: [631,12,386,98,447], // MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL T + 0x1D66A: [462,15,518,81,569], // MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL U + 0x1D66B: [462,14,462,129,561], // MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL V + 0x1D66C: [462,14,701,131,798], // MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL W + 0x1D66D: [462,0,506,20,582], // MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL X + 0x1D66E: [462,204,472,-27,569], // MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL Y + 0x1D66F: [462,0,441,21,530] // MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL Z + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax["HTML-CSS"].fontDir + "/General/Regular/MathSSItalicBold.js"); diff --git a/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/MathScript.js b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/MathScript.js new file mode 100644 index 0000000..16d3c3b --- /dev/null +++ b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/MathScript.js @@ -0,0 +1,68 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/MathScript.js + * + * Copyright (c) 2009-2010 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax['HTML-CSS'].FONTDATA.FONTS['STIXGeneral'], + { + 0x1D49C: [674,15,855,31,846], // MATHEMATICAL SCRIPT CAPITAL A + 0x1D49E: [687,15,797,37,781], // MATHEMATICAL SCRIPT CAPITAL C + 0x1D49F: [687,15,885,36,818], // MATHEMATICAL SCRIPT CAPITAL D + 0x1D4A2: [687,15,773,83,740], // MATHEMATICAL SCRIPT CAPITAL G + 0x1D4A5: [674,177,802,9,792], // MATHEMATICAL SCRIPT CAPITAL J + 0x1D4A6: [687,15,1009,40,1004], // MATHEMATICAL SCRIPT CAPITAL K + 0x1D4A9: [687,15,970,38,956], // MATHEMATICAL SCRIPT CAPITAL N + 0x1D4AA: [680,15,692,82,663], // MATHEMATICAL SCRIPT CAPITAL O + 0x1D4AB: [687,15,910,38,886], // MATHEMATICAL SCRIPT CAPITAL P + 0x1D4AC: [680,38,692,82,663], // MATHEMATICAL SCRIPT CAPITAL Q + 0x1D4AE: [680,15,743,67,701], // MATHEMATICAL SCRIPT CAPITAL S + 0x1D4AF: [687,15,912,43,907], // MATHEMATICAL SCRIPT CAPITAL T + 0x1D4B0: [687,15,842,36,805], // MATHEMATICAL SCRIPT CAPITAL U + 0x1D4B1: [687,15,932,35,922], // MATHEMATICAL SCRIPT CAPITAL V + 0x1D4B2: [687,15,1078,35,1070], // MATHEMATICAL SCRIPT CAPITAL W + 0x1D4B3: [687,15,891,36,873], // MATHEMATICAL SCRIPT CAPITAL X + 0x1D4B4: [687,226,926,91,916], // MATHEMATICAL SCRIPT CAPITAL Y + 0x1D4B5: [687,15,932,59,912], // MATHEMATICAL SCRIPT CAPITAL Z + 0x1D4B6: [441,11,819,30,758], // MATHEMATICAL SCRIPT SMALL A + 0x1D4B7: [687,12,580,47,559], // MATHEMATICAL SCRIPT SMALL B + 0x1D4B8: [441,11,662,30,589], // MATHEMATICAL SCRIPT SMALL C + 0x1D4B9: [687,11,845,30,827], // MATHEMATICAL SCRIPT SMALL D + 0x1D4BB: [687,209,685,27,673], // MATHEMATICAL SCRIPT SMALL F + 0x1D4BD: [687,11,753,38,690], // MATHEMATICAL SCRIPT SMALL H + 0x1D4BE: [653,11,496,83,484], // MATHEMATICAL SCRIPT SMALL I + 0x1D4BF: [653,219,730,9,718], // MATHEMATICAL SCRIPT SMALL J + 0x1D4C0: [687,11,726,40,666], // MATHEMATICAL SCRIPT SMALL K + 0x1D4C1: [687,11,579,48,571], // MATHEMATICAL SCRIPT SMALL L + 0x1D4C2: [441,11,1038,49,978], // MATHEMATICAL SCRIPT SMALL M + 0x1D4C3: [441,11,761,49,701], // MATHEMATICAL SCRIPT SMALL N + 0x1D4C5: [441,209,773,23,694], // MATHEMATICAL SCRIPT SMALL P + 0x1D4C6: [441,209,780,30,743], // MATHEMATICAL SCRIPT SMALL Q + 0x1D4C7: [444,0,580,48,572], // MATHEMATICAL SCRIPT SMALL R + 0x1D4C8: [531,11,515,62,412], // MATHEMATICAL SCRIPT SMALL S + 0x1D4C9: [658,11,551,30,532], // MATHEMATICAL SCRIPT SMALL T + 0x1D4CA: [424,11,753,30,693], // MATHEMATICAL SCRIPT SMALL U + 0x1D4CB: [441,11,618,30,582], // MATHEMATICAL SCRIPT SMALL V + 0x1D4CC: [441,11,888,30,852], // MATHEMATICAL SCRIPT SMALL W + 0x1D4CD: [441,11,752,65,675], // MATHEMATICAL SCRIPT SMALL X + 0x1D4CE: [424,219,658,30,617], // MATHEMATICAL SCRIPT SMALL Y + 0x1D4CF: [478,11,691,52,617] // MATHEMATICAL SCRIPT SMALL Z + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax["HTML-CSS"].fontDir + "/General/Regular/MathScript.js"); diff --git a/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/MathTT.js b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/MathTT.js new file mode 100644 index 0000000..84ac327 --- /dev/null +++ b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/MathTT.js @@ -0,0 +1,88 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/MathTT.js + * + * Copyright (c) 2009-2010 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax['HTML-CSS'].FONTDATA.FONTS['STIXGeneral'], + { + 0x1D670: [673,0,525,26,496], // MATHEMATICAL MONOSPACE CAPITAL A + 0x1D671: [662,0,525,29,480], // MATHEMATICAL MONOSPACE CAPITAL B + 0x1D672: [672,11,525,40,482], // MATHEMATICAL MONOSPACE CAPITAL C + 0x1D673: [662,0,525,25,483], // MATHEMATICAL MONOSPACE CAPITAL D + 0x1D674: [662,0,525,31,500], // MATHEMATICAL MONOSPACE CAPITAL E + 0x1D675: [662,0,525,34,488], // MATHEMATICAL MONOSPACE CAPITAL F + 0x1D676: [672,11,525,37,495], // MATHEMATICAL MONOSPACE CAPITAL G + 0x1D677: [662,0,525,26,496], // MATHEMATICAL MONOSPACE CAPITAL H + 0x1D678: [662,0,525,84,438], // MATHEMATICAL MONOSPACE CAPITAL I + 0x1D679: [662,11,525,85,476], // MATHEMATICAL MONOSPACE CAPITAL J + 0x1D67A: [662,0,525,30,494], // MATHEMATICAL MONOSPACE CAPITAL K + 0x1D67B: [662,0,525,37,487], // MATHEMATICAL MONOSPACE CAPITAL L + 0x1D67C: [662,0,525,21,501], // MATHEMATICAL MONOSPACE CAPITAL M + 0x1D67D: [662,0,525,31,491], // MATHEMATICAL MONOSPACE CAPITAL N + 0x1D67E: [672,11,525,56,466], // MATHEMATICAL MONOSPACE CAPITAL O + 0x1D67F: [662,0,525,31,479], // MATHEMATICAL MONOSPACE CAPITAL P + 0x1D680: [672,139,525,56,466], // MATHEMATICAL MONOSPACE CAPITAL Q + 0x1D681: [662,11,525,26,520], // MATHEMATICAL MONOSPACE CAPITAL R + 0x1D682: [672,11,525,52,470], // MATHEMATICAL MONOSPACE CAPITAL S + 0x1D683: [662,0,525,26,496], // MATHEMATICAL MONOSPACE CAPITAL T + 0x1D684: [662,11,525,9,514], // MATHEMATICAL MONOSPACE CAPITAL U + 0x1D685: [662,8,525,17,506], // MATHEMATICAL MONOSPACE CAPITAL V + 0x1D686: [662,8,525,11,512], // MATHEMATICAL MONOSPACE CAPITAL W + 0x1D687: [662,0,525,24,497], // MATHEMATICAL MONOSPACE CAPITAL X + 0x1D688: [662,0,525,15,507], // MATHEMATICAL MONOSPACE CAPITAL Y + 0x1D689: [662,0,525,47,479], // MATHEMATICAL MONOSPACE CAPITAL Z + 0x1D68A: [459,6,525,58,516], // MATHEMATICAL MONOSPACE SMALL A + 0x1D68B: [609,6,525,17,481], // MATHEMATICAL MONOSPACE SMALL B + 0x1D68C: [459,6,525,78,464], // MATHEMATICAL MONOSPACE SMALL C + 0x1D68D: [609,6,525,41,505], // MATHEMATICAL MONOSPACE SMALL D + 0x1D68E: [459,6,525,60,462], // MATHEMATICAL MONOSPACE SMALL E + 0x1D68F: [615,0,525,42,437], // MATHEMATICAL MONOSPACE SMALL F + 0x1D690: [461,228,525,29,508], // MATHEMATICAL MONOSPACE SMALL G + 0x1D691: [609,0,525,17,505], // MATHEMATICAL MONOSPACE SMALL H + 0x1D692: [610,0,525,84,448], // MATHEMATICAL MONOSPACE SMALL I + 0x1D693: [610,227,525,47,362], // MATHEMATICAL MONOSPACE SMALL J + 0x1D694: [609,0,525,24,505], // MATHEMATICAL MONOSPACE SMALL K + 0x1D695: [609,0,525,63,459], // MATHEMATICAL MONOSPACE SMALL L + 0x1D696: [456,0,525,2,520], // MATHEMATICAL MONOSPACE SMALL M + 0x1D697: [456,0,525,17,505], // MATHEMATICAL MONOSPACE SMALL N + 0x1D698: [459,6,525,62,460], // MATHEMATICAL MONOSPACE SMALL O + 0x1D699: [456,221,525,17,481], // MATHEMATICAL MONOSPACE SMALL P + 0x1D69A: [456,221,525,45,530], // MATHEMATICAL MONOSPACE SMALL Q + 0x1D69B: [456,0,525,37,485], // MATHEMATICAL MONOSPACE SMALL R + 0x1D69C: [459,6,525,72,457], // MATHEMATICAL MONOSPACE SMALL S + 0x1D69D: [580,6,525,25,448], // MATHEMATICAL MONOSPACE SMALL T + 0x1D69E: [450,6,525,17,505], // MATHEMATICAL MONOSPACE SMALL U + 0x1D69F: [450,4,525,22,500], // MATHEMATICAL MONOSPACE SMALL V + 0x1D6A0: [450,4,525,15,508], // MATHEMATICAL MONOSPACE SMALL W + 0x1D6A1: [450,0,525,23,498], // MATHEMATICAL MONOSPACE SMALL X + 0x1D6A2: [450,227,525,24,501], // MATHEMATICAL MONOSPACE SMALL Y + 0x1D6A3: [450,0,525,32,473], // MATHEMATICAL MONOSPACE SMALL Z + 0x1D7F7: [681,0,525,110,435], // MATHEMATICAL MONOSPACE DIGIT ONE + 0x1D7F8: [681,0,525,52,470], // MATHEMATICAL MONOSPACE DIGIT TWO + 0x1D7F9: [681,11,525,43,479], // MATHEMATICAL MONOSPACE DIGIT THREE + 0x1D7FA: [682,0,525,29,493], // MATHEMATICAL MONOSPACE DIGIT FOUR + 0x1D7FB: [670,11,525,52,470], // MATHEMATICAL MONOSPACE DIGIT FIVE + 0x1D7FC: [681,11,525,58,464], // MATHEMATICAL MONOSPACE DIGIT SIX + 0x1D7FD: [686,11,525,43,479], // MATHEMATICAL MONOSPACE DIGIT SEVEN + 0x1D7FE: [681,11,525,43,479], // MATHEMATICAL MONOSPACE DIGIT EIGHT + 0x1D7FF: [681,11,525,58,464] // MATHEMATICAL MONOSPACE DIGIT NINE + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax["HTML-CSS"].fontDir + "/General/Regular/MathTT.js"); diff --git a/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/MiscMathSymbolsA.js b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/MiscMathSymbolsA.js new file mode 100644 index 0000000..0ce360e --- /dev/null +++ b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/MiscMathSymbolsA.js @@ -0,0 +1,66 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/MiscMathSymbolsA.js + * + * Copyright (c) 2009-2010 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax['HTML-CSS'].FONTDATA.FONTS['STIXGeneral'], + { + 0x27C0: [584,0,685,50,634], // THREE DIMENSIONAL ANGLE + 0x27C1: [811,127,1145,35,1110], // WHITE TRIANGLE CONTAINING SMALL WHITE TRIANGLE + 0x27C2: [662,0,693,52,641], // PERPENDICULAR + 0x27C3: [529,27,685,60,625], // OPEN SUBSET + 0x27C4: [529,27,685,61,626], // OPEN SUPERSET + 0x27C5: [702,198,455,55,400], // LEFT S-SHAPED BAG DELIMITER + 0x27C6: [702,198,455,55,400], // RIGHT S-SHAPED BAG DELIMITER + 0x27C7: [536,29,620,31,589], // OR WITH DOT INSIDE + 0x27C8: [533,25,966,60,906], // REVERSE SOLIDUS PRECEDING SUBSET + 0x27C9: [533,25,966,60,906], // SUBSET PRECEDING SOLIDUS + 0x27CC: [806,213,325,20,325], // LONG DIVISION + 0x27D0: [744,242,1064,39,1025], // WHITE DIAMOND WITH CENTRED DOT + 0x27D1: [536,29,620,31,589], // AND WITH DOT + 0x27D2: [536,31,620,48,572], // ELEMENT OF OPENING UPWARDS + 0x27D3: [584,0,685,50,634], // LOWER RIGHT CORNER WITH DOT + 0x27D4: [584,0,685,50,634], // UPPER LEFT CORNER WITH DOT + 0x27D5: [582,80,1019,40,965], // LEFT OUTER JOIN + 0x27D6: [582,80,1019,54,979], // RIGHT OUTER JOIN + 0x27D7: [582,80,1228,40,1188], // FULL OUTER JOIN + 0x27D8: [718,213,866,50,816], // LARGE UP TACK + 0x27D9: [718,213,866,50,816], // LARGE DOWN TACK + 0x27DA: [662,0,1376,64,1312], // LEFT AND RIGHT DOUBLE TURNSTILE + 0x27DB: [662,0,1376,64,1312], // LEFT AND RIGHT TACK + 0x27DC: [403,-103,849,50,799], // LEFT MULTIMAP + 0x27DD: [450,-57,1574,55,1519], // LONG RIGHT TACK + 0x27DE: [450,-57,1574,55,1519], // LONG LEFT TACK + 0x27DF: [693,187,502,101,401], // UP TACK WITH CIRCLE ABOVE + 0x27E0: [795,289,790,45,745], // LOZENGE DIVIDED BY HORIZONTAL RULE + 0x27E1: [589,87,764,45,719], // WHITE CONCAVE-SIDED DIAMOND + 0x27E2: [589,87,803,45,758], // WHITE CONCAVE-SIDED DIAMOND WITH LEFTWARDS TICK + 0x27E3: [589,87,803,45,758], // WHITE CONCAVE-SIDED DIAMOND WITH RIGHTWARDS TICK + 0x27E4: [662,158,1182,45,1137], // WHITE SQUARE WITH LEFTWARDS TICK + 0x27E5: [662,158,1182,45,1137], // WHITE SQUARE WITH RIGHTWARDS TICK + 0x27E6: [717,213,504,188,482], // MATHEMATICAL LEFT WHITE SQUARE BRACKET + 0x27E7: [717,213,504,22,316], // MATHEMATICAL RIGHT WHITE SQUARE BRACKET + 0x27EA: [719,213,610,73,545], // MATHEMATICAL LEFT DOUBLE ANGLE BRACKET + 0x27EB: [719,213,610,65,537], // MATHEMATICAL RIGHT DOUBLE ANGLE BRACKET + 0x27EC: [719,213,488,178,466], // MATHEMATICAL LEFT WHITE TORTOISE SHELL BRACKET + 0x27ED: [719,213,488,22,310] // MATHEMATICAL RIGHT WHITE TORTOISE SHELL BRACKET + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax["HTML-CSS"].fontDir + "/General/Regular/MiscMathSymbolsA.js"); diff --git a/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/MiscMathSymbolsB.js b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/MiscMathSymbolsB.js new file mode 100644 index 0000000..af7980b --- /dev/null +++ b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/MiscMathSymbolsB.js @@ -0,0 +1,154 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/MiscMathSymbolsB.js + * + * Copyright (c) 2009-2010 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax['HTML-CSS'].FONTDATA.FONTS['STIXGeneral'], + { + 0x2980: [695,189,594,85,509], // TRIPLE VERTICAL BAR DELIMITER + 0x2981: [487,-14,565,46,519], // Z NOTATION SPOT + 0x2982: [566,59,503,110,393], // Z NOTATION TYPE COLON + 0x2983: [719,213,596,108,477], // LEFT WHITE CURLY BRACKET + 0x2984: [719,213,596,119,488], // RIGHT WHITE CURLY BRACKET + 0x2985: [719,213,463,70,393], // LEFT WHITE PARENTHESIS + 0x2986: [719,213,463,70,393], // RIGHT WHITE PARENTHESIS + 0x2987: [719,214,511,115,367], // Z NOTATION LEFT IMAGE BRACKET + 0x2988: [719,214,511,144,396], // Z NOTATION RIGHT IMAGE BRACKET + 0x2989: [719,213,511,100,352], // Z NOTATION LEFT BINDING BRACKET + 0x298A: [719,213,511,159,411], // Z NOTATION RIGHT BINDING BRACKET + 0x298B: [719,213,469,188,447], // LEFT SQUARE BRACKET WITH UNDERBAR + 0x298C: [719,213,469,22,281], // RIGHT SQUARE BRACKET WITH UNDERBAR + 0x298D: [719,213,469,188,447], // LEFT SQUARE BRACKET WITH TICK IN TOP CORNER + 0x298E: [719,213,469,22,281], // RIGHT SQUARE BRACKET WITH TICK IN BOTTOM CORNER + 0x298F: [719,213,469,188,447], // LEFT SQUARE BRACKET WITH TICK IN BOTTOM CORNER + 0x2990: [719,213,469,22,281], // RIGHT SQUARE BRACKET WITH TICK IN TOP CORNER + 0x2991: [719,213,400,73,357], // LEFT ANGLE BRACKET WITH DOT + 0x2992: [719,213,400,73,357], // RIGHT ANGLE BRACKET WITH DOT + 0x2993: [649,143,685,34,591], // LEFT ARC LESS-THAN BRACKET + 0x2994: [649,143,685,94,651], // RIGHT ARC GREATER-THAN BRACKET + 0x2995: [649,143,685,86,643], // DOUBLE LEFT ARC GREATER-THAN BRACKET + 0x2996: [649,143,685,42,599], // DOUBLE RIGHT ARC LESS-THAN BRACKET + 0x2997: [719,213,488,188,466], // LEFT BLACK TORTOISE SHELL BRACKET + 0x2998: [719,213,488,22,300], // RIGHT BLACK TORTOISE SHELL BRACKET + 0x2999: [661,155,211,50,161], // DOTTED FENCE + 0x299A: [662,156,511,177,334], // VERTICAL ZIGZAG LINE + 0x299B: [547,72,685,42,662], // MEASURED ANGLE OPENING LEFT + 0x299C: [584,0,685,50,634], // RIGHT ANGLE VARIANT WITH SQUARE + 0x299D: [584,0,685,50,634], // MEASURED RIGHT ANGLE WITH DOT + 0x299E: [547,0,685,11,675], // ANGLE WITH S INSIDE + 0x299F: [396,0,685,24,643], // ACUTE ANGLE + 0x29A0: [517,13,685,57,654], // SPHERICAL ANGLE OPENING LEFT + 0x29A1: [609,-12,685,77,607], // SPHERICAL ANGLE OPENING UP + 0x29A2: [547,0,685,42,662], // TURNED ANGLE + 0x29A3: [547,0,685,42,662], // REVERSED ANGLE + 0x29A4: [547,200,685,23,643], // ANGLE WITH UNDERBAR + 0x29A5: [547,200,685,42,662], // REVERSED ANGLE WITH UNDERBAR + 0x29A6: [547,0,900,40,860], // OBLIQUE ANGLE OPENING UP + 0x29A7: [547,0,900,40,860], // OBLIQUE ANGLE OPENING DOWN + 0x29A8: [574,72,685,29,649], // MEASURED ANGLE WITH OPEN ARM ENDING IN ARROW POINTING UP AND RIGHT + 0x29A9: [574,72,685,36,656], // MEASURED ANGLE WITH OPEN ARM ENDING IN ARROW POINTING UP AND LEFT + 0x29AA: [578,68,685,29,649], // MEASURED ANGLE WITH OPEN ARM ENDING IN ARROW POINTING DOWN AND RIGHT + 0x29AB: [578,68,685,36,656], // MEASURED ANGLE WITH OPEN ARM ENDING IN ARROW POINTING DOWN AND LEFT + 0x29AC: [562,58,706,34,680], // MEASURED ANGLE WITH OPEN ARM ENDING IN ARROW POINTING RIGHT AND UP + 0x29AD: [562,58,706,26,672], // MEASURED ANGLE WITH OPEN ARM ENDING IN ARROW POINTING LEFT AND UP + 0x29AE: [562,58,706,34,680], // MEASURED ANGLE WITH OPEN ARM ENDING IN ARROW POINTING RIGHT AND DOWN + 0x29AF: [562,58,708,26,672], // MEASURED ANGLE WITH OPEN ARM ENDING IN ARROW POINTING LEFT AND DOWN + 0x29B0: [583,79,762,50,712], // REVERSED EMPTY SET + 0x29B1: [717,79,762,50,712], // EMPTY SET WITH OVERBAR + 0x29B2: [819,79,762,50,712], // EMPTY SET WITH SMALL CIRCLE ABOVE + 0x29B3: [832,79,762,50,712], // EMPTY SET WITH RIGHT ARROW ABOVE + 0x29B4: [832,79,762,50,712], // EMPTY SET WITH LEFT ARROW ABOVE + 0x29B5: [623,119,910,24,886], // CIRCLE WITH HORIZONTAL BAR + 0x29B6: [623,119,842,50,792], // CIRCLED VERTICAL BAR + 0x29B7: [623,119,842,50,792], // CIRCLED PARALLEL + 0x29B8: [623,119,842,50,792], // CIRCLED REVERSE SOLIDUS + 0x29B9: [623,119,842,50,792], // CIRCLED PERPENDICULAR + 0x29BA: [623,119,842,50,792], // CIRCLE DIVIDED BY HORIZONTAL BAR AND TOP HALF DIVIDED BY VERTICAL BAR + 0x29BB: [623,119,842,50,792], // CIRCLE WITH SUPERIMPOSED X + 0x29BC: [623,119,842,50,792], // CIRCLED ANTICLOCKWISE-ROTATED DIVISION SIGN + 0x29BD: [882,179,842,50,792], // UP ARROW THROUGH CIRCLE + 0x29BE: [623,119,842,50,792], // CIRCLED WHITE BULLET + 0x29BF: [623,119,842,50,792], // CIRCLED BULLET + 0x29C0: [623,119,842,50,792], // CIRCLED LESS-THAN + 0x29C1: [623,119,842,50,792], // CIRCLED GREATER-THAN + 0x29C2: [623,119,1091,50,1056], // CIRCLE WITH SMALL CIRCLE TO THE RIGHT + 0x29C3: [623,119,1091,50,1056], // CIRCLE WITH TWO HORIZONTAL STROKES TO THE RIGHT + 0x29C4: [662,158,910,45,865], // SQUARED RISING DIAGONAL SLASH + 0x29C5: [662,158,910,45,865], // SQUARED FALLING DIAGONAL SLASH + 0x29C6: [662,158,910,45,865], // SQUARED ASTERISK + 0x29C7: [662,158,910,45,865], // SQUARED SMALL CIRCLE + 0x29C8: [662,158,910,45,865], // SQUARED SQUARE + 0x29C9: [712,207,1046,64,982], // TWO JOINED SQUARES + 0x29CA: [1003,127,1145,35,1110], // TRIANGLE WITH DOT ABOVE + 0x29CB: [811,259,1145,35,1110], // TRIANGLE WITH UNDERBAR + 0x29CC: [811,127,1145,35,1110], // S IN TRIANGLE + 0x29CD: [811,127,1165,15,1150], // TRIANGLE WITH SERIFS AT BOTTOM + 0x29CE: [698,193,780,70,710], // RIGHT TRIANGLE ABOVE LEFT TRIANGLE + 0x29CF: [531,25,857,48,777], // LEFT TRIANGLE BESIDE VERTICAL BAR + 0x29D0: [531,25,857,80,809], // VERTICAL BAR BESIDE RIGHT TRIANGLE + 0x29D1: [582,80,810,93,716], // BOWTIE WITH LEFT HALF BLACK + 0x29D2: [582,80,810,93,716], // BOWTIE WITH RIGHT HALF BLACK + 0x29D3: [582,80,810,93,716], // BLACK BOWTIE + 0x29D4: [582,80,810,94,717], // TIMES WITH LEFT HALF BLACK + 0x29D5: [582,80,810,93,716], // TIMES WITH RIGHT HALF BLACK + 0x29D6: [602,100,810,74,736], // WHITE HOURGLASS + 0x29D7: [602,100,810,74,736], // BLACK HOURGLASS + 0x29D8: [620,116,511,177,334], // LEFT WIGGLY FENCE + 0x29D9: [620,116,511,176,333], // RIGHT WIGGLY FENCE + 0x29DA: [620,116,688,177,511], // LEFT DOUBLE WIGGLY FENCE + 0x29DB: [620,116,688,177,511], // RIGHT DOUBLE WIGGLY FENCE + 0x29DC: [430,0,926,70,854], // INCOMPLETE INFINITY + 0x29DD: [653,0,926,70,854], // TIE OVER INFINITY + 0x29DE: [695,189,926,70,854], // INFINITY NEGATED WITH VERTICAL BAR + 0x29DF: [403,-103,1145,50,1095], // DOUBLE-ENDED MULTIMAP + 0x29E0: [662,157,910,45,865], // SQUARE WITH CONTOURED OUTLINE + 0x29E1: [512,8,667,24,613], // INCREASES AS + 0x29E2: [414,0,790,64,726], // SHUFFLE PRODUCT + 0x29E3: [662,156,685,47,637], // EQUALS SIGN AND SLANTED PARALLEL + 0x29E4: [842,156,685,47,637], // EQUALS SIGN AND SLANTED PARALLEL WITH TILDE ABOVE + 0x29E5: [662,156,685,48,637], // IDENTICAL TO AND SLANTED PARALLEL + 0x29E6: [584,78,798,60,738], // GLEICH STARK + 0x29E7: [695,189,628,48,580], // THERMODYNAMIC + 0x29E8: [811,127,1145,35,1110], // DOWN-POINTING TRIANGLE WITH LEFT HALF BLACK + 0x29E9: [811,127,1145,35,1110], // DOWN-POINTING TRIANGLE WITH RIGHT HALF BLACK + 0x29EA: [744,241,762,32,730], // BLACK DIAMOND WITH DOWN ARROW + 0x29EB: [795,289,790,45,745], // BLACK LOZENGE + 0x29EC: [743,241,762,50,712], // WHITE CIRCLE WITH DOWN ARROW + 0x29ED: [743,241,762,50,712], // BLACK CIRCLE WITH DOWN ARROW + 0x29EE: [747,243,762,97,665], // ERROR-BARRED WHITE SQUARE + 0x29EF: [747,243,762,97,665], // ERROR-BARRED BLACK SQUARE + 0x29F0: [747,243,762,32,730], // ERROR-BARRED WHITE DIAMOND + 0x29F1: [747,243,762,32,730], // ERROR-BARRED BLACK DIAMOND + 0x29F2: [747,243,762,65,697], // ERROR-BARRED WHITE CIRCLE + 0x29F3: [747,243,762,65,697], // ERROR-BARRED BLACK CIRCLE + 0x29F4: [521,13,926,55,871], // RULE-DELAYED + 0x29F6: [765,80,520,94,426], // SOLIDUS WITH OVERBAR + 0x29F7: [662,80,520,94,426], // REVERSE SOLIDUS WITH HORIZONTAL STROKE + 0x29F8: [695,325,602,85,517], // BIG SOLIDUS + 0x29F9: [695,325,602,85,517], // BIG REVERSE SOLIDUS + 0x29FA: [532,25,685,64,621], // DOUBLE PLUS + 0x29FB: [532,25,685,64,621], // TRIPLE PLUS + 0x29FC: [713,213,459,77,394], // LEFT-POINTING CURVED ANGLE BRACKET + 0x29FD: [713,213,459,65,382], // RIGHT-POINTING CURVED ANGLE BRACKET + 0x29FE: [540,36,762,93,669], // TINY + 0x29FF: [316,-190,762,93,669] // MINY + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax["HTML-CSS"].fontDir + "/General/Regular/MiscMathSymbolsB.js"); diff --git a/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/MiscSymbols.js b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/MiscSymbols.js new file mode 100644 index 0000000..9df2581 --- /dev/null +++ b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/MiscSymbols.js @@ -0,0 +1,74 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/MiscSymbols.js + * + * Copyright (c) 2009-2010 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax['HTML-CSS'].FONTDATA.FONTS['STIXGeneral'], + { + 0x2605: [655,66,870,60,810], // BLACK STAR + 0x2606: [655,66,870,60,810], // WHITE STAR + 0x2609: [583,79,762,50,712], // SUN + 0x260C: [634,131,581,54,553], // CONJUNCTION + 0x260E: [676,0,1000,32,967], // BLACK TELEPHONE + 0x2612: [662,158,910,45,865], // BALLOT BOX WITH X + 0x2621: [630,35,619,70,549], // CAUTION SIGN + 0x2639: [728,82,1150,170,980], // WHITE FROWNING FACE + 0x263A: [728,82,1150,170,980], // WHITE SMILING FACE + 0x263B: [728,82,1150,170,980], // BLACK SMILING FACE + 0x263C: [623,122,837,46,791], // WHITE SUN WITH RAYS + 0x263D: [728,82,641,40,601], // FIRST QUARTER MOON + 0x263E: [728,82,641,40,601], // LAST QUARTER MOON + 0x263F: [702,198,603,65,538], // MERCURY + 0x2640: [638,135,603,65,538], // FEMALE SIGN + 0x2641: [638,135,603,65,538], // EARTH + 0x2642: [634,131,660,54,620], // MALE SIGN + 0x2643: [732,176,970,66,904], // JUPITER + 0x2644: [793,140,970,63,866], // SATURN + 0x2646: [760,110,840,60,780], // NEPTUNE + 0x2647: [730,110,632,76,576], // PLUTO + 0x2648: [760,110,964,25,939], // ARIES + 0x2649: [644,139,781,43,738], // TAURUS + 0x2664: [609,99,685,34,651], // WHITE SPADE SUIT + 0x2665: [603,105,685,34,651], // BLACK HEART SUIT + 0x2666: [609,105,685,41,643], // BLACK DIAMOND SUIT + 0x2667: [603,99,685,34,651], // WHITE CLUB SUIT + 0x2669: [714,125,390,45,345], // QUARTER NOTE + 0x266A: [714,125,560,50,510], // EIGHTH NOTE + 0x266B: [842,125,840,40,721], // BEAMED EIGHTH NOTES + 0x267E: [775,271,1186,70,1116], // PERMANENT PAPER SIGN + 0x2680: [669,23,1032,170,862], // DIE FACE-1 + 0x2681: [669,23,1032,170,862], // DIE FACE-2 + 0x2682: [669,23,1032,170,862], // DIE FACE-3 + 0x2683: [669,23,1032,170,862], // DIE FACE-4 + 0x2684: [669,23,1032,170,862], // DIE FACE-5 + 0x2685: [669,23,1032,170,862], // DIE FACE-6 + 0x2686: [687,42,1032,152,881], // WHITE CIRCLE WITH DOT RIGHT + 0x2687: [687,42,1032,152,881], // WHITE CIRCLE WITH TWO DOTS + 0x2688: [687,42,1032,152,881], // BLACK CIRCLE WITH WHITE DOT RIGHT + 0x2689: [687,42,1032,152,881], // BLACK CIRCLE WITH TWO WHITE DOTS + 0x26A0: [1023,155,1510,25,1485], // WARNING SIGN + 0x26A5: [784,281,660,54,620], // MALE AND FEMALE SIGN + 0x26AA: [583,79,762,50,712], // MEDIUM WHITE CIRCLE + 0x26AB: [583,79,762,50,712], // MEDIUM BLACK CIRCLE + 0x26AC: [487,-14,565,46,519], // MEDIUM SMALL WHITE CIRCLE + 0x26B2: [638,135,603,65,538] // NEUTER + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax["HTML-CSS"].fontDir + "/General/Regular/MiscSymbols.js"); diff --git a/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/MiscSymbolsAndArrows.js b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/MiscSymbolsAndArrows.js new file mode 100644 index 0000000..80560e5 --- /dev/null +++ b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/MiscSymbolsAndArrows.js @@ -0,0 +1,91 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/MiscSymbolsAndArrows.js + * + * Copyright (c) 2009-2010 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax['HTML-CSS'].FONTDATA.FONTS['STIXGeneral'], + { + 0x2B12: [662,157,910,45,865], // SQUARE WITH TOP HALF BLACK + 0x2B13: [662,157,910,45,865], // SQUARE WITH BOTTOM HALF BLACK + 0x2B14: [662,157,910,45,865], // SQUARE WITH UPPER RIGHT DIAGONAL HALF BLOCK + 0x2B15: [662,157,910,45,865], // SQUARE WITH LOWER LEFT DIAGONAL HALF BLOCK + 0x2B16: [744,242,1064,39,1025], // DIAMOND WITH LEFT HALF BLACK + 0x2B17: [744,242,1064,39,1025], // DIAMOND WITH RIGHT HALF BLACK + 0x2B18: [744,242,1064,39,1025], // DIAMOND WITH TOP HALF BLACK + 0x2B19: [744,242,1064,39,1025], // DIAMOND WITH BOTTOM HALF BLACK + 0x2B1A: [662,157,910,45,865], // DOTTED SQUARE + 0x2B1B: [780,180,1040,40,1000], // BLACK LARGE SQUARE + 0x2B1C: [780,180,1040,40,1000], // WHITE LARGE SQUARE + 0x2B1D: [332,-172,240,50,190], // BLACK VERY SMALL SQUARE + 0x2B1E: [332,-172,240,50,190], // WHITE VERY SMALL SQUARE + 0x2B1F: [690,105,910,36,874], // BLACK PENTAGON + 0x2B20: [690,105,910,36,874], // WHITE PENTAGON + 0x2B21: [680,178,910,82,828], // WHITE HEXAGON + 0x2B22: [680,178,910,82,828], // BLACK HEXAGON + 0x2B23: [633,127,926,24,902], // HORIZONTAL BLACK HEXAGON + 0x2B24: [785,282,1207,70,1137], // BLACK LARGE CIRCLE + 0x2B25: [581,96,779,45,734], // BLACK MEDIUM DIAMOND + 0x2B26: [581,96,779,45,734], // WHITE MEDIUM DIAMOND + 0x2B27: [609,105,544,40,504], // BLACK MEDIUM LOZENGE + 0x2B28: [609,105,544,40,504], // WHITE MEDIUM LOZENGE + 0x2B29: [488,-16,523,26,497], // BLACK SMALL DIAMOND + 0x2B2A: [488,-16,357,26,331], // BLACK SMALL LOZENGE + 0x2B2B: [488,-16,357,26,331], // WHITE SMALL LOZENGE + 0x2B2C: [500,-4,842,50,792], // BLACK HORIZONTAL ELLIPSE + 0x2B2D: [500,-4,842,50,792], // WHITE HORIZONTAL ELLIPSE + 0x2B2E: [623,119,596,50,546], // BLACK VERTICAL ELLIPSE + 0x2B2F: [623,119,596,50,546], // WHITE VERTICAL ELLIPSE + 0x2B30: [448,-57,926,70,856], // LEFT ARROW WITH SMALL CIRCLE + 0x2B31: [739,232,926,60,866], // THREE LEFTWARDS ARROWS + 0x2B32: [569,61,1200,52,1147], // LEFT ARROW WITH CIRCLED PLUS + 0x2B33: [449,-58,1574,55,1519], // LONG LEFTWARDS SQUIGGLE ARROW + 0x2B34: [450,-57,926,56,871], // LEFTWARDS TWO-HEADED ARROW WITH VERTICAL STROKE + 0x2B35: [450,-57,926,55,871], // LEFTWARDS TWO-HEADED ARROW WITH DOUBLE VERTICAL STROKE + 0x2B36: [450,-57,926,55,871], // LEFTWARDS TWO-HEADED ARROW FROM BAR + 0x2B37: [449,-57,1412,55,1357], // LEFTWARDS TWO-HEADED TRIPLE-DASH ARROW + 0x2B38: [449,-57,926,55,873], // LEFTWARDS ARROW WITH DOTTED STEM + 0x2B39: [450,-57,926,55,871], // LEFTWARDS ARROW WITH TAIL WITH VERTICAL STROKE + 0x2B3A: [450,-57,926,55,871], // LEFTWARDS ARROW WITH TAIL WITH DOUBLE VERTICAL STROKE + 0x2B3B: [449,-57,926,55,871], // LEFTWARDS TWO-HEADED ARROW WITH TAIL + 0x2B3C: [450,-57,926,55,871], // LEFTWARDS TWO-HEADED ARROW WITH TAIL WITH VERTICAL STROKE + 0x2B3D: [450,-57,926,50,876], // LEFTWARDS TWO-HEADED ARROW WITH TAIL WITH DOUBLE VERTICAL STROKE + 0x2B3E: [449,-57,926,55,871], // LEFTWARDS ARROW THROUGH X + 0x2B3F: [449,-57,926,55,871], // WAVE ARROW POINTING DIRECTLY LEFT + 0x2B40: [565,-57,926,55,871], // EQUALS SIGN ABOVE LEFTWARDS ARROW + 0x2B41: [508,-57,926,55,871], // REVERSE TILDE OPERATOR ABOVE LEFTWARDS ARROW + 0x2B42: [449,141,926,55,871], // LEFTWARDS ARROW ABOVE REVERSE ALMOST EQUAL TO + 0x2B43: [532,26,926,45,871], // RIGHTWARDS ARROW THROUGH LESS-THAN + 0x2B44: [532,26,926,45,871], // RIGHTWARDS ARROW THROUGH SUBSET + 0x2B45: [701,195,928,55,873], // LEFTWARDS QUADRUPLE ARROW + 0x2B46: [701,195,928,55,873], // RIGHTWARDS QUADRUPLE ARROW + 0x2B47: [508,-57,926,55,871], // REVERSE TILDE OPERATOR ABOVE RIGHTWARDS ARROW + 0x2B48: [449,141,926,55,871], // RIGHTWARDS ARROW ABOVE REVERSE ALMOST EQUAL TO + 0x2B49: [508,-57,926,55,871], // TILDE OPERATOR ABOVE LEFTWARDS ARROW + 0x2B4A: [449,141,926,55,871], // LEFTWARDS ARROW ABOVE ALMOST EQUAL TO + 0x2B4B: [449,2,926,55,871], // LEFTWARDS ARROW ABOVE REVERSE TILDE OPERATOR + 0x2B4C: [449,2,926,55,871], // RIGHTWARDS ARROW ABOVE REVERSE TILDE OPERATOR + 0x2B50: [619,30,794,60,734], // WHITE MEDIUM STAR + 0x2B51: [619,30,794,60,734], // BLACK MEDIUM STAR + 0x2B52: [597,13,700,35,665], // WHITE SMALL STAR + 0x2B53: [712,126,865,45,840], // BLACK RIGHT-POINTING PENTAGON + 0x2B54: [712,127,865,45,840] // WHITE RIGHT-POINTING PENTAGON + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax["HTML-CSS"].fontDir + "/General/Regular/MiscSymbolsAndArrows.js"); diff --git a/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/MiscTechnical.js b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/MiscTechnical.js new file mode 100644 index 0000000..004db1d --- /dev/null +++ b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/MiscTechnical.js @@ -0,0 +1,80 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/MiscTechnical.js + * + * Copyright (c) 2009-2010 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax['HTML-CSS'].FONTDATA.FONTS['STIXGeneral'], + { + 0x2300: [487,-14,606,25,581], // DIAMETER SIGN + 0x2302: [774,0,926,55,871], // HOUSE + 0x2305: [577,0,620,48,572], // PROJECTIVE + 0x2306: [728,0,620,48,572], // PERSPECTIVE + 0x230C: [166,215,463,52,412], // BOTTOM RIGHT CROP + 0x230D: [166,215,463,52,412], // BOTTOM LEFT CROP + 0x230E: [876,-495,463,52,412], // TOP RIGHT CROP + 0x230F: [876,-495,463,52,412], // TOP LEFT CROP + 0x2310: [393,-115,600,48,552], // REVERSED NOT SIGN + 0x2311: [439,-65,523,75,449], // SQUARE LOZENGE + 0x2312: [331,0,762,50,712], // ARC + 0x2313: [331,0,762,50,712], // SEGMENT + 0x2315: [582,189,847,26,796], // TELEPHONE RECORDER + 0x2316: [748,246,1100,53,1047], // POSITION INDICATOR + 0x2317: [749,245,1100,53,1047], // VIEWDATA SQUARE + 0x2318: [662,156,926,55,871], // PLACE OF INTEREST SIGN + 0x2319: [393,-115,600,48,552], // TURNED NOT SIGN + 0x231A: [671,69,685,64,622], // WATCH + 0x231C: [662,-281,463,51,411], // TOP LEFT CORNER + 0x231D: [662,-281,463,51,411], // TOP RIGHT CORNER + 0x231E: [164,217,463,51,411], // BOTTOM LEFT CORNER + 0x231F: [164,217,463,52,412], // BOTTOM RIGHT CORNER + 0x2329: [713,213,400,77,335], // LEFT-POINTING ANGLE BRACKET + 0x232A: [713,213,400,65,323], // RIGHT-POINTING ANGLE BRACKET + 0x232C: [692,186,926,83,843], // BENZENE RING + 0x232D: [592,88,986,55,931], // CYLINDRICITY + 0x232E: [450,140,624,-18,574], // ALL AROUND-PROFILE + 0x2332: [562,56,889,80,809], // CONICAL TAPER + 0x2336: [751,156,926,85,841], // APL FUNCTIONAL SYMBOL I-BEAM + 0x233D: [683,179,910,84,826], // APL FUNCTIONAL SYMBOL CIRCLE STILE + 0x233F: [703,176,683,60,623], // APL FUNCTIONAL SYMBOL SLASH BAR + 0x2340: [703,176,683,60,623], // APL FUNCTIONAL SYMBOL BACKSLASH BAR + 0x2353: [751,176,794,55,739], // APL FUNCTIONAL SYMBOL QUAD UP CARET + 0x2370: [751,176,794,55,739], // APL FUNCTIONAL SYMBOL QUAD QUESTION + 0x237C: [584,220,871,50,820], // RIGHT ANGLE WITH DOWNWARDS ZIGZAG ARROW + 0x2393: [386,-120,913,85,841], // DIRECT CURRENT SYMBOL FORM TWO + 0x2394: [633,127,926,24,902], // SOFTWARE-FUNCTION SYMBOL + 0x23B4: [766,-574,926,55,871], // TOP SQUARE BRACKET + 0x23B5: [109,83,926,55,871], // BOTTOM SQUARE BRACKET + 0x23B6: [495,-11,926,55,871], // BOTTOM SQUARE BRACKET OVER TOP SQUARE BRACKET + 0x23CE: [731,225,926,50,856], // RETURN SYMBOL + 0x23DC: [55,152,556,-10,566], // TOP PARENTHESIS (mathematical use) + 0x23DD: [771,-564,556,-10,566], // BOTTOM PARENTHESIS (mathematical use) + 0x23DE: [117,88,556,-10,566], // TOP CURLY BRACKET (mathematical use) + 0x23DF: [769,-564,556,-10,566], // BOTTOM CURLY BRACKET (mathematical use) + 0x23E0: [66,212,926,-3,929], // TOP TORTOISE SHELL BRACKET (mathematical use) + 0x23E1: [842,-564,926,-3,929], // BOTTOM TORTOISE SHELL BRACKET (mathematical use) + 0x23E2: [558,53,1144,54,1090], // WHITE TRAPEZIUM + 0x23E3: [680,178,910,82,828], // BENZENE RING WITH CIRCLE + 0x23E4: [286,-220,1094,47,1047], // STRAIGHTNESS + 0x23E5: [527,20,1018,23,995], // FLATNESS + 0x23E6: [434,-72,926,55,871], // AC CURRENT + 0x23E7: [606,97,798,194,733] // ELECTRICAL INTERSECTION + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax["HTML-CSS"].fontDir + "/General/Regular/MiscTechnical.js"); diff --git a/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/NumberForms.js b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/NumberForms.js new file mode 100644 index 0000000..5da99d7 --- /dev/null +++ b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/NumberForms.js @@ -0,0 +1,39 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/NumberForms.js + * + * Copyright (c) 2009-2010 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax['HTML-CSS'].FONTDATA.FONTS['STIXGeneral'], + { + 0x2153: [676,14,750,36,725], // VULGAR FRACTION ONE THIRD + 0x2154: [676,14,750,14,731], // VULGAR FRACTION TWO THIRDS + 0x2155: [676,14,750,37,715], // VULGAR FRACTION ONE FIFTH + 0x2156: [676,14,750,14,720], // VULGAR FRACTION TWO FIFTHS + 0x2157: [676,14,750,13,720], // VULGAR FRACTION THREE FIFTHS + 0x2158: [676,14,750,14,720], // VULGAR FRACTION FOUR FIFTHS + 0x2159: [676,14,750,37,717], // VULGAR FRACTION ONE SIXTH + 0x215A: [676,15,750,29,722], // VULGAR FRACTION FIVE SIXTHS + 0x215B: [676,14,750,37,722], // VULGAR FRACTION ONE EIGHTH + 0x215C: [676,14,750,13,727], // VULGAR FRACTION THREE EIGHTHS + 0x215D: [676,14,750,29,727], // VULGAR FRACTION FIVE EIGHTHS + 0x215E: [676,14,750,28,727] // VULGAR FRACTION SEVEN EIGHTHS + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax["HTML-CSS"].fontDir + "/General/Regular/NumberForms.js"); diff --git a/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/PhoneticExtensions.js b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/PhoneticExtensions.js new file mode 100644 index 0000000..27f06b7 --- /dev/null +++ b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/PhoneticExtensions.js @@ -0,0 +1,36 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/PhoneticExtensions.js + * + * Copyright (c) 2009-2010 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax['HTML-CSS'].FONTDATA.FONTS['STIXGeneral'], + { + 0x1D00: [468,0,510,15,495], // LATIN LETTER SMALL CAPITAL A + 0x1D07: [464,0,504,21,481], // LATIN LETTER SMALL CAPITAL E + 0x1D1C: [464,14,583,21,560], // LATIN LETTER SMALL CAPITAL U + 0x1D81: [683,287,528,27,491], // LATIN SMALL LETTER D WITH PALATAL HOOK + 0x1D84: [683,287,542,7,505], // LATIN SMALL LETTER K WITH PALATAL HOOK + 0x1D85: [683,287,294,19,257], // LATIN SMALL LETTER L WITH PALATAL HOOK + 0x1D8A: [459,287,389,51,348], // LATIN SMALL LETTER S WITH PALATAL HOOK + 0x1D8D: [450,287,516,17,479], // LATIN SMALL LETTER X WITH PALATAL HOOK + 0x1D8E: [450,287,453,27,416] // LATIN SMALL LETTER Z WITH PALATAL HOOK + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax["HTML-CSS"].fontDir + "/General/Regular/PhoneticExtensions.js"); diff --git a/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/SpacingModLetters.js b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/SpacingModLetters.js new file mode 100644 index 0000000..7c51def --- /dev/null +++ b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/SpacingModLetters.js @@ -0,0 +1,79 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/SpacingModLetters.js + * + * Copyright (c) 2009-2010 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax['HTML-CSS'].FONTDATA.FONTS['STIXGeneral'], + { + 0x2B0: [848,-336,378,7,365], // MODIFIER LETTER SMALL H + 0x2B1: [848,-336,378,7,365], // MODIFIER LETTER SMALL H WITH HOOK + 0x2B2: [852,-169,300,44,244], // MODIFIER LETTER SMALL J + 0x2B3: [681,-336,252,5,252], // MODIFIER LETTER SMALL R + 0x2B4: [680,-335,277,10,257], // MODIFIER LETTER SMALL TURNED R + 0x2B5: [680,-168,325,10,338], // MODIFIER LETTER SMALL TURNED R WITH HOOK + 0x2B6: [680,-335,390,6,379], // MODIFIER LETTER SMALL CAPITAL INVERTED R + 0x2B7: [680,-331,520,6,512], // MODIFIER LETTER SMALL W + 0x2B8: [680,-176,370,14,361], // MODIFIER LETTER SMALL Y + 0x2B9: [684,-421,208,90,257], // MODIFIER LETTER PRIME + 0x2BA: [684,-421,305,19,324], // MODIFIER LETTER DOUBLE PRIME + 0x2BB: [686,-443,333,79,218], // MODIFIER LETTER TURNED COMMA + 0x2BC: [686,-443,333,79,218], // MODIFIER LETTER APOSTROPHE + 0x2BD: [686,-443,333,79,218], // MODIFIER LETTER REVERSED COMMA + 0x2BE: [680,-485,198,35,163], // MODIFIER LETTER RIGHT HALF RING + 0x2BF: [680,-485,198,35,163], // MODIFIER LETTER LEFT HALF RING + 0x2C0: [690,-295,326,23,303], // MODIFIER LETTER GLOTTAL STOP + 0x2C1: [690,-295,326,23,303], // MODIFIER LETTER REVERSED GLOTTAL STOP + 0x2C2: [755,-419,317,33,285], // MODIFIER LETTER LEFT ARROWHEAD + 0x2C3: [755,-419,317,33,285], // MODIFIER LETTER RIGHT ARROWHEAD + 0x2C4: [713,-461,317,-9,327], // MODIFIER LETTER UP ARROWHEAD + 0x2C5: [713,-461,317,-9,327], // MODIFIER LETTER DOWN ARROWHEAD + 0x2C8: [713,-448,278,119,159], // MODIFIER LETTER VERTICAL LINE + 0x2CC: [70,195,278,119,159], // MODIFIER LETTER LOW VERTICAL LINE + 0x2CD: [-104,159,334,11,323], // MODIFIER LETTER LOW MACRON + 0x2CE: [-21,192,333,25,249], // MODIFIER LETTER LOW GRAVE ACCENT + 0x2CF: [-21,192,333,84,308], // MODIFIER LETTER LOW ACUTE ACCENT + 0x2D0: [460,-19,333,89,244], // MODIFIER LETTER TRIANGULAR COLON + 0x2D1: [460,-299,333,89,244], // MODIFIER LETTER HALF TRIANGULAR COLON + 0x2D2: [365,-75,333,72,262], // MODIFIER LETTER CENTRED RIGHT HALF RING + 0x2D3: [365,-75,333,71,261], // MODIFIER LETTER CENTRED LEFT HALF RING + 0x2D4: [205,-18,333,51,281], // MODIFIER LETTER UP TACK + 0x2D5: [205,-18,333,51,281], // MODIFIER LETTER DOWN TACK + 0x2D6: [218,-26,333,71,263], // MODIFIER LETTER PLUS SIGN + 0x2D7: [144,-100,333,71,263], // MODIFIER LETTER MINUS SIGN + 0x2DA: [711,-512,333,67,266], // RING ABOVE + 0x2DB: [0,165,333,64,249], // OGONEK + 0x2DD: [678,-507,333,-3,376], // DOUBLE ACUTE ACCENT + 0x2DE: [443,-186,298,0,263], // MODIFIER LETTER RHOTIC HOOK + 0x2DF: [662,-425,333,48,284], // MODIFIER LETTER CROSS ACCENT + 0x2E0: [684,-219,378,24,335], // MODIFIER LETTER SMALL GAMMA + 0x2E1: [848,-336,215,19,197], // MODIFIER LETTER SMALL L + 0x2E2: [681,-331,291,36,261], // MODIFIER LETTER SMALL S + 0x2E3: [680,-336,380,5,372], // MODIFIER LETTER SMALL X + 0x2E4: [850,-336,341,45,319], // MODIFIER LETTER SMALL REVERSED GLOTTAL STOP + 0x2E5: [662,0,413,48,373], // MODIFIER LETTER EXTRA-HIGH TONE BAR + 0x2E6: [662,0,405,40,365], // MODIFIER LETTER HIGH TONE BAR + 0x2E7: [662,0,405,40,365], // MODIFIER LETTER MID TONE BAR + 0x2E8: [662,0,405,40,365], // MODIFIER LETTER LOW TONE BAR + 0x2E9: [662,0,405,40,365], // MODIFIER LETTER EXTRA-LOW TONE BAR + 0x2EC: [70,147,333,21,311], // MODIFIER LETTER VOICING + 0x2ED: [665,-507,405,10,395] // MODIFIER LETTER UNASPIRATED + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax["HTML-CSS"].fontDir + "/General/Regular/SpacingModLetters.js"); diff --git a/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/Specials.js b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/Specials.js new file mode 100644 index 0000000..e7a0e75 --- /dev/null +++ b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/Specials.js @@ -0,0 +1,28 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/Specials.js + * + * Copyright (c) 2009-2010 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax['HTML-CSS'].FONTDATA.FONTS['STIXGeneral'], + { + 0xFFFD: [662,217,872,55,817] // REPLACEMENT CHARACTER + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax["HTML-CSS"].fontDir + "/General/Regular/Specials.js"); diff --git a/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/SuperAndSubscripts.js b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/SuperAndSubscripts.js new file mode 100644 index 0000000..b496d50 --- /dev/null +++ b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/SuperAndSubscripts.js @@ -0,0 +1,28 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/SuperAndSubscripts.js + * + * Copyright (c) 2009-2010 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax['HTML-CSS'].FONTDATA.FONTS['STIXGeneral'], + { + 0x207F: [676,-270,541,57,484] // SUPERSCRIPT LATIN SMALL LETTER N + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax["HTML-CSS"].fontDir + "/General/Regular/SuperAndSubscripts.js"); diff --git a/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/SuppMathOperators.js b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/SuppMathOperators.js new file mode 100644 index 0000000..0310dac --- /dev/null +++ b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/SuppMathOperators.js @@ -0,0 +1,271 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/SuppMathOperators.js + * + * Copyright (c) 2009-2010 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax['HTML-CSS'].FONTDATA.FONTS['STIXGeneral'], + { + 0x2A07: [763,259,1180,83,1097], // TWO LOGICAL AND OPERATOR + 0x2A08: [763,259,1180,83,1097], // TWO LOGICAL OR OPERATOR + 0x2A09: [763,259,1021,50,971], // N-ARY TIMES OPERATOR + 0x2A0A: [763,259,914,58,856], // MODULO TWO SUM + 0x2A0B: [824,320,690,33,659], // SUMMATION WITH INTEGRAL + 0x2A0C: [824,320,1184,32,1364], // QUADRUPLE INTEGRAL OPERATOR + 0x2A0D: [824,320,499,32,639], // FINITE PART INTEGRAL + 0x2A0E: [824,320,499,32,639], // INTEGRAL WITH DOUBLE STROKE + 0x2A0F: [824,320,499,32,639], // INTEGRAL AVERAGE WITH SLASH + 0x2A10: [824,320,499,32,639], // CIRCULATION FUNCTION + 0x2A11: [824,320,499,32,639], // ANTICLOCKWISE INTEGRATION + 0x2A12: [824,320,519,32,639], // LINE INTEGRATION WITH RECTANGULAR PATH AROUND POLE + 0x2A13: [824,320,499,32,639], // LINE INTEGRATION WITH SEMICIRCULAR PATH AROUND POLE + 0x2A14: [824,320,628,32,688], // LINE INTEGRATION NOT INCLUDING THE POLE + 0x2A15: [824,320,499,32,639], // INTEGRAL AROUND A POINT OPERATOR + 0x2A16: [824,320,529,32,639], // QUATERNION INTEGRAL OPERATOR + 0x2A17: [824,320,738,32,818], // INTEGRAL WITH LEFTWARDS ARROW WITH HOOK + 0x2A18: [824,320,539,32,639], // INTEGRAL WITH TIMES SIGN + 0x2A19: [824,320,559,32,639], // INTEGRAL WITH INTERSECTION + 0x2A1A: [824,320,559,32,639], // INTEGRAL WITH UNION + 0x2A1B: [947,320,459,32,639], // INTEGRAL WITH OVERBAR + 0x2A1C: [824,443,459,32,639], // INTEGRAL WITH UNDERBAR + 0x2A1D: [770,252,1270,93,1177], // JOIN + 0x2A1E: [764,258,1018,45,924], // LARGE LEFT TRIANGLE OPERATOR + 0x2A1F: [566,291,503,110,410], // Z NOTATION SCHEMA COMPOSITION + 0x2A20: [633,127,1177,98,1079], // Z NOTATION SCHEMA PIPING + 0x2A21: [805,300,547,215,472], // Z NOTATION SCHEMA PROJECTION + 0x2A22: [819,41,685,48,636], // PLUS SIGN WITH SMALL CIRCLE ABOVE + 0x2A23: [707,41,685,48,636], // PLUS SIGN WITH CIRCUMFLEX ACCENT ABOVE + 0x2A24: [704,41,685,48,636], // PLUS SIGN WITH TILDE ABOVE + 0x2A25: [547,235,685,48,636], // PLUS SIGN WITH DOT BELOW + 0x2A26: [547,198,685,48,636], // PLUS SIGN WITH TILDE BELOW + 0x2A27: [547,210,685,41,673], // PLUS SIGN WITH SUBSCRIPT TWO + 0x2A28: [547,41,685,48,636], // PLUS SIGN WITH BLACK TRIANGLE + 0x2A29: [556,-220,685,48,637], // MINUS SIGN WITH COMMA ABOVE + 0x2A2A: [286,5,685,48,637], // MINUS SIGN WITH DOT BELOW + 0x2A2B: [511,5,685,48,637], // MINUS SIGN WITH FALLING DOTS + 0x2A2C: [511,5,685,48,637], // MINUS SIGN WITH RISING DOTS + 0x2A2D: [623,119,724,50,674], // PLUS SIGN IN LEFT HALF CIRCLE + 0x2A2E: [623,119,724,50,674], // PLUS SIGN IN RIGHT HALF CIRCLE + 0x2A2F: [447,-59,490,50,439], // VECTOR OR CROSS PRODUCT + 0x2A30: [686,25,640,43,597], // MULTIPLICATION SIGN WITH DOT ABOVE + 0x2A31: [529,130,640,43,597], // MULTIPLICATION SIGN WITH UNDERBAR + 0x2A32: [529,45,640,43,597], // SEMIDIRECT PRODUCT WITH BOTTOM CLOSED + 0x2A33: [538,32,685,57,627], // SMASH PRODUCT + 0x2A34: [623,119,674,50,624], // MULTIPLICATION SIGN IN LEFT HALF CIRCLE + 0x2A35: [623,119,674,50,624], // MULTIPLICATION SIGN IN RIGHT HALF CIRCLE + 0x2A36: [810,119,842,50,792], // CIRCLED MULTIPLICATION SIGN WITH CIRCUMFLEX ACCENT + 0x2A37: [752,248,1100,50,1050], // MULTIPLICATION SIGN IN DOUBLE CIRCLE + 0x2A38: [623,119,842,50,792], // CIRCLED DIVISION SIGN + 0x2A39: [811,127,1145,35,1110], // PLUS SIGN IN TRIANGLE + 0x2A3A: [811,127,1145,35,1110], // MINUS SIGN IN TRIANGLE + 0x2A3B: [811,127,1145,35,1110], // MULTIPLICATION SIGN IN TRIANGLE + 0x2A3C: [393,-115,600,48,552], // stix-vert, low bar to left from base + 0x2A3D: [393,-115,600,48,552], // stix-vert, low bar to right from base + 0x2A3E: [488,170,300,60,230], // Z NOTATION RELATIONAL COMPOSITION + 0x2A40: [536,31,620,48,572], // INTERSECTION WITH DOT + 0x2A41: [536,31,620,48,572], // UNION WITH MINUS SIGN + 0x2A42: [668,31,620,48,572], // UNION WITH OVERBAR + 0x2A43: [668,31,620,48,572], // INTERSECTION WITH OVERBAR + 0x2A44: [536,31,620,48,572], // INTERSECTION WITH LOGICAL AND + 0x2A45: [536,31,620,48,572], // UNION WITH LOGICAL OR + 0x2A46: [914,406,620,48,572], // UNION ABOVE INTERSECTION + 0x2A47: [914,406,620,48,572], // INTERSECTION ABOVE UNION + 0x2A48: [914,406,620,48,572], // UNION ABOVE BAR ABOVE INTERSECTION + 0x2A49: [914,406,620,48,572], // INTERSECTION ABOVE BAR ABOVE UNION + 0x2A4A: [528,39,1078,48,1030], // UNION BESIDE AND JOINED WITH UNION + 0x2A4B: [527,40,1078,48,1030], // INTERSECTION BESIDE AND JOINED WITH INTERSECTION + 0x2A4C: [602,31,620,10,610], // CLOSED UNION WITH SERIFS + 0x2A4D: [536,97,620,10,610], // CLOSED INTERSECTION WITH SERIFS + 0x2A4E: [536,31,620,48,572], // DOUBLE SQUARE INTERSECTION + 0x2A4F: [536,31,620,48,572], // DOUBLE SQUARE UNION + 0x2A50: [602,31,620,10,610], // CLOSED UNION WITH SERIFS AND SMASH PRODUCT + 0x2A51: [710,29,620,31,589], // LOGICAL AND WITH DOT ABOVE + 0x2A52: [710,29,620,31,589], // LOGICAL OR WITH DOT ABOVE + 0x2A53: [536,29,620,31,589], // DOUBLE LOGICAL AND + 0x2A54: [536,29,620,31,589], // DOUBLE LOGICAL OR + 0x2A55: [536,29,780,32,748], // TWO INTERSECTING LOGICAL AND + 0x2A56: [536,29,780,32,748], // TWO INTERSECTING LOGICAL OR + 0x2A57: [536,29,706,106,683], // SLOPING LARGE OR + 0x2A58: [536,29,706,23,600], // SLOPING LARGE AND + 0x2A59: [585,77,620,31,589], // LOGICAL OR OVERLAPPING LOGICAL AND + 0x2A5A: [536,29,620,31,589], // LOGICAL AND WITH MIDDLE STEM + 0x2A5B: [536,29,620,31,589], // LOGICAL OR WITH MIDDLE STEM + 0x2A5C: [536,29,620,31,589], // LOGICAL AND WITH HORIZONTAL DASH + 0x2A5D: [536,29,620,31,589], // LOGICAL OR WITH HORIZONTAL DASH + 0x2A5E: [796,29,620,31,589], // LOGICAL AND WITH DOUBLE OVERBAR + 0x2A5F: [536,139,620,30,590], // LOGICAL AND WITH UNDERBAR + 0x2A60: [536,289,620,30,590], // LOGICAL AND WITH DOUBLE UNDERBAR + 0x2A61: [479,0,620,45,575], // SMALL VEE WITH UNDERBAR + 0x2A62: [806,29,620,30,590], // LOGICAL OR WITH DOUBLE OVERBAR + 0x2A63: [536,289,620,30,590], // LOGICAL OR WITH DOUBLE UNDERBAR + 0x2A64: [791,284,1043,70,1008], // Z NOTATION DOMAIN ANTIRESTRICTION + 0x2A65: [791,284,1043,70,1008], // Z NOTATION RANGE ANTIRESTRICTION + 0x2A66: [386,105,685,48,637], // EQUALS SIGN WITH DOT BELOW + 0x2A67: [703,-28,685,48,637], // IDENTICAL WITH DOT ABOVE + 0x2A68: [695,189,685,48,637], // TRIPLE HORIZONTAL BAR WITH DOUBLE VERTICAL STROKE + 0x2A69: [662,156,685,48,637], // TRIPLE HORIZONTAL BAR WITH TRIPLE VERTICAL STROKE + 0x2A6A: [521,-148,685,48,637], // TILDE OPERATOR WITH DOT ABOVE + 0x2A6B: [521,13,685,48,637], // TILDE OPERATOR WITH RISING DOTS + 0x2A6C: [543,38,685,48,637], // SIMILAR MINUS SIMILAR + 0x2A6D: [703,27,685,48,637], // CONGRUENT WITH DOT ABOVE + 0x2A6E: [847,-120,685,48,637], // EQUALS WITH ASTERISK + 0x2A6F: [707,-25,685,48,637], // ALMOST EQUAL TO WITH CIRCUMFLEX ACCENT + 0x2A70: [650,146,685,48,637], // APPROXIMATELY EQUAL OR EQUAL TO + 0x2A71: [648,141,685,48,637], // EQUALS SIGN ABOVE PLUS SIGN + 0x2A72: [648,141,685,48,637], // PLUS SIGN ABOVE EQUALS SIGN + 0x2A73: [532,27,685,48,637], // EQUALS SIGN ABOVE TILDE OPERATOR + 0x2A74: [417,-89,1015,48,967], // DOUBLE COLON EQUAL + 0x2A75: [386,-120,997,48,949], // TWO CONSECUTIVE EQUALS SIGNS + 0x2A76: [386,-120,1436,48,1388], // THREE CONSECUTIVE EQUALS SIGNS + 0x2A77: [611,106,685,48,637], // EQUALS SIGN WITH TWO DOTS ABOVE AND TWO DOTS BELOW + 0x2A78: [703,-28,685,38,647], // EQUIVALENT WITH FOUR DOTS ABOVE + 0x2A79: [532,26,685,44,609], // LESS-THAN WITH CIRCLE INSIDE + 0x2A7A: [532,26,685,76,641], // GREATER-THAN WITH CIRCLE INSIDE + 0x2A7B: [806,26,685,44,609], // LESS-THAN WITH QUESTION MARK ABOVE + 0x2A7C: [806,26,685,76,641], // GREATER-THAN WITH QUESTION MARK ABOVE + 0x2A7D: [625,137,685,56,621], // LESS-THAN OR SLANTED EQUAL TO + 0x2A7E: [625,137,685,56,621], // GREATER-THAN OR SLANTED EQUAL TO + 0x2A7F: [625,137,685,60,625], // LESS-THAN OR SLANTED EQUAL TO WITH DOT INSIDE + 0x2A80: [625,137,685,60,625], // GREATER-THAN OR SLANTED EQUAL TO WITH DOT INSIDE + 0x2A81: [625,137,685,60,625], // LESS-THAN OR SLANTED EQUAL TO WITH DOT ABOVE + 0x2A82: [625,137,685,60,625], // GREATER-THAN OR SLANTED EQUAL TO WITH DOT ABOVE + 0x2A83: [777,137,685,60,625], // LESS-THAN OR SLANTED EQUAL TO WITH DOT ABOVE RIGHT + 0x2A84: [777,137,685,60,625], // GREATER-THAN OR SLANTED EQUAL TO WITH DOT ABOVE LEFT + 0x2A85: [746,275,685,48,637], // LESS-THAN OR APPROXIMATE + 0x2A86: [746,275,685,48,637], // GREATER-THAN OR APPROXIMATE + 0x2A87: [628,216,685,60,625], // LESS-THAN AND SINGLE-LINE NOT EQUAL TO + 0x2A88: [628,216,687,56,621], // GREATER-THAN AND SINGLE-LINE NOT EQUAL TO + 0x2A89: [746,309,685,48,637], // LESS-THAN AND NOT APPROXIMATE + 0x2A8A: [746,309,685,48,637], // GREATER-THAN AND NOT APPROXIMATE + 0x2A8B: [930,424,685,56,621], // LESS-THAN ABOVE DOUBLE-LINE EQUAL ABOVE GREATER-THAN + 0x2A8C: [930,424,685,56,621], // GREATER-THAN ABOVE DOUBLE-LINE EQUAL ABOVE LESS-THAN + 0x2A8D: [746,176,685,48,637], // LESS-THAN ABOVE SIMILAR OR EQUAL + 0x2A8E: [746,176,685,48,637], // GREATER-THAN ABOVE SIMILAR OR EQUAL + 0x2A8F: [867,361,685,60,649], // LESS-THAN ABOVE SIMILAR ABOVE GREATER-THAN + 0x2A90: [867,361,685,60,649], // GREATER-THAN ABOVE SIMILAR ABOVE LESS-THAN + 0x2A91: [844,338,685,55,630], // LESS-THAN ABOVE GREATER-THAN ABOVE DOUBLE-LINE EQUAL + 0x2A92: [844,338,685,55,630], // GREATER-THAN ABOVE LESS-THAN ABOVE DOUBLE-LINE EQUAL + 0x2A93: [866,361,685,60,625], // LESS-THAN ABOVE SLANTED EQUAL ABOVE GREATER-THAN ABOVE SLANTED EQUAL + 0x2A94: [866,361,685,60,625], // GREATER-THAN ABOVE SLANTED EQUAL ABOVE LESS-THAN ABOVE SLANTED EQUAL + 0x2A95: [640,122,685,56,621], // SLANTED EQUAL TO OR LESS-THAN + 0x2A96: [640,122,685,56,621], // SLANTED EQUAL TO OR GREATER-THAN + 0x2A97: [640,122,685,56,621], // SLANTED EQUAL TO OR LESS-THAN WITH DOT INSIDE + 0x2A98: [640,122,685,56,621], // SLANTED EQUAL TO OR GREATER-THAN WITH DOT INSIDE + 0x2A99: [718,211,685,60,625], // DOUBLE-LINE EQUAL TO OR LESS-THAN + 0x2A9A: [718,211,685,60,625], // DOUBLE-LINE EQUAL TO OR GREATER-THAN + 0x2A9B: [726,220,685,60,625], // DOUBLE-LINE SLANTED EQUAL TO OR LESS-THAN + 0x2A9C: [726,220,685,60,625], // DOUBLE-LINE SLANTED EQUAL TO OR GREATER-THAN + 0x2A9D: [664,164,685,53,642], // stix-similar (conforming) or less-than + 0x2A9E: [664,164,685,43,632], // SIMILAR OR GREATER-THAN + 0x2A9F: [774,267,685,48,637], // SIMILAR ABOVE LESS-THAN ABOVE EQUALS SIGN + 0x2AA0: [774,267,685,48,637], // SIMILAR ABOVE GREATER-THAN ABOVE EQUALS SIGN + 0x2AA1: [532,26,685,44,609], // DOUBLE NESTED LESS-THAN + 0x2AA2: [532,26,685,76,641], // DOUBLE NESTED GREATER-THAN + 0x2AA3: [609,103,933,25,908], // DOUBLE NESTED LESS-THAN WITH UNDERBAR + 0x2AA4: [532,26,782,60,722], // GREATER-THAN OVERLAPPING LESS-THAN + 0x2AA5: [532,26,855,60,795], // GREATER-THAN BESIDE LESS-THAN + 0x2AA6: [532,26,685,35,625], // LESS-THAN CLOSED BY CURVE + 0x2AA7: [532,26,685,60,650], // GREATER-THAN CLOSED BY CURVE + 0x2AA8: [625,137,685,50,640], // LESS-THAN CLOSED BY CURVE ABOVE SLANTED EQUAL + 0x2AA9: [626,137,685,45,635], // GREATER-THAN CLOSED BY CURVE ABOVE SLANTED EQUAL + 0x2AAA: [537,31,685,45,609], // SMALLER THAN + 0x2AAB: [537,31,685,76,640], // LARGER THAN + 0x2AAC: [613,103,685,60,625], // stix-smaller than or equal, slanted + 0x2AAD: [613,103,685,60,625], // stix-larger than or equal, slanted + 0x2AAE: [563,-28,685,48,637], // EQUALS SIGN WITH BUMPY ABOVE + 0x2AB1: [628,216,685,60,625], // PRECEDES ABOVE SINGLE-LINE NOT EQUAL TO + 0x2AB2: [628,216,685,60,625], // SUCCEEDS ABOVE SINGLE-LINE NOT EQUAL TO + 0x2AB3: [717,211,685,60,625], // PRECEDES ABOVE EQUALS SIGN + 0x2AB4: [717,211,685,60,625], // SUCCEEDS ABOVE EQUALS SIGN + 0x2AB5: [747,260,685,65,622], // PRECEDES ABOVE NOT EQUAL TO + 0x2AB6: [747,260,685,65,622], // SUCCEEDS ABOVE NOT EQUAL TO + 0x2AB7: [747,275,685,48,637], // PRECEDES ABOVE ALMOST EQUAL TO + 0x2AB8: [747,275,685,48,637], // SUCCEEDS ABOVE ALMOST EQUAL TO + 0x2AB9: [747,309,685,48,637], // PRECEDES ABOVE NOT ALMOST EQUAL TO + 0x2ABA: [747,309,685,48,637], // SUCCEEDS ABOVE NOT ALMOST EQUAL TO + 0x2ABB: [532,26,933,25,908], // DOUBLE PRECEDES + 0x2ABC: [532,26,933,25,908], // DOUBLE SUCCEEDS + 0x2ABD: [532,26,685,60,625], // SUBSET WITH DOT + 0x2ABE: [532,26,685,60,625], // SUPERSET WITH DOT + 0x2ABF: [607,103,685,60,625], // SUBSET WITH PLUS SIGN BELOW + 0x2AC0: [607,103,685,60,625], // SUPERSET WITH PLUS SIGN BELOW + 0x2AC1: [607,103,685,60,625], // SUBSET WITH MULTIPLICATION SIGN BELOW + 0x2AC2: [607,103,685,60,625], // SUPERSET WITH MULTIPLICATION SIGN BELOW + 0x2AC3: [709,103,685,60,625], // SUBSET OF OR EQUAL TO WITH DOT ABOVE + 0x2AC4: [709,103,685,60,625], // SUPERSET OF OR EQUAL TO WITH DOT ABOVE + 0x2AC5: [717,211,685,64,622], // SUBSET OF ABOVE EQUALS SIGN + 0x2AC6: [717,211,685,65,623], // SUPERSET OF ABOVE EQUALS SIGN + 0x2AC7: [665,164,685,60,625], // SUBSET OF ABOVE TILDE OPERATOR + 0x2AC8: [665,164,685,60,625], // SUPERSET OF ABOVE TILDE OPERATOR + 0x2AC9: [746,274,685,60,625], // SUBSET OF ABOVE ALMOST EQUAL TO + 0x2ACA: [746,274,685,60,625], // SUPERSET OF ABOVE ALMOST EQUAL TO + 0x2ACB: [717,319,685,61,619], // stix-subset not double equals, variant + 0x2ACC: [717,319,685,66,624], // SUPERSET OF ABOVE NOT EQUAL TO + 0x2ACD: [558,53,1352,64,1288], // SQUARE LEFT OPEN BOX OPERATOR + 0x2ACE: [558,53,1352,64,1288], // SQUARE RIGHT OPEN BOX OPERATOR + 0x2ACF: [532,26,685,50,615], // CLOSED SUBSET + 0x2AD0: [532,26,685,70,635], // CLOSED SUPERSET + 0x2AD1: [609,103,685,60,626], // CLOSED SUBSET OR EQUAL TO + 0x2AD2: [609,103,685,60,625], // CLOSED SUPERSET OR EQUAL TO + 0x2AD3: [715,209,685,60,625], // SUBSET ABOVE SUPERSET + 0x2AD4: [715,209,685,60,625], // SUPERSET ABOVE SUBSET + 0x2AD5: [715,209,685,60,625], // SUBSET ABOVE SUBSET + 0x2AD6: [715,209,685,60,625], // SUPERSET ABOVE SUPERSET + 0x2AD7: [532,26,1250,60,1190], // SUPERSET BESIDE SUBSET + 0x2AD8: [532,26,1250,60,1190], // SUPERSET BESIDE AND JOINED BY DASH WITH SUBSET + 0x2AD9: [536,31,620,48,572], // ELEMENT OF OPENING DOWNWARDS + 0x2ADA: [697,128,620,48,572], // PITCHFORK WITH TEE TOP + 0x2ADB: [695,97,620,48,572], // TRANSVERSAL INTERSECTION + 0x2ADC: [557,10,620,11,572], // FORKING + 0x2ADD: [557,10,620,48,572], // NONFORKING + 0x2ADE: [662,0,497,64,433], // SHORT LEFT TACK + 0x2ADF: [371,0,685,48,637], // SHORT DOWN TACK + 0x2AE0: [371,0,685,48,637], // SHORT UP TACK + 0x2AE1: [662,0,685,48,637], // PERPENDICULAR WITH S + 0x2AE2: [662,0,685,60,625], // VERTICAL BAR TRIPLE RIGHT TURNSTILE + 0x2AE3: [662,0,860,46,803], // DOUBLE VERTICAL BAR LEFT TURNSTILE + 0x2AE4: [662,0,685,60,625], // VERTICAL BAR DOUBLE LEFT TURNSTILE + 0x2AE5: [662,0,860,46,803], // DOUBLE VERTICAL BAR DOUBLE LEFT TURNSTILE + 0x2AE6: [662,0,685,57,626], // LONG DASH FROM LEFT MEMBER OF DOUBLE VERTICAL + 0x2AE7: [571,0,685,48,637], // SHORT DOWN TACK WITH OVERBAR + 0x2AE8: [571,0,685,48,637], // SHORT UP TACK WITH UNDERBAR + 0x2AE9: [691,185,685,48,637], // SHORT UP TACK ABOVE SHORT DOWN TACK + 0x2AEA: [662,0,685,48,637], // DOUBLE DOWN TACK + 0x2AEB: [662,0,685,48,637], // DOUBLE UP TACK + 0x2AEC: [489,-18,600,48,552], // DOUBLE STROKE NOT SIGN + 0x2AED: [489,-18,600,48,552], // REVERSED DOUBLE STROKE NOT SIGN + 0x2AEE: [690,189,404,23,381], // stix-short mid negated by backslash + 0x2AEF: [660,154,502,101,401], // VERTICAL LINE WITH CIRCLE ABOVE + 0x2AF0: [660,154,502,101,401], // VERTICAL LINE WITH CIRCLE BELOW + 0x2AF1: [693,187,502,101,401], // DOWN TACK WITH CIRCLE BELOW + 0x2AF2: [695,189,523,10,513], // PARALLEL WITH HORIZONTAL STROKE + 0x2AF3: [695,189,685,48,637], // PARALLEL WITH TILDE OPERATOR + 0x2AF4: [695,189,685,131,555], // TRIPLE VERTICAL BAR BINARY RELATION + 0x2AF5: [695,189,685,12,674], // TRIPLE VERTICAL BAR WITH HORIZONTAL STROKE + 0x2AF6: [608,102,685,279,406], // TRIPLE COLON OPERATOR + 0x2AF7: [661,155,1170,58,1080], // TRIPLE NESTED LESS-THAN + 0x2AF8: [661,155,1170,90,1112], // TRIPLE NESTED GREATER-THAN + 0x2AF9: [726,220,685,60,625], // DOUBLE-LINE SLANTED LESS-THAN OR EQUAL TO + 0x2AFA: [726,220,685,60,625], // DOUBLE-LINE SLANTED GREATER-THAN OR EQUAL TO + 0x2AFB: [710,222,894,46,848], // TRIPLE SOLIDUS BINARY RELATION + 0x2AFD: [710,222,709,46,663], // DOUBLE SOLIDUS OPERATOR + 0x2AFE: [690,189,410,100,310] // WHITE VERTICAL BAR + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax["HTML-CSS"].fontDir + "/General/Regular/SuppMathOperators.js"); diff --git a/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/SupplementalArrowsA.js b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/SupplementalArrowsA.js new file mode 100644 index 0000000..586349e --- /dev/null +++ b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/SupplementalArrowsA.js @@ -0,0 +1,35 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/SupplementalArrowsA.js + * + * Copyright (c) 2009-2010 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax['HTML-CSS'].FONTDATA.FONTS['STIXGeneral'], + { + 0x27F0: [662,156,1033,69,965], // UPWARDS QUADRUPLE ARROW + 0x27F1: [662,156,1033,69,965], // DOWNWARDS QUADRUPLE ARROW + 0x27F2: [626,116,974,54,882], // ANTICLOCKWISE GAPPED CIRCLE ARROW + 0x27F3: [626,116,974,92,920], // CLOCKWISE GAPPED CIRCLE ARROW + 0x27F4: [569,61,1200,52,1147], // RIGHT ARROW WITH CIRCLED PLUS + 0x27FD: [551,45,1574,55,1519], // LONG LEFTWARDS DOUBLE ARROW FROM BAR + 0x27FE: [551,45,1574,55,1519], // LONG RIGHTWARDS DOUBLE ARROW FROM BAR + 0x27FF: [449,-58,1574,55,1519] // LONG RIGHTWARDS SQUIGGLE ARROW + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax["HTML-CSS"].fontDir + "/General/Regular/SupplementalArrowsA.js"); diff --git a/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/SupplementalArrowsB.js b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/SupplementalArrowsB.js new file mode 100644 index 0000000..f5e5cee --- /dev/null +++ b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/SupplementalArrowsB.js @@ -0,0 +1,155 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/SupplementalArrowsB.js + * + * Copyright (c) 2009-2010 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax['HTML-CSS'].FONTDATA.FONTS['STIXGeneral'], + { + 0x2900: [450,-57,926,56,871], // RIGHTWARDS TWO-HEADED ARROW WITH VERTICAL STROKE + 0x2901: [450,-57,926,55,871], // RIGHTWARDS TWO-HEADED ARROW WITH DOUBLE VERTICAL STROKE + 0x2902: [551,45,926,55,871], // LEFTWARDS DOUBLE ARROW WITH VERTICAL STROKE + 0x2903: [551,45,926,55,871], // RIGHTWARDS DOUBLE ARROW WITH VERTICAL STROKE + 0x2904: [551,45,926,20,906], // LEFT RIGHT DOUBLE ARROW WITH VERTICAL STROKE + 0x2905: [450,-57,926,55,871], // RIGHTWARDS TWO-HEADED ARROW FROM BAR + 0x2906: [551,45,926,55,871], // LEFTWARDS DOUBLE ARROW FROM BAR + 0x2907: [551,45,926,55,871], // RIGHTWARDS DOUBLE ARROW FROM BAR + 0x2908: [662,156,511,59,452], // DOWNWARDS ARROW WITH HORIZONTAL STROKE + 0x2909: [662,156,511,59,452], // UPWARDS ARROW WITH HORIZONTAL STROKE + 0x290A: [662,156,926,71,854], // UPWARDS TRIPLE ARROW + 0x290B: [662,156,926,72,855], // DOWNWARDS TRIPLE ARROW + 0x290C: [449,-57,926,55,871], // LEFTWARDS DOUBLE DASH ARROW + 0x290D: [449,-57,926,55,871], // RIGHTWARDS DOUBLE DASH ARROW + 0x290E: [449,-57,926,55,871], // LEFTWARDS TRIPLE DASH ARROW + 0x290F: [449,-57,926,55,871], // RIGHTWARDS TRIPLE DASH ARROW + 0x2910: [449,-57,1412,55,1357], // RIGHTWARDS TWO-HEADED TRIPLE DASH ARROW + 0x2911: [449,-57,926,55,873], // RIGHTWARDS ARROW WITH DOTTED STEM + 0x2912: [662,156,511,59,452], // UPWARDS ARROW TO BAR + 0x2913: [662,156,511,59,452], // DOWNWARDS ARROW TO BAR + 0x2914: [450,-57,926,55,871], // RIGHTWARDS ARROW WITH TAIL WITH VERTICAL STROKE + 0x2915: [450,-57,926,55,871], // RIGHTWARDS ARROW WITH TAIL WITH DOUBLE VERTICAL STROKE + 0x2916: [449,-57,926,55,871], // RIGHTWARDS TWO-HEADED ARROW WITH TAIL + 0x2917: [450,-57,926,55,871], // RIGHTWARDS TWO-HEADED ARROW WITH TAIL WITH VERTICAL STROKE + 0x2918: [450,-57,926,50,876], // RIGHTWARDS TWO-HEADED ARROW WITH TAIL WITH DOUBLE VERTICAL STROKE + 0x2919: [449,-57,926,55,871], // LEFTWARDS ARROW-TAIL + 0x291A: [449,-57,926,55,871], // RIGHTWARDS ARROW-TAIL + 0x291B: [449,-57,926,55,871], // LEFTWARDS DOUBLE ARROW-TAIL + 0x291C: [449,-57,926,55,871], // RIGHTWARDS DOUBLE ARROW-TAIL + 0x291D: [449,-57,926,55,871], // LEFTWARDS ARROW TO BLACK DIAMOND + 0x291E: [449,-57,926,55,871], // RIGHTWARDS ARROW TO BLACK DIAMOND + 0x291F: [450,-57,926,55,871], // LEFTWARDS ARROW FROM BAR TO BLACK DIAMOND + 0x2920: [450,-57,926,55,871], // RIGHTWARDS ARROW FROM BAR TO BLACK DIAMOND + 0x2921: [662,156,926,55,871], // NORTH WEST AND SOUTH EAST ARROW + 0x2922: [660,156,926,55,873], // NORTH EAST AND SOUTH WEST ARROW + 0x2923: [662,156,926,55,871], // NORTH WEST ARROW WITH HOOK + 0x2924: [662,156,926,55,871], // NORTH EAST ARROW WITH HOOK + 0x2925: [662,156,926,55,871], // SOUTH EAST ARROW WITH HOOK + 0x2926: [662,156,926,55,871], // SOUTH WEST ARROW WITH HOOK + 0x2927: [662,156,926,55,873], // NORTH WEST ARROW AND NORTH EAST ARROW + 0x2928: [662,156,926,53,871], // NORTH EAST ARROW AND SOUTH EAST ARROW + 0x2929: [662,156,926,53,871], // SOUTH EAST ARROW AND SOUTH WEST ARROW + 0x292A: [662,156,926,55,873], // SOUTH WEST ARROW AND NORTH WEST ARROW + 0x292B: [662,156,926,55,871], // RISING DIAGONAL CROSSING FALLING DIAGONAL + 0x292C: [662,156,926,55,871], // FALLING DIAGONAL CROSSING RISING DIAGONAL + 0x292D: [662,156,926,55,871], // SOUTH EAST ARROW CROSSING NORTH EAST ARROW + 0x292E: [662,156,926,55,871], // NORTH EAST ARROW CROSSING SOUTH EAST ARROW + 0x292F: [662,156,926,55,871], // FALLING DIAGONAL CROSSING NORTH EAST ARROW + 0x2930: [662,154,926,55,873], // RISING DIAGONAL CROSSING SOUTH EAST ARROW + 0x2931: [662,156,926,54,870], // NORTH EAST ARROW CROSSING NORTH WEST ARROW + 0x2932: [662,156,926,55,871], // NORTH WEST ARROW CROSSING NORTH EAST ARROW + 0x2933: [449,-57,926,55,871], // WAVE ARROW POINTING DIRECTLY RIGHT + 0x2934: [562,0,926,141,797], // ARROW POINTING RIGHTWARDS THEN CURVING UPWARDS + 0x2935: [562,0,926,141,797], // ARROW POINTING RIGHTWARDS THEN CURVING DOWNWARDS + 0x2936: [493,163,784,87,649], // ARROW POINTING DOWNWARDS THEN CURVING LEFTWARDS + 0x2937: [493,163,784,135,697], // ARROW POINTING DOWNWARDS THEN CURVING RIGHTWARDS + 0x2938: [657,153,511,70,415], // RIGHT-SIDE ARC CLOCKWISE ARROW + 0x2939: [657,153,511,96,441], // LEFT-SIDE ARC ANTICLOCKWISE ARROW + 0x293A: [423,-78,926,69,866], // TOP ARC ANTICLOCKWISE ARROW + 0x293B: [423,-78,926,60,857], // BOTTOM ARC ANTICLOCKWISE ARROW + 0x293C: [423,-64,926,59,856], // TOP ARC CLOCKWISE ARROW WITH MINUS + 0x293D: [423,29,926,69,866], // TOP ARC ANTICLOCKWISE ARROW WITH PLUS + 0x293E: [563,116,926,69,856], // LOWER RIGHT SEMICIRCULAR CLOCKWISE ARROW + 0x293F: [563,116,926,69,856], // LOWER LEFT SEMICIRCULAR ANTICLOCKWISE ARROW + 0x2940: [788,116,926,92,834], // ANTICLOCKWISE CLOSED CIRCLE ARROW + 0x2941: [788,116,926,92,834], // CLOCKWISE CLOSED CIRCLE ARROW + 0x2942: [598,92,926,55,871], // RIGHTWARDS ARROW ABOVE SHORT LEFTWARDS ARROW + 0x2943: [598,92,926,55,871], // LEFTWARDS ARROW ABOVE SHORT RIGHTWARDS ARROW + 0x2944: [598,92,926,55,871], // SHORT RIGHTWARDS ARROW ABOVE LEFTWARDS ARROW + 0x2945: [449,69,926,55,871], // RIGHTWARDS ARROW WITH PLUS BELOW + 0x2946: [449,69,926,55,871], // LEFTWARDS ARROW WITH PLUS BELOW + 0x2947: [449,-57,926,55,871], // RIGHTWARDS ARROW THROUGH X + 0x2948: [449,-57,926,38,888], // LEFT RIGHT ARROW THROUGH SMALL CIRCLE + 0x2949: [662,154,511,60,451], // UPWARDS TWO-HEADED ARROW FROM SMALL CIRCLE + 0x294A: [439,-67,926,38,888], // LEFT BARB UP RIGHT BARB DOWN HARPOON + 0x294B: [439,-67,926,38,888], // LEFT BARB DOWN RIGHT BARB UP HARPOON + 0x294C: [662,156,511,69,441], // UP BARB RIGHT DOWN BARB LEFT HARPOON + 0x294D: [662,156,511,69,441], // UP BARB LEFT DOWN BARB RIGHT HARPOON + 0x294E: [439,-220,926,38,888], // LEFT BARB UP RIGHT BARB UP HARPOON + 0x294F: [662,156,511,222,441], // UP BARB RIGHT DOWN BARB RIGHT HARPOON + 0x2950: [286,-67,926,38,888], // LEFT BARB DOWN RIGHT BARB DOWN HARPOON + 0x2951: [662,156,511,69,288], // UP BARB LEFT DOWN BARB LEFT HARPOON + 0x2952: [448,-58,926,55,871], // LEFTWARDS HARPOON WITH BARB UP TO BAR + 0x2953: [448,-58,926,55,871], // RIGHTWARDS HARPOON WITH BARB UP TO BAR + 0x2954: [662,156,511,60,451], // UPWARDS HARPOON WITH BARB RIGHT TO BAR + 0x2955: [662,156,511,60,451], // DOWNWARDS HARPOON WITH BARB RIGHT TO BAR + 0x2956: [448,-58,926,55,871], // LEFTWARDS HARPOON WITH BARB DOWN TO BAR + 0x2957: [448,-58,926,55,871], // RIGHTWARDS HARPOON WITH BARB DOWN TO BAR + 0x2958: [662,156,511,60,451], // UPWARDS HARPOON WITH BARB LEFT TO BAR + 0x2959: [662,156,511,60,451], // DOWNWARDS HARPOON WITH BARB LEFT TO BAR + 0x295A: [448,-58,926,55,871], // LEFTWARDS HARPOON WITH BARB UP FROM BAR + 0x295B: [448,-58,926,55,871], // RIGHTWARDS HARPOON WITH BARB UP FROM BAR + 0x295C: [662,156,511,60,451], // UPWARDS HARPOON WITH BARB RIGHT FROM BAR + 0x295D: [662,156,511,60,451], // DOWNWARDS HARPOON WITH BARB RIGHT FROM BAR + 0x295E: [448,-58,926,55,871], // LEFTWARDS HARPOON WITH BARB DOWN FROM BAR + 0x295F: [448,-58,926,55,871], // RIGHTWARDS HARPOON WITH BARB DOWN FROM BAR + 0x2960: [662,156,511,59,450], // UPWARDS HARPOON WITH BARB LEFT FROM BAR + 0x2961: [662,156,511,59,450], // DOWNWARDS HARPOON WITH BARB LEFT FROM BAR + 0x2962: [539,33,926,55,871], // LEFTWARDS HARPOON WITH BARB UP ABOVE LEFTWARDS HARPOON WITH BARB DOWN + 0x2963: [662,156,685,57,629], // UPWARDS HARPOON WITH BARB LEFT BESIDE UPWARDS HARPOON WITH BARB RIGHT + 0x2964: [539,33,926,55,871], // RIGHTWARDS HARPOON WITH BARB UP ABOVE RIGHTWARDS HARPOON WITH BARB DOWN + 0x2965: [662,156,685,57,629], // DOWNWARDS HARPOON WITH BARB LEFT BESIDE DOWNWARDS HARPOON WITH BARB RIGHT + 0x2966: [539,-120,926,55,871], // LEFTWARDS HARPOON WITH BARB UP ABOVE RIGHTWARDS HARPOON WITH BARB UP + 0x2967: [386,33,926,55,871], // LEFTWARDS HARPOON WITH BARB DOWN ABOVE RIGHTWARDS HARPOON WITH BARB DOWN + 0x2968: [539,-120,926,55,871], // RIGHTWARDS HARPOON WITH BARB UP ABOVE LEFTWARDS HARPOON WITH BARB UP + 0x2969: [386,33,926,55,871], // RIGHTWARDS HARPOON WITH BARB DOWN ABOVE LEFTWARDS HARPOON WITH BARB DOWN + 0x296A: [539,-120,926,55,871], // LEFTWARDS HARPOON WITH BARB UP ABOVE LONG DASH + 0x296B: [386,33,926,55,871], // LEFTWARDS HARPOON WITH BARB DOWN BELOW LONG DASH + 0x296C: [539,-120,926,55,871], // RIGHTWARDS HARPOON WITH BARB UP ABOVE LONG DASH + 0x296D: [386,33,926,55,871], // RIGHTWARDS HARPOON WITH BARB DOWN BELOW LONG DASH + 0x296E: [662,156,685,57,629], // UPWARDS HARPOON WITH BARB LEFT BESIDE DOWNWARDS HARPOON WITH BARB RIGHT + 0x296F: [662,156,685,57,629], // DOWNWARDS HARPOON WITH BARB LEFT BESIDE UPWARDS HARPOON WITH BARB RIGHT + 0x2970: [386,-120,926,55,871], // RIGHT DOUBLE ARROW WITH ROUNDED HEAD + 0x2971: [565,-57,926,55,871], // EQUALS SIGN ABOVE RIGHTWARDS ARROW + 0x2972: [508,-57,926,55,871], // TILDE OPERATOR ABOVE RIGHTWARDS ARROW + 0x2973: [449,2,926,55,871], // LEFTWARDS ARROW ABOVE TILDE OPERATOR + 0x2974: [449,2,926,55,871], // RIGHTWARDS ARROW ABOVE TILDE OPERATOR + 0x2975: [449,141,926,55,871], // RIGHTWARDS ARROW ABOVE ALMOST EQUAL TO + 0x2976: [607,283,685,64,621], // LESS-THAN ABOVE LEFTWARDS ARROW + 0x2977: [532,26,926,45,871], // LEFTWARDS ARROW THROUGH LESS-THAN + 0x2978: [608,282,685,64,621], // GREATER-THAN ABOVE RIGHTWARDS ARROW + 0x2979: [627,262,685,64,621], // SUBSET ABOVE RIGHTWARDS ARROW + 0x297A: [532,26,926,45,871], // LEFTWARDS ARROW THROUGH SUBSET + 0x297B: [627,262,685,63,620], // SUPERSET ABOVE LEFTWARDS ARROW + 0x297C: [511,5,926,135,791], // LEFT FISH TAIL + 0x297D: [511,5,926,135,791], // RIGHT FISH TAIL + 0x297E: [581,75,685,84,600], // UP FISH TAIL + 0x297F: [581,75,685,84,600] // DOWN FISH TAIL + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax["HTML-CSS"].fontDir + "/General/Regular/SupplementalArrowsB.js"); diff --git a/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/ij.js b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/ij.js new file mode 100644 index 0000000..a5b2440 --- /dev/null +++ b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/ij.js @@ -0,0 +1,29 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/ij.js + * + * Copyright (c) 2009-2010 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax['HTML-CSS'].FONTDATA.FONTS['STIXGeneral'], + { + 0x1D6A4: [441,11,278,47,235], // MATHEMATICAL ITALIC SMALL DOTLESS I + 0x1D6A5: [441,207,278,-124,246] // MATHEMATICAL ITALIC SMALL DOTLESS J + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax["HTML-CSS"].fontDir + "/General/Regular/ij.js"); diff --git a/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/IntegralsD/Bold/All.js b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/IntegralsD/Bold/All.js new file mode 100644 index 0000000..2d5e888 --- /dev/null +++ b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/IntegralsD/Bold/All.js @@ -0,0 +1,55 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/fonts/STIX/IntegralsD/Bold/All.js + * + * Copyright (c) 2009-2010 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax['HTML-CSS'].FONTDATA.FONTS['STIXIntegralsD-bold'], + { + 0x20: [0,0,250,0,0], // SPACE + 0xA0: [0,0,250,0,0], // NO-BREAK SPACE + 0x222B: [2000,269,686,56,1136], // INTEGRAL + 0x222C: [2000,269,1084,56,1534], // DOUBLE INTEGRAL + 0x222D: [2000,269,1482,56,1932], // TRIPLE INTEGRAL + 0x222E: [2000,269,736,56,1136], // CONTOUR INTEGRAL + 0x222F: [2000,269,1134,56,1534], // SURFACE INTEGRAL + 0x2230: [2000,269,1532,56,1932], // VOLUME INTEGRAL + 0x2231: [2000,269,736,56,1136], // CLOCKWISE INTEGRAL + 0x2232: [2000,269,736,56,1136], // CLOCKWISE CONTOUR INTEGRAL + 0x2233: [2000,269,736,56,1136], // ANTICLOCKWISE CONTOUR INTEGRAL + 0x2A0C: [2000,269,1880,56,2330], // QUADRUPLE INTEGRAL OPERATOR + 0x2A0D: [2000,269,736,56,1136], // FINITE PART INTEGRAL + 0x2A0E: [2000,269,736,56,1136], // INTEGRAL WITH DOUBLE STROKE + 0x2A0F: [2000,269,736,56,1136], // INTEGRAL AVERAGE WITH SLASH + 0x2A10: [2000,269,736,56,1136], // CIRCULATION FUNCTION + 0x2A11: [2000,269,736,56,1136], // ANTICLOCKWISE INTEGRATION + 0x2A12: [2000,269,836,56,1136], // LINE INTEGRATION WITH RECTANGULAR PATH AROUND POLE + 0x2A13: [2000,269,736,56,1136], // LINE INTEGRATION WITH SEMICIRCULAR PATH AROUND POLE + 0x2A14: [2000,269,926,56,1136], // LINE INTEGRATION NOT INCLUDING THE POLE + 0x2A15: [2000,269,736,56,1136], // INTEGRAL AROUND A POINT OPERATOR + 0x2A16: [2000,269,836,56,1136], // QUATERNION INTEGRAL OPERATOR + 0x2A17: [2000,269,911,24,1131], // INTEGRAL WITH LEFTWARDS ARROW WITH HOOK + 0x2A18: [2000,269,736,56,1136], // INTEGRAL WITH TIMES SIGN + 0x2A19: [2000,269,836,56,1136], // INTEGRAL WITH INTERSECTION + 0x2A1A: [2000,269,836,56,1136], // INTEGRAL WITH UNION + 0x2A1B: [2182,269,746,56,1146], // INTEGRAL WITH OVERBAR + 0x2A1C: [2000,451,696,56,1146] // INTEGRAL WITH UNDERBAR + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax["HTML-CSS"].fontDir + "/IntegralsD/Bold/All.js"); diff --git a/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/IntegralsD/Regular/All.js b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/IntegralsD/Regular/All.js new file mode 100644 index 0000000..c09ab19 --- /dev/null +++ b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/IntegralsD/Regular/All.js @@ -0,0 +1,54 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/fonts/STIX/IntegralsD/Regular/All.js + * + * Copyright (c) 2009-2010 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax['HTML-CSS'].FONTDATA.FONTS['STIXIntegralsD'], + { + 0x20: [0,0,250,0,0], // SPACE + 0xA0: [0,0,250,0,0], // NO-BREAK SPACE + 0x222C: [2000,269,895,56,1345], // DOUBLE INTEGRAL + 0x222D: [2000,269,1205,56,1655], // TRIPLE INTEGRAL + 0x222F: [2000,269,945,56,1345], // SURFACE INTEGRAL + 0x2230: [2000,269,1255,56,1655], // VOLUME INTEGRAL + 0x2231: [2000,269,635,56,1035], // CLOCKWISE INTEGRAL + 0x2232: [2000,269,635,56,1035], // CLOCKWISE CONTOUR INTEGRAL + 0x2233: [2000,269,635,56,1035], // ANTICLOCKWISE CONTOUR INTEGRAL + 0x2A0B: [2000,269,914,56,1035], // SUMMATION WITH INTEGRAL + 0x2A0C: [2000,269,1515,56,1965], // QUADRUPLE INTEGRAL OPERATOR + 0x2A0D: [2000,269,635,56,1035], // FINITE PART INTEGRAL + 0x2A0E: [2000,269,635,56,1035], // INTEGRAL WITH DOUBLE STROKE + 0x2A0F: [2000,269,635,56,1035], // INTEGRAL AVERAGE WITH SLASH + 0x2A10: [2000,269,635,56,1035], // CIRCULATION FUNCTION + 0x2A11: [2000,269,635,56,1035], // ANTICLOCKWISE INTEGRATION + 0x2A12: [2000,269,735,56,1035], // LINE INTEGRATION WITH RECTANGULAR PATH AROUND POLE + 0x2A13: [2000,269,635,56,1035], // LINE INTEGRATION WITH SEMICIRCULAR PATH AROUND POLE + 0x2A14: [2000,269,844,56,1054], // LINE INTEGRATION NOT INCLUDING THE POLE + 0x2A15: [2000,269,635,56,1035], // INTEGRAL AROUND A POINT OPERATOR + 0x2A16: [2000,269,735,56,1035], // QUATERNION INTEGRAL OPERATOR + 0x2A17: [2000,269,819,24,1039], // INTEGRAL WITH LEFTWARDS ARROW WITH HOOK + 0x2A18: [2000,269,635,56,1035], // INTEGRAL WITH TIMES SIGN + 0x2A19: [2000,269,735,56,1035], // INTEGRAL WITH INTERSECTION + 0x2A1A: [2000,269,735,56,1035], // INTEGRAL WITH UNION + 0x2A1B: [2157,269,636,56,1036], // INTEGRAL WITH OVERBAR + 0x2A1C: [2000,426,585,56,1035] // INTEGRAL WITH UNDERBAR + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax["HTML-CSS"].fontDir + "/IntegralsD/Regular/All.js"); diff --git a/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/IntegralsD/Regular/Main.js b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/IntegralsD/Regular/Main.js new file mode 100644 index 0000000..c4179ef --- /dev/null +++ b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/IntegralsD/Regular/Main.js @@ -0,0 +1,36 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/fonts/STIX/IntegralsD/Regular/Main.js + * + * Copyright (c) 2009-2010 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +MathJax.OutputJax['HTML-CSS'].FONTDATA.FONTS['STIXIntegralsD'] = { + directory: 'IntegralsD/Regular', + family: 'STIXIntegralsD', + Ranges: [ + [0x20,0x20,"All"], + [0xA0,0xA0,"All"], + [0x222B,0x2233,"All"], + [0x2A0B,0x2A1C,"All"] + ], + 0x222B: [2000,269,585,56,1035], // INTEGRAL + 0x222E: [2000,269,635,56,1035] // CONTOUR INTEGRAL +}; + +MathJax.OutputJax["HTML-CSS"].initFont("STIXIntegralsD"); + +MathJax.Ajax.loadComplete(MathJax.OutputJax["HTML-CSS"].fontDir + "/IntegralsD/Regular/Main.js"); diff --git a/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/IntegralsSm/Bold/All.js b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/IntegralsSm/Bold/All.js new file mode 100644 index 0000000..2c29c2e --- /dev/null +++ b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/IntegralsSm/Bold/All.js @@ -0,0 +1,55 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/fonts/STIX/IntegralsSm/Bold/All.js + * + * Copyright (c) 2009-2010 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax['HTML-CSS'].FONTDATA.FONTS['STIXIntegralsSm-bold'], + { + 0x20: [0,0,250,0,0], // SPACE + 0xA0: [0,0,250,0,0], // NO-BREAK SPACE + 0x222B: [732,193,562,41,618], // INTEGRAL + 0x222C: [732,193,870,41,926], // DOUBLE INTEGRAL + 0x222D: [732,193,1179,41,1235], // TRIPLE INTEGRAL + 0x222E: [732,193,626,41,618], // CONTOUR INTEGRAL + 0x222F: [732,193,934,41,926], // SURFACE INTEGRAL + 0x2230: [732,193,1243,41,1235], // VOLUME INTEGRAL + 0x2231: [732,193,626,41,618], // CLOCKWISE INTEGRAL + 0x2232: [732,193,626,41,618], // CLOCKWISE CONTOUR INTEGRAL + 0x2233: [732,193,626,41,618], // ANTICLOCKWISE CONTOUR INTEGRAL + 0x2A0C: [732,193,1488,41,1544], // QUADRUPLE INTEGRAL OPERATOR + 0x2A0D: [732,193,578,41,618], // FINITE PART INTEGRAL + 0x2A0E: [732,193,578,41,618], // INTEGRAL WITH DOUBLE STROKE + 0x2A0F: [732,193,626,41,618], // INTEGRAL AVERAGE WITH SLASH + 0x2A10: [732,193,562,41,618], // CIRCULATION FUNCTION + 0x2A11: [732,193,626,41,618], // ANTICLOCKWISE INTEGRATION + 0x2A12: [732,193,579,41,618], // LINE INTEGRATION WITH RECTANGULAR PATH AROUND POLE + 0x2A13: [732,193,581,41,618], // LINE INTEGRATION WITH SEMICIRCULAR PATH AROUND POLE + 0x2A14: [732,193,688,41,652], // LINE INTEGRATION NOT INCLUDING THE POLE + 0x2A15: [732,193,626,41,618], // INTEGRAL AROUND A POINT OPERATOR + 0x2A16: [732,193,579,41,618], // QUATERNION INTEGRAL OPERATOR + 0x2A17: [732,193,646,8,646], // INTEGRAL WITH LEFTWARDS ARROW WITH HOOK + 0x2A18: [732,193,578,41,618], // INTEGRAL WITH TIMES SIGN + 0x2A19: [732,193,559,41,618], // INTEGRAL WITH INTERSECTION + 0x2A1A: [732,193,559,41,618], // INTEGRAL WITH UNION + 0x2A1B: [802,193,555,41,611], // INTEGRAL WITH OVERBAR + 0x2A1C: [732,268,556,41,612] // INTEGRAL WITH UNDERBAR + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax["HTML-CSS"].fontDir + "/IntegralsSm/Bold/All.js"); diff --git a/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/IntegralsSm/Regular/All.js b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/IntegralsSm/Regular/All.js new file mode 100644 index 0000000..5d01384 --- /dev/null +++ b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/IntegralsSm/Regular/All.js @@ -0,0 +1,54 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/fonts/STIX/IntegralsSm/Regular/All.js + * + * Copyright (c) 2009-2010 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax['HTML-CSS'].FONTDATA.FONTS['STIXIntegralsSm'], + { + 0x20: [0,0,250,0,0], // SPACE + 0xA0: [0,0,250,0,0], // NO-BREAK SPACE + 0x222C: [690,189,726,41,782], // DOUBLE INTEGRAL + 0x222D: [690,189,956,41,1012], // TRIPLE INTEGRAL + 0x222F: [690,189,790,41,782], // SURFACE INTEGRAL + 0x2230: [690,189,1020,41,1012], // VOLUME INTEGRAL + 0x2231: [690,189,560,41,552], // CLOCKWISE INTEGRAL + 0x2232: [690,189,560,41,552], // CLOCKWISE CONTOUR INTEGRAL + 0x2233: [690,189,560,41,552], // ANTICLOCKWISE CONTOUR INTEGRAL + 0x2A0B: [694,190,593,41,552], // SUMMATION WITH INTEGRAL + 0x2A0C: [695,189,1152,41,1242], // QUADRUPLE INTEGRAL OPERATOR + 0x2A0D: [694,190,512,41,552], // FINITE PART INTEGRAL + 0x2A0E: [693,190,512,41,552], // INTEGRAL WITH DOUBLE STROKE + 0x2A0F: [694,190,560,41,552], // INTEGRAL AVERAGE WITH SLASH + 0x2A10: [694,190,496,41,552], // CIRCULATION FUNCTION + 0x2A11: [695,189,560,41,552], // ANTICLOCKWISE INTEGRATION + 0x2A12: [694,191,513,41,552], // LINE INTEGRATION WITH RECTANGULAR PATH AROUND POLE + 0x2A13: [694,190,512,41,552], // LINE INTEGRATION WITH SEMICIRCULAR PATH AROUND POLE + 0x2A14: [694,190,635,41,597], // LINE INTEGRATION NOT INCLUDING THE POLE + 0x2A15: [694,190,512,43,552], // INTEGRAL AROUND A POINT OPERATOR + 0x2A16: [695,189,512,41,552], // QUATERNION INTEGRAL OPERATOR + 0x2A17: [694,190,613,13,586], // INTEGRAL WITH LEFTWARDS ARROW WITH HOOK + 0x2A18: [695,189,512,41,552], // INTEGRAL WITH TIMES SIGN + 0x2A19: [694,190,512,40,551], // INTEGRAL WITH INTERSECTION + 0x2A1A: [694,190,512,40,551], // INTEGRAL WITH UNION + 0x2A1B: [784,190,462,41,552], // INTEGRAL WITH OVERBAR + 0x2A1C: [694,284,496,41,552] // INTEGRAL WITH UNDERBAR + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax["HTML-CSS"].fontDir + "/IntegralsSm/Regular/All.js"); diff --git a/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/IntegralsSm/Regular/Main.js b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/IntegralsSm/Regular/Main.js new file mode 100644 index 0000000..57f67d2 --- /dev/null +++ b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/IntegralsSm/Regular/Main.js @@ -0,0 +1,36 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/fonts/STIX/IntegralsSm/Regular/Main.js + * + * Copyright (c) 2009-2010 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +MathJax.OutputJax['HTML-CSS'].FONTDATA.FONTS['STIXIntegralsSm'] = { + directory: 'IntegralsSm/Regular', + family: 'STIXIntegralsSm', + Ranges: [ + [0x20,0x20,"All"], + [0xA0,0xA0,"All"], + [0x222B,0x2233,"All"], + [0x2A0B,0x2A1C,"All"] + ], + 0x222B: [690,189,496,41,552], // INTEGRAL + 0x222E: [690,189,560,41,552] // CONTOUR INTEGRAL +}; + +MathJax.OutputJax["HTML-CSS"].initFont("STIXIntegralsSm"); + +MathJax.Ajax.loadComplete(MathJax.OutputJax["HTML-CSS"].fontDir + "/IntegralsSm/Regular/Main.js"); diff --git a/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/IntegralsUp/Bold/All.js b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/IntegralsUp/Bold/All.js new file mode 100644 index 0000000..3a1feb0 --- /dev/null +++ b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/IntegralsUp/Bold/All.js @@ -0,0 +1,55 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/fonts/STIX/IntegralsUp/Bold/All.js + * + * Copyright (c) 2009-2010 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax['HTML-CSS'].FONTDATA.FONTS['STIXIntegralsUp-bold'], + { + 0x20: [0,0,250,0,0], // SPACE + 0xA0: [0,0,250,0,0], // NO-BREAK SPACE + 0x222B: [824,320,425,59,467], // INTEGRAL + 0x222C: [824,320,715,59,757], // DOUBLE INTEGRAL + 0x222D: [824,320,1005,59,1047], // TRIPLE INTEGRAL + 0x222E: [834,310,394,35,483], // CONTOUR INTEGRAL + 0x222F: [824,320,650,35,739], // SURFACE INTEGRAL + 0x2230: [824,320,951,54,1047], // VOLUME INTEGRAL + 0x2231: [824,320,484,54,553], // CLOCKWISE INTEGRAL + 0x2232: [824,320,445,35,534], // CLOCKWISE CONTOUR INTEGRAL + 0x2233: [824,320,456,35,545], // ANTICLOCKWISE CONTOUR INTEGRAL + 0x2A0C: [824,320,1295,59,1337], // QUADRUPLE INTEGRAL OPERATOR + 0x2A0D: [824,320,511,59,553], // FINITE PART INTEGRAL + 0x2A0E: [824,320,511,59,553], // INTEGRAL WITH DOUBLE STROKE + 0x2A0F: [824,320,592,59,634], // INTEGRAL AVERAGE WITH SLASH + 0x2A10: [824,320,385,35,474], // CIRCULATION FUNCTION + 0x2A11: [824,320,484,54,553], // ANTICLOCKWISE INTEGRATION + 0x2A12: [824,320,417,35,486], // LINE INTEGRATION WITH RECTANGULAR PATH AROUND POLE + 0x2A13: [824,320,424,54,493], // LINE INTEGRATION WITH SEMICIRCULAR PATH AROUND POLE + 0x2A14: [824,320,535,54,604], // LINE INTEGRATION NOT INCLUDING THE POLE + 0x2A15: [824,320,416,35,505], // INTEGRAL AROUND A POINT OPERATOR + 0x2A16: [824,320,459,35,528], // QUATERNION INTEGRAL OPERATOR + 0x2A17: [824,320,824,45,884], // INTEGRAL WITH LEFTWARDS ARROW WITH HOOK + 0x2A18: [824,320,527,45,587], // INTEGRAL WITH TIMES SIGN + 0x2A19: [824,320,567,45,632], // INTEGRAL WITH INTERSECTION + 0x2A1A: [824,320,567,45,632], // INTEGRAL WITH UNION + 0x2A1B: [959,320,479,45,521], // INTEGRAL WITH OVERBAR + 0x2A1C: [824,455,411,35,511] // INTEGRAL WITH UNDERBAR + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax["HTML-CSS"].fontDir + "/IntegralsUp/Bold/All.js"); diff --git a/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/IntegralsUp/Regular/All.js b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/IntegralsUp/Regular/All.js new file mode 100644 index 0000000..d55e4f7 --- /dev/null +++ b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/IntegralsUp/Regular/All.js @@ -0,0 +1,54 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/fonts/STIX/IntegralsUp/Regular/All.js + * + * Copyright (c) 2009-2010 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax['HTML-CSS'].FONTDATA.FONTS['STIXIntegralsUp'], + { + 0x20: [0,0,250,0,0], // SPACE + 0xA0: [0,0,250,0,0], // NO-BREAK SPACE + 0x222C: [824,320,596,59,638], // DOUBLE INTEGRAL + 0x222D: [824,320,826,59,868], // TRIPLE INTEGRAL + 0x222F: [824,320,548,35,637], // SURFACE INTEGRAL + 0x2230: [824,320,876,54,972], // VOLUME INTEGRAL + 0x2231: [824,320,478,54,547], // CLOCKWISE INTEGRAL + 0x2232: [824,320,441,35,530], // CLOCKWISE CONTOUR INTEGRAL + 0x2233: [824,320,475,35,564], // ANTICLOCKWISE CONTOUR INTEGRAL + 0x2A0B: [812,332,706,43,661], // SUMMATION WITH INTEGRAL + 0x2A0C: [812,332,1093,59,1135], // QUADRUPLE INTEGRAL OPERATOR + 0x2A0D: [812,332,467,59,509], // FINITE PART INTEGRAL + 0x2A0E: [812,332,467,59,509], // INTEGRAL WITH DOUBLE STROKE + 0x2A0F: [812,332,529,59,571], // INTEGRAL AVERAGE WITH SLASH + 0x2A10: [812,332,346,35,435], // CIRCULATION FUNCTION + 0x2A11: [812,332,478,54,547], // ANTICLOCKWISE INTEGRATION + 0x2A12: [812,332,365,35,434], // LINE INTEGRATION WITH RECTANGULAR PATH AROUND POLE + 0x2A13: [812,332,384,54,453], // LINE INTEGRATION WITH SEMICIRCULAR PATH AROUND POLE + 0x2A14: [812,332,509,54,578], // LINE INTEGRATION NOT INCLUDING THE POLE + 0x2A15: [812,332,396,35,485], // INTEGRAL AROUND A POINT OPERATOR + 0x2A16: [812,332,412,31,481], // QUATERNION INTEGRAL OPERATOR + 0x2A17: [812,332,771,45,831], // INTEGRAL WITH LEFTWARDS ARROW WITH HOOK + 0x2A18: [812,332,455,45,515], // INTEGRAL WITH TIMES SIGN + 0x2A19: [812,332,504,45,569], // INTEGRAL WITH INTERSECTION + 0x2A1A: [812,332,504,45,569], // INTEGRAL WITH UNION + 0x2A1B: [935,332,453,45,495], // INTEGRAL WITH OVERBAR + 0x2A1C: [812,455,376,59,509] // INTEGRAL WITH UNDERBAR + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax["HTML-CSS"].fontDir + "/IntegralsUp/Regular/All.js"); diff --git a/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/IntegralsUp/Regular/Main.js b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/IntegralsUp/Regular/Main.js new file mode 100644 index 0000000..b4b13d4 --- /dev/null +++ b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/IntegralsUp/Regular/Main.js @@ -0,0 +1,36 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/fonts/STIX/IntegralsUp/Regular/Main.js + * + * Copyright (c) 2009-2010 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +MathJax.OutputJax['HTML-CSS'].FONTDATA.FONTS['STIXIntegralsUp'] = { + directory: 'IntegralsUp/Regular', + family: 'STIXIntegralsUp', + Ranges: [ + [0x20,0x20,"All"], + [0xA0,0xA0,"All"], + [0x222B,0x2233,"All"], + [0x2A0B,0x2A1C,"All"] + ], + 0x222B: [824,320,366,59,408], // INTEGRAL + 0x222E: [824,320,397,35,486] // CONTOUR INTEGRAL +}; + +MathJax.OutputJax["HTML-CSS"].initFont("STIXIntegralsUp"); + +MathJax.Ajax.loadComplete(MathJax.OutputJax["HTML-CSS"].fontDir + "/IntegralsUp/Regular/Main.js"); diff --git a/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/IntegralsUpD/Bold/All.js b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/IntegralsUpD/Bold/All.js new file mode 100644 index 0000000..5485e18 --- /dev/null +++ b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/IntegralsUpD/Bold/All.js @@ -0,0 +1,55 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/fonts/STIX/IntegralsUpD/Bold/All.js + * + * Copyright (c) 2009-2010 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax['HTML-CSS'].FONTDATA.FONTS['STIXIntegralsUpD-bold'], + { + 0x20: [0,0,250,0,0], // SPACE + 0xA0: [0,0,250,0,0], // NO-BREAK SPACE + 0x222B: [2000,269,515,58,560], // INTEGRAL + 0x222C: [2000,269,875,58,920], // DOUBLE INTEGRAL + 0x222D: [2000,269,1239,59,1281], // TRIPLE INTEGRAL + 0x222E: [2000,269,626,56,695], // CONTOUR INTEGRAL + 0x222F: [2000,269,1039,39,1039], // SURFACE INTEGRAL + 0x2230: [2000,269,1384,36,1395], // VOLUME INTEGRAL + 0x2231: [2000,269,632,47,760], // CLOCKWISE INTEGRAL + 0x2232: [2000,269,639,56,769], // CLOCKWISE CONTOUR INTEGRAL + 0x2233: [2000,269,598,56,778], // ANTICLOCKWISE CONTOUR INTEGRAL + 0x2A0C: [2000,269,1595,58,1640], // QUADRUPLE INTEGRAL OPERATOR + 0x2A0D: [2000,269,552,-35,590], // FINITE PART INTEGRAL + 0x2A0E: [2000,269,642,35,680], // INTEGRAL WITH DOUBLE STROKE + 0x2A0F: [2000,269,675,25,752], // INTEGRAL AVERAGE WITH SLASH + 0x2A10: [2000,269,640,56,646], // CIRCULATION FUNCTION + 0x2A11: [2000,269,632,47,760], // ANTICLOCKWISE INTEGRATION + 0x2A12: [2000,269,625,58,654], // LINE INTEGRATION WITH RECTANGULAR PATH AROUND POLE + 0x2A13: [2000,269,557,58,626], // LINE INTEGRATION WITH SEMICIRCULAR PATH AROUND POLE + 0x2A14: [2000,269,708,58,789], // LINE INTEGRATION NOT INCLUDING THE POLE + 0x2A15: [2000,269,626,56,695], // INTEGRAL AROUND A POINT OPERATOR + 0x2A16: [2000,269,718,56,747], // QUATERNION INTEGRAL OPERATOR + 0x2A17: [2000,269,963,24,1057], // INTEGRAL WITH LEFTWARDS ARROW WITH HOOK + 0x2A18: [2000,269,681,62,692], // INTEGRAL WITH TIMES SIGN + 0x2A19: [2000,269,832,65,898], // INTEGRAL WITH INTERSECTION + 0x2A1A: [2000,269,832,65,898], // INTEGRAL WITH UNION + 0x2A1B: [2182,269,733,0,773], // INTEGRAL WITH OVERBAR + 0x2A1C: [2000,451,525,58,831] // INTEGRAL WITH UNDERBAR + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax["HTML-CSS"].fontDir + "/IntegralsUpD/Bold/All.js"); diff --git a/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/IntegralsUpD/Regular/All.js b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/IntegralsUpD/Regular/All.js new file mode 100644 index 0000000..cb3ae0c --- /dev/null +++ b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/IntegralsUpD/Regular/All.js @@ -0,0 +1,54 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/fonts/STIX/IntegralsUpD/Regular/All.js + * + * Copyright (c) 2009-2010 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax['HTML-CSS'].FONTDATA.FONTS['STIXIntegralsUpD'], + { + 0x20: [0,0,250,0,0], // SPACE + 0xA0: [0,0,250,0,0], // NO-BREAK SPACE + 0x222C: [2000,269,787,58,832], // DOUBLE INTEGRAL + 0x222D: [2000,269,1107,58,1152], // TRIPLE INTEGRAL + 0x222F: [2000,269,849,39,849], // SURFACE INTEGRAL + 0x2230: [2000,269,1161,36,1172], // VOLUME INTEGRAL + 0x2231: [2000,269,608,47,736], // CLOCKWISE INTEGRAL + 0x2232: [2000,269,616,56,746], // CLOCKWISE CONTOUR INTEGRAL + 0x2233: [2000,269,605,56,785], // ANTICLOCKWISE CONTOUR INTEGRAL + 0x2A0B: [2000,269,914,58,856], // SUMMATION WITH INTEGRAL + 0x2A0C: [2000,269,1397,58,1442], // QUADRUPLE INTEGRAL OPERATOR + 0x2A0D: [2000,269,609,35,647], // FINITE PART INTEGRAL + 0x2A0E: [1999,270,609,35,647], // INTEGRAL WITH DOUBLE STROKE + 0x2A0F: [1999,270,658,25,734], // INTEGRAL AVERAGE WITH SLASH + 0x2A10: [2000,269,629,56,635], // CIRCULATION FUNCTION + 0x2A11: [2000,269,608,47,736], // ANTICLOCKWISE INTEGRATION + 0x2A12: [2000,269,568,58,597], // LINE INTEGRATION WITH RECTANGULAR PATH AROUND POLE + 0x2A13: [2000,269,530,58,599], // LINE INTEGRATION WITH SEMICIRCULAR PATH AROUND POLE + 0x2A14: [2000,269,695,58,776], // LINE INTEGRATION NOT INCLUDING THE POLE + 0x2A15: [2000,269,615,56,684], // INTEGRAL AROUND A POINT OPERATOR + 0x2A16: [2000,269,653,56,682], // QUATERNION INTEGRAL OPERATOR + 0x2A17: [2000,269,945,24,1039], // INTEGRAL WITH LEFTWARDS ARROW WITH HOOK + 0x2A18: [2000,269,597,62,608], // INTEGRAL WITH TIMES SIGN + 0x2A19: [2000,269,735,65,801], // INTEGRAL WITH INTERSECTION + 0x2A1A: [2000,269,735,65,801], // INTEGRAL WITH UNION + 0x2A1B: [2157,269,701,0,741], // INTEGRAL WITH OVERBAR + 0x2A1C: [2000,426,467,58,799] // INTEGRAL WITH UNDERBAR + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax["HTML-CSS"].fontDir + "/IntegralsUpD/Regular/All.js"); diff --git a/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/IntegralsUpD/Regular/Main.js b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/IntegralsUpD/Regular/Main.js new file mode 100644 index 0000000..04741a8 --- /dev/null +++ b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/IntegralsUpD/Regular/Main.js @@ -0,0 +1,36 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/fonts/STIX/IntegralsUpD/Regular/Main.js + * + * Copyright (c) 2009-2010 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +MathJax.OutputJax['HTML-CSS'].FONTDATA.FONTS['STIXIntegralsUpD'] = { + directory: 'IntegralsUpD/Regular', + family: 'STIXIntegralsUpD', + Ranges: [ + [0x20,0x20,"All"], + [0xA0,0xA0,"All"], + [0x222B,0x2233,"All"], + [0x2A0B,0x2A1C,"All"] + ], + 0x222B: [2000,269,467,58,512], // INTEGRAL + 0x222E: [2000,269,616,56,685] // CONTOUR INTEGRAL +}; + +MathJax.OutputJax["HTML-CSS"].initFont("STIXIntegralsUpD"); + +MathJax.Ajax.loadComplete(MathJax.OutputJax["HTML-CSS"].fontDir + "/IntegralsUpD/Regular/Main.js"); diff --git a/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/IntegralsUpSm/Bold/All.js b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/IntegralsUpSm/Bold/All.js new file mode 100644 index 0000000..91793ed --- /dev/null +++ b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/IntegralsUpSm/Bold/All.js @@ -0,0 +1,55 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/fonts/STIX/IntegralsUpSm/Bold/All.js + * + * Copyright (c) 2009-2010 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax['HTML-CSS'].FONTDATA.FONTS['STIXIntegralsUpSm-bold'], + { + 0x20: [0,0,250,0,0], // SPACE + 0xA0: [0,0,250,0,0], // NO-BREAK SPACE + 0x222B: [732,193,396,52,414], // INTEGRAL + 0x222C: [732,193,666,52,684], // DOUBLE INTEGRAL + 0x222D: [732,193,936,52,954], // TRIPLE INTEGRAL + 0x222E: [732,193,466,52,426], // CONTOUR INTEGRAL + 0x222F: [732,193,736,52,696], // SURFACE INTEGRAL + 0x2230: [732,193,998,52,965], // VOLUME INTEGRAL + 0x2231: [732,193,501,52,468], // CLOCKWISE INTEGRAL + 0x2232: [732,193,501,52,469], // CLOCKWISE CONTOUR INTEGRAL + 0x2233: [732,193,496,52,486], // ANTICLOCKWISE CONTOUR INTEGRAL + 0x2A0C: [732,193,1206,52,1224], // QUADRUPLE INTEGRAL OPERATOR + 0x2A0D: [732,193,450,52,420], // FINITE PART INTEGRAL + 0x2A0E: [732,193,450,52,420], // INTEGRAL WITH DOUBLE STROKE + 0x2A0F: [732,193,550,40,518], // INTEGRAL AVERAGE WITH SLASH + 0x2A10: [732,193,479,52,447], // CIRCULATION FUNCTION + 0x2A11: [732,193,511,52,478], // ANTICLOCKWISE INTEGRATION + 0x2A12: [732,193,489,52,449], // LINE INTEGRATION WITH RECTANGULAR PATH AROUND POLE + 0x2A13: [732,193,487,52,447], // LINE INTEGRATION WITH SEMICIRCULAR PATH AROUND POLE + 0x2A14: [732,193,572,52,534], // LINE INTEGRATION NOT INCLUDING THE POLE + 0x2A15: [732,193,520,52,480], // INTEGRAL AROUND A POINT OPERATOR + 0x2A16: [732,193,523,52,483], // QUATERNION INTEGRAL OPERATOR + 0x2A17: [732,193,600,8,646], // INTEGRAL WITH LEFTWARDS ARROW WITH HOOK + 0x2A18: [733,192,505,31,467], // INTEGRAL WITH TIMES SIGN + 0x2A19: [732,193,516,52,476], // INTEGRAL WITH INTERSECTION + 0x2A1A: [732,193,516,52,476], // INTEGRAL WITH UNION + 0x2A1B: [802,193,403,40,428], // INTEGRAL WITH OVERBAR + 0x2A1C: [732,268,411,52,440] // INTEGRAL WITH UNDERBAR + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax["HTML-CSS"].fontDir + "/IntegralsUpSm/Bold/All.js"); diff --git a/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/IntegralsUpSm/Regular/All.js b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/IntegralsUpSm/Regular/All.js new file mode 100644 index 0000000..3cc25b1 --- /dev/null +++ b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/IntegralsUpSm/Regular/All.js @@ -0,0 +1,54 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/fonts/STIX/IntegralsUpSm/Regular/All.js + * + * Copyright (c) 2009-2010 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax['HTML-CSS'].FONTDATA.FONTS['STIXIntegralsUpSm'], + { + 0x20: [0,0,250,0,0], // SPACE + 0xA0: [0,0,250,0,0], // NO-BREAK SPACE + 0x222C: [690,189,587,52,605], // DOUBLE INTEGRAL + 0x222D: [690,189,817,52,835], // TRIPLE INTEGRAL + 0x222F: [690,189,682,52,642], // SURFACE INTEGRAL + 0x2230: [690,189,909,52,869], // VOLUME INTEGRAL + 0x2231: [690,189,480,52,447], // CLOCKWISE INTEGRAL + 0x2232: [690,189,480,52,448], // CLOCKWISE CONTOUR INTEGRAL + 0x2233: [690,189,480,52,470], // ANTICLOCKWISE CONTOUR INTEGRAL + 0x2A0B: [694,190,556,41,515], // SUMMATION WITH INTEGRAL + 0x2A0C: [694,190,1044,68,1081], // QUADRUPLE INTEGRAL OPERATOR + 0x2A0D: [694,190,420,68,391], // FINITE PART INTEGRAL + 0x2A0E: [694,190,420,68,391], // INTEGRAL WITH DOUBLE STROKE + 0x2A0F: [694,190,520,39,482], // INTEGRAL AVERAGE WITH SLASH + 0x2A10: [694,190,324,41,380], // CIRCULATION FUNCTION + 0x2A11: [694,190,480,52,447], // ANTICLOCKWISE INTEGRATION + 0x2A12: [694,190,450,68,410], // LINE INTEGRATION WITH RECTANGULAR PATH AROUND POLE + 0x2A13: [690,189,450,68,412], // LINE INTEGRATION WITH SEMICIRCULAR PATH AROUND POLE + 0x2A14: [690,189,550,68,512], // LINE INTEGRATION NOT INCLUDING THE POLE + 0x2A15: [690,189,450,50,410], // INTEGRAL AROUND A POINT OPERATOR + 0x2A16: [694,191,450,50,410], // QUATERNION INTEGRAL OPERATOR + 0x2A17: [694,190,611,12,585], // INTEGRAL WITH LEFTWARDS ARROW WITH HOOK + 0x2A18: [694,190,450,48,412], // INTEGRAL WITH TIMES SIGN + 0x2A19: [694,190,450,59,403], // INTEGRAL WITH INTERSECTION + 0x2A1A: [694,190,450,59,403], // INTEGRAL WITH UNION + 0x2A1B: [784,189,379,68,416], // INTEGRAL WITH OVERBAR + 0x2A1C: [690,283,357,52,400] // INTEGRAL WITH UNDERBAR + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax["HTML-CSS"].fontDir + "/IntegralsUpSm/Regular/All.js"); diff --git a/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/IntegralsUpSm/Regular/Main.js b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/IntegralsUpSm/Regular/Main.js new file mode 100644 index 0000000..44ff5e5 --- /dev/null +++ b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/IntegralsUpSm/Regular/Main.js @@ -0,0 +1,36 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/fonts/STIX/IntegralsUpSm/Regular/Main.js + * + * Copyright (c) 2009-2010 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +MathJax.OutputJax['HTML-CSS'].FONTDATA.FONTS['STIXIntegralsUpSm'] = { + directory: 'IntegralsUpSm/Regular', + family: 'STIXIntegralsUpSm', + Ranges: [ + [0x20,0x20,"All"], + [0xA0,0xA0,"All"], + [0x222B,0x2233,"All"], + [0x2A0B,0x2A1C,"All"] + ], + 0x222B: [690,189,357,52,375], // INTEGRAL + 0x222E: [690,189,452,52,412] // CONTOUR INTEGRAL +}; + +MathJax.OutputJax["HTML-CSS"].initFont("STIXIntegralsUpSm"); + +MathJax.Ajax.loadComplete(MathJax.OutputJax["HTML-CSS"].fontDir + "/IntegralsUpSm/Regular/Main.js"); diff --git a/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/NonUnicode/Bold/All.js b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/NonUnicode/Bold/All.js new file mode 100644 index 0000000..5678d38 --- /dev/null +++ b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/NonUnicode/Bold/All.js @@ -0,0 +1,29 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/fonts/STIX/NonUnicode/Bold/All.js + * + * Copyright (c) 2009-2010 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax['HTML-CSS'].FONTDATA.FONTS['STIXNonUnicode-bold'], + { + 0x20: [0,0,250,0,0], // SPACE + 0xA0: [0,0,250,0,0] // NO-BREAK SPACE + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax["HTML-CSS"].fontDir + "/NonUnicode/Bold/All.js"); diff --git a/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/NonUnicode/Bold/Main.js b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/NonUnicode/Bold/Main.js new file mode 100644 index 0000000..6fb7e2b --- /dev/null +++ b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/NonUnicode/Bold/Main.js @@ -0,0 +1,35 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/fonts/STIX/NonUnicode/Bold/Main.js + * + * Copyright (c) 2009-2010 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +MathJax.OutputJax['HTML-CSS'].FONTDATA.FONTS['STIXNonUnicode-bold'] = { + directory: 'NonUnicode/Bold', + family: 'STIXNonUnicode', + weight: 'bold', + Ranges: [ + [0x20,0x20,"All"], + [0xA0,0xA0,"All"], + [0xE000,0xF8FF,"PrivateUse"] + ] + +}; + +MathJax.OutputJax["HTML-CSS"].initFont("STIXNonUnicode-bold"); + +MathJax.Ajax.loadComplete(MathJax.OutputJax["HTML-CSS"].fontDir + "/NonUnicode/Bold/Main.js"); diff --git a/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/NonUnicode/Bold/PrivateUse.js b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/NonUnicode/Bold/PrivateUse.js new file mode 100644 index 0000000..4d1cadd --- /dev/null +++ b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/NonUnicode/Bold/PrivateUse.js @@ -0,0 +1,182 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/fonts/STIX/NonUnicode/Bold/PrivateUse.js + * + * Copyright (c) 2009-2010 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax['HTML-CSS'].FONTDATA.FONTS['STIXNonUnicode-bold'], + { + 0xE000: [610,25,1184,808,912], // stix-radical symbol vertical extender + 0xE001: [704,-75,1198,808,1224], // stix-radical symbol top corner piece + 0xE00E: [819,339,750,80,670], // stix-not greater, double equals + 0xE00F: [742,235,750,80,670], // stix-not greater-or-equal, slanted + 0xE010: [742,235,750,80,670], // stix-not less-or-equal, slanted + 0xE011: [819,339,750,80,670], // stix-not less, double equals + 0xE023: [742,235,750,68,683], // stix-not congruent, dot + 0xE025: [852,345,750,67,683], // stix-not approximately equal or equal to + 0xE028: [672,166,1000,38,961], // stix-not much less than + 0xE029: [672,166,1000,38,961], // stix-not much greater than + 0xE037: [672,166,750,67,682], // stix-reverse not equal + 0xE04D: [553,47,750,68,683], // stix-not, vert, equal or similar + 0xE050: [672,166,750,87,663], // stix-not, square subset + 0xE051: [672,166,750,87,663], // stix-not, square superset + 0xE052: [574,69,750,68,683], // stix-not bumpy equals + 0xE05B: [574,-16,750,68,683], // stix-not bumpy single equals + 0xE05C: [553,31,750,68,683], // stix-not equal or similar + 0xE05E: [762,-565,0,95,425], // stix-double macron + 0xE060: [-137,322,0,0,330], // stix-double underbar + 0xE061: [-137,437,0,0,330], // stix-triple underbar + 0xE062: [-137,552,0,0,330], // stix-quadruple underbar + 0xE064: [837,-565,333,-16,349], // stix-tilde over bar over + 0xE065: [-137,409,0,-16,349], // stix-straight over wavy underline + 0xE066: [801,-565,0,91,430], // stix-double dot over bar over + 0xE067: [-137,409,0,-16,349], // stix-wavy over straight underline + 0xE06D: [835,113,750,82,668], // stix-not equal to or member + 0xE06E: [835,113,750,82,668], // stix-not equal to or contains + 0xE06F: [835,113,750,82,668], // stix-Not (vert) equals or member + 0xE070: [835,113,750,82,668], // stix-not (vert) equals or contains + 0xE07E: [738,230,750,80,670], // stix-not (vert) less-than slanted equal + 0xE07F: [742,234,750,80,670], // stix-not (vert) greater-than slanted equal + 0xE080: [819,337,750,80,670], // stix-not (vert) less-than or two-line equal + 0xE081: [820,342,750,91,681], // stix-not (vert) greater-than or two-line equal + 0xE082: [742,235,750,80,670], // stix-not (slash) equal (slant) or less-than + 0xE083: [742,234,750,80,670], // stix-not (slash) equal (slant) or greater-than + 0xE084: [738,230,750,80,670], // stix-not (vert) equals (slant) or less-than + 0xE085: [742,234,750,80,670], // stix-not (vert) equals (slant) or greater-than + 0xE0A1: [691,19,769,27,734], // stix-capital C with stroke + 0xE0B0: [752,-531,0,100,417], // stix-left overangle (combining) + 0xE0B1: [-50,271,0,100,417], // stix-left underangle (combining) + 0xE0B2: [-50,271,0,99,416], // stix-right underangle (combining) + 0xE0B3: [691,203,556,14,487], // stix-small fj ligature + 0xE0B4: [555,-209,282,42,239], // stix-arrow hookleft + 0xE0B5: [555,-209,282,43,240], // stix-arrow hookright + 0xE0B6: [478,-56,0,15,142], // stix-maps-to relation tail + 0xE0D8: [688,13,400,57,343], // stix-arc-degrees (degree with dot below) + 0xE0D9: [663,0,314,54,260], // stix-arc-minutes (prime with dot below) + 0xE0DA: [663,0,425,54,371], // stix-arc-seconds (double prime with dot below) + 0xE0DD: [930,0,553,76,483], // stix-days (roman d with dot below) + 0xE0DE: [926,0,549,67,482], // stix-hours (roman h with dot below) + 0xE0DF: [765,0,773,67,706], // stix-minutes (roman m with dot below) + 0xE0E0: [920,0,552,42,510], // stix-period (roman p with dot below) + 0xE0E1: [765,0,378,55,323], // stix-seconds (roman s with dot below) + 0xE0E2: [754,0,481,63,435], // stix-years (roman y with dot below) + 0xE10B: [297,-209,315,0,315], // stix-stix-extender for horizontal solid (normal) arrow + 0xE10E: [405,-101,714,211,503], // stix-extender for vertical double arrow + 0xE10F: [399,-107,315,0,315], // stix-extender for horizontal double arrow + 0xE150: [175,302,735,-40,756], // stix-horizontal brace, down left piece + 0xE151: [175,302,735,-21,775], // stix-horizontal brace, down right piece + 0xE152: [477,0,735,-40,756], // stix-horizontal brace, upper left piece + 0xE153: [477,0,735,-21,775], // stix-horizontal brace, upper right piece + 0xE263: [422,10,523,26,496], // stix-old style digit 0 + 0xE267: [425,0,523,111,420], // stix-old style digit 1 + 0xE26B: [421,0,523,53,470], // stix-old style digit 2 + 0xE26F: [424,198,523,31,478], // stix-old style digit 3 + 0xE273: [420,198,523,42,496], // stix-old style digit 4 + 0xE277: [421,198,523,49,474], // stix-old style digit 5 + 0xE27B: [614,8,523,21,502], // stix-old style digit 6 + 0xE27F: [421,198,523,8,507], // stix-old style digit 7 + 0xE283: [606,12,523,31,493], // stix-old style digit 8 + 0xE287: [421,202,523,25,499], // stix-old style digit 9 + 0xE28D: [734,-484,0,92,498], // stix-double circumflex + 0xE28F: [175,0,325,-1,326], // stix-short horizontal extender at baseline + 0xE290: [175,0,633,-1,634], // stix-long horizontal extender at baseline + 0xE2FD: [775,235,722,9,689], // stix-MATHEMATICAL BOLD CAPITAL ALPHA SLASHED + 0xE2FF: [775,235,667,16,619], // stix-MATHEMATICAL BOLD CAPITAL BETA SLASHED + 0xE301: [775,207,620,16,593], // stix-MATHEMATICAL BOLD CAPITAL GAMMA SLASHED + 0xE303: [775,207,722,33,673], // stix-MATHEMATICAL BOLD CAPITAL DELTA SLASHED + 0xE305: [775,235,667,16,641], // stix-MATHEMATICAL BOLD CAPITAL EPSILON SLASHED + 0xE307: [775,235,667,28,634], // stix-MATHEMATICAL BOLD CAPITAL ZETA SLASHED + 0xE309: [775,235,778,21,759], // stix-MATHEMATICAL BOLD CAPITAL ETA SLASHED + 0xE30B: [775,207,778,35,743], // stix-MATHEMATICAL BOLD CAPITAL THETA SLASHED + 0xE30D: [775,235,389,-36,436], // stix-MATHEMATICAL BOLD CAPITAL IOTA SLASHED + 0xE30F: [775,235,778,30,769], // stix-MATHEMATICAL BOLD CAPITAL KAPPA SLASHED + 0xE311: [775,207,707,9,674], // stix-MATHEMATICAL BOLD CAPITAL LAMBDA SLASHED + 0xE313: [775,235,944,14,921], // stix-MATHEMATICAL BOLD CAPITAL MU SLASHED + 0xE315: [775,235,722,16,701], // stix-MATHEMATICAL BOLD CAPITAL NU SLASHED + 0xE317: [775,207,647,40,607], // stix-MATHEMATICAL BOLD CAPITAL XI SLASHED + 0xE319: [775,235,778,35,743], // stix-MATHEMATICAL BOLD CAPITAL OMICRON SLASHED + 0xE31B: [775,207,778,21,759], // stix-MATHEMATICAL BOLD CAPITAL PI SLASHED + 0xE31D: [775,235,611,16,600], // stix-MATHEMATICAL BOLD CAPITAL RHO SLASHED + 0xE31F: [775,207,671,28,641], // stix-MATHEMATICAL BOLD CAPITAL SIGMA SLASHED + 0xE321: [775,235,667,31,636], // stix-MATHEMATICAL BOLD CAPITAL TAU SLASHED + 0xE323: [775,207,723,14,700], // stix-MATHEMATICAL BOLD CAPITAL UPSILON SLASHED + 0xE325: [775,207,836,18,818], // stix-MATHEMATICAL BOLD CAPITAL PHI SLASHED + 0xE327: [775,235,722,16,699], // stix-MATHEMATICAL BOLD CAPITAL CHI SLASHED + 0xE329: [775,207,804,11,793], // stix-MATHEMATICAL BOLD CAPITAL PSI SLASHED + 0xE32B: [775,207,768,28,740], // stix-MATHEMATICAL BOLD CAPITAL OMEGA SLASHED + 0xE365: [775,235,669,32,665], // stix-capital stigma, Greek slashed + 0xE369: [775,235,667,-13,670], // stix-capital digamma, Greek slashed + 0xE36D: [793,235,757,-49,758], // stix-capital koppa, Greek slashed + 0xE371: [775,235,734,27,710], // stix-capital sampi, Greek slashed + 0xE37C: [775,235,667,16,641], // stix-capital E roman bold slashed + 0xE38A: [676,0,787,50,737], // stix-mathematical bold double-struck capital A + 0xE38B: [676,0,729,75,669], // stix-mathematical bold double-struck capital B + 0xE38D: [676,0,650,75,595], // stix-mathematical bold double-struck capital E + 0xE38E: [676,0,474,75,595], // stix-mathematical bold double-struck capital F + 0xE38F: [691,19,751,45,686], // stix-mathematical bold double-struck capital G + 0xE390: [676,0,380,80,300], // stix-mathematical bold double-struck capital I + 0xE391: [676,19,618,50,548], // stix-mathematical bold double-struck capital J + 0xE392: [676,0,792,75,767], // stix-mathematical bold double-struck capital K + 0xE393: [676,0,662,70,607], // stix-mathematical bold double-struck capital L + 0xE394: [676,0,914,75,839], // stix-mathematical bold double-struck capital M + 0xE395: [691,19,787,45,742], // stix-mathematical bold double-struck capital O + 0xE396: [692,19,702,45,657], // stix-mathematical bold double-struck capital S + 0xE397: [676,0,556,25,645], // stix-mathematical bold double-struck capital T + 0xE398: [676,19,738,70,668], // ?? + 0xE399: [676,0,627,17,704], // stix-mathematical bold double-struck capital V + 0xE39A: [676,0,996,17,1015], // stix-mathematical bold double-struck capital W + 0xE39B: [676,0,794,20,769], // stix-mathematical bold double-struck capital X + 0xE39C: [676,0,652,23,739], // stix-mathematical bold double-struck capital Y + 0xE39D: [473,14,623,50,563], // stix-mathematical bold double-struck small letter a + 0xE39E: [676,14,643,60,593], // stix-mathematical bold double-struck small letter b + 0xE39F: [473,14,574,50,524], // stix-mathematical bold double-struck small letter c + 0xE3A2: [676,0,474,25,536], // stix-mathematical bold double-struck small letter f + 0xE3A3: [473,205,643,50,583], // stix-mathematical bold double-struck small letter g + 0xE3A4: [676,0,624,60,564], // stix-mathematical bold double-struck small letter h + 0xE3A7: [676,0,646,60,621], // stix-mathematical bold double-struck small letter k + 0xE3A8: [676,0,325,60,265], // stix-mathematical bold double-struck small letter l + 0xE3A9: [473,0,908,60,848], // stix-mathematical bold double-struck small letter m + 0xE3AA: [473,0,624,60,564], // stix-mathematical bold double-struck small letter n + 0xE3AB: [473,14,598,45,553], // stix-mathematical bold double-struck small letter o + 0xE3AC: [473,205,643,60,593], // stix-mathematical bold double-struck small letter p + 0xE3AD: [473,205,643,50,583], // stix-mathematical bold double-struck small letter q + 0xE3AE: [473,0,339,60,445], // stix-mathematical bold double-struck small letter r + 0xE3AF: [473,14,549,52,497], // stix-mathematical bold double-struck small letter s + 0xE3B0: [676,14,446,25,411], // stix-mathematical bold double-struck small letter t + 0xE3B1: [461,16,619,55,559], // stix-mathematical bold double-struck small letter u + 0xE3B2: [461,0,494,6,544], // stix-mathematical bold double-struck small letter v + 0xE3B3: [461,0,786,22,789], // stix-mathematical bold double-struck small letter w + 0xE3B4: [461,0,660,25,635], // stix-mathematical bold double-struck small letter x + 0xE3B5: [461,205,471,-9,537], // stix-mathematical bold double-struck small letter y + 0xE3B6: [461,0,513,40,473], // stix-mathematical bold double-struck small letter z + 0xE3B7: [681,11,525,40,482], // MATHEMATICAL MONOSPACE DIGIT ZERO + 0xE3B8: [681,0,525,90,450], // MATHEMATICAL MONOSPACE DIGIT ONE + 0xE3B9: [681,0,525,52,470], // MATHEMATICAL MONOSPACE DIGIT TWO + 0xE3BA: [681,11,525,43,479], // MATHEMATICAL MONOSPACE DIGIT THREE + 0xE3BB: [682,0,525,29,493], // MATHEMATICAL MONOSPACE DIGIT FOUR + 0xE3BC: [670,11,525,52,470], // MATHEMATICAL MONOSPACE DIGIT FIVE + 0xE3BD: [681,11,525,43,479], // MATHEMATICAL MONOSPACE DIGIT SIX + 0xE3BE: [686,11,525,43,479], // MATHEMATICAL MONOSPACE DIGIT SEVEN + 0xE3BF: [681,11,525,43,479], // MATHEMATICAL MONOSPACE DIGIT EIGHT + 0xE3C0: [681,11,525,43,479], // MATHEMATICAL MONOSPACE DIGIT NINE + 0xE3C3: [747,243,750,68,683], // stix-not (vert) almost equal or equal to + 0xE3C4: [747,243,750,68,683] // stix-not almost equal or equal to + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax["HTML-CSS"].fontDir + "/NonUnicode/Bold/PrivateUse.js"); diff --git a/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/NonUnicode/BoldItalic/All.js b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/NonUnicode/BoldItalic/All.js new file mode 100644 index 0000000..125e8f7 --- /dev/null +++ b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/NonUnicode/BoldItalic/All.js @@ -0,0 +1,29 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/fonts/STIX/NonUnicode/BoldItalic/All.js + * + * Copyright (c) 2009-2010 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax['HTML-CSS'].FONTDATA.FONTS['STIXNonUnicode-bold-italic'], + { + 0x20: [0,0,250,0,0], // SPACE + 0xA0: [0,0,250,0,0] // NO-BREAK SPACE + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax["HTML-CSS"].fontDir + "/NonUnicode/BoldItalic/All.js"); diff --git a/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/NonUnicode/BoldItalic/Main.js b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/NonUnicode/BoldItalic/Main.js new file mode 100644 index 0000000..75f109a --- /dev/null +++ b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/NonUnicode/BoldItalic/Main.js @@ -0,0 +1,36 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/fonts/STIX/NonUnicode/BoldItalic/Main.js + * + * Copyright (c) 2009-2010 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +MathJax.OutputJax['HTML-CSS'].FONTDATA.FONTS['STIXNonUnicode-bold-italic'] = { + directory: 'NonUnicode/BoldItalic', + family: 'STIXNonUnicode', + weight: 'bold', + style: 'italic', + Ranges: [ + [0x20,0x20,"All"], + [0xA0,0xA0,"All"], + [0xE000,0xF8FF,"PrivateUse"] + ] + +}; + +MathJax.OutputJax["HTML-CSS"].initFont("STIXNonUnicode-bold-italic"); + +MathJax.Ajax.loadComplete(MathJax.OutputJax["HTML-CSS"].fontDir + "/NonUnicode/BoldItalic/Main.js"); diff --git a/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/NonUnicode/BoldItalic/PrivateUse.js b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/NonUnicode/BoldItalic/PrivateUse.js new file mode 100644 index 0000000..6cf6e3a --- /dev/null +++ b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/NonUnicode/BoldItalic/PrivateUse.js @@ -0,0 +1,215 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/fonts/STIX/NonUnicode/BoldItalic/PrivateUse.js + * + * Copyright (c) 2009-2010 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax['HTML-CSS'].FONTDATA.FONTS['STIXNonUnicode-bold-italic'], + { + 0xE09C: [775,235,776,40,765], // stix-capital A italic double-slashed + 0xE09D: [775,235,759,44,779], // stix-capital E italic double-slashed + 0xE09E: [775,235,658,44,771], // stix-capital F italic double-slashed + 0xE0B3: [703,205,556,-188,517], // stix-small fj ligature + 0xE1F6: [688,13,500,89,578], // stix-Mathematical sans-serif bold italic digit 0 + 0xE1F7: [688,0,500,204,505], // stix-Mathematical sans-serif bold italic digit 1 + 0xE1F8: [688,0,500,20,581], // stix-Mathematical sans-serif bold italic digit 2 + 0xE1F9: [688,13,500,32,586], // stix-Mathematical sans-serif bold italic digit 3 + 0xE1FA: [688,0,500,55,583], // stix-Mathematical sans-serif bold italic digit 4 + 0xE1FB: [676,13,500,27,651], // stix-Mathematical sans-serif bold italic digit 5 + 0xE1FC: [688,13,500,80,638], // stix-Mathematical sans-serif bold italic digit 6 + 0xE1FD: [676,0,500,120,639], // stix-Mathematical sans-serif bold italic digit 7 + 0xE1FE: [688,13,500,63,594], // stix-Mathematical sans-serif bold italic digit 8 + 0xE1FF: [688,13,500,28,588], // stix-Mathematical sans-serif bold italic digit 9 + 0xE200: [669,0,733,7,667], // stix-mathematical bold oblique double-struck capital A + 0xE201: [669,0,729,18,714], // stix-mathematical bold oblique double-struck capital B + 0xE203: [669,0,680,18,703], // stix-mathematical bold oblique double-struck capital E + 0xE204: [669,0,474,18,703], // stix-mathematical bold oblique double-struck capital F + 0xE205: [685,14,718,35,708], // stix-mathematical bold oblique double-struck capital G + 0xE206: [669,0,382,22,411], // stix-mathematical bold oblique double-struck capital I + 0xE207: [669,14,603,19,644], // stix-mathematical bold oblique double-struck capital J + 0xE208: [669,0,766,18,766], // stix-mathematical bold oblique double-struck capital K + 0xE209: [669,0,613,18,568], // stix-mathematical bold oblique double-struck capital L + 0xE20A: [669,0,912,26,943], // stix-mathematical bold oblique double-struck capital M + 0xE20B: [685,14,749,35,734], // stix-mathematical bold oblique double-struck capital O + 0xE20C: [685,14,686,30,711], // stix-mathematical bold oblique double-struck capital S + 0xE20D: [669,0,445,30,653], // stix-mathematical bold oblique double-struck capital T + 0xE20E: [669,14,709,35,755], // stix-mathematical bold oblique double-struck capital U + 0xE20F: [669,0,504,42,705], // stix-mathematical bold oblique double-struck capital V + 0xE210: [669,0,891,81,991], // stix-mathematical bold oblique double-struck capital W + 0xE211: [669,0,759,7,832], // stix-mathematical bold oblique double-struck capital X + 0xE212: [669,0,462,10,714], // stix-mathematical bold oblique double-struck capital Y + 0xE213: [462,13,634,45,589], // stix-mathematical bold oblique double-struck small letter a + 0xE214: [699,13,661,34,619], // stix-mathematical bold oblique double-struck small letter b + 0xE215: [462,13,571,45,545], // stix-mathematical bold oblique double-struck small letter c + 0xE217: [462,13,575,45,540], // ?? + 0xE218: [699,0,438,45,618], // stix-mathematical bold oblique double-struck small letter f + 0xE219: [462,205,666,28,642], // stix-mathematical bold oblique double-struck small letter g + 0xE21A: [699,0,661,34,616], // stix-mathematical bold oblique double-struck small letter h + 0xE21D: [699,0,641,34,616], // stix-mathematical bold oblique double-struck small letter k + 0xE21E: [699,0,372,34,413], // stix-mathematical bold oblique double-struck small letter l + 0xE21F: [462,0,942,35,897], // stix-mathematical bold oblique double-struck small letter m + 0xE220: [462,0,661,34,616], // stix-mathematical bold oblique double-struck small letter n + 0xE221: [462,13,586,45,551], // stix-mathematical bold oblique double-struck small letter o + 0xE222: [462,205,680,3,645], // stix-mathematical bold oblique double-struck small letter p + 0xE223: [462,205,662,45,630], // stix-mathematical bold oblique double-struck small letter q + 0xE224: [462,0,403,33,538], // stix-mathematical bold oblique double-struck small letter r + 0xE225: [462,13,533,33,519], // stix-mathematical bold oblique double-struck small letter s + 0xE226: [676,14,403,22,422], // stix-mathematical bold oblique double-struck small letter t + 0xE227: [449,13,661,45,627], // stix-mathematical bold oblique double-struck small letter u + 0xE228: [449,0,477,32,534], // stix-mathematical bold oblique double-struck small letter v + 0xE229: [449,0,733,55,763], // stix-mathematical bold oblique double-struck small letter w + 0xE22A: [449,0,562,-12,589], // stix-mathematical bold oblique double-struck small letter x + 0xE22B: [449,205,584,-9,643], // stix-mathematical bold oblique double-struck small letter y + 0xE22C: [449,0,619,35,594], // stix-mathematical bold oblique double-struck small letter z + 0xE247: [711,47,871,38,834], // stix-mathematical bold calligraphic capital A + 0xE248: [703,10,755,33,740], // stix-mathematical bold calligraphic capital B + 0xE249: [704,12,667,36,669], // stix-mathematical bold calligraphic capital C + 0xE24A: [696,0,802,30,808], // stix-mathematical bold calligraphic capital D + 0xE24B: [704,8,609,41,626], // stix-mathematical bold calligraphic capital E + 0xE24C: [696,0,645,34,738], // stix-mathematical bold calligraphic capital F + 0xE24D: [704,144,615,43,615], // stix-mathematical bold calligraphic capital G + 0xE24E: [696,24,849,22,858], // stix-mathematical bold calligraphic capital H + 0xE24F: [696,0,621,36,623], // stix-mathematical bold calligraphic capital I + 0xE250: [695,116,645,36,811], // stix-mathematical bold calligraphic capital J + 0xE251: [703,14,856,38,820], // stix-mathematical bold calligraphic capital K + 0xE252: [704,8,726,38,688], // stix-mathematical bold calligraphic capital L + 0xE253: [705,45,1186,38,1146], // stix-mathematical bold calligraphic capital M + 0xE254: [835,39,997,36,1098], // stix-mathematical bold calligraphic capital N + 0xE255: [707,10,772,43,782], // stix-mathematical bold calligraphic capital O + 0xE256: [696,0,645,36,731], // stix-mathematical bold calligraphic capital Q + 0xE257: [704,145,778,43,737], // stix-mathematical bold calligraphic capital P + 0xE258: [697,13,869,36,831], // stix-mathematical bold calligraphic capital R + 0xE259: [705,7,667,36,699], // stix-mathematical bold calligraphic capital S + 0xE25A: [783,0,547,33,747], // stix-mathematical bold calligraphic capital T + 0xE25B: [700,14,787,33,936], // stix-mathematical bold calligraphic capital U + 0xE25C: [711,31,652,36,706], // stix-mathematical bold calligraphic capital V + 0xE25D: [711,34,956,36,1010], // stix-mathematical bold calligraphic capital W + 0xE25E: [710,14,720,36,781], // stix-mathematical bold calligraphic capital X + 0xE25F: [711,144,720,36,773], // stix-mathematical bold calligraphic capital Y + 0xE260: [702,98,778,36,744], // stix-mathematical bold calligraphic capital Z + 0xE264: [473,10,600,47,554], // stix-old style digit 0 + 0xE268: [473,0,600,95,450], // stix-old style digit 1 + 0xE26C: [473,0,600,54,531], // stix-old style digit 2 + 0xE270: [463,217,600,31,547], // stix-old style digit 3 + 0xE274: [450,217,600,30,564], // stix-old style digit 4 + 0xE278: [450,218,600,25,561], // stix-old style digit 5 + 0xE27C: [670,10,600,55,545], // stix-old style digit 6 + 0xE280: [450,217,600,24,582], // stix-old style digit 7 + 0xE284: [670,10,600,41,560], // stix-old style digit 8 + 0xE288: [463,217,600,49,539], // stix-old style digit 9 + 0xE295: [775,235,776,40,739], // stix-capital A bold italic slashed + 0xE297: [775,235,762,44,747], // stix-capital B bold italic slashed + 0xE299: [775,235,711,57,753], // stix-capital C bold italic slashed + 0xE29B: [775,235,870,44,840], // stix-capital D bold italic slashed + 0xE29D: [775,235,759,44,779], // stix-capital E bold italic slashed + 0xE29F: [775,235,658,44,771], // stix-capital F bold italic slashed + 0xE2A1: [775,235,789,57,787], // stix-capital G bold italic slashed + 0xE2A3: [775,235,915,44,940], // stix-capital H bold italic slashed + 0xE2A5: [775,235,502,46,525], // stix-capital I bold italic slashed + 0xE2A7: [775,235,648,68,688], // stix-capital J bold italic slashed + 0xE2A9: [775,207,814,44,838], // stix-capital K bold italic slashed + 0xE2AB: [775,235,764,44,718], // stix-capital L bold italic slashed + 0xE2AD: [775,235,1044,44,1069], // stix-capital M bold italic slashed + 0xE2AF: [775,235,857,44,882], // stix-capital N bold italic slashed + 0xE2B1: [775,235,802,57,777], // stix-capital O bold italic slashed + 0xE2B3: [775,207,626,19,790], // stix-capital P bold italic slashed + 0xE2B5: [775,245,834,57,777], // stix-capital Q bold italic slashed + 0xE2B7: [775,235,783,44,757], // stix-capital R bold italic slashed + 0xE2B9: [775,235,589,57,621], // stix-capital S bold italic slashed + 0xE2BB: [775,235,562,30,696], // stix-capital T bold italic slashed + 0xE2BD: [775,235,745,74,813], // stix-capital U bold italic slashed + 0xE2BF: [775,235,597,66,774], // stix-capital V bold italic slashed + 0xE2C1: [775,235,980,66,1131], // stix-capital W bold italic slashed + 0xE2C3: [775,235,803,34,819], // stix-capital X bold italic slashed + 0xE2C5: [775,235,569,25,706], // stix-capital Y bold italic slashed + 0xE2C7: [775,235,720,42,701], // stix-capital Z bold italic slashed + 0xE2C9: [775,235,630,46,595], // stix-lowercase a bold italic slashed + 0xE2CB: [775,235,585,57,564], // stix-lowercase b bold italic slashed + 0xE2CD: [775,235,511,33,506], // stix-lowercase c bold italic slashed + 0xE2CF: [775,235,646,31,638], // stix-lowercase d bold italic slashed + 0xE2D1: [775,235,512,44,516], // stix-lowercase e bold italic slashed + 0xE2D3: [775,235,654,-29,762], // stix-lowercase f bold italic slashed + 0xE2D5: [775,235,601,24,599], // stix-lowercase g bold italic slashed + 0xE2D7: [775,235,611,35,577], // stix-lowercase h bold italic slashed + 0xE2D9: [775,207,373,34,488], // stix-lowercase i bold italic slashed + 0xE2DB: [775,235,600,-29,763], // stix-lowercase j bold italic slashed + 0xE2DD: [775,235,622,35,660], // stix-lowercase k bold italic slashed + 0xE2DF: [775,207,381,30,484], // stix-lowercase l bold italic slashed + 0xE2E1: [775,235,873,35,838], // stix-lowercase m bold italic slashed + 0xE2E3: [775,235,611,35,581], // stix-lowercase n bold italic slashed + 0xE2E5: [775,235,571,46,548], // stix-lowercase o bold italic slashed + 0xE2E7: [775,235,636,-25,649], // stix-lowercase p bold italic slashed + 0xE2E9: [775,207,580,46,568], // stix-lowercase q bold italic slashed + 0xE2EB: [775,235,437,35,567], // stix-lowercase r bold italic slashed + 0xE2ED: [775,235,512,42,515], // stix-lowercase s bold italic slashed + 0xE2EF: [775,207,411,32,486], // stix-lowercase t bold italic slashed + 0xE2F1: [775,235,632,60,597], // stix-lowercase u bold italic slashed + 0xE2F3: [775,207,554,52,558], // stix-lowercase v bold italic slashed + 0xE2F5: [775,207,814,17,799], // stix-lowercase w bold italic slashed + 0xE2F7: [775,235,647,35,622], // stix-lowercase x bold italic slashed + 0xE2F9: [775,207,599,20,640], // stix-lowercase y bold italic slashed + 0xE2FB: [775,235,531,35,555], // stix-lowercase z bold italic slashed + 0xE32D: [775,207,671,46,675], // stix-MATHEMATICAL BOLD ITALIC SMALL ALPHA SLASHED + 0xE32F: [775,207,664,-65,706], // stix-MATHEMATICAL BOLD ITALIC SMALL BETA SLASHED + 0xE331: [775,207,588,-100,671], // stix-MATHEMATICAL BOLD ITALIC SMALL GAMMA SLASHED + 0xE333: [775,207,571,46,547], // stix-MATHEMATICAL BOLD ITALIC SMALL DELTA SLASHED + 0xE335: [775,207,508,44,515], // stix-MATHEMATICAL BOLD ITALIC SMALL EPSILON SLASHED + 0xE337: [775,207,505,-54,629], // stix-MATHEMATICAL BOLD ITALIC SMALL ZETA SLASHED + 0xE339: [775,207,579,20,583], // stix-MATHEMATICAL BOLD ITALIC SMALL ETA SLASHED + 0xE33B: [775,207,615,46,602], // stix-MATHEMATICAL BOLD ITALIC SMALL THETA SLASHED + 0xE33D: [775,207,355,29,483], // stix-MATHEMATICAL BOLD ITALIC SMALL IOTA SLASHED + 0xE33F: [775,207,594,35,656], // stix-MATHEMATICAL BOLD ITALIC SMALL KAPPA SLASHED + 0xE341: [775,207,598,18,642], // stix-MATHEMATICAL BOLD ITALIC SMALL LAMBDA SLASHED + 0xE343: [775,207,697,-34,737], // stix-MATHEMATICAL BOLD ITALIC SMALL MU SLASHED + 0xE345: [775,207,571,35,584], // stix-MATHEMATICAL BOLD ITALIC SMALL NU SLASHED + 0xE347: [775,207,504,-54,629], // stix-MATHEMATICAL BOLD ITALIC SMALL XI SLASHED + 0xE349: [775,235,500,32,506], // stix-MATHEMATICAL BOLD ITALIC SMALL OMICRON SLASHED + 0xE34B: [775,207,652,1,772], // stix-MATHEMATICAL BOLD ITALIC SMALL PI SLASHED + 0xE34D: [775,207,636,27,652], // stix-MATHEMATICAL BOLD ITALIC SMALL RHO SLASHED + 0xE34F: [775,207,504,23,514], // stix-MATHEMATICAL BOLD ITALIC SMALL FINAL SIGMA SLASHED + 0xE351: [775,207,595,46,641], // stix-MATHEMATICAL BOLD ITALIC SMALL SIGMA SLASHED + 0xE353: [775,207,474,20,521], // stix-MATHEMATICAL BOLD ITALIC SMALL TAU SLASHED + 0xE355: [775,207,582,20,584], // stix-small upsilon, Greek slashed + 0xE357: [775,207,726,1,772], // stix-MATHEMATICAL BOLD ITALIC SMALL PHI SLASHED + 0xE359: [775,207,622,-41,730], // stix-MATHEMATICAL BOLD ITALIC SMALL CHI SLASHED + 0xE35B: [775,207,720,37,808], // stix-MATHEMATICAL BOLD ITALIC SMALL PSI SLASHED + 0xE35D: [775,207,782,24,795], // stix-MATHEMATICAL BOLD ITALIC SMALL OMEGA SLASHED + 0xE35F: [775,207,608,20,681], // stix-MATHEMATICAL BOLD ITALIC THETA SYMBOL SLASHED + 0xE361: [775,207,727,0,771], // stix-MATHEMATICAL BOLD ITALIC PHI SYMBOL SLASHED + 0xE363: [775,207,925,6,978], // stix-MATHEMATICAL BOLD ITALIC PI SYMBOL SLASHED + 0xE367: [775,235,475,-35,509], // stix-small stigma, Greek slashed + 0xE36B: [775,235,525,-68,651], // stix-small digamma, Greek slashed + 0xE36F: [775,235,485,16,466], // stix-small koppa, Greek slashed + 0xE373: [775,235,530,12,731], // stix-small sampi, Greek slashed + 0xE375: [775,235,569,-50,592], // stix-MATHEMATICAL BOLD ITALIC KAPPA SYMBOL SLASHED + 0xE377: [775,207,571,46,547], // stix-MATHEMATICAL BOLD ITALIC RHO SYMBOL SLASHED + 0xE379: [775,207,601,46,579], // stix-MATHEMATICAL BOLD ITALIC PARTIAL DIFFERENTIAL SLASHED + 0xE37B: [775,207,525,46,543], // stix-MATHEMATICAL BOLD ITALIC EPSILON SYMBOL SLASHED + 0xE37E: [775,235,792,-40,777], // stix-capital C script slashed + 0xE380: [707,14,670,10,662], // stix-small d italic with straight bar through it + 0xE382: [707,14,622,14,598], // stix-small k italic with straight bar through it + 0xE384: [628,14,411,18,390], // stix-small t italic with straight bar through it + 0xE386: [473,14,355,15,338], // stix-small Greek iota with straight bar through it + 0xE388: [707,14,598,18,563], // stix-small Greek lambda with straight bar through it + 0xE389: [666,0,480,16,472], // LATIN SMALL LETTER LAMBDA WITH STROKE + 0xE3C5: [462,207,514,47,475], // stix-mathematical bold italic small dotless j + 0xE3C6: [462,9,357,55,274] // stix-mathematical bold italic small dotless i + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax["HTML-CSS"].fontDir + "/NonUnicode/BoldItalic/PrivateUse.js"); diff --git a/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/NonUnicode/Italic/All.js b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/NonUnicode/Italic/All.js new file mode 100644 index 0000000..53a77ff --- /dev/null +++ b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/NonUnicode/Italic/All.js @@ -0,0 +1,29 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/fonts/STIX/NonUnicode/Italic/All.js + * + * Copyright (c) 2009-2010 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax['HTML-CSS'].FONTDATA.FONTS['STIXNonUnicode-italic'], + { + 0x20: [0,0,250,0,0], // SPACE + 0xA0: [0,0,250,0,0] // NO-BREAK SPACE + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax["HTML-CSS"].fontDir + "/NonUnicode/Italic/All.js"); diff --git a/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/NonUnicode/Italic/Main.js b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/NonUnicode/Italic/Main.js new file mode 100644 index 0000000..e990b3d --- /dev/null +++ b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/NonUnicode/Italic/Main.js @@ -0,0 +1,60 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/fonts/STIX/NonUnicode/Italic/Main.js + * + * Copyright (c) 2009-2010 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +MathJax.OutputJax['HTML-CSS'].FONTDATA.FONTS['STIXNonUnicode-italic'] = { + directory: 'NonUnicode/Italic', + family: 'STIXNonUnicode', + style: 'italic', + Ranges: [ + [0x20,0x20,"All"], + [0xA0,0xA0,"All"], + [0xE000,0xF8FF,"PrivateUse"] + ], + 0xE22D: [677,45,852,43,812], // stix-mathematical calligraphic capital A + 0xE22E: [670,3,724,35,709], // stix-mathematical calligraphic capital B + 0xE22F: [671,11,569,43,586], // stix-mathematical calligraphic capital C + 0xE230: [662,0,801,34,788], // stix-mathematical calligraphic capital D + 0xE231: [670,4,553,40,599], // stix-mathematical calligraphic capital E + 0xE232: [662,0,652,43,710], // stix-mathematical calligraphic capital F + 0xE233: [671,131,580,40,580], // stix-mathematical calligraphic capital G + 0xE234: [664,21,831,41,845], // stix-mathematical calligraphic capital H + 0xE235: [662,0,575,38,591], // stix-mathematical calligraphic capital I + 0xE236: [662,120,632,31,785], // stix-mathematical calligraphic capital J + 0xE237: [670,13,809,30,783], // stix-mathematical calligraphic capital K + 0xE238: [670,7,693,30,653], // stix-mathematical calligraphic capital L + 0xE239: [671,45,1166,40,1128], // stix-mathematical calligraphic capital M + 0xE23A: [795,37,957,40,1064], // stix-mathematical calligraphic capital N + 0xE23B: [669,10,737,38,729], // stix-mathematical calligraphic capital O + 0xE23C: [662,0,667,38,709], // stix-mathematical calligraphic capital P + 0xE23D: [671,131,744,43,704], // stix-mathematical calligraphic capital Q + 0xE23E: [662,3,854,38,816], // stix-mathematical calligraphic capital R + 0xE23F: [671,0,634,38,671], // stix-mathematical calligraphic capital S + 0xE240: [721,0,509,41,730], // stix-mathematical calligraphic capital T + 0xE241: [672,13,817,37,950], // stix-mathematical calligraphic capital U + 0xE242: [677,33,638,33,680], // stix-mathematical calligraphic capital V + 0xE243: [685,32,956,33,998], // stix-mathematical calligraphic capital W + 0xE244: [672,13,692,38,739], // stix-mathematical calligraphic capital X + 0xE245: [675,131,719,34,763], // stix-mathematical calligraphic capital Y + 0xE246: [664,94,752,38,714] // stix-mathematical calligraphic capital Z +}; + +MathJax.OutputJax["HTML-CSS"].initFont("STIXNonUnicode-italic"); + +MathJax.Ajax.loadComplete(MathJax.OutputJax["HTML-CSS"].fontDir + "/NonUnicode/Italic/Main.js"); diff --git a/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/NonUnicode/Italic/PrivateUse.js b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/NonUnicode/Italic/PrivateUse.js new file mode 100644 index 0000000..2d6c0a5 --- /dev/null +++ b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/NonUnicode/Italic/PrivateUse.js @@ -0,0 +1,242 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/fonts/STIX/NonUnicode/Italic/PrivateUse.js + * + * Copyright (c) 2009-2010 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax['HTML-CSS'].FONTDATA.FONTS['STIXNonUnicode-italic'], + { + 0xE09C: [756,218,753,37,787], // stix-capital A italic double-slashed + 0xE09D: [756,218,706,42,732], // stix-capital E italic double-slashed + 0xE09E: [756,218,624,42,724], // stix-capital F italic double-slashed + 0xE0B3: [681,207,500,-141,504], // stix-small fj ligature + 0xE154: [653,0,671,3,606], // stix-oblique open face capital letter A + 0xE155: [653,0,686,17,676], // stix-oblique open face capital letter B + 0xE156: [653,0,639,17,664], // stix-oblique open face capital letter E + 0xE157: [653,0,469,18,664], // stix-oblique open face capital letter F + 0xE158: [666,18,702,35,702], // stix-oblique open face capital letter G + 0xE159: [653,0,320,21,350], // stix-oblique open face capital letter I + 0xE15A: [653,18,562,16,595], // stix-oblique open face capital letter J + 0xE15B: [653,0,700,17,730], // stix-oblique open face capital letter K + 0xE15C: [653,0,608,18,524], // stix-oblique open face capital letter L + 0xE15D: [653,0,858,25,892], // stix-oblique open face capital letter M + 0xE15E: [666,18,723,35,713], // stix-oblique open face capital letter O + 0xE15F: [666,18,624,24,669], // stix-oblique open face capital letter S + 0xE160: [653,0,463,30,682], // stix-oblique open face capital letter T + 0xE161: [653,14,648,33,716], // stix-oblique open face capital letter U + 0xE162: [653,0,492,75,678], // stix-oblique open face capital letter V + 0xE163: [653,0,810,100,963], // stix-oblique open face capital letter W + 0xE164: [653,0,650,-24,770], // stix-oblique open face capital letter X + 0xE165: [653,0,458,42,658], // stix-oblique open face capital letter Y + 0xE166: [441,11,566,40,521], // stix-oblique open face small letter a + 0xE167: [683,11,598,27,558], // stix-oblique open face small letter b + 0xE168: [441,11,504,40,480], // stix-oblique open face small letter c + 0xE169: [683,0,331,28,519], // stix-oblique open face small letter f + 0xE16A: [441,220,599,9,572], // stix-oblique open face small letter g + 0xE16B: [683,0,588,27,543], // stix-oblique open face small letter h + 0xE16C: [683,0,545,25,530], // stix-oblique open face small letter k + 0xE16D: [683,0,306,27,356], // stix-oblique open face small letter l + 0xE16E: [441,0,857,27,812], // stix-oblique open face small letter m + 0xE16F: [441,0,588,27,543], // stix-oblique open face small letter n + 0xE170: [441,11,534,40,494], // stix-oblique open face small letter o + 0xE171: [441,218,628,5,588], // stix-oblique open face small letter p + 0xE172: [441,218,604,40,574], // stix-oblique open face small letter q + 0xE173: [442,0,332,27,467], // stix-oblique open face small letter r + 0xE174: [441,11,502,34,468], // stix-oblique open face small letter s + 0xE175: [633,10,323,20,328], // stix-oblique open face small letter t + 0xE176: [428,13,588,40,556], // stix-oblique open face small letter u + 0xE177: [428,0,395,45,462], // stix-oblique open face small letter v + 0xE178: [428,0,639,56,690], // stix-oblique open face small letter w + 0xE179: [428,0,557,14,554], // stix-oblique open face small letter x + 0xE17A: [428,218,471,5,538], // stix-oblique open face small letter y + 0xE17B: [428,0,540,21,530], // stix-oblique open face small letter z + 0xE1B4: [676,14,500,86,578], // stix-Mathematical sans-serif italic digit 0 + 0xE1B5: [677,0,500,223,469], // stix-Mathematical sans-serif italic digit 1 + 0xE1B6: [676,0,500,35,574], // stix-Mathematical sans-serif italic digit 2 + 0xE1B7: [676,14,500,44,544], // stix-Mathematical sans-serif italic digit 3 + 0xE1B8: [676,0,500,52,547], // stix-Mathematical sans-serif italic digit 4 + 0xE1B9: [676,14,500,49,626], // stix-Mathematical sans-serif italic digit 5 + 0xE1BA: [684,14,500,83,617], // stix-Mathematical sans-serif italic digit 6 + 0xE1BB: [662,8,500,146,616], // stix-Mathematical sans-serif italic digit 7 + 0xE1BC: [676,14,500,81,560], // stix-Mathematical sans-serif italic digit 8 + 0xE1BD: [676,21,500,51,579], // stix-Mathematical sans-serif italic digit 9 + 0xE1BE: [683,10,536,45,527], // stix-Mathematical sans-serif italic partial differential + 0xE1BF: [674,0,660,28,632], // stix-Mathematical sans-serif italic capital alpha + 0xE1C0: [662,0,662,60,627], // stix-Mathematical sans-serif italic capital beta + 0xE1C1: [662,0,562,60,665], // stix-Mathematical sans-serif italic capital gamma + 0xE1C2: [674,0,660,28,632], // stix-Mathematical sans-serif italic capital delta + 0xE1C3: [662,0,639,60,664], // stix-Mathematical sans-serif italic capital epsilon + 0xE1C4: [662,0,698,25,760], // stix-Mathematical sans-serif italic capital zeta + 0xE1C5: [662,0,700,60,735], // stix-Mathematical sans-serif italic capital eta + 0xE1C6: [676,14,780,75,755], // stix-Mathematical sans-serif italic capital theta + 0xE1C7: [662,0,433,50,503], // stix-Mathematical sans-serif italic capital iota + 0xE1C8: [662,0,631,60,715], // stix-Mathematical sans-serif italic capital kappa + 0xE1C9: [674,0,664,20,624], // stix-Mathematical sans-serif italic capital lambda + 0xE1CA: [662,0,890,60,918], // stix-Mathematical sans-serif italic capital mu + 0xE1CB: [662,14,724,60,752], // stix-Mathematical sans-serif italic capital nu + 0xE1CC: [662,0,722,47,754], // stix-Mathematical sans-serif italic capital xi + 0xE1CD: [676,14,780,75,755], // stix-Mathematical sans-serif italic capital omicron + 0xE1CE: [662,0,700,60,735], // stix-Mathematical sans-serif italic capital pi + 0xE1CF: [662,0,538,60,624], // stix-Mathematical sans-serif italic capital rho + 0xE1D0: [676,14,780,75,755], // stix-Mathematical sans-serif italic capital THETA symbol + 0xE1D1: [662,0,654,21,706], // stix-Mathematical sans-serif italic capital sigma + 0xE1D2: [662,0,585,72,659], // stix-Mathematical sans-serif italic capital tau + 0xE1D3: [676,0,593,83,725], // stix-Mathematical sans-serif italic capital upsilon + 0xE1D4: [662,0,736,52,736], // stix-Mathematical sans-serif italic capital phi + 0xE1D5: [662,0,722,20,795], // stix-Mathematical sans-serif italic capital chi + 0xE1D6: [681,0,712,105,805], // stix-Mathematical sans-serif italic capital psi + 0xE1D7: [676,0,795,39,795], // stix-Mathematical sans-serif italic capital omega + 0xE1D8: [463,10,586,47,616], // stix-Mathematical sans-serif italic small alpha + 0xE1D9: [683,215,535,-12,559], // stix-Mathematical sans-serif italic small beta + 0xE1DA: [463,216,503,84,527], // stix-Mathematical sans-serif italic small gamma + 0xE1DB: [683,10,497,30,537], // stix-Mathematical sans-serif italic small delta + 0xE1DC: [463,10,494,35,484], // stix-Mathematical sans-serif italic small epsilon + 0xE1DD: [683,213,429,32,454], // stix-Mathematical sans-serif italic small zeta + 0xE1DE: [463,215,493,38,486], // stix-Mathematical sans-serif italic small eta + 0xE1DF: [683,10,518,65,511], // stix-Mathematical sans-serif italic small theta + 0xE1E0: [464,10,296,56,268], // stix-Mathematical sans-serif italic small iota + 0xE1E1: [464,0,472,38,517], // stix-Mathematical sans-serif italic small kappa + 0xE1E2: [683,11,536,18,502], // stix-Mathematical sans-serif italic small lambda + 0xE1E3: [453,215,561,-9,536], // stix-Mathematical sans-serif italic small mu + 0xE1E4: [464,14,376,41,416], // stix-Mathematical sans-serif italic small nu + 0xE1E5: [683,215,434,43,464], // stix-Mathematical sans-serif italic small xi + 0xE1E6: [463,10,533,45,505], // stix-Mathematical sans-serif italic small omicron + 0xE1E7: [453,10,565,45,589], // stix-Mathematical sans-serif italic small pi + 0xE1E8: [462,216,534,-33,510], // stix-Mathematical sans-serif italic small rho + 0xE1E9: [463,212,436,52,500], // stix-Mathematical sans-serif italic small FINAL sigma + 0xE1EA: [453,10,607,45,625], // stix-Mathematical sans-serif italic small sigma + 0xE1EB: [453,10,468,42,486], // stix-Mathematical sans-serif italic small tau + 0xE1EC: [463,10,514,61,490], // stix-Mathematical sans-serif italic small upsilon + 0xE1ED: [464,216,665,55,641], // stix-Mathematical sans-serif italic small phi + 0xE1EE: [463,215,514,-72,552], // stix-Mathematical sans-serif italic small chi + 0xE1EF: [461,216,654,75,705], // stix-Mathematical sans-serif italic small psi + 0xE1F0: [454,10,630,50,636], // stix-Mathematical sans-serif italic small omega + 0xE1F1: [463,10,462,45,467], // stix-Mathematical sans-serif italic epsilon symbol + 0xE1F2: [683,12,534,45,525], // stix-Mathematical sans-serif italic theta symbol + 0xE1F3: [684,216,648,48,630], // stix-Mathematical sans-serif italic phi symbol + 0xE1F4: [463,216,536,38,518], // stix-Mathematical sans-serif italic rho symbol + 0xE1F5: [453,10,795,40,811], // stix-Mathematical sans-serif italic pi symbol + 0xE262: [460,11,570,56,514], // stix-old style digit 0 + 0xE266: [460,0,570,100,415], // stix-old style digit 1 + 0xE26A: [460,0,570,59,487], // stix-old style digit 2 + 0xE26E: [461,217,570,40,513], // stix-old style digit 3 + 0xE272: [450,217,570,17,542], // stix-old style digit 4 + 0xE276: [450,218,570,23,536], // stix-old style digit 5 + 0xE27A: [668,10,570,28,553], // stix-old style digit 6 + 0xE27E: [450,217,570,40,543], // stix-old style digit 7 + 0xE282: [668,10,570,50,519], // stix-old style digit 8 + 0xE286: [460,217,570,23,526], // stix-old style digit 9 + 0xE294: [756,218,753,37,754], // stix-capital A italic slashed + 0xE296: [756,218,698,42,686], // stix-capital B italic slashed + 0xE298: [756,218,678,52,716], // stix-capital C italic slashed + 0xE29A: [756,218,830,42,793], // stix-capital D italic slashed + 0xE29C: [756,218,706,42,724], // stix-capital E italic slashed + 0xE29E: [756,217,624,42,724], // stix-capital F italic slashed + 0xE2A0: [756,217,768,52,766], // stix-capital G italic slashed + 0xE2A2: [756,218,825,42,863], // stix-capital H italic slashed + 0xE2A4: [756,218,429,-7,467], // stix-capital I italic slashed + 0xE2A6: [756,218,530,60,568], // stix-capital J italic slashed + 0xE2A8: [756,218,766,42,804], // stix-capital K italic slashed + 0xE2AA: [756,218,696,42,654], // stix-capital L italic slashed + 0xE2AC: [756,218,969,42,1007], // stix-capital M italic slashed + 0xE2AE: [756,218,799,42,837], // stix-capital N italic slashed + 0xE2B0: [756,218,764,52,739], // stix-capital O italic slashed + 0xE2B2: [756,217,581,14,710], // stix-capital P italic slashed + 0xE2B4: [756,217,764,52,739], // stix-capital Q italic slashed + 0xE2B6: [756,218,699,42,682], // stix-capital R italic slashed + 0xE2B8: [756,218,557,52,576], // stix-capital S italic slashed + 0xE2BA: [756,218,532,19,647], // stix-capital T italic slashed + 0xE2BC: [756,218,706,67,771], // stix-capital U italic slashed + 0xE2BE: [756,218,605,56,730], // stix-capital V italic slashed + 0xE2C0: [756,218,831,62,956], // stix-capital W italic slashed + 0xE2C2: [756,218,737,27,755], // stix-capital X italic slashed + 0xE2C4: [756,218,492,1,647], // stix-capital Y italic slashed + 0xE2C6: [756,218,686,62,714], // stix-capital Z italic slashed + 0xE2C8: [756,240,565,42,533], // stix-lowercase a italic slashed + 0xE2CA: [756,240,530,47,530], // stix-lowercase b italic slashed + 0xE2CC: [756,240,477,33,501], // stix-lowercase c italic slashed + 0xE2CE: [756,240,586,14,581], // stix-lowercase d italic slashed + 0xE2D0: [756,240,490,8,475], // stix-lowercase e italic slashed + 0xE2D2: [756,240,582,-4,704], // stix-lowercase f italic slashed + 0xE2D4: [756,240,515,22,513], // stix-lowercase g italic slashed + 0xE2D6: [756,240,577,47,545], // stix-lowercase h italic slashed + 0xE2D8: [756,217,326,-9,454], // stix-lowercase i italic slashed + 0xE2DA: [755,240,550,-54,653], // stix-lowercase j italic slashed + 0xE2DC: [756,240,554,57,591], // stix-lowercase k italic slashed + 0xE2DE: [756,217,335,-14,449], // stix-lowercase l italic slashed + 0xE2E0: [756,240,823,32,791], // stix-lowercase m italic slashed + 0xE2E2: [756,240,565,32,545], // stix-lowercase n italic slashed + 0xE2E4: [756,240,533,42,519], // stix-lowercase o italic slashed + 0xE2E6: [756,217,581,-24,613], // stix-lowercase p italic slashed + 0xE2E8: [756,240,521,40,523], // stix-lowercase q italic slashed + 0xE2EA: [756,240,436,32,507], // stix-lowercase r italic slashed + 0xE2EC: [756,240,466,26,494], // stix-lowercase s italic slashed + 0xE2EE: [756,217,353,-22,441], // stix-lowercase t italic slashed + 0xE2F0: [756,240,537,21,505], // stix-lowercase u italic slashed + 0xE2F2: [756,218,506,72,545], // stix-lowercase v italic slashed + 0xE2F4: [756,217,775,72,793], // stix-lowercase w italic slashed + 0xE2F6: [756,240,566,32,584], // stix-lowercase x italic slashed + 0xE2F8: [756,218,530,32,575], // stix-lowercase y italic slashed + 0xE2FA: [756,240,499,40,507], // stix-lowercase z italic slashed + 0xE32C: [756,218,613,42,612], // stix-small alpha, Greek slashed + 0xE32E: [756,218,595,-47,644], // stix-small beta, Greek slashed + 0xE330: [756,218,514,-58,634], // stix-small gamma, Greek slashed + 0xE332: [756,218,536,40,522], // stix-small delta, Greek slashed + 0xE334: [756,218,478,29,491], // stix-small epsilon, Greek slashed + 0xE336: [756,218,440,11,482], // stix-small zeta, Greek slashed + 0xE338: [756,218,512,32,536], // stix-small eta, Greek slashed + 0xE33A: [756,218,529,20,519], // stix-small theta, Greek slashed + 0xE33C: [756,217,326,-10,453], // stix-small iota, Greek slashed + 0xE33E: [756,218,546,57,558], // stix-small kappa, Greek slashed + 0xE340: [756,218,557,52,619], // stix-small lambda, Greek slashed + 0xE342: [756,217,630,0,696], // stix-small mu, Greek slashed + 0xE344: [756,218,466,32,495], // stix-small nu, Greek slashed + 0xE346: [756,218,454,9,468], // stix-small xi, Greek slashed + 0xE348: [756,240,533,27,498], // stix-small omicron, Greek slashed + 0xE34A: [756,217,591,14,710], // stix-small pi, Greek slashed + 0xE34C: [756,218,584,32,591], // stix-small rho, Greek slashed + 0xE34E: [756,218,468,1,460], // stix-terminal sigma, Greek slashed + 0xE350: [756,218,534,42,560], // stix-small sigma, Greek slashed + 0xE352: [756,218,448,32,537], // stix-small tau, Greek slashed + 0xE354: [756,218,514,32,545], // stix-small upsilon, Greek slashed + 0xE356: [756,218,663,-2,690], // stix-small phi, Greek slashed + 0xE358: [756,218,632,4,700], // stix-small chi, Greek slashed + 0xE35A: [756,218,668,32,736], // stix-small psi, Greek slashed + 0xE35C: [756,217,733,42,758], // stix-small omega, Greek slashed + 0xE35E: [756,218,602,32,590], // stix-curly or open theta, Greek slashed + 0xE360: [756,218,666,42,778], // stix-curly or open small phi, Greek slashed + 0xE362: [756,217,889,32,897], // stix-rounded small pi (pomega), Greek slashed + 0xE366: [756,240,444,7,482], // stix-small stigma, Greek slashed + 0xE36A: [756,240,528,-57,648], // stix-small digamma, Greek slashed + 0xE36E: [756,240,457,31,445], // stix-small koppa, Greek slashed + 0xE372: [756,240,528,8,715], // stix-small sampi, Greek slashed + 0xE374: [756,240,533,-16,559], // stix-rounded small kappa, Greek slashed + 0xE376: [756,218,533,42,525], // stix-rounded small rho, Greek slashed + 0xE378: [756,218,533,35,506], // stix-partial sign, slashed + 0xE37A: [756,218,477,42,539], // stix-rounded small epsilon, Greek, slashed + 0xE37D: [756,218,710,-50,694], // stix-capital C script slashed + 0xE37F: [683,10,606,10,601], // stix-small d italic with straight bar through it + 0xE381: [683,10,554,39,540], // stix-small k italic with straight bar through it + 0xE383: [579,10,353,6,323], // stix-small t italic with straight bar through it + 0xE385: [460,10,326,15,278], // stix-small Greek iota with straight bar through it + 0xE387: [683,10,557,52,526], // stix-small Greek lambda with straight bar through it + 0xE389: [668,0,490,30,478] // LATIN SMALL LETTER LAMBDA WITH STROKE + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax["HTML-CSS"].fontDir + "/NonUnicode/Italic/PrivateUse.js"); diff --git a/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/NonUnicode/Regular/All.js b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/NonUnicode/Regular/All.js new file mode 100644 index 0000000..b3df256 --- /dev/null +++ b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/NonUnicode/Regular/All.js @@ -0,0 +1,29 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/fonts/STIX/NonUnicode/Regular/All.js + * + * Copyright (c) 2009-2010 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax['HTML-CSS'].FONTDATA.FONTS['STIXNonUnicode'], + { + 0x20: [0,0,250,0,0], // SPACE + 0xA0: [0,0,250,0,0] // NO-BREAK SPACE + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax["HTML-CSS"].fontDir + "/NonUnicode/Regular/All.js"); diff --git a/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/NonUnicode/Regular/Main.js b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/NonUnicode/Regular/Main.js new file mode 100644 index 0000000..1318769 --- /dev/null +++ b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/NonUnicode/Regular/Main.js @@ -0,0 +1,57 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/fonts/STIX/NonUnicode/Regular/Main.js + * + * Copyright (c) 2009-2010 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +MathJax.OutputJax['HTML-CSS'].FONTDATA.FONTS['STIXNonUnicode'] = { + directory: 'NonUnicode/Regular', + family: 'STIXNonUnicode', + Ranges: [ + [0x20,0x20,"All"], + [0xA0,0xA0,"All"], + [0xE000,0xF8FF,"PrivateUse"] + ], + 0xE000: [610,25,1184,829,895], // stix-radical symbol vertical extender + 0xE001: [667,-41,1184,829,1211], // stix-radical symbol top corner piece + 0xE138: [634,-584,480,-10,490], // stix-horizontal extender for multiple character over accent arrows, harpoons, line + 0xE139: [-127,177,480,-10,490], // stix-horizontal extender for multiple character under accent arrows, harpoons, line + 0xE13B: [955,-512,897,-25,908], // stix-left end of extensible overbrace (CMEX10 x3A rotated 90deg) + 0xE13C: [955,-512,897,-11,922], // stix-right end of extensible overbrace (CMEX10 x38 rotated 90deg) + 0xE13D: [182,261,897,-25,908], // stix-left end of extensible underbrace (CMEX10 x3B rotated 90deg) + 0xE13E: [182,261,897,-11,922], // stix-right end of extensible underbrace (CMEX10 x39 rotated 90deg) + 0xE140: [1218,-820,1844,-10,1854], // stix-center of extensible overbrace (CMEX10 x3C rotated 90deg) + 0xE141: [-126,524,1844,-10,1854], // stix-center of extensible underbrace (CMEX10 x3D rotated 90deg) + 0xE14A: [955,-820,633,-1,634], // stix-extensible horizontal for over paren or square bracket (CMEX10 x42 rotated 90deg) + 0xE14B: [-126,261,633,-1,634], // stix-extensible horizontal for under paren or square bracket (CMEX10 x43 rotated 90deg) + 0xE261: [422,10,523,41,481], // stix-old style digit 0 + 0xE265: [421,0,523,127,405], // stix-old style digit 1 + 0xE269: [421,0,523,68,455], // stix-old style digit 2 + 0xE26D: [424,198,523,47,463], // stix-old style digit 3 + 0xE271: [420,198,523,58,480], // stix-old style digit 4 + 0xE275: [421,198,523,66,457], // stix-old style digit 5 + 0xE279: [612,8,523,37,486], // stix-old style digit 6 + 0xE27D: [421,198,523,25,490], // stix-old style digit 7 + 0xE281: [606,12,523,47,477], // stix-old style digit 8 + 0xE285: [421,200,523,41,483], // stix-old style digit 9 + 0xE28F: [135,0,325,-1,326], // stix-short horizontal extender at baseline + 0xE290: [135,0,633,-1,634] // stix-long horizontal extender at baseline +}; + +MathJax.OutputJax["HTML-CSS"].initFont("STIXNonUnicode"); + +MathJax.Ajax.loadComplete(MathJax.OutputJax["HTML-CSS"].fontDir + "/NonUnicode/Regular/Main.js"); diff --git a/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/NonUnicode/Regular/PrivateUse.js b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/NonUnicode/Regular/PrivateUse.js new file mode 100644 index 0000000..83d5718 --- /dev/null +++ b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/NonUnicode/Regular/PrivateUse.js @@ -0,0 +1,387 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/fonts/STIX/NonUnicode/Regular/PrivateUse.js + * + * Copyright (c) 2009-2010 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax['HTML-CSS'].FONTDATA.FONTS['STIXNonUnicode'], + { + 0xE002: [1022,0,1192,30,1162], // stix-"shaw": large operator with three parallel vertical lines topped by a horizontal + 0xE003: [1450,0,1311,55,1256], // stix-"shaw": large operator with three parallel vertical lines topped by a horizontal + 0xE004: [450,-59,926,55,871], // stix-not right arrow-wavy + 0xE005: [530,-57,926,55,871], // stix-not right arrow-curved + 0xE00A: [538,-55,685,48,637], // stix-reverse most positive, line below + 0xE00B: [543,37,685,48,637], // stix-most positive, two lines below + 0xE00E: [846,340,685,60,626], // stix-not greater, double equals + 0xE00F: [730,229,685,56,621], // stix-not greater-or-equal, slanted + 0xE010: [730,229,685,56,621], // stix-not less-or-equal, slanted + 0xE011: [846,340,685,61,626], // stix-not less, double equals + 0xE016: [818,311,685,53,618], // stix-not subset, double equals + 0xE018: [818,311,685,67,632], // stix-not superset, double equals + 0xE01E: [607,110,685,48,638], // stix-not approximately identical to + 0xE023: [695,189,685,48,637], // stix-not congruent, dot + 0xE025: [724,236,685,48,637], // stix-not approximately equal or equal to + 0xE026: [662,156,685,47,612], // stix-not, vert, double nested less than + 0xE027: [662,156,685,73,638], // stix-not, vert, double nested greater than + 0xE028: [663,155,933,25,908], // stix-not much less than + 0xE029: [662,156,933,25,908], // stix-not much greater than + 0xE02A: [662,156,1240,43,1184], // stix-not triple less than + 0xE02B: [662,156,1240,56,1197], // stix-not triple greater than + 0xE02F: [662,156,685,23,662], // stix-not, vert, angle + 0xE035: [602,98,486,64,422], // stix-negated contains + 0xE037: [662,156,685,48,637], // stix-reverse not equal + 0xE038: [690,189,732,50,682], // stix-not parallel, slanted + 0xE039: [662,156,685,47,636], // stix-not equal, dot + 0xE03A: [811,156,471,40,525], // stix-not partial differential + 0xE03B: [736,156,685,60,625], // stix-negated set membership, dot above + 0xE03C: [662,156,685,60,625], // stix-negated set membership, two horizontal strokes + 0xE03D: [602,98,486,64,422], // stix-negated (slash) set membership + 0xE040: [415,-92,685,48,637], // stix-congruence sign (lazy S) + 0xE041: [911,-433,480,64,398], // stix-modifier letter small h turned, superscript + 0xE042: [755,-425,441,57,387], // stix-modifier letter small a (one-story) turned, superscript + 0xE043: [818,311,685,60,625], // stix-two-line slanted equal to or less-than - with vertical stroke + 0xE044: [818,311,685,60,625], // stix-two-line slanted equal to or greater-than with vertical stroke + 0xE045: [818,311,685,60,625], // stix-two-line slanted equal to or less-than - with slash + 0xE046: [818,311,685,60,625], // stix-two-line slanted equal to or greater-than with slash + 0xE04B: [745,242,685,60,625], // stix-not precedes, single equals + 0xE04C: [845,341,685,60,625], // stix-not precedes, double equals + 0xE04D: [534,19,685,48,637], // stix-not, vert, equal or similar + 0xE04E: [845,341,685,60,625], // stix-not succeeds, double equals + 0xE04F: [745,242,685,60,625], // stix-not succeeds, single equals + 0xE050: [662,156,685,65,620], // stix-not, square subset + 0xE051: [662,156,685,65,620], // stix-not, square superset + 0xE052: [561,55,685,48,637], // stix-not bumpy equals + 0xE053: [450,0,632,26,604], // stix-Latin letter small-cap K, reversed + 0xE054: [516,10,688,37,679], // stix-Latin letter small a (one-story) with rhotic hook + 0xE055: [475,14,571,20,563], // stix-Latin letter small open e with rhotic hook + 0xE056: [459,11,632,10,624], // stix-Latin letter small open o with rhotic hook + 0xE057: [459,12,624,29,595], // stix-Latin letter small omega, inverted + 0xE059: [730,224,685,48,637], // stix-not precedes, similar + 0xE05A: [730,224,685,48,637], // stix-not succeeds, similar + 0xE05B: [561,-30,685,48,637], // stix-not bumpy single equals + 0xE05C: [534,19,685,48,637], // stix-not equal or similar + 0xE05D: [459,10,452,16,436], // stix-barred ess + 0xE05E: [698,-547,0,95,406], // stix-double macron + 0xE060: [-140,292,1,11,323], // stix-double underbar + 0xE061: [-141,390,0,11,322], // stix-triple underbar + 0xE062: [-141,486,0,11,322], // stix-quadruple underbar + 0xE063: [734,-508,0,94,485], // stix-accent caret over dot + 0xE064: [777,-547,0,95,425], // stix-tilde over bar over + 0xE065: [-141,371,0,1,331], // stix-straight over wavy underline + 0xE066: [770,-547,0,101,412], // stix-double dot over bar over + 0xE067: [-141,371,0,1,331], // stix-wavy over straight underline + 0xE068: [683,287,524,9,487], // stix-hooked h + 0xE06B: [602,98,486,64,422], // stix-small not (vert) member + 0xE06C: [602,98,486,64,422], // stix-small not (vert) contains + 0xE06D: [785,157,685,60,625], // stix-not equal to or member + 0xE06E: [785,157,685,60,625], // stix-not equal to or contains + 0xE06F: [785,129,685,60,625], // stix-Not (vert) equals or member + 0xE070: [785,129,685,60,625], // stix-not (vert) equals or contains + 0xE075: [626,119,685,48,637], // stix-not (slash) similar minus similar + 0xE076: [626,119,685,48,637], // stix-not (vert) similar minus similar + 0xE077: [725,236,685,48,637], // stix-not (vert) double similar over two-line equals + 0xE07C: [758,252,685,48,637], // stix-not (slash) four-line equals (not strictly equivalent to) + 0xE07D: [758,252,685,48,637], // stix-not (vert) four-line equals + 0xE07E: [732,227,685,56,621], // stix-not (vert) less-than slanted equal + 0xE07F: [732,227,685,56,621], // stix-not (vert) greater-than slanted equal + 0xE080: [818,311,685,57,622], // stix-not (vert) less-than or two-line equal + 0xE081: [818,311,685,57,622], // stix-not (vert) greater-than or two-line equal + 0xE082: [730,229,685,56,621], // stix-not (slash) equal (slant) or less-than + 0xE083: [730,229,685,56,621], // stix-not (slash) equal (slant) or greater-than + 0xE084: [709,201,685,56,621], // stix-not (vert) equals (slant) or less-than + 0xE085: [709,201,685,56,621], // stix-not (vert) equals (slant) or greater-than + 0xE086: [818,311,685,56,621], // stix-not (slash) two-line equal or less-than + 0xE087: [818,311,685,55,621], // stix-not (slash) two-line equal or greater-than + 0xE088: [818,311,685,56,621], // stix-not (vert) two-line equals or less-than + 0xE089: [818,311,685,55,620], // stix-not (vert) two-line equals or greater-than + 0xE092: [719,296,685,62,627], // stix-not (vert) equals (contour) or precedes + 0xE093: [719,296,685,61,626], // stix-not (vert) equals (contour) or succeeds + 0xE094: [719,240,685,62,627], // stix-not (slash) equals (contour) or precedes + 0xE095: [719,240,685,61,626], // stix-not (slash) equals (contour) or succeeds + 0xE096: [818,311,685,55,620], // stix-not (vert) subset or two-line equals + 0xE097: [818,311,685,65,630], // stix-not (vert) superset or two-line equals + 0xE098: [690,189,685,23,662], // stix-triple vertical, slash cancellation + 0xE099: [567,183,612,25,587], // stix-narrow sloped nabla + 0xE09A: [719,213,708,18,690], // stix-parentheses around thin space + 0xE09B: [719,213,708,18,690], // stix-center dot in parentheses + 0xE09F: [662,156,902,0,863], // stix-rising diagonal + 0xE0A0: [662,156,902,0,863], // stix-falling diagonal + 0xE0A1: [676,14,734,18,700], // stix-capital C with stroke + 0xE0A2: [460,218,561,24,539], // stix-barred open gee + 0xE0A4: [470,233,378,10,358], // stix-Latin letter small r-fishhook, reversed, with descender stem + 0xE0A5: [669,-426,397,75,338], // stix-hooktop (phonetic symbol) + 0xE0A6: [216,144,444,38,429], // stix-curly tail (phonetic symbol) + 0xE0A7: [702,-506,376,30,346], // stix-modifier letter level-rise contour tone bar + 0xE0A8: [662,156,496,114,371], // stix-modifier letter high-rise tone bar + 0xE0A9: [497,-167,647,49,619], // stix-retracted (in-line diacritic) + 0xE0AA: [702,-506,376,30,346], // stix-modifier letter fall-level contour tone bar + 0xE0AB: [662,156,496,114,371], // stix-modifier letter low-rise tone bar + 0xE0AC: [702,-506,470,30,440], // stix-modifier letter fall-rise-fall contour tone bar + 0xE0AD: [662,156,638,35,513], // stix-modifier letter rise-fall tone bar + 0xE0AE: [662,0,423,55,345], // stix-modifier letter rise tone bar + 0xE0AF: [662,0,423,55,345], // stix-modifier letter fall tone bar + 0xE0B0: [735,-531,0,100,400], // stix-left overangle (combining) + 0xE0B1: [-50,254,0,0,300], // stix-left underangle (combining) + 0xE0B2: [-50,254,0,0,300], // stix-right underangle (combining) + 0xE0B3: [683,218,541,32,457], // stix-small fj ligature + 0xE0B4: [556,-220,313,55,258], // stix-arrow hookleft + 0xE0B5: [556,-220,313,55,258], // stix-arrow hookright + 0xE0B6: [449,-57,0,30,124], // stix-maps-to relation tail + 0xE0B7: [324,-183,281,70,211], // stix-bold center dot (very small filled square) + 0xE0B8: [943,11,1344,67,1302], // stix-square root of 2 + 0xE0B9: [943,11,1344,67,1302], // stix-square root of 3 + 0xE0BB: [622,101,685,48,637], // stix-equal sign above tilde operator, vertical negation + 0xE0BC: [547,41,685,47,635], // stix-times sign with dash through it + 0xE0BD: [662,218,710,15,660], // stix-lowercase italic f with horizontal bar touching its upper edge + 0xE0BE: [757,218,1102,15,1073], // stix-lowercase italic f with horizontal bar touching its upper edge and superscr u/c italic T + 0xE0BF: [836,236,636,50,586], // stix-2 lines falling over 1 line rising + 0xE0C0: [836,236,636,50,586], // stix-1 line falling over 2 lines rising + 0xE0C1: [836,236,636,50,586], // stix-2 lines rising over 1 line falling + 0xE0C2: [836,236,636,50,586], // stix-1 line rising over 2 lines falling + 0xE0C3: [386,-120,750,50,700], // stix-dashed line over line + 0xE0C4: [478,-28,750,50,700], // stix-dashed line over two lines + 0xE0C5: [478,-28,750,50,700], // stix-two lines over dashed line + 0xE0C6: [286,-220,750,50,700], // stix-single line, medium length + 0xE0C7: [402,-120,750,50,700], // stix-dotted (3 dots) line over line + 0xE0C8: [386,-120,1000,50,950], // stix-two long horizontal lines + 0xE0C9: [478,-28,1000,50,950], // stix-three long horizontal lines + 0xE0CA: [544,38,1000,50,950], // stix-four long horizontal lines + 0xE0CB: [386,-120,750,50,700], // stix-two medium horizontal lines + 0xE0CC: [478,-28,750,50,700], // stix-three medium horizontal lines + 0xE0CD: [544,38,750,50,700], // stix-four medium horizontal lines + 0xE0CE: [836,236,636,50,586], // stix-rising line, horizontal line, falling line + 0xE0CF: [836,236,636,50,586], // stix-falling line, horizontal line, rising line + 0xE0D0: [836,236,636,50,586], // stix-rising line, falling line + 0xE0D1: [836,236,636,50,586], // stix-falling line, rising line + 0xE0D2: [692,186,926,83,843], // stix-six carbon ring, corner down, double bonds lower left etc + 0xE0D3: [633,127,926,24,902], // stix-six carbon ring, edge down, double bonds bottom edge etc + 0xE0D4: [633,127,926,24,902], // stix-six carbon ring, edge down, double bonds top edge etc + 0xE0D5: [286,-220,1000,50,950], // stix-single long chemical bond + 0xE0D6: [386,-120,750,50,700], // stix chemical bond, line over dashed line + 0xE0D7: [583,79,762,50,712], // stix-donut + 0xE0D8: [584,0,400,57,343], // stix-arc-degrees (degree with dot below) + 0xE0D9: [665,0,255,56,199], // stix-arc-minutes (prime with dot below) + 0xE0DA: [665,0,388,56,332], // stix-arc-seconds (double prime with dot below) + 0xE0DB: [610,104,1472,86,1402], // stix-boxed communication link + 0xE0DC: [354,-152,1134,65,1069], // stix-communication link + 0xE0DD: [933,0,516,73,445], // stix-days (roman d with dot below) + 0xE0DE: [933,0,500,57,439], // stix-hours (roman h with dot below) + 0xE0DF: [754,0,778,92,699], // stix-minutes (roman m with dot below) + 0xE0E0: [920,0,500,40,444], // stix-period (roman p with dot below) + 0xE0E1: [757,0,389,81,318], // stix-seconds (roman s with dot below) + 0xE0E2: [754,0,500,60,429], // stix-years (roman y with dot below) + 0xE0E3: [638,134,842,35,807], // stix-eclipse + 0xE0E4: [773,80,700,94,606], // stix-Uranus + 0xE0E5: [690,189,523,72,450], // stix-dashed solidus + 0xE0E6: [690,189,523,72,450], // stix-dashed backslash + 0xE0E7: [811,127,772,35,737], // stix-narrow down-triangle + 0xE0E8: [532,26,1077,55,1022], // stix-precedes sign followed by plus sign + 0xE0E9: [547,41,685,48,636], // stix-outline plus sign + 0xE0EA: [661,158,910,45,865], // stix-diamond with lines from corners + 0xE0EB: [567,58,716,45,671], // stix-square with lines from corners + 0xE0EC: [862,-120,685,48,637], // stix-equal with exclamation over + 0xE0ED: [819,312,511,192,319], // stix-five vertical dots + 0xE0EE: [751,156,926,85,841], // stix-I-beam shape with bullet overprinted in middle + 0xE0EF: [547,41,686,49,637], // stix-plus with bullet overprinted in middle + 0xE0F1: [66,0,390,48,342], // stix-short horizontal line + 0xE0F2: [936,157,1059,38,1033], // stix-freaked smiley + 0xE0F3: [662,156,1059,196,862], // stix-neutral smiley + 0xE0F4: [694,168,773,55,718], // stix-light bulb + 0xE0F5: [672,146,926,55,872], // stix-gray-filled circle + 0xE0F6: [747,114,909,23,886], // stix-KernelIcon + 0xE0F7: [727,102,956,22,934], // stix-MathematicaIcon + 0xE0F8: [474,89,500,163,336], // stix-AliasDelimiter + 0xE0F9: [680,0,767,88,679], // stix-ErrorIndicator + 0xE0FA: [474,89,297,62,235], // stix-AliasIndicator + 0xE0FB: [680,0,1750,88,1662], // stix-ControlKey + 0xE0FC: [680,0,1625,88,1537], // stix-ReturnKey + 0xE0FD: [680,0,1625,88,1537], // stix-EscapeKey + 0xE0FE: [680,0,1625,88,1537], // stix-CommandKey + 0xE0FF: [680,0,1625,88,1537], // stix-TabKey + 0xE100: [680,0,2032,88,1944], // stix-SpaceKey + 0xE101: [680,0,1625,88,1537], // stix-DeleteKey + 0xE102: [680,0,1608,88,1520], // stix-AltKey + 0xE103: [680,0,2296,88,2208], // stix-OptionKey + 0xE104: [409,-253,100,-64,164], // stix-KeyBar + 0xE105: [680,0,2032,88,1944], // stix-EnterKey + 0xE106: [680,0,2032,88,1944], // stix-ShiftKey + 0xE107: [680,0,1625,88,1537], // stix-Mod1Key + 0xE108: [680,0,1625,88,1537], // stix-Mod2Key + 0xE109: [781,279,327,10,286], // stix-LeftModified + 0xE10A: [781,279,250,41,178], // stix-RightModified + 0xE10C: [384,-122,400,69,330], // stix-extender for se/nw solid (normal) arrow + 0xE10D: [384,-122,400,69,330], // stix-extender for sw/ne solid (normal) arrow + 0xE10E: [405,-101,652,193,459], // stix-extender for vertical double arrow + 0xE10F: [386,-120,315,0,315], // stix-extender for horizontal double arrow + 0xE110: [432,-28,652,124,528], // stix-extender for se/nw double arrow + 0xE111: [432,-28,652,124,528], // stix-extender for sw/ne double arrow + 0xE112: [662,156,926,55,872], // stix-northeast arrow with dashed stem + 0xE113: [662,156,926,55,872], // stix-southeast arrow with dashed stem + 0xE114: [662,156,926,54,871], // stix-northwest arrow with dashed stem + 0xE115: [662,156,926,54,871], // stix-southwest arrow with dashed stem + 0xE116: [214,-107,511,223,289], // stix-extender for vertical dashed arrow + 0xE117: [286,-220,229,61,168], // stix-extender for horizontal dashed arrow + 0xE118: [271,-134,277,70,207], // stix-extender for se/nw dashed arrow + 0xE119: [271,-134,277,70,207], // stix-extender for sw/ne dashed arrow + 0xE11A: [662,156,511,59,451], // stix-up arrow with dotted stem + 0xE11B: [662,156,511,59,451], // stix-down arrow with dotted stem + 0xE11C: [662,156,926,54,872], // stix-northeast arrow with dotted stem + 0xE11D: [662,156,926,54,872], // stix-southeast arrow with dotted stem + 0xE11E: [662,156,926,54,872], // stix-northwest arrow with dotted stem + 0xE11F: [662,156,926,54,872], // stix-southwest arrow with dotted stem + 0xE120: [411,-94,511,220,293], // stix-extender for vertical dotted arrow + 0xE121: [290,-217,311,-3,314], // stix-extender for horizontal dotted arrow + 0xE122: [382,-123,367,54,313], // stix-extender for se/nw dotted arrow + 0xE123: [383,-124,367,54,313], // stix-extender for sw/ne dotted arrow + 0xE124: [662,156,511,59,451], // stix-up arrow with dot-dash stem + 0xE125: [662,156,511,59,451], // stix-down arrow with dot-dash stem + 0xE126: [449,-57,926,54,872], // stix-left arrow with dot-dash stem + 0xE127: [449,-57,926,54,872], // stix-right arrow with dot-dash stem (E238) + 0xE128: [662,155,926,54,872], // stix-northeast arrow with dot-dash stem + 0xE129: [662,156,926,55,872], // stix-southeast arrow with dot-dash stem + 0xE12A: [662,156,926,54,871], // stix-northwest arrow with dot-dash stem + 0xE12B: [661,156,926,54,872], // stix-southwest arrow with dot-dash stem + 0xE12C: [404,-101,511,220,293], // stix-extender for dot-dash up arrow + 0xE12D: [403,-100,511,220,293], // stix-extender for dot-dash down arrow + 0xE12E: [290,-217,371,14,317], // stix-extender for dot-dash left arrow + 0xE12F: [290,-217,371,54,357], // stix-extender for dot-dash right arrow + 0xE130: [373,-134,379,70,309], // stix-extender for nw dot-dash arrow + 0xE131: [373,-134,379,70,309], // stix-extender for se dot-dash arrow + 0xE132: [373,-134,379,70,309], // stix-extender for ne dot-dash arrow + 0xE133: [373,-134,379,70,309], // stix-extender for sw dot-dash arrow + 0xE134: [486,-20,315,0,315], // stix-extender for triple horizontal arrow + 0xE135: [405,-101,926,230,696], // stix-extender for triple vertical arrow + 0xE136: [541,35,315,0,315], // stix-extender for quadruple horizontal arrow + 0xE137: [405,-101,1033,229,805], // stix-extender for quadruple vertical arrow + 0xE13A: [943,11,735,67,1302], // stix-radical with horizontal (for single character under the radical) + 0xE13F: [-126,261,325,-1,326], // stix-extensible horizontal for curly over and under braces (CMEX10 x3E rotated 90deg) + 0xE142: [955,-342,1820,-25,1830], // stix-left end of extensible overparen (CMEX10 x40 rotated 90deg) + 0xE143: [955,-342,1820,-10,1845], // stix-right end of extensible overparen (CMEX10 x30 rotated 90deg) + 0xE144: [352,261,1820,-25,1830], // stix-left end of extensible underparen (CMEX10 x41 rotated 90deg) + 0xE145: [352,261,1820,-10,1845], // stix-right end of extensible underparen (CMEX10 x31 rotated 90deg) + 0xE146: [955,-554,1820,-25,1830], // stix-left end of extensible over square bracket (CMEX10 x34 rotated 90deg) + 0xE147: [955,-554,1820,-10,1845], // stix-right end of extensible over square bracket (CMEX10 x32 rotated 90deg) + 0xE148: [140,261,1820,-25,1830], // stix-left end of extensible under square bracket (CMEX10 x35 rotated 90deg) + 0xE149: [140,261,1820,-10,1845], // stix-right end of extensible under square bracket (CMEX10 x33 rotated 90deg) + 0xE14C: [660,158,857,48,777], // stix-not left triangle, vertical bar + 0xE14D: [660,158,857,80,809], // stix-not vertical bar, right triangle + 0xE14E: [661,157,685,44,609], // stix-not double less-than sign + 0xE14F: [661,157,685,76,641], // stix-not double greater-than sign + 0xE150: [135,308,735,-25,746], // stix-horizontal brace, down left piece + 0xE151: [135,308,735,-11,760], // stix-horizontal brace, down right piece + 0xE152: [444,0,735,-25,746], // stix-horizontal brace, upper left piece + 0xE153: [444,0,735,-11,760], // stix-horizontal brace, upper right piece + 0xE17C: [683,10,499,28,471], // stix-Mathematical sans-serif partial differential + 0xE17D: [674,0,666,31,635], // stix-Mathematical sans-serif capital alpha + 0xE17E: [662,0,604,74,547], // stix-Mathematical sans-serif capital beta + 0xE17F: [662,0,535,74,523], // stix-Mathematical sans-serif capital gamma + 0xE180: [674,0,666,31,635], // stix-Mathematical sans-serif capital delta + 0xE181: [662,0,583,74,540], // stix-Mathematical sans-serif capital epsilon + 0xE182: [662,0,637,28,603], // stix-Mathematical sans-serif capital zeta + 0xE183: [662,0,658,74,584], // stix-Mathematical sans-serif capital eta + 0xE184: [676,14,714,30,684], // stix-Mathematical sans-serif capital theta + 0xE185: [662,0,401,45,356], // stix-Mathematical sans-serif capital iota + 0xE186: [662,0,634,74,630], // stix-Mathematical sans-serif capital kappa + 0xE187: [674,0,666,31,635], // stix-Mathematical sans-serif capital lambda + 0xE188: [662,0,843,75,768], // stix-Mathematical sans-serif capital mu + 0xE189: [662,14,675,74,601], // stix-Mathematical sans-serif capital nu + 0xE18A: [662,0,643,28,615], // stix-Mathematical sans-serif capital xi + 0xE18B: [676,14,714,30,684], // stix-Mathematical sans-serif capital omicron + 0xE18C: [662,0,658,74,584], // stix-Mathematical sans-serif capital pi + 0xE18D: [662,0,525,74,512], // stix-Mathematical sans-serif capital rho + 0xE18E: [676,14,714,30,684], // stix-Mathematical sans-serif capital THETA symbol + 0xE18F: [662,0,624,26,594], // stix-Mathematical sans-serif capital sigma + 0xE190: [662,0,608,15,593], // stix-Mathematical sans-serif capital tau + 0xE191: [676,0,690,24,666], // stix-Mathematical sans-serif capital upsilon + 0xE192: [662,0,716,23,693], // stix-Mathematical sans-serif capital phi + 0xE193: [662,0,700,31,669], // stix-Mathematical sans-serif capital chi + 0xE194: [681,0,724,12,712], // stix-Mathematical sans-serif capital psi + 0xE195: [676,0,744,29,715], // stix-Mathematical sans-serif capital omega + 0xE196: [463,10,537,28,532], // stix-Mathematical sans-serif small alpha + 0xE197: [683,215,498,41,471], // stix-Mathematical sans-serif small beta + 0xE198: [463,216,474,27,455], // stix-Mathematical sans-serif small gamma + 0xE199: [683,10,499,28,471], // stix-Mathematical sans-serif small delta + 0xE19A: [463,10,438,22,419], // stix-Mathematical sans-serif small epsilon + 0xE19B: [683,213,416,33,408], // stix-Mathematical sans-serif small zeta + 0xE19C: [463,215,494,41,443], // stix-Mathematical sans-serif small eta + 0xE19D: [683,10,446,21,425], // stix-Mathematical sans-serif small theta + 0xE19E: [464,10,270,57,269], // stix-Mathematical sans-serif small iota + 0xE19F: [464,0,472,82,472], // stix-Mathematical sans-serif small kappa + 0xE1A0: [683,11,489,8,478], // stix-Mathematical sans-serif small lambda + 0xE1A1: [453,215,487,44,482], // stix-Mathematical sans-serif small mu + 0xE1A2: [464,14,460,30,427], // stix-Mathematical sans-serif small nu + 0xE1A3: [683,215,418,33,410], // stix-Mathematical sans-serif small xi + 0xE1A4: [463,10,499,28,471], // stix-Mathematical sans-serif small omicron + 0xE1A5: [453,10,507,7,487], // stix-Mathematical sans-serif small pi + 0xE1A6: [462,216,498,48,470], // stix-Mathematical sans-serif small rho + 0xE1A7: [463,212,416,33,414], // stix-Mathematical sans-serif small FINAL sigma + 0xE1A8: [453,10,526,28,542], // stix-Mathematical sans-serif small sigma + 0xE1A9: [453,10,426,2,410], // stix-Mathematical sans-serif small tau + 0xE1AA: [463,10,503,41,463], // stix-Mathematical sans-serif small upsilon + 0xE1AB: [464,216,632,34,600], // stix-Mathematical sans-serif small phi + 0xE1AC: [463,215,399,-20,440], // stix-Mathematical sans-serif small chi + 0xE1AD: [461,216,654,12,642], // stix-Mathematical sans-serif small psi + 0xE1AE: [454,10,624,29,595], // stix-Mathematical sans-serif small omega + 0xE1AF: [463,10,456,23,432], // stix-Mathematical sans-serif epsilon symbol + 0xE1B0: [683,12,489,42,491], // stix-Mathematical sans-serif theta symbol + 0xE1B1: [684,216,622,28,594], // stix-Mathematical sans-serif phi symbol + 0xE1B2: [463,216,491,28,463], // stix-Mathematical sans-serif rho symbol + 0xE1B3: [453,10,762,7,739], // stix-Mathematical sans-serif pi symbol + 0xE28C: [474,-227,0,53,397], // stix-slash for Polish L + 0xE28D: [734,-484,0,94,460], // stix-double circumflex + 0xE28E: [622,101,685,48,637], // stix-equals sign above tilde operator, slash negation + 0xE291: [955,-820,325,-1,326], // stix-short horizontal extender, high + 0xE292: [662,0,1388,38,1350], // stix-two summation signs next to each other + 0xE293: [763,260,1797,58,1739], // stix-two summation signs next to each other + 0xE2FC: [756,218,722,15,707], // stix-capital Alpha, Greek slashed + 0xE2FE: [756,217,667,17,593], // stix-capital Beta, Greek slashed + 0xE300: [756,217,587,11,577], // stix-capital Gamma, Greek slashed + 0xE302: [756,218,722,48,675], // stix-capital Delta, Greek slashed + 0xE304: [756,217,611,12,597], // stix-capital Epsilon, Greek slashed + 0xE306: [756,217,612,10,598], // stix-capital Zeta, Greek slashed + 0xE308: [756,217,722,18,703], // stix-capital Eta, Greek slashed + 0xE30A: [756,218,722,34,688], // stix-capital Theta, Greek slashed + 0xE30C: [756,218,333,-24,438], // stix-capital Iota, Greek slashed + 0xE30E: [756,217,731,33,723], // stix-capital Kappa, Greek slashed + 0xE310: [756,218,702,15,687], // stix-capital Lambda, Greek slashed + 0xE312: [756,217,889,12,864], // stix-capital Mu, Greek slashed + 0xE314: [756,218,722,12,707], // stix-capital Nu, Greek slashed + 0xE316: [756,217,643,29,614], // stix-capital Xi, Greek slashed + 0xE318: [756,218,722,34,688], // stix-capital Omicron, Greek slashed + 0xE31A: [756,217,722,18,703], // stix-capital Pi, Greek slashed + 0xE31C: [756,218,557,16,565], // stix-capital Rho, Greek slashed + 0xE31E: [756,217,624,30,600], // stix-capital Sigma, Greek slashed + 0xE320: [756,218,611,17,593], // stix-capital Tau, Greek slashed + 0xE322: [756,218,722,29,703], // stix-capital Upsilon, Greek slashed + 0xE324: [756,217,763,35,728], // stix-capital Phi, Greek slashed + 0xE326: [756,217,722,10,704], // stix-capital Chi, Greek slashed + 0xE328: [756,217,743,22,724], // stix-capital Psi, Greek slashed + 0xE32A: [756,217,744,29,715], // stix-capital Omega, Greek slashed + 0xE364: [756,240,673,55,665], // stix-capital stigma, Greek slashed + 0xE368: [756,218,557,8,645], // stix-capital digamma, Greek slashed + 0xE36C: [773,218,645,-72,675], // stix-capital koppa, Greek slashed + 0xE370: [756,218,708,7,668], // stix-capital sampi, Greek slashed + 0xE3C2: [662,156,685,48,637], // ?? + 0xE3C3: [627,135,685,48,637], // stix-not (vert) almost equal or equal to + 0xE3C4: [627,135,685,48,637], // stix-not almost equal or equal to + 0xE3C7: [662,156,902,0,863], // ?? + 0xE3C8: [662,156,902,0,863] // ?? + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax["HTML-CSS"].fontDir + "/NonUnicode/Regular/PrivateUse.js"); diff --git a/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/SizeFiveSym/Regular/All.js b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/SizeFiveSym/Regular/All.js new file mode 100644 index 0000000..2444616 --- /dev/null +++ b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/SizeFiveSym/Regular/All.js @@ -0,0 +1,51 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/fonts/STIX/SizeFiveSym/Regular/All.js + * + * Copyright (c) 2009-2010 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax['HTML-CSS'].FONTDATA.FONTS['STIXSizeFiveSym'], + { + 0x2C6: [816,-572,2328,0,2328], // MODIFIER LETTER CIRCUMFLEX ACCENT + 0x2C7: [816,-572,2328,0,2328], // CARON + 0x2DC: [780,-617,2328,0,2328], // SMALL TILDE + 0x2F7: [-117,280,2328,0,2328], // ?? + 0x305: [820,-770,0,-3000,0], // COMBINING OVERLINE + 0x30C: [816,-572,0,-2485,-157], // COMBINING CARON + 0x330: [-117,280,0,-2485,-157], // COMBINING TILDE BELOW + 0x332: [-127,177,0,-3000,0], // COMBINING LOW LINE + 0x338: [960,454,0,-561,-123], // COMBINING LONG SOLIDUS OVERLAY + 0x203E: [820,-770,3000,0,3000], // OVERLINE + 0x20D0: [749,-584,0,-3000,0], // COMBINING LEFT HARPOON ABOVE + 0x20D1: [749,-584,0,-3000,0], // COMBINING RIGHT HARPOON ABOVE + 0x20D6: [735,-482,0,-3000,0], // COMBINING LEFT ARROW ABOVE + 0x20D7: [735,-482,0,-3000,0], // COMBINING RIGHT ARROW ABOVE + 0x20EC: [-123,288,0,-3000,0], // COMBINING RIGHTWARDS HARPOON WITH BARB DOWNWARDS + 0x20ED: [-123,288,0,-3000,0], // COMBINING LEFTWARDS HARPOON WITH BARB DOWNWARDS + 0x20EE: [-26,279,0,-3000,0], // COMBINING LEFT ARROW BELOW + 0x20EF: [-26,279,0,-3000,0], // COMBINING RIGHT ARROW BELOW + 0x23B4: [766,-544,3237,90,3147], // TOP SQUARE BRACKET + 0x23B5: [139,83,3237,90,3147], // BOTTOM SQUARE BRACKET + 0x23DC: [80,189,3237,0,3237], // TOP PARENTHESIS (mathematical use) + 0x23DD: [842,-573,3237,0,3237], // BOTTOM PARENTHESIS (mathematical use) + 0x23E0: [66,212,3164,0,3164], // TOP TORTOISE SHELL BRACKET (mathematical use) + 0x23E1: [842,-564,3164,0,3164] // BOTTOM TORTOISE SHELL BRACKET (mathematical use) + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax["HTML-CSS"].fontDir + "/SizeFiveSym/Regular/All.js"); diff --git a/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/SizeFiveSym/Regular/Main.js b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/SizeFiveSym/Regular/Main.js new file mode 100644 index 0000000..4dbbf59 --- /dev/null +++ b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/SizeFiveSym/Regular/Main.js @@ -0,0 +1,43 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/fonts/STIX/SizeFiveSym/Regular/Main.js + * + * Copyright (c) 2009-2010 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +MathJax.OutputJax['HTML-CSS'].FONTDATA.FONTS['STIXSizeFiveSym'] = { + directory: 'SizeFiveSym/Regular', + family: 'STIXSizeFiveSym', + Ranges: [ + [0x2B0,0x2FF,"All"], + [0x300,0x338,"All"], + [0x203E,0x203E,"All"], + [0x20D0,0x20EF,"All"], + [0x239B,0x23B9,"All"], + [0x23DC,0x23E1,"All"] + ], + 0x20: [0,0,250,0,0], // SPACE + 0x5F: [-127,177,3000,0,3000], // LOW LINE + 0xA0: [0,0,250,0,0], // NO-BREAK SPACE + 0x302: [816,-572,0,-2485,-157], // COMBINING CIRCUMFLEX ACCENT + 0x303: [780,-617,0,-2485,-157], // COMBINING TILDE + 0x23DE: [181,90,3238,0,3238], // TOP CURLY BRACKET (mathematical use) + 0x23DF: [844,-573,3238,0,3238] // BOTTOM CURLY BRACKET (mathematical use) +}; + +MathJax.OutputJax["HTML-CSS"].initFont("STIXSizeFiveSym"); + +MathJax.Ajax.loadComplete(MathJax.OutputJax["HTML-CSS"].fontDir + "/SizeFiveSym/Regular/Main.js"); diff --git a/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/SizeFourSym/Bold/Main.js b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/SizeFourSym/Bold/Main.js new file mode 100644 index 0000000..a2f7a99 --- /dev/null +++ b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/SizeFourSym/Bold/Main.js @@ -0,0 +1,46 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/fonts/STIX/SizeFourSym/Bold/Main.js + * + * Copyright (c) 2009-2010 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +MathJax.OutputJax['HTML-CSS'].FONTDATA.FONTS['STIXSizeFourSym-bold'] = { + directory: 'SizeFourSym/Bold', + family: 'STIXSizeFourSym', + weight: 'bold', + 0x20: [0,0,250,0,0], // SPACE + 0x28: [2604,471,818,115,761], // LEFT PARENTHESIS + 0x29: [2604,471,818,57,703], // RIGHT PARENTHESIS + 0x2F: [2604,471,1321,3,1318], // SOLIDUS + 0x5B: [2604,471,699,314,691], // LEFT SQUARE BRACKET + 0x5C: [2604,471,1321,3,1318], // REVERSE SOLIDUS + 0x5D: [2604,471,699,8,385], // RIGHT SQUARE BRACKET + 0x7B: [2604,471,1119,197,944], // LEFT CURLY BRACKET + 0x7D: [2604,471,1119,175,922], // RIGHT CURLY BRACKET + 0xA0: [0,0,250,0,0], // NO-BREAK SPACE + 0x221A: [1510,345,1184,101,915], // SQUARE ROOT + 0x2308: [2604,471,720,314,712], // LEFT CEILING + 0x2309: [2604,471,720,8,406], // RIGHT CEILING + 0x230A: [2604,471,720,314,712], // LEFT FLOOR + 0x230B: [2604,471,720,8,406], // RIGHT FLOOR + 0x27E8: [2604,471,908,120,841], // MATHEMATICAL LEFT ANGLE BRACKET + 0x27E9: [2604,471,908,67,788] // MATHEMATICAL RIGHT ANGLE BRACKET +}; + +MathJax.OutputJax["HTML-CSS"].initFont("STIXSizeFourSym-bold"); + +MathJax.Ajax.loadComplete(MathJax.OutputJax["HTML-CSS"].fontDir + "/SizeFourSym/Bold/Main.js"); diff --git a/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/SizeFourSym/Regular/All.js b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/SizeFourSym/Regular/All.js new file mode 100644 index 0000000..38cb289 --- /dev/null +++ b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/SizeFourSym/Regular/All.js @@ -0,0 +1,63 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/fonts/STIX/SizeFourSym/Regular/All.js + * + * Copyright (c) 2009-2010 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax['HTML-CSS'].FONTDATA.FONTS['STIXSizeFourSym'], + { + 0x2C6: [796,-573,1886,0,1886], // MODIFIER LETTER CIRCUMFLEX ACCENT + 0x2C7: [796,-573,1886,0,1886], // CARON + 0x2DC: [771,-608,1886,0,1886], // SMALL TILDE + 0x2F7: [-117,280,1886,0,1886], // ?? + 0x305: [820,-770,0,-2500,0], // COMBINING OVERLINE + 0x30C: [796,-573,0,-2040,-154], // COMBINING CARON + 0x330: [-117,280,0,-2040,-154], // COMBINING TILDE BELOW + 0x332: [-127,177,0,-2500,0], // COMBINING LOW LINE + 0x338: [731,228,0,-490,-169], // COMBINING LONG SOLIDUS OVERLAY + 0x203E: [820,-770,2500,0,2500], // OVERLINE + 0x20D0: [749,-584,0,-2193,-13], // COMBINING LEFT HARPOON ABOVE + 0x20D1: [749,-584,0,-2193,-13], // COMBINING RIGHT HARPOON ABOVE + 0x20D6: [735,-482,0,-2193,-13], // COMBINING LEFT ARROW ABOVE + 0x20D7: [735,-482,0,-2193,-13], // COMBINING RIGHT ARROW ABOVE + 0x20EC: [-123,288,0,-2193,-13], // COMBINING RIGHTWARDS HARPOON WITH BARB DOWNWARDS + 0x20ED: [-123,288,0,-2193,-13], // COMBINING LEFTWARDS HARPOON WITH BARB DOWNWARDS + 0x20EE: [-26,279,0,-2193,-13], // COMBINING LEFT ARROW BELOW + 0x20EF: [-26,279,0,-2193,-13], // COMBINING RIGHT ARROW BELOW + 0x221B: [1795,345,1184,112,895], // CUBE ROOT + 0x221C: [1790,345,1184,112,895], // FOURTH ROOT + 0x23B4: [766,-544,2692,84,2608], // TOP SQUARE BRACKET + 0x23B5: [139,83,2692,84,2608], // BOTTOM SQUARE BRACKET + 0x23DC: [76,168,2328,0,2328], // TOP PARENTHESIS (mathematical use) + 0x23DD: [817,-573,2328,0,2328], // BOTTOM PARENTHESIS (mathematical use) + 0x23E0: [66,212,2738,0,2738], // TOP TORTOISE SHELL BRACKET (mathematical use) + 0x23E1: [842,-564,2738,0,2738], // BOTTOM TORTOISE SHELL BRACKET (mathematical use) + 0x2772: [2566,509,1031,320,959], // LIGHT LEFT TORTOISE SHELL BRACKET ORNAMENT + 0x2773: [2566,509,1031,72,711], // LIGHT RIGHT TORTOISE SHELL BRACKET ORNAMENT + 0x27E6: [2566,509,778,295,708], // MATHEMATICAL LEFT WHITE SQUARE BRACKET + 0x27E7: [2566,509,778,70,483], // MATHEMATICAL RIGHT WHITE SQUARE BRACKET + 0x27EA: [2566,509,1273,126,1133], // MATHEMATICAL LEFT DOUBLE ANGLE BRACKET + 0x27EB: [2566,509,1273,140,1147], // MATHEMATICAL RIGHT DOUBLE ANGLE BRACKET + 0x2983: [2566,509,1225,182,1052], // LEFT WHITE CURLY BRACKET + 0x2984: [2566,509,1225,173,1043], // RIGHT WHITE CURLY BRACKET + 0x2985: [2566,509,1175,195,1050], // LEFT WHITE PARENTHESIS + 0x2986: [2566,509,1175,194,1049] // RIGHT WHITE PARENTHESIS + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax["HTML-CSS"].fontDir + "/SizeFourSym/Regular/All.js"); diff --git a/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/SizeFourSym/Regular/Main.js b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/SizeFourSym/Regular/Main.js new file mode 100644 index 0000000..f59157c --- /dev/null +++ b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/SizeFourSym/Regular/Main.js @@ -0,0 +1,62 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/fonts/STIX/SizeFourSym/Regular/Main.js + * + * Copyright (c) 2009-2010 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +MathJax.OutputJax['HTML-CSS'].FONTDATA.FONTS['STIXSizeFourSym'] = { + directory: 'SizeFourSym/Regular', + family: 'STIXSizeFourSym', + Ranges: [ + [0x2B0,0x2FF,"All"], + [0x300,0x338,"All"], + [0x203E,0x203E,"All"], + [0x20D0,0x20EF,"All"], + [0x221A,0x221C,"All"], + [0x239B,0x23B9,"All"], + [0x23DC,0x23E1,"All"], + [0x2772,0x2773,"All"], + [0x27E6,0x27EB,"All"], + [0x2983,0x2986,"All"] + ], + 0x20: [0,0,250,0,0], // SPACE + 0x28: [2566,509,808,124,732], // LEFT PARENTHESIS + 0x29: [2566,509,808,76,684], // RIGHT PARENTHESIS + 0x2F: [2566,509,1309,16,1293], // SOLIDUS + 0x5B: [2566,509,661,295,634], // LEFT SQUARE BRACKET + 0x5C: [2566,509,1309,16,1293], // REVERSE SOLIDUS + 0x5D: [2566,509,661,27,366], // RIGHT SQUARE BRACKET + 0x5F: [-127,177,2500,0,2500], // LOW LINE + 0x7B: [2566,509,1076,173,882], // LEFT CURLY BRACKET + 0x7D: [2566,509,1076,194,903], // RIGHT CURLY BRACKET + 0xA0: [0,0,250,0,0], // NO-BREAK SPACE + 0x302: [796,-573,0,-2040,-154], // COMBINING CIRCUMFLEX ACCENT + 0x303: [771,-608,0,-2040,-154], // COMBINING TILDE + 0x221A: [1510,345,1184,112,895], // SQUARE ROOT + 0x2308: [2566,509,682,295,655], // LEFT CEILING + 0x2309: [2566,509,682,27,387], // RIGHT CEILING + 0x230A: [2566,509,682,295,655], // LEFT FLOOR + 0x230B: [2566,509,682,27,387], // RIGHT FLOOR + 0x23DE: [175,90,2328,0,2328], // TOP CURLY BRACKET (mathematical use) + 0x23DF: [837,-572,2328,0,2328], // BOTTOM CURLY BRACKET (mathematical use) + 0x27E8: [2566,509,908,113,796], // MATHEMATICAL LEFT ANGLE BRACKET + 0x27E9: [2566,509,908,112,795] // MATHEMATICAL RIGHT ANGLE BRACKET +}; + +MathJax.OutputJax["HTML-CSS"].initFont("STIXSizeFourSym"); + +MathJax.Ajax.loadComplete(MathJax.OutputJax["HTML-CSS"].fontDir + "/SizeFourSym/Regular/Main.js"); diff --git a/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/SizeOneSym/Bold/All.js b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/SizeOneSym/Bold/All.js new file mode 100644 index 0000000..81f0147 --- /dev/null +++ b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/SizeOneSym/Bold/All.js @@ -0,0 +1,28 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/fonts/STIX/SizeOneSym/Bold/All.js + * + * Copyright (c) 2009-2010 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax['HTML-CSS'].FONTDATA.FONTS['STIXSizeOneSym-bold'], + { + 0x2140: [1500,-22,1341,60,1281] // DOUBLE-STRUCK N-ARY SUMMATION + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax["HTML-CSS"].fontDir + "/SizeOneSym/Bold/All.js"); diff --git a/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/SizeOneSym/Bold/Main.js b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/SizeOneSym/Bold/Main.js new file mode 100644 index 0000000..44fd453 --- /dev/null +++ b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/SizeOneSym/Bold/Main.js @@ -0,0 +1,52 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/fonts/STIX/SizeOneSym/Bold/Main.js + * + * Copyright (c) 2009-2010 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +MathJax.OutputJax['HTML-CSS'].FONTDATA.FONTS['STIXSizeOneSym-bold'] = { + directory: 'SizeOneSym/Bold', + family: 'STIXSizeOneSym', + weight: 'bold', + Ranges: [ + [0x2140,0x2140,"All"] + ], + 0x20: [0,0,250,0,0], // SPACE + 0x28: [1104,126,468,158,439], // LEFT PARENTHESIS + 0x29: [1104,126,468,29,310], // RIGHT PARENTHESIS + 0x2F: [1104,126,579,14,564], // SOLIDUS + 0x5B: [1104,126,408,186,407], // LEFT SQUARE BRACKET + 0x5C: [1104,126,579,14,564], // REVERSE SOLIDUS + 0x5D: [1104,126,408,1,222], // RIGHT SQUARE BRACKET + 0x7B: [1104,126,595,115,503], // LEFT CURLY BRACKET + 0x7D: [1104,126,595,92,480], // RIGHT CURLY BRACKET + 0xA0: [0,0,250,0,0], // NO-BREAK SPACE + 0x220F: [1500,-49,1355,35,1321], // N-ARY PRODUCT + 0x2210: [1500,-49,1355,34,1320], // N-ARY COPRODUCT + 0x2211: [1500,-49,1292,60,1215], // N-ARY SUMMATION + 0x221A: [1588,241,1061,109,1119], // SQUARE ROOT + 0x2308: [1104,126,476,186,470], // LEFT CEILING + 0x2309: [1104,126,476,6,292], // RIGHT CEILING + 0x230A: [1104,126,476,184,470], // LEFT FLOOR + 0x230B: [1104,126,476,6,290], // RIGHT FLOOR + 0x27E8: [1104,126,579,99,481], // MATHEMATICAL LEFT ANGLE BRACKET + 0x27E9: [1104,126,579,98,480] // MATHEMATICAL RIGHT ANGLE BRACKET +}; + +MathJax.OutputJax["HTML-CSS"].initFont("STIXSizeOneSym-bold"); + +MathJax.Ajax.loadComplete(MathJax.OutputJax["HTML-CSS"].fontDir + "/SizeOneSym/Bold/Main.js"); diff --git a/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/SizeOneSym/Regular/All.js b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/SizeOneSym/Regular/All.js new file mode 100644 index 0000000..a79a969 --- /dev/null +++ b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/SizeOneSym/Regular/All.js @@ -0,0 +1,77 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/fonts/STIX/SizeOneSym/Regular/All.js + * + * Copyright (c) 2009-2010 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax['HTML-CSS'].FONTDATA.FONTS['STIXSizeOneSym'], + { + 0x2C6: [767,-554,560,0,560], // MODIFIER LETTER CIRCUMFLEX ACCENT + 0x2C7: [767,-554,560,0,560], // CARON + 0x2DC: [750,-598,558,-2,558], // SMALL TILDE + 0x2F7: [-117,269,558,-2,558], // ?? + 0x305: [820,-770,0,-1000,0], // COMBINING OVERLINE + 0x30C: [767,-554,0,-720,-160], // COMBINING CARON + 0x330: [-117,269,0,-722,-162], // COMBINING TILDE BELOW + 0x332: [-127,177,0,-1000,0], // COMBINING LOW LINE + 0x338: [532,21,0,-720,-157], // COMBINING LONG SOLIDUS OVERLAY + 0x203E: [820,-770,1000,0,1000], // OVERLINE + 0x20D0: [749,-584,0,-892,-21], // COMBINING LEFT HARPOON ABOVE + 0x20D1: [749,-584,0,-893,-22], // COMBINING RIGHT HARPOON ABOVE + 0x20D6: [735,-482,0,-893,-21], // COMBINING LEFT ARROW ABOVE + 0x20D7: [736,-482,0,-893,-21], // COMBINING RIGHT ARROW ABOVE + 0x20EC: [-123,288,0,-893,-22], // COMBINING RIGHTWARDS HARPOON WITH BARB DOWNWARDS + 0x20ED: [-123,288,0,-892,-21], // COMBINING LEFTWARDS HARPOON WITH BARB DOWNWARDS + 0x20EE: [-26,279,0,-893,-21], // COMBINING LEFT ARROW BELOW + 0x20EF: [-25,279,0,-893,-21], // COMBINING RIGHT ARROW BELOW + 0x2140: [1500,-50,1259,55,1204], // DOUBLE-STRUCK N-ARY SUMMATION + 0x221B: [1552,295,1057,112,1089], // CUBE ROOT + 0x221C: [1552,295,1057,112,1089], // FOURTH ROOT + 0x2320: [1066,79,688,294,574], // TOP HALF INTEGRAL + 0x2321: [1086,59,688,115,394], // BOTTOM HALF INTEGRAL + 0x23B2: [1500,5,1482,92,1292], // SUMMATION TOP + 0x23B3: [1500,5,1482,92,1366], // SUMMATION BOTTOM + 0x23B4: [766,-544,1063,69,994], // TOP SQUARE BRACKET + 0x23B5: [139,83,1063,68,993], // BOTTOM SQUARE BRACKET + 0x23DC: [60,153,926,0,926], // TOP PARENTHESIS (mathematical use) + 0x23DD: [777,-564,926,0,926], // BOTTOM PARENTHESIS (mathematical use) + 0x23E0: [66,212,1460,0,1460], // TOP TORTOISE SHELL BRACKET (mathematical use) + 0x23E1: [842,-564,1460,0,1460], // BOTTOM TORTOISE SHELL BRACKET (mathematical use) + 0x2772: [1066,164,566,205,539], // LIGHT LEFT TORTOISE SHELL BRACKET ORNAMENT + 0x2773: [1066,164,566,27,361], // LIGHT RIGHT TORTOISE SHELL BRACKET ORNAMENT + 0x27E6: [1066,164,515,180,486], // MATHEMATICAL LEFT WHITE SQUARE BRACKET + 0x27E7: [1066,164,515,29,335], // MATHEMATICAL RIGHT WHITE SQUARE BRACKET + 0x27EA: [1066,164,798,116,670], // MATHEMATICAL LEFT DOUBLE ANGLE BRACKET + 0x27EB: [1066,164,798,128,682], // MATHEMATICAL RIGHT DOUBLE ANGLE BRACKET + 0x2983: [1066,164,712,114,587], // LEFT WHITE CURLY BRACKET + 0x2984: [1066,164,712,114,587], // RIGHT WHITE CURLY BRACKET + 0x2985: [1066,164,632,135,546], // LEFT WHITE PARENTHESIS + 0x2986: [1066,164,632,86,497], // RIGHT WHITE PARENTHESIS + 0x29F8: [1566,279,806,25,781], // BIG SOLIDUS + 0x29F9: [1566,279,806,25,781], // BIG REVERSE SOLIDUS + 0x2A03: [1500,-39,1265,118,1147], // N-ARY UNION OPERATOR WITH DOT + 0x2A07: [1500,-49,1530,60,1470], // TWO LOGICAL AND OPERATOR + 0x2A08: [1500,-49,1530,60,1470], // TWO LOGICAL OR OPERATOR + 0x2A09: [1500,-49,1482,60,1422], // N-ARY TIMES OPERATOR + 0x2A0A: [1500,-50,1292,90,1202], // MODULO TWO SUM + 0x2AFC: [867,363,690,133,557], // LARGE TRIPLE VERTICAL BAR OPERATOR + 0x2AFF: [867,363,410,100,310] // N-ARY WHITE VERTICAL BAR + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax["HTML-CSS"].fontDir + "/SizeOneSym/Regular/All.js"); diff --git a/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/SizeOneSym/Regular/Main.js b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/SizeOneSym/Regular/Main.js new file mode 100644 index 0000000..a60b67f --- /dev/null +++ b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/SizeOneSym/Regular/Main.js @@ -0,0 +1,105 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/fonts/STIX/SizeOneSym/Regular/Main.js + * + * Copyright (c) 2009-2010 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +MathJax.OutputJax['HTML-CSS'].FONTDATA.FONTS['STIXSizeOneSym'] = { + directory: 'SizeOneSym/Regular', + family: 'STIXSizeOneSym', + Ranges: [ + [0x2B0,0x2FF,"All"], + [0x300,0x338,"All"], + [0x203E,0x203E,"All"], + [0x20D0,0x20EF,"All"], + [0x2140,0x2140,"All"], + [0x221A,0x221C,"All"], + [0x2320,0x2321,"All"], + [0x239B,0x23B9,"All"], + [0x23DC,0x23E1,"All"], + [0x2772,0x2773,"All"], + [0x27E6,0x27EB,"All"], + [0x2983,0x2986,"All"], + [0x29F8,0x29F9,"All"], + [0x2A00,0x2A0A,"All"], + [0x2AFC,0x2AFF,"All"] + ], + 0x20: [0,0,250,0,0], // SPACE + 0x28: [1066,164,468,139,382], // LEFT PARENTHESIS + 0x29: [1066,164,468,86,329], // RIGHT PARENTHESIS + 0x2F: [1066,164,579,25,552], // SOLIDUS + 0x5B: [1066,164,383,180,363], // LEFT SQUARE BRACKET + 0x5C: [1066,164,579,27,552], // REVERSE SOLIDUS + 0x5D: [1066,164,383,20,203], // RIGHT SQUARE BRACKET + 0x5F: [-127,177,1000,0,1000], // LOW LINE + 0x7B: [1066,164,575,114,466], // LEFT CURLY BRACKET + 0x7D: [1066,164,575,109,461], // RIGHT CURLY BRACKET + 0xA0: [0,0,250,0,0], // NO-BREAK SPACE + 0x302: [767,-554,0,-720,-160], // COMBINING CIRCUMFLEX ACCENT + 0x303: [750,-598,0,-722,-162], // COMBINING TILDE + 0x220F: [1500,-49,1355,50,1305], // N-ARY PRODUCT + 0x2210: [1500,-49,1355,50,1305], // N-ARY COPRODUCT + 0x2211: [1499,-49,1292,90,1202], // N-ARY SUMMATION + 0x221A: [1552,295,1057,112,1089], // SQUARE ROOT + 0x22C0: [1500,-49,1265,60,1205], // N-ARY LOGICAL AND + 0x22C1: [1500,-49,1265,60,1205], // N-ARY LOGICAL OR + 0x22C2: [1510,-49,1265,118,1147], // N-ARY INTERSECTION + 0x22C3: [1500,-39,1265,118,1147], // N-ARY UNION + 0x2308: [1066,164,453,180,426], // LEFT CEILING + 0x2309: [1066,164,453,25,273], // RIGHT CEILING + 0x230A: [1066,164,453,180,428], // LEFT FLOOR + 0x230B: [1066,164,453,27,273], // RIGHT FLOOR + 0x239B: [700,305,450,50,400], // LEFT PARENTHESIS UPPER HOOK + 0x239C: [705,305,450,50,174], // LEFT PARENTHESIS EXTENSION + 0x239D: [705,300,450,50,400], // LEFT PARENTHESIS LOWER HOOK + 0x239E: [700,305,450,50,400], // RIGHT PARENTHESIS UPPER HOOK + 0x239F: [705,305,450,276,400], // RIGHT PARENTHESIS EXTENSION + 0x23A0: [705,300,450,50,400], // RIGHT PARENTHESIS LOWER HOOK + 0x23A1: [682,323,450,50,415], // LEFT SQUARE BRACKET UPPER CORNER + 0x23A2: [687,323,450,50,150], // LEFT SQUARE BRACKET EXTENSION + 0x23A3: [687,318,450,50,415], // LEFT SQUARE BRACKET LOWER CORNER + 0x23A4: [682,323,450,35,400], // RIGHT SQUARE BRACKET UPPER CORNER + 0x23A5: [687,323,450,300,400], // RIGHT SQUARE BRACKET EXTENSION + 0x23A6: [687,318,450,35,400], // RIGHT SQUARE BRACKET LOWER CORNER + 0x23A7: [700,305,640,260,600], // LEFT CURLY BRACKET UPPER HOOK + 0x23A8: [705,305,640,40,380], // LEFT CURLY BRACKET MIDDLE PIECE + 0x23A9: [705,300,640,260,600], // LEFT CURLY BRACKET LOWER HOOK + 0x23AA: [705,305,640,260,380], // CURLY BRACKET EXTENSION + 0x23AB: [700,305,640,40,380], // RIGHT CURLY BRACKET UPPER HOOK + 0x23AC: [705,305,640,260,600], // RIGHT CURLY BRACKET MIDDLE PIECE + 0x23AD: [705,300,640,40,380], // RIGHT CURLY BRACKET LOWER HOOK + 0x23AE: [610,25,688,294,394], // INTEGRAL EXTENSION + 0x23B0: [700,301,600,35,566], // UPPER LEFT OR LOWER RIGHT CURLY BRACKET SECTION + 0x23B1: [700,301,600,35,566], // UPPER RIGHT OR LOWER LEFT CURLY BRACKET SECTION + 0x23B7: [1510,345,1184,112,895], // RADICAL SYMBOL BOTTOM + 0x23B8: [1566,289,721,0,66], // LEFT VERTICAL BOX LINE + 0x23B9: [1566,289,721,655,721], // RIGHT VERTICAL BOX LINE + 0x23DE: [136,89,926,0,925], // TOP CURLY BRACKET (mathematical use) + 0x23DF: [789,-564,926,0,925], // BOTTOM CURLY BRACKET (mathematical use) + 0x27E8: [1066,164,578,116,462], // MATHEMATICAL LEFT ANGLE BRACKET + 0x27E9: [1066,164,578,116,462], // MATHEMATICAL RIGHT ANGLE BRACKET + 0x2A00: [1500,-49,1555,52,1503], // N-ARY CIRCLED DOT OPERATOR + 0x2A01: [1500,-49,1555,52,1503], // N-ARY CIRCLED PLUS OPERATOR + 0x2A02: [1500,-49,1555,52,1503], // N-ARY CIRCLED TIMES OPERATOR + 0x2A04: [1500,-39,1265,118,1147], // N-ARY UNION OPERATOR WITH PLUS + 0x2A05: [1500,-49,1153,82,1071], // N-ARY SQUARE INTERSECTION OPERATOR + 0x2A06: [1500,-49,1153,82,1071] // N-ARY SQUARE UNION OPERATOR +}; + +MathJax.OutputJax["HTML-CSS"].initFont("STIXSizeOneSym"); + +MathJax.Ajax.loadComplete(MathJax.OutputJax["HTML-CSS"].fontDir + "/SizeOneSym/Regular/Main.js"); diff --git a/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/SizeThreeSym/Bold/Main.js b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/SizeThreeSym/Bold/Main.js new file mode 100644 index 0000000..e4fc058 --- /dev/null +++ b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/SizeThreeSym/Bold/Main.js @@ -0,0 +1,46 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/fonts/STIX/SizeThreeSym/Bold/Main.js + * + * Copyright (c) 2009-2010 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +MathJax.OutputJax['HTML-CSS'].FONTDATA.FONTS['STIXSizeThreeSym-bold'] = { + directory: 'SizeThreeSym/Bold', + family: 'STIXSizeThreeSym', + weight: 'bold', + 0x20: [0,0,250,0,0], // SPACE + 0x28: [2104,355,750,163,686], // LEFT PARENTHESIS + 0x29: [2104,355,750,64,587], // RIGHT PARENTHESIS + 0x2F: [2104,355,1102,11,1091], // SOLIDUS + 0x5B: [2104,355,538,236,540], // LEFT SQUARE BRACKET + 0x5C: [2104,355,1102,11,1091], // REVERSE SOLIDUS + 0x5D: [2104,355,538,-2,302], // RIGHT SQUARE BRACKET + 0x7B: [2104,355,906,124,736], // LEFT CURLY BRACKET + 0x7D: [2104,355,906,170,782], // RIGHT CURLY BRACKET + 0xA0: [0,0,250,0,0], // NO-BREAK SPACE + 0x221A: [2604,471,1076,104,1139], // SQUARE ROOT + 0x2308: [2104,355,595,236,599], // LEFT CEILING + 0x2309: [2104,355,595,-4,359], // RIGHT CEILING + 0x230A: [2104,355,595,236,599], // LEFT FLOOR + 0x230B: [2104,355,595,-4,359], // RIGHT FLOOR + 0x27E8: [2104,355,765,108,720], // MATHEMATICAL LEFT ANGLE BRACKET + 0x27E9: [2104,355,765,45,657] // MATHEMATICAL RIGHT ANGLE BRACKET +}; + +MathJax.OutputJax["HTML-CSS"].initFont("STIXSizeThreeSym-bold"); + +MathJax.Ajax.loadComplete(MathJax.OutputJax["HTML-CSS"].fontDir + "/SizeThreeSym/Bold/Main.js"); diff --git a/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/SizeThreeSym/Regular/All.js b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/SizeThreeSym/Regular/All.js new file mode 100644 index 0000000..c5235c2 --- /dev/null +++ b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/SizeThreeSym/Regular/All.js @@ -0,0 +1,63 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/fonts/STIX/SizeThreeSym/Regular/All.js + * + * Copyright (c) 2009-2010 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax['HTML-CSS'].FONTDATA.FONTS['STIXSizeThreeSym'], + { + 0x2C6: [777,-564,1460,0,1460], // MODIFIER LETTER CIRCUMFLEX ACCENT + 0x2C7: [777,-564,1460,0,1460], // CARON + 0x2DC: [774,-608,1458,-2,1458], // SMALL TILDE + 0x2F7: [-117,283,1458,-2,1458], // ?? + 0x305: [820,-770,0,-2000,0], // COMBINING OVERLINE + 0x30C: [777,-564,0,-1610,-150], // COMBINING CARON + 0x330: [-117,283,0,-1612,-152], // COMBINING TILDE BELOW + 0x332: [-127,177,0,-2000,0], // COMBINING LOW LINE + 0x338: [662,156,0,-543,-132], // COMBINING LONG SOLIDUS OVERLAY + 0x203E: [820,-770,2000,0,2000], // OVERLINE + 0x20D0: [749,-584,0,-1773,-29], // COMBINING LEFT HARPOON ABOVE + 0x20D1: [749,-584,0,-1773,-29], // COMBINING RIGHT HARPOON ABOVE + 0x20D6: [735,-482,0,-1773,-29], // COMBINING LEFT ARROW ABOVE + 0x20D7: [735,-482,0,-1773,-29], // COMBINING RIGHT ARROW ABOVE + 0x20EC: [-123,288,0,-1773,-29], // COMBINING RIGHTWARDS HARPOON WITH BARB DOWNWARDS + 0x20ED: [-123,288,0,-1773,-29], // COMBINING LEFTWARDS HARPOON WITH BARB DOWNWARDS + 0x20EE: [-26,279,0,-1773,-29], // COMBINING LEFT ARROW BELOW + 0x20EF: [-26,279,0,-1773,-29], // COMBINING RIGHT ARROW BELOW + 0x221B: [2565,510,1076,112,1110], // CUBE ROOT + 0x221C: [2565,510,1076,112,1110], // FOURTH ROOT + 0x23B4: [766,-544,2147,78,2069], // TOP SQUARE BRACKET + 0x23B5: [139,83,2147,78,2069], // BOTTOM SQUARE BRACKET + 0x23DC: [70,161,1886,0,1886], // TOP PARENTHESIS (mathematical use) + 0x23DD: [803,-572,1886,0,1886], // BOTTOM PARENTHESIS (mathematical use) + 0x23E0: [66,212,2312,0,2312], // TOP TORTOISE SHELL BRACKET (mathematical use) + 0x23E1: [842,-564,2312,0,2312], // BOTTOM TORTOISE SHELL BRACKET (mathematical use) + 0x2772: [2066,393,842,265,790], // LIGHT LEFT TORTOISE SHELL BRACKET ORNAMENT + 0x2773: [2066,393,842,52,577], // LIGHT RIGHT TORTOISE SHELL BRACKET ORNAMENT + 0x27E6: [2066,394,647,225,597], // MATHEMATICAL LEFT WHITE SQUARE BRACKET + 0x27E7: [2066,394,647,50,422], // MATHEMATICAL RIGHT WHITE SQUARE BRACKET + 0x27EA: [2067,394,1091,104,955], // MATHEMATICAL LEFT DOUBLE ANGLE BRACKET + 0x27EB: [2067,394,1091,136,987], // MATHEMATICAL RIGHT DOUBLE ANGLE BRACKET + 0x2983: [2066,394,1031,143,867], // LEFT WHITE CURLY BRACKET + 0x2984: [2066,394,1031,164,888], // RIGHT WHITE CURLY BRACKET + 0x2985: [2066,393,1029,180,914], // LEFT WHITE PARENTHESIS + 0x2986: [2066,393,1029,115,849] // RIGHT WHITE PARENTHESIS + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax["HTML-CSS"].fontDir + "/SizeThreeSym/Regular/All.js"); diff --git a/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/SizeThreeSym/Regular/Main.js b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/SizeThreeSym/Regular/Main.js new file mode 100644 index 0000000..2e03e70 --- /dev/null +++ b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/SizeThreeSym/Regular/Main.js @@ -0,0 +1,62 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/fonts/STIX/SizeThreeSym/Regular/Main.js + * + * Copyright (c) 2009-2010 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +MathJax.OutputJax['HTML-CSS'].FONTDATA.FONTS['STIXSizeThreeSym'] = { + directory: 'SizeThreeSym/Regular', + family: 'STIXSizeThreeSym', + Ranges: [ + [0x2B0,0x2FF,"All"], + [0x300,0x338,"All"], + [0x203E,0x203E,"All"], + [0x20D0,0x20EF,"All"], + [0x221A,0x221C,"All"], + [0x239B,0x23B9,"All"], + [0x23DC,0x23E1,"All"], + [0x2772,0x2773,"All"], + [0x27E6,0x27EB,"All"], + [0x2983,0x2986,"All"] + ], + 0x20: [0,0,250,0,0], // SPACE + 0x28: [2066,394,750,182,667], // LEFT PARENTHESIS + 0x29: [2066,394,750,83,568], // RIGHT PARENTHESIS + 0x2F: [2066,394,1101,30,1071], // SOLIDUS + 0x5B: [2066,394,508,225,491], // LEFT SQUARE BRACKET + 0x5C: [2066,394,1101,30,1071], // REVERSE SOLIDUS + 0x5D: [2066,394,508,17,283], // RIGHT SQUARE BRACKET + 0x5F: [-127,177,2000,0,2000], // LOW LINE + 0x7B: [2066,394,906,143,717], // LEFT CURLY BRACKET + 0x7D: [2066,394,906,189,763], // RIGHT CURLY BRACKET + 0xA0: [0,0,250,0,0], // NO-BREAK SPACE + 0x302: [777,-564,0,-1610,-150], // COMBINING CIRCUMFLEX ACCENT + 0x303: [774,-608,0,-1612,-152], // COMBINING TILDE + 0x221A: [2565,510,1076,112,1110], // SQUARE ROOT + 0x2308: [2066,394,565,225,550], // LEFT CEILING + 0x2309: [2066,394,565,15,340], // RIGHT CEILING + 0x230A: [2066,394,565,225,550], // LEFT FLOOR + 0x230B: [2066,394,565,15,340], // RIGHT FLOOR + 0x23DE: [157,86,1886,0,1886], // TOP CURLY BRACKET (mathematical use) + 0x23DF: [815,-572,1886,0,1886], // BOTTOM CURLY BRACKET (mathematical use) + 0x27E8: [2066,394,765,96,670], // MATHEMATICAL LEFT ANGLE BRACKET + 0x27E9: [2066,394,765,95,669] // MATHEMATICAL RIGHT ANGLE BRACKET +}; + +MathJax.OutputJax["HTML-CSS"].initFont("STIXSizeThreeSym"); + +MathJax.Ajax.loadComplete(MathJax.OutputJax["HTML-CSS"].fontDir + "/SizeThreeSym/Regular/Main.js"); diff --git a/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/SizeTwoSym/Bold/Main.js b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/SizeTwoSym/Bold/Main.js new file mode 100644 index 0000000..fd73302 --- /dev/null +++ b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/SizeTwoSym/Bold/Main.js @@ -0,0 +1,46 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/fonts/STIX/SizeTwoSym/Bold/Main.js + * + * Copyright (c) 2009-2010 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +MathJax.OutputJax['HTML-CSS'].FONTDATA.FONTS['STIXSizeTwoSym-bold'] = { + directory: 'SizeTwoSym/Bold', + family: 'STIXSizeTwoSym', + weight: 'bold', + 0x20: [0,0,250,0,0], // SPACE + 0x28: [1604,241,608,110,512], // LEFT PARENTHESIS + 0x29: [1604,241,608,96,498], // RIGHT PARENTHESIS + 0x2F: [1604,241,802,4,798], // SOLIDUS + 0x5B: [1604,241,485,197,467], // LEFT SQUARE BRACKET + 0x5C: [1604,241,802,4,798], // REVERSE SOLIDUS + 0x5D: [1604,241,485,18,288], // RIGHT SQUARE BRACKET + 0x7B: [1604,241,681,69,514], // LEFT CURLY BRACKET + 0x7D: [1604,241,681,167,612], // RIGHT CURLY BRACKET + 0xA0: [0,0,250,0,0], // NO-BREAK SPACE + 0x221A: [2095,355,1130,106,1185], // SQUARE ROOT + 0x2308: [1604,241,538,185,510], // LEFT CEILING + 0x2309: [1604,241,538,28,355], // RIGHT CEILING + 0x230A: [1604,241,538,185,512], // LEFT FLOOR + 0x230B: [1604,241,538,28,353], // RIGHT FLOOR + 0x27E8: [1604,241,622,98,572], // MATHEMATICAL LEFT ANGLE BRACKET + 0x27E9: [1604,241,622,50,524] // MATHEMATICAL RIGHT ANGLE BRACKET +}; + +MathJax.OutputJax["HTML-CSS"].initFont("STIXSizeTwoSym-bold"); + +MathJax.Ajax.loadComplete(MathJax.OutputJax["HTML-CSS"].fontDir + "/SizeTwoSym/Bold/Main.js"); diff --git a/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/SizeTwoSym/Regular/All.js b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/SizeTwoSym/Regular/All.js new file mode 100644 index 0000000..e905b3e --- /dev/null +++ b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/SizeTwoSym/Regular/All.js @@ -0,0 +1,64 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/fonts/STIX/SizeTwoSym/Regular/All.js + * + * Copyright (c) 2009-2010 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax['HTML-CSS'].FONTDATA.FONTS['STIXSizeTwoSym'], + { + 0x2C6: [777,-564,979,0,979], // MODIFIER LETTER CIRCUMFLEX ACCENT + 0x2C7: [777,-564,979,0,979], // CARON + 0x2DC: [760,-608,977,-2,977], // SMALL TILDE + 0x2F7: [-117,269,977,-2,977], // ?? + 0x305: [820,-770,0,-1500,0], // COMBINING OVERLINE + 0x30C: [777,-564,0,-1150,-171], // COMBINING CARON + 0x330: [-117,269,0,-1152,-173], // COMBINING TILDE BELOW + 0x332: [-127,177,0,-1500,0], // COMBINING LOW LINE + 0x338: [662,0,0,-720,-6], // COMBINING LONG SOLIDUS OVERLAY + 0x203E: [820,-770,1500,0,1500], // OVERLINE + 0x20D0: [749,-584,0,-1323,-15], // COMBINING LEFT HARPOON ABOVE + 0x20D1: [749,-584,0,-1323,-15], // COMBINING RIGHT HARPOON ABOVE + 0x20D6: [735,-482,0,-1323,-15], // COMBINING LEFT ARROW ABOVE + 0x20D7: [735,-482,0,-1323,-15], // COMBINING RIGHT ARROW ABOVE + 0x20EC: [-123,288,0,-1323,-15], // COMBINING RIGHTWARDS HARPOON WITH BARB DOWNWARDS + 0x20ED: [-123,288,0,-1323,-15], // COMBINING LEFTWARDS HARPOON WITH BARB DOWNWARDS + 0x20EE: [-26,279,0,-1323,-15], // COMBINING LEFT ARROW BELOW + 0x20EF: [-26,279,0,-1323,-15], // COMBINING RIGHT ARROW BELOW + 0x221B: [2056,404,1124,110,1157], // CUBE ROOT + 0x221C: [2056,404,1124,110,1157], // FOURTH ROOT + 0x23B4: [766,-544,1606,74,1532], // TOP SQUARE BRACKET + 0x23B5: [139,83,1606,74,1532], // BOTTOM SQUARE BRACKET + 0x23DC: [66,147,1460,0,1460], // TOP PARENTHESIS (mathematical use) + 0x23DD: [785,-572,1460,0,1460], // BOTTOM PARENTHESIS (mathematical use) + 0x23E0: [66,212,1886,0,1886], // TOP TORTOISE SHELL BRACKET (mathematical use) + 0x23E1: [842,-564,1886,0,1886], // BOTTOM TORTOISE SHELL BRACKET (mathematical use) + 0x2772: [1566,279,688,230,651], // LIGHT LEFT TORTOISE SHELL BRACKET ORNAMENT + 0x2773: [1566,279,688,37,458], // LIGHT RIGHT TORTOISE SHELL BRACKET ORNAMENT + 0x27E6: [1566,279,555,190,517], // MATHEMATICAL LEFT WHITE SQUARE BRACKET + 0x27E7: [1566,279,555,38,365], // MATHEMATICAL RIGHT WHITE SQUARE BRACKET + 0x27EA: [1566,279,901,93,793], // MATHEMATICAL LEFT DOUBLE ANGLE BRACKET + 0x27EB: [1566,279,901,108,808], // MATHEMATICAL RIGHT DOUBLE ANGLE BRACKET + 0x2983: [1566,279,827,122,692], // LEFT WHITE CURLY BRACKET + 0x2984: [1565,280,827,135,705], // RIGHT WHITE CURLY BRACKET + 0x2985: [1566,282,793,155,693], // LEFT WHITE PARENTHESIS + 0x2986: [1566,282,793,100,638], // RIGHT WHITE PARENTHESIS + 0x2AFC: [1586,289,906,133,773] // LARGE TRIPLE VERTICAL BAR OPERATOR + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax["HTML-CSS"].fontDir + "/SizeTwoSym/Regular/All.js"); diff --git a/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/SizeTwoSym/Regular/Main.js b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/SizeTwoSym/Regular/Main.js new file mode 100644 index 0000000..1963440 --- /dev/null +++ b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/SizeTwoSym/Regular/Main.js @@ -0,0 +1,63 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/fonts/STIX/SizeTwoSym/Regular/Main.js + * + * Copyright (c) 2009-2010 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +MathJax.OutputJax['HTML-CSS'].FONTDATA.FONTS['STIXSizeTwoSym'] = { + directory: 'SizeTwoSym/Regular', + family: 'STIXSizeTwoSym', + Ranges: [ + [0x2B0,0x2FF,"All"], + [0x300,0x338,"All"], + [0x203E,0x203E,"All"], + [0x20D0,0x20EF,"All"], + [0x221A,0x221C,"All"], + [0x239B,0x23B9,"All"], + [0x23DC,0x23E1,"All"], + [0x2772,0x2773,"All"], + [0x27E6,0x27EB,"All"], + [0x2983,0x2986,"All"], + [0x2AFC,0x2AFF,"All"] + ], + 0x20: [0,0,250,0,0], // SPACE + 0x28: [1566,279,589,139,503], // LEFT PARENTHESIS + 0x29: [1566,279,608,114,478], // RIGHT PARENTHESIS + 0x2F: [1566,279,806,25,781], // SOLIDUS + 0x5B: [1566,279,459,190,422], // LEFT SQUARE BRACKET + 0x5C: [1566,279,806,25,781], // REVERSE SOLIDUS + 0x5D: [1566,279,459,37,269], // RIGHT SQUARE BRACKET + 0x5F: [-127,177,1500,0,1500], // LOW LINE + 0x7B: [1566,279,717,124,531], // LEFT CURLY BRACKET + 0x7D: [1566,279,717,186,593], // RIGHT CURLY BRACKET + 0xA0: [0,0,250,0,0], // NO-BREAK SPACE + 0x302: [777,-564,0,-1150,-171], // COMBINING CIRCUMFLEX ACCENT + 0x303: [760,-608,0,-1152,-173], // COMBINING TILDE + 0x221A: [2056,404,1124,110,1157], // SQUARE ROOT + 0x2308: [1566,279,524,190,479], // LEFT CEILING + 0x2309: [1566,279,526,47,336], // RIGHT CEILING + 0x230A: [1566,279,524,190,479], // LEFT FLOOR + 0x230B: [1566,279,526,47,336], // RIGHT FLOOR + 0x23DE: [143,81,1460,0,1460], // TOP CURLY BRACKET (mathematical use) + 0x23DF: [797,-573,1460,0,1460], // BOTTOM CURLY BRACKET (mathematical use) + 0x27E8: [1566,279,622,95,531], // MATHEMATICAL LEFT ANGLE BRACKET + 0x27E9: [1566,279,622,91,527] // MATHEMATICAL RIGHT ANGLE BRACKET +}; + +MathJax.OutputJax["HTML-CSS"].initFont("STIXSizeTwoSym"); + +MathJax.Ajax.loadComplete(MathJax.OutputJax["HTML-CSS"].fontDir + "/SizeTwoSym/Regular/Main.js"); diff --git a/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/Variants/Bold/All.js b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/Variants/Bold/All.js new file mode 100644 index 0000000..46c9048 --- /dev/null +++ b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/Variants/Bold/All.js @@ -0,0 +1,60 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/fonts/STIX/Variants/Bold/All.js + * + * Copyright (c) 2009-2010 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax['HTML-CSS'].FONTDATA.FONTS['STIXVariants-bold'], + { + 0x20: [0,0,250,0,0], // SPACE + 0x7C: [691,189,340,126,214], // VERTICAL LINE + 0xA0: [0,0,250,0,0], // NO-BREAK SPACE + 0x19B: [666,0,536,60,526], // LATIN SMALL LETTER LAMBDA WITH STROKE + 0x2033: [586,-12,713,44,669], // DOUBLE PRIME + 0x2034: [586,-12,1032,44,988], // TRIPLE PRIME + 0x2035: [586,-12,394,44,350], // REVERSED PRIME + 0x2036: [586,-12,713,44,669], // REVERSED DOUBLE PRIME + 0x2037: [586,-12,1032,44,988], // REVERSED TRIPLE PRIME + 0x2057: [586,-12,1351,43,1306], // QUADRUPLE PRIME + 0x2140: [691,0,780,55,725], // DOUBLE-STRUCK N-ARY SUMMATION + 0x2190: [451,-55,428,68,428], // LEFTWARDS ARROW + 0x2191: [680,15,556,80,476], // UPWARDS ARROW + 0x2192: [451,-55,428,0,360], // RIGHTWARDS ARROW + 0x2193: [680,15,556,80,476], // DOWNWARDS ARROW + 0x21D1: [600,15,714,40,674], // UPWARDS DOUBLE ARROW + 0x21D3: [600,15,714,40,674], // DOWNWARDS DOUBLE ARROW + 0x220F: [676,0,734,27,707], // N-ARY PRODUCT + 0x2210: [676,0,734,27,707], // N-ARY COPRODUCT + 0x2211: [676,0,690,39,649], // N-ARY SUMMATION + 0x221D: [431,0,750,56,687], // PROPORTIONAL TO + 0x2223: [451,19,290,89,201], // DIVIDES + 0x2244: [543,45,750,68,683], // stix-not (vert) similar or equal + 0x2247: [648,144,750,68,683], // stix-not (vert) similar over two-line equals + 0x2249: [598,64,750,68,683], // stix-not, vert, approximate + 0x2260: [687,183,750,68,682], // stix-not (vert) equals + 0x2262: [747,243,750,68,682], // stix-not (vert) three-line equals + 0x2268: [728,293,750,80,670], // stix-less, vert, not double equals + 0x2269: [728,293,750,80,670], // stix-gt, vert, not double equals + 0x226E: [672,166,750,80,670], // stix-not, vert, less-than + 0x226F: [672,166,750,80,670], // stix-not, vert, greater-than + 0x2270: [742,236,750,80,670], // stix-not, vert, less-than-or-equal + 0x2271: [742,236,750,80,670] // stix-not, vert, greater-than-or-equal + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax["HTML-CSS"].fontDir + "/Variants/Bold/All.js"); diff --git a/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/Variants/Bold/Main.js b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/Variants/Bold/Main.js new file mode 100644 index 0000000..55314d2 --- /dev/null +++ b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/Variants/Bold/Main.js @@ -0,0 +1,44 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/fonts/STIX/Variants/Bold/Main.js + * + * Copyright (c) 2009-2010 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +MathJax.OutputJax['HTML-CSS'].FONTDATA.FONTS['STIXVariants-bold'] = { + directory: 'Variants/Bold', + family: 'STIXVariants', + weight: 'bold', + Ranges: [ + [0x20,0x20,"All"], + [0x77,0x7C,"All"], + [0xA0,0xA0,"All"], + [0x19B,0x19B,"All"], + [0x2032,0x2057,"All"], + [0x2140,0x2140,"All"], + [0x2190,0x2193,"All"], + [0x21D1,0x21E2,"All"], + [0x2205,0x22ED,"All"] + ], + 0x2032: [586,-12,394,44,350], // PRIME + 0x2205: [729,74,584,36,548], // EMPTY SET + 0x2216: [732,193,518,45,473], // SET MINUS + 0x221A: [943,-28,800,112,844] // SQUARE ROOT +}; + +MathJax.OutputJax["HTML-CSS"].initFont("STIXVariants-bold"); + +MathJax.Ajax.loadComplete(MathJax.OutputJax["HTML-CSS"].fontDir + "/Variants/Bold/Main.js"); diff --git a/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/Variants/Regular/All.js b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/Variants/Regular/All.js new file mode 100644 index 0000000..042f3a6 --- /dev/null +++ b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/Variants/Regular/All.js @@ -0,0 +1,120 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/fonts/STIX/Variants/Regular/All.js + * + * Copyright (c) 2009-2010 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax['HTML-CSS'].FONTDATA.FONTS['STIXVariants'], + { + 0x20: [0,0,250,0,0], // SPACE + 0x77: [80,244,515,22,493], // LATIN SMALL LETTER W + 0x7C: [690,189,320,127,193], // VERTICAL LINE + 0xA0: [0,0,250,0,0], // NO-BREAK SPACE + 0x19B: [668,0,520,55,516], // LATIN SMALL LETTER LAMBDA WITH STROKE + 0x264: [450,10,460,18,441], // ?? + 0x2033: [565,-28,605,43,561], // DOUBLE PRIME + 0x2034: [565,-28,873,43,829], // TRIPLE PRIME + 0x2035: [565,-28,340,45,296], // REVERSED PRIME + 0x2036: [565,-28,605,44,561], // REVERSED DOUBLE PRIME + 0x2037: [565,-28,873,43,829], // REVERSED TRIPLE PRIME + 0x2057: [565,-28,1139,43,1096], // QUADRUPLE PRIME + 0x2140: [662,0,718,50,668], // DOUBLE-STRUCK N-ARY SUMMATION + 0x2190: [449,-57,415,55,415], // LEFTWARDS ARROW + 0x2191: [600,15,598,82,518], // UPWARDS ARROW + 0x2192: [449,-57,415,0,360], // RIGHTWARDS ARROW + 0x2193: [600,15,598,80,516], // DOWNWARDS ARROW + 0x21D1: [600,15,794,63,729], // UPWARDS DOUBLE ARROW + 0x21D3: [600,15,794,65,731], // DOWNWARDS DOUBLE ARROW + 0x21E0: [449,-58,463,70,393], // LEFTWARDS DASHED ARROW + 0x21E2: [449,-58,463,70,393], // RIGHTWARDS DASHED ARROW + 0x2208: [516,13,402,64,338], // ELEMENT OF + 0x2209: [662,156,685,60,625], // stix-negated (vert) set membership, variant + 0x220B: [516,13,402,64,338], // CONTAINS AS MEMBER + 0x220C: [662,156,685,60,625], // stix-negated (vert) contains + 0x220F: [662,0,694,30,664], // N-ARY PRODUCT + 0x2210: [662,0,694,30,664], // N-ARY COPRODUCT + 0x2211: [662,0,694,38,656], // N-ARY SUMMATION + 0x221B: [946,-55,737,72,767], // CUBE ROOT + 0x221C: [943,-55,737,72,767], // FOURTH ROOT + 0x221D: [428,0,685,41,646], // PROPORTIONAL TO + 0x2223: [451,19,266,100,166], // DIVIDES + 0x2224: [451,19,404,23,381], // DOES NOT DIVIDE + 0x2225: [451,11,446,90,356], // PARALLEL TO + 0x2226: [451,19,609,23,586], // NOT PARALLEL TO + 0x2229: [602,31,620,10,610], // stix-intersection, serifs + 0x222A: [602,31,620,10,610], // stix-union, serifs + 0x223C: [362,-148,685,48,637], // TILDE OPERATOR + 0x223E: [344,-130,1086,55,1031], // stix-most positive + 0x223F: [461,-43,520,0,586], // stix-reverse sine wave + 0x2241: [462,-48,685,48,637], // stix-not, vert, similar + 0x2244: [529,35,685,48,637], // stix-not (vert) similar or equal + 0x2247: [606,117,685,48,637], // stix-not (vert) similar over two-line equals + 0x2248: [475,-25,685,48,637], // ALMOST EQUAL TO + 0x2249: [549,49,685,48,637], // stix-not, vert, approximate + 0x224C: [586,82,685,48,637], // stix-all equal to (lazy S over equals) (formerly 224C; that shape changed) + 0x2260: [662,156,685,48,637], // stix-not (vert) equals + 0x2262: [662,156,685,48,637], // stix-not (vert) three-line equals + 0x2268: [718,275,685,56,621], // stix-less, vert, not double equals + 0x2269: [718,275,685,56,621], // stix-gt, vert, not double equals + 0x226D: [572,66,685,48,637], // stix-not (vert) asymptotically equal to + 0x226E: [662,156,685,47,612], // stix-not, vert, less-than + 0x226F: [662,156,685,73,638], // stix-not, vert, greater-than + 0x2270: [695,189,685,56,621], // stix-not, vert, less-than-or-equal + 0x2271: [695,189,685,64,629], // stix-not, vert, greater-than-or-equal + 0x2272: [673,103,685,10,632], // stix-less-than or (contour) similar + 0x2273: [673,144,685,58,624], // stix-greater-than or (contour) similar + 0x2274: [730,227,685,48,637], // stix-not, vert, less, similar + 0x2275: [730,227,685,48,650], // stix-not, vert, greater, similar + 0x2278: [818,311,685,56,621], // stix-not, vert, less, greater + 0x2279: [818,311,685,55,620], // stix-not, vert, greater, less + 0x2280: [662,156,685,64,621], // DOES NOT PRECEDE + 0x2281: [662,156,685,64,621], // stix-not (vert) succeeds + 0x2284: [662,156,685,55,620], // stix-not subset [vertical negation] + 0x2285: [662,156,685,65,630], // stix-not superset [vertical negation] + 0x2288: [707,203,695,65,630], // stix-/nsubseteq N: not (vert) subset, equals + 0x2289: [707,203,695,65,630], // stix-/nsupseteq N: not (vert) superset, equals + 0x228A: [607,229,685,51,616], // stix-subset, not equals, variant + 0x228B: [607,229,685,69,634], // stix-superset, not equals, variant + 0x2293: [536,31,620,10,610], // stix-square intersection, serifs + 0x2294: [536,31,620,10,610], // stix-square union, serifs + 0x2295: [623,119,842,50,792], // stix-circled plus (with rim) + 0x2297: [623,119,842,50,792], // stix-circled times (with rim) + 0x229C: [623,119,842,50,792], // stix-two horizontal bars in circle + 0x22DA: [768,262,685,60,625], // stix-less, equal, slanted, greater + 0x22DB: [768,262,685,60,625], // stix-greater, equal, slanted, less + 0x22E0: [803,212,685,60,625], // stix-not (vert) precedes or contour equals + 0x22E1: [803,212,685,60,625], // stix-not (vert) succeeds or contour equals + 0x22EC: [695,189,685,54,611], // stix-not, vert, left triangle, equals + 0x22ED: [695,189,685,74,631], // stix-not, vert, right triangle, equals + 0x2322: [386,-120,685,48,637], // stix-small down curve + 0x2323: [386,-120,685,48,637], // stix-small up curve + 0x2423: [22,119,500,48,453], // stix-round space indicator + 0x25A9: [662,158,910,45,865], // SQUARE WITH DIAGONAL CROSSHATCH FILL + 0x2A3C: [633,129,463,51,411], // stix-vert, low bar to left from base + 0x2A3D: [633,129,463,51,411], // stix-vert, low bar to right from base + 0x2A9D: [647,166,685,49,627], // stix-similar (conforming) or less-than + 0x2A9E: [615,166,685,54,676], // SIMILAR OR GREATER-THAN + 0x2AAC: [625,137,685,60,625], // stix-smaller than or equal, slanted + 0x2AAD: [625,137,685,60,625], // stix-larger than or equal, slanted + 0x2ACB: [718,321,685,64,629], // stix-subset not double equals, variant + 0x2ACC: [718,321,685,74,639], // SUPERSET OF ABOVE NOT EQUAL TO + 0x2AEE: [451,19,404,23,381] // stix-short mid negated by backslash + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax["HTML-CSS"].fontDir + "/Variants/Regular/All.js"); diff --git a/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/Variants/Regular/Main.js b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/Variants/Regular/Main.js new file mode 100644 index 0000000..73c630a --- /dev/null +++ b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/Variants/Regular/Main.js @@ -0,0 +1,49 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/fonts/STIX/Variants/Regular/Main.js + * + * Copyright (c) 2009-2010 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +MathJax.OutputJax['HTML-CSS'].FONTDATA.FONTS['STIXVariants'] = { + directory: 'Variants/Regular', + family: 'STIXVariants', + Ranges: [ + [0x20,0x20,"All"], + [0x77,0x7C,"All"], + [0xA0,0xA0,"All"], + [0x19B,0x19B,"All"], + [0x264,0x264,"All"], + [0x2032,0x2057,"All"], + [0x2140,0x2140,"All"], + [0x2190,0x2193,"All"], + [0x21D1,0x21E2,"All"], + [0x2205,0x22ED,"All"], + [0x2322,0x2323,"All"], + [0x2423,0x2423,"All"], + [0x25A9,0x25A9,"All"], + [0x2A3C,0x2AEE,"All"] + ], + 0x2032: [565,-28,340,44,295], // PRIME + 0x210F: [683,10,579,47,547], // stix-/hbar - Planck's over 2pi + 0x2205: [729,74,523,28,502], // EMPTY SET + 0x2216: [710,222,523,46,478], // SET MINUS + 0x221A: [943,11,737,67,767] // SQUARE ROOT +}; + +MathJax.OutputJax["HTML-CSS"].initFont("STIXVariants"); + +MathJax.Ajax.loadComplete(MathJax.OutputJax["HTML-CSS"].fontDir + "/Variants/Regular/Main.js"); diff --git a/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/fontdata-beta.js b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/fontdata-beta.js new file mode 100644 index 0000000..6b2fa74 --- /dev/null +++ b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/fontdata-beta.js @@ -0,0 +1,373 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/font/STIX/fontdata-beta.js + * + * Patches the STIX font data to work with the beta version of + * the STIX fonts (as opposed to the release version, assuming + * there ever is one). + * + * --------------------------------------------------------------------- + * + * Copyright (c) 2010 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +(function (HTMLCSS,TEX) { + + var GENERAL = "STIXGeneral", + BOLD = "STIXGeneral-bold", + ITALIC = "STIXGeneral-italic", + NONUNI = "STIXNonUnicode", + SIZE1 = "STIXSizeOneSym", + SIZE2 = "STIXSizeTwoSym", + SIZE3 = "STIXSizeThreeSym", + SIZE4 = "STIXSizeFourSym", + SIZE5 = "STIXSizeFiveSym"; + + var REPLACE = function (name,data) { + var FONT = HTMLCSS.FONTDATA.FONTS[name]; + for (var id in data) {if (data.hasOwnProperty(id)) {FONT[id] = data[id]}} + }; + + REPLACE(GENERAL,{ + 0x300: [678,-507,0,109,333], // COMBINING GRAVE ACCENT + 0x301: [678,-507,0,109,333], // COMBINING ACUTE ACCENT + 0x302: [674,-507,0,94,405], // COMBINING CIRCUMFLEX ACCENT + 0x303: [638,-532,0,85,415], // COMBINING TILDE + 0x304: [601,-547,0,95,406], // COMBINING MACRON + 0x305: [820,-770,0,0,500], // COMBINING OVERLINE + 0x306: [664,-507,0,107,388], // COMBINING BREVE + 0x307: [622,-523,0,200,299], // COMBINING DOT ABOVE + 0x308: [622,-523,0,101,399], // COMBINING DIAERESIS + 0x309: [751,-492,0,173,362], // COMBINING HOOK ABOVE + 0x30A: [711,-512,0,151,350], // COMBINING RING ABOVE + 0x30B: [678,-507,0,79,458], // COMBINING DOUBLE ACUTE ACCENT + 0x30C: [674,-507,0,95,406], // COMBINING CARON + 0x30D: [700,-500,0,230,285], // COMBINING VERTICAL LINE ABOVE + 0x30E: [700,-500,0,154,347], // COMBINING DOUBLE VERTICAL LINE ABOVE + 0x30F: [678,-507,0,79,458], // COMBINING DOUBLE GRAVE ACCENT + 0x310: [767,-507,0,107,388], // COMBINING CANDRABINDU + 0x311: [664,-507,0,107,388], // COMBINING INVERTED BREVE + 0x312: [745,-502,0,181,320], // COMBINING TURNED COMMA ABOVE + 0x313: [745,-502,0,181,320], // COMBINING COMMA ABOVE + 0x314: [745,-502,0,181,320], // COMBINING REVERSED COMMA ABOVE + 0x315: [745,-502,0,395,534], // COMBINING COMMA ABOVE RIGHT + 0x316: [-53,224,0,109,333], // COMBINING GRAVE ACCENT BELOW + 0x317: [-53,224,0,109,333], // COMBINING ACUTE ACCENT BELOW + 0x318: [-53,283,0,83,270], // COMBINING LEFT TACK BELOW + 0x319: [-53,283,0,83,270], // COMBINING RIGHT TACK BELOW + 0x31A: [735,-531,0,100,400], // COMBINING LEFT ANGLE ABOVE + 0x31B: [474,-345,0,436,531], // COMBINING HORN + 0x31C: [-71,266,0,120,248], // COMBINING LEFT HALF RING BELOW + 0x31D: [-53,240,0,135,365], // COMBINING UP TACK BELOW + 0x31E: [-53,240,0,135,365], // COMBINING DOWN TACK BELOW + 0x31F: [-53,250,0,154,346], // COMBINING PLUS SIGN BELOW + 0x320: [-124,168,0,154,346], // COMBINING MINUS SIGN BELOW + 0x321: [75,287,0,245,481], // COMBINING PALATALIZED HOOK BELOW + 0x322: [75,287,0,426,662], // COMBINING RETROFLEX HOOK BELOW + 0x323: [-118,217,0,200,299], // COMBINING DOT BELOW + 0x324: [-119,218,0,101,399], // COMBINING DIAERESIS BELOW + 0x325: [-69,268,0,151,350], // COMBINING RING BELOW + 0x326: [-110,353,0,181,320], // COMBINING COMMA BELOW + 0x327: [0,215,0,146,355], // COMBINING CEDILLA + 0x328: [0,165,0,158,343], // COMBINING OGONEK + 0x329: [-102,234,0,230,270], // COMBINING VERTICAL LINE BELOW + 0x32A: [-98,235,0,95,407], // COMBINING BRIDGE BELOW + 0x32B: [-110,227,0,100,405], // COMBINING INVERTED DOUBLE ARCH BELOW + 0x32C: [-73,240,0,95,406], // COMBINING CARON BELOW + 0x32D: [-73,240,0,95,406], // COMBINING CIRCUMFLEX ACCENT BELOW + 0x32E: [-68,225,0,110,391], // COMBINING BREVE BELOW + 0x32F: [-59,216,0,110,391], // COMBINING INVERTED BREVE BELOW + 0x330: [-113,219,0,85,415], // COMBINING TILDE BELOW + 0x331: [-141,195,0,95,406], // COMBINING MACRON BELOW + 0x332: [-141,191,0,0,500], // COMBINING LOW LINE + 0x333: [-141,300,0,0,500], // COMBINING DOUBLE LOW LINE + 0x334: [320,-214,0,79,409], // COMBINING TILDE OVERLAY + 0x335: [274,-230,0,96,402], // COMBINING SHORT STROKE OVERLAY + 0x336: [274,-230,0,0,500], // COMBINING LONG STROKE OVERLAY + 0x337: [580,74,0,100,439], // COMBINING SHORT SOLIDUS OVERLAY + 0x338: [662,156,0,100,511], // COMBINING LONG SOLIDUS OVERLAY + 0x339: [-71,266,0,120,248], // COMBINING RIGHT HALF RING BELOW + 0x33A: [-53,190,0,95,407], // COMBINING INVERTED BRIDGE BELOW + 0x33B: [-53,227,0,167,333], // COMBINING SQUARE BELOW + 0x33C: [-65,189,0,100,401], // COMBINING SEAGULL BELOW + 0x33D: [715,-525,0,154,345], // COMBINING X ABOVE + 0x33E: [829,-499,0,197,303], // COMBINING VERTICAL TILDE + 0x33F: [928,-770,0,0,500], // COMBINING DOUBLE OVERLINE + 0x346: [681,-538,0,0,282], // COMBINING BRIDGE ABOVE + 0x34C: [777,-532,0,94,424], // COMBINING ALMOST EQUAL TO ABOVE + 0x359: [-65,367,0,123,393], // COMBINING ASTERISK BELOW + 0x35C: [-76,233,0,107,775], // COMBINING DOUBLE BREVE BELOW + 0x360: [633,-517,0,85,845], // COMBINING DOUBLE TILDE + 0x361: [664,-507,0,107,775], // COMBINING DOUBLE INVERTED BREVE + 0x362: [-65,270,0,85,835], // COMBINING DOUBLE RIGHTWARDS ARROW BELOW + + 0x20D0: [760,-627,0,27,463], // COMBINING LEFT HARPOON ABOVE + 0x20D1: [760,-627,0,27,463], // COMBINING RIGHT HARPOON ABOVE + 0x20D2: [662,156,0,238,288], // COMBINING LONG VERTICAL LINE OVERLAY + 0x20D6: [760,-548,0,27,463], // COMBINING LEFT ARROW ABOVE + 0x20D7: [760,-548,0,27,463], // COMBINING RIGHT ARROW ABOVE + 0x20DB: [622,-523,0,18,515], // COMBINING THREE DOTS ABOVE + 0x20DC: [622,-523,0,0,696], // COMBINING FOUR DOTS ABOVE + 0x20DD: [725,221,1000,27,973], // COMBINING ENCLOSING CIRCLE + 0x20DE: [780,180,0,0,960], // COMBINING ENCLOSING SQUARE + 0x20DF: [843,341,0,0,1184], // COMBINING ENCLOSING DIAMOND + 0x20E1: [760,-548,0,27,505], // COMBINING LEFT RIGHT ARROW ABOVE + 0x20E4: [1023,155,1510,25,1485], // COMBINING ENCLOSING UPWARD POINTING TRIANGLE + 0x20E5: [662,156,0,50,440], // COMBINING REVERSE SOLIDUS OVERLAY + 0x20E6: [662,156,0,145,378], // COMBINING DOUBLE VERTICAL STROKE OVERLAY + 0x20E7: [725,178,0,0,816], // COMBINING ANNUITY SYMBOL + 0x20E8: [-119,218,0,18,515], // COMBINING TRIPLE UNDERDOT + 0x20E9: [681,-538,0,0,533], // COMBINING WIDE BRIDGE ABOVE + 0x20EA: [419,-87,0,-178,598], // COMBINING LEFTWARDS ARROW OVERLAY + 0x20EB: [756,217,0,32,673], // COMBINING LONG DOUBLE SOLIDUS OVERLAY + 0x20EC: [-119,252,0,27,463], // COMBINING RIGHTWARDS HARPOON WITH BARB DOWNWARDS + 0x20ED: [-119,252,0,27,463], // COMBINING LEFTWARDS HARPOON WITH BARB DOWNWARDS + 0x20EE: [-40,252,0,27,463], // COMBINING LEFT ARROW BELOW + 0x20EF: [-40,252,0,27,463], // COMBINING RIGHT ARROW BELOW + 0x20F0: [819,-517,0,123,393] // COMBINING ASTERISK ABOVE + }); + + REPLACE(BOLD,{ + 0x300: [713,-528,0,141,379], // COMBINING GRAVE ACCENT + 0x301: [713,-528,0,141,379], // COMBINING ACUTE ACCENT + 0x302: [704,-528,0,92,429], // COMBINING CIRCUMFLEX ACCENT + 0x303: [674,-547,0,78,443], // COMBINING TILDE + 0x304: [637,-565,0,95,425], // COMBINING MACRON + 0x305: [838,-788,0,10,510], // COMBINING OVERLINE + 0x306: [691,-528,0,109,412], // COMBINING BREVE + 0x307: [666,-537,0,196,325], // COMBINING DOT ABOVE + 0x308: [666,-537,0,91,430], // COMBINING DIAERESIS + 0x309: [751,-491,0,174,379], // COMBINING HOOK ABOVE + 0x30A: [750,-537,0,154,367], // COMBINING RING ABOVE + 0x30B: [713,-528,0,41,479], // COMBINING DOUBLE ACUTE ACCENT + 0x30C: [704,-528,0,92,429], // COMBINING CARON + 0x30D: [730,-530,0,233,299], // COMBINING VERTICAL LINE ABOVE + 0x30E: [730,-530,0,152,368], // COMBINING DOUBLE VERTICAL LINE ABOVE + 0x30F: [713,-528,0,41,479], // COMBINING DOUBLE GRAVE ACCENT + 0x310: [828,-528,0,109,412], // COMBINING CANDRABINDU + 0x311: [691,-528,0,109,412], // COMBINING INVERTED BREVE + 0x312: [867,-532,0,168,352], // COMBINING TURNED COMMA ABOVE + 0x313: [867,-532,0,168,352], // COMBINING COMMA ABOVE + 0x314: [867,-532,0,168,352], // COMBINING REVERSED COMMA ABOVE + 0x315: [867,-532,0,394,578], // COMBINING COMMA ABOVE RIGHT + 0x316: [-70,255,0,141,379], // COMBINING GRAVE ACCENT BELOW + 0x317: [-70,255,0,141,379], // COMBINING ACUTE ACCENT BELOW + 0x318: [-58,288,0,85,287], // COMBINING LEFT TACK BELOW + 0x319: [-58,288,0,232,434], // COMBINING RIGHT TACK BELOW + 0x31A: [752,-531,0,100,417], // COMBINING LEFT ANGLE ABOVE + 0x31B: [505,-352,0,448,576], // COMBINING HORN + 0x31C: [-33,313,0,135,320], // COMBINING LEFT HALF RING BELOW + 0x31D: [-70,272,0,145,375], // COMBINING UP TACK BELOW + 0x31E: [-70,272,0,145,375], // COMBINING DOWN TACK BELOW + 0x31F: [-70,287,0,154,366], // COMBINING PLUS SIGN BELOW + 0x320: [-140,206,0,154,366], // COMBINING MINUS SIGN BELOW + 0x321: [75,287,0,269,488], // COMBINING PALATALIZED HOOK BELOW + 0x322: [75,287,0,416,635], // COMBINING RETROFLEX HOOK BELOW + 0x323: [-109,238,0,196,325], // COMBINING DOT BELOW + 0x324: [-109,238,0,91,430], // COMBINING DIAERESIS BELOW + 0x325: [-66,279,0,154,367], // COMBINING RING BELOW + 0x326: [-88,423,0,168,352], // COMBINING COMMA BELOW + 0x327: [0,218,0,147,373], // COMBINING CEDILLA + 0x328: [44,173,0,146,375], // COMBINING OGONEK + 0x329: [-107,239,0,233,288], // COMBINING VERTICAL LINE BELOW + 0x32A: [-86,260,0,85,417], // COMBINING BRIDGE BELOW + 0x32B: [-104,242,0,90,415], // COMBINING INVERTED DOUBLE ARCH BELOW + 0x32C: [-83,259,0,92,429], // COMBINING CARON BELOW + 0x32D: [-85,261,0,92,429], // COMBINING CIRCUMFLEX ACCENT BELOW + 0x32E: [-78,241,0,109,412], // COMBINING BREVE BELOW + 0x32F: [-78,241,0,109,412], // COMBINING INVERTED BREVE BELOW + 0x330: [-108,235,0,78,443], // COMBINING TILDE BELOW + 0x331: [-137,209,0,95,425], // COMBINING MACRON BELOW + 0x332: [-137,187,0,10,510], // COMBINING LOW LINE + 0x333: [-137,287,0,10,510], // COMBINING DOUBLE LOW LINE + 0x334: [316,-189,0,78,443], // COMBINING TILDE OVERLAY + 0x335: [282,-224,0,96,402], // COMBINING SHORT STROKE OVERLAY + 0x336: [282,-224,0,0,500], // COMBINING LONG STROKE OVERLAY + 0x337: [580,74,0,100,467], // COMBINING SHORT SOLIDUS OVERLAY + 0x338: [662,156,0,100,541], // COMBINING LONG SOLIDUS OVERLAY + 0x339: [-33,313,0,135,320], // COMBINING RIGHT HALF RING BELOW + 0x33A: [-71,245,0,85,417], // COMBINING INVERTED BRIDGE BELOW + 0x33B: [-70,264,0,157,343], // COMBINING SQUARE BELOW + 0x33C: [-89,234,0,100,401], // COMBINING SEAGULL BELOW + 0x33D: [719,-520,0,160,360], // COMBINING X ABOVE + 0x33E: [881,-516,0,196,323], // COMBINING VERTICAL TILDE + 0x33F: [938,-788,0,10,510], // COMBINING DOUBLE OVERLINE + 0x346: [717,-544,0,0,303], // COMBINING BRIDGE ABOVE + 0x34C: [837,-547,333,-16,349], // COMBINING ALMOST EQUAL TO ABOVE + 0x359: [-66,368,0,151,421], // COMBINING ASTERISK BELOW + 0x35C: [-79,242,0,109,810], // COMBINING DOUBLE BREVE BELOW + 0x360: [674,-529,0,78,908], // COMBINING DOUBLE TILDE + 0x361: [691,-534,0,107,775], // COMBINING DOUBLE INVERTED BREVE + 0x362: [-54,293,0,78,887], // COMBINING DOUBLE RIGHTWARDS ARROW BELOW + + 0x20D0: [846,-637,0,40,524], // COMBINING LEFT HARPOON ABOVE + 0x20D1: [846,-637,0,40,524], // COMBINING RIGHT HARPOON ABOVE + 0x20D2: [662,156,0,232,307], // COMBINING LONG VERTICAL LINE OVERLAY + 0x20D6: [846,-508,0,40,524], // COMBINING LEFT ARROW ABOVE + 0x20D7: [846,-508,0,40,524], // COMBINING RIGHT ARROW ABOVE + 0x20DB: [666,-537,0,-2,547], // COMBINING THREE DOTS ABOVE + 0x20DC: [666,-537,0,-2,757], // COMBINING FOUR DOTS ABOVE + 0x20DD: [760,254,1073,32,1041], // COMBINING ENCLOSING CIRCLE + 0x20E1: [846,-508,0,35,629], // COMBINING LEFT RIGHT ARROW ABOVE + 0x20E4: [1055,169,1581,32,1549], // COMBINING ENCLOSING UPWARD POINTING TRIANGLE + 0x20E5: [662,155,0,40,522], // COMBINING REVERSE SOLIDUS OVERLAY + 0x20E6: [662,156,0,130,409], // COMBINING DOUBLE VERTICAL STROKE OVERLAY + 0x20E7: [760,172,0,67,910], // COMBINING ANNUITY SYMBOL + 0x20E8: [-109,238,0,-2,547], // COMBINING TRIPLE UNDERDOT + 0x20E9: [717,-544,0,0,564], // COMBINING WIDE BRIDGE ABOVE + 0x20EA: [441,-65,1073,-178,658], // COMBINING LEFTWARDS ARROW OVERLAY + 0x20EB: [775,235,0,25,738], // COMBINING LONG DOUBLE SOLIDUS OVERLAY + 0x20EC: [-166,375,0,40,524], // COMBINING RIGHTWARDS HARPOON WITH BARB DOWNWARDS + 0x20ED: [-166,375,0,40,524], // COMBINING LEFTWARDS HARPOON WITH BARB DOWNWARDS + 0x20EE: [-35,373,0,40,524], // COMBINING LEFT ARROW BELOW + 0x20EF: [-35,373,0,40,524], // COMBINING RIGHT ARROW BELOW + 0x20F0: [845,-543,0,125,395] // COMBINING ASTERISK ABOVE + }); + + REPLACE(ITALIC,{ + 0x20D0: [760,-627,0,27,463], // COMBINING LEFT HARPOON ABOVE + 0x20D1: [760,-627,0,54,490], // COMBINING RIGHT HARPOON ABOVE + 0x20D2: [662,156,266,100,166], // COMBINING LONG VERTICAL LINE OVERLAY + 0x20D6: [760,-548,0,27,463], // COMBINING LEFT ARROW ABOVE + 0x20D7: [760,-548,0,27,463], // COMBINING RIGHT ARROW ABOVE + 0x20DB: [622,-523,0,27,524], // COMBINING THREE DOTS ABOVE + 0x20DC: [622,-523,0,18,714], // COMBINING FOUR DOTS ABOVE + 0x20DD: [725,221,1000,27,973], // COMBINING ENCLOSING CIRCLE + 0x20E1: [760,-548,0,27,505], // COMBINING LEFT RIGHT ARROW ABOVE + 0x20E4: [1023,155,1510,25,1485], // COMBINING ENCLOSING UPWARD POINTING TRIANGLE + 0x20E5: [662,156,506,50,456], // COMBINING REVERSE SOLIDUS OVERLAY + 0x20E6: [662,156,523,129,394], // COMBINING DOUBLE VERTICAL STROKE OVERLAY + 0x20E7: [725,178,926,55,871], // COMBINING ANNUITY SYMBOL + 0x20E8: [-119,218,0,18,515], // COMBINING TRIPLE UNDERDOT + 0x20E9: [681,-538,0,2,535], // COMBINING WIDE BRIDGE ABOVE + 0x20EA: [419,-87,1000,27,973], // COMBINING LEFTWARDS ARROW OVERLAY + 0x20EC: [681,-548,0,27,463], // COMBINING RIGHTWARDS HARPOON WITH BARB DOWNWARDS + 0x20ED: [681,-548,0,27,463], // COMBINING LEFTWARDS HARPOON WITH BARB DOWNWARDS + 0x20EE: [-40,252,490,27,463], // COMBINING LEFT ARROW BELOW + 0x20EF: [-40,252,490,27,463] // COMBINING RIGHT ARROW BELOW + }); + + REPLACE(SIZE1,{ + 0x302: [767,-554,0,0,560], // COMBINING CIRCUMFLEX ACCENT + 0x303: [750,-598,0,-2,558], // COMBINING TILDE + 0x305: [820,-770,0,0,1000], // COMBINING OVERLINE + 0x30C: [767,-554,0,0,560], // COMBINING CARON + 0x330: [-117,269,0,-2,558], // COMBINING TILDE BELOW + 0x332: [-127,177,0,0,1000], // COMBINING LOW LINE + 0x338: [532,21,0,0,563], // COMBINING LONG SOLIDUS OVERLAY + 0x20D0: [749,-584,0,28,899], // COMBINING LEFT HARPOON ABOVE + 0x20D1: [749,-584,0,27,898], // COMBINING RIGHT HARPOON ABOVE + 0x20D6: [735,-482,0,27,899], // COMBINING LEFT ARROW ABOVE + 0x20D7: [736,-482,0,27,899], // COMBINING RIGHT ARROW ABOVE + 0x20EC: [-123,288,0,27,898], // COMBINING RIGHTWARDS HARPOON WITH BARB DOWNWARDS + 0x20ED: [-123,288,0,28,899], // COMBINING LEFTWARDS HARPOON WITH BARB DOWNWARDS + 0x20EE: [-26,279,0,27,899], // COMBINING LEFT ARROW BELOW + 0x20EF: [-25,279,0,27,899] // COMBINING RIGHT ARROW BELOW + }); + + REPLACE(SIZE2,{ + 0x302: [777,-564,0,0,979], // COMBINING CIRCUMFLEX ACCENT + 0x303: [760,-608,0,-2,977], // COMBINING TILDE + 0x305: [820,-770,0,0,1500], // COMBINING OVERLINE + 0x30C: [777,-564,0,0,979], // COMBINING CARON + 0x330: [-117,269,0,-2,977], // COMBINING TILDE BELOW + 0x332: [-127,177,0,0,1000], // COMBINING LOW LINE + 0x338: [662,0,0,0,714], // COMBINING LONG SOLIDUS OVERLAY + 0x20D0: [749,-584,0,27,1335], // COMBINING LEFT HARPOON ABOVE + 0x20D1: [749,-584,0,27,1335], // COMBINING RIGHT HARPOON ABOVE + 0x20D6: [735,-482,0,27,1335], // COMBINING LEFT ARROW ABOVE + 0x20D7: [735,-482,0,27,1335], // COMBINING RIGHT ARROW ABOVE + 0x20EC: [-123,288,0,27,1335], // COMBINING RIGHTWARDS HARPOON WITH BARB DOWNWARDS + 0x20ED: [-123,288,0,27,1335], // COMBINING LEFTWARDS HARPOON WITH BARB DOWNWARDS + 0x20EE: [-26,279,0,27,1335], // COMBINING LEFT ARROW BELOW + 0x20EF: [-26,279,0,27,1335] // COMBINING RIGHT ARROW BELOW + }); + + REPLACE(SIZE3,{ + 0x302: [777,-564,0,0,1460], // COMBINING CIRCUMFLEX ACCENT + 0x303: [774,-608,0,-2,1458], // COMBINING TILDE + 0x305: [820,-770,0,0,2000], // COMBINING OVERLINE + 0x30C: [777,-564,0,0,1460], // COMBINING CARON + 0x330: [-117,283,0,-2,1458], // COMBINING TILDE BELOW + 0x332: [-127,177,0,0,2000], // COMBINING LOW LINE + 0x338: [662,156,0,137,548], // COMBINING LONG SOLIDUS OVERLAY + 0x20D0: [749,-584,0,27,1771], // COMBINING LEFT HARPOON ABOVE + 0x20D1: [749,-584,0,27,1771], // COMBINING RIGHT HARPOON ABOVE + 0x20D6: [735,-482,0,27,1771], // COMBINING LEFT ARROW ABOVE + 0x20D7: [735,-482,0,27,1771], // COMBINING RIGHT ARROW ABOVE + 0x20EC: [-123,288,0,27,1771], // COMBINING RIGHTWARDS HARPOON WITH BARB DOWNWARDS + 0x20ED: [-123,288,0,27,1771], // COMBINING LEFTWARDS HARPOON WITH BARB DOWNWARDS + 0x20EE: [-26,279,0,27,1771], // COMBINING LEFT ARROW BELOW + 0x20EF: [-26,279,0,27,1771] // COMBINING RIGHT ARROW BELOW + }); + + REPLACE(SIZE4,{ + 0x302: [796,-573,0,0,1886], // COMBINING CIRCUMFLEX ACCENT + 0x303: [771,-608,0,0,1886], // COMBINING TILDE + 0x305: [820,-770,0,0,2500], // COMBINING OVERLINE + 0x30C: [796,-573,0,0,1886], // COMBINING CARON + 0x330: [-117,280,0,0,1886], // COMBINING TILDE BELOW + 0x332: [-127,177,0,0,2500], // COMBINING LOW LINE + 0x338: [731,228,0,170,491], // COMBINING LONG SOLIDUS OVERLAY + 0x20D0: [749,-584,0,27,2207], // COMBINING LEFT HARPOON ABOVE + 0x20D1: [749,-584,0,27,2207], // COMBINING RIGHT HARPOON ABOVE + 0x20D6: [735,-482,0,27,2207], // COMBINING LEFT ARROW ABOVE + 0x20D7: [735,-482,0,27,2207], // COMBINING RIGHT ARROW ABOVE + 0x20EC: [-123,288,0,27,2207], // COMBINING RIGHTWARDS HARPOON WITH BARB DOWNWARDS + 0x20ED: [-123,288,0,27,2207], // COMBINING LEFTWARDS HARPOON WITH BARB DOWNWARDS + 0x20EE: [-26,279,0,27,2207], // COMBINING LEFT ARROW BELOW + 0x20EF: [-26,279,0,27,2207] // COMBINING RIGHT ARROW BELOW + }); + + REPLACE(SIZE5,{ + 0x302: [816,-572,0,0,2328], // COMBINING CIRCUMFLEX ACCENT + 0x303: [780,-617,0,0,2328], // COMBINING TILDE + 0x305: [820,-770,0,0,3000], // COMBINING OVERLINE + 0x30C: [816,-572,0,0,2328], // COMBINING CARON + 0x330: [-117,280,0,0,2328], // COMBINING TILDE BELOW + 0x332: [-127,177,0,0,3000], // COMBINING LOW LINE + 0x338: [960,454,0,119,557], // COMBINING LONG SOLIDUS OVERLAY + 0x20D0: [749,-584,0,0,3000], // COMBINING LEFT HARPOON ABOVE + 0x20D1: [749,-584,0,0,3000], // COMBINING RIGHT HARPOON ABOVE + 0x20D6: [735,-482,0,0,3000], // COMBINING LEFT ARROW ABOVE + 0x20D7: [735,-482,0,0,3000], // COMBINING RIGHT ARROW ABOVE + 0x20EC: [-123,288,0,0,3000], // COMBINING RIGHTWARDS HARPOON WITH BARB DOWNWARDS + 0x20ED: [-123,288,0,0,3000], // COMBINING LEFTWARDS HARPOON WITH BARB DOWNWARDS + 0x20EE: [-26,279,0,0,3000], // COMBINING LEFT ARROW BELOW + 0x20EF: [-26,279,0,0,3000] // COMBINING RIGHT ARROW BELOW + }); + + MathJax.Hub.Register.LoadHook(HTMLCSS.fontDir+"/General/BoldItalic/CombDiactForSymbols.js", + function () { + REPLACE("STIXGeneral-bold-italic",{ + 0x20DD: [760,254,1073,32,1041] // COMBINING ENCLOSING CIRCLE + }); + } + ); + + var SIZES = [SIZE1,SIZE2,SIZE3,SIZE4]; + var CHARS = [0x2C6,0x2C7,0x2DC,0x2E7]; + + for (var i = 0; i < SIZES.length; i++) { + for (var j = 0; j < CHARS.length; j++) { + delete HTMLCSS.FONTDATA.FONTS[SIZES[i]][j]; + } + } + + + MathJax.Ajax.loadComplete(HTMLCSS.fontDir+"/fontdata-beta.js"); + +})(MathJax.OutputJax["HTML-CSS"],MathJax.InputJax.TeX); + diff --git a/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/fontdata.js b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/fontdata.js new file mode 100644 index 0000000..c6203a5 --- /dev/null +++ b/modules/MathJax/jax/output/HTML-CSS/fonts/STIX/fontdata.js @@ -0,0 +1,1427 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/font/STIX/fontdata.js + * + * Initializes the HTML-CSS OutputJax to use the STIX fonts + * for displaying mathematics. + * + * --------------------------------------------------------------------- + * + * Copyright (c) 2009-2011 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +(function (HTMLCSS) { + var VERSION = "1.1"; + + HTMLCSS.allowWebFonts = false; + + var GENERAL = "STIXGeneral", + BOLD = "STIXGeneral-bold", + ITALIC = "STIXGeneral-italic", + NONUNI = "STIXNonUnicode", + SIZE1 = "STIXSizeOneSym", + SIZE2 = "STIXSizeTwoSym", + SIZE3 = "STIXSizeThreeSym", + SIZE4 = "STIXSizeFourSym", + SIZE5 = "STIXSizeFiveSym"; + var H = "H", V = "V"; + + HTMLCSS.Augment({ + FONTDATA: { + version: VERSION, + + TeX_factor: 1.125, // TeX em's to STIX em's seem to need this + baselineskip: 1.2, + lineH: .8, lineD: .2, + + FONTS: { + "STIXGeneral": "General/Regular/Main.js", + "STIXGeneral-italic": "General/Italic/Main.js", + "STIXGeneral-bold": "General/Bold/Main.js", + "STIXGeneral-bold-italic": "General/BoldItalic/Main.js", + "STIXNonUnicode": "NonUnicode/Regular/Main.js", + "STIXNonUnicode-italic": "NonUnicode/Italic/Main.js", + "STIXNonUnicode-bold": "NonUnicode/Bold/Main.js", + "STIXNonUnicode-bold-italic": "NonUnicode/BoldItalic/Main.js", + "STIXVariants": "Variants/Regular/All.js", + "STIXSizeOneSym": "SizeOneSym/Regular/All.js", + "STIXSizeTwoSym": "SizeTwoSym/Regular/All.js", + "STIXSizeThreeSym": "SizeThreeSym/Regular/All.js", + "STIXSizeFourSym": "SizeFourSym/Regular/All.js", + "STIXSizeFiveSym": "SizeFiveSym/Regular/All.js", + "STIXIntegralsD": "IntegralsD/Regular/All.js" + }, + + VARIANT: { + "normal": {fonts: [GENERAL,NONUNI,SIZE1]}, + "bold": {fonts: [BOLD,"STIXNonUnicode-bold","STIXSizeOneSym-bold"], bold:true}, + "italic": {fonts: [ITALIC,"STIXNonUnicode-italic",GENERAL,NONUNI,SIZE1], italic:true}, + "bold-italic": {fonts: ["STIXGeneral-bold-italic","STIXNonUnicode-bold-italic"], bold:true, italic:true}, + "double-struck": {offsetA: 0x1D538, offsetN: 0x1D7D8, + remap: {0x1D53A: 0x2102, 0x1D53F: 0x210D, 0x1D545: 0x2115, 0x1D547: 0x2119, + 0x1D548: 0x211A, 0x1D549: 0x211D, 0x1D551: 0x2124}}, + "fraktur": {offsetA: 0x1D504, + remap: {0x1D506: 0x212D, 0x1D50B: 0x210C, 0x1D50C: 0x2111, 0x1D515: 0x211C, 0x1D51D: 0x2128}}, + "bold-fraktur": {fonts: [BOLD], offsetA: 0x1D56C, bold:true}, + "script": {fonts: [ITALIC], offsetA: 0x1D49C, + remap: {0x1D49D: 0x212C, 0x1D4A0: 0x2130, 0x1D4A1: 0x2131, 0x1D4A3: 0x210B, + 0x1D4A4: 0x2110, 0x1D4A7: 0x2112, 0x1D4A8: 0x2133, 0x1D4AD: 0x211B, + 0x1D4BA: 0x212F, 0x1D4BC: 0x210A, 0x1D4C4: 0x2134}}, + "bold-script": {fonts: [ITALIC], offsetA: 0x1D4D0, bold:true}, + "sans-serif": {offsetA: 0x1D5A0, offsetN: 0x1D7E2, offsetG: 0xE17D}, + "bold-sans-serif": {offsetA: 0x1D5D4, offsetG: 0x1D756, offsetN: 0x1D7EC, bold:true}, + "sans-serif-italic": {fonts: [ITALIC], offsetA: 0x1D608, offsetN: 0xE1B4, offsetG: 0xE1BF, italic:true}, + "sans-serif-bold-italic": {fonts: ["STIXGeneral-bold-italic"], offsetA: 0x1D63C, offsetN: 0xE1F6, offsetG: 0x1D790, bold:true, italic:true}, + "monospace": {offsetA: 0x1D670, offsetN: 0x1D7F6}, + "-STIX-variant": {fonts:["STIXVariants",NONUNI,GENERAL]}, + "-tex-caligraphic": {fonts: [ITALIC,"STIXNonUnicode-italic",NONUNI,SIZE1], offsetA: 0xE22D, noLowerCase: 1}, + "-tex-oldstyle": {offsetN: 0xE261, + remap: {0xE262: 0xE265, 0xE263: 0xE269, 0xE264: 0xE26D, 0xE265: 0xE271, + 0xE266: 0xE275, 0xE267: 0xE279, 0xE268: 0xE27D, 0xE269: 0xE281, + 0xE26A: 0xE285}}, + "-largeOp": {fonts:[SIZE1,"STIXIntegralsD",NONUNI,GENERAL]}, + "-smallOp": {} + }, + + RANGES: [ + {name: "alpha", low: 0x61, high: 0x7A, offset: "A", add: 26}, + {name: "Alpha", low: 0x41, high: 0x5A, offset: "A"}, + {name: "number", low: 0x30, high: 0x39, offset: "N"}, + {name: "greek", low: 0x03B1, high: 0x03C9, offset: "G", add: 25}, + {name: "Greek", low: 0x0391, high: 0x03F6, offset: "G", + remap: {0x03F5: 53, 0x03D1: 54, 0x03F0: 55, 0x03D5: 56, 0x03F1: 57, 0x03D6: 58, 0x03F4: 17}} + ], + + RULECHAR: 0x203E, + + REMAP: { + 0x2F3: 0x2DA, 0x2F4: 0x2CA, // ring below, middle grave + 0xFE37: 0x23DE, 0xFE38: 0x23DF, // OverBrace, UnderBrace + 0x3008: 0x27E8, 0x3009: 0x27E9, // langle, rangle + 0x2758: 0x2223 // VerticalSeparator + }, + + DELIMITERS: { + 0x0028: // ( + { + dir: V, HW: [[.844,GENERAL],[1.230,SIZE1],[1.353,SIZE1,1.1],[1.845,SIZE2], + [2.048,SIZE2,1.11],[2.460,SIZE3],[2.472,SIZE3,1.005],[3.075,SIZE4]], + stretch: {top:[0x239B,SIZE1], ext:[0x239C,SIZE1], bot:[0x239D,SIZE1]} + }, + 0x0029: // ) + { + dir: V, HW: [[.844,GENERAL],[1.230,SIZE1],[1.353,SIZE1,1.1],[1.845,SIZE2], + [2.048,SIZE2,1.11],[2.460,SIZE3],[2.472,SIZE3,1.005],[3.075,SIZE4]], + stretch: {top:[0x239E,SIZE1], ext:[0x239F,SIZE1], bot:[0x23A0,SIZE1]} + }, + 0x002F: // / + { + dir: V, HW: [[.690,GENERAL],[1.230,SIZE1],[1.353,SIZE1,1.1],[1.845,SIZE2], + [2.048,SIZE2,1.11],[2.460,SIZE3],[2.472,SIZE3,1.005],[3.075,SIZE4]] + }, + 0x005B: // [ + { + dir: V, HW: [[.818,GENERAL],[1.230,SIZE1],[1.353,SIZE1,1.1],[1.845,SIZE2], + [2.048,SIZE2,1.11],[2.460,SIZE3],[2.472,SIZE3,1.005],[3.075,SIZE4]], + stretch: {top:[0x23A1,SIZE1], ext:[0x23A2,SIZE1], bot:[0x23A3,SIZE1]} + }, + 0x005C: // \ + { + dir: V, HW: [[.690,GENERAL],[1.230,SIZE1],[1.353,SIZE1,1.1],[1.845,SIZE2], + [2.048,SIZE2,1.11],[2.460,SIZE3],[2.472,SIZE3,1.005],[3.075,SIZE4]] + }, + 0x005D: // ] + { + dir: V, HW: [[.818,GENERAL],[1.230,SIZE1],[1.353,SIZE1,1.1],[1.845,SIZE2], + [2.048,SIZE2,1.11],[2.460,SIZE3],[2.472,SIZE3,1.005],[3.075,SIZE4]], + stretch: {top:[0x23A4,SIZE1], ext:[0x23A5,SIZE1], bot:[0x23A6,SIZE1]} + }, + 0x007B: // { + { + dir: V, HW: [[.861,GENERAL],[1.230,SIZE1],[1.353,SIZE1,1.1],[1.845,SIZE2], + [2.048,SIZE2,1.11],[2.460,SIZE3],[2.472,SIZE3,1.005],[3.075,SIZE4]], + stretch: {top:[0x23A7,SIZE1], mid:[0x23A8,SIZE1], bot:[0x23A9,SIZE1], ext:[0x23AA,SIZE1]} + }, + 0x007C: // | + { + dir: V, HW: [[.69,GENERAL]], stretch: {ext:[0x2223,GENERAL]} + }, + 0x007D: // } + { + dir: V, HW: [[.861,GENERAL],[1.230,SIZE1],[1.353,SIZE1,1.1],[1.845,SIZE2], + [2.048,SIZE2,1.11],[2.460,SIZE3],[2.472,SIZE3,1.005],[3.075,SIZE4]], + stretch: {top:[0x23AB,SIZE1], mid:[0x23AC,SIZE1], bot:[0x23AD,SIZE1], ext:[0x23AA,SIZE1]} + }, + 0x02C6: // wide hat + { + dir: H, HW: [[.333,GENERAL],[.560,SIZE1],[.979,SIZE2],[1.46,SIZE3],[1.886,SIZE4],[2.328,SIZE5]] + }, + 0x02C7: // wide caron + { + dir: H, HW: [[.333,GENERAL],[.560,SIZE1],[.979,SIZE2],[1.46,SIZE3],[1.886,SIZE4],[2.328,SIZE5]] + }, + 0x02DC: // wide tilde + { + dir: H, HW: [[.333,GENERAL],[.558,SIZE1],[.978,SIZE2],[1.458,SIZE3],[1.886,SIZE4],[2.328,SIZE5]] + }, + 0x2016: // double vertical line + { + dir: V, HW: [[.879,GENERAL]], stretch: {ext:[0x2016,GENERAL]} + }, + 0x203E: // horizontal line + { + dir: H, HW: [[.5,GENERAL]], stretch: {rep:[0x203E,GENERAL]} + }, + 0x2190: // left arrow + { + dir: H, HW: [[.926,GENERAL]], stretch: {left:[0x2190,GENERAL], rep:[0x2212,GENERAL]} + }, + 0x2191: // \uparrow + { + dir: V, HW: [[.818,GENERAL]], stretch: {top:[0x2191,GENERAL], ext:[0x23D0,GENERAL]} + }, + 0x2192: // right arrow + { + dir: H, HW: [[.926,GENERAL]], stretch: {rep:[0x2212,GENERAL], right:[0x2192,GENERAL]} + }, + 0x2193: // \downarrow + { + dir: V, HW: [[.818,GENERAL]], stretch: {ext:[0x23D0,GENERAL], bot:[0x2193,GENERAL]} + }, + 0x2194: // left-right arrow + { + dir: H, HW: [[.926,GENERAL]], + stretch: {left:[0x2190,GENERAL], rep:[0x2212,GENERAL], right:[0x2192,GENERAL]} + }, + 0x2195: // \updownarrow + { + dir: V, HW: [[.818,GENERAL]], + stretch: {top:[0x2191,GENERAL], ext:[0x23D0,GENERAL], bot:[0x2193,GENERAL]} + }, + 0x21D0: // left double arrow + { + dir: H, HW: [[.926,GENERAL]], stretch: {left:[0x21D0,GENERAL], rep:[0x3D,GENERAL]} + }, + 0x21D1: // \Uparrow + { + dir: V, HW: [[.818,GENERAL]], stretch: {top:[0x21D1,GENERAL], ext:[0x2225,GENERAL,.1]} + }, + 0x21D2: // right double arrow + { + dir: H, HW: [[.926,GENERAL]], stretch: {rep:[0x3D,GENERAL], right:[0x21D2,GENERAL]} + }, + 0x21D3: // \Downarrow + { + dir: V, HW: [[.818,GENERAL]], stretch: {ext:[0x2225,GENERAL,.1], bot:[0x21D3,GENERAL]} + }, + 0x21D4: // left-right double arrow + { + dir: H, HW: [[.926,GENERAL]], + stretch: {left:[0x21D0,GENERAL], rep:[0x3D,GENERAL], right:[0x21D2,GENERAL]} + }, + 0x21D5: // \Updownarrow + { + dir: V, HW: [[.818,GENERAL]], + stretch: {top:[0x21D1,GENERAL], ext:[0x2225,GENERAL,.1], bot:[0x21D3,GENERAL]} + }, + 0x221A: // \surd + { + dir: V, HW: [[.954,"STIXVariants"],[1.232,GENERAL],[1.847,SIZE1],[2.460,SIZE2],[3.075,SIZE3]], + stretch: {top: [0xE001,NONUNI], ext: [0xE000,NONUNI], bot: [0x23B7,SIZE1], fullExtenders:true} + }, + 0x2223: // \vert + { + dir: V, HW: [[.879,GENERAL]], stretch: {ext:[0x2223,GENERAL]} + }, + 0x2225: // \Vert + { + dir: V, HW: [[.879,GENERAL]], stretch: {ext:[0x2225,GENERAL]} + }, + 0x2308: // \lceil + { + dir: V, HW: [[.926,GENERAL],[1.230,SIZE1],[1.353,SIZE1,1.1],[1.845,SIZE2], + [2.048,SIZE2,1.11],[2.460,SIZE3],[2.472,SIZE3,1.005],[3.075,SIZE4]], + stretch: {top:[0x23A1,SIZE1], ext:[0x23A2,SIZE1]} + }, + 0x2309: // \rceil + { + dir: V, HW: [[.926,GENERAL],[1.230,SIZE1],[1.353,SIZE1,1.1],[1.845,SIZE2], + [2.048,SIZE2,1.11],[2.460,SIZE3],[2.472,SIZE3,1.005],[3.075,SIZE4]], + streth: {top:[0x23A4,SIZE1], ext:[0x23A5,SIZE1]} + }, + 0x230A: // \lfloor + { + dir: V, HW: [[.926,GENERAL],[1.230,SIZE1],[1.353,SIZE1,1.1],[1.845,SIZE2], + [2.048,SIZE2,1.11],[2.460,SIZE3],[2.472,SIZE3,1.005],[3.075,SIZE4]], + stretch: {ext:[0x23A2,SIZE1], bot:[0x23A3,SIZE1]} + }, + 0x230B: // \rfloor + { + dir: V, HW: [[.926,GENERAL],[1.230,SIZE1],[1.353,SIZE1,1.1],[1.845,SIZE2], + [2.048,SIZE2,1.11],[2.460,SIZE3],[2.472,SIZE3,1.005],[3.075,SIZE4]], + stretch: {ext:[0x23A5,SIZE1], bot:[0x23A6,SIZE1]} + }, + 0x23AA: // \bracevert + { + dir: V, HW: [[1.01,SIZE1]], + stretch: {top:[0x23AA,SIZE1], ext:[0x23AA,SIZE1], bot:[0x23AA,SIZE1]} + }, + 0x23AF: // horizontal line + { + dir: H, HW: [[.315,GENERAL]], stretch: {rep:[0x23AF,GENERAL]} + }, + 0x23B0: // \lmoustache + { + dir: V, HW: [[1.0,SIZE1]], + stretch: {top:[0x23A7,SIZE1], ext:[0x23AA,SIZE1], bot:[0x23AD,SIZE1]} + }, + 0x23B1: // \rmoustache + { + dir: V, HW: [[1.0,SIZE1]], + stretch: {top:[0x23AB,SIZE1], ext:[0x23AA,SIZE1], bot:[0x23A9,SIZE1]} + }, + 0x23D0: // vertical line extension + { + dir: V, HW: [[.304,GENERAL],[.690,GENERAL,null,0x7C],[.879,GENERAL,null,0x2223]], + stretch: {ext:[0x2223,GENERAL]} + }, + 0x23DE: // horizontal brace down + { + dir: H, HW: [[.556,GENERAL],[.926,SIZE1],[1.46,SIZE2],[1.886,SIZE3],[2.328,SIZE4],[3.238,SIZE5]], + stretch: {left:[0xE13B,NONUNI], mid:[0xE140,NONUNI], right:[0xE13C,NONUNI], rep:[0xE14A,NONUNI]} + }, + 0x23DF: // horizontal brace up + { + dir: H, HW: [[.556,GENERAL],[.926,SIZE1],[1.46,SIZE2],[1.886,SIZE3],[2.328,SIZE4],[3.238,SIZE5]], + stretch: {left:[0xE13D,NONUNI], mid:[0xE141,NONUNI], right:[0xE13E,NONUNI], rep:[0xE14B,NONUNI]} + }, + 0x27E8: // \langle + { + dir: V, HW: [[.926,GENERAL],[1.230,SIZE1],[1.353,SIZE1,1.1],[1.845,SIZE2], + [2.048,SIZE2,1.11],[2.460,SIZE3],[2.472,SIZE3,1.005],[3.075,SIZE4]] + }, + 0x27E9: // \rangle + { + dir: V, HW: [[.926,GENERAL],[1.230,SIZE1],[1.353,SIZE1,1.1],[1.845,SIZE2], + [2.048,SIZE2,1.11],[2.460,SIZE3],[2.472,SIZE3,1.005],[3.075,SIZE4]] + }, + 0x27EE: // \lgroup + { + dir: V, HW: [[.853,GENERAL]], + stretch: {top:[0x23A7,SIZE1], ext:[0x23AA,SIZE1], bot:[0x23A9,SIZE1]} + }, + 0x27EF: // \rgroup + { + dir: V, HW: [[.853,GENERAL]], + stretch: {top:[0x23AB,SIZE1], ext:[0x23AA,SIZE1], bot:[0x23AD,SIZE1]} + }, + 0x002D: {alias: 0x23AF, dir:H}, // minus + 0x005E: {alias: 0x02D6, dir:H}, // wide hat + 0x005F: {alias: 0x23AF, dir:H}, // low line + 0x007E: {alias: 0x02DC, dir:H}, // wide tilde + 0x00AF: {alias: 0x23AF, dir:H}, // over line + 0x0302: {alias: 0x02C6, dir:H}, // wide hat + 0x0303: {alias: 0x02DC, dir:H}, // wide tilde + 0x030C: {alias: 0x02C7, dir:H}, // wide caron + 0x0332: {alias: 0x23AF, dir:H}, // combining low line + 0x2015: {alias: 0x23AF, dir:H}, // horizontal line + 0x2017: {alias: 0x23AF, dir:H}, // horizontal line + 0x2212: {alias: 0x23AF, dir:H}, // minus + 0x2329: {alias: 0x27E8, dir:V}, // langle + 0x232A: {alias: 0x27E9, dir:V}, // rangle + 0x2500: {alias: 0x2212, dir:H}, // horizontal line + 0x2758: {alias: 0x2223, dir:V}, // vertical separator + 0x3008: {alias: 0x27E8, dir:V}, // langle + 0x3009: {alias: 0x27E9, dir:V}, // rangle + 0xFE37: {alias: 0x23DE, dir:H}, // horizontal brace down + 0xFE38: {alias: 0x23DF, dir:H} // horizontal brace up + } + } + }); + + MathJax.Hub.Register.StartupHook("TeX Jax Ready", function () { + var TEX = MathJax.InputJax.TeX; + + TEX.isSTIX = true; + TEX.Definitions.mathchar0mi.hbar = ['210F',{variantForm: true}]; + TEX.Definitions.mathchar0mi.prime[1].variantForm = true; + TEX.Definitions.mathchar0mi.emptyset[1].variantForm = true; + TEX.Definitions.mathchar0mi.backslash[1].variantForm = true; + TEX.Definitions.mathchar0mi.triangle[1].mathsize = "71%"; + + TEX.Definitions.mathchar0mo.setminus = ['2216',{variantForm: true}]; + }); + + HTMLCSS.FONTDATA.FONTS['STIXGeneral'] = { + directory: 'General/Regular', + family: 'STIXGeneral', + Ranges: [ + [0xA0,0xFF,"Latin1Supplement"], + [0x100,0x17F,"LatinExtendedA"], + [0x180,0x24F,"LatinExtendedB"], + [0x250,0x2AF,"IPAExtensions"], + [0x2B0,0x2FF,"SpacingModLetters"], + [0x300,0x36F,"CombDiacritMarks"], + [0x370,0x3FF,"GreekAndCoptic"], + [0x400,0x4FF,"Cyrillic"], + [0x1D00,0x1DBF,"PhoneticExtensions"], + [0x1E00,0x1EFF,"LatinExtendedAdditional"], + [0x2000,0x206F,"GeneralPunctuation"], + [0x2070,0x209F,"SuperAndSubscripts"], + [0x20A0,0x20CF,"CurrencySymbols"], + [0x20D0,0x20FF,"CombDiactForSymbols"], + [0x2100,0x214F,"LetterlikeSymbols"], + [0x2150,0x218F,"NumberForms"], + [0x2190,0x21FF,"Arrows"], + [0x2200,0x22FF,"MathOperators"], + [0x2300,0x23FF,"MiscTechnical"], + [0x2400,0x243F,"ControlPictures"], + [0x2460,0x24FF,"EnclosedAlphanum"], + [0x2500,0x257F,"BoxDrawing"], + [0x2580,0x259F,"BlockElements"], + [0x25A0,0x25FF,"GeometricShapes"], + [0x2600,0x26FF,"MiscSymbols"], + [0x2700,0x27BF,"Dingbats"], + [0x27C0,0x27EF,"MiscMathSymbolsA"], + [0x27F0,0x27FF,"SupplementalArrowsA"], + [0x2900,0x297F,"SupplementalArrowsB"], + [0x2980,0x29FF,"MiscMathSymbolsB"], + [0x2A00,0x2AFF,"SuppMathOperators"], + [0x2B00,0x2BFF,"MiscSymbolsAndArrows"], + [0x3000,0x303F,"CJK"], + [0x3040,0x309F,"Hiragana"], + [0xA720,0xA7FF,"LatinExtendedD"], + [0xFB00,0xFB4F,"AlphaPresentForms"], + [0xFFF0,0xFFFF,"Specials"], + [0x1D400,0x1D433,"MathBold"], + [0x1D434,0x1D467,"MathItalic"], + [0x1D468,0x1D49B,"MathBoldItalic"], + [0x1D49C,0x1D4CF,"MathScript"], + [0x1D4D0,0x1D503,"MathBoldScript"], + [0x1D504,0x1D537,"Fraktur"], + [0x1D538,0x1D56B,"BBBold"], + [0x1D56C,0x1D59F,"BoldFraktur"], + [0x1D5A0,0x1D5D3,"MathSS"], + [0x1D5D4,0x1D607,"MathSSBold"], + [0x1D608,0x1D63B,"MathSSItalic"], + [0x1D63C,0x1D66F,"MathSSItalicBold"], + [0x1D670,0x1D6A3,"MathTT"], + [0x1D6A4,0x1D6A5,"ij"], + [0x1D6A8,0x1D6E1,"GreekBold"], + [0x1D6E2,0x1D71B,"GreekItalic"], + [0x1D71C,0x1D755,"GreekBoldItalic"], + [0x1D756,0x1D78F,"GreekSSBold"], + [0x1D790,0x1D7C9,"GreekSSBoldItalic"], + [0x1D7CE,0x1D7D7,"MathBold"], + [0x1D7D8,0x1D7E1,"BBBold"], + [0x1D7E2,0x1D7EB,"MathSS"], + [0x1D7EC,0x1D7F6,"MathSSBold"], + [0x1D7F6,0x1D7FF,"MathTT"] + ], + 0x20: [0,0,250,0,0], // SPACE + 0x21: [676,9,333,130,236], // EXCLAMATION MARK + 0x22: [676,-431,408,77,331], // QUOTATION MARK + 0x23: [662,0,500,6,495], // NUMBER SIGN + 0x24: [727,87,500,44,458], // DOLLAR SIGN + 0x25: [706,19,747,61,686], // PERCENT SIGN + 0x26: [676,13,778,42,750], // AMPERSAND + 0x27: [676,-431,180,48,133], // APOSTROPHE + 0x28: [676,177,333,48,304], // LEFT PARENTHESIS + 0x29: [676,177,333,29,285], // RIGHT PARENTHESIS + 0x2A: [676,-265,500,68,433], // ASTERISK + 0x2B: [547,41,685,48,636], // PLUS SIGN + 0x2C: [102,141,250,55,195], // COMMA + 0x2D: [257,-194,333,39,285], // HYPHEN-MINUS + 0x2E: [100,11,250,70,181], // FULL STOP + 0x2F: [676,14,278,-9,287], // SOLIDUS + 0x30: [676,14,500,24,476], // DIGIT ZERO + 0x31: [676,0,500,111,394], // DIGIT ONE + 0x32: [676,0,500,29,474], // DIGIT TWO + 0x33: [676,14,500,41,431], // DIGIT THREE + 0x34: [676,0,500,12,473], // DIGIT FOUR + 0x35: [688,14,500,31,438], // DIGIT FIVE + 0x36: [684,14,500,34,468], // DIGIT SIX + 0x37: [662,8,500,20,449], // DIGIT SEVEN + 0x38: [676,14,500,56,445], // DIGIT EIGHT + 0x39: [676,22,500,30,459], // DIGIT NINE + 0x3A: [459,11,278,81,192], // COLON + 0x3B: [459,141,278,80,219], // SEMICOLON + 0x3C: [534,24,685,56,621], // LESS-THAN SIGN + 0x3D: [386,-120,685,48,637], // EQUALS SIGN + 0x3E: [534,24,685,56,621], // GREATER-THAN SIGN + 0x3F: [676,8,444,68,414], // QUESTION MARK + 0x40: [676,14,921,116,809], // COMMERCIAL AT + 0x41: [674,0,722,15,707], // LATIN CAPITAL LETTER A + 0x42: [662,0,667,17,593], // LATIN CAPITAL LETTER B + 0x43: [676,14,667,28,633], // LATIN CAPITAL LETTER C + 0x44: [662,0,722,16,685], // LATIN CAPITAL LETTER D + 0x45: [662,0,611,12,597], // LATIN CAPITAL LETTER E + 0x46: [662,0,556,11,546], // LATIN CAPITAL LETTER F + 0x47: [676,14,722,32,709], // LATIN CAPITAL LETTER G + 0x48: [662,0,722,18,703], // LATIN CAPITAL LETTER H + 0x49: [662,0,333,18,315], // LATIN CAPITAL LETTER I + 0x4A: [662,14,373,-6,354], // LATIN CAPITAL LETTER J + 0x4B: [662,0,722,33,723], // LATIN CAPITAL LETTER K + 0x4C: [662,0,611,12,598], // LATIN CAPITAL LETTER L + 0x4D: [662,0,889,12,864], // LATIN CAPITAL LETTER M + 0x4E: [662,11,722,12,707], // LATIN CAPITAL LETTER N + 0x4F: [676,14,722,34,688], // LATIN CAPITAL LETTER O + 0x50: [662,0,557,16,542], // LATIN CAPITAL LETTER P + 0x51: [676,177,722,34,701], // LATIN CAPITAL LETTER Q + 0x52: [662,0,667,17,660], // LATIN CAPITAL LETTER R + 0x53: [676,14,556,43,491], // LATIN CAPITAL LETTER S + 0x54: [662,0,611,17,593], // LATIN CAPITAL LETTER T + 0x55: [662,14,722,14,705], // LATIN CAPITAL LETTER U + 0x56: [662,11,722,16,697], // LATIN CAPITAL LETTER V + 0x57: [662,11,944,5,932], // LATIN CAPITAL LETTER W + 0x58: [662,0,722,10,704], // LATIN CAPITAL LETTER X + 0x59: [662,0,722,22,703], // LATIN CAPITAL LETTER Y + 0x5A: [662,0,612,10,598], // LATIN CAPITAL LETTER Z + 0x5B: [662,156,333,88,299], // LEFT SQUARE BRACKET + 0x5C: [676,14,278,-9,287], // REVERSE SOLIDUS + 0x5D: [662,156,333,34,245], // RIGHT SQUARE BRACKET + 0x5E: [662,-297,469,24,446], // CIRCUMFLEX ACCENT + 0x5F: [-75,125,500,0,500], // LOW LINE + 0x60: [678,-507,333,18,242], // GRAVE ACCENT + 0x61: [460,10,444,37,442], // LATIN SMALL LETTER A + 0x62: [683,10,500,3,468], // LATIN SMALL LETTER B + 0x63: [460,10,444,25,412], // LATIN SMALL LETTER C + 0x64: [683,10,500,27,491], // LATIN SMALL LETTER D + 0x65: [460,10,444,25,424], // LATIN SMALL LETTER E + 0x66: [683,0,333,20,383], // LATIN SMALL LETTER F + 0x67: [460,218,500,28,470], // LATIN SMALL LETTER G + 0x68: [683,0,500,9,487], // LATIN SMALL LETTER H + 0x69: [683,0,278,16,253], // LATIN SMALL LETTER I + 0x6A: [683,218,278,-70,194], // LATIN SMALL LETTER J + 0x6B: [683,0,500,7,505], // LATIN SMALL LETTER K + 0x6C: [683,0,278,19,257], // LATIN SMALL LETTER L + 0x6D: [460,0,778,16,775], // LATIN SMALL LETTER M + 0x6E: [460,0,500,16,485], // LATIN SMALL LETTER N + 0x6F: [460,10,500,29,470], // LATIN SMALL LETTER O + 0x70: [460,217,500,5,470], // LATIN SMALL LETTER P + 0x71: [460,217,500,24,488], // LATIN SMALL LETTER Q + 0x72: [460,0,333,5,335], // LATIN SMALL LETTER R + 0x73: [459,10,389,51,348], // LATIN SMALL LETTER S + 0x74: [579,10,278,13,279], // LATIN SMALL LETTER T + 0x75: [450,10,500,9,480], // LATIN SMALL LETTER U + 0x76: [450,14,500,19,477], // LATIN SMALL LETTER V + 0x77: [450,14,722,21,694], // LATIN SMALL LETTER W + 0x78: [450,0,500,17,479], // LATIN SMALL LETTER X + 0x79: [450,218,500,14,475], // LATIN SMALL LETTER Y + 0x7A: [450,0,444,27,418], // LATIN SMALL LETTER Z + 0x7B: [680,181,480,100,350], // LEFT CURLY BRACKET + 0x7C: [676,14,200,67,133], // VERTICAL LINE + 0x7D: [680,181,480,130,380], // RIGHT CURLY BRACKET + 0x7E: [325,-183,541,40,502], // TILDE + 0xA0: [0,0,250,0,0], // NO-BREAK SPACE + 0xA8: [622,-523,333,18,316], // DIAERESIS + 0xAC: [393,-115,600,48,552], // NOT SIGN + 0xAF: [601,-547,333,11,322], // MACRON + 0xB1: [502,87,685,48,637], // PLUS-MINUS SIGN + 0xB7: [310,-199,250,70,181], // MIDDLE DOT + 0xD7: [529,25,640,43,597], // MULTIPLICATION SIGN + 0xF7: [516,10,564,30,534], // DIVISION SIGN + 0x131: [460,0,278,16,253], // LATIN SMALL LETTER DOTLESS I + 0x237: [460,218,278,-70,193], // LATIN SMALL LETTER DOTLESS J + 0x2C6: [674,-507,333,11,322], // MODIFIER LETTER CIRCUMFLEX ACCENT + 0x2C7: [674,-507,333,11,322], // CARON + 0x2C9: [601,-547,334,11,322], // MODIFIER LETTER MACRON + 0x2CA: [679,-509,333,93,320], // MODIFIER LETTER ACUTE ACCENT + 0x2CB: [679,-509,333,22,249], // MODIFIER LETTER GRAVE ACCENT + 0x2D8: [664,-507,335,27,308], // BREVE + 0x2D9: [622,-523,333,118,217], // DOT ABOVE + 0x2DC: [638,-532,333,1,331], // SMALL TILDE + 0x300: [678,-507,0,-371,-147], // COMBINING GRAVE ACCENT + 0x301: [678,-507,0,-371,-147], // COMBINING ACUTE ACCENT + 0x302: [674,-507,0,-386,-75], // COMBINING CIRCUMFLEX ACCENT + 0x303: [638,-532,0,-395,-65], // COMBINING TILDE + 0x304: [601,-547,0,-385,-74], // COMBINING MACRON + 0x306: [664,-507,0,-373,-92], // COMBINING BREVE + 0x307: [622,-523,0,-280,-181], // COMBINING DOT ABOVE + 0x308: [622,-523,0,-379,-81], // COMBINING DIAERESIS + 0x30A: [711,-512,0,-329,-130], // COMBINING RING ABOVE + 0x30B: [678,-507,0,-401,-22], // COMBINING DOUBLE ACUTE ACCENT + 0x30C: [674,-507,0,-385,-74], // COMBINING CARON + 0x338: [662,156,0,-380,31], // COMBINING LONG SOLIDUS OVERLAY + 0x393: [662,0,587,11,577], // GREEK CAPITAL LETTER GAMMA + 0x394: [674,0,722,48,675], // GREEK CAPITAL LETTER DELTA + 0x398: [676,14,722,34,688], // GREEK CAPITAL LETTER THETA + 0x39B: [674,0,702,15,687], // GREEK CAPITAL LETTER LAMDA + 0x39E: [662,0,643,29,614], // GREEK CAPITAL LETTER XI + 0x3A0: [662,0,722,18,703], // GREEK CAPITAL LETTER PI + 0x3A3: [662,0,624,30,600], // GREEK CAPITAL LETTER SIGMA + 0x3A5: [674,0,722,29,703], // GREEK CAPITAL LETTER UPSILON + 0x3A6: [662,0,763,35,728], // GREEK CAPITAL LETTER PHI + 0x3A8: [690,0,746,22,724], // GREEK CAPITAL LETTER PSI + 0x3A9: [676,0,744,29,715], // GREEK CAPITAL LETTER OMEGA + 0x2020: [676,149,500,59,442], // DAGGER + 0x2021: [676,153,500,58,442], // DOUBLE DAGGER + 0x2026: [100,11,1000,111,888], // HORIZONTAL ELLIPSIS + 0x2032: [678,-402,289,75,214], // PRIME + 0x203E: [820,-770,500,0,500], // OVERLINE + 0x20D7: [760,-548,0,-453,-17], // COMBINING RIGHT ARROW ABOVE + 0x2111: [695,34,762,45,711], // BLACK-LETTER CAPITAL I + 0x2118: [547,217,826,52,799], // SCRIPT CAPITAL P + 0x211C: [704,22,874,50,829], // BLACK-LETTER CAPITAL R + 0x2135: [677,13,682,43,634], // ALEF SYMBOL + 0x2190: [449,-58,926,71,857], // LEFTWARDS ARROW + 0x2191: [662,156,511,60,451], // UPWARDS ARROW + 0x2192: [448,-57,926,70,856], // RIGHTWARDS ARROW + 0x2193: [662,156,511,60,451], // DOWNWARDS ARROW + 0x2194: [449,-57,926,38,888], // LEFT RIGHT ARROW + 0x2195: [730,224,511,60,451], // UP DOWN ARROW + 0x2196: [662,156,926,70,856], // NORTH WEST ARROW + 0x2197: [662,156,926,70,856], // NORTH EAST ARROW + 0x2198: [662,156,926,70,856], // SOUTH EAST ARROW + 0x2199: [662,156,926,70,856], // SOUTH WEST ARROW + 0x21A6: [450,-57,926,70,857], // RIGHTWARDS ARROW FROM BAR + 0x21A9: [553,-57,926,70,856], // LEFTWARDS ARROW WITH HOOK + 0x21AA: [553,-57,926,70,856], // RIGHTWARDS ARROW WITH HOOK + 0x21BC: [494,-220,955,54,901], // LEFTWARDS HARPOON WITH BARB UPWARDS + 0x21BD: [286,-12,955,54,901], // LEFTWARDS HARPOON WITH BARB DOWNWARDS + 0x21C0: [494,-220,955,54,901], // RIGHTWARDS HARPOON WITH BARB UPWARDS + 0x21C1: [286,-12,955,54,901], // RIGHTWARDS HARPOON WITH BARB DOWNWARDS + 0x21CC: [539,33,926,70,856], // RIGHTWARDS HARPOON OVER LEFTWARDS HARPOON + 0x21D0: [551,45,926,60,866], // LEFTWARDS DOUBLE ARROW + 0x21D1: [662,156,685,45,641], // UPWARDS DOUBLE ARROW + 0x21D2: [551,45,926,60,866], // RIGHTWARDS DOUBLE ARROW + 0x21D3: [662,156,685,45,641], // DOWNWARDS DOUBLE ARROW + 0x21D4: [517,10,926,20,906], // LEFT RIGHT DOUBLE ARROW + 0x21D5: [730,224,685,45,641], // UP DOWN DOUBLE ARROW + 0x2200: [662,0,560,2,558], // FOR ALL + 0x2202: [668,11,471,40,471], // PARTIAL DIFFERENTIAL + 0x2203: [662,0,560,73,487], // THERE EXISTS + 0x2205: [583,79,762,50,712], // EMPTY SET + 0x2207: [662,12,731,63,667], // NABLA + 0x2208: [531,27,685,60,625], // ELEMENT OF + 0x2209: [662,157,685,60,625], // stix-negated (vert) set membership, variant + 0x220B: [531,27,685,60,625], // CONTAINS AS MEMBER + 0x220F: [763,259,1000,52,948], // N-ARY PRODUCT + 0x2210: [763,259,1000,52,948], // N-ARY COPRODUCT + 0x2211: [763,259,914,58,856], // N-ARY SUMMATION + 0x2212: [286,-220,685,64,621], // MINUS SIGN + 0x2213: [502,87,685,48,637], // MINUS-OR-PLUS SIGN + 0x2215: [710,222,523,46,478], // DIVISION SLASH + 0x2216: [411,-93,428,25,403], // SET MINUS + 0x2217: [471,-33,523,67,457], // ASTERISK OPERATOR + 0x2218: [387,-117,350,40,310], // RING OPERATOR + 0x2219: [387,-117,350,40,310], // BULLET OPERATOR + 0x221A: [973,259,928,112,963], // SQUARE ROOT + 0x221D: [430,0,685,41,643], // PROPORTIONAL TO + 0x221E: [430,0,926,70,854], // INFINITY + 0x2220: [547,0,685,23,643], // ANGLE + 0x2223: [690,189,266,100,166], // DIVIDES + 0x2225: [690,189,523,129,394], // PARALLEL TO + 0x2227: [536,29,620,31,589], // LOGICAL AND + 0x2228: [536,29,620,31,589], // LOGICAL OR + 0x2229: [536,31,620,48,572], // stix-intersection, serifs + 0x222A: [536,31,620,48,572], // stix-union, serifs + 0x222B: [824,320,459,32,639], // INTEGRAL + 0x223C: [362,-148,685,48,637], // TILDE OPERATOR + 0x2240: [547,42,286,35,249], // WREATH PRODUCT + 0x2243: [445,-55,685,48,637], // ASYMPTOTICALLY EQUAL TO + 0x2245: [532,27,685,48,637], // APPROXIMATELY EQUAL TO + 0x2248: [475,-25,685,48,637], // ALMOST EQUAL TO + 0x224D: [498,-8,685,48,637], // EQUIVALENT TO + 0x2250: [611,-120,685,48,637], // APPROACHES THE LIMIT + 0x2260: [662,156,685,48,637], // stix-not (vert) equals + 0x2261: [478,-28,685,48,637], // IDENTICAL TO + 0x2264: [609,103,685,64,629], // LESS-THAN OR EQUAL TO + 0x2265: [609,103,685,64,629], // GREATER-THAN OR EQUAL TO + 0x226A: [532,26,933,25,908], // MUCH LESS-THAN + 0x226B: [532,26,933,25,908], // MUCH GREATER-THAN + 0x227A: [532,26,685,64,621], // PRECEDES + 0x227B: [532,26,685,64,621], // SUCCEEDS + 0x227C: [628,120,685,64,621], // PRECEDES OR EQUAL TO + 0x227D: [629,119,685,64,621], // SUCCEEDS OR EQUAL TO + 0x2282: [531,25,685,64,621], // SUBSET OF + 0x2283: [531,25,685,64,621], // SUPERSET OF + 0x2286: [607,103,685,64,621], // SUBSET OF OR EQUAL TO + 0x2287: [607,103,685,64,621], // SUPERSET OF OR EQUAL TO + 0x228E: [536,31,620,48,572], // MULTISET UNION + 0x2291: [607,103,685,64,621], // SQUARE IMAGE OF OR EQUAL TO + 0x2292: [607,103,685,64,621], // SQUARE ORIGINAL OF OR EQUAL TO + 0x2293: [536,31,620,48,572], // stix-square intersection, serifs + 0x2294: [536,31,620,48,572], // stix-square union, serifs + 0x2295: [623,119,842,50,792], // stix-circled plus (with rim) + 0x2296: [623,119,842,50,792], // CIRCLED MINUS + 0x2297: [623,119,842,50,792], // stix-circled times (with rim) + 0x2298: [623,119,842,50,792], // CIRCLED DIVISION SLASH + 0x2299: [583,79,762,50,712], // CIRCLED DOT OPERATOR + 0x22A2: [662,0,685,64,621], // RIGHT TACK + 0x22A3: [662,0,685,64,621], // LEFT TACK + 0x22A4: [662,0,685,48,637], // DOWN TACK + 0x22A5: [662,0,685,48,637], // UP TACK + 0x22A8: [662,0,685,64,621], // TRUE + 0x22C0: [763,259,924,54,870], // N-ARY LOGICAL AND + 0x22C1: [763,259,924,54,870], // N-ARY LOGICAL OR + 0x22C2: [778,254,924,94,830], // N-ARY INTERSECTION + 0x22C3: [768,264,924,94,830], // N-ARY UNION + 0x22C4: [488,-16,523,26,497], // DIAMOND OPERATOR + 0x22C5: [313,-193,286,83,203], // DOT OPERATOR + 0x22C6: [597,13,700,35,665], // STAR OPERATOR + 0x22C8: [582,80,810,54,756], // BOWTIE + 0x22EE: [606,104,511,192,319], // VERTICAL ELLIPSIS + 0x22EF: [316,-189,926,108,818], // MIDLINE HORIZONTAL ELLIPSIS + 0x22F1: [520,18,926,194,732], // DOWN RIGHT DIAGONAL ELLIPSIS + 0x2308: [713,213,469,188,447], // LEFT CEILING + 0x2309: [713,213,469,27,286], // RIGHT CEILING + 0x230A: [713,213,469,188,447], // LEFT FLOOR + 0x230B: [713,213,469,27,286], // RIGHT FLOOR + 0x2322: [360,-147,1019,54,965], // stix-small down curve + 0x2323: [360,-147,1019,54,965], // stix-small up curve + 0x23AF: [286,-220,315,0,315], // HORIZONTAL LINE EXTENSION + 0x23D0: [405,-101,511,222,288], // VERTICAL LINE EXTENSION (used to extend arrows) + 0x25B3: [811,127,1145,35,1110], // WHITE UP-POINTING TRIANGLE + 0x25B9: [555,50,660,80,605], // WHITE RIGHT-POINTING SMALL TRIANGLE + 0x25BD: [811,127,1145,35,1110], // WHITE DOWN-POINTING TRIANGLE + 0x25C3: [554,51,660,55,580], // WHITE LEFT-POINTING SMALL TRIANGLE + 0x25EF: [785,282,1207,70,1137], // LARGE CIRCLE + 0x2660: [609,99,685,34,651], // BLACK SPADE SUIT + 0x2661: [603,105,685,34,651], // WHITE HEART SUIT + 0x2662: [609,105,685,41,643], // WHITE DIAMOND SUIT + 0x2663: [603,99,685,34,651], // BLACK CLUB SUIT + 0x266D: [768,10,426,57,346], // MUSIC FLAT SIGN + 0x266E: [768,181,426,75,350], // MUSIC NATURAL SIGN + 0x266F: [768,181,426,41,386], // MUSIC SHARP SIGN + 0x27E8: [713,213,400,77,335], // MATHEMATICAL LEFT ANGLE BRACKET + 0x27E9: [713,213,400,65,323], // MATHEMATICAL RIGHT ANGLE BRACKET + 0x27EE: [676,177,233,56,211], // MATHEMATICAL LEFT FLATTENED PARENTHESIS + 0x27EF: [676,177,233,22,177], // MATHEMATICAL RIGHT FLATTENED PARENTHESIS + 0x27F5: [449,-58,1574,55,1519], // LONG LEFTWARDS ARROW + 0x27F6: [449,-57,1574,55,1519], // LONG RIGHTWARDS ARROW + 0x27F7: [449,-57,1574,55,1519], // LONG LEFT RIGHT ARROW + 0x27F8: [551,45,1574,55,1519], // LONG LEFTWARDS DOUBLE ARROW + 0x27F9: [551,45,1574,55,1519], // LONG RIGHTWARDS DOUBLE ARROW + 0x27FA: [517,10,1574,55,1519], // LONG LEFT RIGHT DOUBLE ARROW + 0x27FB: [450,-57,1574,55,1519], // LONG LEFTWARDS ARROW FROM BAR + 0x27FC: [450,-57,1574,55,1519], // LONG RIGHTWARDS ARROW FROM BAR + 0x29F5: [710,222,523,46,478], // REVERSE SOLIDUS OPERATOR + 0x2A00: [763,259,1126,53,1073], // N-ARY CIRCLED DOT OPERATOR + 0x2A01: [763,259,1126,53,1073], // N-ARY CIRCLED PLUS OPERATOR + 0x2A02: [763,259,1126,53,1073], // N-ARY CIRCLED TIMES OPERATOR + 0x2A03: [768,264,924,94,830], // N-ARY UNION OPERATOR WITH DOT + 0x2A04: [768,264,924,94,830], // N-ARY UNION OPERATOR WITH PLUS + 0x2A05: [763,259,924,94,830], // N-ARY SQUARE INTERSECTION OPERATOR + 0x2A06: [763,259,924,94,830], // N-ARY SQUARE UNION OPERATOR + 0x2A3F: [662,0,694,30,664], // AMALGAMATION OR COPRODUCT + 0x2AAF: [609,103,685,64,621], // PRECEDES ABOVE SINGLE-LINE EQUALS SIGN + 0x2AB0: [609,103,685,64,621] // SUCCEEDS ABOVE SINGLE-LINE EQUALS SIGN + }; + + HTMLCSS.FONTDATA.FONTS['STIXGeneral-bold'] = { + directory: 'General/Bold', + family: 'STIXGeneral', + weight: 'bold', + Ranges: [ + [0xA0,0xFF,"Latin1Supplement"], + [0x100,0x17F,"LatinExtendedA"], + [0x180,0x24F,"LatinExtendedB"], + [0x250,0x2AF,"IPAExtensions"], + [0x2B0,0x2FF,"SpacingModLetters"], + [0x300,0x36F,"CombDiacritMarks"], + [0x370,0x3FF,"GreekAndCoptic"], + [0x400,0x4FF,"Cyrillic"], + [0x1D00,0x1DBF,"PhoneticExtensions"], + [0x1E00,0x1EFF,"LatinExtendedAdditional"], + [0x2000,0x206F,"GeneralPunctuation"], + [0x2070,0x209F,"SuperAndSubscripts"], + [0x20A0,0x20CF,"CurrencySymbols"], + [0x20D0,0x20FF,"CombDiactForSymbols"], + [0x2100,0x214F,"LetterlikeSymbols"], + [0x2150,0x218F,"NumberForms"], + [0x2190,0x21FF,"Arrows"], + [0x2200,0x22FF,"MathOperators"], + [0x2300,0x23FF,"MiscTechnical"], + [0x2400,0x243F,"ControlPictures"], + [0x2460,0x24FF,"EnclosedAlphanum"], + [0x2500,0x257F,"BoxDrawing"], + [0x25A0,0x25FF,"GeometricShapes"], + [0x2600,0x26FF,"MiscSymbols"], + [0x27C0,0x27EF,"MiscMathSymbolsA"], + [0x2980,0x29FF,"MiscMathSymbolsB"], + [0x2A00,0x2AFF,"SuppMathOperators"], + [0xFB00,0xFB4F,"AlphaPresentForms"], + [0x1D400,0x1D433,"MathBold"], + [0x1D56C,0x1D59F,"BoldFraktur"], + [0x1D5D4,0x1D607,"MathSSBold"], + [0x1D6A8,0x1D6E1,"GreekBold"], + [0x1D756,0x1D78F,"GreekSSBold"], + [0x1D7CE,0x1D7D7,"MathBold"], + [0x1D7EC,0x1D7F6,"MathSSBold"] + ], + 0x20: [0,0,250,0,0], // SPACE + 0x21: [691,13,333,81,251], // EXCLAMATION MARK + 0x22: [691,-404,555,83,472], // QUOTATION MARK + 0x23: [700,0,500,5,495], // NUMBER SIGN + 0x24: [750,99,500,29,472], // DOLLAR SIGN + 0x25: [706,29,749,61,688], // PERCENT SIGN + 0x26: [691,16,833,62,789], // AMPERSAND + 0x27: [691,-404,278,75,204], // APOSTROPHE + 0x28: [694,168,333,46,306], // LEFT PARENTHESIS + 0x29: [694,168,333,27,287], // RIGHT PARENTHESIS + 0x2A: [691,-255,500,56,448], // ASTERISK + 0x2B: [563,57,750,65,685], // PLUS SIGN + 0x2C: [155,180,250,39,223], // COMMA + 0x2D: [287,-171,333,44,287], // HYPHEN-MINUS + 0x2E: [156,13,250,41,210], // FULL STOP + 0x2F: [691,19,278,-24,302], // SOLIDUS + 0x30: [688,13,500,24,476], // DIGIT ZERO + 0x31: [688,0,500,65,441], // DIGIT ONE + 0x32: [688,0,500,17,478], // DIGIT TWO + 0x33: [688,14,500,16,468], // DIGIT THREE + 0x34: [688,0,500,19,476], // DIGIT FOUR + 0x35: [676,8,500,22,470], // DIGIT FIVE + 0x36: [688,13,500,28,475], // DIGIT SIX + 0x37: [676,0,500,17,477], // DIGIT SEVEN + 0x38: [688,13,500,28,472], // DIGIT EIGHT + 0x39: [688,13,500,26,473], // DIGIT NINE + 0x3A: [472,13,333,82,251], // COLON + 0x3B: [472,180,333,82,266], // SEMICOLON + 0x3C: [534,24,750,80,670], // LESS-THAN SIGN + 0x3D: [399,-107,750,68,682], // EQUALS SIGN + 0x3E: [534,24,750,80,670], // GREATER-THAN SIGN + 0x3F: [689,13,500,57,445], // QUESTION MARK + 0x40: [691,19,930,108,822], // COMMERCIAL AT + 0x41: [690,0,722,9,689], // LATIN CAPITAL LETTER A + 0x42: [676,0,667,16,619], // LATIN CAPITAL LETTER B + 0x43: [691,19,722,49,687], // LATIN CAPITAL LETTER C + 0x44: [676,0,722,14,690], // LATIN CAPITAL LETTER D + 0x45: [676,0,667,16,641], // LATIN CAPITAL LETTER E + 0x46: [676,0,611,16,583], // LATIN CAPITAL LETTER F + 0x47: [691,19,778,37,755], // LATIN CAPITAL LETTER G + 0x48: [676,0,778,21,759], // LATIN CAPITAL LETTER H + 0x49: [676,0,389,20,370], // LATIN CAPITAL LETTER I + 0x4A: [676,96,500,3,478], // LATIN CAPITAL LETTER J + 0x4B: [676,0,778,30,769], // LATIN CAPITAL LETTER K + 0x4C: [677,0,667,19,638], // LATIN CAPITAL LETTER L + 0x4D: [676,0,944,14,921], // LATIN CAPITAL LETTER M + 0x4E: [676,18,722,16,701], // LATIN CAPITAL LETTER N + 0x4F: [691,19,778,35,743], // LATIN CAPITAL LETTER O + 0x50: [676,0,611,16,600], // LATIN CAPITAL LETTER P + 0x51: [691,176,778,35,743], // LATIN CAPITAL LETTER Q + 0x52: [676,0,722,26,716], // LATIN CAPITAL LETTER R + 0x53: [692,19,556,35,513], // LATIN CAPITAL LETTER S + 0x54: [676,0,667,31,636], // LATIN CAPITAL LETTER T + 0x55: [676,19,722,16,701], // LATIN CAPITAL LETTER U + 0x56: [676,18,722,16,701], // LATIN CAPITAL LETTER V + 0x57: [676,15,1000,19,981], // LATIN CAPITAL LETTER W + 0x58: [676,0,722,16,699], // LATIN CAPITAL LETTER X + 0x59: [676,0,722,15,699], // LATIN CAPITAL LETTER Y + 0x5A: [676,0,667,28,634], // LATIN CAPITAL LETTER Z + 0x5B: [678,149,333,67,301], // LEFT SQUARE BRACKET + 0x5C: [691,19,278,-25,303], // REVERSE SOLIDUS + 0x5D: [678,149,333,32,266], // RIGHT SQUARE BRACKET + 0x5E: [676,-311,581,73,509], // CIRCUMFLEX ACCENT + 0x5F: [-75,125,500,0,500], // LOW LINE + 0x60: [713,-528,333,8,246], // GRAVE ACCENT + 0x61: [473,14,500,25,488], // LATIN SMALL LETTER A + 0x62: [676,14,556,17,521], // LATIN SMALL LETTER B + 0x63: [473,14,444,25,430], // LATIN SMALL LETTER C + 0x64: [676,14,556,25,534], // LATIN SMALL LETTER D + 0x65: [473,14,444,25,427], // LATIN SMALL LETTER E + 0x66: [691,0,333,14,389], // LATIN SMALL LETTER F + 0x67: [473,206,500,28,483], // LATIN SMALL LETTER G + 0x68: [676,0,556,15,534], // LATIN SMALL LETTER H + 0x69: [691,0,278,15,256], // LATIN SMALL LETTER I + 0x6A: [691,203,333,-57,263], // LATIN SMALL LETTER J + 0x6B: [676,0,556,22,543], // LATIN SMALL LETTER K + 0x6C: [676,0,278,15,256], // LATIN SMALL LETTER L + 0x6D: [473,0,833,15,814], // LATIN SMALL LETTER M + 0x6E: [473,0,556,21,539], // LATIN SMALL LETTER N + 0x6F: [473,14,500,25,476], // LATIN SMALL LETTER O + 0x70: [473,205,556,19,524], // LATIN SMALL LETTER P + 0x71: [473,205,556,34,536], // LATIN SMALL LETTER Q + 0x72: [473,0,444,28,434], // LATIN SMALL LETTER R + 0x73: [473,14,389,25,361], // LATIN SMALL LETTER S + 0x74: [630,12,333,19,332], // LATIN SMALL LETTER T + 0x75: [461,14,556,16,538], // LATIN SMALL LETTER U + 0x76: [461,14,500,21,485], // LATIN SMALL LETTER V + 0x77: [461,14,722,23,707], // LATIN SMALL LETTER W + 0x78: [461,0,500,12,484], // LATIN SMALL LETTER X + 0x79: [461,205,500,16,482], // LATIN SMALL LETTER Y + 0x7A: [461,0,444,21,420], // LATIN SMALL LETTER Z + 0x7B: [698,175,394,22,340], // LEFT CURLY BRACKET + 0x7C: [691,19,220,66,154], // VERTICAL LINE + 0x7D: [698,175,394,54,372], // RIGHT CURLY BRACKET + 0x7E: [333,-173,520,29,491], // TILDE + 0x393: [676,0,620,16,593], // GREEK CAPITAL LETTER GAMMA + 0x394: [690,0,722,33,673], // GREEK CAPITAL LETTER DELTA + 0x398: [692,18,778,35,743], // GREEK CAPITAL LETTER THETA + 0x39B: [690,0,707,9,674], // GREEK CAPITAL LETTER LAMDA + 0x39E: [676,0,647,40,607], // GREEK CAPITAL LETTER XI + 0x3A0: [676,0,778,21,759], // GREEK CAPITAL LETTER PI + 0x3A3: [676,0,671,28,641], // GREEK CAPITAL LETTER SIGMA + 0x3A5: [692,0,703,7,693], // GREEK CAPITAL LETTER UPSILON + 0x3A6: [676,0,836,18,818], // GREEK CAPITAL LETTER PHI + 0x3A8: [692,0,808,15,797], // GREEK CAPITAL LETTER PSI + 0x3A9: [692,0,768,28,740] // GREEK CAPITAL LETTER OMEGA + }; + + HTMLCSS.FONTDATA.FONTS['STIXGeneral-italic'] = { + directory: 'General/Italic', + family: 'STIXGeneral', + style: 'italic', + Ranges: [ + [0xA0,0xFF,"Latin1Supplement"], + [0x100,0x17F,"LatinExtendedA"], + [0x180,0x24F,"LatinExtendedB"], + [0x250,0x2AF,"IPAExtensions"], + [0x2B0,0x2FF,"SpacingModLetters"], + [0x370,0x3FF,"GreekAndCoptic"], + [0x400,0x4FF,"Cyrillic"], + [0x1E00,0x1EFF,"LatinExtendedAdditional"], + [0x2000,0x206F,"GeneralPunctuation"], + [0x20A0,0x20CF,"CurrencySymbols"], + [0x20D0,0x20FF,"CombDiactForSymbols"], + [0x2100,0x214F,"LetterlikeSymbols"], + [0x2200,0x22FF,"MathOperators"], + [0x2400,0x243F,"ControlPictures"], + [0x2460,0x24FF,"EnclosedAlphanum"], + [0x2500,0x257F,"BoxDrawing"], + [0xFB00,0xFB4F,"AlphaPresentForms"], + [0x1D434,0x1D467,"MathItalic"], + [0x1D49C,0x1D4CF,"MathScript"], + [0x1D608,0x1D63B,"MathSSItalic"], + [0x1D6A4,0x1D6A5,"ij"], + [0x1D6E2,0x1D71B,"GreekItalic"] + ], + 0x20: [0,0,250,0,0], // SPACE + 0x21: [667,11,333,39,304], // EXCLAMATION MARK + 0x22: [666,-421,420,144,432], // QUOTATION MARK + 0x23: [676,0,501,2,540], // NUMBER SIGN + 0x24: [731,89,500,32,497], // DOLLAR SIGN + 0x25: [706,19,755,80,705], // PERCENT SIGN + 0x26: [666,18,778,76,723], // AMPERSAND + 0x27: [666,-421,214,132,241], // APOSTROPHE + 0x28: [669,181,333,42,315], // LEFT PARENTHESIS + 0x29: [669,180,333,16,289], // RIGHT PARENTHESIS + 0x2A: [666,-255,500,128,492], // ASTERISK + 0x2B: [506,0,675,86,590], // PLUS SIGN + 0x2C: [101,129,250,-5,135], // COMMA + 0x2D: [255,-192,333,49,282], // HYPHEN-MINUS + 0x2E: [100,11,250,27,138], // FULL STOP + 0x2F: [666,18,278,-65,386], // SOLIDUS + 0x30: [676,7,500,32,497], // DIGIT ZERO + 0x31: [676,0,500,50,409], // DIGIT ONE + 0x32: [676,0,500,12,452], // DIGIT TWO + 0x33: [676,7,500,16,465], // DIGIT THREE + 0x34: [676,0,500,1,479], // DIGIT FOUR + 0x35: [666,7,500,15,491], // DIGIT FIVE + 0x36: [686,7,500,30,521], // DIGIT SIX + 0x37: [666,8,500,75,537], // DIGIT SEVEN + 0x38: [676,7,500,30,493], // DIGIT EIGHT + 0x39: [676,17,500,23,492], // DIGIT NINE + 0x3A: [441,11,333,50,261], // COLON + 0x3B: [441,129,333,26,261], // SEMICOLON + 0x3C: [516,10,675,84,592], // LESS-THAN SIGN + 0x3D: [386,-120,675,86,590], // EQUALS SIGN + 0x3E: [516,10,675,84,592], // GREATER-THAN SIGN + 0x3F: [664,12,500,132,472], // QUESTION MARK + 0x40: [666,18,920,118,806], // COMMERCIAL AT + 0x41: [668,0,611,-51,564], // LATIN CAPITAL LETTER A + 0x42: [653,0,611,-8,588], // LATIN CAPITAL LETTER B + 0x43: [666,18,667,66,689], // LATIN CAPITAL LETTER C + 0x44: [653,0,722,-8,700], // LATIN CAPITAL LETTER D + 0x45: [653,0,611,-1,634], // LATIN CAPITAL LETTER E + 0x46: [653,0,611,8,645], // LATIN CAPITAL LETTER F + 0x47: [666,18,722,52,722], // LATIN CAPITAL LETTER G + 0x48: [653,0,722,-8,769], // LATIN CAPITAL LETTER H + 0x49: [653,0,333,-8,384], // LATIN CAPITAL LETTER I + 0x4A: [653,18,444,-6,491], // LATIN CAPITAL LETTER J + 0x4B: [653,0,667,7,722], // LATIN CAPITAL LETTER K + 0x4C: [653,0,556,-8,559], // LATIN CAPITAL LETTER L + 0x4D: [653,0,833,-18,872], // LATIN CAPITAL LETTER M + 0x4E: [653,15,667,-20,727], // LATIN CAPITAL LETTER N + 0x4F: [667,18,722,60,699], // LATIN CAPITAL LETTER O + 0x50: [653,0,611,0,605], // LATIN CAPITAL LETTER P + 0x51: [666,182,722,59,699], // LATIN CAPITAL LETTER Q + 0x52: [653,0,611,-13,588], // LATIN CAPITAL LETTER R + 0x53: [667,18,500,17,508], // LATIN CAPITAL LETTER S + 0x54: [653,0,556,59,633], // LATIN CAPITAL LETTER T + 0x55: [653,18,722,102,765], // LATIN CAPITAL LETTER U + 0x56: [653,18,611,76,688], // LATIN CAPITAL LETTER V + 0x57: [653,18,833,71,906], // LATIN CAPITAL LETTER W + 0x58: [653,0,611,-29,655], // LATIN CAPITAL LETTER X + 0x59: [653,0,556,78,633], // LATIN CAPITAL LETTER Y + 0x5A: [653,0,556,-6,606], // LATIN CAPITAL LETTER Z + 0x5B: [663,153,389,21,391], // LEFT SQUARE BRACKET + 0x5C: [666,18,278,-41,319], // REVERSE SOLIDUS + 0x5D: [663,153,389,12,382], // RIGHT SQUARE BRACKET + 0x5E: [666,-301,422,0,422], // CIRCUMFLEX ACCENT + 0x5F: [-75,125,500,0,500], // LOW LINE + 0x60: [664,-492,333,120,311], // GRAVE ACCENT + 0x61: [441,11,501,17,476], // LATIN SMALL LETTER A + 0x62: [683,11,500,23,473], // LATIN SMALL LETTER B + 0x63: [441,11,444,30,425], // LATIN SMALL LETTER C + 0x64: [683,13,500,15,527], // LATIN SMALL LETTER D + 0x65: [441,11,444,31,412], // LATIN SMALL LETTER E + 0x66: [678,207,278,-147,424], // LATIN SMALL LETTER F + 0x67: [441,206,500,8,471], // LATIN SMALL LETTER G + 0x68: [683,9,500,19,478], // LATIN SMALL LETTER H + 0x69: [654,11,278,49,264], // LATIN SMALL LETTER I + 0x6A: [652,207,278,-124,279], // LATIN SMALL LETTER J + 0x6B: [683,11,444,14,461], // LATIN SMALL LETTER K + 0x6C: [683,11,278,41,279], // LATIN SMALL LETTER L + 0x6D: [441,9,722,12,704], // LATIN SMALL LETTER M + 0x6E: [441,9,500,14,474], // LATIN SMALL LETTER N + 0x6F: [441,11,500,27,468], // LATIN SMALL LETTER O + 0x70: [441,205,504,-75,472], // LATIN SMALL LETTER P + 0x71: [441,209,500,25,484], // LATIN SMALL LETTER Q + 0x72: [441,0,389,45,412], // LATIN SMALL LETTER R + 0x73: [442,13,389,16,366], // LATIN SMALL LETTER S + 0x74: [546,11,278,38,296], // LATIN SMALL LETTER T + 0x75: [441,11,500,42,475], // LATIN SMALL LETTER U + 0x76: [441,18,444,20,426], // LATIN SMALL LETTER V + 0x77: [441,18,667,15,648], // LATIN SMALL LETTER W + 0x78: [441,11,444,-27,447], // LATIN SMALL LETTER X + 0x79: [441,206,444,-24,426], // LATIN SMALL LETTER Y + 0x7A: [428,81,389,-2,380], // LATIN SMALL LETTER Z + 0x7B: [687,177,400,51,407], // LEFT CURLY BRACKET + 0x7C: [666,18,275,105,171], // VERTICAL LINE + 0x7D: [687,177,400,-7,349], // RIGHT CURLY BRACKET + 0x7E: [323,-183,541,40,502], // TILDE + 0x131: [441,11,278,47,235], // LATIN SMALL LETTER DOTLESS I + 0x237: [441,207,278,-124,246], // LATIN SMALL LETTER DOTLESS J + 0x393: [653,0,611,8,645], // GREEK CAPITAL LETTER GAMMA + 0x394: [668,0,611,-32,526], // GREEK CAPITAL LETTER DELTA + 0x398: [667,18,722,60,699], // GREEK CAPITAL LETTER THETA + 0x39B: [668,0,611,-51,564], // GREEK CAPITAL LETTER LAMDA + 0x39E: [653,0,651,-6,680], // GREEK CAPITAL LETTER XI + 0x3A0: [653,0,722,-8,769], // GREEK CAPITAL LETTER PI + 0x3A3: [653,0,620,-6,659], // GREEK CAPITAL LETTER SIGMA + 0x3A5: [668,0,556,78,648], // GREEK CAPITAL LETTER UPSILON + 0x3A6: [653,0,741,50,731], // GREEK CAPITAL LETTER PHI + 0x3A8: [667,0,675,77,778], // GREEK CAPITAL LETTER PSI + 0x3A9: [666,0,762,-6,739], // GREEK CAPITAL LETTER OMEGA + 0x3B1: [441,11,552,27,549], // GREEK SMALL LETTER ALPHA + 0x3B2: [678,205,506,-40,514], // GREEK SMALL LETTER BETA + 0x3B3: [435,206,410,19,438], // GREEK SMALL LETTER GAMMA + 0x3B4: [668,11,460,24,460], // GREEK SMALL LETTER DELTA + 0x3B5: [441,11,444,30,425], // GREEK SMALL LETTER EPSILON + 0x3B6: [683,185,454,30,475], // GREEK SMALL LETTER ZETA + 0x3B7: [441,205,474,14,442], // GREEK SMALL LETTER ETA + 0x3B8: [678,11,480,27,494], // GREEK SMALL LETTER THETA + 0x3B9: [441,11,278,49,235], // GREEK SMALL LETTER IOTA + 0x3BA: [441,13,444,14,465], // GREEK SMALL LETTER KAPPA + 0x3BB: [678,16,458,-12,431], // GREEK SMALL LETTER LAMDA + 0x3BC: [428,205,526,-33,483], // GREEK SMALL LETTER MU + 0x3BD: [441,18,470,20,459], // GREEK SMALL LETTER NU + 0x3BE: [683,185,454,30,446], // GREEK SMALL LETTER XI + 0x3BF: [441,11,500,27,468], // GREEK SMALL LETTER OMICRON + 0x3C0: [428,18,504,19,536], // GREEK SMALL LETTER PI + 0x3C1: [441,205,504,-40,471], // GREEK SMALL LETTER RHO + 0x3C2: [441,185,454,30,453], // GREEK SMALL LETTER FINAL SIGMA + 0x3C3: [428,11,498,27,531], // GREEK SMALL LETTER SIGMA + 0x3C4: [428,11,410,12,426], // GREEK SMALL LETTER TAU + 0x3C5: [441,10,478,19,446], // GREEK SMALL LETTER UPSILON + 0x3C6: [441,205,622,27,590], // GREEK SMALL LETTER PHI + 0x3C7: [441,207,457,-108,498], // GREEK SMALL LETTER CHI + 0x3C8: [441,205,584,15,668], // GREEK SMALL LETTER PSI + 0x3C9: [439,11,686,27,654], // GREEK SMALL LETTER OMEGA + 0x3D1: [678,10,556,19,526], // GREEK THETA SYMBOL + 0x3D5: [683,205,627,27,595], // GREEK PHI SYMBOL + 0x3D6: [428,11,792,17,832], // GREEK PI SYMBOL + 0x3F1: [441,205,516,27,484], // GREEK RHO SYMBOL + 0x3F5: [441,11,444,30,420], // GREEK LUNATE EPSILON SYMBOL + 0x2113: [687,11,579,48,571] // SCRIPT SMALL L + }; + + HTMLCSS.FONTDATA.FONTS['STIXIntegralsD'] = { + directory: 'IntegralsD/Regular', + family: 'STIXIntegralsD', + Ranges: [ + [0x20,0x20,"All"], + [0xA0,0xA0,"All"], + [0x222B,0x2233,"All"], + [0x2A0B,0x2A1C,"All"] + ], + 0x222B: [2000,269,585,56,1035], // INTEGRAL + 0x222E: [2000,269,635,56,1035] // CONTOUR INTEGRAL + }; + + HTMLCSS.FONTDATA.FONTS['STIXNonUnicode'] = { + directory: 'NonUnicode/Regular', + family: 'STIXNonUnicode', + Ranges: [ + [0x20,0x20,"All"], + [0xA0,0xA0,"All"], + [0xE000,0xF8FF,"PrivateUse"] + ], + 0xE000: [610,25,1184,829,895], // stix-radical symbol vertical extender + 0xE001: [667,-41,1184,829,1211], // stix-radical symbol top corner piece + 0xE138: [634,-584,480,-10,490], // stix-horizontal extender for multiple character over accent arrows, harpoons, line + 0xE139: [-127,177,480,-10,490], // stix-horizontal extender for multiple character under accent arrows, harpoons, line + 0xE13B: [955,-512,897,-25,908], // stix-left end of extensible overbrace (CMEX10 x3A rotated 90deg) + 0xE13C: [955,-512,897,-11,922], // stix-right end of extensible overbrace (CMEX10 x38 rotated 90deg) + 0xE13D: [182,261,897,-25,908], // stix-left end of extensible underbrace (CMEX10 x3B rotated 90deg) + 0xE13E: [182,261,897,-11,922], // stix-right end of extensible underbrace (CMEX10 x39 rotated 90deg) + 0xE140: [1218,-820,1844,-10,1854], // stix-center of extensible overbrace (CMEX10 x3C rotated 90deg) + 0xE141: [-126,524,1844,-10,1854], // stix-center of extensible underbrace (CMEX10 x3D rotated 90deg) + 0xE14A: [955,-820,633,-1,634], // stix-extensible horizontal for over paren or square bracket (CMEX10 x42 rotated 90deg) + 0xE14B: [-126,261,633,-1,634], // stix-extensible horizontal for under paren or square bracket (CMEX10 x43 rotated 90deg) + 0xE261: [422,10,523,41,481], // stix-old style digit 0 + 0xE265: [421,0,523,127,405], // stix-old style digit 1 + 0xE269: [421,0,523,68,455], // stix-old style digit 2 + 0xE26D: [424,198,523,47,463], // stix-old style digit 3 + 0xE271: [420,198,523,58,480], // stix-old style digit 4 + 0xE275: [421,198,523,66,457], // stix-old style digit 5 + 0xE279: [612,8,523,37,486], // stix-old style digit 6 + 0xE27D: [421,198,523,25,490], // stix-old style digit 7 + 0xE281: [606,12,523,47,477], // stix-old style digit 8 + 0xE285: [421,200,523,41,483], // stix-old style digit 9 + 0xE28F: [135,0,325,-1,326], // stix-short horizontal extender at baseline + 0xE290: [135,0,633,-1,634] // stix-long horizontal extender at baseline + }; + + HTMLCSS.FONTDATA.FONTS['STIXNonUnicode-bold'] = { + directory: 'NonUnicode/Bold', + family: 'STIXNonUnicode', + weight: 'bold', + Ranges: [ + [0x20,0x20,"All"], + [0xA0,0xA0,"All"], + [0xE000,0xF8FF,"PrivateUse"] + ] + + }; + + HTMLCSS.FONTDATA.FONTS['STIXNonUnicode-italic'] = { + directory: 'NonUnicode/Italic', + family: 'STIXNonUnicode', + style: 'italic', + Ranges: [ + [0x20,0x20,"All"], + [0xA0,0xA0,"All"], + [0xE000,0xF8FF,"PrivateUse"] + ], + 0xE22D: [677,45,852,43,812], // stix-mathematical calligraphic capital A + 0xE22E: [670,3,724,35,709], // stix-mathematical calligraphic capital B + 0xE22F: [671,11,569,43,586], // stix-mathematical calligraphic capital C + 0xE230: [662,0,801,34,788], // stix-mathematical calligraphic capital D + 0xE231: [670,4,553,40,599], // stix-mathematical calligraphic capital E + 0xE232: [662,0,652,43,710], // stix-mathematical calligraphic capital F + 0xE233: [671,131,580,40,580], // stix-mathematical calligraphic capital G + 0xE234: [664,21,831,41,845], // stix-mathematical calligraphic capital H + 0xE235: [662,0,575,38,591], // stix-mathematical calligraphic capital I + 0xE236: [662,120,632,31,785], // stix-mathematical calligraphic capital J + 0xE237: [670,13,809,30,783], // stix-mathematical calligraphic capital K + 0xE238: [670,7,693,30,653], // stix-mathematical calligraphic capital L + 0xE239: [671,45,1166,40,1128], // stix-mathematical calligraphic capital M + 0xE23A: [795,37,957,40,1064], // stix-mathematical calligraphic capital N + 0xE23B: [669,10,737,38,729], // stix-mathematical calligraphic capital O + 0xE23C: [662,0,667,38,709], // stix-mathematical calligraphic capital P + 0xE23D: [671,131,744,43,704], // stix-mathematical calligraphic capital Q + 0xE23E: [662,3,854,38,816], // stix-mathematical calligraphic capital R + 0xE23F: [671,0,634,38,671], // stix-mathematical calligraphic capital S + 0xE240: [721,0,509,41,730], // stix-mathematical calligraphic capital T + 0xE241: [672,13,817,37,950], // stix-mathematical calligraphic capital U + 0xE242: [677,33,638,33,680], // stix-mathematical calligraphic capital V + 0xE243: [685,32,956,33,998], // stix-mathematical calligraphic capital W + 0xE244: [672,13,692,38,739], // stix-mathematical calligraphic capital X + 0xE245: [675,131,719,34,763], // stix-mathematical calligraphic capital Y + 0xE246: [664,94,752,38,714] // stix-mathematical calligraphic capital Z + }; + + HTMLCSS.FONTDATA.FONTS['STIXSizeOneSym'] = { + directory: 'SizeOneSym/Regular', + family: 'STIXSizeOneSym', + Ranges: [ + [0x2B0,0x2FF,"All"], + [0x300,0x338,"All"], + [0x203E,0x203E,"All"], + [0x20D0,0x20EF,"All"], + [0x2140,0x2140,"All"], + [0x221A,0x221C,"All"], + [0x2320,0x2321,"All"], + [0x239B,0x23B9,"All"], + [0x23DC,0x23E1,"All"], + [0x2772,0x2773,"All"], + [0x27E6,0x27EB,"All"], + [0x2983,0x2986,"All"], + [0x29F8,0x29F9,"All"], + [0x2A00,0x2A0A,"All"], + [0x2AFC,0x2AFF,"All"] + ], + 0x20: [0,0,250,0,0], // SPACE + 0x28: [1066,164,468,139,382], // LEFT PARENTHESIS + 0x29: [1066,164,468,86,329], // RIGHT PARENTHESIS + 0x2F: [1066,164,579,25,552], // SOLIDUS + 0x5B: [1066,164,383,180,363], // LEFT SQUARE BRACKET + 0x5C: [1066,164,579,27,552], // REVERSE SOLIDUS + 0x5D: [1066,164,383,20,203], // RIGHT SQUARE BRACKET + 0x5F: [-127,177,1000,0,1000], // LOW LINE + 0x7B: [1066,164,575,114,466], // LEFT CURLY BRACKET + 0x7D: [1066,164,575,109,461], // RIGHT CURLY BRACKET + 0xA0: [0,0,250,0,0], // NO-BREAK SPACE + 0x302: [767,-554,0,-720,-160], // COMBINING CIRCUMFLEX ACCENT + 0x303: [750,-598,0,-722,-162], // COMBINING TILDE + 0x220F: [1500,-49,1355,50,1305], // N-ARY PRODUCT + 0x2210: [1500,-49,1355,50,1305], // N-ARY COPRODUCT + 0x2211: [1499,-49,1292,90,1202], // N-ARY SUMMATION + 0x221A: [1552,295,1057,112,1089], // SQUARE ROOT + 0x22C0: [1500,-49,1265,60,1205], // N-ARY LOGICAL AND + 0x22C1: [1500,-49,1265,60,1205], // N-ARY LOGICAL OR + 0x22C2: [1510,-49,1265,118,1147], // N-ARY INTERSECTION + 0x22C3: [1500,-39,1265,118,1147], // N-ARY UNION + 0x2308: [1066,164,453,180,426], // LEFT CEILING + 0x2309: [1066,164,453,25,273], // RIGHT CEILING + 0x230A: [1066,164,453,180,428], // LEFT FLOOR + 0x230B: [1066,164,453,27,273], // RIGHT FLOOR + 0x239B: [700,305,450,50,400], // LEFT PARENTHESIS UPPER HOOK + 0x239C: [705,305,450,50,174], // LEFT PARENTHESIS EXTENSION + 0x239D: [705,300,450,50,400], // LEFT PARENTHESIS LOWER HOOK + 0x239E: [700,305,450,50,400], // RIGHT PARENTHESIS UPPER HOOK + 0x239F: [705,305,450,276,400], // RIGHT PARENTHESIS EXTENSION + 0x23A0: [705,300,450,50,400], // RIGHT PARENTHESIS LOWER HOOK + 0x23A1: [682,323,450,50,415], // LEFT SQUARE BRACKET UPPER CORNER + 0x23A2: [687,323,450,50,150], // LEFT SQUARE BRACKET EXTENSION + 0x23A3: [687,318,450,50,415], // LEFT SQUARE BRACKET LOWER CORNER + 0x23A4: [682,323,450,35,400], // RIGHT SQUARE BRACKET UPPER CORNER + 0x23A5: [687,323,450,300,400], // RIGHT SQUARE BRACKET EXTENSION + 0x23A6: [687,318,450,35,400], // RIGHT SQUARE BRACKET LOWER CORNER + 0x23A7: [700,305,640,260,600], // LEFT CURLY BRACKET UPPER HOOK + 0x23A8: [705,305,640,40,380], // LEFT CURLY BRACKET MIDDLE PIECE + 0x23A9: [705,300,640,260,600], // LEFT CURLY BRACKET LOWER HOOK + 0x23AA: [705,305,640,260,380], // CURLY BRACKET EXTENSION + 0x23AB: [700,305,640,40,380], // RIGHT CURLY BRACKET UPPER HOOK + 0x23AC: [705,305,640,260,600], // RIGHT CURLY BRACKET MIDDLE PIECE + 0x23AD: [705,300,640,40,380], // RIGHT CURLY BRACKET LOWER HOOK + 0x23AE: [610,25,688,294,394], // INTEGRAL EXTENSION + 0x23B0: [700,301,600,35,566], // UPPER LEFT OR LOWER RIGHT CURLY BRACKET SECTION + 0x23B1: [700,301,600,35,566], // UPPER RIGHT OR LOWER LEFT CURLY BRACKET SECTION + 0x23B7: [1510,345,1184,112,895], // RADICAL SYMBOL BOTTOM + 0x23B8: [1566,289,721,0,66], // LEFT VERTICAL BOX LINE + 0x23B9: [1566,289,721,655,721], // RIGHT VERTICAL BOX LINE + 0x23DE: [136,89,926,0,925], // TOP CURLY BRACKET (mathematical use) + 0x23DF: [789,-564,926,0,925], // BOTTOM CURLY BRACKET (mathematical use) + 0x27E8: [1066,164,578,116,462], // MATHEMATICAL LEFT ANGLE BRACKET + 0x27E9: [1066,164,578,116,462], // MATHEMATICAL RIGHT ANGLE BRACKET + 0x2A00: [1500,-49,1555,52,1503], // N-ARY CIRCLED DOT OPERATOR + 0x2A01: [1500,-49,1555,52,1503], // N-ARY CIRCLED PLUS OPERATOR + 0x2A02: [1500,-49,1555,52,1503], // N-ARY CIRCLED TIMES OPERATOR + 0x2A04: [1500,-39,1265,118,1147], // N-ARY UNION OPERATOR WITH PLUS + 0x2A05: [1500,-49,1153,82,1071], // N-ARY SQUARE INTERSECTION OPERATOR + 0x2A06: [1500,-49,1153,82,1071] // N-ARY SQUARE UNION OPERATOR + }; + + HTMLCSS.FONTDATA.FONTS['STIXSizeTwoSym'] = { + directory: 'SizeTwoSym/Regular', + family: 'STIXSizeTwoSym', + Ranges: [ + [0x2B0,0x2FF,"All"], + [0x300,0x338,"All"], + [0x203E,0x203E,"All"], + [0x20D0,0x20EF,"All"], + [0x221A,0x221C,"All"], + [0x239B,0x23B9,"All"], + [0x23DC,0x23E1,"All"], + [0x2772,0x2773,"All"], + [0x27E6,0x27EB,"All"], + [0x2983,0x2986,"All"], + [0x2AFC,0x2AFF,"All"] + ], + 0x20: [0,0,250,0,0], // SPACE + 0x28: [1566,279,589,139,503], // LEFT PARENTHESIS + 0x29: [1566,279,608,114,478], // RIGHT PARENTHESIS + 0x2F: [1566,279,806,25,781], // SOLIDUS + 0x5B: [1566,279,459,190,422], // LEFT SQUARE BRACKET + 0x5C: [1566,279,806,25,781], // REVERSE SOLIDUS + 0x5D: [1566,279,459,37,269], // RIGHT SQUARE BRACKET + 0x5F: [-127,177,1500,0,1500], // LOW LINE + 0x7B: [1566,279,717,124,531], // LEFT CURLY BRACKET + 0x7D: [1566,279,717,186,593], // RIGHT CURLY BRACKET + 0xA0: [0,0,250,0,0], // NO-BREAK SPACE + 0x302: [777,-564,0,-1150,-171], // COMBINING CIRCUMFLEX ACCENT + 0x303: [760,-608,0,-1152,-173], // COMBINING TILDE + 0x221A: [2056,404,1124,110,1157], // SQUARE ROOT + 0x2308: [1566,279,524,190,479], // LEFT CEILING + 0x2309: [1566,279,526,47,336], // RIGHT CEILING + 0x230A: [1566,279,524,190,479], // LEFT FLOOR + 0x230B: [1566,279,526,47,336], // RIGHT FLOOR + 0x23DE: [143,81,1460,0,1460], // TOP CURLY BRACKET (mathematical use) + 0x23DF: [797,-573,1460,0,1460], // BOTTOM CURLY BRACKET (mathematical use) + 0x27E8: [1566,279,622,95,531], // MATHEMATICAL LEFT ANGLE BRACKET + 0x27E9: [1566,279,622,91,527] // MATHEMATICAL RIGHT ANGLE BRACKET + }; + + HTMLCSS.FONTDATA.FONTS['STIXSizeThreeSym'] = { + directory: 'SizeThreeSym/Regular', + family: 'STIXSizeThreeSym', + Ranges: [ + [0x2B0,0x2FF,"All"], + [0x300,0x338,"All"], + [0x203E,0x203E,"All"], + [0x20D0,0x20EF,"All"], + [0x221A,0x221C,"All"], + [0x239B,0x23B9,"All"], + [0x23DC,0x23E1,"All"], + [0x2772,0x2773,"All"], + [0x27E6,0x27EB,"All"], + [0x2983,0x2986,"All"] + ], + 0x20: [0,0,250,0,0], // SPACE + 0x28: [2066,394,750,182,667], // LEFT PARENTHESIS + 0x29: [2066,394,750,83,568], // RIGHT PARENTHESIS + 0x2F: [2066,394,1101,30,1071], // SOLIDUS + 0x5B: [2066,394,508,225,491], // LEFT SQUARE BRACKET + 0x5C: [2066,394,1101,30,1071], // REVERSE SOLIDUS + 0x5D: [2066,394,508,17,283], // RIGHT SQUARE BRACKET + 0x5F: [-127,177,2000,0,2000], // LOW LINE + 0x7B: [2066,394,906,143,717], // LEFT CURLY BRACKET + 0x7D: [2066,394,906,189,763], // RIGHT CURLY BRACKET + 0xA0: [0,0,250,0,0], // NO-BREAK SPACE + 0x302: [777,-564,0,-1610,-150], // COMBINING CIRCUMFLEX ACCENT + 0x303: [774,-608,0,-1612,-152], // COMBINING TILDE + 0x221A: [2565,510,1076,112,1110], // SQUARE ROOT + 0x2308: [2066,394,565,225,550], // LEFT CEILING + 0x2309: [2066,394,565,15,340], // RIGHT CEILING + 0x230A: [2066,394,565,225,550], // LEFT FLOOR + 0x230B: [2066,394,565,15,340], // RIGHT FLOOR + 0x23DE: [157,86,1886,0,1886], // TOP CURLY BRACKET (mathematical use) + 0x23DF: [815,-572,1886,0,1886], // BOTTOM CURLY BRACKET (mathematical use) + 0x27E8: [2066,394,765,96,670], // MATHEMATICAL LEFT ANGLE BRACKET + 0x27E9: [2066,394,765,95,669] // MATHEMATICAL RIGHT ANGLE BRACKET + }; + + HTMLCSS.FONTDATA.FONTS['STIXSizeFourSym'] = { + directory: 'SizeFourSym/Regular', + family: 'STIXSizeFourSym', + Ranges: [ + [0x2B0,0x2FF,"All"], + [0x300,0x338,"All"], + [0x203E,0x203E,"All"], + [0x20D0,0x20EF,"All"], + [0x221A,0x221C,"All"], + [0x239B,0x23B9,"All"], + [0x23DC,0x23E1,"All"], + [0x2772,0x2773,"All"], + [0x27E6,0x27EB,"All"], + [0x2983,0x2986,"All"] + ], + 0x20: [0,0,250,0,0], // SPACE + 0x28: [2566,509,808,124,732], // LEFT PARENTHESIS + 0x29: [2566,509,808,76,684], // RIGHT PARENTHESIS + 0x2F: [2566,509,1309,16,1293], // SOLIDUS + 0x5B: [2566,509,661,295,634], // LEFT SQUARE BRACKET + 0x5C: [2566,509,1309,16,1293], // REVERSE SOLIDUS + 0x5D: [2566,509,661,27,366], // RIGHT SQUARE BRACKET + 0x5F: [-127,177,2500,0,2500], // LOW LINE + 0x7B: [2566,509,1076,173,882], // LEFT CURLY BRACKET + 0x7D: [2566,509,1076,194,903], // RIGHT CURLY BRACKET + 0xA0: [0,0,250,0,0], // NO-BREAK SPACE + 0x302: [796,-573,0,-2040,-154], // COMBINING CIRCUMFLEX ACCENT + 0x303: [771,-608,0,-2040,-154], // COMBINING TILDE + 0x221A: [1510,345,1184,112,895], // SQUARE ROOT + 0x2308: [2566,509,682,295,655], // LEFT CEILING + 0x2309: [2566,509,682,27,387], // RIGHT CEILING + 0x230A: [2566,509,682,295,655], // LEFT FLOOR + 0x230B: [2566,509,682,27,387], // RIGHT FLOOR + 0x23DE: [175,90,2328,0,2328], // TOP CURLY BRACKET (mathematical use) + 0x23DF: [837,-572,2328,0,2328], // BOTTOM CURLY BRACKET (mathematical use) + 0x27E8: [2566,509,908,113,796], // MATHEMATICAL LEFT ANGLE BRACKET + 0x27E9: [2566,509,908,112,795] // MATHEMATICAL RIGHT ANGLE BRACKET + }; + + HTMLCSS.FONTDATA.FONTS['STIXSizeFiveSym'] = { + directory: 'SizeFiveSym/Regular', + family: 'STIXSizeFiveSym', + Ranges: [ + [0x2B0,0x2FF,"All"], + [0x300,0x338,"All"], + [0x203E,0x203E,"All"], + [0x20D0,0x20EF,"All"], + [0x239B,0x23B9,"All"], + [0x23DC,0x23E1,"All"] + ], + 0x20: [0,0,250,0,0], // SPACE + 0x5F: [-127,177,3000,0,3000], // LOW LINE + 0xA0: [0,0,250,0,0], // NO-BREAK SPACE + 0x302: [816,-572,0,-2485,-157], // COMBINING CIRCUMFLEX ACCENT + 0x303: [780,-617,0,-2485,-157], // COMBINING TILDE + 0x23DE: [181,90,3238,0,3238], // TOP CURLY BRACKET (mathematical use) + 0x23DF: [844,-573,3238,0,3238] // BOTTOM CURLY BRACKET (mathematical use) + }; + + HTMLCSS.FONTDATA.FONTS['STIXVariants'] = { + directory: 'Variants/Regular', + family: 'STIXVariants', + Ranges: [ + [0x20,0x20,"All"], + [0x77,0x7C,"All"], + [0xA0,0xA0,"All"], + [0x19B,0x19B,"All"], + [0x264,0x264,"All"], + [0x2032,0x2057,"All"], + [0x2140,0x2140,"All"], + [0x2190,0x2193,"All"], + [0x21D1,0x21E2,"All"], + [0x2205,0x22ED,"All"], + [0x2322,0x2323,"All"], + [0x2423,0x2423,"All"], + [0x25A9,0x25A9,"All"], + [0x2A3C,0x2AEE,"All"] + ], + 0x2032: [565,-28,340,44,295], // PRIME + 0x210F: [683,10,579,47,547], // stix-/hbar - Planck's over 2pi + 0x2205: [729,74,523,28,502], // EMPTY SET + 0x2216: [710,222,523,46,478], // SET MINUS + 0x221A: [943,11,737,67,767] // SQUARE ROOT + }; + + HTMLCSS.FONTDATA.FONTS['STIXGeneral'][0x22EE][0] += 400; // adjust height for \vdots + HTMLCSS.FONTDATA.FONTS['STIXGeneral'][0x22F1][0] += 500; // adjust height for \ddots + HTMLCSS.FONTDATA.FONTS['STIXNonUnicode'][0xE14A][0] += 200; // adjust height for brace extender + HTMLCSS.FONTDATA.FONTS['STIXNonUnicode'][0xE14A][1] += 200; // adjust depth for brace extender + HTMLCSS.FONTDATA.FONTS['STIXNonUnicode'][0xE14B][0] += 200; // adjust height for brace extender + HTMLCSS.FONTDATA.FONTS['STIXNonUnicode'][0xE14B][1] += 200; // adjust depth for brace extender + + MathJax.Hub.Browser.Select({ + MSIE: function (browser) { + if (!browser.versionAtLeast("8.0") || document.documentMode < 8) { + var FONTDATA = HTMLCSS.FONTDATA; + // MSIE Can't access the Spacing Modifier positions + FONTDATA.REMAP[0x2C9] = 0xAF; // macron + FONTDATA.REMAP[0x2CA] = 0xB4; // acute + FONTDATA.REMAP[0x2CB] = 0x60; // grave + FONTDATA.REMAP[0x2DA] = 0xB0; // ring above + // MSIE can't access Greek block + FONTDATA.RANGES[5] = FONTDATA.RANGES[4]; FONTDATA.RANGES[4] = FONTDATA.RANGES[3] + FONTDATA.RANGES[3] = {name: "greek", low: 0x03B1, high: 0x03F6, offset: "GG", + remap: {0x03F5: 26, 0x03D1: 27, 0x03F0: 28, 0x03D5: 29, 0x03F1: 30, 0x03D6: 31}}; + FONTDATA.VARIANT["bold"].offsetGG = 0x1D6C2; FONTDATA.VARIANT["bold"].offsetG = 0x1D6A8; + FONTDATA.VARIANT["italic"].offsetGG = 0x1D6FC; FONTDATA.VARIANT["italic"].offsetG = 0x1D6E2; + FONTDATA.VARIANT["bold-italic"].offsetGG = 0x1D736; FONTDATA.VARIANT["bold-italic"].offsetG = 0x1D71C; + } + } + }); + + // + // Check for Beta version versus release version of fonts + // + if (HTMLCSS.Font.testFont({family:"STIXSizeOneSym",testString:String.fromCharCode(0x2C6)})) { + // Release version -- all OK + MathJax.Ajax.loadComplete(HTMLCSS.fontDir + "/fontdata.js"); + } else { + // Beta version, so load patch file and don't say fontdata is complete until it loads + MathJax.Callback.Queue( + ["Require",MathJax.Ajax,HTMLCSS.fontDir + "/fontdata-beta.js"], + ["loadComplete",MathJax.Ajax,HTMLCSS.fontDir + "/fontdata.js"] + ); + } + + +})(MathJax.OutputJax["HTML-CSS"]); + diff --git a/modules/MathJax/jax/output/HTML-CSS/fonts/TeX/AMS/Regular/Arrows.js b/modules/MathJax/jax/output/HTML-CSS/fonts/TeX/AMS/Regular/Arrows.js new file mode 100644 index 0000000..329a711 --- /dev/null +++ b/modules/MathJax/jax/output/HTML-CSS/fonts/TeX/AMS/Regular/Arrows.js @@ -0,0 +1,65 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/fonts/TeX/AMS/Regular/Arrows.js + * + * Copyright (c) 2009-2010 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax['HTML-CSS'].FONTDATA.FONTS['MathJax_AMS'], + { + 0x2190: [438,-63,500,64,422], // LEFTWARDS ARROW + 0x2192: [438,-63,500,57,417], // RIGHTWARDS ARROW + 0x219A: [437,-60,1000,56,942], // LEFTWARDS ARROW WITH STROKE + 0x219B: [437,-60,1000,54,942], // RIGHTWARDS ARROW WITH STROKE + 0x219E: [417,-83,1000,56,944], // LEFTWARDS TWO HEADED ARROW + 0x21A0: [417,-83,1000,55,943], // RIGHTWARDS TWO HEADED ARROW + 0x21A2: [417,-83,1111,56,1031], // LEFTWARDS ARROW WITH TAIL + 0x21A3: [417,-83,1111,79,1054], // RIGHTWARDS ARROW WITH TAIL + 0x21AB: [575,42,1000,56,964], // LEFTWARDS ARROW WITH LOOP + 0x21AC: [575,42,1000,35,943], // RIGHTWARDS ARROW WITH LOOP + 0x21AD: [417,-83,1389,57,1331], // LEFT RIGHT WAVE ARROW + 0x21AE: [437,-60,1000,56,942], // LEFT RIGHT ARROW WITH STROKE + 0x21B0: [722,0,500,56,444], // UPWARDS ARROW WITH TIP LEFTWARDS + 0x21B1: [722,0,500,55,443], // UPWARDS ARROW WITH TIP RIGHTWARDS + 0x21B6: [462,1,1000,17,950], // ANTICLOCKWISE TOP SEMICIRCLE ARROW + 0x21B7: [460,1,1000,46,982], // CLOCKWISE TOP SEMICIRCLE ARROW + 0x21BA: [650,83,778,55,722], // ANTICLOCKWISE OPEN CIRCLE ARROW + 0x21BB: [650,83,778,56,721], // CLOCKWISE OPEN CIRCLE ARROW + 0x21BE: [694,194,417,188,375], // UPWARDS HARPOON WITH BARB RIGHTWARDS + 0x21BF: [694,194,417,41,228], // UPWARDS HARPOON WITH BARB LEFTWARDS + 0x21C2: [694,194,417,188,375], // DOWNWARDS HARPOON WITH BARB RIGHTWARDS + 0x21C3: [694,194,417,41,228], // DOWNWARDS HARPOON WITH BARB LEFTWARDS + 0x21C4: [667,0,1000,55,944], // RIGHTWARDS ARROW OVER LEFTWARDS ARROW + 0x21C6: [667,0,1000,55,944], // LEFTWARDS ARROW OVER RIGHTWARDS ARROW + 0x21C7: [583,83,1000,55,944], // LEFTWARDS PAIRED ARROWS + 0x21C8: [694,194,833,83,749], // UPWARDS PAIRED ARROWS + 0x21C9: [583,83,1000,55,944], // RIGHTWARDS PAIRED ARROWS + 0x21CA: [694,194,833,83,749], // DOWNWARDS PAIRED ARROWS + 0x21CB: [514,14,1000,55,944], // LEFTWARDS HARPOON OVER RIGHTWARDS HARPOON + 0x21CC: [514,14,1000,55,944], // RIGHTWARDS HARPOON OVER LEFTWARDS HARPOON + 0x21CD: [534,35,1000,54,942], // LEFTWARDS DOUBLE ARROW WITH STROKE + 0x21CE: [534,37,1000,32,965], // LEFT RIGHT DOUBLE ARROW WITH STROKE + 0x21CF: [534,35,1000,54,943], // RIGHTWARDS DOUBLE ARROW WITH STROKE + 0x21DA: [611,111,1000,76,944], // LEFTWARDS TRIPLE ARROW + 0x21DB: [611,111,1000,55,923], // RIGHTWARDS TRIPLE ARROW + 0x21DD: [417,-83,1000,56,943], // RIGHTWARDS SQUIGGLE ARROW + 0x21E0: [438,-63,1334,64,1252], // LEFTWARDS DASHED ARROW + 0x21E2: [438,-63,1334,83,1251] // RIGHTWARDS DASHED ARROW + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax["HTML-CSS"].fontDir + "/AMS/Regular/Arrows.js"); diff --git a/modules/MathJax/jax/output/HTML-CSS/fonts/TeX/AMS/Regular/BBBold.js b/modules/MathJax/jax/output/HTML-CSS/fonts/TeX/AMS/Regular/BBBold.js new file mode 100644 index 0000000..c7687d9 --- /dev/null +++ b/modules/MathJax/jax/output/HTML-CSS/fonts/TeX/AMS/Regular/BBBold.js @@ -0,0 +1,55 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/fonts/TeX/AMS/Regular/BBBold.js + * + * Copyright (c) 2009-2010 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax['HTML-CSS'].FONTDATA.FONTS['MathJax_AMS'], + { + 0x20: [0,0,250,0,0], // SPACE + 0x41: [701,2,722,16,703], // LATIN CAPITAL LETTER A + 0x42: [683,1,667,11,620], // LATIN CAPITAL LETTER B + 0x43: [702,19,722,39,684], // LATIN CAPITAL LETTER C + 0x44: [683,1,722,16,688], // LATIN CAPITAL LETTER D + 0x45: [683,1,667,12,640], // LATIN CAPITAL LETTER E + 0x46: [683,1,611,12,585], // LATIN CAPITAL LETTER F + 0x47: [702,19,778,39,749], // LATIN CAPITAL LETTER G + 0x48: [683,1,778,14,762], // LATIN CAPITAL LETTER H + 0x49: [683,1,389,20,369], // LATIN CAPITAL LETTER I + 0x4A: [683,77,500,6,478], // LATIN CAPITAL LETTER J + 0x4B: [684,1,778,22,768], // LATIN CAPITAL LETTER K + 0x4C: [683,1,667,12,640], // LATIN CAPITAL LETTER L + 0x4D: [684,1,944,17,926], // LATIN CAPITAL LETTER M + 0x4E: [684,20,722,20,702], // LATIN CAPITAL LETTER N + 0x4F: [701,19,778,34,742], // LATIN CAPITAL LETTER O + 0x50: [683,1,611,16,597], // LATIN CAPITAL LETTER P + 0x51: [701,181,778,34,742], // LATIN CAPITAL LETTER Q + 0x52: [683,1,722,16,705], // LATIN CAPITAL LETTER R + 0x53: [702,12,556,28,528], // LATIN CAPITAL LETTER S + 0x54: [683,1,667,33,635], // LATIN CAPITAL LETTER T + 0x55: [683,19,722,16,709], // LATIN CAPITAL LETTER U + 0x56: [684,20,722,0,719], // LATIN CAPITAL LETTER V + 0x57: [684,19,1000,5,994], // LATIN CAPITAL LETTER W + 0x58: [684,1,722,16,705], // LATIN CAPITAL LETTER X + 0x59: [683,1,722,16,704], // LATIN CAPITAL LETTER Y + 0x5A: [683,1,667,29,635], // LATIN CAPITAL LETTER Z + 0x6B: [684,2,556,17,535] // LATIN SMALL LETTER K + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax["HTML-CSS"].fontDir + "/AMS/Regular/BBBold.js"); diff --git a/modules/MathJax/jax/output/HTML-CSS/fonts/TeX/AMS/Regular/BoxDrawing.js b/modules/MathJax/jax/output/HTML-CSS/fonts/TeX/AMS/Regular/BoxDrawing.js new file mode 100644 index 0000000..e3c4b52 --- /dev/null +++ b/modules/MathJax/jax/output/HTML-CSS/fonts/TeX/AMS/Regular/BoxDrawing.js @@ -0,0 +1,33 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/fonts/TeX/AMS/Regular/BoxDrawing.js + * + * Copyright (c) 2009-2010 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax['HTML-CSS'].FONTDATA.FONTS['MathJax_AMS'], + { + 0x250C: [694,-306,500,54,444], // BOX DRAWINGS LIGHT DOWN AND RIGHT + 0x2510: [695,-306,500,55,444], // BOX DRAWINGS LIGHT DOWN AND LEFT + 0x2514: [367,23,500,54,444], // BOX DRAWINGS LIGHT UP AND RIGHT + 0x2518: [366,22,500,55,445], // BOX DRAWINGS LIGHT UP AND LEFT + 0x2571: [694,195,889,0,860], // BOX DRAWINGS LIGHT DIAGONAL UPPER RIGHT TO LOWER LEFT + 0x2572: [694,195,889,0,860] // BOX DRAWINGS LIGHT DIAGONAL UPPER LEFT TO LOWER RIGHT + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax["HTML-CSS"].fontDir + "/AMS/Regular/BoxDrawing.js"); diff --git a/modules/MathJax/jax/output/HTML-CSS/fonts/TeX/AMS/Regular/CombDiacritMarks.js b/modules/MathJax/jax/output/HTML-CSS/fonts/TeX/AMS/Regular/CombDiacritMarks.js new file mode 100644 index 0000000..aecc80d --- /dev/null +++ b/modules/MathJax/jax/output/HTML-CSS/fonts/TeX/AMS/Regular/CombDiacritMarks.js @@ -0,0 +1,29 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/fonts/TeX/AMS/Regular/CombDiacritMarks.js + * + * Copyright (c) 2009-2010 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax['HTML-CSS'].FONTDATA.FONTS['MathJax_AMS'], + { + 0x302: [845,-561,0,-2347,13], // COMBINING CIRCUMFLEX ACCENT + 0x303: [899,-628,0,-2332,-3] // COMBINING TILDE + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax["HTML-CSS"].fontDir + "/AMS/Regular/CombDiacritMarks.js"); diff --git a/modules/MathJax/jax/output/HTML-CSS/fonts/TeX/AMS/Regular/Dingbats.js b/modules/MathJax/jax/output/HTML-CSS/fonts/TeX/AMS/Regular/Dingbats.js new file mode 100644 index 0000000..5851787 --- /dev/null +++ b/modules/MathJax/jax/output/HTML-CSS/fonts/TeX/AMS/Regular/Dingbats.js @@ -0,0 +1,29 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/fonts/TeX/AMS/Regular/Dingbats.js + * + * Copyright (c) 2009-2010 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax['HTML-CSS'].FONTDATA.FONTS['MathJax_AMS'], + { + 0x2713: [707,35,833,84,749], // CHECK MARK + 0x2720: [716,22,833,48,786] // MALTESE CROSS + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax["HTML-CSS"].fontDir + "/AMS/Regular/Dingbats.js"); diff --git a/modules/MathJax/jax/output/HTML-CSS/fonts/TeX/AMS/Regular/EnclosedAlphanum.js b/modules/MathJax/jax/output/HTML-CSS/fonts/TeX/AMS/Regular/EnclosedAlphanum.js new file mode 100644 index 0000000..ae4ba02 --- /dev/null +++ b/modules/MathJax/jax/output/HTML-CSS/fonts/TeX/AMS/Regular/EnclosedAlphanum.js @@ -0,0 +1,28 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/fonts/TeX/AMS/Regular/EnclosedAlphanum.js + * + * Copyright (c) 2009-2010 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax['HTML-CSS'].FONTDATA.FONTS['MathJax_AMS'], + { + 0x24C8: [709,175,902,8,894] // CIRCLED LATIN CAPITAL LETTER S + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax["HTML-CSS"].fontDir + "/AMS/Regular/EnclosedAlphanum.js"); diff --git a/modules/MathJax/jax/output/HTML-CSS/fonts/TeX/AMS/Regular/GeneralPunctuation.js b/modules/MathJax/jax/output/HTML-CSS/fonts/TeX/AMS/Regular/GeneralPunctuation.js new file mode 100644 index 0000000..821be23 --- /dev/null +++ b/modules/MathJax/jax/output/HTML-CSS/fonts/TeX/AMS/Regular/GeneralPunctuation.js @@ -0,0 +1,28 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/fonts/TeX/AMS/Regular/GeneralPunctuation.js + * + * Copyright (c) 2009-2010 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax['HTML-CSS'].FONTDATA.FONTS['MathJax_AMS'], + { + 0x2035: [560,-43,275,12,244] // REVERSED PRIME + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax["HTML-CSS"].fontDir + "/AMS/Regular/GeneralPunctuation.js"); diff --git a/modules/MathJax/jax/output/HTML-CSS/fonts/TeX/AMS/Regular/GeometricShapes.js b/modules/MathJax/jax/output/HTML-CSS/fonts/TeX/AMS/Regular/GeometricShapes.js new file mode 100644 index 0000000..b2573c7 --- /dev/null +++ b/modules/MathJax/jax/output/HTML-CSS/fonts/TeX/AMS/Regular/GeometricShapes.js @@ -0,0 +1,36 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/fonts/TeX/AMS/Regular/GeometricShapes.js + * + * Copyright (c) 2009-2010 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax['HTML-CSS'].FONTDATA.FONTS['MathJax_AMS'], + { + 0x25A0: [689,0,778,55,722], // BLACK SQUARE + 0x25A1: [689,0,778,55,722], // WHITE SQUARE + 0x25B2: [575,20,722,84,637], // BLACK UP-POINTING TRIANGLE + 0x25B3: [575,20,722,84,637], // WHITE UP-POINTING TRIANGLE + 0x25B6: [539,41,778,83,694], // BLACK RIGHT-POINTING TRIANGLE + 0x25BC: [576,20,722,84,638], // BLACK DOWN-POINTING TRIANGLE + 0x25BD: [576,20,722,84,638], // WHITE DOWN-POINTING TRIANGLE + 0x25C0: [539,41,778,83,694], // BLACK LEFT-POINTING TRIANGLE + 0x25CA: [716,132,667,56,612] // LOZENGE + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax["HTML-CSS"].fontDir + "/AMS/Regular/GeometricShapes.js"); diff --git a/modules/MathJax/jax/output/HTML-CSS/fonts/TeX/AMS/Regular/GreekAndCoptic.js b/modules/MathJax/jax/output/HTML-CSS/fonts/TeX/AMS/Regular/GreekAndCoptic.js new file mode 100644 index 0000000..0b76d98 --- /dev/null +++ b/modules/MathJax/jax/output/HTML-CSS/fonts/TeX/AMS/Regular/GreekAndCoptic.js @@ -0,0 +1,29 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/fonts/TeX/AMS/Regular/GreekAndCoptic.js + * + * Copyright (c) 2009-2010 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax['HTML-CSS'].FONTDATA.FONTS['MathJax_AMS'], + { + 0x3DD: [605,85,778,55,719], // GREEK SMALL LETTER DIGAMMA + 0x3F0: [434,6,667,37,734] // GREEK KAPPA SYMBOL + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax["HTML-CSS"].fontDir + "/AMS/Regular/GreekAndCoptic.js"); diff --git a/modules/MathJax/jax/output/HTML-CSS/fonts/TeX/AMS/Regular/Latin1Supplement.js b/modules/MathJax/jax/output/HTML-CSS/fonts/TeX/AMS/Regular/Latin1Supplement.js new file mode 100644 index 0000000..6106d4f --- /dev/null +++ b/modules/MathJax/jax/output/HTML-CSS/fonts/TeX/AMS/Regular/Latin1Supplement.js @@ -0,0 +1,31 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/fonts/TeX/AMS/Regular/Latin1Supplement.js + * + * Copyright (c) 2009-2010 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax['HTML-CSS'].FONTDATA.FONTS['MathJax_AMS'], + { + 0xA0: [0,0,250,0,0], // NO-BREAK SPACE + 0xA5: [684,0,750,11,738], // YEN SIGN + 0xAE: [709,175,947,32,915], // REGISTERED SIGN + 0xF0: [749,21,556,42,510] // LATIN SMALL LETTER ETH + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax["HTML-CSS"].fontDir + "/AMS/Regular/Latin1Supplement.js"); diff --git a/modules/MathJax/jax/output/HTML-CSS/fonts/TeX/AMS/Regular/LatinExtendedA.js b/modules/MathJax/jax/output/HTML-CSS/fonts/TeX/AMS/Regular/LatinExtendedA.js new file mode 100644 index 0000000..39b5f45 --- /dev/null +++ b/modules/MathJax/jax/output/HTML-CSS/fonts/TeX/AMS/Regular/LatinExtendedA.js @@ -0,0 +1,28 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/fonts/TeX/AMS/Regular/LatinExtendedA.js + * + * Copyright (c) 2009-2010 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax['HTML-CSS'].FONTDATA.FONTS['MathJax_AMS'], + { + 0x127: [695,13,540,42,562] // LATIN SMALL LETTER H WITH STROKE + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax["HTML-CSS"].fontDir + "/AMS/Regular/LatinExtendedA.js"); diff --git a/modules/MathJax/jax/output/HTML-CSS/fonts/TeX/AMS/Regular/LetterlikeSymbols.js b/modules/MathJax/jax/output/HTML-CSS/fonts/TeX/AMS/Regular/LetterlikeSymbols.js new file mode 100644 index 0000000..642a2a9 --- /dev/null +++ b/modules/MathJax/jax/output/HTML-CSS/fonts/TeX/AMS/Regular/LetterlikeSymbols.js @@ -0,0 +1,34 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/fonts/TeX/AMS/Regular/LetterlikeSymbols.js + * + * Copyright (c) 2009-2010 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax['HTML-CSS'].FONTDATA.FONTS['MathJax_AMS'], + { + 0x210F: [695,13,540,42,562], // stix-/hbar - Planck's over 2pi + 0x2127: [685,22,722,44,675], // INVERTED OHM SIGN + 0x2132: [695,1,556,55,497], // TURNED CAPITAL F + 0x2136: [763,21,667,-22,687], // BET SYMBOL + 0x2137: [764,43,444,-22,422], // GIMEL SYMBOL + 0x2138: [764,43,667,54,640], // DALET SYMBOL + 0x2141: [706,23,639,37,577] // TURNED SANS-SERIF CAPITAL G + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax["HTML-CSS"].fontDir + "/AMS/Regular/LetterlikeSymbols.js"); diff --git a/modules/MathJax/jax/output/HTML-CSS/fonts/TeX/AMS/Regular/Main.js b/modules/MathJax/jax/output/HTML-CSS/fonts/TeX/AMS/Regular/Main.js new file mode 100644 index 0000000..6a88edd --- /dev/null +++ b/modules/MathJax/jax/output/HTML-CSS/fonts/TeX/AMS/Regular/Main.js @@ -0,0 +1,52 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/fonts/TeX/AMS/Regular/Main.js + * + * Copyright (c) 2009-2010 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +MathJax.OutputJax['HTML-CSS'].FONTDATA.FONTS['MathJax_AMS'] = { + directory: 'AMS/Regular', + family: 'MathJax_AMS', + testString: "MATHJAX AMS", + Ranges: [ + [0x0,0x7F,"BBBold"], + [0x80,0xFF,"Latin1Supplement"], + [0x100,0x17F,"LatinExtendedA"], + [0x2B0,0x2FF,"SpacingModLetters"], + [0x300,0x36F,"CombDiacritMarks"], + [0x370,0x3FF,"GreekAndCoptic"], + [0x2000,0x206F,"GeneralPunctuation"], + [0x2100,0x214F,"LetterlikeSymbols"], + [0x2190,0x21FF,"Arrows"], + [0x2200,0x22FF,"MathOperators"], + [0x2300,0x23FF,"MiscTechnical"], + [0x2460,0x24FF,"EnclosedAlphanum"], + [0x2500,0x257F,"BoxDrawing"], + [0x25A0,0x25FF,"GeometricShapes"], + [0x2600,0x26FF,"MiscSymbols"], + [0x2700,0x27BF,"Dingbats"], + [0x2980,0x29FF,"MiscMathSymbolsB"], + [0x2A00,0x2AFF,"SuppMathOperators"], + [0xE000,0xF8FF,"PUA"] + ] + +}; + +MathJax.Callback.Queue( + ["initFont",MathJax.OutputJax["HTML-CSS"],"MathJax_AMS"], + ["loadComplete",MathJax.Ajax,MathJax.OutputJax["HTML-CSS"].fontDir+"/AMS/Regular/Main.js"] +); diff --git a/modules/MathJax/jax/output/HTML-CSS/fonts/TeX/AMS/Regular/MathOperators.js b/modules/MathJax/jax/output/HTML-CSS/fonts/TeX/AMS/Regular/MathOperators.js new file mode 100644 index 0000000..31482d5 --- /dev/null +++ b/modules/MathJax/jax/output/HTML-CSS/fonts/TeX/AMS/Regular/MathOperators.js @@ -0,0 +1,138 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/fonts/TeX/AMS/Regular/MathOperators.js + * + * Copyright (c) 2009-2010 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax['HTML-CSS'].FONTDATA.FONTS['MathJax_AMS'], + { + 0x2201: [846,21,500,56,444], // COMPLEMENT + 0x2204: [860,166,556,55,498], // THERE DOES NOT EXIST + 0x2205: [587,3,778,54,720], // EMPTY SET + 0x220D: [440,1,429,102,457], // SMALL CONTAINS AS MEMBER + 0x2212: [270,-230,500,83,417], // MINUS SIGN + 0x2214: [766,94,778,56,722], // DOT PLUS + 0x2216: [430,23,778,91,685], // SET MINUS + 0x221D: [472,-28,778,56,722], // PROPORTIONAL TO + 0x2220: [694,0,722,55,666], // ANGLE + 0x2221: [714,20,722,55,667], // MEASURED ANGLE + 0x2222: [551,51,722,55,666], // SPHERICAL ANGLE + 0x2223: [430,23,222,91,131], // DIVIDES + 0x2224: [750,252,278,-21,297], // DOES NOT DIVIDE + 0x2225: [431,23,389,55,331], // PARALLEL TO + 0x2226: [750,250,500,-20,518], // NOT PARALLEL TO + 0x2234: [471,82,667,24,643], // THEREFORE + 0x2235: [471,82,667,23,643], // BECAUSE + 0x223C: [365,-132,778,55,719], // TILDE OPERATOR + 0x223D: [367,-133,778,56,722], // REVERSED TILDE + 0x2241: [468,-32,778,55,719], // stix-not, vert, similar + 0x2242: [463,-34,778,55,720], // MINUS TILDE + 0x2246: [652,155,778,54,720], // APPROXIMATELY BUT NOT ACTUALLY EQUAL TO + 0x2248: [482,-50,778,54,719], // ALMOST EQUAL TO + 0x224A: [579,39,778,51,725], // ALMOST EQUAL OR EQUAL TO + 0x224E: [492,-8,778,55,722], // GEOMETRICALLY EQUIVALENT TO + 0x224F: [492,-133,778,55,722], // DIFFERENCE BETWEEN + 0x2251: [609,108,778,55,722], // GEOMETRICALLY EQUAL TO + 0x2252: [601,101,778,15,762], // APPROXIMATELY EQUAL TO OR THE IMAGE OF + 0x2253: [601,102,778,14,762], // IMAGE OF OR APPROXIMATELY EQUAL TO + 0x2256: [367,-133,778,55,722], // RING IN EQUAL TO + 0x2257: [721,-133,778,55,722], // RING EQUAL TO + 0x225C: [859,-133,778,55,723], // DELTA EQUAL TO + 0x2266: [753,175,778,83,694], // LESS-THAN OVER EQUAL TO + 0x2267: [753,175,778,82,694], // GREATER-THAN OVER EQUAL TO + 0x2268: [752,286,778,82,693], // stix-less, vert, not double equals + 0x2269: [752,286,778,82,693], // stix-gt, vert, not double equals + 0x226C: [750,250,500,74,425], // BETWEEN + 0x226E: [708,209,778,82,693], // stix-not, vert, less-than + 0x226F: [708,209,778,82,694], // stix-not, vert, greater-than + 0x2270: [801,303,778,82,694], // stix-not, vert, less-than-or-equal + 0x2271: [801,303,778,82,695], // stix-not, vert, greater-than-or-equal + 0x2272: [732,228,778,56,722], // stix-less-than or (contour) similar + 0x2273: [732,229,778,56,722], // stix-greater-than or (contour) similar + 0x2276: [681,253,778,43,735], // LESS-THAN OR GREATER-THAN + 0x2277: [681,253,778,83,694], // GREATER-THAN OR LESS-THAN + 0x227C: [580,154,778,83,695], // PRECEDES OR EQUAL TO + 0x227D: [580,154,778,82,694], // SUCCEEDS OR EQUAL TO + 0x227E: [732,228,778,56,722], // PRECEDES OR EQUIVALENT TO + 0x227F: [732,228,778,56,722], // SUCCEEDS OR EQUIVALENT TO + 0x2280: [705,208,778,82,693], // DOES NOT PRECEDE + 0x2281: [705,208,778,82,693], // stix-not (vert) succeeds + 0x2288: [801,303,778,83,693], // stix-/nsubseteq N: not (vert) subset, equals + 0x2289: [801,303,778,82,691], // stix-/nsupseteq N: not (vert) superset, equals + 0x228A: [635,241,778,84,693], // stix-subset, not equals, variant + 0x228B: [635,241,778,82,691], // stix-superset, not equals, variant + 0x228F: [539,41,778,83,694], // SQUARE IMAGE OF + 0x2290: [539,41,778,63,714], // SQUARE ORIGINAL OF + 0x229A: [583,82,778,57,721], // CIRCLED RING OPERATOR + 0x229B: [583,82,778,57,721], // CIRCLED ASTERISK OPERATOR + 0x229D: [583,82,778,57,721], // CIRCLED DASH + 0x229E: [689,0,778,55,722], // SQUARED PLUS + 0x229F: [689,0,778,55,722], // SQUARED MINUS + 0x22A0: [689,0,778,55,722], // SQUARED TIMES + 0x22A1: [689,0,778,55,722], // SQUARED DOT OPERATOR + 0x22A8: [694,0,611,55,555], // TRUE + 0x22A9: [694,0,722,55,666], // FORCES + 0x22AA: [694,0,889,55,833], // TRIPLE VERTICAL BAR RIGHT TURNSTILE + 0x22AC: [695,1,611,-55,555], // DOES NOT PROVE + 0x22AD: [695,1,611,-55,554], // NOT TRUE + 0x22AE: [695,1,722,-55,665], // DOES NOT FORCE + 0x22AF: [695,1,722,-55,665], // NEGATED DOUBLE VERTICAL BAR DOUBLE RIGHT TURNSTILE + 0x22B2: [539,41,778,83,694], // NORMAL SUBGROUP OF + 0x22B3: [539,41,778,83,694], // CONTAINS AS NORMAL SUBGROUP + 0x22B4: [636,138,778,83,694], // NORMAL SUBGROUP OF OR EQUAL TO + 0x22B5: [636,138,778,83,694], // CONTAINS AS NORMAL SUBGROUP OR EQUAL TO + 0x22B8: [408,-92,1111,55,1055], // MULTIMAP + 0x22BA: [431,213,556,56,500], // INTERCALATE + 0x22BB: [716,0,611,54,555], // XOR + 0x22BC: [716,1,611,55,555], // NAND + 0x22C5: [189,0,278,55,222], // DOT OPERATOR + 0x22C7: [545,44,778,55,720], // DIVISION TIMES + 0x22C9: [492,-8,778,146,628], // LEFT NORMAL FACTOR SEMIDIRECT PRODUCT + 0x22CA: [492,-8,778,146,628], // RIGHT NORMAL FACTOR SEMIDIRECT PRODUCT + 0x22CB: [695,22,778,55,722], // LEFT SEMIDIRECT PRODUCT + 0x22CC: [694,23,778,54,722], // RIGHT SEMIDIRECT PRODUCT + 0x22CD: [464,-36,778,56,722], // REVERSED TILDE EQUALS + 0x22CE: [579,21,760,83,676], // CURLY LOGICAL OR + 0x22CF: [578,22,760,83,676], // CURLY LOGICAL AND + 0x22D0: [540,41,778,84,695], // DOUBLE SUBSET + 0x22D1: [541,40,778,82,693], // DOUBLE SUPERSET + 0x22D2: [598,22,667,55,611], // DOUBLE INTERSECTION + 0x22D3: [599,22,667,55,611], // DOUBLE UNION + 0x22D4: [736,22,667,56,611], // PITCHFORK + 0x22D6: [541,41,778,82,693], // LESS-THAN WITH DOT + 0x22D7: [541,41,778,81,693], // GREATER-THAN WITH DOT + 0x22D8: [568,68,1333,56,1277], // VERY MUCH LESS-THAN + 0x22D9: [568,67,1333,55,1278], // VERY MUCH GREATER-THAN + 0x22DA: [886,386,778,83,675], // stix-less, equal, slanted, greater + 0x22DB: [886,386,778,82,674], // stix-greater, equal, slanted, less + 0x22DE: [734,0,778,83,695], // EQUAL TO OR PRECEDES + 0x22DF: [735,0,778,82,695], // EQUAL TO OR SUCCEEDS + 0x22E0: [801,303,778,82,693], // stix-not (vert) precedes or contour equals + 0x22E1: [801,303,778,81,694], // stix-not (vert) succeeds or contour equals + 0x22E6: [730,359,778,55,719], // LESS-THAN BUT NOT EQUIVALENT TO + 0x22E7: [730,359,778,55,719], // GREATER-THAN BUT NOT EQUIVALENT TO + 0x22E8: [730,360,778,55,719], // PRECEDES BUT NOT EQUIVALENT TO + 0x22E9: [730,359,778,55,719], // SUCCEEDS BUT NOT EQUIVALENT TO + 0x22EA: [706,208,778,82,693], // NOT NORMAL SUBGROUP OF + 0x22EB: [706,208,778,82,693], // DOES NOT CONTAIN AS NORMAL SUBGROUP + 0x22EC: [802,303,778,81,693], // stix-not, vert, left triangle, equals + 0x22ED: [801,303,778,82,694] // stix-not, vert, right triangle, equals + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax["HTML-CSS"].fontDir + "/AMS/Regular/MathOperators.js"); diff --git a/modules/MathJax/jax/output/HTML-CSS/fonts/TeX/AMS/Regular/MiscMathSymbolsB.js b/modules/MathJax/jax/output/HTML-CSS/fonts/TeX/AMS/Regular/MiscMathSymbolsB.js new file mode 100644 index 0000000..24b6b50 --- /dev/null +++ b/modules/MathJax/jax/output/HTML-CSS/fonts/TeX/AMS/Regular/MiscMathSymbolsB.js @@ -0,0 +1,28 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/fonts/TeX/AMS/Regular/MiscMathSymbolsB.js + * + * Copyright (c) 2009-2010 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax['HTML-CSS'].FONTDATA.FONTS['MathJax_AMS'], + { + 0x29EB: [716,132,667,56,612] // BLACK LOZENGE + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax["HTML-CSS"].fontDir + "/AMS/Regular/MiscMathSymbolsB.js"); diff --git a/modules/MathJax/jax/output/HTML-CSS/fonts/TeX/AMS/Regular/MiscSymbols.js b/modules/MathJax/jax/output/HTML-CSS/fonts/TeX/AMS/Regular/MiscSymbols.js new file mode 100644 index 0000000..2a1839d --- /dev/null +++ b/modules/MathJax/jax/output/HTML-CSS/fonts/TeX/AMS/Regular/MiscSymbols.js @@ -0,0 +1,28 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/fonts/TeX/AMS/Regular/MiscSymbols.js + * + * Copyright (c) 2009-2010 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax['HTML-CSS'].FONTDATA.FONTS['MathJax_AMS'], + { + 0x2605: [695,111,944,49,896] // BLACK STAR + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax["HTML-CSS"].fontDir + "/AMS/Regular/MiscSymbols.js"); diff --git a/modules/MathJax/jax/output/HTML-CSS/fonts/TeX/AMS/Regular/MiscTechnical.js b/modules/MathJax/jax/output/HTML-CSS/fonts/TeX/AMS/Regular/MiscTechnical.js new file mode 100644 index 0000000..c5c32b6 --- /dev/null +++ b/modules/MathJax/jax/output/HTML-CSS/fonts/TeX/AMS/Regular/MiscTechnical.js @@ -0,0 +1,29 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/fonts/TeX/AMS/Regular/MiscTechnical.js + * + * Copyright (c) 2009-2010 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax['HTML-CSS'].FONTDATA.FONTS['MathJax_AMS'], + { + 0x2322: [378,-122,778,55,722], // stix-small down curve + 0x2323: [378,-143,778,55,722] // stix-small up curve + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax["HTML-CSS"].fontDir + "/AMS/Regular/MiscTechnical.js"); diff --git a/modules/MathJax/jax/output/HTML-CSS/fonts/TeX/AMS/Regular/PUA.js b/modules/MathJax/jax/output/HTML-CSS/fonts/TeX/AMS/Regular/PUA.js new file mode 100644 index 0000000..f31d880 --- /dev/null +++ b/modules/MathJax/jax/output/HTML-CSS/fonts/TeX/AMS/Regular/PUA.js @@ -0,0 +1,43 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/fonts/TeX/AMS/Regular/PUA.js + * + * Copyright (c) 2009-2010 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax['HTML-CSS'].FONTDATA.FONTS['MathJax_AMS'], + { + 0xE006: [430,23,222,-20,240], // MJ-TeX: small does not divide + 0xE007: [431,24,389,-20,407], // MJ-TeX: small not parallel + 0xE008: [605,85,778,55,719], // MJ-TeX: greek small letter digamma (for IE) + 0xE009: [434,6,667,37,734], // MJ-TeX: greek kappa symbol (for IE) + 0xE00C: [752,284,778,81,693], // MJ-TeX: less over not-equal + 0xE00D: [752,284,778,81,693], // MJ-TeX: greater over not-equal + 0xE00E: [919,421,778,82,694], // MJ-TeX: not greater, double equals + 0xE00F: [801,303,778,81,695], // MJ-TeX: not greater-or-equal slanted + 0xE010: [801,303,778,82,694], // MJ-TeX: not less-or-equal, slanted + 0xE011: [919,421,778,82,694], // MJ-TeX: not less, double equals + 0xE016: [828,330,778,82,694], // MJ-TeX: not subset, double equals + 0xE017: [752,332,778,82,694], // MJ-TeX: not subset, double equals, short slash + 0xE018: [829,330,778,82,695], // MJ-TeX: not superset, double equals + 0xE019: [752,333,778,81,693], // MJ-TeX: not superset, double equals, short slash + 0xE01A: [635,256,778,84,693], // MJ-TeX: not subset or equal, short slash + 0xE01B: [634,254,778,82,691] // MJ-TeX: not superset or equal, short slash + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax["HTML-CSS"].fontDir + "/AMS/Regular/PUA.js"); diff --git a/modules/MathJax/jax/output/HTML-CSS/fonts/TeX/AMS/Regular/SpacingModLetters.js b/modules/MathJax/jax/output/HTML-CSS/fonts/TeX/AMS/Regular/SpacingModLetters.js new file mode 100644 index 0000000..d9700d0 --- /dev/null +++ b/modules/MathJax/jax/output/HTML-CSS/fonts/TeX/AMS/Regular/SpacingModLetters.js @@ -0,0 +1,29 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/fonts/TeX/AMS/Regular/SpacingModLetters.js + * + * Copyright (c) 2009-2010 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax['HTML-CSS'].FONTDATA.FONTS['MathJax_AMS'], + { + 0x2C6: [845,-561,2333,-14,2346], // MODIFIER LETTER CIRCUMFLEX ACCENT + 0x2DC: [899,-628,2333,1,2330] // SMALL TILDE + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax["HTML-CSS"].fontDir + "/AMS/Regular/SpacingModLetters.js"); diff --git a/modules/MathJax/jax/output/HTML-CSS/fonts/TeX/AMS/Regular/SuppMathOperators.js b/modules/MathJax/jax/output/HTML-CSS/fonts/TeX/AMS/Regular/SuppMathOperators.js new file mode 100644 index 0000000..64725d4 --- /dev/null +++ b/modules/MathJax/jax/output/HTML-CSS/fonts/TeX/AMS/Regular/SuppMathOperators.js @@ -0,0 +1,50 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/fonts/TeX/AMS/Regular/SuppMathOperators.js + * + * Copyright (c) 2009-2010 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax['HTML-CSS'].FONTDATA.FONTS['MathJax_AMS'], + { + 0x2A5E: [813,97,611,55,555], // LOGICAL AND WITH DOUBLE OVERBAR + 0x2A7D: [636,138,778,83,694], // LESS-THAN OR SLANTED EQUAL TO + 0x2A7E: [636,138,778,82,694], // GREATER-THAN OR SLANTED EQUAL TO + 0x2A85: [762,291,778,54,722], // LESS-THAN OR APPROXIMATE + 0x2A86: [763,290,778,54,722], // GREATER-THAN OR APPROXIMATE + 0x2A87: [635,241,778,82,693], // LESS-THAN AND SINGLE-LINE NOT EQUAL TO + 0x2A88: [635,241,778,81,693], // GREATER-THAN AND SINGLE-LINE NOT EQUAL TO + 0x2A89: [761,387,778,57,718], // LESS-THAN AND NOT APPROXIMATE + 0x2A8A: [761,388,778,57,719], // GREATER-THAN AND NOT APPROXIMATE + 0x2A8B: [1003,463,778,83,695], // LESS-THAN ABOVE DOUBLE-LINE EQUAL ABOVE GREATER-THAN + 0x2A8C: [1003,463,778,83,694], // GREATER-THAN ABOVE DOUBLE-LINE EQUAL ABOVE LESS-THAN + 0x2A95: [636,138,778,83,694], // SLANTED EQUAL TO OR LESS-THAN + 0x2A96: [636,138,778,83,694], // SLANTED EQUAL TO OR GREATER-THAN + 0x2AB5: [752,287,778,82,693], // PRECEDES ABOVE NOT EQUAL TO + 0x2AB6: [752,286,778,82,694], // SUCCEEDS ABOVE NOT EQUAL TO + 0x2AB7: [761,294,778,57,717], // PRECEDES ABOVE ALMOST EQUAL TO + 0x2AB8: [761,294,778,57,717], // SUCCEEDS ABOVE ALMOST EQUAL TO + 0x2AB9: [761,337,778,57,719], // PRECEDES ABOVE NOT ALMOST EQUAL TO + 0x2ABA: [761,337,778,57,719], // SUCCEEDS ABOVE NOT ALMOST EQUAL TO + 0x2AC5: [753,216,778,83,695], // SUBSET OF ABOVE EQUALS SIGN + 0x2AC6: [754,215,778,82,694], // SUPERSET OF ABOVE EQUALS SIGN + 0x2ACB: [783,385,778,82,693], // stix-subset not double equals, variant + 0x2ACC: [783,385,778,82,693] // SUPERSET OF ABOVE NOT EQUAL TO + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax["HTML-CSS"].fontDir + "/AMS/Regular/SuppMathOperators.js"); diff --git a/modules/MathJax/jax/output/HTML-CSS/fonts/TeX/Caligraphic/Bold/Main.js b/modules/MathJax/jax/output/HTML-CSS/fonts/TeX/Caligraphic/Bold/Main.js new file mode 100644 index 0000000..cf24d87 --- /dev/null +++ b/modules/MathJax/jax/output/HTML-CSS/fonts/TeX/Caligraphic/Bold/Main.js @@ -0,0 +1,97 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/fonts/TeX/Caligraphic/Bold/Main.js + * + * Copyright (c) 2009-2010 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +MathJax.OutputJax['HTML-CSS'].FONTDATA.FONTS['MathJax_Caligraphic-bold'] = { + directory: 'Caligraphic/Bold', + family: 'MathJax_Caligraphic', + weight: 'bold', + testString: "MATHJAX CALIGRAPHIC", + skew: { + 0x41: 0.224, + 0x42: 0.16, + 0x43: 0.16, + 0x44: 0.0958, + 0x45: 0.128, + 0x46: 0.128, + 0x47: 0.128, + 0x48: 0.128, + 0x49: 0.0319, + 0x4A: 0.192, + 0x4B: 0.0639, + 0x4C: 0.16, + 0x4D: 0.16, + 0x4E: 0.0958, + 0x4F: 0.128, + 0x50: 0.0958, + 0x51: 0.128, + 0x52: 0.0958, + 0x53: 0.16, + 0x54: 0.0319, + 0x55: 0.0958, + 0x56: 0.0319, + 0x57: 0.0958, + 0x58: 0.16, + 0x59: 0.0958, + 0x5A: 0.16 + }, + 0x20: [0,0,250,0,0], // SPACE + 0x30: [460,17,575,46,528], // DIGIT ZERO + 0x31: [462,0,575,80,495], // DIGIT ONE + 0x32: [460,1,575,51,518], // DIGIT TWO + 0x33: [462,211,575,48,525], // DIGIT THREE + 0x34: [469,194,575,31,543], // DIGIT FOUR + 0x35: [461,211,575,57,517], // DIGIT FIVE + 0x36: [660,17,575,48,526], // DIGIT SIX + 0x37: [477,211,575,64,559], // DIGIT SEVEN + 0x38: [661,17,575,48,526], // DIGIT EIGHT + 0x39: [461,210,575,48,526], // DIGIT NINE + 0x41: [752,49,921,39,989], // LATIN CAPITAL LETTER A + 0x42: [705,18,748,40,740], // LATIN CAPITAL LETTER B + 0x43: [703,20,613,20,599], // LATIN CAPITAL LETTER C + 0x44: [687,0,892,19,885], // LATIN CAPITAL LETTER D + 0x45: [703,16,607,37,627], // LATIN CAPITAL LETTER E + 0x46: [686,30,814,17,930], // LATIN CAPITAL LETTER F + 0x47: [703,114,682,50,671], // LATIN CAPITAL LETTER G + 0x48: [686,49,987,19,946], // LATIN CAPITAL LETTER H + 0x49: [686,0,642,-27,746], // LATIN CAPITAL LETTER I + 0x4A: [687,114,779,53,937], // LATIN CAPITAL LETTER J + 0x4B: [703,18,871,40,834], // LATIN CAPITAL LETTER K + 0x4C: [703,17,788,40,751], // LATIN CAPITAL LETTER L + 0x4D: [703,49,1378,38,1353], // LATIN CAPITAL LETTER M + 0x4E: [841,49,937,-24,1105], // LATIN CAPITAL LETTER N + 0x4F: [704,17,906,63,882], // LATIN CAPITAL LETTER O + 0x50: [687,67,810,20,846], // LATIN CAPITAL LETTER P + 0x51: [703,147,939,120,905], // LATIN CAPITAL LETTER Q + 0x52: [687,18,990,20,981], // LATIN CAPITAL LETTER R + 0x53: [704,16,696,25,722], // LATIN CAPITAL LETTER S + 0x54: [720,69,644,38,947], // LATIN CAPITAL LETTER T + 0x55: [687,24,715,-11,771], // LATIN CAPITAL LETTER U + 0x56: [686,77,737,25,774], // LATIN CAPITAL LETTER V + 0x57: [686,77,1169,25,1206], // LATIN CAPITAL LETTER W + 0x58: [687,-1,817,56,906], // LATIN CAPITAL LETTER X + 0x59: [686,164,759,36,797], // LATIN CAPITAL LETTER Y + 0x5A: [687,1,818,46,853], // LATIN CAPITAL LETTER Z + 0xA0: [0,0,250,0,0] // NO-BREAK SPACE +}; + +MathJax.Callback.Queue( + ["initFont",MathJax.OutputJax["HTML-CSS"],"MathJax_Caligraphic-bold"], + ["loadComplete",MathJax.Ajax,MathJax.OutputJax["HTML-CSS"].fontDir+"/Caligraphic/Bold/Main.js"] +); diff --git a/modules/MathJax/jax/output/HTML-CSS/fonts/TeX/Caligraphic/Regular/Main.js b/modules/MathJax/jax/output/HTML-CSS/fonts/TeX/Caligraphic/Regular/Main.js new file mode 100644 index 0000000..fa4f4d5 --- /dev/null +++ b/modules/MathJax/jax/output/HTML-CSS/fonts/TeX/Caligraphic/Regular/Main.js @@ -0,0 +1,96 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/fonts/TeX/Caligraphic/Regular/Main.js + * + * Copyright (c) 2009-2010 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +MathJax.OutputJax['HTML-CSS'].FONTDATA.FONTS['MathJax_Caligraphic'] = { + directory: 'Caligraphic/Regular', + family: 'MathJax_Caligraphic', + testString: "MATHJAX CALIGRAPHIC", + skew: { + 0x41: 0.194, + 0x42: 0.139, + 0x43: 0.139, + 0x44: 0.0833, + 0x45: 0.111, + 0x46: 0.111, + 0x47: 0.111, + 0x48: 0.111, + 0x49: 0.0278, + 0x4A: 0.167, + 0x4B: 0.0556, + 0x4C: 0.139, + 0x4D: 0.139, + 0x4E: 0.0833, + 0x4F: 0.111, + 0x50: 0.0833, + 0x51: 0.111, + 0x52: 0.0833, + 0x53: 0.139, + 0x54: 0.0278, + 0x55: 0.0833, + 0x56: 0.0278, + 0x57: 0.0833, + 0x58: 0.139, + 0x59: 0.0833, + 0x5A: 0.139 + }, + 0x20: [0,0,250,0,0], // SPACE + 0x30: [452,22,500,39,460], // DIGIT ZERO + 0x31: [454,0,500,86,426], // DIGIT ONE + 0x32: [453,0,500,44,449], // DIGIT TWO + 0x33: [452,216,500,41,456], // DIGIT THREE + 0x34: [464,194,500,27,471], // DIGIT FOUR + 0x35: [453,217,500,50,448], // DIGIT FIVE + 0x36: [666,22,500,42,456], // DIGIT SIX + 0x37: [463,216,500,54,485], // DIGIT SEVEN + 0x38: [666,21,500,43,457], // DIGIT EIGHT + 0x39: [453,216,500,42,457], // DIGIT NINE + 0x41: [728,50,798,30,819], // LATIN CAPITAL LETTER A + 0x42: [705,22,657,31,664], // LATIN CAPITAL LETTER B + 0x43: [705,25,527,12,533], // LATIN CAPITAL LETTER C + 0x44: [684,1,771,19,767], // LATIN CAPITAL LETTER D + 0x45: [706,22,528,30,565], // LATIN CAPITAL LETTER E + 0x46: [683,32,719,18,829], // LATIN CAPITAL LETTER F + 0x47: [704,119,595,43,599], // LATIN CAPITAL LETTER G + 0x48: [683,48,845,18,803], // LATIN CAPITAL LETTER H + 0x49: [683,1,545,-31,642], // LATIN CAPITAL LETTER I + 0x4A: [683,119,678,47,839], // LATIN CAPITAL LETTER J + 0x4B: [705,23,762,32,733], // LATIN CAPITAL LETTER K + 0x4C: [706,22,690,32,656], // LATIN CAPITAL LETTER L + 0x4D: [705,50,1201,28,1137], // LATIN CAPITAL LETTER M + 0x4E: [790,50,820,-27,979], // LATIN CAPITAL LETTER N + 0x4F: [705,22,796,58,777], // LATIN CAPITAL LETTER O + 0x50: [684,57,696,19,733], // LATIN CAPITAL LETTER P + 0x51: [706,131,817,114,787], // LATIN CAPITAL LETTER Q + 0x52: [683,22,848,19,837], // LATIN CAPITAL LETTER R + 0x53: [705,23,606,17,642], // LATIN CAPITAL LETTER S + 0x54: [717,69,545,34,834], // LATIN CAPITAL LETTER T + 0x55: [684,28,626,-17,687], // LATIN CAPITAL LETTER U + 0x56: [683,52,613,25,658], // LATIN CAPITAL LETTER V + 0x57: [683,53,988,25,1034], // LATIN CAPITAL LETTER W + 0x58: [684,1,713,52,807], // LATIN CAPITAL LETTER X + 0x59: [683,143,668,31,714], // LATIN CAPITAL LETTER Y + 0x5A: [683,0,725,37,767], // LATIN CAPITAL LETTER Z + 0xA0: [0,0,250,0,0] // NO-BREAK SPACE +}; + +MathJax.Callback.Queue( + ["initFont",MathJax.OutputJax["HTML-CSS"],"MathJax_Caligraphic"], + ["loadComplete",MathJax.Ajax,MathJax.OutputJax["HTML-CSS"].fontDir+"/Caligraphic/Regular/Main.js"] +); diff --git a/modules/MathJax/jax/output/HTML-CSS/fonts/TeX/Fraktur/Bold/BasicLatin.js b/modules/MathJax/jax/output/HTML-CSS/fonts/TeX/Fraktur/Bold/BasicLatin.js new file mode 100644 index 0000000..3dfff99 --- /dev/null +++ b/modules/MathJax/jax/output/HTML-CSS/fonts/TeX/Fraktur/Bold/BasicLatin.js @@ -0,0 +1,109 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/fonts/TeX/Fraktur/Bold/BasicLatin.js + * + * Copyright (c) 2009-2010 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax['HTML-CSS'].FONTDATA.FONTS['MathJax_Fraktur-bold'], + { + 0x20: [0,0,250,0,0], // SPACE + 0x21: [689,12,349,107,241], // EXCLAMATION MARK + 0x22: [695,-432,254,10,232], // QUOTATION MARK + 0x26: [696,16,871,44,839], // AMPERSAND + 0x27: [695,-436,250,80,158], // APOSTROPHE + 0x28: [737,186,459,134,347], // LEFT PARENTHESIS + 0x29: [735,187,459,105,326], // RIGHT PARENTHESIS + 0x2A: [692,-449,328,40,277], // ASTERISK + 0x2B: [598,82,893,56,837], // PLUS SIGN + 0x2C: [107,191,328,118,253], // COMMA + 0x2D: [275,-236,893,54,833], // HYPHEN-MINUS + 0x2E: [102,15,328,103,237], // FULL STOP + 0x2F: [721,182,593,41,550], // SOLIDUS + 0x30: [501,12,593,42,533], // DIGIT ZERO + 0x31: [489,0,593,54,548], // DIGIT ONE + 0x32: [491,-2,593,44,563], // DIGIT TWO + 0x33: [488,193,593,31,523], // DIGIT THREE + 0x34: [495,196,593,13,565], // DIGIT FOUR + 0x35: [481,190,593,19,518], // DIGIT FIVE + 0x36: [704,12,593,48,547], // DIGIT SIX + 0x37: [479,197,593,54,591], // DIGIT SEVEN + 0x38: [714,5,593,45,542], // DIGIT EIGHT + 0x39: [487,195,593,29,549], // DIGIT NINE + 0x3A: [457,12,255,57,197], // COLON + 0x3B: [458,190,255,56,211], // SEMICOLON + 0x3D: [343,-168,582,22,559], // EQUALS SIGN + 0x3F: [698,14,428,39,422], // QUESTION MARK + 0x41: [686,31,847,28,827], // LATIN CAPITAL LETTER A + 0x42: [684,31,1044,57,965], // LATIN CAPITAL LETTER B + 0x43: [676,32,723,72,726], // LATIN CAPITAL LETTER C + 0x44: [684,29,982,31,896], // LATIN CAPITAL LETTER D + 0x45: [686,29,783,74,728], // LATIN CAPITAL LETTER E + 0x46: [684,147,722,17,727], // LATIN CAPITAL LETTER F + 0x47: [687,29,927,74,844], // LATIN CAPITAL LETTER G + 0x48: [684,126,851,6,752], // LATIN CAPITAL LETTER H + 0x49: [681,25,655,32,623], // LATIN CAPITAL LETTER I + 0x4A: [681,141,652,-8,617], // LATIN CAPITAL LETTER J + 0x4B: [682,26,789,20,806], // LATIN CAPITAL LETTER K + 0x4C: [683,28,786,30,764], // LATIN CAPITAL LETTER L + 0x4D: [684,33,1239,26,1232], // LATIN CAPITAL LETTER M + 0x4E: [679,30,983,26,973], // LATIN CAPITAL LETTER N + 0x4F: [726,30,976,12,881], // LATIN CAPITAL LETTER O + 0x50: [688,223,977,32,943], // LATIN CAPITAL LETTER P + 0x51: [726,83,976,12,918], // LATIN CAPITAL LETTER Q + 0x52: [688,28,978,31,978], // LATIN CAPITAL LETTER R + 0x53: [685,31,978,82,905], // LATIN CAPITAL LETTER S + 0x54: [686,30,790,31,802], // LATIN CAPITAL LETTER T + 0x55: [688,39,851,18,871], // LATIN CAPITAL LETTER U + 0x56: [685,29,982,24,966], // LATIN CAPITAL LETTER V + 0x57: [683,30,1235,25,1240], // LATIN CAPITAL LETTER W + 0x58: [681,35,849,32,835], // LATIN CAPITAL LETTER X + 0x59: [688,214,984,33,878], // LATIN CAPITAL LETTER Y + 0x5A: [677,148,711,-4,624], // LATIN CAPITAL LETTER Z + 0x5B: [740,130,257,36,226], // LEFT SQUARE BRACKET + 0x5D: [738,132,257,14,208], // RIGHT SQUARE BRACKET + 0x5E: [734,-452,590,1,584], // CIRCUMFLEX ACCENT + 0x61: [472,32,603,79,586], // LATIN SMALL LETTER A + 0x62: [690,32,590,85,504], // LATIN SMALL LETTER B + 0x63: [473,26,464,87,424], // LATIN SMALL LETTER C + 0x64: [632,28,589,-1,511], // LATIN SMALL LETTER D + 0x65: [471,27,472,81,428], // LATIN SMALL LETTER E + 0x66: [687,222,388,35,372], // LATIN SMALL LETTER F + 0x67: [472,208,595,17,541], // LATIN SMALL LETTER G + 0x68: [687,207,615,89,507], // LATIN SMALL LETTER H + 0x69: [686,25,331,3,327], // LATIN SMALL LETTER I + 0x6A: [682,203,332,-19,238], // LATIN SMALL LETTER J + 0x6B: [682,25,464,34,432], // LATIN SMALL LETTER K + 0x6C: [681,24,337,100,312], // LATIN SMALL LETTER L + 0x6D: [477,31,921,16,900], // LATIN SMALL LETTER M + 0x6E: [474,28,654,5,608], // LATIN SMALL LETTER N + 0x6F: [482,34,609,107,515], // LATIN SMALL LETTER O + 0x70: [558,207,604,-1,520], // LATIN SMALL LETTER P + 0x71: [485,211,596,87,515], // LATIN SMALL LETTER Q + 0x72: [472,26,460,13,453], // LATIN SMALL LETTER R + 0x73: [479,34,523,-23,482], // LATIN SMALL LETTER S + 0x74: [648,27,393,43,407], // LATIN SMALL LETTER T + 0x75: [472,32,589,9,603], // LATIN SMALL LETTER U + 0x76: [546,27,604,56,507], // LATIN SMALL LETTER V + 0x77: [549,32,918,55,815], // LATIN SMALL LETTER W + 0x78: [471,188,459,8,441], // LATIN SMALL LETTER X + 0x79: [557,221,589,60,512], // LATIN SMALL LETTER Y + 0x7A: [471,214,461,-7,378] // LATIN SMALL LETTER Z + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax["HTML-CSS"].fontDir + "/Fraktur/Bold/BasicLatin.js"); diff --git a/modules/MathJax/jax/output/HTML-CSS/fonts/TeX/Fraktur/Bold/Main.js b/modules/MathJax/jax/output/HTML-CSS/fonts/TeX/Fraktur/Bold/Main.js new file mode 100644 index 0000000..7f6fafd --- /dev/null +++ b/modules/MathJax/jax/output/HTML-CSS/fonts/TeX/Fraktur/Bold/Main.js @@ -0,0 +1,37 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/fonts/TeX/Fraktur/Bold/Main.js + * + * Copyright (c) 2009-2010 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +MathJax.OutputJax['HTML-CSS'].FONTDATA.FONTS['MathJax_Fraktur-bold'] = { + directory: 'Fraktur/Bold', + family: 'MathJax_Fraktur', + weight: 'bold', + testString: "MathJax Fraktur", + Ranges: [ + [0x0,0x7F,"BasicLatin"], + [0x80,0xDFFF,"Other"], + [0xE300,0xE310,"PUA"] + ] + +}; + +MathJax.Callback.Queue( + ["initFont",MathJax.OutputJax["HTML-CSS"],"MathJax_Fraktur-bold"], + ["loadComplete",MathJax.Ajax,MathJax.OutputJax["HTML-CSS"].fontDir+"/Fraktur/Bold/Main.js"] +); diff --git a/modules/MathJax/jax/output/HTML-CSS/fonts/TeX/Fraktur/Bold/Other.js b/modules/MathJax/jax/output/HTML-CSS/fonts/TeX/Fraktur/Bold/Other.js new file mode 100644 index 0000000..3060a36 --- /dev/null +++ b/modules/MathJax/jax/output/HTML-CSS/fonts/TeX/Fraktur/Bold/Other.js @@ -0,0 +1,30 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/fonts/TeX/Fraktur/Bold/Other.js + * + * Copyright (c) 2009-2010 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax['HTML-CSS'].FONTDATA.FONTS['MathJax_Fraktur-bold'], + { + 0xA0: [0,0,250,0,0], // NO-BREAK SPACE + 0x2018: [708,-411,254,53,187], // LEFT SINGLE QUOTATION MARK + 0x2019: [692,-394,254,58,193] // RIGHT SINGLE QUOTATION MARK + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax["HTML-CSS"].fontDir + "/Fraktur/Bold/Other.js"); diff --git a/modules/MathJax/jax/output/HTML-CSS/fonts/TeX/Fraktur/Bold/PUA.js b/modules/MathJax/jax/output/HTML-CSS/fonts/TeX/Fraktur/Bold/PUA.js new file mode 100644 index 0000000..d1b52cd --- /dev/null +++ b/modules/MathJax/jax/output/HTML-CSS/fonts/TeX/Fraktur/Bold/PUA.js @@ -0,0 +1,34 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/fonts/TeX/Fraktur/Bold/PUA.js + * + * Copyright (c) 2009-2010 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax['HTML-CSS'].FONTDATA.FONTS['MathJax_Fraktur-bold'], + { + 0xE301: [630,27,587,64,512], // ?? + 0xE302: [693,212,394,37,408], // ?? + 0xE303: [681,219,387,36,384], // ?? + 0xE304: [473,212,593,67,531], // ?? + 0xE305: [684,27,393,33,387], // ?? + 0xE308: [679,220,981,32,875], // ?? + 0xE309: [717,137,727,17,633] // ?? + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax["HTML-CSS"].fontDir + "/Fraktur/Bold/PUA.js"); diff --git a/modules/MathJax/jax/output/HTML-CSS/fonts/TeX/Fraktur/Regular/BasicLatin.js b/modules/MathJax/jax/output/HTML-CSS/fonts/TeX/Fraktur/Regular/BasicLatin.js new file mode 100644 index 0000000..bf559c5 --- /dev/null +++ b/modules/MathJax/jax/output/HTML-CSS/fonts/TeX/Fraktur/Regular/BasicLatin.js @@ -0,0 +1,109 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/fonts/TeX/Fraktur/Regular/BasicLatin.js + * + * Copyright (c) 2009-2010 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax['HTML-CSS'].FONTDATA.FONTS['MathJax_Fraktur'], + { + 0x20: [0,0,250,0,0], // SPACE + 0x21: [689,12,296,91,204], // EXCLAMATION MARK + 0x22: [695,-432,215,8,196], // QUOTATION MARK + 0x26: [698,11,738,49,733], // AMPERSAND + 0x27: [695,-436,212,69,134], // APOSTROPHE + 0x28: [737,186,389,114,293], // LEFT PARENTHESIS + 0x29: [735,187,389,89,276], // RIGHT PARENTHESIS + 0x2A: [693,-449,278,33,234], // ASTERISK + 0x2B: [598,82,756,47,709], // PLUS SIGN + 0x2C: [107,191,278,99,213], // COMMA + 0x2D: [275,-236,756,46,706], // HYPHEN-MINUS + 0x2E: [102,15,278,87,200], // FULL STOP + 0x2F: [721,182,502,34,466], // SOLIDUS + 0x30: [492,13,502,42,456], // DIGIT ZERO + 0x31: [468,2,502,47,460], // DIGIT ONE + 0x32: [474,-1,502,60,484], // DIGIT TWO + 0x33: [473,182,502,39,429], // DIGIT THREE + 0x34: [476,191,502,10,481], // DIGIT FOUR + 0x35: [458,185,502,47,440], // DIGIT FIVE + 0x36: [700,13,502,45,471], // DIGIT SIX + 0x37: [468,181,502,37,498], // DIGIT SEVEN + 0x38: [705,10,502,40,461], // DIGIT EIGHT + 0x39: [469,182,502,28,466], // DIGIT NINE + 0x3A: [457,12,216,50,168], // COLON + 0x3B: [458,189,216,47,179], // SEMICOLON + 0x3D: [368,-132,756,54,725], // EQUALS SIGN + 0x3F: [693,11,362,46,357], // QUESTION MARK + 0x41: [696,26,718,22,708], // LATIN CAPITAL LETTER A + 0x42: [691,28,884,48,821], // LATIN CAPITAL LETTER B + 0x43: [685,24,613,59,607], // LATIN CAPITAL LETTER C + 0x44: [685,27,832,27,745], // LATIN CAPITAL LETTER D + 0x45: [685,24,663,86,634], // LATIN CAPITAL LETTER E + 0x46: [686,154,611,11,612], // LATIN CAPITAL LETTER F + 0x47: [690,26,785,66,711], // LATIN CAPITAL LETTER G + 0x48: [666,133,720,1,645], // LATIN CAPITAL LETTER H + 0x49: [686,26,554,30,532], // LATIN CAPITAL LETTER I + 0x4A: [686,139,552,-11,522], // LATIN CAPITAL LETTER J + 0x4B: [681,27,668,17,682], // LATIN CAPITAL LETTER K + 0x4C: [686,26,666,33,644], // LATIN CAPITAL LETTER L + 0x4D: [692,28,1050,27,1048], // LATIN CAPITAL LETTER M + 0x4E: [686,25,832,27,825], // LATIN CAPITAL LETTER N + 0x4F: [729,27,827,12,744], // LATIN CAPITAL LETTER O + 0x50: [692,218,828,28,804], // LATIN CAPITAL LETTER P + 0x51: [729,69,827,11,783], // LATIN CAPITAL LETTER Q + 0x52: [686,26,828,27,824], // LATIN CAPITAL LETTER R + 0x53: [692,27,829,65,756], // LATIN CAPITAL LETTER S + 0x54: [701,27,669,34,677], // LATIN CAPITAL LETTER T + 0x55: [697,27,646,-25,665], // LATIN CAPITAL LETTER U + 0x56: [686,26,831,26,825], // LATIN CAPITAL LETTER V + 0x57: [686,27,1046,32,1055], // LATIN CAPITAL LETTER W + 0x58: [688,27,719,28,709], // LATIN CAPITAL LETTER X + 0x59: [686,218,833,27,741], // LATIN CAPITAL LETTER Y + 0x5A: [729,139,602,11,532], // LATIN CAPITAL LETTER Z + 0x5B: [740,130,278,117,278], // LEFT SQUARE BRACKET + 0x5D: [738,131,278,-4,160], // RIGHT SQUARE BRACKET + 0x5E: [734,-452,500,0,495], // CIRCUMFLEX ACCENT + 0x61: [470,35,500,66,497], // LATIN SMALL LETTER A + 0x62: [685,31,513,87,442], // LATIN SMALL LETTER B + 0x63: [466,29,389,72,359], // LATIN SMALL LETTER C + 0x64: [609,33,499,13,428], // LATIN SMALL LETTER D + 0x65: [467,30,401,70,364], // LATIN SMALL LETTER E + 0x66: [681,221,326,30,323], // LATIN SMALL LETTER F + 0x67: [470,209,504,17,455], // LATIN SMALL LETTER G + 0x68: [689,205,521,77,434], // LATIN SMALL LETTER H + 0x69: [673,20,279,14,267], // LATIN SMALL LETTER I + 0x6A: [672,208,281,-9,196], // LATIN SMALL LETTER J + 0x6B: [689,25,389,24,362], // LATIN SMALL LETTER K + 0x6C: [685,20,280,98,276], // LATIN SMALL LETTER L + 0x6D: [476,26,767,8,753], // LATIN SMALL LETTER M + 0x6E: [475,22,527,20,514], // LATIN SMALL LETTER N + 0x6F: [480,28,489,67,412], // LATIN SMALL LETTER O + 0x70: [541,212,500,12,430], // LATIN SMALL LETTER P + 0x71: [479,219,489,60,419], // LATIN SMALL LETTER Q + 0x72: [474,21,389,17,387], // LATIN SMALL LETTER R + 0x73: [478,29,443,-18,406], // LATIN SMALL LETTER S + 0x74: [640,20,333,27,348], // LATIN SMALL LETTER T + 0x75: [474,24,517,9,513], // LATIN SMALL LETTER U + 0x76: [531,28,512,55,435], // LATIN SMALL LETTER V + 0x77: [532,28,774,45,688], // LATIN SMALL LETTER W + 0x78: [472,188,389,10,363], // LATIN SMALL LETTER X + 0x79: [528,218,499,45,431], // LATIN SMALL LETTER Y + 0x7A: [471,214,391,-7,314] // LATIN SMALL LETTER Z + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax["HTML-CSS"].fontDir + "/Fraktur/Regular/BasicLatin.js"); diff --git a/modules/MathJax/jax/output/HTML-CSS/fonts/TeX/Fraktur/Regular/Main.js b/modules/MathJax/jax/output/HTML-CSS/fonts/TeX/Fraktur/Regular/Main.js new file mode 100644 index 0000000..bb4a69d --- /dev/null +++ b/modules/MathJax/jax/output/HTML-CSS/fonts/TeX/Fraktur/Regular/Main.js @@ -0,0 +1,36 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/fonts/TeX/Fraktur/Regular/Main.js + * + * Copyright (c) 2009-2010 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +MathJax.OutputJax['HTML-CSS'].FONTDATA.FONTS['MathJax_Fraktur'] = { + directory: 'Fraktur/Regular', + family: 'MathJax_Fraktur', + testString: "MathJax Fraktur", + Ranges: [ + [0x0,0x7F,"BasicLatin"], + [0x80,0xDFFF,"Other"], + [0xE300,0xE310,"PUA"] + ] + +}; + +MathJax.Callback.Queue( + ["initFont",MathJax.OutputJax["HTML-CSS"],"MathJax_Fraktur"], + ["loadComplete",MathJax.Ajax,MathJax.OutputJax["HTML-CSS"].fontDir+"/Fraktur/Regular/Main.js"] +); diff --git a/modules/MathJax/jax/output/HTML-CSS/fonts/TeX/Fraktur/Regular/Other.js b/modules/MathJax/jax/output/HTML-CSS/fonts/TeX/Fraktur/Regular/Other.js new file mode 100644 index 0000000..e69cb70 --- /dev/null +++ b/modules/MathJax/jax/output/HTML-CSS/fonts/TeX/Fraktur/Regular/Other.js @@ -0,0 +1,30 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/fonts/TeX/Fraktur/Regular/Other.js + * + * Copyright (c) 2009-2010 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax['HTML-CSS'].FONTDATA.FONTS['MathJax_Fraktur'], + { + 0xA0: [0,0,250,0,0], // NO-BREAK SPACE + 0x2018: [708,-410,215,45,158], // LEFT SINGLE QUOTATION MARK + 0x2019: [692,-395,215,49,163] // RIGHT SINGLE QUOTATION MARK + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax["HTML-CSS"].fontDir + "/Fraktur/Regular/Other.js"); diff --git a/modules/MathJax/jax/output/HTML-CSS/fonts/TeX/Fraktur/Regular/PUA.js b/modules/MathJax/jax/output/HTML-CSS/fonts/TeX/Fraktur/Regular/PUA.js new file mode 100644 index 0000000..7cfe0e3 --- /dev/null +++ b/modules/MathJax/jax/output/HTML-CSS/fonts/TeX/Fraktur/Regular/PUA.js @@ -0,0 +1,35 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/fonts/TeX/Fraktur/Regular/PUA.js + * + * Copyright (c) 2009-2010 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax['HTML-CSS'].FONTDATA.FONTS['MathJax_Fraktur'], + { + 0xE300: [683,32,497,75,430], // ?? + 0xE301: [616,30,498,35,432], // ?? + 0xE302: [680,215,333,29,339], // ?? + 0xE303: [679,224,329,28,318], // ?? + 0xE304: [471,214,503,52,449], // ?? + 0xE305: [686,20,333,26,315], // ?? + 0xE306: [577,22,334,29,347], // ?? + 0xE307: [475,22,501,10,514] // ?? + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax["HTML-CSS"].fontDir + "/Fraktur/Regular/PUA.js"); diff --git a/modules/MathJax/jax/output/HTML-CSS/fonts/TeX/Greek/Bold/Main.js b/modules/MathJax/jax/output/HTML-CSS/fonts/TeX/Greek/Bold/Main.js new file mode 100644 index 0000000..8ba617f --- /dev/null +++ b/modules/MathJax/jax/output/HTML-CSS/fonts/TeX/Greek/Bold/Main.js @@ -0,0 +1,44 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/fonts/TeX/Greek/Bold/Main.js + * + * Copyright (c) 2009-2010 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +MathJax.OutputJax['HTML-CSS'].FONTDATA.FONTS['MathJax_Greek-bold'] = { + directory: 'Greek/Bold', + family: 'MathJax_Greek', + weight: 'bold', + testString: String.fromCharCode(0x393)+" "+String.fromCharCode(0x3A5)+" "+String.fromCharCode(0x39B), + 0x20: [0,0,250,0,0], // SPACE + 0xA0: [0,0,250,0,0], // NO-BREAK SPACE + 0x393: [680,0,692,39,643], // GREEK CAPITAL LETTER GAMMA + 0x394: [698,0,958,56,901], // GREEK CAPITAL LETTER DELTA + 0x398: [696,10,894,64,829], // GREEK CAPITAL LETTER THETA + 0x39B: [698,0,806,40,765], // GREEK CAPITAL LETTER LAMDA + 0x39E: [675,0,767,48,718], // GREEK CAPITAL LETTER XI + 0x3A0: [680,0,900,39,860], // GREEK CAPITAL LETTER PI + 0x3A3: [686,0,831,64,766], // GREEK CAPITAL LETTER SIGMA + 0x3A5: [697,0,894,64,829], // GREEK CAPITAL LETTER UPSILON + 0x3A6: [686,0,831,64,766], // GREEK CAPITAL LETTER PHI + 0x3A8: [686,0,894,64,829], // GREEK CAPITAL LETTER PSI + 0x3A9: [696,1,831,51,779] // GREEK CAPITAL LETTER OMEGA +}; + +MathJax.Callback.Queue( + ["initFont",MathJax.OutputJax["HTML-CSS"],"MathJax_Greek-bold"], + ["loadComplete",MathJax.Ajax,MathJax.OutputJax["HTML-CSS"].fontDir+"/Greek/Bold/Main.js"] +); diff --git a/modules/MathJax/jax/output/HTML-CSS/fonts/TeX/Greek/BoldItalic/Main.js b/modules/MathJax/jax/output/HTML-CSS/fonts/TeX/Greek/BoldItalic/Main.js new file mode 100644 index 0000000..77166ea --- /dev/null +++ b/modules/MathJax/jax/output/HTML-CSS/fonts/TeX/Greek/BoldItalic/Main.js @@ -0,0 +1,111 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/fonts/TeX/Greek/BoldItalic/Main.js + * + * Copyright (c) 2009-2010 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +MathJax.OutputJax['HTML-CSS'].FONTDATA.FONTS['MathJax_Greek-bold-italic'] = { + directory: 'Greek/BoldItalic', + family: 'MathJax_Greek', + weight: 'bold', + style: 'italic', + testString: String.fromCharCode(0x393)+" "+String.fromCharCode(0x3A5)+" "+String.fromCharCode(0x39B), + skew: { + 0x393: 0.0958, + 0x394: 0.192, + 0x398: 0.0958, + 0x39B: 0.192, + 0x39E: 0.0958, + 0x3A0: 0.0639, + 0x3A3: 0.0958, + 0x3A5: 0.0639, + 0x3A6: 0.0958, + 0x3A8: 0.0639, + 0x3A9: 0.0958, + 0x3B1: 0.0319, + 0x3B2: 0.0958, + 0x3B4: 0.0639, + 0x3B5: 0.0958, + 0x3B6: 0.0958, + 0x3B7: 0.0639, + 0x3B8: 0.0958, + 0x3B9: 0.0639, + 0x3BC: 0.0319, + 0x3BD: 0.0319, + 0x3BE: 0.128, + 0x3BF: 0.0639, + 0x3C1: 0.0958, + 0x3C2: 0.0958, + 0x3C4: 0.0319, + 0x3C5: 0.0319, + 0x3C6: 0.0958, + 0x3C7: 0.0639, + 0x3C8: 0.128, + 0x3D1: 0.0958, + 0x3D5: 0.0958, + 0x3F1: 0.0958, + 0x3F5: 0.0639 + }, + 0x20: [0,0,250,0,0], // SPACE + 0xA0: [0,0,250,0,0], // NO-BREAK SPACE + 0x393: [680,0,657,43,777], // GREEK CAPITAL LETTER GAMMA + 0x394: [711,0,958,59,904], // GREEK CAPITAL LETTER DELTA + 0x398: [702,17,867,54,844], // GREEK CAPITAL LETTER THETA + 0x39B: [711,0,806,44,776], // GREEK CAPITAL LETTER LAMDA + 0x39E: [675,0,841,62,867], // GREEK CAPITAL LETTER XI + 0x3A0: [680,0,982,43,1026], // GREEK CAPITAL LETTER PI + 0x3A3: [686,0,885,69,902], // GREEK CAPITAL LETTER SIGMA + 0x3A5: [703,0,671,32,802], // GREEK CAPITAL LETTER UPSILON + 0x3A6: [686,0,767,29,737], // GREEK CAPITAL LETTER PHI + 0x3A8: [686,0,714,22,790], // GREEK CAPITAL LETTER PSI + 0x3A9: [703,0,879,93,886], // GREEK CAPITAL LETTER OMEGA + 0x3B1: [452,8,761,39,712], // GREEK SMALL LETTER ALPHA + 0x3B2: [701,194,660,28,637], // GREEK SMALL LETTER BETA + 0x3B3: [451,211,590,5,617], // GREEK SMALL LETTER GAMMA + 0x3B4: [725,8,522,39,513], // GREEK SMALL LETTER DELTA + 0x3B5: [461,17,529,36,481], // GREEK SMALL LETTER EPSILON + 0x3B6: [711,202,508,48,521], // GREEK SMALL LETTER ZETA + 0x3B7: [452,211,600,24,600], // GREEK SMALL LETTER ETA + 0x3B8: [702,8,562,40,554], // GREEK SMALL LETTER THETA + 0x3B9: [452,8,412,38,386], // GREEK SMALL LETTER IOTA + 0x3BA: [452,8,668,45,642], // GREEK SMALL LETTER KAPPA + 0x3BB: [694,13,671,40,652], // GREEK SMALL LETTER LAMDA + 0x3BC: [452,211,708,33,682], // GREEK SMALL LETTER MU + 0x3BD: [452,2,577,38,608], // GREEK SMALL LETTER NU + 0x3BE: [711,201,508,23,490], // GREEK SMALL LETTER XI + 0x3BF: [452,8,585,39,576], // GREEK SMALL LETTER OMICRON + 0x3C0: [444,8,682,23,674], // GREEK SMALL LETTER PI + 0x3C1: [451,211,612,34,603], // GREEK SMALL LETTER RHO + 0x3C2: [451,105,424,33,457], // GREEK SMALL LETTER FINAL SIGMA + 0x3C3: [444,8,686,35,677], // GREEK SMALL LETTER SIGMA + 0x3C4: [444,13,521,23,610], // GREEK SMALL LETTER TAU + 0x3C5: [453,8,631,24,604], // GREEK SMALL LETTER UPSILON + 0x3C6: [452,216,747,53,703], // GREEK SMALL LETTER PHI + 0x3C7: [452,201,718,32,685], // GREEK SMALL LETTER CHI + 0x3C8: [694,202,758,24,732], // GREEK SMALL LETTER PSI + 0x3C9: [453,8,718,24,691], // GREEK SMALL LETTER OMEGA + 0x3D1: [701,8,692,24,656], // GREEK THETA SYMBOL + 0x3D5: [694,202,712,51,693], // GREEK PHI SYMBOL + 0x3D6: [444,8,975,23,961], // GREEK PI SYMBOL + 0x3F1: [451,194,612,75,603], // GREEK RHO SYMBOL + 0x3F5: [444,7,483,44,450] // GREEK LUNATE EPSILON SYMBOL +}; + +MathJax.Callback.Queue( + ["initFont",MathJax.OutputJax["HTML-CSS"],"MathJax_Greek-bold-italic"], + ["loadComplete",MathJax.Ajax,MathJax.OutputJax["HTML-CSS"].fontDir+"/Greek/BoldItalic/Main.js"] +); diff --git a/modules/MathJax/jax/output/HTML-CSS/fonts/TeX/Greek/Italic/Main.js b/modules/MathJax/jax/output/HTML-CSS/fonts/TeX/Greek/Italic/Main.js new file mode 100644 index 0000000..9a7fa19 --- /dev/null +++ b/modules/MathJax/jax/output/HTML-CSS/fonts/TeX/Greek/Italic/Main.js @@ -0,0 +1,110 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/fonts/TeX/Greek/Italic/Main.js + * + * Copyright (c) 2009-2010 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +MathJax.OutputJax['HTML-CSS'].FONTDATA.FONTS['MathJax_Greek-italic'] = { + directory: 'Greek/Italic', + family: 'MathJax_Greek', + style: 'italic', + testString: String.fromCharCode(0x393)+" "+String.fromCharCode(0x3A5)+" "+String.fromCharCode(0x39B), + skew: { + 0x393: 0.0833, + 0x394: 0.167, + 0x398: 0.0833, + 0x39B: 0.167, + 0x39E: 0.0833, + 0x3A0: 0.0556, + 0x3A3: 0.0833, + 0x3A5: 0.0556, + 0x3A6: 0.0833, + 0x3A8: 0.0556, + 0x3A9: 0.0833, + 0x3B1: 0.0278, + 0x3B2: 0.0833, + 0x3B4: 0.0556, + 0x3B5: 0.0833, + 0x3B6: 0.0833, + 0x3B7: 0.0556, + 0x3B8: 0.0833, + 0x3B9: 0.0556, + 0x3BC: 0.0278, + 0x3BD: 0.0278, + 0x3BE: 0.111, + 0x3BF: 0.0556, + 0x3C1: 0.0833, + 0x3C2: 0.0833, + 0x3C4: 0.0278, + 0x3C5: 0.0278, + 0x3C6: 0.0833, + 0x3C7: 0.0556, + 0x3C8: 0.111, + 0x3D1: 0.0833, + 0x3D5: 0.0833, + 0x3F1: 0.0833, + 0x3F5: 0.0556 + }, + 0x20: [0,0,250,0,0], // SPACE + 0xA0: [0,0,250,0,0], // NO-BREAK SPACE + 0x393: [680,-1,615,31,721], // GREEK CAPITAL LETTER GAMMA + 0x394: [716,0,833,48,788], // GREEK CAPITAL LETTER DELTA + 0x398: [704,22,763,50,740], // GREEK CAPITAL LETTER THETA + 0x39B: [716,0,694,35,670], // GREEK CAPITAL LETTER LAMDA + 0x39E: [678,0,742,53,777], // GREEK CAPITAL LETTER XI + 0x3A0: [681,0,831,31,887], // GREEK CAPITAL LETTER PI + 0x3A3: [683,0,780,58,806], // GREEK CAPITAL LETTER SIGMA + 0x3A5: [705,0,583,28,700], // GREEK CAPITAL LETTER UPSILON + 0x3A6: [683,0,667,24,642], // GREEK CAPITAL LETTER PHI + 0x3A8: [683,0,612,21,692], // GREEK CAPITAL LETTER PSI + 0x3A9: [704,0,772,80,786], // GREEK CAPITAL LETTER OMEGA + 0x3B1: [442,11,640,34,603], // GREEK SMALL LETTER ALPHA + 0x3B2: [705,194,566,23,573], // GREEK SMALL LETTER BETA + 0x3B3: [441,216,518,11,543], // GREEK SMALL LETTER GAMMA + 0x3B4: [717,10,444,36,451], // GREEK SMALL LETTER DELTA + 0x3B5: [452,22,466,27,428], // GREEK SMALL LETTER EPSILON + 0x3B6: [704,204,438,44,471], // GREEK SMALL LETTER ZETA + 0x3B7: [442,216,497,21,503], // GREEK SMALL LETTER ETA + 0x3B8: [705,10,469,35,462], // GREEK SMALL LETTER THETA + 0x3B9: [442,10,354,48,332], // GREEK SMALL LETTER IOTA + 0x3BA: [442,11,576,49,554], // GREEK SMALL LETTER KAPPA + 0x3BB: [694,12,583,47,556], // GREEK SMALL LETTER LAMDA + 0x3BC: [442,216,603,23,580], // GREEK SMALL LETTER MU + 0x3BD: [442,2,494,45,530], // GREEK SMALL LETTER NU + 0x3BE: [704,205,438,21,443], // GREEK SMALL LETTER XI + 0x3BF: [441,11,485,34,476], // GREEK SMALL LETTER OMICRON + 0x3C0: [431,11,570,19,573], // GREEK SMALL LETTER PI + 0x3C1: [442,216,517,23,510], // GREEK SMALL LETTER RHO + 0x3C2: [442,107,363,31,405], // GREEK SMALL LETTER FINAL SIGMA + 0x3C3: [431,11,571,31,572], // GREEK SMALL LETTER SIGMA + 0x3C4: [431,13,437,18,517], // GREEK SMALL LETTER TAU + 0x3C5: [443,10,540,21,523], // GREEK SMALL LETTER UPSILON + 0x3C6: [442,218,654,50,618], // GREEK SMALL LETTER PHI + 0x3C7: [442,204,626,25,600], // GREEK SMALL LETTER CHI + 0x3C8: [694,205,651,21,634], // GREEK SMALL LETTER PSI + 0x3C9: [443,11,622,15,604], // GREEK SMALL LETTER OMEGA + 0x3D1: [705,11,591,21,563], // GREEK THETA SYMBOL + 0x3D5: [694,205,596,43,579], // GREEK PHI SYMBOL + 0x3D6: [431,10,828,19,823], // GREEK PI SYMBOL + 0x3F1: [442,194,517,67,510], // GREEK RHO SYMBOL + 0x3F5: [431,11,406,40,382] // GREEK LUNATE EPSILON SYMBOL +}; + +MathJax.Callback.Queue( + ["initFont",MathJax.OutputJax["HTML-CSS"],"MathJax_Greek-italic"], + ["loadComplete",MathJax.Ajax,MathJax.OutputJax["HTML-CSS"].fontDir+"/Greek/Italic/Main.js"] +); diff --git a/modules/MathJax/jax/output/HTML-CSS/fonts/TeX/Greek/Regular/Main.js b/modules/MathJax/jax/output/HTML-CSS/fonts/TeX/Greek/Regular/Main.js new file mode 100644 index 0000000..b2760ce --- /dev/null +++ b/modules/MathJax/jax/output/HTML-CSS/fonts/TeX/Greek/Regular/Main.js @@ -0,0 +1,43 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/fonts/TeX/Greek/Regular/Main.js + * + * Copyright (c) 2009-2010 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +MathJax.OutputJax['HTML-CSS'].FONTDATA.FONTS['MathJax_Greek'] = { + directory: 'Greek/Regular', + family: 'MathJax_Greek', + testString: String.fromCharCode(0x393)+" "+String.fromCharCode(0x3A5)+" "+String.fromCharCode(0x39B), + 0x20: [0,0,250,0,0], // SPACE + 0xA0: [0,0,250,0,0], // NO-BREAK SPACE + 0x393: [680,0,625,25,582], // GREEK CAPITAL LETTER GAMMA + 0x394: [716,0,833,46,786], // GREEK CAPITAL LETTER DELTA + 0x398: [705,22,778,56,722], // GREEK CAPITAL LETTER THETA + 0x39B: [716,0,694,32,661], // GREEK CAPITAL LETTER LAMDA + 0x39E: [677,0,667,42,624], // GREEK CAPITAL LETTER XI + 0x3A0: [680,0,750,25,724], // GREEK CAPITAL LETTER PI + 0x3A3: [683,0,722,55,666], // GREEK CAPITAL LETTER SIGMA + 0x3A5: [705,0,778,55,722], // GREEK CAPITAL LETTER UPSILON + 0x3A6: [683,0,722,56,665], // GREEK CAPITAL LETTER PHI + 0x3A8: [683,0,778,55,722], // GREEK CAPITAL LETTER PSI + 0x3A9: [704,0,722,44,677] // GREEK CAPITAL LETTER OMEGA +}; + +MathJax.Callback.Queue( + ["initFont",MathJax.OutputJax["HTML-CSS"],"MathJax_Greek"], + ["loadComplete",MathJax.Ajax,MathJax.OutputJax["HTML-CSS"].fontDir+"/Greek/Regular/Main.js"] +); diff --git a/modules/MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Bold/Arrows.js b/modules/MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Bold/Arrows.js new file mode 100644 index 0000000..23bc696 --- /dev/null +++ b/modules/MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Bold/Arrows.js @@ -0,0 +1,51 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Bold/Arrows.js + * + * Copyright (c) 2009-2010 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax['HTML-CSS'].FONTDATA.FONTS['MathJax_Main-bold'], + { + 0x2190: [519,18,1150,64,1085], // LEFTWARDS ARROW + 0x2191: [694,193,575,13,562], // UPWARDS ARROW + 0x2192: [519,18,1150,65,1085], // RIGHTWARDS ARROW + 0x2193: [694,194,575,13,562], // DOWNWARDS ARROW + 0x2194: [519,18,1150,64,1085], // LEFT RIGHT ARROW + 0x2195: [767,267,575,13,562], // UP DOWN ARROW + 0x2196: [724,195,1150,64,1084], // NORTH WEST ARROW + 0x2197: [724,193,1150,64,1086], // NORTH EAST ARROW + 0x2198: [695,224,1150,65,1085], // SOUTH EAST ARROW + 0x2199: [694,224,1150,64,1085], // SOUTH WEST ARROW + 0x21A6: [519,18,1150,65,1085], // RIGHTWARDS ARROW FROM BAR + 0x21A9: [519,18,1282,64,1219], // LEFTWARDS ARROW WITH HOOK + 0x21AA: [519,18,1282,65,1217], // RIGHTWARDS ARROW WITH HOOK + 0x21BC: [518,-220,1150,64,1084], // LEFTWARDS HARPOON WITH BARB UPWARDS + 0x21BD: [281,17,1150,64,1084], // LEFTWARDS HARPOON WITH BARB DOWNWARDS + 0x21C0: [518,-220,1150,65,1085], // RIGHTWARDS HARPOON WITH BARB UPWARDS + 0x21C1: [281,17,1150,64,1085], // RIGHTWARDS HARPOON WITH BARB DOWNWARDS + 0x21CC: [718,17,1150,64,1085], // RIGHTWARDS HARPOON OVER LEFTWARDS HARPOON + 0x21D0: [548,46,1150,63,1085], // LEFTWARDS DOUBLE ARROW + 0x21D1: [694,194,703,29,672], // UPWARDS DOUBLE ARROW + 0x21D2: [548,47,1150,64,1084], // RIGHTWARDS DOUBLE ARROW + 0x21D3: [694,194,703,30,673], // DOWNWARDS DOUBLE ARROW + 0x21D4: [548,46,1150,47,1102], // LEFT RIGHT DOUBLE ARROW + 0x21D5: [768,267,703,29,673] // UP DOWN DOUBLE ARROW + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax["HTML-CSS"].fontDir + "/Main/Bold/Arrows.js"); diff --git a/modules/MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Bold/CombDiacritMarks.js b/modules/MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Bold/CombDiacritMarks.js new file mode 100644 index 0000000..ddeafa1 --- /dev/null +++ b/modules/MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Bold/CombDiacritMarks.js @@ -0,0 +1,39 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Bold/CombDiacritMarks.js + * + * Copyright (c) 2009-2010 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax['HTML-CSS'].FONTDATA.FONTS['MathJax_Main-bold'], + { + 0x300: [706,-503,0,-461,-237], // COMBINING GRAVE ACCENT + 0x301: [706,-503,0,-339,-115], // COMBINING ACUTE ACCENT + 0x302: [694,-520,0,-449,-127], // COMBINING CIRCUMFLEX ACCENT + 0x303: [694,-551,0,-479,-97], // COMBINING TILDE + 0x304: [607,-540,0,-495,-81], // COMBINING MACRON + 0x306: [694,-500,0,-473,-103], // COMBINING BREVE + 0x307: [695,-525,0,-373,-203], // COMBINING DOT ABOVE + 0x308: [695,-535,0,-479,-97], // COMBINING DIAERESIS + 0x30A: [703,-536,0,-415,-161], // COMBINING RING ABOVE + 0x30B: [714,-511,0,-442,-82], // COMBINING DOUBLE ACUTE ACCENT + 0x30C: [660,-515,0,-445,-131], // COMBINING CARON + 0x338: [711,210,0,-734,-161] // COMBINING LONG SOLIDUS OVERLAY + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax["HTML-CSS"].fontDir + "/Main/Bold/CombDiacritMarks.js"); diff --git a/modules/MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Bold/CombDiactForSymbols.js b/modules/MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Bold/CombDiactForSymbols.js new file mode 100644 index 0000000..57c24be --- /dev/null +++ b/modules/MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Bold/CombDiactForSymbols.js @@ -0,0 +1,28 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Bold/CombDiactForSymbols.js + * + * Copyright (c) 2009-2010 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax['HTML-CSS'].FONTDATA.FONTS['MathJax_Main-bold'], + { + 0x20D7: [723,-513,0,-542,-33] // COMBINING RIGHT ARROW ABOVE + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax["HTML-CSS"].fontDir + "/Main/Bold/CombDiactForSymbols.js"); diff --git a/modules/MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Bold/GeneralPunctuation.js b/modules/MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Bold/GeneralPunctuation.js new file mode 100644 index 0000000..93dac98 --- /dev/null +++ b/modules/MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Bold/GeneralPunctuation.js @@ -0,0 +1,44 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Bold/GeneralPunctuation.js + * + * Copyright (c) 2009-2010 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax['HTML-CSS'].FONTDATA.FONTS['MathJax_Main-bold'], + { + 0x2002: [0,0,500,0,0], // ?? + 0x2003: [0,0,999,0,0], // ?? + 0x2004: [0,0,333,0,0], // ?? + 0x2005: [0,0,250,0,0], // ?? + 0x2006: [0,0,167,0,0], // ?? + 0x2009: [0,0,167,0,0], // ?? + 0x200A: [0,0,83,0,0], // ?? + 0x2013: [300,-249,575,0,574], // EN DASH + 0x2014: [300,-249,1150,0,1149], // EM DASH + 0x2018: [694,-329,319,58,245], // LEFT SINGLE QUOTATION MARK + 0x2019: [694,-329,319,74,261], // RIGHT SINGLE QUOTATION MARK + 0x201C: [694,-329,603,110,564], // LEFT DOUBLE QUOTATION MARK + 0x201D: [694,-329,603,38,492], // RIGHT DOUBLE QUOTATION MARK + 0x2020: [702,211,511,64,446], // DAGGER + 0x2021: [702,203,511,64,446], // DOUBLE DAGGER + 0x2026: [171,-1,1295,74,1221], // HORIZONTAL ELLIPSIS + 0x2032: [563,-33,344,35,332] // PRIME + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax["HTML-CSS"].fontDir + "/Main/Bold/GeneralPunctuation.js"); diff --git a/modules/MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Bold/GeometricShapes.js b/modules/MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Bold/GeometricShapes.js new file mode 100644 index 0000000..10c50fa --- /dev/null +++ b/modules/MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Bold/GeometricShapes.js @@ -0,0 +1,32 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Bold/GeometricShapes.js + * + * Copyright (c) 2009-2010 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax['HTML-CSS'].FONTDATA.FONTS['MathJax_Main-bold'], + { + 0x25B3: [711,-1,1022,68,953], // WHITE UP-POINTING TRIANGLE + 0x25B9: [541,39,575,33,542], // WHITE RIGHT-POINTING SMALL TRIANGLE + 0x25BD: [500,210,1022,68,953], // WHITE DOWN-POINTING TRIANGLE + 0x25C3: [539,39,575,33,542], // WHITE LEFT-POINTING SMALL TRIANGLE + 0x25EF: [711,211,1150,65,1084] // LARGE CIRCLE + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax["HTML-CSS"].fontDir + "/Main/Bold/GeometricShapes.js"); diff --git a/modules/MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Bold/Latin1Supplement.js b/modules/MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Bold/Latin1Supplement.js new file mode 100644 index 0000000..f3973a9 --- /dev/null +++ b/modules/MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Bold/Latin1Supplement.js @@ -0,0 +1,36 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Bold/Latin1Supplement.js + * + * Copyright (c) 2009-2010 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax['HTML-CSS'].FONTDATA.FONTS['MathJax_Main-bold'], + { + 0xA0: [0,0,250,0,0], // NO-BREAK SPACE + 0xA8: [695,-535,575,96,478], // DIAERESIS + 0xAC: [371,-61,767,64,703], // NOT SIGN + 0xAF: [607,-540,575,80,494], // MACRON + 0xB0: [703,-536,575,160,414], // DEGREE SIGN + 0xB1: [728,35,894,64,829], // PLUS-MINUS SIGN + 0xB4: [706,-503,575,236,460], // ACUTE ACCENT + 0xD7: [531,29,894,167,727], // MULTIPLICATION SIGN + 0xF7: [597,96,894,64,828] // DIVISION SIGN + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax["HTML-CSS"].fontDir + "/Main/Bold/Latin1Supplement.js"); diff --git a/modules/MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Bold/LatinExtendedA.js b/modules/MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Bold/LatinExtendedA.js new file mode 100644 index 0000000..83371f2 --- /dev/null +++ b/modules/MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Bold/LatinExtendedA.js @@ -0,0 +1,28 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Bold/LatinExtendedA.js + * + * Copyright (c) 2009-2010 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax['HTML-CSS'].FONTDATA.FONTS['MathJax_Main-bold'], + { + 0x131: [453,8,394,24,367] // LATIN SMALL LETTER DOTLESS I + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax["HTML-CSS"].fontDir + "/Main/Bold/LatinExtendedA.js"); diff --git a/modules/MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Bold/LatinExtendedB.js b/modules/MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Bold/LatinExtendedB.js new file mode 100644 index 0000000..efcdda1 --- /dev/null +++ b/modules/MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Bold/LatinExtendedB.js @@ -0,0 +1,28 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Bold/LatinExtendedB.js + * + * Copyright (c) 2009-2010 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax['HTML-CSS'].FONTDATA.FONTS['MathJax_Main-bold'], + { + 0x237: [451,201,439,-12,420] // LATIN SMALL LETTER DOTLESS J + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax["HTML-CSS"].fontDir + "/Main/Bold/LatinExtendedB.js"); diff --git a/modules/MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Bold/LetterlikeSymbols.js b/modules/MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Bold/LetterlikeSymbols.js new file mode 100644 index 0000000..5af7f49 --- /dev/null +++ b/modules/MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Bold/LetterlikeSymbols.js @@ -0,0 +1,33 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Bold/LetterlikeSymbols.js + * + * Copyright (c) 2009-2010 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax['HTML-CSS'].FONTDATA.FONTS['MathJax_Main-bold'], + { + 0x210F: [694,8,668,45,642], // stix-/hbar - Planck's over 2pi + 0x2111: [702,9,831,64,798], // BLACK-LETTER CAPITAL I + 0x2113: [702,19,474,-1,447], // SCRIPT SMALL L + 0x2118: [462,211,740,72,727], // SCRIPT CAPITAL P + 0x211C: [711,17,831,41,824], // BLACK-LETTER CAPITAL R + 0x2135: [694,1,703,64,639] // ALEF SYMBOL + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax["HTML-CSS"].fontDir + "/Main/Bold/LetterlikeSymbols.js"); diff --git a/modules/MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Bold/Main.js b/modules/MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Bold/Main.js new file mode 100644 index 0000000..e46cff5 --- /dev/null +++ b/modules/MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Bold/Main.js @@ -0,0 +1,162 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Bold/Main.js + * + * Copyright (c) 2009-2010 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +MathJax.OutputJax['HTML-CSS'].FONTDATA.FONTS['MathJax_Main-bold'] = { + directory: 'Main/Bold', + family: 'MathJax_Main', + weight: 'bold', + testString: "MathJax Main", + skew: { + 0x131: 0.0319, + 0x237: 0.0958, + 0x210F: -0.0319, + 0x2113: 0.128, + 0x2202: 0.0958 + }, + Ranges: [ + [0xA0,0xFF,"Latin1Supplement"], + [0x100,0x17F,"LatinExtendedA"], + [0x180,0x24F,"LatinExtendedB"], + [0x2B0,0x2FF,"SpacingModLetters"], + [0x300,0x36F,"CombDiacritMarks"], + [0x2000,0x206F,"GeneralPunctuation"], + [0x20D0,0x20FF,"CombDiactForSymbols"], + [0x2100,0x214F,"LetterlikeSymbols"], + [0x2190,0x21FF,"Arrows"], + [0x2200,0x22FF,"MathOperators"], + [0x2300,0x23FF,"MiscTechnical"], + [0x25A0,0x25FF,"GeometricShapes"], + [0x2600,0x26FF,"MiscSymbols"], + [0x27C0,0x27EF,"MiscMathSymbolsA"], + [0x27F0,0x27FF,"SupplementalArrowsA"], + [0x2A00,0x2AFF,"SuppMathOperators"] + ], + 0x20: [0,0,250,0,0], // SPACE + 0x21: [705,-1,350,89,260], // EXCLAMATION MARK + 0x22: [694,-329,603,38,492], // QUOTATION MARK + 0x23: [694,193,958,64,893], // NUMBER SIGN + 0x24: [750,56,575,64,510], // DOLLAR SIGN + 0x25: [750,56,958,65,893], // PERCENT SIGN + 0x26: [705,11,894,48,836], // AMPERSAND + 0x27: [694,-329,319,74,261], // APOSTROPHE + 0x28: [751,250,447,103,382], // LEFT PARENTHESIS + 0x29: [750,249,447,64,343], // RIGHT PARENTHESIS + 0x2A: [750,-306,575,73,501], // ASTERISK + 0x2B: [633,131,894,64,829], // PLUS SIGN + 0x2C: [171,194,319,74,258], // COMMA + 0x2D: [278,-166,383,13,318], // HYPHEN-MINUS + 0x2E: [171,-1,319,74,245], // FULL STOP + 0x2F: [750,250,575,63,511], // SOLIDUS + 0x30: [655,10,575,45,529], // DIGIT ZERO + 0x31: [655,0,575,80,494], // DIGIT ONE + 0x32: [654,0,575,57,517], // DIGIT TWO + 0x33: [655,12,575,47,526], // DIGIT THREE + 0x34: [657,0,575,32,542], // DIGIT FOUR + 0x35: [655,11,575,57,517], // DIGIT FIVE + 0x36: [655,11,575,48,527], // DIGIT SIX + 0x37: [676,11,575,64,559], // DIGIT SEVEN + 0x38: [654,11,575,48,526], // DIGIT EIGHT + 0x39: [654,11,575,48,526], // DIGIT NINE + 0x3A: [444,-1,319,74,245], // COLON + 0x3B: [444,194,319,74,248], // SEMICOLON + 0x3C: [587,85,894,96,797], // LESS-THAN SIGN + 0x3D: [393,-109,894,64,829], // EQUALS SIGN + 0x3E: [587,85,894,95,797], // GREATER-THAN SIGN + 0x3F: [700,-1,543,65,478], // QUESTION MARK + 0x40: [700,6,894,64,829], // COMMERCIAL AT + 0x41: [698,0,869,40,828], // LATIN CAPITAL LETTER A + 0x42: [687,0,818,39,753], // LATIN CAPITAL LETTER B + 0x43: [697,11,831,64,767], // LATIN CAPITAL LETTER C + 0x44: [687,0,882,39,817], // LATIN CAPITAL LETTER D + 0x45: [681,0,756,38,723], // LATIN CAPITAL LETTER E + 0x46: [680,0,724,39,675], // LATIN CAPITAL LETTER F + 0x47: [697,10,904,64,845], // LATIN CAPITAL LETTER G + 0x48: [686,0,900,39,860], // LATIN CAPITAL LETTER H + 0x49: [686,0,436,25,410], // LATIN CAPITAL LETTER I + 0x4A: [686,11,594,8,527], // LATIN CAPITAL LETTER J + 0x4B: [686,0,901,39,852], // LATIN CAPITAL LETTER K + 0x4C: [686,0,692,39,643], // LATIN CAPITAL LETTER L + 0x4D: [687,0,1092,39,1052], // LATIN CAPITAL LETTER M + 0x4E: [687,1,900,39,861], // LATIN CAPITAL LETTER N + 0x4F: [696,10,864,64,798], // LATIN CAPITAL LETTER O + 0x50: [686,0,786,39,721], // LATIN CAPITAL LETTER P + 0x51: [697,193,864,64,806], // LATIN CAPITAL LETTER Q + 0x52: [687,11,862,39,858], // LATIN CAPITAL LETTER R + 0x53: [697,11,639,63,575], // LATIN CAPITAL LETTER S + 0x54: [675,0,800,41,758], // LATIN CAPITAL LETTER T + 0x55: [686,12,885,39,845], // LATIN CAPITAL LETTER U + 0x56: [686,7,869,25,843], // LATIN CAPITAL LETTER V + 0x57: [686,8,1189,24,1164], // LATIN CAPITAL LETTER W + 0x58: [686,0,869,33,835], // LATIN CAPITAL LETTER X + 0x59: [686,0,869,19,849], // LATIN CAPITAL LETTER Y + 0x5A: [687,0,703,64,645], // LATIN CAPITAL LETTER Z + 0x5B: [750,250,319,128,293], // LEFT SQUARE BRACKET + 0x5C: [750,250,575,63,511], // REVERSE SOLIDUS + 0x5D: [750,250,319,25,190], // RIGHT SQUARE BRACKET + 0x5E: [694,-520,575,126,448], // CIRCUMFLEX ACCENT + 0x5F: [-10,61,575,0,574], // LOW LINE + 0x60: [706,-503,575,114,338], // GRAVE ACCENT + 0x61: [453,6,559,32,558], // LATIN SMALL LETTER A + 0x62: [694,7,639,29,601], // LATIN SMALL LETTER B + 0x63: [453,6,511,39,478], // LATIN SMALL LETTER C + 0x64: [695,6,639,38,609], // LATIN SMALL LETTER D + 0x65: [453,6,527,32,494], // LATIN SMALL LETTER E + 0x66: [700,0,351,40,452], // LATIN SMALL LETTER F + 0x67: [455,201,575,30,558], // LATIN SMALL LETTER G + 0x68: [694,0,639,37,623], // LATIN SMALL LETTER H + 0x69: [695,0,319,40,294], // LATIN SMALL LETTER I + 0x6A: [695,200,351,-71,274], // LATIN SMALL LETTER J + 0x6B: [694,0,607,29,587], // LATIN SMALL LETTER K + 0x6C: [694,0,319,40,301], // LATIN SMALL LETTER L + 0x6D: [451,0,958,37,942], // LATIN SMALL LETTER M + 0x6E: [450,0,639,37,623], // LATIN SMALL LETTER N + 0x6F: [452,5,575,32,542], // LATIN SMALL LETTER O + 0x70: [450,194,639,28,600], // LATIN SMALL LETTER P + 0x71: [450,194,607,38,609], // LATIN SMALL LETTER Q + 0x72: [450,0,474,29,442], // LATIN SMALL LETTER R + 0x73: [453,7,454,37,415], // LATIN SMALL LETTER S + 0x74: [636,6,447,21,382], // LATIN SMALL LETTER T + 0x75: [450,6,639,37,623], // LATIN SMALL LETTER U + 0x76: [444,4,607,26,580], // LATIN SMALL LETTER V + 0x77: [444,5,831,25,805], // LATIN SMALL LETTER W + 0x78: [444,0,607,21,586], // LATIN SMALL LETTER X + 0x79: [444,200,607,23,580], // LATIN SMALL LETTER Y + 0x7A: [445,0,511,31,462], // LATIN SMALL LETTER Z + 0x7B: [751,251,575,69,504], // LEFT CURLY BRACKET + 0x7C: [750,249,319,129,190], // VERTICAL LINE + 0x7D: [751,251,575,70,504], // RIGHT CURLY BRACKET + 0x7E: [344,-201,575,96,478], // TILDE + 0x393: [680,0,692,39,643], // GREEK CAPITAL LETTER GAMMA + 0x394: [698,0,958,56,901], // GREEK CAPITAL LETTER DELTA + 0x398: [696,10,894,64,829], // GREEK CAPITAL LETTER THETA + 0x39B: [699,0,806,40,765], // GREEK CAPITAL LETTER LAMDA + 0x39E: [675,0,767,48,718], // GREEK CAPITAL LETTER XI + 0x3A0: [680,0,900,39,860], // GREEK CAPITAL LETTER PI + 0x3A3: [686,0,831,63,766], // GREEK CAPITAL LETTER SIGMA + 0x3A5: [697,0,894,64,829], // GREEK CAPITAL LETTER UPSILON + 0x3A6: [686,0,831,64,766], // GREEK CAPITAL LETTER PHI + 0x3A8: [686,0,894,64,829], // GREEK CAPITAL LETTER PSI + 0x3A9: [696,1,831,51,780] // GREEK CAPITAL LETTER OMEGA +}; + +MathJax.Callback.Queue( + ["initFont",MathJax.OutputJax["HTML-CSS"],"MathJax_Main-bold"], + ["loadComplete",MathJax.Ajax,MathJax.OutputJax["HTML-CSS"].fontDir+"/Main/Bold/Main.js"] +); diff --git a/modules/MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Bold/MathOperators.js b/modules/MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Bold/MathOperators.js new file mode 100644 index 0000000..a7c164d --- /dev/null +++ b/modules/MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Bold/MathOperators.js @@ -0,0 +1,94 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Bold/MathOperators.js + * + * Copyright (c) 2009-2010 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax['HTML-CSS'].FONTDATA.FONTS['MathJax_Main-bold'], + { + 0x2200: [694,16,639,0,640], // FOR ALL + 0x2202: [710,17,628,60,657], // PARTIAL DIFFERENTIAL + 0x2203: [694,-1,639,64,574], // THERE EXISTS + 0x2205: [767,73,575,46,528], // EMPTY SET + 0x2207: [686,24,958,56,901], // NABLA + 0x2208: [587,86,767,97,670], // ELEMENT OF + 0x2209: [711,210,767,97,670], // stix-negated (vert) set membership, variant + 0x220B: [588,86,767,95,670], // CONTAINS AS MEMBER + 0x2212: [281,-221,894,96,797], // MINUS SIGN + 0x2213: [537,227,894,64,829], // MINUS-OR-PLUS SIGN + 0x2215: [750,250,575,63,511], // DIVISION SLASH + 0x2216: [750,250,575,63,511], // SET MINUS + 0x2217: [472,-27,575,73,501], // ASTERISK OPERATOR + 0x2218: [474,-28,575,64,510], // RING OPERATOR + 0x2219: [474,-28,575,64,510], // BULLET OPERATOR + 0x221A: [820,180,958,78,989], // SQUARE ROOT + 0x221D: [451,8,894,65,831], // PROPORTIONAL TO + 0x221E: [452,8,1150,65,1084], // INFINITY + 0x2220: [715,0,722,55,676], // ANGLE + 0x2223: [750,249,319,129,190], // DIVIDES + 0x2225: [750,248,575,145,430], // PARALLEL TO + 0x2227: [604,17,767,64,702], // LOGICAL AND + 0x2228: [604,17,767,64,702], // LOGICAL OR + 0x2229: [603,16,767,64,702], // stix-intersection, serifs + 0x222A: [604,16,767,64,702], // stix-union, serifs + 0x222B: [711,211,569,64,632], // INTEGRAL + 0x223C: [391,-109,894,64,828], // TILDE OPERATOR + 0x2240: [583,82,319,64,254], // WREATH PRODUCT + 0x2243: [502,3,894,64,829], // ASYMPTOTICALLY EQUAL TO + 0x2245: [638,27,1000,64,829], // APPROXIMATELY EQUAL TO + 0x2248: [524,-32,894,64,829], // ALMOST EQUAL TO + 0x224D: [533,32,894,64,829], // EQUIVALENT TO + 0x2250: [721,-109,894,64,829], // APPROACHES THE LIMIT + 0x2260: [712,210,894,64,830], // stix-not (vert) equals + 0x2261: [505,3,894,64,829], // IDENTICAL TO + 0x2264: [697,199,894,96,797], // LESS-THAN OR EQUAL TO + 0x2265: [697,199,894,96,797], // GREATER-THAN OR EQUAL TO + 0x226A: [618,117,1150,64,1085], // MUCH LESS-THAN + 0x226B: [619,116,1150,64,1085], // MUCH GREATER-THAN + 0x227A: [585,86,894,95,797], // PRECEDES + 0x227B: [586,86,894,96,797], // SUCCEEDS + 0x2282: [587,85,894,96,797], // SUBSET OF + 0x2283: [587,86,894,96,797], // SUPERSET OF + 0x2286: [697,199,894,96,797], // SUBSET OF OR EQUAL TO + 0x2287: [697,199,894,96,797], // SUPERSET OF OR EQUAL TO + 0x228E: [604,16,767,64,702], // MULTISET UNION + 0x2291: [697,199,894,96,828], // SQUARE IMAGE OF OR EQUAL TO + 0x2292: [697,199,894,66,797], // SQUARE ORIGINAL OF OR EQUAL TO + 0x2293: [604,-1,767,70,696], // stix-square intersection, serifs + 0x2294: [604,-1,767,70,696], // stix-square union, serifs + 0x2295: [632,132,894,64,828], // stix-circled plus (with rim) + 0x2296: [632,132,894,64,828], // CIRCLED MINUS + 0x2297: [632,132,894,64,828], // stix-circled times (with rim) + 0x2298: [632,132,894,64,828], // CIRCLED DIVISION SLASH + 0x2299: [632,132,894,64,828], // CIRCLED DOT OPERATOR + 0x22A2: [693,-1,703,65,637], // RIGHT TACK + 0x22A3: [693,-1,703,64,638], // LEFT TACK + 0x22A4: [694,-1,894,64,829], // DOWN TACK + 0x22A5: [693,-1,894,64,829], // UP TACK + 0x22A8: [750,249,974,129,918], // TRUE + 0x22C4: [524,21,575,15,561], // DIAMOND OPERATOR + 0x22C5: [336,-166,319,74,245], // DOT OPERATOR + 0x22C6: [502,1,575,24,551], // STAR OPERATOR + 0x22C8: [541,39,1000,33,967], // BOWTIE + 0x22EE: [951,29,319,74,245], // VERTICAL ELLIPSIS + 0x22EF: [336,-166,1295,74,1221], // MIDLINE HORIZONTAL ELLIPSIS + 0x22F1: [871,-101,1323,129,1194] // DOWN RIGHT DIAGONAL ELLIPSIS + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax["HTML-CSS"].fontDir + "/Main/Bold/MathOperators.js"); diff --git a/modules/MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Bold/MiscMathSymbolsA.js b/modules/MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Bold/MiscMathSymbolsA.js new file mode 100644 index 0000000..25c89e9 --- /dev/null +++ b/modules/MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Bold/MiscMathSymbolsA.js @@ -0,0 +1,29 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Bold/MiscMathSymbolsA.js + * + * Copyright (c) 2009-2010 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax['HTML-CSS'].FONTDATA.FONTS['MathJax_Main-bold'], + { + 0x27E8: [750,249,447,127,382], // MATHEMATICAL LEFT ANGLE BRACKET + 0x27E9: [750,249,447,64,319] // MATHEMATICAL RIGHT ANGLE BRACKET + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax["HTML-CSS"].fontDir + "/Main/Bold/MiscMathSymbolsA.js"); diff --git a/modules/MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Bold/MiscSymbols.js b/modules/MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Bold/MiscSymbols.js new file mode 100644 index 0000000..a30797a --- /dev/null +++ b/modules/MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Bold/MiscSymbols.js @@ -0,0 +1,34 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Bold/MiscSymbols.js + * + * Copyright (c) 2009-2010 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax['HTML-CSS'].FONTDATA.FONTS['MathJax_Main-bold'], + { + 0x2660: [720,130,894,63,829], // BLACK SPADE SUIT + 0x2661: [711,24,894,65,828], // WHITE HEART SUIT + 0x2662: [719,154,894,64,828], // WHITE DIAMOND SUIT + 0x2663: [720,130,894,32,861], // BLACK CLUB SUIT + 0x266D: [750,17,447,63,382], // MUSIC FLAT SIGN + 0x266E: [741,223,447,56,390], // MUSIC NATURAL SIGN + 0x266F: [724,224,447,63,383] // MUSIC SHARP SIGN + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax["HTML-CSS"].fontDir + "/Main/Bold/MiscSymbols.js"); diff --git a/modules/MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Bold/MiscTechnical.js b/modules/MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Bold/MiscTechnical.js new file mode 100644 index 0000000..f3b48e8 --- /dev/null +++ b/modules/MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Bold/MiscTechnical.js @@ -0,0 +1,33 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Bold/MiscTechnical.js + * + * Copyright (c) 2009-2010 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax['HTML-CSS'].FONTDATA.FONTS['MathJax_Main-bold'], + { + 0x2308: [750,248,511,194,493], // LEFT CEILING + 0x2309: [750,248,511,17,317], // RIGHT CEILING + 0x230A: [749,248,511,194,493], // LEFT FLOOR + 0x230B: [749,248,511,17,317], // RIGHT FLOOR + 0x2322: [405,-108,1150,64,1084], // stix-small down curve + 0x2323: [393,-126,1150,64,1085] // stix-small up curve + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax["HTML-CSS"].fontDir + "/Main/Bold/MiscTechnical.js"); diff --git a/modules/MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Bold/SpacingModLetters.js b/modules/MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Bold/SpacingModLetters.js new file mode 100644 index 0000000..3e473a2 --- /dev/null +++ b/modules/MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Bold/SpacingModLetters.js @@ -0,0 +1,36 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Bold/SpacingModLetters.js + * + * Copyright (c) 2009-2010 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax['HTML-CSS'].FONTDATA.FONTS['MathJax_Main-bold'], + { + 0x2C6: [694,-520,575,126,448], // MODIFIER LETTER CIRCUMFLEX ACCENT + 0x2C7: [660,-515,575,130,444], // CARON + 0x2C9: [607,-540,575,80,494], // MODIFIER LETTER MACRON + 0x2CA: [706,-503,575,236,460], // MODIFIER LETTER ACUTE ACCENT + 0x2CB: [706,-503,575,114,338], // MODIFIER LETTER GRAVE ACCENT + 0x2D8: [694,-500,575,102,472], // BREVE + 0x2D9: [695,-525,575,202,372], // DOT ABOVE + 0x2DA: [703,-536,575,160,414], // RING ABOVE + 0x2DC: [694,-551,575,96,478] // SMALL TILDE + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax["HTML-CSS"].fontDir + "/Main/Bold/SpacingModLetters.js"); diff --git a/modules/MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Bold/SuppMathOperators.js b/modules/MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Bold/SuppMathOperators.js new file mode 100644 index 0000000..8be24f1 --- /dev/null +++ b/modules/MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Bold/SuppMathOperators.js @@ -0,0 +1,30 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Bold/SuppMathOperators.js + * + * Copyright (c) 2009-2010 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax['HTML-CSS'].FONTDATA.FONTS['MathJax_Main-bold'], + { + 0x2A3F: [687,1,900,38,861], // AMALGAMATION OR COPRODUCT + 0x2AAF: [696,199,894,96,797], // PRECEDES ABOVE SINGLE-LINE EQUALS SIGN + 0x2AB0: [698,199,894,96,797] // SUCCEEDS ABOVE SINGLE-LINE EQUALS SIGN + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax["HTML-CSS"].fontDir + "/Main/Bold/SuppMathOperators.js"); diff --git a/modules/MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Bold/SupplementalArrowsA.js b/modules/MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Bold/SupplementalArrowsA.js new file mode 100644 index 0000000..bbadd77 --- /dev/null +++ b/modules/MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Bold/SupplementalArrowsA.js @@ -0,0 +1,34 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Bold/SupplementalArrowsA.js + * + * Copyright (c) 2009-2010 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax['HTML-CSS'].FONTDATA.FONTS['MathJax_Main-bold'], + { + 0x27F5: [519,18,1805,64,1741], // LONG LEFTWARDS ARROW + 0x27F6: [519,18,1833,96,1774], // LONG RIGHTWARDS ARROW + 0x27F7: [519,18,2126,64,2062], // LONG LEFT RIGHT ARROW + 0x27F8: [548,46,1868,64,1804], // LONG LEFTWARDS DOUBLE ARROW + 0x27F9: [548,47,1870,63,1804], // LONG RIGHTWARDS DOUBLE ARROW + 0x27FA: [548,47,2126,64,2060], // LONG LEFT RIGHT DOUBLE ARROW + 0x27FC: [519,18,1833,65,1774] // LONG RIGHTWARDS ARROW FROM BAR + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax["HTML-CSS"].fontDir + "/Main/Bold/SupplementalArrowsA.js"); diff --git a/modules/MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Italic/CombDiacritMarks.js b/modules/MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Italic/CombDiacritMarks.js new file mode 100644 index 0000000..5a31519 --- /dev/null +++ b/modules/MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Italic/CombDiacritMarks.js @@ -0,0 +1,38 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Italic/CombDiacritMarks.js + * + * Copyright (c) 2009-2010 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax['HTML-CSS'].FONTDATA.FONTS['MathJax_Main-italic'], + { + 0x300: [697,-500,0,-222,-74], // COMBINING GRAVE ACCENT + 0x301: [697,-500,0,-173,39], // COMBINING ACUTE ACCENT + 0x302: [694,-527,0,-251,17], // COMBINING CIRCUMFLEX ACCENT + 0x303: [668,-558,0,-265,60], // COMBINING TILDE + 0x304: [590,-544,0,-282,54], // COMBINING MACRON + 0x306: [695,-515,0,-237,62], // COMBINING BREVE + 0x307: [669,-548,0,-165,-41], // COMBINING DOT ABOVE + 0x308: [669,-554,0,-251,45], // COMBINING DIAERESIS + 0x30A: [716,-542,0,-199,3], // COMBINING RING ABOVE + 0x30B: [697,-503,0,-248,65], // COMBINING DOUBLE ACUTE ACCENT + 0x30C: [638,-501,0,-236,29] // COMBINING CARON + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax["HTML-CSS"].fontDir + "/Main/Italic/CombDiacritMarks.js"); diff --git a/modules/MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Italic/GeneralPunctuation.js b/modules/MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Italic/GeneralPunctuation.js new file mode 100644 index 0000000..ab6ab2b --- /dev/null +++ b/modules/MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Italic/GeneralPunctuation.js @@ -0,0 +1,33 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Italic/GeneralPunctuation.js + * + * Copyright (c) 2009-2010 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax['HTML-CSS'].FONTDATA.FONTS['MathJax_Main-italic'], + { + 0x2013: [286,-248,511,91,554], // EN DASH + 0x2014: [285,-248,1022,117,1038], // EM DASH + 0x2018: [694,-379,307,197,362], // LEFT SINGLE QUOTATION MARK + 0x2019: [694,-379,307,213,377], // RIGHT SINGLE QUOTATION MARK + 0x201C: [694,-378,514,243,606], // LEFT DOUBLE QUOTATION MARK + 0x201D: [694,-379,514,176,538] // RIGHT DOUBLE QUOTATION MARK + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax["HTML-CSS"].fontDir + "/Main/Italic/GeneralPunctuation.js"); diff --git a/modules/MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Italic/Latin1Supplement.js b/modules/MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Italic/Latin1Supplement.js new file mode 100644 index 0000000..8147b90 --- /dev/null +++ b/modules/MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Italic/Latin1Supplement.js @@ -0,0 +1,28 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Italic/Latin1Supplement.js + * + * Copyright (c) 2009-2010 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax['HTML-CSS'].FONTDATA.FONTS['MathJax_Main-italic'], + { + 0xA0: [0,0,250,0,0] // NO-BREAK SPACE + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax["HTML-CSS"].fontDir + "/Main/Italic/Latin1Supplement.js"); diff --git a/modules/MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Italic/LetterlikeSymbols.js b/modules/MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Italic/LetterlikeSymbols.js new file mode 100644 index 0000000..e9ee797 --- /dev/null +++ b/modules/MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Italic/LetterlikeSymbols.js @@ -0,0 +1,28 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Italic/LetterlikeSymbols.js + * + * Copyright (c) 2009-2010 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax['HTML-CSS'].FONTDATA.FONTS['MathJax_Main-italic'], + { + 0x210F: [695,13,540,42,562] // stix-/hbar - Planck's over 2pi + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax["HTML-CSS"].fontDir + "/Main/Italic/LetterlikeSymbols.js"); diff --git a/modules/MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Italic/Main.js b/modules/MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Italic/Main.js new file mode 100644 index 0000000..6946400 --- /dev/null +++ b/modules/MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Italic/Main.js @@ -0,0 +1,138 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Italic/Main.js + * + * Copyright (c) 2009-2010 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +MathJax.OutputJax['HTML-CSS'].FONTDATA.FONTS['MathJax_Main-italic'] = { + directory: 'Main/Italic', + family: 'MathJax_Main', + style: 'italic', + testString: "MathJax Main", + Ranges: [ + [0xA0,0xFF,"Latin1Supplement"], + [0x300,0x36F,"CombDiacritMarks"], + [0x2000,0x206F,"GeneralPunctuation"], + [0x2100,0x214F,"LetterlikeSymbols"] + ], + 0x20: [0,0,250,0,0], // SPACE + 0x21: [716,0,307,107,380], // EXCLAMATION MARK + 0x22: [694,-379,514,176,538], // QUOTATION MARK + 0x23: [694,194,818,115,828], // NUMBER SIGN + 0x25: [751,56,818,144,848], // PERCENT SIGN + 0x26: [716,22,767,127,802], // AMPERSAND + 0x27: [694,-379,307,213,377], // APOSTROPHE + 0x28: [750,250,409,144,517], // LEFT PARENTHESIS + 0x29: [750,250,409,17,390], // RIGHT PARENTHESIS + 0x2A: [751,-320,511,195,584], // ASTERISK + 0x2B: [558,57,767,139,753], // PLUS SIGN + 0x2C: [121,194,307,69,233], // COMMA + 0x2D: [251,-179,358,84,341], // HYPHEN-MINUS + 0x2E: [121,0,307,107,231], // FULL STOP + 0x2F: [750,250,511,19,617], // SOLIDUS + 0x30: [665,21,511,110,562], // DIGIT ZERO + 0x31: [666,0,511,110,468], // DIGIT ONE + 0x32: [666,22,511,76,551], // DIGIT TWO + 0x33: [667,22,511,96,563], // DIGIT THREE + 0x34: [666,194,511,46,479], // DIGIT FOUR + 0x35: [666,22,511,106,567], // DIGIT FIVE + 0x36: [665,22,511,120,566], // DIGIT SIX + 0x37: [666,22,511,136,634], // DIGIT SEVEN + 0x38: [666,21,511,99,553], // DIGIT EIGHT + 0x39: [666,22,511,107,553], // DIGIT NINE + 0x3A: [431,0,307,107,308], // COLON + 0x3B: [431,194,307,70,308], // SEMICOLON + 0x3D: [367,-133,767,116,776], // EQUALS SIGN + 0x3F: [717,0,511,195,551], // QUESTION MARK + 0x40: [705,11,767,152,789], // COMMERCIAL AT + 0x41: [716,1,743,58,696], // LATIN CAPITAL LETTER A + 0x42: [683,1,704,57,732], // LATIN CAPITAL LETTER B + 0x43: [705,21,716,150,812], // LATIN CAPITAL LETTER C + 0x44: [683,1,755,56,775], // LATIN CAPITAL LETTER D + 0x45: [681,0,678,54,743], // LATIN CAPITAL LETTER E + 0x46: [681,0,653,54,731], // LATIN CAPITAL LETTER F + 0x47: [705,22,774,149,812], // LATIN CAPITAL LETTER G + 0x48: [683,0,743,54,860], // LATIN CAPITAL LETTER H + 0x49: [683,0,386,49,508], // LATIN CAPITAL LETTER I + 0x4A: [683,21,525,78,622], // LATIN CAPITAL LETTER J + 0x4B: [683,0,769,54,859], // LATIN CAPITAL LETTER K + 0x4C: [683,0,627,54,628], // LATIN CAPITAL LETTER L + 0x4D: [684,0,897,58,1010], // LATIN CAPITAL LETTER M + 0x4E: [684,0,743,54,860], // LATIN CAPITAL LETTER N + 0x4F: [704,22,767,149,788], // LATIN CAPITAL LETTER O + 0x50: [684,0,678,55,729], // LATIN CAPITAL LETTER P + 0x51: [704,194,767,149,788], // LATIN CAPITAL LETTER Q + 0x52: [683,22,729,55,723], // LATIN CAPITAL LETTER R + 0x53: [706,22,562,74,634], // LATIN CAPITAL LETTER S + 0x54: [678,0,716,171,807], // LATIN CAPITAL LETTER T + 0x55: [684,22,743,194,860], // LATIN CAPITAL LETTER U + 0x56: [683,22,743,205,868], // LATIN CAPITAL LETTER V + 0x57: [683,22,999,205,1124], // LATIN CAPITAL LETTER W + 0x58: [684,0,743,50,826], // LATIN CAPITAL LETTER X + 0x59: [684,0,743,198,875], // LATIN CAPITAL LETTER Y + 0x5A: [683,1,613,80,705], // LATIN CAPITAL LETTER Z + 0x5B: [751,251,307,73,446], // LEFT SQUARE BRACKET + 0x5D: [751,251,307,-14,359], // RIGHT SQUARE BRACKET + 0x5E: [694,-527,511,260,528], // CIRCUMFLEX ACCENT + 0x5F: [-24,62,511,91,554], // LOW LINE + 0x61: [442,11,511,101,543], // LATIN SMALL LETTER A + 0x62: [694,11,460,108,467], // LATIN SMALL LETTER B + 0x63: [441,10,460,103,470], // LATIN SMALL LETTER C + 0x64: [694,11,511,100,567], // LATIN SMALL LETTER D + 0x65: [442,10,460,107,470], // LATIN SMALL LETTER E + 0x66: [705,204,307,-23,450], // LATIN SMALL LETTER F + 0x67: [442,205,460,46,495], // LATIN SMALL LETTER G + 0x68: [695,11,511,69,544], // LATIN SMALL LETTER H + 0x69: [656,10,307,75,340], // LATIN SMALL LETTER I + 0x6A: [656,204,307,-32,364], // LATIN SMALL LETTER J + 0x6B: [694,11,460,69,499], // LATIN SMALL LETTER K + 0x6C: [694,11,256,87,312], // LATIN SMALL LETTER L + 0x6D: [443,11,818,75,851], // LATIN SMALL LETTER M + 0x6E: [443,11,562,75,595], // LATIN SMALL LETTER N + 0x6F: [442,11,511,103,517], // LATIN SMALL LETTER O + 0x70: [442,194,511,5,518], // LATIN SMALL LETTER P + 0x71: [442,195,460,100,504], // LATIN SMALL LETTER Q + 0x72: [442,11,422,75,484], // LATIN SMALL LETTER R + 0x73: [442,11,409,76,418], // LATIN SMALL LETTER S + 0x74: [627,11,332,87,373], // LATIN SMALL LETTER T + 0x75: [441,11,537,75,570], // LATIN SMALL LETTER U + 0x76: [443,10,460,75,492], // LATIN SMALL LETTER V + 0x77: [443,12,664,74,696], // LATIN SMALL LETTER W + 0x78: [442,11,464,58,513], // LATIN SMALL LETTER X + 0x79: [441,206,486,75,522], // LATIN SMALL LETTER Y + 0x7A: [442,11,409,54,466], // LATIN SMALL LETTER Z + 0x7E: [318,-208,511,246,571], // TILDE + 0xA3: [714,11,769,87,699], // POUND SIGN + 0x131: [441,10,307,75,340], // LATIN SMALL LETTER DOTLESS I + 0x237: [442,205,332,-32,327], // LATIN SMALL LETTER DOTLESS J + 0x393: [680,0,627,54,706], // GREEK CAPITAL LETTER GAMMA + 0x394: [717,1,818,70,751], // GREEK CAPITAL LETTER DELTA + 0x398: [704,22,767,149,788], // GREEK CAPITAL LETTER THETA + 0x39B: [717,0,692,58,646], // GREEK CAPITAL LETTER LAMDA + 0x39E: [678,1,664,74,754], // GREEK CAPITAL LETTER XI + 0x3A0: [680,0,743,54,859], // GREEK CAPITAL LETTER PI + 0x3A3: [683,1,716,80,782], // GREEK CAPITAL LETTER SIGMA + 0x3A5: [706,0,767,213,833], // GREEK CAPITAL LETTER UPSILON + 0x3A6: [683,1,716,158,728], // GREEK CAPITAL LETTER PHI + 0x3A8: [683,0,767,207,824], // GREEK CAPITAL LETTER PSI + 0x3A9: [705,0,716,100,759] // GREEK CAPITAL LETTER OMEGA +}; + +MathJax.Callback.Queue( + ["initFont",MathJax.OutputJax["HTML-CSS"],"MathJax_Main-italic"], + ["loadComplete",MathJax.Ajax,MathJax.OutputJax["HTML-CSS"].fontDir+"/Main/Italic/Main.js"] +); diff --git a/modules/MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Regular/CombDiacritMarks.js b/modules/MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Regular/CombDiacritMarks.js new file mode 100644 index 0000000..1146023 --- /dev/null +++ b/modules/MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Regular/CombDiacritMarks.js @@ -0,0 +1,39 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Regular/CombDiacritMarks.js + * + * Copyright (c) 2009-2010 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax['HTML-CSS'].FONTDATA.FONTS['MathJax_Main'], + { + 0x300: [699,-505,0,-394,-205], // COMBINING GRAVE ACCENT + 0x301: [699,-505,0,-297,-107], // COMBINING ACUTE ACCENT + 0x302: [694,-531,0,-388,-113], // COMBINING CIRCUMFLEX ACCENT + 0x303: [668,-565,0,-417,-84], // COMBINING TILDE + 0x304: [590,-544,0,-431,-70], // COMBINING MACRON + 0x306: [694,-515,0,-408,-93], // COMBINING BREVE + 0x307: [669,-549,0,-310,-191], // COMBINING DOT ABOVE + 0x308: [669,-554,0,-405,-96], // COMBINING DIAERESIS + 0x30A: [715,-542,0,-353,-148], // COMBINING RING ABOVE + 0x30B: [701,-510,0,-378,-80], // COMBINING DOUBLE ACUTE ACCENT + 0x30C: [644,-513,0,-386,-115], // COMBINING CARON + 0x338: [716,215,0,-639,-140] // COMBINING LONG SOLIDUS OVERLAY + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax["HTML-CSS"].fontDir + "/Main/Regular/CombDiacritMarks.js"); diff --git a/modules/MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Regular/GeometricShapes.js b/modules/MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Regular/GeometricShapes.js new file mode 100644 index 0000000..1c72315 --- /dev/null +++ b/modules/MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Regular/GeometricShapes.js @@ -0,0 +1,32 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Regular/GeometricShapes.js + * + * Copyright (c) 2009-2010 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax['HTML-CSS'].FONTDATA.FONTS['MathJax_Main'], + { + 0x25B3: [716,0,889,59,828], // WHITE UP-POINTING TRIANGLE + 0x25B9: [505,5,500,26,474], // WHITE RIGHT-POINTING SMALL TRIANGLE + 0x25BD: [500,215,889,59,828], // WHITE DOWN-POINTING TRIANGLE + 0x25C3: [505,5,500,26,473], // WHITE LEFT-POINTING SMALL TRIANGLE + 0x25EF: [715,215,1000,56,944] // LARGE CIRCLE + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax["HTML-CSS"].fontDir + "/Main/Regular/GeometricShapes.js"); diff --git a/modules/MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Regular/Main.js b/modules/MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Regular/Main.js new file mode 100644 index 0000000..6b27a17 --- /dev/null +++ b/modules/MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Regular/Main.js @@ -0,0 +1,305 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Regular/Main.js + * + * Copyright (c) 2009-2010 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +MathJax.OutputJax['HTML-CSS'].FONTDATA.FONTS['MathJax_Main'] = { + directory: 'Main/Regular', + family: 'MathJax_Main', + testString: "MathJax Main", + skew: { + 0x131: 0.0278, + 0x237: 0.0833, + 0x2113: 0.111, + 0x2118: 0.111, + 0x2202: 0.0833 + }, + Ranges: [ + [0x2B0,0x2FF,"SpacingModLetters"], + [0x300,0x36F,"CombDiacritMarks"], + [0x25A0,0x25FF,"GeometricShapes"], + [0x2600,0x26FF,"MiscSymbols"] + ], + 0x20: [0,0,250,0,0], // SPACE + 0x21: [716,-1,278,78,199], // EXCLAMATION MARK + 0x22: [694,-379,500,34,372], // QUOTATION MARK + 0x23: [694,194,833,55,778], // NUMBER SIGN + 0x24: [750,56,500,54,444], // DOLLAR SIGN + 0x25: [750,56,833,56,776], // PERCENT SIGN + 0x26: [717,22,778,42,727], // AMPERSAND + 0x27: [694,-379,278,78,212], // APOSTROPHE + 0x28: [751,251,389,94,333], // LEFT PARENTHESIS + 0x29: [750,250,389,55,294], // RIGHT PARENTHESIS + 0x2A: [750,-319,500,64,435], // ASTERISK + 0x2B: [583,83,778,55,722], // PLUS SIGN + 0x2C: [121,194,278,78,210], // COMMA + 0x2D: [252,-179,333,11,277], // HYPHEN-MINUS + 0x2E: [120,0,278,78,199], // FULL STOP + 0x2F: [751,250,500,56,445], // SOLIDUS + 0x30: [666,22,500,39,460], // DIGIT ZERO + 0x31: [666,0,500,83,427], // DIGIT ONE + 0x32: [666,1,500,49,449], // DIGIT TWO + 0x33: [665,23,500,41,457], // DIGIT THREE + 0x34: [677,0,500,28,471], // DIGIT FOUR + 0x35: [666,22,500,49,449], // DIGIT FIVE + 0x36: [666,22,500,42,456], // DIGIT SIX + 0x37: [676,22,500,55,485], // DIGIT SEVEN + 0x38: [666,22,500,43,457], // DIGIT EIGHT + 0x39: [666,22,500,41,456], // DIGIT NINE + 0x3A: [430,0,278,78,199], // COLON + 0x3B: [430,194,278,78,202], // SEMICOLON + 0x3C: [540,40,778,83,694], // LESS-THAN SIGN + 0x3D: [367,-133,778,55,722], // EQUALS SIGN + 0x3E: [540,40,778,82,694], // GREATER-THAN SIGN + 0x3F: [706,-1,472,55,416], // QUESTION MARK + 0x40: [705,11,778,56,722], // COMMERCIAL AT + 0x41: [717,0,750,32,717], // LATIN CAPITAL LETTER A + 0x42: [684,0,708,28,651], // LATIN CAPITAL LETTER B + 0x43: [706,21,722,56,666], // LATIN CAPITAL LETTER C + 0x44: [683,0,764,27,708], // LATIN CAPITAL LETTER D + 0x45: [680,0,681,24,652], // LATIN CAPITAL LETTER E + 0x46: [680,0,653,25,611], // LATIN CAPITAL LETTER F + 0x47: [706,22,785,56,735], // LATIN CAPITAL LETTER G + 0x48: [683,0,750,25,724], // LATIN CAPITAL LETTER H + 0x49: [683,0,361,21,339], // LATIN CAPITAL LETTER I + 0x4A: [683,22,514,25,465], // LATIN CAPITAL LETTER J + 0x4B: [683,0,778,24,736], // LATIN CAPITAL LETTER K + 0x4C: [683,0,625,25,582], // LATIN CAPITAL LETTER L + 0x4D: [683,0,917,29,887], // LATIN CAPITAL LETTER M + 0x4E: [683,0,750,25,724], // LATIN CAPITAL LETTER N + 0x4F: [705,22,778,56,722], // LATIN CAPITAL LETTER O + 0x50: [684,0,681,27,624], // LATIN CAPITAL LETTER P + 0x51: [705,193,778,56,728], // LATIN CAPITAL LETTER Q + 0x52: [684,22,736,27,732], // LATIN CAPITAL LETTER R + 0x53: [706,23,556,55,500], // LATIN CAPITAL LETTER S + 0x54: [677,0,722,36,685], // LATIN CAPITAL LETTER T + 0x55: [684,22,750,25,724], // LATIN CAPITAL LETTER U + 0x56: [683,23,750,19,730], // LATIN CAPITAL LETTER V + 0x57: [683,23,1028,18,1009], // LATIN CAPITAL LETTER W + 0x58: [683,1,750,23,727], // LATIN CAPITAL LETTER X + 0x59: [684,0,750,11,738], // LATIN CAPITAL LETTER Y + 0x5A: [683,1,611,55,560], // LATIN CAPITAL LETTER Z + 0x5B: [750,250,278,118,255], // LEFT SQUARE BRACKET + 0x5C: [750,250,500,56,444], // REVERSE SOLIDUS + 0x5D: [750,250,278,22,159], // RIGHT SQUARE BRACKET + 0x5E: [694,-531,500,112,387], // CIRCUMFLEX ACCENT + 0x5F: [-25,62,500,0,499], // LOW LINE + 0x60: [699,-505,500,106,295], // GRAVE ACCENT + 0x61: [448,11,500,34,493], // LATIN SMALL LETTER A + 0x62: [694,11,556,20,522], // LATIN SMALL LETTER B + 0x63: [448,11,444,34,415], // LATIN SMALL LETTER C + 0x64: [694,11,556,34,535], // LATIN SMALL LETTER D + 0x65: [448,11,444,28,415], // LATIN SMALL LETTER E + 0x66: [705,0,306,25,372], // LATIN SMALL LETTER F + 0x67: [453,206,500,29,485], // LATIN SMALL LETTER G + 0x68: [695,0,556,25,543], // LATIN SMALL LETTER H + 0x69: [669,0,278,26,255], // LATIN SMALL LETTER I + 0x6A: [669,205,306,-55,218], // LATIN SMALL LETTER J + 0x6B: [695,0,528,20,512], // LATIN SMALL LETTER K + 0x6C: [694,0,278,26,263], // LATIN SMALL LETTER L + 0x6D: [443,0,833,25,820], // LATIN SMALL LETTER M + 0x6E: [443,0,556,25,543], // LATIN SMALL LETTER N + 0x6F: [448,10,500,28,471], // LATIN SMALL LETTER O + 0x70: [443,194,556,20,522], // LATIN SMALL LETTER P + 0x71: [442,194,528,33,535], // LATIN SMALL LETTER Q + 0x72: [442,0,392,20,364], // LATIN SMALL LETTER R + 0x73: [449,12,394,32,359], // LATIN SMALL LETTER S + 0x74: [615,10,389,18,334], // LATIN SMALL LETTER T + 0x75: [442,11,556,25,542], // LATIN SMALL LETTER U + 0x76: [431,11,528,19,508], // LATIN SMALL LETTER V + 0x77: [432,12,722,18,704], // LATIN SMALL LETTER W + 0x78: [431,0,528,10,516], // LATIN SMALL LETTER X + 0x79: [431,204,528,19,508], // LATIN SMALL LETTER Y + 0x7A: [431,0,444,28,401], // LATIN SMALL LETTER Z + 0x7B: [750,250,500,64,434], // LEFT CURLY BRACKET + 0x7C: [750,250,278,119,159], // VERTICAL LINE + 0x7D: [750,250,500,64,435], // RIGHT CURLY BRACKET + 0x7E: [318,-215,500,83,416], // TILDE + 0xA0: [0,0,250,0,0], // NO-BREAK SPACE + 0xA8: [669,-554,500,95,404], // DIAERESIS + 0xAC: [356,-89,667,55,611], // NOT SIGN + 0xAF: [590,-544,500,69,430], // MACRON + 0xB0: [715,-542,500,147,352], // DEGREE SIGN + 0xB1: [666,0,778,55,722], // PLUS-MINUS SIGN + 0xB4: [699,-505,500,203,393], // ACUTE ACCENT + 0xD7: [491,-9,778,147,631], // MULTIPLICATION SIGN + 0xF7: [537,36,778,55,721], // DIVISION SIGN + 0x131: [442,0,278,26,255], // LATIN SMALL LETTER DOTLESS I + 0x237: [442,205,306,-55,218], // LATIN SMALL LETTER DOTLESS J + 0x2C6: [694,-531,500,112,387], // MODIFIER LETTER CIRCUMFLEX ACCENT + 0x2C7: [644,-513,500,114,385], // CARON + 0x2C9: [590,-544,500,69,430], // MODIFIER LETTER MACRON + 0x2CA: [699,-505,500,203,393], // MODIFIER LETTER ACUTE ACCENT + 0x2CB: [699,-505,500,106,295], // MODIFIER LETTER GRAVE ACCENT + 0x2D8: [694,-515,500,92,407], // BREVE + 0x2D9: [669,-549,500,190,309], // DOT ABOVE + 0x2DC: [668,-565,500,83,416], // SMALL TILDE + 0x393: [681,0,625,25,582], // GREEK CAPITAL LETTER GAMMA + 0x394: [716,0,833,46,786], // GREEK CAPITAL LETTER DELTA + 0x398: [705,22,778,56,722], // GREEK CAPITAL LETTER THETA + 0x39B: [717,0,694,32,661], // GREEK CAPITAL LETTER LAMDA + 0x39E: [677,0,667,42,624], // GREEK CAPITAL LETTER XI + 0x3A0: [680,0,750,25,724], // GREEK CAPITAL LETTER PI + 0x3A3: [683,1,722,55,666], // GREEK CAPITAL LETTER SIGMA + 0x3A5: [705,0,778,55,722], // GREEK CAPITAL LETTER UPSILON + 0x3A6: [683,0,722,56,665], // GREEK CAPITAL LETTER PHI + 0x3A8: [683,0,778,54,722], // GREEK CAPITAL LETTER PSI + 0x3A9: [704,1,722,44,677], // GREEK CAPITAL LETTER OMEGA + 0x2002: [0,0,500,0,0], // ?? + 0x2003: [0,0,999,0,0], // ?? + 0x2004: [0,0,333,0,0], // ?? + 0x2005: [0,0,250,0,0], // ?? + 0x2006: [0,0,167,0,0], // ?? + 0x2009: [0,0,167,0,0], // ?? + 0x200A: [0,0,83,0,0], // ?? + 0x2013: [285,-248,500,0,499], // EN DASH + 0x2014: [285,-248,1000,0,999], // EM DASH + 0x2018: [694,-379,278,64,198], // LEFT SINGLE QUOTATION MARK + 0x2019: [694,-379,278,78,212], // RIGHT SINGLE QUOTATION MARK + 0x201C: [694,-379,500,128,466], // LEFT DOUBLE QUOTATION MARK + 0x201D: [694,-379,500,34,372], // RIGHT DOUBLE QUOTATION MARK + 0x2020: [705,217,444,55,390], // DAGGER + 0x2021: [705,206,444,55,389], // DOUBLE DAGGER + 0x2026: [120,0,1172,78,1093], // HORIZONTAL ELLIPSIS + 0x2032: [560,-43,275,30,262], // PRIME + 0x20D7: [714,-516,0,-471,-29], // COMBINING RIGHT ARROW ABOVE + 0x210F: [695,13,540,42,562], // stix-/hbar - Planck's over 2pi + 0x2111: [705,11,722,54,693], // BLACK-LETTER CAPITAL I + 0x2113: [706,20,417,6,398], // SCRIPT SMALL L + 0x2118: [453,216,636,67,625], // SCRIPT CAPITAL P + 0x211C: [717,22,722,40,716], // BLACK-LETTER CAPITAL R + 0x2135: [694,1,611,54,556], // ALEF SYMBOL + 0x2190: [511,12,1000,54,944], // LEFTWARDS ARROW + 0x2191: [694,194,500,17,483], // UPWARDS ARROW + 0x2192: [512,11,1000,55,945], // RIGHTWARDS ARROW + 0x2193: [694,194,500,17,483], // DOWNWARDS ARROW + 0x2194: [511,11,1000,55,945], // LEFT RIGHT ARROW + 0x2195: [772,272,500,17,483], // UP DOWN ARROW + 0x2196: [720,196,1000,29,944], // NORTH WEST ARROW + 0x2197: [720,195,1000,55,970], // NORTH EAST ARROW + 0x2198: [695,220,1000,55,970], // SOUTH EAST ARROW + 0x2199: [695,220,1000,29,944], // SOUTH WEST ARROW + 0x21A6: [512,11,1000,54,945], // RIGHTWARDS ARROW FROM BAR + 0x21A9: [511,12,1126,54,1070], // LEFTWARDS ARROW WITH HOOK + 0x21AA: [512,11,1126,55,1071], // RIGHTWARDS ARROW WITH HOOK + 0x21BC: [511,-230,1000,55,944], // LEFTWARDS HARPOON WITH BARB UPWARDS + 0x21BD: [270,11,1000,55,944], // LEFTWARDS HARPOON WITH BARB DOWNWARDS + 0x21C0: [511,-230,1000,55,944], // RIGHTWARDS HARPOON WITH BARB UPWARDS + 0x21C1: [270,11,1000,55,945], // RIGHTWARDS HARPOON WITH BARB DOWNWARDS + 0x21CC: [671,11,1000,55,944], // RIGHTWARDS HARPOON OVER LEFTWARDS HARPOON + 0x21D0: [525,24,1000,55,944], // LEFTWARDS DOUBLE ARROW + 0x21D1: [694,194,611,31,579], // UPWARDS DOUBLE ARROW + 0x21D2: [525,25,1000,55,944], // RIGHTWARDS DOUBLE ARROW + 0x21D3: [694,194,611,31,579], // DOWNWARDS DOUBLE ARROW + 0x21D4: [525,25,1000,34,966], // LEFT RIGHT DOUBLE ARROW + 0x21D5: [772,272,611,31,580], // UP DOWN DOUBLE ARROW + 0x2200: [694,22,556,0,556], // FOR ALL + 0x2202: [715,22,531,41,566], // PARTIAL DIFFERENTIAL + 0x2203: [694,0,556,55,500], // THERE EXISTS + 0x2205: [772,78,500,39,460], // EMPTY SET + 0x2207: [683,33,833,46,786], // NABLA + 0x2208: [541,41,667,84,584], // ELEMENT OF + 0x2209: [716,215,667,84,584], // stix-negated (vert) set membership, variant + 0x220B: [541,40,667,83,582], // CONTAINS AS MEMBER + 0x2212: [270,-230,778,83,694], // MINUS SIGN + 0x2213: [500,167,778,55,722], // MINUS-OR-PLUS SIGN + 0x2215: [751,250,500,56,445], // DIVISION SLASH + 0x2216: [750,250,500,56,444], // SET MINUS + 0x2217: [465,-34,500,64,435], // ASTERISK OPERATOR + 0x2218: [444,-55,500,55,444], // RING OPERATOR + 0x2219: [444,-55,500,55,444], // BULLET OPERATOR + 0x221A: [800,200,833,72,853], // SQUARE ROOT + 0x221D: [442,11,778,56,722], // PROPORTIONAL TO + 0x221E: [442,11,1000,55,944], // INFINITY + 0x2220: [694,0,722,55,666], // ANGLE + 0x2223: [750,250,278,119,159], // DIVIDES + 0x2225: [750,250,500,132,367], // PARALLEL TO + 0x2227: [598,22,667,55,611], // LOGICAL AND + 0x2228: [598,22,667,55,611], // LOGICAL OR + 0x2229: [598,22,667,55,611], // stix-intersection, serifs + 0x222A: [599,22,667,55,611], // stix-union, serifs + 0x222B: [716,216,417,55,472], // INTEGRAL + 0x223C: [367,-133,778,55,722], // TILDE OPERATOR + 0x2240: [583,83,278,55,222], // WREATH PRODUCT + 0x2243: [464,-36,778,55,722], // ASYMPTOTICALLY EQUAL TO + 0x2245: [589,-22,1000,55,722], // APPROXIMATELY EQUAL TO + 0x2248: [483,-55,778,55,722], // ALMOST EQUAL TO + 0x224D: [484,-16,778,55,722], // EQUIVALENT TO + 0x2250: [670,-133,778,55,722], // APPROACHES THE LIMIT + 0x2260: [716,215,778,55,722], // stix-not (vert) equals + 0x2261: [464,-36,778,55,722], // IDENTICAL TO + 0x2264: [636,138,778,83,694], // LESS-THAN OR EQUAL TO + 0x2265: [636,138,778,82,694], // GREATER-THAN OR EQUAL TO + 0x226A: [568,68,1000,56,944], // MUCH LESS-THAN + 0x226B: [567,67,1000,55,945], // MUCH GREATER-THAN + 0x227A: [539,41,778,84,695], // PRECEDES + 0x227B: [539,41,778,83,694], // SUCCEEDS + 0x2282: [540,41,778,84,695], // SUBSET OF + 0x2283: [541,40,778,82,693], // SUPERSET OF + 0x2286: [636,139,778,84,695], // SUBSET OF OR EQUAL TO + 0x2287: [637,138,778,83,693], // SUPERSET OF OR EQUAL TO + 0x228E: [599,22,667,55,611], // MULTISET UNION + 0x2291: [636,138,778,83,714], // SQUARE IMAGE OF OR EQUAL TO + 0x2292: [636,138,778,63,694], // SQUARE ORIGINAL OF OR EQUAL TO + 0x2293: [598,0,667,61,605], // stix-square intersection, serifs + 0x2294: [598,0,667,61,605], // stix-square union, serifs + 0x2295: [583,83,778,56,722], // stix-circled plus (with rim) + 0x2296: [583,83,778,56,722], // CIRCLED MINUS + 0x2297: [583,83,778,56,722], // stix-circled times (with rim) + 0x2298: [583,83,778,56,722], // CIRCLED DIVISION SLASH + 0x2299: [583,83,778,56,722], // CIRCLED DOT OPERATOR + 0x22A2: [694,0,611,55,555], // RIGHT TACK + 0x22A3: [694,0,611,55,555], // LEFT TACK + 0x22A4: [668,0,778,55,723], // DOWN TACK + 0x22A5: [668,0,778,55,723], // UP TACK + 0x22A8: [750,250,867,119,811], // TRUE + 0x22C4: [488,-12,500,12,488], // DIAMOND OPERATOR + 0x22C5: [310,-190,278,78,199], // DOT OPERATOR + 0x22C6: [486,-16,500,3,497], // STAR OPERATOR + 0x22C8: [505,6,900,25,873], // BOWTIE + 0x22EE: [900,30,278,78,199], // VERTICAL ELLIPSIS + 0x22EF: [310,-190,1172,78,1093], // MIDLINE HORIZONTAL ELLIPSIS + 0x22F1: [820,-100,1282,133,1148], // DOWN RIGHT DIAGONAL ELLIPSIS + 0x2308: [751,250,444,174,422], // LEFT CEILING + 0x2309: [751,250,444,21,269], // RIGHT CEILING + 0x230A: [750,251,444,174,422], // LEFT FLOOR + 0x230B: [751,251,444,20,269], // RIGHT FLOOR + 0x2322: [388,-122,1000,55,944], // stix-small down curve + 0x2323: [378,-134,1000,55,944], // stix-small up curve + 0x23B0: [744,245,412,55,357], // UPPER LEFT OR LOWER RIGHT CURLY BRACKET SECTION + 0x23B1: [745,244,412,55,357], // UPPER RIGHT OR LOWER LEFT CURLY BRACKET SECTION + 0x27E8: [750,250,389,110,333], // MATHEMATICAL LEFT ANGLE BRACKET + 0x27E9: [750,250,389,55,278], // MATHEMATICAL RIGHT ANGLE BRACKET + 0x27EE: [744,245,412,173,357], // MATHEMATICAL LEFT FLATTENED PARENTHESIS + 0x27EF: [744,245,412,55,240], // MATHEMATICAL RIGHT FLATTENED PARENTHESIS + 0x27F5: [511,12,1609,54,1525], // LONG LEFTWARDS ARROW + 0x27F6: [512,11,1638,83,1554], // LONG RIGHTWARDS ARROW + 0x27F7: [512,12,1859,54,1804], // LONG LEFT RIGHT ARROW + 0x27F8: [525,24,1609,55,1553], // LONG LEFTWARDS DOUBLE ARROW + 0x27F9: [525,25,1638,55,1582], // LONG RIGHTWARDS DOUBLE ARROW + 0x27FA: [525,24,1858,55,1802], // LONG LEFT RIGHT DOUBLE ARROW + 0x27FC: [512,11,1638,54,1554], // LONG RIGHTWARDS ARROW FROM BAR + 0x2A3F: [684,0,750,28,721], // AMALGAMATION OR COPRODUCT + 0x2AAF: [636,138,778,83,695], // PRECEDES ABOVE SINGLE-LINE EQUALS SIGN + 0x2AB0: [636,138,778,83,694] // SUCCEEDS ABOVE SINGLE-LINE EQUALS SIGN +}; + +MathJax.Callback.Queue( + ["initFont",MathJax.OutputJax["HTML-CSS"],"MathJax_Main"], + ["loadComplete",MathJax.Ajax,MathJax.OutputJax["HTML-CSS"].fontDir+"/Main/Regular/Main.js"] +); diff --git a/modules/MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Regular/MiscSymbols.js b/modules/MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Regular/MiscSymbols.js new file mode 100644 index 0000000..5e34497 --- /dev/null +++ b/modules/MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Regular/MiscSymbols.js @@ -0,0 +1,34 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Regular/MiscSymbols.js + * + * Copyright (c) 2009-2010 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax['HTML-CSS'].FONTDATA.FONTS['MathJax_Main'], + { + 0x2660: [727,131,778,55,723], // BLACK SPADE SUIT + 0x2661: [716,33,778,55,723], // WHITE HEART SUIT + 0x2662: [727,163,778,55,723], // WHITE DIAMOND SUIT + 0x2663: [726,131,778,28,750], // BLACK CLUB SUIT + 0x266D: [751,22,389,54,333], // MUSIC FLAT SIGN + 0x266E: [734,223,389,65,324], // MUSIC NATURAL SIGN + 0x266F: [723,223,389,54,334] // MUSIC SHARP SIGN + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax["HTML-CSS"].fontDir + "/Main/Regular/MiscSymbols.js"); diff --git a/modules/MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Regular/SpacingModLetters.js b/modules/MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Regular/SpacingModLetters.js new file mode 100644 index 0000000..b1d1e2c --- /dev/null +++ b/modules/MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Regular/SpacingModLetters.js @@ -0,0 +1,28 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Regular/SpacingModLetters.js + * + * Copyright (c) 2009-2010 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax['HTML-CSS'].FONTDATA.FONTS['MathJax_Main'], + { + 0x2DA: [715,-542,500,147,352] // RING ABOVE + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax["HTML-CSS"].fontDir + "/Main/Regular/SpacingModLetters.js"); diff --git a/modules/MathJax/jax/output/HTML-CSS/fonts/TeX/Math/BoldItalic/Main.js b/modules/MathJax/jax/output/HTML-CSS/fonts/TeX/Math/BoldItalic/Main.js new file mode 100644 index 0000000..f308c00 --- /dev/null +++ b/modules/MathJax/jax/output/HTML-CSS/fonts/TeX/Math/BoldItalic/Main.js @@ -0,0 +1,206 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/fonts/TeX/Math/BoldItalic/Main.js + * + * Copyright (c) 2009-2010 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +MathJax.OutputJax['HTML-CSS'].FONTDATA.FONTS['MathJax_Math-bold-italic'] = { + directory: 'Math/BoldItalic', + family: 'MathJax_Math', + weight: 'bold', + style: 'italic', + testString: "MathJax Math", + skew: { + 0x41: 0.16, + 0x42: 0.0958, + 0x43: 0.0958, + 0x44: 0.0639, + 0x45: 0.0958, + 0x46: 0.0958, + 0x47: 0.0958, + 0x48: 0.0639, + 0x49: 0.128, + 0x4A: 0.192, + 0x4B: 0.0639, + 0x4C: 0.0319, + 0x4D: 0.0958, + 0x4E: 0.0958, + 0x4F: 0.0958, + 0x50: 0.0958, + 0x51: 0.0958, + 0x52: 0.0958, + 0x53: 0.0958, + 0x54: 0.0958, + 0x55: 0.0319, + 0x58: 0.0958, + 0x5A: 0.0958, + 0x63: 0.0639, + 0x64: 0.192, + 0x65: 0.0639, + 0x66: 0.192, + 0x67: 0.0319, + 0x68: -0.0319, + 0x6C: 0.0958, + 0x6F: 0.0639, + 0x70: 0.0958, + 0x71: 0.0958, + 0x72: 0.0639, + 0x73: 0.0639, + 0x74: 0.0958, + 0x75: 0.0319, + 0x76: 0.0319, + 0x77: 0.0958, + 0x78: 0.0319, + 0x79: 0.0639, + 0x7A: 0.0639, + 0x393: 0.0958, + 0x394: 0.192, + 0x398: 0.0958, + 0x39B: 0.192, + 0x39E: 0.0958, + 0x3A0: 0.0639, + 0x3A3: 0.0958, + 0x3A5: 0.0639, + 0x3A6: 0.0958, + 0x3A8: 0.0639, + 0x3A9: 0.0958, + 0x3B1: 0.0319, + 0x3B2: 0.0958, + 0x3B4: 0.0639, + 0x3B5: 0.0958, + 0x3B6: 0.0958, + 0x3B7: 0.0639, + 0x3B8: 0.0958, + 0x3B9: 0.0639, + 0x3BC: 0.0319, + 0x3BD: 0.0319, + 0x3BE: 0.128, + 0x3BF: 0.0639, + 0x3C1: 0.0958, + 0x3C2: 0.0958, + 0x3C4: 0.0319, + 0x3C5: 0.0319, + 0x3C6: 0.0958, + 0x3C7: 0.0639, + 0x3C8: 0.128, + 0x3D1: 0.0958, + 0x3D5: 0.0958, + 0x3F1: 0.0958, + 0x3F5: 0.0639 + }, + 0x20: [0,0,250,0,0], // SPACE + 0x2F: [711,210,894,160,733], // SOLIDUS + 0x41: [712,0,869,45,839], // LATIN CAPITAL LETTER A + 0x42: [687,0,866,43,853], // LATIN CAPITAL LETTER B + 0x43: [703,17,817,54,855], // LATIN CAPITAL LETTER C + 0x44: [686,0,938,43,914], // LATIN CAPITAL LETTER D + 0x45: [681,0,810,43,825], // LATIN CAPITAL LETTER E + 0x46: [681,0,689,43,810], // LATIN CAPITAL LETTER F + 0x47: [703,16,887,56,854], // LATIN CAPITAL LETTER G + 0x48: [686,0,982,43,1027], // LATIN CAPITAL LETTER H + 0x49: [686,0,511,30,574], // LATIN CAPITAL LETTER I + 0x4A: [686,17,631,42,694], // LATIN CAPITAL LETTER J + 0x4B: [686,0,971,43,1003], // LATIN CAPITAL LETTER K + 0x4C: [686,0,756,43,711], // LATIN CAPITAL LETTER L + 0x4D: [687,1,1142,43,1220], // LATIN CAPITAL LETTER M + 0x4E: [687,1,950,43,1028], // LATIN CAPITAL LETTER N + 0x4F: [703,17,837,53,815], // LATIN CAPITAL LETTER O + 0x50: [686,0,723,42,847], // LATIN CAPITAL LETTER P + 0x51: [703,194,869,53,815], // LATIN CAPITAL LETTER Q + 0x52: [687,17,872,43,881], // LATIN CAPITAL LETTER R + 0x53: [703,18,693,63,714], // LATIN CAPITAL LETTER S + 0x54: [675,1,637,22,773], // LATIN CAPITAL LETTER T + 0x55: [687,16,800,63,877], // LATIN CAPITAL LETTER U + 0x56: [686,17,678,62,886], // LATIN CAPITAL LETTER V + 0x57: [687,18,1093,60,1207], // LATIN CAPITAL LETTER W + 0x58: [686,1,947,38,953], // LATIN CAPITAL LETTER X + 0x59: [686,0,675,39,876], // LATIN CAPITAL LETTER Y + 0x5A: [686,1,773,68,805], // LATIN CAPITAL LETTER Z + 0x61: [452,8,633,37,607], // LATIN SMALL LETTER A + 0x62: [694,8,521,44,513], // LATIN SMALL LETTER B + 0x63: [451,8,513,40,509], // LATIN SMALL LETTER C + 0x64: [694,8,610,38,612], // LATIN SMALL LETTER D + 0x65: [452,8,554,42,509], // LATIN SMALL LETTER E + 0x66: [701,201,568,64,625], // LATIN SMALL LETTER F + 0x67: [452,202,545,0,540], // LATIN SMALL LETTER G + 0x68: [694,8,668,44,642], // LATIN SMALL LETTER H + 0x69: [694,8,405,24,367], // LATIN SMALL LETTER I + 0x6A: [694,202,471,-12,456], // LATIN SMALL LETTER J + 0x6B: [694,8,604,44,578], // LATIN SMALL LETTER K + 0x6C: [694,8,348,27,297], // LATIN SMALL LETTER L + 0x6D: [452,9,1032,24,1006], // LATIN SMALL LETTER M + 0x6E: [452,9,713,24,688], // LATIN SMALL LETTER N + 0x6F: [452,8,585,39,576], // LATIN SMALL LETTER O + 0x70: [452,194,601,-23,593], // LATIN SMALL LETTER P + 0x71: [452,194,542,38,550], // LATIN SMALL LETTER Q + 0x72: [452,8,529,24,500], // LATIN SMALL LETTER R + 0x73: [452,8,531,57,476], // LATIN SMALL LETTER S + 0x74: [644,7,415,21,387], // LATIN SMALL LETTER T + 0x75: [452,8,681,24,655], // LATIN SMALL LETTER U + 0x76: [453,8,567,24,540], // LATIN SMALL LETTER V + 0x77: [454,8,831,24,796], // LATIN SMALL LETTER W + 0x78: [452,8,659,43,599], // LATIN SMALL LETTER X + 0x79: [452,202,590,24,587], // LATIN SMALL LETTER Y + 0x7A: [453,9,555,33,539], // LATIN SMALL LETTER Z + 0xA0: [0,0,250,0,0], // NO-BREAK SPACE + 0x393: [680,0,657,43,777], // GREEK CAPITAL LETTER GAMMA + 0x394: [712,0,958,59,904], // GREEK CAPITAL LETTER DELTA + 0x398: [702,17,867,54,844], // GREEK CAPITAL LETTER THETA + 0x39B: [712,1,806,43,776], // GREEK CAPITAL LETTER LAMDA + 0x39E: [676,0,841,62,868], // GREEK CAPITAL LETTER XI + 0x3A0: [680,0,982,43,1026], // GREEK CAPITAL LETTER PI + 0x3A3: [686,0,885,69,902], // GREEK CAPITAL LETTER SIGMA + 0x3A5: [704,0,671,32,802], // GREEK CAPITAL LETTER UPSILON + 0x3A6: [687,0,767,29,737], // GREEK CAPITAL LETTER PHI + 0x3A8: [687,0,714,22,791], // GREEK CAPITAL LETTER PSI + 0x3A9: [703,1,879,93,886], // GREEK CAPITAL LETTER OMEGA + 0x3B1: [452,8,761,39,712], // GREEK SMALL LETTER ALPHA + 0x3B2: [701,195,660,28,637], // GREEK SMALL LETTER BETA + 0x3B3: [451,211,590,5,617], // GREEK SMALL LETTER GAMMA + 0x3B4: [725,8,522,39,513], // GREEK SMALL LETTER DELTA + 0x3B5: [461,17,529,35,481], // GREEK SMALL LETTER EPSILON + 0x3B6: [711,202,508,48,521], // GREEK SMALL LETTER ZETA + 0x3B7: [452,211,600,24,601], // GREEK SMALL LETTER ETA + 0x3B8: [702,8,562,39,554], // GREEK SMALL LETTER THETA + 0x3B9: [452,8,412,37,386], // GREEK SMALL LETTER IOTA + 0x3BA: [452,8,668,45,642], // GREEK SMALL LETTER KAPPA + 0x3BB: [694,13,671,40,652], // GREEK SMALL LETTER LAMDA + 0x3BC: [452,211,708,33,682], // GREEK SMALL LETTER MU + 0x3BD: [452,2,577,38,608], // GREEK SMALL LETTER NU + 0x3BE: [712,201,508,23,490], // GREEK SMALL LETTER XI + 0x3BF: [452,8,585,39,576], // GREEK SMALL LETTER OMICRON + 0x3C0: [445,8,682,23,674], // GREEK SMALL LETTER PI + 0x3C1: [451,211,612,34,603], // GREEK SMALL LETTER RHO + 0x3C2: [452,105,424,33,457], // GREEK SMALL LETTER FINAL SIGMA + 0x3C3: [444,8,686,35,677], // GREEK SMALL LETTER SIGMA + 0x3C4: [444,13,521,23,610], // GREEK SMALL LETTER TAU + 0x3C5: [454,8,631,24,604], // GREEK SMALL LETTER UPSILON + 0x3C6: [452,216,747,52,703], // GREEK SMALL LETTER PHI + 0x3C7: [452,201,718,32,686], // GREEK SMALL LETTER CHI + 0x3C8: [694,203,758,24,732], // GREEK SMALL LETTER PSI + 0x3C9: [453,8,718,24,691], // GREEK SMALL LETTER OMEGA + 0x3D1: [701,9,692,23,656], // GREEK THETA SYMBOL + 0x3D5: [695,203,712,51,693], // GREEK PHI SYMBOL + 0x3D6: [444,8,975,22,961], // GREEK PI SYMBOL + 0x3F1: [451,195,612,75,604], // GREEK RHO SYMBOL + 0x3F5: [445,7,483,43,450] // GREEK LUNATE EPSILON SYMBOL +}; + +MathJax.Callback.Queue( + ["initFont",MathJax.OutputJax["HTML-CSS"],"MathJax_Math-bold-italic"], + ["loadComplete",MathJax.Ajax,MathJax.OutputJax["HTML-CSS"].fontDir+"/Math/BoldItalic/Main.js"] +); diff --git a/modules/MathJax/jax/output/HTML-CSS/fonts/TeX/Math/Italic/Main.js b/modules/MathJax/jax/output/HTML-CSS/fonts/TeX/Math/Italic/Main.js new file mode 100644 index 0000000..122bc16 --- /dev/null +++ b/modules/MathJax/jax/output/HTML-CSS/fonts/TeX/Math/Italic/Main.js @@ -0,0 +1,205 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/fonts/TeX/Math/Italic/Main.js + * + * Copyright (c) 2009-2010 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +MathJax.OutputJax['HTML-CSS'].FONTDATA.FONTS['MathJax_Math-italic'] = { + directory: 'Math/Italic', + family: 'MathJax_Math', + style: 'italic', + testString: "MathJax Math", + skew: { + 0x41: 0.139, + 0x42: 0.0833, + 0x43: 0.0833, + 0x44: 0.0556, + 0x45: 0.0833, + 0x46: 0.0833, + 0x47: 0.0833, + 0x48: 0.0556, + 0x49: 0.111, + 0x4A: 0.167, + 0x4B: 0.0556, + 0x4C: 0.0278, + 0x4D: 0.0833, + 0x4E: 0.0833, + 0x4F: 0.0833, + 0x50: 0.0833, + 0x51: 0.0833, + 0x52: 0.0833, + 0x53: 0.0833, + 0x54: 0.0833, + 0x55: 0.0278, + 0x58: 0.0833, + 0x5A: 0.0833, + 0x63: 0.0556, + 0x64: 0.167, + 0x65: 0.0556, + 0x66: 0.167, + 0x67: 0.0278, + 0x68: -0.0278, + 0x6C: 0.0833, + 0x6F: 0.0556, + 0x70: 0.0833, + 0x71: 0.0833, + 0x72: 0.0556, + 0x73: 0.0556, + 0x74: 0.0833, + 0x75: 0.0278, + 0x76: 0.0278, + 0x77: 0.0833, + 0x78: 0.0278, + 0x79: 0.0556, + 0x7A: 0.0556, + 0x393: 0.0833, + 0x394: 0.167, + 0x398: 0.0833, + 0x39B: 0.167, + 0x39E: 0.0833, + 0x3A0: 0.0556, + 0x3A3: 0.0833, + 0x3A5: 0.0556, + 0x3A6: 0.0833, + 0x3A8: 0.0556, + 0x3A9: 0.0833, + 0x3B1: 0.0278, + 0x3B2: 0.0833, + 0x3B4: 0.0556, + 0x3B5: 0.0833, + 0x3B6: 0.0833, + 0x3B7: 0.0556, + 0x3B8: 0.0833, + 0x3B9: 0.0556, + 0x3BC: 0.0278, + 0x3BD: 0.0278, + 0x3BE: 0.111, + 0x3BF: 0.0556, + 0x3C1: 0.0833, + 0x3C2: 0.0833, + 0x3C4: 0.0278, + 0x3C5: 0.0278, + 0x3C6: 0.0833, + 0x3C7: 0.0556, + 0x3C8: 0.111, + 0x3D1: 0.0833, + 0x3D5: 0.0833, + 0x3F1: 0.0833, + 0x3F5: 0.0556 + }, + 0x20: [0,0,250,0,0], // SPACE + 0x2F: [716,215,778,139,638], // SOLIDUS + 0x41: [717,0,750,35,727], // LATIN CAPITAL LETTER A + 0x42: [683,0,759,35,756], // LATIN CAPITAL LETTER B + 0x43: [705,22,715,50,760], // LATIN CAPITAL LETTER C + 0x44: [683,1,828,32,804], // LATIN CAPITAL LETTER D + 0x45: [680,1,738,30,764], // LATIN CAPITAL LETTER E + 0x46: [681,0,643,30,749], // LATIN CAPITAL LETTER F + 0x47: [705,22,786,50,760], // LATIN CAPITAL LETTER G + 0x48: [683,0,831,31,889], // LATIN CAPITAL LETTER H + 0x49: [684,0,440,26,504], // LATIN CAPITAL LETTER I + 0x4A: [683,22,555,57,633], // LATIN CAPITAL LETTER J + 0x4B: [684,0,849,31,889], // LATIN CAPITAL LETTER K + 0x4C: [684,1,681,32,647], // LATIN CAPITAL LETTER L + 0x4D: [684,0,970,35,1051], // LATIN CAPITAL LETTER M + 0x4E: [684,0,803,31,888], // LATIN CAPITAL LETTER N + 0x4F: [704,22,763,50,740], // LATIN CAPITAL LETTER O + 0x50: [683,0,642,33,751], // LATIN CAPITAL LETTER P + 0x51: [704,195,791,50,740], // LATIN CAPITAL LETTER Q + 0x52: [683,22,759,33,755], // LATIN CAPITAL LETTER R + 0x53: [705,22,613,52,645], // LATIN CAPITAL LETTER S + 0x54: [678,0,584,21,705], // LATIN CAPITAL LETTER T + 0x55: [684,22,683,59,767], // LATIN CAPITAL LETTER U + 0x56: [683,23,583,52,769], // LATIN CAPITAL LETTER V + 0x57: [684,22,944,51,1048], // LATIN CAPITAL LETTER W + 0x58: [684,1,828,25,852], // LATIN CAPITAL LETTER X + 0x59: [683,-1,581,29,763], // LATIN CAPITAL LETTER Y + 0x5A: [684,1,683,58,724], // LATIN CAPITAL LETTER Z + 0x61: [441,10,529,33,506], // LATIN SMALL LETTER A + 0x62: [694,11,429,39,422], // LATIN SMALL LETTER B + 0x63: [442,11,433,34,429], // LATIN SMALL LETTER C + 0x64: [694,10,520,33,524], // LATIN SMALL LETTER D + 0x65: [442,11,466,39,429], // LATIN SMALL LETTER E + 0x66: [705,205,490,55,550], // LATIN SMALL LETTER F + 0x67: [443,205,477,10,480], // LATIN SMALL LETTER G + 0x68: [694,11,576,48,555], // LATIN SMALL LETTER H + 0x69: [661,11,345,21,303], // LATIN SMALL LETTER I + 0x6A: [661,204,412,-12,403], // LATIN SMALL LETTER J + 0x6B: [694,11,521,48,503], // LATIN SMALL LETTER K + 0x6C: [694,11,298,38,267], // LATIN SMALL LETTER L + 0x6D: [442,11,878,21,857], // LATIN SMALL LETTER M + 0x6E: [442,11,600,21,580], // LATIN SMALL LETTER N + 0x6F: [441,11,485,34,476], // LATIN SMALL LETTER O + 0x70: [442,194,503,-39,497], // LATIN SMALL LETTER P + 0x71: [442,194,446,33,460], // LATIN SMALL LETTER Q + 0x72: [442,11,451,21,430], // LATIN SMALL LETTER R + 0x73: [442,10,469,53,419], // LATIN SMALL LETTER S + 0x74: [626,11,361,19,330], // LATIN SMALL LETTER T + 0x75: [442,11,572,21,551], // LATIN SMALL LETTER U + 0x76: [443,11,485,21,467], // LATIN SMALL LETTER V + 0x77: [444,11,716,20,690], // LATIN SMALL LETTER W + 0x78: [443,11,572,35,523], // LATIN SMALL LETTER X + 0x79: [442,205,490,21,496], // LATIN SMALL LETTER Y + 0x7A: [442,12,465,35,468], // LATIN SMALL LETTER Z + 0xA0: [0,0,250,0,0], // NO-BREAK SPACE + 0x393: [680,-1,615,31,721], // GREEK CAPITAL LETTER GAMMA + 0x394: [716,1,833,48,788], // GREEK CAPITAL LETTER DELTA + 0x398: [704,22,763,50,740], // GREEK CAPITAL LETTER THETA + 0x39B: [717,0,694,35,671], // GREEK CAPITAL LETTER LAMDA + 0x39E: [678,1,742,53,777], // GREEK CAPITAL LETTER XI + 0x3A0: [681,0,831,31,888], // GREEK CAPITAL LETTER PI + 0x3A3: [683,0,780,58,806], // GREEK CAPITAL LETTER SIGMA + 0x3A5: [706,0,583,28,701], // GREEK CAPITAL LETTER UPSILON + 0x3A6: [683,0,667,24,643], // GREEK CAPITAL LETTER PHI + 0x3A8: [684,0,612,21,693], // GREEK CAPITAL LETTER PSI + 0x3A9: [704,0,772,80,786], // GREEK CAPITAL LETTER OMEGA + 0x3B1: [442,11,640,34,603], // GREEK SMALL LETTER ALPHA + 0x3B2: [706,194,566,23,573], // GREEK SMALL LETTER BETA + 0x3B3: [441,216,518,11,543], // GREEK SMALL LETTER GAMMA + 0x3B4: [717,10,444,36,451], // GREEK SMALL LETTER DELTA + 0x3B5: [453,22,466,27,428], // GREEK SMALL LETTER EPSILON + 0x3B6: [704,204,438,44,472], // GREEK SMALL LETTER ZETA + 0x3B7: [442,216,497,21,504], // GREEK SMALL LETTER ETA + 0x3B8: [705,10,469,35,462], // GREEK SMALL LETTER THETA + 0x3B9: [442,10,354,48,332], // GREEK SMALL LETTER IOTA + 0x3BA: [442,11,576,49,554], // GREEK SMALL LETTER KAPPA + 0x3BB: [694,12,583,46,556], // GREEK SMALL LETTER LAMDA + 0x3BC: [443,216,603,22,580], // GREEK SMALL LETTER MU + 0x3BD: [442,2,494,45,530], // GREEK SMALL LETTER NU + 0x3BE: [704,205,438,21,443], // GREEK SMALL LETTER XI + 0x3BF: [441,11,485,34,476], // GREEK SMALL LETTER OMICRON + 0x3C0: [431,11,570,19,573], // GREEK SMALL LETTER PI + 0x3C1: [442,216,517,22,510], // GREEK SMALL LETTER RHO + 0x3C2: [442,108,363,31,405], // GREEK SMALL LETTER FINAL SIGMA + 0x3C3: [431,11,571,31,572], // GREEK SMALL LETTER SIGMA + 0x3C4: [431,13,437,17,517], // GREEK SMALL LETTER TAU + 0x3C5: [443,10,540,21,523], // GREEK SMALL LETTER UPSILON + 0x3C6: [442,219,654,50,618], // GREEK SMALL LETTER PHI + 0x3C7: [442,204,626,24,601], // GREEK SMALL LETTER CHI + 0x3C8: [694,205,651,21,634], // GREEK SMALL LETTER PSI + 0x3C9: [444,11,622,15,604], // GREEK SMALL LETTER OMEGA + 0x3D1: [705,11,591,21,563], // GREEK THETA SYMBOL + 0x3D5: [695,206,596,43,579], // GREEK PHI SYMBOL + 0x3D6: [431,10,828,19,823], // GREEK PI SYMBOL + 0x3F1: [442,194,517,67,510], // GREEK RHO SYMBOL + 0x3F5: [432,11,406,39,383] // GREEK LUNATE EPSILON SYMBOL +}; + +MathJax.Callback.Queue( + ["initFont",MathJax.OutputJax["HTML-CSS"],"MathJax_Math-italic"], + ["loadComplete",MathJax.Ajax,MathJax.OutputJax["HTML-CSS"].fontDir+"/Math/Italic/Main.js"] +); diff --git a/modules/MathJax/jax/output/HTML-CSS/fonts/TeX/SansSerif/Bold/BasicLatin.js b/modules/MathJax/jax/output/HTML-CSS/fonts/TeX/SansSerif/Bold/BasicLatin.js new file mode 100644 index 0000000..b705914 --- /dev/null +++ b/modules/MathJax/jax/output/HTML-CSS/fonts/TeX/SansSerif/Bold/BasicLatin.js @@ -0,0 +1,115 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/fonts/TeX/SansSerif/Bold/BasicLatin.js + * + * Copyright (c) 2009-2010 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax['HTML-CSS'].FONTDATA.FONTS['MathJax_SansSerif-bold'], + { + 0x20: [0,0,250,0,0], // SPACE + 0x21: [695,0,367,109,257], // EXCLAMATION MARK + 0x22: [694,-441,558,37,420], // QUOTATION MARK + 0x23: [694,193,917,61,855], // NUMBER SIGN + 0x24: [750,57,550,49,488], // DOLLAR SIGN + 0x25: [750,57,1029,61,967], // PERCENT SIGN + 0x26: [716,22,831,47,769], // AMPERSAND + 0x27: [694,-441,306,80,226], // APOSTROPHE + 0x28: [750,249,428,79,366], // LEFT PARENTHESIS + 0x29: [751,251,428,61,348], // RIGHT PARENTHESIS + 0x2A: [750,-293,550,67,482], // ASTERISK + 0x2B: [617,116,856,61,794], // PLUS SIGN + 0x2C: [146,107,306,80,226], // COMMA + 0x2D: [274,-185,367,12,305], // HYPHEN-MINUS + 0x2E: [146,0,306,80,226], // FULL STOP + 0x2F: [750,249,550,61,489], // SOLIDUS + 0x30: [715,22,550,42,506], // DIGIT ZERO + 0x31: [716,-1,550,76,473], // DIGIT ONE + 0x32: [716,0,550,46,495], // DIGIT TWO + 0x33: [716,22,550,46,503], // DIGIT THREE + 0x34: [695,1,550,30,519], // DIGIT FOUR + 0x35: [694,22,550,37,494], // DIGIT FIVE + 0x36: [716,22,550,46,503], // DIGIT SIX + 0x37: [696,12,550,45,504], // DIGIT SEVEN + 0x38: [716,22,550,46,503], // DIGIT EIGHT + 0x39: [716,22,550,46,503], // DIGIT NINE + 0x3A: [458,0,306,80,226], // COLON + 0x3B: [458,107,306,80,226], // SEMICOLON + 0x3D: [407,-94,856,61,794], // EQUALS SIGN + 0x3F: [706,0,519,61,457], // QUESTION MARK + 0x40: [704,11,733,61,671], // COMMERCIAL AT + 0x41: [695,1,733,42,691], // LATIN CAPITAL LETTER A + 0x42: [695,-1,733,92,671], // LATIN CAPITAL LETTER B + 0x43: [704,11,703,61,647], // LATIN CAPITAL LETTER C + 0x44: [695,0,794,91,732], // LATIN CAPITAL LETTER D + 0x45: [692,0,642,92,596], // LATIN CAPITAL LETTER E + 0x46: [692,1,611,92,565], // LATIN CAPITAL LETTER F + 0x47: [705,11,733,61,659], // LATIN CAPITAL LETTER G + 0x48: [695,1,794,92,702], // LATIN CAPITAL LETTER H + 0x49: [695,1,331,85,246], // LATIN CAPITAL LETTER I + 0x4A: [695,22,519,46,427], // LATIN CAPITAL LETTER J + 0x4B: [695,1,764,92,701], // LATIN CAPITAL LETTER K + 0x4C: [695,0,581,92,535], // LATIN CAPITAL LETTER L + 0x4D: [695,1,978,92,886], // LATIN CAPITAL LETTER M + 0x4E: [695,1,794,92,702], // LATIN CAPITAL LETTER N + 0x4F: [716,22,794,62,731], // LATIN CAPITAL LETTER O + 0x50: [694,0,703,92,641], // LATIN CAPITAL LETTER P + 0x51: [716,106,794,62,732], // LATIN CAPITAL LETTER Q + 0x52: [695,1,703,92,654], // LATIN CAPITAL LETTER R + 0x53: [716,22,611,49,549], // LATIN CAPITAL LETTER S + 0x54: [689,1,733,40,693], // LATIN CAPITAL LETTER T + 0x55: [695,22,764,92,672], // LATIN CAPITAL LETTER U + 0x56: [695,-1,733,27,705], // LATIN CAPITAL LETTER V + 0x57: [695,1,1039,23,1014], // LATIN CAPITAL LETTER W + 0x58: [695,0,733,37,694], // LATIN CAPITAL LETTER X + 0x59: [695,1,733,23,708], // LATIN CAPITAL LETTER Y + 0x5A: [694,0,672,61,617], // LATIN CAPITAL LETTER Z + 0x5B: [751,251,343,78,318], // LEFT SQUARE BRACKET + 0x5D: [751,251,343,24,263], // RIGHT SQUARE BRACKET + 0x5E: [694,-537,550,108,441], // CIRCUMFLEX ACCENT + 0x5F: [-23,110,550,0,549], // LOW LINE + 0x61: [475,11,525,31,474], // LATIN SMALL LETTER A + 0x62: [695,11,561,54,523], // LATIN SMALL LETTER B + 0x63: [475,11,489,37,457], // LATIN SMALL LETTER C + 0x64: [695,11,561,37,507], // LATIN SMALL LETTER D + 0x65: [475,10,511,30,480], // LATIN SMALL LETTER E + 0x66: [705,1,336,28,382], // LATIN SMALL LETTER F + 0x67: [469,207,550,17,534], // LATIN SMALL LETTER G + 0x68: [695,1,561,53,509], // LATIN SMALL LETTER H + 0x69: [695,1,256,45,208], // LATIN SMALL LETTER I + 0x6A: [696,205,286,-71,233], // LATIN SMALL LETTER J + 0x6B: [695,1,531,63,496], // LATIN SMALL LETTER K + 0x6C: [695,1,256,54,201], // LATIN SMALL LETTER L + 0x6D: [469,1,867,53,816], // LATIN SMALL LETTER M + 0x6E: [468,1,561,53,509], // LATIN SMALL LETTER N + 0x6F: [475,11,550,32,518], // LATIN SMALL LETTER O + 0x70: [470,194,561,54,523], // LATIN SMALL LETTER P + 0x71: [470,195,561,37,507], // LATIN SMALL LETTER Q + 0x72: [469,0,372,54,356], // LATIN SMALL LETTER R + 0x73: [474,10,422,30,396], // LATIN SMALL LETTER S + 0x74: [590,10,404,20,374], // LATIN SMALL LETTER T + 0x75: [459,11,561,52,509], // LATIN SMALL LETTER U + 0x76: [459,0,500,26,473], // LATIN SMALL LETTER V + 0x77: [459,1,744,23,719], // LATIN SMALL LETTER W + 0x78: [459,1,500,23,475], // LATIN SMALL LETTER X + 0x79: [459,205,500,28,473], // LATIN SMALL LETTER Y + 0x7A: [458,1,476,31,443], // LATIN SMALL LETTER Z + 0x7E: [344,-197,550,92,457] // TILDE + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax["HTML-CSS"].fontDir + "/SansSerif/Bold/BasicLatin.js"); diff --git a/modules/MathJax/jax/output/HTML-CSS/fonts/TeX/SansSerif/Bold/CombDiacritMarks.js b/modules/MathJax/jax/output/HTML-CSS/fonts/TeX/SansSerif/Bold/CombDiacritMarks.js new file mode 100644 index 0000000..b340624 --- /dev/null +++ b/modules/MathJax/jax/output/HTML-CSS/fonts/TeX/SansSerif/Bold/CombDiacritMarks.js @@ -0,0 +1,38 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/fonts/TeX/SansSerif/Bold/CombDiacritMarks.js + * + * Copyright (c) 2009-2010 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax['HTML-CSS'].FONTDATA.FONTS['MathJax_SansSerif-bold'], + { + 0x300: [695,-537,0,-458,-218], // COMBINING GRAVE ACCENT + 0x301: [694,-536,0,-334,-93], // COMBINING ACUTE ACCENT + 0x302: [694,-537,0,-442,-109], // COMBINING CIRCUMFLEX ACCENT + 0x303: [694,-547,0,-458,-93], // COMBINING TILDE + 0x304: [660,-560,0,-474,-77], // COMBINING MACRON + 0x306: [695,-552,0,-470,-80], // COMBINING BREVE + 0x307: [695,-596,0,-357,-194], // COMBINING DOT ABOVE + 0x308: [696,-594,0,-459,-90], // COMBINING DIAERESIS + 0x30A: [694,-537,0,-365,-118], // COMBINING RING ABOVE + 0x30B: [695,-536,0,-440,-93], // COMBINING DOUBLE ACUTE ACCENT + 0x30C: [658,-500,0,-442,-109] // COMBINING CARON + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax["HTML-CSS"].fontDir + "/SansSerif/Bold/CombDiacritMarks.js"); diff --git a/modules/MathJax/jax/output/HTML-CSS/fonts/TeX/SansSerif/Bold/Main.js b/modules/MathJax/jax/output/HTML-CSS/fonts/TeX/SansSerif/Bold/Main.js new file mode 100644 index 0000000..8509711 --- /dev/null +++ b/modules/MathJax/jax/output/HTML-CSS/fonts/TeX/SansSerif/Bold/Main.js @@ -0,0 +1,37 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/fonts/TeX/SansSerif/Bold/Main.js + * + * Copyright (c) 2009-2010 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +MathJax.OutputJax['HTML-CSS'].FONTDATA.FONTS['MathJax_SansSerif-bold'] = { + directory: 'SansSerif/Bold', + family: 'MathJax_SansSerif', + weight: 'bold', + testString: "MathJax SansSerif", + Ranges: [ + [0x0,0x7F,"BasicLatin"], + [0x80,0xFFFF,"Other"], + [0x300,0x36F,"CombDiacritMarks"] + ] + +}; + +MathJax.Callback.Queue( + ["initFont",MathJax.OutputJax["HTML-CSS"],"MathJax_SansSerif-bold"], + ["loadComplete",MathJax.Ajax,MathJax.OutputJax["HTML-CSS"].fontDir+"/SansSerif/Bold/Main.js"] +); diff --git a/modules/MathJax/jax/output/HTML-CSS/fonts/TeX/SansSerif/Bold/Other.js b/modules/MathJax/jax/output/HTML-CSS/fonts/TeX/SansSerif/Bold/Other.js new file mode 100644 index 0000000..baa9c3d --- /dev/null +++ b/modules/MathJax/jax/output/HTML-CSS/fonts/TeX/SansSerif/Bold/Other.js @@ -0,0 +1,47 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/fonts/TeX/SansSerif/Bold/Other.js + * + * Copyright (c) 2009-2010 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax['HTML-CSS'].FONTDATA.FONTS['MathJax_SansSerif-bold'], + { + 0xA0: [0,0,250,0,0], // NO-BREAK SPACE + 0x131: [459,1,256,54,201], // LATIN SMALL LETTER DOTLESS I + 0x237: [459,205,286,-71,232], // LATIN SMALL LETTER DOTLESS J + 0x393: [692,1,581,92,535], // GREEK CAPITAL LETTER GAMMA + 0x394: [695,0,917,60,856], // GREEK CAPITAL LETTER DELTA + 0x398: [716,22,856,62,793], // GREEK CAPITAL LETTER THETA + 0x39B: [695,1,672,41,630], // GREEK CAPITAL LETTER LAMDA + 0x39E: [688,1,733,45,687], // GREEK CAPITAL LETTER XI + 0x3A0: [691,1,794,92,702], // GREEK CAPITAL LETTER PI + 0x3A3: [695,0,794,61,733], // GREEK CAPITAL LETTER SIGMA + 0x3A5: [716,1,856,61,794], // GREEK CAPITAL LETTER UPSILON + 0x3A6: [695,0,794,62,732], // GREEK CAPITAL LETTER PHI + 0x3A8: [695,0,856,61,794], // GREEK CAPITAL LETTER PSI + 0x3A9: [716,1,794,48,745], // GREEK CAPITAL LETTER OMEGA + 0x2013: [327,-240,550,0,549], // EN DASH + 0x2014: [327,-240,1100,0,1099], // EM DASH + 0x2018: [695,-443,306,81,226], // LEFT SINGLE QUOTATION MARK + 0x2019: [694,-441,306,80,226], // RIGHT SINGLE QUOTATION MARK + 0x201C: [695,-443,558,138,521], // LEFT DOUBLE QUOTATION MARK + 0x201D: [694,-441,558,37,420] // RIGHT DOUBLE QUOTATION MARK + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax["HTML-CSS"].fontDir + "/SansSerif/Bold/Other.js"); diff --git a/modules/MathJax/jax/output/HTML-CSS/fonts/TeX/SansSerif/Italic/BasicLatin.js b/modules/MathJax/jax/output/HTML-CSS/fonts/TeX/SansSerif/Italic/BasicLatin.js new file mode 100644 index 0000000..bd65dca --- /dev/null +++ b/modules/MathJax/jax/output/HTML-CSS/fonts/TeX/SansSerif/Italic/BasicLatin.js @@ -0,0 +1,115 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/fonts/TeX/SansSerif/Italic/BasicLatin.js + * + * Copyright (c) 2009-2010 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax['HTML-CSS'].FONTDATA.FONTS['MathJax_SansSerif-italic'], + { + 0x20: [0,0,250,0,0], // SPACE + 0x21: [694,0,319,110,355], // EXCLAMATION MARK + 0x22: [694,-471,500,133,472], // QUOTATION MARK + 0x23: [694,194,833,87,851], // NUMBER SIGN + 0x24: [750,56,500,56,565], // DOLLAR SIGN + 0x25: [750,56,833,165,815], // PERCENT SIGN + 0x26: [716,22,758,71,747], // AMPERSAND + 0x27: [694,-471,278,190,335], // APOSTROPHE + 0x28: [750,250,389,104,491], // LEFT PARENTHESIS + 0x29: [750,250,389,2,390], // RIGHT PARENTHESIS + 0x2A: [750,-305,500,156,569], // ASTERISK + 0x2B: [583,83,778,108,775], // PLUS SIGN + 0x2C: [98,125,278,63,209], // COMMA + 0x2D: [259,-186,333,51,332], // HYPHEN-MINUS + 0x2E: [98,0,278,90,209], // FULL STOP + 0x2F: [750,250,500,6,600], // SOLIDUS + 0x30: [678,23,500,88,549], // DIGIT ZERO + 0x31: [678,0,500,88,451], // DIGIT ONE + 0x32: [679,0,500,50,552], // DIGIT TWO + 0x33: [678,22,500,56,544], // DIGIT THREE + 0x34: [656,0,500,62,521], // DIGIT FOUR + 0x35: [656,22,500,50,555], // DIGIT FIVE + 0x36: [678,22,500,94,548], // DIGIT SIX + 0x37: [656,11,500,143,596], // DIGIT SEVEN + 0x38: [678,22,500,77,554], // DIGIT EIGHT + 0x39: [677,22,500,77,545], // DIGIT NINE + 0x3A: [444,0,278,90,282], // COLON + 0x3B: [444,125,278,63,282], // SEMICOLON + 0x3D: [370,-130,778,87,796], // EQUALS SIGN + 0x3F: [704,0,472,173,536], // QUESTION MARK + 0x40: [705,10,667,120,707], // COMMERCIAL AT + 0x41: [694,0,667,28,638], // LATIN CAPITAL LETTER A + 0x42: [694,0,667,90,696], // LATIN CAPITAL LETTER B + 0x43: [705,10,639,124,719], // LATIN CAPITAL LETTER C + 0x44: [694,0,722,88,747], // LATIN CAPITAL LETTER D + 0x45: [691,0,597,86,688], // LATIN CAPITAL LETTER E + 0x46: [691,0,569,86,673], // LATIN CAPITAL LETTER F + 0x47: [705,11,667,125,730], // LATIN CAPITAL LETTER G + 0x48: [694,0,708,86,768], // LATIN CAPITAL LETTER H + 0x49: [694,0,278,87,338], // LATIN CAPITAL LETTER I + 0x4A: [694,22,472,46,535], // LATIN CAPITAL LETTER J + 0x4B: [694,0,694,88,785], // LATIN CAPITAL LETTER K + 0x4C: [694,0,542,87,516], // LATIN CAPITAL LETTER L + 0x4D: [694,0,875,92,929], // LATIN CAPITAL LETTER M + 0x4E: [694,0,708,88,766], // LATIN CAPITAL LETTER N + 0x4F: [716,22,736,118,763], // LATIN CAPITAL LETTER O + 0x50: [694,0,639,88,690], // LATIN CAPITAL LETTER P + 0x51: [716,125,736,118,763], // LATIN CAPITAL LETTER Q + 0x52: [694,0,646,88,699], // LATIN CAPITAL LETTER R + 0x53: [716,22,556,54,609], // LATIN CAPITAL LETTER S + 0x54: [688,0,681,165,790], // LATIN CAPITAL LETTER T + 0x55: [694,22,688,130,747], // LATIN CAPITAL LETTER U + 0x56: [694,0,667,161,799], // LATIN CAPITAL LETTER V + 0x57: [694,0,944,160,1076], // LATIN CAPITAL LETTER W + 0x58: [694,0,667,14,758], // LATIN CAPITAL LETTER X + 0x59: [694,0,667,151,810], // LATIN CAPITAL LETTER Y + 0x5A: [694,0,611,55,702], // LATIN CAPITAL LETTER Z + 0x5B: [750,250,289,41,425], // LEFT SQUARE BRACKET + 0x5D: [750,250,289,-31,353], // RIGHT SQUARE BRACKET + 0x5E: [694,-527,500,190,533], // CIRCUMFLEX ACCENT + 0x5F: [-38,114,500,50,565], // LOW LINE + 0x61: [461,11,481,61,474], // LATIN SMALL LETTER A + 0x62: [694,11,517,75,539], // LATIN SMALL LETTER B + 0x63: [461,11,444,75,499], // LATIN SMALL LETTER C + 0x64: [694,11,517,73,588], // LATIN SMALL LETTER D + 0x65: [460,11,444,71,472], // LATIN SMALL LETTER E + 0x66: [705,0,306,94,494], // LATIN SMALL LETTER F + 0x67: [455,206,500,12,568], // LATIN SMALL LETTER G + 0x68: [694,0,517,73,513], // LATIN SMALL LETTER H + 0x69: [680,0,239,74,315], // LATIN SMALL LETTER I + 0x6A: [680,204,267,-96,336], // LATIN SMALL LETTER J + 0x6B: [694,0,489,76,543], // LATIN SMALL LETTER K + 0x6C: [694,0,239,74,311], // LATIN SMALL LETTER L + 0x6D: [455,0,794,73,790], // LATIN SMALL LETTER M + 0x6E: [454,0,517,73,513], // LATIN SMALL LETTER N + 0x6F: [461,11,500,69,523], // LATIN SMALL LETTER O + 0x70: [455,194,517,34,538], // LATIN SMALL LETTER P + 0x71: [455,194,517,72,538], // LATIN SMALL LETTER Q + 0x72: [455,0,342,74,424], // LATIN SMALL LETTER R + 0x73: [461,11,383,35,436], // LATIN SMALL LETTER S + 0x74: [571,11,361,97,410], // LATIN SMALL LETTER T + 0x75: [444,11,517,90,537], // LATIN SMALL LETTER U + 0x76: [444,0,461,108,540], // LATIN SMALL LETTER V + 0x77: [444,0,683,108,762], // LATIN SMALL LETTER W + 0x78: [444,0,461,1,537], // LATIN SMALL LETTER X + 0x79: [444,205,461,1,540], // LATIN SMALL LETTER Y + 0x7A: [444,0,435,28,494], // LATIN SMALL LETTER Z + 0x7E: [327,-193,500,199,560] // TILDE + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax["HTML-CSS"].fontDir + "/SansSerif/Italic/BasicLatin.js"); diff --git a/modules/MathJax/jax/output/HTML-CSS/fonts/TeX/SansSerif/Italic/CombDiacritMarks.js b/modules/MathJax/jax/output/HTML-CSS/fonts/TeX/SansSerif/Italic/CombDiacritMarks.js new file mode 100644 index 0000000..9fcc5d4 --- /dev/null +++ b/modules/MathJax/jax/output/HTML-CSS/fonts/TeX/SansSerif/Italic/CombDiacritMarks.js @@ -0,0 +1,38 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/fonts/TeX/SansSerif/Italic/CombDiacritMarks.js + * + * Copyright (c) 2009-2010 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax['HTML-CSS'].FONTDATA.FONTS['MathJax_SansSerif-italic'], + { + 0x300: [694,-527,0,-270,-87], // COMBINING GRAVE ACCENT + 0x301: [694,-527,0,-190,63], // COMBINING ACUTE ACCENT + 0x302: [694,-527,0,-310,33], // COMBINING CIRCUMFLEX ACCENT + 0x303: [677,-543,0,-301,60], // COMBINING TILDE + 0x304: [631,-552,0,-314,64], // COMBINING MACRON + 0x306: [694,-508,0,-284,73], // COMBINING BREVE + 0x307: [680,-576,0,-180,-54], // COMBINING DOT ABOVE + 0x308: [680,-582,0,-273,40], // COMBINING DIAERESIS + 0x30A: [694,-527,0,-227,-2], // COMBINING RING ABOVE + 0x30B: [694,-527,0,-287,63], // COMBINING DOUBLE ACUTE ACCENT + 0x30C: [654,-487,0,-283,60] // COMBINING CARON + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax["HTML-CSS"].fontDir + "/SansSerif/Italic/CombDiacritMarks.js"); diff --git a/modules/MathJax/jax/output/HTML-CSS/fonts/TeX/SansSerif/Italic/Main.js b/modules/MathJax/jax/output/HTML-CSS/fonts/TeX/SansSerif/Italic/Main.js new file mode 100644 index 0000000..13426ac --- /dev/null +++ b/modules/MathJax/jax/output/HTML-CSS/fonts/TeX/SansSerif/Italic/Main.js @@ -0,0 +1,37 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/fonts/TeX/SansSerif/Italic/Main.js + * + * Copyright (c) 2009-2010 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +MathJax.OutputJax['HTML-CSS'].FONTDATA.FONTS['MathJax_SansSerif-italic'] = { + directory: 'SansSerif/Italic', + family: 'MathJax_SansSerif', + style: 'italic', + testString: "MathJax SansSerif", + Ranges: [ + [0x0,0x7F,"BasicLatin"], + [0x80,0xFFFF,"Other"], + [0x300,0x36F,"CombDiacritMarks"] + ] + +}; + +MathJax.Callback.Queue( + ["initFont",MathJax.OutputJax["HTML-CSS"],"MathJax_SansSerif-italic"], + ["loadComplete",MathJax.Ajax,MathJax.OutputJax["HTML-CSS"].fontDir+"/SansSerif/Italic/Main.js"] +); diff --git a/modules/MathJax/jax/output/HTML-CSS/fonts/TeX/SansSerif/Italic/Other.js b/modules/MathJax/jax/output/HTML-CSS/fonts/TeX/SansSerif/Italic/Other.js new file mode 100644 index 0000000..1f6d214 --- /dev/null +++ b/modules/MathJax/jax/output/HTML-CSS/fonts/TeX/SansSerif/Italic/Other.js @@ -0,0 +1,47 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/fonts/TeX/SansSerif/Italic/Other.js + * + * Copyright (c) 2009-2010 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax['HTML-CSS'].FONTDATA.FONTS['MathJax_SansSerif-italic'], + { + 0xA0: [0,0,250,0,0], // NO-BREAK SPACE + 0x131: [444,0,239,74,258], // LATIN SMALL LETTER DOTLESS I + 0x237: [444,204,267,-96,286], // LATIN SMALL LETTER DOTLESS J + 0x393: [691,0,542,87,646], // GREEK CAPITAL LETTER GAMMA + 0x394: [694,0,833,42,790], // GREEK CAPITAL LETTER DELTA + 0x398: [715,22,778,119,804], // GREEK CAPITAL LETTER THETA + 0x39B: [694,0,611,28,582], // GREEK CAPITAL LETTER LAMDA + 0x39E: [688,0,667,42,765], // GREEK CAPITAL LETTER XI + 0x3A0: [691,0,708,86,768], // GREEK CAPITAL LETTER PI + 0x3A3: [694,0,722,55,813], // GREEK CAPITAL LETTER SIGMA + 0x3A5: [716,0,778,173,843], // GREEK CAPITAL LETTER UPSILON + 0x3A6: [694,0,722,124,743], // GREEK CAPITAL LETTER PHI + 0x3A8: [694,0,778,171,854], // GREEK CAPITAL LETTER PSI + 0x3A9: [716,0,722,44,769], // GREEK CAPITAL LETTER OMEGA + 0x2013: [312,-236,500,50,565], // EN DASH + 0x2014: [312,-236,1000,50,1065], // EM DASH + 0x2018: [694,-471,278,190,336], // LEFT SINGLE QUOTATION MARK + 0x2019: [694,-471,278,190,335], // RIGHT SINGLE QUOTATION MARK + 0x201C: [694,-471,500,274,614], // LEFT DOUBLE QUOTATION MARK + 0x201D: [694,-471,500,133,472] // RIGHT DOUBLE QUOTATION MARK + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax["HTML-CSS"].fontDir + "/SansSerif/Italic/Other.js"); diff --git a/modules/MathJax/jax/output/HTML-CSS/fonts/TeX/SansSerif/Regular/BasicLatin.js b/modules/MathJax/jax/output/HTML-CSS/fonts/TeX/SansSerif/Regular/BasicLatin.js new file mode 100644 index 0000000..929a9fc --- /dev/null +++ b/modules/MathJax/jax/output/HTML-CSS/fonts/TeX/SansSerif/Regular/BasicLatin.js @@ -0,0 +1,115 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/fonts/TeX/SansSerif/Regular/BasicLatin.js + * + * Copyright (c) 2009-2010 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax['HTML-CSS'].FONTDATA.FONTS['MathJax_SansSerif'], + { + 0x20: [0,0,250,0,0], // SPACE + 0x21: [694,0,319,110,208], // EXCLAMATION MARK + 0x22: [694,-471,500,32,325], // QUOTATION MARK + 0x23: [694,194,833,55,777], // NUMBER SIGN + 0x24: [750,56,500,44,444], // DOLLAR SIGN + 0x25: [750,56,833,56,776], // PERCENT SIGN + 0x26: [716,23,758,42,703], // AMPERSAND + 0x27: [694,-471,278,89,188], // APOSTROPHE + 0x28: [750,250,389,74,333], // LEFT PARENTHESIS + 0x29: [750,250,389,55,314], // RIGHT PARENTHESIS + 0x2A: [750,-306,500,63,436], // ASTERISK + 0x2B: [583,83,778,55,722], // PLUS SIGN + 0x2C: [98,125,278,89,188], // COMMA + 0x2D: [259,-186,333,11,277], // HYPHEN-MINUS + 0x2E: [98,0,278,90,188], // FULL STOP + 0x2F: [751,250,500,56,445], // SOLIDUS + 0x30: [678,22,500,39,460], // DIGIT ZERO + 0x31: [678,0,500,83,430], // DIGIT ONE + 0x32: [677,0,500,42,450], // DIGIT TWO + 0x33: [678,22,500,42,457], // DIGIT THREE + 0x34: [656,0,500,28,471], // DIGIT FOUR + 0x35: [656,22,500,33,449], // DIGIT FIVE + 0x36: [678,22,500,42,457], // DIGIT SIX + 0x37: [656,11,500,42,457], // DIGIT SEVEN + 0x38: [678,22,500,43,456], // DIGIT EIGHT + 0x39: [678,22,500,42,457], // DIGIT NINE + 0x3A: [444,0,278,90,188], // COLON + 0x3B: [444,125,278,89,188], // SEMICOLON + 0x3D: [370,-130,778,55,722], // EQUALS SIGN + 0x3F: [704,0,472,55,416], // QUESTION MARK + 0x40: [704,11,667,56,612], // COMMERCIAL AT + 0x41: [694,0,667,28,638], // LATIN CAPITAL LETTER A + 0x42: [694,0,667,90,610], // LATIN CAPITAL LETTER B + 0x43: [705,11,639,59,587], // LATIN CAPITAL LETTER C + 0x44: [695,0,722,87,666], // LATIN CAPITAL LETTER D + 0x45: [691,0,597,86,554], // LATIN CAPITAL LETTER E + 0x46: [691,0,569,86,526], // LATIN CAPITAL LETTER F + 0x47: [704,11,667,59,599], // LATIN CAPITAL LETTER G + 0x48: [694,0,708,86,621], // LATIN CAPITAL LETTER H + 0x49: [694,0,278,87,191], // LATIN CAPITAL LETTER I + 0x4A: [694,22,472,42,389], // LATIN CAPITAL LETTER J + 0x4B: [694,0,694,88,651], // LATIN CAPITAL LETTER K + 0x4C: [694,0,542,87,499], // LATIN CAPITAL LETTER L + 0x4D: [694,0,875,92,782], // LATIN CAPITAL LETTER M + 0x4E: [694,0,708,88,619], // LATIN CAPITAL LETTER N + 0x4F: [715,22,736,55,680], // LATIN CAPITAL LETTER O + 0x50: [694,0,639,88,583], // LATIN CAPITAL LETTER P + 0x51: [715,125,736,55,680], // LATIN CAPITAL LETTER Q + 0x52: [694,0,646,88,617], // LATIN CAPITAL LETTER R + 0x53: [716,22,556,44,500], // LATIN CAPITAL LETTER S + 0x54: [688,0,681,36,644], // LATIN CAPITAL LETTER T + 0x55: [694,22,688,87,600], // LATIN CAPITAL LETTER U + 0x56: [694,0,667,14,652], // LATIN CAPITAL LETTER V + 0x57: [694,0,944,14,929], // LATIN CAPITAL LETTER W + 0x58: [694,0,667,14,652], // LATIN CAPITAL LETTER X + 0x59: [694,0,667,3,663], // LATIN CAPITAL LETTER Y + 0x5A: [694,0,611,55,560], // LATIN CAPITAL LETTER Z + 0x5B: [750,250,289,94,266], // LEFT SQUARE BRACKET + 0x5D: [750,250,289,22,194], // RIGHT SQUARE BRACKET + 0x5E: [694,-527,500,78,421], // CIRCUMFLEX ACCENT + 0x5F: [-38,114,500,0,499], // LOW LINE + 0x61: [461,11,481,38,408], // LATIN SMALL LETTER A + 0x62: [694,11,517,75,482], // LATIN SMALL LETTER B + 0x63: [460,10,444,34,415], // LATIN SMALL LETTER C + 0x64: [694,10,517,33,441], // LATIN SMALL LETTER D + 0x65: [461,10,444,28,415], // LATIN SMALL LETTER E + 0x66: [706,0,306,27,347], // LATIN SMALL LETTER F + 0x67: [455,206,500,28,485], // LATIN SMALL LETTER G + 0x68: [694,0,517,73,443], // LATIN SMALL LETTER H + 0x69: [680,0,239,67,171], // LATIN SMALL LETTER I + 0x6A: [680,205,267,-59,192], // LATIN SMALL LETTER J + 0x6B: [694,0,489,76,471], // LATIN SMALL LETTER K + 0x6C: [694,0,239,74,164], // LATIN SMALL LETTER L + 0x6D: [455,0,794,73,720], // LATIN SMALL LETTER M + 0x6E: [455,0,517,73,443], // LATIN SMALL LETTER N + 0x6F: [460,10,500,28,471], // LATIN SMALL LETTER O + 0x70: [456,194,517,75,483], // LATIN SMALL LETTER P + 0x71: [455,194,517,33,441], // LATIN SMALL LETTER Q + 0x72: [455,0,342,74,327], // LATIN SMALL LETTER R + 0x73: [460,10,383,28,360], // LATIN SMALL LETTER S + 0x74: [571,10,361,18,333], // LATIN SMALL LETTER T + 0x75: [444,11,517,73,443], // LATIN SMALL LETTER U + 0x76: [444,0,461,14,446], // LATIN SMALL LETTER V + 0x77: [444,0,683,14,668], // LATIN SMALL LETTER W + 0x78: [444,0,461,0,460], // LATIN SMALL LETTER X + 0x79: [444,205,461,14,446], // LATIN SMALL LETTER Y + 0x7A: [444,0,435,28,402], // LATIN SMALL LETTER Z + 0x7E: [327,-193,500,83,416] // TILDE + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax["HTML-CSS"].fontDir + "/SansSerif/Regular/BasicLatin.js"); diff --git a/modules/MathJax/jax/output/HTML-CSS/fonts/TeX/SansSerif/Regular/CombDiacritMarks.js b/modules/MathJax/jax/output/HTML-CSS/fonts/TeX/SansSerif/Regular/CombDiacritMarks.js new file mode 100644 index 0000000..fce03c6 --- /dev/null +++ b/modules/MathJax/jax/output/HTML-CSS/fonts/TeX/SansSerif/Regular/CombDiacritMarks.js @@ -0,0 +1,38 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/fonts/TeX/SansSerif/Regular/CombDiacritMarks.js + * + * Copyright (c) 2009-2010 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax['HTML-CSS'].FONTDATA.FONTS['MathJax_SansSerif'], + { + 0x300: [694,-527,0,-417,-199], // COMBINING GRAVE ACCENT + 0x301: [694,-527,0,-302,-84], // COMBINING ACUTE ACCENT + 0x302: [694,-527,0,-422,-79], // COMBINING CIRCUMFLEX ACCENT + 0x303: [677,-543,0,-417,-84], // COMBINING TILDE + 0x304: [631,-552,0,-431,-70], // COMBINING MACRON + 0x306: [694,-508,0,-427,-74], // COMBINING BREVE + 0x307: [680,-576,0,-302,-198], // COMBINING DOT ABOVE + 0x308: [680,-582,0,-397,-104], // COMBINING DIAERESIS + 0x30A: [694,-527,0,-319,-99], // COMBINING RING ABOVE + 0x30B: [694,-527,0,-399,-84], // COMBINING DOUBLE ACUTE ACCENT + 0x30C: [654,-487,0,-422,-79] // COMBINING CARON + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax["HTML-CSS"].fontDir + "/SansSerif/Regular/CombDiacritMarks.js"); diff --git a/modules/MathJax/jax/output/HTML-CSS/fonts/TeX/SansSerif/Regular/Main.js b/modules/MathJax/jax/output/HTML-CSS/fonts/TeX/SansSerif/Regular/Main.js new file mode 100644 index 0000000..2a6744e --- /dev/null +++ b/modules/MathJax/jax/output/HTML-CSS/fonts/TeX/SansSerif/Regular/Main.js @@ -0,0 +1,36 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/fonts/TeX/SansSerif/Regular/Main.js + * + * Copyright (c) 2009-2010 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +MathJax.OutputJax['HTML-CSS'].FONTDATA.FONTS['MathJax_SansSerif'] = { + directory: 'SansSerif/Regular', + family: 'MathJax_SansSerif', + testString: "MathJax SansSerif", + Ranges: [ + [0x0,0x7F,"BasicLatin"], + [0x80,0xFFFF,"Other"], + [0x300,0x36F,"CombDiacritMarks"] + ] + +}; + +MathJax.Callback.Queue( + ["initFont",MathJax.OutputJax["HTML-CSS"],"MathJax_SansSerif"], + ["loadComplete",MathJax.Ajax,MathJax.OutputJax["HTML-CSS"].fontDir+"/SansSerif/Regular/Main.js"] +); diff --git a/modules/MathJax/jax/output/HTML-CSS/fonts/TeX/SansSerif/Regular/Other.js b/modules/MathJax/jax/output/HTML-CSS/fonts/TeX/SansSerif/Regular/Other.js new file mode 100644 index 0000000..06b6263 --- /dev/null +++ b/modules/MathJax/jax/output/HTML-CSS/fonts/TeX/SansSerif/Regular/Other.js @@ -0,0 +1,47 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/fonts/TeX/SansSerif/Regular/Other.js + * + * Copyright (c) 2009-2010 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax['HTML-CSS'].FONTDATA.FONTS['MathJax_SansSerif'], + { + 0xA0: [0,0,250,0,0], // NO-BREAK SPACE + 0x131: [444,0,239,74,164], // LATIN SMALL LETTER DOTLESS I + 0x237: [444,205,267,-59,192], // LATIN SMALL LETTER DOTLESS J + 0x393: [691,0,542,87,499], // GREEK CAPITAL LETTER GAMMA + 0x394: [694,0,833,42,790], // GREEK CAPITAL LETTER DELTA + 0x398: [716,21,778,56,722], // GREEK CAPITAL LETTER THETA + 0x39B: [694,0,611,28,582], // GREEK CAPITAL LETTER LAMDA + 0x39E: [688,0,667,42,624], // GREEK CAPITAL LETTER XI + 0x3A0: [691,0,708,86,621], // GREEK CAPITAL LETTER PI + 0x3A3: [694,0,722,55,666], // GREEK CAPITAL LETTER SIGMA + 0x3A5: [717,0,778,55,722], // GREEK CAPITAL LETTER UPSILON + 0x3A6: [694,0,722,55,666], // GREEK CAPITAL LETTER PHI + 0x3A8: [694,0,778,55,722], // GREEK CAPITAL LETTER PSI + 0x3A9: [716,0,722,44,677], // GREEK CAPITAL LETTER OMEGA + 0x2013: [312,-236,500,0,499], // EN DASH + 0x2014: [312,-236,1000,0,999], // EM DASH + 0x2018: [694,-471,278,90,189], // LEFT SINGLE QUOTATION MARK + 0x2019: [694,-471,278,89,188], // RIGHT SINGLE QUOTATION MARK + 0x201C: [694,-471,500,174,467], // LEFT DOUBLE QUOTATION MARK + 0x201D: [694,-471,500,32,325] // RIGHT DOUBLE QUOTATION MARK + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax["HTML-CSS"].fontDir + "/SansSerif/Regular/Other.js"); diff --git a/modules/MathJax/jax/output/HTML-CSS/fonts/TeX/Script/Regular/BasicLatin.js b/modules/MathJax/jax/output/HTML-CSS/fonts/TeX/Script/Regular/BasicLatin.js new file mode 100644 index 0000000..6a52511 --- /dev/null +++ b/modules/MathJax/jax/output/HTML-CSS/fonts/TeX/Script/Regular/BasicLatin.js @@ -0,0 +1,54 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/fonts/TeX/Script/Regular/BasicLatin.js + * + * Copyright (c) 2009-2010 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax['HTML-CSS'].FONTDATA.FONTS['MathJax_Script'], + { + 0x20: [0,0,250,0,0], // SPACE + 0x41: [718,8,803,35,1017], // LATIN CAPITAL LETTER A + 0x42: [708,28,908,31,928], // LATIN CAPITAL LETTER B + 0x43: [728,26,666,26,819], // LATIN CAPITAL LETTER C + 0x44: [708,31,774,68,855], // LATIN CAPITAL LETTER D + 0x45: [708,8,562,46,719], // LATIN CAPITAL LETTER E + 0x46: [735,36,895,39,990], // LATIN CAPITAL LETTER F + 0x47: [717,38,610,12,739], // LATIN CAPITAL LETTER G + 0x48: [718,36,969,29,1241], // LATIN CAPITAL LETTER H + 0x49: [717,17,809,59,946], // LATIN CAPITAL LETTER I + 0x4A: [718,315,1052,92,1133], // LATIN CAPITAL LETTER J + 0x4B: [717,37,914,29,1204], // LATIN CAPITAL LETTER K + 0x4C: [718,18,874,14,1036], // LATIN CAPITAL LETTER L + 0x4D: [721,50,1080,30,1216], // LATIN CAPITAL LETTER M + 0x4E: [726,36,902,29,1208], // LATIN CAPITAL LETTER N + 0x4F: [707,8,738,96,805], // LATIN CAPITAL LETTER O + 0x50: [716,38,1013,89,1031], // LATIN CAPITAL LETTER P + 0x51: [717,17,883,54,885], // LATIN CAPITAL LETTER Q + 0x52: [717,17,850,-3,887], // LATIN CAPITAL LETTER R + 0x53: [708,36,868,29,1016], // LATIN CAPITAL LETTER S + 0x54: [735,37,747,92,996], // LATIN CAPITAL LETTER T + 0x55: [717,17,800,55,960], // LATIN CAPITAL LETTER U + 0x56: [717,17,622,56,850], // LATIN CAPITAL LETTER V + 0x57: [718,17,805,46,1026], // LATIN CAPITAL LETTER W + 0x58: [718,17,944,103,1132], // LATIN CAPITAL LETTER X + 0x59: [716,17,710,57,959], // LATIN CAPITAL LETTER Y + 0x5A: [718,16,821,82,1033] // LATIN CAPITAL LETTER Z + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax["HTML-CSS"].fontDir + "/Script/Regular/BasicLatin.js"); diff --git a/modules/MathJax/jax/output/HTML-CSS/fonts/TeX/Script/Regular/Main.js b/modules/MathJax/jax/output/HTML-CSS/fonts/TeX/Script/Regular/Main.js new file mode 100644 index 0000000..dd3958b --- /dev/null +++ b/modules/MathJax/jax/output/HTML-CSS/fonts/TeX/Script/Regular/Main.js @@ -0,0 +1,63 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/fonts/TeX/Script/Regular/Main.js + * + * Copyright (c) 2009-2010 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +MathJax.OutputJax['HTML-CSS'].FONTDATA.FONTS['MathJax_Script'] = { + directory: 'Script/Regular', + family: 'MathJax_Script', + testString: "MATHJAX SCRIPT", + skew: { + 0x41: 0.389, + 0x42: 0.194, + 0x43: 0.278, + 0x44: 0.111, + 0x45: 0.139, + 0x46: 0.222, + 0x47: 0.25, + 0x48: 0.333, + 0x49: 0.333, + 0x4A: 0.417, + 0x4B: 0.361, + 0x4C: 0.306, + 0x4D: 0.444, + 0x4E: 0.389, + 0x4F: 0.167, + 0x50: 0.222, + 0x51: 0.278, + 0x52: 0.194, + 0x53: 0.333, + 0x54: 0.222, + 0x55: 0.25, + 0x56: 0.222, + 0x57: 0.25, + 0x58: 0.278, + 0x59: 0.194, + 0x5A: 0.306 + }, + Ranges: [ + [0x0,0x7F,"BasicLatin"], + [0x80,0xFFFF,"Other"] + ] + +}; + +MathJax.Callback.Queue( + ["initFont",MathJax.OutputJax["HTML-CSS"],"MathJax_Script"], + ["loadComplete",MathJax.Ajax,MathJax.OutputJax["HTML-CSS"].fontDir+"/Script/Regular/Main.js"] +); diff --git a/modules/MathJax/jax/output/HTML-CSS/fonts/TeX/Script/Regular/Other.js b/modules/MathJax/jax/output/HTML-CSS/fonts/TeX/Script/Regular/Other.js new file mode 100644 index 0000000..635c3b4 --- /dev/null +++ b/modules/MathJax/jax/output/HTML-CSS/fonts/TeX/Script/Regular/Other.js @@ -0,0 +1,28 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/fonts/TeX/Script/Regular/Other.js + * + * Copyright (c) 2009-2010 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax['HTML-CSS'].FONTDATA.FONTS['MathJax_Script'], + { + 0xA0: [0,0,250,0,0] // NO-BREAK SPACE + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax["HTML-CSS"].fontDir + "/Script/Regular/Other.js"); diff --git a/modules/MathJax/jax/output/HTML-CSS/fonts/TeX/Size1/Regular/Main.js b/modules/MathJax/jax/output/HTML-CSS/fonts/TeX/Size1/Regular/Main.js new file mode 100644 index 0000000..45c619c --- /dev/null +++ b/modules/MathJax/jax/output/HTML-CSS/fonts/TeX/Size1/Regular/Main.js @@ -0,0 +1,75 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/fonts/TeX/Size1/Regular/Main.js + * + * Copyright (c) 2009-2010 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +MathJax.OutputJax['HTML-CSS'].FONTDATA.FONTS['MathJax_Size1'] = { + directory: 'Size1/Regular', + family: 'MathJax_Size1', + testString: "() [] {}", + 0x20: [0,0,250,0,0], // SPACE + 0x28: [850,349,458,152,422], // LEFT PARENTHESIS + 0x29: [851,349,458,35,305], // RIGHT PARENTHESIS + 0x2F: [850,349,578,55,522], // SOLIDUS + 0x5B: [850,349,417,202,394], // LEFT SQUARE BRACKET + 0x5C: [850,349,578,54,522], // REVERSE SOLIDUS + 0x5D: [850,349,417,22,214], // RIGHT SQUARE BRACKET + 0x7B: [850,349,583,104,477], // LEFT CURLY BRACKET + 0x7D: [851,349,583,104,477], // RIGHT CURLY BRACKET + 0xA0: [0,0,250,0,0], // NO-BREAK SPACE + 0x2C6: [744,-551,556,-8,564], // MODIFIER LETTER CIRCUMFLEX ACCENT + 0x2DC: [722,-597,556,1,554], // SMALL TILDE + 0x302: [744,-551,0,-564,8], // COMBINING CIRCUMFLEX ACCENT + 0x303: [722,-597,0,-555,-2], // COMBINING TILDE + 0x2016: [602,0,778,257,521], // DOUBLE VERTICAL LINE + 0x2191: [600,0,667,112,555], // UPWARDS ARROW + 0x2193: [600,0,667,112,555], // DOWNWARDS ARROW + 0x21D1: [599,0,778,57,721], // UPWARDS DOUBLE ARROW + 0x21D3: [600,-1,778,57,721], // DOWNWARDS DOUBLE ARROW + 0x220F: [750,250,944,55,888], // N-ARY PRODUCT + 0x2210: [750,250,944,55,888], // N-ARY COPRODUCT + 0x2211: [751,250,1056,56,999], // N-ARY SUMMATION + 0x221A: [850,350,1000,111,1020], // SQUARE ROOT + 0x2223: [627,15,333,145,188], // DIVIDES + 0x2225: [627,15,556,145,410], // PARALLEL TO + 0x222B: [805,306,472,55,610], // INTEGRAL + 0x222C: [805,306,819,55,957], // DOUBLE INTEGRAL + 0x222D: [805,306,1166,55,1304], // TRIPLE INTEGRAL + 0x222E: [805,306,472,55,610], // CONTOUR INTEGRAL + 0x22C0: [750,249,833,55,777], // N-ARY LOGICAL AND + 0x22C1: [750,249,833,55,777], // N-ARY LOGICAL OR + 0x22C2: [750,249,833,54,777], // N-ARY INTERSECTION + 0x22C3: [750,250,833,55,777], // N-ARY UNION + 0x2308: [850,349,472,202,449], // LEFT CEILING + 0x2309: [850,349,472,22,269], // RIGHT CEILING + 0x230A: [850,349,472,202,449], // LEFT FLOOR + 0x230B: [850,349,472,22,269], // RIGHT FLOOR + 0x23D0: [602,0,667,312,355], // VERTICAL LINE EXTENSION (used to extend arrows) + 0x27E8: [850,350,472,97,394], // MATHEMATICAL LEFT ANGLE BRACKET + 0x27E9: [850,350,472,77,374], // MATHEMATICAL RIGHT ANGLE BRACKET + 0x2A00: [750,250,1111,56,1054], // N-ARY CIRCLED DOT OPERATOR + 0x2A01: [750,250,1111,56,1054], // N-ARY CIRCLED PLUS OPERATOR + 0x2A02: [750,250,1111,56,1054], // N-ARY CIRCLED TIMES OPERATOR + 0x2A04: [750,250,833,55,777], // N-ARY UNION OPERATOR WITH PLUS + 0x2A06: [750,249,833,55,777] // N-ARY SQUARE UNION OPERATOR +}; + +MathJax.Callback.Queue( + ["initFont",MathJax.OutputJax["HTML-CSS"],"MathJax_Size1"], + ["loadComplete",MathJax.Ajax,MathJax.OutputJax["HTML-CSS"].fontDir+"/Size1/Regular/Main.js"] +); diff --git a/modules/MathJax/jax/output/HTML-CSS/fonts/TeX/Size2/Regular/Main.js b/modules/MathJax/jax/output/HTML-CSS/fonts/TeX/Size2/Regular/Main.js new file mode 100644 index 0000000..19c93f9 --- /dev/null +++ b/modules/MathJax/jax/output/HTML-CSS/fonts/TeX/Size2/Regular/Main.js @@ -0,0 +1,67 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/fonts/TeX/Size2/Regular/Main.js + * + * Copyright (c) 2009-2010 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +MathJax.OutputJax['HTML-CSS'].FONTDATA.FONTS['MathJax_Size2'] = { + directory: 'Size2/Regular', + family: 'MathJax_Size2', + testString: "() [] {}", + 0x20: [0,0,250,0,0], // SPACE + 0x28: [1150,649,597,180,561], // LEFT PARENTHESIS + 0x29: [1151,649,597,35,416], // RIGHT PARENTHESIS + 0x2F: [1150,649,811,55,755], // SOLIDUS + 0x5B: [1150,649,472,224,455], // LEFT SQUARE BRACKET + 0x5C: [1150,649,811,54,754], // REVERSE SOLIDUS + 0x5D: [1150,649,472,16,247], // RIGHT SQUARE BRACKET + 0x7B: [1150,649,667,119,547], // LEFT CURLY BRACKET + 0x7D: [1151,649,667,119,547], // RIGHT CURLY BRACKET + 0xA0: [0,0,250,0,0], // NO-BREAK SPACE + 0x2C6: [772,-565,1000,-5,1004], // MODIFIER LETTER CIRCUMFLEX ACCENT + 0x2DC: [750,-611,1000,0,999], // SMALL TILDE + 0x302: [772,-565,0,-1005,4], // COMBINING CIRCUMFLEX ACCENT + 0x303: [750,-611,0,-1000,-1], // COMBINING TILDE + 0x220F: [950,450,1278,56,1221], // N-ARY PRODUCT + 0x2210: [950,450,1278,56,1221], // N-ARY COPRODUCT + 0x2211: [950,450,1444,55,1388], // N-ARY SUMMATION + 0x221A: [1150,650,1000,111,1020], // SQUARE ROOT + 0x222B: [1360,862,556,55,944], // INTEGRAL + 0x222C: [1361,862,1084,55,1473], // DOUBLE INTEGRAL + 0x222D: [1361,862,1592,55,1981], // TRIPLE INTEGRAL + 0x222E: [1360,862,556,55,944], // CONTOUR INTEGRAL + 0x22C0: [950,450,1111,55,1055], // N-ARY LOGICAL AND + 0x22C1: [950,450,1111,55,1055], // N-ARY LOGICAL OR + 0x22C2: [949,450,1111,55,1055], // N-ARY INTERSECTION + 0x22C3: [950,449,1111,55,1055], // N-ARY UNION + 0x2308: [1150,649,528,224,511], // LEFT CEILING + 0x2309: [1150,649,528,16,303], // RIGHT CEILING + 0x230A: [1150,649,528,224,511], // LEFT FLOOR + 0x230B: [1150,649,528,16,303], // RIGHT FLOOR + 0x27E8: [1150,649,611,112,524], // MATHEMATICAL LEFT ANGLE BRACKET + 0x27E9: [1150,649,611,85,498], // MATHEMATICAL RIGHT ANGLE BRACKET + 0x2A00: [949,449,1511,56,1454], // N-ARY CIRCLED DOT OPERATOR + 0x2A01: [949,449,1511,56,1454], // N-ARY CIRCLED PLUS OPERATOR + 0x2A02: [949,449,1511,56,1454], // N-ARY CIRCLED TIMES OPERATOR + 0x2A04: [950,449,1111,55,1055], // N-ARY UNION OPERATOR WITH PLUS + 0x2A06: [950,450,1111,55,1055] // N-ARY SQUARE UNION OPERATOR +}; + +MathJax.Callback.Queue( + ["initFont",MathJax.OutputJax["HTML-CSS"],"MathJax_Size2"], + ["loadComplete",MathJax.Ajax,MathJax.OutputJax["HTML-CSS"].fontDir+"/Size2/Regular/Main.js"] +); diff --git a/modules/MathJax/jax/output/HTML-CSS/fonts/TeX/Size3/Regular/Main.js b/modules/MathJax/jax/output/HTML-CSS/fonts/TeX/Size3/Regular/Main.js new file mode 100644 index 0000000..eb0b67c --- /dev/null +++ b/modules/MathJax/jax/output/HTML-CSS/fonts/TeX/Size3/Regular/Main.js @@ -0,0 +1,51 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/fonts/TeX/Size3/Regular/Main.js + * + * Copyright (c) 2009-2010 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +MathJax.OutputJax['HTML-CSS'].FONTDATA.FONTS['MathJax_Size3'] = { + directory: 'Size3/Regular', + family: 'MathJax_Size3', + testString: "() [] {}", + 0x20: [0,0,250,0,0], // SPACE + 0x28: [1450,949,736,209,701], // LEFT PARENTHESIS + 0x29: [1451,949,736,34,526], // RIGHT PARENTHESIS + 0x2F: [1450,949,1044,55,989], // SOLIDUS + 0x5B: [1450,949,528,247,516], // LEFT SQUARE BRACKET + 0x5C: [1450,949,1044,56,988], // REVERSE SOLIDUS + 0x5D: [1450,949,528,11,280], // RIGHT SQUARE BRACKET + 0x7B: [1450,949,750,130,618], // LEFT CURLY BRACKET + 0x7D: [1451,949,750,131,618], // RIGHT CURLY BRACKET + 0xA0: [0,0,250,0,0], // NO-BREAK SPACE + 0x2C6: [772,-564,1444,-4,1447], // MODIFIER LETTER CIRCUMFLEX ACCENT + 0x2DC: [749,-610,1444,1,1442], // SMALL TILDE + 0x302: [772,-564,0,-1448,3], // COMBINING CIRCUMFLEX ACCENT + 0x303: [749,-610,0,-1443,-2], // COMBINING TILDE + 0x221A: [1450,951,1000,111,1020], // SQUARE ROOT + 0x2308: [1450,949,583,246,571], // LEFT CEILING + 0x2309: [1450,949,583,11,336], // RIGHT CEILING + 0x230A: [1450,949,583,246,571], // LEFT FLOOR + 0x230B: [1450,949,583,11,336], // RIGHT FLOOR + 0x27E8: [1450,950,750,126,654], // MATHEMATICAL LEFT ANGLE BRACKET + 0x27E9: [1450,950,750,94,623] // MATHEMATICAL RIGHT ANGLE BRACKET +}; + +MathJax.Callback.Queue( + ["initFont",MathJax.OutputJax["HTML-CSS"],"MathJax_Size3"], + ["loadComplete",MathJax.Ajax,MathJax.OutputJax["HTML-CSS"].fontDir+"/Size3/Regular/Main.js"] +); diff --git a/modules/MathJax/jax/output/HTML-CSS/fonts/TeX/Size4/Regular/Main.js b/modules/MathJax/jax/output/HTML-CSS/fonts/TeX/Size4/Regular/Main.js new file mode 100644 index 0000000..d43ac4a --- /dev/null +++ b/modules/MathJax/jax/output/HTML-CSS/fonts/TeX/Size4/Regular/Main.js @@ -0,0 +1,78 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/fonts/TeX/Size4/Regular/Main.js + * + * Copyright (c) 2009-2010 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +MathJax.OutputJax['HTML-CSS'].FONTDATA.FONTS['MathJax_Size4'] = { + directory: 'Size4/Regular', + family: 'MathJax_Size4', + testString: "() [] {}", + 0x20: [0,0,250,0,0], // SPACE + 0x28: [1750,1249,792,237,758], // LEFT PARENTHESIS + 0x29: [1751,1250,792,33,554], // RIGHT PARENTHESIS + 0x2F: [1750,1249,1278,56,1221], // SOLIDUS + 0x5B: [1750,1249,583,269,577], // LEFT SQUARE BRACKET + 0x5C: [1750,1249,1278,56,1221], // REVERSE SOLIDUS + 0x5D: [1750,1249,583,5,313], // RIGHT SQUARE BRACKET + 0x7B: [1750,1249,806,144,662], // LEFT CURLY BRACKET + 0x7D: [1751,1249,806,144,662], // RIGHT CURLY BRACKET + 0xA0: [0,0,250,0,0], // NO-BREAK SPACE + 0x2C6: [845,-561,1889,-14,1902], // MODIFIER LETTER CIRCUMFLEX ACCENT + 0x2DC: [823,-583,1889,1,1885], // SMALL TILDE + 0x302: [845,-561,0,-1903,13], // COMBINING CIRCUMFLEX ACCENT + 0x303: [823,-583,0,-1888,-4], // COMBINING TILDE + 0x221A: [1750,1251,1000,111,1020], // SQUARE ROOT + 0x2308: [1750,1249,639,269,633], // LEFT CEILING + 0x2309: [1750,1249,639,5,369], // RIGHT CEILING + 0x230A: [1750,1249,639,269,633], // LEFT FLOOR + 0x230B: [1750,1249,639,5,369], // RIGHT FLOOR + 0x239B: [1155,655,875,290,843], // LEFT PARENTHESIS UPPER HOOK + 0x239C: [610,10,875,291,417], // LEFT PARENTHESIS EXTENSION + 0x239D: [1165,644,875,291,843], // LEFT PARENTHESIS LOWER HOOK + 0x239E: [1155,655,875,31,583], // RIGHT PARENTHESIS UPPER HOOK + 0x239F: [610,10,875,457,583], // RIGHT PARENTHESIS EXTENSION + 0x23A0: [1165,645,875,31,583], // RIGHT PARENTHESIS LOWER HOOK + 0x23A1: [1154,645,667,319,666], // LEFT SQUARE BRACKET UPPER CORNER + 0x23A2: [602,0,667,319,403], // LEFT SQUARE BRACKET EXTENSION + 0x23A3: [1155,644,667,319,666], // LEFT SQUARE BRACKET LOWER CORNER + 0x23A4: [1154,645,667,0,347], // RIGHT SQUARE BRACKET UPPER CORNER + 0x23A5: [602,0,667,263,347], // RIGHT SQUARE BRACKET EXTENSION + 0x23A6: [1155,644,667,0,347], // RIGHT SQUARE BRACKET LOWER CORNER + 0x23A7: [899,10,889,383,719], // LEFT CURLY BRACKET UPPER HOOK + 0x23A8: [1160,660,889,170,505], // LEFT CURLY BRACKET MIDDLE PIECE + 0x23A9: [10,899,889,384,718], // LEFT CURLY BRACKET LOWER HOOK + 0x23AA: [310,10,889,383,504], // CURLY BRACKET EXTENSION + 0x23AB: [900,11,889,170,504], // RIGHT CURLY BRACKET UPPER HOOK + 0x23AC: [1160,660,889,384,718], // RIGHT CURLY BRACKET MIDDLE PIECE + 0x23AD: [10,899,889,170,505], // RIGHT CURLY BRACKET LOWER HOOK + 0x23B7: [935,885,1056,111,742], // RADICAL SYMBOL BOTTOM + 0x27E8: [1750,1249,806,140,703], // MATHEMATICAL LEFT ANGLE BRACKET + 0x27E9: [1751,1249,806,103,665], // MATHEMATICAL RIGHT ANGLE BRACKET + 0xE000: [625,15,1056,702,742], // MJ-TeX: radical symbol vertical extender + 0xE001: [605,15,1056,702,1076], // MJ-TeX: radical symbol top corner piece + 0xE150: [120,213,450,-24,461], // MJ-TeX: horizontal brace, down left piece + 0xE151: [120,214,450,-11,475], // MJ-TeX: horizontal brace, down right piece + 0xE152: [333,0,450,-24,461], // MJ-TeX: horizontal brace, upper left piece + 0xE153: [333,0,450,-11,475], // MJ-TeX: horizontal brace, upper right piece + 0xE154: [120,0,400,-10,410] // MJ-TeX: horizontal brace, extender +}; + +MathJax.Callback.Queue( + ["initFont",MathJax.OutputJax["HTML-CSS"],"MathJax_Size4"], + ["loadComplete",MathJax.Ajax,MathJax.OutputJax["HTML-CSS"].fontDir+"/Size4/Regular/Main.js"] +); diff --git a/modules/MathJax/jax/output/HTML-CSS/fonts/TeX/Typewriter/Regular/BasicLatin.js b/modules/MathJax/jax/output/HTML-CSS/fonts/TeX/Typewriter/Regular/BasicLatin.js new file mode 100644 index 0000000..a40c3d9 --- /dev/null +++ b/modules/MathJax/jax/output/HTML-CSS/fonts/TeX/Typewriter/Regular/BasicLatin.js @@ -0,0 +1,123 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/fonts/TeX/Typewriter/Regular/BasicLatin.js + * + * Copyright (c) 2009-2010 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax['HTML-CSS'].FONTDATA.FONTS['MathJax_Typewriter'], + { + 0x20: [0,0,250,0,0], // SPACE + 0x21: [622,0,525,206,320], // EXCLAMATION MARK + 0x22: [623,-333,525,122,402], // QUOTATION MARK + 0x23: [612,0,525,36,490], // NUMBER SIGN + 0x24: [695,83,525,58,467], // DOLLAR SIGN + 0x25: [694,83,525,35,489], // PERCENT SIGN + 0x26: [622,11,525,28,490], // AMPERSAND + 0x27: [611,-287,525,175,349], // APOSTROPHE + 0x28: [695,83,525,166,437], // LEFT PARENTHESIS + 0x29: [694,82,525,87,358], // RIGHT PARENTHESIS + 0x2A: [520,-90,525,68,456], // ASTERISK + 0x2B: [531,-81,525,38,487], // PLUS SIGN + 0x2C: [140,139,525,173,353], // COMMA + 0x2D: [341,-271,525,56,468], // HYPHEN-MINUS + 0x2E: [140,-1,525,193,332], // FULL STOP + 0x2F: [694,83,525,58,466], // SOLIDUS + 0x30: [621,10,525,42,482], // DIGIT ZERO + 0x31: [622,0,525,98,450], // DIGIT ONE + 0x32: [623,-1,525,52,473], // DIGIT TWO + 0x33: [622,12,525,44,479], // DIGIT THREE + 0x34: [624,-1,525,28,496], // DIGIT FOUR + 0x35: [611,10,525,52,472], // DIGIT FIVE + 0x36: [622,11,525,45,480], // DIGIT SIX + 0x37: [628,10,525,43,480], // DIGIT SEVEN + 0x38: [621,10,525,45,479], // DIGIT EIGHT + 0x39: [622,11,525,45,479], // DIGIT NINE + 0x3A: [431,-1,525,193,332], // COLON + 0x3B: [431,139,525,175,337], // SEMICOLON + 0x3C: [557,-55,525,57,468], // LESS-THAN SIGN + 0x3D: [417,-195,525,37,487], // EQUALS SIGN + 0x3E: [557,-55,525,57,468], // GREATER-THAN SIGN + 0x3F: [617,0,525,62,462], // QUESTION MARK + 0x40: [617,6,525,44,481], // COMMERCIAL AT + 0x41: [624,0,525,27,497], // LATIN CAPITAL LETTER A + 0x42: [611,-1,525,16,482], // LATIN CAPITAL LETTER B + 0x43: [622,11,525,40,485], // LATIN CAPITAL LETTER C + 0x44: [612,-1,525,15,485], // LATIN CAPITAL LETTER D + 0x45: [611,-1,525,18,503], // LATIN CAPITAL LETTER E + 0x46: [611,-1,525,21,491], // LATIN CAPITAL LETTER F + 0x47: [622,11,525,38,497], // LATIN CAPITAL LETTER G + 0x48: [612,-1,525,16,508], // LATIN CAPITAL LETTER H + 0x49: [611,-1,525,71,453], // LATIN CAPITAL LETTER I + 0x4A: [611,11,525,56,479], // LATIN CAPITAL LETTER J + 0x4B: [612,-1,525,18,496], // LATIN CAPITAL LETTER K + 0x4C: [612,1,525,25,489], // LATIN CAPITAL LETTER L + 0x4D: [612,0,525,11,513], // LATIN CAPITAL LETTER M + 0x4E: [612,1,525,20,504], // LATIN CAPITAL LETTER N + 0x4F: [621,11,525,56,468], // LATIN CAPITAL LETTER O + 0x50: [612,-1,525,18,481], // LATIN CAPITAL LETTER P + 0x51: [621,138,525,56,468], // LATIN CAPITAL LETTER Q + 0x52: [612,11,525,16,522], // LATIN CAPITAL LETTER R + 0x53: [622,12,525,51,472], // LATIN CAPITAL LETTER S + 0x54: [611,-1,525,26,499], // LATIN CAPITAL LETTER T + 0x55: [611,11,525,-4,528], // LATIN CAPITAL LETTER U + 0x56: [611,8,525,18,506], // LATIN CAPITAL LETTER V + 0x57: [612,8,525,11,513], // LATIN CAPITAL LETTER W + 0x58: [612,-1,525,27,496], // LATIN CAPITAL LETTER X + 0x59: [612,-1,525,19,505], // LATIN CAPITAL LETTER Y + 0x5A: [611,-1,525,47,482], // LATIN CAPITAL LETTER Z + 0x5B: [695,82,525,213,484], // LEFT SQUARE BRACKET + 0x5C: [694,83,525,58,466], // REVERSE SOLIDUS + 0x5D: [696,82,525,41,310], // RIGHT SQUARE BRACKET + 0x5E: [612,-459,525,95,428], // CIRCUMFLEX ACCENT + 0x5F: [-25,95,525,56,468], // LOW LINE + 0x60: [681,-357,525,176,350], // GRAVE ACCENT + 0x61: [439,6,525,48,525], // LATIN SMALL LETTER A + 0x62: [612,6,525,4,492], // LATIN SMALL LETTER B + 0x63: [441,6,525,66,466], // LATIN SMALL LETTER C + 0x64: [612,6,525,31,520], // LATIN SMALL LETTER D + 0x65: [440,6,525,48,464], // LATIN SMALL LETTER E + 0x66: [617,-1,525,34,437], // LATIN SMALL LETTER F + 0x67: [442,229,525,28,509], // LATIN SMALL LETTER G + 0x68: [612,-1,525,4,520], // LATIN SMALL LETTER H + 0x69: [612,-1,525,71,463], // LATIN SMALL LETTER I + 0x6A: [612,228,525,48,377], // LATIN SMALL LETTER J + 0x6B: [612,0,525,12,508], // LATIN SMALL LETTER K + 0x6C: [611,-1,525,50,475], // LATIN SMALL LETTER L + 0x6D: [437,0,525,-13,536], // LATIN SMALL LETTER M + 0x6E: [437,-1,525,4,520], // LATIN SMALL LETTER N + 0x6F: [440,6,525,52,472], // LATIN SMALL LETTER O + 0x70: [437,221,525,4,492], // LATIN SMALL LETTER P + 0x71: [438,222,525,34,546], // LATIN SMALL LETTER Q + 0x72: [437,0,525,24,487], // LATIN SMALL LETTER R + 0x73: [440,6,525,71,458], // LATIN SMALL LETTER S + 0x74: [555,6,525,25,448], // LATIN SMALL LETTER T + 0x75: [432,5,525,4,520], // LATIN SMALL LETTER U + 0x76: [432,5,525,24,500], // LATIN SMALL LETTER V + 0x77: [432,5,525,15,509], // LATIN SMALL LETTER W + 0x78: [432,-1,525,28,496], // LATIN SMALL LETTER X + 0x79: [432,228,525,25,500], // LATIN SMALL LETTER Y + 0x7A: [431,-1,525,33,476], // LATIN SMALL LETTER Z + 0x7B: [694,84,525,49,475], // LEFT CURLY BRACKET + 0x7C: [694,82,525,228,297], // VERTICAL LINE + 0x7D: [695,83,525,49,476], // RIGHT CURLY BRACKET + 0x7E: [611,-466,525,87,437], // TILDE + 0x7F: [612,-518,525,104,421] // ?? + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax["HTML-CSS"].fontDir + "/Typewriter/Regular/BasicLatin.js"); diff --git a/modules/MathJax/jax/output/HTML-CSS/fonts/TeX/Typewriter/Regular/CombDiacritMarks.js b/modules/MathJax/jax/output/HTML-CSS/fonts/TeX/Typewriter/Regular/CombDiacritMarks.js new file mode 100644 index 0000000..c061c98 --- /dev/null +++ b/modules/MathJax/jax/output/HTML-CSS/fonts/TeX/Typewriter/Regular/CombDiacritMarks.js @@ -0,0 +1,36 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/fonts/TeX/Typewriter/Regular/CombDiacritMarks.js + * + * Copyright (c) 2009-2010 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax['HTML-CSS'].FONTDATA.FONTS['MathJax_Typewriter'], + { + 0x300: [611,-485,0,-409,-195], // COMBINING GRAVE ACCENT + 0x301: [611,-485,0,-331,-117], // COMBINING ACUTE ACCENT + 0x302: [612,-459,0,-430,-97], // COMBINING CIRCUMFLEX ACCENT + 0x303: [611,-466,0,-438,-88], // COMBINING TILDE + 0x304: [578,-500,0,-453,-74], // COMBINING MACRON + 0x306: [612,-503,0,-446,-78], // COMBINING BREVE + 0x308: [612,-518,0,-421,-104], // COMBINING DIAERESIS + 0x30A: [619,-499,0,-344,-182], // COMBINING RING ABOVE + 0x30C: [577,-449,0,-428,-99] // COMBINING CARON + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax["HTML-CSS"].fontDir + "/Typewriter/Regular/CombDiacritMarks.js"); diff --git a/modules/MathJax/jax/output/HTML-CSS/fonts/TeX/Typewriter/Regular/Main.js b/modules/MathJax/jax/output/HTML-CSS/fonts/TeX/Typewriter/Regular/Main.js new file mode 100644 index 0000000..1a44593 --- /dev/null +++ b/modules/MathJax/jax/output/HTML-CSS/fonts/TeX/Typewriter/Regular/Main.js @@ -0,0 +1,36 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/fonts/TeX/Typewriter/Regular/Main.js + * + * Copyright (c) 2009-2010 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +MathJax.OutputJax['HTML-CSS'].FONTDATA.FONTS['MathJax_Typewriter'] = { + directory: 'Typewriter/Regular', + family: 'MathJax_Typewriter', + testString: "MathJax Typewriter", + Ranges: [ + [0x0,0x7F,"BasicLatin"], + [0x80,0xFFFF,"Other"], + [0x300,0x36F,"CombDiacritMarks"] + ] + +}; + +MathJax.Callback.Queue( + ["initFont",MathJax.OutputJax["HTML-CSS"],"MathJax_Typewriter"], + ["loadComplete",MathJax.Ajax,MathJax.OutputJax["HTML-CSS"].fontDir+"/Typewriter/Regular/Main.js"] +); diff --git a/modules/MathJax/jax/output/HTML-CSS/fonts/TeX/Typewriter/Regular/Other.js b/modules/MathJax/jax/output/HTML-CSS/fonts/TeX/Typewriter/Regular/Other.js new file mode 100644 index 0000000..8bb97c9 --- /dev/null +++ b/modules/MathJax/jax/output/HTML-CSS/fonts/TeX/Typewriter/Regular/Other.js @@ -0,0 +1,44 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/fonts/TeX/Typewriter/Regular/Other.js + * + * Copyright (c) 2009-2010 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax['HTML-CSS'].FONTDATA.FONTS['MathJax_Typewriter'], + { + 0xA0: [0,0,250,0,0], // NO-BREAK SPACE + 0x131: [432,-1,525,71,463], // LATIN SMALL LETTER DOTLESS I + 0x237: [432,228,525,48,377], // LATIN SMALL LETTER DOTLESS J + 0x393: [612,1,525,25,489], // GREEK CAPITAL LETTER GAMMA + 0x394: [623,0,525,35,489], // GREEK CAPITAL LETTER DELTA + 0x398: [621,11,525,56,468], // GREEK CAPITAL LETTER THETA + 0x39B: [623,-1,525,29,496], // GREEK CAPITAL LETTER LAMDA + 0x39E: [611,-1,525,32,492], // GREEK CAPITAL LETTER XI + 0x3A0: [611,-1,525,16,508], // GREEK CAPITAL LETTER PI + 0x3A3: [612,-1,525,40,485], // GREEK CAPITAL LETTER SIGMA + 0x3A5: [623,-1,525,38,487], // GREEK CAPITAL LETTER UPSILON + 0x3A6: [611,-1,525,41,483], // GREEK CAPITAL LETTER PHI + 0x3A8: [611,-1,525,36,487], // GREEK CAPITAL LETTER PSI + 0x3A9: [622,0,525,31,493], // GREEK CAPITAL LETTER OMEGA + 0x7E2: [611,-287,525,175,349], // ?? + 0x7E3: [681,-357,525,176,350], // ?? + 0x2032: [623,-334,525,211,313] // PRIME + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax["HTML-CSS"].fontDir + "/Typewriter/Regular/Other.js"); diff --git a/modules/MathJax/jax/output/HTML-CSS/fonts/TeX/WinChrome/Regular/Main.js b/modules/MathJax/jax/output/HTML-CSS/fonts/TeX/WinChrome/Regular/Main.js new file mode 100644 index 0000000..7e548bb --- /dev/null +++ b/modules/MathJax/jax/output/HTML-CSS/fonts/TeX/WinChrome/Regular/Main.js @@ -0,0 +1,44 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/fonts/TeX/WinChrome/Regular/Main.js + * + * Copyright (c) 2009-2010 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +MathJax.OutputJax['HTML-CSS'].FONTDATA.FONTS['MathJax_WinChrome'] = { + directory: 'WinChrome/Regular', + family: 'MathJax_WinChrome', + testString: "> T d "+String.fromCharCode(0x23A6)+" "+String.fromCharCode(0x2A00), + skew: { + 0x54: 0.0278, + 0xE2F0: 0.0319 + }, + 0x20: [0,0,250,0,0], // SPACE + 0x3E: [540,40,778,82,694], // GREATER-THAN SIGN + 0x54: [717,69,545,34,834], // LATIN CAPITAL LETTER T + 0x64: [694,11,511,100,567], // LATIN SMALL LETTER D + 0xA0: [0,0,250,0,0], // NO-BREAK SPACE + 0x22C3: [750,250,833,55,777], // N-ARY UNION + 0x23A6: [1155,644,667,0,347], // RIGHT SQUARE BRACKET LOWER CORNER + 0x2A00: [949,449,1511,56,1454], // N-ARY CIRCLED DOT OPERATOR + 0xE2F0: [720,69,644,38,947], // ?? + 0xE2F1: [587,85,894,95,797] // ?? +}; + +MathJax.Callback.Queue( + ["initFont",MathJax.OutputJax["HTML-CSS"],"MathJax_WinChrome"], + ["loadComplete",MathJax.Ajax,MathJax.OutputJax["HTML-CSS"].fontDir+"/WinChrome/Regular/Main.js"] +); diff --git a/modules/MathJax/jax/output/HTML-CSS/fonts/TeX/WinIE6/Regular/AMS.js b/modules/MathJax/jax/output/HTML-CSS/fonts/TeX/WinIE6/Regular/AMS.js new file mode 100644 index 0000000..fc57212 --- /dev/null +++ b/modules/MathJax/jax/output/HTML-CSS/fonts/TeX/WinIE6/Regular/AMS.js @@ -0,0 +1,56 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/fonts/TeX/WinIE6/Regular/AMS.js + * + * Copyright (c) 2009-2010 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax['HTML-CSS'].FONTDATA.FONTS['MathJax_WinIE6'], + { + 0xE2C0: [438,-63,500,57,417], // ?? + 0xE2C1: [438,-63,500,64,422], // ?? + 0xE2C2: [430,23,222,91,131], // ?? + 0xE2C3: [431,23,389,55,331], // ?? + 0xE2C4: [365,-132,778,55,719], // ?? + 0xE2C5: [753,175,778,83,694], // ?? + 0xE2C6: [753,175,778,82,694], // ?? + 0xE2C7: [708,209,778,82,693], // ?? + 0xE2C8: [708,209,778,82,694], // ?? + 0xE2CA: [694,-306,500,54,444], // ?? + 0xE2CB: [695,-306,500,55,444], // ?? + 0xE2CC: [367,23,500,54,444], // ?? + 0xE2CD: [366,22,500,55,445], // ?? + 0xE2CE: [694,195,889,0,860], // ?? + 0xE2CF: [694,195,889,0,860], // ?? + 0xE2D0: [689,0,778,55,722], // ?? + 0xE2D1: [689,0,778,55,722], // ?? + 0xE2D2: [575,20,722,84,637], // ?? + 0xE2D3: [575,20,722,84,637], // ?? + 0xE2D4: [539,41,778,83,694], // ?? + 0xE2D5: [576,20,722,84,638], // ?? + 0xE2D6: [576,20,722,84,638], // ?? + 0xE2D7: [539,41,778,83,694], // ?? + 0xE2D8: [716,132,667,56,612], // ?? + 0xE2D9: [471,82,667,24,643], // ?? + 0xE2DA: [471,82,667,23,643], // ?? + 0xE2DB: [601,101,778,15,762], // ?? + 0xE2DC: [695,111,944,49,896], // ?? + 0xE2DD: [367,-133,778,56,722] // ?? + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax["HTML-CSS"].fontDir + "/WinIE6/Regular/AMS.js"); diff --git a/modules/MathJax/jax/output/HTML-CSS/fonts/TeX/WinIE6/Regular/Bold.js b/modules/MathJax/jax/output/HTML-CSS/fonts/TeX/WinIE6/Regular/Bold.js new file mode 100644 index 0000000..fc40d96 --- /dev/null +++ b/modules/MathJax/jax/output/HTML-CSS/fonts/TeX/WinIE6/Regular/Bold.js @@ -0,0 +1,82 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/fonts/TeX/WinIE6/Regular/Bold.js + * + * Copyright (c) 2009-2010 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +MathJax.Hub.Insert( + MathJax.OutputJax['HTML-CSS'].FONTDATA.FONTS['MathJax_WinIE6'], + { + 0xE240: [519,18,1150,64,1085], // ?? + 0xE241: [694,193,575,13,562], // ?? + 0xE242: [519,18,1150,65,1085], // ?? + 0xE243: [694,194,575,13,562], // ?? + 0xE244: [519,18,1150,64,1085], // ?? + 0xE245: [767,267,575,13,562], // ?? + 0xE246: [724,195,1150,64,1084], // ?? + 0xE247: [724,193,1150,64,1086], // ?? + 0xE248: [695,224,1150,65,1085], // ?? + 0xE249: [694,224,1150,64,1085], // ?? + 0xE24A: [548,47,1150,64,1084], // ?? + 0xE24B: [548,46,1150,47,1102], // ?? + 0xE24C: [694,16,639,0,640], // ?? + 0xE24D: [710,17,628,60,657], // ?? + 0xE24E: [694,-1,639,64,574], // ?? + 0xE24F: [686,24,958,56,901], // ?? + 0xE250: [587,86,767,97,670], // ?? + 0xE251: [588,86,767,95,670], // ?? + 0xE252: [750,250,575,63,511], // ?? + 0xE253: [820,180,958,78,989], // ?? + 0xE254: [451,8,894,65,831], // ?? + 0xE255: [452,8,1150,65,1084], // ?? + 0xE256: [715,0,722,55,676], // ?? + 0xE257: [750,249,319,129,190], // ?? + 0xE258: [750,248,575,145,430], // ?? + 0xE259: [604,17,767,64,702], // ?? + 0xE25A: [604,17,767,64,702], // ?? + 0xE25B: [603,16,767,64,702], // ?? + 0xE25C: [604,16,767,64,702], // ?? + 0xE25D: [711,211,569,64,632], // ?? + 0xE25E: [391,-109,894,64,828], // ?? + 0xE25F: [524,-32,894,64,829], // ?? + 0xE260: [712,210,894,64,830], // ?? + 0xE261: [505,3,894,64,829], // ?? + 0xE262: [697,199,894,96,797], // ?? + 0xE263: [697,199,894,96,797], // ?? + 0xE264: [618,117,1150,64,1085], // ?? + 0xE265: [619,116,1150,64,1085], // ?? + 0xE266: [587,85,894,96,797], // ?? + 0xE267: [587,86,894,96,797], // ?? + 0xE268: [697,199,894,96,797], // ?? + 0xE269: [697,199,894,96,797], // ?? + 0xE26A: [632,132,894,64,828], // ?? + 0xE26B: [632,132,894,64,828], // ?? + 0xE26C: [693,-1,894,64,829], // ?? + 0xE26D: [711,-1,1022,68,953], // ?? + 0xE26E: [500,210,1022,68,953], // ?? + 0xE26F: [711,211,1150,65,1084], // ?? + 0xE270: [720,130,894,63,829], // ?? + 0xE271: [711,24,894,65,828], // ?? + 0xE272: [719,154,894,64,828], // ?? + 0xE273: [720,130,894,32,861], // ?? + 0xE274: [750,17,447,63,382], // ?? + 0xE275: [741,223,447,56,390], // ?? + 0xE276: [724,224,447,63,383] // ?? + } +); + +MathJax.Ajax.loadComplete(MathJax.OutputJax["HTML-CSS"].fontDir + "/WinIE6/Regular/Bold.js"); diff --git a/modules/MathJax/jax/output/HTML-CSS/fonts/TeX/WinIE6/Regular/Main.js b/modules/MathJax/jax/output/HTML-CSS/fonts/TeX/WinIE6/Regular/Main.js new file mode 100644 index 0000000..5799e68 --- /dev/null +++ b/modules/MathJax/jax/output/HTML-CSS/fonts/TeX/WinIE6/Regular/Main.js @@ -0,0 +1,112 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/fonts/TeX/WinIE6/Regular/Main.js + * + * Copyright (c) 2009-2010 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +MathJax.OutputJax['HTML-CSS'].FONTDATA.FONTS['MathJax_WinIE6'] = { + directory: 'WinIE6/Regular', + family: 'MathJax_WinIE6', + testString: String.fromCharCode(0xE247)+" "+String.fromCharCode(0xE257)+" "+String.fromCharCode(0xE2CF), + skew: { + 0xE20D: 0.0833, + 0xE24D: 0.0958 + }, + Ranges: [ + [0xE240,0xE27F,"Bold"], + [0xE2C0,0xE2DF,"AMS"] + ], + 0x20: [0,0,250,0,0], // SPACE + 0xA0: [0,0,250,0,0], // NO-BREAK SPACE + 0xE200: [511,12,1000,54,944], // ?? + 0xE201: [694,194,500,17,483], // ?? + 0xE202: [512,11,1000,55,945], // ?? + 0xE203: [694,194,500,17,483], // ?? + 0xE204: [511,11,1000,55,945], // ?? + 0xE205: [772,272,500,17,483], // ?? + 0xE206: [720,196,1000,29,944], // ?? + 0xE207: [720,195,1000,55,970], // ?? + 0xE208: [695,220,1000,55,970], // ?? + 0xE209: [695,220,1000,29,944], // ?? + 0xE20A: [525,25,1000,55,944], // ?? + 0xE20B: [525,25,1000,34,966], // ?? + 0xE20C: [694,22,556,0,556], // ?? + 0xE20D: [715,22,531,41,566], // ?? + 0xE20E: [694,0,556,55,500], // ?? + 0xE20F: [683,33,833,46,786], // ?? + 0xE210: [541,41,667,84,584], // ?? + 0xE211: [541,40,667,83,582], // ?? + 0xE212: [751,250,500,56,445], // ?? + 0xE213: [800,200,833,72,853], // ?? + 0xE214: [442,11,778,56,722], // ?? + 0xE215: [442,11,1000,55,944], // ?? + 0xE216: [694,0,722,55,666], // ?? + 0xE217: [750,250,278,119,159], // ?? + 0xE218: [750,250,500,132,367], // ?? + 0xE219: [598,22,667,55,611], // ?? + 0xE21A: [598,22,667,55,611], // ?? + 0xE21B: [598,22,667,55,611], // ?? + 0xE21C: [599,22,667,55,611], // ?? + 0xE21D: [716,216,417,55,472], // ?? + 0xE21E: [367,-133,778,55,722], // ?? + 0xE21F: [483,-55,778,55,722], // ?? + 0xE220: [716,215,778,55,722], // ?? + 0xE221: [464,-36,778,55,722], // ?? + 0xE222: [636,138,778,83,694], // ?? + 0xE223: [636,138,778,82,694], // ?? + 0xE224: [568,68,1000,56,944], // ?? + 0xE225: [567,67,1000,55,945], // ?? + 0xE226: [540,41,778,84,695], // ?? + 0xE227: [541,40,778,82,693], // ?? + 0xE228: [636,139,778,84,695], // ?? + 0xE229: [637,138,778,83,693], // ?? + 0xE22A: [583,83,778,56,722], // ?? + 0xE22B: [583,83,778,56,722], // ?? + 0xE22C: [668,0,778,55,723], // ?? + 0xE22D: [716,0,889,59,828], // ?? + 0xE22E: [500,215,889,59,828], // ?? + 0xE22F: [715,215,1000,56,944], // ?? + 0xE230: [727,131,778,55,723], // ?? + 0xE231: [716,33,778,55,723], // ?? + 0xE232: [727,163,778,55,723], // ?? + 0xE233: [726,131,778,28,750], // ?? + 0xE234: [751,22,389,54,333], // ?? + 0xE235: [734,223,389,65,324], // ?? + 0xE236: [723,223,389,54,334], // ?? + 0xE280: [0,1000,944,55,888], // ?? + 0xE281: [1,1000,1056,56,999], // ?? + 0xE282: [40,1160,1000,111,1020], // ?? + 0xE283: [21,621,333,145,188], // ?? + 0xE284: [21,621,556,145,410], // ?? + 0xE285: [0,1111,472,55,610], // ?? + 0xE286: [0,1111,472,55,610], // ?? + 0xE287: [0,600,667,112,555], // ?? + 0xE288: [0,600,667,112,555], // ?? + 0xE289: [1,601,667,312,355], // ?? + 0xE290: [0,1400,1278,56,1221], // ?? + 0xE291: [0,1400,1444,55,1388], // ?? + 0xE292: [40,1760,1000,111,1020], // ?? + 0xE295: [0,2222,556,55,944], // ?? + 0xE296: [0,2222,556,55,944], // ?? + 0xE2A2: [40,2361,1000,111,1020], // ?? + 0xE2B2: [40,2961,1000,111,1020] // ?? +}; + +MathJax.Callback.Queue( + ["initFont",MathJax.OutputJax["HTML-CSS"],"MathJax_WinIE6"], + ["loadComplete",MathJax.Ajax,MathJax.OutputJax["HTML-CSS"].fontDir+"/WinIE6/Regular/Main.js"] +); diff --git a/modules/MathJax/jax/output/HTML-CSS/fonts/TeX/fontdata.js b/modules/MathJax/jax/output/HTML-CSS/fonts/TeX/fontdata.js new file mode 100644 index 0000000..c822e05 --- /dev/null +++ b/modules/MathJax/jax/output/HTML-CSS/fonts/TeX/fontdata.js @@ -0,0 +1,1767 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/fonts/TeX/fontdata.js + * + * Initializes the HTML-CSS OutputJax to use the MathJax TeX fonts + * for displaying mathematics. + * + * --------------------------------------------------------------------- + * + * Copyright (c) 2009-2011 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +(function (HTMLCSS,MML,AJAX) { + var VERSION = "1.1.1"; + + var MAIN = "MathJax_Main", + BOLD = "MathJax_Main-bold", + ITALIC = "MathJax_Math-italic", + AMS = "MathJax_AMS", + SIZE1 = "MathJax_Size1", + SIZE2 = "MathJax_Size2", + SIZE3 = "MathJax_Size3", + SIZE4 = "MathJax_Size4"; + var H = "H", V = "V"; + + HTMLCSS.Augment({ + FONTDATA: { + version: VERSION, + + TeX_factor: 1, // TeX em's to font em's + baselineskip: 1.2, + lineH: .8, lineD: .2, + + hasStyleChar: true, // char 0xEFFD encodes font style + + FONTS: { + "MathJax_Main": "Main/Regular/Main.js", + "MathJax_Main-bold": "Main/Bold/Main.js", + "MathJax_Main-italic": "Main/Italic/Main.js", + "MathJax_Math-italic": "Math/Italic/Main.js", + "MathJax_Math-bold-italic": "Math/BoldItalic/Main.js", + "MathJax_Caligraphic": "Caligraphic/Regular/Main.js", + "MathJax_Size1": "Size1/Regular/Main.js", + "MathJax_Size2": "Size2/Regular/Main.js", + "MathJax_Size3": "Size3/Regular/Main.js", + "MathJax_Size4": "Size4/Regular/Main.js", + "MathJax_AMS": "AMS/Regular/Main.js", + "MathJax_Fraktur": "Fraktur/Regular/Main.js", + "MathJax_Fraktur-bold": "Fraktur/Bold/Main.js", + "MathJax_SansSerif": "SansSerif/Regular/Main.js", + "MathJax_SansSerif-bold": "SansSerif/Bold/Main.js", + "MathJax_SansSerif-italic": "SansSerif/Italic/Main.js", + "MathJax_Script": "Script/Regular/Main.js", + "MathJax_Typewriter": "Typewriter/Regular/Main.js" + }, + + VARIANT: { + "normal": {fonts:[MAIN,SIZE1,AMS], + offsetG: 0x03B1, variantG: "italic", + remap: {0x391:0x41, 0x392:0x42, 0x395:0x45, 0x396:0x5A, 0x397:0x48, + 0x399:0x49, 0x39A:0x4B, 0x39C:0x4D, 0x39D:0x4E, 0x39F:0x4F, + 0x3A1:0x50, 0x3A4:0x54, 0x3A7:0x58}}, + "bold": {fonts:[BOLD,SIZE1,AMS], bold:true, + offsetG: 0x03B1, variantG: "bold-italic", + remap: {0x391:0x41, 0x392:0x42, 0x395:0x45, 0x396:0x5A, 0x397:0x48, + 0x399:0x49, 0x39A:0x4B, 0x39C:0x4D, 0x39D:0x4E, 0x39F:0x4F, + 0x3A1:0x50, 0x3A4:0x54, 0x3A7:0x58}}, + "italic": {fonts:[ITALIC,"MathJax_Main-italic",MAIN,SIZE1,AMS], italic:true, + remap: {0x391:0x41, 0x392:0x42, 0x395:0x45, 0x396:0x5A, 0x397:0x48, + 0x399:0x49, 0x39A:0x4B, 0x39C:0x4D, 0x39D:0x4E, 0x39F:0x4F, + 0x3A1:0x50, 0x3A4:0x54, 0x3A7:0x58}}, + "bold-italic": {fonts:["MathJax_Math-bold-italic",BOLD,SIZE1,AMS], bold:true, italic:true, + remap: {0x391:0x41, 0x392:0x42, 0x395:0x45, 0x396:0x5A, 0x397:0x48, + 0x399:0x49, 0x39A:0x4B, 0x39C:0x4D, 0x39D:0x4E, 0x39F:0x4F, + 0x3A1:0x50, 0x3A4:0x54, 0x3A7:0x58}}, + "double-struck": {fonts:[AMS, MAIN]}, + "fraktur": {fonts:["MathJax_Fraktur",MAIN,SIZE1,AMS]}, + "bold-fraktur": {fonts:["MathJax_Fraktur-bold",BOLD,SIZE1,AMS], bold:true}, + "script": {fonts:["MathJax_Script",MAIN,SIZE1,AMS]}, + "bold-script": {fonts:["MathJax_Script",BOLD,SIZE1,AMS], bold:true}, + "sans-serif": {fonts:["MathJax_SansSerif",MAIN,SIZE1,AMS]}, + "bold-sans-serif": {fonts:["MathJax_SansSerif-bold",BOLD,SIZE1,AMS], bold:true}, + "sans-serif-italic": {fonts:["MathJax_SansSerif-italic","MathJax_Main-italic",SIZE1,AMS], italic:true}, + "sans-serif-bold-italic": {fonts:["MathJax_SansSerif-italic","MathJax_Main-italic",SIZE1,AMS], bold:true, italic:true}, + "monospace": {fonts:["MathJax_Typewriter",MAIN,SIZE1,AMS]}, + "-tex-caligraphic": {fonts:["MathJax_Caligraphic",MAIN], offsetA: 0x41, variantA: "italic"}, + "-tex-oldstyle": {fonts:["MathJax_Caligraphic",MAIN]}, + "-largeOp": {fonts:[SIZE2,SIZE1,MAIN]}, + "-smallOp": {fonts:[SIZE1,MAIN]} + }, + + RANGES: [ + {name: "alpha", low: 0x61, high: 0x7A, offset: "A", add: 32}, + {name: "number", low: 0x30, high: 0x39, offset: "N"}, + {name: "greek", low: 0x03B1, high: 0x03F6, offset: "G"} + ], + + RULECHAR: 0x2212, + + REMAP: { + 0x203E: 0x2C9, // overline + 0x20D0: 0x21BC, 0x20D1: 0x21C0, // combining left and right harpoons + 0x20D6: 0x2190, 0x20E1: 0x2194, // combining left arrow and lef-right arrow + 0x20EC: 0x21C1, 0x20ED: 0x21BD, // combining low right and left harpoons + 0x20EE: 0x2190, 0x20EF: 0x2192, // combining low left and right arrows + 0x20F0: 0x2A, // combining asterisk + 0xFE37: 0x23DE, 0xFE38: 0x23DF, // OverBrace, UnderBrace + + 0xB7: 0x22C5, // center dot + 0x2B9: 0x2032, // prime, + 0x3D2: 0x3A5, // Upsilon + 0x2015: 0x2014, 0x2017: 0x5F, // horizontal bars + 0x2022: 0x2219, 0x2044: 0x2F, // bullet, fraction slash + 0x2305: 0x22BC, 0x2306: 0x2A5E, // barwedge, doublebarwedge + 0x25AA: 0x25A0, 0x25B4: 0x25B2, // blacksquare, blacktriangle + 0x25B5: 0x25B3, 0x25BE: 0x25BC, // triangle, blacktriangledown + 0x25BF: 0x25BD, 0x25C2: 0x25C0, // triangledown, blacktriangleleft + 0x2329: 0x27E8, 0x232A: 0x27E9, // langle, rangle + 0x3008: 0x27E8, 0x3009: 0x27E9, // langle, rangle + 0x2758: 0x2223, // VerticalSeparator + 0x2A2F: 0xD7 // cross product + }, + + PLANE1MAP: [ + [0x1D400,0x1D419, 0x41, MML.VARIANT.BOLD], + [0x1D41A,0x1D433, 0x61, MML.VARIANT.BOLD], + [0x1D434,0x1D44D, 0x41, MML.VARIANT.ITALIC], + [0x1D44E,0x1D467, 0x61, MML.VARIANT.ITALIC], + [0x1D468,0x1D481, 0x41, MML.VARIANT.BOLDITALIC], + [0x1D482,0x1D49B, 0x61, MML.VARIANT.BOLDITALIC], + [0x1D49C,0x1D4B5, 0x41, MML.VARIANT.SCRIPT], +// [0x1D4B6,0x1D4CF, 0x61, MML.VARIANT.SCRIPT], +// [0x1D4D0,0x1D4E9, 0x41, MML.VARIANT.BOLDSCRIPT], +// [0x1D4EA,0x1D503, 0x61, MML.VARIANT.BOLDSCRIPT], + [0x1D504,0x1D51D, 0x41, MML.VARIANT.FRAKTUR], + [0x1D51E,0x1D537, 0x61, MML.VARIANT.FRAKTUR], + [0x1D538,0x1D551, 0x41, MML.VARIANT.DOUBLESTRUCK], +// [0x1D552,0x1D56B, 0x61, MML.VARIANT.DOUBLESTRUCK], + [0x1D56C,0x1D585, 0x41, MML.VARIANT.BOLDFRAKTUR], + [0x1D586,0x1D59F, 0x61, MML.VARIANT.BOLDFRAKTUR], + [0x1D5A0,0x1D5B9, 0x41, MML.VARIANT.SANSSERIF], + [0x1D5BA,0x1D5D3, 0x61, MML.VARIANT.SANSSERIF], + [0x1D5D4,0x1D5ED, 0x41, MML.VARIANT.BOLDSANSSERIF], + [0x1D5EE,0x1D607, 0x61, MML.VARIANT.BOLDSANSSERIF], + [0x1D608,0x1D621, 0x41, MML.VARIANT.SANSSERIFITALIC], + [0x1D622,0x1D63B, 0x61, MML.VARIANT.SANSSERIFITALIC], +// [0x1D63C,0x1D655, 0x41, MML.VARIANT.SANSSERIFBOLDITALIC], +// [0x1D656,0x1D66F, 0x61, MML.VARIANT.SANSSERIFBOLDITALIC], + [0x1D670,0x1D689, 0x41, MML.VARIANT.MONOSPACE], + [0x1D68A,0x1D6A3, 0x61, MML.VARIANT.MONOSPACE], + + [0x1D6A8,0x1D6C1, 0x391, MML.VARIANT.BOLD], +// [0x1D6C2,0x1D6E1, 0x3B1, MML.VARIANT.BOLD], + [0x1D6E2,0x1D6FA, 0x391, MML.VARIANT.ITALIC], + [0x1D6FC,0x1D71B, 0x3B1, MML.VARIANT.ITALIC], + [0x1D71C,0x1D734, 0x391, MML.VARIANT.BOLDITALIC], + [0x1D736,0x1D755, 0x3B1, MML.VARIANT.BOLDITALIC], + [0x1D756,0x1D76E, 0x391, MML.VARIANT.BOLDSANSSERIF], +// [0x1D770,0x1D78F, 0x3B1, MML.VARIANT.BOLDSANSSERIF], + [0x1D790,0x1D7A8, 0x391, MML.VARIANT.SANSSERIFBOLDITALIC], +// [0x1D7AA,0x1D7C9, 0x3B1, MML.VARIANT.SANSSERIFBOLDITALIC], + + [0x1D7CE,0x1D7D7, 0x30, MML.VARIANT.BOLD], +// [0x1D7D8,0x1D7E1, 0x30, MML.VARIANT.DOUBLESTRUCK], + [0x1D7E2,0x1D7EB, 0x30, MML.VARIANT.SANSSERIF], + [0x1D7EC,0x1D7F5, 0x30, MML.VARIANT.BOLDSANSSERIF], + [0x1D7F6,0x1D7FF, 0x30, MML.VARIANT.MONOSPACE] + ], + + REMAPGREEK: { + 0x391: 0x41, 0x392: 0x42, 0x395: 0x45, 0x396: 0x5A, + 0x397: 0x48, 0x399: 0x49, 0x39A: 0x4B, 0x39C: 0x4D, + 0x39D: 0x4E, 0x39F: 0x4F, 0x3A1: 0x50, 0x3A2: 0x398, + 0x3A4: 0x54, 0x3A7: 0x58, 0x3AA: 0x2207, + 0x3CA: 0x2202, 0x3CB: 0x3F5, 0x3CC: 0x3D1, 0x3CD: 0x3F0, + 0x3CE: 0x3D5, 0x3CF: 0x3F1, 0x3D0: 0x3D6 + }, + + RemapPlane1: function (n,variant) { + for (var i = 0, m = this.PLANE1MAP.length; i < m; i++) { + if (n < this.PLANE1MAP[i][0]) break; + if (n <= this.PLANE1MAP[i][1]) { + n = n - this.PLANE1MAP[i][0] + this.PLANE1MAP[i][2]; + if (this.REMAPGREEK[n]) {n = this.REMAPGREEK[n]} + variant = this.VARIANT[this.PLANE1MAP[i][3]]; + break; + } + } + return {n: n, variant: variant}; + }, + + DELIMITERS: { + 0x0028: // ( + { + dir: V, HW: [[1,MAIN],[1.2,SIZE1],[1.8,SIZE2],[2.4,SIZE3],[3.0,SIZE4]], + stretch: {top: [0x239B,SIZE4], ext: [0x239C,SIZE4], bot: [0x239D,SIZE4]} + }, + 0x0029: // ) + { + dir: V, HW: [[1,MAIN],[1.2,SIZE1],[1.8,SIZE2],[2.4,SIZE3],[3.0,SIZE4]], + stretch: {top:[0x239E,SIZE4], ext:[0x239F,SIZE4], bot:[0x23A0,SIZE4]} + }, + 0x002F: // / + { + dir: V, HW: [[1,MAIN],[1.2,SIZE1],[1.8,SIZE2],[2.4,SIZE3],[3.0,SIZE4]] + }, + 0x005B: // [ + { + dir: V, HW: [[1,MAIN],[1.2,SIZE1],[1.8,SIZE2],[2.4,SIZE3],[3.0,SIZE4]], + stretch: {top:[0x23A1,SIZE4], ext:[0x23A2,SIZE4], bot:[0x23A3,SIZE4]} + }, + 0x005C: // \ + { + dir: V, HW: [[1,MAIN],[1.2,SIZE1],[1.8,SIZE2],[2.4,SIZE3],[3.0,SIZE4]] + }, + 0x005D: // ] + { + dir: V, HW: [[1,MAIN],[1.2,SIZE1],[1.8,SIZE2],[2.4,SIZE3],[3.0,SIZE4]], + stretch: {top:[0x23A4,SIZE4], ext:[0x23A5,SIZE4], bot:[0x23A6,SIZE4]} + }, + 0x007B: // { + { + dir: V, HW: [[1,MAIN],[1.2,SIZE1],[1.8,SIZE2],[2.4,SIZE3],[3.0,SIZE4]], + stretch: {top:[0x23A7,SIZE4], mid:[0x23A8,SIZE4], bot:[0x23A9,SIZE4], ext:[0x23AA,SIZE4]} + }, + 0x007C: // | + { + dir: V, HW: [[1,MAIN]], stretch: {ext:[0x2223,MAIN]} + }, + 0x007D: // } + { + dir: V, HW: [[1,MAIN],[1.2,SIZE1],[1.8,SIZE2],[2.4,SIZE3],[3.0,SIZE4]], + stretch: {top: [0x23AB,SIZE4], mid:[0x23AC,SIZE4], bot: [0x23AD,SIZE4], ext: [0x23AA,SIZE4]} + }, + 0x02C6: // wide hat + { + dir: H, HW: [[.267+.05,MAIN],[.567+.05,SIZE1],[1.005+.05,SIZE2],[1.447+.1,SIZE3],[1.909+.1,SIZE4]] + }, + 0x02DC: // wide tilde + { + dir: H, HW: [[.333,MAIN],[.555+.05,SIZE1],[1+.05,SIZE2],[1.443+.1,SIZE3],[1.887+.1,SIZE4]] + }, + 0x2016: // vertical arrow extension + { + dir: V, HW: [[.602,SIZE1],[1,MAIN,null,0x2225]], stretch: {ext:[0x2225,MAIN]} + }, + 0x2190: // left arrow + { + dir: H, HW: [[1,MAIN]], stretch: {left:[0x2190,MAIN],rep:[0x2212,MAIN]} + }, + 0x2191: // \uparrow + { + dir: V, HW: [[.888,MAIN]], stretch: {top:[0x2191,SIZE1], ext:[0x23D0,SIZE1]} + }, + 0x2192: // right arrow + { + dir: H, HW: [[1,MAIN]], stretch: {rep:[0x2212,MAIN], right:[0x2192,MAIN]} + }, + 0x2193: // \downarrow + { + dir: V, HW: [[.888,MAIN]], stretch: {ext:[0x23D0,SIZE1], bot:[0x2193,SIZE1]} + }, + 0x2194: // left-right arrow + { + dir: H, HW: [[1,MAIN]], + stretch: {left:[0x2190,MAIN],rep:[0x2212,MAIN], right:[0x2192,MAIN]} + }, + 0x2195: // \updownarrow + { + dir: V, HW: [[1.044,MAIN]], + stretch: {top:[0x2191,SIZE1], ext:[0x23D0,SIZE1], bot:[0x2193,SIZE1]} + }, + 0x21D0: // left double arrow + { + dir: H, HW: [[1,MAIN]], stretch: {left:[0x21D0,MAIN],rep:[0x3D,MAIN]} + }, + 0x21D1: // \Uparrow + { + dir: V, HW: [[.888,MAIN]], stretch: {top:[0x21D1,SIZE1], ext:[0x2016,SIZE1]} + }, + 0x21D2: // right double arrow + { + dir: H, HW: [[1,MAIN]], stretch: {rep:[0x3D,MAIN], right:[0x21D2,MAIN]} + }, + 0x21D3: // \Downarrow + { + dir: V, HW: [[.888,MAIN]], stretch: {ext:[0x2016,SIZE1], bot:[0x21D3,SIZE1]} + }, + 0x21D4: // left-right double arrow + { + dir: H, HW: [[1,MAIN]], + stretch: {left:[0x21D0,MAIN],rep:[0x3D,MAIN], right:[0x21D2,MAIN]} + }, + 0x21D5: // \Updownarrow + { + dir: V, HW: [[1.044,MAIN]], + stretch: {top:[0x21D1,SIZE1], ext:[0x2016,SIZE1], bot:[0x21D3,SIZE1]} + }, + 0x2212: // horizontal line + { + dir: H, HW: [[.611,MAIN]], stretch: {rep:[0x2212,MAIN]} + }, + 0x221A: // \surd + { + dir: V, HW: [[1,MAIN],[1.2,SIZE1],[1.8,SIZE2],[2.4,SIZE3],[3,SIZE4]], + stretch: {top:[0xE001,SIZE4], ext:[0xE000,SIZE4], bot:[0x23B7,SIZE4], fullExtenders:true} + }, + 0x2223: // \vert + { + dir: V, HW: [[1,MAIN]], stretch: {ext:[0x2223,MAIN]} + }, + 0x2225: // \Vert + { + dir: V, HW: [[1,MAIN]], stretch: {ext:[0x2225,MAIN]} + }, + 0x2308: // \lceil + { + dir: V, HW: [[1,MAIN],[1.2,SIZE1],[1.8,SIZE2],[2.4,SIZE3],[3.0,SIZE4]], + stretch: {top:[0x23A1,SIZE4], ext:[0x23A2,SIZE4]} + }, + 0x2309: // \rceil + { + dir: V, HW: [[1,MAIN],[1.2,SIZE1],[1.8,SIZE2],[2.4,SIZE3],[3.0,SIZE4]], + stretch: {top:[0x23A4,SIZE4], ext:[0x23A5,SIZE4]} + }, + 0x230A: // \lfloor + { + dir: V, HW: [[1,MAIN],[1.2,SIZE1],[1.8,SIZE2],[2.4,SIZE3],[3.0,SIZE4]], + stretch: {ext:[0x23A2,SIZE4], bot:[0x23A3,SIZE4]} + }, + 0x230B: // \rfloor + { + dir: V, HW: [[1,MAIN],[1.2,SIZE1],[1.8,SIZE2],[2.4,SIZE3],[3.0,SIZE4]], + stretch: {ext:[0x23A5,SIZE4], bot:[0x23A6,SIZE4]} + }, + 0x23AA: // \bracevert + { + dir: V, HW: [[.32,SIZE4]], + stretch: {top:[0x23AA,SIZE4], ext:[0x23AA,SIZE4], bot:[0x23AA,SIZE4]} + }, + 0x23B0: // \lmoustache + { + dir: V, HW: [[.989,MAIN]], + stretch: {top:[0x23A7,SIZE4], ext:[0x23AA,SIZE4], bot:[0x23AD,SIZE4]} + }, + 0x23B1: // \rmoustache + { + dir: V, HW: [[.989,MAIN]], + stretch: {top:[0x23AB,SIZE4], ext:[0x23AA,SIZE4], bot:[0x23A9,SIZE4]} + }, + 0x23D0: // vertical line extension + { + dir: V, HW: [[.602,SIZE1],[1,MAIN,null,0x2223]], stretch: {ext:[0x2223,MAIN]} + }, + 0x23DE: // horizontal brace down + { + dir: H, HW: [], + stretch: {left:[0xE150,SIZE4], mid:[[0xE153,0xE152],SIZE4], right:[0xE151,SIZE4], rep:[0xE154,SIZE4]} + }, + 0x23DF: // horizontal brace up + { + dir: H, HW: [], + stretch: {left:[0xE152,SIZE4], mid:[[0xE151,0xE150],SIZE4], right:[0xE153,SIZE4], rep:[0xE154,SIZE4]} + }, + 0x27E8: // \langle + { + dir: V, HW: [[1,MAIN],[1.2,SIZE1],[1.8,SIZE2],[2.4,SIZE3],[3.0,SIZE4]] + }, + 0x27E9: // \rangle + { + dir: V, HW: [[1,MAIN],[1.2,SIZE1],[1.8,SIZE2],[2.4,SIZE3],[3.0,SIZE4]] + }, + 0x27EE: // \lgroup + { + dir: V, HW: [[.989,MAIN]], + stretch: {top:[0x23A7,SIZE4], ext:[0x23AA,SIZE4], bot:[0x23A9,SIZE4]} + }, + 0x27EF: // \rgroup + { + dir: V, HW: [[.989,MAIN]], + stretch: {top:[0x23AB,SIZE4], ext:[0x23AA,SIZE4], bot:[0x23AD,SIZE4]} + }, + 0x002D: {alias: 0x2212, dir:H}, // minus + 0x005E: {alias: 0x02C6, dir:H}, // wide hat + 0x005F: {alias: 0x2212, dir:H}, // low line + 0x007E: {alias: 0x02DC, dir:H}, // wide tilde + 0x00AF: {alias: 0x2212, dir:H}, // over line + 0x0332: {alias: 0x2212, dir:H}, // combining low line + 0x2015: {alias: 0x2212, dir:H}, // horizontal line + 0x2017: {alias: 0x2212, dir:H}, // horizontal line + 0x203E: {alias: 0x2212, dir:H}, // over line + 0x2329: {alias: 0x27E8, dir:V}, // langle + 0x232A: {alias: 0x27E9, dir:V}, // rangle + 0x23AF: {alias: 0x2212, dir:H}, // horizontal line extension + 0x2500: {alias: 0x2212, dir:H}, // horizontal line + 0x2758: {alias: 0x2223, dir:V}, // vertical separator + 0x3008: {alias: 0x27E8, dir:V}, // langle + 0x3009: {alias: 0x27E9, dir:V}, // rangle + 0xFE37: {alias: 0x23DE, dir:H}, // horizontal brace down + 0xFE38: {alias: 0x23DF, dir:H} // horizontal brace up + } + } + }); + + // + // Handle error with reversed glyphs for \bigcap and \bigcup in version 1 of fonts + // + HTMLCSS.Font.oldLoadComplete = HTMLCSS.Font.loadComplete; + HTMLCSS.Font.loadComplete = function (font,n,done,status) { + if (n != null) {this.oldLoadComplete(font,n,done,status)} + if (font.family === SIZE1 || font.family === SIZE2) { + if (font.version === 1) { + HTMLCSS.FONTDATA.VARIANT["-largeOp"].remap = {0x22C2: 0x22C3, 0x22C3: 0x22C2}; + HTMLCSS.FONTDATA.VARIANT["-smallOp"].remap = {0x22C2: 0x22C3, 0x22C3: 0x22C2}; + } + } + }; + + MathJax.Hub.Register.StartupHook("TeX Jax Ready", function () { + var TEX = MathJax.InputJax.TeX; + TEX.Definitions.mathchar0mi.ell = ['2113',{mathvariant: MML.VARIANT.NORMAL}]; + TEX.Definitions.mathchar0mi.hbar = ['210F',{mathvariant: MML.VARIANT.NORMAL}]; + TEX.Definitions.mathchar0mi.S = ['00A7',{mathvariant: MML.VARIANT.SCRIPT}]; + if (MathJax.Hub.Browser.isOpera) { + TEX.Definitions.macros.not = ['Macro','\\mathrel{\\rlap{\\hphantom{\\mathrel{\\subset}}\\notChar}}']; + } else { + TEX.Definitions.mathchar0mo.notChar = ['002F',{mathvariant: MML.VARIANT.ITALIC}]; + TEX.Definitions.macros.not = ['Macro','\\mathrel{\\rlap{\\notChar}}']; + } + }); + + HTMLCSS.FONTDATA.FONTS['MathJax_Caligraphic'] = { + directory: 'Caligraphic/Regular', + family: 'MathJax_Caligraphic', + testString: "MATHJAX CALIGRAPHIC", + skew: { + 0x41: 0.194, + 0x42: 0.139, + 0x43: 0.139, + 0x44: 0.0833, + 0x45: 0.111, + 0x46: 0.111, + 0x47: 0.111, + 0x48: 0.111, + 0x49: 0.0278, + 0x4A: 0.167, + 0x4B: 0.0556, + 0x4C: 0.139, + 0x4D: 0.139, + 0x4E: 0.0833, + 0x4F: 0.111, + 0x50: 0.0833, + 0x51: 0.111, + 0x52: 0.0833, + 0x53: 0.139, + 0x54: 0.0278, + 0x55: 0.0833, + 0x56: 0.0278, + 0x57: 0.0833, + 0x58: 0.139, + 0x59: 0.0833, + 0x5A: 0.139 + }, + 0x20: [0,0,250,0,0], // SPACE + 0x30: [452,22,500,39,460], // DIGIT ZERO + 0x31: [454,0,500,86,426], // DIGIT ONE + 0x32: [453,0,500,44,449], // DIGIT TWO + 0x33: [452,216,500,41,456], // DIGIT THREE + 0x34: [464,194,500,27,471], // DIGIT FOUR + 0x35: [453,217,500,50,448], // DIGIT FIVE + 0x36: [666,22,500,42,456], // DIGIT SIX + 0x37: [463,216,500,54,485], // DIGIT SEVEN + 0x38: [666,21,500,43,457], // DIGIT EIGHT + 0x39: [453,216,500,42,457], // DIGIT NINE + 0x41: [728,50,798,30,819], // LATIN CAPITAL LETTER A + 0x42: [705,22,657,31,664], // LATIN CAPITAL LETTER B + 0x43: [705,25,527,12,533], // LATIN CAPITAL LETTER C + 0x44: [684,1,771,19,767], // LATIN CAPITAL LETTER D + 0x45: [706,22,528,30,565], // LATIN CAPITAL LETTER E + 0x46: [683,32,719,18,829], // LATIN CAPITAL LETTER F + 0x47: [704,119,595,43,599], // LATIN CAPITAL LETTER G + 0x48: [683,48,845,18,803], // LATIN CAPITAL LETTER H + 0x49: [683,1,545,-31,642], // LATIN CAPITAL LETTER I + 0x4A: [683,119,678,47,839], // LATIN CAPITAL LETTER J + 0x4B: [705,23,762,32,733], // LATIN CAPITAL LETTER K + 0x4C: [706,22,690,32,656], // LATIN CAPITAL LETTER L + 0x4D: [705,50,1201,28,1137], // LATIN CAPITAL LETTER M + 0x4E: [790,50,820,-27,979], // LATIN CAPITAL LETTER N + 0x4F: [705,22,796,58,777], // LATIN CAPITAL LETTER O + 0x50: [684,57,696,19,733], // LATIN CAPITAL LETTER P + 0x51: [706,131,817,114,787], // LATIN CAPITAL LETTER Q + 0x52: [683,22,848,19,837], // LATIN CAPITAL LETTER R + 0x53: [705,23,606,17,642], // LATIN CAPITAL LETTER S + 0x54: [717,69,545,34,834], // LATIN CAPITAL LETTER T + 0x55: [684,28,626,-17,687], // LATIN CAPITAL LETTER U + 0x56: [683,52,613,25,658], // LATIN CAPITAL LETTER V + 0x57: [683,53,988,25,1034], // LATIN CAPITAL LETTER W + 0x58: [684,1,713,52,807], // LATIN CAPITAL LETTER X + 0x59: [683,143,668,31,714], // LATIN CAPITAL LETTER Y + 0x5A: [683,0,725,37,767], // LATIN CAPITAL LETTER Z + 0xA0: [0,0,250,0,0] // NO-BREAK SPACE + }; + + HTMLCSS.FONTDATA.FONTS['MathJax_Main-bold'] = { + directory: 'Main/Bold', + family: 'MathJax_Main', + weight: 'bold', + testString: "MathJax Main", + skew: { + 0x131: 0.0319, + 0x237: 0.0958, + 0x210F: -0.0319, + 0x2113: 0.128, + 0x2202: 0.0958 + }, + Ranges: [ + [0xA0,0xFF,"Latin1Supplement"], + [0x100,0x17F,"LatinExtendedA"], + [0x180,0x24F,"LatinExtendedB"], + [0x2B0,0x2FF,"SpacingModLetters"], + [0x300,0x36F,"CombDiacritMarks"], + [0x2000,0x206F,"GeneralPunctuation"], + [0x20D0,0x20FF,"CombDiactForSymbols"], + [0x2100,0x214F,"LetterlikeSymbols"], + [0x2190,0x21FF,"Arrows"], + [0x2200,0x22FF,"MathOperators"], + [0x2300,0x23FF,"MiscTechnical"], + [0x25A0,0x25FF,"GeometricShapes"], + [0x2600,0x26FF,"MiscSymbols"], + [0x27C0,0x27EF,"MiscMathSymbolsA"], + [0x27F0,0x27FF,"SupplementalArrowsA"], + [0x2A00,0x2AFF,"SuppMathOperators"] + ], + 0x20: [0,0,250,0,0], // SPACE + 0x21: [705,-1,350,89,260], // EXCLAMATION MARK + 0x22: [694,-329,603,38,492], // QUOTATION MARK + 0x23: [694,193,958,64,893], // NUMBER SIGN + 0x24: [750,56,575,64,510], // DOLLAR SIGN + 0x25: [750,56,958,65,893], // PERCENT SIGN + 0x26: [705,11,894,48,836], // AMPERSAND + 0x27: [694,-329,319,74,261], // APOSTROPHE + 0x28: [751,250,447,103,382], // LEFT PARENTHESIS + 0x29: [750,249,447,64,343], // RIGHT PARENTHESIS + 0x2A: [750,-306,575,73,501], // ASTERISK + 0x2B: [633,131,894,64,829], // PLUS SIGN + 0x2C: [171,194,319,74,258], // COMMA + 0x2D: [278,-166,383,13,318], // HYPHEN-MINUS + 0x2E: [171,-1,319,74,245], // FULL STOP + 0x2F: [750,250,575,63,511], // SOLIDUS + 0x30: [655,10,575,45,529], // DIGIT ZERO + 0x31: [655,0,575,80,494], // DIGIT ONE + 0x32: [654,0,575,57,517], // DIGIT TWO + 0x33: [655,12,575,47,526], // DIGIT THREE + 0x34: [657,0,575,32,542], // DIGIT FOUR + 0x35: [655,11,575,57,517], // DIGIT FIVE + 0x36: [655,11,575,48,527], // DIGIT SIX + 0x37: [676,11,575,64,559], // DIGIT SEVEN + 0x38: [654,11,575,48,526], // DIGIT EIGHT + 0x39: [654,11,575,48,526], // DIGIT NINE + 0x3A: [444,-1,319,74,245], // COLON + 0x3B: [444,194,319,74,248], // SEMICOLON + 0x3C: [587,85,894,96,797], // LESS-THAN SIGN + 0x3D: [393,-109,894,64,829], // EQUALS SIGN + 0x3E: [587,85,894,95,797], // GREATER-THAN SIGN + 0x3F: [700,-1,543,65,478], // QUESTION MARK + 0x40: [700,6,894,64,829], // COMMERCIAL AT + 0x41: [698,0,869,40,828], // LATIN CAPITAL LETTER A + 0x42: [687,0,818,39,753], // LATIN CAPITAL LETTER B + 0x43: [697,11,831,64,767], // LATIN CAPITAL LETTER C + 0x44: [687,0,882,39,817], // LATIN CAPITAL LETTER D + 0x45: [681,0,756,38,723], // LATIN CAPITAL LETTER E + 0x46: [680,0,724,39,675], // LATIN CAPITAL LETTER F + 0x47: [697,10,904,64,845], // LATIN CAPITAL LETTER G + 0x48: [686,0,900,39,860], // LATIN CAPITAL LETTER H + 0x49: [686,0,436,25,410], // LATIN CAPITAL LETTER I + 0x4A: [686,11,594,8,527], // LATIN CAPITAL LETTER J + 0x4B: [686,0,901,39,852], // LATIN CAPITAL LETTER K + 0x4C: [686,0,692,39,643], // LATIN CAPITAL LETTER L + 0x4D: [687,0,1092,39,1052], // LATIN CAPITAL LETTER M + 0x4E: [687,1,900,39,861], // LATIN CAPITAL LETTER N + 0x4F: [696,10,864,64,798], // LATIN CAPITAL LETTER O + 0x50: [686,0,786,39,721], // LATIN CAPITAL LETTER P + 0x51: [697,193,864,64,806], // LATIN CAPITAL LETTER Q + 0x52: [687,11,862,39,858], // LATIN CAPITAL LETTER R + 0x53: [697,11,639,63,575], // LATIN CAPITAL LETTER S + 0x54: [675,0,800,41,758], // LATIN CAPITAL LETTER T + 0x55: [686,12,885,39,845], // LATIN CAPITAL LETTER U + 0x56: [686,7,869,25,843], // LATIN CAPITAL LETTER V + 0x57: [686,8,1189,24,1164], // LATIN CAPITAL LETTER W + 0x58: [686,0,869,33,835], // LATIN CAPITAL LETTER X + 0x59: [686,0,869,19,849], // LATIN CAPITAL LETTER Y + 0x5A: [687,0,703,64,645], // LATIN CAPITAL LETTER Z + 0x5B: [750,250,319,128,293], // LEFT SQUARE BRACKET + 0x5C: [750,250,575,63,511], // REVERSE SOLIDUS + 0x5D: [750,250,319,25,190], // RIGHT SQUARE BRACKET + 0x5E: [694,-520,575,126,448], // CIRCUMFLEX ACCENT + 0x5F: [-10,61,575,0,574], // LOW LINE + 0x60: [706,-503,575,114,338], // GRAVE ACCENT + 0x61: [453,6,559,32,558], // LATIN SMALL LETTER A + 0x62: [694,7,639,29,601], // LATIN SMALL LETTER B + 0x63: [453,6,511,39,478], // LATIN SMALL LETTER C + 0x64: [695,6,639,38,609], // LATIN SMALL LETTER D + 0x65: [453,6,527,32,494], // LATIN SMALL LETTER E + 0x66: [700,0,351,40,452], // LATIN SMALL LETTER F + 0x67: [455,201,575,30,558], // LATIN SMALL LETTER G + 0x68: [694,0,639,37,623], // LATIN SMALL LETTER H + 0x69: [695,0,319,40,294], // LATIN SMALL LETTER I + 0x6A: [695,200,351,-71,274], // LATIN SMALL LETTER J + 0x6B: [694,0,607,29,587], // LATIN SMALL LETTER K + 0x6C: [694,0,319,40,301], // LATIN SMALL LETTER L + 0x6D: [451,0,958,37,942], // LATIN SMALL LETTER M + 0x6E: [450,0,639,37,623], // LATIN SMALL LETTER N + 0x6F: [452,5,575,32,542], // LATIN SMALL LETTER O + 0x70: [450,194,639,28,600], // LATIN SMALL LETTER P + 0x71: [450,194,607,38,609], // LATIN SMALL LETTER Q + 0x72: [450,0,474,29,442], // LATIN SMALL LETTER R + 0x73: [453,7,454,37,415], // LATIN SMALL LETTER S + 0x74: [636,6,447,21,382], // LATIN SMALL LETTER T + 0x75: [450,6,639,37,623], // LATIN SMALL LETTER U + 0x76: [444,4,607,26,580], // LATIN SMALL LETTER V + 0x77: [444,5,831,25,805], // LATIN SMALL LETTER W + 0x78: [444,0,607,21,586], // LATIN SMALL LETTER X + 0x79: [444,200,607,23,580], // LATIN SMALL LETTER Y + 0x7A: [445,0,511,31,462], // LATIN SMALL LETTER Z + 0x7B: [751,251,575,69,504], // LEFT CURLY BRACKET + 0x7C: [750,249,319,129,190], // VERTICAL LINE + 0x7D: [751,251,575,70,504], // RIGHT CURLY BRACKET + 0x7E: [344,-201,575,96,478], // TILDE + 0x393: [680,0,692,39,643], // GREEK CAPITAL LETTER GAMMA + 0x394: [698,0,958,56,901], // GREEK CAPITAL LETTER DELTA + 0x398: [696,10,894,64,829], // GREEK CAPITAL LETTER THETA + 0x39B: [699,0,806,40,765], // GREEK CAPITAL LETTER LAMDA + 0x39E: [675,0,767,48,718], // GREEK CAPITAL LETTER XI + 0x3A0: [680,0,900,39,860], // GREEK CAPITAL LETTER PI + 0x3A3: [686,0,831,63,766], // GREEK CAPITAL LETTER SIGMA + 0x3A5: [697,0,894,64,829], // GREEK CAPITAL LETTER UPSILON + 0x3A6: [686,0,831,64,766], // GREEK CAPITAL LETTER PHI + 0x3A8: [686,0,894,64,829], // GREEK CAPITAL LETTER PSI + 0x3A9: [696,1,831,51,780] // GREEK CAPITAL LETTER OMEGA + }; + + HTMLCSS.FONTDATA.FONTS['MathJax_Main-italic'] = { + directory: 'Main/Italic', + family: 'MathJax_Main', + style: 'italic', + testString: "MathJax Main", + Ranges: [ + [0xA0,0xFF,"Latin1Supplement"], + [0x300,0x36F,"CombDiacritMarks"], + [0x2000,0x206F,"GeneralPunctuation"], + [0x2100,0x214F,"LetterlikeSymbols"] + ], + 0x20: [0,0,250,0,0], // SPACE + 0x21: [716,0,307,107,380], // EXCLAMATION MARK + 0x22: [694,-379,514,176,538], // QUOTATION MARK + 0x23: [694,194,818,115,828], // NUMBER SIGN + 0x25: [751,56,818,144,848], // PERCENT SIGN + 0x26: [716,22,767,127,802], // AMPERSAND + 0x27: [694,-379,307,213,377], // APOSTROPHE + 0x28: [750,250,409,144,517], // LEFT PARENTHESIS + 0x29: [750,250,409,17,390], // RIGHT PARENTHESIS + 0x2A: [751,-320,511,195,584], // ASTERISK + 0x2B: [558,57,767,139,753], // PLUS SIGN + 0x2C: [121,194,307,69,233], // COMMA + 0x2D: [251,-179,358,84,341], // HYPHEN-MINUS + 0x2E: [121,0,307,107,231], // FULL STOP + 0x2F: [750,250,511,19,617], // SOLIDUS + 0x30: [665,21,511,110,562], // DIGIT ZERO + 0x31: [666,0,511,110,468], // DIGIT ONE + 0x32: [666,22,511,76,551], // DIGIT TWO + 0x33: [667,22,511,96,563], // DIGIT THREE + 0x34: [666,194,511,46,479], // DIGIT FOUR + 0x35: [666,22,511,106,567], // DIGIT FIVE + 0x36: [665,22,511,120,566], // DIGIT SIX + 0x37: [666,22,511,136,634], // DIGIT SEVEN + 0x38: [666,21,511,99,553], // DIGIT EIGHT + 0x39: [666,22,511,107,553], // DIGIT NINE + 0x3A: [431,0,307,107,308], // COLON + 0x3B: [431,194,307,70,308], // SEMICOLON + 0x3D: [367,-133,767,116,776], // EQUALS SIGN + 0x3F: [717,0,511,195,551], // QUESTION MARK + 0x40: [705,11,767,152,789], // COMMERCIAL AT + 0x41: [716,1,743,58,696], // LATIN CAPITAL LETTER A + 0x42: [683,1,704,57,732], // LATIN CAPITAL LETTER B + 0x43: [705,21,716,150,812], // LATIN CAPITAL LETTER C + 0x44: [683,1,755,56,775], // LATIN CAPITAL LETTER D + 0x45: [681,0,678,54,743], // LATIN CAPITAL LETTER E + 0x46: [681,0,653,54,731], // LATIN CAPITAL LETTER F + 0x47: [705,22,774,149,812], // LATIN CAPITAL LETTER G + 0x48: [683,0,743,54,860], // LATIN CAPITAL LETTER H + 0x49: [683,0,386,49,508], // LATIN CAPITAL LETTER I + 0x4A: [683,21,525,78,622], // LATIN CAPITAL LETTER J + 0x4B: [683,0,769,54,859], // LATIN CAPITAL LETTER K + 0x4C: [683,0,627,54,628], // LATIN CAPITAL LETTER L + 0x4D: [684,0,897,58,1010], // LATIN CAPITAL LETTER M + 0x4E: [684,0,743,54,860], // LATIN CAPITAL LETTER N + 0x4F: [704,22,767,149,788], // LATIN CAPITAL LETTER O + 0x50: [684,0,678,55,729], // LATIN CAPITAL LETTER P + 0x51: [704,194,767,149,788], // LATIN CAPITAL LETTER Q + 0x52: [683,22,729,55,723], // LATIN CAPITAL LETTER R + 0x53: [706,22,562,74,634], // LATIN CAPITAL LETTER S + 0x54: [678,0,716,171,807], // LATIN CAPITAL LETTER T + 0x55: [684,22,743,194,860], // LATIN CAPITAL LETTER U + 0x56: [683,22,743,205,868], // LATIN CAPITAL LETTER V + 0x57: [683,22,999,205,1124], // LATIN CAPITAL LETTER W + 0x58: [684,0,743,50,826], // LATIN CAPITAL LETTER X + 0x59: [684,0,743,198,875], // LATIN CAPITAL LETTER Y + 0x5A: [683,1,613,80,705], // LATIN CAPITAL LETTER Z + 0x5B: [751,251,307,73,446], // LEFT SQUARE BRACKET + 0x5D: [751,251,307,-14,359], // RIGHT SQUARE BRACKET + 0x5E: [694,-527,511,260,528], // CIRCUMFLEX ACCENT + 0x5F: [-24,62,511,91,554], // LOW LINE + 0x61: [442,11,511,101,543], // LATIN SMALL LETTER A + 0x62: [694,11,460,108,467], // LATIN SMALL LETTER B + 0x63: [441,10,460,103,470], // LATIN SMALL LETTER C + 0x64: [694,11,511,100,567], // LATIN SMALL LETTER D + 0x65: [442,10,460,107,470], // LATIN SMALL LETTER E + 0x66: [705,204,307,-23,450], // LATIN SMALL LETTER F + 0x67: [442,205,460,46,495], // LATIN SMALL LETTER G + 0x68: [695,11,511,69,544], // LATIN SMALL LETTER H + 0x69: [656,10,307,75,340], // LATIN SMALL LETTER I + 0x6A: [656,204,307,-32,364], // LATIN SMALL LETTER J + 0x6B: [694,11,460,69,499], // LATIN SMALL LETTER K + 0x6C: [694,11,256,87,312], // LATIN SMALL LETTER L + 0x6D: [443,11,818,75,851], // LATIN SMALL LETTER M + 0x6E: [443,11,562,75,595], // LATIN SMALL LETTER N + 0x6F: [442,11,511,103,517], // LATIN SMALL LETTER O + 0x70: [442,194,511,5,518], // LATIN SMALL LETTER P + 0x71: [442,195,460,100,504], // LATIN SMALL LETTER Q + 0x72: [442,11,422,75,484], // LATIN SMALL LETTER R + 0x73: [442,11,409,76,418], // LATIN SMALL LETTER S + 0x74: [627,11,332,87,373], // LATIN SMALL LETTER T + 0x75: [441,11,537,75,570], // LATIN SMALL LETTER U + 0x76: [443,10,460,75,492], // LATIN SMALL LETTER V + 0x77: [443,12,664,74,696], // LATIN SMALL LETTER W + 0x78: [442,11,464,58,513], // LATIN SMALL LETTER X + 0x79: [441,206,486,75,522], // LATIN SMALL LETTER Y + 0x7A: [442,11,409,54,466], // LATIN SMALL LETTER Z + 0x7E: [318,-208,511,246,571], // TILDE + 0xA3: [714,11,769,87,699], // POUND SIGN + 0x131: [441,10,307,75,340], // LATIN SMALL LETTER DOTLESS I + 0x237: [442,205,332,-32,327], // LATIN SMALL LETTER DOTLESS J + 0x393: [680,0,627,54,706], // GREEK CAPITAL LETTER GAMMA + 0x394: [717,1,818,70,751], // GREEK CAPITAL LETTER DELTA + 0x398: [704,22,767,149,788], // GREEK CAPITAL LETTER THETA + 0x39B: [717,0,692,58,646], // GREEK CAPITAL LETTER LAMDA + 0x39E: [678,1,664,74,754], // GREEK CAPITAL LETTER XI + 0x3A0: [680,0,743,54,859], // GREEK CAPITAL LETTER PI + 0x3A3: [683,1,716,80,782], // GREEK CAPITAL LETTER SIGMA + 0x3A5: [706,0,767,213,833], // GREEK CAPITAL LETTER UPSILON + 0x3A6: [683,1,716,158,728], // GREEK CAPITAL LETTER PHI + 0x3A8: [683,0,767,207,824], // GREEK CAPITAL LETTER PSI + 0x3A9: [705,0,716,100,759] // GREEK CAPITAL LETTER OMEGA + }; + + HTMLCSS.FONTDATA.FONTS['MathJax_Main'] = { + directory: 'Main/Regular', + family: 'MathJax_Main', + testString: "MathJax Main", + skew: { + 0x131: 0.0278, + 0x237: 0.0833, + 0x2113: 0.111, + 0x2118: 0.111, + 0x2202: 0.0833 + }, + Ranges: [ + [0x2B0,0x2FF,"SpacingModLetters"], + [0x300,0x36F,"CombDiacritMarks"], + [0x25A0,0x25FF,"GeometricShapes"], + [0x2600,0x26FF,"MiscSymbols"] + ], + 0x20: [0,0,250,0,0], // SPACE + 0x21: [716,-1,278,78,199], // EXCLAMATION MARK + 0x22: [694,-379,500,34,372], // QUOTATION MARK + 0x23: [694,194,833,55,778], // NUMBER SIGN + 0x24: [750,56,500,54,444], // DOLLAR SIGN + 0x25: [750,56,833,56,776], // PERCENT SIGN + 0x26: [717,22,778,42,727], // AMPERSAND + 0x27: [694,-379,278,78,212], // APOSTROPHE + 0x28: [751,251,389,94,333], // LEFT PARENTHESIS + 0x29: [750,250,389,55,294], // RIGHT PARENTHESIS + 0x2A: [750,-319,500,64,435], // ASTERISK + 0x2B: [583,83,778,55,722], // PLUS SIGN + 0x2C: [121,194,278,78,210], // COMMA + 0x2D: [252,-179,333,11,277], // HYPHEN-MINUS + 0x2E: [120,0,278,78,199], // FULL STOP + 0x2F: [751,250,500,56,445], // SOLIDUS + 0x30: [666,22,500,39,460], // DIGIT ZERO + 0x31: [666,0,500,83,427], // DIGIT ONE + 0x32: [666,1,500,49,449], // DIGIT TWO + 0x33: [665,23,500,41,457], // DIGIT THREE + 0x34: [677,0,500,28,471], // DIGIT FOUR + 0x35: [666,22,500,49,449], // DIGIT FIVE + 0x36: [666,22,500,42,456], // DIGIT SIX + 0x37: [676,22,500,55,485], // DIGIT SEVEN + 0x38: [666,22,500,43,457], // DIGIT EIGHT + 0x39: [666,22,500,41,456], // DIGIT NINE + 0x3A: [430,0,278,78,199], // COLON + 0x3B: [430,194,278,78,202], // SEMICOLON + 0x3C: [540,40,778,83,694], // LESS-THAN SIGN + 0x3D: [367,-133,778,55,722], // EQUALS SIGN + 0x3E: [540,40,778,82,694], // GREATER-THAN SIGN + 0x3F: [706,-1,472,55,416], // QUESTION MARK + 0x40: [705,11,778,56,722], // COMMERCIAL AT + 0x41: [717,0,750,32,717], // LATIN CAPITAL LETTER A + 0x42: [684,0,708,28,651], // LATIN CAPITAL LETTER B + 0x43: [706,21,722,56,666], // LATIN CAPITAL LETTER C + 0x44: [683,0,764,27,708], // LATIN CAPITAL LETTER D + 0x45: [680,0,681,24,652], // LATIN CAPITAL LETTER E + 0x46: [680,0,653,25,611], // LATIN CAPITAL LETTER F + 0x47: [706,22,785,56,735], // LATIN CAPITAL LETTER G + 0x48: [683,0,750,25,724], // LATIN CAPITAL LETTER H + 0x49: [683,0,361,21,339], // LATIN CAPITAL LETTER I + 0x4A: [683,22,514,25,465], // LATIN CAPITAL LETTER J + 0x4B: [683,0,778,24,736], // LATIN CAPITAL LETTER K + 0x4C: [683,0,625,25,582], // LATIN CAPITAL LETTER L + 0x4D: [683,0,917,29,887], // LATIN CAPITAL LETTER M + 0x4E: [683,0,750,25,724], // LATIN CAPITAL LETTER N + 0x4F: [705,22,778,56,722], // LATIN CAPITAL LETTER O + 0x50: [684,0,681,27,624], // LATIN CAPITAL LETTER P + 0x51: [705,193,778,56,728], // LATIN CAPITAL LETTER Q + 0x52: [684,22,736,27,732], // LATIN CAPITAL LETTER R + 0x53: [706,23,556,55,500], // LATIN CAPITAL LETTER S + 0x54: [677,0,722,36,685], // LATIN CAPITAL LETTER T + 0x55: [684,22,750,25,724], // LATIN CAPITAL LETTER U + 0x56: [683,23,750,19,730], // LATIN CAPITAL LETTER V + 0x57: [683,23,1028,18,1009], // LATIN CAPITAL LETTER W + 0x58: [683,1,750,23,727], // LATIN CAPITAL LETTER X + 0x59: [684,0,750,11,738], // LATIN CAPITAL LETTER Y + 0x5A: [683,1,611,55,560], // LATIN CAPITAL LETTER Z + 0x5B: [750,250,278,118,255], // LEFT SQUARE BRACKET + 0x5C: [750,250,500,56,444], // REVERSE SOLIDUS + 0x5D: [750,250,278,22,159], // RIGHT SQUARE BRACKET + 0x5E: [694,-531,500,112,387], // CIRCUMFLEX ACCENT + 0x5F: [-25,62,500,0,499], // LOW LINE + 0x60: [699,-505,500,106,295], // GRAVE ACCENT + 0x61: [448,11,500,34,493], // LATIN SMALL LETTER A + 0x62: [694,11,556,20,522], // LATIN SMALL LETTER B + 0x63: [448,11,444,34,415], // LATIN SMALL LETTER C + 0x64: [694,11,556,34,535], // LATIN SMALL LETTER D + 0x65: [448,11,444,28,415], // LATIN SMALL LETTER E + 0x66: [705,0,306,25,372], // LATIN SMALL LETTER F + 0x67: [453,206,500,29,485], // LATIN SMALL LETTER G + 0x68: [695,0,556,25,543], // LATIN SMALL LETTER H + 0x69: [669,0,278,26,255], // LATIN SMALL LETTER I + 0x6A: [669,205,306,-55,218], // LATIN SMALL LETTER J + 0x6B: [695,0,528,20,512], // LATIN SMALL LETTER K + 0x6C: [694,0,278,26,263], // LATIN SMALL LETTER L + 0x6D: [443,0,833,25,820], // LATIN SMALL LETTER M + 0x6E: [443,0,556,25,543], // LATIN SMALL LETTER N + 0x6F: [448,10,500,28,471], // LATIN SMALL LETTER O + 0x70: [443,194,556,20,522], // LATIN SMALL LETTER P + 0x71: [442,194,528,33,535], // LATIN SMALL LETTER Q + 0x72: [442,0,392,20,364], // LATIN SMALL LETTER R + 0x73: [449,12,394,32,359], // LATIN SMALL LETTER S + 0x74: [615,10,389,18,334], // LATIN SMALL LETTER T + 0x75: [442,11,556,25,542], // LATIN SMALL LETTER U + 0x76: [431,11,528,19,508], // LATIN SMALL LETTER V + 0x77: [432,12,722,18,704], // LATIN SMALL LETTER W + 0x78: [431,0,528,10,516], // LATIN SMALL LETTER X + 0x79: [431,204,528,19,508], // LATIN SMALL LETTER Y + 0x7A: [431,0,444,28,401], // LATIN SMALL LETTER Z + 0x7B: [750,250,500,64,434], // LEFT CURLY BRACKET + 0x7C: [750,250,278,119,159], // VERTICAL LINE + 0x7D: [750,250,500,64,435], // RIGHT CURLY BRACKET + 0x7E: [318,-215,500,83,416], // TILDE + 0xA0: [0,0,250,0,0], // NO-BREAK SPACE + 0xA8: [669,-554,500,95,404], // DIAERESIS + 0xAC: [356,-89,667,55,611], // NOT SIGN + 0xAF: [590,-544,500,69,430], // MACRON + 0xB0: [715,-542,500,147,352], // DEGREE SIGN + 0xB1: [666,0,778,55,722], // PLUS-MINUS SIGN + 0xB4: [699,-505,500,203,393], // ACUTE ACCENT + 0xD7: [491,-9,778,147,631], // MULTIPLICATION SIGN + 0xF7: [537,36,778,55,721], // DIVISION SIGN + 0x131: [442,0,278,26,255], // LATIN SMALL LETTER DOTLESS I + 0x237: [442,205,306,-55,218], // LATIN SMALL LETTER DOTLESS J + 0x2C6: [694,-531,500,112,387], // MODIFIER LETTER CIRCUMFLEX ACCENT + 0x2C7: [644,-513,500,114,385], // CARON + 0x2C9: [590,-544,500,69,430], // MODIFIER LETTER MACRON + 0x2CA: [699,-505,500,203,393], // MODIFIER LETTER ACUTE ACCENT + 0x2CB: [699,-505,500,106,295], // MODIFIER LETTER GRAVE ACCENT + 0x2D8: [694,-515,500,92,407], // BREVE + 0x2D9: [669,-549,500,190,309], // DOT ABOVE + 0x2DC: [668,-565,500,83,416], // SMALL TILDE + 0x393: [681,0,625,25,582], // GREEK CAPITAL LETTER GAMMA + 0x394: [716,0,833,46,786], // GREEK CAPITAL LETTER DELTA + 0x398: [705,22,778,56,722], // GREEK CAPITAL LETTER THETA + 0x39B: [717,0,694,32,661], // GREEK CAPITAL LETTER LAMDA + 0x39E: [677,0,667,42,624], // GREEK CAPITAL LETTER XI + 0x3A0: [680,0,750,25,724], // GREEK CAPITAL LETTER PI + 0x3A3: [683,1,722,55,666], // GREEK CAPITAL LETTER SIGMA + 0x3A5: [705,0,778,55,722], // GREEK CAPITAL LETTER UPSILON + 0x3A6: [683,0,722,56,665], // GREEK CAPITAL LETTER PHI + 0x3A8: [683,0,778,54,722], // GREEK CAPITAL LETTER PSI + 0x3A9: [704,1,722,44,677], // GREEK CAPITAL LETTER OMEGA + 0x2002: [0,0,500,0,0], // ?? + 0x2003: [0,0,999,0,0], // ?? + 0x2004: [0,0,333,0,0], // ?? + 0x2005: [0,0,250,0,0], // ?? + 0x2006: [0,0,167,0,0], // ?? + 0x2009: [0,0,167,0,0], // ?? + 0x200A: [0,0,83,0,0], // ?? + 0x2013: [285,-248,500,0,499], // EN DASH + 0x2014: [285,-248,1000,0,999], // EM DASH + 0x2018: [694,-379,278,64,198], // LEFT SINGLE QUOTATION MARK + 0x2019: [694,-379,278,78,212], // RIGHT SINGLE QUOTATION MARK + 0x201C: [694,-379,500,128,466], // LEFT DOUBLE QUOTATION MARK + 0x201D: [694,-379,500,34,372], // RIGHT DOUBLE QUOTATION MARK + 0x2020: [705,217,444,55,390], // DAGGER + 0x2021: [705,206,444,55,389], // DOUBLE DAGGER + 0x2026: [120,0,1172,78,1093], // HORIZONTAL ELLIPSIS + 0x2032: [560,-43,275,30,262], // PRIME + 0x20D7: [714,-516,0,-471,-29], // COMBINING RIGHT ARROW ABOVE + 0x210F: [695,13,540,42,562], // stix-/hbar - Planck's over 2pi + 0x2111: [705,11,722,54,693], // BLACK-LETTER CAPITAL I + 0x2113: [706,20,417,6,398], // SCRIPT SMALL L + 0x2118: [453,216,636,67,625], // SCRIPT CAPITAL P + 0x211C: [717,22,722,40,716], // BLACK-LETTER CAPITAL R + 0x2135: [694,1,611,54,556], // ALEF SYMBOL + 0x2190: [511,12,1000,54,944], // LEFTWARDS ARROW + 0x2191: [694,194,500,17,483], // UPWARDS ARROW + 0x2192: [512,11,1000,55,945], // RIGHTWARDS ARROW + 0x2193: [694,194,500,17,483], // DOWNWARDS ARROW + 0x2194: [511,11,1000,55,945], // LEFT RIGHT ARROW + 0x2195: [772,272,500,17,483], // UP DOWN ARROW + 0x2196: [720,196,1000,29,944], // NORTH WEST ARROW + 0x2197: [720,195,1000,55,970], // NORTH EAST ARROW + 0x2198: [695,220,1000,55,970], // SOUTH EAST ARROW + 0x2199: [695,220,1000,29,944], // SOUTH WEST ARROW + 0x21A6: [512,11,1000,54,945], // RIGHTWARDS ARROW FROM BAR + 0x21A9: [511,12,1126,54,1070], // LEFTWARDS ARROW WITH HOOK + 0x21AA: [512,11,1126,55,1071], // RIGHTWARDS ARROW WITH HOOK + 0x21BC: [511,-230,1000,55,944], // LEFTWARDS HARPOON WITH BARB UPWARDS + 0x21BD: [270,11,1000,55,944], // LEFTWARDS HARPOON WITH BARB DOWNWARDS + 0x21C0: [511,-230,1000,55,944], // RIGHTWARDS HARPOON WITH BARB UPWARDS + 0x21C1: [270,11,1000,55,945], // RIGHTWARDS HARPOON WITH BARB DOWNWARDS + 0x21CC: [671,11,1000,55,944], // RIGHTWARDS HARPOON OVER LEFTWARDS HARPOON + 0x21D0: [525,24,1000,55,944], // LEFTWARDS DOUBLE ARROW + 0x21D1: [694,194,611,31,579], // UPWARDS DOUBLE ARROW + 0x21D2: [525,25,1000,55,944], // RIGHTWARDS DOUBLE ARROW + 0x21D3: [694,194,611,31,579], // DOWNWARDS DOUBLE ARROW + 0x21D4: [525,25,1000,34,966], // LEFT RIGHT DOUBLE ARROW + 0x21D5: [772,272,611,31,580], // UP DOWN DOUBLE ARROW + 0x2200: [694,22,556,0,556], // FOR ALL + 0x2202: [715,22,531,41,566], // PARTIAL DIFFERENTIAL + 0x2203: [694,0,556,55,500], // THERE EXISTS + 0x2205: [772,78,500,39,460], // EMPTY SET + 0x2207: [683,33,833,46,786], // NABLA + 0x2208: [541,41,667,84,584], // ELEMENT OF + 0x2209: [716,215,667,84,584], // stix-negated (vert) set membership, variant + 0x220B: [541,40,667,83,582], // CONTAINS AS MEMBER + 0x2212: [270,-230,778,83,694], // MINUS SIGN + 0x2213: [500,167,778,55,722], // MINUS-OR-PLUS SIGN + 0x2215: [751,250,500,56,445], // DIVISION SLASH + 0x2216: [750,250,500,56,444], // SET MINUS + 0x2217: [465,-34,500,64,435], // ASTERISK OPERATOR + 0x2218: [444,-55,500,55,444], // RING OPERATOR + 0x2219: [444,-55,500,55,444], // BULLET OPERATOR + 0x221A: [800,200,833,72,853], // SQUARE ROOT + 0x221D: [442,11,778,56,722], // PROPORTIONAL TO + 0x221E: [442,11,1000,55,944], // INFINITY + 0x2220: [694,0,722,55,666], // ANGLE + 0x2223: [750,250,278,119,159], // DIVIDES + 0x2225: [750,250,500,132,367], // PARALLEL TO + 0x2227: [598,22,667,55,611], // LOGICAL AND + 0x2228: [598,22,667,55,611], // LOGICAL OR + 0x2229: [598,22,667,55,611], // stix-intersection, serifs + 0x222A: [599,22,667,55,611], // stix-union, serifs + 0x222B: [716,216,417,55,472], // INTEGRAL + 0x223C: [367,-133,778,55,722], // TILDE OPERATOR + 0x2240: [583,83,278,55,222], // WREATH PRODUCT + 0x2243: [464,-36,778,55,722], // ASYMPTOTICALLY EQUAL TO + 0x2245: [589,-22,1000,55,722], // APPROXIMATELY EQUAL TO + 0x2248: [483,-55,778,55,722], // ALMOST EQUAL TO + 0x224D: [484,-16,778,55,722], // EQUIVALENT TO + 0x2250: [670,-133,778,55,722], // APPROACHES THE LIMIT + 0x2260: [716,215,778,55,722], // stix-not (vert) equals + 0x2261: [464,-36,778,55,722], // IDENTICAL TO + 0x2264: [636,138,778,83,694], // LESS-THAN OR EQUAL TO + 0x2265: [636,138,778,82,694], // GREATER-THAN OR EQUAL TO + 0x226A: [568,68,1000,56,944], // MUCH LESS-THAN + 0x226B: [567,67,1000,55,945], // MUCH GREATER-THAN + 0x227A: [539,41,778,84,695], // PRECEDES + 0x227B: [539,41,778,83,694], // SUCCEEDS + 0x2282: [540,41,778,84,695], // SUBSET OF + 0x2283: [541,40,778,82,693], // SUPERSET OF + 0x2286: [636,139,778,84,695], // SUBSET OF OR EQUAL TO + 0x2287: [637,138,778,83,693], // SUPERSET OF OR EQUAL TO + 0x228E: [599,22,667,55,611], // MULTISET UNION + 0x2291: [636,138,778,83,714], // SQUARE IMAGE OF OR EQUAL TO + 0x2292: [636,138,778,63,694], // SQUARE ORIGINAL OF OR EQUAL TO + 0x2293: [598,0,667,61,605], // stix-square intersection, serifs + 0x2294: [598,0,667,61,605], // stix-square union, serifs + 0x2295: [583,83,778,56,722], // stix-circled plus (with rim) + 0x2296: [583,83,778,56,722], // CIRCLED MINUS + 0x2297: [583,83,778,56,722], // stix-circled times (with rim) + 0x2298: [583,83,778,56,722], // CIRCLED DIVISION SLASH + 0x2299: [583,83,778,56,722], // CIRCLED DOT OPERATOR + 0x22A2: [694,0,611,55,555], // RIGHT TACK + 0x22A3: [694,0,611,55,555], // LEFT TACK + 0x22A4: [668,0,778,55,723], // DOWN TACK + 0x22A5: [668,0,778,55,723], // UP TACK + 0x22A8: [750,250,867,119,811], // TRUE + 0x22C4: [488,-12,500,12,488], // DIAMOND OPERATOR + 0x22C5: [310,-190,278,78,199], // DOT OPERATOR + 0x22C6: [486,-16,500,3,497], // STAR OPERATOR + 0x22C8: [505,6,900,25,873], // BOWTIE + 0x22EE: [900,30,278,78,199], // VERTICAL ELLIPSIS + 0x22EF: [310,-190,1172,78,1093], // MIDLINE HORIZONTAL ELLIPSIS + 0x22F1: [820,-100,1282,133,1148], // DOWN RIGHT DIAGONAL ELLIPSIS + 0x2308: [751,250,444,174,422], // LEFT CEILING + 0x2309: [751,250,444,21,269], // RIGHT CEILING + 0x230A: [750,251,444,174,422], // LEFT FLOOR + 0x230B: [751,251,444,20,269], // RIGHT FLOOR + 0x2322: [388,-122,1000,55,944], // stix-small down curve + 0x2323: [378,-134,1000,55,944], // stix-small up curve + 0x23B0: [744,245,412,55,357], // UPPER LEFT OR LOWER RIGHT CURLY BRACKET SECTION + 0x23B1: [745,244,412,55,357], // UPPER RIGHT OR LOWER LEFT CURLY BRACKET SECTION + 0x27E8: [750,250,389,110,333], // MATHEMATICAL LEFT ANGLE BRACKET + 0x27E9: [750,250,389,55,278], // MATHEMATICAL RIGHT ANGLE BRACKET + 0x27EE: [744,245,412,173,357], // MATHEMATICAL LEFT FLATTENED PARENTHESIS + 0x27EF: [744,245,412,55,240], // MATHEMATICAL RIGHT FLATTENED PARENTHESIS + 0x27F5: [511,12,1609,54,1525], // LONG LEFTWARDS ARROW + 0x27F6: [512,11,1638,83,1554], // LONG RIGHTWARDS ARROW + 0x27F7: [512,12,1859,54,1804], // LONG LEFT RIGHT ARROW + 0x27F8: [525,24,1609,55,1553], // LONG LEFTWARDS DOUBLE ARROW + 0x27F9: [525,25,1638,55,1582], // LONG RIGHTWARDS DOUBLE ARROW + 0x27FA: [525,24,1858,55,1802], // LONG LEFT RIGHT DOUBLE ARROW + 0x27FC: [512,11,1638,54,1554], // LONG RIGHTWARDS ARROW FROM BAR + 0x2A3F: [684,0,750,28,721], // AMALGAMATION OR COPRODUCT + 0x2AAF: [636,138,778,83,695], // PRECEDES ABOVE SINGLE-LINE EQUALS SIGN + 0x2AB0: [636,138,778,83,694] // SUCCEEDS ABOVE SINGLE-LINE EQUALS SIGN + }; + + HTMLCSS.FONTDATA.FONTS['MathJax_Math-italic'] = { + directory: 'Math/Italic', + family: 'MathJax_Math', + style: 'italic', + testString: "MathJax Math", + skew: { + 0x41: 0.139, + 0x42: 0.0833, + 0x43: 0.0833, + 0x44: 0.0556, + 0x45: 0.0833, + 0x46: 0.0833, + 0x47: 0.0833, + 0x48: 0.0556, + 0x49: 0.111, + 0x4A: 0.167, + 0x4B: 0.0556, + 0x4C: 0.0278, + 0x4D: 0.0833, + 0x4E: 0.0833, + 0x4F: 0.0833, + 0x50: 0.0833, + 0x51: 0.0833, + 0x52: 0.0833, + 0x53: 0.0833, + 0x54: 0.0833, + 0x55: 0.0278, + 0x58: 0.0833, + 0x5A: 0.0833, + 0x63: 0.0556, + 0x64: 0.167, + 0x65: 0.0556, + 0x66: 0.167, + 0x67: 0.0278, + 0x68: -0.0278, + 0x6C: 0.0833, + 0x6F: 0.0556, + 0x70: 0.0833, + 0x71: 0.0833, + 0x72: 0.0556, + 0x73: 0.0556, + 0x74: 0.0833, + 0x75: 0.0278, + 0x76: 0.0278, + 0x77: 0.0833, + 0x78: 0.0278, + 0x79: 0.0556, + 0x7A: 0.0556, + 0x393: 0.0833, + 0x394: 0.167, + 0x398: 0.0833, + 0x39B: 0.167, + 0x39E: 0.0833, + 0x3A0: 0.0556, + 0x3A3: 0.0833, + 0x3A5: 0.0556, + 0x3A6: 0.0833, + 0x3A8: 0.0556, + 0x3A9: 0.0833, + 0x3B1: 0.0278, + 0x3B2: 0.0833, + 0x3B4: 0.0556, + 0x3B5: 0.0833, + 0x3B6: 0.0833, + 0x3B7: 0.0556, + 0x3B8: 0.0833, + 0x3B9: 0.0556, + 0x3BC: 0.0278, + 0x3BD: 0.0278, + 0x3BE: 0.111, + 0x3BF: 0.0556, + 0x3C1: 0.0833, + 0x3C2: 0.0833, + 0x3C4: 0.0278, + 0x3C5: 0.0278, + 0x3C6: 0.0833, + 0x3C7: 0.0556, + 0x3C8: 0.111, + 0x3D1: 0.0833, + 0x3D5: 0.0833, + 0x3F1: 0.0833, + 0x3F5: 0.0556 + }, + 0x20: [0,0,250,0,0], // SPACE + 0x2F: [716,215,778,139,638], // SOLIDUS + 0x41: [717,0,750,35,727], // LATIN CAPITAL LETTER A + 0x42: [683,0,759,35,756], // LATIN CAPITAL LETTER B + 0x43: [705,22,715,50,760], // LATIN CAPITAL LETTER C + 0x44: [683,1,828,32,804], // LATIN CAPITAL LETTER D + 0x45: [680,1,738,30,764], // LATIN CAPITAL LETTER E + 0x46: [681,0,643,30,749], // LATIN CAPITAL LETTER F + 0x47: [705,22,786,50,760], // LATIN CAPITAL LETTER G + 0x48: [683,0,831,31,889], // LATIN CAPITAL LETTER H + 0x49: [684,0,440,26,504], // LATIN CAPITAL LETTER I + 0x4A: [683,22,555,57,633], // LATIN CAPITAL LETTER J + 0x4B: [684,0,849,31,889], // LATIN CAPITAL LETTER K + 0x4C: [684,1,681,32,647], // LATIN CAPITAL LETTER L + 0x4D: [684,0,970,35,1051], // LATIN CAPITAL LETTER M + 0x4E: [684,0,803,31,888], // LATIN CAPITAL LETTER N + 0x4F: [704,22,763,50,740], // LATIN CAPITAL LETTER O + 0x50: [683,0,642,33,751], // LATIN CAPITAL LETTER P + 0x51: [704,195,791,50,740], // LATIN CAPITAL LETTER Q + 0x52: [683,22,759,33,755], // LATIN CAPITAL LETTER R + 0x53: [705,22,613,52,645], // LATIN CAPITAL LETTER S + 0x54: [678,0,584,21,705], // LATIN CAPITAL LETTER T + 0x55: [684,22,683,59,767], // LATIN CAPITAL LETTER U + 0x56: [683,23,583,52,769], // LATIN CAPITAL LETTER V + 0x57: [684,22,944,51,1048], // LATIN CAPITAL LETTER W + 0x58: [684,1,828,25,852], // LATIN CAPITAL LETTER X + 0x59: [683,-1,581,29,763], // LATIN CAPITAL LETTER Y + 0x5A: [684,1,683,58,724], // LATIN CAPITAL LETTER Z + 0x61: [441,10,529,33,506], // LATIN SMALL LETTER A + 0x62: [694,11,429,39,422], // LATIN SMALL LETTER B + 0x63: [442,11,433,34,429], // LATIN SMALL LETTER C + 0x64: [694,10,520,33,524], // LATIN SMALL LETTER D + 0x65: [442,11,466,39,429], // LATIN SMALL LETTER E + 0x66: [705,205,490,55,550], // LATIN SMALL LETTER F + 0x67: [443,205,477,10,480], // LATIN SMALL LETTER G + 0x68: [694,11,576,48,555], // LATIN SMALL LETTER H + 0x69: [661,11,345,21,303], // LATIN SMALL LETTER I + 0x6A: [661,204,412,-12,403], // LATIN SMALL LETTER J + 0x6B: [694,11,521,48,503], // LATIN SMALL LETTER K + 0x6C: [694,11,298,38,267], // LATIN SMALL LETTER L + 0x6D: [442,11,878,21,857], // LATIN SMALL LETTER M + 0x6E: [442,11,600,21,580], // LATIN SMALL LETTER N + 0x6F: [441,11,485,34,476], // LATIN SMALL LETTER O + 0x70: [442,194,503,-39,497], // LATIN SMALL LETTER P + 0x71: [442,194,446,33,460], // LATIN SMALL LETTER Q + 0x72: [442,11,451,21,430], // LATIN SMALL LETTER R + 0x73: [442,10,469,53,419], // LATIN SMALL LETTER S + 0x74: [626,11,361,19,330], // LATIN SMALL LETTER T + 0x75: [442,11,572,21,551], // LATIN SMALL LETTER U + 0x76: [443,11,485,21,467], // LATIN SMALL LETTER V + 0x77: [444,11,716,20,690], // LATIN SMALL LETTER W + 0x78: [443,11,572,35,523], // LATIN SMALL LETTER X + 0x79: [442,205,490,21,496], // LATIN SMALL LETTER Y + 0x7A: [442,12,465,35,468], // LATIN SMALL LETTER Z + 0xA0: [0,0,250,0,0], // NO-BREAK SPACE + 0x393: [680,-1,615,31,721], // GREEK CAPITAL LETTER GAMMA + 0x394: [716,1,833,48,788], // GREEK CAPITAL LETTER DELTA + 0x398: [704,22,763,50,740], // GREEK CAPITAL LETTER THETA + 0x39B: [717,0,694,35,671], // GREEK CAPITAL LETTER LAMDA + 0x39E: [678,1,742,53,777], // GREEK CAPITAL LETTER XI + 0x3A0: [681,0,831,31,888], // GREEK CAPITAL LETTER PI + 0x3A3: [683,0,780,58,806], // GREEK CAPITAL LETTER SIGMA + 0x3A5: [706,0,583,28,701], // GREEK CAPITAL LETTER UPSILON + 0x3A6: [683,0,667,24,643], // GREEK CAPITAL LETTER PHI + 0x3A8: [684,0,612,21,693], // GREEK CAPITAL LETTER PSI + 0x3A9: [704,0,772,80,786], // GREEK CAPITAL LETTER OMEGA + 0x3B1: [442,11,640,34,603], // GREEK SMALL LETTER ALPHA + 0x3B2: [706,194,566,23,573], // GREEK SMALL LETTER BETA + 0x3B3: [441,216,518,11,543], // GREEK SMALL LETTER GAMMA + 0x3B4: [717,10,444,36,451], // GREEK SMALL LETTER DELTA + 0x3B5: [453,22,466,27,428], // GREEK SMALL LETTER EPSILON + 0x3B6: [704,204,438,44,472], // GREEK SMALL LETTER ZETA + 0x3B7: [442,216,497,21,504], // GREEK SMALL LETTER ETA + 0x3B8: [705,10,469,35,462], // GREEK SMALL LETTER THETA + 0x3B9: [442,10,354,48,332], // GREEK SMALL LETTER IOTA + 0x3BA: [442,11,576,49,554], // GREEK SMALL LETTER KAPPA + 0x3BB: [694,12,583,46,556], // GREEK SMALL LETTER LAMDA + 0x3BC: [443,216,603,22,580], // GREEK SMALL LETTER MU + 0x3BD: [442,2,494,45,530], // GREEK SMALL LETTER NU + 0x3BE: [704,205,438,21,443], // GREEK SMALL LETTER XI + 0x3BF: [441,11,485,34,476], // GREEK SMALL LETTER OMICRON + 0x3C0: [431,11,570,19,573], // GREEK SMALL LETTER PI + 0x3C1: [442,216,517,22,510], // GREEK SMALL LETTER RHO + 0x3C2: [442,108,363,31,405], // GREEK SMALL LETTER FINAL SIGMA + 0x3C3: [431,11,571,31,572], // GREEK SMALL LETTER SIGMA + 0x3C4: [431,13,437,17,517], // GREEK SMALL LETTER TAU + 0x3C5: [443,10,540,21,523], // GREEK SMALL LETTER UPSILON + 0x3C6: [442,219,654,50,618], // GREEK SMALL LETTER PHI + 0x3C7: [442,204,626,24,601], // GREEK SMALL LETTER CHI + 0x3C8: [694,205,651,21,634], // GREEK SMALL LETTER PSI + 0x3C9: [444,11,622,15,604], // GREEK SMALL LETTER OMEGA + 0x3D1: [705,11,591,21,563], // GREEK THETA SYMBOL + 0x3D5: [695,206,596,43,579], // GREEK PHI SYMBOL + 0x3D6: [431,10,828,19,823], // GREEK PI SYMBOL + 0x3F1: [442,194,517,67,510], // GREEK RHO SYMBOL + 0x3F5: [432,11,406,39,383] // GREEK LUNATE EPSILON SYMBOL + }; + + HTMLCSS.FONTDATA.FONTS['MathJax_Size1'] = { + directory: 'Size1/Regular', + family: 'MathJax_Size1', + testString: "() [] {}", + 0x20: [0,0,250,0,0], // SPACE + 0x28: [850,349,458,152,422], // LEFT PARENTHESIS + 0x29: [851,349,458,35,305], // RIGHT PARENTHESIS + 0x2F: [850,349,578,55,522], // SOLIDUS + 0x5B: [850,349,417,202,394], // LEFT SQUARE BRACKET + 0x5C: [850,349,578,54,522], // REVERSE SOLIDUS + 0x5D: [850,349,417,22,214], // RIGHT SQUARE BRACKET + 0x7B: [850,349,583,104,477], // LEFT CURLY BRACKET + 0x7D: [851,349,583,104,477], // RIGHT CURLY BRACKET + 0xA0: [0,0,250,0,0], // NO-BREAK SPACE + 0x2C6: [744,-551,556,-8,564], // MODIFIER LETTER CIRCUMFLEX ACCENT + 0x2DC: [722,-597,556,1,554], // SMALL TILDE + 0x302: [744,-551,0,-564,8], // COMBINING CIRCUMFLEX ACCENT + 0x303: [722,-597,0,-555,-2], // COMBINING TILDE + 0x2016: [602,0,778,257,521], // DOUBLE VERTICAL LINE + 0x2191: [600,0,667,112,555], // UPWARDS ARROW + 0x2193: [600,0,667,112,555], // DOWNWARDS ARROW + 0x21D1: [599,0,778,57,721], // UPWARDS DOUBLE ARROW + 0x21D3: [600,-1,778,57,721], // DOWNWARDS DOUBLE ARROW + 0x220F: [750,250,944,55,888], // N-ARY PRODUCT + 0x2210: [750,250,944,55,888], // N-ARY COPRODUCT + 0x2211: [751,250,1056,56,999], // N-ARY SUMMATION + 0x221A: [850,350,1000,111,1020], // SQUARE ROOT + 0x2223: [627,15,333,145,188], // DIVIDES + 0x2225: [627,15,556,145,410], // PARALLEL TO + 0x222B: [805,306,472,55,610], // INTEGRAL + 0x222C: [805,306,819,55,957], // DOUBLE INTEGRAL + 0x222D: [805,306,1166,55,1304], // TRIPLE INTEGRAL + 0x222E: [805,306,472,55,610], // CONTOUR INTEGRAL + 0x22C0: [750,249,833,55,777], // N-ARY LOGICAL AND + 0x22C1: [750,249,833,55,777], // N-ARY LOGICAL OR + 0x22C2: [750,249,833,54,777], // N-ARY INTERSECTION + 0x22C3: [750,250,833,55,777], // N-ARY UNION + 0x2308: [850,349,472,202,449], // LEFT CEILING + 0x2309: [850,349,472,22,269], // RIGHT CEILING + 0x230A: [850,349,472,202,449], // LEFT FLOOR + 0x230B: [850,349,472,22,269], // RIGHT FLOOR + 0x23D0: [602,0,667,312,355], // VERTICAL LINE EXTENSION (used to extend arrows) + 0x27E8: [850,350,472,97,394], // MATHEMATICAL LEFT ANGLE BRACKET + 0x27E9: [850,350,472,77,374], // MATHEMATICAL RIGHT ANGLE BRACKET + 0x2A00: [750,250,1111,56,1054], // N-ARY CIRCLED DOT OPERATOR + 0x2A01: [750,250,1111,56,1054], // N-ARY CIRCLED PLUS OPERATOR + 0x2A02: [750,250,1111,56,1054], // N-ARY CIRCLED TIMES OPERATOR + 0x2A04: [750,250,833,55,777], // N-ARY UNION OPERATOR WITH PLUS + 0x2A06: [750,249,833,55,777] // N-ARY SQUARE UNION OPERATOR + }; + + HTMLCSS.FONTDATA.FONTS['MathJax_Size2'] = { + directory: 'Size2/Regular', + family: 'MathJax_Size2', + testString: "() [] {}", + 0x20: [0,0,250,0,0], // SPACE + 0x28: [1150,649,597,180,561], // LEFT PARENTHESIS + 0x29: [1151,649,597,35,416], // RIGHT PARENTHESIS + 0x2F: [1150,649,811,55,755], // SOLIDUS + 0x5B: [1150,649,472,224,455], // LEFT SQUARE BRACKET + 0x5C: [1150,649,811,54,754], // REVERSE SOLIDUS + 0x5D: [1150,649,472,16,247], // RIGHT SQUARE BRACKET + 0x7B: [1150,649,667,119,547], // LEFT CURLY BRACKET + 0x7D: [1151,649,667,119,547], // RIGHT CURLY BRACKET + 0xA0: [0,0,250,0,0], // NO-BREAK SPACE + 0x2C6: [772,-565,1000,-5,1004], // MODIFIER LETTER CIRCUMFLEX ACCENT + 0x2DC: [750,-611,1000,0,999], // SMALL TILDE + 0x302: [772,-565,0,-1005,4], // COMBINING CIRCUMFLEX ACCENT + 0x303: [750,-611,0,-1000,-1], // COMBINING TILDE + 0x220F: [950,450,1278,56,1221], // N-ARY PRODUCT + 0x2210: [950,450,1278,56,1221], // N-ARY COPRODUCT + 0x2211: [950,450,1444,55,1388], // N-ARY SUMMATION + 0x221A: [1150,650,1000,111,1020], // SQUARE ROOT + 0x222B: [1360,862,556,55,944], // INTEGRAL + 0x222C: [1361,862,1084,55,1473], // DOUBLE INTEGRAL + 0x222D: [1361,862,1592,55,1981], // TRIPLE INTEGRAL + 0x222E: [1360,862,556,55,944], // CONTOUR INTEGRAL + 0x22C0: [950,450,1111,55,1055], // N-ARY LOGICAL AND + 0x22C1: [950,450,1111,55,1055], // N-ARY LOGICAL OR + 0x22C2: [949,450,1111,55,1055], // N-ARY INTERSECTION + 0x22C3: [950,449,1111,55,1055], // N-ARY UNION + 0x2308: [1150,649,528,224,511], // LEFT CEILING + 0x2309: [1150,649,528,16,303], // RIGHT CEILING + 0x230A: [1150,649,528,224,511], // LEFT FLOOR + 0x230B: [1150,649,528,16,303], // RIGHT FLOOR + 0x27E8: [1150,649,611,112,524], // MATHEMATICAL LEFT ANGLE BRACKET + 0x27E9: [1150,649,611,85,498], // MATHEMATICAL RIGHT ANGLE BRACKET + 0x2A00: [949,449,1511,56,1454], // N-ARY CIRCLED DOT OPERATOR + 0x2A01: [949,449,1511,56,1454], // N-ARY CIRCLED PLUS OPERATOR + 0x2A02: [949,449,1511,56,1454], // N-ARY CIRCLED TIMES OPERATOR + 0x2A04: [950,449,1111,55,1055], // N-ARY UNION OPERATOR WITH PLUS + 0x2A06: [950,450,1111,55,1055] // N-ARY SQUARE UNION OPERATOR + }; + + HTMLCSS.FONTDATA.FONTS['MathJax_Size3'] = { + directory: 'Size3/Regular', + family: 'MathJax_Size3', + testString: "() [] {}", + 0x20: [0,0,250,0,0], // SPACE + 0x28: [1450,949,736,209,701], // LEFT PARENTHESIS + 0x29: [1451,949,736,34,526], // RIGHT PARENTHESIS + 0x2F: [1450,949,1044,55,989], // SOLIDUS + 0x5B: [1450,949,528,247,516], // LEFT SQUARE BRACKET + 0x5C: [1450,949,1044,56,988], // REVERSE SOLIDUS + 0x5D: [1450,949,528,11,280], // RIGHT SQUARE BRACKET + 0x7B: [1450,949,750,130,618], // LEFT CURLY BRACKET + 0x7D: [1451,949,750,131,618], // RIGHT CURLY BRACKET + 0xA0: [0,0,250,0,0], // NO-BREAK SPACE + 0x2C6: [772,-564,1444,-4,1447], // MODIFIER LETTER CIRCUMFLEX ACCENT + 0x2DC: [749,-610,1444,1,1442], // SMALL TILDE + 0x302: [772,-564,0,-1448,3], // COMBINING CIRCUMFLEX ACCENT + 0x303: [749,-610,0,-1443,-2], // COMBINING TILDE + 0x221A: [1450,951,1000,111,1020], // SQUARE ROOT + 0x2308: [1450,949,583,246,571], // LEFT CEILING + 0x2309: [1450,949,583,11,336], // RIGHT CEILING + 0x230A: [1450,949,583,246,571], // LEFT FLOOR + 0x230B: [1450,949,583,11,336], // RIGHT FLOOR + 0x27E8: [1450,950,750,126,654], // MATHEMATICAL LEFT ANGLE BRACKET + 0x27E9: [1450,950,750,94,623] // MATHEMATICAL RIGHT ANGLE BRACKET + }; + + HTMLCSS.FONTDATA.FONTS['MathJax_Size4'] = { + directory: 'Size4/Regular', + family: 'MathJax_Size4', + testString: "() [] {}", + 0x20: [0,0,250,0,0], // SPACE + 0x28: [1750,1249,792,237,758], // LEFT PARENTHESIS + 0x29: [1751,1250,792,33,554], // RIGHT PARENTHESIS + 0x2F: [1750,1249,1278,56,1221], // SOLIDUS + 0x5B: [1750,1249,583,269,577], // LEFT SQUARE BRACKET + 0x5C: [1750,1249,1278,56,1221], // REVERSE SOLIDUS + 0x5D: [1750,1249,583,5,313], // RIGHT SQUARE BRACKET + 0x7B: [1750,1249,806,144,662], // LEFT CURLY BRACKET + 0x7D: [1751,1249,806,144,662], // RIGHT CURLY BRACKET + 0xA0: [0,0,250,0,0], // NO-BREAK SPACE + 0x2C6: [845,-561,1889,-14,1902], // MODIFIER LETTER CIRCUMFLEX ACCENT + 0x2DC: [823,-583,1889,1,1885], // SMALL TILDE + 0x302: [845,-561,0,-1903,13], // COMBINING CIRCUMFLEX ACCENT + 0x303: [823,-583,0,-1888,-4], // COMBINING TILDE + 0x221A: [1750,1251,1000,111,1020], // SQUARE ROOT + 0x2308: [1750,1249,639,269,633], // LEFT CEILING + 0x2309: [1750,1249,639,5,369], // RIGHT CEILING + 0x230A: [1750,1249,639,269,633], // LEFT FLOOR + 0x230B: [1750,1249,639,5,369], // RIGHT FLOOR + 0x239B: [1155,655,875,290,843], // LEFT PARENTHESIS UPPER HOOK + 0x239C: [610,10,875,291,417], // LEFT PARENTHESIS EXTENSION + 0x239D: [1165,644,875,291,843], // LEFT PARENTHESIS LOWER HOOK + 0x239E: [1155,655,875,31,583], // RIGHT PARENTHESIS UPPER HOOK + 0x239F: [610,10,875,457,583], // RIGHT PARENTHESIS EXTENSION + 0x23A0: [1165,645,875,31,583], // RIGHT PARENTHESIS LOWER HOOK + 0x23A1: [1154,645,667,319,666], // LEFT SQUARE BRACKET UPPER CORNER + 0x23A2: [602,0,667,319,403], // LEFT SQUARE BRACKET EXTENSION + 0x23A3: [1155,644,667,319,666], // LEFT SQUARE BRACKET LOWER CORNER + 0x23A4: [1154,645,667,0,347], // RIGHT SQUARE BRACKET UPPER CORNER + 0x23A5: [602,0,667,263,347], // RIGHT SQUARE BRACKET EXTENSION + 0x23A6: [1155,644,667,0,347], // RIGHT SQUARE BRACKET LOWER CORNER + 0x23A7: [899,10,889,383,719], // LEFT CURLY BRACKET UPPER HOOK + 0x23A8: [1160,660,889,170,505], // LEFT CURLY BRACKET MIDDLE PIECE + 0x23A9: [10,899,889,384,718], // LEFT CURLY BRACKET LOWER HOOK + 0x23AA: [310,10,889,383,504], // CURLY BRACKET EXTENSION + 0x23AB: [900,11,889,170,504], // RIGHT CURLY BRACKET UPPER HOOK + 0x23AC: [1160,660,889,384,718], // RIGHT CURLY BRACKET MIDDLE PIECE + 0x23AD: [10,899,889,170,505], // RIGHT CURLY BRACKET LOWER HOOK + 0x23B7: [935,885,1056,111,742], // RADICAL SYMBOL BOTTOM + 0x27E8: [1750,1249,806,140,703], // MATHEMATICAL LEFT ANGLE BRACKET + 0x27E9: [1751,1249,806,103,665], // MATHEMATICAL RIGHT ANGLE BRACKET + 0xE000: [625,15,1056,702,742], // MJ-TeX: radical symbol vertical extender + 0xE001: [605,15,1056,702,1076], // MJ-TeX: radical symbol top corner piece + 0xE150: [120,213,450,-24,461], // MJ-TeX: horizontal brace, down left piece + 0xE151: [120,214,450,-11,475], // MJ-TeX: horizontal brace, down right piece + 0xE152: [333,0,450,-24,461], // MJ-TeX: horizontal brace, upper left piece + 0xE153: [333,0,450,-11,475], // MJ-TeX: horizontal brace, upper right piece + 0xE154: [120,0,400,-10,410] // MJ-TeX: horizontal brace, extender + }; + + HTMLCSS.FONTDATA.FONTS['MathJax_Main'][0x22EE][0] += 400; // adjust height for \vdots + HTMLCSS.FONTDATA.FONTS['MathJax_Main'][0x22F1][0] += 700; // adjust height for \ddots + HTMLCSS.FONTDATA.FONTS['MathJax_Size4'][0xE154][0] += 200; // adjust height for brace extender + HTMLCSS.FONTDATA.FONTS['MathJax_Size4'][0xE154][1] += 200; // adjust depth for brace extender + + if (!HTMLCSS.imgFonts) { + MathJax.Hub.Browser.Select({ + MSIE: function (browser) { + + if (HTMLCSS.config.availableFonts && HTMLCSS.config.availableFonts.length) { + + HTMLCSS.FONTDATA.REMAP[0x2C9] = 0xAF; // macron + HTMLCSS.FONTDATA.REMAP[0x2CA] = 0xB4; // acute + HTMLCSS.FONTDATA.REMAP[0x2CB] = 0x60; // grave + HTMLCSS.FONTDATA.REMAP[0x2DA] = 0xB0; // ring above + + var testString = HTMLCSS.msieCheckGreek = + String.fromCharCode(0x393)+" "+String.fromCharCode(0x3A5)+" "+String.fromCharCode(0x39B); + + HTMLCSS.FONTDATA.RANGES.push({name: "IEgreek", low: 0x03B1, high: 0x03C9, offset: "IEG", add: 32}); + HTMLCSS.FONTDATA.RANGES.push({name: "IEGreek", low: 0x0391, high: 0x03F6, offset: "IEG"}); + + if (HTMLCSS.Font.testFont({family:"MathJax_Greek", testString: testString})) { + HTMLCSS.Augment({ + FONTDATA: { + VARIANT: { + normal: {offsetIEG: 0x391, variantIEG: "-Greek"}, + "fraktur": {offsetIEG: 0x391, variantIEG: "-Greek"}, + "script": {offsetIEG: 0x391, variantIEG: "-Greek"}, + "-tex-caligraphic": {offsetIEG: 0x391, variantIEG: "-Greek"}, + "-tex-oldstyle": {offsetIEG: 0x391, variantIEG: "-Greek"}, + "-Greek": {fonts:["MathJax_Greek"]} + } + } + }); + + HTMLCSS.FONTDATA.FONTS['MathJax_Greek'] = { + directory: 'Greek/Regular', + family: 'MathJax_Greek', + testString: String.fromCharCode(0x393)+" "+String.fromCharCode(0x3A5)+" "+String.fromCharCode(0x39B), + 0x20: [0,0,250,0,0], // SPACE + 0xA0: [0,0,250,0,0], // NO-BREAK SPACE + 0x393: [680,0,625,25,582], // GREEK CAPITAL LETTER GAMMA + 0x394: [716,0,833,46,786], // GREEK CAPITAL LETTER DELTA + 0x398: [705,22,778,56,722], // GREEK CAPITAL LETTER THETA + 0x39B: [716,0,694,32,661], // GREEK CAPITAL LETTER LAMDA + 0x39E: [677,0,667,42,624], // GREEK CAPITAL LETTER XI + 0x3A0: [680,0,750,25,724], // GREEK CAPITAL LETTER PI + 0x3A3: [683,0,722,55,666], // GREEK CAPITAL LETTER SIGMA + 0x3A5: [705,0,778,55,722], // GREEK CAPITAL LETTER UPSILON + 0x3A6: [683,0,722,56,665], // GREEK CAPITAL LETTER PHI + 0x3A8: [683,0,778,55,722], // GREEK CAPITAL LETTER PSI + 0x3A9: [704,0,722,44,677] // GREEK CAPITAL LETTER OMEGA + }; + + } + + if (HTMLCSS.Font.testFont({family:"MathJax_Greek", weight:"bold", testString: testString})) { + HTMLCSS.Augment({ + FONTDATA: { + VARIANT: { + bold: {offsetIEG: 0x391, variantIEG: "-Greek-Bold"}, + "bold-fraktur": {offsetIEG: 0x391, variantIEG: "-Greek-Bold"}, + "bold-script": {offsetIEG: 0x391, variantIEG: "-Greek-Bold"}, + "-Greek-Bold": {fonts:["MathJax_Greek-bold"]} + } + } + }); + + HTMLCSS.FONTDATA.FONTS['MathJax_Greek-bold'] = { + directory: 'Greek/Bold', + family: 'MathJax_Greek', + weight: 'bold', + testString: String.fromCharCode(0x393)+" "+String.fromCharCode(0x3A5)+" "+String.fromCharCode(0x39B), + 0x20: [0,0,250,0,0], // SPACE + 0xA0: [0,0,250,0,0], // NO-BREAK SPACE + 0x393: [680,0,692,39,643], // GREEK CAPITAL LETTER GAMMA + 0x394: [698,0,958,56,901], // GREEK CAPITAL LETTER DELTA + 0x398: [696,10,894,64,829], // GREEK CAPITAL LETTER THETA + 0x39B: [698,0,806,40,765], // GREEK CAPITAL LETTER LAMDA + 0x39E: [675,0,767,48,718], // GREEK CAPITAL LETTER XI + 0x3A0: [680,0,900,39,860], // GREEK CAPITAL LETTER PI + 0x3A3: [686,0,831,64,766], // GREEK CAPITAL LETTER SIGMA + 0x3A5: [697,0,894,64,829], // GREEK CAPITAL LETTER UPSILON + 0x3A6: [686,0,831,64,766], // GREEK CAPITAL LETTER PHI + 0x3A8: [686,0,894,64,829], // GREEK CAPITAL LETTER PSI + 0x3A9: [696,1,831,51,779] // GREEK CAPITAL LETTER OMEGA + }; + + } + + if (HTMLCSS.Font.testFont({family:"MathJax_Greek", style:"italic", testString: testString})) { + HTMLCSS.Augment({ + FONTDATA: { + VARIANT: { + italic: {offsetIEG: 0x391, variantIEG: "-Greek-Italic"}, + "-Greek-Italic": {fonts:["MathJax_Greek-italic"]} + } + } + }); + + HTMLCSS.FONTDATA.FONTS['MathJax_Greek-italic'] = { + directory: 'Greek/Italic', + family: 'MathJax_Greek', + style: 'italic', + testString: String.fromCharCode(0x393)+" "+String.fromCharCode(0x3A5)+" "+String.fromCharCode(0x39B), + skew: { + 0x393: 0.0833, + 0x394: 0.167, + 0x398: 0.0833, + 0x39B: 0.167, + 0x39E: 0.0833, + 0x3A0: 0.0556, + 0x3A3: 0.0833, + 0x3A5: 0.0556, + 0x3A6: 0.0833, + 0x3A8: 0.0556, + 0x3A9: 0.0833, + 0x3B1: 0.0278, + 0x3B2: 0.0833, + 0x3B4: 0.0556, + 0x3B5: 0.0833, + 0x3B6: 0.0833, + 0x3B7: 0.0556, + 0x3B8: 0.0833, + 0x3B9: 0.0556, + 0x3BC: 0.0278, + 0x3BD: 0.0278, + 0x3BE: 0.111, + 0x3BF: 0.0556, + 0x3C1: 0.0833, + 0x3C2: 0.0833, + 0x3C4: 0.0278, + 0x3C5: 0.0278, + 0x3C6: 0.0833, + 0x3C7: 0.0556, + 0x3C8: 0.111, + 0x3D1: 0.0833, + 0x3D5: 0.0833, + 0x3F1: 0.0833, + 0x3F5: 0.0556 + }, + 0x20: [0,0,250,0,0], // SPACE + 0xA0: [0,0,250,0,0], // NO-BREAK SPACE + 0x393: [680,-1,615,31,721], // GREEK CAPITAL LETTER GAMMA + 0x394: [716,0,833,48,788], // GREEK CAPITAL LETTER DELTA + 0x398: [704,22,763,50,740], // GREEK CAPITAL LETTER THETA + 0x39B: [716,0,694,35,670], // GREEK CAPITAL LETTER LAMDA + 0x39E: [678,0,742,53,777], // GREEK CAPITAL LETTER XI + 0x3A0: [681,0,831,31,887], // GREEK CAPITAL LETTER PI + 0x3A3: [683,0,780,58,806], // GREEK CAPITAL LETTER SIGMA + 0x3A5: [705,0,583,28,700], // GREEK CAPITAL LETTER UPSILON + 0x3A6: [683,0,667,24,642], // GREEK CAPITAL LETTER PHI + 0x3A8: [683,0,612,21,692], // GREEK CAPITAL LETTER PSI + 0x3A9: [704,0,772,80,786], // GREEK CAPITAL LETTER OMEGA + 0x3B1: [442,11,640,34,603], // GREEK SMALL LETTER ALPHA + 0x3B2: [705,194,566,23,573], // GREEK SMALL LETTER BETA + 0x3B3: [441,216,518,11,543], // GREEK SMALL LETTER GAMMA + 0x3B4: [717,10,444,36,451], // GREEK SMALL LETTER DELTA + 0x3B5: [452,22,466,27,428], // GREEK SMALL LETTER EPSILON + 0x3B6: [704,204,438,44,471], // GREEK SMALL LETTER ZETA + 0x3B7: [442,216,497,21,503], // GREEK SMALL LETTER ETA + 0x3B8: [705,10,469,35,462], // GREEK SMALL LETTER THETA + 0x3B9: [442,10,354,48,332], // GREEK SMALL LETTER IOTA + 0x3BA: [442,11,576,49,554], // GREEK SMALL LETTER KAPPA + 0x3BB: [694,12,583,47,556], // GREEK SMALL LETTER LAMDA + 0x3BC: [442,216,603,23,580], // GREEK SMALL LETTER MU + 0x3BD: [442,2,494,45,530], // GREEK SMALL LETTER NU + 0x3BE: [704,205,438,21,443], // GREEK SMALL LETTER XI + 0x3BF: [441,11,485,34,476], // GREEK SMALL LETTER OMICRON + 0x3C0: [431,11,570,19,573], // GREEK SMALL LETTER PI + 0x3C1: [442,216,517,23,510], // GREEK SMALL LETTER RHO + 0x3C2: [442,107,363,31,405], // GREEK SMALL LETTER FINAL SIGMA + 0x3C3: [431,11,571,31,572], // GREEK SMALL LETTER SIGMA + 0x3C4: [431,13,437,18,517], // GREEK SMALL LETTER TAU + 0x3C5: [443,10,540,21,523], // GREEK SMALL LETTER UPSILON + 0x3C6: [442,218,654,50,618], // GREEK SMALL LETTER PHI + 0x3C7: [442,204,626,25,600], // GREEK SMALL LETTER CHI + 0x3C8: [694,205,651,21,634], // GREEK SMALL LETTER PSI + 0x3C9: [443,11,622,15,604], // GREEK SMALL LETTER OMEGA + 0x3D1: [705,11,591,21,563], // GREEK THETA SYMBOL + 0x3D5: [694,205,596,43,579], // GREEK PHI SYMBOL + 0x3D6: [431,10,828,19,823], // GREEK PI SYMBOL + 0x3F1: [442,194,517,67,510], // GREEK RHO SYMBOL + 0x3F5: [431,11,406,40,382] // GREEK LUNATE EPSILON SYMBOL + }; + + } + } + + if (HTMLCSS.msieIE6) { + + var WinIE6 = "MathJax_WinIE6"; + HTMLCSS.FONTDATA.FONTS[WinIE6] = "WinIE6/Regular/Main.js"; + HTMLCSS.FONTDATA.RANGES.push({name: "arrows", low: 0x2190, high: 0x2199, offset: "AR"}); + + var REMAP = {variant:"-WinIE6", + 0x21D2:0xE20A, 0x21D4:0xE20B, // \Rightarrow, \Leftrightarrow + 0x2200:0xE20C, 0x2202:0xE20D, 0x2203:0xE20E, 0x2207:0xE20F, // \forall, \partial, \exists, \nabla + 0x2208:0xE210, 0x220B:0xE211, 0x2215:0xE212, 0x221A:0xE213, // \in, \ni, /, \surd + 0x221D:0xE214, 0x221E:0xE215, 0x2220:0xE216, 0x2223:0xE217, // \propto, \infty, \angle, \vert + 0x2225:0xE218, 0x2227:0xE219, 0x2228:0xE21A, 0x2229:0xE21B, // \Vert, \wedge, \vee, \cap + 0x222A:0xE21C, 0x222B:0xE21D, 0x223C:0xE21E, 0x2248:0xE21F, // \cup, \int, \sim, \approx + 0x2260:0xE220, 0x2261:0xE221, 0x2264:0xE222, 0x2265:0xE223, // \ne, \equiv, \le, \ge + 0x226A:0xE224, 0x226B:0xE225, 0x2282:0xE226, 0x2283:0xE227, // \ll, \gg, \subset, \supset + 0x2286:0xE228, 0x2287:0xE229, 0x2295:0xE22A, 0x2299:0xE22B, // \subseteq, \supseteq, \oplus, \odot + 0x22A5:0xE22C, 0x25B3:0xE22D, 0x25BD:0xE22E, 0x25EF:0xE22F, // \bot, \bigtriangleup, \bigtriangledown, \bigcirc + 0x2660:0xE230, 0x2661:0xE231, 0x2662:0xE232, 0x2663:0xE233, // \spadesuit, \heartsuit, \diamondsuit, \clubsuit + 0x266D:0xE234, 0x266E:0xE235, 0x266F:0xE236, // \flat, \naturl, \sharp + 0x2266:0xE2C5, 0x2267:0xE2C6, 0x226E:0xE2C7, 0x226F:0xE2C8, // \leqq, \geqq, \nless, \ngtr + 0x250C:0xE2CA, 0x2510:0xE2CB, 0x2514:0xE2CC, 0x2518:0xE2CD, // corners + 0x2571:0xE2CE, 0x2572:0xE2CF, 0x25A0:0xE2D0, 0x25A1:0xE2D1, // \diagup, \diagdown, \blacksquare, \square + 0x25B2:0xE2D2, 0x25B6:0xE2D4, 0x25BC:0xE2D5, // \blacktriangle, \blacktriangleright, \blacktriangledown + 0x25BD:0xE2D6, 0x25C0:0xE2D7, 0x25CA:0xE2D8, // \vartriangledown, \blacktriangleleft, \lozenge + 0x2234:0xE2D9, 0x2235:0xE2DA, 0x2252:0xE2DB, 0x2605:0xE2DC, // \therefor, \because, \fallingdotseq, \bigstar + 0x223D:0xE2DD // \backsim + }; + var REMAPBOLD = {variant:"-WinIE6", + 0x21D2:0xE24A, 0x21D4:0xE24B, // \Rightarrow, \Leftrightarrow + 0x2200:0xE24C, 0x2202:0xE24D, 0x2203:0xE24E, 0x2207:0xE24F, // \forall, \partial, \exists, \nabla + 0x2208:0xE250, 0x220B:0xE251, 0x2215:0xE252, 0x221A:0xE253, // \in, \ni, /, \surd + 0x221D:0xE254, 0x221E:0xE255, 0x2220:0xE256, 0x2223:0xE257, // \propto, \infty, \angle, \vert + 0x2225:0xE258, 0x2227:0xE259, 0x2228:0xE25A, 0x2229:0xE25B, // \Vert, \wedge, \vee, \cap + 0x222A:0xE25C, 0x222B:0xE25D, 0x223C:0xE25E, 0x2248:0xE25F, // \cup, \int, \sim, \approx + 0x2260:0xE260, 0x2261:0xE261, 0x2264:0xE262, 0x2265:0xE263, // \ne, \equiv, \le, \ge + 0x226A:0xE264, 0x226B:0xE265, 0x2282:0xE266, 0x2283:0xE267, // \ll, \gg, \subset, \supset + 0x2286:0xE268, 0x2287:0xE269, 0x2295:0xE26A, 0x2299:0xE26B, // \subseteq, \supseteq, \oplus, \odot + 0x22A5:0xE26C, 0x25B3:0xE26D, 0x25BD:0xE26E, 0x25EF:0xE26F, // \bot, \bigtriangleup, \bigtriangledown, \bigcirc + 0x2660:0xE270, 0x2661:0xE271, 0x2662:0xE272, 0x2663:0xE273, // \spadesuit, \heartsuit, \diamondsuit, \clubsuit + 0x266D:0xE274, 0x266E:0xE275, 0x266F:0xE276, // \flat, \naturl, \sharp + 0x2266:0xE2C5, 0x2267:0xE2C6, 0x226E:0xE2C7, 0x226F:0xE2C8, // \leqq, \geqq, \nless, \ngtr + 0x250C:0xE2CA, 0x2510:0xE2CB, 0x2514:0xE2CC, 0x2518:0xE2CD, // corners + 0x2571:0xE2CE, 0x2572:0xE2CF, 0x25A0:0xE2D0, 0x25A1:0xE2D1, // \diagup, \diagdown, \blacksquare, \square + 0x25B2:0xE2D2, 0x25B6:0xE2D4, 0x25BC:0xE2D5, // \blacktriangle, \blacktriangleright, \blacktriangledown + 0x25BD:0xE2D6, 0x25C0:0xE2D7, 0x25CA:0xE2D8, // \vartriangledown, \blacktriangleleft, \lozenge + 0x2234:0xE2D9, 0x2235:0xE2DA, 0x2252:0xE2DB, 0x2605:0xE2DC, // \therefor, \because, \fallingdotseq, \bigstar + 0x223D:0xE2DD // \backsim + }; + var VARNORMAL = {offsetAR:0xE200, variantAR:"-WinIE6", remap: REMAP}; + var VARBOLD = {offsetAR:0xE240, variantAR:"-WinIE6", remap: REMAPBOLD}; + + HTMLCSS.Augment({ + FONTDATA: { + VARIANT: { + "normal": VARNORMAL, + "bold": VARBOLD, + "italic": VARNORMAL, + "bold-italic": VARBOLD, + "-largeOp": {fonts:[WinIE6,SIZE2,SIZE1,MAIN], + remap: {0x220F:0xE290, 0x2211:0xE291, 0x222B:0xE295, 0x222E:0xE296}}, + "-smallOp": {fonts:[WinIE6,SIZE1,MAIN], + remap: {0x220F:0xE280, 0x2211:0xE281, 0x222B:0xE285, 0x222E:0xE286}}, + "-WinIE6": {fonts:[WinIE6]} + }, + DELIMITERS: { + 0x221A: { + HW:{ + 0:[1,WinIE6,null,0xE213], 1:[1.2,WinIE6,null,0xE282], 2:[1.8,WinIE6,null,0xE292], + 3:[2.4,WinIE6,null,0xE2A2], 4:[3,WinIE6,null,0xE2B2] + } + }, + 0x007C: {stretch:{ext:[0xE217,WinIE6]}}, + 0x2223: {HW:{0:[1,WinIE6,null,0xE217]}, stretch:{ext:[0xE217,WinIE6]}}, + 0x23D0: {HW:{1:[1,WinIE6,null,0xE217]}, stretch:{ext:[0xE217,WinIE6]}}, + 0x2225: {HW:{0:[1,WinIE6,null,0xE218]}, stretch:{ext:[0xE218,WinIE6]}}, + 0x2190: {HW:{0:[.889,WinIE6,null,0xE200]}, stretch:{left:[0xE200,WinIE6]}}, + 0x2191: {HW:{0:[.888,WinIE6,null,0xE201]}, stretch:{top:[0xE287,WinIE6],ext:[0xE289,WinIE6]}}, + 0x2192: {HW:{0:[.889,WinIE6,null,0xE202]}, stretch:{right:[0xE202,WinIE6]}}, + 0x2193: {HW:{0:[.888,WinIE6,null,0xE203]}, stretch:{bot:[0xE288,WinIE6],ext:[0xE289,WinIE6]}}, + 0x2194: {HW:{0:[1,WinIE6,null,0xE204]}, stretch:{left:[0xE200,WinIE6],right:[0xE202,WinIE6]}}, + 0x2195: {HW:{0:[1.044,WinIE6,null,0xE203]}, stretch:{top:[0xE287,WinIE6],bot:[0xE288,WinIE6], ext:[0xE289,WinIE6]}} + } + } + }); + + } + + }, + + Chrome: function (browser) { + if (browser.isPC && !MathJax.Hub.Browser.versionAtLeast("5.0")) { + // FIXME: patch caligraphic bold, too + var WinChrome = "-WinChrome"; + HTMLCSS.Augment({ + FONTDATA: { + VARIANT: { + normal: {remap: {0x3E: [0x3E,WinChrome]}}, + bold: {remap: {0xE2F1: [0x3E,WinChrome]}}, + italic: {remap: {0x64: [0x64,WinChrome]}}, + "-tex-caligraphic": {remap: {0x54: [0x54,WinChrome]}}, + "-largeOp": {remap: {0x2A00: [0x2A00,WinChrome]}}, + "-smallOp": {remap: {0x22C3: [0x22C3,WinChrome]}}, + "-WinChrome": {fonts:["MathJax_WinChrome"]} + }, + DELIMITERS: { + 0x005D: {stretch:{bot:[0x23A6,"MathJax_WinChrome"]}}, + 0x230B: {stretch:{bot:[0x23A6,"MathJax_WinChrome"]}} + } + } + }); + + HTMLCSS.FONTDATA.FONTS['MathJax_WinChrome'] = { + directory: 'WinChrome/Regular', + family: 'MathJax_WinChrome', + testString: "> T d "+String.fromCharCode(0x23A6)+" "+String.fromCharCode(0x2A00), + skew: { + 0x54: 0.0278, + 0xE2F0: 0.0319 + }, + 0x20: [0,0,250,0,0], // SPACE + 0x3E: [540,40,778,82,694], // GREATER-THAN SIGN + 0x54: [717,69,545,34,834], // LATIN CAPITAL LETTER T + 0x64: [694,11,511,100,567], // LATIN SMALL LETTER D + 0xA0: [0,0,250,0,0], // NO-BREAK SPACE + 0x22C3: [750,250,833,55,777], // N-ARY UNION + 0x23A6: [1155,644,667,0,347], // RIGHT SQUARE BRACKET LOWER CORNER + 0x2A00: [949,449,1511,56,1454], // N-ARY CIRCLED DOT OPERATOR + 0xE2F0: [720,69,644,38,947], // ?? + 0xE2F1: [587,85,894,95,797] // ?? + }; + + } + } + + }); + } + + // + // Create @font-face stylesheet for the declared fonts + // + (function () { + var FONTS = HTMLCSS.FONTDATA.FONTS, AVAIL = HTMLCSS.config.availableFonts; + var name, faces = []; + if (HTMLCSS.allowWebFonts) { + for (name in FONTS) { + if (FONTS[name].family) { + if (AVAIL && AVAIL.length && HTMLCSS.Font.testFont(FONTS[name])) { + FONTS[name].available = true; + HTMLCSS.Font.loadComplete(FONTS[name]); + } else { + FONTS[name].isWebFont = true; + if (HTMLCSS.FontFaceBug) {FONTS[name].family = name} + faces.push(HTMLCSS.Font.fontFace(name)); + } + } + } + if (!HTMLCSS.config.preloadWebFonts) {HTMLCSS.config.preloadWebFonts = []} + HTMLCSS.config.preloadWebFonts.push(MAIN,ITALIC,SIZE1); + if (faces.length) {HTMLCSS.config.styles["@font-face"] = faces} + } else if (AVAIL && AVAIL.length) { + for (name in FONTS) { + if (FONTS[name].family && HTMLCSS.Font.testFont(FONTS[name])) { + FONTS[name].available = true; + HTMLCSS.Font.loadComplete(FONTS[name]); + } + } + } + })(); + + AJAX.loadComplete(HTMLCSS.fontDir + "/fontdata.js"); + +})(MathJax.OutputJax["HTML-CSS"],MathJax.ElementJax.mml,MathJax.Ajax); + diff --git a/modules/MathJax/jax/output/HTML-CSS/imageFonts.js b/modules/MathJax/jax/output/HTML-CSS/imageFonts.js new file mode 100644 index 0000000..6502caa --- /dev/null +++ b/modules/MathJax/jax/output/HTML-CSS/imageFonts.js @@ -0,0 +1,196 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/imageFonts.js + * + * Implements the image fallback fonts for the HTML-CSS OutputJax. + * + * --------------------------------------------------------------------- + * + * Copyright (c) 2009-2011 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +(function (HUB,HTMLCSS,AJAX) { + var VERSION = "1.1"; + + HUB.Register.LoadHook(HTMLCSS.fontDir + "/fontdata.js",function () { + + HTMLCSS.Augment({ + allowWebFonts: false, + + imgDir: HTMLCSS.webfontDir+"/png", + imgPacked: (MathJax.isPacked ? "" : "/unpacked"), + imgSize: ['050','060','071','085',100,120,141,168,200,238,283,336,400,476], + imgBaseIndex: 4, // set by initImg() + imgSizeForEm: {}, // cache of indexes by em-size + imgSizeForScale: {}, // cache of indexes by scale for a given em-size + imgZoom: 1, // set by initImg for each equation + + handleImg: function (span,font,c,n,text) { + if (text.length) {this.addText(span,text)} + var orig = c[5].orig; if (!orig) {orig = c[5].orig = [c[0],c[1],c[2],c[3],c[4]]} + var bscale = this.imgZoom; if (!span.scale) {span.scale = 1} + var index = this.imgIndex(span.scale*bscale); + if (index == this.imgEmWidth.length-1 && + this.em*span.scale*bscale/this.imgEmWidth[index] > 1.1) + {bscale = this.imgEmWidth[index]/(this.em*span.scale)} + var factor = this.imgEmWidth[index]/(this.em*(span.scale||1)*bscale); + c[0] = orig[0]*factor; c[1] = orig[1]*factor; c[2] = orig[2]*factor; + c[3] = orig[3]*factor; c[4] = orig[4]*factor; + var dir = this.imgDir+"/"+font.directory+"/"+this.imgSize[index]; + var chr = n.toString(16).toUpperCase(); while (chr.length < 4) {chr = "0"+chr}; + var file = dir+"/"+chr+".png"; + var img = c[5].img[index]; + var style = {width:Math.floor(img[0]/bscale+.5)+"px", height:Math.floor(img[1]/bscale+.5)+"px"}; + if (img[2]) {style.verticalAlign = Math.floor(-img[2]/bscale+.5)+"px"} + if (c[3] < 0) {style.marginLeft = this.Em(c[3]/1000)} + if (c[4] != c[2]) {style.marginRight = this.Em((c[2]-c[4])/1000)} + if (this.msieIE6) { + style.filter = "progid:DXImageTransform.Microsoft." + + "AlphaImageLoader(src='"+AJAX.fileURL(file)+"', sizingMethod='scale')"; + file = this.directory+"/blank.gif" + } + this.addElement(span,"img",{src:AJAX.fileURL(file), style:style}); + return ""; + }, + + defineImageData: function (def) { + for (var font in def) {if (def.hasOwnProperty(font)) { + var FONT = HTMLCSS.FONTDATA.FONTS[font]; + if (FONT) { + font = def[font]; + for (var n in font) {if (font.hasOwnProperty(n) && FONT[n]) {FONT[n][5] = {img: font[n]}}} + } + }} + }, + + initImg: function (span) { + if (this.imgSizeForEm[this.em]) {this.imgBaseIndex = this.imgSizeForEm[this.em]} + for (var i = 0, m = this.imgEmWidth.length-1; i < m; i++) + {if (this.em <= this.imgEmWidth[i]) break} + if (i && this.imgEmWidth[i] - this.em > this.em - this.imgEmWidth[i-1]) {i--} + this.imgSizeForEm[this.em] = this.imgBaseIndex = i; + this.imgZoom = this.imgBrowserZoom(); + }, + + imgIndex: function (scale) { + if (!scale) {return this.imgBaseIndex} + if (!this.imgSizeForScale[this.em]) {this.imgSizeForScale[this.em] = {}} + if (this.imgSizeForScale[this.em][scale]) {return this.imgSizeForScale[this.em][scale]} + var em = this.em * scale; + for (var i = 0, m = this.imgEmWidth.length-1; i < m; i++) + {if (em <= this.imgEmWidth[i]) break} + if (i && this.imgEmWidth[i] - em > em - this.imgEmWidth[i-1]) {i--} + this.imgSizeForScale[this.em][scale] = i; + return i; + }, + + imgBrowserZoom: function () {return 1} + + }); + + HUB.Browser.Select({ + + Firefox: function (browser) { + var ZDIV = HTMLCSS.addElement(document.body,"div",{ + style: { + display:"none", visibility:"hidden", overflow:"scroll", + position:"absolute", top:0, left: 0, width:"200px", height:"200px", + padding:0, border:0, margin:0 + } + }); + + var ZFRAME = HTMLCSS.addElement(ZDIV,"div",{ + style: { + position:"absolute", left:0, top:0, right:0, bottom:0, + padding:0, border:0, margin:0 + } + }); + + HTMLCSS.Augment({ + imgSpaceBug: true, + imgSpace: String.fromCharCode(0xA0), + + imgZoomLevel: (browser.isMac ? + {50:.3, 30:.5, 22:.67, 19:.8, 16:.9, 15:1, 13:1.1, 12:1.2, + 11:1.33, 10:1.5, 9:1.7, 7:2, 6:2.4, 5:3, 0:15} : + {56:.3, 34:.5, 25:.67, 21:.8, 19:.9, 17:1, 15:1.1, 14:1.2, + 13:1.33, 11:1.5, 10:1.7, 8:2, 7:2.4, 6:3, 0:17} + ), + + imgZoomDiv: ZDIV, + + imgBrowserZoom: function () { + var size = this.imgZoomLevel; + ZDIV.style.display = ""; + var ratio = (ZDIV.offsetWidth-ZFRAME.offsetWidth); + ratio = (size[ratio] ? size[ratio] : size[0]/ratio); + ZDIV.style.display = "none"; + return ratio; + } + }); + }, + + Safari: function (browser) { + // for iPhone and iTouch +// var webkit = (navigator.appVersion+"AppleWebKit/530").match(/AppleWebKit\/(\d+)/)[1]; + HTMLCSS.Augment({ +// imgHeightBug: (!browser.isMac || webkit > 525), +// imgDepthBug: (!browser.isMac || webkit > 525), + imgBrowserZoom: function () {return 3} + }); + }, + + Chrome: function (browser) { + HTMLCSS.Augment({ + imgHeightBug: true, + imgBrowserZoom: function () {return 3} + }); + }, + + Opera: function (browser) { + HTMLCSS.Augment({ + imgSpaceBug: true, + imgSpace: String.fromCharCode(0xA0)+String.fromCharCode(0xA0), + + imgDoc: (document.compatMode == "BackCompat" ? document.body : + document.documentElement), + + imgBrowserZoom: function () { + if (browser.isMac) {return 3} // Mac Opera scales very nicely + var H = this.imgDoc.clientHeight, d = Math.floor(15*H/window.innerHeight); + if (this.imgDoc.clientWidth < this.imgDoc.scrollWidth-d) {H += d} + return parseFloat((window.innerHeight/H).toFixed(1)); + } + }); + } + }); + + var GETWIDTHS = function () { + var img = HTMLCSS.FONTDATA.FONTS["MathJax_Main"][0x2014][5].img; // em-dash + HTMLCSS.imgEmWidth = []; + for (var i = 0, m = img.length; i < m; i++) {HTMLCSS.imgEmWidth[i] = img[i][0]} + }; + + var IMGDIR = HTMLCSS.imgDir + HTMLCSS.imgPacked; + + MathJax.Callback.Queue( + ["Require",AJAX,IMGDIR+"/imagedata.js"], + GETWIDTHS, + ["loadComplete",AJAX,HTMLCSS.directory+"/imageFonts.js"] + ); + + }); + +})(MathJax.Hub,MathJax.OutputJax["HTML-CSS"],MathJax.Ajax); diff --git a/modules/MathJax/jax/output/HTML-CSS/jax.js b/modules/MathJax/jax/output/HTML-CSS/jax.js new file mode 100644 index 0000000..8369400 --- /dev/null +++ b/modules/MathJax/jax/output/HTML-CSS/jax.js @@ -0,0 +1,2300 @@ +/************************************************************* + * + * MathJax/jax/output/HTML-CSS/jax.js + * + * Implements the HTML-CSS OutputJax that displays mathematics + * using HTML and CSS to position the characters from math fonts + * in their proper locations. + * + * --------------------------------------------------------------------- + * + * Copyright (c) 2009-2011 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + + +(function (AJAX,HUB,HTMLCSS) { + var MML; + + var FONTTEST = MathJax.Object.Subclass({ + timeout: 5*1000, // timeout for loading web fonts + + FontInfo: { + STIX: {family: "STIXSizeOneSym", testString: "() {} []"}, + TeX: {family: "MathJax_Size1", testString: "() {} []"} + }, + comparisonFont: ["sans-serif","monospace","script","Times","Courier","Arial","Helvetica"], + testSize: ["40px","50px","60px","30px","20px"], + + Init: function () { + this.div = MathJax.HTML.addElement(document.body,"div",{ + style: {position:"absolute", visibility:"hidden", top:0, left:0, width: "auto", + padding:0, border:0, margin:0, + textAlign:"left", textIndent:0, textTransform:"none", + lineHeight:"normal", letterSpacing:"normal", wordSpacing:"normal", + fontSize:this.testSize[0], fontWeight:"normal", fontStyle:"normal"} + },[""]); + this.text = this.div.firstChild; + }, + + findFont: function (fonts,pref) { + if (pref && this.testCollection(pref)) {return pref} + for (var i = 0, m = fonts.length; i < m; i++) { + if (fonts[i] === pref) continue; + if (this.testCollection(fonts[i])) {return fonts[i]} + } + return null; + }, + + testCollection: function (name) {return this.testFont(this.FontInfo[name])}, + + testFont: function (font) { + if (font.isWebFont && HTMLCSS.FontFaceBug) { + this.div.style.fontWeight = this.div.style.fontStyle = "normal"; + } else { + this.div.style.fontWeight = (font.weight||"normal"); + this.div.style.fontStyle = (font.style||"normal"); + } + var W = this.getComparisonWidths(font.testString,font.noStyleChar); + if (W) { + this.div.style.fontFamily = "'"+font.family+"',"+this.comparisonFont[0]; + if (this.div.offsetWidth == W[0]) { + this.div.style.fontFamily = "'"+font.family+"',"+this.comparisonFont[W[2]]; + if (this.div.offsetWidth == W[1]) {return false} + } + if (this.div.offsetWidth != W[3]) { + if (font.noStyleChar || !HTMLCSS.FONTDATA || !HTMLCSS.FONTDATA.hasStyleChar) {return true} + for (var i = 0, m = this.testSize.length; i < m; i++) + {if (this.testStyleChar(font,this.testSize[i])) {return true}} + } + } + return false; + }, + + styleChar: String.fromCharCode(0xEFFD), // width encodes style + versionChar: String.fromCharCode(0xEFFE), // width encodes version + compChar: String.fromCharCode(0xEFFF), // "standard" width to compare to + + testStyleChar: function (font,size) { + var n = 3 + (font.weight ? 2 : 0) + (font.style ? 4 : 0); + var extra = "", dw = 0; + var SIZE = this.div.style.fontSize; this.div.style.fontSize = size; + if (HTMLCSS.msieItalicWidthBug && font.style === "italic") { + this.text.nodeValue = extra = this.compChar; + dw = this.div.offsetWidth; + } + if (HTMLCSS.safariTextNodeBug) {this.div.innerHTML = this.compChar+extra} + else {this.text.nodeValue = this.compChar+extra} + var W = this.div.offsetWidth-dw; + if (HTMLCSS.safariTextNodeBug) {this.div.innerHTML = this.styleChar+extra} + else {this.text.nodeValue = this.styleChar+extra} + var N = Math.floor((this.div.offsetWidth-dw)/W+.5); + if (N === n) { + if (HTMLCSS.safariTextNodeBug) {this.div.innerHTML = this.versionChar+extra} + else {this.text.nodeValue = this.versionChar+extra} + font.version = Math.floor((this.div.offsetWidth-dw)/W+1.5)/2; + } + this.div.style.fontSize = SIZE; + return (N === n); + }, + + getComparisonWidths: function (string,noStyleChar) { + if (HTMLCSS.FONTDATA && HTMLCSS.FONTDATA.hasStyleChar && !noStyleChar) + {string += this.styleChar + " " + this.compChar} + if (HTMLCSS.safariTextNodeBug) {this.div.innerHTML = string} + else {this.text.nodeValue = string} + this.div.style.fontFamily = this.comparisonFont[0]; + var W = this.div.offsetWidth, sW = -1; + if (HTMLCSS.safariWebFontSerif) { + this.div.style.fontFamily = HTMLCSS.safariWebFontSerif[0]; + sW = this.div.offsetWidth; + } + for (var i = 1, m = this.comparisonFont.length; i < m; i++) { + this.div.style.fontFamily = this.comparisonFont[i]; + if (this.div.offsetWidth != W) {return [W,this.div.offsetWidth,i,sW]} + } + return null; + }, + + loadWebFont: function (font) { + HUB.Startup.signal.Post("HTML-CSS Jax - Web-Font "+HTMLCSS.fontInUse+"/"+font.directory); + var n = MathJax.Message.File("Web-Font "+HTMLCSS.fontInUse+"/"+font.directory); + var done = MathJax.Callback({}); // called when font is loaded + var callback = MathJax.Callback(["loadComplete",this,font,n,done]); + AJAX.timer.start(AJAX,[this.checkWebFont,font,callback],1,this.timeout); + return done; + }, + loadComplete: function (font,n,done,status) { + MathJax.Message.Clear(n); + if (status === AJAX.STATUS.OK) {done(); return} + this.loadError(font); + if (HUB.Browser.isFirefox && HTMLCSS.allowWebFonts) { + var host = document.location.protocol + "//" + document.location.hostname; + if (document.location.port != "") {host += ":" + document.location.port} + host += "/"; + if (AJAX.fileURL(HTMLCSS.webfontDir).substr(0,host.length) !== host) + {this.firefoxFontError(font)} + } + HTMLCSS.loadWebFontError(font,done); + }, + loadError: function (font) { + MathJax.Message.Set("Can't load web font "+HTMLCSS.fontInUse+"/"+font.directory,null,2000); + }, + firefoxFontError: function (font) { + MathJax.Message.Set("Firefox can't load web fonts from a remote host",null,3000); + }, + + checkWebFont: function (check,font,callback) { + if (check.time(callback)) return; + if (HTMLCSS.Font.testFont(font)) {callback(check.STATUS.OK)} + else {setTimeout(check,check.delay)} + }, + + fontFace: function (name) { + var type = HTMLCSS.allowWebFonts; + var FONT = HTMLCSS.FONTDATA.FONTS[name]; + if (HTMLCSS.msieFontCSSBug && !FONT.family.match(/-Web$/)) {FONT.family += "-Web"} + var dir = AJAX.fileURL(HTMLCSS.webfontDir+"/"+type); + var fullname = name.replace(/-b/,"-B").replace(/-i/,"-I").replace(/-Bold-/,"-Bold"); + if (!fullname.match(/-/)) {fullname += "-Regular"} + if (type === "svg") {fullname += ".svg#"+fullname} else {fullname += "."+type} + var def = { + "font-family": FONT.family, + src: "url('"+dir+"/"+fullname+"')" + }; + if (type === "svg") def.src += " format('svg')"; + if (!(HTMLCSS.FontFaceBug && FONT.isWebFont)) { + if (name.match(/-bold/)) {def["font-weight"] = "bold"} + if (name.match(/-italic/)) {def["font-style"] = "italic"} + } + return def; + } + }); + + HTMLCSS.Augment({ + config: { + styles: { + ".MathJax": { + "display": "inline", + "font-family": "serif", + "font-style": "normal", + "font-weight": "normal", + "line-height": "normal", + "font-size": "100%", + "font-size-adjust":"none", + "text-indent": 0, + "text-align": "left", + "text-transform": "none", + "letter-spacing": "normal", + "word-spacing": "normal", + "word-wrap": "normal", + "white-space": "nowrap", + "float": "none", + "direction": "ltr", + border: 0, padding: 0, margin: 0 + }, + + ".MathJax_Display": { + position: "relative", + display: "block", + width: "100%" + }, + + ".MathJax img, .MathJax nobr, .MathJax a": { + border: 0, padding: 0, margin: 0, "max-width": "none", "max-height": "none", + "vertical-align": 0, "line-height": "normal", + "text-decoration": "none" + }, + "img.MathJax_strut": { + border:"0 !important", padding:"0 !important", margin: "0 !important", + "vertical-align": "0 !important" + }, + + ".MathJax span": { + display: "inline", position: "static", + border: 0, padding: 0, margin: 0, + "vertical-align": 0, "line-height": "normal", + "text-decoration": "none" + }, + + ".MathJax nobr": { + "white-space": "nowrap" + }, + + ".MathJax img": { + display: "inline ! important" + }, + + ".MathJax_Processing": { + visibility: "hidden", position:"fixed", + width: 0, height: 0, overflow:"hidden" + }, + + ".MathJax .MathJax_HitBox": { + cursor: "text" + }, + + "#MathJax_Tooltip": { + position: "absolute", left: 0, top: 0, + width: "auto", height: "auto", + display: "none" + }, + "#MathJax_Tooltip *": { + filter: "none", background:"transparent" // for IE + } + + } + }, + settings: HUB.config.menuSettings, + + LEFTBUTTON: (HUB.Browser.isMSIE ? 1 : 0), // the event.button value for left button + MENUKEY: "altKey", // the event value for alternate context menu + + Font: null, // created by Config() below + + Config: function () { + this.Font = FONTTEST(); + this.SUPER(arguments).Config.call(this); var settings = this.settings; + if (this.adjustAvailableFonts) {this.adjustAvailableFonts(this.config.availableFonts)} + if (settings.scale) {this.config.scale = settings.scale} + if (settings.font && settings.font !== "Auto") { + if (settings.font === "TeX (local)") + {this.config.availableFonts = ["TeX"]; this.config.preferredFont = "TeX"; this.config.webFont = "TeX"} + else if (settings.font === "STIX (local)") + {this.config.availableFonts = ["STIX"]; this.config.preferredFont = "STIX"; this.config.webFont = "TeX"} + else if (settings.font === "TeX (web)") {this.config.availableFonts = []; this.config.preferredFont = ""; this.config.webFont = "TeX"} + else if (settings.font === "TeX (image)") {this.config.availableFonts = []; this.config.preferredFont = ""; this.config.webFont = ""} + } + var font = this.Font.findFont(this.config.availableFonts,this.config.preferredFont); + if (!font && this.allowWebFonts) {font = this.config.webFont; if (font) {this.webFonts = true}} + if (!font && this.config.imageFont) {font = this.config.imageFont; this.imgFonts = true} + if (font) { + this.fontInUse = font; this.fontDir += "/" + font; this.webfontDir += "/" + font; + if (!this.require) {this.require = []} + this.require.push(this.fontDir+"/fontdata.js"); + if (this.imgFonts) { + this.require.push(this.directory+"/imageFonts.js"); + HUB.Startup.signal.Post("HTML-CSS Jax - using image fonts"); + } + } else { + MathJax.Message.Set("Can't find a valid font using ["+this.config.availableFonts.join(", ")+"]",null,3000); + this.FONTDATA = { + TeX_factor: 1, baselineskip: 1.2, lineH: .8, lineD: .2, ffLineH: .8, + FONTS: {}, VARIANT: {normal: {fonts:[]}}, RANGES: [], + DELIMITERS: {}, RULECHAR: 0x2D, REMAP: {} + }; + if (MathJax.InputJax.TeX && MathJax.InputJax.TeX.Definitions) { + MathJax.InputJax.TeX.Definitions.macros.overline[1] = "002D"; + MathJax.InputJax.TeX.Definitions.macros.underline[1] = "002D"; + } + HUB.Startup.signal.Post("HTML-CSS Jax - no valid font"); + } + }, + + Startup: function () { + // Set up default fonts + var family = [], fonts = this.FONTDATA.VARIANT.normal.fonts; + if (!(fonts instanceof Array)) {fonts = [fonts]} + for (var i = 0, m = fonts.length; i < m; i++) { + family[i] = this.FONTDATA.FONTS[fonts[i]].family; + if (!family[i]) {family[i] = fonts[i]} + } + this.config.styles[".MathJax .math span"] = + this.config.styles["#MathJax_getScales"] = {"font-family": family.join(',')}; + + // Make hidden div for when math is in a display:none block + this.hiddenDiv = this.Element("div",{ + style:{visibility:"hidden", overflow:"hidden", position:"absolute", top:0, + height:"1px", width: "auto", padding:0, border:0, margin:0, + textAlign:"left", textIndent:0, textTransform:"none", + lineHeight:"normal", letterSpacing:"normal", wordSpacing:"normal"} + }); + if (!document.body.firstChild) {document.body.appendChild(this.hiddenDiv)} + else {document.body.insertBefore(this.hiddenDiv,document.body.firstChild)} + this.hiddenDiv = this.addElement(this.hiddenDiv,"div",{id:"MathJax_Hidden"}); + + // Determine pixels per inch + var div = this.addElement(this.hiddenDiv,"div",{style:{width:"5in"}}); + this.pxPerInch = div.offsetWidth/5; this.hiddenDiv.removeChild(div); + + // Markers used by getW + this.startMarker = HTMLCSS.createStrut(this.Element("span"),10,true); + this.endMarker = this.addText(this.Element("span"),"x").parentNode; + + // Used in getHD + this.HDspan = this.Element("span"); + if (this.operaHeightBug) {this.createStrut(this.HDspan,0)} + if (this.msieInlineBlockAlignBug) { + this.HDimg = this.addElement(this.HDspan,"img",{style:{height:"0px", width:"1px"}}); + try {this.HDimg.src = "about:blank"} catch(err) {} + } else { + this.HDimg = HTMLCSS.createStrut(this.HDspan,0); + } + + // Used in getScales + this.HDMspan = this.Element("span",{style: {position:"absolute", "font-size-adjust":"none"}}); + if (this.msieInlineBlockAlignBug) { + this.HDMimg = this.addElement(this.HDMspan,"img",{ + style:{ + height:"0px", width:"1px", + "max-width":"none", "max-height":"none", + border:0, padding:0, margin:0 + } + }); + try {this.HDMimg.src = "about:blank"} catch(err) {} + } else { + this.HDMimg = HTMLCSS.createStrut(this.HDMspan,0); this.HDMimg.style.marginRight = ""; + } + + // Used for computing factor to fix margin width in MSIE + this.marginCheck = HTMLCSS.Element("span",null, + [["span",{style: {display:"inline-block", width:"5em"}}]]); + this.marginMove = HTMLCSS.addElement(this.marginCheck,"span", + {style: {display:"inline-block", width:"5em", marginLeft:"-5em"}}); + + // Set up styles and preload web fonts + return AJAX.Styles(this.config.styles,["PreloadWebFonts",this]); + }, + + PreloadWebFonts: function () { + if (!HTMLCSS.allowWebFonts || !HTMLCSS.config.preloadWebFonts) return; + for (var i = 0, m = HTMLCSS.config.preloadWebFonts.length; i < m; i++) { + var FONT = HTMLCSS.FONTDATA.FONTS[HTMLCSS.config.preloadWebFonts[i]]; + if (!FONT.available) {HTMLCSS.Font.testFont(FONT)} + } + }, + + Translate: function (script) { + if (!script.parentNode) return; + var prev = script.previousSibling; + if (prev && String(prev.className).match(/^MathJax(_MathML|_Display)?$/)) + {prev.parentNode.removeChild(prev)} + var math = script.MathJax.elementJax.root, span, div, frame; + span = div = frame = this.Element("span",{ + className:"MathJax", oncontextmenu:this.ContextMenu, onmousedown: this.Mousedown, + onmouseover:this.Mouseover, onclick:this.Click, ondblclick:this.DblClick + }); + var blockMode = (math.Get("display") === "block"); + if (blockMode) { + div = frame = this.Element("div",{className:"MathJax_Display", style:{width:"100%", position:"relative"}}); + div.appendChild(span); + } + // (screen readers don't know about role="math" yet, so use "textbox" instead) + div.setAttribute("role","textbox"); div.setAttribute("aria-readonly","true"); + if (this.useProcessingFrame) { + frame = this.Element((blockMode ? "div" : "span"),{className:"MathJax_Processing"}); + frame.appendChild(div); + } + script.parentNode.insertBefore(frame,script); var isHidden; + try {this.getScales(span); isHidden = (this.em === 0 || String(this.em) === "NaN")} catch (err) {isHidden = true} + if (isHidden) {this.hiddenDiv.appendChild(frame); this.getScales(span)} + this.initImg(span); + this.initHTML(math,span); + math.setTeXclass(); + try {math.toHTML(span,div)} catch (err) { + if (err.restart) {frame.parentNode.removeChild(frame)} + throw err; + } + if (isHidden) {script.parentNode.insertBefore(frame,script)} + if (this.useProcessingFrame) frame.parentNode.replaceChild(div,frame); + }, + + /* + * Autoload the MathMenu code, when needed + */ + ContextMenu: function (event,force) { + if (HTMLCSS.config.showMathMenu && (HTMLCSS.settings.context === "MathJax" || force)) { + if (HTMLCSS.safariContextMenuBug) {setTimeout('window.getSelection().empty()',0)} + if (!event || HTMLCSS.msieEventBug) {event = window.event} + var MENU = MathJax.Menu; + if (MENU) { + var math = (this.parentNode.className === "MathJax_Display" ? this.parentNode : this) + MENU.jax = HUB.getJaxFor(math.nextSibling); + MENU.menu.items[1].menu.items[1].name = + (MENU.jax.inputJax.id === "MathML" ? "Original" : MENU.jax.inputJax.id); + return MENU.menu.Post(event); + } else { + if (!AJAX.loadingMathMenu) { + AJAX.loadingMathMenu = true; + var EVENT = {pageX:event.pageX, pageY:event.pageY, clientX:event.clientX, clientY:event.clientY}; + MathJax.Callback.Queue( + AJAX.Require("[MathJax]/extensions/MathMenu.js"), + function () {delete AJAX.loadingMathMenu}, + [this,arguments.callee,EVENT,force] // call this function again + ); + } + if (!event) {event = window.event} + if (event.preventDefault) {event.preventDefault()} + if (event.stopPropagation) {event.stopPropagation()} + event.cancelBubble = true; + event.returnValue = false; + return false; + } + } + }, + Mousedown: function (event) { + if (HTMLCSS.config.showMathMenu) { + if (!event) {event = window.event} + if (HTMLCSS.settings.context === "MathJax") { + if (!HTMLCSS.noContextMenuBug || event.button !== 2) return + } else { + if (!event[HTMLCSS.MENUKEY] || event.button !== HTMLCSS.LEFTBUTTON) return + } + return HTMLCSS.ContextMenu.call(this,event,true); + } + }, + /* + * Used for zooming, when that is enabled by the MathMenu + */ + Mouseover: function (event) {HTMLCSS.HandleEvent(event,"Mouseover",this)}, + Click: function (event) {HTMLCSS.HandleEvent(event,"Click",this)}, + DblClick: function (event) {HTMLCSS.HandleEvent(event,"DblClick",this)}, + HandleEvent: function (event,type,math) {}, + + initImg: function (span) {}, + initHTML: function (math,span) {}, + initFont: function (name) { + var FONTS = HTMLCSS.FONTDATA.FONTS, AVAIL = HTMLCSS.config.availableFonts; + if (AVAIL && AVAIL.length && HTMLCSS.Font.testFont(FONTS[name])) + {FONTS[name].available = true; return null} + if (!this.allowWebFonts) {return null} + FONTS[name].isWebFont = true; + if (HTMLCSS.FontFaceBug) { + FONTS[name].family = name; + if (HTMLCSS.msieFontCSSBug) {FONTS[name].family += "-Web"} + } + return AJAX.Styles({"@font-face":this.Font.fontFace(name)}); + }, + + Remove: function (jax) { + var span = jax.SourceElement(); if (!span) return; + span = span.previousSibling; if (!span) return; + if (span.className.match(/^MathJax/)) {span.parentNode.removeChild(span)} + }, + + getScales: function (span) { + span.parentNode.insertBefore(this.HDMspan,span); + this.HDMspan.className = ""; this.HDMspan.id = ""; this.HDMspan.style.fontSize = ""; + this.HDMimg.style.height = "1px"; this.HDMimg.style.width = "60ex"; + var ex = this.HDMspan.offsetWidth/60; + this.HDMspan.className = "MathJax"; this.HDMspan.id = "MathJax_getScales"; + this.HDMimg.style.width = "60em"; + var em = this.outerEm = this.HDMspan.offsetWidth/60; + this.scale = Math.floor(Math.max(this.config.minScaleAdjust/100,(ex/this.TeX.x_height)/em) * this.config.scale); + span.style.fontSize = this.HDMspan.style.fontSize = this.scale+"%"; + this.em = MML.mbase.prototype.em = this.HDMspan.offsetWidth/60; + if (this.operaFontSizeBug && em === this.em && this.scale !== 100) { + // Opera 10.61 doesn't seem to process the fontSize setting above, so adjust manually + this.em = MML.mbase.prototype.em = em * this.scale/100; + } + span.parentNode.removeChild(this.HDMspan); + this.msieMarginScale = this.getMarginScale(span); + }, + getMarginScale: function (span) {return 1}, + getMSIEmarginScale: function (span) { + span.appendChild(this.marginCheck); + var W = this.marginCheck.offsetWidth, w = this.marginMove.offsetWidth; + var scale = (2*w - W ? w/(2*w - W) : 1); + span.removeChild(this.marginCheck); + return scale; + }, + getHD: function (span) { + var position = span.style.position; + span.style.position = "absolute"; + this.HDimg.style.height = "0px"; + span.appendChild(this.HDspan); + var HD = {h:span.offsetHeight}; + this.HDimg.style.height = HD.h+"px"; + HD.d = span.offsetHeight - HD.h; HD.h -= HD.d; + HD.h /= this.em; HD.d /= this.em; + span.removeChild(this.HDspan); + span.style.position = position; + return HD; + }, + getW: function (span) { + var W = span.offsetWidth, w = (span.bbox ? span.bbox.w: -1), start = span; + if ((w < 0 || this.negativeSkipBug) && W >= 0) { + // IE can't deal with a space at the beginning, so put something else first + if (this.negativeSkipBug) { + var position = span.style.position; span.style.position = "absolute"; + start = this.startMarker; + if (span.firstChild) {span.insertBefore(start,span.firstChild)} + else {span.appendChild(start)} + start = this.startMarker; + } + span.appendChild(this.endMarker); + W = this.endMarker.offsetLeft - start.offsetLeft; + span.removeChild(this.endMarker); + if (this.negativeSkipBug) { + span.removeChild(start); + span.style.position = position; + } + } + return W/this.em; + }, + Measured: function (span,parent) { + if (span.bbox.width == null && span.bbox.w && !span.bbox.isMultiline) { + var w = this.getW(span); + span.bbox.rw += w - span.bbox.w; + span.bbox.w = w; + } + if (!parent) {parent = span.parentNode} + if (!parent.bbox) {parent.bbox = span.bbox} + return span; + }, + Remeasured: function (span,parent) { + parent.bbox = this.Measured(span,parent).bbox; + }, + + Em: function (m) { + if (Math.abs(m) < .0006) {return "0em"} + return m.toFixed(3).replace(/\.?0+$/,"") + "em"; + }, + Percent: function (m) { + return (100*m).toFixed(1).replace(/\.?0+$/,"") + "%"; + }, + length2percent: function (length) { + return this.Percent(this.length2em(length)); + }, + length2em: function (length,size) { + if (typeof(length) !== "string") {length = length.toString()} + if (length === "") {return ""} + if (length === MML.SIZE.NORMAL) {return 1} + if (length === MML.SIZE.BIG) {return 2} + if (length === MML.SIZE.SMALL) {return .71} + if (length === "infinity") {return HTMLCSS.BIGDIMEN} + var factor = this.FONTDATA.TeX_factor; + if (length.match(/mathspace$/)) {return HTMLCSS.MATHSPACE[length]*factor} + var match = length.match(/^\s*([-+]?(?:\.\d+|\d+(?:\.\d*)?))?(pt|em|ex|mu|px|pc|in|mm|cm|%)?/); + var m = parseFloat(match[1]||"1"), unit = match[2]; + if (size == null) {size = 1} + if (unit === "em") {return m * factor} + if (unit === "ex") {return m * HTMLCSS.TeX.x_height * factor} + if (unit === "%") {return m / 100 * size} + if (unit === "px") {return m / HTMLCSS.em} + if (unit === "pt") {return m / 10 * factor} // 10 pt to an em + if (unit === "pc") {return m * 1.2 * factor} // 12 pt to a pc + if (unit === "in") {return m * this.pxPerInch / HTMLCSS.em} + if (unit === "cm") {return m * this.pxPerInch / HTMLCSS.em / 2.54} // 2.54 cm to an inch + if (unit === "mm") {return m * this.pxPerInch / HTMLCSS.em / 25.4} // 10 mm to a cm + if (unit === "mu") {return m / 18 * factor} // FIXME: needs to include scale + return m*factor*size; // relative to given size (or 1em as default) + }, + thickness2em: function (length) { + var thick = HTMLCSS.TeX.rule_thickness; + if (length === MML.LINETHICKNESS.MEDIUM) {return thick} + if (length === MML.LINETHICKNESS.THIN) {return .67*thick} + if (length === MML.LINETHICKNESS.THICK) {return 1.67*thick} + return this.length2em(length,thick); + }, + + createStrut: function (span,h,before) { + var strut = this.Element("span",{ + style:{display:"inline-block", overflow:"hidden", height:h+"px", + width:"1px", marginRight:"-1px"} + }); + if (before) {span.insertBefore(strut,span.firstChild)} else {span.appendChild(strut)} + return strut; + }, + createBlank: function (span,w,before) { + var blank = this.Element("span",{ + style: {display:"inline-block", overflow:"hidden", height:"1px", width:this.Em(w)} + }); + if (before) {span.insertBefore(blank,span.firstChild)} else {span.appendChild(blank)} + return blank; + }, + createShift: function (span,w,before) { + var space = this.Element("span",{style:{marginLeft:this.Em(w)}}); + if (before) {span.insertBefore(space,span.firstChild)} else {span.appendChild(space)} + return space; + }, + createSpace: function (span,h,d,w,color) { + var H = this.Em(Math.max(0,h+d)), D = this.Em(-d); + if (this.msieInlineBlockAlignBug) {D = this.Em(HTMLCSS.getHD(span.parentNode).d-d)} + if (span.isBox || span.className == "mspace") { + span.bbox = { + h: h*span.scale, d: d*span.scale, + w: w*span.scale, rw: w*span.scale, lw: 0 + }; + span.style.height = H; span.style.verticalAlign = D; + } else { + span = this.addElement(span,"span",{style: {height:H, verticalAlign:D}}); + } + if (w >= 0) { + span.style.width = this.Em(w); + span.style.display = "inline-block"; + } else { + if (this.msieNegativeSpaceBug) {span.style.height = ""} + span.style.marginLeft = this.Em(w); + if (HTMLCSS.safariNegativeSpaceBug && span.parentNode.firstChild == span) + {this.createBlank(span,0,true)} + } + if (color && color !== MML.COLOR.TRANSPARENT) {span.style.backgroundColor = color} + return span; + }, + createRule: function (span,h,d,w,color) { + var min = HTMLCSS.TeX.min_rule_thickness; + // If rule is very thin, make it at least min_rule_thickness so it doesn't disappear + if (w > 0 && w*this.em < min) {w = min/this.em} + if (h+d > 0 && (h+d)*this.em < min) {var f = 1/(h+d)*(min/this.em); h *= f; d *= f} + if (!color) {color = "solid"} else {color = "solid "+color} + color = this.Em(w)+" "+color; + var H = this.Em(h+d), D = this.Em(-d); + var rule = this.addElement(span,"span",{ + style: {borderLeft: color, display: "inline-block", overflow:"hidden", + width:0, height:H, verticalAlign:D}, + bbox: {h:h, d:d, w:w, rw:w, lw:0}, noAdjust: true + }); + if (w > 0 && rule.offsetWidth == 0) {rule.style.width = this.Em(w)} + if (span.isBox || span.className == "mspace") {span.bbox = rule.bbox} + return rule; + }, + createFrame: function (span,h,d,w,t,style) { + var T = (this.msieBorderWidthBug ? 0 : 2*t); + var H = this.Em(h+d-T), D = this.Em(-d-t), W = this.Em(w-T); + var B = this.Em(t)+" "+style; + var frame = this.addElement(span,"span",{ + style: {border: B, display:"inline-block", overflow:"hidden", width:W, height:H}, + bbox: {h:h, d:d, w:w, rw:w, lw:0}, noAdjust: true + }); + if (D) {frame.style.verticalAlign = D} + return frame; + }, + + createStack: function (span,nobbox,w) { + if (this.msiePaddingWidthBug) {this.createStrut(span,0)} + var relativeW = String(w).match(/%$/); + var W = (!relativeW && w != null ? w : 0); + span = this.addElement(span,"span",{ + noAdjust: true, + style: {display:"inline-block", position:"relative", + width:(relativeW ? "100%" : this.Em(W)), height:0} + }); + if (!nobbox) { + span.parentNode.bbox = span.bbox = { + h: -this.BIGDIMEN, d: -this.BIGDIMEN, + w:W, lw: this.BIGDIMEN, rw: (!relativeW && w != null ? w : -this.BIGDIMEN) + }; + if (relativeW) {span.bbox.width = w} + } + return span; + }, + createBox: function (span,w) { + var box = this.addElement(span,"span",{style:{position:"absolute"}, isBox: true}); + if (w != null) {box.style.width = w} + return box; + }, + addBox: function (span,box) { + box.style.position = "absolute"; box.isBox = true; + return span.appendChild(box); + }, + placeBox: function (span,x,y,noclip) { + var parent = span.parentNode, bbox = span.bbox, BBOX = parent.bbox; + if (this.msiePlaceBoxBug) {this.addText(span,this.NBSP)} + if (this.imgSpaceBug) {this.addText(span,this.imgSpace)} + // Place the box + var HH = span.offsetHeight/this.em + 1, dx = 0; + if (span.noAdjust) {HH -= 1} else { + if (this.msieInlineBlockAlignBug) { + this.addElement(span,"img",{className:"MathJax_strut",border:0,src:"about:blank",style:{width:0,height:this.Em(HH)}}); + } else { + this.addElement(span,"span",{style:{display:"inline-block",width:0,height:this.Em(HH)}}); + } + } + span.style.top = this.Em(-y-HH); + span.style.left = this.Em(x+dx); + // Clip so that bbox doesn't include extra height and depth + if (bbox) { + if (this.negativeSkipBug) { + if (bbox.lw < 0) {dx = bbox.lw; HTMLCSS.createBlank(span,-dx,true); l = 0} + if (bbox.rw > bbox.w) {HTMLCSS.createBlank(span,bbox.rw-bbox.w+.1)} + } + if (!this.msieClipRectBug && !bbox.noclip && !noclip) { + var dd = 3/this.em; + var H = (bbox.H == null ? bbox.h : bbox.H), D = (bbox.D == null ? bbox.d : bbox.D); + var t = HH - H - dd, b = HH + D + dd, l = bbox.lw - 3*dd, r = 1000; + if (bbox.isFixed) {r = bbox.width-l} + span.style.clip = "rect("+this.Em(t)+" "+this.Em(r)+" "+this.Em(b)+" "+this.Em(l)+")"; + } + } + // Update the bounding box + if (bbox && BBOX) { + if (bbox.H != null && (BBOX.H == null || bbox.H + y > BBOX.H)) {BBOX.H = bbox.H + y} + if (bbox.D != null && (BBOX.D == null || bbox.D - y > BBOX.D)) {BBOX.D = bbox.D - y} + if (bbox.h + y > BBOX.h) {BBOX.h = bbox.h + y} + if (bbox.d - y > BBOX.d) {BBOX.d = bbox.d - y} + if (BBOX.H != null && BBOX.H <= BBOX.h) {delete BBOX.H} + if (BBOX.D != null && BBOX.D <= BBOX.d) {delete BBOX.D} + if (bbox.w + x > BBOX.w) { + BBOX.w = bbox.w + x; + if (BBOX.width == null) {parent.style.width = this.Em(BBOX.w)} + } + if (bbox.rw + x > BBOX.rw) {BBOX.rw = bbox.rw + x} + if (bbox.lw + x < BBOX.lw) {BBOX.lw = bbox.lw + x} + if (bbox.width != null && !bbox.isFixed) { + if (BBOX.width == null) {parent.style.width = BBOX.width = "100%"} + span.style.width = bbox.width; + } + } + }, + alignBox: function (span,align,y) { + this.placeBox(span,0,y); // set y position (and left aligned) + var bbox = span.bbox; if (bbox.isMultiline) return; + var isRelative = bbox.width != null && !bbox.isFixed; + var r = 0, c = -bbox.w/2, l = "50%"; + if (this.negativeSkipBug) {r = bbox.w-bbox.rw-.1; c += bbox.lw} + c = this.Em(c*this.msieMarginScale); + if (isRelative) {c = ""; l = (50 - parseFloat(bbox.width)/2) + "%"} + HUB.Insert(span.style,({ + right: {left:"", right: this.Em(r)}, + center: {left:l, marginLeft: c} + })[align]); + }, + setStackWidth: function (span,w) { + if (typeof(w) === "number") { + span.style.width = this.Em(Math.max(0,w)); + if (span.bbox) {span.bbox.w = w}; + if (span.parentNode.bbox) {span.parentNode.bbox.w = w} + } else { + span.style.width = span.parentNode.style.width = "100%"; + if (span.bbox) {span.bbox.width = w} + if (span.parentNode.bbox) {span.parentNode.bbox.width = w} + } + }, + + createDelimiter: function (span,code,HW,scale,font) { + if (!code) { + span.bbox = {h:0, d:0, w:this.TeX.nulldelimiterspace, lw: 0}; + span.bbox.rw = span.bbox.w; + this.createSpace(span,span.bbox.h,span.bbox.d,span.bbox.w); + return; + } + if (!scale) {scale = 1}; + if (!(HW instanceof Array)) {HW = [HW,HW]} + var hw = HW[1]; HW = HW[0]; + var delim = {alias: code}; + while (delim.alias) { + code = delim.alias; delim = this.FONTDATA.DELIMITERS[code]; + if (!delim) {delim = {HW: [0,this.FONTDATA.VARIANT[MML.VARIANT.NORMAL]]}} + } + for (var i = 0, m = delim.HW.length; i < m; i++) { + if (delim.HW[i][0]*scale >= HW-.01 || (i == m-1 && !delim.stretch)) { + if (delim.HW[i][2]) {scale *= delim.HW[i][2]} + if (delim.HW[i][3]) {code = delim.HW[i][3]} + var chr = this.addElement(span,"span"); + this.createChar(chr,[code,delim.HW[i][1]],scale,font); + span.bbox = chr.bbox; + span.offset = .65 * span.bbox.w; + span.scale = scale; + return; + } + } + if (delim.stretch) {this["extendDelimiter"+delim.dir](span,hw,delim.stretch,scale,font)} + }, + extendDelimiterV: function (span,H,delim,scale,font) { + var stack = this.createStack(span,true); + var top = this.createBox(stack), bot = this.createBox(stack); + this.createChar(top,(delim.top||delim.ext),scale,font); + this.createChar(bot,(delim.bot||delim.ext),scale,font); + var ext = {bbox:{w:0,lw:0,rw:0}}, mid = ext, EXT; + var h = top.bbox.h + top.bbox.d + bot.bbox.h + bot.bbox.d; + var y = -top.bbox.h; this.placeBox(top,0,y,true); y -= top.bbox.d; + if (delim.mid) { + mid = this.createBox(stack); this.createChar(mid,delim.mid,scale,font); + h += mid.bbox.h + mid.bbox.d; + } + if (H > h) { + ext = this.Element("span"); this.createChar(ext,delim.ext,scale,font); + var eH = ext.bbox.h + ext.bbox.d, eh = eH - .05, n, N, k = (delim.mid ? 2 : 1); + N = n = Math.ceil((H-h)/(k*eh)); + if (!delim.fullExtenders) {eh = (H-h)/(k*n)} + var dy = (n/(n+1))*(eH - eh); eh = eH - dy; y += dy + eh - ext.bbox.h; + while (k-- > 0) { + while (n-- > 0) { + if (!this.msieCloneNodeBug) {EXT = ext.cloneNode(true)} + else {EXT = this.Element("span"); this.createChar(EXT,delim.ext,scale,font)} + y -= eh; this.placeBox(this.addBox(stack,EXT),0,y,true); + } + y += dy - ext.bbox.d; + if (delim.mid && k) { + this.placeBox(mid,0,y-mid.bbox.h,true); n = N; + y += -(mid.bbox.h + mid.bbox.d) + dy + eh - ext.bbox.h; + } + } + } else { + y += (h - H)/2; + if (delim.mid) {this.placeBox(mid,0,y-mid.bbox.h,true); y += -(mid.bbox.h + mid.bbox.d)} + y += (h - H)/2; + } + this.placeBox(bot,0,y-bot.bbox.h,true); y -= bot.bbox.h + bot.bbox.d; + span.bbox = { + w: Math.max(top.bbox.w,ext.bbox.w,bot.bbox.w,mid.bbox.w), + lw: Math.min(top.bbox.lw,ext.bbox.lw,bot.bbox.lw,mid.bbox.lw), + rw: Math.max(top.bbox.rw,ext.bbox.rw,bot.bbox.rw,mid.bbox.rw), + h: 0, d: -y + } + span.scale = scale; + span.offset = .55 * span.bbox.w; + span.isMultiChar = true; + this.setStackWidth(stack,span.bbox.w); + }, + extendDelimiterH: function (span,W,delim,scale,font) { + var stack = this.createStack(span,true); + var left = this.createBox(stack), right = this.createBox(stack); + this.createChar(left,(delim.left||delim.rep),scale,font); + this.createChar(right,(delim.right||delim.rep),scale,font); + var rep = this.Element("span"); this.createChar(rep,delim.rep,scale,font); + var mid = {bbox: {h:-this.BIGDIMEN, d:-this.BIGDIMEN}}, REP; + this.placeBox(left,-left.bbox.lw,0,true); + var w = (left.bbox.rw - left.bbox.lw) + (right.bbox.rw - right.bbox.lw) - .05, + x = left.bbox.rw - left.bbox.lw - .025, dx; + if (delim.mid) { + mid = this.createBox(stack); this.createChar(mid,delim.mid,scale,font); + w += mid.bbox.w; + } + if (W > w) { + var rW = rep.bbox.rw-rep.bbox.lw, rw = rW - .05, n, N, k = (delim.mid ? 2 : 1); + N = n = Math.ceil((W-w)/(k*rw)); rw = (W-w)/(k*n); + dx = (n/(n+1))*(rW - rw); rw = rW - dx; x -= rep.bbox.lw + dx; + while (k-- > 0) { + while (n-- > 0) { + if (!this.msieCloneNodeBug) {REP = rep.cloneNode(true)} + else {REP = this.Element("span"); this.createChar(REP,delim.rep,scale,font)} + this.placeBox(this.addBox(stack,REP),x,0,true); x += rw; + } + if (delim.mid && k) {this.placeBox(mid,x,0,true); x += mid.bbox.w - dx; n = N} + } + } else { + dx = Math.min(w - W,left.bbox.w/2); + x -= dx/2; if (delim.mid) {this.placeBox(mid,x,0,true); x += mid.bbox.w}; x -= dx/2; + } + this.placeBox(right,x,0,true); + span.bbox = { + w: x+right.bbox.rw, lw: 0, rw: x+right.bbox.rw, + H: Math.max(left.bbox.h,rep.bbox.h,right.bbox.h,mid.bbox.h), + D: Math.max(left.bbox.d,rep.bbox.d,right.bbox.d,mid.bbox.d), + h: rep.bbox.h, d: rep.bbox.d + } + span.scale = scale; + span.isMultiChar = true; + this.setStackWidth(stack,span.bbox.w); + }, + createChar: function (span,data,scale,font) { + var SPAN = span, text = "", variant = {fonts: [data[1]], noRemap:true}; + if (font && font === MML.VARIANT.BOLD) {variant.fonts = [data[1]+"-bold",data[1]]} + if (typeof(data[1]) !== "string") {variant = data[1]} + if (data[0] instanceof Array) { + for (var i = 0, m = data[0].length; i < m; i++) {text += String.fromCharCode(data[0][i])} + } else {text = String.fromCharCode(data[0])} + if (scale !== 1) { + SPAN = this.addElement(span,"span",{style:{fontSize: this.Percent(scale)}, scale:scale}); + this.handleVariant(SPAN,variant,text); + span.bbox = SPAN.bbox; + } else {this.handleVariant(span,variant,text)} + if (data[2]) {span.style.marginLeft = this.Em(data[2])} + if (this.AccentBug && span.bbox.w === 0) { + // Handle combining characters by adding a non-breaking space and removing that width + SPAN.firstChild.nodeValue += this.NBSP; + HTMLCSS.createSpace(span,0,0,-span.offsetWidth/HTMLCSS.em); + } + }, + positionDelimiter: function (span,h) { + h -= span.bbox.h; span.bbox.d -= h; span.bbox.h += h; + if (h) { + if (this.safariVerticalAlignBug || this.msieVerticalAlignBug || this.konquerorVerticalAlignBug || + (this.operaVerticalAlignBug && span.isMultiChar)) { + if (span.firstChild.style.display === "" && span.style.top !== "") + {span = span.firstChild; h -= parseFloat(span.style.top)} + span.style.position = "relative"; + span.style.top = this.Em(-h); + } else { + span.style.verticalAlign = this.Em(h); + if (HTMLCSS.ffVerticalAlignBug) {HTMLCSS.createRule(span.parentNode,span.bbox.h,0,0)} + } + } + }, + + handleVariant: function (span,variant,text) { + var newtext = "", n, c, font, spanv, SPANV, VARIANT, SPAN = span; + if (text.length === 0) return; + if (!span.bbox) { + span.bbox = { + w: 0, h: -this.BIGDIMEN, d: -this.BIGDIMEN, + rw: -this.BIGDIMEN, lw: this.BIGDIMEN + }; + } + if (!variant) {variant = this.FONTDATA.VARIANT[MML.VARIANT.NORMAL]} + VARIANT = variant; + for (var i = 0, m = text.length; i < m; i++) { + variant = VARIANT; + n = text.charCodeAt(i); c = text.charAt(i); + if (c === this.PLANE1) { + i++; n = text.charCodeAt(i) + 0x1D400 - 0xDC00; + if (this.FONTDATA.RemapPlane1) { + var nv = this.FONTDATA.RemapPlane1(n,variant); + n = nv.n; variant = nv.variant; + } + } else { + var id, M, RANGES = this.FONTDATA.RANGES; + for (id = 0, M = RANGES.length; id < M; id++) { + if (RANGES[id].name === "alpha" && variant.noLowerCase) continue; + var N = variant["offset"+RANGES[id].offset]; + if (N && n >= RANGES[id].low && n <= RANGES[id].high) { + if (RANGES[id].remap && RANGES[id].remap[n]) { + n = N + RANGES[id].remap[n]; + } else { + n = n - RANGES[id].low + N; + if (RANGES[id].add) {n += RANGES[id].add} + } + if (variant["variant"+RANGES[id].offset]) + {variant = this.FONTDATA.VARIANT[variant["variant"+RANGES[id].offset]]} + break; + } + } + } + if (variant.remap && variant.remap[n]) { + if (variant.remap[n] instanceof Array) { + var remap = variant.remap[n]; + n = remap[0]; variant = this.FONTDATA.VARIANT[remap[1]]; + } else { + n = variant.remap[n]; + if (variant.remap.variant) {variant = this.FONTDATA.VARIANT[variant.remap.variant]} + } + } + if (this.FONTDATA.REMAP[n] && !variant.noRemap) {n = this.FONTDATA.REMAP[n]} + font = this.lookupChar(variant,n); c = font[n]; + if (variant !== SPANV && !c[5].img) { + if (newtext.length) {this.addText(SPAN,newtext); newtext = ""} + SPAN = span; SPANV = spanv; + if (variant !== SPANV) + {if (SPANV) {SPAN = this.addElement(span,"span")} else {spanv = variant}} + this.handleFont(SPAN,font,SPAN !== span); + SPANV = variant; + } + newtext = this.handleChar(SPAN,font,c,n,newtext); + if (c[0]/1000 > span.bbox.h) {span.bbox.h = c[0]/1000} + if (c[1]/1000 > span.bbox.d) {span.bbox.d = c[1]/1000} + if (span.bbox.w + c[3]/1000 < span.bbox.lw) {span.bbox.lw = span.bbox.w + c[3]/1000} + if (span.bbox.w + c[4]/1000 > span.bbox.rw) {span.bbox.rw = span.bbox.w + c[4]/1000} + span.bbox.w += c[2]/1000; + } + if (newtext.length) {this.addText(SPAN,newtext)} + if (span.scale && span.scale !== 1) { + span.bbox.h *= span.scale; span.bbox.d *= span.scale; + span.bbox.w *= span.scale; span.bbox.lw *= span.scale; span.bbox.rw *= span.scale; + } + if (text.length == 1 && font.skew && font.skew[n]) {span.bbox.skew = font.skew[n]} + }, + + handleFont: function (span,font,force) { + span.style.fontFamily = font.family; + if (!(HTMLCSS.FontFaceBug && font.isWebFont)) { + var style = font.style || "normal", weight = font.weight || "normal"; + if (style !== "normal" || force) {span.style.fontStyle = style} + if (weight !== "normal" || force) {span.style.fontWeight = weight} + } + }, + + handleChar: function (span,font,c,n,text) { + var C = c[5]; + if (C.img) {return this.handleImg(span,font,c,n,text)} + if (C.isUnknown && this.FONTDATA.DELIMITERS[n]) { + if (text.length) {this.addText(span,text)} + var scale = span.scale; + HTMLCSS.createDelimiter(span,n,0,1,font); + span.scale = scale; + c[0] = span.bbox.h*1000; c[1] = span.bbox.d*1000; + c[2] = span.bbox.w*1000; c[3] = span.bbox.lw*1000; c[4] = span.bbox.rw*1000; + return ""; + } + if (C.c == null) { + if (n <= 0xFFFF) {C.c = String.fromCharCode(n)} + else {C.c = this.PLANE1 + String.fromCharCode(n-0x1D400+0xDC00)} + } + if (c[2] || !this.msieAccentBug || text.length) {return text + C.c} + // Handle IE accent clipping bug + HTMLCSS.createShift(span,c[3]/1000); + HTMLCSS.createShift(span,(c[4]-c[3])/1000); + this.addText(span,C.c); + HTMLCSS.createShift(span,-c[4]/1000); + return ""; + }, + handleImg: function (span,font,c,n,text) {return text}, // replaced by imageFont extension + + lookupChar: function (variant,n) { + var i, m; + if (!variant.FONTS) { + var FONTS = this.FONTDATA.FONTS; + var fonts = (variant.fonts || this.FONTDATA.VARIANT.normal.fonts); + if (!(fonts instanceof Array)) {fonts = [fonts]} + if (variant.fonts != fonts) {variant.fonts = fonts} + variant.FONTS = []; + for (i = 0, m = fonts.length; i < m; i++) { + if (FONTS[fonts[i]]) { + variant.FONTS.push(FONTS[fonts[i]]); + FONTS[fonts[i]].name = fonts[i]; // FIXME: should really be in the font files + } + } + } + for (i = 0, m = variant.FONTS.length; i < m; i++) { + var font = variant.FONTS[i]; + if (typeof(font) === "string") { + delete variant.FONTS; this.loadFont(font); + } + if (font[n]) { + if (font[n].length === 5) {font[n][5] = {}} + if (HTMLCSS.allowWebFonts && !font.available) + {this.loadWebFont(font)} else {return font} + } else {this.findBlock(font,n)} + } + var unknown = (variant.defaultFont || {family:HTMLCSS.config.undefinedFamily}); + if (variant.bold) {unknown.weight = "bold"}; if (variant.italic) {unknown.style = "italic"} + unknown[n] = [800,200,500,0,500,{isUnknown:true}]; // [h,d,w,lw,rw,{data}] + return unknown; + }, + + findBlock: function (font,c) { + if (font.Ranges) { + // FIXME: do binary search? + for (var i = 0, m = font.Ranges.length; i < m; i++) { + if (c < font.Ranges[i][0]) return; + if (c <= font.Ranges[i][1]) { + var file = font.Ranges[i][2]; + for (var j = font.Ranges.length-1; j >= 0; j--) + {if (font.Ranges[j][2] == file) {font.Ranges.splice(j,1)}} + this.loadFont(font.directory+"/"+file+".js"); + } + } + } + }, + + loadFont: function (file) { + var queue = MathJax.Callback.Queue(); + queue.Push(["Require",AJAX,this.fontDir+"/"+file]); + if (this.imgFonts) { + if (!MathJax.isPacked) {file = file.replace(/\/([^\/]*)$/,HTMLCSS.imgPacked+"/$1")} + queue.Push(["Require",AJAX,this.webfontDir+"/png/"+file]); + } + HUB.RestartAfter(queue.Push({})); + }, + + loadWebFont: function (font) { + font.available = font.isWebFont = true; + if (HTMLCSS.FontFaceBug) { + font.family = font.name; + if (HTMLCSS.msieFontCSSBug) {font.family += "-Web"} + } + HUB.RestartAfter(this.Font.loadWebFont(font)); + }, + loadWebFontError: function (font,done) { + // + // After the first web font fails to load, switch to image fonts, if possible + // otherwise, give up on web fonts all together + // + HUB.Startup.signal.Post("HTML-CSS Jax - disable web fonts"); + font.isWebFont = false; + if (this.config.imageFont && this.config.imageFont === this.fontInUse) { + this.imgFonts = true; + HUB.Startup.signal.Post("HTML-CSS Jax - switch to image fonts"); + HUB.Startup.signal.Post("HTML-CSS Jax - using image fonts"); + MathJax.Message.Set("Web-Fonts not available -- using image fonts instead",null,3000); + AJAX.Require(this.directory+"/imageFonts.js",done); + } else { + this.allowWebFonts = false; + done(); + } + }, + + Element: MathJax.HTML.Element, + addElement: MathJax.HTML.addElement, + TextNode: MathJax.HTML.TextNode, + addText: MathJax.HTML.addText, + ucMatch: MathJax.HTML.ucMatch, + + BIGDIMEN: 10000000, + ID: 0, idPostfix: "", + GetID: function () {this.ID++; return this.ID}, + + MATHSPACE: { + veryverythinmathspace: 1/18, + verythinmathspace: 2/18, + thinmathspace: 3/18, + mediummathspace: 4/18, + thickmathspace: 5/18, + verythickmathspace: 6/18, + veryverythickmathspace: 7/18, + negativeveryverythinmathspace: -1/18, + negativeverythinmathspace: -2/18, + negativethinmathspace: -3/18, + negativemediummathspace: -4/18, + negativethickmathspace: -5/18, + negativeverythickmathspace: -6/18, + negativeveryverythickmathspace: -7/18 + }, + + TeX: { + x_height: .430554, + quad: 1, + num1: .676508, + num2: .393732, + num3: .44373, + denom1: .685951, + denom2: .344841, + sup1: .412892, + sup2: .362892, + sup3: .288888, + sub1: .15, + sub2: .247217, + sup_drop: .386108, + sub_drop: .05, + delim1: 2.39, + delim2: 1.0, + axis_height: .25, + rule_thickness: .06, + big_op_spacing1: .111111, + big_op_spacing2: .166666, + big_op_spacing3: .2, + big_op_spacing4: .6, + big_op_spacing5: .1, + + scriptspace: .1, + nulldelimiterspace: .12, + delimiterfactor: 901, + delimitershortfall: .1, // originally .3, + + min_rule_thickness: 1.25 // in pixels + }, + + PLANE1: String.fromCharCode(0xD835), + NBSP: String.fromCharCode(0xA0), + + rfuzz: 0 // adjustment to rule placements in roots + }); + + MathJax.Hub.Register.StartupHook("mml Jax Ready",function () { + + MML = MathJax.ElementJax.mml; + + MML.mbase.Augment({ + toHTML: function (span) { + var split = this.HTMLlineBreaks(); + if (split.length > 2) {return this.toHTMLmultiline(span,split)} + span = this.HTMLcreateSpan(span); if (this.type != "mrow") {span = this.HTMLhandleSize(span)} + for (var i = 0, m = this.data.length; i < m; i++) + {if (this.data[i]) {this.data[i].toHTML(span)}} + var stretchy = this.HTMLcomputeBBox(span); + var h = span.bbox.h, d = span.bbox.d; + for (i = 0, m = stretchy.length; i < m; i++) {stretchy[i].HTMLstretchV(span,h,d)} + if (stretchy.length) {this.HTMLcomputeBBox(span,true)} + this.HTMLhandleSpace(span); + this.HTMLhandleColor(span); + return span; + }, + HTMLlineBreaks: function () { + var split = [[0,this]]; + for (var i = 0, m = this.data.length; i < m; i++) { + if (this.data[i]) { + var lb = this.data[i].lineBreak(); + if (lb !== "none") { + var j = (lb === "after" ? i+1 : i); + if (split.length === 0 || split[split.length-1] !== j) + {split.push([j,this.data[i]])} else {split[split.length-1] = [j,this.data[i]]} + } + } + } + split.push([this.data.length,split[split.length-1][1]]); + return split; + }, + toHTMLmultiline: function (span) {MML.mbase.HTMLautoloadFile("multiline")}, + HTMLcomputeBBox: function (span,full,i,m) { + if (i == null) {i = 0}; if (m == null) {m = this.data.length} + var BBOX = span.bbox = {}, stretchy = []; + while (i < m) { + var core = this.data[i]; if (!core) continue; + if (!full && core.HTMLcanStretch("Vertical")) + {stretchy.push(core); core = (core.CoreMO()||core)} + this.HTMLcombineBBoxes(core,BBOX); i++; + } + this.HTMLcleanBBox(BBOX); + return stretchy; + }, + HTMLcombineBBoxes: function (core,BBOX) { + if (BBOX.w == null) {this.HTMLemptyBBox(BBOX)} + var child = core.HTMLspanElement(); if (!child || !child.bbox) return; + var bbox = child.bbox; + if (bbox.d > BBOX.d) {BBOX.d = bbox.d} + if (bbox.h > BBOX.h) {BBOX.h = bbox.h} + if (bbox.D != null && bbox.D > BBOX.D) {BBOX.D = bbox.D} + if (bbox.H != null && bbox.H > BBOX.H) {BBOX.H = bbox.H} + if (child.style.paddingLeft) {BBOX.w += parseFloat(child.style.paddingLeft)*(child.scale||1)} + if (BBOX.w + bbox.lw < BBOX.lw) {BBOX.lw = BBOX.w + bbox.lw} + if (BBOX.w + bbox.rw > BBOX.rw) {BBOX.rw = BBOX.w + bbox.rw} + BBOX.w += bbox.w; + if (child.style.paddingRight) {BBOX.w += parseFloat(child.style.paddingRight)*(child.scale||1)} + if (bbox.width) {BBOX.width = bbox.width} + }, + HTMLemptyBBox: function (BBOX) { + BBOX.h = BBOX.d = BBOX.H = BBOX.D = BBOX.rw = -HTMLCSS.BIGDIMEN; + BBOX.w = 0; BBOX.lw = HTMLCSS.BIGDIMEN; + return BBOX; + }, + HTMLcleanBBox: function (BBOX) { + if (BBOX.h === this.BIGDIMEN) + {BBOX.h = BBOX.d = BBOX.H = BBOX.D = BBOX.w = BBOX.rw = BBOX.lw = 0} + if (BBOX.D <= BBOX.d) {delete BBOX.D}; if (BBOX.H <= BBOX.h) {delete BBOX.H} + }, + HTMLzeroBBox: function () {return {h:0, d:0, w:0, lw: 0, rw:0}}, + HTMLcanStretch: function (direction) { + if (this.isEmbellished()) {return this.Core().HTMLcanStretch(direction)} + return false; + }, + HTMLstretchH: function (box,W) {return this.HTMLspanElement()}, + HTMLstretchV: function (box,h,d) {return this.HTMLspanElement()}, + HTMLnotEmpty: function (data) { + while (data) { + if ((data.type !== "mrow" && data.type !== "texatom") || + data.data.length > 1) {return true} + data = data.data[0]; + } + return false; + }, + + HTMLmeasureChild: function (n,box) { + if (this.data[n] != null) {HTMLCSS.Measured(this.data[n].toHTML(box),box)} + else {box.bbox = this.HTMLzeroBBox()} + }, + + HTMLcreateSpan: function (span) { + if (this.spanID) { + var SPAN = this.HTMLspanElement(); + if (SPAN) { + while (SPAN.firstChild) {SPAN.removeChild(SPAN.firstChild)} + SPAN.bbox = {w:0, h:0, d:0, lw:0, rw:0}; + SPAN.scale = 1; SPAN.isMultChar = null; + SPAN.style.cssText = ""; + return SPAN; + } + } + if (this.href) {span = HTMLCSS.addElement(span,"a",{href:this.href})} + span = HTMLCSS.addElement(span,"span",{className: this.type}); + if (HTMLCSS.imgHeightBug) {span.style.display = "inline-block"} + if (this["class"] != null) {span.className += " "+this["class"]} + if (this.style) { + span.style.cssText = this.style; + if (span.style.fontSize) {this.mathsize = span.style.fontSize; span.style.fontSize = ""} + } + this.spanID = HTMLCSS.GetID(); + span.id = (this.id || "MathJax-Span-"+this.spanID) + HTMLCSS.idPostfix; + span.bbox = {w:0, h:0, d:0, lw:0, lr:0}; + if (this.href) {span.parentNode.bbox = span.bbox} + return span; + }, + HTMLspanElement: function () { + if (!this.spanID) {return null} + return document.getElementById((this.id||"MathJax-Span-"+this.spanID)+HTMLCSS.idPostfix); + }, + + HTMLhandleVariant: function (span,variant,text) {HTMLCSS.handleVariant(span,variant,text)}, + + HTMLhandleSize: function (span) { + if (!span.scale) { + span.scale = this.HTMLgetScale(); + if (span.scale !== 1) {span.style.fontSize = HTMLCSS.Percent(span.scale)} + } + return span; + }, + + HTMLhandleColor: function (span) { + var values = this.getValues("mathcolor","color"); + if (this.mathbackground) {values.mathbackground = this.mathbackground} + if (this.background) {values.background = this.background} + // @@@ FIXME: handle border as well? + if (this.style && span.style.backgroundColor) { + values.mathbackground = span.style.backgroundColor; + span.style.backgroundColor = "transparent"; + } + if (values.color && !this.mathcolor) {values.mathcolor = values.color} + if (values.background && !this.mathbackground) {values.mathbackground = values.background} + if (values.mathcolor) {span.style.color = values.mathcolor} + if (values.mathbackground && values.mathbackground !== MML.COLOR.TRANSPARENT) { + var dd = 1/HTMLCSS.em, lW = 0, rW = 0; + if (this.isToken) {lW = span.bbox.lw; rW = span.bbox.rw - span.bbox.w} + if (span.style.paddingLeft !== "") {lW += parseFloat(span.style.paddingLeft)*(span.scale||1)} + if (span.style.paddingRight !== "") {rW -= parseFloat(span.style.paddingRight)*(span.scale||1)} + var W = Math.max(0,HTMLCSS.getW(span) + (HTMLCSS.PaddingWidthBug ? 0 : rW - lW)); + if (HTMLCSS.msieCharPaddingWidthBug && span.style.paddingLeft !== "") + {W += parseFloat(span.style.paddingLeft)*(span.scale||1)} + var H = span.bbox.h + span.bbox.d, D = -span.bbox.d; + if (W > 0) {W += 2*dd; lW -= dd}; if (H > 0) {H += 2*dd; D -= dd}; rW = -W-lW; + var frame = HTMLCSS.Element("span",{id:"MathJax-Color-"+this.spanID+HTMLCSS.idPostfix, + style:{display:"inline-block", backgroundColor:values.mathbackground, + width: HTMLCSS.Em(W), height:HTMLCSS.Em(H), verticalAlign: HTMLCSS.Em(D), + marginLeft: HTMLCSS.Em(lW), marginRight: HTMLCSS.Em(rW)} + }); + if (HTMLCSS.msieInlineBlockAlignBug) { + frame.style.position = "relative"; frame.style.width = frame.style.height = 0; + frame.style.verticalAlign = frame.style.marginLeft = frame.style.marginRight = ""; + HTMLCSS.placeBox(HTMLCSS.addElement(frame,"span",{ + noAdjust: true, + style: {display:"inline-block", position:"absolute", overflow:"hidden", + width: HTMLCSS.Em(W), height: HTMLCSS.Em(H), + background: values.mathbackground} + }),lW,span.bbox.h+dd); + } + span.parentNode.insertBefore(frame,span); + if (HTMLCSS.msieColorPositionBug) {span.style.position = "relative"} + return frame; + } + return null; + }, + HTMLremoveColor: function () { + var color = document.getElementById("MathJax-Color-"+this.spanID+HTMLCSS.idPostfix); + if (color) {color.parentNode.removeChild(color)} + }, + + HTMLhandleSpace: function (span) { + if (this.useMMLspacing) { + if (this.type !== "mo") return; + var values = this.getValues("scriptlevel","lspace","rspace"); + if (values.scriptlevel <= 0 || this.hasValue("lspace") || this.hasValue("rspace")) { + values.lspace = Math.max(0,HTMLCSS.length2em(values.lspace)); + values.rspace = Math.max(0,HTMLCSS.length2em(values.rspace)); + var core = this, parent = this.Parent(); + while (parent && parent.isEmbellished() && parent.Core() === core) + {core = parent; parent = parent.Parent(); span = core.HTMLspanElement()} + if (values.lspace) {span.style.paddingLeft = HTMLCSS.Em(values.lspace)} + if (values.rspace) {span.style.paddingRight = HTMLCSS.Em(values.rspace)} + } + } else { + var space = this.texSpacing(); + if (space !== "") { + space = HTMLCSS.length2em(space)/(span.scale||1); + if (span.style.paddingLeft) {space += parseFloat(span.style.paddingLeft)} + span.style.paddingLeft = HTMLCSS.Em(space); + } + } + }, + + HTMLgetScale: function () { + var scale = 1, values = this.getValues("mathsize","scriptlevel","fontsize","scriptminsize"); + if (this.style) { + var span = this.HTMLspanElement(); + if (span.style.fontSize != "") {values.fontsize = span.style.fontSize} + } + if (values.fontsize && !this.mathsize) {values.mathsize = values.fontsize} + if (values.scriptlevel !== 0) { + if (values.scriptlevel > 2) {values.scriptlevel = 2} + scale = Math.pow(this.Get("scriptsizemultiplier"),values.scriptlevel); + values.scriptminsize = HTMLCSS.length2em(values.scriptminsize); + if (scale < values.scriptminsize) {scale = values.scriptminsize} + } + scale *= HTMLCSS.length2em(values.mathsize); + return scale; + }, + + HTMLgetVariant: function () { + var values = this.getValues("mathvariant","fontfamily","fontweight","fontstyle"); + if (this.style) { + var span = this.HTMLspanElement(); + if (span.style.fontFamily) {values.fontfamily = span.style.fontFamily} + if (span.style.fontWeight) {values.fontweight = span.style.fontWeight} + if (span.style.fontStyle) {values.fontStyle = span.style.fontStyle} + } + var variant = values.mathvariant; if (this.variantForm) {variant = "-"+HTMLCSS.fontInUse+"-variant"} + if (values.fontfamily && !this.mathvariant) { + if (!values.fontweight && values.mathvariant.match(/bold/)) {values.fontweight = "bold"} + if (!values.fontstyle && values.mathvariant.match(/italic/)) {values.fontstyle = "italic"} + return {FONTS:[], fonts:[], noRemap:true, + defaultFont: {family:values.fontfamily, style:values.fontstyle, weight:values.fontweight}}; + } + if (values.fontweight === "bold") { + variant = { + normal:MML.VARIANT.BOLD, italic:MML.VARIANT.BOLDITALIC, + fraktur:MML.VARIANT.BOLDFRAKTUR, script:MML.VARIANT.BOLDSCRIPT, + "sans-serif":MML.VARIANT.BOLDSANSSERIF, + "sans-serif-italic":MML.VARIANT.SANSSERIFBOLDITALIC + }[variant]||variant; + } else if (values.fontweight === "normal") { + variant = { + bold:MML.VARIANT.normal, "bold-italic":MML.VARIANT.ITALIC, + "bold-fraktur":MML.VARIANT.FRAKTUR, "bold-script":MML.VARIANT.SCRIPT, + "bold-sans-serif":MML.VARIANT.SANSSERIF, + "sans-serif-bold-italic":MML.VARIANT.SANSSERIFITALIC + }[variant]||variant; + } + if (values.fontstyle === "italic") { + variant = { + normal:MML.VARIANT.ITALIC, bold:MML.VARIANT.BOLDITALIC, + "sans-serif":MML.VARIANT.SANSSERIFITALIC, + "bold-sans-serif":MML.VARIANT.SANSSERIFBOLDITALIC + }[variant]||variant; + } else if (values.fontstyle === "normal") { + variant = { + italic:MML.VARIANT.NORMAL, "bold-italic":MML.VARIANT.BOLD, + "sans-serif-italic":MML.VARIANT.SANSSERIF, + "sans-serif-bold-italic":MML.VARIANT.BOLDSANSSERIF + }[variant]||variant; + } + return HTMLCSS.FONTDATA.VARIANT[variant]; + } + },{ + HTMLautoload: function () { + var file = HTMLCSS.autoloadDir+"/"+this.type+".js"; + HUB.RestartAfter(AJAX.Require(file)); + }, + HTMLautoloadFile: function (name) { + var file = HTMLCSS.autoloadDir+"/"+name+".js"; + HUB.RestartAfter(AJAX.Require(file)); + }, + + HTMLstretchH: function (box,w) { + this.HTMLremoveColor(); + return this.toHTML(box,w); + }, + + HTMLstretchV: function (box,h,d) { + this.HTMLremoveColor(); + return this.toHTML(box,h,d); + } + }); + + MML.chars.Augment({ + toHTML: function (span,variant) { + this.HTMLhandleVariant(span,variant,this.data.join("").replace(/[\u2061-\u2064]/g,"")); // remove invisibles + } + }); + MML.entity.Augment({ + toHTML: function (span,variant) { + this.HTMLhandleVariant(span,variant,this.toString().replace(/[\u2061-\u2064]/g,"")); // remove invisibles + } + }); + + MML.mi.Augment({ + toHTML: function (span) { + span = this.HTMLhandleSize(this.HTMLcreateSpan(span)); span.bbox = null; + var variant = this.HTMLgetVariant(); + for (var i = 0, m = this.data.length; i < m; i++) + {if (this.data[i]) {this.data[i].toHTML(span,variant)}} + if (!span.bbox) {span.bbox = {w:0, h:0, d:0, rw:0, lw:0}} + if (this.data.join("").length !== 1) {delete span.bbox.skew} + this.HTMLhandleSpace(span); + this.HTMLhandleColor(span); + return span; + } + }); + + MML.mn.Augment({ + toHTML: function (span) { + span = this.HTMLhandleSize(this.HTMLcreateSpan(span)); span.bbox = null; + var variant = this.HTMLgetVariant(); + for (var i = 0, m = this.data.length; i < m; i++) + {if (this.data[i]) {this.data[i].toHTML(span,variant)}} + if (!span.bbox) {span.bbox = {w:0, h:0, d:0, rw:0, lw:0}} + if (this.data.join("").length !== 1) {delete span.bbox.skew} + this.HTMLhandleSpace(span); + this.HTMLhandleColor(span); + return span; + } + }); + + MML.mo.Augment({ + toHTML: function (span) { + span = this.HTMLhandleSize(this.HTMLcreateSpan(span)); + if (this.data.length == 0) {return span} else {span.bbox = null} + var text = this.data.join(""); + var variant = this.HTMLgetVariant(); + var values = this.getValues("largeop","displaystyle"); + if (values.largeop) + {variant = HTMLCSS.FONTDATA.VARIANT[values.displaystyle ? "-largeOp" : "-smallOp"]} + for (var i = 0, m = this.data.length; i < m; i++) + {if (this.data[i]) {this.data[i].toHTML(span,variant)}} + if (!span.bbox) {span.bbox = {w:0, h:0, d:0, rw:0, lw:0}} + if (text.length !== 1) {delete span.bbox.skew} + if (HTMLCSS.AccentBug && span.bbox.w === 0 && text.length === 1 && span.firstChild) { + // Handle combining characters by adding a non-breaking space and removing that width + span.firstChild.nodeValue += HTMLCSS.NBSP; + HTMLCSS.createSpace(span,0,0,-span.offsetWidth/HTMLCSS.em); + } + if (values.largeop) { + var p = (span.bbox.h - span.bbox.d)/2 - HTMLCSS.TeX.axis_height*span.scale; + if (HTMLCSS.safariVerticalAlignBug && span.lastChild.nodeName === "IMG") { + span.lastChild.style.verticalAlign = + HTMLCSS.Em(parseFloat(span.lastChild.style.verticalAlign||0)/HTMLCSS.em-p/span.scale); + } else if (HTMLCSS.konquerorVerticalAlignBug && span.lastChild.nodeName === "IMG") { + span.style.position = "relative"; + span.lastChild.style.position="relative"; + span.lastChild.style.top = HTMLCSS.Em(p/span.scale); + } else { + span.style.verticalAlign = HTMLCSS.Em(-p/span.scale); + } + span.bbox.h -= p; span.bbox.d += p; + if (span.bbox.rw > span.bbox.w) { + span.bbox.ic = span.bbox.rw-span.bbox.w; + HTMLCSS.createBlank(span,span.bbox.ic); + span.bbox.w = span.bbox.rw; + } + } + this.HTMLhandleSpace(span); + this.HTMLhandleColor(span); + return span; + }, + HTMLcanStretch: function (direction) { + if (!this.Get("stretchy")) {return false} + var c = this.data.join(""); + if (c.length > 1) {return false} + c = HTMLCSS.FONTDATA.DELIMITERS[c.charCodeAt(0)]; + return (c && c.dir == direction.substr(0,1)); + }, + HTMLstretchV: function (box,h,d) { + this.HTMLremoveColor(); + var values = this.getValues("symmetric","maxsize","minsize"); + var span = this.HTMLspanElement(), H; + var axis = HTMLCSS.TeX.axis_height, scale = span.scale; + if (values.symmetric) {H = 2*Math.max(h-axis,d+axis)} else {H = h + d} + values.maxsize = HTMLCSS.length2em(values.maxsize,span.bbox.h+span.bbox.d); + values.minsize = HTMLCSS.length2em(values.minsize,span.bbox.h+span.bbox.d); + H = Math.max(values.minsize,Math.min(values.maxsize,H)); + span = this.HTMLcreateSpan(box); // clear contents and attributes + HTMLCSS.createDelimiter(span,this.data.join("").charCodeAt(0),H,scale); + if (values.symmetric) {H = (span.bbox.h + span.bbox.d)/2 + axis} + else {H = (span.bbox.h + span.bbox.d) * h/(h + d)} + HTMLCSS.positionDelimiter(span,H); + this.HTMLhandleSpace(span); // add in lspace/rspace, if any + this.HTMLhandleColor(span); + return span; + }, + HTMLstretchH: function (box,W) { + this.HTMLremoveColor(); + var values = this.getValues("maxsize","minsize","mathvariant","fontweight"); + if (values.fontweight === "bold" && !this.mathvariant) {values.mathvariant = MML.VARIANT.BOLD} + var span = this.HTMLspanElement(), scale = span.scale; + values.maxsize = HTMLCSS.length2em(values.maxsize,span.bbox.w); + values.minsize = HTMLCSS.length2em(values.minsize,span.bbox.w); + W = Math.max(values.minsize,Math.min(values.maxsize,W)); + span = this.HTMLcreateSpan(box); // clear contents and attributes + HTMLCSS.createDelimiter(span,this.data.join("").charCodeAt(0),W,scale,values.mathvariant); + this.HTMLhandleSpace(span); // add in lspace/rspace, if any + this.HTMLhandleColor(span); + return span; + } + }); + + MML.mtext.Augment({ + toHTML: function (span) { + span = this.HTMLhandleSize(this.HTMLcreateSpan(span)); span.bbox = null; + if (this.Parent().type === "merror") { + // Avoid setting the font style for error text + HTMLCSS.addText(span,this.data.join("")); + var HD = HTMLCSS.getHD(span), W = HTMLCSS.getW(span); + span.bbox = {h: HD.h, d: HD.d, w: W, lw: 0, rw: W}; + } else { + var variant = this.HTMLgetVariant(); + for (var i = 0, m = this.data.length; i < m; i++) + {if (this.data[i]) {this.data[i].toHTML(span,variant)}} + if (!span.bbox) {span.bbox = {w:0, h:0, d:0, rw:0, lw:0}} + if (this.data.join("").length !== 1) {delete span.bbox.skew} + } + this.HTMLhandleSpace(span); + this.HTMLhandleColor(span); + return span; + } + }); + + MML.ms.Augment({toHTML: MML.mbase.HTMLautoload}); + + MML.mglyph.Augment({toHTML: MML.mbase.HTMLautoload}); + + MML.mspace.Augment({ + toHTML: function (span) { + span = this.HTMLhandleSize(this.HTMLcreateSpan(span)); + var values = this.getValues("height","depth","width"); + values.mathbackground = this.mathbackground; + if (this.background && !this.mathbackground) {values.mathbackground = this.background} + var h = HTMLCSS.length2em(values.height), d = HTMLCSS.length2em(values.depth), + w = HTMLCSS.length2em(values.width); + HTMLCSS.createSpace(span,h,d,w,values.mathbackground); + return span; + } + }); + + MML.mphantom.Augment({ + toHTML: function (span,HW,D) { + span = this.HTMLcreateSpan(span); + if (this.data[0] != null) { + var box = HTMLCSS.Measured(this.data[0].toHTML(span),span); + if (D != null) {HTMLCSS.Remeasured(this.data[0].HTMLstretchV(span,HW,D),span)} + else if (HW != null) {HTMLCSS.Remeasured(this.data[0].HTMLstretchH(span,HW),span)} + span.bbox = {w: box.bbox.w, h: box.bbox.h, d: box.bbox.d, lw: 0, rw: 0}; + for (var i = 0, m = span.childNodes.length; i < m; i++) + {span.childNodes[i].style.visibility = "hidden"} + } + this.HTMLhandleSpace(span); + this.HTMLhandleColor(span); + return span; + }, + HTMLstretchH: MML.mbase.HTMLstretchH, + HTMLstretchV: MML.mbase.HTMLstretchV + }); + + MML.mpadded.Augment({ + toHTML: function (span,HW,D) { + span = this.HTMLcreateSpan(span); + if (this.data[0] != null) { + var stack = HTMLCSS.createStack(span,true); + var box = HTMLCSS.createBox(stack); + HTMLCSS.Measured(this.data[0].toHTML(box),box); + if (D != null) {HTMLCSS.Remeasured(this.data[0].HTMLstretchV(box,HW,D),box)} + else if (HW != null) {HTMLCSS.Remeasured(this.data[0].HTMLstretchH(box,HW),box)} + var values = this.getValues("height","depth","width","lspace","voffset"), x = 0, y = 0; + if (values.lspace) {x = this.HTMLlength2em(box,values.lspace)} + if (values.voffset) {y = this.HTMLlength2em(box,values.voffset)} + HTMLCSS.placeBox(box,x,y); + span.bbox = { + h: box.bbox.h, d: box.bbox.d, w: box.bbox.w, + lw: Math.min(0,box.bbox.lw+x), rw: Math.max(box.bbox.w,box.bbox.rw+x), + H: Math.max((box.bbox.H == null ? -HTMLCSS.BIGDIMEN : box.bbox.H),box.bbox.h+y), + D: Math.max((box.bbox.D == null ? -HTMLCSS.BIGDIMEN : box.bbox.D),box.bbox.d-y) + }; + if (values.height !== "") {span.bbox.h = this.HTMLlength2em(box,values.height,"h",0)} + if (values.depth !== "") {span.bbox.d = this.HTMLlength2em(box,values.depth,"d",0)} + if (values.width !== "") {span.bbox.w = this.HTMLlength2em(box,values.width,"w",0)} + if (span.bbox.H <= span.bbox.h) {delete span.bbox.H} + if (span.bbox.D <= span.bbox.d) {delete span.bbox.D} + HTMLCSS.setStackWidth(stack,span.bbox.w); + } + this.HTMLhandleSpace(span); + this.HTMLhandleColor(span); + return span; + }, + HTMLlength2em: function (span,length,d,m) { + if (m == null) {m = -HTMLCSS.BIGDIMEN} + var match = String(length).match(/width|height|depth/); + var size = (match ? span.bbox[match[0].charAt(0)] : (d ? span.bbox[d] : null)); + var v = HTMLCSS.length2em(length,size); + if (d && String(length).match(/^\s*[-+]/)) + {return Math.max(m,span.bbox[d]+v)} else {return v} + }, + HTMLstretchH: MML.mbase.HTMLstretchH, + HTMLstretchV: MML.mbase.HTMLstretchV + }); + + MML.mrow.Augment({ + HTMLstretchH: function (box,w) { + this.HTMLremoveColor(); + var span = this.HTMLspanElement(); + this.data[this.core].HTMLstretchH(span,w); + this.HTMLcomputeBBox(span,true); + this.HTMLhandleColor(span); + return span; + }, + HTMLstretchV: function (box,h,d) { + this.HTMLremoveColor(); + var span = this.HTMLspanElement(); + this.data[this.core].HTMLstretchV(span,h,d); + this.HTMLcomputeBBox(span,true); + this.HTMLhandleColor(span); + return span; + } + }); + + MML.mstyle.Augment({ + toHTML: function (span) { + if (this.data[0] != null) { + span = this.data[0].toHTML(span); + this.spanID = this.data[0].spanID; + this.HTMLhandleSpace(span); + this.HTMLhandleColor(span); + } + return span; + }, + HTMLspanElement: function () { + return (this.data[0] != null ? this.data[0].HTMLspanElement() : null); + }, + HTMLstretchH: function (box,w) { + return (this.data[0] != null ? this.data[0].HTMLstretchH(box,w) : box); + }, + HTMLstretchV: function (box,h,d) { + return (this.data[0] != null ? this.data[0].HTMLstretchV(box,h,d) : box); + } + }); + + MML.mfrac.Augment({ + toHTML: function (span) { + span = this.HTMLcreateSpan(span); + var frac = HTMLCSS.createStack(span); + var num = HTMLCSS.createBox(frac), den = HTMLCSS.createBox(frac); + this.HTMLmeasureChild(0,num); this.HTMLmeasureChild(1,den); + var values = this.getValues("displaystyle","linethickness","numalign","denomalign","bevelled"); + var scale = this.HTMLgetScale(), isDisplay = values.displaystyle; + var a = HTMLCSS.TeX.axis_height * scale; + if (values.bevelled) { + var delta = (isDisplay ? .4 : .15); + var H = Math.max(num.bbox.h+num.bbox.d,den.bbox.h+den.bbox.d)+2*delta; + var bevel = HTMLCSS.createBox(frac); + HTMLCSS.createDelimiter(bevel,0x2F,H); + HTMLCSS.placeBox(num,0,(num.bbox.d-num.bbox.h)/2+a+delta); + HTMLCSS.placeBox(bevel,num.bbox.w-delta/2,(bevel.bbox.d-bevel.bbox.h)/2+a); + HTMLCSS.placeBox(den,num.bbox.w+bevel.bbox.w-delta,(den.bbox.d-den.bbox.h)/2+a-delta); + } else { + var W = Math.max(num.bbox.w,den.bbox.w); + var t = HTMLCSS.thickness2em(values.linethickness), p,q, u,v; + var mt = HTMLCSS.TeX.min_rule_thickness/this.em; + if (isDisplay) {u = HTMLCSS.TeX.num1; v = HTMLCSS.TeX.denom1} + else {u = (t === 0 ? HTMLCSS.TeX.num3 : HTMLCSS.TeX.num2); v = HTMLCSS.TeX.denom2} + u *= scale; v *= scale; + if (t === 0) {// \atop + p = Math.max((isDisplay ? 7 : 3) * HTMLCSS.TeX.rule_thickness, 2*mt); // force to at least 2 px + q = (u - num.bbox.d) - (den.bbox.h - v); + if (q < p) {u += (p - q)/2; v += (p - q)/2} + } else {// \over + p = Math.max((isDisplay ? 2 : 0) * mt + t, t/2 + 1.5*mt); // force to be at least 1.5px + q = (u - num.bbox.d) - (a + t/2); if (q < p) {u += p - q} + q = (a - t/2) - (den.bbox.h - v); if (q < p) {v += p - q} + var rule = HTMLCSS.createBox(frac); + HTMLCSS.createRule(rule,t,0,W+2*t); + HTMLCSS.placeBox(rule,0,a-t/2); + } + HTMLCSS.alignBox(num,values.numalign,u); + HTMLCSS.alignBox(den,values.denomalign,-v); + } + this.HTMLhandleSpace(span); + this.HTMLhandleColor(span); + return span; + }, + HTMLcanStretch: function (direction) {return false}, + HTMLhandleSpace: function (span) { + if (!this.texWithDelims) { + var space = (this.useMMLspacing ? 0 : HTMLCSS.length2em(this.texSpacing()||0)) + .12; + span.style.paddingLeft = HTMLCSS.Em(space); + span.style.paddingRight = ".12em"; + } + } + }); + + MML.msqrt.Augment({ + toHTML: function (span) { + span = this.HTMLcreateSpan(span); + var sqrt = HTMLCSS.createStack(span); + var base = HTMLCSS.createBox(sqrt), + rule = HTMLCSS.createBox(sqrt), + surd = HTMLCSS.createBox(sqrt); + this.HTMLmeasureChild(0,base); + var scale = this.HTMLgetScale(); + var t = HTMLCSS.TeX.rule_thickness * scale, p,q, H, W; + if (this.Get("displaystyle")) {p = HTMLCSS.TeX.x_height * scale} else {p = t} + q = Math.max(t + p/4,1.5*HTMLCSS.TeX.min_rule_thickness/this.em); // force to be at least 1px + H = base.bbox.h + base.bbox.d + q + t; + W = base.bbox.w; + HTMLCSS.createDelimiter(surd,0x221A,H,scale); HTMLCSS.Measured(surd); + var x = 0; + if (surd.isMultiChar || (HTMLCSS.AdjustSurd && HTMLCSS.imgFonts)) {surd.bbox.w *= .95} + if (surd.bbox.h + surd.bbox.d > H) {q = ((surd.bbox.h+surd.bbox.d) - (H-t))/2} + var ruleC = HTMLCSS.FONTDATA.DELIMITERS[HTMLCSS.FONTDATA.RULECHAR]; + if (!ruleC || W < ruleC.HW[0][0]*scale || scale < .75) { + HTMLCSS.createRule(rule,t,0,W); + } else { + HTMLCSS.createDelimiter(rule,HTMLCSS.FONTDATA.RULECHAR,W,scale); + } + H = base.bbox.h + q + t; + x = this.HTMLaddRoot(sqrt,surd,x,surd.bbox.h+surd.bbox.d-H,scale); + HTMLCSS.placeBox(surd,x,H-surd.bbox.h); + HTMLCSS.placeBox(rule,x+surd.bbox.w,H-rule.bbox.h+HTMLCSS.rfuzz); + HTMLCSS.placeBox(base,x+surd.bbox.w,0); + this.HTMLhandleSpace(span); + this.HTMLhandleColor(span); + return span; + }, + HTMLaddRoot: function (sqrt,surd,x,d,scale) {return x} + }); + + MML.mroot.Augment({ + toHTML: MML.msqrt.prototype.toHTML, + HTMLaddRoot: function (sqrt,surd,x,d,scale) { + var box = HTMLCSS.createBox(sqrt); + if (this.data[1]) { + var root = this.data[1].toHTML(box); + root.style.paddingRight = root.style.paddingLeft = ""; // remove extra padding, if any + HTMLCSS.Measured(root,box); + } else {box.bbox = this.HTMLzeroBBox()} + var h = this.HTMLrootHeight(surd.bbox.h+surd.bbox.d,scale,box)-d; + var w = Math.min(box.bbox.w,box.bbox.rw); // remove extra right-hand padding, if any + x = Math.max(w,surd.offset); + HTMLCSS.placeBox(box,x-w,h); + return x - surd.offset; + }, + HTMLrootHeight: function (d,scale,root) { + return .45*(d-.9*scale)+.6*scale + Math.max(0,root.bbox.d-.075); + } + }); + + MML.mfenced.Augment({ + toHTML: function (span) { + span = this.HTMLcreateSpan(span); + if (this.data.open) {this.data.open.toHTML(span)} + if (this.data[0] != null) {this.data[0].toHTML(span)} + for (var i = 1, m = this.data.length; i < m; i++) { + if (this.data[i]) { + if (this.data["sep"+i]) {this.data["sep"+i].toHTML(span)} + this.data[i].toHTML(span); + } + } + if (this.data.close) {this.data.close.toHTML(span)} + var stretchy = this.HTMLcomputeBBox(span); + var h = span.bbox.h, d = span.bbox.d; + for (i = 0, m = stretchy.length; i < m; i++) {stretchy[i].HTMLstretchV(span,h,d)} + if (stretchy.length) {this.HTMLcomputeBBox(span,true)} + this.HTMLhandleSpace(span); + this.HTMLhandleColor(span); + return span; + }, + HTMLcomputeBBox: function (span,full) { + var BBOX = span.bbox = {}, stretchy = []; + this.HTMLcheckStretchy(this.data.open,BBOX,stretchy,full); + this.HTMLcheckStretchy(this.data[0],BBOX,stretchy,full); + for (var i = 1, m = this.data.length; i < m; i++) { + if (this.data[i]) { + this.HTMLcheckStretchy(this.data["sep"+i],BBOX,stretchy,full); + this.HTMLcheckStretchy(this.data[i],BBOX,stretchy,full); + } + } + this.HTMLcheckStretchy(this.data.close,BBOX,stretchy,full); + this.HTMLcleanBBox(BBOX); + return stretchy; + }, + HTMLcheckStretchy: function (core,BBOX,stretchy,full) { + if (core) { + if (!full && core.HTMLcanStretch("Vertical")) + {stretchy.push(core); core = (core.CoreMO()||core)} + this.HTMLcombineBBoxes(core,BBOX); + } + } + }); + + MML.menclose.Augment({toHTML: MML.mbase.HTMLautoload}); + MML.maction.Augment({toHTML: MML.mbase.HTMLautoload}); + + MML.semantics.Augment({ + toHTML: function (span) { + if (this.data[0] != null) { + span = this.data[0].toHTML(span); + this.spanID = this.data[0].spanID; + this.HTMLhandleSpace(span); + } + return span; + }, + HTMLspanElement: function () { + return (this.data[0] != null ? this.data[0].HTMLspanElement() : null); + }, + HTMLstretchH: function (box,w) { + return (this.data[0] != null ? this.data[0].HTMLstretchH(box,w) : box); + }, + HTMLstretchV: function (box,h,d) { + return (this.data[0] != null ? this.data[0].HTMLstretchV(box,h,d) : box); + } + }); + + MML.munderover.Augment({ + toHTML: function (span,HW,D) { + var values = this.getValues("displaystyle","accent","accentunder","align"); + if (!values.displaystyle && this.data[this.base] != null && + this.data[this.base].Get("movablelimits")) + {return MML.msubsup.prototype.toHTML.call(this,span)} + span = this.HTMLcreateSpan(span); var scale = this.HTMLgetScale(); + var stack = HTMLCSS.createStack(span); + var boxes = [], stretch = [], box, i, m, W = -HTMLCSS.BIGDIMEN, WW = W; + for (i = 0, m = this.data.length; i < m; i++) { + if (this.data[i] != null) { + box = boxes[i] = HTMLCSS.createBox(stack); + HTMLCSS.Measured(this.data[i].toHTML(box),box); + if (i == this.base) { + if (D != null) {HTMLCSS.Remeasured(this.data[this.base].HTMLstretchV(box,HW,D),box)} + else if (HW != null) {HTMLCSS.Remeasured(this.data[this.base].HTMLstretchH(box,HW),box)} + stretch[i] = (D == null && HW != null ? false : + this.data[i].HTMLcanStretch("Horizontal")); + } else { + stretch[i] = this.data[i].HTMLcanStretch("Horizontal"); + } + if (box.bbox.w > WW) {WW = box.bbox.w} + if (!stretch[i] && WW > W) {W = WW} + } + } + if (D == null && HW != null) {W = HW} else if (W == -HTMLCSS.BIGDIMEN) {W = WW} + for (i = WW = 0, m = this.data.length; i < m; i++) {if (this.data[i]) { + box = boxes[i]; + if (stretch[i]) {box.bbox = this.data[i].HTMLstretchH(box,W).bbox} + if (box.bbox.w > WW) {WW = box.bbox.w} + }} + var t = HTMLCSS.TeX.rule_thickness, factor = HTMLCSS.FONTDATA.TeX_factor; + var base = boxes[this.base] || {bbox: this.HTMLzeroBBox()}, delta = (base.bbox.ic || 0); + var x, y, z1, z2, z3, dw, k; + for (i = 0, m = this.data.length; i < m; i++) { + if (this.data[i] != null) { + box = boxes[i]; + z3 = HTMLCSS.TeX.big_op_spacing5 * scale; + var accent = (i != this.base && values[this.ACCENTS[i]]); + if (accent && box.bbox.w <= 1/HTMLCSS.em+.0001) { // images can get the width off by 1px + box.bbox.w = box.bbox.rw - box.bbox.lw; box.bbox.noclip = true; + if (box.bbox.lw && !HTMLCSS.zeroWidthBug) + {box.insertBefore(HTMLCSS.createSpace(box.parentNode,0,0,-box.bbox.lw),box.firstChild)} + HTMLCSS.createBlank(box,0,0,box.bbox.rw+.1); + } + dw = {left:0, center:(WW-box.bbox.w)/2, right:WW-box.bbox.w}[values.align]; + x = dw; y = 0; + if (i == this.over) { + if (accent) { + k = Math.max(t * scale * factor,2.5/this.em); z3 = 0; + if (base.bbox.skew) {x += base.bbox.skew} + } else { + z1 = HTMLCSS.TeX.big_op_spacing1 * scale * factor; + z2 = HTMLCSS.TeX.big_op_spacing3 * scale * factor; + k = Math.max(z1,z2-Math.max(0,box.bbox.d)); + } + k = Math.max(k,1.5/this.em); // force to be at least 1.5px + x += delta; y = base.bbox.h + box.bbox.d + k; + box.bbox.h += z3; + } else if (i == this.under) { + if (accent) { + k = 3*t * scale * factor; z3 = 0; + } else { + z1 = HTMLCSS.TeX.big_op_spacing2 * scale * factor; + z2 = HTMLCSS.TeX.big_op_spacing4 * scale * factor; + k = Math.max(z1,z2-box.bbox.h); + } + k = Math.max(k,1.5/this.em); // force to be at least 1.5px + x -= delta; y = -(base.bbox.d + box.bbox.h + k); + box.bbox.d += z3; + } + HTMLCSS.placeBox(box,x,y); + } + } + this.HTMLhandleSpace(span); + this.HTMLhandleColor(span); + return span; + }, + HTMLstretchH: MML.mbase.HTMLstretchH, + HTMLstretchV: MML.mbase.HTMLstretchV + }); + + MML.msubsup.Augment({ + toHTML: function (span,HW,D) { + span = this.HTMLcreateSpan(span); var scale = this.HTMLgetScale(); + var stack = HTMLCSS.createStack(span), values; + var base = HTMLCSS.createBox(stack); + this.HTMLmeasureChild(this.base,base); + if (this.data[this.base]) { + if (D != null) {HTMLCSS.Remeasured(this.data[this.base].HTMLstretchV(base,HW,D),base)} + else if (HW != null) {HTMLCSS.Remeasured(this.data[this.base].HTMLstretchH(base,HW),base)} + } + HTMLCSS.placeBox(base,0,0); + var sscale = (this.data[this.sup] || this.data[this.sub] || this).HTMLgetScale(); + var x_height = HTMLCSS.TeX.x_height * scale, + s = HTMLCSS.TeX.scriptspace * scale * .75; // FIXME: .75 can be removed when IC is right? + var sup, sub; + if (this.HTMLnotEmpty(this.data[this.sup])) { + sup = HTMLCSS.createBox(stack); + HTMLCSS.Measured(this.data[this.sup].toHTML(sup),sup); + sup.bbox.w += s; sup.bbox.rw = Math.max(sup.bbox.w,sup.bbox.rw); + } + if (this.HTMLnotEmpty(this.data[this.sub])) { + sub = HTMLCSS.createBox(stack); + HTMLCSS.Measured(this.data[this.sub].toHTML(sub),sub); + sub.bbox.w += s; sub.bbox.rw = Math.max(sub.bbox.w,sub.bbox.rw); + } + var q = HTMLCSS.TeX.sup_drop * sscale, r = HTMLCSS.TeX.sub_drop * sscale; + var u = base.bbox.h - q, v = base.bbox.d + r, delta = 0, p; + if (base.bbox.ic) {delta = base.bbox.ic} + if (this.data[this.base] && + (this.data[this.base].type === "mi" || this.data[this.base].type === "mo")) { + if (this.data[this.base].data.join("").length === 1 && base.bbox.scale === 1 && + !this.data[this.base].Get("largeop")) {u = v = 0} + } + var min = this.getValues("subscriptshift","superscriptshift"); + min.subscriptshift = (min.subscriptshift === "" ? 0 : HTMLCSS.length2em(min.subscriptshift)); + min.superscriptshift = (min.superscriptshift === "" ? 0 : HTMLCSS.length2em(min.superscriptshift)); + if (!sup) { + if (sub) { + v = Math.max(v,HTMLCSS.TeX.sub1*scale,sub.bbox.h-(4/5)*x_height,min.subscriptshift); + HTMLCSS.placeBox(sub,base.bbox.w+s-delta,-v,sub.bbox); + } + } else { + if (!sub) { + values = this.getValues("displaystyle","texprimestyle"); + p = HTMLCSS.TeX[(values.displaystyle ? "sup1" : (values.texprimestyle ? "sup3" : "sup2"))]; + u = Math.max(u,p*scale,sup.bbox.d+(1/4)*x_height,min.superscriptshift); + HTMLCSS.placeBox(sup,base.bbox.w+s,u,sup.bbox); + } else { + v = Math.max(v,HTMLCSS.TeX.sub2*scale); + var t = HTMLCSS.TeX.rule_thickness * scale; + if ((u - sup.bbox.d) - (sub.bbox.h - v) < 3*t) { + v = 3*t - u + sup.bbox.d + sub.bbox.h; + q = (4/5)*x_height - (u - sup.bbox.d); + if (q > 0) {u += q; v -= q} + } + HTMLCSS.placeBox(sup,base.bbox.w+s,Math.max(u,min.superscriptshift)); + HTMLCSS.placeBox(sub,base.bbox.w+s-delta,-Math.max(v,min.subscriptshift)); + } + } + this.HTMLhandleSpace(span); + this.HTMLhandleColor(span); + return span; + }, + HTMLstretchH: MML.mbase.HTMLstretchH, + HTMLstretchV: MML.mbase.HTMLstretchV + }); + + MML.mmultiscripts.Augment({toHTML: MML.mbase.HTMLautoload}); + + MML.mtable.Augment({toHTML: MML.mbase.HTMLautoload}); + + MML["annotation-xml"].Augment({toHTML: MML.mbase.HTMLautoload}); + + MML.math.Augment({ + toHTML: function (span,node) { + var alttext = this.Get("alttext"); if (alttext) {node.setAttribute("aria-label",alttext)} + var nobr = HTMLCSS.addElement(span,"nobr"); + span = this.HTMLcreateSpan(nobr); + var stack = HTMLCSS.createStack(span), box = HTMLCSS.createBox(stack), math; + // Move font-size from outer span to stack to avoid line separation + // problem in strict HTML mode + stack.style.fontSize = nobr.parentNode.style.fontSize; nobr.parentNode.style.fontSize = ""; + if (this.data[0] != null) { + if (HTMLCSS.msieColorBug) { + if (this.background) {this.data[0].background = this.background; delete this.background} + if (this.mathbackground) {this.data[0].mathbackground = this.mathbackground; delete this.mathbackground} + } + MML.mbase.prototype.displayAlign = HUB.config.displayAlign; + MML.mbase.prototype.displayIndent = HUB.config.displayIndent; + math = HTMLCSS.Measured(this.data[0].toHTML(box),box); + } + HTMLCSS.placeBox(box,0,0); + // + // Adjust bbox to match outer em-size + // + var f = HTMLCSS.em / HTMLCSS.outerEm; HTMLCSS.em /= f; + span.bbox.h *= f; span.bbox.d *= f; span.bbox.w *= f; + span.bbox.lw *= f; span.bbox.rw *= f; + if (math && math.bbox.width != null) { + stack.style.width = math.bbox.width; + box.style.width = "100%"; + } + // + // Add color (if any) + // + this.HTMLhandleColor(span); + // + // Make math span be the correct height and depth + // + if (math) {HTMLCSS.createRule(span,math.bbox.h*f,math.bbox.d*f,0)} + // + // Handle indentalign and indentshift for single-line display equations + // + if (!this.isMultiline && this.Get("display") === "block" && span.bbox.width == null) { + var values = this.getValues("indentalignfirst","indentshiftfirst","indentalign","indentshift"); + if (values.indentalignfirst !== MML.INDENTALIGN.INDENTALIGN) {values.indentalign = values.indentalignfirst} + if (values.indentalign === MML.INDENTALIGN.AUTO) {values.indentalign = this.displayAlign} + node.style.textAlign = values.indentalign; + if (values.indentshiftfirst !== MML.INDENTSHIFT.INDENTSHIFT) {values.indentshift = values.indentshiftfirst} + if (values.indentshift === "auto") {values.indentshift = this.displayIndent} + if (values.indentshift && values.indentalign !== MML.INDENTALIGN.CENTER) { + span.style[{left:"marginLeft",right:"marginRight"}[values.indentalign]] = + HTMLCSS.Em(HTMLCSS.length2em(values.indentshift)); + } + } + return span; + } + }); + + MML.TeXAtom.Augment({ + toHTML: function (span) { + span = this.HTMLcreateSpan(span); + if (this.data[0] != null) { + if (this.texClass === MML.TEXCLASS.VCENTER) { + var stack = HTMLCSS.createStack(span); + var box = HTMLCSS.createBox(stack); + HTMLCSS.Measured(this.data[0].toHTML(box),box); + // FIXME: should the axis height be scaled? + HTMLCSS.placeBox(box,0,HTMLCSS.TeX.axis_height-(box.bbox.h+box.bbox.d)/2+box.bbox.d); + } else { + span.bbox = this.data[0].toHTML(span).bbox; + } + } + this.HTMLhandleSpace(span); + this.HTMLhandleColor(span); + return span; + } + }); + + // + // Loading isn't complete until the element jax is modified, + // but can't call loadComplete within the callback for "mml Jax Ready" + // (it would call HTMLCSS's Require routine, asking for the mml jax again) + // so wait until after the mml jax has finished processing. + // + // We also need to wait for the onload handler to run, since the loadComplete + // will call Config and Startup, which need to modify the body. + // + MathJax.Hub.Register.StartupHook("onLoad",function () { + setTimeout(MathJax.Callback(["loadComplete",HTMLCSS,"jax.js"]),0); + }); + }); + + HUB.Register.StartupHook("End Config",function () { + // + // Handle browser-specific setup + // + HUB.Browser.Select({ + MSIE: function (browser) { + var isIE7 = browser.versionAtLeast("7.0"); + var isIE8 = browser.versionAtLeast("8.0") && document.documentMode > 7; + var quirks = (document.compatMode === "BackCompat"); + // IE doesn't do mouse events on trasparent objects, + // so give a background color, but opacity makes it transparent + HTMLCSS.config.styles[".MathJax .MathJax_HitBox"]["background-color"] = "white"; + HTMLCSS.config.styles[".MathJax .MathJax_HitBox"].opacity = 0 + HTMLCSS.config.styles[".MathJax .MathJax_HitBox"].filter = "alpha(opacity=0)"; + // FIXME: work out tests for these? + HTMLCSS.Augment({ + getMarginScale: HTMLCSS.getMSIEmarginScale, + PaddingWidthBug: true, + msieEventBug: browser.isIE9, + msieAccentBug: true, + msieColorBug: true, + msieColorPositionBug: true, // needs position:relative to put color behind text + msieRelativeWidthBug: quirks, + msieMarginWidthBug: true, + msiePaddingWidthBug: true, + msieCharPaddingWidthBug: (isIE8 && !quirks), + msieBorderWidthBug: quirks, + msieInlineBlockAlignBug: (!isIE8 || quirks), + msieVerticalAlignBug: (isIE8 && !quirks), + msiePlaceBoxBug: (isIE8 && !quirks), + msieClipRectBug: !isIE8, + msieNegativeSpaceBug: quirks, + msieCloneNodeBug: (isIE8 && browser.version === "8.0"), + negativeSkipBug: true, + msieIE6: !isIE7, + msieItalicWidthBug: true, + zeroWidthBug: true, + FontFaceBug: true, + msieFontCSSBug: browser.isIE9, + allowWebFonts: "eot" + }); + }, + + Firefox: function (browser) { + var webFonts = false; + if (browser.versionAtLeast("3.5")) { + var root = String(document.location).replace(/[^\/]*$/,""); + if (document.location.protocol !== "file:" || + (HUB.config.root+"/").substr(0,root.length) === root) {webFonts = "otf"} + } + HTMLCSS.Augment({ + useProcessingFrame: true, + ffVerticalAlignBug: true, + AccentBug: true, + allowWebFonts: webFonts + }); + }, + + Safari: function (browser) { + var v3p0 = browser.versionAtLeast("3.0"); + var v3p1 = browser.versionAtLeast("3.1"); + browser.isMobile = (navigator.appVersion.match(/Mobile/i) != null); + var android = (navigator.appVersion.match(/ Android (\d+)\.(\d+)/)); + var forceImages = (v3p1 && browser.isMobile && ( + (navigator.platform.match(/iPad|iPod|iPhone/) && !browser.versionAtLeast("5.0")) || + (android != null && (android[1] < 2 || (android[1] == 2 && android[2] < 2))) + )); + HTMLCSS.Augment({ + config: { + styles: { + ".MathJax img, .MathJax nobr, .MathJax a": { + // "none" seems to work like "0px" when width is initially 0 + "max-width": "5000em", "max-height": "5000em" + } + } + }, + useProcessingFrame: true, + rfuzz: .05, + AccentBug: true, + AdjustSurd: true, + safariContextMenuBug: true, + safariNegativeSpaceBug: true, + safariVerticalAlignBug: !v3p1, + safariTextNodeBug: !v3p0, + safariWebFontSerif: ["serif"], + allowWebFonts: (v3p1 && !forceImages ? "otf" : false) + }); + if (forceImages) { + // Force image mode for iOS prior to 4.2 and Droid prior to 2.2 + // (iPhone should do SVG web fonts, but crashes with MathJax) + var config = HUB.config["HTML-CSS"]; + if (config) {config.availableFonts = []; config.preferredFont = null} + else {HUB.config["HTML-CSS"] = {availableFonts: [], preferredFont: null}} + } + }, + + Chrome: function (browser) { + HTMLCSS.Augment({ + useProcessingFrame: true, + rfuzz: .05, + AccentBug: true, + AdjustSurd: true, + allowWebFonts: (browser.versionAtLeast("4.0") ? "otf" : "svg"), + safariNegativeSpaceBug: true, + safariWebFontSerif: [""] + }); + }, + + Opera: function (browser) { + browser.isMini = (navigator.appVersion.match("Opera Mini") != null); + HTMLCSS.config.styles[".MathJax .merror"]["vertical-align"] = null; + HTMLCSS.Augment({ + useProcessingFrame: true, + operaHeightBug: true, + operaVerticalAlignBug: true, + operaFontSizeBug: browser.versionAtLeast("10.61"), + negativeSkipBug: true, + zeroWidthBug: true, + FontFaceBug: true, + PaddingWidthBug: true, + allowWebFonts: (browser.versionAtLeast("10.0") && !browser.isMini ? "otf" : false), + // + // Opera doesn't display many STIX characters, so remove it + // from the availableFonts array, if it is there. + // + adjustAvailableFonts: function (fonts) { + for (var i = 0, m = fonts.length; i < m; i++) + {if (fonts[i] === "STIX") {fonts.splice(i,1); m--; i--;}} + if (this.config.preferredFont === "STIX") {this.config.preferredFont = fonts[0]} + } + }); + }, + + Konqueror: function (browser) { + HTMLCSS.Augment({ + konquerorVerticalAlignBug: true, + noContextMenuBug: true + }); + } + }); + + }); + + MathJax.Hub.Register.StartupHook("End Cookie", function () { + if (HUB.config.menuSettings.zoom !== "None") + {AJAX.Require("[MathJax]/extensions/MathZoom.js")} + }); + +})(MathJax.Ajax, MathJax.Hub, MathJax.OutputJax["HTML-CSS"]); diff --git a/modules/MathJax/jax/output/NativeMML/config.js b/modules/MathJax/jax/output/NativeMML/config.js new file mode 100644 index 0000000..e3960fe --- /dev/null +++ b/modules/MathJax/jax/output/NativeMML/config.js @@ -0,0 +1,48 @@ +/************************************************************* + * + * MathJax/jax/output/NativeMML/config.js + * + * Initializes the NativeMML OutputJax (the main definition is in + * MathJax/jax/input/NativeMML/jax.js, which is loaded when needed). + * + * --------------------------------------------------------------------- + * + * Copyright (c) 2009-2011 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +MathJax.OutputJax.NativeMML = MathJax.OutputJax({ + id: "NativeMML", + version: "1.1.4", + directory: MathJax.OutputJax.directory + "/NativeMML", + extensionDir: MathJax.OutputJax.extensionDir + "/NativeMML", + + config: { + scale: 100, // scaling factor for all math + showMathMenu: true, // attach math context menu to mathml? + showMathMenuMSIE: true, // separtely determine if MSIE should have math menu + // (since the code for that is a bit delicate) + styles: { + "DIV.MathJax_MathML": { + "text-align": "center", + margin: ".75em 0px" + } + } + } +}); + +if (!MathJax.Hub.config.delayJaxRegistration) + MathJax.OutputJax.NativeMML.Register("jax/mml"); + +MathJax.OutputJax.NativeMML.loadComplete("config.js"); diff --git a/modules/MathJax/jax/output/NativeMML/jax.js b/modules/MathJax/jax/output/NativeMML/jax.js new file mode 100644 index 0000000..5fdf9cb --- /dev/null +++ b/modules/MathJax/jax/output/NativeMML/jax.js @@ -0,0 +1,512 @@ +/************************************************************* + * + * MathJax/jax/output/NativeMML/jax.js + * + * Implements the NativeMML OutputJax that displays mathematics + * using a browser's native MathML capabilities (if any). + * + * --------------------------------------------------------------------- + * + * Copyright (c) 2010-2011 Design Science, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +(function (nMML,HUB,AJAX) { + var MML, isMSIE = HUB.Browser.isMSIE; + + nMML.Augment({ + LEFTBUTTON: (isMSIE ? 1 : 0), // the event.button value for left button + MENUKEY: "altKey", // the event value for alternate context menu + noContextMenuBug: HUB.Browser.isKonequeror, + msieQuirks: (isMSIE && !(document.compatMode === "BackCompat")), + msieEventBug: HUB.Browser.isIE9, + + // + // User can configure styles + // + config: {styles: {}}, settings: HUB.config.menuSettings, + Startup: function () {return MathJax.Ajax.Styles(this.config.styles)}, + Config: function () { + this.SUPER(arguments).Config.call(this); + if (this.settings.scale) {this.config.scale = this.settings.scale} + // + // Insert styling to take account of displayAlign and displayIndent + // + if (HUB.config.displayAlign !== "center") { + var align = HUB.config.displayAlign, indent = HUB.config.displayIndent; + var def = {"text-align": align+"!important"}; def["margin-"+align] = indent+"!important"; + MathJax.Hub.Insert(this.config.styles,{ + "div.MathJax_MathML": def, + "div.MathJax_MathML math": {"text-align": align}, + "div.MathJax_MathContainer > span": {"text-align": align+"!important"} + }); + } + }, + // + // Set up MathPlayer for IE on the first time through. + // + InitializeMML: function () { + this.initialized = true; + if (MathJax.Hub.Browser.isMSIE) { + try { + // + // Insert data needed to use MathPlayer for MathML output + // + var mathplayer = document.createElement("object"); + mathplayer.id = "mathplayer"; mathplayer.classid = "clsid:32F66A20-7614-11D4-BD11-00104BD3F987"; + document.getElementsByTagName("head")[0].appendChild(mathplayer); + document.namespaces.add("mjx","http://www.w3.org/1998/Math/MathML"); + document.namespaces.mjx.doImport("#mathplayer"); + } catch (err) { + // + // If that fails, give an alert about security settings + // + alert("MathJax was not able to set up MathPlayer.\n\n"+ + "If MathPlayer is not installed, you need to install it first.\n"+ + "Otherwise, your security settings may be preventing ActiveX \n"+ + "controls from running. Use the Internet Options item under\n"+ + "the Tools menu and select the Security tab, then press the\n"+ + "Custom Level button. Check that the settings for\n"+ + "'Run ActiveX Controls', and 'Binary and script behaviors'\n"+ + "are enabled.\n\n"+ + "Currently you will see error messages rather than\n"+ + "typeset mathematics."); + } + } + }, + + // + // Add a SPAN to use as a container, and render the math into it + // + Translate: function (script) { + if (!script.parentNode) return; + if (!this.initialized) {this.InitializeMML()} + var prev = script.previousSibling; + if (prev && String(prev.className).match(/^MathJax(_MathML|_Display)?$/)) + {prev.parentNode.removeChild(prev)} + var math = script.MathJax.elementJax.root; + var type = (math.Get("display") === "block" ? "div" : "span"); + var span = document.createElement(type), container = span; + span.className = "MathJax_MathML"; span.style.fontSize = this.config.scale+"%"; + if (isMSIE && this.config.showMathMenuMSIE) { + container = MathJax.HTML.addElement(span,"span",{ + className:"MathJax_MathContainer", + style:{display:"inline-block",position:"relative"} + }); + } + math.toNativeMML(container); + script.parentNode.insertBefore(span,script); + if (isMSIE) { + if (this.config.showMathMenuMSIE) {this.MSIEoverlay(span)} + } else { + math = span.firstChild; + math.oncontextmenu = this.ContextMenu; + math.onmouseover = this.Mouseover; + math.onmousedown = this.Mousedown; + math.onclick = this.Click; + math.ondblclick = this.DblClick; + } + }, + // + // Remove MathML preceeding the script + // + Remove: function (jax) { + var span = jax.SourceElement(); if (!span) return; + span = span.previousSibling; if (!span) return; + if (span.className.match(/MathJax_MathML/)) {span.parentNode.removeChild(span)} + }, + // + // The namespace to use for MML + // + MMLnamespace: "http://www.w3.org/1998/Math/MathML", + + // + // For MSIE, we must overlay the MathPlayer object to trap the events + // (since they can't be cancelled when the events are on the tag + // itself). The events we DON'T want are transferred to the math element, + // and the others are handled directly. + // + MSIEoverlay: function (span) { + var math = span.firstChild; + span.style.position = "absolute"; // so we can measure height/depth + var HD = span.scrollHeight, W = span.offsetWidth; + var tmp = MathJax.HTML.addElement(span,"img",{src:"about:blank",style:{width:0,height:HD+"px"}}); + var D = span.scrollHeight - HD; span.removeChild(tmp); + span.style.position = ""; // back to normal + var top, left, isDisplay = (span.parentNode.nodeName.toLowerCase() === "div"); + if (isDisplay && this.quirks) {top = -HD; left = Math.floor(-W/2)} else {top = D-HD, left = -W} + MathJax.HTML.addElement(span,"span",{ + style:{display:"inline-block", width:0, height:0, position:"relative"} + },[["span",{ + style:{display:"inline-block", position:"absolute", left:left+"px", top:top+"px", + width:math.offsetWidth+"px", height:HD+"px", cursor:"pointer", + "background-color":"white", filter:"alpha(opacity=0)"}, + onmousedown: this.MSIEevent, oncontextmenu: this.MSIEevent, onclick: this.MSIEevent, + /*onmouseup: this.MSIEevent,*/ onmousemove: this.MSIEevent, ondblclick: this.MSIEevent, + onmouseover: this.MSIEevent, onmouseout: this.MSIEevent + }]]); + }, + MSIEmath: function (span) { + // display="block" seems to produce an extra span, so need extra firstChild + var math = span.parentNode.previousSibling.firstChild; + return (math.nodeName.toLowerCase() === "span" ? math.firstChild : math); + }, + MSIEevent: function () { + var math = nMML.MSIEmath(this); + var event = window.event; + var action = nMML["MSIE"+event.type]; + if (action && action.call(nMML,event,math,this)) {return false} + math.fireEvent("on"+event.type,event); + return false; + }, + MSIEmousedown: function (event,math,span) { + if (event[this.MENUKEY] && event.button === this.LEFTBUTTON && this.settings.context !== "MathJax") { + this.trapUp = this.trapClick = true; + this.ContextMenu.call(span,event,true); + return true; + } + if (this.MSIEzoomKeys && this.MSIEzoomKeys(event)) {this.trapUp = true; return true} + return false; + }, + MSIEcontextmenu: function (event,math,span) { + if (this.settings.context === "MathJax") { + this.trapUp = this.trapClick = true; + this.ContextMenu.call(span,event,true); + return true; + } + return false; + }, + // Other event handlers are in MathZoom.js + + // + // Autoload the MathMenu code, when needed + // + ContextMenu: function (event,force) { + if (nMML.config.showMathMenu && (nMML.settings.context === "MathJax" || force)) { + if (nMML.safariContextMenuBug) {setTimeout('window.getSelection().empty()',0)} + if (!event || nMML.msieEventBug) {event = window.event} + var MENU = MathJax.Menu; + if (MENU) { + if (document.selection) {setTimeout("document.selection.empty()",0)} + var script = (isMSIE ? this.parentNode.parentNode.nextSibling : this.parentNode.nextSibling); + MENU.jax = HUB.getJaxFor(script); + MENU.menu.items[1].menu.items[1].name = + (MENU.jax.inputJax.id === "MathML" ? "Original" : MENU.jax.inputJax.id); + delete nMML.trapClick; delete nMML.trapUp; + return MENU.menu.Post(event); + } else { + if (!AJAX.loadingMathMenu) { + AJAX.loadingMathMenu = true; + var EVENT = {pageX:event.pageX, pageY:event.pageY, clientX:event.clientX, clientY:event.clientY}; + MathJax.Callback.Queue( + AJAX.Require("[MathJax]/extensions/MathMenu.js"), + function () {delete AJAX.loadingMathMenu}, + [this,arguments.callee,EVENT,force] // call this function again + ); + } + if (!event) {event = window.event} + if (event.preventDefault) {event.preventDefault()} + if (event.stopPropagation) {event.stopPropagation()} + event.cancelBubble = true; + event.returnValue = false; + return false; + } + } + }, + Mousedown: function (event) { + if (nMML.config.showMathMenu) { + if (!event) {event = window.event} + if (nMML.settings.context === "MathJax") { + if (!nMML.noContextMenuBug || event.button !== 2) return + } else { + if (!event[nMML.MENUKEY] || event.button !== nMML.LEFTBUTTON) return + } + return nMML.ContextMenu.call(this,event,true); + } + }, + /* + * Used for zooming, when that is enabled by the MathMenu + */ + Mouseover: function (event) {nMML.HandleEvent(event,"Mouseover",this)}, + Click: function (event) {nMML.HandleEvent(event,"Click",this)}, + DblClick: function (event) {nMML.HandleEvent(event,"DblClick",this)}, + HandleEvent: function (event,type,math) {}, + + NAMEDSPACE: { + negativeveryverythinmathspace: "-.0556em", + negativeverythinmathspace: "-.1111em", + negativethinmathspace: "-.1667em", + negativemediummathspace: "-.2222em", + negativethickmathspace: "-.2778em", + negativeverythickmathspace: "-.3333em", + negativeveryverythickmathspace: "-.3889em" + } + }); + + HUB.Register.StartupHook("mml Jax Ready",function () { + + MML = MathJax.ElementJax.mml; + + MML.mbase.Augment({ + // + // Add a MathML tag of the correct type, and set its attributes + // then populate it with its children and append it to the parent + // + toNativeMML: function (parent) { + var tag = this.NativeMMLelement(this.type); + this.NativeMMLattributes(tag); + for (var i = 0, m = this.data.length; i < m; i++) { + if (this.data[i]) {this.data[i].toNativeMML(tag)} + else {tag.appendChild(this.NativeMMLelement("mrow"))} + } + parent.appendChild(tag); + }, + // + // Look for attributes that are different from the defaults + // and set those in the tag's attribute list + // + NativeMMLattributes: function (tag) { + var defaults = this.defaults; + var copy = this.NativeMMLcopyAttributes, + skip = this.NativeMMLskipAttributes; + if (this.type === "mstyle") {defaults = MML.math.prototype.defaults} + for (var id in defaults) {if (!skip[id] && defaults.hasOwnProperty(id)) { + if (this[id] != null) {tag.setAttribute(id,this.NativeMMLattribute(id,this[id]))} + }} + for (var i = 0, m = copy.length; i < m; i++) { + if (this[copy[i]] != null) + {tag.setAttribute(copy[i],this.NativeMMLattribute(copy[i],this[copy[i]]))} + } + }, + NativeMMLcopyAttributes: [ + "fontfamily","fontsize","fontweight","fontstyle", + "color","background", + "id","class","href","style" + ], + NativeMMLskipAttributes: {texClass: 1, useHeight: 1, texprimestyle: 1}, + NativeMMLattribute: function (id,value) { + value = String(value); + if (nMML.NAMEDSPACE[value]) {value = nMML.NAMEDSPACE[value]} // MP doesn't do negative spaes + else if (value.match(/^\s*([-+]?(\d+(\.\d*)?|\.\d+))\s*mu\s*$/)) {value = ((1/18)*RegExp.$1)+"em"} // FIXME: should take scriptlevel into account + else if (value === "-tex-caligraphic") {value = "script"} + else if (value === "-tex-oldstyle") {value = "normal"} + return value; + }, + // + // Create a MathML element + // + NativeMMLelement: ( + isMSIE ? + function (type) {return document.createElement("mjx:"+type)} : + function (type) {return document.createElementNS(nMML.MMLnamespace,type)} + ) + }); + + MML.mrow.Augment({ + // + // Make inferred rows not include an mrow tag + // + toNativeMML: function (parent) { + if (this.inferred && this.parent.inferRow) { + for (var i = 0, m = this.data.length; i < m; i++) { + if (this.data[i]) {this.data[i].toNativeMML(parent)} + else {parent.appendChild(this.NativeMMLelement("mrow"))} + } + } else { + this.SUPER(arguments).toNativeMML.call(this,parent); + } + } + }); + + MML.msubsup.Augment({ + // + // Use proper version of msub, msup, or msubsup, depending on + // which items are present + // + toNativeMML: function (parent) { + var type = this.type; + if (this.data[this.sup] == null) {type = "msub"} + if (this.data[this.sub] == null) {type = "msup"} + var tag = this.NativeMMLelement(type); + this.NativeMMLattributes(tag); + delete this.data[0].inferred; + for (var i = 0, m = this.data.length; i < m; i++) + {if (this.data[i]) {this.data[i].toNativeMML(tag)}} + parent.appendChild(tag); + } + }); + + MML.munderover.Augment({ + // + // Use proper version of munder, mover, or munderover, depending on + // which items are present + // + toNativeMML: function (parent) { + var type = this.type; + if (this.data[this.under] == null) {type = "mover"} + if (this.data[this.over] == null) {type = "munder"} + var tag = this.NativeMMLelement(type); + this.NativeMMLattributes(tag); + delete this.data[0].inferred; + for (var i = 0, m = this.data.length; i < m; i++) + {if (this.data[i]) {this.data[i].toNativeMML(tag)}} + parent.appendChild(tag); + } + }); + + if (MathJax.Hub.Browser.isFirefox) { + MML.mtable.Augment({ + toNativeMML: function (parent) { + // + // FF doesn't handle width, so put it in styles instead + // + if (this.width) { + var styles = (this.style||"").replace(/;\s*$/,"").split(";"); + styles.push("width:"+this.width); + this.style = styles.join(";"); + } + this.SUPER(arguments).toNativeMML.call(this,parent); + } + }); + MML.mlabeledtr.Augment({ + toNativeMML: function (parent) { + // + // FF doesn't handle mlabeledtr, so remove the label + // + var tag = this.NativeMMLelement("mtr"); + this.NativeMMLattributes(tag); + for (var i = 1, m = this.data.length; i < m; i++) { + if (this.data[i]) {this.data[i].toNativeMML(tag)} + else {tag.appendChild(this.NativeMMLelement("mrow"))} + } + parent.appendChild(tag); + } + }); + + var fontDir = MathJax.Hub.config.root + "/fonts/HTML-CSS/TeX/otf"; + + /* + * Add fix for mathvariant issues in FF + */ + nMML.Augment({ + config: { + styles: { + '[mathvariant="double-struck"]': {"font-family":"MathJax_AMS"}, + '[mathvariant="script"]': {"font-family":"MathJax_Script"}, + '[mathvariant="fraktur"]': {"font-family":"MathJax_Fraktur"}, + '[mathvariant="-tex-oldstyle"]': {"font-family":"MathJax_Caligraphic"}, + '[mathvariant="-tex-oldstyle-bold"]': {"font-family":"MathJax_Caligraphic", "font-weight":"bold"}, + '[mathvariant="-tex-caligraphic"]': {"font-family":"MathJax_Caligraphic"}, + '[mathvariant="-tex-caligraphic-bold"]': {"font-family":"MathJax_Caligraphic", "font-weight":"bold"}, + '[mathvariant="bold-script"]': {"font-family":"MathJax_Script", "font-weight":"bold"}, + '[mathvariant="bold-fraktur"]': {"font-family":"MathJax_Fraktur", "font-weight":"bold"}, + '[mathvariant="monospace"]': {"font-family":"monospace"}, + '[mathvariant="sans-serif"]': {"font-family":"sansserif"}, + '[mathvariant="bold-sans-serif"]': {"font-family":"sansserif", "font-weight":"bold"}, + '[mathvariant="sans-serif-italic"]': {"font-family":"sansserif", "font-style":"italic"}, + '[mathvariant="sans-serif-bold-italic"]': {"font-family":"sansserif", "font-style":"italic", "font-weight":"bold"}, + + '@font-face /*1*/': { + "font-family": "MathJax_AMS", + "src": "local('MathJax_AMS'), url('"+fontDir+"/MathJax_AMS-Regular.otf')" + }, + '@font-face /*2*/': { + "font-family": "MathJax_Script", + "src": "local('MathJax_Script'), url('"+fontDir+"/MathJax_Script-Regular.otf')" + }, + '@font-face /*3*/': { + "font-family": "MathJax_Fraktur", + "src": "local('MathJax_Fraktur'), url('"+fontDir+"/MathJax_Fraktur-Regular.otf')" + }, + '@font-face /*4*/': { + "font-family": "MathJax_Caligraphic", + "src": "local('MathJax_Caligraphic'), url('"+fontDir+"/MathJax_Caligraphic-Regular.otf')" + }, + '@font-face /*5*/': { + "font-family": "MathJax_Fraktur", "font-weight":"bold", + "src": "local('MathJax_Fraktur-Bold'), url('"+fontDir+"/MathJax_Fraktur-Bold.otf')" + }, + '@font-face /*6*/': { + "font-family": "MathJax_Caligraphic", "font-weight":"bold", + "src": "local('MathJax_Caligraphic-Bold'), url('"+fontDir+"/MathJax_Caligraphic-Bold.otf')" + } + } + } + }); + } + + MML.TeXAtom.Augment({ + // + // Convert TeXatom to an mrow + // + toNativeMML: function (parent) { + // FIXME: Handle spacing using mpadded? + var tag = this.NativeMMLelement("mrow"); + this.data[0].toNativeMML(tag); + parent.appendChild(tag); + } + }); + + MML.chars.Augment({ + // + // Add a text node + // + toNativeMML: function (parent) { + parent.appendChild(document.createTextNode(this.toString())); + } + }); + + MML.entity.Augment({ + // + // Add a text node + // + toNativeMML: function (parent) { + parent.appendChild(document.createTextNode(this.toString())); + } + }); + + MML.xml.Augment({ + // + // Insert the XML verbatim + // + toNativeMML: function (parent) { + for (var i = 0, m = this.data.length; i < m; i++) + {parent.appendChild(this.data[i].cloneNode(true))} + } + }); + + HUB.Register.StartupHook("TeX mathchoice Ready",function () { + MML.TeXmathchoice.Augment({ + // + // Get the MathML for the selected choice + // + toNativeMML: function (parent) {this.Core().toNativeMML(parent)} + }); + }); + + // + // Loading isn't complete until the element jax is modified, + // but can't call loadComplete within the callback for "mml Jax Ready" + // (it would call NativeMML's Require routine, asking for the mml jax again) + // so wait until after the mml jax has finished processing. + // + setTimeout(MathJax.Callback(["loadComplete",nMML,"jax.js"]),0); + }); + + HUB.Register.StartupHook("End Cookie",function () { + if (HUB.config.menuSettings.zoom !== "None") + {AJAX.Require("[MathJax]/extensions/MathZoom.js")} + }); + +})(MathJax.OutputJax.NativeMML, MathJax.Hub, MathJax.Ajax); diff --git a/modules/TeX-AMS-texvc_HTML.js b/modules/TeX-AMS-texvc_HTML.js new file mode 100644 index 0000000..6cc0adb --- /dev/null +++ b/modules/TeX-AMS-texvc_HTML.js @@ -0,0 +1,288 @@ +/* + * /MathJax/config/TeX-AMS-texvc_HTML.js + * + * Copyright (c) 2010-11 Design Science, Inc. + * + * wiki2jax.js and TeX/texvc.js also + * Copyright (c) 2010-2011 http://en.wikipedia.org/User:Nageh + * + * Part of the MathJax library. + * See http://www.mathjax.org for details. + * + * Licensed under the Apache License, Version 2.0; + * you may not use this file except in compliance with the License. + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Various customized logic! + * - custom conversion helpers + * - some custom texvc commands ('texvc.js') + * - heuristic detection of inline vs display maths (displays are in a
) (ConvertMath()) + * - workaround for \scriptstyle / \scriptscriptstyle font-size hack used on Wikipedia + * - partial hacks for \oiint an d\oiiint. (needs font fixes?) + * - hack to support \color commands -> drop for MathJax 2.0 which has this natively? + * - custom render settings (mathJax.js config?) + * - support for user hooks -> find a way to generalize this for site JS too + * - support for wikEd, ajaxPreview (mathJax.Init() in loader) + * - conditional loading + * - some misc + */ + +MathJax.Ajax.Preloading( + "[MathJax]/jax/input/TeX/config.js", + "[MathJax]/jax/output/HTML-CSS/config.js", + "[MathJax]/jax/element/mml/jax.js", + "[MathJax]/extensions/TeX/noErrors.js", + "[MathJax]/extensions/TeX/noUndefined.js", + "[MathJax]/jax/input/TeX/jax.js", + "[MathJax]/extensions/TeX/AMSmath.js", + "[MathJax]/extensions/TeX/AMSsymbols.js", + "[MathJax]/extensions/TeX/boldsymbol.js", + "[MathJax]/extensions/TeX/mathchoice.js", + "[MathJax]/jax/output/HTML-CSS/jax.js", + "[MathJax]/jax/output/HTML-CSS/autoload/mtable.js", + "[MathJax]/extensions/wiki2jax.js", + "[MathJax]/extensions/TeX/texvc.js" +); + +MathJax.Hub.Config({"v1.0-compatible":false}); + +MathJax.InputJax.TeX=MathJax.InputJax({id:"TeX",version:"1.1.1",directory:MathJax.InputJax.directory+"/TeX",extensionDir:MathJax.InputJax.extensionDir+"/TeX",config:{TagSide:"right",TagIndent:"0.8em",MultLineWidth:"85%"}});MathJax.InputJax.TeX.Register("math/tex");MathJax.InputJax.TeX.loadComplete("config.js"); + +MathJax.OutputJax["HTML-CSS"]=MathJax.OutputJax({id:"HTML-CSS",version:"1.1.4",directory:MathJax.OutputJax.directory+"/HTML-CSS",extensionDir:MathJax.OutputJax.extensionDir+"/HTML-CSS",autoloadDir:MathJax.OutputJax.directory+"/HTML-CSS/autoload",fontDir:MathJax.OutputJax.directory+"/HTML-CSS/fonts",webfontDir:MathJax.OutputJax.fontDir+"/HTML-CSS",config:{scale:100,minScaleAdjust:50,availableFonts:["STIX","TeX"],preferredFont:"TeX",webFont:"TeX",imageFont:"TeX",undefinedFamily:"STIXGeneral,'Arial Unicode MS',serif",showMathMenu:true,styles:{".MathJax_Display":{"text-align":"center",margin:"1em 0em"},".MathJax .merror":{"background-color":"#FFFF88",color:"#CC0000",border:"1px solid #CC0000",padding:"1px 3px","font-family":"serif","font-style":"normal","font-size":"90%"},".MathJax_Preview":{color:"#888888"},"#MathJax_Tooltip":{"background-color":"InfoBackground",color:"InfoText",border:"1px solid black","box-shadow":"2px 2px 5px #AAAAAA","-webkit-box-shadow":"2px 2px 5px #AAAAAA","-moz-box-shadow":"2px 2px 5px #AAAAAA","-khtml-box-shadow":"2px 2px 5px #AAAAAA",filter:"progid:DXImageTransform.Microsoft.dropshadow(OffX=2, OffY=2, Color='gray', Positive='true')",padding:"3px 4px"}}}});if(MathJax.Hub.Browser.isMSIE&&document.documentMode>=9){delete MathJax.OutputJax["HTML-CSS"].config.styles["#MathJax_Tooltip"].filter}if(!MathJax.Hub.config.delayJaxRegistration){MathJax.OutputJax["HTML-CSS"].Register("jax/mml")}MathJax.Hub.Register.StartupHook("End Config",[function(b,c){var a=b.Insert({minBrowserVersion:{Firefox:3,Opera:9.52,MSIE:6,Chrome:0.3,Safari:2,Konqueror:4},inlineMathDelimiters:["$","$"],displayMathDelimiters:["$$","$$"],multilineDisplay:true,minBrowserTranslate:function(f){var e=b.getJaxFor(f),k=["[Math]"],j;var h=document.createElement("span",{className:"MathJax_Preview"});if(e.inputJax.id==="TeX"){if(e.root.Get("displaystyle")){j=a.displayMathDelimiters;k=[j[0]+e.originalText+j[1]];if(a.multilineDisplay){k=k[0].split(/\n/)}}else{j=a.inlineMathDelimiters;k=[j[0]+e.originalText.replace(/^\s+/,"").replace(/\s+$/,"")+j[1]]}}for(var g=0,d=k.length;g0&&this.Get("scriptlevel")>0&&h>=0){return""}return this.TEXSPACELENGTH[Math.abs(h)]},TEXSPACELENGTH:["",a.LENGTH.THINMATHSPACE,a.LENGTH.MEDIUMMATHSPACE,a.LENGTH.THICKMATHSPACE],TEXSPACE:[[0,-1,2,3,0,0,0,1],[-1,-1,0,3,0,0,0,1],[2,2,0,0,2,0,0,2],[3,3,0,0,3,0,0,3],[0,0,0,0,0,0,0,0],[0,-1,2,3,0,0,0,1],[1,1,0,1,1,1,1,1],[1,-1,2,3,1,0,1,1]],autoDefault:function(f){return""},isSpacelike:function(){return d},isEmbellished:function(){return d},Core:function(){return this},CoreMO:function(){return this},lineBreak:function(){if(this.isEmbellished()){return this.CoreMO().lineBreak()}else{return"none"}},array:function(){if(this.inferred){return this.data}else{return[this]}},toString:function(){return this.type+"("+this.data.join(",")+")"}},{childrenSpacelike:function(){for(var f=0;f=0;f--){if(this.data[0]&&!this.data[f].isSpacelike()){return this.data[f]}}return null},Core:function(){if(!(this.isEmbellished())||typeof(this.core)==="undefined"){return this}return this.data[this.core]},CoreMO:function(){if(!(this.isEmbellished())||typeof(this.core)==="undefined"){return this}return this.data[this.core].CoreMO()},toString:function(){if(this.inferred){return"["+this.data.join(",")+"]"}return this.SUPER(arguments).toString.call(this)},setTeXclass:function(h){for(var g=0,f=this.data.length;g0){f++}return f},adjustChild_texprimestyle:function(f){if(f==this.den){return true}return this.Get("texprimestyle")},setTeXclass:a.mbase.setSeparateTeXclasses});a.msqrt=a.mbase.Subclass({type:"msqrt",inferRow:b,texClass:a.TEXCLASS.ORD,setTeXclass:a.mbase.setSeparateTeXclasses,adjustChild_texprimestyle:function(f){return b}});a.mroot=a.mbase.Subclass({type:"mroot",texClass:a.TEXCLASS.ORD,adjustChild_displaystyle:function(f){if(f===1){return d}return this.Get("displaystyle")},adjustChild_scriptlevel:function(g){var f=this.Get("scriptlevel");if(g===1){f+=2}return f},adjustChild_texprimestyle:function(f){if(f===0){return b}return this.Get("texprimestyle")},setTeXclass:a.mbase.setSeparateTeXclasses});a.mstyle=a.mbase.Subclass({type:"mstyle",isSpacelike:a.mbase.childrenSpacelike,isEmbellished:a.mbase.childEmbellished,Core:a.mbase.childCore,CoreMO:a.mbase.childCoreMO,inferRow:b,defaults:{scriptlevel:a.INHERIT,displaystyle:a.INHERIT,scriptsizemultiplier:Math.sqrt(1/2),scriptminsize:"8pt",mathbackground:a.INHERIT,mathcolor:a.INHERIT,infixlinebreakstyle:a.LINEBREAKSTYLE.BEFORE,decimalseparator:"."},adjustChild_scriptlevel:function(h){var g=this.scriptlevel;if(g==null){g=this.Get("scriptlevel")}else{if(String(g).match(/^ *[-+]/)){delete this.scriptlevel;var f=this.Get("scriptlevel");this.scriptlevel=g;g=f+parseInt(g)}}return g},inheritFromMe:b,noInherit:{mpadded:{width:b,height:b,depth:b,lspace:b,voffset:b},mtable:{width:b,height:b,depth:b,align:b}},setTeXclass:a.mbase.setChildTeXclass});a.merror=a.mbase.Subclass({type:"merror",inferRow:b,texClass:a.TEXCLASS.ORD});a.mpadded=a.mbase.Subclass({type:"mpadded",inferRow:b,isSpacelike:a.mbase.childrenSpacelike,isEmbellished:a.mbase.childEmbellished,Core:a.mbase.childCore,CoreMO:a.mbase.childCoreMO,defaults:{mathbackground:a.INHERIT,mathcolor:a.INHERIT,width:"",height:"",depth:"",lspace:0,voffset:0},setTeXclass:a.mbase.setChildTeXclass});a.mphantom=a.mbase.Subclass({type:"mphantom",texClass:a.TEXCLASS.ORD,inferRow:b,isSpacelike:a.mbase.childrenSpacelike,isEmbellished:a.mbase.childEmbellished,Core:a.mbase.childCore,CoreMO:a.mbase.childCoreMO,setTeXclass:a.mbase.setChildTeXclass});a.mfenced=a.mbase.Subclass({type:"mfenced",defaults:{mathbackground:a.INHERIT,mathcolor:a.INHERIT,open:"(",close:")",separators:","},texClass:a.TEXCLASS.OPEN,setTeXclass:function(j){this.getPrevClass(j);var g=this.getValues("open","close","separators");g.open=g.open.replace(/[ \t\n\r]/g,"");g.close=g.close.replace(/[ \t\n\r]/g,"");g.separators=g.separators.replace(/[ \t\n\r]/g,"");if(g.open!==""){this.SetData("open",a.mo(g.open).With({stretchy:true,texClass:a.TEXCLASS.OPEN}));j=this.data.open.setTeXclass(j)}if(g.separators!==""){while(g.separators.length0){return d}return this.Get("displaystyle")},adjustChild_scriptlevel:function(g){var f=this.Get("scriptlevel");if(g>0){f++}return f},adjustChild_texprimestyle:function(f){if(f===this.sub){return b}return this.Get("texprimestyle")},setTeXclass:a.mbase.setBaseTeXclasses});a.msub=a.msubsup.Subclass({type:"msub"});a.msup=a.msubsup.Subclass({type:"msup",sub:2,sup:1});a.mmultiscripts=a.msubsup.Subclass({type:"mmultiscripts",adjustChild_texprimestyle:function(f){if(f%2===1){return b}return this.Get("texprimestyle")}});a.mprescripts=a.mbase.Subclass({type:"mprescripts"});a.none=a.mbase.Subclass({type:"none"});a.munderover=a.mbase.Subclass({type:"munderover",base:0,under:1,over:2,sub:1,sup:2,ACCENTS:["","accentunder","accent"],isEmbellished:a.mbase.childEmbellished,Core:a.mbase.childCore,CoreMO:a.mbase.childCoreMO,defaults:{mathbackground:a.INHERIT,mathcolor:a.INHERIT,accent:a.AUTO,accentunder:a.AUTO,align:a.ALIGN.CENTER,texClass:a.AUTO,subscriptshift:"",superscriptshift:""},autoDefault:function(f){if(f==="texClass"){return(this.isEmbellished()?this.CoreMO().Get(f):a.TEXCLASS.ORD)}if(f==="accent"&&this.data[this.over]){return this.data[this.over].CoreMO().Get("accent")}if(f==="accentunder"&&this.data[this.under]){return this.data[this.under].CoreMO().Get("accent")}return d},adjustChild_displaystyle:function(f){if(f>0){return d}return this.Get("displaystyle")},adjustChild_scriptlevel:function(g){var f=this.Get("scriptlevel");if(g==this.under&&!this.Get("accentunder")){f++}if(g==this.over&&!this.Get("accent")){f++}return f},adjustChild_texprimestyle:function(f){if(f===this.base&&this.data[this.over]){return b}return this.Get("texprimestyle")},setTeXclass:a.mbase.setBaseTeXclasses});a.munder=a.munderover.Subclass({type:"munder"});a.mover=a.munderover.Subclass({type:"mover",over:1,under:2,sup:1,sub:2,ACCENTS:["","accent","accentunder"]});a.mtable=a.mbase.Subclass({type:"mtable",defaults:{mathbackground:a.INHERIT,mathcolor:a.INHERIT,align:a.ALIGN.AXIS,rowalign:a.ALIGN.BASELINE,columnalign:a.ALIGN.CENTER,groupalign:"{left}",alignmentscope:b,columnwidth:a.WIDTH.AUTO,width:a.WIDTH.AUTO,rowspacing:"1ex",columnspacing:".8em",rowlines:a.LINES.NONE,columnlines:a.LINES.NONE,frame:a.LINES.NONE,framespacing:"0.4em 0.5ex",equalrows:d,equalcolumns:d,displaystyle:d,side:a.SIDE.RIGHT,minlabelspacing:"0.8em",texClass:a.TEXCLASS.ORD,useHeight:1},inheritFromMe:b,noInherit:{mtable:{align:b,rowalign:b,columnalign:b,groupalign:b,alignmentscope:b,columnwidth:b,width:b,rowspacing:b,columnspacing:b,rowlines:b,columnlines:b,frame:b,framespacing:b,equalrows:b,equalcolumns:b,side:b,minlabelspacing:b,texClass:b,useHeight:1}},Append:function(){for(var g=0,f=arguments.length;g":e.REL,"?":[1,1,c.CLOSE],"\\":e.ORD,_:e.ORD11,"|":[2,2,c.ORD,{fence:true,stretchy:true,symmetric:true}],"#":e.ORD,"$":e.ORD,"\u002E":[0,3,c.PUNCT,{separator:true}],"\u02B9":e.ORD,"\u02C9":e.ACCENT,"\u02CA":e.ACCENT,"\u02CB":e.ACCENT,"\u0300":e.ACCENT,"\u0301":e.ACCENT,"\u0303":e.WIDEACCENT,"\u0304":e.ACCENT,"\u0306":e.ACCENT,"\u0307":e.ACCENT,"\u0308":e.ACCENT,"\u030C":e.ACCENT,"\u0332":e.WIDEACCENT,"\u0338":e.REL4,"\u2015":[0,0,c.ORD,{stretchy:true}],"\u2017":[0,0,c.ORD,{stretchy:true}],"\u2020":e.BIN3,"\u2021":e.BIN3,"\u20D7":e.ACCENT,"\u2118":e.ORD,"\u2205":e.ORD,"\u221E":e.ORD,"\u2305":e.BIN3,"\u2306":e.BIN3,"\u2322":e.REL4,"\u2323":e.REL4,"\u2329":e.OPEN,"\u232A":e.CLOSE,"\u23AA":e.ORD,"\u23AF":[0,0,c.ORD,{stretchy:true}],"\u23B0":e.OPEN,"\u23B1":e.CLOSE,"\u25EF":e.BIN3,"\u2660":e.ORD,"\u2661":e.ORD,"\u2662":e.ORD,"\u2663":e.ORD,"\u27EE":e.OPEN,"\u27EF":e.CLOSE,"\u27FC":e.REL4,"\u3008":e.OPEN,"\u3009":e.CLOSE,"\uFE37":e.WIDEACCENT,"\uFE38":e.WIDEACCENT}}},{OPTYPES:e})})(MathJax.ElementJax.mml);MathJax.ElementJax.mml.loadComplete("jax.js"); + +(function(){var c="1.1";var a=MathJax.Hub.CombineConfig("TeX.noErrors",{multiLine:true,inlineDelimiters:["",""],style:{"font-family":"serif","font-size":"80%","text-align":"left",color:"black",padding:"1px 3px",border:"1px solid"}});var b="\u00A0";MathJax.Extension["TeX/noErrors"]={version:c,config:a};MathJax.Hub.Register.StartupHook("TeX Jax Ready",function(){MathJax.InputJax.TeX.Augment({formatError:function(f,e,g,d){var i=a.inlineDelimiters;var h=(g||a.multiLine);if(!g){e=i[0]+e+i[1]}if(h){e=e.replace(/ /g,b)}else{e=e.replace(/\n/g," ")}return MathJax.ElementJax.mml.merror(e).With({isError:true,multiLine:h})}})});MathJax.Hub.Register.StartupHook("HTML-CSS Jax Config",function(){MathJax.Hub.Config({"HTML-CSS":{styles:{".MathJax .merror":MathJax.Hub.Insert({"font-style":null,"background-color":null,"vertical-align":(MathJax.Hub.Browser.isMSIE&&a.multiLine?"-2px":"")},a.style)}}})})})();MathJax.Hub.Register.StartupHook("HTML-CSS Jax Ready",function(){var a=MathJax.ElementJax.mml;var b=MathJax.OutputJax["HTML-CSS"];var c=a.math.prototype.toHTML;a.math.Augment({toHTML:function(d,e){if(this.data[0]&&this.data[0].data[0]&&this.data[0].data[0].isError){return this.data[0].data[0].toHTML(d)}return c.call(this,d,e)}});a.merror.Augment({toHTML:function(j){if(!this.isError){return a.mbase.prototype.toHTML.call(this,j)}j=this.HTMLcreateSpan(j);if(this.multiLine){j.style.display="inline-block"}var l=this.data[0].data[0].data.join("").split(/\n/);for(var g=0,e=l.length;g1){var k=(n.h+n.d)/2,h=b.TeX.x_height/2;var f=b.config.styles[".MathJax .merror"]["font-size"];if(f&&f.match(/%/)){h*=parseInt(f)/100}j.parentNode.style.verticalAlign=b.Em(n.d+(h-k));n.h=h+k;n.d=k-h}j.bbox={h:n.h,d:n.d,w:d,lw:0,rw:d};return j}});MathJax.Hub.Startup.signal.Post("TeX noErrors Ready")});MathJax.Hub.Register.StartupHook("NativeMML Jax Ready",function(){var b=MathJax.ElementJax.mml;var a=MathJax.Extension["TeX/noErrors"].config;var c=b.math.prototype.toNativeMML;b.math.Augment({toNativeMML:function(d){if(this.data[0]&&this.data[0].data[0]&&this.data[0].data[0].isError){return this.data[0].data[0].toNativeMML(d)}return c.call(this,d)}});b.merror.Augment({toNativeMML:function(g){if(!this.isError){return b.mbase.prototype.toNativeMML.call(this,g)}g=g.appendChild(document.createElement("span"));var h=this.data[0].data[0].data.join("").split(/\n/);for(var f=0,e=h.length;f1){g.style.verticalAlign="middle"}}for(var j in a.style){if(a.style.hasOwnProperty(j)){var d=j.replace(/-./g,function(i){return i.charAt(1).toUpperCase()});g.style[d]=a.style[j]}}return g}});MathJax.Hub.Startup.signal.Post("TeX noErrors Ready")});MathJax.Ajax.loadComplete("[MathJax]/extensions/TeX/noErrors.js"); + +MathJax.Extension["TeX/noUndefined"]={version:"1.1",config:MathJax.Hub.CombineConfig("TeX.noUndefined",{attributes:{mathcolor:"red"}})};MathJax.Hub.Register.StartupHook("TeX Jax Ready",function(){var b=MathJax.Extension["TeX/noUndefined"].config;var a=MathJax.ElementJax.mml;MathJax.InputJax.TeX.Parse.Augment({csUndefined:function(c){this.Push(a.mtext(c).With(b.attributes))}});MathJax.Hub.Startup.signal.Post("TeX noUndefined Ready")});MathJax.Ajax.loadComplete("[MathJax]/extensions/TeX/noUndefined.js"); + +(function(d){var c=true,f=false,i,h=String.fromCharCode(160);var e=MathJax.Object.Subclass({Init:function(k){this.global={};this.data=[b.start().With({global:this.global})];if(k){this.data[0].env=k}this.env=this.data[0].env},Push:function(){var l,k,n,o;for(l=0,k=arguments.length;l":"27E9","\\lt":"27E8","\\gt":"27E9","/":"/","|":["|",{texClass:i.TEXCLASS.ORD}],".":"","\\\\":"\\","\\lmoustache":"23B0","\\rmoustache":"23B1","\\lgroup":"27EE","\\rgroup":"27EF","\\arrowvert":"23D0","\\Arrowvert":"2016","\\bracevert":"23AA","\\Vert":["2225",{texClass:i.TEXCLASS.ORD}],"\\|":["2225",{texClass:i.TEXCLASS.ORD}],"\\vert":["|",{texClass:i.TEXCLASS.ORD}],"\\uparrow":"2191","\\downarrow":"2193","\\updownarrow":"2195","\\Uparrow":"21D1","\\Downarrow":"21D3","\\Updownarrow":"21D5","\\backslash":"\\","\\rangle":"27E9","\\langle":"27E8","\\rbrace":"}","\\lbrace":"{","\\}":"}","\\{":"{","\\rceil":"2309","\\lceil":"2308","\\rfloor":"230B","\\lfloor":"230A","\\lbrack":"[","\\rbrack":"]"},macros:{displaystyle:["SetStyle","D",c,0],textstyle:["SetStyle","T",f,0],scriptstyle:["SetStyle","S",f,1],scriptscriptstyle:["SetStyle","SS",f,2],rm:["SetFont",i.VARIANT.NORMAL],mit:["SetFont",i.VARIANT.ITALIC],oldstyle:["SetFont",i.VARIANT.OLDSTYLE],cal:["SetFont",i.VARIANT.CALIGRAPHIC],it:["SetFont",i.VARIANT.ITALIC],bf:["SetFont",i.VARIANT.BOLD],bbFont:["SetFont",i.VARIANT.DOUBLESTRUCK],scr:["SetFont",i.VARIANT.SCRIPT],frak:["SetFont",i.VARIANT.FRAKTUR],sf:["SetFont",i.VARIANT.SANSSERIF],tt:["SetFont",i.VARIANT.MONOSPACE],tiny:["SetSize",0.5],Tiny:["SetSize",0.6],scriptsize:["SetSize",0.7],small:["SetSize",0.85],normalsize:["SetSize",1],large:["SetSize",1.2],Large:["SetSize",1.44],LARGE:["SetSize",1.73],huge:["SetSize",2.07],Huge:["SetSize",2.49],arcsin:["NamedFn"],arccos:["NamedFn"],arctan:["NamedFn"],arg:["NamedFn"],cos:["NamedFn"],cosh:["NamedFn"],cot:["NamedFn"],coth:["NamedFn"],csc:["NamedFn"],deg:["NamedFn"],det:"NamedOp",dim:["NamedFn"],exp:["NamedFn"],gcd:"NamedOp",hom:["NamedFn"],inf:"NamedOp",ker:["NamedFn"],lg:["NamedFn"],lim:"NamedOp",liminf:["NamedOp","lim inf"],limsup:["NamedOp","lim sup"],ln:["NamedFn"],log:["NamedFn"],max:"NamedOp",min:"NamedOp",Pr:"NamedOp",sec:["NamedFn"],sin:["NamedFn"],sinh:["NamedFn"],sup:"NamedOp",tan:["NamedFn"],tanh:["NamedFn"],limits:["Limits",1],nolimits:["Limits",0],overline:["UnderOver","203E"],underline:["UnderOver","005F"],overbrace:["UnderOver","23DE",1],underbrace:["UnderOver","23DF",1],overrightarrow:["UnderOver","2192"],underrightarrow:["UnderOver","2192"],overleftarrow:["UnderOver","2190"],underleftarrow:["UnderOver","2190"],overleftrightarrow:["UnderOver","2194"],underleftrightarrow:["UnderOver","2194"],overset:"Overset",underset:"Underset",stackrel:["Macro","\\mathrel{\\mathop{#2}\\limits^{#1}}",2],over:"Over",overwithdelims:"Over",atop:"Over",atopwithdelims:"Over",above:"Over",abovewithdelims:"Over",brace:["Over","{","}"],brack:["Over","[","]"],choose:["Over","(",")"],frac:"Frac",sqrt:"Sqrt",root:"Root",uproot:["MoveRoot","upRoot"],leftroot:["MoveRoot","leftRoot"],left:"LeftRight",right:"LeftRight",llap:"Lap",rlap:"Lap",raise:"RaiseLower",lower:"RaiseLower",moveleft:"MoveLeftRight",moveright:"MoveLeftRight",",":["Spacer",i.LENGTH.THINMATHSPACE],":":["Spacer",i.LENGTH.THINMATHSPACE],">":["Spacer",i.LENGTH.MEDIUMMATHSPACE],";":["Spacer",i.LENGTH.THICKMATHSPACE],"!":["Spacer",i.LENGTH.NEGATIVETHINMATHSPACE],enspace:["Spacer",".5em"],quad:["Spacer","1em"],qquad:["Spacer","2em"],thinspace:["Spacer",i.LENGTH.THINMATHSPACE],negthinspace:["Spacer",i.LENGTH.NEGATIVETHINMATHSPACE],hskip:"Hskip",hspace:"Hskip",kern:"Hskip",mskip:"Hskip",mspace:"Hskip",mkern:"Hskip",Rule:["Rule"],Space:["Rule","blank"],big:["MakeBig",i.TEXCLASS.ORD,0.85],Big:["MakeBig",i.TEXCLASS.ORD,1.15],bigg:["MakeBig",i.TEXCLASS.ORD,1.45],Bigg:["MakeBig",i.TEXCLASS.ORD,1.75],bigl:["MakeBig",i.TEXCLASS.OPEN,0.85],Bigl:["MakeBig",i.TEXCLASS.OPEN,1.15],biggl:["MakeBig",i.TEXCLASS.OPEN,1.45],Biggl:["MakeBig",i.TEXCLASS.OPEN,1.75],bigr:["MakeBig",i.TEXCLASS.CLOSE,0.85],Bigr:["MakeBig",i.TEXCLASS.CLOSE,1.15],biggr:["MakeBig",i.TEXCLASS.CLOSE,1.45],Biggr:["MakeBig",i.TEXCLASS.CLOSE,1.75],bigm:["MakeBig",i.TEXCLASS.REL,0.85],Bigm:["MakeBig",i.TEXCLASS.REL,1.15],biggm:["MakeBig",i.TEXCLASS.REL,1.45],Biggm:["MakeBig",i.TEXCLASS.REL,1.75],mathord:["TeXAtom",i.TEXCLASS.ORD],mathop:["TeXAtom",i.TEXCLASS.OP],mathopen:["TeXAtom",i.TEXCLASS.OPEN],mathclose:["TeXAtom",i.TEXCLASS.CLOSE],mathbin:["TeXAtom",i.TEXCLASS.BIN],mathrel:["TeXAtom",i.TEXCLASS.REL],mathpunct:["TeXAtom",i.TEXCLASS.PUNCT],mathinner:["TeXAtom",i.TEXCLASS.INNER],vcenter:["TeXAtom",i.TEXCLASS.VCENTER],mathchoice:["Extension","mathchoice"],buildrel:"BuildRel",hbox:["HBox",0],text:"HBox",mbox:["HBox",0],fbox:"FBox",strut:"Strut",mathstrut:["Macro","\\vphantom{(}"],phantom:"Phantom",vphantom:["Phantom",1,0],hphantom:["Phantom",0,1],smash:"Smash",acute:["Accent","02CA"],grave:["Accent","02CB"],ddot:["Accent","00A8"],tilde:["Accent","02DC"],bar:["Accent","02C9"],breve:["Accent","02D8"],check:["Accent","02C7"],hat:["Accent","02C6"],vec:["Accent","20D7"],dot:["Accent","02D9"],widetilde:["Accent","02DC",1],widehat:["Accent","02C6",1],matrix:"Matrix",array:"Matrix",pmatrix:["Matrix","(",")"],cases:["Matrix","{","","left left",null,".1em"],eqalign:["Matrix",null,null,"right left",i.LENGTH.THICKMATHSPACE,".5em","D"],displaylines:["Matrix",null,null,"center",null,".5em","D"],cr:"Cr","\\":"CrLaTeX",newline:"Cr",hline:["HLine","solid"],hdashline:["HLine","dashed"],eqalignno:["Matrix",null,null,"right left right",i.LENGTH.THICKMATHSPACE+" 3em",".5em","D"],leqalignno:["Matrix",null,null,"right left right",i.LENGTH.THICKMATHSPACE+" 3em",".5em","D"],bmod:["Macro","\\mathbin{\\mmlToken{mo}{mod}}"],pmod:["Macro","\\pod{\\mmlToken{mi}{mod}\\kern 6mu #1}",1],mod:["Macro","\\mathchoice{\\kern18mu}{\\kern12mu}{\\kern12mu}{\\kern12mu}\\mmlToken{mi}{mod}\\,\\,#1",1],pod:["Macro","\\mathchoice{\\kern18mu}{\\kern8mu}{\\kern8mu}{\\kern8mu}(#1)",1],iff:["Macro","\\;\\Longleftrightarrow\\;"],skew:["Macro","{{#2{#3\\mkern#1mu}\\mkern-#1mu}{}}",3],mathcal:["Macro","{\\cal #1}",1],mathscr:["Macro","{\\scr #1}",1],mathrm:["Macro","{\\rm #1}",1],mathbf:["Macro","{\\bf #1}",1],mathbb:["Macro","{\\bbFont #1}",1],Bbb:["Macro","{\\bbFont #1}",1],mathit:["Macro","{\\it #1}",1],mathfrak:["Macro","{\\frak #1}",1],mathsf:["Macro","{\\sf #1}",1],mathtt:["Macro","{\\tt #1}",1],textrm:["Macro","\\mathord{\\rm\\text{#1}}",1],textit:["Macro","\\mathord{\\it{\\text{#1}}}",1],textbf:["Macro","\\mathord{\\bf{\\text{#1}}}",1],pmb:["Macro","\\rlap{#1}\\kern1px{#1}",1],TeX:["Macro","T\\kern-.14em\\lower.5ex{E}\\kern-.115em X"],LaTeX:["Macro","L\\kern-.325em\\raise.21em{\\scriptstyle{A}}\\kern-.17em\\TeX"],not:["Macro","\\mathrel{\\rlap{\\kern.5em\\notChar}}"]," ":["Macro","\\text{ }"],space:"Tilde",begin:"Begin",end:"End",newcommand:["Extension","newcommand"],renewcommand:["Extension","newcommand"],newenvironment:["Extension","newcommand"],def:["Extension","newcommand"],verb:["Extension","verb"],boldsymbol:["Extension","boldsymbol"],tag:["Extension","AMSmath"],notag:["Extension","AMSmath"],label:["Macro","",1],nonumber:["Macro",""],unicode:["Extension","unicode"],color:"Color",href:["Extension","HTML"],"class":["Extension","HTML"],style:["Extension","HTML"],cssId:["Extension","HTML"],mmlToken:"MmlToken",require:"Require"},environment:{array:["Array"],matrix:["Array",null,null,null,"c"],pmatrix:["Array",null,"(",")","c"],bmatrix:["Array",null,"[","]","c"],Bmatrix:["Array",null,"\\{","\\}","c"],vmatrix:["Array",null,"\\vert","\\vert","c"],Vmatrix:["Array",null,"\\Vert","\\Vert","c"],cases:["Array",null,"\\{",".","ll",null,".1em"],eqnarray:["Array",null,null,null,"rcl",i.LENGTH.THICKMATHSPACE,".5em","D"],"eqnarray*":["Array",null,null,null,"rcl",i.LENGTH.THICKMATHSPACE,".5em","D"],equation:[null,"Equation"],"equation*":[null,"Equation"],align:["ExtensionEnv",null,"AMSmath"],"align*":["ExtensionEnv",null,"AMSmath"],aligned:["ExtensionEnv",null,"AMSmath"],multline:["ExtensionEnv",null,"AMSmath"],"multline*":["ExtensionEnv",null,"AMSmath"],split:["ExtensionEnv",null,"AMSmath"],gather:["ExtensionEnv",null,"AMSmath"],"gather*":["ExtensionEnv",null,"AMSmath"],gathered:["ExtensionEnv",null,"AMSmath"],alignat:["ExtensionEnv",null,"AMSmath"],"alignat*":["ExtensionEnv",null,"AMSmath"],alignedat:["ExtensionEnv",null,"AMSmath"]},p_height:1.2/0.85});if(this.config.Macros){var k=this.config.Macros;for(var l in k){if(k.hasOwnProperty(l)){if(typeof(k[l])==="string"){g.macros[l]=["Macro",k[l]]}else{g.macros[l]=["Macro"].concat(k[l])}}}}};var a=MathJax.Object.Subclass({Init:function(l,m){this.string=l;this.i=0;this.macroCount=0;var k;if(m){k={};for(var n in m){if(m.hasOwnProperty(n)){k[n]=m[n]}}}this.stack=d.Stack(k);this.Parse();this.Push(b.stop())},Parse:function(){var k;while(this.id.config.MAXMACROS){d.Error("MathJax maximum macro substitution count exceeded; is there a recursive macro call?")}},Matrix:function(l,n,s,p,q,m,k){var r=this.GetNext();if(r===""){d.Error("Missing argument for "+l)}if(r==="{"){this.i++}else{this.string=r+"}"+this.string.slice(this.i+1);this.i=0}var o=b.array().With({requireClose:c,arraydef:{rowspacing:(m||"4pt"),columnspacing:(q||"1em")}});if(n||s){o.open=n;o.close=s}if(k==="D"){o.arraydef.displaystyle=c}if(p!=null){o.arraydef.columnalign=p}this.Push(o)},Entry:function(k){this.Push(b.cell().With({isEntry:c,name:k}))},Cr:function(k){this.Push(b.cell().With({isCR:c,name:k}))},CrLaTeX:function(k){var o=this.GetBrackets(k).replace(/ /g,"");if(o&&!o.match(/^(((\.\d+|\d+(\.\d*)?))(pt|em|ex|mu|mm|cm|in|pc))$/)){d.Error("Bracket argument to "+k+" must be a dimension")}this.Push(b.cell().With({isCR:c,name:k}));var m=this.stack.Top();if(m.isa(b.array)){if(o&&m.arraydef.rowspacing){var l=m.arraydef.rowspacing.split(/ /);if(!m.rowspacing){m.rowspacing=this.dimen2em(l[0])}while(l.lengthd.config.MAXMACROS){d.Error("MathJax maximum substitution count exceeded; is there a recursive latex environment?")}var n=g.environment[m];if(!(n instanceof Array)){n=[n]}var k=b.begin().With({name:m,end:n[1],parse:this});if(n[0]&&this[n[0]]){k=this[n[0]].apply(this,[k].concat(n.slice(2)))}this.Push(k)},End:function(k){this.Push(b.end().With({name:this.GetArgument(k)}))},Equation:function(k,l){return l},ExtensionEnv:function(l,k){this.Extension(l.name,k,"environment")},Array:function(m,o,t,r,s,n,k,p){if(!r){r=this.GetArgument("\\begin{"+m.name+"}")}var u=("c"+r).replace(/[^clr|:]/g,"").replace(/[^|:]([|:])+/g,"$1");r=r.replace(/[^clr]/g,"").split("").join(" ");r=r.replace(/l/g,"left").replace(/r/g,"right").replace(/c/g,"center");var q=b.array().With({arraydef:{columnalign:r,columnspacing:(s||"1em"),rowspacing:(n||"4pt")}});if(u.match(/[|:]/)){var l=(u.charAt(0)+u.charAt(u.length-1)).replace(/[^|:]/g,"");if(l!==""){q.arraydef.frame={"|":"solid",":":"dashed"}[l.charAt(0)];q.arraydef.framespacing=".5em .5ex"}u=u.substr(1,u.length-2);q.arraydef.columnlines=u.split("").join(" ").replace(/[^|: ]/g,"none").replace(/\|/g,"solid").replace(/:/g,"dashed")}if(o){q.open=this.convertDelimiter(o)}if(t){q.close=this.convertDelimiter(t)}if(k==="D"){q.arraydef.displaystyle=c}if(k==="S"){q.arraydef.scriptlevel=1}if(p){q.arraydef.useHeight=f}this.Push(m);return q},convertDelimiter:function(k){if(k){k=g.delimiter[k]}if(k==null){return null}if(k instanceof Array){k=k[0]}if(k.length===4){k=String.fromCharCode(parseInt(k,16))}return k},trimSpaces:function(k){if(typeof(k)!="string"){return k}return k.replace(/^\s+|\s+$/g,"")},nextIsSpace:function(){return this.string.charAt(this.i).match(/[ \n\r\t]/)},GetNext:function(){while(this.nextIsSpace()){this.i++}return this.string.charAt(this.i)},GetCS:function(){var k=this.string.slice(this.i).match(/^([a-z]+|.) ?/i);if(k){this.i+=k[1].length;return k[1]}else{this.i++;return" "}},GetArgument:function(l,m){switch(this.GetNext()){case"":if(!m){d.Error("Missing argument for "+l)}return null;case"}":if(!m){d.Error("Extra close brace or missing open brace")}return null;case"\\":this.i++;return"\\"+this.GetCS();case"{":var k=++this.i,n=1;while(this.il.length){d.Error("Illegal macro parameter reference")}n=this.AddArgs(this.AddArgs(n,o),l[p-1]);o=""}}else{o+=p}}}return this.AddArgs(n,o)},AddArgs:function(l,k){if(k.match(/^[a-z]/i)&&l.match(/(^|[^\\])(\\\\)*\\[a-z]+$/i)){l+=" "}if(l.length+k.length>d.config.MAXBUFFER){d.Error("MathJax internal buffer size exceeded; is there a recursive macro call?")}return l+k}});d.Augment({Stack:e,Parse:a,Definitions:g,Startup:j,config:{MAXMACROS:10000,MAXBUFFER:5*1024},Translate:function(k){var l,n=k.innerHTML.replace(/^\s+/,"").replace(/\s+$/,"");if(MathJax.Hub.Browser.isKonqueror){n=n.replace(/</g,"<").replace(/>/g,">").replace(/&/g,"&")}var o=(k.type.replace(/\n/g," ").match(/(;|\s|\n)mode\s*=\s*display(;|\s|\n|$)/)!=null);n=d.prefilterMath(n,o,k);try{l=d.Parse(n).mml()}catch(m){if(!m.texError){throw m}l=this.formatError(m,n,o,k)}if(l.inferred){l=i.apply(MathJax.ElementJax,l.data)}else{l=i(l)}if(o){l.root.display="block"}return this.postfilterMath(l,o,k)},prefilterMath:function(l,m,k){return l.replace(/([_^]\s*\d)([0-9.,])/g,"$1 $2")},postfilterMath:function(l,m,k){this.combineRelations(l.root);return l},formatError:function(m,l,n,k){return i.merror(m.message.replace(/\n.*/,""))},Error:function(k){throw MathJax.Hub.Insert(Error(k),{texError:c})},Macro:function(k,l,m){g.macros[k]=["Macro"].concat([].slice.call(arguments,1))},combineRelations:function(l){for(var n=0,k=l.data.length;n0){align+="rl";spacing.push("0em 0em");j--}spacing=spacing.join(" ");if(g){return this.AMSarray(i,h,g,align,spacing)}return this.Array(i,null,null,align,spacing,".5em","D")},MultiIntegral:function(g,k){var j=this.GetNext();if(j==="\\"){var h=this.i;j=this.GetArgument(g);this.i=h;if(j==="\\limits"){if(g==="\\idotsint"){k="\\!\\!\\mathop{\\,\\,"+k+"}"}else{k="\\!\\!\\!\\mathop{\\,\\,\\,"+k+"}"}}}this.string=k+" "+this.string.slice(this.i);this.i=0},xArrow:function(i,m,k,g){var j={width:"+"+(k+g)+"mu",lspace:k+"mu"};var n=this.GetBrackets(i),o=this.ParseArg(i);var p=a.mo(a.chars(String.fromCharCode(m))).With({stretchy:true,texClass:a.TEXCLASS.REL});var h=a.munderover(p);h.SetData(h.over,a.mpadded(o).With(j).With({voffset:".15em"}));if(n){n=f.Parse(n,this.stack.env).mml();h.SetData(h.under,a.mpadded(n).With(j).With({voffset:"-.24em"}))}this.Push(h)},GetDelimiterArg:function(g){var h=this.trimSpaces(this.GetArgument(g));if(h==""){return null}if(!c.delimiter[h]){f.Error("Missing or unrecognized delimiter for "+g)}return this.convertDelimiter(h)}});d.multline=d.array.Subclass({type:"multline",EndEntry:function(){var g=a.mtd.apply(a,this.data);if(this.data.shove){g.columnalign=this.data.shove}this.row.push(g);this.data=[]},EndRow:function(){if(this.row.length!=1){f.Error("multline rows must have exactly one column")}this.table.push(this.row);this.row=[]},EndTable:function(){this.SUPER(arguments).EndTable.call(this);if(this.table.length){var h=this.table.length-1,j;if(!this.table[0][0].columnalign){this.table[0][0].columnalign=a.ALIGN.LEFT}if(!this.table[h][0].columnalign){this.table[h][0].columnalign=a.ALIGN.RIGHT}var g=a.mtr;if(this.global.tag){this.table[0]=[this.global.tag].concat(this.table[0]);delete this.global.tag;g=a.mlabeledtr}this.table[0]=g.apply(a,this.table[0]);for(j=1,h=this.table.length;j0){return Math.min(3,e.scriptlevel+1)}return(e.displaystyle?0:1)},setTeXclass:function(e){return this.Core().setTeXclass(e)},isSpacelike:function(){return this.Core().isSpacelike()},isEmbellished:function(){return this.Core().isEmbellished()},Core:function(){return this.data[this.choice()]},toHTML:function(e){e=this.HTMLcreateSpan(e);e.bbox=this.Core().toHTML(e).bbox;return e}});MathJax.Hub.Startup.signal.Post("TeX mathchoice Ready")});MathJax.Ajax.loadComplete("[MathJax]/extensions/TeX/mathchoice.js"); + +(function(c,d,e){var a;var b=MathJax.Object.Subclass({timeout:5*1000,FontInfo:{STIX:{family:"STIXSizeOneSym",testString:"() {} []"},TeX:{family:"MathJax_Size1",testString:"() {} []"}},comparisonFont:["sans-serif","monospace","script","Times","Courier","Arial","Helvetica"],testSize:["40px","50px","60px","30px","20px"],Init:function(){this.div=MathJax.HTML.addElement(document.body,"div",{style:{position:"absolute",visibility:"hidden",top:0,left:0,width:"auto",padding:0,border:0,margin:0,textAlign:"left",textIndent:0,textTransform:"none",lineHeight:"normal",letterSpacing:"normal",wordSpacing:"normal",fontSize:this.testSize[0],fontWeight:"normal",fontStyle:"normal"}},[""]);this.text=this.div.firstChild},findFont:function(j,g){if(g&&this.testCollection(g)){return g}for(var h=0,f=j.length;h=0){if(this.negativeSkipBug){var f=i.style.position;i.style.position="absolute";j=this.startMarker;if(i.firstChild){i.insertBefore(j,i.firstChild)}else{i.appendChild(j)}j=this.startMarker}i.appendChild(this.endMarker);g=this.endMarker.offsetLeft-j.offsetLeft;i.removeChild(this.endMarker);if(this.negativeSkipBug){i.removeChild(j);i.style.position=f}}return g/this.em},Measured:function(h,g){if(h.bbox.width==null&&h.bbox.w&&!h.bbox.isMultiline){var f=this.getW(h);h.bbox.rw+=f-h.bbox.w;h.bbox.w=f}if(!g){g=h.parentNode}if(!g.bbox){g.bbox=h.bbox}return h},Remeasured:function(g,f){f.bbox=this.Measured(g,f).bbox},Em:function(f){if(Math.abs(f)<0.0006){return"0em"}return f.toFixed(3).replace(/\.?0+$/,"")+"em"},Percent:function(f){return(100*f).toFixed(1).replace(/\.?0+$/,"")+"%"},length2percent:function(f){return this.Percent(this.length2em(f))},length2em:function(k,i){if(typeof(k)!=="string"){k=k.toString()}if(k===""){return""}if(k===a.SIZE.NORMAL){return 1}if(k===a.SIZE.BIG){return 2}if(k===a.SIZE.SMALL){return 0.71}if(k==="infinity"){return e.BIGDIMEN}var h=this.FONTDATA.TeX_factor;if(k.match(/mathspace$/)){return e.MATHSPACE[k]*h}var g=k.match(/^\s*([-+]?(?:\.\d+|\d+(?:\.\d*)?))?(pt|em|ex|mu|px|pc|in|mm|cm|%)?/);var f=parseFloat(g[1]||"1"),j=g[2];if(i==null){i=1}if(j==="em"){return f*h}if(j==="ex"){return f*e.TeX.x_height*h}if(j==="%"){return f/100*i}if(j==="px"){return f/e.em}if(j==="pt"){return f/10*h}if(j==="pc"){return f*1.2*h}if(j==="in"){return f*this.pxPerInch/e.em}if(j==="cm"){return f*this.pxPerInch/e.em/2.54}if(j==="mm"){return f*this.pxPerInch/e.em/25.4}if(j==="mu"){return f/18*h}return f*h*i},thickness2em:function(f){var g=e.TeX.rule_thickness;if(f===a.LINETHICKNESS.MEDIUM){return g}if(f===a.LINETHICKNESS.THIN){return 0.67*g}if(f===a.LINETHICKNESS.THICK){return 1.67*g}return this.length2em(f,g)},createStrut:function(i,g,j){var f=this.Element("span",{style:{display:"inline-block",overflow:"hidden",height:g+"px",width:"1px",marginRight:"-1px"}});if(j){i.insertBefore(f,i.firstChild)}else{i.appendChild(f)}return f},createBlank:function(g,f,h){var i=this.Element("span",{style:{display:"inline-block",overflow:"hidden",height:"1px",width:this.Em(f)}});if(h){g.insertBefore(i,g.firstChild)}else{g.appendChild(i)}return i},createShift:function(g,f,i){var h=this.Element("span",{style:{marginLeft:this.Em(f)}});if(i){g.insertBefore(h,g.firstChild)}else{g.appendChild(h)}return h},createSpace:function(k,j,m,f,g){var i=this.Em(Math.max(0,j+m)),l=this.Em(-m);if(this.msieInlineBlockAlignBug){l=this.Em(e.getHD(k.parentNode).d-m)}if(k.isBox||k.className=="mspace"){k.bbox={h:j*k.scale,d:m*k.scale,w:f*k.scale,rw:f*k.scale,lw:0};k.style.height=i;k.style.verticalAlign=l}else{k=this.addElement(k,"span",{style:{height:i,verticalAlign:l}})}if(f>=0){k.style.width=this.Em(f);k.style.display="inline-block"}else{if(this.msieNegativeSpaceBug){k.style.height=""}k.style.marginLeft=this.Em(f);if(e.safariNegativeSpaceBug&&k.parentNode.firstChild==k){this.createBlank(k,0,true)}}if(g&&g!==a.COLOR.TRANSPARENT){k.style.backgroundColor=g}return k},createRule:function(o,k,m,p,i){var j=e.TeX.min_rule_thickness;if(p>0&&p*this.em0&&(k+m)*this.em0&&n.offsetWidth==0){n.style.width=this.Em(p)}if(o.isBox||o.className=="mspace"){o.bbox=n.bbox}return n},createFrame:function(o,m,n,p,r,g){var l=(this.msieBorderWidthBug?0:2*r);var q=this.Em(m+n-l),f=this.Em(-n-r),k=this.Em(p-l);var i=this.Em(r)+" "+g;var j=this.addElement(o,"span",{style:{border:i,display:"inline-block",overflow:"hidden",width:k,height:q},bbox:{h:m,d:n,w:p,rw:p,lw:0},noAdjust:true});if(f){j.style.verticalAlign=f}return j},createStack:function(h,j,g){if(this.msiePaddingWidthBug){this.createStrut(h,0)}var i=String(g).match(/%$/);var f=(!i&&g!=null?g:0);h=this.addElement(h,"span",{noAdjust:true,style:{display:"inline-block",position:"relative",width:(i?"100%":this.Em(f)),height:0}});if(!j){h.parentNode.bbox=h.bbox={h:-this.BIGDIMEN,d:-this.BIGDIMEN,w:f,lw:this.BIGDIMEN,rw:(!i&&g!=null?g:-this.BIGDIMEN)};if(i){h.bbox.width=g}}return h},createBox:function(g,f){var h=this.addElement(g,"span",{style:{position:"absolute"},isBox:true});if(f!=null){h.style.width=f}return h},addBox:function(f,g){g.style.position="absolute";g.isBox=true;return f.appendChild(g)},placeBox:function(n,m,k,i){var o=n.parentNode,v=n.bbox,q=o.bbox;if(this.msiePlaceBoxBug){this.addText(n,this.NBSP)}if(this.imgSpaceBug){this.addText(n,this.imgSpace)}var p=n.offsetHeight/this.em+1,z=0;if(n.noAdjust){p-=1}else{if(this.msieInlineBlockAlignBug){this.addElement(n,"img",{className:"MathJax_strut",border:0,src:"about:blank",style:{width:0,height:this.Em(p)}})}else{this.addElement(n,"span",{style:{display:"inline-block",width:0,height:this.Em(p)}})}}n.style.top=this.Em(-k-p);n.style.left=this.Em(m+z);if(v){if(this.negativeSkipBug){if(v.lw<0){z=v.lw;e.createBlank(n,-z,true);h=0}if(v.rw>v.w){e.createBlank(n,v.rw-v.w+0.1)}}if(!this.msieClipRectBug&&!v.noclip&&!i){var u=3/this.em;var s=(v.H==null?v.h:v.H),g=(v.D==null?v.d:v.D);var w=p-s-u,j=p+g+u,h=v.lw-3*u,f=1000;if(v.isFixed){f=v.width-h}n.style.clip="rect("+this.Em(w)+" "+this.Em(f)+" "+this.Em(j)+" "+this.Em(h)+")"}}if(v&&q){if(v.H!=null&&(q.H==null||v.H+k>q.H)){q.H=v.H+k}if(v.D!=null&&(q.D==null||v.D-k>q.D)){q.D=v.D-k}if(v.h+k>q.h){q.h=v.h+k}if(v.d-k>q.d){q.d=v.d-k}if(q.H!=null&&q.H<=q.h){delete q.H}if(q.D!=null&&q.D<=q.d){delete q.D}if(v.w+m>q.w){q.w=v.w+m;if(q.width==null){o.style.width=this.Em(q.w)}}if(v.rw+m>q.rw){q.rw=v.rw+m}if(v.lw+m=h-0.01||(o==k-1&&!g.stretch)){if(g.HW[o][2]){l*=g.HW[o][2]}if(g.HW[o][3]){f=g.HW[o][3]}var n=this.addElement(q,"span");this.createChar(n,[f,g.HW[o][1]],l,j);q.bbox=n.bbox;q.offset=0.65*q.bbox.w;q.scale=l;return}}if(g.stretch){this["extendDelimiter"+g.dir](q,p,g.stretch,l,j)}},extendDelimiterV:function(v,p,A,B,s){var i=this.createStack(v,true);var r=this.createBox(i),q=this.createBox(i);this.createChar(r,(A.top||A.ext),B,s);this.createChar(q,(A.bot||A.ext),B,s);var g={bbox:{w:0,lw:0,rw:0}},z=g,j;var w=r.bbox.h+r.bbox.d+q.bbox.h+q.bbox.d;var m=-r.bbox.h;this.placeBox(r,0,m,true);m-=r.bbox.d;if(A.mid){z=this.createBox(i);this.createChar(z,A.mid,B,s);w+=z.bbox.h+z.bbox.d}if(p>w){g=this.Element("span");this.createChar(g,A.ext,B,s);var x=g.bbox.h+g.bbox.d,f=x-0.05,t,l,u=(A.mid?2:1);l=t=Math.ceil((p-w)/(u*f));if(!A.fullExtenders){f=(p-w)/(u*t)}var o=(t/(t+1))*(x-f);f=x-o;m+=o+f-g.bbox.h;while(u-->0){while(t-->0){if(!this.msieCloneNodeBug){j=g.cloneNode(true)}else{j=this.Element("span");this.createChar(j,A.ext,B,s)}m-=f;this.placeBox(this.addBox(i,j),0,m,true)}m+=o-g.bbox.d;if(A.mid&&u){this.placeBox(z,0,m-z.bbox.h,true);t=l;m+=-(z.bbox.h+z.bbox.d)+o+f-g.bbox.h}}}else{m+=(w-p)/2;if(A.mid){this.placeBox(z,0,m-z.bbox.h,true);m+=-(z.bbox.h+z.bbox.d)}m+=(w-p)/2}this.placeBox(q,0,m-q.bbox.h,true);m-=q.bbox.h+q.bbox.d;v.bbox={w:Math.max(r.bbox.w,g.bbox.w,q.bbox.w,z.bbox.w),lw:Math.min(r.bbox.lw,g.bbox.lw,q.bbox.lw,z.bbox.lw),rw:Math.max(r.bbox.rw,g.bbox.rw,q.bbox.rw,z.bbox.rw),h:0,d:-m};v.scale=B;v.offset=0.55*v.bbox.w;v.isMultiChar=true;this.setStackWidth(i,v.bbox.w)},extendDelimiterH:function(u,h,z,B,r){var l=this.createStack(u,true);var i=this.createBox(l),v=this.createBox(l);this.createChar(i,(z.left||z.rep),B,r);this.createChar(v,(z.right||z.rep),B,r);var f=this.Element("span");this.createChar(f,z.rep,B,r);var y={bbox:{h:-this.BIGDIMEN,d:-this.BIGDIMEN}},g;this.placeBox(i,-i.bbox.lw,0,true);var p=(i.bbox.rw-i.bbox.lw)+(v.bbox.rw-v.bbox.lw)-0.05,o=i.bbox.rw-i.bbox.lw-0.025,q;if(z.mid){y=this.createBox(l);this.createChar(y,z.mid,B,r);p+=y.bbox.w}if(h>p){var A=f.bbox.rw-f.bbox.lw,j=A-0.05,s,m,t=(z.mid?2:1);m=s=Math.ceil((h-p)/(t*j));j=(h-p)/(t*s);q=(s/(s+1))*(A-j);j=A-q;o-=f.bbox.lw+q;while(t-->0){while(s-->0){if(!this.msieCloneNodeBug){g=f.cloneNode(true)}else{g=this.Element("span");this.createChar(g,z.rep,B,r)}this.placeBox(this.addBox(l,g),o,0,true);o+=j}if(z.mid&&t){this.placeBox(y,o,0,true);o+=y.bbox.w-q;s=m}}}else{q=Math.min(p-h,i.bbox.w/2);o-=q/2;if(z.mid){this.placeBox(y,o,0,true);o+=y.bbox.w}o-=q/2}this.placeBox(v,o,0,true);u.bbox={w:o+v.bbox.rw,lw:0,rw:o+v.bbox.rw,H:Math.max(i.bbox.h,f.bbox.h,v.bbox.h,y.bbox.h),D:Math.max(i.bbox.d,f.bbox.d,v.bbox.d,y.bbox.d),h:f.bbox.h,d:f.bbox.d};u.scale=B;u.isMultiChar=true;this.setStackWidth(l,u.bbox.w)},createChar:function(o,k,h,f){var n=o,p="",j={fonts:[k[1]],noRemap:true};if(f&&f===a.VARIANT.BOLD){j.fonts=[k[1]+"-bold",k[1]]}if(typeof(k[1])!=="string"){j=k[1]}if(k[0] instanceof Array){for(var l=0,g=k[0].length;l=r[q].low&&s<=r[q].high){if(r[q].remap&&r[q].remap[s]){s=k+r[q].remap[s]}else{s=s-r[q].low+k;if(r[q].add){s+=r[q].add}}if(j["variant"+r[q].offset]){j=this.FONTDATA.VARIANT[j["variant"+r[q].offset]]}break}}}if(j.remap&&j.remap[s]){if(j.remap[s] instanceof Array){var h=j.remap[s];s=h[0];j=this.FONTDATA.VARIANT[h[1]]}else{s=j.remap[s];if(j.remap.variant){j=this.FONTDATA.VARIANT[j.remap.variant]}}}if(this.FONTDATA.REMAP[s]&&!j.noRemap){s=this.FONTDATA.REMAP[s]}p=this.lookupChar(j,s);y=p[s];if(j!==x&&!y[5].img){if(u.length){this.addText(f,u);u=""}f=v;x=g;if(j!==x){if(x){f=this.addElement(v,"span")}else{g=j}}this.handleFont(f,p,f!==v);x=j}u=this.handleChar(f,p,y,s,u);if(y[0]/1000>v.bbox.h){v.bbox.h=y[0]/1000}if(y[1]/1000>v.bbox.d){v.bbox.d=y[1]/1000}if(v.bbox.w+y[3]/1000v.bbox.rw){v.bbox.rw=v.bbox.w+y[4]/1000}v.bbox.w+=y[2]/1000}if(u.length){this.addText(f,u)}if(v.scale&&v.scale!==1){v.bbox.h*=v.scale;v.bbox.d*=v.scale;v.bbox.w*=v.scale;v.bbox.lw*=v.scale;v.bbox.rw*=v.scale}if(o.length==1&&p.skew&&p.skew[s]){v.bbox.skew=p.skew[s]}},handleFont:function(h,f,j){h.style.fontFamily=f.family;if(!(e.FontFaceBug&&f.isWebFont)){var g=f.style||"normal",i=f.weight||"normal";if(g!=="normal"||j){h.style.fontStyle=g}if(i!=="normal"||j){h.style.fontWeight=i}}},handleChar:function(g,f,l,k,j){var i=l[5];if(i.img){return this.handleImg(g,f,l,k,j)}if(i.isUnknown&&this.FONTDATA.DELIMITERS[k]){var h=g.scale;e.createDelimiter(g,k,0,1,f);g.scale=h;l[0]=g.bbox.h*1000;l[1]=g.bbox.d*1000;l[2]=g.bbox.w*1000;l[3]=g.bbox.lw*1000;l[4]=g.bbox.rw*1000;return""}if(i.c==null){if(k<=65535){i.c=String.fromCharCode(k)}else{i.c=this.PLANE1+String.fromCharCode(k-119808+56320)}}if(l[2]||!this.msieAccentBug||j.length){return j+i.c}e.createShift(g,l[3]/1000);e.createShift(g,(l[4]-l[3])/1000);this.addText(g,i.c);e.createShift(g,-l[4]/1000);return""},handleImg:function(g,f,j,i,h){return h},lookupChar:function(j,p){var h,f;if(!j.FONTS){var o=this.FONTDATA.FONTS;var l=(j.fonts||this.FONTDATA.VARIANT.normal.fonts);if(!(l instanceof Array)){l=[l]}if(j.fonts!=l){j.fonts=l}j.FONTS=[];for(h=0,f=l.length;h=0;h--){if(g.Ranges[h][2]==k){g.Ranges.splice(h,1)}}this.loadFont(g.directory+"/"+k+".js")}}}},loadFont:function(g){var f=MathJax.Callback.Queue();f.Push(["Require",c,this.fontDir+"/"+g]);if(this.imgFonts){if(!MathJax.isPacked){g=g.replace(/\/([^\/]*)$/,e.imgPacked+"/$1")}f.Push(["Require",c,this.webfontDir+"/png/"+g])}d.RestartAfter(f.Push({}))},loadWebFont:function(f){f.available=f.isWebFont=true;if(e.FontFaceBug){f.family=f.name;if(e.msieFontCSSBug){f.family+="-Web"}}d.RestartAfter(this.Font.loadWebFont(f))},loadWebFontError:function(g,f){d.Startup.signal.Post("HTML-CSS Jax - disable web fonts");g.isWebFont=false;if(this.config.imageFont&&this.config.imageFont===this.fontInUse){this.imgFonts=true;d.Startup.signal.Post("HTML-CSS Jax - switch to image fonts");d.Startup.signal.Post("HTML-CSS Jax - using image fonts");MathJax.Message.Set("Web-Fonts not available -- using image fonts instead",null,3000);c.Require(this.directory+"/imageFonts.js",f)}else{this.allowWebFonts=false;f()}},Element:MathJax.HTML.Element,addElement:MathJax.HTML.addElement,TextNode:MathJax.HTML.TextNode,addText:MathJax.HTML.addText,ucMatch:MathJax.HTML.ucMatch,BIGDIMEN:10000000,ID:0,idPostfix:"",GetID:function(){this.ID++;return this.ID},MATHSPACE:{veryverythinmathspace:1/18,verythinmathspace:2/18,thinmathspace:3/18,mediummathspace:4/18,thickmathspace:5/18,verythickmathspace:6/18,veryverythickmathspace:7/18,negativeveryverythinmathspace:-1/18,negativeverythinmathspace:-2/18,negativethinmathspace:-3/18,negativemediummathspace:-4/18,negativethickmathspace:-5/18,negativeverythickmathspace:-6/18,negativeveryverythickmathspace:-7/18},TeX:{x_height:0.430554,quad:1,num1:0.676508,num2:0.393732,num3:0.44373,denom1:0.685951,denom2:0.344841,sup1:0.412892,sup2:0.362892,sup3:0.288888,sub1:0.15,sub2:0.247217,sup_drop:0.386108,sub_drop:0.05,delim1:2.39,delim2:1,axis_height:0.25,rule_thickness:0.06,big_op_spacing1:0.111111,big_op_spacing2:0.166666,big_op_spacing3:0.2,big_op_spacing4:0.6,big_op_spacing5:0.1,scriptspace:0.1,nulldelimiterspace:0.12,delimiterfactor:901,delimitershortfall:0.1,min_rule_thickness:1.25},PLANE1:String.fromCharCode(55349),NBSP:String.fromCharCode(160),rfuzz:0});MathJax.Hub.Register.StartupHook("mml Jax Ready",function(){a=MathJax.ElementJax.mml;a.mbase.Augment({toHTML:function(l){var j=this.HTMLlineBreaks();if(j.length>2){return this.toHTMLmultiline(l,j)}l=this.HTMLcreateSpan(l);if(this.type!="mrow"){l=this.HTMLhandleSize(l)}for(var g=0,f=this.data.length;gg.d){g.d=h.d}if(h.h>g.h){g.h=h.h}if(h.D!=null&&h.D>g.D){g.D=h.D}if(h.H!=null&&h.H>g.H){g.H=h.H}if(i.style.paddingLeft){g.w+=parseFloat(i.style.paddingLeft)*(i.scale||1)}if(g.w+h.lwg.rw){g.rw=g.w+h.rw}g.w+=h.w;if(i.style.paddingRight){g.w+=parseFloat(i.style.paddingRight)*(i.scale||1)}if(h.width){g.width=h.width}},HTMLemptyBBox:function(f){f.h=f.d=f.H=f.D=f.rw=-e.BIGDIMEN;f.w=0;f.lw=e.BIGDIMEN;return f},HTMLcleanBBox:function(f){if(f.h===this.BIGDIMEN){f.h=f.d=f.H=f.D=f.w=f.rw=f.lw=0}if(f.D<=f.d){delete f.D}if(f.H<=f.h){delete f.H}},HTMLzeroBBox:function(){return{h:0,d:0,w:0,lw:0,rw:0}},HTMLcanStretch:function(f){if(this.isEmbellished()){return this.Core().HTMLcanStretch(f)}return false},HTMLstretchH:function(g,f){return this.HTMLspanElement()},HTMLstretchV:function(g,f,i){return this.HTMLspanElement()},HTMLnotEmpty:function(f){while(f){if((f.type!=="mrow"&&f.type!=="texatom")||f.data.length>1){return true}f=f.data[0]}return false},HTMLmeasureChild:function(g,f){if(this.data[g]!=null){e.Measured(this.data[g].toHTML(f),f)}else{f.bbox=this.HTMLzeroBBox()}},HTMLcreateSpan:function(f){if(this.spanID){var g=this.HTMLspanElement();if(g){while(g.firstChild){g.removeChild(g.firstChild)}g.bbox={w:0,h:0,d:0,lw:0,rw:0};g.scale=1;g.isMultChar=null;g.style.cssText="";return g}}if(this.href){f=e.addElement(f,"a",{href:this.href})}f=e.addElement(f,"span",{className:this.type});if(e.imgHeightBug){f.style.display="inline-block"}if(this["class"]!=null){f.className+=" "+this["class"]}if(this.style){f.style.cssText=this.style;if(f.style.fontSize){this.mathsize=f.style.fontSize;f.style.fontSize=""}}this.spanID=e.GetID();f.id=(this.id||"MathJax-Span-"+this.spanID)+e.idPostfix;f.bbox={w:0,h:0,d:0,lw:0,lr:0};if(this.href){f.parentNode.bbox=f.bbox}return f},HTMLspanElement:function(){if(!this.spanID){return null}return document.getElementById((this.id||"MathJax-Span-"+this.spanID)+e.idPostfix)},HTMLhandleVariant:function(g,f,h){e.handleVariant(g,f,h)},HTMLhandleSize:function(f){if(!f.scale){f.scale=this.HTMLgetScale();if(f.scale!==1){f.style.fontSize=e.Percent(f.scale)}}return f},HTMLhandleColor:function(k){var m=this.getValues("mathcolor","color");if(this.mathbackground){m.mathbackground=this.mathbackground}if(this.background){m.background=this.background}if(this.style&&k.style.backgroundColor){m.mathbackground=k.style.backgroundColor;k.style.backgroundColor="transparent"}if(m.color&&!this.mathcolor){m.mathcolor=m.color}if(m.background&&!this.mathbackground){m.mathbackground=m.background}if(m.mathcolor){k.style.color=m.mathcolor}if(m.mathbackground&&m.mathbackground!==a.COLOR.TRANSPARENT){var n=1/e.em,j=0,i=0;if(this.isToken){j=k.bbox.lw;i=k.bbox.rw-k.bbox.w}if(k.style.paddingLeft!==""){j+=parseFloat(k.style.paddingLeft)*(k.scale||1)}if(k.style.paddingRight!==""){i-=parseFloat(k.style.paddingRight)*(k.scale||1)}var h=Math.max(0,e.getW(k)+(e.PaddingWidthBug?0:i-j));if(e.msieCharPaddingWidthBug&&k.style.paddingLeft!==""){h+=parseFloat(k.style.paddingLeft)*(k.scale||1)}var l=k.bbox.h+k.bbox.d,f=-k.bbox.d;if(h>0){h+=2*n;j-=n}if(l>0){l+=2*n;f-=n}i=-h-j;var g=e.Element("span",{id:"MathJax-Color-"+this.spanID+e.idPostfix,style:{display:"inline-block",backgroundColor:m.mathbackground,width:e.Em(h),height:e.Em(l),verticalAlign:e.Em(f),marginLeft:e.Em(j),marginRight:e.Em(i)}});if(e.msieInlineBlockAlignBug){g.style.position="relative";g.style.width=g.style.height=0;g.style.verticalAlign=g.style.marginLeft=g.style.marginRight="";e.placeBox(e.addElement(g,"span",{noAdjust:true,style:{display:"inline-block",position:"absolute",overflow:"hidden",width:e.Em(h),height:e.Em(l),background:m.mathbackground}}),j,k.bbox.h+n)}k.parentNode.insertBefore(g,k);if(e.msieColorPositionBug){k.style.position="relative"}return g}return null},HTMLremoveColor:function(){var f=document.getElementById("MathJax-Color-"+this.spanID+e.idPostfix);if(f){f.parentNode.removeChild(f)}},HTMLhandleSpace:function(i){if(this.useMMLspacing){if(this.type!=="mo"){return}var g=this.getValues("scriptlevel","lspace","rspace");if(g.scriptlevel<=0||this.hasValue("lspace")||this.hasValue("rspace")){g.lspace=Math.max(0,e.length2em(g.lspace));g.rspace=Math.max(0,e.length2em(g.rspace));var f=this,h=this.Parent();while(h&&h.isEmbellished()&&h.Core()===f){f=h;h=h.Parent();i=f.HTMLspanElement()}if(g.lspace){i.style.paddingLeft=e.Em(g.lspace)}if(g.rspace){i.style.paddingRight=e.Em(g.rspace)}}}else{var j=this.texSpacing();if(j!==""){j=e.length2em(j)/(i.scale||1);if(i.style.paddingLeft){j+=parseFloat(i.style.paddingLeft)}i.style.paddingLeft=e.Em(j)}}},HTMLgetScale:function(){var h=1,f=this.getValues("mathsize","scriptlevel","fontsize","scriptminsize");if(this.style){var g=this.HTMLspanElement();if(g.style.fontSize!=""){f.fontsize=g.style.fontSize}}if(f.fontsize&&!this.mathsize){f.mathsize=f.fontsize}if(f.scriptlevel!==0){if(f.scriptlevel>2){f.scriptlevel=2}h=Math.pow(this.Get("scriptsizemultiplier"),f.scriptlevel);f.scriptminsize=e.length2em(f.scriptminsize);if(hk.bbox.w){k.bbox.ic=k.bbox.rw-k.bbox.w;e.createBlank(k,k.bbox.ic);k.bbox.w=k.bbox.rw}}this.HTMLhandleSpace(k);this.HTMLhandleColor(k);return k},HTMLcanStretch:function(f){if(!this.Get("stretchy")){return false}var g=this.data.join("");if(g.length>1){return false}g=e.FONTDATA.DELIMITERS[g.charCodeAt(0)];return(g&&g.dir==f.substr(0,1))},HTMLstretchV:function(l,k,n){this.HTMLremoveColor();var f=this.getValues("symmetric","maxsize","minsize");var j=this.HTMLspanElement(),g;var i=e.TeX.axis_height,m=j.scale;if(f.symmetric){g=2*Math.max(k-i,n+i)}else{g=k+n}f.maxsize=e.length2em(f.maxsize,j.bbox.h+j.bbox.d);f.minsize=e.length2em(f.minsize,j.bbox.h+j.bbox.d);g=Math.max(f.minsize,Math.min(f.maxsize,g));j=this.HTMLcreateSpan(l);e.createDelimiter(j,this.data.join("").charCodeAt(0),g,m);if(f.symmetric){g=(j.bbox.h+j.bbox.d)/2+i}else{g=(j.bbox.h+j.bbox.d)*k/(k+n)}e.positionDelimiter(j,g);this.HTMLhandleSpace(j);this.HTMLhandleColor(j);return j},HTMLstretchH:function(i,f){this.HTMLremoveColor();var g=this.getValues("maxsize","minsize","mathvariant","fontweight");if(g.fontweight==="bold"&&!this.mathvariant){g.mathvariant=a.VARIANT.BOLD}var h=this.HTMLspanElement(),j=h.scale;g.maxsize=e.length2em(g.maxsize,h.bbox.w);g.minsize=e.length2em(g.minsize,h.bbox.w);f=Math.max(g.minsize,Math.min(g.maxsize,f));h=this.HTMLcreateSpan(i);e.createDelimiter(h,this.data.join("").charCodeAt(0),f,j,g.mathvariant);this.HTMLhandleSpace(h);this.HTMLhandleColor(h);return h}});a.mtext.Augment({toHTML:function(k){k=this.HTMLhandleSize(this.HTMLcreateSpan(k));k.bbox=null;if(this.Parent().type==="merror"){e.addText(k,this.data.join(""));var l=e.getHD(k),g=e.getW(k);k.bbox={h:l.h,d:l.d,w:g,lw:0,rw:g}}else{var j=this.HTMLgetVariant();for(var h=0,f=this.data.length;ho){f=((k.bbox.h+k.bbox.d)-(o-s))/2}var u=e.FONTDATA.DELIMITERS[e.FONTDATA.RULECHAR];if(!u||iF){F=q.bbox.w}if(!I[H]&&F>g){g=F}}}if(z==null&&B!=null){g=B}else{if(g==-e.BIGDIMEN){g=F}}for(H=F=0,C=this.data.length;HF){F=q.bbox.w}}}var w=e.TeX.rule_thickness,A=e.FONTDATA.TeX_factor;var h=l[this.base]||{bbox:this.HTMLzeroBBox()},J=(h.bbox.ic||0);var p,n,s,r,o,v,E;for(H=0,C=this.data.length;H0){m+=y;l-=y}}e.placeBox(f,i.bbox.w+o,Math.max(m,B.superscriptshift));e.placeBox(k,i.bbox.w+o-F,-Math.max(l,B.subscriptshift))}}this.HTMLhandleSpace(C);this.HTMLhandleColor(C);return C},HTMLstretchH:a.mbase.HTMLstretchH,HTMLstretchV:a.mbase.HTMLstretchV});a.mmultiscripts.Augment({toHTML:a.mbase.HTMLautoload});a.mtable.Augment({toHTML:a.mbase.HTMLautoload});a["annotation-xml"].Augment({toHTML:a.mbase.HTMLautoload});a.math.Augment({toHTML:function(n,g){var k=this.Get("alttext");if(k){g.setAttribute("aria-label",k)}var h=e.addElement(n,"nobr");n=this.HTMLcreateSpan(h);var l=e.createStack(n),i=e.createBox(l),m;l.style.fontSize=h.parentNode.style.fontSize;h.parentNode.style.fontSize="";if(this.data[0]!=null){if(e.msieColorBug){if(this.background){this.data[0].background=this.background;delete this.background}if(this.mathbackground){this.data[0].mathbackground=this.mathbackground;delete this.mathbackground}}a.mbase.prototype.displayAlign=d.config.displayAlign;a.mbase.prototype.displayIndent=d.config.displayIndent;m=e.Measured(this.data[0].toHTML(i),i)}e.placeBox(i,0,0);var j=e.em/e.outerEm;e.em/=j;n.bbox.h*=j;n.bbox.d*=j;n.bbox.w*=j;n.bbox.lw*=j;n.bbox.rw*=j;if(m&&m.bbox.width!=null){l.style.width=m.bbox.width;i.style.width="100%"}this.HTMLhandleColor(n);if(m){e.createRule(n,m.bbox.h*j,m.bbox.d*j,0)}if(!this.isMultiline&&this.Get("display")==="block"&&n.bbox.width==null){var o=this.getValues("indentalignfirst","indentshiftfirst","indentalign","indentshift");if(o.indentalignfirst!==a.INDENTALIGN.INDENTALIGN){o.indentalign=o.indentalignfirst}if(o.indentalign===a.INDENTALIGN.AUTO){o.indentalign=this.displayAlign}g.style.textAlign=o.indentalign;if(o.indentshiftfirst!==a.INDENTSHIFT.INDENTSHIFT){o.indentshift=o.indentshiftfirst}if(o.indentshift==="auto"){o.indentshift=this.displayIndent}if(o.indentshift&&o.indentalign!==a.INDENTALIGN.CENTER){n.style[{left:"marginLeft",right:"marginRight"}[o.indentalign]]=e.Em(e.length2em(o.indentshift))}}return n}});a.TeXAtom.Augment({toHTML:function(g){g=this.HTMLcreateSpan(g);if(this.data[0]!=null){if(this.texClass===a.TEXCLASS.VCENTER){var f=e.createStack(g);var h=e.createBox(f);e.Measured(this.data[0].toHTML(h),h);e.placeBox(h,0,e.TeX.axis_height-(h.bbox.h+h.bbox.d)/2+h.bbox.d)}else{g.bbox=this.data[0].toHTML(g).bbox}}this.HTMLhandleSpace(g);this.HTMLhandleColor(g);return g}});MathJax.Hub.Register.StartupHook("onLoad",function(){setTimeout(MathJax.Callback(["loadComplete",e,"jax.js"]),0)})});d.Register.StartupHook("End Config",function(){d.Browser.Select({MSIE:function(f){var i=f.versionAtLeast("7.0");var h=f.versionAtLeast("8.0")&&document.documentMode>7;var g=(document.compatMode==="BackCompat");e.config.styles[".MathJax .MathJax_HitBox"]["background-color"]="white";e.config.styles[".MathJax .MathJax_HitBox"].opacity=0;e.config.styles[".MathJax .MathJax_HitBox"].filter="alpha(opacity=0)";e.Augment({getMarginScale:e.getMSIEmarginScale,PaddingWidthBug:true,msieEventBug:f.isIE9,msieAccentBug:true,msieColorBug:true,msieColorPositionBug:true,msieRelativeWidthBug:g,msieMarginWidthBug:true,msiePaddingWidthBug:true,msieCharPaddingWidthBug:(h&&!g),msieBorderWidthBug:g,msieInlineBlockAlignBug:(!h||g),msieVerticalAlignBug:(h&&!g),msiePlaceBoxBug:(h&&!g),msieClipRectBug:!h,msieNegativeSpaceBug:g,msieCloneNodeBug:(h&&f.version==="8.0"),negativeSkipBug:true,msieIE6:!i,msieItalicWidthBug:true,zeroWidthBug:true,FontFaceBug:true,msieFontCSSBug:f.isIE9,allowWebFonts:"eot"})},Firefox:function(g){var h=false;if(g.versionAtLeast("3.5")){var f=String(document.location).replace(/[^\/]*$/,"");if(document.location.protocol!=="file:"||(d.config.root+"/").substr(0,f.length)===f){h="otf"}}e.Augment({useProcessingFrame:true,ffVerticalAlignBug:true,AccentBug:true,allowWebFonts:h})},Safari:function(j){var h=j.versionAtLeast("3.0");var g=j.versionAtLeast("3.1");j.isMobile=(navigator.appVersion.match(/Mobile/i)!=null);var f=(navigator.appVersion.match(/ Android (\d+)\.(\d+)/));var k=(g&&j.isMobile&&((navigator.platform.match(/iPad|iPod|iPhone/)&&!j.versionAtLeast("5.0"))||(f!=null&&(f[1]<2||(f[1]==2&&f[2]<2)))));e.Augment({config:{styles:{".MathJax img, .MathJax nobr, .MathJax a":{"max-width":"5000em","max-height":"5000em"}}},useProcessingFrame:true,rfuzz:0.011,AccentBug:true,AdjustSurd:true,safariContextMenuBug:true,safariNegativeSpaceBug:true,safariVerticalAlignBug:!g,safariTextNodeBug:!h,safariWebFontSerif:["serif"],allowWebFonts:(g&&!k?"otf":false)});if(k){var i=d.config["HTML-CSS"];if(i){i.availableFonts=[];i.preferredFont=null}else{d.config["HTML-CSS"]={availableFonts:[],preferredFont:null}}}},Chrome:function(f){e.Augment({useProcessingFrame:true,rfuzz:0.011,AccentBug:true,AdjustSurd:true,allowWebFonts:(f.versionAtLeast("4.0")?"otf":"svg"),safariNegativeSpaceBug:true,safariWebFontSerif:[""]})},Opera:function(f){f.isMini=(navigator.appVersion.match("Opera Mini")!=null);e.config.styles[".MathJax .merror"]["vertical-align"]=null;e.Augment({useProcessingFrame:true,operaHeightBug:true,operaVerticalAlignBug:true,operaFontSizeBug:f.versionAtLeast("10.61"),negativeSkipBug:true,zeroWidthBug:true,FontFaceBug:true,PaddingWidthBug:true,allowWebFonts:(f.versionAtLeast("10.0")&&!f.isMini?"otf":false),adjustAvailableFonts:function(j){for(var h=0,g=j.length;hv){v=aE}K[aE]=b.createStack(b.createBox(ag));l[aE]=-b.BIGDIMEN}O[aF][aE]=b.createBox(K[aE]);b.Measured(R.data[aE-ay].toHTML(O[aF][aE]),O[aF][aE]);if(R.data[aE-ay].isMultiline){O[aF][aE].style.width="100%"}if(O[aF][aE].bbox.h>w[aF]){w[aF]=O[aF][aE].bbox.h}if(O[aF][aE].bbox.d>I[aF]){I[aF]=O[aF][aE].bbox.d}if(O[aF][aE].bbox.w>l[aE]){l[aE]=O[aF][aE].bbox.w}}}if(w[0]+I[0]){w[0]=Math.max(w[0],Z)}if(w[O.length-1]+I[O.length-1]){I[O.length-1]=Math.max(I[O.length-1],af)}var al=aJ.columnspacing.split(/ /),S=aJ.rowspacing.split(/ /),ah=aJ.columnalign.split(/ /),L=aJ.rowalign.split(/ /),N=aJ.columnlines.split(/ /),k=aJ.rowlines.split(/ /),ap=aJ.columnwidth.split(/ /),au=[];for(aF=0,aC=al.length;aF0.98){ai=0.98/aw;aw=0.98}}else{if(aJ.width==="auto"){if(aw>0.98){ai=V/(U+V);aq=U+V}else{aq=U/(1-aw)}}else{aq=b.length2em(aJ.width);for(aF=0,aC=Math.min(v+1,al.length);aF0.01){if(aG&&aq>U){aq=(aq-U)/aG;for(aF=0,aC=B.length;aF= 0; i--) + if (span[i].className === "tex") this.ConvertMath(span[i]) + }, + + ConvertMath: function (node) { + var parent = node.parentNode, + mode = parent.tagName === "DD" && parent.firstChild === parent.lastChild ? "; mode=display" : "", + tex = node.innerHTML.substring(node.innerHTML[0]=='$',node.innerHTML.length-(node.innerHTML[node.innerHTML.length-1]=='$')); + + tex = tex.replace(/</g,"<").replace(/>/g,">").replace(/&/g,"&").replace(/ /g," "); + tex = tex.replace(/\\iiint([^!]*)!\\!\\!\\!\\!.*\\subset\\!\\supset/g,"\\iiint$1mkern-2.5em\\subset\\!\\supset").replace(/\\iint([^!]*)!\\!\\!\\!\\!\\!\\!\\!\\!\\!\\!(.*)\\subset\\!\\supset/g,"\\iint$1mkern-1.65em$2\\subset\\!\\!\\supset").replace(/\\int\\!\\!\\!(\\!)+\\int\\!\\!\\!(\\!)+\\int([^!]*)!\\!\\!\\!\\!.*\\bigcirc(\\,)*/g,"\\iiint$3mkern-2.5em\\subset\\!\\supset").replace(/\\int\\!\\!\\!(\\!)+\\int([^!]*)!\\!\\!\\!\\!\\!\\!\\!\\!(.*)\\bigcirc(\\,)*/g,"\\iint$2mkern-1.65em$3\\subset\\!\\!\\supset"); + if (mode === "") { + tex = tex.replace(/ *\\scriptstyle(\W)/g,"\\textstyle$1").replace(/ *\\scriptscriptstyle(\W)/g,"\\scriptstyle$1"); + if (parent.firstChild === node) tex = "\\displaystyle "+tex; + } + + var i; + while ((i = tex.search(/\\color{/)) != -1) { + var braces = 0; + for (i += 6; i < tex.length; i++) { + if (tex[i] == '{') braces++; + else if (tex[i] == '}') { + if (braces-- == 0) + break; + } + } + tex = (tex.substring(0, i) + "}" + tex.substring(i, tex.length)).replace(/\\color{(\w*)}/, "\\textcolor{$1}{"); + } + + var script = document.createElement("script"); + script.type = "math/tex" + mode; + if (MathJax.Hub.Browser.isMSIE) {script.text = tex} + else {script.appendChild(document.createTextNode(tex))} + + if (node.nextSibling) {parent.insertBefore(script,node.nextSibling)} + else {parent.appendChild(script)} + if (this.config.preview !== "none") {this.createPreview(node)} + parent.removeChild(node); + }, + + createPreview: function (node) { + var preview; + if (this.config.preview === "TeX") {preview = [this.filterTeX(node.innerHTML)]} + else if (this.config.preview instanceof Array) {preview = this.config.preview} + if (preview) { + preview = MathJax.HTML.Element("span",{className: MathJax.Hub.config.preRemoveClass},preview); + node.parentNode.insertBefore(preview,node); + } + }, + + filterTeX: function (tex) {return tex} + +}; + +MathJax.Hub.Register.PreProcessor(["PreProcess",MathJax.Extension.wiki2jax]); +MathJax.Ajax.loadComplete("[MathJax]/extensions/wiki2jax.js"); + +MathJax.Hub.Register.StartupHook("TeX Jax Ready",function () { + var VERSION = "1.0"; + + var MML = MathJax.ElementJax.mml; + + MathJax.Hub.Insert(MathJax.InputJax.TeX.Definitions,{ + + mathchar0mi: { + // Lowercase Greek letters + thetasym: '03B8', // theta + koppa: '03DF', + stigma: '03DB', + coppa: '03D9', // archaic koppa + + // Ord symbols + C: ['0043',{mathvariant: MML.VARIANT.DOUBLESTRUCK}], + cnums: ['0043',{mathvariant: MML.VARIANT.DOUBLESTRUCK}], + Complex: ['0043',{mathvariant: MML.VARIANT.DOUBLESTRUCK}], + N: ['004E',{mathvariant: MML.VARIANT.DOUBLESTRUCK}], + natnums: ['004E',{mathvariant: MML.VARIANT.DOUBLESTRUCK}], + R: ['0052',{mathvariant: MML.VARIANT.DOUBLESTRUCK}], + reals: ['0052',{mathvariant: MML.VARIANT.DOUBLESTRUCK}], + Reals: ['0052',{mathvariant: MML.VARIANT.DOUBLESTRUCK}], + Z: ['005A',{mathvariant: MML.VARIANT.DOUBLESTRUCK}], + sect: '00A7', // S + P: '00B6', + alef: ['2135',{mathvariant: MML.VARIANT.NORMAL}], // aleph + alefsym: ['2135',{mathvariant: MML.VARIANT.NORMAL}], // aleph + weierp: ['2118',{mathvariant: MML.VARIANT.NORMAL}], // wp + real: ['211C',{mathvariant: MML.VARIANT.NORMAL}], // Re + part: ['2202',{mathvariant: MML.VARIANT.NORMAL}], // partial + infin: ['221E',{mathvariant: MML.VARIANT.NORMAL}], // infty + empty: ['2205',{mathvariant: MML.VARIANT.NORMAL}], // emptyset + O: ['2205',{mathvariant: MML.VARIANT.NORMAL}], // emptyset (but should probably be Swedish O) + ang: ['2220',{mathvariant: MML.VARIANT.NORMAL}], // angle + exist: ['2203',{mathvariant: MML.VARIANT.NORMAL}], // exists + clubs: ['2663',{mathvariant: MML.VARIANT.NORMAL}], // clubsuit + diamonds: ['2662',{mathvariant: MML.VARIANT.NORMAL}], // diamondsuit + hearts: ['2661',{mathvariant: MML.VARIANT.NORMAL}], // heartsuit + spades: ['2660',{mathvariant: MML.VARIANT.NORMAL}], // spadesuit + textvisiblespace: '2423' + }, + + mathchar0mo: { + // Binary operators + and: '2227', // land + or: '2228', // lor + bull: '2219', // bullet + plusmn: '00B1', // pm + sdot: '22C5', // cdot + + // Binary relations + sup: '2283', // supset + sub: '2282', // subset + supe: '2287', // supseteq + sube: '2286', // subseteq + isin: '2208', // in + + hAar: '21D4', // Leftrightarrow [sic] + hArr: '21D4', // Leftrightarrow + Harr: '21D4', // Leftrightarrow + Lrarr: '21D4', // Leftrightarrow + lrArr: '21D4', // Leftrightarrow + lArr: '21D0', // Leftarrow + Larr: '21D0', // Leftarrow + rArr: '21D2', // Rightarrow + Rarr: '21D2', // Rightarrow + harr: '2194', // leftrightarrow + lrarr: '2194', // leftrightarrow + larr: '2190', // leftarrow + gets: '2190', // leftarrow + rarr: '2192', // rightarrow + + // big ops + oiint: ['222F',{texClass: MML.TEXCLASS.OP}], // not part of texvc but nice to have + oiiint: ['2230',{texClass: MML.TEXCLASS.OP}] + }, + + mathchar7: { + // Uppercase Greek letters + Alpha: '0391', + Beta: '0392', + Epsilon: '0395', + Zeta: '0396', + Eta: '0397', + Iota: '0399', + Kappa: '039A', + Mu: '039C', + Nu: '039D', + Omicron: '039F', + Rho: '03A1', + Tau: '03A4', + Chi: '03A7', + + Koppa: '03DE', + Stigma: '03DA', + Coppa: '03D8', // archaic Koppa + }, + + delimiter: { + '\\uarr': '2191', // uparrow + '\\darr': '2193', // downarrow + '\\Uarr': '21D1', // Uparrow + '\\uArr': '21D1', // Uparrow + '\\Darr': '21D3', // Downarrow + '\\dArr': '21D3', // Downarrow + '\\rang': '27E9', // rangle + '\\lang': '27E8' // langle + }, + + macros: { + sgn: ['NamedOp',0], + textcolor: ['Macro','\\color{#1}',1], + bold: ['Macro','{\\boldsymbol #1}',1] // boldsymbol + } + + }); +}); + +MathJax.Hub.Register.StartupHook("HTML-CSS Jax Ready",function () { + MathJax.Hub.Startup.signal.Post("TeX texvc Ready"); +}); + +MathJax.Ajax.loadComplete("[MathJax]/extensions/TeX/texvc.js"); + +MathJax.Ajax.loadComplete("[MathJax]/config/TeX-AMS-texvc_HTML.js"); diff --git a/modules/ext.math.mathjax.enabler.js b/modules/ext.math.mathjax.enabler.js new file mode 100644 index 0000000..a692dd6 --- /dev/null +++ b/modules/ext.math.mathjax.enabler.js @@ -0,0 +1,86 @@ +/** + * From https://en.wikipedia.org/wiki/User:Nageh/mathJax.js + */ + +if ( typeof(mathJax) === "undefined" ) mathJax = {}; + +mathJax.version = "0.2"; + +mathJax.loaded = false; + +mathJax.Config = function() { + MathJax.Hub.Config({ + root: mediaWiki.config.get('wgExtensionAssetsPath') + '/Math/modules/MathJax/', + config: "TeX-AMS-texvc_HTML.js", + "v1.0-compatible": false, + styles: { ".mtext": { "font-family": "sans-serif ! important", "font-size": "80%" } }, + displayAlign: "left", + menuSettings: { zoom: "click" }, + "HTML-CSS": { imageFont: null, availableFonts: ["TeX"] } + }); + MathJax.Message.styles["#MathJax_Message"].right = MathJax.Message.styles["#MathJax_Message"].left; + delete MathJax.Message.styles["#MathJax_Message"].left; + if ( typeof(mathJax.userConfig) !== "undefined" ) MathJax.Hub.Config( mathJax.userConfig ); + if ( typeof(mathJax.fontDir) !== "undefined" ) MathJax.OutputJax.fontDir = mathJax.fontDir; else MathJax.Hub.Config({ NativeMML: {webFont: null} }); + MathJax.Hub.Register.StartupHook("End Extensions", function() { + var TEX = MathJax.InputJax.TeX; + var MACROS = TEX.config.Macros; + for (var id in MACROS) { + if (typeof(MACROS[id]) === "string") TEX.Macro(id, MACROS[id]); + else TEX.Macro(id, MACROS[id][0], MACROS[id][1]); + } +/* TEX.Parse.Augment({ + Cr: function(name) { + this.GetBrackets(name); + this.Push(TEX.Stack.Item.cell().With({isCR: true, name: name})); + } + });*/ + }); + MathJax.Hub.Startup.onload(); +} + +mathJax.Load = function(element) { + if (this.loaded) + return true; + + var span = element.getElementsByTagName("span"), i; + for (i = span.length-1; i >= 0; i--) { + if (span[i].className === "tex") { +// this.span = span; +// this.spanIndex = i; + + // create configuration element + var config = 'mathJax.Config();'; + var script = document.createElement( 'script' ); + script.setAttribute( 'type', 'text/x-mathjax-config' ); + if ( window.opera ) script.innerHTML = config; else script.text = config; + document.getElementsByTagName('head')[0].appendChild( script ); + + // create startup element + mediaWiki.loader.load('ext.math.mathjax'); + + this.loaded = true; + break; + } + } + return false; +} + +mathJax.Init = function() { + this.Load( document.getElementById("bodyContent") || document.body ); + + // compatibility with wikEd + if ( typeof(wikEd) == "undefined" ) { wikEd = {}; } + if ( typeof(wikEd.config) == "undefined" ) { wikEd.config = {}; } + if ( typeof(wikEd.config.previewHook) == "undefined" ) { wikEd.config.previewHook = []; } + wikEd.config.previewHook.push( function(){ if (window.mathJax.Load(document.getElementById("wikEdPreviewBox") || document.body)) MathJax.Hub.Queue(["Typeset", MathJax.Hub, "wikEdPreviewBox"]) } ); + + // compatibility with ajaxPreview + this.oldAjaxPreviewExec = window.ajaxPreviewExec; + window.ajaxPreviewExec = function(previewArea) { + if ( typeof(mathJax.oldAjaxPreviewExec) !== "undefined" ) mathJax.oldAjaxPreviewExec(previewArea); + if ( mathJax.Load(previewArea) ) MathJax.Hub.Queue( ["Typeset", MathJax.Hub, previewArea] ); + } +} + +mathJax.Init();